diff --git a/release/3.14.2/dist-esm/billboard.js b/release/3.14.2/dist-esm/billboard.js new file mode 100644 index 000000000..7a3224700 --- /dev/null +++ b/release/3.14.2/dist-esm/billboard.js @@ -0,0 +1,24788 @@ +/*! +* Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 +*/ +import { pointer, select, namespaces, selectAll } from 'd3-selection'; +import { timeParse, utcParse, timeFormat, utcFormat } from 'd3-time-format'; +import { brushSelection, brushY, brushX } from 'd3-brush'; +import { csvParseRows, csvParse, tsvParseRows, tsvParse } from 'd3-dsv'; +import { drag as drag$1 } from 'd3-drag'; +import { scaleOrdinal, scaleLinear, scaleSymlog, scaleLog, scaleTime, scaleUtc } from 'd3-scale'; +import { transition } from 'd3-transition'; +import { curveBasis, curveBasisClosed, curveBasisOpen, curveBundle, curveCardinal, curveCardinalClosed, curveCardinalOpen, curveCatmullRom, curveCatmullRomClosed, curveCatmullRomOpen, curveMonotoneX, curveMonotoneY, curveNatural, curveLinearClosed, curveLinear, curveStep, curveStepAfter, curveStepBefore, pie as pie$1, arc, area as area$1, line as line$1 } from 'd3-shape'; +import { axisLeft, axisBottom, axisTop, axisRight } from 'd3-axis'; +import { easeLinear } from 'd3-ease'; +import { interpolate } from 'd3-interpolate'; +import { treemap as treemap$1, treemapBinary, treemapDice, treemapSlice, treemapSliceDice, treemapSquarify, treemapResquarify, hierarchy } from 'd3-hierarchy'; +import { zoomIdentity, zoomTransform, zoom as zoom$2 } from 'd3-zoom'; + +/****************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +/* global Reflect, Promise, SuppressedError, Symbol, Iterator */ + + +var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; + +function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +} + +typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * CSS class names definition + * @private + */ +var $COMMON = { + button: "bb-button", + chart: "bb-chart", + empty: "bb-empty", + main: "bb-main", + target: "bb-target", + EXPANDED: "_expanded_" +}; +var $ARC = { + arc: "bb-arc", + arcLabelLine: "bb-arc-label-line", + arcRange: "bb-arc-range", + arcs: "bb-arcs", + chartArc: "bb-chart-arc", + chartArcs: "bb-chart-arcs", + chartArcsBackground: "bb-chart-arcs-background", + chartArcsTitle: "bb-chart-arcs-title", + needle: "bb-needle" +}; +var $AREA = { + area: "bb-area", + areas: "bb-areas" +}; +var $AXIS = { + axis: "bb-axis", + axisX: "bb-axis-x", + axisXLabel: "bb-axis-x-label", + axisY: "bb-axis-y", + axisY2: "bb-axis-y2", + axisY2Label: "bb-axis-y2-label", + axisYLabel: "bb-axis-y-label", + axisXTooltip: "bb-axis-x-tooltip", + axisYTooltip: "bb-axis-y-tooltip", + axisY2Tooltip: "bb-axis-y2-tooltip" +}; +var $BAR = { + bar: "bb-bar", + bars: "bb-bars", + chartBar: "bb-chart-bar", + chartBars: "bb-chart-bars" +}; +var $CANDLESTICK = { + candlestick: "bb-candlestick", + candlesticks: "bb-candlesticks", + chartCandlestick: "bb-chart-candlestick", + chartCandlesticks: "bb-chart-candlesticks", + valueDown: "bb-value-down", + valueUp: "bb-value-up" +}; +var $CIRCLE = { + chartCircles: "bb-chart-circles", + circle: "bb-circle", + circles: "bb-circles" +}; +var $COLOR = { + colorPattern: "bb-color-pattern", + colorScale: "bb-colorscale" +}; +var $DRAG = { + dragarea: "bb-dragarea", + INCLUDED: "_included_" +}; +var $FUNNEL = { + funnel: "bb-funnel", + chartFunnel: "bb-chart-funnel", + chartFunnels: "bb-chart-funnels", + funnelBackground: "bb-funnel-background" +}; +var $GAUGE = { + chartArcsGaugeMax: "bb-chart-arcs-gauge-max", + chartArcsGaugeMin: "bb-chart-arcs-gauge-min", + chartArcsGaugeUnit: "bb-chart-arcs-gauge-unit", + chartArcsGaugeTitle: "bb-chart-arcs-gauge-title", + gaugeValue: "bb-gauge-value" +}; +var $LEGEND = { + legend: "bb-legend", + legendBackground: "bb-legend-background", + legendItem: "bb-legend-item", + legendItemEvent: "bb-legend-item-event", + legendItemHidden: "bb-legend-item-hidden", + legendItemPoint: "bb-legend-item-point", + legendItemTile: "bb-legend-item-tile" +}; +var $LINE = { + chartLine: "bb-chart-line", + chartLines: "bb-chart-lines", + line: "bb-line", + lines: "bb-lines" +}; +var $EVENT = { + eventRect: "bb-event-rect", + eventRects: "bb-event-rects", + eventRectsMultiple: "bb-event-rects-multiple", + eventRectsSingle: "bb-event-rects-single" +}; +var $FOCUS = { + focused: "bb-focused", + defocused: "bb-defocused", + legendItemFocused: "bb-legend-item-focused", + xgridFocus: "bb-xgrid-focus", + ygridFocus: "bb-ygrid-focus" +}; +var $GRID = { + grid: "bb-grid", + gridLines: "bb-grid-lines", + xgrid: "bb-xgrid", + xgridLine: "bb-xgrid-line", + xgridLines: "bb-xgrid-lines", + xgrids: "bb-xgrids", + ygrid: "bb-ygrid", + ygridLine: "bb-ygrid-line", + ygridLines: "bb-ygrid-lines", + ygrids: "bb-ygrids" +}; +var $LEVEL = { + level: "bb-level", + levels: "bb-levels" +}; +var $RADAR = { + chartRadar: "bb-chart-radar", + chartRadars: "bb-chart-radars" +}; +var $REGION = { + region: "bb-region", + regions: "bb-regions" +}; +var $SELECT = { + selectedCircle: "bb-selected-circle", + selectedCircles: "bb-selected-circles", + SELECTED: "_selected_" +}; +var $SHAPE = { + shape: "bb-shape", + shapes: "bb-shapes" +}; +var $SUBCHART = { + brush: "bb-brush", + subchart: "bb-subchart" +}; +var $TEXT = { + chartText: "bb-chart-text", + chartTexts: "bb-chart-texts", + text: "bb-text", + texts: "bb-texts", + title: "bb-title", + TextOverlapping: "text-overlapping" +}; +var $TOOLTIP = { + tooltip: "bb-tooltip", + tooltipContainer: "bb-tooltip-container", + tooltipName: "bb-tooltip-name" +}; +var $TREEMAP = { + treemap: "bb-treemap", + chartTreemap: "bb-chart-treemap", + chartTreemaps: "bb-chart-treemaps" +}; +var $ZOOM = { + buttonZoomReset: "bb-zoom-reset", + zoomBrush: "bb-zoom-brush" +}; +var CLASS = __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, $COMMON), $ARC), $AREA), $AXIS), $BAR), $CANDLESTICK), $CIRCLE), $COLOR), $DRAG), $GAUGE), $LEGEND), $LINE), $EVENT), $FOCUS), $FUNNEL), $GRID), $RADAR), $REGION), $SELECT), $SHAPE), $SUBCHART), $TEXT), $TOOLTIP), $TREEMAP), $ZOOM); + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * boost config options + */ +var boost = { + /** + * Set boost options + * @name boost + * @memberof Options + * @type {object} + * @property {object} boost boost object + * @property {boolean} [boost.useCssRule=false] Avoid setting inline styles for each shape elements. + * - **NOTE:** + * - Will append <style> to the head tag and will add shpes' CSS rules dynamically. + * - For now, covers colors related properties (fill, stroke, etc.) only. + * @property {boolean} [boost.useWorker=false] Use Web Worker as possible for processing. + * - **NOTE:** + * - For now, only applies for data conversion at the initial time. + * - As of Web Worker's async nature, handling chart instance synchrously is not recommended. + * @example + * boost: { + * useCssRule: true, + * useWorker: false + * } + */ + boost_useCssRule: false, + boost_useWorker: false +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * color config options + */ +var color$1 = { + /** + * Set color of the data values + * @name color + * @memberof Options + * @type {object} + * @property {object} color color object + * @property {string|object|Function} [color.onover] Set the color value for each data point when mouse/touch onover event occurs. + * @property {Array|null} [color.pattern=[]] Set custom color pattern. Passing `null` will not set a color for these elements, which requires the usage of custom CSS-based theming to work. + * @property {Function} [color.tiles] if defined, allows use svg's patterns to fill data area. It should return an array of [SVGPatternElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGPatternElement). + * - **NOTE:** The pattern element's id will be defined as `bb-colorize-pattern-$COLOR-VALUE`.
+ * ex. When color pattern value is `['red', '#fff']` and defined 2 patterns,then ids for pattern elements are:
+ * - `bb-colorize-pattern-red` + * - `bb-colorize-pattern-fff` + * @property {object} [color.threshold] color threshold for gauge and tooltip color + * @property {string} [color.threshold.unit] If set to `value`, the threshold will be based on the data value. Otherwise it'll be based on equation of the `threshold.max` option value. + * @property {Array} [color.threshold.values] Threshold values for each steps + * @property {number} [color.threshold.max=100] The base value to determine threshold step value condition. When the given value is 15 and max 10, then the value for threshold is `15*100/10`. + * @example + * color: { + * pattern: ["#1f77b4", "#aec7e8", ...], + * + * // Set colors' patterns + * // it should return an array of SVGPatternElement + * tiles: function() { + * var pattern = document.createElementNS("http://www.w3.org/2000/svg", "pattern"); + * var g = document.createElementNS("http://www.w3.org/2000/svg", "g"); + * var circle1 = document.createElementNS("http://www.w3.org/2000/svg", "circle"); + * + * pattern.setAttribute("patternUnits", "userSpaceOnUse"); + * pattern.setAttribute("width", "32"); + * pattern.setAttribute("height", "32"); + * + * g.style.fill = "#000"; + * g.style.opacity = "0.2"; + * + * circle1.setAttribute("cx", "3"); + * circle1.setAttribute("cy", "3"); + * circle1.setAttribute("r", "3"); + * + * g.appendChild(circle1); + * pattern.appendChild(g); + * + * return [pattern]; + * }, + * + * // for threshold usage, pattern values should be set for each steps + * pattern: ["grey", "green", "yellow", "orange", "red"], + * threshold: { + * unit: "value", + * + * // when value is 20 => 'green', value is 40 => 'orange' will be set. + * values: [10, 20, 30, 40, 50], + * + * // the equation for max: + * // - unit == 'value': max => 30 + * // - unit != 'value': max => value*100/30 + * max: 30 + * }, + * + * // set all data to 'red' + * onover: "red", + * + * // set different color for data + * onover: { + * data1: "red", + * data2: "yellow" + * }, + * + * // will pass data object to the callback + * onover: function(d) { + * return d.id === "data1" ? "red" : "green"; + * } + * } + */ + color_pattern: [], + color_tiles: undefined, + color_threshold: {}, + color_onover: undefined +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * legend config options + */ +var legend$2 = { + /** + * Legend options + * @name legend + * @memberof Options + * @type {object} + * @property {object} legend Legend object + * @property {boolean} [legend.show=true] Show or hide legend. + * @property {boolean} [legend.hide=false] Hide legend + * If true given, all legend will be hidden. If string or array given, only the legend that has the id will be hidden. + * @property {string|HTMLElement} [legend.contents.bindto=undefined] Set CSS selector or element reference to bind legend items. + * - **NOTE:** Should be used along with `legend.contents.template`. + * @property {string|Function} [legend.contents.template="{=TITLE}"] Set item's template.
+ * - If set `string` value, within template the 'color' and 'title' can be replaced using template-like syntax string: + * - {=COLOR}: data color value + * - {=TITLE}: data title value + * - If set `function` value, will pass following arguments to the given function: + * - title {string}: data's id value + * - color {string}: color string + * - data {Array}: data array + * @property {string} [legend.position=bottom] Change the position of legend.
+ * Available values are: `bottom`, `right` and `inset` are supported. + * @property {object} [legend.inset={anchor: 'top-left',x: 10,y: 0,step: undefined}] Change inset legend attributes.
+ * This option accepts object that has the keys `anchor`, `x`, `y` and `step`. + * - **anchor** decides the position of the legend: + * - top-left + * - top-right + * - bottom-left + * - bottom-right + * - **x** and **y**: + * - set the position of the legend based on the anchor. + * - **step**: + * - defines the max step the legend has (e.g. If 2 set and legend has 3 legend item, the legend 2 columns). + * @property {boolean} [legend.equally=false] Set to all items have same width size. + * @property {number} [legend.padding=0] Set padding value + * @property {boolean} [legend.item.interaction=true] Set legend item interaction. + * - **NOTE:** + * - This setting will not have effect on `.toggle()` method. + * - `legend.item.onXXX` listener options will work if set, regardless of this option value. + * @property {boolean} [legend.item.interaction.dblclick=false] Set legend item to interact on double click. + * - **NOTE:** + * - Double clicking will make focused clicked dataseries only, hiding all others. + * - for single click case, `click + altKey(Win)/optionKey(Mac OS)` to have same effect. + * - To return initial state(which all dataseries are showing), double click current focused legend item again. + * - for single click case, `click + altKey(Win)/optionKey(Mac OS)` to have same effect. + * - In this case, default `click` interaction will be disabled. + * @property {Function} [legend.item.onclick=undefined] Set click event handler to the legend item. + * - **NOTE:** + * - When set, default `click` interaction will be disabled. + * - When `interaction.dblclick=true` is set, will be called on double click. + * @property {Function} [legend.item.onover=undefined] Set mouse/touch over event handler to the legend item. + * - **NOTE:** When set, default `mouseover` interaction will be disabled. + * @property {Function} [legend.item.onout=undefined] Set mouse/touch out event handler to the legend item. + * - **NOTE:** When set, default `mouseout` interaction will be disabled. + * @property {number} [legend.item.tile.width=10] Set width for 'rectangle' legend item tile element. + * @property {number} [legend.item.tile.height=10] Set height for 'rectangle' legend item tile element. + * @property {number} [legend.item.tile.r=5] Set the radius for 'circle' legend item tile type. + * @property {string} [legend.item.tile.type="rectangle"] Set legend item shape type.
+ * - **Available Values:** + * - circle + * - rectangle + * @property {boolean} [legend.format] Set formatter function for legend text. + * The argument:
+ * - `id`: Legend text value. When `data.names` is specified, will pass from it, otherwise will pass data id. + * - `dataId`: When `data.names` specified, will pass the original data id. Otherwise will be undefined. + * @property {boolean} [legend.tooltip=false] Show full legend text value using system tooltip(via `` element). + * @property {boolean} [legend.usePoint=false] Whether to use custom points in legend. + * @see [Demo: format](https://naver.github.io/billboard.js/demo/#Legend.LegendFormat) + * @see [Demo: item.interaction](https://naver.github.io/billboard.js/demo/#Legend.LegendItemInteraction) + * @see [Demo: item.tile.type](https://naver.github.io/billboard.js/demo/#Legend.LegendItemTileType) + * @see [Demo: position](https://naver.github.io/billboard.js/demo/#Legend.LegendPosition) + * @see [Demo: contents.template](https://naver.github.io/billboard.js/demo/#Legend.LegendTemplate1) + * @see [Demo: usePoint](https://naver.github.io/billboard.js/demo/#Legend.usePoint) + * @example + * legend: { + * show: true, + * hide: true, + * //or hide: "data1" + * //or hide: ["data1", "data2"] + * contents: { + * bindto: "#legend", // <ul id='legend'></ul> + * + * // will be as: <li style='background-color:#1f77b4'>data1</li> + * template: "<li style='background-color:{=COLOR}'>{=TITLE}</li>" + * + * // or using function + * template: function(id, color, data) { + * // if you want omit some legend, return falsy value + * if (id !== "data1") { + * return "<li style='background-color:"+ color +">"+ id +"</li>"; + * } + * } + * }, + * position: "bottom", // bottom, right, inset + * inset: { + * anchor: "top-right" // top-left, top-right, bottom-left, bottom-right + * x: 20, + * y: 10, + * step: 2 + * }, + * equally: false, + * padding: 10, + * item: { + * // will disable default interaction + * interaction: false, + * + * // set legend interact on double click + * // by double clicking, will make focused clicked dataseries only, hiding all others. + * interaction: { + * dblclick: true + * } + * + * // when set below callback, will disable corresponding default interactions + * onclick: function(id, visible) { + * // toggle based on the data visibility + * this[visible ? "hide" : "show"](id); + * }, + * onover: function(id, visible) { ... }, + * onout: function(id, visible) { ... }, + * + * // set tile's size + * tile: { + * // set tile type + * type: "circle" // or "rectangle" (default) + * + * // width & height, are only applicable for 'rectangle' legend type + * width: 15, + * height: 15 + * + * // radis is only applicable for 'circle' legend type + * r: 10 + * } + * }, + * format: function(id, dataId) { + * // set ellipsis string when length is > 5 + * // to get full legend value, combine with 'legend.tooltip=true' + * if (id.length > 5) { + * id = id.substr(0, 5) + "..."; + * } + * + * return id; + * }, + * tooltip: true, + * usePoint: true + * } + */ + legend_contents_bindto: undefined, + legend_contents_template: "<span style='color:#fff;padding:5px;background-color:{=COLOR}'>{=TITLE}</span>", + legend_equally: false, + legend_hide: false, + legend_inset_anchor: "top-left", + legend_inset_x: 10, + legend_inset_y: 0, + legend_inset_step: undefined, + legend_item_interaction: true, + legend_item_dblclick: false, + legend_item_onclick: undefined, + legend_item_onover: undefined, + legend_item_onout: undefined, + legend_item_tile_width: 10, + legend_item_tile_height: 10, + legend_item_tile_r: 5, + legend_item_tile_type: "rectangle", + legend_format: undefined, + legend_padding: 0, + legend_position: "bottom", + legend_show: true, + legend_tooltip: false, + legend_usePoint: false +}; + +/** + * main config options + */ +var main = { + /** + * Specify the CSS selector or the element which the chart will be set to. D3 selection object can be specified also.<br> + * If other chart is set already, it will be replaced with the new one (only one chart can be set in one element). + * - **NOTE:** In case of element doesn't exist or not specified, will add a `<div>` element to the body. + * @name bindto + * @memberof Options + * @property {string|HTMLElement|d3.selection|object} [bindto="#chart"] Specify the element where chart will be drawn. + * @property {string|HTMLElement|d3.selection} bindto.element="#chart" Specify the element where chart will be drawn. + * @property {string} [bindto.classname=bb] Specify the class name of bind element.<br> + * **NOTE:** When class name isn't `bb`, then you also need to update the default CSS to be rendered correctly. + * @default #chart + * @example + * bindto: "#myContainer" + * + * // or HTMLElement + * bindto: document.getElementById("myContainer") + * + * // or D3 selection object + * bindto: d3.select("#myContainer") + * + * // or to change default classname + * bindto: { + * element: "#chart", + * classname: "bill-board" // ex) <div id='chart' class='bill-board'> + * } + */ + bindto: "#chart", + /** + * Set chart background. + * @name background + * @memberof Options + * @property {object} background background object + * @property {string} background.class Specify the class name for background element. + * @property {string} background.color Specify the fill color for background element.<br>**NOTE:** Will be ignored if `imgUrl` option is set. + * @property {string} background.imgUrl Specify the image url string for background. + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.Background) + * @example + * background: { + * class: "myClass", + * color: "red", + * + * // Set image url for background. + * // If specified, 'color' option will be ignored. + * imgUrl: "https://naver.github.io/billboard.js/img/logo/billboard.js.svg", + * } + */ + background: {}, + /** + * Set 'clip-path' attribute for chart element + * - **NOTE:** + * > When is false, chart node element is positioned after the axis node in DOM tree hierarchy. + * > Is to make chart element positioned over axis element. + * @name clipPath + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.clipPath) + * @example + * // don't set 'clip-path' attribute + * clipPath: false + */ + clipPath: true, + /** + * Set svg element's class name + * @name svg + * @memberof Options + * @type {object} + * @property {object} [svg] svg object + * @property {string} [svg.classname] class name for svg element + * @example + * svg: { + * classname: "test_class" + * } + */ + svg_classname: undefined, + /** + * The desired size of the chart element. + * If value is not specified, the width of the chart will be calculated by the size of the parent element it's appended to. + * @name size + * @memberof Options + * @type {object} + * @property {object} [size] size object + * @property {number} [size.width] width of the chart element + * @property {number} [size.height] height of the chart element + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.ChartSize) + * @example + * size: { + * width: 640, + * height: 480 + * } + */ + size_width: undefined, + size_height: undefined, + /** + * The padding of the chart element. + * - **NOTE:** for more information, see the "[`Understanding padding`](https://github.com/naver/billboard.js/wiki/Understanding-padding)"" wiki documentaion. + * @name padding + * @memberof Options + * @type {object} + * @property {object|boolean} [padding=true] Set padding of chart, and accepts object or boolean type. + * - `Object`: Specify each side's padding. + * - `false`: Remove padding completely and make shape to fully occupy the container element. + * - In this case, axes and subchart will be hidden. + * - To adjust some padding from this state, use `axis.[x|y].padding` option. + * @property {string} [padding.mode] padding mode + * - `"fit"`: Reduce padding as much as possible to make chart fit to the container element for chart types w/axis.<br>When specified, all padding values will be relative from fitted value. + * @property {number} [padding.top] padding on the top of chart + * @property {number} [padding.right] padding on the right of chart + * @property {number} [padding.bottom] padding on the bottom of chart + * @property {number} [padding.left] padding on the left of chart + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.Padding) + * @see [Demo: Fit padding](https://naver.github.io/billboard.js/demo/#ChartOptions.FitPadding) + * @example + * // remove padding completely. + * padding: false, + * + * padding: { + * // specifying mode value, will reduce padding and make fit to the container element. + * mode: "fit" + * + * // when mode is "fit", all padding values will be relative from fitted value. + * // so, 0 will be initial fitted value. + * top: 20, + * right: 20, + * bottom: 20, + * left: 20 + * } + * + * // or specify padding value for each side + * padding: { + * top: 20, + * right: 20, + * bottom: 20, + * left: 20 + * } + */ + padding: true, + padding_mode: undefined, + padding_left: undefined, + padding_right: undefined, + padding_top: undefined, + padding_bottom: undefined, + /** + * Set chart resize options + * @name resize + * @memberof Options + * @type {object} + * @property {object} [resize] resize object + * @property {boolean|string} [resize.auto=true] Set chart resize automatically on viewport changes. + * - **NOTE:** Available options + * - true: Enables automatic resize. + * - false: Disables automatic resize. + * - "viewBox": Enables automatic resize, and size will be fixed based on the viewbox. + * @property {boolean|number} [resize.timer=true] Set resize timer option. + * - **NOTE:** Available options + * - The resize function will be called using: + * - true: `setTimeout()` + * - false: `requestIdleCallback()` + * - Given number(delay in ms) value, resize function will be triggered using `setTimeout()` with given delay. + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.resizeViewBox) + * @example + * resize: { + * auto: false, + * + * // set resize based on viewBox value + * auto: "viewBox", + * + * // set resize function will be triggered using `setTimeout()` + * timer: true, + * + * // set resize function will be triggered using `requestIdleCallback()` + * timer: false, + * + * // set resize function will be triggered using `setTimeout()` with a delay of `100ms`. + * timer: 100 + * } + */ + resize_auto: true, + resize_timer: true, + /** + * Set a callback to execute when the chart is clicked. + * @name onclick + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onclick: function(event) { + * this; // chart instance itself + * event; // native event object + * ... + * } + */ + onclick: undefined, + /** + * Set a callback to execute when mouse/touch enters the chart. + * @name onover + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onover: function(event) { + * this; // chart instance itself + * event; // native event object + * ... + * } + */ + onover: undefined, + /** + * Set a callback to execute when mouse/touch leaves the chart. + * @name onout + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onout: function(event) { + * this; // chart instance itself + * event; // native event object + * ... + * } + */ + onout: undefined, + /** + * Set a callback to execute when user resizes the screen. + * @name onresize + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onresize: function() { + * this; // chart instance itself + * ... + * } + */ + onresize: undefined, + /** + * Set a callback to execute when screen resize finished. + * @name onresized + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onresized: function() { + * this; // chart instance itself + * ... + * } + */ + onresized: undefined, + /** + * Set a callback to execute before the chart is initialized + * @name onbeforeinit + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onbeforeinit: function() { + * this; // chart instance itself + * ... + * } + */ + onbeforeinit: undefined, + /** + * Set a callback to execute when the chart is initialized. + * @name oninit + * @memberof Options + * @type {Function} + * @default undefined + * @example + * oninit: function() { + * this; // chart instance itself + * ... + * } + */ + oninit: undefined, + /** + * Set a callback to execute after the chart is initialized + * @name onafterinit + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onafterinit: function() { + * this; // chart instance itself + * ... + * } + */ + onafterinit: undefined, + /** + * Set a callback which is executed when the chart is rendered. Basically, this callback will be called in each time when the chart is redrawed. + * @name onrendered + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onrendered: function() { + * this; // chart instance itself + * ... + * } + */ + onrendered: undefined, + /** + * Set duration of transition (in milliseconds) for chart animation.<br><br> + * - **NOTE:** If `0 `or `null` set, transition will be skipped. So, this makes initial rendering faster especially in case you have a lot of data. + * @name transition + * @memberof Options + * @type {object} + * @property {object} [transition] transition object + * @property {number} [transition.duration=350] duration in milliseconds + * @example + * transition: { + * duration: 500 + * } + */ + transition_duration: 250, + /** + * Set plugins + * @name plugins + * @memberof Options + * @type {Array} + * @example + * plugins: [ + * new bb.plugin.stanford({ ... }), + * new PluginA(), + * ... + * ] + */ + plugins: [], + /** + * Control the render timing + * @name render + * @memberof Options + * @type {object} + * @property {object} [render] render object + * @property {boolean} [render.lazy=true] Make to not render at initialization. + * - **NOTE**: + * - Enabled by default when bind element's visibility is hidden. + * - When set to `false`, will initialize the chart regardless the bind element's visibility state, but in this case chart can't be guaranteed to be rendered properly. + * @property {boolean} [render.observe=true] Observe bind element's visibility(`display` or `visiblity` inline css property or class value) & render when is visible automatically (for IEs, only works IE11+). When set to **false**, call [`.flush()`](./Chart.html#flush) to render. + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.LazyRender) + * @example + * render: { + * lazy: true, + * observe: true + * } + * + * @example + * // <!-- render.lazy will detect visibility defined --> + * // (a) <div id='chart' class='hide'></div> + * // (b) <div id='chart' style='display:none'></div> + * + * // render.lazy enabled by default when element is hidden + * var chart = bb.generate({ ... }); + * + * // chart will be rendered automatically when element's visibility changes + * // Note: works only for inlined css property or class attribute changes + * document.getElementById('chart').classList.remove('hide') // (a) + * document.getElementById('chart').style.display = 'block'; // (b) + * + * @example + * // chart won't be rendered and not observing bind element's visiblity changes + * var chart = bb.generate({ + * render: { + * lazy: true, + * observe: false + * } + * }); + * + * // call at any point when you want to render + * chart.flush(); + */ + render: {}, + /** + * Show rectangles inside the chart.<br><br> + * This option accepts array including object that has axis, start, end and class. + * The keys start, end and class are optional. + * axis must be x, y or y2. start and end should be the value where regions start and end. + * If not specified, the edge values will be used. + * If timeseries x axis, date string, Date object and unixtime integer can be used. + * If class is set, the region element will have it as class. + * @name regions + * @memberof Options + * @type {Array} + * @default [] + * @see [Demo](https://naver.github.io/billboard.js/demo/#Region.RegionLabel) + * @example + * regions: [ + * { + * axis: "x", + * start: 1, + * end: 4, + * class: "region-1-4", + * label: { + * text: "Region Text", + * x: 5, // position relative of the initial x coordinate + * y: 5, // position relative of the initial y coordinate + * color: "red", // color string + * rotated: true // make text to show in vertical or horizontal + * } + * } + * ] + */ + regions: [] +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * title config options + */ +var title$1 = { + /** + * Set title options + * @name title + * @memberof Options + * @type {object} + * @property {object} title Title object + * @property {string} [title.text] Title text. If contains `\n`, it's used as line break allowing multiline title. + * @property {number} [title.padding.top=0] Top padding value. + * @property {number} [title.padding.right=0] Right padding value. + * @property {number} [title.padding.bottom=0] Bottom padding value. + * @property {number} [title.padding.left=0] Left padding value. + * @property {string} [title.position=center] Available values are: 'center', 'right' and 'left'. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Title.MultilinedTitle) + * @example + * title: { + * text: "Title Text", + * + * // or Multiline title text + * text: "Main title text\nSub title text", + * + * padding: { + * top: 10, + * right: 10, + * bottom: 10, + * left: 10 + * }, + * position: "center" + * } + */ + title_text: undefined, + title_padding: { + top: 0, + right: 0, + bottom: 0, + left: 0 + }, + title_position: "center" +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * tooltip config options + */ +var tooltip$2 = { + /** + * Tooltip options + * @name tooltip + * @memberof Options + * @type {object} + * @property {object} tooltip Tooltip object + * @property {boolean} [tooltip.show=true] Show or hide tooltip. + * @property {boolean} [tooltip.doNotHide=false] Make tooltip keep showing not hiding on interaction. + * @property {boolean} [tooltip.grouped=true] Set if tooltip is grouped or not for the data points. + * - **NOTE:** The overlapped data points will be displayed as grouped even if set false. + * @property {boolean} [tooltip.linked=false] Set if tooltips on all visible charts with like x points are shown together when one is shown. + * @property {string} [tooltip.linked.name=""] Groping name for linked tooltip.<br>If specified, linked tooltip will be groped interacting to be worked only with the same name. + * @property {Function} [tooltip.format.title] Set format for the title of tooltip.<br> + * Specified function receives x of the data point to show. + * @property {Function} [tooltip.format.name] Set format for the name of each data in tooltip.<br> + * Specified function receives name, ratio, id and index of the data point to show. ratio will be undefined if the chart is not donut/pie/gauge. + * @property {Function} [tooltip.format.value] Set format for the value of each data value in tooltip. If undefined returned, the row of that value will be skipped to be called. + * - Will pass following arguments to the given function: + * - `value {string}`: Value of the data point. If data row contains multiple or ranged(ex. candlestick, area range, etc.) value, formatter will be called as value length. + * - `ratio {number}`: Ratio of the data point in the `pie/donut/gauge` and `area/bar` when contains grouped data. Otherwise is `undefined`. + * - `id {string}`: id of the data point + * - `index {number}`: Index of the data point + * @property {Function} [tooltip.position] Set custom position function for the tooltip.<br> + * This option can be used to modify the tooltip position by returning object that has top and left. + * - Will pass following arguments to the given function: + * - `data {Array}`: Current selected data array object. + * - `width {number}`: Width of tooltip. + * - `height {number}`: Height of tooltip. + * - `element {SVGElement}`: Tooltip event bound element + * - `pos {object}`: Current position of the tooltip. + * @property {Function|object} [tooltip.contents] Set custom HTML for the tooltip.<br> + * If tooltip.grouped is true, data includes multiple data points.<br><br> + * Specified function receives `data` array and `defaultTitleFormat`, `defaultValueFormat` and `color` functions of the data point to show. + * - **Note:** + * - defaultTitleFormat: + * - if `axis.x.tick.format` option will be used if set. + * - otherwise, will return function based on tick format type(category, timeseries). + * - defaultValueFormat: + * - for Arc type (except gauge, radar), the function will return value from `(ratio * 100).toFixed(1)`. + * - for Axis based types, will be used `axis.[y|y2].tick.format` option value if is set. + * - otherwise, will parse value and return as number. + * @property {string|HTMLElement} [tooltip.contents.bindto=undefined] Set CSS selector or element reference to bind tooltip. + * - **NOTE:** When is specified, will not be updating tooltip's position. + * @property {string} [tooltip.contents.template=undefined] Set tooltip's template.<br><br> + * Within template, below syntax will be replaced using template-like syntax string: + * - **{{ ... }}**: the doubly curly brackets indicate loop block for data rows. + * - **{=CLASS_TOOLTIP}**: default tooltip class name `bb-tooltip`. + * - **{=CLASS_TOOLTIP_NAME}**: default tooltip data class name (ex. `bb-tooltip-name-data1`) + * - **{=TITLE}**: title value. + * - **{=COLOR}**: data color. + * - **{=NAME}**: data id value. + * - **{=VALUE}**: data value. + * @property {object} [tooltip.contents.text=undefined] Set additional text content within data loop, using template syntax. + * - **NOTE:** It should contain `{ key: Array, ... }` value + * - 'key' name is used as substitution within template as '{=KEY}' + * - The value array length should match with the data length + * @property {boolean} [tooltip.init.show=false] Show tooltip at the initialization. + * @property {number} [tooltip.init.x=0] Set x Axis index(or index for Arc(donut, gauge, pie) types) to be shown at the initialization. + * @property {object} [tooltip.init.position] Set the position of tooltip at the initialization. + * @property {Function} [tooltip.onshow] Set a callback that will be invoked before the tooltip is shown. + * @property {Function} [tooltip.onhide] Set a callback that will be invoked before the tooltip is hidden. + * @property {Function} [tooltip.onshown] Set a callback that will be invoked after the tooltip is shown + * @property {Function} [tooltip.onhidden] Set a callback that will be invoked after the tooltip is hidden. + * @property {string|Function|null} [tooltip.order=null] Set tooltip data display order.<br><br> + * **Available Values:** + * - `desc`: In descending data value order + * - `asc`: In ascending data value order + * - `null`: It keeps the data display order<br> + * **NOTE:** When `data.groups` is set, the order will follow as the stacked graph order.<br> + * If want to order as data bound, set any value rather than asc, desc or null. (ex. empty string "") + * - `function(data1, data2) { ... }`: [Array.sort compareFunction](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters) + * @see [Demo: Hide Tooltip](https://naver.github.io/billboard.js/demo/#Tooltip.HideTooltip) + * @see [Demo: Tooltip Grouping](https://naver.github.io/billboard.js/demo/#Tooltip.TooltipGrouping) + * @see [Demo: Tooltip Format](https://naver.github.io/billboard.js/demo/#Tooltip.TooltipFormat) + * @see [Demo: Linked Tooltip](https://naver.github.io/billboard.js/demo/#Tooltip.LinkedTooltips) + * @see [Demo: Tooltip Position](https://naver.github.io/billboard.js/demo/#Tooltip.TooltipPosition) + * @see [Demo: Tooltip Template](https://naver.github.io/billboard.js/demo/#Tooltip.TooltipTemplate) + * @example + * tooltip: { + * show: true, + * doNotHide: true, + * grouped: false, + * format: { + * title: function(x) { return "Data " + x; }, + * name: function(name, ratio, id, index) { return name; }, + * + * // If data row contains multiple or ranged(ex. candlestick, area range, etc.) value, + * // formatter will be called as value length times. + * value: function(value, ratio, id, index) { return ratio; } + * }, + * position: function(data, width, height, element, pos) { + * // data: [{x, index, id, name, value}, ...] + * // width: Tooltip width + * // height: Tooltip height + * // element: Tooltip event bound element + * // pos: { + * // x: Current mouse event x position, + * // y: Current mouse event y position, + * // xAxis: Current x Axis position (the value is given for axis based chart type only) + * // yAxis: Current y Axis position value or function(the value is given for axis based chart type only) + * // } + * + * // yAxis will work differently per data lenghts + * // - a) Single data: `yAxis` will return `number` value + * // - b) Multiple data: `yAxis` will return a function with property value + * + * // a) Single data: + * // Get y coordinate + * pos.yAxis; // y axis coordinate value of current data point + * + * // b) Multiple data: + * // Get y coordinate of value 500, where 'data1' scales(y or y2). + * // When 'data.axes' option is used, data can bound to different axes. + * // - when "data.axes={data1: 'y'}", wil return y value from y axis scale. + * // - when "data.axes={data1: 'y2'}", wil return y value from y2 axis scale. + * pos.yAxis(500, "data1"); // will return y coordinate value of data1 + * + * pos.yAxis(500); // get y coordinate with value of 500, using y axis scale + * pos.yAxis(500, null, "y2"); // get y coordinate with value of 500, using y2 axis scale + * + * return { + * top: 0, + * left: 0 + * } + * }, + * + * contents: function(d, defaultTitleFormat, defaultValueFormat, color) { + * return ... // formatted html as you want + * }, + * + * // specify tooltip contents using template + * // - example of HTML returned: + * // <ul class="bb-tooltip"> + * // <li class="bb-tooltip-name-data1"><span>250</span><br><span style="color:#00c73c">data1</span></li> + * // <li class="bb-tooltip-name-data2"><span>50</span><br><span style="color:#fa7171">data2</span></li> + * // </ul> + * contents: { + * bindto: "#tooltip", + * template: '<ul class={=CLASS_TOOLTIP}>{{' + + * '<li class="{=CLASS_TOOLTIP_NAME}"><span>{=VALUE}</span><br>' + + * '<span style=color:{=COLOR}>{=NAME}</span></li>' + + * '}}</ul>' + * } + * + * // with additional text value + * // - example of HTML returned: + * // <ul class="bb-tooltip"> + * // <li class="bb-tooltip-name-data1"><span>250</span><br>comment1<span style="color:#00c73c">data1</span>text1</li> + * // <li class="bb-tooltip-name-data2"><span>50</span><br>comment2<span style="color:#fa7171">data2</span>text2</li> + * // </ul> + * contents: { + * bindto: "#tooltip", + * text: { + * // a) 'key' name is used as substitution within template as '{=KEY}' + * // b) the length should match with the data length + * VAR1: ["text1", "text2"], + * VAR2: ["comment1", "comment2"], + * }, + * template: '<ul class={=CLASS_TOOLTIP}>{{' + + * '<li class="{=CLASS_TOOLTIP_NAME}"><span>{=VALUE}</span>{=VAR2}<br>' + + * '<span style=color:{=COLOR}>{=NAME}</span>{=VAR1}</li>' + + * '}}</ul>' + * } + * + * // sort tooltip data value display in ascending order + * order: "asc", + * + * // specifying sort function + * order: function(a, b) { + * // param data passed format + * {x: 5, value: 250, id: "data1", index: 5, name: "data1"} + * ... + * }, + * + * // show at the initialization + * init: { + * show: true, + * x: 2, // x Axis index (or index for Arc(donut, gauge, pie) types) + * position: { + * top: "150px", // specify as number or as string with 'px' unit string + * left: 250 // specify as number or as string with 'px' unit string + * } + * }, + * + * // fires prior tooltip is shown + * onshow: function(selectedData) { + * // current dataset selected + * // ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...] + * selectedData; + * }, + * + * // fires prior tooltip is hidden + * onhide: function(selectedData) { + * // current dataset selected + * // ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...] + * selectedData; + * }, + * + * // fires after tooltip is shown + * onshown: function(selectedData) { + * // current dataset selected + * // ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...] + * selectedData; + * }, + * + * // fires after tooltip is hidden + * onhidden: function(selectedData) { + * // current dataset selected + * // ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...] + * selectedData; + * }, + * + * // Link any tooltips when multiple charts are on the screen where same x coordinates are available + * // Useful for timeseries correlation + * linked: true, + * + * // Specify name to interact those with the same name only. + * linked: { + * name: "some-group" + * } + * } + */ + tooltip_show: true, + tooltip_doNotHide: false, + tooltip_grouped: true, + tooltip_format_title: undefined, + tooltip_format_name: undefined, + tooltip_format_value: undefined, + tooltip_position: undefined, + tooltip_contents: {}, + tooltip_init_show: false, + tooltip_init_x: 0, + tooltip_init_position: undefined, + tooltip_linked: false, + tooltip_linked_name: "", + tooltip_onshow: function () { }, + tooltip_onhide: function () { }, + tooltip_onshown: function () { }, + tooltip_onhidden: function () { }, + tooltip_order: null +}; + +/** + * data config options + */ +var data$2 = { + /** + * Specify the key of x values in the data.<br><br> + * We can show the data with non-index x values by this option. This option is required when the type of x axis is timeseries. If this option is set on category axis, the values of the data on the key will be used for category names. + * @name data․x + * @memberof Options + * @type {string} + * @default undefined + * @example + * data: { + * x: "date" + * } + */ + data_x: undefined, + /** + * Converts data id value + * @name data․idConverter + * @memberof Options + * @type {Function} + * @default function(id) { return id; } + * @example + * data: { + * idConverter: function(id) { + * // when id is 'data1', converts to be 'data2' + * // 'data2' should be given as the initial data value + * if (id === "data1") { + * return "data2"; + * } else { + * return id; + * } + * } + * } + */ + data_idConverter: function (id) { return id; }, + /** + * Set custom data name. + * If a name is set to `null`, the series is omitted from the legend. + * @name data․names + * @memberof Options + * @type {object} + * @default {} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataName) + * @example + * data: { + * names: { + * data1: "Data Name 1", + * data2: "Data Name 2" + * } + * } + */ + data_names: {}, + /** + * Set custom data class.<br><br> + * If this option is specified, the element g for the data has an additional class that has the prefix 'bb-target-' (eg. bb-target-additional-data1-class). + * @name data․classes + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * classes: { + * data1: "additional-data1-class", + * data2: "additional-data2-class" + * } + * } + */ + data_classes: {}, + /** + * Set chart type at once.<br><br> + * If this option is specified, the type will be applied to every data. This setting can be overwritten by data.types.<br><br> + * **Available Values:** + * - area + * - area-line-range + * - area-spline + * - area-spline-range + * - area-step + * - area-step-range + * - bar + * - bubble + * - candlestick + * - donut + * - funnel + * - gauge + * - line + * - pie + * - polar + * - radar + * - scatter + * - spline + * - step + * - treemap + * @name data․type + * @memberof Options + * @type {string} + * @default "line"<br>NOTE: When importing shapes by ESM, `line()` should be specified for type. + * @example + * data: { + * type: "bar" + * } + * @example + * // Generate chart by importing ESM + * // Import types to be used only, where this will make smaller bundle size. + * import bb, { + * area, + * areaLineRange, + * areaSpline, + * areaSplineRange, + * areaStep, + * areaStepRange, + * bar, + * bubble, + * candlestick, + * donut, + * funnel, + * gauge, + * line, + * pie, + * polar, + * radar, + * scatter, + * spline, + * step, + * treemap + * } + * + * bb.generate({ + * ..., + * data: { + * type: bar() + * } + * }); + */ + data_type: undefined, + /** + * Set chart type for each data.<br> + * This setting overwrites data.type setting. + * - **NOTE:** `radar` and `treemap` type can't be combined with other types. + * @name data․types + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * types: { + * data1: "bar", + * data2: "spline" + * } + * } + * @example + * // Generate chart by importing ESM + * // Import types to be used only, where this will make smaller bundle size. + * import bb, { + * area, + * areaLineRange, + * areaSpline, + * areaSplineRange, + * areaStep, + * areaStepRange, + * bar, + * bubble, + * candlestick, + * donut, + * funnel, + * gauge, + * line, + * pie, + * polar, + * radar, + * scatter, + * spline, + * step, + * treemap + * } + * + * bb.generate({ + * ..., + * data: { + * types: { + * data1: bar(), + * data1: spline() + * } + * } + * }); + */ + data_types: {}, + /** + * This option changes the order of stacking data and pieces of pie/donut. + * - If `null` specified, it will be the order the data loaded. + * - If function specified, it will be used as [Array.sort compareFunction](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters)<br><br> + * + * **Available Values:** + * - `desc`: In descending order + * - `asc`: In ascending order + * - `null`: It keeps the data load order + * - `function(data1, data2) { ... }`: Array.sort compareFunction + * + * **NOTE**: order function, only works for Axis based types & Arc types, except `Radar` type. + * @name data․order + * @memberof Options + * @type {string|Function|null} + * @default desc + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataOrder) + * @example + * data: { + * // in descending order (default) + * order: "desc" + * + * // in ascending order + * order: "asc" + * + * // keeps data input order + * order: null + * + * // specifying sort function + * order: function(a, b) { + * // param data passed format + * // { + * // id: "data1", id_org: "data1", values: [ + * // {x: 5, value: 250, id: "data1", index: 5, name: "data1"}, + * // ... + * // ] + * // } + * + * const reducer = (p, c) => p + Math.abs(c.value); + * const aSum = a.values.reduce(reducer, 0); + * const bSum = b.values.reduce(reducer, 0); + * + * // ascending order + * return aSum - bSum; + * + * // descending order + * // return bSum - aSum; + * } + * } + */ + data_order: "desc", + /** + * Set groups for the data for stacking. + * @name data․groups + * @memberof Options + * @type {Array} + * @default [] + * @example + * data: { + * groups: [ + * ["data1", "data2"], + * ["data3"] + * ] + * } + */ + data_groups: [], + /** + * Set how zero value will be treated on groups.<br> + * Possible values: + * - `zero`: 0 will be positioned at absolute axis zero point. + * - `positive`: 0 will be positioned at the top of a stack. + * - `negative`: 0 will be positioned at the bottom of a stack. + * @name data․groupsZeroAs + * @memberof Options + * @type {string} + * @default "positive" + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.Groups) + * @example + * data: { + * groupsZeroAs: "zero" // "positive" or "negative" + * } + */ + data_groupsZeroAs: "positive", + /** + * Set color converter function.<br><br> + * This option should a function and the specified function receives color (e.g. '#ff0000') and d that has data parameters like id, value, index, etc. And it must return a string that represents color (e.g. '#00ff00'). + * @name data․color + * @memberof Options + * @type {Function} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataColor) + * @example + * data: { + * color: function(color, d) { ... } + * } + */ + data_color: undefined, + /** + * Set color for each data. + * @name data․colors + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * colors: { + * data1: "#ff0000", + * data2: function(d) { + * return "#000"; + * } + * ... + * } + * } + */ + data_colors: {}, + /** + * Set labels options + * @name data․labels + * @memberof Options + * @type {object} + * @property {object} data Data object + * @property {boolean} [data.labels=false] Show or hide labels on each data points + * @property {boolean} [data.labels.centered=false] Centerize labels on `bar` shape. (**NOTE:** works only for 'bar' type) + * @property {Function} [data.labels.format] Set formatter function for data labels.<br> + * The formatter function receives 4 arguments such as `v, id, i, texts` and it **must return a string** (`\n` character will be used as line break) that will be shown as the label.<br><br> + * The arguments are:<br> + * - `v` is the value of the data point where the label is shown. + * - `id` is the id of the data where the label is shown. + * - `i` is the index of the data series point where the label is shown. + * - `texts` is the array of whole corresponding data series' text labels.<br><br> + * Formatter function can be defined for each data by specifying as an object and D3 formatter function can be set (ex. d3.format('$')) + * @property {string|object} [data.labels.backgroundColors] Set label text background colors. + * @property {string|object|Function} [data.labels.colors] Set label text colors. + * @property {object|Function} [data.labels.position] Set each dataset position, relative the original.<br><br> + * When function is specified, will receives 5 arguments such as `type, v, id, i, texts` and it must return a position number.<br><br> + * The arguments are:<br> + * - `type` coordinate type string, which will be 'x' or 'y'. + * - `v` is the value of the data point where the label is shown. + * - `id` is the id of the data where the label is shown. + * - `i` is the index of the data series point where the label is shown. + * - `texts` is the array of whole corresponding data series' text labels.<br><br> + * @property {number} [data.labels.position.x=0] x coordinate position, relative the original. + * @property {number} [data.labels.position.y=0] y coordinate position, relative the original. + * @property {object} [data.labels.rotate] Rotate label text. Specify degree value in a range of `0 ~ 360`. + * - **NOTE:** Depend on rotate value, text position need to be adjusted manually(using `data.labels.position` option) to be shown nicely. + * @memberof Options + * @type {object} + * @default {} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataLabel) + * @see [Demo: label colors](https://naver.github.io/billboard.js/demo/#Data.DataLabelColors) + * @see [Demo: label format](https://naver.github.io/billboard.js/demo/#Data.DataLabelFormat) + * @see [Demo: label multiline](https://naver.github.io/billboard.js/demo/#Data.DataLabelMultiline) + * @see [Demo: label overlap](https://naver.github.io/billboard.js/demo/#Data.DataLabelOverlap) + * @see [Demo: label position](https://naver.github.io/billboard.js/demo/#Data.DataLabelPosition) + * @see [Demo: label rotate](https://naver.github.io/billboard.js/demo/#Data.DataLabelRotate) + * @example + * data: { + * labels: true, + * + * // or set specific options + * labels: { + * format: function(v, id, i, texts) { + * ... + * // to multiline, return with '\n' character + * return "Line1\nLine2"; + * }, + * + * // it's possible to set for each data + * format: { + * data1: function(v, id, i, texts) { ... }, + * ... + * }, + * + * // align text to center of the 'bar' shape (works only for 'bar' type) + * centered: true, + * + * // apply backgound color for label texts + * backgroundColors: "red", + * + * // set differenct backround colors per dataset + * backgroundColors: { + * data1: "green", + * data2: "yellow" + * } + * + * // apply for all label texts + * colors: "red", + * + * // set different colors per dataset + * // for not specified dataset, will have the default color value + * colors: { + * data1: "yellow", + * data3: "green" + * }, + * + * // call back for label text color + * colors: function(color, d) { + * // color: the default data label color string + * // data: ex) {x: 0, value: 200, id: "data3", index: 0} + * .... + * return d.value > 200 ? "cyan" : color; + * }, + * + * // return x, y coordinate position + * // apt to handle each text position manually + * position: function(type, v, id, i, texts) { + * ... + * return type == "x" ? 10 : 20; + * }, + * + * // set x, y coordinate position + * position: { + * x: -10, + * y: 10 + * }, + * + * // or set x, y coordinate position by each dataset + * position: { + * data1: {x: 5, y: 5}, + * data2: {x: 10, y: -20} + * }, + * + * // rotate degree for label text + * rotate: 90 + * } + * } + */ + data_labels: {}, + data_labels_backgroundColors: undefined, + data_labels_colors: undefined, + data_labels_position: {}, + /** + * Hide each data when the chart appears.<br><br> + * If true specified, all of data will be hidden. If multiple ids specified as an array, those will be hidden. + * @name data․hide + * @memberof Options + * @type {boolean|Array} + * @default false + * @example + * data: { + * // all of data will be hidden + * hide: true + * + * // specified data will be hidden + * hide: ["data1", ...] + * } + */ + data_hide: false, + /** + * Filter values to be shown + * The data value is the same as the returned by `.data()`. + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter + * @name data․filter + * @memberof Options + * @type {Function} + * @default undefined + * @example + * data: { + * // filter for id value + * filter: function(v) { + * // v: [{id: "data1", id_org: "data1", values: [ + * // {x: 0, value: 130, id: "data2", index: 0}, ...] + * // }, ...] + * return v.id !== "data1"; + * } + */ + data_filter: undefined, + /** + * Set a callback for click event on each data point.<br><br> + * This callback will be called when each data point clicked and will receive `d` and element as the arguments. + * - `d` is the data clicked and element is the element clicked. + * - `element` is the current interacting svg element. + * - In this callback, `this` will be the Chart object. + * @name data․onclick + * @memberof Options + * @type {Function} + * @default function() {} + * @example + * data: { + * onclick: function(d, element) { + * // d - ex) {x: 4, value: 150, id: "data1", index: 4, name: "data1"} + * // element - <circle> + * ... + * } + * } + */ + data_onclick: function () { }, + /** + * Set a callback for mouse/touch over event on each data point.<br><br> + * This callback will be called when mouse cursor or via touch moves onto each data point and will receive `d` and `element` as the argument. + * - `d` is the data where mouse cursor moves onto. + * - `element` is the current interacting svg element. + * - In this callback, `this` will be the Chart object. + * @name data․onover + * @memberof Options + * @type {Function} + * @default function() {} + * @example + * data: { + * onover: function(d, element) { + * // d - ex) {x: 4, value: 150, id: "data1", index: 4} + * // element - <circle> + * ... + * } + * } + */ + data_onover: function () { }, + /** + * Set a callback for mouse/touch out event on each data point.<br><br> + * This callback will be called when mouse cursor or via touch moves out each data point and will receive `d` as the argument. + * - `d` is the data where mouse cursor moves out. + * - `element` is the current interacting svg element. + * - In this callback, `this` will be the Chart object. + * @name data․onout + * @memberof Options + * @type {Function} + * @default function() {} + * @example + * data: { + * onout: function(d, element) { + * // d - ex) {x: 4, value: 150, id: "data1", index: 4} + * // element - <circle> + * ... + * } + * } + */ + data_onout: function () { }, + /** + * Set a callback for when data is shown.<br> + * The callback will receive shown data ids in array. + * @name data․onshown + * @memberof Options + * @type {Function} + * @default undefined + * @example + * data: { + * onshown: function(ids) { + * // ids - ["data1", "data2", ...] + * ... + * } + * } + */ + data_onshown: undefined, + /** + * Set a callback for when data is hidden.<br> + * The callback will receive hidden data ids in array. + * @name data․onhidden + * @memberof Options + * @type {Function} + * @default undefined + * @example + * data: { + * onhidden: function(ids) { + * // ids - ["data1", "data2", ...] + * ... + * } + * } + */ + data_onhidden: undefined, + /** + * Set a callback for minimum data + * - **NOTE:** For 'area-line-range', 'area-step-range' and 'area-spline-range', `mid` data will be taken for the comparison + * @name data․onmin + * @memberof Options + * @type {Function} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.OnMinMaxCallback) + * @example + * onmin: function(data) { + * // data - ex) [{x: 3, value: 400, id: "data1", index: 3}, ... ] + * ... + * } + */ + data_onmin: undefined, + /** + * Set a callback for maximum data + * - **NOTE:** For 'area-line-range', 'area-step-range' and 'area-spline-range', `mid` data will be taken for the comparison + * @name data․onmax + * @memberof Options + * @type {Function} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.OnMinMaxCallback) + * @example + * onmax: function(data) { + * // data - ex) [{x: 3, value: 400, id: "data1", index: 3}, ... ] + * ... + * } + */ + data_onmax: undefined, + /** + * Load a CSV or JSON file from a URL. NOTE that this will not work if loading via the "file://" protocol as the most browsers will block XMLHTTPRequests. + * @name data․url + * @memberof Options + * @type {string} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.LoadData) + * @example + * data: { + * url: "/data/test.csv" + * } + */ + data_url: undefined, + /** + * XHR header value + * - **NOTE:** Should be used with `data.url` option + * @name data․headers + * @memberof Options + * @type {string} + * @default undefined + * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/setRequestHeader + * @example + * data: { + * url: "/data/test.csv", + * headers: { + * "Content-Type": "text/xml", + * ... + * } + * } + */ + data_headers: undefined, + /** + * Parse a JSON object for data. See also data.keys. + * @name data․json + * @memberof Options + * @type {Array} + * @default undefined + * @see [data․keys](#.data%25E2%2580%25A4keys) + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.JSONData) + * @example + * data: { + * json: [ + * {name: "www.site1.com", upload: 200, download: 200, total: 400}, + * {name: "www.site2.com", upload: 100, download: 300, total: 400}, + * {name: "www.site3.com", upload: 300, download: 200, total: 500}, + * {name: "www.site4.com", upload: 400, download: 100, total: 500} + * ], + * keys: { + * // case 1: specify 'x' key for category axis + * x: "name", // 'name' key will be used as category x axis values + * value: ["upload", "download"] + * + * // case 2: without 'x' key for non-category axis + * value: ["upload", "download"] + * } + * } + */ + data_json: undefined, + /** + * Load data from a multidimensional array, with the first element containing the data names, the following containing related data in that order. + * @name data․rows + * @memberof Options + * @type {Array} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.RowOrientedData) + * @example + * data: { + * rows: [ + * ["A", "B", "C"], + * [90, 120, 300], + * [40, 160, 240], + * [50, 200, 290], + * [120, 160, 230], + * [80, 130, 300], + * [90, 220, 320] + * ] + * } + * + * // for 'bar' type, data can contain: + * // - an array of [start, end] data following the order + * data: { + * rows: [ + * ["data1", "data2"], + * [[100, 150], 120], + * [[200, 300], 55], + * [[-400, 500], 60] + * ], + * type: "bar" + * } + * + * // for 'range' types('area-line-range' or 'area-step-range' or 'area-spline-range'), data should contain: + * // - an array of [high, mid, low] data following the order + * // - or an object with 'high', 'mid' and 'low' key value + * data: { + * rows: [ + * ["data1", "data2"], + * [ + * // or {high:150, mid: 140, low: 110}, 120 + * [150, 140, 110], 120 + * ], + * [[155, 130, 115], 55], + * [[160, 135, 120], 60] + * ], + * types: { + * data1: "area-line-range", + * data2: "line" + * } + * } + * + * // for 'bubble' type, data can contain dimension value: + * // - an array of [y, z] data following the order + * // - or an object with 'y' and 'z' key value + * // 'y' is for y axis coordination and 'z' is the bubble radius value + * data: { + * rows: [ + * ["data1", "data2"], + * [ + * // or {y:10, z: 140}, 120 + * [10, 140], 120 + * ], + * [[100, 30], 55], + * [[50, 100], 60] + * ], + * types: { + * data1: "bubble", + * data2: "line" + * } + * } + * + * // for 'canlestick' type, data should contain: + * // - an array of [open, high, low, close, volume(optional)] data following the order + * // - or an object with 'open', 'high', 'low', 'close' and 'value'(optional) key value + * data: { + * rows: [ + * ["data1", "data2"], + * [ + * // open, high, low, close, volume (optional) + * {open: 1300, high: 1369, low: 1200, close: 1339, volume: 100}, + * [1000, 1100, 850, 870] + * ], + * [ + * {open: 1348, high: 1371, low: 1271, close: 1320}, + * [870, 1250, 830, 1200, 50] + * ] + * ], + * type: "candlestick" + * } + */ + data_rows: undefined, + /** + * Load data from a multidimensional array, with each element containing an array consisting of a datum name and associated data values. + * @name data․columns + * @memberof Options + * @type {Array} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.ColumnOrientedData) + * @example + * data: { + * columns: [ + * ["data1", 30, 20, 50, 40, 60, 50], + * ["data2", 200, 130, 90, 240, 130, 220], + * ["data3", 300, 200, 160, 400, 250, 250] + * ] + * } + * + * // for 'bar' type, data can contain: + * // - an array of [start, end] data following the order + * data: { + * columns: [ + * ["data1", -100, 50, [100, 200], [200, 300]], + * ["data2", -200, 300, [-100, 100], [-50, -30]], + * ], + * type: "bar" + * } + * + * // for 'range' types('area-line-range' or 'area-step-range' or 'area-spline-range'), data should contain: + * // - an array of [high, mid, low] data following the order + * // - or an object with 'high', 'mid' and 'low' key value + * data: { + * columns: [ + * ["data1", + * [150, 140, 110], // or {high:150, mid: 140, low: 110} + * [150, 140, 110], + * [150, 140, 110] + * ] + * ], + * type: "area-line-range" + * } + * + * // for 'bubble' type, data can contain dimension value: + * // - an array of [y, z] data following the order + * // - or an object with 'y' and 'z' key value + * // 'y' is for y axis coordination and 'z' is the bubble radius value + * data: { + * columns: [ + * ["data1", + * [10, 140], // or {y:10, z: 140} + * [100, 30], + * [50, 100] + * ] + * ], + * type: "bubble" + * } + * + * // for 'canlestick' type, data should contain: + * // - an array of [open, high, low, close, volume(optional)] data following the order + * // - or an object with 'open', 'high', 'low', 'close' and 'value'(optional) key value + * data: { + * columns: [ + * ["data1", + * [1000, 1100, 850, 870, 100], // or {open:1000, high: 1100, low: 870, volume: 100} + * [870, 1250, 830, 1200] // 'volume' can be omitted + * ] + * ], + * type: "candlestick" + * } + */ + data_columns: undefined, + /** + * Used if loading JSON via data.url. + * - **Available Values:** + * - json + * - csv + * - tsv + * @name data․mimeType + * @memberof Options + * @type {string} + * @default csv + * @example + * data: { + * mimeType: "json" + * } + */ + data_mimeType: "csv", + /** + * Choose which JSON object keys correspond to desired data. + * - **NOTE:** Only for JSON object given as array. + * @name data․keys + * @memberof Options + * @type {string} + * @default undefined + * @example + * data: { + * json: [ + * {name: "www.site1.com", upload: 200, download: 200, total: 400}, + * {name: "www.site2.com", upload: 100, download: 300, total: 400}, + * {name: "www.site3.com", upload: 300, download: 200, total: 500}, + * {name: "www.site4.com", upload: 400, download: 100, total: 500} + * ], + * keys: { + * // case 1: specify 'x' key for category axis + * x: "name", // 'name' key will be used as category x axis values + * value: ["upload", "download"] + * + * // case 2: without 'x' key for non-category axis + * value: ["upload", "download"] + * } + * } + */ + data_keys: undefined, + /** + * Set text label to be displayed when there's no data to show. + * - ex. Toggling all visible data to not be shown, unloading all current data, etc. + * @name data․empty․label․text + * @memberof Options + * @type {string} + * @default "" + * @example + * data: { + * empty: { + * label: { + * text: "No Data" + * } + * } + * } + */ + data_empty_label_text: "" +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * interaction config options + */ +var interaction$1 = { + /** + * Interaction options + * @name interaction + * @memberof Options + * @type {object} + * @property {object} interaction Intersection object + * @property {boolean} [interaction.enabled=true] Indicate if the chart should have interactions.<br> + * If `false` is set, all of interactions (showing/hiding tooltip, selection, mouse events, etc) will be disabled. + * @property {boolean} [interaction.brighten=true] Make brighter for the selected area (ex. 'pie' type data selected area) + * @property {boolean} [interaction.inputType.mouse=true] enable or disable mouse interaction + * @property {boolean} [interaction.inputType.touch=true] enable or disable touch interaction + * @property {boolean|number} [interaction.inputType.touch.preventDefault=false] enable or disable to call event.preventDefault on touchstart & touchmove event. It's usually used to prevent document scrolling. + * @property {boolean} [interaction.onout=true] Enable or disable "onout" event.<br> + * When is disabled, defocus(hiding tooltip, focused gridline, etc.) event won't work. + * @see [Demo: touch.preventDefault](https://naver.github.io/billboard.js/demo/#Interaction.PreventScrollOnTouch) + * @example + * interaction: { + * enabled: false, + * brighten: false, + * inputType: { + * mouse: true, + * touch: false + * + * // or declare preventDefault explicitly. + * // In this case touch inputType is enabled by default + * touch: { + * preventDefault: true + * + * // or threshold pixel value (pixel moved from touchstart to touchmove) + * preventDefault: 5 + * } + * }, + * + * // disable "onout" event + * onout: false + * } + */ + interaction_enabled: true, + interaction_brighten: true, + interaction_inputType_mouse: true, + interaction_inputType_touch: {}, + interaction_onout: true +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Window object + * @private + */ +/* eslint-disable no-new-func, no-undef */ +/** + * Get global object + * @returns {object} window object + * @private + */ +function getGlobal() { + return (typeof globalThis === "object" && globalThis !== null && globalThis.Object === Object && + globalThis) || + (typeof global === "object" && global !== null && global.Object === Object && global) || + (typeof self === "object" && self !== null && self.Object === Object && self) || + Function("return this")(); +} +/** + * Get fallback object + * @param {object} w global object + * @returns {Array} fallback object array + * @private + */ +function getFallback(w) { + var hasRAF = typeof (w === null || w === void 0 ? void 0 : w.requestAnimationFrame) === "function" && + typeof (w === null || w === void 0 ? void 0 : w.cancelAnimationFrame) === "function"; + var hasRIC = typeof (w === null || w === void 0 ? void 0 : w.requestIdleCallback) === "function" && + typeof (w === null || w === void 0 ? void 0 : w.cancelIdleCallback) === "function"; + var request = function (cb) { return setTimeout(cb, 1); }; + var cancel = function (id) { return clearTimeout(id); }; + return [ + hasRAF ? w.requestAnimationFrame : request, + hasRAF ? w.cancelAnimationFrame : cancel, + hasRIC ? w.requestIdleCallback : request, + hasRIC ? w.cancelIdleCallback : cancel + ]; +} +var win = getGlobal(); +var doc = win === null || win === void 0 ? void 0 : win.document; +var _a = getFallback(win), requestAnimationFrame = _a[0], requestIdleCallback = _a[2]; + +var isValue = function (v) { return v || v === 0; }; +var isFunction = function (v) { return typeof v === "function"; }; +var isString = function (v) { return typeof v === "string"; }; +var isNumber = function (v) { return typeof v === "number"; }; +var isUndefined = function (v) { return typeof v === "undefined"; }; +var isDefined = function (v) { return typeof v !== "undefined"; }; +var isBoolean = function (v) { return typeof v === "boolean"; }; +var ceil10 = function (v) { return Math.ceil(v / 10) * 10; }; +var asHalfPixel = function (n) { return Math.ceil(n) + 0.5; }; +var diffDomain = function (d) { return d[1] - d[0]; }; +var isObjectType = function (v) { return typeof v === "object"; }; +var isEmpty = function (o) { return (isUndefined(o) || o === null || + (isString(o) && o.length === 0) || + (isObjectType(o) && !(o instanceof Date) && Object.keys(o).length === 0) || + (isNumber(o) && isNaN(o))); }; +var notEmpty = function (o) { return !isEmpty(o); }; +/** + * Check if is array + * @param {Array} arr Data to be checked + * @returns {boolean} + * @private + */ +var isArray = function (arr) { return Array.isArray(arr); }; +/** + * Check if is object + * @param {object} obj Data to be checked + * @returns {boolean} + * @private + */ +var isObject = function (obj) { return obj && !(obj === null || obj === void 0 ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); }; +/** + * Get specified key value from object + * If default value is given, will return if given key value not found + * @param {object} options Source object + * @param {string} key Key value + * @param {*} defaultValue Default value + * @returns {*} + * @private + */ +function getOption(options, key, defaultValue) { + return isDefined(options[key]) ? options[key] : defaultValue; +} +/** + * Check if value exist in the given object + * @param {object} dict Target object to be checked + * @param {*} value Value to be checked + * @returns {boolean} + * @private + */ +function hasValue(dict, value) { + var found = false; + Object.keys(dict).forEach(function (key) { return (dict[key] === value) && (found = true); }); + return found; +} +/** + * Call function with arguments + * @param {Function} fn Function to be called + * @param {*} thisArg "this" value for fn + * @param {*} args Arguments for fn + * @returns {boolean} true: fn is function, false: fn is not function + * @private + */ +function callFn(fn, thisArg) { + var args = []; + for (var _i = 2; _i < arguments.length; _i++) { + args[_i - 2] = arguments[_i]; + } + var isFn = isFunction(fn); + isFn && fn.call.apply(fn, __spreadArray([thisArg], args, false)); + return isFn; +} +/** + * Call function after all transitions ends + * @param {d3.transition} transition Transition + * @param {Fucntion} cb Callback function + * @private + */ +function endall(transition, cb) { + var n = 0; + var end = function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + !--n && cb.apply.apply(cb, __spreadArray([this], args, false)); + }; + // if is transition selection + if ("duration" in transition) { + transition + .each(function () { return ++n; }) + .on("end", end); + } + else { + ++n; + transition.call(end); + } +} +/** + * Replace tag sign to html entity + * @param {string} str Target string value + * @returns {string} + * @private + */ +function sanitize(str) { + return isString(str) ? + str.replace(/<(script|img)?/ig, "<").replace(/(script)?>/ig, ">") : + str; +} +/** + * Set text value. If there's multiline add nodes. + * @param {d3Selection} node Text node + * @param {string} text Text value string + * @param {Array} dy dy value for multilined text + * @param {boolean} toMiddle To be alingned vertically middle + * @private + */ +function setTextValue(node, text, dy, toMiddle) { + if (dy === void 0) { dy = [-1, 1]; } + if (toMiddle === void 0) { toMiddle = false; } + if (!node || !isString(text)) { + return; + } + if (text.indexOf("\n") === -1) { + node.text(text); + } + else { + var diff = [node.text(), text].map(function (v) { return v.replace(/[\s\n]/g, ""); }); + if (diff[0] !== diff[1]) { + var multiline = text.split("\n"); + var len_1 = toMiddle ? multiline.length - 1 : 1; + // reset possible text + node.html(""); + multiline.forEach(function (v, i) { + node.append("tspan") + .attr("x", 0) + .attr("dy", "".concat(i === 0 ? dy[0] * len_1 : dy[1], "em")) + .text(v); + }); + } + } +} +/** + * Substitution of SVGPathSeg API polyfill + * @param {SVGGraphicsElement} path Target svg element + * @returns {Array} + * @private + */ +function getRectSegList(path) { + /* + * seg1 ---------- seg2 + * | | + * | | + * | | + * seg0 ---------- seg3 + */ + var _a = path.getBBox(), x = _a.x, y = _a.y, width = _a.width, height = _a.height; + return [ + { x: x, y: y + height }, // seg0 + { x: x, y: y }, // seg1 + { x: x + width, y: y }, // seg2 + { x: x + width, y: y + height } // seg3 + ]; +} +/** + * Get svg bounding path box dimension + * @param {SVGGraphicsElement} path Target svg element + * @returns {object} + * @private + */ +function getPathBox(path) { + var _a = path.getBoundingClientRect(), width = _a.width, height = _a.height; + var items = getRectSegList(path); + var x = items[0].x; + var y = Math.min(items[0].y, items[1].y); + return { + x: x, + y: y, + width: width, + height: height + }; +} +/** + * Get event's current position coordinates + * @param {object} event Event object + * @param {SVGElement|HTMLElement} element Target element + * @returns {Array} [x, y] Coordinates x, y array + * @private + */ +function getPointer(event, element) { + var _a; + var touches = event && + ((_a = (event.touches || (event.sourceEvent && event.sourceEvent.touches))) === null || _a === void 0 ? void 0 : _a[0]); + var pointer$1 = [0, 0]; + try { + pointer$1 = pointer(touches || event, element); + } + catch (_b) { } + return pointer$1.map(function (v) { return (isNaN(v) ? 0 : v); }); +} +/** + * Return brush selection array + * @param {object} ctx Current instance + * @returns {d3.brushSelection} + * @private + */ +function getBrushSelection(ctx) { + var event = ctx.event, $el = ctx.$el; + var main = $el.subchart.main || $el.main; + var selection; + // check from event + if (event && event.type === "brush") { + selection = event.selection; + // check from brush area selection + } + else if (main && (selection = main.select(".bb-brush").node())) { + selection = brushSelection(selection); + } + return selection; +} +/** + * Get boundingClientRect. + * Cache the evaluated value once it was called. + * @param {HTMLElement} node Target element + * @returns {object} + * @private + */ +function getBoundingRect(node) { + var needEvaluate = !("rect" in node) || ("rect" in node && node.hasAttribute("width") && + node.rect.width !== +node.getAttribute("width")); + return needEvaluate ? (node.rect = node.getBoundingClientRect()) : node.rect; +} +/** + * Retrun random number + * @param {boolean} asStr Convert returned value as string + * @param {number} min Minimum value + * @param {number} max Maximum value + * @returns {number|string} + * @private + */ +function getRandom(asStr, min, max) { + if (asStr === void 0) { asStr = true; } + if (min === void 0) { min = 0; } + if (max === void 0) { max = 10000; } + var crpt = win.crypto || win.msCrypto; + var rand = crpt ? + min + crpt.getRandomValues(new Uint32Array(1))[0] % (max - min + 1) : + Math.floor(Math.random() * (max - min) + min); + return asStr ? String(rand) : rand; +} +/** + * Find index based on binary search + * @param {Array} arr Data array + * @param {number} v Target number to find + * @param {number} start Start index of data array + * @param {number} end End index of data arr + * @param {boolean} isRotated Weather is roted axis + * @returns {number} Index number + * @private + */ +function findIndex(arr, v, start, end, isRotated) { + if (start > end) { + return -1; + } + var mid = Math.floor((start + end) / 2); + var _a = arr[mid], x = _a.x, _b = _a.w, w = _b === void 0 ? 0 : _b; + if (isRotated) { + x = arr[mid].y; + w = arr[mid].h; + } + if (v >= x && v <= x + w) { + return mid; + } + return v < x ? + findIndex(arr, v, start, mid - 1, isRotated) : + findIndex(arr, v, mid + 1, end, isRotated); +} +/** + * Check if brush is empty + * @param {object} ctx Bursh context + * @returns {boolean} + * @private + */ +function brushEmpty(ctx) { + var selection = getBrushSelection(ctx); + if (selection) { + // brush selected area + // two-dimensional: [[x0, y0], [x1, y1]] + // one-dimensional: [x0, x1] or [y0, y1] + return selection[0] === selection[1]; + } + return true; +} +/** + * Deep copy object + * @param {object} objectN Source object + * @returns {object} Cloned object + * @private + */ +function deepClone() { + var objectN = []; + for (var _i = 0; _i < arguments.length; _i++) { + objectN[_i] = arguments[_i]; + } + var clone = function (v) { + if (isObject(v) && v.constructor) { + var r = new v.constructor(); + for (var k in v) { + r[k] = clone(v[k]); + } + return r; + } + return v; + }; + return objectN.map(function (v) { return clone(v); }) + .reduce(function (a, c) { return (__assign(__assign({}, a), c)); }); +} +/** + * Extend target from source object + * @param {object} target Target object + * @param {object|Array} source Source object + * @returns {object} + * @private + */ +function extend(target, source) { + if (target === void 0) { target = {}; } + if (isArray(source)) { + source.forEach(function (v) { return extend(target, v); }); + } + // exclude name with only numbers + for (var p in source) { + if (/^\d+$/.test(p) || p in target) { + continue; + } + target[p] = source[p]; + } + return target; +} +/** + * Return first letter capitalized + * @param {string} str Target string + * @returns {string} capitalized string + * @private + */ +var capitalize = function (str) { return str.charAt(0).toUpperCase() + str.slice(1); }; +/** + * Camelize from kebob style string + * @param {string} str Target string + * @param {string} separator Separator string + * @returns {string} camelized string + * @private + */ +function camelize(str, separator) { + if (separator === void 0) { separator = "-"; } + return str.split(separator) + .map(function (v, i) { return (i ? v.charAt(0).toUpperCase() + v.slice(1).toLowerCase() : v.toLowerCase()); }) + .join(""); +} +/** + * Convert to array + * @param {object} v Target to be converted + * @returns {Array} + * @private + */ +var toArray = function (v) { return [].slice.call(v); }; +/** + * Add CSS rules + * @param {object} style Style object + * @param {string} selector Selector string + * @param {Array} prop Prps arrary + * @returns {number} Newely added rule index + * @private + */ +function addCssRules(style, selector, prop) { + var _a = style.rootSelector, rootSelector = _a === void 0 ? "" : _a, sheet = style.sheet; + var getSelector = function (s) { + return s + .replace(/\s?(bb-)/g, ".$1") + .replace(/\.+/g, "."); + }; + var rule = "".concat(rootSelector, " ").concat(getSelector(selector), " {").concat(prop.join(";"), "}"); + return sheet[sheet.insertRule ? "insertRule" : "addRule"](rule, sheet.cssRules.length); +} +/** + * Get css rules for specified stylesheets + * @param {Array} styleSheets The stylesheets to get the rules from + * @returns {Array} + * @private + */ +function getCssRules(styleSheets) { + var rules = []; + styleSheets.forEach(function (sheet) { + var _a; + try { + if (sheet.cssRules && sheet.cssRules.length) { + rules = rules.concat(toArray(sheet.cssRules)); + } + } + catch (e) { + (_a = win.console) === null || _a === void 0 ? void 0 : _a.warn("Error while reading rules from ".concat(sheet.href, ": ").concat(e.toString())); + } + }); + return rules; +} +/** + * Get current window and container scroll position + * @param {HTMLElement} node Target element + * @returns {object} window scroll position + * @private + */ +function getScrollPosition(node) { + var _a, _b, _c, _d, _e, _f; + return { + x: ((_b = (_a = win.pageXOffset) !== null && _a !== void 0 ? _a : win.scrollX) !== null && _b !== void 0 ? _b : 0) + ((_c = node.scrollLeft) !== null && _c !== void 0 ? _c : 0), + y: ((_e = (_d = win.pageYOffset) !== null && _d !== void 0 ? _d : win.scrollY) !== null && _e !== void 0 ? _e : 0) + ((_f = node.scrollTop) !== null && _f !== void 0 ? _f : 0) + }; +} +/** + * Get translation string from screen <--> svg point + * @param {SVGGraphicsElement} node graphics element + * @param {number} x target x point + * @param {number} y target y point + * @param {boolean} inverse inverse flag + * @returns {object} + */ +function getTransformCTM(node, x, y, inverse) { + if (x === void 0) { x = 0; } + if (y === void 0) { y = 0; } + if (inverse === void 0) { inverse = true; } + var point = new DOMPoint(x, y); + var screen = node.getScreenCTM(); + var res = point.matrixTransform(inverse ? screen === null || screen === void 0 ? void 0 : screen.inverse() : screen); + if (inverse === false) { + var rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; +} +/** + * Gets the SVGMatrix of an SVGGElement + * @param {SVGElement} node Node element + * @returns {SVGMatrix} matrix + * @private + */ +function getTranslation(node) { + var transform = node ? node.transform : null; + var baseVal = transform && transform.baseVal; + return baseVal && baseVal.numberOfItems ? + baseVal.getItem(0).matrix : + { a: 0, b: 0, c: 0, d: 0, e: 0, f: 0 }; +} +/** + * Get unique value from array + * @param {Array} data Source data + * @returns {Array} Unique array value + * @private + */ +function getUnique(data) { + var isDate = data[0] instanceof Date; + var d = (isDate ? data.map(Number) : data) + .filter(function (v, i, self) { return self.indexOf(v) === i; }); + return isDate ? d.map(function (v) { return new Date(v); }) : d; +} +/** + * Merge array + * @param {Array} arr Source array + * @returns {Array} + * @private + */ +function mergeArray(arr) { + return arr && arr.length ? arr.reduce(function (p, c) { return p.concat(c); }) : []; +} +/** + * Merge object returning new object + * @param {object} target Target object + * @param {object} objectN Source object + * @returns {object} merged target object + * @private + */ +function mergeObj(target) { + var objectN = []; + for (var _i = 1; _i < arguments.length; _i++) { + objectN[_i - 1] = arguments[_i]; + } + if (!objectN.length || (objectN.length === 1 && !objectN[0])) { + return target; + } + var source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach(function (key) { + var value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } + else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj.apply(void 0, __spreadArray([target], objectN, false)); +} +/** + * Sort value + * @param {Array} data value to be sorted + * @param {boolean} isAsc true: asc, false: desc + * @returns {number|string|Date} sorted date + * @private + */ +function sortValue(data, isAsc) { + if (isAsc === void 0) { isAsc = true; } + var fn; + if (data[0] instanceof Date) { + fn = isAsc ? function (a, b) { return a - b; } : function (a, b) { return b - a; }; + } + else { + if (isAsc && !data.every(isNaN)) { + fn = function (a, b) { return a - b; }; + } + else if (!isAsc) { + fn = function (a, b) { return (a > b && -1) || (a < b && 1) || (a === b && 0); }; + } + } + return data.concat().sort(fn); +} +/** + * Get min/max value + * @param {string} type 'min' or 'max' + * @param {Array} data Array data value + * @returns {number|Date|undefined} + * @private + */ +function getMinMax$1(type, data) { + var res = data.filter(function (v) { return notEmpty(v); }); + if (res.length) { + if (isNumber(res[0])) { + res = Math[type].apply(Math, res); + } + else if (res[0] instanceof Date) { + res = sortValue(res, type === "min")[0]; + } + } + else { + res = undefined; + } + return res; +} +/** + * Get range + * @param {number} start Start number + * @param {number} end End number + * @param {number} step Step number + * @returns {Array} + * @private + */ +var getRange = function (start, end, step) { + if (step === void 0) { step = 1; } + var res = []; + var n = Math.max(0, Math.ceil((end - start) / step)) | 0; + for (var i = start; i < n; i++) { + res.push(start + i * step); + } + return res; +}; +// emulate event +var emulateEvent = { + mouse: (function () { + var getParams = function () { return ({ + bubbles: false, + cancelable: false, + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0 + }); }; + try { + // eslint-disable-next-line no-new + new MouseEvent("t"); + return function (el, eventType, params) { + if (params === void 0) { params = getParams(); } + el.dispatchEvent(new MouseEvent(eventType, params)); + }; + } + catch (_a) { + // Polyfills DOM4 MouseEvent + return function (el, eventType, params) { + if (params === void 0) { params = getParams(); } + var mouseEvent = doc.createEvent("MouseEvent"); + // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent + mouseEvent.initMouseEvent(eventType, params.bubbles, params.cancelable, win, 0, // the event's mouse click count + params.screenX, params.screenY, params.clientX, params.clientY, false, false, false, false, 0, null); + el.dispatchEvent(mouseEvent); + }; + } + })(), + touch: function (el, eventType, params) { + var touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}; +/** + * Process the template & return bound string + * @param {string} tpl Template string + * @param {object} data Data value to be replaced + * @returns {string} + * @private + */ +function tplProcess(tpl, data) { + var res = tpl; + for (var x in data) { + res = res.replace(new RegExp("{=".concat(x, "}"), "g"), data[x]); + } + return res; +} +/** + * Get parsed date value + * (It must be called in 'ChartInternal' context) + * @param {Date|string|number} date Value of date to be parsed + * @returns {Date} + * @private + */ +function parseDate(date) { + var _a; + var parsedDate; + if (date instanceof Date) { + parsedDate = date; + } + else if (isString(date)) { + var _b = this, config = _b.config, format = _b.format; + // if fails to parse, try by new Date() + // https://github.com/naver/billboard.js/issues/1714 + parsedDate = (_a = format.dataTime(config.data_xFormat)(date)) !== null && _a !== void 0 ? _a : new Date(date); + } + else if (isNumber(date) && !isNaN(date)) { + parsedDate = new Date(+date); + } + if (!parsedDate || isNaN(+parsedDate)) { + console && console.error && + console.error("Failed to parse x '".concat(date, "' to Date object")); + } + return parsedDate; +} +/** + * Check if svg element has viewBox attribute + * @param {d3Selection} svg Target svg selection + * @returns {boolean} + */ +function hasViewBox(svg) { + var attr = svg.attr("viewBox"); + return attr ? /(\d+(\.\d+)?){3}/.test(attr) : false; +} +/** + * Determine if given node has the specified style + * @param {d3Selection|SVGElement} node Target node + * @param {object} condition Conditional style props object + * @param {boolean} all If true, all condition should be matched + * @returns {boolean} + */ +function hasStyle(node, condition, all) { + if (all === void 0) { all = false; } + var isD3Node = !!node.node; + var has = false; + for (var _i = 0, _a = Object.entries(condition); _i < _a.length; _i++) { + var _b = _a[_i], key = _b[0], value = _b[1]; + has = isD3Node ? node.style(key) === value : node.style[key] === value; + if (all === false && has) { + break; + } + } + return has; +} +/** + * Return if the current doc is visible or not + * @returns {boolean} + * @private + */ +function isTabVisible() { + return (doc === null || doc === void 0 ? void 0 : doc.hidden) === false || (doc === null || doc === void 0 ? void 0 : doc.visibilityState) === "visible"; +} +/** + * Get the current input type + * @param {boolean} mouse Config value: interaction.inputType.mouse + * @param {boolean} touch Config value: interaction.inputType.touch + * @returns {string} "mouse" | "touch" | null + * @private + */ +function convertInputType(mouse, touch) { + var DocumentTouch = win.DocumentTouch, matchMedia = win.matchMedia, navigator = win.navigator; + // https://developer.mozilla.org/en-US/docs/Web/CSS/@media/pointer#coarse + var hasPointerCoarse = matchMedia === null || matchMedia === void 0 ? void 0 : matchMedia("(pointer:coarse)").matches; + var hasTouch = false; + if (touch) { + // Some Edge desktop return true: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/20417074/ + if (navigator && "maxTouchPoints" in navigator) { + hasTouch = navigator.maxTouchPoints > 0; + // Ref: https://github.com/Modernizr/Modernizr/blob/master/feature-detects/touchevents.js + // On IE11 with IE9 emulation mode, ('ontouchstart' in window) is returning true + } + else if ("ontouchmove" in win || (DocumentTouch && doc instanceof DocumentTouch)) { + hasTouch = true; + } + else { + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent#avoiding_user_agent_detection + if (hasPointerCoarse) { + hasTouch = true; + } + else { + // Only as a last resort, fall back to user agent sniffing + var UA = navigator.userAgent; + hasTouch = /\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(UA) || + /\b(Android|Windows Phone|iPad|iPod)\b/i.test(UA); + } + } + } + // For non-touch device, media feature condition is: '(pointer:coarse) = false' and '(pointer:fine) = true' + // https://github.com/naver/billboard.js/issues/3854#issuecomment-2404183158 + var hasMouse = mouse && !hasPointerCoarse && (matchMedia === null || matchMedia === void 0 ? void 0 : matchMedia("(pointer:fine)").matches); + // fallback to 'mouse' if no input type is detected. + return (hasMouse && "mouse") || (hasTouch && "touch") || "mouse"; +} +/** + * Run function until given condition function return true + * @param {Function} fn Function to be executed when condition is true + * @param {Function} conditionFn Condition function to check if condition is true + * @private + */ +function runUntil(fn, conditionFn) { + if (conditionFn() === false) { + requestAnimationFrame(function () { return runUntil(fn, conditionFn); }); + } + else { + fn(); + } +} + +/** + * Class to set options on generating chart. + * - It's instantiated internally, not exposed for public. + * @class Options + * @see {@link bb.generate} to use these options on generating the chart + */ +var Options = /** @class */ (function () { + function Options() { + return deepClone(main, boost, data$2, color$1, interaction$1, legend$2, title$1, tooltip$2, Options.data); + } + Options.setOptions = function (options) { + this.data = options + .reduce(function (a, c) { return (__assign(__assign({}, a), c)); }, this.data); + }; + Options.data = {}; + return Options; +}()); + +/** + * Elements class. + * @class Elements + * @ignore + * @private + */ +var Element = /** @class */ (function () { + function Element() { + var element = { + chart: null, + main: null, + svg: null, + axis: { + x: null, + y: null, + y2: null, + subX: null + }, + axisTooltip: { + x: null, + y: null, + y2: null + }, + defs: null, + tooltip: null, + legend: null, + title: null, + subchart: { + main: null, // $$.context + bar: null, // $$.contextBar + line: null, // $$.contextLine + area: null // $$.contextArea + }, + arcs: null, + bar: null, // mainBar, + candlestick: null, + line: null, // mainLine, + area: null, // mainArea, + circle: null, // mainCircle, + radar: null, + text: null, // mainText, + grid: { + main: null, // grid (also focus) + x: null, // xgrid, + y: null // ygrid, + }, + gridLines: { + main: null, // gridLines + x: null, // xgridLines, + y: null // ygridLines + }, + region: { + main: null, // region + list: null // mainRegion + }, + eventRect: null, + zoomResetBtn: null // drag zoom reset button + }; + return element; + } + return Element; +}()); + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * State class. + * @class State + * @ignore + * @private + */ +var State = /** @class */ (function () { + function State() { + return { + // chart drawn area dimension, excluding axes + width: 0, + width2: 0, + height: 0, + height2: 0, + margin: { + top: 0, + bottom: 0, + left: 0, + right: 0 + }, + margin2: { + top: 0, + bottom: 0, + left: 0, + right: 0 + }, + margin3: { + top: 0, + bottom: 0, + left: 0, + right: 0 + }, + arcWidth: 0, + arcHeight: 0, + xAxisHeight: 0, + hasAxis: false, + hasFunnel: false, + hasRadar: false, + hasTreemap: false, + // for data CSS rule index (used when boost.useCssRule is true) + cssRule: {}, + current: { + // current domain value. Assigned when is zoom is called + domain: undefined, + // chart whole dimension + width: 0, + height: 0, + dataMax: 0, + maxTickSize: { + x: { + width: 0, + height: 0, + ticks: [], + clipPath: 0, + domain: "" + }, + y: { width: 0, height: 0, domain: "" }, + y2: { width: 0, height: 0, domain: "" } + }, + // current used chart type list + types: [], + needle: undefined // arc needle current value + }, + // legend + isLegendRight: false, + isLegendInset: false, + isLegendTop: false, + isLegendLeft: false, + legendStep: 0, + legendItemWidth: 0, + legendItemHeight: 0, + legendHasRendered: false, + eventReceiver: { + currentIdx: -1, // current event interaction index + rect: {}, // event rect's clientBoundingRect + data: [], // event data bound of previoous eventRect + coords: [] // coordination value of previous eventRect + }, + axis: { + x: { + padding: { left: 0, right: 0 }, + tickCount: 0 + } + }, + rotatedPadding: { + left: 30, + right: 0, + top: 5 + }, + withoutFadeIn: {}, + inputType: "", + datetimeId: "", + // clip id string + clip: { + id: "", + idXAxis: "", + idYAxis: "", + idXAxisTickTexts: "", + idGrid: "", + idSubchart: "", // clipIdForSubchart + path: "", + pathXAxis: "", + pathYAxis: "", + pathXAxisTickTexts: "", + pathGrid: "" + }, + // state + event: null, // event object + dragStart: null, + dragging: false, + flowing: false, + cancelClick: false, + mouseover: false, + rendered: false, + transiting: false, + redrawing: false, // if redraw() is on process + resizing: false, // resize event called + toggling: false, // legend toggle + zooming: false, + hasNegativeValue: false, + hasPositiveValue: true, + orgAreaOpacity: "0.2", + orgConfig: {}, // user original genration config + // ID strings + hiddenTargetIds: [], + hiddenLegendIds: [], + focusedTargetIds: [], + defocusedTargetIds: [], + // value for Arc + radius: 0, + innerRadius: 0, + outerRadius: undefined, + innerRadiusRatio: 0, + gaugeArcWidth: 0, + radiusExpanded: 0, + // xgrid attribute + xgridAttr: { + x1: null, + x2: null, + y1: null, + y2: null + } + }; + } + return State; +}()); + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +// mapping +var classes = { + element: Element, + state: State +}; +/** + * Internal store class. + * @class Store + * @ignore + * @private + */ +var Store = /** @class */ (function () { + function Store() { + var _this = this; + Object.keys(classes).forEach(function (v) { + _this[v] = new classes[v](); + }); + } + Store.prototype.getStore = function (name) { + return this[name]; + }; + return Store; +}()); + +/** + * Constant for cache key + * - NOTE: Prefixed with '$', will be resetted when .load() is called + * @private + */ +var KEY = { + bubbleBaseLength: "$baseLength", + colorPattern: "__colorPattern__", + dataMinMax: "$dataMinMax", + dataTotalSum: "$dataTotalSum", + dataTotalPerIndex: "$totalPerIndex", + legendItemTextBox: "legendItemTextBox", + radarPoints: "$radarPoints", + radarTextWidth: "$radarTextWidth", + setOverOut: "setOverOut", + callOverOutForTouch: "callOverOutForTouch", + textRect: "textRect" +}; +var Cache = /** @class */ (function () { + function Cache() { + this.cache = {}; + } + /** + * Add cache + * @param {string} key Cache key + * @param {*} value Value to be stored + * @param {boolean} isDataType Weather the cache is data typed '{id:'data', id_org: 'data', values: [{x:0, index:0,...}, ...]}' + * @returns {*} Added data value + * @private + */ + Cache.prototype.add = function (key, value, isDataType) { + if (isDataType === void 0) { isDataType = false; } + this.cache[key] = isDataType ? this.cloneTarget(value) : value; + return this.cache[key]; + }; + /** + * Remove cache + * @param {string|Array} key Cache key + * @private + */ + Cache.prototype.remove = function (key) { + var _this = this; + (isString(key) ? [key] : key) + .forEach(function (v) { return delete _this.cache[v]; }); + }; + /** + * Get cahce + * @param {string|Array} key Cache key + * @param {boolean} isDataType Weather the cache is data typed '{id:'data', id_org: 'data', values: [{x:0, index:0,...}, ...]}' + * @returns {*} + * @private + */ + Cache.prototype.get = function (key, isDataType) { + if (isDataType === void 0) { isDataType = false; } + // when is isDataType, key should be string array + if (isDataType && Array.isArray(key)) { + var targets = []; + for (var i = 0, id = void 0; (id = key[i]); i++) { + if (id in this.cache) { + targets.push(this.cloneTarget(this.cache[id])); + } + } + return targets; + } + else { + var value = this.cache[key]; + return isValue(value) ? value : null; + } + }; + /** + * Reset cached data + * @param {boolean} all true: reset all data, false: reset only '$' prefixed key data + * @private + */ + Cache.prototype.reset = function (all) { + var $$ = this; + for (var x in $$.cache) { + // reset the prefixed '$' key(which is internal use data) only. + if (all || /^\$/.test(x)) { + $$.cache[x] = null; + } + } + }; + /** + * Clone data target object + * @param {object} target Data object + * @returns {object} + * @private + */ + Cache.prototype.cloneTarget = function (target) { + return { + id: target.id, + id_org: target.id_org, + values: target.values.map(function (d) { return ({ x: d.x, value: d.value, id: d.id }); }) + }; + }; + return Cache; +}()); + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Chart type constant + * @private + */ +var TYPE = { + AREA: "area", + AREA_LINE_RANGE: "area-line-range", + AREA_SPLINE: "area-spline", + AREA_SPLINE_RANGE: "area-spline-range", + AREA_STEP: "area-step", + AREA_STEP_RANGE: "area-step-range", + BAR: "bar", + BUBBLE: "bubble", + CANDLESTICK: "candlestick", + DONUT: "donut", + FUNNEL: "funnel", + GAUGE: "gauge", + LINE: "line", + PIE: "pie", + POLAR: "polar", + RADAR: "radar", + SCATTER: "scatter", + SPLINE: "spline", + STEP: "step", + TREEMAP: "treemap" +}; +/** + * Chart type module and its method from ChartInternal class, needed to be initialized. + * @private + */ +var TYPE_METHOD_NEEDED = { + AREA: "initArea", + AREA_LINE_RANGE: "initArea", + AREA_SPLINE: "initArea", + AREA_SPLINE_RANGE: "initArea", + AREA_STEP: "initArea", + AREA_STEP_RANGE: "initArea", + BAR: "initBar", + BUBBLE: "initCircle", + CANDLESTICK: "initCandlestick", + DONUT: "initArc", + FUNNEL: "initFunnel", + GAUGE: "initArc", + LINE: "initLine", + PIE: "initArc", + POLAR: "initPolar", + RADAR: "initCircle", + SCATTER: "initCircle", + SPLINE: "initLine", + STEP: "initLine", + TREEMAP: "initTreemap" +}; +/** + * chart types by category + * @private + */ +var TYPE_BY_CATEGORY = { + Area: [ + TYPE.AREA, + TYPE.AREA_SPLINE, + TYPE.AREA_SPLINE_RANGE, + TYPE.AREA_LINE_RANGE, + TYPE.AREA_STEP, + TYPE.AREA_STEP_RANGE + ], + AreaRange: [ + TYPE.AREA_SPLINE_RANGE, + TYPE.AREA_LINE_RANGE, + TYPE.AREA_STEP_RANGE + ], + Arc: [ + TYPE.PIE, + TYPE.DONUT, + TYPE.GAUGE, + TYPE.POLAR, + TYPE.RADAR + ], + Line: [ + TYPE.LINE, + TYPE.SPLINE, + TYPE.AREA, + TYPE.AREA_SPLINE, + TYPE.AREA_SPLINE_RANGE, + TYPE.AREA_LINE_RANGE, + TYPE.STEP, + TYPE.AREA_STEP, + TYPE.AREA_STEP_RANGE + ], + Step: [ + TYPE.STEP, + TYPE.AREA_STEP, + TYPE.AREA_STEP_RANGE + ], + Spline: [ + TYPE.SPLINE, + TYPE.AREA_SPLINE, + TYPE.AREA_SPLINE_RANGE + ] +}; + +/** + * Check chart type module imports. + * @param {ChartInternal} ctx Context + * @private + */ +function checkModuleImport(ctx) { + var $$ = ctx; + var config = $$.config; + var type = ""; + if (isEmpty(config.data_type || config.data_types) && !$$[TYPE_METHOD_NEEDED.LINE]) { + type = "line"; + } + else { + for (var x in TYPE_METHOD_NEEDED) { + var t = TYPE[x]; + if ($$.hasType(t) && !$$[TYPE_METHOD_NEEDED[x]]) { + type = t; + break; + } + } + } + type && + logError("Please, make sure if %c".concat(camelize(type)), "module has been imported and specified correctly.", "https://github.com/naver/billboard.js/wiki/CHANGELOG-v2#modularization-by-its-functionality"); +} +/** + * Log error and throw error + * @param {string} head Message header + * @param {string} tail Message tail + * @param {string} info Info message + * @private + */ +function logError(head, tail, info) { + var _a; + var prefix = "[billboard.js]"; + var hasConsole = (_a = win.console) === null || _a === void 0 ? void 0 : _a.error; + if (hasConsole) { + var tailMsg = ["background:red;color:white;display:block;font-size:15px", tail] ; + console.error.apply(console, __spreadArray(["\u274C ".concat(prefix, " ").concat(head), "background:red;color:white;display:block;font-size:15px"], tailMsg, false)); + console.info("%cℹ️", "font-size:15px", info); + } + throw Error("".concat(prefix, " ").concat(head.replace(/\%c([a-z-]+)/i, "'$1' "), " ").concat(tail )); +} + +var setTimeout$1 = win.setTimeout, clearTimeout$1 = win.clearTimeout; +/** + * Generate resize queue function + * @param {boolean|number} option Resize option + * @returns {Fucntion} + * @private + */ +function generateResize(option) { + var fn = []; + var timeout; + var callResizeFn = function () { + // Delay all resize functions call, to prevent unintended excessive call from resize event + callResizeFn.clear(); + if (option === false) { + requestIdleCallback(function () { + fn.forEach(function (f) { return f(); }); + }, { timeout: 200 }); + } + else { + timeout = setTimeout$1(function () { + fn.forEach(function (f) { return f(); }); + }, isNumber(option) ? option : 200); + } + }; + callResizeFn.clear = function () { + if (timeout) { + clearTimeout$1(timeout); + timeout = null; + } + }; + callResizeFn.add = function (f) { return fn.push(f); }; + callResizeFn.remove = function (f) { return fn.splice(fn.indexOf(f), 1); }; + return callResizeFn; +} +/** + * Generate transition queue function + * @returns {Function} + * @private + */ +function generateWait() { + var transitionsToWait = []; + // 'f' is called as selection.call(f, ...); + var f = function (selection, callback) { + /** + * Check if transition is complete + * @returns {boolean} Whether transition is complete + * @private + */ + function loop() { + var _a; + var done = 0; + for (var i = 0, t = void 0; (t = transitionsToWait[i]); i++) { + if (t === true || ((_a = t.empty) === null || _a === void 0 ? void 0 : _a.call(t))) { + done++; + continue; + } + // when tab isn't visible exit loop + if (isTabVisible() === false) { + done = transitionsToWait.length; + break; + } + try { + t.transition(); + } + catch (_b) { + done++; + } + } + return done === transitionsToWait.length; + } + runUntil(function () { + callback === null || callback === void 0 ? void 0 : callback(); + }, loop); + }; + f.add = function (t) { + isArray(t) ? (transitionsToWait = transitionsToWait.concat(t)) : transitionsToWait.push(t); + }; + return f; +} + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +// Store blob in memory +var blob = {}; +/** + * Get Object URL + * @param {Function} fn Function to be executed in worker + * @param {Array} depsFn Dependency functions to run given function(fn). + * @returns {string} + * @private + */ +function getObjectURL(fn, depsFn) { + var _a; + var fnString = fn.toString(); + var key = fnString.replace(/(function|[\s\W\n])/g, "").substring(0, 15); + if (!(key in blob)) { + // Web Worker body + blob[key] = new win.Blob([ + "".concat((_a = depsFn === null || depsFn === void 0 ? void 0 : depsFn.map(String).join(";")) !== null && _a !== void 0 ? _a : "", "\n\n\t\t\tself.onmessage=function({data}) {\n\t\t\t\tconst result = (").concat(fnString, ").apply(null, data);\n\t\t\t\tself.postMessage(result);\n\t\t\t};") + ], { + type: "text/javascript" + }); + } + return win.URL.createObjectURL(blob[key]); +} +/** + * Get WebWorker instance + * @param {string} src URL object as string + * @returns {object} WebWorker instance + * @private + */ +function getWorker(src) { + var worker = new win.Worker(src); + // handle error + worker.onerror = function (e) { + // eslint-disable-next-line no-console + console.error ? console.error(e) : console.log(e); + }; + return worker; +} +/** + * Create and run on Web Worker + * @param {boolean} useWorker Use Web Worker + * @param {Function} fn Function to be executed in worker + * @param {Function} callback Callback function to receive result from worker + * @param {Array} depsFn Dependency functions to run given function(fn). + * @returns {object} + * @example + * const worker = runWorker(function(arg) { + * // do some tasks... + * console.log("param:", A(arg)); + * + * return 1234; + * }, function(data) { + * // callback after worker is done + * console.log("result:", data); + * }, + * [function A(){}] + * ); + * + * worker(11111); + * @private + */ +function runWorker(useWorker, fn, callback, depsFn) { + if (useWorker === void 0) { useWorker = true; } + var runFn = function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var res = fn.apply(void 0, args); + callback(res); + }; + if (win.Worker && useWorker) { + var src_1 = getObjectURL(fn, depsFn); + var worker_1 = getWorker(src_1); + runFn = function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + // trigger worker + worker_1.postMessage(args); + // listen worker + worker_1.onmessage = function (e) { + // release object URL from memory + win.URL.revokeObjectURL(src_1); + return callback(e.data); + }; + // return new Promise((resolve, reject) => { + // worker.onmessage = ({data}) => resolve(data); + // worker.onerror = reject; + // }); + }; + } + return runFn; +} + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/* eslint-disable */ +/***** Functions to be executed on Web Worker ***** + * NOTE: Don't allowed to use + * - arrow function syntax + * - Utils functions + */ +/** + * Convert Columns data + * @param {object} columns + * @returns {Array} + * @private + */ +function columns(columns) { + var newRows = []; + columns.forEach(function (col, i) { + var key = col[0]; + col.forEach(function (v, j) { + if (j > 0) { + if (typeof newRows[j - 1] === "undefined") { + newRows[j - 1] = {}; + } + if (typeof v === "undefined") { + throw new Error("Source data is missing a component at (".concat(i, ", ").concat(j, ")!")); + } + newRows[j - 1][key] = v; + } + }); + }); + return newRows; +} +/** + * Convert Rows data + * @param {object} columns + * @returns {Array} + * @private + */ +function rows(rows) { + var keys = rows[0]; + var newRows = []; + rows.forEach(function (row, i) { + if (i > 0) { + var newRow_1 = {}; + row.forEach(function (v, j) { + if (typeof v === "undefined") { + throw new Error("Source data is missing a component at (".concat(i, ", ").concat(j, ")!")); + } + newRow_1[keys[j]] = v; + }); + newRows.push(newRow_1); + } + }); + return newRows; +} +/** + * Convert JSON data + * @param {object} columns + * @returns {Array} + * @private + */ +function json(json, keysParam) { + var newRows = []; + var targetKeys; + var data; + if (Array.isArray(json)) { + var findValueInJson_1 = function (object, path) { + if (object[path] !== undefined) { + return object[path]; + } + var convertedPath = path.replace(/\[(\w+)\]/g, ".$1"); // convert indexes to properties (replace [] with .) + var pathArray = convertedPath.replace(/^\./, "").split("."); // strip a leading dot + var target = object; + pathArray.some(function (k) { + return !(target = target && k in target ? target[k] : undefined); + }); + return target; + }; + if (keysParam.x) { + targetKeys = keysParam.value.concat(keysParam.x); + } + else { + targetKeys = keysParam.value; + } + newRows.push(targetKeys); + json.forEach(function (o) { + var newRow = targetKeys.map(function (key) { + // convert undefined to null because undefined data will be removed in convertDataToTargets() + var v = findValueInJson_1(o, key); + if (typeof v === "undefined") { + v = null; + } + return v; + }); + newRows.push(newRow); + }); + data = rows(newRows); + } + else { + Object.keys(json).forEach(function (key) { + var _a; + var tmp = json[key].concat(); + (_a = tmp.unshift) === null || _a === void 0 ? void 0 : _a.call(tmp, key); + newRows.push(tmp); + }); + data = columns(newRows); + } + return data; +} +/***** Functions can't be executed on Web Worker *****/ +/** + * Convert URL data + * @param {string} url Remote URL + * @param {string} mimeType MIME type string: json | csv | tsv + * @param {object} headers Header object + * @param {object} keys Key object + * @param {Function} done Callback function + * @private + */ +function url(url, mimeType, headers, keys, done) { + if (mimeType === void 0) { mimeType = "csv"; } + var req = new XMLHttpRequest(); + var converter = { csv: csv, tsv: tsv, json: json }; + req.open("GET", url); + if (headers) { + Object.keys(headers).forEach(function (key) { + req.setRequestHeader(key, headers[key]); + }); + } + req.onreadystatechange = function () { + if (req.readyState === 4) { + if (req.status === 200) { + var response = req.responseText; + response && done.call(this, converter[mimeType](mimeType === "json" ? JSON.parse(response) : response, keys)); + } + else { + throw new Error("".concat(url, ": Something went wrong loading!")); + } + } + }; + req.send(); +} +/** + * Convert CSV/TSV data + * @param {object} parser Parser object + * @param {object} xsv Data + * @returns {object} + * @private + */ +function convertCsvTsvToData(parser, xsv) { + var rows = parser.rows(xsv); + var d; + if (rows.length === 1) { + d = [{}]; + rows[0].forEach(function (id) { + d[0][id] = null; + }); + } + else { + d = parser.parse(xsv); + } + return d; +} +function csv(xsv) { + return convertCsvTsvToData({ + rows: csvParseRows, + parse: csvParse + }, xsv); +} +function tsv(tsv) { + return convertCsvTsvToData({ + rows: tsvParseRows, + parse: tsvParse + }, tsv); +} + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Get data key for JSON + * @param {string|object} keysParam Key params + * @param {object} config Config object + * @returns {string} Data key + * @private + */ +function getDataKeyForJson(keysParam, config) { + var keys = keysParam || (config === null || config === void 0 ? void 0 : config.data_keys); + if (keys === null || keys === void 0 ? void 0 : keys.x) { + config.data_x = keys.x; + } + return keys; +} +/** + * Data convert + * @memberof ChartInternal + * @private + */ +var dataConvert = { + /** + * Convert data according its type + * @param {object} args data object + * @param {Function} [callback] callback for url(XHR) type loading + * @private + */ + convertData: function (args, callback) { + var config = this.config; + var useWorker = config.boost_useWorker; + var data = args; + if (args.bindto) { + data = {}; + ["url", "mimeType", "headers", "keys", "json", "keys", "rows", "columns"] + .forEach(function (v) { + var key = "data_".concat(v); + if (key in args) { + data[v] = args[key]; + } + }); + } + if (data.url && callback) { + url(data.url, data.mimeType, data.headers, getDataKeyForJson(data.keys, config), callback); + } + else if (data.json) { + runWorker(useWorker, json, callback, [columns, rows])(data.json, getDataKeyForJson(data.keys, config)); + } + else if (data.rows) { + runWorker(useWorker, rows, callback)(data.rows); + } + else if (data.columns) { + runWorker(useWorker, columns, callback)(data.columns); + } + else if (args.bindto) { + throw Error("url or json or rows or columns is required."); + } + }, + convertDataToTargets: function (data, appendXs) { + var _this = this; + var $$ = this; + var axis = $$.axis, config = $$.config, state = $$.state; + var chartType = config.data_type; + var isCategorized = false; + var isTimeSeries = false; + var isCustomX = false; + if (axis) { + isCategorized = axis.isCategorized(); + isTimeSeries = axis.isTimeSeries(); + isCustomX = axis.isCustomX(); + } + var dataKeys = Object.keys(data[0] || {}); + var ids = dataKeys.length ? dataKeys.filter($$.isNotX, $$) : []; + var xs = dataKeys.length ? dataKeys.filter($$.isX, $$) : []; + var xsData; + // save x for update data by load when custom x and bb.x API + ids.forEach(function (id) { + var xKey = _this.getXKey(id); + if (isCustomX || isTimeSeries) { + // if included in input data + if (xs.indexOf(xKey) >= 0) { + xsData = ((appendXs && $$.data.xs[id]) || []) + .concat(data.map(function (d) { return d[xKey]; }) + .filter(isValue) + .map(function (rawX, i) { return $$.generateTargetX(rawX, id, i); })); + } + else if (config.data_x) { + // if not included in input data, find from preloaded data of other id's x + xsData = _this.getOtherTargetXs(); + } + else if (notEmpty(config.data_xs)) { + // if not included in input data, find from preloaded data + xsData = $$.getXValuesOfXKey(xKey, $$.data.targets); + } + // MEMO: if no x included, use same x of current will be used + } + else { + xsData = data.map(function (d, i) { return i; }); + } + xsData && (_this.data.xs[id] = xsData); + }); + // check x is defined + ids.forEach(function (id) { + if (!_this.data.xs[id]) { + throw new Error("x is not defined for id = \"".concat(id, "\".")); + } + }); + // convert to target + var targets = ids.map(function (id, index) { + var convertedId = config.data_idConverter.bind($$.api)(id); + var xKey = $$.getXKey(id); + var isCategory = isCustomX && isCategorized; + var hasCategory = isCategory && data.map(function (v) { return v.x; }) + .every(function (v) { return config.axis_x_categories.indexOf(v) > -1; }); + // when .load() with 'append' option is used for indexed axis + // @ts-ignore + var isDataAppend = data.__append__; + var xIndex = xKey === null && isDataAppend ? $$.api.data.values(id).length : 0; + return { + id: convertedId, + id_org: id, + values: data.map(function (d, i) { + var rawX = d[xKey]; + var value = d[id]; + var x; + value = value !== null && !isNaN(value) && !isObject(value) ? + +value : + (isArray(value) || isObject(value) ? value : null); + // use x as categories if custom x and categorized + if ((isCategory || state.hasRadar) && index === 0 && !isUndefined(rawX)) { + if (!hasCategory && index === 0 && i === 0 && !isDataAppend) { + config.axis_x_categories = []; + } + x = config.axis_x_categories.indexOf(rawX); + if (x === -1) { + x = config.axis_x_categories.length; + config.axis_x_categories.push(rawX); + } + } + else { + x = $$.generateTargetX(rawX, id, xIndex + i); + } + // mark as x = undefined if value is undefined and filter to remove after mapped + if (isUndefined(value) || $$.data.xs[id].length <= i) { + x = undefined; + } + return { + x: x, + value: value, + id: convertedId, + index: -1 + }; + }).filter(function (v) { return isDefined(v.x); }) + }; + }); + // finish targets + targets.forEach(function (t) { + var _a; + // sort values by its x + if (config.data_xSort) { + t.values = t.values.sort(function (v1, v2) { + var x1 = v1.x || v1.x === 0 ? v1.x : Infinity; + var x2 = v2.x || v2.x === 0 ? v2.x : Infinity; + return x1 - x2; + }); + } + // indexing each value + t.values.forEach(function (v, i) { return (v.index = i); }); + // this needs to be sorted because its index and value.index is identical + (_a = $$.data.xs[t.id]) === null || _a === void 0 ? void 0 : _a.sort(function (v1, v2) { return v1 - v2; }); + }); + // cache information about values + state.hasNegativeValue = $$.hasNegativeValueInTargets(targets); + state.hasPositiveValue = $$.hasPositiveValueInTargets(targets); + // set target types + if (chartType && $$.isValidChartType(chartType)) { + var targetIds = $$.mapToIds(targets) + .filter(function (id) { + return !(id in config.data_types) || !$$.isValidChartType(config.data_types[id]); + }); + $$.setTargetType(targetIds, chartType); + } + // cache as original id keyed + targets.forEach(function (d) { return $$.cache.add(d.id_org, d, true); }); + return targets; + } +}; + +var data$1 = { + isX: function (key) { + var $$ = this; + var config = $$.config; + var dataKey = config.data_x && key === config.data_x; + var existValue = notEmpty(config.data_xs) && hasValue(config.data_xs, key); + return dataKey || existValue; + }, + isNotX: function (key) { + return !this.isX(key); + }, + isStackNormalized: function () { + var config = this.config; + return !!(config.data_stack_normalize && config.data_groups.length); + }, + /** + * Check if given id is grouped data or has grouped data + * @param {string} id Data id value + * @returns {boolean} is grouped data or has grouped data + * @private + */ + isGrouped: function (id) { + var groups = this.config.data_groups; + return id ? groups.some(function (v) { return v.indexOf(id) >= 0 && v.length > 1; }) : groups.length > 0; + }, + getXKey: function (id) { + var $$ = this; + var config = $$.config; + return config.data_x ? + config.data_x : + (notEmpty(config.data_xs) ? config.data_xs[id] : null); + }, + getXValuesOfXKey: function (key, targets) { + var $$ = this; + var ids = targets && notEmpty(targets) ? $$.mapToIds(targets) : []; + var xValues; + ids.forEach(function (id) { + if ($$.getXKey(id) === key) { + xValues = $$.data.xs[id]; + } + }); + return xValues; + }, + /** + * Get index number based on given x Axis value + * @param {Date|number|string} x x Axis to be compared + * @param {Array} basedX x Axis list to be based on + * @returns {number} index number + * @private + */ + getIndexByX: function (x, basedX) { + var $$ = this; + return basedX ? + basedX.indexOf(isString(x) ? x : +x) : + ($$.filterByX($$.data.targets, x)[0] || { index: null }).index; + }, + getXValue: function (id, i) { + var $$ = this; + return id in $$.data.xs && + $$.data.xs[id] && + isValue($$.data.xs[id][i]) ? + $$.data.xs[id][i] : + i; + }, + getOtherTargetXs: function () { + var $$ = this; + var idsForX = Object.keys($$.data.xs); + return idsForX.length ? $$.data.xs[idsForX[0]] : null; + }, + getOtherTargetX: function (index) { + var xs = this.getOtherTargetXs(); + return xs && index < xs.length ? xs[index] : null; + }, + addXs: function (xs) { + var $$ = this; + var config = $$.config; + Object.keys(xs).forEach(function (id) { + config.data_xs[id] = xs[id]; + }); + }, + /** + * Determine if x axis is multiple + * @returns {boolean} true: multiple, false: single + * @private + */ + isMultipleX: function () { + return !this.config.axis_x_forceAsSingle && (notEmpty(this.config.data_xs) || + this.hasType("bubble") || + this.hasType("scatter")); + }, + addName: function (data) { + var $$ = this; + var config = $$.config; + var name; + if (data) { + name = config.data_names[data.id]; + data.name = name !== undefined ? name : data.id; + } + return data; + }, + /** + * Get all values on given index + * @param {number} index Index + * @param {boolean} filterNull Filter nullish value + * @returns {Array} + * @private + */ + getAllValuesOnIndex: function (index, filterNull) { + if (filterNull === void 0) { filterNull = false; } + var $$ = this; + var value = $$.filterTargetsToShow($$.data.targets) + .map(function (t) { return $$.addName($$.getValueOnIndex(t.values, index)); }); + if (filterNull) { + value = value.filter(function (v) { return v && "value" in v && isValue(v.value); }); + } + return value; + }, + getValueOnIndex: function (values, index) { + var valueOnIndex = values.filter(function (v) { return v.index === index; }); + return valueOnIndex.length ? valueOnIndex[0] : null; + }, + updateTargetX: function (targets, x) { + var $$ = this; + targets.forEach(function (t) { + t.values.forEach(function (v, i) { + v.x = $$.generateTargetX(x[i], t.id, i); + }); + $$.data.xs[t.id] = x; + }); + }, + updateTargetXs: function (targets, xs) { + var $$ = this; + targets.forEach(function (t) { + xs[t.id] && $$.updateTargetX([t], xs[t.id]); + }); + }, + generateTargetX: function (rawX, id, index) { + var $$ = this; + var axis = $$.axis; + var x = (axis === null || axis === void 0 ? void 0 : axis.isCategorized()) ? index : (rawX || index); + if (axis === null || axis === void 0 ? void 0 : axis.isTimeSeries()) { + var fn = parseDate.bind($$); + x = rawX ? fn(rawX) : fn($$.getXValue(id, index)); + } + else if ((axis === null || axis === void 0 ? void 0 : axis.isCustomX()) && !(axis === null || axis === void 0 ? void 0 : axis.isCategorized())) { + x = isValue(rawX) ? +rawX : $$.getXValue(id, index); + } + return x; + }, + updateXs: function (values) { + if (values.length) { + this.axis.xs = values.map(function (v) { return v.x; }); + } + }, + getPrevX: function (i) { + var x = this.axis.xs[i - 1]; + return isDefined(x) ? x : null; + }, + getNextX: function (i) { + var x = this.axis.xs[i + 1]; + return isDefined(x) ? x : null; + }, + /** + * Get base value isAreaRangeType + * @param {object} data Data object + * @returns {number} + * @private + */ + getBaseValue: function (data) { + var $$ = this; + var hasAxis = $$.state.hasAxis; + var value = data.value; + // In case of area-range, data is given as: [low, mid, high] or {low, mid, high} + // will take the 'mid' as the base value + if (value && hasAxis) { + if ($$.isAreaRangeType(data)) { + value = $$.getRangedData(data, "mid"); + } + else if ($$.isBubbleZType(data)) { + value = $$.getBubbleZData(value, "y"); + } + } + return value; + }, + /** + * Get min/max value from the data + * @private + * @param {Array} data array data to be evaluated + * @returns {{min: {number}, max: {number}}} + */ + getMinMaxValue: function (data) { + var getBaseValue = this.getBaseValue.bind(this); + var min; + var max; + (data || this.data.targets.map(function (t) { return t.values; })) + .forEach(function (v, i) { + var value = v.map(getBaseValue).filter(isNumber); + min = Math.min.apply(Math, __spreadArray([i ? min : Infinity], value, false)); + max = Math.max.apply(Math, __spreadArray([i ? max : -Infinity], value, false)); + }); + return { min: min, max: max }; + }, + /** + * Get the min/max data + * @private + * @returns {{min: Array, max: Array}} + */ + getMinMaxData: function () { + var $$ = this; + var cacheKey = KEY.dataMinMax; + var minMaxData = $$.cache.get(cacheKey); + if (!minMaxData) { + var data = $$.data.targets.map(function (t) { return t.values; }); + var minMax_1 = $$.getMinMaxValue(data); + var min_1 = []; + var max_1 = []; + data.forEach(function (v) { + var minData = $$.getFilteredDataByValue(v, minMax_1.min); + var maxData = $$.getFilteredDataByValue(v, minMax_1.max); + if (minData.length) { + min_1 = min_1.concat(minData); + } + if (maxData.length) { + max_1 = max_1.concat(maxData); + } + }); + // update the cached data + $$.cache.add(cacheKey, minMaxData = { min: min_1, max: max_1 }); + } + return minMaxData; + }, + /** + * Get sum of data per index + * @private + * @returns {Array} + */ + getTotalPerIndex: function () { + var $$ = this; + var cacheKey = KEY.dataTotalPerIndex; + var sum = $$.cache.get(cacheKey); + if (($$.config.data_groups.length || $$.isStackNormalized()) && !sum) { + sum = []; + $$.data.targets.forEach(function (row) { + row.values.forEach(function (v, i) { + if (!sum[i]) { + sum[i] = 0; + } + sum[i] += isNumber(v.value) ? v.value : 0; + }); + }); + } + return sum; + }, + /** + * Get total data sum + * @param {boolean} subtractHidden Subtract hidden data from total + * @returns {number} + * @private + */ + getTotalDataSum: function (subtractHidden) { + var $$ = this; + var cacheKey = KEY.dataTotalSum; + var total = $$.cache.get(cacheKey); + if (!isNumber(total)) { + var sum = mergeArray($$.data.targets.map(function (t) { return t.values; })) + .map(function (v) { return v.value; }); + total = sum.length ? sum.reduce(function (p, c) { return p + c; }) : 0; + $$.cache.add(cacheKey, total); + } + if (subtractHidden) { + total -= $$.getHiddenTotalDataSum(); + } + return total; + }, + /** + * Get total hidden data sum + * @returns {number} + * @private + */ + getHiddenTotalDataSum: function () { + var $$ = this; + var api = $$.api, hiddenTargetIds = $$.state.hiddenTargetIds; + var total = 0; + if (hiddenTargetIds.length) { + total = api.data.values.bind(api)(hiddenTargetIds) + .reduce(function (p, c) { return p + c; }); + } + return total; + }, + /** + * Get filtered data by value + * @param {object} data Data + * @param {number} value Value to be filtered + * @returns {Array} filtered array data + * @private + */ + getFilteredDataByValue: function (data, value) { + var _this = this; + return data.filter(function (t) { return _this.getBaseValue(t) === value; }); + }, + /** + * Return the max length of the data + * @returns {number} max data length + * @private + */ + getMaxDataCount: function () { + return Math.max.apply(Math, __spreadArray(__spreadArray([], this.data.targets.map(function (t) { return t.values.length; }), false), [0], false)); + }, + getMaxDataCountTarget: function () { + var target = this.filterTargetsToShow() || []; + var length = target.length; + var isInverted = this.config.axis_x_inverted; + if (length > 1) { + target = target.map(function (t) { return t.values; }) + .reduce(function (a, b) { return a.concat(b); }) + .map(function (v) { return v.x; }); + target = sortValue(getUnique(target)) + .map(function (x, index, array) { return ({ + x: x, + index: isInverted ? array.length - index - 1 : index + }); }); + } + else if (length) { + target = target[0].values.concat(); + } + return target; + }, + mapToIds: function (targets) { + return targets.map(function (d) { return d.id; }); + }, + mapToTargetIds: function (ids) { + var $$ = this; + return ids ? (isArray(ids) ? ids.concat() : [ids]) : $$.mapToIds($$.data.targets); + }, + hasTarget: function (targets, id) { + var ids = this.mapToIds(targets); + for (var i = 0, val = void 0; (val = ids[i]); i++) { + if (val === id) { + return true; + } + } + return false; + }, + isTargetToShow: function (targetId) { + return this.state.hiddenTargetIds.indexOf(targetId) < 0; + }, + isLegendToShow: function (targetId) { + return this.state.hiddenLegendIds.indexOf(targetId) < 0; + }, + filterTargetsToShow: function (targets) { + var $$ = this; + return (targets || $$.data.targets).filter(function (t) { return $$.isTargetToShow(t.id); }); + }, + mapTargetsToUniqueXs: function (targets) { + var $$ = this; + var axis = $$.axis; + var xs = []; + if (targets === null || targets === void 0 ? void 0 : targets.length) { + xs = getUnique(mergeArray(targets.map(function (t) { return t.values.map(function (v) { return +v.x; }); }))); + xs = (axis === null || axis === void 0 ? void 0 : axis.isTimeSeries()) ? xs.map(function (x) { return new Date(+x); }) : xs.map(Number); + } + return sortValue(xs); + }, + /** + * Add to the state target Ids + * @param {string} type State's prop name + * @param {Array|string} targetIds Target ids array + * @private + */ + addTargetIds: function (type, targetIds) { + var state = this.state; + var ids = (isArray(targetIds) ? targetIds : [targetIds]); + ids.forEach(function (v) { + state[type].indexOf(v) < 0 && + state[type].push(v); + }); + }, + /** + * Remove from the state target Ids + * @param {string} type State's prop name + * @param {Array|string} targetIds Target ids array + * @private + */ + removeTargetIds: function (type, targetIds) { + var state = this.state; + var ids = (isArray(targetIds) ? targetIds : [targetIds]); + ids.forEach(function (v) { + var index = state[type].indexOf(v); + index >= 0 && state[type].splice(index, 1); + }); + }, + addHiddenTargetIds: function (targetIds) { + this.addTargetIds("hiddenTargetIds", targetIds); + }, + removeHiddenTargetIds: function (targetIds) { + this.removeTargetIds("hiddenTargetIds", targetIds); + }, + addHiddenLegendIds: function (targetIds) { + this.addTargetIds("hiddenLegendIds", targetIds); + }, + removeHiddenLegendIds: function (targetIds) { + this.removeTargetIds("hiddenLegendIds", targetIds); + }, + getValuesAsIdKeyed: function (targets) { + var $$ = this; + var hasAxis = $$.state.hasAxis; + var ys = {}; + var isMultipleX = $$.isMultipleX(); + var xs = isMultipleX ? + $$.mapTargetsToUniqueXs(targets) + .map(function (v) { return (isString(v) ? v : +v); }) : + null; + targets.forEach(function (t) { + var data = []; + t.values + .filter(function (_a) { + var value = _a.value; + return isValue(value) || value === null; + }) + .forEach(function (v) { + var value = v.value; + // exclude 'volume' value to correct mis domain calculation + if (value !== null && $$.isCandlestickType(v)) { + value = isArray(value) ? + value.slice(0, 4) : + [value.open, value.high, value.low, value.close]; + } + if (isArray(value)) { + data.push.apply(data, value); + } + else if (isObject(value) && "high" in value) { + data.push.apply(data, Object.values(value)); + } + else if ($$.isBubbleZType(v)) { + data.push(hasAxis && $$.getBubbleZData(value, "y")); + } + else { + if (isMultipleX) { + data[$$.getIndexByX(v.x, xs)] = value; + } + else { + data.push(value); + } + } + }); + ys[t.id] = data; + }); + return ys; + }, + checkValueInTargets: function (targets, checker) { + var ids = Object.keys(targets); + var values; + for (var i = 0; i < ids.length; i++) { + values = targets[ids[i]].values; + for (var j = 0; j < values.length; j++) { + if (checker(values[j].value)) { + return true; + } + } + } + return false; + }, + hasMultiTargets: function () { + return this.filterTargetsToShow().length > 1; + }, + hasNegativeValueInTargets: function (targets) { + return this.checkValueInTargets(targets, function (v) { return v < 0; }); + }, + hasPositiveValueInTargets: function (targets) { + return this.checkValueInTargets(targets, function (v) { return v > 0; }); + }, + /** + * Sort targets data + * Note: For stacked bar, will sort from the total sum of data series, not for each stacked bar + * @param {Array} targetsValue Target value + * @returns {Array} + * @private + */ + orderTargets: function (targetsValue) { + var $$ = this; + var targets = __spreadArray([], targetsValue, true); + var fn = $$.getSortCompareFn(); + fn && targets.sort(fn); + return targets; + }, + /** + * Get data.order compare function + * @param {boolean} isReversed for Arc & Treemap type sort order needs to be reversed + * @returns {Function} compare function + * @private + */ + getSortCompareFn: function (isReversed) { + if (isReversed === void 0) { isReversed = false; } + var $$ = this; + var config = $$.config; + var order = config.data_order; + var orderAsc = /asc/i.test(order); + var orderDesc = /desc/i.test(order); + var fn; + if (orderAsc || orderDesc) { + var reducer_1 = function (p, c) { return p + Math.abs(c.value); }; + var sum_1 = function (v) { return (isNumber(v) ? v : ("values" in v ? v.values.reduce(reducer_1, 0) : v.value)); }; + fn = function (t1, t2) { + var t1Sum = sum_1(t1); + var t2Sum = sum_1(t2); + return isReversed ? + (orderAsc ? t1Sum - t2Sum : t2Sum - t1Sum) : + (orderAsc ? t2Sum - t1Sum : t1Sum - t2Sum); + }; + } + else if (isFunction(order)) { + fn = order.bind($$.api); + } + return fn || null; + }, + filterByX: function (targets, x) { + return mergeArray(targets.map(function (t) { return t.values; })).filter(function (v) { return v.x - x === 0; }); + }, + filterRemoveNull: function (data) { + var _this = this; + return data.filter(function (d) { return isValue(_this.getBaseValue(d)); }); + }, + filterByXDomain: function (targets, xDomain) { + return targets.map(function (t) { return ({ + id: t.id, + id_org: t.id_org, + values: t.values.filter(function (v) { return xDomain[0] <= v.x && v.x <= xDomain[1]; }) + }); }); + }, + hasDataLabel: function () { + var dataLabels = this.config.data_labels; + return (isBoolean(dataLabels) && dataLabels) || + (isObjectType(dataLabels) && notEmpty(dataLabels)); + }, + /** + * Determine if has null value + * @param {Array} targets Data array to be evaluated + * @returns {boolean} + * @private + */ + hasNullDataValue: function (targets) { + return targets.some(function (_a) { + var value = _a.value; + return value === null; + }); + }, + /** + * Get data index from the event coodinates + * @param {Event} event Event object + * @returns {number} + * @private + */ + getDataIndexFromEvent: function (event) { + var $$ = this; + var $el = $$.$el, config = $$.config, _a = $$.state, hasRadar = _a.hasRadar, inputType = _a.inputType, _b = _a.eventReceiver, coords = _b.coords, rect = _b.rect; + var index; + if (hasRadar) { + var target = event.target; + // in case of multilined axis text + if (/tspan/i.test(target.tagName)) { + target = target.parentNode; + } + var d = select(target).datum(); + index = d && Object.keys(d).length === 1 ? d.index : undefined; + } + else { + var isRotated = config.axis_rotated; + var scrollPos = getScrollPosition($el.chart.node()); + // get data based on the mouse coords + var e = inputType === "touch" && event.changedTouches ? + event.changedTouches[0] : + event; + var point = isRotated ? e.clientY + scrollPos.y : e.clientX + scrollPos.x; + if (hasViewBox($el.svg)) { + var pos = [point, 0]; + isRotated && pos.reverse(); + point = getTransformCTM.apply(void 0, __spreadArray([$el.svg.node()], pos, false))[isRotated ? "y" : "x"]; + } + else { + point -= isRotated ? rect.top : rect.left; + } + index = findIndex(coords, point, 0, coords.length - 1, isRotated); + } + return index; + }, + getDataLabelLength: function (min, max, key) { + var $$ = this; + var lengths = [0, 0]; + var paddingCoef = 1.3; + $$.$el.chart.select("svg").selectAll(".dummy") + .data([min, max]) + .enter() + .append("text") + .text(function (d) { return $$.dataLabelFormat(d.id)(d); }) + .each(function (d, i) { + lengths[i] = this.getBoundingClientRect()[key] * paddingCoef; + }) + .remove(); + return lengths; + }, + isNoneArc: function (d) { + return this.hasTarget(this.data.targets, d.id); + }, + isArc: function (d) { + return "data" in d && this.hasTarget(this.data.targets, d.data.id); + }, + findSameXOfValues: function (values, index) { + var targetX = values[index].x; + var sames = []; + var i; + for (i = index - 1; i >= 0; i--) { + if (targetX !== values[i].x) { + break; + } + sames.push(values[i]); + } + for (i = index; i < values.length; i++) { + if (targetX !== values[i].x) { + break; + } + sames.push(values[i]); + } + return sames; + }, + findClosestFromTargets: function (targets, pos) { + var $$ = this; + var candidates = targets.map(function (target) { return $$.findClosest(target.values, pos); }); // map to array of closest points of each target + // decide closest point and return + return $$.findClosest(candidates, pos); + }, + findClosest: function (values, pos) { + var $$ = this; + var main = $$.$el.main; + var data = values.filter(function (v) { return v && isValue(v.value); }); + var minDist; + var closest; + // find mouseovering bar/candlestick + // https://github.com/naver/billboard.js/issues/2434 + data + .filter(function (v) { return $$.isBarType(v.id) || $$.isCandlestickType(v.id); }) + .forEach(function (v) { + var selector = $$.isBarType(v.id) ? + ".".concat($BAR.chartBar, ".").concat($COMMON.target).concat($$.getTargetSelectorSuffix(v.id), " .").concat($BAR.bar, "-").concat(v.index) : + ".".concat($CANDLESTICK.chartCandlestick, ".").concat($COMMON.target).concat($$.getTargetSelectorSuffix(v.id), " .").concat($CANDLESTICK.candlestick, "-").concat(v.index, " path"); + if (!closest && $$.isWithinBar(main.select(selector).node())) { + closest = v; + } + }); + // find closest point from non-bar/candlestick + data + .filter(function (v) { return !$$.isBarType(v.id) && !$$.isCandlestickType(v.id); }) + .forEach(function (v) { + var d = $$.dist(v, pos); + minDist = $$.getPointSensitivity(v); + if (d < minDist) { + minDist = d; + closest = v; + } + }); + return closest; + }, + dist: function (data, pos) { + var $$ = this; + var isRotated = $$.config.axis_rotated, scale = $$.scale; + var xIndex = +isRotated; // true: 1, false: 0 + var yIndex = +!isRotated; // true: 0, false: 1 + var y = $$.circleY(data, data.index); + var x = (scale.zoom || scale.x)(data.x); + return Math.sqrt(Math.pow(x - pos[xIndex], 2) + Math.pow(y - pos[yIndex], 2)); + }, + /** + * Convert data for step type + * @param {Array} values Object data values + * @returns {Array} + * @private + */ + convertValuesToStep: function (values) { + var $$ = this; + var axis = $$.axis, config = $$.config; + var stepType = config.line_step_type; + var isCategorized = axis ? axis.isCategorized() : false; + var converted = isArray(values) ? values.concat() : [values]; + if (!(isCategorized || /step\-(after|before)/.test(stepType))) { + return values; + } + // when all datas are null, return empty array + // https://github.com/naver/billboard.js/issues/3124 + if (converted.length) { + // insert & append cloning first/last value to be fully rendered covering on each gap sides + var head = converted[0]; + var tail = converted[converted.length - 1]; + var id = head.id; + var x = head.x; + // insert head + converted.unshift({ x: --x, value: head.value, id: id }); + isCategorized && stepType === "step-after" && + converted.unshift({ x: --x, value: head.value, id: id }); + // append tail + x = tail.x; + converted.push({ x: ++x, value: tail.value, id: id }); + isCategorized && stepType === "step-before" && + converted.push({ x: ++x, value: tail.value, id: id }); + } + return converted; + }, + convertValuesToRange: function (values) { + var converted = isArray(values) ? values.concat() : [values]; + var ranges = []; + converted.forEach(function (range) { + var x = range.x, id = range.id; + ranges.push({ + x: x, + id: id, + value: range.value[0] + }); + ranges.push({ + x: x, + id: id, + value: range.value[2] + }); + }); + return ranges; + }, + updateDataAttributes: function (name, attrs) { + var $$ = this; + var config = $$.config; + var current = config["data_".concat(name)]; + if (isUndefined(attrs)) { + return current; + } + Object.keys(attrs).forEach(function (id) { + current[id] = attrs[id]; + }); + $$.redraw({ withLegend: true }); + return current; + }, + getRangedData: function (d, key, type) { + if (key === void 0) { key = ""; } + if (type === void 0) { type = "areaRange"; } + var value = d === null || d === void 0 ? void 0 : d.value; + if (isArray(value)) { + if (type === "bar") { + return value.reduce(function (a, c) { return c - a; }); + } + else { + // @ts-ignore + var index = { + areaRange: ["high", "mid", "low"], + candlestick: ["open", "high", "low", "close", "volume"] + }[type].indexOf(key); + return index >= 0 && value ? value[index] : undefined; + } + } + else if (value && key) { + return value[key]; + } + return value; + }, + /** + * Set ratio for grouped data + * @param {Array} data Data array + * @private + */ + setRatioForGroupedData: function (data) { + var $$ = this; + var config = $$.config; + // calculate ratio if grouped data exists + if (config.data_groups.length && data.some(function (d) { return $$.isGrouped(d.id); })) { + var setter_1 = function (d) { return $$.getRatio("index", d, true); }; + data.forEach(function (v) { + "values" in v ? v.values.forEach(setter_1) : setter_1(v); + }); + } + }, + /** + * Get ratio value + * @param {string} type Ratio for given type + * @param {object} d Data value object + * @param {boolean} asPercent Convert the return as percent or not + * @returns {number} Ratio value + * @private + */ + getRatio: function (type, d, asPercent) { + if (asPercent === void 0) { asPercent = false; } + var $$ = this; + var config = $$.config, state = $$.state; + var api = $$.api; + var ratio = 0; + if (d && api.data.shown().length) { + ratio = d.ratio || d.value; + if (type === "arc") { + // if has padAngle set, calculate rate based on value + if ($$.pie.padAngle()()) { + ratio = d.value / $$.getTotalDataSum(true); + // otherwise, based on the rendered angle value + } + else { + var gaugeArcLength = config.gauge_fullCircle ? + $$.getArcLength() : + $$.getStartingAngle() * -2; + var arcLength = $$.hasType("gauge") ? gaugeArcLength : Math.PI * 2; + ratio = (d.endAngle - d.startAngle) / arcLength; + } + } + else if (type === "index") { + var dataValues = api.data.values.bind(api); + var total = this.getTotalPerIndex(); + if (state.hiddenTargetIds.length) { + var hiddenSum_1 = dataValues(state.hiddenTargetIds, false); + if (hiddenSum_1.length) { + hiddenSum_1 = hiddenSum_1 + .reduce(function (acc, curr) { + return acc.map(function (v, i) { return (isNumber(v) ? v : 0) + curr[i]; }); + }); + total = total.map(function (v, i) { return v - hiddenSum_1[i]; }); + } + } + var divisor = total[d.index]; + d.ratio = isNumber(d.value) && total && divisor ? d.value / divisor : 0; + ratio = d.ratio; + } + else if (type === "radar") { + ratio = (parseFloat(String(Math.max(d.value, 0))) / state.current.dataMax) * config.radar_size_ratio; + } + else if (type === "bar") { + var yScale = $$.getYScaleById.bind($$)(d.id); + var max = yScale.domain().reduce(function (a, c) { return c - a; }); + // when all data are 0, return 0 + ratio = max === 0 ? 0 : Math.abs($$.getRangedData(d, null, type) / max); + } + else if (type === "treemap") { + ratio /= $$.getTotalDataSum(true); + } + } + return asPercent && ratio ? ratio * 100 : ratio; + }, + /** + * Sort data index to be aligned with x axis. + * @param {Array} tickValues Tick array values + * @private + */ + updateDataIndexByX: function (tickValues) { + var $$ = this; + var tickValueMap = tickValues.reduce(function (out, tick, index) { + out[Number(tick.x)] = index; + return out; + }, {}); + $$.data.targets.forEach(function (t) { + t.values.forEach(function (value, valueIndex) { + var index = tickValueMap[Number(value.x)]; + if (index === undefined) { + index = valueIndex; + } + value.index = index; + }); + }); + }, + /** + * Determine if bubble has dimension data + * @param {object|Array} d data value + * @returns {boolean} + * @private + */ + isBubbleZType: function (d) { + var $$ = this; + return $$.isBubbleType(d) && ((isObject(d.value) && ("z" in d.value || "y" in d.value)) || + (isArray(d.value) && d.value.length >= 2)); + }, + /** + * Determine if bar has ranged data + * @param {Array} d data value + * @returns {boolean} + * @private + */ + isBarRangeType: function (d) { + var $$ = this; + var value = d.value; + return $$.isBarType(d) && isArray(value) && value.length >= 2 && + value.every(function (v) { return isNumber(v); }); + }, + /** + * Get data object by id + * @param {string} id data id + * @returns {object} + * @private + */ + getDataById: function (id) { + var _a; + var d = this.cache.get(id) || this.api.data(id); + return (_a = d === null || d === void 0 ? void 0 : d[0]) !== null && _a !== void 0 ? _a : d; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Call done callback with resize after transition + * @param {Function} fn Callback function + * @param {boolean} resizeAfter Weather to resize chart after the load + * @private + */ +function callDone(fn, resizeAfter) { + if (resizeAfter === void 0) { resizeAfter = false; } + var $$ = this; + var api = $$.api; + resizeAfter && $$.api.flush(true); + fn === null || fn === void 0 ? void 0 : fn.call(api); +} +var dataLoad = { + load: function (rawTargets, args) { + var $$ = this; + var axis = $$.axis, data = $$.data, org = $$.org, scale = $$.scale; + var append = args.append; + var zoomState = { + domain: null, + currentDomain: null, + x: null + }; + var targets = rawTargets; + if (targets) { + // filter loading targets if needed + if (args.filter) { + targets = targets.filter(args.filter); + } + // set type if args.types || args.type specified + if (args.type || args.types) { + targets.forEach(function (t) { + var _a; + var type = ((_a = args.types) === null || _a === void 0 ? void 0 : _a[t.id]) || args.type; + $$.setTargetType(t.id, type); + }); + } + // Update/Add data + data.targets.forEach(function (d) { + for (var i = 0; i < targets.length; i++) { + if (d.id === targets[i].id) { + d.values = append ? d.values.concat(targets[i].values) : targets[i].values; + targets.splice(i, 1); + break; + } + } + }); + data.targets = data.targets.concat(targets); // add remained + } + // Set targets + $$.updateTargets(data.targets); + if (scale.zoom) { + zoomState.x = axis.isCategorized() ? + scale.x.orgScale() : + (org.xScale || scale.x).copy(); + zoomState.domain = $$.getXDomain(data.targets); // get updated xDomain + zoomState.x.domain(zoomState.domain); + zoomState.currentDomain = $$.zoom.getDomain(); // current zoomed domain + // reset zoom state when new data loaded is out of range + if (!$$.withinRange(zoomState.currentDomain, undefined, zoomState.domain)) { + scale.x.domain(zoomState.domain); + scale.zoom = null; + $$.$el.eventRect.property("__zoom", null); + } + } + // Redraw with new targets + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true, + withLegend: true + }); + // when load happens on zoom state + if (scale.zoom) { + // const x = (axis.isCategorized() ? scale.x.orgScale() : (org.xScale || scale.x)).copy(); + org.xDomain = zoomState.domain; + org.xScale = zoomState.x; + if (axis.isCategorized()) { + zoomState.currentDomain = $$.getZoomDomainValue(zoomState.currentDomain); + org.xDomain = $$.getZoomDomainValue(org.xDomain); + org.xScale = zoomState.x.domain(org.xDomain); + } + $$.updateCurrentZoomTransform(zoomState.x, zoomState.currentDomain); + // https://github.com/naver/billboard.js/issues/3878 + } + else if (org.xScale) { + org.xScale.domain(org.xDomain); + } + // Update current state chart type and elements list after redraw + $$.updateTypesElements(); + callDone.call($$, args.done, args.resizeAfter); + }, + loadFromArgs: function (args) { + var $$ = this; + // prevent load when chart is already destroyed + if (!$$.config) { + return; + } + // reset internally cached data + $$.cache.reset(); + $$.convertData(args, function (d) { + var data = args.data || d; + args.append && (data.__append__ = true); + data && $$.load($$.convertDataToTargets(data), args); + }); + }, + unload: function (rawTargetIds, customDoneCb) { + var _a; + var $$ = this; + var state = $$.state, $el = $$.$el, $T = $$.$T; + var hasLegendDefsPoint = !!((_a = $$.hasLegendDefsPoint) === null || _a === void 0 ? void 0 : _a.call($$)); + var done = customDoneCb; + var targetIds = rawTargetIds; + // reset internally cached data + $$.cache.reset(); + if (!done) { + done = function () { }; + } + // filter existing target + targetIds = targetIds.filter(function (id) { return $$.hasTarget($$.data.targets, id); }); + // If no target, call done and return + if (!targetIds || targetIds.length === 0) { + done(); + return; + } + var targets = $el.svg.selectAll(targetIds.map(function (id) { return $$.selectorTarget(id); })); + $T(targets) + .style("opacity", "0") + .remove() + .call(endall, done); + targetIds.forEach(function (id) { + var _a; + var suffixId = $$.getTargetSelectorSuffix(id); + // Reset fadein for future load + state.withoutFadeIn[id] = false; + // Remove target's elements + if ($el.legend) { + $el.legend.selectAll(".".concat($LEGEND.legendItem).concat(suffixId)).remove(); + } + // Remove target + $$.data.targets = $$.data.targets.filter(function (t) { return t.id !== id; }); + // Remove custom point def element + hasLegendDefsPoint && ((_a = $el.defs) === null || _a === void 0 ? void 0 : _a.select("#".concat($$.getDefsPointId(suffixId))).remove()); + }); + // since treemap uses different data types, it needs to be transformed + state.hasFunnel && $$.updateFunnel($$.data.targets); + // since treemap uses different data types, it needs to be transformed + state.hasTreemap && $$.updateTargetsForTreemap($$.data.targets); + // Update current state chart type and elements list after redraw + $$.updateTypesElements(); + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var interaction = { + /** + * Expand data shape/point + * @param {number} index Index number + * @param {string} id Data id + * @param {boolean} reset Reset expand state + * @private + */ + setExpand: function (index, id, reset) { + var $$ = this; + var config = $$.config, circle = $$.$el.circle; + circle && config.point_focus_expand_enabled && + $$.expandCircles(index, id, reset); + // bar, candlestick + $$.expandBarTypeShapes(true, index, id, reset); + }, + /** + * Expand/Unexpand bar type shapes + * @param {boolean} expand Expand or unexpand + * @param {number} i Shape index + * @param {string} id Data id + * @param {boolean} reset Reset expand style + * @private + */ + expandBarTypeShapes: function (expand, i, id, reset) { + if (expand === void 0) { expand = true; } + var $$ = this; + ["bar", "candlestick"] + .filter(function (v) { return $$.$el[v]; }) + .forEach(function (v) { + reset && $$.$el[v].classed($COMMON.EXPANDED, false); + $$.getShapeByIndex(v, i, id).classed($COMMON.EXPANDED, expand); + }); + }, + /** + * Handle data.onover/out callback options + * @param {boolean} isOver Over or not + * @param {number|object} d data object + * @private + */ + setOverOut: function (isOver, d) { + var $$ = this; + var config = $$.config, _a = $$.state, hasFunnel = _a.hasFunnel, hasRadar = _a.hasRadar, hasTreemap = _a.hasTreemap, main = $$.$el.main; + var isArcishData = isObject(d); + // Call event handler + if (isArcishData || d !== -1) { + var callback_1 = config[isOver ? "data_onover" : "data_onout"].bind($$.api); + config.color_onover && $$.setOverColor(isOver, d, isArcishData); + if (isArcishData && "id") { + var suffix = $$.getTargetSelectorSuffix(d.id); + var selector = hasFunnel || hasTreemap ? + "".concat($COMMON.target + suffix, " .").concat($SHAPE.shape) : + $ARC.arc + suffix; + callback_1(d, main.select(".".concat(selector)).node()); + } + else if (!config.tooltip_grouped) { + var last_1 = $$.cache.get(KEY.setOverOut) || []; + // select based on the index + var shapesAtIndex = main.selectAll(".".concat($SHAPE.shape, "-").concat(d)) + .filter(function (d) { + return $$.isWithinShape(this, d); + }); + // filter if has new selection + var shape = shapesAtIndex.filter(function () { + var _this = this; + return last_1.every(function (v) { return v !== _this; }); + }); + // call onout callback + if (!isOver || shapesAtIndex.empty() || (last_1.length === shape.size() && shape.nodes().every(function (v, i) { return v !== last_1[i]; }))) { + while (last_1.length) { + var target = last_1.pop(); + config.data_onout.bind($$.api)(select(target).datum(), target); + } + } + // call onover callback + shape.each(function () { + if (isOver) { + callback_1(select(this).datum(), this); + last_1.push(this); + } + }); + $$.cache.add(KEY.setOverOut, last_1); + } + else { + if (isOver) { + hasRadar && $$.isPointFocusOnly() ? + $$.showCircleFocus($$.getAllValuesOnIndex(d, true)) : + $$.setExpand(d, null, true); + } + !$$.isMultipleX() && main.selectAll(".".concat($SHAPE.shape, "-").concat(d)) + .each(function (d) { + callback_1(d, this); + }); + } + } + }, + /** + * Call data.onover/out callback for touch event + * @param {number|object} d target index or data object for Arc type + * @private + */ + callOverOutForTouch: function (d) { + var $$ = this; + var last = $$.cache.get(KEY.callOverOutForTouch); + if (isObject(d) && last ? d.id !== last.id : (d !== last)) { + (last || isNumber(last)) && $$.setOverOut(false, last); + (d || isNumber(d)) && $$.setOverOut(true, d); + $$.cache.add(KEY.callOverOutForTouch, d); + } + }, + /** + * Return draggable selection function + * @returns {Function} + * @private + */ + getDraggableSelection: function () { + var $$ = this; + var config = $$.config, state = $$.state; + return config.interaction_enabled && config.data_selection_draggable && $$.drag ? + drag$1() + .on("drag", function (event) { + state.event = event; + $$.drag(getPointer(event, this)); + }) + .on("start", function (event) { + state.event = event; + $$.dragstart(getPointer(event, this)); + }) + .on("end", function (event) { + state.event = event; + $$.dragend(); + }) : + function () { }; + }, + /** + * Dispatch a mouse event. + * @private + * @param {string} type event type + * @param {number} index Index of eventRect + * @param {Array} mouse x and y coordinate value + */ + dispatchEvent: function (type, index, mouse) { + var _a, _b; + var $$ = this; + var config = $$.config, _c = $$.state, eventReceiver = _c.eventReceiver, hasAxis = _c.hasAxis, hasFunnel = _c.hasFunnel, hasRadar = _c.hasRadar, hasTreemap = _c.hasTreemap, _d = $$.$el, eventRect = _d.eventRect, funnel = _d.funnel, radar = _d.radar, svg = _d.svg, treemap = _d.treemap; + var element = (_b = (((hasFunnel || hasTreemap) && eventReceiver.rect) || + (hasRadar && radar.axes.select(".".concat($AXIS.axis, "-").concat(index, " text"))) || (eventRect || ((_a = $$.getArcElementByIdOrIndex) === null || _a === void 0 ? void 0 : _a.call($$, index))))) === null || _b === void 0 ? void 0 : _b.node(); + if (element) { + var isMultipleX = $$.isMultipleX(); + var isRotated = config.axis_rotated; + var _e = element.getBoundingClientRect(), width = _e.width, left = _e.left, top_1 = _e.top; + if (hasAxis && !hasRadar && !isMultipleX) { + var coords = eventReceiver.coords[index]; + if (coords) { + width = coords.w; + left += coords.x; + top_1 += coords.y; + } + else { + width = 0; + left = 0; + top_1 = 0; + } + } + var x = left + (mouse ? mouse[0] : 0) + (isMultipleX || isRotated ? 0 : (width / 2)); + // value 4, is to adjust coordinate value set from: scale.ts - updateScales(): $$.getResettedPadding(1) + var y = top_1 + (mouse ? mouse[1] : 0) + (isRotated ? 4 : 0); + if (hasViewBox(svg)) { + var ctm = getTransformCTM($$.$el.svg.node(), x, y, false); + x = ctm.x; + y = ctm.y; + } + var params = { + screenX: x, + screenY: y, + clientX: x, + clientY: y, + bubbles: hasRadar // radar type needs to bubble up event + }; + // for funnel and treemap event bound to <g> node + if (hasFunnel || hasTreemap) { + element = (funnel !== null && funnel !== void 0 ? funnel : treemap).node(); + } + emulateEvent[/^(mouse|click)/.test(type) ? "mouse" : "touch"](element, type, params); + } + }, + setDragStatus: function (isDragging) { + this.state.dragging = isDragging; + }, + /** + * Unbind zoom events + * @private + */ + unbindZoomEvent: function () { + var $$ = this; + var _a = $$.$el, eventRect = _a.eventRect, zoomResetBtn = _a.zoomResetBtn; + eventRect === null || eventRect === void 0 ? void 0 : eventRect.on(".zoom wheel.zoom .drag", null); + zoomResetBtn === null || zoomResetBtn === void 0 ? void 0 : zoomResetBtn.on("click", null).style("display", "none"); + }, + /** + * Unbind all attached events + * @private + */ + unbindAllEvents: function () { + var _a; + var $$ = this; + var _b = $$.$el, arcs = _b.arcs, eventRect = _b.eventRect, legend = _b.legend, region = _b.region, svg = _b.svg, treemap = _b.treemap, brush = $$.brush; + var list = [ + "wheel", + "click", + "mouseover", + "mousemove", + "mouseout", + "touchstart", + "touchmove", + "touchend", + "touchstart.eventRect", + "touchmove.eventRect", + "touchend.eventRect", + ".brush", + ".drag", + ".zoom", + "wheel.zoom", + "dblclick.zoom" + ].join(" "); + // detach all possible event types + [ + svg, + eventRect, + region === null || region === void 0 ? void 0 : region.list, + brush === null || brush === void 0 ? void 0 : brush.getSelection(), + arcs === null || arcs === void 0 ? void 0 : arcs.selectAll("path"), + legend === null || legend === void 0 ? void 0 : legend.selectAll("g"), + treemap + ] + .forEach(function (v) { return v === null || v === void 0 ? void 0 : v.on(list, null); }); + (_a = $$.unbindZoomEvent) === null || _a === void 0 ? void 0 : _a.call($$); + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var category = { + /** + * Category Name + * @param {number} i Index number + * @returns {string} category Name + * @private + */ + categoryName: function (i) { + var _a; + var axis_x_categories = this.config.axis_x_categories; + return (_a = axis_x_categories === null || axis_x_categories === void 0 ? void 0 : axis_x_categories[i]) !== null && _a !== void 0 ? _a : i; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var classModule = { + generateClass: function (prefix, targetId) { + return " ".concat(prefix, " ").concat(prefix + this.getTargetSelectorSuffix(targetId)); + }, + /** + * Get class string + * @param {string} type Shape type + * @param {boolean} withShape Get with shape prefix + * @returns {string} Class string + * @private + */ + getClass: function (type, withShape) { + var _this = this; + var isPlural = /s$/.test(type); + var useIdKey = /^(area|arc|line|funnel|treemap)s?$/.test(type); + var key = isPlural ? "id" : "index"; + return function (d) { + var data = d.data || d; + var result = (withShape ? _this.generateClass(CLASS[isPlural ? "shapes" : "shape"], data[key]) : "") + _this.generateClass(CLASS[type], data[useIdKey ? "id" : key]); + return result.trim(); + }; + }, + /** + * Get chart class string + * @param {string} type Shape type + * @returns {string} Class string + * @private + */ + getChartClass: function (type) { + var _this = this; + return function (d) { return CLASS["chart".concat(type)] + _this.classTarget((d.data ? d.data : d).id); }; + }, + generateExtraLineClass: function () { + var $$ = this; + var classes = $$.config.line_classes || []; + var ids = []; + return function (d) { + var _a; + var id = d.id || ((_a = d.data) === null || _a === void 0 ? void 0 : _a.id) || d; + if (ids.indexOf(id) < 0) { + ids.push(id); + } + return classes[ids.indexOf(id) % classes.length]; + }; + }, + classRegion: function (d, i) { + return "".concat(this.generateClass(CLASS.region, i), " ").concat("class" in d ? d.class : ""); + }, + classTarget: function (id) { + var additionalClassSuffix = this.config.data_classes[id]; + var additionalClass = ""; + if (additionalClassSuffix) { + additionalClass = " ".concat(CLASS.target, "-").concat(additionalClassSuffix); + } + return this.generateClass(CLASS.target, id) + additionalClass; + }, + classFocus: function (d) { + return this.classFocused(d) + this.classDefocused(d); + }, + classFocused: function (d) { + return " ".concat(this.state.focusedTargetIds.indexOf(d.id) >= 0 ? CLASS.focused : ""); + }, + classDefocused: function (d) { + return " ".concat(this.state.defocusedTargetIds.indexOf(d.id) >= 0 ? CLASS.defocused : ""); + }, + getTargetSelectorSuffix: function (targetId) { + var targetStr = targetId || targetId === 0 ? "-".concat(targetId) : ""; + // replace control ascii(0 ~ 32) and extended ascii(127 ~ 160) + return targetStr + .replace(/[\x00-\x20\x7F-\xA0\s?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\]/g, "-"); // eslint-disable-line no-control-regex + }, + selectorTarget: function (id, prefix, postfix) { + if (prefix === void 0) { prefix = ""; } + if (postfix === void 0) { postfix = ""; } + var target = this.getTargetSelectorSuffix(id); + // select target & circle + return "".concat(prefix, ".").concat(CLASS.target + target, " ").concat(postfix, ", ").concat(prefix, ".").concat(CLASS.circles + target, " ").concat(postfix); + }, + selectorTargets: function (idsValue, prefix) { + var _this = this; + var ids = idsValue || []; + return ids.length ? ids.map(function (id) { return _this.selectorTarget(id, prefix); }) : null; + }, + selectorLegend: function (id) { + return ".".concat(CLASS.legendItem + this.getTargetSelectorSuffix(id)); + }, + selectorLegends: function (ids) { + var _this = this; + return (ids === null || ids === void 0 ? void 0 : ids.length) ? ids.map(function (id) { return _this.selectorLegend(id); }) : null; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Set pattern's background color + * (it adds a <rect> element to simulate bg-color) + * @param {SVGPatternElement} pattern SVG pattern element + * @param {string} color Color string + * @param {string} id ID to be set + * @returns {{id: string, node: SVGPatternElement}} + * @private + */ +var colorizePattern = function (pattern, color, id) { + var node = select(pattern.cloneNode(true)); + node + .attr("id", id) + .insert("rect", ":first-child") + .attr("width", node.attr("width")) + .attr("height", node.attr("height")) + .style("fill", color); + return { + id: id, + node: node.node() + }; +}; +/** + * Get color pattern from CSS file + * CSS should be defined as: background-image: url("#00c73c;#fa7171; ..."); + * @param {d3Selection} element Chart element + * @returns {Array} + * @private + */ +function getColorFromCss(element) { + var cacheKey = KEY.colorPattern; + var body = doc.body; + var pattern = body[cacheKey]; + if (!pattern) { + var delimiter = ";"; + var content = element + .classed($COLOR.colorPattern, true) + .style("background-image"); + element.classed($COLOR.colorPattern, false); + if (content.indexOf(delimiter) > -1) { + pattern = content + .replace(/url[^#]*|["'()]|(\s|%20)/g, "") + .split(delimiter) + .map(function (v) { return v.trim().replace(/[\"'\s]/g, ""); }) + .filter(Boolean); + body[cacheKey] = pattern; + } + } + return pattern; +} +// Replacement of d3.schemeCategory10. +// Contained differently depend on d3 version: v4(d3-scale), v5(d3-scale-chromatic) +var schemeCategory10 = [ + "#1f77b4", + "#ff7f0e", + "#2ca02c", + "#d62728", + "#9467bd", + "#8c564b", + "#e377c2", + "#7f7f7f", + "#bcbd22", + "#17becf" +]; +var color = { + generateColor: function () { + var $$ = this; + var $el = $$.$el, config = $$.config; + var colors = config.data_colors; + var callback = config.data_color; + var ids = []; + var pattern = notEmpty(config.color_pattern) ? + config.color_pattern : + scaleOrdinal(getColorFromCss($el.chart) || schemeCategory10).range(); + var originalColorPattern = pattern; + if (isFunction(config.color_tiles)) { + var tiles_1 = config.color_tiles.bind($$.api)(); + // Add background color to patterns + var colorizedPatterns = pattern.map(function (p, index) { + var color = p.replace(/[#\(\)\s,]/g, ""); + var id = "".concat($$.state.datetimeId, "-pattern-").concat(color, "-").concat(index); + return colorizePattern(tiles_1[index % tiles_1.length], p, id); + }); + pattern = colorizedPatterns.map(function (p) { return "url(#".concat(p.id, ")"); }); + $$.patterns = colorizedPatterns; + } + return function (d) { + var _a; + var id = d.id || + ((_a = d.data) === null || _a === void 0 ? void 0 : _a.id) || + d; + var isLine = $$.isTypeOf(id, ["line", "spline", "step"]) || !config.data_types[id]; + var color; + // if callback function is provided + if (isFunction(colors[id])) { + color = colors[id].bind($$.api)(d); + // if specified, choose that color + } + else if (colors[id]) { + color = colors[id]; + // if not specified, choose from pattern + } + else { + if (ids.indexOf(id) < 0) { + ids.push(id); + } + color = isLine ? + originalColorPattern[ids.indexOf(id) % originalColorPattern.length] : + pattern[ids.indexOf(id) % pattern.length]; + colors[id] = color; + } + return isFunction(callback) ? callback.bind($$.api)(color, d) : color; + }; + }, + generateLevelColor: function () { + var $$ = this; + var config = $$.config; + var colors = config.color_pattern; + var threshold = config.color_threshold; + var asValue = threshold.unit === "value"; + var max = threshold.max || 100; + var values = threshold.values && + threshold.values.length ? + threshold.values : + []; + return notEmpty(threshold) ? + function (value) { + var v = asValue ? value : (value * 100 / max); + var color = colors[colors.length - 1]; + for (var i = 0, l = values.length; i < l; i++) { + if (v <= values[i]) { + color = colors[i]; + break; + } + } + return color; + } : + null; + }, + /** + * Append data backgound color filter definition + * @param {string|object} color Color string + * @param {object} attr filter attribute + * @private + */ + generateTextBGColorFilter: function (color, attr) { + if (attr === void 0) { attr = { + x: 0, + y: 0, + width: 1, + height: 1 + }; } + var $$ = this; + var $el = $$.$el, state = $$.state; + if (color) { + var ids = []; + if (isString(color)) { + ids.push(""); + } + else if (isObject(color)) { + ids = Object.keys(color); + } + ids.forEach(function (v) { + var id = "".concat(state.datetimeId, "-labels-bg").concat($$.getTargetSelectorSuffix(v)).concat(isString(color) ? $$.getTargetSelectorSuffix(color) : ""); + $el.defs.append("filter") + .attr("x", attr.x) + .attr("y", attr.y) + .attr("width", attr.width) + .attr("height", attr.height) + .attr("id", id) + .html("<feFlood flood-color=\"".concat(v === "" ? color : color[v], "\" />\n\t\t\t\t\t\t<feComposite in=\"SourceGraphic\" />")); + }); + } + }, + /** + * Get data gradient color url + * @param {string} id Data id + * @returns {string} + * @private + */ + getGradienColortUrl: function (id) { + return "url(#".concat(this.state.datetimeId, "-gradient").concat(this.getTargetSelectorSuffix(id), ")"); + }, + /** + * Update linear/radial gradient definition + * - linear: area & bar only + * - radial: type which has data points only + * @private + */ + updateLinearGradient: function () { + var $$ = this; + var config = $$.config, targets = $$.data.targets, datetimeId = $$.state.datetimeId, defs = $$.$el.defs; + targets.forEach(function (d) { + var id = "".concat(datetimeId, "-gradient").concat($$.getTargetSelectorSuffix(d.id)); + var radialGradient = $$.hasPointType() && config.point_radialGradient; + var supportedType = ($$.isAreaType(d) && "area") || ($$.isBarType(d) && "bar"); + if ((radialGradient || supportedType) && defs.select("#".concat(id)).empty()) { + var color_1 = $$.color(d); + var gradient_1 = { + defs: null, + stops: [] + }; + if (radialGradient) { + var _a = radialGradient.cx, cx = _a === void 0 ? 0.3 : _a, _b = radialGradient.cy, cy = _b === void 0 ? 0.3 : _b, _c = radialGradient.r, r = _c === void 0 ? 0.7 : _c, _d = radialGradient.stops, stops = _d === void 0 ? [[0.1, color_1, 0], [0.9, color_1, 1]] : _d; + gradient_1.stops = stops; + gradient_1.defs = defs.append("radialGradient") + .attr("id", "".concat(id)) + .attr("cx", cx) + .attr("cy", cy) + .attr("r", r); + } + else { + var isRotated = config.axis_rotated; + var _e = config["".concat(supportedType, "_linearGradient")], _f = _e.x, x = _f === void 0 ? isRotated ? [1, 0] : [0, 0] : _f, _g = _e.y, y = _g === void 0 ? isRotated ? [0, 0] : [0, 1] : _g, _h = _e.stops, stops = _h === void 0 ? [[0, color_1, 1], [1, color_1, 0]] : _h; + gradient_1.stops = stops; + gradient_1.defs = defs.append("linearGradient") + .attr("id", "".concat(id)) + .attr("x1", x[0]) + .attr("x2", x[1]) + .attr("y1", y[0]) + .attr("y2", y[1]); + } + gradient_1.stops.forEach(function (v) { + var offset = v[0], stopColor = v[1], stopOpacity = v[2]; + var colorValue = isFunction(stopColor) ? + stopColor.bind($$.api)(d.id) : + stopColor; + gradient_1.defs && gradient_1.defs.append("stop") + .attr("offset", offset) + .attr("stop-color", colorValue || color_1) + .attr("stop-opacity", stopOpacity); + }); + } + }); + }, + /** + * Set the data over color. + * When is out, will restate in its previous color value + * @param {boolean} isOver true: set overed color, false: restore + * @param {number|object} d target index or data object for Arc type + * @private + */ + setOverColor: function (isOver, d) { + var $$ = this; + var config = $$.config, main = $$.$el.main; + var onover = config.color_onover; + var color = isOver ? onover : $$.color; + if (isObject(color)) { + color = function (_a) { + var id = _a.id; + return (id in onover ? onover[id] : $$.color(id)); + }; + } + else if (isString(color)) { + color = function () { return onover; }; + } + else if (isFunction(onover)) { + color = color.bind($$.api); + } + main.selectAll(isObject(d) ? + // when is Arc type + ".".concat($ARC.arc).concat($$.getTargetSelectorSuffix(d.id)) : + ".".concat($SHAPE.shape, "-").concat(d)).style("fill", color); + } +}; + +var domain = { + getYDomainMinMax: function (targets, type) { + var $$ = this; + var axis = $$.axis, config = $$.config; + var isMin = type === "min"; + var dataGroups = config.data_groups; + var ids = $$.mapToIds(targets); + var ys = $$.getValuesAsIdKeyed(targets); + if (dataGroups.length > 0) { + var hasValue_1 = $$["has".concat(isMin ? "Negative" : "Positive", "ValueInTargets")](targets); + dataGroups.forEach(function (groupIds) { + // Determine baseId + var idsInGroup = groupIds + .filter(function (v) { return ids.indexOf(v) >= 0; }); + if (idsInGroup.length) { + var baseId_1 = idsInGroup[0]; + var baseAxisId_1 = axis.getId(baseId_1); + // Initialize base value. Set to 0 if not match with the condition + if (hasValue_1 && ys[baseId_1]) { + ys[baseId_1] = ys[baseId_1] + .map(function (v) { return ((isMin ? v < 0 : v > 0) ? v : 0); }); + } + idsInGroup + .filter(function (v, i) { return i > 0; }) + .forEach(function (id) { + if (ys[id]) { + var axisId_1 = axis.getId(id); + ys[id].forEach(function (v, i) { + var val = +v; + var meetCondition = isMin ? val > 0 : val < 0; + if (axisId_1 === baseAxisId_1 && !(hasValue_1 && meetCondition)) { + ys[baseId_1][i] += val; + } + }); + } + }); + } + }); + } + return getMinMax$1(type, Object.keys(ys).map(function (key) { return getMinMax$1(type, ys[key]); })); + }, + /** + * Check if hidden targets bound to the given axis id + * @param {string} id ID to be checked + * @returns {boolean} + * @private + */ + isHiddenTargetWithYDomain: function (id) { + var $$ = this; + return $$.state.hiddenTargetIds + .some(function (v) { return $$.axis.getId(v) === id; }); + }, + getYDomain: function (targets, axisId, xDomain) { + var $$ = this; + var axis = $$.axis, config = $$.config, scale = $$.scale; + var pfx = "axis_".concat(axisId); + if ($$.isStackNormalized()) { + return [0, 100]; + } + var isLog = (scale === null || scale === void 0 ? void 0 : scale[axisId]) && scale[axisId].type === "log"; + var targetsByAxisId = targets.filter(function (t) { return axis.getId(t.id) === axisId; }); + var yTargets = xDomain ? $$.filterByXDomain(targetsByAxisId, xDomain) : targetsByAxisId; + if (yTargets.length === 0) { // use domain of the other axis if target of axisId is none + if ($$.isHiddenTargetWithYDomain(axisId)) { + return scale[axisId].domain(); + } + else { + return axisId === "y2" ? + scale.y.domain() : // When all data bounds to y2, y Axis domain is called prior y2. + // So, it needs to call to get y2 domain here + $$.getYDomain(targets, "y2", xDomain); + } + } + var yMin = config["".concat(pfx, "_min")]; + var yMax = config["".concat(pfx, "_max")]; + var center = config["".concat(pfx, "_center")]; + var isInverted = config["".concat(pfx, "_inverted")]; + var showHorizontalDataLabel = $$.hasDataLabel() && config.axis_rotated; + var showVerticalDataLabel = $$.hasDataLabel() && !config.axis_rotated; + var yDomainMin = $$.getYDomainMinMax(yTargets, "min"); + var yDomainMax = $$.getYDomainMinMax(yTargets, "max"); + var isZeroBased = __spreadArray([TYPE.BAR, TYPE.BUBBLE, TYPE.SCATTER], TYPE_BY_CATEGORY.Line, true).some(function (v) { + var type = v.indexOf("area") > -1 ? "area" : v; + return $$.hasType(v, yTargets, true) && config["".concat(type, "_zerobased")]; + }); + // MEMO: avoid inverting domain unexpectedly + yDomainMin = isValue(yMin) ? yMin : (isValue(yMax) ? + (yDomainMin <= yMax ? yDomainMin : yMax - 10) : + yDomainMin); + yDomainMax = isValue(yMax) ? yMax : (isValue(yMin) ? + (yMin <= yDomainMax ? yDomainMax : yMin + 10) : + yDomainMax); + if (isNaN(yDomainMin)) { // set minimum to zero when not number + yDomainMin = 0; + } + if (isNaN(yDomainMax)) { // set maximum to have same value as yDomainMin + yDomainMax = yDomainMin; + } + if (yDomainMin === yDomainMax) { + yDomainMin < 0 ? yDomainMax = 0 : yDomainMin = 0; + } + var isAllPositive = yDomainMin >= 0 && yDomainMax >= 0; + var isAllNegative = yDomainMin <= 0 && yDomainMax <= 0; + // Cancel zerobased if axis_*_min / axis_*_max specified + if ((isValue(yMin) && isAllPositive) || (isValue(yMax) && isAllNegative)) { + isZeroBased = false; + } + // Bar/Area chart should be 0-based if all positive|negative + if (isZeroBased) { + isAllPositive && (yDomainMin = 0); + isAllNegative && (yDomainMax = 0); + } + var domainLength = Math.abs(yDomainMax - yDomainMin); + var padding = { top: domainLength * 0.1, bottom: domainLength * 0.1 }; + if (isDefined(center)) { + var yDomainAbs = Math.max(Math.abs(yDomainMin), Math.abs(yDomainMax)); + yDomainMax = center + yDomainAbs; + yDomainMin = center - yDomainAbs; + } + // add padding for data label + if (showHorizontalDataLabel) { + var diff_1 = diffDomain(scale.y.range()); + var ratio_1 = $$.getDataLabelLength(yDomainMin, yDomainMax, "width") + .map(function (v) { return v / diff_1; }); + ["bottom", "top"].forEach(function (v, i) { + padding[v] += domainLength * (ratio_1[i] / (1 - ratio_1[0] - ratio_1[1])); + }); + } + else if (showVerticalDataLabel) { + var lengths_1 = $$.getDataLabelLength(yDomainMin, yDomainMax, "height"); + ["bottom", "top"].forEach(function (v, i) { + padding[v] += $$.convertPixelToScale("y", lengths_1[i], domainLength); + }); + } + padding = $$.getResettedPadding(padding); + // if padding is set, the domain will be updated relative the current domain value + // ex) $$.height=300, padding.top=150, domainLength=4 --> domain=6 + var p = config["".concat(pfx, "_padding")]; + if (notEmpty(p)) { + ["bottom", "top"].forEach(function (v) { + padding[v] = axis.getPadding(p, v, padding[v], domainLength); + }); + } + // Bar/Area chart should be 0-based if all positive|negative + if (isZeroBased) { + isAllPositive && (padding.bottom = yDomainMin); + isAllNegative && (padding.top = -yDomainMax); + } + var domain = isLog ? + [yDomainMin, yDomainMax].map(function (v) { return (v < 0 ? 0 : v); }) : + [yDomainMin - padding.bottom, yDomainMax + padding.top]; + return isInverted ? domain.reverse() : domain; + }, + getXDomainMinMax: function (targets, type) { + var _a; + var $$ = this; + var configValue = $$.config["axis_x_".concat(type)]; + var dataValue = getMinMax$1(type, targets.map(function (t) { return getMinMax$1(type, t.values.map(function (v) { return v.x; })); })); + var value = isObject(configValue) ? configValue.value : configValue; + value = isDefined(value) && ((_a = $$.axis) === null || _a === void 0 ? void 0 : _a.isTimeSeries()) ? parseDate.bind(this)(value) : value; + if (isObject(configValue) && configValue.fit && ((type === "min" && value < dataValue) || (type === "max" && value > dataValue))) { + value = undefined; + } + return isDefined(value) ? value : dataValue; + }, + /** + * Get x Axis padding + * @param {Array} domain x Axis domain + * @param {number} tickCount Tick count + * @returns {object} Padding object values with 'left' & 'right' key + * @private + */ + getXDomainPadding: function (domain, tickCount) { + var $$ = this; + var axis = $$.axis, config = $$.config; + var padding = config.axis_x_padding; + var isTimeSeriesTickCount = axis.isTimeSeries() && tickCount; + var diff = diffDomain(domain); + var defaultValue; + // determine default padding value + if (axis.isCategorized() || isTimeSeriesTickCount) { + defaultValue = 0; + } + else if ($$.hasType("bar")) { + var maxDataCount = $$.getMaxDataCount(); + defaultValue = maxDataCount > 1 ? (diff / (maxDataCount - 1)) / 2 : 0.5; + } + else { + defaultValue = $$.getResettedPadding(diff * 0.01); + } + var _a = isNumber(padding) ? + { left: padding, right: padding } : + padding, _b = _a.left, left = _b === void 0 ? defaultValue : _b, _c = _a.right, right = _c === void 0 ? defaultValue : _c; + // when the unit is pixel, convert pixels to axis scale value + if (padding.unit === "px") { + var domainLength = Math.abs(diff + (diff * 0.2)); + left = axis.getPadding(padding, "left", defaultValue, domainLength); + right = axis.getPadding(padding, "right", defaultValue, domainLength); + } + else { + var range = diff + left + right; + if (isTimeSeriesTickCount && range) { + var relativeTickWidth = (diff / tickCount) / range; + left = left / range / relativeTickWidth; + right = right / range / relativeTickWidth; + } + } + return { left: left, right: right }; + }, + /** + * Get x Axis domain + * @param {Array} targets targets + * @returns {Array} x Axis domain + * @private + */ + getXDomain: function (targets) { + var $$ = this; + var axis = $$.axis, config = $$.config, x = $$.scale.x; + var isInverted = config.axis_x_inverted; + var domain = [ + $$.getXDomainMinMax(targets, "min"), + $$.getXDomainMinMax(targets, "max") + ]; + var _a = domain[0], min = _a === void 0 ? 0 : _a, _b = domain[1], max = _b === void 0 ? 0 : _b; + if (x.type !== "log") { + var isCategorized = axis.isCategorized(); + var isTimeSeries = axis.isTimeSeries(); + var padding = $$.getXDomainPadding(domain); + var firstX = domain[0], lastX = domain[1]; + // show center of x domain if min and max are the same + if ((firstX - lastX) === 0 && !isCategorized) { + if (isTimeSeries) { + firstX = new Date(firstX.getTime() * 0.5); + lastX = new Date(lastX.getTime() * 1.5); + } + else { + firstX = firstX === 0 ? 1 : (firstX * 0.5); + lastX = lastX === 0 ? -1 : (lastX * 1.5); + } + } + if (firstX || firstX === 0) { + min = isTimeSeries ? + new Date(firstX.getTime() - padding.left) : + firstX - padding.left; + } + if (lastX || lastX === 0) { + max = isTimeSeries ? + new Date(lastX.getTime() + padding.right) : + lastX + padding.right; + } + } + return isInverted ? [max, min] : [min, max]; + }, + updateXDomain: function (targets, withUpdateXDomain, withUpdateOrgXDomain, withTrim, domain) { + var _a; + var $$ = this; + var config = $$.config, org = $$.org, _b = $$.scale, x = _b.x, subX = _b.subX; + var zoomEnabled = config.zoom_enabled; + if (withUpdateOrgXDomain) { + x.domain(domain || sortValue($$.getXDomain(targets), !config.axis_x_inverted)); + org.xDomain = x.domain(); + // zoomEnabled && $$.zoom.updateScaleExtent(); + subX.domain(x.domain()); + (_a = $$.brush) === null || _a === void 0 ? void 0 : _a.scale(subX); + } + if (withUpdateXDomain) { + var domainValue = domain || (!$$.brush || brushEmpty($$)) ? + org.xDomain : + getBrushSelection($$).map(subX.invert); + x.domain(domainValue); + // zoomEnabled && $$.zoom.updateScaleExtent(); + } + if (withUpdateOrgXDomain || withUpdateXDomain) { + zoomEnabled && $$.zoom.updateScaleExtent(); + } + // Trim domain when too big by zoom mousemove event + withTrim && x.domain($$.trimXDomain(x.orgDomain())); + return x.domain(); + }, + /** + * Trim x domain when given domain surpasses the range + * @param {Array} domain Domain value + * @returns {Array} Trimed domain if given domain is out of range + * @private + */ + trimXDomain: function (domain) { + var $$ = this; + var isInverted = $$.config.axis_x_inverted; + var zoomDomain = $$.getZoomDomain(); + var min = zoomDomain[0], max = zoomDomain[1]; + if (isInverted ? domain[0] >= min : domain[0] <= min) { + domain[1] = +domain[1] + (min - domain[0]); + domain[0] = min; + } + if (isInverted ? domain[1] <= max : domain[1] >= max) { + domain[0] = +domain[0] - (domain[1] - max); + domain[1] = max; + } + return domain; + }, + /** + * Get subchart/zoom domain + * @param {string} type "subX" or "zoom" + * @param {boolean} getCurrent Get current domain if true + * @returns {Array} zoom domain + * @private + */ + getZoomDomain: function (type, getCurrent) { + if (type === void 0) { type = "zoom"; } + if (getCurrent === void 0) { getCurrent = false; } + var $$ = this; + var config = $$.config, scale = $$.scale, org = $$.org; + var _a = getCurrent && scale[type] ? scale[type].domain() : org.xDomain, min = _a[0], max = _a[1]; + if (type === "zoom") { + if (isDefined(config.zoom_x_min)) { + min = getMinMax$1("min", [min, config.zoom_x_min]); + } + if (isDefined(config.zoom_x_max)) { + max = getMinMax$1("max", [max, config.zoom_x_max]); + } + } + return [min, max]; + }, + /** + * Return zoom domain from given domain + * - 'category' type need to add offset to original value + * @param {Array} domainValue domain value + * @returns {Array} Zoom domain + * @private + */ + getZoomDomainValue: function (domainValue) { + var $$ = this; + var config = $$.config, axis = $$.axis; + if (axis.isCategorized() && Array.isArray(domainValue)) { + var isInverted_1 = config.axis_x_inverted; + // need to add offset to original value for 'category' type + var domain = domainValue.map(function (v, i) { + return Number(v) + (i === 0 ? +isInverted_1 : +!isInverted_1); + }); + return domain; + } + return domainValue; + }, + /** + * Converts pixels to axis' scale values + * @param {string} type Axis type + * @param {number} pixels Pixels + * @param {number} domainLength Domain length + * @returns {number} + * @private + */ + convertPixelToScale: function (type, pixels, domainLength) { + var $$ = this; + var config = $$.config, state = $$.state; + var isRotated = config.axis_rotated; + var length; + if (type === "x") { + length = isRotated ? "height" : "width"; + } + else { + length = isRotated ? "width" : "height"; + } + return domainLength * (pixels / state[length]); + }, + /** + * Check if the given domain is within subchart/zoom range + * @param {Array} domain Target domain value + * @param {Array} current Current subchart/zoom domain value + * @param {Array} range subchart/zoom range value + * @returns {boolean} + * @private + */ + withinRange: function (domain, current, range) { + if (current === void 0) { current = [0, 0]; } + var $$ = this; + var isInverted = $$.config.axis_x_inverted; + var _a = range, min = _a[0], max = _a[1]; + if (Array.isArray(domain)) { + var target = __spreadArray([], domain, true); + isInverted && target.reverse(); + if (target[0] < target[1]) { + return domain.every(function (v, i) { + return (i === 0 ? + (isInverted ? +v <= min : +v >= min) : + (isInverted ? +v >= max : +v <= max)) && !(domain.every(function (v, i) { return v === current[i]; })); + }); + } + } + return false; + } +}; + +/** + * Get formatted + * @param {object} $$ Context + * @param {string} typeValue Axis type + * @param {number} v Value to be formatted + * @returns {number | string} + * @private + */ +function getFormat($$, typeValue, v) { + var config = $$.config; + var type = "axis_".concat(typeValue, "_tick_format"); + var format = config[type] ? config[type] : $$.defaultValueFormat; + return format.call($$.api, v); +} +var format = { + yFormat: function (v) { + return getFormat(this, "y", v); + }, + y2Format: function (v) { + return getFormat(this, "y2", v); + }, + /** + * Get default value format function + * @returns {Function} formatter function + * @private + */ + getDefaultValueFormat: function () { + var $$ = this; + var defaultArcValueFormat = $$.defaultArcValueFormat, yFormat = $$.yFormat, y2Format = $$.y2Format; + var hasArc = $$.hasArcType(null, ["gauge", "polar", "radar"]); + return function (v, ratio, id) { + var format = hasArc ? defaultArcValueFormat : ($$.axis && $$.axis.getId(id) === "y2" ? y2Format : yFormat); + return format.call($$, v, ratio); + }; + }, + defaultValueFormat: function (v) { + return isArray(v) ? v.join("~") : (isValue(v) ? +v : ""); + }, + defaultArcValueFormat: function (v, ratio) { + return "".concat((ratio * 100).toFixed(1), "%"); + }, + defaultPolarValueFormat: function (v) { + return "".concat(v); + }, + dataLabelFormat: function (targetId) { + var $$ = this; + var dataLabels = $$.config.data_labels; + var defaultFormat = function (v) { + var delimiter = "~"; + var res = v; + if (isArray(v)) { + res = v.join(delimiter); + } + else if (isObject(v)) { + res = Object.values(v).join(delimiter); + } + return res; + }; + var format = defaultFormat; + // find format according to axis id + if (isFunction(dataLabels.format)) { + format = dataLabels.format; + } + else if (isObjectType(dataLabels.format)) { + if (dataLabels.format[targetId]) { + format = dataLabels.format[targetId] === true ? + defaultFormat : + dataLabels.format[targetId]; + } + else { + format = function () { return ""; }; + } + } + return format.bind($$.api); + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Get color string for given data id + * @param {string} id Data id + * @returns {string} Color string + * @private + */ +function getLegendColor(id) { + var $$ = this; + var data = $$.getDataById(id); + var color = $$.levelColor ? $$.levelColor(data.values[0].value) : $$.color(data); + return color; +} +/** + * Get formatted text value + * @param {string} id Legend text id + * @param {boolean} formatted Whether or not to format the text + * @returns {string} Formatted legend text + */ +function getFormattedText(id, formatted) { + var _a; + if (formatted === void 0) { formatted = true; } + var config = this.config; + var text = (_a = config.data_names[id]) !== null && _a !== void 0 ? _a : id; + if (formatted && isFunction(config.legend_format)) { + text = config.legend_format(text, id !== text ? id : undefined); + } + return text; +} +var legend$1 = { + /** + * Initialize the legend. + * @private + */ + initLegend: function () { + var $$ = this; + var config = $$.config, $el = $$.$el; + $$.legendItemTextBox = {}; + $$.state.legendHasRendered = false; + if (config.legend_show) { + if (!config.legend_contents_bindto) { + $el.legend = $$.$el.svg.append("g") + .classed($LEGEND.legend, true) + .attr("transform", $$.getTranslate("legend")); + } + // MEMO: call here to update legend box and translate for all + // MEMO: translate will be updated by this, so transform not needed in updateLegend() + $$.updateLegend(); + } + else { + $$.state.hiddenLegendIds = $$.mapToIds($$.data.targets); + } + }, + /** + * Update legend element + * @param {Array} targetIds ID's of target + * @param {object} options withTransform : Whether to use the transform property / withTransitionForTransform: Whether transition is used when using the transform property / withTransition : whether or not to transition. + * @param {object} transitions Return value of the generateTransitions + * @private + */ + updateLegend: function (targetIds, options, transitions) { + var _a; + var $$ = this; + var config = $$.config, state = $$.state, scale = $$.scale, $el = $$.$el; + var optionz = options || { + withTransform: false, + withTransitionForTransform: false, + withTransition: false + }; + optionz.withTransition = getOption(optionz, "withTransition", true); + optionz.withTransitionForTransform = getOption(optionz, "withTransitionForTransform", true); + if (config.legend_contents_bindto && config.legend_contents_template) { + $$.updateLegendTemplate(); + } + else if (!state.hasTreemap) { + $$.updateLegendElement(targetIds || $$.mapToIds($$.data.targets), optionz, transitions); + } + // toggle legend state + (_a = $el.legend) === null || _a === void 0 ? void 0 : _a.selectAll(".".concat($LEGEND.legendItem)).classed($LEGEND.legendItemHidden, function (id) { + var hide = !$$.isTargetToShow(id); + if (hide) { + this.style.opacity = null; + } + return hide; + }); + // Update size and scale + $$.updateScales(false, !scale.zoom); + $$.updateSvgSize(); + // Update g positions + $$.transformAll(optionz.withTransitionForTransform, transitions); + state.legendHasRendered = true; + }, + /** + * Update legend using template option + * @private + */ + updateLegendTemplate: function () { + var $$ = this; + var config = $$.config, $el = $$.$el; + var wrapper = select(config.legend_contents_bindto); + var template = config.legend_contents_template; + if (!wrapper.empty()) { + var targets = $$.mapToIds($$.data.targets); + var ids_1 = []; + var html_1 = ""; + targets.forEach(function (v) { + var content = isFunction(template) ? + template.bind($$.api)(v, $$.color(v), $$.api.data(v)[0].values) : + tplProcess(template, { + COLOR: $$.color(v), + TITLE: v + }); + if (content) { + ids_1.push(v); + html_1 += content; + } + }); + var legendItem = wrapper.html(html_1) + .selectAll(function () { + return this.childNodes; + }) + .data(ids_1); + $$.setLegendItem(legendItem); + $el.legend = wrapper; + } + }, + /** + * Update the size of the legend. + * @param {Obejct} size Size object + * @private + */ + updateSizeForLegend: function (size) { + var $$ = this; + var config = $$.config, _a = $$.state, isLegendTop = _a.isLegendTop, isLegendLeft = _a.isLegendLeft, isLegendRight = _a.isLegendRight, isLegendInset = _a.isLegendInset, current = _a.current; + var width = size.width, height = size.height; + var insetLegendPosition = { + top: isLegendTop ? + $$.getCurrentPaddingByDirection("top") + config.legend_inset_y + 5.5 : + current.height - height - $$.getCurrentPaddingByDirection("bottom") - + config.legend_inset_y, + left: isLegendLeft ? + $$.getCurrentPaddingByDirection("left") + config.legend_inset_x + 0.5 : + current.width - width - $$.getCurrentPaddingByDirection("right") - + config.legend_inset_x + 0.5 + }; + $$.state.margin3 = { + top: isLegendRight ? + 0 : + isLegendInset ? + insetLegendPosition.top : + current.height - height, + right: NaN, + bottom: 0, + left: isLegendRight ? + current.width - width : + isLegendInset ? + insetLegendPosition.left : + 0 + }; + }, + /** + * Transform Legend + * @param {boolean} withTransition whether or not to transition. + * @private + */ + transformLegend: function (withTransition) { + var $$ = this; + var legend = $$.$el.legend, $T = $$.$T; + $T(legend, withTransition) + .attr("transform", $$.getTranslate("legend")); + }, + /** + * Update the legend step + * @param {number} step Step value + * @private + */ + updateLegendStep: function (step) { + this.state.legendStep = step; + }, + /** + * Update legend item width + * @param {number} width Width value + * @private + */ + updateLegendItemWidth: function (width) { + this.state.legendItemWidth = width; + }, + /** + * Update legend item height + * @param {number} height Height value + * @private + */ + updateLegendItemHeight: function (height) { + this.state.legendItemHeight = height; + }, + /** + * Update legend item color + * @param {string} id Corresponding data ID value + * @param {string} color Color value + * @private + */ + updateLegendItemColor: function (id, color) { + var legend = this.$el.legend; + if (legend) { + legend.select(".".concat($LEGEND.legendItem, "-").concat(id, " line")) + .style("stroke", color); + } + }, + /** + * Get the width of the legend + * @returns {number} width + * @private + */ + getLegendWidth: function () { + var $$ = this; + var _a = $$.state, width = _a.current.width, isLegendRight = _a.isLegendRight, isLegendInset = _a.isLegendInset, legendItemWidth = _a.legendItemWidth, legendStep = _a.legendStep; + return $$.config.legend_show ? + (isLegendRight || isLegendInset ? legendItemWidth * (legendStep + 1) : width) : + 0; + }, + /** + * Get the height of the legend + * @returns {number} height + * @private + */ + getLegendHeight: function () { + var _a; + var $$ = this; + var _b = $$.state, current = _b.current, isLegendRight = _b.isLegendRight, legendItemHeight = _b.legendItemHeight, legendStep = _b.legendStep; + var isFitPadding = ((_a = $$.config.padding) === null || _a === void 0 ? void 0 : _a.mode) === "fit"; + var height = $$.config.legend_show ? + (isLegendRight ? current.height : (Math.max(isFitPadding ? 10 : 20, legendItemHeight)) * (legendStep + 1)) : + 0; + return height; + }, + /** + * Get the opacity of the legend that is unfocused + * @param {d3.selection} legendItem Legend item node + * @returns {string|null} opacity + * @private + */ + opacityForUnfocusedLegend: function (legendItem) { + return legendItem.classed($LEGEND.legendItemHidden) ? null : "0.3"; + }, + /** + * Toggles the focus of the legend + * @param {Array} targetIds ID's of target + * @param {boolean} focus whether or not to focus. + * @private + */ + toggleFocusLegend: function (targetIds, focus) { + var $$ = this; + var legend = $$.$el.legend, $T = $$.$T; + var targetIdz = $$.mapToTargetIds(targetIds); + legend && $T(legend.selectAll(".".concat($LEGEND.legendItem)) + .filter(function (id) { return targetIdz.indexOf(id) >= 0; }) + .classed($FOCUS.legendItemFocused, focus)) + .style("opacity", function () { + return focus ? null : $$.opacityForUnfocusedLegend.call($$, select(this)); + }); + }, + /** + * Revert the legend to its default state + * @private + */ + revertLegend: function () { + var $$ = this; + var legend = $$.$el.legend, $T = $$.$T; + legend && $T(legend.selectAll(".".concat($LEGEND.legendItem)) + .classed($FOCUS.legendItemFocused, false)) + .style("opacity", null); + }, + /** + * Shows the legend + * @param {Array} targetIds ID's of target + * @private + */ + showLegend: function (targetIds) { + var $$ = this; + var config = $$.config, $el = $$.$el, $T = $$.$T; + if (!config.legend_show) { + config.legend_show = true; + $el.legend ? $el.legend.style("visibility", null) : $$.initLegend(); + !$$.state.legendHasRendered && $$.updateLegend(); + } + $$.removeHiddenLegendIds(targetIds); + $T($el.legend.selectAll($$.selectorLegends(targetIds)) + .style("visibility", null)).style("opacity", null); + }, + /** + * Hide the legend + * @param {Array} targetIds ID's of target + * @private + */ + hideLegend: function (targetIds) { + var $$ = this; + var config = $$.config, legend = $$.$el.legend; + if (config.legend_show && isEmpty(targetIds)) { + config.legend_show = false; + legend.style("visibility", "hidden"); + } + $$.addHiddenLegendIds(targetIds); + legend.selectAll($$.selectorLegends(targetIds)) + .style("opacity", "0") + .style("visibility", "hidden"); + }, + /** + * Get legend item textbox dimension + * @param {string} id Data ID + * @param {HTMLElement|d3.selection} textElement Text node element + * @returns {object} Bounding rect + * @private + */ + getLegendItemTextBox: function (id, textElement) { + var $$ = this; + var cache = $$.cache, state = $$.state; + var data; + // do not prefix w/'$', to not be resetted cache in .load() call + var cacheKey = KEY.legendItemTextBox; + if (id) { + data = (!state.redrawing && cache.get(cacheKey)) || {}; + if (!data[id]) { + data[id] = $$.getTextRect(textElement, $LEGEND.legendItem); + cache.add(cacheKey, data); + } + data = data[id]; + } + return data; + }, + /** + * Set legend item style & bind events + * @param {d3.selection} item Item node + * @private + */ + setLegendItem: function (item) { + var $$ = this; + var $el = $$.$el, api = $$.api, config = $$.config, state = $$.state; + var isTouch = state.inputType === "touch"; + var hasGauge = $$.hasType("gauge"); + var useCssRule = config.boost_useCssRule; + var interaction = config.legend_item_interaction; + item + .attr("class", function (id) { + var node = select(this); + var itemClass = (!node.empty() && node.attr("class")) || ""; + return itemClass + $$.generateClass($LEGEND.legendItem, id); + }) + .style("visibility", function (id) { return ($$.isLegendToShow(id) ? null : "hidden"); }); + if (config.interaction_enabled) { + if (useCssRule) { + [ + [".".concat($LEGEND.legendItem), "cursor:pointer"], + [".".concat($LEGEND.legendItem, " text"), "pointer-events:none"], + [".".concat($LEGEND.legendItemPoint, " text"), "pointer-events:none"], + [".".concat($LEGEND.legendItemTile), "pointer-events:none"], + [".".concat($LEGEND.legendItemEvent), "fill-opacity:0"] + ].forEach(function (v) { + var selector = v[0], props = v[1]; + $$.setCssRule(false, selector, [props])($el.legend); + }); + } + item + .on(interaction.dblclick ? "dblclick" : "click", interaction || isFunction(config.legend_item_onclick) ? + function (event, id) { + if (!callFn(config.legend_item_onclick, api, id, !state.hiddenTargetIds.includes(id))) { + var altKey = event.altKey, target = event.target, type = event.type; + if (type === "dblclick" || altKey) { + // when focused legend is clicked(with altKey or double clicked), reset all hiding. + if (state.hiddenTargetIds.length && + target.parentNode.getAttribute("class").indexOf($LEGEND.legendItemHidden) === -1) { + api.show(); + } + else { + api.hide(); + api.show(id); + } + } + else { + api.toggle(id); + select(this) + .classed($FOCUS.legendItemFocused, false); + } + } + isTouch && $$.hideTooltip(); + } : + null); + !isTouch && item + .on("mouseout", interaction || isFunction(config.legend_item_onout) ? + function (event, id) { + if (!callFn(config.legend_item_onout, api, id, !state.hiddenTargetIds.includes(id))) { + select(this).classed($FOCUS.legendItemFocused, false); + if (hasGauge) { + $$.undoMarkOverlapped($$, ".".concat($GAUGE.gaugeValue)); + } + $$.api.revert(); + } + } : + null) + .on("mouseover", interaction || isFunction(config.legend_item_onover) ? + function (event, id) { + if (!callFn(config.legend_item_onover, api, id, !state.hiddenTargetIds.includes(id))) { + select(this).classed($FOCUS.legendItemFocused, true); + if (hasGauge) { + $$.markOverlapped(id, $$, ".".concat($GAUGE.gaugeValue)); + } + if (!state.transiting && $$.isTargetToShow(id)) { + api.focus(id); + } + } + } : + null); + // set cursor when has some interaction + !item.empty() && item.on("click mouseout mouseover") && + item.style("cursor", $$.getStylePropValue("pointer")); + } + }, + /** + * Update the legend + * @param {Array} targetIds ID's of target + * @param {object} options withTransform : Whether to use the transform property / withTransitionForTransform: Whether transition is used when using the transform property / withTransition : whether or not to transition. + * @private + */ + updateLegendElement: function (targetIds, options) { + var $$ = this; + var config = $$.config, state = $$.state, legend = $$.$el.legend, $T = $$.$T; + var legendType = config.legend_item_tile_type; + var isRectangle = legendType !== "circle"; + var legendItemR = config.legend_item_tile_r; + var itemTileSize = { + width: isRectangle ? config.legend_item_tile_width : legendItemR * 2, + height: isRectangle ? config.legend_item_tile_height : legendItemR * 2 + }; + var dimension = { + padding: { + top: 4, + right: 10 + }, + max: { + width: 0, + height: 0 + }, + posMin: 10, + step: 0, + tileWidth: itemTileSize.width + 5, + totalLength: 0 + }; + var sizes = { + offsets: {}, + widths: {}, + heights: {}, + margins: [0], + steps: {} + }; + var xForLegend; + var yForLegend; + var background; + // Skip elements when their name is set to null + var targetIdz = targetIds + .filter(function (id) { return !isDefined(config.data_names[id]) || config.data_names[id] !== null; }); + var withTransition = options.withTransition; + var updatePositions = $$.getUpdateLegendPositions(targetIdz, dimension, sizes); + if (state.isLegendInset) { + dimension.step = config.legend_inset_step ? config.legend_inset_step : targetIdz.length; + $$.updateLegendStep(dimension.step); + } + if (state.isLegendRight) { + xForLegend = function (id) { return dimension.max.width * sizes.steps[id]; }; + yForLegend = function (id) { return sizes.margins[sizes.steps[id]] + sizes.offsets[id]; }; + } + else if (state.isLegendInset) { + xForLegend = function (id) { return dimension.max.width * sizes.steps[id] + 10; }; + yForLegend = function (id) { return sizes.margins[sizes.steps[id]] + sizes.offsets[id]; }; + } + else { + xForLegend = function (id) { return sizes.margins[sizes.steps[id]] + sizes.offsets[id]; }; + yForLegend = function (id) { return dimension.max.height * sizes.steps[id]; }; + } + var posFn = { + xText: function (id, i) { return xForLegend(id, i) + 4 + itemTileSize.width; }, + xRect: function (id, i) { return xForLegend(id, i); }, + x1Tile: function (id, i) { return xForLegend(id, i) - 2; }, + x2Tile: function (id, i) { return xForLegend(id, i) - 2 + itemTileSize.width; }, + yText: function (id, i) { return yForLegend(id, i) + 9; }, + yRect: function (id, i) { return yForLegend(id, i) - 5; }, + yTile: function (id, i) { return yForLegend(id, i) + 4; } + }; + $$.generateLegendItem(targetIdz, itemTileSize, updatePositions, posFn); + // Set background for inset legend + background = legend.select(".".concat($LEGEND.legendBackground, " rect")); + if (state.isLegendInset && dimension.max.width > 0 && background.size() === 0) { + background = legend.insert("g", ".".concat($LEGEND.legendItem)) + .attr("class", $LEGEND.legendBackground) + .append("rect"); + } + if (config.legend_tooltip) { + legend.selectAll("title") + .data(targetIdz) + .text(function (id) { return getFormattedText.bind($$)(id, false); }); + } + var texts = legend.selectAll("text") + .data(targetIdz) + .text(function (id) { return getFormattedText.bind($$)(id); }) // MEMO: needed for update + .each(function (id, i) { + updatePositions(this, id, i); + }); + $T(texts, withTransition) + .attr("x", posFn.xText) + .attr("y", posFn.yText); + var rects = legend.selectAll("rect.".concat($LEGEND.legendItemEvent)) + .data(targetIdz); + $T(rects, withTransition) + .attr("width", function (id) { return sizes.widths[id]; }) + .attr("height", function (id) { return sizes.heights[id]; }) + .attr("x", posFn.xRect) + .attr("y", posFn.yRect); + // update legend items position + $$.updateLegendItemPos(targetIdz, withTransition, posFn); + if (background) { + $T(background, withTransition) + .attr("height", $$.getLegendHeight() - 12) + .attr("width", dimension.max.width * (dimension.step + 1) + 10); + } + // Update all to reflect change of legend + $$.updateLegendItemWidth(dimension.max.width); + $$.updateLegendItemHeight(dimension.max.height); + $$.updateLegendStep(dimension.step); + }, + /** + * Get position update function + * @param {Array} targetIdz Data ids + * @param {object} dimension Dimension object + * @param {object} sizes Size object + * @returns {Function} Update position function + * @private + */ + getUpdateLegendPositions: function (targetIdz, dimension, sizes) { + var $$ = this; + var config = $$.config, state = $$.state; + var isLegendRightOrInset = state.isLegendRight || state.isLegendInset; + return function (textElement, id, index) { + var reset = index === 0; + var isLast = index === targetIdz.length - 1; + var box = $$.getLegendItemTextBox(id, textElement); + var itemWidth = box.width + dimension.tileWidth + + (isLast && !isLegendRightOrInset ? 0 : dimension.padding.right) + + config.legend_padding; + var itemHeight = box.height + dimension.padding.top; + var itemLength = isLegendRightOrInset ? itemHeight : itemWidth; + var areaLength = isLegendRightOrInset ? $$.getLegendHeight() : $$.getLegendWidth(); + var margin; + // MEMO: care about condifion of step, totalLength + var updateValues = function (id2, withoutStep) { + if (!withoutStep) { + margin = (areaLength - dimension.totalLength - itemLength) / 2; + if (margin < dimension.posMin) { + margin = (areaLength - itemLength) / 2; + dimension.totalLength = 0; + dimension.step++; + } + } + sizes.steps[id2] = dimension.step; + sizes.margins[dimension.step] = state.isLegendInset ? 10 : margin; + sizes.offsets[id2] = dimension.totalLength; + dimension.totalLength += itemLength; + }; + if (reset) { + dimension.totalLength = 0; + dimension.step = 0; + dimension.max.width = 0; + dimension.max.height = 0; + } + if (config.legend_show && !$$.isLegendToShow(id)) { + sizes.widths[id] = 0; + sizes.heights[id] = 0; + sizes.steps[id] = 0; + sizes.offsets[id] = 0; + return; + } + sizes.widths[id] = itemWidth; + sizes.heights[id] = itemHeight; + if (!dimension.max.width || itemWidth >= dimension.max.width) { + dimension.max.width = itemWidth; + } + if (!dimension.max.height || itemHeight >= dimension.max.height) { + dimension.max.height = itemHeight; + } + var maxLength = isLegendRightOrInset ? dimension.max.height : dimension.max.width; + if (config.legend_equally) { + Object.keys(sizes.widths).forEach(function (id2) { return (sizes.widths[id2] = dimension.max.width); }); + Object.keys(sizes.heights).forEach(function (id2) { return (sizes.heights[id2] = dimension.max.height); }); + margin = (areaLength - maxLength * targetIdz.length) / 2; + if (margin < dimension.posMin) { + dimension.totalLength = 0; + dimension.step = 0; + targetIdz.forEach(function (id2) { return updateValues(id2); }); + } + else { + updateValues(id, true); + } + } + else { + updateValues(id); + } + }; + }, + /** + * Generate legend item elements + * @param {Array} targetIdz Data ids + * @param {object} itemTileSize Item tile size {width, height} + * @param {Function} updatePositions Update position function + * @param {object} posFn Position functions + * @private + */ + generateLegendItem: function (targetIdz, itemTileSize, updatePositions, posFn) { + var $$ = this; + var config = $$.config, state = $$.state, legend = $$.$el.legend; + var usePoint = config.legend_usePoint; + var legendItemR = config.legend_item_tile_r; + var legendType = config.legend_item_tile_type; + var isRectangle = legendType !== "circle"; + var isLegendRightOrInset = state.isLegendRight || state.isLegendInset; + var pos = -200; + // Define g for legend area + var l = legend.selectAll(".".concat($LEGEND.legendItem)) + .data(targetIdz) + .enter() + .append("g"); + $$.setLegendItem(l); + if (config.legend_tooltip) { + l.append("title").text(function (id) { return id; }); + } + l.append("text") + .text(function (id) { return getFormattedText.bind($$)(id); }) + .each(function (id, i) { + updatePositions(this, id, i); + }) + .style("pointer-events", $$.getStylePropValue("none")) + .attr("x", isLegendRightOrInset ? posFn.xText : pos) + .attr("y", isLegendRightOrInset ? pos : posFn.yText); + l.append("rect") + .attr("class", $LEGEND.legendItemEvent) + .style("fill-opacity", $$.getStylePropValue("0")) + .attr("x", isLegendRightOrInset ? posFn.xRect : pos) + .attr("y", isLegendRightOrInset ? pos : posFn.yRect); + if (usePoint) { + var ids_2 = []; + l.append(function (d) { + var pattern = notEmpty(config.point_pattern) ? + config.point_pattern : + [config.point_type]; + ids_2.indexOf(d) === -1 && ids_2.push(d); + var point = pattern[ids_2.indexOf(d) % pattern.length]; + if (point === "rectangle") { + point = "rect"; + } + return doc.createElementNS(namespaces.svg, ("hasValidPointType" in $$) && $$.hasValidPointType(point) ? point : "use"); + }) + .attr("class", $LEGEND.legendItemPoint) + .style("fill", getLegendColor.bind($$)) + .style("pointer-events", $$.getStylePropValue("none")) + .attr("href", function (data, idx, selection) { + var node = selection[idx]; + var nodeName = node.nodeName.toLowerCase(); + var id = $$.getTargetSelectorSuffix(data); + return nodeName === "use" ? "#".concat(state.datetimeId, "-point").concat(id) : undefined; + }); + } + else { + l.append(isRectangle ? "line" : legendType) + .attr("class", $LEGEND.legendItemTile) + .style("stroke", getLegendColor.bind($$)) + .style("pointer-events", $$.getStylePropValue("none")) + .call(function (selection) { + if (legendType === "circle") { + selection + .attr("r", legendItemR) + .style("fill", getLegendColor.bind($$)) + .attr("cx", isLegendRightOrInset ? posFn.x2Tile : pos) + .attr("cy", isLegendRightOrInset ? pos : posFn.yTile); + } + else if (isRectangle) { + selection + .attr("stroke-width", itemTileSize.height) + .attr("x1", isLegendRightOrInset ? posFn.x1Tile : pos) + .attr("y1", isLegendRightOrInset ? pos : posFn.yTile) + .attr("x2", isLegendRightOrInset ? posFn.x2Tile : pos) + .attr("y2", isLegendRightOrInset ? pos : posFn.yTile); + } + }); + } + }, + /** + * Update legend item position + * @param {Array} targetIdz Data ids + * @param {boolean} withTransition Whether or not to apply transition + * @param {object} posFn Position functions + * @private + */ + updateLegendItemPos: function (targetIdz, withTransition, posFn) { + var $$ = this; + var config = $$.config, legend = $$.$el.legend, $T = $$.$T; + var usePoint = config.legend_usePoint; + var legendType = config.legend_item_tile_type; + var isRectangle = legendType !== "circle"; + if (usePoint) { + var tiles = legend.selectAll(".".concat($LEGEND.legendItemPoint)) + .data(targetIdz); + $T(tiles, withTransition) + .each(function () { + var nodeName = this.nodeName.toLowerCase(); + var pointR = config.point_r; + var x = "x"; + var y = "y"; + var xOffset = 2; + var yOffset = 2.5; + var radius = null; + var width = null; + var height = null; + if (nodeName === "circle") { + var size = pointR * 0.2; + x = "cx"; + y = "cy"; + radius = pointR + size; + xOffset = pointR * 2; + yOffset = -size; + } + else if (nodeName === "rect") { + var size = pointR * 2.5; + width = size; + height = size; + yOffset = 3; + } + select(this) + .attr(x, function (d) { return posFn.x1Tile(d) + xOffset; }) + .attr(y, function (d) { return posFn.yTile(d) - yOffset; }) + .attr("r", radius) + .attr("width", width) + .attr("height", height); + }); + } + else { + var tiles = legend.selectAll(".".concat($LEGEND.legendItemTile)) + .data(targetIdz); + $T(tiles, withTransition) + .style("stroke", getLegendColor.bind($$)) + .call(function (selection) { + if (legendType === "circle") { + selection + .attr("cx", function (d) { + var x2 = posFn.x2Tile(d); + return x2 - ((x2 - posFn.x1Tile(d)) / 2); + }) + .attr("cy", posFn.yTile); + } + else if (isRectangle) { + selection + .attr("x1", posFn.x1Tile) + .attr("y1", posFn.yTile) + .attr("x2", posFn.x2Tile) + .attr("y2", posFn.yTile); + } + }); + } + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var redraw = { + redraw: function (options) { + var _a, _b, _c, _d; + if (options === void 0) { options = {}; } + var $$ = this; + var config = $$.config, state = $$.state, $el = $$.$el; + var main = $el.main, treemap = $el.treemap; + state.redrawing = true; + var targetsToShow = $$.filterTargetsToShow($$.data.targets); + var flow = options.flow, initializing = options.initializing; + var wth = $$.getWithOption(options); + var duration = wth.Transition ? config.transition_duration : 0; + var durationForExit = wth.TransitionForExit ? duration : 0; + var durationForAxis = wth.TransitionForAxis ? duration : 0; + var transitions = (_a = $$.axis) === null || _a === void 0 ? void 0 : _a.generateTransitions(durationForAxis); + $$.updateSizes(initializing); + // update legend and transform each g + if (wth.Legend && config.legend_show) { + options.withTransition = !!duration; + !treemap && $$.updateLegend($$.mapToIds($$.data.targets), options, transitions); + } + else if (wth.Dimension) { + // need to update dimension (e.g. axis.y.tick.values) because y tick values should change + // no need to update axis in it because they will be updated in redraw() + $$.updateDimension(true); + } + // Data empty label positioning and text. + config.data_empty_label_text && main.select("text.".concat($TEXT.text, ".").concat($COMMON.empty)) + .attr("x", state.width / 2) + .attr("y", state.height / 2) + .text(config.data_empty_label_text) + .style("display", targetsToShow.length ? "none" : null); + // update axis + if (state.hasAxis) { + // @TODO: Make 'init' state to be accessible everywhere not passing as argument. + $$.axis.redrawAxis(targetsToShow, wth, transitions, flow, initializing); + // grid + $$.hasGrid() && $$.updateGrid(); + // rect for regions + config.regions.length && $$.updateRegion(); + ["bar", "candlestick", "line", "area"].forEach(function (v) { + var name = capitalize(v); + if ((/^(line|area)$/.test(v) && $$.hasTypeOf(name)) || $$.hasType(v)) { + $$["update".concat(name)](wth.TransitionForExit); + } + }); + // circles for select + $el.text && main.selectAll(".".concat($SELECT.selectedCircles)) + .filter($$.isBarType.bind($$)) + .selectAll("circle") + .remove(); + // event rects will redrawn when flow called + if (config.interaction_enabled && !flow && wth.EventRect) { + $$.redrawEventRect(); + (_b = $$.bindZoomEvent) === null || _b === void 0 ? void 0 : _b.call($$); + } + } + else { + // arc + $el.arcs && $$.redrawArc(duration, durationForExit, wth.Transform); + // radar + $el.radar && $$.redrawRadar(); + // polar + $el.polar && $$.redrawPolar(); + // funnel + $el.funnel && $$.redrawFunnel(); + // treemap + treemap && $$.updateTreemap(durationForExit); + } + if (!state.resizing && !treemap && ($$.hasPointType() || state.hasRadar)) { + $$.updateCircle(); + } + else if ((_c = $$.hasLegendDefsPoint) === null || _c === void 0 ? void 0 : _c.call($$)) { + $$.data.targets.forEach($$.point("create", this)); + } + // text + $$.hasDataLabel() && !$$.hasArcType(null, ["radar"]) && $$.updateText(); + // title + (_d = $$.redrawTitle) === null || _d === void 0 ? void 0 : _d.call($$); + initializing && $$.updateTypesElements(); + $$.generateRedrawList(targetsToShow, flow, duration, wth.Subchart); + $$.updateTooltipOnRedraw(); + $$.callPluginHook("$redraw", options, duration); + }, + /** + * Generate redraw list + * @param {object} targets targets data to be shown + * @param {object} flow flow object + * @param {number} duration duration value + * @param {boolean} withSubchart whether or not to show subchart + * @private + */ + generateRedrawList: function (targets, flow, duration, withSubchart) { + var $$ = this; + var config = $$.config, state = $$.state; + var shape = $$.getDrawShape(); + if (state.hasAxis) { + // subchart + config.subchart_show && $$.redrawSubchart(withSubchart, duration, shape); + } + // generate flow + var flowFn = flow && $$.generateFlow({ + targets: targets, + flow: flow, + duration: flow.duration, + shape: shape, + xv: $$.xv.bind($$) + }); + var withTransition = (duration || flowFn) && isTabVisible(); + // redraw list + var redrawList = $$.getRedrawList(shape, flow, flowFn, withTransition); + // callback function after redraw ends + var afterRedraw = function () { + flowFn && flowFn(); + state.redrawing = false; + callFn(config.onrendered, $$.api); + }; + if (afterRedraw) { + // Only use transition when current tab is visible. + if (withTransition && redrawList.length) { + // Wait for end of transitions for callback + var waitForDraw_1 = generateWait(); + // transition should be derived from one transition + transition().duration(duration) + .each(function () { + redrawList + .reduce(function (acc, t1) { return acc.concat(t1); }, []) + .forEach(function (t) { return waitForDraw_1.add(t); }); + }) + .call(waitForDraw_1, afterRedraw); + } + else if (!state.transiting) { + afterRedraw(); + } + } + // update fadein condition + $$.mapToIds($$.data.targets).forEach(function (id) { + state.withoutFadeIn[id] = true; + }); + }, + getRedrawList: function (shape, flow, flowFn, withTransition) { + var $$ = this; + var config = $$.config, _a = $$.state, hasAxis = _a.hasAxis, hasRadar = _a.hasRadar, hasTreemap = _a.hasTreemap, grid = $$.$el.grid; + var _b = shape.pos, cx = _b.cx, cy = _b.cy, xForText = _b.xForText, yForText = _b.yForText; + var list = []; + if (hasAxis) { + if (config.grid_x_lines.length || config.grid_y_lines.length) { + list.push($$.redrawGrid(withTransition)); + } + if (config.regions.length) { + list.push($$.redrawRegion(withTransition)); + } + Object.keys(shape.type).forEach(function (v) { + var name = capitalize(v); + var drawFn = shape.type[v]; + if ((/^(area|line)$/.test(v) && $$.hasTypeOf(name)) || $$.hasType(v)) { + list.push($$["redraw".concat(name)](drawFn, withTransition)); + } + }); + !flow && grid.main && list.push($$.updateGridFocus()); + } + if (!$$.hasArcType() || hasRadar) { + notEmpty(config.data_labels) && config.data_labels !== false && + list.push($$.redrawText(xForText, yForText, flow, withTransition)); + } + if (($$.hasPointType() || hasRadar) && !$$.isPointFocusOnly()) { + $$.redrawCircle && list.push($$.redrawCircle(cx, cy, withTransition, flowFn)); + } + if (hasTreemap) { + list.push($$.redrawTreemap(withTransition)); + } + return list; + }, + updateAndRedraw: function (options) { + if (options === void 0) { options = {}; } + var $$ = this; + var config = $$.config, state = $$.state; + var transitions; + // same with redraw + options.withTransition = getOption(options, "withTransition", true); + options.withTransform = getOption(options, "withTransform", false); + options.withLegend = getOption(options, "withLegend", false); + // NOT same with redraw + options.withUpdateXDomain = true; + options.withUpdateOrgXDomain = true; + options.withTransitionForExit = false; + options.withTransitionForTransform = getOption(options, "withTransitionForTransform", options.withTransition); + // MEMO: called in updateLegend in redraw if withLegend + if (!(options.withLegend && config.legend_show)) { + if (state.hasAxis) { + transitions = $$.axis.generateTransitions(options.withTransitionForAxis ? config.transition_duration : 0); + } + // Update scales + $$.updateScales(); + $$.updateSvgSize(); + // Update g positions + $$.transformAll(options.withTransitionForTransform, transitions); + } + // Draw with new sizes & scales + $$.redraw(options, transitions); + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Get scale + * @param {string} [type='linear'] Scale type + * @param {number|Date} [min] Min range + * @param {number|Date} [max] Max range + * @returns {d3.scaleLinear|d3.scaleTime} scale + * @private + */ +function getScale(type, min, max) { + if (type === void 0) { type = "linear"; } + var scale = ({ + linear: scaleLinear, + log: scaleSymlog, + _log: scaleLog, + time: scaleTime, + utc: scaleUtc + })[type](); + scale.type = type; + /_?log/.test(type) && scale.clamp(true); + return scale.range([min !== null && min !== void 0 ? min : 0, max !== null && max !== void 0 ? max : 1]); +} +var scale = { + /** + * Get x Axis scale function + * @param {number} min Min range value + * @param {number} max Max range value + * @param {Array} domain Domain value + * @param {Function} offset The offset getter to be sum + * @returns {Function} scale + * @private + */ + getXScale: function (min, max, domain, offset) { + var $$ = this; + var scale = ($$.state.loading !== "append" && $$.scale.zoom) || + getScale($$.axis.getAxisType("x"), min, max); + return $$.getCustomizedXScale(domain ? scale.domain(domain) : scale, offset); + }, + /** + * Get y Axis scale function + * @param {string} id Axis id: 'y' or 'y2' + * @param {number} min Min value + * @param {number} max Max value + * @param {Array} domain Domain value + * @returns {Function} Scale function + * @private + */ + getYScale: function (id, min, max, domain) { + var $$ = this; + var scale = getScale($$.axis.getAxisType(id), min, max); + domain && scale.domain(domain); + return scale; + }, + /** + * Get y Axis scale + * @param {string} id Axis id + * @param {boolean} isSub Weather is sub Axis + * @returns {Function} Scale function + * @private + */ + getYScaleById: function (id, isSub) { + var _a; + if (isSub === void 0) { isSub = false; } + var isY2 = ((_a = this.axis) === null || _a === void 0 ? void 0 : _a.getId(id)) === "y2"; + var key = isSub ? (isY2 ? "subY2" : "subY") : (isY2 ? "y2" : "y"); + return this.scale[key]; + }, + /** + * Get customized x axis scale + * @param {d3.scaleLinear|d3.scaleTime} scaleValue Scale function + * @param {Function} offsetValue Offset getter to be sum + * @returns {Function} Scale function + * @private + */ + getCustomizedXScale: function (scaleValue, offsetValue) { + var $$ = this; + var offset = offsetValue || (function () { return $$.axis.x.tickOffset(); }); + var isInverted = $$.config.axis_x_inverted; + /** + * Get scaled value + * @param {object} d Data object + * @returns {number} + * @private + */ + var scale = function (d) { + return scaleValue(d) + offset(); + }; + // copy original scale methods + for (var key in scaleValue) { + scale[key] = scaleValue[key]; + } + scale.orgDomain = function () { return scaleValue.domain(); }; + scale.orgScale = function () { return scaleValue; }; + // define custom domain() for categorized axis + if ($$.axis.isCategorized()) { + scale.domain = function (domainValue) { + var domain = domainValue; + if (!arguments.length) { + domain = this.orgDomain(); + return isInverted ? [domain[0] + 1, domain[1]] : [domain[0], domain[1] + 1]; + } + scaleValue.domain(domain); + return scale; + }; + } + return scale; + }, + /** + * Update scale + * @param {boolean} isInit Param is given at the init rendering + * @param {boolean} updateXDomain If update x domain + * @private + */ + updateScales: function (isInit, updateXDomain) { + var _a, _b; + if (updateXDomain === void 0) { updateXDomain = true; } + var $$ = this; + var axis = $$.axis, config = $$.config, format = $$.format, org = $$.org, scale = $$.scale, _c = $$.state, current = _c.current, width = _c.width, height = _c.height, width2 = _c.width2, height2 = _c.height2, hasAxis = _c.hasAxis, hasTreemap = _c.hasTreemap; + if (hasAxis) { + var isRotated = config.axis_rotated; + var resettedPadding = $$.getResettedPadding(1); + // update edges + var min = { + x: isRotated ? resettedPadding : 0, + y: isRotated ? 0 : height, + subX: isRotated ? 1 : 0, + subY: isRotated ? 0 : height2 + }; + var max = { + x: isRotated ? height : width, + y: isRotated ? width : resettedPadding, + subX: isRotated ? height : width, + subY: isRotated ? width2 : 1 + }; + // update scales + // x Axis + var xDomain = updateXDomain && ((_a = scale.x) === null || _a === void 0 ? void 0 : _a.orgDomain()); + var xSubDomain = updateXDomain && org.xDomain; + scale.x = $$.getXScale(min.x, max.x, xDomain, function () { return axis.x.tickOffset(); }); + scale.subX = $$.getXScale(min.x, max.x, xSubDomain, function (d) { + var _a; + return (d % 1 ? 0 : ((_a = axis.subX) !== null && _a !== void 0 ? _a : axis.x).tickOffset()); + }); + format.xAxisTick = axis.getXAxisTickFormat(); + format.subXAxisTick = axis.getXAxisTickFormat(true); + axis.setAxis("x", scale.x, config.axis_x_tick_outer, isInit); + if (config.subchart_show) { + axis.setAxis("subX", scale.subX, config.axis_x_tick_outer, isInit); + } + // y Axis + scale.y = $$.getYScale("y", min.y, max.y, scale.y ? scale.y.domain() : config.axis_y_default); + scale.subY = $$.getYScale("y", min.subY, max.subY, scale.subY ? scale.subY.domain() : config.axis_y_default); + axis.setAxis("y", scale.y, config.axis_y_tick_outer, isInit); + // y2 Axis + if (config.axis_y2_show) { + scale.y2 = $$.getYScale("y2", min.y, max.y, scale.y2 ? scale.y2.domain() : config.axis_y2_default); + scale.subY2 = $$.getYScale("y2", min.subY, max.subY, scale.subY2 ? scale.subY2.domain() : config.axis_y2_default); + axis.setAxis("y2", scale.y2, config.axis_y2_tick_outer, isInit); + } + } + else if (hasTreemap) { + var padding = $$.getCurrentPadding(); + scale.x = scaleLinear().rangeRound([padding.left, current.width - padding.right]); + scale.y = scaleLinear().rangeRound([padding.top, current.height - padding.bottom]); + } + else { + // update for arc + (_b = $$.updateArc) === null || _b === void 0 ? void 0 : _b.call($$); + } + }, + /** + * Get the zoom or unzoomed scaled value + * @param {Date|number|object} d Data value + * @returns {number|null} + * @private + */ + xx: function (d) { + var $$ = this; + var config = $$.config, _a = $$.scale, x = _a.x, zoom = _a.zoom; + var fn = config.zoom_enabled && zoom ? zoom : x; + return d ? fn(isValue(d.x) ? d.x : d) : null; + }, + xv: function (d) { + var $$ = this; + var axis = $$.axis, config = $$.config, _a = $$.scale, x = _a.x, zoom = _a.zoom; + var fn = config.zoom_enabled && zoom ? zoom : x; + var value = $$.getBaseValue(d); + if (axis.isTimeSeries()) { + value = parseDate.call($$, value); + } + else if (axis.isCategorized() && isString(value)) { + value = config.axis_x_categories.indexOf(value); + } + return fn(value); + }, + yv: function (d) { + var $$ = this; + var _a = $$.scale, y = _a.y, y2 = _a.y2; + var yScale = d.axis && d.axis === "y2" ? y2 : y; + return yScale($$.getBaseValue(d)); + }, + subxx: function (d) { + return d ? this.scale.subX(d.x) : null; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var size = { + /** + * Update container size + * @private + */ + setContainerSize: function () { + var $$ = this; + var state = $$.state; + state.current.width = $$.getCurrentWidth(); + state.current.height = $$.getCurrentHeight(); + }, + getCurrentWidth: function () { + var $$ = this; + return $$.config.size_width || $$.getParentWidth(); + }, + getCurrentHeight: function () { + var $$ = this; + var config = $$.config; + var h = config.size_height || $$.getParentHeight(); + return h > 0 ? h : 320 / ($$.hasType("gauge") && !config.gauge_fullCircle ? 2 : 1); + }, + /** + * Get the parent rect element's size + * @param {string} key property/attribute name + * @returns {number} + * @private + */ + getParentRectValue: function (key) { + var offsetName = "offset".concat(capitalize(key)); + var parent = this.$el.chart.node(); + var v = 0; + while (v < 30 && parent && parent.tagName !== "BODY") { + try { + v = parent.getBoundingClientRect()[key]; + } + catch (_a) { + if (offsetName in parent) { + // In IE in certain cases getBoundingClientRect + // will cause an "unspecified error" + v = parent[offsetName]; + } + } + parent = parent.parentNode; + } + // Sometimes element's dimension value is incorrect(ex. flex container) + // In this case, use body's offset instead. + var bodySize = doc.body[offsetName]; + v > bodySize && (v = bodySize); + return v; + }, + getParentWidth: function () { + return this.getParentRectValue("width"); + }, + getParentHeight: function () { + var h = this.$el.chart.style("height"); + var height = 0; + if (h) { + height = /px$/.test(h) ? parseInt(h, 10) : this.getParentRectValue("height"); + } + return height; + }, + getSvgLeft: function (withoutRecompute) { + var $$ = this; + var config = $$.config, hasAxis = $$.state.hasAxis, $el = $$.$el; + var isRotated = config.axis_rotated; + var hasLeftAxisRect = isRotated || (!isRotated && !config.axis_y_inner); + var leftAxisClass = isRotated ? $AXIS.axisX : $AXIS.axisY; + var leftAxis = $el.main.select(".".concat(leftAxisClass)).node(); + var leftLabel = hasAxis && config["axis_".concat(isRotated ? "x" : "y", "_label")]; + var labelWidth = 0; + // if axis label position set to inner, exclude from the value + if (hasAxis && (isString(leftLabel) || isString(leftLabel.text) || + /^inner-/.test(leftLabel === null || leftLabel === void 0 ? void 0 : leftLabel.position))) { + var label = $el.main.select(".".concat(leftAxisClass, "-label")); + if (!label.empty()) { + labelWidth = label.node().getBoundingClientRect().left; + } + } + var svgRect = leftAxis && hasLeftAxisRect ? leftAxis.getBoundingClientRect() : { right: 0 }; + var chartRectLeft = $el.chart.node().getBoundingClientRect().left + labelWidth; + var hasArc = $$.hasArcType(); + var svgLeft = svgRect.right - chartRectLeft - + (hasArc ? 0 : $$.getCurrentPaddingByDirection("left", withoutRecompute)); + return svgLeft > 0 ? svgLeft : 0; + }, + updateDimension: function (withoutAxis) { + var _a; + var $$ = this; + var config = $$.config, hasAxis = $$.state.hasAxis, $el = $$.$el; + if (hasAxis && !withoutAxis && $$.axis.x && config.axis_rotated) { + (_a = $$.axis.subX) === null || _a === void 0 ? void 0 : _a.create($el.axis.subX); + } + // pass 'withoutAxis' param to not animate at the init rendering + $$.updateScales(withoutAxis); + $$.updateSvgSize(); + $$.transformAll(false); + }, + updateSvgSize: function () { + var $$ = this; + var config = $$.config, _a = $$.state, clip = _a.clip, current = _a.current, hasAxis = _a.hasAxis, width = _a.width, height = _a.height, svg = $$.$el.svg; + if (config.resize_auto === "viewBox") { + svg + .attr("viewBox", "0 0 ".concat(current.width, " ").concat(current.height)); + } + else { + svg + .attr("width", current.width) + .attr("height", current.height); + } + if (hasAxis) { + var brush = svg.select(".".concat($SUBCHART.brush, " .overlay")); + var brushSize = { width: 0, height: 0 }; + if (brush.size()) { + brushSize.width = +brush.attr("width"); + brushSize.height = +brush.attr("height"); + } + svg.selectAll(["#".concat(clip.id), "#".concat(clip.idGrid)]) + .select("rect") + .attr("width", width) + .attr("height", height); + svg.select("#".concat(clip.idXAxis)) + .select("rect") + .call($$.setXAxisClipPath.bind($$)); + svg.select("#".concat(clip.idYAxis)) + .select("rect") + .call($$.setYAxisClipPath.bind($$)); + clip.idSubchart && svg.select("#".concat(clip.idSubchart)) + .select("rect") + .attr("width", width) + .attr("height", brushSize.height); + } + }, + /** + * Get padding by the direction. + * @param {string} type "top" | "bottom" | "left" | "right" + * @param {boolean} [withoutRecompute=false] If set true, do not recompute the padding value. + * @param {boolean} [withXAxisTickTextOverflow=false] If set true, calculate x axis tick text overflow. + * @returns {number} padding value + * @private + */ + getCurrentPaddingByDirection: function (type, withoutRecompute, withXAxisTickTextOverflow) { + var _a; + if (withoutRecompute === void 0) { withoutRecompute = false; } + if (withXAxisTickTextOverflow === void 0) { withXAxisTickTextOverflow = false; } + var $$ = this; + var config = $$.config, $el = $$.$el, hasAxis = $$.state.hasAxis; + var isRotated = config.axis_rotated; + var isFitPadding = ((_a = config.padding) === null || _a === void 0 ? void 0 : _a.mode) === "fit"; + var paddingOption = isNumber(config["padding_".concat(type)]) ? + config["padding_".concat(type)] : + undefined; + var axisId = hasAxis ? + { + top: isRotated ? "y2" : null, + bottom: isRotated ? "y" : "x", + left: isRotated ? "x" : "y", + right: isRotated ? null : "y2" + }[type] : + null; + var isLeftRight = /^(left|right)$/.test(type); + var isAxisInner = axisId && config["axis_".concat(axisId, "_inner")]; + var isAxisShow = axisId && config["axis_".concat(axisId, "_show")]; + var axesLen = axisId ? config["axis_".concat(axisId, "_axes")].length : 0; + var axisSize = axisId ? + (isLeftRight ? + $$.getAxisWidthByAxisId(axisId, withoutRecompute) : + $$.getHorizontalAxisHeight(axisId)) : + 0; + var defaultPadding = 20; + var gap = 0; + if (!isFitPadding && isLeftRight) { + axisSize = ceil10(axisSize); + } + var padding = hasAxis && isLeftRight && (isAxisInner || (isUndefined(paddingOption) && !isAxisShow)) ? + 0 : + (isFitPadding ? (isAxisShow ? axisSize : 0) + (paddingOption !== null && paddingOption !== void 0 ? paddingOption : 0) : (isUndefined(paddingOption) ? axisSize : paddingOption)); + if (isLeftRight && hasAxis) { + if (axisId && (isFitPadding || isAxisInner) && config["axis_".concat(axisId, "_label")].text) { + padding += $$.axis.getAxisLabelPosition(axisId).isOuter ? defaultPadding : 0; + } + if (type === "right") { + padding += isRotated ? + (!isFitPadding && isUndefined(paddingOption) ? 10 : 2) : + !isAxisShow || isAxisInner ? + (isFitPadding ? 2 : 1) : + 0; + padding += withXAxisTickTextOverflow ? + $$.axis.getXAxisTickTextY2Overflow(defaultPadding) : + 0; + } + else if (type === "left" && isRotated && isUndefined(paddingOption)) { + padding = !config.axis_x_show ? + 1 : + (isFitPadding ? axisSize : Math.max(axisSize, 40)); + } + } + else { + if (type === "top") { + if ($el.title && $el.title.node()) { + padding += $$.getTitlePadding(); + } + gap = isRotated && !isAxisInner ? axesLen : 0; + } + else if (type === "bottom" && hasAxis && isRotated && !isAxisShow) { + padding += 1; + } + } + // console.log(type, padding + (axisSize * axesLen) - gap) + return padding + (axisSize * axesLen) - gap; + }, + getCurrentPadding: function (withXAxisTickTextOverflow) { + if (withXAxisTickTextOverflow === void 0) { withXAxisTickTextOverflow = false; } + var $$ = this; + var _a = ["top", "bottom", "left", "right"] + .map(function (v) { return $$.getCurrentPaddingByDirection(v, null, withXAxisTickTextOverflow); }), top = _a[0], bottom = _a[1], left = _a[2], right = _a[3]; + return { top: top, bottom: bottom, left: left, right: right }; + }, + /** + * Get resetted padding values when 'padding=false' option is set + * https://github.com/naver/billboard.js/issues/2367 + * @param {number|object} v Padding values to be resetted + * @returns {number|object} Padding value + * @private + */ + getResettedPadding: function (v) { + var $$ = this; + var config = $$.config; + var isNum = isNumber(v); + var p = isNum ? 0 : {}; + if (config.padding === false) { + !isNum && Object.keys(v).forEach(function (key) { + // when data.lables=true, do not reset top padding + p[key] = (!isEmpty(config.data_labels) && + config.data_labels !== false && + key === "top") ? + v[key] : + 0; + }); + } + else { + p = v; + } + return p; + }, + /** + * Update size values + * @param {boolean} isInit If is called at initialization + * @private + */ + updateSizes: function (isInit) { + var _a, _b, _c, _d, _e; + var $$ = this; + var config = $$.config, state = $$.state, legend = $$.$el.legend; + var isRotated = config.axis_rotated; + var isNonAxis = $$.hasArcType() || state.hasFunnel || state.hasTreemap; + var isFitPadding = ((_a = config.padding) === null || _a === void 0 ? void 0 : _a.mode) === "fit"; + !isInit && $$.setContainerSize(); + var currLegend = { + width: legend ? $$.getLegendWidth() : 0, + height: legend ? $$.getLegendHeight() : 0 + }; + if (!isNonAxis && config.axis_x_show && config.axis_x_tick_autorotate) { + $$.updateXAxisTickClip(); + } + var legendSize = { + right: config.legend_show && state.isLegendRight ? + $$.getLegendWidth() + (isFitPadding ? 0 : 20) : + 0, + bottom: !config.legend_show || state.isLegendRight || state.isLegendInset ? + 0 : + currLegend.height + }; + var xAxisHeight = isRotated || isNonAxis ? 0 : $$.getHorizontalAxisHeight("x"); + var subchartXAxisHeight = config.subchart_axis_x_show && config.subchart_axis_x_tick_text_show ? xAxisHeight : 30; + var subchartHeight = config.subchart_show && !isNonAxis ? + (config.subchart_size_height + subchartXAxisHeight) : + 0; + // when needle is shown with legend, it need some bottom space to not overlap with legend text + var gaugeHeight = $$.hasType("gauge") && config.arc_needle_show && + !config.gauge_fullCircle && !config.gauge_label_show ? + 10 : + 0; + var padding = $$.getCurrentPadding(true); + // for main + state.margin = !isNonAxis && isRotated ? + { + top: padding.top, + right: isNonAxis ? 0 : padding.right + legendSize.right, + bottom: legendSize.bottom + padding.bottom, + left: subchartHeight + (isNonAxis ? 0 : padding.left) + } : + { + top: (isFitPadding ? 0 : 4) + padding.top, // for top tick text + right: isNonAxis ? 0 : padding.right + legendSize.right, + bottom: gaugeHeight + subchartHeight + legendSize.bottom + padding.bottom, + left: isNonAxis ? 0 : padding.left + }; + state.margin = $$.getResettedPadding(state.margin); + // for subchart + state.margin2 = isRotated ? + { + top: state.margin.top, + right: NaN, + bottom: 20 + legendSize.bottom, + left: $$.state.rotatedPadding.left + } : + { + top: state.current.height - subchartHeight - legendSize.bottom, + right: NaN, + bottom: subchartXAxisHeight + legendSize.bottom, + left: state.margin.left + }; + // for legend + state.margin3 = { + top: 0, + right: NaN, + bottom: 0, + left: 0 + }; + (_b = $$.updateSizeForLegend) === null || _b === void 0 ? void 0 : _b.call($$, currLegend); + state.width = state.current.width - state.margin.left - state.margin.right; + state.height = state.current.height - state.margin.top - state.margin.bottom; + if (state.width < 0) { + state.width = 0; + } + if (state.height < 0) { + state.height = 0; + } + state.width2 = isRotated ? + state.margin.left - state.rotatedPadding.left - state.rotatedPadding.right : + state.width; + state.height2 = isRotated ? + state.height : + state.current.height - state.margin2.top - state.margin2.bottom; + if (state.width2 < 0) { + state.width2 = 0; + } + if (state.height2 < 0) { + state.height2 = 0; + } + // for arc + if ($$.hasArcType()) { + var hasGauge = $$.hasType("gauge"); + var isLegendRight = config.legend_show && state.isLegendRight; + var textWidth = (_c = (state.hasRadar && $$.cache.get(KEY.radarTextWidth))) !== null && _c !== void 0 ? _c : 0; + state.arcWidth = state.width - (isLegendRight ? currLegend.width + 10 : 0) - textWidth; + state.arcHeight = state.height - (isLegendRight && !hasGauge ? 0 : 10); + if ((_d = config.arc_rangeText_values) === null || _d === void 0 ? void 0 : _d.length) { + if (hasGauge) { + state.arcWidth -= 25; + state.arcHeight -= 10; + state.margin.left += 10; + } + else { + state.arcHeight -= 20; + state.margin.top += 10; + } + } + if (hasGauge && !config.gauge_fullCircle) { + state.arcHeight += state.height - $$.getPaddingBottomForGauge(); + } + (_e = $$.updateRadius) === null || _e === void 0 ? void 0 : _e.call($$); + } + if (state.isLegendRight && isNonAxis) { + state.margin3.left = state.arcWidth / 2 + state.radiusExpanded * 1.1; + } + } +}; + +var style = { + /** + * Add props color css rule to given selector + * @param {boolean} withShape Set shpes' prefix class + * @param {string} selector CSS selector + * @param {Array} props CSS props list + * @param {Function} propsFn Function to retrieve value or determine for props + * @returns {Function} + * @private + */ + setCssRule: function (withShape, selector, props, propsFn) { + var $$ = this; + var config = $$.config, _a = $$.state, cssRule = _a.cssRule, style = _a.style; + return config.boost_useCssRule ? + function (selection) { + selection.each(function (d) { + var res = propsFn && (propsFn === null || propsFn === void 0 ? void 0 : propsFn.call($$, d)); + var shapeSelector = "".concat(withShape ? ".".concat($SHAPE.shapes + $$.getTargetSelectorSuffix(d.id)) : "").concat(selector); + (selector in cssRule) && style.sheet.deleteRule(cssRule[shapeSelector]); + $$.state.cssRule[shapeSelector] = addCssRules(style, shapeSelector, props.filter(Boolean).map(function (v) { return (isString(res) && v.indexOf(":") === -1 ? "".concat(v, ": ").concat(res) : (v || "")); })); + }); + } : + function () { }; + }, + /** + * Get style prop value + * @param {Function|string} v Value + * @returns {string|null} + * @private + */ + getStylePropValue: function (v) { + var useCssRule = this.config.boost_useCssRule; + return useCssRule ? null : isFunction(v) ? v.bind(this) : v; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Get text-anchor according text.labels.rotate angle + * @param {number} angle Angle value + * @returns {string} Anchor string value + * @private + */ +function getRotateAnchor(angle) { + var anchor = "middle"; + if (angle > 0 && angle <= 170) { + anchor = "end"; + } + else if (angle > 190 && angle <= 360) { + anchor = "start"; + } + return anchor; +} +/** + * Set rotated position coordinate according text.labels.rotate angle + * @param {object} d Data object + * @param {object} pos Position object + * @param {object} pos.x x coordinate + * @param {object} pos.y y coordinate + * @param {string} anchor string value + * @param {boolean} isRotated If axis is rotated + * @param {boolean} isInverted If axis is inverted + * @returns {object} x, y coordinate + * @private + */ +function setRotatePos(d, pos, anchor, isRotated, isInverted) { + var _a; + var $$ = this; + var value = d.value; + var isCandlestickType = $$.isCandlestickType(d); + var isNegative = (isNumber(value) && value < 0) || (isCandlestickType && !((_a = $$.getCandlestickData(d)) === null || _a === void 0 ? void 0 : _a._isUp)); + var x = pos.x, y = pos.y; + var gap = 4; + var doubleGap = gap * 2; + if (isRotated) { + if (anchor === "start") { + x += isNegative ? 0 : doubleGap; + y += gap; + } + else if (anchor === "middle") { + x += doubleGap; + y -= doubleGap; + } + else if (anchor === "end") { + isNegative && (x -= doubleGap); + y += gap; + } + } + else { + if (anchor === "start") { + x += gap; + isNegative && (y += doubleGap * 2); + } + else if (anchor === "middle") { + y -= doubleGap; + } + else if (anchor === "end") { + x -= gap; + isNegative && (y += doubleGap * 2); + } + if (isInverted) { + y += isNegative ? -17 : (isCandlestickType ? 13 : 7); + } + } + return { x: x, y: y }; +} +/** + * Get data.labels.position value + * @param {object} d Data object + * @param {string} type x | y + * @returns {number} Position value + * @private + */ +function getTextPos(d, type) { + var _a; + var position = this.config.data_labels_position; + var id = d.id, index = d.index, value = d.value; + return (_a = (isFunction(position) ? + position.bind(this.api)(type, value, id, index, this.$el.text) : + (id in position ? position[id] : position)[type])) !== null && _a !== void 0 ? _a : 0; +} +var text = { + opacityForText: function (d) { + var $$ = this; + return $$.isBarType(d) && !$$.meetsLabelThreshold(Math.abs($$.getRatio("bar", d)), "bar") ? + "0" : + ($$.hasDataLabel ? null : "0"); + }, + /** + * Initializes the text + * @private + */ + initText: function () { + var $el = this.$el; + $el.main.select(".".concat($COMMON.chart)).append("g") + .attr("class", $TEXT.chartTexts) + .style("pointer-events", $el.funnel || $el.treemap ? "none" : null); + }, + /** + * Update chartText + * @param {object} targets $$.data.targets + * @private + */ + updateTargetsForText: function (targets) { + var $$ = this; + var classChartText = $$.getChartClass("Text"); + var classTexts = $$.getClass("texts", "id"); + var classFocus = $$.classFocus.bind($$); + var mainTextUpdate = $$.$el.main.select(".".concat($TEXT.chartTexts)) + .selectAll(".".concat($TEXT.chartText)) + .data(targets) + .attr("class", function (d) { return "".concat(classChartText(d)).concat(classFocus(d)).trim(); }); + var mainTextEnter = mainTextUpdate.enter().append("g") + .style("opacity", "0") + .attr("class", classChartText) + .call($$.setCssRule(true, " .".concat($TEXT.text), ["fill", "pointer-events:none"], $$.updateTextColor)); + mainTextEnter.append("g") + .attr("class", classTexts); + }, + /** + * Update text + * @private + */ + updateText: function () { + var $$ = this; + var $el = $$.$el, $T = $$.$T, config = $$.config, axis = $$.axis; + var classText = $$.getClass("text", "index"); + var labelsCentered = config.data_labels.centered; + var text = $el.main.selectAll(".".concat($TEXT.texts)) + .selectAll(".".concat($TEXT.text)) + .data($$.labelishData.bind($$)); + $T(text.exit()) + .style("fill-opacity", "0") + .remove(); + $el.text = text.enter() + .append("text") + .merge(text) + .attr("class", classText) + .attr("text-anchor", function (d) { + var isInverted = config["axis_".concat(axis === null || axis === void 0 ? void 0 : axis.getId(d.id), "_inverted")]; + // when value is negative or + var isEndAnchor = isInverted ? d.value > 0 : d.value < 0; + if ($$.isCandlestickType(d)) { + var data = $$.getCandlestickData(d); + isEndAnchor = !(data === null || data === void 0 ? void 0 : data._isUp); + } + else if ($$.isTreemapType(d)) { + return labelsCentered ? "middle" : "start"; + } + return (config.axis_rotated ? (isEndAnchor ? "end" : "start") : "middle"); + }) + .style("fill", $$.getStylePropValue($$.updateTextColor)) + .style("fill-opacity", "0") + .each(function (d, i, texts) { + var node = select(this); + var value = d.value; + if ($$.isBubbleZType(d)) { + value = $$.getBubbleZData(value, "z"); + } + else if ($$.isCandlestickType(d)) { + var data = $$.getCandlestickData(d); + if (data) { + value = data.close; + } + } + value = $$.isTreemapType(d) ? + $$.treemapDataLabelFormat(d)(node) : + $$.dataLabelFormat(d.id)(value, d.id, d.index, texts); + if (isNumber(value)) { + this.textContent = value; + } + else { + setTextValue(node, value); + } + }); + }, + updateTextColor: function (d) { + var $$ = this; + var config = $$.config; + var labelColors = config.data_labels_colors; + var defaultColor = ($$.isArcType(d) && !$$.isRadarType(d)) || $$.isFunnelType(d) || $$.isTreemapType(d) ? + null : + $$.color(d); + var color; + if (isString(labelColors)) { + color = labelColors; + } + else if (isObject(labelColors)) { + var id = (d.data || d).id; + color = labelColors[id]; + } + else if (isFunction(labelColors)) { + color = labelColors.bind($$.api)(defaultColor, d); + } + if ($$.isCandlestickType(d) && !isFunction(labelColors)) { + var value = $$.getCandlestickData(d); + if (!(value === null || value === void 0 ? void 0 : value._isUp)) { + var downColor = config.candlestick_color_down; + color = isObject(downColor) ? downColor[d.id] : downColor; + } + } + return color || defaultColor; + }, + /** + * Update data label text background color + * @param {object} d Data object + * @param {object|string} option option object + * @returns {string|null} + * @private + */ + updateTextBGColor: function (d, option) { + var $$ = this; + var $el = $$.$el; + var color = ""; + if (isString(option) || isObject(option)) { + var id = isString(option) ? + "" : + $$.getTargetSelectorSuffix("id" in d ? d.id : d.data.id); + var filter = $el.defs.select(["filter[id*='labels-bg", "']"].join(id)); + if (filter.size()) { + color = "url(#".concat(filter.attr("id"), ")"); + } + } + return color || null; + }, + /** + * Redraw chartText + * @param {Function} getX Positioning function for x + * @param {Function} getY Positioning function for y + * @param {boolean} forFlow Weather is flow + * @param {boolean} withTransition transition is enabled + * @returns {Array} + * @private + */ + redrawText: function (getX, getY, forFlow, withTransition) { + var $$ = this; + var $T = $$.$T, axis = $$.axis, config = $$.config, hasTreemap = $$.state.hasTreemap; + var t = getRandom(true); + var isRotated = config.axis_rotated; + var angle = config.data_labels.rotate; + var anchorString = getRotateAnchor(angle); + var rotateString = angle ? "rotate(".concat(angle, ")") : ""; + $$.$el.text + .style("fill", $$.getStylePropValue($$.updateTextColor)) + .attr("filter", function (d) { return $$.updateTextBGColor.bind($$)(d, config.data_labels_backgroundColors); }) + .style("fill-opacity", forFlow ? 0 : $$.opacityForText.bind($$)) + .each(function (d, i) { + // do not apply transition for newly added text elements + var node = $T(hasTreemap && this.childElementCount ? this.parentNode : this, !!(withTransition && this.getAttribute("x")), t); + var isInverted = config["axis_".concat(axis === null || axis === void 0 ? void 0 : axis.getId(d.id), "_inverted")]; + var pos = { + x: getX.bind(this)(d, i), + y: getY.bind(this)(d, i) + }; + if (angle) { + pos = setRotatePos.bind($$)(d, pos, anchorString, isRotated, isInverted); + node.attr("text-anchor", anchorString); + } + // when is multiline + if (this.childElementCount || angle) { + node.attr("transform", "translate(".concat(pos.x, " ").concat(pos.y, ") ").concat(rotateString)); + } + else { + node.attr("x", pos.x).attr("y", pos.y); + } + }); + // need to return 'true' as of being pushed to the redraw list + // ref: getRedrawList() + return true; + }, + /** + * Gets the getBoundingClientRect value of the element + * @param {HTMLElement|d3.selection} element Target element + * @param {string} className Class name + * @returns {object} value of element.getBoundingClientRect() + * @private + */ + getTextRect: function (element, className) { + var $$ = this; + var base = element.node ? element.node() : element; + if (!/text/i.test(base.tagName)) { + base = base.querySelector("text"); + } + var text = base.textContent; + var cacheKey = "".concat(KEY.textRect, "-").concat(text.replace(/\W/g, "_")); + var rect = $$.cache.get(cacheKey); + if (!rect) { + $$.$el.svg.append("text") + .style("visibility", "hidden") + .style("font", select(base).style("font")) + .classed(className, true) + .text(text) + .call(function (v) { + rect = getBoundingRect(v.node()); + }) + .remove(); + $$.cache.add(cacheKey, rect); + } + return rect; + }, + /** + * Gets the x or y coordinate of the text + * @param {object} indices Indices values + * @param {boolean} forX whether or not to x + * @returns {number} coordinates + * @private + */ + generateXYForText: function (indices, forX) { + var $$ = this; + var _a = $$.state, hasRadar = _a.hasRadar, hasFunnel = _a.hasFunnel, hasTreemap = _a.hasTreemap; + var types = Object.keys(indices); + var points = {}; + var getter = forX ? $$.getXForText : $$.getYForText; + hasFunnel && types.push("funnel"); + hasRadar && types.push("radar"); + hasTreemap && types.push("treemap"); + types.forEach(function (v) { + points[v] = $$["generateGet".concat(capitalize(v), "Points")](indices[v], false); + }); + return function (d, i) { + var type = ($$.isAreaType(d) && "area") || + ($$.isBarType(d) && "bar") || + ($$.isCandlestickType(d) && "candlestick") || + ($$.isFunnelType(d) && "funnel") || + ($$.isRadarType(d) && "radar") || + ($$.isTreemapType(d) && "treemap") || "line"; + return getter.call($$, points[type](d, i), d, this); + }; + }, + /** + * Get centerized text position for bar type data.label.text + * @param {object} d Data object + * @param {Array} points Data points position + * @param {HTMLElement} textElement Data label text element + * @param {string} type 'x' or 'y' + * @returns {number} Position value + * @private + */ + getCenteredTextPos: function (d, points, textElement, type) { + var $$ = this; + var config = $$.config; + var isRotated = config.axis_rotated; + var isBarType = $$.isBarType(d); + var isTreemapType = $$.isTreemapType(d); + if (config.data_labels.centered && (isBarType || isTreemapType)) { + var rect = getBoundingRect(textElement); + if (isBarType) { + var isPositive = $$.getRangedData(d, null, "bar") >= 0; + if (isRotated) { + var w = (isPositive ? + points[1][1] - points[0][1] : + points[0][1] - points[1][1]) / 2 + (rect.width / 2); + return isPositive ? -w - 3 : w + 2; + } + else { + var h = (isPositive ? + points[0][1] - points[1][1] : + points[1][1] - points[0][1]) / 2 + (rect.height / 2); + return isPositive ? h : -h - 2; + } + } + else if (isTreemapType) { + return type === "x" ? + (points[1][0] - points[0][0]) / 2 : + (points[1][1] - points[0][1]) / 2 + (rect.height / 2); + } + } + return 0; + }, + /** + * Gets the x coordinate of the text + * @param {object} points Data points position + * @param {object} d Data object + * @param {HTMLElement} textElement Data label text element + * @returns {number} x coordinate + * @private + */ + getXForText: function (points, d, textElement) { + var _a; + var $$ = this; + var config = $$.config; + var isRotated = config.axis_rotated; + var isFunnelType = $$.isFunnelType(d); + var isTreemapType = $$.isTreemapType(d); + var xPos = points ? points[0][0] : 0; + if ($$.isCandlestickType(d)) { + if (isRotated) { + xPos = ((_a = $$.getCandlestickData(d)) === null || _a === void 0 ? void 0 : _a._isUp) ? points[2][2] + 4 : points[2][1] - 4; + } + else { + xPos += (points[1][0] - xPos) / 2; + } + } + else if (isFunnelType) { + xPos += $$.state.current.width / 2; + } + else if (isTreemapType) { + xPos += config.data_labels.centered ? 0 : 5; + } + else { + if (isRotated) { + var isInverted = config["axis_".concat($$.axis.getId(d.id), "_inverted")]; + var padding = $$.isBarType(d) ? 4 : 6; + var value = d.value; + xPos = points[2][1]; + if (isInverted) { + xPos -= padding * (value > 0 ? 1 : -1); + } + else { + xPos += padding * (value < 0 ? -1 : 1); + } + } + else { + xPos = $$.hasType("bar") ? (points[2][0] + points[0][0]) / 2 : xPos; + } + } + if (isRotated || isTreemapType) { + xPos += $$.getCenteredTextPos(d, points, textElement, "x"); + } + return xPos + getTextPos.call(this, d, "x"); + }, + /** + * Gets the y coordinate of the text + * @param {object} points Data points position + * @param {object} d Data object + * @param {HTMLElement} textElement Data label text element + * @returns {number} y coordinate + * @private + */ + getYForText: function (points, d, textElement) { + var $$ = this; + var axis = $$.axis, config = $$.config, state = $$.state; + var isRotated = config.axis_rotated; + var isInverted = config["axis_".concat(axis === null || axis === void 0 ? void 0 : axis.getId(d.id), "_inverted")]; + var isBarType = $$.isBarType(d); + var isFunnelType = $$.isFunnelType(d); + var isTreemapType = $$.isTreemapType(d); + var r = config.point_r; + var rect = getBoundingRect(textElement); + var value = d.value; + var baseY = 3; + var yPos; + if ($$.isCandlestickType(d)) { + value = $$.getCandlestickData(d); + if (isRotated) { + yPos = points[0][0]; + yPos += ((points[1][0] - yPos) / 2) + baseY; + } + else { + yPos = value && value._isUp ? points[2][2] - baseY : points[2][1] + (baseY * 4); + if (isInverted) { + yPos += 15 * (value._isUp ? 1 : -1); + } + } + } + else if (isFunnelType) { + yPos = points ? + points[0][1] + ((points[1][1] - points[0][1]) / 2) + rect.height / 2 - 3 : + 0; + } + else if (isTreemapType) { + yPos = points[0][1] + (config.data_labels.centered ? 0 : rect.height + 5); + } + else { + if (isRotated) { + yPos = (points[0][0] + points[2][0] + rect.height * 0.6) / 2; + } + else { + yPos = points[2][1]; + if (isNumber(r) && r > 5 && ($$.isLineType(d) || $$.isScatterType(d))) { + baseY += config.point_r / 2.3; + } + if (value < 0 || (value === 0 && !state.hasPositiveValue && state.hasNegativeValue)) { + yPos += isInverted ? (isBarType ? -3 : -5) : (rect.height + (isBarType ? -baseY : baseY)); + } + else { + var diff = -baseY * 2; + if (isBarType) { + diff = -baseY; + } + else if ($$.isBubbleType(d)) { + diff = baseY; + } + if (isInverted) { + diff = isBarType ? 10 : 15; + } + yPos += diff; + } + } + } + if (!isRotated || isTreemapType) { + yPos += $$.getCenteredTextPos(d, points, textElement, "y"); + } + return yPos + getTextPos.call(this, d, "y"); + }, + /** + * Calculate if two or more text nodes are overlapping + * Mark overlapping text nodes with "text-overlapping" class + * @param {string} id Axis id + * @param {ChartInternal} $$ ChartInternal context + * @param {string} selector Selector string + * @private + */ + markOverlapped: function (id, $$, selector) { + var textNodes = $$.$el.arcs.selectAll(selector); + var filteredTextNodes = textNodes.filter(function (node) { return node.data.id !== id; }); + var textNode = textNodes.filter(function (node) { return node.data.id === id; }); + var translate = getTranslation(textNode.node()); + // Calculates the length of the hypotenuse + var calcHypo = function (x, y) { return Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)); }; + textNode.node() && filteredTextNodes.each(function () { + var coordinate = getTranslation(this); + var filteredTextNode = select(this); + var nodeForWidth = calcHypo(translate.e, translate.f) > calcHypo(coordinate.e, coordinate.f) ? + textNode : + filteredTextNode; + var overlapsX = Math.ceil(Math.abs(translate.e - coordinate.e)) < + Math.ceil(nodeForWidth.node().getComputedTextLength()); + var overlapsY = Math.ceil(Math.abs(translate.f - coordinate.f)) < + parseInt(textNode.style("font-size"), 10); + filteredTextNode.classed($TEXT.TextOverlapping, overlapsX && overlapsY); + }); + }, + /** + * Calculate if two or more text nodes are overlapping + * Remove "text-overlapping" class on selected text nodes + * @param {ChartInternal} $$ ChartInternal context + * @param {string} selector Selector string + * @private + */ + undoMarkOverlapped: function ($$, selector) { + $$.$el.arcs.selectAll(selector) + .each(function () { + selectAll([this, this.previousSibling]) + .classed($TEXT.TextOverlapping, false); + }); + }, + /** + * Check if meets the ratio to show data label text + * @param {number} ratio ratio to meet + * @param {string} type chart type + * @returns {boolean} + * @private + */ + meetsLabelThreshold: function (ratio, type) { + if (ratio === void 0) { ratio = 0; } + var $$ = this; + var config = $$.config; + var threshold = config["".concat(type, "_label_threshold")] || 0; + return ratio >= threshold; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Get the text position + * @param {string} pos right, left or center + * @param {number} width chart width + * @returns {string|number} text-anchor value or position in pixel + * @private + */ +function getTextXPos(pos, width) { + if (pos === void 0) { pos = "left"; } + var isNum = isNumber(width); + var position; + if (pos.indexOf("center") > -1) { + position = isNum ? width / 2 : "middle"; + } + else if (pos.indexOf("right") > -1) { + position = isNum ? width : "end"; + } + else { + position = isNum ? 0 : "start"; + } + return position; +} +var title = { + /** + * Initializes the title + * @private + */ + initTitle: function () { + var $$ = this; + var config = $$.config, $el = $$.$el; + if (config.title_text) { + $el.title = $el.svg.append("g"); + var text = $el.title + .append("text") + .style("text-anchor", getTextXPos(config.title_position)) + .attr("class", $TEXT.title); + setTextValue(text, config.title_text, [0.3, 1.5]); + } + }, + /** + * Redraw title + * @private + */ + redrawTitle: function () { + var $$ = this; + var config = $$.config, current = $$.state.current, title = $$.$el.title; + if (title) { + var x = getTextXPos(config.title_position, current.width); + var y = (config.title_padding.top || 0) + + $$.getTextRect($$.$el.title, $TEXT.title).height; + title.attr("transform", "translate(".concat(x, ", ").concat(y, ")")); + } + }, + /** + * Get title padding + * @returns {number} padding value + * @private + */ + getTitlePadding: function () { + var $$ = this; + var title = $$.$el.title, config = $$.config; + return (config.title_padding.top || 0) + + (title ? $$.getTextRect(title, $TEXT.title).height : 0) + + (config.title_padding.bottom || 0); + } +}; + +var tooltip$1 = { + /** + * Initializes the tooltip + * @private + */ + initTooltip: function () { + var $$ = this; + var config = $$.config, $el = $$.$el; + $el.tooltip = select(config.tooltip_contents.bindto); + if ($el.tooltip.empty()) { + $el.tooltip = $el.chart + .append("div") + .attr("class", $TOOLTIP.tooltipContainer) + .style("position", "absolute") + .style("pointer-events", "none") + .style("display", "none"); + } + $$.bindTooltipResizePos(); + }, + /** + * Show tooltip at initialization. + * Is called only when tooltip.init.show=true option is set + * @private + */ + initShowTooltip: function () { + var _a; + var _b; + var $$ = this; + var config = $$.config, $el = $$.$el, _c = $$.state, hasAxis = _c.hasAxis, hasRadar = _c.hasRadar; + // Show tooltip if needed + if (config.tooltip_init_show) { + var isArc = !(hasAxis || hasRadar); + if (((_b = $$.axis) === null || _b === void 0 ? void 0 : _b.isTimeSeries()) && isString(config.tooltip_init_x)) { + config.tooltip_init_x = parseDate.call($$, config.tooltip_init_x); + } + $$.api.tooltip.show({ + data: (_a = {}, + _a[isArc ? "index" : "x"] = config.tooltip_init_x, + _a) + }); + var position = config.tooltip_init_position; + if (!config.tooltip_contents.bindto && !isEmpty(position)) { + var _d = position.top, top_1 = _d === void 0 ? 0 : _d, _e = position.left, left = _e === void 0 ? 50 : _e; + $el.tooltip.style("top", isString(top_1) ? top_1 : "".concat(top_1, "px")) + .style("left", isString(left) ? left : "".concat(left, "px")) + .style("display", null); + } + } + }, + /** + * Get the tooltip HTML string + * @param {Array} args Arguments + * @returns {string} Formatted HTML string + * @private + */ + getTooltipHTML: function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var $$ = this; + var api = $$.api, config = $$.config; + return isFunction(config.tooltip_contents) ? config.tooltip_contents.bind(api).apply(void 0, args) : $$.getTooltipContent.apply($$, args); + }, + /** + * Returns the tooltip content(HTML string) + * @param {object} d data + * @param {Function} defaultTitleFormat Default title format + * @param {Function} defaultValueFormat Default format for each data value in the tooltip. + * @param {Function} color Color function + * @returns {string} html + * @private + */ + getTooltipContent: function (d, defaultTitleFormat, defaultValueFormat, color) { + var _a; + var $$ = this; + var api = $$.api, config = $$.config, state = $$.state, $el = $$.$el; + // get formatter function + var _b = ["title", "name", "value"].map(function (v) { + var fn = config["tooltip_format_".concat(v)]; + return isFunction(fn) ? fn.bind(api) : fn; + }), titleFn = _b[0], nameFn = _b[1], valueFn = _b[2]; + // determine fotmatter function with sanitization + var titleFormat = function () { + var arg = []; + for (var _i = 0; _i < arguments.length; _i++) { + arg[_i] = arguments[_i]; + } + return sanitize((titleFn || defaultTitleFormat).apply(void 0, arg)); + }; + var nameFormat = function () { + var arg = []; + for (var _i = 0; _i < arguments.length; _i++) { + arg[_i] = arguments[_i]; + } + return sanitize((nameFn || (function (name) { return name; })).apply(void 0, arg)); + }; + var valueFormat = function () { + var arg = []; + for (var _i = 0; _i < arguments.length; _i++) { + arg[_i] = arguments[_i]; + } + var fn = valueFn || (state.hasTreemap || $$.isStackNormalized() ? + function (v, ratio) { return "".concat((ratio * 100).toFixed(2), "%"); } : + defaultValueFormat); + return sanitize(fn.apply(void 0, arg)); + }; + var order = config.tooltip_order; + var getRowValue = function (row) { return ($$.axis && $$.isBubbleZType(row) ? + $$.getBubbleZData(row.value, "z") : + $$.getBaseValue(row)); }; + var getBgColor = $$.levelColor ? function (row) { return $$.levelColor(row.value); } : function (row) { return color(row); }; + var contents = config.tooltip_contents; + var tplStr = contents.template; + var targetIds = $$.mapToTargetIds(); + if (order === null && config.data_groups.length) { + // for stacked data, order should aligned with the visually displayed data + var ids_1 = $$.orderTargets($$.data.targets) + .map(function (i2) { return i2.id; }) + .reverse(); + d.sort(function (a, b) { + var v1 = a ? a.value : null; + var v2 = b ? b.value : null; + if (v1 > 0 && v2 > 0) { + v1 = a.id ? ids_1.indexOf(a.id) : null; + v2 = b.id ? ids_1.indexOf(b.id) : null; + } + return v1 - v2; + }); + } + else if (/^(asc|desc)$/.test(order)) { + var isAscending_1 = order === "asc"; + d.sort(function (a, b) { + var v1 = a ? getRowValue(a) : null; + var v2 = b ? getRowValue(b) : null; + return isAscending_1 ? v1 - v2 : v2 - v1; + }); + } + else if (isFunction(order)) { + d.sort(order.bind(api)); + } + var tpl = $$.getTooltipContentTemplate(tplStr); + var len = d.length; + var text; + var row; + var param; + var value; + var i; + var _loop_1 = function () { + row = d[i]; + if (!row || !(getRowValue(row) || getRowValue(row) === 0)) { + return "continue"; + } + if (isUndefined(text)) { + var title = (state.hasAxis || state.hasRadar) && titleFormat(row.x); + text = tplProcess(tpl[0], { + CLASS_TOOLTIP: $TOOLTIP.tooltip, + TITLE: isValue(title) ? + (tplStr ? title : "<tr><th colspan=\"2\">".concat(title, "</th></tr>")) : + "" + }); + } + if (!row.ratio && $el.arcs) { + param = ["arc", $$.$el.arcs.select("path.".concat($ARC.arc, "-").concat(row.id)).data()[0]]; + row.ratio = $$.getRatio.apply($$, param); + } + // arrange param to be passed to formatter + param = [row.ratio, row.id, row.index]; + if ($$.isAreaRangeType(row)) { + var _c = ["high", "low"].map(function (v) { + return valueFormat.apply(void 0, __spreadArray([$$.getRangedData(row, v)], param, false)); + }), high = _c[0], low = _c[1]; + var mid = valueFormat.apply(void 0, __spreadArray([getRowValue(row)], param, false)); + value = "<b>Mid:</b> ".concat(mid, " <b>High:</b> ").concat(high, " <b>Low:</b> ").concat(low); + } + else if ($$.isCandlestickType(row)) { + var _d = ["open", "high", "low", "close", "volume"] + .map(function (v) { + var value = $$.getRangedData(row, v, "candlestick"); + return value ? valueFormat.apply(void 0, __spreadArray([$$.getRangedData(row, v, "candlestick")], param, false)) : + undefined; + }), open_1 = _d[0], high = _d[1], low = _d[2], close_1 = _d[3], volume = _d[4]; + value = + "<b>Open:</b> ".concat(open_1, " <b>High:</b> ").concat(high, " <b>Low:</b> ").concat(low, " <b>Close:</b> ").concat(close_1).concat(volume ? " <b>Volume:</b> ".concat(volume) : ""); + } + else if ($$.isBarRangeType(row)) { + var rangeValue = row.value, id = row.id, index = row.index; + value = "".concat(valueFormat(rangeValue, undefined, id, index)); + } + else { + value = valueFormat.apply(void 0, __spreadArray([getRowValue(row)], param, false)); + } + if (value !== undefined) { + // Skip elements when their name is set to null + if (row.name === null) { + return "continue"; + } + var name_1 = nameFormat.apply(void 0, __spreadArray([(_a = row.name) !== null && _a !== void 0 ? _a : row.id], param, false)); + var color_1 = getBgColor(row); + var contentValue_1 = { + CLASS_TOOLTIP_NAME: $TOOLTIP.tooltipName + $$.getTargetSelectorSuffix(row.id), + COLOR: (tplStr || !$$.patterns) ? + color_1 : + "<svg><rect style=\"fill:".concat(color_1, "\" width=\"10\" height=\"10\"></rect></svg>"), + NAME: name_1, + VALUE: value + }; + if (tplStr && isObject(contents.text)) { + var index_1 = targetIds.indexOf(row.id); + Object.keys(contents.text).forEach(function (key) { + contentValue_1[key] = contents.text[key][index_1]; + }); + } + text += tplProcess(tpl[1], contentValue_1); + } + }; + for (i = 0; i < len; i++) { + _loop_1(); + } + return "".concat(text, "</table>"); + }, + /** + * Get the content template string + * @param {string} tplStr Tempalte string + * @returns {Array} Template string + * @private + */ + getTooltipContentTemplate: function (tplStr) { + return (tplStr || "<table class=\"{=CLASS_TOOLTIP}\"><tbody>\n\t\t\t\t{=TITLE}\n\t\t\t\t{{<tr class=\"{=CLASS_TOOLTIP_NAME}\">\n\t\t\t\t\t<td class=\"name\">".concat(this.patterns ? "{=COLOR}" : "<span style=\"background-color:{=COLOR}\"></span>", "{=NAME}</td>\n\t\t\t\t\t<td class=\"value\">{=VALUE}</td>\n\t\t\t\t</tr>}}\n\t\t\t</tbody></table>")) + .replace(/(\r?\n|\t)/g, "") + .split(/{{(.*)}}/); + }, + /** + * Update tooltip position coordinate + * @param {object} dataToShow Data object + * @param {SVGElement} eventTarget Event element + * @private + */ + setTooltipPosition: function (dataToShow, eventTarget) { + var _a, _b; + var $$ = this; + var config = $$.config, scale = $$.scale, state = $$.state, _c = $$.$el, eventRect = _c.eventRect, tooltip = _c.tooltip, svg = _c.svg; + var bindto = config.tooltip_contents.bindto; + var isRotated = config.axis_rotated; + var datum = tooltip === null || tooltip === void 0 ? void 0 : tooltip.datum(); + if (!bindto && datum) { + var data = dataToShow !== null && dataToShow !== void 0 ? dataToShow : JSON.parse(datum.current); + var _d = getPointer(state.event, eventTarget !== null && eventTarget !== void 0 ? eventTarget : eventRect === null || eventRect === void 0 ? void 0 : eventRect.node()), x = _d[0], y = _d[1]; // get mouse event position + var currPos = { x: x, y: y }; + if (state.hasAxis && scale.x && datum && "x" in datum) { + var getYPos = function (value, id, axisId) { + var _a; + if (value === void 0) { value = 0; } + if (axisId === void 0) { axisId = "y"; } + var scaleFn = scale[id ? (_a = $$.axis) === null || _a === void 0 ? void 0 : _a.getId(id) : axisId]; + return scaleFn ? + scaleFn(value) + (isRotated ? state.margin.left : state.margin.top) : + 0; + }; + currPos.xAxis = scale.x(datum.x) + ( + // add margin only when user specified tooltip.position function + config.tooltip_position ? (isRotated ? state.margin.top : state.margin.left) : 0); + if (data.length === 1) { + currPos.yAxis = getYPos(data[0].value, data[0].id); + } + else { + currPos.yAxis = getYPos; + } + } + var _e = datum.width, width = _e === void 0 ? 0 : _e, _f = datum.height, height = _f === void 0 ? 0 : _f; + // Get tooltip position + var pos_1 = (_b = (_a = config.tooltip_position) === null || _a === void 0 ? void 0 : _a.bind($$.api)(data, width, height, eventRect === null || eventRect === void 0 ? void 0 : eventRect.node(), currPos)) !== null && _b !== void 0 ? _b : (hasViewBox(svg) ? + $$.getTooltipPositionViewBox.bind($$)(width, height, currPos) : + $$.getTooltipPosition.bind($$)(width, height, currPos)); + ["top", "left"].forEach(function (v) { + var value = pos_1[v]; + tooltip.style(v, "".concat(value, "px")); + // Remember left pos in percentage to be used on resize call + if (v === "left" && !datum.xPosInPercent) { + datum.xPosInPercent = value / state.current.width * 100; + } + }); + } + }, + /** + * Get tooltip position when svg has vieBox attribute + * @param {number} tWidth Tooltip width value + * @param {number} tHeight Tooltip height value + * @param {object} currPos Current event position value from SVG coordinate + * @returns {object} top, left value + */ + getTooltipPositionViewBox: function (tWidth, tHeight, currPos) { + var _a, _b; + var $$ = this; + var _c = $$.$el, eventRect = _c.eventRect, svg = _c.svg, config = $$.config, state = $$.state; + var isRotated = config.axis_rotated; + var hasArcType = $$.hasArcType() || state.hasFunnel || state.hasTreemap; + var target = (_b = (_a = (hasArcType ? svg : eventRect)) === null || _a === void 0 ? void 0 : _a.node()) !== null && _b !== void 0 ? _b : state.event.target; + var x = currPos.x, y = currPos.y; + if (state.hasAxis) { + x = isRotated ? x : currPos.xAxis; + y = isRotated ? currPos.xAxis : y; + } + // currPos value based on SVG coordinate + var ctm = getTransformCTM(target, x, y, false); + var rect = target.getBoundingClientRect(); + var size = getTransformCTM(target, 20, 0, false).x; + var top = ctm.y; + var left = ctm.x + (tWidth / 2) + size; + if (hasArcType) { + if (state.hasFunnel || state.hasTreemap || state.hasRadar) { + left -= (tWidth / 2) + size; + top += tHeight; + } + else { + top += rect.height / 2; + left += (rect.width / 2) - (tWidth - size); + } + } + if (left + tWidth > rect.width) { + left = rect.width - tWidth - size; + } + if (top + tHeight > rect.height) { + top -= tHeight * 2; + } + return { + top: top, + left: left + }; + }, + /** + * Returns the position of the tooltip + * @param {string} tWidth Width value of tooltip element + * @param {string} tHeight Height value of tooltip element + * @param {object} currPos Current mouse position + * @returns {object} top, left value + * @private + */ + getTooltipPosition: function (tWidth, tHeight, currPos) { + var _a, _b, _c; + var $$ = this; + var config = $$.config, scale = $$.scale, state = $$.state; + var width = state.width, height = state.height, current = state.current, hasFunnel = state.hasFunnel, hasRadar = state.hasRadar, hasTreemap = state.hasTreemap, isLegendRight = state.isLegendRight, inputType = state.inputType; + var hasGauge = $$.hasType("gauge") && !config.gauge_fullCircle; + var isRotated = config.axis_rotated; + var hasArcType = $$.hasArcType(); + var svgLeft = $$.getSvgLeft(true); + var chartRight = svgLeft + current.width - $$.getCurrentPaddingByDirection("right"); + var size = 20; + var x = currPos.x, y = currPos.y; + // Determine tooltip position + if (hasRadar) { + x += x >= (width / 2) ? 15 : -(tWidth + 15); + y += 15; + } + else if (hasArcType) { + var notTouch = inputType !== "touch"; + if (notTouch) { + var titlePadding = (_b = (_a = $$.getTitlePadding) === null || _a === void 0 ? void 0 : _a.call($$)) !== null && _b !== void 0 ? _b : 0; + if (titlePadding && hasGauge && ((_c = config.arc_rangeText_values) === null || _c === void 0 ? void 0 : _c.length)) { + titlePadding += 10; + } + x += (width - (isLegendRight ? $$.getLegendWidth() : 0)) / 2; + y += (hasGauge ? height : (height / 2) + tHeight) + titlePadding; + } + } + else if (hasFunnel || hasTreemap) { + y += tHeight; + } + else { + var padding = { + top: $$.getCurrentPaddingByDirection("top", true), + left: $$.getCurrentPaddingByDirection("left", true) + }; + if (isRotated) { + x += svgLeft + padding.left + size; + y = padding.top + currPos.xAxis + size; + chartRight -= svgLeft; + } + else { + x = svgLeft + padding.left + size + (scale.zoom ? x : currPos.xAxis); + y += padding.top - 5; + } + } + // when tooltip left + tWidth > chart's width + if ((x + tWidth + 15) > chartRight) { + x -= tWidth + (hasFunnel || hasTreemap || hasArcType ? 0 : (isRotated ? size * 2 : 38)); + } + if (y + tHeight > current.height) { + var gap = hasTreemap ? tHeight + 10 : 30; + y -= hasGauge ? tHeight * 1.5 : tHeight + gap; + } + var pos = { top: y, left: x }; + // make sure to not be positioned out of viewport + Object.keys(pos).forEach(function (v) { + if (pos[v] < 0) { + pos[v] = 0; + } + }); + return pos; + }, + /** + * Show the tooltip + * @param {object} selectedData Data object + * @param {SVGElement} eventTarget Event element + * @private + */ + showTooltip: function (selectedData, eventTarget) { + var $$ = this; + var config = $$.config, tooltip = $$.$el.tooltip; + var dataToShow = selectedData.filter(function (d) { return d && isValue($$.getBaseValue(d)); }); + if (!tooltip || dataToShow.length === 0 || !config.tooltip_show) { + return; + } + var datum = tooltip.datum(); + var dataStr = JSON.stringify(selectedData); + if (!datum || datum.current !== dataStr) { + var _a = selectedData.concat().sort()[0], index = _a.index, x = _a.x; + callFn(config.tooltip_onshow, $$.api, selectedData); + // set tooltip content + tooltip + .html($$.getTooltipHTML(selectedData, // data + $$.axis ? $$.axis.getXAxisTickFormat() : $$.categoryName.bind($$), // defaultTitleFormat + $$.getDefaultValueFormat(), // defaultValueFormat + $$.color // color + )) + .style("display", null) + .style("visibility", null) // for IE9 + .datum(datum = { + index: index, + x: x, + current: dataStr, + width: tooltip.property("offsetWidth"), + height: tooltip.property("offsetHeight") + }); + callFn(config.tooltip_onshown, $$.api, selectedData); + $$._handleLinkedCharts(true, index); + } + $$.setTooltipPosition(dataToShow, eventTarget); + }, + /** + * Adjust tooltip position on resize event + * @private + */ + bindTooltipResizePos: function () { + var $$ = this; + var resizeFunction = $$.resizeFunction, state = $$.state, tooltip = $$.$el.tooltip; + resizeFunction.add(function () { + if (tooltip.style("display") === "block") { + var current = state.current; + var _a = tooltip.datum(), width = _a.width, xPosInPercent = _a.xPosInPercent; + var value = current.width / 100 * xPosInPercent; + var diff = current.width - (value + width); + // if tooltip size overs current viewport size + if (diff < 0) { + value += diff; + } + tooltip.style("left", "".concat(value, "px")); + } + }); + }, + /** + * Hide the tooltip + * @param {boolean} force Force to hide + * @private + */ + hideTooltip: function (force) { + var _a; + var $$ = this; + var api = $$.api, config = $$.config, tooltip = $$.$el.tooltip; + if (tooltip && tooltip.style("display") !== "none" && (!config.tooltip_doNotHide || force)) { + var selectedData = JSON.parse((_a = tooltip.datum().current) !== null && _a !== void 0 ? _a : {}); + callFn(config.tooltip_onhide, api, selectedData); + // hide tooltip + tooltip + .style("display", "none") + .style("visibility", "hidden") // for IE9 + .datum(null); + callFn(config.tooltip_onhidden, api, selectedData); + } + }, + /** + * Toggle display for linked chart instances + * @param {boolean} show true: show, false: hide + * @param {number} index x Axis index + * @private + */ + _handleLinkedCharts: function (show, index) { + var $$ = this; + var charts = $$.charts, config = $$.config, event = $$.state.event; + // Prevent propagation among instances if isn't instantiated from the user's event + // https://github.com/naver/billboard.js/issues/1979 + if ((event === null || event === void 0 ? void 0 : event.isTrusted) && config.tooltip_linked && charts.length > 1) { + var linkedName_1 = config.tooltip_linked_name; + charts + .filter(function (c) { return c !== $$.api; }) + .forEach(function (c) { + var _a = c.internal, config = _a.config, $el = _a.$el; + var isLinked = config.tooltip_linked; + var name = config.tooltip_linked_name; + var isInDom = doc.body.contains($el.chart.node()); + if (isLinked && linkedName_1 === name && isInDom) { + var data = $el.tooltip.data()[0]; + var isNotSameIndex = index !== (data === null || data === void 0 ? void 0 : data.index); + try { + c.tooltip[show && isNotSameIndex ? "show" : "hide"]({ index: index }); + } + catch (_b) { } + } + }); + } + }, + /** + * Update tooltip content on redraw + * - In a situation where tooltip is displayed and data load happens, it should reflect loaded data to tooltip + * @param {d3Selection} context Event rect element + * @param {number} index Data index + * @private + */ + updateTooltipOnRedraw: function (context, index) { + var _a; + var $$ = this; + var config = $$.config, _b = $$.$el, eventRect = _b.eventRect, svg = _b.svg, tooltip = _b.tooltip, _c = $$.state, event = _c.event, hasAxis = _c.hasAxis, hasRadar = _c.hasRadar, hasTreemap = _c.hasTreemap; + // Update tooltip, when tooltip is in shown state + if ((tooltip === null || tooltip === void 0 ? void 0 : tooltip.style("display")) === "block" && event) { + var rect = context !== null && context !== void 0 ? context : (_a = (hasRadar ? svg : eventRect)) === null || _a === void 0 ? void 0 : _a.node(); + // for Axis based & Radar + if (hasAxis || hasRadar) { + if ($$.isMultipleX()) { + $$.selectRectForMultipleXs(rect, false); + } + else { + var idx = index !== null && index !== void 0 ? index : $$.getDataIndexFromEvent(event); + if (index === -1) { + $$.api.tooltip.hide(); + } + else { + $$.selectRectForSingle(rect, idx); + $$.setExpand(idx, null, true); + } + } + } + else { // for Arc & Treemap + var clientX_1 = event.clientX, clientY_1 = event.clientY; + setTimeout(function () { + var target = [clientX_1, clientY_1].every(Number.isFinite) && + doc.elementFromPoint(clientX_1, clientY_1); + var data = target && select(target).datum(); + if (data) { + var d = $$.hasArcType() ? + $$.convertToArcData($$.updateAngle(data)) : + data === null || data === void 0 ? void 0 : data.data; + hasTreemap && (target = svg.node()); + d && $$.showTooltip([d], target); + } + else { + $$.api.tooltip.hide(); + } + }, config.transition_duration); + } + } + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var transform = { + getTranslate: function (target, index) { + var _a; + if (index === void 0) { index = 0; } + var $$ = this; + var config = $$.config, state = $$.state; + var isRotated = config.axis_rotated; + var padding = 0; + var x; + var y; + if (index && /^(x|y2?)$/.test(target)) { + padding = $$.getAxisSize(target) * index; + } + if (target === "main") { + x = asHalfPixel(state.margin.left); + y = asHalfPixel(state.margin.top); + } + else if (target === "context") { + x = asHalfPixel(state.margin2.left); + y = asHalfPixel(state.margin2.top); + } + else if (target === "legend") { + x = state.margin3.left; + y = state.margin3.top; + } + else if (target === "x") { + x = isRotated ? -padding : 0; + y = isRotated ? 0 : state.height + padding; + } + else if (target === "y") { + x = isRotated ? 0 : -padding; + y = isRotated ? state.height + padding : 0; + } + else if (target === "y2") { + x = isRotated ? 0 : state.width + padding; + y = isRotated ? -padding - 1 : 0; + } + else if (target === "subX") { + x = 0; + y = isRotated ? 0 : state.height2; + } + else if (target === "arc") { + x = state.arcWidth / 2; + y = state.arcHeight / 2; + if ((_a = config.arc_rangeText_values) === null || _a === void 0 ? void 0 : _a.length) { + y += 5 + ($$.hasType("gauge") && config.title_text ? 10 : 0); + } + } + else if (target === "polar") { + x = state.arcWidth / 2; + y = state.arcHeight / 2; + } + else if (target === "radar") { + var _b = $$.getRadarSize(), width = _b[0], height = _b[1]; + x = state.width / 2 - width; + y = state.height / 2 - height; + } + return "translate(".concat(x, ", ").concat(y, ")"); + }, + transformMain: function (withTransition, transitions) { + var $$ = this; + var main = $$.$el.main, $T = $$.$T; + var xAxis = (transitions === null || transitions === void 0 ? void 0 : transitions.axisX) ? + transitions.axisX : + $T(main.select(".".concat($AXIS.axisX)), withTransition); + var yAxis = (transitions === null || transitions === void 0 ? void 0 : transitions.axisY) ? + transitions.axisY : + $T(main.select(".".concat($AXIS.axisY)), withTransition); + var y2Axis = (transitions === null || transitions === void 0 ? void 0 : transitions.axisY2) ? + transitions.axisY2 : + $T(main.select(".".concat($AXIS.axisY2)), withTransition); + $T(main, withTransition) + .attr("transform", $$.getTranslate("main")); + xAxis.attr("transform", $$.getTranslate("x")); + yAxis.attr("transform", $$.getTranslate("y")); + y2Axis.attr("transform", $$.getTranslate("y2")); + main.select(".".concat($ARC.chartArcs)) + .attr("transform", $$.getTranslate("arc")); + }, + transformAll: function (withTransition, transitions) { + var $$ = this; + var config = $$.config, _a = $$.state, hasAxis = _a.hasAxis, hasFunnel = _a.hasFunnel, hasTreemap = _a.hasTreemap, $el = $$.$el; + !hasFunnel && !hasTreemap && $$.transformMain(withTransition, transitions); + hasAxis && config.subchart_show && + $$.transformContext(withTransition, transitions); + $el.legend && $$.transformLegend(withTransition); + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var typeInternals = { + /** + * Check if the given chart type is valid + * @param {string} type Chart type string + * @returns {boolean} + * @private + */ + isValidChartType: function (type) { + return !!(type && Object.values(TYPE).indexOf(type) > -1); + }, + setTargetType: function (targetIds, type) { + var $$ = this; + var config = $$.config, withoutFadeIn = $$.state.withoutFadeIn; + $$.mapToTargetIds(targetIds).forEach(function (id) { + withoutFadeIn[id] = type === config.data_types[id]; + config.data_types[id] = type; + }); + if (!targetIds) { + config.data_type = type; + } + }, + /** + * Updte current used chart types + * @private + */ + updateTypesElements: function () { + var $$ = this; + var current = $$.state.current; + Object.keys(TYPE).forEach(function (v) { + var t = TYPE[v]; + var has = $$.hasType(t, null, true); + var idx = current.types.indexOf(t); + if (idx === -1 && has) { + current.types.push(t); + } + else if (idx > -1 && !has) { + current.types.splice(idx, 1); + } + }); + // Update current chart elements reference + $$.setChartElements(); + }, + /** + * Check if given chart types exists + * @param {string} type Chart type + * @param {Array} targetsValue Data array + * @param {boolean} checkFromData Force to check type cotains from data targets + * @returns {boolean} + * @private + */ + hasType: function (type, targetsValue, checkFromData) { + var _a; + if (checkFromData === void 0) { checkFromData = false; } + var $$ = this; + var config = $$.config, current = $$.state.current; + var types = config.data_types; + var targets = targetsValue || $$.data.targets; + var has = false; + if (!checkFromData && ((_a = current.types) === null || _a === void 0 ? void 0 : _a.indexOf(type)) > -1) { + has = true; + } + else if (targets === null || targets === void 0 ? void 0 : targets.length) { + targets.forEach(function (target) { + var t = types[target.id]; + if (t === type || (!t && type === "line")) { + has = true; + } + }); + } + else if (Object.keys(types).length) { + Object.keys(types).forEach(function (id) { + if (types[id] === type) { + has = true; + } + }); + } + else { + has = config.data_type === type; + } + return has; + }, + /** + * Check if contains given chart types + * @param {string} type Type key + * @param {object} targets Target data + * @param {Array} exclude Excluded types + * @returns {boolean} + * @private + */ + hasTypeOf: function (type, targets, exclude) { + var _this = this; + if (exclude === void 0) { exclude = []; } + if (type in TYPE_BY_CATEGORY) { + return !TYPE_BY_CATEGORY[type] + .filter(function (v) { return exclude.indexOf(v) === -1; }) + .every(function (v) { return !_this.hasType(v, targets); }); + } + return false; + }, + /** + * Check if given data is certain chart type + * @param {object} d Data object + * @param {string|Array} type chart type + * @returns {boolean} + * @private + */ + isTypeOf: function (d, type) { + var _a; + var id = isString(d) ? d : d.id; + var dataType = this.config && (((_a = this.config.data_types) === null || _a === void 0 ? void 0 : _a[id]) || this.config.data_type); + return isArray(type) ? type.indexOf(dataType) >= 0 : dataType === type; + }, + hasPointType: function () { + var $$ = this; + return $$.hasTypeOf("Line") || $$.hasType("bubble") || $$.hasType("scatter"); + }, + /** + * Check if contains arc types chart + * @param {object} targets Target data + * @param {Array} exclude Excluded types + * @returns {boolean} + * @private + */ + hasArcType: function (targets, exclude) { + return this.hasTypeOf("Arc", targets, exclude); + }, + hasMultiArcGauge: function () { + return this.hasType("gauge") && this.config.gauge_type === "multi"; + }, + isLineType: function (d) { + var id = isString(d) ? d : d.id; + return !this.config.data_types[id] || + this.isTypeOf(id, TYPE_BY_CATEGORY.Line); + }, + isStepType: function (d) { + return this.isTypeOf(d, TYPE_BY_CATEGORY.Step); + }, + isSplineType: function (d) { + return this.isTypeOf(d, TYPE_BY_CATEGORY.Spline); + }, + isAreaType: function (d) { + return this.isTypeOf(d, TYPE_BY_CATEGORY.Area); + }, + isAreaRangeType: function (d) { + return this.isTypeOf(d, TYPE_BY_CATEGORY.AreaRange); + }, + isBarType: function (d) { + return this.isTypeOf(d, "bar"); + }, + isBubbleType: function (d) { + return this.isTypeOf(d, "bubble"); + }, + isCandlestickType: function (d) { + return this.isTypeOf(d, "candlestick"); + }, + isScatterType: function (d) { + return this.isTypeOf(d, "scatter"); + }, + isTreemapType: function (d) { + return this.isTypeOf(d, "treemap"); + }, + isPieType: function (d) { + return this.isTypeOf(d, "pie"); + }, + isFunnelType: function (d) { + return this.isTypeOf(d, "funnel"); + }, + isGaugeType: function (d) { + return this.isTypeOf(d, "gauge"); + }, + isDonutType: function (d) { + return this.isTypeOf(d, "donut"); + }, + isPolarType: function (d) { + return this.isTypeOf(d, "polar"); + }, + isRadarType: function (d) { + return this.isTypeOf(d, "radar"); + }, + isArcType: function (d) { + return this.isPieType(d) || + this.isDonutType(d) || + this.isGaugeType(d) || + this.isPolarType(d) || + this.isRadarType(d); + }, + // determine if is 'circle' data point + isCirclePoint: function (node) { + var config = this.config; + var pattern = config.point_pattern; + var isCircle = false; + if ((node === null || node === void 0 ? void 0 : node.tagName) === "circle") { + isCircle = true; + } + else { + isCircle = config.point_type === "circle" && + (!pattern || (isArray(pattern) && pattern.length === 0)); + } + return isCircle; + }, + lineData: function (d) { + return this.isLineType(d) ? [d] : []; + }, + arcData: function (d) { + return this.isArcType(d.data) ? [d] : []; + }, + /** + * Get data adapt for data label showing + * @param {object} d Data object + * @returns {Array} + * @private + */ + labelishData: function (d) { + return this.isBarType(d) || + this.isLineType(d) || + this.isScatterType(d) || + this.isBubbleType(d) || + this.isCandlestickType(d) || + this.isFunnelType(d) || + this.isRadarType(d) || + this.isTreemapType(d) ? + d.values.filter(function (v) { return isNumber(v.value) || Boolean(v.value); }) : + []; + }, + barLineBubbleData: function (d) { + return this.isBarType(d) || this.isLineType(d) || this.isBubbleType(d) ? d.values : []; + }, + // https://github.com/d3/d3-shape#curves + isInterpolationType: function (type) { + return [ + "basis", + "basis-closed", + "basis-open", + "bundle", + "cardinal", + "cardinal-closed", + "cardinal-open", + "catmull-rom", + "catmull-rom-closed", + "catmull-rom-open", + "linear", + "linear-closed", + "monotone-x", + "monotone-y", + "natural" + ].indexOf(type) >= 0; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Get grouped data point function for y coordinate + * - Note: Grouped(stacking) works only for line and bar types + * @param {object} d data vlaue + * @returns {Function|undefined} + * @private + */ +function getGroupedDataPointsFn(d) { + var $$ = this; + var fn; + if ($$.isLineType(d)) { + fn = $$.generateGetLinePoints($$.getShapeIndices($$.isLineType)); + } + else if ($$.isBarType(d)) { + fn = $$.generateGetBarPoints($$.getShapeIndices($$.isBarType)); + } + return fn; +} +var shape = { + /** + * Get the shape draw function + * @returns {object} + * @private + */ + getDrawShape: function () { + var $$ = this; + var isRotated = $$.config.axis_rotated; + var _a = $$.state, hasRadar = _a.hasRadar, hasTreemap = _a.hasTreemap; + var shape = { type: {}, indices: {}, pos: {} }; + !hasTreemap && ["bar", "candlestick", "line", "area"].forEach(function (v) { + var name = capitalize(/^(bubble|scatter)$/.test(v) ? "line" : v); + if ($$.hasType(v) || $$.hasTypeOf(name) || (v === "line" && + ($$.hasType("bubble") || $$.hasType("scatter")))) { + var indices = $$.getShapeIndices($$["is".concat(name, "Type")]); + var drawFn = $$["generateDraw".concat(name)]; + shape.indices[v] = indices; + shape.type[v] = drawFn ? drawFn.bind($$)(indices, false) : undefined; + } + }); + if (!$$.hasArcType() || hasRadar || hasTreemap) { + var cx = void 0; + var cy = void 0; + // generate circle x/y functions depending on updated params + if (!hasTreemap) { + cx = hasRadar ? $$.radarCircleX : (isRotated ? $$.circleY : $$.circleX); + cy = hasRadar ? $$.radarCircleY : (isRotated ? $$.circleX : $$.circleY); + } + shape.pos = { + xForText: $$.generateXYForText(shape.indices, true), + yForText: $$.generateXYForText(shape.indices, false), + cx: (cx || function () { }).bind($$), + cy: (cy || function () { }).bind($$) + }; + } + return shape; + }, + /** + * Get shape's indices according it's position within each axis tick. + * + * From the below example, indices will be: + * ==> {data1: 0, data2: 0, data3: 1, data4: 1, __max__: 1} + * + * data1 data3 data1 data3 + * data2 data4 data2 data4 + * ------------------------- + * 0 1 + * @param {Function} typeFilter Chart type filter function + * @returns {object} Indices object with its position + */ + getShapeIndices: function (typeFilter) { + var $$ = this; + var config = $$.config; + var xs = config.data_xs; + var hasXs = notEmpty(xs); + var indices = {}; + var i = hasXs ? {} : 0; + if (hasXs) { + getUnique(Object.keys(xs).map(function (v) { return xs[v]; })) + .forEach(function (v) { + i[v] = 0; + indices[v] = {}; + }); + } + $$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$)) + .forEach(function (d) { + var _a; + var xKey = d.id in xs ? xs[d.id] : ""; + var ind = xKey ? indices[xKey] : indices; + for (var j = 0, groups = void 0; (groups = config.data_groups[j]); j++) { + if (groups.indexOf(d.id) < 0) { + continue; + } + for (var k = 0, key = void 0; (key = groups[k]); k++) { + if (key in ind) { + ind[d.id] = ind[key]; + break; + } + // for same grouped data, add other data to same indices + if (d.id !== key && xKey) { + ind[key] = (_a = ind[d.id]) !== null && _a !== void 0 ? _a : i[xKey]; + } + } + } + if (isUndefined(ind[d.id])) { + ind[d.id] = xKey ? i[xKey]++ : i++; + ind.__max__ = (xKey ? i[xKey] : i) - 1; + } + }); + return indices; + }, + /** + * Get indices value based on data ID value + * @param {object} indices Indices object + * @param {object} d Data row + * @param {string} caller Caller function name (Used only for 'sparkline' plugin) + * @returns {object} Indices object + * @private + */ + getIndices: function (indices, d, caller) { + var $$ = this; + var _a = $$.config, xs = _a.data_xs, removeNull = _a.bar_indices_removeNull; + var id = d.id, index = d.index; + if ($$.isBarType(id) && removeNull) { + var ind_1 = {}; + // redefine bar indices order + $$.getAllValuesOnIndex(index, true) + .forEach(function (v, i) { + ind_1[v.id] = i; + ind_1.__max__ = i; + }); + return ind_1; + } + return notEmpty(xs) ? indices[xs[id]] : indices; + }, + /** + * Get indices max number + * @param {object} indices Indices object + * @returns {number} Max number + * @private + */ + getIndicesMax: function (indices) { + return notEmpty(this.config.data_xs) ? + // if is multiple xs, return total sum of xs' __max__ value + Object.keys(indices) + .map(function (v) { return indices[v].__max__ || 0; }) + .reduce(function (acc, curr) { return acc + curr; }) : + indices.__max__; + }, + getShapeX: function (offset, indices, isSub) { + var $$ = this; + var config = $$.config, scale = $$.scale; + var currScale = isSub ? scale.subX : (scale.zoom || scale.x); + var barOverlap = config.bar_overlap; + var barPadding = config.bar_padding; + var sum = function (p, c) { return p + c; }; + // total shapes half width + var halfWidth = isObjectType(offset) && (offset._$total.length ? offset._$total.reduce(sum) / 2 : 0); + return function (d) { + var ind = $$.getIndices(indices, d, "getShapeX"); + var index = d.id in ind ? ind[d.id] : 0; + var targetsNum = (ind.__max__ || 0) + 1; + var x = 0; + if (notEmpty(d.x)) { + var xPos = currScale(d.x, true); + if (halfWidth) { + var offsetWidth = offset[d.id] || offset._$width; + x = barOverlap ? xPos - offsetWidth / 2 : xPos - offsetWidth + + offset._$total.slice(0, index + 1).reduce(sum) - + halfWidth; + } + else { + x = xPos - (isNumber(offset) ? offset : offset._$width) * + (targetsNum / 2 - (barOverlap ? 1 : index)); + } + } + // adjust x position for bar.padding option + if (offset && x && targetsNum > 1 && barPadding) { + if (index) { + x += barPadding * index; + } + if (targetsNum > 2) { + x -= (targetsNum - 1) * barPadding / 2; + } + else if (targetsNum === 2) { + x -= barPadding / 2; + } + } + return x; + }; + }, + getShapeY: function (isSub) { + var $$ = this; + var isStackNormalized = $$.isStackNormalized(); + return function (d) { + var value = d.value; + if (isNumber(d)) { + value = d; + } + else if ($$.isAreaRangeType(d)) { + value = $$.getBaseValue(d, "mid"); + } + else if (isStackNormalized) { + value = $$.getRatio("index", d, true); + } + else if ($$.isBubbleZType(d)) { + value = $$.getBubbleZData(d.value, "y"); + } + else if ($$.isBarRangeType(d)) { + // TODO use range.getEnd() like method + value = value[1]; + } + return $$.getYScaleById(d.id, isSub)(value); + }; + }, + /** + * Get shape based y Axis min value + * @param {string} id Data id + * @returns {number} + * @private + */ + getShapeYMin: function (id) { + var $$ = this; + var axisId = $$.axis.getId(id); + var scale = $$.scale[axisId]; + var yMin = scale.domain()[0]; + var inverted = $$.config["axis_".concat(axisId, "_inverted")]; + return !$$.isGrouped(id) && !inverted && yMin > 0 ? yMin : 0; + }, + /** + * Get Shape's offset data + * @param {Function} typeFilter Type filter function + * @returns {object} + * @private + */ + getShapeOffsetData: function (typeFilter) { + var $$ = this; + var targets = $$.orderTargets($$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$))); + var isStackNormalized = $$.isStackNormalized(); + var shapeOffsetTargets = targets.map(function (target) { + var rowValues = target.values; + var values = {}; + if ($$.isStepType(target)) { + rowValues = $$.convertValuesToStep(rowValues); + } + var rowValueMapByXValue = rowValues.reduce(function (out, d) { + var key = Number(d.x); + out[key] = d; + values[key] = isStackNormalized ? $$.getRatio("index", d, true) : d.value; + return out; + }, {}); + return { + id: target.id, + rowValues: rowValues, + rowValueMapByXValue: rowValueMapByXValue, + values: values + }; + }); + var indexMapByTargetId = targets.reduce(function (out, _a, index) { + var id = _a.id; + out[id] = index; + return out; + }, {}); + return { indexMapByTargetId: indexMapByTargetId, shapeOffsetTargets: shapeOffsetTargets }; + }, + getShapeOffset: function (typeFilter, indices, isSub) { + var $$ = this; + var _a = $$.getShapeOffsetData(typeFilter), shapeOffsetTargets = _a.shapeOffsetTargets, indexMapByTargetId = _a.indexMapByTargetId; + var groupsZeroAs = $$.config.data_groupsZeroAs; + return function (d, idx) { + var id = d.id, value = d.value, x = d.x; + var ind = $$.getIndices(indices, d); + var scale = $$.getYScaleById(id, isSub); + if ($$.isBarRangeType(d)) { + // TODO use range.getStart() + return scale(value[0]); + } + var dataXAsNumber = Number(x); + var y0 = scale(groupsZeroAs === "zero" ? 0 : $$.getShapeYMin(id)); + var offset = y0; + shapeOffsetTargets + .filter(function (t) { return t.id !== id && ind[t.id] === ind[id]; }) + .forEach(function (t) { + var tid = t.id, rowValueMapByXValue = t.rowValueMapByXValue, rowValues = t.rowValues, tvalues = t.values; + // for same stacked group (ind[tid] === ind[id]) + if (indexMapByTargetId[tid] < indexMapByTargetId[id]) { + var rValue = tvalues[dataXAsNumber]; + var row = rowValues[idx]; + // check if the x values line up + if (!row || Number(row.x) !== dataXAsNumber) { + row = rowValueMapByXValue[dataXAsNumber]; + } + if ((row === null || row === void 0 ? void 0 : row.value) * value >= 0 && isNumber(rValue)) { + var addOffset = value === 0 ? + ((groupsZeroAs === "positive" && + rValue > 0) || + (groupsZeroAs === "negative" && rValue < 0)) : + true; + if (addOffset) { + offset += scale(rValue) - y0; + } + } + } + }); + return offset; + }; + }, + /** + * Get data's y coordinate + * @param {object} d Target data + * @param {number} i Index number + * @returns {number} y coordinate + * @private + */ + circleY: function (d, i) { + var $$ = this; + var id = d.id; + var points; + if ($$.isGrouped(id)) { + points = getGroupedDataPointsFn.bind($$)(d); + } + return points ? points(d, i)[0][1] : $$.getYScaleById(id)($$.getBaseValue(d)); + }, + getBarW: function (type, axis, targetsNum) { + var _a, _b, _c, _d, _e; + var $$ = this; + var config = $$.config, org = $$.org, scale = $$.scale, state = $$.state; + var maxDataCount = $$.getMaxDataCount(); + var isGrouped = type === "bar" && ((_a = config.data_groups) === null || _a === void 0 ? void 0 : _a.length); + var configName = "".concat(type, "_width"); + var k = ((_c = (_b = $$.getZoomTransform) === null || _b === void 0 ? void 0 : _b.call($$)) !== null && _c !== void 0 ? _c : { k: 1 }).k; + var xMinMax = [ + (_d = config.axis_x_min) !== null && _d !== void 0 ? _d : org.xDomain[0], + (_e = config.axis_x_max) !== null && _e !== void 0 ? _e : org.xDomain[1] + ].map($$.axis.isTimeSeries() ? parseDate.bind($$) : Number); + var tickInterval = axis.tickInterval(maxDataCount); + if (scale.zoom && !$$.axis.isCategorized() && k > 1) { + var isSameMinMax_1 = xMinMax.every(function (v, i) { return v === org.xDomain[i]; }); + tickInterval = org.xDomain.map(function (v, i) { + var value = isSameMinMax_1 ? v : v - Math.abs(xMinMax[i]); + return scale.zoom(value); + }).reduce(function (a, c) { return Math.abs(a) + c; }) / maxDataCount; + } + var getWidth = function (id) { + var width = id ? config[configName][id] : config[configName]; + var ratio = id ? width.ratio : config["".concat(configName, "_ratio")]; + var max = id ? width.max : config["".concat(configName, "_max")]; + var w = isNumber(width) ? width : (isFunction(width) ? + width.call($$, state.width, targetsNum, maxDataCount) : + (targetsNum ? (tickInterval * ratio) / targetsNum : 0)); + return max && w > max ? max : w; + }; + var result = getWidth(); + if (!isGrouped && isObjectType(config[configName])) { + result = { _$width: result, _$total: [] }; + $$.filterTargetsToShow($$.data.targets).forEach(function (v) { + if (config[configName][v.id]) { + result[v.id] = getWidth(v.id); + result._$total.push(result[v.id] || result._$width); + } + }); + } + return result; + }, + /** + * Get shape element + * @param {string} shapeName Shape string + * @param {number} i Index number + * @param {string} id Data series id + * @returns {d3Selection} + * @private + */ + getShapeByIndex: function (shapeName, i, id) { + var $$ = this; + var $el = $$.$el; + var suffix = isValue(i) ? "-".concat(i) : ""; + var shape = $el[shapeName]; + // filter from shape reference if has + if (shape && !shape.empty()) { + shape = shape + .filter(function (d) { return (id ? d.id === id : true); }) + .filter(function (d) { return (isValue(i) ? d.index === i : true); }); + } + else { + shape = (id ? + $el.main + .selectAll(".".concat(CLASS["".concat(shapeName, "s")]).concat($$.getTargetSelectorSuffix(id))) : + $el.main) + .selectAll(".".concat(CLASS[shapeName]).concat(suffix)); + } + return shape; + }, + isWithinShape: function (that, d) { + var _a; + var $$ = this; + var shape = select(that); + var isWithin; + if (!$$.isTargetToShow(d.id)) { + isWithin = false; + } + else if ((_a = $$.hasValidPointType) === null || _a === void 0 ? void 0 : _a.call($$, that.nodeName)) { + isWithin = $$.isStepType(d) ? + $$.isWithinStep(that, $$.getYScaleById(d.id)($$.getBaseValue(d))) : + $$.isWithinCircle(that, $$.isBubbleType(d) ? $$.pointSelectR(d) * 1.5 : 0); + } + else if (that.nodeName === "path") { + isWithin = shape.classed(CLASS.bar) ? $$.isWithinBar(that) : true; + } + return isWithin; + }, + getInterpolate: function (d) { + var $$ = this; + var interpolation = $$.getInterpolateType(d); + return { + basis: curveBasis, + "basis-closed": curveBasisClosed, + "basis-open": curveBasisOpen, + bundle: curveBundle, + cardinal: curveCardinal, + "cardinal-closed": curveCardinalClosed, + "cardinal-open": curveCardinalOpen, + "catmull-rom": curveCatmullRom, + "catmull-rom-closed": curveCatmullRomClosed, + "catmull-rom-open": curveCatmullRomOpen, + "monotone-x": curveMonotoneX, + "monotone-y": curveMonotoneY, + natural: curveNatural, + "linear-closed": curveLinearClosed, + linear: curveLinear, + step: curveStep, + "step-after": curveStepAfter, + "step-before": curveStepBefore + }[interpolation]; + }, + getInterpolateType: function (d) { + var $$ = this; + var config = $$.config; + var type = config.spline_interpolation_type; + var interpolation = $$.isInterpolationType(type) ? type : "cardinal"; + return $$.isSplineType(d) ? interpolation : ($$.isStepType(d) ? config.line_step_type : "linear"); + }, + isWithinBar: function (that) { + var mouse = getPointer(this.state.event, that); + var list = getRectSegList(that); + var seg0 = list[0], seg1 = list[1]; + var x = Math.min(seg0.x, seg1.x); + var y = Math.min(seg0.y, seg1.y); + var offset = this.config.bar_sensitivity; + var _a = that.getBBox(), width = _a.width, height = _a.height; + var sx = x - offset; + var ex = x + width + offset; + var sy = y + height + offset; + var ey = y - offset; + var isWithin = sx < mouse[0] && + mouse[0] < ex && + ey < mouse[1] && + mouse[1] < sy; + return isWithin; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * @ignore + */ +/** + * Internal chart class. + * - Note: Instantiated internally, not exposed for public. + * @class ChartInternal + * @ignore + * @private + */ +var ChartInternal = /** @class */ (function () { + function ChartInternal(api) { + // data object + this.data = { + xs: {}, + targets: [] + }; + // scales + this.scale = { + x: null, + y: null, + y2: null, + subX: null, + subY: null, + subY2: null, + zoom: null + }; + // original values + this.org = { + xScale: null, + xDomain: null + }; + // format function + this.format = { + extraLineClasses: null, + xAxisTick: null, + dataTime: null, // dataTimeFormat + defaultAxisTime: null, // defaultAxisTimeFormat + axisTime: null // axisTimeFormat + }; + var $$ = this; + $$.api = api; // Chart class instance alias + $$.config = new Options(); + $$.cache = new Cache(); + var store = new Store(); + $$.$el = store.getStore("element"); + $$.state = store.getStore("state"); + $$.$T = $$.$T.bind($$); + } + /** + * Get the selection based on transition config + * @param {SVGElement|d3Selection} selection Target selection + * @param {boolean} force Force transition + * @param {string} name Transition name + * @returns {d3Selection} + * @private + */ + ChartInternal.prototype.$T = function (selection, force, name) { + var _a = this, config = _a.config, state = _a.state; + var duration = config.transition_duration; + var subchart = config.subchart_show; + var t = selection; + if (t) { + // in case of non d3 selection, wrap with d3 selection + if ("tagName" in t) { + t = select(t); + } + // do not transit on: + // - wheel zoom (state.zooming = true) + // - when has no subchart + // - initialization + // - resizing + var transit = ((force !== false && duration) || force) && + (!state.zooming || state.dragging) && + !state.resizing && + state.rendered && + !subchart; + // @ts-ignore + t = (transit ? t.transition(name).duration(duration) : t); + } + return t; + }; + ChartInternal.prototype.beforeInit = function () { + var $$ = this; + $$.callPluginHook("$beforeInit"); + // can do something + callFn($$.config.onbeforeinit, $$.api); + }; + ChartInternal.prototype.afterInit = function () { + var $$ = this; + $$.callPluginHook("$afterInit"); + // can do something + callFn($$.config.onafterinit, $$.api); + }; + ChartInternal.prototype.init = function () { + var $$ = this; + var config = $$.config, state = $$.state, $el = $$.$el; + var useCssRule = config.boost_useCssRule; + checkModuleImport($$); + state.hasRadar = !state.hasAxis && $$.hasType("radar"); + state.hasFunnel = !state.hasAxis && $$.hasType("funnel"); + state.hasTreemap = !state.hasAxis && $$.hasType("treemap"); + state.hasAxis = !$$.hasArcType() && !state.hasFunnel && !state.hasTreemap; + // datetime to be used for uniqueness + state.datetimeId = "bb-".concat(+new Date() * getRandom()); + if (useCssRule) { + // append style element + var styleEl = doc.createElement("style"); + // styleEl.id = styleId; + styleEl.type = "text/css"; + doc.head.appendChild(styleEl); + state.style = { + rootSelctor: ".".concat(state.datetimeId), + sheet: styleEl.sheet + }; + // used on .destroy() + $el.style = styleEl; + } + var bindto = { + element: config.bindto, + classname: "bb" + }; + if (isObject(config.bindto)) { + bindto.element = config.bindto.element || "#chart"; + bindto.classname = config.bindto.classname || bindto.classname; + } + // select bind element + $el.chart = isFunction(bindto.element.node) ? + config.bindto.element : + select(bindto.element || []); + if ($el.chart.empty()) { + $el.chart = select(doc.body.appendChild(doc.createElement("div"))); + } + $el.chart.html("") + .classed(bindto.classname, true) + .classed(state.datetimeId, useCssRule) + .style("position", "relative"); + $$.initParams(); + $$.initToRender(); + }; + /** + * Initialize the rendering process + * @param {boolean} forced Force to render process + * @private + */ + ChartInternal.prototype.initToRender = function (forced) { + var $$ = this; + var config = $$.config, state = $$.state, chart = $$.$el.chart; + var isHidden = function () { return hasStyle(chart, { display: "none", visibility: "hidden" }); }; + var isLazy = config.render.lazy === false ? false : config.render.lazy || isHidden(); + var MutationObserver = win.MutationObserver; + if (isLazy && MutationObserver && config.render.observe !== false && !forced) { + new MutationObserver(function (mutation, observer) { + if (!isHidden()) { + observer.disconnect(); + !state.rendered && $$.initToRender(true); + } + }).observe(chart.node(), { + attributes: true, + attributeFilter: ["class", "style"] + }); + } + if (!isLazy || forced) { + $$.convertData(config, function (res) { + $$.initWithData(res); + $$.afterInit(); + }); + } + }; + ChartInternal.prototype.initParams = function () { + var _a; + var $$ = this; + var config = $$.config, format = $$.format, state = $$.state; + var isRotated = config.axis_rotated; + // color settings + $$.color = $$.generateColor(); + $$.levelColor = $$.generateLevelColor(); + // when 'padding=false' is set, disable axes and subchart. Because they are useless. + if (config.padding === false) { + config.axis_x_show = false; + config.axis_y_show = false; + config.axis_y2_show = false; + config.subchart_show = false; + } + if ($$.hasPointType() || ((_a = $$.hasLegendDefsPoint) === null || _a === void 0 ? void 0 : _a.call($$))) { + $$.point = $$.generatePoint(); + } + if (state.hasAxis) { + $$.initClip(); + format.extraLineClasses = $$.generateExtraLineClass(); + format.dataTime = config.data_xLocaltime ? timeParse : utcParse; + format.axisTime = config.axis_x_localtime ? timeFormat : utcFormat; + var isDragZoom_1 = $$.config.zoom_enabled && $$.config.zoom_type === "drag"; + format.defaultAxisTime = function (d) { + var _a = $$.scale, x = _a.x, zoom = _a.zoom; + var isZoomed = isDragZoom_1 ? + zoom : + zoom && x.orgDomain().toString() !== zoom.domain().toString(); + var specifier = (d.getMilliseconds() && ".%L") || + (d.getSeconds() && ".:%S") || + (d.getMinutes() && "%I:%M") || + (d.getHours() && "%I %p") || + (d.getDate() !== 1 && "%b %d") || + (isZoomed && d.getDate() === 1 && "%b'%y") || + (d.getMonth() && "%-m/%-d") || "%Y"; + return format.axisTime(specifier)(d); + }; + } + state.isLegendRight = config.legend_position === "right"; + state.isLegendInset = config.legend_position === "inset"; + state.isLegendTop = config.legend_inset_anchor === "top-left" || + config.legend_inset_anchor === "top-right"; + state.isLegendLeft = config.legend_inset_anchor === "top-left" || + config.legend_inset_anchor === "bottom-left"; + state.rotatedPadding.top = $$.getResettedPadding(state.rotatedPadding.top); + state.rotatedPadding.right = isRotated && !config.axis_x_show ? 0 : 30; + state.inputType = convertInputType(config.interaction_inputType_mouse, config.interaction_inputType_touch); + }; + ChartInternal.prototype.initWithData = function (data) { + var _a, _b, _c; + var $$ = this; + var config = $$.config, scale = $$.scale, state = $$.state, $el = $$.$el, org = $$.org; + var hasAxis = state.hasAxis, hasFunnel = state.hasFunnel, hasTreemap = state.hasTreemap; + var hasInteraction = config.interaction_enabled; + var hasPolar = $$.hasType("polar"); + var labelsBGColor = config.data_labels_backgroundColors; + // for arc type, set axes to not be shown + // $$.hasArcType() && ["x", "y", "y2"].forEach(id => (config[`axis_${id}_show`] = false)); + if (hasAxis) { + $$.axis = $$.getAxisInstance(); + config.zoom_enabled && $$.initZoom(); + } + // Init data as targets + $$.data.xs = {}; + $$.data.targets = $$.convertDataToTargets(data); + if (config.data_filter) { + $$.data.targets = $$.data.targets.filter(config.data_filter.bind($$.api)); + } + // Set targets to hide if needed + if (config.data_hide) { + $$.addHiddenTargetIds(config.data_hide === true ? $$.mapToIds($$.data.targets) : config.data_hide); + } + if (config.legend_hide) { + $$.addHiddenLegendIds(config.legend_hide === true ? $$.mapToIds($$.data.targets) : config.legend_hide); + } + // Init sizes and scales + $$.updateSizes(); + $$.updateScales(true); + // retrieve scale after the 'updateScales()' is called + if (hasAxis) { + var x = scale.x, y = scale.y, y2 = scale.y2, subX = scale.subX, subY = scale.subY, subY2 = scale.subY2; + // Set domains for each scale + if (x) { + x.domain(sortValue($$.getXDomain($$.data.targets), !config.axis_x_inverted)); + subX.domain(x.domain()); + // Save original x domain for zoom update + org.xDomain = x.domain(); + } + if (y) { + y.domain($$.getYDomain($$.data.targets, "y")); + subY.domain(y.domain()); + } + if (y2) { + y2.domain($$.getYDomain($$.data.targets, "y2")); + subY2 && subY2.domain(y2.domain()); + } + } + // -- Basic Elements -- + $el.svg = $el.chart.append("svg") + .style("overflow", "hidden") + .style("display", "block"); + if (hasInteraction && state.inputType) { + var isTouch = state.inputType === "touch"; + var onclick_1 = config.onclick, onover = config.onover, onout = config.onout; + $el.svg + .on("click", (onclick_1 === null || onclick_1 === void 0 ? void 0 : onclick_1.bind($$.api)) || null) + .on(isTouch ? "touchstart" : "mouseenter", (onover === null || onover === void 0 ? void 0 : onover.bind($$.api)) || null) + .on(isTouch ? "touchend" : "mouseleave", (onout === null || onout === void 0 ? void 0 : onout.bind($$.api)) || null); + } + config.svg_classname && $el.svg.attr("class", config.svg_classname); + // Define defs + var hasColorPatterns = isFunction(config.color_tiles) && $$.patterns; + if (hasAxis || hasColorPatterns || hasPolar || hasTreemap || + labelsBGColor || ((_a = $$.hasLegendDefsPoint) === null || _a === void 0 ? void 0 : _a.call($$))) { + $el.defs = $el.svg.append("defs"); + if (hasAxis) { + ["id", "idXAxis", "idYAxis", "idGrid"].forEach(function (v) { + $$.appendClip($el.defs, state.clip[v]); + }); + } + // Append data background color filter definition + $$.generateTextBGColorFilter(labelsBGColor); + // set color patterns + if (hasColorPatterns) { + $$.patterns.forEach(function (p) { return $el.defs.append(function () { return p.node; }); }); + } + } + $$.updateSvgSize(); + // Bind resize event + $$.bindResize(); + // Define regions + var main = $el.svg.append("g") + .classed($COMMON.main, true) + .attr("transform", hasFunnel || hasTreemap ? null : $$.getTranslate("main")); + $el.main = main; + // initialize subchart when subchart show option is set + config.subchart_show && $$.initSubchart(); + config.tooltip_show && $$.initTooltip(); + config.title_text && $$.initTitle(); + !hasTreemap && config.legend_show && $$.initLegend(); + // -- Main Region -- + // text when empty + if (config.data_empty_label_text) { + main.append("text") + .attr("class", "".concat($TEXT.text, " ").concat($COMMON.empty)) + .attr("text-anchor", "middle") // horizontal centering of text at x position in all browsers. + .attr("dominant-baseline", "middle"); // vertical centering of text at y position in all browsers, except IE. + } + if (hasAxis) { + // Regions + config.regions.length && $$.initRegion(); + // Add Axis here, when clipPath is 'false' + !config.clipPath && $$.axis.init(); + } + // Define g for chart area + main.append("g") + .classed($COMMON.chart, true) + .attr("clip-path", hasAxis ? state.clip.path : null); + $$.callPluginHook("$init"); + $$.initChartElements(); + if (hasAxis) { + // Cover whole with rects for events + hasInteraction && ((_b = $$.initEventRect) === null || _b === void 0 ? void 0 : _b.call($$)); + // Grids + $$.initGrid(); + // Add Axis here, when clipPath is 'true' + config.clipPath && ((_c = $$.axis) === null || _c === void 0 ? void 0 : _c.init()); + } + // Set targets + $$.updateTargets($$.data.targets); + // Draw with targets + $$.updateDimension(); + // oninit callback + callFn(config.oninit, $$.api); + // Set background + $$.setBackground(); + $$.redraw({ + withTransition: false, + withTransform: true, + withUpdateXDomain: true, + withUpdateOrgXDomain: true, + withTransitionForAxis: false, + initializing: true + }); + // data.onmin/max callback + if (config.data_onmin || config.data_onmax) { + var minMax = $$.getMinMaxData(); + callFn(config.data_onmin, $$.api, minMax.min); + callFn(config.data_onmax, $$.api, minMax.max); + } + config.tooltip_show && $$.initShowTooltip(); + state.rendered = true; + }; + /** + * Initialize chart elements + * @private + */ + ChartInternal.prototype.initChartElements = function () { + var $$ = this; + var _a = $$.state, hasAxis = _a.hasAxis, hasRadar = _a.hasRadar, hasTreemap = _a.hasTreemap; + var types = []; + if (hasAxis) { + var shapes = ["bar", "bubble", "candlestick", "line"]; + if ($$.config.bar_front) { + shapes.push(shapes.shift()); + } + shapes.forEach(function (v) { + var name = capitalize(v); + if ((v === "line" && $$.hasTypeOf(name)) || $$.hasType(v)) { + types.push(name); + } + }); + } + else if (hasTreemap) { + types.push("Treemap"); + } + else if ($$.hasType("funnel")) { + types.push("Funnel"); + } + else { + var hasPolar = $$.hasType("polar"); + if (!hasRadar) { + types.push("Arc", "Pie"); + } + if ($$.hasType("gauge")) { + types.push("Gauge"); + } + else if (hasRadar) { + types.push("Radar"); + } + else if (hasPolar) { + types.push("Polar"); + } + } + types.forEach(function (v) { + $$["init".concat(v)](); + }); + notEmpty($$.config.data_labels) && !$$.hasArcType(null, ["radar"]) && $$.initText(); + }; + /** + * Set chart elements + * @private + */ + ChartInternal.prototype.setChartElements = function () { + var $$ = this; + var _a = $$.$el, chart = _a.chart, svg = _a.svg, defs = _a.defs, main = _a.main, tooltip = _a.tooltip, legend = _a.legend, title = _a.title, grid = _a.grid, needle = _a.needle, arc = _a.arcs, circles = _a.circle, bars = _a.bar, candlestick = _a.candlestick, lines = _a.line, areas = _a.area, texts = _a.text; + // public + $$.api.$ = { + chart: chart, + svg: svg, + defs: defs, + main: main, + tooltip: tooltip, + legend: legend, + title: title, + grid: grid, + arc: arc, + circles: circles, + bar: { bars: bars }, + candlestick: candlestick, + line: { lines: lines, areas: areas }, + needle: needle, + text: { texts: texts } + }; + }; + /** + * Set background element/image + * @private + */ + ChartInternal.prototype.setBackground = function () { + var $$ = this; + var bg = $$.config.background, state = $$.state, svg = $$.$el.svg; + if (notEmpty(bg)) { + var element = svg.select("g") + .insert(bg.imgUrl ? "image" : "rect", ":first-child"); + if (bg.imgUrl) { + element.attr("href", bg.imgUrl); + } + else if (bg.color) { + element + .style("fill", bg.color) + .attr("clip-path", state.clip.path); + } + element + .attr("class", bg.class || null) + .attr("width", "100%") + .attr("height", "100%"); + } + }; + /** + * Update targeted element with given data + * @param {object} targets Data object formatted as 'target' + * @private + */ + ChartInternal.prototype.updateTargets = function (targets) { + var _a; + var $$ = this; + var _b = $$.state, hasAxis = _b.hasAxis, hasFunnel = _b.hasFunnel, hasRadar = _b.hasRadar, hasTreemap = _b.hasTreemap; + var helper = function (type) { + return $$["updateTargetsFor".concat(type)](targets.filter($$["is".concat(type, "Type")].bind($$))); + }; + // Text + $$.updateTargetsForText(targets); + if (hasAxis) { + ["bar", "candlestick", "line"].forEach(function (v) { + var name = capitalize(v); + if ((v === "line" && $$.hasTypeOf(name)) || $$.hasType(v)) { + helper(name); + } + }); + // Sub Chart + $$.updateTargetsForSubchart && + $$.updateTargetsForSubchart(targets); + // Arc, Polar, Radar + } + else if ($$.hasArcType(targets)) { + var type = "Arc"; + if (hasRadar) { + type = "Radar"; + } + else if ($$.hasType("polar")) { + type = "Polar"; + } + helper(type); + } + else if (hasFunnel) { + helper("Funnel"); + } + else if (hasTreemap) { + helper("Treemap"); + } + // Point types + var hasPointType = $$.hasType("bubble") || $$.hasType("scatter"); + if (hasPointType) { + (_a = $$.updateTargetForCircle) === null || _a === void 0 ? void 0 : _a.call($$); + } + // Fade-in each chart + $$.filterTargetsToShowAtInit(hasPointType); + }; + /** + * Display targeted elements at initialization + * @param {boolean} hasPointType whether has point type(bubble, scatter) or not + * @private + */ + ChartInternal.prototype.filterTargetsToShowAtInit = function (hasPointType) { + if (hasPointType === void 0) { hasPointType = false; } + var $$ = this; + var svg = $$.$el.svg, $T = $$.$T; + var selector = ".".concat($COMMON.target); + if (hasPointType) { + selector += ", .".concat($CIRCLE.chartCircles, " > .").concat($CIRCLE.circles); + } + $T(svg.selectAll(selector) + .filter(function (d) { return $$.isTargetToShow(d.id); })).style("opacity", null); + }; + ChartInternal.prototype.getWithOption = function (options) { + var withOptions = { + Dimension: true, + EventRect: true, + Legend: false, + Subchart: true, + Transform: false, + Transition: true, + TrimXDomain: true, + UpdateXAxis: "UpdateXDomain", + UpdateXDomain: false, + UpdateOrgXDomain: false, + TransitionForExit: "Transition", + TransitionForAxis: "Transition", + Y: true + }; + Object.keys(withOptions).forEach(function (key) { + var defVal = withOptions[key]; + if (isString(defVal)) { + defVal = withOptions[defVal]; + } + withOptions[key] = getOption(options, "with".concat(key), defVal); + }); + return withOptions; + }; + ChartInternal.prototype.initialOpacity = function (d) { + var $$ = this; + var withoutFadeIn = $$.state.withoutFadeIn; + var r = $$.getBaseValue(d) !== null && + withoutFadeIn[d.id] ? + null : + "0"; + return r; + }; + ChartInternal.prototype.bindResize = function () { + var $$ = this; + var config = $$.config, state = $$.state; + var resizeFunction = generateResize(config.resize_timer); + var list = []; + list.push(function () { return callFn(config.onresize, $$.api); }); + if (config.resize_auto === true) { + list.push(function () { + state.resizing = true; + // https://github.com/naver/billboard.js/issues/2650 + if (config.legend_show) { + $$.updateSizes(); + $$.updateLegend(); + } + $$.api.flush(false); + }); + } + list.push(function () { + callFn(config.onresized, $$.api); + state.resizing = false; + }); + // add resize functions + list.forEach(function (v) { return resizeFunction.add(v); }); + $$.resizeFunction = resizeFunction; + // attach resize event + win.addEventListener("resize", $$.resizeFunction = resizeFunction); + }; + /** + * Call plugin hook + * @param {string} phase The lifecycle phase + * @param {Array} args Arguments + * @private + */ + ChartInternal.prototype.callPluginHook = function (phase) { + var _this = this; + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + this.config.plugins.forEach(function (v) { + if (phase === "$beforeInit") { + v.$$ = _this; + _this.api.plugins.push(v); + } + v[phase].apply(v, args); + }); + }; + return ChartInternal; +}()); +extend(ChartInternal.prototype, [ + // common + dataConvert, + data$1, + dataLoad, + category, + classModule, + color, + domain, + interaction, + format, + legend$1, + redraw, + scale, + shape, + size, + style, + text, + title, + tooltip$1, + transform, + typeInternals +]); + +/** + * Load configuration option + * @param {object} config User's generation config value + * @private + */ +function loadConfig(config) { + var thisConfig = this.config; + var target; + var keys; + var read; + var find = function () { + var key = keys.shift(); + if (key && target && isObjectType(target) && key in target) { + target = target[key]; + return find(); + } + else if (!key) { + return target; + } + return undefined; + }; + Object.keys(thisConfig).forEach(function (key) { + target = config; + keys = key.split("_"); + read = find(); + if (isDefined(read)) { + thisConfig[key] = read; + } + }); + // only should run in the ChartInternal context + if (this.api) { + this.state.orgConfig = config; + } +} + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var apiChart = { + /** + * Resize the chart. + * @function resize + * @instance + * @memberof Chart + * @param {object} size This argument should include width and height in pixels. + * @param {number} [size.width] width value + * @param {number} [size.height] height value + * @example + * // Resize to 640x480 + * chart.resize({ + * width: 640, + * height: 480 + * }); + */ + resize: function (size) { + var $$ = this.internal; + var config = $$.config, state = $$.state; + if (state.rendered) { + config.size_width = size ? size.width : null; + config.size_height = size ? size.height : null; + state.resizing = true; + this.flush(false); + $$.resizeFunction(); + } + }, + /** + * Force to redraw. + * - **NOTE:** When zoom/subchart is used, the zoomed state will be resetted. + * @function flush + * @instance + * @memberof Chart + * @param {boolean} [soft] For soft redraw. + * @example + * chart.flush(); + * + * // for soft redraw + * chart.flush(true); + */ + flush: function (soft) { + var _a, _b; + var $$ = this.internal; + var state = $$.state, zoomResetBtn = $$.$el.zoomResetBtn; + if (state.rendered) { + // reset possible zoom scale when is called from resize event + if (state.resizing) { // arguments[1] is given when is called from resize + (_a = $$.brush) === null || _a === void 0 ? void 0 : _a.updateResize(); + } + else { + // re-update config info + (_b = $$.axis) === null || _b === void 0 ? void 0 : _b.setOrient(); + } + // hide possible reset zoom button + // https://github.com/naver/billboard.js/issues/2201 + zoomResetBtn === null || zoomResetBtn === void 0 ? void 0 : zoomResetBtn.style("display", "none"); + $$.scale.zoom = null; + soft ? + $$.redraw({ + withTransform: true, + withUpdateXDomain: true, + withUpdateOrgXDomain: true, + withLegend: true + }) : + $$.updateAndRedraw({ + withLegend: true, + withTransition: false, + withTransitionForTransform: false + }); + // reset subchart selection & selection state + if (!state.resizing && $$.brush) { + $$.brush.getSelection().call($$.brush.move); + $$.unselectRect(); + } + } + else { + $$.initToRender(true); + } + }, + /** + * Reset the chart object and remove element and events completely. + * @function destroy + * @instance + * @memberof Chart + * @returns {null} + * @example + * chart.destroy(); + */ + destroy: function () { + var _this = this; + var $$ = this.internal; + var _a = $$.$el, chart = _a.chart, style = _a.style, svg = _a.svg; + if (notEmpty($$)) { + $$.callPluginHook("$willDestroy"); + $$.charts.splice($$.charts.indexOf(this), 1); + // detach events + $$.unbindAllEvents(); + // clear timers && pending transition + svg.select("*").interrupt(); + $$.resizeFunction.clear(); + win.removeEventListener("resize", $$.resizeFunction); + chart.classed("bb", false) + .style("position", null) + .selectChildren() + .remove(); + // remove <style> element added by boost.useCssRule option + style && style.parentNode.removeChild(style); + // releasing own references + Object.keys(this).forEach(function (key) { + key === "internal" && Object.keys($$).forEach(function (k) { + $$[k] = null; + }); + _this[key] = null; + delete _this[key]; + }); + // release prototype chains + for (var key in this) { + this[key] = function () { }; + } + } + return null; + }, + /** + * Get or set config option value. + * - **NOTE** + * - The option key name must be specified as the last level. + * - when no argument is given, will return all specified generation options object only. (will exclude any other options not specified at the initialization) + * @function config + * @instance + * @memberof Chart + * @param {string} name The option key name. + * @param {*} [value] The value accepted for indicated option. + * @param {boolean} [redraw] Set to redraw with the new option changes. + * - **NOTE:** Doesn't guarantee work in all circumstances. It can be applied for limited options only. + * @returns {*} + * @example + * + * // Getter + * chart.config("gauge.max"); + * + * // Getter specified with top level key name will not work. + * // The option key name must be specified as the last level. + * // chart.config("gauge"); // will not work + * + * // without any arguments, it returns generation config object + * chart.config(); // {data: { ... }, axis: { ... }, ...} + * + * // Setter + * chart.config("gauge.max", 100); + * + * // Setter specified with top level key name will not work. + * // The option key name must be specified as the last level. + * // chart.config("gauge", {min: 10, max: 20}); // will not work + * + * // Setter & redraw with the new option + * chart.config("gauge.max", 100, true); + */ + config: function (name, value, redraw) { + var $$ = this.internal; + var config = $$.config, state = $$.state; + var key = name === null || name === void 0 ? void 0 : name.replace(/\./g, "_"); + var res; + if (name && key in config) { + if (isDefined(value)) { + config[key] = value; + res = value; + redraw && this.flush(); + } + else { + res = config[key]; + } + } + else if (arguments.length === 0 || isEmpty(name)) { + res = state.orgConfig; + } + return res; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var apiColor = { + /** + * Get the color + * @function color + * @instance + * @memberof Chart + * @param {string} id id to get the color + * @returns {string} + * @example + * chart.color("data1"); + */ + color: function (id) { + return this.internal.color(id); // more patterns + } +}; + +/** + * Get data loaded in the chart. + * @function data + * @instance + * @memberof Chart + * @param {string|Array} targetIds If this argument is given, this API returns the specified target data. If this argument is not given, all of data will be returned. + * @returns {Array} Data objects + * @example + * // Get only data1 data + * chart.data("data1"); + * // --> [{id: "data1", id_org: "data1", values: Array(6)}, ...] + * + * // Get data1 and data2 data + * chart.data(["data1", "data2"]); + * + * // Get all data + * chart.data(); + */ +var data = function (targetIds) { + var targets = this.internal.data.targets; + if (!isUndefined(targetIds)) { + var ids_1 = isArray(targetIds) ? targetIds : [targetIds]; + return targets.filter(function (t) { return ids_1.some(function (v) { return v === t.id; }); }); + } + return targets; +}; +extend(data, { + /** + * Get data shown in the chart. + * @function data․shown + * @instance + * @memberof Chart + * @param {string|Array} targetIds If this argument is given, this API filters the data with specified target ids. If this argument is not given, all shown data will be returned. + * @returns {Array} Data objects + * @example + * // Get shown data by filtering to include only data1 data + * chart.data.shown("data1"); + * // --> [{id: "data1", id_org: "data1", values: Array(6)}, ...] + * + * // Get shown data by filtering to include data1 and data2 data + * chart.data.shown(["data1", "data2"]); + * + * // Get all shown data + * chart.data.shown(); + */ + shown: function (targetIds) { + return this.internal.filterTargetsToShow(this.data(targetIds)); + }, + /** + * Get values of the data loaded in the chart. + * @function data․values + * @instance + * @memberof Chart + * @param {string|Array|null} targetIds This API returns the values of specified target. If this argument is not given, null will be retruned + * @param {boolean} [flat=true] Get flatten values + * @returns {Array} Data values + * @example + * // Get data1 values + * chart.data.values("data1"); + * // --> [10, 20, 30, 40] + */ + values: function (targetIds, flat) { + if (flat === void 0) { flat = true; } + var values = null; + if (targetIds) { + var targets = this.data(targetIds); + if (isArray(targets)) { + values = []; + targets.forEach(function (v) { + var dataValue = v.values.map(function (d) { return d.value; }); + flat ? (values = values.concat(dataValue)) : values.push(dataValue); + }); + } + } + return values; + }, + /** + * Get and set names of the data loaded in the chart. + * @function data․names + * @instance + * @memberof Chart + * @param {object} names If this argument is given, the names of data will be updated. If not given, the current names will be returned. The format of this argument is the same as [data.names](./Options.html#.data%25E2%2580%25A4names). + * @returns {object} Corresponding names according its key value, if specified names values. + * @example + * // Get current names + * chart.data.names(); + * // --> {data1: "test1", data2: "test2"} + * + * // Update names + * chart.data.names({ + * data1: "New Name 1", + * data2: "New Name 2" + * }); + */ + names: function (names) { + var $$ = this.internal; + return $$.updateDataAttributes("names", names); + }, + /** + * Get and set colors of the data loaded in the chart. + * @function data․colors + * @instance + * @memberof Chart + * @param {object} colors If this argument is given, the colors of data will be updated. If not given, the current colors will be returned. The format of this argument is the same as [data.colors](./Options.html#.data%25E2%2580%25A4colors). + * @returns {object} Corresponding data color value according its key value. + * @example + * // Get current colors + * chart.data.colors(); + * // --> {data1: "#00c73c", data2: "#fa7171"} + * + * // Update colors + * chart.data.colors({ + * data1: "#FFFFFF", + * data2: "#000000" + * }); + */ + colors: function (colors) { + return this.internal.updateDataAttributes("colors", colors); + }, + /** + * Get and set axes of the data loaded in the chart. + * - **NOTE:** If all data is related to one of the axes, the domain of axis without related data will be replaced by the domain from the axis with related data + * @function data․axes + * @instance + * @memberof Chart + * @param {object} axes If this argument is given, the axes of data will be updated. If not given, the current axes will be returned. The format of this argument is the same as + * @returns {object} Corresponding axes value for data, if specified axes value. + * @example + * // Get current axes + * chart.data.axes(); + * // --> {data1: "y"} + * + * // Update axes + * chart.data.axes({ + * data1: "y", + * data2: "y2" + * }); + */ + axes: function (axes) { + return this.internal.updateDataAttributes("axes", axes); + }, + /** + * Get the minimum data value bound to the chart + * @function data․min + * @instance + * @memberof Chart + * @returns {Array} Data objects + * @example + * // Get current axes + * chart.data.min(); + * // --> [{x: 0, value: 30, id: "data1", index: 0}, ...] + */ + min: function () { + return this.internal.getMinMaxData().min; + }, + /** + * Get the maximum data value bound to the chart + * @function data․max + * @instance + * @memberof Chart + * @returns {Array} Data objects + * @example + * // Get current axes + * chart.data.max(); + * // --> [{x: 3, value: 400, id: "data1", index: 3}, ...] + */ + max: function () { + return this.internal.getMinMaxData().max; + } +}); +var apiData = { data: data }; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Encode to base64 + * @param {string} str string to be encoded + * @returns {string} + * @private + * @see https://developer.mozilla.org/ko/docs/Web/API/WindowBase64/Base64_encoding_and_decoding + */ +var b64EncodeUnicode = function (str) { + var _a; + return (_a = win.btoa) === null || _a === void 0 ? void 0 : _a.call(win, encodeURIComponent(str) + .replace(/%([0-9A-F]{2})/g, function (match, p) { return String.fromCharCode(Number("0x".concat(p))); })); +}; +/** + * Convert svg node to data url + * @param {HTMLElement} node target node + * @param {object} option object containing {width, height, preserveAspectRatio} + * @param {object} orgSize object containing {width, height} + * @returns {string} + * @private + */ +function nodeToSvgDataUrl(node, option, orgSize) { + var _a = option || orgSize, width = _a.width, height = _a.height; + var serializer = new XMLSerializer(); + var clone = node.cloneNode(true); + var cssText = getCssRules(toArray(doc.styleSheets)) + .filter(function (r) { return r.cssText; }) + .map(function (r) { return r.cssText; }); + clone.setAttribute("xmlns", namespaces.xhtml); + // remove padding & margin + clone.style.margin = "0"; + clone.style.padding = "0"; + // remove text nodes + if (option.preserveFontStyle) { + clone.querySelectorAll("text").forEach(function (t) { + t.innerHTML = ""; + }); + } + var nodeXml = serializer.serializeToString(clone); + // escape css for XML + var style = doc.createElement("style"); + style.appendChild(doc.createTextNode(cssText.join("\n"))); + var styleXml = serializer.serializeToString(style); + // foreignObject not supported in IE11 and below + // https://msdn.microsoft.com/en-us/library/hh834675(v=vs.85).aspx + var dataStr = "<svg xmlns=\"".concat(namespaces.svg, "\" width=\"").concat(width, "\" height=\"").concat(height, "\" \n\t\tviewBox=\"0 0 ").concat(orgSize.width, " ").concat(orgSize.height, "\" \n\t\tpreserveAspectRatio=\"").concat((option === null || option === void 0 ? void 0 : option.preserveAspectRatio) === false ? "none" : "xMinYMid meet", "\">\n\t\t\t<foreignObject width=\"100%\" height=\"100%\">\n\t\t\t\t").concat(styleXml, "\n\t\t\t\t").concat(nodeXml.replace(/(url\()[^#]+/g, "$1"), "\n\t\t\t</foreignObject></svg>"); + return "data:image/svg+xml;base64,".concat(b64EncodeUnicode(dataStr)); +} +/** + * Get coordinate of the element + * @param {SVGElement} elem Target element + * @param {object} svgOffset SVG offset + * @returns {object} + * @private + */ +function getCoords(elem, svgOffset) { + var top = svgOffset.top, left = svgOffset.left; + var _a = elem.getBBox(), x = _a.x, y = _a.y; + var _b = elem.getScreenCTM(), a = _b.a, b = _b.b, c = _b.c, d = _b.d, e = _b.e, f = _b.f; + var _c = elem.getBoundingClientRect(), width = _c.width, height = _c.height; + return { + x: (a * x) + (c * y) + e - left, + y: (b * x) + (d * y) + f - top + (height - Math.round(height / 4)), + width: width, + height: height + }; +} +/** + * Get text glyph + * @param {SVGTextElement} svg Target svg node + * @returns {Array} + * @private + */ +function getGlyph(svg) { + var _a = svg.getBoundingClientRect(), left = _a.left, top = _a.top; + var filterFn = function (t) { return t.textContent || t.childElementCount; }; + var glyph = []; + toArray(svg.querySelectorAll("text")) + .filter(filterFn) + .forEach(function (t) { + var getStyleFn = function (ts) { + var _a; + var _b = win.getComputedStyle(ts), fill = _b.fill, fontFamily = _b.fontFamily, fontSize = _b.fontSize, textAnchor = _b.textAnchor, transform = _b.transform; + var _c = getCoords(ts, { left: left, top: top }), x = _c.x, y = _c.y, width = _c.width, height = _c.height; + return _a = {}, + _a[ts.textContent] = { + x: x, + y: y, + width: width, + height: height, + fill: fill, + fontFamily: fontFamily, + fontSize: fontSize, + textAnchor: textAnchor, + transform: transform + }, + _a; + }; + if (t.childElementCount > 1) { + var text = []; + toArray(t.querySelectorAll("tspan")) + .filter(filterFn) + .forEach(function (ts) { + glyph.push(getStyleFn(ts)); + }); + return text; + } + else { + glyph.push(getStyleFn(t)); + } + }); + return glyph; +} +/** + * Render text glyph + * - NOTE: Called when the 'preserveFontStyle' option is true + * @param {CanvasRenderingContext2D} ctx Canvas context + * @param {Array} glyph Text glyph array + * @private + */ +function renderText(ctx, glyph) { + glyph.forEach(function (g) { + Object.keys(g).forEach(function (key) { + var _a = g[key], x = _a.x, y = _a.y, width = _a.width, height = _a.height, fill = _a.fill, fontFamily = _a.fontFamily, fontSize = _a.fontSize, transform = _a.transform; + ctx.save(); + ctx.font = "".concat(fontSize, " ").concat(fontFamily); + ctx.fillStyle = fill; + if (transform === "none") { + ctx.fillText(key, x, y); + } + else { + var args = transform + .replace(/(matrix|\(|\))/g, "") + .split(","); + if (args.splice(4).every(function (v) { return +v === 0; })) { + args.push(x + width - (width / 4)); + args.push(y - height + (height / 3)); + } + else { + args.push(x); + args.push(y); + } + ctx.transform.apply(ctx, args); + ctx.fillText(key, 0, 0); + } + ctx.restore(); + }); + }); +} +var apiExport = { + /** + * Export chart as an image. + * - **NOTE:** + * - IE11 and below not work properly due to the lack of the feature(<a href="https://msdn.microsoft.com/en-us/library/hh834675(v=vs.85).aspx">foreignObject</a>) support + * - Every style applied to the chart & the basic CSS file(ex. billboard.css) should be at same domain as API call context to get correct styled export image. + * @function export + * @instance + * @memberof Chart + * @param {object} option Export option + * @param {string} [option.mimeType="image/png"] The desired output image format. (ex. 'image/png' for png, 'image/jpeg' for jpeg format) + * @param {number} [option.width={currentWidth}] width + * @param {number} [option.height={currentHeigth}] height + * @param {boolean} [option.preserveAspectRatio=true] Preserve aspect ratio on given size + * @param {boolean} [option.preserveFontStyle=false] Preserve font style(font-family).<br> + * **NOTE:** + * - This option is useful when outlink web font style's `font-family` are applied to chart's text element. + * - Text element's position(especially "transformed") can't be preserved correctly according the page's layout condition. + * - If need to preserve accurate text position, embed the web font data within to the page and set `preserveFontStyle=false`. + * - Checkout the embed example: <a href="https://stackblitz.com/edit/zfbya9-8nf9nn?file=index.html">https://stackblitz.com/edit/zfbya9-8nf9nn?file=index.html</a> + * @param {Function} [callback] The callback to be invoked when export is ready. + * @returns {string} dataURI + * @example + * chart.export(); + * // --> "data:image/svg+xml;base64,PHN..." + * + * // Initialize the download automatically + * chart.export({mimeType: "image/png"}, dataUrl => { + * const link = document.createElement("a"); + * + * link.download = `${Date.now()}.png`; + * link.href = dataUrl; + * link.innerHTML = "Download chart as image"; + * + * document.body.appendChild(link); + * }); + * + * // Resize the exported image + * chart.export( + * { + * width: 800, + * height: 600, + * preserveAspectRatio: false, + * preserveFontStyle: false, + * mimeType: "image/png" + * }, + * dataUrl => { ... } + * ); + */ + export: function (option, callback) { + var _this = this; + var $$ = this.internal; + var state = $$.state, _a = $$.$el, chart = _a.chart, svg = _a.svg; + var _b = state.current, width = _b.width, height = _b.height; + var opt = mergeObj({ + width: width, + height: height, + preserveAspectRatio: true, + preserveFontStyle: false, + mimeType: "image/png" + }, option); + var svgDataUrl = nodeToSvgDataUrl(chart.node(), opt, { width: width, height: height }); + var glyph = opt.preserveFontStyle ? getGlyph(svg.node()) : []; + if (callback && isFunction(callback)) { + var img_1 = new Image(); + img_1.crossOrigin = "Anonymous"; + img_1.onload = function () { + var canvas = doc.createElement("canvas"); + var ctx = canvas.getContext("2d"); + canvas.width = opt.width || width; + canvas.height = opt.height || height; + ctx.drawImage(img_1, 0, 0); + if (glyph.length) { + renderText(ctx, glyph); + // release glyph array + glyph.length = 0; + } + callback.bind(_this)(canvas.toDataURL(opt.mimeType)); + }; + img_1.src = svgDataUrl; + } + return svgDataUrl; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var apiFocus = { + /** + * This API highlights specified targets and fade out the others.<br><br> + * You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be highlighted. + * @function focus + * @instance + * @memberof Chart + * @param {string|Array} targetIdsValue Target ids to be highlighted. + * @example + * // data1 will be highlighted and the others will be faded out + * chart.focus("data1"); + * + * // data1 and data2 will be highlighted and the others will be faded out + * chart.focus(["data1", "data2"]); + * + * // all targets will be highlighted + * chart.focus(); + */ + focus: function (targetIdsValue) { + var $$ = this.internal; + var state = $$.state; + var targetIds = $$.mapToTargetIds(targetIdsValue); + var candidates = $$.$el.svg.selectAll($$.selectorTargets(targetIds.filter($$.isTargetToShow, $$))); + this.revert(); + this.defocus(); + candidates.classed($FOCUS.focused, true).classed($FOCUS.defocused, false); + if ($$.hasArcType() && !state.hasRadar) { + $$.expandArc(targetIds); + $$.hasType("gauge") && + $$.markOverlapped(targetIdsValue, $$, ".".concat($GAUGE.gaugeValue)); + } + $$.toggleFocusLegend(targetIds, true); + state.focusedTargetIds = targetIds; + state.defocusedTargetIds = state.defocusedTargetIds.filter(function (id) { return targetIds.indexOf(id) < 0; }); + }, + /** + * This API fades out specified targets and reverts the others.<br><br> + * You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be faded out. + * @function defocus + * @instance + * @memberof Chart + * @param {string|Array} targetIdsValue Target ids to be faded out. + * @example + * // data1 will be faded out and the others will be reverted. + * chart.defocus("data1"); + * + * // data1 and data2 will be faded out and the others will be reverted. + * chart.defocus(["data1", "data2"]); + * + * // all targets will be faded out. + * chart.defocus(); + */ + defocus: function (targetIdsValue) { + var $$ = this.internal; + var state = $$.state; + var targetIds = $$.mapToTargetIds(targetIdsValue); + var candidates = $$.$el.svg.selectAll($$.selectorTargets(targetIds.filter($$.isTargetToShow, $$))); + candidates.classed($FOCUS.focused, false).classed($FOCUS.defocused, true); + if ($$.hasArcType(null, ["polar"])) { + $$.unexpandArc(targetIds); + $$.hasType("gauge") && + $$.undoMarkOverlapped($$, ".".concat($GAUGE.gaugeValue)); + } + $$.toggleFocusLegend(targetIds, false); + state.focusedTargetIds = state.focusedTargetIds.filter(function (id) { return targetIds.indexOf(id) < 0; }); + state.defocusedTargetIds = targetIds; + }, + /** + * Revert focused or defocused state to initial state.<br><br> + * You can specify multiple targets by giving an array that includes id as string. If no argument is given, all of targets will be reverted. + * @function revert + * @instance + * @memberof Chart + * @param {string|Array} targetIdsValue Target ids to be reverted + * @example + * // 'data1' will be reverted. + * chart.revert("data1"); + * + * // 'data1' and 'data2' will be reverted. + * chart.revert(["data1", "data2"]); + * + * // all targets will be reverted. + * chart.revert(); + */ + revert: function (targetIdsValue) { + var $$ = this.internal; + var config = $$.config, state = $$.state, $el = $$.$el; + var targetIds = $$.mapToTargetIds(targetIdsValue); + var candidates = $el.svg.selectAll($$.selectorTargets(targetIds)); // should be for all targets + candidates.classed($FOCUS.focused, false).classed($FOCUS.defocused, false); + $$.hasArcType(null, ["polar"]) && $$.unexpandArc(targetIds); + if (config.legend_show) { + $$.showLegend(targetIds.filter($$.isLegendToShow.bind($$))); + $el.legend.selectAll($$.selectorLegends(targetIds)) + .filter(function () { + return select(this).classed($FOCUS.legendItemFocused); + }) + .classed($FOCUS.legendItemFocused, false); + } + state.focusedTargetIds = []; + state.defocusedTargetIds = []; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Define legend + * @ignore + */ +var legend = { + /** + * Show legend for each target. + * - **NOTE:** Legend APIs aren't supported for `treemap` type. + * @function legend․show + * @instance + * @memberof Chart + * @param {string|Array} targetIds + * - If targetIds is given, specified target's legend will be shown. + * - If only one target is the candidate, String can be passed. + * - If no argument is given, all of target's legend will be shown. + * @example + * // Show legend for data1. + * chart.legend.show("data1"); + * + * // Show legend for data1 and data2. + * chart.legend.show(["data1", "data2"]); + * + * // Show all legend. + * chart.legend.show(); + */ + show: function (targetIds) { + var $$ = this.internal; + $$.showLegend($$.mapToTargetIds(targetIds)); + $$.updateAndRedraw({ withLegend: true }); + }, + /** + * Hide legend for each target. + * @function legend․hide + * @instance + * @memberof Chart + * @param {string|Array} targetIds + * - If targetIds is given, specified target's legend will be hidden. + * - If only one target is the candidate, String can be passed. + * - If no argument is given, all of target's legend will be hidden. + * @example + * // Hide legend for data1. + * chart.legend.hide("data1"); + * + * // Hide legend for data1 and data2. + * chart.legend.hide(["data1", "data2"]); + * + * // Hide all legend. + * chart.legend.hide(); + */ + hide: function (targetIds) { + var $$ = this.internal; + $$.hideLegend($$.mapToTargetIds(targetIds)); + $$.updateAndRedraw({ withLegend: true }); + } +}; +var apiLegend = { legend: legend }; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var apiLoad = { + /** + * Load data to the chart.<br><br> + * You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be toggles. + * - <b>Note:</b> + * - unload should be used if some data needs to be unloaded simultaneously. + * If you call unload API soon after/before load instead of unload param, chart will not be rendered properly because of cancel of animation.<br> + * - done will be called after data loaded, but it's not after rendering. + * It's because rendering will finish after some transition and there is some time lag between loading and rendering + * @function load + * @instance + * @memberof Chart + * @param {object} args The object can consist with following members:<br> + * + * | Key | Type | Description | + * | --- | --- | --- | + * | columns | Array | The `columns` data will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added | + * | json | Array | The `json` data will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added | + * | rows | Array | The `rows` data will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added | + * | url | string | The data from `url` will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added | + * |   | | | + * | append | boolean | Load data appending it to the current dataseries.<br>If the existing chart has`x` value, should provide with corresponding `x` value for newly loaded data. | + * | axes | Object | The axes specified by data.axes will be updated. axes must be Object that has target id as keys. | + * | categories | Array | The categories specified by axis.x.categories or data.x will be updated. categories must be Array. | + * | classes | Object | The classes specified by data.classes will be updated. classes must be Object that has target id as keys. | + * | colors | Object | The colors specified by data.colors will be updated. colors must be Object that has target id as keys. | + * | data | Obejct | Data objects to be loaded. Checkout the example. | + * | done | Function | The specified function will be called after data loaded.| + * | headers | string | Set request header if loading via `data.url`.<br>@see [data․headers](Options.html#.data%25E2%2580%25A4headers) | + * | keys | Object | Choose which JSON objects keys correspond to desired data.<br>**NOTE:** Only for JSON object given as array.<br>@see [data․keys](Options.html#.data%25E2%2580%25A4keys) | + * | mimeType | string | Set 'json' if loading JSON via url.<br>@see [data․mimeType](Options.html#.data%25E2%2580%25A4mimeType) | + * | names | Object | Same as data.names() | + * | resizeAfter | boolean | Resize after the load. Default value is `false`.<br>- This option won't call `onresize` neither `onresized`.<br>- When set to 'true', will call `.flush(true)` at the end of load. | + * | type | string | The type of targets will be updated. | + * | types | Object | The types of targets will be updated. | + * | unload | Array | Specify the data will be unloaded before loading new data. If true given, all of data will be unloaded. If target ids given as String or Array, specified targets will be unloaded. If absent or false given, unload will not occur. | + * | xs | string | Same as data.xs option | + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataFromURL) + * @example + * // Load data1 and unload data2 and data3 + * chart.load({ + * columns: [ + * ["data1", 100, 200, 150, ...], + * ... + * ], + * unload: ["data2", "data3"], + * url: "...", + * done: function() { ... } + * resizeAfter: true // will resize after load + * }); + * @example + * const chart = bb.generate({ + * data: { + * columns: [ + * ["data1", 20, 30, 40] + * ] + * } + * }); + * + * chart.load({ + * columns: [ + * // with 'append' option, the 'data1' will have `[20,30,40,50,60]`. + * ["data1", 50, 60] + * ], + * append: true + * }); + * @example + * const chart = bb.generate({ + * data: { + * x: "x", + * xFormat: "%Y-%m-%dT%H:%M:%S", + * columns: [ + * ["x", "2021-01-03T03:00:00", "2021-01-04T12:00:00", "2021-01-05T21:00:00"], + * ["data1", 36, 30, 24] + * ] + * }, + * axis: { + * x: { + * type: "timeseries" + * } + * } + * }; + * + * chart.load({ + * columns: [ + * // when existing chart has `x` value, should provide correponding 'x' value. + * // with 'append' option, the 'data1' will have `[36,30,24,37]`. + * ["x", "2021-02-01T08:00:00"], + * ["data1", 37] + * ], + * append: true + * }); + * @example + * // myAPI.json + * // { + * // "data1": [220, 240, 270, 250, 280], + * // "data2": [180, 150, 300, 70, 120] + * // } + * + * chart.load({ + * url: './data/myAPI.json', + * mimeType: "json", + * + * // set request header if is needed + * headers: { + * "Content-Type": "text/json" + * } + * }); + * @example + * chart.load({ + * data: [ + * // equivalent as: columns: [["data1", 30, 200, 100]] + * {"data1": 30}, {"data1": 200}, {"data1": 100} + * + * // or + * // equivalent as: columns: [["data1", 10, 20], ["data2", 13, 30]] + * // {"data1": 10, "data2": 13}, {"data1": 20, "data2": 30}} + * ] + * }); + * @example + * chart.load({ + * json: [ + * {name: "www.site1.com", upload: 800, download: 500, total: 400}, + * ], + * keys: { + * x: "name", + * value: ["upload", "download"] + * } + * }); + * @example + * chart.load({ + * json: { + * data1:[30, 20, 50, 40, 60, 50], + * data2:[200, 130, 90, 240, 130, 220], + * } + * }); + */ + load: function (args) { + var $$ = this.internal; + var config = $$.config; + // update xs if specified + args.xs && $$.addXs(args.xs); + // update names if exists + "names" in args && this.data.names(args.names); + // update classes if exists + "classes" in args && Object.keys(args.classes).forEach(function (id) { + config.data_classes[id] = args.classes[id]; + }); + // update categories if exists + if ("categories" in args && $$.axis.isCategorized()) { + config.axis_x_categories = args.categories; + } + // update axes if exists + "axes" in args && Object.keys(args.axes).forEach(function (id) { + config.data_axes[id] = args.axes[id]; + }); + // update colors if exists + "colors" in args && Object.keys(args.colors).forEach(function (id) { + config.data_colors[id] = args.colors[id]; + }); + // unload if needed + if ("unload" in args && args.unload !== false) { + // TODO: do not unload if target will load (included in url/rows/columns) + $$.unload($$.mapToTargetIds(args.unload === true ? null : args.unload), function () { + // to mitigate improper rendering for multiple consecutive calls + // https://github.com/naver/billboard.js/issues/2121 + requestIdleCallback(function () { return $$.loadFromArgs(args); }); + }); + } + else { + $$.loadFromArgs(args); + } + }, + /** + * Unload data to the chart.<br><br> + * You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be toggles. + * - <b>Note:</b> + * If you call load API soon after/before unload, unload param of load should be used. Otherwise chart will not be rendered properly because of cancel of animation.<br> + * `done` will be called after data loaded, but it's not after rendering. It's because rendering will finish after some transition and there is some time lag between loading and rendering. + * @function unload + * @instance + * @memberof Chart + * @param {object} argsValue + * | key | Type | Description | + * | --- | --- | --- | + * | ids | String | Array | Target id data to be unloaded. If not given, all data will be unloaded. | + * | done | Fuction | Callback after data is unloaded. | + * | resizeAfter | boolean | Resize after the unload. Default value is `false`.<br>- This option won't call `onresize` neither `onresized`.<br>- When set to 'true', will call `.flush(true)` at the end of unload. | + * @example + * // Unload data2 and data3 + * chart.unload({ + * ids: ["data2", "data3"], + * done: function() { + * // called after the unloaded + * }, + * resizeAfter: true // will resize after unload + * }); + */ + unload: function (argsValue) { + var $$ = this.internal; + var args = argsValue || {}; + // hide possible tooltip display when data is completely unloaded + isEmpty(args) && this.tooltip.hide(); + if (isArray(args)) { + args = { ids: args }; + } + else if (isString(args)) { + args = { ids: [args] }; + } + var ids = $$.mapToTargetIds(args.ids); + $$.unload(ids, function () { + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true, + withLegend: true + }); + $$.cache.remove(ids); + callDone.call($$, args.done, args.resizeAfter); + }); + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Show/Hide data series + * @param {boolean} show Show or hide + * @param {Array} targetIdsValue Target id values + * @param {object} options Options + * @private + */ +function showHide(show, targetIdsValue, options) { + var _this = this; + var $$ = this.internal; + var targetIds = $$.mapToTargetIds(targetIdsValue); + var hiddenIds = $$.state.hiddenTargetIds + .map(function (v) { return targetIds.indexOf(v) > -1 && v; }) + .filter(Boolean); + $$.state.toggling = true; + $$["".concat(show ? "remove" : "add", "HiddenTargetIds")](targetIds); + var targets = $$.$el.svg.selectAll($$.selectorTargets(targetIds)); + var opacity = show ? null : "0"; + if (show && hiddenIds.length) { + targets.style("display", null); + callFn($$.config.data_onshown, this, hiddenIds); + } + $$.$T(targets) + .style("opacity", opacity, "important") + .call(endall, function () { + var _a; + // https://github.com/naver/billboard.js/issues/1758 + if (!show && hiddenIds.length === 0) { + targets.style("display", "none"); + callFn((_a = $$.config) === null || _a === void 0 ? void 0 : _a.data_onhidden, _this, targetIds); + } + targets.style("opacity", opacity); + }); + options.withLegend && $$["".concat(show ? "show" : "hide", "Legend")](targetIds); + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true, + withLegend: true + }); + $$.state.toggling = false; +} +var apiShow = { + /** + * Show data series on chart + * @function show + * @instance + * @memberof Chart + * @param {string|Array} [targetIdsValue] The target id value. + * @param {object} [options] The object can consist with following members:<br> + * + * | Key | Type | default | Description | + * | --- | --- | --- | --- | + * | withLegend | boolean | false | whether or not display legend | + * + * @example + * // show 'data1' + * chart.show("data1"); + * + * // show 'data1' and 'data3' + * chart.show(["data1", "data3"]); + */ + show: function (targetIdsValue, options) { + if (options === void 0) { options = {}; } + showHide.call(this, true, targetIdsValue, options); + }, + /** + * Hide data series from chart + * @function hide + * @instance + * @memberof Chart + * @param {string|Array} [targetIdsValue] The target id value. + * @param {object} [options] The object can consist with following members:<br> + * + * | Key | Type | default | Description | + * | --- | --- | --- | --- | + * | withLegend | boolean | false | whether or not display legend | + * + * @example + * // hide 'data1' + * chart.hide("data1"); + * + * // hide 'data1' and 'data3' + * chart.hide(["data1", "data3"]); + */ + hide: function (targetIdsValue, options) { + if (options === void 0) { options = {}; } + showHide.call(this, false, targetIdsValue, options); + }, + /** + * Toggle data series on chart. When target data is hidden, it will show. If is shown, it will hide in vice versa. + * @function toggle + * @instance + * @memberof Chart + * @param {string|Array} [targetIds] The target id value. + * @param {object} [options] The object can consist with following members:<br> + * + * | Key | Type | default | Description | + * | --- | --- | --- | --- | + * | withLegend | boolean | false | whether or not display legend | + * + * @example + * // toggle 'data1' + * chart.toggle("data1"); + * + * // toggle 'data1' and 'data3' + * chart.toggle(["data1", "data3"]); + */ + toggle: function (targetIds, options) { + var _this = this; + if (options === void 0) { options = {}; } + var $$ = this.internal; + var targets = { show: [], hide: [] }; + // sort show & hide target ids + $$.mapToTargetIds(targetIds) + .forEach(function (id) { return targets[$$.isTargetToShow(id) ? "hide" : "show"].push(id); }); + // perform show & hide task separately + // https://github.com/naver/billboard.js/issues/454 + targets.show.length && this.show(targets.show, options); + targets.hide.length && setTimeout(function () { return _this.hide(targets.hide, options); }, 0); + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Define tooltip + * @ignore + */ +var tooltip = { + /** + * Show tooltip + * @function tooltip․show + * @instance + * @memberof Chart + * @param {object} args The object can consist with following members:<br> + * + * | Key | Type | Description | + * | --- | --- | --- | + * | index | Number | Determine focus by index | + * | x | Number | Date | Determine focus by x Axis index | + * | mouse | Array | Determine x and y coordinate value relative the targeted '.bb-event-rect' x Axis.<br>It should be used along with `data`, `index` or `x` value. The default value is set as `[0,0]` | + * | data | Object | When [data.xs](Options.html#.data%25E2%2580%25A4xs) option is used or [tooltip.grouped](Options.html#.tooltip) set to 'false', `should be used giving this param`.<br><br>**Key:**<br>- x {number | Date}: x Axis value<br>- index {number}: x Axis index (useless for data.xs)<br>- id {string}: data id<br>- value {number}: The corresponding value for tooltip. | + * + * @example + * // show the 2nd x Axis coordinate tooltip + * // for Arc(gauge, donut & pie) and radar type, approch showing tooltip by using "index" number. + * chart.tooltip.show({ + * index: 1 + * }); + * + * // show tooltip for the 3rd x Axis in x:50 and y:100 coordinate of '.bb-event-rect' of the x Axis. + * chart.tooltip.show({ + * x: 2, + * mouse: [50, 100] + * }); + * + * // show tooltip for timeseries x axis + * chart.tooltip.show({ + * x: new Date("2018-01-02 00:00") + * }); + * + * // treemap type can be shown by using "id" only. + * chart.tooltip.show({ + * data: { + * id: "data1" // data id + * } + * }); + * + * // for Arc types, specify 'id' or 'index' + * chart.tooltip.show({ data: { id: "data2" }}); + * chart.tooltip.show({ data: { index: 2 }}); + * + * // when data.xs is used + * chart.tooltip.show({ + * data: { + * x: 3, // x Axis value + * id: "data1", // data id + * value: 500 // data value + * } + * }); + * + * // when data.xs isn't used, but tooltip.grouped=false is set + * chart.tooltip.show({ + * data: { + * index: 3, // or 'x' key value + * id: "data1", // data id + * value: 500 // data value + * } + * }); + */ + show: function (args) { + var _a, _b, _c; + var $$ = this.internal; + var $el = $$.$el, config = $$.config, _d = $$.state, eventReceiver = _d.eventReceiver, hasFunnel = _d.hasFunnel, hasTreemap = _d.hasTreemap, inputType = _d.inputType; + var index; + var mouse; + // determine mouse position on the chart + if (args.mouse) { + mouse = args.mouse; + } + // determine focus data + if (args.data) { + var data = args.data; + var y = (_a = $$.getYScaleById(data.id)) === null || _a === void 0 ? void 0 : _a(data.value); + if ((hasFunnel || hasTreemap) && data.id) { + var selector = $$.selectorTarget(data.id, undefined, ".".concat($SHAPE.shape)); + eventReceiver.rect = $el.main.select(selector); + } + else if ($$.isMultipleX()) { + // if multiple xs, target point will be determined by mouse + mouse = [$$.xx(data), y]; + } + else { + if (!config.tooltip_grouped) { + mouse = [0, y]; + } + index = (_b = data.index) !== null && _b !== void 0 ? _b : ($$.hasArcType() && data.id ? + (_c = $$.getArcElementByIdOrIndex(data.id)) === null || _c === void 0 ? void 0 : _c.datum().index : + $$.getIndexByX(data.x)); + } + } + else if (isDefined(args.x)) { + index = $$.getIndexByX(args.x); + } + else if (isDefined(args.index)) { + index = args.index; + } + (inputType === "mouse" ? ["mouseover", "mousemove"] : ["touchstart"]).forEach(function (eventName) { + $$.dispatchEvent(eventName, index, mouse); + }); + }, + /** + * Hide tooltip + * @function tooltip․hide + * @instance + * @memberof Chart + */ + hide: function () { + var _a, _b, _c; + var $$ = this.internal; + var inputType = $$.state.inputType, tooltip = $$.$el.tooltip; + var data = tooltip === null || tooltip === void 0 ? void 0 : tooltip.datum(); + if (data) { + var index_1 = JSON.parse(data.current)[0].index; + // make to finalize, possible pending event flow set from '.tooltip.show()' call + (inputType === "mouse" ? ["mouseout"] : ["touchend"]).forEach(function (eventName) { + $$.dispatchEvent(eventName, index_1); + }); + } + // reset last touch point index + inputType === "touch" && $$.callOverOutForTouch(); + $$.hideTooltip(true); + (_a = $$.hideGridFocus) === null || _a === void 0 ? void 0 : _a.call($$); + (_b = $$.unexpandCircles) === null || _b === void 0 ? void 0 : _b.call($$); + (_c = $$.expandBarTypeShapes) === null || _c === void 0 ? void 0 : _c.call($$, false); + } +}; +var apiTooltip = { tooltip: tooltip }; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Main chart class. + * - Note: Instantiated via `bb.generate()`. + * @class Chart + * @example + * var chart = bb.generate({ + * data: { + * columns: [ + * ["x", "2015-11-02", "2015-12-01", "2016-01-01", "2016-02-01", "2016-03-01"], + * ["count1", 11, 8, 7, 6, 5 ], + * ["count2", 9, 3, 6, 2, 8 ] + * ]} + * } + * @see {@link bb.generate} for the initialization. + */ +/** + * Access instance's primary node elements + * @member {object} $ + * @property {object} $ Access instance's primary node elements + * @property {d3.selection} $.chart Wrapper element + * @property {d3.selection} $.svg Main svg element + * @property {d3.selection} $.defs Definition element + * @property {d3.selection} $.main Main grouping element + * @property {d3.selection} $.needle Needle element + * - **NOTE:** + * - The element will have `bb-needle` as class name. + * - Will provide speical helper `.updateHelper(value: number, updateConfig: boolean)` method to facilitate needle position update. + * @property {d3.selection} $.tooltip Tooltip element + * @property {d3.selection} $.legend Legend element + * @property {d3.selection} $.title Title element + * @property {d3.selection} $.grid Grid element + * @property {d3.selection} $.arc Arc element + * @property {d3.selection} $.circles Data point circle elements + * @property {object} $.bar Bar element object + * @property {d3.selection} $.bar.bars Bar elements + * @property {d3.selection} $.candlestick Candlestick elements + * @property {object} $.line Line element object + * @property {d3.selection} $.line.lines Line elements + * @property {d3.selection} $.line.areas Areas elements + * @property {object} $.text Text element object + * @property {d3.selection} $.text.texts Data label text elements + * @memberof Chart + * @example + * const chart = bb.generate({ ... }); + * + * chart.$.chart; // wrapper element + * chart.$.line.circles; // all data point circle elements + * @example + * // Update arc needle position + * const chart = bb.generate({ + * data: { + * type: "donut" + * }, + * arc: { + * needle: { + * show: true, + * ... + * } + * } + * }); + * + * chart.$.needle.updateHelper(70); // update needle position to point value 70. + * + * // update needle position to point value 70 and the config value. + * // NOTE: updating config value, will update needle pointer initial value too. + * chart.$.needle.updateHelper(70, true); + * + * // update needle point position every 1 second + * let i = 0; + * setInterval(() => { + * chart.$.needle.updateHelper(i += 10); + * }, 1000) + */ +/** + * Plugin instance array + * @member {Array} plugins + * @memberof Chart + * @example + * var chart = bb.generate({ + * ... + * plugins: [ + * new bb.plugin.stanford({ ... }), + * new PluginA() + * ] + * }); + * + * chart.plugins; // [Stanford, PluginA] - instance array + */ +var Chart = /** @class */ (function () { + function Chart(options) { + this.plugins = []; + var $$ = new ChartInternal(this); + // let hook = () => {}; + this.internal = $$; + // bind to namespaced APIs + (function bindThis(fn, target, argThis) { + Object.keys(fn).forEach(function (key) { + var isFunc = isFunction(fn[key]); + var isChild = target !== argThis; + var isNotNil = notEmpty(fn[key]); + var hasChild = isNotNil && Object.keys(fn[key]).length > 0; + // const hookFn = function(...params) { + // hook(); + // return fn[key].bind(argThis)(...params); + // } + if (isFunc && ((!isChild && hasChild) || isChild)) { + target[key] = fn[key].bind(argThis); + } + else if (isNotNil && !isFunc) { + target[key] = {}; + } + else { + target[key] = fn[key]; + } + hasChild && bindThis(fn[key], target[key], argThis); + }); + })(Chart.prototype, this, this); + loadConfig.call($$, options); + $$.beforeInit(); + $$.init(); + // if ($$.config.render.lazy !== false && hasStyle($$.$el.chart, {"display": "none", "visibility": "hidden"})) { + // hook = () => { + // logError(`The call of APIs won't work. Please, make sure if chart element is %cvisible.`); + // }; + // } + } + return Chart; +}()); +// extend common APIs as part of Chart class +extend(Chart.prototype, [ + apiChart, + apiColor, + apiData, + apiExport, + apiFocus, + apiLegend, + apiLoad, + apiShow, + apiTooltip +]); + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Set the min/max value + * @param {Chart} $$ Chart instance + * @param {string} type Set type 'min' or 'max' + * @param {object} value Value to be set + * @private + */ +function setMinMax($$, type, value) { + var config = $$.config; + var helper = function (key, value) { + var v = isNumber(value) ? value : (value === false ? undefined : null); + if (v !== null) { + config["axis_".concat(key, "_").concat(type)] = v; + } + }; + if (isDefined(value)) { + if (isObjectType(value)) { + Object.keys(value).forEach(function (key) { + helper(key, value[key]); + }); + } + else if (isNumber(value) || value === false) { + // shorthand values affects only y and y2. + ["y", "y2"].forEach(function (key) { + helper(key, value); + }); + } + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true + }); + } +} +/** + * Get the min/max value + * @param {Chart} $$ Chart instance + * @param {string} type Set type 'min' or 'max' + * @returns {{x, y, y2}} + * @private + */ +function getMinMax($$, type) { + var config = $$.config; + return { + x: config["axis_x_".concat(type)], + y: config["axis_y_".concat(type)], + y2: config["axis_y2_".concat(type)] + }; +} +/** + * Define axis + * @ignore + */ +var axis$1 = { + /** + * Get and set axis labels. + * - **NOTE:** Only applicable for chart types which has x and y axes. + * @function axis․labels + * @instance + * @memberof Chart + * @param {object} labels specified axis' label to be updated. + * @param {string} [labels.x] x Axis string + * @param {string} [labels.y] y Axis string + * @param {string} [labels.y2] y2 Axis string + * @returns {object|undefined} axis labels text object + * @example + * // Update axis' label + * chart.axis.labels({ + * x: "New X Axis Label", + * y: "New Y Axis Label", + * y2: "New Y2 Axis Label" + * }); + * + * chart.axis.labels(); + * // --> { + * // x: "New X Axis Label", + * // y: "New Y Axis Label", + * // y2: "New Y2 Axis Label" + * // } + */ + labels: function (labels) { + var $$ = this.internal; + var labelText; + if (labels) { + Object.keys(labels).forEach(function (axisId) { + $$.axis.setLabelText(axisId, labels[axisId]); + }); + $$.axis.updateLabels(); + } + ["x", "y", "y2"].forEach(function (v) { + var text = $$.axis.getLabelText(v); + if (text) { + !labelText && (labelText = {}); + labelText[v] = text; + } + }); + return labelText; + }, + /** + * Get and set axis min value. + * - **NOTE:** Only applicable for chart types which has x and y axes. + * @function axis․min + * @instance + * @memberof Chart + * @param {object} min If min is given, specified axis' min value will be updated.<br> + * If no argument is given, the min values set on generating option for each axis will be returned. + * If not set any min values on generation, it will return `undefined`.<br> + * To unset specific axis max, set `false` to each of them. + * @returns {object|undefined} + * @example + * // Update axis' min + * chart.axis.min({ + * x: -10, + * y: 1000, + * y2: 100 + * }); + * + * // To unset specific axis min, set false to each of them. + * chart.axis.min({ + * x: false, + * y: false, + * y2: false + * }); + * + * // shorthand (only affects y and y2 axis) + * chart.axis.min(-50); + * chart.axis.min(false); + */ + min: function (min) { + var $$ = this.internal; + return isValue(min) || min === false ? + setMinMax($$, "min", min) : + getMinMax($$, "min"); + }, + /** + * Get and set axis max value. + * - **NOTE:** Only applicable for chart types which has x and y axes. + * @function axis․max + * @instance + * @memberof Chart + * @param {object} max If max is given, specified axis' max value will be updated.<br> + * If no argument is given, the max values set on generating option for each axis will be returned. + * If not set any max values on generation, it will return `undefined`.<br> + * To unset specific axis max, set `false` to each of them. + * @returns {object|undefined} + * @example + * // Update axis' label + * chart.axis.max({ + * x: 100, + * y: 1000, + * y2: 10000 + * }); + * + * // To unset specific axis max, set false to each of them. + * chart.axis.max({ + * x: false, + * y: false, + * y2: false + * }); + * + * // shorthand (only affects y and y2 axis) + * chart.axis.max(10); + * chart.axis.max(false); + */ + max: function (max) { + var $$ = this.internal; + return isValue(max) || max === false ? + setMinMax($$, "max", max) : + getMinMax($$, "max"); + }, + /** + * Get and set axis min and max value. + * - **NOTE:** Only applicable for chart types which has x and y axes. + * @function axis․range + * @instance + * @memberof Chart + * @param {object} range If range is given, specified axis' min and max value will be updated. + * If no argument is given, the current min and max values for each axis will be returned.<br> + * To unset specific axis max, set `false` to each of them. + * @returns {object|undefined} + * @example + * // Update axis' label + * chart.axis.range({ + * min: { + * x: -10, + * y: -1000, + * y2: -10000 + * }, + * max: { + * x: 100, + * y: 1000, + * y2: 10000 + * }, + * }); + * + * // To unset specific axis max, set false to each of them. + * chart.axis.range({ + * min: { + * x: false, + * y: false, + * y2: false + * }, + * max: { + * x: false, + * y: false, + * y2: false + * }, + * }); + * + * // shorthand (only affects y and y2 axis) + * chart.axis.range({ min: -50, max: 1000 }); + * chart.axis.range({ min: false, max: false }); + */ + range: function (range) { + var axis = this.axis; + if (arguments.length) { + var min = range.min, max = range.max; + isDefined(max) && axis.max(max); + isDefined(min) && axis.min(min); + } + else { + return { + max: axis.max(), + min: axis.min() + }; + } + return undefined; + } +}; +var apiAxis = { axis: axis$1 }; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var apiCategory = { + /** + * Set specified category name on category axis. + * @function category + * @instance + * @memberof Chart + * @param {number} i index of category to be changed + * @param {string} category category value to be changed + * @returns {string} + * @example + * chart.category(2, "Category 3"); + */ + category: function (i, category) { + var $$ = this.internal; + var config = $$.config; + if (arguments.length > 1) { + config.axis_x_categories[i] = category; + $$.redraw(); + } + return config.axis_x_categories[i]; + }, + /** + * Set or get category names on category axis. + * @function categories + * @instance + * @memberof Chart + * @param {Array} categories This must be an array that includes category names in string. If category names are included in the date by data.x option, this is not required. + * @returns {Array} + * @example + * chart.categories([ + * "Category 1", "Category 2", ... + * ]); + */ + categories: function (categories) { + var $$ = this.internal; + var config = $$.config; + if (!categories || !Array.isArray(categories)) { + var cat = config.axis_x_categories; + return isEmpty(cat) ? Object.values($$.data.xs)[0] : cat; + } + config.axis_x_categories = categories; + $$.redraw(); + return config.axis_x_categories; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var apiFlow = { + /** + * Flow data to the chart.<br><br> + * By this API, you can append new data points to the chart. + * @function flow + * @instance + * @memberof Chart + * @param {object} args The object can consist with following members:<br> + * + * | Key | Type | Description | + * | --- | --- | --- | + * | json | Object | Data as JSON format (@see [data․json](Options.html#.data%25E2%2580%25A4json)) | + * | rows | Array | Data in array as row format (@see [data․rows](Options.html#.data%25E2%2580%25A4json)) | + * | columns | Array | Data in array as column format (@see [data․columns](Options.html#.data%25E2%2580%25A4columns)) | + * | to | String | The lower x edge will move to that point. If not given, the lower x edge will move by the number of given data points | + * | length | Number | The lower x edge will move by the number of this argument | + * | duration | Number | The duration of the transition will be specified value. If not given, transition.duration will be used as default | + * | done | Function | The specified function will be called when flow ends | + * + * - **NOTE:** + * - If json, rows and columns given, the data will be loaded. + * - If data that has the same target id is given, the chart will be appended. + * - Otherwise, new target will be added. One of these is required when calling. + * - If json specified, keys is required as well as data.json. + * - If tab isn't visible(by evaluating `document.hidden`), will not be executed to prevent unnecessary work. + * @example + * // 2 data points will be apprended to the tail and popped from the head. + * // After that, 4 data points will be appended and no data points will be poppoed. + * chart.flow({ + * columns: [ + * ["x", "2018-01-11", "2018-01-21"], + * ["data1", 500, 200], + * ["data2", 100, 300], + * ["data3", 200, 120] + * ], + * to: "2013-01-11", + * done: function () { + * chart.flow({ + * columns: [ + * ["x", "2018-02-11", "2018-02-12", "2018-02-13", "2018-02-14"], + * ["data1", 200, 300, 100, 250], + * ["data2", 100, 90, 40, 120], + * ["data3", 100, 100, 300, 500] + * ], + * length: 2, + * duration: 1500 + * }); + * } + * }); + */ + flow: function (args) { + var $$ = this.internal; + var data; + if (args.json || args.rows || args.columns) { + $$.convertData(args, function (res) { + data = res; + _(); + }); + } + /** + * Process flows + * @private + */ + function _() { + var domain; + var length = 0; + var tail = 0; + var diff; + var to; + if ($$.state.redrawing || !data || !isTabVisible()) { + return; + } + var notfoundIds = []; + var orgDataCount = $$.getMaxDataCount(); + var targets = $$.convertDataToTargets(data, true); + var isTimeSeries = $$.axis.isTimeSeries(); + // Update/Add data + $$.data.targets.forEach(function (t) { + var found = false; + for (var i = 0; i < targets.length; i++) { + if (t.id === targets[i].id) { + found = true; + if (t.values[t.values.length - 1]) { + tail = t.values[t.values.length - 1].index + 1; + } + length = targets[i].values.length; + for (var j = 0; j < length; j++) { + targets[i].values[j].index = tail + j; + if (!isTimeSeries) { + targets[i].values[j].x = tail + j; + } + } + t.values = t.values.concat(targets[i].values); + targets.splice(i, 1); + break; + } + } + !found && notfoundIds.push(t.id); + }); + // Append null for not found targets + $$.data.targets.forEach(function (t) { + for (var i = 0; i < notfoundIds.length; i++) { + if (t.id === notfoundIds[i]) { + tail = t.values[t.values.length - 1].index + 1; + for (var j = 0; j < length; j++) { + t.values.push({ + id: t.id, + index: tail + j, + x: isTimeSeries ? $$.getOtherTargetX(tail + j) : tail + j, + value: null + }); + } + } + } + }); + // Generate null values for new target + if ($$.data.targets.length) { + targets.forEach(function (t) { + var missing = []; + for (var i = $$.data.targets[0].values[0].index; i < tail; i++) { + missing.push({ + id: t.id, + index: i, + x: isTimeSeries ? $$.getOtherTargetX(i) : i, + value: null + }); + } + t.values.forEach(function (v) { + v.index += tail; + if (!isTimeSeries) { + v.x += tail; + } + }); + t.values = missing.concat(t.values); + }); + } + $$.data.targets = $$.data.targets.concat(targets); // add remained + // check data count because behavior needs to change when it"s only one + // const dataCount = $$.getMaxDataCount(); + var baseTarget = $$.data.targets[0]; + var baseValue = baseTarget.values[0]; + // Update length to flow if needed + if (isDefined(args.to)) { + length = 0; + to = isTimeSeries ? parseDate.call($$, args.to) : args.to; + baseTarget.values.forEach(function (v) { + v.x < to && length++; + }); + } + else if (isDefined(args.length)) { + length = args.length; + } + // If only one data, update the domain to flow from left edge of the chart + if (!orgDataCount) { + if (isTimeSeries) { + diff = baseTarget.values.length > 1 ? + baseTarget.values[baseTarget.values.length - 1].x - baseValue.x : + baseValue.x - $$.getXDomain($$.data.targets)[0]; + } + else { + diff = 1; + } + domain = [baseValue.x - diff, baseValue.x]; + } + else if (orgDataCount === 1 && isTimeSeries) { + diff = (baseTarget.values[baseTarget.values.length - 1].x - baseValue.x) / 2; + domain = [new Date(+baseValue.x - diff), new Date(+baseValue.x + diff)]; + } + domain && $$.updateXDomain(null, true, true, false, domain); + // Set targets + $$.updateTargets($$.data.targets); + // Redraw with new targets + $$.redraw({ + flow: { + index: baseValue.index, + length: length, + duration: isValue(args.duration) ? + args.duration : + $$.config.transition_duration, + done: args.done, + orgDataCount: orgDataCount + }, + withLegend: true, + withTransition: orgDataCount > 1, + withTrimXDomain: false, + withUpdateXAxis: true + }); + } + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Update grid lines. + * @param {Array} grids grid lines to update + * @param {string} axisId axis' id: "x" or "y" + * @returns {Array} + * @private + */ +function grid$1(grids, axisId) { + var $$ = this.internal; + var config = $$.config; + var withTransition = config.transition_duration && isTabVisible(); + var gridPropLines = "grid_".concat(axisId, "_lines"); + if (!grids) { + return config[gridPropLines]; + } + config[gridPropLines] = grids; + $$.updateGrid(); + $$.redrawGrid(withTransition); + return config[gridPropLines]; +} +/** + * Add grid lines. + * @param {Array|object} grids grid lines to add + * @param {string} axisId axis' id: "x" or "y" + * @returns {Array} + * @private + */ +function add(grids, axisId) { + var gridPropLines = "grid_".concat(axisId, "_lines"); + return grid$1.bind(this)(this.internal.config[gridPropLines].concat(grids || []), axisId); +} +/** + * Remove grid lines. + * @param {object} grids grid lines to remove + * @param {boolean} isXAxis weather is x axis or not + * @private + */ +function remove(grids, isXAxis) { + this.internal.removeGridLines(grids, isXAxis); +} +/** + * Update x grid lines. + * @function xgrids + * @instance + * @memberof Chart + * @param {Array} grids X grid lines will be replaced with this argument. The format of this argument is the same as grid.x.lines. + * @returns {Array} + * @example + * // Show 2 x grid lines + * chart.xgrids([ + * {value: 1, text: "Label 1"}, + * {value: 4, text: "Label 4"} + * ]); + * // --> Returns: [{value: 1, text: "Label 1"}, {value: 4, text: "Label 4"}] + */ +var xgrids = function (grids) { + return grid$1.bind(this)(grids, "x"); +}; +extend(xgrids, { + /** + * Add x grid lines.<br> + * This API adds new x grid lines instead of replacing like xgrids. + * @function xgrids․add + * @instance + * @memberof Chart + * @param {Array|object} grids New x grid lines will be added. The format of this argument is the same as grid.x.lines and it's possible to give an Object if only one line will be added. + * @returns {Array} + * @example + * // Add a new x grid line + * chart.xgrids.add( + * {value: 4, text: "Label 4"} + * ); + * + * // Add new x grid lines + * chart.xgrids.add([ + * {value: 2, text: "Label 2"}, + * {value: 4, text: "Label 4"} + * ]); + */ + add: function (grids) { + return add.bind(this)(grids, "x"); + }, + /** + * Remove x grid lines.<br> + * This API removes x grid lines. + * @function xgrids․remove + * @instance + * @memberof Chart + * @param {object} grids This argument should include value or class. If value is given, the x grid lines that have specified x value will be removed. If class is given, the x grid lines that have specified class will be removed. If args is not given, all of x grid lines will be removed. + * @param {number} [grids.value] target value + * @param {string} [grids.class] target class + * @returns {void} + * @example + * // x grid line on x = 2 will be removed + * chart.xgrids.remove({value: 2}); + * + * // x grid lines that have 'grid-A' will be removed + * chart.xgrids.remove({ + * class: "grid-A" + * }); + * + * // all of x grid lines will be removed + * chart.xgrids.remove(); + */ + remove: function (grids) { + return remove.bind(this)(grids, true); + } +}); +/** + * Update y grid lines. + * @function ygrids + * @instance + * @memberof Chart + * @param {Array} grids Y grid lines will be replaced with this argument. The format of this argument is the same as grid.y.lines. + * @returns {object} + * @example + * // Show 2 y grid lines + * chart.ygrids([ + * {value: 100, text: "Label 1"}, + * {value: 400, text: "Label 4"} + * ]); + * // --> Returns: [{value: 100, text: "Label 1"}, {value: 400, text: "Label 4"}] + */ +var ygrids = function (grids) { + return grid$1.bind(this)(grids, "y"); +}; +extend(ygrids, { + /** + * Add y grid lines.<br> + * This API adds new y grid lines instead of replacing like ygrids. + * @function ygrids․add + * @instance + * @memberof Chart + * @param {Array|object} grids New y grid lines will be added. The format of this argument is the same as grid.y.lines and it's possible to give an Object if only one line will be added. + * @returns {object} + * @example + * // Add a new x grid line + * chart.ygrids.add( + * {value: 400, text: "Label 4"} + * ); + * + * // Add new x grid lines + * chart.ygrids.add([ + * {value: 200, text: "Label 2"}, + * {value: 400, text: "Label 4"} + * ]); + */ + add: function (grids) { + return add.bind(this)(grids, "y"); + }, + /** + * Remove y grid lines.<br> + * This API removes x grid lines. + * @function ygrids․remove + * @instance + * @memberof Chart + * @param {object} grids This argument should include value or class. If value is given, the y grid lines that have specified y value will be removed. If class is given, the y grid lines that have specified class will be removed. If args is not given, all of y grid lines will be removed. + * @param {number} [grids.value] target value + * @param {string} [grids.class] target class + * @returns {void} + * @example + * // y grid line on y = 200 will be removed + * chart.ygrids.remove({value: 200}); + * + * // y grid lines that have 'grid-A' will be removed + * chart.ygrids.remove({ + * class: "grid-A" + * }); + * + * // all of y grid lines will be removed + * chart.ygrids.remove(); + */ + remove: function (grids) { + return remove.bind(this)(grids, false); + } +}); +var apiGrid = { xgrids: xgrids, ygrids: ygrids }; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var apiGroup = { + /** + * Update groups for the targets. + * @function groups + * @instance + * @memberof Chart + * @param {Array} groups This argument needs to be an Array that includes one or more Array that includes target ids to be grouped. + * @returns {Array} Grouped data names array + * @example + * // data1 and data2 will be a new group. + * chart.groups([ + * ["data1", "data2"] + * ]); + */ + groups: function (groups) { + var $$ = this.internal; + var config = $$.config; + if (isUndefined(groups)) { + return config.data_groups; + } + config.data_groups = groups; + $$.redraw(); + return config.data_groups; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Region add/update function + * @param {Array} regions Regions will be replaced with this argument. The format of this argument is the same as regions. + * @param {boolean} isAdd If true, add new regions, otherwise update regions + * @returns {Array} regions + * @private + */ +function regionsFn(regions, isAdd) { + if (isAdd === void 0) { isAdd = false; } + var $$ = this.internal; + var config = $$.config; + var withTransition = config.transition_duration && isTabVisible(); + if (!regions) { + return config.regions; + } + config.regions = isAdd ? config.regions.concat(regions) : regions; + $$.updateRegion(); + $$.redrawRegion(withTransition); + return isAdd ? config.regions : regions; +} +/** + * Update regions. + * @function regions + * @instance + * @memberof Chart + * @param {Array} regions Regions will be replaced with this argument. The format of this argument is the same as regions. + * @returns {Array} regions + * @example + * // Show 2 regions + * chart.regions([ + * {axis: "x", start: 5, class: "regionX"}, + * { + * axis: "y", end: 50, class: "regionY", + * label: { + * text: "Region Text", + * x: 5, // position relative of the initial x coordinate + * y: 5, // position relative of the initial y coordinate + * color: "red", // color string + * rotated: true // make text to show in vertical or horizontal + * } + * } + * ]); + */ +var regions = function (regions) { + return regionsFn.bind(this)(regions); +}; +extend(regions, { + /** + * Add new region.<br><br> + * This API adds new region instead of replacing like regions. + * @function regions․add + * @instance + * @memberof Chart + * @param {Array|object} regions New region will be added. The format of this argument is the same as regions and it's possible to give an Object if only one region will be added. + * @returns {Array} regions + * @example + * // Add a new region + * chart.regions.add( + * { + * axis: "x", start: 5, class: "regionX", + * label: { + * text: "Region Text", + * color: "red" // color string + * } + * } + * ); + * + * // Add new regions + * chart.regions.add([ + * {axis: "x", start: 5, class: "regionX"}, + * { + * axis: "y", end: 50, class: "regionY", + * label: { + * text: "Region Text", + * x: 5, // position relative of the initial x coordinate + * y: 5, // position relative of the initial y coordinate + * color: "red", // color string + * rotated: true // make text to show in vertical or horizontal + * } + * } + * ]); + */ + add: function (regions) { + return regionsFn.bind(this)(regions, true); + }, + /** + * Remove regions.<br><br> + * This API removes regions. + * @function regions․remove + * @instance + * @memberof Chart + * @param {object} optionsValue This argument should include classes. If classes is given, the regions that have one of the specified classes will be removed. If args is not given, all of regions will be removed. + * @returns {Array} regions Removed regions + * @example + * // regions that have 'region-A' or 'region-B' will be removed. + * chart.regions.remove({ + * classes: [ + * "region-A", "region-B" + * ] + * }); + * + * // all of regions will be removed. + * chart.regions.remove(); + */ + remove: function (optionsValue) { + var $$ = this.internal; + var config = $$.config, $T = $$.$T; + var options = optionsValue || {}; + var classes = getOption(options, "classes", [$REGION.region]); + var regions = $$.$el.main.select(".".concat($REGION.regions)) + .selectAll(classes.map(function (c) { return ".".concat(c); })); + $T(regions) + .style("opacity", "0") + .remove(); + regions = config.regions; + if (Object.keys(options).length) { + regions = regions.filter(function (region) { + var found = false; + if (!region.class) { + return true; + } + region.class.split(" ").forEach(function (c) { + if (classes.indexOf(c) >= 0) { + found = true; + } + }); + return !found; + }); + config.regions = regions; + } + else { + config.regions = []; + } + return regions; + } +}); +var apiRegion = { regions: regions }; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var apiX = { + /** + * Get and set x values for the chart. + * @function x + * @instance + * @memberof Chart + * @param {Array} x If x is given, x values of every target will be updated. If no argument is given, current x values will be returned as an Object whose keys are the target ids. + * @returns {object} xs + * @example + * // Get current x values + * chart.x(); + * + * // Update x values for all targets + * chart.x([100, 200, 300, 400, ...]); + */ + x: function (x) { + var $$ = this.internal; + var axis = $$.axis, data = $$.data; + var isCategorized = axis.isCustomX() && axis.isCategorized(); + if (isArray(x)) { + if (isCategorized) { + this.categories(x); + } + else { + $$.updateTargetX(data.targets, x); + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true + }); + } + } + return isCategorized ? this.categories() : data.xs; + }, + /** + * Get and set x values for the chart. + * @function xs + * @instance + * @memberof Chart + * @param {Array} xs If xs is given, specified target's x values will be updated. If no argument is given, current x values will be returned as an Object whose keys are the target ids. + * @returns {object} xs + * @example + * // Get current x values + * chart.xs(); + * + * // Update x values for all targets + * chart.xs({ + * data1: [10, 20, 30, 40, ...], + * data2: [100, 200, 300, 400, ...] + * }); + */ + xs: function (xs) { + var $$ = this.internal; + if (isObject(xs)) { + $$.updateTargetXs($$.data.targets, xs); + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true + }); + } + return $$.data.xs; + } +}; + +var AxisRendererHelper = /** @class */ (function () { + function AxisRendererHelper(owner) { + var scale = getScale(); + var config = owner.config, params = owner.params; + this.owner = owner; + this.config = config; + this.scale = scale; + if (config.noTransition || !params.config.transition_duration) { + config.withoutTransition = true; + } + // set range + config.range = this.scaleExtent((params.orgXScale || scale).range()); + } + /** + * Compute a character dimension + * @param {d3.selection} text SVG text selection + * @param {boolean} memoize memoize the calculated size + * @returns {{w: number, h: number}} + * @private + */ + AxisRendererHelper.getSizeFor1Char = function (text, memoize) { + if (memoize === void 0) { memoize = true; } + // default size for one character + var size = { + w: 5.5, + h: 11.5 + }; + !text.empty() && text + .text("0") + .call(function (el) { + try { + var _a = el.node().getBBox(), width = _a.width, height = _a.height; + if (width && height) { + size.w = width; + size.h = height; + } + } + finally { + el.text(""); + } + }); + if (memoize) { + this.getSizeFor1Char = function () { return size; }; + } + return size; + }; + /** + * Get tick transform setter function + * @param {string} id Axis id + * @returns {Function} transfrom setter function + * @private + */ + AxisRendererHelper.prototype.getTickTransformSetter = function (id) { + var config = this.config; + var fn = id === "x" ? + function (value) { return "translate(".concat(value + config.tickOffset, ",0)"); } : + function (value) { return "translate(0,".concat(value, ")"); }; + return function (selection, scale) { + selection.attr("transform", function (d) { + var x = scale(d); + return isValue(d) ? fn(x) : null; + }); + }; + }; + AxisRendererHelper.prototype.scaleExtent = function (domain) { + var start = domain[0]; + var stop = domain[domain.length - 1]; + return start < stop ? [start, stop] : [stop, start]; + }; + AxisRendererHelper.prototype.generateTicks = function (scale, isYAxes) { + var tickStepSize = this.owner.params.tickStepSize; + var _a = scale.domain(), start = _a[0], end = _a[1]; + var ticks = []; + // When 'axis[y|y2].tick.stepSize' option is set + if (isYAxes && tickStepSize) { + var interval = Math.round(start); + while (interval <= end) { + ticks.push(interval); + interval += tickStepSize; + } + } + else if (scale.ticks) { + var tickArguments = this.config.tickArguments; + // adjust excessive tick count show + if (scale.type === "log" && !tickArguments) { + // nicer symlog ticks didn't implemented yet: https://github.com/d3/d3-scale/issues/162 + // get ticks values from logScale + var s = getScale("_log") + .domain([start > 0 ? start : 1, end]) + .range(scale.range()); + ticks = s.ticks(); + for (var cnt = end.toFixed().length; ticks.length > 15; cnt--) { + ticks = s.ticks(cnt); + } + ticks.splice(0, 1, start); + ticks.splice(ticks.length - 1, 1, end); + } + else { + ticks = scale + .ticks.apply(scale, (this.config.tickArguments || [])); + } + ticks = ticks + .map(function (v) { + // round the tick value if is number + var r = (isString(v) && isNumber(v) && !isNaN(v) && + Math.round(v * 10) / 10) || v; + return r; + }); + } + return ticks; + }; + AxisRendererHelper.prototype.copyScale = function () { + var newScale = this.scale.copy(); + if (!newScale.domain().length) { + newScale.domain(this.scale.domain()); + } + newScale.type = this.scale.type; + return newScale; + }; + AxisRendererHelper.prototype.textFormatted = function (v) { + var tickFormat = this.config.tickFormat; + // to round float numbers from 'binary floating point' + // https://en.wikipedia.org/wiki/Double-precision_floating-point_format + // https://stackoverflow.com/questions/17849101/laymans-explanation-for-why-javascript-has-weird-floating-math-ieee-754-stand + var value = /\d+\.\d+0{5,}\d$/.test(v) ? +String(v).replace(/0+\d$/, "") : v; + var formatted = tickFormat ? tickFormat(value) : value; + return isDefined(formatted) ? formatted : ""; + }; + AxisRendererHelper.prototype.transitionise = function (selection) { + var config = this.config; + var transitionSelection = selection; + if (config.withoutTransition) { + transitionSelection = selection.interrupt(); + } + else if (config.transition || !this.owner.params.noTransition) { + // prevent for 'transition not found' case + // https://github.com/naver/billboard.js/issues/2140 + try { + transitionSelection = selection.transition(config.transition); + } + catch (_a) { } + } + return transitionSelection; + }; + return AxisRendererHelper; +}()); + +var AxisRenderer = /** @class */ (function () { + function AxisRenderer(params) { + if (params === void 0) { params = {}; } + var config = { + innerTickSize: 6, + outerTickSize: params.outerTick ? 6 : 0, + orient: "bottom", + range: [], + tickArguments: null, + tickCentered: null, + tickCulling: true, + tickFormat: null, + tickLength: 9, + tickOffset: 0, + tickPadding: 3, + tickValues: null, + transition: null, + noTransition: params.noTransition + }; + config.tickLength = Math.max(config.innerTickSize, 0) + config.tickPadding; + this.config = config; + this.params = params; + this.helper = new AxisRendererHelper(this); + } + /** + * Create axis element + * @param {d3.selection} g Axis selection + * @private + */ + AxisRenderer.prototype.create = function (g) { + var ctx = this; + var config = ctx.config, helper = ctx.helper, params = ctx.params; + var scale = helper.scale; + var orient = config.orient; + var splitTickText = this.splitTickText.bind(ctx); + var isLeftRight = /^(left|right)$/.test(orient); + var isTopBottom = /^(top|bottom)$/.test(orient); + // line/text enter and path update + var tickTransform = helper.getTickTransformSetter(isTopBottom ? "x" : "y"); + var axisPx = tickTransform === helper.axisX ? "y" : "x"; + var sign = /^(top|left)$/.test(orient) ? -1 : 1; + // tick text helpers + var rotate = params.tickTextRotate; + this.config.range = scale.rangeExtent ? + scale.rangeExtent() : + helper.scaleExtent((params.orgXScale || scale).range()); + var innerTickSize = config.innerTickSize, tickLength = config.tickLength, range = config.range; + // // get the axis' tick position configuration + var id = params.id; + var tickTextPos = id && /^(x|y|y2)$/.test(id) ? + params.config["axis_".concat(id, "_tick_text_position")] : + { x: 0, y: 0 }; + // tick visiblity + var prefix = id === "subX" ? "subchart_axis_x" : "axis_".concat(id); + var axisShow = params.config["".concat(prefix, "_show")]; + var tickShow = { + tick: axisShow ? params.config["".concat(prefix, "_tick_show")] : false, + text: axisShow ? params.config["".concat(prefix, "_tick_text_show")] : false + }; + var evalTextSize = params.config.axis_evalTextSize; + var $g; + g.each(function () { + var g = select(this); + var scale0 = this.__chart__ || scale; + var scale1 = helper.copyScale(); + $g = g; + this.__chart__ = scale1; + config.tickOffset = params.isCategory ? (scale1(1) - scale1(0)) / 2 : 0; + // update selection - data join + var path = g.selectAll(".domain").data([0]); + // enter + update selection + path.enter().append("path") + .attr("class", "domain") + // https://observablehq.com/@d3/d3-selection-2-0 + .merge(path) + .attr("d", function () { + var outerTickSized = config.outerTickSize * sign; + return isTopBottom ? + "M".concat(range[0], ",").concat(outerTickSized, "V0H").concat(range[1], "V").concat(outerTickSized) : + "M".concat(outerTickSized, ",").concat(range[0], "H0V").concat(range[1], "H").concat(outerTickSized); + }); + if (tickShow.tick || tickShow.text) { + // count of tick data in array + var ticks_1 = config.tickValues || helper.generateTicks(scale1, isLeftRight); + // set generated ticks + ctx.generatedTicks = ticks_1; + // update selection + var tick = g.selectAll(".tick") + .data(ticks_1, scale1); + // enter selection + var tickEnter = tick + .enter() + .insert("g", ".domain") + .attr("class", "tick"); + // MEMO: No exit transition. The reason is this transition affects max tick width calculation because old tick will be included in the ticks. + var tickExit = tick.exit().remove(); + // enter + update selection + tick = tickEnter.merge(tick); + tickShow.tick && tickEnter.append("line"); + tickShow.text && tickEnter.append("text"); + var tickText = tick.select("text"); + var sizeFor1Char_1 = isFunction(evalTextSize) ? + evalTextSize.bind(ctx.params.owner.api)(tickText.node()) : + AxisRendererHelper.getSizeFor1Char(tickText, evalTextSize); + var counts_1 = []; + var tspan = tickText + .selectAll("tspan") + .data(function (d, index) { + var split = params.tickMultiline ? + splitTickText(d, scale1, ticks_1, isLeftRight, sizeFor1Char_1.w) : + (isArray(helper.textFormatted(d)) ? + helper.textFormatted(d).concat() : + [helper.textFormatted(d)]); + counts_1[index] = split.length; + return split.map(function (splitted) { return ({ index: index, splitted: splitted }); }); + }); + tspan.exit().remove(); + tspan = tspan + .enter() + .append("tspan") + .merge(tspan) + .text(function (d) { return d.splitted; }); + // set <tspan>'s position + tspan + .attr("x", isTopBottom ? 0 : tickLength * sign) + .attr("dx", (function () { + var dx = 0; + if (/(top|bottom)/.test(orient) && rotate) { + dx = 8 * Math.sin(Math.PI * (rotate / 180)) * + (orient === "top" ? -1 : 1); + } + return dx + (tickTextPos.x || 0); + })()) + .attr("dy", function (d, i) { + var defValue = ".71em"; + var dy = 0; + if (orient !== "top") { + dy = sizeFor1Char_1.h; + if (i === 0) { + dy = isLeftRight ? + -((counts_1[d.index] - 1) * (sizeFor1Char_1.h / 2) - 3) : + (tickTextPos.y === 0 ? defValue : 0); + } + } + return isNumber(dy) && tickTextPos.y ? dy + tickTextPos.y : dy || defValue; + }); + var lineUpdate = tick.select("line"); + var textUpdate = tick.select("text"); + tickEnter.select("line").attr("".concat(axisPx, "2"), innerTickSize * sign); + tickEnter.select("text").attr(axisPx, tickLength * sign); + ctx.setTickLineTextPosition(lineUpdate, textUpdate); + // Append <title> for tooltip display + if (params.tickTitle) { + var title = textUpdate.select("title"); + (title.empty() ? textUpdate.append("title") : title) + .text(function (index) { return params.tickTitle[index]; }); + } + if (scale1.bandwidth) { + var x_1 = scale1; + var dx_1 = x_1.bandwidth() / 2; + scale0 = function (d) { return x_1(d) + dx_1; }; + scale1 = scale0; + } + else if (scale0.bandwidth) { + scale0 = scale1; + } + else { + tickTransform(tickExit, scale1); + } + // when .flow(), it should follow flow's transition config + // otherwise make to use ChartInternals.$T() + tick = params.owner.state.flowing ? + helper.transitionise(tick) : + params.owner.$T(tick); + tickTransform(tickEnter, scale0); + tickTransform(tick.style("opacity", null), scale1); + } + }); + this.g = $g; + }; + /** + * Get generated ticks + * @param {number} count Count of ticks + * @returns {Array} Generated ticks + * @private + */ + AxisRenderer.prototype.getGeneratedTicks = function (count) { + var _a; + var len = ((_a = this.generatedTicks) === null || _a === void 0 ? void 0 : _a.length) - 1; + var res = this.generatedTicks; + if (len > count) { + var interval_1 = Math.round((len / count) + 0.1); + res = this.generatedTicks + .map(function (v, i) { return (i % interval_1 === 0 ? v : null); }) + .filter(function (v) { return v !== null; }) + .splice(0, count); + } + return res; + }; + /** + * Get tick x/y coordinate + * @returns {{x: number, y: number}} + * @private + */ + AxisRenderer.prototype.getTickXY = function () { + var config = this.config; + var pos = { x: 0, y: 0 }; + if (this.params.isCategory) { + pos.x = config.tickCentered ? 0 : config.tickOffset; + pos.y = config.tickCentered ? config.tickOffset : 0; + } + return pos; + }; + /** + * Get tick size + * @param {object} d data object + * @returns {number} + * @private + */ + AxisRenderer.prototype.getTickSize = function (d) { + var scale = this.helper.scale; + var config = this.config; + var innerTickSize = config.innerTickSize, range = config.range; + var tickPosition = scale(d) + + (config.tickCentered ? 0 : config.tickOffset); + return range[0] < tickPosition && tickPosition < range[1] ? innerTickSize : 0; + }; + /** + * Set tick's line & text position + * @param {d3.selection} lineUpdate Line selection + * @param {d3.selection} textUpdate Text selection + * @private + */ + AxisRenderer.prototype.setTickLineTextPosition = function (lineUpdate, textUpdate) { + var tickPos = this.getTickXY(); + var _a = this.config, innerTickSize = _a.innerTickSize, orient = _a.orient, tickLength = _a.tickLength, tickOffset = _a.tickOffset; + var rotate = this.params.tickTextRotate; + var textAnchorForText = function (r) { + var value = ["start", "end"]; + orient === "top" && value.reverse(); + return !r ? "middle" : value[r > 0 ? 0 : 1]; + }; + var textTransform = function (r) { return (r ? "rotate(".concat(r, ")") : null); }; + var yForText = function (r) { + var r2 = r / (orient === "bottom" ? 15 : 23); + return r ? 11.5 - 2.5 * r2 * (r > 0 ? 1 : -1) : tickLength; + }; + var _b = this.params.owner.config, isRotated = _b.axis_rotated, inner = _b.axis_x_tick_text_inner; + switch (orient) { + case "bottom": + lineUpdate + .attr("x1", tickPos.x) + .attr("x2", tickPos.x) + .attr("y2", this.getTickSize.bind(this)); + textUpdate + .attr("x", 0) + .attr("y", yForText(rotate)) + .style("text-anchor", textAnchorForText(rotate)) + .style("text-anchor", function (d, i, _a) { + var length = _a.length; + if (!isRotated && i === 0 && (inner === true || inner.first)) { + return "start"; + } + else if (!isRotated && i === length - 1 && (inner === true || inner.last)) { + return "end"; + } + return textAnchorForText(rotate); + }) + .attr("transform", textTransform(rotate)); + break; + case "top": + lineUpdate + .attr("x2", 0) + .attr("y2", -innerTickSize); + textUpdate + .attr("x", 0) + .attr("y", -yForText(rotate) * 2) + .style("text-anchor", textAnchorForText(rotate)) + .attr("transform", textTransform(rotate)); + break; + case "left": + lineUpdate + .attr("x2", -innerTickSize) + .attr("y1", tickPos.y) + .attr("y2", tickPos.y); + textUpdate + .attr("x", -tickLength) + .attr("y", tickOffset) + .style("text-anchor", "end"); + break; + case "right": + lineUpdate + .attr("x2", innerTickSize) + .attr("y2", 0); + textUpdate + .attr("x", tickLength) + .attr("y", 0) + .style("text-anchor", "start"); + } + }; + // this should be called only when category axis + AxisRenderer.prototype.splitTickText = function (d, scale, ticks, isLeftRight, charWidth) { + var params = this.params; + var tickText = this.helper.textFormatted(d); + var splitted = isString(tickText) && tickText.indexOf("\n") > -1 ? + tickText.split("\n") : + []; + if (splitted.length) { + return splitted; + } + if (isArray(tickText)) { + return tickText; + } + var tickWidth = params.tickWidth; + if (!tickWidth || tickWidth <= 0) { + tickWidth = isLeftRight ? 95 : (params.isCategory ? + (params.isInverted ? + scale(ticks[0]) - scale(ticks[1]) : + scale(ticks[1]) - scale(ticks[0])) - 12 : + 110); + } + // split given text by tick width size + // eslint-disable-next-line + function split(splitted, text) { + var subtext; + var spaceIndex; + var textWidth; + for (var i = 1; i < text.length; i++) { + if (text.charAt(i) === " ") { + spaceIndex = i; + } + subtext = text.substr(0, i + 1); + textWidth = charWidth * subtext.length; + // if text width gets over tick width, split by space index or current index + if (tickWidth < textWidth) { + return split(splitted.concat(text.substr(0, spaceIndex || i)), text.slice(spaceIndex ? spaceIndex + 1 : i)); + } + } + return splitted.concat(text); + } + return split(splitted, String(tickText)); + }; + AxisRenderer.prototype.scale = function (x) { + if (!arguments.length) { + return this.helper.scale; + } + this.helper.scale = x; + return this; + }; + AxisRenderer.prototype.orient = function (x) { + if (!arguments.length) { + return this.config.orient; + } + this.config.orient = x in { + top: 1, + right: 1, + bottom: 1, + left: 1 + } ? + String(x) : + "bottom"; + return this; + }; + AxisRenderer.prototype.tickFormat = function (format) { + var config = this.config; + if (!arguments.length) { + return config.tickFormat; + } + config.tickFormat = format; + return this; + }; + AxisRenderer.prototype.tickCentered = function (isCentered) { + var config = this.config; + if (!arguments.length) { + return config.tickCentered; + } + config.tickCentered = isCentered; + return this; + }; + /** + * Return tick's offset value. + * The value will be set for 'category' axis type. + * @returns {number} + * @private + */ + AxisRenderer.prototype.tickOffset = function () { + return this.config.tickOffset; + }; + /** + * Get tick interval count + * @private + * @param {number} size Total data size + * @returns {number} + */ + AxisRenderer.prototype.tickInterval = function (size) { + var _a; + var _b = this.config, outerTickSize = _b.outerTickSize, tickOffset = _b.tickOffset, tickValues = _b.tickValues; + var interval; + if (this.params.isCategory) { + interval = tickOffset * 2; + } + else { + var scale_1 = (_a = this.params.owner.scale.zoom) !== null && _a !== void 0 ? _a : this.helper.scale; + var length_1 = this.g.select("path.domain") + .node() + .getTotalLength() - outerTickSize * 2; + interval = length_1 / (size || this.g.selectAll("line").size()); + // get the interval by its values + var intervalByValue = tickValues ? + tickValues + .map(function (v, i, arr) { + var next = i + 1; + return next < arr.length ? scale_1(arr[next]) - scale_1(v) : null; + }).filter(Boolean) : + []; + interval = Math.min.apply(Math, __spreadArray(__spreadArray([], intervalByValue, false), [interval], false)); + } + return interval === Infinity ? 0 : interval; + }; + AxisRenderer.prototype.ticks = function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var config = this.config; + if (!args.length) { + return config.tickArguments; + } + config.tickArguments = toArray(args); + return this; + }; + AxisRenderer.prototype.tickCulling = function (culling) { + var config = this.config; + if (!arguments.length) { + return config.tickCulling; + } + config.tickCulling = culling; + return this; + }; + AxisRenderer.prototype.tickValues = function (x) { + var _this = this; + var config = this.config; + if (isFunction(x)) { + config.tickValues = function () { return x(_this.helper.scale.domain()); }; + } + else { + if (!arguments.length) { + return config.tickValues; + } + config.tickValues = x; + } + return this; + }; + AxisRenderer.prototype.setTransition = function (t) { + this.config.transition = t; + return this; + }; + return AxisRenderer; +}()); + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var axis = { + getAxisInstance: function () { + return this.axis || new Axis(this); + } +}; +var Axis = /** @class */ (function () { + function Axis(owner) { + this.axesList = {}; + this.tick = { + x: null, + y: null, + y2: null + }; + this.xs = []; + this.orient = { + x: "bottom", + y: "left", + y2: "right", + subX: "bottom" + }; + this.owner = owner; + this.setOrient(); + } + Axis.prototype.getAxisClassName = function (id) { + return "".concat($AXIS.axis, " ").concat($AXIS["axis".concat(capitalize(id))]); + }; + Axis.prototype.isHorizontal = function ($$, forHorizontal) { + var isRotated = $$.config.axis_rotated; + return forHorizontal ? isRotated : !isRotated; + }; + Axis.prototype.isCategorized = function () { + var _a = this.owner, config = _a.config, state = _a.state; + return config.axis_x_type.indexOf("category") >= 0 || state.hasRadar; + }; + Axis.prototype.isCustomX = function () { + var config = this.owner.config; + return !this.isTimeSeries() && (config.data_x || notEmpty(config.data_xs)); + }; + Axis.prototype.isTimeSeries = function (id) { + if (id === void 0) { id = "x"; } + return this.owner.config["axis_".concat(id, "_type")] === "timeseries"; + }; + Axis.prototype.isLog = function (id) { + if (id === void 0) { id = "x"; } + return this.owner.config["axis_".concat(id, "_type")] === "log"; + }; + Axis.prototype.isTimeSeriesY = function () { + return this.isTimeSeries("y"); + }; + Axis.prototype.getAxisType = function (id) { + if (id === void 0) { id = "x"; } + var type = "linear"; + if (this.isTimeSeries(id)) { + type = this.owner.config.axis_x_localtime ? "time" : "utc"; + } + else if (this.isLog(id)) { + type = "log"; + } + return type; + }; + /** + * Get extent value + * @returns {Array} default extent + * @private + */ + Axis.prototype.getExtent = function () { + var $$ = this.owner; + var config = $$.config, scale = $$.scale; + var extent = config.axis_x_extent; + if (extent) { + if (isFunction(extent)) { + extent = extent.bind($$.api)($$.getXDomain($$.data.targets), scale.subX); + } + else if (this.isTimeSeries() && extent.every(isNaN)) { + var fn_1 = parseDate.bind($$); + extent = extent.map(function (v) { return scale.subX(fn_1(v)); }); + } + } + return extent; + }; + Axis.prototype.init = function () { + var _this = this; + var $$ = this.owner; + var config = $$.config, _a = $$.$el, main = _a.main, axis = _a.axis, clip = $$.state.clip; + var isRotated = config.axis_rotated; + var target = ["x", "y"]; + config.axis_y2_show && target.push("y2"); + target.forEach(function (v) { + var classAxis = _this.getAxisClassName(v); + var classLabel = $AXIS["axis".concat(v.toUpperCase(), "Label")]; + axis[v] = main.append("g") + .attr("class", classAxis) + .attr("clip-path", function () { + var res = null; + if (v === "x") { + res = clip.pathXAxis; + } + else if (v === "y") { // || v === "y2") { + res = clip.pathYAxis; + } + return res; + }) + .attr("transform", $$.getTranslate(v)) + .style("visibility", config["axis_".concat(v, "_show")] ? null : "hidden"); + axis[v].append("text") + .attr("class", classLabel) + .attr("transform", ["rotate(-90)", null][v === "x" ? +!isRotated : +isRotated]) + .style("text-anchor", function () { return _this.textAnchorForAxisLabel(v); }); + _this.generateAxes(v); + }); + config.axis_tooltip && this.setAxisTooltip(); + }; + /** + * Set axis orient according option value + * @private + */ + Axis.prototype.setOrient = function () { + var $$ = this.owner; + var _a = $$.config, isRotated = _a.axis_rotated, yInner = _a.axis_y_inner, y2Inner = _a.axis_y2_inner; + this.orient = { + x: isRotated ? "left" : "bottom", + y: isRotated ? (yInner ? "top" : "bottom") : (yInner ? "right" : "left"), + y2: isRotated ? (y2Inner ? "bottom" : "top") : (y2Inner ? "left" : "right"), + subX: isRotated ? "left" : "bottom" + }; + }; + /** + * Generate axes + * It's used when axis' axes option is set + * @param {string} id Axis id + * @private + */ + Axis.prototype.generateAxes = function (id) { + var $$ = this.owner; + var config = $$.config; + var axes = []; + var axesConfig = config["axis_".concat(id, "_axes")]; + var isRotated = config.axis_rotated; + var d3Axis; + if (id === "x") { + d3Axis = isRotated ? axisLeft : axisBottom; + } + else if (id === "y") { + d3Axis = isRotated ? axisBottom : axisLeft; + } + else if (id === "y2") { + d3Axis = isRotated ? axisTop : axisRight; + } + if (axesConfig.length) { + axesConfig.forEach(function (v) { + var tick = v.tick || {}; + var scale = $$.scale[id].copy(); + v.domain && scale.domain(v.domain); + axes.push(d3Axis(scale) + .ticks(tick.count) + .tickFormat(isFunction(tick.format) ? tick.format.bind($$.api) : (function (x) { return x; })) + .tickValues(tick.values) + .tickSizeOuter(tick.outer === false ? 0 : 6)); + }); + } + this.axesList[id] = axes; + }; + /** + * Update axes nodes + * @private + */ + Axis.prototype.updateAxes = function () { + var _this = this; + var $$ = this.owner; + var config = $$.config, main = $$.$el.main, $T = $$.$T; + Object.keys(this.axesList).forEach(function (id) { + var axesConfig = config["axis_".concat(id, "_axes")]; + var scale = $$.scale[id].copy(); + var range = scale.range(); + _this.axesList[id].forEach(function (v, i) { + var axisRange = v.scale().range(); + // adjust range value with the current + // https://github.com/naver/billboard.js/issues/859 + if (!range.every(function (v, i) { return v === axisRange[i]; })) { + v.scale().range(range); + } + var className = "".concat(_this.getAxisClassName(id), "-").concat(i + 1); + var g = main.select(".".concat(className.replace(/\s/, "."))); + if (g.empty()) { + g = main.append("g") + .attr("class", className) + .style("visibility", config["axis_".concat(id, "_show")] ? null : "hidden") + .call(v); + } + else { + axesConfig[i].domain && scale.domain(axesConfig[i].domain); + $T(g).call(v.scale(scale)); + } + g.attr("transform", $$.getTranslate(id, i + 1)); + }); + }); + }; + /** + * Set Axis & tick values + * called from: updateScales() + * @param {string} id Axis id string + * @param {d3Scale} scale Scale + * @param {boolean} outerTick If show outer tick + * @param {boolean} noTransition If with no transition + * @private + */ + Axis.prototype.setAxis = function (id, scale, outerTick, noTransition) { + var $$ = this.owner; + if (id !== "subX") { + this.tick[id] = this.getTickValues(id); + } + // @ts-ignore + this[id] = this.getAxis(id, scale, outerTick, + // do not transit x Axis on zoom and resizing + // https://github.com/naver/billboard.js/issues/1949 + id === "x" && ($$.scale.zoom || $$.config.subchart_show || $$.state.resizing) ? + true : + noTransition); + }; + // called from : getMaxTickSize() + Axis.prototype.getAxis = function (id, scale, outerTick, noTransition, noTickTextRotate) { + var $$ = this.owner; + var config = $$.config; + var isX = /^(x|subX)$/.test(id); + var type = isX ? "x" : id; + var isCategory = isX && this.isCategorized(); + var orient = this.orient[id]; + var tickTextRotate = noTickTextRotate ? 0 : $$.getAxisTickRotate(type); + var tickFormat; + if (isX) { + tickFormat = (id === "subX") ? $$.format.subXAxisTick : $$.format.xAxisTick; + } + else { + var fn = config["axis_".concat(id, "_tick_format")]; + if (isFunction(fn)) { + tickFormat = fn.bind($$.api); + } + } + var tickValues = this.tick[type]; + var axisParams = mergeObj({ + outerTick: outerTick, + noTransition: noTransition, + config: config, + id: id, + tickTextRotate: tickTextRotate, + owner: $$ + }, isX && { + isCategory: isCategory, + isInverted: config.axis_x_inverted, + tickMultiline: config.axis_x_tick_multiline, + tickWidth: config.axis_x_tick_width, + tickTitle: isCategory && config.axis_x_tick_tooltip && $$.api.categories(), + orgXScale: $$.scale.x + }); + if (!isX) { + axisParams.tickStepSize = config["axis_".concat(type, "_tick_stepSize")]; + } + var axis = new AxisRenderer(axisParams) + .scale((isX && $$.scale.zoom) || scale) + .orient(orient); + if (isX && this.isTimeSeries() && tickValues && !isFunction(tickValues)) { + var fn_2 = parseDate.bind($$); + tickValues = tickValues.map(function (v) { return fn_2(v); }); + } + else if (!isX && this.isTimeSeriesY()) { + // https://github.com/d3/d3/blob/master/CHANGES.md#time-intervals-d3-time + axis.ticks(config.axis_y_tick_time_value); + tickValues = null; + } + tickValues && axis.tickValues(tickValues); + // Set tick + axis.tickFormat(tickFormat || (!isX && ($$.isStackNormalized() && (function (x) { return "".concat(x, "%"); })))); + if (isCategory) { + axis.tickCentered(config.axis_x_tick_centered); + if (isEmpty(config.axis_x_tick_culling)) { + config.axis_x_tick_culling = false; + } + } + var tickCount = config["axis_".concat(type, "_tick_count")]; + tickCount && axis.ticks(tickCount); + return axis; + }; + Axis.prototype.updateXAxisTickValues = function (targets, axis) { + var _a; + var $$ = this.owner; + var config = $$.config; + var fit = config.axis_x_tick_fit; + var count = config.axis_x_tick_count; + var values; + if (fit || (count && fit)) { + values = $$.mapTargetsToUniqueXs(targets); + // if given count is greater than the value length, then limit the count. + if (this.isCategorized() && count > values.length) { + count = values.length; + } + values = this.generateTickValues(values, count, this.isTimeSeries()); + } + if (axis) { + axis.tickValues(values); + } + else if (this.x) { + this.x.tickValues(values); + (_a = this.subX) === null || _a === void 0 ? void 0 : _a.tickValues(values); + } + return values; + }; + Axis.prototype.getId = function (id) { + var _a = this.owner, config = _a.config, scale = _a.scale; + var axis = config.data_axes[id]; + // when data.axes option has 'y2', but 'axis.y2.show=true' isn't set will return 'y' + if (!axis || !scale[axis]) { + axis = "y"; + } + return axis; + }; + Axis.prototype.getXAxisTickFormat = function (forSubchart) { + var $$ = this.owner; + var config = $$.config, format = $$.format; + // enable different tick format for x and subX - subX format defaults to x format if not defined + var tickFormat = forSubchart ? + config.subchart_axis_x_tick_format || config.axis_x_tick_format : + config.axis_x_tick_format; + var isTimeSeries = this.isTimeSeries(); + var isCategorized = this.isCategorized(); + var currFormat; + if (tickFormat) { + if (isFunction(tickFormat)) { + currFormat = tickFormat.bind($$.api); + } + else if (isTimeSeries) { + currFormat = function (date) { return (date ? format.axisTime(tickFormat)(date) : ""); }; + } + } + else { + currFormat = isTimeSeries ? format.defaultAxisTime : (isCategorized ? $$.categoryName : function (v) { return (v < 0 ? v.toFixed(0) : v); }); + } + return isFunction(currFormat) ? + function (v) { return currFormat.apply($$, isCategorized ? [v, $$.categoryName(v)] : [v]); } : + currFormat; + }; + Axis.prototype.getTickValues = function (id) { + var $$ = this.owner; + var tickValues = $$.config["axis_".concat(id, "_tick_values")]; + var axis = $$["".concat(id, "Axis")]; + return (isFunction(tickValues) ? tickValues.call($$.api) : tickValues) || + (axis ? axis.tickValues() : undefined); + }; + Axis.prototype.getLabelOptionByAxisId = function (id) { + return this.owner.config["axis_".concat(id, "_label")]; + }; + Axis.prototype.getLabelText = function (id) { + var option = this.getLabelOptionByAxisId(id); + return isString(option) ? option : (option ? option.text : null); + }; + Axis.prototype.setLabelText = function (id, text) { + var $$ = this.owner; + var config = $$.config; + var option = this.getLabelOptionByAxisId(id); + if (isString(option)) { + config["axis_".concat(id, "_label")] = text; + } + else if (option) { + option.text = text; + } + }; + Axis.prototype.getLabelPosition = function (id, defaultPosition) { + var isRotated = this.owner.config.axis_rotated; + var option = this.getLabelOptionByAxisId(id); + var position = (isObjectType(option) && option.position) ? + option.position : + defaultPosition[+!isRotated]; + var has = function (v) { return !!~position.indexOf(v); }; + return { + isInner: has("inner"), + isOuter: has("outer"), + isLeft: has("left"), + isCenter: has("center"), + isRight: has("right"), + isTop: has("top"), + isMiddle: has("middle"), + isBottom: has("bottom") + }; + }; + Axis.prototype.getAxisLabelPosition = function (id) { + return this.getLabelPosition(id, id === "x" ? ["inner-top", "inner-right"] : ["inner-right", "inner-top"]); + }; + Axis.prototype.getLabelPositionById = function (id) { + return this.getAxisLabelPosition(id); + }; + Axis.prototype.xForAxisLabel = function (id) { + var $$ = this.owner; + var _a = $$.state, width = _a.width, height = _a.height; + var position = this.getAxisLabelPosition(id); + var x = position.isMiddle ? -height / 2 : 0; + if (this.isHorizontal($$, id !== "x")) { + x = position.isLeft ? 0 : (position.isCenter ? width / 2 : width); + } + else if (position.isBottom) { + x = -height; + } + return x; + }; + Axis.prototype.dxForAxisLabel = function (id) { + var $$ = this.owner; + var position = this.getAxisLabelPosition(id); + var dx = position.isBottom ? "0.5em" : "0"; + if (this.isHorizontal($$, id !== "x")) { + dx = position.isLeft ? "0.5em" : (position.isRight ? "-0.5em" : "0"); + } + else if (position.isTop) { + dx = "-0.5em"; + } + return dx; + }; + Axis.prototype.textAnchorForAxisLabel = function (id) { + var $$ = this.owner; + var position = this.getAxisLabelPosition(id); + var anchor = position.isMiddle ? "middle" : "end"; + if (this.isHorizontal($$, id !== "x")) { + anchor = position.isLeft ? "start" : (position.isCenter ? "middle" : "end"); + } + else if (position.isBottom) { + anchor = "start"; + } + return anchor; + }; + Axis.prototype.dyForAxisLabel = function (id) { + var $$ = this.owner; + var config = $$.config; + var isRotated = config.axis_rotated; + var isInner = this.getAxisLabelPosition(id).isInner; + var tickRotate = config["axis_".concat(id, "_tick_rotate")] ? $$.getHorizontalAxisHeight(id) : 0; + var maxTickWidth = this.getMaxTickSize(id).width; + var dy; + if (id === "x") { + var xHeight = config.axis_x_height; + if (isRotated) { + dy = isInner ? "1.2em" : -25 - maxTickWidth; + } + else if (isInner) { + dy = "-0.5em"; + } + else if (xHeight) { + dy = xHeight - 10; + } + else if (tickRotate) { + dy = tickRotate - 10; + } + else { + dy = "3em"; + } + } + else { + dy = { + y: ["-0.5em", 10, "3em", "1.2em", 10], + y2: ["1.2em", -20, "-2.2em", "-0.5em", 15] + }[id]; + if (isRotated) { + if (isInner) { + dy = dy[0]; + } + else if (tickRotate) { + dy = tickRotate * (id === "y2" ? -1 : 1) - dy[1]; + } + else { + dy = dy[2]; + } + } + else { + dy = isInner ? dy[3] : (dy[4] + (config["axis_".concat(id, "_inner")] ? 0 : (maxTickWidth + dy[4]))) * (id === "y" ? -1 : 1); + } + } + return dy; + }; + /** + * Get max tick size + * @param {string} id axis id string + * @param {boolean} withoutRecompute wheather or not to recompute + * @returns {object} {width, height} + * @private + */ + Axis.prototype.getMaxTickSize = function (id, withoutRecompute) { + var $$ = this.owner; + var config = $$.config, current = $$.state.current, _a = $$.$el, svg = _a.svg, chart = _a.chart; + var currentTickMax = current.maxTickSize[id]; + var configPrefix = "axis_".concat(id); + var max = { + width: 0, + height: 0 + }; + if (withoutRecompute || !config["".concat(configPrefix, "_show")] || (currentTickMax.width > 0 && $$.filterTargetsToShow().length === 0)) { + return currentTickMax; + } + if (svg) { + var isYAxis_1 = /^y2?$/.test(id); + var targetsToShow = $$.filterTargetsToShow($$.data.targets); + var scale = $$.scale[id].copy().domain($$["get".concat(isYAxis_1 ? "Y" : "X", "Domain")](targetsToShow, id)); + var domain = scale.domain(); + var isDomainSame = domain[0] === domain[1] && domain.every(function (v) { return v > 0; }); + var isCurrentMaxTickDomainSame = isArray(currentTickMax.domain) && + currentTickMax.domain[0] === currentTickMax.domain[1] && + currentTickMax.domain.every(function (v) { return v > 0; }); + // do not compute if domain or currentMaxTickDomain is same + if (isDomainSame || isCurrentMaxTickDomainSame) { + return currentTickMax.size; + } + else { + currentTickMax.domain = domain; + } + // reset old max state value to prevent from new data loading + if (!isYAxis_1) { + currentTickMax.ticks.splice(0); + } + var axis = this.getAxis(id, scale, false, false, true); + var tickRotate = config["".concat(configPrefix, "_tick_rotate")]; + var tickCount = config["".concat(configPrefix, "_tick_count")]; + var tickValues = config["".concat(configPrefix, "_tick_values")]; + // Make to generate the final tick text to be rendered + // https://github.com/naver/billboard.js/issues/920 + // Do not generate if 'tick values' option is given + // https://github.com/naver/billboard.js/issues/1251 + if (!tickValues && tickCount) { + axis.tickValues(this.generateTickValues(domain, tickCount, isYAxis_1 ? this.isTimeSeriesY() : this.isTimeSeries())); + } + !isYAxis_1 && this.updateXAxisTickValues(targetsToShow, axis); + var dummy = chart.append("svg") + .style("visibility", "hidden") + .style("position", "fixed") + .style("top", "0") + .style("left", "0"); + axis.create(dummy); + dummy.selectAll("text") + .attr("transform", isNumber(tickRotate) ? "rotate(".concat(tickRotate, ")") : null) + .each(function (d, i) { + var _a = this.getBoundingClientRect(), width = _a.width, height = _a.height; + max.width = Math.max(max.width, width); + max.height = Math.max(max.height, height); + // cache tick text width for getXAxisTickTextY2Overflow() + if (!isYAxis_1) { + currentTickMax.ticks[i] = width; + } + }); + dummy.remove(); + } + Object.keys(max).forEach(function (key) { + if (max[key] > 0) { + currentTickMax[key] = max[key]; + } + }); + return currentTickMax; + }; + Axis.prototype.getXAxisTickTextY2Overflow = function (defaultPadding) { + var $$ = this.owner; + var axis = $$.axis, config = $$.config, _a = $$.state, current = _a.current, isLegendRight = _a.isLegendRight, legendItemWidth = _a.legendItemWidth; + var xAxisTickRotate = $$.getAxisTickRotate("x"); + var positiveRotation = xAxisTickRotate > 0 && xAxisTickRotate < 90; + if ((axis.isCategorized() || axis.isTimeSeries()) && + config.axis_x_tick_fit && + (!config.axis_x_tick_culling || isEmpty(config.axis_x_tick_culling)) && + !config.axis_x_tick_multiline && + positiveRotation) { + var y2AxisWidth = (config.axis_y2_show && current.maxTickSize.y2.width) || 0; + var legendWidth = (isLegendRight && legendItemWidth) || 0; + var widthWithoutCurrentPaddingLeft = current.width - + $$.getCurrentPaddingByDirection("left"); + var maxOverflow = this.getXAxisTickMaxOverflow(xAxisTickRotate, widthWithoutCurrentPaddingLeft - defaultPadding) - y2AxisWidth - legendWidth; + var xAxisTickTextY2Overflow = Math.max(0, maxOverflow) + + defaultPadding; // for display inconsistencies between browsers + return Math.min(xAxisTickTextY2Overflow, widthWithoutCurrentPaddingLeft / 2); + } + return 0; + }; + Axis.prototype.getXAxisTickMaxOverflow = function (xAxisTickRotate, widthWithoutCurrentPaddingLeft) { + var $$ = this.owner; + var axis = $$.axis, config = $$.config, state = $$.state; + var isTimeSeries = axis.isTimeSeries(); + var tickTextWidths = state.current.maxTickSize.x.ticks; + var tickCount = tickTextWidths.length; + var _a = state.axis.x.padding, left = _a.left, right = _a.right; + var maxOverflow = 0; + var remaining = tickCount - (isTimeSeries && config.axis_x_tick_fit ? 0.5 : 0); + for (var i = 0; i < tickCount; i++) { + var tickIndex = i + 1; + var rotatedTickTextWidth = Math.cos(Math.PI * xAxisTickRotate / 180) * + tickTextWidths[i]; + var ticksBeforeTickText = tickIndex - (isTimeSeries ? 1 : 0.5) + left; + // Skip ticks if there are no ticks before them + if (ticksBeforeTickText <= 0) { + continue; + } + var xAxisLengthWithoutTickTextWidth = widthWithoutCurrentPaddingLeft - + rotatedTickTextWidth; + var tickLength = xAxisLengthWithoutTickTextWidth / ticksBeforeTickText; + var remainingTicks = remaining - tickIndex; + var paddingRightLength = right * tickLength; + var remainingTickWidth = (remainingTicks * tickLength) + paddingRightLength; + var overflow = rotatedTickTextWidth - (tickLength / 2) - remainingTickWidth; + maxOverflow = Math.max(maxOverflow, overflow); + } + var filteredTargets = $$.filterTargetsToShow($$.data.targets); + var tickOffset = 0; + if (!isTimeSeries && + config.axis_x_tick_count <= filteredTargets.length && filteredTargets[0].values.length) { + var scale = getScale($$.axis.getAxisType("x"), 0, widthWithoutCurrentPaddingLeft - maxOverflow) + .domain([ + left * -1, + $$.getXDomainMax($$.data.targets) + 1 + right + ]); + tickOffset = (scale(1) - scale(0)) / 2; + } + return maxOverflow + tickOffset; + }; + Axis.prototype.updateLabels = function (withTransition) { + var _this = this; + var $$ = this.owner; + var main = $$.$el.main, $T = $$.$T; + var labels = { + x: main.select(".".concat($AXIS.axisX, " .").concat($AXIS.axisXLabel)), + y: main.select(".".concat($AXIS.axisY, " .").concat($AXIS.axisYLabel)), + y2: main.select(".".concat($AXIS.axisY2, " .").concat($AXIS.axisY2Label)) + }; + Object.keys(labels).filter(function (id) { return !labels[id].empty(); }) + .forEach(function (v) { + var node = labels[v]; + // @check $$.$T(node, withTransition) + $T(node, withTransition) + .attr("x", function () { return _this.xForAxisLabel(v); }) + .attr("dx", function () { return _this.dxForAxisLabel(v); }) + .attr("dy", function () { return _this.dyForAxisLabel(v); }) + .text(function () { return _this.getLabelText(v); }); + }); + }; + /** + * Get axis padding value + * @param {number|object} padding Padding object + * @param {string} key Key string of padding + * @param {Date|number} defaultValue Default value + * @param {number} domainLength Domain length + * @returns {number} Padding value in scale + * @private + */ + Axis.prototype.getPadding = function (padding, key, defaultValue, domainLength) { + var p = isNumber(padding) ? padding : padding[key]; + if (!isValue(p)) { + return defaultValue; + } + return this.owner.convertPixelToScale(/(bottom|top)/.test(key) ? "y" : "x", p, domainLength); + }; + Axis.prototype.generateTickValues = function (values, tickCount, forTimeSeries) { + var tickValues = values; + if (tickCount) { + var targetCount = isFunction(tickCount) ? tickCount() : tickCount; + // compute ticks according to tickCount + if (targetCount === 1) { + tickValues = [values[0]]; + } + else if (targetCount === 2) { + tickValues = [values[0], values[values.length - 1]]; + } + else if (targetCount > 2) { + var isCategorized = this.isCategorized(); + var count = targetCount - 2; + var start = values[0]; + var end = values[values.length - 1]; + var interval = (end - start) / (count + 1); + var tickValue = void 0; + // re-construct unique values + tickValues = [start]; + for (var i = 0; i < count; i++) { + tickValue = +start + interval * (i + 1); + tickValues.push(forTimeSeries ? new Date(tickValue) : (isCategorized ? Math.round(tickValue) : tickValue)); + } + tickValues.push(end); + } + } + if (!forTimeSeries) { + tickValues = tickValues.sort(function (a, b) { return a - b; }); + } + return tickValues; + }; + Axis.prototype.generateTransitions = function (withTransition) { + var $$ = this.owner; + var axis = $$.$el.axis, $T = $$.$T; + var _a = ["x", "y", "y2", "subX"] + .map(function (v) { return $T(axis[v], withTransition); }), axisX = _a[0], axisY = _a[1], axisY2 = _a[2], axisSubX = _a[3]; + return { axisX: axisX, axisY: axisY, axisY2: axisY2, axisSubX: axisSubX }; + }; + Axis.prototype.redraw = function (transitions, isHidden, isInit) { + var _this = this; + var $$ = this.owner; + var config = $$.config, $el = $$.$el; + var opacity = isHidden ? "0" : null; + ["x", "y", "y2", "subX"].forEach(function (id) { + var axis = _this[id]; + var $axis = $el.axis[id]; + if (axis && $axis) { + if (!isInit && !config.transition_duration) { + axis.config.withoutTransition = true; + } + $axis.style("opacity", opacity); + axis.create(transitions["axis".concat(capitalize(id))]); + } + }); + this.updateAxes(); + }; + /** + * Redraw axis + * @param {Array} targetsToShow targets data to be shown + * @param {object} wth option object + * @param {d3.Transition} transitions Transition object + * @param {object} flow flow object + * @param {boolean} isInit called from initialization + * @private + */ + Axis.prototype.redrawAxis = function (targetsToShow, wth, transitions, flow, isInit) { + var _this = this; + var _a, _b, _c; + var $$ = this.owner; + var config = $$.config, scale = $$.scale, $el = $$.$el; + var hasZoom = !!scale.zoom; + var xDomainForZoom; + if (!hasZoom && this.isCategorized() && targetsToShow.length === 0) { + scale.x.domain([0, $el.axis.x.selectAll(".tick").size()]); + } + if (scale.x && targetsToShow.length) { + !hasZoom && + $$.updateXDomain(targetsToShow, wth.UpdateXDomain, wth.UpdateOrgXDomain, wth.TrimXDomain); + if (!config.axis_x_tick_values) { + this.updateXAxisTickValues(targetsToShow); + } + } + else if (this.x) { + this.x.tickValues([]); + (_a = this.subX) === null || _a === void 0 ? void 0 : _a.tickValues([]); + } + if (config.zoom_rescale && !flow) { + xDomainForZoom = scale.x.orgDomain(); + } + ["y", "y2"].forEach(function (key) { + var prefix = "axis_".concat(key, "_"); + var axisScale = scale[key]; + if (axisScale) { + var tickValues = config["".concat(prefix, "tick_values")]; + var tickCount = config["".concat(prefix, "tick_count")]; + axisScale.domain($$.getYDomain(targetsToShow, key, xDomainForZoom)); + if (!tickValues && tickCount) { + var axis = $$.axis[key]; + var domain = axisScale.domain(); + axis.tickValues(_this.generateTickValues(domain, domain.every(function (v) { return v === 0; }) ? 1 : tickCount, _this.isTimeSeriesY())); + } + } + }); + // axes + this.redraw(transitions, $$.hasArcType(), isInit); + // Update axis label + this.updateLabels(wth.Transition); + // show/hide if manual culling needed + if ((wth.UpdateXDomain || wth.UpdateXAxis || wth.Y) && targetsToShow.length) { + this.setCulling(); + } + // Update sub domain + if (wth.Y) { + (_b = scale.subY) === null || _b === void 0 ? void 0 : _b.domain($$.getYDomain(targetsToShow, "y")); + (_c = scale.subY2) === null || _c === void 0 ? void 0 : _c.domain($$.getYDomain(targetsToShow, "y2")); + } + }; + /** + * Set manual culling + * @private + */ + Axis.prototype.setCulling = function () { + var $$ = this.owner; + var config = $$.config, _a = $$.state, clip = _a.clip, current = _a.current, $el = $$.$el; + ["subX", "x", "y", "y2"].forEach(function (type) { + var axis = $el.axis[type]; + // subchart x axis should be aligned with x axis culling + var id = type === "subX" ? "x" : type; + var cullingOptionPrefix = "axis_".concat(id, "_tick_culling"); + var toCull = config[cullingOptionPrefix]; + if (axis && toCull) { + var tickNodes = axis.selectAll(".tick"); + var tickValues_1 = sortValue(tickNodes.data()); + var tickSize = tickValues_1.length; + var cullingMax = config["".concat(cullingOptionPrefix, "_max")]; + var lines_1 = config["".concat(cullingOptionPrefix, "_lines")]; + var intervalForCulling_1; + if (tickSize) { + for (var i = 1; i < tickSize; i++) { + if (tickSize / i < cullingMax) { + intervalForCulling_1 = i; + break; + } + } + tickNodes + .each(function (d) { + var node = lines_1 ? this.querySelector("text") : this; + if (node) { + node.style.display = tickValues_1.indexOf(d) % intervalForCulling_1 ? + "none" : + null; + } + }); + } + else { + tickNodes.style("display", null); + } + // set/unset x_axis_tick_clippath + if (type === "x") { + var clipPath = current.maxTickSize.x.clipPath ? + clip.pathXAxisTickTexts : + null; + $el.svg.selectAll(".".concat($AXIS.axisX, " .tick text")) + .attr("clip-path", clipPath); + } + } + }); + }; + /** + * Set axis tooltip + * @private + */ + Axis.prototype.setAxisTooltip = function () { + var _a; + var $$ = this.owner; + var _b = $$.config, isRotated = _b.axis_rotated, axis_tooltip = _b.axis_tooltip, _c = $$.$el, axis = _c.axis, axisTooltip = _c.axisTooltip; + var bgColor = (_a = axis_tooltip.backgroundColor) !== null && _a !== void 0 ? _a : "black"; + $$.generateTextBGColorFilter(bgColor, { + x: -0.15, + y: -0.2, + width: 1.3, + height: 1.3 + }); + ["x", "y", "y2"].forEach(function (v) { + var _a, _b, _c; + axisTooltip[v] = (_a = axis[v]) === null || _a === void 0 ? void 0 : _a.append("text").classed($AXIS["axis".concat(v.toUpperCase(), "Tooltip")], true).attr("filter", $$.updateTextBGColor({ id: v }, bgColor)); + if (isRotated) { + var pos = v === "x" ? "x" : "y"; + var val = v === "y" ? "1.15em" : (v === "x" ? "-0.3em" : "-0.4em"); + (_b = axisTooltip[v]) === null || _b === void 0 ? void 0 : _b.attr(pos, val).attr("d".concat(v === "x" ? "y" : "x"), v === "x" ? "0.4em" : "-1.3em").style("text-anchor", v === "x" ? "end" : null); + } + else { + var pos = v === "x" ? "y" : "x"; + var val = v === "x" ? "1.15em" : "".concat(v === "y" ? "-" : "", "0.4em"); + (_c = axisTooltip[v]) === null || _c === void 0 ? void 0 : _c.attr(pos, val).attr("d".concat(v === "x" ? "x" : "y"), v === "x" ? "-1em" : "0.3em").style("text-anchor", v === "y" ? "end" : null); + } + }); + }; + return Axis; +}()); + +var eventrect = { + /** + * Initialize the area that detects the event. + * Add a container for the zone that detects the event. + * @private + */ + initEventRect: function () { + var $$ = this; + $$.$el.main.select(".".concat($COMMON.chart)) + .append("g") + .attr("class", $EVENT.eventRects) + .style("fill-opacity", "0"); + }, + /** + * Redraws the area that detects the event. + * @private + */ + redrawEventRect: function () { + var _a; + var $$ = this; + var config = $$.config, state = $$.state, $el = $$.$el; + var isMultipleX = $$.isMultipleX(); + var isInverted = config.axis_x_inverted; + if ($el.eventRect) { + $$.updateEventRect($el.eventRect, true); + // do not initialize eventRect when data is empty + } + else if ($$.data.targets.length) { + var eventRects = $$.$el.main.select(".".concat($EVENT.eventRects)) + .style("cursor", config.zoom_enabled && config.zoom_type !== "drag" ? + (config.axis_rotated ? "ns-resize" : "ew-resize") : + null) + .classed($EVENT.eventRectsMultiple, isMultipleX) + .classed($EVENT.eventRectsSingle, !isMultipleX); + // append event <rect> + var eventRectUpdate = eventRects.selectAll(".".concat($EVENT.eventRect)) + .data([0]) + .enter() + .append("rect"); + $$.updateEventRect(eventRectUpdate); + // bind event to <rect> element + $$.updateEventType(eventRectUpdate); + // bind draggable selection + eventRectUpdate.call($$.getDraggableSelection()); + $el.eventRect = eventRectUpdate; + if ($$.state.inputType === "touch" && !$el.svg.on("touchstart.eventRect") && + !$$.hasArcType()) { + $$.bindTouchOnEventRect(); + } + // when initilazed with empty data and data loaded later, need to update eventRect + state.rendered && $$.updateEventRect($el.eventRect, true); + } + if (!isMultipleX) { + // Set data and update eventReceiver.data + var xAxisTickValues = $$.getMaxDataCountTarget(); + if (!config.data_xSort || isInverted) { + xAxisTickValues.sort(function (a, b) { return (isInverted ? b.x - a.x : a.x - b.x); }); + } + // update data's index value to be alinged with the x Axis + $$.updateDataIndexByX(xAxisTickValues); + $$.updateXs(xAxisTickValues); + (_a = $$.updatePointClass) === null || _a === void 0 ? void 0 : _a.call($$, true); + state.eventReceiver.data = xAxisTickValues; + } + $$.updateEventRectData(); + }, + bindTouchOnEventRect: function () { + var $$ = this; + var config = $$.config, state = $$.state, _a = $$.$el, eventRect = _a.eventRect, svg = _a.svg; + var selectRect = function (context) { + if ($$.isMultipleX()) { + $$.selectRectForMultipleXs(context); + } + else { + var index = $$.getDataIndexFromEvent(state.event); + $$.callOverOutForTouch(index); + index === -1 ? $$.unselectRect() : $$.selectRectForSingle(context, index); + } + }; + var unselectRect = function () { + $$.unselectRect(); + $$.callOverOutForTouch(); + }; + // call event.preventDefault() + // according 'interaction.inputType.touch.preventDefault' option + var preventDefault = config.interaction_inputType_touch.preventDefault; + var isPrevented = (isBoolean(preventDefault) && preventDefault) || false; + var preventThreshold = (!isNaN(preventDefault) && preventDefault) || null; + var startPx; + var preventEvent = function (event) { + var eventType = event.type; + var touch = event.changedTouches[0]; + var currentXY = touch["client".concat(config.axis_rotated ? "Y" : "X")]; + // prevent document scrolling + if (eventType === "touchstart") { + if (isPrevented) { + event.preventDefault(); + } + else if (preventThreshold !== null) { + startPx = currentXY; + } + } + else if (eventType === "touchmove") { + if (isPrevented || startPx === true || (preventThreshold !== null && + Math.abs(startPx - currentXY) >= preventThreshold)) { + // once prevented, keep prevented during whole 'touchmove' context + startPx = true; + event.preventDefault(); + } + } + }; + // bind touch events + eventRect + .on("touchstart", function (event) { + state.event = event; + $$.updateEventRect(); + }) + .on("touchstart.eventRect touchmove.eventRect", function (event) { + state.event = event; + if (!eventRect.empty() && eventRect.classed($EVENT.eventRect)) { + // if touch points are > 1, means doing zooming interaction. In this case do not execute tooltip codes. + if (state.dragging || state.flowing || $$.hasArcType() || + event.touches.length > 1) { + return; + } + preventEvent(event); + selectRect(eventRect.node()); + } + else { + unselectRect(); + } + }, true) + .on("touchend.eventRect", function (event) { + state.event = event; + if (!eventRect.empty() && eventRect.classed($EVENT.eventRect)) { + if ($$.hasArcType() || !$$.toggleShape || state.cancelClick) { + state.cancelClick && (state.cancelClick = false); + } + } + }, true); + svg.on("touchstart", function (event) { + state.event = event; + var target = event.target; + if (target && target !== eventRect.node()) { + unselectRect(); + } + }); + }, + /** + * Update event rect size + * @param {d3Selection} eventRect Event <rect> element + * @param {boolean} force Force to update + * @private + */ + updateEventRect: function (eventRect, force) { + if (force === void 0) { force = false; } + var $$ = this; + var state = $$.state, $el = $$.$el; + var eventReceiver = state.eventReceiver, width = state.width, height = state.height, rendered = state.rendered, resizing = state.resizing; + var rectElement = eventRect || $el.eventRect; + var updateClientRect = function () { + if (eventReceiver) { + var scrollPos = getScrollPosition($el.chart.node()); + eventReceiver.rect = rectElement.node() + .getBoundingClientRect() + .toJSON(); + eventReceiver.rect.top += scrollPos.y; + eventReceiver.rect.left += scrollPos.x; + } + }; + if (!rendered || resizing || force) { + rectElement + .attr("x", 0) + .attr("y", 0) + .attr("width", width) + .attr("height", height); + // only for init + if (!rendered || force) { + rectElement.classed($EVENT.eventRect, true); + } + } + updateClientRect(); + }, + /** + * Update event type (single or multiple x) + * @param {d3Selection | boolean} target Target element or boolean to rebind event + */ + updateEventType: function (target) { + var $$ = this; + var isRebindCall = isBoolean(target); + var eventRect = isRebindCall ? $$.$el.eventRect : target; + var unbindEvent = isRebindCall ? target !== (eventRect === null || eventRect === void 0 ? void 0 : eventRect.datum().multipleX) : false; + if (eventRect) { + // release previous event listeners + unbindEvent && (eventRect === null || eventRect === void 0 ? void 0 : eventRect.on("mouseover mousemove mouseout click", null)); + $$.isMultipleX() ? + $$.generateEventRectsForMultipleXs(eventRect) : + $$.generateEventRectsForSingleX(eventRect); + } + }, + /** + * Updates the location and size of the eventRect. + * @private + */ + updateEventRectData: function () { + var $$ = this; + var config = $$.config, scale = $$.scale, state = $$.state; + var xScale = scale.zoom || scale.x; + var isRotated = config.axis_rotated; + var isMultipleX = $$.isMultipleX(); + var x; + var y; + var w; + var h; + $$.updateEventType(isMultipleX); + if (isMultipleX) { + // TODO: rotated not supported yet + x = 0; + y = 0; + w = state.width; + h = state.height; + } + else { + var rectW_1; + var rectX = void 0; + if ($$.axis.isCategorized()) { + rectW_1 = $$.getEventRectWidth(); + rectX = function (d) { return xScale(d.x) - (rectW_1 / 2); }; + } + else { + var getPrevNextX_1 = function (_a) { + var index = _a.index; + return ({ + prev: $$.getPrevX(index), + next: $$.getNextX(index) + }); + }; + rectW_1 = function (d) { + var x = getPrevNextX_1(d); + var xDomain = xScale.domain(); + var val; + // if there this is a single data point make the eventRect full width (or height) + if (x.prev === null && x.next === null) { + val = isRotated ? state.height : state.width; + } + else if (x.prev === null) { + val = (xScale(x.next) + xScale(d.x)) / 2; + } + else if (x.next === null) { + val = xScale(xDomain[1]) - ((xScale(x.prev) + xScale(d.x)) / 2); + } + else { + Object.keys(x).forEach(function (key, i) { + var _a; + x[key] = (_a = x[key]) !== null && _a !== void 0 ? _a : xDomain[i]; + }); + val = Math.max(0, (xScale(x.next) - xScale(x.prev)) / 2); + } + return val; + }; + rectX = function (d) { + var x = getPrevNextX_1(d); + var val; + // if there this is a single data point position the eventRect at 0 + if (x.prev === null && x.next === null) { + val = 0; + } + else if (x.prev === null) { + val = xScale(xScale.domain()[0]); + } + else { + val = (xScale(d.x) + xScale(x.prev)) / 2; + } + return val; + }; + } + x = isRotated ? 0 : rectX; + y = isRotated ? rectX : 0; + w = isRotated ? state.width : rectW_1; + h = isRotated ? rectW_1 : state.height; + } + var eventReceiver = state.eventReceiver; + var call = function (fn, v) { return (isFunction(fn) ? fn(v) : fn); }; + // reset for possible remains coords data before the data loading + eventReceiver.coords.splice(eventReceiver.data.length); + eventReceiver.data.forEach(function (d, i) { + eventReceiver.coords[i] = { + x: call(x, d), + y: call(y, d), + w: call(w, d), + h: call(h, d) + }; + }); + }, + /** + * Seletct rect for single x value + * @param {d3Selection} context Event rect element + * @param {number} index x Axis index + * @private + */ + selectRectForSingle: function (context, index) { + var _a, _b; + var $$ = this; + var config = $$.config, _c = $$.$el, main = _c.main, circle = _c.circle; + var isSelectionEnabled = config.data_selection_enabled; + var isSelectionGrouped = config.data_selection_grouped; + var isSelectable = config.data_selection_isselectable; + var isTooltipGrouped = config.tooltip_grouped; + var selectedData = $$.getAllValuesOnIndex(index); + if (isTooltipGrouped) { + $$.showTooltip(selectedData, context); + (_a = $$.showGridFocus) === null || _a === void 0 ? void 0 : _a.call($$, selectedData); + if (!isSelectionEnabled || isSelectionGrouped) { + return; + } + } + // remove possible previous focused state + !circle && + main.selectAll(".".concat($COMMON.EXPANDED, ":not(.").concat($SHAPE.shape, "-").concat(index, ")")).classed($COMMON.EXPANDED, false); + var shapeAtIndex = main.selectAll(".".concat($SHAPE.shape, "-").concat(index)) + .classed($COMMON.EXPANDED, true) + .style("cursor", isSelectable ? "pointer" : null) + .filter(function (d) { + return $$.isWithinShape(this, d); + }); + if (shapeAtIndex.empty() && !isTooltipGrouped && config.interaction_onout) { + (_b = $$.hideGridFocus) === null || _b === void 0 ? void 0 : _b.call($$); + $$.hideTooltip(); + !isSelectionGrouped && $$.setExpand(index); + } + shapeAtIndex + .call(function (selected) { + var _a, _b; + var d = selected.data(); + if (isSelectionEnabled && + (isSelectionGrouped || (isSelectable === null || isSelectable === void 0 ? void 0 : isSelectable.bind($$.api)(d)))) { + context.style.cursor = "pointer"; + } + if (!isTooltipGrouped) { + $$.showTooltip(d, context); + (_a = $$.showGridFocus) === null || _a === void 0 ? void 0 : _a.call($$, d); + (_b = $$.unexpandCircles) === null || _b === void 0 ? void 0 : _b.call($$); + selected.each(function (d) { return $$.setExpand(index, d.id); }); + } + }); + }, + /** + * Select rect for multiple x values + * @param {d3Selection} context Event rect element + * @param {boolean} [triggerEvent=true] Whether trigger event or not + * @private + */ + selectRectForMultipleXs: function (context, triggerEvent) { + if (triggerEvent === void 0) { triggerEvent = true; } + var $$ = this; + var config = $$.config, state = $$.state; + var targetsToShow = $$.filterTargetsToShow($$.data.targets); + // do nothing when dragging + if (state.dragging || $$.hasArcType(targetsToShow)) { + return; + } + var mouse = getPointer(state.event, context); + var closest = $$.findClosestFromTargets(targetsToShow, mouse); + if (triggerEvent && state.mouseover && (!closest || closest.id !== state.mouseover.id)) { + config.data_onout.call($$.api, state.mouseover); + state.mouseover = undefined; + } + if (!closest) { + $$.unselectRect(); + return; + } + var sameXData = ($$.isBubbleType(closest) || $$.isScatterType(closest) || !config.tooltip_grouped) ? + [closest] : + $$.filterByX(targetsToShow, closest.x); + // show tooltip when cursor is close to some point + var selectedData = sameXData.map(function (d) { return $$.addName(d); }); + $$.showTooltip(selectedData, context); + // expand points + $$.setExpand(closest.index, closest.id, true); + // Show xgrid focus line + $$.showGridFocus(selectedData); + var dist = $$.dist(closest, mouse); + // Show cursor as pointer if point is close to mouse position + if ($$.isBarType(closest.id) || dist < $$.getPointSensitivity(closest)) { + $$.$el.svg.select(".".concat($EVENT.eventRect)).style("cursor", "pointer"); + if (triggerEvent && !state.mouseover) { + config.data_onover.call($$.api, closest); + state.mouseover = closest; + } + } + }, + /** + * Unselect EventRect. + * @private + */ + unselectRect: function () { + var $$ = this; + var _a = $$.$el, circle = _a.circle, tooltip = _a.tooltip; + $$.$el.svg.select(".".concat($EVENT.eventRect)).style("cursor", null); + $$.hideGridFocus(); + if (tooltip) { + $$.hideTooltip(); + $$._handleLinkedCharts(false); + } + circle && !$$.isPointFocusOnly() && $$.unexpandCircles(); + $$.expandBarTypeShapes(false); + }, + /** + * Create eventRect for each data on the x-axis. + * Register touch and drag events. + * @param {object} eventRectEnter d3.select($EVENT.eventRects) object. + * @returns {object} d3.select($EVENT.eventRects) object. + * @private + */ + generateEventRectsForSingleX: function (eventRectEnter) { + var $$ = this; + var config = $$.config, state = $$.state; + var eventReceiver = state.eventReceiver; + var rect = eventRectEnter + .style("cursor", config.data_selection_enabled && config.data_selection_grouped ? "pointer" : null) + .on("click", function (event) { + state.event = event; + var currentIdx = eventReceiver.currentIdx, data = eventReceiver.data; + var d = data[currentIdx === -1 ? $$.getDataIndexFromEvent(event) : currentIdx]; + $$.clickHandlerForSingleX.bind(this)(d, $$); + }) + .datum({ multipleX: false }); + if (state.inputType === "mouse") { + var getData_1 = function (event) { + var index = event ? $$.getDataIndexFromEvent(event) : eventReceiver.currentIdx; + return index > -1 ? eventReceiver.data[index] : null; + }; + rect + .on("mouseover", function (event) { + state.event = event; + $$.updateEventRect(); + Object.values($$.$el.axisTooltip) + .forEach(function (v) { return v === null || v === void 0 ? void 0 : v.style("display", null); }); + }) + .on("mousemove", function (event) { + var d = getData_1(event); + state.event = event; + if (!d) { + return; + } + var index = d.index; + var stepType = config.line_step_type; + // tooltip position match for step-before & step-after + if (config.line_step_tooltipMatch && $$.hasType("step") && + /^step\-(before|after)$/.test(stepType)) { + var scale = $$.scale.zoom || $$.scale.x; + var xs = $$.axis.xs[index]; + var inverted = scale.invert(getPointer(event, this)[0]); + if (stepType === "step-after" && inverted < xs) { + index -= 1; + } + else if (stepType === "step-before" && inverted > xs) { + index += 1; + } + } + $$.showAxisGridFocus(); + var eventOnSameIdx = config.tooltip_grouped && + index === eventReceiver.currentIdx; + // do nothing while dragging/flowing + if (state.dragging || state.flowing || $$.hasArcType() || eventOnSameIdx) { + config.tooltip_show && eventOnSameIdx && $$.setTooltipPosition(); + return; + } + if (index !== eventReceiver.currentIdx) { + $$.setOverOut(false, eventReceiver.currentIdx); + eventReceiver.currentIdx = index; + } + index === -1 ? $$.unselectRect() : $$.selectRectForSingle(this, index); + // As of individual data point(or <path>) element can't bind mouseover/out event + // to determine current interacting element, so use 'mousemove' event instead. + $$.setOverOut(index !== -1, index); + }) + .on("mouseout", function (event) { + state.event = event; + // chart is destroyed + if (!config || $$.hasArcType() || eventReceiver.currentIdx === -1 || + !config.interaction_onout) { + return; + } + $$.hideAxisGridFocus(); + $$.unselectRect(); + $$.setOverOut(false, eventReceiver.currentIdx); + // reset the event current index + eventReceiver.currentIdx = -1; + }); + } + return rect; + }, + clickHandlerForSingleX: function (d, ctx) { + var $$ = ctx; + var config = $$.config, state = $$.state, main = $$.$el.main; + if (!d || $$.hasArcType() || state.cancelClick) { + state.cancelClick && (state.cancelClick = false); + return; + } + var index = d.index; + main.selectAll(".".concat($SHAPE.shape, "-").concat(index)) + .each(function (d2) { + var _a; + if (config.data_selection_grouped || $$.isWithinShape(this, d2)) { + (_a = $$.toggleShape) === null || _a === void 0 ? void 0 : _a.call($$, this, d2, index); + config.data_onclick.bind($$.api)(d2, this); + } + }); + }, + /** + * Create an eventRect, + * Register touch and drag events. + * @param {object} eventRectEnter d3.select($EVENT.eventRects) object. + * @private + */ + generateEventRectsForMultipleXs: function (eventRectEnter) { + var $$ = this; + var config = $$.config, state = $$.state; + eventRectEnter + .on("click", function (event) { + state.event = event; + $$.clickHandlerForMultipleXS.bind(this)($$); + }) + .datum({ multipleX: true }); + if (state.inputType === "mouse") { + eventRectEnter + .on("mouseover mousemove", function (event) { + state.event = event; + $$.selectRectForMultipleXs(this); + }) + .on("mouseout", function (event) { + state.event = event; + // chart is destroyed + if (!$$.config || $$.hasArcType() || !config.interaction_onout) { + return; + } + $$.unselectRect(); + }); + } + }, + clickHandlerForMultipleXS: function (ctx) { + var $$ = ctx; + var config = $$.config, state = $$.state; + var targetsToShow = $$.filterTargetsToShow($$.data.targets); + if ($$.hasArcType(targetsToShow)) { + return; + } + var mouse = getPointer(state.event, this); + var closest = $$.findClosestFromTargets(targetsToShow, mouse); + var sensitivity = $$.getPointSensitivity(closest); + if (!closest) { + return; + } + // select if selection enabled + if ($$.isBarType(closest.id) || $$.dist(closest, mouse) < sensitivity) { + $$.$el.main.selectAll(".".concat($SHAPE.shapes).concat($$.getTargetSelectorSuffix(closest.id))) + .selectAll(".".concat($SHAPE.shape, "-").concat(closest.index)) + .each(function () { + var _a; + if (config.data_selection_grouped || $$.isWithinShape(this, closest)) { + (_a = $$.toggleShape) === null || _a === void 0 ? void 0 : _a.call($$, this, closest, closest.index); + config.data_onclick.bind($$.api)(closest, this); + } + }); + } + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var flow = { + /** + * Generate flow + * @param {object} args option object + * @returns {Function} + * @private + */ + generateFlow: function (args) { + var $$ = this; + var data = $$.data, state = $$.state, $el = $$.$el; + return function () { + var flowLength = args.flow.length; + // set flag + state.flowing = true; + // remove head data after rendered + data.targets.forEach(function (d) { + d.values.splice(0, flowLength); + }); + // update elements related to x scale + if ($$.updateXGrid) { + $$.updateXGrid(true); + } + // target elements + var elements = {}; + [ + "axis.x", + "grid.x", + "gridLines.x", + "region.list", + "text", + "bar", + "line", + "area", + "circle" + ] + .forEach(function (v) { + var name = v.split("."); + var node = $el[name[0]]; + if (node && name.length > 1) { + node = node[name[1]]; + } + if (node === null || node === void 0 ? void 0 : node.size()) { + elements[v] = node; + } + }); + $$.hideGridFocus(); + $$.setFlowList(elements, args); + }; + }, + /** + * Set flow list + * @param {object} elements Target elements + * @param {object} args option object + * @private + */ + setFlowList: function (elements, args) { + var $$ = this; + var flow = args.flow, targets = args.targets; + var _a = flow.duration, duration = _a === void 0 ? args.duration : _a, flowIndex = flow.index, flowLength = flow.length, orgDataCount = flow.orgDataCount; + var transform = $$.getFlowTransform(targets, orgDataCount, flowIndex, flowLength); + var wait = generateWait(); + var n; + wait.add(Object.keys(elements).map(function (v) { + n = elements[v] + .transition() + .ease(easeLinear) + .duration(duration); + if (v === "axis.x") { + n = n.call(function (g) { + $$.axis.x.setTransition(g).create(g); + }); + } + else if (v === "region.list") { + n = n.filter($$.isRegionOnX) + .attr("transform", transform); + } + else { + n = n.attr("transform", transform); + } + return n; + })); + n.call(wait, function () { + $$.cleanUpFlow(elements, args); + }); + }, + /** + * Clean up flow + * @param {object} elements Target elements + * @param {object} args option object + * @private + */ + cleanUpFlow: function (elements, args) { + var $$ = this; + var config = $$.config, state = $$.state, svg = $$.$el.svg; + var isRotated = config.axis_rotated; + var flow = args.flow, shape = args.shape, xv = args.xv; + var _a = shape.pos, cx = _a.cx, cy = _a.cy, xForText = _a.xForText, yForText = _a.yForText; + var _b = flow.done, done = _b === void 0 ? function () { } : _b, flowLength = flow.length; + // Remove flowed elements + if (flowLength) { + ["circle", "text", "shape", "eventRect"].forEach(function (v) { + var target = []; + for (var i = 0; i < flowLength; i++) { + target.push(".".concat(CLASS[v], "-").concat(i)); + } + svg.selectAll(".".concat(CLASS["".concat(v, "s")])) // circles, shapes, texts, eventRects + .selectAll(target) + .remove(); + }); + svg.select(".".concat(CLASS.xgrid)) + .remove(); + } + // draw again for removing flowed elements and reverting attr + Object.keys(elements).forEach(function (v) { + var n = elements[v]; + if (v !== "axis.x") { + n.attr("transform", null); + } + if (v === "grid.x") { + n.attr(state.xgridAttr); + } + else if (v === "gridLines.x") { + n.attr("x1", isRotated ? 0 : xv) + .attr("x2", isRotated ? state.width : xv); + n.select("text") + .attr("x", isRotated ? state.width : 0) + .attr("y", xv); + } + else if (/^(area|bar|line)$/.test(v)) { + n.attr("d", shape.type[v]); + } + else if (v === "text") { + n.attr("x", xForText) + .attr("y", yForText) + .style("fill-opacity", $$.opacityForText.bind($$)); + } + else if (v === "circle") { + if ($$.isCirclePoint()) { + n.attr("cx", cx).attr("cy", cy); + } + else { + var xFunc = function (d) { return cx(d) - config.point_r; }; + var yFunc = function (d) { return cy(d) - config.point_r; }; + n.attr("x", xFunc).attr("y", yFunc); + } + } + else if (v === "region.list") { + n.select("rect").filter($$.isRegionOnX) + .attr("x", $$.regionX.bind($$)) + .attr("width", $$.regionWidth.bind($$)); + } + }); + config.interaction_enabled && $$.redrawEventRect(); + // callback for end of flow + done.call($$.api); + state.flowing = false; + }, + /** + * Get flow transform value + * @param {object} targets target + * @param {number} orgDataCount original data count + * @param {number} flowIndex flow index + * @param {number} flowLength flow length + * @returns {string} + * @private + */ + getFlowTransform: function (targets, orgDataCount, flowIndex, flowLength) { + var $$ = this; + var data = $$.data, x = $$.scale.x; + var dataValues = data.targets[0].values; + var flowStart = $$.getValueOnIndex(dataValues, flowIndex); + var flowEnd = $$.getValueOnIndex(dataValues, flowIndex + flowLength); + var translateX; + // update x domain to generate axis elements for flow + var orgDomain = x.domain(); + var domain = $$.updateXDomain(targets, true, true); + // generate transform to flow + if (!orgDataCount) { // if empty + if (dataValues.length !== 1) { + translateX = x(orgDomain[0]) - x(domain[0]); + } + else { + if ($$.axis.isTimeSeries()) { + flowStart = $$.getValueOnIndex(dataValues, 0); + flowEnd = $$.getValueOnIndex(dataValues, dataValues.length - 1); + translateX = x(flowStart.x) - x(flowEnd.x); + } + else { + translateX = diffDomain(domain) / 2; + } + } + } + else if (orgDataCount === 1 || (flowStart === null || flowStart === void 0 ? void 0 : flowStart.x) === (flowEnd === null || flowEnd === void 0 ? void 0 : flowEnd.x)) { + translateX = x(orgDomain[0]) - x(domain[0]); + } + else { + translateX = $$.axis.isTimeSeries() ? + x(orgDomain[0]) - x(domain[0]) : + x((flowStart === null || flowStart === void 0 ? void 0 : flowStart.x) || 0) - x(flowEnd.x); + } + var scaleX = diffDomain(orgDomain) / diffDomain(domain); + return "translate(".concat(translateX, ",0) scale(").concat(scaleX, ",1)"); + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var clip = { + initClip: function () { + var $$ = this; + var _a = $$.state, clip = _a.clip, datetimeId = _a.datetimeId; + // MEMO: clipId needs to be unique because it conflicts when multiple charts exist + clip.id = "".concat(datetimeId, "-clip"); + clip.idXAxis = "".concat(clip.id, "-xaxis"); + clip.idYAxis = "".concat(clip.id, "-yaxis"); + clip.idGrid = "".concat(clip.id, "-grid"); + // Define 'clip-path' attribute values + clip.path = $$.getClipPath(clip.id); + clip.pathXAxis = $$.getClipPath(clip.idXAxis); + clip.pathYAxis = $$.getClipPath(clip.idYAxis); + clip.pathGrid = $$.getClipPath(clip.idGrid); + }, + getClipPath: function (id) { + var $$ = this; + var config = $$.config; + if ((!config.clipPath && /-clip$/.test(id)) || + (!config.axis_x_clipPath && /-clip-xaxis$/.test(id)) || + (!config.axis_y_clipPath && /-clip-yaxis$/.test(id))) { + return null; + } + return "url(#".concat(id, ")"); + }, + appendClip: function (parent, id) { + id && parent.append("clipPath") + .attr("id", id) + .append("rect"); + }, + /** + * Set x Axis clipPath dimension + * @param {d3Selecton} node clipPath <rect> selection + * @private + */ + setXAxisClipPath: function (node) { + var $$ = this; + var config = $$.config, _a = $$.state, margin = _a.margin, width = _a.width, height = _a.height; + var isRotated = config.axis_rotated; + var left = Math.max(30, margin.left) - (isRotated ? 0 : 20); + // less than 20 is not enough to show the axis label 'outer' without legend + var h = (isRotated ? (margin.top + height) + 10 : margin.bottom) + 20; + var x = isRotated ? -(1 + left) : -(left - 1); + var y = -15; // -Math.max(15, margin.top); + var w = isRotated ? margin.left + 20 : width + 10 + left; + node + .attr("x", x) + .attr("y", y) + .attr("width", w) + .attr("height", h); + }, + /** + * Set y Axis clipPath dimension + * @param {d3Selection} node clipPath <rect> selection + * @private + */ + setYAxisClipPath: function (node) { + var $$ = this; + var config = $$.config, _a = $$.state, margin = _a.margin, width = _a.width, height = _a.height; + var isRotated = config.axis_rotated; + var left = Math.max(30, margin.left) - (isRotated ? 20 : 0); + var isInner = config.axis_y_inner; + var x = isInner && !isRotated ? + (config.axis_y_label.text ? -20 : -1) : + (isRotated ? -(1 + left) : -(left - 1)); + var y = -(isRotated ? 20 : margin.top); + var w = (isRotated ? width + 15 + left : margin.left + 20) + (isInner ? 20 : 0); + var h = (isRotated ? margin.bottom + 10 : (margin.top + height)) + 10; + node + .attr("x", x) + .attr("y", y) + .attr("width", w) + .attr("height", h); + }, + updateXAxisTickClip: function () { + var $$ = this; + var config = $$.config, _a = $$.state, clip = _a.clip, xAxisHeight = _a.xAxisHeight, defs = $$.$el.defs; + var newXAxisHeight = $$.getHorizontalAxisHeight("x"); + if (defs && !clip.idXAxisTickTexts) { + var clipId = "".concat(clip.id, "-xaxisticktexts"); + $$.appendClip(defs, clipId); + clip.pathXAxisTickTexts = $$.getClipPath(clip.idXAxisTickTexts); + clip.idXAxisTickTexts = clipId; + } + if (!config.axis_x_tick_multiline && + $$.getAxisTickRotate("x") && + newXAxisHeight !== xAxisHeight) { + $$.setXAxisTickClipWidth(); + $$.setXAxisTickTextClipPathWidth(); + } + $$.state.xAxisHeight = newXAxisHeight; + }, + setXAxisTickClipWidth: function () { + var $$ = this; + var config = $$.config, maxTickSize = $$.state.current.maxTickSize; + var xAxisTickRotate = $$.getAxisTickRotate("x"); + if (!config.axis_x_tick_multiline && xAxisTickRotate) { + var sinRotation = Math.sin(Math.PI / 180 * Math.abs(xAxisTickRotate)); + maxTickSize.x.clipPath = ($$.getHorizontalAxisHeight("x") - 20) / sinRotation; + } + else { + maxTickSize.x.clipPath = null; + } + }, + setXAxisTickTextClipPathWidth: function () { + var $$ = this; + var _a = $$.state, clip = _a.clip, current = _a.current, svg = $$.$el.svg; + if (svg) { + svg.select("#".concat(clip.idXAxisTickTexts, " rect")) + .attr("width", current.maxTickSize.x.clipPath) + .attr("height", 30); + } + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +// Grid position and text anchor helpers +var getGridTextAnchor = function (d) { return isValue(d.position) || "end"; }; +var getGridTextDx = function (d) { return (d.position === "start" ? 4 : (d.position === "middle" ? 0 : -4)); }; +/** + * Get grid text x value getter function + * @param {boolean} isX Is x Axis + * @param {number} width Width value + * @param {number} height Height value + * @returns {Function} + * @private + */ +function getGridTextX(isX, width, height) { + return function (d) { + var x = isX ? 0 : width; + if (d.position === "start") { + x = isX ? -height : 0; + } + else if (d.position === "middle") { + x = (isX ? -height : width) / 2; + } + return x; + }; +} +/** + * Update coordinate attributes value + * @param {d3.selection} el Target node + * @param {string} type Type + * @private + */ +function smoothLines(el, type) { + { + el.each(function () { + var g = select(this); + ["x1", "x2", "y1", "y2"] + .forEach(function (v) { return g.attr(v, +g.attr(v)); }); + }); + } +} +var grid = { + hasGrid: function () { + var config = this.config; + return ["x", "y"] + .some(function (v) { return config["grid_".concat(v, "_show")] || config["grid_".concat(v, "_lines")].length; }); + }, + initGrid: function () { + var $$ = this; + $$.hasGrid() && $$.initGridLines(); + $$.initFocusGrid(); + }, + initGridLines: function () { + var $$ = this; + var config = $$.config, clip = $$.state.clip, $el = $$.$el; + if (config.grid_x_lines.length || config.grid_y_lines.length) { + $el.gridLines.main = $el.main.insert("g", ".".concat($COMMON.chart).concat(config.grid_lines_front ? " + *" : "")) + .attr("clip-path", clip.pathGrid) + .attr("class", "".concat($GRID.grid, " ").concat($GRID.gridLines)); + $el.gridLines.main.append("g").attr("class", $GRID.xgridLines); + $el.gridLines.main.append("g").attr("class", $GRID.ygridLines); + $el.gridLines.x = selectAll([]); + } + }, + updateXGrid: function (withoutUpdate) { + var $$ = this; + var config = $$.config, scale = $$.scale, state = $$.state, _a = $$.$el, main = _a.main, grid = _a.grid; + var isRotated = config.axis_rotated; + var xgridData = $$.generateGridData(config.grid_x_type, scale.x); + var tickOffset = $$.axis.isCategorized() ? $$.axis.x.tickOffset() : 0; + var pos = function (d) { + return (scale.zoom || scale.x)(d) + (tickOffset * (isRotated ? -1 : 1)); + }; + state.xgridAttr = isRotated ? + { + x1: 0, + x2: state.width, + y1: pos, + y2: pos + } : + { + x1: pos, + x2: pos, + y1: 0, + y2: state.height + }; + grid.x = main.select(".".concat($GRID.xgrids)) + .selectAll(".".concat($GRID.xgrid)) + .data(xgridData); + grid.x.exit().remove(); + grid.x = grid.x.enter() + .append("line") + .attr("class", $GRID.xgrid) + .merge(grid.x); + if (!withoutUpdate) { + grid.x.each(function () { + var grid = select(this); + Object.keys(state.xgridAttr).forEach(function (id) { + grid.attr(id, state.xgridAttr[id]) + .style("opacity", function () { return (grid.attr(isRotated ? "y1" : "x1") === (isRotated ? state.height : 0) ? + "0" : + null); }); + }); + }); + } + }, + updateYGrid: function () { + var $$ = this; + var axis = $$.axis, config = $$.config, scale = $$.scale, state = $$.state, _a = $$.$el, grid = _a.grid, main = _a.main; + var isRotated = config.axis_rotated; + var pos = function (d) { return scale.y(d); }; + var gridValues = axis.y.getGeneratedTicks(config.grid_y_ticks) || + $$.scale.y.ticks(config.grid_y_ticks); + grid.y = main.select(".".concat($GRID.ygrids)) + .selectAll(".".concat($GRID.ygrid)) + .data(gridValues); + grid.y.exit().remove(); + grid.y = grid.y + .enter() + .append("line") + .attr("class", $GRID.ygrid) + .merge(grid.y); + grid.y.attr("x1", isRotated ? pos : 0) + .attr("x2", isRotated ? pos : state.width) + .attr("y1", isRotated ? 0 : pos) + .attr("y2", isRotated ? state.height : pos); + smoothLines(grid.y); + }, + updateGrid: function () { + var $$ = this; + var _a = $$.$el, grid = _a.grid, gridLines = _a.gridLines; + !gridLines.main && $$.initGridLines(); + // hide if arc type + grid.main.style("visibility", $$.hasArcType() ? "hidden" : null); + $$.hideGridFocus(); + $$.updateGridLines("x"); + $$.updateGridLines("y"); + }, + /** + * Update Grid lines + * @param {string} type x | y + * @private + */ + updateGridLines: function (type) { + var $$ = this; + var config = $$.config, _a = $$.$el, gridLines = _a.gridLines, main = _a.main, $T = $$.$T; + var isRotated = config.axis_rotated; + var isX = type === "x"; + config["grid_".concat(type, "_show")] && $$["update".concat(type.toUpperCase(), "Grid")](); + var lines = main.select(".".concat($GRID["".concat(type, "gridLines")])) + .selectAll(".".concat($GRID["".concat(type, "gridLine")])) + .data(config["grid_".concat(type, "_lines")]); + // exit + $T(lines.exit()) + .style("opacity", "0") + .remove(); + // enter + var gridLine = lines.enter().append("g"); + gridLine.append("line") + .style("opacity", "0"); + lines = gridLine.merge(lines); + lines.each(function (d) { + var g = select(this); + if (g.select("text").empty() && d.text) { + g.append("text") + .style("opacity", "0"); + } + }); + $T(lines + .attr("class", function (d) { return "".concat($GRID["".concat(type, "gridLine")], " ").concat(d.class || "").trim(); }) + .select("text") + .attr("text-anchor", getGridTextAnchor) + .attr("transform", function () { return (isX ? + (isRotated ? null : "rotate(-90)") : + (isRotated ? "rotate(-90)" : null)); }) + .attr("dx", getGridTextDx) + .attr("dy", -5)) + .text(function (d) { + var _a; + return (_a = d.text) !== null && _a !== void 0 ? _a : this.remove(); + }); + gridLines[type] = lines; + }, + redrawGrid: function (withTransition) { + var $$ = this; + var isRotated = $$.config.axis_rotated, _a = $$.state, width = _a.width, height = _a.height, gridLines = $$.$el.gridLines, $T = $$.$T; + var xv = $$.xv.bind($$); + var yv = $$.yv.bind($$); + var xLines = gridLines.x.select("line"); + var xTexts = gridLines.x.select("text"); + var yLines = gridLines.y.select("line"); + var yTexts = gridLines.y.select("text"); + xLines = $T(xLines, withTransition) + .attr("x1", isRotated ? 0 : xv) + .attr("x2", isRotated ? width : xv) + .attr("y1", isRotated ? xv : 0) + .attr("y2", isRotated ? xv : height); + xTexts = $T(xTexts, withTransition) + .attr("x", getGridTextX(!isRotated, width, height)) + .attr("y", xv); + yLines = $T(yLines, withTransition) + .attr("x1", isRotated ? yv : 0) + .attr("x2", isRotated ? yv : width) + .attr("y1", isRotated ? 0 : yv) + .attr("y2", isRotated ? height : yv); + yTexts = $T(yTexts, withTransition) + .attr("x", getGridTextX(isRotated, width, height)) + .attr("y", yv); + return [ + xLines.style("opacity", null), + xTexts.style("opacity", null), + yLines.style("opacity", null), + yTexts.style("opacity", null) + ]; + }, + initFocusGrid: function () { + var $$ = this; + var config = $$.config, clip = $$.state.clip, $el = $$.$el; + var isFront = config.grid_front; + var className = ".".concat(isFront && $el.gridLines.main ? $GRID.gridLines : $COMMON.chart).concat(isFront ? " + *" : ""); + var grid = $el.main.insert("g", className) + .attr("clip-path", clip.pathGrid) + .attr("class", $GRID.grid); + $el.grid.main = grid; + config.grid_x_show && + grid.append("g").attr("class", $GRID.xgrids); + config.grid_y_show && + grid.append("g").attr("class", $GRID.ygrids); + if (config.axis_tooltip) { + var axis = grid.append("g").attr("class", "bb-axis-tooltip"); + axis.append("line").attr("class", "bb-axis-tooltip-x"); + axis.append("line").attr("class", "bb-axis-tooltip-y"); + } + if (config.interaction_enabled && config.grid_focus_show && !config.axis_tooltip) { + grid.append("g") + .attr("class", $FOCUS.xgridFocus) + .append("line") + .attr("class", $FOCUS.xgridFocus); + // to show xy focus grid line, should be 'tooltip.grouped=false' + if (config.grid_focus_y && !config.tooltip_grouped) { + grid.append("g") + .attr("class", $FOCUS.ygridFocus) + .append("line") + .attr("class", $FOCUS.ygridFocus); + } + } + }, + showAxisGridFocus: function () { + var _a, _b; + var $$ = this; + var config = $$.config, format = $$.format, _c = $$.state, event = _c.event, width = _c.width, height = _c.height; + var isRotated = config.axis_rotated; + // get mouse event position + var _d = getPointer(event, (_a = $$.$el.eventRect) === null || _a === void 0 ? void 0 : _a.node()), x = _d[0], y = _d[1]; + var pos = { x: x, y: y }; + for (var _i = 0, _e = Object.entries($$.$el.axisTooltip); _i < _e.length; _i++) { + var _f = _e[_i], axis = _f[0], node = _f[1]; + var attr = (axis === "x" && !isRotated) || (axis !== "x" && isRotated) ? "x" : "y"; + var value = pos[attr]; + var scaleText = (_b = $$.scale[axis]) === null || _b === void 0 ? void 0 : _b.invert(value); + if (scaleText) { + scaleText = axis === "x" && $$.axis.isTimeSeries() ? + format.xAxisTick(scaleText) : + scaleText === null || scaleText === void 0 ? void 0 : scaleText.toFixed(2); + // set position & its text value based on position + node === null || node === void 0 ? void 0 : node.attr(attr, value).text(scaleText); + } + } + $$.$el.main.selectAll("line.bb-axis-tooltip-x, line.bb-axis-tooltip-y").style("visibility", null) + .each(function (d, i) { + var line = select(this); + if (i === 0) { + line + .attr("x1", x) + .attr("x2", x) + .attr("y1", i ? 0 : height) + .attr("y2", i ? height : 0); + } + else { + line + .attr("x1", i ? 0 : width) + .attr("x2", i ? width : 0) + .attr("y1", y) + .attr("y2", y); + } + }); + }, + hideAxisGridFocus: function () { + var $$ = this; + $$.$el.main.selectAll("line.bb-axis-tooltip-x, line.bb-axis-tooltip-y").style("visibility", "hidden"); + Object.values($$.$el.axisTooltip) + .forEach(function (v) { return v === null || v === void 0 ? void 0 : v.style("display", "none"); }); + }, + /** + * Show grid focus line + * @param {Array} data Selected data + * @private + */ + showGridFocus: function (data) { + var _a; + var $$ = this; + var config = $$.config, _b = $$.state, width = _b.width, height = _b.height; + var isRotated = config.axis_rotated; + var focusEl = $$.$el.main.selectAll("line.".concat($FOCUS.xgridFocus, ", line.").concat($FOCUS.ygridFocus)); + var dataToShow = (data || [focusEl.datum()]).filter(function (d) { + return d && isValue($$.getBaseValue(d)); + }); + // Hide when bubble/scatter/stanford plot exists + if (!config.tooltip_show || dataToShow.length === 0 || (!config.axis_x_forceAsSingle && $$.hasType("bubble")) || $$.hasArcType()) { + return; + } + var isEdge = config.grid_focus_edge && !config.tooltip_grouped; + var xx = $$.xx.bind($$); + focusEl + .style("visibility", null) + .data(dataToShow.concat(dataToShow)) + .each(function (d) { + var el = select(this); + var pos = { + x: xx(d), + y: $$.getYScaleById(d.id)(d.value) + }; + var xy; + if (el.classed($FOCUS.xgridFocus)) { + // will contain 'x1, y1, x2, y2' order + xy = isRotated ? + [ + null, // x1 + pos.x, // y1 + isEdge ? pos.y : width, // x2 + pos.x // y2 + ] : + [ + pos.x, + isEdge ? pos.y : null, + pos.x, + height + ]; + } + else { + var isY2 = $$.axis.getId(d.id) === "y2"; + xy = isRotated ? + [ + pos.y, // x1 + isEdge && !isY2 ? pos.x : null, // y1 + pos.y, // x2 + isEdge && isY2 ? pos.x : height // y2 + ] : + [ + isEdge && isY2 ? pos.x : null, + pos.y, + isEdge && !isY2 ? pos.x : width, + pos.y + ]; + } + ["x1", "y1", "x2", "y2"] + .forEach(function (v, i) { return el.attr(v, xy[i]); }); + }); + smoothLines(focusEl); + (_a = $$.showCircleFocus) === null || _a === void 0 ? void 0 : _a.call($$, data); + }, + hideGridFocus: function () { + var _a; + var $$ = this; + var _b = $$.state, inputType = _b.inputType, resizing = _b.resizing, main = $$.$el.main; + if (inputType === "mouse" || !resizing) { + main.selectAll("line.".concat($FOCUS.xgridFocus, ", line.").concat($FOCUS.ygridFocus)) + .style("visibility", "hidden"); + (_a = $$.hideCircleFocus) === null || _a === void 0 ? void 0 : _a.call($$); + } + }, + updateGridFocus: function () { + var _a; + var $$ = this; + var _b = $$.state, inputType = _b.inputType, width = _b.width, height = _b.height, resizing = _b.resizing, grid = $$.$el.grid; + var xgridFocus = grid.main.select("line.".concat($FOCUS.xgridFocus)); + if (inputType === "touch") { + if (xgridFocus.empty()) { + resizing && ((_a = $$.showCircleFocus) === null || _a === void 0 ? void 0 : _a.call($$)); + } + else { + $$.showGridFocus(); + } + } + else { + var isRotated = $$.config.axis_rotated; + xgridFocus + .attr("x1", isRotated ? 0 : -10) + .attr("x2", isRotated ? width : -10) + .attr("y1", isRotated ? -10 : 0) + .attr("y2", isRotated ? -10 : height); + } + // need to return 'true' as of being pushed to the redraw list + // ref: getRedrawList() + return true; + }, + generateGridData: function (type, scale) { + var $$ = this; + var tickNum = $$.$el.main.select(".".concat($AXIS.axisX)) + .selectAll(".tick") + .size(); + var gridData = []; + if (type === "year") { + var xDomain = $$.getXDomain(); + var _a = xDomain.map(function (v) { return v.getFullYear(); }), firstYear = _a[0], lastYear = _a[1]; + for (var i = firstYear; i <= lastYear; i++) { + gridData.push(new Date("".concat(i, "-01-01 00:00:00"))); + } + } + else { + gridData = scale.ticks(10); + if (gridData.length > tickNum) { // use only int + gridData = gridData.filter(function (d) { return String(d).indexOf(".") < 0; }); + } + } + return gridData; + }, + getGridFilterToRemove: function (params) { + return params ? + function (line) { + var found = false; + (isArray(params) ? params.concat() : [params]).forEach(function (param) { + if ((("value" in param && line.value === param.value) || + ("class" in param && line.class === param.class))) { + found = true; + } + }); + return found; + } : + function () { return true; }; + }, + removeGridLines: function (params, forX) { + var $$ = this; + var config = $$.config, $T = $$.$T; + var toRemove = $$.getGridFilterToRemove(params); + var toShow = function (line) { return !toRemove(line); }; + var classLines = forX ? $GRID.xgridLines : $GRID.ygridLines; + var classLine = forX ? $GRID.xgridLine : $GRID.ygridLine; + $T($$.$el.main.select(".".concat(classLines)) + .selectAll(".".concat(classLine)) + .filter(toRemove)) + .style("opacity", "0") + .remove(); + var gridLines = "grid_".concat(forX ? "x" : "y", "_lines"); + config[gridLines] = config[gridLines].filter(toShow); + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var region = { + initRegion: function () { + var $$ = this; + var $el = $$.$el; + $el.region.main = $el.main + .insert("g", ":first-child") + .attr("clip-path", $$.state.clip.path) + .attr("class", $REGION.regions); + }, + updateRegion: function () { + var $$ = this; + var config = $$.config, region = $$.$el.region, $T = $$.$T; + if (!region.main) { + $$.initRegion(); + } + // hide if arc type + region.main.style("visibility", $$.hasArcType() ? "hidden" : null); + // select <g> element + var regions = region.main + .selectAll(".".concat($REGION.region)) + .data(config.regions); + $T(regions.exit()) + .style("opacity", "0") + .remove(); + var regionsEnter = regions + .enter() + .append("g"); + regionsEnter + .append("rect") + .style("fill-opacity", "0"); + region.list = regionsEnter + .merge(regions) + .attr("class", $$.classRegion.bind($$)); + region.list.each(function (d) { + var _a; + var g = select(this); + if (g.select("text").empty() && ((_a = d.label) === null || _a === void 0 ? void 0 : _a.text)) { + select(this).append("text") + .style("opacity", "0"); + } + }); + }, + redrawRegion: function (withTransition) { + var $$ = this; + var region = $$.$el.region, $T = $$.$T; + var regions = region.list.select("rect"); + var label = region.list.selectAll("text"); + regions = $T(regions, withTransition) + .attr("x", $$.regionX.bind($$)) + .attr("y", $$.regionY.bind($$)) + .attr("width", $$.regionWidth.bind($$)) + .attr("height", $$.regionHeight.bind($$)); + label = $T(label, withTransition) + .attr("transform", function (d) { + var _a; + var _b = (_a = d.label) !== null && _a !== void 0 ? _a : {}, _c = _b.x, x = _c === void 0 ? 0 : _c, _d = _b.y, y = _d === void 0 ? 0 : _d, _e = _b.rotated, rotated = _e === void 0 ? false : _e; + return "translate(".concat($$.regionX.bind($$)(d) + x, ", ").concat($$.regionY.bind($$)(d) + y, ")").concat(rotated ? " rotate(-90)" : ""); + }) + .attr("text-anchor", function (d) { var _a; return (((_a = d.label) === null || _a === void 0 ? void 0 : _a.rotated) ? "end" : null); }) + .attr("dy", "1em") + .style("fill", function (d) { var _a, _b; return (_b = (_a = d.label) === null || _a === void 0 ? void 0 : _a.color) !== null && _b !== void 0 ? _b : null; }) + .text(function (d) { var _a; return (_a = d.label) === null || _a === void 0 ? void 0 : _a.text; }); + return [ + regions + .style("fill-opacity", function (d) { return (isValue(d.opacity) ? d.opacity : null); }) + .on("end", function () { + // remove unnecessary rect after transition + select(this.parentNode) + .selectAll("rect:not([x])") + .remove(); + }), + label.style("opacity", null) + ]; + }, + getRegionXY: function (type, d) { + var $$ = this; + var config = $$.config, scale = $$.scale; + var isRotated = config.axis_rotated; + var isX = type === "x"; + var key = "start"; + var currScale; + var pos = 0; + if (d.axis === "y" || d.axis === "y2") { + if (!isX) { + key = "end"; + } + if ((isX ? isRotated : !isRotated) && key in d) { + currScale = scale[d.axis]; + pos = currScale(d[key]); + } + } + else if ((isX ? !isRotated : isRotated) && key in d) { + currScale = scale.zoom || scale.x; + pos = currScale($$.axis.isTimeSeries() ? parseDate.call($$, d[key]) : d[key]); + } + return pos; + }, + regionX: function (d) { + return this.getRegionXY("x", d); + }, + regionY: function (d) { + return this.getRegionXY("y", d); + }, + getRegionSize: function (type, d) { + var $$ = this; + var config = $$.config, scale = $$.scale, state = $$.state; + var isRotated = config.axis_rotated; + var isWidth = type === "width"; + var start = $$[isWidth ? "regionX" : "regionY"](d); + var currScale; + var key = "end"; + var end = state[type]; + if (d.axis === "y" || d.axis === "y2") { + if (!isWidth) { + key = "start"; + } + if ((isWidth ? isRotated : !isRotated) && key in d) { + currScale = scale[d.axis]; + end = currScale(d[key]); + } + } + else if ((isWidth ? !isRotated : isRotated) && key in d) { + currScale = scale.zoom || scale.x; + end = currScale($$.axis.isTimeSeries() ? parseDate.call($$, d[key]) : d[key]); + } + return end < start ? 0 : end - start; + }, + regionWidth: function (d) { + return this.getRegionSize("width", d); + }, + regionHeight: function (d) { + return this.getRegionSize("height", d); + }, + isRegionOnX: function (d) { + return !d.axis || d.axis === "x"; + } +}; + +var sizeAxis = { + /** + * Get Axis size according its position + * @param {string} id Axis id value - x, y or y2 + * @returns {number} size Axis size value + * @private + */ + getAxisSize: function (id) { + var $$ = this; + var isRotated = $$.config.axis_rotated; + return (isRotated && id === "x") || (!isRotated && /y2?/.test(id)) ? + $$.getAxisWidthByAxisId(id, true) : + $$.getHorizontalAxisHeight(id); + }, + getAxisWidthByAxisId: function (id, withoutRecompute) { + var _a, _b; + var $$ = this; + if ($$.axis) { + var position = (_a = $$.axis) === null || _a === void 0 ? void 0 : _a.getLabelPositionById(id); + var width = $$.axis.getMaxTickSize(id, withoutRecompute).width; + var gap = width === 0 ? 0.5 : 0; + return width + (((_b = $$.config.padding) === null || _b === void 0 ? void 0 : _b.mode) === "fit" ? + position.isInner ? (10 + gap) : 10 : + position.isInner ? + (20 + gap) : + 40); + } + else { + return 40; + } + }, + getHorizontalAxisHeight: function (id) { + var _a, _b; + var $$ = this; + var config = $$.config, state = $$.state; + var rotatedPadding = state.rotatedPadding, isLegendRight = state.isLegendRight, isLegendInset = state.isLegendInset; + var isRotated = config.axis_rotated; + var isFitPadding = ((_a = config.padding) === null || _a === void 0 ? void 0 : _a.mode) === "fit"; + var isInner = config["axis_".concat(id, "_inner")]; + var hasLabelText = config["axis_".concat(id, "_label")].text; + var defaultHeight = 13; + var h = ((_b = config.padding) === null || _b === void 0 ? void 0 : _b.mode) === "fit" ? + (isInner && !hasLabelText ? (id === "y" ? 1 : 0) : 20) : + 30; + if (id === "x" && !config.axis_x_show) { + return 8; + } + if (id === "x" && isNumber(config.axis_x_height)) { + return config.axis_x_height; + } + if (id === "y" && !config.axis_y_show) { + return config.legend_show && + !isLegendRight && + !isLegendInset ? + 10 : + 1; + } + if (id === "y2" && !config.axis_y2_show) { + return isFitPadding ? 0 : rotatedPadding.top; + } + var maxtickSize = $$.axis.getMaxTickSize(id); + var isXAxisTickRotated = Math.abs(config.axis_x_tick_rotate) > 0 && (!config.axis_x_tick_autorotate || $$.needToRotateXAxisTickTexts()); + if ((config.axis_x_tick_multiline || isXAxisTickRotated) && + maxtickSize.height > defaultHeight) { + h += maxtickSize.height - defaultHeight; + } + return h + + ($$.axis.getLabelPositionById(id).isInner ? 0 : 10) + + (id === "y2" && !isRotated ? -10 : 0); + }, + getEventRectWidth: function () { + var $$ = this; + var config = $$.config, axis = $$.axis; + var isInverted = config.axis_x_inverted; + var tickInterval = axis.x.tickInterval(); + return Math.max(0, isInverted ? Math.abs(tickInterval) : tickInterval); + }, + /** + * Get axis tick test rotate value + * @param {string} id Axis id + * @returns {number} rotate value + * @private + */ + getAxisTickRotate: function (id) { + var $$ = this; + var axis = $$.axis, config = $$.config, state = $$.state, $el = $$.$el; + var rotate = config["axis_".concat(id, "_tick_rotate")]; + if (id === "x") { + var allowedXAxisTypes = axis.isCategorized() || axis.isTimeSeries(); + if (config.axis_x_tick_fit && allowedXAxisTypes) { + var xTickCount = config.axis_x_tick_count; + var currentXTicksLength = state.current.maxTickSize.x.ticks.length; + var tickCount = 0; + if (xTickCount) { + tickCount = xTickCount > currentXTicksLength ? currentXTicksLength : xTickCount; + } + else if (currentXTicksLength) { + tickCount = currentXTicksLength; + } + if (tickCount !== state.axis.x.tickCount) { + var targets = $$.data.targets; + state.axis.x.padding = $$.getXDomainPadding([ + $$.getXDomainMinMax(targets, "min"), + $$.getXDomainMinMax(targets, "max") + ], tickCount); + } + state.axis.x.tickCount = tickCount; + } + if ($el.svg && + config.axis_x_tick_autorotate && + config.axis_x_tick_fit && + !config.axis_x_tick_multiline && + !config.axis_x_tick_culling && + allowedXAxisTypes) { + rotate = $$.needToRotateXAxisTickTexts() ? config.axis_x_tick_rotate : 0; + } + } + return rotate; + }, + /** + * Check weather axis tick text needs to be rotated + * @returns {boolean} + * @private + */ + needToRotateXAxisTickTexts: function () { + var $$ = this; + var _a = $$.state, axis = _a.axis, current = _a.current, isLegendRight = _a.isLegendRight, legendItemWidth = _a.legendItemWidth; + var legendWidth = isLegendRight && legendItemWidth; + var xAxisLength = current.width - legendWidth - + $$.getCurrentPaddingByDirection("left") - $$.getCurrentPaddingByDirection("right"); + var tickCountWithPadding = axis.x.tickCount + + axis.x.padding.left + axis.x.padding.right; + var width = $$.axis.getMaxTickSize("x").width; + var tickLength = tickCountWithPadding ? xAxisLength / tickCountWithPadding : 0; + return width > tickLength; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * x Axis config options + */ +var x = { + /** + * Set clip-path attribute for x axis element + * @name axis․x․clipPath + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo]() + * @example + * // don't set 'clip-path' attribute + * clipPath: false + */ + axis_x_clipPath: true, + /** + * Show or hide x axis. + * @name axis․x․show + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * x: { + * show: false + * } + * } + */ + axis_x_show: true, + /** + * Force the x axis to interact as single rather than multiple x axes. + * - **NOTE:** The tooltip event will be triggered nearing each data points(for multiple xs) rather than x axis based(as single x does) in below condition: + * - for `bubble` & `scatter` type + * - when `data.xs` is set + * - when `tooltip.grouped=false` is set + * - `tooltip.grouped` options will take precedence over `axis.forceSingleX` option. + * @name axis․x․forceAsSingle + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.ForceAsSingle) + * @example + * axis: { + * x: { + * // will work as single x axis + * forceAsSingle: true + * } + * } + */ + axis_x_forceAsSingle: false, + /** + * Set type of x axis.<br><br> + * **Available Values:** + * - category + * - indexed + * - log + * - timeseries + * + * **NOTE:**<br> + * - **log** type: + * - the x values specified by [`data.x`](#.data%25E2%2580%25A4x)(or by any equivalent option), must be exclusively-positive. + * - x axis min value should be >= 0. + * - for 'category' type, `data.xs` option isn't supported. + * @name axis․x․type + * @memberof Options + * @type {string} + * @default indexed + * @see [Demo: indexed](https://naver.github.io/billboard.js/demo/#Chart.AreaChart) + * @see [Demo: timeseries](https://naver.github.io/billboard.js/demo/#Chart.TimeseriesChart) + * @see [Demo: category](https://naver.github.io/billboard.js/demo/#Data.CategoryData) + * @see [Demo: log](https://naver.github.io/billboard.js/demo/#Axis.LogScales) + * @example + * axis: { + * x: { + * type: "timeseries" + * } + * } + */ + axis_x_type: "indexed", + /** + * Set how to treat the timezone of x values.<br> + * If true, treat x value as localtime. If false, convert to UTC internally. + * @name axis․x․localtime + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * x: { + * localtime: false + * } + * } + */ + axis_x_localtime: true, + /** + * Set category names on category axis. + * This must be an array that includes category names in string. If category names are included in the date by data.x option, this is not required. + * @name axis․x․categories + * @memberof Options + * @type {Array} + * @default [] + * @example + * axis: { + * x: { + * categories: ["Category 1", "Category 2", ...] + * } + * } + */ + axis_x_categories: [], + /** + * centerize ticks on category axis. + * @name axis․x․tick․centered + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * x: { + * tick: { + * centered: true + * } + * } + * } + */ + axis_x_tick_centered: false, + /** + * A function to format tick value. Format string is also available for timeseries data. + * @name axis․x․tick․format + * @memberof Options + * @type {Function|string} + * @default undefined + * @see [D3's time specifier](https://d3js.org/d3-time-format#locale_format) + * @example + * axis: { + * x: { + * tick: { + * // for timeseries, a 'datetime' object is given as parameter + * format: function(x) { + * return x.getFullYear(); + * } + * + * // for category, index(Number) and categoryName(String) are given as parameter + * format: function(index, categoryName) { + * return categoryName.substr(0, 10); + * }, + * + * // for timeseries format specifier + * format: "%Y-%m-%d %H:%M:%S" + * } + * } + * } + */ + axis_x_tick_format: undefined, + /** + * Setting for culling ticks. + * - `true`: the ticks will be culled, then only limited tick text will be shown.<br> + * This option does not hide the tick lines by default, if want to hide tick lines, set `axis.x.tick.culling.lines=false`. + * - `false`: all of ticks will be shown.<br><br> + * The number of ticks to be shown can be chaned by `axis.x.tick.culling.max`. + * @name axis․x․tick․culling + * @memberof Options + * @type {boolean} + * @default + * `true` for indexed axis and timeseries axis, `false` for category axis + * @example + * axis: { + * x: { + * tick: { + * culling: false + * } + * } + * } + */ + axis_x_tick_culling: {}, + /** + * The number of tick texts will be adjusted to less than this value. + * @name axis․x․tick․culling․max + * @memberof Options + * @type {number} + * @default 10 + * @example + * axis: { + * x: { + * tick: { + * culling: { + * max: 5 + * } + * } + * } + * } + */ + axis_x_tick_culling_max: 10, + /** + * Control visibility of tick lines within culling option, along with tick text. + * @name axis․x․tick․culling․lines + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * x: { + * tick: { + * culling: { + * lines: false, + * } + * } + * } + * } + */ + axis_x_tick_culling_lines: true, + /** + * The number of x axis ticks to show.<br><br> + * This option hides tick lines together with tick text. If this option is used on timeseries axis, the ticks position will be determined precisely and not nicely positioned (e.g. it will have rough second value). + * @name axis․x․tick․count + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * x: { + * tick: { + * count: 5 + * } + * } + * } + */ + axis_x_tick_count: undefined, + /** + * Show or hide x axis tick line. + * @name axis․x․tick․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * x: { + * tick: { + * show: false + * } + * } + * } + */ + axis_x_tick_show: true, + /** + * Show or hide x axis tick text. + * @name axis․x․tick․text․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * x: { + * tick: { + * text: { + * show: false + * } + * } + * } + * } + */ + axis_x_tick_text_show: true, + /** + * Set the first/last axis tick text to be positioned inside of the chart on non-rotated axis. + * @name axis․x․tick․text․inner + * @memberof Options + * @type {boolean|object} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickInner) + * @example + * axis: { + * x: { + * tick: { + * text: { + * inner: true, + * + * // or specify each position of the first and last tick text + * inner: { + * first: true, + * last: true + * } + * } + * } + * } + * } + */ + axis_x_tick_text_inner: false, + /** + * Set the x Axis tick text's position relatively its original position + * @name axis․x․tick․text․position + * @memberof Options + * @type {object} + * @default {x: 0, y:0} + * @example + * axis: { + * x: { + * tick: { + * text: { + * position: { + * x: 10, + * y: 10 + * } + * } + * } + * } + * } + */ + axis_x_tick_text_position: { x: 0, y: 0 }, + /** + * Fit x axis ticks. + * - **true**: ticks will be shown according to x value of the data points. + * - **false**: ticks will be shown as to have same intervals. + * @name axis․x․tick․fit + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickFitting) + * @see [Demo: for timeseries zoom](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickTimeseries) + * @example + * axis: { + * x: { + * tick: { + * fit: false + * } + * } + * } + */ + axis_x_tick_fit: true, + /** + * Set the x values of ticks manually.<br><br> + * If this option is provided, the position of the ticks will be determined based on those values.<br> + * This option works with `timeseries` data and the x values will be parsed accoding to the type of the value and data.xFormat option. + * @name axis․x․tick․values + * @memberof Options + * @type {Array|Function} + * @default null + * @example + * axis: { + * x: { + * tick: { + * values: [1, 2, 4, 8, 16, 32, ...], + * + * // an Array value should be returned + * values: function() { + * return [ ... ]; + * } + * } + * } + * } + */ + axis_x_tick_values: null, + /** + * Rotate x axis tick text if there is not enough space for 'category' and 'timeseries' type axis. + * - **NOTE:** The conditions where `autorotate` is enabled are: + * - axis.x.type='category' or 'timeseries + * - axis.x.tick.multiline=false + * - axis.x.tick.culling=false + * - axis.x.tick.fit=true + * - **NOTE:** axis.x.tick.clippath=false is necessary for calculating the overflow padding between the end of x axis and the width of the SVG + * @name axis․x․tick․autorotate + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickAutorotate) + * @example + * axis: { + * x: { + * tick: { + * rotate: 15, + * autorotate: true, + * multiline: false, + * culling: false, + * fit: true + * }, + * clipPath: false + * } + * } + */ + axis_x_tick_autorotate: false, + /** + * Rotate x axis tick text. + * - If you set negative value, it will rotate to opposite direction. + * - Applied when [`axis.rotated`](#.axis%25E2%2580%25A4rotated) option is `false`. + * - As long as `axis_x_tick_fit` is set to `true` it will calculate an overflow for the y2 axis and add this value to the right padding. + * @name axis․x․tick․rotate + * @memberof Options + * @type {number} + * @default 0 + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.RotateXAxisTickText) + * @example + * axis: { + * x: { + * tick: { + * rotate: 60 + * } + * } + * } + */ + axis_x_tick_rotate: 0, + /** + * Show x axis outer tick. + * @name axis․x․tick․outer + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * x: { + * tick: { + * outer: false + * } + * } + * } + */ + axis_x_tick_outer: true, + /** + * Set tick text to be multiline + * - **NOTE:** + * > When x tick text contains `\n`, it's used as line break and 'axis.x.tick.width' option is ignored. + * @name axis․x․tick․multiline + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickMultiline) + * @example + * axis: { + * x: { + * tick: { + * multiline: false + * } + * } + * } + * @example + * // example of line break with '\n' + * // In this case, 'axis.x.tick.width' is ignored + * data: { + * x: "x", + * columns: [ + * ["x", "long\ntext", "Another\nLong\nText"], + * ... + * ], + * } + */ + axis_x_tick_multiline: true, + /** + * Set tick width + * - **NOTE:** + * > When x tick text contains `\n`, this option is ignored. + * @name axis․x․tick․width + * @memberof Options + * @type {number} + * @default null + * @example + * axis: { + * x: { + * tick: { + * width: 50 + * } + * } + * } + */ + axis_x_tick_width: null, + /** + * Set to display system tooltip(via `<title>` element) for tick text + * - **NOTE:** Only available for category axis type (`axis.x.type='category'`) + * @name axis․x․tick․tooltip + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * x: { + * tick: { + * tooltip: true + * } + * } + * } + */ + axis_x_tick_tooltip: false, + /** + * Set max value of x axis range. + * @name axis․x․max + * @memberof Options + * @property {number} max Set the max value + * @property {boolean} [max.fit=false] When specified `max.value` is greater than the bound data value, setting `true` will make x axis max to be fitted to the bound data max value. + * - **NOTE:** If the bound data max value is greater than the `max.value`, the x axis max will be limited as the given `max.value`. + * @property {number} [max.value] Set the max value + * @example + * axis: { + * x: { + * max: 100, + * + * max: { + * // 'fit=true' will make x axis max to be limited as the bound data value max when 'max.value' is greater. + * // - when bound data max is '10' and max.value: '100' ==> x axis max will be '10' + * // - when bound data max is '1000' and max.value: '100' ==> x axis max will be '100' + * fit: true, + * value: 100 + * } + * } + * } + */ + axis_x_max: undefined, + /** + * Set min value of x axis range. + * @name axis․x․min + * @memberof Options + * @property {number} min Set the min value + * @property {boolean} [min.fit=false] When specified `min.value` is lower than the bound data value, setting `true` will make x axis min to be fitted to the bound data min value. + * - **NOTE:** If the bound data min value is lower than the `min.value`, the x axis min will be limited as the given `min.value`. + * @property {number} [min.value] Set the min value + * @example + * axis: { + * x: { + * min: -100, + * + * min: { + * // 'fit=true' will make x axis min to be limited as the bound data value min when 'min.value' is lower. + * // - when bound data min is '-10' and min.value: '-100' ==> x axis min will be '-10' + * // - when bound data min is '-1000' and min.value: '-100' ==> x axis min will be '-100' + * fit: true, + * value: -100 + * } + * } + * } + */ + axis_x_min: undefined, + /** + * Change the direction of x axis.<br><br> + * If true set, the direction will be `right -> left`. + * @name axis․x․inverted + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.InvertedAxis) + * @example + * axis: { + * x: { + * inverted: true + * } + * } + */ + axis_x_inverted: false, + /** + * Set padding for x axis.<br><br> + * If this option is set, the range of x axis will increase/decrease according to the values. + * If no padding is needed in the rage of x axis, 0 should be set. + * By default, left/right padding are set depending on x axis type or chart types. + * - **NOTE:** + * - The meaning of padding values, differs according axis types:<br> + * - **category/indexed:** The unit of tick value + * ex. the given value `1`, is same as the width of 1 tick width + * - **timeseries:** Numeric time value + * ex. the given value `1000*60*60*24`, which is numeric time equivalent of a day, is same as the width of 1 tick width + * - If want values to be treated as pixels, specify `unit:"px"`. + * - The pixel value will be convered based on the scale values. Hence can not reflect accurate padding result. + * @name axis․x․padding + * @memberof Options + * @type {object|number} + * @default {} + * @example + * axis: { + * x: { + * padding: { + * // when axis type is 'category' + * left: 1, // set left padding width of equivalent value of a tick's width + * right: 0.5 // set right padding width as half of equivalent value of tick's width + * + * // when axis type is 'timeseries' + * left: 1000*60*60*24, // set left padding width of equivalent value of a day tick's width + * right: 1000*60*60*12 // set right padding width as half of equivalent value of a day tick's width + * }, + * + * // or set both values at once. + * padding: 10, + * + * // or set padding values as pixel unit. + * padding: { + * left: 100, + * right: 50, + * unit: "px" + * }, + * } + * } + */ + axis_x_padding: {}, + /** + * Set height of x axis.<br><br> + * The height of x axis can be set manually by this option. If you need more space for x axis, please use this option for that. The unit is pixel. + * @name axis․x․height + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * x: { + * height: 20 + * } + * } + */ + axis_x_height: undefined, + /** + * Set extent for subchart and zoom(drag only). This can be an array or function that returns an array. + * - **NOTE:** Specifying value, will limit the zoom scope selection within. + * @name axis․x․extent + * @memberof Options + * @type {Array|Function} + * @default undefined + * @example + * axis: { + * x: { + * // extent range as a pixel value + * extent: [0, 200], + * + * // when axis is 'timeseries', parsable datetime string + * extent: ["2019-03-01", "2019-03-05"], + * + * // return extent value + * extent: function(domain, scale) { + * var extent = domain.map(function(v) { + * return scale(v); + * }); + * + * // it should return a format of array + * // ex) [0, 584] + * return extent; + * } + * } + * } + */ + axis_x_extent: undefined, + /** + * Set label on x axis.<br><br> + * You can set x axis label and change its position by this option. + * `string` and `object` can be passed and we can change the poisiton by passing object that has position key.<br> + * Available position differs according to the axis direction (vertical or horizontal). + * If string set, the position will be the default. + * + * - **If it's horizontal axis:** + * - inner-right [default] + * - inner-center + * - inner-left + * - outer-right + * - outer-center + * - outer-left + * - **If it's vertical axis:** + * - inner-top [default] + * - inner-middle + * - inner-bottom + * - outer-top + * - outer-middle + * - outer-bottom + * @name axis․x․label + * @memberof Options + * @type {string|object} + * @default undefined + * @example + * axis: { + * x: { + * label: "Your X Axis" + * } + * } + * + * axis: { + * x: { + * label: { + * text: "Your X Axis", + * position: "outer-center" + * } + * } + * } + */ + axis_x_label: {}, + /** + * Set additional axes for x Axis. + * - **NOTE:** Axis' scale is based on x Axis value if domain option isn't set. + * + * Each axis object should consist with following options: + * + * | Name | Type | Default | Description | + * | --- | --- | --- | --- | + * | domain | Array | - | Set the domain value | + * | tick.outer | boolean | true | Show outer tick | + * | tick.format | Function | - | Set formatter for tick text | + * | tick.count | Number | - | Set the number of y axis ticks | + * | tick.values | Array | - | Set tick values manually | + * @name axis․x․axes + * @memberof Options + * @type {Array} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.MultiAxes) + * @see [Demo: Domain](https://naver.github.io/billboard.js/demo/#Axis.MultiAxesDomain) + * @example + * x: { + * axes: [ + * { + * // if set, will not be correlated with the main x Axis domain value + * domain: [0, 1000], + * tick: { + * outer: false, + * format: function(x) { + * return x + "%"; + * }, + * count: 2, + * values: [10, 20, 30] + * } + * }, + * ... + * ] + * } + */ + axis_x_axes: [] +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * y Axis config options + */ +var y = { + /** + * Set clip-path attribute for y axis element + * - **NOTE**: `clip-path` attribute for y Axis is set only when `axis.y.inner` option is true. + * @name axis․y․clipPath + * @memberof Options + * @type {boolean} + * @default true + * @example + * // don't set 'clip-path' attribute + * clipPath: false + */ + axis_y_clipPath: true, + /** + * Show or hide y axis. + * @name axis․y․show + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * y: { + * show: false + * } + * } + */ + axis_y_show: true, + /** + * Set type of y axis.<br><br> + * **Available Values:** + * - indexed + * - log + * - timeseries + * + * **NOTE:**<br> + * - **log** type: + * - the bound data values must be exclusively-positive. + * - y axis min value should be >= 0. + * - [`data.groups`](#.data%25E2%2580%25A4groups)(stacked data) option aren't supported. + * + * @name axis․y․type + * @memberof Options + * @type {string} + * @default "indexed" + * @see [Demo: log](https://naver.github.io/billboard.js/demo/#Axis.LogScales) + * @example + * axis: { + * y: { + * type: "log" + * } + * } + */ + axis_y_type: "indexed", + /** + * Set max value of y axis. + * - **NOTE:** Padding will be added based on this value, so if you don't need the padding, please set axis.y.padding to disable it (e.g. axis.y.padding = 0). + * @name axis․y․max + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y: { + * max: 1000 + * } + * } + */ + axis_y_max: undefined, + /** + * Set min value of y axis. + * - **NOTE:** + * Padding will be added based on this value, so if you don't need the padding, please set axis.y.padding to disable it (e.g. axis.y.padding = 0). + * @name axis․y․min + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y: { + * min: 1000 + * } + * } + */ + axis_y_min: undefined, + /** + * Change the direction of y axis.<br><br> + * If true set, the direction will be `top -> bottom`. + * @name axis․y․inverted + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.InvertedAxis) + * @example + * axis: { + * y: { + * inverted: true + * } + * } + */ + axis_y_inverted: false, + /** + * Set center value of y axis. + * @name axis․y․center + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y: { + * center: 0 + * } + * } + */ + axis_y_center: undefined, + /** + * Show y axis inside of the chart. + * @name axis․y․inner + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * y: { + * inner: true + * } + * } + */ + axis_y_inner: false, + /** + * Set label on y axis.<br><br> + * You can set y axis label and change its position by this option. This option works in the same way as [axis.x.label](#.axis%25E2%2580%25A4x%25E2%2580%25A4label). + * @name axis․y․label + * @memberof Options + * @type {string|object} + * @default {} + * @see [axis.x.label](#.axis%25E2%2580%25A4x%25E2%2580%25A4label) for position string value. + * @example + * axis: { + * y: { + * label: "Your Y Axis" + * } + * } + * + * axis: { + * y: { + * label: { + * text: "Your Y Axis", + * position: "outer-middle" + * } + * } + * } + */ + axis_y_label: {}, + /** + * Set formatter for y axis tick text.<br><br> + * This option accepts d3.format object as well as a function you define. + * @name axis․y․tick․format + * @memberof Options + * @type {Function} + * @default undefined + * @example + * axis: { + * y: { + * tick: { + * format: function(x) { + * return x.getFullYear(); + * } + * } + * } + * } + */ + axis_y_tick_format: undefined, + /** + * Setting for culling ticks. + * - `true`: the ticks will be culled, then only limited tick text will be shown.<br> + * This option does not hide the tick lines by default, if want to hide tick lines, set `axis.y.tick.culling.lines=false`. + * - `false`: all of ticks will be shown.<br><br> + * The number of ticks to be shown can be chaned by `axis.y.tick.culling.max`. + * @name axis․y․tick․culling + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * y: { + * tick: { + * culling: false + * } + * } + * } + */ + axis_y_tick_culling: false, + /** + * The number of tick texts will be adjusted to less than this value. + * @name axis․y․tick․culling․max + * @memberof Options + * @type {number} + * @default 5 + * @example + * axis: { + * y: { + * tick: { + * culling: { + * max: 5 + * } + * } + * } + * } + */ + axis_y_tick_culling_max: 5, + /** + * Control visibility of tick lines within culling option, along with tick text. + * @name axis․y․tick․culling․lines + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * y: { + * tick: { + * culling: { + * lines: false, + * } + * } + * } + * } + */ + axis_y_tick_culling_lines: true, + /** + * Show y axis outer tick. + * @name axis․y․tick․outer + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * y: { + * tick: { + * outer: false + * } + * } + * } + */ + axis_y_tick_outer: true, + /** + * Set y axis tick values manually. + * @name axis․y․tick․values + * @memberof Options + * @type {Array|Function} + * @default null + * @example + * axis: { + * y: { + * tick: { + * values: [100, 1000, 10000], + * + * // an Array value should be returned + * values: function() { + * return [ ... ]; + * } + * } + * } + * } + */ + axis_y_tick_values: null, + /** + * Rotate y axis tick text. + * - If you set negative value, it will rotate to opposite direction. + * - Applied when [`axis.rotated`](#.axis%25E2%2580%25A4rotated) option is `true`. + * @name axis․y․tick․rotate + * @memberof Options + * @type {number} + * @default 0 + * @example + * axis: { + * y: { + * tick: { + * rotate: 60 + * } + * } + * } + */ + axis_y_tick_rotate: 0, + /** + * Set the number of y axis ticks.<br><br> + * - **NOTE:** The position of the ticks will be calculated precisely, so the values on the ticks will not be rounded nicely. In the case, axis.y.tick.format or axis.y.tick.values will be helpful. + * @name axis․y․tick․count + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y: { + * tick: { + * count: 5 + * } + * } + * } + */ + axis_y_tick_count: undefined, + /** + * Show or hide y axis tick line. + * @name axis․y․tick․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * y: { + * tick: { + * show: false + * } + * } + * } + */ + axis_y_tick_show: true, + /** + * Set axis tick step(interval) size. + * - **NOTE:** Will be ignored if `axis.y.tick.count` or `axis.y.tick.values` options are set. + * @name axis․y․tick․stepSize + * @memberof Options + * @type {number} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.StepSizeForYAxis) + * @example + * axis: { + * y: { + * tick: { + * // tick value will step as indicated interval value. + * // ex) 'stepSize=15' ==> [0, 15, 30, 45, 60] + * stepSize: 15 + * } + * } + * } + */ + axis_y_tick_stepSize: null, + /** + * Show or hide y axis tick text. + * @name axis․y․tick․text․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * y: { + * tick: { + * text: { + * show: false + * } + * } + * } + * } + */ + axis_y_tick_text_show: true, + /** + * Set the y Axis tick text's position relatively its original position + * @name axis․y․tick․text․position + * @memberof Options + * @type {object} + * @default {x: 0, y:0} + * @example + * axis: { + * y: { + * tick: { + * text: { + * position: { + * x: 10, + * y: 10 + * } + * } + * } + * } + * } + */ + axis_y_tick_text_position: { x: 0, y: 0 }, + /** + * Set the number of y axis ticks.<br><br> + * - **NOTE:** The position of the ticks will be calculated precisely, so the values on the ticks will not be rounded nicely. In the case, axis.y.tick.format or axis.y.tick.values will be helpful. + * @name axis․y․tick․time + * @memberof Options + * @private + * @type {object} + * @property {object} time time object + * @property {Function} [time.value] D3's time interval function (https://github.com/d3/d3-time#intervals) + * @example + * axis: { + * y: { + * tick: { + * time: { + * // ticks at 15-minute intervals + * // https://github.com/d3/d3-scale/blob/master/README.md#time_ticks + * value: d3.timeMinute.every(15) + * } + * } + * } + * } + */ + // @TODO: not fully implemented yet + axis_y_tick_time_value: undefined, + /** + * Set padding for y axis.<br><br> + * You can set padding for y axis to create more space on the edge of the axis. + * This option accepts object and it can include top and bottom. top, bottom will be treated as pixels. + * + * - **NOTE:** + * - Given values are translated relative to the y Axis domain value for padding + * - For area and bar type charts, [area.zerobased](#.area) or [bar.zerobased](#.bar) options should be set to 'false` to get padded bottom. + * @name axis․y․padding + * @memberof Options + * @type {object|number} + * @default {} + * @example + * axis: { + * y: { + * padding: { + * top: 0, + * bottom: 0 + * }, + * + * // or set both values at once. + * padding: 10 + * } + * } + */ + axis_y_padding: {}, + /** + * Set default range of y axis.<br><br> + * This option set the default value for y axis when there is no data on init. + * @name axis․y․default + * @memberof Options + * @type {Array} + * @default undefined + * @example + * axis: { + * y: { + * default: [0, 1000] + * } + * } + */ + axis_y_default: undefined, + /** + * Set additional axes for y Axis. + * - **NOTE:** Axis' scale is based on y Axis value if domain option isn't set. + * + * Each axis object should consist with following options: + * + * | Name | Type | Default | Description | + * | --- | --- | --- | --- | + * | domain | Array | - | Set the domain value | + * | tick.outer | boolean | true | Show outer tick | + * | tick.format | Function | - | Set formatter for tick text | + * | tick.count | Number | - | Set the number of y axis ticks | + * | tick.values | Array | - | Set tick values manually | + * @name axis․y․axes + * @memberof Options + * @type {Array} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.MultiAxes) + * @see [Demo: Domain](https://naver.github.io/billboard.js/demo/#Axis.MultiAxesDomain) + * @example + * y: { + * axes: [ + * { + * // if set, will not be correlated with the main y Axis domain value + * domain: [0, 1000], + * tick: { + * outer: false, + * format: function(x) { + * return x + "%"; + * }, + * count: 2, + * values: [10, 20, 30] + * } + * }, + * ... + * ] + * } + */ + axis_y_axes: [] +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * y2 Axis config options + */ +var y2 = { + /** + * Show or hide y2 axis. + * - **NOTE**: + * - When set to `false` will not generate y2 axis node. In this case, all 'y2' axis related functionality won't work properly. + * - If need to use 'y2' related options while y2 isn't visible, set the value `true` and control visibility by css display property. + * @name axis․y2․show + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * y2: { + * show: true + * } + * } + */ + axis_y2_show: false, + /** + * Set type of y2 axis.<br><br> + * **Available Values:** + * - indexed + * - log + * - timeseries + * + * **NOTE:**<br> + * - **log** type: + * - the bound data values must be exclusively-positive. + * - y2 axis min value should be >= 0. + * - [`data.groups`](#.data%25E2%2580%25A4groups)(stacked data) option aren't supported. + * + * @name axis․y2․type + * @memberof Options + * @type {string} + * @default "indexed" + * @see [Demo: log](https://naver.github.io/billboard.js/demo/#Axis.LogScales) + * @example + * axis: { + * y2: { + * type: "indexed" + * } + * } + */ + axis_y2_type: "indexed", + /** + * Set max value of y2 axis. + * @name axis․y2․max + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y2: { + * max: 1000 + * } + * } + */ + axis_y2_max: undefined, + /** + * Set min value of y2 axis. + * @name axis․y2․min + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y2: { + * min: -1000 + * } + * } + */ + axis_y2_min: undefined, + /** + * Change the direction of y2 axis.<br><br> + * If true set, the direction will be `top -> bottom`. + * @name axis․y2․inverted + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.InvertedAxis) + * @example + * axis: { + * y2: { + * inverted: true + * } + * } + */ + axis_y2_inverted: false, + /** + * Set center value of y2 axis. + * @name axis․y2․center + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y2: { + * center: 0 + * } + * } + */ + axis_y2_center: undefined, + /** + * Show y2 axis inside of the chart. + * @name axis․y2․inner + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * y2: { + * inner: true + * } + * } + */ + axis_y2_inner: false, + /** + * Set label on y2 axis.<br><br> + * You can set y2 axis label and change its position by this option. This option works in the same way as [axis.x.label](#.axis%25E2%2580%25A4x%25E2%2580%25A4label). + * @name axis․y2․label + * @memberof Options + * @type {string|object} + * @default {} + * @see [axis.x.label](#.axis%25E2%2580%25A4x%25E2%2580%25A4label) for position string value. + * @example + * axis: { + * y2: { + * label: "Your Y2 Axis" + * } + * } + * + * axis: { + * y2: { + * label: { + * text: "Your Y2 Axis", + * position: "outer-middle" + * } + * } + * } + */ + axis_y2_label: {}, + /** + * Set formatter for y2 axis tick text.<br><br> + * This option works in the same way as axis.y.format. + * @name axis․y2․tick․format + * @memberof Options + * @type {Function} + * @default undefined + * @example + * axis: { + * y2: { + * tick: { + * format: d3.format("$,") + * //or format: function(d) { return "$" + d; } + * } + * } + * } + */ + axis_y2_tick_format: undefined, + /** + * Setting for culling ticks. + * - `true`: the ticks will be culled, then only limited tick text will be shown.<br> + * This option does not hide the tick lines by default, if want to hide tick lines, set `axis.y2.tick.culling.lines=false`. + * - `false`: all of ticks will be shown.<br><br> + * The number of ticks to be shown can be chaned by `axis.y2.tick.culling.max`. + * @name axis․y2․tick․culling + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * y2: { + * tick: { + * culling: false + * } + * } + * } + */ + axis_y2_tick_culling: false, + /** + * The number of tick texts will be adjusted to less than this value. + * @name axis․y2․tick․culling․max + * @memberof Options + * @type {number} + * @default 5 + * @example + * axis: { + * y2: { + * tick: { + * culling: { + * max: 5 + * } + * } + * } + * } + */ + axis_y2_tick_culling_max: 5, + /** + * Control visibility of tick lines within culling option, along with tick text. + * @name axis․y2․tick․culling․lines + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * y2: { + * tick: { + * culling: { + * lines: false, + * } + * } + * } + * } + */ + axis_y2_tick_culling_lines: true, + /** + * Show or hide y2 axis outer tick. + * @name axis․y2․tick․outer + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * y2: { + * tick: { + * outer: false + * } + * } + * } + */ + axis_y2_tick_outer: true, + /** + * Set y2 axis tick values manually. + * @name axis․y2․tick․values + * @memberof Options + * @type {Array|Function} + * @default null + * @example + * axis: { + * y2: { + * tick: { + * values: [100, 1000, 10000], + * + * // an Array value should be returned + * values: function() { + * return [ ... ]; + * } + * } + * } + * } + */ + axis_y2_tick_values: null, + /** + * Rotate y2 axis tick text. + * - If you set negative value, it will rotate to opposite direction. + * - Applied when [`axis.rotated`](#.axis%25E2%2580%25A4rotated) option is `true`. + * @name axis․y2․tick․rotate + * @memberof Options + * @type {number} + * @default 0 + * @example + * axis: { + * y2: { + * tick: { + * rotate: 60 + * } + * } + * } + */ + axis_y2_tick_rotate: 0, + /** + * Set the number of y2 axis ticks. + * - **NOTE:** This works in the same way as axis.y.tick.count. + * @name axis․y2․tick․count + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y2: { + * tick: { + * count: 5 + * } + * } + * } + */ + axis_y2_tick_count: undefined, + /** + * Show or hide y2 axis tick line. + * @name axis․y2․tick․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * y2: { + * tick: { + * show: false + * } + * } + * } + */ + axis_y2_tick_show: true, + /** + * Set axis tick step(interval) size. + * - **NOTE:** Will be ignored if `axis.y2.tick.count` or `axis.y2.tick.values` options are set. + * @name axis․y2․tick․stepSize + * @memberof Options + * @type {number} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.StepSizeForYAxis) + * @example + * axis: { + * y2: { + * tick: { + * // tick value will step as indicated interval value. + * // ex) 'stepSize=15' ==> [0, 15, 30, 45, 60] + * stepSize: 15 + * } + * } + * } + */ + axis_y2_tick_stepSize: null, + /** + * Show or hide y2 axis tick text. + * @name axis․y2․tick․text․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * y2: { + * tick: { + * text: { + * show: false + * } + * } + * } + * } + */ + axis_y2_tick_text_show: true, + /** + * Set the y2 Axis tick text's position relatively its original position + * @name axis․y2․tick․text․position + * @memberof Options + * @type {object} + * @default {x: 0, y:0} + * @example + * axis: { + * y2: { + * tick: { + * text: { + * position: { + * x: 10, + * y: 10 + * } + * } + * } + * } + * } + */ + axis_y2_tick_text_position: { x: 0, y: 0 }, + /** + * Set padding for y2 axis.<br><br> + * You can set padding for y2 axis to create more space on the edge of the axis. + * This option accepts object and it can include top and bottom. top, bottom will be treated as pixels. + * + * - **NOTE:** + * - Given values are translated relative to the y2 Axis domain value for padding + * - For area and bar type charts, [area.zerobased](#.area) or [bar.zerobased](#.bar) options should be set to 'false` to get padded bottom. + * @name axis․y2․padding + * @memberof Options + * @type {object|number} + * @default {} + * @example + * axis: { + * y2: { + * padding: { + * top: 100, + * bottom: 100 + * } + * + * // or set both values at once. + * padding: 10 + * } + */ + axis_y2_padding: {}, + /** + * Set default range of y2 axis.<br><br> + * This option set the default value for y2 axis when there is no data on init. + * @name axis․y2․default + * @memberof Options + * @type {Array} + * @default undefined + * @example + * axis: { + * y2: { + * default: [0, 1000] + * } + * } + */ + axis_y2_default: undefined, + /** + * Set additional axes for y2 Axis. + * - **NOTE:** Axis' scale is based on y2 Axis value if domain option isn't set. + * + * Each axis object should consist with following options: + * + * | Name | Type | Default | Description | + * | --- | --- | --- | --- | + * | domain | Array | - | Set the domain value | + * | tick.outer | boolean | true | Show outer tick | + * | tick.format | Function | - | Set formatter for tick text | + * | tick.count | Number | - | Set the number of y axis ticks | + * | tick.values | Array | - | Set tick values manually | + * @name axis․y2․axes + * @memberof Options + * @type {Array} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.MultiAxes) + * @see [Demo: Domain](https://naver.github.io/billboard.js/demo/#Axis.MultiAxesDomain) + * @example + * y2: { + * axes: [ + * { + * // if set, will not be correlated with the main y2 Axis domain value + * domain: [0, 1000], + * tick: { + * outer: false, + * format: function(x) { + * return x + "%"; + * }, + * count: 2, + * values: [10, 20, 30] + * } + * }, + * ... + * ] + * } + */ + axis_y2_axes: [] +}; + +/** + * y Axis config options + */ +var optAxis = __assign(__assign(__assign({ + /** + * Setup the way to evaluate tick text size. + * - **NOTE:** + * - Setting `false` or custom evaluator, highly recommended to memoize evaluated text dimension value to not degrade performance. + * @name axis․evalTextSize + * @memberof Options + * @type {boolean|Function} + * @default true + * @example + * axis: { + * // will evaluate getting text size every time. + * evalTextSize: false. + * + * // set a custom evaluator + * evalTextSize: function(textElement) { + * // set some character to be evaluated + * text.textContent = "0"; + * + * // get the size + * const box = text.getBBox(); + * + * // clear text + * text.textContent = ""; + * + * return { w: 7, h: 12}; + * } + * } + */ + axis_evalTextSize: true, + /** + * Switch x and y axis position. + * @name axis․rotated + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * rotated: true + * } + */ + axis_rotated: false, + /** + * Set axis tooltip. + * - **NOTE:** + * - When enabled, will disable default focus grid line. + * - For `timeseries` x Axis, tootlip will be formatted using x Axis' tick format. + * - For `category` x Axis, tootlip will be displaying scales' value text. + * @name axis․tooltip + * @memberof Options + * @type {boolean} + * @default false + * @property {object} axis Axis object + * @property {boolean} [axis.tooltip=false] Show tooltip or not. + * @property {string|object} [axis.tooltip.backgroundColor] Set axis tooltip text background colors. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.AxisTooltip) + * @example + * axis: { + * tooltip: true, // default background color is + * + * // set backgound color for axis tooltip texts + * tooltip: { + * backgroundColor: "red", + * + * // set differenct backround colors per axes + * // NOTE: In this case, only specified axes tooltip will appear. + * backgroundColor: { + * x: "green", + * y: "yellow", + * y2: "red" + * } + * } + * } + */ + axis_tooltip: false }, x), y), y2); + +var optGrid = { + /** + * Set related options + * @name grid + * @memberof Options + * @type {object} + * @property {boolean} [front=false] Set 'grid & focus lines' to be positioned over grid lines and chart elements. + * @property {object} x Grid x object + * @property {boolean} [x.show=false] Show grids along x axis. + * @property {Array} [x.lines=[]] Show additional grid lines along x axis.<br> + * This option accepts array including object that has value, text, position and class. text, position and class are optional. For position, start, middle and end (default) are available. + * If x axis is category axis, value can be category name. If x axis is timeseries axis, value can be date string, Date object and unixtime integer. + * @property {object} y Grid y object + * @property {boolean} [y.show=false] Show grids along x axis. + * @property {Array} [y.lines=[]] Show additional grid lines along y axis.<br> + * This option accepts array including object that has value, text, position and class. + * @property {number} [y.ticks=undefined] Number of y grids to be shown. + * @property {object} focus Grid focus object + * @property {boolean} [focus.edge=false] Show edged focus grid line.<br>**NOTE:** Available when [`tooltip.grouped=false`](#.tooltip) option is set. + * @property {boolean} [focus.show=true] Show grid line when focus. + * @property {boolean} [focus.y=false] Show y coordinate focus grid line.<br>**NOTE:** Available when [`tooltip.grouped=false`](#.tooltip) option is set. + * @property {object} lines Grid lines object + * @property {boolean} [lines.front=true] Set grid lines to be positioned over chart elements. + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Grid.GridLines) + * @see [Demo: X Grid Lines](https://naver.github.io/billboard.js/demo/#Grid.OptionalXGridLines) + * @see [Demo: Y Grid Lines](https://naver.github.io/billboard.js/demo/#Grid.OptionalYGridLines) + * @example + * grid: { + * x: { + * show: true, + * lines: [ + * {value: 2, text: "Label on 2"}, + * {value: 5, text: "Label on 5", class: "label-5"}, + * {value: 6, text: "Label on 6", position: "start"} + * ] + * }, + * y: { + * show: true, + * lines: [ + * {value: 100, text: "Label on 100"}, + * {value: 200, text: "Label on 200", class: "label-200"}, + * {value: 300, text: "Label on 300", position: 'middle'} + * ], + * ticks: 5 + * }, + * front: true, + * focus: { + * show: false, + * + * // Below options are available when 'tooltip.grouped=false' option is set + * edge: true, + * y: true + * }, + * lines: { + * front: false + * } + * } + */ + grid_x_show: false, + grid_x_type: "tick", + grid_x_lines: [], + grid_y_show: false, + grid_y_lines: [], + grid_y_ticks: undefined, + grid_focus_edge: false, + grid_focus_show: true, + grid_focus_y: false, + grid_front: false, + grid_lines_front: true +}; + +/** + * Axis based chart data config options + */ +var optDataAxis = { + /** + * Specify the keys of the x values for each data.<br><br> + * This option can be used if we want to show the data that has different x values. + * @name data․xs + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * xs: { + * data1: "x1", + * data2: "x2" + * } + * } + */ + data_xs: {}, + /** + * Set a format specifier to parse string specifed as x. + * @name data․xFormat + * @memberof Options + * @type {string} + * @default %Y-%m-%d + * @example + * data: { + * x: "x", + * columns: [ + * ["x", "01012019", "02012019", "03012019"], + * ["data1", 30, 200, 100] + * ], + * // Format specifier to parse as datetime for given 'x' string value + * xFormat: "%m%d%Y" + * }, + * axis: { + * x: { + * type: "timeseries" + * } + * } + * @see [D3's time specifier](https://d3js.org/d3-time-format#locale_format) + */ + data_xFormat: "%Y-%m-%d", + /** + * Set localtime format to parse x axis. + * @name data․xLocaltime + * @memberof Options + * @type {boolean} + * @default true + * @example + * data: { + * xLocaltime: false + * } + */ + data_xLocaltime: true, + /** + * Sort on x axis. + * - **NOTE:** This option works for lineish(area/line/spline/step) types only. + * @name data․xSort + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataXSort) + * @example + * data: { + * xSort: false, + * x: "x", + * columns: [ + * // The line graph will start to be drawn following the x axis sequence + * // Below data, wil start drawing x=1: 200, x=2: 300, x=3: 100 + * ["x", 3, 1, 2], + * ["data1", 100, 200, 300] + * ] + * } + */ + data_xSort: true, + /** + * Set y axis the data related to. y and y2 can be used. + * - **NOTE:** If all data is related to one of the axes, the domain of axis without related data will be replaced by the domain from the axis with related data + * @name data․axes + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * axes: { + * data1: "y", + * data2: "y2" + * } + * } + */ + data_axes: {}, + /** + * Define regions for each data.<br> + * The values must be an array for each data and it should include an object that has `start`, `end` and `style`. + * - The object type should be as: + * - start {number}: Start data point number. If not set, the start will be the first data point. + * - [end] {number}: End data point number. If not set, the end will be the last data point. + * - [style.dasharray="2 2"] {string}: The first number specifies a distance for the filled area, and the second a distance for the unfilled area. + * - **NOTE:** + * - Supports only line type. + * - `start` and `end` values should be in the exact x value range. + * - Dashes will be applied using `stroke-dasharray` css property when data doesn't contain nullish value(or nullish value with `line.connectNull=true` set). + * - Dashes will be applied via path command when data contains nullish value. + * @name data․regions + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * regions: { + * data1: [{ + * start: 1, + * end: 2, + * style: { + * dasharray: "5 2" + * } + * }, { + * start: 3 + * }], + * ... + * } + * } + */ + data_regions: {}, + /** + * Set the stacking to be normalized + * - **NOTE:** + * - For stacking, '[data.groups](#.data%25E2%2580%25A4groups)' option should be set + * - y Axis will be set in percentage value (0 ~ 100%) + * - Must have postive values + * @name data․stack․normalize + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataStackNormalized) + * @example + * data: { + * stack: { + * normalize: true + * } + * } + */ + data_stack_normalize: false +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Modules exports for Axis based chart + */ +// Chart +var api = [ + apiAxis, + apiCategory, + apiFlow, + apiGrid, + apiGroup, + apiRegion, + apiX +]; +var internal = { + axis: axis, + clip: clip, + eventrect: eventrect, + flow: flow, + grid: grid, + region: region, + sizeAxis: sizeAxis +}; +var options = { + optDataAxis: optDataAxis, + optAxis: optAxis, + optGrid: optGrid +}; + +/** + * Get radius functions + * @param {number} expandRate Expand rate number. + * - If 0, means for "normal" radius. + * - If > 0, means for "expanded" radius. + * @returns {object} radius functions + * @private + */ +function getRadiusFn(expandRate) { + if (expandRate === void 0) { expandRate = 0; } + var $$ = this; + var config = $$.config, state = $$.state; + var hasMultiArcGauge = $$.hasMultiArcGauge(); + var singleArcWidth = state.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length; + var expandWidth = expandRate ? + (Math.min(state.radiusExpanded * expandRate - state.radius, singleArcWidth * 0.8 - (1 - expandRate) * 100)) : + 0; + return { + /** + * Getter of arc innerRadius value + * @param {IArcData} d Data object + * @returns {number} innerRadius value + * @private + */ + inner: function (d) { + var innerRadius = $$.getRadius(d).innerRadius; + return hasMultiArcGauge ? + state.radius - singleArcWidth * (d.index + 1) : + isNumber(innerRadius) ? + innerRadius : + 0; + }, + /** + * Getter of arc outerRadius value + * @param {IArcData} d Data object + * @returns {number} outerRadius value + * @private + */ + outer: function (d) { + var outerRadius = $$.getRadius(d).outerRadius; + var radius; + if (hasMultiArcGauge) { + radius = state.radius - singleArcWidth * d.index + expandWidth; + } + else if ($$.hasType("polar") && !expandRate) { + radius = $$.getPolarOuterRadius(d, outerRadius); + } + else { + radius = outerRadius; + if (expandRate) { + var radiusExpanded = state.radiusExpanded; + if (state.radius !== outerRadius) { + radiusExpanded -= Math.abs(state.radius - outerRadius); + } + radius = radiusExpanded * expandRate; + } + } + return radius; + }, + /** + * Getter of arc cornerRadius value + * @param {IArcData} d Data object + * @param {number} outerRadius outer radius value + * @returns {number} cornerRadius value + * @private + */ + corner: function (d, outerRadius) { + var _a = config.arc_cornerRadius_ratio, ratio = _a === void 0 ? 0 : _a, _b = config.arc_cornerRadius, cornerRadius = _b === void 0 ? 0 : _b; + var id = d.data.id, value = d.value; + var corner = 0; + if (ratio) { + corner = ratio * outerRadius; + } + else { + corner = isNumber(cornerRadius) ? + cornerRadius : + cornerRadius.call($$.api, id, value, outerRadius); + } + return corner; + } + }; +} +/** + * Get attrTween function to get interpolated value on transition + * @param {Function} fn Arc function to execute + * @returns {Function} attrTween function + * @private + */ +function getAttrTweenFn(fn) { + return function (d) { + var getAngleKeyValue = function (_a) { + var _b = _a.startAngle, startAngle = _b === void 0 ? 0 : _b, _c = _a.endAngle, endAngle = _c === void 0 ? 0 : _c, _d = _a.padAngle, padAngle = _d === void 0 ? 0 : _d; + return ({ + startAngle: startAngle, + endAngle: endAngle, + padAngle: padAngle + }); + }; + // d3.interpolate interpolates id value, if id is given as color string(ex. gold, silver, etc) + // to avoid unexpected behavior, interpolate only angle values + // https://github.com/naver/billboard.js/issues/3321 + var interpolate$1 = interpolate(getAngleKeyValue(this._current), getAngleKeyValue(d)); + this._current = d; + return function (t) { + var interpolated = interpolate$1(t); + var data = d.data, index = d.index, value = d.value; + return fn(__assign(__assign({}, interpolated), { data: data, index: index, value: value })); + }; + }; +} +var shapeArc = { + initPie: function () { + var $$ = this; + var config = $$.config; + var dataType = config.data_type; + var padding = config["".concat(dataType, "_padding")]; + var startingAngle = config["".concat(dataType, "_startingAngle")] || 0; + var padAngle = (padding ? padding * 0.01 : config["".concat(dataType, "_padAngle")]) || 0; + $$.pie = pie$1() + .startAngle(startingAngle) + .endAngle(startingAngle + (2 * Math.PI)) + .padAngle(padAngle) + .value(function (d) { var _a, _b; return (_b = (_a = d.values) === null || _a === void 0 ? void 0 : _a.reduce(function (a, b) { return a + b.value; }, 0)) !== null && _b !== void 0 ? _b : d; }) + .sort($$.getSortCompareFn.bind($$)(true)); + }, + updateRadius: function () { + var $$ = this; + var config = $$.config, state = $$.state; + var dataType = config.data_type; + var padding = config["".concat(dataType, "_padding")]; + var w = config.gauge_width || config.donut_width; + var gaugeArcWidth = $$.filterTargetsToShow($$.data.targets).length * + config.gauge_arcs_minWidth; + // determine radius + state.radiusExpanded = Math.min(state.arcWidth, state.arcHeight) / 2 * ($$.hasMultiArcGauge() && config.gauge_label_show ? 0.85 : 1); + state.radius = state.radiusExpanded * 0.95; + state.innerRadiusRatio = w ? (state.radius - w) / state.radius : 0.6; + state.gaugeArcWidth = w || (gaugeArcWidth <= state.radius - state.innerRadius ? + state.radius - state.innerRadius : + (gaugeArcWidth <= state.radius ? gaugeArcWidth : state.radius)); + var innerRadius = config.pie_innerRadius || (padding ? padding * (state.innerRadiusRatio + 0.1) : 0); + // NOTE: inner/outerRadius can be an object by user setting, only for 'pie' type + state.outerRadius = config.pie_outerRadius; + state.innerRadius = $$.hasType("donut") || $$.hasType("gauge") ? + state.radius * state.innerRadiusRatio : + innerRadius; + }, + /** + * Get pie's inner & outer radius value + * @param {object|undefined} d Data object + * @returns {object} + * @private + */ + getRadius: function (d) { + var $$ = this; + var data = d === null || d === void 0 ? void 0 : d.data; + var _a = $$.state, innerRadius = _a.innerRadius, outerRadius = _a.outerRadius; + if (!isNumber(innerRadius) && data) { + innerRadius = innerRadius[data.id] || 0; + } + if (isObject(outerRadius) && data && data.id in outerRadius) { + outerRadius = outerRadius[data.id]; + } + else if (!isNumber(outerRadius)) { + outerRadius = $$.state.radius; + } + return { innerRadius: innerRadius, outerRadius: outerRadius }; + }, + updateArc: function () { + var $$ = this; + $$.updateRadius(); + $$.svgArc = $$.getSvgArc(); + $$.svgArcExpanded = $$.getSvgArcExpanded(); + }, + getArcLength: function () { + var $$ = this; + var config = $$.config; + var arcLengthInPercent = config.gauge_arcLength * 3.6; + var len = 2 * (arcLengthInPercent / 360); + if (arcLengthInPercent < -360) { + len = -2; + } + else if (arcLengthInPercent > 360) { + len = 2; + } + return len * Math.PI; + }, + getStartingAngle: function () { + var $$ = this; + var config = $$.config; + var dataType = config.data_type; + var isFullCircle = $$.hasType("gauge") ? config.gauge_fullCircle : false; + var defaultStartAngle = -1 * Math.PI / 2; + var defaultEndAngle = Math.PI / 2; + var startAngle = config["".concat(dataType, "_startingAngle")] || 0; + if (!isFullCircle && startAngle <= defaultStartAngle) { + startAngle = defaultStartAngle; + } + else if (!isFullCircle && startAngle >= defaultEndAngle) { + startAngle = defaultEndAngle; + } + else if (startAngle > Math.PI || startAngle < -1 * Math.PI) { + startAngle = Math.PI; + } + return startAngle; + }, + /** + * Update angle data + * @param {object} dValue Data object + * @param {boolean} forRange Weather is for ranged text option(arc.rangeText.values) + * @returns {object|null} Updated angle data + * @private + */ + updateAngle: function (dValue, forRange) { + var _a; + if (forRange === void 0) { forRange = false; } + var $$ = this; + var config = $$.config, state = $$.state; + var hasGauge = forRange && $$.hasType("gauge"); + // to prevent excluding total data sum during the init(when data.hide option is used), use $$.rendered state value + // const totalSum = $$.getTotalDataSum(state.rendered); + var pie = $$.pie; + var d = dValue; + var found = false; + if (!config) { + return null; + } + var gStart = $$.getStartingAngle(); + var radius = config.gauge_fullCircle || (forRange && !hasGauge) ? + $$.getArcLength() : + gStart * -2; + if (d.data && $$.isGaugeType(d.data) && !$$.hasMultiArcGauge()) { + var gMin = config.gauge_min, gMax = config.gauge_max; + // to prevent excluding total data sum during the init(when data.hide option is used), use $$.rendered state value + var totalSum = $$.getTotalDataSum(state.rendered); + // https://github.com/naver/billboard.js/issues/2123 + var gEnd = radius * ((totalSum - gMin) / (gMax - gMin)); + pie = pie + .startAngle(gStart) + .endAngle(gEnd + gStart); + } + if (forRange === false) { + pie($$.filterTargetsToShow()) + .forEach(function (t, i) { + var _a; + if (!found && t.data.id === ((_a = d.data) === null || _a === void 0 ? void 0 : _a.id)) { + found = true; + d = t; + d.index = i; + } + }); + } + if (isNaN(d.startAngle)) { + d.startAngle = 0; + } + if (isNaN(d.endAngle)) { + d.endAngle = d.startAngle; + } + if (forRange || (d.data && (config.gauge_enforceMinMax || $$.hasMultiArcGauge()))) { + var gMin = config.gauge_min, gMax = config.gauge_max; + var max = forRange && !hasGauge ? $$.getTotalDataSum(state.rendered) : gMax; + var gTic = radius / (max - gMin); + var value = (_a = d.value) !== null && _a !== void 0 ? _a : 0; + var gValue = value < gMin ? 0 : value < max ? value - gMin : (max - gMin); + d.startAngle = gStart; + d.endAngle = gStart + gTic * gValue; + } + return found || forRange ? d : null; + }, + getSvgArc: function () { + var $$ = this; + var _a = getRadiusFn.call($$), inner = _a.inner, outer = _a.outer, corner = _a.corner; + var arc$1 = arc() + .innerRadius(inner) + .outerRadius(outer); + var newArc = function (d, withoutUpdate) { + var _a; + var path = "M 0 0"; + if (d.value || d.data) { + var data = withoutUpdate ? d : (_a = $$.updateAngle(d)) !== null && _a !== void 0 ? _a : null; + if (data) { + path = arc$1.cornerRadius(corner(data, outer(data)))(data); + } + } + return path; + }; + // TODO: extends all function + newArc.centroid = arc$1.centroid; + return newArc; + }, + /** + * Get expanded arc path function + * @param {number} rate Expand rate + * @returns {Function} Expanded arc path getter function + * @private + */ + getSvgArcExpanded: function (rate) { + if (rate === void 0) { rate = 1; } + var $$ = this; + var _a = getRadiusFn.call($$, rate), inner = _a.inner, outer = _a.outer, corner = _a.corner; + var arc$1 = arc() + .innerRadius(inner) + .outerRadius(outer); + return function (d) { + var updated = $$.updateAngle(d); + var outerR = outer(updated); + var cornerR = 0; + if (updated) { + cornerR = corner(updated, outerR); + } + return updated ? arc$1.cornerRadius(cornerR)(updated) : "M 0 0"; + }; + }, + getArc: function (d, withoutUpdate, force) { + return force || this.isArcType(d.data) ? this.svgArc(d, withoutUpdate) : "M 0 0"; + }, + /** + * Render range value text + * @private + */ + redrawArcRangeText: function () { + var $$ = this; + var config = $$.config, arcs = $$.$el.arcs, state = $$.state, $T = $$.$T; + var format = config.arc_rangeText_format; + var fixed = $$.hasType("gauge") && config.arc_rangeText_fixed; + var values = config.arc_rangeText_values; + if (values === null || values === void 0 ? void 0 : values.length) { + var isPercent_1 = config.arc_rangeText_unit === "%"; + var totalSum_1 = $$.getTotalDataSum(state.rendered); + if (isPercent_1) { + values = values.map(function (v) { return totalSum_1 / 100 * v; }); + } + var pieData_1 = $$.pie(values).map(function (d, i) { return ((d.index = i), d); }); + var rangeText = arcs.selectAll(".".concat($ARC.arcRange)) + .data(values); + rangeText.exit(); + rangeText = $T(rangeText.enter() + .append("text") + .attr("class", $ARC.arcRange) + .style("text-anchor", "middle") + .style("pointer-events", "none") + .style("opacity", "0") + .text(function (v) { + var range = isPercent_1 ? (v / totalSum_1 * 100) : v; + return isFunction(format) ? format(range) : ("".concat(range).concat(isPercent_1 ? "%" : "")); + }) + .merge(rangeText)); + if ((!state.rendered || (state.rendered && !fixed)) && totalSum_1 > 0) { + rangeText.attr("transform", function (d, i) { return $$.transformForArcLabel(pieData_1[i], true); }); + } + rangeText.style("opacity", function (d) { return (!fixed && (d > totalSum_1 || totalSum_1 === 0) ? "0" : null); }); + } + }, + /** + * Set transform attributes to arc label text + * @param {object} d Data object + * @param {boolean} forRange Weather is for ranged text option(arc.rangeText.values) + * @returns {string} Translate attribute string + * @private + */ + transformForArcLabel: function (d, forRange) { + var _a, _b, _c; + if (forRange === void 0) { forRange = false; } + var $$ = this; + var config = $$.config, radiusExpanded = $$.state.radiusExpanded; + var updated = $$.updateAngle(d, forRange); + var translate = ""; + if (updated) { + if (forRange || $$.hasMultiArcGauge()) { + var y1 = Math.sin(updated.endAngle - Math.PI / 2); + var rangeTextPosition = config.arc_rangeText_position; + var x = Math.cos(updated.endAngle - Math.PI / 2) * + (radiusExpanded + (forRange ? 5 : 25)); + var y = y1 * (radiusExpanded + 15 - Math.abs(y1 * 10)) + 3; + if (forRange && rangeTextPosition) { + var rangeValues = config.arc_rangeText_values; + var pos = isFunction(rangeTextPosition) ? + rangeTextPosition(rangeValues[d.index]) : + rangeTextPosition; + x += (_a = pos === null || pos === void 0 ? void 0 : pos.x) !== null && _a !== void 0 ? _a : 0; + y += (_b = pos === null || pos === void 0 ? void 0 : pos.y) !== null && _b !== void 0 ? _b : 0; + } + translate = "translate(".concat(x, ",").concat(y, ")"); + } + else if (!$$.hasType("gauge") || $$.data.targets.length > 1) { + var outerRadius = $$.getRadius(d).outerRadius; + if ($$.hasType("polar")) { + outerRadius = $$.getPolarOuterRadius(d, outerRadius); + } + var c = this.svgArc.centroid(updated); + var _d = c.map(function (v) { return (isNaN(v) ? 0 : v); }), x = _d[0], y = _d[1]; + var h = Math.sqrt(x * x + y * y); + var ratio = (_c = ["donut", "gauge", "pie", "polar"] + .filter($$.hasType.bind($$)) + .map(function (v) { return config["".concat(v, "_label_ratio")]; })) === null || _c === void 0 ? void 0 : _c[0]; + if (ratio) { + ratio = isFunction(ratio) ? ratio.bind($$.api)(d, outerRadius, h) : ratio; + } + else { + ratio = outerRadius && (h ? + (36 / outerRadius > 0.375 ? 1.175 - 36 / outerRadius : 0.8) * + outerRadius / h : + 0); + } + translate = "translate(".concat(x * ratio, ",").concat(y * ratio, ")"); + } + } + return translate; + }, + convertToArcData: function (d) { + return this.addName({ + id: "data" in d ? d.data.id : d.id, + value: d.value, + ratio: this.getRatio("arc", d), + index: d.index + }); + }, + textForArcLabel: function (selection) { + var $$ = this; + var hasGauge = $$.hasType("gauge"); + if ($$.shouldShowArcLabel()) { + selection + .style("fill", $$.updateTextColor.bind($$)) + .attr("filter", function (d) { + return $$.updateTextBGColor.bind($$)(d, $$.config.data_labels_backgroundColors); + }) + .each(function (d) { + var _a; + var node = select(this); + var updated = $$.updateAngle(d); + var ratio = $$.getRatio("arc", updated); + var isUnderThreshold = $$.meetsLabelThreshold(ratio, (_a = ["donut", "gauge", "pie", "polar"].filter($$.hasType.bind($$))) === null || _a === void 0 ? void 0 : _a[0]); + if (isUnderThreshold) { + var value = (updated || d).value; + var text = ($$.getArcLabelFormat() || $$.defaultArcValueFormat)(value, ratio, d.data.id).toString(); + setTextValue(node, text, [-1, 1], hasGauge); + } + else { + node.text(""); + } + }); + } + }, + expandArc: function (targetIds) { + var $$ = this; + var transiting = $$.state.transiting, $el = $$.$el; + // MEMO: avoid to cancel transition + if (transiting) { + var interval_1 = setInterval(function () { + if (!transiting) { + clearInterval(interval_1); + $el.legend.selectAll(".".concat($FOCUS.legendItemFocused)).size() > 0 && + $$.expandArc(targetIds); + } + }, 10); + return; + } + var newTargetIds = $$.mapToTargetIds(targetIds); + $el.svg.selectAll($$.selectorTargets(newTargetIds, ".".concat($ARC.chartArc))) + .each(function (d) { + if (!$$.shouldExpand(d.data.id)) { + return; + } + var expandDuration = $$.getExpandConfig(d.data.id, "duration"); + var svgArcExpandedSub = $$.getSvgArcExpanded($$.getExpandConfig(d.data.id, "rate")); + select(this).selectAll("path") + // @ts-ignore + .transition() + .duration(expandDuration) + .attrTween("d", getAttrTweenFn($$.svgArcExpanded.bind($$))) + .transition() + .duration(expandDuration * 2) + .attrTween("d", getAttrTweenFn(svgArcExpandedSub.bind($$))); + }); + }, + unexpandArc: function (targetIds) { + var $$ = this; + var transiting = $$.state.transiting, svg = $$.$el.svg; + if (transiting) { + return; + } + var newTargetIds = $$.mapToTargetIds(targetIds); + svg.selectAll($$.selectorTargets(newTargetIds, ".".concat($ARC.chartArc))) + .selectAll("path") + .transition() + .duration(function (d) { return $$.getExpandConfig(d.data.id, "duration"); }) + .attrTween("d", getAttrTweenFn($$.svgArc.bind($$))); + svg.selectAll("".concat($ARC.arc)) + .style("opacity", null); + }, + /** + * Get expand config value + * @param {string} id data ID + * @param {string} key config key: 'duration | rate' + * @returns {number} + * @private + */ + getExpandConfig: function (id, key) { + var $$ = this; + var config = $$.config; + var def = { + duration: 50, + rate: 0.98 + }; + var type; + if ($$.isDonutType(id)) { + type = "donut"; + } + else if ($$.isGaugeType(id)) { + type = "gauge"; + } + else if ($$.isPieType(id)) { + type = "pie"; + } + return type ? config["".concat(type, "_expand_").concat(key)] : def[key]; + }, + shouldExpand: function (id) { + var $$ = this; + var config = $$.config; + return ($$.isDonutType(id) && config.donut_expand) || + ($$.isGaugeType(id) && config.gauge_expand) || + ($$.isPieType(id) && config.pie_expand); + }, + shouldShowArcLabel: function () { + var $$ = this; + var config = $$.config; + return ["donut", "gauge", "pie", "polar"] + .some(function (v) { return $$.hasType(v) && config["".concat(v, "_label_show")]; }); + }, + getArcLabelFormat: function () { + var $$ = this; + var config = $$.config; + var format = function (v) { return v; }; + ["donut", "gauge", "pie", "polar"] + .filter($$.hasType.bind($$)) + .forEach(function (v) { + format = config["".concat(v, "_label_format")]; + }); + return isFunction(format) ? format.bind($$.api) : format; + }, + updateTargetsForArc: function (targets) { + var $$ = this; + var $el = $$.$el; + var hasGauge = $$.hasType("gauge"); + var classChartArc = $$.getChartClass("Arc"); + var classArcs = $$.getClass("arcs", true); + var classFocus = $$.classFocus.bind($$); + var chartArcs = $el.main.select(".".concat($ARC.chartArcs)); + var mainPieUpdate = chartArcs + .selectAll(".".concat($ARC.chartArc)) + .data($$.pie(targets)) + .attr("class", function (d) { return classChartArc(d) + classFocus(d.data); }); + var mainPieEnter = mainPieUpdate.enter().append("g") + .attr("class", classChartArc) + .call(this.setCssRule(false, ".".concat($ARC.chartArcs, " text"), [ + "pointer-events:none", + "text-anchor:middle" + ])); + mainPieEnter.append("g") + .attr("class", classArcs) + .merge(mainPieUpdate); + mainPieEnter.append("text") + .attr("dy", hasGauge && !$$.hasMultiTargets() ? "-.1em" : ".35em") + .style("opacity", "0") + .style("text-anchor", $$.getStylePropValue("middle")) + .style("pointer-events", $$.getStylePropValue("none")); + $el.text = chartArcs.selectAll(".".concat($COMMON.target, " text")); + // MEMO: can not keep same color..., but not bad to update color in redraw + // mainPieUpdate.exit().remove(); + }, + initArc: function () { + var $$ = this; + var $el = $$.$el; + $el.arcs = $el.main.select(".".concat($COMMON.chart)) + .append("g") + .attr("class", $ARC.chartArcs) + .attr("transform", $$.getTranslate("arc")); + $$.setArcTitle(); + }, + /** + * Set arc title text + * @param {string} str Title text + * @private + */ + setArcTitle: function (str) { + var $$ = this; + var title = str || $$.getArcTitle(); + var hasGauge = $$.hasType("gauge"); + if (title) { + var className = hasGauge ? $GAUGE.chartArcsGaugeTitle : $ARC.chartArcsTitle; + var text = $$.$el.arcs.select(".".concat(className)); + if (text.empty()) { + text = $$.$el.arcs.append("text") + .attr("class", className) + .style("text-anchor", "middle"); + } + hasGauge && text.attr("dy", "-0.3em"); + setTextValue(text, title, hasGauge ? undefined : [-0.6, 1.35], true); + } + }, + /** + * Return arc title text + * @returns {string} Arc title text + * @private + */ + getArcTitle: function () { + var $$ = this; + var type = ($$.hasType("donut") && "donut") || ($$.hasType("gauge") && "gauge"); + return type ? $$.config["".concat(type, "_title")] : ""; + }, + /** + * Get arc title text with needle value + * @returns {string|boolean} When title contains needle template string will return processed string, otherwise false + * @private + */ + getArcTitleWithNeedleValue: function () { + var $$ = this; + var config = $$.config, state = $$.state; + var title = $$.getArcTitle(); + if (title && $$.config.arc_needle_show && /{=[A-Z_]+}/.test(title)) { + var value = state.current.needle; + if (!isNumber(value)) { + value = config.arc_needle_value; + } + return tplProcess(title, { + NEEDLE_VALUE: isNumber(value) ? value : 0 + }); + } + return false; + }, + redrawArc: function (duration, durationForExit, withTransform) { + var $$ = this; + var config = $$.config, state = $$.state, main = $$.$el.main; + var hasInteraction = config.interaction_enabled; + var isSelectable = hasInteraction && config.data_selection_isselectable; + var mainArc = main.selectAll(".".concat($ARC.arcs)) + .selectAll(".".concat($ARC.arc)) + .data($$.arcData.bind($$)); + mainArc.exit() + .transition() + .duration(durationForExit) + .style("opacity", "0") + .remove(); + mainArc = mainArc.enter() + .append("path") + .attr("class", $$.getClass("arc", true)) + .style("fill", function (d) { return $$.color(d.data); }) + .style("cursor", function (d) { var _a; return (((_a = isSelectable === null || isSelectable === void 0 ? void 0 : isSelectable.bind) === null || _a === void 0 ? void 0 : _a.call(isSelectable, $$.api)(d)) ? "pointer" : null); }) + .style("opacity", "0") + .each(function (d) { + if ($$.isGaugeType(d.data)) { + d.startAngle = config.gauge_startingAngle; + d.endAngle = config.gauge_startingAngle; + } + this._current = d; + }) + .merge(mainArc); + if ($$.hasType("gauge")) { + $$.updateGaugeMax(); + $$.hasMultiArcGauge() && $$.redrawArcGaugeLine(); + } + mainArc + .attr("transform", function (d) { return (!$$.isGaugeType(d.data) && withTransform ? "scale(0)" : ""); }) + .style("opacity", function (d) { + return d === this._current ? "0" : null; + }) + .each(function () { + state.transiting = true; + }) + .transition() + .duration(duration) + .attrTween("d", function (d) { + var updated = $$.updateAngle(d); + if (!updated) { + return function () { return "M 0 0"; }; + } + if (isNaN(this._current.startAngle)) { + this._current.startAngle = 0; + } + if (isNaN(this._current.endAngle)) { + this._current.endAngle = this._current.startAngle; + } + var interpolate$1 = interpolate(this._current, updated); + this._current = interpolate$1(0); + return function (t) { + var interpolated = interpolate$1(t); + interpolated.data = d.data; // data.id will be updated by interporator + return $$.getArc(interpolated, true); + }; + }) + .attr("transform", withTransform ? "scale(1)" : "") + .style("fill", function (d) { + var color; + if ($$.levelColor) { + color = $$.levelColor(d.data.values[0].value); + // update data's color + config.data_colors[d.data.id] = color; + } + else { + color = $$.color(d.data); + } + return color; + }) + // Where gauge reading color would receive customization. + .style("opacity", null) + .call(endall, function () { + if ($$.levelColor) { + var path = select(this); + var d = path.datum(this._current); + $$.updateLegendItemColor(d.data.id, path.style("fill")); + } + state.transiting = false; + callFn(config.onrendered, $$.api); + }); + // bind arc events + hasInteraction && $$.bindArcEvent(mainArc); + $$.hasType("polar") && $$.redrawPolar(); + $$.hasType("gauge") && $$.redrawBackgroundArcs(); + config.arc_needle_show && $$.redrawNeedle(); + $$.redrawArcText(duration); + $$.redrawArcRangeText(); + }, + /** + * Update needle element + * @private + */ + redrawNeedle: function () { + var $$ = this; + var $el = $$.$el, config = $$.config, _a = $$.state, hiddenTargetIds = _a.hiddenTargetIds, radius = _a.radius; + var length = (radius - 1) / 100 * config.arc_needle_length; + var hasDataToShow = hiddenTargetIds.length !== $$.data.targets.length; + var needle = $$.$el.arcs.select(".".concat($ARC.needle)); + // needle options + var pathFn = config.arc_needle_path; + var baseWidth = config.arc_needle_bottom_width / 2; + var topWidth = config.arc_needle_top_width / 2; + var topRx = config.arc_needle_top_rx; + var topRy = config.arc_needle_top_ry; + var bottomLen = config.arc_needle_bottom_len; + var bottomRx = config.arc_needle_bottom_rx; + var bottomRy = config.arc_needle_bottom_ry; + var needleAngle = $$.getNeedleAngle(); + var updateNeedleValue = function () { + var title = $$.getArcTitleWithNeedleValue(); + title && $$.setArcTitle(title); + }; + updateNeedleValue(); + if (needle.empty()) { + needle = $el.arcs + .append("path") + .classed($ARC.needle, true); + $el.needle = needle; + /** + * Function to be exposed as public to facilitate updating needle + * @param {number} v Value to be updated + * @param {boolean} updateConfig Weather update config's value + * @private + */ + $el.needle.updateHelper = function (v, updateConfig) { + if (updateConfig === void 0) { updateConfig = false; } + if ($el.needle.style("display") !== "none") { + $$.$T($el.needle) + .style("transform", "rotate(".concat($$.getNeedleAngle(v), "deg)")) + .call(endall, function () { + updateConfig && (config.arc_needle_value = v); + updateNeedleValue(); + }); + } + }; + } + if (hasDataToShow) { + var path = isFunction(pathFn) ? + pathFn.call($$, length) : + "M-".concat(baseWidth, " ").concat(bottomLen, " A").concat(bottomRx, " ").concat(bottomRy, " 0 0 0 ").concat(baseWidth, " ").concat(bottomLen, " L").concat(topWidth, " -").concat(length, " A").concat(topRx, " ").concat(topRy, " 0 0 0 -").concat(topWidth, " -").concat(length, " L-").concat(baseWidth, " ").concat(bottomLen, " Z"); + $$.$T(needle) + .attr("d", path) + .style("fill", config.arc_needle_color) + .style("display", null) + .style("transform", "rotate(".concat(needleAngle, "deg)")); + } + else { + needle.style("display", "none"); + } + }, + /** + * Get needle angle value relative given value + * @param {number} v Value to be calculated angle + * @returns {number} angle value + * @private + */ + getNeedleAngle: function (v) { + var $$ = this; + var config = $$.config, state = $$.state; + var arcLength = $$.getArcLength(); + var hasGauge = $$.hasType("gauge"); + var total = $$.getTotalDataSum(true); + var value = isDefined(v) ? v : config.arc_needle_value; + var startingAngle = config["".concat(config.data_type, "_startingAngle")] || 0; + var radian = 0; + if (!isNumber(value)) { + value = hasGauge && $$.data.targets.length === 1 ? total : 0; + } + state.current.needle = value; + if (hasGauge) { + startingAngle = $$.getStartingAngle(); + var radius = config.gauge_fullCircle ? arcLength : startingAngle * -2; + var min = config.gauge_min, max = config.gauge_max; + radian = radius * ((value - min) / (max - min)); + } + else { + radian = arcLength * (value / total); + } + return (startingAngle + radian) * (180 / Math.PI); + }, + redrawBackgroundArcs: function () { + var $$ = this; + var config = $$.config, state = $$.state; + var hasMultiArcGauge = $$.hasMultiArcGauge(); + var isFullCircle = config.gauge_fullCircle; + var showEmptyTextLabel = $$.filterTargetsToShow($$.data.targets).length === 0 && + !!config.data_empty_label_text; + var startAngle = $$.getStartingAngle(); + var endAngle = isFullCircle ? startAngle + $$.getArcLength() : startAngle * -1; + var backgroundArc = $$.$el.arcs.select("".concat(hasMultiArcGauge ? "g" : "", ".").concat($ARC.chartArcsBackground)); + if (hasMultiArcGauge) { + var index_1 = 0; + backgroundArc = backgroundArc + .selectAll("path.".concat($ARC.chartArcsBackground)) + .data($$.data.targets); + backgroundArc.enter() + .append("path") + .attr("class", function (d, i) { + return "".concat($ARC.chartArcsBackground, " ").concat($ARC.chartArcsBackground, "-").concat(i); + }) + .merge(backgroundArc) + .style("fill", (config.gauge_background) || null) + .attr("d", function (_a) { + var id = _a.id; + if (showEmptyTextLabel || state.hiddenTargetIds.indexOf(id) >= 0) { + return "M 0 0"; + } + var d = { + data: [{ value: config.gauge_max }], + startAngle: startAngle, + endAngle: endAngle, + index: index_1++ + }; + return $$.getArc(d, true, true); + }); + backgroundArc.exit().remove(); + } + else { + backgroundArc.attr("d", showEmptyTextLabel ? "M 0 0" : function () { + var d = { + data: [{ value: config.gauge_max }], + startAngle: startAngle, + endAngle: endAngle + }; + return $$.getArc(d, true, true); + }); + } + }, + bindArcEvent: function (arc) { + var $$ = this; + var config = $$.config, state = $$.state; + var isTouch = state.inputType === "touch"; + var isMouse = state.inputType === "mouse"; + // eslint-disable-next-line + function selectArc(_this, arcData, id) { + // transitions + $$.expandArc(id); + $$.api.focus(id); + $$.toggleFocusLegend(id, true); + $$.showTooltip([arcData], _this); + } + // eslint-disable-next-line + function unselectArc(arcData) { + var id = undefined; + $$.unexpandArc(id); + $$.api.revert(); + $$.revertLegend(); + $$.hideTooltip(); + } + arc + .on("click", function (event, d, i) { + var _a; + var updated = $$.updateAngle(d); + var arcData; + if (updated) { + arcData = $$.convertToArcData(updated); + (_a = $$.toggleShape) === null || _a === void 0 ? void 0 : _a.call($$, this, arcData, i); + config.data_onclick.bind($$.api)(arcData, this); + } + }); + // mouse events + if (isMouse) { + arc + .on("mouseover", function (event, d) { + if (state.transiting) { // skip while transiting + return; + } + state.event = event; + var updated = $$.updateAngle(d); + var arcData = updated ? $$.convertToArcData(updated) : null; + var id = (arcData === null || arcData === void 0 ? void 0 : arcData.id) || undefined; + selectArc(this, arcData, id); + $$.setOverOut(true, arcData); + }) + .on("mouseout", function (event, d) { + if (state.transiting || !config.interaction_onout) { // skip while transiting + return; + } + state.event = event; + var updated = $$.updateAngle(d); + var arcData = updated ? $$.convertToArcData(updated) : null; + unselectArc(); + $$.setOverOut(false, arcData); + }) + .on("mousemove", function (event, d) { + var updated = $$.updateAngle(d); + var arcData = updated ? $$.convertToArcData(updated) : null; + state.event = event; + $$.showTooltip([arcData], this); + }); + } + // touch events + if (isTouch && $$.hasArcType() && !$$.radars) { + var getEventArc_1 = function (event) { + var _a, _b; + var _c = (_b = (_a = event.changedTouches) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : { clientX: 0, clientY: 0 }, clientX = _c.clientX, clientY = _c.clientY; + var eventArc = select(doc.elementFromPoint(clientX, clientY)); + return eventArc; + }; + $$.$el.svg + .on("touchstart touchmove", function (event) { + if (state.transiting) { // skip while transiting + return; + } + state.event = event; + var eventArc = getEventArc_1(event); + var datum = eventArc.datum(); + var updated = ((datum === null || datum === void 0 ? void 0 : datum.data) && datum.data.id) ? $$.updateAngle(datum) : null; + var arcData = updated ? $$.convertToArcData(updated) : null; + var id = (arcData === null || arcData === void 0 ? void 0 : arcData.id) || undefined; + $$.callOverOutForTouch(arcData); + isUndefined(id) ? unselectArc() : selectArc(this, arcData, id); + }); + } + }, + redrawArcText: function (duration) { + var $$ = this; + var config = $$.config, state = $$.state, _a = $$.$el, main = _a.main, arcs = _a.arcs; + var hasGauge = $$.hasType("gauge"); + var hasMultiArcGauge = $$.hasMultiArcGauge(); + var text; + // for gauge type, update text when has no title & multi data + if (!(hasGauge && $$.data.targets.length === 1 && config.gauge_title)) { + text = main.selectAll(".".concat($ARC.chartArc)) + .select("text") + .style("opacity", "0") + .attr("class", function (d) { return ($$.isGaugeType(d.data) ? $GAUGE.gaugeValue : null); }) + .call($$.textForArcLabel.bind($$)) + .attr("transform", function (d) { return $$.transformForArcLabel.bind($$)(d); }) + .style("font-size", function (d) { return ($$.isGaugeType(d.data) && $$.data.targets.length === 1 && !hasMultiArcGauge ? + "".concat(Math.round(state.radius / 5), "px") : + null); }) + .transition() + .duration(duration) + .style("opacity", function (d) { return ($$.isTargetToShow(d.data.id) && $$.isArcType(d.data) ? null : "0"); }); + hasMultiArcGauge && text.attr("dy", "-.1em"); + } + main.select(".".concat($ARC.chartArcsTitle)) + .style("opacity", $$.hasType("donut") || hasGauge ? null : "0"); + if (hasGauge) { + var isFullCircle = config.gauge_fullCircle; + isFullCircle && + (text === null || text === void 0 ? void 0 : text.attr("dy", "".concat(hasMultiArcGauge ? 0 : Math.round(state.radius / 14)))); + if (config.gauge_label_show) { + arcs.select(".".concat($GAUGE.chartArcsGaugeUnit)) + .attr("dy", "".concat(isFullCircle ? 1.5 : 0.75, "em")) + .text(config.gauge_units); + arcs.select(".".concat($GAUGE.chartArcsGaugeMin)) + .attr("dx", "".concat(-1 * + (state.innerRadius + + ((state.radius - state.innerRadius) / (isFullCircle ? 1 : 2))), "px")) + .attr("dy", "1.2em") + .text($$.textForGaugeMinMax(config.gauge_min, false)); + // show max text when isn't fullCircle + !isFullCircle && arcs.select(".".concat($GAUGE.chartArcsGaugeMax)) + .attr("dx", "".concat(state.innerRadius + ((state.radius - state.innerRadius) / 2), "px")) + .attr("dy", "1.2em") + .text($$.textForGaugeMinMax(config.gauge_max, true)); + } + } + }, + /** + * Get Arc element by id or index + * @param {string|number} value id or index of Arc + * @returns {d3Selection} Arc path element + * @private + */ + getArcElementByIdOrIndex: function (value) { + var $$ = this; + var arcs = $$.$el.arcs; + var filterFn = isNumber(value) ? function (d) { return d.index === value; } : function (d) { return d.data.id === value; }; + return arcs === null || arcs === void 0 ? void 0 : arcs.selectAll(".".concat($COMMON.target, " path")).filter(filterFn); + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var shapeArea = { + initArea: function (mainLine) { + var $$ = this; + var config = $$.config; + mainLine + .insert("g", ".".concat(config.area_front ? $CIRCLE.circles : $LINE.lines)) + .attr("class", $$.getClass("areas", true)); + }, + /** + * Update area color + * @param {object} d Data object + * @returns {string} Color string + * @private + */ + updateAreaColor: function (d) { + var $$ = this; + return $$.config.area_linearGradient ? $$.getGradienColortUrl(d.id) : $$.color(d); + }, + /** + * Generate/Update elements + * @param {boolean} withTransition Transition for exit elements + * @param {boolean} isSub Subchart draw + * @private + */ + updateArea: function (withTransition, isSub) { + if (isSub === void 0) { isSub = false; } + var $$ = this; + var config = $$.config, state = $$.state, $el = $$.$el, $T = $$.$T; + var $root = isSub ? $el.subchart : $el; + config.area_linearGradient && $$.updateLinearGradient(); + var area = $root.main.selectAll(".".concat($AREA.areas)) + .selectAll(".".concat($AREA.area)) + .data($$.lineData.bind($$)); + $T(area.exit(), withTransition) + .style("opacity", "0") + .remove(); + $root.area = area.enter().append("path") + .attr("class", $$.getClass("area", true)) + .style("fill", $$.updateAreaColor.bind($$)) + .style("opacity", function () { + state.orgAreaOpacity = select(this).style("opacity"); + return "0"; + }) + .merge(area); + area.style("opacity", state.orgAreaOpacity); + // calculate ratio if grouped data exists + $$.setRatioForGroupedData($root.area.data()); + }, + /** + * Redraw function + * @param {Function} drawFn Retuned functino from .generateDrawCandlestick() + * @param {boolean} withTransition With or without transition + * @param {boolean} isSub Subchart draw + * @returns {Array} + */ + redrawArea: function (drawFn, withTransition, isSub) { + if (isSub === void 0) { isSub = false; } + var $$ = this; + var area = (isSub ? this.$el.subchart : this.$el).area; + var orgAreaOpacity = $$.state.orgAreaOpacity; + return [ + $$.$T(area, withTransition, getRandom()) + .attr("d", drawFn) + .style("fill", $$.updateAreaColor.bind($$)) + .style("opacity", function (d) { return String($$.isAreaRangeType(d) ? orgAreaOpacity / 1.75 : orgAreaOpacity); }) + ]; + }, + /** + * Generate area path data + * @param {object} areaIndices Indices + * @param {boolean} isSub Weather is sub axis + * @returns {Function} + * @private + */ + generateDrawArea: function (areaIndices, isSub) { + var $$ = this; + var config = $$.config; + var lineConnectNull = config.line_connectNull; + var isRotated = config.axis_rotated; + var getPoints = $$.generateGetAreaPoints(areaIndices, isSub); + var yScale = $$.getYScaleById.bind($$); + var xValue = function (d) { return (isSub ? $$.subxx : $$.xx).call($$, d); }; + var value0 = function (d, i) { return ($$.isGrouped(d.id) ? getPoints(d, i)[0][1] : yScale(d.id, isSub)($$.isAreaRangeType(d) ? $$.getRangedData(d, "high") : $$.getShapeYMin(d.id))); }; + var value1 = function (d, i) { return ($$.isGrouped(d.id) ? getPoints(d, i)[1][1] : yScale(d.id, isSub)($$.isAreaRangeType(d) ? $$.getRangedData(d, "low") : d.value)); }; + return function (d) { + var values = lineConnectNull ? $$.filterRemoveNull(d.values) : d.values; + var x0 = 0; + var y0 = 0; + var path; + if ($$.isAreaType(d)) { + var area = area$1(); + area = isRotated ? + area.y(xValue) + .x0(value0) + .x1(value1) : + area.x(xValue) + .y0(config.area_above ? 0 : (config.area_below ? $$.state.height : value0)) + .y1(value1); + if (!lineConnectNull) { + area = area.defined(function (d) { return $$.getBaseValue(d) !== null; }); + } + if ($$.isStepType(d)) { + values = $$.convertValuesToStep(values); + } + path = area.curve($$.getCurve(d))(values); + } + else { + if (values[0]) { + x0 = $$.scale.x(values[0].x); + y0 = $$.getYScaleById(d.id)(values[0].value); + } + path = isRotated ? "M ".concat(y0, " ").concat(x0) : "M ".concat(x0, " ").concat(y0); + } + return path || "M 0 0"; + }; + }, + generateGetAreaPoints: function (areaIndices, isSub) { + // partial duplication of generateGetBarPoints + var $$ = this; + var config = $$.config; + var x = $$.getShapeX(0, areaIndices, isSub); + var y = $$.getShapeY(!!isSub); + var areaOffset = $$.getShapeOffset($$.isAreaType, areaIndices, isSub); + var yScale = $$.getYScaleById.bind($$); + return function (d, i) { + var y0 = yScale.call($$, d.id, isSub)($$.getShapeYMin(d.id)); + var offset = areaOffset(d, i) || y0; // offset is for stacked area chart + var posX = x(d); + var value = d.value; + var posY = y(d); + // fix posY not to overflow opposite quadrant + if (config.axis_rotated && ((value > 0 && posY < y0) || (value < 0 && y0 < posY))) { + posY = y0; + } + // 1 point that marks the area position + return [ + [posX, offset], + [posX, posY - (y0 - offset)], + [posX, posY - (y0 - offset)], // needed for compatibility + [posX, offset] // needed for compatibility + ]; + }; + } +}; + +var shapeBar = { + initBar: function () { + var _a = this, $el = _a.$el, config = _a.config, clip = _a.state.clip; + $el.bar = $el.main.select(".".concat($COMMON.chart)); + $el.bar = config.bar_front ? $el.bar.append("g") : $el.bar.insert("g", ":first-child"); + $el.bar + .attr("class", $BAR.chartBars) + .call(this.setCssRule(false, ".".concat($BAR.chartBars), ["pointer-events:none"])); + // set clip-path attribute when condition meet + // https://github.com/naver/billboard.js/issues/2421 + if (config.clipPath === false && (config.bar_radius || config.bar_radius_ratio)) { + $el.bar.attr("clip-path", clip.pathXAxis.replace(/#[^)]*/, "#".concat(clip.id))); + } + }, + updateTargetsForBar: function (targets) { + var $$ = this; + var config = $$.config, $el = $$.$el; + var classChartBar = $$.getChartClass("Bar"); + var classBars = $$.getClass("bars", true); + var classFocus = $$.classFocus.bind($$); + var isSelectable = config.interaction_enabled && config.data_selection_isselectable; + if (!$el.bar) { + $$.initBar(); + } + var mainBarUpdate = $el.main.select(".".concat($BAR.chartBars)) + .selectAll(".".concat($BAR.chartBar)) + .data( + // remove + targets.filter(function (v) { return v.values.some(function (d) { return (isNumber(d.value) || $$.isBarRangeType(d)); }); })) + .attr("class", function (d) { return classChartBar(d) + classFocus(d); }); + var mainBarEnter = mainBarUpdate.enter().append("g") + .attr("class", classChartBar) + .style("opacity", "0") + .style("pointer-events", $$.getStylePropValue("none")); + // Bars for each data + mainBarEnter.append("g") + .attr("class", classBars) + .style("cursor", function (d) { var _a; return (((_a = isSelectable === null || isSelectable === void 0 ? void 0 : isSelectable.bind) === null || _a === void 0 ? void 0 : _a.call(isSelectable, $$.api)(d)) ? "pointer" : null); }) + .call($$.setCssRule(true, " .".concat($BAR.bar), ["fill"], $$.color)); + }, + /** + * Generate/Update elements + * @param {boolean} withTransition Transition for exit elements + * @param {boolean} isSub Subchart draw + * @private + */ + updateBar: function (withTransition, isSub) { + if (isSub === void 0) { isSub = false; } + var $$ = this; + var config = $$.config, $el = $$.$el, $T = $$.$T; + var $root = isSub ? $el.subchart : $el; + var classBar = $$.getClass("bar", true); + var initialOpacity = $$.initialOpacity.bind($$); + config.bar_linearGradient && $$.updateLinearGradient(); + var bar = $root.main.selectAll(".".concat($BAR.bars)) + .selectAll(".".concat($BAR.bar)) + .data($$.labelishData.bind($$)); + $T(bar.exit(), withTransition) + .style("opacity", "0") + .remove(); + $root.bar = bar.enter().append("path") + .attr("class", classBar) + .style("fill", $$.updateBarColor.bind($$)) + .merge(bar) + .style("opacity", initialOpacity); + // calculate ratio if grouped data exists + $$.setRatioForGroupedData($root.bar.data()); + }, + /** + * Update bar color + * @param {object} d Data object + * @returns {string} Color string + * @private + */ + updateBarColor: function (d) { + var $$ = this; + var fn = $$.getStylePropValue($$.color); + return $$.config.bar_linearGradient ? $$.getGradienColortUrl(d.id) : (fn ? fn(d) : null); + }, + /** + * Redraw function + * @param {Function} drawFn Retuned function from .getDrawShape() => .generateDrawBar() + * @param {boolean} withTransition With or without transition + * @param {boolean} isSub Subchart draw + * @returns {Array} + * @private + */ + redrawBar: function (drawFn, withTransition, isSub) { + if (isSub === void 0) { isSub = false; } + var $$ = this; + var bar = (isSub ? $$.$el.subchart : $$.$el).bar; + return [ + $$.$T(bar, withTransition, getRandom()) + .attr("d", function (d) { return (isNumber(d.value) || $$.isBarRangeType(d)) && drawFn(d); }) + .style("fill", $$.updateBarColor.bind($$)) + .style("clip-path", function (d) { return d.clipPath; }) + .style("opacity", null) + ]; + }, + /** + * Generate draw function + * @param {object} barIndices data order within x axis. + * barIndices ==> {data1: 0, data2: 0, data3: 1, data4: 1, __max__: 1} + * + * When gropus given as: + * groups: [ + * ["data1", "data2"], + * ["data3", "data4"] + * ], + * + * Will be rendered as: + * data1 data3 data1 data3 + * data2 data4 data2 data4 + * ------------------------- + * 0 1 + * @param {boolean} isSub If is for subchart + * @returns {Function} + * @private + */ + generateDrawBar: function (barIndices, isSub) { + var $$ = this; + var config = $$.config; + var getPoints = $$.generateGetBarPoints(barIndices, isSub); + var isRotated = config.axis_rotated; + var barRadius = config.bar_radius; + var barRadiusRatio = config.bar_radius_ratio; + // get the bar radius + var getRadius = isNumber(barRadius) && barRadius > 0 ? function () { return barRadius; } : (isNumber(barRadiusRatio) ? function (w) { return w * barRadiusRatio; } : null); + return function (d, i) { + // 4 points that make a bar + var points = getPoints(d, i); + // switch points if axis is rotated, not applicable for sub chart + var indexX = +isRotated; + var indexY = +!indexX; + var isUnderZero = d.value < 0; + var isInverted = config["axis_".concat($$.axis.getId(d.id), "_inverted")]; + var isNegative = (!isInverted && isUnderZero) || (isInverted && !isUnderZero); + var pathRadius = ["", ""]; + var isGrouped = $$.isGrouped(d.id); + var isRadiusData = getRadius && isGrouped ? $$.isStackingRadiusData(d) : false; + var init = [ + points[0][indexX], + points[0][indexY] + ]; + var radius = 0; + // initialize as null to not set attribute if isn't needed + d.clipPath = null; + if (getRadius) { + var index = isRotated ? indexY : indexX; + var barW = points[2][index] - points[0][index]; + radius = !isGrouped || isRadiusData ? getRadius(barW) : 0; + var arc = "a".concat(radius, " ").concat(radius, " ").concat(isNegative ? "1 0 0" : "0 0 1", " "); + pathRadius[+!isRotated] = "".concat(arc).concat(radius, ",").concat(radius); + pathRadius[+isRotated] = "".concat(arc).concat([-radius, radius][isRotated ? "sort" : "reverse"]()); + isNegative && pathRadius.reverse(); + } + var pos = isRotated ? + points[1][indexX] + (isNegative ? radius : -radius) : + points[1][indexY] + (isNegative ? -radius : radius); + // Apply clip-path in case of radius angle surpass the bar shape + // https://github.com/naver/billboard.js/issues/3903 + if (radius) { + var clipPath = ""; + if (isRotated) { + if (isNegative && init[0] < pos) { + clipPath = "0 ".concat(pos - init[0], "px 0 0"); + } + else if (!isNegative && init[0] > pos) { + clipPath = "0 0 0 ".concat(init[0] - pos, "px"); + } + } + else { + if (isNegative && init[1] > pos) { + clipPath = "".concat(init[1] - pos, "px 0 0 0"); + } + else if (!isNegative && init[1] < pos) { + clipPath = "0 0 ".concat(pos - init[1], "px 0"); + } + } + if (clipPath) { + d.clipPath = "inset(".concat(clipPath, ")"); + } + } + // path string data shouldn't be containing new line chars + // https://github.com/naver/billboard.js/issues/530 + var path = isRotated ? + "H".concat(pos, " ").concat(pathRadius[0], "V").concat(points[2][indexY] - radius, " ").concat(pathRadius[1], "H").concat(points[3][indexX]) : + "V".concat(pos, " ").concat(pathRadius[0], "H").concat(points[2][indexX] - radius, " ").concat(pathRadius[1], "V").concat(points[3][indexY]); + return "M".concat(points[0][indexX], ",").concat(points[0][indexY]).concat(path, "z"); + }; + }, + /** + * Determine if given stacking bar data is radius type + * @param {object} d Data row + * @returns {boolean} + */ + isStackingRadiusData: function (d) { + var $$ = this; + var $el = $$.$el, config = $$.config, data = $$.data, state = $$.state; + var id = d.id, index = d.index, value = d.value; + // when the data is hidden, check if has rounded edges + if (state.hiddenTargetIds.indexOf(id) > -1) { + var target = $el.bar.filter(function (d) { return d.id === id && d.value === value; }); + return !target.empty() && /a\d+/i.test(target.attr("d")); + } + // Find same grouped ids + var keys = config.data_groups.find(function (v) { return v.indexOf(id) > -1; }); + // Get sorted list + var sortedList = $$.orderTargets($$.filterTargetsToShow(data.targets.filter($$.isBarType, $$))).filter(function (v) { return keys.indexOf(v.id) > -1; }); + // Get sorted Ids. Filter positive or negative values Ids from given value + var sortedIds = sortedList + .map(function (v) { + return v.values.filter(function (v2) { + return v2.index === index && (isNumber(value) && value > 0 ? v2.value > 0 : v2.value < 0); + })[0]; + }) + .filter(Boolean) + .map(function (v) { return v.id; }); + // If the given id stays in the last position, then radius should be applied. + return value !== 0 && (sortedIds.indexOf(id) === sortedIds.length - 1); + }, + /** + * Generate bar coordinate points data + * @param {object} barIndices Data order within x axis. + * @param {boolean} isSub If is for subchart + * @returns {Array} Array of coordinate points + * @private + */ + generateGetBarPoints: function (barIndices, isSub) { + var $$ = this; + var config = $$.config; + var axis = isSub ? $$.axis.subX : $$.axis.x; + var barTargetsNum = $$.getIndicesMax(barIndices) + 1; + var barW = $$.getBarW("bar", axis, barTargetsNum); + var barX = $$.getShapeX(barW, barIndices, !!isSub); + var barY = $$.getShapeY(!!isSub); + var barOffset = $$.getShapeOffset($$.isBarType, barIndices, !!isSub); + var yScale = $$.getYScaleById.bind($$); + return function (d, i) { + var id = d.id; + var y0 = yScale.call($$, id, isSub)($$.getShapeYMin(id)); + var offset = barOffset(d, i) || y0; // offset is for stacked bar chart + var width = isNumber(barW) ? barW : barW[d.id] || barW._$width; + var isInverted = config["axis_".concat($$.axis.getId(id), "_inverted")]; + var value = d.value; + var posX = barX(d); + var posY = barY(d); + // fix posY not to overflow opposite quadrant + if (config.axis_rotated && !isInverted && ((value > 0 && posY < y0) || (value < 0 && y0 < posY))) { + posY = y0; + } + if (!$$.isBarRangeType(d)) { + posY -= y0 - offset; + } + var startPosX = posX + width; + // 4 points that make a bar + return [ + [posX, offset], + [posX, posY], + [startPosX, posY], + [startPosX, offset] + ]; + }; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var shapeBubble = { + /** + * Initializer + * @private + */ + initBubble: function () { + var $$ = this; + var config = $$.config; + if ($$.hasType("bubble")) { + config.point_show = true; + config.point_type = "circle"; + } + }, + /** + * Get user agent's computed value + * @returns {number} + * @private + */ + getBaseLength: function () { + var $$ = this; + var _a = $$.state, width = _a.width, height = _a.height; + var cacheKey = KEY.bubbleBaseLength; + var baseLength = $$.cache.get(cacheKey); + if (!baseLength) { + $$.cache.add(cacheKey, baseLength = getMinMax$1("min", [width, height])); + } + return baseLength; + }, + /** + * Get the radius value for bubble circle + * @param {object} d Data object + * @returns {number} + * @private + */ + getBubbleR: function (d) { + var $$ = this; + var maxR = $$.config.bubble_maxR; + if (isFunction(maxR)) { + maxR = maxR.bind($$.api)(d); + } + else if (!isNumber(maxR)) { + maxR = ($$.getBaseLength() / ($$.getMaxDataCount() * 2)) + 12; + } + var max = getMinMax$1("max", $$.getMinMaxData().max.map(function (d) { return ($$.isBubbleZType(d) ? $$.getBubbleZData(d.value, "y") : (isObject(d.value) ? d.value.mid : d.value)); })); + var maxArea = maxR * maxR * Math.PI; + var area = ($$.isBubbleZType(d) ? $$.getBubbleZData(d.value, "z") : d.value) * + (maxArea / max); + return Math.sqrt(area / Math.PI); + }, + /** + * Get bubble dimension data + * @param {object|Array} d data value + * @param {string} type - y or z + * @returns {number} + * @private + */ + getBubbleZData: function (d, type) { + return isObject(d) ? d[type] : d[type === "y" ? 0 : 1]; + } +}; + +var shapeCandlestick = { + initCandlestick: function () { + var $el = this.$el; + $el.candlestick = $el.main.select(".".concat($COMMON.chart)) + // should positioned at the beginning of the shape node to not overlap others + .append("g") + .attr("class", $CANDLESTICK.chartCandlesticks); + }, + /** + * Update targets by its data + * called from: ChartInternal.updateTargets() + * @param {Array} targets Filtered target by type + * @private + */ + updateTargetsForCandlestick: function (targets) { + var $$ = this; + var $el = $$.$el; + var classChart = $$.getChartClass("Candlestick"); + if (!$el.candlestick) { + $$.initCandlestick(); + } + var mainUpdate = $$.$el.main.select(".".concat($CANDLESTICK.chartCandlesticks)) + .selectAll(".".concat($CANDLESTICK.chartCandlestick)) + .data(targets); + mainUpdate.enter().append("g") + .attr("class", classChart) + .style("pointer-events", "none"); + }, + /** + * Generate/Update elements + * @param {boolean} withTransition Transition for exit elements + * @param {boolean} isSub Subchart draw + * @private + */ + updateCandlestick: function (withTransition, isSub) { + if (isSub === void 0) { isSub = false; } + var $$ = this; + var $el = $$.$el, $T = $$.$T; + var $root = isSub ? $el.subchart : $el; + var classSetter = $$.getClass("candlestick", true); + var initialOpacity = $$.initialOpacity.bind($$); + var candlestick = $root.main.selectAll(".".concat($CANDLESTICK.chartCandlestick)) + .selectAll(".".concat($CANDLESTICK.candlestick)) + .data($$.labelishData.bind($$)); + $T(candlestick.exit(), withTransition) + .style("opacity", "0") + .remove(); + var candlestickEnter = candlestick.enter() + .filter(function (d) { return d.value; }) + .append("g") + .attr("class", classSetter); + candlestickEnter.append("line"); + candlestickEnter.append("path"); + $root.candlestick = candlestick.merge(candlestickEnter) + .style("opacity", initialOpacity); + }, + /** + * Get draw function + * @param {object} indices Indice data + * @param {boolean} isSub Subchart draw + * @returns {Function} + * @private + */ + generateDrawCandlestick: function (indices, isSub) { + var $$ = this; + var config = $$.config; + var getPoints = $$.generateGetCandlestickPoints(indices, isSub); + var isRotated = config.axis_rotated; + var downColor = config.candlestick_color_down; + return function (d, i, g) { + var points = getPoints(d, i); + var value = $$.getCandlestickData(d); + var isUp = value === null || value === void 0 ? void 0 : value._isUp; + // switch points if axis is rotated, not applicable for sub chart + var indexX = +isRotated; + var indexY = +!indexX; + if (g.classed) { + g.classed($CANDLESTICK[isUp ? "valueUp" : "valueDown"], true); + } + var path = isRotated ? + "H".concat(points[1][1], " V").concat(points[1][0], " H").concat(points[0][1]) : + "V".concat(points[1][1], " H").concat(points[1][0], " V").concat(points[0][1]); + g.select("path") + .attr("d", "M".concat(points[0][indexX], ",").concat(points[0][indexY]).concat(path, "z")) + .style("fill", function (d) { + var color = isUp ? $$.color(d) : (isObject(downColor) ? downColor[d.id] : downColor); + return color || $$.color(d); + }); + // set line position + var line = g.select("line"); + var pos = isRotated ? + { + x1: points[2][1], + x2: points[2][2], + y1: points[2][0], + y2: points[2][0] + } : + { + x1: points[2][0], + x2: points[2][0], + y1: points[2][1], + y2: points[2][2] + }; + for (var x in pos) { + line.attr(x, pos[x]); + } + }; + }, + /** + * Generate shape drawing points + * @param {object} indices Indice data + * @param {boolean} isSub Subchart draw + * @returns {Function} + */ + generateGetCandlestickPoints: function (indices, isSub) { + if (isSub === void 0) { isSub = false; } + var $$ = this; + var axis = isSub ? $$.axis.subX : $$.axis.x; + var targetsNum = $$.getIndicesMax(indices) + 1; + var barW = $$.getBarW("candlestick", axis, targetsNum); + var x = $$.getShapeX(barW, indices, !!isSub); + var y = $$.getShapeY(!!isSub); + var shapeOffset = $$.getShapeOffset($$.isBarType, indices, !!isSub); + var yScale = $$.getYScaleById.bind($$); + return function (d, i) { + var y0 = yScale.call($$, d.id, isSub)($$.getShapeYMin(d.id)); + var offset = shapeOffset(d, i) || y0; // offset is for stacked bar chart + var width = isNumber(barW) ? barW : barW[d.id] || barW._$width; + var value = $$.getCandlestickData(d); + var points; + if (value && isNumber(value.open) && isNumber(value.close)) { + var posX = { + start: x(d), + end: 0 + }; + posX.end = posX.start + width; + var posY = { + start: y(value.open), + end: y(value.close) + }; + var posLine = { + x: posX.start + (width / 2), + high: y(value.high), + low: y(value.low) + }; + posY.start -= y0 - offset; + points = [ + [posX.start, posY.start], + [posX.end, posY.end], + [posLine.x, posLine.low, posLine.high] + ]; + } + else { + points = [[0, 0], [0, 0], [0, 0, 0]]; + } + return points; + }; + }, + /** + * Redraw function + * @param {Function} drawFn Retuned functino from .generateDrawCandlestick() + * @param {boolean} withTransition With or without transition + * @param {boolean} isSub Subchart draw + * @returns {Array} + */ + redrawCandlestick: function (drawFn, withTransition, isSub) { + if (isSub === void 0) { isSub = false; } + var $$ = this; + var $el = $$.$el, $T = $$.$T; + var candlestick = (isSub ? $el.subchart : $el).candlestick; + var rand = getRandom(true); + return [ + candlestick + .each(function (d, i) { + var g = $T(select(this), withTransition, rand); + drawFn(d, i, g); + }) + .style("opacity", null) + ]; + }, + /** + * Get candlestick data as object + * @param {object} param Data object + * @param {Array|object} param.value Data value + * @returns {object|null} Converted data object + * @private + */ + getCandlestickData: function (_a) { + var value = _a.value; + var d; + if (isArray(value)) { + var open_1 = value[0], high = value[1], low = value[2], close_1 = value[3], _b = value[4], volume = _b === void 0 ? false : _b; + d = { open: open_1, high: high, low: low, close: close_1 }; + if (volume !== false) { + d.volume = volume; + } + } + else if (isObject(value)) { + d = __assign({}, value); + } + if (d) { + d._isUp = d.close >= d.open; + } + return d || null; + } +}; + +/** + * Get current size value + * @param {boolean} checkNeck Determine if container width to not be less than neck width + * @returns {object} size object + * @private + */ +function getSize(checkNeck) { + if (checkNeck === void 0) { checkNeck = false; } + var $$ = this; + var config = $$.config, _a = $$.state.current, width = _a.width, height = _a.height; + var padding = $$.getCurrentPadding(); + var size = __assign({ width: width - (padding.left + padding.right), height: height - (config.legend_show ? $$.getLegendHeight() + 10 : 0) - + (padding.top + padding.bottom) }, padding); + // determine if container width to not be less than neck width + if (checkNeck) { + var _b = getNecklSize.call($$, { + width: size.width, + height: size.height + }), neckWidth = _b.width, neckHeight = _b.height; + // prevent neck size to not exceeed funnel size + if (size.width < neckWidth) { + size.width = neckWidth; + } + if (size.height < neckHeight) { + size.height = neckHeight; + } + } + return size; +} +/** + * Return neck size in pixels + * @param {object} current Current size object + * @returns {object} size object + * @private + */ +function getNecklSize(current) { + var _a; + var $$ = this; + var config = $$.config; + var width = config.funnel_neck_width; + var height = config.funnel_neck_height; + _a = [width, height].map(function (v, i) { + var size = v; + if (isObject(v)) { + size = current[i ? "height" : "width"] * v.ratio; + } + return size; + }), width = _a[0], height = _a[1]; + return { + width: width, + height: height + }; +} +/** + * Get coordinate points + * @param {Array} d Data object + * @returns {Array} Coordinate points + * @private + */ +function getCoord(d) { + var $$ = this; + var _a = getSize.call($$, true), top = _a.top, left = _a.left, width = _a.width; + var coords = []; + d.forEach(function (d, i) { + var ratio = d.ratio; + var y = i > 0 ? coords[i - 1][2][1] : top; + // (M)(4) ------------> (1) + // ˄ | + // | | + // | ˅ + // (3) <-------------- (2) + coords.push(d.coords = [ + [left, y], // M + [left + width, y], // 1 + [left + width, i > 0 ? ratio + y : ratio + top], // 2 + [left, i > 0 ? ratio + y : ratio + top], // 3 + [left, y] // 4 + ]); + }); + return coords; +} +/** + * Get clip path + * @param {boolean} forBackground Determine if clip path for background + * @returns {string} path + * @private + */ +function getClipPath(forBackground) { + if (forBackground === void 0) { forBackground = false; } + var $$ = this; + var _a = getSize.call($$, true), width = _a.width, height = _a.height, top = _a.top, left = _a.left; + var neck = getNecklSize.call($$, { width: width, height: height }); + var leftX = (width - neck.width) / 2; + var rightX = (width + neck.width) / 2; + var bodyHeigth = height - neck.height; + var coords = [ + [0, 0], // M + [width, 0], // 1 + [rightX, bodyHeigth], // 2 + [rightX, height], // 3 + [leftX, height], // 4 + [leftX, bodyHeigth], // 5 + [0, 0] // 6 + ]; + if (forBackground) { + coords.forEach(function (d) { + d[0] += left; + d[1] += top; + }); + } + return "M".concat(coords.join("L"), "z"); +} +/** + * Get funnel data + * @param {object} d data object + * @returns {Array} + * @private + */ +function getFunnelData(d) { + var $$ = this; + var config = $$.config; + var data = d.map(function (d) { return ({ + id: d.id, + value: d.values.reduce(function (a, b) { return a + b.value; }, 0) + }); }); + if (config.data_order) { + data.sort($$.getSortCompareFn.bind($$)(true)); + } + return updateRatio.call($$, data); +} +/** + * Update ratio value + * @param {Array} data Data object + * @returns {Array} Updated data object + * @private + */ +function updateRatio(data) { + var $$ = this; + var height = getSize.call($$).height; + var total = $$.getTotalDataSum(true); + data.forEach(function (d) { + // ratio = shape's height + d.ratio = (d.value / total) * height; + }); + return data; +} +var shapeFunnel = { + /** + * Initialize polar + * @private + */ + initFunnel: function () { + var $$ = this; + var $el = $$.$el; + $el.funnel = $el.main.select(".".concat($COMMON.chart)) + .append("g") + .classed($FUNNEL.chartFunnels, true); + // define background to prevent shape overflow + $el.funnel.background = $el.funnel.append("path") + .classed($FUNNEL.funnelBackground, true); + $$.bindFunnelEvent(); + }, + /** + * Bind events + * @private + */ + bindFunnelEvent: function () { + var $$ = this; + var funnel = $$.$el.funnel, config = $$.config, state = $$.state; + var getTarget = function (event) { + var _a; + var target = event.isTrusted ? event.target : (_a = state.eventReceiver.rect) === null || _a === void 0 ? void 0 : _a.node(); + var data; + if (/^path$/i.test(target.tagName)) { + state.event = event; + data = select(target).datum(); + } + return data; + }; + if (config.interaction_enabled) { + var isTouch = state.inputType === "touch"; + funnel + .on(isTouch ? "touchstart" : "mouseover mousemove", function (event) { + var data = getTarget(event); + if (data) { + $$.showTooltip([data], event.target); + /^(touchstart|mouseover)$/.test(event.type) && $$.setOverOut(true, data); + } + }) + .on(isTouch ? "touchend" : "mouseout", function (event) { + var data = getTarget(event); + if (config.interaction_onout) { + $$.hideTooltip(); + $$.setOverOut(false, data); + } + }); + } + }, + /** + * Update polar based on given data array + * @param {object} t Data object + * @private + */ + updateTargetsForFunnel: function (t) { + var $$ = this; + var funnel = $$.$el.funnel; + var classChartFunnel = $$.getChartClass("Funnel"); + var classFunnel = $$.getClass("funnel", true); + if (!funnel) { + $$.initFunnel(); + } + var targets = getFunnelData.call($$, t.filter($$.isFunnelType.bind($$))); + var mainFunnelUpdate = funnel + .selectAll(".".concat($FUNNEL.chartFunnel)) + .data(targets); + mainFunnelUpdate.exit().remove(); + var mainFunnelEnter = mainFunnelUpdate + .enter() + .insert("g", ".".concat($FUNNEL.funnelBackground)); + mainFunnelEnter + .append("path"); + funnel.path = mainFunnelEnter + .merge(mainFunnelUpdate) + .attr("class", function (d) { return classChartFunnel(d); }) + .select("path") + .attr("class", classFunnel) + .style("opacity", "0") + .style("fill", $$.color); + }, + /** + * Update funnel path selection + * @param {object} targets Updated target data + * @private + */ + updateFunnel: function (targets) { + var $$ = this; + var funnel = $$.$el.funnel; + var targetIds = targets.map(function (_a) { + var id = _a.id; + return id; + }); + funnel.path = funnel.path.filter(function (d) { return targetIds.indexOf(d.id) >= 0; }); + }, + /** + * Generate treemap coordinate points data + * @returns {Array} Array of coordinate points + * @private + */ + generateGetFunnelPoints: function () { + var $$ = this; + var funnel = $$.$el.funnel; + var targets = $$.filterTargetsToShow(funnel.path); + var _a = getSize.call($$), top = _a.top, left = _a.left, right = _a.right; + var center = (left - right) / 2; + var points = {}; + var accumulatedHeight = top !== null && top !== void 0 ? top : 0; + targets.each(function (d, i) { + var _a; + points[d.id] = [ + [center, accumulatedHeight], + [center, accumulatedHeight += ((_a = targets === null || targets === void 0 ? void 0 : targets[i]) !== null && _a !== void 0 ? _a : d).ratio] + ]; + }); + return function (d) { return points[d.id]; }; + }, + /** + * Called whenever redraw happens + * @private + */ + redrawFunnel: function () { + var $$ = this; + var $T = $$.$T, funnel = $$.$el.funnel; + var targets = $$.filterTargetsToShow(funnel.path); + var coords = getCoord.call($$, updateRatio.call($$, targets.data())); + // set neck path + funnel.attr("clip-path", "path('".concat(getClipPath.bind($$)(), "')")); + funnel.background.attr("d", getClipPath.call($$, true)); + $T(targets) + .attr("d", function (d, i) { return "M".concat(coords[i].join("L"), "z"); }) + .style("opacity", "1"); + funnel.selectAll("g").style("opacity", null); + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var shapeGauge = { + initGauge: function () { + var $$ = this; + var config = $$.config, arcs = $$.$el.arcs; + var appendText = function (className, value) { + if (className === void 0) { className = null; } + if (value === void 0) { value = ""; } + arcs.append("text") + .attr("class", className) + .style("text-anchor", "middle") + .style("pointer-events", "none") + .text(value); + }; + if ($$.hasType("gauge")) { + var hasMulti = $$.hasMultiArcGauge(); + arcs.append(hasMulti ? "g" : "path") + .attr("class", $ARC.chartArcsBackground) + .style("fill", (!hasMulti && config.gauge_background) || null); + config.gauge_units && appendText($GAUGE.chartArcsGaugeUnit); + // append min/max value text + if (config.gauge_label_show) { + appendText($GAUGE.chartArcsGaugeMin); + !config.gauge_fullCircle && appendText($GAUGE.chartArcsGaugeMax); + } + } + }, + updateGaugeMax: function () { + var $$ = this; + var config = $$.config, state = $$.state; + var hasMultiGauge = $$.hasMultiArcGauge(); + // to prevent excluding total data sum during the init(when data.hide option is used), use $$.rendered state value + var max = hasMultiGauge ? + $$.getMinMaxData().max[0].value : + $$.getTotalDataSum(state.rendered); + // if gauge_max less than max, make max to max value + if (!config.gauge_enforceMinMax && (max + config.gauge_min * (config.gauge_min > 0 ? -1 : 1) > config.gauge_max)) { + config.gauge_max = max - config.gauge_min; + } + }, + redrawArcGaugeLine: function () { + var $$ = this; + var config = $$.config, state = $$.state, $el = $$.$el; + var hiddenTargetIds = $$.state.hiddenTargetIds; + var arcLabelLines = $el.main.selectAll(".".concat($ARC.arcs)) + .selectAll(".".concat($ARC.arcLabelLine)) + .data($$.arcData.bind($$)); + var mainArcLabelLine = arcLabelLines.enter() + .append("rect") + .attr("class", function (d) { return "".concat($ARC.arcLabelLine, " ").concat($COMMON.target, " ").concat($COMMON.target, "-").concat(d.data.id); }) + .merge(arcLabelLines); + mainArcLabelLine + .style("fill", function (d) { return ($$.levelColor ? $$.levelColor(d.data.values[0].value) : $$.color(d.data)); }) + .style("display", config.gauge_label_show ? null : "none") + .each(function (d) { + var lineLength = 0; + var lineThickness = 2; + var x = 0; + var y = 0; + var transform = ""; + if (hiddenTargetIds.indexOf(d.data.id) < 0) { + var updated = $$.updateAngle(d); + var innerLineLength = state.gaugeArcWidth / + $$.filterTargetsToShow($$.data.targets).length * + (updated.index + 1); + var lineAngle = updated.endAngle - Math.PI / 2; + var arcInnerRadius = state.radius - innerLineLength; + var linePositioningAngle = lineAngle - + (arcInnerRadius === 0 ? 0 : (1 / arcInnerRadius)); + lineLength = state.radiusExpanded - state.radius + innerLineLength; + x = Math.cos(linePositioningAngle) * arcInnerRadius; + y = Math.sin(linePositioningAngle) * arcInnerRadius; + transform = "rotate(".concat(lineAngle * 180 / Math.PI, ", ").concat(x, ", ").concat(y, ")"); + } + select(this) + .attr("x", x) + .attr("y", y) + .attr("width", lineLength) + .attr("height", lineThickness) + .attr("transform", transform) + .style("stroke-dasharray", "0, ".concat(lineLength + lineThickness, ", 0")); + }); + }, + textForGaugeMinMax: function (value, isMax) { + var $$ = this; + var config = $$.config; + var format = config.gauge_label_extents; + return isFunction(format) ? format.bind($$.api)(value, isMax) : value; + }, + getGaugeLabelHeight: function () { + var config = this.config; + return this.config.gauge_label_show && !config.gauge_fullCircle ? 20 : 0; + }, + getPaddingBottomForGauge: function () { + var $$ = this; + return $$.getGaugeLabelHeight() * ($$.config.gauge_label_show ? 2 : 2.5); + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Get stroke dasharray style value + * @param {number} start Start position in path length + * @param {number} end End position in path length + * @param {Array} pattern Dash array pattern + * @param {boolean} isLastX Weather is last x tick + * @returns {object} Stroke dasharray style value and its length + * @private + */ +function getStrokeDashArray(start, end, pattern, isLastX) { + if (isLastX === void 0) { isLastX = false; } + var dash = start ? [start, 0] : pattern; + var _loop_1 = function (i) { + pattern.forEach(function (v) { + if (i + v <= end) { + dash.push(v); + } + i += v; + }); + out_i_1 = i; + }; + var out_i_1; + for (var i = start ? start : pattern.reduce(function (a, c) { return a + c; }); i <= end;) { + _loop_1(i); + i = out_i_1; + } + // make sure to have even length + dash.length % 2 !== 0 && dash.push(isLastX ? pattern[1] : 0); + return { + dash: dash.join(" "), + length: dash.reduce(function (a, b) { return a + b; }, 0) + }; +} +/** + * Get regions data + * @param {Array} d Data object + * @param {object} _regions regions to be set + * @param {boolean} isTimeSeries whether is time series + * @returns {object} Regions data + * @private + */ +function getRegions(d, _regions, isTimeSeries) { + var $$ = this; + var regions = []; + var dasharray = "2 2"; // default value + // Check start/end of regions + if (isDefined(_regions)) { + var getValue = function (v, def) { return (isUndefined(v) ? def : (isTimeSeries ? parseDate.call($$, v) : v)); }; + for (var i = 0, reg = void 0; (reg = _regions[i]); i++) { + var start = getValue(reg.start, d[0].x); + var end = getValue(reg.end, d[d.length - 1].x); + var style = reg.style || { dasharray: dasharray }; + regions[i] = { start: start, end: end, style: style }; + } + } + return regions; +} +var shapeLine = { + initLine: function () { + var $el = this.$el; + $el.line = $el.main.select(".".concat($COMMON.chart)).append("g") + .attr("class", $LINE.chartLines) + .call(this.setCssRule(false, ".".concat($LINE.chartLines), ["pointer-events:none"])); + }, + updateTargetsForLine: function (t) { + var $$ = this; + var _a = $$.$el, area = _a.area, line = _a.line, main = _a.main; + var classChartLine = $$.getChartClass("Line"); + var classLines = $$.getClass("lines", true); + var classFocus = $$.classFocus.bind($$); + if (!line) { + $$.initLine(); + } + var targets = t.filter(function (d) { return !($$.isScatterType(d) || $$.isBubbleType(d)); }); + var mainLineUpdate = main.select(".".concat($LINE.chartLines)) + .selectAll(".".concat($LINE.chartLine)) + .data(targets) + .attr("class", function (d) { return classChartLine(d) + classFocus(d); }); + var mainLineEnter = mainLineUpdate.enter().append("g") + .attr("class", classChartLine) + .style("opacity", "0") + .style("pointer-events", $$.getStylePropValue("none")); + // Lines for each data + mainLineEnter.append("g") + .attr("class", classLines); + // Areas + if ($$.hasTypeOf("Area")) { + var mainLine = (!area && mainLineEnter.empty() ? mainLineUpdate : mainLineEnter).filter($$.isAreaType.bind($$)); + $$.initArea(mainLine); + } + $$.updateTargetForCircle(targets, mainLineEnter); + }, + /** + * Generate/Update elements + * @param {boolean} withTransition Transition for exit elements + * @param {boolean} isSub Subchart draw + * @private + */ + updateLine: function (withTransition, isSub) { + if (isSub === void 0) { isSub = false; } + var $$ = this; + var extraLineClasses = $$.format.extraLineClasses, $el = $$.$el, $T = $$.$T; + var $root = isSub ? $el.subchart : $el; + var line = $root.main + .selectAll(".".concat($LINE.lines)) + .selectAll(".".concat($LINE.line)) + .data($$.lineData.bind($$)); + $T(line.exit(), withTransition) + .style("opacity", "0") + .remove(); + $root.line = line.enter() + .append("path") + .attr("class", function (d) { return "".concat($$.getClass("line", true)(d), " ").concat(extraLineClasses(d) || ""); }) + .style("stroke", $$.color) + .merge(line) + .style("opacity", $$.initialOpacity.bind($$)) + .attr("transform", null); + }, + /** + * Redraw function + * @param {Function} drawFn Retuned functino from .generateDrawCandlestick() + * @param {boolean} withTransition With or without transition + * @param {boolean} isSub Subchart draw + * @returns {Array} + * @private + */ + redrawLine: function (drawFn, withTransition, isSub) { + if (isSub === void 0) { isSub = false; } + var $$ = this; + var $el = $$.$el, $T = $$.$T; + var line = (isSub ? $el.subchart : $el).line; + return [ + $T(line, withTransition, getRandom()) + .attr("d", drawFn) + .style("stroke", this.color) + .style("opacity", null) + ]; + }, + /** + * Get the curve interpolate + * @param {Array} d Data object + * @returns {Function} + * @private + */ + getCurve: function (d) { + var $$ = this; + var isRotatedStepType = $$.config.axis_rotated && $$.isStepType(d); + // when is step & rotated, should be computed in different way + // https://github.com/naver/billboard.js/issues/471 + return isRotatedStepType ? + function (context) { + var step = $$.getInterpolate(d)(context); + // keep the original method + step.orgPoint = step.point; + // to get rotated path data + step.pointRotated = function (x, y) { + this._point === 1 && (this._point = 2); + var y1 = this._y * (1 - this._t) + y * this._t; + this._context.lineTo(this._x, y1); + this._context.lineTo(x, y1); + this._x = x; + this._y = y; + }; + step.point = function (x, y) { + this._point === 0 ? this.orgPoint(x, y) : this.pointRotated(x, y); + }; + return step; + } : + $$.getInterpolate(d); + }, + generateDrawLine: function (lineIndices, isSub) { + var $$ = this; + var config = $$.config, scale = $$.scale; + var lineConnectNull = config.line_connectNull; + var isRotated = config.axis_rotated; + var getPoints = $$.generateGetLinePoints(lineIndices, isSub); + var yScale = $$.getYScaleById.bind($$); + var xValue = function (d) { return (isSub ? $$.subxx : $$.xx).call($$, d); }; + var yValue = function (d, i) { return ($$.isGrouped(d.id) ? getPoints(d, i)[0][1] : yScale(d.id, isSub)($$.getBaseValue(d))); }; + var line = line$1(); + line = isRotated ? line.x(yValue).y(xValue) : line.x(xValue).y(yValue); + if (!lineConnectNull) { + line = line.defined(function (d) { return $$.getBaseValue(d) !== null; }); + } + var x = isSub ? scale.subX : scale.x; + return function (d) { + var y = yScale(d.id, isSub); + var values = lineConnectNull ? $$.filterRemoveNull(d.values) : d.values; + var x0 = 0; + var y0 = 0; + var path; + if ($$.isLineType(d)) { + var regions = config.data_regions[d.id]; + if (regions) { + path = $$.lineWithRegions(values, scale.zoom || x, y, regions); + } + else { + if ($$.isStepType(d)) { + values = $$.convertValuesToStep(values); + } + path = line.curve($$.getCurve(d))(values); + } + } + else { + if (values[0]) { + x0 = x(values[0].x); + y0 = y(values[0].value); + } + path = isRotated ? "M ".concat(y0, " ").concat(x0) : "M ".concat(x0, " ").concat(y0); + } + return path || "M 0 0"; + }; + }, + /** + * Set regions dasharray and get path + * @param {Array} d Data object + * @param {Function} x x scale function + * @param {Function} y y scale function + * @param {object} _regions regions to be set + * @returns {stirng} Path string + * @private + */ + lineWithRegions: function (d, x, y, _regions) { + var $$ = this; + var config = $$.config; + var isRotated = config.axis_rotated; + var isTimeSeries = $$.axis.isTimeSeries(); + var dasharray = "2 2"; // default value + var regions = getRegions.bind($$)(d, _regions, isTimeSeries); + // when contains null data, can't apply style dashed + var hasNullDataValue = $$.hasNullDataValue(d); + var xp; + var yp; + var diff; + var diffx2; + // Set scales + var xValue = isRotated ? function (dt) { return y(dt.value); } : function (dt) { return x(dt.x); }; + var yValue = isRotated ? function (dt) { return x(dt.x); } : function (dt) { return y(dt.value); }; + // Define svg generator function for region + var generateM = function (points) { + return "M".concat(points[0][0], ",").concat(points[0][1], "L").concat(points[1][0], ",").concat(points[1][1]); + }; + var sWithRegion = isTimeSeries ? + function (d0, d1, k, timeseriesDiff) { + var x0 = d0.x.getTime(); + var xDiff = d1.x - d0.x; + var xv0 = new Date(x0 + xDiff * k); + var xv1 = new Date(x0 + xDiff * (k + timeseriesDiff)); + var points = isRotated ? + [[y(yp(k)), x(xv0)], [y(yp(k + diff)), x(xv1)]] : + [[x(xv0), y(yp(k))], [x(xv1), y(yp(k + diff))]]; + return generateM(points); + } : + function (d0, d1, k, otherDiff) { + var x0 = x(d1.x, !isRotated); + var y0 = y(d1.value, isRotated); + var gap = k + otherDiff; + var xValue = x(xp(k), !isRotated); + var yValue = y(yp(k), isRotated); + var xDiff = x(xp(gap), !isRotated); + var yDiff = y(yp(gap), isRotated); + // fix diff values not to overflow + if (xDiff > x0) { + xDiff = x0; + } + if (d0.value > d1.value && (isRotated ? yDiff < y0 : yDiff > y0)) { + yDiff = y0; + } + var points = [ + [xValue, yValue], + [xDiff, yDiff] + ]; + isRotated && points.forEach(function (v) { return v.reverse(); }); + return generateM(points); + }; + // Generate + var axisType = { x: $$.axis.getAxisType("x"), y: $$.axis.getAxisType("y") }; + var path = ""; + // clone the line path to be used to get length value + var target = $$.$el.line.filter(function (_a) { + var id = _a.id; + return id === d[0].id; + }); + var tempNode = target.clone().style("display", "none"); + var getLength = function (node, path) { return node.attr("d", path).node().getTotalLength(); }; + var dashArray = { + dash: [], + lastLength: 0 + }; + var isLastX = false; + for (var i = 0, data = void 0; (data = d[i]); i++) { + var prevData = d[i - 1]; + var hasPrevData = prevData && isValue(prevData.value); + var style = $$.isWithinRegions(data.x, regions); + // https://github.com/naver/billboard.js/issues/1172 + if (!isValue(data.value)) { + continue; + } + // Draw as normal + if (isUndefined(regions) || !style || !hasPrevData) { + path += "".concat(i && hasPrevData ? "L" : "M").concat(xValue(data), ",").concat(yValue(data)); + } + else if (hasPrevData) { + style = ((style === null || style === void 0 ? void 0 : style.dasharray) || dasharray).split(" ").map(Number); + // Draw with region // TODO: Fix for horizotal charts + xp = getScale(axisType.x, prevData.x, data.x); + yp = getScale(axisType.y, prevData.value, data.value); + // when it contains null data, dash can't be applied with style + if (hasNullDataValue) { + var dx = x(data.x) - x(prevData.x); + var dy = y(data.value) - y(prevData.value); + var dd = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2)); + diff = style[0] / dd; // dash + diffx2 = diff * style[1]; // gap + for (var j = diff; j <= 1; j += diffx2) { + path += sWithRegion(prevData, data, j, diff); + // to make sure correct line drawing + if (j + diffx2 >= 1) { + path += sWithRegion(prevData, data, 1, 0); + } + } + } + else { + var points = []; + isLastX = data.x === d[d.length - 1].x; + if (isTimeSeries) { + var x0 = +prevData.x; + var xv0 = new Date(x0); + var xv1 = new Date(x0 + (+data.x - x0)); + points = [ + [x(xv0), y(yp(0))], // M + [x(xv1), y(yp(1))] // L + ]; + } + else { + points = [ + [x(xp(0)), y(yp(0))], // M + [x(xp(1)), y(yp(1))] // L + ]; + } + isRotated && points.forEach(function (v) { return v.reverse(); }); + var startLength = getLength(tempNode, path); + var endLength = getLength(tempNode, path += "L".concat(points[1].join(","))); + var strokeDashArray = getStrokeDashArray(startLength - dashArray.lastLength, endLength - dashArray.lastLength, style, isLastX); + dashArray.lastLength += strokeDashArray.length; + dashArray.dash.push(strokeDashArray.dash); + } + } + } + if (dashArray.dash.length) { + // if not last x tick, then should draw rest of path that is not drawed yet + !isLastX && dashArray.dash.push(getLength(tempNode, path)); + tempNode.remove(); + target.attr("stroke-dasharray", dashArray.dash.join(" ")); + } + return path; + }, + isWithinRegions: function (withinX, withinRegions) { + for (var i = 0, reg = void 0; (reg = withinRegions[i]); i++) { + if (reg.start < withinX && withinX <= reg.end) { + return reg.style; + } + } + return false; + }, + isWithinStep: function (that, y) { + return Math.abs(y - getPointer(this.state.event, that)[1]) < 30; + }, + shouldDrawPointsForLine: function (d) { + var linePoint = this.config.line_point; + return linePoint === true || + (isArray(linePoint) && linePoint.indexOf(d.id) !== -1); + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var getTransitionName = function () { return getRandom(); }; +var shapePoint = { + initialOpacityForCircle: function (d) { + var _a = this, config = _a.config, withoutFadeIn = _a.state.withoutFadeIn; + var opacity = config.point_opacity; + if (isUndefined(opacity)) { + opacity = this.getBaseValue(d) !== null && + withoutFadeIn[d.id] ? + this.opacityForCircle(d) : + "0"; + } + return opacity; + }, + opacityForCircle: function (d) { + var _a; + var config = this.config; + var opacity = config.point_opacity; + if (isUndefined(opacity)) { + opacity = config.point_show && !((_a = this.isPointFocusOnly) === null || _a === void 0 ? void 0 : _a.call(this)) ? null : "0"; + opacity = isValue(this.getBaseValue(d)) ? + (this.isBubbleType(d) || this.isScatterType(d) ? "0.5" : opacity) : + "0"; + } + return opacity; + }, + initCircle: function () { + var $$ = this; + var main = $$.$el.main; + !$$.point && ($$.point = $$.generatePoint()); + if (($$.hasType("bubble") || $$.hasType("scatter")) && + main.select(".".concat($COMMON.chart, " > .").concat($CIRCLE.chartCircles)).empty()) { + main.select(".".concat($COMMON.chart)) + .append("g") + .attr("class", $CIRCLE.chartCircles); + } + }, + updateTargetForCircle: function (targetsValue, enterNodeValue) { + var _this = this; + var $$ = this; + var config = $$.config, data = $$.data, $el = $$.$el; + var selectionEnabled = config.interaction_enabled && config.data_selection_enabled; + var isSelectable = selectionEnabled && config.data_selection_isselectable; + var classCircles = $$.getClass("circles", true); + if (!config.point_show) { + return; + } + $$.initCircle(); + var targets = targetsValue; + var enterNode = enterNodeValue; + // only for scatter & bubble type should generate seprate <g> node + if (!targets) { + targets = data.targets + .filter(function (d) { return _this.isScatterType(d) || _this.isBubbleType(d); }); + var mainCircle = $el.main.select(".".concat($CIRCLE.chartCircles)) + .style("pointer-events", "none") + .selectAll(".".concat($CIRCLE.circles)) + .data(targets); + mainCircle.exit().remove(); + enterNode = mainCircle.enter(); + } + // Circles for each data point on lines + selectionEnabled && enterNode.append("g") + .attr("class", function (d) { return $$.generateClass($SELECT.selectedCircles, d.id); }); + enterNode.append("g") + .attr("class", classCircles) + .call(function (selection) { + $$.setCssRule(true, ".".concat($CIRCLE.circles), ["cursor:pointer"], isSelectable)(selection); + $$.setCssRule(true, " .".concat($CIRCLE.circle), ["fill", "stroke"], $$.color)(selection); + }) + .style("opacity", function () { + var parent = select(this.parentNode); + // if the parent node is .bb-chart-circles (bubble, scatter), initialize <g bb-circles> with opacity "0" + return parent.attr("class").indexOf($CIRCLE.chartCircles) > -1 ? "0" : null; + }); + // Update date for selected circles + selectionEnabled && targets.forEach(function (t) { + $el.main.selectAll(".".concat($SELECT.selectedCircles).concat($$.getTargetSelectorSuffix(t.id))) + .selectAll("".concat($SELECT.selectedCircle)) + .each(function (d) { + d.value = t.values[d.index].value; + }); + }); + }, + updateCircle: function (isSub) { + if (isSub === void 0) { isSub = false; } + var $$ = this; + var config = $$.config, state = $$.state, $el = $$.$el; + var focusOnly = $$.isPointFocusOnly(); + var $root = isSub ? $el.subchart : $el; + if (config.point_show && !state.toggling) { + config.point_radialGradient && $$.updateLinearGradient(); + var circles = $root.main.selectAll(".".concat($CIRCLE.circles)) + .selectAll(".".concat($CIRCLE.circle)) + .data(function (d) { return (($$.isLineType(d) && $$.shouldDrawPointsForLine(d)) || + $$.isBubbleType(d) || $$.isRadarType(d) || $$.isScatterType(d) ? + (focusOnly ? [d.values[0]] : d.values) : + []); }); + circles.exit().remove(); + circles.enter() + .filter(Boolean) + .append($$.point("create", this, $$.pointR.bind($$), $$.updateCircleColor.bind($$))); + $root.circle = $root.main.selectAll(".".concat($CIRCLE.circles, " .").concat($CIRCLE.circle)) + .style("stroke", $$.getStylePropValue($$.color)) + .style("opacity", $$.initialOpacityForCircle.bind($$)); + } + }, + /** + * Update circle color + * @param {object} d Data object + * @returns {string} Color string + * @private + */ + updateCircleColor: function (d) { + var $$ = this; + var fn = $$.getStylePropValue($$.color); + return $$.config.point_radialGradient ? $$.getGradienColortUrl(d.id) : (fn ? fn(d) : null); + }, + redrawCircle: function (cx, cy, withTransition, flow, isSub) { + if (isSub === void 0) { isSub = false; } + var $$ = this; + var rendered = $$.state.rendered, $el = $$.$el, $T = $$.$T; + var $root = isSub ? $el.subchart : $el; + var selectedCircles = $root.main.selectAll(".".concat($SELECT.selectedCircle)); + if (!$$.config.point_show) { + return []; + } + var fn = $$.point("update", $$, cx, cy, $$.updateCircleColor.bind($$), withTransition, flow, selectedCircles); + var posAttr = $$.isCirclePoint() ? "c" : ""; + var t = getRandom(); + var opacityStyleFn = $$.opacityForCircle.bind($$); + var mainCircles = []; + $root.circle.each(function (d) { + var result = fn.bind(this)(d); + result = $T(result, withTransition || !rendered, t) + .style("opacity", opacityStyleFn); + mainCircles.push(result); + }); + return [ + mainCircles, + $T(selectedCircles, withTransition) + .attr("".concat(posAttr, "x"), cx) + .attr("".concat(posAttr, "y"), cy) + ]; + }, + /** + * Show focused data point circle + * @param {object} d Selected data + * @private + */ + showCircleFocus: function (d) { + var $$ = this; + var _a = $$.state, hasRadar = _a.hasRadar, resizing = _a.resizing, toggling = _a.toggling, transiting = _a.transiting, $el = $$.$el; + var circle = $el.circle; + if (transiting === false && circle && $$.isPointFocusOnly()) { + var cx = (hasRadar ? $$.radarCircleX : $$.circleX).bind($$); + var cy = (hasRadar ? $$.radarCircleY : $$.circleY).bind($$); + var withTransition = toggling || isUndefined(d); + var fn_1 = $$.point("update", $$, cx, cy, $$.getStylePropValue($$.color), resizing ? false : withTransition); + if (d) { + circle = circle + .filter(function (t) { + var _a; + var data = (_a = d.filter) === null || _a === void 0 ? void 0 : _a.call(d, function (v) { return v.id === t.id; }); + return data.length ? select(this).datum(data[0]) : false; + }); + } + circle + .attr("class", this.updatePointClass.bind(this)) + .style("opacity", null) + .each(function (d) { + var id = d.id, index = d.index, value = d.value; + var visibility = "hidden"; + if (isValue(value)) { + fn_1.bind(this)(d); + $$.expandCircles(index, id); + visibility = ""; + } + this.style.visibility = visibility; + }); + } + }, + /** + * Hide focused data point circle + * @private + */ + hideCircleFocus: function () { + var $$ = this; + var circle = $$.$el.circle; + if ($$.isPointFocusOnly() && circle) { + $$.unexpandCircles(); + circle.style("visibility", "hidden"); + } + }, + circleX: function (d) { + return this.xx(d); + }, + updateCircleY: function (isSub) { + if (isSub === void 0) { isSub = false; } + var $$ = this; + var getPoints = $$.generateGetLinePoints($$.getShapeIndices($$.isLineType), isSub); + return function (d, i) { + var id = d.id; + return $$.isGrouped(id) ? + getPoints(d, i)[0][1] : + $$.getYScaleById(id, isSub)($$.getBaseValue(d)); + }; + }, + expandCircles: function (i, id, reset) { + var $$ = this; + var r = $$.pointExpandedR.bind($$); + reset && $$.unexpandCircles(); + var circles = $$.getShapeByIndex("circle", i, id).classed($COMMON.EXPANDED, true); + var scale = r(circles) / $$.config.point_r; + var ratio = 1 - scale; + if ($$.isCirclePoint()) { + circles.attr("r", r); + } + else { + // transform must be applied to each node individually + circles.each(function () { + var point = select(this); + if (this.tagName === "circle") { + point.attr("r", r); + } + else { + var _a = this.getBBox(), width = _a.width, height = _a.height; + var x = ratio * (+point.attr("x") + width / 2); + var y = ratio * (+point.attr("y") + height / 2); + point.attr("transform", "translate(".concat(x, " ").concat(y, ") scale(").concat(scale, ")")); + } + }); + } + }, + unexpandCircles: function (i) { + var $$ = this; + var r = $$.pointR.bind($$); + var circles = $$.getShapeByIndex("circle", i) + .filter(function () { + return select(this).classed($COMMON.EXPANDED); + }) + .classed($COMMON.EXPANDED, false); + circles.attr("r", r); + if (!$$.isCirclePoint()) { + var scale = r(circles) / $$.config.point_r; + circles.attr("transform", scale !== 1 ? "scale(".concat(scale, ")") : null); + } + }, + pointR: function (d) { + var $$ = this; + var config = $$.config; + var pointR = config.point_r; + var r = pointR; + if ($$.isBubbleType(d)) { + r = $$.getBubbleR(d); + } + else if (isFunction(pointR)) { + r = pointR.bind($$.api)(d); + } + d.r = r; + return r; + }, + pointExpandedR: function (d) { + var $$ = this; + var config = $$.config; + var scale = $$.isBubbleType(d) ? 1.15 : 1.75; + return config.point_focus_expand_enabled ? + (config.point_focus_expand_r || $$.pointR(d) * scale) : + $$.pointR(d); + }, + pointSelectR: function (d) { + var $$ = this; + var selectR = $$.config.point_select_r; + return isFunction(selectR) ? selectR(d) : (selectR || $$.pointR(d) * 4); + }, + /** + * Check if point.focus.only option can be applied. + * @returns {boolean} + * @private + */ + isPointFocusOnly: function () { + var $$ = this; + return $$.config.point_focus_only && + !$$.hasType("bubble") && !$$.hasType("scatter") && !$$.hasArcType(null, ["radar"]); + }, + isWithinCircle: function (node, r) { + var state = this.state; + var mouse = getPointer(state.event, node); + var element = select(node); + var prefix = this.isCirclePoint(node) ? "c" : ""; + var pointSensitivity = this.getPointSensitivity(element === null || element === void 0 ? void 0 : element.datum()); + var cx = +element.attr("".concat(prefix, "x")); + var cy = +element.attr("".concat(prefix, "y")); + // if node don't have cx/y or x/y attribute value + if (!(cx || cy) && node.nodeType === 1) { + var _a = getBoundingRect(node), x = _a.x, y = _a.y; + cx = x; + cy = y; + } + return Math.sqrt(Math.pow(cx - mouse[0], 2) + Math.pow(cy - mouse[1], 2)) < (r || pointSensitivity); + }, + /** + * Get data point sensitivity radius + * @param {object} d Data point object + * @returns {number} return the sensitivity value + */ + getPointSensitivity: function (d) { + var $$ = this; + var sensitivity = $$.config.point_sensitivity; + if (!d) { + return sensitivity; + } + else if (isFunction(sensitivity)) { + sensitivity = sensitivity.call($$.api, d); + } + else if (sensitivity === "radius") { + sensitivity = d.r; + } + return sensitivity; + }, + updatePointClass: function (d) { + var $$ = this; + var circle = $$.$el.circle; + var pointClass = false; + if (isObject(d) || circle) { + pointClass = d === true ? + circle.each(function (d) { + var className = $$.getClass("circle", true)(d); + if (this.getAttribute("class").indexOf($COMMON.EXPANDED) > -1) { + className += " ".concat($COMMON.EXPANDED); + } + this.setAttribute("class", className); + }) : + $$.getClass("circle", true)(d); + } + return pointClass; + }, + generateGetLinePoints: function (lineIndices, isSub) { + var $$ = this; + var config = $$.config; + var x = $$.getShapeX(0, lineIndices, isSub); + var y = $$.getShapeY(isSub); + var lineOffset = $$.getShapeOffset($$.isLineType, lineIndices, isSub); + var yScale = $$.getYScaleById.bind($$); + return function (d, i) { + var y0 = yScale.call($$, d.id, isSub)($$.getShapeYMin(d.id)); + var offset = lineOffset(d, i) || y0; // offset is for stacked area chart + var posX = x(d); + var posY = y(d); + // fix posY not to overflow opposite quadrant + if (config.axis_rotated && ((d.value > 0 && posY < y0) || (d.value < 0 && y0 < posY))) { + posY = y0; + } + // 1 point that marks the line position + var point = [posX, posY - (y0 - offset)]; + return [ + point, + point, // from here and below, needed for compatibility + point, + point + ]; + }; + }, + custom: { + create: function (element, id, fillStyleFn) { + return element.append("use") + .attr("xlink:href", "#".concat(id)) + .attr("class", this.updatePointClass.bind(this)) + .style("fill", fillStyleFn) + .node(); + }, + update: function (element, xPosFn, yPosFn, fillStyleFn, withTransition, flow, selectedCircles) { + var $$ = this; + var _a = element.node().getBBox(), width = _a.width, height = _a.height; + var xPosFn2 = function (d) { return (isValue(d.value) ? xPosFn(d) - width / 2 : 0); }; + var yPosFn2 = function (d) { return (isValue(d.value) ? yPosFn(d) - height / 2 : 0); }; + var mainCircles = element; + if (withTransition) { + flow && mainCircles.attr("x", xPosFn2); + mainCircles = $$.$T(mainCircles, withTransition, getTransitionName()); + selectedCircles && $$.$T(selectedCircles, withTransition, getTransitionName()); + } + return mainCircles + .attr("x", xPosFn2) + .attr("y", yPosFn2) + .style("fill", fillStyleFn); + } + }, + // 'circle' data point + circle: { + create: function (element, sizeFn, fillStyleFn) { + return element.append("circle") + .attr("class", this.updatePointClass.bind(this)) + .attr("r", sizeFn) + .style("fill", fillStyleFn) + .node(); + }, + update: function (element, xPosFn, yPosFn, fillStyleFn, withTransition, flow, selectedCircles) { + var $$ = this; + var mainCircles = element; + // when '.load()' called, bubble size should be updated + if ($$.hasType("bubble")) { + mainCircles.attr("r", $$.pointR.bind($$)); + } + if (withTransition) { + flow && mainCircles.attr("cx", xPosFn); + if (mainCircles.attr("cx")) { + mainCircles = $$.$T(mainCircles, withTransition, getTransitionName()); + } + selectedCircles && $$.$T(mainCircles, withTransition, getTransitionName()); + } + return mainCircles + .attr("cx", xPosFn) + .attr("cy", yPosFn) + .style("fill", fillStyleFn); + } + }, + // 'rectangle' data point + rectangle: { + create: function (element, sizeFn, fillStyleFn) { + var rectSizeFn = function (d) { return sizeFn(d) * 2.0; }; + return element.append("rect") + .attr("class", this.updatePointClass.bind(this)) + .attr("width", rectSizeFn) + .attr("height", rectSizeFn) + .style("fill", fillStyleFn) + .node(); + }, + update: function (element, xPosFn, yPosFn, fillStyleFn, withTransition, flow, selectedCircles) { + var $$ = this; + var r = $$.config.point_r; + var rectXPosFn = function (d) { return xPosFn(d) - r; }; + var rectYPosFn = function (d) { return yPosFn(d) - r; }; + var mainCircles = element; + if (withTransition) { + flow && mainCircles.attr("x", rectXPosFn); + mainCircles = $$.$T(mainCircles, withTransition, getTransitionName()); + selectedCircles && $$.$T(selectedCircles, withTransition, getTransitionName()); + } + return mainCircles + .attr("x", rectXPosFn) + .attr("y", rectYPosFn) + .style("fill", fillStyleFn); + } + } +}; + +/** + * Check if point draw methods are valid + * @param {string} point point type + * @returns {boolean} + * @private + */ +function hasValidPointDrawMethods(point) { + return isObjectType(point) && + isFunction(point.create) && isFunction(point.update); +} +/** + * Insert point info defs element + * @param {string} point Point element + * @param {string} id Point id + * @private + */ +function insertPointInfoDefs(point, id) { + var _a; + var $$ = this; + var copyAttr = function (from, target) { + var attribs = from.attributes; + for (var i = 0, name_1; (name_1 = attribs[i]); i++) { + name_1 = name_1.name; + target.setAttribute(name_1, from.getAttribute(name_1)); + } + }; + var doc$1 = new DOMParser().parseFromString(point, "image/svg+xml"); + var node = doc$1.documentElement; + var clone = doc.createElementNS(namespaces.svg, node.nodeName.toLowerCase()); + clone.id = id; + clone.style.fill = "inherit"; + clone.style.stroke = "inherit"; + copyAttr(node, clone); + if ((_a = node.childNodes) === null || _a === void 0 ? void 0 : _a.length) { + var parent_1 = select(clone); + if ("innerHTML" in clone) { + parent_1.html(node.innerHTML); + } + else { + toArray(node.childNodes).forEach(function (v) { + copyAttr(v, parent_1.append(v.tagName).node()); + }); + } + } + $$.$el.defs.node().appendChild(clone); +} +var shapePointCommon = { + /** + * Check if point type option is valid + * @param {string} type point type + * @returns {boolean} + * @private + */ + hasValidPointType: function (type) { + return /^(circle|rect(angle)?|polygon|ellipse|use)$/i.test(type || this.config.point_type); + }, + /** + * Check if pattern point is set to be used on legend + * @returns {boolean} + * @private + */ + hasLegendDefsPoint: function () { + var _a; + var config = this.config; + return config.legend_show && ((_a = config.point_pattern) === null || _a === void 0 ? void 0 : _a.length) && config.legend_usePoint; + }, + getDefsPointId: function (id) { + var datetimeId = this.state.datetimeId; + return "".concat(datetimeId, "-point").concat(id); + }, + /** + * Get generate point function + * @returns {Function} + * @private + */ + generatePoint: function () { + var $$ = this; + var $el = $$.$el, config = $$.config; + var ids = []; + var pattern = notEmpty(config.point_pattern) ? config.point_pattern : [config.point_type]; + return function (method, context) { + var args = []; + for (var _i = 2; _i < arguments.length; _i++) { + args[_i - 2] = arguments[_i]; + } + return function (d) { + var _a, _b, _c, _d; + var id = $$.getTargetSelectorSuffix(d.id || ((_a = d.data) === null || _a === void 0 ? void 0 : _a.id) || d); + var element = select(this); + ids.indexOf(id) < 0 && ids.push(id); + var point = pattern[ids.indexOf(id) % pattern.length]; + if ($$.hasValidPointType(point)) { + point = $$[point]; + } + else if (!hasValidPointDrawMethods(point || config.point_type)) { + var pointId = $$.getDefsPointId(id); + var defsPoint = $el.defs.select("#".concat(pointId)); + if (defsPoint.size() < 1) { + insertPointInfoDefs.bind($$)(point, pointId); + } + if (method === "create") { + return (_b = $$.custom) === null || _b === void 0 ? void 0 : _b.create.bind(context).apply(void 0, __spreadArray([element, pointId], args, false)); + } + else if (method === "update") { + return (_c = $$.custom) === null || _c === void 0 ? void 0 : _c.update.bind(context).apply(void 0, __spreadArray([element], args, false)); + } + } + return (_d = point[method]) === null || _d === void 0 ? void 0 : _d.bind(context).apply(void 0, __spreadArray([element], args, false)); + }; + }; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Get data max value + * @param {object} $$ ChartInternal instance + * @returns {number} max value + * @private + */ +function getDataMax($$) { + var levelMax = $$.config.polar_level_max; + var dataMax = $$.getMinMaxData().max[0].value; + // Apply level max only when is greater than the data max value + if (levelMax && levelMax > dataMax) { + dataMax = levelMax; + } + return dataMax; +} +var shapePolar = { + /** + * Initialize polar + * @private + */ + initPolar: function () { + var $$ = this; + var arcs = $$.$el.arcs, config = $$.config; + var levelTextShow = config.polar_level_text_show; + var levelTextBgColor = config.polar_level_text_backgroundColor; + // append <g> for level + arcs.levels = arcs.append("g") + .attr("class", $LEVEL.levels); + // set level text background color + if (levelTextShow && levelTextBgColor) { + $$.generateTextBGColorFilter(levelTextBgColor); + } + }, + /** + * Get polar outer radius according to the data value + * @param {object} d Data object + * @param {numbet} outerRadius Outer radius + * @returns {number} outer radius + * @private + */ + getPolarOuterRadius: function (d, outerRadius) { + var _a; + var dataMax = getDataMax(this); + return (((_a = d === null || d === void 0 ? void 0 : d.data.values[0].value) !== null && _a !== void 0 ? _a : 0) / dataMax) * outerRadius; + }, + /** + * Update polar based on given data array + * @param {object} targets Data object + * @private + */ + updateTargetsForPolar: function (targets) { + // borrow from Arc + this.updateTargetsForArc(targets); + }, + /** + * Called whenever redraw happens + * @private + */ + redrawPolar: function () { + var $$ = this; + var config = $$.config; + config.polar_level_show && $$.updatePolarLevel(); + }, + /** + * Update polar level circle + * @private + */ + updatePolarLevel: function () { + var $$ = this; + var config = $$.config, state = $$.state, levels = $$.$el.arcs.levels; + var depth = config.polar_level_depth; + var dataMax = getDataMax($$); + var levelData = getRange(0, depth); + var outerRadius = state.radius; + var levelRatio = levelData.map(function (l) { return outerRadius * ((l + 1) / depth); }); + var levelTextFormat = (config.polar_level_text_format || function () { }).bind($$.api); + var level = levels + .selectAll(".".concat($LEVEL.level)) + .data(levelData); + level.exit().remove(); + var levelEnter = level.enter().append("g") + .attr("class", function (d, i) { return "".concat($LEVEL.level, " ").concat($LEVEL.level, "-").concat(i); }); + // cx, cy, translate: Set center as origin (0,0) so that it can share same center with arcs + levelEnter.append("circle"); + levelEnter + .merge(level) + .selectAll("circle") + .style("visibility", config.polar_level_show ? null : "hidden") + .attr("cx", 0) + .attr("cy", 0) + .attr("r", function (d) { return levelRatio[d]; }); + if (config.polar_level_text_show) { + var levelTextBackgroundColor = config.polar_level_text_backgroundColor; + var defsId = "#".concat(state.datetimeId, "-labels-bg").concat($$.getTargetSelectorSuffix(levelTextBackgroundColor)); + levelEnter.append("text") + .style("text-anchor", "middle"); + levelEnter + .merge(level) + .selectAll("text") + .attr("dy", function (d) { return -levelRatio[d] + 5; }) + .attr("filter", levelTextBackgroundColor ? "url(".concat(defsId, ")") : null) + .text(function (d) { return levelTextFormat(dataMax / levelData.length * (d + 1)); }); + } + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Get the position value + * @param {boolean} isClockwise If the direction is clockwise + * @param {string} type Coordinate type 'x' or 'y' + * @param {number} edge Number of edge + * @param {number} pos The indexed position + * @param {number} range Range value + * @param {number} ratio Ratio value + * @returns {number} + * @private + */ +function getPosition(isClockwise, type, edge, pos, range, ratio) { + var index = isClockwise && pos > 0 ? edge - pos : pos; + var r = 2 * Math.PI; + var func = type === "x" ? Math.sin : Math.cos; + return range * (1 - ratio * func(index * r / edge)); +} +// cache key +var cacheKeyPoints = KEY.radarPoints; +var cacheKeyTextWidth = KEY.radarTextWidth; +var shapeRadar = { + initRadar: function () { + var $$ = this; + var config = $$.config, current = $$.state.current, $el = $$.$el; + if ($$.hasType("radar")) { + $el.radar = $el.main.select(".".concat($COMMON.chart)).append("g") + .attr("class", $RADAR.chartRadars); + // level + $el.radar.levels = $el.radar.append("g") + .attr("class", $LEVEL.levels); + // axis + $el.radar.axes = $el.radar.append("g") + .attr("class", $AXIS.axis); + // shapes + $el.radar.shapes = $el.radar.append("g") + .attr("class", $SHAPE.shapes); + current.dataMax = config.radar_axis_max || $$.getMinMaxData().max[0].value; + if (config.radar_axis_text_show) { + config.interaction_enabled && $$.bindRadarEvent(); + // it needs to calculate dimension at the initialization + $$.updateRadarLevel(); + $$.updateRadarAxes(); + } + } + }, + getRadarSize: function () { + var $$ = this; + var config = $$.config, _a = $$.state, arcWidth = _a.arcWidth, arcHeight = _a.arcHeight; + var padding = config.axis_x_categories.length < 4 ? -20 : 10; + var size = (Math.min(arcWidth, arcHeight) - padding) / 2; + return [size, size]; + }, + updateTargetsForRadar: function (targets) { + var $$ = this; + var config = $$.config; + if (isEmpty(config.axis_x_categories)) { + config.axis_x_categories = getRange(0, getMinMax$1("max", targets.map(function (v) { + return v.values.length; + }))); + } + $$.generateRadarPoints(); + }, + getRadarPosition: function (type, index, range, ratio) { + var $$ = this; + var config = $$.config; + var _a = $$.getRadarSize(), width = _a[0], height = _a[1]; + var edge = config.axis_x_categories.length; + var isClockwise = config.radar_direction_clockwise; + var pos = toArray(type).map(function (v) { + return getPosition(isClockwise, v, edge, index, isDefined(range) ? range : (type === "x" ? width : height), isNumber(ratio) ? ratio : config.radar_size_ratio); + }); + return pos.length === 1 ? pos[0] : pos; + }, + /** + * Generate data points + * @private + */ + generateRadarPoints: function () { + var $$ = this; + var targets = $$.data.targets; + var _a = $$.getRadarSize(), width = _a[0], height = _a[1]; + var points = $$.cache.get(cacheKeyPoints) || {}; + var size = points._size; + // recalculate position only when the previous dimension has been changed + if (!size || (size.width !== width && size.height !== height)) { + targets.forEach(function (d) { + points[d.id] = d.values.map(function (v, i) { return ($$.getRadarPosition(["x", "y"], i, undefined, $$.getRatio("radar", v))); }); + }); + points._size = { width: width, height: height }; + $$.cache.add(cacheKeyPoints, points); + } + }, + redrawRadar: function () { + var $$ = this; + var _a = $$.$el, radar = _a.radar, main = _a.main; + var translate = $$.getTranslate("radar"); + // Adjust radar, circles and texts' position + if (translate) { + radar.attr("transform", translate); + main.select(".".concat($TEXT.chartTexts)).attr("transform", translate); + $$.generateRadarPoints(); + $$.updateRadarLevel(); + $$.updateRadarAxes(); + $$.updateRadarShape(); + } + }, + generateGetRadarPoints: function () { + var points = this.cache.get(cacheKeyPoints); + return function (d, i) { + var point = points[d.id][i]; + return [ + point, + point, + point, + point + ]; + }; + }, + updateRadarLevel: function () { + var $$ = this; + var config = $$.config, state = $$.state, radar = $$.$el.radar; + var _a = $$.getRadarSize(), width = _a[0], height = _a[1]; + var depth = config.radar_level_depth; + var edge = config.axis_x_categories.length; + var showText = config.radar_level_text_show; + var radarLevels = radar.levels; + var levelData = getRange(0, depth); + var radius = config.radar_size_ratio * Math.min(width, height); + var levelRatio = levelData.map(function (l) { return radius * ((l + 1) / depth); }); + var levelTextFormat = (config.radar_level_text_format || function () { }).bind($$.api); + // Generate points + var points = levelData.map(function (v) { + var range = levelRatio[v]; + var pos = getRange(0, edge).map(function (i) { + return ($$.getRadarPosition(["x", "y"], i, range, 1)).join(","); + }); + return pos.join(" "); + }); + var level = radarLevels + .selectAll(".".concat($LEVEL.level)) + .data(levelData); + level.exit().remove(); + var levelEnter = level.enter().append("g") + .attr("class", function (d, i) { return "".concat($LEVEL.level, " ").concat($LEVEL.level, "-").concat(i); }); + levelEnter.append("polygon") + .style("visibility", config.radar_level_show ? null : "hidden"); + if (showText) { + if (radarLevels.select("text").empty()) { + radarLevels + .append("text") + .attr("dx", "-.5em") + .attr("dy", "-.7em") + .style("text-anchor", "end") + .text(function () { return levelTextFormat(0); }); + } + levelEnter.append("text") + .attr("dx", "-.5em") + .style("text-anchor", "end") + .text(function (d) { + return levelTextFormat(state.current.dataMax / levelData.length * (d + 1)); + }); + } + levelEnter + .merge(level) + .attr("transform", function (d) { return "translate(".concat(width - levelRatio[d], ", ").concat(height - levelRatio[d], ")"); }) + .selectAll("polygon") + .attr("points", function (d) { return points[d]; }); + // update level text position + if (showText) { + radarLevels.selectAll("text") + .attr("x", function (d) { return (isUndefined(d) ? width : points[d].split(",")[0]); }) + .attr("y", function (d) { return (isUndefined(d) ? height : 0); }); + } + }, + updateRadarAxes: function () { + var $$ = this; + var config = $$.config, radar = $$.$el.radar; + var _a = $$.getRadarSize(), width = _a[0], height = _a[1]; + var categories = config.axis_x_categories; + var axis = radar.axes.selectAll("g") + .data(categories); + axis.exit().remove(); + var axisEnter = axis.enter().append("g") + .attr("class", function (d, i) { return "".concat($AXIS.axis, "-").concat(i); }); + config.radar_axis_line_show && axisEnter.append("line"); + config.radar_axis_text_show && axisEnter.append("text"); + axis = axisEnter.merge(axis); + // axis line + if (config.radar_axis_line_show) { + axis.select("line") + .attr("x1", width) + .attr("y1", height) + .attr("x2", function (d, i) { return $$.getRadarPosition("x", i); }) + .attr("y2", function (d, i) { return $$.getRadarPosition("y", i); }); + } + // axis text + if (config.radar_axis_text_show) { + var _b = config.radar_axis_text_position, _c = _b.x, x_1 = _c === void 0 ? 0 : _c, _d = _b.y, y_1 = _d === void 0 ? 0 : _d; + var textWidth = $$.cache.get(cacheKeyTextWidth) || 0; + axis.select("text") + .style("text-anchor", "middle") + .attr("dy", ".5em") + .call(function (selection) { + selection.each(function (d) { + setTextValue(select(this), String(d), [-0.6, 1.2]); + }); + }) + .datum(function (d, i) { return ({ index: i }); }) + .attr("transform", function (d) { + if (isUndefined(this.width)) { + // cache evaluated axis text width + this.width = this.getBoundingClientRect().width / 2; + } + var posX = $$.getRadarPosition("x", d.index, undefined, 1); + var posY = Math.round($$.getRadarPosition("y", d.index, undefined, 1)); + if (posX > width) { + posX += this.width + x_1; + } + else if (Math.round(posX) < width) { + posX -= this.width + x_1; + } + if (posY > height) { + // update vertical centered edge axis text dy position + if (posY / 2 === height && this.firstChild.tagName === "tspan") { + this.firstChild.setAttribute("dy", "0em"); + } + posY += y_1; + } + else if (posY < height) { + posY -= y_1; + } + return "translate(".concat(posX, " ").concat(posY, ")"); + }); + if (!textWidth) { + var widths = [radar.axes, radar.levels].map(function (v) { return getPathBox(v.node()).width; }); + if (widths.every(function (v) { return v > 0; })) { + $$.cache.add(cacheKeyTextWidth, widths[0] - widths[1]); + } + } + } + }, + bindRadarEvent: function () { + var $$ = this; + var config = $$.config, state = $$.state, _a = $$.$el, radar = _a.radar, svg = _a.svg; + var focusOnly = $$.isPointFocusOnly(); + var inputType = state.inputType, transiting = state.transiting; + var isMouse = inputType === "mouse"; + var hide = function (event) { + state.event = event; + if (!config.interaction_onout) { + return; + } + // const index = getIndex(event); + var index = $$.getDataIndexFromEvent(event); + var noIndex = isUndefined(index); + if (isMouse || noIndex) { + $$.hideTooltip(); + focusOnly ? $$.hideCircleFocus() : $$.unexpandCircles(); + if (isMouse) { + $$.setOverOut(false, index); + } + else if (noIndex) { + $$.callOverOutForTouch(); + } + } + }; + radar.axes + .on(isMouse ? "mouseover " : "touchstart", function (event) { + if (transiting) { // skip while transiting + return; + } + state.event = event; + var index = $$.getDataIndexFromEvent(event); + $$.selectRectForSingle(svg.node(), index); + isMouse ? $$.setOverOut(true, index) : $$.callOverOutForTouch(index); + }) + .on("mouseout", isMouse ? hide : null); + if (!isMouse) { + svg.on("touchstart", hide); + } + }, + updateRadarShape: function () { + var $$ = this; + var targets = $$.data.targets.filter(function (d) { return $$.isRadarType(d); }); + var points = $$.cache.get(cacheKeyPoints); + var areas = $$.$el.radar.shapes + .selectAll("polygon") + .data(targets); + var areasEnter = areas.enter().append("g") + .attr("class", $$.getChartClass("Radar")); + $$.$T(areas.exit()) + .remove(); + areasEnter + .append("polygon") + .merge(areas) + .style("fill", $$.color) + .style("stroke", $$.color) + .attr("points", function (d) { return points[d.id].join(" "); }); + $$.updateTargetForCircle(targets, areasEnter); + }, + /** + * Get data point x coordinate + * @param {object} d Data object + * @returns {number} + * @private + */ + radarCircleX: function (d) { + return this.cache.get(cacheKeyPoints)[d.id][d.index][0]; + }, + /** + * Get data point y coordinate + * @param {object} d Data object + * @returns {number} + * @private + */ + radarCircleY: function (d) { + return this.cache.get(cacheKeyPoints)[d.id][d.index][1]; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Get treemap elements' position + * @param {d3Selection} group Root selection + * @param {object} root Root data + * @private + */ +function position(group, root) { + var $$ = this; + var _a = $$.scale, x = _a.x, y = _a.y, width = $$.state.width; + group.selectAll("g") + .attr("transform", function (d) { return ("translate(".concat(d === root ? "0,0" : "".concat(x(d.x0), ",").concat(y(d.y0)), ")")); }) + .select("rect") + .attr("width", function (d) { return (d === root ? width : x(d.x1) - x(d.x0)); }) + .attr("height", function (d) { return (d === root ? 0 : y(d.y1) - y(d.y0)); }); +} +/** + * Convert data for treemap hierarchy + * @param {object} data Data object + * @returns {Array} Array of data for treemap hierarchy + * @private + */ +function convertDataToTreemapData(data) { + var $$ = this; + return data.map(function (d) { + var id = d.id, values = d.values; + var value = values[0].value; + return { + name: id, + id: id, // needed to keep compatibility on whole code logic + value: value, + ratio: $$.getRatio("treemap", values[0]) + }; + }); +} +/** + * Get hierarchy data + * @param {object} data Data object + * @returns {Array} Array of hierarchy data + * @private + */ +function getHierachyData(data) { + var $$ = this; + var hierarchyData = hierarchy(data).sum(function (d) { return d.value; }); + var sortFn = $$.getSortCompareFn(true); + return [ + $$.treemap(sortFn ? hierarchyData.sort(sortFn) : hierarchyData) + ]; +} +var shapeTreemap = { + initTreemap: function () { + var $$ = this; + var $el = $$.$el, _a = $$.state, _b = _a.current, width = _b.width, height = _b.height, clip = _a.clip, datetimeId = _a.datetimeId; + clip.id = "".concat(datetimeId, "-clip"); + $$.treemap = treemap$1() + .tile($$.getTreemapTile()); + $el.defs + .append("clipPath") + .attr("id", clip.id) + .append("rect") + .attr("width", width) + .attr("height", height); + $el.treemap = $el.main.select(".".concat($COMMON.chart)) + .attr("clip-path", "url(#".concat(clip.id, ")")) + .append("g") + .classed($TREEMAP.chartTreemaps, true); + $$.bindTreemapEvent(); + }, + /** + * Bind events + * @private + */ + bindTreemapEvent: function () { + var $$ = this; + var $el = $$.$el, config = $$.config, state = $$.state; + var getTarget = function (event) { + var _a; + var target = event.isTrusted ? event.target : (_a = state.eventReceiver.rect) === null || _a === void 0 ? void 0 : _a.node(); + var data; + if (/^rect$/i.test(target.tagName)) { + state.event = event; + data = select(target).datum(); + } + return data === null || data === void 0 ? void 0 : data.data; + }; + if (config.interaction_enabled) { + var isTouch = state.inputType === "touch"; + $el.treemap + .on(isTouch ? "touchstart" : "mouseover mousemove", function (event) { + var data = getTarget(event); + if (data) { + $$.showTooltip([data], event.currentTarget); + /^(touchstart|mouseover)$/.test(event.type) && $$.setOverOut(true, data); + } + }) + .on(isTouch ? "touchend" : "mouseout", function (event) { + var data = getTarget(event); + if (config.interaction_onout) { + $$.hideTooltip(); + $$.setOverOut(false, data); + } + }); + } + }, + /** + * Get tiling function + * @returns {Function} + * @private + */ + getTreemapTile: function () { + var _a, _b; + var $$ = this; + var config = $$.config, _c = $$.state.current, width = _c.width, height = _c.height; + var tile = (_b = { + binary: treemapBinary, + dice: treemapDice, + slice: treemapSlice, + sliceDice: treemapSliceDice, + squarify: treemapSquarify, + resquarify: treemapResquarify + }[(_a = config.treemap_tile) !== null && _a !== void 0 ? _a : "binary"]) !== null && _b !== void 0 ? _b : treemapBinary; + return function (node, x0, y0, x1, y1) { + tile(node, 0, 0, width, height); + for (var _i = 0, _a = node.children; _i < _a.length; _i++) { + var child = _a[_i]; + child.x0 = x0 + child.x0 / width * (x1 - x0); + child.x1 = x0 + child.x1 / width * (x1 - x0); + child.y0 = y0 + child.y0 / height * (y1 - y0); + child.y1 = y0 + child.y1 / height * (y1 - y0); + } + }; + }, + /** + * Get treemap hierarchy data + * @param {Array} targets Data targets + * @returns {object} + * @private + */ + getTreemapData: function (targets) { + var $$ = this; + return { + name: "root", + children: convertDataToTreemapData.bind($$)($$.filterTargetsToShow(targets.filter($$.isTreemapType, $$))) + }; + }, + /** + * Update treemap data + * @param {Array} targets Data targets + * @private + */ + updateTargetsForTreemap: function (targets) { + var $$ = this; + var treemap = $$.$el.treemap; + var treemapData = getHierachyData.call($$, $$.getTreemapData(targets !== null && targets !== void 0 ? targets : $$.data.targets)); + // using $el.treemap reference can alter data, so select treemap <g> again + treemap.data(treemapData); + }, + /** + * Render treemap + * @param {number} durationForExit Duration for exit transition + * @private + */ + updateTreemap: function (durationForExit) { + var $$ = this; + var $el = $$.$el, $T = $$.$T; + var data = $el.treemap.datum(); + var classChartTreemap = $$.getChartClass("Treemap"); + var classTreemap = $$.getClass("treemap", true); + var treemap = $el.treemap + .selectAll("g") + .data(data.children); + $T(treemap.exit(), durationForExit) + .style("opacity", "0") + .remove(); + treemap.enter() + .append("g") + .append("rect"); + $el.treemap.selectAll("g") + .attr("class", classChartTreemap) + .select("rect") + .attr("class", classTreemap) + .attr("fill", function (d) { return $$.color(d.data.name); }); + }, + /** + * Generate treemap coordinate points data + * @returns {Array} Array of coordinate points + * @private + */ + generateGetTreemapPoints: function () { + var $$ = this; + var $el = $$.$el, _a = $$.scale, x = _a.x, y = _a.y; + var points = {}; + $el.treemap.selectAll("g").each(function (d) { + points[d.data.name] = [ + [x(d.x0), y(d.y0)], + [x(d.x1), y(d.y1)] + ]; + }); + return function (d) { return points[d.id]; }; + }, + /** + * Redraw treemap + * @param {boolean} withTransition With or without transition + * @returns {Array} Selections + * @private + */ + redrawTreemap: function (withTransition) { + var $$ = this; + var $el = $$.$el, _a = $$.state.current, width = _a.width, height = _a.height; + // update defs + $el.defs.select("rect") + .attr("width", width) + .attr("height", height); + return [ + $$.$T($el.treemap, withTransition, getRandom()) + .call(position.bind($$), $el.treemap.datum()) + ]; + }, + /** + * Get treemap data label format function + * @param {object} d Data object + * @returns {Function} + * @private + */ + treemapDataLabelFormat: function (d) { + var $$ = this; + var config = $$.config; + var id = d.id, value = d.value; + var format = config.treemap_label_format; + var ratio = $$.getRatio("treemap", d); + var percentValue = (ratio * 100).toFixed(2); + var meetLabelThreshold = config.treemap_label_show && $$.meetsLabelThreshold(ratio, "treemap") ? + null : + "0"; + return function (node) { + node.style("opacity", meetLabelThreshold); + return isFunction(format) ? + format.bind($$.api)(value, ratio, id) : + "".concat(id, "\n").concat(percentValue, "%"); + }; + } +}; + +/** + * point config options + */ +var optPoint = { + /** + * Set point options + * @name point + * @memberof Options + * @type {object} + * @property {object} point Point object + * @property {boolean} [point.show=true] Whether to show each point in line. + * @property {number|Function} [point.r=2.5] The radius size of each point. + * - **NOTE:** Disabled for 'bubble' type + * @property {boolean|object} [point.radialGradient=false] Set the radial gradient on point.<br><br> + * Or customize by giving below object value: + * - cx {number}: `cx` value (default: `0.3`) + * - cy {number}: `cy` value (default: `0.3`) + * - r {number}: `r` value (default: `0.7`) + * - stops {Array}: Each item should be having `[offset, stop-color, stop-opacity]` values. + * - (default: `[[0.1, $DATA_COLOR, 1], [0.9, $DATA_COLOR, 0]]`) + * @property {boolean} [point.focus.expand.enabled=true] Whether to expand each point on focus. + * @property {number} [point.focus.expand.r=point.r*1.75] The radius size of each point on focus. + * - **NOTE:** For 'bubble' type, the default is `bubbleSize*1.15` + * @property {boolean} [point.focus.only=false] Show point only when is focused. + * @property {number|null} [point.opacity=undefined] Set point opacity value. + * - **NOTE:** + * - `null` will make to not set inline 'opacity' css prop. + * - when no value(or undefined) is set, it defaults to set opacity value according its chart types. + * @property {number|string|Function} [point.sensitivity=10] The senstivity value for interaction boundary. + * - **Available Values:** + * - {number}: Absolute sensitivity value which is the distance from the data point in pixel. + * - "radius": sensitivity based on point's radius + * - Function: callback for each point to determine the sensitivity<br> + * ```js + * sensitivity: function(d) { + * // ex. of argument d: + * // ==> {x: 2, value: 55, id: 'data3', index: 2, r: 19.820624179302296} + * + * // returning d.r, will make sensitivity same as point's radius value. + * return d.r; + * } + * ``` + * @property {number} [point.select.r=point.r*4] The radius size of each point on selected. + * @property {string} [point.type="circle"] The type of point to be drawn + * - **NOTE:** + * - If chart has 'bubble' type, only circle can be used. + * - For IE, non circle point expansions are not supported due to lack of transform support. + * - **Available Values:** + * - circle + * - rectangle + * @property {Array} [point.pattern=[]] The type of point or svg shape as string, to be drawn for each line + * - **NOTE:** + * - This is an `experimental` feature and can have some unexpected behaviors. + * - If chart has 'bubble' type, only circle can be used. + * - For IE, non circle point expansions are not supported due to lack of transform support. + * - **Available Values:** + * - circle + * - rectangle + * - svg shape tag interpreted as string<br> + * (ex. `<polygon points='2.5 0 0 5 5 5'></polygon>`) + * @see [Demo: point type](https://naver.github.io/billboard.js/demo/#Point.RectanglePoints) + * @see [Demo: point focus only](https://naver.github.io/billboard.js/demo/#Point.FocusOnly) + * @see [Demo: point radialGradient](https://naver.github.io/billboard.js/demo/#Point.RadialGradientPoint) + * @see [Demo: point sensitivity](https://naver.github.io/billboard.js/demo/#Point.PointSensitivity) + * @example + * point: { + * show: false, + * r: 5, + * + * // or customize the radius + * r: function(d) { + * ... + * return r; + * }, + * + * // will generate follwing radialGradient: + * // for more info: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/radialGradient + * // <radualGradient cx="0.3" cy="0.3" r="0.7"> + * // <stop offset="0.1" stop-color="$DATA_COLOR" stop-opacity="1"></stop> + * // <stop offset="0.9" stop-color="$DATA_COLOR" stop-opacity="0"></stop> + * // </radialrGradient> + * radialGradient: true, + * + * // Or customized gradient + * radialGradient: { + * cx: 0.3, // cx attributes + * cy: 0.5, // cy attributes + * r: 0.7, // r attributes + * stops: [ + * // offset, stop-color, stop-opacity + * [0, "#7cb5ec", 1], + * + * // setting 'null' for stop-color, will set its original data color + * [0.5, null, 0], + * + * // setting 'function' for stop-color, will pass data id as argument. + * // It should return color string or null value + * [1, function(id) { return id === "data1" ? "red" : "blue"; }, 0], + * ] + * }, + * + * focus: { + * expand: { + * enabled: true, + * r: 1 + * }, + * only: true + * }, + * + * // do not set inline 'opacity' css prop setting + * opacity: null, + * + * // set every data point's opacity value + * opacity: 0.7, + * + * select: { + * r: 3 + * }, + * + * // having lower value, means how closer to be for interaction + * sensitivity: 3, + * + * // sensitivity based on point's radius + * sensitivity: "radius", + * + * // callback for each point to determine the sensitivity + * sensitivity: function(d) { + * // ex. of argument d: + * // ==> {x: 2, value: 55, id: 'data3', index: 2, r: 19.820624179302296} + * + * // returning d.r, will make sensitivity same as point's radius value. + * return d.r; + * } + * + * // valid values are "circle" or "rectangle" + * type: "rectangle", + * + * // or indicate as pattern + * pattern: [ + * "circle", + * "rectangle", + * "<polygon points='0 6 4 0 -4 0'></polygon>" + * ], + * } + */ + point_show: true, + point_r: 2.5, + point_radialGradient: false, + point_sensitivity: 10, + point_focus_expand_enabled: true, + point_focus_expand_r: undefined, + point_focus_only: false, + point_opacity: undefined, + point_pattern: [], + point_select_r: undefined, + point_type: "circle" +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * area config options + */ +var optArea = { + /** + * Set area options + * @name area + * @memberof Options + * @type {object} + * @property {object} area Area object + * @property {boolean} [area.above=false] Set background area `above` the data chart line. + * @property {boolean} [area.below=false] Set background area `below` the data chart line. + * - **NOTE**: Can't be used along with `above` option. When above & below options are set to true, `above` will be prioritized. + * @property {boolean} [area.front=true] Set area node to be positioned over line node. + * @property {boolean|object} [area.linearGradient=false] Set the linear gradient on area.<br><br> + * Or customize by giving below object value: + * - x {Array}: `x1`, `x2` value (default: `[0, 0]`) + * - y {Array}: `y1`, `y2` value (default: `[0, 1]`) + * - stops {Array}: Each item should be having `[offset, stop-color, stop-opacity]` values. + * - (default: `[[0, $DATA_COLOR, 1], [1, $DATA_COLOR, 0]]`) + * @property {boolean} [area.zerobased=true] Set if min or max value will be 0 on area chart. + * @see [MDN's <linearGradient>](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient), [<stop>](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/stop) + * @see [Demo](https://naver.github.io/billboard.js/demo/#Chart.AreaChart) + * @see [Demo: above](https://naver.github.io/billboard.js/demo/#AreaChartOptions.Above) + * @see [Demo: below](https://naver.github.io/billboard.js/demo/#AreaChartOptions.Below) + * @see [Demo: linearGradient](https://naver.github.io/billboard.js/demo/#AreaChartOptions.LinearGradient) + * @example + * area: { + * above: true, + * below: false, + * zerobased: false, + * + * // <g class='bb-areas'> will be positioned behind the line <g class='bb-lines'> in stacking order + * front: false, + * + * // will generate follwing linearGradient: + * // for more info: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient + * // <linearGradient x1="0" x2="0" y1="0" y2="1"> + * // <stop offset="0" stop-color="$DATA_COLOR" stop-opacity="1"></stop> + * // <stop offset="1" stop-color="$DATA_COLOR" stop-opacity="0"></stop> + * // </linearGradient> + * linearGradient: true, + * + * // Or customized gradient + * linearGradient: { + * x: [0, 0], // x1, x2 attributes + * y: [0, 0], // y1, y2 attributes + * stops: [ + * // offset, stop-color, stop-opacity + * [0, "#7cb5ec", 1], + * + * // setting 'null' for stop-color, will set its original data color + * [0.5, null, 0], + * + * // setting 'function' for stop-color, will pass data id as argument. + * // It should return color string or null value + * [1, function(id) { return id === "data1" ? "red" : "blue"; }, 0], + * ] + * } + * } + */ + area_above: false, + area_below: false, + area_front: true, + area_linearGradient: false, + area_zerobased: true +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * bar config options + */ +var optBar = { + /** + * Set bar options + * @name bar + * @memberof Options + * @type {object} + * @property {object} bar Bar object + * @property {boolean} [bar.front=false] Set 'bar' to be positioned over(on the top) other shapes elements. + * @property {number} [bar.indices.removeNull=false] Remove nullish data on bar indices positions. + * @property {number} [bar.label.threshold=0] Set threshold ratio to show/hide labels. + * @property {boolean|object} [bar.linearGradient=false] Set the linear gradient on bar.<br><br> + * Or customize by giving below object value: + * - x {Array}: `x1`, `x2` value (default: `[0, 0]`) + * - y {Array}: `y1`, `y2` value (default: `[0, 1]`) + * - stops {Array}: Each item should be having `[offset, stop-color, stop-opacity]` values. + * - (default: `[[0, $DATA_COLOR, 1], [1, $DATA_COLOR, 0]]`) + * @property {boolean} [bar.overlap=false] Bars will be rendered at same position, which will be overlapped each other. (for non-grouped bars only) + * @property {number} [bar.padding=0] The padding pixel value between each bar. + * @property {number} [bar.radius] Set the radius of bar edge in pixel. + * @property {number} [bar.radius.ratio] Set the radius ratio of bar edge in relative the bar's width. + * @property {number} [bar.sensitivity=2] The senstivity offset value for interaction boundary. + * @property {number|Function|object} [bar.width] Change the width of bar chart. + * @property {number} [bar.width.ratio=0.6] Change the width of bar chart by ratio. + * - **NOTE:** Criteria for ratio. + * - When x ticks count is same with the data count, the baseline for ratio is the minimum interval value of x ticks. + * - ex. when timeseries x values are: [2024-01-01, 2024-02-01, 2024-03-01], the minimum interval will be `2024-02-01 ~ 2024-03-01` + * - if the minimum interval is 30px, then ratio=1 means 30px. + * - When x ticks count is lower than the data count, the baseline will be calculated as `chart width / data count`. + * - ex. when chart width is 500, data count is 5, then ratio=1 means 100px. + * @property {number} [bar.width.max] The maximum width value for ratio. + * @property {number} [bar.width.dataname] Change the width of bar for indicated dataset only. + * @property {number} [bar.width.dataname.ratio=0.6] Change the width of bar chart by ratio. + * - **NOTE:** + * - Works only for non-stacked bar + * @property {number} [bar.width.dataname.max] The maximum width value for ratio. + * @property {boolean} [bar.zerobased=true] Set if min or max value will be 0 on bar chart. + * @see [Demo: bar front](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarFront) + * @see [Demo: bar indices](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarIndices) + * @see [Demo: bar overlap](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarOverlap) + * @see [Demo: bar padding](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarPadding) + * @see [Demo: bar radius](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarRadius) + * @see [Demo: bar width](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarWidth) + * @see [Demo: bar width variant](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarWidthVariant) + * @example + * bar: { + * // make bar shape to be positioned over the other shape elements + * front: true, + * + * // remove nullish data on bar indices postions + * indices: { + * removeNull: true + * }, + * + * // will generate follwing linearGradient: + * // for more info: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient + * // <linearGradient x1="0" x2="0" y1="0" y2="1"> + * // <stop offset="0" stop-color="$DATA_COLOR" stop-opacity="1"></stop> + * // <stop offset="1" stop-color="$DATA_COLOR" stop-opacity="0"></stop> + * // </linearGradient> + * linearGradient: true, + * + * // Or customized gradient + * linearGradient: { + * x: [0, 0], // x1, x2 attributes + * y: [0, 0], // y1, y2 attributes + * stops: [ + * // offset, stop-color, stop-opacity + * [0, "#7cb5ec", 1], + * + * // setting 'null' for stop-color, will set its original data color + * [0.5, null, 0], + * + * // setting 'function' for stop-color, will pass data id as argument. + * // It should return color string or null value + * [1, function(id) { return id === "data1" ? "red" : "blue"; }, 0], + * ] + * }, + * + * // remove nullish da + * overlap: true, + * + * padding: 1, + * + * // bar radius + * radius: 10, + * // or + * radius: { + * ratio: 0.5 + * } + * + * label: { + * // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the y Axis domain range value. + * // if data value is below than 0.1, text label will be hidden. + * threshold: 0.1, + * }, + * + * // will not have offset between each bar elements for interaction + * sensitivity: 0, + * + * width: 10, + * + * // or specify width callback. The callback will receive width, targetsNum, maxDataCount as arguments. + * // - width: chart area width + * // - targetsNum: number of targets + * // - maxDataCount: maximum data count among targets + * width: function(width, targetsNum, maxDataCount) { + * return width / (targetsNum * maxDataCount); + * } + * + * // or specify ratio & max + * width: { + * ratio: 0.2, + * max: 20 + * }, + * + * // or specify width per dataset + * width: { + * data1: 20, + * data2: { + * ratio: 0.2, + * max: 20 + * } + * }, + * + * zerobased: false + * } + */ + bar_front: false, + bar_indices_removeNull: false, + bar_label_threshold: 0, + bar_linearGradient: false, + bar_overlap: false, + bar_padding: 0, + bar_radius: undefined, + bar_radius_ratio: undefined, + bar_sensitivity: 2, + bar_width: undefined, + bar_width_ratio: 0.6, + bar_width_max: undefined, + bar_zerobased: true +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * bubble config options + */ +var optBubble = { + /** + * Set bubble options + * @name bubble + * @memberof Options + * @type {object} + * @property {object} bubble bubble object + * @property {number|Function} [bubble.maxR=35] Set the max bubble radius value + * @property {boolean} [bubble.zerobased=false] Set if min or max value will be 0 on bubble chart. + * @example + * bubble: { + * // ex) If 100 is the highest value among data bound, the representation bubble of 100 will have radius of 50. + * // And the lesser will have radius relatively from tha max value. + * maxR: 50, + * + * // or set radius callback + * maxR: function(d) { + * // ex. of d param - {x: Fri Oct 06 2017 00:00:00 GMT+0900, value: 80, id: "data2", index: 5} + * ... + * return Math.sqrt(d.value * 2); + * }, + * zerobased: false + * } + */ + bubble_maxR: 35, + bubble_zerobased: false +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * candlestick config options + */ +var optCandlestick = { + /** + * Set candlestick options + * @name candlestick + * @memberof Options + * @type {object} + * @property {object} candlestick Candlestick object + * @property {number} [candlestick.width] Change the width. + * @property {number} [candlestick.width.ratio=0.6] Change the width by ratio. + * @property {number} [candlestick.width.max] The maximum width value for ratio. + * @property {number} [candlestick.width.dataname] Change the width for indicated dataset only. + * @property {number} [candlestick.width.dataname.ratio=0.6] Change the width of bar chart by ratio. + * @property {number} [candlestick.width.dataname.max] The maximum width value for ratio. + * @property {object} [candlestick.color] Color setting. + * @property {string|object} [candlestick.color.down] Change down(bearish) value color. + * @property {string} [candlestick.color.down.dataname] Change down value color for indicated dataset only. + * + * @see [Demo](https://naver.github.io/billboard.js/demo/##Chart.CandlestickChart) + * @example + * candlestick: { + * width: 10, + * + * // or + * width: { + * ratio: 0.2, + * max: 20 + * }, + * + * // or specify width per dataset + * width: { + * data1: 20, + * data2: { + * ratio: 0.2, + * max: 20 + * } + * }, + * color: { + * // spcify bearish color + * down: "red", + * + * // or specify color per dataset + * down: { + * data1: "red", + * data2: "blue", + * } + * } + * } + */ + candlestick_width: undefined, + candlestick_width_ratio: 0.6, + candlestick_width_max: undefined, + candlestick_color_down: "red" +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * line config options + */ +var optLine = { + /** + * Set line options + * @name line + * @memberof Options + * @type {object} + * @property {object} line Line object + * @property {boolean} [line.connectNull=false] Set if null data point will be connected or not.<br> + * If true set, the region of null data will be connected without any data point. If false set, the region of null data will not be connected and get empty. + * @property {Array} [line.classes=undefined] If set, used to set a css class on each line. + * @property {boolean} [line.step.type=step] Change step type for step chart.<br> + * **Available values:** + * - step + * - step-before + * - step-after + * @property {boolean} [line.step.tooltipMatch=false] Set to `true` for `step-before` and `step-after` types to have cursor/tooltip match to hovered step's point instead of nearest point. + * @property {boolean|Array} [line.point=true] Set to false to not draw points on linecharts. Or pass an array of line ids to draw points for. + * @property {boolean} [line.zerobased=false] Set if min or max value will be 0 on line chart. + * @example + * line: { + * connectNull: true, + * classes: [ + * "line-class1", + * "line-class2" + * ], + * step: { + * type: "step-after", + * + * // to have cursor/tooltip match to hovered step's point instead of nearest point. + * tooltipMatch: true + * }, + * + * // hide all data points ('point.show=false' also has similar effect) + * point: false, + * + * // show data points for only indicated datas + * point: [ + * "data1", "data3" + * ], + * + * zerobased: false + * } + */ + line_connectNull: false, + line_step_type: "step", + line_step_tooltipMatch: false, + line_zerobased: false, + line_classes: undefined, + line_point: true +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * scatter config options + */ +var optScatter = { + /** + * Set scatter options + * @name scatter + * @memberof Options + * @type {object} + * @property {object} [scatter] scatter object + * @property {boolean} [scatter.zerobased=false] Set if min or max value will be 0 on scatter chart. + * @example + * scatter: { + * connectNull: true, + * step: { + * type: "step-after" + * }, + * + * // hide all data points ('point.show=false' also has similar effect) + * point: false, + * + * // show data points for only indicated datas + * point: [ + * "data1", "data3" + * ], + * + * zerobased: false + * } + */ + scatter_zerobased: false +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * spline config options + */ +var optSpline = { + /** + * Set spline options + * - **Available interpolation type values:** + * - basis (d3.curveBasis) + * - basis-closed (d3.curveBasisClosed) + * - basis-open (d3.curveBasisOpen) + * - bundle (d3.curveBundle) + * - cardinal (d3.curveCardinal) + * - cardinal-closed (d3.curveCardinalClosed) + * - cardinal-open (d3.curveCardinalOpen) + * - catmull-rom (d3.curveCatmullRom) + * - catmull-rom-closed (d3.curveCatmullRomClosed) + * - catmull-rom-open (d3.curveCatmullRomOpen) + * - monotone-x (d3.curveMonotoneX) + * - monotone-y (d3.curveMonotoneY) + * - natural (d3.curveNatural) + * - linear-closed (d3.curveLinearClosed) + * - linear (d3.curveLinear) + * - step (d3.curveStep) + * - step-after (d3.curveStepAfter) + * - step-before (d3.curveStepBefore) + * @name spline + * @memberof Options + * @type {object} + * @property {object} spline Spline object + * @property {object} spline.interpolation Spline interpolation object + * @property {string} [spline.interpolation.type="cardinal"] Interpolation type + * @see [Interpolation (d3 v4)](http://bl.ocks.org/emmasaunders/c25a147970def2b02d8c7c2719dc7502) + * @example + * spline: { + * interpolation: { + * type: "cardinal" + * } + * } + */ + spline_interpolation_type: "cardinal" +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * arc config options + */ +var optArc = { + /** + * Set arc options + * @name arc + * @memberof Options + * @type {object} + * @property {object} arc Arc object + * @property {number|Function} [arc.cornerRadius=0] Set corner radius of Arc(donut/gauge/pie/polar) shape. + * - **NOTE:** + * - Corner radius can't surpass the `(outerRadius - innerRadius) /2` of indicated shape. + * @property {number} [arc.cornerRadius.ratio=0] Set ratio relative of outer radius. + * @property {object} [arc.needle] Set needle options. + * @property {boolean} [arc.needle.show=false] Show or hide needle. + * @property {string} [arc.needle.color] Set needle filled color. + * @property {Function} [arc.needle.path] Set custom needle path function. + * - **NOTE:** + * - The path should be starting from 0,0 (which is center) to top center coordinate. + * - The function will receive, `length`{number} parameter which indicating the needle length in pixel relative to radius. + * @property {number} [arc.needle.value] Set needle value. + * - **NOTE:** + * - For single gauge chart, needle will point the data value by default, otherwise will point 0(zero). + * @property {number} [arc.needle.length=100] Set needle length in percentages relative to radius. + * @property {object} [arc.needle.top] Set needle top options. + * @property {number} [arc.needle.top.rx=0] Set needle top [rx radius value](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve). + * @property {number} [arc.needle.top.ry=0] Set needle top [ry radius value](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve). + * @property {number} [arc.needle.top.width=0] Set needle top width in pixel. + * @property {object} [arc.needle.bottom] Set needle bottom options. + * @property {number} [arc.needle.bottom.rx=1] Set needle bottom [rx radius value](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve). + * @property {number} [arc.needle.bottom.ry=1] Set needle bottom [ry radius value](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve). + * @property {number} [arc.needle.bottom.width=15] Set needle bottom width in pixel. + * @property {number} [arc.needle.bottom.len=0] Set needle bottom length in pixel. Setting this value, will make bottom larger starting from center. + * @property {object} [arc.rangeText] Set rangeText options. + * @property {Array} [arc.rangeText.values] Set range text values to be shown around Arc. + * - When `unit: 'absolute'`: Given values are treated as absolute values. + * - When `unit: '%'`: Given values are treated as percentages. + * @property {string} [arc.rangeText.unit="absolute"] Specify the range text unit. + * - "absolute": Show absolute value + * - "%": Show percentage value + * @property {boolean} [arc.rangeText.fiexed=false] Set if range text shown will be fixed w/o data toggle update. Only available for gauge chart. + * @property {Function} [arc.rangeText.format] Set format function for the range text. + * @property {number} [arc.rangeText.position] Set position function or object for the range text. + * @see [Demo: Donut corner radius](https://naver.github.io/billboard.js/demo/#DonutChartOptions.DonutCornerRadius) + * @see [Demo: Donut corner radius](https://naver.github.io/billboard.js/demo/#PieChartOptions.CornerRadius) + * @see [Demo: Donut needle](https://naver.github.io/billboard.js/demo/#DonutChartOptions.DonutNeedle) + * @see [Demo: Donut RangeText](https://naver.github.io/billboard.js/demo/#DonutChartOptions.DonutRangeText) + * @see [Demo: Gauge corner radius](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeCornerRadius) + * @see [Demo: Gauge needle](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeNeedle) + * @see [Demo: Gauge RangeText](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeRangeText) + * @example + * arc: { + * cornerRadius: 12, + * + * // can customize corner radius for each data with function callback + * // + * // The function will receive: + * // - id {string}: Data id + * // - value {number}: Data value + * // - outerRadius {number}: Outer radius value + * cornerRadius: function(id, value, outerRadius) { + * return (id === "data1" && value > 10) ? + * 50 : outerRadius * 1.2; + * }, + * + * // set ratio relative of outer radius + * cornerRadius: { + * ratio: 0.5 + * }, + * + * needle: { + * show: true, + * color: "red", // any valid CSS color + * path: function(length) { + * const len = length - 20; + * + * // will return upper arrow shape path + * // Note: The path should begun from '0,0' coordinate to top center. + * const path = `M 0 -${len + 20} + * L -12 -${len} + * L -5 -${len} + * L -5 0 + * A 1 1 0 0 0 5 0 + * L 5 -${len} + * L 12 -${len} Z`; + * + * return path; + * }, + * value: 40, // will make needle to point value 40. + * length: 80, // needle length in percentages relative to radius. + * + * top: { + * // rx and ry are the two radii of the ellipse; + * // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve + * rx: 1, + * ry: 1, + * width: 5 + * }, + * bottom: { + * // rx and ry are the two radii of the ellipse; + * // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve + * rx: 1, + * ry: 1, + * width: 10 + * len: 10 + * } + * }, + * + * rangeText: { + * values: [15, 30, 50, 75, 95], + * unit: "%", + * fixed: false, // only available for gauge chart + * format: function(v) { + * return v === 15 ? "Fifteen" : v; + * }, + * + * position: function(v) { + * return v === 15 ? {x: 20, y: 10} : null; // can return one props value also. + * }, + * position: {x: 10, y: 15}, + * position: {x: 10} + * } + * } + */ + arc_cornerRadius: 0, + arc_cornerRadius_ratio: 0, + arc_needle_show: false, + arc_needle_color: undefined, + arc_needle_value: undefined, + arc_needle_path: undefined, + arc_needle_length: 100, + arc_needle_top_rx: 0, + arc_needle_top_ry: 0, + arc_needle_top_width: 0, + arc_needle_bottom_rx: 1, + arc_needle_bottom_ry: 1, + arc_needle_bottom_width: 15, + arc_needle_bottom_len: 0, + arc_rangeText_values: undefined, + arc_rangeText_unit: "absolute", + arc_rangeText_fixed: false, + arc_rangeText_format: undefined, + arc_rangeText_position: undefined +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * donut config options + */ +var optDonut = { + /** + * Set donut options + * @name donut + * @memberof Options + * @type {object} + * @property {object} donut Donut object + * @property {boolean} [donut.label.show=true] Show or hide label on each donut piece. + * @property {Function} [donut.label.format] Set formatter for the label on each donut piece. + * @property {number} [donut.label.threshold=0.05] Set threshold ratio to show/hide labels. + * @property {number|Function} [donut.label.ratio=undefined] Set ratio of labels position. + * @property {boolean} [donut.expand=true] Enable or disable expanding donut pieces. + * @property {number} [donut.expand.rate=0.98] Set expand rate. + * @property {number} [donut.expand.duration=50] Set expand transition time in ms. + * @property {number} [donut.width] Set width of donut chart. + * @property {string} [donut.title=""] Set title of donut chart. Use `\n` character for line break. + * - **NOTE:** + * - When `arc.needle.show=true` is set, special template `{=NEEDLE_VALUE}` can be used inside the title text to show current needle value. + * @property {number} [donut.padAngle=0] Set padding between data. + * @property {number} [donut.startingAngle=0] Set starting angle where data draws. + * @example + * donut: { + * label: { + * show: false, + * format: function(value, ratio, id) { + * return d3.format("$")(value); + * + * // to multiline, return with '\n' character + * // return value +"%\nLine1\n2Line2"; + * }, + * + * // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value. + * // if data value is below than 0.1, text label will be hidden. + * threshold: 0.1, + * + * // set ratio callback. Should return ratio value + * ratio: function(d, radius, h) { + * ... + * return ratio; + * }, + * // or set ratio number + * ratio: 0.5 + * }, + * + * // disable expand transition for interaction + * expand: false, + * + * expand: { + * // set duration of expand transition to 500ms. + * duration: 500, + * + * // set expand area rate + * rate: 1 + * }, + * + * width: 10, + * padAngle: 0.2, + * startingAngle: 1, + * title: "Donut Title" + * + * // when 'arc.needle.show=true' is set, can show current needle value. + * title: "Needle value:\n{=NEEDLE_VALUE}", + * + * // title with line break + * title: "Title1\nTitle2" + * } + */ + donut_label_show: true, + donut_label_format: undefined, + donut_label_threshold: 0.05, + donut_label_ratio: undefined, + donut_width: undefined, + donut_title: "", + donut_expand: {}, + donut_expand_rate: 0.98, + donut_expand_duration: 50, + donut_padAngle: 0, + donut_startingAngle: 0 +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * funnel config options + */ +var optFunnel = { + /** + * Set funnel options + * @name funnel + * @memberof Options + * @type {object} + * @property {object} funnel Funnel object + * @property {number} [funnel.neck.width=0] Set funnel neck width. + * @property {number} [funnel.neck.height=0] Set funnel neck height. + * @property {number} [funnel.neck.width.ratio] Set funnel neck width in ratio. + * @property {number} [funnel.neck.height.ratio] Set funnel neck height in ratio. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Chart.PolarChart) + * @example + * funnel: { + * neck: { + * width: 200, + * height: 100, + * + * // or specify as ratio value (relative to the chart size) + * width: { + * ratio: 0.5 + * }, + * height: { + * ratio: 0.5 + * } + * } + * } + */ + funnel_neck_width: 0, + funnel_neck_height: 0 +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * gauge config options + */ +var optGauge = { + /** + * Set gauge options + * @name gauge + * @memberof Options + * @type {object} + * @property {object} gauge Gauge object + * @property {boolean} [gauge.background=""] Set background color. (The `.bb-chart-arcs-background` element) + * @property {boolean} [gauge.fullCircle=false] Show full circle as donut. When set to 'true', the max label will not be showed due to start and end points are same location. + * @property {boolean} [gauge.label.show=true] Show or hide label on gauge. + * @property {Function} [gauge.label.extents] Set customized min/max label text. + * @property {Function} [gauge.label.format] Set formatter for the label on gauge. Label text can be multilined with `\n` character.<br> + * Will pass following arguments to the given function: + * - value {number}: absolute value + * - ratio {number}: value's ratio + * - id {string}: data's id value + * @property {number|Function} [gauge.label.ratio=undefined] Set ratio of labels position. + * @property {number} [gauge.label.threshold=0] Set threshold ratio to show/hide labels. + * @property {boolean} [gauge.expand=true] Enable or disable expanding gauge. + * @property {number} [gauge.expand.rate=0.98] Set expand rate. + * @property {number} [gauge.expand.duration=50] Set the expand transition time in milliseconds. + * @property {boolean} [gauge.enforceMinMax=false] Enforce to given min/max value. + * - When `gauge.min=50` and given value is `30`, gauge will render as empty value. + * - When `gauge.max=100` and given value is `120`, gauge will render till 100, not surpassing max value. + * @property {number} [gauge.min=0] Set min value of the gauge. + * @property {number} [gauge.max=100] Set max value of the gauge. + * @property {number} [gauge.startingAngle=-1 * Math.PI / 2] Set starting angle where data draws. + * + * **Limitations:** + * - when `gauge.fullCircle=false`: + * - -1 * Math.PI / 2 <= startingAngle <= Math.PI / 2 + * - `startingAngle <= -1 * Math.PI / 2` defaults to `-1 * Math.PI / 2` + * - `startingAngle >= Math.PI / 2` defaults to `Math.PI / 2` + * - when `gauge.fullCircle=true`: + * - -1 * Math.PI < startingAngle < Math.PI + * - `startingAngle < -1 * Math.PI` defaults to `Math.PI` + * - `startingAngle > Math.PI` defaults to `Math.PI` + * @property {number} [gauge.arcLength=100] Set the length of the arc to be drawn in percent from -100 to 100.<br> + * Negative value will draw the arc **counterclockwise**. Need to be used in conjunction with `gauge.fullCircle=true`. + * + * **Limitations:** + * - -100 <= arcLength (in percent) <= 100 + * - 'arcLength < -100' defaults to -100 + * - 'arcLength > 100' defaults to 100 + * @property {string} [gauge.title=""] Set title of gauge chart. Use `\n` character for line break. + * - **NOTE:** + * - When `arc.needle.show=true` is set, special template `{=NEEDLE_VALUE}` can be used inside the title text to show current needle value. + * @property {string} [gauge.units] Set units of the gauge. + * @property {number} [gauge.width] Set width of gauge chart. + * @property {string} [gauge.type="single"] Set type of gauge to be displayed.<br><br> + * **Available Values:** + * - single + * - multi + * @property {number} [gauge.arcs.minWidth=5] Set minimal width of gauge arcs until the innerRadius disappears. + * @see [Demo: enforceMinMax, min/max](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeMinMax) + * @see [Demo: archLength](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeArcLength) + * @see [Demo: startingAngle](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeStartingAngle) + * @see [Demo: labelRatio](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeLabelRatio) + * @example + * gauge: { + * background: "#eee", // will set 'fill' css prop for '.bb-chart-arcs-background' classed element. + * fullCircle: false, + * label: { + * show: false, + * format: function(value, ratio, id) { + * return value; + * + * // to multiline, return with '\n' character + * // return value +"%\nLine1\n2Line2"; + * }, + * + * extents: function(value, isMax) { + * return (isMax ? "Max:" : "Min:") + value; + * }, + * + * // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value. + * // if data value is below than 0.1, text label will be hidden. + * threshold: 0.1, + * + * // set ratio callback. Should return ratio value + * ratio: function(d, radius, h) { + * ... + * return ratio; + * }, + * // or set ratio number + * ratio: 0.5 + * }, + * + * // disable expand transition for interaction + * expand: false, + * + * expand: { + * // set duration of expand transition to 500ms. + * duration: 500, + * + * // set expand area rate + * rate: 1 + * }, + * + * // enforce min/max value. + * // when given value < min, will render as empty value. + * // when value > max, will render to given max value not surpassing it. + * enforceMinMax: true, + * + * min: -100, + * max: 200, + * type: "single" // or 'multi' + * title: "Title Text", + * + * // when 'arc.needle.show=true' is set, can show current needle value. + * title: "Needle value:\n{=NEEDLE_VALUE}", + * + * units: "%", + * width: 10, + * startingAngle: -1 * Math.PI / 2, + * arcLength: 100, + * arcs: { + * minWidth: 5 + * } + * } + */ + gauge_background: "", + gauge_fullCircle: false, + gauge_label_show: true, + gauge_label_extents: undefined, + gauge_label_format: undefined, + gauge_label_ratio: undefined, + gauge_label_threshold: 0, + gauge_enforceMinMax: false, + gauge_min: 0, + gauge_max: 100, + gauge_type: "single", + gauge_startingAngle: -1 * Math.PI / 2, + gauge_arcLength: 100, + gauge_title: "", + gauge_units: undefined, + gauge_width: undefined, + gauge_arcs_minWidth: 5, + gauge_expand: {}, + gauge_expand_rate: 0.98, + gauge_expand_duration: 50 +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * pie config options + */ +var optPie = { + /** + * Set pie options + * @name pie + * @memberof Options + * @type {object} + * @property {object} pie Pie object + * @property {boolean} [pie.label.show=true] Show or hide label on each pie piece. + * @property {Function} [pie.label.format] Set formatter for the label on each pie piece. + * @property {number|Function} [pie.label.ratio=undefined] Set ratio of labels position. + * @property {number} [pie.label.threshold=0.05] Set threshold ratio to show/hide labels. + * @property {boolean|object} [pie.expand=true] Enable or disable expanding pie pieces. + * @property {number} [pie.expand.rate=0.98] Set expand rate. + * @property {number} [pie.expand.duration=50] Set expand transition time in ms. + * @property {number|object} [pie.innerRadius=0] Sets the inner radius of pie arc. + * @property {number|object|undefined} [pie.outerRadius=undefined] Sets the outer radius of pie arc. + * @property {number} [pie.padAngle=0] Set padding between data. + * @property {number} [pie.padding=0] Sets the gap between pie arcs. + * @property {number} [pie.startingAngle=0] Set starting angle where data draws. + * @see [Demo: expand.rate](https://naver.github.io/billboard.js/demo/#PieChartOptions.ExpandRate) + * @see [Demo: innerRadius](https://naver.github.io/billboard.js/demo/#PieChartOptions.InnerRadius) + * @see [Demo: outerRadius](https://naver.github.io/billboard.js/demo/#PieChartOptions.OuterRadius) + * @see [Demo: startingAngle](https://naver.github.io/billboard.js/demo/#PieChartOptions.StartingAngle) + * @example + * pie: { + * label: { + * show: false, + * format: function(value, ratio, id) { + * return d3.format("$")(value); + * + * // to multiline, return with '\n' character + * // return value +"%\nLine1\n2Line2"; + * }, + * + * // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value. + * // if data value is below than 0.1, text label will be hidden. + * threshold: 0.1, + * + * // set ratio callback. Should return ratio value + * ratio: function(d, radius, h) { + * ... + * return ratio; + * }, + * // or set ratio number + * ratio: 0.5 + * }, + * + * // disable expand transition for interaction + * expand: false, + * + * expand: { + * // set duration of expand transition to 500ms. + * duration: 500, + * + * // set expand area rate + * rate: 1 + * }, + * + * innerRadius: 0, + * + * // set different innerRadius for each data + * innerRadius: { + * data1: 10, + * data2: 0 + * }, + * + * outerRadius: 100, + * + * // set different outerRadius for each data + * outerRadius: { + * data1: 50, + * data2: 100 + * } + * + * padAngle: 0.1, + * padding: 0, + * startingAngle: 1 + * } + */ + pie_label_show: true, + pie_label_format: undefined, + pie_label_ratio: undefined, + pie_label_threshold: 0.05, + pie_expand: {}, + pie_expand_rate: 0.98, + pie_expand_duration: 50, + pie_innerRadius: 0, + pie_outerRadius: undefined, + pie_padAngle: 0, + pie_padding: 0, + pie_startingAngle: 0 +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * polar config options + */ +var optPolar = { + /** + * Set polar options + * @name polar + * @memberof Options + * @type {object} + * @property {object} polar Polar object + * @property {boolean} [polar.label.show=true] Show or hide label on each polar piece. + * @property {Function} [polar.label.format] Set formatter for the label on each polar piece. + * @property {number} [polar.label.threshold=0.05] Set threshold ratio to show/hide labels. + * @property {number|Function} [polar.label.ratio=undefined] Set ratio of labels position. + * @property {number} [polar.level.depth=3] Set the level depth. + * @property {boolean} [polar.level.show=true] Show or hide level. + * @property {string} [polar.level.text.backgroundColor="#fff"] Set label text's background color. + * @property {Function} [polar.level.text.format] Set format function for the level value.<br>- Default value: `(x) => x % 1 === 0 ? x : x.toFixed(2)` + * @property {boolean} [polar.level.text.show=true] Show or hide level text. + * @property {number} [polar.padAngle=0] Set padding between data. + * @property {number} [polar.padding=0] Sets the gap between pie arcs. + * @property {number} [polar.startingAngle=0] Set starting angle where data draws. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Chart.PolarChart) + * @example + * polar: { + * label: { + * show: false, + * format: function(value, ratio, id) { + * return d3.format("$")(value); + * + * // to multiline, return with '\n' character + * // return value +"%\nLine1\n2Line2"; + * }, + * + * // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value. + * // if data value is below than 0.1, text label will be hidden. + * threshold: 0.1, + * + * // set ratio callback. Should return ratio value + * ratio: function(d, radius, h) { + * ... + * return ratio; + * }, + * // or set ratio number + * ratio: 0.5 + * }, + * level: { + * depth: 3, + * max: 500, + * show: true, + * text: { + * format: function(x) { + * return x + "%"; + * }, + * show: true, + * backgroundColor: "red" + * } + * }, + * padAngle: 0.1, + * padding: 0, + * startingAngle: 1 + * } + */ + polar_label_show: true, + polar_label_format: undefined, + polar_label_threshold: 0.05, + polar_label_ratio: undefined, + polar_level_depth: 3, + polar_level_max: undefined, + polar_level_show: true, + polar_level_text_backgroundColor: "#fff", + polar_level_text_format: function (x) { return (x % 1 === 0 ? x : x.toFixed(2)); }, + polar_level_text_show: true, + polar_padAngle: 0, + polar_padding: 0, + polar_startingAngle: 0 +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * radar config options + */ +var optRadar = { + /** + * Set radar options + * - **NOTE:** + * > When x tick text contains `\n`, it's used as line break. + * @name radar + * @memberof Options + * @type {object} + * @property {object} radar Radar object + * @property {number} [radar.axis.max=undefined] The max value of axis. If not given, it'll take the max value from the given data. + * @property {boolean} [radar.axis.line.show=true] Show or hide axis line. + * @property {number} [radar.axis.text.position.x=0] x coordinate position, relative the original. + * @property {number} [radar.axis.text.position.y=0] y coordinate position, relative the original. + * @property {boolean} [radar.axis.text.show=true] Show or hide axis text. + * @property {boolean} [radar.direction.clockwise=false] Set the direction to be drawn. + * @property {number} [radar.level.depth=3] Set the level depth. + * @property {boolean} [radar.level.show=true] Show or hide level. + * @property {Function} [radar.level.text.format] Set format function for the level value.<br>- Default value: `(x) => x % 1 === 0 ? x : x.toFixed(2)` + * @property {boolean} [radar.level.text.show=true] Show or hide level text. + * @property {number} [radar.size.ratio=0.87] Set size ratio. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Chart.RadarChart) + * @see [Demo: radar axis](https://naver.github.io/billboard.js/demo/#RadarChartOptions.RadarAxis) + * @see [Demo: radar level](https://naver.github.io/billboard.js/demo/#RadarChartOptions.RadarLevel) + * @see [Demo: radar size](https://naver.github.io/billboard.js/demo/#RadarChartOptions.RadarSize) + * @see [Demo: radar axis multiline](https://naver.github.io/billboard.js/demo/#RadarChartOptions.RadarAxisMultiline) + * @example + * radar: { + * axis: { + * max: 50, + * line: { + * show: false + * }, + * text: { + * position: { + * x: 0, + * y: 0 + * }, + * show: false + * } + * }, + * direction: { + * clockwise: true + * }, + * level: { + * show: false, + * text: { + * format: function(x) { + * return x + "%"; + * }, + * show: true + * } + * }, + * size: { + * ratio: 0.7 + * } + * } + */ + radar_axis_max: undefined, + radar_axis_line_show: true, + radar_axis_text_show: true, + radar_axis_text_position: {}, + radar_level_depth: 3, + radar_level_show: true, + radar_level_text_format: function (x) { return (x % 1 === 0 ? x : x.toFixed(2)); }, + radar_level_text_show: true, + radar_size_ratio: 0.87, + radar_direction_clockwise: false +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * treemap config options + */ +var optTreemap = { + /** + * Set treemap options + * @name treemap + * @memberof Options + * @type {object} + * @property {object} treemap Treemap object + * @property {string} [treemap.tile="binary"] Treemap tile type + * - **Available tile type values:** + * - binary ([d3.treemapBinary](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapBinary)) + * - dice ([d3.treemapDice](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapDice)) + * - slice ([d3.treemapSlice](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapSlice)) + * - sliceDice ([d3.treemapSliceDice](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapSliceDice)) + * - squrify ([d3.treemapSquarify](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapSquarify)) + * - resquarify ([d3.treemapResquarify](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapResquarify)) + * @property {Function} [treemap.label.format] Set formatter for the label text. + * @property {number} [treemap.label.threshold=0.05] Set threshold ratio to show/hide labels text. + * @property {number} [treemap.label.show=true] Show or hide label text. + * @see [Demo: treemap](https://naver.github.io/billboard.js/demo/#Chart.TreemapChart) + * @example + * treemap: { + * // "binary", "dice", "slice", "sliceDice", "squrify", "resquarify" + * tile: "dice", + * + * label: { + * // show or hide label text + * show: false, + * + * // set label text formatter + * format: function(value, ratio, id) { + * return d3.format("$")(value); + * + * // to multiline, return with '\n' character + * // return value +"%\nLine1\n2Line2"; + * }, + * + * // set ratio number + * ratio: 0.05 + * } + * } + */ + treemap_tile: "binary", + treemap_label_format: undefined, + treemap_label_threshold: 0.05, + treemap_label_show: true +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Extend Axis + * @param {Array} module Module to be extended + * @param {Array} option Option object to be extended + * @private + */ +function extendAxis(module, option) { + extend(ChartInternal.prototype, Object.values(internal).concat(module)); + extend(Chart.prototype, api); + Options.setOptions(Object.values(options).concat(option || [])); +} +/** + * Extend Line type modules + * @param {object} module Module to be extended + * @param {Array} option Option object to be extended + * @private + */ +function extendLine(module, option) { + extendAxis([shapePointCommon, shapePoint, shapeLine].concat(module || [])); + Options.setOptions([optPoint, optLine].concat(option || [])); +} +/** + * Extend Arc type modules + * @param {Array} module Module to be extended + * @param {Array} option Option object to be extended + * @private + */ +function extendArc(module, option) { + extend(ChartInternal.prototype, [shapeArc, shapePointCommon].concat(module || [])); + Options.setOptions([optPoint].concat(option || [])); +} +// Area types +var area = function () { return (extendLine(shapeArea, [optArea]), (area = function () { return TYPE.AREA; })()); }; +var areaLineRange = function () { return (extendLine(shapeArea, [optArea]), (areaLineRange = function () { return TYPE.AREA_LINE_RANGE; })()); }; +var areaStepRange = function () { return (extendLine(shapeArea, [optArea]), (areaStepRange = function () { return TYPE.AREA_STEP_RANGE; })()); }; +var areaSpline = function () { return (extendLine(shapeArea, [optArea, optSpline]), (areaSpline = function () { return TYPE.AREA_SPLINE; })()); }; +var areaSplineRange = function () { return (extendLine(shapeArea, [optArea, optSpline]), (areaSplineRange = function () { return TYPE.AREA_SPLINE_RANGE; })()); }; +var areaStep = function () { return (extendLine(shapeArea, [optArea]), (areaStep = function () { return TYPE.AREA_STEP; })()); }; +// Line types +var line = function () { return (extendLine(), (line = function () { return TYPE.LINE; })()); }; +var spline = function () { return (extendLine(undefined, [optSpline]), (spline = function () { return TYPE.SPLINE; })()); }; +var step = function () { return (extendLine(), (step = function () { return TYPE.STEP; })()); }; +// Arc types +var donut = function () { return (extendArc(undefined, [optArc, optDonut]), (donut = function () { return TYPE.DONUT; })()); }; +var gauge = function () { return (extendArc([shapeGauge], [optArc, optGauge]), (gauge = function () { return TYPE.GAUGE; })()); }; +var pie = function () { return (extendArc(undefined, [optArc, optPie]), (pie = function () { return TYPE.PIE; })()); }; +var polar = function () { return (extendArc([shapePolar], [optArc, optPolar]), (polar = function () { return TYPE.POLAR; })()); }; +var radar = function () { return (extendArc([internal.eventrect, shapePoint, shapeRadar], [optPoint, optRadar, { axis_x_categories: options.optAxis.axis_x_categories }]), (radar = function () { return TYPE.RADAR; })()); }; +// Axis based types +var bar = function () { return (extendAxis([shapeBar, shapePointCommon], [optBar, optPoint]), (bar = function () { return TYPE.BAR; })()); }; +var bubble = function () { return (extendAxis([shapePointCommon, shapePoint, shapeBubble], [optBubble, optPoint]), (bubble = function () { return TYPE.BUBBLE; })()); }; +var candlestick = function () { return (extendAxis([shapeCandlestick, shapePointCommon], [optCandlestick, optPoint]), (candlestick = function () { return TYPE.CANDLESTICK; })()); }; +var scatter = function () { return (extendAxis([shapePointCommon, shapePoint], [optPoint, optScatter]), (scatter = function () { return TYPE.SCATTER; })()); }; +// Non Axis based types +var funnel = function () { return (extendArc([shapeFunnel], [optFunnel]), (funnel = function () { return TYPE.FUNNEL; })()); }; +var treemap = function () { return (extendAxis([shapeTreemap], [optTreemap]), (treemap = function () { return TYPE.TREEMAP; })()); }; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Toggler function to select or unselect + * @param {boolean} isSelection Weather select or unselect + * @param {Array} ids Target ids + * @param {Array} indices Indices number + * @param {boolean} resetOther Weather reset other selected points (only for selection) + * @private + */ +function setSelection(isSelection, ids, indices, resetOther) { + if (isSelection === void 0) { isSelection = false; } + var $$ = this; + var config = $$.config, main = $$.$el.main; + var selectionGrouped = config.data_selection_grouped; + var isSelectable = config.data_selection_isselectable.bind($$.api); + if (!config.data_selection_enabled) { + return; + } + main.selectAll(".".concat($SHAPE.shapes)) + .selectAll(".".concat($SHAPE.shape)) + .each(function (d) { + var shape = select(this); + var _a = d.data ? d.data : d, id = _a.id, index = _a.index; + var toggle = $$.getToggle(this, d).bind($$); + var isTargetId = selectionGrouped || !ids || ids.indexOf(id) >= 0; + var isTargetIndex = !indices || indices.indexOf(index) >= 0; + var isSelected = shape.classed($SELECT.SELECTED); + // line/area selection not supported yet + if (shape.classed($LINE.line) || shape.classed($AREA.area)) { + return; + } + if (isSelection) { + if (isTargetId && isTargetIndex && isSelectable(d) && !isSelected) { + toggle(true, shape.classed($SELECT.SELECTED, true), d, index); + } + else if (isDefined(resetOther) && resetOther && isSelected) { + toggle(false, shape.classed($SELECT.SELECTED, false), d, index); + } + } + else { + if (isTargetId && isTargetIndex && isSelectable(d) && isSelected) { + toggle(false, shape.classed($SELECT.SELECTED, false), d, index); + } + } + }); +} +var apiSelection = { + /** + * Get selected data points.<br><br> + * By this API, you can get selected data points information. To use this API, data.selection.enabled needs to be set true. + * @function selected + * @instance + * @memberof Chart + * @param {string} [targetId] You can filter the result by giving target id that you want to get. If not given, all of data points will be returned. + * @returns {Array} dataPoint Array of the data points.<br>ex.) `[{x: 1, value: 200, id: "data1", index: 1, name: "data1"}, ...]` + * @example + * // all selected data points will be returned. + * chart.selected(); + * // --> ex.) [{x: 1, value: 200, id: "data1", index: 1, name: "data1"}, ... ] + * + * // all selected data points of data1 will be returned. + * chart.selected("data1"); + */ + selected: function (targetId) { + var $$ = this.internal; + var dataPoint = []; + $$.$el.main.selectAll(".".concat($SHAPE.shapes + $$.getTargetSelectorSuffix(targetId))) + .selectAll(".".concat($SHAPE.shape)) + .filter(function () { + return select(this).classed($SELECT.SELECTED); + }) + .each(function (d) { return dataPoint.push(d); }); + return dataPoint; + }, + /** + * Set data points to be selected. ([`data.selection.enabled`](Options.html#.data%25E2%2580%25A4selection%25E2%2580%25A4enabled) option should be set true to use this method) + * @function select + * @instance + * @memberof Chart + * @param {string|Array} [ids] id value to get selected. + * @param {Array} [indices] The index array of data points. If falsy value given, will select all data points. + * @param {boolean} [resetOther] Unselect already selected. + * @example + * // select all data points + * chart.select(); + * + * // select all from 'data2' + * chart.select("data2"); + * + * // select all from 'data1' and 'data2' + * chart.select(["data1", "data2"]); + * + * // select from 'data1', indices 2 and unselect others selected + * chart.select("data1", [2], true); + * + * // select from 'data1', indices 0, 3 and 5 + * chart.select("data1", [0, 3, 5]); + */ + select: function (ids, indices, resetOther) { + var $$ = this.internal; + setSelection.bind($$)(true, ids, indices, resetOther); + }, + /** + * Set data points to be un-selected. + * @function unselect + * @instance + * @memberof Chart + * @param {string|Array} [ids] id value to be unselected. + * @param {Array} [indices] The index array of data points. If falsy value given, will select all data points. + * @example + * // unselect all data points + * chart.unselect(); + * + * // unselect all from 'data1' + * chart.unselect("data1"); + * + * // unselect from 'data1', indices 2 + * chart.unselect("data1", [2]); + */ + unselect: function (ids, indices) { + var $$ = this.internal; + setSelection.bind($$)(false, ids, indices); + } +}; + +/** + * Select subchart by giving x domain range. + * - **ℹ️ NOTE:** + * - Due to the limitations of floating point precision, domain value may not be exact returning approximately values. + * @function subchart + * @instance + * @memberof Chart + * @param {Array} domainValue If domain range is given, the subchart will be seleted to the given domain. If no argument is given, the current subchart selection domain will be returned. + * @returns {Array} domain value in array + * @example + * // Specify domain for subchart selection + * chart.subchart([1, 2]); + * + * // Get the current subchart selection domain range + * // Domain value may not be exact returning approximately values. + * chart.subchart(); + */ +// NOTE: declared funciton assigning to variable to prevent duplicated method generation in JSDoc. +var subchart$1 = function (domainValue) { + var _a; + var $$ = this.internal; + var axis = $$.axis, brush = $$.brush, config = $$.config, _b = $$.scale, x = _b.x, subX = _b.subX, state = $$.state; + var domain; + if (config.subchart_show) { + domain = domainValue; + if (Array.isArray(domain)) { + if (axis.isTimeSeries()) { + domain = domain.map(function (x) { return parseDate.bind($$)(x); }); + } + var isWithinRange = $$.withinRange(domain, $$.getZoomDomain("subX", true), $$.getZoomDomain("subX")); + if (isWithinRange) { + state.domain = domain; + brush.move(brush.getSelection(), domain.map(subX)); + } + } + else { + domain = (_a = state.domain) !== null && _a !== void 0 ? _a : x.orgDomain(); + } + } + return domain; +}; +extend(subchart$1, { + /** + * Show subchart + * - **NOTE:** for ESM imports, needs to import 'subchart' exports and instantiate it by calling `subchart()`. + * @function subchart․show + * @instance + * @memberof Chart + * @example + * // for ESM imports, needs to import 'subchart' and must be instantiated first to enable subchart's API. + * import {subchart} from "billboard.js"; + * + * const chart = bb.generate({ + * ... + * subchart: { + * // need to be instantiated by calling 'subchart()' + * enabled: subchart() + * + * // in case don't want subchart to be shown at initialization, instantiate with '!subchart()' + * enabled: !subchart() + * } + * }); + * + * chart.subchart.show(); + */ + show: function () { + var _a, _b; + var $$ = this.internal; + var subchart = $$.$el.subchart, config = $$.config; + var show = config.subchart_show; + if (!show) { + // unbind zoom event bound to chart rect area + $$.unbindZoomEvent(); + config.subchart_show = !show; + !subchart.main && $$.initSubchart(); + var $target = subchart.main.selectAll(".".concat($COMMON.target)); + // need to cover when new data has been loaded + if ($$.data.targets.length !== $target.size()) { + $$.updateSizes(); + $$.updateTargetsForSubchart($$.data.targets); + $target = (_a = subchart.main) === null || _a === void 0 ? void 0 : _a.selectAll(".".concat($COMMON.target)); + } + $target === null || $target === void 0 ? void 0 : $target.style("opacity", null); + (_b = subchart.main) === null || _b === void 0 ? void 0 : _b.style("display", null); + this.resize(); + } + }, + /** + * Hide generated subchart + * - **NOTE:** for ESM imports, needs to import 'subchart' exports and instantiate it by calling `subchart()`. + * @function subchart․hide + * @instance + * @memberof Chart + * @example + * chart.subchart.hide(); + */ + hide: function () { + var $$ = this.internal; + var main = $$.$el.subchart.main, config = $$.config; + if (config.subchart_show && (main === null || main === void 0 ? void 0 : main.style("display")) !== "none") { + config.subchart_show = false; + main.style("display", "none"); + this.resize(); + } + }, + /** + * Toggle the visiblity of subchart + * - **NOTE:** for ESM imports, needs to import 'subchart' exports and instantiate it by calling `subchart()`. + * @function subchart․toggle + * @instance + * @memberof Chart + * @example + * // When subchart is hidden, will be shown + * // When subchart is shown, will be hidden + * chart.subchart.toggle(); + */ + toggle: function () { + var $$ = this.internal; + var config = $$.config; + this.subchart[config.subchart_show ? "hide" : "show"](); + }, + /** + * Reset subchart selection + * @function subchart․reset + * @instance + * @memberof Chart + * @example + * // Reset subchart selection + * chart.subchart.reset(); + */ + reset: function () { + var $$ = this.internal; + var brush = $$.brush; + brush.clear(brush.getSelection()); + } +}); +var apiSubchart = { + subchart: subchart$1 +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Zoom by giving x domain range. + * - **ℹ️ NOTE:** + * - For `wheel` type zoom, the minimum zoom range will be set as the given domain range. To get the initial state, [.unzoom()](#unzoom) should be called. + * - To be used [zoom.enabled](Options.html#.zoom) option should be set as `truthy`. + * - When x axis type is `category`, domain range should be specified as index numbers. + * - Due to the limitations of floating point precision, domain value may not be exact returning approximately values. + * @function zoom + * @instance + * @memberof Chart + * @param {Array} domainValue If domain range is given, the chart will be zoomed to the given domain. If no argument is given, the current zoomed domain will be returned. + * @returns {Array} domain value in array + * @example + * // Zoom to specified domain range + * chart.zoom([10, 20]); + * + * // For timeseries x axis, the domain value can be string, but the format should match with the 'data.xFormat' option. + * chart.zoom(["2021-02-03", "2021-02-08"]); + * + * // For category x axis, the domain value should be index number. + * chart.zoom([0, 3]); + * + * // Get the current zoomed domain range + * // Domain value may not be exact returning approximately values. + * chart.zoom(); + */ +// NOTE: declared funciton assigning to variable to prevent duplicated method generation in JSDoc. +var zoom$1 = function (domainValue) { + var _a; + var $$ = this.internal; + var axis = $$.axis, config = $$.config, org = $$.org, scale = $$.scale, state = $$.state; + var isCategorized = axis.isCategorized(); + var domain; + if (config.zoom_enabled) { + domain = domainValue; + if (Array.isArray(domain)) { + if (axis.isTimeSeries()) { + domain = domain.map(function (x) { return parseDate.bind($$)(x); }); + } + var isWithinRange = $$.withinRange(domain, $$.getZoomDomain("zoom", true), $$.getZoomDomain("zoom")); + if (isWithinRange) { + state.domain = domain; + domain = $$.getZoomDomainValue(domain); + // hide any possible tooltip show before the zoom + $$.api.tooltip.hide(); + if (config.subchart_show) { + var x = scale.zoom || scale.x; + $$.brush.getSelection().call($$.brush.move, domain.map(x)); + // resultDomain = domain; + } + else { + // in case of 'config.zoom_rescale=true', use org.xScale + var x = isCategorized ? scale.x.orgScale() : (org.xScale || scale.x); + $$.updateCurrentZoomTransform(x, domain); + } + $$.setZoomResetButton(); + } + } + else { + domain = $$.zoom.getDomain(); + } + } + return (_a = state.domain) !== null && _a !== void 0 ? _a : domain; +}; +extend(zoom$1, { + /** + * Enable and disable zooming. + * @function zoom․enable + * @instance + * @memberof Chart + * @param {string|boolean} enabled Possible string values are "wheel" or "drag". If enabled is true, "wheel" will be used. If false is given, zooming will be disabled.<br>When set to false, the current zooming status will be reset. + * @example + * // Enable zooming using the mouse wheel + * chart.zoom.enable(true); + * // Or + * chart.zoom.enable("wheel"); + * + * // Enable zooming by dragging + * chart.zoom.enable("drag"); + * + * // Disable zooming + * chart.zoom.enable(false); + */ + enable: function (enabled) { + var $$ = this.internal; + var config = $$.config; + if (/^(drag|wheel)$/.test(enabled)) { + config.zoom_type = enabled; + } + config.zoom_enabled = !!enabled; + if (!$$.zoom) { + $$.initZoom(); + $$.bindZoomEvent(); + } + else if (enabled === false) { + $$.bindZoomEvent(false); + } + $$.updateAndRedraw(); + }, + /** + * Set or get x Axis maximum zoom range value + * @function zoom․max + * @instance + * @memberof Chart + * @param {number} [max] maximum value to set for zoom + * @returns {number} zoom max value + * @example + * // Set maximum range value + * chart.zoom.max(20); + */ + max: function (max) { + var $$ = this.internal; + var config = $$.config, xDomain = $$.org.xDomain; + if (max === 0 || max) { + config.zoom_x_max = getMinMax$1("max", [xDomain[1], max]); + } + return config.zoom_x_max; + }, + /** + * Set or get x Axis minimum zoom range value + * @function zoom․min + * @instance + * @memberof Chart + * @param {number} [min] minimum value to set for zoom + * @returns {number} zoom min value + * @example + * // Set minimum range value + * chart.zoom.min(-1); + */ + min: function (min) { + var $$ = this.internal; + var config = $$.config, xDomain = $$.org.xDomain; + if (min === 0 || min) { + config.zoom_x_min = getMinMax$1("min", [xDomain[0], min]); + } + return config.zoom_x_min; + }, + /** + * Set zoom range + * @function zoom․range + * @instance + * @memberof Chart + * @param {object} [range] zoom range + * @returns {object} zoom range value + * { + * min: 0, + * max: 100 + * } + * @example + * chart.zoom.range({ + * min: 10, + * max: 100 + * }); + */ + range: function (range) { + var zoom = this.zoom; + if (isObject(range)) { + var min = range.min, max = range.max; + isDefined(min) && zoom.min(min); + isDefined(max) && zoom.max(max); + } + return { + min: zoom.min(), + max: zoom.max() + }; + } +}); +var apiZoom = { + zoom: zoom$1, + /** + * Unzoom zoomed area + * - **NOTE:** Calling .unzoom() will not trigger zoom events. + * @function unzoom + * @instance + * @memberof Chart + * @example + * chart.unzoom(); + */ + unzoom: function () { + var $$ = this.internal; + var config = $$.config, _a = $$.$el, eventRect = _a.eventRect, zoomResetBtn = _a.zoomResetBtn, zoom = $$.scale.zoom, state = $$.state; + if (zoom) { + config.subchart_show ? + $$.brush.getSelection().call($$.brush.move, null) : + $$.zoom.updateTransformScale(zoomIdentity); + $$.updateZoom(true); + zoomResetBtn === null || zoomResetBtn === void 0 ? void 0 : zoomResetBtn.style("display", "none"); + // reset transform + if (zoomTransform(eventRect.node()) !== zoomIdentity) { + $$.zoom.transform(eventRect, zoomIdentity); + } + state.domain = undefined; + } + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var subchart = { + /** + * Initialize the brush. + * @private + */ + initBrush: function () { + var $$ = this; + var config = $$.config, scale = $$.scale, subchart = $$.$el.subchart, state = $$.state; + var isRotated = config.axis_rotated; + var height = config.subchart_size_height; + var lastDomain; + var lastSelection; + var timeout; + // set the brush + $$.brush = (isRotated ? brushY() : brushX()).handleSize(5); + // bind brush event + $$.brush.on("start brush end", function (event) { + var selection = event.selection, sourceEvent = event.sourceEvent, target = event.target, type = event.type; + if (type === "start") { + $$.state.inputType === "touch" && $$.hideTooltip(); + lastSelection = sourceEvent ? selection : null; + // sourceEvent && (state.domain = null); + } + // if (type === "brush") { + if (/(start|brush)/.test(type)) { + // when brush selection updates happens on one edge, update only chainging edge and + // is only for adjustment of given domain range to be used to return current domain range. + type === "brush" && sourceEvent && state.domain && + (lastSelection === null || lastSelection === void 0 ? void 0 : lastSelection.forEach(function (v, i) { + if (v !== selection[i]) { + state.domain[i] = scale.x.orgDomain()[i]; + } + })); + $$.redrawForBrush(type !== "start"); + } + if (type === "end") { + lastDomain = scale.x.orgDomain(); + } + // handle brush's handle position & visibility + if (target === null || target === void 0 ? void 0 : target.handle) { + if (selection === null) { + $$.brush.handle.attr("display", "none"); + } + else { + $$.brush.handle.attr("display", null) + .attr("transform", function (d, i) { + var pos = [selection[i], height / 2]; + return "translate(".concat(isRotated ? pos.reverse() : pos, ")"); + }); + } + } + }); + $$.brush.updateResize = function () { + var _this = this; + timeout && clearTimeout(timeout); + timeout = setTimeout(function () { + var selection = _this.getSelection(); + lastDomain && brushSelection(selection.node()) && + _this.move(selection, lastDomain.map(scale.subX.orgScale())); + }, 0); + }; + $$.brush.update = function () { + var _a; + var extent = this.extent()(); + if (extent[1].filter(function (v) { return isNaN(v); }).length === 0) { + (_a = subchart.main) === null || _a === void 0 ? void 0 : _a.select(".".concat(CLASS.brush)).call(this); + } + return this; + }; + // set the brush extent + $$.brush.scale = function (scale) { + var h = config.subchart_size_height; + var extent = $$.axis.getExtent(); + if (!extent && scale.range) { + extent = [[0, 0], [scale.range()[1], h]]; + } + else if (isArray(extent)) { + extent = extent.map(function (v, i) { return [v, i > 0 ? h : i]; }); + } + // [[x0, y0], [x1, y1]], where [x0, y0] is the top-left corner and [x1, y1] is the bottom-right corner + isRotated && extent[1].reverse(); + this.extent(extent); + // when extent updates, brush selection also be re-applied + // https://github.com/d3/d3/issues/2918 + this.update(); + }; + $$.brush.getSelection = function () { return ( + // @ts-ignore + subchart.main ? subchart.main.select(".".concat(CLASS.brush)) : select([])); }; + }, + /** + * Initialize the subchart. + * @private + */ + initSubchart: function () { + var $$ = this; + var config = $$.config, _a = $$.state, clip = _a.clip, hasAxis = _a.hasAxis, _b = $$.$el, defs = _b.defs, svg = _b.svg, subchart = _b.subchart, axis = _b.axis; + if (!hasAxis) { + return; + } + var visibility = config.subchart_show ? null : "hidden"; + var clipId = "".concat(clip.id, "-subchart"); + var clipPath = $$.getClipPath(clipId); + clip.idSubchart = clipId; + $$.appendClip(defs, clipId); + $$.initBrush(); + subchart.main = svg.append("g") + .classed(CLASS.subchart, true) + .attr("transform", $$.getTranslate("context")); + var main = subchart.main; + main.style("visibility", visibility); + // Define g for chart area + main.append("g") + .attr("clip-path", clipPath) + .attr("class", CLASS.chart); + // Define g for chart types area + ["bar", "line", "bubble", "candlestick", "scatter"].forEach(function (v) { + var type = capitalize(/^(bubble|scatter)$/.test(v) ? "circle" : v); + if ($$.hasType(v) || $$.hasTypeOf(type)) { + var chart = main.select(".".concat(CLASS.chart)); + var chartClassName = CLASS["chart".concat(type, "s")]; + if (chart.select(".".concat(chartClassName)).empty()) { + chart + .append("g") + .attr("class", chartClassName); + } + } + }); + // Add extent rect for Brush + var brush = main.append("g") + .attr("clip-path", clipPath) + .attr("class", CLASS.brush) + .call($$.brush); + config.subchart_showHandle && $$.addBrushHandle(brush); + // ATTENTION: This must be called AFTER chart added + // Add Axis + axis.subX = main.append("g") + .attr("class", CLASS.axisX) + .attr("transform", $$.getTranslate("subX")) + .attr("clip-path", config.axis_rotated ? "" : clip.pathXAxis) + .style("visibility", config.subchart_axis_x_show ? visibility : "hidden"); + }, + /** + * Add brush handle + * Enabled when: subchart.showHandle=true + * @param {d3Selection} brush Brush selection + * @private + */ + addBrushHandle: function (brush) { + var $$ = this; + var config = $$.config; + var isRotated = config.axis_rotated; + var initRange = config.subchart_init_range; + var customHandleClass = "handle--custom"; + // brush handle shape's path + var path = isRotated ? + [ + "M8.5 0 a6 6 0 0 0 -6 -6.5 H-2.5 a 6 6 0 0 0 -6 6.5 z m-5 -2 H-3.5 m7 -2 H-3.5z", + "M8.5 0 a6 -6 0 0 1 -6 6.5 H-2.5 a 6 -6 0 0 1 -6 -6.5z m-5 2 H-3.5 m7 2 H-3.5z" + ] : + [ + "M0 -8.5 A6 6 0 0 0 -6.5 -3.5 V2.5 A6 6 0 0 0 0 8.5 Z M-2 -3.5 V3.5 M-4 -3.5 V3.5z", + "M0 -8.5 A6 6 0 0 1 6.5 -3.5 V2.5 A6 6 0 0 1 0 8.5 Z M2 -3.5 V3.5 M4 -3.5 V3.5z" + ]; + $$.brush.handle = brush.selectAll(".".concat(customHandleClass)) + .data(isRotated ? [{ type: "n" }, { type: "s" }] : [{ type: "w" }, { type: "e" }]) + .enter() + .append("path") + .attr("class", customHandleClass) + .attr("cursor", "".concat(isRotated ? "ns" : "ew", "-resize")) + .attr("d", function (d) { return path[+/[se]/.test(d.type)]; }) + .attr("display", initRange ? null : "none"); + }, + /** + * Update sub chart + * @param {object} targets $$.data.targets + * @private + */ + updateTargetsForSubchart: function (targets) { + var $$ = this; + var config = $$.config, state = $$.state, main = $$.$el.subchart.main; + if (config.subchart_show) { + ["bar", "line", "bubble", "candlestick", "scatter"] + .filter(function (v) { return $$.hasType(v) || $$.hasTypeOf(capitalize(v)); }) + .forEach(function (v) { + var isPointType = /^(bubble|scatter)$/.test(v); + var name = capitalize(isPointType ? "circle" : v); + var chartClass = $$.getChartClass(name, true); + var shapeClass = $$.getClass(isPointType ? "circles" : "".concat(v, "s"), true); + var shapeChart = main.select(".".concat(CLASS["chart".concat("".concat(name, "s"))])); + if (isPointType) { + var circle = shapeChart + .selectAll(".".concat(CLASS.circles)) + .data(targets.filter($$["is".concat(capitalize(v), "Type")].bind($$))) + .attr("class", shapeClass); + circle.exit().remove(); + circle.enter().append("g") + .attr("class", shapeClass); + } + else { + var shapeUpdate = shapeChart + .selectAll(".".concat(CLASS["chart".concat(name)])) + .attr("class", chartClass) + .data(targets.filter($$["is".concat(name, "Type")].bind($$))); + var shapeEnter = shapeUpdate.enter() + .append("g") + .style("opacity", "0") + .attr("class", chartClass) + .append("g") + .attr("class", shapeClass); + shapeUpdate.exit().remove(); + // Area + v === "line" && $$.hasTypeOf("Area") && + shapeEnter.append("g").attr("class", $$.getClass("areas", true)); + } + }); + // -- Brush --// + main.selectAll(".".concat(CLASS.brush, " rect")) + .attr(config.axis_rotated ? "width" : "height", config.axis_rotated ? state.width2 : state.height2); + } + }, + /** + * Redraw subchart. + * @private + * @param {boolean} withSubchart whether or not to show subchart + * @param {number} duration duration + * @param {object} shape Shape's info + */ + redrawSubchart: function (withSubchart, duration, shape) { + var _a; + var $$ = this; + var config = $$.config, main = $$.$el.subchart.main, state = $$.state; + var withTransition = !!duration; + main.style("visibility", config.subchart_show ? null : "hidden"); + // subchart + if (config.subchart_show) { + // reflect main chart to extent on subchart if zoomed + if (((_a = state.event) === null || _a === void 0 ? void 0 : _a.type) === "zoom") { + $$.brush.update(); + } + // update subchart elements if needed + if (withSubchart) { + var initRange = config.subchart_init_range; + // extent rect + !brushEmpty($$) && $$.brush.update(); + Object.keys(shape.type).forEach(function (v) { + var name = capitalize(v); + var drawFn = $$["generateDraw".concat(name)](shape.indices[v], true); + // call shape's update & redraw method + $$["update".concat(name)](withTransition, true); + $$["redraw".concat(name)](drawFn, withTransition, true); + }); + if ($$.hasType("bubble") || $$.hasType("scatter")) { + var cx = shape.pos.cx; + var cy = $$.updateCircleY(true); + $$.updateCircle(true); + $$.redrawCircle(cx, cy, withTransition, undefined, true); + } + if (!state.rendered && initRange) { + state.domain = initRange; + $$.brush.move($$.brush.getSelection(), initRange.map($$.scale.x)); + } + } + } + }, + /** + * Redraw the brush. + * @param {boolean} [callCallbck=true] Call 'onbrush' callback or not. + * @private + */ + redrawForBrush: function (callCallbck) { + var _a; + if (callCallbck === void 0) { callCallbck = true; } + var $$ = this; + var _b = $$.config, onBrush = _b.subchart_onbrush, withY = _b.zoom_rescale, scale = $$.scale, state = $$.state; + $$.redraw({ + withTransition: false, + withY: withY, + withSubchart: false, + withUpdateXDomain: true, + withDimension: false + }); + callCallbck && state.rendered && + onBrush.bind($$.api)((_a = state.domain) !== null && _a !== void 0 ? _a : scale.x.orgDomain()); + }, + /** + * Transform context + * @param {boolean} withTransition indicates transition is enabled + * @param {object} transitions The return value of the generateTransitions method of Axis. + * @private + */ + transformContext: function (withTransition, transitions) { + var $$ = this; + var subchart = $$.$el.subchart, $T = $$.$T; + var subXAxis = (transitions === null || transitions === void 0 ? void 0 : transitions.axisSubX) ? + transitions.axisSubX : + $T(subchart.main.select(".".concat(CLASS.axisX)), withTransition); + subchart.main.attr("transform", $$.getTranslate("context")); + subXAxis.attr("transform", $$.getTranslate("subX")); + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var zoom = { + /** + * Initialize zoom. + * @private + */ + initZoom: function () { + var $$ = this; + $$.scale.zoom = null; + $$.generateZoom(); + $$.config.zoom_type === "drag" && + $$.initZoomBehaviour(); + }, + /** + * Bind zoom event + * @param {boolean} bind Weather bind or unbound + * @private + */ + bindZoomEvent: function (bind) { + if (bind === void 0) { bind = true; } + var $$ = this; + var config = $$.config; + var zoomEnabled = config.zoom_enabled; + if (zoomEnabled && bind) { + // Do not bind zoom event when subchart is shown + !config.subchart_show && + $$.bindZoomOnEventRect(); + } + else if (bind === false) { + $$.api.unzoom(); + $$.unbindZoomEvent(); + } + }, + /** + * Generate zoom + * @private + */ + generateZoom: function () { + var $$ = this; + var config = $$.config, org = $$.org, scale = $$.scale; + var zoom = zoom$2().duration(0) + .on("start", $$.onZoomStart.bind($$)) + .on("zoom", $$.onZoom.bind($$)) + .on("end", $$.onZoomEnd.bind($$)); + // get zoom extent + // @ts-ignore + zoom.orgScaleExtent = function () { + var extent = config.zoom_extent || [1, 10]; + return [extent[0], Math.max($$.getMaxDataCount() / extent[1], extent[1])]; + }; + // @ts-ignore + zoom.updateScaleExtent = function () { + var ratio = diffDomain($$.scale.x.orgDomain()) / diffDomain($$.getZoomDomain()); + var extent = this.orgScaleExtent(); + // https://d3js.org/d3-zoom#zoom_scaleExtent + this.scaleExtent([extent[0] * ratio, extent[1] * ratio]); + return this; + }; + /** + * Update scale according zoom transform value + * @param {object} transform transform object + * @param {boolean} correctTransform if the d3 transform should be updated after rescaling + * @private + */ + // @ts-ignore + zoom.updateTransformScale = function (transform, correctTransform) { + var _a; + var isRotated = config.axis_rotated; + // in case of resize, update range of orgXScale + (_a = org.xScale) === null || _a === void 0 ? void 0 : _a.range(scale.x.range()); + // rescale from the original scale + var newScale = transform[isRotated ? "rescaleY" : "rescaleX"](org.xScale || scale.x); + // prevent drag zoom to be out of range + if (newScale.domain().some(function (v) { return /(Invalid Date|NaN)/.test(v.toString()); })) { + return; + } + var domain = $$.trimXDomain(newScale.domain()); + var rescale = config.zoom_rescale; + newScale.domain(domain, org.xDomain); + // prevent chart from panning off the edge and feeling "stuck" + // https://github.com/naver/billboard.js/issues/2588 + if (correctTransform) { + var t = newScale(scale.x.domain()[0]); + var tX = isRotated ? transform.x : t; + var tY = isRotated ? t : transform.y; + $$.$el.eventRect.property("__zoom", zoomIdentity.translate(tX, tY).scale(transform.k)); + } + if (!$$.state.xTickOffset) { + $$.state.xTickOffset = $$.axis.x.tickOffset(); + } + scale.zoom = $$.getCustomizedXScale(newScale); + $$.axis.x.scale(scale.zoom); + if (rescale) { + // copy current initial x scale in case of rescale option is used + !org.xScale && (org.xScale = scale.x.copy()); + scale.x.domain(domain); + } + else if (org.xScale) { + scale.x.domain(org.xScale.domain()); + org.xScale = null; + } + }; + /** + * Get zoom domain + * @returns {Array} zoom domain + * @private + */ + // @ts-ignore + zoom.getDomain = function () { + var domain = scale[scale.zoom ? "zoom" : "subX"].domain(); + var isCategorized = $$.axis.isCategorized(); + if (isCategorized) { + domain[1] -= 2; + } + return domain; + }; + $$.zoom = zoom; + }, + /** + * 'start' event listener + * @param {object} event Event object + * @private + */ + onZoomStart: function (event) { + var $$ = this; + var sourceEvent = event.sourceEvent; + if (sourceEvent) { + $$.zoom.startEvent = sourceEvent; + $$.state.zooming = true; + callFn($$.config.zoom_onzoomstart, $$.api, event); + } + }, + /** + * 'zoom' event listener + * @param {object} event Event object + * @private + */ + onZoom: function (event) { + var _a; + var $$ = this; + var config = $$.config, scale = $$.scale, state = $$.state, org = $$.org; + var sourceEvent = event.sourceEvent; + var isUnZoom = (event === null || event === void 0 ? void 0 : event.transform) === zoomIdentity; + if (!config.zoom_enabled || + $$.filterTargetsToShow($$.data.targets).length === 0 || + (!scale.zoom && (sourceEvent === null || sourceEvent === void 0 ? void 0 : sourceEvent.type.indexOf("touch")) > -1 && + (sourceEvent === null || sourceEvent === void 0 ? void 0 : sourceEvent.touches.length) === 1)) { + return; + } + if (event.sourceEvent) { + state.zooming = true; + state.domain = undefined; + } + var isMousemove = (sourceEvent === null || sourceEvent === void 0 ? void 0 : sourceEvent.type) === "mousemove"; + var isZoomOut = (sourceEvent === null || sourceEvent === void 0 ? void 0 : sourceEvent.wheelDelta) < 0; + var transform = event.transform; + if (!isMousemove && isZoomOut && scale.x.domain().every(function (v, i) { return v !== org.xDomain[i]; })) { + scale.x.domain(org.xDomain); + } + $$.zoom.updateTransformScale(transform, config.zoom_type === "wheel" && sourceEvent); + // do zoom transiton when: + // - zoom type 'drag' + // - when .unzoom() is called (event.transform === d3ZoomIdentity) + var doTransition = config.transition_duration > 0 && + !config.subchart_show && (state.dragging || isUnZoom || !event.sourceEvent); + $$.redraw({ + withTransition: doTransition, + withY: config.zoom_rescale, + withSubchart: false, + withEventRect: false, + withDimension: false + }); + $$.state.cancelClick = isMousemove; + // do not call event cb when is .unzoom() is called + !isUnZoom && callFn(config.zoom_onzoom, $$.api, (_a = $$.state.domain) !== null && _a !== void 0 ? _a : $$.zoom.getDomain()); + }, + /** + * 'end' event listener + * @param {object} event Event object + * @private + */ + onZoomEnd: function (event) { + var _a, _b; + var $$ = this; + var config = $$.config, state = $$.state; + var startEvent = $$.zoom.startEvent; + var e = event === null || event === void 0 ? void 0 : event.sourceEvent; + var isUnZoom = (event === null || event === void 0 ? void 0 : event.transform) === zoomIdentity; + if ((startEvent === null || startEvent === void 0 ? void 0 : startEvent.type.indexOf("touch")) > -1) { + startEvent = startEvent.changedTouches[0]; + e = (_a = e === null || e === void 0 ? void 0 : e.changedTouches) === null || _a === void 0 ? void 0 : _a[0]; + } + // if click, do nothing. otherwise, click interaction will be canceled. + if (config.zoom_type === "drag" && (e && startEvent.clientX === e.clientX && startEvent.clientY === e.clientY)) { + return; + } + state.zooming = false; + $$.redrawEventRect(); + $$.updateZoom(); + // do not call event cb when is .unzoom() is called + !isUnZoom && (e || state.dragging) && callFn(config.zoom_onzoomend, $$.api, (_b = $$.state.domain) !== null && _b !== void 0 ? _b : $$.zoom.getDomain()); + }, + /** + * Update zoom + * @param {boolean} force Force unzoom + * @private + */ + updateZoom: function (force) { + var $$ = this; + var _a = $$.scale, subX = _a.subX, x = _a.x, zoom = _a.zoom; + if (zoom) { + var zoomDomain = zoom.domain(); + var xDomain = subX.domain(); + var delta = 0.015; // arbitrary value + var isfullyShown = $$.config.axis_x_inverted ? + (zoomDomain[0] >= xDomain[0] || (zoomDomain[0] + delta) >= xDomain[0]) && (xDomain[1] >= zoomDomain[1] || xDomain[1] >= (zoomDomain[1] + delta)) : + (zoomDomain[0] <= xDomain[0] || (zoomDomain[0] - delta) <= xDomain[0]) && (xDomain[1] <= zoomDomain[1] || xDomain[1] <= (zoomDomain[1] - delta)); + // check if the zoomed chart is fully shown, then reset scale when zoom is out as initial + if (force || isfullyShown) { + $$.axis.x.scale(subX); + x.domain(subX.orgDomain()); + $$.scale.zoom = null; + } + } + }, + /** + * Set zoom transform to event rect + * @param {Function} x x Axis scale function + * @param {Array} domain Domain value to be set + * @private + */ + updateCurrentZoomTransform: function (x, domain) { + var _a; + var $$ = this; + var eventRect = $$.$el.eventRect, config = $$.config; + var isRotated = config.axis_rotated; + // Get transform from given domain value + // https://github.com/d3/d3-zoom/issues/57#issuecomment-246434951 + var translate = [-x(domain[0]), 0]; + var transform = (_a = zoomIdentity + .scale(x.range()[1] / (x(domain[1]) - x(domain[0])))) + .translate.apply(_a, (isRotated ? translate.reverse() : translate)); + eventRect.call($$.zoom.transform, transform); + }, + /** + * Attach zoom event on <rect> + * @private + */ + bindZoomOnEventRect: function () { + var _a; + var $$ = this; + var config = $$.config, _b = $$.$el, eventRect = _b.eventRect, svg = _b.svg; + var behaviour = config.zoom_type === "drag" ? $$.zoomBehaviour : $$.zoom; + // On Safari, event can't be built inside the svg content + // for workaround, register wheel event on <svg> element first + // https://bugs.webkit.org/show_bug.cgi?id=226683#c3 + // https://stackoverflow.com/questions/67836886/wheel-event-is-not-fired-on-a-svg-group-element-in-safari + if (win.GestureEvent && + /^((?!chrome|android|mobile).)*safari/i.test((_a = win.navigator) === null || _a === void 0 ? void 0 : _a.userAgent)) { + svg.on("wheel", function () { }); + } + eventRect === null || eventRect === void 0 ? void 0 : eventRect.call(behaviour).on("dblclick.zoom", null); + }, + /** + * Initialize the drag behaviour used for zooming. + * @private + */ + initZoomBehaviour: function () { + var $$ = this; + var config = $$.config, state = $$.state; + var isRotated = config.axis_rotated; + var start = 0; + var end = 0; + var zoomRect; + var extent; + var prop = { + axis: isRotated ? "y" : "x", + attr: isRotated ? "height" : "width", + index: isRotated ? 1 : 0 + }; + $$.zoomBehaviour = drag$1() + .clickDistance(4) + .on("start", function (event) { + // get extent at first zooming, when is zoomed do not consider + extent = $$.scale.zoom ? null : $$.axis.getExtent(); + state.event = event; + $$.setDragStatus(true); + $$.unselectRect(); + if (!zoomRect) { + zoomRect = $$.$el.main.append("rect") + .attr("clip-path", state.clip.path) + .attr("class", $ZOOM.zoomBrush) + .attr("width", isRotated ? state.width : 0) + .attr("height", isRotated ? 0 : state.height); + } + start = getPointer(event, this)[prop.index]; + if (extent) { + if (start < extent[0]) { + start = extent[0]; + } + else if (start > extent[1]) { + start = extent[1]; + } + } + end = start; + zoomRect + .attr(prop.axis, start) + .attr(prop.attr, 0); + $$.onZoomStart(event); + }) + .on("drag", function (event) { + end = getPointer(event, this)[prop.index]; + if (extent) { + if (end > extent[1]) { + end = extent[1]; + } + else if (end < extent[0]) { + end = extent[0]; + } + } + zoomRect + .attr(prop.axis, Math.min(start, end)) + .attr(prop.attr, Math.abs(end - start)); + }) + .on("end", function (event) { + var _a; + var scale = $$.scale.zoom || $$.scale.x; + state.event = event; + zoomRect + .attr(prop.axis, 0) + .attr(prop.attr, 0); + if (start > end) { + _a = [end, start], start = _a[0], end = _a[1]; + } + if (start < 0) { + end += Math.abs(start); + start = 0; + } + if (start !== end) { + $$.api.zoom([start, end].map(function (v) { return scale.invert(v); })); + } + $$.setDragStatus(false); + }); + }, + setZoomResetButton: function () { + var $$ = this; + var config = $$.config, $el = $$.$el; + var resetButton = config.zoom_resetButton; + if (resetButton && config.zoom_type === "drag") { + if (!$el.zoomResetBtn) { + $el.zoomResetBtn = $$.$el.chart.append("div") + .classed($COMMON.button, true) + .append("span") + .on("click", function () { + isFunction(resetButton.onclick) && resetButton.onclick.bind($$.api)(this); + $$.api.unzoom(); + }) + .classed($ZOOM.buttonZoomReset, true) + .text(resetButton.text || "Reset Zoom"); + } + else { + $el.zoomResetBtn.style("display", null); + } + } + }, + getZoomTransform: function () { + var $$ = this; + var eventRect = $$.$el.eventRect; + return (eventRect === null || eventRect === void 0 ? void 0 : eventRect.node()) ? zoomTransform(eventRect.node()) : { k: 1 }; + } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Module used for data.selection.draggable option + */ +var drag = { + /** + * Called when dragging. + * Data points can be selected. + * @private + * @param {object} mouse Object + */ + drag: function (mouse) { + var $$ = this; + var config = $$.config, state = $$.state, main = $$.$el.main; + var isSelectionGrouped = config.data_selection_grouped; + var isSelectable = config.interaction_enabled && config.data_selection_isselectable; + if ($$.hasArcType() || + !config.data_selection_enabled || // do nothing if not selectable + (config.zoom_enabled && !$$.zoom.altDomain) || // skip if zoomable because of conflict drag behavior + !config.data_selection_multiple // skip when single selection because drag is used for multiple selection + ) { + return; + } + var _a = state.dragStart || [0, 0], sx = _a[0], sy = _a[1]; + var mx = mouse[0], my = mouse[1]; + var minX = Math.min(sx, mx); + var maxX = Math.max(sx, mx); + var minY = isSelectionGrouped ? state.margin.top : Math.min(sy, my); + var maxY = isSelectionGrouped ? state.height : Math.max(sy, my); + main.select(".".concat($DRAG.dragarea)) + .attr("x", minX) + .attr("y", minY) + .attr("width", maxX - minX) + .attr("height", maxY - minY); + // TODO: binary search when multiple xs + main.selectAll(".".concat($SHAPE.shapes)) + .selectAll(".".concat($SHAPE.shape)) + .filter(function (d) { return isSelectable === null || isSelectable === void 0 ? void 0 : isSelectable.bind($$.api)(d); }) + .each(function (d, i) { + var shape = select(this); + var isSelected = shape.classed($SELECT.SELECTED); + var isIncluded = shape.classed($DRAG.INCLUDED); + var isWithin = false; + var toggle; + if (shape.classed($CIRCLE.circle)) { + var x = +shape.attr("cx") * 1; + var y = +shape.attr("cy") * 1; + toggle = $$.togglePoint; + isWithin = minX < x && x < maxX && minY < y && y < maxY; + } + else if (shape.classed($BAR.bar)) { + var _a = getPathBox(this), x = _a.x, y = _a.y, width = _a.width, height = _a.height; + toggle = $$.togglePath; + isWithin = !(maxX < x || x + width < minX) && !(maxY < y || y + height < minY); + } + else { + // line/area selection not supported yet + return; + } + // @ts-ignore + if (isWithin ^ isIncluded) { + shape.classed($DRAG.INCLUDED, !isIncluded); + // TODO: included/unincluded callback here + shape.classed($SELECT.SELECTED, !isSelected); + toggle.call($$, !isSelected, shape, d, i); + } + }); + }, + /** + * Called when the drag starts. + * Adds and Shows the drag area. + * @private + * @param {object} mouse Object + */ + dragstart: function (mouse) { + var $$ = this; + var config = $$.config, state = $$.state, main = $$.$el.main; + if ($$.hasArcType() || !config.data_selection_enabled) { + return; + } + state.dragStart = mouse; + main.select(".".concat($COMMON.chart)) + .append("rect") + .attr("class", $DRAG.dragarea) + .style("opacity", "0.1"); + $$.setDragStatus(true); + }, + /** + * Called when the drag finishes. + * Removes the drag area. + * @private + */ + dragend: function () { + var $$ = this; + var config = $$.config, main = $$.$el.main, $T = $$.$T; + if ($$.hasArcType() || !config.data_selection_enabled) { // do nothing if not selectable + return; + } + $T(main.select(".".concat($DRAG.dragarea))) + .style("opacity", "0") + .remove(); + main.selectAll(".".concat($SHAPE.shape)) + .classed($DRAG.INCLUDED, false); + $$.setDragStatus(false); + } +}; + +var selection = __assign(__assign({}, drag), { + /** + * Select a point + * @param {object} target Target point + * @param {object} d Data object + * @param {number} i Index number + * @private + */ + selectPoint: function (target, d, i) { + var $$ = this; + var config = $$.config, main = $$.$el.main, $T = $$.$T; + var isRotated = config.axis_rotated; + var cx = (isRotated ? $$.circleY : $$.circleX).bind($$); + var cy = (isRotated ? $$.circleX : $$.circleY).bind($$); + var r = $$.pointSelectR.bind($$); + callFn(config.data_onselected, $$.api, d, target.node()); + // add selected-circle on low layer g + $T(main.select(".".concat($SELECT.selectedCircles).concat($$.getTargetSelectorSuffix(d.id))) + .selectAll(".".concat($SELECT.selectedCircle, "-").concat(i)) + .data([d]) + .enter() + .append("circle") + .attr("class", function () { return $$.generateClass($SELECT.selectedCircle, i); }) + .attr("cx", cx) + .attr("cy", cy) + .attr("stroke", $$.color) + .attr("r", function (d2) { return $$.pointSelectR(d2) * 1.4; })).attr("r", r); + }, + /** + * Unelect a point + * @param {object} target Target point + * @param {object} d Data object + * @param {number} i Index number + * @private + */ + unselectPoint: function (target, d, i) { + var $$ = this; + var config = $$.config, main = $$.$el.main, $T = $$.$T; + callFn(config.data_onunselected, $$.api, d, target === null || target === void 0 ? void 0 : target.node()); + // remove selected-circle from low layer g + $T(main.select(".".concat($SELECT.selectedCircles).concat($$.getTargetSelectorSuffix(d.id))) + .selectAll(".".concat($SELECT.selectedCircle, "-").concat(i))) + .attr("r", 0) + .remove(); + }, + /** + * Toggles the selection of points + * @param {boolean} selected whether or not to select. + * @param {object} target Target object + * @param {object} d Data object + * @param {number} i Index number + * @private + */ + togglePoint: function (selected, target, d, i) { + var method = "".concat(selected ? "" : "un", "selectPoint"); + this[method](target, d, i); + }, + /** + * Select a path + * @param {object} target Target path + * @param {object} d Data object + * @private + */ + selectPath: function (target, d) { + var $$ = this; + var config = $$.config; + callFn(config.data_onselected, $$.api, d, target.node()); + if (config.interaction_brighten) { + target.style("filter", "brightness(1.25)"); + } + }, + /** + * Unelect a path + * @private + * @param {object} target Target path + * @param {object} d Data object + */ + unselectPath: function (target, d) { + var $$ = this; + var config = $$.config; + callFn(config.data_onunselected, $$.api, d, target.node()); + if (config.interaction_brighten) { + target.style("filter", null); + } + }, + /** + * Toggles the selection of lines + * @param {boolean} selected whether or not to select. + * @param {object} target Target object + * @param {object} d Data object + * @param {number} i Index number + * @private + */ + togglePath: function (selected, target, d, i) { + this["".concat(selected ? "" : "un", "selectPath")](target, d, i); + }, + /** + * Returns the toggle method of the target + * @param {object} that shape + * @param {object} d Data object + * @returns {Function} toggle method + * @private + */ + getToggle: function (that, d) { + var $$ = this; + return that.nodeName === "path" ? $$.togglePath : ($$.isStepType(d) ? + function () { } : // circle is hidden in step chart, so treat as within the click area + $$.togglePoint); + }, + /** + * Toggles the selection of shapes + * @param {object} that shape + * @param {object} d Data object + * @param {number} i Index number + * @private + */ + toggleShape: function (that, d, i) { + var _a; + var $$ = this; + var config = $$.config, main = $$.$el.main; + if (config.data_selection_enabled && config.data_selection_isselectable.bind($$.api)(d)) { + var shape = select(that); + var isSelected = shape.classed($SELECT.SELECTED); + var toggle_1 = $$.getToggle(that, d).bind($$); + var toggledShape_1; + if (!config.data_selection_multiple) { + var focusOnly = (_a = $$.isPointFocusOnly) === null || _a === void 0 ? void 0 : _a.call($$); + var selector = ".".concat(focusOnly ? $SELECT.selectedCircles : $SHAPE.shapes); + if (config.data_selection_grouped) { + selector += $$.getTargetSelectorSuffix(d.id); + } + main.selectAll(selector) + .selectAll(focusOnly ? + ".".concat($SELECT.selectedCircle) : + ".".concat($SHAPE.shape, ".").concat($SELECT.SELECTED)) + .classed($SELECT.SELECTED, false) + .each(function (d) { + var shape = select(this); + toggledShape_1 = shape; + toggle_1(false, shape, d, d.index); + }); + } + if (!toggledShape_1 || toggledShape_1.node() !== shape.node()) { + shape.classed($SELECT.SELECTED, !isSelected); + toggle_1(!isSelected, shape, d, i); + } + } + } }); + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * data.selection config options + */ +var optDataSelection = { + /** + * Set data selection enabled<br><br> + * If this option is set true, we can select the data points and get/set its state of selection by API (e.g. select, unselect, selected). + * - **NOTE:** for ESM imports, needs to import 'selection' exports and instantiate it by calling `selection()`. + * - `enabled: selection()` + * @name data․selection․enabled + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataSelection) + * @example + * data: { + * selection: { + * enabled: true + * } + * } + * @example + * // importing ESM + * import bb, {selection} from "billboard.js"; + * + * data: { + * selection: { + * enabled: selection(), + * ... + * } + * } + */ + data_selection_enabled: false, + /** + * Set grouped selection enabled.<br><br> + * If this option set true, multiple data points that have same x value will be selected by one selection. + * @name data․selection․grouped + * @memberof Options + * @type {boolean} + * @default false + * @example + * data: { + * selection: { + * grouped: true + * } + * } + */ + data_selection_grouped: false, + /** + * Set a callback for each data point to determine if it's selectable or not.<br><br> + * The callback will receive d as an argument and it has some parameters like id, value, index. This callback should return boolean. + * @name data․selection․isselectable + * @memberof Options + * @type {Function} + * @default function() { return true; } + * @example + * data: { + * selection: { + * isselectable: function(d) { ... } + * } + * } + */ + data_selection_isselectable: function () { return true; }, + /** + * Set multiple data points selection enabled.<br><br> + * If this option set true, multile data points can have the selected state at the same time. If false set, only one data point can have the selected state and the others will be unselected when the new data point is selected. + * @name data․selection․multiple + * @memberof Options + * @type {boolean} + * @default true + * @example + * data: { + * selection: { + * multiple: false + * } + * } + */ + data_selection_multiple: true, + /** + * Enable to select data points by dragging. + * If this option set true, data points can be selected by dragging. + * - **NOTE:** If this option set true, scrolling on the chart will be disabled because dragging event will handle the event. + * @name data․selection․draggable + * @memberof Options + * @type {boolean} + * @default false + * @example + * data: { + * selection: { + * draggable: true + * } + * } + */ + data_selection_draggable: false, + /** + * Set a callback for on data selection. + * @name data․onselected + * @memberof Options + * @type {Function} + * @default function() {} + * @example + * data: { + * onselected: function(d, element) { + * // d - ex) {x: 4, value: 150, id: "data1", index: 4, name: "data1"} + * // element - <circle> + * ... + * } + * } + */ + data_onselected: function () { }, + /** + * Set a callback for on data un-selection. + * @name data․onunselected + * @memberof Options + * @type {Function} + * @default function() {} + * @example + * data: { + * onunselected: function(d, element) { + * // d - ex) {x: 4, value: 150, id: "data1", index: 4, name: "data1"} + * // element - <circle> + * ... + * } + * } + */ + data_onunselected: function () { } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * x Axis config options + */ +var optSubchart = { + /** + * Set subchart options. + * - **NOTE:** Not supported for `bubble`, `scatter` and non-Axis based(pie, donut, gauge, radar) types. + * @name subchart + * @memberof Options + * @type {object} + * @property {object} subchart Subchart object + * @property {boolean} [subchart.show=false] Show sub chart on the bottom of the chart. + * - **NOTE:** for ESM imports, needs to import 'subchart' exports and instantiate it by calling `subchart()`. + * - `show: subchart()` + * @property {boolean} [subchart.showHandle=false] Show sub chart's handle. + * @property {boolean} [subchart.axis.x.show=true] Show or hide x axis. + * @property {boolean} [subchart.axis.x.tick.show=true] Show or hide x axis tick line. + * @property {Function|string} [subchart.axis.x.tick.format] Use custom format for x axis ticks - see [axis.x.tick.format](#.axis․x․tick․format) for details. + * @property {boolean} [subchart.axis.x.tick.text.show=true] Show or hide x axis tick text. + * @property {Array} [subchart.init.range] Set initial selection domain range. + * @property {number} [subchart.size.height] Change the height of the subchart. + * @property {Function} [subchart.onbrush] Set callback for brush event.<br> + * Specified function receives the current zoomed x domain. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Interaction.SubChart) + * @example + * subchart: { + * show: true, + * showHandle: true, + * size: { + * height: 20 + * }, + * init: { + * // specify initial range domain selection + * range: [1, 2] + * }, + * axis: { + * x: { + * show: true, + * tick: { + * show: true, + * format: (x) => d3Format(".1f")(x) + * text: { + * show: false + * } + * } + * } + * }, + * onbrush: function(domain) { ... } + * } + * @example + * // importing ESM + * import bb, {subchart} from "billboard.js"; + * + * subchart: { + * show: subchart(), + * ... + * } + */ + subchart_show: false, + subchart_showHandle: false, + subchart_size_height: 60, + subchart_axis_x_show: true, + subchart_axis_x_tick_show: true, + subchart_axis_x_tick_format: undefined, + subchart_axis_x_tick_text_show: true, + subchart_init_range: undefined, + subchart_onbrush: function () { } +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * zoom config options + */ +var optZoom = { + /** + * Set zoom options + * @name zoom + * @memberof Options + * @type {object} + * @property {object} zoom Zoom object + * @property {boolean} [zoom.enabled=false] Enable zooming. + * - **NOTE:** for ESM imports, needs to import 'zoom' exports and instantiate it by calling `zoom()`. + * - `enabled: zoom()` + * @property {string} [zoom.type='wheel'] Set zoom interaction type. + * - **Available types:** + * - wheel + * - drag + * @property {boolean} [zoom.rescale=false] Enable to rescale after zooming.<br> + * If true set, y domain will be updated according to the zoomed region. + * @property {Array} [zoom.extent=[1, 10]] Change zoom extent. + * @property {number|Date} [zoom.x.min] Set x Axis minimum zoom range + * @property {number|Date} [zoom.x.max] Set x Axis maximum zoom range + * @property {Function} [zoom.onzoomstart=undefined] Set callback that is called when zooming starts.<br> + * Specified function receives the zoom event. + * @property {Function} [zoom.onzoom=undefined] Set callback that is called when the chart is zooming.<br> + * Specified function receives the zoomed domain. + * @property {Function} [zoom.onzoomend=undefined] Set callback that is called when zooming ends.<br> + * Specified function receives the zoomed domain. + * @property {boolean|object} [zoom.resetButton=true] Set to display zoom reset button for 'drag' type zoom + * @property {Function} [zoom.resetButton.onclick] Set callback when clicks the reset button. The callback will receive reset button element reference as argument. + * @property {string} [zoom.resetButton.text='Reset Zoom'] Text value for zoom reset button. + * @see [Demo:zoom](https://naver.github.io/billboard.js/demo/#Interaction.Zoom) + * @see [Demo:drag zoom](https://naver.github.io/billboard.js/demo/#Interaction.DragZoom) + * @example + * zoom: { + * enabled: true, + * type: "drag", + * rescale: true, + * extent: [1, 100] // enable more zooming + * x: { + * min: -1, // set min range + * max: 10 // set max range + * }, + * onzoomstart: function(event) { ... }, + * onzoom: function(domain) { ... }, + * onzoomend: function(domain) { ... }, + * + * // show reset button when is zoomed-in + * resetButton: true, + * + * resetButton: { + * // onclick callback when reset button is clicked + * onclick: function(button) { + * button; // Reset button element reference + * ... + * }, + * + * // customized text value for reset zoom button + * text: "Unzoom" + * } + * } + * @example + * // importing ESM + * import bb, {zoom} from "billboard.js"; + * + * zoom: { + * enabled: zoom(), + * ... + * } + */ + zoom_enabled: false, + zoom_type: "wheel", + zoom_extent: undefined, + zoom_privileged: false, + zoom_rescale: false, + zoom_onzoom: undefined, + zoom_onzoomstart: undefined, + zoom_onzoomend: undefined, + zoom_resetButton: true, + zoom_x_min: undefined, + zoom_x_max: undefined +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +var selectionModule = function () { + extend(ChartInternal.prototype, selection); + extend(Chart.prototype, apiSelection); + Options.setOptions([optDataSelection]); + return (selectionModule = function () { return true; })(); +}; +var subchartModule = function () { + extend(ChartInternal.prototype, subchart); + extend(Chart.prototype, apiSubchart); + Options.setOptions([optSubchart]); + return (subchartModule = function () { return true; })(); +}; +var zoomModule = function () { + extend(ChartInternal.prototype, zoom); + extend(Chart.prototype, apiZoom); + Options.setOptions([optZoom]); + return (zoomModule = function () { return true; })(); +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard project is licensed under the MIT license + */ +var defaults = {}; +/** + * @namespace bb + * @version 3.14.2 + */ +var bb = { + /** + * Version information + * @property {string} version version + * @example + * bb.version; // "1.0.0" + * @memberof bb + */ + version: "3.14.2", + /** + * Generate chart + * - **NOTE:** Bear in mind for the possiblity of ***throwing an error***, during the generation when: + * - Unused option value is given. + * - ex) For `data.type="pie"` option, setting 'axis' option can cause unexpected generation error. + * - Insufficient value is given for certain option used. + * - ex) `data: { x: "x", columns: [["x"], ["data1", 30, 200, 100]] }` + * @param {Options} config chart options + * @memberof bb + * @returns {Chart} + * @see {@link Options} for different generation options + * @see {@link Chart} for different methods API + * @example + * <!-- chart holder --> + * <div id="LineChart"></div> + * @example + * // Generate chart with options + * var chart = bb.generate({ + * "bindto": "#LineChart" + * "data": { + * "columns": [ + * ["data1", 30, 200, 100, 400, 150, 250], + * ["data2", 50, 20, 10, 40, 15, 25] + * ], + * "type": "line" + * } + * }); + * + * // call some API + * // ex) get the data of 'data1' + * chart.data("data1"); + * @example + * // Generate chart by importing ESM + * // Import types to be used only, where this will make smaller bundle size. + * import bb, { + * area, + * areaLineRange, + * areaSpline, + * areaSplineRange, + * areaStep, + * bar, + * bubble, + * donut, + * gauge, + * line, + * pie, + * polar, + * radar, + * scatter, + * spline, + * step + * } + * + * bb.generate({ + * "bindto": "#LineChart" + * "data": { + * "columns": [ + * ["data1", 30, 200, 100, 400, 150, 250], + * ["data2", 50, 20, 10, 40, 15, 25] + * ] + * }, + * type: line(), + * + * // or + * types: { + * data1: bar(), + * data2: step() + * } + * }); + */ + generate: function (config) { + var options = mergeObj({}, defaults, config); + var inst = new Chart(options); + inst.internal.charts = this.instance; + this.instance.push(inst); + return inst; + }, + /** + * Set or get global default options. + * - **NOTE:** + * - The options values settings are valid within page context only. + * - If is called multiple times, will override the last value. + * @param {Options} options chart options + * @memberof bb + * @returns {Options} + * @see {@link Options} + * @example + * // Set same option value as for `.generate()` + * bb.defaults({ + * data: { + * type: "bar" + * } + * }); + * + * bb.defaults(); // {data:{type: "bar"}} + * + * // data.type defaults to 'bar' + * var chart = bb.generate({ ... }); + */ + defaults: function (options) { + if (isObject(options)) { + defaults = options; + } + return defaults; + }, + /** + * An array containing instance created + * @property {Array} instance instance array + * @example + * // generate charts + * var chart1 = bb.generate(...); + * var chart2 = bb.generate(...); + * + * bb.instance; // [ chart1, chart2, ... ] + * @memberof bb + */ + instance: [], + /** + * Namespace for plugins + * @property {object} plugin plugin namespace + * @example + * // Stanford diagram plugin + * bb.plugin.stanford; + * @memberof bb + */ + plugin: {} +}; + +export { area, areaLineRange, areaSpline, areaSplineRange, areaStep, areaStepRange, bar, bb, bubble, candlestick, bb as default, donut, funnel, gauge, line, pie, polar, radar, scatter, selectionModule as selection, spline, step, subchartModule as subchart, treemap, zoomModule as zoom }; diff --git a/release/3.14.2/dist-esm/plugin/billboardjs-plugin-bubblecompare.d.ts b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-bubblecompare.d.ts new file mode 100644 index 000000000..59f361458 --- /dev/null +++ b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-bubblecompare.d.ts @@ -0,0 +1,7 @@ +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +import PluginClass from "../../types/plugin/bubblecompare"; + +export default PluginClass; diff --git a/release/3.14.2/dist-esm/plugin/billboardjs-plugin-bubblecompare.js b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-bubblecompare.js new file mode 100644 index 000000000..4e82e24b2 --- /dev/null +++ b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-bubblecompare.js @@ -0,0 +1,204 @@ +/*! +* Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin +*/ +import { select } from 'd3-selection'; + +/****************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +/* global Reflect, Promise, SuppressedError, Symbol, Iterator */ + +var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); +}; + +function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Base class to generate billboard.js plugin + * @class Plugin + */ +/** + * Version info string for plugin + * @name version + * @static + * @memberof Plugin + * @type {string} + * @example + * bb.plugin.stanford.version; // ex) 1.9.0 + */ +var Plugin = /** @class */ (function () { + /** + * Constructor + * @param {Any} options config option object + * @private + */ + function Plugin(options) { + if (options === void 0) { options = {}; } + this.options = options; + } + /** + * Lifecycle hook for 'beforeInit' phase. + * @private + */ + Plugin.prototype.$beforeInit = function () { }; + /** + * Lifecycle hook for 'init' phase. + * @private + */ + Plugin.prototype.$init = function () { }; + /** + * Lifecycle hook for 'afterInit' phase. + * @private + */ + Plugin.prototype.$afterInit = function () { }; + /** + * Lifecycle hook for 'redraw' phase. + * @private + */ + Plugin.prototype.$redraw = function () { }; + /** + * Lifecycle hook for 'willDestroy' phase. + * @private + */ + Plugin.prototype.$willDestroy = function () { + var _this = this; + Object.keys(this).forEach(function (key) { + _this[key] = null; + delete _this[key]; + }); + }; + Plugin.version = "3.14.2"; + return Plugin; +}()); + +/** + * Bubble compare diagram plugin.<br> + * Compare data 3-dimensional ways: x-axis, y-axis & bubble-size. + * - **NOTE:** + * - Plugins aren't built-in. Need to be loaded or imported to be used. + * - Non required modules from billboard.js core, need to be installed separately. + * - **Required modules:** + * - [d3-selection](https://github.com/d3/d3-selection) + * @class plugin-bubblecompare + * @requires d3-selection + * @param {object} options bubble compare plugin options + * @augments Plugin + * @returns {BubbleCompare} + * @example + * // Plugin must be loaded before the use. + * <script src="$YOUR_PATH/plugin/billboardjs-plugin-bubblecompare.js"></script> + * + * var chart = bb.generate({ + * data: { + * columns: [ ... ], + * type: "bubble" + * } + * ... + * plugins: [ + * new bb.plugin.bubblecompare({ + * minR: 11, + * maxR: 74, + * expandScale: 1.1 + * }), + * ] + * }); + * @example + * import {bb} from "billboard.js"; + * import BubbleCompare from "billboard.js/dist/billboardjs-plugin-bubblecompare"; + * + * bb.generate({ + * plugins: [ + * new BubbleCompare({ ... }) + * ] + * }) + */ +var BubbleCompare = /** @class */ (function (_super) { + __extends(BubbleCompare, _super); + function BubbleCompare(options) { + var _this = _super.call(this, options) || this; + return _this; + } + BubbleCompare.prototype.$init = function () { + var $$ = this.$$; + $$.findClosest = this.findClosest.bind(this); + $$.getBubbleR = this.getBubbleR.bind(this); + $$.pointExpandedR = this.pointExpandedR.bind(this); + }; + BubbleCompare.prototype.pointExpandedR = function (d) { + var baseR = this.getBubbleR(d); + var _a = this.options.expandScale, expandScale = _a === void 0 ? 1 : _a; + BubbleCompare.raiseFocusedBubbleLayer(d); + this.changeCursorPoint(); + return baseR * expandScale; + }; + BubbleCompare.raiseFocusedBubbleLayer = function (d) { + d.raise && select(d.node().parentNode.parentNode).raise(); + }; + BubbleCompare.prototype.changeCursorPoint = function () { + this.$$.$el.eventRect.style("cursor", "pointer"); + }; + BubbleCompare.prototype.findClosest = function (values, pos) { + var _this = this; + var $$ = this.$$; + return values + .filter(function (v) { return v && !$$.isBarType(v.id); }) + .reduce(function (acc, cur) { + var d = $$.dist(cur, pos); + return d < _this.getBubbleR(cur) ? cur : acc; + }, 0); + }; + BubbleCompare.prototype.getBubbleR = function (d) { + var _this = this; + var _a = this.options, minR = _a.minR, maxR = _a.maxR; + var curVal = this.getZData(d); + if (!curVal) + return minR; + var _b = this.$$.data.targets.reduce(function (_a, cur) { + var accMin = _a[0], accMax = _a[1]; + var val = _this.getZData(cur.values[0]); + return [Math.min(accMin, val), Math.max(accMax, val)]; + }, [10000, 0]), min = _b[0], max = _b[1]; + var size = min > 0 && max === min ? 0 : curVal / max; + return Math.abs(size) * (maxR - minR) + minR; + }; + BubbleCompare.prototype.getZData = function (d) { + return this.$$.isBubbleZType(d) ? this.$$.getBubbleZData(d.value, "z") : d.value; + }; + BubbleCompare.version = "0.0.1"; + return BubbleCompare; +}(Plugin)); + +export { BubbleCompare as default }; diff --git a/release/3.14.2/dist-esm/plugin/billboardjs-plugin-sparkline.d.ts b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-sparkline.d.ts new file mode 100644 index 000000000..8ecf64294 --- /dev/null +++ b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-sparkline.d.ts @@ -0,0 +1,7 @@ +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +import PluginClass from "../../types/plugin/sparkline"; + +export default PluginClass; diff --git a/release/3.14.2/dist-esm/plugin/billboardjs-plugin-sparkline.js b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-sparkline.js new file mode 100644 index 000000000..92cb6a971 --- /dev/null +++ b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-sparkline.js @@ -0,0 +1,716 @@ +/*! +* Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin +*/ +/****************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +/* global Reflect, Promise, SuppressedError, Symbol, Iterator */ + +var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); +}; + +function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} + +var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; + +function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +} + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * CSS class names definition + * @private + */ +var $COMMON = { + button: "bb-button", + chart: "bb-chart", + empty: "bb-empty", + main: "bb-main", + target: "bb-target", + EXPANDED: "_expanded_" +}; +var $ARC = { + arc: "bb-arc", + arcLabelLine: "bb-arc-label-line", + arcRange: "bb-arc-range", + arcs: "bb-arcs", + chartArc: "bb-chart-arc", + chartArcs: "bb-chart-arcs", + chartArcsBackground: "bb-chart-arcs-background", + chartArcsTitle: "bb-chart-arcs-title", + needle: "bb-needle" +}; +var $AREA = { + area: "bb-area", + areas: "bb-areas" +}; +var $AXIS = { + axis: "bb-axis", + axisX: "bb-axis-x", + axisXLabel: "bb-axis-x-label", + axisY: "bb-axis-y", + axisY2: "bb-axis-y2", + axisY2Label: "bb-axis-y2-label", + axisYLabel: "bb-axis-y-label", + axisXTooltip: "bb-axis-x-tooltip", + axisYTooltip: "bb-axis-y-tooltip", + axisY2Tooltip: "bb-axis-y2-tooltip" +}; +var $BAR = { + bar: "bb-bar", + bars: "bb-bars", + chartBar: "bb-chart-bar", + chartBars: "bb-chart-bars" +}; +var $CANDLESTICK = { + candlestick: "bb-candlestick", + candlesticks: "bb-candlesticks", + chartCandlestick: "bb-chart-candlestick", + chartCandlesticks: "bb-chart-candlesticks", + valueDown: "bb-value-down", + valueUp: "bb-value-up" +}; +var $CIRCLE = { + chartCircles: "bb-chart-circles", + circle: "bb-circle", + circles: "bb-circles" +}; +var $COLOR = { + colorPattern: "bb-color-pattern", + colorScale: "bb-colorscale" +}; +var $DRAG = { + dragarea: "bb-dragarea", + INCLUDED: "_included_" +}; +var $FUNNEL = { + funnel: "bb-funnel", + chartFunnel: "bb-chart-funnel", + chartFunnels: "bb-chart-funnels", + funnelBackground: "bb-funnel-background" +}; +var $GAUGE = { + chartArcsGaugeMax: "bb-chart-arcs-gauge-max", + chartArcsGaugeMin: "bb-chart-arcs-gauge-min", + chartArcsGaugeUnit: "bb-chart-arcs-gauge-unit", + chartArcsGaugeTitle: "bb-chart-arcs-gauge-title", + gaugeValue: "bb-gauge-value" +}; +var $LEGEND = { + legend: "bb-legend", + legendBackground: "bb-legend-background", + legendItem: "bb-legend-item", + legendItemEvent: "bb-legend-item-event", + legendItemHidden: "bb-legend-item-hidden", + legendItemPoint: "bb-legend-item-point", + legendItemTile: "bb-legend-item-tile" +}; +var $LINE = { + chartLine: "bb-chart-line", + chartLines: "bb-chart-lines", + line: "bb-line", + lines: "bb-lines" +}; +var $EVENT = { + eventRect: "bb-event-rect", + eventRects: "bb-event-rects", + eventRectsMultiple: "bb-event-rects-multiple", + eventRectsSingle: "bb-event-rects-single" +}; +var $FOCUS = { + focused: "bb-focused", + defocused: "bb-defocused", + legendItemFocused: "bb-legend-item-focused", + xgridFocus: "bb-xgrid-focus", + ygridFocus: "bb-ygrid-focus" +}; +var $GRID = { + grid: "bb-grid", + gridLines: "bb-grid-lines", + xgrid: "bb-xgrid", + xgridLine: "bb-xgrid-line", + xgridLines: "bb-xgrid-lines", + xgrids: "bb-xgrids", + ygrid: "bb-ygrid", + ygridLine: "bb-ygrid-line", + ygridLines: "bb-ygrid-lines", + ygrids: "bb-ygrids" +}; +var $RADAR = { + chartRadar: "bb-chart-radar", + chartRadars: "bb-chart-radars" +}; +var $REGION = { + region: "bb-region", + regions: "bb-regions" +}; +var $SELECT = { + selectedCircle: "bb-selected-circle", + selectedCircles: "bb-selected-circles", + SELECTED: "_selected_" +}; +var $SHAPE = { + shape: "bb-shape", + shapes: "bb-shapes" +}; +var $SUBCHART = { + brush: "bb-brush", + subchart: "bb-subchart" +}; +var $TEXT = { + chartText: "bb-chart-text", + chartTexts: "bb-chart-texts", + text: "bb-text", + texts: "bb-texts", + title: "bb-title", + TextOverlapping: "text-overlapping" +}; +var $TOOLTIP = { + tooltip: "bb-tooltip", + tooltipContainer: "bb-tooltip-container", + tooltipName: "bb-tooltip-name" +}; +var $TREEMAP = { + treemap: "bb-treemap", + chartTreemap: "bb-chart-treemap", + chartTreemaps: "bb-chart-treemaps" +}; +var $ZOOM = { + buttonZoomReset: "bb-zoom-reset", + zoomBrush: "bb-zoom-brush" +}; +__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, $COMMON), $ARC), $AREA), $AXIS), $BAR), $CANDLESTICK), $CIRCLE), $COLOR), $DRAG), $GAUGE), $LEGEND), $LINE), $EVENT), $FOCUS), $FUNNEL), $GRID), $RADAR), $REGION), $SELECT), $SHAPE), $SUBCHART), $TEXT), $TOOLTIP), $TREEMAP), $ZOOM); + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Window object + * @private + */ +/* eslint-disable no-new-func, no-undef */ +/** + * Get global object + * @returns {object} window object + * @private + */ +function getGlobal() { + return (typeof globalThis === "object" && globalThis !== null && globalThis.Object === Object && + globalThis) || + (typeof global === "object" && global !== null && global.Object === Object && global) || + (typeof self === "object" && self !== null && self.Object === Object && self) || + Function("return this")(); +} +var win = getGlobal(); +var doc = win === null || win === void 0 ? void 0 : win.document; + +var isDefined = function (v) { return typeof v !== "undefined"; }; +var isObjectType = function (v) { return typeof v === "object"; }; +/** + * Check if is array + * @param {Array} arr Data to be checked + * @returns {boolean} + * @private + */ +var isArray = function (arr) { return Array.isArray(arr); }; +/** + * Check if is object + * @param {object} obj Data to be checked + * @returns {boolean} + * @private + */ +var isObject = function (obj) { return obj && !(obj === null || obj === void 0 ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); }; +/** + * Merge object returning new object + * @param {object} target Target object + * @param {object} objectN Source object + * @returns {object} merged target object + * @private + */ +function mergeObj(target) { + var objectN = []; + for (var _i = 1; _i < arguments.length; _i++) { + objectN[_i - 1] = arguments[_i]; + } + if (!objectN.length || (objectN.length === 1 && !objectN[0])) { + return target; + } + var source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach(function (key) { + var value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } + else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj.apply(void 0, __spreadArray([target], objectN, false)); +} +// emulate event +({ + mouse: (function () { + var getParams = function () { return ({ + bubbles: false, + cancelable: false, + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0 + }); }; + try { + // eslint-disable-next-line no-new + new MouseEvent("t"); + return function (el, eventType, params) { + if (params === void 0) { params = getParams(); } + el.dispatchEvent(new MouseEvent(eventType, params)); + }; + } + catch (_a) { + // Polyfills DOM4 MouseEvent + return function (el, eventType, params) { + if (params === void 0) { params = getParams(); } + var mouseEvent = doc.createEvent("MouseEvent"); + // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent + mouseEvent.initMouseEvent(eventType, params.bubbles, params.cancelable, win, 0, // the event's mouse click count + params.screenX, params.screenY, params.clientX, params.clientY, false, false, false, false, 0, null); + el.dispatchEvent(mouseEvent); + }; + } + })(), + touch: function (el, eventType, params) { + var touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}); + +/** + * Load configuration option + * @param {object} config User's generation config value + * @private + */ +function loadConfig(config) { + var thisConfig = this.config; + var target; + var keys; + var read; + var find = function () { + var key = keys.shift(); + if (key && target && isObjectType(target) && key in target) { + target = target[key]; + return find(); + } + else if (!key) { + return target; + } + return undefined; + }; + Object.keys(thisConfig).forEach(function (key) { + target = config; + keys = key.split("_"); + read = find(); + if (isDefined(read)) { + thisConfig[key] = read; + } + }); + // only should run in the ChartInternal context + if (this.api) { + this.state.orgConfig = config; + } +} + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Base class to generate billboard.js plugin + * @class Plugin + */ +/** + * Version info string for plugin + * @name version + * @static + * @memberof Plugin + * @type {string} + * @example + * bb.plugin.stanford.version; // ex) 1.9.0 + */ +var Plugin = /** @class */ (function () { + /** + * Constructor + * @param {Any} options config option object + * @private + */ + function Plugin(options) { + if (options === void 0) { options = {}; } + this.options = options; + } + /** + * Lifecycle hook for 'beforeInit' phase. + * @private + */ + Plugin.prototype.$beforeInit = function () { }; + /** + * Lifecycle hook for 'init' phase. + * @private + */ + Plugin.prototype.$init = function () { }; + /** + * Lifecycle hook for 'afterInit' phase. + * @private + */ + Plugin.prototype.$afterInit = function () { }; + /** + * Lifecycle hook for 'redraw' phase. + * @private + */ + Plugin.prototype.$redraw = function () { }; + /** + * Lifecycle hook for 'willDestroy' phase. + * @private + */ + Plugin.prototype.$willDestroy = function () { + var _this = this; + Object.keys(this).forEach(function (key) { + _this[key] = null; + delete _this[key]; + }); + }; + Plugin.version = "3.14.2"; + return Plugin; +}()); + +/** + * Copyright (c) 2021 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Sparkline plugin option class + * @class SparklineOptions + * @param {Options} options Sparkline plugin options + * @augments Plugin + * @returns {TableviewOptions} + * @private + */ +var Options = /** @class */ (function () { + function Options() { + return { + /** + * Specify sparkline charts holder selector. + * - **NOTE:** The amount of holder should match with the amount of data. If has less, will append necessaray amount nodes as sibling of main chart. + * @name selector + * @memberof plugin-sparkline + * @type {string} + * @default undefined + * @example + * selector: ".sparkline" + */ + selector: undefined + }; + } + return Options; +}()); + +/** + * Sparkline plugin.<br> + * Generates sparkline charts + * - **NOTE:** + * - Plugins aren't built-in. Need to be loaded or imported to be used. + * - Non required modules from billboard.js core, need to be installed separately. + * + * - **Bear in mind:** + * - Use this plugin to visualize multiple tiny chart only and chart APIs won't work properly. + * - Sparkline chart size will be based on the main chart element size. To control spakrline charts, is highly recommended to set `size` option. + * - Bubble, scatter and Arc(pie, donut, ratdar) types aren't supported. + * - Some options will be stricted to be: + * - `resize.auto = false` + * - `axis.x.show = false` + * - `axis.y.show = false` + * - `axis.y.padding = 10` + * - `legend.show = false` + * + * @class plugin-sparkline + * @param {object} options sparkline plugin options + * @augments Plugin + * @returns {Sparkline} + * @example + * // Plugin must be loaded before the use. + * <script src="$YOUR_PATH/plugin/billboardjs-plugin-sparkline.js"></script> + * + * var chart = bb.generate({ + * ... + * plugins: [ + * new bb.plugin.sparkline({ + * selector: ".sparkline" + * }), + * ] + * }); + * @example + * import {bb} from "billboard.js"; + * import Sparkline from "billboard.js/dist/billboardjs-plugin-sparkline"; + * + * bb.generate({ + * ... + * plugins: [ + * new Sparkline({ ... }) + * ] + * }) + */ +var Sparkline = /** @class */ (function (_super) { + __extends(Sparkline, _super); + function Sparkline(options) { + var _this = _super.call(this, options) || this; + _this.config = new Options(); + return _this; + } + Sparkline.prototype.$beforeInit = function () { + loadConfig.call(this, this.options); + this.validate(); + this.element = [].slice.call(document.querySelectorAll(this.config.selector)); + // override internal methods + this.overrideInternals(); + // override options + this.overrideOptions(); + // bind event handlers's context + this.overHandler = this.overHandler.bind(this); + this.moveHandler = this.moveHandler.bind(this); + this.outHandler = this.outHandler.bind(this); + }; + Sparkline.prototype.validate = function () { + var _a = this, $$ = _a.$$, config = _a.config; + var msg = ""; + if (!config.selector || !document.querySelector(config.selector)) { + msg = "No holder elements found from given selector option."; + } + if ($$.hasType("bubble") || $$.hasType("scatter") || $$.hasArcType($$.data.targets)) { + msg = "Contains non supported chart types."; + } + if (msg) { + throw new Error("[Sparkline plugin] ".concat(msg)); + } + }; + Sparkline.prototype.overrideInternals = function () { + var $$ = this.$$; + var getBarW = $$.getBarW, getIndices = $$.getIndices; + // override internal methods to positioning bars + $$.getIndices = function (indices, d, caller) { + return caller === "getShapeX" ? {} : getIndices.call(this, indices, d); + }; + $$.getBarW = function (type, axis) { + return getBarW.call(this, type, axis, 1); + }; + }; + Sparkline.prototype.overrideOptions = function () { + var config = this.$$.config; + config.legend_show = false; + config.resize_auto = false; + config.axis_x_show = false; + // set default axes padding + if (config.padding !== false) { + var hasOption = function (o) { return Object.keys(o || {}).length > 0; }; + if (hasOption(config.axis_x_padding)) { + config.axis_x_padding = { + left: 15, + right: 15, + unit: "px" + }; + } + if (hasOption(config.axis_y_padding)) { + config.axis_y_padding = 5; + } + } + config.axis_y_show = false; + if (!config.tooltip_position) { + config.tooltip_position = function (data, width, height) { + var event = this.internal.state.event; + var top = event.pageY - (height * 1.35); + var left = event.pageX - (width / 2); + if (top < 0) { + top = 0; + } + if (left < 0) { + left = 0; + } + return { top: top, left: left }; + }; + } + }; + Sparkline.prototype.$init = function () { + var _a; + var $el = this.$$.$el; + // make disable-ish main chart element + $el.chart + .style("width", "0") + .style("height", "0") + .style("pointer-events", "none"); + ((_a = $el.tooltip) === null || _a === void 0 ? void 0 : _a.node()) && document.body.appendChild($el.tooltip.node()); + }; + Sparkline.prototype.$afterInit = function () { + var $$ = this.$$; + $$.$el.svg.attr("style", null) + .style("width", "0") + .style("height", "0"); + this.bindEvents(true); + }; + /** + * Bind tooltip event handlers for each sparkline elements. + * @param {boolean} bind or unbind + * @private + */ + Sparkline.prototype.bindEvents = function (bind) { + var _this = this; + if (bind === void 0) { bind = true; } + var config = this.$$.config; + if (config.interaction_enabled && config.tooltip_show) { + var method_1 = "".concat(bind ? "add" : "remove", "EventListener"); + this.element + .forEach(function (el) { + var svg = el.querySelector("svg"); + svg[method_1]("mouseover", _this.overHandler); + svg[method_1]("mousemove", _this.moveHandler); + svg[method_1]("mouseout", _this.outHandler); + }); + } + }; + Sparkline.prototype.overHandler = function (e) { + var $$ = this.$$; + var eventReceiver = $$.state.eventReceiver; + eventReceiver.rect = e.target.getBoundingClientRect(); + }; + Sparkline.prototype.moveHandler = function (e) { + var _a, _b, _c, _d; + var $$ = this.$$; + var index = $$.getDataIndexFromEvent(e); + var data = (_a = $$.api.data(e.target.__id)) === null || _a === void 0 ? void 0 : _a[0]; + var d = (_b = data === null || data === void 0 ? void 0 : data.values) === null || _b === void 0 ? void 0 : _b[index]; + if (d && !d.name) { + d.name = d.id; + } + $$.state.event = e; + if (((_c = $$.isPointFocusOnly) === null || _c === void 0 ? void 0 : _c.call($$)) && d) { + (_d = $$.showCircleFocus) === null || _d === void 0 ? void 0 : _d.call($$, [d]); + } + $$.setExpand(index, data.id, true); + $$.showTooltip([d], e.target); + }; + Sparkline.prototype.outHandler = function (e) { + var $$ = this.$$; + $$.state.event = e; + $$.isPointFocusOnly() ? $$.hideCircleFocus() : $$.unexpandCircles(); + $$.hideTooltip(); + }; + Sparkline.prototype.$redraw = function () { + var _a; + var $$ = this.$$; + var $el = $$.$el; + var el = this.element; + var data = $$.api.data(); + var svgWrapper = (_a = $el.chart.html().match(/<svg[^>]*>/)) === null || _a === void 0 ? void 0 : _a[0]; + // append sparkline holder if is less than the data length + if (el.length < data.length) { + var chart = $el.chart.node(); + for (var i = data.length - el.length; i > 0; i--) { + chart.parentNode.insertBefore(el[0].cloneNode(), chart.nextSibling); + } + this.element = document.querySelectorAll(this.config.selector); + el = this.element; + } + data.map(function (v) { return v.id; }) + .forEach(function (id, i) { + var selector = ".".concat($COMMON.target, "-").concat(id); + var shape = $el.main.selectAll(selector); + var svg = el[i].querySelector("svg"); + if (!svg) { + el[i].innerHTML = "".concat(svgWrapper, "</svg>"); + svg = el[i].querySelector("svg"); + svg.__id = id; + } + if (!svg.querySelector(selector)) { + shape.style("opacity", null); + } + shape + .style("fill", "none") + .style("opacity", null); + svg.innerHTML = ""; + svg.appendChild(shape.node()); + }); + }; + Sparkline.prototype.$willDestroy = function () { + this.bindEvents(false); + this.element + .forEach(function (el) { + el.innerHTML = ""; + }); + }; + Sparkline.version = "0.0.1"; + return Sparkline; +}(Plugin)); + +export { Sparkline as default }; diff --git a/release/3.14.2/dist-esm/plugin/billboardjs-plugin-stanford.d.ts b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-stanford.d.ts new file mode 100644 index 000000000..3ea42d846 --- /dev/null +++ b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-stanford.d.ts @@ -0,0 +1,7 @@ +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +import PluginClass from "../../types/plugin/stanford"; + +export default PluginClass; diff --git a/release/3.14.2/dist-esm/plugin/billboardjs-plugin-stanford.js b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-stanford.js new file mode 100644 index 000000000..1c859489f --- /dev/null +++ b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-stanford.js @@ -0,0 +1,1187 @@ +/*! +* Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin +*/ +import { hsl } from 'd3-color'; +import { interpolateHslLong } from 'd3-interpolate'; +import { scaleSequential, scaleSymlog, scaleSequentialLog } from 'd3-scale'; +import { axisRight } from 'd3-axis'; +import { format } from 'd3-format'; + +/****************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +/* global Reflect, Promise, SuppressedError, Symbol, Iterator */ + +var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); +}; + +function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} + +var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; + +function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +} + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * CSS class names definition + * @private + */ +var $COMMON = { + button: "bb-button", + chart: "bb-chart", + empty: "bb-empty", + main: "bb-main", + target: "bb-target", + EXPANDED: "_expanded_" +}; +var $ARC = { + arc: "bb-arc", + arcLabelLine: "bb-arc-label-line", + arcRange: "bb-arc-range", + arcs: "bb-arcs", + chartArc: "bb-chart-arc", + chartArcs: "bb-chart-arcs", + chartArcsBackground: "bb-chart-arcs-background", + chartArcsTitle: "bb-chart-arcs-title", + needle: "bb-needle" +}; +var $AREA = { + area: "bb-area", + areas: "bb-areas" +}; +var $AXIS = { + axis: "bb-axis", + axisX: "bb-axis-x", + axisXLabel: "bb-axis-x-label", + axisY: "bb-axis-y", + axisY2: "bb-axis-y2", + axisY2Label: "bb-axis-y2-label", + axisYLabel: "bb-axis-y-label", + axisXTooltip: "bb-axis-x-tooltip", + axisYTooltip: "bb-axis-y-tooltip", + axisY2Tooltip: "bb-axis-y2-tooltip" +}; +var $BAR = { + bar: "bb-bar", + bars: "bb-bars", + chartBar: "bb-chart-bar", + chartBars: "bb-chart-bars" +}; +var $CANDLESTICK = { + candlestick: "bb-candlestick", + candlesticks: "bb-candlesticks", + chartCandlestick: "bb-chart-candlestick", + chartCandlesticks: "bb-chart-candlesticks", + valueDown: "bb-value-down", + valueUp: "bb-value-up" +}; +var $CIRCLE = { + chartCircles: "bb-chart-circles", + circle: "bb-circle", + circles: "bb-circles" +}; +var $COLOR = { + colorPattern: "bb-color-pattern", + colorScale: "bb-colorscale" +}; +var $DRAG = { + dragarea: "bb-dragarea", + INCLUDED: "_included_" +}; +var $FUNNEL = { + funnel: "bb-funnel", + chartFunnel: "bb-chart-funnel", + chartFunnels: "bb-chart-funnels", + funnelBackground: "bb-funnel-background" +}; +var $GAUGE = { + chartArcsGaugeMax: "bb-chart-arcs-gauge-max", + chartArcsGaugeMin: "bb-chart-arcs-gauge-min", + chartArcsGaugeUnit: "bb-chart-arcs-gauge-unit", + chartArcsGaugeTitle: "bb-chart-arcs-gauge-title", + gaugeValue: "bb-gauge-value" +}; +var $LEGEND = { + legend: "bb-legend", + legendBackground: "bb-legend-background", + legendItem: "bb-legend-item", + legendItemEvent: "bb-legend-item-event", + legendItemHidden: "bb-legend-item-hidden", + legendItemPoint: "bb-legend-item-point", + legendItemTile: "bb-legend-item-tile" +}; +var $LINE = { + chartLine: "bb-chart-line", + chartLines: "bb-chart-lines", + line: "bb-line", + lines: "bb-lines" +}; +var $EVENT = { + eventRect: "bb-event-rect", + eventRects: "bb-event-rects", + eventRectsMultiple: "bb-event-rects-multiple", + eventRectsSingle: "bb-event-rects-single" +}; +var $FOCUS = { + focused: "bb-focused", + defocused: "bb-defocused", + legendItemFocused: "bb-legend-item-focused", + xgridFocus: "bb-xgrid-focus", + ygridFocus: "bb-ygrid-focus" +}; +var $GRID = { + grid: "bb-grid", + gridLines: "bb-grid-lines", + xgrid: "bb-xgrid", + xgridLine: "bb-xgrid-line", + xgridLines: "bb-xgrid-lines", + xgrids: "bb-xgrids", + ygrid: "bb-ygrid", + ygridLine: "bb-ygrid-line", + ygridLines: "bb-ygrid-lines", + ygrids: "bb-ygrids" +}; +var $RADAR = { + chartRadar: "bb-chart-radar", + chartRadars: "bb-chart-radars" +}; +var $REGION = { + region: "bb-region", + regions: "bb-regions" +}; +var $SELECT = { + selectedCircle: "bb-selected-circle", + selectedCircles: "bb-selected-circles", + SELECTED: "_selected_" +}; +var $SHAPE = { + shape: "bb-shape", + shapes: "bb-shapes" +}; +var $SUBCHART = { + brush: "bb-brush", + subchart: "bb-subchart" +}; +var $TEXT = { + chartText: "bb-chart-text", + chartTexts: "bb-chart-texts", + text: "bb-text", + texts: "bb-texts", + title: "bb-title", + TextOverlapping: "text-overlapping" +}; +var $TOOLTIP = { + tooltip: "bb-tooltip", + tooltipContainer: "bb-tooltip-container", + tooltipName: "bb-tooltip-name" +}; +var $TREEMAP = { + treemap: "bb-treemap", + chartTreemap: "bb-chart-treemap", + chartTreemaps: "bb-chart-treemaps" +}; +var $ZOOM = { + buttonZoomReset: "bb-zoom-reset", + zoomBrush: "bb-zoom-brush" +}; +__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, $COMMON), $ARC), $AREA), $AXIS), $BAR), $CANDLESTICK), $CIRCLE), $COLOR), $DRAG), $GAUGE), $LEGEND), $LINE), $EVENT), $FOCUS), $FUNNEL), $GRID), $RADAR), $REGION), $SELECT), $SHAPE), $SUBCHART), $TEXT), $TOOLTIP), $TREEMAP), $ZOOM); + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Window object + * @private + */ +/* eslint-disable no-new-func, no-undef */ +/** + * Get global object + * @returns {object} window object + * @private + */ +function getGlobal() { + return (typeof globalThis === "object" && globalThis !== null && globalThis.Object === Object && + globalThis) || + (typeof global === "object" && global !== null && global.Object === Object && global) || + (typeof self === "object" && self !== null && self.Object === Object && self) || + Function("return this")(); +} +var win = getGlobal(); +var doc = win === null || win === void 0 ? void 0 : win.document; + +var isFunction = function (v) { return typeof v === "function"; }; +var isString = function (v) { return typeof v === "string"; }; +var isNumber = function (v) { return typeof v === "number"; }; +var isUndefined = function (v) { return typeof v === "undefined"; }; +var isDefined = function (v) { return typeof v !== "undefined"; }; +var isObjectType = function (v) { return typeof v === "object"; }; +var isEmpty = function (o) { return (isUndefined(o) || o === null || + (isString(o) && o.length === 0) || + (isObjectType(o) && !(o instanceof Date) && Object.keys(o).length === 0) || + (isNumber(o) && isNaN(o))); }; +/** + * Check if is array + * @param {Array} arr Data to be checked + * @returns {boolean} + * @private + */ +var isArray = function (arr) { return Array.isArray(arr); }; +/** + * Check if is object + * @param {object} obj Data to be checked + * @returns {boolean} + * @private + */ +var isObject = function (obj) { return obj && !(obj === null || obj === void 0 ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); }; +/** + * Merge object returning new object + * @param {object} target Target object + * @param {object} objectN Source object + * @returns {object} merged target object + * @private + */ +function mergeObj(target) { + var objectN = []; + for (var _i = 1; _i < arguments.length; _i++) { + objectN[_i - 1] = arguments[_i]; + } + if (!objectN.length || (objectN.length === 1 && !objectN[0])) { + return target; + } + var source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach(function (key) { + var value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } + else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj.apply(void 0, __spreadArray([target], objectN, false)); +} +/** + * Get range + * @param {number} start Start number + * @param {number} end End number + * @param {number} step Step number + * @returns {Array} + * @private + */ +var getRange = function (start, end, step) { + var res = []; + var n = Math.max(0, Math.ceil((end - start) / step)) | 0; + for (var i = start; i < n; i++) { + res.push(start + i * step); + } + return res; +}; +// emulate event +({ + mouse: (function () { + var getParams = function () { return ({ + bubbles: false, + cancelable: false, + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0 + }); }; + try { + // eslint-disable-next-line no-new + new MouseEvent("t"); + return function (el, eventType, params) { + if (params === void 0) { params = getParams(); } + el.dispatchEvent(new MouseEvent(eventType, params)); + }; + } + catch (_a) { + // Polyfills DOM4 MouseEvent + return function (el, eventType, params) { + if (params === void 0) { params = getParams(); } + var mouseEvent = doc.createEvent("MouseEvent"); + // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent + mouseEvent.initMouseEvent(eventType, params.bubbles, params.cancelable, win, 0, // the event's mouse click count + params.screenX, params.screenY, params.clientX, params.clientY, false, false, false, false, 0, null); + el.dispatchEvent(mouseEvent); + }; + } + })(), + touch: function (el, eventType, params) { + var touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}); +/** + * Get parsed date value + * (It must be called in 'ChartInternal' context) + * @param {Date|string|number} date Value of date to be parsed + * @returns {Date} + * @private + */ +function parseDate(date) { + var _a; + var parsedDate; + if (date instanceof Date) { + parsedDate = date; + } + else if (isString(date)) { + var _b = this, config = _b.config, format = _b.format; + // if fails to parse, try by new Date() + // https://github.com/naver/billboard.js/issues/1714 + parsedDate = (_a = format.dataTime(config.data_xFormat)(date)) !== null && _a !== void 0 ? _a : new Date(date); + } + else if (isNumber(date) && !isNaN(date)) { + parsedDate = new Date(+date); + } + if (!parsedDate || isNaN(+parsedDate)) { + console && console.error && + console.error("Failed to parse x '".concat(date, "' to Date object")); + } + return parsedDate; +} + +/** + * Load configuration option + * @param {object} config User's generation config value + * @private + */ +function loadConfig(config) { + var thisConfig = this.config; + var target; + var keys; + var read; + var find = function () { + var key = keys.shift(); + if (key && target && isObjectType(target) && key in target) { + target = target[key]; + return find(); + } + else if (!key) { + return target; + } + return undefined; + }; + Object.keys(thisConfig).forEach(function (key) { + target = config; + keys = key.split("_"); + read = find(); + if (isDefined(read)) { + thisConfig[key] = read; + } + }); + // only should run in the ChartInternal context + if (this.api) { + this.state.orgConfig = config; + } +} + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Base class to generate billboard.js plugin + * @class Plugin + */ +/** + * Version info string for plugin + * @name version + * @static + * @memberof Plugin + * @type {string} + * @example + * bb.plugin.stanford.version; // ex) 1.9.0 + */ +var Plugin = /** @class */ (function () { + /** + * Constructor + * @param {Any} options config option object + * @private + */ + function Plugin(options) { + if (options === void 0) { options = {}; } + this.options = options; + } + /** + * Lifecycle hook for 'beforeInit' phase. + * @private + */ + Plugin.prototype.$beforeInit = function () { }; + /** + * Lifecycle hook for 'init' phase. + * @private + */ + Plugin.prototype.$init = function () { }; + /** + * Lifecycle hook for 'afterInit' phase. + * @private + */ + Plugin.prototype.$afterInit = function () { }; + /** + * Lifecycle hook for 'redraw' phase. + * @private + */ + Plugin.prototype.$redraw = function () { }; + /** + * Lifecycle hook for 'willDestroy' phase. + * @private + */ + Plugin.prototype.$willDestroy = function () { + var _this = this; + Object.keys(this).forEach(function (key) { + _this[key] = null; + delete _this[key]; + }); + }; + Plugin.version = "3.14.2"; + return Plugin; +}()); + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * CSS class names definition + * @private + */ +var CLASS = { + colorScale: "bb-colorscale", + stanfordElements: "bb-stanford-elements", + stanfordLine: "bb-stanford-line", + stanfordLines: "bb-stanford-lines", + stanfordRegion: "bb-stanford-region", + stanfordRegions: "bb-stanford-regions" +}; + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * @ignore + */ +/** + * Check if point is in region + * @param {object} point Point + * @param {Array} region Region + * @returns {boolean} + * @private + */ +function pointInRegion(point, region) { + // ray-casting algorithm based on + // http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html + var x = point.x; + var y = point.value; + var inside = false; + for (var i = 0, j = region.length - 1; i < region.length; j = i++) { + var xi = region[i].x; + var yi = region[i].y; + var xj = region[j].x; + var yj = region[j].y; + var intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); + if (intersect) { + inside = !inside; + } + } + return inside; +} +/** + * Compare epochs + * @param {object} a Target + * @param {object} b Source + * @returns {number} + * @private + */ +function compareEpochs(a, b) { + if (a.epochs < b.epochs) { + return -1; + } + if (a.epochs > b.epochs) { + return 1; + } + return 0; +} +/** + * Get region area + * @param {Array} points Points + * @returns {number} + * @private + */ +function getRegionArea(points) { + var area = 0; + var point1; + var point2; + for (var i = 0, l = points.length, j = l - 1; i < l; j = i, i++) { + point1 = points[i]; + point2 = points[j]; + area += point1.x * point2.y; + area -= point1.y * point2.x; + } + area /= 2; + return area; +} +/** + * Get centroid + * @param {Array} points Points + * @returns {object} + * @private + */ +function getCentroid(points) { + var area = getRegionArea(points); + var x = 0; + var y = 0; + var f; + for (var i = 0, l = points.length, j = l - 1; i < l; j = i, i++) { + var point1 = points[i]; + var point2 = points[j]; + f = point1.x * point2.y - point2.x * point1.y; + x += (point1.x + point2.x) * f; + y += (point1.y + point2.y) * f; + } + f = area * 6; + return { + x: x / f, + y: y / f + }; +} + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Stanford diagram plugin color scale class + * @class ColorScale + * @param {Stanford} owner Stanford instance + * @private + */ +var ColorScale = /** @class */ (function () { + function ColorScale(owner) { + this.owner = owner; + } + ColorScale.prototype.drawColorScale = function () { + var _a = this.owner, $$ = _a.$$, config = _a.config; + var target = $$.data.targets[0]; + var height = $$.state.height - config.padding_bottom - config.padding_top; + var barWidth = config.scale_width; + var barHeight = 5; + var points = getRange(config.padding_bottom, height, barHeight); + var inverseScale = scaleSequential(target.colors) + .domain([points[points.length - 1], points[0]]); + if (this.colorScale) { + this.colorScale.remove(); + } + this.colorScale = $$.$el.svg.append("g") + .attr("width", 50) + .attr("height", height) + .attr("class", CLASS.colorScale); + this.colorScale.append("g") + .attr("transform", "translate(0, ".concat(config.padding_top, ")")) + .selectAll("bars") + .data(points) + .enter() + .append("rect") + .attr("y", function (d, i) { return i * barHeight; }) + .attr("x", 0) + .attr("width", barWidth) + .attr("height", barHeight) + .attr("fill", function (d) { return inverseScale(d); }); + // Legend Axis + var axisScale = scaleSymlog() + .domain([target.minEpochs, target.maxEpochs]) + .range([ + points[0] + config.padding_top + points[points.length - 1] + barHeight - 1, + points[0] + config.padding_top + ]); + var legendAxis = axisRight(axisScale); + var scaleFormat = config.scale_format; + if (scaleFormat === "pow10") { + legendAxis.tickValues([1, 10, 100, 1000, 10000, 100000, 1000000, 10000000]); + } + else if (isFunction(scaleFormat)) { + legendAxis.tickFormat(scaleFormat); + } + else { + legendAxis.tickFormat(format("d")); + } + // Draw Axis + var axis = this.colorScale.append("g") + .attr("class", "legend axis") + .attr("transform", "translate(".concat(barWidth, ",0)")) + .call(legendAxis); + if (scaleFormat === "pow10") { + axis.selectAll(".tick text") + .text(null) + .filter(function (d) { return d / Math.pow(10, Math.ceil(Math.log(d) / Math.LN10 - 1e-12)) === 1; }) // Power of Ten + .text(10) + .append("tspan") + .attr("dy", "-.7em") // https://bl.ocks.org/mbostock/6738229 + .text(function (d) { return Math.round(Math.log(d) / Math.LN10); }); + } + this.colorScale.attr("transform", "translate(".concat($$.state.current.width - this.xForColorScale(), ", 0)")); + }; + ColorScale.prototype.xForColorScale = function () { + return this.owner.config.padding_right + + this.colorScale.node().getBBox().width; + }; + ColorScale.prototype.getColorScalePadding = function () { + return this.xForColorScale() + this.owner.config.padding_left + 20; + }; + return ColorScale; +}()); + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +// @ts-nocheck +/** + * Stanford diagram plugin element class + * @class ColorScale + * @param {Stanford} owner Stanford instance + * @private + */ +var Elements = /** @class */ (function () { + function Elements(owner) { + this.owner = owner; + // MEMO: Avoid blocking eventRect + var elements = owner.$$.$el.main.select(".bb-chart") + .append("g") + .attr("class", CLASS.stanfordElements); + elements.append("g").attr("class", CLASS.stanfordLines); + elements.append("g").attr("class", CLASS.stanfordRegions); + } + Elements.prototype.updateStanfordLines = function (duration) { + var $$ = this.owner.$$; + var config = $$.config, main = $$.$el.main; + var isRotated = config.axis_rotated; + var xvCustom = this.xvCustom.bind($$); + var yvCustom = this.yvCustom.bind($$); + // Stanford-Lines + var stanfordLine = main.select(".".concat(CLASS.stanfordLines)) + .style("shape-rendering", "geometricprecision") + .selectAll(".".concat(CLASS.stanfordLine)) + .data(this.owner.config.lines); + // exit + stanfordLine.exit().transition() + .duration(duration) + .style("opacity", "0") + .remove(); + // enter + var stanfordLineEnter = stanfordLine.enter().append("g"); + stanfordLineEnter.append("line") + .style("opacity", "0"); + stanfordLineEnter + .merge(stanfordLine) + .attr("class", function (d) { return CLASS.stanfordLine + (d.class ? " ".concat(d.class) : ""); }) + .select("line") + .transition() + .duration(duration) + .attr("x1", function (d) { + var v = isRotated ? yvCustom(d, "y1") : xvCustom(d, "x1"); + return v; + }) + .attr("x2", function (d) { return (isRotated ? yvCustom(d, "y2") : xvCustom(d, "x2")); }) + .attr("y1", function (d) { + var v = isRotated ? xvCustom(d, "x1") : yvCustom(d, "y1"); + return v; + }) + .attr("y2", function (d) { return (isRotated ? xvCustom(d, "x2") : yvCustom(d, "y2")); }) + .transition() + .style("opacity", null); + }; + Elements.prototype.updateStanfordRegions = function (duration) { + var $$ = this.owner.$$; + var config = $$.config, main = $$.$el.main; + var isRotated = config.axis_rotated; + var xvCustom = this.xvCustom.bind($$); + var yvCustom = this.yvCustom.bind($$); + var countPointsInRegion = this.owner.countEpochsInRegion.bind($$); + // Stanford-Regions + var stanfordRegion = main.select(".".concat(CLASS.stanfordRegions)) + .selectAll(".".concat(CLASS.stanfordRegion)) + .data(this.owner.config.regions); + // exit + stanfordRegion.exit().transition() + .duration(duration) + .style("opacity", "0") + .remove(); + // enter + var stanfordRegionEnter = stanfordRegion.enter().append("g"); + stanfordRegionEnter.append("polygon") + .style("opacity", "0"); + stanfordRegionEnter.append("text") + .attr("transform", isRotated ? "rotate(-90)" : "") + .style("opacity", "0"); + stanfordRegion = stanfordRegionEnter.merge(stanfordRegion); + // update + stanfordRegion + .attr("class", function (d) { return CLASS.stanfordRegion + (d.class ? " ".concat(d.class) : ""); }) + .select("polygon") + .transition() + .duration(duration) + .attr("points", function (d) { + return d.points.map(function (value) { + return [ + isRotated ? yvCustom(value, "y") : xvCustom(value, "x"), + isRotated ? xvCustom(value, "x") : yvCustom(value, "y") + ].join(","); + }).join(" "); + }) + .transition() + .style("opacity", function (d) { return String(d.opacity ? d.opacity : 0.2); }); + stanfordRegion.select("text") + .transition() + .duration(duration) + .attr("x", function (d) { return (isRotated ? + yvCustom(getCentroid(d.points), "y") : + xvCustom(getCentroid(d.points), "x")); }) + .attr("y", function (d) { return (isRotated ? + xvCustom(getCentroid(d.points), "x") : + yvCustom(getCentroid(d.points), "y")); }) + .text(function (d) { + if (d.text) { + var _a = countPointsInRegion(d.points), value = _a.value, percentage = _a.percentage; + return d.text(value, percentage); + } + return ""; + }) + .attr("text-anchor", "middle") + .attr("dominant-baseline", "middle") + .transition() + .style("opacity", null); + }; + Elements.prototype.updateStanfordElements = function (duration) { + if (duration === void 0) { duration = 0; } + this.updateStanfordLines(duration); + this.updateStanfordRegions(duration); + }; + Elements.prototype.xvCustom = function (d, xyValue) { + var $$ = this; + var axis = $$.axis, config = $$.config; + var value = xyValue ? d[xyValue] : $$.getBaseValue(d); + if (axis.isTimeSeries()) { + value = parseDate.call($$, value); + } + else if (axis.isCategorized() && isString(value)) { + value = config.axis_x_categories.indexOf(d.value); + } + return $$.scale.x(value); + }; + Elements.prototype.yvCustom = function (d, xyValue) { + var $$ = this; + var yScale = d.axis && d.axis === "y2" ? $$.scale.y2 : $$.scale.y; + var value = xyValue ? d[xyValue] : $$.getBaseValue(d); + return yScale(value); + }; + return Elements; +}()); + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Stanford diagram plugin option class + * @class StanfordOptions + * @param {Options} options Stanford plugin options + * @augments Plugin + * @returns {StanfordOptions} + * @private + */ +var Options = /** @class */ (function () { + function Options() { + return { + /** + * Set the color of the color scale. This function receives a value between 0 and 1, and should return a color. + * @name colors + * @memberof plugin-stanford + * @type {Function} + * @default undefined + * @example + * colors: d3.interpolateHslLong( + * d3.hsl(250, 1, 0.5), d3.hsl(0, 1, 0.5) + * ) + */ + colors: undefined, + /** + * Specify the key of epochs values in the data. + * @name epochs + * @memberof plugin-stanford + * @type {Array} + * @default [] + * @example + * epochs: [ 1, 1, 2, 2, ... ] + */ + epochs: [], + /** + * Show additional lines anywhere on the chart. + * - Each line object should consist with following options: + * + * | Key | Type | Description | + * | --- | --- | --- | + * | x1 | Number | Starting position on the x axis | + * | y1 | Number | Starting position on the y axis | + * | x2 | Number | Ending position on the x axis | + * | y2 | Number | Ending position on the y axis | + * | class | String | Optional value. Set a custom css class to this line. | + * @type {Array} + * @memberof plugin-stanford + * @default [] + * @example + * lines: [ + * { x1: 0, y1: 0, x2: 65, y2: 65, class: "line1" }, + * { x1: 0, x2: 65, y1: 40, y2: 40, class: "line2" } + * ] + */ + lines: [], + /** + * Set scale values + * @name scale + * @memberof plugin-stanford + * @type {object} + * @property {object} [scale] scale object + * @property {number} [scale.min=undefined] Minimum value of the color scale. Default: lowest value in epochs + * @property {number} [scale.max=undefined] Maximum value of the color scale. Default: highest value in epochs + * @property {number} [scale.width=20] Width of the color scale + * @property {string|Function} [scale.format=undefined] Format of the axis of the color scale. Use 'pow10' to format as powers of 10 or a custom function. Example: d3.format("d") + * @example + * scale: { + * max: 10000, + * min: 1, + * width: 500, + * + * // specify 'pow10' to format as powers of 10 + * format: "pow10", + * + * // or specify a format function + * format: function(x) { + * return x +"%"; + * } + * }, + */ + scale_min: undefined, + scale_max: undefined, + scale_width: 20, + scale_format: undefined, + /** + * The padding for color scale element + * @name padding + * @memberof plugin-stanford + * @type {object} + * @property {object} [padding] padding object + * @property {number} [padding.top=0] Top padding value. + * @property {number} [padding.right=0] Right padding value. + * @property {number} [padding.bottom=0] Bottom padding value. + * @property {number} [padding.left=0] Left padding value. + * @example + * padding: { + * top: 15, + * right: 0, + * bottom: 0, + * left: 0 + * }, + */ + padding_top: 0, + padding_right: 0, + padding_bottom: 0, + padding_left: 0, + /** + * Show additional regions anywhere on the chart. + * - Each region object should consist with following options: + * + * | Key | Type | Default | Attributes | Description | + * | --- | --- | --- | --- | --- | + * | points | Array | | | Accepts a group of objects that has x and y.<br>These points should be added in a counter-clockwise fashion to make a closed polygon. | + * | opacity | Number | `0.2` | <optional> | Sets the opacity of the region as value between 0 and 1 | + * | text | Function | | <optional> | This function receives a value and percentage of the number of epochs in this region.<br>Return a string to place text in the middle of the region. | + * | class | String | | <optional> | Se a custom css class to this region, use the fill property in css to set a background color. | + * @name regions + * @memberof plugin-stanford + * @type {Array} + * @default [] + * @example + * regions: [ + * { + * points: [ // add points counter-clockwise + * { x: 0, y: 0 }, + * { x: 40, y: 40 }, + * { x: 0, y: 40 }, + * ], + * text: function (value, percentage) { + * return `Normal Operations: ${value} (${percentage}%)`; + * }, + * opacity: 0.2, // 0 to 1 + * class: "test-polygon1" + * }, + * ... + * ] + */ + regions: [] + }; + } + return Options; +}()); + +/** + * Stanford diagram plugin + * - **NOTE:** + * - Plugins aren't built-in. Need to be loaded or imported to be used. + * - Non required modules from billboard.js core, need to be installed separately. + * - Is preferable use `scatter` as data.type + * - **Required modules:** + * - [d3-selection](https://github.com/d3/d3-selection) + * - [d3-interpolate](https://github.com/d3/d3-interpolate) + * - [d3-color](https://github.com/d3/d3-color) + * - [d3-scale](https://github.com/d3/d3-scale) + * - [d3-brush](https://github.com/d3/d3-brush) + * - [d3-axis](https://github.com/d3/d3-axis) + * - [d3-format](https://github.com/d3/d3-format) + * @class plugin-stanford + * @requires d3-selection + * @requires d3-interpolate + * @requires d3-color + * @requires d3-scale + * @requires d3-brush + * @requires d3-axis + * @requires d3-format + * @param {object} options Stanford plugin options + * @augments Plugin + * @returns {Stanford} + * @example + * // Plugin must be loaded before the use. + * <script src="$YOUR_PATH/plugin/billboardjs-plugin-stanford.js"></script> + * + * var chart = bb.generate({ + * data: { + * columns: [ ... ], + * type: "scatter" + * } + * ... + * plugins: [ + * new bb.plugin.stanford({ + * colors: d3.interpolateHslLong( + * d3.hsl(250, 1, 0.5), d3.hsl(0, 1, 0.5) + * ), + * epochs: [ 1, 1, 2, 2, ... ], + * lines: [ + * { x1: 0, y1: 0, x2: 65, y2: 65, class: "line1" }, + * { x1: 0, x2: 65, y1: 40, y2: 40, class: "line2" } + * ], + * scale: { + * max: 10000, + * min: 1, + * width: 500, + * format: 'pow10', + * }, + * padding: { + * top: 15, + * right: 0, + * bottom: 0, + * left: 0 + * }, + * regions: [ + * { + * points: [ // add points counter-clockwise + * { x: 0, y: 0 }, + * { x: 40, y: 40 }, + * { x: 0, y: 40 } + * ], + * text: function (value, percentage) { + * return `Normal Operations: ${value} (${percentage}%)`; + * }, + * opacity: 0.2, // 0 to 1 + * class: "test-polygon1" + * }, + * ... + * ] + * } + * ] + * }); + * @example + * import {bb} from "billboard.js"; + * import Stanford from "billboard.js/dist/billboardjs-plugin-stanford"; + * + * bb.generate({ + * plugins: [ + * new Stanford({ ... }) + * ] + * }) + */ +var Stanford = /** @class */ (function (_super) { + __extends(Stanford, _super); + function Stanford(options) { + var _this = _super.call(this, options) || this; + _this.config = new Options(); + return _this; + } + Stanford.prototype.$beforeInit = function () { + var _this = this; + var $$ = this.$$; + // override on config values & methods + $$.config.data_xSort = false; + $$.isMultipleX = function () { return true; }; + $$.showGridFocus = function () { }; + $$.labelishData = function (d) { return d.values; }; + $$.opacityForCircle = function () { return 1; }; + var getCurrentPadding = $$.getCurrentPadding.bind($$); + $$.getCurrentPadding = function () { + var padding = getCurrentPadding(); + padding.right += _this.colorScale ? _this.colorScale.getColorScalePadding() : 0; + return padding; + }; + }; + Stanford.prototype.$init = function () { + var $$ = this.$$; + loadConfig.call(this, this.options); + $$.color = this.getStanfordPointColor.bind($$); + this.colorScale = new ColorScale(this); + this.elements = new Elements(this); + this.convertData(); + this.initStanfordData(); + this.setStanfordTooltip(); + this.colorScale.drawColorScale(); + $$.right += this.colorScale ? this.colorScale.getColorScalePadding() : 0; + this.$redraw(); + }; + Stanford.prototype.$redraw = function (duration) { + var _a, _b; + (_a = this.colorScale) === null || _a === void 0 ? void 0 : _a.drawColorScale(); + (_b = this.elements) === null || _b === void 0 ? void 0 : _b.updateStanfordElements(duration); + }; + Stanford.prototype.getOptions = function () { + return new Options(); + }; + Stanford.prototype.convertData = function () { + var data = this.$$.data.targets; + var epochs = this.options.epochs; + data.forEach(function (d) { + d.values.forEach(function (v, i) { + v.epochs = epochs[i]; + }); + d.minEpochs = undefined; + d.maxEpochs = undefined; + d.colors = undefined; + d.colorscale = undefined; + }); + }; + Stanford.prototype.initStanfordData = function () { + var config = this.config; + var target = this.$$.data.targets[0]; + // TODO STANFORD see if (data.js -> orderTargets)+ can be used instead + // Make larger values appear on top + target.values.sort(compareEpochs); + // Get array of epochs + var epochs = target.values.map(function (a) { return a.epochs; }); + target.minEpochs = !isNaN(config.scale_min) ? config.scale_min : Math.min.apply(Math, epochs); + target.maxEpochs = !isNaN(config.scale_max) ? config.scale_max : Math.max.apply(Math, epochs); + target.colors = isFunction(config.colors) ? + config.colors : + interpolateHslLong(hsl(250, 1, 0.5), hsl(0, 1, 0.5)); + target.colorscale = scaleSequentialLog(target.colors) + .domain([target.minEpochs, target.maxEpochs]); + }; + Stanford.prototype.getStanfordPointColor = function (d) { + var target = this.data.targets[0]; + return target.colorscale(d.epochs); + }; + Stanford.prototype.setStanfordTooltip = function () { + var config = this.$$.config; + if (isEmpty(config.tooltip_contents)) { + config.tooltip_contents = function (d, defaultTitleFormat, defaultValueFormat, color) { + var data_x = config.data_x; + var html = "<table class=\"".concat($TOOLTIP.tooltip, "\"><tbody>"); + d.forEach(function (v) { + var _a = v.id, id = _a === void 0 ? "" : _a, _b = v.value, value = _b === void 0 ? 0 : _b, _c = v.epochs, epochs = _c === void 0 ? 0 : _c, _d = v.x, x = _d === void 0 ? "" : _d; + html += "<tr>\n\t\t\t\t\t\t\t<th>".concat(data_x || "", "</th>\n\t\t\t\t\t\t\t<th class=\"value\">").concat(defaultTitleFormat(x), "</th>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<th>").concat(v.id, "</th>\n\t\t\t\t\t\t\t<th class=\"value\">").concat(defaultValueFormat(value), "</th>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr class=\"").concat($TOOLTIP.tooltipName, "-").concat(id, "\">\n\t\t\t\t\t\t\t<td class=\"name\"><span style=\"background-color:").concat(color(v), "\"></span>Epochs</td>\n\t\t\t\t\t\t\t<td class=\"value\">").concat(defaultValueFormat(epochs), "</td>\n\t\t\t\t\t\t</tr>"); + }); + return "".concat(html, "</tbody></table>"); + }; + } + }; + Stanford.prototype.countEpochsInRegion = function (region) { + var $$ = this; + var target = $$.data.targets[0]; + var total = target.values.reduce(function (accumulator, currentValue) { return accumulator + Number(currentValue.epochs); }, 0); + var value = target.values.reduce(function (accumulator, currentValue) { + if (pointInRegion(currentValue, region)) { + return accumulator + Number(currentValue.epochs); + } + return accumulator; + }, 0); + return { + value: value, + percentage: value !== 0 ? +(value / total * 100).toFixed(1) : 0 + }; + }; + return Stanford; +}(Plugin)); + +export { Stanford as default }; diff --git a/release/3.14.2/dist-esm/plugin/billboardjs-plugin-tableview.d.ts b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-tableview.d.ts new file mode 100644 index 000000000..7724ef4be --- /dev/null +++ b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-tableview.d.ts @@ -0,0 +1,7 @@ +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +import PluginClass from "../../types/plugin/tableview"; + +export default PluginClass; diff --git a/release/3.14.2/dist-esm/plugin/billboardjs-plugin-tableview.js b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-tableview.js new file mode 100644 index 000000000..68fd009fa --- /dev/null +++ b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-tableview.js @@ -0,0 +1,562 @@ +/*! +* Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin +*/ +/****************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +/* global Reflect, Promise, SuppressedError, Symbol, Iterator */ + +var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); +}; + +function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} + +var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; + +function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +} + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Window object + * @private + */ +/* eslint-disable no-new-func, no-undef */ +/** + * Get global object + * @returns {object} window object + * @private + */ +function getGlobal() { + return (typeof globalThis === "object" && globalThis !== null && globalThis.Object === Object && + globalThis) || + (typeof global === "object" && global !== null && global.Object === Object && global) || + (typeof self === "object" && self !== null && self.Object === Object && self) || + Function("return this")(); +} +var win = getGlobal(); +var doc = win === null || win === void 0 ? void 0 : win.document; + +var isNumber = function (v) { return typeof v === "number"; }; +var isDefined = function (v) { return typeof v !== "undefined"; }; +var isObjectType = function (v) { return typeof v === "object"; }; +/** + * Check if is array + * @param {Array} arr Data to be checked + * @returns {boolean} + * @private + */ +var isArray = function (arr) { return Array.isArray(arr); }; +/** + * Check if is object + * @param {object} obj Data to be checked + * @returns {boolean} + * @private + */ +var isObject = function (obj) { return obj && !(obj === null || obj === void 0 ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); }; +/** + * Merge object returning new object + * @param {object} target Target object + * @param {object} objectN Source object + * @returns {object} merged target object + * @private + */ +function mergeObj(target) { + var objectN = []; + for (var _i = 1; _i < arguments.length; _i++) { + objectN[_i - 1] = arguments[_i]; + } + if (!objectN.length || (objectN.length === 1 && !objectN[0])) { + return target; + } + var source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach(function (key) { + var value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } + else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj.apply(void 0, __spreadArray([target], objectN, false)); +} +// emulate event +({ + mouse: (function () { + var getParams = function () { return ({ + bubbles: false, + cancelable: false, + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0 + }); }; + try { + // eslint-disable-next-line no-new + new MouseEvent("t"); + return function (el, eventType, params) { + if (params === void 0) { params = getParams(); } + el.dispatchEvent(new MouseEvent(eventType, params)); + }; + } + catch (_a) { + // Polyfills DOM4 MouseEvent + return function (el, eventType, params) { + if (params === void 0) { params = getParams(); } + var mouseEvent = doc.createEvent("MouseEvent"); + // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent + mouseEvent.initMouseEvent(eventType, params.bubbles, params.cancelable, win, 0, // the event's mouse click count + params.screenX, params.screenY, params.clientX, params.clientY, false, false, false, false, 0, null); + el.dispatchEvent(mouseEvent); + }; + } + })(), + touch: function (el, eventType, params) { + var touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}); +/** + * Process the template & return bound string + * @param {string} tpl Template string + * @param {object} data Data value to be replaced + * @returns {string} + * @private + */ +function tplProcess(tpl, data) { + var res = tpl; + for (var x in data) { + res = res.replace(new RegExp("{=".concat(x, "}"), "g"), data[x]); + } + return res; +} + +/** + * Load configuration option + * @param {object} config User's generation config value + * @private + */ +function loadConfig(config) { + var thisConfig = this.config; + var target; + var keys; + var read; + var find = function () { + var key = keys.shift(); + if (key && target && isObjectType(target) && key in target) { + target = target[key]; + return find(); + } + else if (!key) { + return target; + } + return undefined; + }; + Object.keys(thisConfig).forEach(function (key) { + target = config; + keys = key.split("_"); + read = find(); + if (isDefined(read)) { + thisConfig[key] = read; + } + }); + // only should run in the ChartInternal context + if (this.api) { + this.state.orgConfig = config; + } +} + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Base class to generate billboard.js plugin + * @class Plugin + */ +/** + * Version info string for plugin + * @name version + * @static + * @memberof Plugin + * @type {string} + * @example + * bb.plugin.stanford.version; // ex) 1.9.0 + */ +var Plugin = /** @class */ (function () { + /** + * Constructor + * @param {Any} options config option object + * @private + */ + function Plugin(options) { + if (options === void 0) { options = {}; } + this.options = options; + } + /** + * Lifecycle hook for 'beforeInit' phase. + * @private + */ + Plugin.prototype.$beforeInit = function () { }; + /** + * Lifecycle hook for 'init' phase. + * @private + */ + Plugin.prototype.$init = function () { }; + /** + * Lifecycle hook for 'afterInit' phase. + * @private + */ + Plugin.prototype.$afterInit = function () { }; + /** + * Lifecycle hook for 'redraw' phase. + * @private + */ + Plugin.prototype.$redraw = function () { }; + /** + * Lifecycle hook for 'willDestroy' phase. + * @private + */ + Plugin.prototype.$willDestroy = function () { + var _this = this; + Object.keys(this).forEach(function (key) { + _this[key] = null; + delete _this[key]; + }); + }; + Plugin.version = "3.14.2"; + return Plugin; +}()); + +/** + * Copyright (c) 2021 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Constants values for plugin option + * @ignore + */ +var defaultStyle = { + id: "__tableview-style__", + class: "bb-tableview", + rule: ".bb-tableview {\n\t\tborder-collapse:collapse;\n\t\tborder-spacing:0;\n\t\tbackground:#fff;\n\t\tmin-width:100%;\n\t\tmargin-top:10px;\n\t\tfont-family:sans-serif;\n\t\tfont-size:.9em;\n\t}\n\t.bb-tableview tr:hover {\n\t\tbackground:#eef7ff;\n\t}\n\t.bb-tableview thead tr {\n\t\tbackground:#f8f8f8;\n\t}\n\t.bb-tableview caption,.bb-tableview td,.bb-tableview th {\n\t\ttext-align: center;\n\t\tborder:1px solid silver;\n\t\tpadding:.5em;\n\t}\n\t.bb-tableview caption {\n\t\tfont-size:1.1em;\n\t\tfont-weight:700;\n\t\tmargin-bottom: -1px;\n\t}" +}; +// template +var tpl = { + body: "<caption>{=title}</caption>\n\t\t<thead><tr>{=thead}</tr></thead>\n\t\t<tbody>{=tbody}</tbody>", + thead: "<th scope=\"col\">{=title}</th>", + tbodyHeader: "<th scope=\"row\">{=value}</th>", + tbody: "<td>{=value}</td>" +}; + +/** + * Copyright (c) 2021 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * TableView plugin option class + * @class TableviewOptions + * @param {Options} options TableView plugin options + * @augments Plugin + * @returns {TableviewOptions} + * @private + */ +var Options = /** @class */ (function () { + function Options() { + return { + /** + * Set tableview holder selector. + * - **NOTE:** If not set, will append new holder element dynamically right after chart element. + * @name selector + * @memberof plugin-tableview + * @type {string} + * @default undefined + * @example + * selector: "#table-holder" + */ + selector: undefined, + /** + * Set category title text + * @name categoryTitle + * @memberof plugin-tableview + * @type {string} + * @default "Category" + * @example + * categoryTitle: "#table-holder" + */ + categoryTitle: "Category", + /** + * Set category text format function. + * @name categoryFormat + * @memberof plugin-tableview + * @type {Function} + * @returns {string} + * @default function(v) { // will return formatted value according x Axis type }} + * @example + * categoryFormat: "#table-holder" + */ + categoryFormat: function (v) { + var category = v; + if (this.$$.axis.isCategorized()) { + category = this.$$.categoryName(v); + } + else if (this.$$.axis.isTimeSeries()) { + category = v.toLocaleDateString(); + } + return category; + }, + /** + * Set tableview holder class name. + * @name class + * @memberof plugin-tableview + * @type {string} + * @default undefined + * @example + * class: "table-class-name" + */ + class: undefined, + /** + * Set to apply default style(`.bb-tableview`) to tableview element. + * @name style + * @memberof plugin-tableview + * @type {boolean} + * @default true + * @example + * style: false + */ + style: true, + /** + * Set tableview title text. + * - **NOTE:** If set [title.text](https://naver.github.io/billboard.js/release/latest/doc/Options.html#.title), will be used when this option value is empty. + * @name title + * @memberof plugin-tableview + * @type {string} + * @default undefined + * @example + * title: "Table Title Text" + */ + title: undefined, + /** + * Update tableview from data visibility update(ex. legend toggle). + * @name updateOnToggle + * @memberof plugin-tableview + * @type {boolean} + * @default true + * @example + * legendToggleUpdate: false + */ + updateOnToggle: true, + /** + * Set how null value to be shown. + * @name nullString + * @memberof plugin-tableview + * @type {string} + * @default "-" + * @example + * nullString: "N/A" + */ + nullString: "-" + }; + } + return Options; +}()); + +/** + * Table view plugin.<br> + * Generates table view for bound dataset. + * - **NOTE:** + * - Plugins aren't built-in. Need to be loaded or imported to be used. + * - Non required modules from billboard.js core, need to be installed separately. + * @class plugin-tableview + * @param {object} options table view plugin options + * @augments Plugin + * @returns {TableView} + * @example + * // Plugin must be loaded before the use. + * <script src="$YOUR_PATH/plugin/billboardjs-plugin-tableview.js"></script> + * + * var chart = bb.generate({ + * ... + * plugins: [ + * new bb.plugin.tableview({ + * selector: "#my-table-view", + * categoryTitle: "Category", + * categoryFormat: function(v) { + * // do some transformation + * ... + * return v; + * }, + * class: "my-class-name", + * style: true, + * title: "My Data List", + * updateOnToggle: false, + * nullString: "N/A" + * }), + * ] + * }); + * @example + * import {bb} from "billboard.js"; + * import TableView from "billboard.js/dist/billboardjs-plugin-tableview"; + * + * bb.generate({ + * ... + * plugins: [ + * new TableView({ ... }) + * ] + * }) + */ +var TableView = /** @class */ (function (_super) { + __extends(TableView, _super); + function TableView(options) { + var _this = _super.call(this, options) || this; + _this.config = new Options(); + return _this; + } + TableView.prototype.$beforeInit = function () { + loadConfig.call(this, this.options); + }; + TableView.prototype.$init = function () { + var _a; + var _b = this.config, className = _b.class, selector = _b.selector, style = _b.style; + var element = document.querySelector(selector || ".".concat(className || defaultStyle.class)); + if (!element) { + var chart = this.$$.$el.chart.node(); + element = document.createElement("table"); + chart.parentNode.insertBefore(element, chart.nextSibling); + } + if (element.tagName !== "TABLE") { + var table = document.createElement("table"); + element.appendChild(table); + element = table; + } + // append default css style + if (style && !document.getElementById(defaultStyle.id)) { + var s = document.createElement("style"); + s.id = defaultStyle.id; + s.innerHTML = defaultStyle.rule; + (document.head || document.getElementsByTagName("head")[0]) + .appendChild(s); + } + (_a = element.classList).add.apply(_a, [style && defaultStyle.class, className].filter(Boolean)); + this.element = element; + }; + /** + * Generate table + * @private + */ + TableView.prototype.generateTable = function () { + var _this = this; + var _a = this, $$ = _a.$$, config = _a.config, element = _a.element; + var dataToShow = $$.filterTargetsToShow($$.data.targets); + var thead = tplProcess(tpl.thead, { + title: dataToShow.length ? this.config.categoryTitle : "" + }); + var tbody = ""; + var rows = []; + dataToShow.forEach(function (v) { + thead += tplProcess(tpl.thead, { title: v.id }); + // make up value rows + v.values.forEach(function (d, i) { + if (!rows[i]) { + rows[i] = [d.x]; + } + rows[i].push(d.value); + }); + }); + rows.forEach(function (v) { + tbody += "<tr>".concat(v.map(function (d, i) { + return tplProcess(i ? tpl.tbody : tpl.tbodyHeader, { + value: i === 0 ? + config.categoryFormat.bind(_this)(d) : + (isNumber(d) ? d.toLocaleString() : config.nullString) + }); + }).join(""), "</tr>"); + }); + var rx = /(<\/?(script|img)[^>]*>|<[^>]+><\/[^>]+>)/ig; + var r = tplProcess(tpl.body, __assign(__assign({}, config), { title: config.title || $$.config.title_text || "", thead: thead, tbody: tbody })).replace(rx, ""); + element.innerHTML = r; + }; + TableView.prototype.$redraw = function () { + var state = this.$$.state; + var doNotUpdate = state.resizing || (!this.config.updateOnToggle && state.toggling); + !doNotUpdate && this.generateTable(); + }; + TableView.prototype.$willDestroy = function () { + var _a, _b; + (_a = this.element.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(this.element); + // remove default css style when left one chart instance + if (this.$$.charts.length === 1) { + var s = document.getElementById(defaultStyle.id); + (_b = s === null || s === void 0 ? void 0 : s.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(s); + } + }; + return TableView; +}(Plugin)); + +export { TableView as default }; diff --git a/release/3.14.2/dist-esm/plugin/billboardjs-plugin-textoverlap.d.ts b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-textoverlap.d.ts new file mode 100644 index 000000000..2ebbc04fc --- /dev/null +++ b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-textoverlap.d.ts @@ -0,0 +1,7 @@ +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +import PluginClass from "../../types/plugin/textoverlap"; + +export default PluginClass; diff --git a/release/3.14.2/dist-esm/plugin/billboardjs-plugin-textoverlap.js b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-textoverlap.js new file mode 100644 index 000000000..cbc8dface --- /dev/null +++ b/release/3.14.2/dist-esm/plugin/billboardjs-plugin-textoverlap.js @@ -0,0 +1,435 @@ +/*! +* Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin +*/ +import { Delaunay } from 'd3-delaunay'; +import { polygonCentroid, polygonArea } from 'd3-polygon'; + +/****************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +/* global Reflect, Promise, SuppressedError, Symbol, Iterator */ + +var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); +}; + +function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} + +function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +} + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Window object + * @private + */ +/* eslint-disable no-new-func, no-undef */ +/** + * Get global object + * @returns {object} window object + * @private + */ +function getGlobal() { + return (typeof globalThis === "object" && globalThis !== null && globalThis.Object === Object && + globalThis) || + (typeof global === "object" && global !== null && global.Object === Object && global) || + (typeof self === "object" && self !== null && self.Object === Object && self) || + Function("return this")(); +} +var win = getGlobal(); +var doc = win === null || win === void 0 ? void 0 : win.document; + +var isDefined = function (v) { return typeof v !== "undefined"; }; +var isObjectType = function (v) { return typeof v === "object"; }; +/** + * Check if is array + * @param {Array} arr Data to be checked + * @returns {boolean} + * @private + */ +var isArray = function (arr) { return Array.isArray(arr); }; +/** + * Check if is object + * @param {object} obj Data to be checked + * @returns {boolean} + * @private + */ +var isObject = function (obj) { return obj && !(obj === null || obj === void 0 ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); }; +/** + * Merge object returning new object + * @param {object} target Target object + * @param {object} objectN Source object + * @returns {object} merged target object + * @private + */ +function mergeObj(target) { + var objectN = []; + for (var _i = 1; _i < arguments.length; _i++) { + objectN[_i - 1] = arguments[_i]; + } + if (!objectN.length || (objectN.length === 1 && !objectN[0])) { + return target; + } + var source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach(function (key) { + var value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } + else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj.apply(void 0, __spreadArray([target], objectN, false)); +} +// emulate event +({ + mouse: (function () { + var getParams = function () { return ({ + bubbles: false, + cancelable: false, + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0 + }); }; + try { + // eslint-disable-next-line no-new + new MouseEvent("t"); + return function (el, eventType, params) { + if (params === void 0) { params = getParams(); } + el.dispatchEvent(new MouseEvent(eventType, params)); + }; + } + catch (_a) { + // Polyfills DOM4 MouseEvent + return function (el, eventType, params) { + if (params === void 0) { params = getParams(); } + var mouseEvent = doc.createEvent("MouseEvent"); + // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent + mouseEvent.initMouseEvent(eventType, params.bubbles, params.cancelable, win, 0, // the event's mouse click count + params.screenX, params.screenY, params.clientX, params.clientY, false, false, false, false, 0, null); + el.dispatchEvent(mouseEvent); + }; + } + })(), + touch: function (el, eventType, params) { + var touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}); + +/** + * Load configuration option + * @param {object} config User's generation config value + * @private + */ +function loadConfig(config) { + var thisConfig = this.config; + var target; + var keys; + var read; + var find = function () { + var key = keys.shift(); + if (key && target && isObjectType(target) && key in target) { + target = target[key]; + return find(); + } + else if (!key) { + return target; + } + return undefined; + }; + Object.keys(thisConfig).forEach(function (key) { + target = config; + keys = key.split("_"); + read = find(); + if (isDefined(read)) { + thisConfig[key] = read; + } + }); + // only should run in the ChartInternal context + if (this.api) { + this.state.orgConfig = config; + } +} + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * Base class to generate billboard.js plugin + * @class Plugin + */ +/** + * Version info string for plugin + * @name version + * @static + * @memberof Plugin + * @type {string} + * @example + * bb.plugin.stanford.version; // ex) 1.9.0 + */ +var Plugin = /** @class */ (function () { + /** + * Constructor + * @param {Any} options config option object + * @private + */ + function Plugin(options) { + if (options === void 0) { options = {}; } + this.options = options; + } + /** + * Lifecycle hook for 'beforeInit' phase. + * @private + */ + Plugin.prototype.$beforeInit = function () { }; + /** + * Lifecycle hook for 'init' phase. + * @private + */ + Plugin.prototype.$init = function () { }; + /** + * Lifecycle hook for 'afterInit' phase. + * @private + */ + Plugin.prototype.$afterInit = function () { }; + /** + * Lifecycle hook for 'redraw' phase. + * @private + */ + Plugin.prototype.$redraw = function () { }; + /** + * Lifecycle hook for 'willDestroy' phase. + * @private + */ + Plugin.prototype.$willDestroy = function () { + var _this = this; + Object.keys(this).forEach(function (key) { + _this[key] = null; + delete _this[key]; + }); + }; + Plugin.version = "3.14.2"; + return Plugin; +}()); + +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +/** + * TextOverlap plugin option class + * @class TextOverlapOptions + * @param {Options} options TextOverlap plugin options + * @augments Plugin + * @returns {TextOverlapOptions} + * @private + */ +var Options = /** @class */ (function () { + function Options() { + return { + /** + * Selector string for target text nodes within chart element. + * - **NOTE:** If no value is given, defaults to data label text elements. + * @name selector + * @memberof plugin-textoverlap + * @type {string} + * @default undefined + * @example + * // selector for data label text nodes + * selector: ".bb-texts text" + */ + selector: undefined, + /** + * Extent of label overlap prevention. + * @name extent + * @memberof plugin-textoverlap + * @type {number} + * @default 1 + * @example + * extent: 1 + */ + extent: 1, + /** + * Minimum area needed to show a data label. + * @name area + * @memberof plugin-textoverlap + * @type {number} + * @default 0 + * @example + * area: 0 + */ + area: 0 + }; + } + return Options; +}()); + +/** + * TextOverlap plugin<br> + * Prevents label overlap using [Voronoi layout](https://en.wikipedia.org/wiki/Voronoi_diagram). + * - **NOTE:** + * - Plugins aren't built-in. Need to be loaded or imported to be used. + * - Non required modules from billboard.js core, need to be installed separately. + * - Appropriate and works for axis based chart. + * - **Required modules:** + * - [d3-polygon](https://github.com/d3/d3-polygon) + * - [d3-delaunay](https://github.com/d3/d3-delaunay) + * @class plugin-textoverlap + * @requires d3-polygon + * @requires d3-delaunay + * @param {object} options TextOverlap plugin options + * @augments Plugin + * @returns {TextOverlap} + * @example + * // Plugin must be loaded before the use. + * <script src="$YOUR_PATH/plugin/billboardjs-plugin-textoverlap.js"></script> + * + * var chart = bb.generate({ + * data: { + * columns: [ ... ] + * }, + * ... + * plugins: [ + * new bb.plugin.textoverlap({ + * selector: ".bb-texts text", + * extent: 8, + * area: 3 + * }) + * ] + * }); + * @example + * import {bb} from "billboard.js"; + * import TextOverlap from "billboard.js/dist/billboardjs-plugin-textoverlap"; + * + * bb.generate({ + * plugins: [ + * new TextOverlap({ ... }) + * ] + * }) + */ +var TextOverlap = /** @class */ (function (_super) { + __extends(TextOverlap, _super); + function TextOverlap(options) { + var _this = _super.call(this, options) || this; + _this.config = new Options(); + return _this; + } + TextOverlap.prototype.$init = function () { + loadConfig.call(this, this.options); + }; + TextOverlap.prototype.$redraw = function () { + var _a = this, $el = _a.$$.$el, selector = _a.config.selector; + var text = selector ? $el.main.selectAll(selector) : $el.text; + !text.empty() && this.preventLabelOverlap(text); + }; + /** + * Generates the voronoi layout for data labels + * @param {Array} points Indices values + * @returns {object} Voronoi layout points and corresponding Data points + * @private + */ + TextOverlap.prototype.generateVoronoi = function (points) { + var _a; + var $$ = this.$$; + var scale = $$.scale; + var _b = ["x", "y"].map(function (v) { return scale[v].domain(); }), min = _b[0], max = _b[1]; + _a = [max[0], min[1]], min[1] = _a[0], max[0] = _a[1]; + return Delaunay + .from(points) + .voronoi(__spreadArray(__spreadArray([], min, true), max, true)); // bounds = [xmin, ymin, xmax, ymax], default value: [0, 0, 960, 500] + }; + /** + * Set text label's position to preventg overlap. + * @param {d3Selection} text target text selection + * @private + */ + TextOverlap.prototype.preventLabelOverlap = function (text) { + var _a = this.config, extent = _a.extent, area = _a.area; + var points = text.data().map(function (v) { return [v.index, v.value]; }); + var voronoi = this.generateVoronoi(points); + var i = 0; + text.each(function () { + var cell = voronoi.cellPolygon(i); + if (cell && this) { + var _a = points[i], x = _a[0], y = _a[1]; + // @ts-ignore wrong type definiton for d3PolygonCentroid + var _b = polygonCentroid(cell), cx = _b[0], cy = _b[1]; + // @ts-ignore wrong type definiton for d3PolygonArea + var polygonArea$1 = Math.abs(polygonArea(cell)); + var angle = Math.round(Math.atan2(cy - y, cx - x) / Math.PI * 2); + var xTranslate = extent * (angle === 0 ? 1 : -1); + var yTranslate = angle === -1 ? -extent : extent + 5; + var txtAnchor = Math.abs(angle) === 1 ? + "middle" : + (angle === 0 ? "start" : "end"); + this.style.display = polygonArea$1 < area ? "none" : ""; + this.setAttribute("text-anchor", txtAnchor); + this.setAttribute("dy", "0.".concat(angle === 1 ? 71 : 35, "em")); + this.setAttribute("transform", "translate(".concat(xTranslate, ", ").concat(yTranslate, ")")); + } + i++; + }); + }; + return TextOverlap; +}(Plugin)); + +export { TextOverlap as default }; diff --git a/release/3.14.2/dist/billboard.css b/release/3.14.2/dist/billboard.css new file mode 100644 index 000000000..6d044e73a --- /dev/null +++ b/release/3.14.2/dist/billboard.css @@ -0,0 +1,302 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + */ +/*-- Chart --*/ +.bb svg { + font: 10px sans-serif; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +.bb path, .bb line { + fill: none; + stroke: #000; +} +.bb text, .bb .bb-button { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} + +.bb-legend-item-tile, +.bb-xgrid-focus, +.bb-ygrid-focus, +.bb-ygrid { + shape-rendering: crispEdges; +} + +.bb-chart-arcs .bb-needle { + fill: #000; +} + +.bb-chart-arc .bb-gauge-value { + fill: #000; +} +.bb-chart-arc path { + stroke: #fff; +} +.bb-chart-arc rect { + stroke: #fff; + stroke-width: 1; +} +.bb-chart-arc text { + fill: #fff; + font-size: 13px; +} + +/*-- Funnel --*/ +.bb-chart-funnels path { + stroke-width: 0; +} +.bb-chart-funnels + .bb-chart-texts text { + font-size: 13px; + fill: #fff; +} + +/*-- Axis --*/ +.bb-axis { + shape-rendering: crispEdges; +} +.bb-axis .bb-axis-x-tooltip, .bb-axis .bb-axis-y-tooltip, .bb-axis .bb-axis-y2-tooltip { + font-size: 1em; + fill: #fff; + white-space: nowrap; +} + +/*-- Grid --*/ +.bb-grid { + pointer-events: none; +} +.bb-grid line { + stroke: #aaa; +} +.bb-grid text { + fill: #aaa; +} + +.bb-xgrid, .bb-ygrid { + stroke-dasharray: 3 3; +} + +/*-- Text on Chart --*/ +.bb-text.bb-empty { + fill: #808080; + font-size: 2em; +} + +/*-- Line --*/ +.bb-line { + stroke-width: 1px; +} + +/*-- Point --*/ +.bb-circle._expanded_ { + stroke-width: 1px; + stroke: white; +} + +.bb-selected-circle { + fill: white; + stroke-width: 2px; +} + +/*-- Bar --*/ +.bb-bar { + stroke-width: 0; +} +.bb-bar._expanded_ { + fill-opacity: 0.75; +} + +/*-- Candlestick --*/ +.bb-candlestick { + stroke-width: 1px; +} +.bb-candlestick._expanded_ { + fill-opacity: 0.75; +} + +/*-- Focus --*/ +.bb-target.bb-focused, .bb-circles.bb-focused { + opacity: 1; +} +.bb-target.bb-focused path.bb-line, .bb-target.bb-focused path.bb-step, .bb-circles.bb-focused path.bb-line, .bb-circles.bb-focused path.bb-step { + stroke-width: 2px; +} +.bb-target.bb-defocused, .bb-circles.bb-defocused { + opacity: 0.3 !important; +} +.bb-target.bb-defocused .text-overlapping, .bb-circles.bb-defocused .text-overlapping { + opacity: 0.05 !important; +} + +/*-- Region --*/ +.bb-region { + fill: steelblue; +} +.bb-region rect { + fill-opacity: 0.1; +} + +/*-- Zoom region --*/ +.bb-zoom-brush { + fill-opacity: 0.1; +} + +/*-- Brush --*/ +.bb-brush .extent { + fill-opacity: 0.1; +} + +/*-- Legend --*/ +.bb-legend-item { + font-size: 12px; + user-select: none; +} + +.bb-legend-item-hidden { + opacity: 0.15; +} + +.bb-legend-background { + opacity: 0.75; + fill: white; + stroke: lightgray; + stroke-width: 1; +} + +/*-- Title --*/ +.bb-title { + font: 14px sans-serif; +} + +/*-- Treemap --*/ +.bb-chart-treemaps rect { + stroke: #fff; + stroke-width: 1px; +} + +/*-- Tooltip --*/ +.bb-tooltip-container { + z-index: 10; + user-select: none; +} + +.bb-tooltip { + border-collapse: collapse; + border-spacing: 0; + background-color: #fff; + empty-cells: show; + opacity: 0.9; + box-shadow: 7px 7px 12px -9px rgb(119, 119, 119); + white-space: nowrap; +} +.bb-tooltip tr { + border: 1px solid #CCC; +} +.bb-tooltip th { + background-color: #aaa; + font-size: 14px; + padding: 2px 5px; + text-align: left; + color: #FFF; +} +.bb-tooltip td { + font-size: 13px; + padding: 3px 6px; + background-color: #fff; + border-left: 1px dotted #999; +} +.bb-tooltip td > span, .bb-tooltip td > svg { + display: inline-block; + width: 10px; + height: 10px; + margin-right: 6px; +} +.bb-tooltip.value { + text-align: right; +} + +/*-- Area --*/ +.bb-area { + stroke-width: 0; + opacity: 0.2; +} + +/*-- Arc --*/ +.bb-chart-arcs-title { + dominant-baseline: middle; + font-size: 1.3em; +} + +text.bb-chart-arcs-gauge-title { + dominant-baseline: middle; + font-size: 2.7em; +} + +.bb-chart-arcs { + /*-- Polar --*/ +} +.bb-chart-arcs .bb-chart-arcs-background { + fill: #e0e0e0; + stroke: #fff; +} +.bb-chart-arcs .bb-chart-arcs-gauge-unit { + fill: #000; + font-size: 16px; +} +.bb-chart-arcs .bb-chart-arcs-gauge-max { + fill: #777; +} +.bb-chart-arcs .bb-chart-arcs-gauge-min { + fill: #777; +} +.bb-chart-arcs .bb-levels circle { + fill: none; + stroke: #848282; + stroke-width: 0.5px; +} +.bb-chart-arcs .bb-levels text { + fill: #848282; +} + +/*-- Radar --*/ +.bb-chart-radars .bb-levels polygon { + fill: none; + stroke: #848282; + stroke-width: 0.5px; +} +.bb-chart-radars .bb-levels text { + fill: #848282; +} +.bb-chart-radars .bb-axis line { + stroke: #848282; + stroke-width: 0.5px; +} +.bb-chart-radars .bb-axis text { + font-size: 1.15em; + cursor: default; +} +.bb-chart-radars .bb-shapes polygon { + fill-opacity: 0.2; + stroke-width: 1px; +} + +/*-- Button --*/ +.bb-button { + position: absolute; + top: 10px; + right: 10px; +} +.bb-button .bb-zoom-reset { + font-size: 11px; + border: solid 1px #ccc; + background-color: #fff; + padding: 5px; + border-radius: 5px; + cursor: pointer; +} diff --git a/release/3.14.2/dist/billboard.js b/release/3.14.2/dist/billboard.js new file mode 100644 index 000000000..b3f1e4121 --- /dev/null +++ b/release/3.14.2/dist/billboard.js @@ -0,0 +1,22006 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("d3-axis"), require("d3-brush"), require("d3-drag"), require("d3-dsv"), require("d3-ease"), require("d3-hierarchy"), require("d3-interpolate"), require("d3-scale"), require("d3-selection"), require("d3-shape"), require("d3-time-format"), require("d3-transition"), require("d3-zoom")); + else if(typeof define === 'function' && define.amd) + define(["d3-axis", "d3-brush", "d3-drag", "d3-dsv", "d3-ease", "d3-hierarchy", "d3-interpolate", "d3-scale", "d3-selection", "d3-shape", "d3-time-format", "d3-transition", "d3-zoom"], factory); + else { + var a = typeof exports === 'object' ? factory(require("d3-axis"), require("d3-brush"), require("d3-drag"), require("d3-dsv"), require("d3-ease"), require("d3-hierarchy"), require("d3-interpolate"), require("d3-scale"), require("d3-selection"), require("d3-shape"), require("d3-time-format"), require("d3-transition"), require("d3-zoom")) : factory(root["d3"], root["d3"], root["d3"], root["d3"], root["d3"], root["d3"], root["d3"], root["d3"], root["d3"], root["d3"], root["d3"], root["d3"], root["d3"]); + for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; + } +})(this, function(__WEBPACK_EXTERNAL_MODULE__11__, __WEBPACK_EXTERNAL_MODULE__4__, __WEBPACK_EXTERNAL_MODULE__6__, __WEBPACK_EXTERNAL_MODULE__5__, __WEBPACK_EXTERNAL_MODULE__12__, __WEBPACK_EXTERNAL_MODULE__14__, __WEBPACK_EXTERNAL_MODULE__13__, __WEBPACK_EXTERNAL_MODULE__7__, __WEBPACK_EXTERNAL_MODULE__2__, __WEBPACK_EXTERNAL_MODULE__9__, __WEBPACK_EXTERNAL_MODULE__3__, __WEBPACK_EXTERNAL_MODULE__8__, __WEBPACK_EXTERNAL_MODULE__10__) { +return /******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ([ +/* 0 */, +/* 1 */, +/* 2 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__2__; + +/***/ }), +/* 3 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__3__; + +/***/ }), +/* 4 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__4__; + +/***/ }), +/* 5 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__5__; + +/***/ }), +/* 6 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__6__; + +/***/ }), +/* 7 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__7__; + +/***/ }), +/* 8 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__8__; + +/***/ }), +/* 9 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__9__; + +/***/ }), +/* 10 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__10__; + +/***/ }), +/* 11 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__11__; + +/***/ }), +/* 12 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__12__; + +/***/ }), +/* 13 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__13__; + +/***/ }), +/* 14 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__14__; + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ !function() { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ }(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry needs to be wrapped in an IIFE because it needs to be isolated against other entry modules. +!function() { +// extracted by mini-css-extract-plugin + +}(); +// This entry needs to be wrapped in an IIFE because it needs to be isolated against other entry modules. +!function() { +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + bb: function() { return /* reexport */ bb; }, + "default": function() { return /* reexport */ bb; } +}); + +// NAMESPACE OBJECT: ./src/config/resolver/interaction.ts +var resolver_interaction_namespaceObject = {}; +__webpack_require__.r(resolver_interaction_namespaceObject); +__webpack_require__.d(resolver_interaction_namespaceObject, { + selection: function() { return selectionModule; }, + subchart: function() { return subchartModule; }, + zoom: function() { return zoomModule; } +}); + +// NAMESPACE OBJECT: ./src/config/resolver/shape.ts +var resolver_shape_namespaceObject = {}; +__webpack_require__.r(resolver_shape_namespaceObject); +__webpack_require__.d(resolver_shape_namespaceObject, { + area: function() { return resolver_shape_area; }, + areaLineRange: function() { return areaLineRange; }, + areaSpline: function() { return areaSpline; }, + areaSplineRange: function() { return areaSplineRange; }, + areaStep: function() { return areaStep; }, + areaStepRange: function() { return areaStepRange; }, + bar: function() { return resolver_shape_bar; }, + bubble: function() { return resolver_shape_bubble; }, + candlestick: function() { return resolver_shape_candlestick; }, + donut: function() { return shape_donut; }, + funnel: function() { return resolver_shape_funnel; }, + gauge: function() { return resolver_shape_gauge; }, + line: function() { return resolver_shape_line; }, + pie: function() { return shape_pie; }, + polar: function() { return resolver_shape_polar; }, + radar: function() { return resolver_shape_radar; }, + scatter: function() { return shape_scatter; }, + spline: function() { return shape_spline; }, + step: function() { return step; }, + treemap: function() { return resolver_shape_treemap; } +}); + +// EXTERNAL MODULE: external {"commonjs":"d3-selection","commonjs2":"d3-selection","amd":"d3-selection","root":"d3"} +var external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_ = __webpack_require__(2); +// EXTERNAL MODULE: external {"commonjs":"d3-time-format","commonjs2":"d3-time-format","amd":"d3-time-format","root":"d3"} +var external_commonjs_d3_time_format_commonjs2_d3_time_format_amd_d3_time_format_root_d3_ = __webpack_require__(3); +;// ./src/config/classes.ts +var __defProp = Object.defineProperty; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +const $COMMON = { + button: "bb-button", + chart: "bb-chart", + empty: "bb-empty", + main: "bb-main", + target: "bb-target", + EXPANDED: "_expanded_" +}; +const $ARC = { + arc: "bb-arc", + arcLabelLine: "bb-arc-label-line", + arcRange: "bb-arc-range", + arcs: "bb-arcs", + chartArc: "bb-chart-arc", + chartArcs: "bb-chart-arcs", + chartArcsBackground: "bb-chart-arcs-background", + chartArcsTitle: "bb-chart-arcs-title", + needle: "bb-needle" +}; +const $AREA = { + area: "bb-area", + areas: "bb-areas" +}; +const $AXIS = { + axis: "bb-axis", + axisX: "bb-axis-x", + axisXLabel: "bb-axis-x-label", + axisY: "bb-axis-y", + axisY2: "bb-axis-y2", + axisY2Label: "bb-axis-y2-label", + axisYLabel: "bb-axis-y-label", + axisXTooltip: "bb-axis-x-tooltip", + axisYTooltip: "bb-axis-y-tooltip", + axisY2Tooltip: "bb-axis-y2-tooltip" +}; +const $BAR = { + bar: "bb-bar", + bars: "bb-bars", + chartBar: "bb-chart-bar", + chartBars: "bb-chart-bars" +}; +const $CANDLESTICK = { + candlestick: "bb-candlestick", + candlesticks: "bb-candlesticks", + chartCandlestick: "bb-chart-candlestick", + chartCandlesticks: "bb-chart-candlesticks", + valueDown: "bb-value-down", + valueUp: "bb-value-up" +}; +const $CIRCLE = { + chartCircles: "bb-chart-circles", + circle: "bb-circle", + circles: "bb-circles" +}; +const $COLOR = { + colorPattern: "bb-color-pattern", + colorScale: "bb-colorscale" +}; +const $DRAG = { + dragarea: "bb-dragarea", + INCLUDED: "_included_" +}; +const $FUNNEL = { + funnel: "bb-funnel", + chartFunnel: "bb-chart-funnel", + chartFunnels: "bb-chart-funnels", + funnelBackground: "bb-funnel-background" +}; +const $GAUGE = { + chartArcsGaugeMax: "bb-chart-arcs-gauge-max", + chartArcsGaugeMin: "bb-chart-arcs-gauge-min", + chartArcsGaugeUnit: "bb-chart-arcs-gauge-unit", + chartArcsGaugeTitle: "bb-chart-arcs-gauge-title", + gaugeValue: "bb-gauge-value" +}; +const $LEGEND = { + legend: "bb-legend", + legendBackground: "bb-legend-background", + legendItem: "bb-legend-item", + legendItemEvent: "bb-legend-item-event", + legendItemHidden: "bb-legend-item-hidden", + legendItemPoint: "bb-legend-item-point", + legendItemTile: "bb-legend-item-tile" +}; +const $LINE = { + chartLine: "bb-chart-line", + chartLines: "bb-chart-lines", + line: "bb-line", + lines: "bb-lines" +}; +const $EVENT = { + eventRect: "bb-event-rect", + eventRects: "bb-event-rects", + eventRectsMultiple: "bb-event-rects-multiple", + eventRectsSingle: "bb-event-rects-single" +}; +const $FOCUS = { + focused: "bb-focused", + defocused: "bb-defocused", + legendItemFocused: "bb-legend-item-focused", + xgridFocus: "bb-xgrid-focus", + ygridFocus: "bb-ygrid-focus" +}; +const $GRID = { + grid: "bb-grid", + gridLines: "bb-grid-lines", + xgrid: "bb-xgrid", + xgridLine: "bb-xgrid-line", + xgridLines: "bb-xgrid-lines", + xgrids: "bb-xgrids", + ygrid: "bb-ygrid", + ygridLine: "bb-ygrid-line", + ygridLines: "bb-ygrid-lines", + ygrids: "bb-ygrids" +}; +const $LEVEL = { + level: "bb-level", + levels: "bb-levels" +}; +const $RADAR = { + chartRadar: "bb-chart-radar", + chartRadars: "bb-chart-radars" +}; +const $REGION = { + region: "bb-region", + regions: "bb-regions" +}; +const $SELECT = { + selectedCircle: "bb-selected-circle", + selectedCircles: "bb-selected-circles", + SELECTED: "_selected_" +}; +const $SHAPE = { + shape: "bb-shape", + shapes: "bb-shapes" +}; +const $SUBCHART = { + brush: "bb-brush", + subchart: "bb-subchart" +}; +const $TEXT = { + chartText: "bb-chart-text", + chartTexts: "bb-chart-texts", + text: "bb-text", + texts: "bb-texts", + title: "bb-title", + TextOverlapping: "text-overlapping" +}; +const $TOOLTIP = { + tooltip: "bb-tooltip", + tooltipContainer: "bb-tooltip-container", + tooltipName: "bb-tooltip-name" +}; +const $TREEMAP = { + treemap: "bb-treemap", + chartTreemap: "bb-chart-treemap", + chartTreemaps: "bb-chart-treemaps" +}; +const $ZOOM = { + buttonZoomReset: "bb-zoom-reset", + zoomBrush: "bb-zoom-brush" +}; +/* harmony default export */ var classes = (__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, $COMMON), $ARC), $AREA), $AXIS), $BAR), $CANDLESTICK), $CIRCLE), $COLOR), $DRAG), $GAUGE), $LEGEND), $LINE), $EVENT), $FOCUS), $FUNNEL), $GRID), $RADAR), $REGION), $SELECT), $SHAPE), $SUBCHART), $TEXT), $TOOLTIP), $TREEMAP), $ZOOM)); + +;// ./src/config/Options/common/boost.ts +/* harmony default export */ var boost = ({ + /** + * Set boost options + * @name boost + * @memberof Options + * @type {object} + * @property {object} boost boost object + * @property {boolean} [boost.useCssRule=false] Avoid setting inline styles for each shape elements. + * - **NOTE:** + * - Will append <style> to the head tag and will add shpes' CSS rules dynamically. + * - For now, covers colors related properties (fill, stroke, etc.) only. + * @property {boolean} [boost.useWorker=false] Use Web Worker as possible for processing. + * - **NOTE:** + * - For now, only applies for data conversion at the initial time. + * - As of Web Worker's async nature, handling chart instance synchrously is not recommended. + * @example + * boost: { + * useCssRule: true, + * useWorker: false + * } + */ + boost_useCssRule: false, + boost_useWorker: false +}); + +;// ./src/config/Options/common/color.ts +/* harmony default export */ var color = ({ + /** + * Set color of the data values + * @name color + * @memberof Options + * @type {object} + * @property {object} color color object + * @property {string|object|Function} [color.onover] Set the color value for each data point when mouse/touch onover event occurs. + * @property {Array|null} [color.pattern=[]] Set custom color pattern. Passing `null` will not set a color for these elements, which requires the usage of custom CSS-based theming to work. + * @property {Function} [color.tiles] if defined, allows use svg's patterns to fill data area. It should return an array of [SVGPatternElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGPatternElement). + * - **NOTE:** The pattern element's id will be defined as `bb-colorize-pattern-$COLOR-VALUE`.<br> + * ex. When color pattern value is `['red', '#fff']` and defined 2 patterns,then ids for pattern elements are:<br> + * - `bb-colorize-pattern-red` + * - `bb-colorize-pattern-fff` + * @property {object} [color.threshold] color threshold for gauge and tooltip color + * @property {string} [color.threshold.unit] If set to `value`, the threshold will be based on the data value. Otherwise it'll be based on equation of the `threshold.max` option value. + * @property {Array} [color.threshold.values] Threshold values for each steps + * @property {number} [color.threshold.max=100] The base value to determine threshold step value condition. When the given value is 15 and max 10, then the value for threshold is `15*100/10`. + * @example + * color: { + * pattern: ["#1f77b4", "#aec7e8", ...], + * + * // Set colors' patterns + * // it should return an array of SVGPatternElement + * tiles: function() { + * var pattern = document.createElementNS("http://www.w3.org/2000/svg", "pattern"); + * var g = document.createElementNS("http://www.w3.org/2000/svg", "g"); + * var circle1 = document.createElementNS("http://www.w3.org/2000/svg", "circle"); + * + * pattern.setAttribute("patternUnits", "userSpaceOnUse"); + * pattern.setAttribute("width", "32"); + * pattern.setAttribute("height", "32"); + * + * g.style.fill = "#000"; + * g.style.opacity = "0.2"; + * + * circle1.setAttribute("cx", "3"); + * circle1.setAttribute("cy", "3"); + * circle1.setAttribute("r", "3"); + * + * g.appendChild(circle1); + * pattern.appendChild(g); + * + * return [pattern]; + * }, + * + * // for threshold usage, pattern values should be set for each steps + * pattern: ["grey", "green", "yellow", "orange", "red"], + * threshold: { + * unit: "value", + * + * // when value is 20 => 'green', value is 40 => 'orange' will be set. + * values: [10, 20, 30, 40, 50], + * + * // the equation for max: + * // - unit == 'value': max => 30 + * // - unit != 'value': max => value*100/30 + * max: 30 + * }, + * + * // set all data to 'red' + * onover: "red", + * + * // set different color for data + * onover: { + * data1: "red", + * data2: "yellow" + * }, + * + * // will pass data object to the callback + * onover: function(d) { + * return d.id === "data1" ? "red" : "green"; + * } + * } + */ + color_pattern: [], + color_tiles: void 0, + color_threshold: {}, + color_onover: void 0 +}); + +;// ./src/config/Options/common/legend.ts +/* harmony default export */ var legend = ({ + /** + * Legend options + * @name legend + * @memberof Options + * @type {object} + * @property {object} legend Legend object + * @property {boolean} [legend.show=true] Show or hide legend. + * @property {boolean} [legend.hide=false] Hide legend + * If true given, all legend will be hidden. If string or array given, only the legend that has the id will be hidden. + * @property {string|HTMLElement} [legend.contents.bindto=undefined] Set CSS selector or element reference to bind legend items. + * - **NOTE:** Should be used along with `legend.contents.template`. + * @property {string|Function} [legend.contents.template="<span style='color:#fff;padding:5px;background-color:{=COLOR}'>{=TITLE}</span>"] Set item's template.<br> + * - If set `string` value, within template the 'color' and 'title' can be replaced using template-like syntax string: + * - {=COLOR}: data color value + * - {=TITLE}: data title value + * - If set `function` value, will pass following arguments to the given function: + * - title {string}: data's id value + * - color {string}: color string + * - data {Array}: data array + * @property {string} [legend.position=bottom] Change the position of legend.<br> + * Available values are: `bottom`, `right` and `inset` are supported. + * @property {object} [legend.inset={anchor: 'top-left',x: 10,y: 0,step: undefined}] Change inset legend attributes.<br> + * This option accepts object that has the keys `anchor`, `x`, `y` and `step`. + * - **anchor** decides the position of the legend: + * - top-left + * - top-right + * - bottom-left + * - bottom-right + * - **x** and **y**: + * - set the position of the legend based on the anchor. + * - **step**: + * - defines the max step the legend has (e.g. If 2 set and legend has 3 legend item, the legend 2 columns). + * @property {boolean} [legend.equally=false] Set to all items have same width size. + * @property {number} [legend.padding=0] Set padding value + * @property {boolean} [legend.item.interaction=true] Set legend item interaction. + * - **NOTE:** + * - This setting will not have effect on `.toggle()` method. + * - `legend.item.onXXX` listener options will work if set, regardless of this option value. + * @property {boolean} [legend.item.interaction.dblclick=false] Set legend item to interact on double click. + * - **NOTE:** + * - Double clicking will make focused clicked dataseries only, hiding all others. + * - for single click case, `click + altKey(Win)/optionKey(Mac OS)` to have same effect. + * - To return initial state(which all dataseries are showing), double click current focused legend item again. + * - for single click case, `click + altKey(Win)/optionKey(Mac OS)` to have same effect. + * - In this case, default `click` interaction will be disabled. + * @property {Function} [legend.item.onclick=undefined] Set click event handler to the legend item. + * - **NOTE:** + * - When set, default `click` interaction will be disabled. + * - When `interaction.dblclick=true` is set, will be called on double click. + * @property {Function} [legend.item.onover=undefined] Set mouse/touch over event handler to the legend item. + * - **NOTE:** When set, default `mouseover` interaction will be disabled. + * @property {Function} [legend.item.onout=undefined] Set mouse/touch out event handler to the legend item. + * - **NOTE:** When set, default `mouseout` interaction will be disabled. + * @property {number} [legend.item.tile.width=10] Set width for 'rectangle' legend item tile element. + * @property {number} [legend.item.tile.height=10] Set height for 'rectangle' legend item tile element. + * @property {number} [legend.item.tile.r=5] Set the radius for 'circle' legend item tile type. + * @property {string} [legend.item.tile.type="rectangle"] Set legend item shape type.<br> + * - **Available Values:** + * - circle + * - rectangle + * @property {boolean} [legend.format] Set formatter function for legend text. + * The argument:<br> + * - `id`: Legend text value. When `data.names` is specified, will pass from it, otherwise will pass data id. + * - `dataId`: When `data.names` specified, will pass the original data id. Otherwise will be undefined. + * @property {boolean} [legend.tooltip=false] Show full legend text value using system tooltip(via `<title>` element). + * @property {boolean} [legend.usePoint=false] Whether to use custom points in legend. + * @see [Demo: format](https://naver.github.io/billboard.js/demo/#Legend.LegendFormat) + * @see [Demo: item.interaction](https://naver.github.io/billboard.js/demo/#Legend.LegendItemInteraction) + * @see [Demo: item.tile.type](https://naver.github.io/billboard.js/demo/#Legend.LegendItemTileType) + * @see [Demo: position](https://naver.github.io/billboard.js/demo/#Legend.LegendPosition) + * @see [Demo: contents.template](https://naver.github.io/billboard.js/demo/#Legend.LegendTemplate1) + * @see [Demo: usePoint](https://naver.github.io/billboard.js/demo/#Legend.usePoint) + * @example + * legend: { + * show: true, + * hide: true, + * //or hide: "data1" + * //or hide: ["data1", "data2"] + * contents: { + * bindto: "#legend", // <ul id='legend'></ul> + * + * // will be as: <li style='background-color:#1f77b4'>data1</li> + * template: "<li style='background-color:{=COLOR}'>{=TITLE}</li>" + * + * // or using function + * template: function(id, color, data) { + * // if you want omit some legend, return falsy value + * if (id !== "data1") { + * return "<li style='background-color:"+ color +">"+ id +"</li>"; + * } + * } + * }, + * position: "bottom", // bottom, right, inset + * inset: { + * anchor: "top-right" // top-left, top-right, bottom-left, bottom-right + * x: 20, + * y: 10, + * step: 2 + * }, + * equally: false, + * padding: 10, + * item: { + * // will disable default interaction + * interaction: false, + * + * // set legend interact on double click + * // by double clicking, will make focused clicked dataseries only, hiding all others. + * interaction: { + * dblclick: true + * } + * + * // when set below callback, will disable corresponding default interactions + * onclick: function(id, visible) { + * // toggle based on the data visibility + * this[visible ? "hide" : "show"](id); + * }, + * onover: function(id, visible) { ... }, + * onout: function(id, visible) { ... }, + * + * // set tile's size + * tile: { + * // set tile type + * type: "circle" // or "rectangle" (default) + * + * // width & height, are only applicable for 'rectangle' legend type + * width: 15, + * height: 15 + * + * // radis is only applicable for 'circle' legend type + * r: 10 + * } + * }, + * format: function(id, dataId) { + * // set ellipsis string when length is > 5 + * // to get full legend value, combine with 'legend.tooltip=true' + * if (id.length > 5) { + * id = id.substr(0, 5) + "..."; + * } + * + * return id; + * }, + * tooltip: true, + * usePoint: true + * } + */ + legend_contents_bindto: void 0, + legend_contents_template: "<span style='color:#fff;padding:5px;background-color:{=COLOR}'>{=TITLE}</span>", + legend_equally: false, + legend_hide: false, + legend_inset_anchor: "top-left", + legend_inset_x: 10, + legend_inset_y: 0, + legend_inset_step: void 0, + legend_item_interaction: true, + legend_item_dblclick: false, + legend_item_onclick: void 0, + legend_item_onover: void 0, + legend_item_onout: void 0, + legend_item_tile_width: 10, + legend_item_tile_height: 10, + legend_item_tile_r: 5, + legend_item_tile_type: "rectangle", + legend_format: void 0, + legend_padding: 0, + legend_position: "bottom", + legend_show: true, + legend_tooltip: false, + legend_usePoint: false +}); + +;// ./src/config/Options/common/main.ts +/* harmony default export */ var main = ({ + /** + * Specify the CSS selector or the element which the chart will be set to. D3 selection object can be specified also.<br> + * If other chart is set already, it will be replaced with the new one (only one chart can be set in one element). + * - **NOTE:** In case of element doesn't exist or not specified, will add a `<div>` element to the body. + * @name bindto + * @memberof Options + * @property {string|HTMLElement|d3.selection|object} [bindto="#chart"] Specify the element where chart will be drawn. + * @property {string|HTMLElement|d3.selection} bindto.element="#chart" Specify the element where chart will be drawn. + * @property {string} [bindto.classname=bb] Specify the class name of bind element.<br> + * **NOTE:** When class name isn't `bb`, then you also need to update the default CSS to be rendered correctly. + * @default #chart + * @example + * bindto: "#myContainer" + * + * // or HTMLElement + * bindto: document.getElementById("myContainer") + * + * // or D3 selection object + * bindto: d3.select("#myContainer") + * + * // or to change default classname + * bindto: { + * element: "#chart", + * classname: "bill-board" // ex) <div id='chart' class='bill-board'> + * } + */ + bindto: "#chart", + /** + * Set chart background. + * @name background + * @memberof Options + * @property {object} background background object + * @property {string} background.class Specify the class name for background element. + * @property {string} background.color Specify the fill color for background element.<br>**NOTE:** Will be ignored if `imgUrl` option is set. + * @property {string} background.imgUrl Specify the image url string for background. + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.Background) + * @example + * background: { + * class: "myClass", + * color: "red", + * + * // Set image url for background. + * // If specified, 'color' option will be ignored. + * imgUrl: "https://naver.github.io/billboard.js/img/logo/billboard.js.svg", + * } + */ + background: {}, + /** + * Set 'clip-path' attribute for chart element + * - **NOTE:** + * > When is false, chart node element is positioned after the axis node in DOM tree hierarchy. + * > Is to make chart element positioned over axis element. + * @name clipPath + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.clipPath) + * @example + * // don't set 'clip-path' attribute + * clipPath: false + */ + clipPath: true, + /** + * Set svg element's class name + * @name svg + * @memberof Options + * @type {object} + * @property {object} [svg] svg object + * @property {string} [svg.classname] class name for svg element + * @example + * svg: { + * classname: "test_class" + * } + */ + svg_classname: void 0, + /** + * The desired size of the chart element. + * If value is not specified, the width of the chart will be calculated by the size of the parent element it's appended to. + * @name size + * @memberof Options + * @type {object} + * @property {object} [size] size object + * @property {number} [size.width] width of the chart element + * @property {number} [size.height] height of the chart element + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.ChartSize) + * @example + * size: { + * width: 640, + * height: 480 + * } + */ + size_width: void 0, + size_height: void 0, + /** + * The padding of the chart element. + * - **NOTE:** for more information, see the "[`Understanding padding`](https://github.com/naver/billboard.js/wiki/Understanding-padding)"" wiki documentaion. + * @name padding + * @memberof Options + * @type {object} + * @property {object|boolean} [padding=true] Set padding of chart, and accepts object or boolean type. + * - `Object`: Specify each side's padding. + * - `false`: Remove padding completely and make shape to fully occupy the container element. + * - In this case, axes and subchart will be hidden. + * - To adjust some padding from this state, use `axis.[x|y].padding` option. + * @property {string} [padding.mode] padding mode + * - `"fit"`: Reduce padding as much as possible to make chart fit to the container element for chart types w/axis.<br>When specified, all padding values will be relative from fitted value. + * @property {number} [padding.top] padding on the top of chart + * @property {number} [padding.right] padding on the right of chart + * @property {number} [padding.bottom] padding on the bottom of chart + * @property {number} [padding.left] padding on the left of chart + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.Padding) + * @see [Demo: Fit padding](https://naver.github.io/billboard.js/demo/#ChartOptions.FitPadding) + * @example + * // remove padding completely. + * padding: false, + * + * padding: { + * // specifying mode value, will reduce padding and make fit to the container element. + * mode: "fit" + * + * // when mode is "fit", all padding values will be relative from fitted value. + * // so, 0 will be initial fitted value. + * top: 20, + * right: 20, + * bottom: 20, + * left: 20 + * } + * + * // or specify padding value for each side + * padding: { + * top: 20, + * right: 20, + * bottom: 20, + * left: 20 + * } + */ + padding: true, + padding_mode: void 0, + padding_left: void 0, + padding_right: void 0, + padding_top: void 0, + padding_bottom: void 0, + /** + * Set chart resize options + * @name resize + * @memberof Options + * @type {object} + * @property {object} [resize] resize object + * @property {boolean|string} [resize.auto=true] Set chart resize automatically on viewport changes. + * - **NOTE:** Available options + * - true: Enables automatic resize. + * - false: Disables automatic resize. + * - "viewBox": Enables automatic resize, and size will be fixed based on the viewbox. + * @property {boolean|number} [resize.timer=true] Set resize timer option. + * - **NOTE:** Available options + * - The resize function will be called using: + * - true: `setTimeout()` + * - false: `requestIdleCallback()` + * - Given number(delay in ms) value, resize function will be triggered using `setTimeout()` with given delay. + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.resizeViewBox) + * @example + * resize: { + * auto: false, + * + * // set resize based on viewBox value + * auto: "viewBox", + * + * // set resize function will be triggered using `setTimeout()` + * timer: true, + * + * // set resize function will be triggered using `requestIdleCallback()` + * timer: false, + * + * // set resize function will be triggered using `setTimeout()` with a delay of `100ms`. + * timer: 100 + * } + */ + resize_auto: true, + resize_timer: true, + /** + * Set a callback to execute when the chart is clicked. + * @name onclick + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onclick: function(event) { + * this; // chart instance itself + * event; // native event object + * ... + * } + */ + onclick: void 0, + /** + * Set a callback to execute when mouse/touch enters the chart. + * @name onover + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onover: function(event) { + * this; // chart instance itself + * event; // native event object + * ... + * } + */ + onover: void 0, + /** + * Set a callback to execute when mouse/touch leaves the chart. + * @name onout + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onout: function(event) { + * this; // chart instance itself + * event; // native event object + * ... + * } + */ + onout: void 0, + /** + * Set a callback to execute when user resizes the screen. + * @name onresize + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onresize: function() { + * this; // chart instance itself + * ... + * } + */ + onresize: void 0, + /** + * Set a callback to execute when screen resize finished. + * @name onresized + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onresized: function() { + * this; // chart instance itself + * ... + * } + */ + onresized: void 0, + /** + * Set a callback to execute before the chart is initialized + * @name onbeforeinit + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onbeforeinit: function() { + * this; // chart instance itself + * ... + * } + */ + onbeforeinit: void 0, + /** + * Set a callback to execute when the chart is initialized. + * @name oninit + * @memberof Options + * @type {Function} + * @default undefined + * @example + * oninit: function() { + * this; // chart instance itself + * ... + * } + */ + oninit: void 0, + /** + * Set a callback to execute after the chart is initialized + * @name onafterinit + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onafterinit: function() { + * this; // chart instance itself + * ... + * } + */ + onafterinit: void 0, + /** + * Set a callback which is executed when the chart is rendered. Basically, this callback will be called in each time when the chart is redrawed. + * @name onrendered + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onrendered: function() { + * this; // chart instance itself + * ... + * } + */ + onrendered: void 0, + /** + * Set duration of transition (in milliseconds) for chart animation.<br><br> + * - **NOTE:** If `0 `or `null` set, transition will be skipped. So, this makes initial rendering faster especially in case you have a lot of data. + * @name transition + * @memberof Options + * @type {object} + * @property {object} [transition] transition object + * @property {number} [transition.duration=350] duration in milliseconds + * @example + * transition: { + * duration: 500 + * } + */ + transition_duration: 250, + /** + * Set plugins + * @name plugins + * @memberof Options + * @type {Array} + * @example + * plugins: [ + * new bb.plugin.stanford({ ... }), + * new PluginA(), + * ... + * ] + */ + plugins: [], + /** + * Control the render timing + * @name render + * @memberof Options + * @type {object} + * @property {object} [render] render object + * @property {boolean} [render.lazy=true] Make to not render at initialization. + * - **NOTE**: + * - Enabled by default when bind element's visibility is hidden. + * - When set to `false`, will initialize the chart regardless the bind element's visibility state, but in this case chart can't be guaranteed to be rendered properly. + * @property {boolean} [render.observe=true] Observe bind element's visibility(`display` or `visiblity` inline css property or class value) & render when is visible automatically (for IEs, only works IE11+). When set to **false**, call [`.flush()`](./Chart.html#flush) to render. + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.LazyRender) + * @example + * render: { + * lazy: true, + * observe: true + * } + * + * @example + * // <!-- render.lazy will detect visibility defined --> + * // (a) <div id='chart' class='hide'></div> + * // (b) <div id='chart' style='display:none'></div> + * + * // render.lazy enabled by default when element is hidden + * var chart = bb.generate({ ... }); + * + * // chart will be rendered automatically when element's visibility changes + * // Note: works only for inlined css property or class attribute changes + * document.getElementById('chart').classList.remove('hide') // (a) + * document.getElementById('chart').style.display = 'block'; // (b) + * + * @example + * // chart won't be rendered and not observing bind element's visiblity changes + * var chart = bb.generate({ + * render: { + * lazy: true, + * observe: false + * } + * }); + * + * // call at any point when you want to render + * chart.flush(); + */ + render: {}, + /** + * Show rectangles inside the chart.<br><br> + * This option accepts array including object that has axis, start, end and class. + * The keys start, end and class are optional. + * axis must be x, y or y2. start and end should be the value where regions start and end. + * If not specified, the edge values will be used. + * If timeseries x axis, date string, Date object and unixtime integer can be used. + * If class is set, the region element will have it as class. + * @name regions + * @memberof Options + * @type {Array} + * @default [] + * @see [Demo](https://naver.github.io/billboard.js/demo/#Region.RegionLabel) + * @example + * regions: [ + * { + * axis: "x", + * start: 1, + * end: 4, + * class: "region-1-4", + * label: { + * text: "Region Text", + * x: 5, // position relative of the initial x coordinate + * y: 5, // position relative of the initial y coordinate + * color: "red", // color string + * rotated: true // make text to show in vertical or horizontal + * } + * } + * ] + */ + regions: [] +}); + +;// ./src/config/Options/common/title.ts +/* harmony default export */ var title = ({ + /** + * Set title options + * @name title + * @memberof Options + * @type {object} + * @property {object} title Title object + * @property {string} [title.text] Title text. If contains `\n`, it's used as line break allowing multiline title. + * @property {number} [title.padding.top=0] Top padding value. + * @property {number} [title.padding.right=0] Right padding value. + * @property {number} [title.padding.bottom=0] Bottom padding value. + * @property {number} [title.padding.left=0] Left padding value. + * @property {string} [title.position=center] Available values are: 'center', 'right' and 'left'. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Title.MultilinedTitle) + * @example + * title: { + * text: "Title Text", + * + * // or Multiline title text + * text: "Main title text\nSub title text", + * + * padding: { + * top: 10, + * right: 10, + * bottom: 10, + * left: 10 + * }, + * position: "center" + * } + */ + title_text: void 0, + title_padding: { + top: 0, + right: 0, + bottom: 0, + left: 0 + }, + title_position: "center" +}); + +;// ./src/config/Options/common/tooltip.ts +/* harmony default export */ var tooltip = ({ + /** + * Tooltip options + * @name tooltip + * @memberof Options + * @type {object} + * @property {object} tooltip Tooltip object + * @property {boolean} [tooltip.show=true] Show or hide tooltip. + * @property {boolean} [tooltip.doNotHide=false] Make tooltip keep showing not hiding on interaction. + * @property {boolean} [tooltip.grouped=true] Set if tooltip is grouped or not for the data points. + * - **NOTE:** The overlapped data points will be displayed as grouped even if set false. + * @property {boolean} [tooltip.linked=false] Set if tooltips on all visible charts with like x points are shown together when one is shown. + * @property {string} [tooltip.linked.name=""] Groping name for linked tooltip.<br>If specified, linked tooltip will be groped interacting to be worked only with the same name. + * @property {Function} [tooltip.format.title] Set format for the title of tooltip.<br> + * Specified function receives x of the data point to show. + * @property {Function} [tooltip.format.name] Set format for the name of each data in tooltip.<br> + * Specified function receives name, ratio, id and index of the data point to show. ratio will be undefined if the chart is not donut/pie/gauge. + * @property {Function} [tooltip.format.value] Set format for the value of each data value in tooltip. If undefined returned, the row of that value will be skipped to be called. + * - Will pass following arguments to the given function: + * - `value {string}`: Value of the data point. If data row contains multiple or ranged(ex. candlestick, area range, etc.) value, formatter will be called as value length. + * - `ratio {number}`: Ratio of the data point in the `pie/donut/gauge` and `area/bar` when contains grouped data. Otherwise is `undefined`. + * - `id {string}`: id of the data point + * - `index {number}`: Index of the data point + * @property {Function} [tooltip.position] Set custom position function for the tooltip.<br> + * This option can be used to modify the tooltip position by returning object that has top and left. + * - Will pass following arguments to the given function: + * - `data {Array}`: Current selected data array object. + * - `width {number}`: Width of tooltip. + * - `height {number}`: Height of tooltip. + * - `element {SVGElement}`: Tooltip event bound element + * - `pos {object}`: Current position of the tooltip. + * @property {Function|object} [tooltip.contents] Set custom HTML for the tooltip.<br> + * If tooltip.grouped is true, data includes multiple data points.<br><br> + * Specified function receives `data` array and `defaultTitleFormat`, `defaultValueFormat` and `color` functions of the data point to show. + * - **Note:** + * - defaultTitleFormat: + * - if `axis.x.tick.format` option will be used if set. + * - otherwise, will return function based on tick format type(category, timeseries). + * - defaultValueFormat: + * - for Arc type (except gauge, radar), the function will return value from `(ratio * 100).toFixed(1)`. + * - for Axis based types, will be used `axis.[y|y2].tick.format` option value if is set. + * - otherwise, will parse value and return as number. + * @property {string|HTMLElement} [tooltip.contents.bindto=undefined] Set CSS selector or element reference to bind tooltip. + * - **NOTE:** When is specified, will not be updating tooltip's position. + * @property {string} [tooltip.contents.template=undefined] Set tooltip's template.<br><br> + * Within template, below syntax will be replaced using template-like syntax string: + * - **{{ ... }}**: the doubly curly brackets indicate loop block for data rows. + * - **{=CLASS_TOOLTIP}**: default tooltip class name `bb-tooltip`. + * - **{=CLASS_TOOLTIP_NAME}**: default tooltip data class name (ex. `bb-tooltip-name-data1`) + * - **{=TITLE}**: title value. + * - **{=COLOR}**: data color. + * - **{=NAME}**: data id value. + * - **{=VALUE}**: data value. + * @property {object} [tooltip.contents.text=undefined] Set additional text content within data loop, using template syntax. + * - **NOTE:** It should contain `{ key: Array, ... }` value + * - 'key' name is used as substitution within template as '{=KEY}' + * - The value array length should match with the data length + * @property {boolean} [tooltip.init.show=false] Show tooltip at the initialization. + * @property {number} [tooltip.init.x=0] Set x Axis index(or index for Arc(donut, gauge, pie) types) to be shown at the initialization. + * @property {object} [tooltip.init.position] Set the position of tooltip at the initialization. + * @property {Function} [tooltip.onshow] Set a callback that will be invoked before the tooltip is shown. + * @property {Function} [tooltip.onhide] Set a callback that will be invoked before the tooltip is hidden. + * @property {Function} [tooltip.onshown] Set a callback that will be invoked after the tooltip is shown + * @property {Function} [tooltip.onhidden] Set a callback that will be invoked after the tooltip is hidden. + * @property {string|Function|null} [tooltip.order=null] Set tooltip data display order.<br><br> + * **Available Values:** + * - `desc`: In descending data value order + * - `asc`: In ascending data value order + * - `null`: It keeps the data display order<br> + * **NOTE:** When `data.groups` is set, the order will follow as the stacked graph order.<br> + * If want to order as data bound, set any value rather than asc, desc or null. (ex. empty string "") + * - `function(data1, data2) { ... }`: [Array.sort compareFunction](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters) + * @see [Demo: Hide Tooltip](https://naver.github.io/billboard.js/demo/#Tooltip.HideTooltip) + * @see [Demo: Tooltip Grouping](https://naver.github.io/billboard.js/demo/#Tooltip.TooltipGrouping) + * @see [Demo: Tooltip Format](https://naver.github.io/billboard.js/demo/#Tooltip.TooltipFormat) + * @see [Demo: Linked Tooltip](https://naver.github.io/billboard.js/demo/#Tooltip.LinkedTooltips) + * @see [Demo: Tooltip Position](https://naver.github.io/billboard.js/demo/#Tooltip.TooltipPosition) + * @see [Demo: Tooltip Template](https://naver.github.io/billboard.js/demo/#Tooltip.TooltipTemplate) + * @example + * tooltip: { + * show: true, + * doNotHide: true, + * grouped: false, + * format: { + * title: function(x) { return "Data " + x; }, + * name: function(name, ratio, id, index) { return name; }, + * + * // If data row contains multiple or ranged(ex. candlestick, area range, etc.) value, + * // formatter will be called as value length times. + * value: function(value, ratio, id, index) { return ratio; } + * }, + * position: function(data, width, height, element, pos) { + * // data: [{x, index, id, name, value}, ...] + * // width: Tooltip width + * // height: Tooltip height + * // element: Tooltip event bound element + * // pos: { + * // x: Current mouse event x position, + * // y: Current mouse event y position, + * // xAxis: Current x Axis position (the value is given for axis based chart type only) + * // yAxis: Current y Axis position value or function(the value is given for axis based chart type only) + * // } + * + * // yAxis will work differently per data lenghts + * // - a) Single data: `yAxis` will return `number` value + * // - b) Multiple data: `yAxis` will return a function with property value + * + * // a) Single data: + * // Get y coordinate + * pos.yAxis; // y axis coordinate value of current data point + * + * // b) Multiple data: + * // Get y coordinate of value 500, where 'data1' scales(y or y2). + * // When 'data.axes' option is used, data can bound to different axes. + * // - when "data.axes={data1: 'y'}", wil return y value from y axis scale. + * // - when "data.axes={data1: 'y2'}", wil return y value from y2 axis scale. + * pos.yAxis(500, "data1"); // will return y coordinate value of data1 + * + * pos.yAxis(500); // get y coordinate with value of 500, using y axis scale + * pos.yAxis(500, null, "y2"); // get y coordinate with value of 500, using y2 axis scale + * + * return { + * top: 0, + * left: 0 + * } + * }, + * + * contents: function(d, defaultTitleFormat, defaultValueFormat, color) { + * return ... // formatted html as you want + * }, + * + * // specify tooltip contents using template + * // - example of HTML returned: + * // <ul class="bb-tooltip"> + * // <li class="bb-tooltip-name-data1"><span>250</span><br><span style="color:#00c73c">data1</span></li> + * // <li class="bb-tooltip-name-data2"><span>50</span><br><span style="color:#fa7171">data2</span></li> + * // </ul> + * contents: { + * bindto: "#tooltip", + * template: '<ul class={=CLASS_TOOLTIP}>{{' + + * '<li class="{=CLASS_TOOLTIP_NAME}"><span>{=VALUE}</span><br>' + + * '<span style=color:{=COLOR}>{=NAME}</span></li>' + + * '}}</ul>' + * } + * + * // with additional text value + * // - example of HTML returned: + * // <ul class="bb-tooltip"> + * // <li class="bb-tooltip-name-data1"><span>250</span><br>comment1<span style="color:#00c73c">data1</span>text1</li> + * // <li class="bb-tooltip-name-data2"><span>50</span><br>comment2<span style="color:#fa7171">data2</span>text2</li> + * // </ul> + * contents: { + * bindto: "#tooltip", + * text: { + * // a) 'key' name is used as substitution within template as '{=KEY}' + * // b) the length should match with the data length + * VAR1: ["text1", "text2"], + * VAR2: ["comment1", "comment2"], + * }, + * template: '<ul class={=CLASS_TOOLTIP}>{{' + + * '<li class="{=CLASS_TOOLTIP_NAME}"><span>{=VALUE}</span>{=VAR2}<br>' + + * '<span style=color:{=COLOR}>{=NAME}</span>{=VAR1}</li>' + + * '}}</ul>' + * } + * + * // sort tooltip data value display in ascending order + * order: "asc", + * + * // specifying sort function + * order: function(a, b) { + * // param data passed format + * {x: 5, value: 250, id: "data1", index: 5, name: "data1"} + * ... + * }, + * + * // show at the initialization + * init: { + * show: true, + * x: 2, // x Axis index (or index for Arc(donut, gauge, pie) types) + * position: { + * top: "150px", // specify as number or as string with 'px' unit string + * left: 250 // specify as number or as string with 'px' unit string + * } + * }, + * + * // fires prior tooltip is shown + * onshow: function(selectedData) { + * // current dataset selected + * // ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...] + * selectedData; + * }, + * + * // fires prior tooltip is hidden + * onhide: function(selectedData) { + * // current dataset selected + * // ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...] + * selectedData; + * }, + * + * // fires after tooltip is shown + * onshown: function(selectedData) { + * // current dataset selected + * // ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...] + * selectedData; + * }, + * + * // fires after tooltip is hidden + * onhidden: function(selectedData) { + * // current dataset selected + * // ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...] + * selectedData; + * }, + * + * // Link any tooltips when multiple charts are on the screen where same x coordinates are available + * // Useful for timeseries correlation + * linked: true, + * + * // Specify name to interact those with the same name only. + * linked: { + * name: "some-group" + * } + * } + */ + tooltip_show: true, + tooltip_doNotHide: false, + tooltip_grouped: true, + tooltip_format_title: void 0, + tooltip_format_name: void 0, + tooltip_format_value: void 0, + tooltip_position: void 0, + tooltip_contents: {}, + tooltip_init_show: false, + tooltip_init_x: 0, + tooltip_init_position: void 0, + tooltip_linked: false, + tooltip_linked_name: "", + tooltip_onshow: () => { + }, + tooltip_onhide: () => { + }, + tooltip_onshown: () => { + }, + tooltip_onhidden: () => { + }, + tooltip_order: null +}); + +;// ./src/config/Options/data/data.ts +/* harmony default export */ var data = ({ + /** + * Specify the key of x values in the data.<br><br> + * We can show the data with non-index x values by this option. This option is required when the type of x axis is timeseries. If this option is set on category axis, the values of the data on the key will be used for category names. + * @name data․x + * @memberof Options + * @type {string} + * @default undefined + * @example + * data: { + * x: "date" + * } + */ + data_x: void 0, + /** + * Converts data id value + * @name data․idConverter + * @memberof Options + * @type {Function} + * @default function(id) { return id; } + * @example + * data: { + * idConverter: function(id) { + * // when id is 'data1', converts to be 'data2' + * // 'data2' should be given as the initial data value + * if (id === "data1") { + * return "data2"; + * } else { + * return id; + * } + * } + * } + */ + data_idConverter: (id) => id, + /** + * Set custom data name. + * If a name is set to `null`, the series is omitted from the legend. + * @name data․names + * @memberof Options + * @type {object} + * @default {} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataName) + * @example + * data: { + * names: { + * data1: "Data Name 1", + * data2: "Data Name 2" + * } + * } + */ + data_names: {}, + /** + * Set custom data class.<br><br> + * If this option is specified, the element g for the data has an additional class that has the prefix 'bb-target-' (eg. bb-target-additional-data1-class). + * @name data․classes + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * classes: { + * data1: "additional-data1-class", + * data2: "additional-data2-class" + * } + * } + */ + data_classes: {}, + /** + * Set chart type at once.<br><br> + * If this option is specified, the type will be applied to every data. This setting can be overwritten by data.types.<br><br> + * **Available Values:** + * - area + * - area-line-range + * - area-spline + * - area-spline-range + * - area-step + * - area-step-range + * - bar + * - bubble + * - candlestick + * - donut + * - funnel + * - gauge + * - line + * - pie + * - polar + * - radar + * - scatter + * - spline + * - step + * - treemap + * @name data․type + * @memberof Options + * @type {string} + * @default "line"<br>NOTE: When importing shapes by ESM, `line()` should be specified for type. + * @example + * data: { + * type: "bar" + * } + * @example + * // Generate chart by importing ESM + * // Import types to be used only, where this will make smaller bundle size. + * import bb, { + * area, + * areaLineRange, + * areaSpline, + * areaSplineRange, + * areaStep, + * areaStepRange, + * bar, + * bubble, + * candlestick, + * donut, + * funnel, + * gauge, + * line, + * pie, + * polar, + * radar, + * scatter, + * spline, + * step, + * treemap + * } + * + * bb.generate({ + * ..., + * data: { + * type: bar() + * } + * }); + */ + data_type: void 0, + /** + * Set chart type for each data.<br> + * This setting overwrites data.type setting. + * - **NOTE:** `radar` and `treemap` type can't be combined with other types. + * @name data․types + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * types: { + * data1: "bar", + * data2: "spline" + * } + * } + * @example + * // Generate chart by importing ESM + * // Import types to be used only, where this will make smaller bundle size. + * import bb, { + * area, + * areaLineRange, + * areaSpline, + * areaSplineRange, + * areaStep, + * areaStepRange, + * bar, + * bubble, + * candlestick, + * donut, + * funnel, + * gauge, + * line, + * pie, + * polar, + * radar, + * scatter, + * spline, + * step, + * treemap + * } + * + * bb.generate({ + * ..., + * data: { + * types: { + * data1: bar(), + * data1: spline() + * } + * } + * }); + */ + data_types: {}, + /** + * This option changes the order of stacking data and pieces of pie/donut. + * - If `null` specified, it will be the order the data loaded. + * - If function specified, it will be used as [Array.sort compareFunction](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters)<br><br> + * + * **Available Values:** + * - `desc`: In descending order + * - `asc`: In ascending order + * - `null`: It keeps the data load order + * - `function(data1, data2) { ... }`: Array.sort compareFunction + * + * **NOTE**: order function, only works for Axis based types & Arc types, except `Radar` type. + * @name data․order + * @memberof Options + * @type {string|Function|null} + * @default desc + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataOrder) + * @example + * data: { + * // in descending order (default) + * order: "desc" + * + * // in ascending order + * order: "asc" + * + * // keeps data input order + * order: null + * + * // specifying sort function + * order: function(a, b) { + * // param data passed format + * // { + * // id: "data1", id_org: "data1", values: [ + * // {x: 5, value: 250, id: "data1", index: 5, name: "data1"}, + * // ... + * // ] + * // } + * + * const reducer = (p, c) => p + Math.abs(c.value); + * const aSum = a.values.reduce(reducer, 0); + * const bSum = b.values.reduce(reducer, 0); + * + * // ascending order + * return aSum - bSum; + * + * // descending order + * // return bSum - aSum; + * } + * } + */ + data_order: "desc", + /** + * Set groups for the data for stacking. + * @name data․groups + * @memberof Options + * @type {Array} + * @default [] + * @example + * data: { + * groups: [ + * ["data1", "data2"], + * ["data3"] + * ] + * } + */ + data_groups: [], + /** + * Set how zero value will be treated on groups.<br> + * Possible values: + * - `zero`: 0 will be positioned at absolute axis zero point. + * - `positive`: 0 will be positioned at the top of a stack. + * - `negative`: 0 will be positioned at the bottom of a stack. + * @name data․groupsZeroAs + * @memberof Options + * @type {string} + * @default "positive" + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.Groups) + * @example + * data: { + * groupsZeroAs: "zero" // "positive" or "negative" + * } + */ + data_groupsZeroAs: "positive", + /** + * Set color converter function.<br><br> + * This option should a function and the specified function receives color (e.g. '#ff0000') and d that has data parameters like id, value, index, etc. And it must return a string that represents color (e.g. '#00ff00'). + * @name data․color + * @memberof Options + * @type {Function} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataColor) + * @example + * data: { + * color: function(color, d) { ... } + * } + */ + data_color: void 0, + /** + * Set color for each data. + * @name data․colors + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * colors: { + * data1: "#ff0000", + * data2: function(d) { + * return "#000"; + * } + * ... + * } + * } + */ + data_colors: {}, + /** + * Set labels options + * @name data․labels + * @memberof Options + * @type {object} + * @property {object} data Data object + * @property {boolean} [data.labels=false] Show or hide labels on each data points + * @property {boolean} [data.labels.centered=false] Centerize labels on `bar` shape. (**NOTE:** works only for 'bar' type) + * @property {Function} [data.labels.format] Set formatter function for data labels.<br> + * The formatter function receives 4 arguments such as `v, id, i, texts` and it **must return a string** (`\n` character will be used as line break) that will be shown as the label.<br><br> + * The arguments are:<br> + * - `v` is the value of the data point where the label is shown. + * - `id` is the id of the data where the label is shown. + * - `i` is the index of the data series point where the label is shown. + * - `texts` is the array of whole corresponding data series' text labels.<br><br> + * Formatter function can be defined for each data by specifying as an object and D3 formatter function can be set (ex. d3.format('$')) + * @property {string|object} [data.labels.backgroundColors] Set label text background colors. + * @property {string|object|Function} [data.labels.colors] Set label text colors. + * @property {object|Function} [data.labels.position] Set each dataset position, relative the original.<br><br> + * When function is specified, will receives 5 arguments such as `type, v, id, i, texts` and it must return a position number.<br><br> + * The arguments are:<br> + * - `type` coordinate type string, which will be 'x' or 'y'. + * - `v` is the value of the data point where the label is shown. + * - `id` is the id of the data where the label is shown. + * - `i` is the index of the data series point where the label is shown. + * - `texts` is the array of whole corresponding data series' text labels.<br><br> + * @property {number} [data.labels.position.x=0] x coordinate position, relative the original. + * @property {number} [data.labels.position.y=0] y coordinate position, relative the original. + * @property {object} [data.labels.rotate] Rotate label text. Specify degree value in a range of `0 ~ 360`. + * - **NOTE:** Depend on rotate value, text position need to be adjusted manually(using `data.labels.position` option) to be shown nicely. + * @memberof Options + * @type {object} + * @default {} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataLabel) + * @see [Demo: label colors](https://naver.github.io/billboard.js/demo/#Data.DataLabelColors) + * @see [Demo: label format](https://naver.github.io/billboard.js/demo/#Data.DataLabelFormat) + * @see [Demo: label multiline](https://naver.github.io/billboard.js/demo/#Data.DataLabelMultiline) + * @see [Demo: label overlap](https://naver.github.io/billboard.js/demo/#Data.DataLabelOverlap) + * @see [Demo: label position](https://naver.github.io/billboard.js/demo/#Data.DataLabelPosition) + * @see [Demo: label rotate](https://naver.github.io/billboard.js/demo/#Data.DataLabelRotate) + * @example + * data: { + * labels: true, + * + * // or set specific options + * labels: { + * format: function(v, id, i, texts) { + * ... + * // to multiline, return with '\n' character + * return "Line1\nLine2"; + * }, + * + * // it's possible to set for each data + * format: { + * data1: function(v, id, i, texts) { ... }, + * ... + * }, + * + * // align text to center of the 'bar' shape (works only for 'bar' type) + * centered: true, + * + * // apply backgound color for label texts + * backgroundColors: "red", + * + * // set differenct backround colors per dataset + * backgroundColors: { + * data1: "green", + * data2: "yellow" + * } + * + * // apply for all label texts + * colors: "red", + * + * // set different colors per dataset + * // for not specified dataset, will have the default color value + * colors: { + * data1: "yellow", + * data3: "green" + * }, + * + * // call back for label text color + * colors: function(color, d) { + * // color: the default data label color string + * // data: ex) {x: 0, value: 200, id: "data3", index: 0} + * .... + * return d.value > 200 ? "cyan" : color; + * }, + * + * // return x, y coordinate position + * // apt to handle each text position manually + * position: function(type, v, id, i, texts) { + * ... + * return type == "x" ? 10 : 20; + * }, + * + * // set x, y coordinate position + * position: { + * x: -10, + * y: 10 + * }, + * + * // or set x, y coordinate position by each dataset + * position: { + * data1: {x: 5, y: 5}, + * data2: {x: 10, y: -20} + * }, + * + * // rotate degree for label text + * rotate: 90 + * } + * } + */ + data_labels: {}, + data_labels_backgroundColors: void 0, + data_labels_colors: void 0, + data_labels_position: {}, + /** + * Hide each data when the chart appears.<br><br> + * If true specified, all of data will be hidden. If multiple ids specified as an array, those will be hidden. + * @name data․hide + * @memberof Options + * @type {boolean|Array} + * @default false + * @example + * data: { + * // all of data will be hidden + * hide: true + * + * // specified data will be hidden + * hide: ["data1", ...] + * } + */ + data_hide: false, + /** + * Filter values to be shown + * The data value is the same as the returned by `.data()`. + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter + * @name data․filter + * @memberof Options + * @type {Function} + * @default undefined + * @example + * data: { + * // filter for id value + * filter: function(v) { + * // v: [{id: "data1", id_org: "data1", values: [ + * // {x: 0, value: 130, id: "data2", index: 0}, ...] + * // }, ...] + * return v.id !== "data1"; + * } + */ + data_filter: void 0, + /** + * Set a callback for click event on each data point.<br><br> + * This callback will be called when each data point clicked and will receive `d` and element as the arguments. + * - `d` is the data clicked and element is the element clicked. + * - `element` is the current interacting svg element. + * - In this callback, `this` will be the Chart object. + * @name data․onclick + * @memberof Options + * @type {Function} + * @default function() {} + * @example + * data: { + * onclick: function(d, element) { + * // d - ex) {x: 4, value: 150, id: "data1", index: 4, name: "data1"} + * // element - <circle> + * ... + * } + * } + */ + data_onclick: () => { + }, + /** + * Set a callback for mouse/touch over event on each data point.<br><br> + * This callback will be called when mouse cursor or via touch moves onto each data point and will receive `d` and `element` as the argument. + * - `d` is the data where mouse cursor moves onto. + * - `element` is the current interacting svg element. + * - In this callback, `this` will be the Chart object. + * @name data․onover + * @memberof Options + * @type {Function} + * @default function() {} + * @example + * data: { + * onover: function(d, element) { + * // d - ex) {x: 4, value: 150, id: "data1", index: 4} + * // element - <circle> + * ... + * } + * } + */ + data_onover: () => { + }, + /** + * Set a callback for mouse/touch out event on each data point.<br><br> + * This callback will be called when mouse cursor or via touch moves out each data point and will receive `d` as the argument. + * - `d` is the data where mouse cursor moves out. + * - `element` is the current interacting svg element. + * - In this callback, `this` will be the Chart object. + * @name data․onout + * @memberof Options + * @type {Function} + * @default function() {} + * @example + * data: { + * onout: function(d, element) { + * // d - ex) {x: 4, value: 150, id: "data1", index: 4} + * // element - <circle> + * ... + * } + * } + */ + data_onout: () => { + }, + /** + * Set a callback for when data is shown.<br> + * The callback will receive shown data ids in array. + * @name data․onshown + * @memberof Options + * @type {Function} + * @default undefined + * @example + * data: { + * onshown: function(ids) { + * // ids - ["data1", "data2", ...] + * ... + * } + * } + */ + data_onshown: void 0, + /** + * Set a callback for when data is hidden.<br> + * The callback will receive hidden data ids in array. + * @name data․onhidden + * @memberof Options + * @type {Function} + * @default undefined + * @example + * data: { + * onhidden: function(ids) { + * // ids - ["data1", "data2", ...] + * ... + * } + * } + */ + data_onhidden: void 0, + /** + * Set a callback for minimum data + * - **NOTE:** For 'area-line-range', 'area-step-range' and 'area-spline-range', `mid` data will be taken for the comparison + * @name data․onmin + * @memberof Options + * @type {Function} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.OnMinMaxCallback) + * @example + * onmin: function(data) { + * // data - ex) [{x: 3, value: 400, id: "data1", index: 3}, ... ] + * ... + * } + */ + data_onmin: void 0, + /** + * Set a callback for maximum data + * - **NOTE:** For 'area-line-range', 'area-step-range' and 'area-spline-range', `mid` data will be taken for the comparison + * @name data․onmax + * @memberof Options + * @type {Function} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.OnMinMaxCallback) + * @example + * onmax: function(data) { + * // data - ex) [{x: 3, value: 400, id: "data1", index: 3}, ... ] + * ... + * } + */ + data_onmax: void 0, + /** + * Load a CSV or JSON file from a URL. NOTE that this will not work if loading via the "file://" protocol as the most browsers will block XMLHTTPRequests. + * @name data․url + * @memberof Options + * @type {string} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.LoadData) + * @example + * data: { + * url: "/data/test.csv" + * } + */ + data_url: void 0, + /** + * XHR header value + * - **NOTE:** Should be used with `data.url` option + * @name data․headers + * @memberof Options + * @type {string} + * @default undefined + * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/setRequestHeader + * @example + * data: { + * url: "/data/test.csv", + * headers: { + * "Content-Type": "text/xml", + * ... + * } + * } + */ + data_headers: void 0, + /** + * Parse a JSON object for data. See also data.keys. + * @name data․json + * @memberof Options + * @type {Array} + * @default undefined + * @see [data․keys](#.data%25E2%2580%25A4keys) + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.JSONData) + * @example + * data: { + * json: [ + * {name: "www.site1.com", upload: 200, download: 200, total: 400}, + * {name: "www.site2.com", upload: 100, download: 300, total: 400}, + * {name: "www.site3.com", upload: 300, download: 200, total: 500}, + * {name: "www.site4.com", upload: 400, download: 100, total: 500} + * ], + * keys: { + * // case 1: specify 'x' key for category axis + * x: "name", // 'name' key will be used as category x axis values + * value: ["upload", "download"] + * + * // case 2: without 'x' key for non-category axis + * value: ["upload", "download"] + * } + * } + */ + data_json: void 0, + /** + * Load data from a multidimensional array, with the first element containing the data names, the following containing related data in that order. + * @name data․rows + * @memberof Options + * @type {Array} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.RowOrientedData) + * @example + * data: { + * rows: [ + * ["A", "B", "C"], + * [90, 120, 300], + * [40, 160, 240], + * [50, 200, 290], + * [120, 160, 230], + * [80, 130, 300], + * [90, 220, 320] + * ] + * } + * + * // for 'bar' type, data can contain: + * // - an array of [start, end] data following the order + * data: { + * rows: [ + * ["data1", "data2"], + * [[100, 150], 120], + * [[200, 300], 55], + * [[-400, 500], 60] + * ], + * type: "bar" + * } + * + * // for 'range' types('area-line-range' or 'area-step-range' or 'area-spline-range'), data should contain: + * // - an array of [high, mid, low] data following the order + * // - or an object with 'high', 'mid' and 'low' key value + * data: { + * rows: [ + * ["data1", "data2"], + * [ + * // or {high:150, mid: 140, low: 110}, 120 + * [150, 140, 110], 120 + * ], + * [[155, 130, 115], 55], + * [[160, 135, 120], 60] + * ], + * types: { + * data1: "area-line-range", + * data2: "line" + * } + * } + * + * // for 'bubble' type, data can contain dimension value: + * // - an array of [y, z] data following the order + * // - or an object with 'y' and 'z' key value + * // 'y' is for y axis coordination and 'z' is the bubble radius value + * data: { + * rows: [ + * ["data1", "data2"], + * [ + * // or {y:10, z: 140}, 120 + * [10, 140], 120 + * ], + * [[100, 30], 55], + * [[50, 100], 60] + * ], + * types: { + * data1: "bubble", + * data2: "line" + * } + * } + * + * // for 'canlestick' type, data should contain: + * // - an array of [open, high, low, close, volume(optional)] data following the order + * // - or an object with 'open', 'high', 'low', 'close' and 'value'(optional) key value + * data: { + * rows: [ + * ["data1", "data2"], + * [ + * // open, high, low, close, volume (optional) + * {open: 1300, high: 1369, low: 1200, close: 1339, volume: 100}, + * [1000, 1100, 850, 870] + * ], + * [ + * {open: 1348, high: 1371, low: 1271, close: 1320}, + * [870, 1250, 830, 1200, 50] + * ] + * ], + * type: "candlestick" + * } + */ + data_rows: void 0, + /** + * Load data from a multidimensional array, with each element containing an array consisting of a datum name and associated data values. + * @name data․columns + * @memberof Options + * @type {Array} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.ColumnOrientedData) + * @example + * data: { + * columns: [ + * ["data1", 30, 20, 50, 40, 60, 50], + * ["data2", 200, 130, 90, 240, 130, 220], + * ["data3", 300, 200, 160, 400, 250, 250] + * ] + * } + * + * // for 'bar' type, data can contain: + * // - an array of [start, end] data following the order + * data: { + * columns: [ + * ["data1", -100, 50, [100, 200], [200, 300]], + * ["data2", -200, 300, [-100, 100], [-50, -30]], + * ], + * type: "bar" + * } + * + * // for 'range' types('area-line-range' or 'area-step-range' or 'area-spline-range'), data should contain: + * // - an array of [high, mid, low] data following the order + * // - or an object with 'high', 'mid' and 'low' key value + * data: { + * columns: [ + * ["data1", + * [150, 140, 110], // or {high:150, mid: 140, low: 110} + * [150, 140, 110], + * [150, 140, 110] + * ] + * ], + * type: "area-line-range" + * } + * + * // for 'bubble' type, data can contain dimension value: + * // - an array of [y, z] data following the order + * // - or an object with 'y' and 'z' key value + * // 'y' is for y axis coordination and 'z' is the bubble radius value + * data: { + * columns: [ + * ["data1", + * [10, 140], // or {y:10, z: 140} + * [100, 30], + * [50, 100] + * ] + * ], + * type: "bubble" + * } + * + * // for 'canlestick' type, data should contain: + * // - an array of [open, high, low, close, volume(optional)] data following the order + * // - or an object with 'open', 'high', 'low', 'close' and 'value'(optional) key value + * data: { + * columns: [ + * ["data1", + * [1000, 1100, 850, 870, 100], // or {open:1000, high: 1100, low: 870, volume: 100} + * [870, 1250, 830, 1200] // 'volume' can be omitted + * ] + * ], + * type: "candlestick" + * } + */ + data_columns: void 0, + /** + * Used if loading JSON via data.url. + * - **Available Values:** + * - json + * - csv + * - tsv + * @name data․mimeType + * @memberof Options + * @type {string} + * @default csv + * @example + * data: { + * mimeType: "json" + * } + */ + data_mimeType: "csv", + /** + * Choose which JSON object keys correspond to desired data. + * - **NOTE:** Only for JSON object given as array. + * @name data․keys + * @memberof Options + * @type {string} + * @default undefined + * @example + * data: { + * json: [ + * {name: "www.site1.com", upload: 200, download: 200, total: 400}, + * {name: "www.site2.com", upload: 100, download: 300, total: 400}, + * {name: "www.site3.com", upload: 300, download: 200, total: 500}, + * {name: "www.site4.com", upload: 400, download: 100, total: 500} + * ], + * keys: { + * // case 1: specify 'x' key for category axis + * x: "name", // 'name' key will be used as category x axis values + * value: ["upload", "download"] + * + * // case 2: without 'x' key for non-category axis + * value: ["upload", "download"] + * } + * } + */ + data_keys: void 0, + /** + * Set text label to be displayed when there's no data to show. + * - ex. Toggling all visible data to not be shown, unloading all current data, etc. + * @name data․empty․label․text + * @memberof Options + * @type {string} + * @default "" + * @example + * data: { + * empty: { + * label: { + * text: "No Data" + * } + * } + * } + */ + data_empty_label_text: "" +}); + +;// ./src/config/Options/interaction/interaction.ts +/* harmony default export */ var interaction = ({ + /** + * Interaction options + * @name interaction + * @memberof Options + * @type {object} + * @property {object} interaction Intersection object + * @property {boolean} [interaction.enabled=true] Indicate if the chart should have interactions.<br> + * If `false` is set, all of interactions (showing/hiding tooltip, selection, mouse events, etc) will be disabled. + * @property {boolean} [interaction.brighten=true] Make brighter for the selected area (ex. 'pie' type data selected area) + * @property {boolean} [interaction.inputType.mouse=true] enable or disable mouse interaction + * @property {boolean} [interaction.inputType.touch=true] enable or disable touch interaction + * @property {boolean|number} [interaction.inputType.touch.preventDefault=false] enable or disable to call event.preventDefault on touchstart & touchmove event. It's usually used to prevent document scrolling. + * @property {boolean} [interaction.onout=true] Enable or disable "onout" event.<br> + * When is disabled, defocus(hiding tooltip, focused gridline, etc.) event won't work. + * @see [Demo: touch.preventDefault](https://naver.github.io/billboard.js/demo/#Interaction.PreventScrollOnTouch) + * @example + * interaction: { + * enabled: false, + * brighten: false, + * inputType: { + * mouse: true, + * touch: false + * + * // or declare preventDefault explicitly. + * // In this case touch inputType is enabled by default + * touch: { + * preventDefault: true + * + * // or threshold pixel value (pixel moved from touchstart to touchmove) + * preventDefault: 5 + * } + * }, + * + * // disable "onout" event + * onout: false + * } + */ + interaction_enabled: true, + interaction_brighten: true, + interaction_inputType_mouse: true, + interaction_inputType_touch: {}, + interaction_onout: true +}); + +// EXTERNAL MODULE: external {"commonjs":"d3-brush","commonjs2":"d3-brush","amd":"d3-brush","root":"d3"} +var external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_ = __webpack_require__(4); +;// ./src/module/browser.ts +function getGlobal() { + return typeof globalThis === "object" && globalThis !== null && globalThis.Object === Object && globalThis || typeof global === "object" && global !== null && global.Object === Object && global || typeof self === "object" && self !== null && self.Object === Object && self || Function("return this")(); +} +function getFallback(w) { + const hasRAF = typeof (w == null ? void 0 : w.requestAnimationFrame) === "function" && typeof (w == null ? void 0 : w.cancelAnimationFrame) === "function"; + const hasRIC = typeof (w == null ? void 0 : w.requestIdleCallback) === "function" && typeof (w == null ? void 0 : w.cancelIdleCallback) === "function"; + const request = (cb) => setTimeout(cb, 1); + const cancel = (id) => clearTimeout(id); + return [ + hasRAF ? w.requestAnimationFrame : request, + hasRAF ? w.cancelAnimationFrame : cancel, + hasRIC ? w.requestIdleCallback : request, + hasRIC ? w.cancelIdleCallback : cancel + ]; +} +const win = getGlobal(); +const browser_doc = win == null ? void 0 : win.document; +const [ + requestAnimationFrame, + cancelAnimationFrame, + requestIdleCallback, + cancelIdleCallback +] = getFallback(win); + + +;// ./src/module/util.ts +var util_defProp = Object.defineProperty; +var util_getOwnPropSymbols = Object.getOwnPropertySymbols; +var util_hasOwnProp = Object.prototype.hasOwnProperty; +var util_propIsEnum = Object.prototype.propertyIsEnumerable; +var util_defNormalProp = (obj, key, value) => key in obj ? util_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var util_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (util_hasOwnProp.call(b, prop)) + util_defNormalProp(a, prop, b[prop]); + if (util_getOwnPropSymbols) + for (var prop of util_getOwnPropSymbols(b)) { + if (util_propIsEnum.call(b, prop)) + util_defNormalProp(a, prop, b[prop]); + } + return a; +}; + + + + +const isValue = (v) => v || v === 0; +const isFunction = (v) => typeof v === "function"; +const isString = (v) => typeof v === "string"; +const isNumber = (v) => typeof v === "number"; +const isUndefined = (v) => typeof v === "undefined"; +const isDefined = (v) => typeof v !== "undefined"; +const isBoolean = (v) => typeof v === "boolean"; +const ceil10 = (v) => Math.ceil(v / 10) * 10; +const asHalfPixel = (n) => Math.ceil(n) + 0.5; +const diffDomain = (d) => d[1] - d[0]; +const isObjectType = (v) => typeof v === "object"; +const isEmpty = (o) => isUndefined(o) || o === null || isString(o) && o.length === 0 || isObjectType(o) && !(o instanceof Date) && Object.keys(o).length === 0 || isNumber(o) && isNaN(o); +const notEmpty = (o) => !isEmpty(o); +const isArray = (arr) => Array.isArray(arr); +const isObject = (obj) => obj && !(obj == null ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); +function getOption(options, key, defaultValue) { + return isDefined(options[key]) ? options[key] : defaultValue; +} +function hasValue(dict, value) { + let found = false; + Object.keys(dict).forEach((key) => dict[key] === value && (found = true)); + return found; +} +function callFn(fn, thisArg, ...args) { + const isFn = isFunction(fn); + isFn && fn.call(thisArg, ...args); + return isFn; +} +function endall(transition, cb) { + let n = 0; + const end = function(...args) { + !--n && cb.apply(this, ...args); + }; + if ("duration" in transition) { + transition.each(() => ++n).on("end", end); + } else { + ++n; + transition.call(end); + } +} +function sanitize(str) { + return isString(str) ? str.replace(/<(script|img)?/ig, "<").replace(/(script)?>/ig, ">") : str; +} +function setTextValue(node, text, dy = [-1, 1], toMiddle = false) { + if (!node || !isString(text)) { + return; + } + if (text.indexOf("\n") === -1) { + node.text(text); + } else { + const diff = [node.text(), text].map((v) => v.replace(/[\s\n]/g, "")); + if (diff[0] !== diff[1]) { + const multiline = text.split("\n"); + const len = toMiddle ? multiline.length - 1 : 1; + node.html(""); + multiline.forEach((v, i) => { + node.append("tspan").attr("x", 0).attr("dy", `${i === 0 ? dy[0] * len : dy[1]}em`).text(v); + }); + } + } +} +function getRectSegList(path) { + const { x, y, width, height } = path.getBBox(); + return [ + { x, y: y + height }, + // seg0 + { x, y }, + // seg1 + { x: x + width, y }, + // seg2 + { x: x + width, y: y + height } + // seg3 + ]; +} +function getPathBox(path) { + const { width, height } = path.getBoundingClientRect(); + const items = getRectSegList(path); + const x = items[0].x; + const y = Math.min(items[0].y, items[1].y); + return { + x, + y, + width, + height + }; +} +function getPointer(event, element) { + var _a; + const touches = event && ((_a = event.touches || event.sourceEvent && event.sourceEvent.touches) == null ? void 0 : _a[0]); + let pointer = [0, 0]; + try { + pointer = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.pointer)(touches || event, element); + } catch (e) { + } + return pointer.map((v) => isNaN(v) ? 0 : v); +} +function getBrushSelection(ctx) { + const { event, $el } = ctx; + const main = $el.subchart.main || $el.main; + let selection; + if (event && event.type === "brush") { + selection = event.selection; + } else if (main && (selection = main.select(".bb-brush").node())) { + selection = (0,external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_.brushSelection)(selection); + } + return selection; +} +function getBoundingRect(node) { + const needEvaluate = !("rect" in node) || "rect" in node && node.hasAttribute("width") && node.rect.width !== +node.getAttribute("width"); + return needEvaluate ? node.rect = node.getBoundingClientRect() : node.rect; +} +function getRandom(asStr = true, min = 0, max = 1e4) { + const crpt = win.crypto || win.msCrypto; + const rand = crpt ? min + crpt.getRandomValues(new Uint32Array(1))[0] % (max - min + 1) : Math.floor(Math.random() * (max - min) + min); + return asStr ? String(rand) : rand; +} +function findIndex(arr, v, start, end, isRotated) { + if (start > end) { + return -1; + } + const mid = Math.floor((start + end) / 2); + let { x, w = 0 } = arr[mid]; + if (isRotated) { + x = arr[mid].y; + w = arr[mid].h; + } + if (v >= x && v <= x + w) { + return mid; + } + return v < x ? findIndex(arr, v, start, mid - 1, isRotated) : findIndex(arr, v, mid + 1, end, isRotated); +} +function brushEmpty(ctx) { + const selection = getBrushSelection(ctx); + if (selection) { + return selection[0] === selection[1]; + } + return true; +} +function deepClone(...objectN) { + const clone = (v) => { + if (isObject(v) && v.constructor) { + const r = new v.constructor(); + for (const k in v) { + r[k] = clone(v[k]); + } + return r; + } + return v; + }; + return objectN.map((v) => clone(v)).reduce((a, c) => util_spreadValues(util_spreadValues({}, a), c)); +} +function extend(target = {}, source) { + if (isArray(source)) { + source.forEach((v) => extend(target, v)); + } + for (const p in source) { + if (/^\d+$/.test(p) || p in target) { + continue; + } + target[p] = source[p]; + } + return target; +} +const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1); +function camelize(str, separator = "-") { + return str.split(separator).map((v, i) => i ? v.charAt(0).toUpperCase() + v.slice(1).toLowerCase() : v.toLowerCase()).join(""); +} +const toArray = (v) => [].slice.call(v); +function addCssRules(style, selector, prop) { + const { rootSelector = "", sheet } = style; + const getSelector = (s) => s.replace(/\s?(bb-)/g, ".$1").replace(/\.+/g, "."); + const rule = `${rootSelector} ${getSelector(selector)} {${prop.join(";")}}`; + return sheet[sheet.insertRule ? "insertRule" : "addRule"]( + rule, + sheet.cssRules.length + ); +} +function getCssRules(styleSheets) { + let rules = []; + styleSheets.forEach((sheet) => { + var _a; + try { + if (sheet.cssRules && sheet.cssRules.length) { + rules = rules.concat(toArray(sheet.cssRules)); + } + } catch (e) { + (_a = win.console) == null ? void 0 : _a.warn(`Error while reading rules from ${sheet.href}: ${e.toString()}`); + } + }); + return rules; +} +function getScrollPosition(node) { + var _a, _b, _c, _d, _e, _f; + return { + x: ((_b = (_a = win.pageXOffset) != null ? _a : win.scrollX) != null ? _b : 0) + ((_c = node.scrollLeft) != null ? _c : 0), + y: ((_e = (_d = win.pageYOffset) != null ? _d : win.scrollY) != null ? _e : 0) + ((_f = node.scrollTop) != null ? _f : 0) + }; +} +function getTransformCTM(node, x = 0, y = 0, inverse = true) { + const point = new DOMPoint(x, y); + const screen = node.getScreenCTM(); + const res = point.matrixTransform( + inverse ? screen == null ? void 0 : screen.inverse() : screen + ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; +} +function getTranslation(node) { + const transform = node ? node.transform : null; + const baseVal = transform && transform.baseVal; + return baseVal && baseVal.numberOfItems ? baseVal.getItem(0).matrix : { a: 0, b: 0, c: 0, d: 0, e: 0, f: 0 }; +} +function getUnique(data) { + const isDate = data[0] instanceof Date; + const d = (isDate ? data.map(Number) : data).filter((v, i, self) => self.indexOf(v) === i); + return isDate ? d.map((v) => new Date(v)) : d; +} +function mergeArray(arr) { + return arr && arr.length ? arr.reduce((p, c) => p.concat(c)) : []; +} +function mergeObj(target, ...objectN) { + if (!objectN.length || objectN.length === 1 && !objectN[0]) { + return target; + } + const source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach((key) => { + const value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj(target, ...objectN); +} +function sortValue(data, isAsc = true) { + let fn; + if (data[0] instanceof Date) { + fn = isAsc ? (a, b) => a - b : (a, b) => b - a; + } else { + if (isAsc && !data.every(isNaN)) { + fn = (a, b) => a - b; + } else if (!isAsc) { + fn = (a, b) => a > b && -1 || a < b && 1 || a === b && 0; + } + } + return data.concat().sort(fn); +} +function getMinMax(type, data) { + let res = data.filter((v) => notEmpty(v)); + if (res.length) { + if (isNumber(res[0])) { + res = Math[type](...res); + } else if (res[0] instanceof Date) { + res = sortValue(res, type === "min")[0]; + } + } else { + res = void 0; + } + return res; +} +const getRange = (start, end, step = 1) => { + const res = []; + const n = Math.max(0, Math.ceil((end - start) / step)) | 0; + for (let i = start; i < n; i++) { + res.push(start + i * step); + } + return res; +}; +const emulateEvent = { + mouse: (() => { + const getParams = () => ({ + bubbles: false, + cancelable: false, + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0 + }); + try { + new MouseEvent("t"); + return (el, eventType, params = getParams()) => { + el.dispatchEvent(new MouseEvent(eventType, params)); + }; + } catch (e) { + return (el, eventType, params = getParams()) => { + const mouseEvent = browser_doc.createEvent("MouseEvent"); + mouseEvent.initMouseEvent( + eventType, + params.bubbles, + params.cancelable, + win, + 0, + // the event's mouse click count + params.screenX, + params.screenY, + params.clientX, + params.clientY, + false, + false, + false, + false, + 0, + null + ); + el.dispatchEvent(mouseEvent); + }; + } + })(), + touch: (el, eventType, params) => { + const touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}; +function tplProcess(tpl, data) { + let res = tpl; + for (const x in data) { + res = res.replace(new RegExp(`{=${x}}`, "g"), data[x]); + } + return res; +} +function parseDate(date) { + var _a; + let parsedDate; + if (date instanceof Date) { + parsedDate = date; + } else if (isString(date)) { + const { config, format } = this; + parsedDate = (_a = format.dataTime(config.data_xFormat)(date)) != null ? _a : new Date(date); + } else if (isNumber(date) && !isNaN(date)) { + parsedDate = /* @__PURE__ */ new Date(+date); + } + if (!parsedDate || isNaN(+parsedDate)) { + console && console.error && console.error(`Failed to parse x '${date}' to Date object`); + } + return parsedDate; +} +function hasViewBox(svg) { + const attr = svg.attr("viewBox"); + return attr ? /(\d+(\.\d+)?){3}/.test(attr) : false; +} +function hasStyle(node, condition, all = false) { + const isD3Node = !!node.node; + let has = false; + for (const [key, value] of Object.entries(condition)) { + has = isD3Node ? node.style(key) === value : node.style[key] === value; + if (all === false && has) { + break; + } + } + return has; +} +function isTabVisible() { + var _a, _b; + return ((_a = browser_doc) == null ? void 0 : _a.hidden) === false || ((_b = browser_doc) == null ? void 0 : _b.visibilityState) === "visible"; +} +function convertInputType(mouse, touch) { + const { DocumentTouch, matchMedia, navigator } = win; + const hasPointerCoarse = matchMedia == null ? void 0 : matchMedia("(pointer:coarse)").matches; + let hasTouch = false; + if (touch) { + if (navigator && "maxTouchPoints" in navigator) { + hasTouch = navigator.maxTouchPoints > 0; + } else if ("ontouchmove" in win || DocumentTouch && browser_doc instanceof DocumentTouch) { + hasTouch = true; + } else { + if (hasPointerCoarse) { + hasTouch = true; + } else { + const UA = navigator.userAgent; + hasTouch = /\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(UA) || /\b(Android|Windows Phone|iPad|iPod)\b/i.test(UA); + } + } + } + const hasMouse = mouse && !hasPointerCoarse && (matchMedia == null ? void 0 : matchMedia("(pointer:fine)").matches); + return hasMouse && "mouse" || hasTouch && "touch" || "mouse"; +} +function runUntil(fn, conditionFn) { + if (conditionFn() === false) { + requestAnimationFrame(() => runUntil(fn, conditionFn)); + } else { + fn(); + } +} + +;// ./src/config/Options/Options.ts +var Options_defProp = Object.defineProperty; +var Options_getOwnPropSymbols = Object.getOwnPropertySymbols; +var Options_hasOwnProp = Object.prototype.hasOwnProperty; +var Options_propIsEnum = Object.prototype.propertyIsEnumerable; +var Options_defNormalProp = (obj, key, value) => key in obj ? Options_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var Options_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (Options_hasOwnProp.call(b, prop)) + Options_defNormalProp(a, prop, b[prop]); + if (Options_getOwnPropSymbols) + for (var prop of Options_getOwnPropSymbols(b)) { + if (Options_propIsEnum.call(b, prop)) + Options_defNormalProp(a, prop, b[prop]); + } + return a; +}; +var __publicField = (obj, key, value) => Options_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + + + + + + +const _Options = class _Options { + static setOptions(options) { + this.data = options.reduce((a, c) => Options_spreadValues(Options_spreadValues({}, a), c), this.data); + } + constructor() { + return deepClone( + main, + boost, + data, + color, + interaction, + legend, + title, + tooltip, + _Options.data + ); + } +}; +__publicField(_Options, "data", {}); +let Options = _Options; + + +;// ./src/config/Store/Element.ts +class Element { + constructor() { + const element = { + chart: null, + main: null, + svg: null, + axis: { + // axes + x: null, + y: null, + y2: null, + subX: null + }, + axisTooltip: { + x: null, + y: null, + y2: null + }, + defs: null, + tooltip: null, + legend: null, + title: null, + subchart: { + main: null, + // $$.context + bar: null, + // $$.contextBar + line: null, + // $$.contextLine + area: null + // $$.contextArea + }, + arcs: null, + bar: null, + // mainBar, + candlestick: null, + line: null, + // mainLine, + area: null, + // mainArea, + circle: null, + // mainCircle, + radar: null, + text: null, + // mainText, + grid: { + main: null, + // grid (also focus) + x: null, + // xgrid, + y: null + // ygrid, + }, + gridLines: { + main: null, + // gridLines + x: null, + // xgridLines, + y: null + // ygridLines + }, + region: { + main: null, + // region + list: null + // mainRegion + }, + eventRect: null, + zoomResetBtn: null + // drag zoom reset button + }; + return element; + } +} + +;// ./src/config/Store/State.ts +class State { + constructor() { + return { + // chart drawn area dimension, excluding axes + width: 0, + width2: 0, + height: 0, + height2: 0, + margin: { + top: 0, + bottom: 0, + left: 0, + right: 0 + }, + margin2: { + top: 0, + bottom: 0, + left: 0, + right: 0 + }, + margin3: { + top: 0, + bottom: 0, + left: 0, + right: 0 + }, + arcWidth: 0, + arcHeight: 0, + xAxisHeight: 0, + hasAxis: false, + hasFunnel: false, + hasRadar: false, + hasTreemap: false, + // for data CSS rule index (used when boost.useCssRule is true) + cssRule: {}, + current: { + // current domain value. Assigned when is zoom is called + domain: void 0, + // chart whole dimension + width: 0, + height: 0, + dataMax: 0, + maxTickSize: { + x: { + width: 0, + height: 0, + ticks: [], + clipPath: 0, + domain: "" + }, + y: { width: 0, height: 0, domain: "" }, + y2: { width: 0, height: 0, domain: "" } + }, + // current used chart type list + types: [], + needle: void 0 + // arc needle current value + }, + // legend + isLegendRight: false, + isLegendInset: false, + isLegendTop: false, + isLegendLeft: false, + legendStep: 0, + legendItemWidth: 0, + legendItemHeight: 0, + legendHasRendered: false, + eventReceiver: { + currentIdx: -1, + // current event interaction index + rect: {}, + // event rect's clientBoundingRect + data: [], + // event data bound of previoous eventRect + coords: [] + // coordination value of previous eventRect + }, + axis: { + x: { + padding: { left: 0, right: 0 }, + tickCount: 0 + } + }, + rotatedPadding: { + left: 30, + right: 0, + top: 5 + }, + withoutFadeIn: {}, + inputType: "", + datetimeId: "", + // clip id string + clip: { + id: "", + idXAxis: "", + idYAxis: "", + idXAxisTickTexts: "", + idGrid: "", + idSubchart: "", + // clipIdForSubchart + path: "", + pathXAxis: "", + pathYAxis: "", + pathXAxisTickTexts: "", + pathGrid: "" + }, + // state + event: null, + // event object + dragStart: null, + dragging: false, + flowing: false, + cancelClick: false, + mouseover: false, + rendered: false, + transiting: false, + redrawing: false, + // if redraw() is on process + resizing: false, + // resize event called + toggling: false, + // legend toggle + zooming: false, + hasNegativeValue: false, + hasPositiveValue: true, + orgAreaOpacity: "0.2", + orgConfig: {}, + // user original genration config + // ID strings + hiddenTargetIds: [], + hiddenLegendIds: [], + focusedTargetIds: [], + defocusedTargetIds: [], + // value for Arc + radius: 0, + innerRadius: 0, + outerRadius: void 0, + innerRadiusRatio: 0, + gaugeArcWidth: 0, + radiusExpanded: 0, + // xgrid attribute + xgridAttr: { + x1: null, + x2: null, + y1: null, + y2: null + } + }; + } +} + +;// ./src/config/Store/Store.ts + + +const Store_classes = { + element: Element, + state: State +}; +class Store { + constructor() { + Object.keys(Store_classes).forEach((v) => { + this[v] = new Store_classes[v](); + }); + } + getStore(name) { + return this[name]; + } +} + +;// ./src/module/Cache.ts +var Cache_defProp = Object.defineProperty; +var Cache_defNormalProp = (obj, key, value) => key in obj ? Cache_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var Cache_publicField = (obj, key, value) => Cache_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + +const KEY = { + bubbleBaseLength: "$baseLength", + colorPattern: "__colorPattern__", + dataMinMax: "$dataMinMax", + dataTotalSum: "$dataTotalSum", + dataTotalPerIndex: "$totalPerIndex", + legendItemTextBox: "legendItemTextBox", + radarPoints: "$radarPoints", + radarTextWidth: "$radarTextWidth", + setOverOut: "setOverOut", + callOverOutForTouch: "callOverOutForTouch", + textRect: "textRect" +}; +class Cache { + constructor() { + Cache_publicField(this, "cache", {}); + } + /** + * Add cache + * @param {string} key Cache key + * @param {*} value Value to be stored + * @param {boolean} isDataType Weather the cache is data typed '{id:'data', id_org: 'data', values: [{x:0, index:0,...}, ...]}' + * @returns {*} Added data value + * @private + */ + add(key, value, isDataType = false) { + this.cache[key] = isDataType ? this.cloneTarget(value) : value; + return this.cache[key]; + } + /** + * Remove cache + * @param {string|Array} key Cache key + * @private + */ + remove(key) { + (isString(key) ? [key] : key).forEach((v) => delete this.cache[v]); + } + /** + * Get cahce + * @param {string|Array} key Cache key + * @param {boolean} isDataType Weather the cache is data typed '{id:'data', id_org: 'data', values: [{x:0, index:0,...}, ...]}' + * @returns {*} + * @private + */ + get(key, isDataType = false) { + if (isDataType && Array.isArray(key)) { + const targets = []; + for (let i = 0, id; id = key[i]; i++) { + if (id in this.cache) { + targets.push(this.cloneTarget(this.cache[id])); + } + } + return targets; + } else { + const value = this.cache[key]; + return isValue(value) ? value : null; + } + } + /** + * Reset cached data + * @param {boolean} all true: reset all data, false: reset only '$' prefixed key data + * @private + */ + reset(all) { + const $$ = this; + for (const x in $$.cache) { + if (all || /^\$/.test(x)) { + $$.cache[x] = null; + } + } + } + /** + * Clone data target object + * @param {object} target Data object + * @returns {object} + * @private + */ + cloneTarget(target) { + return { + id: target.id, + id_org: target.id_org, + values: target.values.map((d) => ({ x: d.x, value: d.value, id: d.id })) + }; + } +} + +;// ./src/config/const.ts +const TYPE = { + AREA: "area", + AREA_LINE_RANGE: "area-line-range", + AREA_SPLINE: "area-spline", + AREA_SPLINE_RANGE: "area-spline-range", + AREA_STEP: "area-step", + AREA_STEP_RANGE: "area-step-range", + BAR: "bar", + BUBBLE: "bubble", + CANDLESTICK: "candlestick", + DONUT: "donut", + FUNNEL: "funnel", + GAUGE: "gauge", + LINE: "line", + PIE: "pie", + POLAR: "polar", + RADAR: "radar", + SCATTER: "scatter", + SPLINE: "spline", + STEP: "step", + TREEMAP: "treemap" +}; +const TYPE_METHOD_NEEDED = { + AREA: "initArea", + AREA_LINE_RANGE: "initArea", + AREA_SPLINE: "initArea", + AREA_SPLINE_RANGE: "initArea", + AREA_STEP: "initArea", + AREA_STEP_RANGE: "initArea", + BAR: "initBar", + BUBBLE: "initCircle", + CANDLESTICK: "initCandlestick", + DONUT: "initArc", + FUNNEL: "initFunnel", + GAUGE: "initArc", + LINE: "initLine", + PIE: "initArc", + POLAR: "initPolar", + RADAR: "initCircle", + SCATTER: "initCircle", + SPLINE: "initLine", + STEP: "initLine", + TREEMAP: "initTreemap" +}; +const TYPE_BY_CATEGORY = { + Area: [ + TYPE.AREA, + TYPE.AREA_SPLINE, + TYPE.AREA_SPLINE_RANGE, + TYPE.AREA_LINE_RANGE, + TYPE.AREA_STEP, + TYPE.AREA_STEP_RANGE + ], + AreaRange: [ + TYPE.AREA_SPLINE_RANGE, + TYPE.AREA_LINE_RANGE, + TYPE.AREA_STEP_RANGE + ], + Arc: [ + TYPE.PIE, + TYPE.DONUT, + TYPE.GAUGE, + TYPE.POLAR, + TYPE.RADAR + ], + Line: [ + TYPE.LINE, + TYPE.SPLINE, + TYPE.AREA, + TYPE.AREA_SPLINE, + TYPE.AREA_SPLINE_RANGE, + TYPE.AREA_LINE_RANGE, + TYPE.STEP, + TYPE.AREA_STEP, + TYPE.AREA_STEP_RANGE + ], + Step: [ + TYPE.STEP, + TYPE.AREA_STEP, + TYPE.AREA_STEP_RANGE + ], + Spline: [ + TYPE.SPLINE, + TYPE.AREA_SPLINE, + TYPE.AREA_SPLINE_RANGE + ] +}; + +;// ./src/module/error.ts + + + + +function checkModuleImport(ctx) { + const $$ = ctx; + const { config } = $$; + let type = ""; + if (isEmpty(config.data_type || config.data_types) && !$$[TYPE_METHOD_NEEDED.LINE]) { + type = "line"; + } else { + for (const x in TYPE_METHOD_NEEDED) { + const t = TYPE[x]; + if ($$.hasType(t) && !$$[TYPE_METHOD_NEEDED[x]]) { + type = t; + break; + } + } + } + type && logError( + `Please, make sure if %c${camelize(type)}`, + "module has been imported and specified correctly.", + "https://github.com/naver/billboard.js/wiki/CHANGELOG-v2#modularization-by-its-functionality" + ); +} +function logError(head, tail, info) { + var _a; + const prefix = "[billboard.js]"; + const hasConsole = (_a = win.console) == null ? void 0 : _a.error; + if (hasConsole) { + const tailMsg = tail ? ["background:red;color:white;display:block;font-size:15px", tail] : []; + console.error( + `\u274C ${prefix} ${head}`, + "background:red;color:white;display:block;font-size:15px", + ...tailMsg + ); + info && console.info("%c\u2139\uFE0F", "font-size:15px", info); + } + throw Error(`${prefix} ${head.replace(/\%c([a-z-]+)/i, "'$1' ")} ${tail != null ? tail : ""}`); +} + +;// ./src/module/generator.ts + + +const { setTimeout: generator_setTimeout, clearTimeout: generator_clearTimeout } = win; +function generateResize(option) { + const fn = []; + let timeout; + const callResizeFn = function() { + callResizeFn.clear(); + if (option === false) { + requestIdleCallback(() => { + fn.forEach((f) => f()); + }, { timeout: 200 }); + } else { + timeout = generator_setTimeout(() => { + fn.forEach((f) => f()); + }, isNumber(option) ? option : 200); + } + }; + callResizeFn.clear = () => { + if (timeout) { + generator_clearTimeout(timeout); + timeout = null; + } + }; + callResizeFn.add = (f) => fn.push(f); + callResizeFn.remove = (f) => fn.splice(fn.indexOf(f), 1); + return callResizeFn; +} +function generateWait() { + let transitionsToWait = []; + const f = function(selection, callback) { + function loop() { + var _a; + let done = 0; + for (let i = 0, t; t = transitionsToWait[i]; i++) { + if (t === true || ((_a = t.empty) == null ? void 0 : _a.call(t))) { + done++; + continue; + } + if (isTabVisible() === false) { + done = transitionsToWait.length; + break; + } + try { + t.transition(); + } catch (e) { + done++; + } + } + return done === transitionsToWait.length; + } + runUntil(() => { + callback == null ? void 0 : callback(); + }, loop); + }; + f.add = function(t) { + isArray(t) ? transitionsToWait = transitionsToWait.concat(t) : transitionsToWait.push(t); + }; + return f; +} + +;// ./src/module/worker.ts + +const blob = {}; +function getObjectURL(fn, depsFn) { + var _a; + const fnString = fn.toString(); + const key = fnString.replace(/(function|[\s\W\n])/g, "").substring(0, 15); + if (!(key in blob)) { + blob[key] = new win.Blob([ + `${(_a = depsFn == null ? void 0 : depsFn.map(String).join(";")) != null ? _a : ""} + + self.onmessage=function({data}) { + const result = (${fnString}).apply(null, data); + self.postMessage(result); + };` + ], { + type: "text/javascript" + }); + } + return win.URL.createObjectURL(blob[key]); +} +function getWorker(src) { + const worker = new win.Worker(src); + worker.onerror = function(e) { + console.error ? console.error(e) : console.log(e); + }; + return worker; +} +function runWorker(useWorker = true, fn, callback, depsFn) { + let runFn = function(...args) { + const res = fn(...args); + callback(res); + }; + if (win.Worker && useWorker) { + const src = getObjectURL(fn, depsFn); + const worker = getWorker(src); + runFn = function(...args) { + worker.postMessage(args); + worker.onmessage = function(e) { + win.URL.revokeObjectURL(src); + return callback(e.data); + }; + }; + } + return runFn; +} + +// EXTERNAL MODULE: external {"commonjs":"d3-dsv","commonjs2":"d3-dsv","amd":"d3-dsv","root":"d3"} +var external_commonjs_d3_dsv_commonjs2_d3_dsv_amd_d3_dsv_root_d3_ = __webpack_require__(5); +;// ./src/ChartInternal/data/convert.helper.ts + + +function columns(columns2) { + const newRows = []; + columns2.forEach(function(col, i) { + const key = col[0]; + col.forEach(function(v, j) { + if (j > 0) { + if (typeof newRows[j - 1] === "undefined") { + newRows[j - 1] = {}; + } + if (typeof v === "undefined") { + throw new Error(`Source data is missing a component at (${i}, ${j})!`); + } + newRows[j - 1][key] = v; + } + }); + }); + return newRows; +} +function rows(rows2) { + const keys = rows2[0]; + const newRows = []; + rows2.forEach(function(row, i) { + if (i > 0) { + const newRow = {}; + row.forEach(function(v, j) { + if (typeof v === "undefined") { + throw new Error(`Source data is missing a component at (${i}, ${j})!`); + } + newRow[keys[j]] = v; + }); + newRows.push(newRow); + } + }); + return newRows; +} +function json(json2, keysParam) { + const newRows = []; + let targetKeys; + let data; + if (Array.isArray(json2)) { + const findValueInJson = function(object, path) { + if (object[path] !== void 0) { + return object[path]; + } + const convertedPath = path.replace(/\[(\w+)\]/g, ".$1"); + const pathArray = convertedPath.replace(/^\./, "").split("."); + let target = object; + pathArray.some(function(k) { + return !(target = target && k in target ? target[k] : void 0); + }); + return target; + }; + if (keysParam.x) { + targetKeys = keysParam.value.concat(keysParam.x); + } else { + targetKeys = keysParam.value; + } + newRows.push(targetKeys); + json2.forEach(function(o) { + const newRow = targetKeys.map(function(key) { + let v = findValueInJson(o, key); + if (typeof v === "undefined") { + v = null; + } + return v; + }); + newRows.push(newRow); + }); + data = rows(newRows); + } else { + Object.keys(json2).forEach(function(key) { + var _a; + const tmp = json2[key].concat(); + (_a = tmp.unshift) == null ? void 0 : _a.call(tmp, key); + newRows.push(tmp); + }); + data = columns(newRows); + } + return data; +} +function url(url2, mimeType = "csv", headers, keys, done) { + const req = new XMLHttpRequest(); + const converter = { csv, tsv, json }; + req.open("GET", url2); + if (headers) { + Object.keys(headers).forEach(function(key) { + req.setRequestHeader(key, headers[key]); + }); + } + req.onreadystatechange = function() { + if (req.readyState === 4) { + if (req.status === 200) { + const response = req.responseText; + response && done.call(this, converter[mimeType]( + mimeType === "json" ? JSON.parse(response) : response, + keys + )); + } else { + throw new Error(`${url2}: Something went wrong loading!`); + } + } + }; + req.send(); +} +function convertCsvTsvToData(parser, xsv) { + const rows2 = parser.rows(xsv); + let d; + if (rows2.length === 1) { + d = [{}]; + rows2[0].forEach((id) => { + d[0][id] = null; + }); + } else { + d = parser.parse(xsv); + } + return d; +} +function csv(xsv) { + return convertCsvTsvToData({ + rows: external_commonjs_d3_dsv_commonjs2_d3_dsv_amd_d3_dsv_root_d3_.csvParseRows, + parse: external_commonjs_d3_dsv_commonjs2_d3_dsv_amd_d3_dsv_root_d3_.csvParse + }, xsv); +} +function tsv(tsv2) { + return convertCsvTsvToData({ + rows: external_commonjs_d3_dsv_commonjs2_d3_dsv_amd_d3_dsv_root_d3_.tsvParseRows, + parse: external_commonjs_d3_dsv_commonjs2_d3_dsv_amd_d3_dsv_root_d3_.tsvParse + }, tsv2); +} + +;// ./src/ChartInternal/data/convert.ts + + + +function getDataKeyForJson(keysParam, config) { + const keys = keysParam || (config == null ? void 0 : config.data_keys); + if (keys == null ? void 0 : keys.x) { + config.data_x = keys.x; + } + return keys; +} +/* harmony default export */ var convert = ({ + /** + * Convert data according its type + * @param {object} args data object + * @param {Function} [callback] callback for url(XHR) type loading + * @private + */ + convertData(args, callback) { + const { config } = this; + const useWorker = config.boost_useWorker; + let data = args; + if (args.bindto) { + data = {}; + ["url", "mimeType", "headers", "keys", "json", "keys", "rows", "columns"].forEach((v) => { + const key = `data_${v}`; + if (key in args) { + data[v] = args[key]; + } + }); + } + if (data.url && callback) { + url( + data.url, + data.mimeType, + data.headers, + getDataKeyForJson(data.keys, config), + callback + ); + } else if (data.json) { + runWorker(useWorker, json, callback, [columns, rows])( + data.json, + getDataKeyForJson(data.keys, config) + ); + } else if (data.rows) { + runWorker(useWorker, rows, callback)(data.rows); + } else if (data.columns) { + runWorker(useWorker, columns, callback)(data.columns); + } else if (args.bindto) { + throw Error("url or json or rows or columns is required."); + } + }, + convertDataToTargets(data, appendXs) { + const $$ = this; + const { axis, config, state } = $$; + const chartType = config.data_type; + let isCategorized = false; + let isTimeSeries = false; + let isCustomX = false; + if (axis) { + isCategorized = axis.isCategorized(); + isTimeSeries = axis.isTimeSeries(); + isCustomX = axis.isCustomX(); + } + const dataKeys = Object.keys(data[0] || {}); + const ids = dataKeys.length ? dataKeys.filter($$.isNotX, $$) : []; + const xs = dataKeys.length ? dataKeys.filter($$.isX, $$) : []; + let xsData; + ids.forEach((id) => { + const xKey = this.getXKey(id); + if (isCustomX || isTimeSeries) { + if (xs.indexOf(xKey) >= 0) { + xsData = (appendXs && $$.data.xs[id] || []).concat( + data.map((d) => d[xKey]).filter(isValue).map((rawX, i) => $$.generateTargetX(rawX, id, i)) + ); + } else if (config.data_x) { + xsData = this.getOtherTargetXs(); + } else if (notEmpty(config.data_xs)) { + xsData = $$.getXValuesOfXKey(xKey, $$.data.targets); + } + } else { + xsData = data.map((d, i) => i); + } + xsData && (this.data.xs[id] = xsData); + }); + ids.forEach((id) => { + if (!this.data.xs[id]) { + throw new Error(`x is not defined for id = "${id}".`); + } + }); + const targets = ids.map((id, index) => { + const convertedId = config.data_idConverter.bind($$.api)(id); + const xKey = $$.getXKey(id); + const isCategory = isCustomX && isCategorized; + const hasCategory = isCategory && data.map((v) => v.x).every((v) => config.axis_x_categories.indexOf(v) > -1); + const isDataAppend = data.__append__; + const xIndex = xKey === null && isDataAppend ? $$.api.data.values(id).length : 0; + return { + id: convertedId, + id_org: id, + values: data.map((d, i) => { + const rawX = d[xKey]; + let value = d[id]; + let x; + value = value !== null && !isNaN(value) && !isObject(value) ? +value : isArray(value) || isObject(value) ? value : null; + if ((isCategory || state.hasRadar) && index === 0 && !isUndefined(rawX)) { + if (!hasCategory && index === 0 && i === 0 && !isDataAppend) { + config.axis_x_categories = []; + } + x = config.axis_x_categories.indexOf(rawX); + if (x === -1) { + x = config.axis_x_categories.length; + config.axis_x_categories.push(rawX); + } + } else { + x = $$.generateTargetX(rawX, id, xIndex + i); + } + if (isUndefined(value) || $$.data.xs[id].length <= i) { + x = void 0; + } + return { + x, + value, + id: convertedId, + index: -1 + }; + }).filter((v) => isDefined(v.x)) + }; + }); + targets.forEach((t) => { + var _a; + if (config.data_xSort) { + t.values = t.values.sort((v1, v2) => { + const x1 = v1.x || v1.x === 0 ? v1.x : Infinity; + const x2 = v2.x || v2.x === 0 ? v2.x : Infinity; + return x1 - x2; + }); + } + t.values.forEach((v, i) => v.index = i); + (_a = $$.data.xs[t.id]) == null ? void 0 : _a.sort((v1, v2) => v1 - v2); + }); + state.hasNegativeValue = $$.hasNegativeValueInTargets(targets); + state.hasPositiveValue = $$.hasPositiveValueInTargets(targets); + if (chartType && $$.isValidChartType(chartType)) { + const targetIds = $$.mapToIds(targets).filter( + (id) => !(id in config.data_types) || !$$.isValidChartType(config.data_types[id]) + ); + $$.setTargetType(targetIds, chartType); + } + targets.forEach((d) => $$.cache.add(d.id_org, d, true)); + return targets; + } +}); + +;// ./src/ChartInternal/data/data.ts + + + + +/* harmony default export */ var data_data = ({ + isX(key) { + const $$ = this; + const { config } = $$; + const dataKey = config.data_x && key === config.data_x; + const existValue = notEmpty(config.data_xs) && hasValue(config.data_xs, key); + return dataKey || existValue; + }, + isNotX(key) { + return !this.isX(key); + }, + isStackNormalized() { + const { config } = this; + return !!(config.data_stack_normalize && config.data_groups.length); + }, + /** + * Check if given id is grouped data or has grouped data + * @param {string} id Data id value + * @returns {boolean} is grouped data or has grouped data + * @private + */ + isGrouped(id) { + const groups = this.config.data_groups; + return id ? groups.some((v) => v.indexOf(id) >= 0 && v.length > 1) : groups.length > 0; + }, + getXKey(id) { + const $$ = this; + const { config } = $$; + return config.data_x ? config.data_x : notEmpty(config.data_xs) ? config.data_xs[id] : null; + }, + getXValuesOfXKey(key, targets) { + const $$ = this; + const ids = targets && notEmpty(targets) ? $$.mapToIds(targets) : []; + let xValues; + ids.forEach((id) => { + if ($$.getXKey(id) === key) { + xValues = $$.data.xs[id]; + } + }); + return xValues; + }, + /** + * Get index number based on given x Axis value + * @param {Date|number|string} x x Axis to be compared + * @param {Array} basedX x Axis list to be based on + * @returns {number} index number + * @private + */ + getIndexByX(x, basedX) { + const $$ = this; + return basedX ? basedX.indexOf(isString(x) ? x : +x) : ($$.filterByX($$.data.targets, x)[0] || { index: null }).index; + }, + getXValue(id, i) { + const $$ = this; + return id in $$.data.xs && $$.data.xs[id] && isValue($$.data.xs[id][i]) ? $$.data.xs[id][i] : i; + }, + getOtherTargetXs() { + const $$ = this; + const idsForX = Object.keys($$.data.xs); + return idsForX.length ? $$.data.xs[idsForX[0]] : null; + }, + getOtherTargetX(index) { + const xs = this.getOtherTargetXs(); + return xs && index < xs.length ? xs[index] : null; + }, + addXs(xs) { + const $$ = this; + const { config } = $$; + Object.keys(xs).forEach((id) => { + config.data_xs[id] = xs[id]; + }); + }, + /** + * Determine if x axis is multiple + * @returns {boolean} true: multiple, false: single + * @private + */ + isMultipleX() { + return !this.config.axis_x_forceAsSingle && (notEmpty(this.config.data_xs) || this.hasType("bubble") || this.hasType("scatter")); + }, + addName(data) { + const $$ = this; + const { config } = $$; + let name; + if (data) { + name = config.data_names[data.id]; + data.name = name !== void 0 ? name : data.id; + } + return data; + }, + /** + * Get all values on given index + * @param {number} index Index + * @param {boolean} filterNull Filter nullish value + * @returns {Array} + * @private + */ + getAllValuesOnIndex(index, filterNull = false) { + const $$ = this; + let value = $$.filterTargetsToShow($$.data.targets).map((t) => $$.addName($$.getValueOnIndex(t.values, index))); + if (filterNull) { + value = value.filter((v) => v && "value" in v && isValue(v.value)); + } + return value; + }, + getValueOnIndex(values, index) { + const valueOnIndex = values.filter((v) => v.index === index); + return valueOnIndex.length ? valueOnIndex[0] : null; + }, + updateTargetX(targets, x) { + const $$ = this; + targets.forEach((t) => { + t.values.forEach((v, i) => { + v.x = $$.generateTargetX(x[i], t.id, i); + }); + $$.data.xs[t.id] = x; + }); + }, + updateTargetXs(targets, xs) { + const $$ = this; + targets.forEach((t) => { + xs[t.id] && $$.updateTargetX([t], xs[t.id]); + }); + }, + generateTargetX(rawX, id, index) { + const $$ = this; + const { axis } = $$; + let x = (axis == null ? void 0 : axis.isCategorized()) ? index : rawX || index; + if (axis == null ? void 0 : axis.isTimeSeries()) { + const fn = parseDate.bind($$); + x = rawX ? fn(rawX) : fn($$.getXValue(id, index)); + } else if ((axis == null ? void 0 : axis.isCustomX()) && !(axis == null ? void 0 : axis.isCategorized())) { + x = isValue(rawX) ? +rawX : $$.getXValue(id, index); + } + return x; + }, + updateXs(values) { + if (values.length) { + this.axis.xs = values.map((v) => v.x); + } + }, + getPrevX(i) { + const x = this.axis.xs[i - 1]; + return isDefined(x) ? x : null; + }, + getNextX(i) { + const x = this.axis.xs[i + 1]; + return isDefined(x) ? x : null; + }, + /** + * Get base value isAreaRangeType + * @param {object} data Data object + * @returns {number} + * @private + */ + getBaseValue(data) { + const $$ = this; + const { hasAxis } = $$.state; + let { value } = data; + if (value && hasAxis) { + if ($$.isAreaRangeType(data)) { + value = $$.getRangedData(data, "mid"); + } else if ($$.isBubbleZType(data)) { + value = $$.getBubbleZData(value, "y"); + } + } + return value; + }, + /** + * Get min/max value from the data + * @private + * @param {Array} data array data to be evaluated + * @returns {{min: {number}, max: {number}}} + */ + getMinMaxValue(data) { + const getBaseValue = this.getBaseValue.bind(this); + let min; + let max; + (data || this.data.targets.map((t) => t.values)).forEach((v, i) => { + const value = v.map(getBaseValue).filter(isNumber); + min = Math.min(i ? min : Infinity, ...value); + max = Math.max(i ? max : -Infinity, ...value); + }); + return { min, max }; + }, + /** + * Get the min/max data + * @private + * @returns {{min: Array, max: Array}} + */ + getMinMaxData() { + const $$ = this; + const cacheKey = KEY.dataMinMax; + let minMaxData = $$.cache.get(cacheKey); + if (!minMaxData) { + const data = $$.data.targets.map((t) => t.values); + const minMax = $$.getMinMaxValue(data); + let min = []; + let max = []; + data.forEach((v) => { + const minData = $$.getFilteredDataByValue(v, minMax.min); + const maxData = $$.getFilteredDataByValue(v, minMax.max); + if (minData.length) { + min = min.concat(minData); + } + if (maxData.length) { + max = max.concat(maxData); + } + }); + $$.cache.add(cacheKey, minMaxData = { min, max }); + } + return minMaxData; + }, + /** + * Get sum of data per index + * @private + * @returns {Array} + */ + getTotalPerIndex() { + const $$ = this; + const cacheKey = KEY.dataTotalPerIndex; + let sum = $$.cache.get(cacheKey); + if (($$.config.data_groups.length || $$.isStackNormalized()) && !sum) { + sum = []; + $$.data.targets.forEach((row) => { + row.values.forEach((v, i) => { + if (!sum[i]) { + sum[i] = 0; + } + sum[i] += isNumber(v.value) ? v.value : 0; + }); + }); + } + return sum; + }, + /** + * Get total data sum + * @param {boolean} subtractHidden Subtract hidden data from total + * @returns {number} + * @private + */ + getTotalDataSum(subtractHidden) { + const $$ = this; + const cacheKey = KEY.dataTotalSum; + let total = $$.cache.get(cacheKey); + if (!isNumber(total)) { + const sum = mergeArray($$.data.targets.map((t) => t.values)).map((v) => v.value); + total = sum.length ? sum.reduce((p, c) => p + c) : 0; + $$.cache.add(cacheKey, total); + } + if (subtractHidden) { + total -= $$.getHiddenTotalDataSum(); + } + return total; + }, + /** + * Get total hidden data sum + * @returns {number} + * @private + */ + getHiddenTotalDataSum() { + const $$ = this; + const { api, state: { hiddenTargetIds } } = $$; + let total = 0; + if (hiddenTargetIds.length) { + total = api.data.values.bind(api)(hiddenTargetIds).reduce((p, c) => p + c); + } + return total; + }, + /** + * Get filtered data by value + * @param {object} data Data + * @param {number} value Value to be filtered + * @returns {Array} filtered array data + * @private + */ + getFilteredDataByValue(data, value) { + return data.filter((t) => this.getBaseValue(t) === value); + }, + /** + * Return the max length of the data + * @returns {number} max data length + * @private + */ + getMaxDataCount() { + return Math.max(...this.data.targets.map((t) => t.values.length), 0); + }, + getMaxDataCountTarget() { + let target = this.filterTargetsToShow() || []; + const length = target.length; + const isInverted = this.config.axis_x_inverted; + if (length > 1) { + target = target.map((t) => t.values).reduce((a, b) => a.concat(b)).map((v) => v.x); + target = sortValue(getUnique(target)).map((x, index, array) => ({ + x, + index: isInverted ? array.length - index - 1 : index + })); + } else if (length) { + target = target[0].values.concat(); + } + return target; + }, + mapToIds(targets) { + return targets.map((d) => d.id); + }, + mapToTargetIds(ids) { + const $$ = this; + return ids ? isArray(ids) ? ids.concat() : [ids] : $$.mapToIds($$.data.targets); + }, + hasTarget(targets, id) { + const ids = this.mapToIds(targets); + for (let i = 0, val; val = ids[i]; i++) { + if (val === id) { + return true; + } + } + return false; + }, + isTargetToShow(targetId) { + return this.state.hiddenTargetIds.indexOf(targetId) < 0; + }, + isLegendToShow(targetId) { + return this.state.hiddenLegendIds.indexOf(targetId) < 0; + }, + filterTargetsToShow(targets) { + const $$ = this; + return (targets || $$.data.targets).filter((t) => $$.isTargetToShow(t.id)); + }, + mapTargetsToUniqueXs(targets) { + const $$ = this; + const { axis } = $$; + let xs = []; + if (targets == null ? void 0 : targets.length) { + xs = getUnique( + mergeArray(targets.map((t) => t.values.map((v) => +v.x))) + ); + xs = (axis == null ? void 0 : axis.isTimeSeries()) ? xs.map((x) => /* @__PURE__ */ new Date(+x)) : xs.map(Number); + } + return sortValue(xs); + }, + /** + * Add to the state target Ids + * @param {string} type State's prop name + * @param {Array|string} targetIds Target ids array + * @private + */ + addTargetIds(type, targetIds) { + const { state } = this; + const ids = isArray(targetIds) ? targetIds : [targetIds]; + ids.forEach((v) => { + state[type].indexOf(v) < 0 && state[type].push(v); + }); + }, + /** + * Remove from the state target Ids + * @param {string} type State's prop name + * @param {Array|string} targetIds Target ids array + * @private + */ + removeTargetIds(type, targetIds) { + const { state } = this; + const ids = isArray(targetIds) ? targetIds : [targetIds]; + ids.forEach((v) => { + const index = state[type].indexOf(v); + index >= 0 && state[type].splice(index, 1); + }); + }, + addHiddenTargetIds(targetIds) { + this.addTargetIds("hiddenTargetIds", targetIds); + }, + removeHiddenTargetIds(targetIds) { + this.removeTargetIds("hiddenTargetIds", targetIds); + }, + addHiddenLegendIds(targetIds) { + this.addTargetIds("hiddenLegendIds", targetIds); + }, + removeHiddenLegendIds(targetIds) { + this.removeTargetIds("hiddenLegendIds", targetIds); + }, + getValuesAsIdKeyed(targets) { + const $$ = this; + const { hasAxis } = $$.state; + const ys = {}; + const isMultipleX = $$.isMultipleX(); + const xs = isMultipleX ? $$.mapTargetsToUniqueXs(targets).map((v) => isString(v) ? v : +v) : null; + targets.forEach((t) => { + const data = []; + t.values.filter(({ value }) => isValue(value) || value === null).forEach((v) => { + let { value } = v; + if (value !== null && $$.isCandlestickType(v)) { + value = isArray(value) ? value.slice(0, 4) : [value.open, value.high, value.low, value.close]; + } + if (isArray(value)) { + data.push(...value); + } else if (isObject(value) && "high" in value) { + data.push(...Object.values(value)); + } else if ($$.isBubbleZType(v)) { + data.push(hasAxis && $$.getBubbleZData(value, "y")); + } else { + if (isMultipleX) { + data[$$.getIndexByX(v.x, xs)] = value; + } else { + data.push(value); + } + } + }); + ys[t.id] = data; + }); + return ys; + }, + checkValueInTargets(targets, checker) { + const ids = Object.keys(targets); + let values; + for (let i = 0; i < ids.length; i++) { + values = targets[ids[i]].values; + for (let j = 0; j < values.length; j++) { + if (checker(values[j].value)) { + return true; + } + } + } + return false; + }, + hasMultiTargets() { + return this.filterTargetsToShow().length > 1; + }, + hasNegativeValueInTargets(targets) { + return this.checkValueInTargets(targets, (v) => v < 0); + }, + hasPositiveValueInTargets(targets) { + return this.checkValueInTargets(targets, (v) => v > 0); + }, + /** + * Sort targets data + * Note: For stacked bar, will sort from the total sum of data series, not for each stacked bar + * @param {Array} targetsValue Target value + * @returns {Array} + * @private + */ + orderTargets(targetsValue) { + const $$ = this; + const targets = [...targetsValue]; + const fn = $$.getSortCompareFn(); + fn && targets.sort(fn); + return targets; + }, + /** + * Get data.order compare function + * @param {boolean} isReversed for Arc & Treemap type sort order needs to be reversed + * @returns {Function} compare function + * @private + */ + getSortCompareFn(isReversed = false) { + const $$ = this; + const { config } = $$; + const order = config.data_order; + const orderAsc = /asc/i.test(order); + const orderDesc = /desc/i.test(order); + let fn; + if (orderAsc || orderDesc) { + const reducer = (p, c) => p + Math.abs(c.value); + const sum = (v) => isNumber(v) ? v : "values" in v ? v.values.reduce(reducer, 0) : v.value; + fn = (t1, t2) => { + const t1Sum = sum(t1); + const t2Sum = sum(t2); + return isReversed ? orderAsc ? t1Sum - t2Sum : t2Sum - t1Sum : orderAsc ? t2Sum - t1Sum : t1Sum - t2Sum; + }; + } else if (isFunction(order)) { + fn = order.bind($$.api); + } + return fn || null; + }, + filterByX(targets, x) { + return mergeArray(targets.map((t) => t.values)).filter((v) => v.x - x === 0); + }, + filterRemoveNull(data) { + return data.filter((d) => isValue(this.getBaseValue(d))); + }, + filterByXDomain(targets, xDomain) { + return targets.map((t) => ({ + id: t.id, + id_org: t.id_org, + values: t.values.filter((v) => xDomain[0] <= v.x && v.x <= xDomain[1]) + })); + }, + hasDataLabel() { + const dataLabels = this.config.data_labels; + return isBoolean(dataLabels) && dataLabels || isObjectType(dataLabels) && notEmpty(dataLabels); + }, + /** + * Determine if has null value + * @param {Array} targets Data array to be evaluated + * @returns {boolean} + * @private + */ + hasNullDataValue(targets) { + return targets.some(({ value }) => value === null); + }, + /** + * Get data index from the event coodinates + * @param {Event} event Event object + * @returns {number} + * @private + */ + getDataIndexFromEvent(event) { + const $$ = this; + const { + $el, + config, + state: { hasRadar, inputType, eventReceiver: { coords, rect } } + } = $$; + let index; + if (hasRadar) { + let target = event.target; + if (/tspan/i.test(target.tagName)) { + target = target.parentNode; + } + const d = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(target).datum(); + index = d && Object.keys(d).length === 1 ? d.index : void 0; + } else { + const isRotated = config.axis_rotated; + const scrollPos = getScrollPosition($el.chart.node()); + const e = inputType === "touch" && event.changedTouches ? event.changedTouches[0] : event; + let point = isRotated ? e.clientY + scrollPos.y : e.clientX + scrollPos.x; + if (hasViewBox($el.svg)) { + const pos = [point, 0]; + isRotated && pos.reverse(); + point = getTransformCTM($el.svg.node(), ...pos)[isRotated ? "y" : "x"]; + } else { + point -= isRotated ? rect.top : rect.left; + } + index = findIndex( + coords, + point, + 0, + coords.length - 1, + isRotated + ); + } + return index; + }, + getDataLabelLength(min, max, key) { + const $$ = this; + const lengths = [0, 0]; + const paddingCoef = 1.3; + $$.$el.chart.select("svg").selectAll(".dummy").data([min, max]).enter().append("text").text((d) => $$.dataLabelFormat(d.id)(d)).each(function(d, i) { + lengths[i] = this.getBoundingClientRect()[key] * paddingCoef; + }).remove(); + return lengths; + }, + isNoneArc(d) { + return this.hasTarget(this.data.targets, d.id); + }, + isArc(d) { + return "data" in d && this.hasTarget(this.data.targets, d.data.id); + }, + findSameXOfValues(values, index) { + const targetX = values[index].x; + const sames = []; + let i; + for (i = index - 1; i >= 0; i--) { + if (targetX !== values[i].x) { + break; + } + sames.push(values[i]); + } + for (i = index; i < values.length; i++) { + if (targetX !== values[i].x) { + break; + } + sames.push(values[i]); + } + return sames; + }, + findClosestFromTargets(targets, pos) { + const $$ = this; + const candidates = targets.map((target) => $$.findClosest(target.values, pos)); + return $$.findClosest(candidates, pos); + }, + findClosest(values, pos) { + const $$ = this; + const { $el: { main } } = $$; + const data = values.filter((v) => v && isValue(v.value)); + let minDist; + let closest; + data.filter((v) => $$.isBarType(v.id) || $$.isCandlestickType(v.id)).forEach((v) => { + const selector = $$.isBarType(v.id) ? `.${$BAR.chartBar}.${$COMMON.target}${$$.getTargetSelectorSuffix(v.id)} .${$BAR.bar}-${v.index}` : `.${$CANDLESTICK.chartCandlestick}.${$COMMON.target}${$$.getTargetSelectorSuffix(v.id)} .${$CANDLESTICK.candlestick}-${v.index} path`; + if (!closest && $$.isWithinBar(main.select(selector).node())) { + closest = v; + } + }); + data.filter((v) => !$$.isBarType(v.id) && !$$.isCandlestickType(v.id)).forEach((v) => { + const d = $$.dist(v, pos); + minDist = $$.getPointSensitivity(v); + if (d < minDist) { + minDist = d; + closest = v; + } + }); + return closest; + }, + dist(data, pos) { + const $$ = this; + const { config: { axis_rotated: isRotated }, scale } = $$; + const xIndex = +isRotated; + const yIndex = +!isRotated; + const y = $$.circleY(data, data.index); + const x = (scale.zoom || scale.x)(data.x); + return Math.sqrt(Math.pow(x - pos[xIndex], 2) + Math.pow(y - pos[yIndex], 2)); + }, + /** + * Convert data for step type + * @param {Array} values Object data values + * @returns {Array} + * @private + */ + convertValuesToStep(values) { + const $$ = this; + const { axis, config } = $$; + const stepType = config.line_step_type; + const isCategorized = axis ? axis.isCategorized() : false; + const converted = isArray(values) ? values.concat() : [values]; + if (!(isCategorized || /step\-(after|before)/.test(stepType))) { + return values; + } + if (converted.length) { + const head = converted[0]; + const tail = converted[converted.length - 1]; + const { id } = head; + let { x } = head; + converted.unshift({ x: --x, value: head.value, id }); + isCategorized && stepType === "step-after" && converted.unshift({ x: --x, value: head.value, id }); + x = tail.x; + converted.push({ x: ++x, value: tail.value, id }); + isCategorized && stepType === "step-before" && converted.push({ x: ++x, value: tail.value, id }); + } + return converted; + }, + convertValuesToRange(values) { + const converted = isArray(values) ? values.concat() : [values]; + const ranges = []; + converted.forEach((range) => { + const { x, id } = range; + ranges.push({ + x, + id, + value: range.value[0] + }); + ranges.push({ + x, + id, + value: range.value[2] + }); + }); + return ranges; + }, + updateDataAttributes(name, attrs) { + const $$ = this; + const { config } = $$; + const current = config[`data_${name}`]; + if (isUndefined(attrs)) { + return current; + } + Object.keys(attrs).forEach((id) => { + current[id] = attrs[id]; + }); + $$.redraw({ withLegend: true }); + return current; + }, + getRangedData(d, key = "", type = "areaRange") { + const value = d == null ? void 0 : d.value; + if (isArray(value)) { + if (type === "bar") { + return value.reduce((a, c) => c - a); + } else { + const index = { + areaRange: ["high", "mid", "low"], + candlestick: ["open", "high", "low", "close", "volume"] + }[type].indexOf(key); + return index >= 0 && value ? value[index] : void 0; + } + } else if (value && key) { + return value[key]; + } + return value; + }, + /** + * Set ratio for grouped data + * @param {Array} data Data array + * @private + */ + setRatioForGroupedData(data) { + const $$ = this; + const { config } = $$; + if (config.data_groups.length && data.some((d) => $$.isGrouped(d.id))) { + const setter = (d) => $$.getRatio("index", d, true); + data.forEach((v) => { + "values" in v ? v.values.forEach(setter) : setter(v); + }); + } + }, + /** + * Get ratio value + * @param {string} type Ratio for given type + * @param {object} d Data value object + * @param {boolean} asPercent Convert the return as percent or not + * @returns {number} Ratio value + * @private + */ + getRatio(type, d, asPercent = false) { + const $$ = this; + const { config, state } = $$; + const api = $$.api; + let ratio = 0; + if (d && api.data.shown().length) { + ratio = d.ratio || d.value; + if (type === "arc") { + if ($$.pie.padAngle()()) { + ratio = d.value / $$.getTotalDataSum(true); + } else { + const gaugeArcLength = config.gauge_fullCircle ? $$.getArcLength() : $$.getStartingAngle() * -2; + const arcLength = $$.hasType("gauge") ? gaugeArcLength : Math.PI * 2; + ratio = (d.endAngle - d.startAngle) / arcLength; + } + } else if (type === "index") { + const dataValues = api.data.values.bind(api); + let total = this.getTotalPerIndex(); + if (state.hiddenTargetIds.length) { + let hiddenSum = dataValues(state.hiddenTargetIds, false); + if (hiddenSum.length) { + hiddenSum = hiddenSum.reduce( + (acc, curr) => acc.map((v, i) => (isNumber(v) ? v : 0) + curr[i]) + ); + total = total.map((v, i) => v - hiddenSum[i]); + } + } + const divisor = total[d.index]; + d.ratio = isNumber(d.value) && total && divisor ? d.value / divisor : 0; + ratio = d.ratio; + } else if (type === "radar") { + ratio = parseFloat(String(Math.max(d.value, 0))) / state.current.dataMax * config.radar_size_ratio; + } else if (type === "bar") { + const yScale = $$.getYScaleById.bind($$)(d.id); + const max = yScale.domain().reduce((a, c) => c - a); + ratio = max === 0 ? 0 : Math.abs( + $$.getRangedData(d, null, type) / max + ); + } else if (type === "treemap") { + ratio /= $$.getTotalDataSum(true); + } + } + return asPercent && ratio ? ratio * 100 : ratio; + }, + /** + * Sort data index to be aligned with x axis. + * @param {Array} tickValues Tick array values + * @private + */ + updateDataIndexByX(tickValues) { + const $$ = this; + const tickValueMap = tickValues.reduce((out, tick, index) => { + out[Number(tick.x)] = index; + return out; + }, {}); + $$.data.targets.forEach((t) => { + t.values.forEach((value, valueIndex) => { + let index = tickValueMap[Number(value.x)]; + if (index === void 0) { + index = valueIndex; + } + value.index = index; + }); + }); + }, + /** + * Determine if bubble has dimension data + * @param {object|Array} d data value + * @returns {boolean} + * @private + */ + isBubbleZType(d) { + const $$ = this; + return $$.isBubbleType(d) && (isObject(d.value) && ("z" in d.value || "y" in d.value) || isArray(d.value) && d.value.length >= 2); + }, + /** + * Determine if bar has ranged data + * @param {Array} d data value + * @returns {boolean} + * @private + */ + isBarRangeType(d) { + const $$ = this; + const { value } = d; + return $$.isBarType(d) && isArray(value) && value.length >= 2 && value.every((v) => isNumber(v)); + }, + /** + * Get data object by id + * @param {string} id data id + * @returns {object} + * @private + */ + getDataById(id) { + var _a; + const d = this.cache.get(id) || this.api.data(id); + return (_a = d == null ? void 0 : d[0]) != null ? _a : d; + } +}); + +;// ./src/ChartInternal/data/load.ts + + +function callDone(fn, resizeAfter = false) { + const $$ = this; + const { api } = $$; + resizeAfter && $$.api.flush(true); + fn == null ? void 0 : fn.call(api); +} +/* harmony default export */ var load = ({ + load(rawTargets, args) { + const $$ = this; + const { axis, data, org, scale } = $$; + const { append } = args; + const zoomState = { + domain: null, + currentDomain: null, + x: null + }; + let targets = rawTargets; + if (targets) { + if (args.filter) { + targets = targets.filter(args.filter); + } + if (args.type || args.types) { + targets.forEach((t) => { + var _a; + const type = ((_a = args.types) == null ? void 0 : _a[t.id]) || args.type; + $$.setTargetType(t.id, type); + }); + } + data.targets.forEach((d) => { + for (let i = 0; i < targets.length; i++) { + if (d.id === targets[i].id) { + d.values = append ? d.values.concat(targets[i].values) : targets[i].values; + targets.splice(i, 1); + break; + } + } + }); + data.targets = data.targets.concat(targets); + } + $$.updateTargets(data.targets); + if (scale.zoom) { + zoomState.x = axis.isCategorized() ? scale.x.orgScale() : (org.xScale || scale.x).copy(); + zoomState.domain = $$.getXDomain(data.targets); + zoomState.x.domain(zoomState.domain); + zoomState.currentDomain = $$.zoom.getDomain(); + if (!$$.withinRange(zoomState.currentDomain, void 0, zoomState.domain)) { + scale.x.domain(zoomState.domain); + scale.zoom = null; + $$.$el.eventRect.property("__zoom", null); + } + } + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true, + withLegend: true + }); + if (scale.zoom) { + org.xDomain = zoomState.domain; + org.xScale = zoomState.x; + if (axis.isCategorized()) { + zoomState.currentDomain = $$.getZoomDomainValue(zoomState.currentDomain); + org.xDomain = $$.getZoomDomainValue(org.xDomain); + org.xScale = zoomState.x.domain(org.xDomain); + } + $$.updateCurrentZoomTransform(zoomState.x, zoomState.currentDomain); + } else if (org.xScale) { + org.xScale.domain(org.xDomain); + } + $$.updateTypesElements(); + callDone.call($$, args.done, args.resizeAfter); + }, + loadFromArgs(args) { + const $$ = this; + if (!$$.config) { + return; + } + $$.cache.reset(); + $$.convertData(args, (d) => { + const data = args.data || d; + args.append && (data.__append__ = true); + data && $$.load($$.convertDataToTargets(data), args); + }); + }, + unload(rawTargetIds, customDoneCb) { + var _a; + const $$ = this; + const { state, $el, $T } = $$; + const hasLegendDefsPoint = !!((_a = $$.hasLegendDefsPoint) == null ? void 0 : _a.call($$)); + let done = customDoneCb; + let targetIds = rawTargetIds; + $$.cache.reset(); + if (!done) { + done = () => { + }; + } + targetIds = targetIds.filter((id) => $$.hasTarget($$.data.targets, id)); + if (!targetIds || targetIds.length === 0) { + done(); + return; + } + const targets = $el.svg.selectAll(targetIds.map((id) => $$.selectorTarget(id))); + $T(targets).style("opacity", "0").remove().call(endall, done); + targetIds.forEach((id) => { + var _a2; + const suffixId = $$.getTargetSelectorSuffix(id); + state.withoutFadeIn[id] = false; + if ($el.legend) { + $el.legend.selectAll(`.${$LEGEND.legendItem}${suffixId}`).remove(); + } + $$.data.targets = $$.data.targets.filter((t) => t.id !== id); + hasLegendDefsPoint && ((_a2 = $el.defs) == null ? void 0 : _a2.select(`#${$$.getDefsPointId(suffixId)}`).remove()); + }); + state.hasFunnel && $$.updateFunnel($$.data.targets); + state.hasTreemap && $$.updateTargetsForTreemap($$.data.targets); + $$.updateTypesElements(); + } +}); + +// EXTERNAL MODULE: external {"commonjs":"d3-drag","commonjs2":"d3-drag","amd":"d3-drag","root":"d3"} +var external_commonjs_d3_drag_commonjs2_d3_drag_amd_d3_drag_root_d3_ = __webpack_require__(6); +;// ./src/ChartInternal/interactions/interaction.ts + + + + + +/* harmony default export */ var interactions_interaction = ({ + /** + * Expand data shape/point + * @param {number} index Index number + * @param {string} id Data id + * @param {boolean} reset Reset expand state + * @private + */ + setExpand(index, id, reset) { + const $$ = this; + const { config, $el: { circle } } = $$; + circle && config.point_focus_expand_enabled && $$.expandCircles(index, id, reset); + $$.expandBarTypeShapes(true, index, id, reset); + }, + /** + * Expand/Unexpand bar type shapes + * @param {boolean} expand Expand or unexpand + * @param {number} i Shape index + * @param {string} id Data id + * @param {boolean} reset Reset expand style + * @private + */ + expandBarTypeShapes(expand = true, i, id, reset) { + const $$ = this; + ["bar", "candlestick"].filter((v) => $$.$el[v]).forEach((v) => { + reset && $$.$el[v].classed($COMMON.EXPANDED, false); + $$.getShapeByIndex(v, i, id).classed($COMMON.EXPANDED, expand); + }); + }, + /** + * Handle data.onover/out callback options + * @param {boolean} isOver Over or not + * @param {number|object} d data object + * @private + */ + setOverOut(isOver, d) { + const $$ = this; + const { config, state: { hasFunnel, hasRadar, hasTreemap }, $el: { main } } = $$; + const isArcishData = isObject(d); + if (isArcishData || d !== -1) { + const callback = config[isOver ? "data_onover" : "data_onout"].bind($$.api); + config.color_onover && $$.setOverColor(isOver, d, isArcishData); + if (isArcishData && "id") { + const suffix = $$.getTargetSelectorSuffix(d.id); + const selector = hasFunnel || hasTreemap ? `${$COMMON.target + suffix} .${$SHAPE.shape}` : $ARC.arc + suffix; + callback(d, main.select(`.${selector}`).node()); + } else if (!config.tooltip_grouped) { + const last = $$.cache.get(KEY.setOverOut) || []; + const shapesAtIndex = main.selectAll(`.${$SHAPE.shape}-${d}`).filter(function(d2) { + return $$.isWithinShape(this, d2); + }); + const shape = shapesAtIndex.filter(function() { + return last.every((v) => v !== this); + }); + if (!isOver || shapesAtIndex.empty() || last.length === shape.size() && shape.nodes().every((v, i) => v !== last[i])) { + while (last.length) { + const target = last.pop(); + config.data_onout.bind($$.api)((0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(target).datum(), target); + } + } + shape.each(function() { + if (isOver) { + callback((0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this).datum(), this); + last.push(this); + } + }); + $$.cache.add(KEY.setOverOut, last); + } else { + if (isOver) { + hasRadar && $$.isPointFocusOnly() ? $$.showCircleFocus($$.getAllValuesOnIndex(d, true)) : $$.setExpand(d, null, true); + } + !$$.isMultipleX() && main.selectAll(`.${$SHAPE.shape}-${d}`).each(function(d2) { + callback(d2, this); + }); + } + } + }, + /** + * Call data.onover/out callback for touch event + * @param {number|object} d target index or data object for Arc type + * @private + */ + callOverOutForTouch(d) { + const $$ = this; + const last = $$.cache.get(KEY.callOverOutForTouch); + if (isObject(d) && last ? d.id !== last.id : d !== last) { + (last || isNumber(last)) && $$.setOverOut(false, last); + (d || isNumber(d)) && $$.setOverOut(true, d); + $$.cache.add(KEY.callOverOutForTouch, d); + } + }, + /** + * Return draggable selection function + * @returns {Function} + * @private + */ + getDraggableSelection() { + const $$ = this; + const { config, state } = $$; + return config.interaction_enabled && config.data_selection_draggable && $$.drag ? (0,external_commonjs_d3_drag_commonjs2_d3_drag_amd_d3_drag_root_d3_.drag)().on("drag", function(event) { + state.event = event; + $$.drag(getPointer(event, this)); + }).on("start", function(event) { + state.event = event; + $$.dragstart(getPointer(event, this)); + }).on("end", (event) => { + state.event = event; + $$.dragend(); + }) : () => { + }; + }, + /** + * Dispatch a mouse event. + * @private + * @param {string} type event type + * @param {number} index Index of eventRect + * @param {Array} mouse x and y coordinate value + */ + dispatchEvent(type, index, mouse) { + var _a, _b; + const $$ = this; + const { + config, + state: { + eventReceiver, + hasAxis, + hasFunnel, + hasRadar, + hasTreemap + }, + $el: { eventRect, funnel, radar, svg, treemap } + } = $$; + let element = (_b = (hasFunnel || hasTreemap) && eventReceiver.rect || hasRadar && radar.axes.select(`.${$AXIS.axis}-${index} text`) || (eventRect || ((_a = $$.getArcElementByIdOrIndex) == null ? void 0 : _a.call($$, index)))) == null ? void 0 : _b.node(); + if (element) { + const isMultipleX = $$.isMultipleX(); + const isRotated = config.axis_rotated; + let { width, left, top } = element.getBoundingClientRect(); + if (hasAxis && !hasRadar && !isMultipleX) { + const coords = eventReceiver.coords[index]; + if (coords) { + width = coords.w; + left += coords.x; + top += coords.y; + } else { + width = 0; + left = 0; + top = 0; + } + } + let x = left + (mouse ? mouse[0] : 0) + (isMultipleX || isRotated ? 0 : width / 2); + let y = top + (mouse ? mouse[1] : 0) + (isRotated ? 4 : 0); + if (hasViewBox(svg)) { + const ctm = getTransformCTM($$.$el.svg.node(), x, y, false); + x = ctm.x; + y = ctm.y; + } + const params = { + screenX: x, + screenY: y, + clientX: x, + clientY: y, + bubbles: hasRadar + // radar type needs to bubble up event + }; + if (hasFunnel || hasTreemap) { + element = (funnel != null ? funnel : treemap).node(); + } + emulateEvent[/^(mouse|click)/.test(type) ? "mouse" : "touch"]( + element, + type, + params + ); + } + }, + setDragStatus(isDragging) { + this.state.dragging = isDragging; + }, + /** + * Unbind zoom events + * @private + */ + unbindZoomEvent() { + const $$ = this; + const { $el: { eventRect, zoomResetBtn } } = $$; + eventRect == null ? void 0 : eventRect.on(".zoom wheel.zoom .drag", null); + zoomResetBtn == null ? void 0 : zoomResetBtn.on("click", null).style("display", "none"); + }, + /** + * Unbind all attached events + * @private + */ + unbindAllEvents() { + var _a; + const $$ = this; + const { $el: { arcs, eventRect, legend, region, svg, treemap }, brush } = $$; + const list = [ + "wheel", + "click", + "mouseover", + "mousemove", + "mouseout", + "touchstart", + "touchmove", + "touchend", + "touchstart.eventRect", + "touchmove.eventRect", + "touchend.eventRect", + ".brush", + ".drag", + ".zoom", + "wheel.zoom", + "dblclick.zoom" + ].join(" "); + [ + svg, + eventRect, + region == null ? void 0 : region.list, + brush == null ? void 0 : brush.getSelection(), + arcs == null ? void 0 : arcs.selectAll("path"), + legend == null ? void 0 : legend.selectAll("g"), + treemap + ].forEach((v) => v == null ? void 0 : v.on(list, null)); + (_a = $$.unbindZoomEvent) == null ? void 0 : _a.call($$); + } +}); + +;// ./src/ChartInternal/internals/category.ts +/* harmony default export */ var category = ({ + /** + * Category Name + * @param {number} i Index number + * @returns {string} category Name + * @private + */ + categoryName(i) { + var _a; + const { axis_x_categories } = this.config; + return (_a = axis_x_categories == null ? void 0 : axis_x_categories[i]) != null ? _a : i; + } +}); + +;// ./src/ChartInternal/internals/class.ts + +/* harmony default export */ var internals_class = ({ + generateClass(prefix, targetId) { + return ` ${prefix} ${prefix + this.getTargetSelectorSuffix(targetId)}`; + }, + /** + * Get class string + * @param {string} type Shape type + * @param {boolean} withShape Get with shape prefix + * @returns {string} Class string + * @private + */ + getClass(type, withShape) { + const isPlural = /s$/.test(type); + const useIdKey = /^(area|arc|line|funnel|treemap)s?$/.test(type); + const key = isPlural ? "id" : "index"; + return (d) => { + const data = d.data || d; + const result = (withShape ? this.generateClass(classes[isPlural ? "shapes" : "shape"], data[key]) : "") + this.generateClass(classes[type], data[useIdKey ? "id" : key]); + return result.trim(); + }; + }, + /** + * Get chart class string + * @param {string} type Shape type + * @returns {string} Class string + * @private + */ + getChartClass(type) { + return (d) => classes[`chart${type}`] + this.classTarget((d.data ? d.data : d).id); + }, + generateExtraLineClass() { + const $$ = this; + const classes = $$.config.line_classes || []; + const ids = []; + return function(d) { + var _a; + const id = d.id || ((_a = d.data) == null ? void 0 : _a.id) || d; + if (ids.indexOf(id) < 0) { + ids.push(id); + } + return classes[ids.indexOf(id) % classes.length]; + }; + }, + classRegion(d, i) { + return `${this.generateClass(classes.region, i)} ${"class" in d ? d.class : ""}`; + }, + classTarget(id) { + const additionalClassSuffix = this.config.data_classes[id]; + let additionalClass = ""; + if (additionalClassSuffix) { + additionalClass = ` ${classes.target}-${additionalClassSuffix}`; + } + return this.generateClass(classes.target, id) + additionalClass; + }, + classFocus(d) { + return this.classFocused(d) + this.classDefocused(d); + }, + classFocused(d) { + return ` ${this.state.focusedTargetIds.indexOf(d.id) >= 0 ? classes.focused : ""}`; + }, + classDefocused(d) { + return ` ${this.state.defocusedTargetIds.indexOf(d.id) >= 0 ? classes.defocused : ""}`; + }, + getTargetSelectorSuffix(targetId) { + const targetStr = targetId || targetId === 0 ? `-${targetId}` : ""; + return targetStr.replace(/[\x00-\x20\x7F-\xA0\s?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\]/g, "-"); + }, + selectorTarget(id, prefix = "", postfix = "") { + const target = this.getTargetSelectorSuffix(id); + return `${prefix}.${classes.target + target} ${postfix}, ${prefix}.${classes.circles + target} ${postfix}`; + }, + selectorTargets(idsValue, prefix) { + const ids = idsValue || []; + return ids.length ? ids.map((id) => this.selectorTarget(id, prefix)) : null; + }, + selectorLegend(id) { + return `.${classes.legendItem + this.getTargetSelectorSuffix(id)}`; + }, + selectorLegends(ids) { + return (ids == null ? void 0 : ids.length) ? ids.map((id) => this.selectorLegend(id)) : null; + } +}); + +// EXTERNAL MODULE: external {"commonjs":"d3-scale","commonjs2":"d3-scale","amd":"d3-scale","root":"d3"} +var external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_ = __webpack_require__(7); +;// ./src/ChartInternal/internals/color.ts + + + + + + +const colorizePattern = (pattern, color, id) => { + const node = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(pattern.cloneNode(true)); + node.attr("id", id).insert("rect", ":first-child").attr("width", node.attr("width")).attr("height", node.attr("height")).style("fill", color); + return { + id, + node: node.node() + }; +}; +function getColorFromCss(element) { + const cacheKey = KEY.colorPattern; + const { body } = browser_doc; + let pattern = body[cacheKey]; + if (!pattern) { + const delimiter = ";"; + const content = element.classed($COLOR.colorPattern, true).style("background-image"); + element.classed($COLOR.colorPattern, false); + if (content.indexOf(delimiter) > -1) { + pattern = content.replace(/url[^#]*|["'()]|(\s|%20)/g, "").split(delimiter).map((v) => v.trim().replace(/[\"'\s]/g, "")).filter(Boolean); + body[cacheKey] = pattern; + } + } + return pattern; +} +const schemeCategory10 = [ + "#1f77b4", + "#ff7f0e", + "#2ca02c", + "#d62728", + "#9467bd", + "#8c564b", + "#e377c2", + "#7f7f7f", + "#bcbd22", + "#17becf" +]; +/* harmony default export */ var internals_color = ({ + generateColor() { + const $$ = this; + const { $el, config } = $$; + const colors = config.data_colors; + const callback = config.data_color; + const ids = []; + let pattern = notEmpty(config.color_pattern) ? config.color_pattern : (0,external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_.scaleOrdinal)(getColorFromCss($el.chart) || schemeCategory10).range(); + const originalColorPattern = pattern; + if (isFunction(config.color_tiles)) { + const tiles = config.color_tiles.bind($$.api)(); + const colorizedPatterns = pattern.map((p, index) => { + const color = p.replace(/[#\(\)\s,]/g, ""); + const id = `${$$.state.datetimeId}-pattern-${color}-${index}`; + return colorizePattern(tiles[index % tiles.length], p, id); + }); + pattern = colorizedPatterns.map((p) => `url(#${p.id})`); + $$.patterns = colorizedPatterns; + } + return function(d) { + var _a; + const id = d.id || ((_a = d.data) == null ? void 0 : _a.id) || d; + const isLine = $$.isTypeOf(id, ["line", "spline", "step"]) || !config.data_types[id]; + let color; + if (isFunction(colors[id])) { + color = colors[id].bind($$.api)(d); + } else if (colors[id]) { + color = colors[id]; + } else { + if (ids.indexOf(id) < 0) { + ids.push(id); + } + color = isLine ? originalColorPattern[ids.indexOf(id) % originalColorPattern.length] : pattern[ids.indexOf(id) % pattern.length]; + colors[id] = color; + } + return isFunction(callback) ? callback.bind($$.api)(color, d) : color; + }; + }, + generateLevelColor() { + const $$ = this; + const { config } = $$; + const colors = config.color_pattern; + const threshold = config.color_threshold; + const asValue = threshold.unit === "value"; + const max = threshold.max || 100; + const values = threshold.values && threshold.values.length ? threshold.values : []; + return notEmpty(threshold) ? function(value) { + const v = asValue ? value : value * 100 / max; + let color = colors[colors.length - 1]; + for (let i = 0, l = values.length; i < l; i++) { + if (v <= values[i]) { + color = colors[i]; + break; + } + } + return color; + } : null; + }, + /** + * Append data backgound color filter definition + * @param {string|object} color Color string + * @param {object} attr filter attribute + * @private + */ + generateTextBGColorFilter(color, attr = { + x: 0, + y: 0, + width: 1, + height: 1 + }) { + const $$ = this; + const { $el, state } = $$; + if (color) { + let ids = []; + if (isString(color)) { + ids.push(""); + } else if (isObject(color)) { + ids = Object.keys(color); + } + ids.forEach((v) => { + const id = `${state.datetimeId}-labels-bg${$$.getTargetSelectorSuffix(v)}${isString(color) ? $$.getTargetSelectorSuffix(color) : ""}`; + $el.defs.append("filter").attr("x", attr.x).attr("y", attr.y).attr("width", attr.width).attr("height", attr.height).attr("id", id).html( + `<feFlood flood-color="${v === "" ? color : color[v]}" /> + <feComposite in="SourceGraphic" />` + ); + }); + } + }, + /** + * Get data gradient color url + * @param {string} id Data id + * @returns {string} + * @private + */ + getGradienColortUrl(id) { + return `url(#${this.state.datetimeId}-gradient${this.getTargetSelectorSuffix(id)})`; + }, + /** + * Update linear/radial gradient definition + * - linear: area & bar only + * - radial: type which has data points only + * @private + */ + updateLinearGradient() { + const $$ = this; + const { config, data: { targets }, state: { datetimeId }, $el: { defs } } = $$; + targets.forEach((d) => { + const id = `${datetimeId}-gradient${$$.getTargetSelectorSuffix(d.id)}`; + const radialGradient = $$.hasPointType() && config.point_radialGradient; + const supportedType = $$.isAreaType(d) && "area" || $$.isBarType(d) && "bar"; + if ((radialGradient || supportedType) && defs.select(`#${id}`).empty()) { + const color = $$.color(d); + const gradient = { + defs: null, + stops: [] + }; + if (radialGradient) { + const { + cx = 0.3, + cy = 0.3, + r = 0.7, + stops = [[0.1, color, 0], [0.9, color, 1]] + } = radialGradient; + gradient.stops = stops; + gradient.defs = defs.append("radialGradient").attr("id", `${id}`).attr("cx", cx).attr("cy", cy).attr("r", r); + } else { + const isRotated = config.axis_rotated; + const { + x = isRotated ? [1, 0] : [0, 0], + y = isRotated ? [0, 0] : [0, 1], + stops = [[0, color, 1], [1, color, 0]] + } = config[`${supportedType}_linearGradient`]; + gradient.stops = stops; + gradient.defs = defs.append("linearGradient").attr("id", `${id}`).attr("x1", x[0]).attr("x2", x[1]).attr("y1", y[0]).attr("y2", y[1]); + } + gradient.stops.forEach((v) => { + const [offset, stopColor, stopOpacity] = v; + const colorValue = isFunction(stopColor) ? stopColor.bind($$.api)(d.id) : stopColor; + gradient.defs && gradient.defs.append("stop").attr("offset", offset).attr("stop-color", colorValue || color).attr("stop-opacity", stopOpacity); + }); + } + }); + }, + /** + * Set the data over color. + * When is out, will restate in its previous color value + * @param {boolean} isOver true: set overed color, false: restore + * @param {number|object} d target index or data object for Arc type + * @private + */ + setOverColor(isOver, d) { + const $$ = this; + const { config, $el: { main } } = $$; + const onover = config.color_onover; + let color = isOver ? onover : $$.color; + if (isObject(color)) { + color = ({ id }) => id in onover ? onover[id] : $$.color(id); + } else if (isString(color)) { + color = () => onover; + } else if (isFunction(onover)) { + color = color.bind($$.api); + } + main.selectAll( + isObject(d) ? ( + // when is Arc type + `.${$ARC.arc}${$$.getTargetSelectorSuffix(d.id)}` + ) : `.${$SHAPE.shape}-${d}` + ).style("fill", color); + } +}); + +;// ./src/ChartInternal/internals/domain.ts + + +/* harmony default export */ var domain = ({ + getYDomainMinMax(targets, type) { + const $$ = this; + const { axis, config } = $$; + const isMin = type === "min"; + const dataGroups = config.data_groups; + const ids = $$.mapToIds(targets); + const ys = $$.getValuesAsIdKeyed(targets); + if (dataGroups.length > 0) { + const hasValue = $$[`has${isMin ? "Negative" : "Positive"}ValueInTargets`](targets); + dataGroups.forEach((groupIds) => { + const idsInGroup = groupIds.filter((v) => ids.indexOf(v) >= 0); + if (idsInGroup.length) { + const baseId = idsInGroup[0]; + const baseAxisId = axis.getId(baseId); + if (hasValue && ys[baseId]) { + ys[baseId] = ys[baseId].map((v) => (isMin ? v < 0 : v > 0) ? v : 0); + } + idsInGroup.filter((v, i) => i > 0).forEach((id) => { + if (ys[id]) { + const axisId = axis.getId(id); + ys[id].forEach((v, i) => { + const val = +v; + const meetCondition = isMin ? val > 0 : val < 0; + if (axisId === baseAxisId && !(hasValue && meetCondition)) { + ys[baseId][i] += val; + } + }); + } + }); + } + }); + } + return getMinMax(type, Object.keys(ys).map((key) => getMinMax(type, ys[key]))); + }, + /** + * Check if hidden targets bound to the given axis id + * @param {string} id ID to be checked + * @returns {boolean} + * @private + */ + isHiddenTargetWithYDomain(id) { + const $$ = this; + return $$.state.hiddenTargetIds.some((v) => $$.axis.getId(v) === id); + }, + getYDomain(targets, axisId, xDomain) { + const $$ = this; + const { axis, config, scale } = $$; + const pfx = `axis_${axisId}`; + if ($$.isStackNormalized()) { + return [0, 100]; + } + const isLog = (scale == null ? void 0 : scale[axisId]) && scale[axisId].type === "log"; + const targetsByAxisId = targets.filter((t) => axis.getId(t.id) === axisId); + const yTargets = xDomain ? $$.filterByXDomain(targetsByAxisId, xDomain) : targetsByAxisId; + if (yTargets.length === 0) { + if ($$.isHiddenTargetWithYDomain(axisId)) { + return scale[axisId].domain(); + } else { + return axisId === "y2" ? scale.y.domain() : ( + // When all data bounds to y2, y Axis domain is called prior y2. + // So, it needs to call to get y2 domain here + $$.getYDomain(targets, "y2", xDomain) + ); + } + } + const yMin = config[`${pfx}_min`]; + const yMax = config[`${pfx}_max`]; + const center = config[`${pfx}_center`]; + const isInverted = config[`${pfx}_inverted`]; + const showHorizontalDataLabel = $$.hasDataLabel() && config.axis_rotated; + const showVerticalDataLabel = $$.hasDataLabel() && !config.axis_rotated; + let yDomainMin = $$.getYDomainMinMax(yTargets, "min"); + let yDomainMax = $$.getYDomainMinMax(yTargets, "max"); + let isZeroBased = [TYPE.BAR, TYPE.BUBBLE, TYPE.SCATTER, ...TYPE_BY_CATEGORY.Line].some((v) => { + const type = v.indexOf("area") > -1 ? "area" : v; + return $$.hasType(v, yTargets, true) && config[`${type}_zerobased`]; + }); + yDomainMin = isValue(yMin) ? yMin : isValue(yMax) ? yDomainMin <= yMax ? yDomainMin : yMax - 10 : yDomainMin; + yDomainMax = isValue(yMax) ? yMax : isValue(yMin) ? yMin <= yDomainMax ? yDomainMax : yMin + 10 : yDomainMax; + if (isNaN(yDomainMin)) { + yDomainMin = 0; + } + if (isNaN(yDomainMax)) { + yDomainMax = yDomainMin; + } + if (yDomainMin === yDomainMax) { + yDomainMin < 0 ? yDomainMax = 0 : yDomainMin = 0; + } + const isAllPositive = yDomainMin >= 0 && yDomainMax >= 0; + const isAllNegative = yDomainMin <= 0 && yDomainMax <= 0; + if (isValue(yMin) && isAllPositive || isValue(yMax) && isAllNegative) { + isZeroBased = false; + } + if (isZeroBased) { + isAllPositive && (yDomainMin = 0); + isAllNegative && (yDomainMax = 0); + } + const domainLength = Math.abs(yDomainMax - yDomainMin); + let padding = { top: domainLength * 0.1, bottom: domainLength * 0.1 }; + if (isDefined(center)) { + const yDomainAbs = Math.max(Math.abs(yDomainMin), Math.abs(yDomainMax)); + yDomainMax = center + yDomainAbs; + yDomainMin = center - yDomainAbs; + } + if (showHorizontalDataLabel) { + const diff = diffDomain(scale.y.range()); + const ratio = $$.getDataLabelLength(yDomainMin, yDomainMax, "width").map((v) => v / diff); + ["bottom", "top"].forEach((v, i) => { + padding[v] += domainLength * (ratio[i] / (1 - ratio[0] - ratio[1])); + }); + } else if (showVerticalDataLabel) { + const lengths = $$.getDataLabelLength(yDomainMin, yDomainMax, "height"); + ["bottom", "top"].forEach((v, i) => { + padding[v] += $$.convertPixelToScale("y", lengths[i], domainLength); + }); + } + padding = $$.getResettedPadding(padding); + const p = config[`${pfx}_padding`]; + if (notEmpty(p)) { + ["bottom", "top"].forEach((v) => { + padding[v] = axis.getPadding(p, v, padding[v], domainLength); + }); + } + if (isZeroBased) { + isAllPositive && (padding.bottom = yDomainMin); + isAllNegative && (padding.top = -yDomainMax); + } + const domain = isLog ? [yDomainMin, yDomainMax].map((v) => v < 0 ? 0 : v) : [yDomainMin - padding.bottom, yDomainMax + padding.top]; + return isInverted ? domain.reverse() : domain; + }, + getXDomainMinMax(targets, type) { + var _a; + const $$ = this; + const configValue = $$.config[`axis_x_${type}`]; + const dataValue = getMinMax( + type, + targets.map((t) => getMinMax(type, t.values.map((v) => v.x))) + ); + let value = isObject(configValue) ? configValue.value : configValue; + value = isDefined(value) && ((_a = $$.axis) == null ? void 0 : _a.isTimeSeries()) ? parseDate.bind(this)(value) : value; + if (isObject(configValue) && configValue.fit && (type === "min" && value < dataValue || type === "max" && value > dataValue)) { + value = void 0; + } + return isDefined(value) ? value : dataValue; + }, + /** + * Get x Axis padding + * @param {Array} domain x Axis domain + * @param {number} tickCount Tick count + * @returns {object} Padding object values with 'left' & 'right' key + * @private + */ + getXDomainPadding(domain, tickCount) { + const $$ = this; + const { axis, config } = $$; + const padding = config.axis_x_padding; + const isTimeSeriesTickCount = axis.isTimeSeries() && tickCount; + const diff = diffDomain(domain); + let defaultValue; + if (axis.isCategorized() || isTimeSeriesTickCount) { + defaultValue = 0; + } else if ($$.hasType("bar")) { + const maxDataCount = $$.getMaxDataCount(); + defaultValue = maxDataCount > 1 ? diff / (maxDataCount - 1) / 2 : 0.5; + } else { + defaultValue = $$.getResettedPadding(diff * 0.01); + } + let { left = defaultValue, right = defaultValue } = isNumber(padding) ? { left: padding, right: padding } : padding; + if (padding.unit === "px") { + const domainLength = Math.abs(diff + diff * 0.2); + left = axis.getPadding(padding, "left", defaultValue, domainLength); + right = axis.getPadding(padding, "right", defaultValue, domainLength); + } else { + const range = diff + left + right; + if (isTimeSeriesTickCount && range) { + const relativeTickWidth = diff / tickCount / range; + left = left / range / relativeTickWidth; + right = right / range / relativeTickWidth; + } + } + return { left, right }; + }, + /** + * Get x Axis domain + * @param {Array} targets targets + * @returns {Array} x Axis domain + * @private + */ + getXDomain(targets) { + const $$ = this; + const { axis, config, scale: { x } } = $$; + const isInverted = config.axis_x_inverted; + const domain = [ + $$.getXDomainMinMax(targets, "min"), + $$.getXDomainMinMax(targets, "max") + ]; + let [min = 0, max = 0] = domain; + if (x.type !== "log") { + const isCategorized = axis.isCategorized(); + const isTimeSeries = axis.isTimeSeries(); + const padding = $$.getXDomainPadding(domain); + let [firstX, lastX] = domain; + if (firstX - lastX === 0 && !isCategorized) { + if (isTimeSeries) { + firstX = new Date(firstX.getTime() * 0.5); + lastX = new Date(lastX.getTime() * 1.5); + } else { + firstX = firstX === 0 ? 1 : firstX * 0.5; + lastX = lastX === 0 ? -1 : lastX * 1.5; + } + } + if (firstX || firstX === 0) { + min = isTimeSeries ? new Date(firstX.getTime() - padding.left) : firstX - padding.left; + } + if (lastX || lastX === 0) { + max = isTimeSeries ? new Date(lastX.getTime() + padding.right) : lastX + padding.right; + } + } + return isInverted ? [max, min] : [min, max]; + }, + updateXDomain(targets, withUpdateXDomain, withUpdateOrgXDomain, withTrim, domain) { + var _a; + const $$ = this; + const { config, org, scale: { x, subX } } = $$; + const zoomEnabled = config.zoom_enabled; + if (withUpdateOrgXDomain) { + x.domain(domain || sortValue($$.getXDomain(targets), !config.axis_x_inverted)); + org.xDomain = x.domain(); + subX.domain(x.domain()); + (_a = $$.brush) == null ? void 0 : _a.scale(subX); + } + if (withUpdateXDomain) { + const domainValue = domain || (!$$.brush || brushEmpty($$)) ? org.xDomain : getBrushSelection($$).map(subX.invert); + x.domain(domainValue); + } + if (withUpdateOrgXDomain || withUpdateXDomain) { + zoomEnabled && $$.zoom.updateScaleExtent(); + } + withTrim && x.domain($$.trimXDomain(x.orgDomain())); + return x.domain(); + }, + /** + * Trim x domain when given domain surpasses the range + * @param {Array} domain Domain value + * @returns {Array} Trimed domain if given domain is out of range + * @private + */ + trimXDomain(domain) { + const $$ = this; + const isInverted = $$.config.axis_x_inverted; + const zoomDomain = $$.getZoomDomain(); + const [min, max] = zoomDomain; + if (isInverted ? domain[0] >= min : domain[0] <= min) { + domain[1] = +domain[1] + (min - domain[0]); + domain[0] = min; + } + if (isInverted ? domain[1] <= max : domain[1] >= max) { + domain[0] = +domain[0] - (domain[1] - max); + domain[1] = max; + } + return domain; + }, + /** + * Get subchart/zoom domain + * @param {string} type "subX" or "zoom" + * @param {boolean} getCurrent Get current domain if true + * @returns {Array} zoom domain + * @private + */ + getZoomDomain(type = "zoom", getCurrent = false) { + const $$ = this; + const { config, scale, org } = $$; + let [min, max] = getCurrent && scale[type] ? scale[type].domain() : org.xDomain; + if (type === "zoom") { + if (isDefined(config.zoom_x_min)) { + min = getMinMax("min", [min, config.zoom_x_min]); + } + if (isDefined(config.zoom_x_max)) { + max = getMinMax("max", [max, config.zoom_x_max]); + } + } + return [min, max]; + }, + /** + * Return zoom domain from given domain + * - 'category' type need to add offset to original value + * @param {Array} domainValue domain value + * @returns {Array} Zoom domain + * @private + */ + getZoomDomainValue(domainValue) { + const $$ = this; + const { config, axis } = $$; + if (axis.isCategorized() && Array.isArray(domainValue)) { + const isInverted = config.axis_x_inverted; + const domain = domainValue.map( + (v, i) => Number(v) + (i === 0 ? +isInverted : +!isInverted) + ); + return domain; + } + return domainValue; + }, + /** + * Converts pixels to axis' scale values + * @param {string} type Axis type + * @param {number} pixels Pixels + * @param {number} domainLength Domain length + * @returns {number} + * @private + */ + convertPixelToScale(type, pixels, domainLength) { + const $$ = this; + const { config, state } = $$; + const isRotated = config.axis_rotated; + let length; + if (type === "x") { + length = isRotated ? "height" : "width"; + } else { + length = isRotated ? "width" : "height"; + } + return domainLength * (pixels / state[length]); + }, + /** + * Check if the given domain is within subchart/zoom range + * @param {Array} domain Target domain value + * @param {Array} current Current subchart/zoom domain value + * @param {Array} range subchart/zoom range value + * @returns {boolean} + * @private + */ + withinRange(domain, current = [0, 0], range) { + const $$ = this; + const isInverted = $$.config.axis_x_inverted; + const [min, max] = range; + if (Array.isArray(domain)) { + const target = [...domain]; + isInverted && target.reverse(); + if (target[0] < target[1]) { + return domain.every( + (v, i) => (i === 0 ? isInverted ? +v <= min : +v >= min : isInverted ? +v >= max : +v <= max) && !domain.every((v2, i2) => v2 === current[i2]) + ); + } + } + return false; + } +}); + +;// ./src/ChartInternal/internals/format.ts + +function getFormat($$, typeValue, v) { + const { config } = $$; + const type = `axis_${typeValue}_tick_format`; + const format = config[type] ? config[type] : $$.defaultValueFormat; + return format.call($$.api, v); +} +/* harmony default export */ var format = ({ + yFormat(v) { + return getFormat(this, "y", v); + }, + y2Format(v) { + return getFormat(this, "y2", v); + }, + /** + * Get default value format function + * @returns {Function} formatter function + * @private + */ + getDefaultValueFormat() { + const $$ = this; + const { defaultArcValueFormat, yFormat, y2Format } = $$; + const hasArc = $$.hasArcType(null, ["gauge", "polar", "radar"]); + return function(v, ratio, id) { + const format = hasArc ? defaultArcValueFormat : $$.axis && $$.axis.getId(id) === "y2" ? y2Format : yFormat; + return format.call($$, v, ratio); + }; + }, + defaultValueFormat(v) { + return isArray(v) ? v.join("~") : isValue(v) ? +v : ""; + }, + defaultArcValueFormat(v, ratio) { + return `${(ratio * 100).toFixed(1)}%`; + }, + defaultPolarValueFormat(v) { + return `${v}`; + }, + dataLabelFormat(targetId) { + const $$ = this; + const dataLabels = $$.config.data_labels; + const defaultFormat = (v) => { + const delimiter = "~"; + let res = v; + if (isArray(v)) { + res = v.join(delimiter); + } else if (isObject(v)) { + res = Object.values(v).join(delimiter); + } + return res; + }; + let format = defaultFormat; + if (isFunction(dataLabels.format)) { + format = dataLabels.format; + } else if (isObjectType(dataLabels.format)) { + if (dataLabels.format[targetId]) { + format = dataLabels.format[targetId] === true ? defaultFormat : dataLabels.format[targetId]; + } else { + format = () => ""; + } + } + return format.bind($$.api); + } +}); + +;// ./src/ChartInternal/internals/legend.ts + + + + + +function getLegendColor(id) { + const $$ = this; + const data = $$.getDataById(id); + const color = $$.levelColor ? $$.levelColor(data.values[0].value) : $$.color(data); + return color; +} +function getFormattedText(id, formatted = true) { + var _a; + const { config } = this; + let text = (_a = config.data_names[id]) != null ? _a : id; + if (formatted && isFunction(config.legend_format)) { + text = config.legend_format(text, id !== text ? id : void 0); + } + return text; +} +/* harmony default export */ var internals_legend = ({ + /** + * Initialize the legend. + * @private + */ + initLegend() { + const $$ = this; + const { config, $el } = $$; + $$.legendItemTextBox = {}; + $$.state.legendHasRendered = false; + if (config.legend_show) { + if (!config.legend_contents_bindto) { + $el.legend = $$.$el.svg.append("g").classed($LEGEND.legend, true).attr("transform", $$.getTranslate("legend")); + } + $$.updateLegend(); + } else { + $$.state.hiddenLegendIds = $$.mapToIds($$.data.targets); + } + }, + /** + * Update legend element + * @param {Array} targetIds ID's of target + * @param {object} options withTransform : Whether to use the transform property / withTransitionForTransform: Whether transition is used when using the transform property / withTransition : whether or not to transition. + * @param {object} transitions Return value of the generateTransitions + * @private + */ + updateLegend(targetIds, options, transitions) { + var _a; + const $$ = this; + const { config, state, scale, $el } = $$; + const optionz = options || { + withTransform: false, + withTransitionForTransform: false, + withTransition: false + }; + optionz.withTransition = getOption(optionz, "withTransition", true); + optionz.withTransitionForTransform = getOption(optionz, "withTransitionForTransform", true); + if (config.legend_contents_bindto && config.legend_contents_template) { + $$.updateLegendTemplate(); + } else if (!state.hasTreemap) { + $$.updateLegendElement( + targetIds || $$.mapToIds($$.data.targets), + optionz, + transitions + ); + } + (_a = $el.legend) == null ? void 0 : _a.selectAll(`.${$LEGEND.legendItem}`).classed($LEGEND.legendItemHidden, function(id) { + const hide = !$$.isTargetToShow(id); + if (hide) { + this.style.opacity = null; + } + return hide; + }); + $$.updateScales(false, !scale.zoom); + $$.updateSvgSize(); + $$.transformAll(optionz.withTransitionForTransform, transitions); + state.legendHasRendered = true; + }, + /** + * Update legend using template option + * @private + */ + updateLegendTemplate() { + const $$ = this; + const { config, $el } = $$; + const wrapper = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(config.legend_contents_bindto); + const template = config.legend_contents_template; + if (!wrapper.empty()) { + const targets = $$.mapToIds($$.data.targets); + const ids = []; + let html = ""; + targets.forEach((v) => { + const content = isFunction(template) ? template.bind($$.api)(v, $$.color(v), $$.api.data(v)[0].values) : tplProcess(template, { + COLOR: $$.color(v), + TITLE: v + }); + if (content) { + ids.push(v); + html += content; + } + }); + const legendItem = wrapper.html(html).selectAll(function() { + return this.childNodes; + }).data(ids); + $$.setLegendItem(legendItem); + $el.legend = wrapper; + } + }, + /** + * Update the size of the legend. + * @param {Obejct} size Size object + * @private + */ + updateSizeForLegend(size) { + const $$ = this; + const { + config, + state: { + isLegendTop, + isLegendLeft, + isLegendRight, + isLegendInset, + current + } + } = $$; + const { width, height } = size; + const insetLegendPosition = { + top: isLegendTop ? $$.getCurrentPaddingByDirection("top") + config.legend_inset_y + 5.5 : current.height - height - $$.getCurrentPaddingByDirection("bottom") - config.legend_inset_y, + left: isLegendLeft ? $$.getCurrentPaddingByDirection("left") + config.legend_inset_x + 0.5 : current.width - width - $$.getCurrentPaddingByDirection("right") - config.legend_inset_x + 0.5 + }; + $$.state.margin3 = { + top: isLegendRight ? 0 : isLegendInset ? insetLegendPosition.top : current.height - height, + right: NaN, + bottom: 0, + left: isLegendRight ? current.width - width : isLegendInset ? insetLegendPosition.left : 0 + }; + }, + /** + * Transform Legend + * @param {boolean} withTransition whether or not to transition. + * @private + */ + transformLegend(withTransition) { + const $$ = this; + const { $el: { legend }, $T } = $$; + $T(legend, withTransition).attr("transform", $$.getTranslate("legend")); + }, + /** + * Update the legend step + * @param {number} step Step value + * @private + */ + updateLegendStep(step) { + this.state.legendStep = step; + }, + /** + * Update legend item width + * @param {number} width Width value + * @private + */ + updateLegendItemWidth(width) { + this.state.legendItemWidth = width; + }, + /** + * Update legend item height + * @param {number} height Height value + * @private + */ + updateLegendItemHeight(height) { + this.state.legendItemHeight = height; + }, + /** + * Update legend item color + * @param {string} id Corresponding data ID value + * @param {string} color Color value + * @private + */ + updateLegendItemColor(id, color) { + const { legend } = this.$el; + if (legend) { + legend.select(`.${$LEGEND.legendItem}-${id} line`).style("stroke", color); + } + }, + /** + * Get the width of the legend + * @returns {number} width + * @private + */ + getLegendWidth() { + const $$ = this; + const { current: { width }, isLegendRight, isLegendInset, legendItemWidth, legendStep } = $$.state; + return $$.config.legend_show ? isLegendRight || isLegendInset ? legendItemWidth * (legendStep + 1) : width : 0; + }, + /** + * Get the height of the legend + * @returns {number} height + * @private + */ + getLegendHeight() { + var _a; + const $$ = this; + const { current, isLegendRight, legendItemHeight, legendStep } = $$.state; + const isFitPadding = ((_a = $$.config.padding) == null ? void 0 : _a.mode) === "fit"; + const height = $$.config.legend_show ? isLegendRight ? current.height : Math.max(isFitPadding ? 10 : 20, legendItemHeight) * (legendStep + 1) : 0; + return height; + }, + /** + * Get the opacity of the legend that is unfocused + * @param {d3.selection} legendItem Legend item node + * @returns {string|null} opacity + * @private + */ + opacityForUnfocusedLegend(legendItem) { + return legendItem.classed($LEGEND.legendItemHidden) ? null : "0.3"; + }, + /** + * Toggles the focus of the legend + * @param {Array} targetIds ID's of target + * @param {boolean} focus whether or not to focus. + * @private + */ + toggleFocusLegend(targetIds, focus) { + const $$ = this; + const { $el: { legend }, $T } = $$; + const targetIdz = $$.mapToTargetIds(targetIds); + legend && $T(legend.selectAll(`.${$LEGEND.legendItem}`).filter((id) => targetIdz.indexOf(id) >= 0).classed($FOCUS.legendItemFocused, focus)).style("opacity", function() { + return focus ? null : $$.opacityForUnfocusedLegend.call($$, (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this)); + }); + }, + /** + * Revert the legend to its default state + * @private + */ + revertLegend() { + const $$ = this; + const { $el: { legend }, $T } = $$; + legend && $T(legend.selectAll(`.${$LEGEND.legendItem}`).classed($FOCUS.legendItemFocused, false)).style("opacity", null); + }, + /** + * Shows the legend + * @param {Array} targetIds ID's of target + * @private + */ + showLegend(targetIds) { + const $$ = this; + const { config, $el, $T } = $$; + if (!config.legend_show) { + config.legend_show = true; + $el.legend ? $el.legend.style("visibility", null) : $$.initLegend(); + !$$.state.legendHasRendered && $$.updateLegend(); + } + $$.removeHiddenLegendIds(targetIds); + $T( + $el.legend.selectAll($$.selectorLegends(targetIds)).style("visibility", null) + ).style("opacity", null); + }, + /** + * Hide the legend + * @param {Array} targetIds ID's of target + * @private + */ + hideLegend(targetIds) { + const $$ = this; + const { config, $el: { legend } } = $$; + if (config.legend_show && isEmpty(targetIds)) { + config.legend_show = false; + legend.style("visibility", "hidden"); + } + $$.addHiddenLegendIds(targetIds); + legend.selectAll($$.selectorLegends(targetIds)).style("opacity", "0").style("visibility", "hidden"); + }, + /** + * Get legend item textbox dimension + * @param {string} id Data ID + * @param {HTMLElement|d3.selection} textElement Text node element + * @returns {object} Bounding rect + * @private + */ + getLegendItemTextBox(id, textElement) { + const $$ = this; + const { cache, state } = $$; + let data; + const cacheKey = KEY.legendItemTextBox; + if (id) { + data = !state.redrawing && cache.get(cacheKey) || {}; + if (!data[id]) { + data[id] = $$.getTextRect(textElement, $LEGEND.legendItem); + cache.add(cacheKey, data); + } + data = data[id]; + } + return data; + }, + /** + * Set legend item style & bind events + * @param {d3.selection} item Item node + * @private + */ + setLegendItem(item) { + const $$ = this; + const { $el, api, config, state } = $$; + const isTouch = state.inputType === "touch"; + const hasGauge = $$.hasType("gauge"); + const useCssRule = config.boost_useCssRule; + const interaction = config.legend_item_interaction; + item.attr("class", function(id) { + const node = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this); + const itemClass = !node.empty() && node.attr("class") || ""; + return itemClass + $$.generateClass($LEGEND.legendItem, id); + }).style("visibility", (id) => $$.isLegendToShow(id) ? null : "hidden"); + if (config.interaction_enabled) { + if (useCssRule) { + [ + [`.${$LEGEND.legendItem}`, "cursor:pointer"], + [`.${$LEGEND.legendItem} text`, "pointer-events:none"], + [`.${$LEGEND.legendItemPoint} text`, "pointer-events:none"], + [`.${$LEGEND.legendItemTile}`, "pointer-events:none"], + [`.${$LEGEND.legendItemEvent}`, "fill-opacity:0"] + ].forEach((v) => { + const [selector, props] = v; + $$.setCssRule(false, selector, [props])($el.legend); + }); + } + item.on( + interaction.dblclick ? "dblclick" : "click", + interaction || isFunction(config.legend_item_onclick) ? function(event, id) { + if (!callFn( + config.legend_item_onclick, + api, + id, + !state.hiddenTargetIds.includes(id) + )) { + const { altKey, target, type } = event; + if (type === "dblclick" || altKey) { + if (state.hiddenTargetIds.length && target.parentNode.getAttribute("class").indexOf( + $LEGEND.legendItemHidden + ) === -1) { + api.show(); + } else { + api.hide(); + api.show(id); + } + } else { + api.toggle(id); + (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this).classed($FOCUS.legendItemFocused, false); + } + } + isTouch && $$.hideTooltip(); + } : null + ); + !isTouch && item.on("mouseout", interaction || isFunction(config.legend_item_onout) ? function(event, id) { + if (!callFn( + config.legend_item_onout, + api, + id, + !state.hiddenTargetIds.includes(id) + )) { + (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this).classed($FOCUS.legendItemFocused, false); + if (hasGauge) { + $$.undoMarkOverlapped($$, `.${$GAUGE.gaugeValue}`); + } + $$.api.revert(); + } + } : null).on("mouseover", interaction || isFunction(config.legend_item_onover) ? function(event, id) { + if (!callFn( + config.legend_item_onover, + api, + id, + !state.hiddenTargetIds.includes(id) + )) { + (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this).classed($FOCUS.legendItemFocused, true); + if (hasGauge) { + $$.markOverlapped(id, $$, `.${$GAUGE.gaugeValue}`); + } + if (!state.transiting && $$.isTargetToShow(id)) { + api.focus(id); + } + } + } : null); + !item.empty() && item.on("click mouseout mouseover") && item.style("cursor", $$.getStylePropValue("pointer")); + } + }, + /** + * Update the legend + * @param {Array} targetIds ID's of target + * @param {object} options withTransform : Whether to use the transform property / withTransitionForTransform: Whether transition is used when using the transform property / withTransition : whether or not to transition. + * @private + */ + updateLegendElement(targetIds, options) { + const $$ = this; + const { config, state, $el: { legend }, $T } = $$; + const legendType = config.legend_item_tile_type; + const isRectangle = legendType !== "circle"; + const legendItemR = config.legend_item_tile_r; + const itemTileSize = { + width: isRectangle ? config.legend_item_tile_width : legendItemR * 2, + height: isRectangle ? config.legend_item_tile_height : legendItemR * 2 + }; + const dimension = { + padding: { + top: 4, + right: 10 + }, + max: { + width: 0, + height: 0 + }, + posMin: 10, + step: 0, + tileWidth: itemTileSize.width + 5, + totalLength: 0 + }; + const sizes = { + offsets: {}, + widths: {}, + heights: {}, + margins: [0], + steps: {} + }; + let xForLegend; + let yForLegend; + let background; + const targetIdz = targetIds.filter((id) => !isDefined(config.data_names[id]) || config.data_names[id] !== null); + const withTransition = options.withTransition; + const updatePositions = $$.getUpdateLegendPositions(targetIdz, dimension, sizes); + if (state.isLegendInset) { + dimension.step = config.legend_inset_step ? config.legend_inset_step : targetIdz.length; + $$.updateLegendStep(dimension.step); + } + if (state.isLegendRight) { + xForLegend = (id) => dimension.max.width * sizes.steps[id]; + yForLegend = (id) => sizes.margins[sizes.steps[id]] + sizes.offsets[id]; + } else if (state.isLegendInset) { + xForLegend = (id) => dimension.max.width * sizes.steps[id] + 10; + yForLegend = (id) => sizes.margins[sizes.steps[id]] + sizes.offsets[id]; + } else { + xForLegend = (id) => sizes.margins[sizes.steps[id]] + sizes.offsets[id]; + yForLegend = (id) => dimension.max.height * sizes.steps[id]; + } + const posFn = { + xText: (id, i) => xForLegend(id, i) + 4 + itemTileSize.width, + xRect: (id, i) => xForLegend(id, i), + x1Tile: (id, i) => xForLegend(id, i) - 2, + x2Tile: (id, i) => xForLegend(id, i) - 2 + itemTileSize.width, + yText: (id, i) => yForLegend(id, i) + 9, + yRect: (id, i) => yForLegend(id, i) - 5, + yTile: (id, i) => yForLegend(id, i) + 4 + }; + $$.generateLegendItem(targetIdz, itemTileSize, updatePositions, posFn); + background = legend.select(`.${$LEGEND.legendBackground} rect`); + if (state.isLegendInset && dimension.max.width > 0 && background.size() === 0) { + background = legend.insert("g", `.${$LEGEND.legendItem}`).attr("class", $LEGEND.legendBackground).append("rect"); + } + if (config.legend_tooltip) { + legend.selectAll("title").data(targetIdz).text((id) => getFormattedText.bind($$)(id, false)); + } + const texts = legend.selectAll("text").data(targetIdz).text((id) => getFormattedText.bind($$)(id)).each(function(id, i) { + updatePositions(this, id, i); + }); + $T(texts, withTransition).attr("x", posFn.xText).attr("y", posFn.yText); + const rects = legend.selectAll(`rect.${$LEGEND.legendItemEvent}`).data(targetIdz); + $T(rects, withTransition).attr("width", (id) => sizes.widths[id]).attr("height", (id) => sizes.heights[id]).attr("x", posFn.xRect).attr("y", posFn.yRect); + $$.updateLegendItemPos(targetIdz, withTransition, posFn); + if (background) { + $T(background, withTransition).attr("height", $$.getLegendHeight() - 12).attr("width", dimension.max.width * (dimension.step + 1) + 10); + } + $$.updateLegendItemWidth(dimension.max.width); + $$.updateLegendItemHeight(dimension.max.height); + $$.updateLegendStep(dimension.step); + }, + /** + * Get position update function + * @param {Array} targetIdz Data ids + * @param {object} dimension Dimension object + * @param {object} sizes Size object + * @returns {Function} Update position function + * @private + */ + getUpdateLegendPositions(targetIdz, dimension, sizes) { + const $$ = this; + const { config, state } = $$; + const isLegendRightOrInset = state.isLegendRight || state.isLegendInset; + return function(textElement, id, index) { + const reset = index === 0; + const isLast = index === targetIdz.length - 1; + const box = $$.getLegendItemTextBox(id, textElement); + const itemWidth = box.width + dimension.tileWidth + (isLast && !isLegendRightOrInset ? 0 : dimension.padding.right) + config.legend_padding; + const itemHeight = box.height + dimension.padding.top; + const itemLength = isLegendRightOrInset ? itemHeight : itemWidth; + const areaLength = isLegendRightOrInset ? $$.getLegendHeight() : $$.getLegendWidth(); + let margin; + const updateValues = function(id2, withoutStep) { + if (!withoutStep) { + margin = (areaLength - dimension.totalLength - itemLength) / 2; + if (margin < dimension.posMin) { + margin = (areaLength - itemLength) / 2; + dimension.totalLength = 0; + dimension.step++; + } + } + sizes.steps[id2] = dimension.step; + sizes.margins[dimension.step] = state.isLegendInset ? 10 : margin; + sizes.offsets[id2] = dimension.totalLength; + dimension.totalLength += itemLength; + }; + if (reset) { + dimension.totalLength = 0; + dimension.step = 0; + dimension.max.width = 0; + dimension.max.height = 0; + } + if (config.legend_show && !$$.isLegendToShow(id)) { + sizes.widths[id] = 0; + sizes.heights[id] = 0; + sizes.steps[id] = 0; + sizes.offsets[id] = 0; + return; + } + sizes.widths[id] = itemWidth; + sizes.heights[id] = itemHeight; + if (!dimension.max.width || itemWidth >= dimension.max.width) { + dimension.max.width = itemWidth; + } + if (!dimension.max.height || itemHeight >= dimension.max.height) { + dimension.max.height = itemHeight; + } + const maxLength = isLegendRightOrInset ? dimension.max.height : dimension.max.width; + if (config.legend_equally) { + Object.keys(sizes.widths).forEach((id2) => sizes.widths[id2] = dimension.max.width); + Object.keys(sizes.heights).forEach( + (id2) => sizes.heights[id2] = dimension.max.height + ); + margin = (areaLength - maxLength * targetIdz.length) / 2; + if (margin < dimension.posMin) { + dimension.totalLength = 0; + dimension.step = 0; + targetIdz.forEach((id2) => updateValues(id2)); + } else { + updateValues(id, true); + } + } else { + updateValues(id); + } + }; + }, + /** + * Generate legend item elements + * @param {Array} targetIdz Data ids + * @param {object} itemTileSize Item tile size {width, height} + * @param {Function} updatePositions Update position function + * @param {object} posFn Position functions + * @private + */ + generateLegendItem(targetIdz, itemTileSize, updatePositions, posFn) { + const $$ = this; + const { config, state, $el: { legend } } = $$; + const usePoint = config.legend_usePoint; + const legendItemR = config.legend_item_tile_r; + const legendType = config.legend_item_tile_type; + const isRectangle = legendType !== "circle"; + const isLegendRightOrInset = state.isLegendRight || state.isLegendInset; + const pos = -200; + const l = legend.selectAll(`.${$LEGEND.legendItem}`).data(targetIdz).enter().append("g"); + $$.setLegendItem(l); + if (config.legend_tooltip) { + l.append("title").text((id) => id); + } + l.append("text").text((id) => getFormattedText.bind($$)(id)).each(function(id, i) { + updatePositions(this, id, i); + }).style("pointer-events", $$.getStylePropValue("none")).attr("x", isLegendRightOrInset ? posFn.xText : pos).attr("y", isLegendRightOrInset ? pos : posFn.yText); + l.append("rect").attr("class", $LEGEND.legendItemEvent).style("fill-opacity", $$.getStylePropValue("0")).attr("x", isLegendRightOrInset ? posFn.xRect : pos).attr("y", isLegendRightOrInset ? pos : posFn.yRect); + if (usePoint) { + const ids = []; + l.append((d) => { + const pattern = notEmpty(config.point_pattern) ? config.point_pattern : [config.point_type]; + ids.indexOf(d) === -1 && ids.push(d); + let point = pattern[ids.indexOf(d) % pattern.length]; + if (point === "rectangle") { + point = "rect"; + } + return browser_doc.createElementNS( + external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.namespaces.svg, + "hasValidPointType" in $$ && $$.hasValidPointType(point) ? point : "use" + ); + }).attr("class", $LEGEND.legendItemPoint).style("fill", getLegendColor.bind($$)).style("pointer-events", $$.getStylePropValue("none")).attr("href", (data, idx, selection) => { + const node = selection[idx]; + const nodeName = node.nodeName.toLowerCase(); + const id = $$.getTargetSelectorSuffix(data); + return nodeName === "use" ? `#${state.datetimeId}-point${id}` : void 0; + }); + } else { + l.append(isRectangle ? "line" : legendType).attr("class", $LEGEND.legendItemTile).style("stroke", getLegendColor.bind($$)).style("pointer-events", $$.getStylePropValue("none")).call((selection) => { + if (legendType === "circle") { + selection.attr("r", legendItemR).style("fill", getLegendColor.bind($$)).attr("cx", isLegendRightOrInset ? posFn.x2Tile : pos).attr("cy", isLegendRightOrInset ? pos : posFn.yTile); + } else if (isRectangle) { + selection.attr("stroke-width", itemTileSize.height).attr("x1", isLegendRightOrInset ? posFn.x1Tile : pos).attr("y1", isLegendRightOrInset ? pos : posFn.yTile).attr("x2", isLegendRightOrInset ? posFn.x2Tile : pos).attr("y2", isLegendRightOrInset ? pos : posFn.yTile); + } + }); + } + }, + /** + * Update legend item position + * @param {Array} targetIdz Data ids + * @param {boolean} withTransition Whether or not to apply transition + * @param {object} posFn Position functions + * @private + */ + updateLegendItemPos(targetIdz, withTransition, posFn) { + const $$ = this; + const { config, $el: { legend }, $T } = $$; + const usePoint = config.legend_usePoint; + const legendType = config.legend_item_tile_type; + const isRectangle = legendType !== "circle"; + if (usePoint) { + const tiles = legend.selectAll(`.${$LEGEND.legendItemPoint}`).data(targetIdz); + $T(tiles, withTransition).each(function() { + const nodeName = this.nodeName.toLowerCase(); + const pointR = config.point_r; + let x = "x"; + let y = "y"; + let xOffset = 2; + let yOffset = 2.5; + let radius = null; + let width = null; + let height = null; + if (nodeName === "circle") { + const size = pointR * 0.2; + x = "cx"; + y = "cy"; + radius = pointR + size; + xOffset = pointR * 2; + yOffset = -size; + } else if (nodeName === "rect") { + const size = pointR * 2.5; + width = size; + height = size; + yOffset = 3; + } + (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this).attr(x, (d) => posFn.x1Tile(d) + xOffset).attr(y, (d) => posFn.yTile(d) - yOffset).attr("r", radius).attr("width", width).attr("height", height); + }); + } else { + const tiles = legend.selectAll(`.${$LEGEND.legendItemTile}`).data(targetIdz); + $T(tiles, withTransition).style("stroke", getLegendColor.bind($$)).call((selection) => { + if (legendType === "circle") { + selection.attr("cx", (d) => { + const x2 = posFn.x2Tile(d); + return x2 - (x2 - posFn.x1Tile(d)) / 2; + }).attr("cy", posFn.yTile); + } else if (isRectangle) { + selection.attr("x1", posFn.x1Tile).attr("y1", posFn.yTile).attr("x2", posFn.x2Tile).attr("y2", posFn.yTile); + } + }); + } + } +}); + +// EXTERNAL MODULE: external {"commonjs":"d3-transition","commonjs2":"d3-transition","amd":"d3-transition","root":"d3"} +var external_commonjs_d3_transition_commonjs2_d3_transition_amd_d3_transition_root_d3_ = __webpack_require__(8); +;// ./src/ChartInternal/internals/redraw.ts + + + + +/* harmony default export */ var redraw = ({ + redraw(options = {}) { + var _a, _b, _c, _d; + const $$ = this; + const { config, state, $el } = $$; + const { main, treemap } = $el; + state.redrawing = true; + const targetsToShow = $$.filterTargetsToShow($$.data.targets); + const { flow, initializing } = options; + const wth = $$.getWithOption(options); + const duration = wth.Transition ? config.transition_duration : 0; + const durationForExit = wth.TransitionForExit ? duration : 0; + const durationForAxis = wth.TransitionForAxis ? duration : 0; + const transitions = (_a = $$.axis) == null ? void 0 : _a.generateTransitions(durationForAxis); + $$.updateSizes(initializing); + if (wth.Legend && config.legend_show) { + options.withTransition = !!duration; + !treemap && $$.updateLegend($$.mapToIds($$.data.targets), options, transitions); + } else if (wth.Dimension) { + $$.updateDimension(true); + } + config.data_empty_label_text && main.select(`text.${$TEXT.text}.${$COMMON.empty}`).attr("x", state.width / 2).attr("y", state.height / 2).text(config.data_empty_label_text).style("display", targetsToShow.length ? "none" : null); + if (state.hasAxis) { + $$.axis.redrawAxis(targetsToShow, wth, transitions, flow, initializing); + $$.hasGrid() && $$.updateGrid(); + config.regions.length && $$.updateRegion(); + ["bar", "candlestick", "line", "area"].forEach((v) => { + const name = capitalize(v); + if (/^(line|area)$/.test(v) && $$.hasTypeOf(name) || $$.hasType(v)) { + $$[`update${name}`](wth.TransitionForExit); + } + }); + $el.text && main.selectAll(`.${$SELECT.selectedCircles}`).filter($$.isBarType.bind($$)).selectAll("circle").remove(); + if (config.interaction_enabled && !flow && wth.EventRect) { + $$.redrawEventRect(); + (_b = $$.bindZoomEvent) == null ? void 0 : _b.call($$); + } + } else { + $el.arcs && $$.redrawArc(duration, durationForExit, wth.Transform); + $el.radar && $$.redrawRadar(); + $el.polar && $$.redrawPolar(); + $el.funnel && $$.redrawFunnel(); + treemap && $$.updateTreemap(durationForExit); + } + if (!state.resizing && !treemap && ($$.hasPointType() || state.hasRadar)) { + $$.updateCircle(); + } else if ((_c = $$.hasLegendDefsPoint) == null ? void 0 : _c.call($$)) { + $$.data.targets.forEach($$.point("create", this)); + } + $$.hasDataLabel() && !$$.hasArcType(null, ["radar"]) && $$.updateText(); + (_d = $$.redrawTitle) == null ? void 0 : _d.call($$); + initializing && $$.updateTypesElements(); + $$.generateRedrawList(targetsToShow, flow, duration, wth.Subchart); + $$.updateTooltipOnRedraw(); + $$.callPluginHook("$redraw", options, duration); + }, + /** + * Generate redraw list + * @param {object} targets targets data to be shown + * @param {object} flow flow object + * @param {number} duration duration value + * @param {boolean} withSubchart whether or not to show subchart + * @private + */ + generateRedrawList(targets, flow, duration, withSubchart) { + const $$ = this; + const { config, state } = $$; + const shape = $$.getDrawShape(); + if (state.hasAxis) { + config.subchart_show && $$.redrawSubchart(withSubchart, duration, shape); + } + const flowFn = flow && $$.generateFlow({ + targets, + flow, + duration: flow.duration, + shape, + xv: $$.xv.bind($$) + }); + const withTransition = (duration || flowFn) && isTabVisible(); + const redrawList = $$.getRedrawList(shape, flow, flowFn, withTransition); + const afterRedraw = () => { + flowFn && flowFn(); + state.redrawing = false; + callFn(config.onrendered, $$.api); + }; + if (afterRedraw) { + if (withTransition && redrawList.length) { + const waitForDraw = generateWait(); + (0,external_commonjs_d3_transition_commonjs2_d3_transition_amd_d3_transition_root_d3_.transition)().duration(duration).each(() => { + redrawList.reduce((acc, t1) => acc.concat(t1), []).forEach((t) => waitForDraw.add(t)); + }).call(waitForDraw, afterRedraw); + } else if (!state.transiting) { + afterRedraw(); + } + } + $$.mapToIds($$.data.targets).forEach((id) => { + state.withoutFadeIn[id] = true; + }); + }, + getRedrawList(shape, flow, flowFn, withTransition) { + const $$ = this; + const { config, state: { hasAxis, hasRadar, hasTreemap }, $el: { grid } } = $$; + const { cx, cy, xForText, yForText } = shape.pos; + const list = []; + if (hasAxis) { + if (config.grid_x_lines.length || config.grid_y_lines.length) { + list.push($$.redrawGrid(withTransition)); + } + if (config.regions.length) { + list.push($$.redrawRegion(withTransition)); + } + Object.keys(shape.type).forEach((v) => { + const name = capitalize(v); + const drawFn = shape.type[v]; + if (/^(area|line)$/.test(v) && $$.hasTypeOf(name) || $$.hasType(v)) { + list.push($$[`redraw${name}`](drawFn, withTransition)); + } + }); + !flow && grid.main && list.push($$.updateGridFocus()); + } + if (!$$.hasArcType() || hasRadar) { + notEmpty(config.data_labels) && config.data_labels !== false && list.push($$.redrawText(xForText, yForText, flow, withTransition)); + } + if (($$.hasPointType() || hasRadar) && !$$.isPointFocusOnly()) { + $$.redrawCircle && list.push($$.redrawCircle(cx, cy, withTransition, flowFn)); + } + if (hasTreemap) { + list.push($$.redrawTreemap(withTransition)); + } + return list; + }, + updateAndRedraw(options = {}) { + const $$ = this; + const { config, state } = $$; + let transitions; + options.withTransition = getOption(options, "withTransition", true); + options.withTransform = getOption(options, "withTransform", false); + options.withLegend = getOption(options, "withLegend", false); + options.withUpdateXDomain = true; + options.withUpdateOrgXDomain = true; + options.withTransitionForExit = false; + options.withTransitionForTransform = getOption( + options, + "withTransitionForTransform", + options.withTransition + ); + if (!(options.withLegend && config.legend_show)) { + if (state.hasAxis) { + transitions = $$.axis.generateTransitions( + options.withTransitionForAxis ? config.transition_duration : 0 + ); + } + $$.updateScales(); + $$.updateSvgSize(); + $$.transformAll(options.withTransitionForTransform, transitions); + } + $$.redraw(options, transitions); + } +}); + +;// ./src/ChartInternal/internals/scale.ts + + +function getScale(type = "linear", min, max) { + const scale = { + linear: external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_.scaleLinear, + log: external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_.scaleSymlog, + _log: external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_.scaleLog, + time: external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_.scaleTime, + utc: external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_.scaleUtc + }[type](); + scale.type = type; + /_?log/.test(type) && scale.clamp(true); + return scale.range([min != null ? min : 0, max != null ? max : 1]); +} +/* harmony default export */ var scale = ({ + /** + * Get x Axis scale function + * @param {number} min Min range value + * @param {number} max Max range value + * @param {Array} domain Domain value + * @param {Function} offset The offset getter to be sum + * @returns {Function} scale + * @private + */ + getXScale(min, max, domain, offset) { + const $$ = this; + const scale = $$.state.loading !== "append" && $$.scale.zoom || getScale($$.axis.getAxisType("x"), min, max); + return $$.getCustomizedXScale( + domain ? scale.domain(domain) : scale, + offset + ); + }, + /** + * Get y Axis scale function + * @param {string} id Axis id: 'y' or 'y2' + * @param {number} min Min value + * @param {number} max Max value + * @param {Array} domain Domain value + * @returns {Function} Scale function + * @private + */ + getYScale(id, min, max, domain) { + const $$ = this; + const scale = getScale($$.axis.getAxisType(id), min, max); + domain && scale.domain(domain); + return scale; + }, + /** + * Get y Axis scale + * @param {string} id Axis id + * @param {boolean} isSub Weather is sub Axis + * @returns {Function} Scale function + * @private + */ + getYScaleById(id, isSub = false) { + var _a; + const isY2 = ((_a = this.axis) == null ? void 0 : _a.getId(id)) === "y2"; + const key = isSub ? isY2 ? "subY2" : "subY" : isY2 ? "y2" : "y"; + return this.scale[key]; + }, + /** + * Get customized x axis scale + * @param {d3.scaleLinear|d3.scaleTime} scaleValue Scale function + * @param {Function} offsetValue Offset getter to be sum + * @returns {Function} Scale function + * @private + */ + getCustomizedXScale(scaleValue, offsetValue) { + const $$ = this; + const offset = offsetValue || (() => $$.axis.x.tickOffset()); + const isInverted = $$.config.axis_x_inverted; + const scale = function(d) { + return scaleValue(d) + offset(); + }; + for (const key in scaleValue) { + scale[key] = scaleValue[key]; + } + scale.orgDomain = () => scaleValue.domain(); + scale.orgScale = () => scaleValue; + if ($$.axis.isCategorized()) { + scale.domain = function(domainValue) { + let domain = domainValue; + if (!arguments.length) { + domain = this.orgDomain(); + return isInverted ? [domain[0] + 1, domain[1]] : [domain[0], domain[1] + 1]; + } + scaleValue.domain(domain); + return scale; + }; + } + return scale; + }, + /** + * Update scale + * @param {boolean} isInit Param is given at the init rendering + * @param {boolean} updateXDomain If update x domain + * @private + */ + updateScales(isInit, updateXDomain = true) { + var _a, _b; + const $$ = this; + const { + axis, + config, + format, + org, + scale, + state: { current, width, height, width2, height2, hasAxis, hasTreemap } + } = $$; + if (hasAxis) { + const isRotated = config.axis_rotated; + const resettedPadding = $$.getResettedPadding(1); + const min = { + x: isRotated ? resettedPadding : 0, + y: isRotated ? 0 : height, + subX: isRotated ? 1 : 0, + subY: isRotated ? 0 : height2 + }; + const max = { + x: isRotated ? height : width, + y: isRotated ? width : resettedPadding, + subX: isRotated ? height : width, + subY: isRotated ? width2 : 1 + }; + const xDomain = updateXDomain && ((_a = scale.x) == null ? void 0 : _a.orgDomain()); + const xSubDomain = updateXDomain && org.xDomain; + scale.x = $$.getXScale(min.x, max.x, xDomain, () => axis.x.tickOffset()); + scale.subX = $$.getXScale(min.x, max.x, xSubDomain, (d) => { + var _a2; + return d % 1 ? 0 : ((_a2 = axis.subX) != null ? _a2 : axis.x).tickOffset(); + }); + format.xAxisTick = axis.getXAxisTickFormat(); + format.subXAxisTick = axis.getXAxisTickFormat(true); + axis.setAxis("x", scale.x, config.axis_x_tick_outer, isInit); + if (config.subchart_show) { + axis.setAxis("subX", scale.subX, config.axis_x_tick_outer, isInit); + } + scale.y = $$.getYScale( + "y", + min.y, + max.y, + scale.y ? scale.y.domain() : config.axis_y_default + ); + scale.subY = $$.getYScale( + "y", + min.subY, + max.subY, + scale.subY ? scale.subY.domain() : config.axis_y_default + ); + axis.setAxis("y", scale.y, config.axis_y_tick_outer, isInit); + if (config.axis_y2_show) { + scale.y2 = $$.getYScale( + "y2", + min.y, + max.y, + scale.y2 ? scale.y2.domain() : config.axis_y2_default + ); + scale.subY2 = $$.getYScale( + "y2", + min.subY, + max.subY, + scale.subY2 ? scale.subY2.domain() : config.axis_y2_default + ); + axis.setAxis("y2", scale.y2, config.axis_y2_tick_outer, isInit); + } + } else if (hasTreemap) { + const padding = $$.getCurrentPadding(); + scale.x = (0,external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_.scaleLinear)().rangeRound([padding.left, current.width - padding.right]); + scale.y = (0,external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_.scaleLinear)().rangeRound([padding.top, current.height - padding.bottom]); + } else { + (_b = $$.updateArc) == null ? void 0 : _b.call($$); + } + }, + /** + * Get the zoom or unzoomed scaled value + * @param {Date|number|object} d Data value + * @returns {number|null} + * @private + */ + xx(d) { + const $$ = this; + const { config, scale: { x, zoom } } = $$; + const fn = config.zoom_enabled && zoom ? zoom : x; + return d ? fn(isValue(d.x) ? d.x : d) : null; + }, + xv(d) { + const $$ = this; + const { axis, config, scale: { x, zoom } } = $$; + const fn = config.zoom_enabled && zoom ? zoom : x; + let value = $$.getBaseValue(d); + if (axis.isTimeSeries()) { + value = parseDate.call($$, value); + } else if (axis.isCategorized() && isString(value)) { + value = config.axis_x_categories.indexOf(value); + } + return fn(value); + }, + yv(d) { + const $$ = this; + const { scale: { y, y2 } } = $$; + const yScale = d.axis && d.axis === "y2" ? y2 : y; + return yScale($$.getBaseValue(d)); + }, + subxx(d) { + return d ? this.scale.subX(d.x) : null; + } +}); + +;// ./src/ChartInternal/internals/size.ts + + + + +/* harmony default export */ var size = ({ + /** + * Update container size + * @private + */ + setContainerSize() { + const $$ = this; + const { state } = $$; + state.current.width = $$.getCurrentWidth(); + state.current.height = $$.getCurrentHeight(); + }, + getCurrentWidth() { + const $$ = this; + return $$.config.size_width || $$.getParentWidth(); + }, + getCurrentHeight() { + const $$ = this; + const { config } = $$; + const h = config.size_height || $$.getParentHeight(); + return h > 0 ? h : 320 / ($$.hasType("gauge") && !config.gauge_fullCircle ? 2 : 1); + }, + /** + * Get the parent rect element's size + * @param {string} key property/attribute name + * @returns {number} + * @private + */ + getParentRectValue(key) { + const offsetName = `offset${capitalize(key)}`; + let parent = this.$el.chart.node(); + let v = 0; + while (v < 30 && parent && parent.tagName !== "BODY") { + try { + v = parent.getBoundingClientRect()[key]; + } catch (e) { + if (offsetName in parent) { + v = parent[offsetName]; + } + } + parent = parent.parentNode; + } + const bodySize = browser_doc.body[offsetName]; + v > bodySize && (v = bodySize); + return v; + }, + getParentWidth() { + return this.getParentRectValue("width"); + }, + getParentHeight() { + const h = this.$el.chart.style("height"); + let height = 0; + if (h) { + height = /px$/.test(h) ? parseInt(h, 10) : this.getParentRectValue("height"); + } + return height; + }, + getSvgLeft(withoutRecompute) { + const $$ = this; + const { config, state: { hasAxis }, $el } = $$; + const isRotated = config.axis_rotated; + const hasLeftAxisRect = isRotated || !isRotated && !config.axis_y_inner; + const leftAxisClass = isRotated ? $AXIS.axisX : $AXIS.axisY; + const leftAxis = $el.main.select(`.${leftAxisClass}`).node(); + const leftLabel = hasAxis && config[`axis_${isRotated ? "x" : "y"}_label`]; + let labelWidth = 0; + if (hasAxis && (isString(leftLabel) || isString(leftLabel.text) || /^inner-/.test(leftLabel == null ? void 0 : leftLabel.position))) { + const label = $el.main.select(`.${leftAxisClass}-label`); + if (!label.empty()) { + labelWidth = label.node().getBoundingClientRect().left; + } + } + const svgRect = leftAxis && hasLeftAxisRect ? leftAxis.getBoundingClientRect() : { right: 0 }; + const chartRectLeft = $el.chart.node().getBoundingClientRect().left + labelWidth; + const hasArc = $$.hasArcType(); + const svgLeft = svgRect.right - chartRectLeft - (hasArc ? 0 : $$.getCurrentPaddingByDirection("left", withoutRecompute)); + return svgLeft > 0 ? svgLeft : 0; + }, + updateDimension(withoutAxis) { + var _a; + const $$ = this; + const { config, state: { hasAxis }, $el } = $$; + if (hasAxis && !withoutAxis && $$.axis.x && config.axis_rotated) { + (_a = $$.axis.subX) == null ? void 0 : _a.create($el.axis.subX); + } + $$.updateScales(withoutAxis); + $$.updateSvgSize(); + $$.transformAll(false); + }, + updateSvgSize() { + const $$ = this; + const { config, state: { clip, current, hasAxis, width, height }, $el: { svg } } = $$; + if (config.resize_auto === "viewBox") { + svg.attr("viewBox", `0 0 ${current.width} ${current.height}`); + } else { + svg.attr("width", current.width).attr("height", current.height); + } + if (hasAxis) { + const brush = svg.select(`.${$SUBCHART.brush} .overlay`); + const brushSize = { width: 0, height: 0 }; + if (brush.size()) { + brushSize.width = +brush.attr("width"); + brushSize.height = +brush.attr("height"); + } + svg.selectAll([`#${clip.id}`, `#${clip.idGrid}`]).select("rect").attr("width", width).attr("height", height); + svg.select(`#${clip.idXAxis}`).select("rect").call($$.setXAxisClipPath.bind($$)); + svg.select(`#${clip.idYAxis}`).select("rect").call($$.setYAxisClipPath.bind($$)); + clip.idSubchart && svg.select(`#${clip.idSubchart}`).select("rect").attr("width", width).attr("height", brushSize.height); + } + }, + /** + * Get padding by the direction. + * @param {string} type "top" | "bottom" | "left" | "right" + * @param {boolean} [withoutRecompute=false] If set true, do not recompute the padding value. + * @param {boolean} [withXAxisTickTextOverflow=false] If set true, calculate x axis tick text overflow. + * @returns {number} padding value + * @private + */ + getCurrentPaddingByDirection(type, withoutRecompute = false, withXAxisTickTextOverflow = false) { + var _a; + const $$ = this; + const { config, $el, state: { hasAxis } } = $$; + const isRotated = config.axis_rotated; + const isFitPadding = ((_a = config.padding) == null ? void 0 : _a.mode) === "fit"; + const paddingOption = isNumber(config[`padding_${type}`]) ? config[`padding_${type}`] : void 0; + const axisId = hasAxis ? { + top: isRotated ? "y2" : null, + bottom: isRotated ? "y" : "x", + left: isRotated ? "x" : "y", + right: isRotated ? null : "y2" + }[type] : null; + const isLeftRight = /^(left|right)$/.test(type); + const isAxisInner = axisId && config[`axis_${axisId}_inner`]; + const isAxisShow = axisId && config[`axis_${axisId}_show`]; + const axesLen = axisId ? config[`axis_${axisId}_axes`].length : 0; + let axisSize = axisId ? isLeftRight ? $$.getAxisWidthByAxisId(axisId, withoutRecompute) : $$.getHorizontalAxisHeight(axisId) : 0; + const defaultPadding = 20; + let gap = 0; + if (!isFitPadding && isLeftRight) { + axisSize = ceil10(axisSize); + } + let padding = hasAxis && isLeftRight && (isAxisInner || isUndefined(paddingOption) && !isAxisShow) ? 0 : isFitPadding ? (isAxisShow ? axisSize : 0) + (paddingOption != null ? paddingOption : 0) : isUndefined(paddingOption) ? axisSize : paddingOption; + if (isLeftRight && hasAxis) { + if (axisId && (isFitPadding || isAxisInner) && config[`axis_${axisId}_label`].text) { + padding += $$.axis.getAxisLabelPosition(axisId).isOuter ? defaultPadding : 0; + } + if (type === "right") { + padding += isRotated ? !isFitPadding && isUndefined(paddingOption) ? 10 : 2 : !isAxisShow || isAxisInner ? isFitPadding ? 2 : 1 : 0; + padding += withXAxisTickTextOverflow ? $$.axis.getXAxisTickTextY2Overflow(defaultPadding) : 0; + } else if (type === "left" && isRotated && isUndefined(paddingOption)) { + padding = !config.axis_x_show ? 1 : isFitPadding ? axisSize : Math.max(axisSize, 40); + } + } else { + if (type === "top") { + if ($el.title && $el.title.node()) { + padding += $$.getTitlePadding(); + } + gap = isRotated && !isAxisInner ? axesLen : 0; + } else if (type === "bottom" && hasAxis && isRotated && !isAxisShow) { + padding += 1; + } + } + return padding + axisSize * axesLen - gap; + }, + getCurrentPadding(withXAxisTickTextOverflow = false) { + const $$ = this; + const [top, bottom, left, right] = ["top", "bottom", "left", "right"].map((v) => $$.getCurrentPaddingByDirection(v, null, withXAxisTickTextOverflow)); + return { top, bottom, left, right }; + }, + /** + * Get resetted padding values when 'padding=false' option is set + * https://github.com/naver/billboard.js/issues/2367 + * @param {number|object} v Padding values to be resetted + * @returns {number|object} Padding value + * @private + */ + getResettedPadding(v) { + const $$ = this; + const { config } = $$; + const isNum = isNumber(v); + let p = isNum ? 0 : {}; + if (config.padding === false) { + !isNum && Object.keys(v).forEach((key) => { + p[key] = !isEmpty(config.data_labels) && config.data_labels !== false && key === "top" ? v[key] : 0; + }); + } else { + p = v; + } + return p; + }, + /** + * Update size values + * @param {boolean} isInit If is called at initialization + * @private + */ + updateSizes(isInit) { + var _a, _b, _c, _d, _e; + const $$ = this; + const { config, state, $el: { legend } } = $$; + const isRotated = config.axis_rotated; + const isNonAxis = $$.hasArcType() || state.hasFunnel || state.hasTreemap; + const isFitPadding = ((_a = config.padding) == null ? void 0 : _a.mode) === "fit"; + !isInit && $$.setContainerSize(); + const currLegend = { + width: legend ? $$.getLegendWidth() : 0, + height: legend ? $$.getLegendHeight() : 0 + }; + if (!isNonAxis && config.axis_x_show && config.axis_x_tick_autorotate) { + $$.updateXAxisTickClip(); + } + const legendSize = { + right: config.legend_show && state.isLegendRight ? $$.getLegendWidth() + (isFitPadding ? 0 : 20) : 0, + bottom: !config.legend_show || state.isLegendRight || state.isLegendInset ? 0 : currLegend.height + }; + const xAxisHeight = isRotated || isNonAxis ? 0 : $$.getHorizontalAxisHeight("x"); + const subchartXAxisHeight = config.subchart_axis_x_show && config.subchart_axis_x_tick_text_show ? xAxisHeight : 30; + const subchartHeight = config.subchart_show && !isNonAxis ? config.subchart_size_height + subchartXAxisHeight : 0; + const gaugeHeight = $$.hasType("gauge") && config.arc_needle_show && !config.gauge_fullCircle && !config.gauge_label_show ? 10 : 0; + const padding = $$.getCurrentPadding(true); + state.margin = !isNonAxis && isRotated ? { + top: padding.top, + right: isNonAxis ? 0 : padding.right + legendSize.right, + bottom: legendSize.bottom + padding.bottom, + left: subchartHeight + (isNonAxis ? 0 : padding.left) + } : { + top: (isFitPadding ? 0 : 4) + padding.top, + // for top tick text + right: isNonAxis ? 0 : padding.right + legendSize.right, + bottom: gaugeHeight + subchartHeight + legendSize.bottom + padding.bottom, + left: isNonAxis ? 0 : padding.left + }; + state.margin = $$.getResettedPadding(state.margin); + state.margin2 = isRotated ? { + top: state.margin.top, + right: NaN, + bottom: 20 + legendSize.bottom, + left: $$.state.rotatedPadding.left + } : { + top: state.current.height - subchartHeight - legendSize.bottom, + right: NaN, + bottom: subchartXAxisHeight + legendSize.bottom, + left: state.margin.left + }; + state.margin3 = { + top: 0, + right: NaN, + bottom: 0, + left: 0 + }; + (_b = $$.updateSizeForLegend) == null ? void 0 : _b.call($$, currLegend); + state.width = state.current.width - state.margin.left - state.margin.right; + state.height = state.current.height - state.margin.top - state.margin.bottom; + if (state.width < 0) { + state.width = 0; + } + if (state.height < 0) { + state.height = 0; + } + state.width2 = isRotated ? state.margin.left - state.rotatedPadding.left - state.rotatedPadding.right : state.width; + state.height2 = isRotated ? state.height : state.current.height - state.margin2.top - state.margin2.bottom; + if (state.width2 < 0) { + state.width2 = 0; + } + if (state.height2 < 0) { + state.height2 = 0; + } + if ($$.hasArcType()) { + const hasGauge = $$.hasType("gauge"); + const isLegendRight = config.legend_show && state.isLegendRight; + const textWidth = (_c = state.hasRadar && $$.cache.get(KEY.radarTextWidth)) != null ? _c : 0; + state.arcWidth = state.width - (isLegendRight ? currLegend.width + 10 : 0) - textWidth; + state.arcHeight = state.height - (isLegendRight && !hasGauge ? 0 : 10); + if ((_d = config.arc_rangeText_values) == null ? void 0 : _d.length) { + if (hasGauge) { + state.arcWidth -= 25; + state.arcHeight -= 10; + state.margin.left += 10; + } else { + state.arcHeight -= 20; + state.margin.top += 10; + } + } + if (hasGauge && !config.gauge_fullCircle) { + state.arcHeight += state.height - $$.getPaddingBottomForGauge(); + } + (_e = $$.updateRadius) == null ? void 0 : _e.call($$); + } + if (state.isLegendRight && isNonAxis) { + state.margin3.left = state.arcWidth / 2 + state.radiusExpanded * 1.1; + } + } +}); + +;// ./src/ChartInternal/internals/style.ts + + +/* harmony default export */ var style = ({ + /** + * Add props color css rule to given selector + * @param {boolean} withShape Set shpes' prefix class + * @param {string} selector CSS selector + * @param {Array} props CSS props list + * @param {Function} propsFn Function to retrieve value or determine for props + * @returns {Function} + * @private + */ + setCssRule(withShape, selector, props, propsFn) { + const $$ = this; + const { config, state: { cssRule, style } } = $$; + return config.boost_useCssRule ? (selection) => { + selection.each((d) => { + const res = propsFn && (propsFn == null ? void 0 : propsFn.call($$, d)); + const shapeSelector = `${withShape ? `.${$SHAPE.shapes + $$.getTargetSelectorSuffix(d.id)}` : ""}${selector}`; + selector in cssRule && style.sheet.deleteRule(cssRule[shapeSelector]); + $$.state.cssRule[shapeSelector] = addCssRules( + style, + shapeSelector, + props.filter(Boolean).map((v) => isString(res) && v.indexOf(":") === -1 ? `${v}: ${res}` : v || "") + ); + }); + } : () => { + }; + }, + /** + * Get style prop value + * @param {Function|string} v Value + * @returns {string|null} + * @private + */ + getStylePropValue(v) { + const { config: { boost_useCssRule: useCssRule } } = this; + return useCssRule ? null : isFunction(v) ? v.bind(this) : v; + } +}); + +;// ./src/ChartInternal/internals/text.ts + + + + +function getRotateAnchor(angle) { + let anchor = "middle"; + if (angle > 0 && angle <= 170) { + anchor = "end"; + } else if (angle > 190 && angle <= 360) { + anchor = "start"; + } + return anchor; +} +function setRotatePos(d, pos, anchor, isRotated, isInverted) { + var _a; + const $$ = this; + const { value } = d; + const isCandlestickType = $$.isCandlestickType(d); + const isNegative = isNumber(value) && value < 0 || isCandlestickType && !((_a = $$.getCandlestickData(d)) == null ? void 0 : _a._isUp); + let { x, y } = pos; + const gap = 4; + const doubleGap = gap * 2; + if (isRotated) { + if (anchor === "start") { + x += isNegative ? 0 : doubleGap; + y += gap; + } else if (anchor === "middle") { + x += doubleGap; + y -= doubleGap; + } else if (anchor === "end") { + isNegative && (x -= doubleGap); + y += gap; + } + } else { + if (anchor === "start") { + x += gap; + isNegative && (y += doubleGap * 2); + } else if (anchor === "middle") { + y -= doubleGap; + } else if (anchor === "end") { + x -= gap; + isNegative && (y += doubleGap * 2); + } + if (isInverted) { + y += isNegative ? -17 : isCandlestickType ? 13 : 7; + } + } + return { x, y }; +} +function getTextPos(d, type) { + var _a; + const position = this.config.data_labels_position; + const { id, index, value } = d; + return (_a = isFunction(position) ? position.bind(this.api)(type, value, id, index, this.$el.text) : (id in position ? position[id] : position)[type]) != null ? _a : 0; +} +/* harmony default export */ var internals_text = ({ + opacityForText(d) { + const $$ = this; + return $$.isBarType(d) && !$$.meetsLabelThreshold( + Math.abs($$.getRatio("bar", d)), + "bar" + ) ? "0" : $$.hasDataLabel ? null : "0"; + }, + /** + * Initializes the text + * @private + */ + initText() { + const { $el } = this; + $el.main.select(`.${$COMMON.chart}`).append("g").attr("class", $TEXT.chartTexts).style("pointer-events", $el.funnel || $el.treemap ? "none" : null); + }, + /** + * Update chartText + * @param {object} targets $$.data.targets + * @private + */ + updateTargetsForText(targets) { + const $$ = this; + const classChartText = $$.getChartClass("Text"); + const classTexts = $$.getClass("texts", "id"); + const classFocus = $$.classFocus.bind($$); + const mainTextUpdate = $$.$el.main.select(`.${$TEXT.chartTexts}`).selectAll(`.${$TEXT.chartText}`).data(targets).attr("class", (d) => `${classChartText(d)}${classFocus(d)}`.trim()); + const mainTextEnter = mainTextUpdate.enter().append("g").style("opacity", "0").attr("class", classChartText).call( + $$.setCssRule( + true, + ` .${$TEXT.text}`, + ["fill", "pointer-events:none"], + $$.updateTextColor + ) + ); + mainTextEnter.append("g").attr("class", classTexts); + }, + /** + * Update text + * @private + */ + updateText() { + const $$ = this; + const { $el, $T, config, axis } = $$; + const classText = $$.getClass("text", "index"); + const labelsCentered = config.data_labels.centered; + const text = $el.main.selectAll(`.${$TEXT.texts}`).selectAll(`.${$TEXT.text}`).data($$.labelishData.bind($$)); + $T(text.exit()).style("fill-opacity", "0").remove(); + $el.text = text.enter().append("text").merge(text).attr("class", classText).attr("text-anchor", (d) => { + const isInverted = config[`axis_${axis == null ? void 0 : axis.getId(d.id)}_inverted`]; + let isEndAnchor = isInverted ? d.value > 0 : d.value < 0; + if ($$.isCandlestickType(d)) { + const data = $$.getCandlestickData(d); + isEndAnchor = !(data == null ? void 0 : data._isUp); + } else if ($$.isTreemapType(d)) { + return labelsCentered ? "middle" : "start"; + } + return config.axis_rotated ? isEndAnchor ? "end" : "start" : "middle"; + }).style("fill", $$.getStylePropValue($$.updateTextColor)).style("fill-opacity", "0").each(function(d, i, texts) { + const node = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this); + let { value } = d; + if ($$.isBubbleZType(d)) { + value = $$.getBubbleZData(value, "z"); + } else if ($$.isCandlestickType(d)) { + const data = $$.getCandlestickData(d); + if (data) { + value = data.close; + } + } + value = $$.isTreemapType(d) ? $$.treemapDataLabelFormat(d)(node) : $$.dataLabelFormat(d.id)(value, d.id, d.index, texts); + if (isNumber(value)) { + this.textContent = value; + } else { + setTextValue(node, value); + } + }); + }, + updateTextColor(d) { + const $$ = this; + const { config } = $$; + const labelColors = config.data_labels_colors; + const defaultColor = $$.isArcType(d) && !$$.isRadarType(d) || $$.isFunnelType(d) || $$.isTreemapType(d) ? null : $$.color(d); + let color; + if (isString(labelColors)) { + color = labelColors; + } else if (isObject(labelColors)) { + const { id } = d.data || d; + color = labelColors[id]; + } else if (isFunction(labelColors)) { + color = labelColors.bind($$.api)(defaultColor, d); + } + if ($$.isCandlestickType(d) && !isFunction(labelColors)) { + const value = $$.getCandlestickData(d); + if (!(value == null ? void 0 : value._isUp)) { + const downColor = config.candlestick_color_down; + color = isObject(downColor) ? downColor[d.id] : downColor; + } + } + return color || defaultColor; + }, + /** + * Update data label text background color + * @param {object} d Data object + * @param {object|string} option option object + * @returns {string|null} + * @private + */ + updateTextBGColor(d, option) { + const $$ = this; + const { $el } = $$; + let color = ""; + if (isString(option) || isObject(option)) { + const id = isString(option) ? "" : $$.getTargetSelectorSuffix("id" in d ? d.id : d.data.id); + const filter = $el.defs.select(["filter[id*='labels-bg", "']"].join(id)); + if (filter.size()) { + color = `url(#${filter.attr("id")})`; + } + } + return color || null; + }, + /** + * Redraw chartText + * @param {Function} getX Positioning function for x + * @param {Function} getY Positioning function for y + * @param {boolean} forFlow Weather is flow + * @param {boolean} withTransition transition is enabled + * @returns {Array} + * @private + */ + redrawText(getX, getY, forFlow, withTransition) { + const $$ = this; + const { $T, axis, config, state: { hasTreemap } } = $$; + const t = getRandom(true); + const isRotated = config.axis_rotated; + const angle = config.data_labels.rotate; + const anchorString = getRotateAnchor(angle); + const rotateString = angle ? `rotate(${angle})` : ""; + $$.$el.text.style("fill", $$.getStylePropValue($$.updateTextColor)).attr( + "filter", + (d) => $$.updateTextBGColor.bind($$)(d, config.data_labels_backgroundColors) + ).style("fill-opacity", forFlow ? 0 : $$.opacityForText.bind($$)).each(function(d, i) { + const node = $T( + hasTreemap && this.childElementCount ? this.parentNode : this, + !!(withTransition && this.getAttribute("x")), + t + ); + const isInverted = config[`axis_${axis == null ? void 0 : axis.getId(d.id)}_inverted`]; + let pos = { + x: getX.bind(this)(d, i), + y: getY.bind(this)(d, i) + }; + if (angle) { + pos = setRotatePos.bind($$)(d, pos, anchorString, isRotated, isInverted); + node.attr("text-anchor", anchorString); + } + if (this.childElementCount || angle) { + node.attr("transform", `translate(${pos.x} ${pos.y}) ${rotateString}`); + } else { + node.attr("x", pos.x).attr("y", pos.y); + } + }); + return true; + }, + /** + * Gets the getBoundingClientRect value of the element + * @param {HTMLElement|d3.selection} element Target element + * @param {string} className Class name + * @returns {object} value of element.getBoundingClientRect() + * @private + */ + getTextRect(element, className) { + const $$ = this; + let base = element.node ? element.node() : element; + if (!/text/i.test(base.tagName)) { + base = base.querySelector("text"); + } + const text = base.textContent; + const cacheKey = `${KEY.textRect}-${text.replace(/\W/g, "_")}`; + let rect = $$.cache.get(cacheKey); + if (!rect) { + $$.$el.svg.append("text").style("visibility", "hidden").style("font", (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(base).style("font")).classed(className, true).text(text).call((v) => { + rect = getBoundingRect(v.node()); + }).remove(); + $$.cache.add(cacheKey, rect); + } + return rect; + }, + /** + * Gets the x or y coordinate of the text + * @param {object} indices Indices values + * @param {boolean} forX whether or not to x + * @returns {number} coordinates + * @private + */ + generateXYForText(indices, forX) { + const $$ = this; + const { state: { hasRadar, hasFunnel, hasTreemap } } = $$; + const types = Object.keys(indices); + const points = {}; + const getter = forX ? $$.getXForText : $$.getYForText; + hasFunnel && types.push("funnel"); + hasRadar && types.push("radar"); + hasTreemap && types.push("treemap"); + types.forEach((v) => { + points[v] = $$[`generateGet${capitalize(v)}Points`](indices[v], false); + }); + return function(d, i) { + const type = $$.isAreaType(d) && "area" || $$.isBarType(d) && "bar" || $$.isCandlestickType(d) && "candlestick" || $$.isFunnelType(d) && "funnel" || $$.isRadarType(d) && "radar" || $$.isTreemapType(d) && "treemap" || "line"; + return getter.call($$, points[type](d, i), d, this); + }; + }, + /** + * Get centerized text position for bar type data.label.text + * @param {object} d Data object + * @param {Array} points Data points position + * @param {HTMLElement} textElement Data label text element + * @param {string} type 'x' or 'y' + * @returns {number} Position value + * @private + */ + getCenteredTextPos(d, points, textElement, type) { + const $$ = this; + const { config } = $$; + const isRotated = config.axis_rotated; + const isBarType = $$.isBarType(d); + const isTreemapType = $$.isTreemapType(d); + if (config.data_labels.centered && (isBarType || isTreemapType)) { + const rect = getBoundingRect(textElement); + if (isBarType) { + const isPositive = $$.getRangedData(d, null, "bar") >= 0; + if (isRotated) { + const w = (isPositive ? points[1][1] - points[0][1] : points[0][1] - points[1][1]) / 2 + rect.width / 2; + return isPositive ? -w - 3 : w + 2; + } else { + const h = (isPositive ? points[0][1] - points[1][1] : points[1][1] - points[0][1]) / 2 + rect.height / 2; + return isPositive ? h : -h - 2; + } + } else if (isTreemapType) { + return type === "x" ? (points[1][0] - points[0][0]) / 2 : (points[1][1] - points[0][1]) / 2 + rect.height / 2; + } + } + return 0; + }, + /** + * Gets the x coordinate of the text + * @param {object} points Data points position + * @param {object} d Data object + * @param {HTMLElement} textElement Data label text element + * @returns {number} x coordinate + * @private + */ + getXForText(points, d, textElement) { + var _a; + const $$ = this; + const { config } = $$; + const isRotated = config.axis_rotated; + const isFunnelType = $$.isFunnelType(d); + const isTreemapType = $$.isTreemapType(d); + let xPos = points ? points[0][0] : 0; + if ($$.isCandlestickType(d)) { + if (isRotated) { + xPos = ((_a = $$.getCandlestickData(d)) == null ? void 0 : _a._isUp) ? points[2][2] + 4 : points[2][1] - 4; + } else { + xPos += (points[1][0] - xPos) / 2; + } + } else if (isFunnelType) { + xPos += $$.state.current.width / 2; + } else if (isTreemapType) { + xPos += config.data_labels.centered ? 0 : 5; + } else { + if (isRotated) { + const isInverted = config[`axis_${$$.axis.getId(d.id)}_inverted`]; + const padding = $$.isBarType(d) ? 4 : 6; + const value = d.value; + xPos = points[2][1]; + if (isInverted) { + xPos -= padding * (value > 0 ? 1 : -1); + } else { + xPos += padding * (value < 0 ? -1 : 1); + } + } else { + xPos = $$.hasType("bar") ? (points[2][0] + points[0][0]) / 2 : xPos; + } + } + if (isRotated || isTreemapType) { + xPos += $$.getCenteredTextPos(d, points, textElement, "x"); + } + return xPos + getTextPos.call(this, d, "x"); + }, + /** + * Gets the y coordinate of the text + * @param {object} points Data points position + * @param {object} d Data object + * @param {HTMLElement} textElement Data label text element + * @returns {number} y coordinate + * @private + */ + getYForText(points, d, textElement) { + const $$ = this; + const { axis, config, state } = $$; + const isRotated = config.axis_rotated; + const isInverted = config[`axis_${axis == null ? void 0 : axis.getId(d.id)}_inverted`]; + const isBarType = $$.isBarType(d); + const isFunnelType = $$.isFunnelType(d); + const isTreemapType = $$.isTreemapType(d); + const r = config.point_r; + const rect = getBoundingRect(textElement); + let { value } = d; + let baseY = 3; + let yPos; + if ($$.isCandlestickType(d)) { + value = $$.getCandlestickData(d); + if (isRotated) { + yPos = points[0][0]; + yPos += (points[1][0] - yPos) / 2 + baseY; + } else { + yPos = value && value._isUp ? points[2][2] - baseY : points[2][1] + baseY * 4; + if (isInverted) { + yPos += 15 * (value._isUp ? 1 : -1); + } + } + } else if (isFunnelType) { + yPos = points ? points[0][1] + (points[1][1] - points[0][1]) / 2 + rect.height / 2 - 3 : 0; + } else if (isTreemapType) { + yPos = points[0][1] + (config.data_labels.centered ? 0 : rect.height + 5); + } else { + if (isRotated) { + yPos = (points[0][0] + points[2][0] + rect.height * 0.6) / 2; + } else { + yPos = points[2][1]; + if (isNumber(r) && r > 5 && ($$.isLineType(d) || $$.isScatterType(d))) { + baseY += config.point_r / 2.3; + } + if (value < 0 || value === 0 && !state.hasPositiveValue && state.hasNegativeValue) { + yPos += isInverted ? isBarType ? -3 : -5 : rect.height + (isBarType ? -baseY : baseY); + } else { + let diff = -baseY * 2; + if (isBarType) { + diff = -baseY; + } else if ($$.isBubbleType(d)) { + diff = baseY; + } + if (isInverted) { + diff = isBarType ? 10 : 15; + } + yPos += diff; + } + } + } + if (!isRotated || isTreemapType) { + yPos += $$.getCenteredTextPos(d, points, textElement, "y"); + } + return yPos + getTextPos.call(this, d, "y"); + }, + /** + * Calculate if two or more text nodes are overlapping + * Mark overlapping text nodes with "text-overlapping" class + * @param {string} id Axis id + * @param {ChartInternal} $$ ChartInternal context + * @param {string} selector Selector string + * @private + */ + markOverlapped(id, $$, selector) { + const textNodes = $$.$el.arcs.selectAll(selector); + const filteredTextNodes = textNodes.filter((node) => node.data.id !== id); + const textNode = textNodes.filter((node) => node.data.id === id); + const translate = getTranslation(textNode.node()); + const calcHypo = (x, y) => Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)); + textNode.node() && filteredTextNodes.each(function() { + const coordinate = getTranslation(this); + const filteredTextNode = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this); + const nodeForWidth = calcHypo(translate.e, translate.f) > calcHypo(coordinate.e, coordinate.f) ? textNode : filteredTextNode; + const overlapsX = Math.ceil(Math.abs(translate.e - coordinate.e)) < Math.ceil(nodeForWidth.node().getComputedTextLength()); + const overlapsY = Math.ceil(Math.abs(translate.f - coordinate.f)) < parseInt(textNode.style("font-size"), 10); + filteredTextNode.classed($TEXT.TextOverlapping, overlapsX && overlapsY); + }); + }, + /** + * Calculate if two or more text nodes are overlapping + * Remove "text-overlapping" class on selected text nodes + * @param {ChartInternal} $$ ChartInternal context + * @param {string} selector Selector string + * @private + */ + undoMarkOverlapped($$, selector) { + $$.$el.arcs.selectAll(selector).each(function() { + (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.selectAll)([this, this.previousSibling]).classed($TEXT.TextOverlapping, false); + }); + }, + /** + * Check if meets the ratio to show data label text + * @param {number} ratio ratio to meet + * @param {string} type chart type + * @returns {boolean} + * @private + */ + meetsLabelThreshold(ratio = 0, type) { + const $$ = this; + const { config } = $$; + const threshold = config[`${type}_label_threshold`] || 0; + return ratio >= threshold; + } +}); + +;// ./src/ChartInternal/internals/title.ts + + +function getTextXPos(pos = "left", width) { + const isNum = isNumber(width); + let position; + if (pos.indexOf("center") > -1) { + position = isNum ? width / 2 : "middle"; + } else if (pos.indexOf("right") > -1) { + position = isNum ? width : "end"; + } else { + position = isNum ? 0 : "start"; + } + return position; +} +/* harmony default export */ var internals_title = ({ + /** + * Initializes the title + * @private + */ + initTitle() { + const $$ = this; + const { config, $el } = $$; + if (config.title_text) { + $el.title = $el.svg.append("g"); + const text = $el.title.append("text").style("text-anchor", getTextXPos(config.title_position)).attr("class", $TEXT.title); + setTextValue(text, config.title_text, [0.3, 1.5]); + } + }, + /** + * Redraw title + * @private + */ + redrawTitle() { + const $$ = this; + const { config, state: { current }, $el: { title } } = $$; + if (title) { + const x = getTextXPos(config.title_position, current.width); + const y = (config.title_padding.top || 0) + $$.getTextRect($$.$el.title, $TEXT.title).height; + title.attr("transform", `translate(${x}, ${y})`); + } + }, + /** + * Get title padding + * @returns {number} padding value + * @private + */ + getTitlePadding() { + const $$ = this; + const { $el: { title }, config } = $$; + return (config.title_padding.top || 0) + (title ? $$.getTextRect(title, $TEXT.title).height : 0) + (config.title_padding.bottom || 0); + } +}); + +;// ./src/ChartInternal/internals/tooltip.ts + + + + +/* harmony default export */ var internals_tooltip = ({ + /** + * Initializes the tooltip + * @private + */ + initTooltip() { + const $$ = this; + const { config, $el } = $$; + $el.tooltip = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(config.tooltip_contents.bindto); + if ($el.tooltip.empty()) { + $el.tooltip = $el.chart.append("div").attr("class", $TOOLTIP.tooltipContainer).style("position", "absolute").style("pointer-events", "none").style("display", "none"); + } + $$.bindTooltipResizePos(); + }, + /** + * Show tooltip at initialization. + * Is called only when tooltip.init.show=true option is set + * @private + */ + initShowTooltip() { + var _a; + const $$ = this; + const { config, $el, state: { hasAxis, hasRadar } } = $$; + if (config.tooltip_init_show) { + const isArc = !(hasAxis || hasRadar); + if (((_a = $$.axis) == null ? void 0 : _a.isTimeSeries()) && isString(config.tooltip_init_x)) { + config.tooltip_init_x = parseDate.call($$, config.tooltip_init_x); + } + $$.api.tooltip.show({ + data: { + [isArc ? "index" : "x"]: config.tooltip_init_x + } + }); + const position = config.tooltip_init_position; + if (!config.tooltip_contents.bindto && !isEmpty(position)) { + const { top = 0, left = 50 } = position; + $el.tooltip.style("top", isString(top) ? top : `${top}px`).style("left", isString(left) ? left : `${left}px`).style("display", null); + } + } + }, + /** + * Get the tooltip HTML string + * @param {Array} args Arguments + * @returns {string} Formatted HTML string + * @private + */ + getTooltipHTML(...args) { + const $$ = this; + const { api, config } = $$; + return isFunction(config.tooltip_contents) ? config.tooltip_contents.bind(api)(...args) : $$.getTooltipContent(...args); + }, + /** + * Returns the tooltip content(HTML string) + * @param {object} d data + * @param {Function} defaultTitleFormat Default title format + * @param {Function} defaultValueFormat Default format for each data value in the tooltip. + * @param {Function} color Color function + * @returns {string} html + * @private + */ + getTooltipContent(d, defaultTitleFormat, defaultValueFormat, color) { + var _a; + const $$ = this; + const { api, config, state, $el } = $$; + const [titleFn, nameFn, valueFn] = ["title", "name", "value"].map((v) => { + const fn = config[`tooltip_format_${v}`]; + return isFunction(fn) ? fn.bind(api) : fn; + }); + const titleFormat = (...arg) => sanitize((titleFn || defaultTitleFormat)(...arg)); + const nameFormat = (...arg) => sanitize((nameFn || ((name) => name))(...arg)); + const valueFormat = (...arg) => { + const fn = valueFn || (state.hasTreemap || $$.isStackNormalized() ? (v, ratio) => `${(ratio * 100).toFixed(2)}%` : defaultValueFormat); + return sanitize(fn(...arg)); + }; + const order = config.tooltip_order; + const getRowValue = (row2) => $$.axis && $$.isBubbleZType(row2) ? $$.getBubbleZData(row2.value, "z") : $$.getBaseValue(row2); + const getBgColor = $$.levelColor ? (row2) => $$.levelColor(row2.value) : (row2) => color(row2); + const contents = config.tooltip_contents; + const tplStr = contents.template; + const targetIds = $$.mapToTargetIds(); + if (order === null && config.data_groups.length) { + const ids = $$.orderTargets($$.data.targets).map((i2) => i2.id).reverse(); + d.sort((a, b) => { + let v1 = a ? a.value : null; + let v2 = b ? b.value : null; + if (v1 > 0 && v2 > 0) { + v1 = a.id ? ids.indexOf(a.id) : null; + v2 = b.id ? ids.indexOf(b.id) : null; + } + return v1 - v2; + }); + } else if (/^(asc|desc)$/.test(order)) { + const isAscending = order === "asc"; + d.sort((a, b) => { + const v1 = a ? getRowValue(a) : null; + const v2 = b ? getRowValue(b) : null; + return isAscending ? v1 - v2 : v2 - v1; + }); + } else if (isFunction(order)) { + d.sort(order.bind(api)); + } + const tpl = $$.getTooltipContentTemplate(tplStr); + const len = d.length; + let text; + let row; + let param; + let value; + let i; + for (i = 0; i < len; i++) { + row = d[i]; + if (!row || !(getRowValue(row) || getRowValue(row) === 0)) { + continue; + } + if (isUndefined(text)) { + const title = (state.hasAxis || state.hasRadar) && titleFormat(row.x); + text = tplProcess(tpl[0], { + CLASS_TOOLTIP: $TOOLTIP.tooltip, + TITLE: isValue(title) ? tplStr ? title : `<tr><th colspan="2">${title}</th></tr>` : "" + }); + } + if (!row.ratio && $el.arcs) { + param = ["arc", $$.$el.arcs.select(`path.${$ARC.arc}-${row.id}`).data()[0]]; + row.ratio = $$.getRatio(...param); + } + param = [row.ratio, row.id, row.index]; + if ($$.isAreaRangeType(row)) { + const [high, low] = ["high", "low"].map( + (v) => valueFormat($$.getRangedData(row, v), ...param) + ); + const mid = valueFormat(getRowValue(row), ...param); + value = `<b>Mid:</b> ${mid} <b>High:</b> ${high} <b>Low:</b> ${low}`; + } else if ($$.isCandlestickType(row)) { + const [open, high, low, close, volume] = ["open", "high", "low", "close", "volume"].map((v) => { + const value2 = $$.getRangedData(row, v, "candlestick"); + return value2 ? valueFormat( + $$.getRangedData(row, v, "candlestick"), + ...param + ) : void 0; + }); + value = `<b>Open:</b> ${open} <b>High:</b> ${high} <b>Low:</b> ${low} <b>Close:</b> ${close}${volume ? ` <b>Volume:</b> ${volume}` : ""}`; + } else if ($$.isBarRangeType(row)) { + const { value: rangeValue, id, index } = row; + value = `${valueFormat(rangeValue, void 0, id, index)}`; + } else { + value = valueFormat(getRowValue(row), ...param); + } + if (value !== void 0) { + if (row.name === null) { + continue; + } + const name = nameFormat((_a = row.name) != null ? _a : row.id, ...param); + const color2 = getBgColor(row); + const contentValue = { + CLASS_TOOLTIP_NAME: $TOOLTIP.tooltipName + $$.getTargetSelectorSuffix(row.id), + COLOR: tplStr || !$$.patterns ? color2 : `<svg><rect style="fill:${color2}" width="10" height="10"></rect></svg>`, + NAME: name, + VALUE: value + }; + if (tplStr && isObject(contents.text)) { + const index = targetIds.indexOf(row.id); + Object.keys(contents.text).forEach((key) => { + contentValue[key] = contents.text[key][index]; + }); + } + text += tplProcess(tpl[1], contentValue); + } + } + return `${text}</table>`; + }, + /** + * Get the content template string + * @param {string} tplStr Tempalte string + * @returns {Array} Template string + * @private + */ + getTooltipContentTemplate(tplStr) { + return (tplStr || `<table class="{=CLASS_TOOLTIP}"><tbody> + {=TITLE} + {{<tr class="{=CLASS_TOOLTIP_NAME}"> + <td class="name">${this.patterns ? `{=COLOR}` : `<span style="background-color:{=COLOR}"></span>`}{=NAME}</td> + <td class="value">{=VALUE}</td> + </tr>}} + </tbody></table>`).replace(/(\r?\n|\t)/g, "").split(/{{(.*)}}/); + }, + /** + * Update tooltip position coordinate + * @param {object} dataToShow Data object + * @param {SVGElement} eventTarget Event element + * @private + */ + setTooltipPosition(dataToShow, eventTarget) { + var _a, _b; + const $$ = this; + const { config, scale, state, $el: { eventRect, tooltip, svg } } = $$; + const { bindto } = config.tooltip_contents; + const isRotated = config.axis_rotated; + const datum = tooltip == null ? void 0 : tooltip.datum(); + if (!bindto && datum) { + const data = dataToShow != null ? dataToShow : JSON.parse(datum.current); + const [x, y] = getPointer(state.event, eventTarget != null ? eventTarget : eventRect == null ? void 0 : eventRect.node()); + const currPos = { x, y }; + if (state.hasAxis && scale.x && datum && "x" in datum) { + const getYPos = (value = 0, id, axisId = "y") => { + var _a2; + const scaleFn = scale[id ? (_a2 = $$.axis) == null ? void 0 : _a2.getId(id) : axisId]; + return scaleFn ? scaleFn(value) + (isRotated ? state.margin.left : state.margin.top) : 0; + }; + currPos.xAxis = scale.x(datum.x) + // add margin only when user specified tooltip.position function + (config.tooltip_position ? isRotated ? state.margin.top : state.margin.left : 0); + if (data.length === 1) { + currPos.yAxis = getYPos(data[0].value, data[0].id); + } else { + currPos.yAxis = getYPos; + } + } + const { width = 0, height = 0 } = datum; + const pos = (_b = (_a = config.tooltip_position) == null ? void 0 : _a.bind($$.api)( + data, + width, + height, + eventRect == null ? void 0 : eventRect.node(), + currPos + )) != null ? _b : hasViewBox(svg) ? $$.getTooltipPositionViewBox.bind($$)(width, height, currPos) : $$.getTooltipPosition.bind($$)(width, height, currPos); + ["top", "left"].forEach((v) => { + const value = pos[v]; + tooltip.style(v, `${value}px`); + if (v === "left" && !datum.xPosInPercent) { + datum.xPosInPercent = value / state.current.width * 100; + } + }); + } + }, + /** + * Get tooltip position when svg has vieBox attribute + * @param {number} tWidth Tooltip width value + * @param {number} tHeight Tooltip height value + * @param {object} currPos Current event position value from SVG coordinate + * @returns {object} top, left value + */ + getTooltipPositionViewBox(tWidth, tHeight, currPos) { + var _a, _b; + const $$ = this; + const { $el: { eventRect, svg }, config, state } = $$; + const isRotated = config.axis_rotated; + const hasArcType = $$.hasArcType() || state.hasFunnel || state.hasTreemap; + const target = (_b = (_a = hasArcType ? svg : eventRect) == null ? void 0 : _a.node()) != null ? _b : state.event.target; + let { x, y } = currPos; + if (state.hasAxis) { + x = isRotated ? x : currPos.xAxis; + y = isRotated ? currPos.xAxis : y; + } + const ctm = getTransformCTM(target, x, y, false); + const rect = target.getBoundingClientRect(); + const size = getTransformCTM(target, 20, 0, false).x; + let top = ctm.y; + let left = ctm.x + tWidth / 2 + size; + if (hasArcType) { + if (state.hasFunnel || state.hasTreemap || state.hasRadar) { + left -= tWidth / 2 + size; + top += tHeight; + } else { + top += rect.height / 2; + left += rect.width / 2 - (tWidth - size); + } + } + if (left + tWidth > rect.width) { + left = rect.width - tWidth - size; + } + if (top + tHeight > rect.height) { + top -= tHeight * 2; + } + return { + top, + left + }; + }, + /** + * Returns the position of the tooltip + * @param {string} tWidth Width value of tooltip element + * @param {string} tHeight Height value of tooltip element + * @param {object} currPos Current mouse position + * @returns {object} top, left value + * @private + */ + getTooltipPosition(tWidth, tHeight, currPos) { + var _a, _b, _c; + const $$ = this; + const { config, scale, state } = $$; + const { width, height, current, hasFunnel, hasRadar, hasTreemap, isLegendRight, inputType } = state; + const hasGauge = $$.hasType("gauge") && !config.gauge_fullCircle; + const isRotated = config.axis_rotated; + const hasArcType = $$.hasArcType(); + const svgLeft = $$.getSvgLeft(true); + let chartRight = svgLeft + current.width - $$.getCurrentPaddingByDirection("right"); + const size = 20; + let { x, y } = currPos; + if (hasRadar) { + x += x >= width / 2 ? 15 : -(tWidth + 15); + y += 15; + } else if (hasArcType) { + const notTouch = inputType !== "touch"; + if (notTouch) { + let titlePadding = (_b = (_a = $$.getTitlePadding) == null ? void 0 : _a.call($$)) != null ? _b : 0; + if (titlePadding && hasGauge && ((_c = config.arc_rangeText_values) == null ? void 0 : _c.length)) { + titlePadding += 10; + } + x += (width - (isLegendRight ? $$.getLegendWidth() : 0)) / 2; + y += (hasGauge ? height : height / 2 + tHeight) + titlePadding; + } + } else if (hasFunnel || hasTreemap) { + y += tHeight; + } else { + const padding = { + top: $$.getCurrentPaddingByDirection("top", true), + left: $$.getCurrentPaddingByDirection("left", true) + }; + if (isRotated) { + x += svgLeft + padding.left + size; + y = padding.top + currPos.xAxis + size; + chartRight -= svgLeft; + } else { + x = svgLeft + padding.left + size + (scale.zoom ? x : currPos.xAxis); + y += padding.top - 5; + } + } + if (x + tWidth + 15 > chartRight) { + x -= tWidth + (hasFunnel || hasTreemap || hasArcType ? 0 : isRotated ? size * 2 : 38); + } + if (y + tHeight > current.height) { + const gap = hasTreemap ? tHeight + 10 : 30; + y -= hasGauge ? tHeight * 1.5 : tHeight + gap; + } + const pos = { top: y, left: x }; + Object.keys(pos).forEach((v) => { + if (pos[v] < 0) { + pos[v] = 0; + } + }); + return pos; + }, + /** + * Show the tooltip + * @param {object} selectedData Data object + * @param {SVGElement} eventTarget Event element + * @private + */ + showTooltip(selectedData, eventTarget) { + const $$ = this; + const { config, $el: { tooltip } } = $$; + const dataToShow = selectedData.filter((d) => d && isValue($$.getBaseValue(d))); + if (!tooltip || dataToShow.length === 0 || !config.tooltip_show) { + return; + } + let datum = tooltip.datum(); + const dataStr = JSON.stringify(selectedData); + if (!datum || datum.current !== dataStr) { + const { index, x } = selectedData.concat().sort()[0]; + callFn(config.tooltip_onshow, $$.api, selectedData); + tooltip.html($$.getTooltipHTML( + selectedData, + // data + $$.axis ? $$.axis.getXAxisTickFormat() : $$.categoryName.bind($$), + // defaultTitleFormat + $$.getDefaultValueFormat(), + // defaultValueFormat + $$.color + // color + )).style("display", null).style("visibility", null).datum(datum = { + index, + x, + current: dataStr, + width: tooltip.property("offsetWidth"), + height: tooltip.property("offsetHeight") + }); + callFn(config.tooltip_onshown, $$.api, selectedData); + $$._handleLinkedCharts(true, index); + } + $$.setTooltipPosition(dataToShow, eventTarget); + }, + /** + * Adjust tooltip position on resize event + * @private + */ + bindTooltipResizePos() { + const $$ = this; + const { resizeFunction, state, $el: { tooltip } } = $$; + resizeFunction.add(() => { + if (tooltip.style("display") === "block") { + const { current } = state; + const { width, xPosInPercent } = tooltip.datum(); + let value = current.width / 100 * xPosInPercent; + const diff = current.width - (value + width); + if (diff < 0) { + value += diff; + } + tooltip.style("left", `${value}px`); + } + }); + }, + /** + * Hide the tooltip + * @param {boolean} force Force to hide + * @private + */ + hideTooltip(force) { + var _a; + const $$ = this; + const { api, config, $el: { tooltip } } = $$; + if (tooltip && tooltip.style("display") !== "none" && (!config.tooltip_doNotHide || force)) { + const selectedData = JSON.parse((_a = tooltip.datum().current) != null ? _a : {}); + callFn(config.tooltip_onhide, api, selectedData); + tooltip.style("display", "none").style("visibility", "hidden").datum(null); + callFn(config.tooltip_onhidden, api, selectedData); + } + }, + /** + * Toggle display for linked chart instances + * @param {boolean} show true: show, false: hide + * @param {number} index x Axis index + * @private + */ + _handleLinkedCharts(show, index) { + const $$ = this; + const { charts, config, state: { event } } = $$; + if ((event == null ? void 0 : event.isTrusted) && config.tooltip_linked && charts.length > 1) { + const linkedName = config.tooltip_linked_name; + charts.filter((c) => c !== $$.api).forEach((c) => { + const { config: config2, $el } = c.internal; + const isLinked = config2.tooltip_linked; + const name = config2.tooltip_linked_name; + const isInDom = browser_doc.body.contains($el.chart.node()); + if (isLinked && linkedName === name && isInDom) { + const data = $el.tooltip.data()[0]; + const isNotSameIndex = index !== (data == null ? void 0 : data.index); + try { + c.tooltip[show && isNotSameIndex ? "show" : "hide"]({ index }); + } catch (e) { + } + } + }); + } + }, + /** + * Update tooltip content on redraw + * - In a situation where tooltip is displayed and data load happens, it should reflect loaded data to tooltip + * @param {d3Selection} context Event rect element + * @param {number} index Data index + * @private + */ + updateTooltipOnRedraw(context, index) { + var _a; + const $$ = this; + const { + config, + $el: { eventRect, svg, tooltip }, + state: { event, hasAxis, hasRadar, hasTreemap } + } = $$; + if ((tooltip == null ? void 0 : tooltip.style("display")) === "block" && event) { + const rect = context != null ? context : (_a = hasRadar ? svg : eventRect) == null ? void 0 : _a.node(); + if (hasAxis || hasRadar) { + if ($$.isMultipleX()) { + $$.selectRectForMultipleXs(rect, false); + } else { + const idx = index != null ? index : $$.getDataIndexFromEvent(event); + if (index === -1) { + $$.api.tooltip.hide(); + } else { + $$.selectRectForSingle(rect, idx); + $$.setExpand(idx, null, true); + } + } + } else { + const { clientX, clientY } = event; + setTimeout(() => { + let target = [clientX, clientY].every(Number.isFinite) && browser_doc.elementFromPoint(clientX, clientY); + const data = target && (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(target).datum(); + if (data) { + const d = $$.hasArcType() ? $$.convertToArcData($$.updateAngle(data)) : data == null ? void 0 : data.data; + hasTreemap && (target = svg.node()); + d && $$.showTooltip([d], target); + } else { + $$.api.tooltip.hide(); + } + }, config.transition_duration); + } + } + } +}); + +;// ./src/ChartInternal/internals/transform.ts + + +/* harmony default export */ var transform = ({ + getTranslate(target, index = 0) { + var _a; + const $$ = this; + const { config, state } = $$; + const isRotated = config.axis_rotated; + let padding = 0; + let x; + let y; + if (index && /^(x|y2?)$/.test(target)) { + padding = $$.getAxisSize(target) * index; + } + if (target === "main") { + x = asHalfPixel(state.margin.left); + y = asHalfPixel(state.margin.top); + } else if (target === "context") { + x = asHalfPixel(state.margin2.left); + y = asHalfPixel(state.margin2.top); + } else if (target === "legend") { + x = state.margin3.left; + y = state.margin3.top; + } else if (target === "x") { + x = isRotated ? -padding : 0; + y = isRotated ? 0 : state.height + padding; + } else if (target === "y") { + x = isRotated ? 0 : -padding; + y = isRotated ? state.height + padding : 0; + } else if (target === "y2") { + x = isRotated ? 0 : state.width + padding; + y = isRotated ? -padding - 1 : 0; + } else if (target === "subX") { + x = 0; + y = isRotated ? 0 : state.height2; + } else if (target === "arc") { + x = state.arcWidth / 2; + y = state.arcHeight / 2; + if ((_a = config.arc_rangeText_values) == null ? void 0 : _a.length) { + y += 5 + ($$.hasType("gauge") && config.title_text ? 10 : 0); + } + } else if (target === "polar") { + x = state.arcWidth / 2; + y = state.arcHeight / 2; + } else if (target === "radar") { + const [width, height] = $$.getRadarSize(); + x = state.width / 2 - width; + y = state.height / 2 - height; + } + return `translate(${x}, ${y})`; + }, + transformMain(withTransition, transitions) { + const $$ = this; + const { $el: { main }, $T } = $$; + const xAxis = (transitions == null ? void 0 : transitions.axisX) ? transitions.axisX : $T(main.select(`.${$AXIS.axisX}`), withTransition); + const yAxis = (transitions == null ? void 0 : transitions.axisY) ? transitions.axisY : $T(main.select(`.${$AXIS.axisY}`), withTransition); + const y2Axis = (transitions == null ? void 0 : transitions.axisY2) ? transitions.axisY2 : $T(main.select(`.${$AXIS.axisY2}`), withTransition); + $T(main, withTransition).attr("transform", $$.getTranslate("main")); + xAxis.attr("transform", $$.getTranslate("x")); + yAxis.attr("transform", $$.getTranslate("y")); + y2Axis.attr("transform", $$.getTranslate("y2")); + main.select(`.${$ARC.chartArcs}`).attr("transform", $$.getTranslate("arc")); + }, + transformAll(withTransition, transitions) { + const $$ = this; + const { config, state: { hasAxis, hasFunnel, hasTreemap }, $el } = $$; + !hasFunnel && !hasTreemap && $$.transformMain(withTransition, transitions); + hasAxis && config.subchart_show && $$.transformContext(withTransition, transitions); + $el.legend && $$.transformLegend(withTransition); + } +}); + +;// ./src/ChartInternal/internals/type.ts + + +/* harmony default export */ var type = ({ + /** + * Check if the given chart type is valid + * @param {string} type Chart type string + * @returns {boolean} + * @private + */ + isValidChartType(type) { + return !!(type && Object.values(TYPE).indexOf(type) > -1); + }, + setTargetType(targetIds, type) { + const $$ = this; + const { config, state: { withoutFadeIn } } = $$; + $$.mapToTargetIds(targetIds).forEach((id) => { + withoutFadeIn[id] = type === config.data_types[id]; + config.data_types[id] = type; + }); + if (!targetIds) { + config.data_type = type; + } + }, + /** + * Updte current used chart types + * @private + */ + updateTypesElements() { + const $$ = this; + const { state: { current } } = $$; + Object.keys(TYPE).forEach((v) => { + const t = TYPE[v]; + const has = $$.hasType(t, null, true); + const idx = current.types.indexOf(t); + if (idx === -1 && has) { + current.types.push(t); + } else if (idx > -1 && !has) { + current.types.splice(idx, 1); + } + }); + $$.setChartElements(); + }, + /** + * Check if given chart types exists + * @param {string} type Chart type + * @param {Array} targetsValue Data array + * @param {boolean} checkFromData Force to check type cotains from data targets + * @returns {boolean} + * @private + */ + hasType(type, targetsValue, checkFromData = false) { + var _a; + const $$ = this; + const { config, state: { current } } = $$; + const types = config.data_types; + const targets = targetsValue || $$.data.targets; + let has = false; + if (!checkFromData && ((_a = current.types) == null ? void 0 : _a.indexOf(type)) > -1) { + has = true; + } else if (targets == null ? void 0 : targets.length) { + targets.forEach((target) => { + const t = types[target.id]; + if (t === type || !t && type === "line") { + has = true; + } + }); + } else if (Object.keys(types).length) { + Object.keys(types).forEach((id) => { + if (types[id] === type) { + has = true; + } + }); + } else { + has = config.data_type === type; + } + return has; + }, + /** + * Check if contains given chart types + * @param {string} type Type key + * @param {object} targets Target data + * @param {Array} exclude Excluded types + * @returns {boolean} + * @private + */ + hasTypeOf(type, targets, exclude = []) { + if (type in TYPE_BY_CATEGORY) { + return !TYPE_BY_CATEGORY[type].filter((v) => exclude.indexOf(v) === -1).every((v) => !this.hasType(v, targets)); + } + return false; + }, + /** + * Check if given data is certain chart type + * @param {object} d Data object + * @param {string|Array} type chart type + * @returns {boolean} + * @private + */ + isTypeOf(d, type) { + var _a; + const id = isString(d) ? d : d.id; + const dataType = this.config && (((_a = this.config.data_types) == null ? void 0 : _a[id]) || this.config.data_type); + return isArray(type) ? type.indexOf(dataType) >= 0 : dataType === type; + }, + hasPointType() { + const $$ = this; + return $$.hasTypeOf("Line") || $$.hasType("bubble") || $$.hasType("scatter"); + }, + /** + * Check if contains arc types chart + * @param {object} targets Target data + * @param {Array} exclude Excluded types + * @returns {boolean} + * @private + */ + hasArcType(targets, exclude) { + return this.hasTypeOf("Arc", targets, exclude); + }, + hasMultiArcGauge() { + return this.hasType("gauge") && this.config.gauge_type === "multi"; + }, + isLineType(d) { + const id = isString(d) ? d : d.id; + return !this.config.data_types[id] || this.isTypeOf(id, TYPE_BY_CATEGORY.Line); + }, + isStepType(d) { + return this.isTypeOf(d, TYPE_BY_CATEGORY.Step); + }, + isSplineType(d) { + return this.isTypeOf(d, TYPE_BY_CATEGORY.Spline); + }, + isAreaType(d) { + return this.isTypeOf(d, TYPE_BY_CATEGORY.Area); + }, + isAreaRangeType(d) { + return this.isTypeOf(d, TYPE_BY_CATEGORY.AreaRange); + }, + isBarType(d) { + return this.isTypeOf(d, "bar"); + }, + isBubbleType(d) { + return this.isTypeOf(d, "bubble"); + }, + isCandlestickType(d) { + return this.isTypeOf(d, "candlestick"); + }, + isScatterType(d) { + return this.isTypeOf(d, "scatter"); + }, + isTreemapType(d) { + return this.isTypeOf(d, "treemap"); + }, + isPieType(d) { + return this.isTypeOf(d, "pie"); + }, + isFunnelType(d) { + return this.isTypeOf(d, "funnel"); + }, + isGaugeType(d) { + return this.isTypeOf(d, "gauge"); + }, + isDonutType(d) { + return this.isTypeOf(d, "donut"); + }, + isPolarType(d) { + return this.isTypeOf(d, "polar"); + }, + isRadarType(d) { + return this.isTypeOf(d, "radar"); + }, + isArcType(d) { + return this.isPieType(d) || this.isDonutType(d) || this.isGaugeType(d) || this.isPolarType(d) || this.isRadarType(d); + }, + // determine if is 'circle' data point + isCirclePoint(node) { + const { config } = this; + const pattern = config.point_pattern; + let isCircle = false; + if ((node == null ? void 0 : node.tagName) === "circle") { + isCircle = true; + } else { + isCircle = config.point_type === "circle" && (!pattern || isArray(pattern) && pattern.length === 0); + } + return isCircle; + }, + lineData(d) { + return this.isLineType(d) ? [d] : []; + }, + arcData(d) { + return this.isArcType(d.data) ? [d] : []; + }, + /** + * Get data adapt for data label showing + * @param {object} d Data object + * @returns {Array} + * @private + */ + labelishData(d) { + return this.isBarType(d) || this.isLineType(d) || this.isScatterType(d) || this.isBubbleType(d) || this.isCandlestickType(d) || this.isFunnelType(d) || this.isRadarType(d) || this.isTreemapType(d) ? d.values.filter((v) => isNumber(v.value) || Boolean(v.value)) : []; + }, + barLineBubbleData(d) { + return this.isBarType(d) || this.isLineType(d) || this.isBubbleType(d) ? d.values : []; + }, + // https://github.com/d3/d3-shape#curves + isInterpolationType(type) { + return [ + "basis", + "basis-closed", + "basis-open", + "bundle", + "cardinal", + "cardinal-closed", + "cardinal-open", + "catmull-rom", + "catmull-rom-closed", + "catmull-rom-open", + "linear", + "linear-closed", + "monotone-x", + "monotone-y", + "natural" + ].indexOf(type) >= 0; + } +}); + +// EXTERNAL MODULE: external {"commonjs":"d3-shape","commonjs2":"d3-shape","amd":"d3-shape","root":"d3"} +var external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_ = __webpack_require__(9); +;// ./src/ChartInternal/shape/shape.ts + + + + +function getGroupedDataPointsFn(d) { + const $$ = this; + let fn; + if ($$.isLineType(d)) { + fn = $$.generateGetLinePoints($$.getShapeIndices($$.isLineType)); + } else if ($$.isBarType(d)) { + fn = $$.generateGetBarPoints($$.getShapeIndices($$.isBarType)); + } + return fn; +} +/* harmony default export */ var shape = ({ + /** + * Get the shape draw function + * @returns {object} + * @private + */ + getDrawShape() { + const $$ = this; + const isRotated = $$.config.axis_rotated; + const { hasRadar, hasTreemap } = $$.state; + const shape = { type: {}, indices: {}, pos: {} }; + !hasTreemap && ["bar", "candlestick", "line", "area"].forEach((v) => { + const name = capitalize(/^(bubble|scatter)$/.test(v) ? "line" : v); + if ($$.hasType(v) || $$.hasTypeOf(name) || v === "line" && ($$.hasType("bubble") || $$.hasType("scatter"))) { + const indices = $$.getShapeIndices($$[`is${name}Type`]); + const drawFn = $$[`generateDraw${name}`]; + shape.indices[v] = indices; + shape.type[v] = drawFn ? drawFn.bind($$)(indices, false) : void 0; + } + }); + if (!$$.hasArcType() || hasRadar || hasTreemap) { + let cx; + let cy; + if (!hasTreemap) { + cx = hasRadar ? $$.radarCircleX : isRotated ? $$.circleY : $$.circleX; + cy = hasRadar ? $$.radarCircleY : isRotated ? $$.circleX : $$.circleY; + } + shape.pos = { + xForText: $$.generateXYForText(shape.indices, true), + yForText: $$.generateXYForText(shape.indices, false), + cx: (cx || function() { + }).bind($$), + cy: (cy || function() { + }).bind($$) + }; + } + return shape; + }, + /** + * Get shape's indices according it's position within each axis tick. + * + * From the below example, indices will be: + * ==> {data1: 0, data2: 0, data3: 1, data4: 1, __max__: 1} + * + * data1 data3 data1 data3 + * data2 data4 data2 data4 + * ------------------------- + * 0 1 + * @param {Function} typeFilter Chart type filter function + * @returns {object} Indices object with its position + */ + getShapeIndices(typeFilter) { + const $$ = this; + const { config } = $$; + const xs = config.data_xs; + const hasXs = notEmpty(xs); + const indices = {}; + let i = hasXs ? {} : 0; + if (hasXs) { + getUnique(Object.keys(xs).map((v) => xs[v])).forEach((v) => { + i[v] = 0; + indices[v] = {}; + }); + } + $$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$)).forEach((d) => { + var _a; + const xKey = d.id in xs ? xs[d.id] : ""; + const ind = xKey ? indices[xKey] : indices; + for (let j = 0, groups; groups = config.data_groups[j]; j++) { + if (groups.indexOf(d.id) < 0) { + continue; + } + for (let k = 0, key; key = groups[k]; k++) { + if (key in ind) { + ind[d.id] = ind[key]; + break; + } + if (d.id !== key && xKey) { + ind[key] = (_a = ind[d.id]) != null ? _a : i[xKey]; + } + } + } + if (isUndefined(ind[d.id])) { + ind[d.id] = xKey ? i[xKey]++ : i++; + ind.__max__ = (xKey ? i[xKey] : i) - 1; + } + }); + return indices; + }, + /** + * Get indices value based on data ID value + * @param {object} indices Indices object + * @param {object} d Data row + * @param {string} caller Caller function name (Used only for 'sparkline' plugin) + * @returns {object} Indices object + * @private + */ + getIndices(indices, d, caller) { + const $$ = this; + const { data_xs: xs, bar_indices_removeNull: removeNull } = $$.config; + const { id, index } = d; + if ($$.isBarType(id) && removeNull) { + const ind = {}; + $$.getAllValuesOnIndex(index, true).forEach((v, i) => { + ind[v.id] = i; + ind.__max__ = i; + }); + return ind; + } + return notEmpty(xs) ? indices[xs[id]] : indices; + }, + /** + * Get indices max number + * @param {object} indices Indices object + * @returns {number} Max number + * @private + */ + getIndicesMax(indices) { + return notEmpty(this.config.data_xs) ? ( + // if is multiple xs, return total sum of xs' __max__ value + Object.keys(indices).map((v) => indices[v].__max__ || 0).reduce((acc, curr) => acc + curr) + ) : indices.__max__; + }, + getShapeX(offset, indices, isSub) { + const $$ = this; + const { config, scale } = $$; + const currScale = isSub ? scale.subX : scale.zoom || scale.x; + const barOverlap = config.bar_overlap; + const barPadding = config.bar_padding; + const sum = (p, c) => p + c; + const halfWidth = isObjectType(offset) && (offset._$total.length ? offset._$total.reduce(sum) / 2 : 0); + return (d) => { + const ind = $$.getIndices(indices, d, "getShapeX"); + const index = d.id in ind ? ind[d.id] : 0; + const targetsNum = (ind.__max__ || 0) + 1; + let x = 0; + if (notEmpty(d.x)) { + const xPos = currScale(d.x, true); + if (halfWidth) { + const offsetWidth = offset[d.id] || offset._$width; + x = barOverlap ? xPos - offsetWidth / 2 : xPos - offsetWidth + offset._$total.slice(0, index + 1).reduce(sum) - halfWidth; + } else { + x = xPos - (isNumber(offset) ? offset : offset._$width) * (targetsNum / 2 - (barOverlap ? 1 : index)); + } + } + if (offset && x && targetsNum > 1 && barPadding) { + if (index) { + x += barPadding * index; + } + if (targetsNum > 2) { + x -= (targetsNum - 1) * barPadding / 2; + } else if (targetsNum === 2) { + x -= barPadding / 2; + } + } + return x; + }; + }, + getShapeY(isSub) { + const $$ = this; + const isStackNormalized = $$.isStackNormalized(); + return (d) => { + let { value } = d; + if (isNumber(d)) { + value = d; + } else if ($$.isAreaRangeType(d)) { + value = $$.getBaseValue(d, "mid"); + } else if (isStackNormalized) { + value = $$.getRatio("index", d, true); + } else if ($$.isBubbleZType(d)) { + value = $$.getBubbleZData(d.value, "y"); + } else if ($$.isBarRangeType(d)) { + value = value[1]; + } + return $$.getYScaleById(d.id, isSub)(value); + }; + }, + /** + * Get shape based y Axis min value + * @param {string} id Data id + * @returns {number} + * @private + */ + getShapeYMin(id) { + const $$ = this; + const axisId = $$.axis.getId(id); + const scale = $$.scale[axisId]; + const [yMin] = scale.domain(); + const inverted = $$.config[`axis_${axisId}_inverted`]; + return !$$.isGrouped(id) && !inverted && yMin > 0 ? yMin : 0; + }, + /** + * Get Shape's offset data + * @param {Function} typeFilter Type filter function + * @returns {object} + * @private + */ + getShapeOffsetData(typeFilter) { + const $$ = this; + const targets = $$.orderTargets( + $$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$)) + ); + const isStackNormalized = $$.isStackNormalized(); + const shapeOffsetTargets = targets.map((target) => { + let rowValues = target.values; + const values = {}; + if ($$.isStepType(target)) { + rowValues = $$.convertValuesToStep(rowValues); + } + const rowValueMapByXValue = rowValues.reduce((out, d) => { + const key = Number(d.x); + out[key] = d; + values[key] = isStackNormalized ? $$.getRatio("index", d, true) : d.value; + return out; + }, {}); + return { + id: target.id, + rowValues, + rowValueMapByXValue, + values + }; + }); + const indexMapByTargetId = targets.reduce((out, { id }, index) => { + out[id] = index; + return out; + }, {}); + return { indexMapByTargetId, shapeOffsetTargets }; + }, + getShapeOffset(typeFilter, indices, isSub) { + const $$ = this; + const { shapeOffsetTargets, indexMapByTargetId } = $$.getShapeOffsetData( + typeFilter + ); + const groupsZeroAs = $$.config.data_groupsZeroAs; + return (d, idx) => { + const { id, value, x } = d; + const ind = $$.getIndices(indices, d); + const scale = $$.getYScaleById(id, isSub); + if ($$.isBarRangeType(d)) { + return scale(value[0]); + } + const dataXAsNumber = Number(x); + const y0 = scale(groupsZeroAs === "zero" ? 0 : $$.getShapeYMin(id)); + let offset = y0; + shapeOffsetTargets.filter((t) => t.id !== id && ind[t.id] === ind[id]).forEach((t) => { + const { + id: tid, + rowValueMapByXValue, + rowValues, + values: tvalues + } = t; + if (indexMapByTargetId[tid] < indexMapByTargetId[id]) { + const rValue = tvalues[dataXAsNumber]; + let row = rowValues[idx]; + if (!row || Number(row.x) !== dataXAsNumber) { + row = rowValueMapByXValue[dataXAsNumber]; + } + if ((row == null ? void 0 : row.value) * value >= 0 && isNumber(rValue)) { + const addOffset = value === 0 ? groupsZeroAs === "positive" && rValue > 0 || groupsZeroAs === "negative" && rValue < 0 : true; + if (addOffset) { + offset += scale(rValue) - y0; + } + } + } + }); + return offset; + }; + }, + /** + * Get data's y coordinate + * @param {object} d Target data + * @param {number} i Index number + * @returns {number} y coordinate + * @private + */ + circleY(d, i) { + const $$ = this; + const id = d.id; + let points; + if ($$.isGrouped(id)) { + points = getGroupedDataPointsFn.bind($$)(d); + } + return points ? points(d, i)[0][1] : $$.getYScaleById(id)($$.getBaseValue(d)); + }, + getBarW(type, axis, targetsNum) { + var _a, _b, _c, _d, _e; + const $$ = this; + const { config, org, scale, state } = $$; + const maxDataCount = $$.getMaxDataCount(); + const isGrouped = type === "bar" && ((_a = config.data_groups) == null ? void 0 : _a.length); + const configName = `${type}_width`; + const { k } = (_c = (_b = $$.getZoomTransform) == null ? void 0 : _b.call($$)) != null ? _c : { k: 1 }; + const xMinMax = [ + (_d = config.axis_x_min) != null ? _d : org.xDomain[0], + (_e = config.axis_x_max) != null ? _e : org.xDomain[1] + ].map($$.axis.isTimeSeries() ? parseDate.bind($$) : Number); + let tickInterval = axis.tickInterval(maxDataCount); + if (scale.zoom && !$$.axis.isCategorized() && k > 1) { + const isSameMinMax = xMinMax.every((v, i) => v === org.xDomain[i]); + tickInterval = org.xDomain.map((v, i) => { + const value = isSameMinMax ? v : v - Math.abs(xMinMax[i]); + return scale.zoom(value); + }).reduce((a, c) => Math.abs(a) + c) / maxDataCount; + } + const getWidth = (id) => { + const width = id ? config[configName][id] : config[configName]; + const ratio = id ? width.ratio : config[`${configName}_ratio`]; + const max = id ? width.max : config[`${configName}_max`]; + const w = isNumber(width) ? width : isFunction(width) ? width.call($$, state.width, targetsNum, maxDataCount) : targetsNum ? tickInterval * ratio / targetsNum : 0; + return max && w > max ? max : w; + }; + let result = getWidth(); + if (!isGrouped && isObjectType(config[configName])) { + result = { _$width: result, _$total: [] }; + $$.filterTargetsToShow($$.data.targets).forEach((v) => { + if (config[configName][v.id]) { + result[v.id] = getWidth(v.id); + result._$total.push(result[v.id] || result._$width); + } + }); + } + return result; + }, + /** + * Get shape element + * @param {string} shapeName Shape string + * @param {number} i Index number + * @param {string} id Data series id + * @returns {d3Selection} + * @private + */ + getShapeByIndex(shapeName, i, id) { + const $$ = this; + const { $el } = $$; + const suffix = isValue(i) ? `-${i}` : ``; + let shape = $el[shapeName]; + if (shape && !shape.empty()) { + shape = shape.filter((d) => id ? d.id === id : true).filter((d) => isValue(i) ? d.index === i : true); + } else { + shape = (id ? $el.main.selectAll( + `.${classes[`${shapeName}s`]}${$$.getTargetSelectorSuffix(id)}` + ) : $el.main).selectAll(`.${classes[shapeName]}${suffix}`); + } + return shape; + }, + isWithinShape(that, d) { + var _a; + const $$ = this; + const shape = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(that); + let isWithin; + if (!$$.isTargetToShow(d.id)) { + isWithin = false; + } else if ((_a = $$.hasValidPointType) == null ? void 0 : _a.call($$, that.nodeName)) { + isWithin = $$.isStepType(d) ? $$.isWithinStep(that, $$.getYScaleById(d.id)($$.getBaseValue(d))) : $$.isWithinCircle( + that, + $$.isBubbleType(d) ? $$.pointSelectR(d) * 1.5 : 0 + ); + } else if (that.nodeName === "path") { + isWithin = shape.classed(classes.bar) ? $$.isWithinBar(that) : true; + } + return isWithin; + }, + getInterpolate(d) { + const $$ = this; + const interpolation = $$.getInterpolateType(d); + return { + basis: external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveBasis, + "basis-closed": external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveBasisClosed, + "basis-open": external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveBasisOpen, + bundle: external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveBundle, + cardinal: external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveCardinal, + "cardinal-closed": external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveCardinalClosed, + "cardinal-open": external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveCardinalOpen, + "catmull-rom": external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveCatmullRom, + "catmull-rom-closed": external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveCatmullRomClosed, + "catmull-rom-open": external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveCatmullRomOpen, + "monotone-x": external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveMonotoneX, + "monotone-y": external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveMonotoneY, + natural: external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveNatural, + "linear-closed": external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveLinearClosed, + linear: external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveLinear, + step: external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveStep, + "step-after": external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveStepAfter, + "step-before": external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.curveStepBefore + }[interpolation]; + }, + getInterpolateType(d) { + const $$ = this; + const { config } = $$; + const type = config.spline_interpolation_type; + const interpolation = $$.isInterpolationType(type) ? type : "cardinal"; + return $$.isSplineType(d) ? interpolation : $$.isStepType(d) ? config.line_step_type : "linear"; + }, + isWithinBar(that) { + const mouse = getPointer(this.state.event, that); + const list = getRectSegList(that); + const [seg0, seg1] = list; + const x = Math.min(seg0.x, seg1.x); + const y = Math.min(seg0.y, seg1.y); + const offset = this.config.bar_sensitivity; + const { width, height } = that.getBBox(); + const sx = x - offset; + const ex = x + width + offset; + const sy = y + height + offset; + const ey = y - offset; + const isWithin = sx < mouse[0] && mouse[0] < ex && ey < mouse[1] && mouse[1] < sy; + return isWithin; + } +}); + +;// ./src/ChartInternal/ChartInternal.ts +var ChartInternal_defProp = Object.defineProperty; +var ChartInternal_defNormalProp = (obj, key, value) => key in obj ? ChartInternal_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var ChartInternal_publicField = (obj, key, value) => ChartInternal_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +class ChartInternal { + constructor(api) { + ChartInternal_publicField(this, "api"); + // API interface + ChartInternal_publicField(this, "config"); + // config object + ChartInternal_publicField(this, "cache"); + // cache instance + ChartInternal_publicField(this, "$el"); + // elements + ChartInternal_publicField(this, "state"); + // state variables + ChartInternal_publicField(this, "charts"); + // all Chart instances array within page (equivalent of 'bb.instances') + // data object + ChartInternal_publicField(this, "data", { + xs: {}, + targets: [] + }); + // Axis + ChartInternal_publicField(this, "axis"); + // Axis + // scales + ChartInternal_publicField(this, "scale", { + x: null, + y: null, + y2: null, + subX: null, + subY: null, + subY2: null, + zoom: null + }); + // original values + ChartInternal_publicField(this, "org", { + xScale: null, + xDomain: null + }); + // formatter function + ChartInternal_publicField(this, "color"); + ChartInternal_publicField(this, "patterns"); + ChartInternal_publicField(this, "levelColor"); + ChartInternal_publicField(this, "point"); + ChartInternal_publicField(this, "brush"); + // format function + ChartInternal_publicField(this, "format", { + extraLineClasses: null, + xAxisTick: null, + dataTime: null, + // dataTimeFormat + defaultAxisTime: null, + // defaultAxisTimeFormat + axisTime: null + // axisTimeFormat + }); + const $$ = this; + $$.api = api; + $$.config = new Options(); + $$.cache = new Cache(); + const store = new Store(); + $$.$el = store.getStore("element"); + $$.state = store.getStore("state"); + $$.$T = $$.$T.bind($$); + } + /** + * Get the selection based on transition config + * @param {SVGElement|d3Selection} selection Target selection + * @param {boolean} force Force transition + * @param {string} name Transition name + * @returns {d3Selection} + * @private + */ + $T(selection, force, name) { + const { config, state } = this; + const duration = config.transition_duration; + const subchart = config.subchart_show; + let t = selection; + if (t) { + if ("tagName" in t) { + t = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(t); + } + const transit = (force !== false && duration || force) && (!state.zooming || state.dragging) && !state.resizing && state.rendered && !subchart; + t = transit ? t.transition(name).duration(duration) : t; + } + return t; + } + beforeInit() { + const $$ = this; + $$.callPluginHook("$beforeInit"); + callFn($$.config.onbeforeinit, $$.api); + } + afterInit() { + const $$ = this; + $$.callPluginHook("$afterInit"); + callFn($$.config.onafterinit, $$.api); + } + init() { + const $$ = this; + const { config, state, $el } = $$; + const useCssRule = config.boost_useCssRule; + checkModuleImport($$); + state.hasRadar = !state.hasAxis && $$.hasType("radar"); + state.hasFunnel = !state.hasAxis && $$.hasType("funnel"); + state.hasTreemap = !state.hasAxis && $$.hasType("treemap"); + state.hasAxis = !$$.hasArcType() && !state.hasFunnel && !state.hasTreemap; + state.datetimeId = `bb-${+/* @__PURE__ */ new Date() * getRandom()}`; + if (useCssRule) { + const styleEl = browser_doc.createElement("style"); + styleEl.type = "text/css"; + browser_doc.head.appendChild(styleEl); + state.style = { + rootSelctor: `.${state.datetimeId}`, + sheet: styleEl.sheet + }; + $el.style = styleEl; + } + const bindto = { + element: config.bindto, + classname: "bb" + }; + if (isObject(config.bindto)) { + bindto.element = config.bindto.element || "#chart"; + bindto.classname = config.bindto.classname || bindto.classname; + } + $el.chart = isFunction(bindto.element.node) ? config.bindto.element : (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(bindto.element || []); + if ($el.chart.empty()) { + $el.chart = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(browser_doc.body.appendChild(browser_doc.createElement("div"))); + } + $el.chart.html("").classed(bindto.classname, true).classed(state.datetimeId, useCssRule).style("position", "relative"); + $$.initParams(); + $$.initToRender(); + } + /** + * Initialize the rendering process + * @param {boolean} forced Force to render process + * @private + */ + initToRender(forced) { + const $$ = this; + const { config, state, $el: { chart } } = $$; + const isHidden = () => hasStyle(chart, { display: "none", visibility: "hidden" }); + const isLazy = config.render.lazy === false ? false : config.render.lazy || isHidden(); + const MutationObserver = win.MutationObserver; + if (isLazy && MutationObserver && config.render.observe !== false && !forced) { + new MutationObserver((mutation, observer) => { + if (!isHidden()) { + observer.disconnect(); + !state.rendered && $$.initToRender(true); + } + }).observe(chart.node(), { + attributes: true, + attributeFilter: ["class", "style"] + }); + } + if (!isLazy || forced) { + $$.convertData(config, (res) => { + $$.initWithData(res); + $$.afterInit(); + }); + } + } + initParams() { + var _a; + const $$ = this; + const { config, format: format2, state } = $$; + const isRotated = config.axis_rotated; + $$.color = $$.generateColor(); + $$.levelColor = $$.generateLevelColor(); + if (config.padding === false) { + config.axis_x_show = false; + config.axis_y_show = false; + config.axis_y2_show = false; + config.subchart_show = false; + } + if ($$.hasPointType() || ((_a = $$.hasLegendDefsPoint) == null ? void 0 : _a.call($$))) { + $$.point = $$.generatePoint(); + } + if (state.hasAxis) { + $$.initClip(); + format2.extraLineClasses = $$.generateExtraLineClass(); + format2.dataTime = config.data_xLocaltime ? external_commonjs_d3_time_format_commonjs2_d3_time_format_amd_d3_time_format_root_d3_.timeParse : external_commonjs_d3_time_format_commonjs2_d3_time_format_amd_d3_time_format_root_d3_.utcParse; + format2.axisTime = config.axis_x_localtime ? external_commonjs_d3_time_format_commonjs2_d3_time_format_amd_d3_time_format_root_d3_.timeFormat : external_commonjs_d3_time_format_commonjs2_d3_time_format_amd_d3_time_format_root_d3_.utcFormat; + const isDragZoom = $$.config.zoom_enabled && $$.config.zoom_type === "drag"; + format2.defaultAxisTime = (d) => { + const { x, zoom } = $$.scale; + const isZoomed = isDragZoom ? zoom : zoom && x.orgDomain().toString() !== zoom.domain().toString(); + const specifier = d.getMilliseconds() && ".%L" || d.getSeconds() && ".:%S" || d.getMinutes() && "%I:%M" || d.getHours() && "%I %p" || d.getDate() !== 1 && "%b %d" || isZoomed && d.getDate() === 1 && "%b'%y" || d.getMonth() && "%-m/%-d" || "%Y"; + return format2.axisTime(specifier)(d); + }; + } + state.isLegendRight = config.legend_position === "right"; + state.isLegendInset = config.legend_position === "inset"; + state.isLegendTop = config.legend_inset_anchor === "top-left" || config.legend_inset_anchor === "top-right"; + state.isLegendLeft = config.legend_inset_anchor === "top-left" || config.legend_inset_anchor === "bottom-left"; + state.rotatedPadding.top = $$.getResettedPadding(state.rotatedPadding.top); + state.rotatedPadding.right = isRotated && !config.axis_x_show ? 0 : 30; + state.inputType = convertInputType( + config.interaction_inputType_mouse, + config.interaction_inputType_touch + ); + } + initWithData(data2) { + var _a, _b, _c; + const $$ = this; + const { config, scale: scale2, state, $el, org } = $$; + const { hasAxis, hasFunnel, hasTreemap } = state; + const hasInteraction = config.interaction_enabled; + const hasPolar = $$.hasType("polar"); + const labelsBGColor = config.data_labels_backgroundColors; + if (hasAxis) { + $$.axis = $$.getAxisInstance(); + config.zoom_enabled && $$.initZoom(); + } + $$.data.xs = {}; + $$.data.targets = $$.convertDataToTargets(data2); + if (config.data_filter) { + $$.data.targets = $$.data.targets.filter(config.data_filter.bind($$.api)); + } + if (config.data_hide) { + $$.addHiddenTargetIds( + config.data_hide === true ? $$.mapToIds($$.data.targets) : config.data_hide + ); + } + if (config.legend_hide) { + $$.addHiddenLegendIds( + config.legend_hide === true ? $$.mapToIds($$.data.targets) : config.legend_hide + ); + } + $$.updateSizes(); + $$.updateScales(true); + if (hasAxis) { + const { x, y, y2, subX, subY, subY2 } = scale2; + if (x) { + x.domain(sortValue($$.getXDomain($$.data.targets), !config.axis_x_inverted)); + subX.domain(x.domain()); + org.xDomain = x.domain(); + } + if (y) { + y.domain($$.getYDomain($$.data.targets, "y")); + subY.domain(y.domain()); + } + if (y2) { + y2.domain($$.getYDomain($$.data.targets, "y2")); + subY2 && subY2.domain(y2.domain()); + } + } + $el.svg = $el.chart.append("svg").style("overflow", "hidden").style("display", "block"); + if (hasInteraction && state.inputType) { + const isTouch = state.inputType === "touch"; + const { onclick, onover, onout } = config; + $el.svg.on("click", (onclick == null ? void 0 : onclick.bind($$.api)) || null).on(isTouch ? "touchstart" : "mouseenter", (onover == null ? void 0 : onover.bind($$.api)) || null).on(isTouch ? "touchend" : "mouseleave", (onout == null ? void 0 : onout.bind($$.api)) || null); + } + config.svg_classname && $el.svg.attr("class", config.svg_classname); + const hasColorPatterns = isFunction(config.color_tiles) && $$.patterns; + if (hasAxis || hasColorPatterns || hasPolar || hasTreemap || labelsBGColor || ((_a = $$.hasLegendDefsPoint) == null ? void 0 : _a.call($$))) { + $el.defs = $el.svg.append("defs"); + if (hasAxis) { + ["id", "idXAxis", "idYAxis", "idGrid"].forEach((v) => { + $$.appendClip($el.defs, state.clip[v]); + }); + } + $$.generateTextBGColorFilter(labelsBGColor); + if (hasColorPatterns) { + $$.patterns.forEach((p) => $el.defs.append(() => p.node)); + } + } + $$.updateSvgSize(); + $$.bindResize(); + const main = $el.svg.append("g").classed($COMMON.main, true).attr("transform", hasFunnel || hasTreemap ? null : $$.getTranslate("main")); + $el.main = main; + config.subchart_show && $$.initSubchart(); + config.tooltip_show && $$.initTooltip(); + config.title_text && $$.initTitle(); + !hasTreemap && config.legend_show && $$.initLegend(); + if (config.data_empty_label_text) { + main.append("text").attr("class", `${$TEXT.text} ${$COMMON.empty}`).attr("text-anchor", "middle").attr("dominant-baseline", "middle"); + } + if (hasAxis) { + config.regions.length && $$.initRegion(); + !config.clipPath && $$.axis.init(); + } + main.append("g").classed($COMMON.chart, true).attr("clip-path", hasAxis ? state.clip.path : null); + $$.callPluginHook("$init"); + $$.initChartElements(); + if (hasAxis) { + hasInteraction && ((_b = $$.initEventRect) == null ? void 0 : _b.call($$)); + $$.initGrid(); + config.clipPath && ((_c = $$.axis) == null ? void 0 : _c.init()); + } + $$.updateTargets($$.data.targets); + $$.updateDimension(); + callFn(config.oninit, $$.api); + $$.setBackground(); + $$.redraw({ + withTransition: false, + withTransform: true, + withUpdateXDomain: true, + withUpdateOrgXDomain: true, + withTransitionForAxis: false, + initializing: true + }); + if (config.data_onmin || config.data_onmax) { + const minMax = $$.getMinMaxData(); + callFn(config.data_onmin, $$.api, minMax.min); + callFn(config.data_onmax, $$.api, minMax.max); + } + config.tooltip_show && $$.initShowTooltip(); + state.rendered = true; + } + /** + * Initialize chart elements + * @private + */ + initChartElements() { + const $$ = this; + const { hasAxis, hasRadar, hasTreemap } = $$.state; + const types = []; + if (hasAxis) { + const shapes = ["bar", "bubble", "candlestick", "line"]; + if ($$.config.bar_front) { + shapes.push(shapes.shift()); + } + shapes.forEach((v) => { + const name = capitalize(v); + if (v === "line" && $$.hasTypeOf(name) || $$.hasType(v)) { + types.push(name); + } + }); + } else if (hasTreemap) { + types.push("Treemap"); + } else if ($$.hasType("funnel")) { + types.push("Funnel"); + } else { + const hasPolar = $$.hasType("polar"); + if (!hasRadar) { + types.push("Arc", "Pie"); + } + if ($$.hasType("gauge")) { + types.push("Gauge"); + } else if (hasRadar) { + types.push("Radar"); + } else if (hasPolar) { + types.push("Polar"); + } + } + types.forEach((v) => { + $$[`init${v}`](); + }); + notEmpty($$.config.data_labels) && !$$.hasArcType(null, ["radar"]) && $$.initText(); + } + /** + * Set chart elements + * @private + */ + setChartElements() { + const $$ = this; + const { + $el: { + chart, + svg, + defs, + main, + tooltip: tooltip2, + legend: legend2, + title: title2, + grid, + needle, + arcs: arc, + circle: circles, + bar: bars, + candlestick, + line: lines, + area: areas, + text: texts + } + } = $$; + $$.api.$ = { + chart, + svg, + defs, + main, + tooltip: tooltip2, + legend: legend2, + title: title2, + grid, + arc, + circles, + bar: { bars }, + candlestick, + line: { lines, areas }, + needle, + text: { texts } + }; + } + /** + * Set background element/image + * @private + */ + setBackground() { + const $$ = this; + const { config: { background: bg }, state, $el: { svg } } = $$; + if (notEmpty(bg)) { + const element = svg.select("g").insert(bg.imgUrl ? "image" : "rect", ":first-child"); + if (bg.imgUrl) { + element.attr("href", bg.imgUrl); + } else if (bg.color) { + element.style("fill", bg.color).attr("clip-path", state.clip.path); + } + element.attr("class", bg.class || null).attr("width", "100%").attr("height", "100%"); + } + } + /** + * Update targeted element with given data + * @param {object} targets Data object formatted as 'target' + * @private + */ + updateTargets(targets) { + var _a; + const $$ = this; + const { hasAxis, hasFunnel, hasRadar, hasTreemap } = $$.state; + const helper = (type) => $$[`updateTargetsFor${type}`]( + targets.filter($$[`is${type}Type`].bind($$)) + ); + $$.updateTargetsForText(targets); + if (hasAxis) { + ["bar", "candlestick", "line"].forEach((v) => { + const name = capitalize(v); + if (v === "line" && $$.hasTypeOf(name) || $$.hasType(v)) { + helper(name); + } + }); + $$.updateTargetsForSubchart && $$.updateTargetsForSubchart(targets); + } else if ($$.hasArcType(targets)) { + let type = "Arc"; + if (hasRadar) { + type = "Radar"; + } else if ($$.hasType("polar")) { + type = "Polar"; + } + helper(type); + } else if (hasFunnel) { + helper("Funnel"); + } else if (hasTreemap) { + helper("Treemap"); + } + const hasPointType = $$.hasType("bubble") || $$.hasType("scatter"); + if (hasPointType) { + (_a = $$.updateTargetForCircle) == null ? void 0 : _a.call($$); + } + $$.filterTargetsToShowAtInit(hasPointType); + } + /** + * Display targeted elements at initialization + * @param {boolean} hasPointType whether has point type(bubble, scatter) or not + * @private + */ + filterTargetsToShowAtInit(hasPointType = false) { + const $$ = this; + const { $el: { svg }, $T } = $$; + let selector = `.${$COMMON.target}`; + if (hasPointType) { + selector += `, .${$CIRCLE.chartCircles} > .${$CIRCLE.circles}`; + } + $T(svg.selectAll(selector).filter((d) => $$.isTargetToShow(d.id))).style("opacity", null); + } + getWithOption(options) { + const withOptions = { + Dimension: true, + EventRect: true, + Legend: false, + Subchart: true, + Transform: false, + Transition: true, + TrimXDomain: true, + UpdateXAxis: "UpdateXDomain", + UpdateXDomain: false, + UpdateOrgXDomain: false, + TransitionForExit: "Transition", + TransitionForAxis: "Transition", + Y: true + }; + Object.keys(withOptions).forEach((key) => { + let defVal = withOptions[key]; + if (isString(defVal)) { + defVal = withOptions[defVal]; + } + withOptions[key] = getOption(options, `with${key}`, defVal); + }); + return withOptions; + } + initialOpacity(d) { + const $$ = this; + const { withoutFadeIn } = $$.state; + const r = $$.getBaseValue(d) !== null && withoutFadeIn[d.id] ? null : "0"; + return r; + } + bindResize() { + const $$ = this; + const { config, state } = $$; + const resizeFunction = generateResize(config.resize_timer); + const list = []; + list.push(() => callFn(config.onresize, $$.api)); + if (config.resize_auto === true) { + list.push(() => { + state.resizing = true; + if (config.legend_show) { + $$.updateSizes(); + $$.updateLegend(); + } + $$.api.flush(false); + }); + } + list.push(() => { + callFn(config.onresized, $$.api); + state.resizing = false; + }); + list.forEach((v) => resizeFunction.add(v)); + $$.resizeFunction = resizeFunction; + win.addEventListener("resize", $$.resizeFunction = resizeFunction); + } + /** + * Call plugin hook + * @param {string} phase The lifecycle phase + * @param {Array} args Arguments + * @private + */ + callPluginHook(phase, ...args) { + this.config.plugins.forEach((v) => { + if (phase === "$beforeInit") { + v.$$ = this; + this.api.plugins.push(v); + } + v[phase](...args); + }); + } +} +extend(ChartInternal.prototype, [ + // common + convert, + data_data, + load, + category, + internals_class, + internals_color, + domain, + interactions_interaction, + format, + internals_legend, + redraw, + scale, + shape, + size, + style, + internals_text, + internals_title, + internals_tooltip, + transform, + type +]); + +;// ./src/config/config.ts + +function loadConfig(config) { + const thisConfig = this.config; + let target; + let keys; + let read; + const find = () => { + const key = keys.shift(); + if (key && target && isObjectType(target) && key in target) { + target = target[key]; + return find(); + } else if (!key) { + return target; + } + return void 0; + }; + Object.keys(thisConfig).forEach((key) => { + target = config; + keys = key.split("_"); + read = find(); + if (isDefined(read)) { + thisConfig[key] = read; + } + }); + if (this.api) { + this.state.orgConfig = config; + } +} + +;// ./src/Chart/api/chart.ts + + +/* harmony default export */ var chart = ({ + /** + * Resize the chart. + * @function resize + * @instance + * @memberof Chart + * @param {object} size This argument should include width and height in pixels. + * @param {number} [size.width] width value + * @param {number} [size.height] height value + * @example + * // Resize to 640x480 + * chart.resize({ + * width: 640, + * height: 480 + * }); + */ + resize(size) { + const $$ = this.internal; + const { config, state } = $$; + if (state.rendered) { + config.size_width = size ? size.width : null; + config.size_height = size ? size.height : null; + state.resizing = true; + this.flush(false); + $$.resizeFunction(); + } + }, + /** + * Force to redraw. + * - **NOTE:** When zoom/subchart is used, the zoomed state will be resetted. + * @function flush + * @instance + * @memberof Chart + * @param {boolean} [soft] For soft redraw. + * @example + * chart.flush(); + * + * // for soft redraw + * chart.flush(true); + */ + flush(soft) { + var _a, _b; + const $$ = this.internal; + const { state, $el: { zoomResetBtn } } = $$; + if (state.rendered) { + if (state.resizing) { + (_a = $$.brush) == null ? void 0 : _a.updateResize(); + } else { + (_b = $$.axis) == null ? void 0 : _b.setOrient(); + } + zoomResetBtn == null ? void 0 : zoomResetBtn.style("display", "none"); + $$.scale.zoom = null; + soft ? $$.redraw({ + withTransform: true, + withUpdateXDomain: true, + withUpdateOrgXDomain: true, + withLegend: true + }) : $$.updateAndRedraw({ + withLegend: true, + withTransition: false, + withTransitionForTransform: false + }); + if (!state.resizing && $$.brush) { + $$.brush.getSelection().call($$.brush.move); + $$.unselectRect(); + } + } else { + $$.initToRender(true); + } + }, + /** + * Reset the chart object and remove element and events completely. + * @function destroy + * @instance + * @memberof Chart + * @returns {null} + * @example + * chart.destroy(); + */ + destroy() { + const $$ = this.internal; + const { $el: { chart, style, svg } } = $$; + if (notEmpty($$)) { + $$.callPluginHook("$willDestroy"); + $$.charts.splice($$.charts.indexOf(this), 1); + $$.unbindAllEvents(); + svg.select("*").interrupt(); + $$.resizeFunction.clear(); + win.removeEventListener("resize", $$.resizeFunction); + chart.classed("bb", false).style("position", null).selectChildren().remove(); + style && style.parentNode.removeChild(style); + Object.keys(this).forEach((key) => { + key === "internal" && Object.keys($$).forEach((k) => { + $$[k] = null; + }); + this[key] = null; + delete this[key]; + }); + for (const key in this) { + this[key] = () => { + }; + } + } + return null; + }, + /** + * Get or set config option value. + * - **NOTE** + * - The option key name must be specified as the last level. + * - when no argument is given, will return all specified generation options object only. (will exclude any other options not specified at the initialization) + * @function config + * @instance + * @memberof Chart + * @param {string} name The option key name. + * @param {*} [value] The value accepted for indicated option. + * @param {boolean} [redraw] Set to redraw with the new option changes. + * - **NOTE:** Doesn't guarantee work in all circumstances. It can be applied for limited options only. + * @returns {*} + * @example + * + * // Getter + * chart.config("gauge.max"); + * + * // Getter specified with top level key name will not work. + * // The option key name must be specified as the last level. + * // chart.config("gauge"); // will not work + * + * // without any arguments, it returns generation config object + * chart.config(); // {data: { ... }, axis: { ... }, ...} + * + * // Setter + * chart.config("gauge.max", 100); + * + * // Setter specified with top level key name will not work. + * // The option key name must be specified as the last level. + * // chart.config("gauge", {min: 10, max: 20}); // will not work + * + * // Setter & redraw with the new option + * chart.config("gauge.max", 100, true); + */ + config(name, value, redraw) { + const $$ = this.internal; + const { config, state } = $$; + const key = name == null ? void 0 : name.replace(/\./g, "_"); + let res; + if (name && key in config) { + if (isDefined(value)) { + config[key] = value; + res = value; + redraw && this.flush(); + } else { + res = config[key]; + } + } else if (arguments.length === 0 || isEmpty(name)) { + res = state.orgConfig; + } + return res; + } +}); + +;// ./src/Chart/api/color.ts +/* harmony default export */ var api_color = ({ + /** + * Get the color + * @function color + * @instance + * @memberof Chart + * @param {string} id id to get the color + * @returns {string} + * @example + * chart.color("data1"); + */ + color(id) { + return this.internal.color(id); + } +}); + +;// ./src/Chart/api/data.ts + +const api_data_data = function(targetIds) { + const { targets } = this.internal.data; + if (!isUndefined(targetIds)) { + const ids = isArray(targetIds) ? targetIds : [targetIds]; + return targets.filter((t) => ids.some((v) => v === t.id)); + } + return targets; +}; +extend(api_data_data, { + /** + * Get data shown in the chart. + * @function data․shown + * @instance + * @memberof Chart + * @param {string|Array} targetIds If this argument is given, this API filters the data with specified target ids. If this argument is not given, all shown data will be returned. + * @returns {Array} Data objects + * @example + * // Get shown data by filtering to include only data1 data + * chart.data.shown("data1"); + * // --> [{id: "data1", id_org: "data1", values: Array(6)}, ...] + * + * // Get shown data by filtering to include data1 and data2 data + * chart.data.shown(["data1", "data2"]); + * + * // Get all shown data + * chart.data.shown(); + */ + shown: function(targetIds) { + return this.internal.filterTargetsToShow(this.data(targetIds)); + }, + /** + * Get values of the data loaded in the chart. + * @function data․values + * @instance + * @memberof Chart + * @param {string|Array|null} targetIds This API returns the values of specified target. If this argument is not given, null will be retruned + * @param {boolean} [flat=true] Get flatten values + * @returns {Array} Data values + * @example + * // Get data1 values + * chart.data.values("data1"); + * // --> [10, 20, 30, 40] + */ + values: function(targetIds, flat = true) { + let values = null; + if (targetIds) { + const targets = this.data(targetIds); + if (isArray(targets)) { + values = []; + targets.forEach((v) => { + const dataValue = v.values.map((d) => d.value); + flat ? values = values.concat(dataValue) : values.push(dataValue); + }); + } + } + return values; + }, + /** + * Get and set names of the data loaded in the chart. + * @function data․names + * @instance + * @memberof Chart + * @param {object} names If this argument is given, the names of data will be updated. If not given, the current names will be returned. The format of this argument is the same as [data.names](./Options.html#.data%25E2%2580%25A4names). + * @returns {object} Corresponding names according its key value, if specified names values. + * @example + * // Get current names + * chart.data.names(); + * // --> {data1: "test1", data2: "test2"} + * + * // Update names + * chart.data.names({ + * data1: "New Name 1", + * data2: "New Name 2" + * }); + */ + names: function(names) { + const $$ = this.internal; + return $$.updateDataAttributes("names", names); + }, + /** + * Get and set colors of the data loaded in the chart. + * @function data․colors + * @instance + * @memberof Chart + * @param {object} colors If this argument is given, the colors of data will be updated. If not given, the current colors will be returned. The format of this argument is the same as [data.colors](./Options.html#.data%25E2%2580%25A4colors). + * @returns {object} Corresponding data color value according its key value. + * @example + * // Get current colors + * chart.data.colors(); + * // --> {data1: "#00c73c", data2: "#fa7171"} + * + * // Update colors + * chart.data.colors({ + * data1: "#FFFFFF", + * data2: "#000000" + * }); + */ + colors: function(colors) { + return this.internal.updateDataAttributes("colors", colors); + }, + /** + * Get and set axes of the data loaded in the chart. + * - **NOTE:** If all data is related to one of the axes, the domain of axis without related data will be replaced by the domain from the axis with related data + * @function data․axes + * @instance + * @memberof Chart + * @param {object} axes If this argument is given, the axes of data will be updated. If not given, the current axes will be returned. The format of this argument is the same as + * @returns {object} Corresponding axes value for data, if specified axes value. + * @example + * // Get current axes + * chart.data.axes(); + * // --> {data1: "y"} + * + * // Update axes + * chart.data.axes({ + * data1: "y", + * data2: "y2" + * }); + */ + axes: function(axes) { + return this.internal.updateDataAttributes("axes", axes); + }, + /** + * Get the minimum data value bound to the chart + * @function data․min + * @instance + * @memberof Chart + * @returns {Array} Data objects + * @example + * // Get current axes + * chart.data.min(); + * // --> [{x: 0, value: 30, id: "data1", index: 0}, ...] + */ + min: function() { + return this.internal.getMinMaxData().min; + }, + /** + * Get the maximum data value bound to the chart + * @function data․max + * @instance + * @memberof Chart + * @returns {Array} Data objects + * @example + * // Get current axes + * chart.data.max(); + * // --> [{x: 3, value: 400, id: "data1", index: 3}, ...] + */ + max: function() { + return this.internal.getMinMaxData().max; + } +}); +/* harmony default export */ var api_data = ({ data: api_data_data }); + +;// ./src/Chart/api/export.ts + + + +const b64EncodeUnicode = (str) => { + var _a, _b; + return (_b = (_a = win).btoa) == null ? void 0 : _b.call( + _a, + encodeURIComponent(str).replace( + /%([0-9A-F]{2})/g, + (match, p) => String.fromCharCode(Number(`0x${p}`)) + ) + ); +}; +function nodeToSvgDataUrl(node, option, orgSize) { + const { width, height } = option || orgSize; + const serializer = new XMLSerializer(); + const clone = node.cloneNode(true); + const cssText = getCssRules(toArray(browser_doc.styleSheets)).filter((r) => r.cssText).map((r) => r.cssText); + clone.setAttribute("xmlns", external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.namespaces.xhtml); + clone.style.margin = "0"; + clone.style.padding = "0"; + if (option.preserveFontStyle) { + clone.querySelectorAll("text").forEach((t) => { + t.innerHTML = ""; + }); + } + const nodeXml = serializer.serializeToString(clone); + const style = browser_doc.createElement("style"); + style.appendChild(browser_doc.createTextNode(cssText.join("\n"))); + const styleXml = serializer.serializeToString(style); + const dataStr = `<svg xmlns="${external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.namespaces.svg}" width="${width}" height="${height}" + viewBox="0 0 ${orgSize.width} ${orgSize.height}" + preserveAspectRatio="${(option == null ? void 0 : option.preserveAspectRatio) === false ? "none" : "xMinYMid meet"}"> + <foreignObject width="100%" height="100%"> + ${styleXml} + ${nodeXml.replace(/(url\()[^#]+/g, "$1")} + </foreignObject></svg>`; + return `data:image/svg+xml;base64,${b64EncodeUnicode(dataStr)}`; +} +function getCoords(elem, svgOffset) { + const { top, left } = svgOffset; + const { x, y } = elem.getBBox(); + const { a, b, c, d, e, f } = elem.getScreenCTM(); + const { width, height } = elem.getBoundingClientRect(); + return { + x: a * x + c * y + e - left, + y: b * x + d * y + f - top + (height - Math.round(height / 4)), + width, + height + }; +} +function getGlyph(svg) { + const { left, top } = svg.getBoundingClientRect(); + const filterFn = (t) => t.textContent || t.childElementCount; + const glyph = []; + toArray(svg.querySelectorAll("text")).filter(filterFn).forEach((t) => { + const getStyleFn = (ts) => { + const { fill, fontFamily, fontSize, textAnchor, transform } = win.getComputedStyle( + ts + ); + const { x, y, width, height } = getCoords(ts, { left, top }); + return { + [ts.textContent]: { + x, + y, + width, + height, + fill, + fontFamily, + fontSize, + textAnchor, + transform + } + }; + }; + if (t.childElementCount > 1) { + const text = []; + toArray(t.querySelectorAll("tspan")).filter(filterFn).forEach((ts) => { + glyph.push(getStyleFn(ts)); + }); + return text; + } else { + glyph.push(getStyleFn(t)); + } + }); + return glyph; +} +function renderText(ctx, glyph) { + glyph.forEach((g) => { + Object.keys(g).forEach((key) => { + const { x, y, width, height, fill, fontFamily, fontSize, transform } = g[key]; + ctx.save(); + ctx.font = `${fontSize} ${fontFamily}`; + ctx.fillStyle = fill; + if (transform === "none") { + ctx.fillText(key, x, y); + } else { + const args = transform.replace(/(matrix|\(|\))/g, "").split(","); + if (args.splice(4).every((v) => +v === 0)) { + args.push(x + width - width / 4); + args.push(y - height + height / 3); + } else { + args.push(x); + args.push(y); + } + ctx.transform(...args); + ctx.fillText(key, 0, 0); + } + ctx.restore(); + }); + }); +} +/* harmony default export */ var api_export = ({ + /** + * Export chart as an image. + * - **NOTE:** + * - IE11 and below not work properly due to the lack of the feature(<a href="https://msdn.microsoft.com/en-us/library/hh834675(v=vs.85).aspx">foreignObject</a>) support + * - Every style applied to the chart & the basic CSS file(ex. billboard.css) should be at same domain as API call context to get correct styled export image. + * @function export + * @instance + * @memberof Chart + * @param {object} option Export option + * @param {string} [option.mimeType="image/png"] The desired output image format. (ex. 'image/png' for png, 'image/jpeg' for jpeg format) + * @param {number} [option.width={currentWidth}] width + * @param {number} [option.height={currentHeigth}] height + * @param {boolean} [option.preserveAspectRatio=true] Preserve aspect ratio on given size + * @param {boolean} [option.preserveFontStyle=false] Preserve font style(font-family).<br> + * **NOTE:** + * - This option is useful when outlink web font style's `font-family` are applied to chart's text element. + * - Text element's position(especially "transformed") can't be preserved correctly according the page's layout condition. + * - If need to preserve accurate text position, embed the web font data within to the page and set `preserveFontStyle=false`. + * - Checkout the embed example: <a href="https://stackblitz.com/edit/zfbya9-8nf9nn?file=index.html">https://stackblitz.com/edit/zfbya9-8nf9nn?file=index.html</a> + * @param {Function} [callback] The callback to be invoked when export is ready. + * @returns {string} dataURI + * @example + * chart.export(); + * // --> "data:image/svg+xml;base64,PHN..." + * + * // Initialize the download automatically + * chart.export({mimeType: "image/png"}, dataUrl => { + * const link = document.createElement("a"); + * + * link.download = `${Date.now()}.png`; + * link.href = dataUrl; + * link.innerHTML = "Download chart as image"; + * + * document.body.appendChild(link); + * }); + * + * // Resize the exported image + * chart.export( + * { + * width: 800, + * height: 600, + * preserveAspectRatio: false, + * preserveFontStyle: false, + * mimeType: "image/png" + * }, + * dataUrl => { ... } + * ); + */ + export(option, callback) { + const $$ = this.internal; + const { state, $el: { chart, svg } } = $$; + const { width, height } = state.current; + const opt = mergeObj({ + width, + height, + preserveAspectRatio: true, + preserveFontStyle: false, + mimeType: "image/png" + }, option); + const svgDataUrl = nodeToSvgDataUrl(chart.node(), opt, { width, height }); + const glyph = opt.preserveFontStyle ? getGlyph(svg.node()) : []; + if (callback && isFunction(callback)) { + const img = new Image(); + img.crossOrigin = "Anonymous"; + img.onload = () => { + const canvas = browser_doc.createElement("canvas"); + const ctx = canvas.getContext("2d"); + canvas.width = opt.width || width; + canvas.height = opt.height || height; + ctx.drawImage(img, 0, 0); + if (glyph.length) { + renderText(ctx, glyph); + glyph.length = 0; + } + callback.bind(this)(canvas.toDataURL(opt.mimeType)); + }; + img.src = svgDataUrl; + } + return svgDataUrl; + } +}); + +;// ./src/Chart/api/focus.ts + + +/* harmony default export */ var api_focus = ({ + /** + * This API highlights specified targets and fade out the others.<br><br> + * You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be highlighted. + * @function focus + * @instance + * @memberof Chart + * @param {string|Array} targetIdsValue Target ids to be highlighted. + * @example + * // data1 will be highlighted and the others will be faded out + * chart.focus("data1"); + * + * // data1 and data2 will be highlighted and the others will be faded out + * chart.focus(["data1", "data2"]); + * + * // all targets will be highlighted + * chart.focus(); + */ + focus(targetIdsValue) { + const $$ = this.internal; + const { state } = $$; + const targetIds = $$.mapToTargetIds(targetIdsValue); + const candidates = $$.$el.svg.selectAll( + $$.selectorTargets(targetIds.filter($$.isTargetToShow, $$)) + ); + this.revert(); + this.defocus(); + candidates.classed($FOCUS.focused, true).classed($FOCUS.defocused, false); + if ($$.hasArcType() && !state.hasRadar) { + $$.expandArc(targetIds); + $$.hasType("gauge") && $$.markOverlapped(targetIdsValue, $$, `.${$GAUGE.gaugeValue}`); + } + $$.toggleFocusLegend(targetIds, true); + state.focusedTargetIds = targetIds; + state.defocusedTargetIds = state.defocusedTargetIds.filter((id) => targetIds.indexOf(id) < 0); + }, + /** + * This API fades out specified targets and reverts the others.<br><br> + * You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be faded out. + * @function defocus + * @instance + * @memberof Chart + * @param {string|Array} targetIdsValue Target ids to be faded out. + * @example + * // data1 will be faded out and the others will be reverted. + * chart.defocus("data1"); + * + * // data1 and data2 will be faded out and the others will be reverted. + * chart.defocus(["data1", "data2"]); + * + * // all targets will be faded out. + * chart.defocus(); + */ + defocus(targetIdsValue) { + const $$ = this.internal; + const { state } = $$; + const targetIds = $$.mapToTargetIds(targetIdsValue); + const candidates = $$.$el.svg.selectAll( + $$.selectorTargets(targetIds.filter($$.isTargetToShow, $$)) + ); + candidates.classed($FOCUS.focused, false).classed($FOCUS.defocused, true); + if ($$.hasArcType(null, ["polar"])) { + $$.unexpandArc(targetIds); + $$.hasType("gauge") && $$.undoMarkOverlapped($$, `.${$GAUGE.gaugeValue}`); + } + $$.toggleFocusLegend(targetIds, false); + state.focusedTargetIds = state.focusedTargetIds.filter((id) => targetIds.indexOf(id) < 0); + state.defocusedTargetIds = targetIds; + }, + /** + * Revert focused or defocused state to initial state.<br><br> + * You can specify multiple targets by giving an array that includes id as string. If no argument is given, all of targets will be reverted. + * @function revert + * @instance + * @memberof Chart + * @param {string|Array} targetIdsValue Target ids to be reverted + * @example + * // 'data1' will be reverted. + * chart.revert("data1"); + * + * // 'data1' and 'data2' will be reverted. + * chart.revert(["data1", "data2"]); + * + * // all targets will be reverted. + * chart.revert(); + */ + revert(targetIdsValue) { + const $$ = this.internal; + const { config, state, $el } = $$; + const targetIds = $$.mapToTargetIds(targetIdsValue); + const candidates = $el.svg.selectAll($$.selectorTargets(targetIds)); + candidates.classed($FOCUS.focused, false).classed($FOCUS.defocused, false); + $$.hasArcType(null, ["polar"]) && $$.unexpandArc(targetIds); + if (config.legend_show) { + $$.showLegend(targetIds.filter($$.isLegendToShow.bind($$))); + $el.legend.selectAll($$.selectorLegends(targetIds)).filter(function() { + return (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this).classed($FOCUS.legendItemFocused); + }).classed($FOCUS.legendItemFocused, false); + } + state.focusedTargetIds = []; + state.defocusedTargetIds = []; + } +}); + +;// ./src/Chart/api/legend.ts +const legend_legend = { + /** + * Show legend for each target. + * - **NOTE:** Legend APIs aren't supported for `treemap` type. + * @function legend․show + * @instance + * @memberof Chart + * @param {string|Array} targetIds + * - If targetIds is given, specified target's legend will be shown. + * - If only one target is the candidate, String can be passed. + * - If no argument is given, all of target's legend will be shown. + * @example + * // Show legend for data1. + * chart.legend.show("data1"); + * + * // Show legend for data1 and data2. + * chart.legend.show(["data1", "data2"]); + * + * // Show all legend. + * chart.legend.show(); + */ + show: function(targetIds) { + const $$ = this.internal; + $$.showLegend($$.mapToTargetIds(targetIds)); + $$.updateAndRedraw({ withLegend: true }); + }, + /** + * Hide legend for each target. + * @function legend․hide + * @instance + * @memberof Chart + * @param {string|Array} targetIds + * - If targetIds is given, specified target's legend will be hidden. + * - If only one target is the candidate, String can be passed. + * - If no argument is given, all of target's legend will be hidden. + * @example + * // Hide legend for data1. + * chart.legend.hide("data1"); + * + * // Hide legend for data1 and data2. + * chart.legend.hide(["data1", "data2"]); + * + * // Hide all legend. + * chart.legend.hide(); + */ + hide: function(targetIds) { + const $$ = this.internal; + $$.hideLegend($$.mapToTargetIds(targetIds)); + $$.updateAndRedraw({ withLegend: true }); + } +}; +/* harmony default export */ var api_legend = ({ legend: legend_legend }); + +;// ./src/Chart/api/load.ts + + + +/* harmony default export */ var api_load = ({ + /** + * Load data to the chart.<br><br> + * You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be toggles. + * - <b>Note:</b> + * - unload should be used if some data needs to be unloaded simultaneously. + * If you call unload API soon after/before load instead of unload param, chart will not be rendered properly because of cancel of animation.<br> + * - done will be called after data loaded, but it's not after rendering. + * It's because rendering will finish after some transition and there is some time lag between loading and rendering + * @function load + * @instance + * @memberof Chart + * @param {object} args The object can consist with following members:<br> + * + * | Key | Type | Description | + * | --- | --- | --- | + * | columns | Array | The `columns` data will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added | + * | json | Array | The `json` data will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added | + * | rows | Array | The `rows` data will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added | + * | url | string | The data from `url` will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added | + * |   | | | + * | append | boolean | Load data appending it to the current dataseries.<br>If the existing chart has`x` value, should provide with corresponding `x` value for newly loaded data. | + * | axes | Object | The axes specified by data.axes will be updated. axes must be Object that has target id as keys. | + * | categories | Array | The categories specified by axis.x.categories or data.x will be updated. categories must be Array. | + * | classes | Object | The classes specified by data.classes will be updated. classes must be Object that has target id as keys. | + * | colors | Object | The colors specified by data.colors will be updated. colors must be Object that has target id as keys. | + * | data | Obejct | Data objects to be loaded. Checkout the example. | + * | done | Function | The specified function will be called after data loaded.| + * | headers | string | Set request header if loading via `data.url`.<br>@see [data․headers](Options.html#.data%25E2%2580%25A4headers) | + * | keys | Object | Choose which JSON objects keys correspond to desired data.<br>**NOTE:** Only for JSON object given as array.<br>@see [data․keys](Options.html#.data%25E2%2580%25A4keys) | + * | mimeType | string | Set 'json' if loading JSON via url.<br>@see [data․mimeType](Options.html#.data%25E2%2580%25A4mimeType) | + * | names | Object | Same as data.names() | + * | resizeAfter | boolean | Resize after the load. Default value is `false`.<br>- This option won't call `onresize` neither `onresized`.<br>- When set to 'true', will call `.flush(true)` at the end of load. | + * | type | string | The type of targets will be updated. | + * | types | Object | The types of targets will be updated. | + * | unload | Array | Specify the data will be unloaded before loading new data. If true given, all of data will be unloaded. If target ids given as String or Array, specified targets will be unloaded. If absent or false given, unload will not occur. | + * | xs | string | Same as data.xs option | + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataFromURL) + * @example + * // Load data1 and unload data2 and data3 + * chart.load({ + * columns: [ + * ["data1", 100, 200, 150, ...], + * ... + * ], + * unload: ["data2", "data3"], + * url: "...", + * done: function() { ... } + * resizeAfter: true // will resize after load + * }); + * @example + * const chart = bb.generate({ + * data: { + * columns: [ + * ["data1", 20, 30, 40] + * ] + * } + * }); + * + * chart.load({ + * columns: [ + * // with 'append' option, the 'data1' will have `[20,30,40,50,60]`. + * ["data1", 50, 60] + * ], + * append: true + * }); + * @example + * const chart = bb.generate({ + * data: { + * x: "x", + * xFormat: "%Y-%m-%dT%H:%M:%S", + * columns: [ + * ["x", "2021-01-03T03:00:00", "2021-01-04T12:00:00", "2021-01-05T21:00:00"], + * ["data1", 36, 30, 24] + * ] + * }, + * axis: { + * x: { + * type: "timeseries" + * } + * } + * }; + * + * chart.load({ + * columns: [ + * // when existing chart has `x` value, should provide correponding 'x' value. + * // with 'append' option, the 'data1' will have `[36,30,24,37]`. + * ["x", "2021-02-01T08:00:00"], + * ["data1", 37] + * ], + * append: true + * }); + * @example + * // myAPI.json + * // { + * // "data1": [220, 240, 270, 250, 280], + * // "data2": [180, 150, 300, 70, 120] + * // } + * + * chart.load({ + * url: './data/myAPI.json', + * mimeType: "json", + * + * // set request header if is needed + * headers: { + * "Content-Type": "text/json" + * } + * }); + * @example + * chart.load({ + * data: [ + * // equivalent as: columns: [["data1", 30, 200, 100]] + * {"data1": 30}, {"data1": 200}, {"data1": 100} + * + * // or + * // equivalent as: columns: [["data1", 10, 20], ["data2", 13, 30]] + * // {"data1": 10, "data2": 13}, {"data1": 20, "data2": 30}} + * ] + * }); + * @example + * chart.load({ + * json: [ + * {name: "www.site1.com", upload: 800, download: 500, total: 400}, + * ], + * keys: { + * x: "name", + * value: ["upload", "download"] + * } + * }); + * @example + * chart.load({ + * json: { + * data1:[30, 20, 50, 40, 60, 50], + * data2:[200, 130, 90, 240, 130, 220], + * } + * }); + */ + load(args) { + const $$ = this.internal; + const { config } = $$; + args.xs && $$.addXs(args.xs); + "names" in args && this.data.names(args.names); + "classes" in args && Object.keys(args.classes).forEach((id) => { + config.data_classes[id] = args.classes[id]; + }); + if ("categories" in args && $$.axis.isCategorized()) { + config.axis_x_categories = args.categories; + } + "axes" in args && Object.keys(args.axes).forEach((id) => { + config.data_axes[id] = args.axes[id]; + }); + "colors" in args && Object.keys(args.colors).forEach((id) => { + config.data_colors[id] = args.colors[id]; + }); + if ("unload" in args && args.unload !== false) { + $$.unload($$.mapToTargetIds(args.unload === true ? null : args.unload), () => { + requestIdleCallback(() => $$.loadFromArgs(args)); + }); + } else { + $$.loadFromArgs(args); + } + }, + /** + * Unload data to the chart.<br><br> + * You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be toggles. + * - <b>Note:</b> + * If you call load API soon after/before unload, unload param of load should be used. Otherwise chart will not be rendered properly because of cancel of animation.<br> + * `done` will be called after data loaded, but it's not after rendering. It's because rendering will finish after some transition and there is some time lag between loading and rendering. + * @function unload + * @instance + * @memberof Chart + * @param {object} argsValue + * | key | Type | Description | + * | --- | --- | --- | + * | ids | String | Array | Target id data to be unloaded. If not given, all data will be unloaded. | + * | done | Fuction | Callback after data is unloaded. | + * | resizeAfter | boolean | Resize after the unload. Default value is `false`.<br>- This option won't call `onresize` neither `onresized`.<br>- When set to 'true', will call `.flush(true)` at the end of unload. | + * @example + * // Unload data2 and data3 + * chart.unload({ + * ids: ["data2", "data3"], + * done: function() { + * // called after the unloaded + * }, + * resizeAfter: true // will resize after unload + * }); + */ + unload(argsValue) { + const $$ = this.internal; + let args = argsValue || {}; + isEmpty(args) && this.tooltip.hide(); + if (isArray(args)) { + args = { ids: args }; + } else if (isString(args)) { + args = { ids: [args] }; + } + const ids = $$.mapToTargetIds(args.ids); + $$.unload(ids, () => { + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true, + withLegend: true + }); + $$.cache.remove(ids); + callDone.call($$, args.done, args.resizeAfter); + }); + } +}); + +;// ./src/Chart/api/show.ts + +function showHide(show, targetIdsValue, options) { + const $$ = this.internal; + const targetIds = $$.mapToTargetIds(targetIdsValue); + const hiddenIds = $$.state.hiddenTargetIds.map((v) => targetIds.indexOf(v) > -1 && v).filter(Boolean); + $$.state.toggling = true; + $$[`${show ? "remove" : "add"}HiddenTargetIds`](targetIds); + const targets = $$.$el.svg.selectAll($$.selectorTargets(targetIds)); + const opacity = show ? null : "0"; + if (show && hiddenIds.length) { + targets.style("display", null); + callFn($$.config.data_onshown, this, hiddenIds); + } + $$.$T(targets).style("opacity", opacity, "important").call(endall, () => { + var _a; + if (!show && hiddenIds.length === 0) { + targets.style("display", "none"); + callFn((_a = $$.config) == null ? void 0 : _a.data_onhidden, this, targetIds); + } + targets.style("opacity", opacity); + }); + options.withLegend && $$[`${show ? "show" : "hide"}Legend`](targetIds); + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true, + withLegend: true + }); + $$.state.toggling = false; +} +/* harmony default export */ var show = ({ + /** + * Show data series on chart + * @function show + * @instance + * @memberof Chart + * @param {string|Array} [targetIdsValue] The target id value. + * @param {object} [options] The object can consist with following members:<br> + * + * | Key | Type | default | Description | + * | --- | --- | --- | --- | + * | withLegend | boolean | false | whether or not display legend | + * + * @example + * // show 'data1' + * chart.show("data1"); + * + * // show 'data1' and 'data3' + * chart.show(["data1", "data3"]); + */ + show(targetIdsValue, options = {}) { + showHide.call(this, true, targetIdsValue, options); + }, + /** + * Hide data series from chart + * @function hide + * @instance + * @memberof Chart + * @param {string|Array} [targetIdsValue] The target id value. + * @param {object} [options] The object can consist with following members:<br> + * + * | Key | Type | default | Description | + * | --- | --- | --- | --- | + * | withLegend | boolean | false | whether or not display legend | + * + * @example + * // hide 'data1' + * chart.hide("data1"); + * + * // hide 'data1' and 'data3' + * chart.hide(["data1", "data3"]); + */ + hide(targetIdsValue, options = {}) { + showHide.call(this, false, targetIdsValue, options); + }, + /** + * Toggle data series on chart. When target data is hidden, it will show. If is shown, it will hide in vice versa. + * @function toggle + * @instance + * @memberof Chart + * @param {string|Array} [targetIds] The target id value. + * @param {object} [options] The object can consist with following members:<br> + * + * | Key | Type | default | Description | + * | --- | --- | --- | --- | + * | withLegend | boolean | false | whether or not display legend | + * + * @example + * // toggle 'data1' + * chart.toggle("data1"); + * + * // toggle 'data1' and 'data3' + * chart.toggle(["data1", "data3"]); + */ + toggle(targetIds, options = {}) { + const $$ = this.internal; + const targets = { show: [], hide: [] }; + $$.mapToTargetIds(targetIds).forEach((id) => targets[$$.isTargetToShow(id) ? "hide" : "show"].push(id)); + targets.show.length && this.show(targets.show, options); + targets.hide.length && setTimeout(() => this.hide(targets.hide, options), 0); + } +}); + +;// ./src/Chart/api/tooltip.ts + + +const tooltip_tooltip = { + /** + * Show tooltip + * @function tooltip․show + * @instance + * @memberof Chart + * @param {object} args The object can consist with following members:<br> + * + * | Key | Type | Description | + * | --- | --- | --- | + * | index | Number | Determine focus by index | + * | x | Number | Date | Determine focus by x Axis index | + * | mouse | Array | Determine x and y coordinate value relative the targeted '.bb-event-rect' x Axis.<br>It should be used along with `data`, `index` or `x` value. The default value is set as `[0,0]` | + * | data | Object | When [data.xs](Options.html#.data%25E2%2580%25A4xs) option is used or [tooltip.grouped](Options.html#.tooltip) set to 'false', `should be used giving this param`.<br><br>**Key:**<br>- x {number | Date}: x Axis value<br>- index {number}: x Axis index (useless for data.xs)<br>- id {string}: data id<br>- value {number}: The corresponding value for tooltip. | + * + * @example + * // show the 2nd x Axis coordinate tooltip + * // for Arc(gauge, donut & pie) and radar type, approch showing tooltip by using "index" number. + * chart.tooltip.show({ + * index: 1 + * }); + * + * // show tooltip for the 3rd x Axis in x:50 and y:100 coordinate of '.bb-event-rect' of the x Axis. + * chart.tooltip.show({ + * x: 2, + * mouse: [50, 100] + * }); + * + * // show tooltip for timeseries x axis + * chart.tooltip.show({ + * x: new Date("2018-01-02 00:00") + * }); + * + * // treemap type can be shown by using "id" only. + * chart.tooltip.show({ + * data: { + * id: "data1" // data id + * } + * }); + * + * // for Arc types, specify 'id' or 'index' + * chart.tooltip.show({ data: { id: "data2" }}); + * chart.tooltip.show({ data: { index: 2 }}); + * + * // when data.xs is used + * chart.tooltip.show({ + * data: { + * x: 3, // x Axis value + * id: "data1", // data id + * value: 500 // data value + * } + * }); + * + * // when data.xs isn't used, but tooltip.grouped=false is set + * chart.tooltip.show({ + * data: { + * index: 3, // or 'x' key value + * id: "data1", // data id + * value: 500 // data value + * } + * }); + */ + show: function(args) { + var _a, _b, _c; + const $$ = this.internal; + const { $el, config, state: { eventReceiver, hasFunnel, hasTreemap, inputType } } = $$; + let index; + let mouse; + if (args.mouse) { + mouse = args.mouse; + } + if (args.data) { + const { data } = args; + const y = (_a = $$.getYScaleById(data.id)) == null ? void 0 : _a(data.value); + if ((hasFunnel || hasTreemap) && data.id) { + const selector = $$.selectorTarget(data.id, void 0, `.${$SHAPE.shape}`); + eventReceiver.rect = $el.main.select(selector); + } else if ($$.isMultipleX()) { + mouse = [$$.xx(data), y]; + } else { + if (!config.tooltip_grouped) { + mouse = [0, y]; + } + index = (_c = data.index) != null ? _c : $$.hasArcType() && data.id ? (_b = $$.getArcElementByIdOrIndex(data.id)) == null ? void 0 : _b.datum().index : $$.getIndexByX(data.x); + } + } else if (isDefined(args.x)) { + index = $$.getIndexByX(args.x); + } else if (isDefined(args.index)) { + index = args.index; + } + (inputType === "mouse" ? ["mouseover", "mousemove"] : ["touchstart"]).forEach((eventName) => { + $$.dispatchEvent(eventName, index, mouse); + }); + }, + /** + * Hide tooltip + * @function tooltip․hide + * @instance + * @memberof Chart + */ + hide: function() { + var _a, _b, _c; + const $$ = this.internal; + const { state: { inputType }, $el: { tooltip: tooltip2 } } = $$; + const data = tooltip2 == null ? void 0 : tooltip2.datum(); + if (data) { + const { index } = JSON.parse(data.current)[0]; + (inputType === "mouse" ? ["mouseout"] : ["touchend"]).forEach((eventName) => { + $$.dispatchEvent(eventName, index); + }); + } + inputType === "touch" && $$.callOverOutForTouch(); + $$.hideTooltip(true); + (_a = $$.hideGridFocus) == null ? void 0 : _a.call($$); + (_b = $$.unexpandCircles) == null ? void 0 : _b.call($$); + (_c = $$.expandBarTypeShapes) == null ? void 0 : _c.call($$, false); + } +}; +/* harmony default export */ var api_tooltip = ({ tooltip: tooltip_tooltip }); + +;// ./src/Chart/Chart.ts +var Chart_defProp = Object.defineProperty; +var Chart_defNormalProp = (obj, key, value) => key in obj ? Chart_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var Chart_publicField = (obj, key, value) => Chart_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + + + + + + + + + +class Chart { + constructor(options) { + Chart_publicField(this, "plugins", []); + Chart_publicField(this, "internal"); + const $$ = new ChartInternal(this); + this.internal = $$; + (function bindThis(fn, target, argThis) { + Object.keys(fn).forEach((key) => { + const isFunc = isFunction(fn[key]); + const isChild = target !== argThis; + const isNotNil = notEmpty(fn[key]); + const hasChild = isNotNil && Object.keys(fn[key]).length > 0; + if (isFunc && (!isChild && hasChild || isChild)) { + target[key] = fn[key].bind(argThis); + } else if (isNotNil && !isFunc) { + target[key] = {}; + } else { + target[key] = fn[key]; + } + hasChild && bindThis(fn[key], target[key], argThis); + }); + })(Chart.prototype, this, this); + loadConfig.call($$, options); + $$.beforeInit(); + $$.init(); + } +} +extend(Chart.prototype, [ + chart, + api_color, + api_data, + api_export, + api_focus, + api_legend, + api_load, + show, + api_tooltip +]); + +;// ./src/Chart/api/selection.ts + + + +function setSelection(isSelection = false, ids, indices, resetOther) { + const $$ = this; + const { config, $el: { main } } = $$; + const selectionGrouped = config.data_selection_grouped; + const isSelectable = config.data_selection_isselectable.bind($$.api); + if (!config.data_selection_enabled) { + return; + } + main.selectAll(`.${$SHAPE.shapes}`).selectAll(`.${$SHAPE.shape}`).each(function(d) { + const shape = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this); + const { id, index } = d.data ? d.data : d; + const toggle = $$.getToggle(this, d).bind($$); + const isTargetId = selectionGrouped || !ids || ids.indexOf(id) >= 0; + const isTargetIndex = !indices || indices.indexOf(index) >= 0; + const isSelected = shape.classed($SELECT.SELECTED); + if (shape.classed($LINE.line) || shape.classed($AREA.area)) { + return; + } + if (isSelection) { + if (isTargetId && isTargetIndex && isSelectable(d) && !isSelected) { + toggle(true, shape.classed($SELECT.SELECTED, true), d, index); + } else if (isDefined(resetOther) && resetOther && isSelected) { + toggle(false, shape.classed($SELECT.SELECTED, false), d, index); + } + } else { + if (isTargetId && isTargetIndex && isSelectable(d) && isSelected) { + toggle(false, shape.classed($SELECT.SELECTED, false), d, index); + } + } + }); +} +/* harmony default export */ var selection = ({ + /** + * Get selected data points.<br><br> + * By this API, you can get selected data points information. To use this API, data.selection.enabled needs to be set true. + * @function selected + * @instance + * @memberof Chart + * @param {string} [targetId] You can filter the result by giving target id that you want to get. If not given, all of data points will be returned. + * @returns {Array} dataPoint Array of the data points.<br>ex.) `[{x: 1, value: 200, id: "data1", index: 1, name: "data1"}, ...]` + * @example + * // all selected data points will be returned. + * chart.selected(); + * // --> ex.) [{x: 1, value: 200, id: "data1", index: 1, name: "data1"}, ... ] + * + * // all selected data points of data1 will be returned. + * chart.selected("data1"); + */ + selected(targetId) { + const $$ = this.internal; + const dataPoint = []; + $$.$el.main.selectAll(`.${$SHAPE.shapes + $$.getTargetSelectorSuffix(targetId)}`).selectAll(`.${$SHAPE.shape}`).filter(function() { + return (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this).classed($SELECT.SELECTED); + }).each((d) => dataPoint.push(d)); + return dataPoint; + }, + /** + * Set data points to be selected. ([`data.selection.enabled`](Options.html#.data%25E2%2580%25A4selection%25E2%2580%25A4enabled) option should be set true to use this method) + * @function select + * @instance + * @memberof Chart + * @param {string|Array} [ids] id value to get selected. + * @param {Array} [indices] The index array of data points. If falsy value given, will select all data points. + * @param {boolean} [resetOther] Unselect already selected. + * @example + * // select all data points + * chart.select(); + * + * // select all from 'data2' + * chart.select("data2"); + * + * // select all from 'data1' and 'data2' + * chart.select(["data1", "data2"]); + * + * // select from 'data1', indices 2 and unselect others selected + * chart.select("data1", [2], true); + * + * // select from 'data1', indices 0, 3 and 5 + * chart.select("data1", [0, 3, 5]); + */ + select(ids, indices, resetOther) { + const $$ = this.internal; + setSelection.bind($$)(true, ids, indices, resetOther); + }, + /** + * Set data points to be un-selected. + * @function unselect + * @instance + * @memberof Chart + * @param {string|Array} [ids] id value to be unselected. + * @param {Array} [indices] The index array of data points. If falsy value given, will select all data points. + * @example + * // unselect all data points + * chart.unselect(); + * + * // unselect all from 'data1' + * chart.unselect("data1"); + * + * // unselect from 'data1', indices 2 + * chart.unselect("data1", [2]); + */ + unselect(ids, indices) { + const $$ = this.internal; + setSelection.bind($$)(false, ids, indices); + } +}); + +;// ./src/Chart/api/subchart.ts + + +const subchart = function(domainValue) { + var _a; + const $$ = this.internal; + const { axis, brush, config, scale: { x, subX }, state } = $$; + let domain; + if (config.subchart_show) { + domain = domainValue; + if (Array.isArray(domain)) { + if (axis.isTimeSeries()) { + domain = domain.map((x2) => parseDate.bind($$)(x2)); + } + const isWithinRange = $$.withinRange( + domain, + $$.getZoomDomain("subX", true), + $$.getZoomDomain("subX") + ); + if (isWithinRange) { + state.domain = domain; + brush.move( + brush.getSelection(), + domain.map(subX) + ); + } + } else { + domain = (_a = state.domain) != null ? _a : x.orgDomain(); + } + } + return domain; +}; +extend(subchart, { + /** + * Show subchart + * - **NOTE:** for ESM imports, needs to import 'subchart' exports and instantiate it by calling `subchart()`. + * @function subchart․show + * @instance + * @memberof Chart + * @example + * // for ESM imports, needs to import 'subchart' and must be instantiated first to enable subchart's API. + * import {subchart} from "billboard.js"; + * + * const chart = bb.generate({ + * ... + * subchart: { + * // need to be instantiated by calling 'subchart()' + * enabled: subchart() + * + * // in case don't want subchart to be shown at initialization, instantiate with '!subchart()' + * enabled: !subchart() + * } + * }); + * + * chart.subchart.show(); + */ + show() { + var _a, _b; + const $$ = this.internal; + const { $el: { subchart: subchart2 }, config } = $$; + const show = config.subchart_show; + if (!show) { + $$.unbindZoomEvent(); + config.subchart_show = !show; + !subchart2.main && $$.initSubchart(); + let $target = subchart2.main.selectAll(`.${$COMMON.target}`); + if ($$.data.targets.length !== $target.size()) { + $$.updateSizes(); + $$.updateTargetsForSubchart($$.data.targets); + $target = (_a = subchart2.main) == null ? void 0 : _a.selectAll(`.${$COMMON.target}`); + } + $target == null ? void 0 : $target.style("opacity", null); + (_b = subchart2.main) == null ? void 0 : _b.style("display", null); + this.resize(); + } + }, + /** + * Hide generated subchart + * - **NOTE:** for ESM imports, needs to import 'subchart' exports and instantiate it by calling `subchart()`. + * @function subchart․hide + * @instance + * @memberof Chart + * @example + * chart.subchart.hide(); + */ + hide() { + const $$ = this.internal; + const { $el: { subchart: { main } }, config } = $$; + if (config.subchart_show && (main == null ? void 0 : main.style("display")) !== "none") { + config.subchart_show = false; + main.style("display", "none"); + this.resize(); + } + }, + /** + * Toggle the visiblity of subchart + * - **NOTE:** for ESM imports, needs to import 'subchart' exports and instantiate it by calling `subchart()`. + * @function subchart․toggle + * @instance + * @memberof Chart + * @example + * // When subchart is hidden, will be shown + * // When subchart is shown, will be hidden + * chart.subchart.toggle(); + */ + toggle() { + const $$ = this.internal; + const { config } = $$; + this.subchart[config.subchart_show ? "hide" : "show"](); + }, + /** + * Reset subchart selection + * @function subchart․reset + * @instance + * @memberof Chart + * @example + * // Reset subchart selection + * chart.subchart.reset(); + */ + reset() { + const $$ = this.internal; + const { brush } = $$; + brush.clear(brush.getSelection()); + } +}); +/* harmony default export */ var api_subchart = ({ + subchart +}); + +// EXTERNAL MODULE: external {"commonjs":"d3-zoom","commonjs2":"d3-zoom","amd":"d3-zoom","root":"d3"} +var external_commonjs_d3_zoom_commonjs2_d3_zoom_amd_d3_zoom_root_d3_ = __webpack_require__(10); +;// ./src/Chart/api/zoom.ts + + +const zoom = function(domainValue) { + var _a; + const $$ = this.internal; + const { axis, config, org, scale, state } = $$; + const isCategorized = axis.isCategorized(); + let domain; + if (config.zoom_enabled) { + domain = domainValue; + if (Array.isArray(domain)) { + if (axis.isTimeSeries()) { + domain = domain.map((x) => parseDate.bind($$)(x)); + } + const isWithinRange = $$.withinRange( + domain, + $$.getZoomDomain("zoom", true), + $$.getZoomDomain("zoom") + ); + if (isWithinRange) { + state.domain = domain; + domain = $$.getZoomDomainValue(domain); + $$.api.tooltip.hide(); + if (config.subchart_show) { + const x = scale.zoom || scale.x; + $$.brush.getSelection().call($$.brush.move, domain.map(x)); + } else { + const x = isCategorized ? scale.x.orgScale() : org.xScale || scale.x; + $$.updateCurrentZoomTransform(x, domain); + } + $$.setZoomResetButton(); + } + } else { + domain = $$.zoom.getDomain(); + } + } + return (_a = state.domain) != null ? _a : domain; +}; +extend(zoom, { + /** + * Enable and disable zooming. + * @function zoom․enable + * @instance + * @memberof Chart + * @param {string|boolean} enabled Possible string values are "wheel" or "drag". If enabled is true, "wheel" will be used. If false is given, zooming will be disabled.<br>When set to false, the current zooming status will be reset. + * @example + * // Enable zooming using the mouse wheel + * chart.zoom.enable(true); + * // Or + * chart.zoom.enable("wheel"); + * + * // Enable zooming by dragging + * chart.zoom.enable("drag"); + * + * // Disable zooming + * chart.zoom.enable(false); + */ + enable(enabled) { + const $$ = this.internal; + const { config } = $$; + if (/^(drag|wheel)$/.test(enabled)) { + config.zoom_type = enabled; + } + config.zoom_enabled = !!enabled; + if (!$$.zoom) { + $$.initZoom(); + $$.bindZoomEvent(); + } else if (enabled === false) { + $$.bindZoomEvent(false); + } + $$.updateAndRedraw(); + }, + /** + * Set or get x Axis maximum zoom range value + * @function zoom․max + * @instance + * @memberof Chart + * @param {number} [max] maximum value to set for zoom + * @returns {number} zoom max value + * @example + * // Set maximum range value + * chart.zoom.max(20); + */ + max(max) { + const $$ = this.internal; + const { config, org: { xDomain } } = $$; + if (max === 0 || max) { + config.zoom_x_max = getMinMax("max", [xDomain[1], max]); + } + return config.zoom_x_max; + }, + /** + * Set or get x Axis minimum zoom range value + * @function zoom․min + * @instance + * @memberof Chart + * @param {number} [min] minimum value to set for zoom + * @returns {number} zoom min value + * @example + * // Set minimum range value + * chart.zoom.min(-1); + */ + min(min) { + const $$ = this.internal; + const { config, org: { xDomain } } = $$; + if (min === 0 || min) { + config.zoom_x_min = getMinMax("min", [xDomain[0], min]); + } + return config.zoom_x_min; + }, + /** + * Set zoom range + * @function zoom․range + * @instance + * @memberof Chart + * @param {object} [range] zoom range + * @returns {object} zoom range value + * { + * min: 0, + * max: 100 + * } + * @example + * chart.zoom.range({ + * min: 10, + * max: 100 + * }); + */ + range(range) { + const zoom2 = this.zoom; + if (isObject(range)) { + const { min, max } = range; + isDefined(min) && zoom2.min(min); + isDefined(max) && zoom2.max(max); + } + return { + min: zoom2.min(), + max: zoom2.max() + }; + } +}); +/* harmony default export */ var api_zoom = ({ + zoom, + /** + * Unzoom zoomed area + * - **NOTE:** Calling .unzoom() will not trigger zoom events. + * @function unzoom + * @instance + * @memberof Chart + * @example + * chart.unzoom(); + */ + unzoom() { + const $$ = this.internal; + const { config, $el: { eventRect, zoomResetBtn }, scale: { zoom: zoom2 }, state } = $$; + if (zoom2) { + config.subchart_show ? $$.brush.getSelection().call($$.brush.move, null) : $$.zoom.updateTransformScale(external_commonjs_d3_zoom_commonjs2_d3_zoom_amd_d3_zoom_root_d3_.zoomIdentity); + $$.updateZoom(true); + zoomResetBtn == null ? void 0 : zoomResetBtn.style("display", "none"); + if ((0,external_commonjs_d3_zoom_commonjs2_d3_zoom_amd_d3_zoom_root_d3_.zoomTransform)(eventRect.node()) !== external_commonjs_d3_zoom_commonjs2_d3_zoom_amd_d3_zoom_root_d3_.zoomIdentity) { + $$.zoom.transform(eventRect, external_commonjs_d3_zoom_commonjs2_d3_zoom_amd_d3_zoom_root_d3_.zoomIdentity); + } + state.domain = void 0; + } + } +}); + +;// ./src/ChartInternal/interactions/subchart.ts + + + + +/* harmony default export */ var interactions_subchart = ({ + /** + * Initialize the brush. + * @private + */ + initBrush() { + const $$ = this; + const { config, scale, $el: { subchart }, state } = $$; + const isRotated = config.axis_rotated; + const height = config.subchart_size_height; + let lastDomain; + let lastSelection; + let timeout; + $$.brush = (isRotated ? (0,external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_.brushY)() : (0,external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_.brushX)()).handleSize(5); + $$.brush.on("start brush end", (event) => { + const { selection, sourceEvent, target, type } = event; + if (type === "start") { + $$.state.inputType === "touch" && $$.hideTooltip(); + lastSelection = sourceEvent ? selection : null; + } + if (/(start|brush)/.test(type)) { + type === "brush" && sourceEvent && state.domain && (lastSelection == null ? void 0 : lastSelection.forEach((v, i) => { + if (v !== selection[i]) { + state.domain[i] = scale.x.orgDomain()[i]; + } + })); + $$.redrawForBrush(type !== "start"); + } + if (type === "end") { + lastDomain = scale.x.orgDomain(); + } + if (target == null ? void 0 : target.handle) { + if (selection === null) { + $$.brush.handle.attr("display", "none"); + } else { + $$.brush.handle.attr("display", null).attr("transform", (d, i) => { + const pos = [selection[i], height / 2]; + return `translate(${isRotated ? pos.reverse() : pos})`; + }); + } + } + }); + $$.brush.updateResize = function() { + timeout && clearTimeout(timeout); + timeout = setTimeout(() => { + const selection = this.getSelection(); + lastDomain && (0,external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_.brushSelection)(selection.node()) && this.move(selection, lastDomain.map(scale.subX.orgScale())); + }, 0); + }; + $$.brush.update = function() { + var _a; + const extent = this.extent()(); + if (extent[1].filter((v) => isNaN(v)).length === 0) { + (_a = subchart.main) == null ? void 0 : _a.select(`.${classes.brush}`).call(this); + } + return this; + }; + $$.brush.scale = function(scale2) { + const h = config.subchart_size_height; + let extent = $$.axis.getExtent(); + if (!extent && scale2.range) { + extent = [[0, 0], [scale2.range()[1], h]]; + } else if (isArray(extent)) { + extent = extent.map((v, i) => [v, i > 0 ? h : i]); + } + isRotated && extent[1].reverse(); + this.extent(extent); + this.update(); + }; + $$.brush.getSelection = () => ( + // @ts-ignore + subchart.main ? subchart.main.select(`.${classes.brush}`) : (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)([]) + ); + }, + /** + * Initialize the subchart. + * @private + */ + initSubchart() { + const $$ = this; + const { config, state: { clip, hasAxis }, $el: { defs, svg, subchart, axis } } = $$; + if (!hasAxis) { + return; + } + const visibility = config.subchart_show ? null : "hidden"; + const clipId = `${clip.id}-subchart`; + const clipPath = $$.getClipPath(clipId); + clip.idSubchart = clipId; + $$.appendClip(defs, clipId); + $$.initBrush(); + subchart.main = svg.append("g").classed(classes.subchart, true).attr("transform", $$.getTranslate("context")); + const { main } = subchart; + main.style("visibility", visibility); + main.append("g").attr("clip-path", clipPath).attr("class", classes.chart); + ["bar", "line", "bubble", "candlestick", "scatter"].forEach((v) => { + const type = capitalize(/^(bubble|scatter)$/.test(v) ? "circle" : v); + if ($$.hasType(v) || $$.hasTypeOf(type)) { + const chart = main.select(`.${classes.chart}`); + const chartClassName = classes[`chart${type}s`]; + if (chart.select(`.${chartClassName}`).empty()) { + chart.append("g").attr("class", chartClassName); + } + } + }); + const brush = main.append("g").attr("clip-path", clipPath).attr("class", classes.brush).call($$.brush); + config.subchart_showHandle && $$.addBrushHandle(brush); + axis.subX = main.append("g").attr("class", classes.axisX).attr("transform", $$.getTranslate("subX")).attr("clip-path", config.axis_rotated ? "" : clip.pathXAxis).style("visibility", config.subchart_axis_x_show ? visibility : "hidden"); + }, + /** + * Add brush handle + * Enabled when: subchart.showHandle=true + * @param {d3Selection} brush Brush selection + * @private + */ + addBrushHandle(brush) { + const $$ = this; + const { config } = $$; + const isRotated = config.axis_rotated; + const initRange = config.subchart_init_range; + const customHandleClass = "handle--custom"; + const path = isRotated ? [ + "M8.5 0 a6 6 0 0 0 -6 -6.5 H-2.5 a 6 6 0 0 0 -6 6.5 z m-5 -2 H-3.5 m7 -2 H-3.5z", + "M8.5 0 a6 -6 0 0 1 -6 6.5 H-2.5 a 6 -6 0 0 1 -6 -6.5z m-5 2 H-3.5 m7 2 H-3.5z" + ] : [ + "M0 -8.5 A6 6 0 0 0 -6.5 -3.5 V2.5 A6 6 0 0 0 0 8.5 Z M-2 -3.5 V3.5 M-4 -3.5 V3.5z", + "M0 -8.5 A6 6 0 0 1 6.5 -3.5 V2.5 A6 6 0 0 1 0 8.5 Z M2 -3.5 V3.5 M4 -3.5 V3.5z" + ]; + $$.brush.handle = brush.selectAll(`.${customHandleClass}`).data(isRotated ? [{ type: "n" }, { type: "s" }] : [{ type: "w" }, { type: "e" }]).enter().append("path").attr("class", customHandleClass).attr("cursor", `${isRotated ? "ns" : "ew"}-resize`).attr("d", (d) => path[+/[se]/.test(d.type)]).attr("display", initRange ? null : "none"); + }, + /** + * Update sub chart + * @param {object} targets $$.data.targets + * @private + */ + updateTargetsForSubchart(targets) { + const $$ = this; + const { config, state, $el: { subchart: { main } } } = $$; + if (config.subchart_show) { + ["bar", "line", "bubble", "candlestick", "scatter"].filter((v) => $$.hasType(v) || $$.hasTypeOf(capitalize(v))).forEach((v) => { + const isPointType = /^(bubble|scatter)$/.test(v); + const name = capitalize(isPointType ? "circle" : v); + const chartClass = $$.getChartClass(name, true); + const shapeClass = $$.getClass(isPointType ? "circles" : `${v}s`, true); + const shapeChart = main.select(`.${classes[`chart${`${name}s`}`]}`); + if (isPointType) { + const circle = shapeChart.selectAll(`.${classes.circles}`).data(targets.filter($$[`is${capitalize(v)}Type`].bind($$))).attr("class", shapeClass); + circle.exit().remove(); + circle.enter().append("g").attr("class", shapeClass); + } else { + const shapeUpdate = shapeChart.selectAll(`.${classes[`chart${name}`]}`).attr("class", chartClass).data(targets.filter($$[`is${name}Type`].bind($$))); + const shapeEnter = shapeUpdate.enter().append("g").style("opacity", "0").attr("class", chartClass).append("g").attr("class", shapeClass); + shapeUpdate.exit().remove(); + v === "line" && $$.hasTypeOf("Area") && shapeEnter.append("g").attr("class", $$.getClass("areas", true)); + } + }); + main.selectAll(`.${classes.brush} rect`).attr( + config.axis_rotated ? "width" : "height", + config.axis_rotated ? state.width2 : state.height2 + ); + } + }, + /** + * Redraw subchart. + * @private + * @param {boolean} withSubchart whether or not to show subchart + * @param {number} duration duration + * @param {object} shape Shape's info + */ + redrawSubchart(withSubchart, duration, shape) { + var _a; + const $$ = this; + const { config, $el: { subchart: { main } }, state } = $$; + const withTransition = !!duration; + main.style("visibility", config.subchart_show ? null : "hidden"); + if (config.subchart_show) { + if (((_a = state.event) == null ? void 0 : _a.type) === "zoom") { + $$.brush.update(); + } + if (withSubchart) { + const initRange = config.subchart_init_range; + !brushEmpty($$) && $$.brush.update(); + Object.keys(shape.type).forEach((v) => { + const name = capitalize(v); + const drawFn = $$[`generateDraw${name}`](shape.indices[v], true); + $$[`update${name}`](withTransition, true); + $$[`redraw${name}`](drawFn, withTransition, true); + }); + if ($$.hasType("bubble") || $$.hasType("scatter")) { + const { cx } = shape.pos; + const cy = $$.updateCircleY(true); + $$.updateCircle(true); + $$.redrawCircle(cx, cy, withTransition, void 0, true); + } + if (!state.rendered && initRange) { + state.domain = initRange; + $$.brush.move( + $$.brush.getSelection(), + initRange.map($$.scale.x) + ); + } + } + } + }, + /** + * Redraw the brush. + * @param {boolean} [callCallbck=true] Call 'onbrush' callback or not. + * @private + */ + redrawForBrush(callCallbck = true) { + var _a; + const $$ = this; + const { + config: { + subchart_onbrush: onBrush, + zoom_rescale: withY + }, + scale, + state + } = $$; + $$.redraw({ + withTransition: false, + withY, + withSubchart: false, + withUpdateXDomain: true, + withDimension: false + }); + callCallbck && state.rendered && onBrush.bind($$.api)((_a = state.domain) != null ? _a : scale.x.orgDomain()); + }, + /** + * Transform context + * @param {boolean} withTransition indicates transition is enabled + * @param {object} transitions The return value of the generateTransitions method of Axis. + * @private + */ + transformContext(withTransition, transitions) { + const $$ = this; + const { $el: { subchart }, $T } = $$; + const subXAxis = (transitions == null ? void 0 : transitions.axisSubX) ? transitions.axisSubX : $T(subchart.main.select(`.${classes.axisX}`), withTransition); + subchart.main.attr("transform", $$.getTranslate("context")); + subXAxis.attr("transform", $$.getTranslate("subX")); + } +}); + +;// ./src/ChartInternal/interactions/zoom.ts + + + + + +/* harmony default export */ var interactions_zoom = ({ + /** + * Initialize zoom. + * @private + */ + initZoom() { + const $$ = this; + $$.scale.zoom = null; + $$.generateZoom(); + $$.config.zoom_type === "drag" && $$.initZoomBehaviour(); + }, + /** + * Bind zoom event + * @param {boolean} bind Weather bind or unbound + * @private + */ + bindZoomEvent(bind = true) { + const $$ = this; + const { config } = $$; + const zoomEnabled = config.zoom_enabled; + if (zoomEnabled && bind) { + !config.subchart_show && $$.bindZoomOnEventRect(); + } else if (bind === false) { + $$.api.unzoom(); + $$.unbindZoomEvent(); + } + }, + /** + * Generate zoom + * @private + */ + generateZoom() { + const $$ = this; + const { config, org, scale } = $$; + const zoom = (0,external_commonjs_d3_zoom_commonjs2_d3_zoom_amd_d3_zoom_root_d3_.zoom)().duration(0).on("start", $$.onZoomStart.bind($$)).on("zoom", $$.onZoom.bind($$)).on("end", $$.onZoomEnd.bind($$)); + zoom.orgScaleExtent = () => { + const extent = config.zoom_extent || [1, 10]; + return [extent[0], Math.max($$.getMaxDataCount() / extent[1], extent[1])]; + }; + zoom.updateScaleExtent = function() { + const ratio = diffDomain($$.scale.x.orgDomain()) / diffDomain($$.getZoomDomain()); + const extent = this.orgScaleExtent(); + this.scaleExtent([extent[0] * ratio, extent[1] * ratio]); + return this; + }; + zoom.updateTransformScale = (transform, correctTransform) => { + var _a; + const isRotated = config.axis_rotated; + (_a = org.xScale) == null ? void 0 : _a.range(scale.x.range()); + const newScale = transform[isRotated ? "rescaleY" : "rescaleX"](org.xScale || scale.x); + if (newScale.domain().some((v) => /(Invalid Date|NaN)/.test(v.toString()))) { + return; + } + const domain = $$.trimXDomain(newScale.domain()); + const rescale = config.zoom_rescale; + newScale.domain(domain, org.xDomain); + if (correctTransform) { + const t = newScale(scale.x.domain()[0]); + const tX = isRotated ? transform.x : t; + const tY = isRotated ? t : transform.y; + $$.$el.eventRect.property( + "__zoom", + external_commonjs_d3_zoom_commonjs2_d3_zoom_amd_d3_zoom_root_d3_.zoomIdentity.translate(tX, tY).scale(transform.k) + ); + } + if (!$$.state.xTickOffset) { + $$.state.xTickOffset = $$.axis.x.tickOffset(); + } + scale.zoom = $$.getCustomizedXScale(newScale); + $$.axis.x.scale(scale.zoom); + if (rescale) { + !org.xScale && (org.xScale = scale.x.copy()); + scale.x.domain(domain); + } else if (org.xScale) { + scale.x.domain(org.xScale.domain()); + org.xScale = null; + } + }; + zoom.getDomain = () => { + const domain = scale[scale.zoom ? "zoom" : "subX"].domain(); + const isCategorized = $$.axis.isCategorized(); + if (isCategorized) { + domain[1] -= 2; + } + return domain; + }; + $$.zoom = zoom; + }, + /** + * 'start' event listener + * @param {object} event Event object + * @private + */ + onZoomStart(event) { + const $$ = this; + const { sourceEvent } = event; + if (sourceEvent) { + $$.zoom.startEvent = sourceEvent; + $$.state.zooming = true; + callFn($$.config.zoom_onzoomstart, $$.api, event); + } + }, + /** + * 'zoom' event listener + * @param {object} event Event object + * @private + */ + onZoom(event) { + var _a; + const $$ = this; + const { config, scale, state, org } = $$; + const { sourceEvent } = event; + const isUnZoom = (event == null ? void 0 : event.transform) === external_commonjs_d3_zoom_commonjs2_d3_zoom_amd_d3_zoom_root_d3_.zoomIdentity; + if (!config.zoom_enabled || $$.filterTargetsToShow($$.data.targets).length === 0 || !scale.zoom && (sourceEvent == null ? void 0 : sourceEvent.type.indexOf("touch")) > -1 && (sourceEvent == null ? void 0 : sourceEvent.touches.length) === 1) { + return; + } + if (event.sourceEvent) { + state.zooming = true; + state.domain = void 0; + } + const isMousemove = (sourceEvent == null ? void 0 : sourceEvent.type) === "mousemove"; + const isZoomOut = (sourceEvent == null ? void 0 : sourceEvent.wheelDelta) < 0; + const { transform } = event; + if (!isMousemove && isZoomOut && scale.x.domain().every((v, i) => v !== org.xDomain[i])) { + scale.x.domain(org.xDomain); + } + $$.zoom.updateTransformScale(transform, config.zoom_type === "wheel" && sourceEvent); + const doTransition = config.transition_duration > 0 && !config.subchart_show && (state.dragging || isUnZoom || !event.sourceEvent); + $$.redraw({ + withTransition: doTransition, + withY: config.zoom_rescale, + withSubchart: false, + withEventRect: false, + withDimension: false + }); + $$.state.cancelClick = isMousemove; + !isUnZoom && callFn( + config.zoom_onzoom, + $$.api, + (_a = $$.state.domain) != null ? _a : $$.zoom.getDomain() + ); + }, + /** + * 'end' event listener + * @param {object} event Event object + * @private + */ + onZoomEnd(event) { + var _a, _b; + const $$ = this; + const { config, state } = $$; + let { startEvent } = $$.zoom; + let e = event == null ? void 0 : event.sourceEvent; + const isUnZoom = (event == null ? void 0 : event.transform) === external_commonjs_d3_zoom_commonjs2_d3_zoom_amd_d3_zoom_root_d3_.zoomIdentity; + if ((startEvent == null ? void 0 : startEvent.type.indexOf("touch")) > -1) { + startEvent = startEvent.changedTouches[0]; + e = (_a = e == null ? void 0 : e.changedTouches) == null ? void 0 : _a[0]; + } + if (config.zoom_type === "drag" && (e && startEvent.clientX === e.clientX && startEvent.clientY === e.clientY)) { + return; + } + state.zooming = false; + $$.redrawEventRect(); + $$.updateZoom(); + !isUnZoom && (e || state.dragging) && callFn( + config.zoom_onzoomend, + $$.api, + (_b = $$.state.domain) != null ? _b : $$.zoom.getDomain() + ); + }, + /** + * Update zoom + * @param {boolean} force Force unzoom + * @private + */ + updateZoom(force) { + const $$ = this; + const { subX, x, zoom } = $$.scale; + if (zoom) { + const zoomDomain = zoom.domain(); + const xDomain = subX.domain(); + const delta = 0.015; + const isfullyShown = $$.config.axis_x_inverted ? (zoomDomain[0] >= xDomain[0] || zoomDomain[0] + delta >= xDomain[0]) && (xDomain[1] >= zoomDomain[1] || xDomain[1] >= zoomDomain[1] + delta) : (zoomDomain[0] <= xDomain[0] || zoomDomain[0] - delta <= xDomain[0]) && (xDomain[1] <= zoomDomain[1] || xDomain[1] <= zoomDomain[1] - delta); + if (force || isfullyShown) { + $$.axis.x.scale(subX); + x.domain(subX.orgDomain()); + $$.scale.zoom = null; + } + } + }, + /** + * Set zoom transform to event rect + * @param {Function} x x Axis scale function + * @param {Array} domain Domain value to be set + * @private + */ + updateCurrentZoomTransform(x, domain) { + const $$ = this; + const { $el: { eventRect }, config } = $$; + const isRotated = config.axis_rotated; + const translate = [-x(domain[0]), 0]; + const transform = external_commonjs_d3_zoom_commonjs2_d3_zoom_amd_d3_zoom_root_d3_.zoomIdentity.scale(x.range()[1] / (x(domain[1]) - x(domain[0]))).translate( + ...isRotated ? translate.reverse() : translate + ); + eventRect.call($$.zoom.transform, transform); + }, + /** + * Attach zoom event on <rect> + * @private + */ + bindZoomOnEventRect() { + var _a; + const $$ = this; + const { config, $el: { eventRect, svg } } = $$; + const behaviour = config.zoom_type === "drag" ? $$.zoomBehaviour : $$.zoom; + if (win.GestureEvent && /^((?!chrome|android|mobile).)*safari/i.test((_a = win.navigator) == null ? void 0 : _a.userAgent)) { + svg.on("wheel", () => { + }); + } + eventRect == null ? void 0 : eventRect.call(behaviour).on("dblclick.zoom", null); + }, + /** + * Initialize the drag behaviour used for zooming. + * @private + */ + initZoomBehaviour() { + const $$ = this; + const { config, state } = $$; + const isRotated = config.axis_rotated; + let start = 0; + let end = 0; + let zoomRect; + let extent; + const prop = { + axis: isRotated ? "y" : "x", + attr: isRotated ? "height" : "width", + index: isRotated ? 1 : 0 + }; + $$.zoomBehaviour = (0,external_commonjs_d3_drag_commonjs2_d3_drag_amd_d3_drag_root_d3_.drag)().clickDistance(4).on("start", function(event) { + extent = $$.scale.zoom ? null : $$.axis.getExtent(); + state.event = event; + $$.setDragStatus(true); + $$.unselectRect(); + if (!zoomRect) { + zoomRect = $$.$el.main.append("rect").attr("clip-path", state.clip.path).attr("class", $ZOOM.zoomBrush).attr("width", isRotated ? state.width : 0).attr("height", isRotated ? 0 : state.height); + } + start = getPointer(event, this)[prop.index]; + if (extent) { + if (start < extent[0]) { + start = extent[0]; + } else if (start > extent[1]) { + start = extent[1]; + } + } + end = start; + zoomRect.attr(prop.axis, start).attr(prop.attr, 0); + $$.onZoomStart(event); + }).on("drag", function(event) { + end = getPointer(event, this)[prop.index]; + if (extent) { + if (end > extent[1]) { + end = extent[1]; + } else if (end < extent[0]) { + end = extent[0]; + } + } + zoomRect.attr(prop.axis, Math.min(start, end)).attr(prop.attr, Math.abs(end - start)); + }).on("end", (event) => { + const scale = $$.scale.zoom || $$.scale.x; + state.event = event; + zoomRect.attr(prop.axis, 0).attr(prop.attr, 0); + if (start > end) { + [start, end] = [end, start]; + } + if (start < 0) { + end += Math.abs(start); + start = 0; + } + if (start !== end) { + $$.api.zoom([start, end].map((v) => scale.invert(v))); + } + $$.setDragStatus(false); + }); + }, + setZoomResetButton() { + const $$ = this; + const { config, $el } = $$; + const resetButton = config.zoom_resetButton; + if (resetButton && config.zoom_type === "drag") { + if (!$el.zoomResetBtn) { + $el.zoomResetBtn = $$.$el.chart.append("div").classed($COMMON.button, true).append("span").on("click", function() { + isFunction(resetButton.onclick) && resetButton.onclick.bind($$.api)(this); + $$.api.unzoom(); + }).classed($ZOOM.buttonZoomReset, true).text(resetButton.text || "Reset Zoom"); + } else { + $el.zoomResetBtn.style("display", null); + } + } + }, + getZoomTransform() { + const $$ = this; + const { $el: { eventRect } } = $$; + return (eventRect == null ? void 0 : eventRect.node()) ? (0,external_commonjs_d3_zoom_commonjs2_d3_zoom_amd_d3_zoom_root_d3_.zoomTransform)(eventRect.node()) : { k: 1 }; + } +}); + +;// ./src/ChartInternal/interactions/drag.ts + + + +/* harmony default export */ var drag = ({ + /** + * Called when dragging. + * Data points can be selected. + * @private + * @param {object} mouse Object + */ + drag(mouse) { + const $$ = this; + const { config, state, $el: { main } } = $$; + const isSelectionGrouped = config.data_selection_grouped; + const isSelectable = config.interaction_enabled && config.data_selection_isselectable; + if ($$.hasArcType() || !config.data_selection_enabled || // do nothing if not selectable + config.zoom_enabled && !$$.zoom.altDomain || // skip if zoomable because of conflict drag behavior + !config.data_selection_multiple) { + return; + } + const [sx, sy] = state.dragStart || [0, 0]; + const [mx, my] = mouse; + const minX = Math.min(sx, mx); + const maxX = Math.max(sx, mx); + const minY = isSelectionGrouped ? state.margin.top : Math.min(sy, my); + const maxY = isSelectionGrouped ? state.height : Math.max(sy, my); + main.select(`.${$DRAG.dragarea}`).attr("x", minX).attr("y", minY).attr("width", maxX - minX).attr("height", maxY - minY); + main.selectAll(`.${$SHAPE.shapes}`).selectAll(`.${$SHAPE.shape}`).filter((d) => isSelectable == null ? void 0 : isSelectable.bind($$.api)(d)).each(function(d, i) { + const shape = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this); + const isSelected = shape.classed($SELECT.SELECTED); + const isIncluded = shape.classed($DRAG.INCLUDED); + let isWithin = false; + let toggle; + if (shape.classed($CIRCLE.circle)) { + const x = +shape.attr("cx") * 1; + const y = +shape.attr("cy") * 1; + toggle = $$.togglePoint; + isWithin = minX < x && x < maxX && minY < y && y < maxY; + } else if (shape.classed($BAR.bar)) { + const { x, y, width, height } = getPathBox(this); + toggle = $$.togglePath; + isWithin = !(maxX < x || x + width < minX) && !(maxY < y || y + height < minY); + } else { + return; + } + if (isWithin ^ isIncluded) { + shape.classed($DRAG.INCLUDED, !isIncluded); + shape.classed($SELECT.SELECTED, !isSelected); + toggle.call($$, !isSelected, shape, d, i); + } + }); + }, + /** + * Called when the drag starts. + * Adds and Shows the drag area. + * @private + * @param {object} mouse Object + */ + dragstart(mouse) { + const $$ = this; + const { config, state, $el: { main } } = $$; + if ($$.hasArcType() || !config.data_selection_enabled) { + return; + } + state.dragStart = mouse; + main.select(`.${$COMMON.chart}`).append("rect").attr("class", $DRAG.dragarea).style("opacity", "0.1"); + $$.setDragStatus(true); + }, + /** + * Called when the drag finishes. + * Removes the drag area. + * @private + */ + dragend() { + const $$ = this; + const { config, $el: { main }, $T } = $$; + if ($$.hasArcType() || !config.data_selection_enabled) { + return; + } + $T(main.select(`.${$DRAG.dragarea}`)).style("opacity", "0").remove(); + main.selectAll(`.${$SHAPE.shape}`).classed($DRAG.INCLUDED, false); + $$.setDragStatus(false); + } +}); + +;// ./src/ChartInternal/internals/selection.ts +var selection_defProp = Object.defineProperty; +var __defProps = Object.defineProperties; +var __getOwnPropDescs = Object.getOwnPropertyDescriptors; +var selection_getOwnPropSymbols = Object.getOwnPropertySymbols; +var selection_hasOwnProp = Object.prototype.hasOwnProperty; +var selection_propIsEnum = Object.prototype.propertyIsEnumerable; +var selection_defNormalProp = (obj, key, value) => key in obj ? selection_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var selection_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (selection_hasOwnProp.call(b, prop)) + selection_defNormalProp(a, prop, b[prop]); + if (selection_getOwnPropSymbols) + for (var prop of selection_getOwnPropSymbols(b)) { + if (selection_propIsEnum.call(b, prop)) + selection_defNormalProp(a, prop, b[prop]); + } + return a; +}; +var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); + + + + +/* harmony default export */ var internals_selection = (__spreadProps(selection_spreadValues({}, drag), { + /** + * Select a point + * @param {object} target Target point + * @param {object} d Data object + * @param {number} i Index number + * @private + */ + selectPoint(target, d, i) { + const $$ = this; + const { config, $el: { main }, $T } = $$; + const isRotated = config.axis_rotated; + const cx = (isRotated ? $$.circleY : $$.circleX).bind($$); + const cy = (isRotated ? $$.circleX : $$.circleY).bind($$); + const r = $$.pointSelectR.bind($$); + callFn(config.data_onselected, $$.api, d, target.node()); + $T(main.select(`.${$SELECT.selectedCircles}${$$.getTargetSelectorSuffix(d.id)}`).selectAll(`.${$SELECT.selectedCircle}-${i}`).data([d]).enter().append("circle").attr("class", () => $$.generateClass($SELECT.selectedCircle, i)).attr("cx", cx).attr("cy", cy).attr("stroke", $$.color).attr("r", (d2) => $$.pointSelectR(d2) * 1.4)).attr("r", r); + }, + /** + * Unelect a point + * @param {object} target Target point + * @param {object} d Data object + * @param {number} i Index number + * @private + */ + unselectPoint(target, d, i) { + const $$ = this; + const { config, $el: { main }, $T } = $$; + callFn(config.data_onunselected, $$.api, d, target == null ? void 0 : target.node()); + $T(main.select(`.${$SELECT.selectedCircles}${$$.getTargetSelectorSuffix(d.id)}`).selectAll(`.${$SELECT.selectedCircle}-${i}`)).attr("r", 0).remove(); + }, + /** + * Toggles the selection of points + * @param {boolean} selected whether or not to select. + * @param {object} target Target object + * @param {object} d Data object + * @param {number} i Index number + * @private + */ + togglePoint(selected, target, d, i) { + const method = `${selected ? "" : "un"}selectPoint`; + this[method](target, d, i); + }, + /** + * Select a path + * @param {object} target Target path + * @param {object} d Data object + * @private + */ + selectPath(target, d) { + const $$ = this; + const { config } = $$; + callFn(config.data_onselected, $$.api, d, target.node()); + if (config.interaction_brighten) { + target.style("filter", "brightness(1.25)"); + } + }, + /** + * Unelect a path + * @private + * @param {object} target Target path + * @param {object} d Data object + */ + unselectPath(target, d) { + const $$ = this; + const { config } = $$; + callFn(config.data_onunselected, $$.api, d, target.node()); + if (config.interaction_brighten) { + target.style("filter", null); + } + }, + /** + * Toggles the selection of lines + * @param {boolean} selected whether or not to select. + * @param {object} target Target object + * @param {object} d Data object + * @param {number} i Index number + * @private + */ + togglePath(selected, target, d, i) { + this[`${selected ? "" : "un"}selectPath`](target, d, i); + }, + /** + * Returns the toggle method of the target + * @param {object} that shape + * @param {object} d Data object + * @returns {Function} toggle method + * @private + */ + getToggle(that, d) { + const $$ = this; + return that.nodeName === "path" ? $$.togglePath : $$.isStepType(d) ? () => { + } : ( + // circle is hidden in step chart, so treat as within the click area + $$.togglePoint + ); + }, + /** + * Toggles the selection of shapes + * @param {object} that shape + * @param {object} d Data object + * @param {number} i Index number + * @private + */ + toggleShape(that, d, i) { + var _a; + const $$ = this; + const { config, $el: { main } } = $$; + if (config.data_selection_enabled && config.data_selection_isselectable.bind($$.api)(d)) { + const shape = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(that); + const isSelected = shape.classed($SELECT.SELECTED); + const toggle = $$.getToggle(that, d).bind($$); + let toggledShape; + if (!config.data_selection_multiple) { + const focusOnly = (_a = $$.isPointFocusOnly) == null ? void 0 : _a.call($$); + let selector = `.${focusOnly ? $SELECT.selectedCircles : $SHAPE.shapes}`; + if (config.data_selection_grouped) { + selector += $$.getTargetSelectorSuffix(d.id); + } + main.selectAll(selector).selectAll( + focusOnly ? `.${$SELECT.selectedCircle}` : `.${$SHAPE.shape}.${$SELECT.SELECTED}` + ).classed($SELECT.SELECTED, false).each(function(d2) { + const shape2 = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this); + toggledShape = shape2; + toggle(false, shape2, d2, d2.index); + }); + } + if (!toggledShape || toggledShape.node() !== shape.node()) { + shape.classed($SELECT.SELECTED, !isSelected); + toggle(!isSelected, shape, d, i); + } + } + } +})); + +;// ./src/config/Options/data/selection.ts +/* harmony default export */ var data_selection = ({ + /** + * Set data selection enabled<br><br> + * If this option is set true, we can select the data points and get/set its state of selection by API (e.g. select, unselect, selected). + * - **NOTE:** for ESM imports, needs to import 'selection' exports and instantiate it by calling `selection()`. + * - `enabled: selection()` + * @name data․selection․enabled + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataSelection) + * @example + * data: { + * selection: { + * enabled: true + * } + * } + * @example + * // importing ESM + * import bb, {selection} from "billboard.js"; + * + * data: { + * selection: { + * enabled: selection(), + * ... + * } + * } + */ + data_selection_enabled: false, + /** + * Set grouped selection enabled.<br><br> + * If this option set true, multiple data points that have same x value will be selected by one selection. + * @name data․selection․grouped + * @memberof Options + * @type {boolean} + * @default false + * @example + * data: { + * selection: { + * grouped: true + * } + * } + */ + data_selection_grouped: false, + /** + * Set a callback for each data point to determine if it's selectable or not.<br><br> + * The callback will receive d as an argument and it has some parameters like id, value, index. This callback should return boolean. + * @name data․selection․isselectable + * @memberof Options + * @type {Function} + * @default function() { return true; } + * @example + * data: { + * selection: { + * isselectable: function(d) { ... } + * } + * } + */ + data_selection_isselectable: () => true, + /** + * Set multiple data points selection enabled.<br><br> + * If this option set true, multile data points can have the selected state at the same time. If false set, only one data point can have the selected state and the others will be unselected when the new data point is selected. + * @name data․selection․multiple + * @memberof Options + * @type {boolean} + * @default true + * @example + * data: { + * selection: { + * multiple: false + * } + * } + */ + data_selection_multiple: true, + /** + * Enable to select data points by dragging. + * If this option set true, data points can be selected by dragging. + * - **NOTE:** If this option set true, scrolling on the chart will be disabled because dragging event will handle the event. + * @name data․selection․draggable + * @memberof Options + * @type {boolean} + * @default false + * @example + * data: { + * selection: { + * draggable: true + * } + * } + */ + data_selection_draggable: false, + /** + * Set a callback for on data selection. + * @name data․onselected + * @memberof Options + * @type {Function} + * @default function() {} + * @example + * data: { + * onselected: function(d, element) { + * // d - ex) {x: 4, value: 150, id: "data1", index: 4, name: "data1"} + * // element - <circle> + * ... + * } + * } + */ + data_onselected: () => { + }, + /** + * Set a callback for on data un-selection. + * @name data․onunselected + * @memberof Options + * @type {Function} + * @default function() {} + * @example + * data: { + * onunselected: function(d, element) { + * // d - ex) {x: 4, value: 150, id: "data1", index: 4, name: "data1"} + * // element - <circle> + * ... + * } + * } + */ + data_onunselected: () => { + } +}); + +;// ./src/config/Options/interaction/subchart.ts +/* harmony default export */ var interaction_subchart = ({ + /** + * Set subchart options. + * - **NOTE:** Not supported for `bubble`, `scatter` and non-Axis based(pie, donut, gauge, radar) types. + * @name subchart + * @memberof Options + * @type {object} + * @property {object} subchart Subchart object + * @property {boolean} [subchart.show=false] Show sub chart on the bottom of the chart. + * - **NOTE:** for ESM imports, needs to import 'subchart' exports and instantiate it by calling `subchart()`. + * - `show: subchart()` + * @property {boolean} [subchart.showHandle=false] Show sub chart's handle. + * @property {boolean} [subchart.axis.x.show=true] Show or hide x axis. + * @property {boolean} [subchart.axis.x.tick.show=true] Show or hide x axis tick line. + * @property {Function|string} [subchart.axis.x.tick.format] Use custom format for x axis ticks - see [axis.x.tick.format](#.axis․x․tick․format) for details. + * @property {boolean} [subchart.axis.x.tick.text.show=true] Show or hide x axis tick text. + * @property {Array} [subchart.init.range] Set initial selection domain range. + * @property {number} [subchart.size.height] Change the height of the subchart. + * @property {Function} [subchart.onbrush] Set callback for brush event.<br> + * Specified function receives the current zoomed x domain. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Interaction.SubChart) + * @example + * subchart: { + * show: true, + * showHandle: true, + * size: { + * height: 20 + * }, + * init: { + * // specify initial range domain selection + * range: [1, 2] + * }, + * axis: { + * x: { + * show: true, + * tick: { + * show: true, + * format: (x) => d3Format(".1f")(x) + * text: { + * show: false + * } + * } + * } + * }, + * onbrush: function(domain) { ... } + * } + * @example + * // importing ESM + * import bb, {subchart} from "billboard.js"; + * + * subchart: { + * show: subchart(), + * ... + * } + */ + subchart_show: false, + subchart_showHandle: false, + subchart_size_height: 60, + subchart_axis_x_show: true, + subchart_axis_x_tick_show: true, + subchart_axis_x_tick_format: void 0, + subchart_axis_x_tick_text_show: true, + subchart_init_range: void 0, + subchart_onbrush: () => { + } +}); + +;// ./src/config/Options/interaction/zoom.ts +/* harmony default export */ var interaction_zoom = ({ + /** + * Set zoom options + * @name zoom + * @memberof Options + * @type {object} + * @property {object} zoom Zoom object + * @property {boolean} [zoom.enabled=false] Enable zooming. + * - **NOTE:** for ESM imports, needs to import 'zoom' exports and instantiate it by calling `zoom()`. + * - `enabled: zoom()` + * @property {string} [zoom.type='wheel'] Set zoom interaction type. + * - **Available types:** + * - wheel + * - drag + * @property {boolean} [zoom.rescale=false] Enable to rescale after zooming.<br> + * If true set, y domain will be updated according to the zoomed region. + * @property {Array} [zoom.extent=[1, 10]] Change zoom extent. + * @property {number|Date} [zoom.x.min] Set x Axis minimum zoom range + * @property {number|Date} [zoom.x.max] Set x Axis maximum zoom range + * @property {Function} [zoom.onzoomstart=undefined] Set callback that is called when zooming starts.<br> + * Specified function receives the zoom event. + * @property {Function} [zoom.onzoom=undefined] Set callback that is called when the chart is zooming.<br> + * Specified function receives the zoomed domain. + * @property {Function} [zoom.onzoomend=undefined] Set callback that is called when zooming ends.<br> + * Specified function receives the zoomed domain. + * @property {boolean|object} [zoom.resetButton=true] Set to display zoom reset button for 'drag' type zoom + * @property {Function} [zoom.resetButton.onclick] Set callback when clicks the reset button. The callback will receive reset button element reference as argument. + * @property {string} [zoom.resetButton.text='Reset Zoom'] Text value for zoom reset button. + * @see [Demo:zoom](https://naver.github.io/billboard.js/demo/#Interaction.Zoom) + * @see [Demo:drag zoom](https://naver.github.io/billboard.js/demo/#Interaction.DragZoom) + * @example + * zoom: { + * enabled: true, + * type: "drag", + * rescale: true, + * extent: [1, 100] // enable more zooming + * x: { + * min: -1, // set min range + * max: 10 // set max range + * }, + * onzoomstart: function(event) { ... }, + * onzoom: function(domain) { ... }, + * onzoomend: function(domain) { ... }, + * + * // show reset button when is zoomed-in + * resetButton: true, + * + * resetButton: { + * // onclick callback when reset button is clicked + * onclick: function(button) { + * button; // Reset button element reference + * ... + * }, + * + * // customized text value for reset zoom button + * text: "Unzoom" + * } + * } + * @example + * // importing ESM + * import bb, {zoom} from "billboard.js"; + * + * zoom: { + * enabled: zoom(), + * ... + * } + */ + zoom_enabled: false, + zoom_type: "wheel", + zoom_extent: void 0, + zoom_privileged: false, + zoom_rescale: false, + zoom_onzoom: void 0, + zoom_onzoomstart: void 0, + zoom_onzoomend: void 0, + zoom_resetButton: true, + zoom_x_min: void 0, + zoom_x_max: void 0 +}); + +;// ./src/config/resolver/interaction.ts + + + + + + + + + + + + + + +let selectionModule = () => { + extend(ChartInternal.prototype, internals_selection); + extend(Chart.prototype, selection); + Options.setOptions([data_selection]); + return (selectionModule = () => true)(); +}; +let subchartModule = () => { + extend(ChartInternal.prototype, interactions_subchart); + extend(Chart.prototype, api_subchart); + Options.setOptions([interaction_subchart]); + return (subchartModule = () => true)(); +}; +let zoomModule = () => { + extend(ChartInternal.prototype, interactions_zoom); + extend(Chart.prototype, api_zoom); + Options.setOptions([interaction_zoom]); + return (zoomModule = () => true)(); +}; + +;// ./src/Chart/api/axis.ts + +function setMinMax($$, type, value) { + const { config } = $$; + const helper = (key, value2) => { + const v = isNumber(value2) ? value2 : value2 === false ? void 0 : null; + if (v !== null) { + config[`axis_${key}_${type}`] = v; + } + }; + if (isDefined(value)) { + if (isObjectType(value)) { + Object.keys(value).forEach((key) => { + helper(key, value[key]); + }); + } else if (isNumber(value) || value === false) { + ["y", "y2"].forEach((key) => { + helper(key, value); + }); + } + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true + }); + } +} +function axis_getMinMax($$, type) { + const { config } = $$; + return { + x: config[`axis_x_${type}`], + y: config[`axis_y_${type}`], + y2: config[`axis_y2_${type}`] + }; +} +const axis = { + /** + * Get and set axis labels. + * - **NOTE:** Only applicable for chart types which has x and y axes. + * @function axis․labels + * @instance + * @memberof Chart + * @param {object} labels specified axis' label to be updated. + * @param {string} [labels.x] x Axis string + * @param {string} [labels.y] y Axis string + * @param {string} [labels.y2] y2 Axis string + * @returns {object|undefined} axis labels text object + * @example + * // Update axis' label + * chart.axis.labels({ + * x: "New X Axis Label", + * y: "New Y Axis Label", + * y2: "New Y2 Axis Label" + * }); + * + * chart.axis.labels(); + * // --> { + * // x: "New X Axis Label", + * // y: "New Y Axis Label", + * // y2: "New Y2 Axis Label" + * // } + */ + labels: function(labels) { + const $$ = this.internal; + let labelText; + if (labels) { + Object.keys(labels).forEach((axisId) => { + $$.axis.setLabelText(axisId, labels[axisId]); + }); + $$.axis.updateLabels(); + } + ["x", "y", "y2"].forEach((v) => { + const text = $$.axis.getLabelText(v); + if (text) { + !labelText && (labelText = {}); + labelText[v] = text; + } + }); + return labelText; + }, + /** + * Get and set axis min value. + * - **NOTE:** Only applicable for chart types which has x and y axes. + * @function axis․min + * @instance + * @memberof Chart + * @param {object} min If min is given, specified axis' min value will be updated.<br> + * If no argument is given, the min values set on generating option for each axis will be returned. + * If not set any min values on generation, it will return `undefined`.<br> + * To unset specific axis max, set `false` to each of them. + * @returns {object|undefined} + * @example + * // Update axis' min + * chart.axis.min({ + * x: -10, + * y: 1000, + * y2: 100 + * }); + * + * // To unset specific axis min, set false to each of them. + * chart.axis.min({ + * x: false, + * y: false, + * y2: false + * }); + * + * // shorthand (only affects y and y2 axis) + * chart.axis.min(-50); + * chart.axis.min(false); + */ + min: function(min) { + const $$ = this.internal; + return isValue(min) || min === false ? setMinMax($$, "min", min) : axis_getMinMax($$, "min"); + }, + /** + * Get and set axis max value. + * - **NOTE:** Only applicable for chart types which has x and y axes. + * @function axis․max + * @instance + * @memberof Chart + * @param {object} max If max is given, specified axis' max value will be updated.<br> + * If no argument is given, the max values set on generating option for each axis will be returned. + * If not set any max values on generation, it will return `undefined`.<br> + * To unset specific axis max, set `false` to each of them. + * @returns {object|undefined} + * @example + * // Update axis' label + * chart.axis.max({ + * x: 100, + * y: 1000, + * y2: 10000 + * }); + * + * // To unset specific axis max, set false to each of them. + * chart.axis.max({ + * x: false, + * y: false, + * y2: false + * }); + * + * // shorthand (only affects y and y2 axis) + * chart.axis.max(10); + * chart.axis.max(false); + */ + max: function(max) { + const $$ = this.internal; + return isValue(max) || max === false ? setMinMax($$, "max", max) : axis_getMinMax($$, "max"); + }, + /** + * Get and set axis min and max value. + * - **NOTE:** Only applicable for chart types which has x and y axes. + * @function axis․range + * @instance + * @memberof Chart + * @param {object} range If range is given, specified axis' min and max value will be updated. + * If no argument is given, the current min and max values for each axis will be returned.<br> + * To unset specific axis max, set `false` to each of them. + * @returns {object|undefined} + * @example + * // Update axis' label + * chart.axis.range({ + * min: { + * x: -10, + * y: -1000, + * y2: -10000 + * }, + * max: { + * x: 100, + * y: 1000, + * y2: 10000 + * }, + * }); + * + * // To unset specific axis max, set false to each of them. + * chart.axis.range({ + * min: { + * x: false, + * y: false, + * y2: false + * }, + * max: { + * x: false, + * y: false, + * y2: false + * }, + * }); + * + * // shorthand (only affects y and y2 axis) + * chart.axis.range({ min: -50, max: 1000 }); + * chart.axis.range({ min: false, max: false }); + */ + range: function(range) { + const { axis: axis2 } = this; + if (arguments.length) { + const { min, max } = range; + isDefined(max) && axis2.max(max); + isDefined(min) && axis2.min(min); + } else { + return { + max: axis2.max(), + min: axis2.min() + }; + } + return void 0; + } +}; +/* harmony default export */ var api_axis = ({ axis }); + +;// ./src/Chart/api/category.ts + +/* harmony default export */ var api_category = ({ + /** + * Set specified category name on category axis. + * @function category + * @instance + * @memberof Chart + * @param {number} i index of category to be changed + * @param {string} category category value to be changed + * @returns {string} + * @example + * chart.category(2, "Category 3"); + */ + category(i, category) { + const $$ = this.internal; + const { config } = $$; + if (arguments.length > 1) { + config.axis_x_categories[i] = category; + $$.redraw(); + } + return config.axis_x_categories[i]; + }, + /** + * Set or get category names on category axis. + * @function categories + * @instance + * @memberof Chart + * @param {Array} categories This must be an array that includes category names in string. If category names are included in the date by data.x option, this is not required. + * @returns {Array} + * @example + * chart.categories([ + * "Category 1", "Category 2", ... + * ]); + */ + categories(categories) { + const $$ = this.internal; + const { config } = $$; + if (!categories || !Array.isArray(categories)) { + const cat = config.axis_x_categories; + return isEmpty(cat) ? Object.values($$.data.xs)[0] : cat; + } + config.axis_x_categories = categories; + $$.redraw(); + return config.axis_x_categories; + } +}); + +;// ./src/Chart/api/flow.ts + +/* harmony default export */ var flow = ({ + /** + * Flow data to the chart.<br><br> + * By this API, you can append new data points to the chart. + * @function flow + * @instance + * @memberof Chart + * @param {object} args The object can consist with following members:<br> + * + * | Key | Type | Description | + * | --- | --- | --- | + * | json | Object | Data as JSON format (@see [data․json](Options.html#.data%25E2%2580%25A4json)) | + * | rows | Array | Data in array as row format (@see [data․rows](Options.html#.data%25E2%2580%25A4json)) | + * | columns | Array | Data in array as column format (@see [data․columns](Options.html#.data%25E2%2580%25A4columns)) | + * | to | String | The lower x edge will move to that point. If not given, the lower x edge will move by the number of given data points | + * | length | Number | The lower x edge will move by the number of this argument | + * | duration | Number | The duration of the transition will be specified value. If not given, transition.duration will be used as default | + * | done | Function | The specified function will be called when flow ends | + * + * - **NOTE:** + * - If json, rows and columns given, the data will be loaded. + * - If data that has the same target id is given, the chart will be appended. + * - Otherwise, new target will be added. One of these is required when calling. + * - If json specified, keys is required as well as data.json. + * - If tab isn't visible(by evaluating `document.hidden`), will not be executed to prevent unnecessary work. + * @example + * // 2 data points will be apprended to the tail and popped from the head. + * // After that, 4 data points will be appended and no data points will be poppoed. + * chart.flow({ + * columns: [ + * ["x", "2018-01-11", "2018-01-21"], + * ["data1", 500, 200], + * ["data2", 100, 300], + * ["data3", 200, 120] + * ], + * to: "2013-01-11", + * done: function () { + * chart.flow({ + * columns: [ + * ["x", "2018-02-11", "2018-02-12", "2018-02-13", "2018-02-14"], + * ["data1", 200, 300, 100, 250], + * ["data2", 100, 90, 40, 120], + * ["data3", 100, 100, 300, 500] + * ], + * length: 2, + * duration: 1500 + * }); + * } + * }); + */ + flow(args) { + const $$ = this.internal; + let data; + if (args.json || args.rows || args.columns) { + $$.convertData(args, (res) => { + data = res; + _(); + }); + } + function _() { + let domain; + let length = 0; + let tail = 0; + let diff; + let to; + if ($$.state.redrawing || !data || !isTabVisible()) { + return; + } + const notfoundIds = []; + const orgDataCount = $$.getMaxDataCount(); + const targets = $$.convertDataToTargets(data, true); + const isTimeSeries = $$.axis.isTimeSeries(); + $$.data.targets.forEach((t) => { + let found = false; + for (let i = 0; i < targets.length; i++) { + if (t.id === targets[i].id) { + found = true; + if (t.values[t.values.length - 1]) { + tail = t.values[t.values.length - 1].index + 1; + } + length = targets[i].values.length; + for (let j = 0; j < length; j++) { + targets[i].values[j].index = tail + j; + if (!isTimeSeries) { + targets[i].values[j].x = tail + j; + } + } + t.values = t.values.concat(targets[i].values); + targets.splice(i, 1); + break; + } + } + !found && notfoundIds.push(t.id); + }); + $$.data.targets.forEach((t) => { + for (let i = 0; i < notfoundIds.length; i++) { + if (t.id === notfoundIds[i]) { + tail = t.values[t.values.length - 1].index + 1; + for (let j = 0; j < length; j++) { + t.values.push({ + id: t.id, + index: tail + j, + x: isTimeSeries ? $$.getOtherTargetX(tail + j) : tail + j, + value: null + }); + } + } + } + }); + if ($$.data.targets.length) { + targets.forEach((t) => { + const missing = []; + for (let i = $$.data.targets[0].values[0].index; i < tail; i++) { + missing.push({ + id: t.id, + index: i, + x: isTimeSeries ? $$.getOtherTargetX(i) : i, + value: null + }); + } + t.values.forEach((v) => { + v.index += tail; + if (!isTimeSeries) { + v.x += tail; + } + }); + t.values = missing.concat(t.values); + }); + } + $$.data.targets = $$.data.targets.concat(targets); + const baseTarget = $$.data.targets[0]; + const baseValue = baseTarget.values[0]; + if (isDefined(args.to)) { + length = 0; + to = isTimeSeries ? parseDate.call($$, args.to) : args.to; + baseTarget.values.forEach((v) => { + v.x < to && length++; + }); + } else if (isDefined(args.length)) { + length = args.length; + } + if (!orgDataCount) { + if (isTimeSeries) { + diff = baseTarget.values.length > 1 ? baseTarget.values[baseTarget.values.length - 1].x - baseValue.x : baseValue.x - $$.getXDomain($$.data.targets)[0]; + } else { + diff = 1; + } + domain = [baseValue.x - diff, baseValue.x]; + } else if (orgDataCount === 1 && isTimeSeries) { + diff = (baseTarget.values[baseTarget.values.length - 1].x - baseValue.x) / 2; + domain = [new Date(+baseValue.x - diff), new Date(+baseValue.x + diff)]; + } + domain && $$.updateXDomain(null, true, true, false, domain); + $$.updateTargets($$.data.targets); + $$.redraw({ + flow: { + index: baseValue.index, + length, + duration: isValue(args.duration) ? args.duration : $$.config.transition_duration, + done: args.done, + orgDataCount + }, + withLegend: true, + withTransition: orgDataCount > 1, + withTrimXDomain: false, + withUpdateXAxis: true + }); + } + } +}); + +;// ./src/Chart/api/grid.ts + +function grid(grids, axisId) { + const $$ = this.internal; + const { config } = $$; + const withTransition = config.transition_duration && isTabVisible(); + const gridPropLines = `grid_${axisId}_lines`; + if (!grids) { + return config[gridPropLines]; + } + config[gridPropLines] = grids; + $$.updateGrid(); + $$.redrawGrid(withTransition); + return config[gridPropLines]; +} +function add(grids, axisId) { + const gridPropLines = `grid_${axisId}_lines`; + return grid.bind(this)( + this.internal.config[gridPropLines].concat(grids || []), + axisId + ); +} +function remove(grids, isXAxis) { + this.internal.removeGridLines(grids, isXAxis); +} +const xgrids = function(grids) { + return grid.bind(this)(grids, "x"); +}; +extend(xgrids, { + /** + * Add x grid lines.<br> + * This API adds new x grid lines instead of replacing like xgrids. + * @function xgrids․add + * @instance + * @memberof Chart + * @param {Array|object} grids New x grid lines will be added. The format of this argument is the same as grid.x.lines and it's possible to give an Object if only one line will be added. + * @returns {Array} + * @example + * // Add a new x grid line + * chart.xgrids.add( + * {value: 4, text: "Label 4"} + * ); + * + * // Add new x grid lines + * chart.xgrids.add([ + * {value: 2, text: "Label 2"}, + * {value: 4, text: "Label 4"} + * ]); + */ + add(grids) { + return add.bind(this)(grids, "x"); + }, + /** + * Remove x grid lines.<br> + * This API removes x grid lines. + * @function xgrids․remove + * @instance + * @memberof Chart + * @param {object} grids This argument should include value or class. If value is given, the x grid lines that have specified x value will be removed. If class is given, the x grid lines that have specified class will be removed. If args is not given, all of x grid lines will be removed. + * @param {number} [grids.value] target value + * @param {string} [grids.class] target class + * @returns {void} + * @example + * // x grid line on x = 2 will be removed + * chart.xgrids.remove({value: 2}); + * + * // x grid lines that have 'grid-A' will be removed + * chart.xgrids.remove({ + * class: "grid-A" + * }); + * + * // all of x grid lines will be removed + * chart.xgrids.remove(); + */ + remove(grids) { + return remove.bind(this)(grids, true); + } +}); +const ygrids = function(grids) { + return grid.bind(this)(grids, "y"); +}; +extend(ygrids, { + /** + * Add y grid lines.<br> + * This API adds new y grid lines instead of replacing like ygrids. + * @function ygrids․add + * @instance + * @memberof Chart + * @param {Array|object} grids New y grid lines will be added. The format of this argument is the same as grid.y.lines and it's possible to give an Object if only one line will be added. + * @returns {object} + * @example + * // Add a new x grid line + * chart.ygrids.add( + * {value: 400, text: "Label 4"} + * ); + * + * // Add new x grid lines + * chart.ygrids.add([ + * {value: 200, text: "Label 2"}, + * {value: 400, text: "Label 4"} + * ]); + */ + add(grids) { + return add.bind(this)(grids, "y"); + }, + /** + * Remove y grid lines.<br> + * This API removes x grid lines. + * @function ygrids․remove + * @instance + * @memberof Chart + * @param {object} grids This argument should include value or class. If value is given, the y grid lines that have specified y value will be removed. If class is given, the y grid lines that have specified class will be removed. If args is not given, all of y grid lines will be removed. + * @param {number} [grids.value] target value + * @param {string} [grids.class] target class + * @returns {void} + * @example + * // y grid line on y = 200 will be removed + * chart.ygrids.remove({value: 200}); + * + * // y grid lines that have 'grid-A' will be removed + * chart.ygrids.remove({ + * class: "grid-A" + * }); + * + * // all of y grid lines will be removed + * chart.ygrids.remove(); + */ + remove(grids) { + return remove.bind(this)(grids, false); + } +}); +/* harmony default export */ var api_grid = ({ xgrids, ygrids }); + +;// ./src/Chart/api/group.ts + +/* harmony default export */ var group = ({ + /** + * Update groups for the targets. + * @function groups + * @instance + * @memberof Chart + * @param {Array} groups This argument needs to be an Array that includes one or more Array that includes target ids to be grouped. + * @returns {Array} Grouped data names array + * @example + * // data1 and data2 will be a new group. + * chart.groups([ + * ["data1", "data2"] + * ]); + */ + groups(groups) { + const $$ = this.internal; + const { config } = $$; + if (isUndefined(groups)) { + return config.data_groups; + } + config.data_groups = groups; + $$.redraw(); + return config.data_groups; + } +}); + +;// ./src/Chart/api/regions.ts + + +function regionsFn(regions2, isAdd = false) { + const $$ = this.internal; + const { config } = $$; + const withTransition = config.transition_duration && isTabVisible(); + if (!regions2) { + return config.regions; + } + config.regions = isAdd ? config.regions.concat(regions2) : regions2; + $$.updateRegion(); + $$.redrawRegion(withTransition); + return isAdd ? config.regions : regions2; +} +const regions = function(regions2) { + return regionsFn.bind(this)(regions2); +}; +extend(regions, { + /** + * Add new region.<br><br> + * This API adds new region instead of replacing like regions. + * @function regions․add + * @instance + * @memberof Chart + * @param {Array|object} regions New region will be added. The format of this argument is the same as regions and it's possible to give an Object if only one region will be added. + * @returns {Array} regions + * @example + * // Add a new region + * chart.regions.add( + * { + * axis: "x", start: 5, class: "regionX", + * label: { + * text: "Region Text", + * color: "red" // color string + * } + * } + * ); + * + * // Add new regions + * chart.regions.add([ + * {axis: "x", start: 5, class: "regionX"}, + * { + * axis: "y", end: 50, class: "regionY", + * label: { + * text: "Region Text", + * x: 5, // position relative of the initial x coordinate + * y: 5, // position relative of the initial y coordinate + * color: "red", // color string + * rotated: true // make text to show in vertical or horizontal + * } + * } + * ]); + */ + add: function(regions2) { + return regionsFn.bind(this)(regions2, true); + }, + /** + * Remove regions.<br><br> + * This API removes regions. + * @function regions․remove + * @instance + * @memberof Chart + * @param {object} optionsValue This argument should include classes. If classes is given, the regions that have one of the specified classes will be removed. If args is not given, all of regions will be removed. + * @returns {Array} regions Removed regions + * @example + * // regions that have 'region-A' or 'region-B' will be removed. + * chart.regions.remove({ + * classes: [ + * "region-A", "region-B" + * ] + * }); + * + * // all of regions will be removed. + * chart.regions.remove(); + */ + remove: function(optionsValue) { + const $$ = this.internal; + const { config, $T } = $$; + const options = optionsValue || {}; + const classes = getOption(options, "classes", [$REGION.region]); + let regions2 = $$.$el.main.select(`.${$REGION.regions}`).selectAll(classes.map((c) => `.${c}`)); + $T(regions2).style("opacity", "0").remove(); + regions2 = config.regions; + if (Object.keys(options).length) { + regions2 = regions2.filter((region) => { + let found = false; + if (!region.class) { + return true; + } + region.class.split(" ").forEach((c) => { + if (classes.indexOf(c) >= 0) { + found = true; + } + }); + return !found; + }); + config.regions = regions2; + } else { + config.regions = []; + } + return regions2; + } +}); +/* harmony default export */ var api_regions = ({ regions }); + +;// ./src/Chart/api/x.ts + +/* harmony default export */ var x = ({ + /** + * Get and set x values for the chart. + * @function x + * @instance + * @memberof Chart + * @param {Array} x If x is given, x values of every target will be updated. If no argument is given, current x values will be returned as an Object whose keys are the target ids. + * @returns {object} xs + * @example + * // Get current x values + * chart.x(); + * + * // Update x values for all targets + * chart.x([100, 200, 300, 400, ...]); + */ + x(x) { + const $$ = this.internal; + const { axis, data } = $$; + const isCategorized = axis.isCustomX() && axis.isCategorized(); + if (isArray(x)) { + if (isCategorized) { + this.categories(x); + } else { + $$.updateTargetX(data.targets, x); + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true + }); + } + } + return isCategorized ? this.categories() : data.xs; + }, + /** + * Get and set x values for the chart. + * @function xs + * @instance + * @memberof Chart + * @param {Array} xs If xs is given, specified target's x values will be updated. If no argument is given, current x values will be returned as an Object whose keys are the target ids. + * @returns {object} xs + * @example + * // Get current x values + * chart.xs(); + * + * // Update x values for all targets + * chart.xs({ + * data1: [10, 20, 30, 40, ...], + * data2: [100, 200, 300, 400, ...] + * }); + */ + xs(xs) { + const $$ = this.internal; + if (isObject(xs)) { + $$.updateTargetXs($$.data.targets, xs); + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true + }); + } + return $$.data.xs; + } +}); + +// EXTERNAL MODULE: external {"commonjs":"d3-axis","commonjs2":"d3-axis","amd":"d3-axis","root":"d3"} +var external_commonjs_d3_axis_commonjs2_d3_axis_amd_d3_axis_root_d3_ = __webpack_require__(11); +;// ./src/ChartInternal/Axis/AxisRendererHelper.ts +var AxisRendererHelper_defProp = Object.defineProperty; +var AxisRendererHelper_defNormalProp = (obj, key, value) => key in obj ? AxisRendererHelper_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var AxisRendererHelper_publicField = (obj, key, value) => AxisRendererHelper_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + +class AxisRendererHelper { + constructor(owner) { + AxisRendererHelper_publicField(this, "owner"); + AxisRendererHelper_publicField(this, "config"); + AxisRendererHelper_publicField(this, "scale"); + const scale = getScale(); + const { config, params } = owner; + this.owner = owner; + this.config = config; + this.scale = scale; + if (config.noTransition || !params.config.transition_duration) { + config.withoutTransition = true; + } + config.range = this.scaleExtent((params.orgXScale || scale).range()); + } + /** + * Compute a character dimension + * @param {d3.selection} text SVG text selection + * @param {boolean} memoize memoize the calculated size + * @returns {{w: number, h: number}} + * @private + */ + static getSizeFor1Char(text, memoize = true) { + const size = { + w: 5.5, + h: 11.5 + }; + !text.empty() && text.text("0").call((el) => { + try { + const { width, height } = el.node().getBBox(); + if (width && height) { + size.w = width; + size.h = height; + } + } finally { + el.text(""); + } + }); + if (memoize) { + this.getSizeFor1Char = () => size; + } + return size; + } + /** + * Get tick transform setter function + * @param {string} id Axis id + * @returns {Function} transfrom setter function + * @private + */ + getTickTransformSetter(id) { + const { config } = this; + const fn = id === "x" ? (value) => `translate(${value + config.tickOffset},0)` : (value) => `translate(0,${value})`; + return (selection, scale) => { + selection.attr("transform", (d) => { + const x = scale(d); + return isValue(d) ? fn(x) : null; + }); + }; + } + scaleExtent(domain) { + const start = domain[0]; + const stop = domain[domain.length - 1]; + return start < stop ? [start, stop] : [stop, start]; + } + generateTicks(scale, isYAxes) { + const { tickStepSize } = this.owner.params; + const [start, end] = scale.domain(); + let ticks = []; + if (isYAxes && tickStepSize) { + let interval = Math.round(start); + while (interval <= end) { + ticks.push(interval); + interval += tickStepSize; + } + } else if (scale.ticks) { + const { tickArguments } = this.config; + if (scale.type === "log" && !tickArguments) { + const s = getScale("_log").domain([start > 0 ? start : 1, end]).range(scale.range()); + ticks = s.ticks(); + for (let cnt = end.toFixed().length; ticks.length > 15; cnt--) { + ticks = s.ticks(cnt); + } + ticks.splice(0, 1, start); + ticks.splice(ticks.length - 1, 1, end); + } else { + ticks = scale.ticks(...this.config.tickArguments || []); + } + ticks = ticks.map((v) => { + const r = isString(v) && isNumber(v) && !isNaN(v) && Math.round(v * 10) / 10 || v; + return r; + }); + } + return ticks; + } + copyScale() { + const newScale = this.scale.copy(); + if (!newScale.domain().length) { + newScale.domain(this.scale.domain()); + } + newScale.type = this.scale.type; + return newScale; + } + textFormatted(v) { + const tickFormat = this.config.tickFormat; + const value = /\d+\.\d+0{5,}\d$/.test(v) ? +String(v).replace(/0+\d$/, "") : v; + const formatted = tickFormat ? tickFormat(value) : value; + return isDefined(formatted) ? formatted : ""; + } + transitionise(selection) { + const { config } = this; + let transitionSelection = selection; + if (config.withoutTransition) { + transitionSelection = selection.interrupt(); + } else if (config.transition || !this.owner.params.noTransition) { + try { + transitionSelection = selection.transition(config.transition); + } catch (e) { + } + } + return transitionSelection; + } +} + +;// ./src/ChartInternal/Axis/AxisRenderer.ts +var AxisRenderer_defProp = Object.defineProperty; +var AxisRenderer_defNormalProp = (obj, key, value) => key in obj ? AxisRenderer_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var AxisRenderer_publicField = (obj, key, value) => AxisRenderer_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + +class AxisRenderer { + constructor(params = {}) { + AxisRenderer_publicField(this, "helper"); + AxisRenderer_publicField(this, "config"); + AxisRenderer_publicField(this, "params"); + AxisRenderer_publicField(this, "g"); + AxisRenderer_publicField(this, "generatedTicks"); + const config = { + innerTickSize: 6, + outerTickSize: params.outerTick ? 6 : 0, + orient: "bottom", + range: [], + tickArguments: null, + tickCentered: null, + tickCulling: true, + tickFormat: null, + tickLength: 9, + tickOffset: 0, + tickPadding: 3, + tickValues: null, + transition: null, + noTransition: params.noTransition + }; + config.tickLength = Math.max(config.innerTickSize, 0) + config.tickPadding; + this.config = config; + this.params = params; + this.helper = new AxisRendererHelper(this); + } + /** + * Create axis element + * @param {d3.selection} g Axis selection + * @private + */ + create(g) { + const ctx = this; + const { config, helper, params } = ctx; + const { scale } = helper; + const { orient } = config; + const splitTickText = this.splitTickText.bind(ctx); + const isLeftRight = /^(left|right)$/.test(orient); + const isTopBottom = /^(top|bottom)$/.test(orient); + const tickTransform = helper.getTickTransformSetter(isTopBottom ? "x" : "y"); + const axisPx = tickTransform === helper.axisX ? "y" : "x"; + const sign = /^(top|left)$/.test(orient) ? -1 : 1; + const rotate = params.tickTextRotate; + this.config.range = scale.rangeExtent ? scale.rangeExtent() : helper.scaleExtent((params.orgXScale || scale).range()); + const { innerTickSize, tickLength, range } = config; + const id = params.id; + const tickTextPos = id && /^(x|y|y2)$/.test(id) ? params.config[`axis_${id}_tick_text_position`] : { x: 0, y: 0 }; + const prefix = id === "subX" ? `subchart_axis_x` : `axis_${id}`; + const axisShow = params.config[`${prefix}_show`]; + const tickShow = { + tick: axisShow ? params.config[`${prefix}_tick_show`] : false, + text: axisShow ? params.config[`${prefix}_tick_text_show`] : false + }; + const evalTextSize = params.config.axis_evalTextSize; + let $g; + g.each(function() { + const g2 = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this); + let scale0 = this.__chart__ || scale; + let scale1 = helper.copyScale(); + $g = g2; + this.__chart__ = scale1; + config.tickOffset = params.isCategory ? (scale1(1) - scale1(0)) / 2 : 0; + const path = g2.selectAll(".domain").data([0]); + path.enter().append("path").attr("class", "domain").merge(path).attr("d", () => { + const outerTickSized = config.outerTickSize * sign; + return isTopBottom ? `M${range[0]},${outerTickSized}V0H${range[1]}V${outerTickSized}` : `M${outerTickSized},${range[0]}H0V${range[1]}H${outerTickSized}`; + }); + if (tickShow.tick || tickShow.text) { + const ticks = config.tickValues || helper.generateTicks(scale1, isLeftRight); + ctx.generatedTicks = ticks; + let tick = g2.selectAll(".tick").data(ticks, scale1); + const tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick"); + const tickExit = tick.exit().remove(); + tick = tickEnter.merge(tick); + tickShow.tick && tickEnter.append("line"); + tickShow.text && tickEnter.append("text"); + const tickText = tick.select("text"); + const sizeFor1Char = isFunction(evalTextSize) ? evalTextSize.bind(ctx.params.owner.api)(tickText.node()) : AxisRendererHelper.getSizeFor1Char(tickText, evalTextSize); + const counts = []; + let tspan = tickText.selectAll("tspan").data((d, index) => { + const split = params.tickMultiline ? splitTickText(d, scale1, ticks, isLeftRight, sizeFor1Char.w) : isArray(helper.textFormatted(d)) ? helper.textFormatted(d).concat() : [helper.textFormatted(d)]; + counts[index] = split.length; + return split.map((splitted) => ({ index, splitted })); + }); + tspan.exit().remove(); + tspan = tspan.enter().append("tspan").merge(tspan).text((d) => d.splitted); + tspan.attr("x", isTopBottom ? 0 : tickLength * sign).attr("dx", (() => { + let dx = 0; + if (/(top|bottom)/.test(orient) && rotate) { + dx = 8 * Math.sin(Math.PI * (rotate / 180)) * (orient === "top" ? -1 : 1); + } + return dx + (tickTextPos.x || 0); + })()).attr("dy", (d, i) => { + const defValue = ".71em"; + let dy = 0; + if (orient !== "top") { + dy = sizeFor1Char.h; + if (i === 0) { + dy = isLeftRight ? -((counts[d.index] - 1) * (sizeFor1Char.h / 2) - 3) : tickTextPos.y === 0 ? defValue : 0; + } + } + return isNumber(dy) && tickTextPos.y ? dy + tickTextPos.y : dy || defValue; + }); + const lineUpdate = tick.select("line"); + const textUpdate = tick.select("text"); + tickEnter.select("line").attr(`${axisPx}2`, innerTickSize * sign); + tickEnter.select("text").attr(axisPx, tickLength * sign); + ctx.setTickLineTextPosition(lineUpdate, textUpdate); + if (params.tickTitle) { + const title = textUpdate.select("title"); + (title.empty() ? textUpdate.append("title") : title).text((index) => params.tickTitle[index]); + } + if (scale1.bandwidth) { + const x = scale1; + const dx = x.bandwidth() / 2; + scale0 = (d) => x(d) + dx; + scale1 = scale0; + } else if (scale0.bandwidth) { + scale0 = scale1; + } else { + tickTransform(tickExit, scale1); + } + tick = params.owner.state.flowing ? helper.transitionise(tick) : params.owner.$T(tick); + tickTransform(tickEnter, scale0); + tickTransform(tick.style("opacity", null), scale1); + } + }); + this.g = $g; + } + /** + * Get generated ticks + * @param {number} count Count of ticks + * @returns {Array} Generated ticks + * @private + */ + getGeneratedTicks(count) { + var _a; + const len = ((_a = this.generatedTicks) == null ? void 0 : _a.length) - 1; + let res = this.generatedTicks; + if (len > count) { + const interval = Math.round(len / count + 0.1); + res = this.generatedTicks.map((v, i) => i % interval === 0 ? v : null).filter((v) => v !== null).splice(0, count); + } + return res; + } + /** + * Get tick x/y coordinate + * @returns {{x: number, y: number}} + * @private + */ + getTickXY() { + const { config } = this; + const pos = { x: 0, y: 0 }; + if (this.params.isCategory) { + pos.x = config.tickCentered ? 0 : config.tickOffset; + pos.y = config.tickCentered ? config.tickOffset : 0; + } + return pos; + } + /** + * Get tick size + * @param {object} d data object + * @returns {number} + * @private + */ + getTickSize(d) { + const { scale } = this.helper; + const { config } = this; + const { innerTickSize, range } = config; + const tickPosition = scale(d) + (config.tickCentered ? 0 : config.tickOffset); + return range[0] < tickPosition && tickPosition < range[1] ? innerTickSize : 0; + } + /** + * Set tick's line & text position + * @param {d3.selection} lineUpdate Line selection + * @param {d3.selection} textUpdate Text selection + * @private + */ + setTickLineTextPosition(lineUpdate, textUpdate) { + const tickPos = this.getTickXY(); + const { innerTickSize, orient, tickLength, tickOffset } = this.config; + const rotate = this.params.tickTextRotate; + const textAnchorForText = (r) => { + const value = ["start", "end"]; + orient === "top" && value.reverse(); + return !r ? "middle" : value[r > 0 ? 0 : 1]; + }; + const textTransform = (r) => r ? `rotate(${r})` : null; + const yForText = (r) => { + const r2 = r / (orient === "bottom" ? 15 : 23); + return r ? 11.5 - 2.5 * r2 * (r > 0 ? 1 : -1) : tickLength; + }; + const { + config: { + axis_rotated: isRotated, + axis_x_tick_text_inner: inner + } + } = this.params.owner; + switch (orient) { + case "bottom": + lineUpdate.attr("x1", tickPos.x).attr("x2", tickPos.x).attr("y2", this.getTickSize.bind(this)); + textUpdate.attr("x", 0).attr("y", yForText(rotate)).style("text-anchor", textAnchorForText(rotate)).style("text-anchor", (d, i, { length }) => { + if (!isRotated && i === 0 && (inner === true || inner.first)) { + return "start"; + } else if (!isRotated && i === length - 1 && (inner === true || inner.last)) { + return "end"; + } + return textAnchorForText(rotate); + }).attr("transform", textTransform(rotate)); + break; + case "top": + lineUpdate.attr("x2", 0).attr("y2", -innerTickSize); + textUpdate.attr("x", 0).attr("y", -yForText(rotate) * 2).style("text-anchor", textAnchorForText(rotate)).attr("transform", textTransform(rotate)); + break; + case "left": + lineUpdate.attr("x2", -innerTickSize).attr("y1", tickPos.y).attr("y2", tickPos.y); + textUpdate.attr("x", -tickLength).attr("y", tickOffset).style("text-anchor", "end"); + break; + case "right": + lineUpdate.attr("x2", innerTickSize).attr("y2", 0); + textUpdate.attr("x", tickLength).attr("y", 0).style("text-anchor", "start"); + } + } + // this should be called only when category axis + splitTickText(d, scale, ticks, isLeftRight, charWidth) { + const { params } = this; + const tickText = this.helper.textFormatted(d); + const splitted = isString(tickText) && tickText.indexOf("\n") > -1 ? tickText.split("\n") : []; + if (splitted.length) { + return splitted; + } + if (isArray(tickText)) { + return tickText; + } + let tickWidth = params.tickWidth; + if (!tickWidth || tickWidth <= 0) { + tickWidth = isLeftRight ? 95 : params.isCategory ? (params.isInverted ? scale(ticks[0]) - scale(ticks[1]) : scale(ticks[1]) - scale(ticks[0])) - 12 : 110; + } + function split(splitted2, text) { + let subtext; + let spaceIndex; + let textWidth; + for (let i = 1; i < text.length; i++) { + if (text.charAt(i) === " ") { + spaceIndex = i; + } + subtext = text.substr(0, i + 1); + textWidth = charWidth * subtext.length; + if (tickWidth < textWidth) { + return split( + splitted2.concat(text.substr(0, spaceIndex || i)), + text.slice(spaceIndex ? spaceIndex + 1 : i) + ); + } + } + return splitted2.concat(text); + } + return split(splitted, String(tickText)); + } + scale(x) { + if (!arguments.length) { + return this.helper.scale; + } + this.helper.scale = x; + return this; + } + orient(x) { + if (!arguments.length) { + return this.config.orient; + } + this.config.orient = x in { + top: 1, + right: 1, + bottom: 1, + left: 1 + } ? String(x) : "bottom"; + return this; + } + tickFormat(format) { + const { config } = this; + if (!arguments.length) { + return config.tickFormat; + } + config.tickFormat = format; + return this; + } + tickCentered(isCentered) { + const { config } = this; + if (!arguments.length) { + return config.tickCentered; + } + config.tickCentered = isCentered; + return this; + } + /** + * Return tick's offset value. + * The value will be set for 'category' axis type. + * @returns {number} + * @private + */ + tickOffset() { + return this.config.tickOffset; + } + /** + * Get tick interval count + * @private + * @param {number} size Total data size + * @returns {number} + */ + tickInterval(size) { + var _a; + const { outerTickSize, tickOffset, tickValues } = this.config; + let interval; + if (this.params.isCategory) { + interval = tickOffset * 2; + } else { + const scale = (_a = this.params.owner.scale.zoom) != null ? _a : this.helper.scale; + const length = this.g.select("path.domain").node().getTotalLength() - outerTickSize * 2; + interval = length / (size || this.g.selectAll("line").size()); + const intervalByValue = tickValues ? tickValues.map((v, i, arr) => { + const next = i + 1; + return next < arr.length ? scale(arr[next]) - scale(v) : null; + }).filter(Boolean) : []; + interval = Math.min(...intervalByValue, interval); + } + return interval === Infinity ? 0 : interval; + } + ticks(...args) { + const { config } = this; + if (!args.length) { + return config.tickArguments; + } + config.tickArguments = toArray(args); + return this; + } + tickCulling(culling) { + const { config } = this; + if (!arguments.length) { + return config.tickCulling; + } + config.tickCulling = culling; + return this; + } + tickValues(x) { + const { config } = this; + if (isFunction(x)) { + config.tickValues = () => x(this.helper.scale.domain()); + } else { + if (!arguments.length) { + return config.tickValues; + } + config.tickValues = x; + } + return this; + } + setTransition(t) { + this.config.transition = t; + return this; + } +} + +;// ./src/ChartInternal/Axis/Axis.ts +var Axis_defProp = Object.defineProperty; +var Axis_defNormalProp = (obj, key, value) => key in obj ? Axis_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var Axis_publicField = (obj, key, value) => Axis_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + + +/* harmony default export */ var Axis = ({ + getAxisInstance: function() { + return this.axis || new Axis_Axis(this); + } +}); +class Axis_Axis { + constructor(owner) { + Axis_publicField(this, "owner"); + Axis_publicField(this, "x"); + Axis_publicField(this, "subX"); + Axis_publicField(this, "y"); + Axis_publicField(this, "y2"); + Axis_publicField(this, "axesList", {}); + Axis_publicField(this, "tick", { + x: null, + y: null, + y2: null + }); + Axis_publicField(this, "xs", []); + Axis_publicField(this, "orient", { + x: "bottom", + y: "left", + y2: "right", + subX: "bottom" + }); + this.owner = owner; + this.setOrient(); + } + getAxisClassName(id) { + return `${$AXIS.axis} ${$AXIS[`axis${capitalize(id)}`]}`; + } + isHorizontal($$, forHorizontal) { + const isRotated = $$.config.axis_rotated; + return forHorizontal ? isRotated : !isRotated; + } + isCategorized() { + const { config, state } = this.owner; + return config.axis_x_type.indexOf("category") >= 0 || state.hasRadar; + } + isCustomX() { + const { config } = this.owner; + return !this.isTimeSeries() && (config.data_x || notEmpty(config.data_xs)); + } + isTimeSeries(id = "x") { + return this.owner.config[`axis_${id}_type`] === "timeseries"; + } + isLog(id = "x") { + return this.owner.config[`axis_${id}_type`] === "log"; + } + isTimeSeriesY() { + return this.isTimeSeries("y"); + } + getAxisType(id = "x") { + let type = "linear"; + if (this.isTimeSeries(id)) { + type = this.owner.config.axis_x_localtime ? "time" : "utc"; + } else if (this.isLog(id)) { + type = "log"; + } + return type; + } + /** + * Get extent value + * @returns {Array} default extent + * @private + */ + getExtent() { + const $$ = this.owner; + const { config, scale } = $$; + let extent = config.axis_x_extent; + if (extent) { + if (isFunction(extent)) { + extent = extent.bind($$.api)($$.getXDomain($$.data.targets), scale.subX); + } else if (this.isTimeSeries() && extent.every(isNaN)) { + const fn = parseDate.bind($$); + extent = extent.map((v) => scale.subX(fn(v))); + } + } + return extent; + } + init() { + const $$ = this.owner; + const { config, $el: { main, axis }, state: { clip } } = $$; + const isRotated = config.axis_rotated; + const target = ["x", "y"]; + config.axis_y2_show && target.push("y2"); + target.forEach((v) => { + const classAxis = this.getAxisClassName(v); + const classLabel = $AXIS[`axis${v.toUpperCase()}Label`]; + axis[v] = main.append("g").attr("class", classAxis).attr("clip-path", () => { + let res = null; + if (v === "x") { + res = clip.pathXAxis; + } else if (v === "y") { + res = clip.pathYAxis; + } + return res; + }).attr("transform", $$.getTranslate(v)).style("visibility", config[`axis_${v}_show`] ? null : "hidden"); + axis[v].append("text").attr("class", classLabel).attr("transform", ["rotate(-90)", null][v === "x" ? +!isRotated : +isRotated]).style("text-anchor", () => this.textAnchorForAxisLabel(v)); + this.generateAxes(v); + }); + config.axis_tooltip && this.setAxisTooltip(); + } + /** + * Set axis orient according option value + * @private + */ + setOrient() { + const $$ = this.owner; + const { + axis_rotated: isRotated, + axis_y_inner: yInner, + axis_y2_inner: y2Inner + } = $$.config; + this.orient = { + x: isRotated ? "left" : "bottom", + y: isRotated ? yInner ? "top" : "bottom" : yInner ? "right" : "left", + y2: isRotated ? y2Inner ? "bottom" : "top" : y2Inner ? "left" : "right", + subX: isRotated ? "left" : "bottom" + }; + } + /** + * Generate axes + * It's used when axis' axes option is set + * @param {string} id Axis id + * @private + */ + generateAxes(id) { + const $$ = this.owner; + const { config } = $$; + const axes = []; + const axesConfig = config[`axis_${id}_axes`]; + const isRotated = config.axis_rotated; + let d3Axis; + if (id === "x") { + d3Axis = isRotated ? external_commonjs_d3_axis_commonjs2_d3_axis_amd_d3_axis_root_d3_.axisLeft : external_commonjs_d3_axis_commonjs2_d3_axis_amd_d3_axis_root_d3_.axisBottom; + } else if (id === "y") { + d3Axis = isRotated ? external_commonjs_d3_axis_commonjs2_d3_axis_amd_d3_axis_root_d3_.axisBottom : external_commonjs_d3_axis_commonjs2_d3_axis_amd_d3_axis_root_d3_.axisLeft; + } else if (id === "y2") { + d3Axis = isRotated ? external_commonjs_d3_axis_commonjs2_d3_axis_amd_d3_axis_root_d3_.axisTop : external_commonjs_d3_axis_commonjs2_d3_axis_amd_d3_axis_root_d3_.axisRight; + } + if (axesConfig.length) { + axesConfig.forEach((v) => { + const tick = v.tick || {}; + const scale = $$.scale[id].copy(); + v.domain && scale.domain(v.domain); + axes.push( + d3Axis(scale).ticks(tick.count).tickFormat( + isFunction(tick.format) ? tick.format.bind($$.api) : (x) => x + ).tickValues(tick.values).tickSizeOuter(tick.outer === false ? 0 : 6) + ); + }); + } + this.axesList[id] = axes; + } + /** + * Update axes nodes + * @private + */ + updateAxes() { + const $$ = this.owner; + const { config, $el: { main }, $T } = $$; + Object.keys(this.axesList).forEach((id) => { + const axesConfig = config[`axis_${id}_axes`]; + const scale = $$.scale[id].copy(); + const range = scale.range(); + this.axesList[id].forEach((v, i) => { + const axisRange = v.scale().range(); + if (!range.every((v2, i2) => v2 === axisRange[i2])) { + v.scale().range(range); + } + const className = `${this.getAxisClassName(id)}-${i + 1}`; + let g = main.select(`.${className.replace(/\s/, ".")}`); + if (g.empty()) { + g = main.append("g").attr("class", className).style("visibility", config[`axis_${id}_show`] ? null : "hidden").call(v); + } else { + axesConfig[i].domain && scale.domain(axesConfig[i].domain); + $T(g).call(v.scale(scale)); + } + g.attr("transform", $$.getTranslate(id, i + 1)); + }); + }); + } + /** + * Set Axis & tick values + * called from: updateScales() + * @param {string} id Axis id string + * @param {d3Scale} scale Scale + * @param {boolean} outerTick If show outer tick + * @param {boolean} noTransition If with no transition + * @private + */ + setAxis(id, scale, outerTick, noTransition) { + const $$ = this.owner; + if (id !== "subX") { + this.tick[id] = this.getTickValues(id); + } + this[id] = this.getAxis( + id, + scale, + outerTick, + // do not transit x Axis on zoom and resizing + // https://github.com/naver/billboard.js/issues/1949 + id === "x" && ($$.scale.zoom || $$.config.subchart_show || $$.state.resizing) ? true : noTransition + ); + } + // called from : getMaxTickSize() + getAxis(id, scale, outerTick, noTransition, noTickTextRotate) { + const $$ = this.owner; + const { config } = $$; + const isX = /^(x|subX)$/.test(id); + const type = isX ? "x" : id; + const isCategory = isX && this.isCategorized(); + const orient = this.orient[id]; + const tickTextRotate = noTickTextRotate ? 0 : $$.getAxisTickRotate(type); + let tickFormat; + if (isX) { + tickFormat = id === "subX" ? $$.format.subXAxisTick : $$.format.xAxisTick; + } else { + const fn = config[`axis_${id}_tick_format`]; + if (isFunction(fn)) { + tickFormat = fn.bind($$.api); + } + } + let tickValues = this.tick[type]; + const axisParams = mergeObj({ + outerTick, + noTransition, + config, + id, + tickTextRotate, + owner: $$ + }, isX && { + isCategory, + isInverted: config.axis_x_inverted, + tickMultiline: config.axis_x_tick_multiline, + tickWidth: config.axis_x_tick_width, + tickTitle: isCategory && config.axis_x_tick_tooltip && $$.api.categories(), + orgXScale: $$.scale.x + }); + if (!isX) { + axisParams.tickStepSize = config[`axis_${type}_tick_stepSize`]; + } + const axis = new AxisRenderer(axisParams).scale(isX && $$.scale.zoom || scale).orient(orient); + if (isX && this.isTimeSeries() && tickValues && !isFunction(tickValues)) { + const fn = parseDate.bind($$); + tickValues = tickValues.map((v) => fn(v)); + } else if (!isX && this.isTimeSeriesY()) { + axis.ticks(config.axis_y_tick_time_value); + tickValues = null; + } + tickValues && axis.tickValues(tickValues); + axis.tickFormat( + tickFormat || !isX && ($$.isStackNormalized() && ((x) => `${x}%`)) + ); + if (isCategory) { + axis.tickCentered(config.axis_x_tick_centered); + if (isEmpty(config.axis_x_tick_culling)) { + config.axis_x_tick_culling = false; + } + } + const tickCount = config[`axis_${type}_tick_count`]; + tickCount && axis.ticks(tickCount); + return axis; + } + updateXAxisTickValues(targets, axis) { + var _a; + const $$ = this.owner; + const { config } = $$; + const fit = config.axis_x_tick_fit; + let count = config.axis_x_tick_count; + let values; + if (fit || count && fit) { + values = $$.mapTargetsToUniqueXs(targets); + if (this.isCategorized() && count > values.length) { + count = values.length; + } + values = this.generateTickValues( + values, + count, + this.isTimeSeries() + ); + } + if (axis) { + axis.tickValues(values); + } else if (this.x) { + this.x.tickValues(values); + (_a = this.subX) == null ? void 0 : _a.tickValues(values); + } + return values; + } + getId(id) { + const { config, scale } = this.owner; + let axis = config.data_axes[id]; + if (!axis || !scale[axis]) { + axis = "y"; + } + return axis; + } + getXAxisTickFormat(forSubchart) { + const $$ = this.owner; + const { config, format } = $$; + const tickFormat = forSubchart ? config.subchart_axis_x_tick_format || config.axis_x_tick_format : config.axis_x_tick_format; + const isTimeSeries = this.isTimeSeries(); + const isCategorized = this.isCategorized(); + let currFormat; + if (tickFormat) { + if (isFunction(tickFormat)) { + currFormat = tickFormat.bind($$.api); + } else if (isTimeSeries) { + currFormat = (date) => date ? format.axisTime(tickFormat)(date) : ""; + } + } else { + currFormat = isTimeSeries ? format.defaultAxisTime : isCategorized ? $$.categoryName : (v) => v < 0 ? v.toFixed(0) : v; + } + return isFunction(currFormat) ? (v) => currFormat.apply($$, isCategorized ? [v, $$.categoryName(v)] : [v]) : currFormat; + } + getTickValues(id) { + const $$ = this.owner; + const tickValues = $$.config[`axis_${id}_tick_values`]; + const axis = $$[`${id}Axis`]; + return (isFunction(tickValues) ? tickValues.call($$.api) : tickValues) || (axis ? axis.tickValues() : void 0); + } + getLabelOptionByAxisId(id) { + return this.owner.config[`axis_${id}_label`]; + } + getLabelText(id) { + const option = this.getLabelOptionByAxisId(id); + return isString(option) ? option : option ? option.text : null; + } + setLabelText(id, text) { + const $$ = this.owner; + const { config } = $$; + const option = this.getLabelOptionByAxisId(id); + if (isString(option)) { + config[`axis_${id}_label`] = text; + } else if (option) { + option.text = text; + } + } + getLabelPosition(id, defaultPosition) { + const isRotated = this.owner.config.axis_rotated; + const option = this.getLabelOptionByAxisId(id); + const position = isObjectType(option) && option.position ? option.position : defaultPosition[+!isRotated]; + const has = (v) => !!~position.indexOf(v); + return { + isInner: has("inner"), + isOuter: has("outer"), + isLeft: has("left"), + isCenter: has("center"), + isRight: has("right"), + isTop: has("top"), + isMiddle: has("middle"), + isBottom: has("bottom") + }; + } + getAxisLabelPosition(id) { + return this.getLabelPosition( + id, + id === "x" ? ["inner-top", "inner-right"] : ["inner-right", "inner-top"] + ); + } + getLabelPositionById(id) { + return this.getAxisLabelPosition(id); + } + xForAxisLabel(id) { + const $$ = this.owner; + const { state: { width, height } } = $$; + const position = this.getAxisLabelPosition(id); + let x = position.isMiddle ? -height / 2 : 0; + if (this.isHorizontal($$, id !== "x")) { + x = position.isLeft ? 0 : position.isCenter ? width / 2 : width; + } else if (position.isBottom) { + x = -height; + } + return x; + } + dxForAxisLabel(id) { + const $$ = this.owner; + const position = this.getAxisLabelPosition(id); + let dx = position.isBottom ? "0.5em" : "0"; + if (this.isHorizontal($$, id !== "x")) { + dx = position.isLeft ? "0.5em" : position.isRight ? "-0.5em" : "0"; + } else if (position.isTop) { + dx = "-0.5em"; + } + return dx; + } + textAnchorForAxisLabel(id) { + const $$ = this.owner; + const position = this.getAxisLabelPosition(id); + let anchor = position.isMiddle ? "middle" : "end"; + if (this.isHorizontal($$, id !== "x")) { + anchor = position.isLeft ? "start" : position.isCenter ? "middle" : "end"; + } else if (position.isBottom) { + anchor = "start"; + } + return anchor; + } + dyForAxisLabel(id) { + const $$ = this.owner; + const { config } = $$; + const isRotated = config.axis_rotated; + const isInner = this.getAxisLabelPosition(id).isInner; + const tickRotate = config[`axis_${id}_tick_rotate`] ? $$.getHorizontalAxisHeight(id) : 0; + const { width: maxTickWidth } = this.getMaxTickSize(id); + let dy; + if (id === "x") { + const xHeight = config.axis_x_height; + if (isRotated) { + dy = isInner ? "1.2em" : -25 - maxTickWidth; + } else if (isInner) { + dy = "-0.5em"; + } else if (xHeight) { + dy = xHeight - 10; + } else if (tickRotate) { + dy = tickRotate - 10; + } else { + dy = "3em"; + } + } else { + dy = { + y: ["-0.5em", 10, "3em", "1.2em", 10], + y2: ["1.2em", -20, "-2.2em", "-0.5em", 15] + }[id]; + if (isRotated) { + if (isInner) { + dy = dy[0]; + } else if (tickRotate) { + dy = tickRotate * (id === "y2" ? -1 : 1) - dy[1]; + } else { + dy = dy[2]; + } + } else { + dy = isInner ? dy[3] : (dy[4] + (config[`axis_${id}_inner`] ? 0 : maxTickWidth + dy[4])) * (id === "y" ? -1 : 1); + } + } + return dy; + } + /** + * Get max tick size + * @param {string} id axis id string + * @param {boolean} withoutRecompute wheather or not to recompute + * @returns {object} {width, height} + * @private + */ + getMaxTickSize(id, withoutRecompute) { + const $$ = this.owner; + const { config, state: { current }, $el: { svg, chart } } = $$; + const currentTickMax = current.maxTickSize[id]; + const configPrefix = `axis_${id}`; + const max = { + width: 0, + height: 0 + }; + if (withoutRecompute || !config[`${configPrefix}_show`] || currentTickMax.width > 0 && $$.filterTargetsToShow().length === 0) { + return currentTickMax; + } + if (svg) { + const isYAxis = /^y2?$/.test(id); + const targetsToShow = $$.filterTargetsToShow($$.data.targets); + const scale = $$.scale[id].copy().domain( + $$[`get${isYAxis ? "Y" : "X"}Domain`](targetsToShow, id) + ); + const domain = scale.domain(); + const isDomainSame = domain[0] === domain[1] && domain.every((v) => v > 0); + const isCurrentMaxTickDomainSame = isArray(currentTickMax.domain) && currentTickMax.domain[0] === currentTickMax.domain[1] && currentTickMax.domain.every((v) => v > 0); + if (isDomainSame || isCurrentMaxTickDomainSame) { + return currentTickMax.size; + } else { + currentTickMax.domain = domain; + } + if (!isYAxis) { + currentTickMax.ticks.splice(0); + } + const axis = this.getAxis(id, scale, false, false, true); + const tickRotate = config[`${configPrefix}_tick_rotate`]; + const tickCount = config[`${configPrefix}_tick_count`]; + const tickValues = config[`${configPrefix}_tick_values`]; + if (!tickValues && tickCount) { + axis.tickValues( + this.generateTickValues( + domain, + tickCount, + isYAxis ? this.isTimeSeriesY() : this.isTimeSeries() + ) + ); + } + !isYAxis && this.updateXAxisTickValues(targetsToShow, axis); + const dummy = chart.append("svg").style("visibility", "hidden").style("position", "fixed").style("top", "0").style("left", "0"); + axis.create(dummy); + dummy.selectAll("text").attr("transform", isNumber(tickRotate) ? `rotate(${tickRotate})` : null).each(function(d, i) { + const { width, height } = this.getBoundingClientRect(); + max.width = Math.max(max.width, width); + max.height = Math.max(max.height, height); + if (!isYAxis) { + currentTickMax.ticks[i] = width; + } + }); + dummy.remove(); + } + Object.keys(max).forEach((key) => { + if (max[key] > 0) { + currentTickMax[key] = max[key]; + } + }); + return currentTickMax; + } + getXAxisTickTextY2Overflow(defaultPadding) { + const $$ = this.owner; + const { axis, config, state: { current, isLegendRight, legendItemWidth } } = $$; + const xAxisTickRotate = $$.getAxisTickRotate("x"); + const positiveRotation = xAxisTickRotate > 0 && xAxisTickRotate < 90; + if ((axis.isCategorized() || axis.isTimeSeries()) && config.axis_x_tick_fit && (!config.axis_x_tick_culling || isEmpty(config.axis_x_tick_culling)) && !config.axis_x_tick_multiline && positiveRotation) { + const y2AxisWidth = config.axis_y2_show && current.maxTickSize.y2.width || 0; + const legendWidth = isLegendRight && legendItemWidth || 0; + const widthWithoutCurrentPaddingLeft = current.width - $$.getCurrentPaddingByDirection("left"); + const maxOverflow = this.getXAxisTickMaxOverflow( + xAxisTickRotate, + widthWithoutCurrentPaddingLeft - defaultPadding + ) - y2AxisWidth - legendWidth; + const xAxisTickTextY2Overflow = Math.max(0, maxOverflow) + defaultPadding; + return Math.min(xAxisTickTextY2Overflow, widthWithoutCurrentPaddingLeft / 2); + } + return 0; + } + getXAxisTickMaxOverflow(xAxisTickRotate, widthWithoutCurrentPaddingLeft) { + const $$ = this.owner; + const { axis, config, state } = $$; + const isTimeSeries = axis.isTimeSeries(); + const tickTextWidths = state.current.maxTickSize.x.ticks; + const tickCount = tickTextWidths.length; + const { left, right } = state.axis.x.padding; + let maxOverflow = 0; + const remaining = tickCount - (isTimeSeries && config.axis_x_tick_fit ? 0.5 : 0); + for (let i = 0; i < tickCount; i++) { + const tickIndex = i + 1; + const rotatedTickTextWidth = Math.cos(Math.PI * xAxisTickRotate / 180) * tickTextWidths[i]; + const ticksBeforeTickText = tickIndex - (isTimeSeries ? 1 : 0.5) + left; + if (ticksBeforeTickText <= 0) { + continue; + } + const xAxisLengthWithoutTickTextWidth = widthWithoutCurrentPaddingLeft - rotatedTickTextWidth; + const tickLength = xAxisLengthWithoutTickTextWidth / ticksBeforeTickText; + const remainingTicks = remaining - tickIndex; + const paddingRightLength = right * tickLength; + const remainingTickWidth = remainingTicks * tickLength + paddingRightLength; + const overflow = rotatedTickTextWidth - tickLength / 2 - remainingTickWidth; + maxOverflow = Math.max(maxOverflow, overflow); + } + const filteredTargets = $$.filterTargetsToShow($$.data.targets); + let tickOffset = 0; + if (!isTimeSeries && config.axis_x_tick_count <= filteredTargets.length && filteredTargets[0].values.length) { + const scale = getScale( + $$.axis.getAxisType("x"), + 0, + widthWithoutCurrentPaddingLeft - maxOverflow + ).domain([ + left * -1, + $$.getXDomainMax($$.data.targets) + 1 + right + ]); + tickOffset = (scale(1) - scale(0)) / 2; + } + return maxOverflow + tickOffset; + } + updateLabels(withTransition) { + const $$ = this.owner; + const { $el: { main }, $T } = $$; + const labels = { + x: main.select(`.${$AXIS.axisX} .${$AXIS.axisXLabel}`), + y: main.select(`.${$AXIS.axisY} .${$AXIS.axisYLabel}`), + y2: main.select(`.${$AXIS.axisY2} .${$AXIS.axisY2Label}`) + }; + Object.keys(labels).filter((id) => !labels[id].empty()).forEach((v) => { + const node = labels[v]; + $T(node, withTransition).attr("x", () => this.xForAxisLabel(v)).attr("dx", () => this.dxForAxisLabel(v)).attr("dy", () => this.dyForAxisLabel(v)).text(() => this.getLabelText(v)); + }); + } + /** + * Get axis padding value + * @param {number|object} padding Padding object + * @param {string} key Key string of padding + * @param {Date|number} defaultValue Default value + * @param {number} domainLength Domain length + * @returns {number} Padding value in scale + * @private + */ + getPadding(padding, key, defaultValue, domainLength) { + const p = isNumber(padding) ? padding : padding[key]; + if (!isValue(p)) { + return defaultValue; + } + return this.owner.convertPixelToScale( + /(bottom|top)/.test(key) ? "y" : "x", + p, + domainLength + ); + } + generateTickValues(values, tickCount, forTimeSeries) { + let tickValues = values; + if (tickCount) { + const targetCount = isFunction(tickCount) ? tickCount() : tickCount; + if (targetCount === 1) { + tickValues = [values[0]]; + } else if (targetCount === 2) { + tickValues = [values[0], values[values.length - 1]]; + } else if (targetCount > 2) { + const isCategorized = this.isCategorized(); + const count = targetCount - 2; + const start = values[0]; + const end = values[values.length - 1]; + const interval = (end - start) / (count + 1); + let tickValue; + tickValues = [start]; + for (let i = 0; i < count; i++) { + tickValue = +start + interval * (i + 1); + tickValues.push( + forTimeSeries ? new Date(tickValue) : isCategorized ? Math.round(tickValue) : tickValue + ); + } + tickValues.push(end); + } + } + if (!forTimeSeries) { + tickValues = tickValues.sort((a, b) => a - b); + } + return tickValues; + } + generateTransitions(withTransition) { + const $$ = this.owner; + const { $el: { axis }, $T } = $$; + const [axisX, axisY, axisY2, axisSubX] = ["x", "y", "y2", "subX"].map((v) => $T(axis[v], withTransition)); + return { axisX, axisY, axisY2, axisSubX }; + } + redraw(transitions, isHidden, isInit) { + const $$ = this.owner; + const { config, $el } = $$; + const opacity = isHidden ? "0" : null; + ["x", "y", "y2", "subX"].forEach((id) => { + const axis = this[id]; + const $axis = $el.axis[id]; + if (axis && $axis) { + if (!isInit && !config.transition_duration) { + axis.config.withoutTransition = true; + } + $axis.style("opacity", opacity); + axis.create(transitions[`axis${capitalize(id)}`]); + } + }); + this.updateAxes(); + } + /** + * Redraw axis + * @param {Array} targetsToShow targets data to be shown + * @param {object} wth option object + * @param {d3.Transition} transitions Transition object + * @param {object} flow flow object + * @param {boolean} isInit called from initialization + * @private + */ + redrawAxis(targetsToShow, wth, transitions, flow, isInit) { + var _a, _b, _c; + const $$ = this.owner; + const { config, scale, $el } = $$; + const hasZoom = !!scale.zoom; + let xDomainForZoom; + if (!hasZoom && this.isCategorized() && targetsToShow.length === 0) { + scale.x.domain([0, $el.axis.x.selectAll(".tick").size()]); + } + if (scale.x && targetsToShow.length) { + !hasZoom && $$.updateXDomain( + targetsToShow, + wth.UpdateXDomain, + wth.UpdateOrgXDomain, + wth.TrimXDomain + ); + if (!config.axis_x_tick_values) { + this.updateXAxisTickValues(targetsToShow); + } + } else if (this.x) { + this.x.tickValues([]); + (_a = this.subX) == null ? void 0 : _a.tickValues([]); + } + if (config.zoom_rescale && !flow) { + xDomainForZoom = scale.x.orgDomain(); + } + ["y", "y2"].forEach((key) => { + const prefix = `axis_${key}_`; + const axisScale = scale[key]; + if (axisScale) { + const tickValues = config[`${prefix}tick_values`]; + const tickCount = config[`${prefix}tick_count`]; + axisScale.domain($$.getYDomain(targetsToShow, key, xDomainForZoom)); + if (!tickValues && tickCount) { + const axis = $$.axis[key]; + const domain = axisScale.domain(); + axis.tickValues( + this.generateTickValues( + domain, + domain.every((v) => v === 0) ? 1 : tickCount, + this.isTimeSeriesY() + ) + ); + } + } + }); + this.redraw(transitions, $$.hasArcType(), isInit); + this.updateLabels(wth.Transition); + if ((wth.UpdateXDomain || wth.UpdateXAxis || wth.Y) && targetsToShow.length) { + this.setCulling(); + } + if (wth.Y) { + (_b = scale.subY) == null ? void 0 : _b.domain($$.getYDomain(targetsToShow, "y")); + (_c = scale.subY2) == null ? void 0 : _c.domain($$.getYDomain(targetsToShow, "y2")); + } + } + /** + * Set manual culling + * @private + */ + setCulling() { + const $$ = this.owner; + const { config, state: { clip, current }, $el } = $$; + ["subX", "x", "y", "y2"].forEach((type) => { + const axis = $el.axis[type]; + const id = type === "subX" ? "x" : type; + const cullingOptionPrefix = `axis_${id}_tick_culling`; + const toCull = config[cullingOptionPrefix]; + if (axis && toCull) { + const tickNodes = axis.selectAll(".tick"); + const tickValues = sortValue(tickNodes.data()); + const tickSize = tickValues.length; + const cullingMax = config[`${cullingOptionPrefix}_max`]; + const lines = config[`${cullingOptionPrefix}_lines`]; + let intervalForCulling; + if (tickSize) { + for (let i = 1; i < tickSize; i++) { + if (tickSize / i < cullingMax) { + intervalForCulling = i; + break; + } + } + tickNodes.each(function(d) { + const node = lines ? this.querySelector("text") : this; + if (node) { + node.style.display = tickValues.indexOf(d) % intervalForCulling ? "none" : null; + } + }); + } else { + tickNodes.style("display", null); + } + if (type === "x") { + const clipPath = current.maxTickSize.x.clipPath ? clip.pathXAxisTickTexts : null; + $el.svg.selectAll(`.${$AXIS.axisX} .tick text`).attr("clip-path", clipPath); + } + } + }); + } + /** + * Set axis tooltip + * @private + */ + setAxisTooltip() { + var _a; + const $$ = this.owner; + const { config: { axis_rotated: isRotated, axis_tooltip }, $el: { axis, axisTooltip } } = $$; + const bgColor = (_a = axis_tooltip.backgroundColor) != null ? _a : "black"; + $$.generateTextBGColorFilter( + bgColor, + { + x: -0.15, + y: -0.2, + width: 1.3, + height: 1.3 + } + ); + ["x", "y", "y2"].forEach((v) => { + var _a2, _b, _c; + axisTooltip[v] = (_a2 = axis[v]) == null ? void 0 : _a2.append("text").classed($AXIS[`axis${v.toUpperCase()}Tooltip`], true).attr("filter", $$.updateTextBGColor({ id: v }, bgColor)); + if (isRotated) { + const pos = v === "x" ? "x" : "y"; + const val = v === "y" ? "1.15em" : v === "x" ? "-0.3em" : "-0.4em"; + (_b = axisTooltip[v]) == null ? void 0 : _b.attr(pos, val).attr(`d${v === "x" ? "y" : "x"}`, v === "x" ? "0.4em" : "-1.3em").style("text-anchor", v === "x" ? "end" : null); + } else { + const pos = v === "x" ? "y" : "x"; + const val = v === "x" ? "1.15em" : `${v === "y" ? "-" : ""}0.4em`; + (_c = axisTooltip[v]) == null ? void 0 : _c.attr(pos, val).attr(`d${v === "x" ? "x" : "y"}`, v === "x" ? "-1em" : "0.3em").style("text-anchor", v === "y" ? "end" : null); + } + }); + } +} + +;// ./src/ChartInternal/interactions/eventrect.ts + + +/* harmony default export */ var eventrect = ({ + /** + * Initialize the area that detects the event. + * Add a container for the zone that detects the event. + * @private + */ + initEventRect() { + const $$ = this; + $$.$el.main.select(`.${$COMMON.chart}`).append("g").attr("class", $EVENT.eventRects).style("fill-opacity", "0"); + }, + /** + * Redraws the area that detects the event. + * @private + */ + redrawEventRect() { + var _a; + const $$ = this; + const { config, state, $el } = $$; + const isMultipleX = $$.isMultipleX(); + const isInverted = config.axis_x_inverted; + if ($el.eventRect) { + $$.updateEventRect($el.eventRect, true); + } else if ($$.data.targets.length) { + const eventRects = $$.$el.main.select(`.${$EVENT.eventRects}`).style("cursor", config.zoom_enabled && config.zoom_type !== "drag" ? config.axis_rotated ? "ns-resize" : "ew-resize" : null).classed($EVENT.eventRectsMultiple, isMultipleX).classed($EVENT.eventRectsSingle, !isMultipleX); + const eventRectUpdate = eventRects.selectAll(`.${$EVENT.eventRect}`).data([0]).enter().append("rect"); + $$.updateEventRect(eventRectUpdate); + $$.updateEventType(eventRectUpdate); + eventRectUpdate.call($$.getDraggableSelection()); + $el.eventRect = eventRectUpdate; + if ($$.state.inputType === "touch" && !$el.svg.on("touchstart.eventRect") && !$$.hasArcType()) { + $$.bindTouchOnEventRect(); + } + state.rendered && $$.updateEventRect($el.eventRect, true); + } + if (!isMultipleX) { + const xAxisTickValues = $$.getMaxDataCountTarget(); + if (!config.data_xSort || isInverted) { + xAxisTickValues.sort((a, b) => isInverted ? b.x - a.x : a.x - b.x); + } + $$.updateDataIndexByX(xAxisTickValues); + $$.updateXs(xAxisTickValues); + (_a = $$.updatePointClass) == null ? void 0 : _a.call($$, true); + state.eventReceiver.data = xAxisTickValues; + } + $$.updateEventRectData(); + }, + bindTouchOnEventRect() { + const $$ = this; + const { config, state, $el: { eventRect, svg } } = $$; + const selectRect = (context) => { + if ($$.isMultipleX()) { + $$.selectRectForMultipleXs(context); + } else { + const index = $$.getDataIndexFromEvent(state.event); + $$.callOverOutForTouch(index); + index === -1 ? $$.unselectRect() : $$.selectRectForSingle(context, index); + } + }; + const unselectRect = () => { + $$.unselectRect(); + $$.callOverOutForTouch(); + }; + const preventDefault = config.interaction_inputType_touch.preventDefault; + const isPrevented = isBoolean(preventDefault) && preventDefault || false; + const preventThreshold = !isNaN(preventDefault) && preventDefault || null; + let startPx; + const preventEvent = (event) => { + const eventType = event.type; + const touch = event.changedTouches[0]; + const currentXY = touch[`client${config.axis_rotated ? "Y" : "X"}`]; + if (eventType === "touchstart") { + if (isPrevented) { + event.preventDefault(); + } else if (preventThreshold !== null) { + startPx = currentXY; + } + } else if (eventType === "touchmove") { + if (isPrevented || startPx === true || preventThreshold !== null && Math.abs(startPx - currentXY) >= preventThreshold) { + startPx = true; + event.preventDefault(); + } + } + }; + eventRect.on("touchstart", (event) => { + state.event = event; + $$.updateEventRect(); + }).on("touchstart.eventRect touchmove.eventRect", (event) => { + state.event = event; + if (!eventRect.empty() && eventRect.classed($EVENT.eventRect)) { + if (state.dragging || state.flowing || $$.hasArcType() || event.touches.length > 1) { + return; + } + preventEvent(event); + selectRect(eventRect.node()); + } else { + unselectRect(); + } + }, true).on("touchend.eventRect", (event) => { + state.event = event; + if (!eventRect.empty() && eventRect.classed($EVENT.eventRect)) { + if ($$.hasArcType() || !$$.toggleShape || state.cancelClick) { + state.cancelClick && (state.cancelClick = false); + } + } + }, true); + svg.on("touchstart", (event) => { + state.event = event; + const { target } = event; + if (target && target !== eventRect.node()) { + unselectRect(); + } + }); + }, + /** + * Update event rect size + * @param {d3Selection} eventRect Event <rect> element + * @param {boolean} force Force to update + * @private + */ + updateEventRect(eventRect, force = false) { + const $$ = this; + const { state, $el } = $$; + const { eventReceiver, width, height, rendered, resizing } = state; + const rectElement = eventRect || $el.eventRect; + const updateClientRect = () => { + if (eventReceiver) { + const scrollPos = getScrollPosition($el.chart.node()); + eventReceiver.rect = rectElement.node().getBoundingClientRect().toJSON(); + eventReceiver.rect.top += scrollPos.y; + eventReceiver.rect.left += scrollPos.x; + } + }; + if (!rendered || resizing || force) { + rectElement.attr("x", 0).attr("y", 0).attr("width", width).attr("height", height); + if (!rendered || force) { + rectElement.classed($EVENT.eventRect, true); + } + } + updateClientRect(); + }, + /** + * Update event type (single or multiple x) + * @param {d3Selection | boolean} target Target element or boolean to rebind event + */ + updateEventType(target) { + const $$ = this; + const isRebindCall = isBoolean(target); + const eventRect = isRebindCall ? $$.$el.eventRect : target; + const unbindEvent = isRebindCall ? target !== (eventRect == null ? void 0 : eventRect.datum().multipleX) : false; + if (eventRect) { + unbindEvent && (eventRect == null ? void 0 : eventRect.on("mouseover mousemove mouseout click", null)); + $$.isMultipleX() ? $$.generateEventRectsForMultipleXs(eventRect) : $$.generateEventRectsForSingleX(eventRect); + } + }, + /** + * Updates the location and size of the eventRect. + * @private + */ + updateEventRectData() { + const $$ = this; + const { config, scale, state } = $$; + const xScale = scale.zoom || scale.x; + const isRotated = config.axis_rotated; + const isMultipleX = $$.isMultipleX(); + let x; + let y; + let w; + let h; + $$.updateEventType(isMultipleX); + if (isMultipleX) { + x = 0; + y = 0; + w = state.width; + h = state.height; + } else { + let rectW; + let rectX; + if ($$.axis.isCategorized()) { + rectW = $$.getEventRectWidth(); + rectX = (d) => xScale(d.x) - rectW / 2; + } else { + const getPrevNextX = ({ index }) => ({ + prev: $$.getPrevX(index), + next: $$.getNextX(index) + }); + rectW = (d) => { + const x2 = getPrevNextX(d); + const xDomain = xScale.domain(); + let val; + if (x2.prev === null && x2.next === null) { + val = isRotated ? state.height : state.width; + } else if (x2.prev === null) { + val = (xScale(x2.next) + xScale(d.x)) / 2; + } else if (x2.next === null) { + val = xScale(xDomain[1]) - (xScale(x2.prev) + xScale(d.x)) / 2; + } else { + Object.keys(x2).forEach((key, i) => { + var _a; + x2[key] = (_a = x2[key]) != null ? _a : xDomain[i]; + }); + val = Math.max(0, (xScale(x2.next) - xScale(x2.prev)) / 2); + } + return val; + }; + rectX = (d) => { + const x2 = getPrevNextX(d); + let val; + if (x2.prev === null && x2.next === null) { + val = 0; + } else if (x2.prev === null) { + val = xScale(xScale.domain()[0]); + } else { + val = (xScale(d.x) + xScale(x2.prev)) / 2; + } + return val; + }; + } + x = isRotated ? 0 : rectX; + y = isRotated ? rectX : 0; + w = isRotated ? state.width : rectW; + h = isRotated ? rectW : state.height; + } + const { eventReceiver } = state; + const call = (fn, v) => isFunction(fn) ? fn(v) : fn; + eventReceiver.coords.splice(eventReceiver.data.length); + eventReceiver.data.forEach((d, i) => { + eventReceiver.coords[i] = { + x: call(x, d), + y: call(y, d), + w: call(w, d), + h: call(h, d) + }; + }); + }, + /** + * Seletct rect for single x value + * @param {d3Selection} context Event rect element + * @param {number} index x Axis index + * @private + */ + selectRectForSingle(context, index) { + var _a, _b; + const $$ = this; + const { config, $el: { main, circle } } = $$; + const isSelectionEnabled = config.data_selection_enabled; + const isSelectionGrouped = config.data_selection_grouped; + const isSelectable = config.data_selection_isselectable; + const isTooltipGrouped = config.tooltip_grouped; + const selectedData = $$.getAllValuesOnIndex(index); + if (isTooltipGrouped) { + $$.showTooltip(selectedData, context); + (_a = $$.showGridFocus) == null ? void 0 : _a.call($$, selectedData); + if (!isSelectionEnabled || isSelectionGrouped) { + return; + } + } + !circle && main.selectAll(`.${$COMMON.EXPANDED}:not(.${$SHAPE.shape}-${index})`).classed( + $COMMON.EXPANDED, + false + ); + const shapeAtIndex = main.selectAll(`.${$SHAPE.shape}-${index}`).classed($COMMON.EXPANDED, true).style("cursor", isSelectable ? "pointer" : null).filter(function(d) { + return $$.isWithinShape(this, d); + }); + if (shapeAtIndex.empty() && !isTooltipGrouped && config.interaction_onout) { + (_b = $$.hideGridFocus) == null ? void 0 : _b.call($$); + $$.hideTooltip(); + !isSelectionGrouped && $$.setExpand(index); + } + shapeAtIndex.call((selected) => { + var _a2, _b2; + const d = selected.data(); + if (isSelectionEnabled && (isSelectionGrouped || (isSelectable == null ? void 0 : isSelectable.bind($$.api)(d)))) { + context.style.cursor = "pointer"; + } + if (!isTooltipGrouped) { + $$.showTooltip(d, context); + (_a2 = $$.showGridFocus) == null ? void 0 : _a2.call($$, d); + (_b2 = $$.unexpandCircles) == null ? void 0 : _b2.call($$); + selected.each((d2) => $$.setExpand(index, d2.id)); + } + }); + }, + /** + * Select rect for multiple x values + * @param {d3Selection} context Event rect element + * @param {boolean} [triggerEvent=true] Whether trigger event or not + * @private + */ + selectRectForMultipleXs(context, triggerEvent = true) { + const $$ = this; + const { config, state } = $$; + const targetsToShow = $$.filterTargetsToShow($$.data.targets); + if (state.dragging || $$.hasArcType(targetsToShow)) { + return; + } + const mouse = getPointer(state.event, context); + const closest = $$.findClosestFromTargets(targetsToShow, mouse); + if (triggerEvent && state.mouseover && (!closest || closest.id !== state.mouseover.id)) { + config.data_onout.call($$.api, state.mouseover); + state.mouseover = void 0; + } + if (!closest) { + $$.unselectRect(); + return; + } + const sameXData = $$.isBubbleType(closest) || $$.isScatterType(closest) || !config.tooltip_grouped ? [closest] : $$.filterByX(targetsToShow, closest.x); + const selectedData = sameXData.map((d) => $$.addName(d)); + $$.showTooltip(selectedData, context); + $$.setExpand(closest.index, closest.id, true); + $$.showGridFocus(selectedData); + const dist = $$.dist(closest, mouse); + if ($$.isBarType(closest.id) || dist < $$.getPointSensitivity(closest)) { + $$.$el.svg.select(`.${$EVENT.eventRect}`).style("cursor", "pointer"); + if (triggerEvent && !state.mouseover) { + config.data_onover.call($$.api, closest); + state.mouseover = closest; + } + } + }, + /** + * Unselect EventRect. + * @private + */ + unselectRect() { + const $$ = this; + const { $el: { circle, tooltip } } = $$; + $$.$el.svg.select(`.${$EVENT.eventRect}`).style("cursor", null); + $$.hideGridFocus(); + if (tooltip) { + $$.hideTooltip(); + $$._handleLinkedCharts(false); + } + circle && !$$.isPointFocusOnly() && $$.unexpandCircles(); + $$.expandBarTypeShapes(false); + }, + /** + * Create eventRect for each data on the x-axis. + * Register touch and drag events. + * @param {object} eventRectEnter d3.select($EVENT.eventRects) object. + * @returns {object} d3.select($EVENT.eventRects) object. + * @private + */ + generateEventRectsForSingleX(eventRectEnter) { + const $$ = this; + const { config, state } = $$; + const { eventReceiver } = state; + const rect = eventRectEnter.style( + "cursor", + config.data_selection_enabled && config.data_selection_grouped ? "pointer" : null + ).on("click", function(event) { + state.event = event; + const { currentIdx, data } = eventReceiver; + const d = data[currentIdx === -1 ? $$.getDataIndexFromEvent(event) : currentIdx]; + $$.clickHandlerForSingleX.bind(this)(d, $$); + }).datum({ multipleX: false }); + if (state.inputType === "mouse") { + const getData = (event) => { + const index = event ? $$.getDataIndexFromEvent(event) : eventReceiver.currentIdx; + return index > -1 ? eventReceiver.data[index] : null; + }; + rect.on("mouseover", (event) => { + state.event = event; + $$.updateEventRect(); + Object.values($$.$el.axisTooltip).forEach((v) => v == null ? void 0 : v.style("display", null)); + }).on("mousemove", function(event) { + const d = getData(event); + state.event = event; + if (!d) { + return; + } + let { index } = d; + const stepType = config.line_step_type; + if (config.line_step_tooltipMatch && $$.hasType("step") && /^step\-(before|after)$/.test(stepType)) { + const scale = $$.scale.zoom || $$.scale.x; + const xs = $$.axis.xs[index]; + const inverted = scale.invert(getPointer(event, this)[0]); + if (stepType === "step-after" && inverted < xs) { + index -= 1; + } else if (stepType === "step-before" && inverted > xs) { + index += 1; + } + } + $$.showAxisGridFocus(); + const eventOnSameIdx = config.tooltip_grouped && index === eventReceiver.currentIdx; + if (state.dragging || state.flowing || $$.hasArcType() || eventOnSameIdx) { + config.tooltip_show && eventOnSameIdx && $$.setTooltipPosition(); + return; + } + if (index !== eventReceiver.currentIdx) { + $$.setOverOut(false, eventReceiver.currentIdx); + eventReceiver.currentIdx = index; + } + index === -1 ? $$.unselectRect() : $$.selectRectForSingle(this, index); + $$.setOverOut(index !== -1, index); + }).on("mouseout", (event) => { + state.event = event; + if (!config || $$.hasArcType() || eventReceiver.currentIdx === -1 || !config.interaction_onout) { + return; + } + $$.hideAxisGridFocus(); + $$.unselectRect(); + $$.setOverOut(false, eventReceiver.currentIdx); + eventReceiver.currentIdx = -1; + }); + } + return rect; + }, + clickHandlerForSingleX(d, ctx) { + const $$ = ctx; + const { config, state, $el: { main } } = $$; + if (!d || $$.hasArcType() || state.cancelClick) { + state.cancelClick && (state.cancelClick = false); + return; + } + const { index } = d; + main.selectAll(`.${$SHAPE.shape}-${index}`).each(function(d2) { + var _a; + if (config.data_selection_grouped || $$.isWithinShape(this, d2)) { + (_a = $$.toggleShape) == null ? void 0 : _a.call($$, this, d2, index); + config.data_onclick.bind($$.api)(d2, this); + } + }); + }, + /** + * Create an eventRect, + * Register touch and drag events. + * @param {object} eventRectEnter d3.select($EVENT.eventRects) object. + * @private + */ + generateEventRectsForMultipleXs(eventRectEnter) { + const $$ = this; + const { config, state } = $$; + eventRectEnter.on("click", function(event) { + state.event = event; + $$.clickHandlerForMultipleXS.bind(this)($$); + }).datum({ multipleX: true }); + if (state.inputType === "mouse") { + eventRectEnter.on("mouseover mousemove", function(event) { + state.event = event; + $$.selectRectForMultipleXs(this); + }).on("mouseout", (event) => { + state.event = event; + if (!$$.config || $$.hasArcType() || !config.interaction_onout) { + return; + } + $$.unselectRect(); + }); + } + }, + clickHandlerForMultipleXS(ctx) { + const $$ = ctx; + const { config, state } = $$; + const targetsToShow = $$.filterTargetsToShow($$.data.targets); + if ($$.hasArcType(targetsToShow)) { + return; + } + const mouse = getPointer(state.event, this); + const closest = $$.findClosestFromTargets(targetsToShow, mouse); + const sensitivity = $$.getPointSensitivity(closest); + if (!closest) { + return; + } + if ($$.isBarType(closest.id) || $$.dist(closest, mouse) < sensitivity) { + $$.$el.main.selectAll(`.${$SHAPE.shapes}${$$.getTargetSelectorSuffix(closest.id)}`).selectAll(`.${$SHAPE.shape}-${closest.index}`).each(function() { + var _a; + if (config.data_selection_grouped || $$.isWithinShape(this, closest)) { + (_a = $$.toggleShape) == null ? void 0 : _a.call($$, this, closest, closest.index); + config.data_onclick.bind($$.api)(closest, this); + } + }); + } + } +}); + +// EXTERNAL MODULE: external {"commonjs":"d3-ease","commonjs2":"d3-ease","amd":"d3-ease","root":"d3"} +var external_commonjs_d3_ease_commonjs2_d3_ease_amd_d3_ease_root_d3_ = __webpack_require__(12); +;// ./src/ChartInternal/interactions/flow.ts + + + + +/* harmony default export */ var interactions_flow = ({ + /** + * Generate flow + * @param {object} args option object + * @returns {Function} + * @private + */ + generateFlow(args) { + const $$ = this; + const { data, state, $el } = $$; + return function() { + const flowLength = args.flow.length; + state.flowing = true; + data.targets.forEach((d) => { + d.values.splice(0, flowLength); + }); + if ($$.updateXGrid) { + $$.updateXGrid(true); + } + const elements = {}; + [ + "axis.x", + "grid.x", + "gridLines.x", + "region.list", + "text", + "bar", + "line", + "area", + "circle" + ].forEach((v) => { + const name = v.split("."); + let node = $el[name[0]]; + if (node && name.length > 1) { + node = node[name[1]]; + } + if (node == null ? void 0 : node.size()) { + elements[v] = node; + } + }); + $$.hideGridFocus(); + $$.setFlowList(elements, args); + }; + }, + /** + * Set flow list + * @param {object} elements Target elements + * @param {object} args option object + * @private + */ + setFlowList(elements, args) { + const $$ = this; + const { flow, targets } = args; + const { + duration = args.duration, + index: flowIndex, + length: flowLength, + orgDataCount + } = flow; + const transform = $$.getFlowTransform(targets, orgDataCount, flowIndex, flowLength); + const wait = generateWait(); + let n; + wait.add(Object.keys(elements).map((v) => { + n = elements[v].transition().ease(external_commonjs_d3_ease_commonjs2_d3_ease_amd_d3_ease_root_d3_.easeLinear).duration(duration); + if (v === "axis.x") { + n = n.call((g) => { + $$.axis.x.setTransition(g).create(g); + }); + } else if (v === "region.list") { + n = n.filter($$.isRegionOnX).attr("transform", transform); + } else { + n = n.attr("transform", transform); + } + return n; + })); + n.call(wait, () => { + $$.cleanUpFlow(elements, args); + }); + }, + /** + * Clean up flow + * @param {object} elements Target elements + * @param {object} args option object + * @private + */ + cleanUpFlow(elements, args) { + const $$ = this; + const { config, state, $el: { svg } } = $$; + const isRotated = config.axis_rotated; + const { flow, shape, xv } = args; + const { cx, cy, xForText, yForText } = shape.pos; + const { + done = () => { + }, + length: flowLength + } = flow; + if (flowLength) { + ["circle", "text", "shape", "eventRect"].forEach((v) => { + const target = []; + for (let i = 0; i < flowLength; i++) { + target.push(`.${classes[v]}-${i}`); + } + svg.selectAll(`.${classes[`${v}s`]}`).selectAll(target).remove(); + }); + svg.select(`.${classes.xgrid}`).remove(); + } + Object.keys(elements).forEach((v) => { + const n = elements[v]; + if (v !== "axis.x") { + n.attr("transform", null); + } + if (v === "grid.x") { + n.attr(state.xgridAttr); + } else if (v === "gridLines.x") { + n.attr("x1", isRotated ? 0 : xv).attr("x2", isRotated ? state.width : xv); + n.select("text").attr("x", isRotated ? state.width : 0).attr("y", xv); + } else if (/^(area|bar|line)$/.test(v)) { + n.attr("d", shape.type[v]); + } else if (v === "text") { + n.attr("x", xForText).attr("y", yForText).style("fill-opacity", $$.opacityForText.bind($$)); + } else if (v === "circle") { + if ($$.isCirclePoint()) { + n.attr("cx", cx).attr("cy", cy); + } else { + const xFunc = (d) => cx(d) - config.point_r; + const yFunc = (d) => cy(d) - config.point_r; + n.attr("x", xFunc).attr("y", yFunc); + } + } else if (v === "region.list") { + n.select("rect").filter($$.isRegionOnX).attr("x", $$.regionX.bind($$)).attr("width", $$.regionWidth.bind($$)); + } + }); + config.interaction_enabled && $$.redrawEventRect(); + done.call($$.api); + state.flowing = false; + }, + /** + * Get flow transform value + * @param {object} targets target + * @param {number} orgDataCount original data count + * @param {number} flowIndex flow index + * @param {number} flowLength flow length + * @returns {string} + * @private + */ + getFlowTransform(targets, orgDataCount, flowIndex, flowLength) { + const $$ = this; + const { data, scale: { x } } = $$; + const dataValues = data.targets[0].values; + let flowStart = $$.getValueOnIndex(dataValues, flowIndex); + let flowEnd = $$.getValueOnIndex(dataValues, flowIndex + flowLength); + let translateX; + const orgDomain = x.domain(); + const domain = $$.updateXDomain(targets, true, true); + if (!orgDataCount) { + if (dataValues.length !== 1) { + translateX = x(orgDomain[0]) - x(domain[0]); + } else { + if ($$.axis.isTimeSeries()) { + flowStart = $$.getValueOnIndex(dataValues, 0); + flowEnd = $$.getValueOnIndex(dataValues, dataValues.length - 1); + translateX = x(flowStart.x) - x(flowEnd.x); + } else { + translateX = diffDomain(domain) / 2; + } + } + } else if (orgDataCount === 1 || (flowStart == null ? void 0 : flowStart.x) === (flowEnd == null ? void 0 : flowEnd.x)) { + translateX = x(orgDomain[0]) - x(domain[0]); + } else { + translateX = $$.axis.isTimeSeries() ? x(orgDomain[0]) - x(domain[0]) : x((flowStart == null ? void 0 : flowStart.x) || 0) - x(flowEnd.x); + } + const scaleX = diffDomain(orgDomain) / diffDomain(domain); + return `translate(${translateX},0) scale(${scaleX},1)`; + } +}); + +;// ./src/ChartInternal/internals/clip.ts +/* harmony default export */ var clip = ({ + initClip() { + const $$ = this; + const { clip, datetimeId } = $$.state; + clip.id = `${datetimeId}-clip`; + clip.idXAxis = `${clip.id}-xaxis`; + clip.idYAxis = `${clip.id}-yaxis`; + clip.idGrid = `${clip.id}-grid`; + clip.path = $$.getClipPath(clip.id); + clip.pathXAxis = $$.getClipPath(clip.idXAxis); + clip.pathYAxis = $$.getClipPath(clip.idYAxis); + clip.pathGrid = $$.getClipPath(clip.idGrid); + }, + getClipPath(id) { + const $$ = this; + const { config } = $$; + if (!config.clipPath && /-clip$/.test(id) || !config.axis_x_clipPath && /-clip-xaxis$/.test(id) || !config.axis_y_clipPath && /-clip-yaxis$/.test(id)) { + return null; + } + return `url(#${id})`; + }, + appendClip(parent, id) { + id && parent.append("clipPath").attr("id", id).append("rect"); + }, + /** + * Set x Axis clipPath dimension + * @param {d3Selecton} node clipPath <rect> selection + * @private + */ + setXAxisClipPath(node) { + const $$ = this; + const { config, state: { margin, width, height } } = $$; + const isRotated = config.axis_rotated; + const left = Math.max(30, margin.left) - (isRotated ? 0 : 20); + const h = (isRotated ? margin.top + height + 10 : margin.bottom) + 20; + const x = isRotated ? -(1 + left) : -(left - 1); + const y = -15; + const w = isRotated ? margin.left + 20 : width + 10 + left; + node.attr("x", x).attr("y", y).attr("width", w).attr("height", h); + }, + /** + * Set y Axis clipPath dimension + * @param {d3Selection} node clipPath <rect> selection + * @private + */ + setYAxisClipPath(node) { + const $$ = this; + const { config, state: { margin, width, height } } = $$; + const isRotated = config.axis_rotated; + const left = Math.max(30, margin.left) - (isRotated ? 20 : 0); + const isInner = config.axis_y_inner; + const x = isInner && !isRotated ? config.axis_y_label.text ? -20 : -1 : isRotated ? -(1 + left) : -(left - 1); + const y = -(isRotated ? 20 : margin.top); + const w = (isRotated ? width + 15 + left : margin.left + 20) + (isInner ? 20 : 0); + const h = (isRotated ? margin.bottom + 10 : margin.top + height) + 10; + node.attr("x", x).attr("y", y).attr("width", w).attr("height", h); + }, + updateXAxisTickClip() { + const $$ = this; + const { config, state: { clip, xAxisHeight }, $el: { defs } } = $$; + const newXAxisHeight = $$.getHorizontalAxisHeight("x"); + if (defs && !clip.idXAxisTickTexts) { + const clipId = `${clip.id}-xaxisticktexts`; + $$.appendClip(defs, clipId); + clip.pathXAxisTickTexts = $$.getClipPath(clip.idXAxisTickTexts); + clip.idXAxisTickTexts = clipId; + } + if (!config.axis_x_tick_multiline && $$.getAxisTickRotate("x") && newXAxisHeight !== xAxisHeight) { + $$.setXAxisTickClipWidth(); + $$.setXAxisTickTextClipPathWidth(); + } + $$.state.xAxisHeight = newXAxisHeight; + }, + setXAxisTickClipWidth() { + const $$ = this; + const { config, state: { current: { maxTickSize } } } = $$; + const xAxisTickRotate = $$.getAxisTickRotate("x"); + if (!config.axis_x_tick_multiline && xAxisTickRotate) { + const sinRotation = Math.sin(Math.PI / 180 * Math.abs(xAxisTickRotate)); + maxTickSize.x.clipPath = ($$.getHorizontalAxisHeight("x") - 20) / sinRotation; + } else { + maxTickSize.x.clipPath = null; + } + }, + setXAxisTickTextClipPathWidth() { + const $$ = this; + const { state: { clip, current }, $el: { svg } } = $$; + if (svg) { + svg.select(`#${clip.idXAxisTickTexts} rect`).attr("width", current.maxTickSize.x.clipPath).attr("height", 30); + } + } +}); + +;// ./src/ChartInternal/internals/grid.ts + + + +const getGridTextAnchor = (d) => isValue(d.position) || "end"; +const getGridTextDx = (d) => d.position === "start" ? 4 : d.position === "middle" ? 0 : -4; +function getGridTextX(isX, width, height) { + return (d) => { + let x = isX ? 0 : width; + if (d.position === "start") { + x = isX ? -height : 0; + } else if (d.position === "middle") { + x = (isX ? -height : width) / 2; + } + return x; + }; +} +function smoothLines(el, type) { + if (type === "grid") { + el.each(function() { + const g = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this); + ["x1", "x2", "y1", "y2"].forEach((v) => g.attr(v, +g.attr(v))); + }); + } +} +/* harmony default export */ var internals_grid = ({ + hasGrid() { + const { config } = this; + return ["x", "y"].some((v) => config[`grid_${v}_show`] || config[`grid_${v}_lines`].length); + }, + initGrid() { + const $$ = this; + $$.hasGrid() && $$.initGridLines(); + $$.initFocusGrid(); + }, + initGridLines() { + const $$ = this; + const { config, state: { clip }, $el } = $$; + if (config.grid_x_lines.length || config.grid_y_lines.length) { + $el.gridLines.main = $el.main.insert( + "g", + `.${$COMMON.chart}${config.grid_lines_front ? " + *" : ""}` + ).attr("clip-path", clip.pathGrid).attr("class", `${$GRID.grid} ${$GRID.gridLines}`); + $el.gridLines.main.append("g").attr("class", $GRID.xgridLines); + $el.gridLines.main.append("g").attr("class", $GRID.ygridLines); + $el.gridLines.x = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.selectAll)([]); + } + }, + updateXGrid(withoutUpdate) { + const $$ = this; + const { config, scale, state, $el: { main, grid } } = $$; + const isRotated = config.axis_rotated; + const xgridData = $$.generateGridData(config.grid_x_type, scale.x); + const tickOffset = $$.axis.isCategorized() ? $$.axis.x.tickOffset() : 0; + const pos = (d) => (scale.zoom || scale.x)(d) + tickOffset * (isRotated ? -1 : 1); + state.xgridAttr = isRotated ? { + x1: 0, + x2: state.width, + y1: pos, + y2: pos + } : { + x1: pos, + x2: pos, + y1: 0, + y2: state.height + }; + grid.x = main.select(`.${$GRID.xgrids}`).selectAll(`.${$GRID.xgrid}`).data(xgridData); + grid.x.exit().remove(); + grid.x = grid.x.enter().append("line").attr("class", $GRID.xgrid).merge(grid.x); + if (!withoutUpdate) { + grid.x.each(function() { + const grid2 = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this); + Object.keys(state.xgridAttr).forEach((id) => { + grid2.attr(id, state.xgridAttr[id]).style("opacity", () => grid2.attr(isRotated ? "y1" : "x1") === (isRotated ? state.height : 0) ? "0" : null); + }); + }); + } + }, + updateYGrid() { + const $$ = this; + const { axis, config, scale, state, $el: { grid, main } } = $$; + const isRotated = config.axis_rotated; + const pos = (d) => scale.y(d); + const gridValues = axis.y.getGeneratedTicks(config.grid_y_ticks) || $$.scale.y.ticks(config.grid_y_ticks); + grid.y = main.select(`.${$GRID.ygrids}`).selectAll(`.${$GRID.ygrid}`).data(gridValues); + grid.y.exit().remove(); + grid.y = grid.y.enter().append("line").attr("class", $GRID.ygrid).merge(grid.y); + grid.y.attr("x1", isRotated ? pos : 0).attr("x2", isRotated ? pos : state.width).attr("y1", isRotated ? 0 : pos).attr("y2", isRotated ? state.height : pos); + smoothLines(grid.y, "grid"); + }, + updateGrid() { + const $$ = this; + const { $el: { grid, gridLines } } = $$; + !gridLines.main && $$.initGridLines(); + grid.main.style("visibility", $$.hasArcType() ? "hidden" : null); + $$.hideGridFocus(); + $$.updateGridLines("x"); + $$.updateGridLines("y"); + }, + /** + * Update Grid lines + * @param {string} type x | y + * @private + */ + updateGridLines(type) { + const $$ = this; + const { config, $el: { gridLines, main }, $T } = $$; + const isRotated = config.axis_rotated; + const isX = type === "x"; + config[`grid_${type}_show`] && $$[`update${type.toUpperCase()}Grid`](); + let lines = main.select(`.${$GRID[`${type}gridLines`]}`).selectAll(`.${$GRID[`${type}gridLine`]}`).data(config[`grid_${type}_lines`]); + $T(lines.exit()).style("opacity", "0").remove(); + const gridLine = lines.enter().append("g"); + gridLine.append("line").style("opacity", "0"); + lines = gridLine.merge(lines); + lines.each(function(d) { + const g = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this); + if (g.select("text").empty() && d.text) { + g.append("text").style("opacity", "0"); + } + }); + $T(lines.attr("class", (d) => `${$GRID[`${type}gridLine`]} ${d.class || ""}`.trim()).select("text").attr("text-anchor", getGridTextAnchor).attr( + "transform", + () => isX ? isRotated ? null : "rotate(-90)" : isRotated ? "rotate(-90)" : null + ).attr("dx", getGridTextDx).attr("dy", -5)).text(function(d) { + var _a; + return (_a = d.text) != null ? _a : this.remove(); + }); + gridLines[type] = lines; + }, + redrawGrid(withTransition) { + const $$ = this; + const { + config: { axis_rotated: isRotated }, + state: { width, height }, + $el: { gridLines }, + $T + } = $$; + const xv = $$.xv.bind($$); + const yv = $$.yv.bind($$); + let xLines = gridLines.x.select("line"); + let xTexts = gridLines.x.select("text"); + let yLines = gridLines.y.select("line"); + let yTexts = gridLines.y.select("text"); + xLines = $T(xLines, withTransition).attr("x1", isRotated ? 0 : xv).attr("x2", isRotated ? width : xv).attr("y1", isRotated ? xv : 0).attr("y2", isRotated ? xv : height); + xTexts = $T(xTexts, withTransition).attr("x", getGridTextX(!isRotated, width, height)).attr("y", xv); + yLines = $T(yLines, withTransition).attr("x1", isRotated ? yv : 0).attr("x2", isRotated ? yv : width).attr("y1", isRotated ? 0 : yv).attr("y2", isRotated ? height : yv); + yTexts = $T(yTexts, withTransition).attr("x", getGridTextX(isRotated, width, height)).attr("y", yv); + return [ + xLines.style("opacity", null), + xTexts.style("opacity", null), + yLines.style("opacity", null), + yTexts.style("opacity", null) + ]; + }, + initFocusGrid() { + const $$ = this; + const { config, state: { clip }, $el } = $$; + const isFront = config.grid_front; + const className = `.${isFront && $el.gridLines.main ? $GRID.gridLines : $COMMON.chart}${isFront ? " + *" : ""}`; + const grid = $el.main.insert("g", className).attr("clip-path", clip.pathGrid).attr("class", $GRID.grid); + $el.grid.main = grid; + config.grid_x_show && grid.append("g").attr("class", $GRID.xgrids); + config.grid_y_show && grid.append("g").attr("class", $GRID.ygrids); + if (config.axis_tooltip) { + const axis = grid.append("g").attr("class", "bb-axis-tooltip"); + axis.append("line").attr("class", "bb-axis-tooltip-x"); + axis.append("line").attr("class", "bb-axis-tooltip-y"); + } + if (config.interaction_enabled && config.grid_focus_show && !config.axis_tooltip) { + grid.append("g").attr("class", $FOCUS.xgridFocus).append("line").attr("class", $FOCUS.xgridFocus); + if (config.grid_focus_y && !config.tooltip_grouped) { + grid.append("g").attr("class", $FOCUS.ygridFocus).append("line").attr("class", $FOCUS.ygridFocus); + } + } + }, + showAxisGridFocus() { + var _a, _b; + const $$ = this; + const { config, format, state: { event, width, height } } = $$; + const isRotated = config.axis_rotated; + const [x, y] = getPointer(event, (_a = $$.$el.eventRect) == null ? void 0 : _a.node()); + const pos = { x, y }; + for (const [axis, node] of Object.entries($$.$el.axisTooltip)) { + const attr = axis === "x" && !isRotated || axis !== "x" && isRotated ? "x" : "y"; + const value = pos[attr]; + let scaleText = (_b = $$.scale[axis]) == null ? void 0 : _b.invert(value); + if (scaleText) { + scaleText = axis === "x" && $$.axis.isTimeSeries() ? format.xAxisTick(scaleText) : scaleText == null ? void 0 : scaleText.toFixed(2); + node == null ? void 0 : node.attr(attr, value).text(scaleText); + } + } + $$.$el.main.selectAll( + `line.bb-axis-tooltip-x, line.bb-axis-tooltip-y` + ).style("visibility", null).each(function(d, i) { + const line = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this); + if (i === 0) { + line.attr("x1", x).attr("x2", x).attr("y1", i ? 0 : height).attr("y2", i ? height : 0); + } else { + line.attr("x1", i ? 0 : width).attr("x2", i ? width : 0).attr("y1", y).attr("y2", y); + } + }); + }, + hideAxisGridFocus() { + const $$ = this; + $$.$el.main.selectAll( + `line.bb-axis-tooltip-x, line.bb-axis-tooltip-y` + ).style("visibility", "hidden"); + Object.values($$.$el.axisTooltip).forEach((v) => v == null ? void 0 : v.style("display", "none")); + }, + /** + * Show grid focus line + * @param {Array} data Selected data + * @private + */ + showGridFocus(data) { + var _a; + const $$ = this; + const { config, state: { width, height } } = $$; + const isRotated = config.axis_rotated; + const focusEl = $$.$el.main.selectAll( + `line.${$FOCUS.xgridFocus}, line.${$FOCUS.ygridFocus}` + ); + const dataToShow = (data || [focusEl.datum()]).filter( + (d) => d && isValue($$.getBaseValue(d)) + ); + if (!config.tooltip_show || dataToShow.length === 0 || !config.axis_x_forceAsSingle && $$.hasType("bubble") || $$.hasArcType()) { + return; + } + const isEdge = config.grid_focus_edge && !config.tooltip_grouped; + const xx = $$.xx.bind($$); + focusEl.style("visibility", null).data(dataToShow.concat(dataToShow)).each(function(d) { + const el = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this); + const pos = { + x: xx(d), + y: $$.getYScaleById(d.id)(d.value) + }; + let xy; + if (el.classed($FOCUS.xgridFocus)) { + xy = isRotated ? [ + null, + // x1 + pos.x, + // y1 + isEdge ? pos.y : width, + // x2 + pos.x + // y2 + ] : [ + pos.x, + isEdge ? pos.y : null, + pos.x, + height + ]; + } else { + const isY2 = $$.axis.getId(d.id) === "y2"; + xy = isRotated ? [ + pos.y, + // x1 + isEdge && !isY2 ? pos.x : null, + // y1 + pos.y, + // x2 + isEdge && isY2 ? pos.x : height + // y2 + ] : [ + isEdge && isY2 ? pos.x : null, + pos.y, + isEdge && !isY2 ? pos.x : width, + pos.y + ]; + } + ["x1", "y1", "x2", "y2"].forEach((v, i) => el.attr(v, xy[i])); + }); + smoothLines(focusEl, "grid"); + (_a = $$.showCircleFocus) == null ? void 0 : _a.call($$, data); + }, + hideGridFocus() { + var _a; + const $$ = this; + const { state: { inputType, resizing }, $el: { main } } = $$; + if (inputType === "mouse" || !resizing) { + main.selectAll(`line.${$FOCUS.xgridFocus}, line.${$FOCUS.ygridFocus}`).style("visibility", "hidden"); + (_a = $$.hideCircleFocus) == null ? void 0 : _a.call($$); + } + }, + updateGridFocus() { + var _a; + const $$ = this; + const { state: { inputType, width, height, resizing }, $el: { grid } } = $$; + const xgridFocus = grid.main.select(`line.${$FOCUS.xgridFocus}`); + if (inputType === "touch") { + if (xgridFocus.empty()) { + resizing && ((_a = $$.showCircleFocus) == null ? void 0 : _a.call($$)); + } else { + $$.showGridFocus(); + } + } else { + const isRotated = $$.config.axis_rotated; + xgridFocus.attr("x1", isRotated ? 0 : -10).attr("x2", isRotated ? width : -10).attr("y1", isRotated ? -10 : 0).attr("y2", isRotated ? -10 : height); + } + return true; + }, + generateGridData(type, scale) { + const $$ = this; + const tickNum = $$.$el.main.select(`.${$AXIS.axisX}`).selectAll(".tick").size(); + let gridData = []; + if (type === "year") { + const xDomain = $$.getXDomain(); + const [firstYear, lastYear] = xDomain.map((v) => v.getFullYear()); + for (let i = firstYear; i <= lastYear; i++) { + gridData.push(/* @__PURE__ */ new Date(`${i}-01-01 00:00:00`)); + } + } else { + gridData = scale.ticks(10); + if (gridData.length > tickNum) { + gridData = gridData.filter((d) => String(d).indexOf(".") < 0); + } + } + return gridData; + }, + getGridFilterToRemove(params) { + return params ? (line) => { + let found = false; + (isArray(params) ? params.concat() : [params]).forEach((param) => { + if ("value" in param && line.value === param.value || "class" in param && line.class === param.class) { + found = true; + } + }); + return found; + } : () => true; + }, + removeGridLines(params, forX) { + const $$ = this; + const { config, $T } = $$; + const toRemove = $$.getGridFilterToRemove(params); + const toShow = (line) => !toRemove(line); + const classLines = forX ? $GRID.xgridLines : $GRID.ygridLines; + const classLine = forX ? $GRID.xgridLine : $GRID.ygridLine; + $T($$.$el.main.select(`.${classLines}`).selectAll(`.${classLine}`).filter(toRemove)).style("opacity", "0").remove(); + const gridLines = `grid_${forX ? "x" : "y"}_lines`; + config[gridLines] = config[gridLines].filter(toShow); + } +}); + +;// ./src/ChartInternal/internals/region.ts + + + +/* harmony default export */ var region = ({ + initRegion() { + const $$ = this; + const { $el } = $$; + $el.region.main = $el.main.insert("g", ":first-child").attr("clip-path", $$.state.clip.path).attr("class", $REGION.regions); + }, + updateRegion() { + const $$ = this; + const { config, $el: { region }, $T } = $$; + if (!region.main) { + $$.initRegion(); + } + region.main.style("visibility", $$.hasArcType() ? "hidden" : null); + const regions = region.main.selectAll(`.${$REGION.region}`).data(config.regions); + $T(regions.exit()).style("opacity", "0").remove(); + const regionsEnter = regions.enter().append("g"); + regionsEnter.append("rect").style("fill-opacity", "0"); + region.list = regionsEnter.merge(regions).attr("class", $$.classRegion.bind($$)); + region.list.each(function(d) { + var _a; + const g = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this); + if (g.select("text").empty() && ((_a = d.label) == null ? void 0 : _a.text)) { + (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this).append("text").style("opacity", "0"); + } + }); + }, + redrawRegion(withTransition) { + const $$ = this; + const { $el: { region }, $T } = $$; + let regions = region.list.select("rect"); + let label = region.list.selectAll("text"); + regions = $T(regions, withTransition).attr("x", $$.regionX.bind($$)).attr("y", $$.regionY.bind($$)).attr("width", $$.regionWidth.bind($$)).attr("height", $$.regionHeight.bind($$)); + label = $T(label, withTransition).attr("transform", (d) => { + var _a; + const { x = 0, y = 0, rotated = false } = (_a = d.label) != null ? _a : {}; + return `translate(${$$.regionX.bind($$)(d) + x}, ${$$.regionY.bind($$)(d) + y})${rotated ? ` rotate(-90)` : ``}`; + }).attr("text-anchor", (d) => { + var _a; + return ((_a = d.label) == null ? void 0 : _a.rotated) ? "end" : null; + }).attr("dy", "1em").style("fill", (d) => { + var _a, _b; + return (_b = (_a = d.label) == null ? void 0 : _a.color) != null ? _b : null; + }).text((d) => { + var _a; + return (_a = d.label) == null ? void 0 : _a.text; + }); + return [ + regions.style("fill-opacity", (d) => isValue(d.opacity) ? d.opacity : null).on("end", function() { + (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this.parentNode).selectAll("rect:not([x])").remove(); + }), + label.style("opacity", null) + ]; + }, + getRegionXY(type, d) { + const $$ = this; + const { config, scale } = $$; + const isRotated = config.axis_rotated; + const isX = type === "x"; + let key = "start"; + let currScale; + let pos = 0; + if (d.axis === "y" || d.axis === "y2") { + if (!isX) { + key = "end"; + } + if ((isX ? isRotated : !isRotated) && key in d) { + currScale = scale[d.axis]; + pos = currScale(d[key]); + } + } else if ((isX ? !isRotated : isRotated) && key in d) { + currScale = scale.zoom || scale.x; + pos = currScale($$.axis.isTimeSeries() ? parseDate.call($$, d[key]) : d[key]); + } + return pos; + }, + regionX(d) { + return this.getRegionXY("x", d); + }, + regionY(d) { + return this.getRegionXY("y", d); + }, + getRegionSize(type, d) { + const $$ = this; + const { config, scale, state } = $$; + const isRotated = config.axis_rotated; + const isWidth = type === "width"; + const start = $$[isWidth ? "regionX" : "regionY"](d); + let currScale; + let key = "end"; + let end = state[type]; + if (d.axis === "y" || d.axis === "y2") { + if (!isWidth) { + key = "start"; + } + if ((isWidth ? isRotated : !isRotated) && key in d) { + currScale = scale[d.axis]; + end = currScale(d[key]); + } + } else if ((isWidth ? !isRotated : isRotated) && key in d) { + currScale = scale.zoom || scale.x; + end = currScale($$.axis.isTimeSeries() ? parseDate.call($$, d[key]) : d[key]); + } + return end < start ? 0 : end - start; + }, + regionWidth(d) { + return this.getRegionSize("width", d); + }, + regionHeight(d) { + return this.getRegionSize("height", d); + }, + isRegionOnX(d) { + return !d.axis || d.axis === "x"; + } +}); + +;// ./src/ChartInternal/internals/size.axis.ts + +/* harmony default export */ var size_axis = ({ + /** + * Get Axis size according its position + * @param {string} id Axis id value - x, y or y2 + * @returns {number} size Axis size value + * @private + */ + getAxisSize(id) { + const $$ = this; + const isRotated = $$.config.axis_rotated; + return isRotated && id === "x" || !isRotated && /y2?/.test(id) ? $$.getAxisWidthByAxisId(id, true) : $$.getHorizontalAxisHeight(id); + }, + getAxisWidthByAxisId(id, withoutRecompute) { + var _a, _b; + const $$ = this; + if ($$.axis) { + const position = (_a = $$.axis) == null ? void 0 : _a.getLabelPositionById(id); + const { width } = $$.axis.getMaxTickSize(id, withoutRecompute); + const gap = width === 0 ? 0.5 : 0; + return width + (((_b = $$.config.padding) == null ? void 0 : _b.mode) === "fit" ? position.isInner ? 10 + gap : 10 : position.isInner ? 20 + gap : 40); + } else { + return 40; + } + }, + getHorizontalAxisHeight(id) { + var _a, _b; + const $$ = this; + const { config, state } = $$; + const { rotatedPadding, isLegendRight, isLegendInset } = state; + const isRotated = config.axis_rotated; + const isFitPadding = ((_a = config.padding) == null ? void 0 : _a.mode) === "fit"; + const isInner = config[`axis_${id}_inner`]; + const hasLabelText = config[`axis_${id}_label`].text; + const defaultHeight = 13; + let h = ((_b = config.padding) == null ? void 0 : _b.mode) === "fit" ? isInner && !hasLabelText ? id === "y" ? 1 : 0 : 20 : 30; + if (id === "x" && !config.axis_x_show) { + return 8; + } + if (id === "x" && isNumber(config.axis_x_height)) { + return config.axis_x_height; + } + if (id === "y" && !config.axis_y_show) { + return config.legend_show && !isLegendRight && !isLegendInset ? 10 : 1; + } + if (id === "y2" && !config.axis_y2_show) { + return isFitPadding ? 0 : rotatedPadding.top; + } + const maxtickSize = $$.axis.getMaxTickSize(id); + const isXAxisTickRotated = Math.abs(config.axis_x_tick_rotate) > 0 && (!config.axis_x_tick_autorotate || $$.needToRotateXAxisTickTexts()); + if ((config.axis_x_tick_multiline || isXAxisTickRotated) && maxtickSize.height > defaultHeight) { + h += maxtickSize.height - defaultHeight; + } + return h + ($$.axis.getLabelPositionById(id).isInner ? 0 : 10) + (id === "y2" && !isRotated ? -10 : 0); + }, + getEventRectWidth() { + const $$ = this; + const { config, axis } = $$; + const isInverted = config.axis_x_inverted; + const tickInterval = axis.x.tickInterval(); + return Math.max(0, isInverted ? Math.abs(tickInterval) : tickInterval); + }, + /** + * Get axis tick test rotate value + * @param {string} id Axis id + * @returns {number} rotate value + * @private + */ + getAxisTickRotate(id) { + const $$ = this; + const { axis, config, state, $el } = $$; + let rotate = config[`axis_${id}_tick_rotate`]; + if (id === "x") { + const allowedXAxisTypes = axis.isCategorized() || axis.isTimeSeries(); + if (config.axis_x_tick_fit && allowedXAxisTypes) { + const xTickCount = config.axis_x_tick_count; + const currentXTicksLength = state.current.maxTickSize.x.ticks.length; + let tickCount = 0; + if (xTickCount) { + tickCount = xTickCount > currentXTicksLength ? currentXTicksLength : xTickCount; + } else if (currentXTicksLength) { + tickCount = currentXTicksLength; + } + if (tickCount !== state.axis.x.tickCount) { + const { targets } = $$.data; + state.axis.x.padding = $$.getXDomainPadding([ + $$.getXDomainMinMax(targets, "min"), + $$.getXDomainMinMax(targets, "max") + ], tickCount); + } + state.axis.x.tickCount = tickCount; + } + if ($el.svg && config.axis_x_tick_autorotate && config.axis_x_tick_fit && !config.axis_x_tick_multiline && !config.axis_x_tick_culling && allowedXAxisTypes) { + rotate = $$.needToRotateXAxisTickTexts() ? config.axis_x_tick_rotate : 0; + } + } + return rotate; + }, + /** + * Check weather axis tick text needs to be rotated + * @returns {boolean} + * @private + */ + needToRotateXAxisTickTexts() { + const $$ = this; + const { state: { axis, current, isLegendRight, legendItemWidth } } = $$; + const legendWidth = isLegendRight && legendItemWidth; + const xAxisLength = current.width - legendWidth - $$.getCurrentPaddingByDirection("left") - $$.getCurrentPaddingByDirection("right"); + const tickCountWithPadding = axis.x.tickCount + axis.x.padding.left + axis.x.padding.right; + const { width } = $$.axis.getMaxTickSize("x"); + const tickLength = tickCountWithPadding ? xAxisLength / tickCountWithPadding : 0; + return width > tickLength; + } +}); + +;// ./src/config/Options/axis/x.ts +/* harmony default export */ var axis_x = ({ + /** + * Set clip-path attribute for x axis element + * @name axis․x․clipPath + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo]() + * @example + * // don't set 'clip-path' attribute + * clipPath: false + */ + axis_x_clipPath: true, + /** + * Show or hide x axis. + * @name axis․x․show + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * x: { + * show: false + * } + * } + */ + axis_x_show: true, + /** + * Force the x axis to interact as single rather than multiple x axes. + * - **NOTE:** The tooltip event will be triggered nearing each data points(for multiple xs) rather than x axis based(as single x does) in below condition: + * - for `bubble` & `scatter` type + * - when `data.xs` is set + * - when `tooltip.grouped=false` is set + * - `tooltip.grouped` options will take precedence over `axis.forceSingleX` option. + * @name axis․x․forceAsSingle + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.ForceAsSingle) + * @example + * axis: { + * x: { + * // will work as single x axis + * forceAsSingle: true + * } + * } + */ + axis_x_forceAsSingle: false, + /** + * Set type of x axis.<br><br> + * **Available Values:** + * - category + * - indexed + * - log + * - timeseries + * + * **NOTE:**<br> + * - **log** type: + * - the x values specified by [`data.x`](#.data%25E2%2580%25A4x)(or by any equivalent option), must be exclusively-positive. + * - x axis min value should be >= 0. + * - for 'category' type, `data.xs` option isn't supported. + * @name axis․x․type + * @memberof Options + * @type {string} + * @default indexed + * @see [Demo: indexed](https://naver.github.io/billboard.js/demo/#Chart.AreaChart) + * @see [Demo: timeseries](https://naver.github.io/billboard.js/demo/#Chart.TimeseriesChart) + * @see [Demo: category](https://naver.github.io/billboard.js/demo/#Data.CategoryData) + * @see [Demo: log](https://naver.github.io/billboard.js/demo/#Axis.LogScales) + * @example + * axis: { + * x: { + * type: "timeseries" + * } + * } + */ + axis_x_type: "indexed", + /** + * Set how to treat the timezone of x values.<br> + * If true, treat x value as localtime. If false, convert to UTC internally. + * @name axis․x․localtime + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * x: { + * localtime: false + * } + * } + */ + axis_x_localtime: true, + /** + * Set category names on category axis. + * This must be an array that includes category names in string. If category names are included in the date by data.x option, this is not required. + * @name axis․x․categories + * @memberof Options + * @type {Array} + * @default [] + * @example + * axis: { + * x: { + * categories: ["Category 1", "Category 2", ...] + * } + * } + */ + axis_x_categories: [], + /** + * centerize ticks on category axis. + * @name axis․x․tick․centered + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * x: { + * tick: { + * centered: true + * } + * } + * } + */ + axis_x_tick_centered: false, + /** + * A function to format tick value. Format string is also available for timeseries data. + * @name axis․x․tick․format + * @memberof Options + * @type {Function|string} + * @default undefined + * @see [D3's time specifier](https://d3js.org/d3-time-format#locale_format) + * @example + * axis: { + * x: { + * tick: { + * // for timeseries, a 'datetime' object is given as parameter + * format: function(x) { + * return x.getFullYear(); + * } + * + * // for category, index(Number) and categoryName(String) are given as parameter + * format: function(index, categoryName) { + * return categoryName.substr(0, 10); + * }, + * + * // for timeseries format specifier + * format: "%Y-%m-%d %H:%M:%S" + * } + * } + * } + */ + axis_x_tick_format: void 0, + /** + * Setting for culling ticks. + * - `true`: the ticks will be culled, then only limited tick text will be shown.<br> + * This option does not hide the tick lines by default, if want to hide tick lines, set `axis.x.tick.culling.lines=false`. + * - `false`: all of ticks will be shown.<br><br> + * The number of ticks to be shown can be chaned by `axis.x.tick.culling.max`. + * @name axis․x․tick․culling + * @memberof Options + * @type {boolean} + * @default + * `true` for indexed axis and timeseries axis, `false` for category axis + * @example + * axis: { + * x: { + * tick: { + * culling: false + * } + * } + * } + */ + axis_x_tick_culling: {}, + /** + * The number of tick texts will be adjusted to less than this value. + * @name axis․x․tick․culling․max + * @memberof Options + * @type {number} + * @default 10 + * @example + * axis: { + * x: { + * tick: { + * culling: { + * max: 5 + * } + * } + * } + * } + */ + axis_x_tick_culling_max: 10, + /** + * Control visibility of tick lines within culling option, along with tick text. + * @name axis․x․tick․culling․lines + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * x: { + * tick: { + * culling: { + * lines: false, + * } + * } + * } + * } + */ + axis_x_tick_culling_lines: true, + /** + * The number of x axis ticks to show.<br><br> + * This option hides tick lines together with tick text. If this option is used on timeseries axis, the ticks position will be determined precisely and not nicely positioned (e.g. it will have rough second value). + * @name axis․x․tick․count + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * x: { + * tick: { + * count: 5 + * } + * } + * } + */ + axis_x_tick_count: void 0, + /** + * Show or hide x axis tick line. + * @name axis․x․tick․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * x: { + * tick: { + * show: false + * } + * } + * } + */ + axis_x_tick_show: true, + /** + * Show or hide x axis tick text. + * @name axis․x․tick․text․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * x: { + * tick: { + * text: { + * show: false + * } + * } + * } + * } + */ + axis_x_tick_text_show: true, + /** + * Set the first/last axis tick text to be positioned inside of the chart on non-rotated axis. + * @name axis․x․tick․text․inner + * @memberof Options + * @type {boolean|object} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickInner) + * @example + * axis: { + * x: { + * tick: { + * text: { + * inner: true, + * + * // or specify each position of the first and last tick text + * inner: { + * first: true, + * last: true + * } + * } + * } + * } + * } + */ + axis_x_tick_text_inner: false, + /** + * Set the x Axis tick text's position relatively its original position + * @name axis․x․tick․text․position + * @memberof Options + * @type {object} + * @default {x: 0, y:0} + * @example + * axis: { + * x: { + * tick: { + * text: { + * position: { + * x: 10, + * y: 10 + * } + * } + * } + * } + * } + */ + axis_x_tick_text_position: { x: 0, y: 0 }, + /** + * Fit x axis ticks. + * - **true**: ticks will be shown according to x value of the data points. + * - **false**: ticks will be shown as to have same intervals. + * @name axis․x․tick․fit + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickFitting) + * @see [Demo: for timeseries zoom](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickTimeseries) + * @example + * axis: { + * x: { + * tick: { + * fit: false + * } + * } + * } + */ + axis_x_tick_fit: true, + /** + * Set the x values of ticks manually.<br><br> + * If this option is provided, the position of the ticks will be determined based on those values.<br> + * This option works with `timeseries` data and the x values will be parsed accoding to the type of the value and data.xFormat option. + * @name axis․x․tick․values + * @memberof Options + * @type {Array|Function} + * @default null + * @example + * axis: { + * x: { + * tick: { + * values: [1, 2, 4, 8, 16, 32, ...], + * + * // an Array value should be returned + * values: function() { + * return [ ... ]; + * } + * } + * } + * } + */ + axis_x_tick_values: null, + /** + * Rotate x axis tick text if there is not enough space for 'category' and 'timeseries' type axis. + * - **NOTE:** The conditions where `autorotate` is enabled are: + * - axis.x.type='category' or 'timeseries + * - axis.x.tick.multiline=false + * - axis.x.tick.culling=false + * - axis.x.tick.fit=true + * - **NOTE:** axis.x.tick.clippath=false is necessary for calculating the overflow padding between the end of x axis and the width of the SVG + * @name axis․x․tick․autorotate + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickAutorotate) + * @example + * axis: { + * x: { + * tick: { + * rotate: 15, + * autorotate: true, + * multiline: false, + * culling: false, + * fit: true + * }, + * clipPath: false + * } + * } + */ + axis_x_tick_autorotate: false, + /** + * Rotate x axis tick text. + * - If you set negative value, it will rotate to opposite direction. + * - Applied when [`axis.rotated`](#.axis%25E2%2580%25A4rotated) option is `false`. + * - As long as `axis_x_tick_fit` is set to `true` it will calculate an overflow for the y2 axis and add this value to the right padding. + * @name axis․x․tick․rotate + * @memberof Options + * @type {number} + * @default 0 + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.RotateXAxisTickText) + * @example + * axis: { + * x: { + * tick: { + * rotate: 60 + * } + * } + * } + */ + axis_x_tick_rotate: 0, + /** + * Show x axis outer tick. + * @name axis․x․tick․outer + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * x: { + * tick: { + * outer: false + * } + * } + * } + */ + axis_x_tick_outer: true, + /** + * Set tick text to be multiline + * - **NOTE:** + * > When x tick text contains `\n`, it's used as line break and 'axis.x.tick.width' option is ignored. + * @name axis․x․tick․multiline + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickMultiline) + * @example + * axis: { + * x: { + * tick: { + * multiline: false + * } + * } + * } + * @example + * // example of line break with '\n' + * // In this case, 'axis.x.tick.width' is ignored + * data: { + * x: "x", + * columns: [ + * ["x", "long\ntext", "Another\nLong\nText"], + * ... + * ], + * } + */ + axis_x_tick_multiline: true, + /** + * Set tick width + * - **NOTE:** + * > When x tick text contains `\n`, this option is ignored. + * @name axis․x․tick․width + * @memberof Options + * @type {number} + * @default null + * @example + * axis: { + * x: { + * tick: { + * width: 50 + * } + * } + * } + */ + axis_x_tick_width: null, + /** + * Set to display system tooltip(via `<title>` element) for tick text + * - **NOTE:** Only available for category axis type (`axis.x.type='category'`) + * @name axis․x․tick․tooltip + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * x: { + * tick: { + * tooltip: true + * } + * } + * } + */ + axis_x_tick_tooltip: false, + /** + * Set max value of x axis range. + * @name axis․x․max + * @memberof Options + * @property {number} max Set the max value + * @property {boolean} [max.fit=false] When specified `max.value` is greater than the bound data value, setting `true` will make x axis max to be fitted to the bound data max value. + * - **NOTE:** If the bound data max value is greater than the `max.value`, the x axis max will be limited as the given `max.value`. + * @property {number} [max.value] Set the max value + * @example + * axis: { + * x: { + * max: 100, + * + * max: { + * // 'fit=true' will make x axis max to be limited as the bound data value max when 'max.value' is greater. + * // - when bound data max is '10' and max.value: '100' ==> x axis max will be '10' + * // - when bound data max is '1000' and max.value: '100' ==> x axis max will be '100' + * fit: true, + * value: 100 + * } + * } + * } + */ + axis_x_max: void 0, + /** + * Set min value of x axis range. + * @name axis․x․min + * @memberof Options + * @property {number} min Set the min value + * @property {boolean} [min.fit=false] When specified `min.value` is lower than the bound data value, setting `true` will make x axis min to be fitted to the bound data min value. + * - **NOTE:** If the bound data min value is lower than the `min.value`, the x axis min will be limited as the given `min.value`. + * @property {number} [min.value] Set the min value + * @example + * axis: { + * x: { + * min: -100, + * + * min: { + * // 'fit=true' will make x axis min to be limited as the bound data value min when 'min.value' is lower. + * // - when bound data min is '-10' and min.value: '-100' ==> x axis min will be '-10' + * // - when bound data min is '-1000' and min.value: '-100' ==> x axis min will be '-100' + * fit: true, + * value: -100 + * } + * } + * } + */ + axis_x_min: void 0, + /** + * Change the direction of x axis.<br><br> + * If true set, the direction will be `right -> left`. + * @name axis․x․inverted + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.InvertedAxis) + * @example + * axis: { + * x: { + * inverted: true + * } + * } + */ + axis_x_inverted: false, + /** + * Set padding for x axis.<br><br> + * If this option is set, the range of x axis will increase/decrease according to the values. + * If no padding is needed in the rage of x axis, 0 should be set. + * By default, left/right padding are set depending on x axis type or chart types. + * - **NOTE:** + * - The meaning of padding values, differs according axis types:<br> + * - **category/indexed:** The unit of tick value + * ex. the given value `1`, is same as the width of 1 tick width + * - **timeseries:** Numeric time value + * ex. the given value `1000*60*60*24`, which is numeric time equivalent of a day, is same as the width of 1 tick width + * - If want values to be treated as pixels, specify `unit:"px"`. + * - The pixel value will be convered based on the scale values. Hence can not reflect accurate padding result. + * @name axis․x․padding + * @memberof Options + * @type {object|number} + * @default {} + * @example + * axis: { + * x: { + * padding: { + * // when axis type is 'category' + * left: 1, // set left padding width of equivalent value of a tick's width + * right: 0.5 // set right padding width as half of equivalent value of tick's width + * + * // when axis type is 'timeseries' + * left: 1000*60*60*24, // set left padding width of equivalent value of a day tick's width + * right: 1000*60*60*12 // set right padding width as half of equivalent value of a day tick's width + * }, + * + * // or set both values at once. + * padding: 10, + * + * // or set padding values as pixel unit. + * padding: { + * left: 100, + * right: 50, + * unit: "px" + * }, + * } + * } + */ + axis_x_padding: {}, + /** + * Set height of x axis.<br><br> + * The height of x axis can be set manually by this option. If you need more space for x axis, please use this option for that. The unit is pixel. + * @name axis․x․height + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * x: { + * height: 20 + * } + * } + */ + axis_x_height: void 0, + /** + * Set extent for subchart and zoom(drag only). This can be an array or function that returns an array. + * - **NOTE:** Specifying value, will limit the zoom scope selection within. + * @name axis․x․extent + * @memberof Options + * @type {Array|Function} + * @default undefined + * @example + * axis: { + * x: { + * // extent range as a pixel value + * extent: [0, 200], + * + * // when axis is 'timeseries', parsable datetime string + * extent: ["2019-03-01", "2019-03-05"], + * + * // return extent value + * extent: function(domain, scale) { + * var extent = domain.map(function(v) { + * return scale(v); + * }); + * + * // it should return a format of array + * // ex) [0, 584] + * return extent; + * } + * } + * } + */ + axis_x_extent: void 0, + /** + * Set label on x axis.<br><br> + * You can set x axis label and change its position by this option. + * `string` and `object` can be passed and we can change the poisiton by passing object that has position key.<br> + * Available position differs according to the axis direction (vertical or horizontal). + * If string set, the position will be the default. + * + * - **If it's horizontal axis:** + * - inner-right [default] + * - inner-center + * - inner-left + * - outer-right + * - outer-center + * - outer-left + * - **If it's vertical axis:** + * - inner-top [default] + * - inner-middle + * - inner-bottom + * - outer-top + * - outer-middle + * - outer-bottom + * @name axis․x․label + * @memberof Options + * @type {string|object} + * @default undefined + * @example + * axis: { + * x: { + * label: "Your X Axis" + * } + * } + * + * axis: { + * x: { + * label: { + * text: "Your X Axis", + * position: "outer-center" + * } + * } + * } + */ + axis_x_label: {}, + /** + * Set additional axes for x Axis. + * - **NOTE:** Axis' scale is based on x Axis value if domain option isn't set. + * + * Each axis object should consist with following options: + * + * | Name | Type | Default | Description | + * | --- | --- | --- | --- | + * | domain | Array | - | Set the domain value | + * | tick.outer | boolean | true | Show outer tick | + * | tick.format | Function | - | Set formatter for tick text | + * | tick.count | Number | - | Set the number of y axis ticks | + * | tick.values | Array | - | Set tick values manually | + * @name axis․x․axes + * @memberof Options + * @type {Array} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.MultiAxes) + * @see [Demo: Domain](https://naver.github.io/billboard.js/demo/#Axis.MultiAxesDomain) + * @example + * x: { + * axes: [ + * { + * // if set, will not be correlated with the main x Axis domain value + * domain: [0, 1000], + * tick: { + * outer: false, + * format: function(x) { + * return x + "%"; + * }, + * count: 2, + * values: [10, 20, 30] + * } + * }, + * ... + * ] + * } + */ + axis_x_axes: [] +}); + +;// ./src/config/Options/axis/y.ts +/* harmony default export */ var y = ({ + /** + * Set clip-path attribute for y axis element + * - **NOTE**: `clip-path` attribute for y Axis is set only when `axis.y.inner` option is true. + * @name axis․y․clipPath + * @memberof Options + * @type {boolean} + * @default true + * @example + * // don't set 'clip-path' attribute + * clipPath: false + */ + axis_y_clipPath: true, + /** + * Show or hide y axis. + * @name axis․y․show + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * y: { + * show: false + * } + * } + */ + axis_y_show: true, + /** + * Set type of y axis.<br><br> + * **Available Values:** + * - indexed + * - log + * - timeseries + * + * **NOTE:**<br> + * - **log** type: + * - the bound data values must be exclusively-positive. + * - y axis min value should be >= 0. + * - [`data.groups`](#.data%25E2%2580%25A4groups)(stacked data) option aren't supported. + * + * @name axis․y․type + * @memberof Options + * @type {string} + * @default "indexed" + * @see [Demo: log](https://naver.github.io/billboard.js/demo/#Axis.LogScales) + * @example + * axis: { + * y: { + * type: "log" + * } + * } + */ + axis_y_type: "indexed", + /** + * Set max value of y axis. + * - **NOTE:** Padding will be added based on this value, so if you don't need the padding, please set axis.y.padding to disable it (e.g. axis.y.padding = 0). + * @name axis․y․max + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y: { + * max: 1000 + * } + * } + */ + axis_y_max: void 0, + /** + * Set min value of y axis. + * - **NOTE:** + * Padding will be added based on this value, so if you don't need the padding, please set axis.y.padding to disable it (e.g. axis.y.padding = 0). + * @name axis․y․min + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y: { + * min: 1000 + * } + * } + */ + axis_y_min: void 0, + /** + * Change the direction of y axis.<br><br> + * If true set, the direction will be `top -> bottom`. + * @name axis․y․inverted + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.InvertedAxis) + * @example + * axis: { + * y: { + * inverted: true + * } + * } + */ + axis_y_inverted: false, + /** + * Set center value of y axis. + * @name axis․y․center + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y: { + * center: 0 + * } + * } + */ + axis_y_center: void 0, + /** + * Show y axis inside of the chart. + * @name axis․y․inner + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * y: { + * inner: true + * } + * } + */ + axis_y_inner: false, + /** + * Set label on y axis.<br><br> + * You can set y axis label and change its position by this option. This option works in the same way as [axis.x.label](#.axis%25E2%2580%25A4x%25E2%2580%25A4label). + * @name axis․y․label + * @memberof Options + * @type {string|object} + * @default {} + * @see [axis.x.label](#.axis%25E2%2580%25A4x%25E2%2580%25A4label) for position string value. + * @example + * axis: { + * y: { + * label: "Your Y Axis" + * } + * } + * + * axis: { + * y: { + * label: { + * text: "Your Y Axis", + * position: "outer-middle" + * } + * } + * } + */ + axis_y_label: {}, + /** + * Set formatter for y axis tick text.<br><br> + * This option accepts d3.format object as well as a function you define. + * @name axis․y․tick․format + * @memberof Options + * @type {Function} + * @default undefined + * @example + * axis: { + * y: { + * tick: { + * format: function(x) { + * return x.getFullYear(); + * } + * } + * } + * } + */ + axis_y_tick_format: void 0, + /** + * Setting for culling ticks. + * - `true`: the ticks will be culled, then only limited tick text will be shown.<br> + * This option does not hide the tick lines by default, if want to hide tick lines, set `axis.y.tick.culling.lines=false`. + * - `false`: all of ticks will be shown.<br><br> + * The number of ticks to be shown can be chaned by `axis.y.tick.culling.max`. + * @name axis․y․tick․culling + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * y: { + * tick: { + * culling: false + * } + * } + * } + */ + axis_y_tick_culling: false, + /** + * The number of tick texts will be adjusted to less than this value. + * @name axis․y․tick․culling․max + * @memberof Options + * @type {number} + * @default 5 + * @example + * axis: { + * y: { + * tick: { + * culling: { + * max: 5 + * } + * } + * } + * } + */ + axis_y_tick_culling_max: 5, + /** + * Control visibility of tick lines within culling option, along with tick text. + * @name axis․y․tick․culling․lines + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * y: { + * tick: { + * culling: { + * lines: false, + * } + * } + * } + * } + */ + axis_y_tick_culling_lines: true, + /** + * Show y axis outer tick. + * @name axis․y․tick․outer + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * y: { + * tick: { + * outer: false + * } + * } + * } + */ + axis_y_tick_outer: true, + /** + * Set y axis tick values manually. + * @name axis․y․tick․values + * @memberof Options + * @type {Array|Function} + * @default null + * @example + * axis: { + * y: { + * tick: { + * values: [100, 1000, 10000], + * + * // an Array value should be returned + * values: function() { + * return [ ... ]; + * } + * } + * } + * } + */ + axis_y_tick_values: null, + /** + * Rotate y axis tick text. + * - If you set negative value, it will rotate to opposite direction. + * - Applied when [`axis.rotated`](#.axis%25E2%2580%25A4rotated) option is `true`. + * @name axis․y․tick․rotate + * @memberof Options + * @type {number} + * @default 0 + * @example + * axis: { + * y: { + * tick: { + * rotate: 60 + * } + * } + * } + */ + axis_y_tick_rotate: 0, + /** + * Set the number of y axis ticks.<br><br> + * - **NOTE:** The position of the ticks will be calculated precisely, so the values on the ticks will not be rounded nicely. In the case, axis.y.tick.format or axis.y.tick.values will be helpful. + * @name axis․y․tick․count + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y: { + * tick: { + * count: 5 + * } + * } + * } + */ + axis_y_tick_count: void 0, + /** + * Show or hide y axis tick line. + * @name axis․y․tick․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * y: { + * tick: { + * show: false + * } + * } + * } + */ + axis_y_tick_show: true, + /** + * Set axis tick step(interval) size. + * - **NOTE:** Will be ignored if `axis.y.tick.count` or `axis.y.tick.values` options are set. + * @name axis․y․tick․stepSize + * @memberof Options + * @type {number} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.StepSizeForYAxis) + * @example + * axis: { + * y: { + * tick: { + * // tick value will step as indicated interval value. + * // ex) 'stepSize=15' ==> [0, 15, 30, 45, 60] + * stepSize: 15 + * } + * } + * } + */ + axis_y_tick_stepSize: null, + /** + * Show or hide y axis tick text. + * @name axis․y․tick․text․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * y: { + * tick: { + * text: { + * show: false + * } + * } + * } + * } + */ + axis_y_tick_text_show: true, + /** + * Set the y Axis tick text's position relatively its original position + * @name axis․y․tick․text․position + * @memberof Options + * @type {object} + * @default {x: 0, y:0} + * @example + * axis: { + * y: { + * tick: { + * text: { + * position: { + * x: 10, + * y: 10 + * } + * } + * } + * } + * } + */ + axis_y_tick_text_position: { x: 0, y: 0 }, + /** + * Set the number of y axis ticks.<br><br> + * - **NOTE:** The position of the ticks will be calculated precisely, so the values on the ticks will not be rounded nicely. In the case, axis.y.tick.format or axis.y.tick.values will be helpful. + * @name axis․y․tick․time + * @memberof Options + * @private + * @type {object} + * @property {object} time time object + * @property {Function} [time.value] D3's time interval function (https://github.com/d3/d3-time#intervals) + * @example + * axis: { + * y: { + * tick: { + * time: { + * // ticks at 15-minute intervals + * // https://github.com/d3/d3-scale/blob/master/README.md#time_ticks + * value: d3.timeMinute.every(15) + * } + * } + * } + * } + */ + // @TODO: not fully implemented yet + axis_y_tick_time_value: void 0, + /** + * Set padding for y axis.<br><br> + * You can set padding for y axis to create more space on the edge of the axis. + * This option accepts object and it can include top and bottom. top, bottom will be treated as pixels. + * + * - **NOTE:** + * - Given values are translated relative to the y Axis domain value for padding + * - For area and bar type charts, [area.zerobased](#.area) or [bar.zerobased](#.bar) options should be set to 'false` to get padded bottom. + * @name axis․y․padding + * @memberof Options + * @type {object|number} + * @default {} + * @example + * axis: { + * y: { + * padding: { + * top: 0, + * bottom: 0 + * }, + * + * // or set both values at once. + * padding: 10 + * } + * } + */ + axis_y_padding: {}, + /** + * Set default range of y axis.<br><br> + * This option set the default value for y axis when there is no data on init. + * @name axis․y․default + * @memberof Options + * @type {Array} + * @default undefined + * @example + * axis: { + * y: { + * default: [0, 1000] + * } + * } + */ + axis_y_default: void 0, + /** + * Set additional axes for y Axis. + * - **NOTE:** Axis' scale is based on y Axis value if domain option isn't set. + * + * Each axis object should consist with following options: + * + * | Name | Type | Default | Description | + * | --- | --- | --- | --- | + * | domain | Array | - | Set the domain value | + * | tick.outer | boolean | true | Show outer tick | + * | tick.format | Function | - | Set formatter for tick text | + * | tick.count | Number | - | Set the number of y axis ticks | + * | tick.values | Array | - | Set tick values manually | + * @name axis․y․axes + * @memberof Options + * @type {Array} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.MultiAxes) + * @see [Demo: Domain](https://naver.github.io/billboard.js/demo/#Axis.MultiAxesDomain) + * @example + * y: { + * axes: [ + * { + * // if set, will not be correlated with the main y Axis domain value + * domain: [0, 1000], + * tick: { + * outer: false, + * format: function(x) { + * return x + "%"; + * }, + * count: 2, + * values: [10, 20, 30] + * } + * }, + * ... + * ] + * } + */ + axis_y_axes: [] +}); + +;// ./src/config/Options/axis/y2.ts +/* harmony default export */ var y2 = ({ + /** + * Show or hide y2 axis. + * - **NOTE**: + * - When set to `false` will not generate y2 axis node. In this case, all 'y2' axis related functionality won't work properly. + * - If need to use 'y2' related options while y2 isn't visible, set the value `true` and control visibility by css display property. + * @name axis․y2․show + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * y2: { + * show: true + * } + * } + */ + axis_y2_show: false, + /** + * Set type of y2 axis.<br><br> + * **Available Values:** + * - indexed + * - log + * - timeseries + * + * **NOTE:**<br> + * - **log** type: + * - the bound data values must be exclusively-positive. + * - y2 axis min value should be >= 0. + * - [`data.groups`](#.data%25E2%2580%25A4groups)(stacked data) option aren't supported. + * + * @name axis․y2․type + * @memberof Options + * @type {string} + * @default "indexed" + * @see [Demo: log](https://naver.github.io/billboard.js/demo/#Axis.LogScales) + * @example + * axis: { + * y2: { + * type: "indexed" + * } + * } + */ + axis_y2_type: "indexed", + /** + * Set max value of y2 axis. + * @name axis․y2․max + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y2: { + * max: 1000 + * } + * } + */ + axis_y2_max: void 0, + /** + * Set min value of y2 axis. + * @name axis․y2․min + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y2: { + * min: -1000 + * } + * } + */ + axis_y2_min: void 0, + /** + * Change the direction of y2 axis.<br><br> + * If true set, the direction will be `top -> bottom`. + * @name axis․y2․inverted + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.InvertedAxis) + * @example + * axis: { + * y2: { + * inverted: true + * } + * } + */ + axis_y2_inverted: false, + /** + * Set center value of y2 axis. + * @name axis․y2․center + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y2: { + * center: 0 + * } + * } + */ + axis_y2_center: void 0, + /** + * Show y2 axis inside of the chart. + * @name axis․y2․inner + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * y2: { + * inner: true + * } + * } + */ + axis_y2_inner: false, + /** + * Set label on y2 axis.<br><br> + * You can set y2 axis label and change its position by this option. This option works in the same way as [axis.x.label](#.axis%25E2%2580%25A4x%25E2%2580%25A4label). + * @name axis․y2․label + * @memberof Options + * @type {string|object} + * @default {} + * @see [axis.x.label](#.axis%25E2%2580%25A4x%25E2%2580%25A4label) for position string value. + * @example + * axis: { + * y2: { + * label: "Your Y2 Axis" + * } + * } + * + * axis: { + * y2: { + * label: { + * text: "Your Y2 Axis", + * position: "outer-middle" + * } + * } + * } + */ + axis_y2_label: {}, + /** + * Set formatter for y2 axis tick text.<br><br> + * This option works in the same way as axis.y.format. + * @name axis․y2․tick․format + * @memberof Options + * @type {Function} + * @default undefined + * @example + * axis: { + * y2: { + * tick: { + * format: d3.format("$,") + * //or format: function(d) { return "$" + d; } + * } + * } + * } + */ + axis_y2_tick_format: void 0, + /** + * Setting for culling ticks. + * - `true`: the ticks will be culled, then only limited tick text will be shown.<br> + * This option does not hide the tick lines by default, if want to hide tick lines, set `axis.y2.tick.culling.lines=false`. + * - `false`: all of ticks will be shown.<br><br> + * The number of ticks to be shown can be chaned by `axis.y2.tick.culling.max`. + * @name axis․y2․tick․culling + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * y2: { + * tick: { + * culling: false + * } + * } + * } + */ + axis_y2_tick_culling: false, + /** + * The number of tick texts will be adjusted to less than this value. + * @name axis․y2․tick․culling․max + * @memberof Options + * @type {number} + * @default 5 + * @example + * axis: { + * y2: { + * tick: { + * culling: { + * max: 5 + * } + * } + * } + * } + */ + axis_y2_tick_culling_max: 5, + /** + * Control visibility of tick lines within culling option, along with tick text. + * @name axis․y2․tick․culling․lines + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * y2: { + * tick: { + * culling: { + * lines: false, + * } + * } + * } + * } + */ + axis_y2_tick_culling_lines: true, + /** + * Show or hide y2 axis outer tick. + * @name axis․y2․tick․outer + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * y2: { + * tick: { + * outer: false + * } + * } + * } + */ + axis_y2_tick_outer: true, + /** + * Set y2 axis tick values manually. + * @name axis․y2․tick․values + * @memberof Options + * @type {Array|Function} + * @default null + * @example + * axis: { + * y2: { + * tick: { + * values: [100, 1000, 10000], + * + * // an Array value should be returned + * values: function() { + * return [ ... ]; + * } + * } + * } + * } + */ + axis_y2_tick_values: null, + /** + * Rotate y2 axis tick text. + * - If you set negative value, it will rotate to opposite direction. + * - Applied when [`axis.rotated`](#.axis%25E2%2580%25A4rotated) option is `true`. + * @name axis․y2․tick․rotate + * @memberof Options + * @type {number} + * @default 0 + * @example + * axis: { + * y2: { + * tick: { + * rotate: 60 + * } + * } + * } + */ + axis_y2_tick_rotate: 0, + /** + * Set the number of y2 axis ticks. + * - **NOTE:** This works in the same way as axis.y.tick.count. + * @name axis․y2․tick․count + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y2: { + * tick: { + * count: 5 + * } + * } + * } + */ + axis_y2_tick_count: void 0, + /** + * Show or hide y2 axis tick line. + * @name axis․y2․tick․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * y2: { + * tick: { + * show: false + * } + * } + * } + */ + axis_y2_tick_show: true, + /** + * Set axis tick step(interval) size. + * - **NOTE:** Will be ignored if `axis.y2.tick.count` or `axis.y2.tick.values` options are set. + * @name axis․y2․tick․stepSize + * @memberof Options + * @type {number} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.StepSizeForYAxis) + * @example + * axis: { + * y2: { + * tick: { + * // tick value will step as indicated interval value. + * // ex) 'stepSize=15' ==> [0, 15, 30, 45, 60] + * stepSize: 15 + * } + * } + * } + */ + axis_y2_tick_stepSize: null, + /** + * Show or hide y2 axis tick text. + * @name axis․y2․tick․text․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * y2: { + * tick: { + * text: { + * show: false + * } + * } + * } + * } + */ + axis_y2_tick_text_show: true, + /** + * Set the y2 Axis tick text's position relatively its original position + * @name axis․y2․tick․text․position + * @memberof Options + * @type {object} + * @default {x: 0, y:0} + * @example + * axis: { + * y2: { + * tick: { + * text: { + * position: { + * x: 10, + * y: 10 + * } + * } + * } + * } + * } + */ + axis_y2_tick_text_position: { x: 0, y: 0 }, + /** + * Set padding for y2 axis.<br><br> + * You can set padding for y2 axis to create more space on the edge of the axis. + * This option accepts object and it can include top and bottom. top, bottom will be treated as pixels. + * + * - **NOTE:** + * - Given values are translated relative to the y2 Axis domain value for padding + * - For area and bar type charts, [area.zerobased](#.area) or [bar.zerobased](#.bar) options should be set to 'false` to get padded bottom. + * @name axis․y2․padding + * @memberof Options + * @type {object|number} + * @default {} + * @example + * axis: { + * y2: { + * padding: { + * top: 100, + * bottom: 100 + * } + * + * // or set both values at once. + * padding: 10 + * } + */ + axis_y2_padding: {}, + /** + * Set default range of y2 axis.<br><br> + * This option set the default value for y2 axis when there is no data on init. + * @name axis․y2․default + * @memberof Options + * @type {Array} + * @default undefined + * @example + * axis: { + * y2: { + * default: [0, 1000] + * } + * } + */ + axis_y2_default: void 0, + /** + * Set additional axes for y2 Axis. + * - **NOTE:** Axis' scale is based on y2 Axis value if domain option isn't set. + * + * Each axis object should consist with following options: + * + * | Name | Type | Default | Description | + * | --- | --- | --- | --- | + * | domain | Array | - | Set the domain value | + * | tick.outer | boolean | true | Show outer tick | + * | tick.format | Function | - | Set formatter for tick text | + * | tick.count | Number | - | Set the number of y axis ticks | + * | tick.values | Array | - | Set tick values manually | + * @name axis․y2․axes + * @memberof Options + * @type {Array} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.MultiAxes) + * @see [Demo: Domain](https://naver.github.io/billboard.js/demo/#Axis.MultiAxesDomain) + * @example + * y2: { + * axes: [ + * { + * // if set, will not be correlated with the main y2 Axis domain value + * domain: [0, 1000], + * tick: { + * outer: false, + * format: function(x) { + * return x + "%"; + * }, + * count: 2, + * values: [10, 20, 30] + * } + * }, + * ... + * ] + * } + */ + axis_y2_axes: [] +}); + +;// ./src/config/Options/axis/axis.ts +var axis_defProp = Object.defineProperty; +var axis_getOwnPropSymbols = Object.getOwnPropertySymbols; +var axis_hasOwnProp = Object.prototype.hasOwnProperty; +var axis_propIsEnum = Object.prototype.propertyIsEnumerable; +var axis_defNormalProp = (obj, key, value) => key in obj ? axis_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var axis_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (axis_hasOwnProp.call(b, prop)) + axis_defNormalProp(a, prop, b[prop]); + if (axis_getOwnPropSymbols) + for (var prop of axis_getOwnPropSymbols(b)) { + if (axis_propIsEnum.call(b, prop)) + axis_defNormalProp(a, prop, b[prop]); + } + return a; +}; + + + +/* harmony default export */ var axis_axis = (axis_spreadValues(axis_spreadValues(axis_spreadValues({ + /** + * Setup the way to evaluate tick text size. + * - **NOTE:** + * - Setting `false` or custom evaluator, highly recommended to memoize evaluated text dimension value to not degrade performance. + * @name axis․evalTextSize + * @memberof Options + * @type {boolean|Function} + * @default true + * @example + * axis: { + * // will evaluate getting text size every time. + * evalTextSize: false. + * + * // set a custom evaluator + * evalTextSize: function(textElement) { + * // set some character to be evaluated + * text.textContent = "0"; + * + * // get the size + * const box = text.getBBox(); + * + * // clear text + * text.textContent = ""; + * + * return { w: 7, h: 12}; + * } + * } + */ + axis_evalTextSize: true, + /** + * Switch x and y axis position. + * @name axis․rotated + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * rotated: true + * } + */ + axis_rotated: false, + /** + * Set axis tooltip. + * - **NOTE:** + * - When enabled, will disable default focus grid line. + * - For `timeseries` x Axis, tootlip will be formatted using x Axis' tick format. + * - For `category` x Axis, tootlip will be displaying scales' value text. + * @name axis․tooltip + * @memberof Options + * @type {boolean} + * @default false + * @property {object} axis Axis object + * @property {boolean} [axis.tooltip=false] Show tooltip or not. + * @property {string|object} [axis.tooltip.backgroundColor] Set axis tooltip text background colors. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.AxisTooltip) + * @example + * axis: { + * tooltip: true, // default background color is + * + * // set backgound color for axis tooltip texts + * tooltip: { + * backgroundColor: "red", + * + * // set differenct backround colors per axes + * // NOTE: In this case, only specified axes tooltip will appear. + * backgroundColor: { + * x: "green", + * y: "yellow", + * y2: "red" + * } + * } + * } + */ + axis_tooltip: false +}, axis_x), y), y2)); + +;// ./src/config/Options/common/grid.ts +/* harmony default export */ var common_grid = ({ + /** + * Set related options + * @name grid + * @memberof Options + * @type {object} + * @property {boolean} [front=false] Set 'grid & focus lines' to be positioned over grid lines and chart elements. + * @property {object} x Grid x object + * @property {boolean} [x.show=false] Show grids along x axis. + * @property {Array} [x.lines=[]] Show additional grid lines along x axis.<br> + * This option accepts array including object that has value, text, position and class. text, position and class are optional. For position, start, middle and end (default) are available. + * If x axis is category axis, value can be category name. If x axis is timeseries axis, value can be date string, Date object and unixtime integer. + * @property {object} y Grid y object + * @property {boolean} [y.show=false] Show grids along x axis. + * @property {Array} [y.lines=[]] Show additional grid lines along y axis.<br> + * This option accepts array including object that has value, text, position and class. + * @property {number} [y.ticks=undefined] Number of y grids to be shown. + * @property {object} focus Grid focus object + * @property {boolean} [focus.edge=false] Show edged focus grid line.<br>**NOTE:** Available when [`tooltip.grouped=false`](#.tooltip) option is set. + * @property {boolean} [focus.show=true] Show grid line when focus. + * @property {boolean} [focus.y=false] Show y coordinate focus grid line.<br>**NOTE:** Available when [`tooltip.grouped=false`](#.tooltip) option is set. + * @property {object} lines Grid lines object + * @property {boolean} [lines.front=true] Set grid lines to be positioned over chart elements. + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Grid.GridLines) + * @see [Demo: X Grid Lines](https://naver.github.io/billboard.js/demo/#Grid.OptionalXGridLines) + * @see [Demo: Y Grid Lines](https://naver.github.io/billboard.js/demo/#Grid.OptionalYGridLines) + * @example + * grid: { + * x: { + * show: true, + * lines: [ + * {value: 2, text: "Label on 2"}, + * {value: 5, text: "Label on 5", class: "label-5"}, + * {value: 6, text: "Label on 6", position: "start"} + * ] + * }, + * y: { + * show: true, + * lines: [ + * {value: 100, text: "Label on 100"}, + * {value: 200, text: "Label on 200", class: "label-200"}, + * {value: 300, text: "Label on 300", position: 'middle'} + * ], + * ticks: 5 + * }, + * front: true, + * focus: { + * show: false, + * + * // Below options are available when 'tooltip.grouped=false' option is set + * edge: true, + * y: true + * }, + * lines: { + * front: false + * } + * } + */ + grid_x_show: false, + grid_x_type: "tick", + grid_x_lines: [], + grid_y_show: false, + grid_y_lines: [], + grid_y_ticks: void 0, + grid_focus_edge: false, + grid_focus_show: true, + grid_focus_y: false, + grid_front: false, + grid_lines_front: true +}); + +;// ./src/config/Options/data/axis.ts +/* harmony default export */ var data_axis = ({ + /** + * Specify the keys of the x values for each data.<br><br> + * This option can be used if we want to show the data that has different x values. + * @name data․xs + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * xs: { + * data1: "x1", + * data2: "x2" + * } + * } + */ + data_xs: {}, + /** + * Set a format specifier to parse string specifed as x. + * @name data․xFormat + * @memberof Options + * @type {string} + * @default %Y-%m-%d + * @example + * data: { + * x: "x", + * columns: [ + * ["x", "01012019", "02012019", "03012019"], + * ["data1", 30, 200, 100] + * ], + * // Format specifier to parse as datetime for given 'x' string value + * xFormat: "%m%d%Y" + * }, + * axis: { + * x: { + * type: "timeseries" + * } + * } + * @see [D3's time specifier](https://d3js.org/d3-time-format#locale_format) + */ + data_xFormat: "%Y-%m-%d", + /** + * Set localtime format to parse x axis. + * @name data․xLocaltime + * @memberof Options + * @type {boolean} + * @default true + * @example + * data: { + * xLocaltime: false + * } + */ + data_xLocaltime: true, + /** + * Sort on x axis. + * - **NOTE:** This option works for lineish(area/line/spline/step) types only. + * @name data․xSort + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataXSort) + * @example + * data: { + * xSort: false, + * x: "x", + * columns: [ + * // The line graph will start to be drawn following the x axis sequence + * // Below data, wil start drawing x=1: 200, x=2: 300, x=3: 100 + * ["x", 3, 1, 2], + * ["data1", 100, 200, 300] + * ] + * } + */ + data_xSort: true, + /** + * Set y axis the data related to. y and y2 can be used. + * - **NOTE:** If all data is related to one of the axes, the domain of axis without related data will be replaced by the domain from the axis with related data + * @name data․axes + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * axes: { + * data1: "y", + * data2: "y2" + * } + * } + */ + data_axes: {}, + /** + * Define regions for each data.<br> + * The values must be an array for each data and it should include an object that has `start`, `end` and `style`. + * - The object type should be as: + * - start {number}: Start data point number. If not set, the start will be the first data point. + * - [end] {number}: End data point number. If not set, the end will be the last data point. + * - [style.dasharray="2 2"] {string}: The first number specifies a distance for the filled area, and the second a distance for the unfilled area. + * - **NOTE:** + * - Supports only line type. + * - `start` and `end` values should be in the exact x value range. + * - Dashes will be applied using `stroke-dasharray` css property when data doesn't contain nullish value(or nullish value with `line.connectNull=true` set). + * - Dashes will be applied via path command when data contains nullish value. + * @name data․regions + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * regions: { + * data1: [{ + * start: 1, + * end: 2, + * style: { + * dasharray: "5 2" + * } + * }, { + * start: 3 + * }], + * ... + * } + * } + */ + data_regions: {}, + /** + * Set the stacking to be normalized + * - **NOTE:** + * - For stacking, '[data.groups](#.data%25E2%2580%25A4groups)' option should be set + * - y Axis will be set in percentage value (0 ~ 100%) + * - Must have postive values + * @name data․stack․normalize + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataStackNormalized) + * @example + * data: { + * stack: { + * normalize: true + * } + * } + */ + data_stack_normalize: false +}); + +;// ./src/config/resolver/axis.ts + + + + + + + + + + + + + + + + + +const api = [ + api_axis, + api_category, + flow, + api_grid, + group, + api_regions, + x +]; +const internal = { + axis: Axis, + clip: clip, + eventrect: eventrect, + flow: interactions_flow, + grid: internals_grid, + region: region, + sizeAxis: size_axis +}; +const options = { + optDataAxis: data_axis, + optAxis: axis_axis, + optGrid: common_grid +}; + +// EXTERNAL MODULE: external {"commonjs":"d3-interpolate","commonjs2":"d3-interpolate","amd":"d3-interpolate","root":"d3"} +var external_commonjs_d3_interpolate_commonjs2_d3_interpolate_amd_d3_interpolate_root_d3_ = __webpack_require__(13); +;// ./src/ChartInternal/shape/arc.ts +var arc_defProp = Object.defineProperty; +var arc_defProps = Object.defineProperties; +var arc_getOwnPropDescs = Object.getOwnPropertyDescriptors; +var arc_getOwnPropSymbols = Object.getOwnPropertySymbols; +var arc_hasOwnProp = Object.prototype.hasOwnProperty; +var arc_propIsEnum = Object.prototype.propertyIsEnumerable; +var arc_defNormalProp = (obj, key, value) => key in obj ? arc_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var arc_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (arc_hasOwnProp.call(b, prop)) + arc_defNormalProp(a, prop, b[prop]); + if (arc_getOwnPropSymbols) + for (var prop of arc_getOwnPropSymbols(b)) { + if (arc_propIsEnum.call(b, prop)) + arc_defNormalProp(a, prop, b[prop]); + } + return a; +}; +var arc_spreadProps = (a, b) => arc_defProps(a, arc_getOwnPropDescs(b)); + + + + + + +function getRadiusFn(expandRate = 0) { + const $$ = this; + const { config, state } = $$; + const hasMultiArcGauge = $$.hasMultiArcGauge(); + const singleArcWidth = state.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length; + const expandWidth = expandRate ? Math.min( + state.radiusExpanded * expandRate - state.radius, + singleArcWidth * 0.8 - (1 - expandRate) * 100 + ) : 0; + return { + /** + * Getter of arc innerRadius value + * @param {IArcData} d Data object + * @returns {number} innerRadius value + * @private + */ + inner(d) { + const { innerRadius } = $$.getRadius(d); + return hasMultiArcGauge ? state.radius - singleArcWidth * (d.index + 1) : isNumber(innerRadius) ? innerRadius : 0; + }, + /** + * Getter of arc outerRadius value + * @param {IArcData} d Data object + * @returns {number} outerRadius value + * @private + */ + outer(d) { + const { outerRadius } = $$.getRadius(d); + let radius; + if (hasMultiArcGauge) { + radius = state.radius - singleArcWidth * d.index + expandWidth; + } else if ($$.hasType("polar") && !expandRate) { + radius = $$.getPolarOuterRadius(d, outerRadius); + } else { + radius = outerRadius; + if (expandRate) { + let { radiusExpanded } = state; + if (state.radius !== outerRadius) { + radiusExpanded -= Math.abs(state.radius - outerRadius); + } + radius = radiusExpanded * expandRate; + } + } + return radius; + }, + /** + * Getter of arc cornerRadius value + * @param {IArcData} d Data object + * @param {number} outerRadius outer radius value + * @returns {number} cornerRadius value + * @private + */ + corner(d, outerRadius) { + const { + arc_cornerRadius_ratio: ratio = 0, + arc_cornerRadius: cornerRadius = 0 + } = config; + const { data: { id }, value } = d; + let corner = 0; + if (ratio) { + corner = ratio * outerRadius; + } else { + corner = isNumber(cornerRadius) ? cornerRadius : cornerRadius.call($$.api, id, value, outerRadius); + } + return corner; + } + }; +} +function getAttrTweenFn(fn) { + return function(d) { + const getAngleKeyValue = ({ startAngle = 0, endAngle = 0, padAngle = 0 }) => ({ + startAngle, + endAngle, + padAngle + }); + const interpolate = (0,external_commonjs_d3_interpolate_commonjs2_d3_interpolate_amd_d3_interpolate_root_d3_.interpolate)( + getAngleKeyValue(this._current), + getAngleKeyValue(d) + ); + this._current = d; + return function(t) { + const interpolated = interpolate(t); + const { data, index, value } = d; + return fn(arc_spreadProps(arc_spreadValues({}, interpolated), { data, index, value })); + }; + }; +} +/* harmony default export */ var arc = ({ + initPie() { + const $$ = this; + const { config } = $$; + const dataType = config.data_type; + const padding = config[`${dataType}_padding`]; + const startingAngle = config[`${dataType}_startingAngle`] || 0; + const padAngle = (padding ? padding * 0.01 : config[`${dataType}_padAngle`]) || 0; + $$.pie = (0,external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.pie)().startAngle(startingAngle).endAngle(startingAngle + 2 * Math.PI).padAngle(padAngle).value((d) => { + var _a, _b; + return (_b = (_a = d.values) == null ? void 0 : _a.reduce((a, b) => a + b.value, 0)) != null ? _b : d; + }).sort($$.getSortCompareFn.bind($$)(true)); + }, + updateRadius() { + const $$ = this; + const { config, state } = $$; + const dataType = config.data_type; + const padding = config[`${dataType}_padding`]; + const w = config.gauge_width || config.donut_width; + const gaugeArcWidth = $$.filterTargetsToShow($$.data.targets).length * config.gauge_arcs_minWidth; + state.radiusExpanded = Math.min(state.arcWidth, state.arcHeight) / 2 * ($$.hasMultiArcGauge() && config.gauge_label_show ? 0.85 : 1); + state.radius = state.radiusExpanded * 0.95; + state.innerRadiusRatio = w ? (state.radius - w) / state.radius : 0.6; + state.gaugeArcWidth = w || (gaugeArcWidth <= state.radius - state.innerRadius ? state.radius - state.innerRadius : gaugeArcWidth <= state.radius ? gaugeArcWidth : state.radius); + const innerRadius = config.pie_innerRadius || (padding ? padding * (state.innerRadiusRatio + 0.1) : 0); + state.outerRadius = config.pie_outerRadius; + state.innerRadius = $$.hasType("donut") || $$.hasType("gauge") ? state.radius * state.innerRadiusRatio : innerRadius; + }, + /** + * Get pie's inner & outer radius value + * @param {object|undefined} d Data object + * @returns {object} + * @private + */ + getRadius(d) { + const $$ = this; + const data = d == null ? void 0 : d.data; + let { innerRadius, outerRadius } = $$.state; + if (!isNumber(innerRadius) && data) { + innerRadius = innerRadius[data.id] || 0; + } + if (isObject(outerRadius) && data && data.id in outerRadius) { + outerRadius = outerRadius[data.id]; + } else if (!isNumber(outerRadius)) { + outerRadius = $$.state.radius; + } + return { innerRadius, outerRadius }; + }, + updateArc() { + const $$ = this; + $$.updateRadius(); + $$.svgArc = $$.getSvgArc(); + $$.svgArcExpanded = $$.getSvgArcExpanded(); + }, + getArcLength() { + const $$ = this; + const { config } = $$; + const arcLengthInPercent = config.gauge_arcLength * 3.6; + let len = 2 * (arcLengthInPercent / 360); + if (arcLengthInPercent < -360) { + len = -2; + } else if (arcLengthInPercent > 360) { + len = 2; + } + return len * Math.PI; + }, + getStartingAngle() { + const $$ = this; + const { config } = $$; + const dataType = config.data_type; + const isFullCircle = $$.hasType("gauge") ? config.gauge_fullCircle : false; + const defaultStartAngle = -1 * Math.PI / 2; + const defaultEndAngle = Math.PI / 2; + let startAngle = config[`${dataType}_startingAngle`] || 0; + if (!isFullCircle && startAngle <= defaultStartAngle) { + startAngle = defaultStartAngle; + } else if (!isFullCircle && startAngle >= defaultEndAngle) { + startAngle = defaultEndAngle; + } else if (startAngle > Math.PI || startAngle < -1 * Math.PI) { + startAngle = Math.PI; + } + return startAngle; + }, + /** + * Update angle data + * @param {object} dValue Data object + * @param {boolean} forRange Weather is for ranged text option(arc.rangeText.values) + * @returns {object|null} Updated angle data + * @private + */ + updateAngle(dValue, forRange = false) { + var _a; + const $$ = this; + const { config, state } = $$; + const hasGauge = forRange && $$.hasType("gauge"); + let { pie } = $$; + let d = dValue; + let found = false; + if (!config) { + return null; + } + const gStart = $$.getStartingAngle(); + const radius = config.gauge_fullCircle || forRange && !hasGauge ? $$.getArcLength() : gStart * -2; + if (d.data && $$.isGaugeType(d.data) && !$$.hasMultiArcGauge()) { + const { gauge_min: gMin, gauge_max: gMax } = config; + const totalSum = $$.getTotalDataSum(state.rendered); + const gEnd = radius * ((totalSum - gMin) / (gMax - gMin)); + pie = pie.startAngle(gStart).endAngle(gEnd + gStart); + } + if (forRange === false) { + pie($$.filterTargetsToShow()).forEach((t, i) => { + var _a2; + if (!found && t.data.id === ((_a2 = d.data) == null ? void 0 : _a2.id)) { + found = true; + d = t; + d.index = i; + } + }); + } + if (isNaN(d.startAngle)) { + d.startAngle = 0; + } + if (isNaN(d.endAngle)) { + d.endAngle = d.startAngle; + } + if (forRange || d.data && (config.gauge_enforceMinMax || $$.hasMultiArcGauge())) { + const { gauge_min: gMin, gauge_max: gMax } = config; + const max = forRange && !hasGauge ? $$.getTotalDataSum(state.rendered) : gMax; + const gTic = radius / (max - gMin); + const value = (_a = d.value) != null ? _a : 0; + const gValue = value < gMin ? 0 : value < max ? value - gMin : max - gMin; + d.startAngle = gStart; + d.endAngle = gStart + gTic * gValue; + } + return found || forRange ? d : null; + }, + getSvgArc() { + const $$ = this; + const { inner, outer, corner } = getRadiusFn.call($$); + const arc = (0,external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.arc)().innerRadius(inner).outerRadius(outer); + const newArc = function(d, withoutUpdate) { + var _a; + let path = "M 0 0"; + if (d.value || d.data) { + const data = withoutUpdate ? d : (_a = $$.updateAngle(d)) != null ? _a : null; + if (data) { + path = arc.cornerRadius( + corner(data, outer(data)) + )(data); + } + } + return path; + }; + newArc.centroid = arc.centroid; + return newArc; + }, + /** + * Get expanded arc path function + * @param {number} rate Expand rate + * @returns {Function} Expanded arc path getter function + * @private + */ + getSvgArcExpanded(rate = 1) { + const $$ = this; + const { inner, outer, corner } = getRadiusFn.call($$, rate); + const arc = (0,external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.arc)().innerRadius(inner).outerRadius(outer); + return (d) => { + const updated = $$.updateAngle(d); + const outerR = outer(updated); + let cornerR = 0; + if (updated) { + cornerR = corner(updated, outerR); + } + return updated ? arc.cornerRadius(cornerR)(updated) : "M 0 0"; + }; + }, + getArc(d, withoutUpdate, force) { + return force || this.isArcType(d.data) ? this.svgArc(d, withoutUpdate) : "M 0 0"; + }, + /** + * Render range value text + * @private + */ + redrawArcRangeText() { + const $$ = this; + const { config, $el: { arcs }, state, $T } = $$; + const format = config.arc_rangeText_format; + const fixed = $$.hasType("gauge") && config.arc_rangeText_fixed; + let values = config.arc_rangeText_values; + if (values == null ? void 0 : values.length) { + const isPercent = config.arc_rangeText_unit === "%"; + const totalSum = $$.getTotalDataSum(state.rendered); + if (isPercent) { + values = values.map((v) => totalSum / 100 * v); + } + const pieData = $$.pie(values).map((d, i) => (d.index = i, d)); + let rangeText = arcs.selectAll(`.${$ARC.arcRange}`).data(values); + rangeText.exit(); + rangeText = $T(rangeText.enter().append("text").attr("class", $ARC.arcRange).style("text-anchor", "middle").style("pointer-events", "none").style("opacity", "0").text((v) => { + const range = isPercent ? v / totalSum * 100 : v; + return isFunction(format) ? format(range) : `${range}${isPercent ? "%" : ""}`; + }).merge(rangeText)); + if ((!state.rendered || state.rendered && !fixed) && totalSum > 0) { + rangeText.attr("transform", (d, i) => $$.transformForArcLabel(pieData[i], true)); + } + rangeText.style( + "opacity", + (d) => !fixed && (d > totalSum || totalSum === 0) ? "0" : null + ); + } + }, + /** + * Set transform attributes to arc label text + * @param {object} d Data object + * @param {boolean} forRange Weather is for ranged text option(arc.rangeText.values) + * @returns {string} Translate attribute string + * @private + */ + transformForArcLabel(d, forRange = false) { + var _a, _b, _c; + const $$ = this; + const { config, state: { radiusExpanded } } = $$; + const updated = $$.updateAngle(d, forRange); + let translate = ""; + if (updated) { + if (forRange || $$.hasMultiArcGauge()) { + const y1 = Math.sin(updated.endAngle - Math.PI / 2); + const rangeTextPosition = config.arc_rangeText_position; + let x = Math.cos(updated.endAngle - Math.PI / 2) * (radiusExpanded + (forRange ? 5 : 25)); + let y = y1 * (radiusExpanded + 15 - Math.abs(y1 * 10)) + 3; + if (forRange && rangeTextPosition) { + const rangeValues = config.arc_rangeText_values; + const pos = isFunction(rangeTextPosition) ? rangeTextPosition(rangeValues[d.index]) : rangeTextPosition; + x += (_a = pos == null ? void 0 : pos.x) != null ? _a : 0; + y += (_b = pos == null ? void 0 : pos.y) != null ? _b : 0; + } + translate = `translate(${x},${y})`; + } else if (!$$.hasType("gauge") || $$.data.targets.length > 1) { + let { outerRadius } = $$.getRadius(d); + if ($$.hasType("polar")) { + outerRadius = $$.getPolarOuterRadius(d, outerRadius); + } + const c = this.svgArc.centroid(updated); + const [x, y] = c.map((v) => isNaN(v) ? 0 : v); + const h = Math.sqrt(x * x + y * y); + let ratio = (_c = ["donut", "gauge", "pie", "polar"].filter($$.hasType.bind($$)).map((v) => config[`${v}_label_ratio`])) == null ? void 0 : _c[0]; + if (ratio) { + ratio = isFunction(ratio) ? ratio.bind($$.api)(d, outerRadius, h) : ratio; + } else { + ratio = outerRadius && (h ? (36 / outerRadius > 0.375 ? 1.175 - 36 / outerRadius : 0.8) * outerRadius / h : 0); + } + translate = `translate(${x * ratio},${y * ratio})`; + } + } + return translate; + }, + convertToArcData(d) { + return this.addName({ + id: "data" in d ? d.data.id : d.id, + value: d.value, + ratio: this.getRatio("arc", d), + index: d.index + }); + }, + textForArcLabel(selection) { + const $$ = this; + const hasGauge = $$.hasType("gauge"); + if ($$.shouldShowArcLabel()) { + selection.style("fill", $$.updateTextColor.bind($$)).attr("filter", (d) => $$.updateTextBGColor.bind($$)(d, $$.config.data_labels_backgroundColors)).each(function(d) { + var _a; + const node = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this); + const updated = $$.updateAngle(d); + const ratio = $$.getRatio("arc", updated); + const isUnderThreshold = $$.meetsLabelThreshold( + ratio, + (_a = ["donut", "gauge", "pie", "polar"].filter($$.hasType.bind($$))) == null ? void 0 : _a[0] + ); + if (isUnderThreshold) { + const { value } = updated || d; + const text = ($$.getArcLabelFormat() || $$.defaultArcValueFormat)(value, ratio, d.data.id).toString(); + setTextValue(node, text, [-1, 1], hasGauge); + } else { + node.text(""); + } + }); + } + }, + expandArc(targetIds) { + const $$ = this; + const { state: { transiting }, $el } = $$; + if (transiting) { + const interval = setInterval(() => { + if (!transiting) { + clearInterval(interval); + $el.legend.selectAll(`.${$FOCUS.legendItemFocused}`).size() > 0 && $$.expandArc(targetIds); + } + }, 10); + return; + } + const newTargetIds = $$.mapToTargetIds(targetIds); + $el.svg.selectAll($$.selectorTargets(newTargetIds, `.${$ARC.chartArc}`)).each(function(d) { + if (!$$.shouldExpand(d.data.id)) { + return; + } + const expandDuration = $$.getExpandConfig(d.data.id, "duration"); + const svgArcExpandedSub = $$.getSvgArcExpanded( + $$.getExpandConfig(d.data.id, "rate") + ); + (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this).selectAll("path").transition().duration(expandDuration).attrTween("d", getAttrTweenFn($$.svgArcExpanded.bind($$))).transition().duration(expandDuration * 2).attrTween("d", getAttrTweenFn(svgArcExpandedSub.bind($$))); + }); + }, + unexpandArc(targetIds) { + const $$ = this; + const { state: { transiting }, $el: { svg } } = $$; + if (transiting) { + return; + } + const newTargetIds = $$.mapToTargetIds(targetIds); + svg.selectAll($$.selectorTargets(newTargetIds, `.${$ARC.chartArc}`)).selectAll("path").transition().duration((d) => $$.getExpandConfig(d.data.id, "duration")).attrTween("d", getAttrTweenFn($$.svgArc.bind($$))); + svg.selectAll(`${$ARC.arc}`).style("opacity", null); + }, + /** + * Get expand config value + * @param {string} id data ID + * @param {string} key config key: 'duration | rate' + * @returns {number} + * @private + */ + getExpandConfig(id, key) { + const $$ = this; + const { config } = $$; + const def = { + duration: 50, + rate: 0.98 + }; + let type; + if ($$.isDonutType(id)) { + type = "donut"; + } else if ($$.isGaugeType(id)) { + type = "gauge"; + } else if ($$.isPieType(id)) { + type = "pie"; + } + return type ? config[`${type}_expand_${key}`] : def[key]; + }, + shouldExpand(id) { + const $$ = this; + const { config } = $$; + return $$.isDonutType(id) && config.donut_expand || $$.isGaugeType(id) && config.gauge_expand || $$.isPieType(id) && config.pie_expand; + }, + shouldShowArcLabel() { + const $$ = this; + const { config } = $$; + return ["donut", "gauge", "pie", "polar"].some((v) => $$.hasType(v) && config[`${v}_label_show`]); + }, + getArcLabelFormat() { + const $$ = this; + const { config } = $$; + let format = (v) => v; + ["donut", "gauge", "pie", "polar"].filter($$.hasType.bind($$)).forEach((v) => { + format = config[`${v}_label_format`]; + }); + return isFunction(format) ? format.bind($$.api) : format; + }, + updateTargetsForArc(targets) { + const $$ = this; + const { $el } = $$; + const hasGauge = $$.hasType("gauge"); + const classChartArc = $$.getChartClass("Arc"); + const classArcs = $$.getClass("arcs", true); + const classFocus = $$.classFocus.bind($$); + const chartArcs = $el.main.select(`.${$ARC.chartArcs}`); + const mainPieUpdate = chartArcs.selectAll(`.${$ARC.chartArc}`).data($$.pie(targets)).attr("class", (d) => classChartArc(d) + classFocus(d.data)); + const mainPieEnter = mainPieUpdate.enter().append("g").attr("class", classChartArc).call( + this.setCssRule(false, `.${$ARC.chartArcs} text`, [ + "pointer-events:none", + "text-anchor:middle" + ]) + ); + mainPieEnter.append("g").attr("class", classArcs).merge(mainPieUpdate); + mainPieEnter.append("text").attr("dy", hasGauge && !$$.hasMultiTargets() ? "-.1em" : ".35em").style("opacity", "0").style("text-anchor", $$.getStylePropValue("middle")).style("pointer-events", $$.getStylePropValue("none")); + $el.text = chartArcs.selectAll(`.${$COMMON.target} text`); + }, + initArc() { + const $$ = this; + const { $el } = $$; + $el.arcs = $el.main.select(`.${$COMMON.chart}`).append("g").attr("class", $ARC.chartArcs).attr("transform", $$.getTranslate("arc")); + $$.setArcTitle(); + }, + /** + * Set arc title text + * @param {string} str Title text + * @private + */ + setArcTitle(str) { + const $$ = this; + const title = str || $$.getArcTitle(); + const hasGauge = $$.hasType("gauge"); + if (title) { + const className = hasGauge ? $GAUGE.chartArcsGaugeTitle : $ARC.chartArcsTitle; + let text = $$.$el.arcs.select(`.${className}`); + if (text.empty()) { + text = $$.$el.arcs.append("text").attr("class", className).style("text-anchor", "middle"); + } + hasGauge && text.attr("dy", "-0.3em"); + setTextValue(text, title, hasGauge ? void 0 : [-0.6, 1.35], true); + } + }, + /** + * Return arc title text + * @returns {string} Arc title text + * @private + */ + getArcTitle() { + const $$ = this; + const type = $$.hasType("donut") && "donut" || $$.hasType("gauge") && "gauge"; + return type ? $$.config[`${type}_title`] : ""; + }, + /** + * Get arc title text with needle value + * @returns {string|boolean} When title contains needle template string will return processed string, otherwise false + * @private + */ + getArcTitleWithNeedleValue() { + const $$ = this; + const { config, state } = $$; + const title = $$.getArcTitle(); + if (title && $$.config.arc_needle_show && /{=[A-Z_]+}/.test(title)) { + let value = state.current.needle; + if (!isNumber(value)) { + value = config.arc_needle_value; + } + return tplProcess(title, { + NEEDLE_VALUE: isNumber(value) ? value : 0 + }); + } + return false; + }, + redrawArc(duration, durationForExit, withTransform) { + const $$ = this; + const { config, state, $el: { main } } = $$; + const hasInteraction = config.interaction_enabled; + const isSelectable = hasInteraction && config.data_selection_isselectable; + let mainArc = main.selectAll(`.${$ARC.arcs}`).selectAll(`.${$ARC.arc}`).data($$.arcData.bind($$)); + mainArc.exit().transition().duration(durationForExit).style("opacity", "0").remove(); + mainArc = mainArc.enter().append("path").attr("class", $$.getClass("arc", true)).style("fill", (d) => $$.color(d.data)).style("cursor", (d) => { + var _a; + return ((_a = isSelectable == null ? void 0 : isSelectable.bind) == null ? void 0 : _a.call(isSelectable, $$.api)(d)) ? "pointer" : null; + }).style("opacity", "0").each(function(d) { + if ($$.isGaugeType(d.data)) { + d.startAngle = config.gauge_startingAngle; + d.endAngle = config.gauge_startingAngle; + } + this._current = d; + }).merge(mainArc); + if ($$.hasType("gauge")) { + $$.updateGaugeMax(); + $$.hasMultiArcGauge() && $$.redrawArcGaugeLine(); + } + mainArc.attr("transform", (d) => !$$.isGaugeType(d.data) && withTransform ? "scale(0)" : "").style("opacity", function(d) { + return d === this._current ? "0" : null; + }).each(() => { + state.transiting = true; + }).transition().duration(duration).attrTween("d", function(d) { + const updated = $$.updateAngle(d); + if (!updated) { + return () => "M 0 0"; + } + if (isNaN(this._current.startAngle)) { + this._current.startAngle = 0; + } + if (isNaN(this._current.endAngle)) { + this._current.endAngle = this._current.startAngle; + } + const interpolate = (0,external_commonjs_d3_interpolate_commonjs2_d3_interpolate_amd_d3_interpolate_root_d3_.interpolate)(this._current, updated); + this._current = interpolate(0); + return function(t) { + const interpolated = interpolate(t); + interpolated.data = d.data; + return $$.getArc(interpolated, true); + }; + }).attr("transform", withTransform ? "scale(1)" : "").style("fill", (d) => { + let color; + if ($$.levelColor) { + color = $$.levelColor(d.data.values[0].value); + config.data_colors[d.data.id] = color; + } else { + color = $$.color(d.data); + } + return color; + }).style("opacity", null).call(endall, function() { + if ($$.levelColor) { + const path = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this); + const d = path.datum(this._current); + $$.updateLegendItemColor(d.data.id, path.style("fill")); + } + state.transiting = false; + callFn(config.onrendered, $$.api); + }); + hasInteraction && $$.bindArcEvent(mainArc); + $$.hasType("polar") && $$.redrawPolar(); + $$.hasType("gauge") && $$.redrawBackgroundArcs(); + config.arc_needle_show && $$.redrawNeedle(); + $$.redrawArcText(duration); + $$.redrawArcRangeText(); + }, + /** + * Update needle element + * @private + */ + redrawNeedle() { + const $$ = this; + const { $el, config, state: { hiddenTargetIds, radius } } = $$; + const length = (radius - 1) / 100 * config.arc_needle_length; + const hasDataToShow = hiddenTargetIds.length !== $$.data.targets.length; + let needle = $$.$el.arcs.select(`.${$ARC.needle}`); + const pathFn = config.arc_needle_path; + const baseWidth = config.arc_needle_bottom_width / 2; + const topWidth = config.arc_needle_top_width / 2; + const topRx = config.arc_needle_top_rx; + const topRy = config.arc_needle_top_ry; + const bottomLen = config.arc_needle_bottom_len; + const bottomRx = config.arc_needle_bottom_rx; + const bottomRy = config.arc_needle_bottom_ry; + const needleAngle = $$.getNeedleAngle(); + const updateNeedleValue = () => { + const title = $$.getArcTitleWithNeedleValue(); + title && $$.setArcTitle(title); + }; + updateNeedleValue(); + if (needle.empty()) { + needle = $el.arcs.append("path").classed($ARC.needle, true); + $el.needle = needle; + $el.needle.updateHelper = (v, updateConfig = false) => { + if ($el.needle.style("display") !== "none") { + $$.$T($el.needle).style("transform", `rotate(${$$.getNeedleAngle(v)}deg)`).call(endall, () => { + updateConfig && (config.arc_needle_value = v); + updateNeedleValue(); + }); + } + }; + } + if (hasDataToShow) { + const path = isFunction(pathFn) ? pathFn.call($$, length) : `M-${baseWidth} ${bottomLen} A${bottomRx} ${bottomRy} 0 0 0 ${baseWidth} ${bottomLen} L${topWidth} -${length} A${topRx} ${topRy} 0 0 0 -${topWidth} -${length} L-${baseWidth} ${bottomLen} Z`; + $$.$T(needle).attr("d", path).style("fill", config.arc_needle_color).style("display", null).style("transform", `rotate(${needleAngle}deg)`); + } else { + needle.style("display", "none"); + } + }, + /** + * Get needle angle value relative given value + * @param {number} v Value to be calculated angle + * @returns {number} angle value + * @private + */ + getNeedleAngle(v) { + const $$ = this; + const { config, state } = $$; + const arcLength = $$.getArcLength(); + const hasGauge = $$.hasType("gauge"); + const total = $$.getTotalDataSum(true); + let value = isDefined(v) ? v : config.arc_needle_value; + let startingAngle = config[`${config.data_type}_startingAngle`] || 0; + let radian = 0; + if (!isNumber(value)) { + value = hasGauge && $$.data.targets.length === 1 ? total : 0; + } + state.current.needle = value; + if (hasGauge) { + startingAngle = $$.getStartingAngle(); + const radius = config.gauge_fullCircle ? arcLength : startingAngle * -2; + const { gauge_min: min, gauge_max: max } = config; + radian = radius * ((value - min) / (max - min)); + } else { + radian = arcLength * (value / total); + } + return (startingAngle + radian) * (180 / Math.PI); + }, + redrawBackgroundArcs() { + const $$ = this; + const { config, state } = $$; + const hasMultiArcGauge = $$.hasMultiArcGauge(); + const isFullCircle = config.gauge_fullCircle; + const showEmptyTextLabel = $$.filterTargetsToShow($$.data.targets).length === 0 && !!config.data_empty_label_text; + const startAngle = $$.getStartingAngle(); + const endAngle = isFullCircle ? startAngle + $$.getArcLength() : startAngle * -1; + let backgroundArc = $$.$el.arcs.select( + `${hasMultiArcGauge ? "g" : ""}.${$ARC.chartArcsBackground}` + ); + if (hasMultiArcGauge) { + let index = 0; + backgroundArc = backgroundArc.selectAll(`path.${$ARC.chartArcsBackground}`).data($$.data.targets); + backgroundArc.enter().append("path").attr("class", (d, i) => `${$ARC.chartArcsBackground} ${$ARC.chartArcsBackground}-${i}`).merge(backgroundArc).style("fill", config.gauge_background || null).attr("d", ({ id }) => { + if (showEmptyTextLabel || state.hiddenTargetIds.indexOf(id) >= 0) { + return "M 0 0"; + } + const d = { + data: [{ value: config.gauge_max }], + startAngle, + endAngle, + index: index++ + }; + return $$.getArc(d, true, true); + }); + backgroundArc.exit().remove(); + } else { + backgroundArc.attr("d", showEmptyTextLabel ? "M 0 0" : () => { + const d = { + data: [{ value: config.gauge_max }], + startAngle, + endAngle + }; + return $$.getArc(d, true, true); + }); + } + }, + bindArcEvent(arc) { + const $$ = this; + const { config, state } = $$; + const isTouch = state.inputType === "touch"; + const isMouse = state.inputType === "mouse"; + function selectArc(_this, arcData, id) { + $$.expandArc(id); + $$.api.focus(id); + $$.toggleFocusLegend(id, true); + $$.showTooltip([arcData], _this); + } + function unselectArc(arcData) { + const id = (arcData == null ? void 0 : arcData.id) || void 0; + $$.unexpandArc(id); + $$.api.revert(); + $$.revertLegend(); + $$.hideTooltip(); + } + arc.on("click", function(event, d, i) { + var _a; + const updated = $$.updateAngle(d); + let arcData; + if (updated) { + arcData = $$.convertToArcData(updated); + (_a = $$.toggleShape) == null ? void 0 : _a.call($$, this, arcData, i); + config.data_onclick.bind($$.api)(arcData, this); + } + }); + if (isMouse) { + arc.on("mouseover", function(event, d) { + if (state.transiting) { + return; + } + state.event = event; + const updated = $$.updateAngle(d); + const arcData = updated ? $$.convertToArcData(updated) : null; + const id = (arcData == null ? void 0 : arcData.id) || void 0; + selectArc(this, arcData, id); + $$.setOverOut(true, arcData); + }).on("mouseout", (event, d) => { + if (state.transiting || !config.interaction_onout) { + return; + } + state.event = event; + const updated = $$.updateAngle(d); + const arcData = updated ? $$.convertToArcData(updated) : null; + unselectArc(); + $$.setOverOut(false, arcData); + }).on("mousemove", function(event, d) { + const updated = $$.updateAngle(d); + const arcData = updated ? $$.convertToArcData(updated) : null; + state.event = event; + $$.showTooltip([arcData], this); + }); + } + if (isTouch && $$.hasArcType() && !$$.radars) { + const getEventArc = (event) => { + var _a, _b; + const { clientX, clientY } = (_b = (_a = event.changedTouches) == null ? void 0 : _a[0]) != null ? _b : { clientX: 0, clientY: 0 }; + const eventArc = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(browser_doc.elementFromPoint(clientX, clientY)); + return eventArc; + }; + $$.$el.svg.on("touchstart touchmove", function(event) { + if (state.transiting) { + return; + } + state.event = event; + const eventArc = getEventArc(event); + const datum = eventArc.datum(); + const updated = (datum == null ? void 0 : datum.data) && datum.data.id ? $$.updateAngle(datum) : null; + const arcData = updated ? $$.convertToArcData(updated) : null; + const id = (arcData == null ? void 0 : arcData.id) || void 0; + $$.callOverOutForTouch(arcData); + isUndefined(id) ? unselectArc() : selectArc(this, arcData, id); + }); + } + }, + redrawArcText(duration) { + const $$ = this; + const { config, state, $el: { main, arcs } } = $$; + const hasGauge = $$.hasType("gauge"); + const hasMultiArcGauge = $$.hasMultiArcGauge(); + let text; + if (!(hasGauge && $$.data.targets.length === 1 && config.gauge_title)) { + text = main.selectAll(`.${$ARC.chartArc}`).select("text").style("opacity", "0").attr("class", (d) => $$.isGaugeType(d.data) ? $GAUGE.gaugeValue : null).call($$.textForArcLabel.bind($$)).attr("transform", (d) => $$.transformForArcLabel.bind($$)(d)).style("font-size", (d) => $$.isGaugeType(d.data) && $$.data.targets.length === 1 && !hasMultiArcGauge ? `${Math.round(state.radius / 5)}px` : null).transition().duration(duration).style( + "opacity", + (d) => $$.isTargetToShow(d.data.id) && $$.isArcType(d.data) ? null : "0" + ); + hasMultiArcGauge && text.attr("dy", "-.1em"); + } + main.select(`.${$ARC.chartArcsTitle}`).style("opacity", $$.hasType("donut") || hasGauge ? null : "0"); + if (hasGauge) { + const isFullCircle = config.gauge_fullCircle; + isFullCircle && (text == null ? void 0 : text.attr("dy", `${hasMultiArcGauge ? 0 : Math.round(state.radius / 14)}`)); + if (config.gauge_label_show) { + arcs.select(`.${$GAUGE.chartArcsGaugeUnit}`).attr("dy", `${isFullCircle ? 1.5 : 0.75}em`).text(config.gauge_units); + arcs.select(`.${$GAUGE.chartArcsGaugeMin}`).attr("dx", `${-1 * (state.innerRadius + (state.radius - state.innerRadius) / (isFullCircle ? 1 : 2))}px`).attr("dy", "1.2em").text($$.textForGaugeMinMax(config.gauge_min, false)); + !isFullCircle && arcs.select(`.${$GAUGE.chartArcsGaugeMax}`).attr("dx", `${state.innerRadius + (state.radius - state.innerRadius) / 2}px`).attr("dy", "1.2em").text($$.textForGaugeMinMax(config.gauge_max, true)); + } + } + }, + /** + * Get Arc element by id or index + * @param {string|number} value id or index of Arc + * @returns {d3Selection} Arc path element + * @private + */ + getArcElementByIdOrIndex(value) { + const $$ = this; + const { $el: { arcs } } = $$; + const filterFn = isNumber(value) ? (d) => d.index === value : (d) => d.data.id === value; + return arcs == null ? void 0 : arcs.selectAll(`.${$COMMON.target} path`).filter(filterFn); + } +}); + +;// ./src/ChartInternal/shape/area.ts + + + + +/* harmony default export */ var shape_area = ({ + initArea(mainLine) { + const $$ = this; + const { config } = $$; + mainLine.insert("g", `.${config.area_front ? $CIRCLE.circles : $LINE.lines}`).attr("class", $$.getClass("areas", true)); + }, + /** + * Update area color + * @param {object} d Data object + * @returns {string} Color string + * @private + */ + updateAreaColor(d) { + const $$ = this; + return $$.config.area_linearGradient ? $$.getGradienColortUrl(d.id) : $$.color(d); + }, + /** + * Generate/Update elements + * @param {boolean} withTransition Transition for exit elements + * @param {boolean} isSub Subchart draw + * @private + */ + updateArea(withTransition, isSub = false) { + const $$ = this; + const { config, state, $el, $T } = $$; + const $root = isSub ? $el.subchart : $el; + config.area_linearGradient && $$.updateLinearGradient(); + const area = $root.main.selectAll(`.${$AREA.areas}`).selectAll(`.${$AREA.area}`).data($$.lineData.bind($$)); + $T(area.exit(), withTransition).style("opacity", "0").remove(); + $root.area = area.enter().append("path").attr("class", $$.getClass("area", true)).style("fill", $$.updateAreaColor.bind($$)).style("opacity", function() { + state.orgAreaOpacity = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this).style("opacity"); + return "0"; + }).merge(area); + area.style("opacity", state.orgAreaOpacity); + $$.setRatioForGroupedData($root.area.data()); + }, + /** + * Redraw function + * @param {Function} drawFn Retuned functino from .generateDrawCandlestick() + * @param {boolean} withTransition With or without transition + * @param {boolean} isSub Subchart draw + * @returns {Array} + */ + redrawArea(drawFn, withTransition, isSub = false) { + const $$ = this; + const { area } = isSub ? this.$el.subchart : this.$el; + const { orgAreaOpacity } = $$.state; + return [ + $$.$T(area, withTransition, getRandom()).attr("d", drawFn).style("fill", $$.updateAreaColor.bind($$)).style( + "opacity", + (d) => String($$.isAreaRangeType(d) ? orgAreaOpacity / 1.75 : orgAreaOpacity) + ) + ]; + }, + /** + * Generate area path data + * @param {object} areaIndices Indices + * @param {boolean} isSub Weather is sub axis + * @returns {Function} + * @private + */ + generateDrawArea(areaIndices, isSub) { + const $$ = this; + const { config } = $$; + const lineConnectNull = config.line_connectNull; + const isRotated = config.axis_rotated; + const getPoints = $$.generateGetAreaPoints(areaIndices, isSub); + const yScale = $$.getYScaleById.bind($$); + const xValue = (d) => (isSub ? $$.subxx : $$.xx).call($$, d); + const value0 = (d, i) => $$.isGrouped(d.id) ? getPoints(d, i)[0][1] : yScale(d.id, isSub)( + $$.isAreaRangeType(d) ? $$.getRangedData(d, "high") : $$.getShapeYMin(d.id) + ); + const value1 = (d, i) => $$.isGrouped(d.id) ? getPoints(d, i)[1][1] : yScale(d.id, isSub)( + $$.isAreaRangeType(d) ? $$.getRangedData(d, "low") : d.value + ); + return (d) => { + let values = lineConnectNull ? $$.filterRemoveNull(d.values) : d.values; + let x0 = 0; + let y0 = 0; + let path; + if ($$.isAreaType(d)) { + let area = (0,external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.area)(); + area = isRotated ? area.y(xValue).x0(value0).x1(value1) : area.x(xValue).y0(config.area_above ? 0 : config.area_below ? $$.state.height : value0).y1(value1); + if (!lineConnectNull) { + area = area.defined((d2) => $$.getBaseValue(d2) !== null); + } + if ($$.isStepType(d)) { + values = $$.convertValuesToStep(values); + } + path = area.curve($$.getCurve(d))(values); + } else { + if (values[0]) { + x0 = $$.scale.x(values[0].x); + y0 = $$.getYScaleById(d.id)(values[0].value); + } + path = isRotated ? `M ${y0} ${x0}` : `M ${x0} ${y0}`; + } + return path || "M 0 0"; + }; + }, + generateGetAreaPoints(areaIndices, isSub) { + const $$ = this; + const { config } = $$; + const x = $$.getShapeX(0, areaIndices, isSub); + const y = $$.getShapeY(!!isSub); + const areaOffset = $$.getShapeOffset($$.isAreaType, areaIndices, isSub); + const yScale = $$.getYScaleById.bind($$); + return function(d, i) { + const y0 = yScale.call($$, d.id, isSub)($$.getShapeYMin(d.id)); + const offset = areaOffset(d, i) || y0; + const posX = x(d); + const value = d.value; + let posY = y(d); + if (config.axis_rotated && (value > 0 && posY < y0 || value < 0 && y0 < posY)) { + posY = y0; + } + return [ + [posX, offset], + [posX, posY - (y0 - offset)], + [posX, posY - (y0 - offset)], + // needed for compatibility + [posX, offset] + // needed for compatibility + ]; + }; + } +}); + +;// ./src/ChartInternal/shape/bar.ts + + +/* harmony default export */ var bar = ({ + initBar() { + const { $el, config, state: { clip } } = this; + $el.bar = $el.main.select(`.${$COMMON.chart}`); + $el.bar = config.bar_front ? $el.bar.append("g") : $el.bar.insert("g", ":first-child"); + $el.bar.attr("class", $BAR.chartBars).call(this.setCssRule(false, `.${$BAR.chartBars}`, ["pointer-events:none"])); + if (config.clipPath === false && (config.bar_radius || config.bar_radius_ratio)) { + $el.bar.attr("clip-path", clip.pathXAxis.replace(/#[^)]*/, `#${clip.id}`)); + } + }, + updateTargetsForBar(targets) { + const $$ = this; + const { config, $el } = $$; + const classChartBar = $$.getChartClass("Bar"); + const classBars = $$.getClass("bars", true); + const classFocus = $$.classFocus.bind($$); + const isSelectable = config.interaction_enabled && config.data_selection_isselectable; + if (!$el.bar) { + $$.initBar(); + } + const mainBarUpdate = $el.main.select(`.${$BAR.chartBars}`).selectAll(`.${$BAR.chartBar}`).data( + // remove + targets.filter( + (v) => v.values.some((d) => isNumber(d.value) || $$.isBarRangeType(d)) + ) + ).attr("class", (d) => classChartBar(d) + classFocus(d)); + const mainBarEnter = mainBarUpdate.enter().append("g").attr("class", classChartBar).style("opacity", "0").style("pointer-events", $$.getStylePropValue("none")); + mainBarEnter.append("g").attr("class", classBars).style("cursor", (d) => { + var _a; + return ((_a = isSelectable == null ? void 0 : isSelectable.bind) == null ? void 0 : _a.call(isSelectable, $$.api)(d)) ? "pointer" : null; + }).call($$.setCssRule(true, ` .${$BAR.bar}`, ["fill"], $$.color)); + }, + /** + * Generate/Update elements + * @param {boolean} withTransition Transition for exit elements + * @param {boolean} isSub Subchart draw + * @private + */ + updateBar(withTransition, isSub = false) { + const $$ = this; + const { config, $el, $T } = $$; + const $root = isSub ? $el.subchart : $el; + const classBar = $$.getClass("bar", true); + const initialOpacity = $$.initialOpacity.bind($$); + config.bar_linearGradient && $$.updateLinearGradient(); + const bar = $root.main.selectAll(`.${$BAR.bars}`).selectAll(`.${$BAR.bar}`).data($$.labelishData.bind($$)); + $T(bar.exit(), withTransition).style("opacity", "0").remove(); + $root.bar = bar.enter().append("path").attr("class", classBar).style("fill", $$.updateBarColor.bind($$)).merge(bar).style("opacity", initialOpacity); + $$.setRatioForGroupedData($root.bar.data()); + }, + /** + * Update bar color + * @param {object} d Data object + * @returns {string} Color string + * @private + */ + updateBarColor(d) { + const $$ = this; + const fn = $$.getStylePropValue($$.color); + return $$.config.bar_linearGradient ? $$.getGradienColortUrl(d.id) : fn ? fn(d) : null; + }, + /** + * Redraw function + * @param {Function} drawFn Retuned function from .getDrawShape() => .generateDrawBar() + * @param {boolean} withTransition With or without transition + * @param {boolean} isSub Subchart draw + * @returns {Array} + * @private + */ + redrawBar(drawFn, withTransition, isSub = false) { + const $$ = this; + const { bar } = isSub ? $$.$el.subchart : $$.$el; + return [ + $$.$T(bar, withTransition, getRandom()).attr("d", (d) => (isNumber(d.value) || $$.isBarRangeType(d)) && drawFn(d)).style("fill", $$.updateBarColor.bind($$)).style("clip-path", (d) => d.clipPath).style("opacity", null) + ]; + }, + /** + * Generate draw function + * @param {object} barIndices data order within x axis. + * barIndices ==> {data1: 0, data2: 0, data3: 1, data4: 1, __max__: 1} + * + * When gropus given as: + * groups: [ + * ["data1", "data2"], + * ["data3", "data4"] + * ], + * + * Will be rendered as: + * data1 data3 data1 data3 + * data2 data4 data2 data4 + * ------------------------- + * 0 1 + * @param {boolean} isSub If is for subchart + * @returns {Function} + * @private + */ + generateDrawBar(barIndices, isSub) { + const $$ = this; + const { config } = $$; + const getPoints = $$.generateGetBarPoints(barIndices, isSub); + const isRotated = config.axis_rotated; + const barRadius = config.bar_radius; + const barRadiusRatio = config.bar_radius_ratio; + const getRadius = isNumber(barRadius) && barRadius > 0 ? () => barRadius : isNumber(barRadiusRatio) ? (w) => w * barRadiusRatio : null; + return (d, i) => { + const points = getPoints(d, i); + const indexX = +isRotated; + const indexY = +!indexX; + const isUnderZero = d.value < 0; + const isInverted = config[`axis_${$$.axis.getId(d.id)}_inverted`]; + const isNegative = !isInverted && isUnderZero || isInverted && !isUnderZero; + const pathRadius = ["", ""]; + const isGrouped = $$.isGrouped(d.id); + const isRadiusData = getRadius && isGrouped ? $$.isStackingRadiusData(d) : false; + const init = [ + points[0][indexX], + points[0][indexY] + ]; + let radius = 0; + d.clipPath = null; + if (getRadius) { + const index = isRotated ? indexY : indexX; + const barW = points[2][index] - points[0][index]; + radius = !isGrouped || isRadiusData ? getRadius(barW) : 0; + const arc = `a${radius} ${radius} ${isNegative ? `1 0 0` : `0 0 1`} `; + pathRadius[+!isRotated] = `${arc}${radius},${radius}`; + pathRadius[+isRotated] = `${arc}${[-radius, radius][isRotated ? "sort" : "reverse"]()}`; + isNegative && pathRadius.reverse(); + } + const pos = isRotated ? points[1][indexX] + (isNegative ? radius : -radius) : points[1][indexY] + (isNegative ? -radius : radius); + if (radius) { + let clipPath = ""; + if (isRotated) { + if (isNegative && init[0] < pos) { + clipPath = `0 ${pos - init[0]}px 0 0`; + } else if (!isNegative && init[0] > pos) { + clipPath = `0 0 0 ${init[0] - pos}px`; + } + } else { + if (isNegative && init[1] > pos) { + clipPath = `${init[1] - pos}px 0 0 0`; + } else if (!isNegative && init[1] < pos) { + clipPath = `0 0 ${pos - init[1]}px 0`; + } + } + if (clipPath) { + d.clipPath = `inset(${clipPath})`; + } + } + const path = isRotated ? `H${pos} ${pathRadius[0]}V${points[2][indexY] - radius} ${pathRadius[1]}H${points[3][indexX]}` : `V${pos} ${pathRadius[0]}H${points[2][indexX] - radius} ${pathRadius[1]}V${points[3][indexY]}`; + return `M${points[0][indexX]},${points[0][indexY]}${path}z`; + }; + }, + /** + * Determine if given stacking bar data is radius type + * @param {object} d Data row + * @returns {boolean} + */ + isStackingRadiusData(d) { + const $$ = this; + const { $el, config, data, state } = $$; + const { id, index, value } = d; + if (state.hiddenTargetIds.indexOf(id) > -1) { + const target = $el.bar.filter((d2) => d2.id === id && d2.value === value); + return !target.empty() && /a\d+/i.test(target.attr("d")); + } + const keys = config.data_groups.find((v) => v.indexOf(id) > -1); + const sortedList = $$.orderTargets( + $$.filterTargetsToShow(data.targets.filter($$.isBarType, $$)) + ).filter((v) => keys.indexOf(v.id) > -1); + const sortedIds = sortedList.map( + (v) => v.values.filter( + (v2) => v2.index === index && (isNumber(value) && value > 0 ? v2.value > 0 : v2.value < 0) + )[0] + ).filter(Boolean).map((v) => v.id); + return value !== 0 && sortedIds.indexOf(id) === sortedIds.length - 1; + }, + /** + * Generate bar coordinate points data + * @param {object} barIndices Data order within x axis. + * @param {boolean} isSub If is for subchart + * @returns {Array} Array of coordinate points + * @private + */ + generateGetBarPoints(barIndices, isSub) { + const $$ = this; + const { config } = $$; + const axis = isSub ? $$.axis.subX : $$.axis.x; + const barTargetsNum = $$.getIndicesMax(barIndices) + 1; + const barW = $$.getBarW("bar", axis, barTargetsNum); + const barX = $$.getShapeX(barW, barIndices, !!isSub); + const barY = $$.getShapeY(!!isSub); + const barOffset = $$.getShapeOffset($$.isBarType, barIndices, !!isSub); + const yScale = $$.getYScaleById.bind($$); + return (d, i) => { + const { id } = d; + const y0 = yScale.call($$, id, isSub)($$.getShapeYMin(id)); + const offset = barOffset(d, i) || y0; + const width = isNumber(barW) ? barW : barW[d.id] || barW._$width; + const isInverted = config[`axis_${$$.axis.getId(id)}_inverted`]; + const value = d.value; + const posX = barX(d); + let posY = barY(d); + if (config.axis_rotated && !isInverted && (value > 0 && posY < y0 || value < 0 && y0 < posY)) { + posY = y0; + } + if (!$$.isBarRangeType(d)) { + posY -= y0 - offset; + } + const startPosX = posX + width; + return [ + [posX, offset], + [posX, posY], + [startPosX, posY], + [startPosX, offset] + ]; + }; + } +}); + +;// ./src/ChartInternal/shape/bubble.ts + + +/* harmony default export */ var bubble = ({ + /** + * Initializer + * @private + */ + initBubble() { + const $$ = this; + const { config } = $$; + if ($$.hasType("bubble")) { + config.point_show = true; + config.point_type = "circle"; + } + }, + /** + * Get user agent's computed value + * @returns {number} + * @private + */ + getBaseLength() { + const $$ = this; + const { width, height } = $$.state; + const cacheKey = KEY.bubbleBaseLength; + let baseLength = $$.cache.get(cacheKey); + if (!baseLength) { + $$.cache.add(cacheKey, baseLength = getMinMax("min", [width, height])); + } + return baseLength; + }, + /** + * Get the radius value for bubble circle + * @param {object} d Data object + * @returns {number} + * @private + */ + getBubbleR(d) { + const $$ = this; + let maxR = $$.config.bubble_maxR; + if (isFunction(maxR)) { + maxR = maxR.bind($$.api)(d); + } else if (!isNumber(maxR)) { + maxR = $$.getBaseLength() / ($$.getMaxDataCount() * 2) + 12; + } + const max = getMinMax("max", $$.getMinMaxData().max.map((d2) => $$.isBubbleZType(d2) ? $$.getBubbleZData(d2.value, "y") : isObject(d2.value) ? d2.value.mid : d2.value)); + const maxArea = maxR * maxR * Math.PI; + const area = ($$.isBubbleZType(d) ? $$.getBubbleZData(d.value, "z") : d.value) * (maxArea / max); + return Math.sqrt(area / Math.PI); + }, + /** + * Get bubble dimension data + * @param {object|Array} d data value + * @param {string} type - y or z + * @returns {number} + * @private + */ + getBubbleZData(d, type) { + return isObject(d) ? d[type] : d[type === "y" ? 0 : 1]; + } +}); + +;// ./src/ChartInternal/shape/candlestick.ts +var candlestick_defProp = Object.defineProperty; +var candlestick_getOwnPropSymbols = Object.getOwnPropertySymbols; +var candlestick_hasOwnProp = Object.prototype.hasOwnProperty; +var candlestick_propIsEnum = Object.prototype.propertyIsEnumerable; +var candlestick_defNormalProp = (obj, key, value) => key in obj ? candlestick_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var candlestick_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (candlestick_hasOwnProp.call(b, prop)) + candlestick_defNormalProp(a, prop, b[prop]); + if (candlestick_getOwnPropSymbols) + for (var prop of candlestick_getOwnPropSymbols(b)) { + if (candlestick_propIsEnum.call(b, prop)) + candlestick_defNormalProp(a, prop, b[prop]); + } + return a; +}; + + + +/* harmony default export */ var candlestick = ({ + initCandlestick() { + const { $el } = this; + $el.candlestick = $el.main.select(`.${$COMMON.chart}`).append("g").attr("class", $CANDLESTICK.chartCandlesticks); + }, + /** + * Update targets by its data + * called from: ChartInternal.updateTargets() + * @param {Array} targets Filtered target by type + * @private + */ + updateTargetsForCandlestick(targets) { + const $$ = this; + const { $el } = $$; + const classChart = $$.getChartClass("Candlestick"); + if (!$el.candlestick) { + $$.initCandlestick(); + } + const mainUpdate = $$.$el.main.select(`.${$CANDLESTICK.chartCandlesticks}`).selectAll(`.${$CANDLESTICK.chartCandlestick}`).data(targets); + mainUpdate.enter().append("g").attr("class", classChart).style("pointer-events", "none"); + }, + /** + * Generate/Update elements + * @param {boolean} withTransition Transition for exit elements + * @param {boolean} isSub Subchart draw + * @private + */ + updateCandlestick(withTransition, isSub = false) { + const $$ = this; + const { $el, $T } = $$; + const $root = isSub ? $el.subchart : $el; + const classSetter = $$.getClass("candlestick", true); + const initialOpacity = $$.initialOpacity.bind($$); + const candlestick = $root.main.selectAll(`.${$CANDLESTICK.chartCandlestick}`).selectAll(`.${$CANDLESTICK.candlestick}`).data($$.labelishData.bind($$)); + $T(candlestick.exit(), withTransition).style("opacity", "0").remove(); + const candlestickEnter = candlestick.enter().filter((d) => d.value).append("g").attr("class", classSetter); + candlestickEnter.append("line"); + candlestickEnter.append("path"); + $root.candlestick = candlestick.merge(candlestickEnter).style("opacity", initialOpacity); + }, + /** + * Get draw function + * @param {object} indices Indice data + * @param {boolean} isSub Subchart draw + * @returns {Function} + * @private + */ + generateDrawCandlestick(indices, isSub) { + const $$ = this; + const { config } = $$; + const getPoints = $$.generateGetCandlestickPoints(indices, isSub); + const isRotated = config.axis_rotated; + const downColor = config.candlestick_color_down; + return (d, i, g) => { + const points = getPoints(d, i); + const value = $$.getCandlestickData(d); + const isUp = value == null ? void 0 : value._isUp; + const indexX = +isRotated; + const indexY = +!indexX; + if (g.classed) { + g.classed($CANDLESTICK[isUp ? "valueUp" : "valueDown"], true); + } + const path = isRotated ? `H${points[1][1]} V${points[1][0]} H${points[0][1]}` : `V${points[1][1]} H${points[1][0]} V${points[0][1]}`; + g.select("path").attr("d", `M${points[0][indexX]},${points[0][indexY]}${path}z`).style("fill", (d2) => { + const color = isUp ? $$.color(d2) : isObject(downColor) ? downColor[d2.id] : downColor; + return color || $$.color(d2); + }); + const line = g.select("line"); + const pos = isRotated ? { + x1: points[2][1], + x2: points[2][2], + y1: points[2][0], + y2: points[2][0] + } : { + x1: points[2][0], + x2: points[2][0], + y1: points[2][1], + y2: points[2][2] + }; + for (const x in pos) { + line.attr(x, pos[x]); + } + }; + }, + /** + * Generate shape drawing points + * @param {object} indices Indice data + * @param {boolean} isSub Subchart draw + * @returns {Function} + */ + generateGetCandlestickPoints(indices, isSub = false) { + const $$ = this; + const axis = isSub ? $$.axis.subX : $$.axis.x; + const targetsNum = $$.getIndicesMax(indices) + 1; + const barW = $$.getBarW("candlestick", axis, targetsNum); + const x = $$.getShapeX(barW, indices, !!isSub); + const y = $$.getShapeY(!!isSub); + const shapeOffset = $$.getShapeOffset($$.isBarType, indices, !!isSub); + const yScale = $$.getYScaleById.bind($$); + return (d, i) => { + const y0 = yScale.call($$, d.id, isSub)($$.getShapeYMin(d.id)); + const offset = shapeOffset(d, i) || y0; + const width = isNumber(barW) ? barW : barW[d.id] || barW._$width; + const value = $$.getCandlestickData(d); + let points; + if (value && isNumber(value.open) && isNumber(value.close)) { + const posX = { + start: x(d), + end: 0 + }; + posX.end = posX.start + width; + const posY = { + start: y(value.open), + end: y(value.close) + }; + const posLine = { + x: posX.start + width / 2, + high: y(value.high), + low: y(value.low) + }; + posY.start -= y0 - offset; + points = [ + [posX.start, posY.start], + [posX.end, posY.end], + [posLine.x, posLine.low, posLine.high] + ]; + } else { + points = [[0, 0], [0, 0], [0, 0, 0]]; + } + return points; + }; + }, + /** + * Redraw function + * @param {Function} drawFn Retuned functino from .generateDrawCandlestick() + * @param {boolean} withTransition With or without transition + * @param {boolean} isSub Subchart draw + * @returns {Array} + */ + redrawCandlestick(drawFn, withTransition, isSub = false) { + const $$ = this; + const { $el, $T } = $$; + const { candlestick } = isSub ? $el.subchart : $el; + const rand = getRandom(true); + return [ + candlestick.each(function(d, i) { + const g = $T((0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this), withTransition, rand); + drawFn(d, i, g); + }).style("opacity", null) + ]; + }, + /** + * Get candlestick data as object + * @param {object} param Data object + * @param {Array|object} param.value Data value + * @returns {object|null} Converted data object + * @private + */ + getCandlestickData({ value }) { + let d; + if (isArray(value)) { + const [open, high, low, close, volume = false] = value; + d = { open, high, low, close }; + if (volume !== false) { + d.volume = volume; + } + } else if (isObject(value)) { + d = candlestick_spreadValues({}, value); + } + if (d) { + d._isUp = d.close >= d.open; + } + return d || null; + } +}); + +;// ./src/ChartInternal/shape/funnel.ts +var funnel_defProp = Object.defineProperty; +var funnel_getOwnPropSymbols = Object.getOwnPropertySymbols; +var funnel_hasOwnProp = Object.prototype.hasOwnProperty; +var funnel_propIsEnum = Object.prototype.propertyIsEnumerable; +var funnel_defNormalProp = (obj, key, value) => key in obj ? funnel_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var funnel_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (funnel_hasOwnProp.call(b, prop)) + funnel_defNormalProp(a, prop, b[prop]); + if (funnel_getOwnPropSymbols) + for (var prop of funnel_getOwnPropSymbols(b)) { + if (funnel_propIsEnum.call(b, prop)) + funnel_defNormalProp(a, prop, b[prop]); + } + return a; +}; + + + +function getSize(checkNeck = false) { + const $$ = this; + const { config, state: { current: { width, height } } } = $$; + const padding = $$.getCurrentPadding(); + const size = funnel_spreadValues({ + width: width - (padding.left + padding.right), + height: height - (config.legend_show ? $$.getLegendHeight() + 10 : 0) - (padding.top + padding.bottom) + }, padding); + if (checkNeck) { + const { width: neckWidth, height: neckHeight } = getNecklSize.call($$, { + width: size.width, + height: size.height + }); + if (size.width < neckWidth) { + size.width = neckWidth; + } + if (size.height < neckHeight) { + size.height = neckHeight; + } + } + return size; +} +function getNecklSize(current) { + const $$ = this; + const { config } = $$; + let width = config.funnel_neck_width; + let height = config.funnel_neck_height; + [width, height] = [width, height].map((v, i) => { + let size = v; + if (isObject(v)) { + size = current[i ? "height" : "width"] * v.ratio; + } + return size; + }); + return { + width, + height + }; +} +function getCoord(d) { + const $$ = this; + const { top, left, width } = getSize.call($$, true); + const coords = []; + d.forEach((d2, i) => { + const { ratio } = d2; + const y = i > 0 ? coords[i - 1][2][1] : top; + coords.push(d2.coords = [ + [left, y], + // M + [left + width, y], + // 1 + [left + width, i > 0 ? ratio + y : ratio + top], + // 2 + [left, i > 0 ? ratio + y : ratio + top], + // 3 + [left, y] + // 4 + ]); + }); + return coords; +} +function getClipPath(forBackground = false) { + const $$ = this; + const { width, height, top, left } = getSize.call($$, true); + const neck = getNecklSize.call($$, { width, height }); + const leftX = (width - neck.width) / 2; + const rightX = (width + neck.width) / 2; + const bodyHeigth = height - neck.height; + const coords = [ + [0, 0], + // M + [width, 0], + // 1 + [rightX, bodyHeigth], + // 2 + [rightX, height], + // 3 + [leftX, height], + // 4 + [leftX, bodyHeigth], + // 5 + [0, 0] + // 6 + ]; + if (forBackground) { + coords.forEach((d) => { + d[0] += left; + d[1] += top; + }); + } + return `M${coords.join("L")}z`; +} +function getFunnelData(d) { + const $$ = this; + const { config } = $$; + const data = d.map((d2) => ({ + id: d2.id, + value: d2.values.reduce((a, b) => a + b.value, 0) + })); + if (config.data_order) { + data.sort($$.getSortCompareFn.bind($$)(true)); + } + return updateRatio.call($$, data); +} +function updateRatio(data) { + const $$ = this; + const { height } = getSize.call($$); + const total = $$.getTotalDataSum(true); + data.forEach((d) => { + d.ratio = d.value / total * height; + }); + return data; +} +/* harmony default export */ var funnel = ({ + /** + * Initialize polar + * @private + */ + initFunnel() { + const $$ = this; + const { $el } = $$; + $el.funnel = $el.main.select(`.${$COMMON.chart}`).append("g").classed($FUNNEL.chartFunnels, true); + $el.funnel.background = $el.funnel.append("path").classed($FUNNEL.funnelBackground, true); + $$.bindFunnelEvent(); + }, + /** + * Bind events + * @private + */ + bindFunnelEvent() { + const $$ = this; + const { $el: { funnel }, config, state } = $$; + const getTarget = (event) => { + var _a; + const target = event.isTrusted ? event.target : (_a = state.eventReceiver.rect) == null ? void 0 : _a.node(); + let data; + if (/^path$/i.test(target.tagName)) { + state.event = event; + data = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(target).datum(); + } + return data; + }; + if (config.interaction_enabled) { + const isTouch = state.inputType === "touch"; + funnel.on(isTouch ? "touchstart" : "mouseover mousemove", (event) => { + const data = getTarget(event); + if (data) { + $$.showTooltip([data], event.target); + /^(touchstart|mouseover)$/.test(event.type) && $$.setOverOut(true, data); + } + }).on(isTouch ? "touchend" : "mouseout", (event) => { + const data = getTarget(event); + if (config.interaction_onout) { + $$.hideTooltip(); + $$.setOverOut(false, data); + } + }); + } + }, + /** + * Update polar based on given data array + * @param {object} t Data object + * @private + */ + updateTargetsForFunnel(t) { + const $$ = this; + const { $el: { funnel } } = $$; + const classChartFunnel = $$.getChartClass("Funnel"); + const classFunnel = $$.getClass("funnel", true); + if (!funnel) { + $$.initFunnel(); + } + const targets = getFunnelData.call($$, t.filter($$.isFunnelType.bind($$))); + const mainFunnelUpdate = funnel.selectAll(`.${$FUNNEL.chartFunnel}`).data(targets); + mainFunnelUpdate.exit().remove(); + const mainFunnelEnter = mainFunnelUpdate.enter().insert("g", `.${$FUNNEL.funnelBackground}`); + mainFunnelEnter.append("path"); + funnel.path = mainFunnelEnter.merge(mainFunnelUpdate).attr("class", (d) => classChartFunnel(d)).select("path").attr("class", classFunnel).style("opacity", "0").style("fill", $$.color); + }, + /** + * Update funnel path selection + * @param {object} targets Updated target data + * @private + */ + updateFunnel(targets) { + const $$ = this; + const { $el: { funnel } } = $$; + const targetIds = targets.map(({ id }) => id); + funnel.path = funnel.path.filter((d) => targetIds.indexOf(d.id) >= 0); + }, + /** + * Generate treemap coordinate points data + * @returns {Array} Array of coordinate points + * @private + */ + generateGetFunnelPoints() { + const $$ = this; + const { $el: { funnel } } = $$; + const targets = $$.filterTargetsToShow(funnel.path); + const { top, left, right } = getSize.call($$); + const center = (left - right) / 2; + const points = {}; + let accumulatedHeight = top != null ? top : 0; + targets.each((d, i) => { + var _a; + points[d.id] = [ + [center, accumulatedHeight], + [center, accumulatedHeight += ((_a = targets == null ? void 0 : targets[i]) != null ? _a : d).ratio] + ]; + }); + return (d) => points[d.id]; + }, + /** + * Called whenever redraw happens + * @private + */ + redrawFunnel() { + const $$ = this; + const { $T, $el: { funnel } } = $$; + const targets = $$.filterTargetsToShow(funnel.path); + const coords = getCoord.call($$, updateRatio.call($$, targets.data())); + funnel.attr("clip-path", `path('${getClipPath.bind($$)()}')`); + funnel.background.attr("d", getClipPath.call($$, true)); + $T(targets).attr("d", (d, i) => `M${coords[i].join("L")}z`).style("opacity", "1"); + funnel.selectAll("g").style("opacity", null); + } +}); + +;// ./src/ChartInternal/shape/gauge.ts + + + +/* harmony default export */ var gauge = ({ + initGauge() { + const $$ = this; + const { config, $el: { arcs } } = $$; + const appendText = (className = null, value = "") => { + arcs.append("text").attr("class", className).style("text-anchor", "middle").style("pointer-events", "none").text(value); + }; + if ($$.hasType("gauge")) { + const hasMulti = $$.hasMultiArcGauge(); + arcs.append(hasMulti ? "g" : "path").attr("class", $ARC.chartArcsBackground).style("fill", !hasMulti && config.gauge_background || null); + config.gauge_units && appendText($GAUGE.chartArcsGaugeUnit); + if (config.gauge_label_show) { + appendText($GAUGE.chartArcsGaugeMin); + !config.gauge_fullCircle && appendText($GAUGE.chartArcsGaugeMax); + } + } + }, + updateGaugeMax() { + const $$ = this; + const { config, state } = $$; + const hasMultiGauge = $$.hasMultiArcGauge(); + const max = hasMultiGauge ? $$.getMinMaxData().max[0].value : $$.getTotalDataSum(state.rendered); + if (!config.gauge_enforceMinMax && max + config.gauge_min * (config.gauge_min > 0 ? -1 : 1) > config.gauge_max) { + config.gauge_max = max - config.gauge_min; + } + }, + redrawArcGaugeLine() { + const $$ = this; + const { config, state, $el } = $$; + const { hiddenTargetIds } = $$.state; + const arcLabelLines = $el.main.selectAll(`.${$ARC.arcs}`).selectAll(`.${$ARC.arcLabelLine}`).data($$.arcData.bind($$)); + const mainArcLabelLine = arcLabelLines.enter().append("rect").attr( + "class", + (d) => `${$ARC.arcLabelLine} ${$COMMON.target} ${$COMMON.target}-${d.data.id}` + ).merge(arcLabelLines); + mainArcLabelLine.style( + "fill", + (d) => $$.levelColor ? $$.levelColor(d.data.values[0].value) : $$.color(d.data) + ).style("display", config.gauge_label_show ? null : "none").each(function(d) { + let lineLength = 0; + const lineThickness = 2; + let x = 0; + let y = 0; + let transform = ""; + if (hiddenTargetIds.indexOf(d.data.id) < 0) { + const updated = $$.updateAngle(d); + const innerLineLength = state.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length * (updated.index + 1); + const lineAngle = updated.endAngle - Math.PI / 2; + const arcInnerRadius = state.radius - innerLineLength; + const linePositioningAngle = lineAngle - (arcInnerRadius === 0 ? 0 : 1 / arcInnerRadius); + lineLength = state.radiusExpanded - state.radius + innerLineLength; + x = Math.cos(linePositioningAngle) * arcInnerRadius; + y = Math.sin(linePositioningAngle) * arcInnerRadius; + transform = `rotate(${lineAngle * 180 / Math.PI}, ${x}, ${y})`; + } + (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this).attr("x", x).attr("y", y).attr("width", lineLength).attr("height", lineThickness).attr("transform", transform).style("stroke-dasharray", `0, ${lineLength + lineThickness}, 0`); + }); + }, + textForGaugeMinMax(value, isMax) { + const $$ = this; + const { config } = $$; + const format = config.gauge_label_extents; + return isFunction(format) ? format.bind($$.api)(value, isMax) : value; + }, + getGaugeLabelHeight() { + const { config } = this; + return this.config.gauge_label_show && !config.gauge_fullCircle ? 20 : 0; + }, + getPaddingBottomForGauge() { + const $$ = this; + return $$.getGaugeLabelHeight() * ($$.config.gauge_label_show ? 2 : 2.5); + } +}); + +;// ./src/ChartInternal/shape/line.ts + + + + +function getStrokeDashArray(start, end, pattern, isLastX = false) { + const dash = start ? [start, 0] : pattern; + for (let i = start ? start : pattern.reduce((a, c) => a + c); i <= end; ) { + pattern.forEach((v) => { + if (i + v <= end) { + dash.push(v); + } + i += v; + }); + } + dash.length % 2 !== 0 && dash.push(isLastX ? pattern[1] : 0); + return { + dash: dash.join(" "), + length: dash.reduce((a, b) => a + b, 0) + }; +} +function getRegions(d, _regions, isTimeSeries) { + const $$ = this; + const regions = []; + const dasharray = "2 2"; + if (isDefined(_regions)) { + const getValue = (v, def) => isUndefined(v) ? def : isTimeSeries ? parseDate.call($$, v) : v; + for (let i = 0, reg; reg = _regions[i]; i++) { + const start = getValue(reg.start, d[0].x); + const end = getValue(reg.end, d[d.length - 1].x); + const style = reg.style || { dasharray }; + regions[i] = { start, end, style }; + } + } + return regions; +} +/* harmony default export */ var line = ({ + initLine() { + const { $el } = this; + $el.line = $el.main.select(`.${$COMMON.chart}`).append("g").attr("class", $LINE.chartLines).call(this.setCssRule(false, `.${$LINE.chartLines}`, ["pointer-events:none"])); + }, + updateTargetsForLine(t) { + const $$ = this; + const { $el: { area, line, main } } = $$; + const classChartLine = $$.getChartClass("Line"); + const classLines = $$.getClass("lines", true); + const classFocus = $$.classFocus.bind($$); + if (!line) { + $$.initLine(); + } + const targets = t.filter((d) => !($$.isScatterType(d) || $$.isBubbleType(d))); + const mainLineUpdate = main.select(`.${$LINE.chartLines}`).selectAll(`.${$LINE.chartLine}`).data(targets).attr("class", (d) => classChartLine(d) + classFocus(d)); + const mainLineEnter = mainLineUpdate.enter().append("g").attr("class", classChartLine).style("opacity", "0").style("pointer-events", $$.getStylePropValue("none")); + mainLineEnter.append("g").attr("class", classLines); + if ($$.hasTypeOf("Area")) { + const mainLine = (!area && mainLineEnter.empty() ? mainLineUpdate : mainLineEnter).filter($$.isAreaType.bind($$)); + $$.initArea(mainLine); + } + $$.updateTargetForCircle(targets, mainLineEnter); + }, + /** + * Generate/Update elements + * @param {boolean} withTransition Transition for exit elements + * @param {boolean} isSub Subchart draw + * @private + */ + updateLine(withTransition, isSub = false) { + const $$ = this; + const { format: { extraLineClasses }, $el, $T } = $$; + const $root = isSub ? $el.subchart : $el; + const line = $root.main.selectAll(`.${$LINE.lines}`).selectAll(`.${$LINE.line}`).data($$.lineData.bind($$)); + $T(line.exit(), withTransition).style("opacity", "0").remove(); + $root.line = line.enter().append("path").attr("class", (d) => `${$$.getClass("line", true)(d)} ${extraLineClasses(d) || ""}`).style("stroke", $$.color).merge(line).style("opacity", $$.initialOpacity.bind($$)).attr("transform", null); + }, + /** + * Redraw function + * @param {Function} drawFn Retuned functino from .generateDrawCandlestick() + * @param {boolean} withTransition With or without transition + * @param {boolean} isSub Subchart draw + * @returns {Array} + * @private + */ + redrawLine(drawFn, withTransition, isSub = false) { + const $$ = this; + const { $el, $T } = $$; + const { line } = isSub ? $el.subchart : $el; + return [ + $T(line, withTransition, getRandom()).attr("d", drawFn).style("stroke", this.color).style("opacity", null) + ]; + }, + /** + * Get the curve interpolate + * @param {Array} d Data object + * @returns {Function} + * @private + */ + getCurve(d) { + const $$ = this; + const isRotatedStepType = $$.config.axis_rotated && $$.isStepType(d); + return isRotatedStepType ? (context) => { + const step = $$.getInterpolate(d)(context); + step.orgPoint = step.point; + step.pointRotated = function(x, y) { + this._point === 1 && (this._point = 2); + const y1 = this._y * (1 - this._t) + y * this._t; + this._context.lineTo(this._x, y1); + this._context.lineTo(x, y1); + this._x = x; + this._y = y; + }; + step.point = function(x, y) { + this._point === 0 ? this.orgPoint(x, y) : this.pointRotated(x, y); + }; + return step; + } : $$.getInterpolate(d); + }, + generateDrawLine(lineIndices, isSub) { + const $$ = this; + const { config, scale } = $$; + const lineConnectNull = config.line_connectNull; + const isRotated = config.axis_rotated; + const getPoints = $$.generateGetLinePoints(lineIndices, isSub); + const yScale = $$.getYScaleById.bind($$); + const xValue = (d) => (isSub ? $$.subxx : $$.xx).call($$, d); + const yValue = (d, i) => $$.isGrouped(d.id) ? getPoints(d, i)[0][1] : yScale(d.id, isSub)($$.getBaseValue(d)); + let line = (0,external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_.line)(); + line = isRotated ? line.x(yValue).y(xValue) : line.x(xValue).y(yValue); + if (!lineConnectNull) { + line = line.defined((d) => $$.getBaseValue(d) !== null); + } + const x = isSub ? scale.subX : scale.x; + return (d) => { + const y = yScale(d.id, isSub); + let values = lineConnectNull ? $$.filterRemoveNull(d.values) : d.values; + let x0 = 0; + let y0 = 0; + let path; + if ($$.isLineType(d)) { + const regions = config.data_regions[d.id]; + if (regions) { + path = $$.lineWithRegions(values, scale.zoom || x, y, regions); + } else { + if ($$.isStepType(d)) { + values = $$.convertValuesToStep(values); + } + path = line.curve($$.getCurve(d))(values); + } + } else { + if (values[0]) { + x0 = x(values[0].x); + y0 = y(values[0].value); + } + path = isRotated ? `M ${y0} ${x0}` : `M ${x0} ${y0}`; + } + return path || "M 0 0"; + }; + }, + /** + * Set regions dasharray and get path + * @param {Array} d Data object + * @param {Function} x x scale function + * @param {Function} y y scale function + * @param {object} _regions regions to be set + * @returns {stirng} Path string + * @private + */ + lineWithRegions(d, x, y, _regions) { + const $$ = this; + const { config } = $$; + const isRotated = config.axis_rotated; + const isTimeSeries = $$.axis.isTimeSeries(); + const dasharray = "2 2"; + const regions = getRegions.bind($$)(d, _regions, isTimeSeries); + const hasNullDataValue = $$.hasNullDataValue(d); + let xp; + let yp; + let diff; + let diffx2; + const xValue = isRotated ? (dt) => y(dt.value) : (dt) => x(dt.x); + const yValue = isRotated ? (dt) => x(dt.x) : (dt) => y(dt.value); + const generateM = (points) => `M${points[0][0]},${points[0][1]}L${points[1][0]},${points[1][1]}`; + const sWithRegion = isTimeSeries ? (d0, d1, k, timeseriesDiff) => { + const x0 = d0.x.getTime(); + const xDiff = d1.x - d0.x; + const xv0 = new Date(x0 + xDiff * k); + const xv1 = new Date(x0 + xDiff * (k + timeseriesDiff)); + const points = isRotated ? [[y(yp(k)), x(xv0)], [y(yp(k + diff)), x(xv1)]] : [[x(xv0), y(yp(k))], [x(xv1), y(yp(k + diff))]]; + return generateM(points); + } : (d0, d1, k, otherDiff) => { + const x0 = x(d1.x, !isRotated); + const y0 = y(d1.value, isRotated); + const gap = k + otherDiff; + const xValue2 = x(xp(k), !isRotated); + const yValue2 = y(yp(k), isRotated); + let xDiff = x(xp(gap), !isRotated); + let yDiff = y(yp(gap), isRotated); + if (xDiff > x0) { + xDiff = x0; + } + if (d0.value > d1.value && (isRotated ? yDiff < y0 : yDiff > y0)) { + yDiff = y0; + } + const points = [ + [xValue2, yValue2], + [xDiff, yDiff] + ]; + isRotated && points.forEach((v) => v.reverse()); + return generateM(points); + }; + const axisType = { x: $$.axis.getAxisType("x"), y: $$.axis.getAxisType("y") }; + let path = ""; + const target = $$.$el.line.filter(({ id }) => id === d[0].id); + const tempNode = target.clone().style("display", "none"); + const getLength = (node, path2) => node.attr("d", path2).node().getTotalLength(); + const dashArray = { + dash: [], + lastLength: 0 + }; + let isLastX = false; + for (let i = 0, data; data = d[i]; i++) { + const prevData = d[i - 1]; + const hasPrevData = prevData && isValue(prevData.value); + let style = $$.isWithinRegions(data.x, regions); + if (!isValue(data.value)) { + continue; + } + if (isUndefined(regions) || !style || !hasPrevData) { + path += `${i && hasPrevData ? "L" : "M"}${xValue(data)},${yValue(data)}`; + } else if (hasPrevData) { + style = ((style == null ? void 0 : style.dasharray) || dasharray).split(" ").map(Number); + xp = getScale(axisType.x, prevData.x, data.x); + yp = getScale(axisType.y, prevData.value, data.value); + if (hasNullDataValue) { + const dx = x(data.x) - x(prevData.x); + const dy = y(data.value) - y(prevData.value); + const dd = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2)); + diff = style[0] / dd; + diffx2 = diff * style[1]; + for (let j = diff; j <= 1; j += diffx2) { + path += sWithRegion(prevData, data, j, diff); + if (j + diffx2 >= 1) { + path += sWithRegion(prevData, data, 1, 0); + } + } + } else { + let points = []; + isLastX = data.x === d[d.length - 1].x; + if (isTimeSeries) { + const x0 = +prevData.x; + const xv0 = new Date(x0); + const xv1 = new Date(x0 + (+data.x - x0)); + points = [ + [x(xv0), y(yp(0))], + // M + [x(xv1), y(yp(1))] + // L + ]; + } else { + points = [ + [x(xp(0)), y(yp(0))], + // M + [x(xp(1)), y(yp(1))] + // L + ]; + } + isRotated && points.forEach((v) => v.reverse()); + const startLength = getLength(tempNode, path); + const endLength = getLength(tempNode, path += `L${points[1].join(",")}`); + const strokeDashArray = getStrokeDashArray( + startLength - dashArray.lastLength, + endLength - dashArray.lastLength, + style, + isLastX + ); + dashArray.lastLength += strokeDashArray.length; + dashArray.dash.push(strokeDashArray.dash); + } + } + } + if (dashArray.dash.length) { + !isLastX && dashArray.dash.push(getLength(tempNode, path)); + tempNode.remove(); + target.attr("stroke-dasharray", dashArray.dash.join(" ")); + } + return path; + }, + isWithinRegions(withinX, withinRegions) { + for (let i = 0, reg; reg = withinRegions[i]; i++) { + if (reg.start < withinX && withinX <= reg.end) { + return reg.style; + } + } + return false; + }, + isWithinStep(that, y) { + return Math.abs(y - getPointer(this.state.event, that)[1]) < 30; + }, + shouldDrawPointsForLine(d) { + const linePoint = this.config.line_point; + return linePoint === true || isArray(linePoint) && linePoint.indexOf(d.id) !== -1; + } +}); + +;// ./src/ChartInternal/shape/point.ts + + + +const getTransitionName = () => getRandom(); +/* harmony default export */ var point = ({ + initialOpacityForCircle(d) { + const { config, state: { withoutFadeIn } } = this; + let opacity = config.point_opacity; + if (isUndefined(opacity)) { + opacity = this.getBaseValue(d) !== null && withoutFadeIn[d.id] ? this.opacityForCircle(d) : "0"; + } + return opacity; + }, + opacityForCircle(d) { + var _a; + const { config } = this; + let opacity = config.point_opacity; + if (isUndefined(opacity)) { + opacity = config.point_show && !((_a = this.isPointFocusOnly) == null ? void 0 : _a.call(this)) ? null : "0"; + opacity = isValue(this.getBaseValue(d)) ? this.isBubbleType(d) || this.isScatterType(d) ? "0.5" : opacity : "0"; + } + return opacity; + }, + initCircle() { + const $$ = this; + const { $el: { main } } = $$; + !$$.point && ($$.point = $$.generatePoint()); + if (($$.hasType("bubble") || $$.hasType("scatter")) && main.select(`.${$COMMON.chart} > .${$CIRCLE.chartCircles}`).empty()) { + main.select(`.${$COMMON.chart}`).append("g").attr("class", $CIRCLE.chartCircles); + } + }, + updateTargetForCircle(targetsValue, enterNodeValue) { + const $$ = this; + const { config, data, $el } = $$; + const selectionEnabled = config.interaction_enabled && config.data_selection_enabled; + const isSelectable = selectionEnabled && config.data_selection_isselectable; + const classCircles = $$.getClass("circles", true); + if (!config.point_show) { + return; + } + $$.initCircle(); + let targets = targetsValue; + let enterNode = enterNodeValue; + if (!targets) { + targets = data.targets.filter((d) => this.isScatterType(d) || this.isBubbleType(d)); + const mainCircle = $el.main.select(`.${$CIRCLE.chartCircles}`).style("pointer-events", "none").selectAll(`.${$CIRCLE.circles}`).data(targets); + mainCircle.exit().remove(); + enterNode = mainCircle.enter(); + } + selectionEnabled && enterNode.append("g").attr("class", (d) => $$.generateClass($SELECT.selectedCircles, d.id)); + enterNode.append("g").attr("class", classCircles).call((selection) => { + $$.setCssRule(true, `.${$CIRCLE.circles}`, ["cursor:pointer"], isSelectable)( + selection + ); + $$.setCssRule(true, ` .${$CIRCLE.circle}`, ["fill", "stroke"], $$.color)(selection); + }).style("opacity", function() { + const parent = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this.parentNode); + return parent.attr("class").indexOf($CIRCLE.chartCircles) > -1 ? "0" : null; + }); + selectionEnabled && targets.forEach((t) => { + $el.main.selectAll(`.${$SELECT.selectedCircles}${$$.getTargetSelectorSuffix(t.id)}`).selectAll(`${$SELECT.selectedCircle}`).each((d) => { + d.value = t.values[d.index].value; + }); + }); + }, + updateCircle(isSub = false) { + const $$ = this; + const { config, state, $el } = $$; + const focusOnly = $$.isPointFocusOnly(); + const $root = isSub ? $el.subchart : $el; + if (config.point_show && !state.toggling) { + config.point_radialGradient && $$.updateLinearGradient(); + const circles = $root.main.selectAll(`.${$CIRCLE.circles}`).selectAll(`.${$CIRCLE.circle}`).data((d) => $$.isLineType(d) && $$.shouldDrawPointsForLine(d) || $$.isBubbleType(d) || $$.isRadarType(d) || $$.isScatterType(d) ? focusOnly ? [d.values[0]] : d.values : []); + circles.exit().remove(); + circles.enter().filter(Boolean).append( + $$.point("create", this, $$.pointR.bind($$), $$.updateCircleColor.bind($$)) + ); + $root.circle = $root.main.selectAll(`.${$CIRCLE.circles} .${$CIRCLE.circle}`).style("stroke", $$.getStylePropValue($$.color)).style("opacity", $$.initialOpacityForCircle.bind($$)); + } + }, + /** + * Update circle color + * @param {object} d Data object + * @returns {string} Color string + * @private + */ + updateCircleColor(d) { + const $$ = this; + const fn = $$.getStylePropValue($$.color); + return $$.config.point_radialGradient ? $$.getGradienColortUrl(d.id) : fn ? fn(d) : null; + }, + redrawCircle(cx, cy, withTransition, flow, isSub = false) { + const $$ = this; + const { state: { rendered }, $el, $T } = $$; + const $root = isSub ? $el.subchart : $el; + const selectedCircles = $root.main.selectAll(`.${$SELECT.selectedCircle}`); + if (!$$.config.point_show) { + return []; + } + const fn = $$.point( + "update", + $$, + cx, + cy, + $$.updateCircleColor.bind($$), + withTransition, + flow, + selectedCircles + ); + const posAttr = $$.isCirclePoint() ? "c" : ""; + const t = getRandom(); + const opacityStyleFn = $$.opacityForCircle.bind($$); + const mainCircles = []; + $root.circle.each(function(d) { + let result = fn.bind(this)(d); + result = $T(result, withTransition || !rendered, t).style("opacity", opacityStyleFn); + mainCircles.push(result); + }); + return [ + mainCircles, + $T(selectedCircles, withTransition).attr(`${posAttr}x`, cx).attr(`${posAttr}y`, cy) + ]; + }, + /** + * Show focused data point circle + * @param {object} d Selected data + * @private + */ + showCircleFocus(d) { + const $$ = this; + const { state: { hasRadar, resizing, toggling, transiting }, $el } = $$; + let { circle } = $el; + if (transiting === false && circle && $$.isPointFocusOnly()) { + const cx = (hasRadar ? $$.radarCircleX : $$.circleX).bind($$); + const cy = (hasRadar ? $$.radarCircleY : $$.circleY).bind($$); + const withTransition = toggling || isUndefined(d); + const fn = $$.point( + "update", + $$, + cx, + cy, + $$.getStylePropValue($$.color), + resizing ? false : withTransition + ); + if (d) { + circle = circle.filter(function(t) { + var _a; + const data = (_a = d.filter) == null ? void 0 : _a.call(d, (v) => v.id === t.id); + return data.length ? (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this).datum(data[0]) : false; + }); + } + circle.attr("class", this.updatePointClass.bind(this)).style("opacity", null).each(function(d2) { + const { id, index, value } = d2; + let visibility = "hidden"; + if (isValue(value)) { + fn.bind(this)(d2); + $$.expandCircles(index, id); + visibility = ""; + } + this.style.visibility = visibility; + }); + } + }, + /** + * Hide focused data point circle + * @private + */ + hideCircleFocus() { + const $$ = this; + const { $el: { circle } } = $$; + if ($$.isPointFocusOnly() && circle) { + $$.unexpandCircles(); + circle.style("visibility", "hidden"); + } + }, + circleX(d) { + return this.xx(d); + }, + updateCircleY(isSub = false) { + const $$ = this; + const getPoints = $$.generateGetLinePoints($$.getShapeIndices($$.isLineType), isSub); + return (d, i) => { + const id = d.id; + return $$.isGrouped(id) ? getPoints(d, i)[0][1] : $$.getYScaleById(id, isSub)($$.getBaseValue(d)); + }; + }, + expandCircles(i, id, reset) { + const $$ = this; + const r = $$.pointExpandedR.bind($$); + reset && $$.unexpandCircles(); + const circles = $$.getShapeByIndex("circle", i, id).classed($COMMON.EXPANDED, true); + const scale = r(circles) / $$.config.point_r; + const ratio = 1 - scale; + if ($$.isCirclePoint()) { + circles.attr("r", r); + } else { + circles.each(function() { + const point = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this); + if (this.tagName === "circle") { + point.attr("r", r); + } else { + const { width, height } = this.getBBox(); + const x = ratio * (+point.attr("x") + width / 2); + const y = ratio * (+point.attr("y") + height / 2); + point.attr("transform", `translate(${x} ${y}) scale(${scale})`); + } + }); + } + }, + unexpandCircles(i) { + const $$ = this; + const r = $$.pointR.bind($$); + const circles = $$.getShapeByIndex("circle", i).filter(function() { + return (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this).classed($COMMON.EXPANDED); + }).classed($COMMON.EXPANDED, false); + circles.attr("r", r); + if (!$$.isCirclePoint()) { + const scale = r(circles) / $$.config.point_r; + circles.attr("transform", scale !== 1 ? `scale(${scale})` : null); + } + }, + pointR(d) { + const $$ = this; + const { config } = $$; + const pointR = config.point_r; + let r = pointR; + if ($$.isBubbleType(d)) { + r = $$.getBubbleR(d); + } else if (isFunction(pointR)) { + r = pointR.bind($$.api)(d); + } + d.r = r; + return r; + }, + pointExpandedR(d) { + const $$ = this; + const { config } = $$; + const scale = $$.isBubbleType(d) ? 1.15 : 1.75; + return config.point_focus_expand_enabled ? config.point_focus_expand_r || $$.pointR(d) * scale : $$.pointR(d); + }, + pointSelectR(d) { + const $$ = this; + const selectR = $$.config.point_select_r; + return isFunction(selectR) ? selectR(d) : selectR || $$.pointR(d) * 4; + }, + /** + * Check if point.focus.only option can be applied. + * @returns {boolean} + * @private + */ + isPointFocusOnly() { + const $$ = this; + return $$.config.point_focus_only && !$$.hasType("bubble") && !$$.hasType("scatter") && !$$.hasArcType(null, ["radar"]); + }, + isWithinCircle(node, r) { + const { state } = this; + const mouse = getPointer(state.event, node); + const element = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(node); + const prefix = this.isCirclePoint(node) ? "c" : ""; + const pointSensitivity = this.getPointSensitivity(element == null ? void 0 : element.datum()); + let cx = +element.attr(`${prefix}x`); + let cy = +element.attr(`${prefix}y`); + if (!(cx || cy) && node.nodeType === 1) { + const { x, y } = getBoundingRect(node); + cx = x; + cy = y; + } + return Math.sqrt( + Math.pow(cx - mouse[0], 2) + Math.pow(cy - mouse[1], 2) + ) < (r || pointSensitivity); + }, + /** + * Get data point sensitivity radius + * @param {object} d Data point object + * @returns {number} return the sensitivity value + */ + getPointSensitivity(d) { + const $$ = this; + let sensitivity = $$.config.point_sensitivity; + if (!d) { + return sensitivity; + } else if (isFunction(sensitivity)) { + sensitivity = sensitivity.call($$.api, d); + } else if (sensitivity === "radius") { + sensitivity = d.r; + } + return sensitivity; + }, + updatePointClass(d) { + const $$ = this; + const { circle } = $$.$el; + let pointClass = false; + if (isObject(d) || circle) { + pointClass = d === true ? circle.each(function(d2) { + let className = $$.getClass("circle", true)(d2); + if (this.getAttribute("class").indexOf($COMMON.EXPANDED) > -1) { + className += ` ${$COMMON.EXPANDED}`; + } + this.setAttribute("class", className); + }) : $$.getClass("circle", true)(d); + } + return pointClass; + }, + generateGetLinePoints(lineIndices, isSub) { + const $$ = this; + const { config } = $$; + const x = $$.getShapeX(0, lineIndices, isSub); + const y = $$.getShapeY(isSub); + const lineOffset = $$.getShapeOffset($$.isLineType, lineIndices, isSub); + const yScale = $$.getYScaleById.bind($$); + return (d, i) => { + const y0 = yScale.call($$, d.id, isSub)($$.getShapeYMin(d.id)); + const offset = lineOffset(d, i) || y0; + const posX = x(d); + let posY = y(d); + if (config.axis_rotated && (d.value > 0 && posY < y0 || d.value < 0 && y0 < posY)) { + posY = y0; + } + const point = [posX, posY - (y0 - offset)]; + return [ + point, + point, + // from here and below, needed for compatibility + point, + point + ]; + }; + }, + custom: { + create(element, id, fillStyleFn) { + return element.append("use").attr("xlink:href", `#${id}`).attr("class", this.updatePointClass.bind(this)).style("fill", fillStyleFn).node(); + }, + update(element, xPosFn, yPosFn, fillStyleFn, withTransition, flow, selectedCircles) { + const $$ = this; + const { width, height } = element.node().getBBox(); + const xPosFn2 = (d) => isValue(d.value) ? xPosFn(d) - width / 2 : 0; + const yPosFn2 = (d) => isValue(d.value) ? yPosFn(d) - height / 2 : 0; + let mainCircles = element; + if (withTransition) { + flow && mainCircles.attr("x", xPosFn2); + mainCircles = $$.$T(mainCircles, withTransition, getTransitionName()); + selectedCircles && $$.$T(selectedCircles, withTransition, getTransitionName()); + } + return mainCircles.attr("x", xPosFn2).attr("y", yPosFn2).style("fill", fillStyleFn); + } + }, + // 'circle' data point + circle: { + create(element, sizeFn, fillStyleFn) { + return element.append("circle").attr("class", this.updatePointClass.bind(this)).attr("r", sizeFn).style("fill", fillStyleFn).node(); + }, + update(element, xPosFn, yPosFn, fillStyleFn, withTransition, flow, selectedCircles) { + const $$ = this; + let mainCircles = element; + if ($$.hasType("bubble")) { + mainCircles.attr("r", $$.pointR.bind($$)); + } + if (withTransition) { + flow && mainCircles.attr("cx", xPosFn); + if (mainCircles.attr("cx")) { + mainCircles = $$.$T(mainCircles, withTransition, getTransitionName()); + } + selectedCircles && $$.$T(mainCircles, withTransition, getTransitionName()); + } + return mainCircles.attr("cx", xPosFn).attr("cy", yPosFn).style("fill", fillStyleFn); + } + }, + // 'rectangle' data point + rectangle: { + create(element, sizeFn, fillStyleFn) { + const rectSizeFn = (d) => sizeFn(d) * 2; + return element.append("rect").attr("class", this.updatePointClass.bind(this)).attr("width", rectSizeFn).attr("height", rectSizeFn).style("fill", fillStyleFn).node(); + }, + update(element, xPosFn, yPosFn, fillStyleFn, withTransition, flow, selectedCircles) { + const $$ = this; + const r = $$.config.point_r; + const rectXPosFn = (d) => xPosFn(d) - r; + const rectYPosFn = (d) => yPosFn(d) - r; + let mainCircles = element; + if (withTransition) { + flow && mainCircles.attr("x", rectXPosFn); + mainCircles = $$.$T(mainCircles, withTransition, getTransitionName()); + selectedCircles && $$.$T(selectedCircles, withTransition, getTransitionName()); + } + return mainCircles.attr("x", rectXPosFn).attr("y", rectYPosFn).style("fill", fillStyleFn); + } + } +}); + +;// ./src/ChartInternal/shape/point.common.ts + + + +function hasValidPointDrawMethods(point) { + return isObjectType(point) && isFunction(point.create) && isFunction(point.update); +} +function insertPointInfoDefs(point, id) { + var _a; + const $$ = this; + const copyAttr = (from, target) => { + const attribs = from.attributes; + for (let i = 0, name; name = attribs[i]; i++) { + name = name.name; + target.setAttribute(name, from.getAttribute(name)); + } + }; + const doc = new DOMParser().parseFromString(point, "image/svg+xml"); + const node = doc.documentElement; + const clone = browser_doc.createElementNS(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.namespaces.svg, node.nodeName.toLowerCase()); + clone.id = id; + clone.style.fill = "inherit"; + clone.style.stroke = "inherit"; + copyAttr(node, clone); + if ((_a = node.childNodes) == null ? void 0 : _a.length) { + const parent = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(clone); + if ("innerHTML" in clone) { + parent.html(node.innerHTML); + } else { + toArray(node.childNodes).forEach((v) => { + copyAttr(v, parent.append(v.tagName).node()); + }); + } + } + $$.$el.defs.node().appendChild(clone); +} +/* harmony default export */ var point_common = ({ + /** + * Check if point type option is valid + * @param {string} type point type + * @returns {boolean} + * @private + */ + hasValidPointType(type) { + return /^(circle|rect(angle)?|polygon|ellipse|use)$/i.test(type || this.config.point_type); + }, + /** + * Check if pattern point is set to be used on legend + * @returns {boolean} + * @private + */ + hasLegendDefsPoint() { + var _a; + const { config } = this; + return config.legend_show && ((_a = config.point_pattern) == null ? void 0 : _a.length) && config.legend_usePoint; + }, + getDefsPointId(id) { + const { state: { datetimeId } } = this; + return `${datetimeId}-point${id}`; + }, + /** + * Get generate point function + * @returns {Function} + * @private + */ + generatePoint() { + const $$ = this; + const { $el, config } = $$; + const ids = []; + const pattern = notEmpty(config.point_pattern) ? config.point_pattern : [config.point_type]; + return function(method, context, ...args) { + return function(d) { + var _a, _b, _c, _d; + const id = $$.getTargetSelectorSuffix(d.id || ((_a = d.data) == null ? void 0 : _a.id) || d); + const element = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this); + ids.indexOf(id) < 0 && ids.push(id); + let point = pattern[ids.indexOf(id) % pattern.length]; + if ($$.hasValidPointType(point)) { + point = $$[point]; + } else if (!hasValidPointDrawMethods(point || config.point_type)) { + const pointId = $$.getDefsPointId(id); + const defsPoint = $el.defs.select(`#${pointId}`); + if (defsPoint.size() < 1) { + insertPointInfoDefs.bind($$)(point, pointId); + } + if (method === "create") { + return (_b = $$.custom) == null ? void 0 : _b.create.bind(context)(element, pointId, ...args); + } else if (method === "update") { + return (_c = $$.custom) == null ? void 0 : _c.update.bind(context)(element, ...args); + } + } + return (_d = point[method]) == null ? void 0 : _d.bind(context)(element, ...args); + }; + }; + } +}); + +;// ./src/ChartInternal/shape/polar.ts + + +function getDataMax($$) { + const levelMax = $$.config.polar_level_max; + let dataMax = $$.getMinMaxData().max[0].value; + if (levelMax && levelMax > dataMax) { + dataMax = levelMax; + } + return dataMax; +} +/* harmony default export */ var polar = ({ + /** + * Initialize polar + * @private + */ + initPolar() { + const $$ = this; + const { $el: { arcs }, config } = $$; + const levelTextShow = config.polar_level_text_show; + const levelTextBgColor = config.polar_level_text_backgroundColor; + arcs.levels = arcs.append("g").attr("class", $LEVEL.levels); + if (levelTextShow && levelTextBgColor) { + $$.generateTextBGColorFilter(levelTextBgColor); + } + }, + /** + * Get polar outer radius according to the data value + * @param {object} d Data object + * @param {numbet} outerRadius Outer radius + * @returns {number} outer radius + * @private + */ + getPolarOuterRadius(d, outerRadius) { + var _a; + const dataMax = getDataMax(this); + return ((_a = d == null ? void 0 : d.data.values[0].value) != null ? _a : 0) / dataMax * outerRadius; + }, + /** + * Update polar based on given data array + * @param {object} targets Data object + * @private + */ + updateTargetsForPolar(targets) { + this.updateTargetsForArc(targets); + }, + /** + * Called whenever redraw happens + * @private + */ + redrawPolar() { + const $$ = this; + const { config } = $$; + config.polar_level_show && $$.updatePolarLevel(); + }, + /** + * Update polar level circle + * @private + */ + updatePolarLevel() { + const $$ = this; + const { config, state, $el: { arcs: { levels } } } = $$; + const depth = config.polar_level_depth; + const dataMax = getDataMax($$); + const levelData = getRange(0, depth); + const outerRadius = state.radius; + const levelRatio = levelData.map((l) => outerRadius * ((l + 1) / depth)); + const levelTextFormat = (config.polar_level_text_format || function() { + }).bind($$.api); + const level = levels.selectAll(`.${$LEVEL.level}`).data(levelData); + level.exit().remove(); + const levelEnter = level.enter().append("g").attr("class", (d, i) => `${$LEVEL.level} ${$LEVEL.level}-${i}`); + levelEnter.append("circle"); + levelEnter.merge(level).selectAll("circle").style("visibility", config.polar_level_show ? null : "hidden").attr("cx", 0).attr("cy", 0).attr("r", (d) => levelRatio[d]); + if (config.polar_level_text_show) { + const levelTextBackgroundColor = config.polar_level_text_backgroundColor; + const defsId = `#${state.datetimeId}-labels-bg${$$.getTargetSelectorSuffix(levelTextBackgroundColor)}`; + levelEnter.append("text").style("text-anchor", "middle"); + levelEnter.merge(level).selectAll("text").attr("dy", (d) => -levelRatio[d] + 5).attr("filter", levelTextBackgroundColor ? `url(${defsId})` : null).text((d) => levelTextFormat(dataMax / levelData.length * (d + 1))); + } + } +}); + +;// ./src/ChartInternal/shape/radar.ts + + + + +function getPosition(isClockwise, type, edge, pos, range, ratio) { + const index = isClockwise && pos > 0 ? edge - pos : pos; + const r = 2 * Math.PI; + const func = type === "x" ? Math.sin : Math.cos; + return range * (1 - ratio * func(index * r / edge)); +} +const cacheKeyPoints = KEY.radarPoints; +const cacheKeyTextWidth = KEY.radarTextWidth; +/* harmony default export */ var radar = ({ + initRadar() { + const $$ = this; + const { config, state: { current }, $el } = $$; + if ($$.hasType("radar")) { + $el.radar = $el.main.select(`.${$COMMON.chart}`).append("g").attr("class", $RADAR.chartRadars); + $el.radar.levels = $el.radar.append("g").attr("class", $LEVEL.levels); + $el.radar.axes = $el.radar.append("g").attr("class", $AXIS.axis); + $el.radar.shapes = $el.radar.append("g").attr("class", $SHAPE.shapes); + current.dataMax = config.radar_axis_max || $$.getMinMaxData().max[0].value; + if (config.radar_axis_text_show) { + config.interaction_enabled && $$.bindRadarEvent(); + $$.updateRadarLevel(); + $$.updateRadarAxes(); + } + } + }, + getRadarSize() { + const $$ = this; + const { config, state: { arcWidth, arcHeight } } = $$; + const padding = config.axis_x_categories.length < 4 ? -20 : 10; + const size = (Math.min(arcWidth, arcHeight) - padding) / 2; + return [size, size]; + }, + updateTargetsForRadar(targets) { + const $$ = this; + const { config } = $$; + if (isEmpty(config.axis_x_categories)) { + config.axis_x_categories = getRange(0, getMinMax("max", targets.map( + (v) => v.values.length + ))); + } + $$.generateRadarPoints(); + }, + getRadarPosition(type, index, range, ratio) { + const $$ = this; + const { config } = $$; + const [width, height] = $$.getRadarSize(); + const edge = config.axis_x_categories.length; + const isClockwise = config.radar_direction_clockwise; + const pos = toArray(type).map( + (v) => getPosition( + isClockwise, + v, + edge, + index, + isDefined(range) ? range : type === "x" ? width : height, + isNumber(ratio) ? ratio : config.radar_size_ratio + ) + ); + return pos.length === 1 ? pos[0] : pos; + }, + /** + * Generate data points + * @private + */ + generateRadarPoints() { + const $$ = this; + const targets = $$.data.targets; + const [width, height] = $$.getRadarSize(); + const points = $$.cache.get(cacheKeyPoints) || {}; + const size = points._size; + if (!size || size.width !== width && size.height !== height) { + targets.forEach((d) => { + points[d.id] = d.values.map((v, i) => $$.getRadarPosition(["x", "y"], i, void 0, $$.getRatio("radar", v))); + }); + points._size = { width, height }; + $$.cache.add(cacheKeyPoints, points); + } + }, + redrawRadar() { + const $$ = this; + const { radar, main } = $$.$el; + const translate = $$.getTranslate("radar"); + if (translate) { + radar.attr("transform", translate); + main.select(`.${$TEXT.chartTexts}`).attr("transform", translate); + $$.generateRadarPoints(); + $$.updateRadarLevel(); + $$.updateRadarAxes(); + $$.updateRadarShape(); + } + }, + generateGetRadarPoints() { + const points = this.cache.get(cacheKeyPoints); + return (d, i) => { + const point = points[d.id][i]; + return [ + point, + point, + point, + point + ]; + }; + }, + updateRadarLevel() { + const $$ = this; + const { config, state, $el: { radar } } = $$; + const [width, height] = $$.getRadarSize(); + const depth = config.radar_level_depth; + const edge = config.axis_x_categories.length; + const showText = config.radar_level_text_show; + const radarLevels = radar.levels; + const levelData = getRange(0, depth); + const radius = config.radar_size_ratio * Math.min(width, height); + const levelRatio = levelData.map((l) => radius * ((l + 1) / depth)); + const levelTextFormat = (config.radar_level_text_format || function() { + }).bind($$.api); + const points = levelData.map((v) => { + const range = levelRatio[v]; + const pos = getRange(0, edge).map( + (i) => $$.getRadarPosition(["x", "y"], i, range, 1).join(",") + ); + return pos.join(" "); + }); + const level = radarLevels.selectAll(`.${$LEVEL.level}`).data(levelData); + level.exit().remove(); + const levelEnter = level.enter().append("g").attr("class", (d, i) => `${$LEVEL.level} ${$LEVEL.level}-${i}`); + levelEnter.append("polygon").style("visibility", config.radar_level_show ? null : "hidden"); + if (showText) { + if (radarLevels.select("text").empty()) { + radarLevels.append("text").attr("dx", "-.5em").attr("dy", "-.7em").style("text-anchor", "end").text(() => levelTextFormat(0)); + } + levelEnter.append("text").attr("dx", "-.5em").style("text-anchor", "end").text( + (d) => levelTextFormat( + state.current.dataMax / levelData.length * (d + 1) + ) + ); + } + levelEnter.merge(level).attr( + "transform", + (d) => `translate(${width - levelRatio[d]}, ${height - levelRatio[d]})` + ).selectAll("polygon").attr("points", (d) => points[d]); + if (showText) { + radarLevels.selectAll("text").attr("x", (d) => isUndefined(d) ? width : points[d].split(",")[0]).attr("y", (d) => isUndefined(d) ? height : 0); + } + }, + updateRadarAxes() { + const $$ = this; + const { config, $el: { radar } } = $$; + const [width, height] = $$.getRadarSize(); + const categories = config.axis_x_categories; + let axis = radar.axes.selectAll("g").data(categories); + axis.exit().remove(); + const axisEnter = axis.enter().append("g").attr("class", (d, i) => `${$AXIS.axis}-${i}`); + config.radar_axis_line_show && axisEnter.append("line"); + config.radar_axis_text_show && axisEnter.append("text"); + axis = axisEnter.merge(axis); + if (config.radar_axis_line_show) { + axis.select("line").attr("x1", width).attr("y1", height).attr("x2", (d, i) => $$.getRadarPosition("x", i)).attr("y2", (d, i) => $$.getRadarPosition("y", i)); + } + if (config.radar_axis_text_show) { + const { x = 0, y = 0 } = config.radar_axis_text_position; + const textWidth = $$.cache.get(cacheKeyTextWidth) || 0; + axis.select("text").style("text-anchor", "middle").attr("dy", ".5em").call((selection) => { + selection.each(function(d) { + setTextValue((0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(this), String(d), [-0.6, 1.2]); + }); + }).datum((d, i) => ({ index: i })).attr("transform", function(d) { + if (isUndefined(this.width)) { + this.width = this.getBoundingClientRect().width / 2; + } + let posX = $$.getRadarPosition("x", d.index, void 0, 1); + let posY = Math.round($$.getRadarPosition("y", d.index, void 0, 1)); + if (posX > width) { + posX += this.width + x; + } else if (Math.round(posX) < width) { + posX -= this.width + x; + } + if (posY > height) { + if (posY / 2 === height && this.firstChild.tagName === "tspan") { + this.firstChild.setAttribute("dy", "0em"); + } + posY += y; + } else if (posY < height) { + posY -= y; + } + return `translate(${posX} ${posY})`; + }); + if (!textWidth) { + const widths = [radar.axes, radar.levels].map((v) => getPathBox(v.node()).width); + if (widths.every((v) => v > 0)) { + $$.cache.add(cacheKeyTextWidth, widths[0] - widths[1]); + } + } + } + }, + bindRadarEvent() { + const $$ = this; + const { config, state, $el: { radar, svg } } = $$; + const focusOnly = $$.isPointFocusOnly(); + const { inputType, transiting } = state; + const isMouse = inputType === "mouse"; + const hide = (event) => { + state.event = event; + if (!config.interaction_onout) { + return; + } + const index = $$.getDataIndexFromEvent(event); + const noIndex = isUndefined(index); + if (isMouse || noIndex) { + $$.hideTooltip(); + focusOnly ? $$.hideCircleFocus() : $$.unexpandCircles(); + if (isMouse) { + $$.setOverOut(false, index); + } else if (noIndex) { + $$.callOverOutForTouch(); + } + } + }; + radar.axes.on(isMouse ? "mouseover " : "touchstart", (event) => { + if (transiting) { + return; + } + state.event = event; + const index = $$.getDataIndexFromEvent(event); + $$.selectRectForSingle(svg.node(), index); + isMouse ? $$.setOverOut(true, index) : $$.callOverOutForTouch(index); + }).on("mouseout", isMouse ? hide : null); + if (!isMouse) { + svg.on("touchstart", hide); + } + }, + updateRadarShape() { + const $$ = this; + const targets = $$.data.targets.filter((d) => $$.isRadarType(d)); + const points = $$.cache.get(cacheKeyPoints); + const areas = $$.$el.radar.shapes.selectAll("polygon").data(targets); + const areasEnter = areas.enter().append("g").attr("class", $$.getChartClass("Radar")); + $$.$T(areas.exit()).remove(); + areasEnter.append("polygon").merge(areas).style("fill", $$.color).style("stroke", $$.color).attr("points", (d) => points[d.id].join(" ")); + $$.updateTargetForCircle(targets, areasEnter); + }, + /** + * Get data point x coordinate + * @param {object} d Data object + * @returns {number} + * @private + */ + radarCircleX(d) { + return this.cache.get(cacheKeyPoints)[d.id][d.index][0]; + }, + /** + * Get data point y coordinate + * @param {object} d Data object + * @returns {number} + * @private + */ + radarCircleY(d) { + return this.cache.get(cacheKeyPoints)[d.id][d.index][1]; + } +}); + +// EXTERNAL MODULE: external {"commonjs":"d3-hierarchy","commonjs2":"d3-hierarchy","amd":"d3-hierarchy","root":"d3"} +var external_commonjs_d3_hierarchy_commonjs2_d3_hierarchy_amd_d3_hierarchy_root_d3_ = __webpack_require__(14); +;// ./src/ChartInternal/shape/treemap.ts + + + + +function position(group, root) { + const $$ = this; + const { scale: { x, y }, state: { width } } = $$; + group.selectAll("g").attr("transform", (d) => `translate(${d === root ? "0,0" : `${x(d.x0)},${y(d.y0)}`})`).select("rect").attr("width", (d) => d === root ? width : x(d.x1) - x(d.x0)).attr("height", (d) => d === root ? 0 : y(d.y1) - y(d.y0)); +} +function convertDataToTreemapData(data) { + const $$ = this; + return data.map((d) => { + const { id, values } = d; + const { value } = values[0]; + return { + name: id, + id, + // needed to keep compatibility on whole code logic + value, + ratio: $$.getRatio("treemap", values[0]) + }; + }); +} +function getHierachyData(data) { + const $$ = this; + const hierarchyData = (0,external_commonjs_d3_hierarchy_commonjs2_d3_hierarchy_amd_d3_hierarchy_root_d3_.hierarchy)(data).sum((d) => d.value); + const sortFn = $$.getSortCompareFn(true); + return [ + $$.treemap( + sortFn ? hierarchyData.sort(sortFn) : hierarchyData + ) + ]; +} +/* harmony default export */ var treemap = ({ + initTreemap() { + const $$ = this; + const { + $el, + state: { + current: { width, height }, + clip, + datetimeId + } + } = $$; + clip.id = `${datetimeId}-clip`; + $$.treemap = (0,external_commonjs_d3_hierarchy_commonjs2_d3_hierarchy_amd_d3_hierarchy_root_d3_.treemap)().tile($$.getTreemapTile()); + $el.defs.append("clipPath").attr("id", clip.id).append("rect").attr("width", width).attr("height", height); + $el.treemap = $el.main.select(`.${$COMMON.chart}`).attr("clip-path", `url(#${clip.id})`).append("g").classed($TREEMAP.chartTreemaps, true); + $$.bindTreemapEvent(); + }, + /** + * Bind events + * @private + */ + bindTreemapEvent() { + const $$ = this; + const { $el, config, state } = $$; + const getTarget = (event) => { + var _a; + const target = event.isTrusted ? event.target : (_a = state.eventReceiver.rect) == null ? void 0 : _a.node(); + let data; + if (/^rect$/i.test(target.tagName)) { + state.event = event; + data = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(target).datum(); + } + return data == null ? void 0 : data.data; + }; + if (config.interaction_enabled) { + const isTouch = state.inputType === "touch"; + $el.treemap.on(isTouch ? "touchstart" : "mouseover mousemove", (event) => { + const data = getTarget(event); + if (data) { + $$.showTooltip([data], event.currentTarget); + /^(touchstart|mouseover)$/.test(event.type) && $$.setOverOut(true, data); + } + }).on(isTouch ? "touchend" : "mouseout", (event) => { + const data = getTarget(event); + if (config.interaction_onout) { + $$.hideTooltip(); + $$.setOverOut(false, data); + } + }); + } + }, + /** + * Get tiling function + * @returns {Function} + * @private + */ + getTreemapTile() { + var _a, _b; + const $$ = this; + const { config, state: { current: { width, height } } } = $$; + const tile = (_b = { + binary: external_commonjs_d3_hierarchy_commonjs2_d3_hierarchy_amd_d3_hierarchy_root_d3_.treemapBinary, + dice: external_commonjs_d3_hierarchy_commonjs2_d3_hierarchy_amd_d3_hierarchy_root_d3_.treemapDice, + slice: external_commonjs_d3_hierarchy_commonjs2_d3_hierarchy_amd_d3_hierarchy_root_d3_.treemapSlice, + sliceDice: external_commonjs_d3_hierarchy_commonjs2_d3_hierarchy_amd_d3_hierarchy_root_d3_.treemapSliceDice, + squarify: external_commonjs_d3_hierarchy_commonjs2_d3_hierarchy_amd_d3_hierarchy_root_d3_.treemapSquarify, + resquarify: external_commonjs_d3_hierarchy_commonjs2_d3_hierarchy_amd_d3_hierarchy_root_d3_.treemapResquarify + }[(_a = config.treemap_tile) != null ? _a : "binary"]) != null ? _b : external_commonjs_d3_hierarchy_commonjs2_d3_hierarchy_amd_d3_hierarchy_root_d3_.treemapBinary; + return (node, x0, y0, x1, y1) => { + tile(node, 0, 0, width, height); + for (const child of node.children) { + child.x0 = x0 + child.x0 / width * (x1 - x0); + child.x1 = x0 + child.x1 / width * (x1 - x0); + child.y0 = y0 + child.y0 / height * (y1 - y0); + child.y1 = y0 + child.y1 / height * (y1 - y0); + } + }; + }, + /** + * Get treemap hierarchy data + * @param {Array} targets Data targets + * @returns {object} + * @private + */ + getTreemapData(targets) { + const $$ = this; + return { + name: "root", + children: convertDataToTreemapData.bind($$)( + $$.filterTargetsToShow(targets.filter($$.isTreemapType, $$)) + ) + }; + }, + /** + * Update treemap data + * @param {Array} targets Data targets + * @private + */ + updateTargetsForTreemap(targets) { + const $$ = this; + const { $el: { treemap } } = $$; + const treemapData = getHierachyData.call($$, $$.getTreemapData(targets != null ? targets : $$.data.targets)); + treemap.data(treemapData); + }, + /** + * Render treemap + * @param {number} durationForExit Duration for exit transition + * @private + */ + updateTreemap(durationForExit) { + const $$ = this; + const { $el, $T } = $$; + const data = $el.treemap.datum(); + const classChartTreemap = $$.getChartClass("Treemap"); + const classTreemap = $$.getClass("treemap", true); + const treemap = $el.treemap.selectAll("g").data(data.children); + $T(treemap.exit(), durationForExit).style("opacity", "0").remove(); + treemap.enter().append("g").append("rect"); + $el.treemap.selectAll("g").attr("class", classChartTreemap).select("rect").attr("class", classTreemap).attr("fill", (d) => $$.color(d.data.name)); + }, + /** + * Generate treemap coordinate points data + * @returns {Array} Array of coordinate points + * @private + */ + generateGetTreemapPoints() { + const $$ = this; + const { $el, scale: { x, y } } = $$; + const points = {}; + $el.treemap.selectAll("g").each((d) => { + points[d.data.name] = [ + [x(d.x0), y(d.y0)], + [x(d.x1), y(d.y1)] + ]; + }); + return (d) => points[d.id]; + }, + /** + * Redraw treemap + * @param {boolean} withTransition With or without transition + * @returns {Array} Selections + * @private + */ + redrawTreemap(withTransition) { + const $$ = this; + const { $el, state: { current: { width, height } } } = $$; + $el.defs.select("rect").attr("width", width).attr("height", height); + return [ + $$.$T($el.treemap, withTransition, getRandom()).call(position.bind($$), $el.treemap.datum()) + ]; + }, + /** + * Get treemap data label format function + * @param {object} d Data object + * @returns {Function} + * @private + */ + treemapDataLabelFormat(d) { + const $$ = this; + const { config } = $$; + const { id, value } = d; + const format = config.treemap_label_format; + const ratio = $$.getRatio("treemap", d); + const percentValue = (ratio * 100).toFixed(2); + const meetLabelThreshold = config.treemap_label_show && $$.meetsLabelThreshold( + ratio, + "treemap" + ) ? null : "0"; + return function(node) { + node.style("opacity", meetLabelThreshold); + return isFunction(format) ? format.bind($$.api)(value, ratio, id) : `${id} +${percentValue}%`; + }; + } +}); + +;// ./src/config/Options/common/point.ts +/* harmony default export */ var common_point = ({ + /** + * Set point options + * @name point + * @memberof Options + * @type {object} + * @property {object} point Point object + * @property {boolean} [point.show=true] Whether to show each point in line. + * @property {number|Function} [point.r=2.5] The radius size of each point. + * - **NOTE:** Disabled for 'bubble' type + * @property {boolean|object} [point.radialGradient=false] Set the radial gradient on point.<br><br> + * Or customize by giving below object value: + * - cx {number}: `cx` value (default: `0.3`) + * - cy {number}: `cy` value (default: `0.3`) + * - r {number}: `r` value (default: `0.7`) + * - stops {Array}: Each item should be having `[offset, stop-color, stop-opacity]` values. + * - (default: `[[0.1, $DATA_COLOR, 1], [0.9, $DATA_COLOR, 0]]`) + * @property {boolean} [point.focus.expand.enabled=true] Whether to expand each point on focus. + * @property {number} [point.focus.expand.r=point.r*1.75] The radius size of each point on focus. + * - **NOTE:** For 'bubble' type, the default is `bubbleSize*1.15` + * @property {boolean} [point.focus.only=false] Show point only when is focused. + * @property {number|null} [point.opacity=undefined] Set point opacity value. + * - **NOTE:** + * - `null` will make to not set inline 'opacity' css prop. + * - when no value(or undefined) is set, it defaults to set opacity value according its chart types. + * @property {number|string|Function} [point.sensitivity=10] The senstivity value for interaction boundary. + * - **Available Values:** + * - {number}: Absolute sensitivity value which is the distance from the data point in pixel. + * - "radius": sensitivity based on point's radius + * - Function: callback for each point to determine the sensitivity<br> + * ```js + * sensitivity: function(d) { + * // ex. of argument d: + * // ==> {x: 2, value: 55, id: 'data3', index: 2, r: 19.820624179302296} + * + * // returning d.r, will make sensitivity same as point's radius value. + * return d.r; + * } + * ``` + * @property {number} [point.select.r=point.r*4] The radius size of each point on selected. + * @property {string} [point.type="circle"] The type of point to be drawn + * - **NOTE:** + * - If chart has 'bubble' type, only circle can be used. + * - For IE, non circle point expansions are not supported due to lack of transform support. + * - **Available Values:** + * - circle + * - rectangle + * @property {Array} [point.pattern=[]] The type of point or svg shape as string, to be drawn for each line + * - **NOTE:** + * - This is an `experimental` feature and can have some unexpected behaviors. + * - If chart has 'bubble' type, only circle can be used. + * - For IE, non circle point expansions are not supported due to lack of transform support. + * - **Available Values:** + * - circle + * - rectangle + * - svg shape tag interpreted as string<br> + * (ex. `<polygon points='2.5 0 0 5 5 5'></polygon>`) + * @see [Demo: point type](https://naver.github.io/billboard.js/demo/#Point.RectanglePoints) + * @see [Demo: point focus only](https://naver.github.io/billboard.js/demo/#Point.FocusOnly) + * @see [Demo: point radialGradient](https://naver.github.io/billboard.js/demo/#Point.RadialGradientPoint) + * @see [Demo: point sensitivity](https://naver.github.io/billboard.js/demo/#Point.PointSensitivity) + * @example + * point: { + * show: false, + * r: 5, + * + * // or customize the radius + * r: function(d) { + * ... + * return r; + * }, + * + * // will generate follwing radialGradient: + * // for more info: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/radialGradient + * // <radualGradient cx="0.3" cy="0.3" r="0.7"> + * // <stop offset="0.1" stop-color="$DATA_COLOR" stop-opacity="1"></stop> + * // <stop offset="0.9" stop-color="$DATA_COLOR" stop-opacity="0"></stop> + * // </radialrGradient> + * radialGradient: true, + * + * // Or customized gradient + * radialGradient: { + * cx: 0.3, // cx attributes + * cy: 0.5, // cy attributes + * r: 0.7, // r attributes + * stops: [ + * // offset, stop-color, stop-opacity + * [0, "#7cb5ec", 1], + * + * // setting 'null' for stop-color, will set its original data color + * [0.5, null, 0], + * + * // setting 'function' for stop-color, will pass data id as argument. + * // It should return color string or null value + * [1, function(id) { return id === "data1" ? "red" : "blue"; }, 0], + * ] + * }, + * + * focus: { + * expand: { + * enabled: true, + * r: 1 + * }, + * only: true + * }, + * + * // do not set inline 'opacity' css prop setting + * opacity: null, + * + * // set every data point's opacity value + * opacity: 0.7, + * + * select: { + * r: 3 + * }, + * + * // having lower value, means how closer to be for interaction + * sensitivity: 3, + * + * // sensitivity based on point's radius + * sensitivity: "radius", + * + * // callback for each point to determine the sensitivity + * sensitivity: function(d) { + * // ex. of argument d: + * // ==> {x: 2, value: 55, id: 'data3', index: 2, r: 19.820624179302296} + * + * // returning d.r, will make sensitivity same as point's radius value. + * return d.r; + * } + * + * // valid values are "circle" or "rectangle" + * type: "rectangle", + * + * // or indicate as pattern + * pattern: [ + * "circle", + * "rectangle", + * "<polygon points='0 6 4 0 -4 0'></polygon>" + * ], + * } + */ + point_show: true, + point_r: 2.5, + point_radialGradient: false, + point_sensitivity: 10, + point_focus_expand_enabled: true, + point_focus_expand_r: void 0, + point_focus_only: false, + point_opacity: void 0, + point_pattern: [], + point_select_r: void 0, + point_type: "circle" +}); + +;// ./src/config/Options/shape/area.ts +/* harmony default export */ var Options_shape_area = ({ + /** + * Set area options + * @name area + * @memberof Options + * @type {object} + * @property {object} area Area object + * @property {boolean} [area.above=false] Set background area `above` the data chart line. + * @property {boolean} [area.below=false] Set background area `below` the data chart line. + * - **NOTE**: Can't be used along with `above` option. When above & below options are set to true, `above` will be prioritized. + * @property {boolean} [area.front=true] Set area node to be positioned over line node. + * @property {boolean|object} [area.linearGradient=false] Set the linear gradient on area.<br><br> + * Or customize by giving below object value: + * - x {Array}: `x1`, `x2` value (default: `[0, 0]`) + * - y {Array}: `y1`, `y2` value (default: `[0, 1]`) + * - stops {Array}: Each item should be having `[offset, stop-color, stop-opacity]` values. + * - (default: `[[0, $DATA_COLOR, 1], [1, $DATA_COLOR, 0]]`) + * @property {boolean} [area.zerobased=true] Set if min or max value will be 0 on area chart. + * @see [MDN's <linearGradient>](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient), [<stop>](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/stop) + * @see [Demo](https://naver.github.io/billboard.js/demo/#Chart.AreaChart) + * @see [Demo: above](https://naver.github.io/billboard.js/demo/#AreaChartOptions.Above) + * @see [Demo: below](https://naver.github.io/billboard.js/demo/#AreaChartOptions.Below) + * @see [Demo: linearGradient](https://naver.github.io/billboard.js/demo/#AreaChartOptions.LinearGradient) + * @example + * area: { + * above: true, + * below: false, + * zerobased: false, + * + * // <g class='bb-areas'> will be positioned behind the line <g class='bb-lines'> in stacking order + * front: false, + * + * // will generate follwing linearGradient: + * // for more info: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient + * // <linearGradient x1="0" x2="0" y1="0" y2="1"> + * // <stop offset="0" stop-color="$DATA_COLOR" stop-opacity="1"></stop> + * // <stop offset="1" stop-color="$DATA_COLOR" stop-opacity="0"></stop> + * // </linearGradient> + * linearGradient: true, + * + * // Or customized gradient + * linearGradient: { + * x: [0, 0], // x1, x2 attributes + * y: [0, 0], // y1, y2 attributes + * stops: [ + * // offset, stop-color, stop-opacity + * [0, "#7cb5ec", 1], + * + * // setting 'null' for stop-color, will set its original data color + * [0.5, null, 0], + * + * // setting 'function' for stop-color, will pass data id as argument. + * // It should return color string or null value + * [1, function(id) { return id === "data1" ? "red" : "blue"; }, 0], + * ] + * } + * } + */ + area_above: false, + area_below: false, + area_front: true, + area_linearGradient: false, + area_zerobased: true +}); + +;// ./src/config/Options/shape/bar.ts +/* harmony default export */ var shape_bar = ({ + /** + * Set bar options + * @name bar + * @memberof Options + * @type {object} + * @property {object} bar Bar object + * @property {boolean} [bar.front=false] Set 'bar' to be positioned over(on the top) other shapes elements. + * @property {number} [bar.indices.removeNull=false] Remove nullish data on bar indices positions. + * @property {number} [bar.label.threshold=0] Set threshold ratio to show/hide labels. + * @property {boolean|object} [bar.linearGradient=false] Set the linear gradient on bar.<br><br> + * Or customize by giving below object value: + * - x {Array}: `x1`, `x2` value (default: `[0, 0]`) + * - y {Array}: `y1`, `y2` value (default: `[0, 1]`) + * - stops {Array}: Each item should be having `[offset, stop-color, stop-opacity]` values. + * - (default: `[[0, $DATA_COLOR, 1], [1, $DATA_COLOR, 0]]`) + * @property {boolean} [bar.overlap=false] Bars will be rendered at same position, which will be overlapped each other. (for non-grouped bars only) + * @property {number} [bar.padding=0] The padding pixel value between each bar. + * @property {number} [bar.radius] Set the radius of bar edge in pixel. + * @property {number} [bar.radius.ratio] Set the radius ratio of bar edge in relative the bar's width. + * @property {number} [bar.sensitivity=2] The senstivity offset value for interaction boundary. + * @property {number|Function|object} [bar.width] Change the width of bar chart. + * @property {number} [bar.width.ratio=0.6] Change the width of bar chart by ratio. + * - **NOTE:** Criteria for ratio. + * - When x ticks count is same with the data count, the baseline for ratio is the minimum interval value of x ticks. + * - ex. when timeseries x values are: [2024-01-01, 2024-02-01, 2024-03-01], the minimum interval will be `2024-02-01 ~ 2024-03-01` + * - if the minimum interval is 30px, then ratio=1 means 30px. + * - When x ticks count is lower than the data count, the baseline will be calculated as `chart width / data count`. + * - ex. when chart width is 500, data count is 5, then ratio=1 means 100px. + * @property {number} [bar.width.max] The maximum width value for ratio. + * @property {number} [bar.width.dataname] Change the width of bar for indicated dataset only. + * @property {number} [bar.width.dataname.ratio=0.6] Change the width of bar chart by ratio. + * - **NOTE:** + * - Works only for non-stacked bar + * @property {number} [bar.width.dataname.max] The maximum width value for ratio. + * @property {boolean} [bar.zerobased=true] Set if min or max value will be 0 on bar chart. + * @see [Demo: bar front](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarFront) + * @see [Demo: bar indices](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarIndices) + * @see [Demo: bar overlap](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarOverlap) + * @see [Demo: bar padding](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarPadding) + * @see [Demo: bar radius](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarRadius) + * @see [Demo: bar width](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarWidth) + * @see [Demo: bar width variant](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarWidthVariant) + * @example + * bar: { + * // make bar shape to be positioned over the other shape elements + * front: true, + * + * // remove nullish data on bar indices postions + * indices: { + * removeNull: true + * }, + * + * // will generate follwing linearGradient: + * // for more info: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient + * // <linearGradient x1="0" x2="0" y1="0" y2="1"> + * // <stop offset="0" stop-color="$DATA_COLOR" stop-opacity="1"></stop> + * // <stop offset="1" stop-color="$DATA_COLOR" stop-opacity="0"></stop> + * // </linearGradient> + * linearGradient: true, + * + * // Or customized gradient + * linearGradient: { + * x: [0, 0], // x1, x2 attributes + * y: [0, 0], // y1, y2 attributes + * stops: [ + * // offset, stop-color, stop-opacity + * [0, "#7cb5ec", 1], + * + * // setting 'null' for stop-color, will set its original data color + * [0.5, null, 0], + * + * // setting 'function' for stop-color, will pass data id as argument. + * // It should return color string or null value + * [1, function(id) { return id === "data1" ? "red" : "blue"; }, 0], + * ] + * }, + * + * // remove nullish da + * overlap: true, + * + * padding: 1, + * + * // bar radius + * radius: 10, + * // or + * radius: { + * ratio: 0.5 + * } + * + * label: { + * // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the y Axis domain range value. + * // if data value is below than 0.1, text label will be hidden. + * threshold: 0.1, + * }, + * + * // will not have offset between each bar elements for interaction + * sensitivity: 0, + * + * width: 10, + * + * // or specify width callback. The callback will receive width, targetsNum, maxDataCount as arguments. + * // - width: chart area width + * // - targetsNum: number of targets + * // - maxDataCount: maximum data count among targets + * width: function(width, targetsNum, maxDataCount) { + * return width / (targetsNum * maxDataCount); + * } + * + * // or specify ratio & max + * width: { + * ratio: 0.2, + * max: 20 + * }, + * + * // or specify width per dataset + * width: { + * data1: 20, + * data2: { + * ratio: 0.2, + * max: 20 + * } + * }, + * + * zerobased: false + * } + */ + bar_front: false, + bar_indices_removeNull: false, + bar_label_threshold: 0, + bar_linearGradient: false, + bar_overlap: false, + bar_padding: 0, + bar_radius: void 0, + bar_radius_ratio: void 0, + bar_sensitivity: 2, + bar_width: void 0, + bar_width_ratio: 0.6, + bar_width_max: void 0, + bar_zerobased: true +}); + +;// ./src/config/Options/shape/bubble.ts +/* harmony default export */ var shape_bubble = ({ + /** + * Set bubble options + * @name bubble + * @memberof Options + * @type {object} + * @property {object} bubble bubble object + * @property {number|Function} [bubble.maxR=35] Set the max bubble radius value + * @property {boolean} [bubble.zerobased=false] Set if min or max value will be 0 on bubble chart. + * @example + * bubble: { + * // ex) If 100 is the highest value among data bound, the representation bubble of 100 will have radius of 50. + * // And the lesser will have radius relatively from tha max value. + * maxR: 50, + * + * // or set radius callback + * maxR: function(d) { + * // ex. of d param - {x: Fri Oct 06 2017 00:00:00 GMT+0900, value: 80, id: "data2", index: 5} + * ... + * return Math.sqrt(d.value * 2); + * }, + * zerobased: false + * } + */ + bubble_maxR: 35, + bubble_zerobased: false +}); + +;// ./src/config/Options/shape/candlestick.ts +/* harmony default export */ var shape_candlestick = ({ + /** + * Set candlestick options + * @name candlestick + * @memberof Options + * @type {object} + * @property {object} candlestick Candlestick object + * @property {number} [candlestick.width] Change the width. + * @property {number} [candlestick.width.ratio=0.6] Change the width by ratio. + * @property {number} [candlestick.width.max] The maximum width value for ratio. + * @property {number} [candlestick.width.dataname] Change the width for indicated dataset only. + * @property {number} [candlestick.width.dataname.ratio=0.6] Change the width of bar chart by ratio. + * @property {number} [candlestick.width.dataname.max] The maximum width value for ratio. + * @property {object} [candlestick.color] Color setting. + * @property {string|object} [candlestick.color.down] Change down(bearish) value color. + * @property {string} [candlestick.color.down.dataname] Change down value color for indicated dataset only. + * + * @see [Demo](https://naver.github.io/billboard.js/demo/##Chart.CandlestickChart) + * @example + * candlestick: { + * width: 10, + * + * // or + * width: { + * ratio: 0.2, + * max: 20 + * }, + * + * // or specify width per dataset + * width: { + * data1: 20, + * data2: { + * ratio: 0.2, + * max: 20 + * } + * }, + * color: { + * // spcify bearish color + * down: "red", + * + * // or specify color per dataset + * down: { + * data1: "red", + * data2: "blue", + * } + * } + * } + */ + candlestick_width: void 0, + candlestick_width_ratio: 0.6, + candlestick_width_max: void 0, + candlestick_color_down: "red" +}); + +;// ./src/config/Options/shape/line.ts +/* harmony default export */ var shape_line = ({ + /** + * Set line options + * @name line + * @memberof Options + * @type {object} + * @property {object} line Line object + * @property {boolean} [line.connectNull=false] Set if null data point will be connected or not.<br> + * If true set, the region of null data will be connected without any data point. If false set, the region of null data will not be connected and get empty. + * @property {Array} [line.classes=undefined] If set, used to set a css class on each line. + * @property {boolean} [line.step.type=step] Change step type for step chart.<br> + * **Available values:** + * - step + * - step-before + * - step-after + * @property {boolean} [line.step.tooltipMatch=false] Set to `true` for `step-before` and `step-after` types to have cursor/tooltip match to hovered step's point instead of nearest point. + * @property {boolean|Array} [line.point=true] Set to false to not draw points on linecharts. Or pass an array of line ids to draw points for. + * @property {boolean} [line.zerobased=false] Set if min or max value will be 0 on line chart. + * @example + * line: { + * connectNull: true, + * classes: [ + * "line-class1", + * "line-class2" + * ], + * step: { + * type: "step-after", + * + * // to have cursor/tooltip match to hovered step's point instead of nearest point. + * tooltipMatch: true + * }, + * + * // hide all data points ('point.show=false' also has similar effect) + * point: false, + * + * // show data points for only indicated datas + * point: [ + * "data1", "data3" + * ], + * + * zerobased: false + * } + */ + line_connectNull: false, + line_step_type: "step", + line_step_tooltipMatch: false, + line_zerobased: false, + line_classes: void 0, + line_point: true +}); + +;// ./src/config/Options/shape/scatter.ts +/* harmony default export */ var scatter = ({ + /** + * Set scatter options + * @name scatter + * @memberof Options + * @type {object} + * @property {object} [scatter] scatter object + * @property {boolean} [scatter.zerobased=false] Set if min or max value will be 0 on scatter chart. + * @example + * scatter: { + * connectNull: true, + * step: { + * type: "step-after" + * }, + * + * // hide all data points ('point.show=false' also has similar effect) + * point: false, + * + * // show data points for only indicated datas + * point: [ + * "data1", "data3" + * ], + * + * zerobased: false + * } + */ + scatter_zerobased: false +}); + +;// ./src/config/Options/shape/spline.ts +/* harmony default export */ var spline = ({ + /** + * Set spline options + * - **Available interpolation type values:** + * - basis (d3.curveBasis) + * - basis-closed (d3.curveBasisClosed) + * - basis-open (d3.curveBasisOpen) + * - bundle (d3.curveBundle) + * - cardinal (d3.curveCardinal) + * - cardinal-closed (d3.curveCardinalClosed) + * - cardinal-open (d3.curveCardinalOpen) + * - catmull-rom (d3.curveCatmullRom) + * - catmull-rom-closed (d3.curveCatmullRomClosed) + * - catmull-rom-open (d3.curveCatmullRomOpen) + * - monotone-x (d3.curveMonotoneX) + * - monotone-y (d3.curveMonotoneY) + * - natural (d3.curveNatural) + * - linear-closed (d3.curveLinearClosed) + * - linear (d3.curveLinear) + * - step (d3.curveStep) + * - step-after (d3.curveStepAfter) + * - step-before (d3.curveStepBefore) + * @name spline + * @memberof Options + * @type {object} + * @property {object} spline Spline object + * @property {object} spline.interpolation Spline interpolation object + * @property {string} [spline.interpolation.type="cardinal"] Interpolation type + * @see [Interpolation (d3 v4)](http://bl.ocks.org/emmasaunders/c25a147970def2b02d8c7c2719dc7502) + * @example + * spline: { + * interpolation: { + * type: "cardinal" + * } + * } + */ + spline_interpolation_type: "cardinal" +}); + +;// ./src/config/Options/shape/arc.ts +/* harmony default export */ var shape_arc = ({ + /** + * Set arc options + * @name arc + * @memberof Options + * @type {object} + * @property {object} arc Arc object + * @property {number|Function} [arc.cornerRadius=0] Set corner radius of Arc(donut/gauge/pie/polar) shape. + * - **NOTE:** + * - Corner radius can't surpass the `(outerRadius - innerRadius) /2` of indicated shape. + * @property {number} [arc.cornerRadius.ratio=0] Set ratio relative of outer radius. + * @property {object} [arc.needle] Set needle options. + * @property {boolean} [arc.needle.show=false] Show or hide needle. + * @property {string} [arc.needle.color] Set needle filled color. + * @property {Function} [arc.needle.path] Set custom needle path function. + * - **NOTE:** + * - The path should be starting from 0,0 (which is center) to top center coordinate. + * - The function will receive, `length`{number} parameter which indicating the needle length in pixel relative to radius. + * @property {number} [arc.needle.value] Set needle value. + * - **NOTE:** + * - For single gauge chart, needle will point the data value by default, otherwise will point 0(zero). + * @property {number} [arc.needle.length=100] Set needle length in percentages relative to radius. + * @property {object} [arc.needle.top] Set needle top options. + * @property {number} [arc.needle.top.rx=0] Set needle top [rx radius value](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve). + * @property {number} [arc.needle.top.ry=0] Set needle top [ry radius value](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve). + * @property {number} [arc.needle.top.width=0] Set needle top width in pixel. + * @property {object} [arc.needle.bottom] Set needle bottom options. + * @property {number} [arc.needle.bottom.rx=1] Set needle bottom [rx radius value](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve). + * @property {number} [arc.needle.bottom.ry=1] Set needle bottom [ry radius value](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve). + * @property {number} [arc.needle.bottom.width=15] Set needle bottom width in pixel. + * @property {number} [arc.needle.bottom.len=0] Set needle bottom length in pixel. Setting this value, will make bottom larger starting from center. + * @property {object} [arc.rangeText] Set rangeText options. + * @property {Array} [arc.rangeText.values] Set range text values to be shown around Arc. + * - When `unit: 'absolute'`: Given values are treated as absolute values. + * - When `unit: '%'`: Given values are treated as percentages. + * @property {string} [arc.rangeText.unit="absolute"] Specify the range text unit. + * - "absolute": Show absolute value + * - "%": Show percentage value + * @property {boolean} [arc.rangeText.fiexed=false] Set if range text shown will be fixed w/o data toggle update. Only available for gauge chart. + * @property {Function} [arc.rangeText.format] Set format function for the range text. + * @property {number} [arc.rangeText.position] Set position function or object for the range text. + * @see [Demo: Donut corner radius](https://naver.github.io/billboard.js/demo/#DonutChartOptions.DonutCornerRadius) + * @see [Demo: Donut corner radius](https://naver.github.io/billboard.js/demo/#PieChartOptions.CornerRadius) + * @see [Demo: Donut needle](https://naver.github.io/billboard.js/demo/#DonutChartOptions.DonutNeedle) + * @see [Demo: Donut RangeText](https://naver.github.io/billboard.js/demo/#DonutChartOptions.DonutRangeText) + * @see [Demo: Gauge corner radius](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeCornerRadius) + * @see [Demo: Gauge needle](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeNeedle) + * @see [Demo: Gauge RangeText](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeRangeText) + * @example + * arc: { + * cornerRadius: 12, + * + * // can customize corner radius for each data with function callback + * // + * // The function will receive: + * // - id {string}: Data id + * // - value {number}: Data value + * // - outerRadius {number}: Outer radius value + * cornerRadius: function(id, value, outerRadius) { + * return (id === "data1" && value > 10) ? + * 50 : outerRadius * 1.2; + * }, + * + * // set ratio relative of outer radius + * cornerRadius: { + * ratio: 0.5 + * }, + * + * needle: { + * show: true, + * color: "red", // any valid CSS color + * path: function(length) { + * const len = length - 20; + * + * // will return upper arrow shape path + * // Note: The path should begun from '0,0' coordinate to top center. + * const path = `M 0 -${len + 20} + * L -12 -${len} + * L -5 -${len} + * L -5 0 + * A 1 1 0 0 0 5 0 + * L 5 -${len} + * L 12 -${len} Z`; + * + * return path; + * }, + * value: 40, // will make needle to point value 40. + * length: 80, // needle length in percentages relative to radius. + * + * top: { + * // rx and ry are the two radii of the ellipse; + * // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve + * rx: 1, + * ry: 1, + * width: 5 + * }, + * bottom: { + * // rx and ry are the two radii of the ellipse; + * // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve + * rx: 1, + * ry: 1, + * width: 10 + * len: 10 + * } + * }, + * + * rangeText: { + * values: [15, 30, 50, 75, 95], + * unit: "%", + * fixed: false, // only available for gauge chart + * format: function(v) { + * return v === 15 ? "Fifteen" : v; + * }, + * + * position: function(v) { + * return v === 15 ? {x: 20, y: 10} : null; // can return one props value also. + * }, + * position: {x: 10, y: 15}, + * position: {x: 10} + * } + * } + */ + arc_cornerRadius: 0, + arc_cornerRadius_ratio: 0, + arc_needle_show: false, + arc_needle_color: void 0, + arc_needle_value: void 0, + arc_needle_path: void 0, + arc_needle_length: 100, + arc_needle_top_rx: 0, + arc_needle_top_ry: 0, + arc_needle_top_width: 0, + arc_needle_bottom_rx: 1, + arc_needle_bottom_ry: 1, + arc_needle_bottom_width: 15, + arc_needle_bottom_len: 0, + arc_rangeText_values: void 0, + arc_rangeText_unit: "absolute", + arc_rangeText_fixed: false, + arc_rangeText_format: void 0, + arc_rangeText_position: void 0 +}); + +;// ./src/config/Options/shape/donut.ts +/* harmony default export */ var donut = ({ + /** + * Set donut options + * @name donut + * @memberof Options + * @type {object} + * @property {object} donut Donut object + * @property {boolean} [donut.label.show=true] Show or hide label on each donut piece. + * @property {Function} [donut.label.format] Set formatter for the label on each donut piece. + * @property {number} [donut.label.threshold=0.05] Set threshold ratio to show/hide labels. + * @property {number|Function} [donut.label.ratio=undefined] Set ratio of labels position. + * @property {boolean} [donut.expand=true] Enable or disable expanding donut pieces. + * @property {number} [donut.expand.rate=0.98] Set expand rate. + * @property {number} [donut.expand.duration=50] Set expand transition time in ms. + * @property {number} [donut.width] Set width of donut chart. + * @property {string} [donut.title=""] Set title of donut chart. Use `\n` character for line break. + * - **NOTE:** + * - When `arc.needle.show=true` is set, special template `{=NEEDLE_VALUE}` can be used inside the title text to show current needle value. + * @property {number} [donut.padAngle=0] Set padding between data. + * @property {number} [donut.startingAngle=0] Set starting angle where data draws. + * @example + * donut: { + * label: { + * show: false, + * format: function(value, ratio, id) { + * return d3.format("$")(value); + * + * // to multiline, return with '\n' character + * // return value +"%\nLine1\n2Line2"; + * }, + * + * // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value. + * // if data value is below than 0.1, text label will be hidden. + * threshold: 0.1, + * + * // set ratio callback. Should return ratio value + * ratio: function(d, radius, h) { + * ... + * return ratio; + * }, + * // or set ratio number + * ratio: 0.5 + * }, + * + * // disable expand transition for interaction + * expand: false, + * + * expand: { + * // set duration of expand transition to 500ms. + * duration: 500, + * + * // set expand area rate + * rate: 1 + * }, + * + * width: 10, + * padAngle: 0.2, + * startingAngle: 1, + * title: "Donut Title" + * + * // when 'arc.needle.show=true' is set, can show current needle value. + * title: "Needle value:\n{=NEEDLE_VALUE}", + * + * // title with line break + * title: "Title1\nTitle2" + * } + */ + donut_label_show: true, + donut_label_format: void 0, + donut_label_threshold: 0.05, + donut_label_ratio: void 0, + donut_width: void 0, + donut_title: "", + donut_expand: {}, + donut_expand_rate: 0.98, + donut_expand_duration: 50, + donut_padAngle: 0, + donut_startingAngle: 0 +}); + +;// ./src/config/Options/shape/funnel.ts +/* harmony default export */ var shape_funnel = ({ + /** + * Set funnel options + * @name funnel + * @memberof Options + * @type {object} + * @property {object} funnel Funnel object + * @property {number} [funnel.neck.width=0] Set funnel neck width. + * @property {number} [funnel.neck.height=0] Set funnel neck height. + * @property {number} [funnel.neck.width.ratio] Set funnel neck width in ratio. + * @property {number} [funnel.neck.height.ratio] Set funnel neck height in ratio. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Chart.PolarChart) + * @example + * funnel: { + * neck: { + * width: 200, + * height: 100, + * + * // or specify as ratio value (relative to the chart size) + * width: { + * ratio: 0.5 + * }, + * height: { + * ratio: 0.5 + * } + * } + * } + */ + funnel_neck_width: 0, + funnel_neck_height: 0 +}); + +;// ./src/config/Options/shape/gauge.ts +/* harmony default export */ var shape_gauge = ({ + /** + * Set gauge options + * @name gauge + * @memberof Options + * @type {object} + * @property {object} gauge Gauge object + * @property {boolean} [gauge.background=""] Set background color. (The `.bb-chart-arcs-background` element) + * @property {boolean} [gauge.fullCircle=false] Show full circle as donut. When set to 'true', the max label will not be showed due to start and end points are same location. + * @property {boolean} [gauge.label.show=true] Show or hide label on gauge. + * @property {Function} [gauge.label.extents] Set customized min/max label text. + * @property {Function} [gauge.label.format] Set formatter for the label on gauge. Label text can be multilined with `\n` character.<br> + * Will pass following arguments to the given function: + * - value {number}: absolute value + * - ratio {number}: value's ratio + * - id {string}: data's id value + * @property {number|Function} [gauge.label.ratio=undefined] Set ratio of labels position. + * @property {number} [gauge.label.threshold=0] Set threshold ratio to show/hide labels. + * @property {boolean} [gauge.expand=true] Enable or disable expanding gauge. + * @property {number} [gauge.expand.rate=0.98] Set expand rate. + * @property {number} [gauge.expand.duration=50] Set the expand transition time in milliseconds. + * @property {boolean} [gauge.enforceMinMax=false] Enforce to given min/max value. + * - When `gauge.min=50` and given value is `30`, gauge will render as empty value. + * - When `gauge.max=100` and given value is `120`, gauge will render till 100, not surpassing max value. + * @property {number} [gauge.min=0] Set min value of the gauge. + * @property {number} [gauge.max=100] Set max value of the gauge. + * @property {number} [gauge.startingAngle=-1 * Math.PI / 2] Set starting angle where data draws. + * + * **Limitations:** + * - when `gauge.fullCircle=false`: + * - -1 * Math.PI / 2 <= startingAngle <= Math.PI / 2 + * - `startingAngle <= -1 * Math.PI / 2` defaults to `-1 * Math.PI / 2` + * - `startingAngle >= Math.PI / 2` defaults to `Math.PI / 2` + * - when `gauge.fullCircle=true`: + * - -1 * Math.PI < startingAngle < Math.PI + * - `startingAngle < -1 * Math.PI` defaults to `Math.PI` + * - `startingAngle > Math.PI` defaults to `Math.PI` + * @property {number} [gauge.arcLength=100] Set the length of the arc to be drawn in percent from -100 to 100.<br> + * Negative value will draw the arc **counterclockwise**. Need to be used in conjunction with `gauge.fullCircle=true`. + * + * **Limitations:** + * - -100 <= arcLength (in percent) <= 100 + * - 'arcLength < -100' defaults to -100 + * - 'arcLength > 100' defaults to 100 + * @property {string} [gauge.title=""] Set title of gauge chart. Use `\n` character for line break. + * - **NOTE:** + * - When `arc.needle.show=true` is set, special template `{=NEEDLE_VALUE}` can be used inside the title text to show current needle value. + * @property {string} [gauge.units] Set units of the gauge. + * @property {number} [gauge.width] Set width of gauge chart. + * @property {string} [gauge.type="single"] Set type of gauge to be displayed.<br><br> + * **Available Values:** + * - single + * - multi + * @property {number} [gauge.arcs.minWidth=5] Set minimal width of gauge arcs until the innerRadius disappears. + * @see [Demo: enforceMinMax, min/max](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeMinMax) + * @see [Demo: archLength](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeArcLength) + * @see [Demo: startingAngle](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeStartingAngle) + * @see [Demo: labelRatio](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeLabelRatio) + * @example + * gauge: { + * background: "#eee", // will set 'fill' css prop for '.bb-chart-arcs-background' classed element. + * fullCircle: false, + * label: { + * show: false, + * format: function(value, ratio, id) { + * return value; + * + * // to multiline, return with '\n' character + * // return value +"%\nLine1\n2Line2"; + * }, + * + * extents: function(value, isMax) { + * return (isMax ? "Max:" : "Min:") + value; + * }, + * + * // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value. + * // if data value is below than 0.1, text label will be hidden. + * threshold: 0.1, + * + * // set ratio callback. Should return ratio value + * ratio: function(d, radius, h) { + * ... + * return ratio; + * }, + * // or set ratio number + * ratio: 0.5 + * }, + * + * // disable expand transition for interaction + * expand: false, + * + * expand: { + * // set duration of expand transition to 500ms. + * duration: 500, + * + * // set expand area rate + * rate: 1 + * }, + * + * // enforce min/max value. + * // when given value < min, will render as empty value. + * // when value > max, will render to given max value not surpassing it. + * enforceMinMax: true, + * + * min: -100, + * max: 200, + * type: "single" // or 'multi' + * title: "Title Text", + * + * // when 'arc.needle.show=true' is set, can show current needle value. + * title: "Needle value:\n{=NEEDLE_VALUE}", + * + * units: "%", + * width: 10, + * startingAngle: -1 * Math.PI / 2, + * arcLength: 100, + * arcs: { + * minWidth: 5 + * } + * } + */ + gauge_background: "", + gauge_fullCircle: false, + gauge_label_show: true, + gauge_label_extents: void 0, + gauge_label_format: void 0, + gauge_label_ratio: void 0, + gauge_label_threshold: 0, + gauge_enforceMinMax: false, + gauge_min: 0, + gauge_max: 100, + gauge_type: "single", + gauge_startingAngle: -1 * Math.PI / 2, + gauge_arcLength: 100, + gauge_title: "", + gauge_units: void 0, + gauge_width: void 0, + gauge_arcs_minWidth: 5, + gauge_expand: {}, + gauge_expand_rate: 0.98, + gauge_expand_duration: 50 +}); + +;// ./src/config/Options/shape/pie.ts +/* harmony default export */ var pie = ({ + /** + * Set pie options + * @name pie + * @memberof Options + * @type {object} + * @property {object} pie Pie object + * @property {boolean} [pie.label.show=true] Show or hide label on each pie piece. + * @property {Function} [pie.label.format] Set formatter for the label on each pie piece. + * @property {number|Function} [pie.label.ratio=undefined] Set ratio of labels position. + * @property {number} [pie.label.threshold=0.05] Set threshold ratio to show/hide labels. + * @property {boolean|object} [pie.expand=true] Enable or disable expanding pie pieces. + * @property {number} [pie.expand.rate=0.98] Set expand rate. + * @property {number} [pie.expand.duration=50] Set expand transition time in ms. + * @property {number|object} [pie.innerRadius=0] Sets the inner radius of pie arc. + * @property {number|object|undefined} [pie.outerRadius=undefined] Sets the outer radius of pie arc. + * @property {number} [pie.padAngle=0] Set padding between data. + * @property {number} [pie.padding=0] Sets the gap between pie arcs. + * @property {number} [pie.startingAngle=0] Set starting angle where data draws. + * @see [Demo: expand.rate](https://naver.github.io/billboard.js/demo/#PieChartOptions.ExpandRate) + * @see [Demo: innerRadius](https://naver.github.io/billboard.js/demo/#PieChartOptions.InnerRadius) + * @see [Demo: outerRadius](https://naver.github.io/billboard.js/demo/#PieChartOptions.OuterRadius) + * @see [Demo: startingAngle](https://naver.github.io/billboard.js/demo/#PieChartOptions.StartingAngle) + * @example + * pie: { + * label: { + * show: false, + * format: function(value, ratio, id) { + * return d3.format("$")(value); + * + * // to multiline, return with '\n' character + * // return value +"%\nLine1\n2Line2"; + * }, + * + * // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value. + * // if data value is below than 0.1, text label will be hidden. + * threshold: 0.1, + * + * // set ratio callback. Should return ratio value + * ratio: function(d, radius, h) { + * ... + * return ratio; + * }, + * // or set ratio number + * ratio: 0.5 + * }, + * + * // disable expand transition for interaction + * expand: false, + * + * expand: { + * // set duration of expand transition to 500ms. + * duration: 500, + * + * // set expand area rate + * rate: 1 + * }, + * + * innerRadius: 0, + * + * // set different innerRadius for each data + * innerRadius: { + * data1: 10, + * data2: 0 + * }, + * + * outerRadius: 100, + * + * // set different outerRadius for each data + * outerRadius: { + * data1: 50, + * data2: 100 + * } + * + * padAngle: 0.1, + * padding: 0, + * startingAngle: 1 + * } + */ + pie_label_show: true, + pie_label_format: void 0, + pie_label_ratio: void 0, + pie_label_threshold: 0.05, + pie_expand: {}, + pie_expand_rate: 0.98, + pie_expand_duration: 50, + pie_innerRadius: 0, + pie_outerRadius: void 0, + pie_padAngle: 0, + pie_padding: 0, + pie_startingAngle: 0 +}); + +;// ./src/config/Options/shape/polar.ts +/* harmony default export */ var shape_polar = ({ + /** + * Set polar options + * @name polar + * @memberof Options + * @type {object} + * @property {object} polar Polar object + * @property {boolean} [polar.label.show=true] Show or hide label on each polar piece. + * @property {Function} [polar.label.format] Set formatter for the label on each polar piece. + * @property {number} [polar.label.threshold=0.05] Set threshold ratio to show/hide labels. + * @property {number|Function} [polar.label.ratio=undefined] Set ratio of labels position. + * @property {number} [polar.level.depth=3] Set the level depth. + * @property {boolean} [polar.level.show=true] Show or hide level. + * @property {string} [polar.level.text.backgroundColor="#fff"] Set label text's background color. + * @property {Function} [polar.level.text.format] Set format function for the level value.<br>- Default value: `(x) => x % 1 === 0 ? x : x.toFixed(2)` + * @property {boolean} [polar.level.text.show=true] Show or hide level text. + * @property {number} [polar.padAngle=0] Set padding between data. + * @property {number} [polar.padding=0] Sets the gap between pie arcs. + * @property {number} [polar.startingAngle=0] Set starting angle where data draws. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Chart.PolarChart) + * @example + * polar: { + * label: { + * show: false, + * format: function(value, ratio, id) { + * return d3.format("$")(value); + * + * // to multiline, return with '\n' character + * // return value +"%\nLine1\n2Line2"; + * }, + * + * // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value. + * // if data value is below than 0.1, text label will be hidden. + * threshold: 0.1, + * + * // set ratio callback. Should return ratio value + * ratio: function(d, radius, h) { + * ... + * return ratio; + * }, + * // or set ratio number + * ratio: 0.5 + * }, + * level: { + * depth: 3, + * max: 500, + * show: true, + * text: { + * format: function(x) { + * return x + "%"; + * }, + * show: true, + * backgroundColor: "red" + * } + * }, + * padAngle: 0.1, + * padding: 0, + * startingAngle: 1 + * } + */ + polar_label_show: true, + polar_label_format: void 0, + polar_label_threshold: 0.05, + polar_label_ratio: void 0, + polar_level_depth: 3, + polar_level_max: void 0, + polar_level_show: true, + polar_level_text_backgroundColor: "#fff", + polar_level_text_format: (x) => x % 1 === 0 ? x : x.toFixed(2), + polar_level_text_show: true, + polar_padAngle: 0, + polar_padding: 0, + polar_startingAngle: 0 +}); + +;// ./src/config/Options/shape/radar.ts +/* harmony default export */ var shape_radar = ({ + /** + * Set radar options + * - **NOTE:** + * > When x tick text contains `\n`, it's used as line break. + * @name radar + * @memberof Options + * @type {object} + * @property {object} radar Radar object + * @property {number} [radar.axis.max=undefined] The max value of axis. If not given, it'll take the max value from the given data. + * @property {boolean} [radar.axis.line.show=true] Show or hide axis line. + * @property {number} [radar.axis.text.position.x=0] x coordinate position, relative the original. + * @property {number} [radar.axis.text.position.y=0] y coordinate position, relative the original. + * @property {boolean} [radar.axis.text.show=true] Show or hide axis text. + * @property {boolean} [radar.direction.clockwise=false] Set the direction to be drawn. + * @property {number} [radar.level.depth=3] Set the level depth. + * @property {boolean} [radar.level.show=true] Show or hide level. + * @property {Function} [radar.level.text.format] Set format function for the level value.<br>- Default value: `(x) => x % 1 === 0 ? x : x.toFixed(2)` + * @property {boolean} [radar.level.text.show=true] Show or hide level text. + * @property {number} [radar.size.ratio=0.87] Set size ratio. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Chart.RadarChart) + * @see [Demo: radar axis](https://naver.github.io/billboard.js/demo/#RadarChartOptions.RadarAxis) + * @see [Demo: radar level](https://naver.github.io/billboard.js/demo/#RadarChartOptions.RadarLevel) + * @see [Demo: radar size](https://naver.github.io/billboard.js/demo/#RadarChartOptions.RadarSize) + * @see [Demo: radar axis multiline](https://naver.github.io/billboard.js/demo/#RadarChartOptions.RadarAxisMultiline) + * @example + * radar: { + * axis: { + * max: 50, + * line: { + * show: false + * }, + * text: { + * position: { + * x: 0, + * y: 0 + * }, + * show: false + * } + * }, + * direction: { + * clockwise: true + * }, + * level: { + * show: false, + * text: { + * format: function(x) { + * return x + "%"; + * }, + * show: true + * } + * }, + * size: { + * ratio: 0.7 + * } + * } + */ + radar_axis_max: void 0, + radar_axis_line_show: true, + radar_axis_text_show: true, + radar_axis_text_position: {}, + radar_level_depth: 3, + radar_level_show: true, + radar_level_text_format: (x) => x % 1 === 0 ? x : x.toFixed(2), + radar_level_text_show: true, + radar_size_ratio: 0.87, + radar_direction_clockwise: false +}); + +;// ./src/config/Options/shape/treemap.ts +/* harmony default export */ var shape_treemap = ({ + /** + * Set treemap options + * @name treemap + * @memberof Options + * @type {object} + * @property {object} treemap Treemap object + * @property {string} [treemap.tile="binary"] Treemap tile type + * - **Available tile type values:** + * - binary ([d3.treemapBinary](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapBinary)) + * - dice ([d3.treemapDice](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapDice)) + * - slice ([d3.treemapSlice](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapSlice)) + * - sliceDice ([d3.treemapSliceDice](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapSliceDice)) + * - squrify ([d3.treemapSquarify](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapSquarify)) + * - resquarify ([d3.treemapResquarify](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapResquarify)) + * @property {Function} [treemap.label.format] Set formatter for the label text. + * @property {number} [treemap.label.threshold=0.05] Set threshold ratio to show/hide labels text. + * @property {number} [treemap.label.show=true] Show or hide label text. + * @see [Demo: treemap](https://naver.github.io/billboard.js/demo/#Chart.TreemapChart) + * @example + * treemap: { + * // "binary", "dice", "slice", "sliceDice", "squrify", "resquarify" + * tile: "dice", + * + * label: { + * // show or hide label text + * show: false, + * + * // set label text formatter + * format: function(value, ratio, id) { + * return d3.format("$")(value); + * + * // to multiline, return with '\n' character + * // return value +"%\nLine1\n2Line2"; + * }, + * + * // set ratio number + * ratio: 0.05 + * } + * } + */ + treemap_tile: "binary", + treemap_label_format: void 0, + treemap_label_threshold: 0.05, + treemap_label_show: true +}); + +;// ./src/config/resolver/shape.ts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +function extendAxis(module, option) { + extend(ChartInternal.prototype, Object.values(internal).concat(module)); + extend(Chart.prototype, api); + Options.setOptions(Object.values(options).concat(option || [])); +} +function extendLine(module, option) { + extendAxis([point_common, point, line].concat(module || [])); + Options.setOptions([common_point, shape_line].concat(option || [])); +} +function extendArc(module, option) { + extend(ChartInternal.prototype, [arc, point_common].concat(module || [])); + Options.setOptions([common_point].concat(option || [])); +} +let resolver_shape_area = () => (extendLine(shape_area, [Options_shape_area]), (resolver_shape_area = () => TYPE.AREA)()); +let areaLineRange = () => (extendLine(shape_area, [Options_shape_area]), (areaLineRange = () => TYPE.AREA_LINE_RANGE)()); +let areaStepRange = () => (extendLine(shape_area, [Options_shape_area]), (areaStepRange = () => TYPE.AREA_STEP_RANGE)()); +let areaSpline = () => (extendLine(shape_area, [Options_shape_area, spline]), (areaSpline = () => TYPE.AREA_SPLINE)()); +let areaSplineRange = () => (extendLine(shape_area, [Options_shape_area, spline]), (areaSplineRange = () => TYPE.AREA_SPLINE_RANGE)()); +let areaStep = () => (extendLine(shape_area, [Options_shape_area]), (areaStep = () => TYPE.AREA_STEP)()); +let resolver_shape_line = () => (extendLine(), (resolver_shape_line = () => TYPE.LINE)()); +let shape_spline = () => (extendLine(void 0, [spline]), (shape_spline = () => TYPE.SPLINE)()); +let step = () => (extendLine(), (step = () => TYPE.STEP)()); +let shape_donut = () => (extendArc(void 0, [shape_arc, donut]), (shape_donut = () => TYPE.DONUT)()); +let resolver_shape_gauge = () => (extendArc([gauge], [shape_arc, shape_gauge]), (resolver_shape_gauge = () => TYPE.GAUGE)()); +let shape_pie = () => (extendArc(void 0, [shape_arc, pie]), (shape_pie = () => TYPE.PIE)()); +let resolver_shape_polar = () => (extendArc([polar], [shape_arc, shape_polar]), (resolver_shape_polar = () => TYPE.POLAR)()); +let resolver_shape_radar = () => (extendArc( + [internal.eventrect, point, radar], + [common_point, shape_radar, { axis_x_categories: options.optAxis.axis_x_categories }] +), (resolver_shape_radar = () => TYPE.RADAR)()); +let resolver_shape_bar = () => (extendAxis([bar, point_common], [shape_bar, common_point]), (resolver_shape_bar = () => TYPE.BAR)()); +let resolver_shape_bubble = () => (extendAxis( + [point_common, point, bubble], + [shape_bubble, common_point] +), (resolver_shape_bubble = () => TYPE.BUBBLE)()); +let resolver_shape_candlestick = () => (extendAxis( + [candlestick, point_common], + [shape_candlestick, common_point] +), (resolver_shape_candlestick = () => TYPE.CANDLESTICK)()); +let shape_scatter = () => (extendAxis( + [point_common, point], + [common_point, scatter] +), (shape_scatter = () => TYPE.SCATTER)()); +let resolver_shape_funnel = () => (extendArc([funnel], [shape_funnel]), (resolver_shape_funnel = () => TYPE.FUNNEL)()); +let resolver_shape_treemap = () => (extendAxis([treemap], [shape_treemap]), (resolver_shape_treemap = () => TYPE.TREEMAP)()); + +;// ./src/core.ts + + +let defaults = {}; +const bb = { + /** + * Version information + * @property {string} version version + * @example + * bb.version; // "1.0.0" + * @memberof bb + */ + version: "3.14.2", + /** + * Generate chart + * - **NOTE:** Bear in mind for the possiblity of ***throwing an error***, during the generation when: + * - Unused option value is given. + * - ex) For `data.type="pie"` option, setting 'axis' option can cause unexpected generation error. + * - Insufficient value is given for certain option used. + * - ex) `data: { x: "x", columns: [["x"], ["data1", 30, 200, 100]] }` + * @param {Options} config chart options + * @memberof bb + * @returns {Chart} + * @see {@link Options} for different generation options + * @see {@link Chart} for different methods API + * @example + * <!-- chart holder --> + * <div id="LineChart"></div> + * @example + * // Generate chart with options + * var chart = bb.generate({ + * "bindto": "#LineChart" + * "data": { + * "columns": [ + * ["data1", 30, 200, 100, 400, 150, 250], + * ["data2", 50, 20, 10, 40, 15, 25] + * ], + * "type": "line" + * } + * }); + * + * // call some API + * // ex) get the data of 'data1' + * chart.data("data1"); + * @example + * // Generate chart by importing ESM + * // Import types to be used only, where this will make smaller bundle size. + * import bb, { + * area, + * areaLineRange, + * areaSpline, + * areaSplineRange, + * areaStep, + * bar, + * bubble, + * donut, + * gauge, + * line, + * pie, + * polar, + * radar, + * scatter, + * spline, + * step + * } + * + * bb.generate({ + * "bindto": "#LineChart" + * "data": { + * "columns": [ + * ["data1", 30, 200, 100, 400, 150, 250], + * ["data2", 50, 20, 10, 40, 15, 25] + * ] + * }, + * type: line(), + * + * // or + * types: { + * data1: bar(), + * data2: step() + * } + * }); + */ + generate(config) { + const options = mergeObj({}, defaults, config); + const inst = new Chart(options); + inst.internal.charts = this.instance; + this.instance.push(inst); + return inst; + }, + /** + * Set or get global default options. + * - **NOTE:** + * - The options values settings are valid within page context only. + * - If is called multiple times, will override the last value. + * @param {Options} options chart options + * @memberof bb + * @returns {Options} + * @see {@link Options} + * @example + * // Set same option value as for `.generate()` + * bb.defaults({ + * data: { + * type: "bar" + * } + * }); + * + * bb.defaults(); // {data:{type: "bar"}} + * + * // data.type defaults to 'bar' + * var chart = bb.generate({ ... }); + */ + defaults(options) { + if (isObject(options)) { + defaults = options; + } + return defaults; + }, + /** + * An array containing instance created + * @property {Array} instance instance array + * @example + * // generate charts + * var chart1 = bb.generate(...); + * var chart2 = bb.generate(...); + * + * bb.instance; // [ chart1, chart2, ... ] + * @memberof bb + */ + instance: [], + /** + * Namespace for plugins + * @property {object} plugin plugin namespace + * @example + * // Stanford diagram plugin + * bb.plugin.stanford; + * @memberof bb + */ + plugin: {} +}; + + +;// ./src/index.ts + + +Object.keys(resolver_shape_namespaceObject).forEach((v) => resolver_shape_namespaceObject[v]()); +Object.keys(resolver_interaction_namespaceObject).forEach((v) => resolver_interaction_namespaceObject[v]()); + + +}(); +/******/ return __webpack_exports__; +/******/ })() +; +}); \ No newline at end of file diff --git a/release/3.14.2/dist/billboard.min.css b/release/3.14.2/dist/billboard.min.css new file mode 100644 index 000000000..b509ebec8 --- /dev/null +++ b/release/3.14.2/dist/billboard.min.css @@ -0,0 +1,9 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + */.bb svg{font:10px sans-serif;-webkit-tap-highlight-color:rgba(0,0,0,0)}.bb path,.bb line{fill:none;stroke:#000}.bb text,.bb .bb-button{-webkit-user-select:none;-moz-user-select:none;user-select:none}.bb-legend-item-tile,.bb-xgrid-focus,.bb-ygrid-focus,.bb-ygrid{shape-rendering:crispEdges}.bb-chart-arcs .bb-needle,.bb-chart-arc .bb-gauge-value{fill:#000}.bb-chart-arc path{stroke:#fff}.bb-chart-arc rect{stroke:#fff;stroke-width:1}.bb-chart-arc text{fill:#fff;font-size:13px}.bb-chart-funnels path{stroke-width:0}.bb-chart-funnels+.bb-chart-texts text{font-size:13px;fill:#fff}.bb-axis{shape-rendering:crispEdges}.bb-axis .bb-axis-x-tooltip,.bb-axis .bb-axis-y-tooltip,.bb-axis .bb-axis-y2-tooltip{font-size:1em;fill:#fff;white-space:nowrap}.bb-grid{pointer-events:none}.bb-grid line{stroke:#aaa}.bb-grid text{fill:#aaa}.bb-xgrid,.bb-ygrid{stroke-dasharray:3 3}.bb-text.bb-empty{fill:gray;font-size:2em}.bb-line{stroke-width:1px}.bb-circle._expanded_{stroke-width:1px;stroke:#fff}.bb-selected-circle{fill:#fff;stroke-width:2px}.bb-bar{stroke-width:0}.bb-bar._expanded_{fill-opacity:.75}.bb-candlestick{stroke-width:1px}.bb-candlestick._expanded_{fill-opacity:.75}.bb-target.bb-focused,.bb-circles.bb-focused{opacity:1}.bb-target.bb-focused path.bb-line,.bb-target.bb-focused path.bb-step,.bb-circles.bb-focused path.bb-line,.bb-circles.bb-focused path.bb-step{stroke-width:2px}.bb-target.bb-defocused,.bb-circles.bb-defocused{opacity:.3!important}.bb-target.bb-defocused .text-overlapping,.bb-circles.bb-defocused .text-overlapping{opacity:.05!important}.bb-region{fill:#4682b4}.bb-region rect{fill-opacity:.1}.bb-zoom-brush,.bb-brush .extent{fill-opacity:.1}.bb-legend-item{font-size:12px;user-select:none}.bb-legend-item-hidden{opacity:.15}.bb-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.bb-title{font:14px sans-serif}.bb-chart-treemaps rect{stroke:#fff;stroke-width:1px}.bb-tooltip-container{z-index:10;user-select:none}.bb-tooltip{border-collapse:collapse;border-spacing:0;background-color:#fff;empty-cells:show;opacity:.9;box-shadow:7px 7px 12px -9px #777;white-space:nowrap}.bb-tooltip tr{border:1px solid #CCC}.bb-tooltip th{background-color:#aaa;font-size:14px;padding:2px 5px;text-align:left;color:#fff}.bb-tooltip td{font-size:13px;padding:3px 6px;background-color:#fff;border-left:1px dotted #999}.bb-tooltip td>span,.bb-tooltip td>svg{display:inline-block;width:10px;height:10px;margin-right:6px}.bb-tooltip.value{text-align:right}.bb-area{stroke-width:0;opacity:.2}.bb-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}text.bb-chart-arcs-gauge-title{dominant-baseline:middle;font-size:2.7em}.bb-chart-arcs .bb-chart-arcs-background{fill:#e0e0e0;stroke:#fff}.bb-chart-arcs .bb-chart-arcs-gauge-unit{fill:#000;font-size:16px}.bb-chart-arcs .bb-chart-arcs-gauge-max,.bb-chart-arcs .bb-chart-arcs-gauge-min{fill:#777}.bb-chart-arcs .bb-levels circle{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-arcs .bb-levels text{fill:#848282}.bb-chart-radars .bb-levels polygon{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-levels text{fill:#848282}.bb-chart-radars .bb-axis line{stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-axis text{font-size:1.15em;cursor:default}.bb-chart-radars .bb-shapes polygon{fill-opacity:.2;stroke-width:1px}.bb-button{position:absolute;top:10px;right:10px}.bb-button .bb-zoom-reset{font-size:11px;border:solid 1px #ccc;background-color:#fff;padding:5px;border-radius:5px;cursor:pointer} diff --git a/release/3.14.2/dist/billboard.min.js b/release/3.14.2/dist/billboard.min.js new file mode 100644 index 000000000..f1dd7b26b --- /dev/null +++ b/release/3.14.2/dist/billboard.min.js @@ -0,0 +1,33 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + */(function(dt,Zt){if(typeof exports=="object"&&typeof module=="object")module.exports=Zt(require("d3-axis"),require("d3-brush"),require("d3-drag"),require("d3-dsv"),require("d3-ease"),require("d3-hierarchy"),require("d3-interpolate"),require("d3-scale"),require("d3-selection"),require("d3-shape"),require("d3-time-format"),require("d3-transition"),require("d3-zoom"));else if(typeof define=="function"&&define.amd)define(["d3-axis","d3-brush","d3-drag","d3-dsv","d3-ease","d3-hierarchy","d3-interpolate","d3-scale","d3-selection","d3-shape","d3-time-format","d3-transition","d3-zoom"],Zt);else{var ge=typeof exports=="object"?Zt(require("d3-axis"),require("d3-brush"),require("d3-drag"),require("d3-dsv"),require("d3-ease"),require("d3-hierarchy"),require("d3-interpolate"),require("d3-scale"),require("d3-selection"),require("d3-shape"),require("d3-time-format"),require("d3-transition"),require("d3-zoom")):Zt(dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3);for(var fe in ge)(typeof exports=="object"?exports:dt)[fe]=ge[fe]}})(this,function(Je,dt,Zt,ge,fe,zi,Fi,Mi,Xi,Bi,Ni,Gi,Vi){return function(){"use strict";var Yi=[,,function(I){I.exports=Xi},function(I){I.exports=Ni},function(I){I.exports=dt},function(I){I.exports=ge},function(I){I.exports=Zt},function(I){I.exports=Mi},function(I){I.exports=Gi},function(I){I.exports=Bi},function(I){I.exports=Vi},function(I){I.exports=Je},function(I){I.exports=fe},function(I){I.exports=Fi},function(I){I.exports=zi}],Qe={};function U(I){var xt=Qe[I];if(xt!==void 0)return xt.exports;var w=Qe[I]={exports:{}};return Yi[I](w,w.exports,U),w.exports}(function(){U.d=function(I,xt){for(var w in xt)U.o(xt,w)&&!U.o(I,w)&&Object.defineProperty(I,w,{enumerable:!0,get:xt[w]})}})(),function(){U.o=function(I,xt){return Object.prototype.hasOwnProperty.call(I,xt)}}(),function(){U.r=function(I){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(I,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(I,"__esModule",{value:!0})}}();var ke={};return function(){U.r(ke),U.d(ke,{bb:function(){return Ii},default:function(){return Ii}});var I={};U.r(I),U.d(I,{selection:function(){return Fs},subchart:function(){return Ms},zoom:function(){return Xs}});var xt={};U.r(xt),U.d(xt,{area:function(){return fi},areaLineRange:function(){return pi},areaSpline:function(){return _i},areaSplineRange:function(){return mi},areaStep:function(){return $i},areaStepRange:function(){return xi},bar:function(){return Ci},bubble:function(){return Ei},candlestick:function(){return ki},donut:function(){return Ti},funnel:function(){return Pi},gauge:function(){return Ai},line:function(){return yi},pie:function(){return wi},polar:function(){return Si},radar:function(){return Ri},scatter:function(){return Li},spline:function(){return bi},step:function(){return vi},treemap:function(){return Oi}});var w=U(2),pe=U(3),ji=Object.defineProperty,ts=Object.getOwnPropertySymbols,Hi=Object.prototype.hasOwnProperty,Wi=Object.prototype.propertyIsEnumerable,es=(e,t,s)=>t in e?ji(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Z=(e,t)=>{for(var s in t||(t={}))Hi.call(t,s)&&es(e,s,t[s]);if(ts)for(var s of ts(t))Wi.call(t,s)&&es(e,s,t[s]);return e};const D={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},G={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},xe={area:"bb-area",areas:"bb-areas"},at={axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},vt={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},Ct={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},ut={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},Le={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},Bt={dragarea:"bb-dragarea",INCLUDED:"_included_"},re={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},_t={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},Y={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},Et={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},Tt={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},q={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},et={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},It={level:"bb-level",levels:"bb-levels"},ss={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},le={region:"bb-region",regions:"bb-regions"},Q={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},st={shape:"bb-shape",shapes:"bb-shapes"},is={brush:"bb-brush",subchart:"bb-subchart"},gt={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},_e={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},ns={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},Pe={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var B=Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z({},D),G),xe),at),vt),Ct),ut),Le),Bt),_t),Y),Et),Tt),q),re),et),ss),le),Q),st),is),gt),_e),ns),Pe),Ui={boost_useCssRule:!1,boost_useWorker:!1},Zi={color_pattern:[],color_tiles:void 0,color_threshold:{},color_onover:void 0},qi={legend_contents_bindto:void 0,legend_contents_template:"<span style='color:#fff;padding:5px;background-color:{=COLOR}'>{=TITLE}</span>",legend_equally:!1,legend_hide:!1,legend_inset_anchor:"top-left",legend_inset_x:10,legend_inset_y:0,legend_inset_step:void 0,legend_item_interaction:!0,legend_item_dblclick:!1,legend_item_onclick:void 0,legend_item_onover:void 0,legend_item_onout:void 0,legend_item_tile_width:10,legend_item_tile_height:10,legend_item_tile_r:5,legend_item_tile_type:"rectangle",legend_format:void 0,legend_padding:0,legend_position:"bottom",legend_show:!0,legend_tooltip:!1,legend_usePoint:!1},Ki={bindto:"#chart",background:{},clipPath:!0,svg_classname:void 0,size_width:void 0,size_height:void 0,padding:!0,padding_mode:void 0,padding_left:void 0,padding_right:void 0,padding_top:void 0,padding_bottom:void 0,resize_auto:!0,resize_timer:!0,onclick:void 0,onover:void 0,onout:void 0,onresize:void 0,onresized:void 0,onbeforeinit:void 0,oninit:void 0,onafterinit:void 0,onrendered:void 0,transition_duration:250,plugins:[],render:{},regions:[]},Ji={title_text:void 0,title_padding:{top:0,right:0,bottom:0,left:0},title_position:"center"},Qi={tooltip_show:!0,tooltip_doNotHide:!1,tooltip_grouped:!0,tooltip_format_title:void 0,tooltip_format_name:void 0,tooltip_format_value:void 0,tooltip_position:void 0,tooltip_contents:{},tooltip_init_show:!1,tooltip_init_x:0,tooltip_init_position:void 0,tooltip_linked:!1,tooltip_linked_name:"",tooltip_onshow:()=>{},tooltip_onhide:()=>{},tooltip_onshown:()=>{},tooltip_onhidden:()=>{},tooltip_order:null},tn={data_x:void 0,data_idConverter:e=>e,data_names:{},data_classes:{},data_type:void 0,data_types:{},data_order:"desc",data_groups:[],data_groupsZeroAs:"positive",data_color:void 0,data_colors:{},data_labels:{},data_labels_backgroundColors:void 0,data_labels_colors:void 0,data_labels_position:{},data_hide:!1,data_filter:void 0,data_onclick:()=>{},data_onover:()=>{},data_onout:()=>{},data_onshown:void 0,data_onhidden:void 0,data_onmin:void 0,data_onmax:void 0,data_url:void 0,data_headers:void 0,data_json:void 0,data_rows:void 0,data_columns:void 0,data_mimeType:"csv",data_keys:void 0,data_empty_label_text:""},en={interaction_enabled:!0,interaction_brighten:!0,interaction_inputType_mouse:!0,interaction_inputType_touch:{},interaction_onout:!0},me=U(4);function sn(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function nn(e){const t=typeof(e==null?void 0:e.requestAnimationFrame)=="function"&&typeof(e==null?void 0:e.cancelAnimationFrame)=="function",s=typeof(e==null?void 0:e.requestIdleCallback)=="function"&&typeof(e==null?void 0:e.cancelIdleCallback)=="function",i=a=>setTimeout(a,1),n=a=>clearTimeout(a);return[t?e.requestAnimationFrame:i,t?e.cancelAnimationFrame:n,s?e.requestIdleCallback:i,s?e.cancelIdleCallback:n]}const j=sn(),ot=j==null?void 0:j.document,[an,Tr,as,Ar]=nn(j);var on=Object.defineProperty,os=Object.getOwnPropertySymbols,rn=Object.prototype.hasOwnProperty,ln=Object.prototype.propertyIsEnumerable,rs=(e,t,s)=>t in e?on(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,ls=(e,t)=>{for(var s in t||(t={}))rn.call(t,s)&&rs(e,s,t[s]);if(os)for(var s of os(t))ln.call(t,s)&&rs(e,s,t[s]);return e};const M=e=>e||e===0,O=e=>typeof e=="function",V=e=>typeof e=="string",L=e=>typeof e=="number",it=e=>typeof e=="undefined",H=e=>typeof e!="undefined",Oe=e=>typeof e=="boolean",cn=e=>Math.ceil(e/10)*10,$e=e=>Math.ceil(e)+.5,Nt=e=>e[1]-e[0],St=e=>typeof e=="object",At=e=>it(e)||e===null||V(e)&&e.length===0||St(e)&&!(e instanceof Date)&&Object.keys(e).length===0||L(e)&&isNaN(e),nt=e=>!At(e),N=e=>Array.isArray(e),X=e=>e&&!(e!=null&&e.nodeType)&&St(e)&&!N(e);function Dt(e,t,s){return H(e[t])?e[t]:s}function dn(e,t){let s=!1;return Object.keys(e).forEach(i=>e[i]===t&&(s=!0)),s}function K(e,t,...s){const i=O(e);return i&&e.call(t,...s),i}function ye(e,t){let s=0;const i=function(...n){!--s&&t.apply(this,...n)};"duration"in e?e.each(()=>++s).on("end",i):(++s,e.call(i))}function Ie(e){return V(e)?e.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):e}function ce(e,t,s=[-1,1],i=!1){if(!(!e||!V(t)))if(t.indexOf(` +`)===-1)e.text(t);else{const n=[e.text(),t].map(a=>a.replace(/[\s\n]/g,""));if(n[0]!==n[1]){const a=t.split(` +`),o=i?a.length-1:1;e.html(""),a.forEach((r,l)=>{e.append("tspan").attr("x",0).attr("dy",`${l===0?s[0]*o:s[1]}em`).text(r)})}}}function cs(e){const{x:t,y:s,width:i,height:n}=e.getBBox();return[{x:t,y:s+n},{x:t,y:s},{x:t+i,y:s},{x:t+i,y:s+n}]}function ds(e){const{width:t,height:s}=e.getBoundingClientRect(),i=cs(e),n=i[0].x,a=Math.min(i[0].y,i[1].y);return{x:n,y:a,width:t,height:s}}function yt(e,t){var s;const i=e&&((s=e.touches||e.sourceEvent&&e.sourceEvent.touches)==null?void 0:s[0]);let n=[0,0];try{n=(0,w.pointer)(i||e,t)}catch(a){}return n.map(a=>isNaN(a)?0:a)}function us(e){const{event:t,$el:s}=e,i=s.subchart.main||s.main;let n;return t&&t.type==="brush"?n=t.selection:i&&(n=i.select(".bb-brush").node())&&(n=(0,me.brushSelection)(n)),n}function be(e){return!("rect"in e)||"rect"in e&&e.hasAttribute("width")&&e.rect.width!==+e.getAttribute("width")?e.rect=e.getBoundingClientRect():e.rect}function kt(e=!0,t=0,s=1e4){const i=j.crypto||j.msCrypto,n=i?t+i.getRandomValues(new Uint32Array(1))[0]%(s-t+1):Math.floor(Math.random()*(s-t)+t);return e?String(n):n}function De(e,t,s,i,n){if(s>i)return-1;const a=Math.floor((s+i)/2);let{x:o,w:r=0}=e[a];return n&&(o=e[a].y,r=e[a].h),t>=o&&t<=o+r?a:t<o?De(e,t,s,a-1,n):De(e,t,a+1,i,n)}function hs(e){const t=us(e);return t?t[0]===t[1]:!0}function un(...e){const t=s=>{if(X(s)&&s.constructor){const i=new s.constructor;for(const n in s)i[n]=t(s[n]);return i}return s};return e.map(s=>t(s)).reduce((s,i)=>ls(ls({},s),i))}function rt(e={},t){N(t)&&t.forEach(s=>rt(e,s));for(const s in t)/^\d+$/.test(s)||s in e||(e[s]=t[s]);return e}const ft=e=>e.charAt(0).toUpperCase()+e.slice(1);function hn(e,t="-"){return e.split(t).map((s,i)=>i?s.charAt(0).toUpperCase()+s.slice(1).toLowerCase():s.toLowerCase()).join("")}const Gt=e=>[].slice.call(e);function gn(e,t,s){const{rootSelector:i="",sheet:n}=e,o=`${i} ${(r=>r.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(t)} {${s.join(";")}}`;return n[n.insertRule?"insertRule":"addRule"](o,n.cssRules.length)}function fn(e){let t=[];return e.forEach(s=>{var i;try{s.cssRules&&s.cssRules.length&&(t=t.concat(Gt(s.cssRules)))}catch(n){(i=j.console)==null||i.warn(`Error while reading rules from ${s.href}: ${n.toString()}`)}}),t}function gs(e){var t,s,i,n,a,o;return{x:((s=(t=j.pageXOffset)!=null?t:j.scrollX)!=null?s:0)+((i=e.scrollLeft)!=null?i:0),y:((a=(n=j.pageYOffset)!=null?n:j.scrollY)!=null?a:0)+((o=e.scrollTop)!=null?o:0)}}function ve(e,t=0,s=0,i=!0){const n=new DOMPoint(t,s),a=e.getScreenCTM(),o=n.matrixTransform(i?a==null?void 0:a.inverse():a);if(i===!1){const r=e.getBoundingClientRect();o.x-=r.x,o.y-=r.y}return o}function fs(e){const t=e?e.transform:null,s=t&&t.baseVal;return s&&s.numberOfItems?s.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function ze(e){const t=e[0]instanceof Date,s=(t?e.map(Number):e).filter((i,n,a)=>a.indexOf(i)===n);return t?s.map(i=>new Date(i)):s}function Fe(e){return e&&e.length?e.reduce((t,s)=>t.concat(s)):[]}function qt(e,...t){if(!t.length||t.length===1&&!t[0])return e;const s=t.shift();return X(e)&&X(s)&&Object.keys(s).forEach(i=>{const n=s[i];X(n)?(!e[i]&&(e[i]={}),e[i]=qt(e[i],n)):e[i]=N(n)?n.concat():n}),qt(e,...t)}function Kt(e,t=!0){let s;return e[0]instanceof Date?s=t?(i,n)=>i-n:(i,n)=>n-i:t&&!e.every(isNaN)?s=(i,n)=>i-n:t||(s=(i,n)=>i>n&&-1||i<n&&1||i===n&&0),e.concat().sort(s)}function wt(e,t){let s=t.filter(i=>nt(i));return s.length?L(s[0])?s=Math[e](...s):s[0]instanceof Date&&(s=Kt(s,e==="min")[0]):s=void 0,s}const Te=(e,t,s=1)=>{const i=[],n=Math.max(0,Math.ceil((t-e)/s))|0;for(let a=e;a<n;a++)i.push(e+a*s);return i},pn={mouse:(()=>{const e=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(t,s,i=e())=>{t.dispatchEvent(new MouseEvent(s,i))}}catch(t){return(s,i,n=e())=>{const a=ot.createEvent("MouseEvent");a.initMouseEvent(i,n.bubbles,n.cancelable,j,0,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),s.dispatchEvent(a)}}})(),touch:(e,t,s)=>{const i=new Touch(qt({identifier:Date.now(),target:e,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},s));e.dispatchEvent(new TouchEvent(t,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[i],targetTouches:[],changedTouches:[i]}))}};function Ae(e,t){let s=e;for(const i in t)s=s.replace(new RegExp(`{=${i}}`,"g"),t[i]);return s}function mt(e){var t;let s;if(e instanceof Date)s=e;else if(V(e)){const{config:i,format:n}=this;s=(t=n.dataTime(i.data_xFormat)(e))!=null?t:new Date(e)}else L(e)&&!isNaN(e)&&(s=new Date(+e));return(!s||isNaN(+s))&&console&&console.error&&console.error(`Failed to parse x '${e}' to Date object`),s}function Me(e){const t=e.attr("viewBox");return t?/(\d+(\.\d+)?){3}/.test(t):!1}function xn(e,t,s=!1){const i=!!e.node;let n=!1;for(const[a,o]of Object.entries(t))if(n=i?e.style(a)===o:e.style[a]===o,s===!1&&n)break;return n}function de(){var e,t;return((e=ot)==null?void 0:e.hidden)===!1||((t=ot)==null?void 0:t.visibilityState)==="visible"}function _n(e,t){const{DocumentTouch:s,matchMedia:i,navigator:n}=j,a=i==null?void 0:i("(pointer:coarse)").matches;let o=!1;if(t)if(n&&"maxTouchPoints"in n)o=n.maxTouchPoints>0;else if("ontouchmove"in j||s&&ot instanceof s)o=!0;else if(a)o=!0;else{const l=n.userAgent;o=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(l)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(l)}return e&&!a&&(i==null?void 0:i("(pointer:fine)").matches)&&"mouse"||o&&"touch"||"mouse"}function ps(e,t){t()===!1?an(()=>ps(e,t)):e()}var mn=Object.defineProperty,xs=Object.getOwnPropertySymbols,$n=Object.prototype.hasOwnProperty,yn=Object.prototype.propertyIsEnumerable,Xe=(e,t,s)=>t in e?mn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,_s=(e,t)=>{for(var s in t||(t={}))$n.call(t,s)&&Xe(e,s,t[s]);if(xs)for(var s of xs(t))yn.call(t,s)&&Xe(e,s,t[s]);return e},bn=(e,t,s)=>Xe(e,typeof t!="symbol"?t+"":t,s);const ms=class Di{static setOptions(t){this.data=t.reduce((s,i)=>_s(_s({},s),i),this.data)}constructor(){return un(Ki,Ui,tn,Zi,en,qi,Ji,Qi,Di.data)}};bn(ms,"data",{});let Vt=ms;class vn{constructor(){return{chart:null,main:null,svg:null,axis:{x:null,y:null,y2:null,subX:null},axisTooltip:{x:null,y:null,y2:null},defs:null,tooltip:null,legend:null,title:null,subchart:{main:null,bar:null,line:null,area:null},arcs:null,bar:null,candlestick:null,line:null,area:null,circle:null,radar:null,text:null,grid:{main:null,x:null,y:null},gridLines:{main:null,x:null,y:null},region:{main:null,list:null},eventRect:null,zoomResetBtn:null}}}class Tn{constructor(){return{width:0,width2:0,height:0,height2:0,margin:{top:0,bottom:0,left:0,right:0},margin2:{top:0,bottom:0,left:0,right:0},margin3:{top:0,bottom:0,left:0,right:0},arcWidth:0,arcHeight:0,xAxisHeight:0,hasAxis:!1,hasFunnel:!1,hasRadar:!1,hasTreemap:!1,cssRule:{},current:{domain:void 0,width:0,height:0,dataMax:0,maxTickSize:{x:{width:0,height:0,ticks:[],clipPath:0,domain:""},y:{width:0,height:0,domain:""},y2:{width:0,height:0,domain:""}},types:[],needle:void 0},isLegendRight:!1,isLegendInset:!1,isLegendTop:!1,isLegendLeft:!1,legendStep:0,legendItemWidth:0,legendItemHeight:0,legendHasRendered:!1,eventReceiver:{currentIdx:-1,rect:{},data:[],coords:[]},axis:{x:{padding:{left:0,right:0},tickCount:0}},rotatedPadding:{left:30,right:0,top:5},withoutFadeIn:{},inputType:"",datetimeId:"",clip:{id:"",idXAxis:"",idYAxis:"",idXAxisTickTexts:"",idGrid:"",idSubchart:"",path:"",pathXAxis:"",pathYAxis:"",pathXAxisTickTexts:"",pathGrid:""},event:null,dragStart:null,dragging:!1,flowing:!1,cancelClick:!1,mouseover:!1,rendered:!1,transiting:!1,redrawing:!1,resizing:!1,toggling:!1,zooming:!1,hasNegativeValue:!1,hasPositiveValue:!0,orgAreaOpacity:"0.2",orgConfig:{},hiddenTargetIds:[],hiddenLegendIds:[],focusedTargetIds:[],defocusedTargetIds:[],radius:0,innerRadius:0,outerRadius:void 0,innerRadiusRatio:0,gaugeArcWidth:0,radiusExpanded:0,xgridAttr:{x1:null,x2:null,y1:null,y2:null}}}}const $s={element:vn,state:Tn};class An{constructor(){Object.keys($s).forEach(t=>{this[t]=new $s[t]})}getStore(t){return this[t]}}var wn=Object.defineProperty,Sn=(e,t,s)=>t in e?wn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Rn=(e,t,s)=>Sn(e,typeof t!="symbol"?t+"":t,s);const pt={bubbleBaseLength:"$baseLength",colorPattern:"__colorPattern__",dataMinMax:"$dataMinMax",dataTotalSum:"$dataTotalSum",dataTotalPerIndex:"$totalPerIndex",legendItemTextBox:"legendItemTextBox",radarPoints:"$radarPoints",radarTextWidth:"$radarTextWidth",setOverOut:"setOverOut",callOverOutForTouch:"callOverOutForTouch",textRect:"textRect"};class Cn{constructor(){Rn(this,"cache",{})}add(t,s,i=!1){return this.cache[t]=i?this.cloneTarget(s):s,this.cache[t]}remove(t){(V(t)?[t]:t).forEach(s=>delete this.cache[s])}get(t,s=!1){if(s&&Array.isArray(t)){const i=[];for(let n=0,a;a=t[n];n++)a in this.cache&&i.push(this.cloneTarget(this.cache[a]));return i}else{const i=this.cache[t];return M(i)?i:null}}reset(t){const s=this;for(const i in s.cache)(t||/^\$/.test(i))&&(s.cache[i]=null)}cloneTarget(t){return{id:t.id,id_org:t.id_org,values:t.values.map(s=>({x:s.x,value:s.value,id:s.id}))}}}const E={AREA:"area",AREA_LINE_RANGE:"area-line-range",AREA_SPLINE:"area-spline",AREA_SPLINE_RANGE:"area-spline-range",AREA_STEP:"area-step",AREA_STEP_RANGE:"area-step-range",BAR:"bar",BUBBLE:"bubble",CANDLESTICK:"candlestick",DONUT:"donut",FUNNEL:"funnel",GAUGE:"gauge",LINE:"line",PIE:"pie",POLAR:"polar",RADAR:"radar",SCATTER:"scatter",SPLINE:"spline",STEP:"step",TREEMAP:"treemap"},Be={AREA:"initArea",AREA_LINE_RANGE:"initArea",AREA_SPLINE:"initArea",AREA_SPLINE_RANGE:"initArea",AREA_STEP:"initArea",AREA_STEP_RANGE:"initArea",BAR:"initBar",BUBBLE:"initCircle",CANDLESTICK:"initCandlestick",DONUT:"initArc",FUNNEL:"initFunnel",GAUGE:"initArc",LINE:"initLine",PIE:"initArc",POLAR:"initPolar",RADAR:"initCircle",SCATTER:"initCircle",SPLINE:"initLine",STEP:"initLine",TREEMAP:"initTreemap"},zt={Area:[E.AREA,E.AREA_SPLINE,E.AREA_SPLINE_RANGE,E.AREA_LINE_RANGE,E.AREA_STEP,E.AREA_STEP_RANGE],AreaRange:[E.AREA_SPLINE_RANGE,E.AREA_LINE_RANGE,E.AREA_STEP_RANGE],Arc:[E.PIE,E.DONUT,E.GAUGE,E.POLAR,E.RADAR],Line:[E.LINE,E.SPLINE,E.AREA,E.AREA_SPLINE,E.AREA_SPLINE_RANGE,E.AREA_LINE_RANGE,E.STEP,E.AREA_STEP,E.AREA_STEP_RANGE],Step:[E.STEP,E.AREA_STEP,E.AREA_STEP_RANGE],Spline:[E.SPLINE,E.AREA_SPLINE,E.AREA_SPLINE_RANGE]};function En(e){const t=e,{config:s}=t;let i="";if(At(s.data_type||s.data_types)&&!t[Be.LINE])i="line";else for(const n in Be){const a=E[n];if(t.hasType(a)&&!t[Be[n]]){i=a;break}}i&&kn(`Please, make sure if %c${hn(i)}`,"module has been imported and specified correctly.","https://github.com/naver/billboard.js/wiki/CHANGELOG-v2#modularization-by-its-functionality")}function kn(e,t,s){var i;const n="[billboard.js]";if((i=j.console)==null?void 0:i.error){const o=t?["background:red;color:white;display:block;font-size:15px",t]:[];console.error(`\u274C ${n} ${e}`,"background:red;color:white;display:block;font-size:15px",...o),s&&console.info("%c\u2139\uFE0F","font-size:15px",s)}throw Error(`${n} ${e.replace(/\%c([a-z-]+)/i,"'$1' ")} ${t!=null?t:""}`)}const{setTimeout:Ln,clearTimeout:Pn}=j;function On(e){const t=[];let s;const i=function(){i.clear(),e===!1?as(()=>{t.forEach(n=>n())},{timeout:200}):s=Ln(()=>{t.forEach(n=>n())},L(e)?e:200)};return i.clear=()=>{s&&(Pn(s),s=null)},i.add=n=>t.push(n),i.remove=n=>t.splice(t.indexOf(n),1),i}function ys(){let e=[];const t=function(s,i){function n(){var a;let o=0;for(let r=0,l;l=e[r];r++){if(l===!0||(a=l.empty)!=null&&a.call(l)){o++;continue}if(de()===!1){o=e.length;break}try{l.transition()}catch(c){o++}}return o===e.length}ps(()=>{i==null||i()},n)};return t.add=function(s){N(s)?e=e.concat(s):e.push(s)},t}const Ne={};function In(e,t){var s;const i=e.toString(),n=i.replace(/(function|[\s\W\n])/g,"").substring(0,15);return n in Ne||(Ne[n]=new j.Blob([`${(s=t==null?void 0:t.map(String).join(";"))!=null?s:""} + + self.onmessage=function({data}) { + const result = (${i}).apply(null, data); + self.postMessage(result); + };`],{type:"text/javascript"})),j.URL.createObjectURL(Ne[n])}function Dn(e){const t=new j.Worker(e);return t.onerror=function(s){console.error?console.error(s):console.log(s)},t}function Ge(e=!0,t,s,i){let n=function(...a){const o=t(...a);s(o)};if(j.Worker&&e){const a=In(t,i),o=Dn(a);n=function(...r){o.postMessage(r),o.onmessage=function(l){return j.URL.revokeObjectURL(a),s(l.data)}}}return n}var we=U(5);function Ve(e){const t=[];return e.forEach(function(s,i){const n=s[0];s.forEach(function(a,o){if(o>0){if(typeof t[o-1]=="undefined"&&(t[o-1]={}),typeof a=="undefined")throw new Error(`Source data is missing a component at (${i}, ${o})!`);t[o-1][n]=a}})}),t}function Ye(e){const t=e[0],s=[];return e.forEach(function(i,n){if(n>0){const a={};i.forEach(function(o,r){if(typeof o=="undefined")throw new Error(`Source data is missing a component at (${n}, ${r})!`);a[t[r]]=o}),s.push(a)}}),s}function bs(e,t){const s=[];let i,n;if(Array.isArray(e)){const a=function(o,r){if(o[r]!==void 0)return o[r];const c=r.replace(/\[(\w+)\]/g,".$1").replace(/^\./,"").split(".");let u=o;return c.some(function(d){return!(u=u&&d in u?u[d]:void 0)}),u};t.x?i=t.value.concat(t.x):i=t.value,s.push(i),e.forEach(function(o){const r=i.map(function(l){let c=a(o,l);return typeof c=="undefined"&&(c=null),c});s.push(r)}),n=Ye(s)}else Object.keys(e).forEach(function(a){var o;const r=e[a].concat();(o=r.unshift)==null||o.call(r,a),s.push(r)}),n=Ve(s);return n}function zn(e,t="csv",s,i,n){const a=new XMLHttpRequest,o={csv:Fn,tsv:Mn,json:bs};a.open("GET",e),s&&Object.keys(s).forEach(function(r){a.setRequestHeader(r,s[r])}),a.onreadystatechange=function(){if(a.readyState===4)if(a.status===200){const r=a.responseText;r&&n.call(this,o[t](t==="json"?JSON.parse(r):r,i))}else throw new Error(`${e}: Something went wrong loading!`)},a.send()}function vs(e,t){const s=e.rows(t);let i;return s.length===1?(i=[{}],s[0].forEach(n=>{i[0][n]=null})):i=e.parse(t),i}function Fn(e){return vs({rows:we.csvParseRows,parse:we.csvParse},e)}function Mn(e){return vs({rows:we.tsvParseRows,parse:we.tsvParse},e)}function Ts(e,t){const s=e||(t==null?void 0:t.data_keys);return s!=null&&s.x&&(t.data_x=s.x),s}var Xn={convertData(e,t){const{config:s}=this,i=s.boost_useWorker;let n=e;if(e.bindto&&(n={},["url","mimeType","headers","keys","json","keys","rows","columns"].forEach(a=>{const o=`data_${a}`;o in e&&(n[a]=e[o])})),n.url&&t)zn(n.url,n.mimeType,n.headers,Ts(n.keys,s),t);else if(n.json)Ge(i,bs,t,[Ve,Ye])(n.json,Ts(n.keys,s));else if(n.rows)Ge(i,Ye,t)(n.rows);else if(n.columns)Ge(i,Ve,t)(n.columns);else if(e.bindto)throw Error("url or json or rows or columns is required.")},convertDataToTargets(e,t){const s=this,{axis:i,config:n,state:a}=s,o=n.data_type;let r=!1,l=!1,c=!1;i&&(r=i.isCategorized(),l=i.isTimeSeries(),c=i.isCustomX());const u=Object.keys(e[0]||{}),d=u.length?u.filter(s.isNotX,s):[],h=u.length?u.filter(s.isX,s):[];let g;d.forEach(p=>{const _=this.getXKey(p);c||l?h.indexOf(_)>=0?g=(t&&s.data.xs[p]||[]).concat(e.map(x=>x[_]).filter(M).map((x,m)=>s.generateTargetX(x,p,m))):n.data_x?g=this.getOtherTargetXs():nt(n.data_xs)&&(g=s.getXValuesOfXKey(_,s.data.targets)):g=e.map((x,m)=>m),g&&(this.data.xs[p]=g)}),d.forEach(p=>{if(!this.data.xs[p])throw new Error(`x is not defined for id = "${p}".`)});const f=d.map((p,_)=>{const x=n.data_idConverter.bind(s.api)(p),m=s.getXKey(p),$=c&&r,b=$&&e.map(A=>A.x).every(A=>n.axis_x_categories.indexOf(A)>-1),v=e.__append__,y=m===null&&v?s.api.data.values(p).length:0;return{id:x,id_org:p,values:e.map((A,S)=>{const R=A[m];let T=A[p],C;return T=T!==null&&!isNaN(T)&&!X(T)?+T:N(T)||X(T)?T:null,($||a.hasRadar)&&_===0&&!it(R)?(!b&&_===0&&S===0&&!v&&(n.axis_x_categories=[]),C=n.axis_x_categories.indexOf(R),C===-1&&(C=n.axis_x_categories.length,n.axis_x_categories.push(R))):C=s.generateTargetX(R,p,y+S),(it(T)||s.data.xs[p].length<=S)&&(C=void 0),{x:C,value:T,id:x,index:-1}}).filter(A=>H(A.x))}});if(f.forEach(p=>{var _;n.data_xSort&&(p.values=p.values.sort((x,m)=>{const $=x.x||x.x===0?x.x:1/0,b=m.x||m.x===0?m.x:1/0;return $-b})),p.values.forEach((x,m)=>x.index=m),(_=s.data.xs[p.id])==null||_.sort((x,m)=>x-m)}),a.hasNegativeValue=s.hasNegativeValueInTargets(f),a.hasPositiveValue=s.hasPositiveValueInTargets(f),o&&s.isValidChartType(o)){const p=s.mapToIds(f).filter(_=>!(_ in n.data_types)||!s.isValidChartType(n.data_types[_]));s.setTargetType(p,o)}return f.forEach(p=>s.cache.add(p.id_org,p,!0)),f}},Bn={isX(e){const t=this,{config:s}=t,i=s.data_x&&e===s.data_x,n=nt(s.data_xs)&&dn(s.data_xs,e);return i||n},isNotX(e){return!this.isX(e)},isStackNormalized(){const{config:e}=this;return!!(e.data_stack_normalize&&e.data_groups.length)},isGrouped(e){const t=this.config.data_groups;return e?t.some(s=>s.indexOf(e)>=0&&s.length>1):t.length>0},getXKey(e){const t=this,{config:s}=t;return s.data_x?s.data_x:nt(s.data_xs)?s.data_xs[e]:null},getXValuesOfXKey(e,t){const s=this,i=t&&nt(t)?s.mapToIds(t):[];let n;return i.forEach(a=>{s.getXKey(a)===e&&(n=s.data.xs[a])}),n},getIndexByX(e,t){const s=this;return t?t.indexOf(V(e)?e:+e):(s.filterByX(s.data.targets,e)[0]||{index:null}).index},getXValue(e,t){const s=this;return e in s.data.xs&&s.data.xs[e]&&M(s.data.xs[e][t])?s.data.xs[e][t]:t},getOtherTargetXs(){const e=this,t=Object.keys(e.data.xs);return t.length?e.data.xs[t[0]]:null},getOtherTargetX(e){const t=this.getOtherTargetXs();return t&&e<t.length?t[e]:null},addXs(e){const t=this,{config:s}=t;Object.keys(e).forEach(i=>{s.data_xs[i]=e[i]})},isMultipleX(){return!this.config.axis_x_forceAsSingle&&(nt(this.config.data_xs)||this.hasType("bubble")||this.hasType("scatter"))},addName(e){const t=this,{config:s}=t;let i;return e&&(i=s.data_names[e.id],e.name=i!==void 0?i:e.id),e},getAllValuesOnIndex(e,t=!1){const s=this;let i=s.filterTargetsToShow(s.data.targets).map(n=>s.addName(s.getValueOnIndex(n.values,e)));return t&&(i=i.filter(n=>n&&"value"in n&&M(n.value))),i},getValueOnIndex(e,t){const s=e.filter(i=>i.index===t);return s.length?s[0]:null},updateTargetX(e,t){const s=this;e.forEach(i=>{i.values.forEach((n,a)=>{n.x=s.generateTargetX(t[a],i.id,a)}),s.data.xs[i.id]=t})},updateTargetXs(e,t){const s=this;e.forEach(i=>{t[i.id]&&s.updateTargetX([i],t[i.id])})},generateTargetX(e,t,s){const i=this,{axis:n}=i;let a=n!=null&&n.isCategorized()?s:e||s;if(n!=null&&n.isTimeSeries()){const o=mt.bind(i);a=o(e||i.getXValue(t,s))}else n!=null&&n.isCustomX()&&!(n!=null&&n.isCategorized())&&(a=M(e)?+e:i.getXValue(t,s));return a},updateXs(e){e.length&&(this.axis.xs=e.map(t=>t.x))},getPrevX(e){const t=this.axis.xs[e-1];return H(t)?t:null},getNextX(e){const t=this.axis.xs[e+1];return H(t)?t:null},getBaseValue(e){const t=this,{hasAxis:s}=t.state;let{value:i}=e;return i&&s&&(t.isAreaRangeType(e)?i=t.getRangedData(e,"mid"):t.isBubbleZType(e)&&(i=t.getBubbleZData(i,"y"))),i},getMinMaxValue(e){const t=this.getBaseValue.bind(this);let s,i;return(e||this.data.targets.map(n=>n.values)).forEach((n,a)=>{const o=n.map(t).filter(L);s=Math.min(a?s:1/0,...o),i=Math.max(a?i:-1/0,...o)}),{min:s,max:i}},getMinMaxData(){const e=this,t=pt.dataMinMax;let s=e.cache.get(t);if(!s){const i=e.data.targets.map(r=>r.values),n=e.getMinMaxValue(i);let a=[],o=[];i.forEach(r=>{const l=e.getFilteredDataByValue(r,n.min),c=e.getFilteredDataByValue(r,n.max);l.length&&(a=a.concat(l)),c.length&&(o=o.concat(c))}),e.cache.add(t,s={min:a,max:o})}return s},getTotalPerIndex(){const e=this,t=pt.dataTotalPerIndex;let s=e.cache.get(t);return(e.config.data_groups.length||e.isStackNormalized())&&!s&&(s=[],e.data.targets.forEach(i=>{i.values.forEach((n,a)=>{s[a]||(s[a]=0),s[a]+=L(n.value)?n.value:0})})),s},getTotalDataSum(e){const t=this,s=pt.dataTotalSum;let i=t.cache.get(s);if(!L(i)){const n=Fe(t.data.targets.map(a=>a.values)).map(a=>a.value);i=n.length?n.reduce((a,o)=>a+o):0,t.cache.add(s,i)}return e&&(i-=t.getHiddenTotalDataSum()),i},getHiddenTotalDataSum(){const e=this,{api:t,state:{hiddenTargetIds:s}}=e;let i=0;return s.length&&(i=t.data.values.bind(t)(s).reduce((n,a)=>n+a)),i},getFilteredDataByValue(e,t){return e.filter(s=>this.getBaseValue(s)===t)},getMaxDataCount(){return Math.max(...this.data.targets.map(e=>e.values.length),0)},getMaxDataCountTarget(){let e=this.filterTargetsToShow()||[];const t=e.length,s=this.config.axis_x_inverted;return t>1?(e=e.map(i=>i.values).reduce((i,n)=>i.concat(n)).map(i=>i.x),e=Kt(ze(e)).map((i,n,a)=>({x:i,index:s?a.length-n-1:n}))):t&&(e=e[0].values.concat()),e},mapToIds(e){return e.map(t=>t.id)},mapToTargetIds(e){const t=this;return e?N(e)?e.concat():[e]:t.mapToIds(t.data.targets)},hasTarget(e,t){const s=this.mapToIds(e);for(let i=0,n;n=s[i];i++)if(n===t)return!0;return!1},isTargetToShow(e){return this.state.hiddenTargetIds.indexOf(e)<0},isLegendToShow(e){return this.state.hiddenLegendIds.indexOf(e)<0},filterTargetsToShow(e){const t=this;return(e||t.data.targets).filter(s=>t.isTargetToShow(s.id))},mapTargetsToUniqueXs(e){const t=this,{axis:s}=t;let i=[];return e!=null&&e.length&&(i=ze(Fe(e.map(n=>n.values.map(a=>+a.x)))),i=s!=null&&s.isTimeSeries()?i.map(n=>new Date(+n)):i.map(Number)),Kt(i)},addTargetIds(e,t){const{state:s}=this;(N(t)?t:[t]).forEach(n=>{s[e].indexOf(n)<0&&s[e].push(n)})},removeTargetIds(e,t){const{state:s}=this;(N(t)?t:[t]).forEach(n=>{const a=s[e].indexOf(n);a>=0&&s[e].splice(a,1)})},addHiddenTargetIds(e){this.addTargetIds("hiddenTargetIds",e)},removeHiddenTargetIds(e){this.removeTargetIds("hiddenTargetIds",e)},addHiddenLegendIds(e){this.addTargetIds("hiddenLegendIds",e)},removeHiddenLegendIds(e){this.removeTargetIds("hiddenLegendIds",e)},getValuesAsIdKeyed(e){const t=this,{hasAxis:s}=t.state,i={},n=t.isMultipleX(),a=n?t.mapTargetsToUniqueXs(e).map(o=>V(o)?o:+o):null;return e.forEach(o=>{const r=[];o.values.filter(({value:l})=>M(l)||l===null).forEach(l=>{let{value:c}=l;c!==null&&t.isCandlestickType(l)&&(c=N(c)?c.slice(0,4):[c.open,c.high,c.low,c.close]),N(c)?r.push(...c):X(c)&&"high"in c?r.push(...Object.values(c)):t.isBubbleZType(l)?r.push(s&&t.getBubbleZData(c,"y")):n?r[t.getIndexByX(l.x,a)]=c:r.push(c)}),i[o.id]=r}),i},checkValueInTargets(e,t){const s=Object.keys(e);let i;for(let n=0;n<s.length;n++){i=e[s[n]].values;for(let a=0;a<i.length;a++)if(t(i[a].value))return!0}return!1},hasMultiTargets(){return this.filterTargetsToShow().length>1},hasNegativeValueInTargets(e){return this.checkValueInTargets(e,t=>t<0)},hasPositiveValueInTargets(e){return this.checkValueInTargets(e,t=>t>0)},orderTargets(e){const t=this,s=[...e],i=t.getSortCompareFn();return i&&s.sort(i),s},getSortCompareFn(e=!1){const t=this,{config:s}=t,i=s.data_order,n=/asc/i.test(i),a=/desc/i.test(i);let o;if(n||a){const r=(c,u)=>c+Math.abs(u.value),l=c=>L(c)?c:"values"in c?c.values.reduce(r,0):c.value;o=(c,u)=>{const d=l(c),h=l(u);return e?n?d-h:h-d:n?h-d:d-h}}else O(i)&&(o=i.bind(t.api));return o||null},filterByX(e,t){return Fe(e.map(s=>s.values)).filter(s=>s.x-t===0)},filterRemoveNull(e){return e.filter(t=>M(this.getBaseValue(t)))},filterByXDomain(e,t){return e.map(s=>({id:s.id,id_org:s.id_org,values:s.values.filter(i=>t[0]<=i.x&&i.x<=t[1])}))},hasDataLabel(){const e=this.config.data_labels;return Oe(e)&&e||St(e)&&nt(e)},hasNullDataValue(e){return e.some(({value:t})=>t===null)},getDataIndexFromEvent(e){const t=this,{$el:s,config:i,state:{hasRadar:n,inputType:a,eventReceiver:{coords:o,rect:r}}}=t;let l;if(n){let c=e.target;/tspan/i.test(c.tagName)&&(c=c.parentNode);const u=(0,w.select)(c).datum();l=u&&Object.keys(u).length===1?u.index:void 0}else{const c=i.axis_rotated,u=gs(s.chart.node()),d=a==="touch"&&e.changedTouches?e.changedTouches[0]:e;let h=c?d.clientY+u.y:d.clientX+u.x;if(Me(s.svg)){const g=[h,0];c&&g.reverse(),h=ve(s.svg.node(),...g)[c?"y":"x"]}else h-=c?r.top:r.left;l=De(o,h,0,o.length-1,c)}return l},getDataLabelLength(e,t,s){const i=this,n=[0,0],a=1.3;return i.$el.chart.select("svg").selectAll(".dummy").data([e,t]).enter().append("text").text(o=>i.dataLabelFormat(o.id)(o)).each(function(o,r){n[r]=this.getBoundingClientRect()[s]*a}).remove(),n},isNoneArc(e){return this.hasTarget(this.data.targets,e.id)},isArc(e){return"data"in e&&this.hasTarget(this.data.targets,e.data.id)},findSameXOfValues(e,t){const s=e[t].x,i=[];let n;for(n=t-1;n>=0&&s===e[n].x;n--)i.push(e[n]);for(n=t;n<e.length&&s===e[n].x;n++)i.push(e[n]);return i},findClosestFromTargets(e,t){const s=this,i=e.map(n=>s.findClosest(n.values,t));return s.findClosest(i,t)},findClosest(e,t){const s=this,{$el:{main:i}}=s,n=e.filter(r=>r&&M(r.value));let a,o;return n.filter(r=>s.isBarType(r.id)||s.isCandlestickType(r.id)).forEach(r=>{const l=s.isBarType(r.id)?`.${vt.chartBar}.${D.target}${s.getTargetSelectorSuffix(r.id)} .${vt.bar}-${r.index}`:`.${Ct.chartCandlestick}.${D.target}${s.getTargetSelectorSuffix(r.id)} .${Ct.candlestick}-${r.index} path`;!o&&s.isWithinBar(i.select(l).node())&&(o=r)}),n.filter(r=>!s.isBarType(r.id)&&!s.isCandlestickType(r.id)).forEach(r=>{const l=s.dist(r,t);a=s.getPointSensitivity(r),l<a&&(a=l,o=r)}),o},dist(e,t){const s=this,{config:{axis_rotated:i},scale:n}=s,a=+i,o=+!i,r=s.circleY(e,e.index),l=(n.zoom||n.x)(e.x);return Math.sqrt(Math.pow(l-t[a],2)+Math.pow(r-t[o],2))},convertValuesToStep(e){const t=this,{axis:s,config:i}=t,n=i.line_step_type,a=s?s.isCategorized():!1,o=N(e)?e.concat():[e];if(!(a||/step\-(after|before)/.test(n)))return e;if(o.length){const r=o[0],l=o[o.length-1],{id:c}=r;let{x:u}=r;o.unshift({x:--u,value:r.value,id:c}),a&&n==="step-after"&&o.unshift({x:--u,value:r.value,id:c}),u=l.x,o.push({x:++u,value:l.value,id:c}),a&&n==="step-before"&&o.push({x:++u,value:l.value,id:c})}return o},convertValuesToRange(e){const t=N(e)?e.concat():[e],s=[];return t.forEach(i=>{const{x:n,id:a}=i;s.push({x:n,id:a,value:i.value[0]}),s.push({x:n,id:a,value:i.value[2]})}),s},updateDataAttributes(e,t){const s=this,{config:i}=s,n=i[`data_${e}`];return it(t)||(Object.keys(t).forEach(a=>{n[a]=t[a]}),s.redraw({withLegend:!0})),n},getRangedData(e,t="",s="areaRange"){const i=e==null?void 0:e.value;if(N(i)){if(s==="bar")return i.reduce((n,a)=>a-n);{const n={areaRange:["high","mid","low"],candlestick:["open","high","low","close","volume"]}[s].indexOf(t);return n>=0&&i?i[n]:void 0}}else if(i&&t)return i[t];return i},setRatioForGroupedData(e){const t=this,{config:s}=t;if(s.data_groups.length&&e.some(i=>t.isGrouped(i.id))){const i=n=>t.getRatio("index",n,!0);e.forEach(n=>{"values"in n?n.values.forEach(i):i(n)})}},getRatio(e,t,s=!1){const i=this,{config:n,state:a}=i,o=i.api;let r=0;if(t&&o.data.shown().length)if(r=t.ratio||t.value,e==="arc")if(i.pie.padAngle()())r=t.value/i.getTotalDataSum(!0);else{const l=n.gauge_fullCircle?i.getArcLength():i.getStartingAngle()*-2,c=i.hasType("gauge")?l:Math.PI*2;r=(t.endAngle-t.startAngle)/c}else if(e==="index"){const l=o.data.values.bind(o);let c=this.getTotalPerIndex();if(a.hiddenTargetIds.length){let d=l(a.hiddenTargetIds,!1);d.length&&(d=d.reduce((h,g)=>h.map((f,p)=>(L(f)?f:0)+g[p])),c=c.map((h,g)=>h-d[g]))}const u=c[t.index];t.ratio=L(t.value)&&c&&u?t.value/u:0,r=t.ratio}else if(e==="radar")r=parseFloat(String(Math.max(t.value,0)))/a.current.dataMax*n.radar_size_ratio;else if(e==="bar"){const c=i.getYScaleById.bind(i)(t.id).domain().reduce((u,d)=>d-u);r=c===0?0:Math.abs(i.getRangedData(t,null,e)/c)}else e==="treemap"&&(r/=i.getTotalDataSum(!0));return s&&r?r*100:r},updateDataIndexByX(e){const t=this,s=e.reduce((i,n,a)=>(i[Number(n.x)]=a,i),{});t.data.targets.forEach(i=>{i.values.forEach((n,a)=>{let o=s[Number(n.x)];o===void 0&&(o=a),n.index=o})})},isBubbleZType(e){return this.isBubbleType(e)&&(X(e.value)&&("z"in e.value||"y"in e.value)||N(e.value)&&e.value.length>=2)},isBarRangeType(e){const t=this,{value:s}=e;return t.isBarType(e)&&N(s)&&s.length>=2&&s.every(i=>L(i))},getDataById(e){var t;const s=this.cache.get(e)||this.api.data(e);return(t=s==null?void 0:s[0])!=null?t:s}};function As(e,t=!1){const s=this,{api:i}=s;t&&s.api.flush(!0),e==null||e.call(i)}var Nn={load(e,t){const s=this,{axis:i,data:n,org:a,scale:o}=s,{append:r}=t,l={domain:null,currentDomain:null,x:null};let c=e;c&&(t.filter&&(c=c.filter(t.filter)),(t.type||t.types)&&c.forEach(u=>{var d;const h=((d=t.types)==null?void 0:d[u.id])||t.type;s.setTargetType(u.id,h)}),n.targets.forEach(u=>{for(let d=0;d<c.length;d++)if(u.id===c[d].id){u.values=r?u.values.concat(c[d].values):c[d].values,c.splice(d,1);break}}),n.targets=n.targets.concat(c)),s.updateTargets(n.targets),o.zoom&&(l.x=i.isCategorized()?o.x.orgScale():(a.xScale||o.x).copy(),l.domain=s.getXDomain(n.targets),l.x.domain(l.domain),l.currentDomain=s.zoom.getDomain(),s.withinRange(l.currentDomain,void 0,l.domain)||(o.x.domain(l.domain),o.zoom=null,s.$el.eventRect.property("__zoom",null))),s.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),o.zoom?(a.xDomain=l.domain,a.xScale=l.x,i.isCategorized()&&(l.currentDomain=s.getZoomDomainValue(l.currentDomain),a.xDomain=s.getZoomDomainValue(a.xDomain),a.xScale=l.x.domain(a.xDomain)),s.updateCurrentZoomTransform(l.x,l.currentDomain)):a.xScale&&a.xScale.domain(a.xDomain),s.updateTypesElements(),As.call(s,t.done,t.resizeAfter)},loadFromArgs(e){const t=this;t.config&&(t.cache.reset(),t.convertData(e,s=>{const i=e.data||s;e.append&&(i.__append__=!0),i&&t.load(t.convertDataToTargets(i),e)}))},unload(e,t){var s;const i=this,{state:n,$el:a,$T:o}=i,r=!!((s=i.hasLegendDefsPoint)!=null&&s.call(i));let l=t,c=e;if(i.cache.reset(),l||(l=()=>{}),c=c.filter(d=>i.hasTarget(i.data.targets,d)),!c||c.length===0){l();return}const u=a.svg.selectAll(c.map(d=>i.selectorTarget(d)));o(u).style("opacity","0").remove().call(ye,l),c.forEach(d=>{var h;const g=i.getTargetSelectorSuffix(d);n.withoutFadeIn[d]=!1,a.legend&&a.legend.selectAll(`.${Y.legendItem}${g}`).remove(),i.data.targets=i.data.targets.filter(f=>f.id!==d),r&&((h=a.defs)==null||h.select(`#${i.getDefsPointId(g)}`).remove())}),n.hasFunnel&&i.updateFunnel(i.data.targets),n.hasTreemap&&i.updateTargetsForTreemap(i.data.targets),i.updateTypesElements()}},ws=U(6),Gn={setExpand(e,t,s){const i=this,{config:n,$el:{circle:a}}=i;a&&n.point_focus_expand_enabled&&i.expandCircles(e,t,s),i.expandBarTypeShapes(!0,e,t,s)},expandBarTypeShapes(e=!0,t,s,i){const n=this;["bar","candlestick"].filter(a=>n.$el[a]).forEach(a=>{i&&n.$el[a].classed(D.EXPANDED,!1),n.getShapeByIndex(a,t,s).classed(D.EXPANDED,e)})},setOverOut(e,t){const s=this,{config:i,state:{hasFunnel:n,hasRadar:a,hasTreemap:o},$el:{main:r}}=s,l=X(t);if(l||t!==-1){const c=i[e?"data_onover":"data_onout"].bind(s.api);if(i.color_onover&&s.setOverColor(e,t,l),l){const u=s.getTargetSelectorSuffix(t.id),d=n||o?`${D.target+u} .${st.shape}`:G.arc+u;c(t,r.select(`.${d}`).node())}else if(i.tooltip_grouped)e&&(a&&s.isPointFocusOnly()?s.showCircleFocus(s.getAllValuesOnIndex(t,!0)):s.setExpand(t,null,!0)),!s.isMultipleX()&&r.selectAll(`.${st.shape}-${t}`).each(function(u){c(u,this)});else{const u=s.cache.get(pt.setOverOut)||[],d=r.selectAll(`.${st.shape}-${t}`).filter(function(g){return s.isWithinShape(this,g)}),h=d.filter(function(){return u.every(g=>g!==this)});if(!e||d.empty()||u.length===h.size()&&h.nodes().every((g,f)=>g!==u[f]))for(;u.length;){const g=u.pop();i.data_onout.bind(s.api)((0,w.select)(g).datum(),g)}h.each(function(){e&&(c((0,w.select)(this).datum(),this),u.push(this))}),s.cache.add(pt.setOverOut,u)}}},callOverOutForTouch(e){const t=this,s=t.cache.get(pt.callOverOutForTouch);(X(e)&&s?e.id!==s.id:e!==s)&&((s||L(s))&&t.setOverOut(!1,s),(e||L(e))&&t.setOverOut(!0,e),t.cache.add(pt.callOverOutForTouch,e))},getDraggableSelection(){const e=this,{config:t,state:s}=e;return t.interaction_enabled&&t.data_selection_draggable&&e.drag?(0,ws.drag)().on("drag",function(i){s.event=i,e.drag(yt(i,this))}).on("start",function(i){s.event=i,e.dragstart(yt(i,this))}).on("end",i=>{s.event=i,e.dragend()}):()=>{}},dispatchEvent(e,t,s){var i,n;const a=this,{config:o,state:{eventReceiver:r,hasAxis:l,hasFunnel:c,hasRadar:u,hasTreemap:d},$el:{eventRect:h,funnel:g,radar:f,svg:p,treemap:_}}=a;let x=(n=(c||d)&&r.rect||u&&f.axes.select(`.${at.axis}-${t} text`)||h||((i=a.getArcElementByIdOrIndex)==null?void 0:i.call(a,t)))==null?void 0:n.node();if(x){const m=a.isMultipleX(),$=o.axis_rotated;let{width:b,left:v,top:y}=x.getBoundingClientRect();if(l&&!u&&!m){const T=r.coords[t];T?(b=T.w,v+=T.x,y+=T.y):(b=0,v=0,y=0)}let A=v+(s?s[0]:0)+(m||$?0:b/2),S=y+(s?s[1]:0)+($?4:0);if(Me(p)){const T=ve(a.$el.svg.node(),A,S,!1);A=T.x,S=T.y}const R={screenX:A,screenY:S,clientX:A,clientY:S,bubbles:u};(c||d)&&(x=(g!=null?g:_).node()),pn[/^(mouse|click)/.test(e)?"mouse":"touch"](x,e,R)}},setDragStatus(e){this.state.dragging=e},unbindZoomEvent(){const e=this,{$el:{eventRect:t,zoomResetBtn:s}}=e;t==null||t.on(".zoom wheel.zoom .drag",null),s==null||s.on("click",null).style("display","none")},unbindAllEvents(){var e;const t=this,{$el:{arcs:s,eventRect:i,legend:n,region:a,svg:o,treemap:r},brush:l}=t,c=["wheel","click","mouseover","mousemove","mouseout","touchstart","touchmove","touchend","touchstart.eventRect","touchmove.eventRect","touchend.eventRect",".brush",".drag",".zoom","wheel.zoom","dblclick.zoom"].join(" ");[o,i,a==null?void 0:a.list,l==null?void 0:l.getSelection(),s==null?void 0:s.selectAll("path"),n==null?void 0:n.selectAll("g"),r].forEach(u=>u==null?void 0:u.on(c,null)),(e=t.unbindZoomEvent)==null||e.call(t)}},Vn={categoryName(e){var t;const{axis_x_categories:s}=this.config;return(t=s==null?void 0:s[e])!=null?t:e}},Yn={generateClass(e,t){return` ${e} ${e+this.getTargetSelectorSuffix(t)}`},getClass(e,t){const s=/s$/.test(e),i=/^(area|arc|line|funnel|treemap)s?$/.test(e),n=s?"id":"index";return a=>{const o=a.data||a;return((t?this.generateClass(B[s?"shapes":"shape"],o[n]):"")+this.generateClass(B[e],o[i?"id":n])).trim()}},getChartClass(e){return t=>B[`chart${e}`]+this.classTarget((t.data?t.data:t).id)},generateExtraLineClass(){const t=this.config.line_classes||[],s=[];return function(i){var n;const a=i.id||((n=i.data)==null?void 0:n.id)||i;return s.indexOf(a)<0&&s.push(a),t[s.indexOf(a)%t.length]}},classRegion(e,t){return`${this.generateClass(B.region,t)} ${"class"in e?e.class:""}`},classTarget(e){const t=this.config.data_classes[e];let s="";return t&&(s=` ${B.target}-${t}`),this.generateClass(B.target,e)+s},classFocus(e){return this.classFocused(e)+this.classDefocused(e)},classFocused(e){return` ${this.state.focusedTargetIds.indexOf(e.id)>=0?B.focused:""}`},classDefocused(e){return` ${this.state.defocusedTargetIds.indexOf(e.id)>=0?B.defocused:""}`},getTargetSelectorSuffix(e){return(e||e===0?`-${e}`:"").replace(/[\x00-\x20\x7F-\xA0\s?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\]/g,"-")},selectorTarget(e,t="",s=""){const i=this.getTargetSelectorSuffix(e);return`${t}.${B.target+i} ${s}, ${t}.${B.circles+i} ${s}`},selectorTargets(e,t){const s=e||[];return s.length?s.map(i=>this.selectorTarget(i,t)):null},selectorLegend(e){return`.${B.legendItem+this.getTargetSelectorSuffix(e)}`},selectorLegends(e){return e!=null&&e.length?e.map(t=>this.selectorLegend(t)):null}},Ft=U(7);const jn=(e,t,s)=>{const i=(0,w.select)(e.cloneNode(!0));return i.attr("id",s).insert("rect",":first-child").attr("width",i.attr("width")).attr("height",i.attr("height")).style("fill",t),{id:s,node:i.node()}};function Hn(e){const t=pt.colorPattern,{body:s}=ot;let i=s[t];if(!i){const n=";",a=e.classed(Le.colorPattern,!0).style("background-image");e.classed(Le.colorPattern,!1),a.indexOf(n)>-1&&(i=a.replace(/url[^#]*|["'()]|(\s|%20)/g,"").split(n).map(o=>o.trim().replace(/[\"'\s]/g,"")).filter(Boolean),s[t]=i)}return i}const Wn=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"];var Un={generateColor(){const e=this,{$el:t,config:s}=e,i=s.data_colors,n=s.data_color,a=[];let o=nt(s.color_pattern)?s.color_pattern:(0,Ft.scaleOrdinal)(Hn(t.chart)||Wn).range();const r=o;if(O(s.color_tiles)){const l=s.color_tiles.bind(e.api)(),c=o.map((u,d)=>{const h=u.replace(/[#\(\)\s,]/g,""),g=`${e.state.datetimeId}-pattern-${h}-${d}`;return jn(l[d%l.length],u,g)});o=c.map(u=>`url(#${u.id})`),e.patterns=c}return function(l){var c;const u=l.id||((c=l.data)==null?void 0:c.id)||l,d=e.isTypeOf(u,["line","spline","step"])||!s.data_types[u];let h;return O(i[u])?h=i[u].bind(e.api)(l):i[u]?h=i[u]:(a.indexOf(u)<0&&a.push(u),h=d?r[a.indexOf(u)%r.length]:o[a.indexOf(u)%o.length],i[u]=h),O(n)?n.bind(e.api)(h,l):h}},generateLevelColor(){const e=this,{config:t}=e,s=t.color_pattern,i=t.color_threshold,n=i.unit==="value",a=i.max||100,o=i.values&&i.values.length?i.values:[];return nt(i)?function(r){const l=n?r:r*100/a;let c=s[s.length-1];for(let u=0,d=o.length;u<d;u++)if(l<=o[u]){c=s[u];break}return c}:null},generateTextBGColorFilter(e,t={x:0,y:0,width:1,height:1}){const s=this,{$el:i,state:n}=s;if(e){let a=[];V(e)?a.push(""):X(e)&&(a=Object.keys(e)),a.forEach(o=>{const r=`${n.datetimeId}-labels-bg${s.getTargetSelectorSuffix(o)}${V(e)?s.getTargetSelectorSuffix(e):""}`;i.defs.append("filter").attr("x",t.x).attr("y",t.y).attr("width",t.width).attr("height",t.height).attr("id",r).html(`<feFlood flood-color="${o===""?e:e[o]}" /> + <feComposite in="SourceGraphic" />`)})}},getGradienColortUrl(e){return`url(#${this.state.datetimeId}-gradient${this.getTargetSelectorSuffix(e)})`},updateLinearGradient(){const e=this,{config:t,data:{targets:s},state:{datetimeId:i},$el:{defs:n}}=e;s.forEach(a=>{const o=`${i}-gradient${e.getTargetSelectorSuffix(a.id)}`,r=e.hasPointType()&&t.point_radialGradient,l=e.isAreaType(a)&&"area"||e.isBarType(a)&&"bar";if((r||l)&&n.select(`#${o}`).empty()){const c=e.color(a),u={defs:null,stops:[]};if(r){const{cx:d=.3,cy:h=.3,r:g=.7,stops:f=[[.1,c,0],[.9,c,1]]}=r;u.stops=f,u.defs=n.append("radialGradient").attr("id",`${o}`).attr("cx",d).attr("cy",h).attr("r",g)}else{const d=t.axis_rotated,{x:h=d?[1,0]:[0,0],y:g=d?[0,0]:[0,1],stops:f=[[0,c,1],[1,c,0]]}=t[`${l}_linearGradient`];u.stops=f,u.defs=n.append("linearGradient").attr("id",`${o}`).attr("x1",h[0]).attr("x2",h[1]).attr("y1",g[0]).attr("y2",g[1])}u.stops.forEach(d=>{const[h,g,f]=d,p=O(g)?g.bind(e.api)(a.id):g;u.defs&&u.defs.append("stop").attr("offset",h).attr("stop-color",p||c).attr("stop-opacity",f)})}})},setOverColor(e,t){const s=this,{config:i,$el:{main:n}}=s,a=i.color_onover;let o=e?a:s.color;X(o)?o=({id:r})=>r in a?a[r]:s.color(r):V(o)?o=()=>a:O(a)&&(o=o.bind(s.api)),n.selectAll(X(t)?`.${G.arc}${s.getTargetSelectorSuffix(t.id)}`:`.${st.shape}-${t}`).style("fill",o)}},Zn={getYDomainMinMax(e,t){const s=this,{axis:i,config:n}=s,a=t==="min",o=n.data_groups,r=s.mapToIds(e),l=s.getValuesAsIdKeyed(e);if(o.length>0){const c=s[`has${a?"Negative":"Positive"}ValueInTargets`](e);o.forEach(u=>{const d=u.filter(h=>r.indexOf(h)>=0);if(d.length){const h=d[0],g=i.getId(h);c&&l[h]&&(l[h]=l[h].map(f=>(a?f<0:f>0)?f:0)),d.filter((f,p)=>p>0).forEach(f=>{if(l[f]){const p=i.getId(f);l[f].forEach((_,x)=>{const m=+_,$=a?m>0:m<0;p===g&&!(c&&$)&&(l[h][x]+=m)})}})}})}return wt(t,Object.keys(l).map(c=>wt(t,l[c])))},isHiddenTargetWithYDomain(e){const t=this;return t.state.hiddenTargetIds.some(s=>t.axis.getId(s)===e)},getYDomain(e,t,s){const i=this,{axis:n,config:a,scale:o}=i,r=`axis_${t}`;if(i.isStackNormalized())return[0,100];const l=(o==null?void 0:o[t])&&o[t].type==="log",c=e.filter(T=>n.getId(T.id)===t),u=s?i.filterByXDomain(c,s):c;if(u.length===0)return i.isHiddenTargetWithYDomain(t)?o[t].domain():t==="y2"?o.y.domain():i.getYDomain(e,"y2",s);const d=a[`${r}_min`],h=a[`${r}_max`],g=a[`${r}_center`],f=a[`${r}_inverted`],p=i.hasDataLabel()&&a.axis_rotated,_=i.hasDataLabel()&&!a.axis_rotated;let x=i.getYDomainMinMax(u,"min"),m=i.getYDomainMinMax(u,"max"),$=[E.BAR,E.BUBBLE,E.SCATTER,...zt.Line].some(T=>{const C=T.indexOf("area")>-1?"area":T;return i.hasType(T,u,!0)&&a[`${C}_zerobased`]});x=M(d)?d:M(h)?x<=h?x:h-10:x,m=M(h)?h:M(d)?d<=m?m:d+10:m,isNaN(x)&&(x=0),isNaN(m)&&(m=x),x===m&&(x<0?m=0:x=0);const b=x>=0&&m>=0,v=x<=0&&m<=0;(M(d)&&b||M(h)&&v)&&($=!1),$&&(b&&(x=0),v&&(m=0));const y=Math.abs(m-x);let A={top:y*.1,bottom:y*.1};if(H(g)){const T=Math.max(Math.abs(x),Math.abs(m));m=g+T,x=g-T}if(p){const T=Nt(o.y.range()),C=i.getDataLabelLength(x,m,"width").map(z=>z/T);["bottom","top"].forEach((z,P)=>{A[z]+=y*(C[P]/(1-C[0]-C[1]))})}else if(_){const T=i.getDataLabelLength(x,m,"height");["bottom","top"].forEach((C,z)=>{A[C]+=i.convertPixelToScale("y",T[z],y)})}A=i.getResettedPadding(A);const S=a[`${r}_padding`];nt(S)&&["bottom","top"].forEach(T=>{A[T]=n.getPadding(S,T,A[T],y)}),$&&(b&&(A.bottom=x),v&&(A.top=-m));const R=l?[x,m].map(T=>T<0?0:T):[x-A.bottom,m+A.top];return f?R.reverse():R},getXDomainMinMax(e,t){var s;const i=this,n=i.config[`axis_x_${t}`],a=wt(t,e.map(r=>wt(t,r.values.map(l=>l.x))));let o=X(n)?n.value:n;return o=H(o)&&((s=i.axis)!=null&&s.isTimeSeries())?mt.bind(this)(o):o,X(n)&&n.fit&&(t==="min"&&o<a||t==="max"&&o>a)&&(o=void 0),H(o)?o:a},getXDomainPadding(e,t){const s=this,{axis:i,config:n}=s,a=n.axis_x_padding,o=i.isTimeSeries()&&t,r=Nt(e);let l;if(i.isCategorized()||o)l=0;else if(s.hasType("bar")){const d=s.getMaxDataCount();l=d>1?r/(d-1)/2:.5}else l=s.getResettedPadding(r*.01);let{left:c=l,right:u=l}=L(a)?{left:a,right:a}:a;if(a.unit==="px"){const d=Math.abs(r+r*.2);c=i.getPadding(a,"left",l,d),u=i.getPadding(a,"right",l,d)}else{const d=r+c+u;if(o&&d){const h=r/t/d;c=c/d/h,u=u/d/h}}return{left:c,right:u}},getXDomain(e){const t=this,{axis:s,config:i,scale:{x:n}}=t,a=i.axis_x_inverted,o=[t.getXDomainMinMax(e,"min"),t.getXDomainMinMax(e,"max")];let[r=0,l=0]=o;if(n.type!=="log"){const c=s.isCategorized(),u=s.isTimeSeries(),d=t.getXDomainPadding(o);let[h,g]=o;h-g===0&&!c&&(u?(h=new Date(h.getTime()*.5),g=new Date(g.getTime()*1.5)):(h=h===0?1:h*.5,g=g===0?-1:g*1.5)),(h||h===0)&&(r=u?new Date(h.getTime()-d.left):h-d.left),(g||g===0)&&(l=u?new Date(g.getTime()+d.right):g+d.right)}return a?[l,r]:[r,l]},updateXDomain(e,t,s,i,n){var a;const o=this,{config:r,org:l,scale:{x:c,subX:u}}=o,d=r.zoom_enabled;if(s&&(c.domain(n||Kt(o.getXDomain(e),!r.axis_x_inverted)),l.xDomain=c.domain(),u.domain(c.domain()),(a=o.brush)==null||a.scale(u)),t){const h=n||!o.brush||hs(o)?l.xDomain:us(o).map(u.invert);c.domain(h)}return(s||t)&&d&&o.zoom.updateScaleExtent(),i&&c.domain(o.trimXDomain(c.orgDomain())),c.domain()},trimXDomain(e){const t=this,s=t.config.axis_x_inverted,i=t.getZoomDomain(),[n,a]=i;return(s?e[0]>=n:e[0]<=n)&&(e[1]=+e[1]+(n-e[0]),e[0]=n),(s?e[1]<=a:e[1]>=a)&&(e[0]=+e[0]-(e[1]-a),e[1]=a),e},getZoomDomain(e="zoom",t=!1){const s=this,{config:i,scale:n,org:a}=s;let[o,r]=t&&n[e]?n[e].domain():a.xDomain;return e==="zoom"&&(H(i.zoom_x_min)&&(o=wt("min",[o,i.zoom_x_min])),H(i.zoom_x_max)&&(r=wt("max",[r,i.zoom_x_max]))),[o,r]},getZoomDomainValue(e){const t=this,{config:s,axis:i}=t;if(i.isCategorized()&&Array.isArray(e)){const n=s.axis_x_inverted;return e.map((o,r)=>Number(o)+(r===0?+n:+!n))}return e},convertPixelToScale(e,t,s){const i=this,{config:n,state:a}=i,o=n.axis_rotated;let r;return e==="x"?r=o?"height":"width":r=o?"width":"height",s*(t/a[r])},withinRange(e,t=[0,0],s){const n=this.config.axis_x_inverted,[a,o]=s;if(Array.isArray(e)){const r=[...e];if(n&&r.reverse(),r[0]<r[1])return e.every((l,c)=>(c===0?n?+l<=a:+l>=a:n?+l>=o:+l<=o)&&!e.every((u,d)=>u===t[d]))}return!1}};function Ss(e,t,s){const{config:i}=e,n=`axis_${t}_tick_format`;return(i[n]?i[n]:e.defaultValueFormat).call(e.api,s)}var qn={yFormat(e){return Ss(this,"y",e)},y2Format(e){return Ss(this,"y2",e)},getDefaultValueFormat(){const e=this,{defaultArcValueFormat:t,yFormat:s,y2Format:i}=e,n=e.hasArcType(null,["gauge","polar","radar"]);return function(a,o,r){return(n?t:e.axis&&e.axis.getId(r)==="y2"?i:s).call(e,a,o)}},defaultValueFormat(e){return N(e)?e.join("~"):M(e)?+e:""},defaultArcValueFormat(e,t){return`${(t*100).toFixed(1)}%`},defaultPolarValueFormat(e){return`${e}`},dataLabelFormat(e){const t=this,s=t.config.data_labels,i=a=>{const o="~";let r=a;return N(a)?r=a.join(o):X(a)&&(r=Object.values(a).join(o)),r};let n=i;return O(s.format)?n=s.format:St(s.format)&&(s.format[e]?n=s.format[e]===!0?i:s.format[e]:n=()=>""),n.bind(t.api)}};function Se(e){const t=this,s=t.getDataById(e);return t.levelColor?t.levelColor(s.values[0].value):t.color(s)}function je(e,t=!0){var s;const{config:i}=this;let n=(s=i.data_names[e])!=null?s:e;return t&&O(i.legend_format)&&(n=i.legend_format(n,e!==n?e:void 0)),n}var Kn={initLegend(){const e=this,{config:t,$el:s}=e;e.legendItemTextBox={},e.state.legendHasRendered=!1,t.legend_show?(t.legend_contents_bindto||(s.legend=e.$el.svg.append("g").classed(Y.legend,!0).attr("transform",e.getTranslate("legend"))),e.updateLegend()):e.state.hiddenLegendIds=e.mapToIds(e.data.targets)},updateLegend(e,t,s){var i;const n=this,{config:a,state:o,scale:r,$el:l}=n,c=t||{withTransform:!1,withTransitionForTransform:!1,withTransition:!1};c.withTransition=Dt(c,"withTransition",!0),c.withTransitionForTransform=Dt(c,"withTransitionForTransform",!0),a.legend_contents_bindto&&a.legend_contents_template?n.updateLegendTemplate():o.hasTreemap||n.updateLegendElement(e||n.mapToIds(n.data.targets),c,s),(i=l.legend)==null||i.selectAll(`.${Y.legendItem}`).classed(Y.legendItemHidden,function(u){const d=!n.isTargetToShow(u);return d&&(this.style.opacity=null),d}),n.updateScales(!1,!r.zoom),n.updateSvgSize(),n.transformAll(c.withTransitionForTransform,s),o.legendHasRendered=!0},updateLegendTemplate(){const e=this,{config:t,$el:s}=e,i=(0,w.select)(t.legend_contents_bindto),n=t.legend_contents_template;if(!i.empty()){const a=e.mapToIds(e.data.targets),o=[];let r="";a.forEach(c=>{const u=O(n)?n.bind(e.api)(c,e.color(c),e.api.data(c)[0].values):Ae(n,{COLOR:e.color(c),TITLE:c});u&&(o.push(c),r+=u)});const l=i.html(r).selectAll(function(){return this.childNodes}).data(o);e.setLegendItem(l),s.legend=i}},updateSizeForLegend(e){const t=this,{config:s,state:{isLegendTop:i,isLegendLeft:n,isLegendRight:a,isLegendInset:o,current:r}}=t,{width:l,height:c}=e,u={top:i?t.getCurrentPaddingByDirection("top")+s.legend_inset_y+5.5:r.height-c-t.getCurrentPaddingByDirection("bottom")-s.legend_inset_y,left:n?t.getCurrentPaddingByDirection("left")+s.legend_inset_x+.5:r.width-l-t.getCurrentPaddingByDirection("right")-s.legend_inset_x+.5};t.state.margin3={top:a?0:o?u.top:r.height-c,right:NaN,bottom:0,left:a?r.width-l:o?u.left:0}},transformLegend(e){const t=this,{$el:{legend:s},$T:i}=t;i(s,e).attr("transform",t.getTranslate("legend"))},updateLegendStep(e){this.state.legendStep=e},updateLegendItemWidth(e){this.state.legendItemWidth=e},updateLegendItemHeight(e){this.state.legendItemHeight=e},updateLegendItemColor(e,t){const{legend:s}=this.$el;s&&s.select(`.${Y.legendItem}-${e} line`).style("stroke",t)},getLegendWidth(){const e=this,{current:{width:t},isLegendRight:s,isLegendInset:i,legendItemWidth:n,legendStep:a}=e.state;return e.config.legend_show?s||i?n*(a+1):t:0},getLegendHeight(){var e;const t=this,{current:s,isLegendRight:i,legendItemHeight:n,legendStep:a}=t.state,o=((e=t.config.padding)==null?void 0:e.mode)==="fit";return t.config.legend_show?i?s.height:Math.max(o?10:20,n)*(a+1):0},opacityForUnfocusedLegend(e){return e.classed(Y.legendItemHidden)?null:"0.3"},toggleFocusLegend(e,t){const s=this,{$el:{legend:i},$T:n}=s,a=s.mapToTargetIds(e);i&&n(i.selectAll(`.${Y.legendItem}`).filter(o=>a.indexOf(o)>=0).classed(q.legendItemFocused,t)).style("opacity",function(){return t?null:s.opacityForUnfocusedLegend.call(s,(0,w.select)(this))})},revertLegend(){const e=this,{$el:{legend:t},$T:s}=e;t&&s(t.selectAll(`.${Y.legendItem}`).classed(q.legendItemFocused,!1)).style("opacity",null)},showLegend(e){const t=this,{config:s,$el:i,$T:n}=t;s.legend_show||(s.legend_show=!0,i.legend?i.legend.style("visibility",null):t.initLegend(),!t.state.legendHasRendered&&t.updateLegend()),t.removeHiddenLegendIds(e),n(i.legend.selectAll(t.selectorLegends(e)).style("visibility",null)).style("opacity",null)},hideLegend(e){const t=this,{config:s,$el:{legend:i}}=t;s.legend_show&&At(e)&&(s.legend_show=!1,i.style("visibility","hidden")),t.addHiddenLegendIds(e),i.selectAll(t.selectorLegends(e)).style("opacity","0").style("visibility","hidden")},getLegendItemTextBox(e,t){const s=this,{cache:i,state:n}=s;let a;const o=pt.legendItemTextBox;return e&&(a=!n.redrawing&&i.get(o)||{},a[e]||(a[e]=s.getTextRect(t,Y.legendItem),i.add(o,a)),a=a[e]),a},setLegendItem(e){const t=this,{$el:s,api:i,config:n,state:a}=t,o=a.inputType==="touch",r=t.hasType("gauge"),l=n.boost_useCssRule,c=n.legend_item_interaction;e.attr("class",function(u){const d=(0,w.select)(this);return(!d.empty()&&d.attr("class")||"")+t.generateClass(Y.legendItem,u)}).style("visibility",u=>t.isLegendToShow(u)?null:"hidden"),n.interaction_enabled&&(l&&[[`.${Y.legendItem}`,"cursor:pointer"],[`.${Y.legendItem} text`,"pointer-events:none"],[`.${Y.legendItemPoint} text`,"pointer-events:none"],[`.${Y.legendItemTile}`,"pointer-events:none"],[`.${Y.legendItemEvent}`,"fill-opacity:0"]].forEach(u=>{const[d,h]=u;t.setCssRule(!1,d,[h])(s.legend)}),e.on(c.dblclick?"dblclick":"click",c||O(n.legend_item_onclick)?function(u,d){if(!K(n.legend_item_onclick,i,d,!a.hiddenTargetIds.includes(d))){const{altKey:h,target:g,type:f}=u;f==="dblclick"||h?a.hiddenTargetIds.length&&g.parentNode.getAttribute("class").indexOf(Y.legendItemHidden)===-1?i.show():(i.hide(),i.show(d)):(i.toggle(d),(0,w.select)(this).classed(q.legendItemFocused,!1))}o&&t.hideTooltip()}:null),!o&&e.on("mouseout",c||O(n.legend_item_onout)?function(u,d){K(n.legend_item_onout,i,d,!a.hiddenTargetIds.includes(d))||((0,w.select)(this).classed(q.legendItemFocused,!1),r&&t.undoMarkOverlapped(t,`.${_t.gaugeValue}`),t.api.revert())}:null).on("mouseover",c||O(n.legend_item_onover)?function(u,d){K(n.legend_item_onover,i,d,!a.hiddenTargetIds.includes(d))||((0,w.select)(this).classed(q.legendItemFocused,!0),r&&t.markOverlapped(d,t,`.${_t.gaugeValue}`),!a.transiting&&t.isTargetToShow(d)&&i.focus(d))}:null),!e.empty()&&e.on("click mouseout mouseover")&&e.style("cursor",t.getStylePropValue("pointer")))},updateLegendElement(e,t){const s=this,{config:i,state:n,$el:{legend:a},$T:o}=s,l=i.legend_item_tile_type!=="circle",c=i.legend_item_tile_r,u={width:l?i.legend_item_tile_width:c*2,height:l?i.legend_item_tile_height:c*2},d={padding:{top:4,right:10},max:{width:0,height:0},posMin:10,step:0,tileWidth:u.width+5,totalLength:0},h={offsets:{},widths:{},heights:{},margins:[0],steps:{}};let g,f,p;const _=e.filter(y=>!H(i.data_names[y])||i.data_names[y]!==null),x=t.withTransition,m=s.getUpdateLegendPositions(_,d,h);n.isLegendInset&&(d.step=i.legend_inset_step?i.legend_inset_step:_.length,s.updateLegendStep(d.step)),n.isLegendRight?(g=y=>d.max.width*h.steps[y],f=y=>h.margins[h.steps[y]]+h.offsets[y]):n.isLegendInset?(g=y=>d.max.width*h.steps[y]+10,f=y=>h.margins[h.steps[y]]+h.offsets[y]):(g=y=>h.margins[h.steps[y]]+h.offsets[y],f=y=>d.max.height*h.steps[y]);const $={xText:(y,A)=>g(y,A)+4+u.width,xRect:(y,A)=>g(y,A),x1Tile:(y,A)=>g(y,A)-2,x2Tile:(y,A)=>g(y,A)-2+u.width,yText:(y,A)=>f(y,A)+9,yRect:(y,A)=>f(y,A)-5,yTile:(y,A)=>f(y,A)+4};s.generateLegendItem(_,u,m,$),p=a.select(`.${Y.legendBackground} rect`),n.isLegendInset&&d.max.width>0&&p.size()===0&&(p=a.insert("g",`.${Y.legendItem}`).attr("class",Y.legendBackground).append("rect")),i.legend_tooltip&&a.selectAll("title").data(_).text(y=>je.bind(s)(y,!1));const b=a.selectAll("text").data(_).text(y=>je.bind(s)(y)).each(function(y,A){m(this,y,A)});o(b,x).attr("x",$.xText).attr("y",$.yText);const v=a.selectAll(`rect.${Y.legendItemEvent}`).data(_);o(v,x).attr("width",y=>h.widths[y]).attr("height",y=>h.heights[y]).attr("x",$.xRect).attr("y",$.yRect),s.updateLegendItemPos(_,x,$),p&&o(p,x).attr("height",s.getLegendHeight()-12).attr("width",d.max.width*(d.step+1)+10),s.updateLegendItemWidth(d.max.width),s.updateLegendItemHeight(d.max.height),s.updateLegendStep(d.step)},getUpdateLegendPositions(e,t,s){const i=this,{config:n,state:a}=i,o=a.isLegendRight||a.isLegendInset;return function(r,l,c){const u=c===0,d=c===e.length-1,h=i.getLegendItemTextBox(l,r),g=h.width+t.tileWidth+(d&&!o?0:t.padding.right)+n.legend_padding,f=h.height+t.padding.top,p=o?f:g,_=o?i.getLegendHeight():i.getLegendWidth();let x;const m=function(b,v){v||(x=(_-t.totalLength-p)/2,x<t.posMin&&(x=(_-p)/2,t.totalLength=0,t.step++)),s.steps[b]=t.step,s.margins[t.step]=a.isLegendInset?10:x,s.offsets[b]=t.totalLength,t.totalLength+=p};if(u&&(t.totalLength=0,t.step=0,t.max.width=0,t.max.height=0),n.legend_show&&!i.isLegendToShow(l)){s.widths[l]=0,s.heights[l]=0,s.steps[l]=0,s.offsets[l]=0;return}s.widths[l]=g,s.heights[l]=f,(!t.max.width||g>=t.max.width)&&(t.max.width=g),(!t.max.height||f>=t.max.height)&&(t.max.height=f);const $=o?t.max.height:t.max.width;n.legend_equally?(Object.keys(s.widths).forEach(b=>s.widths[b]=t.max.width),Object.keys(s.heights).forEach(b=>s.heights[b]=t.max.height),x=(_-$*e.length)/2,x<t.posMin?(t.totalLength=0,t.step=0,e.forEach(b=>m(b))):m(l,!0)):m(l)}},generateLegendItem(e,t,s,i){const n=this,{config:a,state:o,$el:{legend:r}}=n,l=a.legend_usePoint,c=a.legend_item_tile_r,u=a.legend_item_tile_type,d=u!=="circle",h=o.isLegendRight||o.isLegendInset,g=-200,f=r.selectAll(`.${Y.legendItem}`).data(e).enter().append("g");if(n.setLegendItem(f),a.legend_tooltip&&f.append("title").text(p=>p),f.append("text").text(p=>je.bind(n)(p)).each(function(p,_){s(this,p,_)}).style("pointer-events",n.getStylePropValue("none")).attr("x",h?i.xText:g).attr("y",h?g:i.yText),f.append("rect").attr("class",Y.legendItemEvent).style("fill-opacity",n.getStylePropValue("0")).attr("x",h?i.xRect:g).attr("y",h?g:i.yRect),l){const p=[];f.append(_=>{const x=nt(a.point_pattern)?a.point_pattern:[a.point_type];p.indexOf(_)===-1&&p.push(_);let m=x[p.indexOf(_)%x.length];return m==="rectangle"&&(m="rect"),ot.createElementNS(w.namespaces.svg,"hasValidPointType"in n&&n.hasValidPointType(m)?m:"use")}).attr("class",Y.legendItemPoint).style("fill",Se.bind(n)).style("pointer-events",n.getStylePropValue("none")).attr("href",(_,x,m)=>{const b=m[x].nodeName.toLowerCase(),v=n.getTargetSelectorSuffix(_);return b==="use"?`#${o.datetimeId}-point${v}`:void 0})}else f.append(d?"line":u).attr("class",Y.legendItemTile).style("stroke",Se.bind(n)).style("pointer-events",n.getStylePropValue("none")).call(p=>{u==="circle"?p.attr("r",c).style("fill",Se.bind(n)).attr("cx",h?i.x2Tile:g).attr("cy",h?g:i.yTile):d&&p.attr("stroke-width",t.height).attr("x1",h?i.x1Tile:g).attr("y1",h?g:i.yTile).attr("x2",h?i.x2Tile:g).attr("y2",h?g:i.yTile)})},updateLegendItemPos(e,t,s){const i=this,{config:n,$el:{legend:a},$T:o}=i,r=n.legend_usePoint,l=n.legend_item_tile_type,c=l!=="circle";if(r){const u=a.selectAll(`.${Y.legendItemPoint}`).data(e);o(u,t).each(function(){const d=this.nodeName.toLowerCase(),h=n.point_r;let g="x",f="y",p=2,_=2.5,x=null,m=null,$=null;if(d==="circle"){const b=h*.2;g="cx",f="cy",x=h+b,p=h*2,_=-b}else if(d==="rect"){const b=h*2.5;m=b,$=b,_=3}(0,w.select)(this).attr(g,b=>s.x1Tile(b)+p).attr(f,b=>s.yTile(b)-_).attr("r",x).attr("width",m).attr("height",$)})}else{const u=a.selectAll(`.${Y.legendItemTile}`).data(e);o(u,t).style("stroke",Se.bind(i)).call(d=>{l==="circle"?d.attr("cx",h=>{const g=s.x2Tile(h);return g-(g-s.x1Tile(h))/2}).attr("cy",s.yTile):c&&d.attr("x1",s.x1Tile).attr("y1",s.yTile).attr("x2",s.x2Tile).attr("y2",s.yTile)})}}},Jn=U(8),Qn={redraw(e={}){var t,s,i,n;const a=this,{config:o,state:r,$el:l}=a,{main:c,treemap:u}=l;r.redrawing=!0;const d=a.filterTargetsToShow(a.data.targets),{flow:h,initializing:g}=e,f=a.getWithOption(e),p=f.Transition?o.transition_duration:0,_=f.TransitionForExit?p:0,x=f.TransitionForAxis?p:0,m=(t=a.axis)==null?void 0:t.generateTransitions(x);a.updateSizes(g),f.Legend&&o.legend_show?(e.withTransition=!!p,!u&&a.updateLegend(a.mapToIds(a.data.targets),e,m)):f.Dimension&&a.updateDimension(!0),o.data_empty_label_text&&c.select(`text.${gt.text}.${D.empty}`).attr("x",r.width/2).attr("y",r.height/2).text(o.data_empty_label_text).style("display",d.length?"none":null),r.hasAxis?(a.axis.redrawAxis(d,f,m,h,g),a.hasGrid()&&a.updateGrid(),o.regions.length&&a.updateRegion(),["bar","candlestick","line","area"].forEach($=>{const b=ft($);(/^(line|area)$/.test($)&&a.hasTypeOf(b)||a.hasType($))&&a[`update${b}`](f.TransitionForExit)}),l.text&&c.selectAll(`.${Q.selectedCircles}`).filter(a.isBarType.bind(a)).selectAll("circle").remove(),o.interaction_enabled&&!h&&f.EventRect&&(a.redrawEventRect(),(s=a.bindZoomEvent)==null||s.call(a))):(l.arcs&&a.redrawArc(p,_,f.Transform),l.radar&&a.redrawRadar(),l.polar&&a.redrawPolar(),l.funnel&&a.redrawFunnel(),u&&a.updateTreemap(_)),!r.resizing&&!u&&(a.hasPointType()||r.hasRadar)?a.updateCircle():(i=a.hasLegendDefsPoint)!=null&&i.call(a)&&a.data.targets.forEach(a.point("create",this)),a.hasDataLabel()&&!a.hasArcType(null,["radar"])&&a.updateText(),(n=a.redrawTitle)==null||n.call(a),g&&a.updateTypesElements(),a.generateRedrawList(d,h,p,f.Subchart),a.updateTooltipOnRedraw(),a.callPluginHook("$redraw",e,p)},generateRedrawList(e,t,s,i){const n=this,{config:a,state:o}=n,r=n.getDrawShape();o.hasAxis&&a.subchart_show&&n.redrawSubchart(i,s,r);const l=t&&n.generateFlow({targets:e,flow:t,duration:t.duration,shape:r,xv:n.xv.bind(n)}),c=(s||l)&&de(),u=n.getRedrawList(r,t,l,c),d=()=>{l&&l(),o.redrawing=!1,K(a.onrendered,n.api)};if(d)if(c&&u.length){const h=ys();(0,Jn.transition)().duration(s).each(()=>{u.reduce((g,f)=>g.concat(f),[]).forEach(g=>h.add(g))}).call(h,d)}else o.transiting||d();n.mapToIds(n.data.targets).forEach(h=>{o.withoutFadeIn[h]=!0})},getRedrawList(e,t,s,i){const n=this,{config:a,state:{hasAxis:o,hasRadar:r,hasTreemap:l},$el:{grid:c}}=n,{cx:u,cy:d,xForText:h,yForText:g}=e.pos,f=[];return o&&((a.grid_x_lines.length||a.grid_y_lines.length)&&f.push(n.redrawGrid(i)),a.regions.length&&f.push(n.redrawRegion(i)),Object.keys(e.type).forEach(p=>{const _=ft(p),x=e.type[p];(/^(area|line)$/.test(p)&&n.hasTypeOf(_)||n.hasType(p))&&f.push(n[`redraw${_}`](x,i))}),!t&&c.main&&f.push(n.updateGridFocus())),(!n.hasArcType()||r)&&nt(a.data_labels)&&a.data_labels!==!1&&f.push(n.redrawText(h,g,t,i)),(n.hasPointType()||r)&&!n.isPointFocusOnly()&&n.redrawCircle&&f.push(n.redrawCircle(u,d,i,s)),l&&f.push(n.redrawTreemap(i)),f},updateAndRedraw(e={}){const t=this,{config:s,state:i}=t;let n;e.withTransition=Dt(e,"withTransition",!0),e.withTransform=Dt(e,"withTransform",!1),e.withLegend=Dt(e,"withLegend",!1),e.withUpdateXDomain=!0,e.withUpdateOrgXDomain=!0,e.withTransitionForExit=!1,e.withTransitionForTransform=Dt(e,"withTransitionForTransform",e.withTransition),e.withLegend&&s.legend_show||(i.hasAxis&&(n=t.axis.generateTransitions(e.withTransitionForAxis?s.transition_duration:0)),t.updateScales(),t.updateSvgSize(),t.transformAll(e.withTransitionForTransform,n)),t.redraw(e,n)}};function Yt(e="linear",t,s){const i={linear:Ft.scaleLinear,log:Ft.scaleSymlog,_log:Ft.scaleLog,time:Ft.scaleTime,utc:Ft.scaleUtc}[e]();return i.type=e,/_?log/.test(e)&&i.clamp(!0),i.range([t!=null?t:0,s!=null?s:1])}var ta={getXScale(e,t,s,i){const n=this,a=n.state.loading!=="append"&&n.scale.zoom||Yt(n.axis.getAxisType("x"),e,t);return n.getCustomizedXScale(s?a.domain(s):a,i)},getYScale(e,t,s,i){const a=Yt(this.axis.getAxisType(e),t,s);return i&&a.domain(i),a},getYScaleById(e,t=!1){var s;const i=((s=this.axis)==null?void 0:s.getId(e))==="y2",n=t?i?"subY2":"subY":i?"y2":"y";return this.scale[n]},getCustomizedXScale(e,t){const s=this,i=t||(()=>s.axis.x.tickOffset()),n=s.config.axis_x_inverted,a=function(o){return e(o)+i()};for(const o in e)a[o]=e[o];return a.orgDomain=()=>e.domain(),a.orgScale=()=>e,s.axis.isCategorized()&&(a.domain=function(o){let r=o;return arguments.length?(e.domain(r),a):(r=this.orgDomain(),n?[r[0]+1,r[1]]:[r[0],r[1]+1])}),a},updateScales(e,t=!0){var s,i;const n=this,{axis:a,config:o,format:r,org:l,scale:c,state:{current:u,width:d,height:h,width2:g,height2:f,hasAxis:p,hasTreemap:_}}=n;if(p){const x=o.axis_rotated,m=n.getResettedPadding(1),$={x:x?m:0,y:x?0:h,subX:x?1:0,subY:x?0:f},b={x:x?h:d,y:x?d:m,subX:x?h:d,subY:x?g:1},v=t&&((s=c.x)==null?void 0:s.orgDomain()),y=t&&l.xDomain;c.x=n.getXScale($.x,b.x,v,()=>a.x.tickOffset()),c.subX=n.getXScale($.x,b.x,y,A=>{var S;return A%1?0:((S=a.subX)!=null?S:a.x).tickOffset()}),r.xAxisTick=a.getXAxisTickFormat(),r.subXAxisTick=a.getXAxisTickFormat(!0),a.setAxis("x",c.x,o.axis_x_tick_outer,e),o.subchart_show&&a.setAxis("subX",c.subX,o.axis_x_tick_outer,e),c.y=n.getYScale("y",$.y,b.y,c.y?c.y.domain():o.axis_y_default),c.subY=n.getYScale("y",$.subY,b.subY,c.subY?c.subY.domain():o.axis_y_default),a.setAxis("y",c.y,o.axis_y_tick_outer,e),o.axis_y2_show&&(c.y2=n.getYScale("y2",$.y,b.y,c.y2?c.y2.domain():o.axis_y2_default),c.subY2=n.getYScale("y2",$.subY,b.subY,c.subY2?c.subY2.domain():o.axis_y2_default),a.setAxis("y2",c.y2,o.axis_y2_tick_outer,e))}else if(_){const x=n.getCurrentPadding();c.x=(0,Ft.scaleLinear)().rangeRound([x.left,u.width-x.right]),c.y=(0,Ft.scaleLinear)().rangeRound([x.top,u.height-x.bottom])}else(i=n.updateArc)==null||i.call(n)},xx(e){const t=this,{config:s,scale:{x:i,zoom:n}}=t,a=s.zoom_enabled&&n?n:i;return e?a(M(e.x)?e.x:e):null},xv(e){const t=this,{axis:s,config:i,scale:{x:n,zoom:a}}=t,o=i.zoom_enabled&&a?a:n;let r=t.getBaseValue(e);return s.isTimeSeries()?r=mt.call(t,r):s.isCategorized()&&V(r)&&(r=i.axis_x_categories.indexOf(r)),o(r)},yv(e){const t=this,{scale:{y:s,y2:i}}=t;return(e.axis&&e.axis==="y2"?i:s)(t.getBaseValue(e))},subxx(e){return e?this.scale.subX(e.x):null}},ea={setContainerSize(){const e=this,{state:t}=e;t.current.width=e.getCurrentWidth(),t.current.height=e.getCurrentHeight()},getCurrentWidth(){const e=this;return e.config.size_width||e.getParentWidth()},getCurrentHeight(){const e=this,{config:t}=e,s=t.size_height||e.getParentHeight();return s>0?s:320/(e.hasType("gauge")&&!t.gauge_fullCircle?2:1)},getParentRectValue(e){const t=`offset${ft(e)}`;let s=this.$el.chart.node(),i=0;for(;i<30&&s&&s.tagName!=="BODY";){try{i=s.getBoundingClientRect()[e]}catch(a){t in s&&(i=s[t])}s=s.parentNode}const n=ot.body[t];return i>n&&(i=n),i},getParentWidth(){return this.getParentRectValue("width")},getParentHeight(){const e=this.$el.chart.style("height");let t=0;return e&&(t=/px$/.test(e)?parseInt(e,10):this.getParentRectValue("height")),t},getSvgLeft(e){const t=this,{config:s,state:{hasAxis:i},$el:n}=t,a=s.axis_rotated,o=a||!a&&!s.axis_y_inner,r=a?at.axisX:at.axisY,l=n.main.select(`.${r}`).node(),c=i&&s[`axis_${a?"x":"y"}_label`];let u=0;if(i&&(V(c)||V(c.text)||/^inner-/.test(c==null?void 0:c.position))){const p=n.main.select(`.${r}-label`);p.empty()||(u=p.node().getBoundingClientRect().left)}const d=l&&o?l.getBoundingClientRect():{right:0},h=n.chart.node().getBoundingClientRect().left+u,g=t.hasArcType(),f=d.right-h-(g?0:t.getCurrentPaddingByDirection("left",e));return f>0?f:0},updateDimension(e){var t;const s=this,{config:i,state:{hasAxis:n},$el:a}=s;n&&!e&&s.axis.x&&i.axis_rotated&&((t=s.axis.subX)==null||t.create(a.axis.subX)),s.updateScales(e),s.updateSvgSize(),s.transformAll(!1)},updateSvgSize(){const e=this,{config:t,state:{clip:s,current:i,hasAxis:n,width:a,height:o},$el:{svg:r}}=e;if(t.resize_auto==="viewBox"?r.attr("viewBox",`0 0 ${i.width} ${i.height}`):r.attr("width",i.width).attr("height",i.height),n){const l=r.select(`.${is.brush} .overlay`),c={width:0,height:0};l.size()&&(c.width=+l.attr("width"),c.height=+l.attr("height")),r.selectAll([`#${s.id}`,`#${s.idGrid}`]).select("rect").attr("width",a).attr("height",o),r.select(`#${s.idXAxis}`).select("rect").call(e.setXAxisClipPath.bind(e)),r.select(`#${s.idYAxis}`).select("rect").call(e.setYAxisClipPath.bind(e)),s.idSubchart&&r.select(`#${s.idSubchart}`).select("rect").attr("width",a).attr("height",c.height)}},getCurrentPaddingByDirection(e,t=!1,s=!1){var i;const n=this,{config:a,$el:o,state:{hasAxis:r}}=n,l=a.axis_rotated,c=((i=a.padding)==null?void 0:i.mode)==="fit",u=L(a[`padding_${e}`])?a[`padding_${e}`]:void 0,d=r?{top:l?"y2":null,bottom:l?"y":"x",left:l?"x":"y",right:l?null:"y2"}[e]:null,h=/^(left|right)$/.test(e),g=d&&a[`axis_${d}_inner`],f=d&&a[`axis_${d}_show`],p=d?a[`axis_${d}_axes`].length:0;let _=d?h?n.getAxisWidthByAxisId(d,t):n.getHorizontalAxisHeight(d):0;const x=20;let m=0;!c&&h&&(_=cn(_));let $=r&&h&&(g||it(u)&&!f)?0:c?(f?_:0)+(u!=null?u:0):it(u)?_:u;return h&&r?(d&&(c||g)&&a[`axis_${d}_label`].text&&($+=n.axis.getAxisLabelPosition(d).isOuter?x:0),e==="right"?($+=l?!c&&it(u)?10:2:!f||g?c?2:1:0,$+=s?n.axis.getXAxisTickTextY2Overflow(x):0):e==="left"&&l&&it(u)&&($=a.axis_x_show?c?_:Math.max(_,40):1)):e==="top"?(o.title&&o.title.node()&&($+=n.getTitlePadding()),m=l&&!g?p:0):e==="bottom"&&r&&l&&!f&&($+=1),$+_*p-m},getCurrentPadding(e=!1){const t=this,[s,i,n,a]=["top","bottom","left","right"].map(o=>t.getCurrentPaddingByDirection(o,null,e));return{top:s,bottom:i,left:n,right:a}},getResettedPadding(e){const t=this,{config:s}=t,i=L(e);let n=i?0:{};return s.padding===!1?!i&&Object.keys(e).forEach(a=>{n[a]=!At(s.data_labels)&&s.data_labels!==!1&&a==="top"?e[a]:0}):n=e,n},updateSizes(e){var t,s,i,n,a;const o=this,{config:r,state:l,$el:{legend:c}}=o,u=r.axis_rotated,d=o.hasArcType()||l.hasFunnel||l.hasTreemap,h=((t=r.padding)==null?void 0:t.mode)==="fit";!e&&o.setContainerSize();const g={width:c?o.getLegendWidth():0,height:c?o.getLegendHeight():0};!d&&r.axis_x_show&&r.axis_x_tick_autorotate&&o.updateXAxisTickClip();const f={right:r.legend_show&&l.isLegendRight?o.getLegendWidth()+(h?0:20):0,bottom:!r.legend_show||l.isLegendRight||l.isLegendInset?0:g.height},p=u||d?0:o.getHorizontalAxisHeight("x"),_=r.subchart_axis_x_show&&r.subchart_axis_x_tick_text_show?p:30,x=r.subchart_show&&!d?r.subchart_size_height+_:0,m=o.hasType("gauge")&&r.arc_needle_show&&!r.gauge_fullCircle&&!r.gauge_label_show?10:0,$=o.getCurrentPadding(!0);if(l.margin=!d&&u?{top:$.top,right:d?0:$.right+f.right,bottom:f.bottom+$.bottom,left:x+(d?0:$.left)}:{top:(h?0:4)+$.top,right:d?0:$.right+f.right,bottom:m+x+f.bottom+$.bottom,left:d?0:$.left},l.margin=o.getResettedPadding(l.margin),l.margin2=u?{top:l.margin.top,right:NaN,bottom:20+f.bottom,left:o.state.rotatedPadding.left}:{top:l.current.height-x-f.bottom,right:NaN,bottom:_+f.bottom,left:l.margin.left},l.margin3={top:0,right:NaN,bottom:0,left:0},(s=o.updateSizeForLegend)==null||s.call(o,g),l.width=l.current.width-l.margin.left-l.margin.right,l.height=l.current.height-l.margin.top-l.margin.bottom,l.width<0&&(l.width=0),l.height<0&&(l.height=0),l.width2=u?l.margin.left-l.rotatedPadding.left-l.rotatedPadding.right:l.width,l.height2=u?l.height:l.current.height-l.margin2.top-l.margin2.bottom,l.width2<0&&(l.width2=0),l.height2<0&&(l.height2=0),o.hasArcType()){const b=o.hasType("gauge"),v=r.legend_show&&l.isLegendRight,y=(i=l.hasRadar&&o.cache.get(pt.radarTextWidth))!=null?i:0;l.arcWidth=l.width-(v?g.width+10:0)-y,l.arcHeight=l.height-(v&&!b?0:10),(n=r.arc_rangeText_values)!=null&&n.length&&(b?(l.arcWidth-=25,l.arcHeight-=10,l.margin.left+=10):(l.arcHeight-=20,l.margin.top+=10)),b&&!r.gauge_fullCircle&&(l.arcHeight+=l.height-o.getPaddingBottomForGauge()),(a=o.updateRadius)==null||a.call(o)}l.isLegendRight&&d&&(l.margin3.left=l.arcWidth/2+l.radiusExpanded*1.1)}},sa={setCssRule(e,t,s,i){const n=this,{config:a,state:{cssRule:o,style:r}}=n;return a.boost_useCssRule?l=>{l.each(c=>{const u=i&&(i==null?void 0:i.call(n,c)),d=`${e?`.${st.shapes+n.getTargetSelectorSuffix(c.id)}`:""}${t}`;t in o&&r.sheet.deleteRule(o[d]),n.state.cssRule[d]=gn(r,d,s.filter(Boolean).map(h=>V(u)&&h.indexOf(":")===-1?`${h}: ${u}`:h||""))})}:()=>{}},getStylePropValue(e){const{config:{boost_useCssRule:t}}=this;return t?null:O(e)?e.bind(this):e}};function ia(e){let t="middle";return e>0&&e<=170?t="end":e>190&&e<=360&&(t="start"),t}function na(e,t,s,i,n){var a;const o=this,{value:r}=e,l=o.isCandlestickType(e),c=L(r)&&r<0||l&&!((a=o.getCandlestickData(e))!=null&&a._isUp);let{x:u,y:d}=t;const h=4,g=h*2;return i?s==="start"?(u+=c?0:g,d+=h):s==="middle"?(u+=g,d-=g):s==="end"&&(c&&(u-=g),d+=h):(s==="start"?(u+=h,c&&(d+=g*2)):s==="middle"?d-=g:s==="end"&&(u-=h,c&&(d+=g*2)),n&&(d+=c?-17:l?13:7)),{x:u,y:d}}function Rs(e,t){var s;const i=this.config.data_labels_position,{id:n,index:a,value:o}=e;return(s=O(i)?i.bind(this.api)(t,o,n,a,this.$el.text):(n in i?i[n]:i)[t])!=null?s:0}var aa={opacityForText(e){const t=this;return t.isBarType(e)&&!t.meetsLabelThreshold(Math.abs(t.getRatio("bar",e)),"bar")?"0":t.hasDataLabel?null:"0"},initText(){const{$el:e}=this;e.main.select(`.${D.chart}`).append("g").attr("class",gt.chartTexts).style("pointer-events",e.funnel||e.treemap?"none":null)},updateTargetsForText(e){const t=this,s=t.getChartClass("Text"),i=t.getClass("texts","id"),n=t.classFocus.bind(t);t.$el.main.select(`.${gt.chartTexts}`).selectAll(`.${gt.chartText}`).data(e).attr("class",r=>`${s(r)}${n(r)}`.trim()).enter().append("g").style("opacity","0").attr("class",s).call(t.setCssRule(!0,` .${gt.text}`,["fill","pointer-events:none"],t.updateTextColor)).append("g").attr("class",i)},updateText(){const e=this,{$el:t,$T:s,config:i,axis:n}=e,a=e.getClass("text","index"),o=i.data_labels.centered,r=t.main.selectAll(`.${gt.texts}`).selectAll(`.${gt.text}`).data(e.labelishData.bind(e));s(r.exit()).style("fill-opacity","0").remove(),t.text=r.enter().append("text").merge(r).attr("class",a).attr("text-anchor",l=>{let u=i[`axis_${n==null?void 0:n.getId(l.id)}_inverted`]?l.value>0:l.value<0;if(e.isCandlestickType(l)){const d=e.getCandlestickData(l);u=!(d!=null&&d._isUp)}else if(e.isTreemapType(l))return o?"middle":"start";return i.axis_rotated?u?"end":"start":"middle"}).style("fill",e.getStylePropValue(e.updateTextColor)).style("fill-opacity","0").each(function(l,c,u){const d=(0,w.select)(this);let{value:h}=l;if(e.isBubbleZType(l))h=e.getBubbleZData(h,"z");else if(e.isCandlestickType(l)){const g=e.getCandlestickData(l);g&&(h=g.close)}h=e.isTreemapType(l)?e.treemapDataLabelFormat(l)(d):e.dataLabelFormat(l.id)(h,l.id,l.index,u),L(h)?this.textContent=h:ce(d,h)})},updateTextColor(e){const t=this,{config:s}=t,i=s.data_labels_colors,n=t.isArcType(e)&&!t.isRadarType(e)||t.isFunnelType(e)||t.isTreemapType(e)?null:t.color(e);let a;if(V(i))a=i;else if(X(i)){const{id:o}=e.data||e;a=i[o]}else O(i)&&(a=i.bind(t.api)(n,e));if(t.isCandlestickType(e)&&!O(i)){const o=t.getCandlestickData(e);if(!(o!=null&&o._isUp)){const r=s.candlestick_color_down;a=X(r)?r[e.id]:r}}return a||n},updateTextBGColor(e,t){const s=this,{$el:i}=s;let n="";if(V(t)||X(t)){const a=V(t)?"":s.getTargetSelectorSuffix("id"in e?e.id:e.data.id),o=i.defs.select(["filter[id*='labels-bg","']"].join(a));o.size()&&(n=`url(#${o.attr("id")})`)}return n||null},redrawText(e,t,s,i){const n=this,{$T:a,axis:o,config:r,state:{hasTreemap:l}}=n,c=kt(!0),u=r.axis_rotated,d=r.data_labels.rotate,h=ia(d),g=d?`rotate(${d})`:"";return n.$el.text.style("fill",n.getStylePropValue(n.updateTextColor)).attr("filter",f=>n.updateTextBGColor.bind(n)(f,r.data_labels_backgroundColors)).style("fill-opacity",s?0:n.opacityForText.bind(n)).each(function(f,p){const _=a(l&&this.childElementCount?this.parentNode:this,!!(i&&this.getAttribute("x")),c),x=r[`axis_${o==null?void 0:o.getId(f.id)}_inverted`];let m={x:e.bind(this)(f,p),y:t.bind(this)(f,p)};d&&(m=na.bind(n)(f,m,h,u,x),_.attr("text-anchor",h)),this.childElementCount||d?_.attr("transform",`translate(${m.x} ${m.y}) ${g}`):_.attr("x",m.x).attr("y",m.y)}),!0},getTextRect(e,t){const s=this;let i=e.node?e.node():e;/text/i.test(i.tagName)||(i=i.querySelector("text"));const n=i.textContent,a=`${pt.textRect}-${n.replace(/\W/g,"_")}`;let o=s.cache.get(a);return o||(s.$el.svg.append("text").style("visibility","hidden").style("font",(0,w.select)(i).style("font")).classed(t,!0).text(n).call(r=>{o=be(r.node())}).remove(),s.cache.add(a,o)),o},generateXYForText(e,t){const s=this,{state:{hasRadar:i,hasFunnel:n,hasTreemap:a}}=s,o=Object.keys(e),r={},l=t?s.getXForText:s.getYForText;return n&&o.push("funnel"),i&&o.push("radar"),a&&o.push("treemap"),o.forEach(c=>{r[c]=s[`generateGet${ft(c)}Points`](e[c],!1)}),function(c,u){const d=s.isAreaType(c)&&"area"||s.isBarType(c)&&"bar"||s.isCandlestickType(c)&&"candlestick"||s.isFunnelType(c)&&"funnel"||s.isRadarType(c)&&"radar"||s.isTreemapType(c)&&"treemap"||"line";return l.call(s,r[d](c,u),c,this)}},getCenteredTextPos(e,t,s,i){const n=this,{config:a}=n,o=a.axis_rotated,r=n.isBarType(e),l=n.isTreemapType(e);if(a.data_labels.centered&&(r||l)){const c=be(s);if(r){const u=n.getRangedData(e,null,"bar")>=0;if(o){const d=(u?t[1][1]-t[0][1]:t[0][1]-t[1][1])/2+c.width/2;return u?-d-3:d+2}else{const d=(u?t[0][1]-t[1][1]:t[1][1]-t[0][1])/2+c.height/2;return u?d:-d-2}}else if(l)return i==="x"?(t[1][0]-t[0][0])/2:(t[1][1]-t[0][1])/2+c.height/2}return 0},getXForText(e,t,s){var i;const n=this,{config:a}=n,o=a.axis_rotated,r=n.isFunnelType(t),l=n.isTreemapType(t);let c=e?e[0][0]:0;if(n.isCandlestickType(t))o?c=(i=n.getCandlestickData(t))!=null&&i._isUp?e[2][2]+4:e[2][1]-4:c+=(e[1][0]-c)/2;else if(r)c+=n.state.current.width/2;else if(l)c+=a.data_labels.centered?0:5;else if(o){const u=a[`axis_${n.axis.getId(t.id)}_inverted`],d=n.isBarType(t)?4:6,h=t.value;c=e[2][1],u?c-=d*(h>0?1:-1):c+=d*(h<0?-1:1)}else c=n.hasType("bar")?(e[2][0]+e[0][0])/2:c;return(o||l)&&(c+=n.getCenteredTextPos(t,e,s,"x")),c+Rs.call(this,t,"x")},getYForText(e,t,s){const i=this,{axis:n,config:a,state:o}=i,r=a.axis_rotated,l=a[`axis_${n==null?void 0:n.getId(t.id)}_inverted`],c=i.isBarType(t),u=i.isFunnelType(t),d=i.isTreemapType(t),h=a.point_r,g=be(s);let{value:f}=t,p=3,_;if(i.isCandlestickType(t))f=i.getCandlestickData(t),r?(_=e[0][0],_+=(e[1][0]-_)/2+p):(_=f&&f._isUp?e[2][2]-p:e[2][1]+p*4,l&&(_+=15*(f._isUp?1:-1)));else if(u)_=e?e[0][1]+(e[1][1]-e[0][1])/2+g.height/2-3:0;else if(d)_=e[0][1]+(a.data_labels.centered?0:g.height+5);else if(r)_=(e[0][0]+e[2][0]+g.height*.6)/2;else if(_=e[2][1],L(h)&&h>5&&(i.isLineType(t)||i.isScatterType(t))&&(p+=a.point_r/2.3),f<0||f===0&&!o.hasPositiveValue&&o.hasNegativeValue)_+=l?c?-3:-5:g.height+(c?-p:p);else{let x=-p*2;c?x=-p:i.isBubbleType(t)&&(x=p),l&&(x=c?10:15),_+=x}return(!r||d)&&(_+=i.getCenteredTextPos(t,e,s,"y")),_+Rs.call(this,t,"y")},markOverlapped(e,t,s){const i=t.$el.arcs.selectAll(s),n=i.filter(l=>l.data.id!==e),a=i.filter(l=>l.data.id===e),o=fs(a.node()),r=(l,c)=>Math.sqrt(Math.pow(l,2)+Math.pow(c,2));a.node()&&n.each(function(){const l=fs(this),c=(0,w.select)(this),u=r(o.e,o.f)>r(l.e,l.f)?a:c,d=Math.ceil(Math.abs(o.e-l.e))<Math.ceil(u.node().getComputedTextLength()),h=Math.ceil(Math.abs(o.f-l.f))<parseInt(a.style("font-size"),10);c.classed(gt.TextOverlapping,d&&h)})},undoMarkOverlapped(e,t){e.$el.arcs.selectAll(t).each(function(){(0,w.selectAll)([this,this.previousSibling]).classed(gt.TextOverlapping,!1)})},meetsLabelThreshold(e=0,t){const s=this,{config:i}=s,n=i[`${t}_label_threshold`]||0;return e>=n}};function Cs(e="left",t){const s=L(t);let i;return e.indexOf("center")>-1?i=s?t/2:"middle":e.indexOf("right")>-1?i=s?t:"end":i=s?0:"start",i}var oa={initTitle(){const e=this,{config:t,$el:s}=e;if(t.title_text){s.title=s.svg.append("g");const i=s.title.append("text").style("text-anchor",Cs(t.title_position)).attr("class",gt.title);ce(i,t.title_text,[.3,1.5])}},redrawTitle(){const e=this,{config:t,state:{current:s},$el:{title:i}}=e;if(i){const n=Cs(t.title_position,s.width),a=(t.title_padding.top||0)+e.getTextRect(e.$el.title,gt.title).height;i.attr("transform",`translate(${n}, ${a})`)}},getTitlePadding(){const e=this,{$el:{title:t},config:s}=e;return(s.title_padding.top||0)+(t?e.getTextRect(t,gt.title).height:0)+(s.title_padding.bottom||0)}},ra={initTooltip(){const e=this,{config:t,$el:s}=e;s.tooltip=(0,w.select)(t.tooltip_contents.bindto),s.tooltip.empty()&&(s.tooltip=s.chart.append("div").attr("class",_e.tooltipContainer).style("position","absolute").style("pointer-events","none").style("display","none")),e.bindTooltipResizePos()},initShowTooltip(){var e;const t=this,{config:s,$el:i,state:{hasAxis:n,hasRadar:a}}=t;if(s.tooltip_init_show){const o=!(n||a);(e=t.axis)!=null&&e.isTimeSeries()&&V(s.tooltip_init_x)&&(s.tooltip_init_x=mt.call(t,s.tooltip_init_x)),t.api.tooltip.show({data:{[o?"index":"x"]:s.tooltip_init_x}});const r=s.tooltip_init_position;if(!s.tooltip_contents.bindto&&!At(r)){const{top:l=0,left:c=50}=r;i.tooltip.style("top",V(l)?l:`${l}px`).style("left",V(c)?c:`${c}px`).style("display",null)}}},getTooltipHTML(...e){const t=this,{api:s,config:i}=t;return O(i.tooltip_contents)?i.tooltip_contents.bind(s)(...e):t.getTooltipContent(...e)},getTooltipContent(e,t,s,i){var n;const a=this,{api:o,config:r,state:l,$el:c}=a,[u,d,h]=["title","name","value"].map(P=>{const k=r[`tooltip_format_${P}`];return O(k)?k.bind(o):k}),g=(...P)=>Ie((u||t)(...P)),f=(...P)=>Ie((d||(k=>k))(...P)),p=(...P)=>{const k=h||(l.hasTreemap||a.isStackNormalized()?(F,W)=>`${(W*100).toFixed(2)}%`:s);return Ie(k(...P))},_=r.tooltip_order,x=P=>a.axis&&a.isBubbleZType(P)?a.getBubbleZData(P.value,"z"):a.getBaseValue(P),m=a.levelColor?P=>a.levelColor(P.value):P=>i(P),$=r.tooltip_contents,b=$.template,v=a.mapToTargetIds();if(_===null&&r.data_groups.length){const P=a.orderTargets(a.data.targets).map(k=>k.id).reverse();e.sort((k,F)=>{let W=k?k.value:null,J=F?F.value:null;return W>0&&J>0&&(W=k.id?P.indexOf(k.id):null,J=F.id?P.indexOf(F.id):null),W-J})}else if(/^(asc|desc)$/.test(_)){const P=_==="asc";e.sort((k,F)=>{const W=k?x(k):null,J=F?x(F):null;return P?W-J:J-W})}else O(_)&&e.sort(_.bind(o));const y=a.getTooltipContentTemplate(b),A=e.length;let S,R,T,C,z;for(z=0;z<A;z++)if(R=e[z],!(!R||!(x(R)||x(R)===0))){if(it(S)){const P=(l.hasAxis||l.hasRadar)&&g(R.x);S=Ae(y[0],{CLASS_TOOLTIP:_e.tooltip,TITLE:M(P)?b?P:`<tr><th colspan="2">${P}</th></tr>`:""})}if(!R.ratio&&c.arcs&&(T=["arc",a.$el.arcs.select(`path.${G.arc}-${R.id}`).data()[0]],R.ratio=a.getRatio(...T)),T=[R.ratio,R.id,R.index],a.isAreaRangeType(R)){const[P,k]=["high","low"].map(W=>p(a.getRangedData(R,W),...T));C=`<b>Mid:</b> ${p(x(R),...T)} <b>High:</b> ${P} <b>Low:</b> ${k}`}else if(a.isCandlestickType(R)){const[P,k,F,W,J]=["open","high","low","close","volume"].map(lt=>a.getRangedData(R,lt,"candlestick")?p(a.getRangedData(R,lt,"candlestick"),...T):void 0);C=`<b>Open:</b> ${P} <b>High:</b> ${k} <b>Low:</b> ${F} <b>Close:</b> ${W}${J?` <b>Volume:</b> ${J}`:""}`}else if(a.isBarRangeType(R)){const{value:P,id:k,index:F}=R;C=`${p(P,void 0,k,F)}`}else C=p(x(R),...T);if(C!==void 0){if(R.name===null)continue;const P=f((n=R.name)!=null?n:R.id,...T),k=m(R),F={CLASS_TOOLTIP_NAME:_e.tooltipName+a.getTargetSelectorSuffix(R.id),COLOR:b||!a.patterns?k:`<svg><rect style="fill:${k}" width="10" height="10"></rect></svg>`,NAME:P,VALUE:C};if(b&&X($.text)){const W=v.indexOf(R.id);Object.keys($.text).forEach(J=>{F[J]=$.text[J][W]})}S+=Ae(y[1],F)}}return`${S}</table>`},getTooltipContentTemplate(e){return(e||`<table class="{=CLASS_TOOLTIP}"><tbody> + {=TITLE} + {{<tr class="{=CLASS_TOOLTIP_NAME}"> + <td class="name">${this.patterns?"{=COLOR}":'<span style="background-color:{=COLOR}"></span>'}{=NAME}</td> + <td class="value">{=VALUE}</td> + </tr>}} + </tbody></table>`).replace(/(\r?\n|\t)/g,"").split(/{{(.*)}}/)},setTooltipPosition(e,t){var s,i;const n=this,{config:a,scale:o,state:r,$el:{eventRect:l,tooltip:c,svg:u}}=n,{bindto:d}=a.tooltip_contents,h=a.axis_rotated,g=c==null?void 0:c.datum();if(!d&&g){const f=e!=null?e:JSON.parse(g.current),[p,_]=yt(r.event,t!=null?t:l==null?void 0:l.node()),x={x:p,y:_};if(r.hasAxis&&o.x&&g&&"x"in g){const v=(y=0,A,S="y")=>{var R;const T=o[A?(R=n.axis)==null?void 0:R.getId(A):S];return T?T(y)+(h?r.margin.left:r.margin.top):0};x.xAxis=o.x(g.x)+(a.tooltip_position?h?r.margin.top:r.margin.left:0),f.length===1?x.yAxis=v(f[0].value,f[0].id):x.yAxis=v}const{width:m=0,height:$=0}=g,b=(i=(s=a.tooltip_position)==null?void 0:s.bind(n.api)(f,m,$,l==null?void 0:l.node(),x))!=null?i:Me(u)?n.getTooltipPositionViewBox.bind(n)(m,$,x):n.getTooltipPosition.bind(n)(m,$,x);["top","left"].forEach(v=>{const y=b[v];c.style(v,`${y}px`),v==="left"&&!g.xPosInPercent&&(g.xPosInPercent=y/r.current.width*100)})}},getTooltipPositionViewBox(e,t,s){var i,n;const a=this,{$el:{eventRect:o,svg:r},config:l,state:c}=a,u=l.axis_rotated,d=a.hasArcType()||c.hasFunnel||c.hasTreemap,h=(n=(i=d?r:o)==null?void 0:i.node())!=null?n:c.event.target;let{x:g,y:f}=s;c.hasAxis&&(g=u?g:s.xAxis,f=u?s.xAxis:f);const p=ve(h,g,f,!1),_=h.getBoundingClientRect(),x=ve(h,20,0,!1).x;let m=p.y,$=p.x+e/2+x;return d&&(c.hasFunnel||c.hasTreemap||c.hasRadar?($-=e/2+x,m+=t):(m+=_.height/2,$+=_.width/2-(e-x))),$+e>_.width&&($=_.width-e-x),m+t>_.height&&(m-=t*2),{top:m,left:$}},getTooltipPosition(e,t,s){var i,n,a;const o=this,{config:r,scale:l,state:c}=o,{width:u,height:d,current:h,hasFunnel:g,hasRadar:f,hasTreemap:p,isLegendRight:_,inputType:x}=c,m=o.hasType("gauge")&&!r.gauge_fullCircle,$=r.axis_rotated,b=o.hasArcType(),v=o.getSvgLeft(!0);let y=v+h.width-o.getCurrentPaddingByDirection("right");const A=20;let{x:S,y:R}=s;if(f)S+=S>=u/2?15:-(e+15),R+=15;else if(b){if(x!=="touch"){let z=(n=(i=o.getTitlePadding)==null?void 0:i.call(o))!=null?n:0;z&&m&&((a=r.arc_rangeText_values)!=null&&a.length)&&(z+=10),S+=(u-(_?o.getLegendWidth():0))/2,R+=(m?d:d/2+t)+z}}else if(g||p)R+=t;else{const C={top:o.getCurrentPaddingByDirection("top",!0),left:o.getCurrentPaddingByDirection("left",!0)};$?(S+=v+C.left+A,R=C.top+s.xAxis+A,y-=v):(S=v+C.left+A+(l.zoom?S:s.xAxis),R+=C.top-5)}if(S+e+15>y&&(S-=e+(g||p||b?0:$?A*2:38)),R+t>h.height){const C=p?t+10:30;R-=m?t*1.5:t+C}const T={top:R,left:S};return Object.keys(T).forEach(C=>{T[C]<0&&(T[C]=0)}),T},showTooltip(e,t){const s=this,{config:i,$el:{tooltip:n}}=s,a=e.filter(l=>l&&M(s.getBaseValue(l)));if(!n||a.length===0||!i.tooltip_show)return;let o=n.datum();const r=JSON.stringify(e);if(!o||o.current!==r){const{index:l,x:c}=e.concat().sort()[0];K(i.tooltip_onshow,s.api,e),n.html(s.getTooltipHTML(e,s.axis?s.axis.getXAxisTickFormat():s.categoryName.bind(s),s.getDefaultValueFormat(),s.color)).style("display",null).style("visibility",null).datum(o={index:l,x:c,current:r,width:n.property("offsetWidth"),height:n.property("offsetHeight")}),K(i.tooltip_onshown,s.api,e),s._handleLinkedCharts(!0,l)}s.setTooltipPosition(a,t)},bindTooltipResizePos(){const e=this,{resizeFunction:t,state:s,$el:{tooltip:i}}=e;t.add(()=>{if(i.style("display")==="block"){const{current:n}=s,{width:a,xPosInPercent:o}=i.datum();let r=n.width/100*o;const l=n.width-(r+a);l<0&&(r+=l),i.style("left",`${r}px`)}})},hideTooltip(e){var t;const s=this,{api:i,config:n,$el:{tooltip:a}}=s;if(a&&a.style("display")!=="none"&&(!n.tooltip_doNotHide||e)){const o=JSON.parse((t=a.datum().current)!=null?t:{});K(n.tooltip_onhide,i,o),a.style("display","none").style("visibility","hidden").datum(null),K(n.tooltip_onhidden,i,o)}},_handleLinkedCharts(e,t){const s=this,{charts:i,config:n,state:{event:a}}=s;if(a!=null&&a.isTrusted&&n.tooltip_linked&&i.length>1){const o=n.tooltip_linked_name;i.filter(r=>r!==s.api).forEach(r=>{const{config:l,$el:c}=r.internal,u=l.tooltip_linked,d=l.tooltip_linked_name,h=ot.body.contains(c.chart.node());if(u&&o===d&&h){const g=c.tooltip.data()[0],f=t!==(g==null?void 0:g.index);try{r.tooltip[e&&f?"show":"hide"]({index:t})}catch(p){}}})}},updateTooltipOnRedraw(e,t){var s;const i=this,{config:n,$el:{eventRect:a,svg:o,tooltip:r},state:{event:l,hasAxis:c,hasRadar:u,hasTreemap:d}}=i;if((r==null?void 0:r.style("display"))==="block"&&l){const h=e!=null?e:(s=u?o:a)==null?void 0:s.node();if(c||u)if(i.isMultipleX())i.selectRectForMultipleXs(h,!1);else{const g=t!=null?t:i.getDataIndexFromEvent(l);t===-1?i.api.tooltip.hide():(i.selectRectForSingle(h,g),i.setExpand(g,null,!0))}else{const{clientX:g,clientY:f}=l;setTimeout(()=>{let p=[g,f].every(Number.isFinite)&&ot.elementFromPoint(g,f);const _=p&&(0,w.select)(p).datum();if(_){const x=i.hasArcType()?i.convertToArcData(i.updateAngle(_)):_==null?void 0:_.data;d&&(p=o.node()),x&&i.showTooltip([x],p)}else i.api.tooltip.hide()},n.transition_duration)}}}},la={getTranslate(e,t=0){var s;const i=this,{config:n,state:a}=i,o=n.axis_rotated;let r=0,l,c;if(t&&/^(x|y2?)$/.test(e)&&(r=i.getAxisSize(e)*t),e==="main")l=$e(a.margin.left),c=$e(a.margin.top);else if(e==="context")l=$e(a.margin2.left),c=$e(a.margin2.top);else if(e==="legend")l=a.margin3.left,c=a.margin3.top;else if(e==="x")l=o?-r:0,c=o?0:a.height+r;else if(e==="y")l=o?0:-r,c=o?a.height+r:0;else if(e==="y2")l=o?0:a.width+r,c=o?-r-1:0;else if(e==="subX")l=0,c=o?0:a.height2;else if(e==="arc")l=a.arcWidth/2,c=a.arcHeight/2,(s=n.arc_rangeText_values)!=null&&s.length&&(c+=5+(i.hasType("gauge")&&n.title_text?10:0));else if(e==="polar")l=a.arcWidth/2,c=a.arcHeight/2;else if(e==="radar"){const[u,d]=i.getRadarSize();l=a.width/2-u,c=a.height/2-d}return`translate(${l}, ${c})`},transformMain(e,t){const s=this,{$el:{main:i},$T:n}=s,a=t!=null&&t.axisX?t.axisX:n(i.select(`.${at.axisX}`),e),o=t!=null&&t.axisY?t.axisY:n(i.select(`.${at.axisY}`),e),r=t!=null&&t.axisY2?t.axisY2:n(i.select(`.${at.axisY2}`),e);n(i,e).attr("transform",s.getTranslate("main")),a.attr("transform",s.getTranslate("x")),o.attr("transform",s.getTranslate("y")),r.attr("transform",s.getTranslate("y2")),i.select(`.${G.chartArcs}`).attr("transform",s.getTranslate("arc"))},transformAll(e,t){const s=this,{config:i,state:{hasAxis:n,hasFunnel:a,hasTreemap:o},$el:r}=s;!a&&!o&&s.transformMain(e,t),n&&i.subchart_show&&s.transformContext(e,t),r.legend&&s.transformLegend(e)}},ca={isValidChartType(e){return!!(e&&Object.values(E).indexOf(e)>-1)},setTargetType(e,t){const s=this,{config:i,state:{withoutFadeIn:n}}=s;s.mapToTargetIds(e).forEach(a=>{n[a]=t===i.data_types[a],i.data_types[a]=t}),e||(i.data_type=t)},updateTypesElements(){const e=this,{state:{current:t}}=e;Object.keys(E).forEach(s=>{const i=E[s],n=e.hasType(i,null,!0),a=t.types.indexOf(i);a===-1&&n?t.types.push(i):a>-1&&!n&&t.types.splice(a,1)}),e.setChartElements()},hasType(e,t,s=!1){var i;const n=this,{config:a,state:{current:o}}=n,r=a.data_types,l=t||n.data.targets;let c=!1;return!s&&((i=o.types)==null?void 0:i.indexOf(e))>-1?c=!0:l!=null&&l.length?l.forEach(u=>{const d=r[u.id];(d===e||!d&&e==="line")&&(c=!0)}):Object.keys(r).length?Object.keys(r).forEach(u=>{r[u]===e&&(c=!0)}):c=a.data_type===e,c},hasTypeOf(e,t,s=[]){return e in zt?!zt[e].filter(i=>s.indexOf(i)===-1).every(i=>!this.hasType(i,t)):!1},isTypeOf(e,t){var s;const i=V(e)?e:e.id,n=this.config&&(((s=this.config.data_types)==null?void 0:s[i])||this.config.data_type);return N(t)?t.indexOf(n)>=0:n===t},hasPointType(){const e=this;return e.hasTypeOf("Line")||e.hasType("bubble")||e.hasType("scatter")},hasArcType(e,t){return this.hasTypeOf("Arc",e,t)},hasMultiArcGauge(){return this.hasType("gauge")&&this.config.gauge_type==="multi"},isLineType(e){const t=V(e)?e:e.id;return!this.config.data_types[t]||this.isTypeOf(t,zt.Line)},isStepType(e){return this.isTypeOf(e,zt.Step)},isSplineType(e){return this.isTypeOf(e,zt.Spline)},isAreaType(e){return this.isTypeOf(e,zt.Area)},isAreaRangeType(e){return this.isTypeOf(e,zt.AreaRange)},isBarType(e){return this.isTypeOf(e,"bar")},isBubbleType(e){return this.isTypeOf(e,"bubble")},isCandlestickType(e){return this.isTypeOf(e,"candlestick")},isScatterType(e){return this.isTypeOf(e,"scatter")},isTreemapType(e){return this.isTypeOf(e,"treemap")},isPieType(e){return this.isTypeOf(e,"pie")},isFunnelType(e){return this.isTypeOf(e,"funnel")},isGaugeType(e){return this.isTypeOf(e,"gauge")},isDonutType(e){return this.isTypeOf(e,"donut")},isPolarType(e){return this.isTypeOf(e,"polar")},isRadarType(e){return this.isTypeOf(e,"radar")},isArcType(e){return this.isPieType(e)||this.isDonutType(e)||this.isGaugeType(e)||this.isPolarType(e)||this.isRadarType(e)},isCirclePoint(e){const{config:t}=this,s=t.point_pattern;let i=!1;return(e==null?void 0:e.tagName)==="circle"?i=!0:i=t.point_type==="circle"&&(!s||N(s)&&s.length===0),i},lineData(e){return this.isLineType(e)?[e]:[]},arcData(e){return this.isArcType(e.data)?[e]:[]},labelishData(e){return this.isBarType(e)||this.isLineType(e)||this.isScatterType(e)||this.isBubbleType(e)||this.isCandlestickType(e)||this.isFunnelType(e)||this.isRadarType(e)||this.isTreemapType(e)?e.values.filter(t=>L(t.value)||!!t.value):[]},barLineBubbleData(e){return this.isBarType(e)||this.isLineType(e)||this.isBubbleType(e)?e.values:[]},isInterpolationType(e){return["basis","basis-closed","basis-open","bundle","cardinal","cardinal-closed","cardinal-open","catmull-rom","catmull-rom-closed","catmull-rom-open","linear","linear-closed","monotone-x","monotone-y","natural"].indexOf(e)>=0}},tt=U(9);function da(e){const t=this;let s;return t.isLineType(e)?s=t.generateGetLinePoints(t.getShapeIndices(t.isLineType)):t.isBarType(e)&&(s=t.generateGetBarPoints(t.getShapeIndices(t.isBarType))),s}var ua={getDrawShape(){const e=this,t=e.config.axis_rotated,{hasRadar:s,hasTreemap:i}=e.state,n={type:{},indices:{},pos:{}};if(!i&&["bar","candlestick","line","area"].forEach(a=>{const o=ft(/^(bubble|scatter)$/.test(a)?"line":a);if(e.hasType(a)||e.hasTypeOf(o)||a==="line"&&(e.hasType("bubble")||e.hasType("scatter"))){const r=e.getShapeIndices(e[`is${o}Type`]),l=e[`generateDraw${o}`];n.indices[a]=r,n.type[a]=l?l.bind(e)(r,!1):void 0}}),!e.hasArcType()||s||i){let a,o;i||(a=s?e.radarCircleX:t?e.circleY:e.circleX,o=s?e.radarCircleY:t?e.circleX:e.circleY),n.pos={xForText:e.generateXYForText(n.indices,!0),yForText:e.generateXYForText(n.indices,!1),cx:(a||function(){}).bind(e),cy:(o||function(){}).bind(e)}}return n},getShapeIndices(e){const t=this,{config:s}=t,i=s.data_xs,n=nt(i),a={};let o=n?{}:0;return n&&ze(Object.keys(i).map(r=>i[r])).forEach(r=>{o[r]=0,a[r]={}}),t.filterTargetsToShow(t.data.targets.filter(e,t)).forEach(r=>{var l;const c=r.id in i?i[r.id]:"",u=c?a[c]:a;for(let d=0,h;h=s.data_groups[d];d++)if(!(h.indexOf(r.id)<0))for(let g=0,f;f=h[g];g++){if(f in u){u[r.id]=u[f];break}r.id!==f&&c&&(u[f]=(l=u[r.id])!=null?l:o[c])}it(u[r.id])&&(u[r.id]=c?o[c]++:o++,u.__max__=(c?o[c]:o)-1)}),a},getIndices(e,t,s){const i=this,{data_xs:n,bar_indices_removeNull:a}=i.config,{id:o,index:r}=t;if(i.isBarType(o)&&a){const l={};return i.getAllValuesOnIndex(r,!0).forEach((c,u)=>{l[c.id]=u,l.__max__=u}),l}return nt(n)?e[n[o]]:e},getIndicesMax(e){return nt(this.config.data_xs)?Object.keys(e).map(t=>e[t].__max__||0).reduce((t,s)=>t+s):e.__max__},getShapeX(e,t,s){const i=this,{config:n,scale:a}=i,o=s?a.subX:a.zoom||a.x,r=n.bar_overlap,l=n.bar_padding,c=(d,h)=>d+h,u=St(e)&&(e._$total.length?e._$total.reduce(c)/2:0);return d=>{const h=i.getIndices(t,d,"getShapeX"),g=d.id in h?h[d.id]:0,f=(h.__max__||0)+1;let p=0;if(nt(d.x)){const _=o(d.x,!0);if(u){const x=e[d.id]||e._$width;p=r?_-x/2:_-x+e._$total.slice(0,g+1).reduce(c)-u}else p=_-(L(e)?e:e._$width)*(f/2-(r?1:g))}return e&&p&&f>1&&l&&(g&&(p+=l*g),f>2?p-=(f-1)*l/2:f===2&&(p-=l/2)),p}},getShapeY(e){const t=this,s=t.isStackNormalized();return i=>{let{value:n}=i;return L(i)?n=i:t.isAreaRangeType(i)?n=t.getBaseValue(i,"mid"):s?n=t.getRatio("index",i,!0):t.isBubbleZType(i)?n=t.getBubbleZData(i.value,"y"):t.isBarRangeType(i)&&(n=n[1]),t.getYScaleById(i.id,e)(n)}},getShapeYMin(e){const t=this,s=t.axis.getId(e),i=t.scale[s],[n]=i.domain(),a=t.config[`axis_${s}_inverted`];return!t.isGrouped(e)&&!a&&n>0?n:0},getShapeOffsetData(e){const t=this,s=t.orderTargets(t.filterTargetsToShow(t.data.targets.filter(e,t))),i=t.isStackNormalized(),n=s.map(o=>{let r=o.values;const l={};t.isStepType(o)&&(r=t.convertValuesToStep(r));const c=r.reduce((u,d)=>{const h=Number(d.x);return u[h]=d,l[h]=i?t.getRatio("index",d,!0):d.value,u},{});return{id:o.id,rowValues:r,rowValueMapByXValue:c,values:l}});return{indexMapByTargetId:s.reduce((o,{id:r},l)=>(o[r]=l,o),{}),shapeOffsetTargets:n}},getShapeOffset(e,t,s){const i=this,{shapeOffsetTargets:n,indexMapByTargetId:a}=i.getShapeOffsetData(e),o=i.config.data_groupsZeroAs;return(r,l)=>{const{id:c,value:u,x:d}=r,h=i.getIndices(t,r),g=i.getYScaleById(c,s);if(i.isBarRangeType(r))return g(u[0]);const f=Number(d),p=g(o==="zero"?0:i.getShapeYMin(c));let _=p;return n.filter(x=>x.id!==c&&h[x.id]===h[c]).forEach(x=>{const{id:m,rowValueMapByXValue:$,rowValues:b,values:v}=x;if(a[m]<a[c]){const y=v[f];let A=b[l];(!A||Number(A.x)!==f)&&(A=$[f]),(A==null?void 0:A.value)*u>=0&&L(y)&&(u!==0||o==="positive"&&y>0||o==="negative"&&y<0)&&(_+=g(y)-p)}}),_}},circleY(e,t){const s=this,i=e.id;let n;return s.isGrouped(i)&&(n=da.bind(s)(e)),n?n(e,t)[0][1]:s.getYScaleById(i)(s.getBaseValue(e))},getBarW(e,t,s){var i,n,a,o,r;const l=this,{config:c,org:u,scale:d,state:h}=l,g=l.getMaxDataCount(),f=e==="bar"&&((i=c.data_groups)==null?void 0:i.length),p=`${e}_width`,{k:_}=(a=(n=l.getZoomTransform)==null?void 0:n.call(l))!=null?a:{k:1},x=[(o=c.axis_x_min)!=null?o:u.xDomain[0],(r=c.axis_x_max)!=null?r:u.xDomain[1]].map(l.axis.isTimeSeries()?mt.bind(l):Number);let m=t.tickInterval(g);if(d.zoom&&!l.axis.isCategorized()&&_>1){const v=x.every((y,A)=>y===u.xDomain[A]);m=u.xDomain.map((y,A)=>{const S=v?y:y-Math.abs(x[A]);return d.zoom(S)}).reduce((y,A)=>Math.abs(y)+A)/g}const $=v=>{const y=v?c[p][v]:c[p],A=v?y.ratio:c[`${p}_ratio`],S=v?y.max:c[`${p}_max`],R=L(y)?y:O(y)?y.call(l,h.width,s,g):s?m*A/s:0;return S&&R>S?S:R};let b=$();return!f&&St(c[p])&&(b={_$width:b,_$total:[]},l.filterTargetsToShow(l.data.targets).forEach(v=>{c[p][v.id]&&(b[v.id]=$(v.id),b._$total.push(b[v.id]||b._$width))})),b},getShapeByIndex(e,t,s){const i=this,{$el:n}=i,a=M(t)?`-${t}`:"";let o=n[e];return o&&!o.empty()?o=o.filter(r=>s?r.id===s:!0).filter(r=>M(t)?r.index===t:!0):o=(s?n.main.selectAll(`.${B[`${e}s`]}${i.getTargetSelectorSuffix(s)}`):n.main).selectAll(`.${B[e]}${a}`),o},isWithinShape(e,t){var s;const i=this,n=(0,w.select)(e);let a;return i.isTargetToShow(t.id)?(s=i.hasValidPointType)!=null&&s.call(i,e.nodeName)?a=i.isStepType(t)?i.isWithinStep(e,i.getYScaleById(t.id)(i.getBaseValue(t))):i.isWithinCircle(e,i.isBubbleType(t)?i.pointSelectR(t)*1.5:0):e.nodeName==="path"&&(a=n.classed(B.bar)?i.isWithinBar(e):!0):a=!1,a},getInterpolate(e){const s=this.getInterpolateType(e);return{basis:tt.curveBasis,"basis-closed":tt.curveBasisClosed,"basis-open":tt.curveBasisOpen,bundle:tt.curveBundle,cardinal:tt.curveCardinal,"cardinal-closed":tt.curveCardinalClosed,"cardinal-open":tt.curveCardinalOpen,"catmull-rom":tt.curveCatmullRom,"catmull-rom-closed":tt.curveCatmullRomClosed,"catmull-rom-open":tt.curveCatmullRomOpen,"monotone-x":tt.curveMonotoneX,"monotone-y":tt.curveMonotoneY,natural:tt.curveNatural,"linear-closed":tt.curveLinearClosed,linear:tt.curveLinear,step:tt.curveStep,"step-after":tt.curveStepAfter,"step-before":tt.curveStepBefore}[s]},getInterpolateType(e){const t=this,{config:s}=t,i=s.spline_interpolation_type,n=t.isInterpolationType(i)?i:"cardinal";return t.isSplineType(e)?n:t.isStepType(e)?s.line_step_type:"linear"},isWithinBar(e){const t=yt(this.state.event,e),s=cs(e),[i,n]=s,a=Math.min(i.x,n.x),o=Math.min(i.y,n.y),r=this.config.bar_sensitivity,{width:l,height:c}=e.getBBox(),u=a-r,d=a+l+r,h=o+c+r,g=o-r;return u<t[0]&&t[0]<d&&g<t[1]&&t[1]<h}},ha=Object.defineProperty,ga=(e,t,s)=>t in e?ha(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,ht=(e,t,s)=>ga(e,typeof t!="symbol"?t+"":t,s);class jt{constructor(t){ht(this,"api"),ht(this,"config"),ht(this,"cache"),ht(this,"$el"),ht(this,"state"),ht(this,"charts"),ht(this,"data",{xs:{},targets:[]}),ht(this,"axis"),ht(this,"scale",{x:null,y:null,y2:null,subX:null,subY:null,subY2:null,zoom:null}),ht(this,"org",{xScale:null,xDomain:null}),ht(this,"color"),ht(this,"patterns"),ht(this,"levelColor"),ht(this,"point"),ht(this,"brush"),ht(this,"format",{extraLineClasses:null,xAxisTick:null,dataTime:null,defaultAxisTime:null,axisTime:null});const s=this;s.api=t,s.config=new Vt,s.cache=new Cn;const i=new An;s.$el=i.getStore("element"),s.state=i.getStore("state"),s.$T=s.$T.bind(s)}$T(t,s,i){const{config:n,state:a}=this,o=n.transition_duration,r=n.subchart_show;let l=t;return l&&("tagName"in l&&(l=(0,w.select)(l)),l=(s!==!1&&o||s)&&(!a.zooming||a.dragging)&&!a.resizing&&a.rendered&&!r?l.transition(i).duration(o):l),l}beforeInit(){const t=this;t.callPluginHook("$beforeInit"),K(t.config.onbeforeinit,t.api)}afterInit(){const t=this;t.callPluginHook("$afterInit"),K(t.config.onafterinit,t.api)}init(){const t=this,{config:s,state:i,$el:n}=t,a=s.boost_useCssRule;if(En(t),i.hasRadar=!i.hasAxis&&t.hasType("radar"),i.hasFunnel=!i.hasAxis&&t.hasType("funnel"),i.hasTreemap=!i.hasAxis&&t.hasType("treemap"),i.hasAxis=!t.hasArcType()&&!i.hasFunnel&&!i.hasTreemap,i.datetimeId=`bb-${+new Date*kt()}`,a){const r=ot.createElement("style");r.type="text/css",ot.head.appendChild(r),i.style={rootSelctor:`.${i.datetimeId}`,sheet:r.sheet},n.style=r}const o={element:s.bindto,classname:"bb"};X(s.bindto)&&(o.element=s.bindto.element||"#chart",o.classname=s.bindto.classname||o.classname),n.chart=O(o.element.node)?s.bindto.element:(0,w.select)(o.element||[]),n.chart.empty()&&(n.chart=(0,w.select)(ot.body.appendChild(ot.createElement("div")))),n.chart.html("").classed(o.classname,!0).classed(i.datetimeId,a).style("position","relative"),t.initParams(),t.initToRender()}initToRender(t){const s=this,{config:i,state:n,$el:{chart:a}}=s,o=()=>xn(a,{display:"none",visibility:"hidden"}),r=i.render.lazy===!1?!1:i.render.lazy||o(),l=j.MutationObserver;r&&l&&i.render.observe!==!1&&!t&&new l((c,u)=>{o()||(u.disconnect(),!n.rendered&&s.initToRender(!0))}).observe(a.node(),{attributes:!0,attributeFilter:["class","style"]}),(!r||t)&&s.convertData(i,c=>{s.initWithData(c),s.afterInit()})}initParams(){var t;const s=this,{config:i,format:n,state:a}=s,o=i.axis_rotated;if(s.color=s.generateColor(),s.levelColor=s.generateLevelColor(),i.padding===!1&&(i.axis_x_show=!1,i.axis_y_show=!1,i.axis_y2_show=!1,i.subchart_show=!1),(s.hasPointType()||(t=s.hasLegendDefsPoint)!=null&&t.call(s))&&(s.point=s.generatePoint()),a.hasAxis){s.initClip(),n.extraLineClasses=s.generateExtraLineClass(),n.dataTime=i.data_xLocaltime?pe.timeParse:pe.utcParse,n.axisTime=i.axis_x_localtime?pe.timeFormat:pe.utcFormat;const r=s.config.zoom_enabled&&s.config.zoom_type==="drag";n.defaultAxisTime=l=>{const{x:c,zoom:u}=s.scale,d=r?u:u&&c.orgDomain().toString()!==u.domain().toString(),h=l.getMilliseconds()&&".%L"||l.getSeconds()&&".:%S"||l.getMinutes()&&"%I:%M"||l.getHours()&&"%I %p"||l.getDate()!==1&&"%b %d"||d&&l.getDate()===1&&"%b'%y"||l.getMonth()&&"%-m/%-d"||"%Y";return n.axisTime(h)(l)}}a.isLegendRight=i.legend_position==="right",a.isLegendInset=i.legend_position==="inset",a.isLegendTop=i.legend_inset_anchor==="top-left"||i.legend_inset_anchor==="top-right",a.isLegendLeft=i.legend_inset_anchor==="top-left"||i.legend_inset_anchor==="bottom-left",a.rotatedPadding.top=s.getResettedPadding(a.rotatedPadding.top),a.rotatedPadding.right=o&&!i.axis_x_show?0:30,a.inputType=_n(i.interaction_inputType_mouse,i.interaction_inputType_touch)}initWithData(t){var s,i,n;const a=this,{config:o,scale:r,state:l,$el:c,org:u}=a,{hasAxis:d,hasFunnel:h,hasTreemap:g}=l,f=o.interaction_enabled,p=a.hasType("polar"),_=o.data_labels_backgroundColors;if(d&&(a.axis=a.getAxisInstance(),o.zoom_enabled&&a.initZoom()),a.data.xs={},a.data.targets=a.convertDataToTargets(t),o.data_filter&&(a.data.targets=a.data.targets.filter(o.data_filter.bind(a.api))),o.data_hide&&a.addHiddenTargetIds(o.data_hide===!0?a.mapToIds(a.data.targets):o.data_hide),o.legend_hide&&a.addHiddenLegendIds(o.legend_hide===!0?a.mapToIds(a.data.targets):o.legend_hide),a.updateSizes(),a.updateScales(!0),d){const{x:$,y:b,y2:v,subX:y,subY:A,subY2:S}=r;$&&($.domain(Kt(a.getXDomain(a.data.targets),!o.axis_x_inverted)),y.domain($.domain()),u.xDomain=$.domain()),b&&(b.domain(a.getYDomain(a.data.targets,"y")),A.domain(b.domain())),v&&(v.domain(a.getYDomain(a.data.targets,"y2")),S&&S.domain(v.domain()))}if(c.svg=c.chart.append("svg").style("overflow","hidden").style("display","block"),f&&l.inputType){const $=l.inputType==="touch",{onclick:b,onover:v,onout:y}=o;c.svg.on("click",(b==null?void 0:b.bind(a.api))||null).on($?"touchstart":"mouseenter",(v==null?void 0:v.bind(a.api))||null).on($?"touchend":"mouseleave",(y==null?void 0:y.bind(a.api))||null)}o.svg_classname&&c.svg.attr("class",o.svg_classname);const x=O(o.color_tiles)&&a.patterns;(d||x||p||g||_||(s=a.hasLegendDefsPoint)!=null&&s.call(a))&&(c.defs=c.svg.append("defs"),d&&["id","idXAxis","idYAxis","idGrid"].forEach($=>{a.appendClip(c.defs,l.clip[$])}),a.generateTextBGColorFilter(_),x&&a.patterns.forEach($=>c.defs.append(()=>$.node))),a.updateSvgSize(),a.bindResize();const m=c.svg.append("g").classed(D.main,!0).attr("transform",h||g?null:a.getTranslate("main"));if(c.main=m,o.subchart_show&&a.initSubchart(),o.tooltip_show&&a.initTooltip(),o.title_text&&a.initTitle(),!g&&o.legend_show&&a.initLegend(),o.data_empty_label_text&&m.append("text").attr("class",`${gt.text} ${D.empty}`).attr("text-anchor","middle").attr("dominant-baseline","middle"),d&&(o.regions.length&&a.initRegion(),!o.clipPath&&a.axis.init()),m.append("g").classed(D.chart,!0).attr("clip-path",d?l.clip.path:null),a.callPluginHook("$init"),a.initChartElements(),d&&(f&&((i=a.initEventRect)==null||i.call(a)),a.initGrid(),o.clipPath&&((n=a.axis)==null||n.init())),a.updateTargets(a.data.targets),a.updateDimension(),K(o.oninit,a.api),a.setBackground(),a.redraw({withTransition:!1,withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withTransitionForAxis:!1,initializing:!0}),o.data_onmin||o.data_onmax){const $=a.getMinMaxData();K(o.data_onmin,a.api,$.min),K(o.data_onmax,a.api,$.max)}o.tooltip_show&&a.initShowTooltip(),l.rendered=!0}initChartElements(){const t=this,{hasAxis:s,hasRadar:i,hasTreemap:n}=t.state,a=[];if(s){const o=["bar","bubble","candlestick","line"];t.config.bar_front&&o.push(o.shift()),o.forEach(r=>{const l=ft(r);(r==="line"&&t.hasTypeOf(l)||t.hasType(r))&&a.push(l)})}else if(n)a.push("Treemap");else if(t.hasType("funnel"))a.push("Funnel");else{const o=t.hasType("polar");i||a.push("Arc","Pie"),t.hasType("gauge")?a.push("Gauge"):i?a.push("Radar"):o&&a.push("Polar")}a.forEach(o=>{t[`init${o}`]()}),nt(t.config.data_labels)&&!t.hasArcType(null,["radar"])&&t.initText()}setChartElements(){const t=this,{$el:{chart:s,svg:i,defs:n,main:a,tooltip:o,legend:r,title:l,grid:c,needle:u,arcs:d,circle:h,bar:g,candlestick:f,line:p,area:_,text:x}}=t;t.api.$={chart:s,svg:i,defs:n,main:a,tooltip:o,legend:r,title:l,grid:c,arc:d,circles:h,bar:{bars:g},candlestick:f,line:{lines:p,areas:_},needle:u,text:{texts:x}}}setBackground(){const t=this,{config:{background:s},state:i,$el:{svg:n}}=t;if(nt(s)){const a=n.select("g").insert(s.imgUrl?"image":"rect",":first-child");s.imgUrl?a.attr("href",s.imgUrl):s.color&&a.style("fill",s.color).attr("clip-path",i.clip.path),a.attr("class",s.class||null).attr("width","100%").attr("height","100%")}}updateTargets(t){var s;const i=this,{hasAxis:n,hasFunnel:a,hasRadar:o,hasTreemap:r}=i.state,l=u=>i[`updateTargetsFor${u}`](t.filter(i[`is${u}Type`].bind(i)));if(i.updateTargetsForText(t),n)["bar","candlestick","line"].forEach(u=>{const d=ft(u);(u==="line"&&i.hasTypeOf(d)||i.hasType(u))&&l(d)}),i.updateTargetsForSubchart&&i.updateTargetsForSubchart(t);else if(i.hasArcType(t)){let u="Arc";o?u="Radar":i.hasType("polar")&&(u="Polar"),l(u)}else a?l("Funnel"):r&&l("Treemap");const c=i.hasType("bubble")||i.hasType("scatter");c&&((s=i.updateTargetForCircle)==null||s.call(i)),i.filterTargetsToShowAtInit(c)}filterTargetsToShowAtInit(t=!1){const s=this,{$el:{svg:i},$T:n}=s;let a=`.${D.target}`;t&&(a+=`, .${ut.chartCircles} > .${ut.circles}`),n(i.selectAll(a).filter(o=>s.isTargetToShow(o.id))).style("opacity",null)}getWithOption(t){const s={Dimension:!0,EventRect:!0,Legend:!1,Subchart:!0,Transform:!1,Transition:!0,TrimXDomain:!0,UpdateXAxis:"UpdateXDomain",UpdateXDomain:!1,UpdateOrgXDomain:!1,TransitionForExit:"Transition",TransitionForAxis:"Transition",Y:!0};return Object.keys(s).forEach(i=>{let n=s[i];V(n)&&(n=s[n]),s[i]=Dt(t,`with${i}`,n)}),s}initialOpacity(t){const s=this,{withoutFadeIn:i}=s.state;return s.getBaseValue(t)!==null&&i[t.id]?null:"0"}bindResize(){const t=this,{config:s,state:i}=t,n=On(s.resize_timer),a=[];a.push(()=>K(s.onresize,t.api)),s.resize_auto===!0&&a.push(()=>{i.resizing=!0,s.legend_show&&(t.updateSizes(),t.updateLegend()),t.api.flush(!1)}),a.push(()=>{K(s.onresized,t.api),i.resizing=!1}),a.forEach(o=>n.add(o)),t.resizeFunction=n,j.addEventListener("resize",t.resizeFunction=n)}callPluginHook(t,...s){this.config.plugins.forEach(i=>{t==="$beforeInit"&&(i.$$=this,this.api.plugins.push(i)),i[t](...s)})}}rt(jt.prototype,[Xn,Bn,Nn,Vn,Yn,Un,Zn,Gn,qn,Kn,Qn,ta,ua,ea,sa,aa,oa,ra,la,ca]);function fa(e){const t=this.config;let s,i,n;const a=()=>{const o=i.shift();if(o&&s&&St(s)&&o in s)return s=s[o],a();if(!o)return s};Object.keys(t).forEach(o=>{s=e,i=o.split("_"),n=a(),H(n)&&(t[o]=n)}),this.api&&(this.state.orgConfig=e)}var pa={resize(e){const t=this.internal,{config:s,state:i}=t;i.rendered&&(s.size_width=e?e.width:null,s.size_height=e?e.height:null,i.resizing=!0,this.flush(!1),t.resizeFunction())},flush(e){var t,s;const i=this.internal,{state:n,$el:{zoomResetBtn:a}}=i;n.rendered?(n.resizing?(t=i.brush)==null||t.updateResize():(s=i.axis)==null||s.setOrient(),a==null||a.style("display","none"),i.scale.zoom=null,e?i.redraw({withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withLegend:!0}):i.updateAndRedraw({withLegend:!0,withTransition:!1,withTransitionForTransform:!1}),!n.resizing&&i.brush&&(i.brush.getSelection().call(i.brush.move),i.unselectRect())):i.initToRender(!0)},destroy(){const e=this.internal,{$el:{chart:t,style:s,svg:i}}=e;if(nt(e)){e.callPluginHook("$willDestroy"),e.charts.splice(e.charts.indexOf(this),1),e.unbindAllEvents(),i.select("*").interrupt(),e.resizeFunction.clear(),j.removeEventListener("resize",e.resizeFunction),t.classed("bb",!1).style("position",null).selectChildren().remove(),s&&s.parentNode.removeChild(s),Object.keys(this).forEach(n=>{n==="internal"&&Object.keys(e).forEach(a=>{e[a]=null}),this[n]=null,delete this[n]});for(const n in this)this[n]=()=>{}}return null},config(e,t,s){const i=this.internal,{config:n,state:a}=i,o=e==null?void 0:e.replace(/\./g,"_");let r;return e&&o in n?H(t)?(n[o]=t,r=t,s&&this.flush()):r=n[o]:(arguments.length===0||At(e))&&(r=a.orgConfig),r}},xa={color(e){return this.internal.color(e)}};const Es=function(e){const{targets:t}=this.internal.data;if(!it(e)){const s=N(e)?e:[e];return t.filter(i=>s.some(n=>n===i.id))}return t};rt(Es,{shown:function(e){return this.internal.filterTargetsToShow(this.data(e))},values:function(e,t=!0){let s=null;if(e){const i=this.data(e);N(i)&&(s=[],i.forEach(n=>{const a=n.values.map(o=>o.value);t?s=s.concat(a):s.push(a)}))}return s},names:function(e){return this.internal.updateDataAttributes("names",e)},colors:function(e){return this.internal.updateDataAttributes("colors",e)},axes:function(e){return this.internal.updateDataAttributes("axes",e)},min:function(){return this.internal.getMinMaxData().min},max:function(){return this.internal.getMinMaxData().max}});var _a={data:Es};const ma=e=>{var t,s;return(s=(t=j).btoa)==null?void 0:s.call(t,encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(i,n)=>String.fromCharCode(+`0x${n}`)))};function $a(e,t,s){const{width:i,height:n}=t||s,a=new XMLSerializer,o=e.cloneNode(!0),r=fn(Gt(ot.styleSheets)).filter(h=>h.cssText).map(h=>h.cssText);o.setAttribute("xmlns",w.namespaces.xhtml),o.style.margin="0",o.style.padding="0",t.preserveFontStyle&&o.querySelectorAll("text").forEach(h=>{h.innerHTML=""});const l=a.serializeToString(o),c=ot.createElement("style");c.appendChild(ot.createTextNode(r.join(` +`)));const u=a.serializeToString(c),d=`<svg xmlns="${w.namespaces.svg}" width="${i}" height="${n}" + viewBox="0 0 ${s.width} ${s.height}" + preserveAspectRatio="${(t==null?void 0:t.preserveAspectRatio)===!1?"none":"xMinYMid meet"}"> + <foreignObject width="100%" height="100%"> + ${u} + ${l.replace(/(url\()[^#]+/g,"$1")} + </foreignObject></svg>`;return`data:image/svg+xml;base64,${ma(d)}`}function ya(e,t){const{top:s,left:i}=t,{x:n,y:a}=e.getBBox(),{a:o,b:r,c:l,d:c,e:u,f:d}=e.getScreenCTM(),{width:h,height:g}=e.getBoundingClientRect();return{x:o*n+l*a+u-i,y:r*n+c*a+d-s+(g-Math.round(g/4)),width:h,height:g}}function ba(e){const{left:t,top:s}=e.getBoundingClientRect(),i=a=>a.textContent||a.childElementCount,n=[];return Gt(e.querySelectorAll("text")).filter(i).forEach(a=>{const o=r=>{const{fill:l,fontFamily:c,fontSize:u,textAnchor:d,transform:h}=j.getComputedStyle(r),{x:g,y:f,width:p,height:_}=ya(r,{left:t,top:s});return{[r.textContent]:{x:g,y:f,width:p,height:_,fill:l,fontFamily:c,fontSize:u,textAnchor:d,transform:h}}};if(a.childElementCount>1){const r=[];return Gt(a.querySelectorAll("tspan")).filter(i).forEach(l=>{n.push(o(l))}),r}else n.push(o(a))}),n}function va(e,t){t.forEach(s=>{Object.keys(s).forEach(i=>{const{x:n,y:a,width:o,height:r,fill:l,fontFamily:c,fontSize:u,transform:d}=s[i];if(e.save(),e.font=`${u} ${c}`,e.fillStyle=l,d==="none")e.fillText(i,n,a);else{const h=d.replace(/(matrix|\(|\))/g,"").split(",");h.splice(4).every(g=>+g==0)?(h.push(n+o-o/4),h.push(a-r+r/3)):(h.push(n),h.push(a)),e.transform(...h),e.fillText(i,0,0)}e.restore()})})}var Ta={export(e,t){const s=this.internal,{state:i,$el:{chart:n,svg:a}}=s,{width:o,height:r}=i.current,l=qt({width:o,height:r,preserveAspectRatio:!0,preserveFontStyle:!1,mimeType:"image/png"},e),c=$a(n.node(),l,{width:o,height:r}),u=l.preserveFontStyle?ba(a.node()):[];if(t&&O(t)){const d=new Image;d.crossOrigin="Anonymous",d.onload=()=>{const h=ot.createElement("canvas"),g=h.getContext("2d");h.width=l.width||o,h.height=l.height||r,g.drawImage(d,0,0),u.length&&(va(g,u),u.length=0),t.bind(this)(h.toDataURL(l.mimeType))},d.src=c}return c}},Aa={focus(e){const t=this.internal,{state:s}=t,i=t.mapToTargetIds(e),n=t.$el.svg.selectAll(t.selectorTargets(i.filter(t.isTargetToShow,t)));this.revert(),this.defocus(),n.classed(q.focused,!0).classed(q.defocused,!1),t.hasArcType()&&!s.hasRadar&&(t.expandArc(i),t.hasType("gauge")&&t.markOverlapped(e,t,`.${_t.gaugeValue}`)),t.toggleFocusLegend(i,!0),s.focusedTargetIds=i,s.defocusedTargetIds=s.defocusedTargetIds.filter(a=>i.indexOf(a)<0)},defocus(e){const t=this.internal,{state:s}=t,i=t.mapToTargetIds(e);t.$el.svg.selectAll(t.selectorTargets(i.filter(t.isTargetToShow,t))).classed(q.focused,!1).classed(q.defocused,!0),t.hasArcType(null,["polar"])&&(t.unexpandArc(i),t.hasType("gauge")&&t.undoMarkOverlapped(t,`.${_t.gaugeValue}`)),t.toggleFocusLegend(i,!1),s.focusedTargetIds=s.focusedTargetIds.filter(a=>i.indexOf(a)<0),s.defocusedTargetIds=i},revert(e){const t=this.internal,{config:s,state:i,$el:n}=t,a=t.mapToTargetIds(e);n.svg.selectAll(t.selectorTargets(a)).classed(q.focused,!1).classed(q.defocused,!1),t.hasArcType(null,["polar"])&&t.unexpandArc(a),s.legend_show&&(t.showLegend(a.filter(t.isLegendToShow.bind(t))),n.legend.selectAll(t.selectorLegends(a)).filter(function(){return(0,w.select)(this).classed(q.legendItemFocused)}).classed(q.legendItemFocused,!1)),i.focusedTargetIds=[],i.defocusedTargetIds=[]}},wa={legend:{show:function(e){const t=this.internal;t.showLegend(t.mapToTargetIds(e)),t.updateAndRedraw({withLegend:!0})},hide:function(e){const t=this.internal;t.hideLegend(t.mapToTargetIds(e)),t.updateAndRedraw({withLegend:!0})}}},Sa={load(e){const t=this.internal,{config:s}=t;e.xs&&t.addXs(e.xs),"names"in e&&this.data.names(e.names),"classes"in e&&Object.keys(e.classes).forEach(i=>{s.data_classes[i]=e.classes[i]}),"categories"in e&&t.axis.isCategorized()&&(s.axis_x_categories=e.categories),"axes"in e&&Object.keys(e.axes).forEach(i=>{s.data_axes[i]=e.axes[i]}),"colors"in e&&Object.keys(e.colors).forEach(i=>{s.data_colors[i]=e.colors[i]}),"unload"in e&&e.unload!==!1?t.unload(t.mapToTargetIds(e.unload===!0?null:e.unload),()=>{as(()=>t.loadFromArgs(e))}):t.loadFromArgs(e)},unload(e){const t=this.internal;let s=e||{};At(s)&&this.tooltip.hide(),N(s)?s={ids:s}:V(s)&&(s={ids:[s]});const i=t.mapToTargetIds(s.ids);t.unload(i,()=>{t.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),t.cache.remove(i),As.call(t,s.done,s.resizeAfter)})}};function ks(e,t,s){const i=this.internal,n=i.mapToTargetIds(t),a=i.state.hiddenTargetIds.map(l=>n.indexOf(l)>-1&&l).filter(Boolean);i.state.toggling=!0,i[`${e?"remove":"add"}HiddenTargetIds`](n);const o=i.$el.svg.selectAll(i.selectorTargets(n)),r=e?null:"0";e&&a.length&&(o.style("display",null),K(i.config.data_onshown,this,a)),i.$T(o).style("opacity",r,"important").call(ye,()=>{var l;!e&&a.length===0&&(o.style("display","none"),K((l=i.config)==null?void 0:l.data_onhidden,this,n)),o.style("opacity",r)}),s.withLegend&&i[`${e?"show":"hide"}Legend`](n),i.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),i.state.toggling=!1}var Ra={show(e,t={}){ks.call(this,!0,e,t)},hide(e,t={}){ks.call(this,!1,e,t)},toggle(e,t={}){const s=this.internal,i={show:[],hide:[]};s.mapToTargetIds(e).forEach(n=>i[s.isTargetToShow(n)?"hide":"show"].push(n)),i.show.length&&this.show(i.show,t),i.hide.length&&setTimeout(()=>this.hide(i.hide,t),0)}},Ca={tooltip:{show:function(e){var t,s,i;const n=this.internal,{$el:a,config:o,state:{eventReceiver:r,hasFunnel:l,hasTreemap:c,inputType:u}}=n;let d,h;if(e.mouse&&(h=e.mouse),e.data){const{data:g}=e,f=(t=n.getYScaleById(g.id))==null?void 0:t(g.value);if((l||c)&&g.id){const p=n.selectorTarget(g.id,void 0,`.${st.shape}`);r.rect=a.main.select(p)}else n.isMultipleX()?h=[n.xx(g),f]:(o.tooltip_grouped||(h=[0,f]),d=(i=g.index)!=null?i:n.hasArcType()&&g.id?(s=n.getArcElementByIdOrIndex(g.id))==null?void 0:s.datum().index:n.getIndexByX(g.x))}else H(e.x)?d=n.getIndexByX(e.x):H(e.index)&&(d=e.index);(u==="mouse"?["mouseover","mousemove"]:["touchstart"]).forEach(g=>{n.dispatchEvent(g,d,h)})},hide:function(){var e,t,s;const i=this.internal,{state:{inputType:n},$el:{tooltip:a}}=i,o=a==null?void 0:a.datum();if(o){const{index:r}=JSON.parse(o.current)[0];(n==="mouse"?["mouseout"]:["touchend"]).forEach(l=>{i.dispatchEvent(l,r)})}n==="touch"&&i.callOverOutForTouch(),i.hideTooltip(!0),(e=i.hideGridFocus)==null||e.call(i),(t=i.unexpandCircles)==null||t.call(i),(s=i.expandBarTypeShapes)==null||s.call(i,!1)}}},Ea=Object.defineProperty,ka=(e,t,s)=>t in e?Ea(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Ls=(e,t,s)=>ka(e,typeof t!="symbol"?t+"":t,s);class Mt{constructor(t){Ls(this,"plugins",[]),Ls(this,"internal");const s=new jt(this);this.internal=s,function i(n,a,o){Object.keys(n).forEach(r=>{const l=O(n[r]),c=a!==o,u=nt(n[r]),d=u&&Object.keys(n[r]).length>0;l&&(!c&&d||c)?a[r]=n[r].bind(o):u&&!l?a[r]={}:a[r]=n[r],d&&i(n[r],a[r],o)})}(Mt.prototype,this,this),fa.call(s,t),s.beforeInit(),s.init()}}rt(Mt.prototype,[pa,xa,_a,Ta,Aa,wa,Sa,Ra,Ca]);function Ps(e=!1,t,s,i){const n=this,{config:a,$el:{main:o}}=n,r=a.data_selection_grouped,l=a.data_selection_isselectable.bind(n.api);a.data_selection_enabled&&o.selectAll(`.${st.shapes}`).selectAll(`.${st.shape}`).each(function(c){const u=(0,w.select)(this),{id:d,index:h}=c.data?c.data:c,g=n.getToggle(this,c).bind(n),f=r||!t||t.indexOf(d)>=0,p=!s||s.indexOf(h)>=0,_=u.classed(Q.SELECTED);u.classed(Et.line)||u.classed(xe.area)||(e?f&&p&&l(c)&&!_?g(!0,u.classed(Q.SELECTED,!0),c,h):H(i)&&i&&_&&g(!1,u.classed(Q.SELECTED,!1),c,h):f&&p&&l(c)&&_&&g(!1,u.classed(Q.SELECTED,!1),c,h))})}var La={selected(e){const t=this.internal,s=[];return t.$el.main.selectAll(`.${st.shapes+t.getTargetSelectorSuffix(e)}`).selectAll(`.${st.shape}`).filter(function(){return(0,w.select)(this).classed(Q.SELECTED)}).each(i=>s.push(i)),s},select(e,t,s){const i=this.internal;Ps.bind(i)(!0,e,t,s)},unselect(e,t){const s=this.internal;Ps.bind(s)(!1,e,t)}};const Os=function(e){var t;const s=this.internal,{axis:i,brush:n,config:a,scale:{x:o,subX:r},state:l}=s;let c;return a.subchart_show&&(c=e,Array.isArray(c)?(i.isTimeSeries()&&(c=c.map(d=>mt.bind(s)(d))),s.withinRange(c,s.getZoomDomain("subX",!0),s.getZoomDomain("subX"))&&(l.domain=c,n.move(n.getSelection(),c.map(r)))):c=(t=l.domain)!=null?t:o.orgDomain()),c};rt(Os,{show(){var e,t;const s=this.internal,{$el:{subchart:i},config:n}=s,a=n.subchart_show;if(!a){s.unbindZoomEvent(),n.subchart_show=!a,!i.main&&s.initSubchart();let o=i.main.selectAll(`.${D.target}`);s.data.targets.length!==o.size()&&(s.updateSizes(),s.updateTargetsForSubchart(s.data.targets),o=(e=i.main)==null?void 0:e.selectAll(`.${D.target}`)),o==null||o.style("opacity",null),(t=i.main)==null||t.style("display",null),this.resize()}},hide(){const e=this.internal,{$el:{subchart:{main:t}},config:s}=e;s.subchart_show&&(t==null?void 0:t.style("display"))!=="none"&&(s.subchart_show=!1,t.style("display","none"),this.resize())},toggle(){const e=this.internal,{config:t}=e;this.subchart[t.subchart_show?"hide":"show"]()},reset(){const e=this.internal,{brush:t}=e;t.clear(t.getSelection())}});var Pa={subchart:Os},Rt=U(10);const Is=function(e){var t;const s=this.internal,{axis:i,config:n,org:a,scale:o,state:r}=s,l=i.isCategorized();let c;if(n.zoom_enabled)if(c=e,Array.isArray(c)){if(i.isTimeSeries()&&(c=c.map(d=>mt.bind(s)(d))),s.withinRange(c,s.getZoomDomain("zoom",!0),s.getZoomDomain("zoom"))){if(r.domain=c,c=s.getZoomDomainValue(c),s.api.tooltip.hide(),n.subchart_show){const d=o.zoom||o.x;s.brush.getSelection().call(s.brush.move,c.map(d))}else{const d=l?o.x.orgScale():a.xScale||o.x;s.updateCurrentZoomTransform(d,c)}s.setZoomResetButton()}}else c=s.zoom.getDomain();return(t=r.domain)!=null?t:c};rt(Is,{enable(e){const t=this.internal,{config:s}=t;/^(drag|wheel)$/.test(e)&&(s.zoom_type=e),s.zoom_enabled=!!e,t.zoom?e===!1&&t.bindZoomEvent(!1):(t.initZoom(),t.bindZoomEvent()),t.updateAndRedraw()},max(e){const t=this.internal,{config:s,org:{xDomain:i}}=t;return(e===0||e)&&(s.zoom_x_max=wt("max",[i[1],e])),s.zoom_x_max},min(e){const t=this.internal,{config:s,org:{xDomain:i}}=t;return(e===0||e)&&(s.zoom_x_min=wt("min",[i[0],e])),s.zoom_x_min},range(e){const t=this.zoom;if(X(e)){const{min:s,max:i}=e;H(s)&&t.min(s),H(i)&&t.max(i)}return{min:t.min(),max:t.max()}}});var Oa={zoom:Is,unzoom(){const e=this.internal,{config:t,$el:{eventRect:s,zoomResetBtn:i},scale:{zoom:n},state:a}=e;n&&(t.subchart_show?e.brush.getSelection().call(e.brush.move,null):e.zoom.updateTransformScale(Rt.zoomIdentity),e.updateZoom(!0),i==null||i.style("display","none"),(0,Rt.zoomTransform)(s.node())!==Rt.zoomIdentity&&e.zoom.transform(s,Rt.zoomIdentity),a.domain=void 0)}},Ia={initBrush(){const e=this,{config:t,scale:s,$el:{subchart:i},state:n}=e,a=t.axis_rotated,o=t.subchart_size_height;let r,l,c;e.brush=(a?(0,me.brushY)():(0,me.brushX)()).handleSize(5),e.brush.on("start brush end",u=>{const{selection:d,sourceEvent:h,target:g,type:f}=u;f==="start"&&(e.state.inputType==="touch"&&e.hideTooltip(),l=h?d:null),/(start|brush)/.test(f)&&(f==="brush"&&h&&n.domain&&(l==null||l.forEach((p,_)=>{p!==d[_]&&(n.domain[_]=s.x.orgDomain()[_])})),e.redrawForBrush(f!=="start")),f==="end"&&(r=s.x.orgDomain()),g!=null&&g.handle&&(d===null?e.brush.handle.attr("display","none"):e.brush.handle.attr("display",null).attr("transform",(p,_)=>{const x=[d[_],o/2];return`translate(${a?x.reverse():x})`}))}),e.brush.updateResize=function(){c&&clearTimeout(c),c=setTimeout(()=>{const u=this.getSelection();r&&(0,me.brushSelection)(u.node())&&this.move(u,r.map(s.subX.orgScale()))},0)},e.brush.update=function(){var u;return this.extent()()[1].filter(h=>isNaN(h)).length===0&&((u=i.main)==null||u.select(`.${B.brush}`).call(this)),this},e.brush.scale=function(u){const d=t.subchart_size_height;let h=e.axis.getExtent();!h&&u.range?h=[[0,0],[u.range()[1],d]]:N(h)&&(h=h.map((g,f)=>[g,f>0?d:f])),a&&h[1].reverse(),this.extent(h),this.update()},e.brush.getSelection=()=>i.main?i.main.select(`.${B.brush}`):(0,w.select)([])},initSubchart(){const e=this,{config:t,state:{clip:s,hasAxis:i},$el:{defs:n,svg:a,subchart:o,axis:r}}=e;if(!i)return;const l=t.subchart_show?null:"hidden",c=`${s.id}-subchart`,u=e.getClipPath(c);s.idSubchart=c,e.appendClip(n,c),e.initBrush(),o.main=a.append("g").classed(B.subchart,!0).attr("transform",e.getTranslate("context"));const{main:d}=o;d.style("visibility",l),d.append("g").attr("clip-path",u).attr("class",B.chart),["bar","line","bubble","candlestick","scatter"].forEach(g=>{const f=ft(/^(bubble|scatter)$/.test(g)?"circle":g);if(e.hasType(g)||e.hasTypeOf(f)){const p=d.select(`.${B.chart}`),_=B[`chart${f}s`];p.select(`.${_}`).empty()&&p.append("g").attr("class",_)}});const h=d.append("g").attr("clip-path",u).attr("class",B.brush).call(e.brush);t.subchart_showHandle&&e.addBrushHandle(h),r.subX=d.append("g").attr("class",B.axisX).attr("transform",e.getTranslate("subX")).attr("clip-path",t.axis_rotated?"":s.pathXAxis).style("visibility",t.subchart_axis_x_show?l:"hidden")},addBrushHandle(e){const t=this,{config:s}=t,i=s.axis_rotated,n=s.subchart_init_range,a="handle--custom",o=i?["M8.5 0 a6 6 0 0 0 -6 -6.5 H-2.5 a 6 6 0 0 0 -6 6.5 z m-5 -2 H-3.5 m7 -2 H-3.5z","M8.5 0 a6 -6 0 0 1 -6 6.5 H-2.5 a 6 -6 0 0 1 -6 -6.5z m-5 2 H-3.5 m7 2 H-3.5z"]:["M0 -8.5 A6 6 0 0 0 -6.5 -3.5 V2.5 A6 6 0 0 0 0 8.5 Z M-2 -3.5 V3.5 M-4 -3.5 V3.5z","M0 -8.5 A6 6 0 0 1 6.5 -3.5 V2.5 A6 6 0 0 1 0 8.5 Z M2 -3.5 V3.5 M4 -3.5 V3.5z"];t.brush.handle=e.selectAll(`.${a}`).data(i?[{type:"n"},{type:"s"}]:[{type:"w"},{type:"e"}]).enter().append("path").attr("class",a).attr("cursor",`${i?"ns":"ew"}-resize`).attr("d",r=>o[+/[se]/.test(r.type)]).attr("display",n?null:"none")},updateTargetsForSubchart(e){const t=this,{config:s,state:i,$el:{subchart:{main:n}}}=t;s.subchart_show&&(["bar","line","bubble","candlestick","scatter"].filter(a=>t.hasType(a)||t.hasTypeOf(ft(a))).forEach(a=>{const o=/^(bubble|scatter)$/.test(a),r=ft(o?"circle":a),l=t.getChartClass(r,!0),c=t.getClass(o?"circles":`${a}s`,!0),u=n.select(`.${B[`chart${`${r}s`}`]}`);if(o){const d=u.selectAll(`.${B.circles}`).data(e.filter(t[`is${ft(a)}Type`].bind(t))).attr("class",c);d.exit().remove(),d.enter().append("g").attr("class",c)}else{const d=u.selectAll(`.${B[`chart${r}`]}`).attr("class",l).data(e.filter(t[`is${r}Type`].bind(t))),h=d.enter().append("g").style("opacity","0").attr("class",l).append("g").attr("class",c);d.exit().remove(),a==="line"&&t.hasTypeOf("Area")&&h.append("g").attr("class",t.getClass("areas",!0))}}),n.selectAll(`.${B.brush} rect`).attr(s.axis_rotated?"width":"height",s.axis_rotated?i.width2:i.height2))},redrawSubchart(e,t,s){var i;const n=this,{config:a,$el:{subchart:{main:o}},state:r}=n,l=!!t;if(o.style("visibility",a.subchart_show?null:"hidden"),a.subchart_show&&(((i=r.event)==null?void 0:i.type)==="zoom"&&n.brush.update(),e)){const c=a.subchart_init_range;if(!hs(n)&&n.brush.update(),Object.keys(s.type).forEach(u=>{const d=ft(u),h=n[`generateDraw${d}`](s.indices[u],!0);n[`update${d}`](l,!0),n[`redraw${d}`](h,l,!0)}),n.hasType("bubble")||n.hasType("scatter")){const{cx:u}=s.pos,d=n.updateCircleY(!0);n.updateCircle(!0),n.redrawCircle(u,d,l,void 0,!0)}!r.rendered&&c&&(r.domain=c,n.brush.move(n.brush.getSelection(),c.map(n.scale.x)))}},redrawForBrush(e=!0){var t;const s=this,{config:{subchart_onbrush:i,zoom_rescale:n},scale:a,state:o}=s;s.redraw({withTransition:!1,withY:n,withSubchart:!1,withUpdateXDomain:!0,withDimension:!1}),e&&o.rendered&&i.bind(s.api)((t=o.domain)!=null?t:a.x.orgDomain())},transformContext(e,t){const s=this,{$el:{subchart:i},$T:n}=s,a=t!=null&&t.axisSubX?t.axisSubX:n(i.main.select(`.${B.axisX}`),e);i.main.attr("transform",s.getTranslate("context")),a.attr("transform",s.getTranslate("subX"))}},Da={initZoom(){const e=this;e.scale.zoom=null,e.generateZoom(),e.config.zoom_type==="drag"&&e.initZoomBehaviour()},bindZoomEvent(e=!0){const t=this,{config:s}=t;s.zoom_enabled&&e?!s.subchart_show&&t.bindZoomOnEventRect():e===!1&&(t.api.unzoom(),t.unbindZoomEvent())},generateZoom(){const e=this,{config:t,org:s,scale:i}=e,n=(0,Rt.zoom)().duration(0).on("start",e.onZoomStart.bind(e)).on("zoom",e.onZoom.bind(e)).on("end",e.onZoomEnd.bind(e));n.orgScaleExtent=()=>{const a=t.zoom_extent||[1,10];return[a[0],Math.max(e.getMaxDataCount()/a[1],a[1])]},n.updateScaleExtent=function(){const a=Nt(e.scale.x.orgDomain())/Nt(e.getZoomDomain()),o=this.orgScaleExtent();return this.scaleExtent([o[0]*a,o[1]*a]),this},n.updateTransformScale=(a,o)=>{var r;const l=t.axis_rotated;(r=s.xScale)==null||r.range(i.x.range());const c=a[l?"rescaleY":"rescaleX"](s.xScale||i.x);if(c.domain().some(h=>/(Invalid Date|NaN)/.test(h.toString())))return;const u=e.trimXDomain(c.domain()),d=t.zoom_rescale;if(c.domain(u,s.xDomain),o){const h=c(i.x.domain()[0]),g=l?a.x:h,f=l?h:a.y;e.$el.eventRect.property("__zoom",Rt.zoomIdentity.translate(g,f).scale(a.k))}e.state.xTickOffset||(e.state.xTickOffset=e.axis.x.tickOffset()),i.zoom=e.getCustomizedXScale(c),e.axis.x.scale(i.zoom),d?(!s.xScale&&(s.xScale=i.x.copy()),i.x.domain(u)):s.xScale&&(i.x.domain(s.xScale.domain()),s.xScale=null)},n.getDomain=()=>{const a=i[i.zoom?"zoom":"subX"].domain();return e.axis.isCategorized()&&(a[1]-=2),a},e.zoom=n},onZoomStart(e){const t=this,{sourceEvent:s}=e;s&&(t.zoom.startEvent=s,t.state.zooming=!0,K(t.config.zoom_onzoomstart,t.api,e))},onZoom(e){var t;const s=this,{config:i,scale:n,state:a,org:o}=s,{sourceEvent:r}=e,l=(e==null?void 0:e.transform)===Rt.zoomIdentity;if(!i.zoom_enabled||s.filterTargetsToShow(s.data.targets).length===0||!n.zoom&&(r==null?void 0:r.type.indexOf("touch"))>-1&&(r==null?void 0:r.touches.length)===1)return;e.sourceEvent&&(a.zooming=!0,a.domain=void 0);const c=(r==null?void 0:r.type)==="mousemove",u=(r==null?void 0:r.wheelDelta)<0,{transform:d}=e;!c&&u&&n.x.domain().every((g,f)=>g!==o.xDomain[f])&&n.x.domain(o.xDomain),s.zoom.updateTransformScale(d,i.zoom_type==="wheel"&&r);const h=i.transition_duration>0&&!i.subchart_show&&(a.dragging||l||!e.sourceEvent);s.redraw({withTransition:h,withY:i.zoom_rescale,withSubchart:!1,withEventRect:!1,withDimension:!1}),s.state.cancelClick=c,!l&&K(i.zoom_onzoom,s.api,(t=s.state.domain)!=null?t:s.zoom.getDomain())},onZoomEnd(e){var t,s;const i=this,{config:n,state:a}=i;let{startEvent:o}=i.zoom,r=e==null?void 0:e.sourceEvent;const l=(e==null?void 0:e.transform)===Rt.zoomIdentity;(o==null?void 0:o.type.indexOf("touch"))>-1&&(o=o.changedTouches[0],r=(t=r==null?void 0:r.changedTouches)==null?void 0:t[0]),!(n.zoom_type==="drag"&&r&&o.clientX===r.clientX&&o.clientY===r.clientY)&&(a.zooming=!1,i.redrawEventRect(),i.updateZoom(),!l&&(r||a.dragging)&&K(n.zoom_onzoomend,i.api,(s=i.state.domain)!=null?s:i.zoom.getDomain()))},updateZoom(e){const t=this,{subX:s,x:i,zoom:n}=t.scale;if(n){const a=n.domain(),o=s.domain(),r=.015,l=t.config.axis_x_inverted?(a[0]>=o[0]||a[0]+r>=o[0])&&(o[1]>=a[1]||o[1]>=a[1]+r):(a[0]<=o[0]||a[0]-r<=o[0])&&(o[1]<=a[1]||o[1]<=a[1]-r);(e||l)&&(t.axis.x.scale(s),i.domain(s.orgDomain()),t.scale.zoom=null)}},updateCurrentZoomTransform(e,t){const s=this,{$el:{eventRect:i},config:n}=s,a=n.axis_rotated,o=[-e(t[0]),0],r=Rt.zoomIdentity.scale(e.range()[1]/(e(t[1])-e(t[0]))).translate(...a?o.reverse():o);i.call(s.zoom.transform,r)},bindZoomOnEventRect(){var e;const t=this,{config:s,$el:{eventRect:i,svg:n}}=t,a=s.zoom_type==="drag"?t.zoomBehaviour:t.zoom;j.GestureEvent&&/^((?!chrome|android|mobile).)*safari/i.test((e=j.navigator)==null?void 0:e.userAgent)&&n.on("wheel",()=>{}),i==null||i.call(a).on("dblclick.zoom",null)},initZoomBehaviour(){const e=this,{config:t,state:s}=e,i=t.axis_rotated;let n=0,a=0,o,r;const l={axis:i?"y":"x",attr:i?"height":"width",index:i?1:0};e.zoomBehaviour=(0,ws.drag)().clickDistance(4).on("start",function(c){r=e.scale.zoom?null:e.axis.getExtent(),s.event=c,e.setDragStatus(!0),e.unselectRect(),o||(o=e.$el.main.append("rect").attr("clip-path",s.clip.path).attr("class",Pe.zoomBrush).attr("width",i?s.width:0).attr("height",i?0:s.height)),n=yt(c,this)[l.index],r&&(n<r[0]?n=r[0]:n>r[1]&&(n=r[1])),a=n,o.attr(l.axis,n).attr(l.attr,0),e.onZoomStart(c)}).on("drag",function(c){a=yt(c,this)[l.index],r&&(a>r[1]?a=r[1]:a<r[0]&&(a=r[0])),o.attr(l.axis,Math.min(n,a)).attr(l.attr,Math.abs(a-n))}).on("end",c=>{const u=e.scale.zoom||e.scale.x;s.event=c,o.attr(l.axis,0).attr(l.attr,0),n>a&&([n,a]=[a,n]),n<0&&(a+=Math.abs(n),n=0),n!==a&&e.api.zoom([n,a].map(d=>u.invert(d))),e.setDragStatus(!1)})},setZoomResetButton(){const e=this,{config:t,$el:s}=e,i=t.zoom_resetButton;i&&t.zoom_type==="drag"&&(s.zoomResetBtn?s.zoomResetBtn.style("display",null):s.zoomResetBtn=e.$el.chart.append("div").classed(D.button,!0).append("span").on("click",function(){O(i.onclick)&&i.onclick.bind(e.api)(this),e.api.unzoom()}).classed(Pe.buttonZoomReset,!0).text(i.text||"Reset Zoom"))},getZoomTransform(){const e=this,{$el:{eventRect:t}}=e;return t!=null&&t.node()?(0,Rt.zoomTransform)(t.node()):{k:1}}},za={drag(e){const t=this,{config:s,state:i,$el:{main:n}}=t,a=s.data_selection_grouped,o=s.interaction_enabled&&s.data_selection_isselectable;if(t.hasArcType()||!s.data_selection_enabled||s.zoom_enabled&&!t.zoom.altDomain||!s.data_selection_multiple)return;const[r,l]=i.dragStart||[0,0],[c,u]=e,d=Math.min(r,c),h=Math.max(r,c),g=a?i.margin.top:Math.min(l,u),f=a?i.height:Math.max(l,u);n.select(`.${Bt.dragarea}`).attr("x",d).attr("y",g).attr("width",h-d).attr("height",f-g),n.selectAll(`.${st.shapes}`).selectAll(`.${st.shape}`).filter(p=>o==null?void 0:o.bind(t.api)(p)).each(function(p,_){const x=(0,w.select)(this),m=x.classed(Q.SELECTED),$=x.classed(Bt.INCLUDED);let b=!1,v;if(x.classed(ut.circle)){const y=+x.attr("cx")*1,A=+x.attr("cy")*1;v=t.togglePoint,b=d<y&&y<h&&g<A&&A<f}else if(x.classed(vt.bar)){const{x:y,y:A,width:S,height:R}=ds(this);v=t.togglePath,b=!(h<y||y+S<d)&&!(f<A||A+R<g)}else return;b^$&&(x.classed(Bt.INCLUDED,!$),x.classed(Q.SELECTED,!m),v.call(t,!m,x,p,_))})},dragstart(e){const t=this,{config:s,state:i,$el:{main:n}}=t;t.hasArcType()||!s.data_selection_enabled||(i.dragStart=e,n.select(`.${D.chart}`).append("rect").attr("class",Bt.dragarea).style("opacity","0.1"),t.setDragStatus(!0))},dragend(){const e=this,{config:t,$el:{main:s},$T:i}=e;e.hasArcType()||!t.data_selection_enabled||(i(s.select(`.${Bt.dragarea}`)).style("opacity","0").remove(),s.selectAll(`.${st.shape}`).classed(Bt.INCLUDED,!1),e.setDragStatus(!1))}},Fa=Object.defineProperty,Ma=Object.defineProperties,Xa=Object.getOwnPropertyDescriptors,Ds=Object.getOwnPropertySymbols,Ba=Object.prototype.hasOwnProperty,Na=Object.prototype.propertyIsEnumerable,zs=(e,t,s)=>t in e?Fa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Ga=(e,t)=>{for(var s in t||(t={}))Ba.call(t,s)&&zs(e,s,t[s]);if(Ds)for(var s of Ds(t))Na.call(t,s)&&zs(e,s,t[s]);return e},Va=(e,t)=>Ma(e,Xa(t)),Ya=Va(Ga({},za),{selectPoint(e,t,s){const i=this,{config:n,$el:{main:a},$T:o}=i,r=n.axis_rotated,l=(r?i.circleY:i.circleX).bind(i),c=(r?i.circleX:i.circleY).bind(i),u=i.pointSelectR.bind(i);K(n.data_onselected,i.api,t,e.node()),o(a.select(`.${Q.selectedCircles}${i.getTargetSelectorSuffix(t.id)}`).selectAll(`.${Q.selectedCircle}-${s}`).data([t]).enter().append("circle").attr("class",()=>i.generateClass(Q.selectedCircle,s)).attr("cx",l).attr("cy",c).attr("stroke",i.color).attr("r",d=>i.pointSelectR(d)*1.4)).attr("r",u)},unselectPoint(e,t,s){const i=this,{config:n,$el:{main:a},$T:o}=i;K(n.data_onunselected,i.api,t,e==null?void 0:e.node()),o(a.select(`.${Q.selectedCircles}${i.getTargetSelectorSuffix(t.id)}`).selectAll(`.${Q.selectedCircle}-${s}`)).attr("r",0).remove()},togglePoint(e,t,s,i){this[`${e?"":"un"}selectPoint`](t,s,i)},selectPath(e,t){const s=this,{config:i}=s;K(i.data_onselected,s.api,t,e.node()),i.interaction_brighten&&e.style("filter","brightness(1.25)")},unselectPath(e,t){const s=this,{config:i}=s;K(i.data_onunselected,s.api,t,e.node()),i.interaction_brighten&&e.style("filter",null)},togglePath(e,t,s,i){this[`${e?"":"un"}selectPath`](t,s,i)},getToggle(e,t){const s=this;return e.nodeName==="path"?s.togglePath:s.isStepType(t)?()=>{}:s.togglePoint},toggleShape(e,t,s){var i;const n=this,{config:a,$el:{main:o}}=n;if(a.data_selection_enabled&&a.data_selection_isselectable.bind(n.api)(t)){const r=(0,w.select)(e),l=r.classed(Q.SELECTED),c=n.getToggle(e,t).bind(n);let u;if(!a.data_selection_multiple){const d=(i=n.isPointFocusOnly)==null?void 0:i.call(n);let h=`.${d?Q.selectedCircles:st.shapes}`;a.data_selection_grouped&&(h+=n.getTargetSelectorSuffix(t.id)),o.selectAll(h).selectAll(d?`.${Q.selectedCircle}`:`.${st.shape}.${Q.SELECTED}`).classed(Q.SELECTED,!1).each(function(g){const f=(0,w.select)(this);u=f,c(!1,f,g,g.index)})}(!u||u.node()!==r.node())&&(r.classed(Q.SELECTED,!l),c(!l,r,t,s))}}}),ja={data_selection_enabled:!1,data_selection_grouped:!1,data_selection_isselectable:()=>!0,data_selection_multiple:!0,data_selection_draggable:!1,data_onselected:()=>{},data_onunselected:()=>{}},Ha={subchart_show:!1,subchart_showHandle:!1,subchart_size_height:60,subchart_axis_x_show:!0,subchart_axis_x_tick_show:!0,subchart_axis_x_tick_format:void 0,subchart_axis_x_tick_text_show:!0,subchart_init_range:void 0,subchart_onbrush:()=>{}},Wa={zoom_enabled:!1,zoom_type:"wheel",zoom_extent:void 0,zoom_privileged:!1,zoom_rescale:!1,zoom_onzoom:void 0,zoom_onzoomstart:void 0,zoom_onzoomend:void 0,zoom_resetButton:!0,zoom_x_min:void 0,zoom_x_max:void 0};let Fs=()=>(rt(jt.prototype,Ya),rt(Mt.prototype,La),Vt.setOptions([ja]),(Fs=()=>!0)()),Ms=()=>(rt(jt.prototype,Ia),rt(Mt.prototype,Pa),Vt.setOptions([Ha]),(Ms=()=>!0)()),Xs=()=>(rt(jt.prototype,Da),rt(Mt.prototype,Oa),Vt.setOptions([Wa]),(Xs=()=>!0)());function Bs(e,t,s){const{config:i}=e,n=(a,o)=>{const r=L(o)?o:o===!1?void 0:null;r!==null&&(i[`axis_${a}_${t}`]=r)};H(s)&&(St(s)?Object.keys(s).forEach(a=>{n(a,s[a])}):(L(s)||s===!1)&&["y","y2"].forEach(a=>{n(a,s)}),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0}))}function Ns(e,t){const{config:s}=e;return{x:s[`axis_x_${t}`],y:s[`axis_y_${t}`],y2:s[`axis_y2_${t}`]}}var Ua={axis:{labels:function(e){const t=this.internal;let s;return e&&(Object.keys(e).forEach(i=>{t.axis.setLabelText(i,e[i])}),t.axis.updateLabels()),["x","y","y2"].forEach(i=>{const n=t.axis.getLabelText(i);n&&(!s&&(s={}),s[i]=n)}),s},min:function(e){const t=this.internal;return M(e)||e===!1?Bs(t,"min",e):Ns(t,"min")},max:function(e){const t=this.internal;return M(e)||e===!1?Bs(t,"max",e):Ns(t,"max")},range:function(e){const{axis:t}=this;if(arguments.length){const{min:s,max:i}=e;H(i)&&t.max(i),H(s)&&t.min(s)}else return{max:t.max(),min:t.min()}}}},Za={category(e,t){const s=this.internal,{config:i}=s;return arguments.length>1&&(i.axis_x_categories[e]=t,s.redraw()),i.axis_x_categories[e]},categories(e){const t=this.internal,{config:s}=t;if(!e||!Array.isArray(e)){const i=s.axis_x_categories;return At(i)?Object.values(t.data.xs)[0]:i}return s.axis_x_categories=e,t.redraw(),s.axis_x_categories}},qa={flow(e){const t=this.internal;let s;(e.json||e.rows||e.columns)&&t.convertData(e,n=>{s=n,i()});function i(){let n,a=0,o=0,r,l;if(t.state.redrawing||!s||!de())return;const c=[],u=t.getMaxDataCount(),d=t.convertDataToTargets(s,!0),h=t.axis.isTimeSeries();t.data.targets.forEach(p=>{let _=!1;for(let x=0;x<d.length;x++)if(p.id===d[x].id){_=!0,p.values[p.values.length-1]&&(o=p.values[p.values.length-1].index+1),a=d[x].values.length;for(let m=0;m<a;m++)d[x].values[m].index=o+m,h||(d[x].values[m].x=o+m);p.values=p.values.concat(d[x].values),d.splice(x,1);break}!_&&c.push(p.id)}),t.data.targets.forEach(p=>{for(let _=0;_<c.length;_++)if(p.id===c[_]){o=p.values[p.values.length-1].index+1;for(let x=0;x<a;x++)p.values.push({id:p.id,index:o+x,x:h?t.getOtherTargetX(o+x):o+x,value:null})}}),t.data.targets.length&&d.forEach(p=>{const _=[];for(let x=t.data.targets[0].values[0].index;x<o;x++)_.push({id:p.id,index:x,x:h?t.getOtherTargetX(x):x,value:null});p.values.forEach(x=>{x.index+=o,h||(x.x+=o)}),p.values=_.concat(p.values)}),t.data.targets=t.data.targets.concat(d);const g=t.data.targets[0],f=g.values[0];H(e.to)?(a=0,l=h?mt.call(t,e.to):e.to,g.values.forEach(p=>{p.x<l&&a++})):H(e.length)&&(a=e.length),u?u===1&&h&&(r=(g.values[g.values.length-1].x-f.x)/2,n=[new Date(+f.x-r),new Date(+f.x+r)]):(h?r=g.values.length>1?g.values[g.values.length-1].x-f.x:f.x-t.getXDomain(t.data.targets)[0]:r=1,n=[f.x-r,f.x]),n&&t.updateXDomain(null,!0,!0,!1,n),t.updateTargets(t.data.targets),t.redraw({flow:{index:f.index,length:a,duration:M(e.duration)?e.duration:t.config.transition_duration,done:e.done,orgDataCount:u},withLegend:!0,withTransition:u>1,withTrimXDomain:!1,withUpdateXAxis:!0})}}};function He(e,t){const s=this.internal,{config:i}=s,n=i.transition_duration&&de(),a=`grid_${t}_lines`;return e&&(i[a]=e,s.updateGrid(),s.redrawGrid(n)),i[a]}function Gs(e,t){const s=`grid_${t}_lines`;return He.bind(this)(this.internal.config[s].concat(e||[]),t)}function Vs(e,t){this.internal.removeGridLines(e,t)}const Ys=function(e){return He.bind(this)(e,"x")};rt(Ys,{add(e){return Gs.bind(this)(e,"x")},remove(e){return Vs.bind(this)(e,!0)}});const js=function(e){return He.bind(this)(e,"y")};rt(js,{add(e){return Gs.bind(this)(e,"y")},remove(e){return Vs.bind(this)(e,!1)}});var Ka={xgrids:Ys,ygrids:js},Ja={groups(e){const t=this.internal,{config:s}=t;return it(e)||(s.data_groups=e,t.redraw()),s.data_groups}};function Hs(e,t=!1){const s=this.internal,{config:i}=s,n=i.transition_duration&&de();return e?(i.regions=t?i.regions.concat(e):e,s.updateRegion(),s.redrawRegion(n),t?i.regions:e):i.regions}const Ws=function(e){return Hs.bind(this)(e)};rt(Ws,{add:function(e){return Hs.bind(this)(e,!0)},remove:function(e){const t=this.internal,{config:s,$T:i}=t,n=e||{},a=Dt(n,"classes",[le.region]);let o=t.$el.main.select(`.${le.regions}`).selectAll(a.map(r=>`.${r}`));return i(o).style("opacity","0").remove(),o=s.regions,Object.keys(n).length?(o=o.filter(r=>{let l=!1;return r.class?(r.class.split(" ").forEach(c=>{a.indexOf(c)>=0&&(l=!0)}),!l):!0}),s.regions=o):s.regions=[],o}});var Qa={regions:Ws},to={x(e){const t=this.internal,{axis:s,data:i}=t,n=s.isCustomX()&&s.isCategorized();return N(e)&&(n?this.categories(e):(t.updateTargetX(i.targets,e),t.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0}))),n?this.categories():i.xs},xs(e){const t=this.internal;return X(e)&&(t.updateTargetXs(t.data.targets,e),t.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})),t.data.xs}},Jt=U(11),eo=Object.defineProperty,so=(e,t,s)=>t in e?eo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,We=(e,t,s)=>so(e,typeof t!="symbol"?t+"":t,s);class Us{constructor(t){We(this,"owner"),We(this,"config"),We(this,"scale");const s=Yt(),{config:i,params:n}=t;this.owner=t,this.config=i,this.scale=s,(i.noTransition||!n.config.transition_duration)&&(i.withoutTransition=!0),i.range=this.scaleExtent((n.orgXScale||s).range())}static getSizeFor1Char(t,s=!0){const i={w:5.5,h:11.5};return!t.empty()&&t.text("0").call(n=>{try{const{width:a,height:o}=n.node().getBBox();a&&o&&(i.w=a,i.h=o)}finally{n.text("")}}),s&&(this.getSizeFor1Char=()=>i),i}getTickTransformSetter(t){const{config:s}=this,i=t==="x"?n=>`translate(${n+s.tickOffset},0)`:n=>`translate(0,${n})`;return(n,a)=>{n.attr("transform",o=>{const r=a(o);return M(o)?i(r):null})}}scaleExtent(t){const s=t[0],i=t[t.length-1];return s<i?[s,i]:[i,s]}generateTicks(t,s){const{tickStepSize:i}=this.owner.params,[n,a]=t.domain();let o=[];if(s&&i){let r=Math.round(n);for(;r<=a;)o.push(r),r+=i}else if(t.ticks){const{tickArguments:r}=this.config;if(t.type==="log"&&!r){const l=Yt("_log").domain([n>0?n:1,a]).range(t.range());o=l.ticks();for(let c=a.toFixed().length;o.length>15;c--)o=l.ticks(c);o.splice(0,1,n),o.splice(o.length-1,1,a)}else o=t.ticks(...this.config.tickArguments||[]);o=o.map(l=>V(l)&&L(l)&&!isNaN(l)&&Math.round(l*10)/10||l)}return o}copyScale(){const t=this.scale.copy();return t.domain().length||t.domain(this.scale.domain()),t.type=this.scale.type,t}textFormatted(t){const s=this.config.tickFormat,i=/\d+\.\d+0{5,}\d$/.test(t)?+String(t).replace(/0+\d$/,""):t,n=s?s(i):i;return H(n)?n:""}transitionise(t){const{config:s}=this;let i=t;if(s.withoutTransition)i=t.interrupt();else if(s.transition||!this.owner.params.noTransition)try{i=t.transition(s.transition)}catch(n){}return i}}var io=Object.defineProperty,no=(e,t,s)=>t in e?io(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,ue=(e,t,s)=>no(e,typeof t!="symbol"?t+"":t,s);class ao{constructor(t={}){ue(this,"helper"),ue(this,"config"),ue(this,"params"),ue(this,"g"),ue(this,"generatedTicks");const s={innerTickSize:6,outerTickSize:t.outerTick?6:0,orient:"bottom",range:[],tickArguments:null,tickCentered:null,tickCulling:!0,tickFormat:null,tickLength:9,tickOffset:0,tickPadding:3,tickValues:null,transition:null,noTransition:t.noTransition};s.tickLength=Math.max(s.innerTickSize,0)+s.tickPadding,this.config=s,this.params=t,this.helper=new Us(this)}create(t){const s=this,{config:i,helper:n,params:a}=s,{scale:o}=n,{orient:r}=i,l=this.splitTickText.bind(s),c=/^(left|right)$/.test(r),u=/^(top|bottom)$/.test(r),d=n.getTickTransformSetter(u?"x":"y"),h=d===n.axisX?"y":"x",g=/^(top|left)$/.test(r)?-1:1,f=a.tickTextRotate;this.config.range=o.rangeExtent?o.rangeExtent():n.scaleExtent((a.orgXScale||o).range());const{innerTickSize:p,tickLength:_,range:x}=i,m=a.id,$=m&&/^(x|y|y2)$/.test(m)?a.config[`axis_${m}_tick_text_position`]:{x:0,y:0},b=m==="subX"?"subchart_axis_x":`axis_${m}`,v=a.config[`${b}_show`],y={tick:v?a.config[`${b}_tick_show`]:!1,text:v?a.config[`${b}_tick_text_show`]:!1},A=a.config.axis_evalTextSize;let S;t.each(function(){const R=(0,w.select)(this);let T=this.__chart__||o,C=n.copyScale();S=R,this.__chart__=C,i.tickOffset=a.isCategory?(C(1)-C(0))/2:0;const z=R.selectAll(".domain").data([0]);if(z.enter().append("path").attr("class","domain").merge(z).attr("d",()=>{const P=i.outerTickSize*g;return u?`M${x[0]},${P}V0H${x[1]}V${P}`:`M${P},${x[0]}H0V${x[1]}H${P}`}),y.tick||y.text){const P=i.tickValues||n.generateTicks(C,c);s.generatedTicks=P;let k=R.selectAll(".tick").data(P,C);const F=k.enter().insert("g",".domain").attr("class","tick"),W=k.exit().remove();k=F.merge(k),y.tick&&F.append("line"),y.text&&F.append("text");const J=k.select("text"),lt=O(A)?A.bind(s.params.owner.api)(J.node()):Us.getSizeFor1Char(J,A),$t=[];let bt=J.selectAll("tspan").data((ct,Xt)=>{const Wt=a.tickMultiline?l(ct,C,P,c,lt.w):N(n.textFormatted(ct))?n.textFormatted(ct).concat():[n.textFormatted(ct)];return $t[Xt]=Wt.length,Wt.map(Ut=>({index:Xt,splitted:Ut}))});bt.exit().remove(),bt=bt.enter().append("tspan").merge(bt).text(ct=>ct.splitted),bt.attr("x",u?0:_*g).attr("dx",(()=>{let ct=0;return/(top|bottom)/.test(r)&&f&&(ct=8*Math.sin(Math.PI*(f/180))*(r==="top"?-1:1)),ct+($.x||0)})()).attr("dy",(ct,Xt)=>{const Wt=".71em";let Ut=0;return r!=="top"&&(Ut=lt.h,Xt===0&&(Ut=c?-(($t[ct.index]-1)*(lt.h/2)-3):$.y===0?Wt:0)),L(Ut)&&$.y?Ut+$.y:Ut||Wt});const oe=k.select("line"),he=k.select("text");if(F.select("line").attr(`${h}2`,p*g),F.select("text").attr(h,_*g),s.setTickLineTextPosition(oe,he),a.tickTitle){const ct=he.select("title");(ct.empty()?he.append("title"):ct).text(Xt=>a.tickTitle[Xt])}if(C.bandwidth){const ct=C,Xt=ct.bandwidth()/2;T=Wt=>ct(Wt)+Xt,C=T}else T.bandwidth?T=C:d(W,C);k=a.owner.state.flowing?n.transitionise(k):a.owner.$T(k),d(F,T),d(k.style("opacity",null),C)}}),this.g=S}getGeneratedTicks(t){var s;const i=((s=this.generatedTicks)==null?void 0:s.length)-1;let n=this.generatedTicks;if(i>t){const a=Math.round(i/t+.1);n=this.generatedTicks.map((o,r)=>r%a===0?o:null).filter(o=>o!==null).splice(0,t)}return n}getTickXY(){const{config:t}=this,s={x:0,y:0};return this.params.isCategory&&(s.x=t.tickCentered?0:t.tickOffset,s.y=t.tickCentered?t.tickOffset:0),s}getTickSize(t){const{scale:s}=this.helper,{config:i}=this,{innerTickSize:n,range:a}=i,o=s(t)+(i.tickCentered?0:i.tickOffset);return a[0]<o&&o<a[1]?n:0}setTickLineTextPosition(t,s){const i=this.getTickXY(),{innerTickSize:n,orient:a,tickLength:o,tickOffset:r}=this.config,l=this.params.tickTextRotate,c=f=>{const p=["start","end"];return a==="top"&&p.reverse(),f?p[f>0?0:1]:"middle"},u=f=>f?`rotate(${f})`:null,d=f=>{const p=f/(a==="bottom"?15:23);return f?11.5-2.5*p*(f>0?1:-1):o},{config:{axis_rotated:h,axis_x_tick_text_inner:g}}=this.params.owner;switch(a){case"bottom":t.attr("x1",i.x).attr("x2",i.x).attr("y2",this.getTickSize.bind(this)),s.attr("x",0).attr("y",d(l)).style("text-anchor",c(l)).style("text-anchor",(f,p,{length:_})=>!h&&p===0&&(g===!0||g.first)?"start":!h&&p===_-1&&(g===!0||g.last)?"end":c(l)).attr("transform",u(l));break;case"top":t.attr("x2",0).attr("y2",-n),s.attr("x",0).attr("y",-d(l)*2).style("text-anchor",c(l)).attr("transform",u(l));break;case"left":t.attr("x2",-n).attr("y1",i.y).attr("y2",i.y),s.attr("x",-o).attr("y",r).style("text-anchor","end");break;case"right":t.attr("x2",n).attr("y2",0),s.attr("x",o).attr("y",0).style("text-anchor","start")}}splitTickText(t,s,i,n,a){const{params:o}=this,r=this.helper.textFormatted(t),l=V(r)&&r.indexOf(` +`)>-1?r.split(` +`):[];if(l.length)return l;if(N(r))return r;let c=o.tickWidth;(!c||c<=0)&&(c=n?95:o.isCategory?(o.isInverted?s(i[0])-s(i[1]):s(i[1])-s(i[0]))-12:110);function u(d,h){let g,f,p;for(let _=1;_<h.length;_++)if(h.charAt(_)===" "&&(f=_),g=h.substr(0,_+1),p=a*g.length,c<p)return u(d.concat(h.substr(0,f||_)),h.slice(f?f+1:_));return d.concat(h)}return u(l,String(r))}scale(t){return arguments.length?(this.helper.scale=t,this):this.helper.scale}orient(t){return arguments.length?(this.config.orient=t in{top:1,right:1,bottom:1,left:1}?String(t):"bottom",this):this.config.orient}tickFormat(t){const{config:s}=this;return arguments.length?(s.tickFormat=t,this):s.tickFormat}tickCentered(t){const{config:s}=this;return arguments.length?(s.tickCentered=t,this):s.tickCentered}tickOffset(){return this.config.tickOffset}tickInterval(t){var s;const{outerTickSize:i,tickOffset:n,tickValues:a}=this.config;let o;if(this.params.isCategory)o=n*2;else{const r=(s=this.params.owner.scale.zoom)!=null?s:this.helper.scale;o=(this.g.select("path.domain").node().getTotalLength()-i*2)/(t||this.g.selectAll("line").size());const c=a?a.map((u,d,h)=>{const g=d+1;return g<h.length?r(h[g])-r(u):null}).filter(Boolean):[];o=Math.min(...c,o)}return o===1/0?0:o}ticks(...t){const{config:s}=this;return t.length?(s.tickArguments=Gt(t),this):s.tickArguments}tickCulling(t){const{config:s}=this;return arguments.length?(s.tickCulling=t,this):s.tickCulling}tickValues(t){const{config:s}=this;if(O(t))s.tickValues=()=>t(this.helper.scale.domain());else{if(!arguments.length)return s.tickValues;s.tickValues=t}return this}setTransition(t){return this.config.transition=t,this}}var oo=Object.defineProperty,ro=(e,t,s)=>t in e?oo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Lt=(e,t,s)=>ro(e,typeof t!="symbol"?t+"":t,s),lo={getAxisInstance:function(){return this.axis||new co(this)}};class co{constructor(t){Lt(this,"owner"),Lt(this,"x"),Lt(this,"subX"),Lt(this,"y"),Lt(this,"y2"),Lt(this,"axesList",{}),Lt(this,"tick",{x:null,y:null,y2:null}),Lt(this,"xs",[]),Lt(this,"orient",{x:"bottom",y:"left",y2:"right",subX:"bottom"}),this.owner=t,this.setOrient()}getAxisClassName(t){return`${at.axis} ${at[`axis${ft(t)}`]}`}isHorizontal(t,s){const i=t.config.axis_rotated;return s?i:!i}isCategorized(){const{config:t,state:s}=this.owner;return t.axis_x_type.indexOf("category")>=0||s.hasRadar}isCustomX(){const{config:t}=this.owner;return!this.isTimeSeries()&&(t.data_x||nt(t.data_xs))}isTimeSeries(t="x"){return this.owner.config[`axis_${t}_type`]==="timeseries"}isLog(t="x"){return this.owner.config[`axis_${t}_type`]==="log"}isTimeSeriesY(){return this.isTimeSeries("y")}getAxisType(t="x"){let s="linear";return this.isTimeSeries(t)?s=this.owner.config.axis_x_localtime?"time":"utc":this.isLog(t)&&(s="log"),s}getExtent(){const t=this.owner,{config:s,scale:i}=t;let n=s.axis_x_extent;if(n){if(O(n))n=n.bind(t.api)(t.getXDomain(t.data.targets),i.subX);else if(this.isTimeSeries()&&n.every(isNaN)){const a=mt.bind(t);n=n.map(o=>i.subX(a(o)))}}return n}init(){const t=this.owner,{config:s,$el:{main:i,axis:n},state:{clip:a}}=t,o=s.axis_rotated,r=["x","y"];s.axis_y2_show&&r.push("y2"),r.forEach(l=>{const c=this.getAxisClassName(l),u=at[`axis${l.toUpperCase()}Label`];n[l]=i.append("g").attr("class",c).attr("clip-path",()=>{let d=null;return l==="x"?d=a.pathXAxis:l==="y"&&(d=a.pathYAxis),d}).attr("transform",t.getTranslate(l)).style("visibility",s[`axis_${l}_show`]?null:"hidden"),n[l].append("text").attr("class",u).attr("transform",["rotate(-90)",null][l==="x"?+!o:+o]).style("text-anchor",()=>this.textAnchorForAxisLabel(l)),this.generateAxes(l)}),s.axis_tooltip&&this.setAxisTooltip()}setOrient(){const t=this.owner,{axis_rotated:s,axis_y_inner:i,axis_y2_inner:n}=t.config;this.orient={x:s?"left":"bottom",y:s?i?"top":"bottom":i?"right":"left",y2:s?n?"bottom":"top":n?"left":"right",subX:s?"left":"bottom"}}generateAxes(t){const s=this.owner,{config:i}=s,n=[],a=i[`axis_${t}_axes`],o=i.axis_rotated;let r;t==="x"?r=o?Jt.axisLeft:Jt.axisBottom:t==="y"?r=o?Jt.axisBottom:Jt.axisLeft:t==="y2"&&(r=o?Jt.axisTop:Jt.axisRight),a.length&&a.forEach(l=>{const c=l.tick||{},u=s.scale[t].copy();l.domain&&u.domain(l.domain),n.push(r(u).ticks(c.count).tickFormat(O(c.format)?c.format.bind(s.api):d=>d).tickValues(c.values).tickSizeOuter(c.outer===!1?0:6))}),this.axesList[t]=n}updateAxes(){const t=this.owner,{config:s,$el:{main:i},$T:n}=t;Object.keys(this.axesList).forEach(a=>{const o=s[`axis_${a}_axes`],r=t.scale[a].copy(),l=r.range();this.axesList[a].forEach((c,u)=>{const d=c.scale().range();l.every((f,p)=>f===d[p])||c.scale().range(l);const h=`${this.getAxisClassName(a)}-${u+1}`;let g=i.select(`.${h.replace(/\s/,".")}`);g.empty()?g=i.append("g").attr("class",h).style("visibility",s[`axis_${a}_show`]?null:"hidden").call(c):(o[u].domain&&r.domain(o[u].domain),n(g).call(c.scale(r))),g.attr("transform",t.getTranslate(a,u+1))})})}setAxis(t,s,i,n){const a=this.owner;t!=="subX"&&(this.tick[t]=this.getTickValues(t)),this[t]=this.getAxis(t,s,i,t==="x"&&(a.scale.zoom||a.config.subchart_show||a.state.resizing)?!0:n)}getAxis(t,s,i,n,a){const o=this.owner,{config:r}=o,l=/^(x|subX)$/.test(t),c=l?"x":t,u=l&&this.isCategorized(),d=this.orient[t],h=a?0:o.getAxisTickRotate(c);let g;if(l)g=t==="subX"?o.format.subXAxisTick:o.format.xAxisTick;else{const m=r[`axis_${t}_tick_format`];O(m)&&(g=m.bind(o.api))}let f=this.tick[c];const p=qt({outerTick:i,noTransition:n,config:r,id:t,tickTextRotate:h,owner:o},l&&{isCategory:u,isInverted:r.axis_x_inverted,tickMultiline:r.axis_x_tick_multiline,tickWidth:r.axis_x_tick_width,tickTitle:u&&r.axis_x_tick_tooltip&&o.api.categories(),orgXScale:o.scale.x});l||(p.tickStepSize=r[`axis_${c}_tick_stepSize`]);const _=new ao(p).scale(l&&o.scale.zoom||s).orient(d);if(l&&this.isTimeSeries()&&f&&!O(f)){const m=mt.bind(o);f=f.map($=>m($))}else!l&&this.isTimeSeriesY()&&(_.ticks(r.axis_y_tick_time_value),f=null);f&&_.tickValues(f),_.tickFormat(g||!l&&o.isStackNormalized()&&(m=>`${m}%`)),u&&(_.tickCentered(r.axis_x_tick_centered),At(r.axis_x_tick_culling)&&(r.axis_x_tick_culling=!1));const x=r[`axis_${c}_tick_count`];return x&&_.ticks(x),_}updateXAxisTickValues(t,s){var i;const n=this.owner,{config:a}=n,o=a.axis_x_tick_fit;let r=a.axis_x_tick_count,l;return(o||r&&o)&&(l=n.mapTargetsToUniqueXs(t),this.isCategorized()&&r>l.length&&(r=l.length),l=this.generateTickValues(l,r,this.isTimeSeries())),s?s.tickValues(l):this.x&&(this.x.tickValues(l),(i=this.subX)==null||i.tickValues(l)),l}getId(t){const{config:s,scale:i}=this.owner;let n=s.data_axes[t];return(!n||!i[n])&&(n="y"),n}getXAxisTickFormat(t){const s=this.owner,{config:i,format:n}=s,a=t&&i.subchart_axis_x_tick_format||i.axis_x_tick_format,o=this.isTimeSeries(),r=this.isCategorized();let l;return a?O(a)?l=a.bind(s.api):o&&(l=c=>c?n.axisTime(a)(c):""):l=o?n.defaultAxisTime:r?s.categoryName:c=>c<0?c.toFixed(0):c,O(l)?c=>l.apply(s,r?[c,s.categoryName(c)]:[c]):l}getTickValues(t){const s=this.owner,i=s.config[`axis_${t}_tick_values`],n=s[`${t}Axis`];return(O(i)?i.call(s.api):i)||(n?n.tickValues():void 0)}getLabelOptionByAxisId(t){return this.owner.config[`axis_${t}_label`]}getLabelText(t){const s=this.getLabelOptionByAxisId(t);return V(s)?s:s?s.text:null}setLabelText(t,s){const i=this.owner,{config:n}=i,a=this.getLabelOptionByAxisId(t);V(a)?n[`axis_${t}_label`]=s:a&&(a.text=s)}getLabelPosition(t,s){const i=this.owner.config.axis_rotated,n=this.getLabelOptionByAxisId(t),a=St(n)&&n.position?n.position:s[+!i],o=r=>!!~a.indexOf(r);return{isInner:o("inner"),isOuter:o("outer"),isLeft:o("left"),isCenter:o("center"),isRight:o("right"),isTop:o("top"),isMiddle:o("middle"),isBottom:o("bottom")}}getAxisLabelPosition(t){return this.getLabelPosition(t,t==="x"?["inner-top","inner-right"]:["inner-right","inner-top"])}getLabelPositionById(t){return this.getAxisLabelPosition(t)}xForAxisLabel(t){const s=this.owner,{state:{width:i,height:n}}=s,a=this.getAxisLabelPosition(t);let o=a.isMiddle?-n/2:0;return this.isHorizontal(s,t!=="x")?o=a.isLeft?0:a.isCenter?i/2:i:a.isBottom&&(o=-n),o}dxForAxisLabel(t){const s=this.owner,i=this.getAxisLabelPosition(t);let n=i.isBottom?"0.5em":"0";return this.isHorizontal(s,t!=="x")?n=i.isLeft?"0.5em":i.isRight?"-0.5em":"0":i.isTop&&(n="-0.5em"),n}textAnchorForAxisLabel(t){const s=this.owner,i=this.getAxisLabelPosition(t);let n=i.isMiddle?"middle":"end";return this.isHorizontal(s,t!=="x")?n=i.isLeft?"start":i.isCenter?"middle":"end":i.isBottom&&(n="start"),n}dyForAxisLabel(t){const s=this.owner,{config:i}=s,n=i.axis_rotated,a=this.getAxisLabelPosition(t).isInner,o=i[`axis_${t}_tick_rotate`]?s.getHorizontalAxisHeight(t):0,{width:r}=this.getMaxTickSize(t);let l;if(t==="x"){const c=i.axis_x_height;n?l=a?"1.2em":-25-r:a?l="-0.5em":c?l=c-10:o?l=o-10:l="3em"}else l={y:["-0.5em",10,"3em","1.2em",10],y2:["1.2em",-20,"-2.2em","-0.5em",15]}[t],n?a?l=l[0]:o?l=o*(t==="y2"?-1:1)-l[1]:l=l[2]:l=a?l[3]:(l[4]+(i[`axis_${t}_inner`]?0:r+l[4]))*(t==="y"?-1:1);return l}getMaxTickSize(t,s){const i=this.owner,{config:n,state:{current:a},$el:{svg:o,chart:r}}=i,l=a.maxTickSize[t],c=`axis_${t}`,u={width:0,height:0};if(s||!n[`${c}_show`]||l.width>0&&i.filterTargetsToShow().length===0)return l;if(o){const d=/^y2?$/.test(t),h=i.filterTargetsToShow(i.data.targets),g=i.scale[t].copy().domain(i[`get${d?"Y":"X"}Domain`](h,t)),f=g.domain(),p=f[0]===f[1]&&f.every(y=>y>0),_=N(l.domain)&&l.domain[0]===l.domain[1]&&l.domain.every(y=>y>0);if(p||_)return l.size;l.domain=f,d||l.ticks.splice(0);const x=this.getAxis(t,g,!1,!1,!0),m=n[`${c}_tick_rotate`],$=n[`${c}_tick_count`];!n[`${c}_tick_values`]&&$&&x.tickValues(this.generateTickValues(f,$,d?this.isTimeSeriesY():this.isTimeSeries())),!d&&this.updateXAxisTickValues(h,x);const v=r.append("svg").style("visibility","hidden").style("position","fixed").style("top","0").style("left","0");x.create(v),v.selectAll("text").attr("transform",L(m)?`rotate(${m})`:null).each(function(y,A){const{width:S,height:R}=this.getBoundingClientRect();u.width=Math.max(u.width,S),u.height=Math.max(u.height,R),d||(l.ticks[A]=S)}),v.remove()}return Object.keys(u).forEach(d=>{u[d]>0&&(l[d]=u[d])}),l}getXAxisTickTextY2Overflow(t){const s=this.owner,{axis:i,config:n,state:{current:a,isLegendRight:o,legendItemWidth:r}}=s,l=s.getAxisTickRotate("x"),c=l>0&&l<90;if((i.isCategorized()||i.isTimeSeries())&&n.axis_x_tick_fit&&(!n.axis_x_tick_culling||At(n.axis_x_tick_culling))&&!n.axis_x_tick_multiline&&c){const u=n.axis_y2_show&&a.maxTickSize.y2.width||0,d=o&&r||0,h=a.width-s.getCurrentPaddingByDirection("left"),g=this.getXAxisTickMaxOverflow(l,h-t)-u-d,f=Math.max(0,g)+t;return Math.min(f,h/2)}return 0}getXAxisTickMaxOverflow(t,s){const i=this.owner,{axis:n,config:a,state:o}=i,r=n.isTimeSeries(),l=o.current.maxTickSize.x.ticks,c=l.length,{left:u,right:d}=o.axis.x.padding;let h=0;const g=c-(r&&a.axis_x_tick_fit?.5:0);for(let _=0;_<c;_++){const x=_+1,m=Math.cos(Math.PI*t/180)*l[_],$=x-(r?1:.5)+u;if($<=0)continue;const v=(s-m)/$,y=g-x,A=d*v,S=y*v+A,R=m-v/2-S;h=Math.max(h,R)}const f=i.filterTargetsToShow(i.data.targets);let p=0;if(!r&&a.axis_x_tick_count<=f.length&&f[0].values.length){const _=Yt(i.axis.getAxisType("x"),0,s-h).domain([u*-1,i.getXDomainMax(i.data.targets)+1+d]);p=(_(1)-_(0))/2}return h+p}updateLabels(t){const s=this.owner,{$el:{main:i},$T:n}=s,a={x:i.select(`.${at.axisX} .${at.axisXLabel}`),y:i.select(`.${at.axisY} .${at.axisYLabel}`),y2:i.select(`.${at.axisY2} .${at.axisY2Label}`)};Object.keys(a).filter(o=>!a[o].empty()).forEach(o=>{const r=a[o];n(r,t).attr("x",()=>this.xForAxisLabel(o)).attr("dx",()=>this.dxForAxisLabel(o)).attr("dy",()=>this.dyForAxisLabel(o)).text(()=>this.getLabelText(o))})}getPadding(t,s,i,n){const a=L(t)?t:t[s];return M(a)?this.owner.convertPixelToScale(/(bottom|top)/.test(s)?"y":"x",a,n):i}generateTickValues(t,s,i){let n=t;if(s){const a=O(s)?s():s;if(a===1)n=[t[0]];else if(a===2)n=[t[0],t[t.length-1]];else if(a>2){const o=this.isCategorized(),r=a-2,l=t[0],c=t[t.length-1],u=(c-l)/(r+1);let d;n=[l];for(let h=0;h<r;h++)d=+l+u*(h+1),n.push(i?new Date(d):o?Math.round(d):d);n.push(c)}}return i||(n=n.sort((a,o)=>a-o)),n}generateTransitions(t){const s=this.owner,{$el:{axis:i},$T:n}=s,[a,o,r,l]=["x","y","y2","subX"].map(c=>n(i[c],t));return{axisX:a,axisY:o,axisY2:r,axisSubX:l}}redraw(t,s,i){const n=this.owner,{config:a,$el:o}=n,r=s?"0":null;["x","y","y2","subX"].forEach(l=>{const c=this[l],u=o.axis[l];c&&u&&(!i&&!a.transition_duration&&(c.config.withoutTransition=!0),u.style("opacity",r),c.create(t[`axis${ft(l)}`]))}),this.updateAxes()}redrawAxis(t,s,i,n,a){var o,r,l;const c=this.owner,{config:u,scale:d,$el:h}=c,g=!!d.zoom;let f;!g&&this.isCategorized()&&t.length===0&&d.x.domain([0,h.axis.x.selectAll(".tick").size()]),d.x&&t.length?(!g&&c.updateXDomain(t,s.UpdateXDomain,s.UpdateOrgXDomain,s.TrimXDomain),u.axis_x_tick_values||this.updateXAxisTickValues(t)):this.x&&(this.x.tickValues([]),(o=this.subX)==null||o.tickValues([])),u.zoom_rescale&&!n&&(f=d.x.orgDomain()),["y","y2"].forEach(p=>{const _=`axis_${p}_`,x=d[p];if(x){const m=u[`${_}tick_values`],$=u[`${_}tick_count`];if(x.domain(c.getYDomain(t,p,f)),!m&&$){const b=c.axis[p],v=x.domain();b.tickValues(this.generateTickValues(v,v.every(y=>y===0)?1:$,this.isTimeSeriesY()))}}}),this.redraw(i,c.hasArcType(),a),this.updateLabels(s.Transition),(s.UpdateXDomain||s.UpdateXAxis||s.Y)&&t.length&&this.setCulling(),s.Y&&((r=d.subY)==null||r.domain(c.getYDomain(t,"y")),(l=d.subY2)==null||l.domain(c.getYDomain(t,"y2")))}setCulling(){const t=this.owner,{config:s,state:{clip:i,current:n},$el:a}=t;["subX","x","y","y2"].forEach(o=>{const r=a.axis[o],c=`axis_${o==="subX"?"x":o}_tick_culling`,u=s[c];if(r&&u){const d=r.selectAll(".tick"),h=Kt(d.data()),g=h.length,f=s[`${c}_max`],p=s[`${c}_lines`];let _;if(g){for(let x=1;x<g;x++)if(g/x<f){_=x;break}d.each(function(x){const m=p?this.querySelector("text"):this;m&&(m.style.display=h.indexOf(x)%_?"none":null)})}else d.style("display",null);if(o==="x"){const x=n.maxTickSize.x.clipPath?i.pathXAxisTickTexts:null;a.svg.selectAll(`.${at.axisX} .tick text`).attr("clip-path",x)}}})}setAxisTooltip(){var t;const s=this.owner,{config:{axis_rotated:i,axis_tooltip:n},$el:{axis:a,axisTooltip:o}}=s,r=(t=n.backgroundColor)!=null?t:"black";s.generateTextBGColorFilter(r,{x:-.15,y:-.2,width:1.3,height:1.3}),["x","y","y2"].forEach(l=>{var c,u,d;if(o[l]=(c=a[l])==null?void 0:c.append("text").classed(at[`axis${l.toUpperCase()}Tooltip`],!0).attr("filter",s.updateTextBGColor({id:l},r)),i){const h=l==="x"?"x":"y",g=l==="y"?"1.15em":l==="x"?"-0.3em":"-0.4em";(u=o[l])==null||u.attr(h,g).attr(`d${l==="x"?"y":"x"}`,l==="x"?"0.4em":"-1.3em").style("text-anchor",l==="x"?"end":null)}else{const h=l==="x"?"y":"x",g=l==="x"?"1.15em":`${l==="y"?"-":""}0.4em`;(d=o[l])==null||d.attr(h,g).attr(`d${l==="x"?"x":"y"}`,l==="x"?"-1em":"0.3em").style("text-anchor",l==="y"?"end":null)}})}}var uo={initEventRect(){this.$el.main.select(`.${D.chart}`).append("g").attr("class",Tt.eventRects).style("fill-opacity","0")},redrawEventRect(){var e;const t=this,{config:s,state:i,$el:n}=t,a=t.isMultipleX(),o=s.axis_x_inverted;if(n.eventRect)t.updateEventRect(n.eventRect,!0);else if(t.data.targets.length){const l=t.$el.main.select(`.${Tt.eventRects}`).style("cursor",s.zoom_enabled&&s.zoom_type!=="drag"?s.axis_rotated?"ns-resize":"ew-resize":null).classed(Tt.eventRectsMultiple,a).classed(Tt.eventRectsSingle,!a).selectAll(`.${Tt.eventRect}`).data([0]).enter().append("rect");t.updateEventRect(l),t.updateEventType(l),l.call(t.getDraggableSelection()),n.eventRect=l,t.state.inputType==="touch"&&!n.svg.on("touchstart.eventRect")&&!t.hasArcType()&&t.bindTouchOnEventRect(),i.rendered&&t.updateEventRect(n.eventRect,!0)}if(!a){const r=t.getMaxDataCountTarget();(!s.data_xSort||o)&&r.sort((l,c)=>o?c.x-l.x:l.x-c.x),t.updateDataIndexByX(r),t.updateXs(r),(e=t.updatePointClass)==null||e.call(t,!0),i.eventReceiver.data=r}t.updateEventRectData()},bindTouchOnEventRect(){const e=this,{config:t,state:s,$el:{eventRect:i,svg:n}}=e,a=h=>{if(e.isMultipleX())e.selectRectForMultipleXs(h);else{const g=e.getDataIndexFromEvent(s.event);e.callOverOutForTouch(g),g===-1?e.unselectRect():e.selectRectForSingle(h,g)}},o=()=>{e.unselectRect(),e.callOverOutForTouch()},r=t.interaction_inputType_touch.preventDefault,l=Oe(r)&&r||!1,c=!isNaN(r)&&r||null;let u;const d=h=>{const g=h.type,p=h.changedTouches[0][`client${t.axis_rotated?"Y":"X"}`];g==="touchstart"?l?h.preventDefault():c!==null&&(u=p):g==="touchmove"&&(l||u===!0||c!==null&&Math.abs(u-p)>=c)&&(u=!0,h.preventDefault())};i.on("touchstart",h=>{s.event=h,e.updateEventRect()}).on("touchstart.eventRect touchmove.eventRect",h=>{if(s.event=h,!i.empty()&&i.classed(Tt.eventRect)){if(s.dragging||s.flowing||e.hasArcType()||h.touches.length>1)return;d(h),a(i.node())}else o()},!0).on("touchend.eventRect",h=>{s.event=h,!i.empty()&&i.classed(Tt.eventRect)&&(e.hasArcType()||!e.toggleShape||s.cancelClick)&&s.cancelClick&&(s.cancelClick=!1)},!0),n.on("touchstart",h=>{s.event=h;const{target:g}=h;g&&g!==i.node()&&o()})},updateEventRect(e,t=!1){const s=this,{state:i,$el:n}=s,{eventReceiver:a,width:o,height:r,rendered:l,resizing:c}=i,u=e||n.eventRect,d=()=>{if(a){const h=gs(n.chart.node());a.rect=u.node().getBoundingClientRect().toJSON(),a.rect.top+=h.y,a.rect.left+=h.x}};(!l||c||t)&&(u.attr("x",0).attr("y",0).attr("width",o).attr("height",r),(!l||t)&&u.classed(Tt.eventRect,!0)),d()},updateEventType(e){const t=this,s=Oe(e),i=s?t.$el.eventRect:e,n=s?e!==(i==null?void 0:i.datum().multipleX):!1;i&&(n&&(i==null||i.on("mouseover mousemove mouseout click",null)),t.isMultipleX()?t.generateEventRectsForMultipleXs(i):t.generateEventRectsForSingleX(i))},updateEventRectData(){const e=this,{config:t,scale:s,state:i}=e,n=s.zoom||s.x,a=t.axis_rotated,o=e.isMultipleX();let r,l,c,u;if(e.updateEventType(o),o)r=0,l=0,c=i.width,u=i.height;else{let g,f;if(e.axis.isCategorized())g=e.getEventRectWidth(),f=p=>n(p.x)-g/2;else{const p=({index:_})=>({prev:e.getPrevX(_),next:e.getNextX(_)});g=_=>{const x=p(_),m=n.domain();let $;return x.prev===null&&x.next===null?$=a?i.height:i.width:x.prev===null?$=(n(x.next)+n(_.x))/2:x.next===null?$=n(m[1])-(n(x.prev)+n(_.x))/2:(Object.keys(x).forEach((b,v)=>{var y;x[b]=(y=x[b])!=null?y:m[v]}),$=Math.max(0,(n(x.next)-n(x.prev))/2)),$},f=_=>{const x=p(_);let m;return x.prev===null&&x.next===null?m=0:x.prev===null?m=n(n.domain()[0]):m=(n(_.x)+n(x.prev))/2,m}}r=a?0:f,l=a?f:0,c=a?i.width:g,u=a?g:i.height}const{eventReceiver:d}=i,h=(g,f)=>O(g)?g(f):g;d.coords.splice(d.data.length),d.data.forEach((g,f)=>{d.coords[f]={x:h(r,g),y:h(l,g),w:h(c,g),h:h(u,g)}})},selectRectForSingle(e,t){var s,i;const n=this,{config:a,$el:{main:o,circle:r}}=n,l=a.data_selection_enabled,c=a.data_selection_grouped,u=a.data_selection_isselectable,d=a.tooltip_grouped,h=n.getAllValuesOnIndex(t);if(d&&(n.showTooltip(h,e),(s=n.showGridFocus)==null||s.call(n,h),!l||c))return;!r&&o.selectAll(`.${D.EXPANDED}:not(.${st.shape}-${t})`).classed(D.EXPANDED,!1);const g=o.selectAll(`.${st.shape}-${t}`).classed(D.EXPANDED,!0).style("cursor",u?"pointer":null).filter(function(f){return n.isWithinShape(this,f)});g.empty()&&!d&&a.interaction_onout&&((i=n.hideGridFocus)==null||i.call(n),n.hideTooltip(),!c&&n.setExpand(t)),g.call(f=>{var p,_;const x=f.data();l&&(c||u!=null&&u.bind(n.api)(x))&&(e.style.cursor="pointer"),d||(n.showTooltip(x,e),(p=n.showGridFocus)==null||p.call(n,x),(_=n.unexpandCircles)==null||_.call(n),f.each(m=>n.setExpand(t,m.id)))})},selectRectForMultipleXs(e,t=!0){const s=this,{config:i,state:n}=s,a=s.filterTargetsToShow(s.data.targets);if(n.dragging||s.hasArcType(a))return;const o=yt(n.event,e),r=s.findClosestFromTargets(a,o);if(t&&n.mouseover&&(!r||r.id!==n.mouseover.id)&&(i.data_onout.call(s.api,n.mouseover),n.mouseover=void 0),!r){s.unselectRect();return}const c=(s.isBubbleType(r)||s.isScatterType(r)||!i.tooltip_grouped?[r]:s.filterByX(a,r.x)).map(d=>s.addName(d));s.showTooltip(c,e),s.setExpand(r.index,r.id,!0),s.showGridFocus(c);const u=s.dist(r,o);(s.isBarType(r.id)||u<s.getPointSensitivity(r))&&(s.$el.svg.select(`.${Tt.eventRect}`).style("cursor","pointer"),t&&!n.mouseover&&(i.data_onover.call(s.api,r),n.mouseover=r))},unselectRect(){const e=this,{$el:{circle:t,tooltip:s}}=e;e.$el.svg.select(`.${Tt.eventRect}`).style("cursor",null),e.hideGridFocus(),s&&(e.hideTooltip(),e._handleLinkedCharts(!1)),t&&!e.isPointFocusOnly()&&e.unexpandCircles(),e.expandBarTypeShapes(!1)},generateEventRectsForSingleX(e){const t=this,{config:s,state:i}=t,{eventReceiver:n}=i,a=e.style("cursor",s.data_selection_enabled&&s.data_selection_grouped?"pointer":null).on("click",function(o){i.event=o;const{currentIdx:r,data:l}=n,c=l[r===-1?t.getDataIndexFromEvent(o):r];t.clickHandlerForSingleX.bind(this)(c,t)}).datum({multipleX:!1});if(i.inputType==="mouse"){const o=r=>{const l=r?t.getDataIndexFromEvent(r):n.currentIdx;return l>-1?n.data[l]:null};a.on("mouseover",r=>{i.event=r,t.updateEventRect(),Object.values(t.$el.axisTooltip).forEach(l=>l==null?void 0:l.style("display",null))}).on("mousemove",function(r){const l=o(r);if(i.event=r,!l)return;let{index:c}=l;const u=s.line_step_type;if(s.line_step_tooltipMatch&&t.hasType("step")&&/^step\-(before|after)$/.test(u)){const h=t.scale.zoom||t.scale.x,g=t.axis.xs[c],f=h.invert(yt(r,this)[0]);u==="step-after"&&f<g?c-=1:u==="step-before"&&f>g&&(c+=1)}t.showAxisGridFocus();const d=s.tooltip_grouped&&c===n.currentIdx;if(i.dragging||i.flowing||t.hasArcType()||d){s.tooltip_show&&d&&t.setTooltipPosition();return}c!==n.currentIdx&&(t.setOverOut(!1,n.currentIdx),n.currentIdx=c),c===-1?t.unselectRect():t.selectRectForSingle(this,c),t.setOverOut(c!==-1,c)}).on("mouseout",r=>{i.event=r,!(!s||t.hasArcType()||n.currentIdx===-1||!s.interaction_onout)&&(t.hideAxisGridFocus(),t.unselectRect(),t.setOverOut(!1,n.currentIdx),n.currentIdx=-1)})}return a},clickHandlerForSingleX(e,t){const s=t,{config:i,state:n,$el:{main:a}}=s;if(!e||s.hasArcType()||n.cancelClick){n.cancelClick&&(n.cancelClick=!1);return}const{index:o}=e;a.selectAll(`.${st.shape}-${o}`).each(function(r){var l;(i.data_selection_grouped||s.isWithinShape(this,r))&&((l=s.toggleShape)==null||l.call(s,this,r,o),i.data_onclick.bind(s.api)(r,this))})},generateEventRectsForMultipleXs(e){const t=this,{config:s,state:i}=t;e.on("click",function(n){i.event=n,t.clickHandlerForMultipleXS.bind(this)(t)}).datum({multipleX:!0}),i.inputType==="mouse"&&e.on("mouseover mousemove",function(n){i.event=n,t.selectRectForMultipleXs(this)}).on("mouseout",n=>{i.event=n,!(!t.config||t.hasArcType()||!s.interaction_onout)&&t.unselectRect()})},clickHandlerForMultipleXS(e){const t=e,{config:s,state:i}=t,n=t.filterTargetsToShow(t.data.targets);if(t.hasArcType(n))return;const a=yt(i.event,this),o=t.findClosestFromTargets(n,a),r=t.getPointSensitivity(o);o&&(t.isBarType(o.id)||t.dist(o,a)<r)&&t.$el.main.selectAll(`.${st.shapes}${t.getTargetSelectorSuffix(o.id)}`).selectAll(`.${st.shape}-${o.index}`).each(function(){var l;(s.data_selection_grouped||t.isWithinShape(this,o))&&((l=t.toggleShape)==null||l.call(t,this,o,o.index),s.data_onclick.bind(t.api)(o,this))})}},ho=U(12),go={generateFlow(e){const t=this,{data:s,state:i,$el:n}=t;return function(){const a=e.flow.length;i.flowing=!0,s.targets.forEach(r=>{r.values.splice(0,a)}),t.updateXGrid&&t.updateXGrid(!0);const o={};["axis.x","grid.x","gridLines.x","region.list","text","bar","line","area","circle"].forEach(r=>{const l=r.split(".");let c=n[l[0]];c&&l.length>1&&(c=c[l[1]]),c!=null&&c.size()&&(o[r]=c)}),t.hideGridFocus(),t.setFlowList(o,e)}},setFlowList(e,t){const s=this,{flow:i,targets:n}=t,{duration:a=t.duration,index:o,length:r,orgDataCount:l}=i,c=s.getFlowTransform(n,l,o,r),u=ys();let d;u.add(Object.keys(e).map(h=>(d=e[h].transition().ease(ho.easeLinear).duration(a),h==="axis.x"?d=d.call(g=>{s.axis.x.setTransition(g).create(g)}):h==="region.list"?d=d.filter(s.isRegionOnX).attr("transform",c):d=d.attr("transform",c),d))),d.call(u,()=>{s.cleanUpFlow(e,t)})},cleanUpFlow(e,t){const s=this,{config:i,state:n,$el:{svg:a}}=s,o=i.axis_rotated,{flow:r,shape:l,xv:c}=t,{cx:u,cy:d,xForText:h,yForText:g}=l.pos,{done:f=()=>{},length:p}=r;p&&(["circle","text","shape","eventRect"].forEach(_=>{const x=[];for(let m=0;m<p;m++)x.push(`.${B[_]}-${m}`);a.selectAll(`.${B[`${_}s`]}`).selectAll(x).remove()}),a.select(`.${B.xgrid}`).remove()),Object.keys(e).forEach(_=>{const x=e[_];if(_!=="axis.x"&&x.attr("transform",null),_==="grid.x")x.attr(n.xgridAttr);else if(_==="gridLines.x")x.attr("x1",o?0:c).attr("x2",o?n.width:c),x.select("text").attr("x",o?n.width:0).attr("y",c);else if(/^(area|bar|line)$/.test(_))x.attr("d",l.type[_]);else if(_==="text")x.attr("x",h).attr("y",g).style("fill-opacity",s.opacityForText.bind(s));else if(_==="circle")if(s.isCirclePoint())x.attr("cx",u).attr("cy",d);else{const m=b=>u(b)-i.point_r,$=b=>d(b)-i.point_r;x.attr("x",m).attr("y",$)}else _==="region.list"&&x.select("rect").filter(s.isRegionOnX).attr("x",s.regionX.bind(s)).attr("width",s.regionWidth.bind(s))}),i.interaction_enabled&&s.redrawEventRect(),f.call(s.api),n.flowing=!1},getFlowTransform(e,t,s,i){const n=this,{data:a,scale:{x:o}}=n,r=a.targets[0].values;let l=n.getValueOnIndex(r,s),c=n.getValueOnIndex(r,s+i),u;const d=o.domain(),h=n.updateXDomain(e,!0,!0);t?t===1||(l==null?void 0:l.x)===(c==null?void 0:c.x)?u=o(d[0])-o(h[0]):u=n.axis.isTimeSeries()?o(d[0])-o(h[0]):o((l==null?void 0:l.x)||0)-o(c.x):r.length!==1?u=o(d[0])-o(h[0]):n.axis.isTimeSeries()?(l=n.getValueOnIndex(r,0),c=n.getValueOnIndex(r,r.length-1),u=o(l.x)-o(c.x)):u=Nt(h)/2;const g=Nt(d)/Nt(h);return`translate(${u},0) scale(${g},1)`}},fo={initClip(){const e=this,{clip:t,datetimeId:s}=e.state;t.id=`${s}-clip`,t.idXAxis=`${t.id}-xaxis`,t.idYAxis=`${t.id}-yaxis`,t.idGrid=`${t.id}-grid`,t.path=e.getClipPath(t.id),t.pathXAxis=e.getClipPath(t.idXAxis),t.pathYAxis=e.getClipPath(t.idYAxis),t.pathGrid=e.getClipPath(t.idGrid)},getClipPath(e){const t=this,{config:s}=t;return!s.clipPath&&/-clip$/.test(e)||!s.axis_x_clipPath&&/-clip-xaxis$/.test(e)||!s.axis_y_clipPath&&/-clip-yaxis$/.test(e)?null:`url(#${e})`},appendClip(e,t){t&&e.append("clipPath").attr("id",t).append("rect")},setXAxisClipPath(e){const t=this,{config:s,state:{margin:i,width:n,height:a}}=t,o=s.axis_rotated,r=Math.max(30,i.left)-(o?0:20),l=(o?i.top+a+10:i.bottom)+20,c=o?-(1+r):-(r-1),u=-15,d=o?i.left+20:n+10+r;e.attr("x",c).attr("y",u).attr("width",d).attr("height",l)},setYAxisClipPath(e){const t=this,{config:s,state:{margin:i,width:n,height:a}}=t,o=s.axis_rotated,r=Math.max(30,i.left)-(o?20:0),l=s.axis_y_inner,c=l&&!o?s.axis_y_label.text?-20:-1:o?-(1+r):-(r-1),u=-(o?20:i.top),d=(o?n+15+r:i.left+20)+(l?20:0),h=(o?i.bottom+10:i.top+a)+10;e.attr("x",c).attr("y",u).attr("width",d).attr("height",h)},updateXAxisTickClip(){const e=this,{config:t,state:{clip:s,xAxisHeight:i},$el:{defs:n}}=e,a=e.getHorizontalAxisHeight("x");if(n&&!s.idXAxisTickTexts){const o=`${s.id}-xaxisticktexts`;e.appendClip(n,o),s.pathXAxisTickTexts=e.getClipPath(s.idXAxisTickTexts),s.idXAxisTickTexts=o}!t.axis_x_tick_multiline&&e.getAxisTickRotate("x")&&a!==i&&(e.setXAxisTickClipWidth(),e.setXAxisTickTextClipPathWidth()),e.state.xAxisHeight=a},setXAxisTickClipWidth(){const e=this,{config:t,state:{current:{maxTickSize:s}}}=e,i=e.getAxisTickRotate("x");if(!t.axis_x_tick_multiline&&i){const n=Math.sin(Math.PI/180*Math.abs(i));s.x.clipPath=(e.getHorizontalAxisHeight("x")-20)/n}else s.x.clipPath=null},setXAxisTickTextClipPathWidth(){const e=this,{state:{clip:t,current:s},$el:{svg:i}}=e;i&&i.select(`#${t.idXAxisTickTexts} rect`).attr("width",s.maxTickSize.x.clipPath).attr("height",30)}};const po=e=>M(e.position)||"end",xo=e=>e.position==="start"?4:e.position==="middle"?0:-4;function Zs(e,t,s){return i=>{let n=e?0:t;return i.position==="start"?n=e?-s:0:i.position==="middle"&&(n=(e?-s:t)/2),n}}function qs(e,t){t==="grid"&&e.each(function(){const s=(0,w.select)(this);["x1","x2","y1","y2"].forEach(i=>s.attr(i,+s.attr(i)))})}var _o={hasGrid(){const{config:e}=this;return["x","y"].some(t=>e[`grid_${t}_show`]||e[`grid_${t}_lines`].length)},initGrid(){const e=this;e.hasGrid()&&e.initGridLines(),e.initFocusGrid()},initGridLines(){const e=this,{config:t,state:{clip:s},$el:i}=e;(t.grid_x_lines.length||t.grid_y_lines.length)&&(i.gridLines.main=i.main.insert("g",`.${D.chart}${t.grid_lines_front?" + *":""}`).attr("clip-path",s.pathGrid).attr("class",`${et.grid} ${et.gridLines}`),i.gridLines.main.append("g").attr("class",et.xgridLines),i.gridLines.main.append("g").attr("class",et.ygridLines),i.gridLines.x=(0,w.selectAll)([]))},updateXGrid(e){const t=this,{config:s,scale:i,state:n,$el:{main:a,grid:o}}=t,r=s.axis_rotated,l=t.generateGridData(s.grid_x_type,i.x),c=t.axis.isCategorized()?t.axis.x.tickOffset():0,u=d=>(i.zoom||i.x)(d)+c*(r?-1:1);n.xgridAttr=r?{x1:0,x2:n.width,y1:u,y2:u}:{x1:u,x2:u,y1:0,y2:n.height},o.x=a.select(`.${et.xgrids}`).selectAll(`.${et.xgrid}`).data(l),o.x.exit().remove(),o.x=o.x.enter().append("line").attr("class",et.xgrid).merge(o.x),e||o.x.each(function(){const d=(0,w.select)(this);Object.keys(n.xgridAttr).forEach(h=>{d.attr(h,n.xgridAttr[h]).style("opacity",()=>d.attr(r?"y1":"x1")===(r?n.height:0)?"0":null)})})},updateYGrid(){const e=this,{axis:t,config:s,scale:i,state:n,$el:{grid:a,main:o}}=e,r=s.axis_rotated,l=u=>i.y(u),c=t.y.getGeneratedTicks(s.grid_y_ticks)||e.scale.y.ticks(s.grid_y_ticks);a.y=o.select(`.${et.ygrids}`).selectAll(`.${et.ygrid}`).data(c),a.y.exit().remove(),a.y=a.y.enter().append("line").attr("class",et.ygrid).merge(a.y),a.y.attr("x1",r?l:0).attr("x2",r?l:n.width).attr("y1",r?0:l).attr("y2",r?n.height:l),qs(a.y,"grid")},updateGrid(){const e=this,{$el:{grid:t,gridLines:s}}=e;!s.main&&e.initGridLines(),t.main.style("visibility",e.hasArcType()?"hidden":null),e.hideGridFocus(),e.updateGridLines("x"),e.updateGridLines("y")},updateGridLines(e){const t=this,{config:s,$el:{gridLines:i,main:n},$T:a}=t,o=s.axis_rotated,r=e==="x";s[`grid_${e}_show`]&&t[`update${e.toUpperCase()}Grid`]();let l=n.select(`.${et[`${e}gridLines`]}`).selectAll(`.${et[`${e}gridLine`]}`).data(s[`grid_${e}_lines`]);a(l.exit()).style("opacity","0").remove();const c=l.enter().append("g");c.append("line").style("opacity","0"),l=c.merge(l),l.each(function(u){const d=(0,w.select)(this);d.select("text").empty()&&u.text&&d.append("text").style("opacity","0")}),a(l.attr("class",u=>`${et[`${e}gridLine`]} ${u.class||""}`.trim()).select("text").attr("text-anchor",po).attr("transform",()=>r?o?null:"rotate(-90)":o?"rotate(-90)":null).attr("dx",xo).attr("dy",-5)).text(function(u){var d;return(d=u.text)!=null?d:this.remove()}),i[e]=l},redrawGrid(e){const t=this,{config:{axis_rotated:s},state:{width:i,height:n},$el:{gridLines:a},$T:o}=t,r=t.xv.bind(t),l=t.yv.bind(t);let c=a.x.select("line"),u=a.x.select("text"),d=a.y.select("line"),h=a.y.select("text");return c=o(c,e).attr("x1",s?0:r).attr("x2",s?i:r).attr("y1",s?r:0).attr("y2",s?r:n),u=o(u,e).attr("x",Zs(!s,i,n)).attr("y",r),d=o(d,e).attr("x1",s?l:0).attr("x2",s?l:i).attr("y1",s?0:l).attr("y2",s?n:l),h=o(h,e).attr("x",Zs(s,i,n)).attr("y",l),[c.style("opacity",null),u.style("opacity",null),d.style("opacity",null),h.style("opacity",null)]},initFocusGrid(){const e=this,{config:t,state:{clip:s},$el:i}=e,n=t.grid_front,a=`.${n&&i.gridLines.main?et.gridLines:D.chart}${n?" + *":""}`,o=i.main.insert("g",a).attr("clip-path",s.pathGrid).attr("class",et.grid);if(i.grid.main=o,t.grid_x_show&&o.append("g").attr("class",et.xgrids),t.grid_y_show&&o.append("g").attr("class",et.ygrids),t.axis_tooltip){const r=o.append("g").attr("class","bb-axis-tooltip");r.append("line").attr("class","bb-axis-tooltip-x"),r.append("line").attr("class","bb-axis-tooltip-y")}t.interaction_enabled&&t.grid_focus_show&&!t.axis_tooltip&&(o.append("g").attr("class",q.xgridFocus).append("line").attr("class",q.xgridFocus),t.grid_focus_y&&!t.tooltip_grouped&&o.append("g").attr("class",q.ygridFocus).append("line").attr("class",q.ygridFocus))},showAxisGridFocus(){var e,t;const s=this,{config:i,format:n,state:{event:a,width:o,height:r}}=s,l=i.axis_rotated,[c,u]=yt(a,(e=s.$el.eventRect)==null?void 0:e.node()),d={x:c,y:u};for(const[h,g]of Object.entries(s.$el.axisTooltip)){const f=h==="x"&&!l||h!=="x"&&l?"x":"y",p=d[f];let _=(t=s.scale[h])==null?void 0:t.invert(p);_&&(_=h==="x"&&s.axis.isTimeSeries()?n.xAxisTick(_):_==null?void 0:_.toFixed(2),g==null||g.attr(f,p).text(_))}s.$el.main.selectAll("line.bb-axis-tooltip-x, line.bb-axis-tooltip-y").style("visibility",null).each(function(h,g){const f=(0,w.select)(this);g===0?f.attr("x1",c).attr("x2",c).attr("y1",g?0:r).attr("y2",g?r:0):f.attr("x1",g?0:o).attr("x2",g?o:0).attr("y1",u).attr("y2",u)})},hideAxisGridFocus(){const e=this;e.$el.main.selectAll("line.bb-axis-tooltip-x, line.bb-axis-tooltip-y").style("visibility","hidden"),Object.values(e.$el.axisTooltip).forEach(t=>t==null?void 0:t.style("display","none"))},showGridFocus(e){var t;const s=this,{config:i,state:{width:n,height:a}}=s,o=i.axis_rotated,r=s.$el.main.selectAll(`line.${q.xgridFocus}, line.${q.ygridFocus}`),l=(e||[r.datum()]).filter(d=>d&&M(s.getBaseValue(d)));if(!i.tooltip_show||l.length===0||!i.axis_x_forceAsSingle&&s.hasType("bubble")||s.hasArcType())return;const c=i.grid_focus_edge&&!i.tooltip_grouped,u=s.xx.bind(s);r.style("visibility",null).data(l.concat(l)).each(function(d){const h=(0,w.select)(this),g={x:u(d),y:s.getYScaleById(d.id)(d.value)};let f;if(h.classed(q.xgridFocus))f=o?[null,g.x,c?g.y:n,g.x]:[g.x,c?g.y:null,g.x,a];else{const p=s.axis.getId(d.id)==="y2";f=o?[g.y,c&&!p?g.x:null,g.y,c&&p?g.x:a]:[c&&p?g.x:null,g.y,c&&!p?g.x:n,g.y]}["x1","y1","x2","y2"].forEach((p,_)=>h.attr(p,f[_]))}),qs(r,"grid"),(t=s.showCircleFocus)==null||t.call(s,e)},hideGridFocus(){var e;const t=this,{state:{inputType:s,resizing:i},$el:{main:n}}=t;(s==="mouse"||!i)&&(n.selectAll(`line.${q.xgridFocus}, line.${q.ygridFocus}`).style("visibility","hidden"),(e=t.hideCircleFocus)==null||e.call(t))},updateGridFocus(){var e;const t=this,{state:{inputType:s,width:i,height:n,resizing:a},$el:{grid:o}}=t,r=o.main.select(`line.${q.xgridFocus}`);if(s==="touch")r.empty()?a&&((e=t.showCircleFocus)==null||e.call(t)):t.showGridFocus();else{const l=t.config.axis_rotated;r.attr("x1",l?0:-10).attr("x2",l?i:-10).attr("y1",l?-10:0).attr("y2",l?-10:n)}return!0},generateGridData(e,t){const s=this,i=s.$el.main.select(`.${at.axisX}`).selectAll(".tick").size();let n=[];if(e==="year"){const a=s.getXDomain(),[o,r]=a.map(l=>l.getFullYear());for(let l=o;l<=r;l++)n.push(new Date(`${l}-01-01 00:00:00`))}else n=t.ticks(10),n.length>i&&(n=n.filter(a=>String(a).indexOf(".")<0));return n},getGridFilterToRemove(e){return e?t=>{let s=!1;return(N(e)?e.concat():[e]).forEach(i=>{("value"in i&&t.value===i.value||"class"in i&&t.class===i.class)&&(s=!0)}),s}:()=>!0},removeGridLines(e,t){const s=this,{config:i,$T:n}=s,a=s.getGridFilterToRemove(e),o=u=>!a(u),r=t?et.xgridLines:et.ygridLines,l=t?et.xgridLine:et.ygridLine;n(s.$el.main.select(`.${r}`).selectAll(`.${l}`).filter(a)).style("opacity","0").remove();const c=`grid_${t?"x":"y"}_lines`;i[c]=i[c].filter(o)}},mo={initRegion(){const e=this,{$el:t}=e;t.region.main=t.main.insert("g",":first-child").attr("clip-path",e.state.clip.path).attr("class",le.regions)},updateRegion(){const e=this,{config:t,$el:{region:s},$T:i}=e;s.main||e.initRegion(),s.main.style("visibility",e.hasArcType()?"hidden":null);const n=s.main.selectAll(`.${le.region}`).data(t.regions);i(n.exit()).style("opacity","0").remove();const a=n.enter().append("g");a.append("rect").style("fill-opacity","0"),s.list=a.merge(n).attr("class",e.classRegion.bind(e)),s.list.each(function(o){var r;(0,w.select)(this).select("text").empty()&&((r=o.label)!=null&&r.text)&&(0,w.select)(this).append("text").style("opacity","0")})},redrawRegion(e){const t=this,{$el:{region:s},$T:i}=t;let n=s.list.select("rect"),a=s.list.selectAll("text");return n=i(n,e).attr("x",t.regionX.bind(t)).attr("y",t.regionY.bind(t)).attr("width",t.regionWidth.bind(t)).attr("height",t.regionHeight.bind(t)),a=i(a,e).attr("transform",o=>{var r;const{x:l=0,y:c=0,rotated:u=!1}=(r=o.label)!=null?r:{};return`translate(${t.regionX.bind(t)(o)+l}, ${t.regionY.bind(t)(o)+c})${u?" rotate(-90)":""}`}).attr("text-anchor",o=>{var r;return(r=o.label)!=null&&r.rotated?"end":null}).attr("dy","1em").style("fill",o=>{var r,l;return(l=(r=o.label)==null?void 0:r.color)!=null?l:null}).text(o=>{var r;return(r=o.label)==null?void 0:r.text}),[n.style("fill-opacity",o=>M(o.opacity)?o.opacity:null).on("end",function(){(0,w.select)(this.parentNode).selectAll("rect:not([x])").remove()}),a.style("opacity",null)]},getRegionXY(e,t){const s=this,{config:i,scale:n}=s,a=i.axis_rotated,o=e==="x";let r="start",l,c=0;return t.axis==="y"||t.axis==="y2"?(o||(r="end"),(o?a:!a)&&r in t&&(l=n[t.axis],c=l(t[r]))):(o?!a:a)&&r in t&&(l=n.zoom||n.x,c=l(s.axis.isTimeSeries()?mt.call(s,t[r]):t[r])),c},regionX(e){return this.getRegionXY("x",e)},regionY(e){return this.getRegionXY("y",e)},getRegionSize(e,t){const s=this,{config:i,scale:n,state:a}=s,o=i.axis_rotated,r=e==="width",l=s[r?"regionX":"regionY"](t);let c,u="end",d=a[e];return t.axis==="y"||t.axis==="y2"?(r||(u="start"),(r?o:!o)&&u in t&&(c=n[t.axis],d=c(t[u]))):(r?!o:o)&&u in t&&(c=n.zoom||n.x,d=c(s.axis.isTimeSeries()?mt.call(s,t[u]):t[u])),d<l?0:d-l},regionWidth(e){return this.getRegionSize("width",e)},regionHeight(e){return this.getRegionSize("height",e)},isRegionOnX(e){return!e.axis||e.axis==="x"}},$o={getAxisSize(e){const t=this,s=t.config.axis_rotated;return s&&e==="x"||!s&&/y2?/.test(e)?t.getAxisWidthByAxisId(e,!0):t.getHorizontalAxisHeight(e)},getAxisWidthByAxisId(e,t){var s,i;const n=this;if(n.axis){const a=(s=n.axis)==null?void 0:s.getLabelPositionById(e),{width:o}=n.axis.getMaxTickSize(e,t),r=o===0?.5:0;return o+(((i=n.config.padding)==null?void 0:i.mode)==="fit"?a.isInner?10+r:10:a.isInner?20+r:40)}else return 40},getHorizontalAxisHeight(e){var t,s;const i=this,{config:n,state:a}=i,{rotatedPadding:o,isLegendRight:r,isLegendInset:l}=a,c=n.axis_rotated,u=((t=n.padding)==null?void 0:t.mode)==="fit",d=n[`axis_${e}_inner`],h=n[`axis_${e}_label`].text,g=13;let f=((s=n.padding)==null?void 0:s.mode)==="fit"?d&&!h?e==="y"?1:0:20:30;if(e==="x"&&!n.axis_x_show)return 8;if(e==="x"&&L(n.axis_x_height))return n.axis_x_height;if(e==="y"&&!n.axis_y_show)return n.legend_show&&!r&&!l?10:1;if(e==="y2"&&!n.axis_y2_show)return u?0:o.top;const p=i.axis.getMaxTickSize(e),_=Math.abs(n.axis_x_tick_rotate)>0&&(!n.axis_x_tick_autorotate||i.needToRotateXAxisTickTexts());return(n.axis_x_tick_multiline||_)&&p.height>g&&(f+=p.height-g),f+(i.axis.getLabelPositionById(e).isInner?0:10)+(e==="y2"&&!c?-10:0)},getEventRectWidth(){const e=this,{config:t,axis:s}=e,i=t.axis_x_inverted,n=s.x.tickInterval();return Math.max(0,i?Math.abs(n):n)},getAxisTickRotate(e){const t=this,{axis:s,config:i,state:n,$el:a}=t;let o=i[`axis_${e}_tick_rotate`];if(e==="x"){const r=s.isCategorized()||s.isTimeSeries();if(i.axis_x_tick_fit&&r){const l=i.axis_x_tick_count,c=n.current.maxTickSize.x.ticks.length;let u=0;if(l?u=l>c?c:l:c&&(u=c),u!==n.axis.x.tickCount){const{targets:d}=t.data;n.axis.x.padding=t.getXDomainPadding([t.getXDomainMinMax(d,"min"),t.getXDomainMinMax(d,"max")],u)}n.axis.x.tickCount=u}a.svg&&i.axis_x_tick_autorotate&&i.axis_x_tick_fit&&!i.axis_x_tick_multiline&&!i.axis_x_tick_culling&&r&&(o=t.needToRotateXAxisTickTexts()?i.axis_x_tick_rotate:0)}return o},needToRotateXAxisTickTexts(){const e=this,{state:{axis:t,current:s,isLegendRight:i,legendItemWidth:n}}=e,a=i&&n,o=s.width-a-e.getCurrentPaddingByDirection("left")-e.getCurrentPaddingByDirection("right"),r=t.x.tickCount+t.x.padding.left+t.x.padding.right,{width:l}=e.axis.getMaxTickSize("x"),c=r?o/r:0;return l>c}},yo={axis_x_clipPath:!0,axis_x_show:!0,axis_x_forceAsSingle:!1,axis_x_type:"indexed",axis_x_localtime:!0,axis_x_categories:[],axis_x_tick_centered:!1,axis_x_tick_format:void 0,axis_x_tick_culling:{},axis_x_tick_culling_max:10,axis_x_tick_culling_lines:!0,axis_x_tick_count:void 0,axis_x_tick_show:!0,axis_x_tick_text_show:!0,axis_x_tick_text_inner:!1,axis_x_tick_text_position:{x:0,y:0},axis_x_tick_fit:!0,axis_x_tick_values:null,axis_x_tick_autorotate:!1,axis_x_tick_rotate:0,axis_x_tick_outer:!0,axis_x_tick_multiline:!0,axis_x_tick_width:null,axis_x_tick_tooltip:!1,axis_x_max:void 0,axis_x_min:void 0,axis_x_inverted:!1,axis_x_padding:{},axis_x_height:void 0,axis_x_extent:void 0,axis_x_label:{},axis_x_axes:[]},bo={axis_y_clipPath:!0,axis_y_show:!0,axis_y_type:"indexed",axis_y_max:void 0,axis_y_min:void 0,axis_y_inverted:!1,axis_y_center:void 0,axis_y_inner:!1,axis_y_label:{},axis_y_tick_format:void 0,axis_y_tick_culling:!1,axis_y_tick_culling_max:5,axis_y_tick_culling_lines:!0,axis_y_tick_outer:!0,axis_y_tick_values:null,axis_y_tick_rotate:0,axis_y_tick_count:void 0,axis_y_tick_show:!0,axis_y_tick_stepSize:null,axis_y_tick_text_show:!0,axis_y_tick_text_position:{x:0,y:0},axis_y_tick_time_value:void 0,axis_y_padding:{},axis_y_default:void 0,axis_y_axes:[]},vo={axis_y2_show:!1,axis_y2_type:"indexed",axis_y2_max:void 0,axis_y2_min:void 0,axis_y2_inverted:!1,axis_y2_center:void 0,axis_y2_inner:!1,axis_y2_label:{},axis_y2_tick_format:void 0,axis_y2_tick_culling:!1,axis_y2_tick_culling_max:5,axis_y2_tick_culling_lines:!0,axis_y2_tick_outer:!0,axis_y2_tick_values:null,axis_y2_tick_rotate:0,axis_y2_tick_count:void 0,axis_y2_tick_show:!0,axis_y2_tick_stepSize:null,axis_y2_tick_text_show:!0,axis_y2_tick_text_position:{x:0,y:0},axis_y2_padding:{},axis_y2_default:void 0,axis_y2_axes:[]},To=Object.defineProperty,Ks=Object.getOwnPropertySymbols,Ao=Object.prototype.hasOwnProperty,wo=Object.prototype.propertyIsEnumerable,Js=(e,t,s)=>t in e?To(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Ue=(e,t)=>{for(var s in t||(t={}))Ao.call(t,s)&&Js(e,s,t[s]);if(Ks)for(var s of Ks(t))wo.call(t,s)&&Js(e,s,t[s]);return e},So=Ue(Ue(Ue({axis_evalTextSize:!0,axis_rotated:!1,axis_tooltip:!1},yo),bo),vo),Ro={grid_x_show:!1,grid_x_type:"tick",grid_x_lines:[],grid_y_show:!1,grid_y_lines:[],grid_y_ticks:void 0,grid_focus_edge:!1,grid_focus_show:!0,grid_focus_y:!1,grid_front:!1,grid_lines_front:!0},Co={data_xs:{},data_xFormat:"%Y-%m-%d",data_xLocaltime:!0,data_xSort:!0,data_axes:{},data_regions:{},data_stack_normalize:!1};const Eo=[Ua,Za,qa,Ka,Ja,Qa,to],Qs={axis:lo,clip:fo,eventrect:uo,flow:go,grid:_o,region:mo,sizeAxis:$o},ti={optDataAxis:Co,optAxis:So,optGrid:Ro};var ei=U(13),ko=Object.defineProperty,Lo=Object.defineProperties,Po=Object.getOwnPropertyDescriptors,si=Object.getOwnPropertySymbols,Oo=Object.prototype.hasOwnProperty,Io=Object.prototype.propertyIsEnumerable,ii=(e,t,s)=>t in e?ko(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Do=(e,t)=>{for(var s in t||(t={}))Oo.call(t,s)&&ii(e,s,t[s]);if(si)for(var s of si(t))Io.call(t,s)&&ii(e,s,t[s]);return e},zo=(e,t)=>Lo(e,Po(t));function ni(e=0){const t=this,{config:s,state:i}=t,n=t.hasMultiArcGauge(),a=i.gaugeArcWidth/t.filterTargetsToShow(t.data.targets).length,o=e?Math.min(i.radiusExpanded*e-i.radius,a*.8-(1-e)*100):0;return{inner(r){const{innerRadius:l}=t.getRadius(r);return n?i.radius-a*(r.index+1):L(l)?l:0},outer(r){const{outerRadius:l}=t.getRadius(r);let c;if(n)c=i.radius-a*r.index+o;else if(t.hasType("polar")&&!e)c=t.getPolarOuterRadius(r,l);else if(c=l,e){let{radiusExpanded:u}=i;i.radius!==l&&(u-=Math.abs(i.radius-l)),c=u*e}return c},corner(r,l){const{arc_cornerRadius_ratio:c=0,arc_cornerRadius:u=0}=s,{data:{id:d},value:h}=r;let g=0;return c?g=c*l:g=L(u)?u:u.call(t.api,d,h,l),g}}}function Ze(e){return function(t){const s=({startAngle:n=0,endAngle:a=0,padAngle:o=0})=>({startAngle:n,endAngle:a,padAngle:o}),i=(0,ei.interpolate)(s(this._current),s(t));return this._current=t,function(n){const a=i(n),{data:o,index:r,value:l}=t;return e(zo(Do({},a),{data:o,index:r,value:l}))}}}var Fo={initPie(){const e=this,{config:t}=e,s=t.data_type,i=t[`${s}_padding`],n=t[`${s}_startingAngle`]||0,a=(i?i*.01:t[`${s}_padAngle`])||0;e.pie=(0,tt.pie)().startAngle(n).endAngle(n+2*Math.PI).padAngle(a).value(o=>{var r,l;return(l=(r=o.values)==null?void 0:r.reduce((c,u)=>c+u.value,0))!=null?l:o}).sort(e.getSortCompareFn.bind(e)(!0))},updateRadius(){const e=this,{config:t,state:s}=e,i=t.data_type,n=t[`${i}_padding`],a=t.gauge_width||t.donut_width,o=e.filterTargetsToShow(e.data.targets).length*t.gauge_arcs_minWidth;s.radiusExpanded=Math.min(s.arcWidth,s.arcHeight)/2*(e.hasMultiArcGauge()&&t.gauge_label_show?.85:1),s.radius=s.radiusExpanded*.95,s.innerRadiusRatio=a?(s.radius-a)/s.radius:.6,s.gaugeArcWidth=a||(o<=s.radius-s.innerRadius?s.radius-s.innerRadius:o<=s.radius?o:s.radius);const r=t.pie_innerRadius||(n?n*(s.innerRadiusRatio+.1):0);s.outerRadius=t.pie_outerRadius,s.innerRadius=e.hasType("donut")||e.hasType("gauge")?s.radius*s.innerRadiusRatio:r},getRadius(e){const t=this,s=e==null?void 0:e.data;let{innerRadius:i,outerRadius:n}=t.state;return!L(i)&&s&&(i=i[s.id]||0),X(n)&&s&&s.id in n?n=n[s.id]:L(n)||(n=t.state.radius),{innerRadius:i,outerRadius:n}},updateArc(){const e=this;e.updateRadius(),e.svgArc=e.getSvgArc(),e.svgArcExpanded=e.getSvgArcExpanded()},getArcLength(){const e=this,{config:t}=e,s=t.gauge_arcLength*3.6;let i=2*(s/360);return s<-360?i=-2:s>360&&(i=2),i*Math.PI},getStartingAngle(){const e=this,{config:t}=e,s=t.data_type,i=e.hasType("gauge")?t.gauge_fullCircle:!1,n=-1*Math.PI/2,a=Math.PI/2;let o=t[`${s}_startingAngle`]||0;return!i&&o<=n?o=n:!i&&o>=a?o=a:(o>Math.PI||o<-1*Math.PI)&&(o=Math.PI),o},updateAngle(e,t=!1){var s;const i=this,{config:n,state:a}=i,o=t&&i.hasType("gauge");let{pie:r}=i,l=e,c=!1;if(!n)return null;const u=i.getStartingAngle(),d=n.gauge_fullCircle||t&&!o?i.getArcLength():u*-2;if(l.data&&i.isGaugeType(l.data)&&!i.hasMultiArcGauge()){const{gauge_min:h,gauge_max:g}=n,f=i.getTotalDataSum(a.rendered),p=d*((f-h)/(g-h));r=r.startAngle(u).endAngle(p+u)}if(t===!1&&r(i.filterTargetsToShow()).forEach((h,g)=>{var f;!c&&h.data.id===((f=l.data)==null?void 0:f.id)&&(c=!0,l=h,l.index=g)}),isNaN(l.startAngle)&&(l.startAngle=0),isNaN(l.endAngle)&&(l.endAngle=l.startAngle),t||l.data&&(n.gauge_enforceMinMax||i.hasMultiArcGauge())){const{gauge_min:h,gauge_max:g}=n,f=t&&!o?i.getTotalDataSum(a.rendered):g,p=d/(f-h),_=(s=l.value)!=null?s:0,x=_<h?0:_<f?_-h:f-h;l.startAngle=u,l.endAngle=u+p*x}return c||t?l:null},getSvgArc(){const e=this,{inner:t,outer:s,corner:i}=ni.call(e),n=(0,tt.arc)().innerRadius(t).outerRadius(s),a=function(o,r){var l;let c="M 0 0";if(o.value||o.data){const u=r?o:(l=e.updateAngle(o))!=null?l:null;u&&(c=n.cornerRadius(i(u,s(u)))(u))}return c};return a.centroid=n.centroid,a},getSvgArcExpanded(e=1){const t=this,{inner:s,outer:i,corner:n}=ni.call(t,e),a=(0,tt.arc)().innerRadius(s).outerRadius(i);return o=>{const r=t.updateAngle(o),l=i(r);let c=0;return r&&(c=n(r,l)),r?a.cornerRadius(c)(r):"M 0 0"}},getArc(e,t,s){return s||this.isArcType(e.data)?this.svgArc(e,t):"M 0 0"},redrawArcRangeText(){const e=this,{config:t,$el:{arcs:s},state:i,$T:n}=e,a=t.arc_rangeText_format,o=e.hasType("gauge")&&t.arc_rangeText_fixed;let r=t.arc_rangeText_values;if(r!=null&&r.length){const l=t.arc_rangeText_unit==="%",c=e.getTotalDataSum(i.rendered);l&&(r=r.map(h=>c/100*h));const u=e.pie(r).map((h,g)=>(h.index=g,h));let d=s.selectAll(`.${G.arcRange}`).data(r);d.exit(),d=n(d.enter().append("text").attr("class",G.arcRange).style("text-anchor","middle").style("pointer-events","none").style("opacity","0").text(h=>{const g=l?h/c*100:h;return O(a)?a(g):`${g}${l?"%":""}`}).merge(d)),(!i.rendered||i.rendered&&!o)&&c>0&&d.attr("transform",(h,g)=>e.transformForArcLabel(u[g],!0)),d.style("opacity",h=>!o&&(h>c||c===0)?"0":null)}},transformForArcLabel(e,t=!1){var s,i,n;const a=this,{config:o,state:{radiusExpanded:r}}=a,l=a.updateAngle(e,t);let c="";if(l){if(t||a.hasMultiArcGauge()){const u=Math.sin(l.endAngle-Math.PI/2),d=o.arc_rangeText_position;let h=Math.cos(l.endAngle-Math.PI/2)*(r+(t?5:25)),g=u*(r+15-Math.abs(u*10))+3;if(t&&d){const f=o.arc_rangeText_values,p=O(d)?d(f[e.index]):d;h+=(s=p==null?void 0:p.x)!=null?s:0,g+=(i=p==null?void 0:p.y)!=null?i:0}c=`translate(${h},${g})`}else if(!a.hasType("gauge")||a.data.targets.length>1){let{outerRadius:u}=a.getRadius(e);a.hasType("polar")&&(u=a.getPolarOuterRadius(e,u));const d=this.svgArc.centroid(l),[h,g]=d.map(_=>isNaN(_)?0:_),f=Math.sqrt(h*h+g*g);let p=(n=["donut","gauge","pie","polar"].filter(a.hasType.bind(a)).map(_=>o[`${_}_label_ratio`]))==null?void 0:n[0];p?p=O(p)?p.bind(a.api)(e,u,f):p:p=u&&(f?(36/u>.375?1.175-36/u:.8)*u/f:0),c=`translate(${h*p},${g*p})`}}return c},convertToArcData(e){return this.addName({id:"data"in e?e.data.id:e.id,value:e.value,ratio:this.getRatio("arc",e),index:e.index})},textForArcLabel(e){const t=this,s=t.hasType("gauge");t.shouldShowArcLabel()&&e.style("fill",t.updateTextColor.bind(t)).attr("filter",i=>t.updateTextBGColor.bind(t)(i,t.config.data_labels_backgroundColors)).each(function(i){var n;const a=(0,w.select)(this),o=t.updateAngle(i),r=t.getRatio("arc",o);if(t.meetsLabelThreshold(r,(n=["donut","gauge","pie","polar"].filter(t.hasType.bind(t)))==null?void 0:n[0])){const{value:c}=o||i,u=(t.getArcLabelFormat()||t.defaultArcValueFormat)(c,r,i.data.id).toString();ce(a,u,[-1,1],s)}else a.text("")})},expandArc(e){const t=this,{state:{transiting:s},$el:i}=t;if(s){const a=setInterval(()=>{s||(clearInterval(a),i.legend.selectAll(`.${q.legendItemFocused}`).size()>0&&t.expandArc(e))},10);return}const n=t.mapToTargetIds(e);i.svg.selectAll(t.selectorTargets(n,`.${G.chartArc}`)).each(function(a){if(!t.shouldExpand(a.data.id))return;const o=t.getExpandConfig(a.data.id,"duration"),r=t.getSvgArcExpanded(t.getExpandConfig(a.data.id,"rate"));(0,w.select)(this).selectAll("path").transition().duration(o).attrTween("d",Ze(t.svgArcExpanded.bind(t))).transition().duration(o*2).attrTween("d",Ze(r.bind(t)))})},unexpandArc(e){const t=this,{state:{transiting:s},$el:{svg:i}}=t;if(s)return;const n=t.mapToTargetIds(e);i.selectAll(t.selectorTargets(n,`.${G.chartArc}`)).selectAll("path").transition().duration(a=>t.getExpandConfig(a.data.id,"duration")).attrTween("d",Ze(t.svgArc.bind(t))),i.selectAll(`${G.arc}`).style("opacity",null)},getExpandConfig(e,t){const s=this,{config:i}=s,n={duration:50,rate:.98};let a;return s.isDonutType(e)?a="donut":s.isGaugeType(e)?a="gauge":s.isPieType(e)&&(a="pie"),a?i[`${a}_expand_${t}`]:n[t]},shouldExpand(e){const t=this,{config:s}=t;return t.isDonutType(e)&&s.donut_expand||t.isGaugeType(e)&&s.gauge_expand||t.isPieType(e)&&s.pie_expand},shouldShowArcLabel(){const e=this,{config:t}=e;return["donut","gauge","pie","polar"].some(s=>e.hasType(s)&&t[`${s}_label_show`])},getArcLabelFormat(){const e=this,{config:t}=e;let s=i=>i;return["donut","gauge","pie","polar"].filter(e.hasType.bind(e)).forEach(i=>{s=t[`${i}_label_format`]}),O(s)?s.bind(e.api):s},updateTargetsForArc(e){const t=this,{$el:s}=t,i=t.hasType("gauge"),n=t.getChartClass("Arc"),a=t.getClass("arcs",!0),o=t.classFocus.bind(t),r=s.main.select(`.${G.chartArcs}`),l=r.selectAll(`.${G.chartArc}`).data(t.pie(e)).attr("class",u=>n(u)+o(u.data)),c=l.enter().append("g").attr("class",n).call(this.setCssRule(!1,`.${G.chartArcs} text`,["pointer-events:none","text-anchor:middle"]));c.append("g").attr("class",a).merge(l),c.append("text").attr("dy",i&&!t.hasMultiTargets()?"-.1em":".35em").style("opacity","0").style("text-anchor",t.getStylePropValue("middle")).style("pointer-events",t.getStylePropValue("none")),s.text=r.selectAll(`.${D.target} text`)},initArc(){const e=this,{$el:t}=e;t.arcs=t.main.select(`.${D.chart}`).append("g").attr("class",G.chartArcs).attr("transform",e.getTranslate("arc")),e.setArcTitle()},setArcTitle(e){const t=this,s=e||t.getArcTitle(),i=t.hasType("gauge");if(s){const n=i?_t.chartArcsGaugeTitle:G.chartArcsTitle;let a=t.$el.arcs.select(`.${n}`);a.empty()&&(a=t.$el.arcs.append("text").attr("class",n).style("text-anchor","middle")),i&&a.attr("dy","-0.3em"),ce(a,s,i?void 0:[-.6,1.35],!0)}},getArcTitle(){const e=this,t=e.hasType("donut")&&"donut"||e.hasType("gauge")&&"gauge";return t?e.config[`${t}_title`]:""},getArcTitleWithNeedleValue(){const e=this,{config:t,state:s}=e,i=e.getArcTitle();if(i&&e.config.arc_needle_show&&/{=[A-Z_]+}/.test(i)){let n=s.current.needle;return L(n)||(n=t.arc_needle_value),Ae(i,{NEEDLE_VALUE:L(n)?n:0})}return!1},redrawArc(e,t,s){const i=this,{config:n,state:a,$el:{main:o}}=i,r=n.interaction_enabled,l=r&&n.data_selection_isselectable;let c=o.selectAll(`.${G.arcs}`).selectAll(`.${G.arc}`).data(i.arcData.bind(i));c.exit().transition().duration(t).style("opacity","0").remove(),c=c.enter().append("path").attr("class",i.getClass("arc",!0)).style("fill",u=>i.color(u.data)).style("cursor",u=>{var d;return(d=l==null?void 0:l.bind)!=null&&d.call(l,i.api)(u)?"pointer":null}).style("opacity","0").each(function(u){i.isGaugeType(u.data)&&(u.startAngle=n.gauge_startingAngle,u.endAngle=n.gauge_startingAngle),this._current=u}).merge(c),i.hasType("gauge")&&(i.updateGaugeMax(),i.hasMultiArcGauge()&&i.redrawArcGaugeLine()),c.attr("transform",u=>!i.isGaugeType(u.data)&&s?"scale(0)":"").style("opacity",function(u){return u===this._current?"0":null}).each(()=>{a.transiting=!0}).transition().duration(e).attrTween("d",function(u){const d=i.updateAngle(u);if(!d)return()=>"M 0 0";isNaN(this._current.startAngle)&&(this._current.startAngle=0),isNaN(this._current.endAngle)&&(this._current.endAngle=this._current.startAngle);const h=(0,ei.interpolate)(this._current,d);return this._current=h(0),function(g){const f=h(g);return f.data=u.data,i.getArc(f,!0)}}).attr("transform",s?"scale(1)":"").style("fill",u=>{let d;return i.levelColor?(d=i.levelColor(u.data.values[0].value),n.data_colors[u.data.id]=d):d=i.color(u.data),d}).style("opacity",null).call(ye,function(){if(i.levelColor){const u=(0,w.select)(this),d=u.datum(this._current);i.updateLegendItemColor(d.data.id,u.style("fill"))}a.transiting=!1,K(n.onrendered,i.api)}),r&&i.bindArcEvent(c),i.hasType("polar")&&i.redrawPolar(),i.hasType("gauge")&&i.redrawBackgroundArcs(),n.arc_needle_show&&i.redrawNeedle(),i.redrawArcText(e),i.redrawArcRangeText()},redrawNeedle(){const e=this,{$el:t,config:s,state:{hiddenTargetIds:i,radius:n}}=e,a=(n-1)/100*s.arc_needle_length,o=i.length!==e.data.targets.length;let r=e.$el.arcs.select(`.${G.needle}`);const l=s.arc_needle_path,c=s.arc_needle_bottom_width/2,u=s.arc_needle_top_width/2,d=s.arc_needle_top_rx,h=s.arc_needle_top_ry,g=s.arc_needle_bottom_len,f=s.arc_needle_bottom_rx,p=s.arc_needle_bottom_ry,_=e.getNeedleAngle(),x=()=>{const m=e.getArcTitleWithNeedleValue();m&&e.setArcTitle(m)};if(x(),r.empty()&&(r=t.arcs.append("path").classed(G.needle,!0),t.needle=r,t.needle.updateHelper=(m,$=!1)=>{t.needle.style("display")!=="none"&&e.$T(t.needle).style("transform",`rotate(${e.getNeedleAngle(m)}deg)`).call(ye,()=>{$&&(s.arc_needle_value=m),x()})}),o){const m=O(l)?l.call(e,a):`M-${c} ${g} A${f} ${p} 0 0 0 ${c} ${g} L${u} -${a} A${d} ${h} 0 0 0 -${u} -${a} L-${c} ${g} Z`;e.$T(r).attr("d",m).style("fill",s.arc_needle_color).style("display",null).style("transform",`rotate(${_}deg)`)}else r.style("display","none")},getNeedleAngle(e){const t=this,{config:s,state:i}=t,n=t.getArcLength(),a=t.hasType("gauge"),o=t.getTotalDataSum(!0);let r=H(e)?e:s.arc_needle_value,l=s[`${s.data_type}_startingAngle`]||0,c=0;if(L(r)||(r=a&&t.data.targets.length===1?o:0),i.current.needle=r,a){l=t.getStartingAngle();const u=s.gauge_fullCircle?n:l*-2,{gauge_min:d,gauge_max:h}=s;c=u*((r-d)/(h-d))}else c=n*(r/o);return(l+c)*(180/Math.PI)},redrawBackgroundArcs(){const e=this,{config:t,state:s}=e,i=e.hasMultiArcGauge(),n=t.gauge_fullCircle,a=e.filterTargetsToShow(e.data.targets).length===0&&!!t.data_empty_label_text,o=e.getStartingAngle(),r=n?o+e.getArcLength():o*-1;let l=e.$el.arcs.select(`${i?"g":""}.${G.chartArcsBackground}`);if(i){let c=0;l=l.selectAll(`path.${G.chartArcsBackground}`).data(e.data.targets),l.enter().append("path").attr("class",(u,d)=>`${G.chartArcsBackground} ${G.chartArcsBackground}-${d}`).merge(l).style("fill",t.gauge_background||null).attr("d",({id:u})=>{if(a||s.hiddenTargetIds.indexOf(u)>=0)return"M 0 0";const d={data:[{value:t.gauge_max}],startAngle:o,endAngle:r,index:c++};return e.getArc(d,!0,!0)}),l.exit().remove()}else l.attr("d",a?"M 0 0":()=>{const c={data:[{value:t.gauge_max}],startAngle:o,endAngle:r};return e.getArc(c,!0,!0)})},bindArcEvent(e){const t=this,{config:s,state:i}=t,n=i.inputType==="touch",a=i.inputType==="mouse";function o(l,c,u){t.expandArc(u),t.api.focus(u),t.toggleFocusLegend(u,!0),t.showTooltip([c],l)}function r(l){const c=(l==null?void 0:l.id)||void 0;t.unexpandArc(c),t.api.revert(),t.revertLegend(),t.hideTooltip()}if(e.on("click",function(l,c,u){var d;const h=t.updateAngle(c);let g;h&&(g=t.convertToArcData(h),(d=t.toggleShape)==null||d.call(t,this,g,u),s.data_onclick.bind(t.api)(g,this))}),a&&e.on("mouseover",function(l,c){if(i.transiting)return;i.event=l;const u=t.updateAngle(c),d=u?t.convertToArcData(u):null,h=(d==null?void 0:d.id)||void 0;o(this,d,h),t.setOverOut(!0,d)}).on("mouseout",(l,c)=>{if(i.transiting||!s.interaction_onout)return;i.event=l;const u=t.updateAngle(c),d=u?t.convertToArcData(u):null;r(),t.setOverOut(!1,d)}).on("mousemove",function(l,c){const u=t.updateAngle(c),d=u?t.convertToArcData(u):null;i.event=l,t.showTooltip([d],this)}),n&&t.hasArcType()&&!t.radars){const l=c=>{var u,d;const{clientX:h,clientY:g}=(d=(u=c.changedTouches)==null?void 0:u[0])!=null?d:{clientX:0,clientY:0};return(0,w.select)(ot.elementFromPoint(h,g))};t.$el.svg.on("touchstart touchmove",function(c){if(i.transiting)return;i.event=c;const d=l(c).datum(),h=d!=null&&d.data&&d.data.id?t.updateAngle(d):null,g=h?t.convertToArcData(h):null,f=(g==null?void 0:g.id)||void 0;t.callOverOutForTouch(g),it(f)?r():o(this,g,f)})}},redrawArcText(e){const t=this,{config:s,state:i,$el:{main:n,arcs:a}}=t,o=t.hasType("gauge"),r=t.hasMultiArcGauge();let l;if(o&&t.data.targets.length===1&&s.gauge_title||(l=n.selectAll(`.${G.chartArc}`).select("text").style("opacity","0").attr("class",c=>t.isGaugeType(c.data)?_t.gaugeValue:null).call(t.textForArcLabel.bind(t)).attr("transform",c=>t.transformForArcLabel.bind(t)(c)).style("font-size",c=>t.isGaugeType(c.data)&&t.data.targets.length===1&&!r?`${Math.round(i.radius/5)}px`:null).transition().duration(e).style("opacity",c=>t.isTargetToShow(c.data.id)&&t.isArcType(c.data)?null:"0"),r&&l.attr("dy","-.1em")),n.select(`.${G.chartArcsTitle}`).style("opacity",t.hasType("donut")||o?null:"0"),o){const c=s.gauge_fullCircle;c&&(l==null||l.attr("dy",`${r?0:Math.round(i.radius/14)}`)),s.gauge_label_show&&(a.select(`.${_t.chartArcsGaugeUnit}`).attr("dy",`${c?1.5:.75}em`).text(s.gauge_units),a.select(`.${_t.chartArcsGaugeMin}`).attr("dx",`${-1*(i.innerRadius+(i.radius-i.innerRadius)/(c?1:2))}px`).attr("dy","1.2em").text(t.textForGaugeMinMax(s.gauge_min,!1)),!c&&a.select(`.${_t.chartArcsGaugeMax}`).attr("dx",`${i.innerRadius+(i.radius-i.innerRadius)/2}px`).attr("dy","1.2em").text(t.textForGaugeMinMax(s.gauge_max,!0)))}},getArcElementByIdOrIndex(e){const t=this,{$el:{arcs:s}}=t,i=L(e)?n=>n.index===e:n=>n.data.id===e;return s==null?void 0:s.selectAll(`.${D.target} path`).filter(i)}},Qt={initArea(e){const t=this,{config:s}=t;e.insert("g",`.${s.area_front?ut.circles:Et.lines}`).attr("class",t.getClass("areas",!0))},updateAreaColor(e){const t=this;return t.config.area_linearGradient?t.getGradienColortUrl(e.id):t.color(e)},updateArea(e,t=!1){const s=this,{config:i,state:n,$el:a,$T:o}=s,r=t?a.subchart:a;i.area_linearGradient&&s.updateLinearGradient();const l=r.main.selectAll(`.${xe.areas}`).selectAll(`.${xe.area}`).data(s.lineData.bind(s));o(l.exit(),e).style("opacity","0").remove(),r.area=l.enter().append("path").attr("class",s.getClass("area",!0)).style("fill",s.updateAreaColor.bind(s)).style("opacity",function(){return n.orgAreaOpacity=(0,w.select)(this).style("opacity"),"0"}).merge(l),l.style("opacity",n.orgAreaOpacity),s.setRatioForGroupedData(r.area.data())},redrawArea(e,t,s=!1){const i=this,{area:n}=s?this.$el.subchart:this.$el,{orgAreaOpacity:a}=i.state;return[i.$T(n,t,kt()).attr("d",e).style("fill",i.updateAreaColor.bind(i)).style("opacity",o=>String(i.isAreaRangeType(o)?a/1.75:a))]},generateDrawArea(e,t){const s=this,{config:i}=s,n=i.line_connectNull,a=i.axis_rotated,o=s.generateGetAreaPoints(e,t),r=s.getYScaleById.bind(s),l=d=>(t?s.subxx:s.xx).call(s,d),c=(d,h)=>s.isGrouped(d.id)?o(d,h)[0][1]:r(d.id,t)(s.isAreaRangeType(d)?s.getRangedData(d,"high"):s.getShapeYMin(d.id)),u=(d,h)=>s.isGrouped(d.id)?o(d,h)[1][1]:r(d.id,t)(s.isAreaRangeType(d)?s.getRangedData(d,"low"):d.value);return d=>{let h=n?s.filterRemoveNull(d.values):d.values,g=0,f=0,p;if(s.isAreaType(d)){let _=(0,tt.area)();_=a?_.y(l).x0(c).x1(u):_.x(l).y0(i.area_above?0:i.area_below?s.state.height:c).y1(u),n||(_=_.defined(x=>s.getBaseValue(x)!==null)),s.isStepType(d)&&(h=s.convertValuesToStep(h)),p=_.curve(s.getCurve(d))(h)}else h[0]&&(g=s.scale.x(h[0].x),f=s.getYScaleById(d.id)(h[0].value)),p=a?`M ${f} ${g}`:`M ${g} ${f}`;return p||"M 0 0"}},generateGetAreaPoints(e,t){const s=this,{config:i}=s,n=s.getShapeX(0,e,t),a=s.getShapeY(!!t),o=s.getShapeOffset(s.isAreaType,e,t),r=s.getYScaleById.bind(s);return function(l,c){const u=r.call(s,l.id,t)(s.getShapeYMin(l.id)),d=o(l,c)||u,h=n(l),g=l.value;let f=a(l);return i.axis_rotated&&(g>0&&f<u||g<0&&u<f)&&(f=u),[[h,d],[h,f-(u-d)],[h,f-(u-d)],[h,d]]}}},Mo={initBar(){const{$el:e,config:t,state:{clip:s}}=this;e.bar=e.main.select(`.${D.chart}`),e.bar=t.bar_front?e.bar.append("g"):e.bar.insert("g",":first-child"),e.bar.attr("class",vt.chartBars).call(this.setCssRule(!1,`.${vt.chartBars}`,["pointer-events:none"])),t.clipPath===!1&&(t.bar_radius||t.bar_radius_ratio)&&e.bar.attr("clip-path",s.pathXAxis.replace(/#[^)]*/,`#${s.id}`))},updateTargetsForBar(e){const t=this,{config:s,$el:i}=t,n=t.getChartClass("Bar"),a=t.getClass("bars",!0),o=t.classFocus.bind(t),r=s.interaction_enabled&&s.data_selection_isselectable;i.bar||t.initBar(),i.main.select(`.${vt.chartBars}`).selectAll(`.${vt.chartBar}`).data(e.filter(u=>u.values.some(d=>L(d.value)||t.isBarRangeType(d)))).attr("class",u=>n(u)+o(u)).enter().append("g").attr("class",n).style("opacity","0").style("pointer-events",t.getStylePropValue("none")).append("g").attr("class",a).style("cursor",u=>{var d;return(d=r==null?void 0:r.bind)!=null&&d.call(r,t.api)(u)?"pointer":null}).call(t.setCssRule(!0,` .${vt.bar}`,["fill"],t.color))},updateBar(e,t=!1){const s=this,{config:i,$el:n,$T:a}=s,o=t?n.subchart:n,r=s.getClass("bar",!0),l=s.initialOpacity.bind(s);i.bar_linearGradient&&s.updateLinearGradient();const c=o.main.selectAll(`.${vt.bars}`).selectAll(`.${vt.bar}`).data(s.labelishData.bind(s));a(c.exit(),e).style("opacity","0").remove(),o.bar=c.enter().append("path").attr("class",r).style("fill",s.updateBarColor.bind(s)).merge(c).style("opacity",l),s.setRatioForGroupedData(o.bar.data())},updateBarColor(e){const t=this,s=t.getStylePropValue(t.color);return t.config.bar_linearGradient?t.getGradienColortUrl(e.id):s?s(e):null},redrawBar(e,t,s=!1){const i=this,{bar:n}=s?i.$el.subchart:i.$el;return[i.$T(n,t,kt()).attr("d",a=>(L(a.value)||i.isBarRangeType(a))&&e(a)).style("fill",i.updateBarColor.bind(i)).style("clip-path",a=>a.clipPath).style("opacity",null)]},generateDrawBar(e,t){const s=this,{config:i}=s,n=s.generateGetBarPoints(e,t),a=i.axis_rotated,o=i.bar_radius,r=i.bar_radius_ratio,l=L(o)&&o>0?()=>o:L(r)?c=>c*r:null;return(c,u)=>{const d=n(c,u),h=+a,g=+!h,f=c.value<0,p=i[`axis_${s.axis.getId(c.id)}_inverted`],_=!p&&f||p&&!f,x=["",""],m=s.isGrouped(c.id),$=l&&m?s.isStackingRadiusData(c):!1,b=[d[0][h],d[0][g]];let v=0;if(c.clipPath=null,l){const S=a?g:h,R=d[2][S]-d[0][S];v=!m||$?l(R):0;const T=`a${v} ${v} ${_?"1 0 0":"0 0 1"} `;x[+!a]=`${T}${v},${v}`,x[+a]=`${T}${[-v,v][a?"sort":"reverse"]()}`,_&&x.reverse()}const y=a?d[1][h]+(_?v:-v):d[1][g]+(_?-v:v);if(v){let S="";a?_&&b[0]<y?S=`0 ${y-b[0]}px 0 0`:!_&&b[0]>y&&(S=`0 0 0 ${b[0]-y}px`):_&&b[1]>y?S=`${b[1]-y}px 0 0 0`:!_&&b[1]<y&&(S=`0 0 ${y-b[1]}px 0`),S&&(c.clipPath=`inset(${S})`)}const A=a?`H${y} ${x[0]}V${d[2][g]-v} ${x[1]}H${d[3][h]}`:`V${y} ${x[0]}H${d[2][h]-v} ${x[1]}V${d[3][g]}`;return`M${d[0][h]},${d[0][g]}${A}z`}},isStackingRadiusData(e){const t=this,{$el:s,config:i,data:n,state:a}=t,{id:o,index:r,value:l}=e;if(a.hiddenTargetIds.indexOf(o)>-1){const h=s.bar.filter(g=>g.id===o&&g.value===l);return!h.empty()&&/a\d+/i.test(h.attr("d"))}const c=i.data_groups.find(h=>h.indexOf(o)>-1),d=t.orderTargets(t.filterTargetsToShow(n.targets.filter(t.isBarType,t))).filter(h=>c.indexOf(h.id)>-1).map(h=>h.values.filter(g=>g.index===r&&(L(l)&&l>0?g.value>0:g.value<0))[0]).filter(Boolean).map(h=>h.id);return l!==0&&d.indexOf(o)===d.length-1},generateGetBarPoints(e,t){const s=this,{config:i}=s,n=t?s.axis.subX:s.axis.x,a=s.getIndicesMax(e)+1,o=s.getBarW("bar",n,a),r=s.getShapeX(o,e,!!t),l=s.getShapeY(!!t),c=s.getShapeOffset(s.isBarType,e,!!t),u=s.getYScaleById.bind(s);return(d,h)=>{const{id:g}=d,f=u.call(s,g,t)(s.getShapeYMin(g)),p=c(d,h)||f,_=L(o)?o:o[d.id]||o._$width,x=i[`axis_${s.axis.getId(g)}_inverted`],m=d.value,$=r(d);let b=l(d);i.axis_rotated&&!x&&(m>0&&b<f||m<0&&f<b)&&(b=f),s.isBarRangeType(d)||(b-=f-p);const v=$+_;return[[$,p],[$,b],[v,b],[v,p]]}}},Xo={initBubble(){const e=this,{config:t}=e;e.hasType("bubble")&&(t.point_show=!0,t.point_type="circle")},getBaseLength(){const e=this,{width:t,height:s}=e.state,i=pt.bubbleBaseLength;let n=e.cache.get(i);return n||e.cache.add(i,n=wt("min",[t,s])),n},getBubbleR(e){const t=this;let s=t.config.bubble_maxR;O(s)?s=s.bind(t.api)(e):L(s)||(s=t.getBaseLength()/(t.getMaxDataCount()*2)+12);const i=wt("max",t.getMinMaxData().max.map(o=>t.isBubbleZType(o)?t.getBubbleZData(o.value,"y"):X(o.value)?o.value.mid:o.value)),n=s*s*Math.PI,a=(t.isBubbleZType(e)?t.getBubbleZData(e.value,"z"):e.value)*(n/i);return Math.sqrt(a/Math.PI)},getBubbleZData(e,t){return X(e)?e[t]:e[t==="y"?0:1]}},Bo=Object.defineProperty,ai=Object.getOwnPropertySymbols,No=Object.prototype.hasOwnProperty,Go=Object.prototype.propertyIsEnumerable,oi=(e,t,s)=>t in e?Bo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Vo=(e,t)=>{for(var s in t||(t={}))No.call(t,s)&&oi(e,s,t[s]);if(ai)for(var s of ai(t))Go.call(t,s)&&oi(e,s,t[s]);return e},Yo={initCandlestick(){const{$el:e}=this;e.candlestick=e.main.select(`.${D.chart}`).append("g").attr("class",Ct.chartCandlesticks)},updateTargetsForCandlestick(e){const t=this,{$el:s}=t,i=t.getChartClass("Candlestick");s.candlestick||t.initCandlestick(),t.$el.main.select(`.${Ct.chartCandlesticks}`).selectAll(`.${Ct.chartCandlestick}`).data(e).enter().append("g").attr("class",i).style("pointer-events","none")},updateCandlestick(e,t=!1){const s=this,{$el:i,$T:n}=s,a=t?i.subchart:i,o=s.getClass("candlestick",!0),r=s.initialOpacity.bind(s),l=a.main.selectAll(`.${Ct.chartCandlestick}`).selectAll(`.${Ct.candlestick}`).data(s.labelishData.bind(s));n(l.exit(),e).style("opacity","0").remove();const c=l.enter().filter(u=>u.value).append("g").attr("class",o);c.append("line"),c.append("path"),a.candlestick=l.merge(c).style("opacity",r)},generateDrawCandlestick(e,t){const s=this,{config:i}=s,n=s.generateGetCandlestickPoints(e,t),a=i.axis_rotated,o=i.candlestick_color_down;return(r,l,c)=>{const u=n(r,l),d=s.getCandlestickData(r),h=d==null?void 0:d._isUp,g=+a,f=+!g;c.classed&&c.classed(Ct[h?"valueUp":"valueDown"],!0);const p=a?`H${u[1][1]} V${u[1][0]} H${u[0][1]}`:`V${u[1][1]} H${u[1][0]} V${u[0][1]}`;c.select("path").attr("d",`M${u[0][g]},${u[0][f]}${p}z`).style("fill",m=>(h?s.color(m):X(o)?o[m.id]:o)||s.color(m));const _=c.select("line"),x=a?{x1:u[2][1],x2:u[2][2],y1:u[2][0],y2:u[2][0]}:{x1:u[2][0],x2:u[2][0],y1:u[2][1],y2:u[2][2]};for(const m in x)_.attr(m,x[m])}},generateGetCandlestickPoints(e,t=!1){const s=this,i=t?s.axis.subX:s.axis.x,n=s.getIndicesMax(e)+1,a=s.getBarW("candlestick",i,n),o=s.getShapeX(a,e,!!t),r=s.getShapeY(!!t),l=s.getShapeOffset(s.isBarType,e,!!t),c=s.getYScaleById.bind(s);return(u,d)=>{const h=c.call(s,u.id,t)(s.getShapeYMin(u.id)),g=l(u,d)||h,f=L(a)?a:a[u.id]||a._$width,p=s.getCandlestickData(u);let _;if(p&&L(p.open)&&L(p.close)){const x={start:o(u),end:0};x.end=x.start+f;const m={start:r(p.open),end:r(p.close)},$={x:x.start+f/2,high:r(p.high),low:r(p.low)};m.start-=h-g,_=[[x.start,m.start],[x.end,m.end],[$.x,$.low,$.high]]}else _=[[0,0],[0,0],[0,0,0]];return _}},redrawCandlestick(e,t,s=!1){const i=this,{$el:n,$T:a}=i,{candlestick:o}=s?n.subchart:n,r=kt(!0);return[o.each(function(l,c){const u=a((0,w.select)(this),t,r);e(l,c,u)}).style("opacity",null)]},getCandlestickData({value:e}){let t;if(N(e)){const[s,i,n,a,o=!1]=e;t={open:s,high:i,low:n,close:a},o!==!1&&(t.volume=o)}else X(e)&&(t=Vo({},e));return t&&(t._isUp=t.close>=t.open),t||null}},jo=Object.defineProperty,ri=Object.getOwnPropertySymbols,Ho=Object.prototype.hasOwnProperty,Wo=Object.prototype.propertyIsEnumerable,li=(e,t,s)=>t in e?jo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Uo=(e,t)=>{for(var s in t||(t={}))Ho.call(t,s)&&li(e,s,t[s]);if(ri)for(var s of ri(t))Wo.call(t,s)&&li(e,s,t[s]);return e};function Re(e=!1){const t=this,{config:s,state:{current:{width:i,height:n}}}=t,a=t.getCurrentPadding(),o=Uo({width:i-(a.left+a.right),height:n-(s.legend_show?t.getLegendHeight()+10:0)-(a.top+a.bottom)},a);if(e){const{width:r,height:l}=ci.call(t,{width:o.width,height:o.height});o.width<r&&(o.width=r),o.height<l&&(o.height=l)}return o}function ci(e){const t=this,{config:s}=t;let i=s.funnel_neck_width,n=s.funnel_neck_height;return[i,n]=[i,n].map((a,o)=>{let r=a;return X(a)&&(r=e[o?"height":"width"]*a.ratio),r}),{width:i,height:n}}function Zo(e){const t=this,{top:s,left:i,width:n}=Re.call(t,!0),a=[];return e.forEach((o,r)=>{const{ratio:l}=o,c=r>0?a[r-1][2][1]:s;a.push(o.coords=[[i,c],[i+n,c],[i+n,r>0?l+c:l+s],[i,r>0?l+c:l+s],[i,c]])}),a}function di(e=!1){const t=this,{width:s,height:i,top:n,left:a}=Re.call(t,!0),o=ci.call(t,{width:s,height:i}),r=(s-o.width)/2,l=(s+o.width)/2,c=i-o.height,u=[[0,0],[s,0],[l,c],[l,i],[r,i],[r,c],[0,0]];return e&&u.forEach(d=>{d[0]+=a,d[1]+=n}),`M${u.join("L")}z`}function qo(e){const t=this,{config:s}=t,i=e.map(n=>({id:n.id,value:n.values.reduce((a,o)=>a+o.value,0)}));return s.data_order&&i.sort(t.getSortCompareFn.bind(t)(!0)),ui.call(t,i)}function ui(e){const t=this,{height:s}=Re.call(t),i=t.getTotalDataSum(!0);return e.forEach(n=>{n.ratio=n.value/i*s}),e}var Ko={initFunnel(){const e=this,{$el:t}=e;t.funnel=t.main.select(`.${D.chart}`).append("g").classed(re.chartFunnels,!0),t.funnel.background=t.funnel.append("path").classed(re.funnelBackground,!0),e.bindFunnelEvent()},bindFunnelEvent(){const e=this,{$el:{funnel:t},config:s,state:i}=e,n=a=>{var o;const r=a.isTrusted?a.target:(o=i.eventReceiver.rect)==null?void 0:o.node();let l;return/^path$/i.test(r.tagName)&&(i.event=a,l=(0,w.select)(r).datum()),l};if(s.interaction_enabled){const a=i.inputType==="touch";t.on(a?"touchstart":"mouseover mousemove",o=>{const r=n(o);r&&(e.showTooltip([r],o.target),/^(touchstart|mouseover)$/.test(o.type)&&e.setOverOut(!0,r))}).on(a?"touchend":"mouseout",o=>{const r=n(o);s.interaction_onout&&(e.hideTooltip(),e.setOverOut(!1,r))})}},updateTargetsForFunnel(e){const t=this,{$el:{funnel:s}}=t,i=t.getChartClass("Funnel"),n=t.getClass("funnel",!0);s||t.initFunnel();const a=qo.call(t,e.filter(t.isFunnelType.bind(t))),o=s.selectAll(`.${re.chartFunnel}`).data(a);o.exit().remove();const r=o.enter().insert("g",`.${re.funnelBackground}`);r.append("path"),s.path=r.merge(o).attr("class",l=>i(l)).select("path").attr("class",n).style("opacity","0").style("fill",t.color)},updateFunnel(e){const t=this,{$el:{funnel:s}}=t,i=e.map(({id:n})=>n);s.path=s.path.filter(n=>i.indexOf(n.id)>=0)},generateGetFunnelPoints(){const e=this,{$el:{funnel:t}}=e,s=e.filterTargetsToShow(t.path),{top:i,left:n,right:a}=Re.call(e),o=(n-a)/2,r={};let l=i!=null?i:0;return s.each((c,u)=>{var d;r[c.id]=[[o,l],[o,l+=((d=s==null?void 0:s[u])!=null?d:c).ratio]]}),c=>r[c.id]},redrawFunnel(){const e=this,{$T:t,$el:{funnel:s}}=e,i=e.filterTargetsToShow(s.path),n=Zo.call(e,ui.call(e,i.data()));s.attr("clip-path",`path('${di.bind(e)()}')`),s.background.attr("d",di.call(e,!0)),t(i).attr("d",(a,o)=>`M${n[o].join("L")}z`).style("opacity","1"),s.selectAll("g").style("opacity",null)}},Jo={initGauge(){const e=this,{config:t,$el:{arcs:s}}=e,i=(n=null,a="")=>{s.append("text").attr("class",n).style("text-anchor","middle").style("pointer-events","none").text(a)};if(e.hasType("gauge")){const n=e.hasMultiArcGauge();s.append(n?"g":"path").attr("class",G.chartArcsBackground).style("fill",!n&&t.gauge_background||null),t.gauge_units&&i(_t.chartArcsGaugeUnit),t.gauge_label_show&&(i(_t.chartArcsGaugeMin),!t.gauge_fullCircle&&i(_t.chartArcsGaugeMax))}},updateGaugeMax(){const e=this,{config:t,state:s}=e,n=e.hasMultiArcGauge()?e.getMinMaxData().max[0].value:e.getTotalDataSum(s.rendered);!t.gauge_enforceMinMax&&n+t.gauge_min*(t.gauge_min>0?-1:1)>t.gauge_max&&(t.gauge_max=n-t.gauge_min)},redrawArcGaugeLine(){const e=this,{config:t,state:s,$el:i}=e,{hiddenTargetIds:n}=e.state,a=i.main.selectAll(`.${G.arcs}`).selectAll(`.${G.arcLabelLine}`).data(e.arcData.bind(e));a.enter().append("rect").attr("class",r=>`${G.arcLabelLine} ${D.target} ${D.target}-${r.data.id}`).merge(a).style("fill",r=>e.levelColor?e.levelColor(r.data.values[0].value):e.color(r.data)).style("display",t.gauge_label_show?null:"none").each(function(r){let l=0;const c=2;let u=0,d=0,h="";if(n.indexOf(r.data.id)<0){const g=e.updateAngle(r),f=s.gaugeArcWidth/e.filterTargetsToShow(e.data.targets).length*(g.index+1),p=g.endAngle-Math.PI/2,_=s.radius-f,x=p-(_===0?0:1/_);l=s.radiusExpanded-s.radius+f,u=Math.cos(x)*_,d=Math.sin(x)*_,h=`rotate(${p*180/Math.PI}, ${u}, ${d})`}(0,w.select)(this).attr("x",u).attr("y",d).attr("width",l).attr("height",c).attr("transform",h).style("stroke-dasharray",`0, ${l+c}, 0`)})},textForGaugeMinMax(e,t){const s=this,{config:i}=s,n=i.gauge_label_extents;return O(n)?n.bind(s.api)(e,t):e},getGaugeLabelHeight(){const{config:e}=this;return this.config.gauge_label_show&&!e.gauge_fullCircle?20:0},getPaddingBottomForGauge(){const e=this;return e.getGaugeLabelHeight()*(e.config.gauge_label_show?2:2.5)}};function Qo(e,t,s,i=!1){const n=e?[e,0]:s;for(let a=e||s.reduce((o,r)=>o+r);a<=t;)s.forEach(o=>{a+o<=t&&n.push(o),a+=o});return n.length%2!==0&&n.push(i?s[1]:0),{dash:n.join(" "),length:n.reduce((a,o)=>a+o,0)}}function tr(e,t,s){const i=this,n=[],a="2 2";if(H(t)){const o=(r,l)=>it(r)?l:s?mt.call(i,r):r;for(let r=0,l;l=t[r];r++){const c=o(l.start,e[0].x),u=o(l.end,e[e.length-1].x),d=l.style||{dasharray:a};n[r]={start:c,end:u,style:d}}}return n}var er={initLine(){const{$el:e}=this;e.line=e.main.select(`.${D.chart}`).append("g").attr("class",Et.chartLines).call(this.setCssRule(!1,`.${Et.chartLines}`,["pointer-events:none"]))},updateTargetsForLine(e){const t=this,{$el:{area:s,line:i,main:n}}=t,a=t.getChartClass("Line"),o=t.getClass("lines",!0),r=t.classFocus.bind(t);i||t.initLine();const l=e.filter(d=>!(t.isScatterType(d)||t.isBubbleType(d))),c=n.select(`.${Et.chartLines}`).selectAll(`.${Et.chartLine}`).data(l).attr("class",d=>a(d)+r(d)),u=c.enter().append("g").attr("class",a).style("opacity","0").style("pointer-events",t.getStylePropValue("none"));if(u.append("g").attr("class",o),t.hasTypeOf("Area")){const d=(!s&&u.empty()?c:u).filter(t.isAreaType.bind(t));t.initArea(d)}t.updateTargetForCircle(l,u)},updateLine(e,t=!1){const s=this,{format:{extraLineClasses:i},$el:n,$T:a}=s,o=t?n.subchart:n,r=o.main.selectAll(`.${Et.lines}`).selectAll(`.${Et.line}`).data(s.lineData.bind(s));a(r.exit(),e).style("opacity","0").remove(),o.line=r.enter().append("path").attr("class",l=>`${s.getClass("line",!0)(l)} ${i(l)||""}`).style("stroke",s.color).merge(r).style("opacity",s.initialOpacity.bind(s)).attr("transform",null)},redrawLine(e,t,s=!1){const i=this,{$el:n,$T:a}=i,{line:o}=s?n.subchart:n;return[a(o,t,kt()).attr("d",e).style("stroke",this.color).style("opacity",null)]},getCurve(e){const t=this;return t.config.axis_rotated&&t.isStepType(e)?i=>{const n=t.getInterpolate(e)(i);return n.orgPoint=n.point,n.pointRotated=function(a,o){this._point===1&&(this._point=2);const r=this._y*(1-this._t)+o*this._t;this._context.lineTo(this._x,r),this._context.lineTo(a,r),this._x=a,this._y=o},n.point=function(a,o){this._point===0?this.orgPoint(a,o):this.pointRotated(a,o)},n}:t.getInterpolate(e)},generateDrawLine(e,t){const s=this,{config:i,scale:n}=s,a=i.line_connectNull,o=i.axis_rotated,r=s.generateGetLinePoints(e,t),l=s.getYScaleById.bind(s),c=g=>(t?s.subxx:s.xx).call(s,g),u=(g,f)=>s.isGrouped(g.id)?r(g,f)[0][1]:l(g.id,t)(s.getBaseValue(g));let d=(0,tt.line)();d=o?d.x(u).y(c):d.x(c).y(u),a||(d=d.defined(g=>s.getBaseValue(g)!==null));const h=t?n.subX:n.x;return g=>{const f=l(g.id,t);let p=a?s.filterRemoveNull(g.values):g.values,_=0,x=0,m;if(s.isLineType(g)){const $=i.data_regions[g.id];$?m=s.lineWithRegions(p,n.zoom||h,f,$):(s.isStepType(g)&&(p=s.convertValuesToStep(p)),m=d.curve(s.getCurve(g))(p))}else p[0]&&(_=h(p[0].x),x=f(p[0].value)),m=o?`M ${x} ${_}`:`M ${_} ${x}`;return m||"M 0 0"}},lineWithRegions(e,t,s,i){const n=this,{config:a}=n,o=a.axis_rotated,r=n.axis.isTimeSeries(),l="2 2",c=tr.bind(n)(e,i,r),u=n.hasNullDataValue(e);let d,h,g,f;const p=o?T=>s(T.value):T=>t(T.x),_=o?T=>t(T.x):T=>s(T.value),x=T=>`M${T[0][0]},${T[0][1]}L${T[1][0]},${T[1][1]}`,m=r?(T,C,z,P)=>{const k=T.x.getTime(),F=C.x-T.x,W=new Date(k+F*z),J=new Date(k+F*(z+P)),lt=o?[[s(h(z)),t(W)],[s(h(z+g)),t(J)]]:[[t(W),s(h(z))],[t(J),s(h(z+g))]];return x(lt)}:(T,C,z,P)=>{const k=t(C.x,!o),F=s(C.value,o),W=z+P,J=t(d(z),!o),lt=s(h(z),o);let $t=t(d(W),!o),bt=s(h(W),o);$t>k&&($t=k),T.value>C.value&&(o?bt<F:bt>F)&&(bt=F);const oe=[[J,lt],[$t,bt]];return o&&oe.forEach(he=>he.reverse()),x(oe)},$={x:n.axis.getAxisType("x"),y:n.axis.getAxisType("y")};let b="";const v=n.$el.line.filter(({id:T})=>T===e[0].id),y=v.clone().style("display","none"),A=(T,C)=>T.attr("d",C).node().getTotalLength(),S={dash:[],lastLength:0};let R=!1;for(let T=0,C;C=e[T];T++){const z=e[T-1],P=z&&M(z.value);let k=n.isWithinRegions(C.x,c);if(M(C.value)){if(it(c)||!k||!P)b+=`${T&&P?"L":"M"}${p(C)},${_(C)}`;else if(P)if(k=((k==null?void 0:k.dasharray)||l).split(" ").map(Number),d=Yt($.x,z.x,C.x),h=Yt($.y,z.value,C.value),u){const F=t(C.x)-t(z.x),W=s(C.value)-s(z.value),J=Math.sqrt(Math.pow(F,2)+Math.pow(W,2));g=k[0]/J,f=g*k[1];for(let lt=g;lt<=1;lt+=f)b+=m(z,C,lt,g),lt+f>=1&&(b+=m(z,C,1,0))}else{let F=[];if(R=C.x===e[e.length-1].x,r){const $t=+z.x,bt=new Date($t),oe=new Date($t+(+C.x-$t));F=[[t(bt),s(h(0))],[t(oe),s(h(1))]]}else F=[[t(d(0)),s(h(0))],[t(d(1)),s(h(1))]];o&&F.forEach($t=>$t.reverse());const W=A(y,b),J=A(y,b+=`L${F[1].join(",")}`),lt=Qo(W-S.lastLength,J-S.lastLength,k,R);S.lastLength+=lt.length,S.dash.push(lt.dash)}}}return S.dash.length&&(!R&&S.dash.push(A(y,b)),y.remove(),v.attr("stroke-dasharray",S.dash.join(" "))),b},isWithinRegions(e,t){for(let s=0,i;i=t[s];s++)if(i.start<e&&e<=i.end)return i.style;return!1},isWithinStep(e,t){return Math.abs(t-yt(this.state.event,e)[1])<30},shouldDrawPointsForLine(e){const t=this.config.line_point;return t===!0||N(t)&&t.indexOf(e.id)!==-1}};const te=()=>kt();var Ce={initialOpacityForCircle(e){const{config:t,state:{withoutFadeIn:s}}=this;let i=t.point_opacity;return it(i)&&(i=this.getBaseValue(e)!==null&&s[e.id]?this.opacityForCircle(e):"0"),i},opacityForCircle(e){var t;const{config:s}=this;let i=s.point_opacity;return it(i)&&(i=s.point_show&&!((t=this.isPointFocusOnly)!=null&&t.call(this))?null:"0",i=M(this.getBaseValue(e))?this.isBubbleType(e)||this.isScatterType(e)?"0.5":i:"0"),i},initCircle(){const e=this,{$el:{main:t}}=e;!e.point&&(e.point=e.generatePoint()),(e.hasType("bubble")||e.hasType("scatter"))&&t.select(`.${D.chart} > .${ut.chartCircles}`).empty()&&t.select(`.${D.chart}`).append("g").attr("class",ut.chartCircles)},updateTargetForCircle(e,t){const s=this,{config:i,data:n,$el:a}=s,o=i.interaction_enabled&&i.data_selection_enabled,r=o&&i.data_selection_isselectable,l=s.getClass("circles",!0);if(!i.point_show)return;s.initCircle();let c=e,u=t;if(!c){c=n.targets.filter(h=>this.isScatterType(h)||this.isBubbleType(h));const d=a.main.select(`.${ut.chartCircles}`).style("pointer-events","none").selectAll(`.${ut.circles}`).data(c);d.exit().remove(),u=d.enter()}o&&u.append("g").attr("class",d=>s.generateClass(Q.selectedCircles,d.id)),u.append("g").attr("class",l).call(d=>{s.setCssRule(!0,`.${ut.circles}`,["cursor:pointer"],r)(d),s.setCssRule(!0,` .${ut.circle}`,["fill","stroke"],s.color)(d)}).style("opacity",function(){return(0,w.select)(this.parentNode).attr("class").indexOf(ut.chartCircles)>-1?"0":null}),o&&c.forEach(d=>{a.main.selectAll(`.${Q.selectedCircles}${s.getTargetSelectorSuffix(d.id)}`).selectAll(`${Q.selectedCircle}`).each(h=>{h.value=d.values[h.index].value})})},updateCircle(e=!1){const t=this,{config:s,state:i,$el:n}=t,a=t.isPointFocusOnly(),o=e?n.subchart:n;if(s.point_show&&!i.toggling){s.point_radialGradient&&t.updateLinearGradient();const r=o.main.selectAll(`.${ut.circles}`).selectAll(`.${ut.circle}`).data(l=>t.isLineType(l)&&t.shouldDrawPointsForLine(l)||t.isBubbleType(l)||t.isRadarType(l)||t.isScatterType(l)?a?[l.values[0]]:l.values:[]);r.exit().remove(),r.enter().filter(Boolean).append(t.point("create",this,t.pointR.bind(t),t.updateCircleColor.bind(t))),o.circle=o.main.selectAll(`.${ut.circles} .${ut.circle}`).style("stroke",t.getStylePropValue(t.color)).style("opacity",t.initialOpacityForCircle.bind(t))}},updateCircleColor(e){const t=this,s=t.getStylePropValue(t.color);return t.config.point_radialGradient?t.getGradienColortUrl(e.id):s?s(e):null},redrawCircle(e,t,s,i,n=!1){const a=this,{state:{rendered:o},$el:r,$T:l}=a,c=n?r.subchart:r,u=c.main.selectAll(`.${Q.selectedCircle}`);if(!a.config.point_show)return[];const d=a.point("update",a,e,t,a.updateCircleColor.bind(a),s,i,u),h=a.isCirclePoint()?"c":"",g=kt(),f=a.opacityForCircle.bind(a),p=[];return c.circle.each(function(_){let x=d.bind(this)(_);x=l(x,s||!o,g).style("opacity",f),p.push(x)}),[p,l(u,s).attr(`${h}x`,e).attr(`${h}y`,t)]},showCircleFocus(e){const t=this,{state:{hasRadar:s,resizing:i,toggling:n,transiting:a},$el:o}=t;let{circle:r}=o;if(a===!1&&r&&t.isPointFocusOnly()){const l=(s?t.radarCircleX:t.circleX).bind(t),c=(s?t.radarCircleY:t.circleY).bind(t),u=n||it(e),d=t.point("update",t,l,c,t.getStylePropValue(t.color),i?!1:u);e&&(r=r.filter(function(h){var g;const f=(g=e.filter)==null?void 0:g.call(e,p=>p.id===h.id);return f.length?(0,w.select)(this).datum(f[0]):!1})),r.attr("class",this.updatePointClass.bind(this)).style("opacity",null).each(function(h){const{id:g,index:f,value:p}=h;let _="hidden";M(p)&&(d.bind(this)(h),t.expandCircles(f,g),_=""),this.style.visibility=_})}},hideCircleFocus(){const e=this,{$el:{circle:t}}=e;e.isPointFocusOnly()&&t&&(e.unexpandCircles(),t.style("visibility","hidden"))},circleX(e){return this.xx(e)},updateCircleY(e=!1){const t=this,s=t.generateGetLinePoints(t.getShapeIndices(t.isLineType),e);return(i,n)=>{const a=i.id;return t.isGrouped(a)?s(i,n)[0][1]:t.getYScaleById(a,e)(t.getBaseValue(i))}},expandCircles(e,t,s){const i=this,n=i.pointExpandedR.bind(i);s&&i.unexpandCircles();const a=i.getShapeByIndex("circle",e,t).classed(D.EXPANDED,!0),o=n(a)/i.config.point_r,r=1-o;i.isCirclePoint()?a.attr("r",n):a.each(function(){const l=(0,w.select)(this);if(this.tagName==="circle")l.attr("r",n);else{const{width:c,height:u}=this.getBBox(),d=r*(+l.attr("x")+c/2),h=r*(+l.attr("y")+u/2);l.attr("transform",`translate(${d} ${h}) scale(${o})`)}})},unexpandCircles(e){const t=this,s=t.pointR.bind(t),i=t.getShapeByIndex("circle",e).filter(function(){return(0,w.select)(this).classed(D.EXPANDED)}).classed(D.EXPANDED,!1);if(i.attr("r",s),!t.isCirclePoint()){const n=s(i)/t.config.point_r;i.attr("transform",n!==1?`scale(${n})`:null)}},pointR(e){const t=this,{config:s}=t,i=s.point_r;let n=i;return t.isBubbleType(e)?n=t.getBubbleR(e):O(i)&&(n=i.bind(t.api)(e)),e.r=n,n},pointExpandedR(e){const t=this,{config:s}=t,i=t.isBubbleType(e)?1.15:1.75;return s.point_focus_expand_enabled?s.point_focus_expand_r||t.pointR(e)*i:t.pointR(e)},pointSelectR(e){const t=this,s=t.config.point_select_r;return O(s)?s(e):s||t.pointR(e)*4},isPointFocusOnly(){const e=this;return e.config.point_focus_only&&!e.hasType("bubble")&&!e.hasType("scatter")&&!e.hasArcType(null,["radar"])},isWithinCircle(e,t){const{state:s}=this,i=yt(s.event,e),n=(0,w.select)(e),a=this.isCirclePoint(e)?"c":"",o=this.getPointSensitivity(n==null?void 0:n.datum());let r=+n.attr(`${a}x`),l=+n.attr(`${a}y`);if(!(r||l)&&e.nodeType===1){const{x:c,y:u}=be(e);r=c,l=u}return Math.sqrt(Math.pow(r-i[0],2)+Math.pow(l-i[1],2))<(t||o)},getPointSensitivity(e){const t=this;let s=t.config.point_sensitivity;if(e)O(s)?s=s.call(t.api,e):s==="radius"&&(s=e.r);else return s;return s},updatePointClass(e){const t=this,{circle:s}=t.$el;let i=!1;return(X(e)||s)&&(i=e===!0?s.each(function(n){let a=t.getClass("circle",!0)(n);this.getAttribute("class").indexOf(D.EXPANDED)>-1&&(a+=` ${D.EXPANDED}`),this.setAttribute("class",a)}):t.getClass("circle",!0)(e)),i},generateGetLinePoints(e,t){const s=this,{config:i}=s,n=s.getShapeX(0,e,t),a=s.getShapeY(t),o=s.getShapeOffset(s.isLineType,e,t),r=s.getYScaleById.bind(s);return(l,c)=>{const u=r.call(s,l.id,t)(s.getShapeYMin(l.id)),d=o(l,c)||u,h=n(l);let g=a(l);i.axis_rotated&&(l.value>0&&g<u||l.value<0&&u<g)&&(g=u);const f=[h,g-(u-d)];return[f,f,f,f]}},custom:{create(e,t,s){return e.append("use").attr("xlink:href",`#${t}`).attr("class",this.updatePointClass.bind(this)).style("fill",s).node()},update(e,t,s,i,n,a,o){const r=this,{width:l,height:c}=e.node().getBBox(),u=g=>M(g.value)?t(g)-l/2:0,d=g=>M(g.value)?s(g)-c/2:0;let h=e;return n&&(a&&h.attr("x",u),h=r.$T(h,n,te()),o&&r.$T(o,n,te())),h.attr("x",u).attr("y",d).style("fill",i)}},circle:{create(e,t,s){return e.append("circle").attr("class",this.updatePointClass.bind(this)).attr("r",t).style("fill",s).node()},update(e,t,s,i,n,a,o){const r=this;let l=e;return r.hasType("bubble")&&l.attr("r",r.pointR.bind(r)),n&&(a&&l.attr("cx",t),l.attr("cx")&&(l=r.$T(l,n,te())),o&&r.$T(l,n,te())),l.attr("cx",t).attr("cy",s).style("fill",i)}},rectangle:{create(e,t,s){const i=n=>t(n)*2;return e.append("rect").attr("class",this.updatePointClass.bind(this)).attr("width",i).attr("height",i).style("fill",s).node()},update(e,t,s,i,n,a,o){const r=this,l=r.config.point_r,c=h=>t(h)-l,u=h=>s(h)-l;let d=e;return n&&(a&&d.attr("x",c),d=r.$T(d,n,te()),o&&r.$T(o,n,te())),d.attr("x",c).attr("y",u).style("fill",i)}}};function sr(e){return St(e)&&O(e.create)&&O(e.update)}function ir(e,t){var s;const i=this,n=(l,c)=>{const u=l.attributes;for(let d=0,h;h=u[d];d++)h=h.name,c.setAttribute(h,l.getAttribute(h))},o=new DOMParser().parseFromString(e,"image/svg+xml").documentElement,r=ot.createElementNS(w.namespaces.svg,o.nodeName.toLowerCase());if(r.id=t,r.style.fill="inherit",r.style.stroke="inherit",n(o,r),(s=o.childNodes)!=null&&s.length){const l=(0,w.select)(r);"innerHTML"in r?l.html(o.innerHTML):Gt(o.childNodes).forEach(c=>{n(c,l.append(c.tagName).node())})}i.$el.defs.node().appendChild(r)}var ee={hasValidPointType(e){return/^(circle|rect(angle)?|polygon|ellipse|use)$/i.test(e||this.config.point_type)},hasLegendDefsPoint(){var e;const{config:t}=this;return t.legend_show&&((e=t.point_pattern)==null?void 0:e.length)&&t.legend_usePoint},getDefsPointId(e){const{state:{datetimeId:t}}=this;return`${t}-point${e}`},generatePoint(){const e=this,{$el:t,config:s}=e,i=[],n=nt(s.point_pattern)?s.point_pattern:[s.point_type];return function(a,o,...r){return function(l){var c,u,d,h;const g=e.getTargetSelectorSuffix(l.id||((c=l.data)==null?void 0:c.id)||l),f=(0,w.select)(this);i.indexOf(g)<0&&i.push(g);let p=n[i.indexOf(g)%n.length];if(e.hasValidPointType(p))p=e[p];else if(!sr(p||s.point_type)){const _=e.getDefsPointId(g);if(t.defs.select(`#${_}`).size()<1&&ir.bind(e)(p,_),a==="create")return(u=e.custom)==null?void 0:u.create.bind(o)(f,_,...r);if(a==="update")return(d=e.custom)==null?void 0:d.update.bind(o)(f,...r)}return(h=p[a])==null?void 0:h.bind(o)(f,...r)}}}};function hi(e){const t=e.config.polar_level_max;let s=e.getMinMaxData().max[0].value;return t&&t>s&&(s=t),s}var nr={initPolar(){const e=this,{$el:{arcs:t},config:s}=e,i=s.polar_level_text_show,n=s.polar_level_text_backgroundColor;t.levels=t.append("g").attr("class",It.levels),i&&n&&e.generateTextBGColorFilter(n)},getPolarOuterRadius(e,t){var s;const i=hi(this);return((s=e==null?void 0:e.data.values[0].value)!=null?s:0)/i*t},updateTargetsForPolar(e){this.updateTargetsForArc(e)},redrawPolar(){const e=this,{config:t}=e;t.polar_level_show&&e.updatePolarLevel()},updatePolarLevel(){const e=this,{config:t,state:s,$el:{arcs:{levels:i}}}=e,n=t.polar_level_depth,a=hi(e),o=Te(0,n),r=s.radius,l=o.map(h=>r*((h+1)/n)),c=(t.polar_level_text_format||function(){}).bind(e.api),u=i.selectAll(`.${It.level}`).data(o);u.exit().remove();const d=u.enter().append("g").attr("class",(h,g)=>`${It.level} ${It.level}-${g}`);if(d.append("circle"),d.merge(u).selectAll("circle").style("visibility",t.polar_level_show?null:"hidden").attr("cx",0).attr("cy",0).attr("r",h=>l[h]),t.polar_level_text_show){const h=t.polar_level_text_backgroundColor,g=`#${s.datetimeId}-labels-bg${e.getTargetSelectorSuffix(h)}`;d.append("text").style("text-anchor","middle"),d.merge(u).selectAll("text").attr("dy",f=>-l[f]+5).attr("filter",h?`url(${g})`:null).text(f=>c(a/o.length*(f+1)))}}};function ar(e,t,s,i,n,a){const o=e&&i>0?s-i:i,r=2*Math.PI;return n*(1-a*(t==="x"?Math.sin:Math.cos)(o*r/s))}const se=pt.radarPoints,gi=pt.radarTextWidth;var or={initRadar(){const e=this,{config:t,state:{current:s},$el:i}=e;e.hasType("radar")&&(i.radar=i.main.select(`.${D.chart}`).append("g").attr("class",ss.chartRadars),i.radar.levels=i.radar.append("g").attr("class",It.levels),i.radar.axes=i.radar.append("g").attr("class",at.axis),i.radar.shapes=i.radar.append("g").attr("class",st.shapes),s.dataMax=t.radar_axis_max||e.getMinMaxData().max[0].value,t.radar_axis_text_show&&(t.interaction_enabled&&e.bindRadarEvent(),e.updateRadarLevel(),e.updateRadarAxes()))},getRadarSize(){const e=this,{config:t,state:{arcWidth:s,arcHeight:i}}=e,n=t.axis_x_categories.length<4?-20:10,a=(Math.min(s,i)-n)/2;return[a,a]},updateTargetsForRadar(e){const t=this,{config:s}=t;At(s.axis_x_categories)&&(s.axis_x_categories=Te(0,wt("max",e.map(i=>i.values.length)))),t.generateRadarPoints()},getRadarPosition(e,t,s,i){const n=this,{config:a}=n,[o,r]=n.getRadarSize(),l=a.axis_x_categories.length,c=a.radar_direction_clockwise,u=Gt(e).map(d=>ar(c,d,l,t,H(s)?s:e==="x"?o:r,L(i)?i:a.radar_size_ratio));return u.length===1?u[0]:u},generateRadarPoints(){const e=this,t=e.data.targets,[s,i]=e.getRadarSize(),n=e.cache.get(se)||{},a=n._size;(!a||a.width!==s&&a.height!==i)&&(t.forEach(o=>{n[o.id]=o.values.map((r,l)=>e.getRadarPosition(["x","y"],l,void 0,e.getRatio("radar",r)))}),n._size={width:s,height:i},e.cache.add(se,n))},redrawRadar(){const e=this,{radar:t,main:s}=e.$el,i=e.getTranslate("radar");i&&(t.attr("transform",i),s.select(`.${gt.chartTexts}`).attr("transform",i),e.generateRadarPoints(),e.updateRadarLevel(),e.updateRadarAxes(),e.updateRadarShape())},generateGetRadarPoints(){const e=this.cache.get(se);return(t,s)=>{const i=e[t.id][s];return[i,i,i,i]}},updateRadarLevel(){const e=this,{config:t,state:s,$el:{radar:i}}=e,[n,a]=e.getRadarSize(),o=t.radar_level_depth,r=t.axis_x_categories.length,l=t.radar_level_text_show,c=i.levels,u=Te(0,o),d=t.radar_size_ratio*Math.min(n,a),h=u.map(x=>d*((x+1)/o)),g=(t.radar_level_text_format||function(){}).bind(e.api),f=u.map(x=>{const m=h[x];return Te(0,r).map(b=>e.getRadarPosition(["x","y"],b,m,1).join(",")).join(" ")}),p=c.selectAll(`.${It.level}`).data(u);p.exit().remove();const _=p.enter().append("g").attr("class",(x,m)=>`${It.level} ${It.level}-${m}`);_.append("polygon").style("visibility",t.radar_level_show?null:"hidden"),l&&(c.select("text").empty()&&c.append("text").attr("dx","-.5em").attr("dy","-.7em").style("text-anchor","end").text(()=>g(0)),_.append("text").attr("dx","-.5em").style("text-anchor","end").text(x=>g(s.current.dataMax/u.length*(x+1)))),_.merge(p).attr("transform",x=>`translate(${n-h[x]}, ${a-h[x]})`).selectAll("polygon").attr("points",x=>f[x]),l&&c.selectAll("text").attr("x",x=>it(x)?n:f[x].split(",")[0]).attr("y",x=>it(x)?a:0)},updateRadarAxes(){const e=this,{config:t,$el:{radar:s}}=e,[i,n]=e.getRadarSize(),a=t.axis_x_categories;let o=s.axes.selectAll("g").data(a);o.exit().remove();const r=o.enter().append("g").attr("class",(l,c)=>`${at.axis}-${c}`);if(t.radar_axis_line_show&&r.append("line"),t.radar_axis_text_show&&r.append("text"),o=r.merge(o),t.radar_axis_line_show&&o.select("line").attr("x1",i).attr("y1",n).attr("x2",(l,c)=>e.getRadarPosition("x",c)).attr("y2",(l,c)=>e.getRadarPosition("y",c)),t.radar_axis_text_show){const{x:l=0,y:c=0}=t.radar_axis_text_position,u=e.cache.get(gi)||0;if(o.select("text").style("text-anchor","middle").attr("dy",".5em").call(d=>{d.each(function(h){ce((0,w.select)(this),String(h),[-.6,1.2])})}).datum((d,h)=>({index:h})).attr("transform",function(d){it(this.width)&&(this.width=this.getBoundingClientRect().width/2);let h=e.getRadarPosition("x",d.index,void 0,1),g=Math.round(e.getRadarPosition("y",d.index,void 0,1));return h>i?h+=this.width+l:Math.round(h)<i&&(h-=this.width+l),g>n?(g/2===n&&this.firstChild.tagName==="tspan"&&this.firstChild.setAttribute("dy","0em"),g+=c):g<n&&(g-=c),`translate(${h} ${g})`}),!u){const d=[s.axes,s.levels].map(h=>ds(h.node()).width);d.every(h=>h>0)&&e.cache.add(gi,d[0]-d[1])}}},bindRadarEvent(){const e=this,{config:t,state:s,$el:{radar:i,svg:n}}=e,a=e.isPointFocusOnly(),{inputType:o,transiting:r}=s,l=o==="mouse",c=u=>{if(s.event=u,!t.interaction_onout)return;const d=e.getDataIndexFromEvent(u),h=it(d);(l||h)&&(e.hideTooltip(),a?e.hideCircleFocus():e.unexpandCircles(),l?e.setOverOut(!1,d):h&&e.callOverOutForTouch())};i.axes.on(l?"mouseover ":"touchstart",u=>{if(r)return;s.event=u;const d=e.getDataIndexFromEvent(u);e.selectRectForSingle(n.node(),d),l?e.setOverOut(!0,d):e.callOverOutForTouch(d)}).on("mouseout",l?c:null),l||n.on("touchstart",c)},updateRadarShape(){const e=this,t=e.data.targets.filter(a=>e.isRadarType(a)),s=e.cache.get(se),i=e.$el.radar.shapes.selectAll("polygon").data(t),n=i.enter().append("g").attr("class",e.getChartClass("Radar"));e.$T(i.exit()).remove(),n.append("polygon").merge(i).style("fill",e.color).style("stroke",e.color).attr("points",a=>s[a.id].join(" ")),e.updateTargetForCircle(t,n)},radarCircleX(e){return this.cache.get(se)[e.id][e.index][0]},radarCircleY(e){return this.cache.get(se)[e.id][e.index][1]}},Pt=U(14);function rr(e,t){const s=this,{scale:{x:i,y:n},state:{width:a}}=s;e.selectAll("g").attr("transform",o=>`translate(${o===t?"0,0":`${i(o.x0)},${n(o.y0)}`})`).select("rect").attr("width",o=>o===t?a:i(o.x1)-i(o.x0)).attr("height",o=>o===t?0:n(o.y1)-n(o.y0))}function lr(e){const t=this;return e.map(s=>{const{id:i,values:n}=s,{value:a}=n[0];return{name:i,id:i,value:a,ratio:t.getRatio("treemap",n[0])}})}function cr(e){const t=this,s=(0,Pt.hierarchy)(e).sum(n=>n.value),i=t.getSortCompareFn(!0);return[t.treemap(i?s.sort(i):s)]}var dr={initTreemap(){const e=this,{$el:t,state:{current:{width:s,height:i},clip:n,datetimeId:a}}=e;n.id=`${a}-clip`,e.treemap=(0,Pt.treemap)().tile(e.getTreemapTile()),t.defs.append("clipPath").attr("id",n.id).append("rect").attr("width",s).attr("height",i),t.treemap=t.main.select(`.${D.chart}`).attr("clip-path",`url(#${n.id})`).append("g").classed(ns.chartTreemaps,!0),e.bindTreemapEvent()},bindTreemapEvent(){const e=this,{$el:t,config:s,state:i}=e,n=a=>{var o;const r=a.isTrusted?a.target:(o=i.eventReceiver.rect)==null?void 0:o.node();let l;return/^rect$/i.test(r.tagName)&&(i.event=a,l=(0,w.select)(r).datum()),l==null?void 0:l.data};if(s.interaction_enabled){const a=i.inputType==="touch";t.treemap.on(a?"touchstart":"mouseover mousemove",o=>{const r=n(o);r&&(e.showTooltip([r],o.currentTarget),/^(touchstart|mouseover)$/.test(o.type)&&e.setOverOut(!0,r))}).on(a?"touchend":"mouseout",o=>{const r=n(o);s.interaction_onout&&(e.hideTooltip(),e.setOverOut(!1,r))})}},getTreemapTile(){var e,t;const s=this,{config:i,state:{current:{width:n,height:a}}}=s,o=(t={binary:Pt.treemapBinary,dice:Pt.treemapDice,slice:Pt.treemapSlice,sliceDice:Pt.treemapSliceDice,squarify:Pt.treemapSquarify,resquarify:Pt.treemapResquarify}[(e=i.treemap_tile)!=null?e:"binary"])!=null?t:Pt.treemapBinary;return(r,l,c,u,d)=>{o(r,0,0,n,a);for(const h of r.children)h.x0=l+h.x0/n*(u-l),h.x1=l+h.x1/n*(u-l),h.y0=c+h.y0/a*(d-c),h.y1=c+h.y1/a*(d-c)}},getTreemapData(e){const t=this;return{name:"root",children:lr.bind(t)(t.filterTargetsToShow(e.filter(t.isTreemapType,t)))}},updateTargetsForTreemap(e){const t=this,{$el:{treemap:s}}=t,i=cr.call(t,t.getTreemapData(e!=null?e:t.data.targets));s.data(i)},updateTreemap(e){const t=this,{$el:s,$T:i}=t,n=s.treemap.datum(),a=t.getChartClass("Treemap"),o=t.getClass("treemap",!0),r=s.treemap.selectAll("g").data(n.children);i(r.exit(),e).style("opacity","0").remove(),r.enter().append("g").append("rect"),s.treemap.selectAll("g").attr("class",a).select("rect").attr("class",o).attr("fill",l=>t.color(l.data.name))},generateGetTreemapPoints(){const e=this,{$el:t,scale:{x:s,y:i}}=e,n={};return t.treemap.selectAll("g").each(a=>{n[a.data.name]=[[s(a.x0),i(a.y0)],[s(a.x1),i(a.y1)]]}),a=>n[a.id]},redrawTreemap(e){const t=this,{$el:s,state:{current:{width:i,height:n}}}=t;return s.defs.select("rect").attr("width",i).attr("height",n),[t.$T(s.treemap,e,kt()).call(rr.bind(t),s.treemap.datum())]},treemapDataLabelFormat(e){const t=this,{config:s}=t,{id:i,value:n}=e,a=s.treemap_label_format,o=t.getRatio("treemap",e),r=(o*100).toFixed(2),l=s.treemap_label_show&&t.meetsLabelThreshold(o,"treemap")?null:"0";return function(c){return c.style("opacity",l),O(a)?a.bind(t.api)(n,o,i):`${i} +${r}%`}}},Ht={point_show:!0,point_r:2.5,point_radialGradient:!1,point_sensitivity:10,point_focus_expand_enabled:!0,point_focus_expand_r:void 0,point_focus_only:!1,point_opacity:void 0,point_pattern:[],point_select_r:void 0,point_type:"circle"},ie={area_above:!1,area_below:!1,area_front:!0,area_linearGradient:!1,area_zerobased:!0},ur={bar_front:!1,bar_indices_removeNull:!1,bar_label_threshold:0,bar_linearGradient:!1,bar_overlap:!1,bar_padding:0,bar_radius:void 0,bar_radius_ratio:void 0,bar_sensitivity:2,bar_width:void 0,bar_width_ratio:.6,bar_width_max:void 0,bar_zerobased:!0},hr={bubble_maxR:35,bubble_zerobased:!1},gr={candlestick_width:void 0,candlestick_width_ratio:.6,candlestick_width_max:void 0,candlestick_color_down:"red"},fr={line_connectNull:!1,line_step_type:"step",line_step_tooltipMatch:!1,line_zerobased:!1,line_classes:void 0,line_point:!0},pr={scatter_zerobased:!1},qe={spline_interpolation_type:"cardinal"},Ee={arc_cornerRadius:0,arc_cornerRadius_ratio:0,arc_needle_show:!1,arc_needle_color:void 0,arc_needle_value:void 0,arc_needle_path:void 0,arc_needle_length:100,arc_needle_top_rx:0,arc_needle_top_ry:0,arc_needle_top_width:0,arc_needle_bottom_rx:1,arc_needle_bottom_ry:1,arc_needle_bottom_width:15,arc_needle_bottom_len:0,arc_rangeText_values:void 0,arc_rangeText_unit:"absolute",arc_rangeText_fixed:!1,arc_rangeText_format:void 0,arc_rangeText_position:void 0},xr={donut_label_show:!0,donut_label_format:void 0,donut_label_threshold:.05,donut_label_ratio:void 0,donut_width:void 0,donut_title:"",donut_expand:{},donut_expand_rate:.98,donut_expand_duration:50,donut_padAngle:0,donut_startingAngle:0},_r={funnel_neck_width:0,funnel_neck_height:0},mr={gauge_background:"",gauge_fullCircle:!1,gauge_label_show:!0,gauge_label_extents:void 0,gauge_label_format:void 0,gauge_label_ratio:void 0,gauge_label_threshold:0,gauge_enforceMinMax:!1,gauge_min:0,gauge_max:100,gauge_type:"single",gauge_startingAngle:-1*Math.PI/2,gauge_arcLength:100,gauge_title:"",gauge_units:void 0,gauge_width:void 0,gauge_arcs_minWidth:5,gauge_expand:{},gauge_expand_rate:.98,gauge_expand_duration:50},$r={pie_label_show:!0,pie_label_format:void 0,pie_label_ratio:void 0,pie_label_threshold:.05,pie_expand:{},pie_expand_rate:.98,pie_expand_duration:50,pie_innerRadius:0,pie_outerRadius:void 0,pie_padAngle:0,pie_padding:0,pie_startingAngle:0},yr={polar_label_show:!0,polar_label_format:void 0,polar_label_threshold:.05,polar_label_ratio:void 0,polar_level_depth:3,polar_level_max:void 0,polar_level_show:!0,polar_level_text_backgroundColor:"#fff",polar_level_text_format:e=>e%1===0?e:e.toFixed(2),polar_level_text_show:!0,polar_padAngle:0,polar_padding:0,polar_startingAngle:0},br={radar_axis_max:void 0,radar_axis_line_show:!0,radar_axis_text_show:!0,radar_axis_text_position:{},radar_level_depth:3,radar_level_show:!0,radar_level_text_format:e=>e%1===0?e:e.toFixed(2),radar_level_text_show:!0,radar_size_ratio:.87,radar_direction_clockwise:!1},vr={treemap_tile:"binary",treemap_label_format:void 0,treemap_label_threshold:.05,treemap_label_show:!0};function ne(e,t){rt(jt.prototype,Object.values(Qs).concat(e)),rt(Mt.prototype,Eo),Vt.setOptions(Object.values(ti).concat(t||[]))}function Ot(e,t){ne([ee,Ce,er].concat(e||[])),Vt.setOptions([Ht,fr].concat(t||[]))}function ae(e,t){rt(jt.prototype,[Fo,ee].concat(e||[])),Vt.setOptions([Ht].concat(t||[]))}let fi=()=>(Ot(Qt,[ie]),(fi=()=>E.AREA)()),pi=()=>(Ot(Qt,[ie]),(pi=()=>E.AREA_LINE_RANGE)()),xi=()=>(Ot(Qt,[ie]),(xi=()=>E.AREA_STEP_RANGE)()),_i=()=>(Ot(Qt,[ie,qe]),(_i=()=>E.AREA_SPLINE)()),mi=()=>(Ot(Qt,[ie,qe]),(mi=()=>E.AREA_SPLINE_RANGE)()),$i=()=>(Ot(Qt,[ie]),($i=()=>E.AREA_STEP)()),yi=()=>(Ot(),(yi=()=>E.LINE)()),bi=()=>(Ot(void 0,[qe]),(bi=()=>E.SPLINE)()),vi=()=>(Ot(),(vi=()=>E.STEP)()),Ti=()=>(ae(void 0,[Ee,xr]),(Ti=()=>E.DONUT)()),Ai=()=>(ae([Jo],[Ee,mr]),(Ai=()=>E.GAUGE)()),wi=()=>(ae(void 0,[Ee,$r]),(wi=()=>E.PIE)()),Si=()=>(ae([nr],[Ee,yr]),(Si=()=>E.POLAR)()),Ri=()=>(ae([Qs.eventrect,Ce,or],[Ht,br,{axis_x_categories:ti.optAxis.axis_x_categories}]),(Ri=()=>E.RADAR)()),Ci=()=>(ne([Mo,ee],[ur,Ht]),(Ci=()=>E.BAR)()),Ei=()=>(ne([ee,Ce,Xo],[hr,Ht]),(Ei=()=>E.BUBBLE)()),ki=()=>(ne([Yo,ee],[gr,Ht]),(ki=()=>E.CANDLESTICK)()),Li=()=>(ne([ee,Ce],[Ht,pr]),(Li=()=>E.SCATTER)()),Pi=()=>(ae([Ko],[_r]),(Pi=()=>E.FUNNEL)()),Oi=()=>(ne([dr],[vr]),(Oi=()=>E.TREEMAP)()),Ke={};const Ii={version:"3.14.2",generate(e){const t=qt({},Ke,e),s=new Mt(t);return s.internal.charts=this.instance,this.instance.push(s),s},defaults(e){return X(e)&&(Ke=e),Ke},instance:[],plugin:{}};Object.keys(xt).forEach(e=>xt[e]()),Object.keys(I).forEach(e=>I[e]())}(),ke}()}); diff --git a/release/3.14.2/dist/billboard.pkgd.js b/release/3.14.2/dist/billboard.pkgd.js new file mode 100644 index 000000000..0a99bf4c9 --- /dev/null +++ b/release/3.14.2/dist/billboard.pkgd.js @@ -0,0 +1,49440 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * + * All-in-one packaged file for ease use of 'billboard.js' with dependant d3.js modules & polyfills. + * - @types/d3-selection ^3.0.11 + * - @types/d3-transition ^3.0.9 + * - d3-axis ^3.0.0 + * - d3-brush ^3.0.0 + * - d3-drag ^3.0.0 + * - d3-dsv ^3.0.1 + * - d3-ease ^3.0.1 + * - d3-hierarchy ^3.1.2 + * - d3-interpolate ^3.0.1 + * - d3-scale ^4.0.2 + * - d3-selection ^3.0.0 + * - d3-shape ^3.2.0 + * - d3-time-format ^4.1.0 + * - d3-transition ^3.0.1 + * - d3-zoom ^3.0.0 + */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else { + var a = factory(); + for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; + } +})(this, function() { +return /******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ([ +/* 0 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +__webpack_require__(1); +__webpack_require__(97); +__webpack_require__(98); +__webpack_require__(99); +__webpack_require__(100); +__webpack_require__(101); +__webpack_require__(102); +__webpack_require__(103); +__webpack_require__(104); +__webpack_require__(105); +__webpack_require__(106); +__webpack_require__(107); +__webpack_require__(108); +__webpack_require__(109); +__webpack_require__(110); +__webpack_require__(111); +__webpack_require__(124); +__webpack_require__(126); +__webpack_require__(136); +__webpack_require__(137); +__webpack_require__(139); +__webpack_require__(143); +__webpack_require__(146); +__webpack_require__(148); +__webpack_require__(150); +__webpack_require__(151); +__webpack_require__(152); +__webpack_require__(153); +__webpack_require__(155); +__webpack_require__(156); +__webpack_require__(158); +__webpack_require__(159); +__webpack_require__(161); +__webpack_require__(165); +__webpack_require__(166); +__webpack_require__(167); +__webpack_require__(168); +__webpack_require__(173); +__webpack_require__(174); +__webpack_require__(176); +__webpack_require__(177); +__webpack_require__(178); +__webpack_require__(180); +__webpack_require__(184); +__webpack_require__(185); +__webpack_require__(186); +__webpack_require__(187); +__webpack_require__(188); +__webpack_require__(193); +__webpack_require__(195); +__webpack_require__(196); +__webpack_require__(198); +__webpack_require__(201); +__webpack_require__(202); +__webpack_require__(203); +__webpack_require__(204); +__webpack_require__(205); +__webpack_require__(207); +__webpack_require__(217); +__webpack_require__(219); +__webpack_require__(220); +__webpack_require__(222); +__webpack_require__(225); +__webpack_require__(231); +__webpack_require__(232); +__webpack_require__(233); +__webpack_require__(234); +__webpack_require__(235); +__webpack_require__(236); +__webpack_require__(240); +__webpack_require__(241); +__webpack_require__(243); +__webpack_require__(244); +__webpack_require__(245); +__webpack_require__(247); +__webpack_require__(248); +__webpack_require__(249); +__webpack_require__(250); +__webpack_require__(251); +__webpack_require__(256); +__webpack_require__(257); +__webpack_require__(258); +__webpack_require__(259); +__webpack_require__(261); +__webpack_require__(262); +__webpack_require__(263); +__webpack_require__(265); +__webpack_require__(266); +__webpack_require__(267); +__webpack_require__(268); +__webpack_require__(93); +__webpack_require__(269); +__webpack_require__(270); +__webpack_require__(278); +__webpack_require__(280); +__webpack_require__(282); +__webpack_require__(283); +__webpack_require__(284); +__webpack_require__(285); +__webpack_require__(286); +__webpack_require__(288); +__webpack_require__(289); +__webpack_require__(290); +__webpack_require__(291); +__webpack_require__(292); +__webpack_require__(294); +__webpack_require__(295); +__webpack_require__(296); +__webpack_require__(297); +__webpack_require__(298); +__webpack_require__(299); +__webpack_require__(300); +__webpack_require__(301); +__webpack_require__(305); +__webpack_require__(306); +__webpack_require__(308); +__webpack_require__(310); +__webpack_require__(311); +__webpack_require__(312); +__webpack_require__(313); +__webpack_require__(314); +__webpack_require__(316); +__webpack_require__(318); +__webpack_require__(319); +__webpack_require__(320); +__webpack_require__(321); +__webpack_require__(323); +__webpack_require__(324); +__webpack_require__(326); +__webpack_require__(327); +__webpack_require__(328); +__webpack_require__(329); +__webpack_require__(331); +__webpack_require__(332); +__webpack_require__(333); +__webpack_require__(334); +__webpack_require__(335); +__webpack_require__(336); +__webpack_require__(337); +__webpack_require__(338); +__webpack_require__(339); +__webpack_require__(341); +__webpack_require__(342); +__webpack_require__(343); +__webpack_require__(344); +__webpack_require__(345); +__webpack_require__(346); +__webpack_require__(347); +__webpack_require__(348); +__webpack_require__(349); +__webpack_require__(350); +__webpack_require__(351); +__webpack_require__(353); +__webpack_require__(354); +__webpack_require__(355); +__webpack_require__(356); +__webpack_require__(380); +__webpack_require__(381); +__webpack_require__(382); +__webpack_require__(383); +__webpack_require__(384); +__webpack_require__(385); +__webpack_require__(386); +__webpack_require__(387); +__webpack_require__(388); +__webpack_require__(389); +__webpack_require__(391); +__webpack_require__(392); +__webpack_require__(393); +__webpack_require__(394); +__webpack_require__(395); +__webpack_require__(396); +__webpack_require__(397); +__webpack_require__(398); +__webpack_require__(399); +__webpack_require__(400); +__webpack_require__(407); +__webpack_require__(408); +__webpack_require__(410); +__webpack_require__(411); +__webpack_require__(412); +__webpack_require__(413); +__webpack_require__(414); +__webpack_require__(416); +__webpack_require__(426); +__webpack_require__(428); +__webpack_require__(430); +__webpack_require__(432); +__webpack_require__(434); +__webpack_require__(436); +__webpack_require__(438); +__webpack_require__(439); +__webpack_require__(441); +__webpack_require__(444); +__webpack_require__(445); +__webpack_require__(446); +__webpack_require__(447); +__webpack_require__(448); +__webpack_require__(452); +__webpack_require__(453); +__webpack_require__(455); +__webpack_require__(456); +__webpack_require__(457); +__webpack_require__(458); +__webpack_require__(460); +__webpack_require__(461); +__webpack_require__(462); +__webpack_require__(463); +__webpack_require__(464); +__webpack_require__(465); +__webpack_require__(466); +__webpack_require__(468); +__webpack_require__(471); +__webpack_require__(474); +__webpack_require__(477); +__webpack_require__(478); +__webpack_require__(479); +__webpack_require__(480); +__webpack_require__(481); +__webpack_require__(482); +__webpack_require__(483); +__webpack_require__(484); +__webpack_require__(485); +__webpack_require__(486); +__webpack_require__(487); +__webpack_require__(488); +__webpack_require__(489); +__webpack_require__(497); +__webpack_require__(498); +__webpack_require__(499); +__webpack_require__(500); +__webpack_require__(501); +__webpack_require__(502); +__webpack_require__(503); +__webpack_require__(504); +__webpack_require__(505); +__webpack_require__(506); +__webpack_require__(507); +__webpack_require__(508); +__webpack_require__(509); +__webpack_require__(511); +__webpack_require__(512); +__webpack_require__(513); +__webpack_require__(514); +__webpack_require__(515); +__webpack_require__(516); +__webpack_require__(517); +__webpack_require__(518); +__webpack_require__(519); +__webpack_require__(520); +__webpack_require__(521); +__webpack_require__(522); +__webpack_require__(523); +__webpack_require__(524); +__webpack_require__(525); +__webpack_require__(526); +__webpack_require__(527); +__webpack_require__(528); +__webpack_require__(529); +__webpack_require__(530); +__webpack_require__(531); +__webpack_require__(532); +__webpack_require__(533); +__webpack_require__(534); +__webpack_require__(535); +__webpack_require__(536); +__webpack_require__(537); +__webpack_require__(538); +__webpack_require__(541); +__webpack_require__(543); +__webpack_require__(545); +__webpack_require__(546); +__webpack_require__(549); +__webpack_require__(550); +__webpack_require__(552); +__webpack_require__(553); +__webpack_require__(554); +__webpack_require__(558); +__webpack_require__(559); +__webpack_require__(560); +__webpack_require__(561); +__webpack_require__(564); +__webpack_require__(569); +__webpack_require__(570); +__webpack_require__(571); +__webpack_require__(572); +__webpack_require__(573); +__webpack_require__(574); +__webpack_require__(575); + +/* unused reexport */ __webpack_require__(80); + + +/***/ }), +/* 1 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(2); +__webpack_require__(90); +__webpack_require__(92); +__webpack_require__(93); +__webpack_require__(96); + + +/***/ }), +/* 2 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); +var NATIVE_SYMBOL = __webpack_require__(26); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var isPrototypeOf = __webpack_require__(24); +var anObject = __webpack_require__(46); +var toIndexedObject = __webpack_require__(12); +var toPropertyKey = __webpack_require__(18); +var $toString = __webpack_require__(68); +var createPropertyDescriptor = __webpack_require__(11); +var nativeObjectCreate = __webpack_require__(71); +var objectKeys = __webpack_require__(73); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertyNamesExternal = __webpack_require__(75); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var definePropertyModule = __webpack_require__(44); +var definePropertiesModule = __webpack_require__(72); +var propertyIsEnumerableModule = __webpack_require__(10); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var shared = __webpack_require__(34); +var sharedKey = __webpack_require__(53); +var hiddenKeys = __webpack_require__(54); +var uid = __webpack_require__(40); +var wellKnownSymbol = __webpack_require__(33); +var wrappedWellKnownSymbolModule = __webpack_require__(78); +var defineWellKnownSymbol = __webpack_require__(79); +var defineSymbolToPrimitive = __webpack_require__(81); +var setToStringTag = __webpack_require__(82); +var InternalStateModule = __webpack_require__(51); +var $forEach = (__webpack_require__(83).forEach); + +var HIDDEN = sharedKey('hidden'); +var SYMBOL = 'Symbol'; +var PROTOTYPE = 'prototype'; + +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(SYMBOL); + +var ObjectPrototype = Object[PROTOTYPE]; +var $Symbol = globalThis.Symbol; +var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE]; +var RangeError = globalThis.RangeError; +var TypeError = globalThis.TypeError; +var QObject = globalThis.QObject; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; +var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; +var push = uncurryThis([].push); + +var AllSymbols = shared('symbols'); +var ObjectPrototypeSymbols = shared('op-symbols'); +var WellKnownSymbolsStore = shared('wks'); + +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var fallbackDefineProperty = function (O, P, Attributes) { + var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); + if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; + nativeDefineProperty(O, P, Attributes); + if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { + nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); + } +}; + +var setSymbolDescriptor = DESCRIPTORS && fails(function () { + return nativeObjectCreate(nativeDefineProperty({}, 'a', { + get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } + })).a !== 7; +}) ? fallbackDefineProperty : nativeDefineProperty; + +var wrap = function (tag, description) { + var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype); + setInternalState(symbol, { + type: SYMBOL, + tag: tag, + description: description + }); + if (!DESCRIPTORS) symbol.description = description; + return symbol; +}; + +var $defineProperty = function defineProperty(O, P, Attributes) { + if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); + anObject(O); + var key = toPropertyKey(P); + anObject(Attributes); + if (hasOwn(AllSymbols, key)) { + if (!Attributes.enumerable) { + if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null))); + O[HIDDEN][key] = true; + } else { + if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; + Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); + } return setSymbolDescriptor(O, key, Attributes); + } return nativeDefineProperty(O, key, Attributes); +}; + +var $defineProperties = function defineProperties(O, Properties) { + anObject(O); + var properties = toIndexedObject(Properties); + var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); + $forEach(keys, function (key) { + if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]); + }); + return O; +}; + +var $create = function create(O, Properties) { + return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); +}; + +var $propertyIsEnumerable = function propertyIsEnumerable(V) { + var P = toPropertyKey(V); + var enumerable = call(nativePropertyIsEnumerable, this, P); + if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false; + return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P] + ? enumerable : true; +}; + +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { + var it = toIndexedObject(O); + var key = toPropertyKey(P); + if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return; + var descriptor = nativeGetOwnPropertyDescriptor(it, key); + if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) { + descriptor.enumerable = true; + } + return descriptor; +}; + +var $getOwnPropertyNames = function getOwnPropertyNames(O) { + var names = nativeGetOwnPropertyNames(toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key); + }); + return result; +}; + +var $getOwnPropertySymbols = function (O) { + var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; + var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) { + push(result, AllSymbols[key]); + } + }); + return result; +}; + +// `Symbol` constructor +// https://tc39.es/ecma262/#sec-symbol-constructor +if (!NATIVE_SYMBOL) { + $Symbol = function Symbol() { + if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor'); + var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]); + var tag = uid(description); + var setter = function (value) { + var $this = this === undefined ? globalThis : this; + if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value); + if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false; + var descriptor = createPropertyDescriptor(1, value); + try { + setSymbolDescriptor($this, tag, descriptor); + } catch (error) { + if (!(error instanceof RangeError)) throw error; + fallbackDefineProperty($this, tag, descriptor); + } + }; + if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); + return wrap(tag, description); + }; + + SymbolPrototype = $Symbol[PROTOTYPE]; + + defineBuiltIn(SymbolPrototype, 'toString', function toString() { + return getInternalState(this).tag; + }); + + defineBuiltIn($Symbol, 'withoutSetter', function (description) { + return wrap(uid(description), description); + }); + + propertyIsEnumerableModule.f = $propertyIsEnumerable; + definePropertyModule.f = $defineProperty; + definePropertiesModule.f = $defineProperties; + getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; + getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; + getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; + + wrappedWellKnownSymbolModule.f = function (name) { + return wrap(wellKnownSymbol(name), name); + }; + + if (DESCRIPTORS) { + // https://github.com/tc39/proposal-Symbol-description + defineBuiltInAccessor(SymbolPrototype, 'description', { + configurable: true, + get: function description() { + return getInternalState(this).description; + } + }); + if (!IS_PURE) { + defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); + } + } +} + +$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { + Symbol: $Symbol +}); + +$forEach(objectKeys(WellKnownSymbolsStore), function (name) { + defineWellKnownSymbol(name); +}); + +$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { + useSetter: function () { USE_SETTER = true; }, + useSimple: function () { USE_SETTER = false; } +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { + // `Object.create` method + // https://tc39.es/ecma262/#sec-object.create + create: $create, + // `Object.defineProperty` method + // https://tc39.es/ecma262/#sec-object.defineproperty + defineProperty: $defineProperty, + // `Object.defineProperties` method + // https://tc39.es/ecma262/#sec-object.defineproperties + defineProperties: $defineProperties, + // `Object.getOwnPropertyDescriptor` method + // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors + getOwnPropertyDescriptor: $getOwnPropertyDescriptor +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { + // `Object.getOwnPropertyNames` method + // https://tc39.es/ecma262/#sec-object.getownpropertynames + getOwnPropertyNames: $getOwnPropertyNames +}); + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +defineSymbolToPrimitive(); + +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag($Symbol, SYMBOL); + +hiddenKeys[HIDDEN] = true; + + +/***/ }), +/* 3 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var defineGlobalProperty = __webpack_require__(37); +var copyConstructorProperties = __webpack_require__(55); +var isForced = __webpack_require__(67); + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.dontCallGetSet - prevent calling a getter on target + options.name - the .name of the function if it does not match the key +*/ +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = globalThis; + } else if (STATIC) { + target = globalThis[TARGET] || defineGlobalProperty(TARGET, {}); + } else { + target = globalThis[TARGET] && globalThis[TARGET].prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.dontCallGetSet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + defineBuiltIn(target, key, sourceProperty, options); + } +}; + + +/***/ }), +/* 4 */ +/***/ (function(module) { + + +var check = function (it) { + return it && it.Math === Math && it; +}; + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +module.exports = + // eslint-disable-next-line es/no-global-this -- safe + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe + check(typeof self == 'object' && self) || + check(typeof global == 'object' && global) || + check(typeof this == 'object' && this) || + // eslint-disable-next-line no-new-func -- fallback + (function () { return this; })() || Function('return this')(); + + +/***/ }), +/* 5 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var call = __webpack_require__(8); +var propertyIsEnumerableModule = __webpack_require__(10); +var createPropertyDescriptor = __webpack_require__(11); +var toIndexedObject = __webpack_require__(12); +var toPropertyKey = __webpack_require__(18); +var hasOwn = __webpack_require__(38); +var IE8_DOM_DEFINE = __webpack_require__(41); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + + +/***/ }), +/* 6 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +// Detect IE8's incomplete defineProperty implementation +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; +}); + + +/***/ }), +/* 7 */ +/***/ (function(module) { + + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + + +/***/ }), +/* 8 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var call = Function.prototype.call; + +module.exports = NATIVE_BIND ? call.bind(call) : function () { + return call.apply(call, arguments); +}; + + +/***/ }), +/* 9 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-function-prototype-bind -- safe + var test = (function () { /* empty */ }).bind(); + // eslint-disable-next-line no-prototype-builtins -- safe + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + + +/***/ }), +/* 10 */ +/***/ (function(__unused_webpack_module, exports) { + + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); + +// `Object.prototype.propertyIsEnumerable` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + + +/***/ }), +/* 11 */ +/***/ (function(module) { + + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + + +/***/ }), +/* 12 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = __webpack_require__(13); +var requireObjectCoercible = __webpack_require__(16); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + + +/***/ }), +/* 13 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var classof = __webpack_require__(15); + +var $Object = Object; +var split = uncurryThis(''.split); + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +module.exports = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !$Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) === 'String' ? split(it, '') : $Object(it); +} : $Object; + + +/***/ }), +/* 14 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var FunctionPrototype = Function.prototype; +var call = FunctionPrototype.call; +var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); + +module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { + return function () { + return call.apply(fn, arguments); + }; +}; + + +/***/ }), +/* 15 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var toString = uncurryThis({}.toString); +var stringSlice = uncurryThis(''.slice); + +module.exports = function (it) { + return stringSlice(toString(it), 8, -1); +}; + + +/***/ }), +/* 16 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isNullOrUndefined = __webpack_require__(17); + +var $TypeError = TypeError; + +// `RequireObjectCoercible` abstract operation +// https://tc39.es/ecma262/#sec-requireobjectcoercible +module.exports = function (it) { + if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it); + return it; +}; + + +/***/ }), +/* 17 */ +/***/ (function(module) { + + +// we can't use just `it == null` since of `document.all` special case +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec +module.exports = function (it) { + return it === null || it === undefined; +}; + + +/***/ }), +/* 18 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPrimitive = __webpack_require__(19); +var isSymbol = __webpack_require__(22); + +// `ToPropertyKey` abstract operation +// https://tc39.es/ecma262/#sec-topropertykey +module.exports = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : key + ''; +}; + + +/***/ }), +/* 19 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var getMethod = __webpack_require__(29); +var ordinaryToPrimitive = __webpack_require__(32); +var wellKnownSymbol = __webpack_require__(33); + +var $TypeError = TypeError; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + +// `ToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-toprimitive +module.exports = function (input, pref) { + if (!isObject(input) || isSymbol(input)) return input; + var exoticToPrim = getMethod(input, TO_PRIMITIVE); + var result; + if (exoticToPrim) { + if (pref === undefined) pref = 'default'; + result = call(exoticToPrim, input, pref); + if (!isObject(result) || isSymbol(result)) return result; + throw new $TypeError("Can't convert object to primitive value"); + } + if (pref === undefined) pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + + +/***/ }), +/* 20 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); + +module.exports = function (it) { + return typeof it == 'object' ? it !== null : isCallable(it); +}; + + +/***/ }), +/* 21 */ +/***/ (function(module) { + + +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot +var documentAll = typeof document == 'object' && document.all; + +// `IsCallable` abstract operation +// https://tc39.es/ecma262/#sec-iscallable +// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing +module.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) { + return typeof argument == 'function' || argument === documentAll; +} : function (argument) { + return typeof argument == 'function'; +}; + + +/***/ }), +/* 22 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var isPrototypeOf = __webpack_require__(24); +var USE_SYMBOL_AS_UID = __webpack_require__(25); + +var $Object = Object; + +module.exports = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + var $Symbol = getBuiltIn('Symbol'); + return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it)); +}; + + +/***/ }), +/* 23 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); + +var aFunction = function (argument) { + return isCallable(argument) ? argument : undefined; +}; + +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method]; +}; + + +/***/ }), +/* 24 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +module.exports = uncurryThis({}.isPrototypeOf); + + +/***/ }), +/* 25 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-symbol -- required for testing */ +var NATIVE_SYMBOL = __webpack_require__(26); + +module.exports = NATIVE_SYMBOL && + !Symbol.sham && + typeof Symbol.iterator == 'symbol'; + + +/***/ }), +/* 26 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-symbol -- required for testing */ +var V8_VERSION = __webpack_require__(27); +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +var $String = globalThis.String; + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol('symbol detection'); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + + +/***/ }), +/* 27 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var userAgent = __webpack_require__(28); + +var process = globalThis.process; +var Deno = globalThis.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + // in old Chrome, versions of V8 isn't V8 = Chrome / 10 + // but their correct versions are not interesting for us + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} + +// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` +// so check `userAgent` even if `.v8` exists, but 0 +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) version = +match[1]; + } +} + +module.exports = version; + + +/***/ }), +/* 28 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +var navigator = globalThis.navigator; +var userAgent = navigator && navigator.userAgent; + +module.exports = userAgent ? String(userAgent) : ''; + + +/***/ }), +/* 29 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var isNullOrUndefined = __webpack_require__(17); + +// `GetMethod` abstract operation +// https://tc39.es/ecma262/#sec-getmethod +module.exports = function (V, P) { + var func = V[P]; + return isNullOrUndefined(func) ? undefined : aCallable(func); +}; + + +/***/ }), +/* 30 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +// `Assert: IsCallable(argument) is true` +module.exports = function (argument) { + if (isCallable(argument)) return argument; + throw new $TypeError(tryToString(argument) + ' is not a function'); +}; + + +/***/ }), +/* 31 */ +/***/ (function(module) { + + +var $String = String; + +module.exports = function (argument) { + try { + return $String(argument); + } catch (error) { + return 'Object'; + } +}; + + +/***/ }), +/* 32 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); + +var $TypeError = TypeError; + +// `OrdinaryToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-ordinarytoprimitive +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + throw new $TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), +/* 33 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var shared = __webpack_require__(34); +var hasOwn = __webpack_require__(38); +var uid = __webpack_require__(40); +var NATIVE_SYMBOL = __webpack_require__(26); +var USE_SYMBOL_AS_UID = __webpack_require__(25); + +var Symbol = globalThis.Symbol; +var WellKnownSymbolsStore = shared('wks'); +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid; + +module.exports = function (name) { + if (!hasOwn(WellKnownSymbolsStore, name)) { + WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) + ? Symbol[name] + : createWellKnownSymbol('Symbol.' + name); + } return WellKnownSymbolsStore[name]; +}; + + +/***/ }), +/* 34 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var store = __webpack_require__(35); + +module.exports = function (key, value) { + return store[key] || (store[key] = value || {}); +}; + + +/***/ }), +/* 35 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var IS_PURE = __webpack_require__(36); +var globalThis = __webpack_require__(4); +var defineGlobalProperty = __webpack_require__(37); + +var SHARED = '__core-js_shared__'; +var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {}); + +(store.versions || (store.versions = [])).push({ + version: '3.39.0', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)', + license: 'https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE', + source: 'https://github.com/zloirock/core-js' +}); + + +/***/ }), +/* 36 */ +/***/ (function(module) { + + +module.exports = false; + + +/***/ }), +/* 37 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; + +module.exports = function (key, value) { + try { + defineProperty(globalThis, key, { value: value, configurable: true, writable: true }); + } catch (error) { + globalThis[key] = value; + } return value; +}; + + +/***/ }), +/* 38 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toObject = __webpack_require__(39); + +var hasOwnProperty = uncurryThis({}.hasOwnProperty); + +// `HasOwnProperty` abstract operation +// https://tc39.es/ecma262/#sec-hasownproperty +// eslint-disable-next-line es/no-object-hasown -- safe +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + + +/***/ }), +/* 39 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var requireObjectCoercible = __webpack_require__(16); + +var $Object = Object; + +// `ToObject` abstract operation +// https://tc39.es/ecma262/#sec-toobject +module.exports = function (argument) { + return $Object(requireObjectCoercible(argument)); +}; + + +/***/ }), +/* 40 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var id = 0; +var postfix = Math.random(); +var toString = uncurryThis(1.0.toString); + +module.exports = function (key) { + return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); +}; + + +/***/ }), +/* 41 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var createElement = __webpack_require__(42); + +// Thanks to IE8 for its funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a !== 7; +}); + + +/***/ }), +/* 42 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isObject = __webpack_require__(20); + +var document = globalThis.document; +// typeof document.createElement is 'object' in old IE +var EXISTS = isObject(document) && isObject(document.createElement); + +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + + +/***/ }), +/* 43 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var definePropertyModule = __webpack_require__(44); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + + +/***/ }), +/* 44 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var IE8_DOM_DEFINE = __webpack_require__(41); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(45); +var anObject = __webpack_require__(46); +var toPropertyKey = __webpack_require__(18); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var $defineProperty = Object.defineProperty; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var ENUMERABLE = 'enumerable'; +var CONFIGURABLE = 'configurable'; +var WRITABLE = 'writable'; + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { + var current = $getOwnPropertyDescriptor(O, P); + if (current && current[WRITABLE]) { + O[P] = Attributes.value; + Attributes = { + configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], + enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], + writable: false + }; + } + } return $defineProperty(O, P, Attributes); +} : $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return $defineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + + +/***/ }), +/* 45 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); + +// V8 ~ Chrome 36- +// https://bugs.chromium.org/p/v8/issues/detail?id=3334 +module.exports = DESCRIPTORS && fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(function () { /* empty */ }, 'prototype', { + value: 42, + writable: false + }).prototype !== 42; +}); + + +/***/ }), +/* 46 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +var $String = String; +var $TypeError = TypeError; + +// `Assert: Type(argument) is Object` +module.exports = function (argument) { + if (isObject(argument)) return argument; + throw new $TypeError($String(argument) + ' is not an object'); +}; + + +/***/ }), +/* 47 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var definePropertyModule = __webpack_require__(44); +var makeBuiltIn = __webpack_require__(48); +var defineGlobalProperty = __webpack_require__(37); + +module.exports = function (O, key, value, options) { + if (!options) options = {}; + var simple = options.enumerable; + var name = options.name !== undefined ? options.name : key; + if (isCallable(value)) makeBuiltIn(value, name, options); + if (options.global) { + if (simple) O[key] = value; + else defineGlobalProperty(key, value); + } else { + try { + if (!options.unsafe) delete O[key]; + else if (O[key]) simple = true; + } catch (error) { /* empty */ } + if (simple) O[key] = value; + else definePropertyModule.f(O, key, { + value: value, + enumerable: false, + configurable: !options.nonConfigurable, + writable: !options.nonWritable + }); + } return O; +}; + + +/***/ }), +/* 48 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var DESCRIPTORS = __webpack_require__(6); +var CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(49).CONFIGURABLE); +var inspectSource = __webpack_require__(50); +var InternalStateModule = __webpack_require__(51); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var $String = String; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; +var stringSlice = uncurryThis(''.slice); +var replace = uncurryThis(''.replace); +var join = uncurryThis([].join); + +var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () { + return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; +}); + +var TEMPLATE = String(String).split('String'); + +var makeBuiltIn = module.exports = function (value, name, options) { + if (stringSlice($String(name), 0, 7) === 'Symbol(') { + name = '[' + replace($String(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']'; + } + if (options && options.getter) name = 'get ' + name; + if (options && options.setter) name = 'set ' + name; + if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { + if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true }); + else value.name = name; + } + if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { + defineProperty(value, 'length', { value: options.arity }); + } + try { + if (options && hasOwn(options, 'constructor') && options.constructor) { + if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false }); + // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable + } else if (value.prototype) value.prototype = undefined; + } catch (error) { /* empty */ } + var state = enforceInternalState(value); + if (!hasOwn(state, 'source')) { + state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); + } return value; +}; + +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +// eslint-disable-next-line no-extend-native -- required +Function.prototype.toString = makeBuiltIn(function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}, 'toString'); + + +/***/ }), +/* 49 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var hasOwn = __webpack_require__(38); + +var FunctionPrototype = Function.prototype; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; + +var EXISTS = hasOwn(FunctionPrototype, 'name'); +// additional protection from minified / mangled / dropped function names +var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; +var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable)); + +module.exports = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE +}; + + +/***/ }), +/* 50 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var isCallable = __webpack_require__(21); +var store = __webpack_require__(35); + +var functionToString = uncurryThis(Function.toString); + +// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper +if (!isCallable(store.inspectSource)) { + store.inspectSource = function (it) { + return functionToString(it); + }; +} + +module.exports = store.inspectSource; + + +/***/ }), +/* 51 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_WEAK_MAP = __webpack_require__(52); +var globalThis = __webpack_require__(4); +var isObject = __webpack_require__(20); +var createNonEnumerableProperty = __webpack_require__(43); +var hasOwn = __webpack_require__(38); +var shared = __webpack_require__(35); +var sharedKey = __webpack_require__(53); +var hiddenKeys = __webpack_require__(54); + +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var TypeError = globalThis.TypeError; +var WeakMap = globalThis.WeakMap; +var set, get, has; + +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; + +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw new TypeError('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; +}; + +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + /* eslint-disable no-self-assign -- prototype methods protection */ + store.get = store.get; + store.has = store.has; + store.set = store.set; + /* eslint-enable no-self-assign -- prototype methods protection */ + set = function (it, metadata) { + if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + store.set(it, metadata); + return metadata; + }; + get = function (it) { + return store.get(it) || {}; + }; + has = function (it) { + return store.has(it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return hasOwn(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return hasOwn(it, STATE); + }; +} + +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + + +/***/ }), +/* 52 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); + +var WeakMap = globalThis.WeakMap; + +module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap)); + + +/***/ }), +/* 53 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var shared = __webpack_require__(34); +var uid = __webpack_require__(40); + +var keys = shared('keys'); + +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + + +/***/ }), +/* 54 */ +/***/ (function(module) { + + +module.exports = {}; + + +/***/ }), +/* 55 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var ownKeys = __webpack_require__(56); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var definePropertyModule = __webpack_require__(44); + +module.exports = function (target, source, exceptions) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + + +/***/ }), +/* 56 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var anObject = __webpack_require__(46); + +var concat = uncurryThis([].concat); + +// all object keys, includes non-enumerable and symbols +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; +}; + + +/***/ }), +/* 57 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var internalObjectKeys = __webpack_require__(58); +var enumBugKeys = __webpack_require__(65); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + + +/***/ }), +/* 58 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var hasOwn = __webpack_require__(38); +var toIndexedObject = __webpack_require__(12); +var indexOf = (__webpack_require__(59).indexOf); +var hiddenKeys = __webpack_require__(54); + +var push = uncurryThis([].push); + +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); + // Don't enum bug & hidden keys + while (names.length > i) if (hasOwn(O, key = names[i++])) { + ~indexOf(result, key) || push(result, key); + } + return result; +}; + + +/***/ }), +/* 59 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIndexedObject = __webpack_require__(12); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + if (length === 0) return !IS_INCLUDES && -1; + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el !== el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value !== value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +module.exports = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + + +/***/ }), +/* 60 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + + +/***/ }), +/* 61 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var trunc = __webpack_require__(62); + +// `ToIntegerOrInfinity` abstract operation +// https://tc39.es/ecma262/#sec-tointegerorinfinity +module.exports = function (argument) { + var number = +argument; + // eslint-disable-next-line no-self-compare -- NaN check + return number !== number || number === 0 ? 0 : trunc(number); +}; + + +/***/ }), +/* 62 */ +/***/ (function(module) { + + +var ceil = Math.ceil; +var floor = Math.floor; + +// `Math.trunc` method +// https://tc39.es/ecma262/#sec-math.trunc +// eslint-disable-next-line es/no-math-trunc -- safe +module.exports = Math.trunc || function trunc(x) { + var n = +x; + return (n > 0 ? floor : ceil)(n); +}; + + +/***/ }), +/* 63 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toLength = __webpack_require__(64); + +// `LengthOfArrayLike` abstract operation +// https://tc39.es/ecma262/#sec-lengthofarraylike +module.exports = function (obj) { + return toLength(obj.length); +}; + + +/***/ }), +/* 64 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +module.exports = function (argument) { + var len = toIntegerOrInfinity(argument); + return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + + +/***/ }), +/* 65 */ +/***/ (function(module) { + + +// IE8- don't enum bug keys +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + + +/***/ }), +/* 66 */ +/***/ (function(__unused_webpack_module, exports) { + + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe +exports.f = Object.getOwnPropertySymbols; + + +/***/ }), +/* 67 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); + +var replacement = /#|\.prototype\./; + +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value === POLYFILL ? true + : value === NATIVE ? false + : isCallable(detection) ? fails(detection) + : !!detection; +}; + +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; + +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; + +module.exports = isForced; + + +/***/ }), +/* 68 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); + +var $String = String; + +module.exports = function (argument) { + if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); + return $String(argument); +}; + + +/***/ }), +/* 69 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var isCallable = __webpack_require__(21); +var classofRaw = __webpack_require__(15); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Object = Object; + +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } +}; + +// getting tag from ES6+ `Object.prototype.toString` +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result; +}; + + +/***/ }), +/* 70 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG] = 'z'; + +module.exports = String(test) === '[object z]'; + + +/***/ }), +/* 71 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* global ActiveXObject -- old IE, WSH */ +var anObject = __webpack_require__(46); +var definePropertiesModule = __webpack_require__(72); +var enumBugKeys = __webpack_require__(65); +var hiddenKeys = __webpack_require__(54); +var html = __webpack_require__(74); +var documentCreateElement = __webpack_require__(42); +var sharedKey = __webpack_require__(53); + +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); + +var EmptyConstructor = function () { /* empty */ }; + +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; + +// Create object with fake `null` prototype: use ActiveX Object with cleared prototype +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + // eslint-disable-next-line no-useless-assignment -- avoid memory leak + activeXDocument = null; + return temp; +}; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var NullProtoObjectViaIFrame = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + // https://github.com/zloirock/core-js/issues/475 + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; + +// Check for document.domain and active x support +// No need to use active x approach when document.domain is not set +// see https://github.com/es-shims/es5-shim/issues/150 +// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 +// avoid IE GC bug +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { /* ignore */ } + NullProtoObject = typeof document != 'undefined' + ? document.domain && activeXDocument + ? NullProtoObjectViaActiveX(activeXDocument) // old IE + : NullProtoObjectViaIFrame() + : NullProtoObjectViaActiveX(activeXDocument); // WSH + var length = enumBugKeys.length; + while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; + +hiddenKeys[IE_PROTO] = true; + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +// eslint-disable-next-line es/no-object-create -- safe +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = NullProtoObject(); + return Properties === undefined ? result : definePropertiesModule.f(result, Properties); +}; + + +/***/ }), +/* 72 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(45); +var definePropertyModule = __webpack_require__(44); +var anObject = __webpack_require__(46); +var toIndexedObject = __webpack_require__(12); +var objectKeys = __webpack_require__(73); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var props = toIndexedObject(Properties); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]); + return O; +}; + + +/***/ }), +/* 73 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var internalObjectKeys = __webpack_require__(58); +var enumBugKeys = __webpack_require__(65); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +// eslint-disable-next-line es/no-object-keys -- safe +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + + +/***/ }), +/* 74 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); + +module.exports = getBuiltIn('document', 'documentElement'); + + +/***/ }), +/* 75 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-object-getownpropertynames -- safe */ +var classof = __webpack_require__(15); +var toIndexedObject = __webpack_require__(12); +var $getOwnPropertyNames = (__webpack_require__(57).f); +var arraySlice = __webpack_require__(76); + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return $getOwnPropertyNames(it); + } catch (error) { + return arraySlice(windowNames); + } +}; + +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && classof(it) === 'Window' + ? getWindowNames(it) + : $getOwnPropertyNames(toIndexedObject(it)); +}; + + +/***/ }), +/* 76 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +module.exports = uncurryThis([].slice); + + +/***/ }), +/* 77 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var makeBuiltIn = __webpack_require__(48); +var defineProperty = __webpack_require__(44); + +module.exports = function (target, name, descriptor) { + if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true }); + if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true }); + return defineProperty.f(target, name, descriptor); +}; + + +/***/ }), +/* 78 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +exports.f = wellKnownSymbol; + + +/***/ }), +/* 79 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var path = __webpack_require__(80); +var hasOwn = __webpack_require__(38); +var wrappedWellKnownSymbolModule = __webpack_require__(78); +var defineProperty = (__webpack_require__(44).f); + +module.exports = function (NAME) { + var Symbol = path.Symbol || (path.Symbol = {}); + if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, { + value: wrappedWellKnownSymbolModule.f(NAME) + }); +}; + + +/***/ }), +/* 80 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = globalThis; + + +/***/ }), +/* 81 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var getBuiltIn = __webpack_require__(23); +var wellKnownSymbol = __webpack_require__(33); +var defineBuiltIn = __webpack_require__(47); + +module.exports = function () { + var Symbol = getBuiltIn('Symbol'); + var SymbolPrototype = Symbol && Symbol.prototype; + var valueOf = SymbolPrototype && SymbolPrototype.valueOf; + var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + + if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) { + // `Symbol.prototype[@@toPrimitive]` method + // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive + // eslint-disable-next-line no-unused-vars -- required for .length + defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) { + return call(valueOf, this); + }, { arity: 1 }); + } +}; + + +/***/ }), +/* 82 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineProperty = (__webpack_require__(44).f); +var hasOwn = __webpack_require__(38); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +module.exports = function (target, TAG, STATIC) { + if (target && !STATIC) target = target.prototype; + if (target && !hasOwn(target, TO_STRING_TAG)) { + defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG }); + } +}; + + +/***/ }), +/* 83 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var uncurryThis = __webpack_require__(14); +var IndexedObject = __webpack_require__(13); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var arraySpeciesCreate = __webpack_require__(86); + +var push = uncurryThis([].push); + +// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation +var createMethod = function (TYPE) { + var IS_MAP = TYPE === 1; + var IS_FILTER = TYPE === 2; + var IS_SOME = TYPE === 3; + var IS_EVERY = TYPE === 4; + var IS_FIND_INDEX = TYPE === 6; + var IS_FILTER_REJECT = TYPE === 7; + var NO_HOLES = TYPE === 5 || IS_FIND_INDEX; + return function ($this, callbackfn, that, specificCreate) { + var O = toObject($this); + var self = IndexedObject(O); + var length = lengthOfArrayLike(self); + var boundFunction = bind(callbackfn, that); + var index = 0; + var create = specificCreate || arraySpeciesCreate; + var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; + var value, result; + for (;length > index; index++) if (NO_HOLES || index in self) { + value = self[index]; + result = boundFunction(value, index, O); + if (TYPE) { + if (IS_MAP) target[index] = result; // map + else if (result) switch (TYPE) { + case 3: return true; // some + case 5: return value; // find + case 6: return index; // findIndex + case 2: push(target, value); // filter + } else switch (TYPE) { + case 4: return false; // every + case 7: push(target, value); // filterReject + } + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; + }; +}; + +module.exports = { + // `Array.prototype.forEach` method + // https://tc39.es/ecma262/#sec-array.prototype.foreach + forEach: createMethod(0), + // `Array.prototype.map` method + // https://tc39.es/ecma262/#sec-array.prototype.map + map: createMethod(1), + // `Array.prototype.filter` method + // https://tc39.es/ecma262/#sec-array.prototype.filter + filter: createMethod(2), + // `Array.prototype.some` method + // https://tc39.es/ecma262/#sec-array.prototype.some + some: createMethod(3), + // `Array.prototype.every` method + // https://tc39.es/ecma262/#sec-array.prototype.every + every: createMethod(4), + // `Array.prototype.find` method + // https://tc39.es/ecma262/#sec-array.prototype.find + find: createMethod(5), + // `Array.prototype.findIndex` method + // https://tc39.es/ecma262/#sec-array.prototype.findIndex + findIndex: createMethod(6), + // `Array.prototype.filterReject` method + // https://github.com/tc39/proposal-array-filtering + filterReject: createMethod(7) +}; + + +/***/ }), +/* 84 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(85); +var aCallable = __webpack_require__(30); +var NATIVE_BIND = __webpack_require__(9); + +var bind = uncurryThis(uncurryThis.bind); + +// optional / simple context binding +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), +/* 85 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classofRaw = __webpack_require__(15); +var uncurryThis = __webpack_require__(14); + +module.exports = function (fn) { + // Nashorn bug: + // https://github.com/zloirock/core-js/issues/1128 + // https://github.com/zloirock/core-js/issues/1130 + if (classofRaw(fn) === 'Function') return uncurryThis(fn); +}; + + +/***/ }), +/* 86 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arraySpeciesConstructor = __webpack_require__(87); + +// `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray, length) { + return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); +}; + + +/***/ }), +/* 87 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isArray = __webpack_require__(88); +var isConstructor = __webpack_require__(89); +var isObject = __webpack_require__(20); +var wellKnownSymbol = __webpack_require__(33); + +var SPECIES = wellKnownSymbol('species'); +var $Array = Array; + +// a part of `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray) { + var C; + if (isArray(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined; + else if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? $Array : C; +}; + + +/***/ }), +/* 88 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(15); + +// `IsArray` abstract operation +// https://tc39.es/ecma262/#sec-isarray +// eslint-disable-next-line es/no-array-isarray -- safe +module.exports = Array.isArray || function isArray(argument) { + return classof(argument) === 'Array'; +}; + + +/***/ }), +/* 89 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(69); +var getBuiltIn = __webpack_require__(23); +var inspectSource = __webpack_require__(50); + +var noop = function () { /* empty */ }; +var construct = getBuiltIn('Reflect', 'construct'); +var constructorRegExp = /^\s*(?:class|function)\b/; +var exec = uncurryThis(constructorRegExp.exec); +var INCORRECT_TO_STRING = !constructorRegExp.test(noop); + +var isConstructorModern = function isConstructor(argument) { + if (!isCallable(argument)) return false; + try { + construct(noop, [], argument); + return true; + } catch (error) { + return false; + } +}; + +var isConstructorLegacy = function isConstructor(argument) { + if (!isCallable(argument)) return false; + switch (classof(argument)) { + case 'AsyncFunction': + case 'GeneratorFunction': + case 'AsyncGeneratorFunction': return false; + } + try { + // we can't check .prototype since constructors produced by .bind haven't it + // `Function#toString` throws on some built-it function in some legacy engines + // (for example, `DOMQuad` and similar in FF41-) + return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); + } catch (error) { + return true; + } +}; + +isConstructorLegacy.sham = true; + +// `IsConstructor` abstract operation +// https://tc39.es/ecma262/#sec-isconstructor +module.exports = !construct || fails(function () { + var called; + return isConstructorModern(isConstructorModern.call) + || !isConstructorModern(Object) + || !isConstructorModern(function () { called = true; }) + || called; +}) ? isConstructorLegacy : isConstructorModern; + + +/***/ }), +/* 90 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var hasOwn = __webpack_require__(38); +var toString = __webpack_require__(68); +var shared = __webpack_require__(34); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__(91); + +var StringToSymbolRegistry = shared('string-to-symbol-registry'); +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.for` method +// https://tc39.es/ecma262/#sec-symbol.for +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + 'for': function (key) { + var string = toString(key); + if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; + var symbol = getBuiltIn('Symbol')(string); + StringToSymbolRegistry[string] = symbol; + SymbolToStringRegistry[symbol] = string; + return symbol; + } +}); + + +/***/ }), +/* 91 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_SYMBOL = __webpack_require__(26); + +/* eslint-disable es/no-symbol -- safe */ +module.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor; + + +/***/ }), +/* 92 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var hasOwn = __webpack_require__(38); +var isSymbol = __webpack_require__(22); +var tryToString = __webpack_require__(31); +var shared = __webpack_require__(34); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__(91); + +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.keyFor` method +// https://tc39.es/ecma262/#sec-symbol.keyfor +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol'); + if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; + } +}); + + +/***/ }), +/* 93 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var isSymbol = __webpack_require__(22); +var arraySlice = __webpack_require__(76); +var getReplacerFunction = __webpack_require__(95); +var NATIVE_SYMBOL = __webpack_require__(26); + +var $String = String; +var $stringify = getBuiltIn('JSON', 'stringify'); +var exec = uncurryThis(/./.exec); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var replace = uncurryThis(''.replace); +var numberToString = uncurryThis(1.0.toString); + +var tester = /[\uD800-\uDFFF]/g; +var low = /^[\uD800-\uDBFF]$/; +var hi = /^[\uDC00-\uDFFF]$/; + +var WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () { + var symbol = getBuiltIn('Symbol')('stringify detection'); + // MS Edge converts symbol values to JSON as {} + return $stringify([symbol]) !== '[null]' + // WebKit converts symbol values to JSON as null + || $stringify({ a: symbol }) !== '{}' + // V8 throws on boxed symbols + || $stringify(Object(symbol)) !== '{}'; +}); + +// https://github.com/tc39/proposal-well-formed-stringify +var ILL_FORMED_UNICODE = fails(function () { + return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"' + || $stringify('\uDEAD') !== '"\\udead"'; +}); + +var stringifyWithSymbolsFix = function (it, replacer) { + var args = arraySlice(arguments); + var $replacer = getReplacerFunction(replacer); + if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined + args[1] = function (key, value) { + // some old implementations (like WebKit) could pass numbers as keys + if (isCallable($replacer)) value = call($replacer, this, $String(key), value); + if (!isSymbol(value)) return value; + }; + return apply($stringify, null, args); +}; + +var fixIllFormed = function (match, offset, string) { + var prev = charAt(string, offset - 1); + var next = charAt(string, offset + 1); + if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) { + return '\\u' + numberToString(charCodeAt(match, 0), 16); + } return match; +}; + +if ($stringify) { + // `JSON.stringify` method + // https://tc39.es/ecma262/#sec-json.stringify + $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + stringify: function stringify(it, replacer, space) { + var args = arraySlice(arguments); + var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args); + return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result; + } + }); +} + + +/***/ }), +/* 94 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; + +// eslint-disable-next-line es/no-reflect -- safe +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); + + +/***/ }), +/* 95 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var isArray = __webpack_require__(88); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(15); +var toString = __webpack_require__(68); + +var push = uncurryThis([].push); + +module.exports = function (replacer) { + if (isCallable(replacer)) return replacer; + if (!isArray(replacer)) return; + var rawLength = replacer.length; + var keys = []; + for (var i = 0; i < rawLength; i++) { + var element = replacer[i]; + if (typeof element == 'string') push(keys, element); + else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element)); + } + var keysLength = keys.length; + var root = true; + return function (key, value) { + if (root) { + root = false; + return value; + } + if (isArray(this)) return value; + for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value; + }; +}; + + +/***/ }), +/* 96 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var NATIVE_SYMBOL = __webpack_require__(26); +var fails = __webpack_require__(7); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var toObject = __webpack_require__(39); + +// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives +// https://bugs.chromium.org/p/v8/issues/detail?id=3443 +var FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); }); + +// `Object.getOwnPropertySymbols` method +// https://tc39.es/ecma262/#sec-object.getownpropertysymbols +$({ target: 'Object', stat: true, forced: FORCED }, { + getOwnPropertySymbols: function getOwnPropertySymbols(it) { + var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : []; + } +}); + + +/***/ }), +/* 97 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +// `Symbol.prototype.description` getter +// https://tc39.es/ecma262/#sec-symbol.prototype.description + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var hasOwn = __webpack_require__(38); +var isCallable = __webpack_require__(21); +var isPrototypeOf = __webpack_require__(24); +var toString = __webpack_require__(68); +var defineBuiltInAccessor = __webpack_require__(77); +var copyConstructorProperties = __webpack_require__(55); + +var NativeSymbol = globalThis.Symbol; +var SymbolPrototype = NativeSymbol && NativeSymbol.prototype; + +if (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) || + // Safari 12 bug + NativeSymbol().description !== undefined +)) { + var EmptyStringDescriptionStore = {}; + // wrap Symbol constructor for correct work with undefined description + var SymbolWrapper = function Symbol() { + var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]); + var result = isPrototypeOf(SymbolPrototype, this) + // eslint-disable-next-line sonarjs/inconsistent-function-call -- ok + ? new NativeSymbol(description) + // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)' + : description === undefined ? NativeSymbol() : NativeSymbol(description); + if (description === '') EmptyStringDescriptionStore[result] = true; + return result; + }; + + copyConstructorProperties(SymbolWrapper, NativeSymbol); + SymbolWrapper.prototype = SymbolPrototype; + SymbolPrototype.constructor = SymbolWrapper; + + var NATIVE_SYMBOL = String(NativeSymbol('description detection')) === 'Symbol(description detection)'; + var thisSymbolValue = uncurryThis(SymbolPrototype.valueOf); + var symbolDescriptiveString = uncurryThis(SymbolPrototype.toString); + var regexp = /^Symbol\((.*)\)[^)]+$/; + var replace = uncurryThis(''.replace); + var stringSlice = uncurryThis(''.slice); + + defineBuiltInAccessor(SymbolPrototype, 'description', { + configurable: true, + get: function description() { + var symbol = thisSymbolValue(this); + if (hasOwn(EmptyStringDescriptionStore, symbol)) return ''; + var string = symbolDescriptiveString(symbol); + var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1'); + return desc === '' ? undefined : desc; + } + }); + + $({ global: true, constructor: true, forced: true }, { + Symbol: SymbolWrapper + }); +} + + +/***/ }), +/* 98 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.asyncIterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.asynciterator +defineWellKnownSymbol('asyncIterator'); + + +/***/ }), +/* 99 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.hasInstance` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.hasinstance +defineWellKnownSymbol('hasInstance'); + + +/***/ }), +/* 100 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.isConcatSpreadable` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable +defineWellKnownSymbol('isConcatSpreadable'); + + +/***/ }), +/* 101 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.iterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.iterator +defineWellKnownSymbol('iterator'); + + +/***/ }), +/* 102 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.match` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.match +defineWellKnownSymbol('match'); + + +/***/ }), +/* 103 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.matchAll` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.matchall +defineWellKnownSymbol('matchAll'); + + +/***/ }), +/* 104 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.replace` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.replace +defineWellKnownSymbol('replace'); + + +/***/ }), +/* 105 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.search` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.search +defineWellKnownSymbol('search'); + + +/***/ }), +/* 106 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.species` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.species +defineWellKnownSymbol('species'); + + +/***/ }), +/* 107 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.split` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.split +defineWellKnownSymbol('split'); + + +/***/ }), +/* 108 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); +var defineSymbolToPrimitive = __webpack_require__(81); + +// `Symbol.toPrimitive` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.toprimitive +defineWellKnownSymbol('toPrimitive'); + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +defineSymbolToPrimitive(); + + +/***/ }), +/* 109 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var defineWellKnownSymbol = __webpack_require__(79); +var setToStringTag = __webpack_require__(82); + +// `Symbol.toStringTag` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.tostringtag +defineWellKnownSymbol('toStringTag'); + +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag(getBuiltIn('Symbol'), 'Symbol'); + + +/***/ }), +/* 110 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.unscopables` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.unscopables +defineWellKnownSymbol('unscopables'); + + +/***/ }), +/* 111 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-unused-vars -- required for functions `.length` */ +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var wrapErrorConstructorWithCause = __webpack_require__(112); + +var WEB_ASSEMBLY = 'WebAssembly'; +var WebAssembly = globalThis[WEB_ASSEMBLY]; + +// eslint-disable-next-line es/no-error-cause -- feature detection +var FORCED = new Error('e', { cause: 7 }).cause !== 7; + +var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED); + $({ global: true, constructor: true, arity: 1, forced: FORCED }, O); +}; + +var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) { + if (WebAssembly && WebAssembly[ERROR_NAME]) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED); + $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O); + } +}; + +// https://tc39.es/ecma262/#sec-nativeerror +exportGlobalErrorCauseWrapper('Error', function (init) { + return function Error(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('EvalError', function (init) { + return function EvalError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('RangeError', function (init) { + return function RangeError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('ReferenceError', function (init) { + return function ReferenceError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('SyntaxError', function (init) { + return function SyntaxError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('TypeError', function (init) { + return function TypeError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('URIError', function (init) { + return function URIError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('CompileError', function (init) { + return function CompileError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('LinkError', function (init) { + return function LinkError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) { + return function RuntimeError(message) { return apply(init, this, arguments); }; +}); + + +/***/ }), +/* 112 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var hasOwn = __webpack_require__(38); +var createNonEnumerableProperty = __webpack_require__(43); +var isPrototypeOf = __webpack_require__(24); +var setPrototypeOf = __webpack_require__(113); +var copyConstructorProperties = __webpack_require__(55); +var proxyAccessor = __webpack_require__(117); +var inheritIfRequired = __webpack_require__(118); +var normalizeStringArgument = __webpack_require__(119); +var installErrorCause = __webpack_require__(120); +var installErrorStack = __webpack_require__(121); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) { + var STACK_TRACE_LIMIT = 'stackTraceLimit'; + var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1; + var path = FULL_NAME.split('.'); + var ERROR_NAME = path[path.length - 1]; + var OriginalError = getBuiltIn.apply(null, path); + + if (!OriginalError) return; + + var OriginalErrorPrototype = OriginalError.prototype; + + // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006 + if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause; + + if (!FORCED) return OriginalError; + + var BaseError = getBuiltIn('Error'); + + var WrappedError = wrapper(function (a, b) { + var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined); + var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError(); + if (message !== undefined) createNonEnumerableProperty(result, 'message', message); + installErrorStack(result, WrappedError, result.stack, 2); + if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError); + if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]); + return result; + }); + + WrappedError.prototype = OriginalErrorPrototype; + + if (ERROR_NAME !== 'Error') { + if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError); + else copyConstructorProperties(WrappedError, BaseError, { name: true }); + } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) { + proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT); + proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace'); + } + + copyConstructorProperties(WrappedError, OriginalError); + + if (!IS_PURE) try { + // Safari 13- bug: WebAssembly errors does not have a proper `.name` + if (OriginalErrorPrototype.name !== ERROR_NAME) { + createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME); + } + OriginalErrorPrototype.constructor = WrappedError; + } catch (error) { /* empty */ } + + return WrappedError; +}; + + +/***/ }), +/* 113 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-proto -- safe */ +var uncurryThisAccessor = __webpack_require__(114); +var isObject = __webpack_require__(20); +var requireObjectCoercible = __webpack_require__(16); +var aPossiblePrototype = __webpack_require__(115); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +// Works with __proto__ only. Old v8 can't work with null proto objects. +// eslint-disable-next-line es/no-object-setprototypeof -- safe +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set'); + setter(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { /* empty */ } + return function setPrototypeOf(O, proto) { + requireObjectCoercible(O); + aPossiblePrototype(proto); + if (!isObject(O)) return O; + if (CORRECT_SETTER) setter(O, proto); + else O.__proto__ = proto; + return O; + }; +}() : undefined); + + +/***/ }), +/* 114 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); + +module.exports = function (object, key, method) { + try { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method])); + } catch (error) { /* empty */ } +}; + + +/***/ }), +/* 115 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isPossiblePrototype = __webpack_require__(116); + +var $String = String; +var $TypeError = TypeError; + +module.exports = function (argument) { + if (isPossiblePrototype(argument)) return argument; + throw new $TypeError("Can't set " + $String(argument) + ' as a prototype'); +}; + + +/***/ }), +/* 116 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +module.exports = function (argument) { + return isObject(argument) || argument === null; +}; + + +/***/ }), +/* 117 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineProperty = (__webpack_require__(44).f); + +module.exports = function (Target, Source, key) { + key in Target || defineProperty(Target, key, { + configurable: true, + get: function () { return Source[key]; }, + set: function (it) { Source[key] = it; } + }); +}; + + +/***/ }), +/* 118 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var setPrototypeOf = __webpack_require__(113); + +// makes subclassing work correct for wrapped built-ins +module.exports = function ($this, dummy, Wrapper) { + var NewTarget, NewTargetPrototype; + if ( + // it can work only with native `setPrototypeOf` + setPrototypeOf && + // we haven't completely correct pre-ES6 way for getting `new.target`, so use this + isCallable(NewTarget = dummy.constructor) && + NewTarget !== Wrapper && + isObject(NewTargetPrototype = NewTarget.prototype) && + NewTargetPrototype !== Wrapper.prototype + ) setPrototypeOf($this, NewTargetPrototype); + return $this; +}; + + +/***/ }), +/* 119 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toString = __webpack_require__(68); + +module.exports = function (argument, $default) { + return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument); +}; + + +/***/ }), +/* 120 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); +var createNonEnumerableProperty = __webpack_require__(43); + +// `InstallErrorCause` abstract operation +// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause +module.exports = function (O, options) { + if (isObject(options) && 'cause' in options) { + createNonEnumerableProperty(O, 'cause', options.cause); + } +}; + + +/***/ }), +/* 121 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var createNonEnumerableProperty = __webpack_require__(43); +var clearErrorStack = __webpack_require__(122); +var ERROR_STACK_INSTALLABLE = __webpack_require__(123); + +// non-standard V8 +var captureStackTrace = Error.captureStackTrace; + +module.exports = function (error, C, stack, dropEntries) { + if (ERROR_STACK_INSTALLABLE) { + if (captureStackTrace) captureStackTrace(error, C); + else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries)); + } +}; + + +/***/ }), +/* 122 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var $Error = Error; +var replace = uncurryThis(''.replace); + +var TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd'); +// eslint-disable-next-line redos/no-vulnerable, sonarjs/slow-regex -- safe +var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; +var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); + +module.exports = function (stack, dropEntries) { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) { + while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); + } return stack; +}; + + +/***/ }), +/* 123 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = !fails(function () { + var error = new Error('a'); + if (!('stack' in error)) return true; + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); + return error.stack !== 7; +}); + + +/***/ }), +/* 124 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var errorToString = __webpack_require__(125); + +var ErrorPrototype = Error.prototype; + +// `Error.prototype.toString` method fix +// https://tc39.es/ecma262/#sec-error.prototype.tostring +if (ErrorPrototype.toString !== errorToString) { + defineBuiltIn(ErrorPrototype, 'toString', errorToString); +} + + +/***/ }), +/* 125 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var anObject = __webpack_require__(46); +var normalizeStringArgument = __webpack_require__(119); + +var nativeErrorToString = Error.prototype.toString; + +var INCORRECT_TO_STRING = fails(function () { + if (DESCRIPTORS) { + // Chrome 32- incorrectly call accessor + // eslint-disable-next-line es/no-object-create, es/no-object-defineproperty -- safe + var object = Object.create(Object.defineProperty({}, 'name', { get: function () { + return this === object; + } })); + if (nativeErrorToString.call(object) !== 'true') return true; + } + // FF10- does not properly handle non-strings + return nativeErrorToString.call({ message: 1, name: 2 }) !== '2: 1' + // IE8 does not properly handle defaults + || nativeErrorToString.call({}) !== 'Error'; +}); + +module.exports = INCORRECT_TO_STRING ? function toString() { + var O = anObject(this); + var name = normalizeStringArgument(O.name, 'Error'); + var message = normalizeStringArgument(O.message); + return !name ? message : !message ? name : name + ': ' + message; +} : nativeErrorToString; + + +/***/ }), +/* 126 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(127); + + +/***/ }), +/* 127 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isPrototypeOf = __webpack_require__(24); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var copyConstructorProperties = __webpack_require__(55); +var create = __webpack_require__(71); +var createNonEnumerableProperty = __webpack_require__(43); +var createPropertyDescriptor = __webpack_require__(11); +var installErrorCause = __webpack_require__(120); +var installErrorStack = __webpack_require__(121); +var iterate = __webpack_require__(130); +var normalizeStringArgument = __webpack_require__(119); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Error = Error; +var push = [].push; + +var $AggregateError = function AggregateError(errors, message /* , options */) { + var isInstance = isPrototypeOf(AggregateErrorPrototype, this); + var that; + if (setPrototypeOf) { + that = setPrototypeOf(new $Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype); + } else { + that = isInstance ? this : create(AggregateErrorPrototype); + createNonEnumerableProperty(that, TO_STRING_TAG, 'Error'); + } + if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message)); + installErrorStack(that, $AggregateError, that.stack, 1); + if (arguments.length > 2) installErrorCause(that, arguments[2]); + var errorsArray = []; + iterate(errors, push, { that: errorsArray }); + createNonEnumerableProperty(that, 'errors', errorsArray); + return that; +}; + +if (setPrototypeOf) setPrototypeOf($AggregateError, $Error); +else copyConstructorProperties($AggregateError, $Error, { name: true }); + +var AggregateErrorPrototype = $AggregateError.prototype = create($Error.prototype, { + constructor: createPropertyDescriptor(1, $AggregateError), + message: createPropertyDescriptor(1, ''), + name: createPropertyDescriptor(1, 'AggregateError') +}); + +// `AggregateError` constructor +// https://tc39.es/ecma262/#sec-aggregate-error-constructor +$({ global: true, constructor: true, arity: 2 }, { + AggregateError: $AggregateError +}); + + +/***/ }), +/* 128 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var isCallable = __webpack_require__(21); +var toObject = __webpack_require__(39); +var sharedKey = __webpack_require__(53); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +var IE_PROTO = sharedKey('IE_PROTO'); +var $Object = Object; +var ObjectPrototype = $Object.prototype; + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +// eslint-disable-next-line es/no-object-getprototypeof -- safe +module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) { + var object = toObject(O); + if (hasOwn(object, IE_PROTO)) return object[IE_PROTO]; + var constructor = object.constructor; + if (isCallable(constructor) && object instanceof constructor) { + return constructor.prototype; + } return object instanceof $Object ? ObjectPrototype : null; +}; + + +/***/ }), +/* 129 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + // eslint-disable-next-line es/no-object-getprototypeof -- required for testing + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + + +/***/ }), +/* 130 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var tryToString = __webpack_require__(31); +var isArrayIteratorMethod = __webpack_require__(131); +var lengthOfArrayLike = __webpack_require__(63); +var isPrototypeOf = __webpack_require__(24); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var iteratorClose = __webpack_require__(135); + +var $TypeError = TypeError; + +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; + +var ResultPrototype = Result.prototype; + +module.exports = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_RECORD = !!(options && options.IS_RECORD); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = bind(unboundFunction, that); + var iterator, iterFn, index, length, result, next, step; + + var stop = function (condition) { + if (iterator) iteratorClose(iterator, 'normal', condition); + return new Result(true, condition); + }; + + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } return INTERRUPTED ? fn(value, stop) : fn(value); + }; + + if (IS_RECORD) { + iterator = iterable.iterator; + } else if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable'); + // optimisation for array iterators + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { + result = callFn(iterable[index]); + if (result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); + } + iterator = getIterator(iterable, iterFn); + } + + next = IS_RECORD ? iterable.next : iterator.next; + while (!(step = call(next, iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } + if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); +}; + + +/***/ }), +/* 131 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); +var Iterators = __webpack_require__(132); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; + +// check on default Array iterator +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + + +/***/ }), +/* 132 */ +/***/ (function(module) { + + +module.exports = {}; + + +/***/ }), +/* 133 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var tryToString = __webpack_require__(31); +var getIteratorMethod = __webpack_require__(134); + +var $TypeError = TypeError; + +module.exports = function (argument, usingIterator) { + var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; + if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument)); + throw new $TypeError(tryToString(argument) + ' is not iterable'); +}; + + +/***/ }), +/* 134 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); +var getMethod = __webpack_require__(29); +var isNullOrUndefined = __webpack_require__(17); +var Iterators = __webpack_require__(132); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = function (it) { + if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR) + || getMethod(it, '@@iterator') + || Iterators[classof(it)]; +}; + + +/***/ }), +/* 135 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getMethod = __webpack_require__(29); + +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') throw value; + if (innerError) throw innerResult; + anObject(innerResult); + return value; +}; + + +/***/ }), +/* 136 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var fails = __webpack_require__(7); +var wrapErrorConstructorWithCause = __webpack_require__(112); + +var AGGREGATE_ERROR = 'AggregateError'; +var $AggregateError = getBuiltIn(AGGREGATE_ERROR); + +var FORCED = !fails(function () { + return $AggregateError([1]).errors[0] !== 1; +}) && fails(function () { + return $AggregateError([1], AGGREGATE_ERROR, { cause: 7 }).cause !== 7; +}); + +// https://tc39.es/ecma262/#sec-aggregate-error +$({ global: true, constructor: true, arity: 2, forced: FORCED }, { + AggregateError: wrapErrorConstructorWithCause(AGGREGATE_ERROR, function (init) { + // eslint-disable-next-line no-unused-vars -- required for functions `.length` + return function AggregateError(errors, message) { return apply(init, this, arguments); }; + }, FORCED, true) +}); + + +/***/ }), +/* 137 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.at` method +// https://tc39.es/ecma262/#sec-array.prototype.at +$({ target: 'Array', proto: true }, { + at: function at(index) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : O[k]; + } +}); + +addToUnscopables('at'); + + +/***/ }), +/* 138 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); +var create = __webpack_require__(71); +var defineProperty = (__webpack_require__(44).f); + +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; + +// Array.prototype[@@unscopables] +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +if (ArrayPrototype[UNSCOPABLES] === undefined) { + defineProperty(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: create(null) + }); +} + +// add a key to Array.prototype[@@unscopables] +module.exports = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; +}; + + +/***/ }), +/* 139 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isArray = __webpack_require__(88); +var isObject = __webpack_require__(20); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var doesNotExceedSafeInteger = __webpack_require__(140); +var createProperty = __webpack_require__(141); +var arraySpeciesCreate = __webpack_require__(86); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); +var wellKnownSymbol = __webpack_require__(33); +var V8_VERSION = __webpack_require__(27); + +var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); + +// We can't use this feature detection in V8 since it causes +// deoptimization and serious performance degradation +// https://github.com/zloirock/core-js/issues/679 +var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { + var array = []; + array[IS_CONCAT_SPREADABLE] = false; + return array.concat()[0] !== array; +}); + +var isConcatSpreadable = function (O) { + if (!isObject(O)) return false; + var spreadable = O[IS_CONCAT_SPREADABLE]; + return spreadable !== undefined ? !!spreadable : isArray(O); +}; + +var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat'); + +// `Array.prototype.concat` method +// https://tc39.es/ecma262/#sec-array.prototype.concat +// with adding support of @@isConcatSpreadable and @@species +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + concat: function concat(arg) { + var O = toObject(this); + var A = arraySpeciesCreate(O, 0); + var n = 0; + var i, k, length, len, E; + for (i = -1, length = arguments.length; i < length; i++) { + E = i === -1 ? O : arguments[i]; + if (isConcatSpreadable(E)) { + len = lengthOfArrayLike(E); + doesNotExceedSafeInteger(n + len); + for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); + } else { + doesNotExceedSafeInteger(n + 1); + createProperty(A, n++, E); + } + } + A.length = n; + return A; + } +}); + + +/***/ }), +/* 140 */ +/***/ (function(module) { + + +var $TypeError = TypeError; +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991 + +module.exports = function (it) { + if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded'); + return it; +}; + + +/***/ }), +/* 141 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var definePropertyModule = __webpack_require__(44); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = function (object, key, value) { + if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value)); + else object[key] = value; +}; + + +/***/ }), +/* 142 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var V8_VERSION = __webpack_require__(27); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (METHOD_NAME) { + // We can't use this feature detection in V8 since it causes + // deoptimization and serious performance degradation + // https://github.com/zloirock/core-js/issues/677 + return V8_VERSION >= 51 || !fails(function () { + var array = []; + var constructor = array.constructor = {}; + constructor[SPECIES] = function () { + return { foo: 1 }; + }; + return array[METHOD_NAME](Boolean).foo !== 1; + }); +}; + + +/***/ }), +/* 143 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var copyWithin = __webpack_require__(144); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.copyWithin` method +// https://tc39.es/ecma262/#sec-array.prototype.copywithin +$({ target: 'Array', proto: true }, { + copyWithin: copyWithin +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('copyWithin'); + + +/***/ }), +/* 144 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); +var deletePropertyOrThrow = __webpack_require__(145); + +var min = Math.min; + +// `Array.prototype.copyWithin` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.copywithin +// eslint-disable-next-line es/no-array-prototype-copywithin -- safe +module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var to = toAbsoluteIndex(target, len); + var from = toAbsoluteIndex(start, len); + var end = arguments.length > 2 ? arguments[2] : undefined; + var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var inc = 1; + if (from < to && to < from + count) { + inc = -1; + from += count - 1; + to += count - 1; + } + while (count-- > 0) { + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + to += inc; + from += inc; + } return O; +}; + + +/***/ }), +/* 145 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +module.exports = function (O, P) { + if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O)); +}; + + +/***/ }), +/* 146 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $every = (__webpack_require__(83).every); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('every'); + +// `Array.prototype.every` method +// https://tc39.es/ecma262/#sec-array.prototype.every +$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { + every: function every(callbackfn /* , thisArg */) { + return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 147 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call -- required for testing + method.call(null, argument || function () { return 1; }, 1); + }); +}; + + +/***/ }), +/* 148 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fill = __webpack_require__(149); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.fill` method +// https://tc39.es/ecma262/#sec-array.prototype.fill +$({ target: 'Array', proto: true }, { + fill: fill +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('fill'); + + +/***/ }), +/* 149 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.fill` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.fill +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = lengthOfArrayLike(O); + var argumentsLength = arguments.length; + var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); + var end = argumentsLength > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; + return O; +}; + + +/***/ }), +/* 150 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $filter = (__webpack_require__(83).filter); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); + +// `Array.prototype.filter` method +// https://tc39.es/ecma262/#sec-array.prototype.filter +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + filter: function filter(callbackfn /* , thisArg */) { + return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 151 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $find = (__webpack_require__(83).find); +var addToUnscopables = __webpack_require__(138); + +var FIND = 'find'; +var SKIPS_HOLES = true; + +// Shouldn't skip holes +// eslint-disable-next-line es/no-array-prototype-find -- testing +if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.find` method +// https://tc39.es/ecma262/#sec-array.prototype.find +$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { + find: function find(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND); + + +/***/ }), +/* 152 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findIndex = (__webpack_require__(83).findIndex); +var addToUnscopables = __webpack_require__(138); + +var FIND_INDEX = 'findIndex'; +var SKIPS_HOLES = true; + +// Shouldn't skip holes +// eslint-disable-next-line es/no-array-prototype-findindex -- testing +if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.findIndex` method +// https://tc39.es/ecma262/#sec-array.prototype.findindex +$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { + findIndex: function findIndex(callbackfn /* , that = undefined */) { + return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND_INDEX); + + +/***/ }), +/* 153 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findLast = (__webpack_require__(154).findLast); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.findLast` method +// https://tc39.es/ecma262/#sec-array.prototype.findlast +$({ target: 'Array', proto: true }, { + findLast: function findLast(callbackfn /* , that = undefined */) { + return $findLast(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +addToUnscopables('findLast'); + + +/***/ }), +/* 154 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var IndexedObject = __webpack_require__(13); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.{ findLast, findLastIndex }` methods implementation +var createMethod = function (TYPE) { + var IS_FIND_LAST_INDEX = TYPE === 1; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IndexedObject(O); + var index = lengthOfArrayLike(self); + var boundFunction = bind(callbackfn, that); + var value, result; + while (index-- > 0) { + value = self[index]; + result = boundFunction(value, index, O); + if (result) switch (TYPE) { + case 0: return value; // findLast + case 1: return index; // findLastIndex + } + } + return IS_FIND_LAST_INDEX ? -1 : undefined; + }; +}; + +module.exports = { + // `Array.prototype.findLast` method + // https://github.com/tc39/proposal-array-find-from-last + findLast: createMethod(0), + // `Array.prototype.findLastIndex` method + // https://github.com/tc39/proposal-array-find-from-last + findLastIndex: createMethod(1) +}; + + +/***/ }), +/* 155 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findLastIndex = (__webpack_require__(154).findLastIndex); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.findLastIndex` method +// https://tc39.es/ecma262/#sec-array.prototype.findlastindex +$({ target: 'Array', proto: true }, { + findLastIndex: function findLastIndex(callbackfn /* , that = undefined */) { + return $findLastIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +addToUnscopables('findLastIndex'); + + +/***/ }), +/* 156 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var flattenIntoArray = __webpack_require__(157); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); +var arraySpeciesCreate = __webpack_require__(86); + +// `Array.prototype.flat` method +// https://tc39.es/ecma262/#sec-array.prototype.flat +$({ target: 'Array', proto: true }, { + flat: function flat(/* depthArg = 1 */) { + var depthArg = arguments.length ? arguments[0] : undefined; + var O = toObject(this); + var sourceLen = lengthOfArrayLike(O); + var A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg)); + return A; + } +}); + + +/***/ }), +/* 157 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isArray = __webpack_require__(88); +var lengthOfArrayLike = __webpack_require__(63); +var doesNotExceedSafeInteger = __webpack_require__(140); +var bind = __webpack_require__(84); + +// `FlattenIntoArray` abstract operation +// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray +var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? bind(mapper, thisArg) : false; + var element, elementLen; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + if (depth > 0 && isArray(element)) { + elementLen = lengthOfArrayLike(element); + targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1; + } else { + doesNotExceedSafeInteger(targetIndex + 1); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; +}; + +module.exports = flattenIntoArray; + + +/***/ }), +/* 158 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var flattenIntoArray = __webpack_require__(157); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var arraySpeciesCreate = __webpack_require__(86); + +// `Array.prototype.flatMap` method +// https://tc39.es/ecma262/#sec-array.prototype.flatmap +$({ target: 'Array', proto: true }, { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var sourceLen = lengthOfArrayLike(O); + var A; + aCallable(callbackfn); + A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return A; + } +}); + + +/***/ }), +/* 159 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var forEach = __webpack_require__(160); + +// `Array.prototype.forEach` method +// https://tc39.es/ecma262/#sec-array.prototype.foreach +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +$({ target: 'Array', proto: true, forced: [].forEach !== forEach }, { + forEach: forEach +}); + + +/***/ }), +/* 160 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $forEach = (__webpack_require__(83).forEach); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('forEach'); + +// `Array.prototype.forEach` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.foreach +module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +} : [].forEach; + + +/***/ }), +/* 161 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var from = __webpack_require__(162); +var checkCorrectnessOfIteration = __webpack_require__(164); + +var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { + // eslint-disable-next-line es/no-array-from -- required for testing + Array.from(iterable); +}); + +// `Array.from` method +// https://tc39.es/ecma262/#sec-array.from +$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { + from: from +}); + + +/***/ }), +/* 162 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var toObject = __webpack_require__(39); +var callWithSafeIterationClosing = __webpack_require__(163); +var isArrayIteratorMethod = __webpack_require__(131); +var isConstructor = __webpack_require__(89); +var lengthOfArrayLike = __webpack_require__(63); +var createProperty = __webpack_require__(141); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); + +var $Array = Array; + +// `Array.from` method implementation +// https://tc39.es/ecma262/#sec-array.from +module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var IS_CONSTRUCTOR = isConstructor(this); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined); + var iteratorMethod = getIteratorMethod(O); + var index = 0; + var length, result, step, iterator, next, value; + // if the target is not iterable or it's an array with the default iterator - use a simple case + if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) { + result = IS_CONSTRUCTOR ? new this() : []; + iterator = getIterator(O, iteratorMethod); + next = iterator.next; + for (;!(step = call(next, iterator)).done; index++) { + value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; + createProperty(result, index, value); + } + } else { + length = lengthOfArrayLike(O); + result = IS_CONSTRUCTOR ? new this(length) : $Array(length); + for (;length > index; index++) { + value = mapping ? mapfn(O[index], index) : O[index]; + createProperty(result, index, value); + } + } + result.length = index; + return result; +}; + + +/***/ }), +/* 163 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var iteratorClose = __webpack_require__(135); + +// call something on iterator step with safe closing on error +module.exports = function (iterator, fn, value, ENTRIES) { + try { + return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } +}; + + +/***/ }), +/* 164 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var SAFE_CLOSING = false; + +try { + var called = 0; + var iteratorWithReturn = { + next: function () { + return { done: !!called++ }; + }, + 'return': function () { + SAFE_CLOSING = true; + } + }; + iteratorWithReturn[ITERATOR] = function () { + return this; + }; + // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing + Array.from(iteratorWithReturn, function () { throw 2; }); +} catch (error) { /* empty */ } + +module.exports = function (exec, SKIP_CLOSING) { + try { + if (!SKIP_CLOSING && !SAFE_CLOSING) return false; + } catch (error) { return false; } // workaround of old WebKit + `eval` bug + var ITERATION_SUPPORT = false; + try { + var object = {}; + object[ITERATOR] = function () { + return { + next: function () { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { /* empty */ } + return ITERATION_SUPPORT; +}; + + +/***/ }), +/* 165 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $includes = (__webpack_require__(59).includes); +var fails = __webpack_require__(7); +var addToUnscopables = __webpack_require__(138); + +// FF99+ bug +var BROKEN_ON_SPARSE = fails(function () { + // eslint-disable-next-line es/no-array-prototype-includes -- detection + return !Array(1).includes(); +}); + +// `Array.prototype.includes` method +// https://tc39.es/ecma262/#sec-array.prototype.includes +$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, { + includes: function includes(el /* , fromIndex = 0 */) { + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('includes'); + + +/***/ }), +/* 166 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-array-prototype-indexof -- required for testing */ +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var $indexOf = (__webpack_require__(59).indexOf); +var arrayMethodIsStrict = __webpack_require__(147); + +var nativeIndexOf = uncurryThis([].indexOf); + +var NEGATIVE_ZERO = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0; +var FORCED = NEGATIVE_ZERO || !arrayMethodIsStrict('indexOf'); + +// `Array.prototype.indexOf` method +// https://tc39.es/ecma262/#sec-array.prototype.indexof +$({ target: 'Array', proto: true, forced: FORCED }, { + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + var fromIndex = arguments.length > 1 ? arguments[1] : undefined; + return NEGATIVE_ZERO + // convert -0 to +0 + ? nativeIndexOf(this, searchElement, fromIndex) || 0 + : $indexOf(this, searchElement, fromIndex); + } +}); + + +/***/ }), +/* 167 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isArray = __webpack_require__(88); + +// `Array.isArray` method +// https://tc39.es/ecma262/#sec-array.isarray +$({ target: 'Array', stat: true }, { + isArray: isArray +}); + + +/***/ }), +/* 168 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIndexedObject = __webpack_require__(12); +var addToUnscopables = __webpack_require__(138); +var Iterators = __webpack_require__(132); +var InternalStateModule = __webpack_require__(51); +var defineProperty = (__webpack_require__(44).f); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); + +var ARRAY_ITERATOR = 'Array Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); + +// `Array.prototype.entries` method +// https://tc39.es/ecma262/#sec-array.prototype.entries +// `Array.prototype.keys` method +// https://tc39.es/ecma262/#sec-array.prototype.keys +// `Array.prototype.values` method +// https://tc39.es/ecma262/#sec-array.prototype.values +// `Array.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-array.prototype-@@iterator +// `CreateArrayIterator` internal method +// https://tc39.es/ecma262/#sec-createarrayiterator +module.exports = defineIterator(Array, 'Array', function (iterated, kind) { + setInternalState(this, { + type: ARRAY_ITERATOR, + target: toIndexedObject(iterated), // target + index: 0, // next index + kind: kind // kind + }); +// `%ArrayIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next +}, function () { + var state = getInternalState(this); + var target = state.target; + var index = state.index++; + if (!target || index >= target.length) { + state.target = null; + return createIterResultObject(undefined, true); + } + switch (state.kind) { + case 'keys': return createIterResultObject(index, false); + case 'values': return createIterResultObject(target[index], false); + } return createIterResultObject([index, target[index]], false); +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% +// https://tc39.es/ecma262/#sec-createunmappedargumentsobject +// https://tc39.es/ecma262/#sec-createmappedargumentsobject +var values = Iterators.Arguments = Iterators.Array; + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + +// V8 ~ Chrome 45- bug +if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try { + defineProperty(values, 'name', { value: 'values' }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 169 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var IS_PURE = __webpack_require__(36); +var FunctionName = __webpack_require__(49); +var isCallable = __webpack_require__(21); +var createIteratorConstructor = __webpack_require__(170); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var setToStringTag = __webpack_require__(82); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var wellKnownSymbol = __webpack_require__(33); +var Iterators = __webpack_require__(132); +var IteratorsCore = __webpack_require__(171); + +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +var IteratorPrototype = IteratorsCore.IteratorPrototype; +var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; +var ITERATOR = wellKnownSymbol('iterator'); +var KEYS = 'keys'; +var VALUES = 'values'; +var ENTRIES = 'entries'; + +var returnThis = function () { return this; }; + +module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + + var getIterationMethod = function (KIND) { + if (KIND === DEFAULT && defaultIterator) return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND]; + + switch (KIND) { + case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; + case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; + case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; + } + + return function () { return new IteratorConstructor(this); }; + }; + + var TO_STRING_TAG = NAME + ' Iterator'; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] + || IterablePrototype['@@iterator'] + || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + + // fix native + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { + defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + // Set @@toStringTag to native iterators + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; + } + } + + // fix Array.prototype.{ values, @@iterator }.name in V8 / FF + if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) { + if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(IterablePrototype, 'name', VALUES); + } else { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { return call(nativeIterator, this); }; + } + } + + // export additional methods + if (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + defineBuiltIn(IterablePrototype, KEY, methods[KEY]); + } + } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); + } + + // define iterator + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); + } + Iterators[NAME] = defaultIterator; + + return methods; +}; + + +/***/ }), +/* 170 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var setToStringTag = __webpack_require__(82); +var Iterators = __webpack_require__(132); + +var returnThis = function () { return this; }; + +module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { + var TO_STRING_TAG = NAME + ' Iterator'; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; +}; + + +/***/ }), +/* 171 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var create = __webpack_require__(71); +var getPrototypeOf = __webpack_require__(128); +var defineBuiltIn = __webpack_require__(47); +var wellKnownSymbol = __webpack_require__(33); +var IS_PURE = __webpack_require__(36); + +var ITERATOR = wellKnownSymbol('iterator'); +var BUGGY_SAFARI_ITERATORS = false; + +// `%IteratorPrototype%` object +// https://tc39.es/ecma262/#sec-%iteratorprototype%-object +var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; + +/* eslint-disable es/no-array-prototype-keys -- safe */ +if ([].keys) { + arrayIterator = [].keys(); + // Safari 8 has buggy iterators w/o `next` + if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } +} + +var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () { + var test = {}; + // FF44- legacy iterators case + return IteratorPrototype[ITERATOR].call(test) !== test; +}); + +if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; +else if (IS_PURE) IteratorPrototype = create(IteratorPrototype); + +// `%IteratorPrototype%[@@iterator]()` method +// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator +if (!isCallable(IteratorPrototype[ITERATOR])) { + defineBuiltIn(IteratorPrototype, ITERATOR, function () { + return this; + }); +} + +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + + +/***/ }), +/* 172 */ +/***/ (function(module) { + + +// `CreateIterResultObject` abstract operation +// https://tc39.es/ecma262/#sec-createiterresultobject +module.exports = function (value, done) { + return { value: value, done: done }; +}; + + +/***/ }), +/* 173 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var IndexedObject = __webpack_require__(13); +var toIndexedObject = __webpack_require__(12); +var arrayMethodIsStrict = __webpack_require__(147); + +var nativeJoin = uncurryThis([].join); + +var ES3_STRINGS = IndexedObject !== Object; +var FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ','); + +// `Array.prototype.join` method +// https://tc39.es/ecma262/#sec-array.prototype.join +$({ target: 'Array', proto: true, forced: FORCED }, { + join: function join(separator) { + return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator); + } +}); + + +/***/ }), +/* 174 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var lastIndexOf = __webpack_require__(175); + +// `Array.prototype.lastIndexOf` method +// https://tc39.es/ecma262/#sec-array.prototype.lastindexof +// eslint-disable-next-line es/no-array-prototype-lastindexof -- required for testing +$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, { + lastIndexOf: lastIndexOf +}); + + +/***/ }), +/* 175 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-array-prototype-lastindexof -- safe */ +var apply = __webpack_require__(94); +var toIndexedObject = __webpack_require__(12); +var toIntegerOrInfinity = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(63); +var arrayMethodIsStrict = __webpack_require__(147); + +var min = Math.min; +var $lastIndexOf = [].lastIndexOf; +var NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0; +var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf'); +var FORCED = NEGATIVE_ZERO || !STRICT_METHOD; + +// `Array.prototype.lastIndexOf` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.lastindexof +module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { + // convert -0 to +0 + if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0; + var O = toIndexedObject(this); + var length = lengthOfArrayLike(O); + if (length === 0) return -1; + var index = length - 1; + if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1])); + if (index < 0) index = length + index; + for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0; + return -1; +} : $lastIndexOf; + + +/***/ }), +/* 176 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $map = (__webpack_require__(83).map); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map'); + +// `Array.prototype.map` method +// https://tc39.es/ecma262/#sec-array.prototype.map +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 177 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isConstructor = __webpack_require__(89); +var createProperty = __webpack_require__(141); + +var $Array = Array; + +var ISNT_GENERIC = fails(function () { + function F() { /* empty */ } + // eslint-disable-next-line es/no-array-of -- safe + return !($Array.of.call(F) instanceof F); +}); + +// `Array.of` method +// https://tc39.es/ecma262/#sec-array.of +// WebKit Array.of isn't generic +$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, { + of: function of(/* ...args */) { + var index = 0; + var argumentsLength = arguments.length; + var result = new (isConstructor(this) ? this : $Array)(argumentsLength); + while (argumentsLength > index) createProperty(result, index, arguments[index++]); + result.length = argumentsLength; + return result; + } +}); + + +/***/ }), +/* 178 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var doesNotExceedSafeInteger = __webpack_require__(140); +var fails = __webpack_require__(7); + +var INCORRECT_TO_LENGTH = fails(function () { + return [].push.call({ length: 0x100000000 }, 1) !== 4294967297; +}); + +// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError +// https://bugs.chromium.org/p/v8/issues/detail?id=12681 +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).push(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength(); + +// `Array.prototype.push` method +// https://tc39.es/ecma262/#sec-array.prototype.push +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + push: function push(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + doesNotExceedSafeInteger(len + argCount); + for (var i = 0; i < argCount; i++) { + O[len] = arguments[i]; + len++; + } + setArrayLength(O, len); + return len; + } +}); + + +/***/ }), +/* 179 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var isArray = __webpack_require__(88); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Safari < 13 does not throw an error in this case +var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () { + // makes no sense without proper strict mode support + if (this !== undefined) return true; + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).length = 1; + } catch (error) { + return error instanceof TypeError; + } +}(); + +module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) { + if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) { + throw new $TypeError('Cannot set read only .length'); + } return O.length = length; +} : function (O, length) { + return O.length = length; +}; + + +/***/ }), +/* 180 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $reduce = (__webpack_require__(181).left); +var arrayMethodIsStrict = __webpack_require__(147); +var CHROME_VERSION = __webpack_require__(27); +var IS_NODE = __webpack_require__(182); + +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; +var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce'); + +// `Array.prototype.reduce` method +// https://tc39.es/ecma262/#sec-array.prototype.reduce +$({ target: 'Array', proto: true, forced: FORCED }, { + reduce: function reduce(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 181 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var IndexedObject = __webpack_require__(13); +var lengthOfArrayLike = __webpack_require__(63); + +var $TypeError = TypeError; + +var REDUCE_EMPTY = 'Reduce of empty array with no initial value'; + +// `Array.prototype.{ reduce, reduceRight }` methods implementation +var createMethod = function (IS_RIGHT) { + return function (that, callbackfn, argumentsLength, memo) { + var O = toObject(that); + var self = IndexedObject(O); + var length = lengthOfArrayLike(O); + aCallable(callbackfn); + if (length === 0 && argumentsLength < 2) throw new $TypeError(REDUCE_EMPTY); + var index = IS_RIGHT ? length - 1 : 0; + var i = IS_RIGHT ? -1 : 1; + if (argumentsLength < 2) while (true) { + if (index in self) { + memo = self[index]; + index += i; + break; + } + index += i; + if (IS_RIGHT ? index < 0 : length <= index) { + throw new $TypeError(REDUCE_EMPTY); + } + } + for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) { + memo = callbackfn(memo, self[index], index, O); + } + return memo; + }; +}; + +module.exports = { + // `Array.prototype.reduce` method + // https://tc39.es/ecma262/#sec-array.prototype.reduce + left: createMethod(false), + // `Array.prototype.reduceRight` method + // https://tc39.es/ecma262/#sec-array.prototype.reduceright + right: createMethod(true) +}; + + +/***/ }), +/* 182 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var ENVIRONMENT = __webpack_require__(183); + +module.exports = ENVIRONMENT === 'NODE'; + + +/***/ }), +/* 183 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* global Bun, Deno -- detection */ +var globalThis = __webpack_require__(4); +var userAgent = __webpack_require__(28); +var classof = __webpack_require__(15); + +var userAgentStartsWith = function (string) { + return userAgent.slice(0, string.length) === string; +}; + +module.exports = (function () { + if (userAgentStartsWith('Bun/')) return 'BUN'; + if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE'; + if (userAgentStartsWith('Deno/')) return 'DENO'; + if (userAgentStartsWith('Node.js/')) return 'NODE'; + if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN'; + if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO'; + if (classof(globalThis.process) === 'process') return 'NODE'; + if (globalThis.window && globalThis.document) return 'BROWSER'; + return 'REST'; +})(); + + +/***/ }), +/* 184 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $reduceRight = (__webpack_require__(181).right); +var arrayMethodIsStrict = __webpack_require__(147); +var CHROME_VERSION = __webpack_require__(27); +var IS_NODE = __webpack_require__(182); + +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; +var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduceRight'); + +// `Array.prototype.reduceRight` method +// https://tc39.es/ecma262/#sec-array.prototype.reduceright +$({ target: 'Array', proto: true, forced: FORCED }, { + reduceRight: function reduceRight(callbackfn /* , initialValue */) { + return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 185 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var isArray = __webpack_require__(88); + +var nativeReverse = uncurryThis([].reverse); +var test = [1, 2]; + +// `Array.prototype.reverse` method +// https://tc39.es/ecma262/#sec-array.prototype.reverse +// fix for Safari 12.0 bug +// https://bugs.webkit.org/show_bug.cgi?id=188794 +$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, { + reverse: function reverse() { + // eslint-disable-next-line no-self-assign -- dirty hack + if (isArray(this)) this.length = this.length; + return nativeReverse(this); + } +}); + + +/***/ }), +/* 186 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isArray = __webpack_require__(88); +var isConstructor = __webpack_require__(89); +var isObject = __webpack_require__(20); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); +var toIndexedObject = __webpack_require__(12); +var createProperty = __webpack_require__(141); +var wellKnownSymbol = __webpack_require__(33); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); +var nativeSlice = __webpack_require__(76); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); + +var SPECIES = wellKnownSymbol('species'); +var $Array = Array; +var max = Math.max; + +// `Array.prototype.slice` method +// https://tc39.es/ecma262/#sec-array.prototype.slice +// fallback for not array-like ES3 strings and DOM objects +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + slice: function slice(start, end) { + var O = toIndexedObject(this); + var length = lengthOfArrayLike(O); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible + var Constructor, result, n; + if (isArray(O)) { + Constructor = O.constructor; + // cross-realm fallback + if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) { + Constructor = undefined; + } else if (isObject(Constructor)) { + Constructor = Constructor[SPECIES]; + if (Constructor === null) Constructor = undefined; + } + if (Constructor === $Array || Constructor === undefined) { + return nativeSlice(O, k, fin); + } + } + result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0)); + for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); + result.length = n; + return result; + } +}); + + +/***/ }), +/* 187 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $some = (__webpack_require__(83).some); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('some'); + +// `Array.prototype.some` method +// https://tc39.es/ecma262/#sec-array.prototype.some +$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { + some: function some(callbackfn /* , thisArg */) { + return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 188 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var deletePropertyOrThrow = __webpack_require__(145); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); +var internalSort = __webpack_require__(189); +var arrayMethodIsStrict = __webpack_require__(147); +var FF = __webpack_require__(190); +var IE_OR_EDGE = __webpack_require__(191); +var V8 = __webpack_require__(27); +var WEBKIT = __webpack_require__(192); + +var test = []; +var nativeSort = uncurryThis(test.sort); +var push = uncurryThis(test.push); + +// IE8- +var FAILS_ON_UNDEFINED = fails(function () { + test.sort(undefined); +}); +// V8 bug +var FAILS_ON_NULL = fails(function () { + test.sort(null); +}); +// Old WebKit +var STRICT_METHOD = arrayMethodIsStrict('sort'); + +var STABLE_SORT = !fails(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 70; + if (FF && FF > 3) return; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 603; + + var result = ''; + var code, chr, value, index; + + // generate an array with more 512 elements (Chakra and old V8 fails only in this case) + for (code = 65; code < 76; code++) { + chr = String.fromCharCode(code); + + switch (code) { + case 66: case 69: case 70: case 72: value = 3; break; + case 68: case 71: value = 4; break; + default: value = 2; + } + + for (index = 0; index < 47; index++) { + test.push({ k: chr + index, v: value }); + } + } + + test.sort(function (a, b) { return b.v - a.v; }); + + for (index = 0; index < test.length; index++) { + chr = test[index].k.charAt(0); + if (result.charAt(result.length - 1) !== chr) result += chr; + } + + return result !== 'DGBEFHACIJK'; +}); + +var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT; + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (y === undefined) return -1; + if (x === undefined) return 1; + if (comparefn !== undefined) return +comparefn(x, y) || 0; + return toString(x) > toString(y) ? 1 : -1; + }; +}; + +// `Array.prototype.sort` method +// https://tc39.es/ecma262/#sec-array.prototype.sort +$({ target: 'Array', proto: true, forced: FORCED }, { + sort: function sort(comparefn) { + if (comparefn !== undefined) aCallable(comparefn); + + var array = toObject(this); + + if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn); + + var items = []; + var arrayLength = lengthOfArrayLike(array); + var itemsLength, index; + + for (index = 0; index < arrayLength; index++) { + if (index in array) push(items, array[index]); + } + + internalSort(items, getSortCompare(comparefn)); + + itemsLength = lengthOfArrayLike(items); + index = 0; + + while (index < itemsLength) array[index] = items[index++]; + while (index < arrayLength) deletePropertyOrThrow(array, index++); + + return array; + } +}); + + +/***/ }), +/* 189 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arraySlice = __webpack_require__(76); + +var floor = Math.floor; + +var sort = function (array, comparefn) { + var length = array.length; + + if (length < 8) { + // insertion sort + var i = 1; + var element, j; + + while (i < length) { + j = i; + element = array[i]; + while (j && comparefn(array[j - 1], element) > 0) { + array[j] = array[--j]; + } + if (j !== i++) array[j] = element; + } + } else { + // merge sort + var middle = floor(length / 2); + var left = sort(arraySlice(array, 0, middle), comparefn); + var right = sort(arraySlice(array, middle), comparefn); + var llength = left.length; + var rlength = right.length; + var lindex = 0; + var rindex = 0; + + while (lindex < llength || rindex < rlength) { + array[lindex + rindex] = (lindex < llength && rindex < rlength) + ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++] + : lindex < llength ? left[lindex++] : right[rindex++]; + } + } + + return array; +}; + +module.exports = sort; + + +/***/ }), +/* 190 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +var firefox = userAgent.match(/firefox\/(\d+)/i); + +module.exports = !!firefox && +firefox[1]; + + +/***/ }), +/* 191 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var UA = __webpack_require__(28); + +module.exports = /MSIE|Trident/.test(UA); + + +/***/ }), +/* 192 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +var webkit = userAgent.match(/AppleWebKit\/(\d+)\./); + +module.exports = !!webkit && +webkit[1]; + + +/***/ }), +/* 193 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var setSpecies = __webpack_require__(194); + +// `Array[@@species]` getter +// https://tc39.es/ecma262/#sec-get-array-@@species +setSpecies('Array'); + + +/***/ }), +/* 194 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var defineBuiltInAccessor = __webpack_require__(77); +var wellKnownSymbol = __webpack_require__(33); +var DESCRIPTORS = __webpack_require__(6); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (CONSTRUCTOR_NAME) { + var Constructor = getBuiltIn(CONSTRUCTOR_NAME); + + if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { + defineBuiltInAccessor(Constructor, SPECIES, { + configurable: true, + get: function () { return this; } + }); + } +}; + + +/***/ }), +/* 195 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var toIntegerOrInfinity = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var doesNotExceedSafeInteger = __webpack_require__(140); +var arraySpeciesCreate = __webpack_require__(86); +var createProperty = __webpack_require__(141); +var deletePropertyOrThrow = __webpack_require__(145); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice'); + +var max = Math.max; +var min = Math.min; + +// `Array.prototype.splice` method +// https://tc39.es/ecma262/#sec-array.prototype.splice +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + splice: function splice(start, deleteCount /* , ...items */) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.length; + var insertCount, actualDeleteCount, A, k, from, to; + if (argumentsLength === 0) { + insertCount = actualDeleteCount = 0; + } else if (argumentsLength === 1) { + insertCount = 0; + actualDeleteCount = len - actualStart; + } else { + insertCount = argumentsLength - 2; + actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + } + doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); + A = arraySpeciesCreate(O, actualDeleteCount); + for (k = 0; k < actualDeleteCount; k++) { + from = actualStart + k; + if (from in O) createProperty(A, k, O[from]); + } + A.length = actualDeleteCount; + if (insertCount < actualDeleteCount) { + for (k = actualStart; k < len - actualDeleteCount; k++) { + from = k + actualDeleteCount; + to = k + insertCount; + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + } + for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1); + } else if (insertCount > actualDeleteCount) { + for (k = len - actualDeleteCount; k > actualStart; k--) { + from = k + actualDeleteCount - 1; + to = k + insertCount - 1; + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + } + } + for (k = 0; k < insertCount; k++) { + O[k + actualStart] = arguments[k + 2]; + } + setArrayLength(O, len - actualDeleteCount + insertCount); + return A; + } +}); + + +/***/ }), +/* 196 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var arrayToReversed = __webpack_require__(197); +var toIndexedObject = __webpack_require__(12); +var addToUnscopables = __webpack_require__(138); + +var $Array = Array; + +// `Array.prototype.toReversed` method +// https://tc39.es/ecma262/#sec-array.prototype.toreversed +$({ target: 'Array', proto: true }, { + toReversed: function toReversed() { + return arrayToReversed(toIndexedObject(this), $Array); + } +}); + +addToUnscopables('toReversed'); + + +/***/ }), +/* 197 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); + +// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed +// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed +module.exports = function (O, C) { + var len = lengthOfArrayLike(O); + var A = new C(len); + var k = 0; + for (; k < len; k++) A[k] = O[len - k - 1]; + return A; +}; + + +/***/ }), +/* 198 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var toIndexedObject = __webpack_require__(12); +var arrayFromConstructorAndList = __webpack_require__(199); +var getBuiltInPrototypeMethod = __webpack_require__(200); +var addToUnscopables = __webpack_require__(138); + +var $Array = Array; +var sort = uncurryThis(getBuiltInPrototypeMethod('Array', 'sort')); + +// `Array.prototype.toSorted` method +// https://tc39.es/ecma262/#sec-array.prototype.tosorted +$({ target: 'Array', proto: true }, { + toSorted: function toSorted(compareFn) { + if (compareFn !== undefined) aCallable(compareFn); + var O = toIndexedObject(this); + var A = arrayFromConstructorAndList($Array, O); + return sort(A, compareFn); + } +}); + +addToUnscopables('toSorted'); + + +/***/ }), +/* 199 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); + +module.exports = function (Constructor, list, $length) { + var index = 0; + var length = arguments.length > 2 ? $length : lengthOfArrayLike(list); + var result = new Constructor(length); + while (length > index) result[index] = list[index++]; + return result; +}; + + +/***/ }), +/* 200 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = function (CONSTRUCTOR, METHOD) { + var Constructor = globalThis[CONSTRUCTOR]; + var Prototype = Constructor && Constructor.prototype; + return Prototype && Prototype[METHOD]; +}; + + +/***/ }), +/* 201 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var addToUnscopables = __webpack_require__(138); +var doesNotExceedSafeInteger = __webpack_require__(140); +var lengthOfArrayLike = __webpack_require__(63); +var toAbsoluteIndex = __webpack_require__(60); +var toIndexedObject = __webpack_require__(12); +var toIntegerOrInfinity = __webpack_require__(61); + +var $Array = Array; +var max = Math.max; +var min = Math.min; + +// `Array.prototype.toSpliced` method +// https://tc39.es/ecma262/#sec-array.prototype.tospliced +$({ target: 'Array', proto: true }, { + toSpliced: function toSpliced(start, deleteCount /* , ...items */) { + var O = toIndexedObject(this); + var len = lengthOfArrayLike(O); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.length; + var k = 0; + var insertCount, actualDeleteCount, newLen, A; + if (argumentsLength === 0) { + insertCount = actualDeleteCount = 0; + } else if (argumentsLength === 1) { + insertCount = 0; + actualDeleteCount = len - actualStart; + } else { + insertCount = argumentsLength - 2; + actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + } + newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); + A = $Array(newLen); + + for (; k < actualStart; k++) A[k] = O[k]; + for (; k < actualStart + insertCount; k++) A[k] = arguments[k - actualStart + 2]; + for (; k < newLen; k++) A[k] = O[k + actualDeleteCount - insertCount]; + + return A; + } +}); + +addToUnscopables('toSpliced'); + + +/***/ }), +/* 202 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = __webpack_require__(138); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('flat'); + + +/***/ }), +/* 203 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = __webpack_require__(138); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('flatMap'); + + +/***/ }), +/* 204 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var deletePropertyOrThrow = __webpack_require__(145); +var doesNotExceedSafeInteger = __webpack_require__(140); + +// IE8- +var INCORRECT_RESULT = [].unshift(0) !== 1; + +// V8 ~ Chrome < 71 and Safari <= 15.4, FF < 23 throws InternalError +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).unshift(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_RESULT || !properErrorOnNonWritableLength(); + +// `Array.prototype.unshift` method +// https://tc39.es/ecma262/#sec-array.prototype.unshift +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + unshift: function unshift(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + if (argCount) { + doesNotExceedSafeInteger(len + argCount); + var k = len; + while (k--) { + var to = k + argCount; + if (k in O) O[to] = O[k]; + else deletePropertyOrThrow(O, to); + } + for (var j = 0; j < argCount; j++) { + O[j] = arguments[j]; + } + } return setArrayLength(O, len + argCount); + } +}); + + +/***/ }), +/* 205 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var arrayWith = __webpack_require__(206); +var toIndexedObject = __webpack_require__(12); + +var $Array = Array; + +// `Array.prototype.with` method +// https://tc39.es/ecma262/#sec-array.prototype.with +$({ target: 'Array', proto: true }, { + 'with': function (index, value) { + return arrayWith(toIndexedObject(this), $Array, index, value); + } +}); + + +/***/ }), +/* 206 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); + +var $RangeError = RangeError; + +// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with +// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with +module.exports = function (O, C, index, value) { + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex; + if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index'); + var A = new C(len); + var k = 0; + for (; k < len; k++) A[k] = k === actualIndex ? value : O[k]; + return A; +}; + + +/***/ }), +/* 207 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var arrayBufferModule = __webpack_require__(208); +var setSpecies = __webpack_require__(194); + +var ARRAY_BUFFER = 'ArrayBuffer'; +var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER]; +var NativeArrayBuffer = globalThis[ARRAY_BUFFER]; + +// `ArrayBuffer` constructor +// https://tc39.es/ecma262/#sec-arraybuffer-constructor +$({ global: true, constructor: true, forced: NativeArrayBuffer !== ArrayBuffer }, { + ArrayBuffer: ArrayBuffer +}); + +setSpecies(ARRAY_BUFFER); + + +/***/ }), +/* 208 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var DESCRIPTORS = __webpack_require__(6); +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); +var FunctionName = __webpack_require__(49); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var fails = __webpack_require__(7); +var anInstance = __webpack_require__(211); +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); +var toIndex = __webpack_require__(212); +var fround = __webpack_require__(213); +var IEEE754 = __webpack_require__(216); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var arrayFill = __webpack_require__(149); +var arraySlice = __webpack_require__(76); +var inheritIfRequired = __webpack_require__(118); +var copyConstructorProperties = __webpack_require__(55); +var setToStringTag = __webpack_require__(82); +var InternalStateModule = __webpack_require__(51); + +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +var ARRAY_BUFFER = 'ArrayBuffer'; +var DATA_VIEW = 'DataView'; +var PROTOTYPE = 'prototype'; +var WRONG_LENGTH = 'Wrong length'; +var WRONG_INDEX = 'Wrong index'; +var getInternalArrayBufferState = InternalStateModule.getterFor(ARRAY_BUFFER); +var getInternalDataViewState = InternalStateModule.getterFor(DATA_VIEW); +var setInternalState = InternalStateModule.set; +var NativeArrayBuffer = globalThis[ARRAY_BUFFER]; +var $ArrayBuffer = NativeArrayBuffer; +var ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE]; +var $DataView = globalThis[DATA_VIEW]; +var DataViewPrototype = $DataView && $DataView[PROTOTYPE]; +var ObjectPrototype = Object.prototype; +var Array = globalThis.Array; +var RangeError = globalThis.RangeError; +var fill = uncurryThis(arrayFill); +var reverse = uncurryThis([].reverse); + +var packIEEE754 = IEEE754.pack; +var unpackIEEE754 = IEEE754.unpack; + +var packInt8 = function (number) { + return [number & 0xFF]; +}; + +var packInt16 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF]; +}; + +var packInt32 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF]; +}; + +var unpackInt32 = function (buffer) { + return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0]; +}; + +var packFloat32 = function (number) { + return packIEEE754(fround(number), 23, 4); +}; + +var packFloat64 = function (number) { + return packIEEE754(number, 52, 8); +}; + +var addGetter = function (Constructor, key, getInternalState) { + defineBuiltInAccessor(Constructor[PROTOTYPE], key, { + configurable: true, + get: function () { + return getInternalState(this)[key]; + } + }); +}; + +var get = function (view, count, index, isLittleEndian) { + var store = getInternalDataViewState(view); + var intIndex = toIndex(index); + var boolIsLittleEndian = !!isLittleEndian; + if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX); + var bytes = store.bytes; + var start = intIndex + store.byteOffset; + var pack = arraySlice(bytes, start, start + count); + return boolIsLittleEndian ? pack : reverse(pack); +}; + +var set = function (view, count, index, conversion, value, isLittleEndian) { + var store = getInternalDataViewState(view); + var intIndex = toIndex(index); + var pack = conversion(+value); + var boolIsLittleEndian = !!isLittleEndian; + if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX); + var bytes = store.bytes; + var start = intIndex + store.byteOffset; + for (var i = 0; i < count; i++) bytes[start + i] = pack[boolIsLittleEndian ? i : count - i - 1]; +}; + +if (!NATIVE_ARRAY_BUFFER) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, ArrayBufferPrototype); + var byteLength = toIndex(length); + setInternalState(this, { + type: ARRAY_BUFFER, + bytes: fill(Array(byteLength), 0), + byteLength: byteLength + }); + if (!DESCRIPTORS) { + this.byteLength = byteLength; + this.detached = false; + } + }; + + ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE]; + + $DataView = function DataView(buffer, byteOffset, byteLength) { + anInstance(this, DataViewPrototype); + anInstance(buffer, ArrayBufferPrototype); + var bufferState = getInternalArrayBufferState(buffer); + var bufferLength = bufferState.byteLength; + var offset = toIntegerOrInfinity(byteOffset); + if (offset < 0 || offset > bufferLength) throw new RangeError('Wrong offset'); + byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); + if (offset + byteLength > bufferLength) throw new RangeError(WRONG_LENGTH); + setInternalState(this, { + type: DATA_VIEW, + buffer: buffer, + byteLength: byteLength, + byteOffset: offset, + bytes: bufferState.bytes + }); + if (!DESCRIPTORS) { + this.buffer = buffer; + this.byteLength = byteLength; + this.byteOffset = offset; + } + }; + + DataViewPrototype = $DataView[PROTOTYPE]; + + if (DESCRIPTORS) { + addGetter($ArrayBuffer, 'byteLength', getInternalArrayBufferState); + addGetter($DataView, 'buffer', getInternalDataViewState); + addGetter($DataView, 'byteLength', getInternalDataViewState); + addGetter($DataView, 'byteOffset', getInternalDataViewState); + } + + defineBuiltIns(DataViewPrototype, { + getInt8: function getInt8(byteOffset) { + return get(this, 1, byteOffset)[0] << 24 >> 24; + }, + getUint8: function getUint8(byteOffset) { + return get(this, 1, byteOffset)[0]; + }, + getInt16: function getInt16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false); + return (bytes[1] << 8 | bytes[0]) << 16 >> 16; + }, + getUint16: function getUint16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false); + return bytes[1] << 8 | bytes[0]; + }, + getInt32: function getInt32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)); + }, + getUint32: function getUint32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)) >>> 0; + }, + getFloat32: function getFloat32(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false), 23); + }, + getFloat64: function getFloat64(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : false), 52); + }, + setInt8: function setInt8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setUint8: function setUint8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setInt16: function setInt16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false); + }, + setUint16: function setUint16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false); + }, + setInt32: function setInt32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false); + }, + setUint32: function setUint32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false); + }, + setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : false); + }, + setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { + set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : false); + } + }); +} else { + var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER; + /* eslint-disable no-new, sonarjs/inconsistent-function-call -- required for testing */ + if (!fails(function () { + NativeArrayBuffer(1); + }) || !fails(function () { + new NativeArrayBuffer(-1); + }) || fails(function () { + new NativeArrayBuffer(); + new NativeArrayBuffer(1.5); + new NativeArrayBuffer(NaN); + return NativeArrayBuffer.length !== 1 || INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME; + })) { + /* eslint-enable no-new, sonarjs/inconsistent-function-call -- required for testing */ + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, ArrayBufferPrototype); + return inheritIfRequired(new NativeArrayBuffer(toIndex(length)), this, $ArrayBuffer); + }; + + $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype; + + ArrayBufferPrototype.constructor = $ArrayBuffer; + + copyConstructorProperties($ArrayBuffer, NativeArrayBuffer); + } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER); + } + + // WebKit bug - the same parent prototype for typed arrays and data view + if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) { + setPrototypeOf(DataViewPrototype, ObjectPrototype); + } + + // iOS Safari 7.x bug + var testView = new $DataView(new $ArrayBuffer(2)); + var $setInt8 = uncurryThis(DataViewPrototype.setInt8); + testView.setInt8(0, 2147483648); + testView.setInt8(1, 2147483649); + if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, { + setInt8: function setInt8(byteOffset, value) { + $setInt8(this, byteOffset, value << 24 >> 24); + }, + setUint8: function setUint8(byteOffset, value) { + $setInt8(this, byteOffset, value << 24 >> 24); + } + }, { unsafe: true }); +} + +setToStringTag($ArrayBuffer, ARRAY_BUFFER); +setToStringTag($DataView, DATA_VIEW); + +module.exports = { + ArrayBuffer: $ArrayBuffer, + DataView: $DataView +}; + + +/***/ }), +/* 209 */ +/***/ (function(module) { + + +// eslint-disable-next-line es/no-typed-arrays -- safe +module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; + + +/***/ }), +/* 210 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); + +module.exports = function (target, src, options) { + for (var key in src) defineBuiltIn(target, key, src[key], options); + return target; +}; + + +/***/ }), +/* 211 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isPrototypeOf = __webpack_require__(24); + +var $TypeError = TypeError; + +module.exports = function (it, Prototype) { + if (isPrototypeOf(Prototype, it)) return it; + throw new $TypeError('Incorrect invocation'); +}; + + +/***/ }), +/* 212 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); + +var $RangeError = RangeError; + +// `ToIndex` abstract operation +// https://tc39.es/ecma262/#sec-toindex +module.exports = function (it) { + if (it === undefined) return 0; + var number = toIntegerOrInfinity(it); + var length = toLength(number); + if (number !== length) throw new $RangeError('Wrong length or index'); + return length; +}; + + +/***/ }), +/* 213 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var floatRound = __webpack_require__(214); + +var FLOAT32_EPSILON = 1.1920928955078125e-7; // 2 ** -23; +var FLOAT32_MAX_VALUE = 3.4028234663852886e+38; // 2 ** 128 - 2 ** 104 +var FLOAT32_MIN_VALUE = 1.1754943508222875e-38; // 2 ** -126; + +// `Math.fround` method implementation +// https://tc39.es/ecma262/#sec-math.fround +// eslint-disable-next-line es/no-math-fround -- safe +module.exports = Math.fround || function fround(x) { + return floatRound(x, FLOAT32_EPSILON, FLOAT32_MAX_VALUE, FLOAT32_MIN_VALUE); +}; + + +/***/ }), +/* 214 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var sign = __webpack_require__(215); + +var abs = Math.abs; + +var EPSILON = 2.220446049250313e-16; // Number.EPSILON +var INVERSE_EPSILON = 1 / EPSILON; + +var roundTiesToEven = function (n) { + return n + INVERSE_EPSILON - INVERSE_EPSILON; +}; + +module.exports = function (x, FLOAT_EPSILON, FLOAT_MAX_VALUE, FLOAT_MIN_VALUE) { + var n = +x; + var absolute = abs(n); + var s = sign(n); + if (absolute < FLOAT_MIN_VALUE) return s * roundTiesToEven(absolute / FLOAT_MIN_VALUE / FLOAT_EPSILON) * FLOAT_MIN_VALUE * FLOAT_EPSILON; + var a = (1 + FLOAT_EPSILON / EPSILON) * absolute; + var result = a - (a - absolute); + // eslint-disable-next-line no-self-compare -- NaN check + if (result > FLOAT_MAX_VALUE || result !== result) return s * Infinity; + return s * result; +}; + + +/***/ }), +/* 215 */ +/***/ (function(module) { + + +// `Math.sign` method implementation +// https://tc39.es/ecma262/#sec-math.sign +// eslint-disable-next-line es/no-math-sign -- safe +module.exports = Math.sign || function sign(x) { + var n = +x; + // eslint-disable-next-line no-self-compare -- NaN check + return n === 0 || n !== n ? n : n < 0 ? -1 : 1; +}; + + +/***/ }), +/* 216 */ +/***/ (function(module) { + + +// IEEE754 conversions based on https://github.com/feross/ieee754 +var $Array = Array; +var abs = Math.abs; +var pow = Math.pow; +var floor = Math.floor; +var log = Math.log; +var LN2 = Math.LN2; + +var pack = function (number, mantissaLength, bytes) { + var buffer = $Array(bytes); + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0; + var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0; + var index = 0; + var exponent, mantissa, c; + number = abs(number); + // eslint-disable-next-line no-self-compare -- NaN check + if (number !== number || number === Infinity) { + // eslint-disable-next-line no-self-compare -- NaN check + mantissa = number !== number ? 1 : 0; + exponent = eMax; + } else { + exponent = floor(log(number) / LN2); + c = pow(2, -exponent); + if (number * c < 1) { + exponent--; + c *= 2; + } + if (exponent + eBias >= 1) { + number += rt / c; + } else { + number += rt * pow(2, 1 - eBias); + } + if (number * c >= 2) { + exponent++; + c /= 2; + } + if (exponent + eBias >= eMax) { + mantissa = 0; + exponent = eMax; + } else if (exponent + eBias >= 1) { + mantissa = (number * c - 1) * pow(2, mantissaLength); + exponent += eBias; + } else { + mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength); + exponent = 0; + } + } + while (mantissaLength >= 8) { + buffer[index++] = mantissa & 255; + mantissa /= 256; + mantissaLength -= 8; + } + exponent = exponent << mantissaLength | mantissa; + exponentLength += mantissaLength; + while (exponentLength > 0) { + buffer[index++] = exponent & 255; + exponent /= 256; + exponentLength -= 8; + } + buffer[index - 1] |= sign * 128; + return buffer; +}; + +var unpack = function (buffer, mantissaLength) { + var bytes = buffer.length; + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var nBits = exponentLength - 7; + var index = bytes - 1; + var sign = buffer[index--]; + var exponent = sign & 127; + var mantissa; + sign >>= 7; + while (nBits > 0) { + exponent = exponent * 256 + buffer[index--]; + nBits -= 8; + } + mantissa = exponent & (1 << -nBits) - 1; + exponent >>= -nBits; + nBits += mantissaLength; + while (nBits > 0) { + mantissa = mantissa * 256 + buffer[index--]; + nBits -= 8; + } + if (exponent === 0) { + exponent = 1 - eBias; + } else if (exponent === eMax) { + return mantissa ? NaN : sign ? -Infinity : Infinity; + } else { + mantissa += pow(2, mantissaLength); + exponent -= eBias; + } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength); +}; + +module.exports = { + pack: pack, + unpack: unpack +}; + + +/***/ }), +/* 217 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ArrayBufferViewCore = __webpack_require__(218); + +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; + +// `ArrayBuffer.isView` method +// https://tc39.es/ecma262/#sec-arraybuffer.isview +$({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + isView: ArrayBufferViewCore.isView +}); + + +/***/ }), +/* 218 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var classof = __webpack_require__(69); +var tryToString = __webpack_require__(31); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var isPrototypeOf = __webpack_require__(24); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var wellKnownSymbol = __webpack_require__(33); +var uid = __webpack_require__(40); +var InternalStateModule = __webpack_require__(51); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var Int8Array = globalThis.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var Uint8ClampedArray = globalThis.Uint8ClampedArray; +var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; +var TypedArray = Int8Array && getPrototypeOf(Int8Array); +var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype); +var ObjectPrototype = Object.prototype; +var TypeError = globalThis.TypeError; + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); +var TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor'; +// Fixing native typed arrays in Opera Presto crashes the browser, see #595 +var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(globalThis.opera) !== 'Opera'; +var TYPED_ARRAY_TAG_REQUIRED = false; +var NAME, Constructor, Prototype; + +var TypedArrayConstructorsList = { + Int8Array: 1, + Uint8Array: 1, + Uint8ClampedArray: 1, + Int16Array: 2, + Uint16Array: 2, + Int32Array: 4, + Uint32Array: 4, + Float32Array: 4, + Float64Array: 8 +}; + +var BigIntArrayConstructorsList = { + BigInt64Array: 8, + BigUint64Array: 8 +}; + +var isView = function isView(it) { + if (!isObject(it)) return false; + var klass = classof(it); + return klass === 'DataView' + || hasOwn(TypedArrayConstructorsList, klass) + || hasOwn(BigIntArrayConstructorsList, klass); +}; + +var getTypedArrayConstructor = function (it) { + var proto = getPrototypeOf(it); + if (!isObject(proto)) return; + var state = getInternalState(proto); + return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto); +}; + +var isTypedArray = function (it) { + if (!isObject(it)) return false; + var klass = classof(it); + return hasOwn(TypedArrayConstructorsList, klass) + || hasOwn(BigIntArrayConstructorsList, klass); +}; + +var aTypedArray = function (it) { + if (isTypedArray(it)) return it; + throw new TypeError('Target is not a typed array'); +}; + +var aTypedArrayConstructor = function (C) { + if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C; + throw new TypeError(tryToString(C) + ' is not a typed array constructor'); +}; + +var exportTypedArrayMethod = function (KEY, property, forced, options) { + if (!DESCRIPTORS) return; + if (forced) for (var ARRAY in TypedArrayConstructorsList) { + var TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try { + delete TypedArrayConstructor.prototype[KEY]; + } catch (error) { + // old WebKit bug - some methods are non-configurable + try { + TypedArrayConstructor.prototype[KEY] = property; + } catch (error2) { /* empty */ } + } + } + if (!TypedArrayPrototype[KEY] || forced) { + defineBuiltIn(TypedArrayPrototype, KEY, forced ? property + : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options); + } +}; + +var exportTypedArrayStaticMethod = function (KEY, property, forced) { + var ARRAY, TypedArrayConstructor; + if (!DESCRIPTORS) return; + if (setPrototypeOf) { + if (forced) for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try { + delete TypedArrayConstructor[KEY]; + } catch (error) { /* empty */ } + } + if (!TypedArray[KEY] || forced) { + // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable + try { + return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property); + } catch (error) { /* empty */ } + } else return; + } + for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { + defineBuiltIn(TypedArrayConstructor, KEY, property); + } + } +}; + +for (NAME in TypedArrayConstructorsList) { + Constructor = globalThis[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; + else NATIVE_ARRAY_BUFFER_VIEWS = false; +} + +for (NAME in BigIntArrayConstructorsList) { + Constructor = globalThis[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; +} + +// WebKit bug - typed arrays constructors prototype is Object.prototype +if (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) { + // eslint-disable-next-line no-shadow -- safe + TypedArray = function TypedArray() { + throw new TypeError('Incorrect invocation'); + }; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (globalThis[NAME]) setPrototypeOf(globalThis[NAME], TypedArray); + } +} + +if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) { + TypedArrayPrototype = TypedArray.prototype; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (globalThis[NAME]) setPrototypeOf(globalThis[NAME].prototype, TypedArrayPrototype); + } +} + +// WebKit bug - one more object in Uint8ClampedArray prototype chain +if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { + setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); +} + +if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) { + TYPED_ARRAY_TAG_REQUIRED = true; + defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, { + configurable: true, + get: function () { + return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; + } + }); + for (NAME in TypedArrayConstructorsList) if (globalThis[NAME]) { + createNonEnumerableProperty(globalThis[NAME], TYPED_ARRAY_TAG, NAME); + } +} + +module.exports = { + NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, + TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG, + aTypedArray: aTypedArray, + aTypedArrayConstructor: aTypedArrayConstructor, + exportTypedArrayMethod: exportTypedArrayMethod, + exportTypedArrayStaticMethod: exportTypedArrayStaticMethod, + getTypedArrayConstructor: getTypedArrayConstructor, + isView: isView, + isTypedArray: isTypedArray, + TypedArray: TypedArray, + TypedArrayPrototype: TypedArrayPrototype +}; + + +/***/ }), +/* 219 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var fails = __webpack_require__(7); +var ArrayBufferModule = __webpack_require__(208); +var anObject = __webpack_require__(46); +var toAbsoluteIndex = __webpack_require__(60); +var toLength = __webpack_require__(64); + +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var DataView = ArrayBufferModule.DataView; +var DataViewPrototype = DataView.prototype; +var nativeArrayBufferSlice = uncurryThis(ArrayBuffer.prototype.slice); +var getUint8 = uncurryThis(DataViewPrototype.getUint8); +var setUint8 = uncurryThis(DataViewPrototype.setUint8); + +var INCORRECT_SLICE = fails(function () { + return !new ArrayBuffer(2).slice(1, undefined).byteLength; +}); + +// `ArrayBuffer.prototype.slice` method +// https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice +$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, { + slice: function slice(start, end) { + if (nativeArrayBufferSlice && end === undefined) { + return nativeArrayBufferSlice(anObject(this), start); // FF fix + } + var length = anObject(this).byteLength; + var first = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + var result = new ArrayBuffer(toLength(fin - first)); + var viewSource = new DataView(this); + var viewTarget = new DataView(result); + var index = 0; + while (first < fin) { + setUint8(viewTarget, index++, getUint8(viewSource, first++)); + } return result; + } +}); + + +/***/ }), +/* 220 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(221); + + +/***/ }), +/* 221 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ArrayBufferModule = __webpack_require__(208); +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); + +// `DataView` constructor +// https://tc39.es/ecma262/#sec-dataview-constructor +$({ global: true, constructor: true, forced: !NATIVE_ARRAY_BUFFER }, { + DataView: ArrayBufferModule.DataView +}); + + +/***/ }), +/* 222 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var isDetached = __webpack_require__(223); + +var ArrayBufferPrototype = ArrayBuffer.prototype; + +// `ArrayBuffer.prototype.detached` getter +// https://tc39.es/ecma262/#sec-get-arraybuffer.prototype.detached +if (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) { + defineBuiltInAccessor(ArrayBufferPrototype, 'detached', { + configurable: true, + get: function detached() { + return isDetached(this); + } + }); +} + + +/***/ }), +/* 223 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(85); +var arrayBufferByteLength = __webpack_require__(224); + +var ArrayBuffer = globalThis.ArrayBuffer; +var ArrayBufferPrototype = ArrayBuffer && ArrayBuffer.prototype; +var slice = ArrayBufferPrototype && uncurryThis(ArrayBufferPrototype.slice); + +module.exports = function (O) { + if (arrayBufferByteLength(O) !== 0) return false; + if (!slice) return false; + try { + slice(O, 0, 0); + return false; + } catch (error) { + return true; + } +}; + + +/***/ }), +/* 224 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThisAccessor = __webpack_require__(114); +var classof = __webpack_require__(15); + +var ArrayBuffer = globalThis.ArrayBuffer; +var TypeError = globalThis.TypeError; + +// Includes +// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]). +// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception. +module.exports = ArrayBuffer && uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) { + if (classof(O) !== 'ArrayBuffer') throw new TypeError('ArrayBuffer expected'); + return O.byteLength; +}; + + +/***/ }), +/* 225 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $transfer = __webpack_require__(226); + +// `ArrayBuffer.prototype.transfer` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transfer: function transfer() { + return $transfer(this, arguments.length ? arguments[0] : undefined, true); + } +}); + + +/***/ }), +/* 226 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var uncurryThisAccessor = __webpack_require__(114); +var toIndex = __webpack_require__(212); +var notDetached = __webpack_require__(227); +var arrayBufferByteLength = __webpack_require__(224); +var detachTransferable = __webpack_require__(228); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var structuredClone = globalThis.structuredClone; +var ArrayBuffer = globalThis.ArrayBuffer; +var DataView = globalThis.DataView; +var min = Math.min; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataViewPrototype = DataView.prototype; +var slice = uncurryThis(ArrayBufferPrototype.slice); +var isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get'); +var maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get'); +var getInt8 = uncurryThis(DataViewPrototype.getInt8); +var setInt8 = uncurryThis(DataViewPrototype.setInt8); + +module.exports = (PROPER_STRUCTURED_CLONE_TRANSFER || detachTransferable) && function (arrayBuffer, newLength, preserveResizability) { + var byteLength = arrayBufferByteLength(arrayBuffer); + var newByteLength = newLength === undefined ? byteLength : toIndex(newLength); + var fixedLength = !isResizable || !isResizable(arrayBuffer); + var newBuffer; + notDetached(arrayBuffer); + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + arrayBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] }); + if (byteLength === newByteLength && (preserveResizability || fixedLength)) return arrayBuffer; + } + if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) { + newBuffer = slice(arrayBuffer, 0, newByteLength); + } else { + var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(arrayBuffer) } : undefined; + newBuffer = new ArrayBuffer(newByteLength, options); + var a = new DataView(arrayBuffer); + var b = new DataView(newBuffer); + var copyLength = min(newByteLength, byteLength); + for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i)); + } + if (!PROPER_STRUCTURED_CLONE_TRANSFER) detachTransferable(arrayBuffer); + return newBuffer; +}; + + +/***/ }), +/* 227 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isDetached = __webpack_require__(223); + +var $TypeError = TypeError; + +module.exports = function (it) { + if (isDetached(it)) throw new $TypeError('ArrayBuffer is detached'); + return it; +}; + + +/***/ }), +/* 228 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var getBuiltInNodeModule = __webpack_require__(229); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var structuredClone = globalThis.structuredClone; +var $ArrayBuffer = globalThis.ArrayBuffer; +var $MessageChannel = globalThis.MessageChannel; +var detach = false; +var WorkerThreads, channel, buffer, $detach; + +if (PROPER_STRUCTURED_CLONE_TRANSFER) { + detach = function (transferable) { + structuredClone(transferable, { transfer: [transferable] }); + }; +} else if ($ArrayBuffer) try { + if (!$MessageChannel) { + WorkerThreads = getBuiltInNodeModule('worker_threads'); + if (WorkerThreads) $MessageChannel = WorkerThreads.MessageChannel; + } + + if ($MessageChannel) { + channel = new $MessageChannel(); + buffer = new $ArrayBuffer(2); + + $detach = function (transferable) { + channel.port1.postMessage(null, [transferable]); + }; + + if (buffer.byteLength === 2) { + $detach(buffer); + if (buffer.byteLength === 0) detach = $detach; + } + } +} catch (error) { /* empty */ } + +module.exports = detach; + + +/***/ }), +/* 229 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var IS_NODE = __webpack_require__(182); + +module.exports = function (name) { + if (IS_NODE) { + try { + return globalThis.process.getBuiltinModule(name); + } catch (error) { /* empty */ } + try { + // eslint-disable-next-line no-new-func -- safe + return Function('return require("' + name + '")')(); + } catch (error) { /* empty */ } + } +}; + + +/***/ }), +/* 230 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var V8 = __webpack_require__(27); +var ENVIRONMENT = __webpack_require__(183); + +var structuredClone = globalThis.structuredClone; + +module.exports = !!structuredClone && !fails(function () { + // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if ((ENVIRONMENT === 'DENO' && V8 > 92) || (ENVIRONMENT === 'NODE' && V8 > 94) || (ENVIRONMENT === 'BROWSER' && V8 > 97)) return false; + var buffer = new ArrayBuffer(8); + var clone = structuredClone(buffer, { transfer: [buffer] }); + return buffer.byteLength !== 0 || clone.byteLength !== 8; +}); + + +/***/ }), +/* 231 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $transfer = __webpack_require__(226); + +// `ArrayBuffer.prototype.transferToFixedLength` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transferToFixedLength: function transferToFixedLength() { + return $transfer(this, arguments.length ? arguments[0] : undefined, false); + } +}); + + +/***/ }), +/* 232 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); + +// IE8- non-standard case +var FORCED = fails(function () { + // eslint-disable-next-line es/no-date-prototype-getyear-setyear -- detection + return new Date(16e11).getYear() !== 120; +}); + +var getFullYear = uncurryThis(Date.prototype.getFullYear); + +// `Date.prototype.getYear` method +// https://tc39.es/ecma262/#sec-date.prototype.getyear +$({ target: 'Date', proto: true, forced: FORCED }, { + getYear: function getYear() { + return getFullYear(this) - 1900; + } +}); + + +/***/ }), +/* 233 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); + +var $Date = Date; +var thisTimeValue = uncurryThis($Date.prototype.getTime); + +// `Date.now` method +// https://tc39.es/ecma262/#sec-date.now +$({ target: 'Date', stat: true }, { + now: function now() { + return thisTimeValue(new $Date()); + } +}); + + +/***/ }), +/* 234 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); + +var DatePrototype = Date.prototype; +var thisTimeValue = uncurryThis(DatePrototype.getTime); +var setFullYear = uncurryThis(DatePrototype.setFullYear); + +// `Date.prototype.setYear` method +// https://tc39.es/ecma262/#sec-date.prototype.setyear +$({ target: 'Date', proto: true }, { + setYear: function setYear(year) { + // validate + thisTimeValue(this); + var yi = toIntegerOrInfinity(year); + var yyyy = yi >= 0 && yi <= 99 ? yi + 1900 : yi; + return setFullYear(this, yyyy); + } +}); + + +/***/ }), +/* 235 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Date.prototype.toGMTString` method +// https://tc39.es/ecma262/#sec-date.prototype.togmtstring +$({ target: 'Date', proto: true }, { + toGMTString: Date.prototype.toUTCString +}); + + +/***/ }), +/* 236 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toISOString = __webpack_require__(237); + +// `Date.prototype.toISOString` method +// https://tc39.es/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit has a broken implementations +$({ target: 'Date', proto: true, forced: Date.prototype.toISOString !== toISOString }, { + toISOString: toISOString +}); + + +/***/ }), +/* 237 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var padStart = (__webpack_require__(238).start); + +var $RangeError = RangeError; +var $isFinite = isFinite; +var abs = Math.abs; +var DatePrototype = Date.prototype; +var nativeDateToISOString = DatePrototype.toISOString; +var thisTimeValue = uncurryThis(DatePrototype.getTime); +var getUTCDate = uncurryThis(DatePrototype.getUTCDate); +var getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear); +var getUTCHours = uncurryThis(DatePrototype.getUTCHours); +var getUTCMilliseconds = uncurryThis(DatePrototype.getUTCMilliseconds); +var getUTCMinutes = uncurryThis(DatePrototype.getUTCMinutes); +var getUTCMonth = uncurryThis(DatePrototype.getUTCMonth); +var getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds); + +// `Date.prototype.toISOString` method implementation +// https://tc39.es/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit fails here: +module.exports = (fails(function () { + return nativeDateToISOString.call(new Date(-5e13 - 1)) !== '0385-07-25T07:06:39.999Z'; +}) || !fails(function () { + nativeDateToISOString.call(new Date(NaN)); +})) ? function toISOString() { + if (!$isFinite(thisTimeValue(this))) throw new $RangeError('Invalid time value'); + var date = this; + var year = getUTCFullYear(date); + var milliseconds = getUTCMilliseconds(date); + var sign = year < 0 ? '-' : year > 9999 ? '+' : ''; + return sign + padStart(abs(year), sign ? 6 : 4, 0) + + '-' + padStart(getUTCMonth(date) + 1, 2, 0) + + '-' + padStart(getUTCDate(date), 2, 0) + + 'T' + padStart(getUTCHours(date), 2, 0) + + ':' + padStart(getUTCMinutes(date), 2, 0) + + ':' + padStart(getUTCSeconds(date), 2, 0) + + '.' + padStart(milliseconds, 3, 0) + + 'Z'; +} : nativeDateToISOString; + + +/***/ }), +/* 238 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// https://github.com/tc39/proposal-string-pad-start-end +var uncurryThis = __webpack_require__(14); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var $repeat = __webpack_require__(239); +var requireObjectCoercible = __webpack_require__(16); + +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); +var ceil = Math.ceil; + +// `String.prototype.{ padStart, padEnd }` methods implementation +var createMethod = function (IS_END) { + return function ($this, maxLength, fillString) { + var S = toString(requireObjectCoercible($this)); + var intMaxLength = toLength(maxLength); + var stringLength = S.length; + var fillStr = fillString === undefined ? ' ' : toString(fillString); + var fillLen, stringFiller; + if (intMaxLength <= stringLength || fillStr === '') return S; + fillLen = intMaxLength - stringLength; + stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen); + return IS_END ? S + stringFiller : stringFiller + S; + }; +}; + +module.exports = { + // `String.prototype.padStart` method + // https://tc39.es/ecma262/#sec-string.prototype.padstart + start: createMethod(false), + // `String.prototype.padEnd` method + // https://tc39.es/ecma262/#sec-string.prototype.padend + end: createMethod(true) +}; + + +/***/ }), +/* 239 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); + +var $RangeError = RangeError; + +// `String.prototype.repeat` method implementation +// https://tc39.es/ecma262/#sec-string.prototype.repeat +module.exports = function repeat(count) { + var str = toString(requireObjectCoercible(this)); + var result = ''; + var n = toIntegerOrInfinity(count); + if (n < 0 || n === Infinity) throw new $RangeError('Wrong number of repetitions'); + for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str; + return result; +}; + + +/***/ }), +/* 240 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toObject = __webpack_require__(39); +var toPrimitive = __webpack_require__(19); + +var FORCED = fails(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; +}); + +// `Date.prototype.toJSON` method +// https://tc39.es/ecma262/#sec-date.prototype.tojson +$({ target: 'Date', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O, 'number'); + return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); + } +}); + + +/***/ }), +/* 241 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var defineBuiltIn = __webpack_require__(47); +var dateToPrimitive = __webpack_require__(242); +var wellKnownSymbol = __webpack_require__(33); + +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +var DatePrototype = Date.prototype; + +// `Date.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive +if (!hasOwn(DatePrototype, TO_PRIMITIVE)) { + defineBuiltIn(DatePrototype, TO_PRIMITIVE, dateToPrimitive); +} + + +/***/ }), +/* 242 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var ordinaryToPrimitive = __webpack_require__(32); + +var $TypeError = TypeError; + +// `Date.prototype[@@toPrimitive](hint)` method implementation +// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive +module.exports = function (hint) { + anObject(this); + if (hint === 'string' || hint === 'default') hint = 'string'; + else if (hint !== 'number') throw new $TypeError('Incorrect hint'); + return ordinaryToPrimitive(this, hint); +}; + + +/***/ }), +/* 243 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var uncurryThis = __webpack_require__(14); +var defineBuiltIn = __webpack_require__(47); + +var DatePrototype = Date.prototype; +var INVALID_DATE = 'Invalid Date'; +var TO_STRING = 'toString'; +var nativeDateToString = uncurryThis(DatePrototype[TO_STRING]); +var thisTimeValue = uncurryThis(DatePrototype.getTime); + +// `Date.prototype.toString` method +// https://tc39.es/ecma262/#sec-date.prototype.tostring +if (String(new Date(NaN)) !== INVALID_DATE) { + defineBuiltIn(DatePrototype, TO_STRING, function toString() { + var value = thisTimeValue(this); + // eslint-disable-next-line no-self-compare -- NaN check + return value === value ? nativeDateToString(this) : INVALID_DATE; + }); +} + + +/***/ }), +/* 244 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); + +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var exec = uncurryThis(/./.exec); +var numberToString = uncurryThis(1.0.toString); +var toUpperCase = uncurryThis(''.toUpperCase); + +var raw = /[\w*+\-./@]/; + +var hex = function (code, length) { + var result = numberToString(code, 16); + while (result.length < length) result = '0' + result; + return result; +}; + +// `escape` method +// https://tc39.es/ecma262/#sec-escape-string +$({ global: true }, { + escape: function escape(string) { + var str = toString(string); + var result = ''; + var length = str.length; + var index = 0; + var chr, code; + while (index < length) { + chr = charAt(str, index++); + if (exec(raw, chr)) { + result += chr; + } else { + code = charCodeAt(chr, 0); + if (code < 256) { + result += '%' + hex(code, 2); + } else { + result += '%u' + toUpperCase(hex(code, 4)); + } + } + } return result; + } +}); + + +/***/ }), +/* 245 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var bind = __webpack_require__(246); + +// `Function.prototype.bind` method +// https://tc39.es/ecma262/#sec-function.prototype.bind +// eslint-disable-next-line es/no-function-prototype-bind -- detection +$({ target: 'Function', proto: true, forced: Function.bind !== bind }, { + bind: bind +}); + + +/***/ }), +/* 246 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var arraySlice = __webpack_require__(76); +var NATIVE_BIND = __webpack_require__(9); + +var $Function = Function; +var concat = uncurryThis([].concat); +var join = uncurryThis([].join); +var factories = {}; + +var construct = function (C, argsLength, args) { + if (!hasOwn(factories, argsLength)) { + var list = []; + var i = 0; + for (; i < argsLength; i++) list[i] = 'a[' + i + ']'; + factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')'); + } return factories[argsLength](C, args); +}; + +// `Function.prototype.bind` method implementation +// https://tc39.es/ecma262/#sec-function.prototype.bind +// eslint-disable-next-line es/no-function-prototype-bind -- detection +module.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) { + var F = aCallable(this); + var Prototype = F.prototype; + var partArgs = arraySlice(arguments, 1); + var boundFunction = function bound(/* args... */) { + var args = concat(partArgs, arraySlice(arguments)); + return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args); + }; + if (isObject(Prototype)) boundFunction.prototype = Prototype; + return boundFunction; +}; + + +/***/ }), +/* 247 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var definePropertyModule = __webpack_require__(44); +var isPrototypeOf = __webpack_require__(24); +var wellKnownSymbol = __webpack_require__(33); +var makeBuiltIn = __webpack_require__(48); + +var HAS_INSTANCE = wellKnownSymbol('hasInstance'); +var FunctionPrototype = Function.prototype; + +// `Function.prototype[@@hasInstance]` method +// https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance +if (!(HAS_INSTANCE in FunctionPrototype)) { + definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: makeBuiltIn(function (O) { + if (!isCallable(this) || !isObject(O)) return false; + var P = this.prototype; + return isObject(P) ? isPrototypeOf(P, O) : O instanceof this; + }, HAS_INSTANCE) }); +} + + +/***/ }), +/* 248 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var FUNCTION_NAME_EXISTS = (__webpack_require__(49).EXISTS); +var uncurryThis = __webpack_require__(14); +var defineBuiltInAccessor = __webpack_require__(77); + +var FunctionPrototype = Function.prototype; +var functionToString = uncurryThis(FunctionPrototype.toString); +var nameRE = /function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/; +var regExpExec = uncurryThis(nameRE.exec); +var NAME = 'name'; + +// Function instances `.name` property +// https://tc39.es/ecma262/#sec-function-instances-name +if (DESCRIPTORS && !FUNCTION_NAME_EXISTS) { + defineBuiltInAccessor(FunctionPrototype, NAME, { + configurable: true, + get: function () { + try { + return regExpExec(nameRE, functionToString(this))[1]; + } catch (error) { + return ''; + } + } + }); +} + + +/***/ }), +/* 249 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); + +// `globalThis` object +// https://tc39.es/ecma262/#sec-globalthis +$({ global: true, forced: globalThis.globalThis !== globalThis }, { + globalThis: globalThis +}); + + +/***/ }), +/* 250 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var getPrototypeOf = __webpack_require__(128); +var defineBuiltInAccessor = __webpack_require__(77); +var createProperty = __webpack_require__(141); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var wellKnownSymbol = __webpack_require__(33); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var CONSTRUCTOR = 'constructor'; +var ITERATOR = 'Iterator'; +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +var $TypeError = TypeError; +var NativeIterator = globalThis[ITERATOR]; + +// FF56- have non-standard global helper `Iterator` +var FORCED = IS_PURE + || !isCallable(NativeIterator) + || NativeIterator.prototype !== IteratorPrototype + // FF44- non-standard `Iterator` passes previous tests + || !fails(function () { NativeIterator({}); }); + +var IteratorConstructor = function Iterator() { + anInstance(this, IteratorPrototype); + if (getPrototypeOf(this) === IteratorPrototype) throw new $TypeError('Abstract class Iterator not directly constructable'); +}; + +var defineIteratorPrototypeAccessor = function (key, value) { + if (DESCRIPTORS) { + defineBuiltInAccessor(IteratorPrototype, key, { + configurable: true, + get: function () { + return value; + }, + set: function (replacement) { + anObject(this); + if (this === IteratorPrototype) throw new $TypeError("You can't redefine this property"); + if (hasOwn(this, key)) this[key] = replacement; + else createProperty(this, key, replacement); + } + }); + } else IteratorPrototype[key] = value; +}; + +if (!hasOwn(IteratorPrototype, TO_STRING_TAG)) defineIteratorPrototypeAccessor(TO_STRING_TAG, ITERATOR); + +if (FORCED || !hasOwn(IteratorPrototype, CONSTRUCTOR) || IteratorPrototype[CONSTRUCTOR] === Object) { + defineIteratorPrototypeAccessor(CONSTRUCTOR, IteratorConstructor); +} + +IteratorConstructor.prototype = IteratorPrototype; + +// `Iterator` constructor +// https://tc39.es/ecma262/#sec-iterator +$({ global: true, constructor: true, forced: FORCED }, { + Iterator: IteratorConstructor +}); + + +/***/ }), +/* 251 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var notANaN = __webpack_require__(253); +var toPositiveInteger = __webpack_require__(254); +var createIteratorProxy = __webpack_require__(255); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var next = this.next; + var result, done; + while (this.remaining) { + this.remaining--; + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (done) return; + } + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (!done) return result.value; +}); + +// `Iterator.prototype.drop` method +// https://tc39.es/ecma262/#sec-iterator.prototype.drop +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + drop: function drop(limit) { + anObject(this); + var remaining = toPositiveInteger(notANaN(+limit)); + return new IteratorProxy(getIteratorDirect(this), { + remaining: remaining + }); + } +}); + + +/***/ }), +/* 252 */ +/***/ (function(module) { + + +// `GetIteratorDirect(obj)` abstract operation +// https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect +module.exports = function (obj) { + return { + iterator: obj, + next: obj.next, + done: false + }; +}; + + +/***/ }), +/* 253 */ +/***/ (function(module) { + + +var $RangeError = RangeError; + +module.exports = function (it) { + // eslint-disable-next-line no-self-compare -- NaN check + if (it === it) return it; + throw new $RangeError('NaN is not allowed'); +}; + + +/***/ }), +/* 254 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var $RangeError = RangeError; + +module.exports = function (it) { + var result = toIntegerOrInfinity(it); + if (result < 0) throw new $RangeError("The argument can't be less than 0"); + return result; +}; + + +/***/ }), +/* 255 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var create = __webpack_require__(71); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIns = __webpack_require__(210); +var wellKnownSymbol = __webpack_require__(33); +var InternalStateModule = __webpack_require__(51); +var getMethod = __webpack_require__(29); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var createIterResultObject = __webpack_require__(172); +var iteratorClose = __webpack_require__(135); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var ITERATOR_HELPER = 'IteratorHelper'; +var WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator'; +var setInternalState = InternalStateModule.set; + +var createIteratorProxyPrototype = function (IS_ITERATOR) { + var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER); + + return defineBuiltIns(create(IteratorPrototype), { + next: function next() { + var state = getInternalState(this); + // for simplification: + // for `%WrapForValidIteratorPrototype%.next` our `nextHandler` returns `IterResultObject` + // for `%IteratorHelperPrototype%.next` - just a value + if (IS_ITERATOR) return state.nextHandler(); + try { + var result = state.done ? undefined : state.nextHandler(); + return createIterResultObject(result, state.done); + } catch (error) { + state.done = true; + throw error; + } + }, + 'return': function () { + var state = getInternalState(this); + var iterator = state.iterator; + state.done = true; + if (IS_ITERATOR) { + var returnMethod = getMethod(iterator, 'return'); + return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true); + } + if (state.inner) try { + iteratorClose(state.inner.iterator, 'normal'); + } catch (error) { + return iteratorClose(iterator, 'throw', error); + } + if (iterator) iteratorClose(iterator, 'normal'); + return createIterResultObject(undefined, true); + } + }); +}; + +var WrapForValidIteratorPrototype = createIteratorProxyPrototype(true); +var IteratorHelperPrototype = createIteratorProxyPrototype(false); + +createNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper'); + +module.exports = function (nextHandler, IS_ITERATOR) { + var IteratorProxy = function Iterator(record, state) { + if (state) { + state.iterator = record.iterator; + state.next = record.next; + } else state = record; + state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER; + state.nextHandler = nextHandler; + state.counter = 0; + state.done = false; + setInternalState(this, state); + }; + + IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype; + + return IteratorProxy; +}; + + +/***/ }), +/* 256 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.every` method +// https://tc39.es/ecma262/#sec-iterator.prototype.every +$({ target: 'Iterator', proto: true, real: true }, { + every: function every(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return !iterate(record, function (value, stop) { + if (!predicate(value, counter++)) return stop(); + }, { IS_RECORD: true, INTERRUPTED: true }).stopped; + } +}); + + +/***/ }), +/* 257 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var createIteratorProxy = __webpack_require__(255); +var callWithSafeIterationClosing = __webpack_require__(163); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var predicate = this.predicate; + var next = this.next; + var result, done, value; + while (true) { + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (done) return; + value = result.value; + if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) return value; + } +}); + +// `Iterator.prototype.filter` method +// https://tc39.es/ecma262/#sec-iterator.prototype.filter +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + filter: function filter(predicate) { + anObject(this); + aCallable(predicate); + return new IteratorProxy(getIteratorDirect(this), { + predicate: predicate + }); + } +}); + + +/***/ }), +/* 258 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.find` method +// https://tc39.es/ecma262/#sec-iterator.prototype.find +$({ target: 'Iterator', proto: true, real: true }, { + find: function find(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return iterate(record, function (value, stop) { + if (predicate(value, counter++)) return stop(value); + }, { IS_RECORD: true, INTERRUPTED: true }).result; + } +}); + + +/***/ }), +/* 259 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var getIteratorFlattenable = __webpack_require__(260); +var createIteratorProxy = __webpack_require__(255); +var iteratorClose = __webpack_require__(135); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var mapper = this.mapper; + var result, inner; + + while (true) { + if (inner = this.inner) try { + result = anObject(call(inner.next, inner.iterator)); + if (!result.done) return result.value; + this.inner = null; + } catch (error) { iteratorClose(iterator, 'throw', error); } + + result = anObject(call(this.next, iterator)); + + if (this.done = !!result.done) return; + + try { + this.inner = getIteratorFlattenable(mapper(result.value, this.counter++), false); + } catch (error) { iteratorClose(iterator, 'throw', error); } + } +}); + +// `Iterator.prototype.flatMap` method +// https://tc39.es/ecma262/#sec-iterator.prototype.flatmap +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + flatMap: function flatMap(mapper) { + anObject(this); + aCallable(mapper); + return new IteratorProxy(getIteratorDirect(this), { + mapper: mapper, + inner: null + }); + } +}); + + +/***/ }), +/* 260 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var getIteratorMethod = __webpack_require__(134); + +module.exports = function (obj, stringHandling) { + if (!stringHandling || typeof obj !== 'string') anObject(obj); + var method = getIteratorMethod(obj); + return getIteratorDirect(anObject(method !== undefined ? call(method, obj) : obj)); +}; + + +/***/ }), +/* 261 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.forEach` method +// https://tc39.es/ecma262/#sec-iterator.prototype.foreach +$({ target: 'Iterator', proto: true, real: true }, { + forEach: function forEach(fn) { + anObject(this); + aCallable(fn); + var record = getIteratorDirect(this); + var counter = 0; + iterate(record, function (value) { + fn(value, counter++); + }, { IS_RECORD: true }); + } +}); + + +/***/ }), +/* 262 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var toObject = __webpack_require__(39); +var isPrototypeOf = __webpack_require__(24); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var createIteratorProxy = __webpack_require__(255); +var getIteratorFlattenable = __webpack_require__(260); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + return call(this.next, this.iterator); +}, true); + +// `Iterator.from` method +// https://tc39.es/ecma262/#sec-iterator.from +$({ target: 'Iterator', stat: true, forced: IS_PURE }, { + from: function from(O) { + var iteratorRecord = getIteratorFlattenable(typeof O == 'string' ? toObject(O) : O, true); + return isPrototypeOf(IteratorPrototype, iteratorRecord.iterator) + ? iteratorRecord.iterator + : new IteratorProxy(iteratorRecord); + } +}); + + +/***/ }), +/* 263 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var map = __webpack_require__(264); +var IS_PURE = __webpack_require__(36); + +// `Iterator.prototype.map` method +// https://tc39.es/ecma262/#sec-iterator.prototype.map +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + map: map +}); + + +/***/ }), +/* 264 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var createIteratorProxy = __webpack_require__(255); +var callWithSafeIterationClosing = __webpack_require__(163); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var result = anObject(call(this.next, iterator)); + var done = this.done = !!result.done; + if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true); +}); + +// `Iterator.prototype.map` method +// https://github.com/tc39/proposal-iterator-helpers +module.exports = function map(mapper) { + anObject(this); + aCallable(mapper); + return new IteratorProxy(getIteratorDirect(this), { + mapper: mapper + }); +}; + + +/***/ }), +/* 265 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +var $TypeError = TypeError; + +// `Iterator.prototype.reduce` method +// https://tc39.es/ecma262/#sec-iterator.prototype.reduce +$({ target: 'Iterator', proto: true, real: true }, { + reduce: function reduce(reducer /* , initialValue */) { + anObject(this); + aCallable(reducer); + var record = getIteratorDirect(this); + var noInitial = arguments.length < 2; + var accumulator = noInitial ? undefined : arguments[1]; + var counter = 0; + iterate(record, function (value) { + if (noInitial) { + noInitial = false; + accumulator = value; + } else { + accumulator = reducer(accumulator, value, counter); + } + counter++; + }, { IS_RECORD: true }); + if (noInitial) throw new $TypeError('Reduce of empty iterator with no initial value'); + return accumulator; + } +}); + + +/***/ }), +/* 266 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.some` method +// https://tc39.es/ecma262/#sec-iterator.prototype.some +$({ target: 'Iterator', proto: true, real: true }, { + some: function some(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return iterate(record, function (value, stop) { + if (predicate(value, counter++)) return stop(); + }, { IS_RECORD: true, INTERRUPTED: true }).stopped; + } +}); + + +/***/ }), +/* 267 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var notANaN = __webpack_require__(253); +var toPositiveInteger = __webpack_require__(254); +var createIteratorProxy = __webpack_require__(255); +var iteratorClose = __webpack_require__(135); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + if (!this.remaining--) { + this.done = true; + return iteratorClose(iterator, 'normal', undefined); + } + var result = anObject(call(this.next, iterator)); + var done = this.done = !!result.done; + if (!done) return result.value; +}); + +// `Iterator.prototype.take` method +// https://tc39.es/ecma262/#sec-iterator.prototype.take +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + take: function take(limit) { + anObject(this); + var remaining = toPositiveInteger(notANaN(+limit)); + return new IteratorProxy(getIteratorDirect(this), { + remaining: remaining + }); + } +}); + + +/***/ }), +/* 268 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var iterate = __webpack_require__(130); +var getIteratorDirect = __webpack_require__(252); + +var push = [].push; + +// `Iterator.prototype.toArray` method +// https://tc39.es/ecma262/#sec-iterator.prototype.toarray +$({ target: 'Iterator', proto: true, real: true }, { + toArray: function toArray() { + var result = []; + iterate(getIteratorDirect(anObject(this)), push, { that: result, IS_RECORD: true }); + return result; + } +}); + + +/***/ }), +/* 269 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var setToStringTag = __webpack_require__(82); + +// JSON[@@toStringTag] property +// https://tc39.es/ecma262/#sec-json-@@tostringtag +setToStringTag(globalThis.JSON, 'JSON', true); + + +/***/ }), +/* 270 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(271); + + +/***/ }), +/* 271 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionStrong = __webpack_require__(277); + +// `Map` constructor +// https://tc39.es/ecma262/#sec-map-objects +collection('Map', function (init) { + return function Map() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + + +/***/ }), +/* 272 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var defineBuiltIn = __webpack_require__(47); +var InternalMetadataModule = __webpack_require__(273); +var iterate = __webpack_require__(130); +var anInstance = __webpack_require__(211); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var fails = __webpack_require__(7); +var checkCorrectnessOfIteration = __webpack_require__(164); +var setToStringTag = __webpack_require__(82); +var inheritIfRequired = __webpack_require__(118); + +module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { + var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; + var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; + var ADDER = IS_MAP ? 'set' : 'add'; + var NativeConstructor = globalThis[CONSTRUCTOR_NAME]; + var NativePrototype = NativeConstructor && NativeConstructor.prototype; + var Constructor = NativeConstructor; + var exported = {}; + + var fixMethod = function (KEY) { + var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]); + defineBuiltIn(NativePrototype, KEY, + KEY === 'add' ? function add(value) { + uncurriedNativeMethod(this, value === 0 ? 0 : value); + return this; + } : KEY === 'delete' ? function (key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY === 'get' ? function get(key) { + return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY === 'has' ? function has(key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : function set(key, value) { + uncurriedNativeMethod(this, key === 0 ? 0 : key, value); + return this; + } + ); + }; + + var REPLACE = isForced( + CONSTRUCTOR_NAME, + !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () { + new NativeConstructor().entries().next(); + })) + ); + + if (REPLACE) { + // create collection constructor + Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); + InternalMetadataModule.enable(); + } else if (isForced(CONSTRUCTOR_NAME, true)) { + var instance = new Constructor(); + // early implementations not supports chaining + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance; + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); + // most early implementations doesn't supports iterables, most modern - not close it correctly + // eslint-disable-next-line no-new -- required for testing + var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); }); + // for early implementations -0 and +0 not the same + var BUGGY_ZERO = !IS_WEAK && fails(function () { + // V8 ~ Chromium 42- fails only with 5+ elements + var $instance = new NativeConstructor(); + var index = 5; + while (index--) $instance[ADDER](index, index); + return !$instance.has(-0); + }); + + if (!ACCEPT_ITERABLES) { + Constructor = wrapper(function (dummy, iterable) { + anInstance(dummy, NativePrototype); + var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + return that; + }); + Constructor.prototype = NativePrototype; + NativePrototype.constructor = Constructor; + } + + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + + if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); + + // weak collections should not contains .clear method + if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear; + } + + exported[CONSTRUCTOR_NAME] = Constructor; + $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported); + + setToStringTag(Constructor, CONSTRUCTOR_NAME); + + if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); + + return Constructor; +}; + + +/***/ }), +/* 273 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var hiddenKeys = __webpack_require__(54); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var defineProperty = (__webpack_require__(44).f); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertyNamesExternalModule = __webpack_require__(75); +var isExtensible = __webpack_require__(274); +var uid = __webpack_require__(40); +var FREEZING = __webpack_require__(276); + +var REQUIRED = false; +var METADATA = uid('meta'); +var id = 0; + +var setMetadata = function (it) { + defineProperty(it, METADATA, { value: { + objectID: 'O' + id++, // object ID + weakData: {} // weak collections IDs + } }); +}; + +var fastKey = function (it, create) { + // return a primitive with prefix + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!hasOwn(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMetadata(it); + // return object ID + } return it[METADATA].objectID; +}; + +var getWeakData = function (it, create) { + if (!hasOwn(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMetadata(it); + // return the store of weak collections IDs + } return it[METADATA].weakData; +}; + +// add metadata on freeze-family methods calling +var onFreeze = function (it) { + if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it); + return it; +}; + +var enable = function () { + meta.enable = function () { /* empty */ }; + REQUIRED = true; + var getOwnPropertyNames = getOwnPropertyNamesModule.f; + var splice = uncurryThis([].splice); + var test = {}; + test[METADATA] = 1; + + // prevent exposing of metadata key + if (getOwnPropertyNames(test).length) { + getOwnPropertyNamesModule.f = function (it) { + var result = getOwnPropertyNames(it); + for (var i = 0, length = result.length; i < length; i++) { + if (result[i] === METADATA) { + splice(result, i, 1); + break; + } + } return result; + }; + + $({ target: 'Object', stat: true, forced: true }, { + getOwnPropertyNames: getOwnPropertyNamesExternalModule.f + }); + } +}; + +var meta = module.exports = { + enable: enable, + fastKey: fastKey, + getWeakData: getWeakData, + onFreeze: onFreeze +}; + +hiddenKeys[METADATA] = true; + + +/***/ }), +/* 274 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-isextensible -- safe +var $isExtensible = Object.isExtensible; +var FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); }); + +// `Object.isExtensible` method +// https://tc39.es/ecma262/#sec-object.isextensible +module.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) { + if (!isObject(it)) return false; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false; + return $isExtensible ? $isExtensible(it) : true; +} : $isExtensible; + + +/***/ }), +/* 275 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it +var fails = __webpack_require__(7); + +module.exports = fails(function () { + if (typeof ArrayBuffer == 'function') { + var buffer = new ArrayBuffer(8); + // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe + if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 }); + } +}); + + +/***/ }), +/* 276 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing + return Object.isExtensible(Object.preventExtensions({})); +}); + + +/***/ }), +/* 277 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var create = __webpack_require__(71); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var bind = __webpack_require__(84); +var anInstance = __webpack_require__(211); +var isNullOrUndefined = __webpack_require__(17); +var iterate = __webpack_require__(130); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); +var setSpecies = __webpack_require__(194); +var DESCRIPTORS = __webpack_require__(6); +var fastKey = (__webpack_require__(273).fastKey); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + index: create(null), + first: null, + last: null, + size: 0 + }); + if (!DESCRIPTORS) that.size = 0; + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + }); + + var Prototype = Constructor.prototype; + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var entry = getEntry(that, key); + var previous, index; + // change existing entry + if (entry) { + entry.value = value; + // create new entry + } else { + state.last = entry = { + index: index = fastKey(key, true), + key: key, + value: value, + previous: previous = state.last, + next: null, + removed: false + }; + if (!state.first) state.first = entry; + if (previous) previous.next = entry; + if (DESCRIPTORS) state.size++; + else that.size++; + // add to index + if (index !== 'F') state.index[index] = entry; + } return that; + }; + + var getEntry = function (that, key) { + var state = getInternalState(that); + // fast case + var index = fastKey(key); + var entry; + if (index !== 'F') return state.index[index]; + // frozen object case + for (entry = state.first; entry; entry = entry.next) { + if (entry.key === key) return entry; + } + }; + + defineBuiltIns(Prototype, { + // `{ Map, Set }.prototype.clear()` methods + // https://tc39.es/ecma262/#sec-map.prototype.clear + // https://tc39.es/ecma262/#sec-set.prototype.clear + clear: function clear() { + var that = this; + var state = getInternalState(that); + var entry = state.first; + while (entry) { + entry.removed = true; + if (entry.previous) entry.previous = entry.previous.next = null; + entry = entry.next; + } + state.first = state.last = null; + state.index = create(null); + if (DESCRIPTORS) state.size = 0; + else that.size = 0; + }, + // `{ Map, Set }.prototype.delete(key)` methods + // https://tc39.es/ecma262/#sec-map.prototype.delete + // https://tc39.es/ecma262/#sec-set.prototype.delete + 'delete': function (key) { + var that = this; + var state = getInternalState(that); + var entry = getEntry(that, key); + if (entry) { + var next = entry.next; + var prev = entry.previous; + delete state.index[entry.index]; + entry.removed = true; + if (prev) prev.next = next; + if (next) next.previous = prev; + if (state.first === entry) state.first = next; + if (state.last === entry) state.last = prev; + if (DESCRIPTORS) state.size--; + else that.size--; + } return !!entry; + }, + // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods + // https://tc39.es/ecma262/#sec-map.prototype.foreach + // https://tc39.es/ecma262/#sec-set.prototype.foreach + forEach: function forEach(callbackfn /* , that = undefined */) { + var state = getInternalState(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var entry; + while (entry = entry ? entry.next : state.first) { + boundFunction(entry.value, entry.key, this); + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + } + }, + // `{ Map, Set}.prototype.has(key)` methods + // https://tc39.es/ecma262/#sec-map.prototype.has + // https://tc39.es/ecma262/#sec-set.prototype.has + has: function has(key) { + return !!getEntry(this, key); + } + }); + + defineBuiltIns(Prototype, IS_MAP ? { + // `Map.prototype.get(key)` method + // https://tc39.es/ecma262/#sec-map.prototype.get + get: function get(key) { + var entry = getEntry(this, key); + return entry && entry.value; + }, + // `Map.prototype.set(key, value)` method + // https://tc39.es/ecma262/#sec-map.prototype.set + set: function set(key, value) { + return define(this, key === 0 ? 0 : key, value); + } + } : { + // `Set.prototype.add(value)` method + // https://tc39.es/ecma262/#sec-set.prototype.add + add: function add(value) { + return define(this, value = value === 0 ? 0 : value, value); + } + }); + if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', { + configurable: true, + get: function () { + return getInternalState(this).size; + } + }); + return Constructor; + }, + setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) { + var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; + var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); + var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); + // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods + // https://tc39.es/ecma262/#sec-map.prototype.entries + // https://tc39.es/ecma262/#sec-map.prototype.keys + // https://tc39.es/ecma262/#sec-map.prototype.values + // https://tc39.es/ecma262/#sec-map.prototype-@@iterator + // https://tc39.es/ecma262/#sec-set.prototype.entries + // https://tc39.es/ecma262/#sec-set.prototype.keys + // https://tc39.es/ecma262/#sec-set.prototype.values + // https://tc39.es/ecma262/#sec-set.prototype-@@iterator + defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) { + setInternalState(this, { + type: ITERATOR_NAME, + target: iterated, + state: getInternalCollectionState(iterated), + kind: kind, + last: null + }); + }, function () { + var state = getInternalIteratorState(this); + var kind = state.kind; + var entry = state.last; + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + // get next entry + if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { + // or finish the iteration + state.target = null; + return createIterResultObject(undefined, true); + } + // return step by kind + if (kind === 'keys') return createIterResultObject(entry.key, false); + if (kind === 'values') return createIterResultObject(entry.value, false); + return createIterResultObject([entry.key, entry.value], false); + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // `{ Map, Set }.prototype[@@species]` accessors + // https://tc39.es/ecma262/#sec-get-map-@@species + // https://tc39.es/ecma262/#sec-get-set-@@species + setSpecies(CONSTRUCTOR_NAME); + } +}; + + +/***/ }), +/* 278 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var requireObjectCoercible = __webpack_require__(16); +var iterate = __webpack_require__(130); +var MapHelpers = __webpack_require__(279); +var IS_PURE = __webpack_require__(36); +var fails = __webpack_require__(7); + +var Map = MapHelpers.Map; +var has = MapHelpers.has; +var get = MapHelpers.get; +var set = MapHelpers.set; +var push = uncurryThis([].push); + +var DOES_NOT_WORK_WITH_PRIMITIVES = IS_PURE || fails(function () { + return Map.groupBy('ab', function (it) { + return it; + }).get('a').length !== 1; +}); + +// `Map.groupBy` method +// https://tc39.es/ecma262/#sec-map.groupby +$({ target: 'Map', stat: true, forced: IS_PURE || DOES_NOT_WORK_WITH_PRIMITIVES }, { + groupBy: function groupBy(items, callbackfn) { + requireObjectCoercible(items); + aCallable(callbackfn); + var map = new Map(); + var k = 0; + iterate(items, function (value) { + var key = callbackfn(value, k++); + if (!has(map, key)) set(map, key, [value]); + else push(get(map, key), value); + }); + return map; + } +}); + + +/***/ }), +/* 279 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// eslint-disable-next-line es/no-map -- safe +var MapPrototype = Map.prototype; + +module.exports = { + // eslint-disable-next-line es/no-map -- safe + Map: Map, + set: uncurryThis(MapPrototype.set), + get: uncurryThis(MapPrototype.get), + has: uncurryThis(MapPrototype.has), + remove: uncurryThis(MapPrototype['delete']), + proto: MapPrototype +}; + + +/***/ }), +/* 280 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log1p = __webpack_require__(281); + +// eslint-disable-next-line es/no-math-acosh -- required for testing +var $acosh = Math.acosh; +var log = Math.log; +var sqrt = Math.sqrt; +var LN2 = Math.LN2; + +var FORCED = !$acosh + // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 + || Math.floor($acosh(Number.MAX_VALUE)) !== 710 + // Tor Browser bug: Math.acosh(Infinity) -> NaN + || $acosh(Infinity) !== Infinity; + +// `Math.acosh` method +// https://tc39.es/ecma262/#sec-math.acosh +$({ target: 'Math', stat: true, forced: FORCED }, { + acosh: function acosh(x) { + var n = +x; + return n < 1 ? NaN : n > 94906265.62425156 + ? log(n) + LN2 + : log1p(n - 1 + sqrt(n - 1) * sqrt(n + 1)); + } +}); + + +/***/ }), +/* 281 */ +/***/ (function(module) { + + +var log = Math.log; + +// `Math.log1p` method implementation +// https://tc39.es/ecma262/#sec-math.log1p +// eslint-disable-next-line es/no-math-log1p -- safe +module.exports = Math.log1p || function log1p(x) { + var n = +x; + return n > -1e-8 && n < 1e-8 ? n - n * n / 2 : log(1 + n); +}; + + +/***/ }), +/* 282 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-asinh -- required for testing +var $asinh = Math.asinh; +var log = Math.log; +var sqrt = Math.sqrt; + +function asinh(x) { + var n = +x; + return !isFinite(n) || n === 0 ? n : n < 0 ? -asinh(-n) : log(n + sqrt(n * n + 1)); +} + +var FORCED = !($asinh && 1 / $asinh(0) > 0); + +// `Math.asinh` method +// https://tc39.es/ecma262/#sec-math.asinh +// Tor Browser bug: Math.asinh(0) -> -0 +$({ target: 'Math', stat: true, forced: FORCED }, { + asinh: asinh +}); + + +/***/ }), +/* 283 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-atanh -- required for testing +var $atanh = Math.atanh; +var log = Math.log; + +var FORCED = !($atanh && 1 / $atanh(-0) < 0); + +// `Math.atanh` method +// https://tc39.es/ecma262/#sec-math.atanh +// Tor Browser bug: Math.atanh(-0) -> 0 +$({ target: 'Math', stat: true, forced: FORCED }, { + atanh: function atanh(x) { + var n = +x; + return n === 0 ? n : log((1 + n) / (1 - n)) / 2; + } +}); + + +/***/ }), +/* 284 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var sign = __webpack_require__(215); + +var abs = Math.abs; +var pow = Math.pow; + +// `Math.cbrt` method +// https://tc39.es/ecma262/#sec-math.cbrt +$({ target: 'Math', stat: true }, { + cbrt: function cbrt(x) { + var n = +x; + return sign(n) * pow(abs(n), 1 / 3); + } +}); + + +/***/ }), +/* 285 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +var floor = Math.floor; +var log = Math.log; +var LOG2E = Math.LOG2E; + +// `Math.clz32` method +// https://tc39.es/ecma262/#sec-math.clz32 +$({ target: 'Math', stat: true }, { + clz32: function clz32(x) { + var n = x >>> 0; + return n ? 31 - floor(log(n + 0.5) * LOG2E) : 32; + } +}); + + +/***/ }), +/* 286 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +// eslint-disable-next-line es/no-math-cosh -- required for testing +var $cosh = Math.cosh; +var abs = Math.abs; +var E = Math.E; + +var FORCED = !$cosh || $cosh(710) === Infinity; + +// `Math.cosh` method +// https://tc39.es/ecma262/#sec-math.cosh +$({ target: 'Math', stat: true, forced: FORCED }, { + cosh: function cosh(x) { + var t = expm1(abs(x) - 1) + 1; + return (t + 1 / (t * E * E)) * (E / 2); + } +}); + + +/***/ }), +/* 287 */ +/***/ (function(module) { + + +// eslint-disable-next-line es/no-math-expm1 -- safe +var $expm1 = Math.expm1; +var exp = Math.exp; + +// `Math.expm1` method implementation +// https://tc39.es/ecma262/#sec-math.expm1 +module.exports = (!$expm1 + // Old FF bug + // eslint-disable-next-line no-loss-of-precision -- required for old engines + || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 + // Tor Browser bug + || $expm1(-2e-17) !== -2e-17 +) ? function expm1(x) { + var n = +x; + return n === 0 ? n : n > -1e-6 && n < 1e-6 ? n + n * n / 2 : exp(n) - 1; +} : $expm1; + + +/***/ }), +/* 288 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +// `Math.expm1` method +// https://tc39.es/ecma262/#sec-math.expm1 +// eslint-disable-next-line es/no-math-expm1 -- required for testing +$({ target: 'Math', stat: true, forced: expm1 !== Math.expm1 }, { expm1: expm1 }); + + +/***/ }), +/* 289 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fround = __webpack_require__(213); + +// `Math.fround` method +// https://tc39.es/ecma262/#sec-math.fround +$({ target: 'Math', stat: true }, { fround: fround }); + + +/***/ }), +/* 290 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-hypot -- required for testing +var $hypot = Math.hypot; +var abs = Math.abs; +var sqrt = Math.sqrt; + +// Chrome 77 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=9546 +var FORCED = !!$hypot && $hypot(Infinity, NaN) !== Infinity; + +// `Math.hypot` method +// https://tc39.es/ecma262/#sec-math.hypot +$({ target: 'Math', stat: true, arity: 2, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + hypot: function hypot(value1, value2) { + var sum = 0; + var i = 0; + var aLen = arguments.length; + var larg = 0; + var arg, div; + while (i < aLen) { + arg = abs(arguments[i++]); + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; + larg = arg; + } else if (arg > 0) { + div = arg / larg; + sum += div * div; + } else sum += arg; + } + return larg === Infinity ? Infinity : larg * sqrt(sum); + } +}); + + +/***/ }), +/* 291 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-math-imul -- required for testing +var $imul = Math.imul; + +var FORCED = fails(function () { + return $imul(0xFFFFFFFF, 5) !== -5 || $imul.length !== 2; +}); + +// `Math.imul` method +// https://tc39.es/ecma262/#sec-math.imul +// some WebKit versions fails with big numbers, some has wrong arity +$({ target: 'Math', stat: true, forced: FORCED }, { + imul: function imul(x, y) { + var UINT16 = 0xFFFF; + var xn = +x; + var yn = +y; + var xl = UINT16 & xn; + var yl = UINT16 & yn; + return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); + } +}); + + +/***/ }), +/* 292 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log10 = __webpack_require__(293); + +// `Math.log10` method +// https://tc39.es/ecma262/#sec-math.log10 +$({ target: 'Math', stat: true }, { + log10: log10 +}); + + +/***/ }), +/* 293 */ +/***/ (function(module) { + + +var log = Math.log; +var LOG10E = Math.LOG10E; + +// eslint-disable-next-line es/no-math-log10 -- safe +module.exports = Math.log10 || function log10(x) { + return log(x) * LOG10E; +}; + + +/***/ }), +/* 294 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log1p = __webpack_require__(281); + +// `Math.log1p` method +// https://tc39.es/ecma262/#sec-math.log1p +$({ target: 'Math', stat: true }, { log1p: log1p }); + + +/***/ }), +/* 295 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +var log = Math.log; +var LN2 = Math.LN2; + +// `Math.log2` method +// https://tc39.es/ecma262/#sec-math.log2 +$({ target: 'Math', stat: true }, { + log2: function log2(x) { + return log(x) / LN2; + } +}); + + +/***/ }), +/* 296 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var sign = __webpack_require__(215); + +// `Math.sign` method +// https://tc39.es/ecma262/#sec-math.sign +$({ target: 'Math', stat: true }, { + sign: sign +}); + + +/***/ }), +/* 297 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var expm1 = __webpack_require__(287); + +var abs = Math.abs; +var exp = Math.exp; +var E = Math.E; + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-math-sinh -- required for testing + return Math.sinh(-2e-17) !== -2e-17; +}); + +// `Math.sinh` method +// https://tc39.es/ecma262/#sec-math.sinh +// V8 near Chromium 38 has a problem with very small numbers +$({ target: 'Math', stat: true, forced: FORCED }, { + sinh: function sinh(x) { + var n = +x; + return abs(n) < 1 ? (expm1(n) - expm1(-n)) / 2 : (exp(n - 1) - exp(-n - 1)) * (E / 2); + } +}); + + +/***/ }), +/* 298 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +var exp = Math.exp; + +// `Math.tanh` method +// https://tc39.es/ecma262/#sec-math.tanh +$({ target: 'Math', stat: true }, { + tanh: function tanh(x) { + var n = +x; + var a = expm1(n); + var b = expm1(-n); + return a === Infinity ? 1 : b === Infinity ? -1 : (a - b) / (exp(n) + exp(-n)); + } +}); + + +/***/ }), +/* 299 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var setToStringTag = __webpack_require__(82); + +// Math[@@toStringTag] property +// https://tc39.es/ecma262/#sec-math-@@tostringtag +setToStringTag(Math, 'Math', true); + + +/***/ }), +/* 300 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trunc = __webpack_require__(62); + +// `Math.trunc` method +// https://tc39.es/ecma262/#sec-math.trunc +$({ target: 'Math', stat: true }, { + trunc: trunc +}); + + +/***/ }), +/* 301 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var path = __webpack_require__(80); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var hasOwn = __webpack_require__(38); +var inheritIfRequired = __webpack_require__(118); +var isPrototypeOf = __webpack_require__(24); +var isSymbol = __webpack_require__(22); +var toPrimitive = __webpack_require__(19); +var fails = __webpack_require__(7); +var getOwnPropertyNames = (__webpack_require__(57).f); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var defineProperty = (__webpack_require__(44).f); +var thisNumberValue = __webpack_require__(302); +var trim = (__webpack_require__(303).trim); + +var NUMBER = 'Number'; +var NativeNumber = globalThis[NUMBER]; +var PureNumberNamespace = path[NUMBER]; +var NumberPrototype = NativeNumber.prototype; +var TypeError = globalThis.TypeError; +var stringSlice = uncurryThis(''.slice); +var charCodeAt = uncurryThis(''.charCodeAt); + +// `ToNumeric` abstract operation +// https://tc39.es/ecma262/#sec-tonumeric +var toNumeric = function (value) { + var primValue = toPrimitive(value, 'number'); + return typeof primValue == 'bigint' ? primValue : toNumber(primValue); +}; + +// `ToNumber` abstract operation +// https://tc39.es/ecma262/#sec-tonumber +var toNumber = function (argument) { + var it = toPrimitive(argument, 'number'); + var first, third, radix, maxCode, digits, length, index, code; + if (isSymbol(it)) throw new TypeError('Cannot convert a Symbol value to a number'); + if (typeof it == 'string' && it.length > 2) { + it = trim(it); + first = charCodeAt(it, 0); + if (first === 43 || first === 45) { + third = charCodeAt(it, 2); + if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if (first === 48) { + switch (charCodeAt(it, 1)) { + // fast equal of /^0b[01]+$/i + case 66: + case 98: + radix = 2; + maxCode = 49; + break; + // fast equal of /^0o[0-7]+$/i + case 79: + case 111: + radix = 8; + maxCode = 55; + break; + default: + return +it; + } + digits = stringSlice(it, 2); + length = digits.length; + for (index = 0; index < length; index++) { + code = charCodeAt(digits, index); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if (code < 48 || code > maxCode) return NaN; + } return parseInt(digits, radix); + } + } return +it; +}; + +var FORCED = isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1')); + +var calledWithNew = function (dummy) { + // includes check on 1..constructor(foo) case + return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); }); +}; + +// `Number` constructor +// https://tc39.es/ecma262/#sec-number-constructor +var NumberWrapper = function Number(value) { + var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value)); + return calledWithNew(this) ? inheritIfRequired(Object(n), this, NumberWrapper) : n; +}; + +NumberWrapper.prototype = NumberPrototype; +if (FORCED && !IS_PURE) NumberPrototype.constructor = NumberWrapper; + +$({ global: true, constructor: true, wrap: true, forced: FORCED }, { + Number: NumberWrapper +}); + +// Use `internal/copy-constructor-properties` helper in `core-js@4` +var copyConstructorProperties = function (target, source) { + for (var keys = DESCRIPTORS ? getOwnPropertyNames(source) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES2015 (in case, if modules with ES2015 Number statics required before): + 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' + + // ESNext + 'fromString,range' + ).split(','), j = 0, key; keys.length > j; j++) { + if (hasOwn(source, key = keys[j]) && !hasOwn(target, key)) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + +if (IS_PURE && PureNumberNamespace) copyConstructorProperties(path[NUMBER], PureNumberNamespace); +if (FORCED || IS_PURE) copyConstructorProperties(path[NUMBER], NativeNumber); + + +/***/ }), +/* 302 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// `thisNumberValue` abstract operation +// https://tc39.es/ecma262/#sec-thisnumbervalue +module.exports = uncurryThis(1.0.valueOf); + + +/***/ }), +/* 303 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var whitespaces = __webpack_require__(304); + +var replace = uncurryThis(''.replace); +var ltrim = RegExp('^[' + whitespaces + ']+'); +var rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$'); + +// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation +var createMethod = function (TYPE) { + return function ($this) { + var string = toString(requireObjectCoercible($this)); + if (TYPE & 1) string = replace(string, ltrim, ''); + if (TYPE & 2) string = replace(string, rtrim, '$1'); + return string; + }; +}; + +module.exports = { + // `String.prototype.{ trimLeft, trimStart }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimstart + start: createMethod(1), + // `String.prototype.{ trimRight, trimEnd }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimend + end: createMethod(2), + // `String.prototype.trim` method + // https://tc39.es/ecma262/#sec-string.prototype.trim + trim: createMethod(3) +}; + + +/***/ }), +/* 304 */ +/***/ (function(module) { + + +// a string of all valid unicode whitespaces +module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' + + '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + + +/***/ }), +/* 305 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.EPSILON` constant +// https://tc39.es/ecma262/#sec-number.epsilon +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + EPSILON: Math.pow(2, -52) +}); + + +/***/ }), +/* 306 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var numberIsFinite = __webpack_require__(307); + +// `Number.isFinite` method +// https://tc39.es/ecma262/#sec-number.isfinite +$({ target: 'Number', stat: true }, { isFinite: numberIsFinite }); + + +/***/ }), +/* 307 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +var globalIsFinite = globalThis.isFinite; + +// `Number.isFinite` method +// https://tc39.es/ecma262/#sec-number.isfinite +// eslint-disable-next-line es/no-number-isfinite -- safe +module.exports = Number.isFinite || function isFinite(it) { + return typeof it == 'number' && globalIsFinite(it); +}; + + +/***/ }), +/* 308 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isIntegralNumber = __webpack_require__(309); + +// `Number.isInteger` method +// https://tc39.es/ecma262/#sec-number.isinteger +$({ target: 'Number', stat: true }, { + isInteger: isIntegralNumber +}); + + +/***/ }), +/* 309 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +var floor = Math.floor; + +// `IsIntegralNumber` abstract operation +// https://tc39.es/ecma262/#sec-isintegralnumber +// eslint-disable-next-line es/no-number-isinteger -- safe +module.exports = Number.isInteger || function isInteger(it) { + return !isObject(it) && isFinite(it) && floor(it) === it; +}; + + +/***/ }), +/* 310 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.isNaN` method +// https://tc39.es/ecma262/#sec-number.isnan +$({ target: 'Number', stat: true }, { + isNaN: function isNaN(number) { + // eslint-disable-next-line no-self-compare -- NaN check + return number !== number; + } +}); + + +/***/ }), +/* 311 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isIntegralNumber = __webpack_require__(309); + +var abs = Math.abs; + +// `Number.isSafeInteger` method +// https://tc39.es/ecma262/#sec-number.issafeinteger +$({ target: 'Number', stat: true }, { + isSafeInteger: function isSafeInteger(number) { + return isIntegralNumber(number) && abs(number) <= 0x1FFFFFFFFFFFFF; + } +}); + + +/***/ }), +/* 312 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.MAX_SAFE_INTEGER` constant +// https://tc39.es/ecma262/#sec-number.max_safe_integer +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF +}); + + +/***/ }), +/* 313 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.MIN_SAFE_INTEGER` constant +// https://tc39.es/ecma262/#sec-number.min_safe_integer +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF +}); + + +/***/ }), +/* 314 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var parseFloat = __webpack_require__(315); + +// `Number.parseFloat` method +// https://tc39.es/ecma262/#sec-number.parseFloat +// eslint-disable-next-line es/no-number-parsefloat -- required for testing +$({ target: 'Number', stat: true, forced: Number.parseFloat !== parseFloat }, { + parseFloat: parseFloat +}); + + +/***/ }), +/* 315 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var trim = (__webpack_require__(303).trim); +var whitespaces = __webpack_require__(304); + +var charAt = uncurryThis(''.charAt); +var $parseFloat = globalThis.parseFloat; +var Symbol = globalThis.Symbol; +var ITERATOR = Symbol && Symbol.iterator; +var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity + // MS Edge 18- broken with boxed symbols + || (ITERATOR && !fails(function () { $parseFloat(Object(ITERATOR)); })); + +// `parseFloat` method +// https://tc39.es/ecma262/#sec-parsefloat-string +module.exports = FORCED ? function parseFloat(string) { + var trimmedString = trim(toString(string)); + var result = $parseFloat(trimmedString); + return result === 0 && charAt(trimmedString, 0) === '-' ? -0 : result; +} : $parseFloat; + + +/***/ }), +/* 316 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var parseInt = __webpack_require__(317); + +// `Number.parseInt` method +// https://tc39.es/ecma262/#sec-number.parseint +// eslint-disable-next-line es/no-number-parseint -- required for testing +$({ target: 'Number', stat: true, forced: Number.parseInt !== parseInt }, { + parseInt: parseInt +}); + + +/***/ }), +/* 317 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var trim = (__webpack_require__(303).trim); +var whitespaces = __webpack_require__(304); + +var $parseInt = globalThis.parseInt; +var Symbol = globalThis.Symbol; +var ITERATOR = Symbol && Symbol.iterator; +var hex = /^[+-]?0x/i; +var exec = uncurryThis(hex.exec); +var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22 + // MS Edge 18- broken with boxed symbols + || (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); })); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +module.exports = FORCED ? function parseInt(string, radix) { + var S = trim(toString(string)); + return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10)); +} : $parseInt; + + +/***/ }), +/* 318 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var thisNumberValue = __webpack_require__(302); +var $repeat = __webpack_require__(239); +var log10 = __webpack_require__(293); +var fails = __webpack_require__(7); + +var $RangeError = RangeError; +var $String = String; +var $isFinite = isFinite; +var abs = Math.abs; +var floor = Math.floor; +var pow = Math.pow; +var round = Math.round; +var nativeToExponential = uncurryThis(1.0.toExponential); +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); + +// Edge 17- +var ROUNDS_PROPERLY = nativeToExponential(-6.9e-11, 4) === '-6.9000e-11' + // IE11- && Edge 14- + && nativeToExponential(1.255, 2) === '1.25e+0' + // FF86-, V8 ~ Chrome 49-50 + && nativeToExponential(12345, 3) === '1.235e+4' + // FF86-, V8 ~ Chrome 49-50 + && nativeToExponential(25, 0) === '3e+1'; + +// IE8- +var throwsOnInfinityFraction = function () { + return fails(function () { + nativeToExponential(1, Infinity); + }) && fails(function () { + nativeToExponential(1, -Infinity); + }); +}; + +// Safari <11 && FF <50 +var properNonFiniteThisCheck = function () { + return !fails(function () { + nativeToExponential(Infinity, Infinity); + nativeToExponential(NaN, Infinity); + }); +}; + +var FORCED = !ROUNDS_PROPERLY || !throwsOnInfinityFraction() || !properNonFiniteThisCheck(); + +// `Number.prototype.toExponential` method +// https://tc39.es/ecma262/#sec-number.prototype.toexponential +$({ target: 'Number', proto: true, forced: FORCED }, { + toExponential: function toExponential(fractionDigits) { + var x = thisNumberValue(this); + if (fractionDigits === undefined) return nativeToExponential(x); + var f = toIntegerOrInfinity(fractionDigits); + if (!$isFinite(x)) return String(x); + // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation + if (f < 0 || f > 20) throw new $RangeError('Incorrect fraction digits'); + if (ROUNDS_PROPERLY) return nativeToExponential(x, f); + var s = ''; + var m, e, c, d; + if (x < 0) { + s = '-'; + x = -x; + } + if (x === 0) { + e = 0; + m = repeat('0', f + 1); + } else { + // this block is based on https://gist.github.com/SheetJSDev/1100ad56b9f856c95299ed0e068eea08 + // TODO: improve accuracy with big fraction digits + var l = log10(x); + e = floor(l); + var w = pow(10, e - f); + var n = round(x / w); + if (2 * x >= (2 * n + 1) * w) { + n += 1; + } + if (n >= pow(10, f + 1)) { + n /= 10; + e += 1; + } + m = $String(n); + } + if (f !== 0) { + m = stringSlice(m, 0, 1) + '.' + stringSlice(m, 1); + } + if (e === 0) { + c = '+'; + d = '0'; + } else { + c = e > 0 ? '+' : '-'; + d = $String(abs(e)); + } + m += 'e' + c + d; + return s + m; + } +}); + + +/***/ }), +/* 319 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var thisNumberValue = __webpack_require__(302); +var $repeat = __webpack_require__(239); +var fails = __webpack_require__(7); + +var $RangeError = RangeError; +var $String = String; +var floor = Math.floor; +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); +var nativeToFixed = uncurryThis(1.0.toFixed); + +var pow = function (x, n, acc) { + return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); +}; + +var log = function (x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + } return n; +}; + +var multiply = function (data, n, c) { + var index = -1; + var c2 = c; + while (++index < 6) { + c2 += n * data[index]; + data[index] = c2 % 1e7; + c2 = floor(c2 / 1e7); + } +}; + +var divide = function (data, n) { + var index = 6; + var c = 0; + while (--index >= 0) { + c += data[index]; + data[index] = floor(c / n); + c = (c % n) * 1e7; + } +}; + +var dataToString = function (data) { + var index = 6; + var s = ''; + while (--index >= 0) { + if (s !== '' || index === 0 || data[index] !== 0) { + var t = $String(data[index]); + s = s === '' ? t : s + repeat('0', 7 - t.length) + t; + } + } return s; +}; + +var FORCED = fails(function () { + return nativeToFixed(0.00008, 3) !== '0.000' || + nativeToFixed(0.9, 0) !== '1' || + nativeToFixed(1.255, 2) !== '1.25' || + nativeToFixed(1000000000000000128.0, 0) !== '1000000000000000128'; +}) || !fails(function () { + // V8 ~ Android 4.3- + nativeToFixed({}); +}); + +// `Number.prototype.toFixed` method +// https://tc39.es/ecma262/#sec-number.prototype.tofixed +$({ target: 'Number', proto: true, forced: FORCED }, { + toFixed: function toFixed(fractionDigits) { + var number = thisNumberValue(this); + var fractDigits = toIntegerOrInfinity(fractionDigits); + var data = [0, 0, 0, 0, 0, 0]; + var sign = ''; + var result = '0'; + var e, z, j, k; + + // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation + if (fractDigits < 0 || fractDigits > 20) throw new $RangeError('Incorrect fraction digits'); + // eslint-disable-next-line no-self-compare -- NaN check + if (number !== number) return 'NaN'; + if (number <= -1e21 || number >= 1e21) return $String(number); + if (number < 0) { + sign = '-'; + number = -number; + } + if (number > 1e-21) { + e = log(number * pow(2, 69, 1)) - 69; + z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1); + z *= 0x10000000000000; + e = 52 - e; + if (e > 0) { + multiply(data, 0, z); + j = fractDigits; + while (j >= 7) { + multiply(data, 1e7, 0); + j -= 7; + } + multiply(data, pow(10, j, 1), 0); + j = e - 1; + while (j >= 23) { + divide(data, 1 << 23); + j -= 23; + } + divide(data, 1 << j); + multiply(data, 1, 1); + divide(data, 2); + result = dataToString(data); + } else { + multiply(data, 0, z); + multiply(data, 1 << -e, 0); + result = dataToString(data) + repeat('0', fractDigits); + } + } + if (fractDigits > 0) { + k = result.length; + result = sign + (k <= fractDigits + ? '0.' + repeat('0', fractDigits - k) + result + : stringSlice(result, 0, k - fractDigits) + '.' + stringSlice(result, k - fractDigits)); + } else { + result = sign + result; + } return result; + } +}); + + +/***/ }), +/* 320 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var thisNumberValue = __webpack_require__(302); + +var nativeToPrecision = uncurryThis(1.0.toPrecision); + +var FORCED = fails(function () { + // IE7- + return nativeToPrecision(1, undefined) !== '1'; +}) || !fails(function () { + // V8 ~ Android 4.3- + nativeToPrecision({}); +}); + +// `Number.prototype.toPrecision` method +// https://tc39.es/ecma262/#sec-number.prototype.toprecision +$({ target: 'Number', proto: true, forced: FORCED }, { + toPrecision: function toPrecision(precision) { + return precision === undefined + ? nativeToPrecision(thisNumberValue(this)) + : nativeToPrecision(thisNumberValue(this), precision); + } +}); + + +/***/ }), +/* 321 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var assign = __webpack_require__(322); + +// `Object.assign` method +// https://tc39.es/ecma262/#sec-object.assign +// eslint-disable-next-line es/no-object-assign -- required for testing +$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, { + assign: assign +}); + + +/***/ }), +/* 322 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var objectKeys = __webpack_require__(73); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var propertyIsEnumerableModule = __webpack_require__(10); +var toObject = __webpack_require__(39); +var IndexedObject = __webpack_require__(13); + +// eslint-disable-next-line es/no-object-assign -- safe +var $assign = Object.assign; +// eslint-disable-next-line es/no-object-defineproperty -- required for testing +var defineProperty = Object.defineProperty; +var concat = uncurryThis([].concat); + +// `Object.assign` method +// https://tc39.es/ecma262/#sec-object.assign +module.exports = !$assign || fails(function () { + // should have correct order of operations (Edge bug) + if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', { + enumerable: true, + get: function () { + defineProperty(this, 'b', { + value: 3, + enumerable: false + }); + } + }), { b: 2 })).b !== 1) return true; + // should work with symbols and should have deterministic property order (V8 bug) + var A = {}; + var B = {}; + // eslint-disable-next-line es/no-symbol -- safe + var symbol = Symbol('assign detection'); + var alphabet = 'abcdefghijklmnopqrst'; + A[symbol] = 7; + alphabet.split('').forEach(function (chr) { B[chr] = chr; }); + return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` + var T = toObject(target); + var argumentsLength = arguments.length; + var index = 1; + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + var propertyIsEnumerable = propertyIsEnumerableModule.f; + while (argumentsLength > index) { + var S = IndexedObject(arguments[index++]); + var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) { + key = keys[j++]; + if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key]; + } + } return T; +} : $assign; + + +/***/ }), +/* 323 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var create = __webpack_require__(71); + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + create: create +}); + + +/***/ }), +/* 324 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var definePropertyModule = __webpack_require__(44); + +// `Object.prototype.__defineGetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineGetter__: function __defineGetter__(P, getter) { + definePropertyModule.f(toObject(this), P, { get: aCallable(getter), enumerable: true, configurable: true }); + } + }); +} + + +/***/ }), +/* 325 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-undef, no-useless-call, sonarjs/no-reference-error -- required for testing */ +/* eslint-disable es/no-legacy-object-prototype-accessor-methods -- required for testing */ +var IS_PURE = __webpack_require__(36); +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var WEBKIT = __webpack_require__(192); + +// Forced replacement object prototype accessors methods +module.exports = IS_PURE || !fails(function () { + // This feature detection crashes old WebKit + // https://github.com/zloirock/core-js/issues/232 + if (WEBKIT && WEBKIT < 535) return; + var key = Math.random(); + // In FF throws only define methods + __defineSetter__.call(null, key, function () { /* empty */ }); + delete globalThis[key]; +}); + + +/***/ }), +/* 326 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var defineProperties = (__webpack_require__(72).f); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, { + defineProperties: defineProperties +}); + + +/***/ }), +/* 327 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var defineProperty = (__webpack_require__(44).f); + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +// eslint-disable-next-line es/no-object-defineproperty -- safe +$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, { + defineProperty: defineProperty +}); + + +/***/ }), +/* 328 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var definePropertyModule = __webpack_require__(44); + +// `Object.prototype.__defineSetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineSetter__: function __defineSetter__(P, setter) { + definePropertyModule.f(toObject(this), P, { set: aCallable(setter), enumerable: true, configurable: true }); + } + }); +} + + +/***/ }), +/* 329 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $entries = (__webpack_require__(330).entries); + +// `Object.entries` method +// https://tc39.es/ecma262/#sec-object.entries +$({ target: 'Object', stat: true }, { + entries: function entries(O) { + return $entries(O); + } +}); + + +/***/ }), +/* 330 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var objectGetPrototypeOf = __webpack_require__(128); +var objectKeys = __webpack_require__(73); +var toIndexedObject = __webpack_require__(12); +var $propertyIsEnumerable = (__webpack_require__(10).f); + +var propertyIsEnumerable = uncurryThis($propertyIsEnumerable); +var push = uncurryThis([].push); + +// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys +// of `null` prototype objects +var IE_BUG = DESCRIPTORS && fails(function () { + // eslint-disable-next-line es/no-object-create -- safe + var O = Object.create(null); + O[2] = 2; + return !propertyIsEnumerable(O, 2); +}); + +// `Object.{ entries, values }` methods implementation +var createMethod = function (TO_ENTRIES) { + return function (it) { + var O = toIndexedObject(it); + var keys = objectKeys(O); + var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null; + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) { + key = keys[i++]; + if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) { + push(result, TO_ENTRIES ? [key, O[key]] : O[key]); + } + } + return result; + }; +}; + +module.exports = { + // `Object.entries` method + // https://tc39.es/ecma262/#sec-object.entries + entries: createMethod(true), + // `Object.values` method + // https://tc39.es/ecma262/#sec-object.values + values: createMethod(false) +}; + + +/***/ }), +/* 331 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); + +// eslint-disable-next-line es/no-object-freeze -- safe +var $freeze = Object.freeze; +var FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); }); + +// `Object.freeze` method +// https://tc39.es/ecma262/#sec-object.freeze +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + freeze: function freeze(it) { + return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 332 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var createProperty = __webpack_require__(141); + +// `Object.fromEntries` method +// https://tc39.es/ecma262/#sec-object.fromentries +$({ target: 'Object', stat: true }, { + fromEntries: function fromEntries(iterable) { + var obj = {}; + iterate(iterable, function (k, v) { + createProperty(obj, k, v); + }, { AS_ENTRIES: true }); + return obj; + } +}); + + +/***/ }), +/* 333 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toIndexedObject = __webpack_require__(12); +var nativeGetOwnPropertyDescriptor = (__webpack_require__(5).f); +var DESCRIPTORS = __webpack_require__(6); + +var FORCED = !DESCRIPTORS || fails(function () { nativeGetOwnPropertyDescriptor(1); }); + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { + return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key); + } +}); + + +/***/ }), +/* 334 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var ownKeys = __webpack_require__(56); +var toIndexedObject = __webpack_require__(12); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var createProperty = __webpack_require__(141); + +// `Object.getOwnPropertyDescriptors` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIndexedObject(object); + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + var keys = ownKeys(O); + var result = {}; + var index = 0; + var key, descriptor; + while (keys.length > index) { + descriptor = getOwnPropertyDescriptor(O, key = keys[index++]); + if (descriptor !== undefined) createProperty(result, key, descriptor); + } + return result; + } +}); + + +/***/ }), +/* 335 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var getOwnPropertyNames = (__webpack_require__(75).f); + +// eslint-disable-next-line es/no-object-getownpropertynames -- required for testing +var FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); }); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + getOwnPropertyNames: getOwnPropertyNames +}); + + +/***/ }), +/* 336 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toObject = __webpack_require__(39); +var nativeGetPrototypeOf = __webpack_require__(128); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); }); + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(it) { + return nativeGetPrototypeOf(toObject(it)); + } +}); + + + +/***/ }), +/* 337 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var requireObjectCoercible = __webpack_require__(16); +var toPropertyKey = __webpack_require__(18); +var iterate = __webpack_require__(130); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-groupby -- testing +var nativeGroupBy = Object.groupBy; +var create = getBuiltIn('Object', 'create'); +var push = uncurryThis([].push); + +var DOES_NOT_WORK_WITH_PRIMITIVES = !nativeGroupBy || fails(function () { + return nativeGroupBy('ab', function (it) { + return it; + }).a.length !== 1; +}); + +// `Object.groupBy` method +// https://tc39.es/ecma262/#sec-object.groupby +$({ target: 'Object', stat: true, forced: DOES_NOT_WORK_WITH_PRIMITIVES }, { + groupBy: function groupBy(items, callbackfn) { + requireObjectCoercible(items); + aCallable(callbackfn); + var obj = create(null); + var k = 0; + iterate(items, function (value) { + var key = toPropertyKey(callbackfn(value, k++)); + // in some IE versions, `hasOwnProperty` returns incorrect result on integer keys + // but since it's a `null` prototype object, we can safely use `in` + if (key in obj) push(obj[key], value); + else obj[key] = [value]; + }); + return obj; + } +}); + + +/***/ }), +/* 338 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var hasOwn = __webpack_require__(38); + +// `Object.hasOwn` method +// https://tc39.es/ecma262/#sec-object.hasown +$({ target: 'Object', stat: true }, { + hasOwn: hasOwn +}); + + +/***/ }), +/* 339 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var is = __webpack_require__(340); + +// `Object.is` method +// https://tc39.es/ecma262/#sec-object.is +$({ target: 'Object', stat: true }, { + is: is +}); + + +/***/ }), +/* 340 */ +/***/ (function(module) { + + +// `SameValue` abstract operation +// https://tc39.es/ecma262/#sec-samevalue +// eslint-disable-next-line es/no-object-is -- safe +module.exports = Object.is || function is(x, y) { + // eslint-disable-next-line no-self-compare -- NaN check + return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y; +}; + + +/***/ }), +/* 341 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $isExtensible = __webpack_require__(274); + +// `Object.isExtensible` method +// https://tc39.es/ecma262/#sec-object.isextensible +// eslint-disable-next-line es/no-object-isextensible -- safe +$({ target: 'Object', stat: true, forced: Object.isExtensible !== $isExtensible }, { + isExtensible: $isExtensible +}); + + +/***/ }), +/* 342 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-isfrozen -- safe +var $isFrozen = Object.isFrozen; + +var FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isFrozen(1); }); + +// `Object.isFrozen` method +// https://tc39.es/ecma262/#sec-object.isfrozen +$({ target: 'Object', stat: true, forced: FORCED }, { + isFrozen: function isFrozen(it) { + if (!isObject(it)) return true; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true; + return $isFrozen ? $isFrozen(it) : false; + } +}); + + +/***/ }), +/* 343 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-issealed -- safe +var $isSealed = Object.isSealed; + +var FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isSealed(1); }); + +// `Object.isSealed` method +// https://tc39.es/ecma262/#sec-object.issealed +$({ target: 'Object', stat: true, forced: FORCED }, { + isSealed: function isSealed(it) { + if (!isObject(it)) return true; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true; + return $isSealed ? $isSealed(it) : false; + } +}); + + +/***/ }), +/* 344 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var nativeKeys = __webpack_require__(73); +var fails = __webpack_require__(7); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); }); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + keys: function keys(it) { + return nativeKeys(toObject(it)); + } +}); + + +/***/ }), +/* 345 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var toObject = __webpack_require__(39); +var toPropertyKey = __webpack_require__(18); +var getPrototypeOf = __webpack_require__(128); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Object.prototype.__lookupGetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupGetter__: function __lookupGetter__(P) { + var O = toObject(this); + var key = toPropertyKey(P); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.get; + } while (O = getPrototypeOf(O)); + } + }); +} + + +/***/ }), +/* 346 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var toObject = __webpack_require__(39); +var toPropertyKey = __webpack_require__(18); +var getPrototypeOf = __webpack_require__(128); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Object.prototype.__lookupSetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupSetter__: function __lookupSetter__(P) { + var O = toObject(this); + var key = toPropertyKey(P); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.set; + } while (O = getPrototypeOf(O)); + } + }); +} + + +/***/ }), +/* 347 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-preventextensions -- safe +var $preventExtensions = Object.preventExtensions; +var FAILS_ON_PRIMITIVES = fails(function () { $preventExtensions(1); }); + +// `Object.preventExtensions` method +// https://tc39.es/ecma262/#sec-object.preventextensions +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + preventExtensions: function preventExtensions(it) { + return $preventExtensions && isObject(it) ? $preventExtensions(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 348 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var isObject = __webpack_require__(20); +var isPossiblePrototype = __webpack_require__(116); +var toObject = __webpack_require__(39); +var requireObjectCoercible = __webpack_require__(16); + +// eslint-disable-next-line es/no-object-getprototypeof -- safe +var getPrototypeOf = Object.getPrototypeOf; +// eslint-disable-next-line es/no-object-setprototypeof -- safe +var setPrototypeOf = Object.setPrototypeOf; +var ObjectPrototype = Object.prototype; +var PROTO = '__proto__'; + +// `Object.prototype.__proto__` accessor +// https://tc39.es/ecma262/#sec-object.prototype.__proto__ +if (DESCRIPTORS && getPrototypeOf && setPrototypeOf && !(PROTO in ObjectPrototype)) try { + defineBuiltInAccessor(ObjectPrototype, PROTO, { + configurable: true, + get: function __proto__() { + return getPrototypeOf(toObject(this)); + }, + set: function __proto__(proto) { + var O = requireObjectCoercible(this); + if (isPossiblePrototype(proto) && isObject(O)) { + setPrototypeOf(O, proto); + } + } + }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 349 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-seal -- safe +var $seal = Object.seal; +var FAILS_ON_PRIMITIVES = fails(function () { $seal(1); }); + +// `Object.seal` method +// https://tc39.es/ecma262/#sec-object.seal +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + seal: function seal(it) { + return $seal && isObject(it) ? $seal(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 350 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var setPrototypeOf = __webpack_require__(113); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +$({ target: 'Object', stat: true }, { + setPrototypeOf: setPrototypeOf +}); + + +/***/ }), +/* 351 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var defineBuiltIn = __webpack_require__(47); +var toString = __webpack_require__(352); + +// `Object.prototype.toString` method +// https://tc39.es/ecma262/#sec-object.prototype.tostring +if (!TO_STRING_TAG_SUPPORT) { + defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true }); +} + + +/***/ }), +/* 352 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var classof = __webpack_require__(69); + +// `Object.prototype.toString` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.tostring +module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { + return '[object ' + classof(this) + ']'; +}; + + +/***/ }), +/* 353 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $values = (__webpack_require__(330).values); + +// `Object.values` method +// https://tc39.es/ecma262/#sec-object.values +$({ target: 'Object', stat: true }, { + values: function values(O) { + return $values(O); + } +}); + + +/***/ }), +/* 354 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $parseFloat = __webpack_require__(315); + +// `parseFloat` method +// https://tc39.es/ecma262/#sec-parsefloat-string +$({ global: true, forced: parseFloat !== $parseFloat }, { + parseFloat: $parseFloat +}); + + +/***/ }), +/* 355 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $parseInt = __webpack_require__(317); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +$({ global: true, forced: parseInt !== $parseInt }, { + parseInt: $parseInt +}); + + +/***/ }), +/* 356 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(357); +__webpack_require__(373); +__webpack_require__(375); +__webpack_require__(376); +__webpack_require__(377); +__webpack_require__(378); + + +/***/ }), +/* 357 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var IS_NODE = __webpack_require__(182); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var defineBuiltIn = __webpack_require__(47); +var setPrototypeOf = __webpack_require__(113); +var setToStringTag = __webpack_require__(82); +var setSpecies = __webpack_require__(194); +var aCallable = __webpack_require__(30); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var anInstance = __webpack_require__(211); +var speciesConstructor = __webpack_require__(358); +var task = (__webpack_require__(360).set); +var microtask = __webpack_require__(363); +var hostReportErrors = __webpack_require__(368); +var perform = __webpack_require__(369); +var Queue = __webpack_require__(365); +var InternalStateModule = __webpack_require__(51); +var NativePromiseConstructor = __webpack_require__(370); +var PromiseConstructorDetection = __webpack_require__(371); +var newPromiseCapabilityModule = __webpack_require__(372); + +var PROMISE = 'Promise'; +var FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR; +var NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT; +var NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING; +var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); +var setInternalState = InternalStateModule.set; +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var PromiseConstructor = NativePromiseConstructor; +var PromisePrototype = NativePromisePrototype; +var TypeError = globalThis.TypeError; +var document = globalThis.document; +var process = globalThis.process; +var newPromiseCapability = newPromiseCapabilityModule.f; +var newGenericPromiseCapability = newPromiseCapability; + +var DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent); +var UNHANDLED_REJECTION = 'unhandledrejection'; +var REJECTION_HANDLED = 'rejectionhandled'; +var PENDING = 0; +var FULFILLED = 1; +var REJECTED = 2; +var HANDLED = 1; +var UNHANDLED = 2; + +var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && isCallable(then = it.then) ? then : false; +}; + +var callReaction = function (reaction, state) { + var value = state.value; + var ok = state.state === FULFILLED; + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (state.rejection === UNHANDLED) onHandleUnhandled(state); + state.rejection = HANDLED; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // can throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(new TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + call(then, result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (error) { + if (domain && !exited) domain.exit(); + reject(error); + } +}; + +var notify = function (state, isReject) { + if (state.notified) return; + state.notified = true; + microtask(function () { + var reactions = state.reactions; + var reaction; + while (reaction = reactions.get()) { + callReaction(reaction, state); + } + state.notified = false; + if (isReject && !state.rejection) onUnhandled(state); + }); +}; + +var dispatchEvent = function (name, promise, reason) { + var event, handler; + if (DISPATCH_EVENT) { + event = document.createEvent('Event'); + event.promise = promise; + event.reason = reason; + event.initEvent(name, false, true); + globalThis.dispatchEvent(event); + } else event = { promise: promise, reason: reason }; + if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event); + else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); +}; + +var onUnhandled = function (state) { + call(task, globalThis, function () { + var promise = state.facade; + var value = state.value; + var IS_UNHANDLED = isUnhandled(state); + var result; + if (IS_UNHANDLED) { + result = perform(function () { + if (IS_NODE) { + process.emit('unhandledRejection', value, promise); + } else dispatchEvent(UNHANDLED_REJECTION, promise, value); + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; + if (result.error) throw result.value; + } + }); +}; + +var isUnhandled = function (state) { + return state.rejection !== HANDLED && !state.parent; +}; + +var onHandleUnhandled = function (state) { + call(task, globalThis, function () { + var promise = state.facade; + if (IS_NODE) { + process.emit('rejectionHandled', promise); + } else dispatchEvent(REJECTION_HANDLED, promise, state.value); + }); +}; + +var bind = function (fn, state, unwrap) { + return function (value) { + fn(state, value, unwrap); + }; +}; + +var internalReject = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + state.value = value; + state.state = REJECTED; + notify(state, true); +}; + +var internalResolve = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + try { + if (state.facade === value) throw new TypeError("Promise can't be resolved itself"); + var then = isThenable(value); + if (then) { + microtask(function () { + var wrapper = { done: false }; + try { + call(then, value, + bind(internalResolve, wrapper, state), + bind(internalReject, wrapper, state) + ); + } catch (error) { + internalReject(wrapper, error, state); + } + }); + } else { + state.value = value; + state.state = FULFILLED; + notify(state, false); + } + } catch (error) { + internalReject({ done: false }, error, state); + } +}; + +// constructor polyfill +if (FORCED_PROMISE_CONSTRUCTOR) { + // 25.4.3.1 Promise(executor) + PromiseConstructor = function Promise(executor) { + anInstance(this, PromisePrototype); + aCallable(executor); + call(Internal, this); + var state = getInternalPromiseState(this); + try { + executor(bind(internalResolve, state), bind(internalReject, state)); + } catch (error) { + internalReject(state, error); + } + }; + + PromisePrototype = PromiseConstructor.prototype; + + // eslint-disable-next-line no-unused-vars -- required for `.length` + Internal = function Promise(executor) { + setInternalState(this, { + type: PROMISE, + done: false, + notified: false, + parent: false, + reactions: new Queue(), + rejection: false, + state: PENDING, + value: null + }); + }; + + // `Promise.prototype.then` method + // https://tc39.es/ecma262/#sec-promise.prototype.then + Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) { + var state = getInternalPromiseState(this); + var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); + state.parent = true; + reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; + reaction.fail = isCallable(onRejected) && onRejected; + reaction.domain = IS_NODE ? process.domain : undefined; + if (state.state === PENDING) state.reactions.add(reaction); + else microtask(function () { + callReaction(reaction, state); + }); + return reaction.promise; + }); + + OwnPromiseCapability = function () { + var promise = new Internal(); + var state = getInternalPromiseState(promise); + this.promise = promise; + this.resolve = bind(internalResolve, state); + this.reject = bind(internalReject, state); + }; + + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === PromiseConstructor || C === PromiseWrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; + + if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) { + nativeThen = NativePromisePrototype.then; + + if (!NATIVE_PROMISE_SUBCLASSING) { + // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs + defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { + var that = this; + return new PromiseConstructor(function (resolve, reject) { + call(nativeThen, that, resolve, reject); + }).then(onFulfilled, onRejected); + // https://github.com/zloirock/core-js/issues/640 + }, { unsafe: true }); + } + + // make `.constructor === Promise` work for native promise-based APIs + try { + delete NativePromisePrototype.constructor; + } catch (error) { /* empty */ } + + // make `instanceof Promise` work for native promise-based APIs + if (setPrototypeOf) { + setPrototypeOf(NativePromisePrototype, PromisePrototype); + } + } +} + +// `Promise` constructor +// https://tc39.es/ecma262/#sec-promise-executor +$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + Promise: PromiseConstructor +}); + +setToStringTag(PromiseConstructor, PROMISE, false, true); +setSpecies(PROMISE); + + +/***/ }), +/* 358 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var aConstructor = __webpack_require__(359); +var isNullOrUndefined = __webpack_require__(17); +var wellKnownSymbol = __webpack_require__(33); + +var SPECIES = wellKnownSymbol('species'); + +// `SpeciesConstructor` abstract operation +// https://tc39.es/ecma262/#sec-speciesconstructor +module.exports = function (O, defaultConstructor) { + var C = anObject(O).constructor; + var S; + return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S); +}; + + +/***/ }), +/* 359 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isConstructor = __webpack_require__(89); +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +// `Assert: IsConstructor(argument) is true` +module.exports = function (argument) { + if (isConstructor(argument)) return argument; + throw new $TypeError(tryToString(argument) + ' is not a constructor'); +}; + + +/***/ }), +/* 360 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var bind = __webpack_require__(84); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var fails = __webpack_require__(7); +var html = __webpack_require__(74); +var arraySlice = __webpack_require__(76); +var createElement = __webpack_require__(42); +var validateArgumentsLength = __webpack_require__(361); +var IS_IOS = __webpack_require__(362); +var IS_NODE = __webpack_require__(182); + +var set = globalThis.setImmediate; +var clear = globalThis.clearImmediate; +var process = globalThis.process; +var Dispatch = globalThis.Dispatch; +var Function = globalThis.Function; +var MessageChannel = globalThis.MessageChannel; +var String = globalThis.String; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var $location, defer, channel, port; + +fails(function () { + // Deno throws a ReferenceError on `location` access without `--location` flag + $location = globalThis.location; +}); + +var run = function (id) { + if (hasOwn(queue, id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; + +var runner = function (id) { + return function () { + run(id); + }; +}; + +var eventListener = function (event) { + run(event.data); +}; + +var globalPostMessageDefer = function (id) { + // old engines have not location.origin + globalThis.postMessage(String(id), $location.protocol + '//' + $location.host); +}; + +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!set || !clear) { + set = function setImmediate(handler) { + validateArgumentsLength(arguments.length, 1); + var fn = isCallable(handler) ? handler : Function(handler); + var args = arraySlice(arguments, 1); + queue[++counter] = function () { + apply(fn, undefined, args); + }; + defer(counter); + return counter; + }; + clear = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (IS_NODE) { + defer = function (id) { + process.nextTick(runner(id)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(runner(id)); + }; + // Browsers with MessageChannel, includes WebWorkers + // except iOS - https://github.com/zloirock/core-js/issues/624 + } else if (MessageChannel && !IS_IOS) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = eventListener; + defer = bind(port.postMessage, port); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if ( + globalThis.addEventListener && + isCallable(globalThis.postMessage) && + !globalThis.importScripts && + $location && $location.protocol !== 'file:' && + !fails(globalPostMessageDefer) + ) { + defer = globalPostMessageDefer; + globalThis.addEventListener('message', eventListener, false); + // IE8- + } else if (ONREADYSTATECHANGE in createElement('script')) { + defer = function (id) { + html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(runner(id), 0); + }; + } +} + +module.exports = { + set: set, + clear: clear +}; + + +/***/ }), +/* 361 */ +/***/ (function(module) { + + +var $TypeError = TypeError; + +module.exports = function (passed, required) { + if (passed < required) throw new $TypeError('Not enough arguments'); + return passed; +}; + + +/***/ }), +/* 362 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +// eslint-disable-next-line redos/no-vulnerable -- safe +module.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent); + + +/***/ }), +/* 363 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var safeGetBuiltIn = __webpack_require__(364); +var bind = __webpack_require__(84); +var macrotask = (__webpack_require__(360).set); +var Queue = __webpack_require__(365); +var IS_IOS = __webpack_require__(362); +var IS_IOS_PEBBLE = __webpack_require__(366); +var IS_WEBOS_WEBKIT = __webpack_require__(367); +var IS_NODE = __webpack_require__(182); + +var MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver; +var document = globalThis.document; +var process = globalThis.process; +var Promise = globalThis.Promise; +var microtask = safeGetBuiltIn('queueMicrotask'); +var notify, toggle, node, promise, then; + +// modern engines have queueMicrotask method +if (!microtask) { + var queue = new Queue(); + + var flush = function () { + var parent, fn; + if (IS_NODE && (parent = process.domain)) parent.exit(); + while (fn = queue.get()) try { + fn(); + } catch (error) { + if (queue.head) notify(); + throw error; + } + if (parent) parent.enter(); + }; + + // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 + // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898 + if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) { + toggle = true; + node = document.createTextNode(''); + new MutationObserver(flush).observe(node, { characterData: true }); + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + promise = Promise.resolve(undefined); + // workaround of WebKit ~ iOS Safari 10.1 bug + promise.constructor = Promise; + then = bind(promise.then, promise); + notify = function () { + then(flush); + }; + // Node.js without promises + } else if (IS_NODE) { + notify = function () { + process.nextTick(flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessage + // - onreadystatechange + // - setTimeout + } else { + // `webpack` dev server bug on IE global methods - use bind(fn, global) + macrotask = bind(macrotask, globalThis); + notify = function () { + macrotask(flush); + }; + } + + microtask = function (fn) { + if (!queue.head) notify(); + queue.add(fn); + }; +} + +module.exports = microtask; + + +/***/ }), +/* 364 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DESCRIPTORS = __webpack_require__(6); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Avoid NodeJS experimental warning +module.exports = function (name) { + if (!DESCRIPTORS) return globalThis[name]; + var descriptor = getOwnPropertyDescriptor(globalThis, name); + return descriptor && descriptor.value; +}; + + +/***/ }), +/* 365 */ +/***/ (function(module) { + + +var Queue = function () { + this.head = null; + this.tail = null; +}; + +Queue.prototype = { + add: function (item) { + var entry = { item: item, next: null }; + var tail = this.tail; + if (tail) tail.next = entry; + else this.head = entry; + this.tail = entry; + }, + get: function () { + var entry = this.head; + if (entry) { + var next = this.head = entry.next; + if (next === null) this.tail = null; + return entry.item; + } + } +}; + +module.exports = Queue; + + +/***/ }), +/* 366 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +module.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined'; + + +/***/ }), +/* 367 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +module.exports = /web0s(?!.*chrome)/i.test(userAgent); + + +/***/ }), +/* 368 */ +/***/ (function(module) { + + +module.exports = function (a, b) { + try { + // eslint-disable-next-line no-console -- safe + arguments.length === 1 ? console.error(a) : console.error(a, b); + } catch (error) { /* empty */ } +}; + + +/***/ }), +/* 369 */ +/***/ (function(module) { + + +module.exports = function (exec) { + try { + return { error: false, value: exec() }; + } catch (error) { + return { error: true, value: error }; + } +}; + + +/***/ }), +/* 370 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = globalThis.Promise; + + +/***/ }), +/* 371 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var NativePromiseConstructor = __webpack_require__(370); +var isCallable = __webpack_require__(21); +var isForced = __webpack_require__(67); +var inspectSource = __webpack_require__(50); +var wellKnownSymbol = __webpack_require__(33); +var ENVIRONMENT = __webpack_require__(183); +var IS_PURE = __webpack_require__(36); +var V8_VERSION = __webpack_require__(27); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var SPECIES = wellKnownSymbol('species'); +var SUBCLASSING = false; +var NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent); + +var FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () { + var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor); + var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor); + // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // We can't detect it synchronously, so just check versions + if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true; + // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution + if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true; + // We can't use @@species feature detection in V8 since it causes + // deoptimization and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) { + // Detect correctness of subclassing with @@species support + var promise = new NativePromiseConstructor(function (resolve) { resolve(1); }); + var FakePromise = function (exec) { + exec(function () { /* empty */ }, function () { /* empty */ }); + }; + var constructor = promise.constructor = {}; + constructor[SPECIES] = FakePromise; + SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; + if (!SUBCLASSING) return true; + // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test + } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT; +}); + +module.exports = { + CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR, + REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT, + SUBCLASSING: SUBCLASSING +}; + + +/***/ }), +/* 372 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); + +var $TypeError = TypeError; + +var PromiseCapability = function (C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aCallable(resolve); + this.reject = aCallable(reject); +}; + +// `NewPromiseCapability` abstract operation +// https://tc39.es/ecma262/#sec-newpromisecapability +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + + +/***/ }), +/* 373 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.all` method +// https://tc39.es/ecma262/#sec-promise.all +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + all: function all(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call($promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 374 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NativePromiseConstructor = __webpack_require__(370); +var checkCorrectnessOfIteration = __webpack_require__(164); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); + +module.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) { + NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ }); +}); + + +/***/ }), +/* 375 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); +var NativePromiseConstructor = __webpack_require__(370); +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var defineBuiltIn = __webpack_require__(47); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; + +// `Promise.prototype.catch` method +// https://tc39.es/ecma262/#sec-promise.prototype.catch +$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, { + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } +}); + +// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['catch']; + if (NativePromisePrototype['catch'] !== method) { + defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true }); + } +} + + +/***/ }), +/* 376 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.race` method +// https://tc39.es/ecma262/#sec-promise.race +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + race: function race(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + iterate(iterable, function (promise) { + call($promiseResolve, C, promise).then(capability.resolve, reject); + }); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 377 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var newPromiseCapabilityModule = __webpack_require__(372); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); + +// `Promise.reject` method +// https://tc39.es/ecma262/#sec-promise.reject +$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + reject: function reject(r) { + var capability = newPromiseCapabilityModule.f(this); + var capabilityReject = capability.reject; + capabilityReject(r); + return capability.promise; + } +}); + + +/***/ }), +/* 378 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var IS_PURE = __webpack_require__(36); +var NativePromiseConstructor = __webpack_require__(370); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); +var promiseResolve = __webpack_require__(379); + +var PromiseConstructorWrapper = getBuiltIn('Promise'); +var CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR; + +// `Promise.resolve` method +// https://tc39.es/ecma262/#sec-promise.resolve +$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, { + resolve: function resolve(x) { + return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x); + } +}); + + +/***/ }), +/* 379 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var newPromiseCapability = __webpack_require__(372); + +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + + +/***/ }), +/* 380 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.allSettled` method +// https://tc39.es/ecma262/#sec-promise.allsettled +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + allSettled: function allSettled(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'fulfilled', value: value }; + --remaining || resolve(values); + }, function (error) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'rejected', reason: error }; + --remaining || resolve(values); + }); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 381 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var getBuiltIn = __webpack_require__(23); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +var PROMISE_ANY_ERROR = 'No one promise resolved'; + +// `Promise.any` method +// https://tc39.es/ecma262/#sec-promise.any +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + any: function any(iterable) { + var C = this; + var AggregateError = getBuiltIn('AggregateError'); + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var errors = []; + var counter = 0; + var remaining = 1; + var alreadyResolved = false; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyRejected = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyRejected || alreadyResolved) return; + alreadyResolved = true; + resolve(value); + }, function (error) { + if (alreadyRejected || alreadyResolved) return; + alreadyRejected = true; + errors[index] = error; + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + }); + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 382 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var NativePromiseConstructor = __webpack_require__(370); +var fails = __webpack_require__(7); +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var speciesConstructor = __webpack_require__(358); +var promiseResolve = __webpack_require__(379); +var defineBuiltIn = __webpack_require__(47); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; + +// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829 +var NON_GENERIC = !!NativePromiseConstructor && fails(function () { + // eslint-disable-next-line unicorn/no-thenable -- required for testing + NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ }); +}); + +// `Promise.prototype.finally` method +// https://tc39.es/ecma262/#sec-promise.prototype.finally +$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, { + 'finally': function (onFinally) { + var C = speciesConstructor(this, getBuiltIn('Promise')); + var isFunction = isCallable(onFinally); + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); + } +}); + +// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then` +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['finally']; + if (NativePromisePrototype['finally'] !== method) { + defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true }); + } +} + + +/***/ }), +/* 383 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var slice = __webpack_require__(76); +var newPromiseCapabilityModule = __webpack_require__(372); +var aCallable = __webpack_require__(30); +var perform = __webpack_require__(369); + +var Promise = globalThis.Promise; + +var ACCEPT_ARGUMENTS = false; +// Avoiding the use of polyfills of the previous iteration of this proposal +// that does not accept arguments of the callback +var FORCED = !Promise || !Promise['try'] || perform(function () { + Promise['try'](function (argument) { + ACCEPT_ARGUMENTS = argument === 8; + }, 8); +}).error || !ACCEPT_ARGUMENTS; + +// `Promise.try` method +// https://tc39.es/ecma262/#sec-promise.try +$({ target: 'Promise', stat: true, forced: FORCED }, { + 'try': function (callbackfn /* , ...args */) { + var args = arguments.length > 1 ? slice(arguments, 1) : []; + var promiseCapability = newPromiseCapabilityModule.f(this); + var result = perform(function () { + return apply(aCallable(callbackfn), undefined, args); + }); + (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value); + return promiseCapability.promise; + } +}); + + +/***/ }), +/* 384 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var newPromiseCapabilityModule = __webpack_require__(372); + +// `Promise.withResolvers` method +// https://tc39.es/ecma262/#sec-promise.withResolvers +$({ target: 'Promise', stat: true }, { + withResolvers: function withResolvers() { + var promiseCapability = newPromiseCapabilityModule.f(this); + return { + promise: promiseCapability.promise, + resolve: promiseCapability.resolve, + reject: promiseCapability.reject + }; + } +}); + + +/***/ }), +/* 385 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var functionApply = __webpack_require__(94); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var fails = __webpack_require__(7); + +// MS Edge argumentsList argument is optional +var OPTIONAL_ARGUMENTS_LIST = !fails(function () { + // eslint-disable-next-line es/no-reflect -- required for testing + Reflect.apply(function () { /* empty */ }); +}); + +// `Reflect.apply` method +// https://tc39.es/ecma262/#sec-reflect.apply +$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, { + apply: function apply(target, thisArgument, argumentsList) { + return functionApply(aCallable(target), thisArgument, anObject(argumentsList)); + } +}); + + +/***/ }), +/* 386 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var bind = __webpack_require__(246); +var aConstructor = __webpack_require__(359); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var create = __webpack_require__(71); +var fails = __webpack_require__(7); + +var nativeConstruct = getBuiltIn('Reflect', 'construct'); +var ObjectPrototype = Object.prototype; +var push = [].push; + +// `Reflect.construct` method +// https://tc39.es/ecma262/#sec-reflect.construct +// MS Edge supports only 2 arguments and argumentsList argument is optional +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F); +}); + +var ARGS_BUG = !fails(function () { + nativeConstruct(function () { /* empty */ }); +}); + +var FORCED = NEW_TARGET_BUG || ARGS_BUG; + +$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, { + construct: function construct(Target, args /* , newTarget */) { + aConstructor(Target); + anObject(args); + var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]); + if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget); + if (Target === newTarget) { + // w/o altered newTarget, optimization for 0-4 arguments + switch (args.length) { + case 0: return new Target(); + case 1: return new Target(args[0]); + case 2: return new Target(args[0], args[1]); + case 3: return new Target(args[0], args[1], args[2]); + case 4: return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + apply(push, $args, args); + return new (apply(bind, Target, $args))(); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : ObjectPrototype); + var result = apply(Target, instance, args); + return isObject(result) ? result : instance; + } +}); + + +/***/ }), +/* 387 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var anObject = __webpack_require__(46); +var toPropertyKey = __webpack_require__(18); +var definePropertyModule = __webpack_require__(44); +var fails = __webpack_require__(7); + +// MS Edge has broken Reflect.defineProperty - throwing instead of returning false +var ERROR_INSTEAD_OF_FALSE = fails(function () { + // eslint-disable-next-line es/no-reflect -- required for testing + Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 }); +}); + +// `Reflect.defineProperty` method +// https://tc39.es/ecma262/#sec-reflect.defineproperty +$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, { + defineProperty: function defineProperty(target, propertyKey, attributes) { + anObject(target); + var key = toPropertyKey(propertyKey); + anObject(attributes); + try { + definePropertyModule.f(target, key, attributes); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 388 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Reflect.deleteProperty` method +// https://tc39.es/ecma262/#sec-reflect.deleteproperty +$({ target: 'Reflect', stat: true }, { + deleteProperty: function deleteProperty(target, propertyKey) { + var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey); + return descriptor && !descriptor.configurable ? false : delete target[propertyKey]; + } +}); + + +/***/ }), +/* 389 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var isObject = __webpack_require__(20); +var anObject = __webpack_require__(46); +var isDataDescriptor = __webpack_require__(390); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var getPrototypeOf = __webpack_require__(128); + +// `Reflect.get` method +// https://tc39.es/ecma262/#sec-reflect.get +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var descriptor, prototype; + if (anObject(target) === receiver) return target[propertyKey]; + descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey); + if (descriptor) return isDataDescriptor(descriptor) + ? descriptor.value + : descriptor.get === undefined ? undefined : call(descriptor.get, receiver); + if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver); +} + +$({ target: 'Reflect', stat: true }, { + get: get +}); + + +/***/ }), +/* 390 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); + +module.exports = function (descriptor) { + return descriptor !== undefined && (hasOwn(descriptor, 'value') || hasOwn(descriptor, 'writable')); +}; + + +/***/ }), +/* 391 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var anObject = __webpack_require__(46); +var getOwnPropertyDescriptorModule = __webpack_require__(5); + +// `Reflect.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-reflect.getownpropertydescriptor +$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { + return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + } +}); + + +/***/ }), +/* 392 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var objectGetPrototypeOf = __webpack_require__(128); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +// `Reflect.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-reflect.getprototypeof +$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(target) { + return objectGetPrototypeOf(anObject(target)); + } +}); + + +/***/ }), +/* 393 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Reflect.has` method +// https://tc39.es/ecma262/#sec-reflect.has +$({ target: 'Reflect', stat: true }, { + has: function has(target, propertyKey) { + return propertyKey in target; + } +}); + + +/***/ }), +/* 394 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var $isExtensible = __webpack_require__(274); + +// `Reflect.isExtensible` method +// https://tc39.es/ecma262/#sec-reflect.isextensible +$({ target: 'Reflect', stat: true }, { + isExtensible: function isExtensible(target) { + anObject(target); + return $isExtensible(target); + } +}); + + +/***/ }), +/* 395 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ownKeys = __webpack_require__(56); + +// `Reflect.ownKeys` method +// https://tc39.es/ecma262/#sec-reflect.ownkeys +$({ target: 'Reflect', stat: true }, { + ownKeys: ownKeys +}); + + +/***/ }), +/* 396 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var anObject = __webpack_require__(46); +var FREEZING = __webpack_require__(276); + +// `Reflect.preventExtensions` method +// https://tc39.es/ecma262/#sec-reflect.preventextensions +$({ target: 'Reflect', stat: true, sham: !FREEZING }, { + preventExtensions: function preventExtensions(target) { + anObject(target); + try { + var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions'); + if (objectPreventExtensions) objectPreventExtensions(target); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 397 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var isDataDescriptor = __webpack_require__(390); +var fails = __webpack_require__(7); +var definePropertyModule = __webpack_require__(44); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var getPrototypeOf = __webpack_require__(128); +var createPropertyDescriptor = __webpack_require__(11); + +// `Reflect.set` method +// https://tc39.es/ecma262/#sec-reflect.set +function set(target, propertyKey, V /* , receiver */) { + var receiver = arguments.length < 4 ? target : arguments[3]; + var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + var existingDescriptor, prototype, setter; + if (!ownDescriptor) { + if (isObject(prototype = getPrototypeOf(target))) { + return set(prototype, propertyKey, V, receiver); + } + ownDescriptor = createPropertyDescriptor(0); + } + if (isDataDescriptor(ownDescriptor)) { + if (ownDescriptor.writable === false || !isObject(receiver)) return false; + if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) { + if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; + existingDescriptor.value = V; + definePropertyModule.f(receiver, propertyKey, existingDescriptor); + } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V)); + } else { + setter = ownDescriptor.set; + if (setter === undefined) return false; + call(setter, receiver, V); + } return true; +} + +// MS Edge 17-18 Reflect.set allows setting the property to object +// with non-writable property on the prototype +var MS_EDGE_BUG = fails(function () { + var Constructor = function () { /* empty */ }; + var object = definePropertyModule.f(new Constructor(), 'a', { configurable: true }); + // eslint-disable-next-line es/no-reflect -- required for testing + return Reflect.set(Constructor.prototype, 'a', 1, object) !== false; +}); + +$({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, { + set: set +}); + + +/***/ }), +/* 398 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var aPossiblePrototype = __webpack_require__(115); +var objectSetPrototypeOf = __webpack_require__(113); + +// `Reflect.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-reflect.setprototypeof +if (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, { + setPrototypeOf: function setPrototypeOf(target, proto) { + anObject(target); + aPossiblePrototype(proto); + try { + objectSetPrototypeOf(target, proto); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 399 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var setToStringTag = __webpack_require__(82); + +$({ global: true }, { Reflect: {} }); + +// Reflect[@@toStringTag] property +// https://tc39.es/ecma262/#sec-reflect-@@tostringtag +setToStringTag(globalThis.Reflect, 'Reflect', true); + + +/***/ }), +/* 400 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var inheritIfRequired = __webpack_require__(118); +var createNonEnumerableProperty = __webpack_require__(43); +var create = __webpack_require__(71); +var getOwnPropertyNames = (__webpack_require__(57).f); +var isPrototypeOf = __webpack_require__(24); +var isRegExp = __webpack_require__(401); +var toString = __webpack_require__(68); +var getRegExpFlags = __webpack_require__(402); +var stickyHelpers = __webpack_require__(404); +var proxyAccessor = __webpack_require__(117); +var defineBuiltIn = __webpack_require__(47); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var enforceInternalState = (__webpack_require__(51).enforce); +var setSpecies = __webpack_require__(194); +var wellKnownSymbol = __webpack_require__(33); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var UNSUPPORTED_NCG = __webpack_require__(406); + +var MATCH = wellKnownSymbol('match'); +var NativeRegExp = globalThis.RegExp; +var RegExpPrototype = NativeRegExp.prototype; +var SyntaxError = globalThis.SyntaxError; +var exec = uncurryThis(RegExpPrototype.exec); +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var stringIndexOf = uncurryThis(''.indexOf); +var stringSlice = uncurryThis(''.slice); +// TODO: Use only proper RegExpIdentifierName +var IS_NCG = /^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/; +var re1 = /a/g; +var re2 = /a/g; + +// "new" should create a new object, old webkit bug +var CORRECT_NEW = new NativeRegExp(re1) !== re1; + +var MISSED_STICKY = stickyHelpers.MISSED_STICKY; +var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; + +var BASE_FORCED = DESCRIPTORS && + (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () { + re2[MATCH] = false; + // RegExp constructor can alter flags and IsRegExp works correct with @@match + // eslint-disable-next-line sonarjs/inconsistent-function-call -- required for testing + return NativeRegExp(re1) !== re1 || NativeRegExp(re2) === re2 || String(NativeRegExp(re1, 'i')) !== '/a/i'; + })); + +var handleDotAll = function (string) { + var length = string.length; + var index = 0; + var result = ''; + var brackets = false; + var chr; + for (; index <= length; index++) { + chr = charAt(string, index); + if (chr === '\\') { + result += chr + charAt(string, ++index); + continue; + } + if (!brackets && chr === '.') { + result += '[\\s\\S]'; + } else { + if (chr === '[') { + brackets = true; + } else if (chr === ']') { + brackets = false; + } result += chr; + } + } return result; +}; + +var handleNCG = function (string) { + var length = string.length; + var index = 0; + var result = ''; + var named = []; + var names = create(null); + var brackets = false; + var ncg = false; + var groupid = 0; + var groupname = ''; + var chr; + for (; index <= length; index++) { + chr = charAt(string, index); + if (chr === '\\') { + chr += charAt(string, ++index); + } else if (chr === ']') { + brackets = false; + } else if (!brackets) switch (true) { + case chr === '[': + brackets = true; + break; + case chr === '(': + result += chr; + // ignore non-capturing groups + if (stringSlice(string, index + 1, index + 3) === '?:') { + continue; + } + if (exec(IS_NCG, stringSlice(string, index + 1))) { + index += 2; + ncg = true; + } + groupid++; + continue; + case chr === '>' && ncg: + if (groupname === '' || hasOwn(names, groupname)) { + throw new SyntaxError('Invalid capture group name'); + } + names[groupname] = true; + named[named.length] = [groupname, groupid]; + ncg = false; + groupname = ''; + continue; + } + if (ncg) groupname += chr; + else result += chr; + } return [result, named]; +}; + +// `RegExp` constructor +// https://tc39.es/ecma262/#sec-regexp-constructor +if (isForced('RegExp', BASE_FORCED)) { + var RegExpWrapper = function RegExp(pattern, flags) { + var thisIsRegExp = isPrototypeOf(RegExpPrototype, this); + var patternIsRegExp = isRegExp(pattern); + var flagsAreUndefined = flags === undefined; + var groups = []; + var rawPattern = pattern; + var rawFlags, dotAll, sticky, handled, result, state; + + if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) { + return pattern; + } + + if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) { + pattern = pattern.source; + if (flagsAreUndefined) flags = getRegExpFlags(rawPattern); + } + + pattern = pattern === undefined ? '' : toString(pattern); + flags = flags === undefined ? '' : toString(flags); + rawPattern = pattern; + + if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) { + dotAll = !!flags && stringIndexOf(flags, 's') > -1; + if (dotAll) flags = replace(flags, /s/g, ''); + } + + rawFlags = flags; + + if (MISSED_STICKY && 'sticky' in re1) { + sticky = !!flags && stringIndexOf(flags, 'y') > -1; + if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, ''); + } + + if (UNSUPPORTED_NCG) { + handled = handleNCG(pattern); + pattern = handled[0]; + groups = handled[1]; + } + + result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper); + + if (dotAll || sticky || groups.length) { + state = enforceInternalState(result); + if (dotAll) { + state.dotAll = true; + state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags); + } + if (sticky) state.sticky = true; + if (groups.length) state.groups = groups; + } + + if (pattern !== rawPattern) try { + // fails in old engines, but we have no alternatives for unsupported regex syntax + createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern); + } catch (error) { /* empty */ } + + return result; + }; + + for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) { + proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]); + } + + RegExpPrototype.constructor = RegExpWrapper; + RegExpWrapper.prototype = RegExpPrototype; + defineBuiltIn(globalThis, 'RegExp', RegExpWrapper, { constructor: true }); +} + +// https://tc39.es/ecma262/#sec-get-regexp-@@species +setSpecies('RegExp'); + + +/***/ }), +/* 401 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var wellKnownSymbol = __webpack_require__(33); + +var MATCH = wellKnownSymbol('match'); + +// `IsRegExp` abstract operation +// https://tc39.es/ecma262/#sec-isregexp +module.exports = function (it) { + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp'); +}; + + +/***/ }), +/* 402 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var hasOwn = __webpack_require__(38); +var isPrototypeOf = __webpack_require__(24); +var regExpFlags = __webpack_require__(403); + +var RegExpPrototype = RegExp.prototype; + +module.exports = function (R) { + var flags = R.flags; + return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R) + ? call(regExpFlags, R) : flags; +}; + + +/***/ }), +/* 403 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); + +// `RegExp.prototype.flags` getter implementation +// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.hasIndices) result += 'd'; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.dotAll) result += 's'; + if (that.unicode) result += 'u'; + if (that.unicodeSets) result += 'v'; + if (that.sticky) result += 'y'; + return result; +}; + + +/***/ }), +/* 404 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +var UNSUPPORTED_Y = fails(function () { + var re = $RegExp('a', 'y'); + re.lastIndex = 2; + return re.exec('abcd') !== null; +}); + +// UC Browser bug +// https://github.com/zloirock/core-js/issues/1008 +var MISSED_STICKY = UNSUPPORTED_Y || fails(function () { + return !$RegExp('a', 'y').sticky; +}); + +var BROKEN_CARET = UNSUPPORTED_Y || fails(function () { + // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 + var re = $RegExp('^r', 'gy'); + re.lastIndex = 2; + return re.exec('str') !== null; +}); + +module.exports = { + BROKEN_CARET: BROKEN_CARET, + MISSED_STICKY: MISSED_STICKY, + UNSUPPORTED_Y: UNSUPPORTED_Y +}; + + +/***/ }), +/* 405 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +module.exports = fails(function () { + var re = $RegExp('.', 's'); + return !(re.dotAll && re.test('\n') && re.flags === 's'); +}); + + +/***/ }), +/* 406 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +module.exports = fails(function () { + var re = $RegExp('(?<a>b)', 'g'); + return re.exec('b').groups.a !== 'b' || + 'b'.replace(re, '$<a>c') !== 'bc'; +}); + + +/***/ }), +/* 407 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var classof = __webpack_require__(15); +var defineBuiltInAccessor = __webpack_require__(77); +var getInternalState = (__webpack_require__(51).get); + +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; + +// `RegExp.prototype.dotAll` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall +if (DESCRIPTORS && UNSUPPORTED_DOT_ALL) { + defineBuiltInAccessor(RegExpPrototype, 'dotAll', { + configurable: true, + get: function dotAll() { + if (this === RegExpPrototype) return; + // We can't use InternalStateModule.getterFor because + // we don't add metadata for regexps created by a literal. + if (classof(this) === 'RegExp') { + return !!getInternalState(this).dotAll; + } + throw new $TypeError('Incompatible receiver, RegExp required'); + } + }); +} + + +/***/ }), +/* 408 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var exec = __webpack_require__(409); + +// `RegExp.prototype.exec` method +// https://tc39.es/ecma262/#sec-regexp.prototype.exec +$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { + exec: exec +}); + + +/***/ }), +/* 409 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */ +/* eslint-disable regexp/no-useless-quantifier -- testing */ +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var regexpFlags = __webpack_require__(403); +var stickyHelpers = __webpack_require__(404); +var shared = __webpack_require__(34); +var create = __webpack_require__(71); +var getInternalState = (__webpack_require__(51).get); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var UNSUPPORTED_NCG = __webpack_require__(406); + +var nativeReplace = shared('native-string-replace', String.prototype.replace); +var nativeExec = RegExp.prototype.exec; +var patchedExec = nativeExec; +var charAt = uncurryThis(''.charAt); +var indexOf = uncurryThis(''.indexOf); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); + +var UPDATES_LAST_INDEX_WRONG = (function () { + var re1 = /a/; + var re2 = /b*/g; + call(nativeExec, re1, 'a'); + call(nativeExec, re2, 'a'); + return re1.lastIndex !== 0 || re2.lastIndex !== 0; +})(); + +var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET; + +// nonparticipating capturing group, copied from es5-shim's String#split patch. +var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; + +var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG; + +if (PATCH) { + patchedExec = function exec(string) { + var re = this; + var state = getInternalState(re); + var str = toString(string); + var raw = state.raw; + var result, reCopy, lastIndex, match, i, object, group; + + if (raw) { + raw.lastIndex = re.lastIndex; + result = call(patchedExec, raw, str); + re.lastIndex = raw.lastIndex; + return result; + } + + var groups = state.groups; + var sticky = UNSUPPORTED_Y && re.sticky; + var flags = call(regexpFlags, re); + var source = re.source; + var charsAdded = 0; + var strCopy = str; + + if (sticky) { + flags = replace(flags, 'y', ''); + if (indexOf(flags, 'g') === -1) { + flags += 'g'; + } + + strCopy = stringSlice(str, re.lastIndex); + // Support anchored sticky behavior. + if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\n')) { + source = '(?: ' + source + ')'; + strCopy = ' ' + strCopy; + charsAdded++; + } + // ^(? + rx + ) is needed, in combination with some str slicing, to + // simulate the 'y' flag. + reCopy = new RegExp('^(?:' + source + ')', flags); + } + + if (NPCG_INCLUDED) { + reCopy = new RegExp('^' + source + '$(?!\\s)', flags); + } + if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; + + match = call(nativeExec, sticky ? reCopy : re, strCopy); + + if (sticky) { + if (match) { + match.input = stringSlice(match.input, charsAdded); + match[0] = stringSlice(match[0], charsAdded); + match.index = re.lastIndex; + re.lastIndex += match[0].length; + } else re.lastIndex = 0; + } else if (UPDATES_LAST_INDEX_WRONG && match) { + re.lastIndex = re.global ? match.index + match[0].length : lastIndex; + } + if (NPCG_INCLUDED && match && match.length > 1) { + // Fix browsers whose `exec` methods don't consistently return `undefined` + // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/ + call(nativeReplace, match[0], reCopy, function () { + for (i = 1; i < arguments.length - 2; i++) { + if (arguments[i] === undefined) match[i] = undefined; + } + }); + } + + if (match && groups) { + match.groups = object = create(null); + for (i = 0; i < groups.length; i++) { + group = groups[i]; + object[group[0]] = match[group[1]]; + } + } + + return match; + }; +} + +module.exports = patchedExec; + + +/***/ }), +/* 410 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var regExpFlags = __webpack_require__(403); +var fails = __webpack_require__(7); + +// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError +var RegExp = globalThis.RegExp; +var RegExpPrototype = RegExp.prototype; + +var FORCED = DESCRIPTORS && fails(function () { + var INDICES_SUPPORT = true; + try { + RegExp('.', 'd'); + } catch (error) { + INDICES_SUPPORT = false; + } + + var O = {}; + // modern V8 bug + var calls = ''; + var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy'; + + var addGetter = function (key, chr) { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty(O, key, { get: function () { + calls += chr; + return true; + } }); + }; + + var pairs = { + dotAll: 's', + global: 'g', + ignoreCase: 'i', + multiline: 'm', + sticky: 'y' + }; + + if (INDICES_SUPPORT) pairs.hasIndices = 'd'; + + for (var key in pairs) addGetter(key, pairs[key]); + + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var result = Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call(O); + + return result !== expected || calls !== expected; +}); + +// `RegExp.prototype.flags` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags +if (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', { + configurable: true, + get: regExpFlags +}); + + +/***/ }), +/* 411 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var MISSED_STICKY = (__webpack_require__(404).MISSED_STICKY); +var classof = __webpack_require__(15); +var defineBuiltInAccessor = __webpack_require__(77); +var getInternalState = (__webpack_require__(51).get); + +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; + +// `RegExp.prototype.sticky` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky +if (DESCRIPTORS && MISSED_STICKY) { + defineBuiltInAccessor(RegExpPrototype, 'sticky', { + configurable: true, + get: function sticky() { + if (this === RegExpPrototype) return; + // We can't use InternalStateModule.getterFor because + // we don't add metadata for regexps created by a literal. + if (classof(this) === 'RegExp') { + return !!getInternalState(this).sticky; + } + throw new $TypeError('Incompatible receiver, RegExp required'); + } + }); +} + + +/***/ }), +/* 412 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` since it's moved to entry points +__webpack_require__(408); +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var anObject = __webpack_require__(46); +var toString = __webpack_require__(68); + +var DELEGATES_TO_EXEC = function () { + var execCalled = false; + var re = /[ac]/; + re.exec = function () { + execCalled = true; + return /./.exec.apply(this, arguments); + }; + return re.test('abc') === true && execCalled; +}(); + +var nativeTest = /./.test; + +// `RegExp.prototype.test` method +// https://tc39.es/ecma262/#sec-regexp.prototype.test +$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, { + test: function (S) { + var R = anObject(this); + var string = toString(S); + var exec = R.exec; + if (!isCallable(exec)) return call(nativeTest, R, string); + var result = call(exec, R, string); + if (result === null) return false; + anObject(result); + return true; + } +}); + + +/***/ }), +/* 413 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var PROPER_FUNCTION_NAME = (__webpack_require__(49).PROPER); +var defineBuiltIn = __webpack_require__(47); +var anObject = __webpack_require__(46); +var $toString = __webpack_require__(68); +var fails = __webpack_require__(7); +var getRegExpFlags = __webpack_require__(402); + +var TO_STRING = 'toString'; +var RegExpPrototype = RegExp.prototype; +var nativeToString = RegExpPrototype[TO_STRING]; + +var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; }); +// FF44- RegExp#toString has a wrong name +var INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING; + +// `RegExp.prototype.toString` method +// https://tc39.es/ecma262/#sec-regexp.prototype.tostring +if (NOT_GENERIC || INCORRECT_NAME) { + defineBuiltIn(RegExpPrototype, TO_STRING, function toString() { + var R = anObject(this); + var pattern = $toString(R.source); + var flags = $toString(getRegExpFlags(R)); + return '/' + pattern + '/' + flags; + }, { unsafe: true }); +} + + +/***/ }), +/* 414 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(415); + + +/***/ }), +/* 415 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionStrong = __webpack_require__(277); + +// `Set` constructor +// https://tc39.es/ecma262/#sec-set-objects +collection('Set', function (init) { + return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + + +/***/ }), +/* 416 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var difference = __webpack_require__(417); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.difference` method +// https://tc39.es/ecma262/#sec-set.prototype.difference +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, { + difference: difference +}); + + +/***/ }), +/* 417 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var clone = __webpack_require__(420); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); + +var has = SetHelpers.has; +var remove = SetHelpers.remove; + +// `Set.prototype.difference` method +// https://github.com/tc39/proposal-set-methods +module.exports = function difference(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = clone(O); + if (size(O) <= otherRec.size) iterateSet(O, function (e) { + if (otherRec.includes(e)) remove(result, e); + }); + else iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) remove(result, e); + }); + return result; +}; + + +/***/ }), +/* 418 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var has = (__webpack_require__(419).has); + +// Perform ? RequireInternalSlot(M, [[SetData]]) +module.exports = function (it) { + has(it); + return it; +}; + + +/***/ }), +/* 419 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// eslint-disable-next-line es/no-set -- safe +var SetPrototype = Set.prototype; + +module.exports = { + // eslint-disable-next-line es/no-set -- safe + Set: Set, + add: uncurryThis(SetPrototype.add), + has: uncurryThis(SetPrototype.has), + remove: uncurryThis(SetPrototype['delete']), + proto: SetPrototype +}; + + +/***/ }), +/* 420 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var SetHelpers = __webpack_require__(419); +var iterate = __webpack_require__(421); + +var Set = SetHelpers.Set; +var add = SetHelpers.add; + +module.exports = function (set) { + var result = new Set(); + iterate(set, function (it) { + add(result, it); + }); + return result; +}; + + +/***/ }), +/* 421 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var iterateSimple = __webpack_require__(422); +var SetHelpers = __webpack_require__(419); + +var Set = SetHelpers.Set; +var SetPrototype = SetHelpers.proto; +var forEach = uncurryThis(SetPrototype.forEach); +var keys = uncurryThis(SetPrototype.keys); +var next = keys(new Set()).next; + +module.exports = function (set, fn, interruptible) { + return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn); +}; + + +/***/ }), +/* 422 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); + +module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) { + var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator; + var next = record.next; + var step, result; + while (!(step = call(next, iterator)).done) { + result = fn(step.value); + if (result !== undefined) return result; + } +}; + + +/***/ }), +/* 423 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThisAccessor = __webpack_require__(114); +var SetHelpers = __webpack_require__(419); + +module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) { + return set.size; +}; + + +/***/ }), +/* 424 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var call = __webpack_require__(8); +var toIntegerOrInfinity = __webpack_require__(61); +var getIteratorDirect = __webpack_require__(252); + +var INVALID_SIZE = 'Invalid size'; +var $RangeError = RangeError; +var $TypeError = TypeError; +var max = Math.max; + +var SetRecord = function (set, intSize) { + this.set = set; + this.size = max(intSize, 0); + this.has = aCallable(set.has); + this.keys = aCallable(set.keys); +}; + +SetRecord.prototype = { + getIterator: function () { + return getIteratorDirect(anObject(call(this.keys, this.set))); + }, + includes: function (it) { + return call(this.has, this.set, it); + } +}; + +// `GetSetRecord` abstract operation +// https://tc39.es/proposal-set-methods/#sec-getsetrecord +module.exports = function (obj) { + anObject(obj); + var numSize = +obj.size; + // NOTE: If size is undefined, then numSize will be NaN + // eslint-disable-next-line no-self-compare -- NaN check + if (numSize !== numSize) throw new $TypeError(INVALID_SIZE); + var intSize = toIntegerOrInfinity(numSize); + if (intSize < 0) throw new $RangeError(INVALID_SIZE); + return new SetRecord(obj, intSize); +}; + + +/***/ }), +/* 425 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); + +var createSetLike = function (size) { + return { + size: size, + has: function () { + return false; + }, + keys: function () { + return { + next: function () { + return { done: true }; + } + }; + } + }; +}; + +module.exports = function (name) { + var Set = getBuiltIn('Set'); + try { + new Set()[name](createSetLike(0)); + try { + // late spec change, early WebKit ~ Safari 17.0 beta implementation does not pass it + // https://github.com/tc39/proposal-set-methods/pull/88 + new Set()[name](createSetLike(-1)); + return false; + } catch (error2) { + return true; + } + } catch (error) { + return false; + } +}; + + +/***/ }), +/* 426 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var intersection = __webpack_require__(427); +var setMethodAcceptSetLike = __webpack_require__(425); + +var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () { + // eslint-disable-next-line es/no-array-from, es/no-set -- testing + return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2'; +}); + +// `Set.prototype.intersection` method +// https://tc39.es/ecma262/#sec-set.prototype.intersection +$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, { + intersection: intersection +}); + + +/***/ }), +/* 427 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); + +var Set = SetHelpers.Set; +var add = SetHelpers.add; +var has = SetHelpers.has; + +// `Set.prototype.intersection` method +// https://github.com/tc39/proposal-set-methods +module.exports = function intersection(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = new Set(); + + if (size(O) > otherRec.size) { + iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) add(result, e); + }); + } else { + iterateSet(O, function (e) { + if (otherRec.includes(e)) add(result, e); + }); + } + + return result; +}; + + +/***/ }), +/* 428 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isDisjointFrom = __webpack_require__(429); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isDisjointFrom` method +// https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, { + isDisjointFrom: isDisjointFrom +}); + + +/***/ }), +/* 429 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var has = (__webpack_require__(419).has); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); +var iteratorClose = __webpack_require__(135); + +// `Set.prototype.isDisjointFrom` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom +module.exports = function isDisjointFrom(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) <= otherRec.size) return iterateSet(O, function (e) { + if (otherRec.includes(e)) return false; + }, true) !== false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (has(O, e)) return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + + +/***/ }), +/* 430 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isSubsetOf = __webpack_require__(431); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isSubsetOf` method +// https://tc39.es/ecma262/#sec-set.prototype.issubsetof +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, { + isSubsetOf: isSubsetOf +}); + + +/***/ }), +/* 431 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var size = __webpack_require__(423); +var iterate = __webpack_require__(421); +var getSetRecord = __webpack_require__(424); + +// `Set.prototype.isSubsetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf +module.exports = function isSubsetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) > otherRec.size) return false; + return iterate(O, function (e) { + if (!otherRec.includes(e)) return false; + }, true) !== false; +}; + + +/***/ }), +/* 432 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isSupersetOf = __webpack_require__(433); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isSupersetOf` method +// https://tc39.es/ecma262/#sec-set.prototype.issupersetof +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, { + isSupersetOf: isSupersetOf +}); + + +/***/ }), +/* 433 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var has = (__webpack_require__(419).has); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); +var iteratorClose = __webpack_require__(135); + +// `Set.prototype.isSupersetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf +module.exports = function isSupersetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) < otherRec.size) return false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (!has(O, e)) return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + + +/***/ }), +/* 434 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var symmetricDifference = __webpack_require__(435); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.symmetricDifference` method +// https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, { + symmetricDifference: symmetricDifference +}); + + +/***/ }), +/* 435 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var clone = __webpack_require__(420); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); + +var add = SetHelpers.add; +var has = SetHelpers.has; +var remove = SetHelpers.remove; + +// `Set.prototype.symmetricDifference` method +// https://github.com/tc39/proposal-set-methods +module.exports = function symmetricDifference(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (e) { + if (has(O, e)) remove(result, e); + else add(result, e); + }); + return result; +}; + + +/***/ }), +/* 436 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var union = __webpack_require__(437); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.union` method +// https://tc39.es/ecma262/#sec-set.prototype.union +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, { + union: union +}); + + +/***/ }), +/* 437 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var add = (__webpack_require__(419).add); +var clone = __webpack_require__(420); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); + +// `Set.prototype.union` method +// https://github.com/tc39/proposal-set-methods +module.exports = function union(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (it) { + add(result, it); + }); + return result; +}; + + +/***/ }), +/* 438 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); + +var charAt = uncurryThis(''.charAt); + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-string-prototype-at -- safe + return '𠮷'.at(-2) !== '\uD842'; +}); + +// `String.prototype.at` method +// https://tc39.es/ecma262/#sec-string.prototype.at +$({ target: 'String', proto: true, forced: FORCED }, { + at: function at(index) { + var S = toString(requireObjectCoercible(this)); + var len = S.length; + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : charAt(S, k); + } +}); + + +/***/ }), +/* 439 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var codeAt = (__webpack_require__(440).codeAt); + +// `String.prototype.codePointAt` method +// https://tc39.es/ecma262/#sec-string.prototype.codepointat +$({ target: 'String', proto: true }, { + codePointAt: function codePointAt(pos) { + return codeAt(this, pos); + } +}); + + +/***/ }), +/* 440 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); + +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var stringSlice = uncurryThis(''.slice); + +var createMethod = function (CONVERT_TO_STRING) { + return function ($this, pos) { + var S = toString(requireObjectCoercible($this)); + var position = toIntegerOrInfinity(pos); + var size = S.length; + var first, second; + if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; + first = charCodeAt(S, position); + return first < 0xD800 || first > 0xDBFF || position + 1 === size + || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF + ? CONVERT_TO_STRING + ? charAt(S, position) + : first + : CONVERT_TO_STRING + ? stringSlice(S, position, position + 2) + : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; + }; +}; + +module.exports = { + // `String.prototype.codePointAt` method + // https://tc39.es/ecma262/#sec-string.prototype.codepointat + codeAt: createMethod(false), + // `String.prototype.at` method + // https://github.com/mathiasbynens/String.prototype.at + charAt: createMethod(true) +}; + + +/***/ }), +/* 441 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var correctIsRegExpLogic = __webpack_require__(443); +var IS_PURE = __webpack_require__(36); + +var slice = uncurryThis(''.slice); +var min = Math.min; + +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith'); + return descriptor && !descriptor.writable; +}(); + +// `String.prototype.endsWith` method +// https://tc39.es/ecma262/#sec-string.prototype.endswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + endsWith: function endsWith(searchString /* , endPosition = @length */) { + var that = toString(requireObjectCoercible(this)); + notARegExp(searchString); + var endPosition = arguments.length > 1 ? arguments[1] : undefined; + var len = that.length; + var end = endPosition === undefined ? len : min(toLength(endPosition), len); + var search = toString(searchString); + return slice(that, end - search.length, end) === search; + } +}); + + +/***/ }), +/* 442 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isRegExp = __webpack_require__(401); + +var $TypeError = TypeError; + +module.exports = function (it) { + if (isRegExp(it)) { + throw new $TypeError("The method doesn't accept regular expressions"); + } return it; +}; + + +/***/ }), +/* 443 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var MATCH = wellKnownSymbol('match'); + +module.exports = function (METHOD_NAME) { + var regexp = /./; + try { + '/./'[METHOD_NAME](regexp); + } catch (error1) { + try { + regexp[MATCH] = false; + return '/./'[METHOD_NAME](regexp); + } catch (error2) { /* empty */ } + } return false; +}; + + +/***/ }), +/* 444 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toAbsoluteIndex = __webpack_require__(60); + +var $RangeError = RangeError; +var fromCharCode = String.fromCharCode; +// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing +var $fromCodePoint = String.fromCodePoint; +var join = uncurryThis([].join); + +// length should be 1, old FF problem +var INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length !== 1; + +// `String.fromCodePoint` method +// https://tc39.es/ecma262/#sec-string.fromcodepoint +$({ target: 'String', stat: true, arity: 1, forced: INCORRECT_LENGTH }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + fromCodePoint: function fromCodePoint(x) { + var elements = []; + var length = arguments.length; + var i = 0; + var code; + while (length > i) { + code = +arguments[i++]; + if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw new $RangeError(code + ' is not a valid code point'); + elements[i] = code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00); + } return join(elements, ''); + } +}); + + +/***/ }), +/* 445 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var correctIsRegExpLogic = __webpack_require__(443); + +var stringIndexOf = uncurryThis(''.indexOf); + +// `String.prototype.includes` method +// https://tc39.es/ecma262/#sec-string.prototype.includes +$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { + includes: function includes(searchString /* , position = 0 */) { + return !!~stringIndexOf( + toString(requireObjectCoercible(this)), + toString(notARegExp(searchString)), + arguments.length > 1 ? arguments[1] : undefined + ); + } +}); + + +/***/ }), +/* 446 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); + +var charCodeAt = uncurryThis(''.charCodeAt); + +// `String.prototype.isWellFormed` method +// https://tc39.es/ecma262/#sec-string.prototype.iswellformed +$({ target: 'String', proto: true }, { + isWellFormed: function isWellFormed() { + var S = toString(requireObjectCoercible(this)); + var length = S.length; + for (var i = 0; i < length; i++) { + var charCode = charCodeAt(S, i); + // single UTF-16 code unit + if ((charCode & 0xF800) !== 0xD800) continue; + // unpaired surrogate + if (charCode >= 0xDC00 || ++i >= length || (charCodeAt(S, i) & 0xFC00) !== 0xDC00) return false; + } return true; + } +}); + + +/***/ }), +/* 447 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var charAt = (__webpack_require__(440).charAt); +var toString = __webpack_require__(68); +var InternalStateModule = __webpack_require__(51); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); + +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// `String.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-string.prototype-@@iterator +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: toString(iterated), + index: 0 + }); +// `%StringIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return createIterResultObject(undefined, true); + point = charAt(string, index); + state.index += point.length; + return createIterResultObject(point, false); +}); + + +/***/ }), +/* 448 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); +var getMethod = __webpack_require__(29); +var advanceStringIndex = __webpack_require__(450); +var regExpExec = __webpack_require__(451); + +// @@match logic +fixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) { + return [ + // `String.prototype.match` method + // https://tc39.es/ecma262/#sec-string.prototype.match + function match(regexp) { + var O = requireObjectCoercible(this); + var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH); + return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O)); + }, + // `RegExp.prototype[@@match]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@match + function (string) { + var rx = anObject(this); + var S = toString(string); + var res = maybeCallNative(nativeMatch, rx, S); + + if (res.done) return res.value; + + if (!rx.global) return regExpExec(rx, S); + + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + var A = []; + var n = 0; + var result; + while ((result = regExpExec(rx, S)) !== null) { + var matchStr = toString(result[0]); + A[n] = matchStr; + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + n++; + } + return n === 0 ? null : A; + } + ]; +}); + + +/***/ }), +/* 449 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` since it's moved to entry points +__webpack_require__(408); +var call = __webpack_require__(8); +var defineBuiltIn = __webpack_require__(47); +var regexpExec = __webpack_require__(409); +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var createNonEnumerableProperty = __webpack_require__(43); + +var SPECIES = wellKnownSymbol('species'); +var RegExpPrototype = RegExp.prototype; + +module.exports = function (KEY, exec, FORCED, SHAM) { + var SYMBOL = wellKnownSymbol(KEY); + + var DELEGATES_TO_SYMBOL = !fails(function () { + // String methods call symbol-named RegExp methods + var O = {}; + O[SYMBOL] = function () { return 7; }; + return ''[KEY](O) !== 7; + }); + + var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { + // Symbol-named RegExp methods call .exec + var execCalled = false; + var re = /a/; + + if (KEY === 'split') { + // We can't use real regex here since it causes deoptimization + // and serious performance degradation in V8 + // https://github.com/zloirock/core-js/issues/306 + re = {}; + // RegExp[@@split] doesn't call the regex's exec method, but first creates + // a new one. We need to return the patched regex when creating the new one. + re.constructor = {}; + re.constructor[SPECIES] = function () { return re; }; + re.flags = ''; + re[SYMBOL] = /./[SYMBOL]; + } + + re.exec = function () { + execCalled = true; + return null; + }; + + re[SYMBOL](''); + return !execCalled; + }); + + if ( + !DELEGATES_TO_SYMBOL || + !DELEGATES_TO_EXEC || + FORCED + ) { + var nativeRegExpMethod = /./[SYMBOL]; + var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { + var $exec = regexp.exec; + if ($exec === regexpExec || $exec === RegExpPrototype.exec) { + if (DELEGATES_TO_SYMBOL && !forceStringMethod) { + // The native String method already delegates to @@method (this + // polyfilled function), leasing to infinite recursion. + // We avoid it by directly calling the native @@method method. + return { done: true, value: call(nativeRegExpMethod, regexp, str, arg2) }; + } + return { done: true, value: call(nativeMethod, str, regexp, arg2) }; + } + return { done: false }; + }); + + defineBuiltIn(String.prototype, KEY, methods[0]); + defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]); + } + + if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true); +}; + + +/***/ }), +/* 450 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var charAt = (__webpack_require__(440).charAt); + +// `AdvanceStringIndex` abstract operation +// https://tc39.es/ecma262/#sec-advancestringindex +module.exports = function (S, index, unicode) { + return index + (unicode ? charAt(S, index).length : 1); +}; + + +/***/ }), +/* 451 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(15); +var regexpExec = __webpack_require__(409); + +var $TypeError = TypeError; + +// `RegExpExec` abstract operation +// https://tc39.es/ecma262/#sec-regexpexec +module.exports = function (R, S) { + var exec = R.exec; + if (isCallable(exec)) { + var result = call(exec, R, S); + if (result !== null) anObject(result); + return result; + } + if (classof(R) === 'RegExp') return call(regexpExec, R, S); + throw new $TypeError('RegExp#exec called on incompatible receiver'); +}; + + +/***/ }), +/* 452 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-string-prototype-matchall -- safe */ +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(85); +var createIteratorConstructor = __webpack_require__(170); +var createIterResultObject = __webpack_require__(172); +var requireObjectCoercible = __webpack_require__(16); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var classof = __webpack_require__(15); +var isRegExp = __webpack_require__(401); +var getRegExpFlags = __webpack_require__(402); +var getMethod = __webpack_require__(29); +var defineBuiltIn = __webpack_require__(47); +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var speciesConstructor = __webpack_require__(358); +var advanceStringIndex = __webpack_require__(450); +var regExpExec = __webpack_require__(451); +var InternalStateModule = __webpack_require__(51); +var IS_PURE = __webpack_require__(36); + +var MATCH_ALL = wellKnownSymbol('matchAll'); +var REGEXP_STRING = 'RegExp String'; +var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR); +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; +var stringIndexOf = uncurryThis(''.indexOf); +var nativeMatchAll = uncurryThis(''.matchAll); + +var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () { + nativeMatchAll('a', /./); +}); + +var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, $global, fullUnicode) { + setInternalState(this, { + type: REGEXP_STRING_ITERATOR, + regexp: regexp, + string: string, + global: $global, + unicode: fullUnicode, + done: false + }); +}, REGEXP_STRING, function next() { + var state = getInternalState(this); + if (state.done) return createIterResultObject(undefined, true); + var R = state.regexp; + var S = state.string; + var match = regExpExec(R, S); + if (match === null) { + state.done = true; + return createIterResultObject(undefined, true); + } + if (state.global) { + if (toString(match[0]) === '') R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode); + return createIterResultObject(match, false); + } + state.done = true; + return createIterResultObject(match, false); +}); + +var $matchAll = function (string) { + var R = anObject(this); + var S = toString(string); + var C = speciesConstructor(R, RegExp); + var flags = toString(getRegExpFlags(R)); + var matcher, $global, fullUnicode; + matcher = new C(C === RegExp ? R.source : R, flags); + $global = !!~stringIndexOf(flags, 'g'); + fullUnicode = !!~stringIndexOf(flags, 'u'); + matcher.lastIndex = toLength(R.lastIndex); + return new $RegExpStringIterator(matcher, S, $global, fullUnicode); +}; + +// `String.prototype.matchAll` method +// https://tc39.es/ecma262/#sec-string.prototype.matchall +$({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, { + matchAll: function matchAll(regexp) { + var O = requireObjectCoercible(this); + var flags, S, matcher, rx; + if (!isNullOrUndefined(regexp)) { + if (isRegExp(regexp)) { + flags = toString(requireObjectCoercible(getRegExpFlags(regexp))); + if (!~stringIndexOf(flags, 'g')) throw new $TypeError('`.matchAll` does not allow non-global regexes'); + } + if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll(O, regexp); + matcher = getMethod(regexp, MATCH_ALL); + if (matcher === undefined && IS_PURE && classof(regexp) === 'RegExp') matcher = $matchAll; + if (matcher) return call(matcher, regexp, O); + } else if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll(O, regexp); + S = toString(O); + rx = new RegExp(regexp, 'g'); + return IS_PURE ? call($matchAll, rx, S) : rx[MATCH_ALL](S); + } +}); + +IS_PURE || MATCH_ALL in RegExpPrototype || defineBuiltIn(RegExpPrototype, MATCH_ALL, $matchAll); + + +/***/ }), +/* 453 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $padEnd = (__webpack_require__(238).end); +var WEBKIT_BUG = __webpack_require__(454); + +// `String.prototype.padEnd` method +// https://tc39.es/ecma262/#sec-string.prototype.padend +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padEnd: function padEnd(maxLength /* , fillString = ' ' */) { + return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 454 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// https://github.com/zloirock/core-js/issues/280 +var userAgent = __webpack_require__(28); + +module.exports = /Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(userAgent); + + +/***/ }), +/* 455 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $padStart = (__webpack_require__(238).start); +var WEBKIT_BUG = __webpack_require__(454); + +// `String.prototype.padStart` method +// https://tc39.es/ecma262/#sec-string.prototype.padstart +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padStart: function padStart(maxLength /* , fillString = ' ' */) { + return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 456 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIndexedObject = __webpack_require__(12); +var toObject = __webpack_require__(39); +var toString = __webpack_require__(68); +var lengthOfArrayLike = __webpack_require__(63); + +var push = uncurryThis([].push); +var join = uncurryThis([].join); + +// `String.raw` method +// https://tc39.es/ecma262/#sec-string.raw +$({ target: 'String', stat: true }, { + raw: function raw(template) { + var rawTemplate = toIndexedObject(toObject(template).raw); + var literalSegments = lengthOfArrayLike(rawTemplate); + if (!literalSegments) return ''; + var argumentsLength = arguments.length; + var elements = []; + var i = 0; + while (true) { + push(elements, toString(rawTemplate[i++])); + if (i === literalSegments) return join(elements, ''); + if (i < argumentsLength) push(elements, toString(arguments[i])); + } + } +}); + + +/***/ }), +/* 457 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var repeat = __webpack_require__(239); + +// `String.prototype.repeat` method +// https://tc39.es/ecma262/#sec-string.prototype.repeat +$({ target: 'String', proto: true }, { + repeat: repeat +}); + + +/***/ }), +/* 458 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var apply = __webpack_require__(94); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var fails = __webpack_require__(7); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); +var advanceStringIndex = __webpack_require__(450); +var getMethod = __webpack_require__(29); +var getSubstitution = __webpack_require__(459); +var regExpExec = __webpack_require__(451); +var wellKnownSymbol = __webpack_require__(33); + +var REPLACE = wellKnownSymbol('replace'); +var max = Math.max; +var min = Math.min; +var concat = uncurryThis([].concat); +var push = uncurryThis([].push); +var stringIndexOf = uncurryThis(''.indexOf); +var stringSlice = uncurryThis(''.slice); + +var maybeToString = function (it) { + return it === undefined ? it : String(it); +}; + +// IE <= 11 replaces $0 with the whole match, as if it was $& +// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 +var REPLACE_KEEPS_$0 = (function () { + // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing + return 'a'.replace(/./, '$0') === '$0'; +})(); + +// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string +var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () { + if (/./[REPLACE]) { + return /./[REPLACE]('a', '$0') === ''; + } + return false; +})(); + +var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { + var re = /./; + re.exec = function () { + var result = []; + result.groups = { a: '7' }; + return result; + }; + // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive + return ''.replace(re, '$<a>') !== '7'; +}); + +// @@replace logic +fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) { + var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0'; + + return [ + // `String.prototype.replace` method + // https://tc39.es/ecma262/#sec-string.prototype.replace + function replace(searchValue, replaceValue) { + var O = requireObjectCoercible(this); + var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE); + return replacer + ? call(replacer, searchValue, O, replaceValue) + : call(nativeReplace, toString(O), searchValue, replaceValue); + }, + // `RegExp.prototype[@@replace]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace + function (string, replaceValue) { + var rx = anObject(this); + var S = toString(string); + + if ( + typeof replaceValue == 'string' && + stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 && + stringIndexOf(replaceValue, '$<') === -1 + ) { + var res = maybeCallNative(nativeReplace, rx, S, replaceValue); + if (res.done) return res.value; + } + + var functionalReplace = isCallable(replaceValue); + if (!functionalReplace) replaceValue = toString(replaceValue); + + var global = rx.global; + var fullUnicode; + if (global) { + fullUnicode = rx.unicode; + rx.lastIndex = 0; + } + + var results = []; + var result; + while (true) { + result = regExpExec(rx, S); + if (result === null) break; + + push(results, result); + if (!global) break; + + var matchStr = toString(result[0]); + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + } + + var accumulatedResult = ''; + var nextSourcePosition = 0; + for (var i = 0; i < results.length; i++) { + result = results[i]; + + var matched = toString(result[0]); + var position = max(min(toIntegerOrInfinity(result.index), S.length), 0); + var captures = []; + var replacement; + // NOTE: This is equivalent to + // captures = result.slice(1).map(maybeToString) + // but for some reason `nativeSlice.call(result, 1, result.length)` (called in + // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and + // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. + for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j])); + var namedCaptures = result.groups; + if (functionalReplace) { + var replacerArgs = concat([matched], captures, position, S); + if (namedCaptures !== undefined) push(replacerArgs, namedCaptures); + replacement = toString(apply(replaceValue, undefined, replacerArgs)); + } else { + replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); + } + if (position >= nextSourcePosition) { + accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement; + nextSourcePosition = position + matched.length; + } + } + + return accumulatedResult + stringSlice(S, nextSourcePosition); + } + ]; +}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE); + + +/***/ }), +/* 459 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toObject = __webpack_require__(39); + +var floor = Math.floor; +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); +// eslint-disable-next-line redos/no-vulnerable -- safe +var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g; +var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g; + +// `GetSubstitution` abstract operation +// https://tc39.es/ecma262/#sec-getsubstitution +module.exports = function (matched, str, position, captures, namedCaptures, replacement) { + var tailPos = position + matched.length; + var m = captures.length; + var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; + if (namedCaptures !== undefined) { + namedCaptures = toObject(namedCaptures); + symbols = SUBSTITUTION_SYMBOLS; + } + return replace(replacement, symbols, function (match, ch) { + var capture; + switch (charAt(ch, 0)) { + case '$': return '$'; + case '&': return matched; + case '`': return stringSlice(str, 0, position); + case "'": return stringSlice(str, tailPos); + case '<': + capture = namedCaptures[stringSlice(ch, 1, -1)]; + break; + default: // \d\d? + var n = +ch; + if (n === 0) return match; + if (n > m) { + var f = floor(n / 10); + if (f === 0) return match; + if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1); + return match; + } + capture = captures[n - 1]; + } + return capture === undefined ? '' : capture; + }); +}; + + +/***/ }), +/* 460 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var isRegExp = __webpack_require__(401); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var getRegExpFlags = __webpack_require__(402); +var getSubstitution = __webpack_require__(459); +var wellKnownSymbol = __webpack_require__(33); +var IS_PURE = __webpack_require__(36); + +var REPLACE = wellKnownSymbol('replace'); +var $TypeError = TypeError; +var indexOf = uncurryThis(''.indexOf); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); +var max = Math.max; + +// `String.prototype.replaceAll` method +// https://tc39.es/ecma262/#sec-string.prototype.replaceall +$({ target: 'String', proto: true }, { + replaceAll: function replaceAll(searchValue, replaceValue) { + var O = requireObjectCoercible(this); + var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, position, replacement; + var endOfLastMatch = 0; + var result = ''; + if (!isNullOrUndefined(searchValue)) { + IS_REG_EXP = isRegExp(searchValue); + if (IS_REG_EXP) { + flags = toString(requireObjectCoercible(getRegExpFlags(searchValue))); + if (!~indexOf(flags, 'g')) throw new $TypeError('`.replaceAll` does not allow non-global regexes'); + } + replacer = getMethod(searchValue, REPLACE); + if (replacer) return call(replacer, searchValue, O, replaceValue); + if (IS_PURE && IS_REG_EXP) return replace(toString(O), searchValue, replaceValue); + } + string = toString(O); + searchString = toString(searchValue); + functionalReplace = isCallable(replaceValue); + if (!functionalReplace) replaceValue = toString(replaceValue); + searchLength = searchString.length; + advanceBy = max(1, searchLength); + position = indexOf(string, searchString); + while (position !== -1) { + replacement = functionalReplace + ? toString(replaceValue(searchString, position, string)) + : getSubstitution(searchString, string, position, [], undefined, replaceValue); + result += stringSlice(string, endOfLastMatch, position) + replacement; + endOfLastMatch = position + searchLength; + position = position + advanceBy > string.length ? -1 : indexOf(string, searchString, position + advanceBy); + } + if (endOfLastMatch < string.length) { + result += stringSlice(string, endOfLastMatch); + } + return result; + } +}); + + +/***/ }), +/* 461 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var requireObjectCoercible = __webpack_require__(16); +var sameValue = __webpack_require__(340); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var regExpExec = __webpack_require__(451); + +// @@search logic +fixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) { + return [ + // `String.prototype.search` method + // https://tc39.es/ecma262/#sec-string.prototype.search + function search(regexp) { + var O = requireObjectCoercible(this); + var searcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, SEARCH); + return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O)); + }, + // `RegExp.prototype[@@search]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@search + function (string) { + var rx = anObject(this); + var S = toString(string); + var res = maybeCallNative(nativeSearch, rx, S); + + if (res.done) return res.value; + + var previousLastIndex = rx.lastIndex; + if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; + var result = regExpExec(rx, S); + if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; + return result === null ? -1 : result.index; + } + ]; +}); + + +/***/ }), +/* 462 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var requireObjectCoercible = __webpack_require__(16); +var speciesConstructor = __webpack_require__(358); +var advanceStringIndex = __webpack_require__(450); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var regExpExec = __webpack_require__(451); +var stickyHelpers = __webpack_require__(404); +var fails = __webpack_require__(7); + +var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; +var MAX_UINT32 = 0xFFFFFFFF; +var min = Math.min; +var push = uncurryThis([].push); +var stringSlice = uncurryThis(''.slice); + +// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec +// Weex JS has frozen built-in prototypes, so use try / catch wrapper +var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { + // eslint-disable-next-line regexp/no-empty-group -- required for testing + var re = /(?:)/; + var originalExec = re.exec; + re.exec = function () { return originalExec.apply(this, arguments); }; + var result = 'ab'.split(re); + return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; +}); + +var BUGGY = 'abbc'.split(/(b)*/)[1] === 'c' || + // eslint-disable-next-line regexp/no-empty-group -- required for testing + 'test'.split(/(?:)/, -1).length !== 4 || + 'ab'.split(/(?:ab)*/).length !== 2 || + '.'.split(/(.?)(.?)/).length !== 4 || + // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing + '.'.split(/()()/).length > 1 || + ''.split(/.?/).length; + +// @@split logic +fixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) { + var internalSplit = '0'.split(undefined, 0).length ? function (separator, limit) { + return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit); + } : nativeSplit; + + return [ + // `String.prototype.split` method + // https://tc39.es/ecma262/#sec-string.prototype.split + function split(separator, limit) { + var O = requireObjectCoercible(this); + var splitter = isNullOrUndefined(separator) ? undefined : getMethod(separator, SPLIT); + return splitter + ? call(splitter, separator, O, limit) + : call(internalSplit, toString(O), separator, limit); + }, + // `RegExp.prototype[@@split]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@split + // + // NOTE: This cannot be properly polyfilled in engines that don't support + // the 'y' flag. + function (string, limit) { + var rx = anObject(this); + var S = toString(string); + + if (!BUGGY) { + var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit); + if (res.done) return res.value; + } + + var C = speciesConstructor(rx, RegExp); + var unicodeMatching = rx.unicode; + var flags = (rx.ignoreCase ? 'i' : '') + + (rx.multiline ? 'm' : '') + + (rx.unicode ? 'u' : '') + + (UNSUPPORTED_Y ? 'g' : 'y'); + // ^(? + rx + ) is needed, in combination with some S slicing, to + // simulate the 'y' flag. + var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags); + var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; + if (lim === 0) return []; + if (S.length === 0) return regExpExec(splitter, S) === null ? [S] : []; + var p = 0; + var q = 0; + var A = []; + while (q < S.length) { + splitter.lastIndex = UNSUPPORTED_Y ? 0 : q; + var z = regExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S); + var e; + if ( + z === null || + (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p + ) { + q = advanceStringIndex(S, q, unicodeMatching); + } else { + push(A, stringSlice(S, p, q)); + if (A.length === lim) return A; + for (var i = 1; i <= z.length - 1; i++) { + push(A, z[i]); + if (A.length === lim) return A; + } + q = p = e; + } + } + push(A, stringSlice(S, p)); + return A; + } + ]; +}, BUGGY || !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y); + + +/***/ }), +/* 463 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var correctIsRegExpLogic = __webpack_require__(443); +var IS_PURE = __webpack_require__(36); + +var stringSlice = uncurryThis(''.slice); +var min = Math.min; + +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); + return descriptor && !descriptor.writable; +}(); + +// `String.prototype.startsWith` method +// https://tc39.es/ecma262/#sec-string.prototype.startswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = toString(requireObjectCoercible(this)); + notARegExp(searchString); + var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = toString(searchString); + return stringSlice(that, index, index + search.length) === search; + } +}); + + +/***/ }), +/* 464 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); + +var stringSlice = uncurryThis(''.slice); +var max = Math.max; +var min = Math.min; + +// eslint-disable-next-line unicorn/prefer-string-slice -- required for testing +var FORCED = !''.substr || 'ab'.substr(-1) !== 'b'; + +// `String.prototype.substr` method +// https://tc39.es/ecma262/#sec-string.prototype.substr +$({ target: 'String', proto: true, forced: FORCED }, { + substr: function substr(start, length) { + var that = toString(requireObjectCoercible(this)); + var size = that.length; + var intStart = toIntegerOrInfinity(start); + var intLength, intEnd; + if (intStart === Infinity) intStart = 0; + if (intStart < 0) intStart = max(size + intStart, 0); + intLength = length === undefined ? size : toIntegerOrInfinity(length); + if (intLength <= 0 || intLength === Infinity) return ''; + intEnd = min(intStart + intLength, size); + return intStart >= intEnd ? '' : stringSlice(that, intStart, intEnd); + } +}); + + +/***/ }), +/* 465 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); + +var $Array = Array; +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var join = uncurryThis([].join); +// eslint-disable-next-line es/no-string-prototype-towellformed -- safe +var $toWellFormed = ''.toWellFormed; +var REPLACEMENT_CHARACTER = '\uFFFD'; + +// Safari bug +var TO_STRING_CONVERSION_BUG = $toWellFormed && fails(function () { + return call($toWellFormed, 1) !== '1'; +}); + +// `String.prototype.toWellFormed` method +// https://tc39.es/ecma262/#sec-string.prototype.towellformed +$({ target: 'String', proto: true, forced: TO_STRING_CONVERSION_BUG }, { + toWellFormed: function toWellFormed() { + var S = toString(requireObjectCoercible(this)); + if (TO_STRING_CONVERSION_BUG) return call($toWellFormed, S); + var length = S.length; + var result = $Array(length); + for (var i = 0; i < length; i++) { + var charCode = charCodeAt(S, i); + // single UTF-16 code unit + if ((charCode & 0xF800) !== 0xD800) result[i] = charAt(S, i); + // unpaired surrogate + else if (charCode >= 0xDC00 || i + 1 >= length || (charCodeAt(S, i + 1) & 0xFC00) !== 0xDC00) result[i] = REPLACEMENT_CHARACTER; + // surrogate pair + else { + result[i] = charAt(S, i); + result[++i] = charAt(S, i); + } + } return join(result, ''); + } +}); + + +/***/ }), +/* 466 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $trim = (__webpack_require__(303).trim); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.trim` method +// https://tc39.es/ecma262/#sec-string.prototype.trim +$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, { + trim: function trim() { + return $trim(this); + } +}); + + +/***/ }), +/* 467 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var PROPER_FUNCTION_NAME = (__webpack_require__(49).PROPER); +var fails = __webpack_require__(7); +var whitespaces = __webpack_require__(304); + +var non = '\u200B\u0085\u180E'; + +// check that a method works with the correct list +// of whitespaces and has a correct name +module.exports = function (METHOD_NAME) { + return fails(function () { + return !!whitespaces[METHOD_NAME]() + || non[METHOD_NAME]() !== non + || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME); + }); +}; + + +/***/ }), +/* 468 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this line from `core-js@4` +__webpack_require__(469); +var $ = __webpack_require__(3); +var trimEnd = __webpack_require__(470); + +// `String.prototype.trimEnd` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimEnd !== trimEnd }, { + trimEnd: trimEnd +}); + + +/***/ }), +/* 469 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trimEnd = __webpack_require__(470); + +// `String.prototype.trimRight` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe +$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimRight !== trimEnd }, { + trimRight: trimEnd +}); + + +/***/ }), +/* 470 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $trimEnd = (__webpack_require__(303).end); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.{ trimEnd, trimRight }` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// https://tc39.es/ecma262/#String.prototype.trimright +module.exports = forcedStringTrimMethod('trimEnd') ? function trimEnd() { + return $trimEnd(this); +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +} : ''.trimEnd; + + +/***/ }), +/* 471 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this line from `core-js@4` +__webpack_require__(472); +var $ = __webpack_require__(3); +var trimStart = __webpack_require__(473); + +// `String.prototype.trimStart` method +// https://tc39.es/ecma262/#sec-string.prototype.trimstart +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimStart !== trimStart }, { + trimStart: trimStart +}); + + +/***/ }), +/* 472 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trimStart = __webpack_require__(473); + +// `String.prototype.trimLeft` method +// https://tc39.es/ecma262/#sec-string.prototype.trimleft +// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe +$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimLeft !== trimStart }, { + trimLeft: trimStart +}); + + +/***/ }), +/* 473 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $trimStart = (__webpack_require__(303).start); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.{ trimStart, trimLeft }` method +// https://tc39.es/ecma262/#sec-string.prototype.trimstart +// https://tc39.es/ecma262/#String.prototype.trimleft +module.exports = forcedStringTrimMethod('trimStart') ? function trimStart() { + return $trimStart(this); +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +} : ''.trimStart; + + +/***/ }), +/* 474 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.anchor` method +// https://tc39.es/ecma262/#sec-string.prototype.anchor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, { + anchor: function anchor(name) { + return createHTML(this, 'a', 'name', name); + } +}); + + +/***/ }), +/* 475 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); + +var quot = /"/g; +var replace = uncurryThis(''.replace); + +// `CreateHTML` abstract operation +// https://tc39.es/ecma262/#sec-createhtml +module.exports = function (string, tag, attribute, value) { + var S = toString(requireObjectCoercible(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + replace(toString(value), quot, '"') + '"'; + return p1 + '>' + S + '</' + tag + '>'; +}; + + +/***/ }), +/* 476 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +// check the existence of a method, lowercase +// of a tag and escaping quotes in arguments +module.exports = function (METHOD_NAME) { + return fails(function () { + var test = ''[METHOD_NAME]('"'); + return test !== test.toLowerCase() || test.split('"').length > 3; + }); +}; + + +/***/ }), +/* 477 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.big` method +// https://tc39.es/ecma262/#sec-string.prototype.big +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('big') }, { + big: function big() { + return createHTML(this, 'big', '', ''); + } +}); + + +/***/ }), +/* 478 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.blink` method +// https://tc39.es/ecma262/#sec-string.prototype.blink +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('blink') }, { + blink: function blink() { + return createHTML(this, 'blink', '', ''); + } +}); + + +/***/ }), +/* 479 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.bold` method +// https://tc39.es/ecma262/#sec-string.prototype.bold +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, { + bold: function bold() { + return createHTML(this, 'b', '', ''); + } +}); + + +/***/ }), +/* 480 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fixed` method +// https://tc39.es/ecma262/#sec-string.prototype.fixed +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, { + fixed: function fixed() { + return createHTML(this, 'tt', '', ''); + } +}); + + +/***/ }), +/* 481 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fontcolor` method +// https://tc39.es/ecma262/#sec-string.prototype.fontcolor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontcolor') }, { + fontcolor: function fontcolor(color) { + return createHTML(this, 'font', 'color', color); + } +}); + + +/***/ }), +/* 482 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fontsize` method +// https://tc39.es/ecma262/#sec-string.prototype.fontsize +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontsize') }, { + fontsize: function fontsize(size) { + return createHTML(this, 'font', 'size', size); + } +}); + + +/***/ }), +/* 483 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.italics` method +// https://tc39.es/ecma262/#sec-string.prototype.italics +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, { + italics: function italics() { + return createHTML(this, 'i', '', ''); + } +}); + + +/***/ }), +/* 484 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.link` method +// https://tc39.es/ecma262/#sec-string.prototype.link +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, { + link: function link(url) { + return createHTML(this, 'a', 'href', url); + } +}); + + +/***/ }), +/* 485 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.small` method +// https://tc39.es/ecma262/#sec-string.prototype.small +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('small') }, { + small: function small() { + return createHTML(this, 'small', '', ''); + } +}); + + +/***/ }), +/* 486 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.strike` method +// https://tc39.es/ecma262/#sec-string.prototype.strike +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, { + strike: function strike() { + return createHTML(this, 'strike', '', ''); + } +}); + + +/***/ }), +/* 487 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.sub` method +// https://tc39.es/ecma262/#sec-string.prototype.sub +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sub') }, { + sub: function sub() { + return createHTML(this, 'sub', '', ''); + } +}); + + +/***/ }), +/* 488 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.sup` method +// https://tc39.es/ecma262/#sec-string.prototype.sup +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sup') }, { + sup: function sup() { + return createHTML(this, 'sup', '', ''); + } +}); + + +/***/ }), +/* 489 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Float32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Float32', function (init) { + return function Float32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 490 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var DESCRIPTORS = __webpack_require__(6); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); +var ArrayBufferViewCore = __webpack_require__(218); +var ArrayBufferModule = __webpack_require__(208); +var anInstance = __webpack_require__(211); +var createPropertyDescriptor = __webpack_require__(11); +var createNonEnumerableProperty = __webpack_require__(43); +var isIntegralNumber = __webpack_require__(309); +var toLength = __webpack_require__(64); +var toIndex = __webpack_require__(212); +var toOffset = __webpack_require__(492); +var toUint8Clamped = __webpack_require__(493); +var toPropertyKey = __webpack_require__(18); +var hasOwn = __webpack_require__(38); +var classof = __webpack_require__(69); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var create = __webpack_require__(71); +var isPrototypeOf = __webpack_require__(24); +var setPrototypeOf = __webpack_require__(113); +var getOwnPropertyNames = (__webpack_require__(57).f); +var typedArrayFrom = __webpack_require__(494); +var forEach = (__webpack_require__(83).forEach); +var setSpecies = __webpack_require__(194); +var defineBuiltInAccessor = __webpack_require__(77); +var definePropertyModule = __webpack_require__(44); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var arrayFromConstructorAndList = __webpack_require__(199); +var InternalStateModule = __webpack_require__(51); +var inheritIfRequired = __webpack_require__(118); + +var getInternalState = InternalStateModule.get; +var setInternalState = InternalStateModule.set; +var enforceInternalState = InternalStateModule.enforce; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var RangeError = globalThis.RangeError; +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataView = ArrayBufferModule.DataView; +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; +var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG; +var TypedArray = ArrayBufferViewCore.TypedArray; +var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype; +var isTypedArray = ArrayBufferViewCore.isTypedArray; +var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; +var WRONG_LENGTH = 'Wrong length'; + +var addGetter = function (it, key) { + defineBuiltInAccessor(it, key, { + configurable: true, + get: function () { + return getInternalState(this)[key]; + } + }); +}; + +var isArrayBuffer = function (it) { + var klass; + return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) === 'ArrayBuffer' || klass === 'SharedArrayBuffer'; +}; + +var isTypedArrayIndex = function (target, key) { + return isTypedArray(target) + && !isSymbol(key) + && key in target + && isIntegralNumber(+key) + && key >= 0; +}; + +var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) { + key = toPropertyKey(key); + return isTypedArrayIndex(target, key) + ? createPropertyDescriptor(2, target[key]) + : nativeGetOwnPropertyDescriptor(target, key); +}; + +var wrappedDefineProperty = function defineProperty(target, key, descriptor) { + key = toPropertyKey(key); + if (isTypedArrayIndex(target, key) + && isObject(descriptor) + && hasOwn(descriptor, 'value') + && !hasOwn(descriptor, 'get') + && !hasOwn(descriptor, 'set') + // TODO: add validation descriptor w/o calling accessors + && !descriptor.configurable + && (!hasOwn(descriptor, 'writable') || descriptor.writable) + && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable) + ) { + target[key] = descriptor.value; + return target; + } return nativeDefineProperty(target, key, descriptor); +}; + +if (DESCRIPTORS) { + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor; + definePropertyModule.f = wrappedDefineProperty; + addGetter(TypedArrayPrototype, 'buffer'); + addGetter(TypedArrayPrototype, 'byteOffset'); + addGetter(TypedArrayPrototype, 'byteLength'); + addGetter(TypedArrayPrototype, 'length'); + } + + $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor, + defineProperty: wrappedDefineProperty + }); + + module.exports = function (TYPE, wrapper, CLAMPED) { + var BYTES = TYPE.match(/\d+/)[0] / 8; + var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array'; + var GETTER = 'get' + TYPE; + var SETTER = 'set' + TYPE; + var NativeTypedArrayConstructor = globalThis[CONSTRUCTOR_NAME]; + var TypedArrayConstructor = NativeTypedArrayConstructor; + var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype; + var exported = {}; + + var getter = function (that, index) { + var data = getInternalState(that); + return data.view[GETTER](index * BYTES + data.byteOffset, true); + }; + + var setter = function (that, index, value) { + var data = getInternalState(that); + data.view[SETTER](index * BYTES + data.byteOffset, CLAMPED ? toUint8Clamped(value) : value, true); + }; + + var addElement = function (that, index) { + nativeDefineProperty(that, index, { + get: function () { + return getter(this, index); + }, + set: function (value) { + return setter(this, index, value); + }, + enumerable: true + }); + }; + + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + TypedArrayConstructor = wrapper(function (that, data, offset, $length) { + anInstance(that, TypedArrayConstructorPrototype); + var index = 0; + var byteOffset = 0; + var buffer, byteLength, length; + if (!isObject(data)) { + length = toIndex(data); + byteLength = length * BYTES; + buffer = new ArrayBuffer(byteLength); + } else if (isArrayBuffer(data)) { + buffer = data; + byteOffset = toOffset(offset, BYTES); + var $len = data.byteLength; + if ($length === undefined) { + if ($len % BYTES) throw new RangeError(WRONG_LENGTH); + byteLength = $len - byteOffset; + if (byteLength < 0) throw new RangeError(WRONG_LENGTH); + } else { + byteLength = toLength($length) * BYTES; + if (byteLength + byteOffset > $len) throw new RangeError(WRONG_LENGTH); + } + length = byteLength / BYTES; + } else if (isTypedArray(data)) { + return arrayFromConstructorAndList(TypedArrayConstructor, data); + } else { + return call(typedArrayFrom, TypedArrayConstructor, data); + } + setInternalState(that, { + buffer: buffer, + byteOffset: byteOffset, + byteLength: byteLength, + length: length, + view: new DataView(buffer) + }); + while (index < length) addElement(that, index++); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype); + } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) { + TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) { + anInstance(dummy, TypedArrayConstructorPrototype); + return inheritIfRequired(function () { + if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data)); + if (isArrayBuffer(data)) return $length !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length) + : typedArrayOffset !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES)) + : new NativeTypedArrayConstructor(data); + if (isTypedArray(data)) return arrayFromConstructorAndList(TypedArrayConstructor, data); + return call(typedArrayFrom, TypedArrayConstructor, data); + }(), dummy, TypedArrayConstructor); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) { + if (!(key in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]); + } + }); + TypedArrayConstructor.prototype = TypedArrayConstructorPrototype; + } + + if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor); + } + + enforceInternalState(TypedArrayConstructorPrototype).TypedArrayConstructor = TypedArrayConstructor; + + if (TYPED_ARRAY_TAG) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME); + } + + var FORCED = TypedArrayConstructor !== NativeTypedArrayConstructor; + + exported[CONSTRUCTOR_NAME] = TypedArrayConstructor; + + $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported); + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES); + } + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES); + } + + setSpecies(CONSTRUCTOR_NAME); + }; +} else module.exports = function () { /* empty */ }; + + +/***/ }), +/* 491 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-new, sonarjs/inconsistent-function-call -- required for testing */ +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var checkCorrectnessOfIteration = __webpack_require__(164); +var NATIVE_ARRAY_BUFFER_VIEWS = (__webpack_require__(218).NATIVE_ARRAY_BUFFER_VIEWS); + +var ArrayBuffer = globalThis.ArrayBuffer; +var Int8Array = globalThis.Int8Array; + +module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () { + Int8Array(1); +}) || !fails(function () { + new Int8Array(-1); +}) || !checkCorrectnessOfIteration(function (iterable) { + new Int8Array(); + new Int8Array(null); + new Int8Array(1.5); + new Int8Array(iterable); +}, true) || fails(function () { + // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill + return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1; +}); + + +/***/ }), +/* 492 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPositiveInteger = __webpack_require__(254); + +var $RangeError = RangeError; + +module.exports = function (it, BYTES) { + var offset = toPositiveInteger(it); + if (offset % BYTES) throw new $RangeError('Wrong offset'); + return offset; +}; + + +/***/ }), +/* 493 */ +/***/ (function(module) { + + +var round = Math.round; + +module.exports = function (it) { + var value = round(it); + return value < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF; +}; + + +/***/ }), +/* 494 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var aConstructor = __webpack_require__(359); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var isArrayIteratorMethod = __webpack_require__(131); +var isBigIntArray = __webpack_require__(495); +var aTypedArrayConstructor = (__webpack_require__(218).aTypedArrayConstructor); +var toBigInt = __webpack_require__(496); + +module.exports = function from(source /* , mapfn, thisArg */) { + var C = aConstructor(this); + var O = toObject(source); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iteratorMethod = getIteratorMethod(O); + var i, length, result, thisIsBigIntArray, value, step, iterator, next; + if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) { + iterator = getIterator(O, iteratorMethod); + next = iterator.next; + O = []; + while (!(step = call(next, iterator)).done) { + O.push(step.value); + } + } + if (mapping && argumentsLength > 2) { + mapfn = bind(mapfn, arguments[2]); + } + length = lengthOfArrayLike(O); + result = new (aTypedArrayConstructor(C))(length); + thisIsBigIntArray = isBigIntArray(result); + for (i = 0; length > i; i++) { + value = mapping ? mapfn(O[i], i) : O[i]; + // FF30- typed arrays doesn't properly convert objects to typed array values + result[i] = thisIsBigIntArray ? toBigInt(value) : +value; + } + return result; +}; + + +/***/ }), +/* 495 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); + +module.exports = function (it) { + var klass = classof(it); + return klass === 'BigInt64Array' || klass === 'BigUint64Array'; +}; + + +/***/ }), +/* 496 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPrimitive = __webpack_require__(19); + +var $TypeError = TypeError; + +// `ToBigInt` abstract operation +// https://tc39.es/ecma262/#sec-tobigint +module.exports = function (argument) { + var prim = toPrimitive(argument, 'number'); + if (typeof prim == 'number') throw new $TypeError("Can't convert number to bigint"); + // eslint-disable-next-line es/no-bigint -- safe + return BigInt(prim); +}; + + +/***/ }), +/* 497 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Float64Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Float64', function (init) { + return function Float64Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 498 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int8Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int8', function (init) { + return function Int8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 499 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int16Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int16', function (init) { + return function Int16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 500 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int32', function (init) { + return function Int32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 501 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint8Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint8', function (init) { + return function Uint8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 502 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint8ClampedArray` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint8', function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}, true); + + +/***/ }), +/* 503 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint16Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint16', function (init) { + return function Uint16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 504 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint32', function (init) { + return function Uint32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 505 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.at` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.at +exportTypedArrayMethod('at', function at(index) { + var O = aTypedArray(this); + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : O[k]; +}); + + +/***/ }), +/* 506 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var ArrayBufferViewCore = __webpack_require__(218); +var $ArrayCopyWithin = __webpack_require__(144); + +var u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.copyWithin` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin +exportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) { + return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined); +}); + + +/***/ }), +/* 507 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $every = (__webpack_require__(83).every); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.every` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every +exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) { + return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 508 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $fill = __webpack_require__(149); +var toBigInt = __webpack_require__(496); +var classof = __webpack_require__(69); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var slice = uncurryThis(''.slice); + +// V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18 +var CONVERSION_BUG = fails(function () { + var count = 0; + // eslint-disable-next-line es/no-typed-arrays -- safe + new Int8Array(2).fill({ valueOf: function () { return count++; } }); + return count !== 1; +}); + +// `%TypedArray%.prototype.fill` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill +exportTypedArrayMethod('fill', function fill(value /* , start, end */) { + var length = arguments.length; + aTypedArray(this); + var actualValue = slice(classof(this), 0, 3) === 'Big' ? toBigInt(value) : +value; + return call($fill, this, actualValue, length > 1 ? arguments[1] : undefined, length > 2 ? arguments[2] : undefined); +}, CONVERSION_BUG); + + +/***/ }), +/* 509 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $filter = (__webpack_require__(83).filter); +var fromSameTypeAndList = __webpack_require__(510); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.filter` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter +exportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) { + var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return fromSameTypeAndList(this, list); +}); + + +/***/ }), +/* 510 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arrayFromConstructorAndList = __webpack_require__(199); +var getTypedArrayConstructor = (__webpack_require__(218).getTypedArrayConstructor); + +module.exports = function (instance, list) { + return arrayFromConstructorAndList(getTypedArrayConstructor(instance), list); +}; + + +/***/ }), +/* 511 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $find = (__webpack_require__(83).find); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.find` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find +exportTypedArrayMethod('find', function find(predicate /* , thisArg */) { + return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 512 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findIndex = (__webpack_require__(83).findIndex); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex +exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) { + return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 513 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findLast = (__webpack_require__(154).findLast); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findLast` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlast +exportTypedArrayMethod('findLast', function findLast(predicate /* , thisArg */) { + return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 514 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findLastIndex = (__webpack_require__(154).findLastIndex); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findLastIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex +exportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) { + return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 515 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $forEach = (__webpack_require__(83).forEach); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.forEach` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach +exportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) { + $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 516 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); +var exportTypedArrayStaticMethod = (__webpack_require__(218).exportTypedArrayStaticMethod); +var typedArrayFrom = __webpack_require__(494); + +// `%TypedArray%.from` method +// https://tc39.es/ecma262/#sec-%typedarray%.from +exportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + + +/***/ }), +/* 517 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $includes = (__webpack_require__(59).includes); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.includes` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes +exportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) { + return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 518 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $indexOf = (__webpack_require__(59).indexOf); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.indexOf` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof +exportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) { + return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 519 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var ArrayBufferViewCore = __webpack_require__(218); +var ArrayIterators = __webpack_require__(168); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var Uint8Array = globalThis.Uint8Array; +var arrayValues = uncurryThis(ArrayIterators.values); +var arrayKeys = uncurryThis(ArrayIterators.keys); +var arrayEntries = uncurryThis(ArrayIterators.entries); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var TypedArrayPrototype = Uint8Array && Uint8Array.prototype; + +var GENERIC = !fails(function () { + TypedArrayPrototype[ITERATOR].call([1]); +}); + +var ITERATOR_IS_VALUES = !!TypedArrayPrototype + && TypedArrayPrototype.values + && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values + && TypedArrayPrototype.values.name === 'values'; + +var typedArrayValues = function values() { + return arrayValues(aTypedArray(this)); +}; + +// `%TypedArray%.prototype.entries` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries +exportTypedArrayMethod('entries', function entries() { + return arrayEntries(aTypedArray(this)); +}, GENERIC); +// `%TypedArray%.prototype.keys` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys +exportTypedArrayMethod('keys', function keys() { + return arrayKeys(aTypedArray(this)); +}, GENERIC); +// `%TypedArray%.prototype.values` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values +exportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); +// `%TypedArray%.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator +exportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); + + +/***/ }), +/* 520 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var uncurryThis = __webpack_require__(14); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $join = uncurryThis([].join); + +// `%TypedArray%.prototype.join` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join +exportTypedArrayMethod('join', function join(separator) { + return $join(aTypedArray(this), separator); +}); + + +/***/ }), +/* 521 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var apply = __webpack_require__(94); +var $lastIndexOf = __webpack_require__(175); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.lastIndexOf` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof +exportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) { + var length = arguments.length; + return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]); +}); + + +/***/ }), +/* 522 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $map = (__webpack_require__(83).map); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.map` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map +exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) { + return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { + return new (getTypedArrayConstructor(O))(length); + }); +}); + + +/***/ }), +/* 523 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); + +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; +var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod; + +// `%TypedArray%.of` method +// https://tc39.es/ecma262/#sec-%typedarray%.of +exportTypedArrayStaticMethod('of', function of(/* ...items */) { + var index = 0; + var length = arguments.length; + var result = new (aTypedArrayConstructor(this))(length); + while (length > index) result[index] = arguments[index++]; + return result; +}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + + +/***/ }), +/* 524 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $reduce = (__webpack_require__(181).left); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.reduce` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce +exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 525 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $reduceRight = (__webpack_require__(181).right); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.reduceRight` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright +exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 526 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var floor = Math.floor; + +// `%TypedArray%.prototype.reverse` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse +exportTypedArrayMethod('reverse', function reverse() { + var that = this; + var length = aTypedArray(that).length; + var middle = floor(length / 2); + var index = 0; + var value; + while (index < middle) { + value = that[index]; + that[index++] = that[--length]; + that[length] = value; + } return that; +}); + + +/***/ }), +/* 527 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var ArrayBufferViewCore = __webpack_require__(218); +var lengthOfArrayLike = __webpack_require__(63); +var toOffset = __webpack_require__(492); +var toIndexedObject = __webpack_require__(39); +var fails = __webpack_require__(7); + +var RangeError = globalThis.RangeError; +var Int8Array = globalThis.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var $set = Int8ArrayPrototype && Int8ArrayPrototype.set; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + var array = new Uint8ClampedArray(2); + call($set, array, { length: 1, 0: 3 }, 1); + return array[1] !== 3; +}); + +// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other +var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { + var array = new Int8Array(2); + array.set(1); + array.set('2', 1); + return array[0] !== 0 || array[1] !== 2; +}); + +// `%TypedArray%.prototype.set` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set +exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { + aTypedArray(this); + var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); + var src = toIndexedObject(arrayLike); + if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset); + var length = this.length; + var len = lengthOfArrayLike(src); + var index = 0; + if (len + offset > length) throw new RangeError('Wrong length'); + while (index < len) this[offset + index] = src[index++]; +}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + + +/***/ }), +/* 528 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var fails = __webpack_require__(7); +var arraySlice = __webpack_require__(76); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + new Int8Array(1).slice(); +}); + +// `%TypedArray%.prototype.slice` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice +exportTypedArrayMethod('slice', function slice(start, end) { + var list = arraySlice(aTypedArray(this), start, end); + var C = getTypedArrayConstructor(this); + var index = 0; + var length = list.length; + var result = new C(length); + while (length > index) result[index] = list[index++]; + return result; +}, FORCED); + + +/***/ }), +/* 529 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $some = (__webpack_require__(83).some); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.some` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some +exportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) { + return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 530 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(85); +var fails = __webpack_require__(7); +var aCallable = __webpack_require__(30); +var internalSort = __webpack_require__(189); +var ArrayBufferViewCore = __webpack_require__(218); +var FF = __webpack_require__(190); +var IE_OR_EDGE = __webpack_require__(191); +var V8 = __webpack_require__(27); +var WEBKIT = __webpack_require__(192); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var Uint16Array = globalThis.Uint16Array; +var nativeSort = Uint16Array && uncurryThis(Uint16Array.prototype.sort); + +// WebKit +var ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !(fails(function () { + nativeSort(new Uint16Array(2), null); +}) && fails(function () { + nativeSort(new Uint16Array(2), {}); +})); + +var STABLE_SORT = !!nativeSort && !fails(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 74; + if (FF) return FF < 67; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 602; + + var array = new Uint16Array(516); + var expected = Array(516); + var index, mod; + + for (index = 0; index < 516; index++) { + mod = index % 4; + array[index] = 515 - index; + expected[index] = index - 2 * mod + 3; + } + + nativeSort(array, function (a, b) { + return (a / 4 | 0) - (b / 4 | 0); + }); + + for (index = 0; index < 516; index++) { + if (array[index] !== expected[index]) return true; + } +}); + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (comparefn !== undefined) return +comparefn(x, y) || 0; + // eslint-disable-next-line no-self-compare -- NaN check + if (y !== y) return -1; + // eslint-disable-next-line no-self-compare -- NaN check + if (x !== x) return 1; + if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1; + return x > y; + }; +}; + +// `%TypedArray%.prototype.sort` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort +exportTypedArrayMethod('sort', function sort(comparefn) { + if (comparefn !== undefined) aCallable(comparefn); + if (STABLE_SORT) return nativeSort(this, comparefn); + + return internalSort(aTypedArray(this), getSortCompare(comparefn)); +}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS); + + +/***/ }), +/* 531 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var toLength = __webpack_require__(64); +var toAbsoluteIndex = __webpack_require__(60); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.subarray` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray +exportTypedArrayMethod('subarray', function subarray(begin, end) { + var O = aTypedArray(this); + var length = O.length; + var beginIndex = toAbsoluteIndex(begin, length); + var C = getTypedArrayConstructor(O); + return new C( + O.buffer, + O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT, + toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex) + ); +}); + + +/***/ }), +/* 532 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var ArrayBufferViewCore = __webpack_require__(218); +var fails = __webpack_require__(7); +var arraySlice = __webpack_require__(76); + +var Int8Array = globalThis.Int8Array; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $toLocaleString = [].toLocaleString; + +// iOS Safari 6.x fails here +var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () { + $toLocaleString.call(new Int8Array(1)); +}); + +var FORCED = fails(function () { + return [1, 2].toLocaleString() !== new Int8Array([1, 2]).toLocaleString(); +}) || !fails(function () { + Int8Array.prototype.toLocaleString.call([1, 2]); +}); + +// `%TypedArray%.prototype.toLocaleString` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring +exportTypedArrayMethod('toLocaleString', function toLocaleString() { + return apply( + $toLocaleString, + TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this), + arraySlice(arguments) + ); +}, FORCED); + + +/***/ }), +/* 533 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var arrayToReversed = __webpack_require__(197); +var ArrayBufferViewCore = __webpack_require__(218); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; + +// `%TypedArray%.prototype.toReversed` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed +exportTypedArrayMethod('toReversed', function toReversed() { + return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this)); +}); + + +/***/ }), +/* 534 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var arrayFromConstructorAndList = __webpack_require__(199); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort); + +// `%TypedArray%.prototype.toSorted` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted +exportTypedArrayMethod('toSorted', function toSorted(compareFn) { + if (compareFn !== undefined) aCallable(compareFn); + var O = aTypedArray(this); + var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O); + return sort(A, compareFn); +}); + + +/***/ }), +/* 535 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var exportTypedArrayMethod = (__webpack_require__(218).exportTypedArrayMethod); +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); + +var Uint8Array = globalThis.Uint8Array; +var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {}; +var arrayToString = [].toString; +var join = uncurryThis([].join); + +if (fails(function () { arrayToString.call({}); })) { + arrayToString = function toString() { + return join(this); + }; +} + +var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString !== arrayToString; + +// `%TypedArray%.prototype.toString` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring +exportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD); + + +/***/ }), +/* 536 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var arrayWith = __webpack_require__(206); +var ArrayBufferViewCore = __webpack_require__(218); +var isBigIntArray = __webpack_require__(495); +var toIntegerOrInfinity = __webpack_require__(61); +var toBigInt = __webpack_require__(496); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var PROPER_ORDER = !!function () { + try { + // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing + new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } }); + } catch (error) { + // some early implementations, like WebKit, does not follow the final semantic + // https://github.com/tc39/proposal-change-array-by-copy/pull/86 + return error === 8; + } +}(); + +// `%TypedArray%.prototype.with` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with +exportTypedArrayMethod('with', { 'with': function (index, value) { + var O = aTypedArray(this); + var relativeIndex = toIntegerOrInfinity(index); + var actualValue = isBigIntArray(O) ? toBigInt(value) : +value; + return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue); +} }['with'], !PROPER_ORDER); + + +/***/ }), +/* 537 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); + +var fromCharCode = String.fromCharCode; +var charAt = uncurryThis(''.charAt); +var exec = uncurryThis(/./.exec); +var stringSlice = uncurryThis(''.slice); + +var hex2 = /^[\da-f]{2}$/i; +var hex4 = /^[\da-f]{4}$/i; + +// `unescape` method +// https://tc39.es/ecma262/#sec-unescape-string +$({ global: true }, { + unescape: function unescape(string) { + var str = toString(string); + var result = ''; + var length = str.length; + var index = 0; + var chr, part; + while (index < length) { + chr = charAt(str, index++); + if (chr === '%') { + if (charAt(str, index) === 'u') { + part = stringSlice(str, index + 1, index + 5); + if (exec(hex4, part)) { + result += fromCharCode(parseInt(part, 16)); + index += 5; + continue; + } + } else { + part = stringSlice(str, index, index + 2); + if (exec(hex2, part)) { + result += fromCharCode(parseInt(part, 16)); + index += 2; + continue; + } + } + } + result += chr; + } return result; + } +}); + + +/***/ }), +/* 538 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(539); + + +/***/ }), +/* 539 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var FREEZING = __webpack_require__(276); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var defineBuiltIns = __webpack_require__(210); +var InternalMetadataModule = __webpack_require__(273); +var collection = __webpack_require__(272); +var collectionWeak = __webpack_require__(540); +var isObject = __webpack_require__(20); +var enforceInternalState = (__webpack_require__(51).enforce); +var fails = __webpack_require__(7); +var NATIVE_WEAK_MAP = __webpack_require__(52); + +var $Object = Object; +// eslint-disable-next-line es/no-array-isarray -- safe +var isArray = Array.isArray; +// eslint-disable-next-line es/no-object-isextensible -- safe +var isExtensible = $Object.isExtensible; +// eslint-disable-next-line es/no-object-isfrozen -- safe +var isFrozen = $Object.isFrozen; +// eslint-disable-next-line es/no-object-issealed -- safe +var isSealed = $Object.isSealed; +// eslint-disable-next-line es/no-object-freeze -- safe +var freeze = $Object.freeze; +// eslint-disable-next-line es/no-object-seal -- safe +var seal = $Object.seal; + +var IS_IE11 = !globalThis.ActiveXObject && 'ActiveXObject' in globalThis; +var InternalWeakMap; + +var wrapper = function (init) { + return function WeakMap() { + return init(this, arguments.length ? arguments[0] : undefined); + }; +}; + +// `WeakMap` constructor +// https://tc39.es/ecma262/#sec-weakmap-constructor +var $WeakMap = collection('WeakMap', wrapper, collectionWeak); +var WeakMapPrototype = $WeakMap.prototype; +var nativeSet = uncurryThis(WeakMapPrototype.set); + +// Chakra Edge bug: adding frozen arrays to WeakMap unfreeze them +var hasMSEdgeFreezingBug = function () { + return FREEZING && fails(function () { + var frozenArray = freeze([]); + nativeSet(new $WeakMap(), frozenArray, 1); + return !isFrozen(frozenArray); + }); +}; + +// IE11 WeakMap frozen keys fix +// We can't use feature detection because it crash some old IE builds +// https://github.com/zloirock/core-js/issues/485 +if (NATIVE_WEAK_MAP) if (IS_IE11) { + InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true); + InternalMetadataModule.enable(); + var nativeDelete = uncurryThis(WeakMapPrototype['delete']); + var nativeHas = uncurryThis(WeakMapPrototype.has); + var nativeGet = uncurryThis(WeakMapPrototype.get); + defineBuiltIns(WeakMapPrototype, { + 'delete': function (key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeDelete(this, key) || state.frozen['delete'](key); + } return nativeDelete(this, key); + }, + has: function has(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas(this, key) || state.frozen.has(key); + } return nativeHas(this, key); + }, + get: function get(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key); + } return nativeGet(this, key); + }, + set: function set(key, value) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value); + } else nativeSet(this, key, value); + return this; + } + }); +// Chakra Edge frozen keys fix +} else if (hasMSEdgeFreezingBug()) { + defineBuiltIns(WeakMapPrototype, { + set: function set(key, value) { + var arrayIntegrityLevel; + if (isArray(key)) { + if (isFrozen(key)) arrayIntegrityLevel = freeze; + else if (isSealed(key)) arrayIntegrityLevel = seal; + } + nativeSet(this, key, value); + if (arrayIntegrityLevel) arrayIntegrityLevel(key); + return this; + } + }); +} + + +/***/ }), +/* 540 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var defineBuiltIns = __webpack_require__(210); +var getWeakData = (__webpack_require__(273).getWeakData); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var iterate = __webpack_require__(130); +var ArrayIterationModule = __webpack_require__(83); +var hasOwn = __webpack_require__(38); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; +var find = ArrayIterationModule.find; +var findIndex = ArrayIterationModule.findIndex; +var splice = uncurryThis([].splice); +var id = 0; + +// fallback for uncaught frozen keys +var uncaughtFrozenStore = function (state) { + return state.frozen || (state.frozen = new UncaughtFrozenStore()); +}; + +var UncaughtFrozenStore = function () { + this.entries = []; +}; + +var findUncaughtFrozen = function (store, key) { + return find(store.entries, function (it) { + return it[0] === key; + }); +}; + +UncaughtFrozenStore.prototype = { + get: function (key) { + var entry = findUncaughtFrozen(this, key); + if (entry) return entry[1]; + }, + has: function (key) { + return !!findUncaughtFrozen(this, key); + }, + set: function (key, value) { + var entry = findUncaughtFrozen(this, key); + if (entry) entry[1] = value; + else this.entries.push([key, value]); + }, + 'delete': function (key) { + var index = findIndex(this.entries, function (it) { + return it[0] === key; + }); + if (~index) splice(this.entries, index, 1); + return !!~index; + } +}; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + id: id++, + frozen: null + }); + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + }); + + var Prototype = Constructor.prototype; + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var data = getWeakData(anObject(key), true); + if (data === true) uncaughtFrozenStore(state).set(key, value); + else data[state.id] = value; + return that; + }; + + defineBuiltIns(Prototype, { + // `{ WeakMap, WeakSet }.prototype.delete(key)` methods + // https://tc39.es/ecma262/#sec-weakmap.prototype.delete + // https://tc39.es/ecma262/#sec-weakset.prototype.delete + 'delete': function (key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state)['delete'](key); + return data && hasOwn(data, state.id) && delete data[state.id]; + }, + // `{ WeakMap, WeakSet }.prototype.has(key)` methods + // https://tc39.es/ecma262/#sec-weakmap.prototype.has + // https://tc39.es/ecma262/#sec-weakset.prototype.has + has: function has(key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).has(key); + return data && hasOwn(data, state.id); + } + }); + + defineBuiltIns(Prototype, IS_MAP ? { + // `WeakMap.prototype.get(key)` method + // https://tc39.es/ecma262/#sec-weakmap.prototype.get + get: function get(key) { + var state = getInternalState(this); + if (isObject(key)) { + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).get(key); + if (data) return data[state.id]; + } + }, + // `WeakMap.prototype.set(key, value)` method + // https://tc39.es/ecma262/#sec-weakmap.prototype.set + set: function set(key, value) { + return define(this, key, value); + } + } : { + // `WeakSet.prototype.add(value)` method + // https://tc39.es/ecma262/#sec-weakset.prototype.add + add: function add(value) { + return define(this, value, true); + } + }); + + return Constructor; + } +}; + + +/***/ }), +/* 541 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(542); + + +/***/ }), +/* 542 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionWeak = __webpack_require__(540); + +// `WeakSet` constructor +// https://tc39.es/ecma262/#sec-weakset-constructor +collection('WeakSet', function (init) { + return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionWeak); + + +/***/ }), +/* 543 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); +var c2i = (__webpack_require__(544).c2i); + +var disallowed = /[^\d+/a-z]/i; +var whitespaces = /[\t\n\f\r ]+/g; +var finalEq = /[=]{1,2}$/; + +var $atob = getBuiltIn('atob'); +var fromCharCode = String.fromCharCode; +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var exec = uncurryThis(disallowed.exec); + +var BASIC = !!$atob && !fails(function () { + return $atob('aGk=') !== 'hi'; +}); + +var NO_SPACES_IGNORE = BASIC && fails(function () { + return $atob(' ') !== ''; +}); + +var NO_ENCODING_CHECK = BASIC && !fails(function () { + $atob('a'); +}); + +var NO_ARG_RECEIVING_CHECK = BASIC && !fails(function () { + $atob(); +}); + +var WRONG_ARITY = BASIC && $atob.length !== 1; + +var FORCED = !BASIC || NO_SPACES_IGNORE || NO_ENCODING_CHECK || NO_ARG_RECEIVING_CHECK || WRONG_ARITY; + +// `atob` method +// https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob +$({ global: true, bind: true, enumerable: true, forced: FORCED }, { + atob: function atob(data) { + validateArgumentsLength(arguments.length, 1); + // `webpack` dev server bug on IE global methods - use call(fn, global, ...) + if (BASIC && !NO_SPACES_IGNORE && !NO_ENCODING_CHECK) return call($atob, globalThis, data); + var string = replace(toString(data), whitespaces, ''); + var output = ''; + var position = 0; + var bc = 0; + var length, chr, bs; + if (string.length % 4 === 0) { + string = replace(string, finalEq, ''); + } + length = string.length; + if (length % 4 === 1 || exec(disallowed, string)) { + throw new (getBuiltIn('DOMException'))('The string is not correctly encoded', 'InvalidCharacterError'); + } + while (position < length) { + chr = charAt(string, position++); + bs = bc % 4 ? bs * 64 + c2i[chr] : c2i[chr]; + if (bc++ % 4) output += fromCharCode(255 & bs >> (-2 * bc & 6)); + } return output; + } +}); + + +/***/ }), +/* 544 */ +/***/ (function(module) { + + +var commonAlphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; +var base64Alphabet = commonAlphabet + '+/'; +var base64UrlAlphabet = commonAlphabet + '-_'; + +var inverse = function (characters) { + // TODO: use `Object.create(null)` in `core-js@4` + var result = {}; + var index = 0; + for (; index < 64; index++) result[characters.charAt(index)] = index; + return result; +}; + +module.exports = { + i2c: base64Alphabet, + c2i: inverse(base64Alphabet), + i2cUrl: base64UrlAlphabet, + c2iUrl: inverse(base64UrlAlphabet) +}; + + +/***/ }), +/* 545 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); +var i2c = (__webpack_require__(544).i2c); + +var $btoa = getBuiltIn('btoa'); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); + +var BASIC = !!$btoa && !fails(function () { + return $btoa('hi') !== 'aGk='; +}); + +var NO_ARG_RECEIVING_CHECK = BASIC && !fails(function () { + $btoa(); +}); + +var WRONG_ARG_CONVERSION = BASIC && fails(function () { + return $btoa(null) !== 'bnVsbA=='; +}); + +var WRONG_ARITY = BASIC && $btoa.length !== 1; + +// `btoa` method +// https://html.spec.whatwg.org/multipage/webappapis.html#dom-btoa +$({ global: true, bind: true, enumerable: true, forced: !BASIC || NO_ARG_RECEIVING_CHECK || WRONG_ARG_CONVERSION || WRONG_ARITY }, { + btoa: function btoa(data) { + validateArgumentsLength(arguments.length, 1); + // `webpack` dev server bug on IE global methods - use call(fn, global, ...) + if (BASIC) return call($btoa, globalThis, toString(data)); + var string = toString(data); + var output = ''; + var position = 0; + var map = i2c; + var block, charCode; + while (charAt(string, position) || (map = '=', position % 1)) { + charCode = charCodeAt(string, position += 3 / 4); + if (charCode > 0xFF) { + throw new (getBuiltIn('DOMException'))('The string contains characters outside of the Latin1 range', 'InvalidCharacterError'); + } + block = block << 8 | charCode; + output += charAt(map, 63 & block >> 8 - position % 1 * 8); + } return output; + } +}); + + +/***/ }), +/* 546 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DOMIterables = __webpack_require__(547); +var DOMTokenListPrototype = __webpack_require__(548); +var forEach = __webpack_require__(160); +var createNonEnumerableProperty = __webpack_require__(43); + +var handlePrototype = function (CollectionPrototype) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { + createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); + } catch (error) { + CollectionPrototype.forEach = forEach; + } +}; + +for (var COLLECTION_NAME in DOMIterables) { + if (DOMIterables[COLLECTION_NAME]) { + handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype); + } +} + +handlePrototype(DOMTokenListPrototype); + + +/***/ }), +/* 547 */ +/***/ (function(module) { + + +// iterable DOM collections +// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods +module.exports = { + CSSRuleList: 0, + CSSStyleDeclaration: 0, + CSSValueList: 0, + ClientRectList: 0, + DOMRectList: 0, + DOMStringList: 0, + DOMTokenList: 1, + DataTransferItemList: 0, + FileList: 0, + HTMLAllCollection: 0, + HTMLCollection: 0, + HTMLFormElement: 0, + HTMLSelectElement: 0, + MediaList: 0, + MimeTypeArray: 0, + NamedNodeMap: 0, + NodeList: 1, + PaintRequestList: 0, + Plugin: 0, + PluginArray: 0, + SVGLengthList: 0, + SVGNumberList: 0, + SVGPathSegList: 0, + SVGPointList: 0, + SVGStringList: 0, + SVGTransformList: 0, + SourceBufferList: 0, + StyleSheetList: 0, + TextTrackCueList: 0, + TextTrackList: 0, + TouchList: 0 +}; + + +/***/ }), +/* 548 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList` +var documentCreateElement = __webpack_require__(42); + +var classList = documentCreateElement('span').classList; +var DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype; + +module.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype; + + +/***/ }), +/* 549 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DOMIterables = __webpack_require__(547); +var DOMTokenListPrototype = __webpack_require__(548); +var ArrayIteratorMethods = __webpack_require__(168); +var createNonEnumerableProperty = __webpack_require__(43); +var setToStringTag = __webpack_require__(82); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayValues = ArrayIteratorMethods.values; + +var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) { + if (CollectionPrototype) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[ITERATOR] !== ArrayValues) try { + createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); + } catch (error) { + CollectionPrototype[ITERATOR] = ArrayValues; + } + setToStringTag(CollectionPrototype, COLLECTION_NAME, true); + if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { + createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); + } catch (error) { + CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; + } + } + } +}; + +for (var COLLECTION_NAME in DOMIterables) { + handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype, COLLECTION_NAME); +} + +handlePrototype(DOMTokenListPrototype, 'DOMTokenList'); + + +/***/ }), +/* 550 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var getBuiltInNodeModule = __webpack_require__(229); +var fails = __webpack_require__(7); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var defineProperty = (__webpack_require__(44).f); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var hasOwn = __webpack_require__(38); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var errorToString = __webpack_require__(125); +var normalizeStringArgument = __webpack_require__(119); +var DOMExceptionConstants = __webpack_require__(551); +var clearErrorStack = __webpack_require__(122); +var InternalStateModule = __webpack_require__(51); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var DOM_EXCEPTION = 'DOMException'; +var DATA_CLONE_ERR = 'DATA_CLONE_ERR'; +var Error = getBuiltIn('Error'); +// NodeJS < 17.0 does not expose `DOMException` to global +var NativeDOMException = getBuiltIn(DOM_EXCEPTION) || (function () { + try { + // NodeJS < 15.0 does not expose `MessageChannel` to global + var MessageChannel = getBuiltIn('MessageChannel') || getBuiltInNodeModule('worker_threads').MessageChannel; + // eslint-disable-next-line es/no-weak-map, unicorn/require-post-message-target-origin -- safe + new MessageChannel().port1.postMessage(new WeakMap()); + } catch (error) { + if (error.name === DATA_CLONE_ERR && error.code === 25) return error.constructor; + } +})(); +var NativeDOMExceptionPrototype = NativeDOMException && NativeDOMException.prototype; +var ErrorPrototype = Error.prototype; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(DOM_EXCEPTION); +var HAS_STACK = 'stack' in new Error(DOM_EXCEPTION); + +var codeFor = function (name) { + return hasOwn(DOMExceptionConstants, name) && DOMExceptionConstants[name].m ? DOMExceptionConstants[name].c : 0; +}; + +var $DOMException = function DOMException() { + anInstance(this, DOMExceptionPrototype); + var argumentsLength = arguments.length; + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); + var code = codeFor(name); + setInternalState(this, { + type: DOM_EXCEPTION, + name: name, + message: message, + code: code + }); + if (!DESCRIPTORS) { + this.name = name; + this.message = message; + this.code = code; + } + if (HAS_STACK) { + var error = new Error(message); + error.name = DOM_EXCEPTION; + defineProperty(this, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); + } +}; + +var DOMExceptionPrototype = $DOMException.prototype = create(ErrorPrototype); + +var createGetterDescriptor = function (get) { + return { enumerable: true, configurable: true, get: get }; +}; + +var getterFor = function (key) { + return createGetterDescriptor(function () { + return getInternalState(this)[key]; + }); +}; + +if (DESCRIPTORS) { + // `DOMException.prototype.code` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'code', getterFor('code')); + // `DOMException.prototype.message` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'message', getterFor('message')); + // `DOMException.prototype.name` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'name', getterFor('name')); +} + +defineProperty(DOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, $DOMException)); + +// FF36- DOMException is a function, but can't be constructed +var INCORRECT_CONSTRUCTOR = fails(function () { + return !(new NativeDOMException() instanceof Error); +}); + +// Safari 10.1 / Chrome 32- / IE8- DOMException.prototype.toString bugs +var INCORRECT_TO_STRING = INCORRECT_CONSTRUCTOR || fails(function () { + return ErrorPrototype.toString !== errorToString || String(new NativeDOMException(1, 2)) !== '2: 1'; +}); + +// Deno 1.6.3- DOMException.prototype.code just missed +var INCORRECT_CODE = INCORRECT_CONSTRUCTOR || fails(function () { + return new NativeDOMException(1, 'DataCloneError').code !== 25; +}); + +// Deno 1.6.3- DOMException constants just missed +var MISSED_CONSTANTS = INCORRECT_CONSTRUCTOR + || NativeDOMException[DATA_CLONE_ERR] !== 25 + || NativeDOMExceptionPrototype[DATA_CLONE_ERR] !== 25; + +var FORCED_CONSTRUCTOR = IS_PURE ? INCORRECT_TO_STRING || INCORRECT_CODE || MISSED_CONSTANTS : INCORRECT_CONSTRUCTOR; + +// `DOMException` constructor +// https://webidl.spec.whatwg.org/#idl-DOMException +$({ global: true, constructor: true, forced: FORCED_CONSTRUCTOR }, { + DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException +}); + +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION); +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype; + +if (INCORRECT_TO_STRING && (IS_PURE || NativeDOMException === PolyfilledDOMException)) { + defineBuiltIn(PolyfilledDOMExceptionPrototype, 'toString', errorToString); +} + +if (INCORRECT_CODE && DESCRIPTORS && NativeDOMException === PolyfilledDOMException) { + defineBuiltInAccessor(PolyfilledDOMExceptionPrototype, 'code', createGetterDescriptor(function () { + return codeFor(anObject(this).name); + })); +} + +// `DOMException` constants +for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) { + var constant = DOMExceptionConstants[key]; + var constantName = constant.s; + var descriptor = createPropertyDescriptor(6, constant.c); + if (!hasOwn(PolyfilledDOMException, constantName)) { + defineProperty(PolyfilledDOMException, constantName, descriptor); + } + if (!hasOwn(PolyfilledDOMExceptionPrototype, constantName)) { + defineProperty(PolyfilledDOMExceptionPrototype, constantName, descriptor); + } +} + + +/***/ }), +/* 551 */ +/***/ (function(module) { + + +module.exports = { + IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 }, + DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 }, + HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 }, + WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 }, + InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 }, + NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 }, + NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 }, + NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 }, + NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 }, + InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 }, + InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 }, + SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 }, + InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 }, + NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 }, + InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 }, + ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 }, + TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 }, + SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 }, + NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 }, + AbortError: { s: 'ABORT_ERR', c: 20, m: 1 }, + URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 }, + QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 }, + TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 }, + InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 }, + DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 } +}; + + +/***/ }), +/* 552 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var createPropertyDescriptor = __webpack_require__(11); +var defineProperty = (__webpack_require__(44).f); +var hasOwn = __webpack_require__(38); +var anInstance = __webpack_require__(211); +var inheritIfRequired = __webpack_require__(118); +var normalizeStringArgument = __webpack_require__(119); +var DOMExceptionConstants = __webpack_require__(551); +var clearErrorStack = __webpack_require__(122); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var DOM_EXCEPTION = 'DOMException'; +var Error = getBuiltIn('Error'); +var NativeDOMException = getBuiltIn(DOM_EXCEPTION); + +var $DOMException = function DOMException() { + anInstance(this, DOMExceptionPrototype); + var argumentsLength = arguments.length; + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); + var that = new NativeDOMException(message, name); + var error = new Error(message); + error.name = DOM_EXCEPTION; + defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); + inheritIfRequired(that, this, $DOMException); + return that; +}; + +var DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype; + +var ERROR_HAS_STACK = 'stack' in new Error(DOM_EXCEPTION); +var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, DOM_EXCEPTION); + +// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it +// https://github.com/Jarred-Sumner/bun/issues/399 +var BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable); + +var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK; + +// `DOMException` constructor patch for `.stack` where it's required +// https://webidl.spec.whatwg.org/#es-DOMException-specialness +$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic + DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException +}); + +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION); +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype; + +if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) { + if (!IS_PURE) { + defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException)); + } + + for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) { + var constant = DOMExceptionConstants[key]; + var constantName = constant.s; + if (!hasOwn(PolyfilledDOMException, constantName)) { + defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c)); + } + } +} + + +/***/ }), +/* 553 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var setToStringTag = __webpack_require__(82); + +var DOM_EXCEPTION = 'DOMException'; + +// `DOMException.prototype[@@toStringTag]` property +setToStringTag(getBuiltIn(DOM_EXCEPTION), DOM_EXCEPTION); + + +/***/ }), +/* 554 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(555); +__webpack_require__(556); + + +/***/ }), +/* 555 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var clearImmediate = (__webpack_require__(360).clear); + +// `clearImmediate` method +// http://w3c.github.io/setImmediate/#si-clearImmediate +$({ global: true, bind: true, enumerable: true, forced: globalThis.clearImmediate !== clearImmediate }, { + clearImmediate: clearImmediate +}); + + +/***/ }), +/* 556 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var setTask = (__webpack_require__(360).set); +var schedulersFix = __webpack_require__(557); + +// https://github.com/oven-sh/bun/issues/1633 +var setImmediate = globalThis.setImmediate ? schedulersFix(setTask, false) : setTask; + +// `setImmediate` method +// http://w3c.github.io/setImmediate/#si-setImmediate +$({ global: true, bind: true, enumerable: true, forced: globalThis.setImmediate !== setImmediate }, { + setImmediate: setImmediate +}); + + +/***/ }), +/* 557 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var isCallable = __webpack_require__(21); +var ENVIRONMENT = __webpack_require__(183); +var USER_AGENT = __webpack_require__(28); +var arraySlice = __webpack_require__(76); +var validateArgumentsLength = __webpack_require__(361); + +var Function = globalThis.Function; +// dirty IE9- and Bun 0.3.0- checks +var WRAP = /MSIE .\./.test(USER_AGENT) || ENVIRONMENT === 'BUN' && (function () { + var version = globalThis.Bun.version.split('.'); + return version.length < 3 || version[0] === '0' && (version[1] < 3 || version[1] === '3' && version[2] === '0'); +})(); + +// IE9- / Bun 0.3.0- setTimeout / setInterval / setImmediate additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers +// https://github.com/oven-sh/bun/issues/1633 +module.exports = function (scheduler, hasTimeArg) { + var firstParamIndex = hasTimeArg ? 2 : 1; + return WRAP ? function (handler, timeout /* , ...arguments */) { + var boundArgs = validateArgumentsLength(arguments.length, 1) > firstParamIndex; + var fn = isCallable(handler) ? handler : Function(handler); + var params = boundArgs ? arraySlice(arguments, firstParamIndex) : []; + var callback = boundArgs ? function () { + apply(fn, this, params); + } : fn; + return hasTimeArg ? scheduler(callback, timeout) : scheduler(callback); + } : scheduler; +}; + + +/***/ }), +/* 558 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var microtask = __webpack_require__(363); +var aCallable = __webpack_require__(30); +var validateArgumentsLength = __webpack_require__(361); +var fails = __webpack_require__(7); +var DESCRIPTORS = __webpack_require__(6); + +// Bun ~ 1.0.30 bug +// https://github.com/oven-sh/bun/issues/9249 +var WRONG_ARITY = fails(function () { + // getOwnPropertyDescriptor for prevent experimental warning in Node 11 + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + return DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, 'queueMicrotask').value.length !== 1; +}); + +// `queueMicrotask` method +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask +$({ global: true, enumerable: true, dontCallGetSet: true, forced: WRONG_ARITY }, { + queueMicrotask: function queueMicrotask(fn) { + validateArgumentsLength(arguments.length, 1); + microtask(aCallable(fn)); + } +}); + + +/***/ }), +/* 559 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var defineBuiltInAccessor = __webpack_require__(77); +var DESCRIPTORS = __webpack_require__(6); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; +var INCORRECT_VALUE = globalThis.self !== globalThis; + +// `self` getter +// https://html.spec.whatwg.org/multipage/window-object.html#dom-self +try { + if (DESCRIPTORS) { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var descriptor = Object.getOwnPropertyDescriptor(globalThis, 'self'); + // some engines have `self`, but with incorrect descriptor + // https://github.com/denoland/deno/issues/15765 + if (INCORRECT_VALUE || !descriptor || !descriptor.get || !descriptor.enumerable) { + defineBuiltInAccessor(globalThis, 'self', { + get: function self() { + return globalThis; + }, + set: function self(value) { + if (this !== globalThis) throw new $TypeError('Illegal invocation'); + defineProperty(globalThis, 'self', { + value: value, + writable: true, + configurable: true, + enumerable: true + }); + }, + configurable: true, + enumerable: true + }); + } + } else $({ global: true, simple: true, forced: INCORRECT_VALUE }, { + self: globalThis + }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 560 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var IS_PURE = __webpack_require__(36); +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var uid = __webpack_require__(40); +var isCallable = __webpack_require__(21); +var isConstructor = __webpack_require__(89); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var iterate = __webpack_require__(130); +var anObject = __webpack_require__(46); +var classof = __webpack_require__(69); +var hasOwn = __webpack_require__(38); +var createProperty = __webpack_require__(141); +var createNonEnumerableProperty = __webpack_require__(43); +var lengthOfArrayLike = __webpack_require__(63); +var validateArgumentsLength = __webpack_require__(361); +var getRegExpFlags = __webpack_require__(402); +var MapHelpers = __webpack_require__(279); +var SetHelpers = __webpack_require__(419); +var setIterate = __webpack_require__(421); +var detachTransferable = __webpack_require__(228); +var ERROR_STACK_INSTALLABLE = __webpack_require__(123); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var Object = globalThis.Object; +var Array = globalThis.Array; +var Date = globalThis.Date; +var Error = globalThis.Error; +var TypeError = globalThis.TypeError; +var PerformanceMark = globalThis.PerformanceMark; +var DOMException = getBuiltIn('DOMException'); +var Map = MapHelpers.Map; +var mapHas = MapHelpers.has; +var mapGet = MapHelpers.get; +var mapSet = MapHelpers.set; +var Set = SetHelpers.Set; +var setAdd = SetHelpers.add; +var setHas = SetHelpers.has; +var objectKeys = getBuiltIn('Object', 'keys'); +var push = uncurryThis([].push); +var thisBooleanValue = uncurryThis(true.valueOf); +var thisNumberValue = uncurryThis(1.0.valueOf); +var thisStringValue = uncurryThis(''.valueOf); +var thisTimeValue = uncurryThis(Date.prototype.getTime); +var PERFORMANCE_MARK = uid('structuredClone'); +var DATA_CLONE_ERROR = 'DataCloneError'; +var TRANSFERRING = 'Transferring'; + +var checkBasicSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var set1 = new globalThis.Set([7]); + var set2 = structuredCloneImplementation(set1); + var number = structuredCloneImplementation(Object(7)); + return set2 === set1 || !set2.has(7) || !isObject(number) || +number !== 7; + }) && structuredCloneImplementation; +}; + +var checkErrorsCloning = function (structuredCloneImplementation, $Error) { + return !fails(function () { + var error = new $Error(); + var test = structuredCloneImplementation({ a: error, b: error }); + return !(test && test.a === test.b && test.a instanceof $Error && test.a.stack === error.stack); + }); +}; + +// https://github.com/whatwg/html/pull/5749 +var checkNewErrorsCloningSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var test = structuredCloneImplementation(new globalThis.AggregateError([1], PERFORMANCE_MARK, { cause: 3 })); + return test.name !== 'AggregateError' || test.errors[0] !== 1 || test.message !== PERFORMANCE_MARK || test.cause !== 3; + }); +}; + +// FF94+, Safari 15.4+, Chrome 98+, NodeJS 17.0+, Deno 1.13+ +// FF<103 and Safari implementations can't clone errors +// https://bugzilla.mozilla.org/show_bug.cgi?id=1556604 +// FF103 can clone errors, but `.stack` of clone is an empty string +// https://bugzilla.mozilla.org/show_bug.cgi?id=1778762 +// FF104+ fixed it on usual errors, but not on DOMExceptions +// https://bugzilla.mozilla.org/show_bug.cgi?id=1777321 +// Chrome <102 returns `null` if cloned object contains multiple references to one error +// https://bugs.chromium.org/p/v8/issues/detail?id=12542 +// NodeJS implementation can't clone DOMExceptions +// https://github.com/nodejs/node/issues/41038 +// only FF103+ supports new (html/5749) error cloning semantic +var nativeStructuredClone = globalThis.structuredClone; + +var FORCED_REPLACEMENT = IS_PURE + || !checkErrorsCloning(nativeStructuredClone, Error) + || !checkErrorsCloning(nativeStructuredClone, DOMException) + || !checkNewErrorsCloningSemantic(nativeStructuredClone); + +// Chrome 82+, Safari 14.1+, Deno 1.11+ +// Chrome 78-81 implementation swaps `.name` and `.message` of cloned `DOMException` +// Chrome returns `null` if cloned object contains multiple references to one error +// Safari 14.1 implementation doesn't clone some `RegExp` flags, so requires a workaround +// Safari implementation can't clone errors +// Deno 1.2-1.10 implementations too naive +// NodeJS 16.0+ does not have `PerformanceMark` constructor +// NodeJS <17.2 structured cloning implementation from `performance.mark` is too naive +// and can't clone, for example, `RegExp` or some boxed primitives +// https://github.com/nodejs/node/issues/40840 +// no one of those implementations supports new (html/5749) error cloning semantic +var structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) { + return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail; +}); + +var nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark; + +var throwUncloneable = function (type) { + throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR); +}; + +var throwUnpolyfillable = function (type, action) { + throw new DOMException((action || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR); +}; + +var tryNativeRestrictedStructuredClone = function (value, type) { + if (!nativeRestrictedStructuredClone) throwUnpolyfillable(type); + return nativeRestrictedStructuredClone(value); +}; + +var createDataTransfer = function () { + var dataTransfer; + try { + dataTransfer = new globalThis.DataTransfer(); + } catch (error) { + try { + dataTransfer = new globalThis.ClipboardEvent('').clipboardData; + } catch (error2) { /* empty */ } + } + return dataTransfer && dataTransfer.items && dataTransfer.files ? dataTransfer : null; +}; + +var cloneBuffer = function (value, map, $type) { + if (mapHas(map, value)) return mapGet(map, value); + + var type = $type || classof(value); + var clone, length, options, source, target, i; + + if (type === 'SharedArrayBuffer') { + if (nativeRestrictedStructuredClone) clone = nativeRestrictedStructuredClone(value); + // SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original + else clone = value; + } else { + var DataView = globalThis.DataView; + + // `ArrayBuffer#slice` is not available in IE10 + // `ArrayBuffer#slice` and `DataView` are not available in old FF + if (!DataView && !isCallable(value.slice)) throwUnpolyfillable('ArrayBuffer'); + // detached buffers throws in `DataView` and `.slice` + try { + if (isCallable(value.slice) && !value.resizable) { + clone = value.slice(0); + } else { + length = value.byteLength; + options = 'maxByteLength' in value ? { maxByteLength: value.maxByteLength } : undefined; + // eslint-disable-next-line es/no-resizable-and-growable-arraybuffers -- safe + clone = new ArrayBuffer(length, options); + source = new DataView(value); + target = new DataView(clone); + for (i = 0; i < length; i++) { + target.setUint8(i, source.getUint8(i)); + } + } + } catch (error) { + throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR); + } + } + + mapSet(map, value, clone); + + return clone; +}; + +var cloneView = function (value, type, offset, length, map) { + var C = globalThis[type]; + // in some old engines like Safari 9, typeof C is 'object' + // on Uint8ClampedArray or some other constructors + if (!isObject(C)) throwUnpolyfillable(type); + return new C(cloneBuffer(value.buffer, map), offset, length); +}; + +var structuredCloneInternal = function (value, map) { + if (isSymbol(value)) throwUncloneable('Symbol'); + if (!isObject(value)) return value; + // effectively preserves circular references + if (map) { + if (mapHas(map, value)) return mapGet(map, value); + } else map = new Map(); + + var type = classof(value); + var C, name, cloned, dataTransfer, i, length, keys, key; + + switch (type) { + case 'Array': + cloned = Array(lengthOfArrayLike(value)); + break; + case 'Object': + cloned = {}; + break; + case 'Map': + cloned = new Map(); + break; + case 'Set': + cloned = new Set(); + break; + case 'RegExp': + // in this block because of a Safari 14.1 bug + // old FF does not clone regexes passed to the constructor, so get the source and flags directly + cloned = new RegExp(value.source, getRegExpFlags(value)); + break; + case 'Error': + name = value.name; + switch (name) { + case 'AggregateError': + cloned = new (getBuiltIn(name))([]); + break; + case 'EvalError': + case 'RangeError': + case 'ReferenceError': + case 'SuppressedError': + case 'SyntaxError': + case 'TypeError': + case 'URIError': + cloned = new (getBuiltIn(name))(); + break; + case 'CompileError': + case 'LinkError': + case 'RuntimeError': + cloned = new (getBuiltIn('WebAssembly', name))(); + break; + default: + cloned = new Error(); + } + break; + case 'DOMException': + cloned = new DOMException(value.message, value.name); + break; + case 'ArrayBuffer': + case 'SharedArrayBuffer': + cloned = cloneBuffer(value, map, type); + break; + case 'DataView': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float16Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + length = type === 'DataView' ? value.byteLength : value.length; + cloned = cloneView(value, type, value.byteOffset, length, map); + break; + case 'DOMQuad': + try { + cloned = new DOMQuad( + structuredCloneInternal(value.p1, map), + structuredCloneInternal(value.p2, map), + structuredCloneInternal(value.p3, map), + structuredCloneInternal(value.p4, map) + ); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } + break; + case 'File': + if (nativeRestrictedStructuredClone) try { + cloned = nativeRestrictedStructuredClone(value); + // NodeJS 20.0.0 bug, https://github.com/nodejs/node/issues/47612 + if (classof(cloned) !== type) cloned = undefined; + } catch (error) { /* empty */ } + if (!cloned) try { + cloned = new File([value], value.name, value); + } catch (error) { /* empty */ } + if (!cloned) throwUnpolyfillable(type); + break; + case 'FileList': + dataTransfer = createDataTransfer(); + if (dataTransfer) { + for (i = 0, length = lengthOfArrayLike(value); i < length; i++) { + dataTransfer.items.add(structuredCloneInternal(value[i], map)); + } + cloned = dataTransfer.files; + } else cloned = tryNativeRestrictedStructuredClone(value, type); + break; + case 'ImageData': + // Safari 9 ImageData is a constructor, but typeof ImageData is 'object' + try { + cloned = new ImageData( + structuredCloneInternal(value.data, map), + value.width, + value.height, + { colorSpace: value.colorSpace } + ); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } break; + default: + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else switch (type) { + case 'BigInt': + // can be a 3rd party polyfill + cloned = Object(value.valueOf()); + break; + case 'Boolean': + cloned = Object(thisBooleanValue(value)); + break; + case 'Number': + cloned = Object(thisNumberValue(value)); + break; + case 'String': + cloned = Object(thisStringValue(value)); + break; + case 'Date': + cloned = new Date(thisTimeValue(value)); + break; + case 'Blob': + try { + cloned = value.slice(0, value.size, value.type); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMPoint': + case 'DOMPointReadOnly': + C = globalThis[type]; + try { + cloned = C.fromPoint + ? C.fromPoint(value) + : new C(value.x, value.y, value.z, value.w); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMRect': + case 'DOMRectReadOnly': + C = globalThis[type]; + try { + cloned = C.fromRect + ? C.fromRect(value) + : new C(value.x, value.y, value.width, value.height); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMMatrix': + case 'DOMMatrixReadOnly': + C = globalThis[type]; + try { + cloned = C.fromMatrix + ? C.fromMatrix(value) + : new C(value); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone)) throwUnpolyfillable(type); + try { + cloned = value.clone(); + } catch (error) { + throwUncloneable(type); + } break; + case 'CropTarget': + case 'CryptoKey': + case 'FileSystemDirectoryHandle': + case 'FileSystemFileHandle': + case 'FileSystemHandle': + case 'GPUCompilationInfo': + case 'GPUCompilationMessage': + case 'ImageBitmap': + case 'RTCCertificate': + case 'WebAssembly.Module': + throwUnpolyfillable(type); + // break omitted + default: + throwUncloneable(type); + } + } + + mapSet(map, value, cloned); + + switch (type) { + case 'Array': + case 'Object': + keys = objectKeys(value); + for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { + key = keys[i]; + createProperty(cloned, key, structuredCloneInternal(value[key], map)); + } break; + case 'Map': + value.forEach(function (v, k) { + mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map)); + }); + break; + case 'Set': + value.forEach(function (v) { + setAdd(cloned, structuredCloneInternal(v, map)); + }); + break; + case 'Error': + createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map)); + if (hasOwn(value, 'cause')) { + createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map)); + } + if (name === 'AggregateError') { + cloned.errors = structuredCloneInternal(value.errors, map); + } else if (name === 'SuppressedError') { + cloned.error = structuredCloneInternal(value.error, map); + cloned.suppressed = structuredCloneInternal(value.suppressed, map); + } // break omitted + case 'DOMException': + if (ERROR_STACK_INSTALLABLE) { + createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map)); + } + } + + return cloned; +}; + +var tryToTransfer = function (rawTransfer, map) { + if (!isObject(rawTransfer)) throw new TypeError('Transfer option cannot be converted to a sequence'); + + var transfer = []; + + iterate(rawTransfer, function (value) { + push(transfer, anObject(value)); + }); + + var i = 0; + var length = lengthOfArrayLike(transfer); + var buffers = new Set(); + var value, type, C, transferred, canvas, context; + + while (i < length) { + value = transfer[i++]; + + type = classof(value); + + if (type === 'ArrayBuffer' ? setHas(buffers, value) : mapHas(map, value)) { + throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); + } + + if (type === 'ArrayBuffer') { + setAdd(buffers, value); + continue; + } + + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + transferred = nativeStructuredClone(value, { transfer: [value] }); + } else switch (type) { + case 'ImageBitmap': + C = globalThis.OffscreenCanvas; + if (!isConstructor(C)) throwUnpolyfillable(type, TRANSFERRING); + try { + canvas = new C(value.width, value.height); + context = canvas.getContext('bitmaprenderer'); + context.transferFromImageBitmap(value); + transferred = canvas.transferToImageBitmap(); + } catch (error) { /* empty */ } + break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone) || !isCallable(value.close)) throwUnpolyfillable(type, TRANSFERRING); + try { + transferred = value.clone(); + value.close(); + } catch (error) { /* empty */ } + break; + case 'MediaSourceHandle': + case 'MessagePort': + case 'MIDIAccess': + case 'OffscreenCanvas': + case 'ReadableStream': + case 'RTCDataChannel': + case 'TransformStream': + case 'WebTransportReceiveStream': + case 'WebTransportSendStream': + case 'WritableStream': + throwUnpolyfillable(type, TRANSFERRING); + } + + if (transferred === undefined) throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR); + + mapSet(map, value, transferred); + } + + return buffers; +}; + +var detachBuffers = function (buffers) { + setIterate(buffers, function (buffer) { + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + nativeRestrictedStructuredClone(buffer, { transfer: [buffer] }); + } else if (isCallable(buffer.transfer)) { + buffer.transfer(); + } else if (detachTransferable) { + detachTransferable(buffer); + } else { + throwUnpolyfillable('ArrayBuffer', TRANSFERRING); + } + }); +}; + +// `structuredClone` method +// https://html.spec.whatwg.org/multipage/structured-data.html#dom-structuredclone +$({ global: true, enumerable: true, sham: !PROPER_STRUCTURED_CLONE_TRANSFER, forced: FORCED_REPLACEMENT }, { + structuredClone: function structuredClone(value /* , { transfer } */) { + var options = validateArgumentsLength(arguments.length, 1) > 1 && !isNullOrUndefined(arguments[1]) ? anObject(arguments[1]) : undefined; + var transfer = options ? options.transfer : undefined; + var map, buffers; + + if (transfer !== undefined) { + map = new Map(); + buffers = tryToTransfer(transfer, map); + } + + var clone = structuredCloneInternal(value, map); + + // since of an issue with cloning views of transferred buffers, we a forced to detach them later + // https://github.com/zloirock/core-js/issues/1265 + if (buffers) detachBuffers(buffers); + + return clone; + } +}); + + +/***/ }), +/* 561 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(562); +__webpack_require__(563); + + +/***/ }), +/* 562 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var schedulersFix = __webpack_require__(557); + +var setInterval = schedulersFix(globalThis.setInterval, true); + +// Bun / IE9- setInterval additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval +$({ global: true, bind: true, forced: globalThis.setInterval !== setInterval }, { + setInterval: setInterval +}); + + +/***/ }), +/* 563 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var schedulersFix = __webpack_require__(557); + +var setTimeout = schedulersFix(globalThis.setTimeout, true); + +// Bun / IE9- setTimeout additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout +$({ global: true, bind: true, forced: globalThis.setTimeout !== setTimeout }, { + setTimeout: setTimeout +}); + + +/***/ }), +/* 564 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(565); + + +/***/ }), +/* 565 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__(447); +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var USE_NATIVE_URL = __webpack_require__(566); +var globalThis = __webpack_require__(4); +var bind = __webpack_require__(84); +var uncurryThis = __webpack_require__(14); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var anInstance = __webpack_require__(211); +var hasOwn = __webpack_require__(38); +var assign = __webpack_require__(322); +var arrayFrom = __webpack_require__(162); +var arraySlice = __webpack_require__(76); +var codeAt = (__webpack_require__(440).codeAt); +var toASCII = __webpack_require__(567); +var $toString = __webpack_require__(68); +var setToStringTag = __webpack_require__(82); +var validateArgumentsLength = __webpack_require__(361); +var URLSearchParamsModule = __webpack_require__(568); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var getInternalURLState = InternalStateModule.getterFor('URL'); +var URLSearchParams = URLSearchParamsModule.URLSearchParams; +var getInternalSearchParamsState = URLSearchParamsModule.getState; + +var NativeURL = globalThis.URL; +var TypeError = globalThis.TypeError; +var parseInt = globalThis.parseInt; +var floor = Math.floor; +var pow = Math.pow; +var charAt = uncurryThis(''.charAt); +var exec = uncurryThis(/./.exec); +var join = uncurryThis([].join); +var numberToString = uncurryThis(1.0.toString); +var pop = uncurryThis([].pop); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); +var toLowerCase = uncurryThis(''.toLowerCase); +var unshift = uncurryThis([].unshift); + +var INVALID_AUTHORITY = 'Invalid authority'; +var INVALID_SCHEME = 'Invalid scheme'; +var INVALID_HOST = 'Invalid host'; +var INVALID_PORT = 'Invalid port'; + +var ALPHA = /[a-z]/i; +// eslint-disable-next-line regexp/no-obscure-range -- safe +var ALPHANUMERIC = /[\d+-.a-z]/i; +var DIGIT = /\d/; +var HEX_START = /^0x/i; +var OCT = /^[0-7]+$/; +var DEC = /^\d+$/; +var HEX = /^[\da-f]+$/i; +/* eslint-disable regexp/no-control-character -- safe */ +var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/; +var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/; +var LEADING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+/; +var TRAILING_C0_CONTROL_OR_SPACE = /(^|[^\u0000-\u0020])[\u0000-\u0020]+$/; +var TAB_AND_NEW_LINE = /[\t\n\r]/g; +/* eslint-enable regexp/no-control-character -- safe */ +var EOF; + +// https://url.spec.whatwg.org/#ipv4-number-parser +var parseIPv4 = function (input) { + var parts = split(input, '.'); + var partsLength, numbers, index, part, radix, number, ipv4; + if (parts.length && parts[parts.length - 1] === '') { + parts.length--; + } + partsLength = parts.length; + if (partsLength > 4) return input; + numbers = []; + for (index = 0; index < partsLength; index++) { + part = parts[index]; + if (part === '') return input; + radix = 10; + if (part.length > 1 && charAt(part, 0) === '0') { + radix = exec(HEX_START, part) ? 16 : 8; + part = stringSlice(part, radix === 8 ? 1 : 2); + } + if (part === '') { + number = 0; + } else { + if (!exec(radix === 10 ? DEC : radix === 8 ? OCT : HEX, part)) return input; + number = parseInt(part, radix); + } + push(numbers, number); + } + for (index = 0; index < partsLength; index++) { + number = numbers[index]; + if (index === partsLength - 1) { + if (number >= pow(256, 5 - partsLength)) return null; + } else if (number > 255) return null; + } + ipv4 = pop(numbers); + for (index = 0; index < numbers.length; index++) { + ipv4 += numbers[index] * pow(256, 3 - index); + } + return ipv4; +}; + +// https://url.spec.whatwg.org/#concept-ipv6-parser +// eslint-disable-next-line max-statements -- TODO +var parseIPv6 = function (input) { + var address = [0, 0, 0, 0, 0, 0, 0, 0]; + var pieceIndex = 0; + var compress = null; + var pointer = 0; + var value, length, numbersSeen, ipv4Piece, number, swaps, swap; + + var chr = function () { + return charAt(input, pointer); + }; + + if (chr() === ':') { + if (charAt(input, 1) !== ':') return; + pointer += 2; + pieceIndex++; + compress = pieceIndex; + } + while (chr()) { + if (pieceIndex === 8) return; + if (chr() === ':') { + if (compress !== null) return; + pointer++; + pieceIndex++; + compress = pieceIndex; + continue; + } + value = length = 0; + while (length < 4 && exec(HEX, chr())) { + value = value * 16 + parseInt(chr(), 16); + pointer++; + length++; + } + if (chr() === '.') { + if (length === 0) return; + pointer -= length; + if (pieceIndex > 6) return; + numbersSeen = 0; + while (chr()) { + ipv4Piece = null; + if (numbersSeen > 0) { + if (chr() === '.' && numbersSeen < 4) pointer++; + else return; + } + if (!exec(DIGIT, chr())) return; + while (exec(DIGIT, chr())) { + number = parseInt(chr(), 10); + if (ipv4Piece === null) ipv4Piece = number; + else if (ipv4Piece === 0) return; + else ipv4Piece = ipv4Piece * 10 + number; + if (ipv4Piece > 255) return; + pointer++; + } + address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; + numbersSeen++; + if (numbersSeen === 2 || numbersSeen === 4) pieceIndex++; + } + if (numbersSeen !== 4) return; + break; + } else if (chr() === ':') { + pointer++; + if (!chr()) return; + } else if (chr()) return; + address[pieceIndex++] = value; + } + if (compress !== null) { + swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex !== 0 && swaps > 0) { + swap = address[pieceIndex]; + address[pieceIndex--] = address[compress + swaps - 1]; + address[compress + --swaps] = swap; + } + } else if (pieceIndex !== 8) return; + return address; +}; + +var findLongestZeroSequence = function (ipv6) { + var maxIndex = null; + var maxLength = 1; + var currStart = null; + var currLength = 0; + var index = 0; + for (; index < 8; index++) { + if (ipv6[index] !== 0) { + if (currLength > maxLength) { + maxIndex = currStart; + maxLength = currLength; + } + currStart = null; + currLength = 0; + } else { + if (currStart === null) currStart = index; + ++currLength; + } + } + return currLength > maxLength ? currStart : maxIndex; +}; + +// https://url.spec.whatwg.org/#host-serializing +var serializeHost = function (host) { + var result, index, compress, ignore0; + + // ipv4 + if (typeof host == 'number') { + result = []; + for (index = 0; index < 4; index++) { + unshift(result, host % 256); + host = floor(host / 256); + } + return join(result, '.'); + } + + // ipv6 + if (typeof host == 'object') { + result = ''; + compress = findLongestZeroSequence(host); + for (index = 0; index < 8; index++) { + if (ignore0 && host[index] === 0) continue; + if (ignore0) ignore0 = false; + if (compress === index) { + result += index ? ':' : '::'; + ignore0 = true; + } else { + result += numberToString(host[index], 16); + if (index < 7) result += ':'; + } + } + return '[' + result + ']'; + } + + return host; +}; + +var C0ControlPercentEncodeSet = {}; +var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { + ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 +}); +var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { + '#': 1, '?': 1, '{': 1, '}': 1 +}); +var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { + '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 +}); + +var percentEncode = function (chr, set) { + var code = codeAt(chr, 0); + return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr); +}; + +// https://url.spec.whatwg.org/#special-scheme +var specialSchemes = { + ftp: 21, + file: null, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; + +// https://url.spec.whatwg.org/#windows-drive-letter +var isWindowsDriveLetter = function (string, normalized) { + var second; + return string.length === 2 && exec(ALPHA, charAt(string, 0)) + && ((second = charAt(string, 1)) === ':' || (!normalized && second === '|')); +}; + +// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter +var startsWithWindowsDriveLetter = function (string) { + var third; + return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && ( + string.length === 2 || + ((third = charAt(string, 2)) === '/' || third === '\\' || third === '?' || third === '#') + ); +}; + +// https://url.spec.whatwg.org/#single-dot-path-segment +var isSingleDot = function (segment) { + return segment === '.' || toLowerCase(segment) === '%2e'; +}; + +// https://url.spec.whatwg.org/#double-dot-path-segment +var isDoubleDot = function (segment) { + segment = toLowerCase(segment); + return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; +}; + +// States: +var SCHEME_START = {}; +var SCHEME = {}; +var NO_SCHEME = {}; +var SPECIAL_RELATIVE_OR_AUTHORITY = {}; +var PATH_OR_AUTHORITY = {}; +var RELATIVE = {}; +var RELATIVE_SLASH = {}; +var SPECIAL_AUTHORITY_SLASHES = {}; +var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; +var AUTHORITY = {}; +var HOST = {}; +var HOSTNAME = {}; +var PORT = {}; +var FILE = {}; +var FILE_SLASH = {}; +var FILE_HOST = {}; +var PATH_START = {}; +var PATH = {}; +var CANNOT_BE_A_BASE_URL_PATH = {}; +var QUERY = {}; +var FRAGMENT = {}; + +var URLState = function (url, isBase, base) { + var urlString = $toString(url); + var baseState, failure, searchParams; + if (isBase) { + failure = this.parse(urlString); + if (failure) throw new TypeError(failure); + this.searchParams = null; + } else { + if (base !== undefined) baseState = new URLState(base, true); + failure = this.parse(urlString, null, baseState); + if (failure) throw new TypeError(failure); + searchParams = getInternalSearchParamsState(new URLSearchParams()); + searchParams.bindURL(this); + this.searchParams = searchParams; + } +}; + +URLState.prototype = { + type: 'URL', + // https://url.spec.whatwg.org/#url-parsing + // eslint-disable-next-line max-statements -- TODO + parse: function (input, stateOverride, base) { + var url = this; + var state = stateOverride || SCHEME_START; + var pointer = 0; + var buffer = ''; + var seenAt = false; + var seenBracket = false; + var seenPasswordToken = false; + var codePoints, chr, bufferCodePoints, failure; + + input = $toString(input); + + if (!stateOverride) { + url.scheme = ''; + url.username = ''; + url.password = ''; + url.host = null; + url.port = null; + url.path = []; + url.query = null; + url.fragment = null; + url.cannotBeABaseURL = false; + input = replace(input, LEADING_C0_CONTROL_OR_SPACE, ''); + input = replace(input, TRAILING_C0_CONTROL_OR_SPACE, '$1'); + } + + input = replace(input, TAB_AND_NEW_LINE, ''); + + codePoints = arrayFrom(input); + + while (pointer <= codePoints.length) { + chr = codePoints[pointer]; + switch (state) { + case SCHEME_START: + if (chr && exec(ALPHA, chr)) { + buffer += toLowerCase(chr); + state = SCHEME; + } else if (!stateOverride) { + state = NO_SCHEME; + continue; + } else return INVALID_SCHEME; + break; + + case SCHEME: + if (chr && (exec(ALPHANUMERIC, chr) || chr === '+' || chr === '-' || chr === '.')) { + buffer += toLowerCase(chr); + } else if (chr === ':') { + if (stateOverride && ( + (url.isSpecial() !== hasOwn(specialSchemes, buffer)) || + (buffer === 'file' && (url.includesCredentials() || url.port !== null)) || + (url.scheme === 'file' && !url.host) + )) return; + url.scheme = buffer; + if (stateOverride) { + if (url.isSpecial() && specialSchemes[url.scheme] === url.port) url.port = null; + return; + } + buffer = ''; + if (url.scheme === 'file') { + state = FILE; + } else if (url.isSpecial() && base && base.scheme === url.scheme) { + state = SPECIAL_RELATIVE_OR_AUTHORITY; + } else if (url.isSpecial()) { + state = SPECIAL_AUTHORITY_SLASHES; + } else if (codePoints[pointer + 1] === '/') { + state = PATH_OR_AUTHORITY; + pointer++; + } else { + url.cannotBeABaseURL = true; + push(url.path, ''); + state = CANNOT_BE_A_BASE_URL_PATH; + } + } else if (!stateOverride) { + buffer = ''; + state = NO_SCHEME; + pointer = 0; + continue; + } else return INVALID_SCHEME; + break; + + case NO_SCHEME: + if (!base || (base.cannotBeABaseURL && chr !== '#')) return INVALID_SCHEME; + if (base.cannotBeABaseURL && chr === '#') { + url.scheme = base.scheme; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + url.cannotBeABaseURL = true; + state = FRAGMENT; + break; + } + state = base.scheme === 'file' ? FILE : RELATIVE; + continue; + + case SPECIAL_RELATIVE_OR_AUTHORITY: + if (chr === '/' && codePoints[pointer + 1] === '/') { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + pointer++; + } else { + state = RELATIVE; + continue; + } break; + + case PATH_OR_AUTHORITY: + if (chr === '/') { + state = AUTHORITY; + break; + } else { + state = PATH; + continue; + } + + case RELATIVE: + url.scheme = base.scheme; + if (chr === EOF) { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + } else if (chr === '/' || (chr === '\\' && url.isSpecial())) { + state = RELATIVE_SLASH; + } else if (chr === '?') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.path.length--; + state = PATH; + continue; + } break; + + case RELATIVE_SLASH: + if (url.isSpecial() && (chr === '/' || chr === '\\')) { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + } else if (chr === '/') { + state = AUTHORITY; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + state = PATH; + continue; + } break; + + case SPECIAL_AUTHORITY_SLASHES: + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + if (chr !== '/' || charAt(buffer, pointer + 1) !== '/') continue; + pointer++; + break; + + case SPECIAL_AUTHORITY_IGNORE_SLASHES: + if (chr !== '/' && chr !== '\\') { + state = AUTHORITY; + continue; + } break; + + case AUTHORITY: + if (chr === '@') { + if (seenAt) buffer = '%40' + buffer; + seenAt = true; + bufferCodePoints = arrayFrom(buffer); + for (var i = 0; i < bufferCodePoints.length; i++) { + var codePoint = bufferCodePoints[i]; + if (codePoint === ':' && !seenPasswordToken) { + seenPasswordToken = true; + continue; + } + var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); + if (seenPasswordToken) url.password += encodedCodePoints; + else url.username += encodedCodePoints; + } + buffer = ''; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) + ) { + if (seenAt && buffer === '') return INVALID_AUTHORITY; + pointer -= arrayFrom(buffer).length + 1; + buffer = ''; + state = HOST; + } else buffer += chr; + break; + + case HOST: + case HOSTNAME: + if (stateOverride && url.scheme === 'file') { + state = FILE_HOST; + continue; + } else if (chr === ':' && !seenBracket) { + if (buffer === '') return INVALID_HOST; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PORT; + if (stateOverride === HOSTNAME) return; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) + ) { + if (url.isSpecial() && buffer === '') return INVALID_HOST; + if (stateOverride && buffer === '' && (url.includesCredentials() || url.port !== null)) return; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PATH_START; + if (stateOverride) return; + continue; + } else { + if (chr === '[') seenBracket = true; + else if (chr === ']') seenBracket = false; + buffer += chr; + } break; + + case PORT: + if (exec(DIGIT, chr)) { + buffer += chr; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) || + stateOverride + ) { + if (buffer !== '') { + var port = parseInt(buffer, 10); + if (port > 0xFFFF) return INVALID_PORT; + url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port; + buffer = ''; + } + if (stateOverride) return; + state = PATH_START; + continue; + } else return INVALID_PORT; + break; + + case FILE: + url.scheme = 'file'; + if (chr === '/' || chr === '\\') state = FILE_SLASH; + else if (base && base.scheme === 'file') { + switch (chr) { + case EOF: + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + break; + case '?': + url.host = base.host; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + break; + case '#': + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + break; + default: + if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + url.host = base.host; + url.path = arraySlice(base.path); + url.shortenPath(); + } + state = PATH; + continue; + } + } else { + state = PATH; + continue; + } break; + + case FILE_SLASH: + if (chr === '/' || chr === '\\') { + state = FILE_HOST; + break; + } + if (base && base.scheme === 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]); + else url.host = base.host; + } + state = PATH; + continue; + + case FILE_HOST: + if (chr === EOF || chr === '/' || chr === '\\' || chr === '?' || chr === '#') { + if (!stateOverride && isWindowsDriveLetter(buffer)) { + state = PATH; + } else if (buffer === '') { + url.host = ''; + if (stateOverride) return; + state = PATH_START; + } else { + failure = url.parseHost(buffer); + if (failure) return failure; + if (url.host === 'localhost') url.host = ''; + if (stateOverride) return; + buffer = ''; + state = PATH_START; + } continue; + } else buffer += chr; + break; + + case PATH_START: + if (url.isSpecial()) { + state = PATH; + if (chr !== '/' && chr !== '\\') continue; + } else if (!stateOverride && chr === '?') { + url.query = ''; + state = QUERY; + } else if (!stateOverride && chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + state = PATH; + if (chr !== '/') continue; + } break; + + case PATH: + if ( + chr === EOF || chr === '/' || + (chr === '\\' && url.isSpecial()) || + (!stateOverride && (chr === '?' || chr === '#')) + ) { + if (isDoubleDot(buffer)) { + url.shortenPath(); + if (chr !== '/' && !(chr === '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else if (isSingleDot(buffer)) { + if (chr !== '/' && !(chr === '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else { + if (url.scheme === 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { + if (url.host) url.host = ''; + buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter + } + push(url.path, buffer); + } + buffer = ''; + if (url.scheme === 'file' && (chr === EOF || chr === '?' || chr === '#')) { + while (url.path.length > 1 && url.path[0] === '') { + shift(url.path); + } + } + if (chr === '?') { + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } + } else { + buffer += percentEncode(chr, pathPercentEncodeSet); + } break; + + case CANNOT_BE_A_BASE_URL_PATH: + if (chr === '?') { + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet); + } break; + + case QUERY: + if (!stateOverride && chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + if (chr === "'" && url.isSpecial()) url.query += '%27'; + else if (chr === '#') url.query += '%23'; + else url.query += percentEncode(chr, C0ControlPercentEncodeSet); + } break; + + case FRAGMENT: + if (chr !== EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet); + break; + } + + pointer++; + } + }, + // https://url.spec.whatwg.org/#host-parsing + parseHost: function (input) { + var result, codePoints, index; + if (charAt(input, 0) === '[') { + if (charAt(input, input.length - 1) !== ']') return INVALID_HOST; + result = parseIPv6(stringSlice(input, 1, -1)); + if (!result) return INVALID_HOST; + this.host = result; + // opaque host + } else if (!this.isSpecial()) { + if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST; + result = ''; + codePoints = arrayFrom(input); + for (index = 0; index < codePoints.length; index++) { + result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); + } + this.host = result; + } else { + input = toASCII(input); + if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST; + result = parseIPv4(input); + if (result === null) return INVALID_HOST; + this.host = result; + } + }, + // https://url.spec.whatwg.org/#cannot-have-a-username-password-port + cannotHaveUsernamePasswordPort: function () { + return !this.host || this.cannotBeABaseURL || this.scheme === 'file'; + }, + // https://url.spec.whatwg.org/#include-credentials + includesCredentials: function () { + return this.username !== '' || this.password !== ''; + }, + // https://url.spec.whatwg.org/#is-special + isSpecial: function () { + return hasOwn(specialSchemes, this.scheme); + }, + // https://url.spec.whatwg.org/#shorten-a-urls-path + shortenPath: function () { + var path = this.path; + var pathSize = path.length; + if (pathSize && (this.scheme !== 'file' || pathSize !== 1 || !isWindowsDriveLetter(path[0], true))) { + path.length--; + } + }, + // https://url.spec.whatwg.org/#concept-url-serializer + serialize: function () { + var url = this; + var scheme = url.scheme; + var username = url.username; + var password = url.password; + var host = url.host; + var port = url.port; + var path = url.path; + var query = url.query; + var fragment = url.fragment; + var output = scheme + ':'; + if (host !== null) { + output += '//'; + if (url.includesCredentials()) { + output += username + (password ? ':' + password : '') + '@'; + } + output += serializeHost(host); + if (port !== null) output += ':' + port; + } else if (scheme === 'file') output += '//'; + output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + if (query !== null) output += '?' + query; + if (fragment !== null) output += '#' + fragment; + return output; + }, + // https://url.spec.whatwg.org/#dom-url-href + setHref: function (href) { + var failure = this.parse(href); + if (failure) throw new TypeError(failure); + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-origin + getOrigin: function () { + var scheme = this.scheme; + var port = this.port; + if (scheme === 'blob') try { + return new URLConstructor(scheme.path[0]).origin; + } catch (error) { + return 'null'; + } + if (scheme === 'file' || !this.isSpecial()) return 'null'; + return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : ''); + }, + // https://url.spec.whatwg.org/#dom-url-protocol + getProtocol: function () { + return this.scheme + ':'; + }, + setProtocol: function (protocol) { + this.parse($toString(protocol) + ':', SCHEME_START); + }, + // https://url.spec.whatwg.org/#dom-url-username + getUsername: function () { + return this.username; + }, + setUsername: function (username) { + var codePoints = arrayFrom($toString(username)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.username = ''; + for (var i = 0; i < codePoints.length; i++) { + this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-password + getPassword: function () { + return this.password; + }, + setPassword: function (password) { + var codePoints = arrayFrom($toString(password)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.password = ''; + for (var i = 0; i < codePoints.length; i++) { + this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-host + getHost: function () { + var host = this.host; + var port = this.port; + return host === null ? '' + : port === null ? serializeHost(host) + : serializeHost(host) + ':' + port; + }, + setHost: function (host) { + if (this.cannotBeABaseURL) return; + this.parse(host, HOST); + }, + // https://url.spec.whatwg.org/#dom-url-hostname + getHostname: function () { + var host = this.host; + return host === null ? '' : serializeHost(host); + }, + setHostname: function (hostname) { + if (this.cannotBeABaseURL) return; + this.parse(hostname, HOSTNAME); + }, + // https://url.spec.whatwg.org/#dom-url-port + getPort: function () { + var port = this.port; + return port === null ? '' : $toString(port); + }, + setPort: function (port) { + if (this.cannotHaveUsernamePasswordPort()) return; + port = $toString(port); + if (port === '') this.port = null; + else this.parse(port, PORT); + }, + // https://url.spec.whatwg.org/#dom-url-pathname + getPathname: function () { + var path = this.path; + return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + }, + setPathname: function (pathname) { + if (this.cannotBeABaseURL) return; + this.path = []; + this.parse(pathname, PATH_START); + }, + // https://url.spec.whatwg.org/#dom-url-search + getSearch: function () { + var query = this.query; + return query ? '?' + query : ''; + }, + setSearch: function (search) { + search = $toString(search); + if (search === '') { + this.query = null; + } else { + if (charAt(search, 0) === '?') search = stringSlice(search, 1); + this.query = ''; + this.parse(search, QUERY); + } + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-searchparams + getSearchParams: function () { + return this.searchParams.facade; + }, + // https://url.spec.whatwg.org/#dom-url-hash + getHash: function () { + var fragment = this.fragment; + return fragment ? '#' + fragment : ''; + }, + setHash: function (hash) { + hash = $toString(hash); + if (hash === '') { + this.fragment = null; + return; + } + if (charAt(hash, 0) === '#') hash = stringSlice(hash, 1); + this.fragment = ''; + this.parse(hash, FRAGMENT); + }, + update: function () { + this.query = this.searchParams.serialize() || null; + } +}; + +// `URL` constructor +// https://url.spec.whatwg.org/#url-class +var URLConstructor = function URL(url /* , base */) { + var that = anInstance(this, URLPrototype); + var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined; + var state = setInternalState(that, new URLState(url, false, base)); + if (!DESCRIPTORS) { + that.href = state.serialize(); + that.origin = state.getOrigin(); + that.protocol = state.getProtocol(); + that.username = state.getUsername(); + that.password = state.getPassword(); + that.host = state.getHost(); + that.hostname = state.getHostname(); + that.port = state.getPort(); + that.pathname = state.getPathname(); + that.search = state.getSearch(); + that.searchParams = state.getSearchParams(); + that.hash = state.getHash(); + } +}; + +var URLPrototype = URLConstructor.prototype; + +var accessorDescriptor = function (getter, setter) { + return { + get: function () { + return getInternalURLState(this)[getter](); + }, + set: setter && function (value) { + return getInternalURLState(this)[setter](value); + }, + configurable: true, + enumerable: true + }; +}; + +if (DESCRIPTORS) { + // `URL.prototype.href` accessors pair + // https://url.spec.whatwg.org/#dom-url-href + defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref')); + // `URL.prototype.origin` getter + // https://url.spec.whatwg.org/#dom-url-origin + defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin')); + // `URL.prototype.protocol` accessors pair + // https://url.spec.whatwg.org/#dom-url-protocol + defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol')); + // `URL.prototype.username` accessors pair + // https://url.spec.whatwg.org/#dom-url-username + defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername')); + // `URL.prototype.password` accessors pair + // https://url.spec.whatwg.org/#dom-url-password + defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword')); + // `URL.prototype.host` accessors pair + // https://url.spec.whatwg.org/#dom-url-host + defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost')); + // `URL.prototype.hostname` accessors pair + // https://url.spec.whatwg.org/#dom-url-hostname + defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname')); + // `URL.prototype.port` accessors pair + // https://url.spec.whatwg.org/#dom-url-port + defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort')); + // `URL.prototype.pathname` accessors pair + // https://url.spec.whatwg.org/#dom-url-pathname + defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname')); + // `URL.prototype.search` accessors pair + // https://url.spec.whatwg.org/#dom-url-search + defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch')); + // `URL.prototype.searchParams` getter + // https://url.spec.whatwg.org/#dom-url-searchparams + defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams')); + // `URL.prototype.hash` accessors pair + // https://url.spec.whatwg.org/#dom-url-hash + defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash')); +} + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +defineBuiltIn(URLPrototype, 'toJSON', function toJSON() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); + +// `URL.prototype.toString` method +// https://url.spec.whatwg.org/#URL-stringification-behavior +defineBuiltIn(URLPrototype, 'toString', function toString() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); + +if (NativeURL) { + var nativeCreateObjectURL = NativeURL.createObjectURL; + var nativeRevokeObjectURL = NativeURL.revokeObjectURL; + // `URL.createObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL + if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL)); + // `URL.revokeObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL + if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL)); +} + +setToStringTag(URLConstructor, 'URL'); + +$({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { + URL: URLConstructor +}); + + +/***/ }), +/* 566 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = !fails(function () { + // eslint-disable-next-line unicorn/relative-url-style -- required for testing + var url = new URL('b?a=1&b=2&c=3', 'https://a'); + var params = url.searchParams; + var params2 = new URLSearchParams('a=1&a=2&b=3'); + var result = ''; + url.pathname = 'c%20d'; + params.forEach(function (value, key) { + params['delete']('b'); + result += key + value; + }); + params2['delete']('a', 2); + // `undefined` case is a Chromium 117 bug + // https://bugs.chromium.org/p/v8/issues/detail?id=14222 + params2['delete']('b', undefined); + return (IS_PURE && (!url.toJSON || !params2.has('a', 1) || params2.has('a', 2) || !params2.has('a', undefined) || params2.has('b'))) + || (!params.size && (IS_PURE || !DESCRIPTORS)) + || !params.sort + || url.href !== 'https://a/c%20d?a=1&c=3' + || params.get('c') !== '3' + || String(new URLSearchParams('?a=1')) !== 'a=1' + || !params[ITERATOR] + // throws in Edge + || new URL('https://a@b').username !== 'a' + || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' + // not punycoded in Edge + || new URL('https://тест').host !== 'xn--e1aybc' + // not escaped in Chrome 62- + || new URL('https://a#б').hash !== '#%D0%B1' + // fails in Chrome 66- + || result !== 'a1c3' + // throws in Safari + || new URL('https://x', undefined).host !== 'x'; +}); + + +/***/ }), +/* 567 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js +var uncurryThis = __webpack_require__(14); + +var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 +var base = 36; +var tMin = 1; +var tMax = 26; +var skew = 38; +var damp = 700; +var initialBias = 72; +var initialN = 128; // 0x80 +var delimiter = '-'; // '\x2D' +var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars +var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators +var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; +var baseMinusTMin = base - tMin; + +var $RangeError = RangeError; +var exec = uncurryThis(regexSeparators.exec); +var floor = Math.floor; +var fromCharCode = String.fromCharCode; +var charCodeAt = uncurryThis(''.charCodeAt); +var join = uncurryThis([].join); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var split = uncurryThis(''.split); +var toLowerCase = uncurryThis(''.toLowerCase); + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + */ +var ucs2decode = function (string) { + var output = []; + var counter = 0; + var length = string.length; + while (counter < length) { + var value = charCodeAt(string, counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + var extra = charCodeAt(string, counter++); + if ((extra & 0xFC00) === 0xDC00) { // Low surrogate. + push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + push(output, value); + counter--; + } + } else { + push(output, value); + } + } + return output; +}; + +/** + * Converts a digit/integer into a basic code point. + */ +var digitToBasic = function (digit) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + */ +var adapt = function (delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + while (delta > baseMinusTMin * tMax >> 1) { + delta = floor(delta / baseMinusTMin); + k += base; + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + */ +var encode = function (input) { + var output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + var inputLength = input.length; + + // Initialize the state. + var n = initialN; + var delta = 0; + var bias = initialBias; + var i, currentValue; + + // Handle the basic code points. + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < 0x80) { + push(output, fromCharCode(currentValue)); + } + } + + var basicLength = output.length; // number of basic code points. + var handledCPCount = basicLength; // number of code points that have been handled; + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + push(output, delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + // All non-basic code points < n have been handled already. Find the next larger one: + var m = maxInt; + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow. + var handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + throw new $RangeError(OVERFLOW_ERROR); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < n && ++delta > maxInt) { + throw new $RangeError(OVERFLOW_ERROR); + } + if (currentValue === n) { + // Represent delta as a generalized variable-length integer. + var q = delta; + var k = base; + while (true) { + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (q < t) break; + var qMinusT = q - t; + var baseMinusT = base - t; + push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT))); + q = floor(qMinusT / baseMinusT); + k += base; + } + + push(output, fromCharCode(digitToBasic(q))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength); + delta = 0; + handledCPCount++; + } + } + + delta++; + n++; + } + return join(output, ''); +}; + +module.exports = function (input) { + var encoded = []; + var labels = split(replace(toLowerCase(input), regexSeparators, '\u002E'), '.'); + var i, label; + for (i = 0; i < labels.length; i++) { + label = labels[i]; + push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label); + } + return join(encoded, '.'); +}; + + +/***/ }), +/* 568 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__(168); +__webpack_require__(444); +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var safeGetBuiltIn = __webpack_require__(364); +var getBuiltIn = __webpack_require__(23); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var DESCRIPTORS = __webpack_require__(6); +var USE_NATIVE_URL = __webpack_require__(566); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var setToStringTag = __webpack_require__(82); +var createIteratorConstructor = __webpack_require__(170); +var InternalStateModule = __webpack_require__(51); +var anInstance = __webpack_require__(211); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var bind = __webpack_require__(84); +var classof = __webpack_require__(69); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var $toString = __webpack_require__(68); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var createIterResultObject = __webpack_require__(172); +var validateArgumentsLength = __webpack_require__(361); +var wellKnownSymbol = __webpack_require__(33); +var arraySort = __webpack_require__(189); + +var ITERATOR = wellKnownSymbol('iterator'); +var URL_SEARCH_PARAMS = 'URLSearchParams'; +var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); +var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); + +var nativeFetch = safeGetBuiltIn('fetch'); +var NativeRequest = safeGetBuiltIn('Request'); +var Headers = safeGetBuiltIn('Headers'); +var RequestPrototype = NativeRequest && NativeRequest.prototype; +var HeadersPrototype = Headers && Headers.prototype; +var TypeError = globalThis.TypeError; +var encodeURIComponent = globalThis.encodeURIComponent; +var fromCharCode = String.fromCharCode; +var fromCodePoint = getBuiltIn('String', 'fromCodePoint'); +var $parseInt = parseInt; +var charAt = uncurryThis(''.charAt); +var join = uncurryThis([].join); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var splice = uncurryThis([].splice); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); +var exec = uncurryThis(/./.exec); + +var plus = /\+/g; +var FALLBACK_REPLACER = '\uFFFD'; +var VALID_HEX = /^[0-9a-f]+$/i; + +var parseHexOctet = function (string, start) { + var substr = stringSlice(string, start, start + 2); + if (!exec(VALID_HEX, substr)) return NaN; + + return $parseInt(substr, 16); +}; + +var getLeadingOnes = function (octet) { + var count = 0; + for (var mask = 0x80; mask > 0 && (octet & mask) !== 0; mask >>= 1) { + count++; + } + return count; +}; + +var utf8Decode = function (octets) { + var codePoint = null; + + switch (octets.length) { + case 1: + codePoint = octets[0]; + break; + case 2: + codePoint = (octets[0] & 0x1F) << 6 | (octets[1] & 0x3F); + break; + case 3: + codePoint = (octets[0] & 0x0F) << 12 | (octets[1] & 0x3F) << 6 | (octets[2] & 0x3F); + break; + case 4: + codePoint = (octets[0] & 0x07) << 18 | (octets[1] & 0x3F) << 12 | (octets[2] & 0x3F) << 6 | (octets[3] & 0x3F); + break; + } + + return codePoint > 0x10FFFF ? null : codePoint; +}; + +var decode = function (input) { + input = replace(input, plus, ' '); + var length = input.length; + var result = ''; + var i = 0; + + while (i < length) { + var decodedChar = charAt(input, i); + + if (decodedChar === '%') { + if (charAt(input, i + 1) === '%' || i + 3 > length) { + result += '%'; + i++; + continue; + } + + var octet = parseHexOctet(input, i + 1); + + // eslint-disable-next-line no-self-compare -- NaN check + if (octet !== octet) { + result += decodedChar; + i++; + continue; + } + + i += 2; + var byteSequenceLength = getLeadingOnes(octet); + + if (byteSequenceLength === 0) { + decodedChar = fromCharCode(octet); + } else { + if (byteSequenceLength === 1 || byteSequenceLength > 4) { + result += FALLBACK_REPLACER; + i++; + continue; + } + + var octets = [octet]; + var sequenceIndex = 1; + + while (sequenceIndex < byteSequenceLength) { + i++; + if (i + 3 > length || charAt(input, i) !== '%') break; + + var nextByte = parseHexOctet(input, i + 1); + + // eslint-disable-next-line no-self-compare -- NaN check + if (nextByte !== nextByte) { + i += 3; + break; + } + if (nextByte > 191 || nextByte < 128) break; + + push(octets, nextByte); + i += 2; + sequenceIndex++; + } + + if (octets.length !== byteSequenceLength) { + result += FALLBACK_REPLACER; + continue; + } + + var codePoint = utf8Decode(octets); + if (codePoint === null) { + result += FALLBACK_REPLACER; + } else { + decodedChar = fromCodePoint(codePoint); + } + } + } + + result += decodedChar; + i++; + } + + return result; +}; + +var find = /[!'()~]|%20/g; + +var replacements = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+' +}; + +var replacer = function (match) { + return replacements[match]; +}; + +var serialize = function (it) { + return replace(encodeURIComponent(it), find, replacer); +}; + +var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { + setInternalState(this, { + type: URL_SEARCH_PARAMS_ITERATOR, + target: getInternalParamsState(params).entries, + index: 0, + kind: kind + }); +}, URL_SEARCH_PARAMS, function next() { + var state = getInternalIteratorState(this); + var target = state.target; + var index = state.index++; + if (!target || index >= target.length) { + state.target = null; + return createIterResultObject(undefined, true); + } + var entry = target[index]; + switch (state.kind) { + case 'keys': return createIterResultObject(entry.key, false); + case 'values': return createIterResultObject(entry.value, false); + } return createIterResultObject([entry.key, entry.value], false); +}, true); + +var URLSearchParamsState = function (init) { + this.entries = []; + this.url = null; + + if (init !== undefined) { + if (isObject(init)) this.parseObject(init); + else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init)); + } +}; + +URLSearchParamsState.prototype = { + type: URL_SEARCH_PARAMS, + bindURL: function (url) { + this.url = url; + this.update(); + }, + parseObject: function (object) { + var entries = this.entries; + var iteratorMethod = getIteratorMethod(object); + var iterator, next, step, entryIterator, entryNext, first, second; + + if (iteratorMethod) { + iterator = getIterator(object, iteratorMethod); + next = iterator.next; + while (!(step = call(next, iterator)).done) { + entryIterator = getIterator(anObject(step.value)); + entryNext = entryIterator.next; + if ( + (first = call(entryNext, entryIterator)).done || + (second = call(entryNext, entryIterator)).done || + !call(entryNext, entryIterator).done + ) throw new TypeError('Expected sequence with length 2'); + push(entries, { key: $toString(first.value), value: $toString(second.value) }); + } + } else for (var key in object) if (hasOwn(object, key)) { + push(entries, { key: key, value: $toString(object[key]) }); + } + }, + parseQuery: function (query) { + if (query) { + var entries = this.entries; + var attributes = split(query, '&'); + var index = 0; + var attribute, entry; + while (index < attributes.length) { + attribute = attributes[index++]; + if (attribute.length) { + entry = split(attribute, '='); + push(entries, { + key: decode(shift(entry)), + value: decode(join(entry, '=')) + }); + } + } + } + }, + serialize: function () { + var entries = this.entries; + var result = []; + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + push(result, serialize(entry.key) + '=' + serialize(entry.value)); + } return join(result, '&'); + }, + update: function () { + this.entries.length = 0; + this.parseQuery(this.url.query); + }, + updateURL: function () { + if (this.url) this.url.update(); + } +}; + +// `URLSearchParams` constructor +// https://url.spec.whatwg.org/#interface-urlsearchparams +var URLSearchParamsConstructor = function URLSearchParams(/* init */) { + anInstance(this, URLSearchParamsPrototype); + var init = arguments.length > 0 ? arguments[0] : undefined; + var state = setInternalState(this, new URLSearchParamsState(init)); + if (!DESCRIPTORS) this.size = state.entries.length; +}; + +var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; + +defineBuiltIns(URLSearchParamsPrototype, { + // `URLSearchParams.prototype.append` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-append + append: function append(name, value) { + var state = getInternalParamsState(this); + validateArgumentsLength(arguments.length, 2); + push(state.entries, { key: $toString(name), value: $toString(value) }); + if (!DESCRIPTORS) this.length++; + state.updateURL(); + }, + // `URLSearchParams.prototype.delete` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-delete + 'delete': function (name /* , value */) { + var state = getInternalParamsState(this); + var length = validateArgumentsLength(arguments.length, 1); + var entries = state.entries; + var key = $toString(name); + var $value = length < 2 ? undefined : arguments[1]; + var value = $value === undefined ? $value : $toString($value); + var index = 0; + while (index < entries.length) { + var entry = entries[index]; + if (entry.key === key && (value === undefined || entry.value === value)) { + splice(entries, index, 1); + if (value !== undefined) break; + } else index++; + } + if (!DESCRIPTORS) this.size = entries.length; + state.updateURL(); + }, + // `URLSearchParams.prototype.get` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-get + get: function get(name) { + var entries = getInternalParamsState(this).entries; + validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) return entries[index].value; + } + return null; + }, + // `URLSearchParams.prototype.getAll` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-getall + getAll: function getAll(name) { + var entries = getInternalParamsState(this).entries; + validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var result = []; + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) push(result, entries[index].value); + } + return result; + }, + // `URLSearchParams.prototype.has` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-has + has: function has(name /* , value */) { + var entries = getInternalParamsState(this).entries; + var length = validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var $value = length < 2 ? undefined : arguments[1]; + var value = $value === undefined ? $value : $toString($value); + var index = 0; + while (index < entries.length) { + var entry = entries[index++]; + if (entry.key === key && (value === undefined || entry.value === value)) return true; + } + return false; + }, + // `URLSearchParams.prototype.set` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-set + set: function set(name, value) { + var state = getInternalParamsState(this); + validateArgumentsLength(arguments.length, 1); + var entries = state.entries; + var found = false; + var key = $toString(name); + var val = $toString(value); + var index = 0; + var entry; + for (; index < entries.length; index++) { + entry = entries[index]; + if (entry.key === key) { + if (found) splice(entries, index--, 1); + else { + found = true; + entry.value = val; + } + } + } + if (!found) push(entries, { key: key, value: val }); + if (!DESCRIPTORS) this.size = entries.length; + state.updateURL(); + }, + // `URLSearchParams.prototype.sort` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-sort + sort: function sort() { + var state = getInternalParamsState(this); + arraySort(state.entries, function (a, b) { + return a.key > b.key ? 1 : -1; + }); + state.updateURL(); + }, + // `URLSearchParams.prototype.forEach` method + forEach: function forEach(callback /* , thisArg */) { + var entries = getInternalParamsState(this).entries; + var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined); + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + boundFunction(entry.value, entry.key, this); + } + }, + // `URLSearchParams.prototype.keys` method + keys: function keys() { + return new URLSearchParamsIterator(this, 'keys'); + }, + // `URLSearchParams.prototype.values` method + values: function values() { + return new URLSearchParamsIterator(this, 'values'); + }, + // `URLSearchParams.prototype.entries` method + entries: function entries() { + return new URLSearchParamsIterator(this, 'entries'); + } +}, { enumerable: true }); + +// `URLSearchParams.prototype[@@iterator]` method +defineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' }); + +// `URLSearchParams.prototype.toString` method +// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior +defineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() { + return getInternalParamsState(this).serialize(); +}, { enumerable: true }); + +// `URLSearchParams.prototype.size` getter +// https://github.com/whatwg/url/pull/734 +if (DESCRIPTORS) defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + return getInternalParamsState(this).entries.length; + }, + configurable: true, + enumerable: true +}); + +setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); + +$({ global: true, constructor: true, forced: !USE_NATIVE_URL }, { + URLSearchParams: URLSearchParamsConstructor +}); + +// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams` +if (!USE_NATIVE_URL && isCallable(Headers)) { + var headersHas = uncurryThis(HeadersPrototype.has); + var headersSet = uncurryThis(HeadersPrototype.set); + + var wrapRequestOptions = function (init) { + if (isObject(init)) { + var body = init.body; + var headers; + if (classof(body) === URL_SEARCH_PARAMS) { + headers = init.headers ? new Headers(init.headers) : new Headers(); + if (!headersHas(headers, 'content-type')) { + headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); + } + return create(init, { + body: createPropertyDescriptor(0, $toString(body)), + headers: createPropertyDescriptor(0, headers) + }); + } + } return init; + }; + + if (isCallable(nativeFetch)) { + $({ global: true, enumerable: true, dontCallGetSet: true, forced: true }, { + fetch: function fetch(input /* , init */) { + return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + } + }); + } + + if (isCallable(NativeRequest)) { + var RequestConstructor = function Request(input /* , init */) { + anInstance(this, RequestPrototype); + return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + }; + + RequestPrototype.constructor = RequestConstructor; + RequestConstructor.prototype = RequestPrototype; + + $({ global: true, constructor: true, dontCallGetSet: true, forced: true }, { + Request: RequestConstructor + }); + } +} + +module.exports = { + URLSearchParams: URLSearchParamsConstructor, + getState: getInternalParamsState +}; + + +/***/ }), +/* 569 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var fails = __webpack_require__(7); +var validateArgumentsLength = __webpack_require__(361); +var toString = __webpack_require__(68); +var USE_NATIVE_URL = __webpack_require__(566); + +var URL = getBuiltIn('URL'); + +// https://github.com/nodejs/node/issues/47505 +// https://github.com/denoland/deno/issues/18893 +var THROWS_WITHOUT_ARGUMENTS = USE_NATIVE_URL && fails(function () { + URL.canParse(); +}); + +// Bun ~ 1.0.30 bug +// https://github.com/oven-sh/bun/issues/9250 +var WRONG_ARITY = fails(function () { + return URL.canParse.length !== 1; +}); + +// `URL.canParse` method +// https://url.spec.whatwg.org/#dom-url-canparse +$({ target: 'URL', stat: true, forced: !THROWS_WITHOUT_ARGUMENTS || WRONG_ARITY }, { + canParse: function canParse(url) { + var length = validateArgumentsLength(arguments.length, 1); + var urlString = toString(url); + var base = length < 2 || arguments[1] === undefined ? undefined : toString(arguments[1]); + try { + return !!new URL(urlString, base); + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 570 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var validateArgumentsLength = __webpack_require__(361); +var toString = __webpack_require__(68); +var USE_NATIVE_URL = __webpack_require__(566); + +var URL = getBuiltIn('URL'); + +// `URL.parse` method +// https://url.spec.whatwg.org/#dom-url-canparse +$({ target: 'URL', stat: true, forced: !USE_NATIVE_URL }, { + parse: function parse(url) { + var length = validateArgumentsLength(arguments.length, 1); + var urlString = toString(url); + var base = length < 2 || arguments[1] === undefined ? undefined : toString(arguments[1]); + try { + return new URL(urlString, base); + } catch (error) { + return null; + } + } +}); + + +/***/ }), +/* 571 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +$({ target: 'URL', proto: true, enumerable: true }, { + toJSON: function toJSON() { + return call(URL.prototype.toString, this); + } +}); + + +/***/ }), +/* 572 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(568); + + +/***/ }), +/* 573 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); + +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var append = uncurryThis(URLSearchParamsPrototype.append); +var $delete = uncurryThis(URLSearchParamsPrototype['delete']); +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); +var push = uncurryThis([].push); +var params = new $URLSearchParams('a=1&a=2&b=3'); + +params['delete']('a', 1); +// `undefined` case is a Chromium 117 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=14222 +params['delete']('b', undefined); + +if (params + '' !== 'a=2') { + defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) return $delete(this, name); + var entries = []; + forEach(this, function (v, k) { // also validates `this` + push(entries, { key: k, value: v }); + }); + validateArgumentsLength(length, 1); + var key = toString(name); + var value = toString($value); + var index = 0; + var dindex = 0; + var found = false; + var entriesLength = entries.length; + var entry; + while (index < entriesLength) { + entry = entries[index++]; + if (found || entry.key === key) { + found = true; + $delete(this, entry.key); + } else dindex++; + } + while (dindex < entriesLength) { + entry = entries[dindex++]; + if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value); + } + }, { enumerable: true, unsafe: true }); +} + + +/***/ }), +/* 574 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); + +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var getAll = uncurryThis(URLSearchParamsPrototype.getAll); +var $has = uncurryThis(URLSearchParamsPrototype.has); +var params = new $URLSearchParams('a=1'); + +// `undefined` case is a Chromium 117 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=14222 +if (params.has('a', 2) || !params.has('a', undefined)) { + defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) return $has(this, name); + var values = getAll(this, name); // also validates `this` + validateArgumentsLength(length, 1); + var value = toString($value); + var index = 0; + while (index < values.length) { + if (values[index++] === value) return true; + } return false; + }, { enumerable: true, unsafe: true }); +} + + +/***/ }), +/* 575 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var uncurryThis = __webpack_require__(14); +var defineBuiltInAccessor = __webpack_require__(77); + +var URLSearchParamsPrototype = URLSearchParams.prototype; +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); + +// `URLSearchParams.prototype.size` getter +// https://github.com/whatwg/url/pull/734 +if (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) { + defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + var count = 0; + forEach(this, function () { count++; }); + return count; + }, + configurable: true, + enumerable: true + }); +} + + +/***/ }), +/* 576 */ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + bb: function() { return /* reexport */ bb; }, + "default": function() { return /* reexport */ bb; } +}); + +// NAMESPACE OBJECT: ./src/config/resolver/interaction.ts +var resolver_interaction_namespaceObject = {}; +__webpack_require__.r(resolver_interaction_namespaceObject); +__webpack_require__.d(resolver_interaction_namespaceObject, { + selection: function() { return selectionModule; }, + subchart: function() { return subchartModule; }, + zoom: function() { return zoomModule; } +}); + +// NAMESPACE OBJECT: ./src/config/resolver/shape.ts +var resolver_shape_namespaceObject = {}; +__webpack_require__.r(resolver_shape_namespaceObject); +__webpack_require__.d(resolver_shape_namespaceObject, { + area: function() { return resolver_shape_area; }, + areaLineRange: function() { return areaLineRange; }, + areaSpline: function() { return areaSpline; }, + areaSplineRange: function() { return areaSplineRange; }, + areaStep: function() { return areaStep; }, + areaStepRange: function() { return areaStepRange; }, + bar: function() { return resolver_shape_bar; }, + bubble: function() { return resolver_shape_bubble; }, + candlestick: function() { return resolver_shape_candlestick; }, + donut: function() { return shape_donut; }, + funnel: function() { return resolver_shape_funnel; }, + gauge: function() { return resolver_shape_gauge; }, + line: function() { return resolver_shape_line; }, + pie: function() { return resolver_shape_pie; }, + polar: function() { return resolver_shape_polar; }, + radar: function() { return resolver_shape_radar; }, + scatter: function() { return shape_scatter; }, + spline: function() { return shape_spline; }, + step: function() { return shape_step; }, + treemap: function() { return resolver_shape_treemap; } +}); + +;// ./node_modules/d3-selection/src/selector.js +function none() { +} +/* harmony default export */ function selector(selector) { + return selector == null ? none : function() { + return this.querySelector(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/select.js + + +/* harmony default export */ function selection_select(select) { + if (typeof select !== "function") select = selector(select); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) { + if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) { + if ("__data__" in node) subnode.__data__ = node.__data__; + subgroup[i] = subnode; + } + } + } + return new Selection(subgroups, this._parents); +} + +;// ./node_modules/d3-selection/src/array.js +function array(x) { + return x == null ? [] : Array.isArray(x) ? x : Array.from(x); +} + +;// ./node_modules/d3-selection/src/selectorAll.js +function empty() { + return []; +} +/* harmony default export */ function selectorAll(selector) { + return selector == null ? empty : function() { + return this.querySelectorAll(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/selectAll.js + + + +function arrayAll(select) { + return function() { + return array(select.apply(this, arguments)); + }; +} +/* harmony default export */ function selectAll(select) { + if (typeof select === "function") select = arrayAll(select); + else select = selectorAll(select); + for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + subgroups.push(select.call(node, node.__data__, i, group)); + parents.push(node); + } + } + } + return new Selection(subgroups, parents); +} + +;// ./node_modules/d3-selection/src/matcher.js +/* harmony default export */ function matcher(selector) { + return function() { + return this.matches(selector); + }; +} +function childMatcher(selector) { + return function(node) { + return node.matches(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/selectChild.js + +var find = Array.prototype.find; +function childFind(match) { + return function() { + return find.call(this.children, match); + }; +} +function childFirst() { + return this.firstElementChild; +} +/* harmony default export */ function selectChild(match) { + return this.select(match == null ? childFirst : childFind(typeof match === "function" ? match : childMatcher(match))); +} + +;// ./node_modules/d3-selection/src/selection/selectChildren.js + +var filter = Array.prototype.filter; +function children() { + return Array.from(this.children); +} +function childrenFilter(match) { + return function() { + return filter.call(this.children, match); + }; +} +/* harmony default export */ function selectChildren(match) { + return this.selectAll(match == null ? children : childrenFilter(typeof match === "function" ? match : childMatcher(match))); +} + +;// ./node_modules/d3-selection/src/selection/filter.js + + +/* harmony default export */ function selection_filter(match) { + if (typeof match !== "function") match = matcher(match); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) { + if ((node = group[i]) && match.call(node, node.__data__, i, group)) { + subgroup.push(node); + } + } + } + return new Selection(subgroups, this._parents); +} + +;// ./node_modules/d3-selection/src/selection/sparse.js +/* harmony default export */ function sparse(update) { + return new Array(update.length); +} + +;// ./node_modules/d3-selection/src/selection/enter.js + + +/* harmony default export */ function enter() { + return new Selection(this._enter || this._groups.map(sparse), this._parents); +} +function EnterNode(parent, datum) { + this.ownerDocument = parent.ownerDocument; + this.namespaceURI = parent.namespaceURI; + this._next = null; + this._parent = parent; + this.__data__ = datum; +} +EnterNode.prototype = { + constructor: EnterNode, + appendChild: function(child) { + return this._parent.insertBefore(child, this._next); + }, + insertBefore: function(child, next) { + return this._parent.insertBefore(child, next); + }, + querySelector: function(selector) { + return this._parent.querySelector(selector); + }, + querySelectorAll: function(selector) { + return this._parent.querySelectorAll(selector); + } +}; + +;// ./node_modules/d3-selection/src/constant.js +/* harmony default export */ function constant(x) { + return function() { + return x; + }; +} + +;// ./node_modules/d3-selection/src/selection/data.js + + + +function bindIndex(parent, group, enter, update, exit, data) { + var i = 0, node, groupLength = group.length, dataLength = data.length; + for (; i < dataLength; ++i) { + if (node = group[i]) { + node.__data__ = data[i]; + update[i] = node; + } else { + enter[i] = new EnterNode(parent, data[i]); + } + } + for (; i < groupLength; ++i) { + if (node = group[i]) { + exit[i] = node; + } + } +} +function bindKey(parent, group, enter, update, exit, data, key) { + var i, node, nodeByKeyValue = /* @__PURE__ */ new Map(), groupLength = group.length, dataLength = data.length, keyValues = new Array(groupLength), keyValue; + for (i = 0; i < groupLength; ++i) { + if (node = group[i]) { + keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + ""; + if (nodeByKeyValue.has(keyValue)) { + exit[i] = node; + } else { + nodeByKeyValue.set(keyValue, node); + } + } + } + for (i = 0; i < dataLength; ++i) { + keyValue = key.call(parent, data[i], i, data) + ""; + if (node = nodeByKeyValue.get(keyValue)) { + update[i] = node; + node.__data__ = data[i]; + nodeByKeyValue.delete(keyValue); + } else { + enter[i] = new EnterNode(parent, data[i]); + } + } + for (i = 0; i < groupLength; ++i) { + if ((node = group[i]) && nodeByKeyValue.get(keyValues[i]) === node) { + exit[i] = node; + } + } +} +function datum(node) { + return node.__data__; +} +/* harmony default export */ function data(value, key) { + if (!arguments.length) return Array.from(this, datum); + var bind = key ? bindKey : bindIndex, parents = this._parents, groups = this._groups; + if (typeof value !== "function") value = constant(value); + for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) { + var parent = parents[j], group = groups[j], groupLength = group.length, data = arraylike(value.call(parent, parent && parent.__data__, j, parents)), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength); + bind(parent, group, enterGroup, updateGroup, exitGroup, data, key); + for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) { + if (previous = enterGroup[i0]) { + if (i0 >= i1) i1 = i0 + 1; + while (!(next = updateGroup[i1]) && ++i1 < dataLength) ; + previous._next = next || null; + } + } + } + update = new Selection(update, parents); + update._enter = enter; + update._exit = exit; + return update; +} +function arraylike(data) { + return typeof data === "object" && "length" in data ? data : Array.from(data); +} + +;// ./node_modules/d3-selection/src/selection/exit.js + + +/* harmony default export */ function exit() { + return new Selection(this._exit || this._groups.map(sparse), this._parents); +} + +;// ./node_modules/d3-selection/src/selection/join.js +/* harmony default export */ function join(onenter, onupdate, onexit) { + var enter = this.enter(), update = this, exit = this.exit(); + if (typeof onenter === "function") { + enter = onenter(enter); + if (enter) enter = enter.selection(); + } else { + enter = enter.append(onenter + ""); + } + if (onupdate != null) { + update = onupdate(update); + if (update) update = update.selection(); + } + if (onexit == null) exit.remove(); + else onexit(exit); + return enter && update ? enter.merge(update).order() : update; +} + +;// ./node_modules/d3-selection/src/selection/merge.js + +/* harmony default export */ function merge(context) { + var selection = context.selection ? context.selection() : context; + for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { + for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group0[i] || group1[i]) { + merge[i] = node; + } + } + } + for (; j < m0; ++j) { + merges[j] = groups0[j]; + } + return new Selection(merges, this._parents); +} + +;// ./node_modules/d3-selection/src/selection/order.js +/* harmony default export */ function order() { + for (var groups = this._groups, j = -1, m = groups.length; ++j < m; ) { + for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0; ) { + if (node = group[i]) { + if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next); + next = node; + } + } + } + return this; +} + +;// ./node_modules/d3-selection/src/selection/sort.js + +/* harmony default export */ function sort(compare) { + if (!compare) compare = ascending; + function compareNode(a, b) { + return a && b ? compare(a.__data__, b.__data__) : !a - !b; + } + for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group[i]) { + sortgroup[i] = node; + } + } + sortgroup.sort(compareNode); + } + return new Selection(sortgroups, this._parents).order(); +} +function ascending(a, b) { + return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; +} + +;// ./node_modules/d3-selection/src/selection/call.js +/* harmony default export */ function call() { + var callback = arguments[0]; + arguments[0] = this; + callback.apply(null, arguments); + return this; +} + +;// ./node_modules/d3-selection/src/selection/nodes.js +/* harmony default export */ function nodes() { + return Array.from(this); +} + +;// ./node_modules/d3-selection/src/selection/node.js +/* harmony default export */ function node() { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length; i < n; ++i) { + var node = group[i]; + if (node) return node; + } + } + return null; +} + +;// ./node_modules/d3-selection/src/selection/size.js +/* harmony default export */ function size() { + let size = 0; + for (const node of this) ++size; + return size; +} + +;// ./node_modules/d3-selection/src/selection/empty.js +/* harmony default export */ function selection_empty() { + return !this.node(); +} + +;// ./node_modules/d3-selection/src/selection/each.js +/* harmony default export */ function each(callback) { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) { + if (node = group[i]) callback.call(node, node.__data__, i, group); + } + } + return this; +} + +;// ./node_modules/d3-selection/src/namespaces.js +var xhtml = "http://www.w3.org/1999/xhtml"; +/* harmony default export */ var namespaces = ({ + svg: "http://www.w3.org/2000/svg", + xhtml, + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/" +}); + +;// ./node_modules/d3-selection/src/namespace.js + +/* harmony default export */ function namespace(name) { + var prefix = name += "", i = prefix.indexOf(":"); + if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1); + return namespaces.hasOwnProperty(prefix) ? { space: namespaces[prefix], local: name } : name; +} + +;// ./node_modules/d3-selection/src/selection/attr.js + +function attrRemove(name) { + return function() { + this.removeAttribute(name); + }; +} +function attrRemoveNS(fullname) { + return function() { + this.removeAttributeNS(fullname.space, fullname.local); + }; +} +function attrConstant(name, value) { + return function() { + this.setAttribute(name, value); + }; +} +function attrConstantNS(fullname, value) { + return function() { + this.setAttributeNS(fullname.space, fullname.local, value); + }; +} +function attrFunction(name, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.removeAttribute(name); + else this.setAttribute(name, v); + }; +} +function attrFunctionNS(fullname, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.removeAttributeNS(fullname.space, fullname.local); + else this.setAttributeNS(fullname.space, fullname.local, v); + }; +} +/* harmony default export */ function attr(name, value) { + var fullname = namespace(name); + if (arguments.length < 2) { + var node = this.node(); + return fullname.local ? node.getAttributeNS(fullname.space, fullname.local) : node.getAttribute(fullname); + } + return this.each((value == null ? fullname.local ? attrRemoveNS : attrRemove : typeof value === "function" ? fullname.local ? attrFunctionNS : attrFunction : fullname.local ? attrConstantNS : attrConstant)(fullname, value)); +} + +;// ./node_modules/d3-selection/src/window.js +/* harmony default export */ function src_window(node) { + return node.ownerDocument && node.ownerDocument.defaultView || node.document && node || node.defaultView; +} + +;// ./node_modules/d3-selection/src/selection/style.js + +function styleRemove(name) { + return function() { + this.style.removeProperty(name); + }; +} +function styleConstant(name, value, priority) { + return function() { + this.style.setProperty(name, value, priority); + }; +} +function styleFunction(name, value, priority) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.style.removeProperty(name); + else this.style.setProperty(name, v, priority); + }; +} +/* harmony default export */ function style(name, value, priority) { + return arguments.length > 1 ? this.each((value == null ? styleRemove : typeof value === "function" ? styleFunction : styleConstant)(name, value, priority == null ? "" : priority)) : styleValue(this.node(), name); +} +function styleValue(node, name) { + return node.style.getPropertyValue(name) || src_window(node).getComputedStyle(node, null).getPropertyValue(name); +} + +;// ./node_modules/d3-selection/src/selection/property.js +function propertyRemove(name) { + return function() { + delete this[name]; + }; +} +function propertyConstant(name, value) { + return function() { + this[name] = value; + }; +} +function propertyFunction(name, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) delete this[name]; + else this[name] = v; + }; +} +/* harmony default export */ function property(name, value) { + return arguments.length > 1 ? this.each((value == null ? propertyRemove : typeof value === "function" ? propertyFunction : propertyConstant)(name, value)) : this.node()[name]; +} + +;// ./node_modules/d3-selection/src/selection/classed.js +function classArray(string) { + return string.trim().split(/^|\s+/); +} +function classList(node) { + return node.classList || new ClassList(node); +} +function ClassList(node) { + this._node = node; + this._names = classArray(node.getAttribute("class") || ""); +} +ClassList.prototype = { + add: function(name) { + var i = this._names.indexOf(name); + if (i < 0) { + this._names.push(name); + this._node.setAttribute("class", this._names.join(" ")); + } + }, + remove: function(name) { + var i = this._names.indexOf(name); + if (i >= 0) { + this._names.splice(i, 1); + this._node.setAttribute("class", this._names.join(" ")); + } + }, + contains: function(name) { + return this._names.indexOf(name) >= 0; + } +}; +function classedAdd(node, names) { + var list = classList(node), i = -1, n = names.length; + while (++i < n) list.add(names[i]); +} +function classedRemove(node, names) { + var list = classList(node), i = -1, n = names.length; + while (++i < n) list.remove(names[i]); +} +function classedTrue(names) { + return function() { + classedAdd(this, names); + }; +} +function classedFalse(names) { + return function() { + classedRemove(this, names); + }; +} +function classedFunction(names, value) { + return function() { + (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names); + }; +} +/* harmony default export */ function classed(name, value) { + var names = classArray(name + ""); + if (arguments.length < 2) { + var list = classList(this.node()), i = -1, n = names.length; + while (++i < n) if (!list.contains(names[i])) return false; + return true; + } + return this.each((typeof value === "function" ? classedFunction : value ? classedTrue : classedFalse)(names, value)); +} + +;// ./node_modules/d3-selection/src/selection/text.js +function textRemove() { + this.textContent = ""; +} +function textConstant(value) { + return function() { + this.textContent = value; + }; +} +function textFunction(value) { + return function() { + var v = value.apply(this, arguments); + this.textContent = v == null ? "" : v; + }; +} +/* harmony default export */ function selection_text(value) { + return arguments.length ? this.each(value == null ? textRemove : (typeof value === "function" ? textFunction : textConstant)(value)) : this.node().textContent; +} + +;// ./node_modules/d3-selection/src/selection/html.js +function htmlRemove() { + this.innerHTML = ""; +} +function htmlConstant(value) { + return function() { + this.innerHTML = value; + }; +} +function htmlFunction(value) { + return function() { + var v = value.apply(this, arguments); + this.innerHTML = v == null ? "" : v; + }; +} +/* harmony default export */ function html(value) { + return arguments.length ? this.each(value == null ? htmlRemove : (typeof value === "function" ? htmlFunction : htmlConstant)(value)) : this.node().innerHTML; +} + +;// ./node_modules/d3-selection/src/selection/raise.js +function raise() { + if (this.nextSibling) this.parentNode.appendChild(this); +} +/* harmony default export */ function selection_raise() { + return this.each(raise); +} + +;// ./node_modules/d3-selection/src/selection/lower.js +function lower() { + if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild); +} +/* harmony default export */ function selection_lower() { + return this.each(lower); +} + +;// ./node_modules/d3-selection/src/creator.js + + +function creatorInherit(name) { + return function() { + var document = this.ownerDocument, uri = this.namespaceURI; + return uri === xhtml && document.documentElement.namespaceURI === xhtml ? document.createElement(name) : document.createElementNS(uri, name); + }; +} +function creatorFixed(fullname) { + return function() { + return this.ownerDocument.createElementNS(fullname.space, fullname.local); + }; +} +/* harmony default export */ function creator(name) { + var fullname = namespace(name); + return (fullname.local ? creatorFixed : creatorInherit)(fullname); +} + +;// ./node_modules/d3-selection/src/selection/append.js + +/* harmony default export */ function append(name) { + var create = typeof name === "function" ? name : creator(name); + return this.select(function() { + return this.appendChild(create.apply(this, arguments)); + }); +} + +;// ./node_modules/d3-selection/src/selection/insert.js + + +function constantNull() { + return null; +} +/* harmony default export */ function insert(name, before) { + var create = typeof name === "function" ? name : creator(name), select = before == null ? constantNull : typeof before === "function" ? before : selector(before); + return this.select(function() { + return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null); + }); +} + +;// ./node_modules/d3-selection/src/selection/remove.js +function remove() { + var parent = this.parentNode; + if (parent) parent.removeChild(this); +} +/* harmony default export */ function selection_remove() { + return this.each(remove); +} + +;// ./node_modules/d3-selection/src/selection/clone.js +function selection_cloneShallow() { + var clone = this.cloneNode(false), parent = this.parentNode; + return parent ? parent.insertBefore(clone, this.nextSibling) : clone; +} +function selection_cloneDeep() { + var clone = this.cloneNode(true), parent = this.parentNode; + return parent ? parent.insertBefore(clone, this.nextSibling) : clone; +} +/* harmony default export */ function clone(deep) { + return this.select(deep ? selection_cloneDeep : selection_cloneShallow); +} + +;// ./node_modules/d3-selection/src/selection/datum.js +/* harmony default export */ function selection_datum(value) { + return arguments.length ? this.property("__data__", value) : this.node().__data__; +} + +;// ./node_modules/d3-selection/src/selection/on.js +function contextListener(listener) { + return function(event) { + listener.call(this, event, this.__data__); + }; +} +function parseTypenames(typenames) { + return typenames.trim().split(/^|\s+/).map(function(t) { + var name = "", i = t.indexOf("."); + if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); + return { type: t, name }; + }); +} +function onRemove(typename) { + return function() { + var on = this.__on; + if (!on) return; + for (var j = 0, i = -1, m = on.length, o; j < m; ++j) { + if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) { + this.removeEventListener(o.type, o.listener, o.options); + } else { + on[++i] = o; + } + } + if (++i) on.length = i; + else delete this.__on; + }; +} +function onAdd(typename, value, options) { + return function() { + var on = this.__on, o, listener = contextListener(value); + if (on) for (var j = 0, m = on.length; j < m; ++j) { + if ((o = on[j]).type === typename.type && o.name === typename.name) { + this.removeEventListener(o.type, o.listener, o.options); + this.addEventListener(o.type, o.listener = listener, o.options = options); + o.value = value; + return; + } + } + this.addEventListener(typename.type, listener, options); + o = { type: typename.type, name: typename.name, value, listener, options }; + if (!on) this.__on = [o]; + else on.push(o); + }; +} +/* harmony default export */ function on(typename, value, options) { + var typenames = parseTypenames(typename + ""), i, n = typenames.length, t; + if (arguments.length < 2) { + var on = this.node().__on; + if (on) for (var j = 0, m = on.length, o; j < m; ++j) { + for (i = 0, o = on[j]; i < n; ++i) { + if ((t = typenames[i]).type === o.type && t.name === o.name) { + return o.value; + } + } + } + return; + } + on = value ? onAdd : onRemove; + for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options)); + return this; +} + +;// ./node_modules/d3-selection/src/selection/dispatch.js + +function dispatchEvent(node, type, params) { + var window = src_window(node), event = window.CustomEvent; + if (typeof event === "function") { + event = new event(type, params); + } else { + event = window.document.createEvent("Event"); + if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail; + else event.initEvent(type, false, false); + } + node.dispatchEvent(event); +} +function dispatchConstant(type, params) { + return function() { + return dispatchEvent(this, type, params); + }; +} +function dispatchFunction(type, params) { + return function() { + return dispatchEvent(this, type, params.apply(this, arguments)); + }; +} +/* harmony default export */ function dispatch(type, params) { + return this.each((typeof params === "function" ? dispatchFunction : dispatchConstant)(type, params)); +} + +;// ./node_modules/d3-selection/src/selection/iterator.js +/* harmony default export */ function* iterator() { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) { + if (node = group[i]) yield node; + } + } +} + +;// ./node_modules/d3-selection/src/selection/index.js + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +var root = [null]; +function Selection(groups, parents) { + this._groups = groups; + this._parents = parents; +} +function selection() { + return new Selection([[document.documentElement]], root); +} +function selection_selection() { + return this; +} +Selection.prototype = selection.prototype = { + constructor: Selection, + select: selection_select, + selectAll: selectAll, + selectChild: selectChild, + selectChildren: selectChildren, + filter: selection_filter, + data: data, + enter: enter, + exit: exit, + join: join, + merge: merge, + selection: selection_selection, + order: order, + sort: sort, + call: call, + nodes: nodes, + node: node, + size: size, + empty: selection_empty, + each: each, + attr: attr, + style: style, + property: property, + classed: classed, + text: selection_text, + html: html, + raise: selection_raise, + lower: selection_lower, + append: append, + insert: insert, + remove: selection_remove, + clone: clone, + datum: selection_datum, + on: on, + dispatch: dispatch, + [Symbol.iterator]: iterator +}; +/* harmony default export */ var src_selection = (selection); + +;// ./node_modules/d3-selection/src/select.js + +/* harmony default export */ function src_select(selector) { + return typeof selector === "string" ? new Selection([[document.querySelector(selector)]], [document.documentElement]) : new Selection([[selector]], root); +} + +;// ./node_modules/d3-time/src/interval.js +const t0 = /* @__PURE__ */ new Date(), t1 = /* @__PURE__ */ new Date(); +function timeInterval(floori, offseti, count, field) { + function interval(date) { + return floori(date = arguments.length === 0 ? /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(+date)), date; + } + interval.floor = (date) => { + return floori(date = /* @__PURE__ */ new Date(+date)), date; + }; + interval.ceil = (date) => { + return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date; + }; + interval.round = (date) => { + const d0 = interval(date), d1 = interval.ceil(date); + return date - d0 < d1 - date ? d0 : d1; + }; + interval.offset = (date, step) => { + return offseti(date = /* @__PURE__ */ new Date(+date), step == null ? 1 : Math.floor(step)), date; + }; + interval.range = (start, stop, step) => { + const range = []; + start = interval.ceil(start); + step = step == null ? 1 : Math.floor(step); + if (!(start < stop) || !(step > 0)) return range; + let previous; + do + range.push(previous = /* @__PURE__ */ new Date(+start)), offseti(start, step), floori(start); + while (previous < start && start < stop); + return range; + }; + interval.filter = (test) => { + return timeInterval((date) => { + if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1); + }, (date, step) => { + if (date >= date) { + if (step < 0) while (++step <= 0) { + while (offseti(date, -1), !test(date)) { + } + } + else while (--step >= 0) { + while (offseti(date, 1), !test(date)) { + } + } + } + }); + }; + if (count) { + interval.count = (start, end) => { + t0.setTime(+start), t1.setTime(+end); + floori(t0), floori(t1); + return Math.floor(count(t0, t1)); + }; + interval.every = (step) => { + step = Math.floor(step); + return !isFinite(step) || !(step > 0) ? null : !(step > 1) ? interval : interval.filter(field ? (d) => field(d) % step === 0 : (d) => interval.count(0, d) % step === 0); + }; + } + return interval; +} + +;// ./node_modules/d3-time/src/duration.js +const durationSecond = 1e3; +const durationMinute = durationSecond * 60; +const durationHour = durationMinute * 60; +const durationDay = durationHour * 24; +const durationWeek = durationDay * 7; +const durationMonth = durationDay * 30; +const durationYear = durationDay * 365; + +;// ./node_modules/d3-time/src/week.js + + +function timeWeekday(i) { + return timeInterval((date) => { + date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7); + date.setHours(0, 0, 0, 0); + }, (date, step) => { + date.setDate(date.getDate() + step * 7); + }, (start, end) => { + return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek; + }); +} +const timeSunday = timeWeekday(0); +const timeMonday = timeWeekday(1); +const timeTuesday = timeWeekday(2); +const timeWednesday = timeWeekday(3); +const timeThursday = timeWeekday(4); +const timeFriday = timeWeekday(5); +const timeSaturday = timeWeekday(6); +const timeSundays = timeSunday.range; +const timeMondays = timeMonday.range; +const timeTuesdays = timeTuesday.range; +const timeWednesdays = timeWednesday.range; +const timeThursdays = timeThursday.range; +const timeFridays = timeFriday.range; +const timeSaturdays = timeSaturday.range; +function utcWeekday(i) { + return timeInterval((date) => { + date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7); + date.setUTCHours(0, 0, 0, 0); + }, (date, step) => { + date.setUTCDate(date.getUTCDate() + step * 7); + }, (start, end) => { + return (end - start) / durationWeek; + }); +} +const utcSunday = utcWeekday(0); +const utcMonday = utcWeekday(1); +const utcTuesday = utcWeekday(2); +const utcWednesday = utcWeekday(3); +const utcThursday = utcWeekday(4); +const utcFriday = utcWeekday(5); +const utcSaturday = utcWeekday(6); +const utcSundays = utcSunday.range; +const utcMondays = utcMonday.range; +const utcTuesdays = utcTuesday.range; +const utcWednesdays = utcWednesday.range; +const utcThursdays = utcThursday.range; +const utcFridays = utcFriday.range; +const utcSaturdays = utcSaturday.range; + +;// ./node_modules/d3-time/src/day.js + + +const timeDay = timeInterval( + (date) => date.setHours(0, 0, 0, 0), + (date, step) => date.setDate(date.getDate() + step), + (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay, + (date) => date.getDate() - 1 +); +const timeDays = timeDay.range; +const utcDay = timeInterval((date) => { + date.setUTCHours(0, 0, 0, 0); +}, (date, step) => { + date.setUTCDate(date.getUTCDate() + step); +}, (start, end) => { + return (end - start) / durationDay; +}, (date) => { + return date.getUTCDate() - 1; +}); +const utcDays = utcDay.range; +const unixDay = timeInterval((date) => { + date.setUTCHours(0, 0, 0, 0); +}, (date, step) => { + date.setUTCDate(date.getUTCDate() + step); +}, (start, end) => { + return (end - start) / durationDay; +}, (date) => { + return Math.floor(date / durationDay); +}); +const unixDays = unixDay.range; + +;// ./node_modules/d3-time/src/year.js + +const timeYear = timeInterval((date) => { + date.setMonth(0, 1); + date.setHours(0, 0, 0, 0); +}, (date, step) => { + date.setFullYear(date.getFullYear() + step); +}, (start, end) => { + return end.getFullYear() - start.getFullYear(); +}, (date) => { + return date.getFullYear(); +}); +timeYear.every = (k) => { + return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => { + date.setFullYear(Math.floor(date.getFullYear() / k) * k); + date.setMonth(0, 1); + date.setHours(0, 0, 0, 0); + }, (date, step) => { + date.setFullYear(date.getFullYear() + step * k); + }); +}; +const timeYears = timeYear.range; +const utcYear = timeInterval((date) => { + date.setUTCMonth(0, 1); + date.setUTCHours(0, 0, 0, 0); +}, (date, step) => { + date.setUTCFullYear(date.getUTCFullYear() + step); +}, (start, end) => { + return end.getUTCFullYear() - start.getUTCFullYear(); +}, (date) => { + return date.getUTCFullYear(); +}); +utcYear.every = (k) => { + return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => { + date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k); + date.setUTCMonth(0, 1); + date.setUTCHours(0, 0, 0, 0); + }, (date, step) => { + date.setUTCFullYear(date.getUTCFullYear() + step * k); + }); +}; +const utcYears = utcYear.range; + +;// ./node_modules/d3-time-format/src/locale.js + +function localDate(d) { + if (0 <= d.y && d.y < 100) { + var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L); + date.setFullYear(d.y); + return date; + } + return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L); +} +function utcDate(d) { + if (0 <= d.y && d.y < 100) { + var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L)); + date.setUTCFullYear(d.y); + return date; + } + return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L)); +} +function newDate(y, m, d) { + return { y, m, d, H: 0, M: 0, S: 0, L: 0 }; +} +function formatLocale(locale) { + var locale_dateTime = locale.dateTime, locale_date = locale.date, locale_time = locale.time, locale_periods = locale.periods, locale_weekdays = locale.days, locale_shortWeekdays = locale.shortDays, locale_months = locale.months, locale_shortMonths = locale.shortMonths; + var periodRe = formatRe(locale_periods), periodLookup = formatLookup(locale_periods), weekdayRe = formatRe(locale_weekdays), weekdayLookup = formatLookup(locale_weekdays), shortWeekdayRe = formatRe(locale_shortWeekdays), shortWeekdayLookup = formatLookup(locale_shortWeekdays), monthRe = formatRe(locale_months), monthLookup = formatLookup(locale_months), shortMonthRe = formatRe(locale_shortMonths), shortMonthLookup = formatLookup(locale_shortMonths); + var formats = { + "a": formatShortWeekday, + "A": formatWeekday, + "b": formatShortMonth, + "B": formatMonth, + "c": null, + "d": formatDayOfMonth, + "e": formatDayOfMonth, + "f": formatMicroseconds, + "g": formatYearISO, + "G": formatFullYearISO, + "H": formatHour24, + "I": formatHour12, + "j": formatDayOfYear, + "L": formatMilliseconds, + "m": formatMonthNumber, + "M": formatMinutes, + "p": formatPeriod, + "q": formatQuarter, + "Q": formatUnixTimestamp, + "s": formatUnixTimestampSeconds, + "S": formatSeconds, + "u": formatWeekdayNumberMonday, + "U": formatWeekNumberSunday, + "V": formatWeekNumberISO, + "w": formatWeekdayNumberSunday, + "W": formatWeekNumberMonday, + "x": null, + "X": null, + "y": formatYear, + "Y": formatFullYear, + "Z": formatZone, + "%": formatLiteralPercent + }; + var utcFormats = { + "a": formatUTCShortWeekday, + "A": formatUTCWeekday, + "b": formatUTCShortMonth, + "B": formatUTCMonth, + "c": null, + "d": formatUTCDayOfMonth, + "e": formatUTCDayOfMonth, + "f": formatUTCMicroseconds, + "g": formatUTCYearISO, + "G": formatUTCFullYearISO, + "H": formatUTCHour24, + "I": formatUTCHour12, + "j": formatUTCDayOfYear, + "L": formatUTCMilliseconds, + "m": formatUTCMonthNumber, + "M": formatUTCMinutes, + "p": formatUTCPeriod, + "q": formatUTCQuarter, + "Q": formatUnixTimestamp, + "s": formatUnixTimestampSeconds, + "S": formatUTCSeconds, + "u": formatUTCWeekdayNumberMonday, + "U": formatUTCWeekNumberSunday, + "V": formatUTCWeekNumberISO, + "w": formatUTCWeekdayNumberSunday, + "W": formatUTCWeekNumberMonday, + "x": null, + "X": null, + "y": formatUTCYear, + "Y": formatUTCFullYear, + "Z": formatUTCZone, + "%": formatLiteralPercent + }; + var parses = { + "a": parseShortWeekday, + "A": parseWeekday, + "b": parseShortMonth, + "B": parseMonth, + "c": parseLocaleDateTime, + "d": parseDayOfMonth, + "e": parseDayOfMonth, + "f": parseMicroseconds, + "g": parseYear, + "G": parseFullYear, + "H": parseHour24, + "I": parseHour24, + "j": parseDayOfYear, + "L": parseMilliseconds, + "m": parseMonthNumber, + "M": parseMinutes, + "p": parsePeriod, + "q": parseQuarter, + "Q": parseUnixTimestamp, + "s": parseUnixTimestampSeconds, + "S": parseSeconds, + "u": parseWeekdayNumberMonday, + "U": parseWeekNumberSunday, + "V": parseWeekNumberISO, + "w": parseWeekdayNumberSunday, + "W": parseWeekNumberMonday, + "x": parseLocaleDate, + "X": parseLocaleTime, + "y": parseYear, + "Y": parseFullYear, + "Z": parseZone, + "%": parseLiteralPercent + }; + formats.x = newFormat(locale_date, formats); + formats.X = newFormat(locale_time, formats); + formats.c = newFormat(locale_dateTime, formats); + utcFormats.x = newFormat(locale_date, utcFormats); + utcFormats.X = newFormat(locale_time, utcFormats); + utcFormats.c = newFormat(locale_dateTime, utcFormats); + function newFormat(specifier, formats2) { + return function(date) { + var string = [], i = -1, j = 0, n = specifier.length, c, pad2, format; + if (!(date instanceof Date)) date = /* @__PURE__ */ new Date(+date); + while (++i < n) { + if (specifier.charCodeAt(i) === 37) { + string.push(specifier.slice(j, i)); + if ((pad2 = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i); + else pad2 = c === "e" ? " " : "0"; + if (format = formats2[c]) c = format(date, pad2); + string.push(c); + j = i + 1; + } + } + string.push(specifier.slice(j, i)); + return string.join(""); + }; + } + function newParse(specifier, Z) { + return function(string) { + var d = newDate(1900, void 0, 1), i = parseSpecifier(d, specifier, string += "", 0), week, day; + if (i != string.length) return null; + if ("Q" in d) return new Date(d.Q); + if ("s" in d) return new Date(d.s * 1e3 + ("L" in d ? d.L : 0)); + if (Z && !("Z" in d)) d.Z = 0; + if ("p" in d) d.H = d.H % 12 + d.p * 12; + if (d.m === void 0) d.m = "q" in d ? d.q : 0; + if ("V" in d) { + if (d.V < 1 || d.V > 53) return null; + if (!("w" in d)) d.w = 1; + if ("Z" in d) { + week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay(); + week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week); + week = utcDay.offset(week, (d.V - 1) * 7); + d.y = week.getUTCFullYear(); + d.m = week.getUTCMonth(); + d.d = week.getUTCDate() + (d.w + 6) % 7; + } else { + week = localDate(newDate(d.y, 0, 1)), day = week.getDay(); + week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week); + week = timeDay.offset(week, (d.V - 1) * 7); + d.y = week.getFullYear(); + d.m = week.getMonth(); + d.d = week.getDate() + (d.w + 6) % 7; + } + } else if ("W" in d || "U" in d) { + if (!("w" in d)) d.w = "u" in d ? d.u % 7 : "W" in d ? 1 : 0; + day = "Z" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay(); + d.m = 0; + d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7; + } + if ("Z" in d) { + d.H += d.Z / 100 | 0; + d.M += d.Z % 100; + return utcDate(d); + } + return localDate(d); + }; + } + function parseSpecifier(d, specifier, string, j) { + var i = 0, n = specifier.length, m = string.length, c, parse; + while (i < n) { + if (j >= m) return -1; + c = specifier.charCodeAt(i++); + if (c === 37) { + c = specifier.charAt(i++); + parse = parses[c in pads ? specifier.charAt(i++) : c]; + if (!parse || (j = parse(d, string, j)) < 0) return -1; + } else if (c != string.charCodeAt(j++)) { + return -1; + } + } + return j; + } + function parsePeriod(d, string, i) { + var n = periodRe.exec(string.slice(i)); + return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; + } + function parseShortWeekday(d, string, i) { + var n = shortWeekdayRe.exec(string.slice(i)); + return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; + } + function parseWeekday(d, string, i) { + var n = weekdayRe.exec(string.slice(i)); + return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; + } + function parseShortMonth(d, string, i) { + var n = shortMonthRe.exec(string.slice(i)); + return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; + } + function parseMonth(d, string, i) { + var n = monthRe.exec(string.slice(i)); + return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; + } + function parseLocaleDateTime(d, string, i) { + return parseSpecifier(d, locale_dateTime, string, i); + } + function parseLocaleDate(d, string, i) { + return parseSpecifier(d, locale_date, string, i); + } + function parseLocaleTime(d, string, i) { + return parseSpecifier(d, locale_time, string, i); + } + function formatShortWeekday(d) { + return locale_shortWeekdays[d.getDay()]; + } + function formatWeekday(d) { + return locale_weekdays[d.getDay()]; + } + function formatShortMonth(d) { + return locale_shortMonths[d.getMonth()]; + } + function formatMonth(d) { + return locale_months[d.getMonth()]; + } + function formatPeriod(d) { + return locale_periods[+(d.getHours() >= 12)]; + } + function formatQuarter(d) { + return 1 + ~~(d.getMonth() / 3); + } + function formatUTCShortWeekday(d) { + return locale_shortWeekdays[d.getUTCDay()]; + } + function formatUTCWeekday(d) { + return locale_weekdays[d.getUTCDay()]; + } + function formatUTCShortMonth(d) { + return locale_shortMonths[d.getUTCMonth()]; + } + function formatUTCMonth(d) { + return locale_months[d.getUTCMonth()]; + } + function formatUTCPeriod(d) { + return locale_periods[+(d.getUTCHours() >= 12)]; + } + function formatUTCQuarter(d) { + return 1 + ~~(d.getUTCMonth() / 3); + } + return { + format: function(specifier) { + var f = newFormat(specifier += "", formats); + f.toString = function() { + return specifier; + }; + return f; + }, + parse: function(specifier) { + var p = newParse(specifier += "", false); + p.toString = function() { + return specifier; + }; + return p; + }, + utcFormat: function(specifier) { + var f = newFormat(specifier += "", utcFormats); + f.toString = function() { + return specifier; + }; + return f; + }, + utcParse: function(specifier) { + var p = newParse(specifier += "", true); + p.toString = function() { + return specifier; + }; + return p; + } + }; +} +var pads = { "-": "", "_": " ", "0": "0" }, numberRe = /^\s*\d+/, percentRe = /^%/, requoteRe = /[\\^$*+?|[\]().{}]/g; +function pad(value, fill, width) { + var sign = value < 0 ? "-" : "", string = (sign ? -value : value) + "", length = string.length; + return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string); +} +function requote(s) { + return s.replace(requoteRe, "\\$&"); +} +function formatRe(names) { + return new RegExp("^(?:" + names.map(requote).join("|") + ")", "i"); +} +function formatLookup(names) { + return new Map(names.map((name, i) => [name.toLowerCase(), i])); +} +function parseWeekdayNumberSunday(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 1)); + return n ? (d.w = +n[0], i + n[0].length) : -1; +} +function parseWeekdayNumberMonday(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 1)); + return n ? (d.u = +n[0], i + n[0].length) : -1; +} +function parseWeekNumberSunday(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.U = +n[0], i + n[0].length) : -1; +} +function parseWeekNumberISO(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.V = +n[0], i + n[0].length) : -1; +} +function parseWeekNumberMonday(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.W = +n[0], i + n[0].length) : -1; +} +function parseFullYear(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 4)); + return n ? (d.y = +n[0], i + n[0].length) : -1; +} +function parseYear(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3), i + n[0].length) : -1; +} +function parseZone(d, string, i) { + var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(string.slice(i, i + 6)); + return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || "00")), i + n[0].length) : -1; +} +function parseQuarter(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 1)); + return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1; +} +function parseMonthNumber(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.m = n[0] - 1, i + n[0].length) : -1; +} +function parseDayOfMonth(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.d = +n[0], i + n[0].length) : -1; +} +function parseDayOfYear(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 3)); + return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1; +} +function parseHour24(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.H = +n[0], i + n[0].length) : -1; +} +function parseMinutes(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.M = +n[0], i + n[0].length) : -1; +} +function parseSeconds(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 2)); + return n ? (d.S = +n[0], i + n[0].length) : -1; +} +function parseMilliseconds(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 3)); + return n ? (d.L = +n[0], i + n[0].length) : -1; +} +function parseMicroseconds(d, string, i) { + var n = numberRe.exec(string.slice(i, i + 6)); + return n ? (d.L = Math.floor(n[0] / 1e3), i + n[0].length) : -1; +} +function parseLiteralPercent(d, string, i) { + var n = percentRe.exec(string.slice(i, i + 1)); + return n ? i + n[0].length : -1; +} +function parseUnixTimestamp(d, string, i) { + var n = numberRe.exec(string.slice(i)); + return n ? (d.Q = +n[0], i + n[0].length) : -1; +} +function parseUnixTimestampSeconds(d, string, i) { + var n = numberRe.exec(string.slice(i)); + return n ? (d.s = +n[0], i + n[0].length) : -1; +} +function formatDayOfMonth(d, p) { + return pad(d.getDate(), p, 2); +} +function formatHour24(d, p) { + return pad(d.getHours(), p, 2); +} +function formatHour12(d, p) { + return pad(d.getHours() % 12 || 12, p, 2); +} +function formatDayOfYear(d, p) { + return pad(1 + timeDay.count(timeYear(d), d), p, 3); +} +function formatMilliseconds(d, p) { + return pad(d.getMilliseconds(), p, 3); +} +function formatMicroseconds(d, p) { + return formatMilliseconds(d, p) + "000"; +} +function formatMonthNumber(d, p) { + return pad(d.getMonth() + 1, p, 2); +} +function formatMinutes(d, p) { + return pad(d.getMinutes(), p, 2); +} +function formatSeconds(d, p) { + return pad(d.getSeconds(), p, 2); +} +function formatWeekdayNumberMonday(d) { + var day = d.getDay(); + return day === 0 ? 7 : day; +} +function formatWeekNumberSunday(d, p) { + return pad(timeSunday.count(timeYear(d) - 1, d), p, 2); +} +function dISO(d) { + var day = d.getDay(); + return day >= 4 || day === 0 ? timeThursday(d) : timeThursday.ceil(d); +} +function formatWeekNumberISO(d, p) { + d = dISO(d); + return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2); +} +function formatWeekdayNumberSunday(d) { + return d.getDay(); +} +function formatWeekNumberMonday(d, p) { + return pad(timeMonday.count(timeYear(d) - 1, d), p, 2); +} +function formatYear(d, p) { + return pad(d.getFullYear() % 100, p, 2); +} +function formatYearISO(d, p) { + d = dISO(d); + return pad(d.getFullYear() % 100, p, 2); +} +function formatFullYear(d, p) { + return pad(d.getFullYear() % 1e4, p, 4); +} +function formatFullYearISO(d, p) { + var day = d.getDay(); + d = day >= 4 || day === 0 ? timeThursday(d) : timeThursday.ceil(d); + return pad(d.getFullYear() % 1e4, p, 4); +} +function formatZone(d) { + var z = d.getTimezoneOffset(); + return (z > 0 ? "-" : (z *= -1, "+")) + pad(z / 60 | 0, "0", 2) + pad(z % 60, "0", 2); +} +function formatUTCDayOfMonth(d, p) { + return pad(d.getUTCDate(), p, 2); +} +function formatUTCHour24(d, p) { + return pad(d.getUTCHours(), p, 2); +} +function formatUTCHour12(d, p) { + return pad(d.getUTCHours() % 12 || 12, p, 2); +} +function formatUTCDayOfYear(d, p) { + return pad(1 + utcDay.count(utcYear(d), d), p, 3); +} +function formatUTCMilliseconds(d, p) { + return pad(d.getUTCMilliseconds(), p, 3); +} +function formatUTCMicroseconds(d, p) { + return formatUTCMilliseconds(d, p) + "000"; +} +function formatUTCMonthNumber(d, p) { + return pad(d.getUTCMonth() + 1, p, 2); +} +function formatUTCMinutes(d, p) { + return pad(d.getUTCMinutes(), p, 2); +} +function formatUTCSeconds(d, p) { + return pad(d.getUTCSeconds(), p, 2); +} +function formatUTCWeekdayNumberMonday(d) { + var dow = d.getUTCDay(); + return dow === 0 ? 7 : dow; +} +function formatUTCWeekNumberSunday(d, p) { + return pad(utcSunday.count(utcYear(d) - 1, d), p, 2); +} +function UTCdISO(d) { + var day = d.getUTCDay(); + return day >= 4 || day === 0 ? utcThursday(d) : utcThursday.ceil(d); +} +function formatUTCWeekNumberISO(d, p) { + d = UTCdISO(d); + return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2); +} +function formatUTCWeekdayNumberSunday(d) { + return d.getUTCDay(); +} +function formatUTCWeekNumberMonday(d, p) { + return pad(utcMonday.count(utcYear(d) - 1, d), p, 2); +} +function formatUTCYear(d, p) { + return pad(d.getUTCFullYear() % 100, p, 2); +} +function formatUTCYearISO(d, p) { + d = UTCdISO(d); + return pad(d.getUTCFullYear() % 100, p, 2); +} +function formatUTCFullYear(d, p) { + return pad(d.getUTCFullYear() % 1e4, p, 4); +} +function formatUTCFullYearISO(d, p) { + var day = d.getUTCDay(); + d = day >= 4 || day === 0 ? utcThursday(d) : utcThursday.ceil(d); + return pad(d.getUTCFullYear() % 1e4, p, 4); +} +function formatUTCZone() { + return "+0000"; +} +function formatLiteralPercent() { + return "%"; +} +function formatUnixTimestamp(d) { + return +d; +} +function formatUnixTimestampSeconds(d) { + return Math.floor(+d / 1e3); +} + +;// ./node_modules/d3-time-format/src/defaultLocale.js + +var locale; +var timeFormat; +var timeParse; +var utcFormat; +var utcParse; +defaultLocale({ + dateTime: "%x, %X", + date: "%-m/%-d/%Y", + time: "%-I:%M:%S %p", + periods: ["AM", "PM"], + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], + shortDays: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + shortMonths: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] +}); +function defaultLocale(definition) { + locale = formatLocale(definition); + timeFormat = locale.format; + timeParse = locale.parse; + utcFormat = locale.utcFormat; + utcParse = locale.utcParse; + return locale; +} + +;// ./src/config/classes.ts +var __defProp = Object.defineProperty; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +const $COMMON = { + button: "bb-button", + chart: "bb-chart", + empty: "bb-empty", + main: "bb-main", + target: "bb-target", + EXPANDED: "_expanded_" +}; +const $ARC = { + arc: "bb-arc", + arcLabelLine: "bb-arc-label-line", + arcRange: "bb-arc-range", + arcs: "bb-arcs", + chartArc: "bb-chart-arc", + chartArcs: "bb-chart-arcs", + chartArcsBackground: "bb-chart-arcs-background", + chartArcsTitle: "bb-chart-arcs-title", + needle: "bb-needle" +}; +const $AREA = { + area: "bb-area", + areas: "bb-areas" +}; +const $AXIS = { + axis: "bb-axis", + axisX: "bb-axis-x", + axisXLabel: "bb-axis-x-label", + axisY: "bb-axis-y", + axisY2: "bb-axis-y2", + axisY2Label: "bb-axis-y2-label", + axisYLabel: "bb-axis-y-label", + axisXTooltip: "bb-axis-x-tooltip", + axisYTooltip: "bb-axis-y-tooltip", + axisY2Tooltip: "bb-axis-y2-tooltip" +}; +const $BAR = { + bar: "bb-bar", + bars: "bb-bars", + chartBar: "bb-chart-bar", + chartBars: "bb-chart-bars" +}; +const $CANDLESTICK = { + candlestick: "bb-candlestick", + candlesticks: "bb-candlesticks", + chartCandlestick: "bb-chart-candlestick", + chartCandlesticks: "bb-chart-candlesticks", + valueDown: "bb-value-down", + valueUp: "bb-value-up" +}; +const $CIRCLE = { + chartCircles: "bb-chart-circles", + circle: "bb-circle", + circles: "bb-circles" +}; +const $COLOR = { + colorPattern: "bb-color-pattern", + colorScale: "bb-colorscale" +}; +const $DRAG = { + dragarea: "bb-dragarea", + INCLUDED: "_included_" +}; +const $FUNNEL = { + funnel: "bb-funnel", + chartFunnel: "bb-chart-funnel", + chartFunnels: "bb-chart-funnels", + funnelBackground: "bb-funnel-background" +}; +const $GAUGE = { + chartArcsGaugeMax: "bb-chart-arcs-gauge-max", + chartArcsGaugeMin: "bb-chart-arcs-gauge-min", + chartArcsGaugeUnit: "bb-chart-arcs-gauge-unit", + chartArcsGaugeTitle: "bb-chart-arcs-gauge-title", + gaugeValue: "bb-gauge-value" +}; +const $LEGEND = { + legend: "bb-legend", + legendBackground: "bb-legend-background", + legendItem: "bb-legend-item", + legendItemEvent: "bb-legend-item-event", + legendItemHidden: "bb-legend-item-hidden", + legendItemPoint: "bb-legend-item-point", + legendItemTile: "bb-legend-item-tile" +}; +const $LINE = { + chartLine: "bb-chart-line", + chartLines: "bb-chart-lines", + line: "bb-line", + lines: "bb-lines" +}; +const $EVENT = { + eventRect: "bb-event-rect", + eventRects: "bb-event-rects", + eventRectsMultiple: "bb-event-rects-multiple", + eventRectsSingle: "bb-event-rects-single" +}; +const $FOCUS = { + focused: "bb-focused", + defocused: "bb-defocused", + legendItemFocused: "bb-legend-item-focused", + xgridFocus: "bb-xgrid-focus", + ygridFocus: "bb-ygrid-focus" +}; +const $GRID = { + grid: "bb-grid", + gridLines: "bb-grid-lines", + xgrid: "bb-xgrid", + xgridLine: "bb-xgrid-line", + xgridLines: "bb-xgrid-lines", + xgrids: "bb-xgrids", + ygrid: "bb-ygrid", + ygridLine: "bb-ygrid-line", + ygridLines: "bb-ygrid-lines", + ygrids: "bb-ygrids" +}; +const $LEVEL = { + level: "bb-level", + levels: "bb-levels" +}; +const $RADAR = { + chartRadar: "bb-chart-radar", + chartRadars: "bb-chart-radars" +}; +const $REGION = { + region: "bb-region", + regions: "bb-regions" +}; +const $SELECT = { + selectedCircle: "bb-selected-circle", + selectedCircles: "bb-selected-circles", + SELECTED: "_selected_" +}; +const $SHAPE = { + shape: "bb-shape", + shapes: "bb-shapes" +}; +const $SUBCHART = { + brush: "bb-brush", + subchart: "bb-subchart" +}; +const $TEXT = { + chartText: "bb-chart-text", + chartTexts: "bb-chart-texts", + text: "bb-text", + texts: "bb-texts", + title: "bb-title", + TextOverlapping: "text-overlapping" +}; +const $TOOLTIP = { + tooltip: "bb-tooltip", + tooltipContainer: "bb-tooltip-container", + tooltipName: "bb-tooltip-name" +}; +const $TREEMAP = { + treemap: "bb-treemap", + chartTreemap: "bb-chart-treemap", + chartTreemaps: "bb-chart-treemaps" +}; +const $ZOOM = { + buttonZoomReset: "bb-zoom-reset", + zoomBrush: "bb-zoom-brush" +}; +/* harmony default export */ var classes = (__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, $COMMON), $ARC), $AREA), $AXIS), $BAR), $CANDLESTICK), $CIRCLE), $COLOR), $DRAG), $GAUGE), $LEGEND), $LINE), $EVENT), $FOCUS), $FUNNEL), $GRID), $RADAR), $REGION), $SELECT), $SHAPE), $SUBCHART), $TEXT), $TOOLTIP), $TREEMAP), $ZOOM)); + +;// ./src/config/Options/common/boost.ts +/* harmony default export */ var boost = ({ + /** + * Set boost options + * @name boost + * @memberof Options + * @type {object} + * @property {object} boost boost object + * @property {boolean} [boost.useCssRule=false] Avoid setting inline styles for each shape elements. + * - **NOTE:** + * - Will append <style> to the head tag and will add shpes' CSS rules dynamically. + * - For now, covers colors related properties (fill, stroke, etc.) only. + * @property {boolean} [boost.useWorker=false] Use Web Worker as possible for processing. + * - **NOTE:** + * - For now, only applies for data conversion at the initial time. + * - As of Web Worker's async nature, handling chart instance synchrously is not recommended. + * @example + * boost: { + * useCssRule: true, + * useWorker: false + * } + */ + boost_useCssRule: false, + boost_useWorker: false +}); + +;// ./src/config/Options/common/color.ts +/* harmony default export */ var color = ({ + /** + * Set color of the data values + * @name color + * @memberof Options + * @type {object} + * @property {object} color color object + * @property {string|object|Function} [color.onover] Set the color value for each data point when mouse/touch onover event occurs. + * @property {Array|null} [color.pattern=[]] Set custom color pattern. Passing `null` will not set a color for these elements, which requires the usage of custom CSS-based theming to work. + * @property {Function} [color.tiles] if defined, allows use svg's patterns to fill data area. It should return an array of [SVGPatternElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGPatternElement). + * - **NOTE:** The pattern element's id will be defined as `bb-colorize-pattern-$COLOR-VALUE`.<br> + * ex. When color pattern value is `['red', '#fff']` and defined 2 patterns,then ids for pattern elements are:<br> + * - `bb-colorize-pattern-red` + * - `bb-colorize-pattern-fff` + * @property {object} [color.threshold] color threshold for gauge and tooltip color + * @property {string} [color.threshold.unit] If set to `value`, the threshold will be based on the data value. Otherwise it'll be based on equation of the `threshold.max` option value. + * @property {Array} [color.threshold.values] Threshold values for each steps + * @property {number} [color.threshold.max=100] The base value to determine threshold step value condition. When the given value is 15 and max 10, then the value for threshold is `15*100/10`. + * @example + * color: { + * pattern: ["#1f77b4", "#aec7e8", ...], + * + * // Set colors' patterns + * // it should return an array of SVGPatternElement + * tiles: function() { + * var pattern = document.createElementNS("http://www.w3.org/2000/svg", "pattern"); + * var g = document.createElementNS("http://www.w3.org/2000/svg", "g"); + * var circle1 = document.createElementNS("http://www.w3.org/2000/svg", "circle"); + * + * pattern.setAttribute("patternUnits", "userSpaceOnUse"); + * pattern.setAttribute("width", "32"); + * pattern.setAttribute("height", "32"); + * + * g.style.fill = "#000"; + * g.style.opacity = "0.2"; + * + * circle1.setAttribute("cx", "3"); + * circle1.setAttribute("cy", "3"); + * circle1.setAttribute("r", "3"); + * + * g.appendChild(circle1); + * pattern.appendChild(g); + * + * return [pattern]; + * }, + * + * // for threshold usage, pattern values should be set for each steps + * pattern: ["grey", "green", "yellow", "orange", "red"], + * threshold: { + * unit: "value", + * + * // when value is 20 => 'green', value is 40 => 'orange' will be set. + * values: [10, 20, 30, 40, 50], + * + * // the equation for max: + * // - unit == 'value': max => 30 + * // - unit != 'value': max => value*100/30 + * max: 30 + * }, + * + * // set all data to 'red' + * onover: "red", + * + * // set different color for data + * onover: { + * data1: "red", + * data2: "yellow" + * }, + * + * // will pass data object to the callback + * onover: function(d) { + * return d.id === "data1" ? "red" : "green"; + * } + * } + */ + color_pattern: [], + color_tiles: void 0, + color_threshold: {}, + color_onover: void 0 +}); + +;// ./src/config/Options/common/legend.ts +/* harmony default export */ var legend = ({ + /** + * Legend options + * @name legend + * @memberof Options + * @type {object} + * @property {object} legend Legend object + * @property {boolean} [legend.show=true] Show or hide legend. + * @property {boolean} [legend.hide=false] Hide legend + * If true given, all legend will be hidden. If string or array given, only the legend that has the id will be hidden. + * @property {string|HTMLElement} [legend.contents.bindto=undefined] Set CSS selector or element reference to bind legend items. + * - **NOTE:** Should be used along with `legend.contents.template`. + * @property {string|Function} [legend.contents.template="<span style='color:#fff;padding:5px;background-color:{=COLOR}'>{=TITLE}</span>"] Set item's template.<br> + * - If set `string` value, within template the 'color' and 'title' can be replaced using template-like syntax string: + * - {=COLOR}: data color value + * - {=TITLE}: data title value + * - If set `function` value, will pass following arguments to the given function: + * - title {string}: data's id value + * - color {string}: color string + * - data {Array}: data array + * @property {string} [legend.position=bottom] Change the position of legend.<br> + * Available values are: `bottom`, `right` and `inset` are supported. + * @property {object} [legend.inset={anchor: 'top-left',x: 10,y: 0,step: undefined}] Change inset legend attributes.<br> + * This option accepts object that has the keys `anchor`, `x`, `y` and `step`. + * - **anchor** decides the position of the legend: + * - top-left + * - top-right + * - bottom-left + * - bottom-right + * - **x** and **y**: + * - set the position of the legend based on the anchor. + * - **step**: + * - defines the max step the legend has (e.g. If 2 set and legend has 3 legend item, the legend 2 columns). + * @property {boolean} [legend.equally=false] Set to all items have same width size. + * @property {number} [legend.padding=0] Set padding value + * @property {boolean} [legend.item.interaction=true] Set legend item interaction. + * - **NOTE:** + * - This setting will not have effect on `.toggle()` method. + * - `legend.item.onXXX` listener options will work if set, regardless of this option value. + * @property {boolean} [legend.item.interaction.dblclick=false] Set legend item to interact on double click. + * - **NOTE:** + * - Double clicking will make focused clicked dataseries only, hiding all others. + * - for single click case, `click + altKey(Win)/optionKey(Mac OS)` to have same effect. + * - To return initial state(which all dataseries are showing), double click current focused legend item again. + * - for single click case, `click + altKey(Win)/optionKey(Mac OS)` to have same effect. + * - In this case, default `click` interaction will be disabled. + * @property {Function} [legend.item.onclick=undefined] Set click event handler to the legend item. + * - **NOTE:** + * - When set, default `click` interaction will be disabled. + * - When `interaction.dblclick=true` is set, will be called on double click. + * @property {Function} [legend.item.onover=undefined] Set mouse/touch over event handler to the legend item. + * - **NOTE:** When set, default `mouseover` interaction will be disabled. + * @property {Function} [legend.item.onout=undefined] Set mouse/touch out event handler to the legend item. + * - **NOTE:** When set, default `mouseout` interaction will be disabled. + * @property {number} [legend.item.tile.width=10] Set width for 'rectangle' legend item tile element. + * @property {number} [legend.item.tile.height=10] Set height for 'rectangle' legend item tile element. + * @property {number} [legend.item.tile.r=5] Set the radius for 'circle' legend item tile type. + * @property {string} [legend.item.tile.type="rectangle"] Set legend item shape type.<br> + * - **Available Values:** + * - circle + * - rectangle + * @property {boolean} [legend.format] Set formatter function for legend text. + * The argument:<br> + * - `id`: Legend text value. When `data.names` is specified, will pass from it, otherwise will pass data id. + * - `dataId`: When `data.names` specified, will pass the original data id. Otherwise will be undefined. + * @property {boolean} [legend.tooltip=false] Show full legend text value using system tooltip(via `<title>` element). + * @property {boolean} [legend.usePoint=false] Whether to use custom points in legend. + * @see [Demo: format](https://naver.github.io/billboard.js/demo/#Legend.LegendFormat) + * @see [Demo: item.interaction](https://naver.github.io/billboard.js/demo/#Legend.LegendItemInteraction) + * @see [Demo: item.tile.type](https://naver.github.io/billboard.js/demo/#Legend.LegendItemTileType) + * @see [Demo: position](https://naver.github.io/billboard.js/demo/#Legend.LegendPosition) + * @see [Demo: contents.template](https://naver.github.io/billboard.js/demo/#Legend.LegendTemplate1) + * @see [Demo: usePoint](https://naver.github.io/billboard.js/demo/#Legend.usePoint) + * @example + * legend: { + * show: true, + * hide: true, + * //or hide: "data1" + * //or hide: ["data1", "data2"] + * contents: { + * bindto: "#legend", // <ul id='legend'></ul> + * + * // will be as: <li style='background-color:#1f77b4'>data1</li> + * template: "<li style='background-color:{=COLOR}'>{=TITLE}</li>" + * + * // or using function + * template: function(id, color, data) { + * // if you want omit some legend, return falsy value + * if (id !== "data1") { + * return "<li style='background-color:"+ color +">"+ id +"</li>"; + * } + * } + * }, + * position: "bottom", // bottom, right, inset + * inset: { + * anchor: "top-right" // top-left, top-right, bottom-left, bottom-right + * x: 20, + * y: 10, + * step: 2 + * }, + * equally: false, + * padding: 10, + * item: { + * // will disable default interaction + * interaction: false, + * + * // set legend interact on double click + * // by double clicking, will make focused clicked dataseries only, hiding all others. + * interaction: { + * dblclick: true + * } + * + * // when set below callback, will disable corresponding default interactions + * onclick: function(id, visible) { + * // toggle based on the data visibility + * this[visible ? "hide" : "show"](id); + * }, + * onover: function(id, visible) { ... }, + * onout: function(id, visible) { ... }, + * + * // set tile's size + * tile: { + * // set tile type + * type: "circle" // or "rectangle" (default) + * + * // width & height, are only applicable for 'rectangle' legend type + * width: 15, + * height: 15 + * + * // radis is only applicable for 'circle' legend type + * r: 10 + * } + * }, + * format: function(id, dataId) { + * // set ellipsis string when length is > 5 + * // to get full legend value, combine with 'legend.tooltip=true' + * if (id.length > 5) { + * id = id.substr(0, 5) + "..."; + * } + * + * return id; + * }, + * tooltip: true, + * usePoint: true + * } + */ + legend_contents_bindto: void 0, + legend_contents_template: "<span style='color:#fff;padding:5px;background-color:{=COLOR}'>{=TITLE}</span>", + legend_equally: false, + legend_hide: false, + legend_inset_anchor: "top-left", + legend_inset_x: 10, + legend_inset_y: 0, + legend_inset_step: void 0, + legend_item_interaction: true, + legend_item_dblclick: false, + legend_item_onclick: void 0, + legend_item_onover: void 0, + legend_item_onout: void 0, + legend_item_tile_width: 10, + legend_item_tile_height: 10, + legend_item_tile_r: 5, + legend_item_tile_type: "rectangle", + legend_format: void 0, + legend_padding: 0, + legend_position: "bottom", + legend_show: true, + legend_tooltip: false, + legend_usePoint: false +}); + +;// ./src/config/Options/common/main.ts +/* harmony default export */ var main = ({ + /** + * Specify the CSS selector or the element which the chart will be set to. D3 selection object can be specified also.<br> + * If other chart is set already, it will be replaced with the new one (only one chart can be set in one element). + * - **NOTE:** In case of element doesn't exist or not specified, will add a `<div>` element to the body. + * @name bindto + * @memberof Options + * @property {string|HTMLElement|d3.selection|object} [bindto="#chart"] Specify the element where chart will be drawn. + * @property {string|HTMLElement|d3.selection} bindto.element="#chart" Specify the element where chart will be drawn. + * @property {string} [bindto.classname=bb] Specify the class name of bind element.<br> + * **NOTE:** When class name isn't `bb`, then you also need to update the default CSS to be rendered correctly. + * @default #chart + * @example + * bindto: "#myContainer" + * + * // or HTMLElement + * bindto: document.getElementById("myContainer") + * + * // or D3 selection object + * bindto: d3.select("#myContainer") + * + * // or to change default classname + * bindto: { + * element: "#chart", + * classname: "bill-board" // ex) <div id='chart' class='bill-board'> + * } + */ + bindto: "#chart", + /** + * Set chart background. + * @name background + * @memberof Options + * @property {object} background background object + * @property {string} background.class Specify the class name for background element. + * @property {string} background.color Specify the fill color for background element.<br>**NOTE:** Will be ignored if `imgUrl` option is set. + * @property {string} background.imgUrl Specify the image url string for background. + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.Background) + * @example + * background: { + * class: "myClass", + * color: "red", + * + * // Set image url for background. + * // If specified, 'color' option will be ignored. + * imgUrl: "https://naver.github.io/billboard.js/img/logo/billboard.js.svg", + * } + */ + background: {}, + /** + * Set 'clip-path' attribute for chart element + * - **NOTE:** + * > When is false, chart node element is positioned after the axis node in DOM tree hierarchy. + * > Is to make chart element positioned over axis element. + * @name clipPath + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.clipPath) + * @example + * // don't set 'clip-path' attribute + * clipPath: false + */ + clipPath: true, + /** + * Set svg element's class name + * @name svg + * @memberof Options + * @type {object} + * @property {object} [svg] svg object + * @property {string} [svg.classname] class name for svg element + * @example + * svg: { + * classname: "test_class" + * } + */ + svg_classname: void 0, + /** + * The desired size of the chart element. + * If value is not specified, the width of the chart will be calculated by the size of the parent element it's appended to. + * @name size + * @memberof Options + * @type {object} + * @property {object} [size] size object + * @property {number} [size.width] width of the chart element + * @property {number} [size.height] height of the chart element + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.ChartSize) + * @example + * size: { + * width: 640, + * height: 480 + * } + */ + size_width: void 0, + size_height: void 0, + /** + * The padding of the chart element. + * - **NOTE:** for more information, see the "[`Understanding padding`](https://github.com/naver/billboard.js/wiki/Understanding-padding)"" wiki documentaion. + * @name padding + * @memberof Options + * @type {object} + * @property {object|boolean} [padding=true] Set padding of chart, and accepts object or boolean type. + * - `Object`: Specify each side's padding. + * - `false`: Remove padding completely and make shape to fully occupy the container element. + * - In this case, axes and subchart will be hidden. + * - To adjust some padding from this state, use `axis.[x|y].padding` option. + * @property {string} [padding.mode] padding mode + * - `"fit"`: Reduce padding as much as possible to make chart fit to the container element for chart types w/axis.<br>When specified, all padding values will be relative from fitted value. + * @property {number} [padding.top] padding on the top of chart + * @property {number} [padding.right] padding on the right of chart + * @property {number} [padding.bottom] padding on the bottom of chart + * @property {number} [padding.left] padding on the left of chart + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.Padding) + * @see [Demo: Fit padding](https://naver.github.io/billboard.js/demo/#ChartOptions.FitPadding) + * @example + * // remove padding completely. + * padding: false, + * + * padding: { + * // specifying mode value, will reduce padding and make fit to the container element. + * mode: "fit" + * + * // when mode is "fit", all padding values will be relative from fitted value. + * // so, 0 will be initial fitted value. + * top: 20, + * right: 20, + * bottom: 20, + * left: 20 + * } + * + * // or specify padding value for each side + * padding: { + * top: 20, + * right: 20, + * bottom: 20, + * left: 20 + * } + */ + padding: true, + padding_mode: void 0, + padding_left: void 0, + padding_right: void 0, + padding_top: void 0, + padding_bottom: void 0, + /** + * Set chart resize options + * @name resize + * @memberof Options + * @type {object} + * @property {object} [resize] resize object + * @property {boolean|string} [resize.auto=true] Set chart resize automatically on viewport changes. + * - **NOTE:** Available options + * - true: Enables automatic resize. + * - false: Disables automatic resize. + * - "viewBox": Enables automatic resize, and size will be fixed based on the viewbox. + * @property {boolean|number} [resize.timer=true] Set resize timer option. + * - **NOTE:** Available options + * - The resize function will be called using: + * - true: `setTimeout()` + * - false: `requestIdleCallback()` + * - Given number(delay in ms) value, resize function will be triggered using `setTimeout()` with given delay. + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.resizeViewBox) + * @example + * resize: { + * auto: false, + * + * // set resize based on viewBox value + * auto: "viewBox", + * + * // set resize function will be triggered using `setTimeout()` + * timer: true, + * + * // set resize function will be triggered using `requestIdleCallback()` + * timer: false, + * + * // set resize function will be triggered using `setTimeout()` with a delay of `100ms`. + * timer: 100 + * } + */ + resize_auto: true, + resize_timer: true, + /** + * Set a callback to execute when the chart is clicked. + * @name onclick + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onclick: function(event) { + * this; // chart instance itself + * event; // native event object + * ... + * } + */ + onclick: void 0, + /** + * Set a callback to execute when mouse/touch enters the chart. + * @name onover + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onover: function(event) { + * this; // chart instance itself + * event; // native event object + * ... + * } + */ + onover: void 0, + /** + * Set a callback to execute when mouse/touch leaves the chart. + * @name onout + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onout: function(event) { + * this; // chart instance itself + * event; // native event object + * ... + * } + */ + onout: void 0, + /** + * Set a callback to execute when user resizes the screen. + * @name onresize + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onresize: function() { + * this; // chart instance itself + * ... + * } + */ + onresize: void 0, + /** + * Set a callback to execute when screen resize finished. + * @name onresized + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onresized: function() { + * this; // chart instance itself + * ... + * } + */ + onresized: void 0, + /** + * Set a callback to execute before the chart is initialized + * @name onbeforeinit + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onbeforeinit: function() { + * this; // chart instance itself + * ... + * } + */ + onbeforeinit: void 0, + /** + * Set a callback to execute when the chart is initialized. + * @name oninit + * @memberof Options + * @type {Function} + * @default undefined + * @example + * oninit: function() { + * this; // chart instance itself + * ... + * } + */ + oninit: void 0, + /** + * Set a callback to execute after the chart is initialized + * @name onafterinit + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onafterinit: function() { + * this; // chart instance itself + * ... + * } + */ + onafterinit: void 0, + /** + * Set a callback which is executed when the chart is rendered. Basically, this callback will be called in each time when the chart is redrawed. + * @name onrendered + * @memberof Options + * @type {Function} + * @default undefined + * @example + * onrendered: function() { + * this; // chart instance itself + * ... + * } + */ + onrendered: void 0, + /** + * Set duration of transition (in milliseconds) for chart animation.<br><br> + * - **NOTE:** If `0 `or `null` set, transition will be skipped. So, this makes initial rendering faster especially in case you have a lot of data. + * @name transition + * @memberof Options + * @type {object} + * @property {object} [transition] transition object + * @property {number} [transition.duration=350] duration in milliseconds + * @example + * transition: { + * duration: 500 + * } + */ + transition_duration: 250, + /** + * Set plugins + * @name plugins + * @memberof Options + * @type {Array} + * @example + * plugins: [ + * new bb.plugin.stanford({ ... }), + * new PluginA(), + * ... + * ] + */ + plugins: [], + /** + * Control the render timing + * @name render + * @memberof Options + * @type {object} + * @property {object} [render] render object + * @property {boolean} [render.lazy=true] Make to not render at initialization. + * - **NOTE**: + * - Enabled by default when bind element's visibility is hidden. + * - When set to `false`, will initialize the chart regardless the bind element's visibility state, but in this case chart can't be guaranteed to be rendered properly. + * @property {boolean} [render.observe=true] Observe bind element's visibility(`display` or `visiblity` inline css property or class value) & render when is visible automatically (for IEs, only works IE11+). When set to **false**, call [`.flush()`](./Chart.html#flush) to render. + * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.LazyRender) + * @example + * render: { + * lazy: true, + * observe: true + * } + * + * @example + * // <!-- render.lazy will detect visibility defined --> + * // (a) <div id='chart' class='hide'></div> + * // (b) <div id='chart' style='display:none'></div> + * + * // render.lazy enabled by default when element is hidden + * var chart = bb.generate({ ... }); + * + * // chart will be rendered automatically when element's visibility changes + * // Note: works only for inlined css property or class attribute changes + * document.getElementById('chart').classList.remove('hide') // (a) + * document.getElementById('chart').style.display = 'block'; // (b) + * + * @example + * // chart won't be rendered and not observing bind element's visiblity changes + * var chart = bb.generate({ + * render: { + * lazy: true, + * observe: false + * } + * }); + * + * // call at any point when you want to render + * chart.flush(); + */ + render: {}, + /** + * Show rectangles inside the chart.<br><br> + * This option accepts array including object that has axis, start, end and class. + * The keys start, end and class are optional. + * axis must be x, y or y2. start and end should be the value where regions start and end. + * If not specified, the edge values will be used. + * If timeseries x axis, date string, Date object and unixtime integer can be used. + * If class is set, the region element will have it as class. + * @name regions + * @memberof Options + * @type {Array} + * @default [] + * @see [Demo](https://naver.github.io/billboard.js/demo/#Region.RegionLabel) + * @example + * regions: [ + * { + * axis: "x", + * start: 1, + * end: 4, + * class: "region-1-4", + * label: { + * text: "Region Text", + * x: 5, // position relative of the initial x coordinate + * y: 5, // position relative of the initial y coordinate + * color: "red", // color string + * rotated: true // make text to show in vertical or horizontal + * } + * } + * ] + */ + regions: [] +}); + +;// ./src/config/Options/common/title.ts +/* harmony default export */ var title = ({ + /** + * Set title options + * @name title + * @memberof Options + * @type {object} + * @property {object} title Title object + * @property {string} [title.text] Title text. If contains `\n`, it's used as line break allowing multiline title. + * @property {number} [title.padding.top=0] Top padding value. + * @property {number} [title.padding.right=0] Right padding value. + * @property {number} [title.padding.bottom=0] Bottom padding value. + * @property {number} [title.padding.left=0] Left padding value. + * @property {string} [title.position=center] Available values are: 'center', 'right' and 'left'. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Title.MultilinedTitle) + * @example + * title: { + * text: "Title Text", + * + * // or Multiline title text + * text: "Main title text\nSub title text", + * + * padding: { + * top: 10, + * right: 10, + * bottom: 10, + * left: 10 + * }, + * position: "center" + * } + */ + title_text: void 0, + title_padding: { + top: 0, + right: 0, + bottom: 0, + left: 0 + }, + title_position: "center" +}); + +;// ./src/config/Options/common/tooltip.ts +/* harmony default export */ var tooltip = ({ + /** + * Tooltip options + * @name tooltip + * @memberof Options + * @type {object} + * @property {object} tooltip Tooltip object + * @property {boolean} [tooltip.show=true] Show or hide tooltip. + * @property {boolean} [tooltip.doNotHide=false] Make tooltip keep showing not hiding on interaction. + * @property {boolean} [tooltip.grouped=true] Set if tooltip is grouped or not for the data points. + * - **NOTE:** The overlapped data points will be displayed as grouped even if set false. + * @property {boolean} [tooltip.linked=false] Set if tooltips on all visible charts with like x points are shown together when one is shown. + * @property {string} [tooltip.linked.name=""] Groping name for linked tooltip.<br>If specified, linked tooltip will be groped interacting to be worked only with the same name. + * @property {Function} [tooltip.format.title] Set format for the title of tooltip.<br> + * Specified function receives x of the data point to show. + * @property {Function} [tooltip.format.name] Set format for the name of each data in tooltip.<br> + * Specified function receives name, ratio, id and index of the data point to show. ratio will be undefined if the chart is not donut/pie/gauge. + * @property {Function} [tooltip.format.value] Set format for the value of each data value in tooltip. If undefined returned, the row of that value will be skipped to be called. + * - Will pass following arguments to the given function: + * - `value {string}`: Value of the data point. If data row contains multiple or ranged(ex. candlestick, area range, etc.) value, formatter will be called as value length. + * - `ratio {number}`: Ratio of the data point in the `pie/donut/gauge` and `area/bar` when contains grouped data. Otherwise is `undefined`. + * - `id {string}`: id of the data point + * - `index {number}`: Index of the data point + * @property {Function} [tooltip.position] Set custom position function for the tooltip.<br> + * This option can be used to modify the tooltip position by returning object that has top and left. + * - Will pass following arguments to the given function: + * - `data {Array}`: Current selected data array object. + * - `width {number}`: Width of tooltip. + * - `height {number}`: Height of tooltip. + * - `element {SVGElement}`: Tooltip event bound element + * - `pos {object}`: Current position of the tooltip. + * @property {Function|object} [tooltip.contents] Set custom HTML for the tooltip.<br> + * If tooltip.grouped is true, data includes multiple data points.<br><br> + * Specified function receives `data` array and `defaultTitleFormat`, `defaultValueFormat` and `color` functions of the data point to show. + * - **Note:** + * - defaultTitleFormat: + * - if `axis.x.tick.format` option will be used if set. + * - otherwise, will return function based on tick format type(category, timeseries). + * - defaultValueFormat: + * - for Arc type (except gauge, radar), the function will return value from `(ratio * 100).toFixed(1)`. + * - for Axis based types, will be used `axis.[y|y2].tick.format` option value if is set. + * - otherwise, will parse value and return as number. + * @property {string|HTMLElement} [tooltip.contents.bindto=undefined] Set CSS selector or element reference to bind tooltip. + * - **NOTE:** When is specified, will not be updating tooltip's position. + * @property {string} [tooltip.contents.template=undefined] Set tooltip's template.<br><br> + * Within template, below syntax will be replaced using template-like syntax string: + * - **{{ ... }}**: the doubly curly brackets indicate loop block for data rows. + * - **{=CLASS_TOOLTIP}**: default tooltip class name `bb-tooltip`. + * - **{=CLASS_TOOLTIP_NAME}**: default tooltip data class name (ex. `bb-tooltip-name-data1`) + * - **{=TITLE}**: title value. + * - **{=COLOR}**: data color. + * - **{=NAME}**: data id value. + * - **{=VALUE}**: data value. + * @property {object} [tooltip.contents.text=undefined] Set additional text content within data loop, using template syntax. + * - **NOTE:** It should contain `{ key: Array, ... }` value + * - 'key' name is used as substitution within template as '{=KEY}' + * - The value array length should match with the data length + * @property {boolean} [tooltip.init.show=false] Show tooltip at the initialization. + * @property {number} [tooltip.init.x=0] Set x Axis index(or index for Arc(donut, gauge, pie) types) to be shown at the initialization. + * @property {object} [tooltip.init.position] Set the position of tooltip at the initialization. + * @property {Function} [tooltip.onshow] Set a callback that will be invoked before the tooltip is shown. + * @property {Function} [tooltip.onhide] Set a callback that will be invoked before the tooltip is hidden. + * @property {Function} [tooltip.onshown] Set a callback that will be invoked after the tooltip is shown + * @property {Function} [tooltip.onhidden] Set a callback that will be invoked after the tooltip is hidden. + * @property {string|Function|null} [tooltip.order=null] Set tooltip data display order.<br><br> + * **Available Values:** + * - `desc`: In descending data value order + * - `asc`: In ascending data value order + * - `null`: It keeps the data display order<br> + * **NOTE:** When `data.groups` is set, the order will follow as the stacked graph order.<br> + * If want to order as data bound, set any value rather than asc, desc or null. (ex. empty string "") + * - `function(data1, data2) { ... }`: [Array.sort compareFunction](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters) + * @see [Demo: Hide Tooltip](https://naver.github.io/billboard.js/demo/#Tooltip.HideTooltip) + * @see [Demo: Tooltip Grouping](https://naver.github.io/billboard.js/demo/#Tooltip.TooltipGrouping) + * @see [Demo: Tooltip Format](https://naver.github.io/billboard.js/demo/#Tooltip.TooltipFormat) + * @see [Demo: Linked Tooltip](https://naver.github.io/billboard.js/demo/#Tooltip.LinkedTooltips) + * @see [Demo: Tooltip Position](https://naver.github.io/billboard.js/demo/#Tooltip.TooltipPosition) + * @see [Demo: Tooltip Template](https://naver.github.io/billboard.js/demo/#Tooltip.TooltipTemplate) + * @example + * tooltip: { + * show: true, + * doNotHide: true, + * grouped: false, + * format: { + * title: function(x) { return "Data " + x; }, + * name: function(name, ratio, id, index) { return name; }, + * + * // If data row contains multiple or ranged(ex. candlestick, area range, etc.) value, + * // formatter will be called as value length times. + * value: function(value, ratio, id, index) { return ratio; } + * }, + * position: function(data, width, height, element, pos) { + * // data: [{x, index, id, name, value}, ...] + * // width: Tooltip width + * // height: Tooltip height + * // element: Tooltip event bound element + * // pos: { + * // x: Current mouse event x position, + * // y: Current mouse event y position, + * // xAxis: Current x Axis position (the value is given for axis based chart type only) + * // yAxis: Current y Axis position value or function(the value is given for axis based chart type only) + * // } + * + * // yAxis will work differently per data lenghts + * // - a) Single data: `yAxis` will return `number` value + * // - b) Multiple data: `yAxis` will return a function with property value + * + * // a) Single data: + * // Get y coordinate + * pos.yAxis; // y axis coordinate value of current data point + * + * // b) Multiple data: + * // Get y coordinate of value 500, where 'data1' scales(y or y2). + * // When 'data.axes' option is used, data can bound to different axes. + * // - when "data.axes={data1: 'y'}", wil return y value from y axis scale. + * // - when "data.axes={data1: 'y2'}", wil return y value from y2 axis scale. + * pos.yAxis(500, "data1"); // will return y coordinate value of data1 + * + * pos.yAxis(500); // get y coordinate with value of 500, using y axis scale + * pos.yAxis(500, null, "y2"); // get y coordinate with value of 500, using y2 axis scale + * + * return { + * top: 0, + * left: 0 + * } + * }, + * + * contents: function(d, defaultTitleFormat, defaultValueFormat, color) { + * return ... // formatted html as you want + * }, + * + * // specify tooltip contents using template + * // - example of HTML returned: + * // <ul class="bb-tooltip"> + * // <li class="bb-tooltip-name-data1"><span>250</span><br><span style="color:#00c73c">data1</span></li> + * // <li class="bb-tooltip-name-data2"><span>50</span><br><span style="color:#fa7171">data2</span></li> + * // </ul> + * contents: { + * bindto: "#tooltip", + * template: '<ul class={=CLASS_TOOLTIP}>{{' + + * '<li class="{=CLASS_TOOLTIP_NAME}"><span>{=VALUE}</span><br>' + + * '<span style=color:{=COLOR}>{=NAME}</span></li>' + + * '}}</ul>' + * } + * + * // with additional text value + * // - example of HTML returned: + * // <ul class="bb-tooltip"> + * // <li class="bb-tooltip-name-data1"><span>250</span><br>comment1<span style="color:#00c73c">data1</span>text1</li> + * // <li class="bb-tooltip-name-data2"><span>50</span><br>comment2<span style="color:#fa7171">data2</span>text2</li> + * // </ul> + * contents: { + * bindto: "#tooltip", + * text: { + * // a) 'key' name is used as substitution within template as '{=KEY}' + * // b) the length should match with the data length + * VAR1: ["text1", "text2"], + * VAR2: ["comment1", "comment2"], + * }, + * template: '<ul class={=CLASS_TOOLTIP}>{{' + + * '<li class="{=CLASS_TOOLTIP_NAME}"><span>{=VALUE}</span>{=VAR2}<br>' + + * '<span style=color:{=COLOR}>{=NAME}</span>{=VAR1}</li>' + + * '}}</ul>' + * } + * + * // sort tooltip data value display in ascending order + * order: "asc", + * + * // specifying sort function + * order: function(a, b) { + * // param data passed format + * {x: 5, value: 250, id: "data1", index: 5, name: "data1"} + * ... + * }, + * + * // show at the initialization + * init: { + * show: true, + * x: 2, // x Axis index (or index for Arc(donut, gauge, pie) types) + * position: { + * top: "150px", // specify as number or as string with 'px' unit string + * left: 250 // specify as number or as string with 'px' unit string + * } + * }, + * + * // fires prior tooltip is shown + * onshow: function(selectedData) { + * // current dataset selected + * // ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...] + * selectedData; + * }, + * + * // fires prior tooltip is hidden + * onhide: function(selectedData) { + * // current dataset selected + * // ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...] + * selectedData; + * }, + * + * // fires after tooltip is shown + * onshown: function(selectedData) { + * // current dataset selected + * // ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...] + * selectedData; + * }, + * + * // fires after tooltip is hidden + * onhidden: function(selectedData) { + * // current dataset selected + * // ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...] + * selectedData; + * }, + * + * // Link any tooltips when multiple charts are on the screen where same x coordinates are available + * // Useful for timeseries correlation + * linked: true, + * + * // Specify name to interact those with the same name only. + * linked: { + * name: "some-group" + * } + * } + */ + tooltip_show: true, + tooltip_doNotHide: false, + tooltip_grouped: true, + tooltip_format_title: void 0, + tooltip_format_name: void 0, + tooltip_format_value: void 0, + tooltip_position: void 0, + tooltip_contents: {}, + tooltip_init_show: false, + tooltip_init_x: 0, + tooltip_init_position: void 0, + tooltip_linked: false, + tooltip_linked_name: "", + tooltip_onshow: () => { + }, + tooltip_onhide: () => { + }, + tooltip_onshown: () => { + }, + tooltip_onhidden: () => { + }, + tooltip_order: null +}); + +;// ./src/config/Options/data/data.ts +/* harmony default export */ var data_data = ({ + /** + * Specify the key of x values in the data.<br><br> + * We can show the data with non-index x values by this option. This option is required when the type of x axis is timeseries. If this option is set on category axis, the values of the data on the key will be used for category names. + * @name data․x + * @memberof Options + * @type {string} + * @default undefined + * @example + * data: { + * x: "date" + * } + */ + data_x: void 0, + /** + * Converts data id value + * @name data․idConverter + * @memberof Options + * @type {Function} + * @default function(id) { return id; } + * @example + * data: { + * idConverter: function(id) { + * // when id is 'data1', converts to be 'data2' + * // 'data2' should be given as the initial data value + * if (id === "data1") { + * return "data2"; + * } else { + * return id; + * } + * } + * } + */ + data_idConverter: (id) => id, + /** + * Set custom data name. + * If a name is set to `null`, the series is omitted from the legend. + * @name data․names + * @memberof Options + * @type {object} + * @default {} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataName) + * @example + * data: { + * names: { + * data1: "Data Name 1", + * data2: "Data Name 2" + * } + * } + */ + data_names: {}, + /** + * Set custom data class.<br><br> + * If this option is specified, the element g for the data has an additional class that has the prefix 'bb-target-' (eg. bb-target-additional-data1-class). + * @name data․classes + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * classes: { + * data1: "additional-data1-class", + * data2: "additional-data2-class" + * } + * } + */ + data_classes: {}, + /** + * Set chart type at once.<br><br> + * If this option is specified, the type will be applied to every data. This setting can be overwritten by data.types.<br><br> + * **Available Values:** + * - area + * - area-line-range + * - area-spline + * - area-spline-range + * - area-step + * - area-step-range + * - bar + * - bubble + * - candlestick + * - donut + * - funnel + * - gauge + * - line + * - pie + * - polar + * - radar + * - scatter + * - spline + * - step + * - treemap + * @name data․type + * @memberof Options + * @type {string} + * @default "line"<br>NOTE: When importing shapes by ESM, `line()` should be specified for type. + * @example + * data: { + * type: "bar" + * } + * @example + * // Generate chart by importing ESM + * // Import types to be used only, where this will make smaller bundle size. + * import bb, { + * area, + * areaLineRange, + * areaSpline, + * areaSplineRange, + * areaStep, + * areaStepRange, + * bar, + * bubble, + * candlestick, + * donut, + * funnel, + * gauge, + * line, + * pie, + * polar, + * radar, + * scatter, + * spline, + * step, + * treemap + * } + * + * bb.generate({ + * ..., + * data: { + * type: bar() + * } + * }); + */ + data_type: void 0, + /** + * Set chart type for each data.<br> + * This setting overwrites data.type setting. + * - **NOTE:** `radar` and `treemap` type can't be combined with other types. + * @name data․types + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * types: { + * data1: "bar", + * data2: "spline" + * } + * } + * @example + * // Generate chart by importing ESM + * // Import types to be used only, where this will make smaller bundle size. + * import bb, { + * area, + * areaLineRange, + * areaSpline, + * areaSplineRange, + * areaStep, + * areaStepRange, + * bar, + * bubble, + * candlestick, + * donut, + * funnel, + * gauge, + * line, + * pie, + * polar, + * radar, + * scatter, + * spline, + * step, + * treemap + * } + * + * bb.generate({ + * ..., + * data: { + * types: { + * data1: bar(), + * data1: spline() + * } + * } + * }); + */ + data_types: {}, + /** + * This option changes the order of stacking data and pieces of pie/donut. + * - If `null` specified, it will be the order the data loaded. + * - If function specified, it will be used as [Array.sort compareFunction](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters)<br><br> + * + * **Available Values:** + * - `desc`: In descending order + * - `asc`: In ascending order + * - `null`: It keeps the data load order + * - `function(data1, data2) { ... }`: Array.sort compareFunction + * + * **NOTE**: order function, only works for Axis based types & Arc types, except `Radar` type. + * @name data․order + * @memberof Options + * @type {string|Function|null} + * @default desc + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataOrder) + * @example + * data: { + * // in descending order (default) + * order: "desc" + * + * // in ascending order + * order: "asc" + * + * // keeps data input order + * order: null + * + * // specifying sort function + * order: function(a, b) { + * // param data passed format + * // { + * // id: "data1", id_org: "data1", values: [ + * // {x: 5, value: 250, id: "data1", index: 5, name: "data1"}, + * // ... + * // ] + * // } + * + * const reducer = (p, c) => p + Math.abs(c.value); + * const aSum = a.values.reduce(reducer, 0); + * const bSum = b.values.reduce(reducer, 0); + * + * // ascending order + * return aSum - bSum; + * + * // descending order + * // return bSum - aSum; + * } + * } + */ + data_order: "desc", + /** + * Set groups for the data for stacking. + * @name data․groups + * @memberof Options + * @type {Array} + * @default [] + * @example + * data: { + * groups: [ + * ["data1", "data2"], + * ["data3"] + * ] + * } + */ + data_groups: [], + /** + * Set how zero value will be treated on groups.<br> + * Possible values: + * - `zero`: 0 will be positioned at absolute axis zero point. + * - `positive`: 0 will be positioned at the top of a stack. + * - `negative`: 0 will be positioned at the bottom of a stack. + * @name data․groupsZeroAs + * @memberof Options + * @type {string} + * @default "positive" + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.Groups) + * @example + * data: { + * groupsZeroAs: "zero" // "positive" or "negative" + * } + */ + data_groupsZeroAs: "positive", + /** + * Set color converter function.<br><br> + * This option should a function and the specified function receives color (e.g. '#ff0000') and d that has data parameters like id, value, index, etc. And it must return a string that represents color (e.g. '#00ff00'). + * @name data․color + * @memberof Options + * @type {Function} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataColor) + * @example + * data: { + * color: function(color, d) { ... } + * } + */ + data_color: void 0, + /** + * Set color for each data. + * @name data․colors + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * colors: { + * data1: "#ff0000", + * data2: function(d) { + * return "#000"; + * } + * ... + * } + * } + */ + data_colors: {}, + /** + * Set labels options + * @name data․labels + * @memberof Options + * @type {object} + * @property {object} data Data object + * @property {boolean} [data.labels=false] Show or hide labels on each data points + * @property {boolean} [data.labels.centered=false] Centerize labels on `bar` shape. (**NOTE:** works only for 'bar' type) + * @property {Function} [data.labels.format] Set formatter function for data labels.<br> + * The formatter function receives 4 arguments such as `v, id, i, texts` and it **must return a string** (`\n` character will be used as line break) that will be shown as the label.<br><br> + * The arguments are:<br> + * - `v` is the value of the data point where the label is shown. + * - `id` is the id of the data where the label is shown. + * - `i` is the index of the data series point where the label is shown. + * - `texts` is the array of whole corresponding data series' text labels.<br><br> + * Formatter function can be defined for each data by specifying as an object and D3 formatter function can be set (ex. d3.format('$')) + * @property {string|object} [data.labels.backgroundColors] Set label text background colors. + * @property {string|object|Function} [data.labels.colors] Set label text colors. + * @property {object|Function} [data.labels.position] Set each dataset position, relative the original.<br><br> + * When function is specified, will receives 5 arguments such as `type, v, id, i, texts` and it must return a position number.<br><br> + * The arguments are:<br> + * - `type` coordinate type string, which will be 'x' or 'y'. + * - `v` is the value of the data point where the label is shown. + * - `id` is the id of the data where the label is shown. + * - `i` is the index of the data series point where the label is shown. + * - `texts` is the array of whole corresponding data series' text labels.<br><br> + * @property {number} [data.labels.position.x=0] x coordinate position, relative the original. + * @property {number} [data.labels.position.y=0] y coordinate position, relative the original. + * @property {object} [data.labels.rotate] Rotate label text. Specify degree value in a range of `0 ~ 360`. + * - **NOTE:** Depend on rotate value, text position need to be adjusted manually(using `data.labels.position` option) to be shown nicely. + * @memberof Options + * @type {object} + * @default {} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataLabel) + * @see [Demo: label colors](https://naver.github.io/billboard.js/demo/#Data.DataLabelColors) + * @see [Demo: label format](https://naver.github.io/billboard.js/demo/#Data.DataLabelFormat) + * @see [Demo: label multiline](https://naver.github.io/billboard.js/demo/#Data.DataLabelMultiline) + * @see [Demo: label overlap](https://naver.github.io/billboard.js/demo/#Data.DataLabelOverlap) + * @see [Demo: label position](https://naver.github.io/billboard.js/demo/#Data.DataLabelPosition) + * @see [Demo: label rotate](https://naver.github.io/billboard.js/demo/#Data.DataLabelRotate) + * @example + * data: { + * labels: true, + * + * // or set specific options + * labels: { + * format: function(v, id, i, texts) { + * ... + * // to multiline, return with '\n' character + * return "Line1\nLine2"; + * }, + * + * // it's possible to set for each data + * format: { + * data1: function(v, id, i, texts) { ... }, + * ... + * }, + * + * // align text to center of the 'bar' shape (works only for 'bar' type) + * centered: true, + * + * // apply backgound color for label texts + * backgroundColors: "red", + * + * // set differenct backround colors per dataset + * backgroundColors: { + * data1: "green", + * data2: "yellow" + * } + * + * // apply for all label texts + * colors: "red", + * + * // set different colors per dataset + * // for not specified dataset, will have the default color value + * colors: { + * data1: "yellow", + * data3: "green" + * }, + * + * // call back for label text color + * colors: function(color, d) { + * // color: the default data label color string + * // data: ex) {x: 0, value: 200, id: "data3", index: 0} + * .... + * return d.value > 200 ? "cyan" : color; + * }, + * + * // return x, y coordinate position + * // apt to handle each text position manually + * position: function(type, v, id, i, texts) { + * ... + * return type == "x" ? 10 : 20; + * }, + * + * // set x, y coordinate position + * position: { + * x: -10, + * y: 10 + * }, + * + * // or set x, y coordinate position by each dataset + * position: { + * data1: {x: 5, y: 5}, + * data2: {x: 10, y: -20} + * }, + * + * // rotate degree for label text + * rotate: 90 + * } + * } + */ + data_labels: {}, + data_labels_backgroundColors: void 0, + data_labels_colors: void 0, + data_labels_position: {}, + /** + * Hide each data when the chart appears.<br><br> + * If true specified, all of data will be hidden. If multiple ids specified as an array, those will be hidden. + * @name data․hide + * @memberof Options + * @type {boolean|Array} + * @default false + * @example + * data: { + * // all of data will be hidden + * hide: true + * + * // specified data will be hidden + * hide: ["data1", ...] + * } + */ + data_hide: false, + /** + * Filter values to be shown + * The data value is the same as the returned by `.data()`. + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter + * @name data․filter + * @memberof Options + * @type {Function} + * @default undefined + * @example + * data: { + * // filter for id value + * filter: function(v) { + * // v: [{id: "data1", id_org: "data1", values: [ + * // {x: 0, value: 130, id: "data2", index: 0}, ...] + * // }, ...] + * return v.id !== "data1"; + * } + */ + data_filter: void 0, + /** + * Set a callback for click event on each data point.<br><br> + * This callback will be called when each data point clicked and will receive `d` and element as the arguments. + * - `d` is the data clicked and element is the element clicked. + * - `element` is the current interacting svg element. + * - In this callback, `this` will be the Chart object. + * @name data․onclick + * @memberof Options + * @type {Function} + * @default function() {} + * @example + * data: { + * onclick: function(d, element) { + * // d - ex) {x: 4, value: 150, id: "data1", index: 4, name: "data1"} + * // element - <circle> + * ... + * } + * } + */ + data_onclick: () => { + }, + /** + * Set a callback for mouse/touch over event on each data point.<br><br> + * This callback will be called when mouse cursor or via touch moves onto each data point and will receive `d` and `element` as the argument. + * - `d` is the data where mouse cursor moves onto. + * - `element` is the current interacting svg element. + * - In this callback, `this` will be the Chart object. + * @name data․onover + * @memberof Options + * @type {Function} + * @default function() {} + * @example + * data: { + * onover: function(d, element) { + * // d - ex) {x: 4, value: 150, id: "data1", index: 4} + * // element - <circle> + * ... + * } + * } + */ + data_onover: () => { + }, + /** + * Set a callback for mouse/touch out event on each data point.<br><br> + * This callback will be called when mouse cursor or via touch moves out each data point and will receive `d` as the argument. + * - `d` is the data where mouse cursor moves out. + * - `element` is the current interacting svg element. + * - In this callback, `this` will be the Chart object. + * @name data․onout + * @memberof Options + * @type {Function} + * @default function() {} + * @example + * data: { + * onout: function(d, element) { + * // d - ex) {x: 4, value: 150, id: "data1", index: 4} + * // element - <circle> + * ... + * } + * } + */ + data_onout: () => { + }, + /** + * Set a callback for when data is shown.<br> + * The callback will receive shown data ids in array. + * @name data․onshown + * @memberof Options + * @type {Function} + * @default undefined + * @example + * data: { + * onshown: function(ids) { + * // ids - ["data1", "data2", ...] + * ... + * } + * } + */ + data_onshown: void 0, + /** + * Set a callback for when data is hidden.<br> + * The callback will receive hidden data ids in array. + * @name data․onhidden + * @memberof Options + * @type {Function} + * @default undefined + * @example + * data: { + * onhidden: function(ids) { + * // ids - ["data1", "data2", ...] + * ... + * } + * } + */ + data_onhidden: void 0, + /** + * Set a callback for minimum data + * - **NOTE:** For 'area-line-range', 'area-step-range' and 'area-spline-range', `mid` data will be taken for the comparison + * @name data․onmin + * @memberof Options + * @type {Function} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.OnMinMaxCallback) + * @example + * onmin: function(data) { + * // data - ex) [{x: 3, value: 400, id: "data1", index: 3}, ... ] + * ... + * } + */ + data_onmin: void 0, + /** + * Set a callback for maximum data + * - **NOTE:** For 'area-line-range', 'area-step-range' and 'area-spline-range', `mid` data will be taken for the comparison + * @name data․onmax + * @memberof Options + * @type {Function} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.OnMinMaxCallback) + * @example + * onmax: function(data) { + * // data - ex) [{x: 3, value: 400, id: "data1", index: 3}, ... ] + * ... + * } + */ + data_onmax: void 0, + /** + * Load a CSV or JSON file from a URL. NOTE that this will not work if loading via the "file://" protocol as the most browsers will block XMLHTTPRequests. + * @name data․url + * @memberof Options + * @type {string} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.LoadData) + * @example + * data: { + * url: "/data/test.csv" + * } + */ + data_url: void 0, + /** + * XHR header value + * - **NOTE:** Should be used with `data.url` option + * @name data․headers + * @memberof Options + * @type {string} + * @default undefined + * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/setRequestHeader + * @example + * data: { + * url: "/data/test.csv", + * headers: { + * "Content-Type": "text/xml", + * ... + * } + * } + */ + data_headers: void 0, + /** + * Parse a JSON object for data. See also data.keys. + * @name data․json + * @memberof Options + * @type {Array} + * @default undefined + * @see [data․keys](#.data%25E2%2580%25A4keys) + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.JSONData) + * @example + * data: { + * json: [ + * {name: "www.site1.com", upload: 200, download: 200, total: 400}, + * {name: "www.site2.com", upload: 100, download: 300, total: 400}, + * {name: "www.site3.com", upload: 300, download: 200, total: 500}, + * {name: "www.site4.com", upload: 400, download: 100, total: 500} + * ], + * keys: { + * // case 1: specify 'x' key for category axis + * x: "name", // 'name' key will be used as category x axis values + * value: ["upload", "download"] + * + * // case 2: without 'x' key for non-category axis + * value: ["upload", "download"] + * } + * } + */ + data_json: void 0, + /** + * Load data from a multidimensional array, with the first element containing the data names, the following containing related data in that order. + * @name data․rows + * @memberof Options + * @type {Array} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.RowOrientedData) + * @example + * data: { + * rows: [ + * ["A", "B", "C"], + * [90, 120, 300], + * [40, 160, 240], + * [50, 200, 290], + * [120, 160, 230], + * [80, 130, 300], + * [90, 220, 320] + * ] + * } + * + * // for 'bar' type, data can contain: + * // - an array of [start, end] data following the order + * data: { + * rows: [ + * ["data1", "data2"], + * [[100, 150], 120], + * [[200, 300], 55], + * [[-400, 500], 60] + * ], + * type: "bar" + * } + * + * // for 'range' types('area-line-range' or 'area-step-range' or 'area-spline-range'), data should contain: + * // - an array of [high, mid, low] data following the order + * // - or an object with 'high', 'mid' and 'low' key value + * data: { + * rows: [ + * ["data1", "data2"], + * [ + * // or {high:150, mid: 140, low: 110}, 120 + * [150, 140, 110], 120 + * ], + * [[155, 130, 115], 55], + * [[160, 135, 120], 60] + * ], + * types: { + * data1: "area-line-range", + * data2: "line" + * } + * } + * + * // for 'bubble' type, data can contain dimension value: + * // - an array of [y, z] data following the order + * // - or an object with 'y' and 'z' key value + * // 'y' is for y axis coordination and 'z' is the bubble radius value + * data: { + * rows: [ + * ["data1", "data2"], + * [ + * // or {y:10, z: 140}, 120 + * [10, 140], 120 + * ], + * [[100, 30], 55], + * [[50, 100], 60] + * ], + * types: { + * data1: "bubble", + * data2: "line" + * } + * } + * + * // for 'canlestick' type, data should contain: + * // - an array of [open, high, low, close, volume(optional)] data following the order + * // - or an object with 'open', 'high', 'low', 'close' and 'value'(optional) key value + * data: { + * rows: [ + * ["data1", "data2"], + * [ + * // open, high, low, close, volume (optional) + * {open: 1300, high: 1369, low: 1200, close: 1339, volume: 100}, + * [1000, 1100, 850, 870] + * ], + * [ + * {open: 1348, high: 1371, low: 1271, close: 1320}, + * [870, 1250, 830, 1200, 50] + * ] + * ], + * type: "candlestick" + * } + */ + data_rows: void 0, + /** + * Load data from a multidimensional array, with each element containing an array consisting of a datum name and associated data values. + * @name data․columns + * @memberof Options + * @type {Array} + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.ColumnOrientedData) + * @example + * data: { + * columns: [ + * ["data1", 30, 20, 50, 40, 60, 50], + * ["data2", 200, 130, 90, 240, 130, 220], + * ["data3", 300, 200, 160, 400, 250, 250] + * ] + * } + * + * // for 'bar' type, data can contain: + * // - an array of [start, end] data following the order + * data: { + * columns: [ + * ["data1", -100, 50, [100, 200], [200, 300]], + * ["data2", -200, 300, [-100, 100], [-50, -30]], + * ], + * type: "bar" + * } + * + * // for 'range' types('area-line-range' or 'area-step-range' or 'area-spline-range'), data should contain: + * // - an array of [high, mid, low] data following the order + * // - or an object with 'high', 'mid' and 'low' key value + * data: { + * columns: [ + * ["data1", + * [150, 140, 110], // or {high:150, mid: 140, low: 110} + * [150, 140, 110], + * [150, 140, 110] + * ] + * ], + * type: "area-line-range" + * } + * + * // for 'bubble' type, data can contain dimension value: + * // - an array of [y, z] data following the order + * // - or an object with 'y' and 'z' key value + * // 'y' is for y axis coordination and 'z' is the bubble radius value + * data: { + * columns: [ + * ["data1", + * [10, 140], // or {y:10, z: 140} + * [100, 30], + * [50, 100] + * ] + * ], + * type: "bubble" + * } + * + * // for 'canlestick' type, data should contain: + * // - an array of [open, high, low, close, volume(optional)] data following the order + * // - or an object with 'open', 'high', 'low', 'close' and 'value'(optional) key value + * data: { + * columns: [ + * ["data1", + * [1000, 1100, 850, 870, 100], // or {open:1000, high: 1100, low: 870, volume: 100} + * [870, 1250, 830, 1200] // 'volume' can be omitted + * ] + * ], + * type: "candlestick" + * } + */ + data_columns: void 0, + /** + * Used if loading JSON via data.url. + * - **Available Values:** + * - json + * - csv + * - tsv + * @name data․mimeType + * @memberof Options + * @type {string} + * @default csv + * @example + * data: { + * mimeType: "json" + * } + */ + data_mimeType: "csv", + /** + * Choose which JSON object keys correspond to desired data. + * - **NOTE:** Only for JSON object given as array. + * @name data․keys + * @memberof Options + * @type {string} + * @default undefined + * @example + * data: { + * json: [ + * {name: "www.site1.com", upload: 200, download: 200, total: 400}, + * {name: "www.site2.com", upload: 100, download: 300, total: 400}, + * {name: "www.site3.com", upload: 300, download: 200, total: 500}, + * {name: "www.site4.com", upload: 400, download: 100, total: 500} + * ], + * keys: { + * // case 1: specify 'x' key for category axis + * x: "name", // 'name' key will be used as category x axis values + * value: ["upload", "download"] + * + * // case 2: without 'x' key for non-category axis + * value: ["upload", "download"] + * } + * } + */ + data_keys: void 0, + /** + * Set text label to be displayed when there's no data to show. + * - ex. Toggling all visible data to not be shown, unloading all current data, etc. + * @name data․empty․label․text + * @memberof Options + * @type {string} + * @default "" + * @example + * data: { + * empty: { + * label: { + * text: "No Data" + * } + * } + * } + */ + data_empty_label_text: "" +}); + +;// ./src/config/Options/interaction/interaction.ts +/* harmony default export */ var interaction = ({ + /** + * Interaction options + * @name interaction + * @memberof Options + * @type {object} + * @property {object} interaction Intersection object + * @property {boolean} [interaction.enabled=true] Indicate if the chart should have interactions.<br> + * If `false` is set, all of interactions (showing/hiding tooltip, selection, mouse events, etc) will be disabled. + * @property {boolean} [interaction.brighten=true] Make brighter for the selected area (ex. 'pie' type data selected area) + * @property {boolean} [interaction.inputType.mouse=true] enable or disable mouse interaction + * @property {boolean} [interaction.inputType.touch=true] enable or disable touch interaction + * @property {boolean|number} [interaction.inputType.touch.preventDefault=false] enable or disable to call event.preventDefault on touchstart & touchmove event. It's usually used to prevent document scrolling. + * @property {boolean} [interaction.onout=true] Enable or disable "onout" event.<br> + * When is disabled, defocus(hiding tooltip, focused gridline, etc.) event won't work. + * @see [Demo: touch.preventDefault](https://naver.github.io/billboard.js/demo/#Interaction.PreventScrollOnTouch) + * @example + * interaction: { + * enabled: false, + * brighten: false, + * inputType: { + * mouse: true, + * touch: false + * + * // or declare preventDefault explicitly. + * // In this case touch inputType is enabled by default + * touch: { + * preventDefault: true + * + * // or threshold pixel value (pixel moved from touchstart to touchmove) + * preventDefault: 5 + * } + * }, + * + * // disable "onout" event + * onout: false + * } + */ + interaction_enabled: true, + interaction_brighten: true, + interaction_inputType_mouse: true, + interaction_inputType_touch: {}, + interaction_onout: true +}); + +;// ./node_modules/d3-dispatch/src/dispatch.js +var noop = { value: () => { +} }; +function dispatch_dispatch() { + for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) { + if (!(t = arguments[i] + "") || t in _ || /[\s.]/.test(t)) throw new Error("illegal type: " + t); + _[t] = []; + } + return new Dispatch(_); +} +function Dispatch(_) { + this._ = _; +} +function dispatch_parseTypenames(typenames, types) { + return typenames.trim().split(/^|\s+/).map(function(t) { + var name = "", i = t.indexOf("."); + if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); + if (t && !types.hasOwnProperty(t)) throw new Error("unknown type: " + t); + return { type: t, name }; + }); +} +Dispatch.prototype = dispatch_dispatch.prototype = { + constructor: Dispatch, + on: function(typename, callback) { + var _ = this._, T = dispatch_parseTypenames(typename + "", _), t, i = -1, n = T.length; + if (arguments.length < 2) { + while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t; + return; + } + if (callback != null && typeof callback !== "function") throw new Error("invalid callback: " + callback); + while (++i < n) { + if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback); + else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null); + } + return this; + }, + copy: function() { + var copy = {}, _ = this._; + for (var t in _) copy[t] = _[t].slice(); + return new Dispatch(copy); + }, + call: function(type, that) { + if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2]; + if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type); + for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args); + }, + apply: function(type, that, args) { + if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type); + for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args); + } +}; +function get(type, name) { + for (var i = 0, n = type.length, c; i < n; ++i) { + if ((c = type[i]).name === name) { + return c.value; + } + } +} +function set(type, name, callback) { + for (var i = 0, n = type.length; i < n; ++i) { + if (type[i].name === name) { + type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1)); + break; + } + } + if (callback != null) type.push({ name, value: callback }); + return type; +} +/* harmony default export */ var src_dispatch = (dispatch_dispatch); + +;// ./node_modules/d3-drag/src/noevent.js +const nonpassive = { passive: false }; +const nonpassivecapture = { capture: true, passive: false }; +function nopropagation(event) { + event.stopImmediatePropagation(); +} +/* harmony default export */ function noevent(event) { + event.preventDefault(); + event.stopImmediatePropagation(); +} + +;// ./node_modules/d3-drag/src/nodrag.js + + +/* harmony default export */ function nodrag(view) { + var root = view.document.documentElement, selection = src_select(view).on("dragstart.drag", noevent, nonpassivecapture); + if ("onselectstart" in root) { + selection.on("selectstart.drag", noevent, nonpassivecapture); + } else { + root.__noselect = root.style.MozUserSelect; + root.style.MozUserSelect = "none"; + } +} +function yesdrag(view, noclick) { + var root = view.document.documentElement, selection = src_select(view).on("dragstart.drag", null); + if (noclick) { + selection.on("click.drag", noevent, nonpassivecapture); + setTimeout(function() { + selection.on("click.drag", null); + }, 0); + } + if ("onselectstart" in root) { + selection.on("selectstart.drag", null); + } else { + root.style.MozUserSelect = root.__noselect; + delete root.__noselect; + } +} + +;// ./node_modules/d3-color/src/define.js +/* harmony default export */ function src_define(constructor, factory, prototype) { + constructor.prototype = factory.prototype = prototype; + prototype.constructor = constructor; +} +function extend(parent, definition) { + var prototype = Object.create(parent.prototype); + for (var key in definition) prototype[key] = definition[key]; + return prototype; +} + +;// ./node_modules/d3-color/src/color.js + +function Color() { +} +var darker = 0.7; +var brighter = 1 / darker; +var reI = "\\s*([+-]?\\d+)\\s*", reN = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", reP = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", reHex = /^#([0-9a-f]{3,8})$/, reRgbInteger = new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`), reRgbPercent = new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`), reRgbaInteger = new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`), reRgbaPercent = new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`), reHslPercent = new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`), reHslaPercent = new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`); +var named = { + aliceblue: 15792383, + antiquewhite: 16444375, + aqua: 65535, + aquamarine: 8388564, + azure: 15794175, + beige: 16119260, + bisque: 16770244, + black: 0, + blanchedalmond: 16772045, + blue: 255, + blueviolet: 9055202, + brown: 10824234, + burlywood: 14596231, + cadetblue: 6266528, + chartreuse: 8388352, + chocolate: 13789470, + coral: 16744272, + cornflowerblue: 6591981, + cornsilk: 16775388, + crimson: 14423100, + cyan: 65535, + darkblue: 139, + darkcyan: 35723, + darkgoldenrod: 12092939, + darkgray: 11119017, + darkgreen: 25600, + darkgrey: 11119017, + darkkhaki: 12433259, + darkmagenta: 9109643, + darkolivegreen: 5597999, + darkorange: 16747520, + darkorchid: 10040012, + darkred: 9109504, + darksalmon: 15308410, + darkseagreen: 9419919, + darkslateblue: 4734347, + darkslategray: 3100495, + darkslategrey: 3100495, + darkturquoise: 52945, + darkviolet: 9699539, + deeppink: 16716947, + deepskyblue: 49151, + dimgray: 6908265, + dimgrey: 6908265, + dodgerblue: 2003199, + firebrick: 11674146, + floralwhite: 16775920, + forestgreen: 2263842, + fuchsia: 16711935, + gainsboro: 14474460, + ghostwhite: 16316671, + gold: 16766720, + goldenrod: 14329120, + gray: 8421504, + green: 32768, + greenyellow: 11403055, + grey: 8421504, + honeydew: 15794160, + hotpink: 16738740, + indianred: 13458524, + indigo: 4915330, + ivory: 16777200, + khaki: 15787660, + lavender: 15132410, + lavenderblush: 16773365, + lawngreen: 8190976, + lemonchiffon: 16775885, + lightblue: 11393254, + lightcoral: 15761536, + lightcyan: 14745599, + lightgoldenrodyellow: 16448210, + lightgray: 13882323, + lightgreen: 9498256, + lightgrey: 13882323, + lightpink: 16758465, + lightsalmon: 16752762, + lightseagreen: 2142890, + lightskyblue: 8900346, + lightslategray: 7833753, + lightslategrey: 7833753, + lightsteelblue: 11584734, + lightyellow: 16777184, + lime: 65280, + limegreen: 3329330, + linen: 16445670, + magenta: 16711935, + maroon: 8388608, + mediumaquamarine: 6737322, + mediumblue: 205, + mediumorchid: 12211667, + mediumpurple: 9662683, + mediumseagreen: 3978097, + mediumslateblue: 8087790, + mediumspringgreen: 64154, + mediumturquoise: 4772300, + mediumvioletred: 13047173, + midnightblue: 1644912, + mintcream: 16121850, + mistyrose: 16770273, + moccasin: 16770229, + navajowhite: 16768685, + navy: 128, + oldlace: 16643558, + olive: 8421376, + olivedrab: 7048739, + orange: 16753920, + orangered: 16729344, + orchid: 14315734, + palegoldenrod: 15657130, + palegreen: 10025880, + paleturquoise: 11529966, + palevioletred: 14381203, + papayawhip: 16773077, + peachpuff: 16767673, + peru: 13468991, + pink: 16761035, + plum: 14524637, + powderblue: 11591910, + purple: 8388736, + rebeccapurple: 6697881, + red: 16711680, + rosybrown: 12357519, + royalblue: 4286945, + saddlebrown: 9127187, + salmon: 16416882, + sandybrown: 16032864, + seagreen: 3050327, + seashell: 16774638, + sienna: 10506797, + silver: 12632256, + skyblue: 8900331, + slateblue: 6970061, + slategray: 7372944, + slategrey: 7372944, + snow: 16775930, + springgreen: 65407, + steelblue: 4620980, + tan: 13808780, + teal: 32896, + thistle: 14204888, + tomato: 16737095, + turquoise: 4251856, + violet: 15631086, + wheat: 16113331, + white: 16777215, + whitesmoke: 16119285, + yellow: 16776960, + yellowgreen: 10145074 +}; +src_define(Color, color_color, { + copy(channels) { + return Object.assign(new this.constructor(), this, channels); + }, + displayable() { + return this.rgb().displayable(); + }, + hex: color_formatHex, + // Deprecated! Use color.formatHex. + formatHex: color_formatHex, + formatHex8: color_formatHex8, + formatHsl: color_formatHsl, + formatRgb: color_formatRgb, + toString: color_formatRgb +}); +function color_formatHex() { + return this.rgb().formatHex(); +} +function color_formatHex8() { + return this.rgb().formatHex8(); +} +function color_formatHsl() { + return hslConvert(this).formatHsl(); +} +function color_formatRgb() { + return this.rgb().formatRgb(); +} +function color_color(format) { + var m, l; + format = (format + "").trim().toLowerCase(); + return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) : l === 3 ? new Rgb(m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, (m & 15) << 4 | m & 15, 1) : l === 8 ? rgba(m >> 24 & 255, m >> 16 & 255, m >> 8 & 255, (m & 255) / 255) : l === 4 ? rgba(m >> 12 & 15 | m >> 8 & 240, m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, ((m & 15) << 4 | m & 15) / 255) : null) : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) : named.hasOwnProperty(format) ? rgbn(named[format]) : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0) : null; +} +function rgbn(n) { + return new Rgb(n >> 16 & 255, n >> 8 & 255, n & 255, 1); +} +function rgba(r, g, b, a) { + if (a <= 0) r = g = b = NaN; + return new Rgb(r, g, b, a); +} +function rgbConvert(o) { + if (!(o instanceof Color)) o = color_color(o); + if (!o) return new Rgb(); + o = o.rgb(); + return new Rgb(o.r, o.g, o.b, o.opacity); +} +function color_rgb(r, g, b, opacity) { + return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity); +} +function Rgb(r, g, b, opacity) { + this.r = +r; + this.g = +g; + this.b = +b; + this.opacity = +opacity; +} +src_define(Rgb, color_rgb, extend(Color, { + brighter(k) { + k = k == null ? brighter : Math.pow(brighter, k); + return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); + }, + darker(k) { + k = k == null ? darker : Math.pow(darker, k); + return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); + }, + rgb() { + return this; + }, + clamp() { + return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity)); + }, + displayable() { + return -0.5 <= this.r && this.r < 255.5 && (-0.5 <= this.g && this.g < 255.5) && (-0.5 <= this.b && this.b < 255.5) && (0 <= this.opacity && this.opacity <= 1); + }, + hex: rgb_formatHex, + // Deprecated! Use color.formatHex. + formatHex: rgb_formatHex, + formatHex8: rgb_formatHex8, + formatRgb: rgb_formatRgb, + toString: rgb_formatRgb +})); +function rgb_formatHex() { + return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`; +} +function rgb_formatHex8() { + return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`; +} +function rgb_formatRgb() { + const a = clampa(this.opacity); + return `${a === 1 ? "rgb(" : "rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? ")" : `, ${a})`}`; +} +function clampa(opacity) { + return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity)); +} +function clampi(value) { + return Math.max(0, Math.min(255, Math.round(value) || 0)); +} +function hex(value) { + value = clampi(value); + return (value < 16 ? "0" : "") + value.toString(16); +} +function hsla(h, s, l, a) { + if (a <= 0) h = s = l = NaN; + else if (l <= 0 || l >= 1) h = s = NaN; + else if (s <= 0) h = NaN; + return new Hsl(h, s, l, a); +} +function hslConvert(o) { + if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity); + if (!(o instanceof Color)) o = color_color(o); + if (!o) return new Hsl(); + if (o instanceof Hsl) return o; + o = o.rgb(); + var r = o.r / 255, g = o.g / 255, b = o.b / 255, min = Math.min(r, g, b), max = Math.max(r, g, b), h = NaN, s = max - min, l = (max + min) / 2; + if (s) { + if (r === max) h = (g - b) / s + (g < b) * 6; + else if (g === max) h = (b - r) / s + 2; + else h = (r - g) / s + 4; + s /= l < 0.5 ? max + min : 2 - max - min; + h *= 60; + } else { + s = l > 0 && l < 1 ? 0 : h; + } + return new Hsl(h, s, l, o.opacity); +} +function hsl(h, s, l, opacity) { + return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity); +} +function Hsl(h, s, l, opacity) { + this.h = +h; + this.s = +s; + this.l = +l; + this.opacity = +opacity; +} +src_define(Hsl, hsl, extend(Color, { + brighter(k) { + k = k == null ? brighter : Math.pow(brighter, k); + return new Hsl(this.h, this.s, this.l * k, this.opacity); + }, + darker(k) { + k = k == null ? darker : Math.pow(darker, k); + return new Hsl(this.h, this.s, this.l * k, this.opacity); + }, + rgb() { + var h = this.h % 360 + (this.h < 0) * 360, s = isNaN(h) || isNaN(this.s) ? 0 : this.s, l = this.l, m2 = l + (l < 0.5 ? l : 1 - l) * s, m1 = 2 * l - m2; + return new Rgb( + hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2), + hsl2rgb(h, m1, m2), + hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2), + this.opacity + ); + }, + clamp() { + return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity)); + }, + displayable() { + return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && (0 <= this.l && this.l <= 1) && (0 <= this.opacity && this.opacity <= 1); + }, + formatHsl() { + const a = clampa(this.opacity); + return `${a === 1 ? "hsl(" : "hsla("}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? ")" : `, ${a})`}`; + } +})); +function clamph(value) { + value = (value || 0) % 360; + return value < 0 ? value + 360 : value; +} +function clampt(value) { + return Math.max(0, Math.min(1, value || 0)); +} +function hsl2rgb(h, m1, m2) { + return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255; +} + +;// ./node_modules/d3-interpolate/src/basis.js +function basis(t1, v0, v1, v2, v3) { + var t2 = t1 * t1, t3 = t2 * t1; + return ((1 - 3 * t1 + 3 * t2 - t3) * v0 + (4 - 6 * t2 + 3 * t3) * v1 + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2 + t3 * v3) / 6; +} +/* harmony default export */ function src_basis(values) { + var n = values.length - 1; + return function(t) { + var i = t <= 0 ? t = 0 : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n), v1 = values[i], v2 = values[i + 1], v0 = i > 0 ? values[i - 1] : 2 * v1 - v2, v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1; + return basis((t - i / n) * n, v0, v1, v2, v3); + }; +} + +;// ./node_modules/d3-interpolate/src/basisClosed.js + +/* harmony default export */ function basisClosed(values) { + var n = values.length; + return function(t) { + var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n), v0 = values[(i + n - 1) % n], v1 = values[i % n], v2 = values[(i + 1) % n], v3 = values[(i + 2) % n]; + return basis((t - i / n) * n, v0, v1, v2, v3); + }; +} + +;// ./node_modules/d3-interpolate/src/constant.js +/* harmony default export */ var src_constant = ((x) => () => x); + +;// ./node_modules/d3-interpolate/src/color.js + +function linear(a, d) { + return function(t) { + return a + t * d; + }; +} +function exponential(a, b, y) { + return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) { + return Math.pow(a + t * b, y); + }; +} +function hue(a, b) { + var d = b - a; + return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : src_constant(isNaN(a) ? b : a); +} +function gamma(y) { + return (y = +y) === 1 ? nogamma : function(a, b) { + return b - a ? exponential(a, b, y) : src_constant(isNaN(a) ? b : a); + }; +} +function nogamma(a, b) { + var d = b - a; + return d ? linear(a, d) : src_constant(isNaN(a) ? b : a); +} + +;// ./node_modules/d3-interpolate/src/rgb.js + + + + +/* harmony default export */ var rgb = ((function rgbGamma(y) { + var color = gamma(y); + function rgb(start, end) { + var r = color((start = color_rgb(start)).r, (end = color_rgb(end)).r), g = color(start.g, end.g), b = color(start.b, end.b), opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.r = r(t); + start.g = g(t); + start.b = b(t); + start.opacity = opacity(t); + return start + ""; + }; + } + rgb.gamma = rgbGamma; + return rgb; +})(1)); +function rgbSpline(spline) { + return function(colors) { + var n = colors.length, r = new Array(n), g = new Array(n), b = new Array(n), i, color; + for (i = 0; i < n; ++i) { + color = color_rgb(colors[i]); + r[i] = color.r || 0; + g[i] = color.g || 0; + b[i] = color.b || 0; + } + r = spline(r); + g = spline(g); + b = spline(b); + color.opacity = 1; + return function(t) { + color.r = r(t); + color.g = g(t); + color.b = b(t); + return color + ""; + }; + }; +} +var rgbBasis = rgbSpline(src_basis); +var rgbBasisClosed = rgbSpline(basisClosed); + +;// ./node_modules/d3-interpolate/src/numberArray.js +/* harmony default export */ function numberArray(a, b) { + if (!b) b = []; + var n = a ? Math.min(b.length, a.length) : 0, c = b.slice(), i; + return function(t) { + for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t; + return c; + }; +} +function isNumberArray(x) { + return ArrayBuffer.isView(x) && !(x instanceof DataView); +} + +;// ./node_modules/d3-interpolate/src/array.js + + +/* harmony default export */ function src_array(a, b) { + return (isNumberArray(b) ? numberArray : genericArray)(a, b); +} +function genericArray(a, b) { + var nb = b ? b.length : 0, na = a ? Math.min(nb, a.length) : 0, x = new Array(na), c = new Array(nb), i; + for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]); + for (; i < nb; ++i) c[i] = b[i]; + return function(t) { + for (i = 0; i < na; ++i) c[i] = x[i](t); + return c; + }; +} + +;// ./node_modules/d3-interpolate/src/date.js +/* harmony default export */ function date(a, b) { + var d = /* @__PURE__ */ new Date(); + return a = +a, b = +b, function(t) { + return d.setTime(a * (1 - t) + b * t), d; + }; +} + +;// ./node_modules/d3-interpolate/src/number.js +/* harmony default export */ function number(a, b) { + return a = +a, b = +b, function(t) { + return a * (1 - t) + b * t; + }; +} + +;// ./node_modules/d3-interpolate/src/object.js + +/* harmony default export */ function object(a, b) { + var i = {}, c = {}, k; + if (a === null || typeof a !== "object") a = {}; + if (b === null || typeof b !== "object") b = {}; + for (k in b) { + if (k in a) { + i[k] = value(a[k], b[k]); + } else { + c[k] = b[k]; + } + } + return function(t) { + for (k in i) c[k] = i[k](t); + return c; + }; +} + +;// ./node_modules/d3-interpolate/src/string.js + +var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, reB = new RegExp(reA.source, "g"); +function zero(b) { + return function() { + return b; + }; +} +function one(b) { + return function(t) { + return b(t) + ""; + }; +} +/* harmony default export */ function string(a, b) { + var bi = reA.lastIndex = reB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = []; + a = a + "", b = b + ""; + while ((am = reA.exec(a)) && (bm = reB.exec(b))) { + if ((bs = bm.index) > bi) { + bs = b.slice(bi, bs); + if (s[i]) s[i] += bs; + else s[++i] = bs; + } + if ((am = am[0]) === (bm = bm[0])) { + if (s[i]) s[i] += bm; + else s[++i] = bm; + } else { + s[++i] = null; + q.push({ i, x: number(am, bm) }); + } + bi = reB.lastIndex; + } + if (bi < b.length) { + bs = b.slice(bi); + if (s[i]) s[i] += bs; + else s[++i] = bs; + } + return s.length < 2 ? q[0] ? one(q[0].x) : zero(b) : (b = q.length, function(t) { + for (var i2 = 0, o; i2 < b; ++i2) s[(o = q[i2]).i] = o.x(t); + return s.join(""); + }); +} + +;// ./node_modules/d3-interpolate/src/value.js + + + + + + + + + +/* harmony default export */ function value(a, b) { + var t = typeof b, c; + return b == null || t === "boolean" ? src_constant(b) : (t === "number" ? number : t === "string" ? (c = color_color(b)) ? (b = c, rgb) : string : b instanceof color_color ? rgb : b instanceof Date ? date : isNumberArray(b) ? numberArray : Array.isArray(b) ? genericArray : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? object : number)(a, b); +} + +;// ./node_modules/d3-selection/src/sourceEvent.js +/* harmony default export */ function sourceEvent(event) { + let sourceEvent; + while (sourceEvent = event.sourceEvent) event = sourceEvent; + return event; +} + +;// ./node_modules/d3-selection/src/pointer.js + +/* harmony default export */ function src_pointer(event, node) { + event = sourceEvent(event); + if (node === void 0) node = event.currentTarget; + if (node) { + var svg = node.ownerSVGElement || node; + if (svg.createSVGPoint) { + var point = svg.createSVGPoint(); + point.x = event.clientX, point.y = event.clientY; + point = point.matrixTransform(node.getScreenCTM().inverse()); + return [point.x, point.y]; + } + if (node.getBoundingClientRect) { + var rect = node.getBoundingClientRect(); + return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop]; + } + } + return [event.pageX, event.pageY]; +} + +;// ./node_modules/d3-timer/src/timer.js +var timer_frame = 0, timeout = 0, interval = 0, pokeDelay = 1e3, taskHead, taskTail, clockLast = 0, clockNow = 0, clockSkew = 0, clock = typeof performance === "object" && performance.now ? performance : Date, setFrame = typeof window === "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { + setTimeout(f, 17); +}; +function now() { + return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew); +} +function clearNow() { + clockNow = 0; +} +function Timer() { + this._call = this._time = this._next = null; +} +Timer.prototype = timer.prototype = { + constructor: Timer, + restart: function(callback, delay, time) { + if (typeof callback !== "function") throw new TypeError("callback is not a function"); + time = (time == null ? now() : +time) + (delay == null ? 0 : +delay); + if (!this._next && taskTail !== this) { + if (taskTail) taskTail._next = this; + else taskHead = this; + taskTail = this; + } + this._call = callback; + this._time = time; + sleep(); + }, + stop: function() { + if (this._call) { + this._call = null; + this._time = Infinity; + sleep(); + } + } +}; +function timer(callback, delay, time) { + var t = new Timer(); + t.restart(callback, delay, time); + return t; +} +function timerFlush() { + now(); + ++timer_frame; + var t = taskHead, e; + while (t) { + if ((e = clockNow - t._time) >= 0) t._call.call(void 0, e); + t = t._next; + } + --timer_frame; +} +function wake() { + clockNow = (clockLast = clock.now()) + clockSkew; + timer_frame = timeout = 0; + try { + timerFlush(); + } finally { + timer_frame = 0; + nap(); + clockNow = 0; + } +} +function poke() { + var now2 = clock.now(), delay = now2 - clockLast; + if (delay > pokeDelay) clockSkew -= delay, clockLast = now2; +} +function nap() { + var t0, t1 = taskHead, t2, time = Infinity; + while (t1) { + if (t1._call) { + if (time > t1._time) time = t1._time; + t0 = t1, t1 = t1._next; + } else { + t2 = t1._next, t1._next = null; + t1 = t0 ? t0._next = t2 : taskHead = t2; + } + } + taskTail = t0; + sleep(time); +} +function sleep(time) { + if (timer_frame) return; + if (timeout) timeout = clearTimeout(timeout); + var delay = time - clockNow; + if (delay > 24) { + if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew); + if (interval) interval = clearInterval(interval); + } else { + if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay); + timer_frame = 1, setFrame(wake); + } +} + +;// ./node_modules/d3-timer/src/timeout.js + +/* harmony default export */ function src_timeout(callback, delay, time) { + var t = new Timer(); + delay = delay == null ? 0 : +delay; + t.restart((elapsed) => { + t.stop(); + callback(elapsed + delay); + }, delay, time); + return t; +} + +;// ./node_modules/d3-transition/src/transition/schedule.js + + +var emptyOn = src_dispatch("start", "end", "cancel", "interrupt"); +var emptyTween = []; +var CREATED = 0; +var SCHEDULED = 1; +var STARTING = 2; +var STARTED = 3; +var RUNNING = 4; +var ENDING = 5; +var ENDED = 6; +/* harmony default export */ function schedule(node, name, id, index, group, timing) { + var schedules = node.__transition; + if (!schedules) node.__transition = {}; + else if (id in schedules) return; + create(node, id, { + name, + index, + // For context during callback. + group, + // For context during callback. + on: emptyOn, + tween: emptyTween, + time: timing.time, + delay: timing.delay, + duration: timing.duration, + ease: timing.ease, + timer: null, + state: CREATED + }); +} +function init(node, id) { + var schedule = schedule_get(node, id); + if (schedule.state > CREATED) throw new Error("too late; already scheduled"); + return schedule; +} +function schedule_set(node, id) { + var schedule = schedule_get(node, id); + if (schedule.state > STARTED) throw new Error("too late; already running"); + return schedule; +} +function schedule_get(node, id) { + var schedule = node.__transition; + if (!schedule || !(schedule = schedule[id])) throw new Error("transition not found"); + return schedule; +} +function create(node, id, self) { + var schedules = node.__transition, tween; + schedules[id] = self; + self.timer = timer(schedule, 0, self.time); + function schedule(elapsed) { + self.state = SCHEDULED; + self.timer.restart(start, self.delay, self.time); + if (self.delay <= elapsed) start(elapsed - self.delay); + } + function start(elapsed) { + var i, j, n, o; + if (self.state !== SCHEDULED) return stop(); + for (i in schedules) { + o = schedules[i]; + if (o.name !== self.name) continue; + if (o.state === STARTED) return src_timeout(start); + if (o.state === RUNNING) { + o.state = ENDED; + o.timer.stop(); + o.on.call("interrupt", node, node.__data__, o.index, o.group); + delete schedules[i]; + } else if (+i < id) { + o.state = ENDED; + o.timer.stop(); + o.on.call("cancel", node, node.__data__, o.index, o.group); + delete schedules[i]; + } + } + src_timeout(function() { + if (self.state === STARTED) { + self.state = RUNNING; + self.timer.restart(tick, self.delay, self.time); + tick(elapsed); + } + }); + self.state = STARTING; + self.on.call("start", node, node.__data__, self.index, self.group); + if (self.state !== STARTING) return; + self.state = STARTED; + tween = new Array(n = self.tween.length); + for (i = 0, j = -1; i < n; ++i) { + if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) { + tween[++j] = o; + } + } + tween.length = j + 1; + } + function tick(elapsed) { + var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1), i = -1, n = tween.length; + while (++i < n) { + tween[i].call(node, t); + } + if (self.state === ENDING) { + self.on.call("end", node, node.__data__, self.index, self.group); + stop(); + } + } + function stop() { + self.state = ENDED; + self.timer.stop(); + delete schedules[id]; + for (var i in schedules) return; + delete node.__transition; + } +} + +;// ./node_modules/d3-transition/src/interrupt.js + +/* harmony default export */ function interrupt(node, name) { + var schedules = node.__transition, schedule, active, empty = true, i; + if (!schedules) return; + name = name == null ? null : name + ""; + for (i in schedules) { + if ((schedule = schedules[i]).name !== name) { + empty = false; + continue; + } + active = schedule.state > STARTING && schedule.state < ENDING; + schedule.state = ENDED; + schedule.timer.stop(); + schedule.on.call(active ? "interrupt" : "cancel", node, node.__data__, schedule.index, schedule.group); + delete schedules[i]; + } + if (empty) delete node.__transition; +} + +;// ./node_modules/d3-transition/src/selection/interrupt.js + +/* harmony default export */ function selection_interrupt(name) { + return this.each(function() { + interrupt(this, name); + }); +} + +;// ./node_modules/d3-interpolate/src/transform/decompose.js +var degrees = 180 / Math.PI; +var identity = { + translateX: 0, + translateY: 0, + rotate: 0, + skewX: 0, + scaleX: 1, + scaleY: 1 +}; +/* harmony default export */ function decompose(a, b, c, d, e, f) { + var scaleX, scaleY, skewX; + if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX; + if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX; + if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY; + if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX; + return { + translateX: e, + translateY: f, + rotate: Math.atan2(b, a) * degrees, + skewX: Math.atan(skewX) * degrees, + scaleX, + scaleY + }; +} + +;// ./node_modules/d3-interpolate/src/transform/parse.js + +var svgNode; +function parseCss(value) { + const m = new (typeof DOMMatrix === "function" ? DOMMatrix : WebKitCSSMatrix)(value + ""); + return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f); +} +function parseSvg(value) { + if (value == null) return identity; + if (!svgNode) svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g"); + svgNode.setAttribute("transform", value); + if (!(value = svgNode.transform.baseVal.consolidate())) return identity; + value = value.matrix; + return decompose(value.a, value.b, value.c, value.d, value.e, value.f); +} + +;// ./node_modules/d3-interpolate/src/transform/index.js + + +function interpolateTransform(parse, pxComma, pxParen, degParen) { + function pop(s) { + return s.length ? s.pop() + " " : ""; + } + function translate(xa, ya, xb, yb, s, q) { + if (xa !== xb || ya !== yb) { + var i = s.push("translate(", null, pxComma, null, pxParen); + q.push({ i: i - 4, x: number(xa, xb) }, { i: i - 2, x: number(ya, yb) }); + } else if (xb || yb) { + s.push("translate(" + xb + pxComma + yb + pxParen); + } + } + function rotate(a, b, s, q) { + if (a !== b) { + if (a - b > 180) b += 360; + else if (b - a > 180) a += 360; + q.push({ i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: number(a, b) }); + } else if (b) { + s.push(pop(s) + "rotate(" + b + degParen); + } + } + function skewX(a, b, s, q) { + if (a !== b) { + q.push({ i: s.push(pop(s) + "skewX(", null, degParen) - 2, x: number(a, b) }); + } else if (b) { + s.push(pop(s) + "skewX(" + b + degParen); + } + } + function scale(xa, ya, xb, yb, s, q) { + if (xa !== xb || ya !== yb) { + var i = s.push(pop(s) + "scale(", null, ",", null, ")"); + q.push({ i: i - 4, x: number(xa, xb) }, { i: i - 2, x: number(ya, yb) }); + } else if (xb !== 1 || yb !== 1) { + s.push(pop(s) + "scale(" + xb + "," + yb + ")"); + } + } + return function(a, b) { + var s = [], q = []; + a = parse(a), b = parse(b); + translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q); + rotate(a.rotate, b.rotate, s, q); + skewX(a.skewX, b.skewX, s, q); + scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q); + a = b = null; + return function(t) { + var i = -1, n = q.length, o; + while (++i < n) s[(o = q[i]).i] = o.x(t); + return s.join(""); + }; + }; +} +var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)"); +var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")"); + +;// ./node_modules/d3-transition/src/transition/tween.js + +function tweenRemove(id, name) { + var tween0, tween1; + return function() { + var schedule = schedule_set(this, id), tween = schedule.tween; + if (tween !== tween0) { + tween1 = tween0 = tween; + for (var i = 0, n = tween1.length; i < n; ++i) { + if (tween1[i].name === name) { + tween1 = tween1.slice(); + tween1.splice(i, 1); + break; + } + } + } + schedule.tween = tween1; + }; +} +function tweenFunction(id, name, value) { + var tween0, tween1; + if (typeof value !== "function") throw new Error(); + return function() { + var schedule = schedule_set(this, id), tween = schedule.tween; + if (tween !== tween0) { + tween1 = (tween0 = tween).slice(); + for (var t = { name, value }, i = 0, n = tween1.length; i < n; ++i) { + if (tween1[i].name === name) { + tween1[i] = t; + break; + } + } + if (i === n) tween1.push(t); + } + schedule.tween = tween1; + }; +} +/* harmony default export */ function tween(name, value) { + var id = this._id; + name += ""; + if (arguments.length < 2) { + var tween = schedule_get(this.node(), id).tween; + for (var i = 0, n = tween.length, t; i < n; ++i) { + if ((t = tween[i]).name === name) { + return t.value; + } + } + return null; + } + return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value)); +} +function tweenValue(transition, name, value) { + var id = transition._id; + transition.each(function() { + var schedule = schedule_set(this, id); + (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments); + }); + return function(node) { + return schedule_get(node, id).value[name]; + }; +} + +;// ./node_modules/d3-transition/src/transition/interpolate.js + + +/* harmony default export */ function interpolate(a, b) { + var c; + return (typeof b === "number" ? number : b instanceof color_color ? rgb : (c = color_color(b)) ? (b = c, rgb) : string)(a, b); +} + +;// ./node_modules/d3-transition/src/transition/attr.js + + + + +function attr_attrRemove(name) { + return function() { + this.removeAttribute(name); + }; +} +function attr_attrRemoveNS(fullname) { + return function() { + this.removeAttributeNS(fullname.space, fullname.local); + }; +} +function attr_attrConstant(name, interpolate2, value1) { + var string00, string1 = value1 + "", interpolate0; + return function() { + var string0 = this.getAttribute(name); + return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1); + }; +} +function attr_attrConstantNS(fullname, interpolate2, value1) { + var string00, string1 = value1 + "", interpolate0; + return function() { + var string0 = this.getAttributeNS(fullname.space, fullname.local); + return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1); + }; +} +function attr_attrFunction(name, interpolate2, value) { + var string00, string10, interpolate0; + return function() { + var string0, value1 = value(this), string1; + if (value1 == null) return void this.removeAttribute(name); + string0 = this.getAttribute(name); + string1 = value1 + ""; + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1)); + }; +} +function attr_attrFunctionNS(fullname, interpolate2, value) { + var string00, string10, interpolate0; + return function() { + var string0, value1 = value(this), string1; + if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local); + string0 = this.getAttributeNS(fullname.space, fullname.local); + string1 = value1 + ""; + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1)); + }; +} +/* harmony default export */ function transition_attr(name, value) { + var fullname = namespace(name), i = fullname === "transform" ? interpolateTransformSvg : interpolate; + return this.attrTween(name, typeof value === "function" ? (fullname.local ? attr_attrFunctionNS : attr_attrFunction)(fullname, i, tweenValue(this, "attr." + name, value)) : value == null ? (fullname.local ? attr_attrRemoveNS : attr_attrRemove)(fullname) : (fullname.local ? attr_attrConstantNS : attr_attrConstant)(fullname, i, value)); +} + +;// ./node_modules/d3-transition/src/transition/attrTween.js + +function attrInterpolate(name, i) { + return function(t) { + this.setAttribute(name, i.call(this, t)); + }; +} +function attrInterpolateNS(fullname, i) { + return function(t) { + this.setAttributeNS(fullname.space, fullname.local, i.call(this, t)); + }; +} +function attrTweenNS(fullname, value) { + var t0, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i); + return t0; + } + tween._value = value; + return tween; +} +function attrTween(name, value) { + var t0, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i); + return t0; + } + tween._value = value; + return tween; +} +/* harmony default export */ function transition_attrTween(name, value) { + var key = "attr." + name; + if (arguments.length < 2) return (key = this.tween(key)) && key._value; + if (value == null) return this.tween(key, null); + if (typeof value !== "function") throw new Error(); + var fullname = namespace(name); + return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value)); +} + +;// ./node_modules/d3-transition/src/transition/delay.js + +function delayFunction(id, value) { + return function() { + init(this, id).delay = +value.apply(this, arguments); + }; +} +function delayConstant(id, value) { + return value = +value, function() { + init(this, id).delay = value; + }; +} +/* harmony default export */ function delay(value) { + var id = this._id; + return arguments.length ? this.each((typeof value === "function" ? delayFunction : delayConstant)(id, value)) : schedule_get(this.node(), id).delay; +} + +;// ./node_modules/d3-transition/src/transition/duration.js + +function durationFunction(id, value) { + return function() { + schedule_set(this, id).duration = +value.apply(this, arguments); + }; +} +function durationConstant(id, value) { + return value = +value, function() { + schedule_set(this, id).duration = value; + }; +} +/* harmony default export */ function duration(value) { + var id = this._id; + return arguments.length ? this.each((typeof value === "function" ? durationFunction : durationConstant)(id, value)) : schedule_get(this.node(), id).duration; +} + +;// ./node_modules/d3-transition/src/transition/ease.js + +function easeConstant(id, value) { + if (typeof value !== "function") throw new Error(); + return function() { + schedule_set(this, id).ease = value; + }; +} +/* harmony default export */ function ease(value) { + var id = this._id; + return arguments.length ? this.each(easeConstant(id, value)) : schedule_get(this.node(), id).ease; +} + +;// ./node_modules/d3-transition/src/transition/easeVarying.js + +function easeVarying(id, value) { + return function() { + var v = value.apply(this, arguments); + if (typeof v !== "function") throw new Error(); + schedule_set(this, id).ease = v; + }; +} +/* harmony default export */ function transition_easeVarying(value) { + if (typeof value !== "function") throw new Error(); + return this.each(easeVarying(this._id, value)); +} + +;// ./node_modules/d3-transition/src/transition/filter.js + + +/* harmony default export */ function transition_filter(match) { + if (typeof match !== "function") match = matcher(match); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) { + if ((node = group[i]) && match.call(node, node.__data__, i, group)) { + subgroup.push(node); + } + } + } + return new Transition(subgroups, this._parents, this._name, this._id); +} + +;// ./node_modules/d3-transition/src/transition/merge.js + +/* harmony default export */ function transition_merge(transition) { + if (transition._id !== this._id) throw new Error(); + for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { + for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group0[i] || group1[i]) { + merge[i] = node; + } + } + } + for (; j < m0; ++j) { + merges[j] = groups0[j]; + } + return new Transition(merges, this._parents, this._name, this._id); +} + +;// ./node_modules/d3-transition/src/transition/on.js + +function start(name) { + return (name + "").trim().split(/^|\s+/).every(function(t) { + var i = t.indexOf("."); + if (i >= 0) t = t.slice(0, i); + return !t || t === "start"; + }); +} +function onFunction(id, name, listener) { + var on0, on1, sit = start(name) ? init : schedule_set; + return function() { + var schedule = sit(this, id), on = schedule.on; + if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener); + schedule.on = on1; + }; +} +/* harmony default export */ function transition_on(name, listener) { + var id = this._id; + return arguments.length < 2 ? schedule_get(this.node(), id).on.on(name) : this.each(onFunction(id, name, listener)); +} + +;// ./node_modules/d3-transition/src/transition/remove.js +function removeFunction(id) { + return function() { + var parent = this.parentNode; + for (var i in this.__transition) if (+i !== id) return; + if (parent) parent.removeChild(this); + }; +} +/* harmony default export */ function transition_remove() { + return this.on("end.remove", removeFunction(this._id)); +} + +;// ./node_modules/d3-transition/src/transition/select.js + + + +/* harmony default export */ function transition_select(select) { + var name = this._name, id = this._id; + if (typeof select !== "function") select = selector(select); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) { + if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) { + if ("__data__" in node) subnode.__data__ = node.__data__; + subgroup[i] = subnode; + schedule(subgroup[i], name, id, i, subgroup, schedule_get(node, id)); + } + } + } + return new Transition(subgroups, this._parents, name, id); +} + +;// ./node_modules/d3-transition/src/transition/selectAll.js + + + +/* harmony default export */ function transition_selectAll(select) { + var name = this._name, id = this._id; + if (typeof select !== "function") select = selectorAll(select); + for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + for (var children = select.call(node, node.__data__, i, group), child, inherit = schedule_get(node, id), k = 0, l = children.length; k < l; ++k) { + if (child = children[k]) { + schedule(child, name, id, k, children, inherit); + } + } + subgroups.push(children); + parents.push(node); + } + } + } + return new Transition(subgroups, parents, name, id); +} + +;// ./node_modules/d3-transition/src/transition/selection.js + +var selection_Selection = src_selection.prototype.constructor; +/* harmony default export */ function transition_selection() { + return new selection_Selection(this._groups, this._parents); +} + +;// ./node_modules/d3-transition/src/transition/style.js + + + + + +function styleNull(name, interpolate2) { + var string00, string10, interpolate0; + return function() { + var string0 = styleValue(this, name), string1 = (this.style.removeProperty(name), styleValue(this, name)); + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, string10 = string1); + }; +} +function style_styleRemove(name) { + return function() { + this.style.removeProperty(name); + }; +} +function style_styleConstant(name, interpolate2, value1) { + var string00, string1 = value1 + "", interpolate0; + return function() { + var string0 = styleValue(this, name); + return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1); + }; +} +function style_styleFunction(name, interpolate2, value) { + var string00, string10, interpolate0; + return function() { + var string0 = styleValue(this, name), value1 = value(this), string1 = value1 + ""; + if (value1 == null) string1 = value1 = (this.style.removeProperty(name), styleValue(this, name)); + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1)); + }; +} +function styleMaybeRemove(id, name) { + var on0, on1, listener0, key = "style." + name, event = "end." + key, remove; + return function() { + var schedule = schedule_set(this, id), on = schedule.on, listener = schedule.value[key] == null ? remove || (remove = style_styleRemove(name)) : void 0; + if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener); + schedule.on = on1; + }; +} +/* harmony default export */ function transition_style(name, value, priority) { + var i = (name += "") === "transform" ? interpolateTransformCss : interpolate; + return value == null ? this.styleTween(name, styleNull(name, i)).on("end.style." + name, style_styleRemove(name)) : typeof value === "function" ? this.styleTween(name, style_styleFunction(name, i, tweenValue(this, "style." + name, value))).each(styleMaybeRemove(this._id, name)) : this.styleTween(name, style_styleConstant(name, i, value), priority).on("end.style." + name, null); +} + +;// ./node_modules/d3-transition/src/transition/styleTween.js +function styleInterpolate(name, i, priority) { + return function(t) { + this.style.setProperty(name, i.call(this, t), priority); + }; +} +function styleTween(name, value, priority) { + var t, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority); + return t; + } + tween._value = value; + return tween; +} +/* harmony default export */ function transition_styleTween(name, value, priority) { + var key = "style." + (name += ""); + if (arguments.length < 2) return (key = this.tween(key)) && key._value; + if (value == null) return this.tween(key, null); + if (typeof value !== "function") throw new Error(); + return this.tween(key, styleTween(name, value, priority == null ? "" : priority)); +} + +;// ./node_modules/d3-transition/src/transition/text.js + +function text_textConstant(value) { + return function() { + this.textContent = value; + }; +} +function text_textFunction(value) { + return function() { + var value1 = value(this); + this.textContent = value1 == null ? "" : value1; + }; +} +/* harmony default export */ function transition_text(value) { + return this.tween("text", typeof value === "function" ? text_textFunction(tweenValue(this, "text", value)) : text_textConstant(value == null ? "" : value + "")); +} + +;// ./node_modules/d3-transition/src/transition/textTween.js +function textInterpolate(i) { + return function(t) { + this.textContent = i.call(this, t); + }; +} +function textTween(value) { + var t0, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t0 = (i0 = i) && textInterpolate(i); + return t0; + } + tween._value = value; + return tween; +} +/* harmony default export */ function transition_textTween(value) { + var key = "text"; + if (arguments.length < 1) return (key = this.tween(key)) && key._value; + if (value == null) return this.tween(key, null); + if (typeof value !== "function") throw new Error(); + return this.tween(key, textTween(value)); +} + +;// ./node_modules/d3-transition/src/transition/transition.js + + +/* harmony default export */ function transition() { + var name = this._name, id0 = this._id, id1 = newId(); + for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + var inherit = schedule_get(node, id0); + schedule(node, name, id1, i, group, { + time: inherit.time + inherit.delay + inherit.duration, + delay: 0, + duration: inherit.duration, + ease: inherit.ease + }); + } + } + } + return new Transition(groups, this._parents, name, id1); +} + +;// ./node_modules/d3-transition/src/transition/end.js + +/* harmony default export */ function end() { + var on0, on1, that = this, id = that._id, size = that.size(); + return new Promise(function(resolve, reject) { + var cancel = { value: reject }, end = { value: function() { + if (--size === 0) resolve(); + } }; + that.each(function() { + var schedule = schedule_set(this, id), on = schedule.on; + if (on !== on0) { + on1 = (on0 = on).copy(); + on1._.cancel.push(cancel); + on1._.interrupt.push(cancel); + on1._.end.push(end); + } + schedule.on = on1; + }); + if (size === 0) resolve(); + }); +} + +;// ./node_modules/d3-transition/src/transition/index.js + + + + + + + + + + + + + + + + + + + + + +var id = 0; +function Transition(groups, parents, name, id2) { + this._groups = groups; + this._parents = parents; + this._name = name; + this._id = id2; +} +function transition_transition(name) { + return src_selection().transition(name); +} +function newId() { + return ++id; +} +var selection_prototype = src_selection.prototype; +Transition.prototype = transition_transition.prototype = { + constructor: Transition, + select: transition_select, + selectAll: transition_selectAll, + selectChild: selection_prototype.selectChild, + selectChildren: selection_prototype.selectChildren, + filter: transition_filter, + merge: transition_merge, + selection: transition_selection, + transition: transition, + call: selection_prototype.call, + nodes: selection_prototype.nodes, + node: selection_prototype.node, + size: selection_prototype.size, + empty: selection_prototype.empty, + each: selection_prototype.each, + on: transition_on, + attr: transition_attr, + attrTween: transition_attrTween, + style: transition_style, + styleTween: transition_styleTween, + text: transition_text, + textTween: transition_textTween, + remove: transition_remove, + tween: tween, + delay: delay, + duration: duration, + ease: ease, + easeVarying: transition_easeVarying, + end: end, + [Symbol.iterator]: selection_prototype[Symbol.iterator] +}; + +;// ./node_modules/d3-ease/src/cubic.js +function cubicIn(t) { + return t * t * t; +} +function cubicOut(t) { + return --t * t * t + 1; +} +function cubicInOut(t) { + return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2; +} + +;// ./node_modules/d3-transition/src/selection/transition.js + + + + +var defaultTiming = { + time: null, + // Set on use. + delay: 0, + duration: 250, + ease: cubicInOut +}; +function inherit(node, id) { + var timing; + while (!(timing = node.__transition) || !(timing = timing[id])) { + if (!(node = node.parentNode)) { + throw new Error(`transition ${id} not found`); + } + } + return timing; +} +/* harmony default export */ function selection_transition(name) { + var id, timing; + if (name instanceof Transition) { + id = name._id, name = name._name; + } else { + id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + ""; + } + for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + schedule(node, name, id, i, group, timing || inherit(node, id)); + } + } + } + return new Transition(groups, this._parents, name, id); +} + +;// ./node_modules/d3-transition/src/selection/index.js + + + +src_selection.prototype.interrupt = selection_interrupt; +src_selection.prototype.transition = selection_transition; + +;// ./node_modules/d3-transition/src/index.js + + + + + +;// ./node_modules/d3-brush/src/constant.js +/* harmony default export */ var d3_brush_src_constant = ((x) => () => x); + +;// ./node_modules/d3-brush/src/event.js +function BrushEvent(type, { + sourceEvent, + target, + selection, + mode, + dispatch +}) { + Object.defineProperties(this, { + type: { value: type, enumerable: true, configurable: true }, + sourceEvent: { value: sourceEvent, enumerable: true, configurable: true }, + target: { value: target, enumerable: true, configurable: true }, + selection: { value: selection, enumerable: true, configurable: true }, + mode: { value: mode, enumerable: true, configurable: true }, + _: { value: dispatch } + }); +} + +;// ./node_modules/d3-brush/src/noevent.js +function noevent_nopropagation(event) { + event.stopImmediatePropagation(); +} +/* harmony default export */ function src_noevent(event) { + event.preventDefault(); + event.stopImmediatePropagation(); +} + +;// ./node_modules/d3-brush/src/brush.js + + + + + + + + +var MODE_DRAG = { name: "drag" }, MODE_SPACE = { name: "space" }, MODE_HANDLE = { name: "handle" }, MODE_CENTER = { name: "center" }; +const { abs, max, min } = Math; +function number1(e) { + return [+e[0], +e[1]]; +} +function number2(e) { + return [number1(e[0]), number1(e[1])]; +} +var X = { + name: "x", + handles: ["w", "e"].map(type), + input: function(x, e) { + return x == null ? null : [[+x[0], e[0][1]], [+x[1], e[1][1]]]; + }, + output: function(xy) { + return xy && [xy[0][0], xy[1][0]]; + } +}; +var Y = { + name: "y", + handles: ["n", "s"].map(type), + input: function(y, e) { + return y == null ? null : [[e[0][0], +y[0]], [e[1][0], +y[1]]]; + }, + output: function(xy) { + return xy && [xy[0][1], xy[1][1]]; + } +}; +var XY = { + name: "xy", + handles: ["n", "w", "e", "s", "nw", "ne", "sw", "se"].map(type), + input: function(xy) { + return xy == null ? null : number2(xy); + }, + output: function(xy) { + return xy; + } +}; +var cursors = { + overlay: "crosshair", + selection: "move", + n: "ns-resize", + e: "ew-resize", + s: "ns-resize", + w: "ew-resize", + nw: "nwse-resize", + ne: "nesw-resize", + se: "nwse-resize", + sw: "nesw-resize" +}; +var flipX = { + e: "w", + w: "e", + nw: "ne", + ne: "nw", + se: "sw", + sw: "se" +}; +var flipY = { + n: "s", + s: "n", + nw: "sw", + ne: "se", + se: "ne", + sw: "nw" +}; +var signsX = { + overlay: 1, + selection: 1, + n: null, + e: 1, + s: null, + w: -1, + nw: -1, + ne: 1, + se: 1, + sw: -1 +}; +var signsY = { + overlay: 1, + selection: 1, + n: -1, + e: null, + s: 1, + w: null, + nw: -1, + ne: -1, + se: 1, + sw: 1 +}; +function type(t) { + return { type: t }; +} +function defaultFilter(event) { + return !event.ctrlKey && !event.button; +} +function defaultExtent() { + var svg = this.ownerSVGElement || this; + if (svg.hasAttribute("viewBox")) { + svg = svg.viewBox.baseVal; + return [[svg.x, svg.y], [svg.x + svg.width, svg.y + svg.height]]; + } + return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]]; +} +function defaultTouchable() { + return navigator.maxTouchPoints || "ontouchstart" in this; +} +function local(node) { + while (!node.__brush) if (!(node = node.parentNode)) return; + return node.__brush; +} +function brush_empty(extent) { + return extent[0][0] === extent[1][0] || extent[0][1] === extent[1][1]; +} +function brushSelection(node) { + var state = node.__brush; + return state ? state.dim.output(state.selection) : null; +} +function brushX() { + return brush_brush(X); +} +function brushY() { + return brush_brush(Y); +} +/* harmony default export */ function brush() { + return brush_brush(XY); +} +function brush_brush(dim) { + var extent = defaultExtent, filter = defaultFilter, touchable = defaultTouchable, keys = true, listeners = src_dispatch("start", "brush", "end"), handleSize = 6, touchending; + function brush2(group) { + var overlay = group.property("__brush", initialize).selectAll(".overlay").data([type("overlay")]); + overlay.enter().append("rect").attr("class", "overlay").attr("pointer-events", "all").attr("cursor", cursors.overlay).merge(overlay).each(function() { + var extent2 = local(this).extent; + src_select(this).attr("x", extent2[0][0]).attr("y", extent2[0][1]).attr("width", extent2[1][0] - extent2[0][0]).attr("height", extent2[1][1] - extent2[0][1]); + }); + group.selectAll(".selection").data([type("selection")]).enter().append("rect").attr("class", "selection").attr("cursor", cursors.selection).attr("fill", "#777").attr("fill-opacity", 0.3).attr("stroke", "#fff").attr("shape-rendering", "crispEdges"); + var handle = group.selectAll(".handle").data(dim.handles, function(d) { + return d.type; + }); + handle.exit().remove(); + handle.enter().append("rect").attr("class", function(d) { + return "handle handle--" + d.type; + }).attr("cursor", function(d) { + return cursors[d.type]; + }); + group.each(redraw).attr("fill", "none").attr("pointer-events", "all").on("mousedown.brush", started).filter(touchable).on("touchstart.brush", started).on("touchmove.brush", touchmoved).on("touchend.brush touchcancel.brush", touchended).style("touch-action", "none").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)"); + } + brush2.move = function(group, selection, event) { + if (group.tween) { + group.on("start.brush", function(event2) { + emitter(this, arguments).beforestart().start(event2); + }).on("interrupt.brush end.brush", function(event2) { + emitter(this, arguments).end(event2); + }).tween("brush", function() { + var that = this, state = that.__brush, emit = emitter(that, arguments), selection0 = state.selection, selection1 = dim.input(typeof selection === "function" ? selection.apply(this, arguments) : selection, state.extent), i = value(selection0, selection1); + function tween(t) { + state.selection = t === 1 && selection1 === null ? null : i(t); + redraw.call(that); + emit.brush(); + } + return selection0 !== null && selection1 !== null ? tween : tween(1); + }); + } else { + group.each(function() { + var that = this, args = arguments, state = that.__brush, selection1 = dim.input(typeof selection === "function" ? selection.apply(that, args) : selection, state.extent), emit = emitter(that, args).beforestart(); + interrupt(that); + state.selection = selection1 === null ? null : selection1; + redraw.call(that); + emit.start(event).brush(event).end(event); + }); + } + }; + brush2.clear = function(group, event) { + brush2.move(group, null, event); + }; + function redraw() { + var group = src_select(this), selection = local(this).selection; + if (selection) { + group.selectAll(".selection").style("display", null).attr("x", selection[0][0]).attr("y", selection[0][1]).attr("width", selection[1][0] - selection[0][0]).attr("height", selection[1][1] - selection[0][1]); + group.selectAll(".handle").style("display", null).attr("x", function(d) { + return d.type[d.type.length - 1] === "e" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; + }).attr("y", function(d) { + return d.type[0] === "s" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; + }).attr("width", function(d) { + return d.type === "n" || d.type === "s" ? selection[1][0] - selection[0][0] + handleSize : handleSize; + }).attr("height", function(d) { + return d.type === "e" || d.type === "w" ? selection[1][1] - selection[0][1] + handleSize : handleSize; + }); + } else { + group.selectAll(".selection,.handle").style("display", "none").attr("x", null).attr("y", null).attr("width", null).attr("height", null); + } + } + function emitter(that, args, clean) { + var emit = that.__brush.emitter; + return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean); + } + function Emitter(that, args, clean) { + this.that = that; + this.args = args; + this.state = that.__brush; + this.active = 0; + this.clean = clean; + } + Emitter.prototype = { + beforestart: function() { + if (++this.active === 1) this.state.emitter = this, this.starting = true; + return this; + }, + start: function(event, mode) { + if (this.starting) this.starting = false, this.emit("start", event, mode); + else this.emit("brush", event); + return this; + }, + brush: function(event, mode) { + this.emit("brush", event, mode); + return this; + }, + end: function(event, mode) { + if (--this.active === 0) delete this.state.emitter, this.emit("end", event, mode); + return this; + }, + emit: function(type2, event, mode) { + var d = src_select(this.that).datum(); + listeners.call( + type2, + this.that, + new BrushEvent(type2, { + sourceEvent: event, + target: brush2, + selection: dim.output(this.state.selection), + mode, + dispatch: listeners + }), + d + ); + } + }; + function started(event) { + if (touchending && !event.touches) return; + if (!filter.apply(this, arguments)) return; + var that = this, type2 = event.target.__data__.type, mode = (keys && event.metaKey ? type2 = "overlay" : type2) === "selection" ? MODE_DRAG : keys && event.altKey ? MODE_CENTER : MODE_HANDLE, signX = dim === Y ? null : signsX[type2], signY = dim === X ? null : signsY[type2], state = local(that), extent2 = state.extent, selection = state.selection, W = extent2[0][0], w0, w1, N = extent2[0][1], n0, n1, E = extent2[1][0], e0, e1, S = extent2[1][1], s0, s1, dx = 0, dy = 0, moving, shifting = signX && signY && keys && event.shiftKey, lockX, lockY, points = Array.from(event.touches || [event], (t) => { + const i = t.identifier; + t = src_pointer(t, that); + t.point0 = t.slice(); + t.identifier = i; + return t; + }); + interrupt(that); + var emit = emitter(that, arguments, true).beforestart(); + if (type2 === "overlay") { + if (selection) moving = true; + const pts = [points[0], points[1] || points[0]]; + state.selection = selection = [[ + w0 = dim === Y ? W : min(pts[0][0], pts[1][0]), + n0 = dim === X ? N : min(pts[0][1], pts[1][1]) + ], [ + e0 = dim === Y ? E : max(pts[0][0], pts[1][0]), + s0 = dim === X ? S : max(pts[0][1], pts[1][1]) + ]]; + if (points.length > 1) move(event); + } else { + w0 = selection[0][0]; + n0 = selection[0][1]; + e0 = selection[1][0]; + s0 = selection[1][1]; + } + w1 = w0; + n1 = n0; + e1 = e0; + s1 = s0; + var group = src_select(that).attr("pointer-events", "none"); + var overlay = group.selectAll(".overlay").attr("cursor", cursors[type2]); + if (event.touches) { + emit.moved = moved; + emit.ended = ended; + } else { + var view = src_select(event.view).on("mousemove.brush", moved, true).on("mouseup.brush", ended, true); + if (keys) view.on("keydown.brush", keydowned, true).on("keyup.brush", keyupped, true); + nodrag(event.view); + } + redraw.call(that); + emit.start(event, mode.name); + function moved(event2) { + for (const p of event2.changedTouches || [event2]) { + for (const d of points) + if (d.identifier === p.identifier) d.cur = src_pointer(p, that); + } + if (shifting && !lockX && !lockY && points.length === 1) { + const point = points[0]; + if (abs(point.cur[0] - point[0]) > abs(point.cur[1] - point[1])) + lockY = true; + else + lockX = true; + } + for (const point of points) + if (point.cur) point[0] = point.cur[0], point[1] = point.cur[1]; + moving = true; + src_noevent(event2); + move(event2); + } + function move(event2) { + const point = points[0], point0 = point.point0; + var t; + dx = point[0] - point0[0]; + dy = point[1] - point0[1]; + switch (mode) { + case MODE_SPACE: + case MODE_DRAG: { + if (signX) dx = max(W - w0, min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx; + if (signY) dy = max(N - n0, min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy; + break; + } + case MODE_HANDLE: { + if (points[1]) { + if (signX) w1 = max(W, min(E, points[0][0])), e1 = max(W, min(E, points[1][0])), signX = 1; + if (signY) n1 = max(N, min(S, points[0][1])), s1 = max(N, min(S, points[1][1])), signY = 1; + } else { + if (signX < 0) dx = max(W - w0, min(E - w0, dx)), w1 = w0 + dx, e1 = e0; + else if (signX > 0) dx = max(W - e0, min(E - e0, dx)), w1 = w0, e1 = e0 + dx; + if (signY < 0) dy = max(N - n0, min(S - n0, dy)), n1 = n0 + dy, s1 = s0; + else if (signY > 0) dy = max(N - s0, min(S - s0, dy)), n1 = n0, s1 = s0 + dy; + } + break; + } + case MODE_CENTER: { + if (signX) w1 = max(W, min(E, w0 - dx * signX)), e1 = max(W, min(E, e0 + dx * signX)); + if (signY) n1 = max(N, min(S, n0 - dy * signY)), s1 = max(N, min(S, s0 + dy * signY)); + break; + } + } + if (e1 < w1) { + signX *= -1; + t = w0, w0 = e0, e0 = t; + t = w1, w1 = e1, e1 = t; + if (type2 in flipX) overlay.attr("cursor", cursors[type2 = flipX[type2]]); + } + if (s1 < n1) { + signY *= -1; + t = n0, n0 = s0, s0 = t; + t = n1, n1 = s1, s1 = t; + if (type2 in flipY) overlay.attr("cursor", cursors[type2 = flipY[type2]]); + } + if (state.selection) selection = state.selection; + if (lockX) w1 = selection[0][0], e1 = selection[1][0]; + if (lockY) n1 = selection[0][1], s1 = selection[1][1]; + if (selection[0][0] !== w1 || selection[0][1] !== n1 || selection[1][0] !== e1 || selection[1][1] !== s1) { + state.selection = [[w1, n1], [e1, s1]]; + redraw.call(that); + emit.brush(event2, mode.name); + } + } + function ended(event2) { + noevent_nopropagation(event2); + if (event2.touches) { + if (event2.touches.length) return; + if (touchending) clearTimeout(touchending); + touchending = setTimeout(function() { + touchending = null; + }, 500); + } else { + yesdrag(event2.view, moving); + view.on("keydown.brush keyup.brush mousemove.brush mouseup.brush", null); + } + group.attr("pointer-events", "all"); + overlay.attr("cursor", cursors.overlay); + if (state.selection) selection = state.selection; + if (brush_empty(selection)) state.selection = null, redraw.call(that); + emit.end(event2, mode.name); + } + function keydowned(event2) { + switch (event2.keyCode) { + case 16: { + shifting = signX && signY; + break; + } + case 18: { + if (mode === MODE_HANDLE) { + if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX; + if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY; + mode = MODE_CENTER; + move(event2); + } + break; + } + case 32: { + if (mode === MODE_HANDLE || mode === MODE_CENTER) { + if (signX < 0) e0 = e1 - dx; + else if (signX > 0) w0 = w1 - dx; + if (signY < 0) s0 = s1 - dy; + else if (signY > 0) n0 = n1 - dy; + mode = MODE_SPACE; + overlay.attr("cursor", cursors.selection); + move(event2); + } + break; + } + default: + return; + } + src_noevent(event2); + } + function keyupped(event2) { + switch (event2.keyCode) { + case 16: { + if (shifting) { + lockX = lockY = shifting = false; + move(event2); + } + break; + } + case 18: { + if (mode === MODE_CENTER) { + if (signX < 0) e0 = e1; + else if (signX > 0) w0 = w1; + if (signY < 0) s0 = s1; + else if (signY > 0) n0 = n1; + mode = MODE_HANDLE; + move(event2); + } + break; + } + case 32: { + if (mode === MODE_SPACE) { + if (event2.altKey) { + if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX; + if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY; + mode = MODE_CENTER; + } else { + if (signX < 0) e0 = e1; + else if (signX > 0) w0 = w1; + if (signY < 0) s0 = s1; + else if (signY > 0) n0 = n1; + mode = MODE_HANDLE; + } + overlay.attr("cursor", cursors[type2]); + move(event2); + } + break; + } + default: + return; + } + src_noevent(event2); + } + } + function touchmoved(event) { + emitter(this, arguments).moved(event); + } + function touchended(event) { + emitter(this, arguments).ended(event); + } + function initialize() { + var state = this.__brush || { selection: null }; + state.extent = number2(extent.apply(this, arguments)); + state.dim = dim; + return state; + } + brush2.extent = function(_) { + return arguments.length ? (extent = typeof _ === "function" ? _ : d3_brush_src_constant(number2(_)), brush2) : extent; + }; + brush2.filter = function(_) { + return arguments.length ? (filter = typeof _ === "function" ? _ : d3_brush_src_constant(!!_), brush2) : filter; + }; + brush2.touchable = function(_) { + return arguments.length ? (touchable = typeof _ === "function" ? _ : d3_brush_src_constant(!!_), brush2) : touchable; + }; + brush2.handleSize = function(_) { + return arguments.length ? (handleSize = +_, brush2) : handleSize; + }; + brush2.keyModifiers = function(_) { + return arguments.length ? (keys = !!_, brush2) : keys; + }; + brush2.on = function() { + var value = listeners.on.apply(listeners, arguments); + return value === listeners ? brush2 : value; + }; + return brush2; +} + +;// ./node_modules/d3-brush/src/index.js + + +;// ./src/module/browser.ts +function getGlobal() { + return typeof globalThis === "object" && globalThis !== null && globalThis.Object === Object && globalThis || typeof global === "object" && global !== null && global.Object === Object && global || typeof self === "object" && self !== null && self.Object === Object && self || Function("return this")(); +} +function getFallback(w) { + const hasRAF = typeof (w == null ? void 0 : w.requestAnimationFrame) === "function" && typeof (w == null ? void 0 : w.cancelAnimationFrame) === "function"; + const hasRIC = typeof (w == null ? void 0 : w.requestIdleCallback) === "function" && typeof (w == null ? void 0 : w.cancelIdleCallback) === "function"; + const request = (cb) => setTimeout(cb, 1); + const cancel = (id) => clearTimeout(id); + return [ + hasRAF ? w.requestAnimationFrame : request, + hasRAF ? w.cancelAnimationFrame : cancel, + hasRIC ? w.requestIdleCallback : request, + hasRIC ? w.cancelIdleCallback : cancel + ]; +} +const win = getGlobal(); +const browser_doc = win == null ? void 0 : win.document; +const [ + requestAnimationFrame, + cancelAnimationFrame, + requestIdleCallback, + cancelIdleCallback +] = getFallback(win); + + +;// ./src/module/util.ts +var util_defProp = Object.defineProperty; +var util_getOwnPropSymbols = Object.getOwnPropertySymbols; +var util_hasOwnProp = Object.prototype.hasOwnProperty; +var util_propIsEnum = Object.prototype.propertyIsEnumerable; +var util_defNormalProp = (obj, key, value) => key in obj ? util_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var util_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (util_hasOwnProp.call(b, prop)) + util_defNormalProp(a, prop, b[prop]); + if (util_getOwnPropSymbols) + for (var prop of util_getOwnPropSymbols(b)) { + if (util_propIsEnum.call(b, prop)) + util_defNormalProp(a, prop, b[prop]); + } + return a; +}; + + + + +const isValue = (v) => v || v === 0; +const isFunction = (v) => typeof v === "function"; +const isString = (v) => typeof v === "string"; +const isNumber = (v) => typeof v === "number"; +const isUndefined = (v) => typeof v === "undefined"; +const isDefined = (v) => typeof v !== "undefined"; +const isBoolean = (v) => typeof v === "boolean"; +const ceil10 = (v) => Math.ceil(v / 10) * 10; +const asHalfPixel = (n) => Math.ceil(n) + 0.5; +const diffDomain = (d) => d[1] - d[0]; +const isObjectType = (v) => typeof v === "object"; +const isEmpty = (o) => isUndefined(o) || o === null || isString(o) && o.length === 0 || isObjectType(o) && !(o instanceof Date) && Object.keys(o).length === 0 || isNumber(o) && isNaN(o); +const notEmpty = (o) => !isEmpty(o); +const isArray = (arr) => Array.isArray(arr); +const isObject = (obj) => obj && !(obj == null ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); +function getOption(options, key, defaultValue) { + return isDefined(options[key]) ? options[key] : defaultValue; +} +function hasValue(dict, value) { + let found = false; + Object.keys(dict).forEach((key) => dict[key] === value && (found = true)); + return found; +} +function callFn(fn, thisArg, ...args) { + const isFn = isFunction(fn); + isFn && fn.call(thisArg, ...args); + return isFn; +} +function endall(transition, cb) { + let n = 0; + const end = function(...args) { + !--n && cb.apply(this, ...args); + }; + if ("duration" in transition) { + transition.each(() => ++n).on("end", end); + } else { + ++n; + transition.call(end); + } +} +function sanitize(str) { + return isString(str) ? str.replace(/<(script|img)?/ig, "<").replace(/(script)?>/ig, ">") : str; +} +function setTextValue(node, text, dy = [-1, 1], toMiddle = false) { + if (!node || !isString(text)) { + return; + } + if (text.indexOf("\n") === -1) { + node.text(text); + } else { + const diff = [node.text(), text].map((v) => v.replace(/[\s\n]/g, "")); + if (diff[0] !== diff[1]) { + const multiline = text.split("\n"); + const len = toMiddle ? multiline.length - 1 : 1; + node.html(""); + multiline.forEach((v, i) => { + node.append("tspan").attr("x", 0).attr("dy", `${i === 0 ? dy[0] * len : dy[1]}em`).text(v); + }); + } + } +} +function getRectSegList(path) { + const { x, y, width, height } = path.getBBox(); + return [ + { x, y: y + height }, + // seg0 + { x, y }, + // seg1 + { x: x + width, y }, + // seg2 + { x: x + width, y: y + height } + // seg3 + ]; +} +function getPathBox(path) { + const { width, height } = path.getBoundingClientRect(); + const items = getRectSegList(path); + const x = items[0].x; + const y = Math.min(items[0].y, items[1].y); + return { + x, + y, + width, + height + }; +} +function getPointer(event, element) { + var _a; + const touches = event && ((_a = event.touches || event.sourceEvent && event.sourceEvent.touches) == null ? void 0 : _a[0]); + let pointer = [0, 0]; + try { + pointer = src_pointer(touches || event, element); + } catch (e) { + } + return pointer.map((v) => isNaN(v) ? 0 : v); +} +function getBrushSelection(ctx) { + const { event, $el } = ctx; + const main = $el.subchart.main || $el.main; + let selection; + if (event && event.type === "brush") { + selection = event.selection; + } else if (main && (selection = main.select(".bb-brush").node())) { + selection = brushSelection(selection); + } + return selection; +} +function getBoundingRect(node) { + const needEvaluate = !("rect" in node) || "rect" in node && node.hasAttribute("width") && node.rect.width !== +node.getAttribute("width"); + return needEvaluate ? node.rect = node.getBoundingClientRect() : node.rect; +} +function getRandom(asStr = true, min = 0, max = 1e4) { + const crpt = win.crypto || win.msCrypto; + const rand = crpt ? min + crpt.getRandomValues(new Uint32Array(1))[0] % (max - min + 1) : Math.floor(Math.random() * (max - min) + min); + return asStr ? String(rand) : rand; +} +function findIndex(arr, v, start, end, isRotated) { + if (start > end) { + return -1; + } + const mid = Math.floor((start + end) / 2); + let { x, w = 0 } = arr[mid]; + if (isRotated) { + x = arr[mid].y; + w = arr[mid].h; + } + if (v >= x && v <= x + w) { + return mid; + } + return v < x ? findIndex(arr, v, start, mid - 1, isRotated) : findIndex(arr, v, mid + 1, end, isRotated); +} +function brushEmpty(ctx) { + const selection = getBrushSelection(ctx); + if (selection) { + return selection[0] === selection[1]; + } + return true; +} +function deepClone(...objectN) { + const clone = (v) => { + if (isObject(v) && v.constructor) { + const r = new v.constructor(); + for (const k in v) { + r[k] = clone(v[k]); + } + return r; + } + return v; + }; + return objectN.map((v) => clone(v)).reduce((a, c) => util_spreadValues(util_spreadValues({}, a), c)); +} +function util_extend(target = {}, source) { + if (isArray(source)) { + source.forEach((v) => util_extend(target, v)); + } + for (const p in source) { + if (/^\d+$/.test(p) || p in target) { + continue; + } + target[p] = source[p]; + } + return target; +} +const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1); +function camelize(str, separator = "-") { + return str.split(separator).map((v, i) => i ? v.charAt(0).toUpperCase() + v.slice(1).toLowerCase() : v.toLowerCase()).join(""); +} +const toArray = (v) => [].slice.call(v); +function addCssRules(style, selector, prop) { + const { rootSelector = "", sheet } = style; + const getSelector = (s) => s.replace(/\s?(bb-)/g, ".$1").replace(/\.+/g, "."); + const rule = `${rootSelector} ${getSelector(selector)} {${prop.join(";")}}`; + return sheet[sheet.insertRule ? "insertRule" : "addRule"]( + rule, + sheet.cssRules.length + ); +} +function getCssRules(styleSheets) { + let rules = []; + styleSheets.forEach((sheet) => { + var _a; + try { + if (sheet.cssRules && sheet.cssRules.length) { + rules = rules.concat(toArray(sheet.cssRules)); + } + } catch (e) { + (_a = win.console) == null ? void 0 : _a.warn(`Error while reading rules from ${sheet.href}: ${e.toString()}`); + } + }); + return rules; +} +function getScrollPosition(node) { + var _a, _b, _c, _d, _e, _f; + return { + x: ((_b = (_a = win.pageXOffset) != null ? _a : win.scrollX) != null ? _b : 0) + ((_c = node.scrollLeft) != null ? _c : 0), + y: ((_e = (_d = win.pageYOffset) != null ? _d : win.scrollY) != null ? _e : 0) + ((_f = node.scrollTop) != null ? _f : 0) + }; +} +function getTransformCTM(node, x = 0, y = 0, inverse = true) { + const point = new DOMPoint(x, y); + const screen = node.getScreenCTM(); + const res = point.matrixTransform( + inverse ? screen == null ? void 0 : screen.inverse() : screen + ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; +} +function getTranslation(node) { + const transform = node ? node.transform : null; + const baseVal = transform && transform.baseVal; + return baseVal && baseVal.numberOfItems ? baseVal.getItem(0).matrix : { a: 0, b: 0, c: 0, d: 0, e: 0, f: 0 }; +} +function getUnique(data) { + const isDate = data[0] instanceof Date; + const d = (isDate ? data.map(Number) : data).filter((v, i, self) => self.indexOf(v) === i); + return isDate ? d.map((v) => new Date(v)) : d; +} +function mergeArray(arr) { + return arr && arr.length ? arr.reduce((p, c) => p.concat(c)) : []; +} +function mergeObj(target, ...objectN) { + if (!objectN.length || objectN.length === 1 && !objectN[0]) { + return target; + } + const source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach((key) => { + const value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj(target, ...objectN); +} +function sortValue(data, isAsc = true) { + let fn; + if (data[0] instanceof Date) { + fn = isAsc ? (a, b) => a - b : (a, b) => b - a; + } else { + if (isAsc && !data.every(isNaN)) { + fn = (a, b) => a - b; + } else if (!isAsc) { + fn = (a, b) => a > b && -1 || a < b && 1 || a === b && 0; + } + } + return data.concat().sort(fn); +} +function getMinMax(type, data) { + let res = data.filter((v) => notEmpty(v)); + if (res.length) { + if (isNumber(res[0])) { + res = Math[type](...res); + } else if (res[0] instanceof Date) { + res = sortValue(res, type === "min")[0]; + } + } else { + res = void 0; + } + return res; +} +const getRange = (start, end, step = 1) => { + const res = []; + const n = Math.max(0, Math.ceil((end - start) / step)) | 0; + for (let i = start; i < n; i++) { + res.push(start + i * step); + } + return res; +}; +const emulateEvent = { + mouse: (() => { + const getParams = () => ({ + bubbles: false, + cancelable: false, + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0 + }); + try { + new MouseEvent("t"); + return (el, eventType, params = getParams()) => { + el.dispatchEvent(new MouseEvent(eventType, params)); + }; + } catch (e) { + return (el, eventType, params = getParams()) => { + const mouseEvent = browser_doc.createEvent("MouseEvent"); + mouseEvent.initMouseEvent( + eventType, + params.bubbles, + params.cancelable, + win, + 0, + // the event's mouse click count + params.screenX, + params.screenY, + params.clientX, + params.clientY, + false, + false, + false, + false, + 0, + null + ); + el.dispatchEvent(mouseEvent); + }; + } + })(), + touch: (el, eventType, params) => { + const touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}; +function tplProcess(tpl, data) { + let res = tpl; + for (const x in data) { + res = res.replace(new RegExp(`{=${x}}`, "g"), data[x]); + } + return res; +} +function parseDate(date) { + var _a; + let parsedDate; + if (date instanceof Date) { + parsedDate = date; + } else if (isString(date)) { + const { config, format } = this; + parsedDate = (_a = format.dataTime(config.data_xFormat)(date)) != null ? _a : new Date(date); + } else if (isNumber(date) && !isNaN(date)) { + parsedDate = /* @__PURE__ */ new Date(+date); + } + if (!parsedDate || isNaN(+parsedDate)) { + console && console.error && console.error(`Failed to parse x '${date}' to Date object`); + } + return parsedDate; +} +function hasViewBox(svg) { + const attr = svg.attr("viewBox"); + return attr ? /(\d+(\.\d+)?){3}/.test(attr) : false; +} +function hasStyle(node, condition, all = false) { + const isD3Node = !!node.node; + let has = false; + for (const [key, value] of Object.entries(condition)) { + has = isD3Node ? node.style(key) === value : node.style[key] === value; + if (all === false && has) { + break; + } + } + return has; +} +function isTabVisible() { + var _a, _b; + return ((_a = browser_doc) == null ? void 0 : _a.hidden) === false || ((_b = browser_doc) == null ? void 0 : _b.visibilityState) === "visible"; +} +function convertInputType(mouse, touch) { + const { DocumentTouch, matchMedia, navigator } = win; + const hasPointerCoarse = matchMedia == null ? void 0 : matchMedia("(pointer:coarse)").matches; + let hasTouch = false; + if (touch) { + if (navigator && "maxTouchPoints" in navigator) { + hasTouch = navigator.maxTouchPoints > 0; + } else if ("ontouchmove" in win || DocumentTouch && browser_doc instanceof DocumentTouch) { + hasTouch = true; + } else { + if (hasPointerCoarse) { + hasTouch = true; + } else { + const UA = navigator.userAgent; + hasTouch = /\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(UA) || /\b(Android|Windows Phone|iPad|iPod)\b/i.test(UA); + } + } + } + const hasMouse = mouse && !hasPointerCoarse && (matchMedia == null ? void 0 : matchMedia("(pointer:fine)").matches); + return hasMouse && "mouse" || hasTouch && "touch" || "mouse"; +} +function runUntil(fn, conditionFn) { + if (conditionFn() === false) { + requestAnimationFrame(() => runUntil(fn, conditionFn)); + } else { + fn(); + } +} + +;// ./src/config/Options/Options.ts +var Options_defProp = Object.defineProperty; +var Options_getOwnPropSymbols = Object.getOwnPropertySymbols; +var Options_hasOwnProp = Object.prototype.hasOwnProperty; +var Options_propIsEnum = Object.prototype.propertyIsEnumerable; +var Options_defNormalProp = (obj, key, value) => key in obj ? Options_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var Options_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (Options_hasOwnProp.call(b, prop)) + Options_defNormalProp(a, prop, b[prop]); + if (Options_getOwnPropSymbols) + for (var prop of Options_getOwnPropSymbols(b)) { + if (Options_propIsEnum.call(b, prop)) + Options_defNormalProp(a, prop, b[prop]); + } + return a; +}; +var __publicField = (obj, key, value) => Options_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + + + + + + +const _Options = class _Options { + static setOptions(options) { + this.data = options.reduce((a, c) => Options_spreadValues(Options_spreadValues({}, a), c), this.data); + } + constructor() { + return deepClone( + main, + boost, + data_data, + color, + interaction, + legend, + title, + tooltip, + _Options.data + ); + } +}; +__publicField(_Options, "data", {}); +let Options = _Options; + + +;// ./src/config/Store/Element.ts +class Element { + constructor() { + const element = { + chart: null, + main: null, + svg: null, + axis: { + // axes + x: null, + y: null, + y2: null, + subX: null + }, + axisTooltip: { + x: null, + y: null, + y2: null + }, + defs: null, + tooltip: null, + legend: null, + title: null, + subchart: { + main: null, + // $$.context + bar: null, + // $$.contextBar + line: null, + // $$.contextLine + area: null + // $$.contextArea + }, + arcs: null, + bar: null, + // mainBar, + candlestick: null, + line: null, + // mainLine, + area: null, + // mainArea, + circle: null, + // mainCircle, + radar: null, + text: null, + // mainText, + grid: { + main: null, + // grid (also focus) + x: null, + // xgrid, + y: null + // ygrid, + }, + gridLines: { + main: null, + // gridLines + x: null, + // xgridLines, + y: null + // ygridLines + }, + region: { + main: null, + // region + list: null + // mainRegion + }, + eventRect: null, + zoomResetBtn: null + // drag zoom reset button + }; + return element; + } +} + +;// ./src/config/Store/State.ts +class State { + constructor() { + return { + // chart drawn area dimension, excluding axes + width: 0, + width2: 0, + height: 0, + height2: 0, + margin: { + top: 0, + bottom: 0, + left: 0, + right: 0 + }, + margin2: { + top: 0, + bottom: 0, + left: 0, + right: 0 + }, + margin3: { + top: 0, + bottom: 0, + left: 0, + right: 0 + }, + arcWidth: 0, + arcHeight: 0, + xAxisHeight: 0, + hasAxis: false, + hasFunnel: false, + hasRadar: false, + hasTreemap: false, + // for data CSS rule index (used when boost.useCssRule is true) + cssRule: {}, + current: { + // current domain value. Assigned when is zoom is called + domain: void 0, + // chart whole dimension + width: 0, + height: 0, + dataMax: 0, + maxTickSize: { + x: { + width: 0, + height: 0, + ticks: [], + clipPath: 0, + domain: "" + }, + y: { width: 0, height: 0, domain: "" }, + y2: { width: 0, height: 0, domain: "" } + }, + // current used chart type list + types: [], + needle: void 0 + // arc needle current value + }, + // legend + isLegendRight: false, + isLegendInset: false, + isLegendTop: false, + isLegendLeft: false, + legendStep: 0, + legendItemWidth: 0, + legendItemHeight: 0, + legendHasRendered: false, + eventReceiver: { + currentIdx: -1, + // current event interaction index + rect: {}, + // event rect's clientBoundingRect + data: [], + // event data bound of previoous eventRect + coords: [] + // coordination value of previous eventRect + }, + axis: { + x: { + padding: { left: 0, right: 0 }, + tickCount: 0 + } + }, + rotatedPadding: { + left: 30, + right: 0, + top: 5 + }, + withoutFadeIn: {}, + inputType: "", + datetimeId: "", + // clip id string + clip: { + id: "", + idXAxis: "", + idYAxis: "", + idXAxisTickTexts: "", + idGrid: "", + idSubchart: "", + // clipIdForSubchart + path: "", + pathXAxis: "", + pathYAxis: "", + pathXAxisTickTexts: "", + pathGrid: "" + }, + // state + event: null, + // event object + dragStart: null, + dragging: false, + flowing: false, + cancelClick: false, + mouseover: false, + rendered: false, + transiting: false, + redrawing: false, + // if redraw() is on process + resizing: false, + // resize event called + toggling: false, + // legend toggle + zooming: false, + hasNegativeValue: false, + hasPositiveValue: true, + orgAreaOpacity: "0.2", + orgConfig: {}, + // user original genration config + // ID strings + hiddenTargetIds: [], + hiddenLegendIds: [], + focusedTargetIds: [], + defocusedTargetIds: [], + // value for Arc + radius: 0, + innerRadius: 0, + outerRadius: void 0, + innerRadiusRatio: 0, + gaugeArcWidth: 0, + radiusExpanded: 0, + // xgrid attribute + xgridAttr: { + x1: null, + x2: null, + y1: null, + y2: null + } + }; + } +} + +;// ./src/config/Store/Store.ts + + +const Store_classes = { + element: Element, + state: State +}; +class Store { + constructor() { + Object.keys(Store_classes).forEach((v) => { + this[v] = new Store_classes[v](); + }); + } + getStore(name) { + return this[name]; + } +} + +;// ./src/module/Cache.ts +var Cache_defProp = Object.defineProperty; +var Cache_defNormalProp = (obj, key, value) => key in obj ? Cache_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var Cache_publicField = (obj, key, value) => Cache_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + +const KEY = { + bubbleBaseLength: "$baseLength", + colorPattern: "__colorPattern__", + dataMinMax: "$dataMinMax", + dataTotalSum: "$dataTotalSum", + dataTotalPerIndex: "$totalPerIndex", + legendItemTextBox: "legendItemTextBox", + radarPoints: "$radarPoints", + radarTextWidth: "$radarTextWidth", + setOverOut: "setOverOut", + callOverOutForTouch: "callOverOutForTouch", + textRect: "textRect" +}; +class Cache { + constructor() { + Cache_publicField(this, "cache", {}); + } + /** + * Add cache + * @param {string} key Cache key + * @param {*} value Value to be stored + * @param {boolean} isDataType Weather the cache is data typed '{id:'data', id_org: 'data', values: [{x:0, index:0,...}, ...]}' + * @returns {*} Added data value + * @private + */ + add(key, value, isDataType = false) { + this.cache[key] = isDataType ? this.cloneTarget(value) : value; + return this.cache[key]; + } + /** + * Remove cache + * @param {string|Array} key Cache key + * @private + */ + remove(key) { + (isString(key) ? [key] : key).forEach((v) => delete this.cache[v]); + } + /** + * Get cahce + * @param {string|Array} key Cache key + * @param {boolean} isDataType Weather the cache is data typed '{id:'data', id_org: 'data', values: [{x:0, index:0,...}, ...]}' + * @returns {*} + * @private + */ + get(key, isDataType = false) { + if (isDataType && Array.isArray(key)) { + const targets = []; + for (let i = 0, id; id = key[i]; i++) { + if (id in this.cache) { + targets.push(this.cloneTarget(this.cache[id])); + } + } + return targets; + } else { + const value = this.cache[key]; + return isValue(value) ? value : null; + } + } + /** + * Reset cached data + * @param {boolean} all true: reset all data, false: reset only '$' prefixed key data + * @private + */ + reset(all) { + const $$ = this; + for (const x in $$.cache) { + if (all || /^\$/.test(x)) { + $$.cache[x] = null; + } + } + } + /** + * Clone data target object + * @param {object} target Data object + * @returns {object} + * @private + */ + cloneTarget(target) { + return { + id: target.id, + id_org: target.id_org, + values: target.values.map((d) => ({ x: d.x, value: d.value, id: d.id })) + }; + } +} + +;// ./src/config/const.ts +const TYPE = { + AREA: "area", + AREA_LINE_RANGE: "area-line-range", + AREA_SPLINE: "area-spline", + AREA_SPLINE_RANGE: "area-spline-range", + AREA_STEP: "area-step", + AREA_STEP_RANGE: "area-step-range", + BAR: "bar", + BUBBLE: "bubble", + CANDLESTICK: "candlestick", + DONUT: "donut", + FUNNEL: "funnel", + GAUGE: "gauge", + LINE: "line", + PIE: "pie", + POLAR: "polar", + RADAR: "radar", + SCATTER: "scatter", + SPLINE: "spline", + STEP: "step", + TREEMAP: "treemap" +}; +const TYPE_METHOD_NEEDED = { + AREA: "initArea", + AREA_LINE_RANGE: "initArea", + AREA_SPLINE: "initArea", + AREA_SPLINE_RANGE: "initArea", + AREA_STEP: "initArea", + AREA_STEP_RANGE: "initArea", + BAR: "initBar", + BUBBLE: "initCircle", + CANDLESTICK: "initCandlestick", + DONUT: "initArc", + FUNNEL: "initFunnel", + GAUGE: "initArc", + LINE: "initLine", + PIE: "initArc", + POLAR: "initPolar", + RADAR: "initCircle", + SCATTER: "initCircle", + SPLINE: "initLine", + STEP: "initLine", + TREEMAP: "initTreemap" +}; +const TYPE_BY_CATEGORY = { + Area: [ + TYPE.AREA, + TYPE.AREA_SPLINE, + TYPE.AREA_SPLINE_RANGE, + TYPE.AREA_LINE_RANGE, + TYPE.AREA_STEP, + TYPE.AREA_STEP_RANGE + ], + AreaRange: [ + TYPE.AREA_SPLINE_RANGE, + TYPE.AREA_LINE_RANGE, + TYPE.AREA_STEP_RANGE + ], + Arc: [ + TYPE.PIE, + TYPE.DONUT, + TYPE.GAUGE, + TYPE.POLAR, + TYPE.RADAR + ], + Line: [ + TYPE.LINE, + TYPE.SPLINE, + TYPE.AREA, + TYPE.AREA_SPLINE, + TYPE.AREA_SPLINE_RANGE, + TYPE.AREA_LINE_RANGE, + TYPE.STEP, + TYPE.AREA_STEP, + TYPE.AREA_STEP_RANGE + ], + Step: [ + TYPE.STEP, + TYPE.AREA_STEP, + TYPE.AREA_STEP_RANGE + ], + Spline: [ + TYPE.SPLINE, + TYPE.AREA_SPLINE, + TYPE.AREA_SPLINE_RANGE + ] +}; + +;// ./src/module/error.ts + + + + +function checkModuleImport(ctx) { + const $$ = ctx; + const { config } = $$; + let type = ""; + if (isEmpty(config.data_type || config.data_types) && !$$[TYPE_METHOD_NEEDED.LINE]) { + type = "line"; + } else { + for (const x in TYPE_METHOD_NEEDED) { + const t = TYPE[x]; + if ($$.hasType(t) && !$$[TYPE_METHOD_NEEDED[x]]) { + type = t; + break; + } + } + } + type && logError( + `Please, make sure if %c${camelize(type)}`, + "module has been imported and specified correctly.", + "https://github.com/naver/billboard.js/wiki/CHANGELOG-v2#modularization-by-its-functionality" + ); +} +function logError(head, tail, info) { + var _a; + const prefix = "[billboard.js]"; + const hasConsole = (_a = win.console) == null ? void 0 : _a.error; + if (hasConsole) { + const tailMsg = tail ? ["background:red;color:white;display:block;font-size:15px", tail] : []; + console.error( + `\u274C ${prefix} ${head}`, + "background:red;color:white;display:block;font-size:15px", + ...tailMsg + ); + info && console.info("%c\u2139\uFE0F", "font-size:15px", info); + } + throw Error(`${prefix} ${head.replace(/\%c([a-z-]+)/i, "'$1' ")} ${tail != null ? tail : ""}`); +} + +;// ./src/module/generator.ts + + +const { setTimeout: generator_setTimeout, clearTimeout: generator_clearTimeout } = win; +function generateResize(option) { + const fn = []; + let timeout; + const callResizeFn = function() { + callResizeFn.clear(); + if (option === false) { + requestIdleCallback(() => { + fn.forEach((f) => f()); + }, { timeout: 200 }); + } else { + timeout = generator_setTimeout(() => { + fn.forEach((f) => f()); + }, isNumber(option) ? option : 200); + } + }; + callResizeFn.clear = () => { + if (timeout) { + generator_clearTimeout(timeout); + timeout = null; + } + }; + callResizeFn.add = (f) => fn.push(f); + callResizeFn.remove = (f) => fn.splice(fn.indexOf(f), 1); + return callResizeFn; +} +function generateWait() { + let transitionsToWait = []; + const f = function(selection, callback) { + function loop() { + var _a; + let done = 0; + for (let i = 0, t; t = transitionsToWait[i]; i++) { + if (t === true || ((_a = t.empty) == null ? void 0 : _a.call(t))) { + done++; + continue; + } + if (isTabVisible() === false) { + done = transitionsToWait.length; + break; + } + try { + t.transition(); + } catch (e) { + done++; + } + } + return done === transitionsToWait.length; + } + runUntil(() => { + callback == null ? void 0 : callback(); + }, loop); + }; + f.add = function(t) { + isArray(t) ? transitionsToWait = transitionsToWait.concat(t) : transitionsToWait.push(t); + }; + return f; +} + +;// ./src/module/worker.ts + +const blob = {}; +function getObjectURL(fn, depsFn) { + var _a; + const fnString = fn.toString(); + const key = fnString.replace(/(function|[\s\W\n])/g, "").substring(0, 15); + if (!(key in blob)) { + blob[key] = new win.Blob([ + `${(_a = depsFn == null ? void 0 : depsFn.map(String).join(";")) != null ? _a : ""} + + self.onmessage=function({data}) { + const result = (${fnString}).apply(null, data); + self.postMessage(result); + };` + ], { + type: "text/javascript" + }); + } + return win.URL.createObjectURL(blob[key]); +} +function getWorker(src) { + const worker = new win.Worker(src); + worker.onerror = function(e) { + console.error ? console.error(e) : console.log(e); + }; + return worker; +} +function runWorker(useWorker = true, fn, callback, depsFn) { + let runFn = function(...args) { + const res = fn(...args); + callback(res); + }; + if (win.Worker && useWorker) { + const src = getObjectURL(fn, depsFn); + const worker = getWorker(src); + runFn = function(...args) { + worker.postMessage(args); + worker.onmessage = function(e) { + win.URL.revokeObjectURL(src); + return callback(e.data); + }; + }; + } + return runFn; +} + +;// ./node_modules/d3-dsv/src/dsv.js +var EOL = {}, EOF = {}, QUOTE = 34, NEWLINE = 10, RETURN = 13; +function objectConverter(columns) { + return new Function("d", "return {" + columns.map(function(name, i) { + return JSON.stringify(name) + ": d[" + i + '] || ""'; + }).join(",") + "}"); +} +function customConverter(columns, f) { + var object = objectConverter(columns); + return function(row, i) { + return f(object(row), i, columns); + }; +} +function inferColumns(rows) { + var columnSet = /* @__PURE__ */ Object.create(null), columns = []; + rows.forEach(function(row) { + for (var column in row) { + if (!(column in columnSet)) { + columns.push(columnSet[column] = column); + } + } + }); + return columns; +} +function dsv_pad(value, width) { + var s = value + "", length = s.length; + return length < width ? new Array(width - length + 1).join(0) + s : s; +} +function dsv_formatYear(year) { + return year < 0 ? "-" + dsv_pad(-year, 6) : year > 9999 ? "+" + dsv_pad(year, 6) : dsv_pad(year, 4); +} +function formatDate(date) { + var hours = date.getUTCHours(), minutes = date.getUTCMinutes(), seconds = date.getUTCSeconds(), milliseconds = date.getUTCMilliseconds(); + return isNaN(date) ? "Invalid Date" : dsv_formatYear(date.getUTCFullYear(), 4) + "-" + dsv_pad(date.getUTCMonth() + 1, 2) + "-" + dsv_pad(date.getUTCDate(), 2) + (milliseconds ? "T" + dsv_pad(hours, 2) + ":" + dsv_pad(minutes, 2) + ":" + dsv_pad(seconds, 2) + "." + dsv_pad(milliseconds, 3) + "Z" : seconds ? "T" + dsv_pad(hours, 2) + ":" + dsv_pad(minutes, 2) + ":" + dsv_pad(seconds, 2) + "Z" : minutes || hours ? "T" + dsv_pad(hours, 2) + ":" + dsv_pad(minutes, 2) + "Z" : ""); +} +/* harmony default export */ function dsv(delimiter) { + var reFormat = new RegExp('["' + delimiter + "\n\r]"), DELIMITER = delimiter.charCodeAt(0); + function parse(text, f) { + var convert, columns, rows = parseRows(text, function(row, i) { + if (convert) return convert(row, i - 1); + columns = row, convert = f ? customConverter(row, f) : objectConverter(row); + }); + rows.columns = columns || []; + return rows; + } + function parseRows(text, f) { + var rows = [], N = text.length, I = 0, n = 0, t, eof = N <= 0, eol = false; + if (text.charCodeAt(N - 1) === NEWLINE) --N; + if (text.charCodeAt(N - 1) === RETURN) --N; + function token() { + if (eof) return EOF; + if (eol) return eol = false, EOL; + var i, j = I, c; + if (text.charCodeAt(j) === QUOTE) { + while (I++ < N && text.charCodeAt(I) !== QUOTE || text.charCodeAt(++I) === QUOTE) ; + if ((i = I) >= N) eof = true; + else if ((c = text.charCodeAt(I++)) === NEWLINE) eol = true; + else if (c === RETURN) { + eol = true; + if (text.charCodeAt(I) === NEWLINE) ++I; + } + return text.slice(j + 1, i - 1).replace(/""/g, '"'); + } + while (I < N) { + if ((c = text.charCodeAt(i = I++)) === NEWLINE) eol = true; + else if (c === RETURN) { + eol = true; + if (text.charCodeAt(I) === NEWLINE) ++I; + } else if (c !== DELIMITER) continue; + return text.slice(j, i); + } + return eof = true, text.slice(j, N); + } + while ((t = token()) !== EOF) { + var row = []; + while (t !== EOL && t !== EOF) row.push(t), t = token(); + if (f && (row = f(row, n++)) == null) continue; + rows.push(row); + } + return rows; + } + function preformatBody(rows, columns) { + return rows.map(function(row) { + return columns.map(function(column) { + return formatValue(row[column]); + }).join(delimiter); + }); + } + function format(rows, columns) { + if (columns == null) columns = inferColumns(rows); + return [columns.map(formatValue).join(delimiter)].concat(preformatBody(rows, columns)).join("\n"); + } + function formatBody(rows, columns) { + if (columns == null) columns = inferColumns(rows); + return preformatBody(rows, columns).join("\n"); + } + function formatRows(rows) { + return rows.map(formatRow).join("\n"); + } + function formatRow(row) { + return row.map(formatValue).join(delimiter); + } + function formatValue(value) { + return value == null ? "" : value instanceof Date ? formatDate(value) : reFormat.test(value += "") ? '"' + value.replace(/"/g, '""') + '"' : value; + } + return { + parse, + parseRows, + format, + formatBody, + formatRows, + formatRow, + formatValue + }; +} + +;// ./node_modules/d3-dsv/src/csv.js + +var csv = dsv(","); +var csvParse = csv.parse; +var csvParseRows = csv.parseRows; +var csvFormat = csv.format; +var csvFormatBody = csv.formatBody; +var csvFormatRows = csv.formatRows; +var csvFormatRow = csv.formatRow; +var csvFormatValue = csv.formatValue; + +;// ./node_modules/d3-dsv/src/tsv.js + +var tsv = dsv(" "); +var tsvParse = tsv.parse; +var tsvParseRows = tsv.parseRows; +var tsvFormat = tsv.format; +var tsvFormatBody = tsv.formatBody; +var tsvFormatRows = tsv.formatRows; +var tsvFormatRow = tsv.formatRow; +var tsvFormatValue = tsv.formatValue; + +;// ./src/ChartInternal/data/convert.helper.ts + + +function columns(columns2) { + const newRows = []; + columns2.forEach(function(col, i) { + const key = col[0]; + col.forEach(function(v, j) { + if (j > 0) { + if (typeof newRows[j - 1] === "undefined") { + newRows[j - 1] = {}; + } + if (typeof v === "undefined") { + throw new Error(`Source data is missing a component at (${i}, ${j})!`); + } + newRows[j - 1][key] = v; + } + }); + }); + return newRows; +} +function rows(rows2) { + const keys = rows2[0]; + const newRows = []; + rows2.forEach(function(row, i) { + if (i > 0) { + const newRow = {}; + row.forEach(function(v, j) { + if (typeof v === "undefined") { + throw new Error(`Source data is missing a component at (${i}, ${j})!`); + } + newRow[keys[j]] = v; + }); + newRows.push(newRow); + } + }); + return newRows; +} +function json(json2, keysParam) { + const newRows = []; + let targetKeys; + let data; + if (Array.isArray(json2)) { + const findValueInJson = function(object, path) { + if (object[path] !== void 0) { + return object[path]; + } + const convertedPath = path.replace(/\[(\w+)\]/g, ".$1"); + const pathArray = convertedPath.replace(/^\./, "").split("."); + let target = object; + pathArray.some(function(k) { + return !(target = target && k in target ? target[k] : void 0); + }); + return target; + }; + if (keysParam.x) { + targetKeys = keysParam.value.concat(keysParam.x); + } else { + targetKeys = keysParam.value; + } + newRows.push(targetKeys); + json2.forEach(function(o) { + const newRow = targetKeys.map(function(key) { + let v = findValueInJson(o, key); + if (typeof v === "undefined") { + v = null; + } + return v; + }); + newRows.push(newRow); + }); + data = rows(newRows); + } else { + Object.keys(json2).forEach(function(key) { + var _a; + const tmp = json2[key].concat(); + (_a = tmp.unshift) == null ? void 0 : _a.call(tmp, key); + newRows.push(tmp); + }); + data = columns(newRows); + } + return data; +} +function url(url2, mimeType = "csv", headers, keys, done) { + const req = new XMLHttpRequest(); + const converter = { csv: convert_helper_csv, tsv: convert_helper_tsv, json }; + req.open("GET", url2); + if (headers) { + Object.keys(headers).forEach(function(key) { + req.setRequestHeader(key, headers[key]); + }); + } + req.onreadystatechange = function() { + if (req.readyState === 4) { + if (req.status === 200) { + const response = req.responseText; + response && done.call(this, converter[mimeType]( + mimeType === "json" ? JSON.parse(response) : response, + keys + )); + } else { + throw new Error(`${url2}: Something went wrong loading!`); + } + } + }; + req.send(); +} +function convertCsvTsvToData(parser, xsv) { + const rows2 = parser.rows(xsv); + let d; + if (rows2.length === 1) { + d = [{}]; + rows2[0].forEach((id) => { + d[0][id] = null; + }); + } else { + d = parser.parse(xsv); + } + return d; +} +function convert_helper_csv(xsv) { + return convertCsvTsvToData({ + rows: csvParseRows, + parse: csvParse + }, xsv); +} +function convert_helper_tsv(tsv2) { + return convertCsvTsvToData({ + rows: tsvParseRows, + parse: tsvParse + }, tsv2); +} + +;// ./src/ChartInternal/data/convert.ts + + + +function getDataKeyForJson(keysParam, config) { + const keys = keysParam || (config == null ? void 0 : config.data_keys); + if (keys == null ? void 0 : keys.x) { + config.data_x = keys.x; + } + return keys; +} +/* harmony default export */ var convert = ({ + /** + * Convert data according its type + * @param {object} args data object + * @param {Function} [callback] callback for url(XHR) type loading + * @private + */ + convertData(args, callback) { + const { config } = this; + const useWorker = config.boost_useWorker; + let data = args; + if (args.bindto) { + data = {}; + ["url", "mimeType", "headers", "keys", "json", "keys", "rows", "columns"].forEach((v) => { + const key = `data_${v}`; + if (key in args) { + data[v] = args[key]; + } + }); + } + if (data.url && callback) { + url( + data.url, + data.mimeType, + data.headers, + getDataKeyForJson(data.keys, config), + callback + ); + } else if (data.json) { + runWorker(useWorker, json, callback, [columns, rows])( + data.json, + getDataKeyForJson(data.keys, config) + ); + } else if (data.rows) { + runWorker(useWorker, rows, callback)(data.rows); + } else if (data.columns) { + runWorker(useWorker, columns, callback)(data.columns); + } else if (args.bindto) { + throw Error("url or json or rows or columns is required."); + } + }, + convertDataToTargets(data, appendXs) { + const $$ = this; + const { axis, config, state } = $$; + const chartType = config.data_type; + let isCategorized = false; + let isTimeSeries = false; + let isCustomX = false; + if (axis) { + isCategorized = axis.isCategorized(); + isTimeSeries = axis.isTimeSeries(); + isCustomX = axis.isCustomX(); + } + const dataKeys = Object.keys(data[0] || {}); + const ids = dataKeys.length ? dataKeys.filter($$.isNotX, $$) : []; + const xs = dataKeys.length ? dataKeys.filter($$.isX, $$) : []; + let xsData; + ids.forEach((id) => { + const xKey = this.getXKey(id); + if (isCustomX || isTimeSeries) { + if (xs.indexOf(xKey) >= 0) { + xsData = (appendXs && $$.data.xs[id] || []).concat( + data.map((d) => d[xKey]).filter(isValue).map((rawX, i) => $$.generateTargetX(rawX, id, i)) + ); + } else if (config.data_x) { + xsData = this.getOtherTargetXs(); + } else if (notEmpty(config.data_xs)) { + xsData = $$.getXValuesOfXKey(xKey, $$.data.targets); + } + } else { + xsData = data.map((d, i) => i); + } + xsData && (this.data.xs[id] = xsData); + }); + ids.forEach((id) => { + if (!this.data.xs[id]) { + throw new Error(`x is not defined for id = "${id}".`); + } + }); + const targets = ids.map((id, index) => { + const convertedId = config.data_idConverter.bind($$.api)(id); + const xKey = $$.getXKey(id); + const isCategory = isCustomX && isCategorized; + const hasCategory = isCategory && data.map((v) => v.x).every((v) => config.axis_x_categories.indexOf(v) > -1); + const isDataAppend = data.__append__; + const xIndex = xKey === null && isDataAppend ? $$.api.data.values(id).length : 0; + return { + id: convertedId, + id_org: id, + values: data.map((d, i) => { + const rawX = d[xKey]; + let value = d[id]; + let x; + value = value !== null && !isNaN(value) && !isObject(value) ? +value : isArray(value) || isObject(value) ? value : null; + if ((isCategory || state.hasRadar) && index === 0 && !isUndefined(rawX)) { + if (!hasCategory && index === 0 && i === 0 && !isDataAppend) { + config.axis_x_categories = []; + } + x = config.axis_x_categories.indexOf(rawX); + if (x === -1) { + x = config.axis_x_categories.length; + config.axis_x_categories.push(rawX); + } + } else { + x = $$.generateTargetX(rawX, id, xIndex + i); + } + if (isUndefined(value) || $$.data.xs[id].length <= i) { + x = void 0; + } + return { + x, + value, + id: convertedId, + index: -1 + }; + }).filter((v) => isDefined(v.x)) + }; + }); + targets.forEach((t) => { + var _a; + if (config.data_xSort) { + t.values = t.values.sort((v1, v2) => { + const x1 = v1.x || v1.x === 0 ? v1.x : Infinity; + const x2 = v2.x || v2.x === 0 ? v2.x : Infinity; + return x1 - x2; + }); + } + t.values.forEach((v, i) => v.index = i); + (_a = $$.data.xs[t.id]) == null ? void 0 : _a.sort((v1, v2) => v1 - v2); + }); + state.hasNegativeValue = $$.hasNegativeValueInTargets(targets); + state.hasPositiveValue = $$.hasPositiveValueInTargets(targets); + if (chartType && $$.isValidChartType(chartType)) { + const targetIds = $$.mapToIds(targets).filter( + (id) => !(id in config.data_types) || !$$.isValidChartType(config.data_types[id]) + ); + $$.setTargetType(targetIds, chartType); + } + targets.forEach((d) => $$.cache.add(d.id_org, d, true)); + return targets; + } +}); + +;// ./src/ChartInternal/data/data.ts + + + + +/* harmony default export */ var ChartInternal_data_data = ({ + isX(key) { + const $$ = this; + const { config } = $$; + const dataKey = config.data_x && key === config.data_x; + const existValue = notEmpty(config.data_xs) && hasValue(config.data_xs, key); + return dataKey || existValue; + }, + isNotX(key) { + return !this.isX(key); + }, + isStackNormalized() { + const { config } = this; + return !!(config.data_stack_normalize && config.data_groups.length); + }, + /** + * Check if given id is grouped data or has grouped data + * @param {string} id Data id value + * @returns {boolean} is grouped data or has grouped data + * @private + */ + isGrouped(id) { + const groups = this.config.data_groups; + return id ? groups.some((v) => v.indexOf(id) >= 0 && v.length > 1) : groups.length > 0; + }, + getXKey(id) { + const $$ = this; + const { config } = $$; + return config.data_x ? config.data_x : notEmpty(config.data_xs) ? config.data_xs[id] : null; + }, + getXValuesOfXKey(key, targets) { + const $$ = this; + const ids = targets && notEmpty(targets) ? $$.mapToIds(targets) : []; + let xValues; + ids.forEach((id) => { + if ($$.getXKey(id) === key) { + xValues = $$.data.xs[id]; + } + }); + return xValues; + }, + /** + * Get index number based on given x Axis value + * @param {Date|number|string} x x Axis to be compared + * @param {Array} basedX x Axis list to be based on + * @returns {number} index number + * @private + */ + getIndexByX(x, basedX) { + const $$ = this; + return basedX ? basedX.indexOf(isString(x) ? x : +x) : ($$.filterByX($$.data.targets, x)[0] || { index: null }).index; + }, + getXValue(id, i) { + const $$ = this; + return id in $$.data.xs && $$.data.xs[id] && isValue($$.data.xs[id][i]) ? $$.data.xs[id][i] : i; + }, + getOtherTargetXs() { + const $$ = this; + const idsForX = Object.keys($$.data.xs); + return idsForX.length ? $$.data.xs[idsForX[0]] : null; + }, + getOtherTargetX(index) { + const xs = this.getOtherTargetXs(); + return xs && index < xs.length ? xs[index] : null; + }, + addXs(xs) { + const $$ = this; + const { config } = $$; + Object.keys(xs).forEach((id) => { + config.data_xs[id] = xs[id]; + }); + }, + /** + * Determine if x axis is multiple + * @returns {boolean} true: multiple, false: single + * @private + */ + isMultipleX() { + return !this.config.axis_x_forceAsSingle && (notEmpty(this.config.data_xs) || this.hasType("bubble") || this.hasType("scatter")); + }, + addName(data) { + const $$ = this; + const { config } = $$; + let name; + if (data) { + name = config.data_names[data.id]; + data.name = name !== void 0 ? name : data.id; + } + return data; + }, + /** + * Get all values on given index + * @param {number} index Index + * @param {boolean} filterNull Filter nullish value + * @returns {Array} + * @private + */ + getAllValuesOnIndex(index, filterNull = false) { + const $$ = this; + let value = $$.filterTargetsToShow($$.data.targets).map((t) => $$.addName($$.getValueOnIndex(t.values, index))); + if (filterNull) { + value = value.filter((v) => v && "value" in v && isValue(v.value)); + } + return value; + }, + getValueOnIndex(values, index) { + const valueOnIndex = values.filter((v) => v.index === index); + return valueOnIndex.length ? valueOnIndex[0] : null; + }, + updateTargetX(targets, x) { + const $$ = this; + targets.forEach((t) => { + t.values.forEach((v, i) => { + v.x = $$.generateTargetX(x[i], t.id, i); + }); + $$.data.xs[t.id] = x; + }); + }, + updateTargetXs(targets, xs) { + const $$ = this; + targets.forEach((t) => { + xs[t.id] && $$.updateTargetX([t], xs[t.id]); + }); + }, + generateTargetX(rawX, id, index) { + const $$ = this; + const { axis } = $$; + let x = (axis == null ? void 0 : axis.isCategorized()) ? index : rawX || index; + if (axis == null ? void 0 : axis.isTimeSeries()) { + const fn = parseDate.bind($$); + x = rawX ? fn(rawX) : fn($$.getXValue(id, index)); + } else if ((axis == null ? void 0 : axis.isCustomX()) && !(axis == null ? void 0 : axis.isCategorized())) { + x = isValue(rawX) ? +rawX : $$.getXValue(id, index); + } + return x; + }, + updateXs(values) { + if (values.length) { + this.axis.xs = values.map((v) => v.x); + } + }, + getPrevX(i) { + const x = this.axis.xs[i - 1]; + return isDefined(x) ? x : null; + }, + getNextX(i) { + const x = this.axis.xs[i + 1]; + return isDefined(x) ? x : null; + }, + /** + * Get base value isAreaRangeType + * @param {object} data Data object + * @returns {number} + * @private + */ + getBaseValue(data) { + const $$ = this; + const { hasAxis } = $$.state; + let { value } = data; + if (value && hasAxis) { + if ($$.isAreaRangeType(data)) { + value = $$.getRangedData(data, "mid"); + } else if ($$.isBubbleZType(data)) { + value = $$.getBubbleZData(value, "y"); + } + } + return value; + }, + /** + * Get min/max value from the data + * @private + * @param {Array} data array data to be evaluated + * @returns {{min: {number}, max: {number}}} + */ + getMinMaxValue(data) { + const getBaseValue = this.getBaseValue.bind(this); + let min; + let max; + (data || this.data.targets.map((t) => t.values)).forEach((v, i) => { + const value = v.map(getBaseValue).filter(isNumber); + min = Math.min(i ? min : Infinity, ...value); + max = Math.max(i ? max : -Infinity, ...value); + }); + return { min, max }; + }, + /** + * Get the min/max data + * @private + * @returns {{min: Array, max: Array}} + */ + getMinMaxData() { + const $$ = this; + const cacheKey = KEY.dataMinMax; + let minMaxData = $$.cache.get(cacheKey); + if (!minMaxData) { + const data = $$.data.targets.map((t) => t.values); + const minMax = $$.getMinMaxValue(data); + let min = []; + let max = []; + data.forEach((v) => { + const minData = $$.getFilteredDataByValue(v, minMax.min); + const maxData = $$.getFilteredDataByValue(v, minMax.max); + if (minData.length) { + min = min.concat(minData); + } + if (maxData.length) { + max = max.concat(maxData); + } + }); + $$.cache.add(cacheKey, minMaxData = { min, max }); + } + return minMaxData; + }, + /** + * Get sum of data per index + * @private + * @returns {Array} + */ + getTotalPerIndex() { + const $$ = this; + const cacheKey = KEY.dataTotalPerIndex; + let sum = $$.cache.get(cacheKey); + if (($$.config.data_groups.length || $$.isStackNormalized()) && !sum) { + sum = []; + $$.data.targets.forEach((row) => { + row.values.forEach((v, i) => { + if (!sum[i]) { + sum[i] = 0; + } + sum[i] += isNumber(v.value) ? v.value : 0; + }); + }); + } + return sum; + }, + /** + * Get total data sum + * @param {boolean} subtractHidden Subtract hidden data from total + * @returns {number} + * @private + */ + getTotalDataSum(subtractHidden) { + const $$ = this; + const cacheKey = KEY.dataTotalSum; + let total = $$.cache.get(cacheKey); + if (!isNumber(total)) { + const sum = mergeArray($$.data.targets.map((t) => t.values)).map((v) => v.value); + total = sum.length ? sum.reduce((p, c) => p + c) : 0; + $$.cache.add(cacheKey, total); + } + if (subtractHidden) { + total -= $$.getHiddenTotalDataSum(); + } + return total; + }, + /** + * Get total hidden data sum + * @returns {number} + * @private + */ + getHiddenTotalDataSum() { + const $$ = this; + const { api, state: { hiddenTargetIds } } = $$; + let total = 0; + if (hiddenTargetIds.length) { + total = api.data.values.bind(api)(hiddenTargetIds).reduce((p, c) => p + c); + } + return total; + }, + /** + * Get filtered data by value + * @param {object} data Data + * @param {number} value Value to be filtered + * @returns {Array} filtered array data + * @private + */ + getFilteredDataByValue(data, value) { + return data.filter((t) => this.getBaseValue(t) === value); + }, + /** + * Return the max length of the data + * @returns {number} max data length + * @private + */ + getMaxDataCount() { + return Math.max(...this.data.targets.map((t) => t.values.length), 0); + }, + getMaxDataCountTarget() { + let target = this.filterTargetsToShow() || []; + const length = target.length; + const isInverted = this.config.axis_x_inverted; + if (length > 1) { + target = target.map((t) => t.values).reduce((a, b) => a.concat(b)).map((v) => v.x); + target = sortValue(getUnique(target)).map((x, index, array) => ({ + x, + index: isInverted ? array.length - index - 1 : index + })); + } else if (length) { + target = target[0].values.concat(); + } + return target; + }, + mapToIds(targets) { + return targets.map((d) => d.id); + }, + mapToTargetIds(ids) { + const $$ = this; + return ids ? isArray(ids) ? ids.concat() : [ids] : $$.mapToIds($$.data.targets); + }, + hasTarget(targets, id) { + const ids = this.mapToIds(targets); + for (let i = 0, val; val = ids[i]; i++) { + if (val === id) { + return true; + } + } + return false; + }, + isTargetToShow(targetId) { + return this.state.hiddenTargetIds.indexOf(targetId) < 0; + }, + isLegendToShow(targetId) { + return this.state.hiddenLegendIds.indexOf(targetId) < 0; + }, + filterTargetsToShow(targets) { + const $$ = this; + return (targets || $$.data.targets).filter((t) => $$.isTargetToShow(t.id)); + }, + mapTargetsToUniqueXs(targets) { + const $$ = this; + const { axis } = $$; + let xs = []; + if (targets == null ? void 0 : targets.length) { + xs = getUnique( + mergeArray(targets.map((t) => t.values.map((v) => +v.x))) + ); + xs = (axis == null ? void 0 : axis.isTimeSeries()) ? xs.map((x) => /* @__PURE__ */ new Date(+x)) : xs.map(Number); + } + return sortValue(xs); + }, + /** + * Add to the state target Ids + * @param {string} type State's prop name + * @param {Array|string} targetIds Target ids array + * @private + */ + addTargetIds(type, targetIds) { + const { state } = this; + const ids = isArray(targetIds) ? targetIds : [targetIds]; + ids.forEach((v) => { + state[type].indexOf(v) < 0 && state[type].push(v); + }); + }, + /** + * Remove from the state target Ids + * @param {string} type State's prop name + * @param {Array|string} targetIds Target ids array + * @private + */ + removeTargetIds(type, targetIds) { + const { state } = this; + const ids = isArray(targetIds) ? targetIds : [targetIds]; + ids.forEach((v) => { + const index = state[type].indexOf(v); + index >= 0 && state[type].splice(index, 1); + }); + }, + addHiddenTargetIds(targetIds) { + this.addTargetIds("hiddenTargetIds", targetIds); + }, + removeHiddenTargetIds(targetIds) { + this.removeTargetIds("hiddenTargetIds", targetIds); + }, + addHiddenLegendIds(targetIds) { + this.addTargetIds("hiddenLegendIds", targetIds); + }, + removeHiddenLegendIds(targetIds) { + this.removeTargetIds("hiddenLegendIds", targetIds); + }, + getValuesAsIdKeyed(targets) { + const $$ = this; + const { hasAxis } = $$.state; + const ys = {}; + const isMultipleX = $$.isMultipleX(); + const xs = isMultipleX ? $$.mapTargetsToUniqueXs(targets).map((v) => isString(v) ? v : +v) : null; + targets.forEach((t) => { + const data = []; + t.values.filter(({ value }) => isValue(value) || value === null).forEach((v) => { + let { value } = v; + if (value !== null && $$.isCandlestickType(v)) { + value = isArray(value) ? value.slice(0, 4) : [value.open, value.high, value.low, value.close]; + } + if (isArray(value)) { + data.push(...value); + } else if (isObject(value) && "high" in value) { + data.push(...Object.values(value)); + } else if ($$.isBubbleZType(v)) { + data.push(hasAxis && $$.getBubbleZData(value, "y")); + } else { + if (isMultipleX) { + data[$$.getIndexByX(v.x, xs)] = value; + } else { + data.push(value); + } + } + }); + ys[t.id] = data; + }); + return ys; + }, + checkValueInTargets(targets, checker) { + const ids = Object.keys(targets); + let values; + for (let i = 0; i < ids.length; i++) { + values = targets[ids[i]].values; + for (let j = 0; j < values.length; j++) { + if (checker(values[j].value)) { + return true; + } + } + } + return false; + }, + hasMultiTargets() { + return this.filterTargetsToShow().length > 1; + }, + hasNegativeValueInTargets(targets) { + return this.checkValueInTargets(targets, (v) => v < 0); + }, + hasPositiveValueInTargets(targets) { + return this.checkValueInTargets(targets, (v) => v > 0); + }, + /** + * Sort targets data + * Note: For stacked bar, will sort from the total sum of data series, not for each stacked bar + * @param {Array} targetsValue Target value + * @returns {Array} + * @private + */ + orderTargets(targetsValue) { + const $$ = this; + const targets = [...targetsValue]; + const fn = $$.getSortCompareFn(); + fn && targets.sort(fn); + return targets; + }, + /** + * Get data.order compare function + * @param {boolean} isReversed for Arc & Treemap type sort order needs to be reversed + * @returns {Function} compare function + * @private + */ + getSortCompareFn(isReversed = false) { + const $$ = this; + const { config } = $$; + const order = config.data_order; + const orderAsc = /asc/i.test(order); + const orderDesc = /desc/i.test(order); + let fn; + if (orderAsc || orderDesc) { + const reducer = (p, c) => p + Math.abs(c.value); + const sum = (v) => isNumber(v) ? v : "values" in v ? v.values.reduce(reducer, 0) : v.value; + fn = (t1, t2) => { + const t1Sum = sum(t1); + const t2Sum = sum(t2); + return isReversed ? orderAsc ? t1Sum - t2Sum : t2Sum - t1Sum : orderAsc ? t2Sum - t1Sum : t1Sum - t2Sum; + }; + } else if (isFunction(order)) { + fn = order.bind($$.api); + } + return fn || null; + }, + filterByX(targets, x) { + return mergeArray(targets.map((t) => t.values)).filter((v) => v.x - x === 0); + }, + filterRemoveNull(data) { + return data.filter((d) => isValue(this.getBaseValue(d))); + }, + filterByXDomain(targets, xDomain) { + return targets.map((t) => ({ + id: t.id, + id_org: t.id_org, + values: t.values.filter((v) => xDomain[0] <= v.x && v.x <= xDomain[1]) + })); + }, + hasDataLabel() { + const dataLabels = this.config.data_labels; + return isBoolean(dataLabels) && dataLabels || isObjectType(dataLabels) && notEmpty(dataLabels); + }, + /** + * Determine if has null value + * @param {Array} targets Data array to be evaluated + * @returns {boolean} + * @private + */ + hasNullDataValue(targets) { + return targets.some(({ value }) => value === null); + }, + /** + * Get data index from the event coodinates + * @param {Event} event Event object + * @returns {number} + * @private + */ + getDataIndexFromEvent(event) { + const $$ = this; + const { + $el, + config, + state: { hasRadar, inputType, eventReceiver: { coords, rect } } + } = $$; + let index; + if (hasRadar) { + let target = event.target; + if (/tspan/i.test(target.tagName)) { + target = target.parentNode; + } + const d = src_select(target).datum(); + index = d && Object.keys(d).length === 1 ? d.index : void 0; + } else { + const isRotated = config.axis_rotated; + const scrollPos = getScrollPosition($el.chart.node()); + const e = inputType === "touch" && event.changedTouches ? event.changedTouches[0] : event; + let point = isRotated ? e.clientY + scrollPos.y : e.clientX + scrollPos.x; + if (hasViewBox($el.svg)) { + const pos = [point, 0]; + isRotated && pos.reverse(); + point = getTransformCTM($el.svg.node(), ...pos)[isRotated ? "y" : "x"]; + } else { + point -= isRotated ? rect.top : rect.left; + } + index = findIndex( + coords, + point, + 0, + coords.length - 1, + isRotated + ); + } + return index; + }, + getDataLabelLength(min, max, key) { + const $$ = this; + const lengths = [0, 0]; + const paddingCoef = 1.3; + $$.$el.chart.select("svg").selectAll(".dummy").data([min, max]).enter().append("text").text((d) => $$.dataLabelFormat(d.id)(d)).each(function(d, i) { + lengths[i] = this.getBoundingClientRect()[key] * paddingCoef; + }).remove(); + return lengths; + }, + isNoneArc(d) { + return this.hasTarget(this.data.targets, d.id); + }, + isArc(d) { + return "data" in d && this.hasTarget(this.data.targets, d.data.id); + }, + findSameXOfValues(values, index) { + const targetX = values[index].x; + const sames = []; + let i; + for (i = index - 1; i >= 0; i--) { + if (targetX !== values[i].x) { + break; + } + sames.push(values[i]); + } + for (i = index; i < values.length; i++) { + if (targetX !== values[i].x) { + break; + } + sames.push(values[i]); + } + return sames; + }, + findClosestFromTargets(targets, pos) { + const $$ = this; + const candidates = targets.map((target) => $$.findClosest(target.values, pos)); + return $$.findClosest(candidates, pos); + }, + findClosest(values, pos) { + const $$ = this; + const { $el: { main } } = $$; + const data = values.filter((v) => v && isValue(v.value)); + let minDist; + let closest; + data.filter((v) => $$.isBarType(v.id) || $$.isCandlestickType(v.id)).forEach((v) => { + const selector = $$.isBarType(v.id) ? `.${$BAR.chartBar}.${$COMMON.target}${$$.getTargetSelectorSuffix(v.id)} .${$BAR.bar}-${v.index}` : `.${$CANDLESTICK.chartCandlestick}.${$COMMON.target}${$$.getTargetSelectorSuffix(v.id)} .${$CANDLESTICK.candlestick}-${v.index} path`; + if (!closest && $$.isWithinBar(main.select(selector).node())) { + closest = v; + } + }); + data.filter((v) => !$$.isBarType(v.id) && !$$.isCandlestickType(v.id)).forEach((v) => { + const d = $$.dist(v, pos); + minDist = $$.getPointSensitivity(v); + if (d < minDist) { + minDist = d; + closest = v; + } + }); + return closest; + }, + dist(data, pos) { + const $$ = this; + const { config: { axis_rotated: isRotated }, scale } = $$; + const xIndex = +isRotated; + const yIndex = +!isRotated; + const y = $$.circleY(data, data.index); + const x = (scale.zoom || scale.x)(data.x); + return Math.sqrt(Math.pow(x - pos[xIndex], 2) + Math.pow(y - pos[yIndex], 2)); + }, + /** + * Convert data for step type + * @param {Array} values Object data values + * @returns {Array} + * @private + */ + convertValuesToStep(values) { + const $$ = this; + const { axis, config } = $$; + const stepType = config.line_step_type; + const isCategorized = axis ? axis.isCategorized() : false; + const converted = isArray(values) ? values.concat() : [values]; + if (!(isCategorized || /step\-(after|before)/.test(stepType))) { + return values; + } + if (converted.length) { + const head = converted[0]; + const tail = converted[converted.length - 1]; + const { id } = head; + let { x } = head; + converted.unshift({ x: --x, value: head.value, id }); + isCategorized && stepType === "step-after" && converted.unshift({ x: --x, value: head.value, id }); + x = tail.x; + converted.push({ x: ++x, value: tail.value, id }); + isCategorized && stepType === "step-before" && converted.push({ x: ++x, value: tail.value, id }); + } + return converted; + }, + convertValuesToRange(values) { + const converted = isArray(values) ? values.concat() : [values]; + const ranges = []; + converted.forEach((range) => { + const { x, id } = range; + ranges.push({ + x, + id, + value: range.value[0] + }); + ranges.push({ + x, + id, + value: range.value[2] + }); + }); + return ranges; + }, + updateDataAttributes(name, attrs) { + const $$ = this; + const { config } = $$; + const current = config[`data_${name}`]; + if (isUndefined(attrs)) { + return current; + } + Object.keys(attrs).forEach((id) => { + current[id] = attrs[id]; + }); + $$.redraw({ withLegend: true }); + return current; + }, + getRangedData(d, key = "", type = "areaRange") { + const value = d == null ? void 0 : d.value; + if (isArray(value)) { + if (type === "bar") { + return value.reduce((a, c) => c - a); + } else { + const index = { + areaRange: ["high", "mid", "low"], + candlestick: ["open", "high", "low", "close", "volume"] + }[type].indexOf(key); + return index >= 0 && value ? value[index] : void 0; + } + } else if (value && key) { + return value[key]; + } + return value; + }, + /** + * Set ratio for grouped data + * @param {Array} data Data array + * @private + */ + setRatioForGroupedData(data) { + const $$ = this; + const { config } = $$; + if (config.data_groups.length && data.some((d) => $$.isGrouped(d.id))) { + const setter = (d) => $$.getRatio("index", d, true); + data.forEach((v) => { + "values" in v ? v.values.forEach(setter) : setter(v); + }); + } + }, + /** + * Get ratio value + * @param {string} type Ratio for given type + * @param {object} d Data value object + * @param {boolean} asPercent Convert the return as percent or not + * @returns {number} Ratio value + * @private + */ + getRatio(type, d, asPercent = false) { + const $$ = this; + const { config, state } = $$; + const api = $$.api; + let ratio = 0; + if (d && api.data.shown().length) { + ratio = d.ratio || d.value; + if (type === "arc") { + if ($$.pie.padAngle()()) { + ratio = d.value / $$.getTotalDataSum(true); + } else { + const gaugeArcLength = config.gauge_fullCircle ? $$.getArcLength() : $$.getStartingAngle() * -2; + const arcLength = $$.hasType("gauge") ? gaugeArcLength : Math.PI * 2; + ratio = (d.endAngle - d.startAngle) / arcLength; + } + } else if (type === "index") { + const dataValues = api.data.values.bind(api); + let total = this.getTotalPerIndex(); + if (state.hiddenTargetIds.length) { + let hiddenSum = dataValues(state.hiddenTargetIds, false); + if (hiddenSum.length) { + hiddenSum = hiddenSum.reduce( + (acc, curr) => acc.map((v, i) => (isNumber(v) ? v : 0) + curr[i]) + ); + total = total.map((v, i) => v - hiddenSum[i]); + } + } + const divisor = total[d.index]; + d.ratio = isNumber(d.value) && total && divisor ? d.value / divisor : 0; + ratio = d.ratio; + } else if (type === "radar") { + ratio = parseFloat(String(Math.max(d.value, 0))) / state.current.dataMax * config.radar_size_ratio; + } else if (type === "bar") { + const yScale = $$.getYScaleById.bind($$)(d.id); + const max = yScale.domain().reduce((a, c) => c - a); + ratio = max === 0 ? 0 : Math.abs( + $$.getRangedData(d, null, type) / max + ); + } else if (type === "treemap") { + ratio /= $$.getTotalDataSum(true); + } + } + return asPercent && ratio ? ratio * 100 : ratio; + }, + /** + * Sort data index to be aligned with x axis. + * @param {Array} tickValues Tick array values + * @private + */ + updateDataIndexByX(tickValues) { + const $$ = this; + const tickValueMap = tickValues.reduce((out, tick, index) => { + out[Number(tick.x)] = index; + return out; + }, {}); + $$.data.targets.forEach((t) => { + t.values.forEach((value, valueIndex) => { + let index = tickValueMap[Number(value.x)]; + if (index === void 0) { + index = valueIndex; + } + value.index = index; + }); + }); + }, + /** + * Determine if bubble has dimension data + * @param {object|Array} d data value + * @returns {boolean} + * @private + */ + isBubbleZType(d) { + const $$ = this; + return $$.isBubbleType(d) && (isObject(d.value) && ("z" in d.value || "y" in d.value) || isArray(d.value) && d.value.length >= 2); + }, + /** + * Determine if bar has ranged data + * @param {Array} d data value + * @returns {boolean} + * @private + */ + isBarRangeType(d) { + const $$ = this; + const { value } = d; + return $$.isBarType(d) && isArray(value) && value.length >= 2 && value.every((v) => isNumber(v)); + }, + /** + * Get data object by id + * @param {string} id data id + * @returns {object} + * @private + */ + getDataById(id) { + var _a; + const d = this.cache.get(id) || this.api.data(id); + return (_a = d == null ? void 0 : d[0]) != null ? _a : d; + } +}); + +;// ./src/ChartInternal/data/load.ts + + +function callDone(fn, resizeAfter = false) { + const $$ = this; + const { api } = $$; + resizeAfter && $$.api.flush(true); + fn == null ? void 0 : fn.call(api); +} +/* harmony default export */ var load = ({ + load(rawTargets, args) { + const $$ = this; + const { axis, data, org, scale } = $$; + const { append } = args; + const zoomState = { + domain: null, + currentDomain: null, + x: null + }; + let targets = rawTargets; + if (targets) { + if (args.filter) { + targets = targets.filter(args.filter); + } + if (args.type || args.types) { + targets.forEach((t) => { + var _a; + const type = ((_a = args.types) == null ? void 0 : _a[t.id]) || args.type; + $$.setTargetType(t.id, type); + }); + } + data.targets.forEach((d) => { + for (let i = 0; i < targets.length; i++) { + if (d.id === targets[i].id) { + d.values = append ? d.values.concat(targets[i].values) : targets[i].values; + targets.splice(i, 1); + break; + } + } + }); + data.targets = data.targets.concat(targets); + } + $$.updateTargets(data.targets); + if (scale.zoom) { + zoomState.x = axis.isCategorized() ? scale.x.orgScale() : (org.xScale || scale.x).copy(); + zoomState.domain = $$.getXDomain(data.targets); + zoomState.x.domain(zoomState.domain); + zoomState.currentDomain = $$.zoom.getDomain(); + if (!$$.withinRange(zoomState.currentDomain, void 0, zoomState.domain)) { + scale.x.domain(zoomState.domain); + scale.zoom = null; + $$.$el.eventRect.property("__zoom", null); + } + } + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true, + withLegend: true + }); + if (scale.zoom) { + org.xDomain = zoomState.domain; + org.xScale = zoomState.x; + if (axis.isCategorized()) { + zoomState.currentDomain = $$.getZoomDomainValue(zoomState.currentDomain); + org.xDomain = $$.getZoomDomainValue(org.xDomain); + org.xScale = zoomState.x.domain(org.xDomain); + } + $$.updateCurrentZoomTransform(zoomState.x, zoomState.currentDomain); + } else if (org.xScale) { + org.xScale.domain(org.xDomain); + } + $$.updateTypesElements(); + callDone.call($$, args.done, args.resizeAfter); + }, + loadFromArgs(args) { + const $$ = this; + if (!$$.config) { + return; + } + $$.cache.reset(); + $$.convertData(args, (d) => { + const data = args.data || d; + args.append && (data.__append__ = true); + data && $$.load($$.convertDataToTargets(data), args); + }); + }, + unload(rawTargetIds, customDoneCb) { + var _a; + const $$ = this; + const { state, $el, $T } = $$; + const hasLegendDefsPoint = !!((_a = $$.hasLegendDefsPoint) == null ? void 0 : _a.call($$)); + let done = customDoneCb; + let targetIds = rawTargetIds; + $$.cache.reset(); + if (!done) { + done = () => { + }; + } + targetIds = targetIds.filter((id) => $$.hasTarget($$.data.targets, id)); + if (!targetIds || targetIds.length === 0) { + done(); + return; + } + const targets = $el.svg.selectAll(targetIds.map((id) => $$.selectorTarget(id))); + $T(targets).style("opacity", "0").remove().call(endall, done); + targetIds.forEach((id) => { + var _a2; + const suffixId = $$.getTargetSelectorSuffix(id); + state.withoutFadeIn[id] = false; + if ($el.legend) { + $el.legend.selectAll(`.${$LEGEND.legendItem}${suffixId}`).remove(); + } + $$.data.targets = $$.data.targets.filter((t) => t.id !== id); + hasLegendDefsPoint && ((_a2 = $el.defs) == null ? void 0 : _a2.select(`#${$$.getDefsPointId(suffixId)}`).remove()); + }); + state.hasFunnel && $$.updateFunnel($$.data.targets); + state.hasTreemap && $$.updateTargetsForTreemap($$.data.targets); + $$.updateTypesElements(); + } +}); + +;// ./node_modules/d3-drag/src/constant.js +/* harmony default export */ var d3_drag_src_constant = ((x) => () => x); + +;// ./node_modules/d3-drag/src/event.js +function DragEvent(type, { + sourceEvent, + subject, + target, + identifier, + active, + x, + y, + dx, + dy, + dispatch +}) { + Object.defineProperties(this, { + type: { value: type, enumerable: true, configurable: true }, + sourceEvent: { value: sourceEvent, enumerable: true, configurable: true }, + subject: { value: subject, enumerable: true, configurable: true }, + target: { value: target, enumerable: true, configurable: true }, + identifier: { value: identifier, enumerable: true, configurable: true }, + active: { value: active, enumerable: true, configurable: true }, + x: { value: x, enumerable: true, configurable: true }, + y: { value: y, enumerable: true, configurable: true }, + dx: { value: dx, enumerable: true, configurable: true }, + dy: { value: dy, enumerable: true, configurable: true }, + _: { value: dispatch } + }); +} +DragEvent.prototype.on = function() { + var value = this._.on.apply(this._, arguments); + return value === this._ ? this : value; +}; + +;// ./node_modules/d3-drag/src/drag.js + + + + + + +function drag_defaultFilter(event) { + return !event.ctrlKey && !event.button; +} +function defaultContainer() { + return this.parentNode; +} +function defaultSubject(event, d) { + return d == null ? { x: event.x, y: event.y } : d; +} +function drag_defaultTouchable() { + return navigator.maxTouchPoints || "ontouchstart" in this; +} +/* harmony default export */ function drag() { + var filter = drag_defaultFilter, container = defaultContainer, subject = defaultSubject, touchable = drag_defaultTouchable, gestures = {}, listeners = src_dispatch("start", "drag", "end"), active = 0, mousedownx, mousedowny, mousemoving, touchending, clickDistance2 = 0; + function drag(selection) { + selection.on("mousedown.drag", mousedowned).filter(touchable).on("touchstart.drag", touchstarted).on("touchmove.drag", touchmoved, nonpassive).on("touchend.drag touchcancel.drag", touchended).style("touch-action", "none").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)"); + } + function mousedowned(event, d) { + if (touchending || !filter.call(this, event, d)) return; + var gesture = beforestart(this, container.call(this, event, d), event, d, "mouse"); + if (!gesture) return; + src_select(event.view).on("mousemove.drag", mousemoved, nonpassivecapture).on("mouseup.drag", mouseupped, nonpassivecapture); + nodrag(event.view); + nopropagation(event); + mousemoving = false; + mousedownx = event.clientX; + mousedowny = event.clientY; + gesture("start", event); + } + function mousemoved(event) { + noevent(event); + if (!mousemoving) { + var dx = event.clientX - mousedownx, dy = event.clientY - mousedowny; + mousemoving = dx * dx + dy * dy > clickDistance2; + } + gestures.mouse("drag", event); + } + function mouseupped(event) { + src_select(event.view).on("mousemove.drag mouseup.drag", null); + yesdrag(event.view, mousemoving); + noevent(event); + gestures.mouse("end", event); + } + function touchstarted(event, d) { + if (!filter.call(this, event, d)) return; + var touches = event.changedTouches, c = container.call(this, event, d), n = touches.length, i, gesture; + for (i = 0; i < n; ++i) { + if (gesture = beforestart(this, c, event, d, touches[i].identifier, touches[i])) { + nopropagation(event); + gesture("start", event, touches[i]); + } + } + } + function touchmoved(event) { + var touches = event.changedTouches, n = touches.length, i, gesture; + for (i = 0; i < n; ++i) { + if (gesture = gestures[touches[i].identifier]) { + noevent(event); + gesture("drag", event, touches[i]); + } + } + } + function touchended(event) { + var touches = event.changedTouches, n = touches.length, i, gesture; + if (touchending) clearTimeout(touchending); + touchending = setTimeout(function() { + touchending = null; + }, 500); + for (i = 0; i < n; ++i) { + if (gesture = gestures[touches[i].identifier]) { + nopropagation(event); + gesture("end", event, touches[i]); + } + } + } + function beforestart(that, container2, event, d, identifier, touch) { + var dispatch2 = listeners.copy(), p = src_pointer(touch || event, container2), dx, dy, s; + if ((s = subject.call(that, new DragEvent("beforestart", { + sourceEvent: event, + target: drag, + identifier, + active, + x: p[0], + y: p[1], + dx: 0, + dy: 0, + dispatch: dispatch2 + }), d)) == null) return; + dx = s.x - p[0] || 0; + dy = s.y - p[1] || 0; + return function gesture(type, event2, touch2) { + var p0 = p, n; + switch (type) { + case "start": + gestures[identifier] = gesture, n = active++; + break; + case "end": + delete gestures[identifier], --active; + case "drag": + p = src_pointer(touch2 || event2, container2), n = active; + break; + } + dispatch2.call( + type, + that, + new DragEvent(type, { + sourceEvent: event2, + subject: s, + target: drag, + identifier, + active: n, + x: p[0] + dx, + y: p[1] + dy, + dx: p[0] - p0[0], + dy: p[1] - p0[1], + dispatch: dispatch2 + }), + d + ); + }; + } + drag.filter = function(_) { + return arguments.length ? (filter = typeof _ === "function" ? _ : d3_drag_src_constant(!!_), drag) : filter; + }; + drag.container = function(_) { + return arguments.length ? (container = typeof _ === "function" ? _ : d3_drag_src_constant(_), drag) : container; + }; + drag.subject = function(_) { + return arguments.length ? (subject = typeof _ === "function" ? _ : d3_drag_src_constant(_), drag) : subject; + }; + drag.touchable = function(_) { + return arguments.length ? (touchable = typeof _ === "function" ? _ : d3_drag_src_constant(!!_), drag) : touchable; + }; + drag.on = function() { + var value = listeners.on.apply(listeners, arguments); + return value === listeners ? drag : value; + }; + drag.clickDistance = function(_) { + return arguments.length ? (clickDistance2 = (_ = +_) * _, drag) : Math.sqrt(clickDistance2); + }; + return drag; +} + +;// ./src/ChartInternal/interactions/interaction.ts + + + + + +/* harmony default export */ var interactions_interaction = ({ + /** + * Expand data shape/point + * @param {number} index Index number + * @param {string} id Data id + * @param {boolean} reset Reset expand state + * @private + */ + setExpand(index, id, reset) { + const $$ = this; + const { config, $el: { circle } } = $$; + circle && config.point_focus_expand_enabled && $$.expandCircles(index, id, reset); + $$.expandBarTypeShapes(true, index, id, reset); + }, + /** + * Expand/Unexpand bar type shapes + * @param {boolean} expand Expand or unexpand + * @param {number} i Shape index + * @param {string} id Data id + * @param {boolean} reset Reset expand style + * @private + */ + expandBarTypeShapes(expand = true, i, id, reset) { + const $$ = this; + ["bar", "candlestick"].filter((v) => $$.$el[v]).forEach((v) => { + reset && $$.$el[v].classed($COMMON.EXPANDED, false); + $$.getShapeByIndex(v, i, id).classed($COMMON.EXPANDED, expand); + }); + }, + /** + * Handle data.onover/out callback options + * @param {boolean} isOver Over or not + * @param {number|object} d data object + * @private + */ + setOverOut(isOver, d) { + const $$ = this; + const { config, state: { hasFunnel, hasRadar, hasTreemap }, $el: { main } } = $$; + const isArcishData = isObject(d); + if (isArcishData || d !== -1) { + const callback = config[isOver ? "data_onover" : "data_onout"].bind($$.api); + config.color_onover && $$.setOverColor(isOver, d, isArcishData); + if (isArcishData && "id") { + const suffix = $$.getTargetSelectorSuffix(d.id); + const selector = hasFunnel || hasTreemap ? `${$COMMON.target + suffix} .${$SHAPE.shape}` : $ARC.arc + suffix; + callback(d, main.select(`.${selector}`).node()); + } else if (!config.tooltip_grouped) { + const last = $$.cache.get(KEY.setOverOut) || []; + const shapesAtIndex = main.selectAll(`.${$SHAPE.shape}-${d}`).filter(function(d2) { + return $$.isWithinShape(this, d2); + }); + const shape = shapesAtIndex.filter(function() { + return last.every((v) => v !== this); + }); + if (!isOver || shapesAtIndex.empty() || last.length === shape.size() && shape.nodes().every((v, i) => v !== last[i])) { + while (last.length) { + const target = last.pop(); + config.data_onout.bind($$.api)(src_select(target).datum(), target); + } + } + shape.each(function() { + if (isOver) { + callback(src_select(this).datum(), this); + last.push(this); + } + }); + $$.cache.add(KEY.setOverOut, last); + } else { + if (isOver) { + hasRadar && $$.isPointFocusOnly() ? $$.showCircleFocus($$.getAllValuesOnIndex(d, true)) : $$.setExpand(d, null, true); + } + !$$.isMultipleX() && main.selectAll(`.${$SHAPE.shape}-${d}`).each(function(d2) { + callback(d2, this); + }); + } + } + }, + /** + * Call data.onover/out callback for touch event + * @param {number|object} d target index or data object for Arc type + * @private + */ + callOverOutForTouch(d) { + const $$ = this; + const last = $$.cache.get(KEY.callOverOutForTouch); + if (isObject(d) && last ? d.id !== last.id : d !== last) { + (last || isNumber(last)) && $$.setOverOut(false, last); + (d || isNumber(d)) && $$.setOverOut(true, d); + $$.cache.add(KEY.callOverOutForTouch, d); + } + }, + /** + * Return draggable selection function + * @returns {Function} + * @private + */ + getDraggableSelection() { + const $$ = this; + const { config, state } = $$; + return config.interaction_enabled && config.data_selection_draggable && $$.drag ? drag().on("drag", function(event) { + state.event = event; + $$.drag(getPointer(event, this)); + }).on("start", function(event) { + state.event = event; + $$.dragstart(getPointer(event, this)); + }).on("end", (event) => { + state.event = event; + $$.dragend(); + }) : () => { + }; + }, + /** + * Dispatch a mouse event. + * @private + * @param {string} type event type + * @param {number} index Index of eventRect + * @param {Array} mouse x and y coordinate value + */ + dispatchEvent(type, index, mouse) { + var _a, _b; + const $$ = this; + const { + config, + state: { + eventReceiver, + hasAxis, + hasFunnel, + hasRadar, + hasTreemap + }, + $el: { eventRect, funnel, radar, svg, treemap } + } = $$; + let element = (_b = (hasFunnel || hasTreemap) && eventReceiver.rect || hasRadar && radar.axes.select(`.${$AXIS.axis}-${index} text`) || (eventRect || ((_a = $$.getArcElementByIdOrIndex) == null ? void 0 : _a.call($$, index)))) == null ? void 0 : _b.node(); + if (element) { + const isMultipleX = $$.isMultipleX(); + const isRotated = config.axis_rotated; + let { width, left, top } = element.getBoundingClientRect(); + if (hasAxis && !hasRadar && !isMultipleX) { + const coords = eventReceiver.coords[index]; + if (coords) { + width = coords.w; + left += coords.x; + top += coords.y; + } else { + width = 0; + left = 0; + top = 0; + } + } + let x = left + (mouse ? mouse[0] : 0) + (isMultipleX || isRotated ? 0 : width / 2); + let y = top + (mouse ? mouse[1] : 0) + (isRotated ? 4 : 0); + if (hasViewBox(svg)) { + const ctm = getTransformCTM($$.$el.svg.node(), x, y, false); + x = ctm.x; + y = ctm.y; + } + const params = { + screenX: x, + screenY: y, + clientX: x, + clientY: y, + bubbles: hasRadar + // radar type needs to bubble up event + }; + if (hasFunnel || hasTreemap) { + element = (funnel != null ? funnel : treemap).node(); + } + emulateEvent[/^(mouse|click)/.test(type) ? "mouse" : "touch"]( + element, + type, + params + ); + } + }, + setDragStatus(isDragging) { + this.state.dragging = isDragging; + }, + /** + * Unbind zoom events + * @private + */ + unbindZoomEvent() { + const $$ = this; + const { $el: { eventRect, zoomResetBtn } } = $$; + eventRect == null ? void 0 : eventRect.on(".zoom wheel.zoom .drag", null); + zoomResetBtn == null ? void 0 : zoomResetBtn.on("click", null).style("display", "none"); + }, + /** + * Unbind all attached events + * @private + */ + unbindAllEvents() { + var _a; + const $$ = this; + const { $el: { arcs, eventRect, legend, region, svg, treemap }, brush } = $$; + const list = [ + "wheel", + "click", + "mouseover", + "mousemove", + "mouseout", + "touchstart", + "touchmove", + "touchend", + "touchstart.eventRect", + "touchmove.eventRect", + "touchend.eventRect", + ".brush", + ".drag", + ".zoom", + "wheel.zoom", + "dblclick.zoom" + ].join(" "); + [ + svg, + eventRect, + region == null ? void 0 : region.list, + brush == null ? void 0 : brush.getSelection(), + arcs == null ? void 0 : arcs.selectAll("path"), + legend == null ? void 0 : legend.selectAll("g"), + treemap + ].forEach((v) => v == null ? void 0 : v.on(list, null)); + (_a = $$.unbindZoomEvent) == null ? void 0 : _a.call($$); + } +}); + +;// ./src/ChartInternal/internals/category.ts +/* harmony default export */ var category = ({ + /** + * Category Name + * @param {number} i Index number + * @returns {string} category Name + * @private + */ + categoryName(i) { + var _a; + const { axis_x_categories } = this.config; + return (_a = axis_x_categories == null ? void 0 : axis_x_categories[i]) != null ? _a : i; + } +}); + +;// ./src/ChartInternal/internals/class.ts + +/* harmony default export */ var internals_class = ({ + generateClass(prefix, targetId) { + return ` ${prefix} ${prefix + this.getTargetSelectorSuffix(targetId)}`; + }, + /** + * Get class string + * @param {string} type Shape type + * @param {boolean} withShape Get with shape prefix + * @returns {string} Class string + * @private + */ + getClass(type, withShape) { + const isPlural = /s$/.test(type); + const useIdKey = /^(area|arc|line|funnel|treemap)s?$/.test(type); + const key = isPlural ? "id" : "index"; + return (d) => { + const data = d.data || d; + const result = (withShape ? this.generateClass(classes[isPlural ? "shapes" : "shape"], data[key]) : "") + this.generateClass(classes[type], data[useIdKey ? "id" : key]); + return result.trim(); + }; + }, + /** + * Get chart class string + * @param {string} type Shape type + * @returns {string} Class string + * @private + */ + getChartClass(type) { + return (d) => classes[`chart${type}`] + this.classTarget((d.data ? d.data : d).id); + }, + generateExtraLineClass() { + const $$ = this; + const classes = $$.config.line_classes || []; + const ids = []; + return function(d) { + var _a; + const id = d.id || ((_a = d.data) == null ? void 0 : _a.id) || d; + if (ids.indexOf(id) < 0) { + ids.push(id); + } + return classes[ids.indexOf(id) % classes.length]; + }; + }, + classRegion(d, i) { + return `${this.generateClass(classes.region, i)} ${"class" in d ? d.class : ""}`; + }, + classTarget(id) { + const additionalClassSuffix = this.config.data_classes[id]; + let additionalClass = ""; + if (additionalClassSuffix) { + additionalClass = ` ${classes.target}-${additionalClassSuffix}`; + } + return this.generateClass(classes.target, id) + additionalClass; + }, + classFocus(d) { + return this.classFocused(d) + this.classDefocused(d); + }, + classFocused(d) { + return ` ${this.state.focusedTargetIds.indexOf(d.id) >= 0 ? classes.focused : ""}`; + }, + classDefocused(d) { + return ` ${this.state.defocusedTargetIds.indexOf(d.id) >= 0 ? classes.defocused : ""}`; + }, + getTargetSelectorSuffix(targetId) { + const targetStr = targetId || targetId === 0 ? `-${targetId}` : ""; + return targetStr.replace(/[\x00-\x20\x7F-\xA0\s?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\]/g, "-"); + }, + selectorTarget(id, prefix = "", postfix = "") { + const target = this.getTargetSelectorSuffix(id); + return `${prefix}.${classes.target + target} ${postfix}, ${prefix}.${classes.circles + target} ${postfix}`; + }, + selectorTargets(idsValue, prefix) { + const ids = idsValue || []; + return ids.length ? ids.map((id) => this.selectorTarget(id, prefix)) : null; + }, + selectorLegend(id) { + return `.${classes.legendItem + this.getTargetSelectorSuffix(id)}`; + }, + selectorLegends(ids) { + return (ids == null ? void 0 : ids.length) ? ids.map((id) => this.selectorLegend(id)) : null; + } +}); + +;// ./node_modules/internmap/src/index.js +class InternMap extends Map { + constructor(entries, key = keyof) { + super(); + Object.defineProperties(this, { _intern: { value: /* @__PURE__ */ new Map() }, _key: { value: key } }); + if (entries != null) for (const [key2, value] of entries) this.set(key2, value); + } + get(key) { + return super.get(intern_get(this, key)); + } + has(key) { + return super.has(intern_get(this, key)); + } + set(key, value) { + return super.set(intern_set(this, key), value); + } + delete(key) { + return super.delete(intern_delete(this, key)); + } +} +class InternSet extends Set { + constructor(values, key = keyof) { + super(); + Object.defineProperties(this, { _intern: { value: /* @__PURE__ */ new Map() }, _key: { value: key } }); + if (values != null) for (const value of values) this.add(value); + } + has(value) { + return super.has(intern_get(this, value)); + } + add(value) { + return super.add(intern_set(this, value)); + } + delete(value) { + return super.delete(intern_delete(this, value)); + } +} +function intern_get({ _intern, _key }, value) { + const key = _key(value); + return _intern.has(key) ? _intern.get(key) : value; +} +function intern_set({ _intern, _key }, value) { + const key = _key(value); + if (_intern.has(key)) return _intern.get(key); + _intern.set(key, value); + return value; +} +function intern_delete({ _intern, _key }, value) { + const key = _key(value); + if (_intern.has(key)) { + value = _intern.get(key); + _intern.delete(key); + } + return value; +} +function keyof(value) { + return value !== null && typeof value === "object" ? value.valueOf() : value; +} + +;// ./node_modules/d3-scale/src/init.js +function initRange(domain, range) { + switch (arguments.length) { + case 0: + break; + case 1: + this.range(domain); + break; + default: + this.range(range).domain(domain); + break; + } + return this; +} +function initInterpolator(domain, interpolator) { + switch (arguments.length) { + case 0: + break; + case 1: { + if (typeof domain === "function") this.interpolator(domain); + else this.range(domain); + break; + } + default: { + this.domain(domain); + if (typeof interpolator === "function") this.interpolator(interpolator); + else this.range(interpolator); + break; + } + } + return this; +} + +;// ./node_modules/d3-scale/src/ordinal.js + + +const implicit = Symbol("implicit"); +function ordinal() { + var index = new InternMap(), domain = [], range = [], unknown = implicit; + function scale(d) { + let i = index.get(d); + if (i === void 0) { + if (unknown !== implicit) return unknown; + index.set(d, i = domain.push(d) - 1); + } + return range[i % range.length]; + } + scale.domain = function(_) { + if (!arguments.length) return domain.slice(); + domain = [], index = new InternMap(); + for (const value of _) { + if (index.has(value)) continue; + index.set(value, domain.push(value) - 1); + } + return scale; + }; + scale.range = function(_) { + return arguments.length ? (range = Array.from(_), scale) : range.slice(); + }; + scale.unknown = function(_) { + return arguments.length ? (unknown = _, scale) : unknown; + }; + scale.copy = function() { + return ordinal(domain, range).unknown(unknown); + }; + initRange.apply(scale, arguments); + return scale; +} + +;// ./src/ChartInternal/internals/color.ts + + + + + + +const colorizePattern = (pattern, color, id) => { + const node = src_select(pattern.cloneNode(true)); + node.attr("id", id).insert("rect", ":first-child").attr("width", node.attr("width")).attr("height", node.attr("height")).style("fill", color); + return { + id, + node: node.node() + }; +}; +function getColorFromCss(element) { + const cacheKey = KEY.colorPattern; + const { body } = browser_doc; + let pattern = body[cacheKey]; + if (!pattern) { + const delimiter = ";"; + const content = element.classed($COLOR.colorPattern, true).style("background-image"); + element.classed($COLOR.colorPattern, false); + if (content.indexOf(delimiter) > -1) { + pattern = content.replace(/url[^#]*|["'()]|(\s|%20)/g, "").split(delimiter).map((v) => v.trim().replace(/[\"'\s]/g, "")).filter(Boolean); + body[cacheKey] = pattern; + } + } + return pattern; +} +const schemeCategory10 = [ + "#1f77b4", + "#ff7f0e", + "#2ca02c", + "#d62728", + "#9467bd", + "#8c564b", + "#e377c2", + "#7f7f7f", + "#bcbd22", + "#17becf" +]; +/* harmony default export */ var internals_color = ({ + generateColor() { + const $$ = this; + const { $el, config } = $$; + const colors = config.data_colors; + const callback = config.data_color; + const ids = []; + let pattern = notEmpty(config.color_pattern) ? config.color_pattern : ordinal(getColorFromCss($el.chart) || schemeCategory10).range(); + const originalColorPattern = pattern; + if (isFunction(config.color_tiles)) { + const tiles = config.color_tiles.bind($$.api)(); + const colorizedPatterns = pattern.map((p, index) => { + const color = p.replace(/[#\(\)\s,]/g, ""); + const id = `${$$.state.datetimeId}-pattern-${color}-${index}`; + return colorizePattern(tiles[index % tiles.length], p, id); + }); + pattern = colorizedPatterns.map((p) => `url(#${p.id})`); + $$.patterns = colorizedPatterns; + } + return function(d) { + var _a; + const id = d.id || ((_a = d.data) == null ? void 0 : _a.id) || d; + const isLine = $$.isTypeOf(id, ["line", "spline", "step"]) || !config.data_types[id]; + let color; + if (isFunction(colors[id])) { + color = colors[id].bind($$.api)(d); + } else if (colors[id]) { + color = colors[id]; + } else { + if (ids.indexOf(id) < 0) { + ids.push(id); + } + color = isLine ? originalColorPattern[ids.indexOf(id) % originalColorPattern.length] : pattern[ids.indexOf(id) % pattern.length]; + colors[id] = color; + } + return isFunction(callback) ? callback.bind($$.api)(color, d) : color; + }; + }, + generateLevelColor() { + const $$ = this; + const { config } = $$; + const colors = config.color_pattern; + const threshold = config.color_threshold; + const asValue = threshold.unit === "value"; + const max = threshold.max || 100; + const values = threshold.values && threshold.values.length ? threshold.values : []; + return notEmpty(threshold) ? function(value) { + const v = asValue ? value : value * 100 / max; + let color = colors[colors.length - 1]; + for (let i = 0, l = values.length; i < l; i++) { + if (v <= values[i]) { + color = colors[i]; + break; + } + } + return color; + } : null; + }, + /** + * Append data backgound color filter definition + * @param {string|object} color Color string + * @param {object} attr filter attribute + * @private + */ + generateTextBGColorFilter(color, attr = { + x: 0, + y: 0, + width: 1, + height: 1 + }) { + const $$ = this; + const { $el, state } = $$; + if (color) { + let ids = []; + if (isString(color)) { + ids.push(""); + } else if (isObject(color)) { + ids = Object.keys(color); + } + ids.forEach((v) => { + const id = `${state.datetimeId}-labels-bg${$$.getTargetSelectorSuffix(v)}${isString(color) ? $$.getTargetSelectorSuffix(color) : ""}`; + $el.defs.append("filter").attr("x", attr.x).attr("y", attr.y).attr("width", attr.width).attr("height", attr.height).attr("id", id).html( + `<feFlood flood-color="${v === "" ? color : color[v]}" /> + <feComposite in="SourceGraphic" />` + ); + }); + } + }, + /** + * Get data gradient color url + * @param {string} id Data id + * @returns {string} + * @private + */ + getGradienColortUrl(id) { + return `url(#${this.state.datetimeId}-gradient${this.getTargetSelectorSuffix(id)})`; + }, + /** + * Update linear/radial gradient definition + * - linear: area & bar only + * - radial: type which has data points only + * @private + */ + updateLinearGradient() { + const $$ = this; + const { config, data: { targets }, state: { datetimeId }, $el: { defs } } = $$; + targets.forEach((d) => { + const id = `${datetimeId}-gradient${$$.getTargetSelectorSuffix(d.id)}`; + const radialGradient = $$.hasPointType() && config.point_radialGradient; + const supportedType = $$.isAreaType(d) && "area" || $$.isBarType(d) && "bar"; + if ((radialGradient || supportedType) && defs.select(`#${id}`).empty()) { + const color = $$.color(d); + const gradient = { + defs: null, + stops: [] + }; + if (radialGradient) { + const { + cx = 0.3, + cy = 0.3, + r = 0.7, + stops = [[0.1, color, 0], [0.9, color, 1]] + } = radialGradient; + gradient.stops = stops; + gradient.defs = defs.append("radialGradient").attr("id", `${id}`).attr("cx", cx).attr("cy", cy).attr("r", r); + } else { + const isRotated = config.axis_rotated; + const { + x = isRotated ? [1, 0] : [0, 0], + y = isRotated ? [0, 0] : [0, 1], + stops = [[0, color, 1], [1, color, 0]] + } = config[`${supportedType}_linearGradient`]; + gradient.stops = stops; + gradient.defs = defs.append("linearGradient").attr("id", `${id}`).attr("x1", x[0]).attr("x2", x[1]).attr("y1", y[0]).attr("y2", y[1]); + } + gradient.stops.forEach((v) => { + const [offset, stopColor, stopOpacity] = v; + const colorValue = isFunction(stopColor) ? stopColor.bind($$.api)(d.id) : stopColor; + gradient.defs && gradient.defs.append("stop").attr("offset", offset).attr("stop-color", colorValue || color).attr("stop-opacity", stopOpacity); + }); + } + }); + }, + /** + * Set the data over color. + * When is out, will restate in its previous color value + * @param {boolean} isOver true: set overed color, false: restore + * @param {number|object} d target index or data object for Arc type + * @private + */ + setOverColor(isOver, d) { + const $$ = this; + const { config, $el: { main } } = $$; + const onover = config.color_onover; + let color = isOver ? onover : $$.color; + if (isObject(color)) { + color = ({ id }) => id in onover ? onover[id] : $$.color(id); + } else if (isString(color)) { + color = () => onover; + } else if (isFunction(onover)) { + color = color.bind($$.api); + } + main.selectAll( + isObject(d) ? ( + // when is Arc type + `.${$ARC.arc}${$$.getTargetSelectorSuffix(d.id)}` + ) : `.${$SHAPE.shape}-${d}` + ).style("fill", color); + } +}); + +;// ./src/ChartInternal/internals/domain.ts + + +/* harmony default export */ var domain = ({ + getYDomainMinMax(targets, type) { + const $$ = this; + const { axis, config } = $$; + const isMin = type === "min"; + const dataGroups = config.data_groups; + const ids = $$.mapToIds(targets); + const ys = $$.getValuesAsIdKeyed(targets); + if (dataGroups.length > 0) { + const hasValue = $$[`has${isMin ? "Negative" : "Positive"}ValueInTargets`](targets); + dataGroups.forEach((groupIds) => { + const idsInGroup = groupIds.filter((v) => ids.indexOf(v) >= 0); + if (idsInGroup.length) { + const baseId = idsInGroup[0]; + const baseAxisId = axis.getId(baseId); + if (hasValue && ys[baseId]) { + ys[baseId] = ys[baseId].map((v) => (isMin ? v < 0 : v > 0) ? v : 0); + } + idsInGroup.filter((v, i) => i > 0).forEach((id) => { + if (ys[id]) { + const axisId = axis.getId(id); + ys[id].forEach((v, i) => { + const val = +v; + const meetCondition = isMin ? val > 0 : val < 0; + if (axisId === baseAxisId && !(hasValue && meetCondition)) { + ys[baseId][i] += val; + } + }); + } + }); + } + }); + } + return getMinMax(type, Object.keys(ys).map((key) => getMinMax(type, ys[key]))); + }, + /** + * Check if hidden targets bound to the given axis id + * @param {string} id ID to be checked + * @returns {boolean} + * @private + */ + isHiddenTargetWithYDomain(id) { + const $$ = this; + return $$.state.hiddenTargetIds.some((v) => $$.axis.getId(v) === id); + }, + getYDomain(targets, axisId, xDomain) { + const $$ = this; + const { axis, config, scale } = $$; + const pfx = `axis_${axisId}`; + if ($$.isStackNormalized()) { + return [0, 100]; + } + const isLog = (scale == null ? void 0 : scale[axisId]) && scale[axisId].type === "log"; + const targetsByAxisId = targets.filter((t) => axis.getId(t.id) === axisId); + const yTargets = xDomain ? $$.filterByXDomain(targetsByAxisId, xDomain) : targetsByAxisId; + if (yTargets.length === 0) { + if ($$.isHiddenTargetWithYDomain(axisId)) { + return scale[axisId].domain(); + } else { + return axisId === "y2" ? scale.y.domain() : ( + // When all data bounds to y2, y Axis domain is called prior y2. + // So, it needs to call to get y2 domain here + $$.getYDomain(targets, "y2", xDomain) + ); + } + } + const yMin = config[`${pfx}_min`]; + const yMax = config[`${pfx}_max`]; + const center = config[`${pfx}_center`]; + const isInverted = config[`${pfx}_inverted`]; + const showHorizontalDataLabel = $$.hasDataLabel() && config.axis_rotated; + const showVerticalDataLabel = $$.hasDataLabel() && !config.axis_rotated; + let yDomainMin = $$.getYDomainMinMax(yTargets, "min"); + let yDomainMax = $$.getYDomainMinMax(yTargets, "max"); + let isZeroBased = [TYPE.BAR, TYPE.BUBBLE, TYPE.SCATTER, ...TYPE_BY_CATEGORY.Line].some((v) => { + const type = v.indexOf("area") > -1 ? "area" : v; + return $$.hasType(v, yTargets, true) && config[`${type}_zerobased`]; + }); + yDomainMin = isValue(yMin) ? yMin : isValue(yMax) ? yDomainMin <= yMax ? yDomainMin : yMax - 10 : yDomainMin; + yDomainMax = isValue(yMax) ? yMax : isValue(yMin) ? yMin <= yDomainMax ? yDomainMax : yMin + 10 : yDomainMax; + if (isNaN(yDomainMin)) { + yDomainMin = 0; + } + if (isNaN(yDomainMax)) { + yDomainMax = yDomainMin; + } + if (yDomainMin === yDomainMax) { + yDomainMin < 0 ? yDomainMax = 0 : yDomainMin = 0; + } + const isAllPositive = yDomainMin >= 0 && yDomainMax >= 0; + const isAllNegative = yDomainMin <= 0 && yDomainMax <= 0; + if (isValue(yMin) && isAllPositive || isValue(yMax) && isAllNegative) { + isZeroBased = false; + } + if (isZeroBased) { + isAllPositive && (yDomainMin = 0); + isAllNegative && (yDomainMax = 0); + } + const domainLength = Math.abs(yDomainMax - yDomainMin); + let padding = { top: domainLength * 0.1, bottom: domainLength * 0.1 }; + if (isDefined(center)) { + const yDomainAbs = Math.max(Math.abs(yDomainMin), Math.abs(yDomainMax)); + yDomainMax = center + yDomainAbs; + yDomainMin = center - yDomainAbs; + } + if (showHorizontalDataLabel) { + const diff = diffDomain(scale.y.range()); + const ratio = $$.getDataLabelLength(yDomainMin, yDomainMax, "width").map((v) => v / diff); + ["bottom", "top"].forEach((v, i) => { + padding[v] += domainLength * (ratio[i] / (1 - ratio[0] - ratio[1])); + }); + } else if (showVerticalDataLabel) { + const lengths = $$.getDataLabelLength(yDomainMin, yDomainMax, "height"); + ["bottom", "top"].forEach((v, i) => { + padding[v] += $$.convertPixelToScale("y", lengths[i], domainLength); + }); + } + padding = $$.getResettedPadding(padding); + const p = config[`${pfx}_padding`]; + if (notEmpty(p)) { + ["bottom", "top"].forEach((v) => { + padding[v] = axis.getPadding(p, v, padding[v], domainLength); + }); + } + if (isZeroBased) { + isAllPositive && (padding.bottom = yDomainMin); + isAllNegative && (padding.top = -yDomainMax); + } + const domain = isLog ? [yDomainMin, yDomainMax].map((v) => v < 0 ? 0 : v) : [yDomainMin - padding.bottom, yDomainMax + padding.top]; + return isInverted ? domain.reverse() : domain; + }, + getXDomainMinMax(targets, type) { + var _a; + const $$ = this; + const configValue = $$.config[`axis_x_${type}`]; + const dataValue = getMinMax( + type, + targets.map((t) => getMinMax(type, t.values.map((v) => v.x))) + ); + let value = isObject(configValue) ? configValue.value : configValue; + value = isDefined(value) && ((_a = $$.axis) == null ? void 0 : _a.isTimeSeries()) ? parseDate.bind(this)(value) : value; + if (isObject(configValue) && configValue.fit && (type === "min" && value < dataValue || type === "max" && value > dataValue)) { + value = void 0; + } + return isDefined(value) ? value : dataValue; + }, + /** + * Get x Axis padding + * @param {Array} domain x Axis domain + * @param {number} tickCount Tick count + * @returns {object} Padding object values with 'left' & 'right' key + * @private + */ + getXDomainPadding(domain, tickCount) { + const $$ = this; + const { axis, config } = $$; + const padding = config.axis_x_padding; + const isTimeSeriesTickCount = axis.isTimeSeries() && tickCount; + const diff = diffDomain(domain); + let defaultValue; + if (axis.isCategorized() || isTimeSeriesTickCount) { + defaultValue = 0; + } else if ($$.hasType("bar")) { + const maxDataCount = $$.getMaxDataCount(); + defaultValue = maxDataCount > 1 ? diff / (maxDataCount - 1) / 2 : 0.5; + } else { + defaultValue = $$.getResettedPadding(diff * 0.01); + } + let { left = defaultValue, right = defaultValue } = isNumber(padding) ? { left: padding, right: padding } : padding; + if (padding.unit === "px") { + const domainLength = Math.abs(diff + diff * 0.2); + left = axis.getPadding(padding, "left", defaultValue, domainLength); + right = axis.getPadding(padding, "right", defaultValue, domainLength); + } else { + const range = diff + left + right; + if (isTimeSeriesTickCount && range) { + const relativeTickWidth = diff / tickCount / range; + left = left / range / relativeTickWidth; + right = right / range / relativeTickWidth; + } + } + return { left, right }; + }, + /** + * Get x Axis domain + * @param {Array} targets targets + * @returns {Array} x Axis domain + * @private + */ + getXDomain(targets) { + const $$ = this; + const { axis, config, scale: { x } } = $$; + const isInverted = config.axis_x_inverted; + const domain = [ + $$.getXDomainMinMax(targets, "min"), + $$.getXDomainMinMax(targets, "max") + ]; + let [min = 0, max = 0] = domain; + if (x.type !== "log") { + const isCategorized = axis.isCategorized(); + const isTimeSeries = axis.isTimeSeries(); + const padding = $$.getXDomainPadding(domain); + let [firstX, lastX] = domain; + if (firstX - lastX === 0 && !isCategorized) { + if (isTimeSeries) { + firstX = new Date(firstX.getTime() * 0.5); + lastX = new Date(lastX.getTime() * 1.5); + } else { + firstX = firstX === 0 ? 1 : firstX * 0.5; + lastX = lastX === 0 ? -1 : lastX * 1.5; + } + } + if (firstX || firstX === 0) { + min = isTimeSeries ? new Date(firstX.getTime() - padding.left) : firstX - padding.left; + } + if (lastX || lastX === 0) { + max = isTimeSeries ? new Date(lastX.getTime() + padding.right) : lastX + padding.right; + } + } + return isInverted ? [max, min] : [min, max]; + }, + updateXDomain(targets, withUpdateXDomain, withUpdateOrgXDomain, withTrim, domain) { + var _a; + const $$ = this; + const { config, org, scale: { x, subX } } = $$; + const zoomEnabled = config.zoom_enabled; + if (withUpdateOrgXDomain) { + x.domain(domain || sortValue($$.getXDomain(targets), !config.axis_x_inverted)); + org.xDomain = x.domain(); + subX.domain(x.domain()); + (_a = $$.brush) == null ? void 0 : _a.scale(subX); + } + if (withUpdateXDomain) { + const domainValue = domain || (!$$.brush || brushEmpty($$)) ? org.xDomain : getBrushSelection($$).map(subX.invert); + x.domain(domainValue); + } + if (withUpdateOrgXDomain || withUpdateXDomain) { + zoomEnabled && $$.zoom.updateScaleExtent(); + } + withTrim && x.domain($$.trimXDomain(x.orgDomain())); + return x.domain(); + }, + /** + * Trim x domain when given domain surpasses the range + * @param {Array} domain Domain value + * @returns {Array} Trimed domain if given domain is out of range + * @private + */ + trimXDomain(domain) { + const $$ = this; + const isInverted = $$.config.axis_x_inverted; + const zoomDomain = $$.getZoomDomain(); + const [min, max] = zoomDomain; + if (isInverted ? domain[0] >= min : domain[0] <= min) { + domain[1] = +domain[1] + (min - domain[0]); + domain[0] = min; + } + if (isInverted ? domain[1] <= max : domain[1] >= max) { + domain[0] = +domain[0] - (domain[1] - max); + domain[1] = max; + } + return domain; + }, + /** + * Get subchart/zoom domain + * @param {string} type "subX" or "zoom" + * @param {boolean} getCurrent Get current domain if true + * @returns {Array} zoom domain + * @private + */ + getZoomDomain(type = "zoom", getCurrent = false) { + const $$ = this; + const { config, scale, org } = $$; + let [min, max] = getCurrent && scale[type] ? scale[type].domain() : org.xDomain; + if (type === "zoom") { + if (isDefined(config.zoom_x_min)) { + min = getMinMax("min", [min, config.zoom_x_min]); + } + if (isDefined(config.zoom_x_max)) { + max = getMinMax("max", [max, config.zoom_x_max]); + } + } + return [min, max]; + }, + /** + * Return zoom domain from given domain + * - 'category' type need to add offset to original value + * @param {Array} domainValue domain value + * @returns {Array} Zoom domain + * @private + */ + getZoomDomainValue(domainValue) { + const $$ = this; + const { config, axis } = $$; + if (axis.isCategorized() && Array.isArray(domainValue)) { + const isInverted = config.axis_x_inverted; + const domain = domainValue.map( + (v, i) => Number(v) + (i === 0 ? +isInverted : +!isInverted) + ); + return domain; + } + return domainValue; + }, + /** + * Converts pixels to axis' scale values + * @param {string} type Axis type + * @param {number} pixels Pixels + * @param {number} domainLength Domain length + * @returns {number} + * @private + */ + convertPixelToScale(type, pixels, domainLength) { + const $$ = this; + const { config, state } = $$; + const isRotated = config.axis_rotated; + let length; + if (type === "x") { + length = isRotated ? "height" : "width"; + } else { + length = isRotated ? "width" : "height"; + } + return domainLength * (pixels / state[length]); + }, + /** + * Check if the given domain is within subchart/zoom range + * @param {Array} domain Target domain value + * @param {Array} current Current subchart/zoom domain value + * @param {Array} range subchart/zoom range value + * @returns {boolean} + * @private + */ + withinRange(domain, current = [0, 0], range) { + const $$ = this; + const isInverted = $$.config.axis_x_inverted; + const [min, max] = range; + if (Array.isArray(domain)) { + const target = [...domain]; + isInverted && target.reverse(); + if (target[0] < target[1]) { + return domain.every( + (v, i) => (i === 0 ? isInverted ? +v <= min : +v >= min : isInverted ? +v >= max : +v <= max) && !domain.every((v2, i2) => v2 === current[i2]) + ); + } + } + return false; + } +}); + +;// ./src/ChartInternal/internals/format.ts + +function getFormat($$, typeValue, v) { + const { config } = $$; + const type = `axis_${typeValue}_tick_format`; + const format = config[type] ? config[type] : $$.defaultValueFormat; + return format.call($$.api, v); +} +/* harmony default export */ var format = ({ + yFormat(v) { + return getFormat(this, "y", v); + }, + y2Format(v) { + return getFormat(this, "y2", v); + }, + /** + * Get default value format function + * @returns {Function} formatter function + * @private + */ + getDefaultValueFormat() { + const $$ = this; + const { defaultArcValueFormat, yFormat, y2Format } = $$; + const hasArc = $$.hasArcType(null, ["gauge", "polar", "radar"]); + return function(v, ratio, id) { + const format = hasArc ? defaultArcValueFormat : $$.axis && $$.axis.getId(id) === "y2" ? y2Format : yFormat; + return format.call($$, v, ratio); + }; + }, + defaultValueFormat(v) { + return isArray(v) ? v.join("~") : isValue(v) ? +v : ""; + }, + defaultArcValueFormat(v, ratio) { + return `${(ratio * 100).toFixed(1)}%`; + }, + defaultPolarValueFormat(v) { + return `${v}`; + }, + dataLabelFormat(targetId) { + const $$ = this; + const dataLabels = $$.config.data_labels; + const defaultFormat = (v) => { + const delimiter = "~"; + let res = v; + if (isArray(v)) { + res = v.join(delimiter); + } else if (isObject(v)) { + res = Object.values(v).join(delimiter); + } + return res; + }; + let format = defaultFormat; + if (isFunction(dataLabels.format)) { + format = dataLabels.format; + } else if (isObjectType(dataLabels.format)) { + if (dataLabels.format[targetId]) { + format = dataLabels.format[targetId] === true ? defaultFormat : dataLabels.format[targetId]; + } else { + format = () => ""; + } + } + return format.bind($$.api); + } +}); + +;// ./src/ChartInternal/internals/legend.ts + + + + + +function getLegendColor(id) { + const $$ = this; + const data = $$.getDataById(id); + const color = $$.levelColor ? $$.levelColor(data.values[0].value) : $$.color(data); + return color; +} +function getFormattedText(id, formatted = true) { + var _a; + const { config } = this; + let text = (_a = config.data_names[id]) != null ? _a : id; + if (formatted && isFunction(config.legend_format)) { + text = config.legend_format(text, id !== text ? id : void 0); + } + return text; +} +/* harmony default export */ var internals_legend = ({ + /** + * Initialize the legend. + * @private + */ + initLegend() { + const $$ = this; + const { config, $el } = $$; + $$.legendItemTextBox = {}; + $$.state.legendHasRendered = false; + if (config.legend_show) { + if (!config.legend_contents_bindto) { + $el.legend = $$.$el.svg.append("g").classed($LEGEND.legend, true).attr("transform", $$.getTranslate("legend")); + } + $$.updateLegend(); + } else { + $$.state.hiddenLegendIds = $$.mapToIds($$.data.targets); + } + }, + /** + * Update legend element + * @param {Array} targetIds ID's of target + * @param {object} options withTransform : Whether to use the transform property / withTransitionForTransform: Whether transition is used when using the transform property / withTransition : whether or not to transition. + * @param {object} transitions Return value of the generateTransitions + * @private + */ + updateLegend(targetIds, options, transitions) { + var _a; + const $$ = this; + const { config, state, scale, $el } = $$; + const optionz = options || { + withTransform: false, + withTransitionForTransform: false, + withTransition: false + }; + optionz.withTransition = getOption(optionz, "withTransition", true); + optionz.withTransitionForTransform = getOption(optionz, "withTransitionForTransform", true); + if (config.legend_contents_bindto && config.legend_contents_template) { + $$.updateLegendTemplate(); + } else if (!state.hasTreemap) { + $$.updateLegendElement( + targetIds || $$.mapToIds($$.data.targets), + optionz, + transitions + ); + } + (_a = $el.legend) == null ? void 0 : _a.selectAll(`.${$LEGEND.legendItem}`).classed($LEGEND.legendItemHidden, function(id) { + const hide = !$$.isTargetToShow(id); + if (hide) { + this.style.opacity = null; + } + return hide; + }); + $$.updateScales(false, !scale.zoom); + $$.updateSvgSize(); + $$.transformAll(optionz.withTransitionForTransform, transitions); + state.legendHasRendered = true; + }, + /** + * Update legend using template option + * @private + */ + updateLegendTemplate() { + const $$ = this; + const { config, $el } = $$; + const wrapper = src_select(config.legend_contents_bindto); + const template = config.legend_contents_template; + if (!wrapper.empty()) { + const targets = $$.mapToIds($$.data.targets); + const ids = []; + let html = ""; + targets.forEach((v) => { + const content = isFunction(template) ? template.bind($$.api)(v, $$.color(v), $$.api.data(v)[0].values) : tplProcess(template, { + COLOR: $$.color(v), + TITLE: v + }); + if (content) { + ids.push(v); + html += content; + } + }); + const legendItem = wrapper.html(html).selectAll(function() { + return this.childNodes; + }).data(ids); + $$.setLegendItem(legendItem); + $el.legend = wrapper; + } + }, + /** + * Update the size of the legend. + * @param {Obejct} size Size object + * @private + */ + updateSizeForLegend(size) { + const $$ = this; + const { + config, + state: { + isLegendTop, + isLegendLeft, + isLegendRight, + isLegendInset, + current + } + } = $$; + const { width, height } = size; + const insetLegendPosition = { + top: isLegendTop ? $$.getCurrentPaddingByDirection("top") + config.legend_inset_y + 5.5 : current.height - height - $$.getCurrentPaddingByDirection("bottom") - config.legend_inset_y, + left: isLegendLeft ? $$.getCurrentPaddingByDirection("left") + config.legend_inset_x + 0.5 : current.width - width - $$.getCurrentPaddingByDirection("right") - config.legend_inset_x + 0.5 + }; + $$.state.margin3 = { + top: isLegendRight ? 0 : isLegendInset ? insetLegendPosition.top : current.height - height, + right: NaN, + bottom: 0, + left: isLegendRight ? current.width - width : isLegendInset ? insetLegendPosition.left : 0 + }; + }, + /** + * Transform Legend + * @param {boolean} withTransition whether or not to transition. + * @private + */ + transformLegend(withTransition) { + const $$ = this; + const { $el: { legend }, $T } = $$; + $T(legend, withTransition).attr("transform", $$.getTranslate("legend")); + }, + /** + * Update the legend step + * @param {number} step Step value + * @private + */ + updateLegendStep(step) { + this.state.legendStep = step; + }, + /** + * Update legend item width + * @param {number} width Width value + * @private + */ + updateLegendItemWidth(width) { + this.state.legendItemWidth = width; + }, + /** + * Update legend item height + * @param {number} height Height value + * @private + */ + updateLegendItemHeight(height) { + this.state.legendItemHeight = height; + }, + /** + * Update legend item color + * @param {string} id Corresponding data ID value + * @param {string} color Color value + * @private + */ + updateLegendItemColor(id, color) { + const { legend } = this.$el; + if (legend) { + legend.select(`.${$LEGEND.legendItem}-${id} line`).style("stroke", color); + } + }, + /** + * Get the width of the legend + * @returns {number} width + * @private + */ + getLegendWidth() { + const $$ = this; + const { current: { width }, isLegendRight, isLegendInset, legendItemWidth, legendStep } = $$.state; + return $$.config.legend_show ? isLegendRight || isLegendInset ? legendItemWidth * (legendStep + 1) : width : 0; + }, + /** + * Get the height of the legend + * @returns {number} height + * @private + */ + getLegendHeight() { + var _a; + const $$ = this; + const { current, isLegendRight, legendItemHeight, legendStep } = $$.state; + const isFitPadding = ((_a = $$.config.padding) == null ? void 0 : _a.mode) === "fit"; + const height = $$.config.legend_show ? isLegendRight ? current.height : Math.max(isFitPadding ? 10 : 20, legendItemHeight) * (legendStep + 1) : 0; + return height; + }, + /** + * Get the opacity of the legend that is unfocused + * @param {d3.selection} legendItem Legend item node + * @returns {string|null} opacity + * @private + */ + opacityForUnfocusedLegend(legendItem) { + return legendItem.classed($LEGEND.legendItemHidden) ? null : "0.3"; + }, + /** + * Toggles the focus of the legend + * @param {Array} targetIds ID's of target + * @param {boolean} focus whether or not to focus. + * @private + */ + toggleFocusLegend(targetIds, focus) { + const $$ = this; + const { $el: { legend }, $T } = $$; + const targetIdz = $$.mapToTargetIds(targetIds); + legend && $T(legend.selectAll(`.${$LEGEND.legendItem}`).filter((id) => targetIdz.indexOf(id) >= 0).classed($FOCUS.legendItemFocused, focus)).style("opacity", function() { + return focus ? null : $$.opacityForUnfocusedLegend.call($$, src_select(this)); + }); + }, + /** + * Revert the legend to its default state + * @private + */ + revertLegend() { + const $$ = this; + const { $el: { legend }, $T } = $$; + legend && $T(legend.selectAll(`.${$LEGEND.legendItem}`).classed($FOCUS.legendItemFocused, false)).style("opacity", null); + }, + /** + * Shows the legend + * @param {Array} targetIds ID's of target + * @private + */ + showLegend(targetIds) { + const $$ = this; + const { config, $el, $T } = $$; + if (!config.legend_show) { + config.legend_show = true; + $el.legend ? $el.legend.style("visibility", null) : $$.initLegend(); + !$$.state.legendHasRendered && $$.updateLegend(); + } + $$.removeHiddenLegendIds(targetIds); + $T( + $el.legend.selectAll($$.selectorLegends(targetIds)).style("visibility", null) + ).style("opacity", null); + }, + /** + * Hide the legend + * @param {Array} targetIds ID's of target + * @private + */ + hideLegend(targetIds) { + const $$ = this; + const { config, $el: { legend } } = $$; + if (config.legend_show && isEmpty(targetIds)) { + config.legend_show = false; + legend.style("visibility", "hidden"); + } + $$.addHiddenLegendIds(targetIds); + legend.selectAll($$.selectorLegends(targetIds)).style("opacity", "0").style("visibility", "hidden"); + }, + /** + * Get legend item textbox dimension + * @param {string} id Data ID + * @param {HTMLElement|d3.selection} textElement Text node element + * @returns {object} Bounding rect + * @private + */ + getLegendItemTextBox(id, textElement) { + const $$ = this; + const { cache, state } = $$; + let data; + const cacheKey = KEY.legendItemTextBox; + if (id) { + data = !state.redrawing && cache.get(cacheKey) || {}; + if (!data[id]) { + data[id] = $$.getTextRect(textElement, $LEGEND.legendItem); + cache.add(cacheKey, data); + } + data = data[id]; + } + return data; + }, + /** + * Set legend item style & bind events + * @param {d3.selection} item Item node + * @private + */ + setLegendItem(item) { + const $$ = this; + const { $el, api, config, state } = $$; + const isTouch = state.inputType === "touch"; + const hasGauge = $$.hasType("gauge"); + const useCssRule = config.boost_useCssRule; + const interaction = config.legend_item_interaction; + item.attr("class", function(id) { + const node = src_select(this); + const itemClass = !node.empty() && node.attr("class") || ""; + return itemClass + $$.generateClass($LEGEND.legendItem, id); + }).style("visibility", (id) => $$.isLegendToShow(id) ? null : "hidden"); + if (config.interaction_enabled) { + if (useCssRule) { + [ + [`.${$LEGEND.legendItem}`, "cursor:pointer"], + [`.${$LEGEND.legendItem} text`, "pointer-events:none"], + [`.${$LEGEND.legendItemPoint} text`, "pointer-events:none"], + [`.${$LEGEND.legendItemTile}`, "pointer-events:none"], + [`.${$LEGEND.legendItemEvent}`, "fill-opacity:0"] + ].forEach((v) => { + const [selector, props] = v; + $$.setCssRule(false, selector, [props])($el.legend); + }); + } + item.on( + interaction.dblclick ? "dblclick" : "click", + interaction || isFunction(config.legend_item_onclick) ? function(event, id) { + if (!callFn( + config.legend_item_onclick, + api, + id, + !state.hiddenTargetIds.includes(id) + )) { + const { altKey, target, type } = event; + if (type === "dblclick" || altKey) { + if (state.hiddenTargetIds.length && target.parentNode.getAttribute("class").indexOf( + $LEGEND.legendItemHidden + ) === -1) { + api.show(); + } else { + api.hide(); + api.show(id); + } + } else { + api.toggle(id); + src_select(this).classed($FOCUS.legendItemFocused, false); + } + } + isTouch && $$.hideTooltip(); + } : null + ); + !isTouch && item.on("mouseout", interaction || isFunction(config.legend_item_onout) ? function(event, id) { + if (!callFn( + config.legend_item_onout, + api, + id, + !state.hiddenTargetIds.includes(id) + )) { + src_select(this).classed($FOCUS.legendItemFocused, false); + if (hasGauge) { + $$.undoMarkOverlapped($$, `.${$GAUGE.gaugeValue}`); + } + $$.api.revert(); + } + } : null).on("mouseover", interaction || isFunction(config.legend_item_onover) ? function(event, id) { + if (!callFn( + config.legend_item_onover, + api, + id, + !state.hiddenTargetIds.includes(id) + )) { + src_select(this).classed($FOCUS.legendItemFocused, true); + if (hasGauge) { + $$.markOverlapped(id, $$, `.${$GAUGE.gaugeValue}`); + } + if (!state.transiting && $$.isTargetToShow(id)) { + api.focus(id); + } + } + } : null); + !item.empty() && item.on("click mouseout mouseover") && item.style("cursor", $$.getStylePropValue("pointer")); + } + }, + /** + * Update the legend + * @param {Array} targetIds ID's of target + * @param {object} options withTransform : Whether to use the transform property / withTransitionForTransform: Whether transition is used when using the transform property / withTransition : whether or not to transition. + * @private + */ + updateLegendElement(targetIds, options) { + const $$ = this; + const { config, state, $el: { legend }, $T } = $$; + const legendType = config.legend_item_tile_type; + const isRectangle = legendType !== "circle"; + const legendItemR = config.legend_item_tile_r; + const itemTileSize = { + width: isRectangle ? config.legend_item_tile_width : legendItemR * 2, + height: isRectangle ? config.legend_item_tile_height : legendItemR * 2 + }; + const dimension = { + padding: { + top: 4, + right: 10 + }, + max: { + width: 0, + height: 0 + }, + posMin: 10, + step: 0, + tileWidth: itemTileSize.width + 5, + totalLength: 0 + }; + const sizes = { + offsets: {}, + widths: {}, + heights: {}, + margins: [0], + steps: {} + }; + let xForLegend; + let yForLegend; + let background; + const targetIdz = targetIds.filter((id) => !isDefined(config.data_names[id]) || config.data_names[id] !== null); + const withTransition = options.withTransition; + const updatePositions = $$.getUpdateLegendPositions(targetIdz, dimension, sizes); + if (state.isLegendInset) { + dimension.step = config.legend_inset_step ? config.legend_inset_step : targetIdz.length; + $$.updateLegendStep(dimension.step); + } + if (state.isLegendRight) { + xForLegend = (id) => dimension.max.width * sizes.steps[id]; + yForLegend = (id) => sizes.margins[sizes.steps[id]] + sizes.offsets[id]; + } else if (state.isLegendInset) { + xForLegend = (id) => dimension.max.width * sizes.steps[id] + 10; + yForLegend = (id) => sizes.margins[sizes.steps[id]] + sizes.offsets[id]; + } else { + xForLegend = (id) => sizes.margins[sizes.steps[id]] + sizes.offsets[id]; + yForLegend = (id) => dimension.max.height * sizes.steps[id]; + } + const posFn = { + xText: (id, i) => xForLegend(id, i) + 4 + itemTileSize.width, + xRect: (id, i) => xForLegend(id, i), + x1Tile: (id, i) => xForLegend(id, i) - 2, + x2Tile: (id, i) => xForLegend(id, i) - 2 + itemTileSize.width, + yText: (id, i) => yForLegend(id, i) + 9, + yRect: (id, i) => yForLegend(id, i) - 5, + yTile: (id, i) => yForLegend(id, i) + 4 + }; + $$.generateLegendItem(targetIdz, itemTileSize, updatePositions, posFn); + background = legend.select(`.${$LEGEND.legendBackground} rect`); + if (state.isLegendInset && dimension.max.width > 0 && background.size() === 0) { + background = legend.insert("g", `.${$LEGEND.legendItem}`).attr("class", $LEGEND.legendBackground).append("rect"); + } + if (config.legend_tooltip) { + legend.selectAll("title").data(targetIdz).text((id) => getFormattedText.bind($$)(id, false)); + } + const texts = legend.selectAll("text").data(targetIdz).text((id) => getFormattedText.bind($$)(id)).each(function(id, i) { + updatePositions(this, id, i); + }); + $T(texts, withTransition).attr("x", posFn.xText).attr("y", posFn.yText); + const rects = legend.selectAll(`rect.${$LEGEND.legendItemEvent}`).data(targetIdz); + $T(rects, withTransition).attr("width", (id) => sizes.widths[id]).attr("height", (id) => sizes.heights[id]).attr("x", posFn.xRect).attr("y", posFn.yRect); + $$.updateLegendItemPos(targetIdz, withTransition, posFn); + if (background) { + $T(background, withTransition).attr("height", $$.getLegendHeight() - 12).attr("width", dimension.max.width * (dimension.step + 1) + 10); + } + $$.updateLegendItemWidth(dimension.max.width); + $$.updateLegendItemHeight(dimension.max.height); + $$.updateLegendStep(dimension.step); + }, + /** + * Get position update function + * @param {Array} targetIdz Data ids + * @param {object} dimension Dimension object + * @param {object} sizes Size object + * @returns {Function} Update position function + * @private + */ + getUpdateLegendPositions(targetIdz, dimension, sizes) { + const $$ = this; + const { config, state } = $$; + const isLegendRightOrInset = state.isLegendRight || state.isLegendInset; + return function(textElement, id, index) { + const reset = index === 0; + const isLast = index === targetIdz.length - 1; + const box = $$.getLegendItemTextBox(id, textElement); + const itemWidth = box.width + dimension.tileWidth + (isLast && !isLegendRightOrInset ? 0 : dimension.padding.right) + config.legend_padding; + const itemHeight = box.height + dimension.padding.top; + const itemLength = isLegendRightOrInset ? itemHeight : itemWidth; + const areaLength = isLegendRightOrInset ? $$.getLegendHeight() : $$.getLegendWidth(); + let margin; + const updateValues = function(id2, withoutStep) { + if (!withoutStep) { + margin = (areaLength - dimension.totalLength - itemLength) / 2; + if (margin < dimension.posMin) { + margin = (areaLength - itemLength) / 2; + dimension.totalLength = 0; + dimension.step++; + } + } + sizes.steps[id2] = dimension.step; + sizes.margins[dimension.step] = state.isLegendInset ? 10 : margin; + sizes.offsets[id2] = dimension.totalLength; + dimension.totalLength += itemLength; + }; + if (reset) { + dimension.totalLength = 0; + dimension.step = 0; + dimension.max.width = 0; + dimension.max.height = 0; + } + if (config.legend_show && !$$.isLegendToShow(id)) { + sizes.widths[id] = 0; + sizes.heights[id] = 0; + sizes.steps[id] = 0; + sizes.offsets[id] = 0; + return; + } + sizes.widths[id] = itemWidth; + sizes.heights[id] = itemHeight; + if (!dimension.max.width || itemWidth >= dimension.max.width) { + dimension.max.width = itemWidth; + } + if (!dimension.max.height || itemHeight >= dimension.max.height) { + dimension.max.height = itemHeight; + } + const maxLength = isLegendRightOrInset ? dimension.max.height : dimension.max.width; + if (config.legend_equally) { + Object.keys(sizes.widths).forEach((id2) => sizes.widths[id2] = dimension.max.width); + Object.keys(sizes.heights).forEach( + (id2) => sizes.heights[id2] = dimension.max.height + ); + margin = (areaLength - maxLength * targetIdz.length) / 2; + if (margin < dimension.posMin) { + dimension.totalLength = 0; + dimension.step = 0; + targetIdz.forEach((id2) => updateValues(id2)); + } else { + updateValues(id, true); + } + } else { + updateValues(id); + } + }; + }, + /** + * Generate legend item elements + * @param {Array} targetIdz Data ids + * @param {object} itemTileSize Item tile size {width, height} + * @param {Function} updatePositions Update position function + * @param {object} posFn Position functions + * @private + */ + generateLegendItem(targetIdz, itemTileSize, updatePositions, posFn) { + const $$ = this; + const { config, state, $el: { legend } } = $$; + const usePoint = config.legend_usePoint; + const legendItemR = config.legend_item_tile_r; + const legendType = config.legend_item_tile_type; + const isRectangle = legendType !== "circle"; + const isLegendRightOrInset = state.isLegendRight || state.isLegendInset; + const pos = -200; + const l = legend.selectAll(`.${$LEGEND.legendItem}`).data(targetIdz).enter().append("g"); + $$.setLegendItem(l); + if (config.legend_tooltip) { + l.append("title").text((id) => id); + } + l.append("text").text((id) => getFormattedText.bind($$)(id)).each(function(id, i) { + updatePositions(this, id, i); + }).style("pointer-events", $$.getStylePropValue("none")).attr("x", isLegendRightOrInset ? posFn.xText : pos).attr("y", isLegendRightOrInset ? pos : posFn.yText); + l.append("rect").attr("class", $LEGEND.legendItemEvent).style("fill-opacity", $$.getStylePropValue("0")).attr("x", isLegendRightOrInset ? posFn.xRect : pos).attr("y", isLegendRightOrInset ? pos : posFn.yRect); + if (usePoint) { + const ids = []; + l.append((d) => { + const pattern = notEmpty(config.point_pattern) ? config.point_pattern : [config.point_type]; + ids.indexOf(d) === -1 && ids.push(d); + let point = pattern[ids.indexOf(d) % pattern.length]; + if (point === "rectangle") { + point = "rect"; + } + return browser_doc.createElementNS( + namespaces.svg, + "hasValidPointType" in $$ && $$.hasValidPointType(point) ? point : "use" + ); + }).attr("class", $LEGEND.legendItemPoint).style("fill", getLegendColor.bind($$)).style("pointer-events", $$.getStylePropValue("none")).attr("href", (data, idx, selection) => { + const node = selection[idx]; + const nodeName = node.nodeName.toLowerCase(); + const id = $$.getTargetSelectorSuffix(data); + return nodeName === "use" ? `#${state.datetimeId}-point${id}` : void 0; + }); + } else { + l.append(isRectangle ? "line" : legendType).attr("class", $LEGEND.legendItemTile).style("stroke", getLegendColor.bind($$)).style("pointer-events", $$.getStylePropValue("none")).call((selection) => { + if (legendType === "circle") { + selection.attr("r", legendItemR).style("fill", getLegendColor.bind($$)).attr("cx", isLegendRightOrInset ? posFn.x2Tile : pos).attr("cy", isLegendRightOrInset ? pos : posFn.yTile); + } else if (isRectangle) { + selection.attr("stroke-width", itemTileSize.height).attr("x1", isLegendRightOrInset ? posFn.x1Tile : pos).attr("y1", isLegendRightOrInset ? pos : posFn.yTile).attr("x2", isLegendRightOrInset ? posFn.x2Tile : pos).attr("y2", isLegendRightOrInset ? pos : posFn.yTile); + } + }); + } + }, + /** + * Update legend item position + * @param {Array} targetIdz Data ids + * @param {boolean} withTransition Whether or not to apply transition + * @param {object} posFn Position functions + * @private + */ + updateLegendItemPos(targetIdz, withTransition, posFn) { + const $$ = this; + const { config, $el: { legend }, $T } = $$; + const usePoint = config.legend_usePoint; + const legendType = config.legend_item_tile_type; + const isRectangle = legendType !== "circle"; + if (usePoint) { + const tiles = legend.selectAll(`.${$LEGEND.legendItemPoint}`).data(targetIdz); + $T(tiles, withTransition).each(function() { + const nodeName = this.nodeName.toLowerCase(); + const pointR = config.point_r; + let x = "x"; + let y = "y"; + let xOffset = 2; + let yOffset = 2.5; + let radius = null; + let width = null; + let height = null; + if (nodeName === "circle") { + const size = pointR * 0.2; + x = "cx"; + y = "cy"; + radius = pointR + size; + xOffset = pointR * 2; + yOffset = -size; + } else if (nodeName === "rect") { + const size = pointR * 2.5; + width = size; + height = size; + yOffset = 3; + } + src_select(this).attr(x, (d) => posFn.x1Tile(d) + xOffset).attr(y, (d) => posFn.yTile(d) - yOffset).attr("r", radius).attr("width", width).attr("height", height); + }); + } else { + const tiles = legend.selectAll(`.${$LEGEND.legendItemTile}`).data(targetIdz); + $T(tiles, withTransition).style("stroke", getLegendColor.bind($$)).call((selection) => { + if (legendType === "circle") { + selection.attr("cx", (d) => { + const x2 = posFn.x2Tile(d); + return x2 - (x2 - posFn.x1Tile(d)) / 2; + }).attr("cy", posFn.yTile); + } else if (isRectangle) { + selection.attr("x1", posFn.x1Tile).attr("y1", posFn.yTile).attr("x2", posFn.x2Tile).attr("y2", posFn.yTile); + } + }); + } + } +}); + +;// ./src/ChartInternal/internals/redraw.ts + + + + +/* harmony default export */ var redraw = ({ + redraw(options = {}) { + var _a, _b, _c, _d; + const $$ = this; + const { config, state, $el } = $$; + const { main, treemap } = $el; + state.redrawing = true; + const targetsToShow = $$.filterTargetsToShow($$.data.targets); + const { flow, initializing } = options; + const wth = $$.getWithOption(options); + const duration = wth.Transition ? config.transition_duration : 0; + const durationForExit = wth.TransitionForExit ? duration : 0; + const durationForAxis = wth.TransitionForAxis ? duration : 0; + const transitions = (_a = $$.axis) == null ? void 0 : _a.generateTransitions(durationForAxis); + $$.updateSizes(initializing); + if (wth.Legend && config.legend_show) { + options.withTransition = !!duration; + !treemap && $$.updateLegend($$.mapToIds($$.data.targets), options, transitions); + } else if (wth.Dimension) { + $$.updateDimension(true); + } + config.data_empty_label_text && main.select(`text.${$TEXT.text}.${$COMMON.empty}`).attr("x", state.width / 2).attr("y", state.height / 2).text(config.data_empty_label_text).style("display", targetsToShow.length ? "none" : null); + if (state.hasAxis) { + $$.axis.redrawAxis(targetsToShow, wth, transitions, flow, initializing); + $$.hasGrid() && $$.updateGrid(); + config.regions.length && $$.updateRegion(); + ["bar", "candlestick", "line", "area"].forEach((v) => { + const name = capitalize(v); + if (/^(line|area)$/.test(v) && $$.hasTypeOf(name) || $$.hasType(v)) { + $$[`update${name}`](wth.TransitionForExit); + } + }); + $el.text && main.selectAll(`.${$SELECT.selectedCircles}`).filter($$.isBarType.bind($$)).selectAll("circle").remove(); + if (config.interaction_enabled && !flow && wth.EventRect) { + $$.redrawEventRect(); + (_b = $$.bindZoomEvent) == null ? void 0 : _b.call($$); + } + } else { + $el.arcs && $$.redrawArc(duration, durationForExit, wth.Transform); + $el.radar && $$.redrawRadar(); + $el.polar && $$.redrawPolar(); + $el.funnel && $$.redrawFunnel(); + treemap && $$.updateTreemap(durationForExit); + } + if (!state.resizing && !treemap && ($$.hasPointType() || state.hasRadar)) { + $$.updateCircle(); + } else if ((_c = $$.hasLegendDefsPoint) == null ? void 0 : _c.call($$)) { + $$.data.targets.forEach($$.point("create", this)); + } + $$.hasDataLabel() && !$$.hasArcType(null, ["radar"]) && $$.updateText(); + (_d = $$.redrawTitle) == null ? void 0 : _d.call($$); + initializing && $$.updateTypesElements(); + $$.generateRedrawList(targetsToShow, flow, duration, wth.Subchart); + $$.updateTooltipOnRedraw(); + $$.callPluginHook("$redraw", options, duration); + }, + /** + * Generate redraw list + * @param {object} targets targets data to be shown + * @param {object} flow flow object + * @param {number} duration duration value + * @param {boolean} withSubchart whether or not to show subchart + * @private + */ + generateRedrawList(targets, flow, duration, withSubchart) { + const $$ = this; + const { config, state } = $$; + const shape = $$.getDrawShape(); + if (state.hasAxis) { + config.subchart_show && $$.redrawSubchart(withSubchart, duration, shape); + } + const flowFn = flow && $$.generateFlow({ + targets, + flow, + duration: flow.duration, + shape, + xv: $$.xv.bind($$) + }); + const withTransition = (duration || flowFn) && isTabVisible(); + const redrawList = $$.getRedrawList(shape, flow, flowFn, withTransition); + const afterRedraw = () => { + flowFn && flowFn(); + state.redrawing = false; + callFn(config.onrendered, $$.api); + }; + if (afterRedraw) { + if (withTransition && redrawList.length) { + const waitForDraw = generateWait(); + transition_transition().duration(duration).each(() => { + redrawList.reduce((acc, t1) => acc.concat(t1), []).forEach((t) => waitForDraw.add(t)); + }).call(waitForDraw, afterRedraw); + } else if (!state.transiting) { + afterRedraw(); + } + } + $$.mapToIds($$.data.targets).forEach((id) => { + state.withoutFadeIn[id] = true; + }); + }, + getRedrawList(shape, flow, flowFn, withTransition) { + const $$ = this; + const { config, state: { hasAxis, hasRadar, hasTreemap }, $el: { grid } } = $$; + const { cx, cy, xForText, yForText } = shape.pos; + const list = []; + if (hasAxis) { + if (config.grid_x_lines.length || config.grid_y_lines.length) { + list.push($$.redrawGrid(withTransition)); + } + if (config.regions.length) { + list.push($$.redrawRegion(withTransition)); + } + Object.keys(shape.type).forEach((v) => { + const name = capitalize(v); + const drawFn = shape.type[v]; + if (/^(area|line)$/.test(v) && $$.hasTypeOf(name) || $$.hasType(v)) { + list.push($$[`redraw${name}`](drawFn, withTransition)); + } + }); + !flow && grid.main && list.push($$.updateGridFocus()); + } + if (!$$.hasArcType() || hasRadar) { + notEmpty(config.data_labels) && config.data_labels !== false && list.push($$.redrawText(xForText, yForText, flow, withTransition)); + } + if (($$.hasPointType() || hasRadar) && !$$.isPointFocusOnly()) { + $$.redrawCircle && list.push($$.redrawCircle(cx, cy, withTransition, flowFn)); + } + if (hasTreemap) { + list.push($$.redrawTreemap(withTransition)); + } + return list; + }, + updateAndRedraw(options = {}) { + const $$ = this; + const { config, state } = $$; + let transitions; + options.withTransition = getOption(options, "withTransition", true); + options.withTransform = getOption(options, "withTransform", false); + options.withLegend = getOption(options, "withLegend", false); + options.withUpdateXDomain = true; + options.withUpdateOrgXDomain = true; + options.withTransitionForExit = false; + options.withTransitionForTransform = getOption( + options, + "withTransitionForTransform", + options.withTransition + ); + if (!(options.withLegend && config.legend_show)) { + if (state.hasAxis) { + transitions = $$.axis.generateTransitions( + options.withTransitionForAxis ? config.transition_duration : 0 + ); + } + $$.updateScales(); + $$.updateSvgSize(); + $$.transformAll(options.withTransitionForTransform, transitions); + } + $$.redraw(options, transitions); + } +}); + +;// ./node_modules/d3-array/src/ticks.js +const e10 = Math.sqrt(50), e5 = Math.sqrt(10), e2 = Math.sqrt(2); +function tickSpec(start, stop, count) { + const step = (stop - start) / Math.max(0, count), power = Math.floor(Math.log10(step)), error = step / Math.pow(10, power), factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1; + let i1, i2, inc; + if (power < 0) { + inc = Math.pow(10, -power) / factor; + i1 = Math.round(start * inc); + i2 = Math.round(stop * inc); + if (i1 / inc < start) ++i1; + if (i2 / inc > stop) --i2; + inc = -inc; + } else { + inc = Math.pow(10, power) * factor; + i1 = Math.round(start / inc); + i2 = Math.round(stop / inc); + if (i1 * inc < start) ++i1; + if (i2 * inc > stop) --i2; + } + if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2); + return [i1, i2, inc]; +} +function ticks(start, stop, count) { + stop = +stop, start = +start, count = +count; + if (!(count > 0)) return []; + if (start === stop) return [start]; + const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count); + if (!(i2 >= i1)) return []; + const n = i2 - i1 + 1, ticks2 = new Array(n); + if (reverse) { + if (inc < 0) for (let i = 0; i < n; ++i) ticks2[i] = (i2 - i) / -inc; + else for (let i = 0; i < n; ++i) ticks2[i] = (i2 - i) * inc; + } else { + if (inc < 0) for (let i = 0; i < n; ++i) ticks2[i] = (i1 + i) / -inc; + else for (let i = 0; i < n; ++i) ticks2[i] = (i1 + i) * inc; + } + return ticks2; +} +function tickIncrement(start, stop, count) { + stop = +stop, start = +start, count = +count; + return tickSpec(start, stop, count)[2]; +} +function tickStep(start, stop, count) { + stop = +stop, start = +start, count = +count; + const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count); + return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc); +} + +;// ./node_modules/d3-array/src/ascending.js +function ascending_ascending(a, b) { + return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; +} + +;// ./node_modules/d3-array/src/descending.js +function descending(a, b) { + return a == null || b == null ? NaN : b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; +} + +;// ./node_modules/d3-array/src/bisector.js + + +function bisector(f) { + let compare1, compare2, delta; + if (f.length !== 2) { + compare1 = ascending_ascending; + compare2 = (d, x) => ascending_ascending(f(d), x); + delta = (d, x) => f(d) - x; + } else { + compare1 = f === ascending_ascending || f === descending ? f : bisector_zero; + compare2 = f; + delta = f; + } + function left(a, x, lo = 0, hi = a.length) { + if (lo < hi) { + if (compare1(x, x) !== 0) return hi; + do { + const mid = lo + hi >>> 1; + if (compare2(a[mid], x) < 0) lo = mid + 1; + else hi = mid; + } while (lo < hi); + } + return lo; + } + function right(a, x, lo = 0, hi = a.length) { + if (lo < hi) { + if (compare1(x, x) !== 0) return hi; + do { + const mid = lo + hi >>> 1; + if (compare2(a[mid], x) <= 0) lo = mid + 1; + else hi = mid; + } while (lo < hi); + } + return lo; + } + function center(a, x, lo = 0, hi = a.length) { + const i = left(a, x, lo, hi - 1); + return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i; + } + return { left, center, right }; +} +function bisector_zero() { + return 0; +} + +;// ./node_modules/d3-array/src/number.js +function number_number(x) { + return x === null ? NaN : +x; +} +function* numbers(values, valueof) { + if (valueof === void 0) { + for (let value of values) { + if (value != null && (value = +value) >= value) { + yield value; + } + } + } else { + let index = -1; + for (let value of values) { + if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) { + yield value; + } + } + } +} + +;// ./node_modules/d3-array/src/bisect.js + + + +const ascendingBisect = bisector(ascending_ascending); +const bisectRight = ascendingBisect.right; +const bisectLeft = ascendingBisect.left; +const bisectCenter = bisector(number_number).center; +/* harmony default export */ var bisect = (bisectRight); + +;// ./node_modules/d3-interpolate/src/round.js +/* harmony default export */ function round(a, b) { + return a = +a, b = +b, function(t) { + return Math.round(a * (1 - t) + b * t); + }; +} + +;// ./node_modules/d3-scale/src/constant.js +function constants(x) { + return function() { + return x; + }; +} + +;// ./node_modules/d3-scale/src/number.js +function src_number_number(x) { + return +x; +} + +;// ./node_modules/d3-scale/src/continuous.js + + + + +var unit = [0, 1]; +function continuous_identity(x) { + return x; +} +function normalize(a, b) { + return (b -= a = +a) ? function(x) { + return (x - a) / b; + } : constants(isNaN(b) ? NaN : 0.5); +} +function clamper(a, b) { + var t; + if (a > b) t = a, a = b, b = t; + return function(x) { + return Math.max(a, Math.min(b, x)); + }; +} +function bimap(domain, range, interpolate) { + var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1]; + if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0); + else d0 = normalize(d0, d1), r0 = interpolate(r0, r1); + return function(x) { + return r0(d0(x)); + }; +} +function polymap(domain, range, interpolate) { + var j = Math.min(domain.length, range.length) - 1, d = new Array(j), r = new Array(j), i = -1; + if (domain[j] < domain[0]) { + domain = domain.slice().reverse(); + range = range.slice().reverse(); + } + while (++i < j) { + d[i] = normalize(domain[i], domain[i + 1]); + r[i] = interpolate(range[i], range[i + 1]); + } + return function(x) { + var i2 = bisect(domain, x, 1, j) - 1; + return r[i2](d[i2](x)); + }; +} +function copy(source, target) { + return target.domain(source.domain()).range(source.range()).interpolate(source.interpolate()).clamp(source.clamp()).unknown(source.unknown()); +} +function transformer() { + var domain = unit, range = unit, interpolate = value, transform, untransform, unknown, clamp = continuous_identity, piecewise, output, input; + function rescale() { + var n = Math.min(domain.length, range.length); + if (clamp !== continuous_identity) clamp = clamper(domain[0], domain[n - 1]); + piecewise = n > 2 ? polymap : bimap; + output = input = null; + return scale; + } + function scale(x) { + return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x))); + } + scale.invert = function(y) { + return clamp(untransform((input || (input = piecewise(range, domain.map(transform), number)))(y))); + }; + scale.domain = function(_) { + return arguments.length ? (domain = Array.from(_, src_number_number), rescale()) : domain.slice(); + }; + scale.range = function(_) { + return arguments.length ? (range = Array.from(_), rescale()) : range.slice(); + }; + scale.rangeRound = function(_) { + return range = Array.from(_), interpolate = round, rescale(); + }; + scale.clamp = function(_) { + return arguments.length ? (clamp = _ ? true : continuous_identity, rescale()) : clamp !== continuous_identity; + }; + scale.interpolate = function(_) { + return arguments.length ? (interpolate = _, rescale()) : interpolate; + }; + scale.unknown = function(_) { + return arguments.length ? (unknown = _, scale) : unknown; + }; + return function(t, u) { + transform = t, untransform = u; + return rescale(); + }; +} +function continuous() { + return transformer()(continuous_identity, continuous_identity); +} + +;// ./node_modules/d3-format/src/formatSpecifier.js +var re = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i; +function formatSpecifier(specifier) { + if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier); + var match; + return new FormatSpecifier({ + fill: match[1], + align: match[2], + sign: match[3], + symbol: match[4], + zero: match[5], + width: match[6], + comma: match[7], + precision: match[8] && match[8].slice(1), + trim: match[9], + type: match[10] + }); +} +formatSpecifier.prototype = FormatSpecifier.prototype; +function FormatSpecifier(specifier) { + this.fill = specifier.fill === void 0 ? " " : specifier.fill + ""; + this.align = specifier.align === void 0 ? ">" : specifier.align + ""; + this.sign = specifier.sign === void 0 ? "-" : specifier.sign + ""; + this.symbol = specifier.symbol === void 0 ? "" : specifier.symbol + ""; + this.zero = !!specifier.zero; + this.width = specifier.width === void 0 ? void 0 : +specifier.width; + this.comma = !!specifier.comma; + this.precision = specifier.precision === void 0 ? void 0 : +specifier.precision; + this.trim = !!specifier.trim; + this.type = specifier.type === void 0 ? "" : specifier.type + ""; +} +FormatSpecifier.prototype.toString = function() { + return this.fill + this.align + this.sign + this.symbol + (this.zero ? "0" : "") + (this.width === void 0 ? "" : Math.max(1, this.width | 0)) + (this.comma ? "," : "") + (this.precision === void 0 ? "" : "." + Math.max(0, this.precision | 0)) + (this.trim ? "~" : "") + this.type; +}; + +;// ./node_modules/d3-format/src/formatDecimal.js +/* harmony default export */ function formatDecimal(x) { + return Math.abs(x = Math.round(x)) >= 1e21 ? x.toLocaleString("en").replace(/,/g, "") : x.toString(10); +} +function formatDecimalParts(x, p) { + if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; + var i, coefficient = x.slice(0, i); + return [ + coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient, + +x.slice(i + 1) + ]; +} + +;// ./node_modules/d3-format/src/exponent.js + +/* harmony default export */ function exponent(x) { + return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN; +} + +;// ./node_modules/d3-format/src/precisionPrefix.js + +/* harmony default export */ function precisionPrefix(step, value) { + return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step))); +} + +;// ./node_modules/d3-format/src/formatGroup.js +/* harmony default export */ function formatGroup(grouping, thousands) { + return function(value, width) { + var i = value.length, t = [], j = 0, g = grouping[0], length = 0; + while (i > 0 && g > 0) { + if (length + g + 1 > width) g = Math.max(1, width - length); + t.push(value.substring(i -= g, i + g)); + if ((length += g + 1) > width) break; + g = grouping[j = (j + 1) % grouping.length]; + } + return t.reverse().join(thousands); + }; +} + +;// ./node_modules/d3-format/src/formatNumerals.js +/* harmony default export */ function formatNumerals(numerals) { + return function(value) { + return value.replace(/[0-9]/g, function(i) { + return numerals[+i]; + }); + }; +} + +;// ./node_modules/d3-format/src/formatTrim.js +/* harmony default export */ function formatTrim(s) { + out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) { + switch (s[i]) { + case ".": + i0 = i1 = i; + break; + case "0": + if (i0 === 0) i0 = i; + i1 = i; + break; + default: + if (!+s[i]) break out; + if (i0 > 0) i0 = 0; + break; + } + } + return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s; +} + +;// ./node_modules/d3-format/src/formatPrefixAuto.js + +var prefixExponent; +/* harmony default export */ function formatPrefixAuto(x, p) { + var d = formatDecimalParts(x, p); + if (!d) return x + ""; + var coefficient = d[0], exponent = d[1], i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1, n = coefficient.length; + return i === n ? coefficient : i > n ? coefficient + new Array(i - n + 1).join("0") : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i) : "0." + new Array(1 - i).join("0") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; +} + +;// ./node_modules/d3-format/src/formatRounded.js + +/* harmony default export */ function formatRounded(x, p) { + var d = formatDecimalParts(x, p); + if (!d) return x + ""; + var coefficient = d[0], exponent = d[1]; + return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1) : coefficient + new Array(exponent - coefficient.length + 2).join("0"); +} + +;// ./node_modules/d3-format/src/formatTypes.js + + + +/* harmony default export */ var formatTypes = ({ + "%": (x, p) => (x * 100).toFixed(p), + "b": (x) => Math.round(x).toString(2), + "c": (x) => x + "", + "d": formatDecimal, + "e": (x, p) => x.toExponential(p), + "f": (x, p) => x.toFixed(p), + "g": (x, p) => x.toPrecision(p), + "o": (x) => Math.round(x).toString(8), + "p": (x, p) => formatRounded(x * 100, p), + "r": formatRounded, + "s": formatPrefixAuto, + "X": (x) => Math.round(x).toString(16).toUpperCase(), + "x": (x) => Math.round(x).toString(16) +}); + +;// ./node_modules/d3-format/src/identity.js +/* harmony default export */ function src_identity(x) { + return x; +} + +;// ./node_modules/d3-format/src/locale.js + + + + + + + + +var map = Array.prototype.map, prefixes = ["y", "z", "a", "f", "p", "n", "\xB5", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"]; +/* harmony default export */ function src_locale(locale) { + var group = locale.grouping === void 0 || locale.thousands === void 0 ? src_identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + ""), currencyPrefix = locale.currency === void 0 ? "" : locale.currency[0] + "", currencySuffix = locale.currency === void 0 ? "" : locale.currency[1] + "", decimal = locale.decimal === void 0 ? "." : locale.decimal + "", numerals = locale.numerals === void 0 ? src_identity : formatNumerals(map.call(locale.numerals, String)), percent = locale.percent === void 0 ? "%" : locale.percent + "", minus = locale.minus === void 0 ? "\u2212" : locale.minus + "", nan = locale.nan === void 0 ? "NaN" : locale.nan + ""; + function newFormat(specifier) { + specifier = formatSpecifier(specifier); + var fill = specifier.fill, align = specifier.align, sign = specifier.sign, symbol = specifier.symbol, zero = specifier.zero, width = specifier.width, comma = specifier.comma, precision = specifier.precision, trim = specifier.trim, type = specifier.type; + if (type === "n") comma = true, type = "g"; + else if (!formatTypes[type]) precision === void 0 && (precision = 12), trim = true, type = "g"; + if (zero || fill === "0" && align === "=") zero = true, fill = "0", align = "="; + var prefix = symbol === "$" ? currencyPrefix : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "", suffix = symbol === "$" ? currencySuffix : /[%p]/.test(type) ? percent : ""; + var formatType = formatTypes[type], maybeSuffix = /[defgprs%]/.test(type); + precision = precision === void 0 ? 6 : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision)) : Math.max(0, Math.min(20, precision)); + function format(value) { + var valuePrefix = prefix, valueSuffix = suffix, i, n, c; + if (type === "c") { + valueSuffix = formatType(value) + valueSuffix; + value = ""; + } else { + value = +value; + var valueNegative = value < 0 || 1 / value < 0; + value = isNaN(value) ? nan : formatType(Math.abs(value), precision); + if (trim) value = formatTrim(value); + if (valueNegative && +value === 0 && sign !== "+") valueNegative = false; + valuePrefix = (valueNegative ? sign === "(" ? sign : minus : sign === "-" || sign === "(" ? "" : sign) + valuePrefix; + valueSuffix = (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + valueSuffix + (valueNegative && sign === "(" ? ")" : ""); + if (maybeSuffix) { + i = -1, n = value.length; + while (++i < n) { + if (c = value.charCodeAt(i), 48 > c || c > 57) { + valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix; + value = value.slice(0, i); + break; + } + } + } + } + if (comma && !zero) value = group(value, Infinity); + var length = valuePrefix.length + value.length + valueSuffix.length, padding = length < width ? new Array(width - length + 1).join(fill) : ""; + if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = ""; + switch (align) { + case "<": + value = valuePrefix + value + valueSuffix + padding; + break; + case "=": + value = valuePrefix + padding + value + valueSuffix; + break; + case "^": + value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); + break; + default: + value = padding + valuePrefix + value + valueSuffix; + break; + } + return numerals(value); + } + format.toString = function() { + return specifier + ""; + }; + return format; + } + function formatPrefix(specifier, value) { + var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)), e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3, k = Math.pow(10, -e), prefix = prefixes[8 + e / 3]; + return function(value2) { + return f(k * value2) + prefix; + }; + } + return { + format: newFormat, + formatPrefix + }; +} + +;// ./node_modules/d3-format/src/defaultLocale.js + +var defaultLocale_locale; +var defaultLocale_format; +var formatPrefix; +defaultLocale_defaultLocale({ + thousands: ",", + grouping: [3], + currency: ["$", ""] +}); +function defaultLocale_defaultLocale(definition) { + defaultLocale_locale = src_locale(definition); + defaultLocale_format = defaultLocale_locale.format; + formatPrefix = defaultLocale_locale.formatPrefix; + return defaultLocale_locale; +} + +;// ./node_modules/d3-format/src/precisionRound.js + +/* harmony default export */ function precisionRound(step, max) { + step = Math.abs(step), max = Math.abs(max) - step; + return Math.max(0, exponent(max) - exponent(step)) + 1; +} + +;// ./node_modules/d3-format/src/precisionFixed.js + +/* harmony default export */ function precisionFixed(step) { + return Math.max(0, -exponent(Math.abs(step))); +} + +;// ./node_modules/d3-scale/src/tickFormat.js + + +function tickFormat(start, stop, count, specifier) { + var step = tickStep(start, stop, count), precision; + specifier = formatSpecifier(specifier == null ? ",f" : specifier); + switch (specifier.type) { + case "s": { + var value = Math.max(Math.abs(start), Math.abs(stop)); + if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision; + return formatPrefix(specifier, value); + } + case "": + case "e": + case "g": + case "p": + case "r": { + if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e"); + break; + } + case "f": + case "%": { + if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === "%") * 2; + break; + } + } + return defaultLocale_format(specifier); +} + +;// ./node_modules/d3-scale/src/linear.js + + + + +function linearish(scale) { + var domain = scale.domain; + scale.ticks = function(count) { + var d = domain(); + return ticks(d[0], d[d.length - 1], count == null ? 10 : count); + }; + scale.tickFormat = function(count, specifier) { + var d = domain(); + return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier); + }; + scale.nice = function(count) { + if (count == null) count = 10; + var d = domain(); + var i0 = 0; + var i1 = d.length - 1; + var start = d[i0]; + var stop = d[i1]; + var prestep; + var step; + var maxIter = 10; + if (stop < start) { + step = start, start = stop, stop = step; + step = i0, i0 = i1, i1 = step; + } + while (maxIter-- > 0) { + step = tickIncrement(start, stop, count); + if (step === prestep) { + d[i0] = start; + d[i1] = stop; + return domain(d); + } else if (step > 0) { + start = Math.floor(start / step) * step; + stop = Math.ceil(stop / step) * step; + } else if (step < 0) { + start = Math.ceil(start * step) / step; + stop = Math.floor(stop * step) / step; + } else { + break; + } + prestep = step; + } + return scale; + }; + return scale; +} +function linear_linear() { + var scale = continuous(); + scale.copy = function() { + return copy(scale, linear_linear()); + }; + initRange.apply(scale, arguments); + return linearish(scale); +} + +;// ./node_modules/d3-scale/src/symlog.js + + + +function transformSymlog(c) { + return function(x) { + return Math.sign(x) * Math.log1p(Math.abs(x / c)); + }; +} +function transformSymexp(c) { + return function(x) { + return Math.sign(x) * Math.expm1(Math.abs(x)) * c; + }; +} +function symlogish(transform) { + var c = 1, scale = transform(transformSymlog(c), transformSymexp(c)); + scale.constant = function(_) { + return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c; + }; + return linearish(scale); +} +function symlog() { + var scale = symlogish(transformer()); + scale.copy = function() { + return copy(scale, symlog()).constant(scale.constant()); + }; + return initRange.apply(scale, arguments); +} + +;// ./node_modules/d3-scale/src/nice.js +function nice(domain, interval) { + domain = domain.slice(); + var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], t; + if (x1 < x0) { + t = i0, i0 = i1, i1 = t; + t = x0, x0 = x1, x1 = t; + } + domain[i0] = interval.floor(x0); + domain[i1] = interval.ceil(x1); + return domain; +} + +;// ./node_modules/d3-scale/src/log.js + + + + + +function transformLog(x) { + return Math.log(x); +} +function transformExp(x) { + return Math.exp(x); +} +function transformLogn(x) { + return -Math.log(-x); +} +function transformExpn(x) { + return -Math.exp(-x); +} +function pow10(x) { + return isFinite(x) ? +("1e" + x) : x < 0 ? 0 : x; +} +function powp(base) { + return base === 10 ? pow10 : base === Math.E ? Math.exp : (x) => Math.pow(base, x); +} +function logp(base) { + return base === Math.E ? Math.log : base === 10 && Math.log10 || base === 2 && Math.log2 || (base = Math.log(base), (x) => Math.log(x) / base); +} +function reflect(f) { + return (x, k) => -f(-x, k); +} +function loggish(transform) { + const scale = transform(transformLog, transformExp); + const domain = scale.domain; + let base = 10; + let logs; + let pows; + function rescale() { + logs = logp(base), pows = powp(base); + if (domain()[0] < 0) { + logs = reflect(logs), pows = reflect(pows); + transform(transformLogn, transformExpn); + } else { + transform(transformLog, transformExp); + } + return scale; + } + scale.base = function(_) { + return arguments.length ? (base = +_, rescale()) : base; + }; + scale.domain = function(_) { + return arguments.length ? (domain(_), rescale()) : domain(); + }; + scale.ticks = (count) => { + const d = domain(); + let u = d[0]; + let v = d[d.length - 1]; + const r = v < u; + if (r) [u, v] = [v, u]; + let i = logs(u); + let j = logs(v); + let k; + let t; + const n = count == null ? 10 : +count; + let z = []; + if (!(base % 1) && j - i < n) { + i = Math.floor(i), j = Math.ceil(j); + if (u > 0) for (; i <= j; ++i) { + for (k = 1; k < base; ++k) { + t = i < 0 ? k / pows(-i) : k * pows(i); + if (t < u) continue; + if (t > v) break; + z.push(t); + } + } + else for (; i <= j; ++i) { + for (k = base - 1; k >= 1; --k) { + t = i > 0 ? k / pows(-i) : k * pows(i); + if (t < u) continue; + if (t > v) break; + z.push(t); + } + } + if (z.length * 2 < n) z = ticks(u, v, n); + } else { + z = ticks(i, j, Math.min(j - i, n)).map(pows); + } + return r ? z.reverse() : z; + }; + scale.tickFormat = (count, specifier) => { + if (count == null) count = 10; + if (specifier == null) specifier = base === 10 ? "s" : ","; + if (typeof specifier !== "function") { + if (!(base % 1) && (specifier = formatSpecifier(specifier)).precision == null) specifier.trim = true; + specifier = defaultLocale_format(specifier); + } + if (count === Infinity) return specifier; + const k = Math.max(1, base * count / scale.ticks().length); + return (d) => { + let i = d / pows(Math.round(logs(d))); + if (i * base < base - 0.5) i *= base; + return i <= k ? specifier(d) : ""; + }; + }; + scale.nice = () => { + return domain(nice(domain(), { + floor: (x) => pows(Math.floor(logs(x))), + ceil: (x) => pows(Math.ceil(logs(x))) + })); + }; + return scale; +} +function log() { + const scale = loggish(transformer()).domain([1, 10]); + scale.copy = () => copy(scale, log()).base(scale.base()); + initRange.apply(scale, arguments); + return scale; +} + +;// ./node_modules/d3-time/src/millisecond.js + +const millisecond = timeInterval(() => { +}, (date, step) => { + date.setTime(+date + step); +}, (start, end) => { + return end - start; +}); +millisecond.every = (k) => { + k = Math.floor(k); + if (!isFinite(k) || !(k > 0)) return null; + if (!(k > 1)) return millisecond; + return timeInterval((date) => { + date.setTime(Math.floor(date / k) * k); + }, (date, step) => { + date.setTime(+date + step * k); + }, (start, end) => { + return (end - start) / k; + }); +}; +const milliseconds = millisecond.range; + +;// ./node_modules/d3-time/src/second.js + + +const second = timeInterval((date) => { + date.setTime(date - date.getMilliseconds()); +}, (date, step) => { + date.setTime(+date + step * durationSecond); +}, (start, end) => { + return (end - start) / durationSecond; +}, (date) => { + return date.getUTCSeconds(); +}); +const seconds = second.range; + +;// ./node_modules/d3-time/src/minute.js + + +const timeMinute = timeInterval((date) => { + date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond); +}, (date, step) => { + date.setTime(+date + step * durationMinute); +}, (start, end) => { + return (end - start) / durationMinute; +}, (date) => { + return date.getMinutes(); +}); +const timeMinutes = timeMinute.range; +const utcMinute = timeInterval((date) => { + date.setUTCSeconds(0, 0); +}, (date, step) => { + date.setTime(+date + step * durationMinute); +}, (start, end) => { + return (end - start) / durationMinute; +}, (date) => { + return date.getUTCMinutes(); +}); +const utcMinutes = utcMinute.range; + +;// ./node_modules/d3-time/src/hour.js + + +const timeHour = timeInterval((date) => { + date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute); +}, (date, step) => { + date.setTime(+date + step * durationHour); +}, (start, end) => { + return (end - start) / durationHour; +}, (date) => { + return date.getHours(); +}); +const timeHours = timeHour.range; +const utcHour = timeInterval((date) => { + date.setUTCMinutes(0, 0, 0); +}, (date, step) => { + date.setTime(+date + step * durationHour); +}, (start, end) => { + return (end - start) / durationHour; +}, (date) => { + return date.getUTCHours(); +}); +const utcHours = utcHour.range; + +;// ./node_modules/d3-time/src/month.js + +const timeMonth = timeInterval((date) => { + date.setDate(1); + date.setHours(0, 0, 0, 0); +}, (date, step) => { + date.setMonth(date.getMonth() + step); +}, (start, end) => { + return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12; +}, (date) => { + return date.getMonth(); +}); +const timeMonths = timeMonth.range; +const utcMonth = timeInterval((date) => { + date.setUTCDate(1); + date.setUTCHours(0, 0, 0, 0); +}, (date, step) => { + date.setUTCMonth(date.getUTCMonth() + step); +}, (start, end) => { + return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12; +}, (date) => { + return date.getUTCMonth(); +}); +const utcMonths = utcMonth.range; + +;// ./node_modules/d3-time/src/ticks.js + + + + + + + + + + +function ticker(year, month, week, day, hour, minute) { + const tickIntervals = [ + [second, 1, durationSecond], + [second, 5, 5 * durationSecond], + [second, 15, 15 * durationSecond], + [second, 30, 30 * durationSecond], + [minute, 1, durationMinute], + [minute, 5, 5 * durationMinute], + [minute, 15, 15 * durationMinute], + [minute, 30, 30 * durationMinute], + [hour, 1, durationHour], + [hour, 3, 3 * durationHour], + [hour, 6, 6 * durationHour], + [hour, 12, 12 * durationHour], + [day, 1, durationDay], + [day, 2, 2 * durationDay], + [week, 1, durationWeek], + [month, 1, durationMonth], + [month, 3, 3 * durationMonth], + [year, 1, durationYear] + ]; + function ticks(start, stop, count) { + const reverse = stop < start; + if (reverse) [start, stop] = [stop, start]; + const interval = count && typeof count.range === "function" ? count : tickInterval(start, stop, count); + const ticks2 = interval ? interval.range(start, +stop + 1) : []; + return reverse ? ticks2.reverse() : ticks2; + } + function tickInterval(start, stop, count) { + const target = Math.abs(stop - start) / count; + const i = bisector(([, , step2]) => step2).right(tickIntervals, target); + if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count)); + if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1)); + const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i]; + return t.every(step); + } + return [ticks, tickInterval]; +} +const [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcSunday, unixDay, utcHour, utcMinute); +const [timeTicks, timeTickInterval] = ticker(timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute); + + +;// ./node_modules/d3-scale/src/time.js + + + + + +function time_date(t) { + return new Date(t); +} +function time_number(t) { + return t instanceof Date ? +t : +/* @__PURE__ */ new Date(+t); +} +function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) { + var scale = continuous(), invert = scale.invert, domain = scale.domain; + var formatMillisecond = format(".%L"), formatSecond = format(":%S"), formatMinute = format("%I:%M"), formatHour = format("%I %p"), formatDay = format("%a %d"), formatWeek = format("%b %d"), formatMonth = format("%B"), formatYear = format("%Y"); + function tickFormat(date2) { + return (second(date2) < date2 ? formatMillisecond : minute(date2) < date2 ? formatSecond : hour(date2) < date2 ? formatMinute : day(date2) < date2 ? formatHour : month(date2) < date2 ? week(date2) < date2 ? formatDay : formatWeek : year(date2) < date2 ? formatMonth : formatYear)(date2); + } + scale.invert = function(y) { + return new Date(invert(y)); + }; + scale.domain = function(_) { + return arguments.length ? domain(Array.from(_, time_number)) : domain().map(time_date); + }; + scale.ticks = function(interval) { + var d = domain(); + return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval); + }; + scale.tickFormat = function(count, specifier) { + return specifier == null ? tickFormat : format(specifier); + }; + scale.nice = function(interval) { + var d = domain(); + if (!interval || typeof interval.range !== "function") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval); + return interval ? domain(nice(d, interval)) : scale; + }; + scale.copy = function() { + return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format)); + }; + return scale; +} +function time() { + return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute, second, timeFormat).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), arguments); +} + +;// ./node_modules/d3-scale/src/utcTime.js + + + + +function utcTime() { + return initRange.apply(calendar(utcTicks, utcTickInterval, utcYear, utcMonth, utcSunday, utcDay, utcHour, utcMinute, second, utcFormat).domain([Date.UTC(2e3, 0, 1), Date.UTC(2e3, 0, 2)]), arguments); +} + +;// ./src/ChartInternal/internals/scale.ts + + +function getScale(type = "linear", min, max) { + const scale = { + linear: linear_linear, + log: symlog, + _log: log, + time: time, + utc: utcTime + }[type](); + scale.type = type; + /_?log/.test(type) && scale.clamp(true); + return scale.range([min != null ? min : 0, max != null ? max : 1]); +} +/* harmony default export */ var scale = ({ + /** + * Get x Axis scale function + * @param {number} min Min range value + * @param {number} max Max range value + * @param {Array} domain Domain value + * @param {Function} offset The offset getter to be sum + * @returns {Function} scale + * @private + */ + getXScale(min, max, domain, offset) { + const $$ = this; + const scale = $$.state.loading !== "append" && $$.scale.zoom || getScale($$.axis.getAxisType("x"), min, max); + return $$.getCustomizedXScale( + domain ? scale.domain(domain) : scale, + offset + ); + }, + /** + * Get y Axis scale function + * @param {string} id Axis id: 'y' or 'y2' + * @param {number} min Min value + * @param {number} max Max value + * @param {Array} domain Domain value + * @returns {Function} Scale function + * @private + */ + getYScale(id, min, max, domain) { + const $$ = this; + const scale = getScale($$.axis.getAxisType(id), min, max); + domain && scale.domain(domain); + return scale; + }, + /** + * Get y Axis scale + * @param {string} id Axis id + * @param {boolean} isSub Weather is sub Axis + * @returns {Function} Scale function + * @private + */ + getYScaleById(id, isSub = false) { + var _a; + const isY2 = ((_a = this.axis) == null ? void 0 : _a.getId(id)) === "y2"; + const key = isSub ? isY2 ? "subY2" : "subY" : isY2 ? "y2" : "y"; + return this.scale[key]; + }, + /** + * Get customized x axis scale + * @param {d3.scaleLinear|d3.scaleTime} scaleValue Scale function + * @param {Function} offsetValue Offset getter to be sum + * @returns {Function} Scale function + * @private + */ + getCustomizedXScale(scaleValue, offsetValue) { + const $$ = this; + const offset = offsetValue || (() => $$.axis.x.tickOffset()); + const isInverted = $$.config.axis_x_inverted; + const scale = function(d) { + return scaleValue(d) + offset(); + }; + for (const key in scaleValue) { + scale[key] = scaleValue[key]; + } + scale.orgDomain = () => scaleValue.domain(); + scale.orgScale = () => scaleValue; + if ($$.axis.isCategorized()) { + scale.domain = function(domainValue) { + let domain = domainValue; + if (!arguments.length) { + domain = this.orgDomain(); + return isInverted ? [domain[0] + 1, domain[1]] : [domain[0], domain[1] + 1]; + } + scaleValue.domain(domain); + return scale; + }; + } + return scale; + }, + /** + * Update scale + * @param {boolean} isInit Param is given at the init rendering + * @param {boolean} updateXDomain If update x domain + * @private + */ + updateScales(isInit, updateXDomain = true) { + var _a, _b; + const $$ = this; + const { + axis, + config, + format, + org, + scale, + state: { current, width, height, width2, height2, hasAxis, hasTreemap } + } = $$; + if (hasAxis) { + const isRotated = config.axis_rotated; + const resettedPadding = $$.getResettedPadding(1); + const min = { + x: isRotated ? resettedPadding : 0, + y: isRotated ? 0 : height, + subX: isRotated ? 1 : 0, + subY: isRotated ? 0 : height2 + }; + const max = { + x: isRotated ? height : width, + y: isRotated ? width : resettedPadding, + subX: isRotated ? height : width, + subY: isRotated ? width2 : 1 + }; + const xDomain = updateXDomain && ((_a = scale.x) == null ? void 0 : _a.orgDomain()); + const xSubDomain = updateXDomain && org.xDomain; + scale.x = $$.getXScale(min.x, max.x, xDomain, () => axis.x.tickOffset()); + scale.subX = $$.getXScale(min.x, max.x, xSubDomain, (d) => { + var _a2; + return d % 1 ? 0 : ((_a2 = axis.subX) != null ? _a2 : axis.x).tickOffset(); + }); + format.xAxisTick = axis.getXAxisTickFormat(); + format.subXAxisTick = axis.getXAxisTickFormat(true); + axis.setAxis("x", scale.x, config.axis_x_tick_outer, isInit); + if (config.subchart_show) { + axis.setAxis("subX", scale.subX, config.axis_x_tick_outer, isInit); + } + scale.y = $$.getYScale( + "y", + min.y, + max.y, + scale.y ? scale.y.domain() : config.axis_y_default + ); + scale.subY = $$.getYScale( + "y", + min.subY, + max.subY, + scale.subY ? scale.subY.domain() : config.axis_y_default + ); + axis.setAxis("y", scale.y, config.axis_y_tick_outer, isInit); + if (config.axis_y2_show) { + scale.y2 = $$.getYScale( + "y2", + min.y, + max.y, + scale.y2 ? scale.y2.domain() : config.axis_y2_default + ); + scale.subY2 = $$.getYScale( + "y2", + min.subY, + max.subY, + scale.subY2 ? scale.subY2.domain() : config.axis_y2_default + ); + axis.setAxis("y2", scale.y2, config.axis_y2_tick_outer, isInit); + } + } else if (hasTreemap) { + const padding = $$.getCurrentPadding(); + scale.x = linear_linear().rangeRound([padding.left, current.width - padding.right]); + scale.y = linear_linear().rangeRound([padding.top, current.height - padding.bottom]); + } else { + (_b = $$.updateArc) == null ? void 0 : _b.call($$); + } + }, + /** + * Get the zoom or unzoomed scaled value + * @param {Date|number|object} d Data value + * @returns {number|null} + * @private + */ + xx(d) { + const $$ = this; + const { config, scale: { x, zoom } } = $$; + const fn = config.zoom_enabled && zoom ? zoom : x; + return d ? fn(isValue(d.x) ? d.x : d) : null; + }, + xv(d) { + const $$ = this; + const { axis, config, scale: { x, zoom } } = $$; + const fn = config.zoom_enabled && zoom ? zoom : x; + let value = $$.getBaseValue(d); + if (axis.isTimeSeries()) { + value = parseDate.call($$, value); + } else if (axis.isCategorized() && isString(value)) { + value = config.axis_x_categories.indexOf(value); + } + return fn(value); + }, + yv(d) { + const $$ = this; + const { scale: { y, y2 } } = $$; + const yScale = d.axis && d.axis === "y2" ? y2 : y; + return yScale($$.getBaseValue(d)); + }, + subxx(d) { + return d ? this.scale.subX(d.x) : null; + } +}); + +;// ./src/ChartInternal/internals/size.ts + + + + +/* harmony default export */ var internals_size = ({ + /** + * Update container size + * @private + */ + setContainerSize() { + const $$ = this; + const { state } = $$; + state.current.width = $$.getCurrentWidth(); + state.current.height = $$.getCurrentHeight(); + }, + getCurrentWidth() { + const $$ = this; + return $$.config.size_width || $$.getParentWidth(); + }, + getCurrentHeight() { + const $$ = this; + const { config } = $$; + const h = config.size_height || $$.getParentHeight(); + return h > 0 ? h : 320 / ($$.hasType("gauge") && !config.gauge_fullCircle ? 2 : 1); + }, + /** + * Get the parent rect element's size + * @param {string} key property/attribute name + * @returns {number} + * @private + */ + getParentRectValue(key) { + const offsetName = `offset${capitalize(key)}`; + let parent = this.$el.chart.node(); + let v = 0; + while (v < 30 && parent && parent.tagName !== "BODY") { + try { + v = parent.getBoundingClientRect()[key]; + } catch (e) { + if (offsetName in parent) { + v = parent[offsetName]; + } + } + parent = parent.parentNode; + } + const bodySize = browser_doc.body[offsetName]; + v > bodySize && (v = bodySize); + return v; + }, + getParentWidth() { + return this.getParentRectValue("width"); + }, + getParentHeight() { + const h = this.$el.chart.style("height"); + let height = 0; + if (h) { + height = /px$/.test(h) ? parseInt(h, 10) : this.getParentRectValue("height"); + } + return height; + }, + getSvgLeft(withoutRecompute) { + const $$ = this; + const { config, state: { hasAxis }, $el } = $$; + const isRotated = config.axis_rotated; + const hasLeftAxisRect = isRotated || !isRotated && !config.axis_y_inner; + const leftAxisClass = isRotated ? $AXIS.axisX : $AXIS.axisY; + const leftAxis = $el.main.select(`.${leftAxisClass}`).node(); + const leftLabel = hasAxis && config[`axis_${isRotated ? "x" : "y"}_label`]; + let labelWidth = 0; + if (hasAxis && (isString(leftLabel) || isString(leftLabel.text) || /^inner-/.test(leftLabel == null ? void 0 : leftLabel.position))) { + const label = $el.main.select(`.${leftAxisClass}-label`); + if (!label.empty()) { + labelWidth = label.node().getBoundingClientRect().left; + } + } + const svgRect = leftAxis && hasLeftAxisRect ? leftAxis.getBoundingClientRect() : { right: 0 }; + const chartRectLeft = $el.chart.node().getBoundingClientRect().left + labelWidth; + const hasArc = $$.hasArcType(); + const svgLeft = svgRect.right - chartRectLeft - (hasArc ? 0 : $$.getCurrentPaddingByDirection("left", withoutRecompute)); + return svgLeft > 0 ? svgLeft : 0; + }, + updateDimension(withoutAxis) { + var _a; + const $$ = this; + const { config, state: { hasAxis }, $el } = $$; + if (hasAxis && !withoutAxis && $$.axis.x && config.axis_rotated) { + (_a = $$.axis.subX) == null ? void 0 : _a.create($el.axis.subX); + } + $$.updateScales(withoutAxis); + $$.updateSvgSize(); + $$.transformAll(false); + }, + updateSvgSize() { + const $$ = this; + const { config, state: { clip, current, hasAxis, width, height }, $el: { svg } } = $$; + if (config.resize_auto === "viewBox") { + svg.attr("viewBox", `0 0 ${current.width} ${current.height}`); + } else { + svg.attr("width", current.width).attr("height", current.height); + } + if (hasAxis) { + const brush = svg.select(`.${$SUBCHART.brush} .overlay`); + const brushSize = { width: 0, height: 0 }; + if (brush.size()) { + brushSize.width = +brush.attr("width"); + brushSize.height = +brush.attr("height"); + } + svg.selectAll([`#${clip.id}`, `#${clip.idGrid}`]).select("rect").attr("width", width).attr("height", height); + svg.select(`#${clip.idXAxis}`).select("rect").call($$.setXAxisClipPath.bind($$)); + svg.select(`#${clip.idYAxis}`).select("rect").call($$.setYAxisClipPath.bind($$)); + clip.idSubchart && svg.select(`#${clip.idSubchart}`).select("rect").attr("width", width).attr("height", brushSize.height); + } + }, + /** + * Get padding by the direction. + * @param {string} type "top" | "bottom" | "left" | "right" + * @param {boolean} [withoutRecompute=false] If set true, do not recompute the padding value. + * @param {boolean} [withXAxisTickTextOverflow=false] If set true, calculate x axis tick text overflow. + * @returns {number} padding value + * @private + */ + getCurrentPaddingByDirection(type, withoutRecompute = false, withXAxisTickTextOverflow = false) { + var _a; + const $$ = this; + const { config, $el, state: { hasAxis } } = $$; + const isRotated = config.axis_rotated; + const isFitPadding = ((_a = config.padding) == null ? void 0 : _a.mode) === "fit"; + const paddingOption = isNumber(config[`padding_${type}`]) ? config[`padding_${type}`] : void 0; + const axisId = hasAxis ? { + top: isRotated ? "y2" : null, + bottom: isRotated ? "y" : "x", + left: isRotated ? "x" : "y", + right: isRotated ? null : "y2" + }[type] : null; + const isLeftRight = /^(left|right)$/.test(type); + const isAxisInner = axisId && config[`axis_${axisId}_inner`]; + const isAxisShow = axisId && config[`axis_${axisId}_show`]; + const axesLen = axisId ? config[`axis_${axisId}_axes`].length : 0; + let axisSize = axisId ? isLeftRight ? $$.getAxisWidthByAxisId(axisId, withoutRecompute) : $$.getHorizontalAxisHeight(axisId) : 0; + const defaultPadding = 20; + let gap = 0; + if (!isFitPadding && isLeftRight) { + axisSize = ceil10(axisSize); + } + let padding = hasAxis && isLeftRight && (isAxisInner || isUndefined(paddingOption) && !isAxisShow) ? 0 : isFitPadding ? (isAxisShow ? axisSize : 0) + (paddingOption != null ? paddingOption : 0) : isUndefined(paddingOption) ? axisSize : paddingOption; + if (isLeftRight && hasAxis) { + if (axisId && (isFitPadding || isAxisInner) && config[`axis_${axisId}_label`].text) { + padding += $$.axis.getAxisLabelPosition(axisId).isOuter ? defaultPadding : 0; + } + if (type === "right") { + padding += isRotated ? !isFitPadding && isUndefined(paddingOption) ? 10 : 2 : !isAxisShow || isAxisInner ? isFitPadding ? 2 : 1 : 0; + padding += withXAxisTickTextOverflow ? $$.axis.getXAxisTickTextY2Overflow(defaultPadding) : 0; + } else if (type === "left" && isRotated && isUndefined(paddingOption)) { + padding = !config.axis_x_show ? 1 : isFitPadding ? axisSize : Math.max(axisSize, 40); + } + } else { + if (type === "top") { + if ($el.title && $el.title.node()) { + padding += $$.getTitlePadding(); + } + gap = isRotated && !isAxisInner ? axesLen : 0; + } else if (type === "bottom" && hasAxis && isRotated && !isAxisShow) { + padding += 1; + } + } + return padding + axisSize * axesLen - gap; + }, + getCurrentPadding(withXAxisTickTextOverflow = false) { + const $$ = this; + const [top, bottom, left, right] = ["top", "bottom", "left", "right"].map((v) => $$.getCurrentPaddingByDirection(v, null, withXAxisTickTextOverflow)); + return { top, bottom, left, right }; + }, + /** + * Get resetted padding values when 'padding=false' option is set + * https://github.com/naver/billboard.js/issues/2367 + * @param {number|object} v Padding values to be resetted + * @returns {number|object} Padding value + * @private + */ + getResettedPadding(v) { + const $$ = this; + const { config } = $$; + const isNum = isNumber(v); + let p = isNum ? 0 : {}; + if (config.padding === false) { + !isNum && Object.keys(v).forEach((key) => { + p[key] = !isEmpty(config.data_labels) && config.data_labels !== false && key === "top" ? v[key] : 0; + }); + } else { + p = v; + } + return p; + }, + /** + * Update size values + * @param {boolean} isInit If is called at initialization + * @private + */ + updateSizes(isInit) { + var _a, _b, _c, _d, _e; + const $$ = this; + const { config, state, $el: { legend } } = $$; + const isRotated = config.axis_rotated; + const isNonAxis = $$.hasArcType() || state.hasFunnel || state.hasTreemap; + const isFitPadding = ((_a = config.padding) == null ? void 0 : _a.mode) === "fit"; + !isInit && $$.setContainerSize(); + const currLegend = { + width: legend ? $$.getLegendWidth() : 0, + height: legend ? $$.getLegendHeight() : 0 + }; + if (!isNonAxis && config.axis_x_show && config.axis_x_tick_autorotate) { + $$.updateXAxisTickClip(); + } + const legendSize = { + right: config.legend_show && state.isLegendRight ? $$.getLegendWidth() + (isFitPadding ? 0 : 20) : 0, + bottom: !config.legend_show || state.isLegendRight || state.isLegendInset ? 0 : currLegend.height + }; + const xAxisHeight = isRotated || isNonAxis ? 0 : $$.getHorizontalAxisHeight("x"); + const subchartXAxisHeight = config.subchart_axis_x_show && config.subchart_axis_x_tick_text_show ? xAxisHeight : 30; + const subchartHeight = config.subchart_show && !isNonAxis ? config.subchart_size_height + subchartXAxisHeight : 0; + const gaugeHeight = $$.hasType("gauge") && config.arc_needle_show && !config.gauge_fullCircle && !config.gauge_label_show ? 10 : 0; + const padding = $$.getCurrentPadding(true); + state.margin = !isNonAxis && isRotated ? { + top: padding.top, + right: isNonAxis ? 0 : padding.right + legendSize.right, + bottom: legendSize.bottom + padding.bottom, + left: subchartHeight + (isNonAxis ? 0 : padding.left) + } : { + top: (isFitPadding ? 0 : 4) + padding.top, + // for top tick text + right: isNonAxis ? 0 : padding.right + legendSize.right, + bottom: gaugeHeight + subchartHeight + legendSize.bottom + padding.bottom, + left: isNonAxis ? 0 : padding.left + }; + state.margin = $$.getResettedPadding(state.margin); + state.margin2 = isRotated ? { + top: state.margin.top, + right: NaN, + bottom: 20 + legendSize.bottom, + left: $$.state.rotatedPadding.left + } : { + top: state.current.height - subchartHeight - legendSize.bottom, + right: NaN, + bottom: subchartXAxisHeight + legendSize.bottom, + left: state.margin.left + }; + state.margin3 = { + top: 0, + right: NaN, + bottom: 0, + left: 0 + }; + (_b = $$.updateSizeForLegend) == null ? void 0 : _b.call($$, currLegend); + state.width = state.current.width - state.margin.left - state.margin.right; + state.height = state.current.height - state.margin.top - state.margin.bottom; + if (state.width < 0) { + state.width = 0; + } + if (state.height < 0) { + state.height = 0; + } + state.width2 = isRotated ? state.margin.left - state.rotatedPadding.left - state.rotatedPadding.right : state.width; + state.height2 = isRotated ? state.height : state.current.height - state.margin2.top - state.margin2.bottom; + if (state.width2 < 0) { + state.width2 = 0; + } + if (state.height2 < 0) { + state.height2 = 0; + } + if ($$.hasArcType()) { + const hasGauge = $$.hasType("gauge"); + const isLegendRight = config.legend_show && state.isLegendRight; + const textWidth = (_c = state.hasRadar && $$.cache.get(KEY.radarTextWidth)) != null ? _c : 0; + state.arcWidth = state.width - (isLegendRight ? currLegend.width + 10 : 0) - textWidth; + state.arcHeight = state.height - (isLegendRight && !hasGauge ? 0 : 10); + if ((_d = config.arc_rangeText_values) == null ? void 0 : _d.length) { + if (hasGauge) { + state.arcWidth -= 25; + state.arcHeight -= 10; + state.margin.left += 10; + } else { + state.arcHeight -= 20; + state.margin.top += 10; + } + } + if (hasGauge && !config.gauge_fullCircle) { + state.arcHeight += state.height - $$.getPaddingBottomForGauge(); + } + (_e = $$.updateRadius) == null ? void 0 : _e.call($$); + } + if (state.isLegendRight && isNonAxis) { + state.margin3.left = state.arcWidth / 2 + state.radiusExpanded * 1.1; + } + } +}); + +;// ./src/ChartInternal/internals/style.ts + + +/* harmony default export */ var internals_style = ({ + /** + * Add props color css rule to given selector + * @param {boolean} withShape Set shpes' prefix class + * @param {string} selector CSS selector + * @param {Array} props CSS props list + * @param {Function} propsFn Function to retrieve value or determine for props + * @returns {Function} + * @private + */ + setCssRule(withShape, selector, props, propsFn) { + const $$ = this; + const { config, state: { cssRule, style } } = $$; + return config.boost_useCssRule ? (selection) => { + selection.each((d) => { + const res = propsFn && (propsFn == null ? void 0 : propsFn.call($$, d)); + const shapeSelector = `${withShape ? `.${$SHAPE.shapes + $$.getTargetSelectorSuffix(d.id)}` : ""}${selector}`; + selector in cssRule && style.sheet.deleteRule(cssRule[shapeSelector]); + $$.state.cssRule[shapeSelector] = addCssRules( + style, + shapeSelector, + props.filter(Boolean).map((v) => isString(res) && v.indexOf(":") === -1 ? `${v}: ${res}` : v || "") + ); + }); + } : () => { + }; + }, + /** + * Get style prop value + * @param {Function|string} v Value + * @returns {string|null} + * @private + */ + getStylePropValue(v) { + const { config: { boost_useCssRule: useCssRule } } = this; + return useCssRule ? null : isFunction(v) ? v.bind(this) : v; + } +}); + +;// ./node_modules/d3-selection/src/selectAll.js + + +/* harmony default export */ function src_selectAll(selector) { + return typeof selector === "string" ? new Selection([document.querySelectorAll(selector)], [document.documentElement]) : new Selection([array(selector)], root); +} + +;// ./src/ChartInternal/internals/text.ts + + + + +function getRotateAnchor(angle) { + let anchor = "middle"; + if (angle > 0 && angle <= 170) { + anchor = "end"; + } else if (angle > 190 && angle <= 360) { + anchor = "start"; + } + return anchor; +} +function setRotatePos(d, pos, anchor, isRotated, isInverted) { + var _a; + const $$ = this; + const { value } = d; + const isCandlestickType = $$.isCandlestickType(d); + const isNegative = isNumber(value) && value < 0 || isCandlestickType && !((_a = $$.getCandlestickData(d)) == null ? void 0 : _a._isUp); + let { x, y } = pos; + const gap = 4; + const doubleGap = gap * 2; + if (isRotated) { + if (anchor === "start") { + x += isNegative ? 0 : doubleGap; + y += gap; + } else if (anchor === "middle") { + x += doubleGap; + y -= doubleGap; + } else if (anchor === "end") { + isNegative && (x -= doubleGap); + y += gap; + } + } else { + if (anchor === "start") { + x += gap; + isNegative && (y += doubleGap * 2); + } else if (anchor === "middle") { + y -= doubleGap; + } else if (anchor === "end") { + x -= gap; + isNegative && (y += doubleGap * 2); + } + if (isInverted) { + y += isNegative ? -17 : isCandlestickType ? 13 : 7; + } + } + return { x, y }; +} +function getTextPos(d, type) { + var _a; + const position = this.config.data_labels_position; + const { id, index, value } = d; + return (_a = isFunction(position) ? position.bind(this.api)(type, value, id, index, this.$el.text) : (id in position ? position[id] : position)[type]) != null ? _a : 0; +} +/* harmony default export */ var internals_text = ({ + opacityForText(d) { + const $$ = this; + return $$.isBarType(d) && !$$.meetsLabelThreshold( + Math.abs($$.getRatio("bar", d)), + "bar" + ) ? "0" : $$.hasDataLabel ? null : "0"; + }, + /** + * Initializes the text + * @private + */ + initText() { + const { $el } = this; + $el.main.select(`.${$COMMON.chart}`).append("g").attr("class", $TEXT.chartTexts).style("pointer-events", $el.funnel || $el.treemap ? "none" : null); + }, + /** + * Update chartText + * @param {object} targets $$.data.targets + * @private + */ + updateTargetsForText(targets) { + const $$ = this; + const classChartText = $$.getChartClass("Text"); + const classTexts = $$.getClass("texts", "id"); + const classFocus = $$.classFocus.bind($$); + const mainTextUpdate = $$.$el.main.select(`.${$TEXT.chartTexts}`).selectAll(`.${$TEXT.chartText}`).data(targets).attr("class", (d) => `${classChartText(d)}${classFocus(d)}`.trim()); + const mainTextEnter = mainTextUpdate.enter().append("g").style("opacity", "0").attr("class", classChartText).call( + $$.setCssRule( + true, + ` .${$TEXT.text}`, + ["fill", "pointer-events:none"], + $$.updateTextColor + ) + ); + mainTextEnter.append("g").attr("class", classTexts); + }, + /** + * Update text + * @private + */ + updateText() { + const $$ = this; + const { $el, $T, config, axis } = $$; + const classText = $$.getClass("text", "index"); + const labelsCentered = config.data_labels.centered; + const text = $el.main.selectAll(`.${$TEXT.texts}`).selectAll(`.${$TEXT.text}`).data($$.labelishData.bind($$)); + $T(text.exit()).style("fill-opacity", "0").remove(); + $el.text = text.enter().append("text").merge(text).attr("class", classText).attr("text-anchor", (d) => { + const isInverted = config[`axis_${axis == null ? void 0 : axis.getId(d.id)}_inverted`]; + let isEndAnchor = isInverted ? d.value > 0 : d.value < 0; + if ($$.isCandlestickType(d)) { + const data = $$.getCandlestickData(d); + isEndAnchor = !(data == null ? void 0 : data._isUp); + } else if ($$.isTreemapType(d)) { + return labelsCentered ? "middle" : "start"; + } + return config.axis_rotated ? isEndAnchor ? "end" : "start" : "middle"; + }).style("fill", $$.getStylePropValue($$.updateTextColor)).style("fill-opacity", "0").each(function(d, i, texts) { + const node = src_select(this); + let { value } = d; + if ($$.isBubbleZType(d)) { + value = $$.getBubbleZData(value, "z"); + } else if ($$.isCandlestickType(d)) { + const data = $$.getCandlestickData(d); + if (data) { + value = data.close; + } + } + value = $$.isTreemapType(d) ? $$.treemapDataLabelFormat(d)(node) : $$.dataLabelFormat(d.id)(value, d.id, d.index, texts); + if (isNumber(value)) { + this.textContent = value; + } else { + setTextValue(node, value); + } + }); + }, + updateTextColor(d) { + const $$ = this; + const { config } = $$; + const labelColors = config.data_labels_colors; + const defaultColor = $$.isArcType(d) && !$$.isRadarType(d) || $$.isFunnelType(d) || $$.isTreemapType(d) ? null : $$.color(d); + let color; + if (isString(labelColors)) { + color = labelColors; + } else if (isObject(labelColors)) { + const { id } = d.data || d; + color = labelColors[id]; + } else if (isFunction(labelColors)) { + color = labelColors.bind($$.api)(defaultColor, d); + } + if ($$.isCandlestickType(d) && !isFunction(labelColors)) { + const value = $$.getCandlestickData(d); + if (!(value == null ? void 0 : value._isUp)) { + const downColor = config.candlestick_color_down; + color = isObject(downColor) ? downColor[d.id] : downColor; + } + } + return color || defaultColor; + }, + /** + * Update data label text background color + * @param {object} d Data object + * @param {object|string} option option object + * @returns {string|null} + * @private + */ + updateTextBGColor(d, option) { + const $$ = this; + const { $el } = $$; + let color = ""; + if (isString(option) || isObject(option)) { + const id = isString(option) ? "" : $$.getTargetSelectorSuffix("id" in d ? d.id : d.data.id); + const filter = $el.defs.select(["filter[id*='labels-bg", "']"].join(id)); + if (filter.size()) { + color = `url(#${filter.attr("id")})`; + } + } + return color || null; + }, + /** + * Redraw chartText + * @param {Function} getX Positioning function for x + * @param {Function} getY Positioning function for y + * @param {boolean} forFlow Weather is flow + * @param {boolean} withTransition transition is enabled + * @returns {Array} + * @private + */ + redrawText(getX, getY, forFlow, withTransition) { + const $$ = this; + const { $T, axis, config, state: { hasTreemap } } = $$; + const t = getRandom(true); + const isRotated = config.axis_rotated; + const angle = config.data_labels.rotate; + const anchorString = getRotateAnchor(angle); + const rotateString = angle ? `rotate(${angle})` : ""; + $$.$el.text.style("fill", $$.getStylePropValue($$.updateTextColor)).attr( + "filter", + (d) => $$.updateTextBGColor.bind($$)(d, config.data_labels_backgroundColors) + ).style("fill-opacity", forFlow ? 0 : $$.opacityForText.bind($$)).each(function(d, i) { + const node = $T( + hasTreemap && this.childElementCount ? this.parentNode : this, + !!(withTransition && this.getAttribute("x")), + t + ); + const isInverted = config[`axis_${axis == null ? void 0 : axis.getId(d.id)}_inverted`]; + let pos = { + x: getX.bind(this)(d, i), + y: getY.bind(this)(d, i) + }; + if (angle) { + pos = setRotatePos.bind($$)(d, pos, anchorString, isRotated, isInverted); + node.attr("text-anchor", anchorString); + } + if (this.childElementCount || angle) { + node.attr("transform", `translate(${pos.x} ${pos.y}) ${rotateString}`); + } else { + node.attr("x", pos.x).attr("y", pos.y); + } + }); + return true; + }, + /** + * Gets the getBoundingClientRect value of the element + * @param {HTMLElement|d3.selection} element Target element + * @param {string} className Class name + * @returns {object} value of element.getBoundingClientRect() + * @private + */ + getTextRect(element, className) { + const $$ = this; + let base = element.node ? element.node() : element; + if (!/text/i.test(base.tagName)) { + base = base.querySelector("text"); + } + const text = base.textContent; + const cacheKey = `${KEY.textRect}-${text.replace(/\W/g, "_")}`; + let rect = $$.cache.get(cacheKey); + if (!rect) { + $$.$el.svg.append("text").style("visibility", "hidden").style("font", src_select(base).style("font")).classed(className, true).text(text).call((v) => { + rect = getBoundingRect(v.node()); + }).remove(); + $$.cache.add(cacheKey, rect); + } + return rect; + }, + /** + * Gets the x or y coordinate of the text + * @param {object} indices Indices values + * @param {boolean} forX whether or not to x + * @returns {number} coordinates + * @private + */ + generateXYForText(indices, forX) { + const $$ = this; + const { state: { hasRadar, hasFunnel, hasTreemap } } = $$; + const types = Object.keys(indices); + const points = {}; + const getter = forX ? $$.getXForText : $$.getYForText; + hasFunnel && types.push("funnel"); + hasRadar && types.push("radar"); + hasTreemap && types.push("treemap"); + types.forEach((v) => { + points[v] = $$[`generateGet${capitalize(v)}Points`](indices[v], false); + }); + return function(d, i) { + const type = $$.isAreaType(d) && "area" || $$.isBarType(d) && "bar" || $$.isCandlestickType(d) && "candlestick" || $$.isFunnelType(d) && "funnel" || $$.isRadarType(d) && "radar" || $$.isTreemapType(d) && "treemap" || "line"; + return getter.call($$, points[type](d, i), d, this); + }; + }, + /** + * Get centerized text position for bar type data.label.text + * @param {object} d Data object + * @param {Array} points Data points position + * @param {HTMLElement} textElement Data label text element + * @param {string} type 'x' or 'y' + * @returns {number} Position value + * @private + */ + getCenteredTextPos(d, points, textElement, type) { + const $$ = this; + const { config } = $$; + const isRotated = config.axis_rotated; + const isBarType = $$.isBarType(d); + const isTreemapType = $$.isTreemapType(d); + if (config.data_labels.centered && (isBarType || isTreemapType)) { + const rect = getBoundingRect(textElement); + if (isBarType) { + const isPositive = $$.getRangedData(d, null, "bar") >= 0; + if (isRotated) { + const w = (isPositive ? points[1][1] - points[0][1] : points[0][1] - points[1][1]) / 2 + rect.width / 2; + return isPositive ? -w - 3 : w + 2; + } else { + const h = (isPositive ? points[0][1] - points[1][1] : points[1][1] - points[0][1]) / 2 + rect.height / 2; + return isPositive ? h : -h - 2; + } + } else if (isTreemapType) { + return type === "x" ? (points[1][0] - points[0][0]) / 2 : (points[1][1] - points[0][1]) / 2 + rect.height / 2; + } + } + return 0; + }, + /** + * Gets the x coordinate of the text + * @param {object} points Data points position + * @param {object} d Data object + * @param {HTMLElement} textElement Data label text element + * @returns {number} x coordinate + * @private + */ + getXForText(points, d, textElement) { + var _a; + const $$ = this; + const { config } = $$; + const isRotated = config.axis_rotated; + const isFunnelType = $$.isFunnelType(d); + const isTreemapType = $$.isTreemapType(d); + let xPos = points ? points[0][0] : 0; + if ($$.isCandlestickType(d)) { + if (isRotated) { + xPos = ((_a = $$.getCandlestickData(d)) == null ? void 0 : _a._isUp) ? points[2][2] + 4 : points[2][1] - 4; + } else { + xPos += (points[1][0] - xPos) / 2; + } + } else if (isFunnelType) { + xPos += $$.state.current.width / 2; + } else if (isTreemapType) { + xPos += config.data_labels.centered ? 0 : 5; + } else { + if (isRotated) { + const isInverted = config[`axis_${$$.axis.getId(d.id)}_inverted`]; + const padding = $$.isBarType(d) ? 4 : 6; + const value = d.value; + xPos = points[2][1]; + if (isInverted) { + xPos -= padding * (value > 0 ? 1 : -1); + } else { + xPos += padding * (value < 0 ? -1 : 1); + } + } else { + xPos = $$.hasType("bar") ? (points[2][0] + points[0][0]) / 2 : xPos; + } + } + if (isRotated || isTreemapType) { + xPos += $$.getCenteredTextPos(d, points, textElement, "x"); + } + return xPos + getTextPos.call(this, d, "x"); + }, + /** + * Gets the y coordinate of the text + * @param {object} points Data points position + * @param {object} d Data object + * @param {HTMLElement} textElement Data label text element + * @returns {number} y coordinate + * @private + */ + getYForText(points, d, textElement) { + const $$ = this; + const { axis, config, state } = $$; + const isRotated = config.axis_rotated; + const isInverted = config[`axis_${axis == null ? void 0 : axis.getId(d.id)}_inverted`]; + const isBarType = $$.isBarType(d); + const isFunnelType = $$.isFunnelType(d); + const isTreemapType = $$.isTreemapType(d); + const r = config.point_r; + const rect = getBoundingRect(textElement); + let { value } = d; + let baseY = 3; + let yPos; + if ($$.isCandlestickType(d)) { + value = $$.getCandlestickData(d); + if (isRotated) { + yPos = points[0][0]; + yPos += (points[1][0] - yPos) / 2 + baseY; + } else { + yPos = value && value._isUp ? points[2][2] - baseY : points[2][1] + baseY * 4; + if (isInverted) { + yPos += 15 * (value._isUp ? 1 : -1); + } + } + } else if (isFunnelType) { + yPos = points ? points[0][1] + (points[1][1] - points[0][1]) / 2 + rect.height / 2 - 3 : 0; + } else if (isTreemapType) { + yPos = points[0][1] + (config.data_labels.centered ? 0 : rect.height + 5); + } else { + if (isRotated) { + yPos = (points[0][0] + points[2][0] + rect.height * 0.6) / 2; + } else { + yPos = points[2][1]; + if (isNumber(r) && r > 5 && ($$.isLineType(d) || $$.isScatterType(d))) { + baseY += config.point_r / 2.3; + } + if (value < 0 || value === 0 && !state.hasPositiveValue && state.hasNegativeValue) { + yPos += isInverted ? isBarType ? -3 : -5 : rect.height + (isBarType ? -baseY : baseY); + } else { + let diff = -baseY * 2; + if (isBarType) { + diff = -baseY; + } else if ($$.isBubbleType(d)) { + diff = baseY; + } + if (isInverted) { + diff = isBarType ? 10 : 15; + } + yPos += diff; + } + } + } + if (!isRotated || isTreemapType) { + yPos += $$.getCenteredTextPos(d, points, textElement, "y"); + } + return yPos + getTextPos.call(this, d, "y"); + }, + /** + * Calculate if two or more text nodes are overlapping + * Mark overlapping text nodes with "text-overlapping" class + * @param {string} id Axis id + * @param {ChartInternal} $$ ChartInternal context + * @param {string} selector Selector string + * @private + */ + markOverlapped(id, $$, selector) { + const textNodes = $$.$el.arcs.selectAll(selector); + const filteredTextNodes = textNodes.filter((node) => node.data.id !== id); + const textNode = textNodes.filter((node) => node.data.id === id); + const translate = getTranslation(textNode.node()); + const calcHypo = (x, y) => Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)); + textNode.node() && filteredTextNodes.each(function() { + const coordinate = getTranslation(this); + const filteredTextNode = src_select(this); + const nodeForWidth = calcHypo(translate.e, translate.f) > calcHypo(coordinate.e, coordinate.f) ? textNode : filteredTextNode; + const overlapsX = Math.ceil(Math.abs(translate.e - coordinate.e)) < Math.ceil(nodeForWidth.node().getComputedTextLength()); + const overlapsY = Math.ceil(Math.abs(translate.f - coordinate.f)) < parseInt(textNode.style("font-size"), 10); + filteredTextNode.classed($TEXT.TextOverlapping, overlapsX && overlapsY); + }); + }, + /** + * Calculate if two or more text nodes are overlapping + * Remove "text-overlapping" class on selected text nodes + * @param {ChartInternal} $$ ChartInternal context + * @param {string} selector Selector string + * @private + */ + undoMarkOverlapped($$, selector) { + $$.$el.arcs.selectAll(selector).each(function() { + src_selectAll([this, this.previousSibling]).classed($TEXT.TextOverlapping, false); + }); + }, + /** + * Check if meets the ratio to show data label text + * @param {number} ratio ratio to meet + * @param {string} type chart type + * @returns {boolean} + * @private + */ + meetsLabelThreshold(ratio = 0, type) { + const $$ = this; + const { config } = $$; + const threshold = config[`${type}_label_threshold`] || 0; + return ratio >= threshold; + } +}); + +;// ./src/ChartInternal/internals/title.ts + + +function getTextXPos(pos = "left", width) { + const isNum = isNumber(width); + let position; + if (pos.indexOf("center") > -1) { + position = isNum ? width / 2 : "middle"; + } else if (pos.indexOf("right") > -1) { + position = isNum ? width : "end"; + } else { + position = isNum ? 0 : "start"; + } + return position; +} +/* harmony default export */ var internals_title = ({ + /** + * Initializes the title + * @private + */ + initTitle() { + const $$ = this; + const { config, $el } = $$; + if (config.title_text) { + $el.title = $el.svg.append("g"); + const text = $el.title.append("text").style("text-anchor", getTextXPos(config.title_position)).attr("class", $TEXT.title); + setTextValue(text, config.title_text, [0.3, 1.5]); + } + }, + /** + * Redraw title + * @private + */ + redrawTitle() { + const $$ = this; + const { config, state: { current }, $el: { title } } = $$; + if (title) { + const x = getTextXPos(config.title_position, current.width); + const y = (config.title_padding.top || 0) + $$.getTextRect($$.$el.title, $TEXT.title).height; + title.attr("transform", `translate(${x}, ${y})`); + } + }, + /** + * Get title padding + * @returns {number} padding value + * @private + */ + getTitlePadding() { + const $$ = this; + const { $el: { title }, config } = $$; + return (config.title_padding.top || 0) + (title ? $$.getTextRect(title, $TEXT.title).height : 0) + (config.title_padding.bottom || 0); + } +}); + +;// ./src/ChartInternal/internals/tooltip.ts + + + + +/* harmony default export */ var internals_tooltip = ({ + /** + * Initializes the tooltip + * @private + */ + initTooltip() { + const $$ = this; + const { config, $el } = $$; + $el.tooltip = src_select(config.tooltip_contents.bindto); + if ($el.tooltip.empty()) { + $el.tooltip = $el.chart.append("div").attr("class", $TOOLTIP.tooltipContainer).style("position", "absolute").style("pointer-events", "none").style("display", "none"); + } + $$.bindTooltipResizePos(); + }, + /** + * Show tooltip at initialization. + * Is called only when tooltip.init.show=true option is set + * @private + */ + initShowTooltip() { + var _a; + const $$ = this; + const { config, $el, state: { hasAxis, hasRadar } } = $$; + if (config.tooltip_init_show) { + const isArc = !(hasAxis || hasRadar); + if (((_a = $$.axis) == null ? void 0 : _a.isTimeSeries()) && isString(config.tooltip_init_x)) { + config.tooltip_init_x = parseDate.call($$, config.tooltip_init_x); + } + $$.api.tooltip.show({ + data: { + [isArc ? "index" : "x"]: config.tooltip_init_x + } + }); + const position = config.tooltip_init_position; + if (!config.tooltip_contents.bindto && !isEmpty(position)) { + const { top = 0, left = 50 } = position; + $el.tooltip.style("top", isString(top) ? top : `${top}px`).style("left", isString(left) ? left : `${left}px`).style("display", null); + } + } + }, + /** + * Get the tooltip HTML string + * @param {Array} args Arguments + * @returns {string} Formatted HTML string + * @private + */ + getTooltipHTML(...args) { + const $$ = this; + const { api, config } = $$; + return isFunction(config.tooltip_contents) ? config.tooltip_contents.bind(api)(...args) : $$.getTooltipContent(...args); + }, + /** + * Returns the tooltip content(HTML string) + * @param {object} d data + * @param {Function} defaultTitleFormat Default title format + * @param {Function} defaultValueFormat Default format for each data value in the tooltip. + * @param {Function} color Color function + * @returns {string} html + * @private + */ + getTooltipContent(d, defaultTitleFormat, defaultValueFormat, color) { + var _a; + const $$ = this; + const { api, config, state, $el } = $$; + const [titleFn, nameFn, valueFn] = ["title", "name", "value"].map((v) => { + const fn = config[`tooltip_format_${v}`]; + return isFunction(fn) ? fn.bind(api) : fn; + }); + const titleFormat = (...arg) => sanitize((titleFn || defaultTitleFormat)(...arg)); + const nameFormat = (...arg) => sanitize((nameFn || ((name) => name))(...arg)); + const valueFormat = (...arg) => { + const fn = valueFn || (state.hasTreemap || $$.isStackNormalized() ? (v, ratio) => `${(ratio * 100).toFixed(2)}%` : defaultValueFormat); + return sanitize(fn(...arg)); + }; + const order = config.tooltip_order; + const getRowValue = (row2) => $$.axis && $$.isBubbleZType(row2) ? $$.getBubbleZData(row2.value, "z") : $$.getBaseValue(row2); + const getBgColor = $$.levelColor ? (row2) => $$.levelColor(row2.value) : (row2) => color(row2); + const contents = config.tooltip_contents; + const tplStr = contents.template; + const targetIds = $$.mapToTargetIds(); + if (order === null && config.data_groups.length) { + const ids = $$.orderTargets($$.data.targets).map((i2) => i2.id).reverse(); + d.sort((a, b) => { + let v1 = a ? a.value : null; + let v2 = b ? b.value : null; + if (v1 > 0 && v2 > 0) { + v1 = a.id ? ids.indexOf(a.id) : null; + v2 = b.id ? ids.indexOf(b.id) : null; + } + return v1 - v2; + }); + } else if (/^(asc|desc)$/.test(order)) { + const isAscending = order === "asc"; + d.sort((a, b) => { + const v1 = a ? getRowValue(a) : null; + const v2 = b ? getRowValue(b) : null; + return isAscending ? v1 - v2 : v2 - v1; + }); + } else if (isFunction(order)) { + d.sort(order.bind(api)); + } + const tpl = $$.getTooltipContentTemplate(tplStr); + const len = d.length; + let text; + let row; + let param; + let value; + let i; + for (i = 0; i < len; i++) { + row = d[i]; + if (!row || !(getRowValue(row) || getRowValue(row) === 0)) { + continue; + } + if (isUndefined(text)) { + const title = (state.hasAxis || state.hasRadar) && titleFormat(row.x); + text = tplProcess(tpl[0], { + CLASS_TOOLTIP: $TOOLTIP.tooltip, + TITLE: isValue(title) ? tplStr ? title : `<tr><th colspan="2">${title}</th></tr>` : "" + }); + } + if (!row.ratio && $el.arcs) { + param = ["arc", $$.$el.arcs.select(`path.${$ARC.arc}-${row.id}`).data()[0]]; + row.ratio = $$.getRatio(...param); + } + param = [row.ratio, row.id, row.index]; + if ($$.isAreaRangeType(row)) { + const [high, low] = ["high", "low"].map( + (v) => valueFormat($$.getRangedData(row, v), ...param) + ); + const mid = valueFormat(getRowValue(row), ...param); + value = `<b>Mid:</b> ${mid} <b>High:</b> ${high} <b>Low:</b> ${low}`; + } else if ($$.isCandlestickType(row)) { + const [open, high, low, close, volume] = ["open", "high", "low", "close", "volume"].map((v) => { + const value2 = $$.getRangedData(row, v, "candlestick"); + return value2 ? valueFormat( + $$.getRangedData(row, v, "candlestick"), + ...param + ) : void 0; + }); + value = `<b>Open:</b> ${open} <b>High:</b> ${high} <b>Low:</b> ${low} <b>Close:</b> ${close}${volume ? ` <b>Volume:</b> ${volume}` : ""}`; + } else if ($$.isBarRangeType(row)) { + const { value: rangeValue, id, index } = row; + value = `${valueFormat(rangeValue, void 0, id, index)}`; + } else { + value = valueFormat(getRowValue(row), ...param); + } + if (value !== void 0) { + if (row.name === null) { + continue; + } + const name = nameFormat((_a = row.name) != null ? _a : row.id, ...param); + const color2 = getBgColor(row); + const contentValue = { + CLASS_TOOLTIP_NAME: $TOOLTIP.tooltipName + $$.getTargetSelectorSuffix(row.id), + COLOR: tplStr || !$$.patterns ? color2 : `<svg><rect style="fill:${color2}" width="10" height="10"></rect></svg>`, + NAME: name, + VALUE: value + }; + if (tplStr && isObject(contents.text)) { + const index = targetIds.indexOf(row.id); + Object.keys(contents.text).forEach((key) => { + contentValue[key] = contents.text[key][index]; + }); + } + text += tplProcess(tpl[1], contentValue); + } + } + return `${text}</table>`; + }, + /** + * Get the content template string + * @param {string} tplStr Tempalte string + * @returns {Array} Template string + * @private + */ + getTooltipContentTemplate(tplStr) { + return (tplStr || `<table class="{=CLASS_TOOLTIP}"><tbody> + {=TITLE} + {{<tr class="{=CLASS_TOOLTIP_NAME}"> + <td class="name">${this.patterns ? `{=COLOR}` : `<span style="background-color:{=COLOR}"></span>`}{=NAME}</td> + <td class="value">{=VALUE}</td> + </tr>}} + </tbody></table>`).replace(/(\r?\n|\t)/g, "").split(/{{(.*)}}/); + }, + /** + * Update tooltip position coordinate + * @param {object} dataToShow Data object + * @param {SVGElement} eventTarget Event element + * @private + */ + setTooltipPosition(dataToShow, eventTarget) { + var _a, _b; + const $$ = this; + const { config, scale, state, $el: { eventRect, tooltip, svg } } = $$; + const { bindto } = config.tooltip_contents; + const isRotated = config.axis_rotated; + const datum = tooltip == null ? void 0 : tooltip.datum(); + if (!bindto && datum) { + const data = dataToShow != null ? dataToShow : JSON.parse(datum.current); + const [x, y] = getPointer(state.event, eventTarget != null ? eventTarget : eventRect == null ? void 0 : eventRect.node()); + const currPos = { x, y }; + if (state.hasAxis && scale.x && datum && "x" in datum) { + const getYPos = (value = 0, id, axisId = "y") => { + var _a2; + const scaleFn = scale[id ? (_a2 = $$.axis) == null ? void 0 : _a2.getId(id) : axisId]; + return scaleFn ? scaleFn(value) + (isRotated ? state.margin.left : state.margin.top) : 0; + }; + currPos.xAxis = scale.x(datum.x) + // add margin only when user specified tooltip.position function + (config.tooltip_position ? isRotated ? state.margin.top : state.margin.left : 0); + if (data.length === 1) { + currPos.yAxis = getYPos(data[0].value, data[0].id); + } else { + currPos.yAxis = getYPos; + } + } + const { width = 0, height = 0 } = datum; + const pos = (_b = (_a = config.tooltip_position) == null ? void 0 : _a.bind($$.api)( + data, + width, + height, + eventRect == null ? void 0 : eventRect.node(), + currPos + )) != null ? _b : hasViewBox(svg) ? $$.getTooltipPositionViewBox.bind($$)(width, height, currPos) : $$.getTooltipPosition.bind($$)(width, height, currPos); + ["top", "left"].forEach((v) => { + const value = pos[v]; + tooltip.style(v, `${value}px`); + if (v === "left" && !datum.xPosInPercent) { + datum.xPosInPercent = value / state.current.width * 100; + } + }); + } + }, + /** + * Get tooltip position when svg has vieBox attribute + * @param {number} tWidth Tooltip width value + * @param {number} tHeight Tooltip height value + * @param {object} currPos Current event position value from SVG coordinate + * @returns {object} top, left value + */ + getTooltipPositionViewBox(tWidth, tHeight, currPos) { + var _a, _b; + const $$ = this; + const { $el: { eventRect, svg }, config, state } = $$; + const isRotated = config.axis_rotated; + const hasArcType = $$.hasArcType() || state.hasFunnel || state.hasTreemap; + const target = (_b = (_a = hasArcType ? svg : eventRect) == null ? void 0 : _a.node()) != null ? _b : state.event.target; + let { x, y } = currPos; + if (state.hasAxis) { + x = isRotated ? x : currPos.xAxis; + y = isRotated ? currPos.xAxis : y; + } + const ctm = getTransformCTM(target, x, y, false); + const rect = target.getBoundingClientRect(); + const size = getTransformCTM(target, 20, 0, false).x; + let top = ctm.y; + let left = ctm.x + tWidth / 2 + size; + if (hasArcType) { + if (state.hasFunnel || state.hasTreemap || state.hasRadar) { + left -= tWidth / 2 + size; + top += tHeight; + } else { + top += rect.height / 2; + left += rect.width / 2 - (tWidth - size); + } + } + if (left + tWidth > rect.width) { + left = rect.width - tWidth - size; + } + if (top + tHeight > rect.height) { + top -= tHeight * 2; + } + return { + top, + left + }; + }, + /** + * Returns the position of the tooltip + * @param {string} tWidth Width value of tooltip element + * @param {string} tHeight Height value of tooltip element + * @param {object} currPos Current mouse position + * @returns {object} top, left value + * @private + */ + getTooltipPosition(tWidth, tHeight, currPos) { + var _a, _b, _c; + const $$ = this; + const { config, scale, state } = $$; + const { width, height, current, hasFunnel, hasRadar, hasTreemap, isLegendRight, inputType } = state; + const hasGauge = $$.hasType("gauge") && !config.gauge_fullCircle; + const isRotated = config.axis_rotated; + const hasArcType = $$.hasArcType(); + const svgLeft = $$.getSvgLeft(true); + let chartRight = svgLeft + current.width - $$.getCurrentPaddingByDirection("right"); + const size = 20; + let { x, y } = currPos; + if (hasRadar) { + x += x >= width / 2 ? 15 : -(tWidth + 15); + y += 15; + } else if (hasArcType) { + const notTouch = inputType !== "touch"; + if (notTouch) { + let titlePadding = (_b = (_a = $$.getTitlePadding) == null ? void 0 : _a.call($$)) != null ? _b : 0; + if (titlePadding && hasGauge && ((_c = config.arc_rangeText_values) == null ? void 0 : _c.length)) { + titlePadding += 10; + } + x += (width - (isLegendRight ? $$.getLegendWidth() : 0)) / 2; + y += (hasGauge ? height : height / 2 + tHeight) + titlePadding; + } + } else if (hasFunnel || hasTreemap) { + y += tHeight; + } else { + const padding = { + top: $$.getCurrentPaddingByDirection("top", true), + left: $$.getCurrentPaddingByDirection("left", true) + }; + if (isRotated) { + x += svgLeft + padding.left + size; + y = padding.top + currPos.xAxis + size; + chartRight -= svgLeft; + } else { + x = svgLeft + padding.left + size + (scale.zoom ? x : currPos.xAxis); + y += padding.top - 5; + } + } + if (x + tWidth + 15 > chartRight) { + x -= tWidth + (hasFunnel || hasTreemap || hasArcType ? 0 : isRotated ? size * 2 : 38); + } + if (y + tHeight > current.height) { + const gap = hasTreemap ? tHeight + 10 : 30; + y -= hasGauge ? tHeight * 1.5 : tHeight + gap; + } + const pos = { top: y, left: x }; + Object.keys(pos).forEach((v) => { + if (pos[v] < 0) { + pos[v] = 0; + } + }); + return pos; + }, + /** + * Show the tooltip + * @param {object} selectedData Data object + * @param {SVGElement} eventTarget Event element + * @private + */ + showTooltip(selectedData, eventTarget) { + const $$ = this; + const { config, $el: { tooltip } } = $$; + const dataToShow = selectedData.filter((d) => d && isValue($$.getBaseValue(d))); + if (!tooltip || dataToShow.length === 0 || !config.tooltip_show) { + return; + } + let datum = tooltip.datum(); + const dataStr = JSON.stringify(selectedData); + if (!datum || datum.current !== dataStr) { + const { index, x } = selectedData.concat().sort()[0]; + callFn(config.tooltip_onshow, $$.api, selectedData); + tooltip.html($$.getTooltipHTML( + selectedData, + // data + $$.axis ? $$.axis.getXAxisTickFormat() : $$.categoryName.bind($$), + // defaultTitleFormat + $$.getDefaultValueFormat(), + // defaultValueFormat + $$.color + // color + )).style("display", null).style("visibility", null).datum(datum = { + index, + x, + current: dataStr, + width: tooltip.property("offsetWidth"), + height: tooltip.property("offsetHeight") + }); + callFn(config.tooltip_onshown, $$.api, selectedData); + $$._handleLinkedCharts(true, index); + } + $$.setTooltipPosition(dataToShow, eventTarget); + }, + /** + * Adjust tooltip position on resize event + * @private + */ + bindTooltipResizePos() { + const $$ = this; + const { resizeFunction, state, $el: { tooltip } } = $$; + resizeFunction.add(() => { + if (tooltip.style("display") === "block") { + const { current } = state; + const { width, xPosInPercent } = tooltip.datum(); + let value = current.width / 100 * xPosInPercent; + const diff = current.width - (value + width); + if (diff < 0) { + value += diff; + } + tooltip.style("left", `${value}px`); + } + }); + }, + /** + * Hide the tooltip + * @param {boolean} force Force to hide + * @private + */ + hideTooltip(force) { + var _a; + const $$ = this; + const { api, config, $el: { tooltip } } = $$; + if (tooltip && tooltip.style("display") !== "none" && (!config.tooltip_doNotHide || force)) { + const selectedData = JSON.parse((_a = tooltip.datum().current) != null ? _a : {}); + callFn(config.tooltip_onhide, api, selectedData); + tooltip.style("display", "none").style("visibility", "hidden").datum(null); + callFn(config.tooltip_onhidden, api, selectedData); + } + }, + /** + * Toggle display for linked chart instances + * @param {boolean} show true: show, false: hide + * @param {number} index x Axis index + * @private + */ + _handleLinkedCharts(show, index) { + const $$ = this; + const { charts, config, state: { event } } = $$; + if ((event == null ? void 0 : event.isTrusted) && config.tooltip_linked && charts.length > 1) { + const linkedName = config.tooltip_linked_name; + charts.filter((c) => c !== $$.api).forEach((c) => { + const { config: config2, $el } = c.internal; + const isLinked = config2.tooltip_linked; + const name = config2.tooltip_linked_name; + const isInDom = browser_doc.body.contains($el.chart.node()); + if (isLinked && linkedName === name && isInDom) { + const data = $el.tooltip.data()[0]; + const isNotSameIndex = index !== (data == null ? void 0 : data.index); + try { + c.tooltip[show && isNotSameIndex ? "show" : "hide"]({ index }); + } catch (e) { + } + } + }); + } + }, + /** + * Update tooltip content on redraw + * - In a situation where tooltip is displayed and data load happens, it should reflect loaded data to tooltip + * @param {d3Selection} context Event rect element + * @param {number} index Data index + * @private + */ + updateTooltipOnRedraw(context, index) { + var _a; + const $$ = this; + const { + config, + $el: { eventRect, svg, tooltip }, + state: { event, hasAxis, hasRadar, hasTreemap } + } = $$; + if ((tooltip == null ? void 0 : tooltip.style("display")) === "block" && event) { + const rect = context != null ? context : (_a = hasRadar ? svg : eventRect) == null ? void 0 : _a.node(); + if (hasAxis || hasRadar) { + if ($$.isMultipleX()) { + $$.selectRectForMultipleXs(rect, false); + } else { + const idx = index != null ? index : $$.getDataIndexFromEvent(event); + if (index === -1) { + $$.api.tooltip.hide(); + } else { + $$.selectRectForSingle(rect, idx); + $$.setExpand(idx, null, true); + } + } + } else { + const { clientX, clientY } = event; + setTimeout(() => { + let target = [clientX, clientY].every(Number.isFinite) && browser_doc.elementFromPoint(clientX, clientY); + const data = target && src_select(target).datum(); + if (data) { + const d = $$.hasArcType() ? $$.convertToArcData($$.updateAngle(data)) : data == null ? void 0 : data.data; + hasTreemap && (target = svg.node()); + d && $$.showTooltip([d], target); + } else { + $$.api.tooltip.hide(); + } + }, config.transition_duration); + } + } + } +}); + +;// ./src/ChartInternal/internals/transform.ts + + +/* harmony default export */ var transform = ({ + getTranslate(target, index = 0) { + var _a; + const $$ = this; + const { config, state } = $$; + const isRotated = config.axis_rotated; + let padding = 0; + let x; + let y; + if (index && /^(x|y2?)$/.test(target)) { + padding = $$.getAxisSize(target) * index; + } + if (target === "main") { + x = asHalfPixel(state.margin.left); + y = asHalfPixel(state.margin.top); + } else if (target === "context") { + x = asHalfPixel(state.margin2.left); + y = asHalfPixel(state.margin2.top); + } else if (target === "legend") { + x = state.margin3.left; + y = state.margin3.top; + } else if (target === "x") { + x = isRotated ? -padding : 0; + y = isRotated ? 0 : state.height + padding; + } else if (target === "y") { + x = isRotated ? 0 : -padding; + y = isRotated ? state.height + padding : 0; + } else if (target === "y2") { + x = isRotated ? 0 : state.width + padding; + y = isRotated ? -padding - 1 : 0; + } else if (target === "subX") { + x = 0; + y = isRotated ? 0 : state.height2; + } else if (target === "arc") { + x = state.arcWidth / 2; + y = state.arcHeight / 2; + if ((_a = config.arc_rangeText_values) == null ? void 0 : _a.length) { + y += 5 + ($$.hasType("gauge") && config.title_text ? 10 : 0); + } + } else if (target === "polar") { + x = state.arcWidth / 2; + y = state.arcHeight / 2; + } else if (target === "radar") { + const [width, height] = $$.getRadarSize(); + x = state.width / 2 - width; + y = state.height / 2 - height; + } + return `translate(${x}, ${y})`; + }, + transformMain(withTransition, transitions) { + const $$ = this; + const { $el: { main }, $T } = $$; + const xAxis = (transitions == null ? void 0 : transitions.axisX) ? transitions.axisX : $T(main.select(`.${$AXIS.axisX}`), withTransition); + const yAxis = (transitions == null ? void 0 : transitions.axisY) ? transitions.axisY : $T(main.select(`.${$AXIS.axisY}`), withTransition); + const y2Axis = (transitions == null ? void 0 : transitions.axisY2) ? transitions.axisY2 : $T(main.select(`.${$AXIS.axisY2}`), withTransition); + $T(main, withTransition).attr("transform", $$.getTranslate("main")); + xAxis.attr("transform", $$.getTranslate("x")); + yAxis.attr("transform", $$.getTranslate("y")); + y2Axis.attr("transform", $$.getTranslate("y2")); + main.select(`.${$ARC.chartArcs}`).attr("transform", $$.getTranslate("arc")); + }, + transformAll(withTransition, transitions) { + const $$ = this; + const { config, state: { hasAxis, hasFunnel, hasTreemap }, $el } = $$; + !hasFunnel && !hasTreemap && $$.transformMain(withTransition, transitions); + hasAxis && config.subchart_show && $$.transformContext(withTransition, transitions); + $el.legend && $$.transformLegend(withTransition); + } +}); + +;// ./src/ChartInternal/internals/type.ts + + +/* harmony default export */ var internals_type = ({ + /** + * Check if the given chart type is valid + * @param {string} type Chart type string + * @returns {boolean} + * @private + */ + isValidChartType(type) { + return !!(type && Object.values(TYPE).indexOf(type) > -1); + }, + setTargetType(targetIds, type) { + const $$ = this; + const { config, state: { withoutFadeIn } } = $$; + $$.mapToTargetIds(targetIds).forEach((id) => { + withoutFadeIn[id] = type === config.data_types[id]; + config.data_types[id] = type; + }); + if (!targetIds) { + config.data_type = type; + } + }, + /** + * Updte current used chart types + * @private + */ + updateTypesElements() { + const $$ = this; + const { state: { current } } = $$; + Object.keys(TYPE).forEach((v) => { + const t = TYPE[v]; + const has = $$.hasType(t, null, true); + const idx = current.types.indexOf(t); + if (idx === -1 && has) { + current.types.push(t); + } else if (idx > -1 && !has) { + current.types.splice(idx, 1); + } + }); + $$.setChartElements(); + }, + /** + * Check if given chart types exists + * @param {string} type Chart type + * @param {Array} targetsValue Data array + * @param {boolean} checkFromData Force to check type cotains from data targets + * @returns {boolean} + * @private + */ + hasType(type, targetsValue, checkFromData = false) { + var _a; + const $$ = this; + const { config, state: { current } } = $$; + const types = config.data_types; + const targets = targetsValue || $$.data.targets; + let has = false; + if (!checkFromData && ((_a = current.types) == null ? void 0 : _a.indexOf(type)) > -1) { + has = true; + } else if (targets == null ? void 0 : targets.length) { + targets.forEach((target) => { + const t = types[target.id]; + if (t === type || !t && type === "line") { + has = true; + } + }); + } else if (Object.keys(types).length) { + Object.keys(types).forEach((id) => { + if (types[id] === type) { + has = true; + } + }); + } else { + has = config.data_type === type; + } + return has; + }, + /** + * Check if contains given chart types + * @param {string} type Type key + * @param {object} targets Target data + * @param {Array} exclude Excluded types + * @returns {boolean} + * @private + */ + hasTypeOf(type, targets, exclude = []) { + if (type in TYPE_BY_CATEGORY) { + return !TYPE_BY_CATEGORY[type].filter((v) => exclude.indexOf(v) === -1).every((v) => !this.hasType(v, targets)); + } + return false; + }, + /** + * Check if given data is certain chart type + * @param {object} d Data object + * @param {string|Array} type chart type + * @returns {boolean} + * @private + */ + isTypeOf(d, type) { + var _a; + const id = isString(d) ? d : d.id; + const dataType = this.config && (((_a = this.config.data_types) == null ? void 0 : _a[id]) || this.config.data_type); + return isArray(type) ? type.indexOf(dataType) >= 0 : dataType === type; + }, + hasPointType() { + const $$ = this; + return $$.hasTypeOf("Line") || $$.hasType("bubble") || $$.hasType("scatter"); + }, + /** + * Check if contains arc types chart + * @param {object} targets Target data + * @param {Array} exclude Excluded types + * @returns {boolean} + * @private + */ + hasArcType(targets, exclude) { + return this.hasTypeOf("Arc", targets, exclude); + }, + hasMultiArcGauge() { + return this.hasType("gauge") && this.config.gauge_type === "multi"; + }, + isLineType(d) { + const id = isString(d) ? d : d.id; + return !this.config.data_types[id] || this.isTypeOf(id, TYPE_BY_CATEGORY.Line); + }, + isStepType(d) { + return this.isTypeOf(d, TYPE_BY_CATEGORY.Step); + }, + isSplineType(d) { + return this.isTypeOf(d, TYPE_BY_CATEGORY.Spline); + }, + isAreaType(d) { + return this.isTypeOf(d, TYPE_BY_CATEGORY.Area); + }, + isAreaRangeType(d) { + return this.isTypeOf(d, TYPE_BY_CATEGORY.AreaRange); + }, + isBarType(d) { + return this.isTypeOf(d, "bar"); + }, + isBubbleType(d) { + return this.isTypeOf(d, "bubble"); + }, + isCandlestickType(d) { + return this.isTypeOf(d, "candlestick"); + }, + isScatterType(d) { + return this.isTypeOf(d, "scatter"); + }, + isTreemapType(d) { + return this.isTypeOf(d, "treemap"); + }, + isPieType(d) { + return this.isTypeOf(d, "pie"); + }, + isFunnelType(d) { + return this.isTypeOf(d, "funnel"); + }, + isGaugeType(d) { + return this.isTypeOf(d, "gauge"); + }, + isDonutType(d) { + return this.isTypeOf(d, "donut"); + }, + isPolarType(d) { + return this.isTypeOf(d, "polar"); + }, + isRadarType(d) { + return this.isTypeOf(d, "radar"); + }, + isArcType(d) { + return this.isPieType(d) || this.isDonutType(d) || this.isGaugeType(d) || this.isPolarType(d) || this.isRadarType(d); + }, + // determine if is 'circle' data point + isCirclePoint(node) { + const { config } = this; + const pattern = config.point_pattern; + let isCircle = false; + if ((node == null ? void 0 : node.tagName) === "circle") { + isCircle = true; + } else { + isCircle = config.point_type === "circle" && (!pattern || isArray(pattern) && pattern.length === 0); + } + return isCircle; + }, + lineData(d) { + return this.isLineType(d) ? [d] : []; + }, + arcData(d) { + return this.isArcType(d.data) ? [d] : []; + }, + /** + * Get data adapt for data label showing + * @param {object} d Data object + * @returns {Array} + * @private + */ + labelishData(d) { + return this.isBarType(d) || this.isLineType(d) || this.isScatterType(d) || this.isBubbleType(d) || this.isCandlestickType(d) || this.isFunnelType(d) || this.isRadarType(d) || this.isTreemapType(d) ? d.values.filter((v) => isNumber(v.value) || Boolean(v.value)) : []; + }, + barLineBubbleData(d) { + return this.isBarType(d) || this.isLineType(d) || this.isBubbleType(d) ? d.values : []; + }, + // https://github.com/d3/d3-shape#curves + isInterpolationType(type) { + return [ + "basis", + "basis-closed", + "basis-open", + "bundle", + "cardinal", + "cardinal-closed", + "cardinal-open", + "catmull-rom", + "catmull-rom-closed", + "catmull-rom-open", + "linear", + "linear-closed", + "monotone-x", + "monotone-y", + "natural" + ].indexOf(type) >= 0; + } +}); + +;// ./node_modules/d3-shape/src/curve/basis.js +function point(that, x, y) { + that._context.bezierCurveTo( + (2 * that._x0 + that._x1) / 3, + (2 * that._y0 + that._y1) / 3, + (that._x0 + 2 * that._x1) / 3, + (that._y0 + 2 * that._y1) / 3, + (that._x0 + 4 * that._x1 + x) / 6, + (that._y0 + 4 * that._y1 + y) / 6 + ); +} +function Basis(context) { + this._context = context; +} +Basis.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x0 = this._x1 = this._y0 = this._y1 = NaN; + this._point = 0; + }, + lineEnd: function() { + switch (this._point) { + case 3: + point(this, this._x1, this._y1); + case 2: + this._context.lineTo(this._x1, this._y1); + break; + } + if (this._line || this._line !== 0 && this._point === 1) this._context.closePath(); + this._line = 1 - this._line; + }, + point: function(x, y) { + x = +x, y = +y; + switch (this._point) { + case 0: + this._point = 1; + this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3; + this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); + default: + point(this, x, y); + break; + } + this._x0 = this._x1, this._x1 = x; + this._y0 = this._y1, this._y1 = y; + } +}; +/* harmony default export */ function curve_basis(context) { + return new Basis(context); +} + +;// ./node_modules/d3-shape/src/noop.js +/* harmony default export */ function src_noop() { +} + +;// ./node_modules/d3-shape/src/curve/basisClosed.js + + +function BasisClosed(context) { + this._context = context; +} +BasisClosed.prototype = { + areaStart: src_noop, + areaEnd: src_noop, + lineStart: function() { + this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN; + this._point = 0; + }, + lineEnd: function() { + switch (this._point) { + case 1: { + this._context.moveTo(this._x2, this._y2); + this._context.closePath(); + break; + } + case 2: { + this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3); + this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3); + this._context.closePath(); + break; + } + case 3: { + this.point(this._x2, this._y2); + this.point(this._x3, this._y3); + this.point(this._x4, this._y4); + break; + } + } + }, + point: function(x, y) { + x = +x, y = +y; + switch (this._point) { + case 0: + this._point = 1; + this._x2 = x, this._y2 = y; + break; + case 1: + this._point = 2; + this._x3 = x, this._y3 = y; + break; + case 2: + this._point = 3; + this._x4 = x, this._y4 = y; + this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6); + break; + default: + point(this, x, y); + break; + } + this._x0 = this._x1, this._x1 = x; + this._y0 = this._y1, this._y1 = y; + } +}; +/* harmony default export */ function curve_basisClosed(context) { + return new BasisClosed(context); +} + +;// ./node_modules/d3-shape/src/curve/basisOpen.js + +function BasisOpen(context) { + this._context = context; +} +BasisOpen.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x0 = this._x1 = this._y0 = this._y1 = NaN; + this._point = 0; + }, + lineEnd: function() { + if (this._line || this._line !== 0 && this._point === 3) this._context.closePath(); + this._line = 1 - this._line; + }, + point: function(x, y) { + x = +x, y = +y; + switch (this._point) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3; + var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6; + this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0); + break; + case 3: + this._point = 4; + default: + point(this, x, y); + break; + } + this._x0 = this._x1, this._x1 = x; + this._y0 = this._y1, this._y1 = y; + } +}; +/* harmony default export */ function basisOpen(context) { + return new BasisOpen(context); +} + +;// ./node_modules/d3-shape/src/curve/bundle.js + +function Bundle(context, beta) { + this._basis = new Basis(context); + this._beta = beta; +} +Bundle.prototype = { + lineStart: function() { + this._x = []; + this._y = []; + this._basis.lineStart(); + }, + lineEnd: function() { + var x = this._x, y = this._y, j = x.length - 1; + if (j > 0) { + var x0 = x[0], y0 = y[0], dx = x[j] - x0, dy = y[j] - y0, i = -1, t; + while (++i <= j) { + t = i / j; + this._basis.point( + this._beta * x[i] + (1 - this._beta) * (x0 + t * dx), + this._beta * y[i] + (1 - this._beta) * (y0 + t * dy) + ); + } + } + this._x = this._y = null; + this._basis.lineEnd(); + }, + point: function(x, y) { + this._x.push(+x); + this._y.push(+y); + } +}; +/* harmony default export */ var bundle = ((function custom(beta) { + function bundle(context) { + return beta === 1 ? new Basis(context) : new Bundle(context, beta); + } + bundle.beta = function(beta2) { + return custom(+beta2); + }; + return bundle; +})(0.85)); + +;// ./node_modules/d3-shape/src/curve/cardinal.js +function cardinal_point(that, x, y) { + that._context.bezierCurveTo( + that._x1 + that._k * (that._x2 - that._x0), + that._y1 + that._k * (that._y2 - that._y0), + that._x2 + that._k * (that._x1 - x), + that._y2 + that._k * (that._y1 - y), + that._x2, + that._y2 + ); +} +function Cardinal(context, tension) { + this._context = context; + this._k = (1 - tension) / 6; +} +Cardinal.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN; + this._point = 0; + }, + lineEnd: function() { + switch (this._point) { + case 2: + this._context.lineTo(this._x2, this._y2); + break; + case 3: + cardinal_point(this, this._x1, this._y1); + break; + } + if (this._line || this._line !== 0 && this._point === 1) this._context.closePath(); + this._line = 1 - this._line; + }, + point: function(x, y) { + x = +x, y = +y; + switch (this._point) { + case 0: + this._point = 1; + this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); + break; + case 1: + this._point = 2; + this._x1 = x, this._y1 = y; + break; + case 2: + this._point = 3; + default: + cardinal_point(this, x, y); + break; + } + this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; + this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; + } +}; +/* harmony default export */ var cardinal = ((function custom(tension) { + function cardinal(context) { + return new Cardinal(context, tension); + } + cardinal.tension = function(tension2) { + return custom(+tension2); + }; + return cardinal; +})(0)); + +;// ./node_modules/d3-shape/src/curve/cardinalClosed.js + + +function CardinalClosed(context, tension) { + this._context = context; + this._k = (1 - tension) / 6; +} +CardinalClosed.prototype = { + areaStart: src_noop, + areaEnd: src_noop, + lineStart: function() { + this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN; + this._point = 0; + }, + lineEnd: function() { + switch (this._point) { + case 1: { + this._context.moveTo(this._x3, this._y3); + this._context.closePath(); + break; + } + case 2: { + this._context.lineTo(this._x3, this._y3); + this._context.closePath(); + break; + } + case 3: { + this.point(this._x3, this._y3); + this.point(this._x4, this._y4); + this.point(this._x5, this._y5); + break; + } + } + }, + point: function(x, y) { + x = +x, y = +y; + switch (this._point) { + case 0: + this._point = 1; + this._x3 = x, this._y3 = y; + break; + case 1: + this._point = 2; + this._context.moveTo(this._x4 = x, this._y4 = y); + break; + case 2: + this._point = 3; + this._x5 = x, this._y5 = y; + break; + default: + cardinal_point(this, x, y); + break; + } + this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; + this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; + } +}; +/* harmony default export */ var cardinalClosed = ((function custom(tension) { + function cardinal(context) { + return new CardinalClosed(context, tension); + } + cardinal.tension = function(tension2) { + return custom(+tension2); + }; + return cardinal; +})(0)); + +;// ./node_modules/d3-shape/src/curve/cardinalOpen.js + +function CardinalOpen(context, tension) { + this._context = context; + this._k = (1 - tension) / 6; +} +CardinalOpen.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN; + this._point = 0; + }, + lineEnd: function() { + if (this._line || this._line !== 0 && this._point === 3) this._context.closePath(); + this._line = 1 - this._line; + }, + point: function(x, y) { + x = +x, y = +y; + switch (this._point) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3; + this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); + break; + case 3: + this._point = 4; + default: + cardinal_point(this, x, y); + break; + } + this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; + this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; + } +}; +/* harmony default export */ var cardinalOpen = ((function custom(tension) { + function cardinal(context) { + return new CardinalOpen(context, tension); + } + cardinal.tension = function(tension2) { + return custom(+tension2); + }; + return cardinal; +})(0)); + +;// ./node_modules/d3-shape/src/math.js +const math_abs = Math.abs; +const atan2 = Math.atan2; +const cos = Math.cos; +const math_max = Math.max; +const math_min = Math.min; +const sin = Math.sin; +const sqrt = Math.sqrt; +const epsilon = 1e-12; +const pi = Math.PI; +const halfPi = pi / 2; +const tau = 2 * pi; +function acos(x) { + return x > 1 ? 0 : x < -1 ? pi : Math.acos(x); +} +function asin(x) { + return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x); +} + +;// ./node_modules/d3-shape/src/curve/catmullRom.js + + +function catmullRom_point(that, x, y) { + var x1 = that._x1, y1 = that._y1, x2 = that._x2, y2 = that._y2; + if (that._l01_a > epsilon) { + var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a, n = 3 * that._l01_a * (that._l01_a + that._l12_a); + x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n; + y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n; + } + if (that._l23_a > epsilon) { + var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a, m = 3 * that._l23_a * (that._l23_a + that._l12_a); + x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m; + y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m; + } + that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2); +} +function CatmullRom(context, alpha) { + this._context = context; + this._alpha = alpha; +} +CatmullRom.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN; + this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0; + }, + lineEnd: function() { + switch (this._point) { + case 2: + this._context.lineTo(this._x2, this._y2); + break; + case 3: + this.point(this._x2, this._y2); + break; + } + if (this._line || this._line !== 0 && this._point === 1) this._context.closePath(); + this._line = 1 - this._line; + }, + point: function(x, y) { + x = +x, y = +y; + if (this._point) { + var x23 = this._x2 - x, y23 = this._y2 - y; + this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha)); + } + switch (this._point) { + case 0: + this._point = 1; + this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3; + default: + catmullRom_point(this, x, y); + break; + } + this._l01_a = this._l12_a, this._l12_a = this._l23_a; + this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a; + this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; + this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; + } +}; +/* harmony default export */ var catmullRom = ((function custom(alpha) { + function catmullRom(context) { + return alpha ? new CatmullRom(context, alpha) : new Cardinal(context, 0); + } + catmullRom.alpha = function(alpha2) { + return custom(+alpha2); + }; + return catmullRom; +})(0.5)); + +;// ./node_modules/d3-shape/src/curve/catmullRomClosed.js + + + +function CatmullRomClosed(context, alpha) { + this._context = context; + this._alpha = alpha; +} +CatmullRomClosed.prototype = { + areaStart: src_noop, + areaEnd: src_noop, + lineStart: function() { + this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN; + this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0; + }, + lineEnd: function() { + switch (this._point) { + case 1: { + this._context.moveTo(this._x3, this._y3); + this._context.closePath(); + break; + } + case 2: { + this._context.lineTo(this._x3, this._y3); + this._context.closePath(); + break; + } + case 3: { + this.point(this._x3, this._y3); + this.point(this._x4, this._y4); + this.point(this._x5, this._y5); + break; + } + } + }, + point: function(x, y) { + x = +x, y = +y; + if (this._point) { + var x23 = this._x2 - x, y23 = this._y2 - y; + this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha)); + } + switch (this._point) { + case 0: + this._point = 1; + this._x3 = x, this._y3 = y; + break; + case 1: + this._point = 2; + this._context.moveTo(this._x4 = x, this._y4 = y); + break; + case 2: + this._point = 3; + this._x5 = x, this._y5 = y; + break; + default: + catmullRom_point(this, x, y); + break; + } + this._l01_a = this._l12_a, this._l12_a = this._l23_a; + this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a; + this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; + this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; + } +}; +/* harmony default export */ var catmullRomClosed = ((function custom(alpha) { + function catmullRom(context) { + return alpha ? new CatmullRomClosed(context, alpha) : new CardinalClosed(context, 0); + } + catmullRom.alpha = function(alpha2) { + return custom(+alpha2); + }; + return catmullRom; +})(0.5)); + +;// ./node_modules/d3-shape/src/curve/catmullRomOpen.js + + +function CatmullRomOpen(context, alpha) { + this._context = context; + this._alpha = alpha; +} +CatmullRomOpen.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN; + this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0; + }, + lineEnd: function() { + if (this._line || this._line !== 0 && this._point === 3) this._context.closePath(); + this._line = 1 - this._line; + }, + point: function(x, y) { + x = +x, y = +y; + if (this._point) { + var x23 = this._x2 - x, y23 = this._y2 - y; + this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha)); + } + switch (this._point) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3; + this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2); + break; + case 3: + this._point = 4; + default: + catmullRom_point(this, x, y); + break; + } + this._l01_a = this._l12_a, this._l12_a = this._l23_a; + this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a; + this._x0 = this._x1, this._x1 = this._x2, this._x2 = x; + this._y0 = this._y1, this._y1 = this._y2, this._y2 = y; + } +}; +/* harmony default export */ var catmullRomOpen = ((function custom(alpha) { + function catmullRom(context) { + return alpha ? new CatmullRomOpen(context, alpha) : new CardinalOpen(context, 0); + } + catmullRom.alpha = function(alpha2) { + return custom(+alpha2); + }; + return catmullRom; +})(0.5)); + +;// ./node_modules/d3-shape/src/curve/monotone.js +function sign(x) { + return x < 0 ? -1 : 1; +} +function slope3(that, x2, y2) { + var h0 = that._x1 - that._x0, h1 = x2 - that._x1, s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0), s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0), p = (s0 * h1 + s1 * h0) / (h0 + h1); + return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0; +} +function slope2(that, t) { + var h = that._x1 - that._x0; + return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t; +} +function monotone_point(that, t0, t1) { + var x0 = that._x0, y0 = that._y0, x1 = that._x1, y1 = that._y1, dx = (x1 - x0) / 3; + that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1); +} +function MonotoneX(context) { + this._context = context; +} +MonotoneX.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN; + this._point = 0; + }, + lineEnd: function() { + switch (this._point) { + case 2: + this._context.lineTo(this._x1, this._y1); + break; + case 3: + monotone_point(this, this._t0, slope2(this, this._t0)); + break; + } + if (this._line || this._line !== 0 && this._point === 1) this._context.closePath(); + this._line = 1 - this._line; + }, + point: function(x, y) { + var t1 = NaN; + x = +x, y = +y; + if (x === this._x1 && y === this._y1) return; + switch (this._point) { + case 0: + this._point = 1; + this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3; + monotone_point(this, slope2(this, t1 = slope3(this, x, y)), t1); + break; + default: + monotone_point(this, this._t0, t1 = slope3(this, x, y)); + break; + } + this._x0 = this._x1, this._x1 = x; + this._y0 = this._y1, this._y1 = y; + this._t0 = t1; + } +}; +function MonotoneY(context) { + this._context = new ReflectContext(context); +} +(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) { + MonotoneX.prototype.point.call(this, y, x); +}; +function ReflectContext(context) { + this._context = context; +} +ReflectContext.prototype = { + moveTo: function(x, y) { + this._context.moveTo(y, x); + }, + closePath: function() { + this._context.closePath(); + }, + lineTo: function(x, y) { + this._context.lineTo(y, x); + }, + bezierCurveTo: function(x1, y1, x2, y2, x, y) { + this._context.bezierCurveTo(y1, x1, y2, x2, y, x); + } +}; +function monotoneX(context) { + return new MonotoneX(context); +} +function monotoneY(context) { + return new MonotoneY(context); +} + +;// ./node_modules/d3-shape/src/curve/natural.js +function Natural(context) { + this._context = context; +} +Natural.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x = []; + this._y = []; + }, + lineEnd: function() { + var x = this._x, y = this._y, n = x.length; + if (n) { + this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]); + if (n === 2) { + this._context.lineTo(x[1], y[1]); + } else { + var px = controlPoints(x), py = controlPoints(y); + for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) { + this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]); + } + } + } + if (this._line || this._line !== 0 && n === 1) this._context.closePath(); + this._line = 1 - this._line; + this._x = this._y = null; + }, + point: function(x, y) { + this._x.push(+x); + this._y.push(+y); + } +}; +function controlPoints(x) { + var i, n = x.length - 1, m, a = new Array(n), b = new Array(n), r = new Array(n); + a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1]; + for (i = 1; i < n - 1; ++i) a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1]; + a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n]; + for (i = 1; i < n; ++i) m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1]; + a[n - 1] = r[n - 1] / b[n - 1]; + for (i = n - 2; i >= 0; --i) a[i] = (r[i] - a[i + 1]) / b[i]; + b[n - 1] = (x[n] + a[n - 1]) / 2; + for (i = 0; i < n - 1; ++i) b[i] = 2 * x[i + 1] - a[i + 1]; + return [a, b]; +} +/* harmony default export */ function natural(context) { + return new Natural(context); +} + +;// ./node_modules/d3-shape/src/curve/linearClosed.js + +function LinearClosed(context) { + this._context = context; +} +LinearClosed.prototype = { + areaStart: src_noop, + areaEnd: src_noop, + lineStart: function() { + this._point = 0; + }, + lineEnd: function() { + if (this._point) this._context.closePath(); + }, + point: function(x, y) { + x = +x, y = +y; + if (this._point) this._context.lineTo(x, y); + else this._point = 1, this._context.moveTo(x, y); + } +}; +/* harmony default export */ function linearClosed(context) { + return new LinearClosed(context); +} + +;// ./node_modules/d3-shape/src/curve/linear.js +function Linear(context) { + this._context = context; +} +Linear.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._point = 0; + }, + lineEnd: function() { + if (this._line || this._line !== 0 && this._point === 1) this._context.closePath(); + this._line = 1 - this._line; + }, + point: function(x, y) { + x = +x, y = +y; + switch (this._point) { + case 0: + this._point = 1; + this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); + break; + case 1: + this._point = 2; + default: + this._context.lineTo(x, y); + break; + } + } +}; +/* harmony default export */ function curve_linear(context) { + return new Linear(context); +} + +;// ./node_modules/d3-shape/src/curve/step.js +function Step(context, t) { + this._context = context; + this._t = t; +} +Step.prototype = { + areaStart: function() { + this._line = 0; + }, + areaEnd: function() { + this._line = NaN; + }, + lineStart: function() { + this._x = this._y = NaN; + this._point = 0; + }, + lineEnd: function() { + if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y); + if (this._line || this._line !== 0 && this._point === 1) this._context.closePath(); + if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line; + }, + point: function(x, y) { + x = +x, y = +y; + switch (this._point) { + case 0: + this._point = 1; + this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); + break; + case 1: + this._point = 2; + default: { + if (this._t <= 0) { + this._context.lineTo(this._x, y); + this._context.lineTo(x, y); + } else { + var x1 = this._x * (1 - this._t) + x * this._t; + this._context.lineTo(x1, this._y); + this._context.lineTo(x1, y); + } + break; + } + } + this._x = x, this._y = y; + } +}; +/* harmony default export */ function step(context) { + return new Step(context, 0.5); +} +function stepBefore(context) { + return new Step(context, 0); +} +function stepAfter(context) { + return new Step(context, 1); +} + +;// ./src/ChartInternal/shape/shape.ts + + + + +function getGroupedDataPointsFn(d) { + const $$ = this; + let fn; + if ($$.isLineType(d)) { + fn = $$.generateGetLinePoints($$.getShapeIndices($$.isLineType)); + } else if ($$.isBarType(d)) { + fn = $$.generateGetBarPoints($$.getShapeIndices($$.isBarType)); + } + return fn; +} +/* harmony default export */ var shape = ({ + /** + * Get the shape draw function + * @returns {object} + * @private + */ + getDrawShape() { + const $$ = this; + const isRotated = $$.config.axis_rotated; + const { hasRadar, hasTreemap } = $$.state; + const shape = { type: {}, indices: {}, pos: {} }; + !hasTreemap && ["bar", "candlestick", "line", "area"].forEach((v) => { + const name = capitalize(/^(bubble|scatter)$/.test(v) ? "line" : v); + if ($$.hasType(v) || $$.hasTypeOf(name) || v === "line" && ($$.hasType("bubble") || $$.hasType("scatter"))) { + const indices = $$.getShapeIndices($$[`is${name}Type`]); + const drawFn = $$[`generateDraw${name}`]; + shape.indices[v] = indices; + shape.type[v] = drawFn ? drawFn.bind($$)(indices, false) : void 0; + } + }); + if (!$$.hasArcType() || hasRadar || hasTreemap) { + let cx; + let cy; + if (!hasTreemap) { + cx = hasRadar ? $$.radarCircleX : isRotated ? $$.circleY : $$.circleX; + cy = hasRadar ? $$.radarCircleY : isRotated ? $$.circleX : $$.circleY; + } + shape.pos = { + xForText: $$.generateXYForText(shape.indices, true), + yForText: $$.generateXYForText(shape.indices, false), + cx: (cx || function() { + }).bind($$), + cy: (cy || function() { + }).bind($$) + }; + } + return shape; + }, + /** + * Get shape's indices according it's position within each axis tick. + * + * From the below example, indices will be: + * ==> {data1: 0, data2: 0, data3: 1, data4: 1, __max__: 1} + * + * data1 data3 data1 data3 + * data2 data4 data2 data4 + * ------------------------- + * 0 1 + * @param {Function} typeFilter Chart type filter function + * @returns {object} Indices object with its position + */ + getShapeIndices(typeFilter) { + const $$ = this; + const { config } = $$; + const xs = config.data_xs; + const hasXs = notEmpty(xs); + const indices = {}; + let i = hasXs ? {} : 0; + if (hasXs) { + getUnique(Object.keys(xs).map((v) => xs[v])).forEach((v) => { + i[v] = 0; + indices[v] = {}; + }); + } + $$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$)).forEach((d) => { + var _a; + const xKey = d.id in xs ? xs[d.id] : ""; + const ind = xKey ? indices[xKey] : indices; + for (let j = 0, groups; groups = config.data_groups[j]; j++) { + if (groups.indexOf(d.id) < 0) { + continue; + } + for (let k = 0, key; key = groups[k]; k++) { + if (key in ind) { + ind[d.id] = ind[key]; + break; + } + if (d.id !== key && xKey) { + ind[key] = (_a = ind[d.id]) != null ? _a : i[xKey]; + } + } + } + if (isUndefined(ind[d.id])) { + ind[d.id] = xKey ? i[xKey]++ : i++; + ind.__max__ = (xKey ? i[xKey] : i) - 1; + } + }); + return indices; + }, + /** + * Get indices value based on data ID value + * @param {object} indices Indices object + * @param {object} d Data row + * @param {string} caller Caller function name (Used only for 'sparkline' plugin) + * @returns {object} Indices object + * @private + */ + getIndices(indices, d, caller) { + const $$ = this; + const { data_xs: xs, bar_indices_removeNull: removeNull } = $$.config; + const { id, index } = d; + if ($$.isBarType(id) && removeNull) { + const ind = {}; + $$.getAllValuesOnIndex(index, true).forEach((v, i) => { + ind[v.id] = i; + ind.__max__ = i; + }); + return ind; + } + return notEmpty(xs) ? indices[xs[id]] : indices; + }, + /** + * Get indices max number + * @param {object} indices Indices object + * @returns {number} Max number + * @private + */ + getIndicesMax(indices) { + return notEmpty(this.config.data_xs) ? ( + // if is multiple xs, return total sum of xs' __max__ value + Object.keys(indices).map((v) => indices[v].__max__ || 0).reduce((acc, curr) => acc + curr) + ) : indices.__max__; + }, + getShapeX(offset, indices, isSub) { + const $$ = this; + const { config, scale } = $$; + const currScale = isSub ? scale.subX : scale.zoom || scale.x; + const barOverlap = config.bar_overlap; + const barPadding = config.bar_padding; + const sum = (p, c) => p + c; + const halfWidth = isObjectType(offset) && (offset._$total.length ? offset._$total.reduce(sum) / 2 : 0); + return (d) => { + const ind = $$.getIndices(indices, d, "getShapeX"); + const index = d.id in ind ? ind[d.id] : 0; + const targetsNum = (ind.__max__ || 0) + 1; + let x = 0; + if (notEmpty(d.x)) { + const xPos = currScale(d.x, true); + if (halfWidth) { + const offsetWidth = offset[d.id] || offset._$width; + x = barOverlap ? xPos - offsetWidth / 2 : xPos - offsetWidth + offset._$total.slice(0, index + 1).reduce(sum) - halfWidth; + } else { + x = xPos - (isNumber(offset) ? offset : offset._$width) * (targetsNum / 2 - (barOverlap ? 1 : index)); + } + } + if (offset && x && targetsNum > 1 && barPadding) { + if (index) { + x += barPadding * index; + } + if (targetsNum > 2) { + x -= (targetsNum - 1) * barPadding / 2; + } else if (targetsNum === 2) { + x -= barPadding / 2; + } + } + return x; + }; + }, + getShapeY(isSub) { + const $$ = this; + const isStackNormalized = $$.isStackNormalized(); + return (d) => { + let { value } = d; + if (isNumber(d)) { + value = d; + } else if ($$.isAreaRangeType(d)) { + value = $$.getBaseValue(d, "mid"); + } else if (isStackNormalized) { + value = $$.getRatio("index", d, true); + } else if ($$.isBubbleZType(d)) { + value = $$.getBubbleZData(d.value, "y"); + } else if ($$.isBarRangeType(d)) { + value = value[1]; + } + return $$.getYScaleById(d.id, isSub)(value); + }; + }, + /** + * Get shape based y Axis min value + * @param {string} id Data id + * @returns {number} + * @private + */ + getShapeYMin(id) { + const $$ = this; + const axisId = $$.axis.getId(id); + const scale = $$.scale[axisId]; + const [yMin] = scale.domain(); + const inverted = $$.config[`axis_${axisId}_inverted`]; + return !$$.isGrouped(id) && !inverted && yMin > 0 ? yMin : 0; + }, + /** + * Get Shape's offset data + * @param {Function} typeFilter Type filter function + * @returns {object} + * @private + */ + getShapeOffsetData(typeFilter) { + const $$ = this; + const targets = $$.orderTargets( + $$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$)) + ); + const isStackNormalized = $$.isStackNormalized(); + const shapeOffsetTargets = targets.map((target) => { + let rowValues = target.values; + const values = {}; + if ($$.isStepType(target)) { + rowValues = $$.convertValuesToStep(rowValues); + } + const rowValueMapByXValue = rowValues.reduce((out, d) => { + const key = Number(d.x); + out[key] = d; + values[key] = isStackNormalized ? $$.getRatio("index", d, true) : d.value; + return out; + }, {}); + return { + id: target.id, + rowValues, + rowValueMapByXValue, + values + }; + }); + const indexMapByTargetId = targets.reduce((out, { id }, index) => { + out[id] = index; + return out; + }, {}); + return { indexMapByTargetId, shapeOffsetTargets }; + }, + getShapeOffset(typeFilter, indices, isSub) { + const $$ = this; + const { shapeOffsetTargets, indexMapByTargetId } = $$.getShapeOffsetData( + typeFilter + ); + const groupsZeroAs = $$.config.data_groupsZeroAs; + return (d, idx) => { + const { id, value, x } = d; + const ind = $$.getIndices(indices, d); + const scale = $$.getYScaleById(id, isSub); + if ($$.isBarRangeType(d)) { + return scale(value[0]); + } + const dataXAsNumber = Number(x); + const y0 = scale(groupsZeroAs === "zero" ? 0 : $$.getShapeYMin(id)); + let offset = y0; + shapeOffsetTargets.filter((t) => t.id !== id && ind[t.id] === ind[id]).forEach((t) => { + const { + id: tid, + rowValueMapByXValue, + rowValues, + values: tvalues + } = t; + if (indexMapByTargetId[tid] < indexMapByTargetId[id]) { + const rValue = tvalues[dataXAsNumber]; + let row = rowValues[idx]; + if (!row || Number(row.x) !== dataXAsNumber) { + row = rowValueMapByXValue[dataXAsNumber]; + } + if ((row == null ? void 0 : row.value) * value >= 0 && isNumber(rValue)) { + const addOffset = value === 0 ? groupsZeroAs === "positive" && rValue > 0 || groupsZeroAs === "negative" && rValue < 0 : true; + if (addOffset) { + offset += scale(rValue) - y0; + } + } + } + }); + return offset; + }; + }, + /** + * Get data's y coordinate + * @param {object} d Target data + * @param {number} i Index number + * @returns {number} y coordinate + * @private + */ + circleY(d, i) { + const $$ = this; + const id = d.id; + let points; + if ($$.isGrouped(id)) { + points = getGroupedDataPointsFn.bind($$)(d); + } + return points ? points(d, i)[0][1] : $$.getYScaleById(id)($$.getBaseValue(d)); + }, + getBarW(type, axis, targetsNum) { + var _a, _b, _c, _d, _e; + const $$ = this; + const { config, org, scale, state } = $$; + const maxDataCount = $$.getMaxDataCount(); + const isGrouped = type === "bar" && ((_a = config.data_groups) == null ? void 0 : _a.length); + const configName = `${type}_width`; + const { k } = (_c = (_b = $$.getZoomTransform) == null ? void 0 : _b.call($$)) != null ? _c : { k: 1 }; + const xMinMax = [ + (_d = config.axis_x_min) != null ? _d : org.xDomain[0], + (_e = config.axis_x_max) != null ? _e : org.xDomain[1] + ].map($$.axis.isTimeSeries() ? parseDate.bind($$) : Number); + let tickInterval = axis.tickInterval(maxDataCount); + if (scale.zoom && !$$.axis.isCategorized() && k > 1) { + const isSameMinMax = xMinMax.every((v, i) => v === org.xDomain[i]); + tickInterval = org.xDomain.map((v, i) => { + const value = isSameMinMax ? v : v - Math.abs(xMinMax[i]); + return scale.zoom(value); + }).reduce((a, c) => Math.abs(a) + c) / maxDataCount; + } + const getWidth = (id) => { + const width = id ? config[configName][id] : config[configName]; + const ratio = id ? width.ratio : config[`${configName}_ratio`]; + const max = id ? width.max : config[`${configName}_max`]; + const w = isNumber(width) ? width : isFunction(width) ? width.call($$, state.width, targetsNum, maxDataCount) : targetsNum ? tickInterval * ratio / targetsNum : 0; + return max && w > max ? max : w; + }; + let result = getWidth(); + if (!isGrouped && isObjectType(config[configName])) { + result = { _$width: result, _$total: [] }; + $$.filterTargetsToShow($$.data.targets).forEach((v) => { + if (config[configName][v.id]) { + result[v.id] = getWidth(v.id); + result._$total.push(result[v.id] || result._$width); + } + }); + } + return result; + }, + /** + * Get shape element + * @param {string} shapeName Shape string + * @param {number} i Index number + * @param {string} id Data series id + * @returns {d3Selection} + * @private + */ + getShapeByIndex(shapeName, i, id) { + const $$ = this; + const { $el } = $$; + const suffix = isValue(i) ? `-${i}` : ``; + let shape = $el[shapeName]; + if (shape && !shape.empty()) { + shape = shape.filter((d) => id ? d.id === id : true).filter((d) => isValue(i) ? d.index === i : true); + } else { + shape = (id ? $el.main.selectAll( + `.${classes[`${shapeName}s`]}${$$.getTargetSelectorSuffix(id)}` + ) : $el.main).selectAll(`.${classes[shapeName]}${suffix}`); + } + return shape; + }, + isWithinShape(that, d) { + var _a; + const $$ = this; + const shape = src_select(that); + let isWithin; + if (!$$.isTargetToShow(d.id)) { + isWithin = false; + } else if ((_a = $$.hasValidPointType) == null ? void 0 : _a.call($$, that.nodeName)) { + isWithin = $$.isStepType(d) ? $$.isWithinStep(that, $$.getYScaleById(d.id)($$.getBaseValue(d))) : $$.isWithinCircle( + that, + $$.isBubbleType(d) ? $$.pointSelectR(d) * 1.5 : 0 + ); + } else if (that.nodeName === "path") { + isWithin = shape.classed(classes.bar) ? $$.isWithinBar(that) : true; + } + return isWithin; + }, + getInterpolate(d) { + const $$ = this; + const interpolation = $$.getInterpolateType(d); + return { + basis: curve_basis, + "basis-closed": curve_basisClosed, + "basis-open": basisOpen, + bundle: bundle, + cardinal: cardinal, + "cardinal-closed": cardinalClosed, + "cardinal-open": cardinalOpen, + "catmull-rom": catmullRom, + "catmull-rom-closed": catmullRomClosed, + "catmull-rom-open": catmullRomOpen, + "monotone-x": monotoneX, + "monotone-y": monotoneY, + natural: natural, + "linear-closed": linearClosed, + linear: curve_linear, + step: step, + "step-after": stepAfter, + "step-before": stepBefore + }[interpolation]; + }, + getInterpolateType(d) { + const $$ = this; + const { config } = $$; + const type = config.spline_interpolation_type; + const interpolation = $$.isInterpolationType(type) ? type : "cardinal"; + return $$.isSplineType(d) ? interpolation : $$.isStepType(d) ? config.line_step_type : "linear"; + }, + isWithinBar(that) { + const mouse = getPointer(this.state.event, that); + const list = getRectSegList(that); + const [seg0, seg1] = list; + const x = Math.min(seg0.x, seg1.x); + const y = Math.min(seg0.y, seg1.y); + const offset = this.config.bar_sensitivity; + const { width, height } = that.getBBox(); + const sx = x - offset; + const ex = x + width + offset; + const sy = y + height + offset; + const ey = y - offset; + const isWithin = sx < mouse[0] && mouse[0] < ex && ey < mouse[1] && mouse[1] < sy; + return isWithin; + } +}); + +;// ./src/ChartInternal/ChartInternal.ts +var ChartInternal_defProp = Object.defineProperty; +var ChartInternal_defNormalProp = (obj, key, value) => key in obj ? ChartInternal_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var ChartInternal_publicField = (obj, key, value) => ChartInternal_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +class ChartInternal { + constructor(api) { + ChartInternal_publicField(this, "api"); + // API interface + ChartInternal_publicField(this, "config"); + // config object + ChartInternal_publicField(this, "cache"); + // cache instance + ChartInternal_publicField(this, "$el"); + // elements + ChartInternal_publicField(this, "state"); + // state variables + ChartInternal_publicField(this, "charts"); + // all Chart instances array within page (equivalent of 'bb.instances') + // data object + ChartInternal_publicField(this, "data", { + xs: {}, + targets: [] + }); + // Axis + ChartInternal_publicField(this, "axis"); + // Axis + // scales + ChartInternal_publicField(this, "scale", { + x: null, + y: null, + y2: null, + subX: null, + subY: null, + subY2: null, + zoom: null + }); + // original values + ChartInternal_publicField(this, "org", { + xScale: null, + xDomain: null + }); + // formatter function + ChartInternal_publicField(this, "color"); + ChartInternal_publicField(this, "patterns"); + ChartInternal_publicField(this, "levelColor"); + ChartInternal_publicField(this, "point"); + ChartInternal_publicField(this, "brush"); + // format function + ChartInternal_publicField(this, "format", { + extraLineClasses: null, + xAxisTick: null, + dataTime: null, + // dataTimeFormat + defaultAxisTime: null, + // defaultAxisTimeFormat + axisTime: null + // axisTimeFormat + }); + const $$ = this; + $$.api = api; + $$.config = new Options(); + $$.cache = new Cache(); + const store = new Store(); + $$.$el = store.getStore("element"); + $$.state = store.getStore("state"); + $$.$T = $$.$T.bind($$); + } + /** + * Get the selection based on transition config + * @param {SVGElement|d3Selection} selection Target selection + * @param {boolean} force Force transition + * @param {string} name Transition name + * @returns {d3Selection} + * @private + */ + $T(selection, force, name) { + const { config, state } = this; + const duration = config.transition_duration; + const subchart = config.subchart_show; + let t = selection; + if (t) { + if ("tagName" in t) { + t = src_select(t); + } + const transit = (force !== false && duration || force) && (!state.zooming || state.dragging) && !state.resizing && state.rendered && !subchart; + t = transit ? t.transition(name).duration(duration) : t; + } + return t; + } + beforeInit() { + const $$ = this; + $$.callPluginHook("$beforeInit"); + callFn($$.config.onbeforeinit, $$.api); + } + afterInit() { + const $$ = this; + $$.callPluginHook("$afterInit"); + callFn($$.config.onafterinit, $$.api); + } + init() { + const $$ = this; + const { config, state, $el } = $$; + const useCssRule = config.boost_useCssRule; + checkModuleImport($$); + state.hasRadar = !state.hasAxis && $$.hasType("radar"); + state.hasFunnel = !state.hasAxis && $$.hasType("funnel"); + state.hasTreemap = !state.hasAxis && $$.hasType("treemap"); + state.hasAxis = !$$.hasArcType() && !state.hasFunnel && !state.hasTreemap; + state.datetimeId = `bb-${+/* @__PURE__ */ new Date() * getRandom()}`; + if (useCssRule) { + const styleEl = browser_doc.createElement("style"); + styleEl.type = "text/css"; + browser_doc.head.appendChild(styleEl); + state.style = { + rootSelctor: `.${state.datetimeId}`, + sheet: styleEl.sheet + }; + $el.style = styleEl; + } + const bindto = { + element: config.bindto, + classname: "bb" + }; + if (isObject(config.bindto)) { + bindto.element = config.bindto.element || "#chart"; + bindto.classname = config.bindto.classname || bindto.classname; + } + $el.chart = isFunction(bindto.element.node) ? config.bindto.element : src_select(bindto.element || []); + if ($el.chart.empty()) { + $el.chart = src_select(browser_doc.body.appendChild(browser_doc.createElement("div"))); + } + $el.chart.html("").classed(bindto.classname, true).classed(state.datetimeId, useCssRule).style("position", "relative"); + $$.initParams(); + $$.initToRender(); + } + /** + * Initialize the rendering process + * @param {boolean} forced Force to render process + * @private + */ + initToRender(forced) { + const $$ = this; + const { config, state, $el: { chart } } = $$; + const isHidden = () => hasStyle(chart, { display: "none", visibility: "hidden" }); + const isLazy = config.render.lazy === false ? false : config.render.lazy || isHidden(); + const MutationObserver = win.MutationObserver; + if (isLazy && MutationObserver && config.render.observe !== false && !forced) { + new MutationObserver((mutation, observer) => { + if (!isHidden()) { + observer.disconnect(); + !state.rendered && $$.initToRender(true); + } + }).observe(chart.node(), { + attributes: true, + attributeFilter: ["class", "style"] + }); + } + if (!isLazy || forced) { + $$.convertData(config, (res) => { + $$.initWithData(res); + $$.afterInit(); + }); + } + } + initParams() { + var _a; + const $$ = this; + const { config, format: format2, state } = $$; + const isRotated = config.axis_rotated; + $$.color = $$.generateColor(); + $$.levelColor = $$.generateLevelColor(); + if (config.padding === false) { + config.axis_x_show = false; + config.axis_y_show = false; + config.axis_y2_show = false; + config.subchart_show = false; + } + if ($$.hasPointType() || ((_a = $$.hasLegendDefsPoint) == null ? void 0 : _a.call($$))) { + $$.point = $$.generatePoint(); + } + if (state.hasAxis) { + $$.initClip(); + format2.extraLineClasses = $$.generateExtraLineClass(); + format2.dataTime = config.data_xLocaltime ? timeParse : utcParse; + format2.axisTime = config.axis_x_localtime ? timeFormat : utcFormat; + const isDragZoom = $$.config.zoom_enabled && $$.config.zoom_type === "drag"; + format2.defaultAxisTime = (d) => { + const { x, zoom } = $$.scale; + const isZoomed = isDragZoom ? zoom : zoom && x.orgDomain().toString() !== zoom.domain().toString(); + const specifier = d.getMilliseconds() && ".%L" || d.getSeconds() && ".:%S" || d.getMinutes() && "%I:%M" || d.getHours() && "%I %p" || d.getDate() !== 1 && "%b %d" || isZoomed && d.getDate() === 1 && "%b'%y" || d.getMonth() && "%-m/%-d" || "%Y"; + return format2.axisTime(specifier)(d); + }; + } + state.isLegendRight = config.legend_position === "right"; + state.isLegendInset = config.legend_position === "inset"; + state.isLegendTop = config.legend_inset_anchor === "top-left" || config.legend_inset_anchor === "top-right"; + state.isLegendLeft = config.legend_inset_anchor === "top-left" || config.legend_inset_anchor === "bottom-left"; + state.rotatedPadding.top = $$.getResettedPadding(state.rotatedPadding.top); + state.rotatedPadding.right = isRotated && !config.axis_x_show ? 0 : 30; + state.inputType = convertInputType( + config.interaction_inputType_mouse, + config.interaction_inputType_touch + ); + } + initWithData(data2) { + var _a, _b, _c; + const $$ = this; + const { config, scale: scale2, state, $el, org } = $$; + const { hasAxis, hasFunnel, hasTreemap } = state; + const hasInteraction = config.interaction_enabled; + const hasPolar = $$.hasType("polar"); + const labelsBGColor = config.data_labels_backgroundColors; + if (hasAxis) { + $$.axis = $$.getAxisInstance(); + config.zoom_enabled && $$.initZoom(); + } + $$.data.xs = {}; + $$.data.targets = $$.convertDataToTargets(data2); + if (config.data_filter) { + $$.data.targets = $$.data.targets.filter(config.data_filter.bind($$.api)); + } + if (config.data_hide) { + $$.addHiddenTargetIds( + config.data_hide === true ? $$.mapToIds($$.data.targets) : config.data_hide + ); + } + if (config.legend_hide) { + $$.addHiddenLegendIds( + config.legend_hide === true ? $$.mapToIds($$.data.targets) : config.legend_hide + ); + } + $$.updateSizes(); + $$.updateScales(true); + if (hasAxis) { + const { x, y, y2, subX, subY, subY2 } = scale2; + if (x) { + x.domain(sortValue($$.getXDomain($$.data.targets), !config.axis_x_inverted)); + subX.domain(x.domain()); + org.xDomain = x.domain(); + } + if (y) { + y.domain($$.getYDomain($$.data.targets, "y")); + subY.domain(y.domain()); + } + if (y2) { + y2.domain($$.getYDomain($$.data.targets, "y2")); + subY2 && subY2.domain(y2.domain()); + } + } + $el.svg = $el.chart.append("svg").style("overflow", "hidden").style("display", "block"); + if (hasInteraction && state.inputType) { + const isTouch = state.inputType === "touch"; + const { onclick, onover, onout } = config; + $el.svg.on("click", (onclick == null ? void 0 : onclick.bind($$.api)) || null).on(isTouch ? "touchstart" : "mouseenter", (onover == null ? void 0 : onover.bind($$.api)) || null).on(isTouch ? "touchend" : "mouseleave", (onout == null ? void 0 : onout.bind($$.api)) || null); + } + config.svg_classname && $el.svg.attr("class", config.svg_classname); + const hasColorPatterns = isFunction(config.color_tiles) && $$.patterns; + if (hasAxis || hasColorPatterns || hasPolar || hasTreemap || labelsBGColor || ((_a = $$.hasLegendDefsPoint) == null ? void 0 : _a.call($$))) { + $el.defs = $el.svg.append("defs"); + if (hasAxis) { + ["id", "idXAxis", "idYAxis", "idGrid"].forEach((v) => { + $$.appendClip($el.defs, state.clip[v]); + }); + } + $$.generateTextBGColorFilter(labelsBGColor); + if (hasColorPatterns) { + $$.patterns.forEach((p) => $el.defs.append(() => p.node)); + } + } + $$.updateSvgSize(); + $$.bindResize(); + const main = $el.svg.append("g").classed($COMMON.main, true).attr("transform", hasFunnel || hasTreemap ? null : $$.getTranslate("main")); + $el.main = main; + config.subchart_show && $$.initSubchart(); + config.tooltip_show && $$.initTooltip(); + config.title_text && $$.initTitle(); + !hasTreemap && config.legend_show && $$.initLegend(); + if (config.data_empty_label_text) { + main.append("text").attr("class", `${$TEXT.text} ${$COMMON.empty}`).attr("text-anchor", "middle").attr("dominant-baseline", "middle"); + } + if (hasAxis) { + config.regions.length && $$.initRegion(); + !config.clipPath && $$.axis.init(); + } + main.append("g").classed($COMMON.chart, true).attr("clip-path", hasAxis ? state.clip.path : null); + $$.callPluginHook("$init"); + $$.initChartElements(); + if (hasAxis) { + hasInteraction && ((_b = $$.initEventRect) == null ? void 0 : _b.call($$)); + $$.initGrid(); + config.clipPath && ((_c = $$.axis) == null ? void 0 : _c.init()); + } + $$.updateTargets($$.data.targets); + $$.updateDimension(); + callFn(config.oninit, $$.api); + $$.setBackground(); + $$.redraw({ + withTransition: false, + withTransform: true, + withUpdateXDomain: true, + withUpdateOrgXDomain: true, + withTransitionForAxis: false, + initializing: true + }); + if (config.data_onmin || config.data_onmax) { + const minMax = $$.getMinMaxData(); + callFn(config.data_onmin, $$.api, minMax.min); + callFn(config.data_onmax, $$.api, minMax.max); + } + config.tooltip_show && $$.initShowTooltip(); + state.rendered = true; + } + /** + * Initialize chart elements + * @private + */ + initChartElements() { + const $$ = this; + const { hasAxis, hasRadar, hasTreemap } = $$.state; + const types = []; + if (hasAxis) { + const shapes = ["bar", "bubble", "candlestick", "line"]; + if ($$.config.bar_front) { + shapes.push(shapes.shift()); + } + shapes.forEach((v) => { + const name = capitalize(v); + if (v === "line" && $$.hasTypeOf(name) || $$.hasType(v)) { + types.push(name); + } + }); + } else if (hasTreemap) { + types.push("Treemap"); + } else if ($$.hasType("funnel")) { + types.push("Funnel"); + } else { + const hasPolar = $$.hasType("polar"); + if (!hasRadar) { + types.push("Arc", "Pie"); + } + if ($$.hasType("gauge")) { + types.push("Gauge"); + } else if (hasRadar) { + types.push("Radar"); + } else if (hasPolar) { + types.push("Polar"); + } + } + types.forEach((v) => { + $$[`init${v}`](); + }); + notEmpty($$.config.data_labels) && !$$.hasArcType(null, ["radar"]) && $$.initText(); + } + /** + * Set chart elements + * @private + */ + setChartElements() { + const $$ = this; + const { + $el: { + chart, + svg, + defs, + main, + tooltip: tooltip2, + legend: legend2, + title: title2, + grid, + needle, + arcs: arc, + circle: circles, + bar: bars, + candlestick, + line: lines, + area: areas, + text: texts + } + } = $$; + $$.api.$ = { + chart, + svg, + defs, + main, + tooltip: tooltip2, + legend: legend2, + title: title2, + grid, + arc, + circles, + bar: { bars }, + candlestick, + line: { lines, areas }, + needle, + text: { texts } + }; + } + /** + * Set background element/image + * @private + */ + setBackground() { + const $$ = this; + const { config: { background: bg }, state, $el: { svg } } = $$; + if (notEmpty(bg)) { + const element = svg.select("g").insert(bg.imgUrl ? "image" : "rect", ":first-child"); + if (bg.imgUrl) { + element.attr("href", bg.imgUrl); + } else if (bg.color) { + element.style("fill", bg.color).attr("clip-path", state.clip.path); + } + element.attr("class", bg.class || null).attr("width", "100%").attr("height", "100%"); + } + } + /** + * Update targeted element with given data + * @param {object} targets Data object formatted as 'target' + * @private + */ + updateTargets(targets) { + var _a; + const $$ = this; + const { hasAxis, hasFunnel, hasRadar, hasTreemap } = $$.state; + const helper = (type) => $$[`updateTargetsFor${type}`]( + targets.filter($$[`is${type}Type`].bind($$)) + ); + $$.updateTargetsForText(targets); + if (hasAxis) { + ["bar", "candlestick", "line"].forEach((v) => { + const name = capitalize(v); + if (v === "line" && $$.hasTypeOf(name) || $$.hasType(v)) { + helper(name); + } + }); + $$.updateTargetsForSubchart && $$.updateTargetsForSubchart(targets); + } else if ($$.hasArcType(targets)) { + let type = "Arc"; + if (hasRadar) { + type = "Radar"; + } else if ($$.hasType("polar")) { + type = "Polar"; + } + helper(type); + } else if (hasFunnel) { + helper("Funnel"); + } else if (hasTreemap) { + helper("Treemap"); + } + const hasPointType = $$.hasType("bubble") || $$.hasType("scatter"); + if (hasPointType) { + (_a = $$.updateTargetForCircle) == null ? void 0 : _a.call($$); + } + $$.filterTargetsToShowAtInit(hasPointType); + } + /** + * Display targeted elements at initialization + * @param {boolean} hasPointType whether has point type(bubble, scatter) or not + * @private + */ + filterTargetsToShowAtInit(hasPointType = false) { + const $$ = this; + const { $el: { svg }, $T } = $$; + let selector = `.${$COMMON.target}`; + if (hasPointType) { + selector += `, .${$CIRCLE.chartCircles} > .${$CIRCLE.circles}`; + } + $T(svg.selectAll(selector).filter((d) => $$.isTargetToShow(d.id))).style("opacity", null); + } + getWithOption(options) { + const withOptions = { + Dimension: true, + EventRect: true, + Legend: false, + Subchart: true, + Transform: false, + Transition: true, + TrimXDomain: true, + UpdateXAxis: "UpdateXDomain", + UpdateXDomain: false, + UpdateOrgXDomain: false, + TransitionForExit: "Transition", + TransitionForAxis: "Transition", + Y: true + }; + Object.keys(withOptions).forEach((key) => { + let defVal = withOptions[key]; + if (isString(defVal)) { + defVal = withOptions[defVal]; + } + withOptions[key] = getOption(options, `with${key}`, defVal); + }); + return withOptions; + } + initialOpacity(d) { + const $$ = this; + const { withoutFadeIn } = $$.state; + const r = $$.getBaseValue(d) !== null && withoutFadeIn[d.id] ? null : "0"; + return r; + } + bindResize() { + const $$ = this; + const { config, state } = $$; + const resizeFunction = generateResize(config.resize_timer); + const list = []; + list.push(() => callFn(config.onresize, $$.api)); + if (config.resize_auto === true) { + list.push(() => { + state.resizing = true; + if (config.legend_show) { + $$.updateSizes(); + $$.updateLegend(); + } + $$.api.flush(false); + }); + } + list.push(() => { + callFn(config.onresized, $$.api); + state.resizing = false; + }); + list.forEach((v) => resizeFunction.add(v)); + $$.resizeFunction = resizeFunction; + win.addEventListener("resize", $$.resizeFunction = resizeFunction); + } + /** + * Call plugin hook + * @param {string} phase The lifecycle phase + * @param {Array} args Arguments + * @private + */ + callPluginHook(phase, ...args) { + this.config.plugins.forEach((v) => { + if (phase === "$beforeInit") { + v.$$ = this; + this.api.plugins.push(v); + } + v[phase](...args); + }); + } +} +util_extend(ChartInternal.prototype, [ + // common + convert, + ChartInternal_data_data, + load, + category, + internals_class, + internals_color, + domain, + interactions_interaction, + format, + internals_legend, + redraw, + scale, + shape, + internals_size, + internals_style, + internals_text, + internals_title, + internals_tooltip, + transform, + internals_type +]); + +;// ./src/config/config.ts + +function loadConfig(config) { + const thisConfig = this.config; + let target; + let keys; + let read; + const find = () => { + const key = keys.shift(); + if (key && target && isObjectType(target) && key in target) { + target = target[key]; + return find(); + } else if (!key) { + return target; + } + return void 0; + }; + Object.keys(thisConfig).forEach((key) => { + target = config; + keys = key.split("_"); + read = find(); + if (isDefined(read)) { + thisConfig[key] = read; + } + }); + if (this.api) { + this.state.orgConfig = config; + } +} + +;// ./src/Chart/api/chart.ts + + +/* harmony default export */ var chart = ({ + /** + * Resize the chart. + * @function resize + * @instance + * @memberof Chart + * @param {object} size This argument should include width and height in pixels. + * @param {number} [size.width] width value + * @param {number} [size.height] height value + * @example + * // Resize to 640x480 + * chart.resize({ + * width: 640, + * height: 480 + * }); + */ + resize(size) { + const $$ = this.internal; + const { config, state } = $$; + if (state.rendered) { + config.size_width = size ? size.width : null; + config.size_height = size ? size.height : null; + state.resizing = true; + this.flush(false); + $$.resizeFunction(); + } + }, + /** + * Force to redraw. + * - **NOTE:** When zoom/subchart is used, the zoomed state will be resetted. + * @function flush + * @instance + * @memberof Chart + * @param {boolean} [soft] For soft redraw. + * @example + * chart.flush(); + * + * // for soft redraw + * chart.flush(true); + */ + flush(soft) { + var _a, _b; + const $$ = this.internal; + const { state, $el: { zoomResetBtn } } = $$; + if (state.rendered) { + if (state.resizing) { + (_a = $$.brush) == null ? void 0 : _a.updateResize(); + } else { + (_b = $$.axis) == null ? void 0 : _b.setOrient(); + } + zoomResetBtn == null ? void 0 : zoomResetBtn.style("display", "none"); + $$.scale.zoom = null; + soft ? $$.redraw({ + withTransform: true, + withUpdateXDomain: true, + withUpdateOrgXDomain: true, + withLegend: true + }) : $$.updateAndRedraw({ + withLegend: true, + withTransition: false, + withTransitionForTransform: false + }); + if (!state.resizing && $$.brush) { + $$.brush.getSelection().call($$.brush.move); + $$.unselectRect(); + } + } else { + $$.initToRender(true); + } + }, + /** + * Reset the chart object and remove element and events completely. + * @function destroy + * @instance + * @memberof Chart + * @returns {null} + * @example + * chart.destroy(); + */ + destroy() { + const $$ = this.internal; + const { $el: { chart, style, svg } } = $$; + if (notEmpty($$)) { + $$.callPluginHook("$willDestroy"); + $$.charts.splice($$.charts.indexOf(this), 1); + $$.unbindAllEvents(); + svg.select("*").interrupt(); + $$.resizeFunction.clear(); + win.removeEventListener("resize", $$.resizeFunction); + chart.classed("bb", false).style("position", null).selectChildren().remove(); + style && style.parentNode.removeChild(style); + Object.keys(this).forEach((key) => { + key === "internal" && Object.keys($$).forEach((k) => { + $$[k] = null; + }); + this[key] = null; + delete this[key]; + }); + for (const key in this) { + this[key] = () => { + }; + } + } + return null; + }, + /** + * Get or set config option value. + * - **NOTE** + * - The option key name must be specified as the last level. + * - when no argument is given, will return all specified generation options object only. (will exclude any other options not specified at the initialization) + * @function config + * @instance + * @memberof Chart + * @param {string} name The option key name. + * @param {*} [value] The value accepted for indicated option. + * @param {boolean} [redraw] Set to redraw with the new option changes. + * - **NOTE:** Doesn't guarantee work in all circumstances. It can be applied for limited options only. + * @returns {*} + * @example + * + * // Getter + * chart.config("gauge.max"); + * + * // Getter specified with top level key name will not work. + * // The option key name must be specified as the last level. + * // chart.config("gauge"); // will not work + * + * // without any arguments, it returns generation config object + * chart.config(); // {data: { ... }, axis: { ... }, ...} + * + * // Setter + * chart.config("gauge.max", 100); + * + * // Setter specified with top level key name will not work. + * // The option key name must be specified as the last level. + * // chart.config("gauge", {min: 10, max: 20}); // will not work + * + * // Setter & redraw with the new option + * chart.config("gauge.max", 100, true); + */ + config(name, value, redraw) { + const $$ = this.internal; + const { config, state } = $$; + const key = name == null ? void 0 : name.replace(/\./g, "_"); + let res; + if (name && key in config) { + if (isDefined(value)) { + config[key] = value; + res = value; + redraw && this.flush(); + } else { + res = config[key]; + } + } else if (arguments.length === 0 || isEmpty(name)) { + res = state.orgConfig; + } + return res; + } +}); + +;// ./src/Chart/api/color.ts +/* harmony default export */ var api_color = ({ + /** + * Get the color + * @function color + * @instance + * @memberof Chart + * @param {string} id id to get the color + * @returns {string} + * @example + * chart.color("data1"); + */ + color(id) { + return this.internal.color(id); + } +}); + +;// ./src/Chart/api/data.ts + +const api_data_data = function(targetIds) { + const { targets } = this.internal.data; + if (!isUndefined(targetIds)) { + const ids = isArray(targetIds) ? targetIds : [targetIds]; + return targets.filter((t) => ids.some((v) => v === t.id)); + } + return targets; +}; +util_extend(api_data_data, { + /** + * Get data shown in the chart. + * @function data․shown + * @instance + * @memberof Chart + * @param {string|Array} targetIds If this argument is given, this API filters the data with specified target ids. If this argument is not given, all shown data will be returned. + * @returns {Array} Data objects + * @example + * // Get shown data by filtering to include only data1 data + * chart.data.shown("data1"); + * // --> [{id: "data1", id_org: "data1", values: Array(6)}, ...] + * + * // Get shown data by filtering to include data1 and data2 data + * chart.data.shown(["data1", "data2"]); + * + * // Get all shown data + * chart.data.shown(); + */ + shown: function(targetIds) { + return this.internal.filterTargetsToShow(this.data(targetIds)); + }, + /** + * Get values of the data loaded in the chart. + * @function data․values + * @instance + * @memberof Chart + * @param {string|Array|null} targetIds This API returns the values of specified target. If this argument is not given, null will be retruned + * @param {boolean} [flat=true] Get flatten values + * @returns {Array} Data values + * @example + * // Get data1 values + * chart.data.values("data1"); + * // --> [10, 20, 30, 40] + */ + values: function(targetIds, flat = true) { + let values = null; + if (targetIds) { + const targets = this.data(targetIds); + if (isArray(targets)) { + values = []; + targets.forEach((v) => { + const dataValue = v.values.map((d) => d.value); + flat ? values = values.concat(dataValue) : values.push(dataValue); + }); + } + } + return values; + }, + /** + * Get and set names of the data loaded in the chart. + * @function data․names + * @instance + * @memberof Chart + * @param {object} names If this argument is given, the names of data will be updated. If not given, the current names will be returned. The format of this argument is the same as [data.names](./Options.html#.data%25E2%2580%25A4names). + * @returns {object} Corresponding names according its key value, if specified names values. + * @example + * // Get current names + * chart.data.names(); + * // --> {data1: "test1", data2: "test2"} + * + * // Update names + * chart.data.names({ + * data1: "New Name 1", + * data2: "New Name 2" + * }); + */ + names: function(names) { + const $$ = this.internal; + return $$.updateDataAttributes("names", names); + }, + /** + * Get and set colors of the data loaded in the chart. + * @function data․colors + * @instance + * @memberof Chart + * @param {object} colors If this argument is given, the colors of data will be updated. If not given, the current colors will be returned. The format of this argument is the same as [data.colors](./Options.html#.data%25E2%2580%25A4colors). + * @returns {object} Corresponding data color value according its key value. + * @example + * // Get current colors + * chart.data.colors(); + * // --> {data1: "#00c73c", data2: "#fa7171"} + * + * // Update colors + * chart.data.colors({ + * data1: "#FFFFFF", + * data2: "#000000" + * }); + */ + colors: function(colors) { + return this.internal.updateDataAttributes("colors", colors); + }, + /** + * Get and set axes of the data loaded in the chart. + * - **NOTE:** If all data is related to one of the axes, the domain of axis without related data will be replaced by the domain from the axis with related data + * @function data․axes + * @instance + * @memberof Chart + * @param {object} axes If this argument is given, the axes of data will be updated. If not given, the current axes will be returned. The format of this argument is the same as + * @returns {object} Corresponding axes value for data, if specified axes value. + * @example + * // Get current axes + * chart.data.axes(); + * // --> {data1: "y"} + * + * // Update axes + * chart.data.axes({ + * data1: "y", + * data2: "y2" + * }); + */ + axes: function(axes) { + return this.internal.updateDataAttributes("axes", axes); + }, + /** + * Get the minimum data value bound to the chart + * @function data․min + * @instance + * @memberof Chart + * @returns {Array} Data objects + * @example + * // Get current axes + * chart.data.min(); + * // --> [{x: 0, value: 30, id: "data1", index: 0}, ...] + */ + min: function() { + return this.internal.getMinMaxData().min; + }, + /** + * Get the maximum data value bound to the chart + * @function data․max + * @instance + * @memberof Chart + * @returns {Array} Data objects + * @example + * // Get current axes + * chart.data.max(); + * // --> [{x: 3, value: 400, id: "data1", index: 3}, ...] + */ + max: function() { + return this.internal.getMinMaxData().max; + } +}); +/* harmony default export */ var api_data = ({ data: api_data_data }); + +;// ./src/Chart/api/export.ts + + + +const b64EncodeUnicode = (str) => { + var _a, _b; + return (_b = (_a = win).btoa) == null ? void 0 : _b.call( + _a, + encodeURIComponent(str).replace( + /%([0-9A-F]{2})/g, + (match, p) => String.fromCharCode(Number(`0x${p}`)) + ) + ); +}; +function nodeToSvgDataUrl(node, option, orgSize) { + const { width, height } = option || orgSize; + const serializer = new XMLSerializer(); + const clone = node.cloneNode(true); + const cssText = getCssRules(toArray(browser_doc.styleSheets)).filter((r) => r.cssText).map((r) => r.cssText); + clone.setAttribute("xmlns", namespaces.xhtml); + clone.style.margin = "0"; + clone.style.padding = "0"; + if (option.preserveFontStyle) { + clone.querySelectorAll("text").forEach((t) => { + t.innerHTML = ""; + }); + } + const nodeXml = serializer.serializeToString(clone); + const style = browser_doc.createElement("style"); + style.appendChild(browser_doc.createTextNode(cssText.join("\n"))); + const styleXml = serializer.serializeToString(style); + const dataStr = `<svg xmlns="${namespaces.svg}" width="${width}" height="${height}" + viewBox="0 0 ${orgSize.width} ${orgSize.height}" + preserveAspectRatio="${(option == null ? void 0 : option.preserveAspectRatio) === false ? "none" : "xMinYMid meet"}"> + <foreignObject width="100%" height="100%"> + ${styleXml} + ${nodeXml.replace(/(url\()[^#]+/g, "$1")} + </foreignObject></svg>`; + return `data:image/svg+xml;base64,${b64EncodeUnicode(dataStr)}`; +} +function getCoords(elem, svgOffset) { + const { top, left } = svgOffset; + const { x, y } = elem.getBBox(); + const { a, b, c, d, e, f } = elem.getScreenCTM(); + const { width, height } = elem.getBoundingClientRect(); + return { + x: a * x + c * y + e - left, + y: b * x + d * y + f - top + (height - Math.round(height / 4)), + width, + height + }; +} +function getGlyph(svg) { + const { left, top } = svg.getBoundingClientRect(); + const filterFn = (t) => t.textContent || t.childElementCount; + const glyph = []; + toArray(svg.querySelectorAll("text")).filter(filterFn).forEach((t) => { + const getStyleFn = (ts) => { + const { fill, fontFamily, fontSize, textAnchor, transform } = win.getComputedStyle( + ts + ); + const { x, y, width, height } = getCoords(ts, { left, top }); + return { + [ts.textContent]: { + x, + y, + width, + height, + fill, + fontFamily, + fontSize, + textAnchor, + transform + } + }; + }; + if (t.childElementCount > 1) { + const text = []; + toArray(t.querySelectorAll("tspan")).filter(filterFn).forEach((ts) => { + glyph.push(getStyleFn(ts)); + }); + return text; + } else { + glyph.push(getStyleFn(t)); + } + }); + return glyph; +} +function renderText(ctx, glyph) { + glyph.forEach((g) => { + Object.keys(g).forEach((key) => { + const { x, y, width, height, fill, fontFamily, fontSize, transform } = g[key]; + ctx.save(); + ctx.font = `${fontSize} ${fontFamily}`; + ctx.fillStyle = fill; + if (transform === "none") { + ctx.fillText(key, x, y); + } else { + const args = transform.replace(/(matrix|\(|\))/g, "").split(","); + if (args.splice(4).every((v) => +v === 0)) { + args.push(x + width - width / 4); + args.push(y - height + height / 3); + } else { + args.push(x); + args.push(y); + } + ctx.transform(...args); + ctx.fillText(key, 0, 0); + } + ctx.restore(); + }); + }); +} +/* harmony default export */ var api_export = ({ + /** + * Export chart as an image. + * - **NOTE:** + * - IE11 and below not work properly due to the lack of the feature(<a href="https://msdn.microsoft.com/en-us/library/hh834675(v=vs.85).aspx">foreignObject</a>) support + * - Every style applied to the chart & the basic CSS file(ex. billboard.css) should be at same domain as API call context to get correct styled export image. + * @function export + * @instance + * @memberof Chart + * @param {object} option Export option + * @param {string} [option.mimeType="image/png"] The desired output image format. (ex. 'image/png' for png, 'image/jpeg' for jpeg format) + * @param {number} [option.width={currentWidth}] width + * @param {number} [option.height={currentHeigth}] height + * @param {boolean} [option.preserveAspectRatio=true] Preserve aspect ratio on given size + * @param {boolean} [option.preserveFontStyle=false] Preserve font style(font-family).<br> + * **NOTE:** + * - This option is useful when outlink web font style's `font-family` are applied to chart's text element. + * - Text element's position(especially "transformed") can't be preserved correctly according the page's layout condition. + * - If need to preserve accurate text position, embed the web font data within to the page and set `preserveFontStyle=false`. + * - Checkout the embed example: <a href="https://stackblitz.com/edit/zfbya9-8nf9nn?file=index.html">https://stackblitz.com/edit/zfbya9-8nf9nn?file=index.html</a> + * @param {Function} [callback] The callback to be invoked when export is ready. + * @returns {string} dataURI + * @example + * chart.export(); + * // --> "data:image/svg+xml;base64,PHN..." + * + * // Initialize the download automatically + * chart.export({mimeType: "image/png"}, dataUrl => { + * const link = document.createElement("a"); + * + * link.download = `${Date.now()}.png`; + * link.href = dataUrl; + * link.innerHTML = "Download chart as image"; + * + * document.body.appendChild(link); + * }); + * + * // Resize the exported image + * chart.export( + * { + * width: 800, + * height: 600, + * preserveAspectRatio: false, + * preserveFontStyle: false, + * mimeType: "image/png" + * }, + * dataUrl => { ... } + * ); + */ + export(option, callback) { + const $$ = this.internal; + const { state, $el: { chart, svg } } = $$; + const { width, height } = state.current; + const opt = mergeObj({ + width, + height, + preserveAspectRatio: true, + preserveFontStyle: false, + mimeType: "image/png" + }, option); + const svgDataUrl = nodeToSvgDataUrl(chart.node(), opt, { width, height }); + const glyph = opt.preserveFontStyle ? getGlyph(svg.node()) : []; + if (callback && isFunction(callback)) { + const img = new Image(); + img.crossOrigin = "Anonymous"; + img.onload = () => { + const canvas = browser_doc.createElement("canvas"); + const ctx = canvas.getContext("2d"); + canvas.width = opt.width || width; + canvas.height = opt.height || height; + ctx.drawImage(img, 0, 0); + if (glyph.length) { + renderText(ctx, glyph); + glyph.length = 0; + } + callback.bind(this)(canvas.toDataURL(opt.mimeType)); + }; + img.src = svgDataUrl; + } + return svgDataUrl; + } +}); + +;// ./src/Chart/api/focus.ts + + +/* harmony default export */ var api_focus = ({ + /** + * This API highlights specified targets and fade out the others.<br><br> + * You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be highlighted. + * @function focus + * @instance + * @memberof Chart + * @param {string|Array} targetIdsValue Target ids to be highlighted. + * @example + * // data1 will be highlighted and the others will be faded out + * chart.focus("data1"); + * + * // data1 and data2 will be highlighted and the others will be faded out + * chart.focus(["data1", "data2"]); + * + * // all targets will be highlighted + * chart.focus(); + */ + focus(targetIdsValue) { + const $$ = this.internal; + const { state } = $$; + const targetIds = $$.mapToTargetIds(targetIdsValue); + const candidates = $$.$el.svg.selectAll( + $$.selectorTargets(targetIds.filter($$.isTargetToShow, $$)) + ); + this.revert(); + this.defocus(); + candidates.classed($FOCUS.focused, true).classed($FOCUS.defocused, false); + if ($$.hasArcType() && !state.hasRadar) { + $$.expandArc(targetIds); + $$.hasType("gauge") && $$.markOverlapped(targetIdsValue, $$, `.${$GAUGE.gaugeValue}`); + } + $$.toggleFocusLegend(targetIds, true); + state.focusedTargetIds = targetIds; + state.defocusedTargetIds = state.defocusedTargetIds.filter((id) => targetIds.indexOf(id) < 0); + }, + /** + * This API fades out specified targets and reverts the others.<br><br> + * You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be faded out. + * @function defocus + * @instance + * @memberof Chart + * @param {string|Array} targetIdsValue Target ids to be faded out. + * @example + * // data1 will be faded out and the others will be reverted. + * chart.defocus("data1"); + * + * // data1 and data2 will be faded out and the others will be reverted. + * chart.defocus(["data1", "data2"]); + * + * // all targets will be faded out. + * chart.defocus(); + */ + defocus(targetIdsValue) { + const $$ = this.internal; + const { state } = $$; + const targetIds = $$.mapToTargetIds(targetIdsValue); + const candidates = $$.$el.svg.selectAll( + $$.selectorTargets(targetIds.filter($$.isTargetToShow, $$)) + ); + candidates.classed($FOCUS.focused, false).classed($FOCUS.defocused, true); + if ($$.hasArcType(null, ["polar"])) { + $$.unexpandArc(targetIds); + $$.hasType("gauge") && $$.undoMarkOverlapped($$, `.${$GAUGE.gaugeValue}`); + } + $$.toggleFocusLegend(targetIds, false); + state.focusedTargetIds = state.focusedTargetIds.filter((id) => targetIds.indexOf(id) < 0); + state.defocusedTargetIds = targetIds; + }, + /** + * Revert focused or defocused state to initial state.<br><br> + * You can specify multiple targets by giving an array that includes id as string. If no argument is given, all of targets will be reverted. + * @function revert + * @instance + * @memberof Chart + * @param {string|Array} targetIdsValue Target ids to be reverted + * @example + * // 'data1' will be reverted. + * chart.revert("data1"); + * + * // 'data1' and 'data2' will be reverted. + * chart.revert(["data1", "data2"]); + * + * // all targets will be reverted. + * chart.revert(); + */ + revert(targetIdsValue) { + const $$ = this.internal; + const { config, state, $el } = $$; + const targetIds = $$.mapToTargetIds(targetIdsValue); + const candidates = $el.svg.selectAll($$.selectorTargets(targetIds)); + candidates.classed($FOCUS.focused, false).classed($FOCUS.defocused, false); + $$.hasArcType(null, ["polar"]) && $$.unexpandArc(targetIds); + if (config.legend_show) { + $$.showLegend(targetIds.filter($$.isLegendToShow.bind($$))); + $el.legend.selectAll($$.selectorLegends(targetIds)).filter(function() { + return src_select(this).classed($FOCUS.legendItemFocused); + }).classed($FOCUS.legendItemFocused, false); + } + state.focusedTargetIds = []; + state.defocusedTargetIds = []; + } +}); + +;// ./src/Chart/api/legend.ts +const legend_legend = { + /** + * Show legend for each target. + * - **NOTE:** Legend APIs aren't supported for `treemap` type. + * @function legend․show + * @instance + * @memberof Chart + * @param {string|Array} targetIds + * - If targetIds is given, specified target's legend will be shown. + * - If only one target is the candidate, String can be passed. + * - If no argument is given, all of target's legend will be shown. + * @example + * // Show legend for data1. + * chart.legend.show("data1"); + * + * // Show legend for data1 and data2. + * chart.legend.show(["data1", "data2"]); + * + * // Show all legend. + * chart.legend.show(); + */ + show: function(targetIds) { + const $$ = this.internal; + $$.showLegend($$.mapToTargetIds(targetIds)); + $$.updateAndRedraw({ withLegend: true }); + }, + /** + * Hide legend for each target. + * @function legend․hide + * @instance + * @memberof Chart + * @param {string|Array} targetIds + * - If targetIds is given, specified target's legend will be hidden. + * - If only one target is the candidate, String can be passed. + * - If no argument is given, all of target's legend will be hidden. + * @example + * // Hide legend for data1. + * chart.legend.hide("data1"); + * + * // Hide legend for data1 and data2. + * chart.legend.hide(["data1", "data2"]); + * + * // Hide all legend. + * chart.legend.hide(); + */ + hide: function(targetIds) { + const $$ = this.internal; + $$.hideLegend($$.mapToTargetIds(targetIds)); + $$.updateAndRedraw({ withLegend: true }); + } +}; +/* harmony default export */ var api_legend = ({ legend: legend_legend }); + +;// ./src/Chart/api/load.ts + + + +/* harmony default export */ var api_load = ({ + /** + * Load data to the chart.<br><br> + * You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be toggles. + * - <b>Note:</b> + * - unload should be used if some data needs to be unloaded simultaneously. + * If you call unload API soon after/before load instead of unload param, chart will not be rendered properly because of cancel of animation.<br> + * - done will be called after data loaded, but it's not after rendering. + * It's because rendering will finish after some transition and there is some time lag between loading and rendering + * @function load + * @instance + * @memberof Chart + * @param {object} args The object can consist with following members:<br> + * + * | Key | Type | Description | + * | --- | --- | --- | + * | columns | Array | The `columns` data will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added | + * | json | Array | The `json` data will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added | + * | rows | Array | The `rows` data will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added | + * | url | string | The data from `url` will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added | + * |   | | | + * | append | boolean | Load data appending it to the current dataseries.<br>If the existing chart has`x` value, should provide with corresponding `x` value for newly loaded data. | + * | axes | Object | The axes specified by data.axes will be updated. axes must be Object that has target id as keys. | + * | categories | Array | The categories specified by axis.x.categories or data.x will be updated. categories must be Array. | + * | classes | Object | The classes specified by data.classes will be updated. classes must be Object that has target id as keys. | + * | colors | Object | The colors specified by data.colors will be updated. colors must be Object that has target id as keys. | + * | data | Obejct | Data objects to be loaded. Checkout the example. | + * | done | Function | The specified function will be called after data loaded.| + * | headers | string | Set request header if loading via `data.url`.<br>@see [data․headers](Options.html#.data%25E2%2580%25A4headers) | + * | keys | Object | Choose which JSON objects keys correspond to desired data.<br>**NOTE:** Only for JSON object given as array.<br>@see [data․keys](Options.html#.data%25E2%2580%25A4keys) | + * | mimeType | string | Set 'json' if loading JSON via url.<br>@see [data․mimeType](Options.html#.data%25E2%2580%25A4mimeType) | + * | names | Object | Same as data.names() | + * | resizeAfter | boolean | Resize after the load. Default value is `false`.<br>- This option won't call `onresize` neither `onresized`.<br>- When set to 'true', will call `.flush(true)` at the end of load. | + * | type | string | The type of targets will be updated. | + * | types | Object | The types of targets will be updated. | + * | unload | Array | Specify the data will be unloaded before loading new data. If true given, all of data will be unloaded. If target ids given as String or Array, specified targets will be unloaded. If absent or false given, unload will not occur. | + * | xs | string | Same as data.xs option | + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataFromURL) + * @example + * // Load data1 and unload data2 and data3 + * chart.load({ + * columns: [ + * ["data1", 100, 200, 150, ...], + * ... + * ], + * unload: ["data2", "data3"], + * url: "...", + * done: function() { ... } + * resizeAfter: true // will resize after load + * }); + * @example + * const chart = bb.generate({ + * data: { + * columns: [ + * ["data1", 20, 30, 40] + * ] + * } + * }); + * + * chart.load({ + * columns: [ + * // with 'append' option, the 'data1' will have `[20,30,40,50,60]`. + * ["data1", 50, 60] + * ], + * append: true + * }); + * @example + * const chart = bb.generate({ + * data: { + * x: "x", + * xFormat: "%Y-%m-%dT%H:%M:%S", + * columns: [ + * ["x", "2021-01-03T03:00:00", "2021-01-04T12:00:00", "2021-01-05T21:00:00"], + * ["data1", 36, 30, 24] + * ] + * }, + * axis: { + * x: { + * type: "timeseries" + * } + * } + * }; + * + * chart.load({ + * columns: [ + * // when existing chart has `x` value, should provide correponding 'x' value. + * // with 'append' option, the 'data1' will have `[36,30,24,37]`. + * ["x", "2021-02-01T08:00:00"], + * ["data1", 37] + * ], + * append: true + * }); + * @example + * // myAPI.json + * // { + * // "data1": [220, 240, 270, 250, 280], + * // "data2": [180, 150, 300, 70, 120] + * // } + * + * chart.load({ + * url: './data/myAPI.json', + * mimeType: "json", + * + * // set request header if is needed + * headers: { + * "Content-Type": "text/json" + * } + * }); + * @example + * chart.load({ + * data: [ + * // equivalent as: columns: [["data1", 30, 200, 100]] + * {"data1": 30}, {"data1": 200}, {"data1": 100} + * + * // or + * // equivalent as: columns: [["data1", 10, 20], ["data2", 13, 30]] + * // {"data1": 10, "data2": 13}, {"data1": 20, "data2": 30}} + * ] + * }); + * @example + * chart.load({ + * json: [ + * {name: "www.site1.com", upload: 800, download: 500, total: 400}, + * ], + * keys: { + * x: "name", + * value: ["upload", "download"] + * } + * }); + * @example + * chart.load({ + * json: { + * data1:[30, 20, 50, 40, 60, 50], + * data2:[200, 130, 90, 240, 130, 220], + * } + * }); + */ + load(args) { + const $$ = this.internal; + const { config } = $$; + args.xs && $$.addXs(args.xs); + "names" in args && this.data.names(args.names); + "classes" in args && Object.keys(args.classes).forEach((id) => { + config.data_classes[id] = args.classes[id]; + }); + if ("categories" in args && $$.axis.isCategorized()) { + config.axis_x_categories = args.categories; + } + "axes" in args && Object.keys(args.axes).forEach((id) => { + config.data_axes[id] = args.axes[id]; + }); + "colors" in args && Object.keys(args.colors).forEach((id) => { + config.data_colors[id] = args.colors[id]; + }); + if ("unload" in args && args.unload !== false) { + $$.unload($$.mapToTargetIds(args.unload === true ? null : args.unload), () => { + requestIdleCallback(() => $$.loadFromArgs(args)); + }); + } else { + $$.loadFromArgs(args); + } + }, + /** + * Unload data to the chart.<br><br> + * You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be toggles. + * - <b>Note:</b> + * If you call load API soon after/before unload, unload param of load should be used. Otherwise chart will not be rendered properly because of cancel of animation.<br> + * `done` will be called after data loaded, but it's not after rendering. It's because rendering will finish after some transition and there is some time lag between loading and rendering. + * @function unload + * @instance + * @memberof Chart + * @param {object} argsValue + * | key | Type | Description | + * | --- | --- | --- | + * | ids | String | Array | Target id data to be unloaded. If not given, all data will be unloaded. | + * | done | Fuction | Callback after data is unloaded. | + * | resizeAfter | boolean | Resize after the unload. Default value is `false`.<br>- This option won't call `onresize` neither `onresized`.<br>- When set to 'true', will call `.flush(true)` at the end of unload. | + * @example + * // Unload data2 and data3 + * chart.unload({ + * ids: ["data2", "data3"], + * done: function() { + * // called after the unloaded + * }, + * resizeAfter: true // will resize after unload + * }); + */ + unload(argsValue) { + const $$ = this.internal; + let args = argsValue || {}; + isEmpty(args) && this.tooltip.hide(); + if (isArray(args)) { + args = { ids: args }; + } else if (isString(args)) { + args = { ids: [args] }; + } + const ids = $$.mapToTargetIds(args.ids); + $$.unload(ids, () => { + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true, + withLegend: true + }); + $$.cache.remove(ids); + callDone.call($$, args.done, args.resizeAfter); + }); + } +}); + +;// ./src/Chart/api/show.ts + +function showHide(show, targetIdsValue, options) { + const $$ = this.internal; + const targetIds = $$.mapToTargetIds(targetIdsValue); + const hiddenIds = $$.state.hiddenTargetIds.map((v) => targetIds.indexOf(v) > -1 && v).filter(Boolean); + $$.state.toggling = true; + $$[`${show ? "remove" : "add"}HiddenTargetIds`](targetIds); + const targets = $$.$el.svg.selectAll($$.selectorTargets(targetIds)); + const opacity = show ? null : "0"; + if (show && hiddenIds.length) { + targets.style("display", null); + callFn($$.config.data_onshown, this, hiddenIds); + } + $$.$T(targets).style("opacity", opacity, "important").call(endall, () => { + var _a; + if (!show && hiddenIds.length === 0) { + targets.style("display", "none"); + callFn((_a = $$.config) == null ? void 0 : _a.data_onhidden, this, targetIds); + } + targets.style("opacity", opacity); + }); + options.withLegend && $$[`${show ? "show" : "hide"}Legend`](targetIds); + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true, + withLegend: true + }); + $$.state.toggling = false; +} +/* harmony default export */ var show = ({ + /** + * Show data series on chart + * @function show + * @instance + * @memberof Chart + * @param {string|Array} [targetIdsValue] The target id value. + * @param {object} [options] The object can consist with following members:<br> + * + * | Key | Type | default | Description | + * | --- | --- | --- | --- | + * | withLegend | boolean | false | whether or not display legend | + * + * @example + * // show 'data1' + * chart.show("data1"); + * + * // show 'data1' and 'data3' + * chart.show(["data1", "data3"]); + */ + show(targetIdsValue, options = {}) { + showHide.call(this, true, targetIdsValue, options); + }, + /** + * Hide data series from chart + * @function hide + * @instance + * @memberof Chart + * @param {string|Array} [targetIdsValue] The target id value. + * @param {object} [options] The object can consist with following members:<br> + * + * | Key | Type | default | Description | + * | --- | --- | --- | --- | + * | withLegend | boolean | false | whether or not display legend | + * + * @example + * // hide 'data1' + * chart.hide("data1"); + * + * // hide 'data1' and 'data3' + * chart.hide(["data1", "data3"]); + */ + hide(targetIdsValue, options = {}) { + showHide.call(this, false, targetIdsValue, options); + }, + /** + * Toggle data series on chart. When target data is hidden, it will show. If is shown, it will hide in vice versa. + * @function toggle + * @instance + * @memberof Chart + * @param {string|Array} [targetIds] The target id value. + * @param {object} [options] The object can consist with following members:<br> + * + * | Key | Type | default | Description | + * | --- | --- | --- | --- | + * | withLegend | boolean | false | whether or not display legend | + * + * @example + * // toggle 'data1' + * chart.toggle("data1"); + * + * // toggle 'data1' and 'data3' + * chart.toggle(["data1", "data3"]); + */ + toggle(targetIds, options = {}) { + const $$ = this.internal; + const targets = { show: [], hide: [] }; + $$.mapToTargetIds(targetIds).forEach((id) => targets[$$.isTargetToShow(id) ? "hide" : "show"].push(id)); + targets.show.length && this.show(targets.show, options); + targets.hide.length && setTimeout(() => this.hide(targets.hide, options), 0); + } +}); + +;// ./src/Chart/api/tooltip.ts + + +const tooltip_tooltip = { + /** + * Show tooltip + * @function tooltip․show + * @instance + * @memberof Chart + * @param {object} args The object can consist with following members:<br> + * + * | Key | Type | Description | + * | --- | --- | --- | + * | index | Number | Determine focus by index | + * | x | Number | Date | Determine focus by x Axis index | + * | mouse | Array | Determine x and y coordinate value relative the targeted '.bb-event-rect' x Axis.<br>It should be used along with `data`, `index` or `x` value. The default value is set as `[0,0]` | + * | data | Object | When [data.xs](Options.html#.data%25E2%2580%25A4xs) option is used or [tooltip.grouped](Options.html#.tooltip) set to 'false', `should be used giving this param`.<br><br>**Key:**<br>- x {number | Date}: x Axis value<br>- index {number}: x Axis index (useless for data.xs)<br>- id {string}: data id<br>- value {number}: The corresponding value for tooltip. | + * + * @example + * // show the 2nd x Axis coordinate tooltip + * // for Arc(gauge, donut & pie) and radar type, approch showing tooltip by using "index" number. + * chart.tooltip.show({ + * index: 1 + * }); + * + * // show tooltip for the 3rd x Axis in x:50 and y:100 coordinate of '.bb-event-rect' of the x Axis. + * chart.tooltip.show({ + * x: 2, + * mouse: [50, 100] + * }); + * + * // show tooltip for timeseries x axis + * chart.tooltip.show({ + * x: new Date("2018-01-02 00:00") + * }); + * + * // treemap type can be shown by using "id" only. + * chart.tooltip.show({ + * data: { + * id: "data1" // data id + * } + * }); + * + * // for Arc types, specify 'id' or 'index' + * chart.tooltip.show({ data: { id: "data2" }}); + * chart.tooltip.show({ data: { index: 2 }}); + * + * // when data.xs is used + * chart.tooltip.show({ + * data: { + * x: 3, // x Axis value + * id: "data1", // data id + * value: 500 // data value + * } + * }); + * + * // when data.xs isn't used, but tooltip.grouped=false is set + * chart.tooltip.show({ + * data: { + * index: 3, // or 'x' key value + * id: "data1", // data id + * value: 500 // data value + * } + * }); + */ + show: function(args) { + var _a, _b, _c; + const $$ = this.internal; + const { $el, config, state: { eventReceiver, hasFunnel, hasTreemap, inputType } } = $$; + let index; + let mouse; + if (args.mouse) { + mouse = args.mouse; + } + if (args.data) { + const { data } = args; + const y = (_a = $$.getYScaleById(data.id)) == null ? void 0 : _a(data.value); + if ((hasFunnel || hasTreemap) && data.id) { + const selector = $$.selectorTarget(data.id, void 0, `.${$SHAPE.shape}`); + eventReceiver.rect = $el.main.select(selector); + } else if ($$.isMultipleX()) { + mouse = [$$.xx(data), y]; + } else { + if (!config.tooltip_grouped) { + mouse = [0, y]; + } + index = (_c = data.index) != null ? _c : $$.hasArcType() && data.id ? (_b = $$.getArcElementByIdOrIndex(data.id)) == null ? void 0 : _b.datum().index : $$.getIndexByX(data.x); + } + } else if (isDefined(args.x)) { + index = $$.getIndexByX(args.x); + } else if (isDefined(args.index)) { + index = args.index; + } + (inputType === "mouse" ? ["mouseover", "mousemove"] : ["touchstart"]).forEach((eventName) => { + $$.dispatchEvent(eventName, index, mouse); + }); + }, + /** + * Hide tooltip + * @function tooltip․hide + * @instance + * @memberof Chart + */ + hide: function() { + var _a, _b, _c; + const $$ = this.internal; + const { state: { inputType }, $el: { tooltip: tooltip2 } } = $$; + const data = tooltip2 == null ? void 0 : tooltip2.datum(); + if (data) { + const { index } = JSON.parse(data.current)[0]; + (inputType === "mouse" ? ["mouseout"] : ["touchend"]).forEach((eventName) => { + $$.dispatchEvent(eventName, index); + }); + } + inputType === "touch" && $$.callOverOutForTouch(); + $$.hideTooltip(true); + (_a = $$.hideGridFocus) == null ? void 0 : _a.call($$); + (_b = $$.unexpandCircles) == null ? void 0 : _b.call($$); + (_c = $$.expandBarTypeShapes) == null ? void 0 : _c.call($$, false); + } +}; +/* harmony default export */ var api_tooltip = ({ tooltip: tooltip_tooltip }); + +;// ./src/Chart/Chart.ts +var Chart_defProp = Object.defineProperty; +var Chart_defNormalProp = (obj, key, value) => key in obj ? Chart_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var Chart_publicField = (obj, key, value) => Chart_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + + + + + + + + + +class Chart { + constructor(options) { + Chart_publicField(this, "plugins", []); + Chart_publicField(this, "internal"); + const $$ = new ChartInternal(this); + this.internal = $$; + (function bindThis(fn, target, argThis) { + Object.keys(fn).forEach((key) => { + const isFunc = isFunction(fn[key]); + const isChild = target !== argThis; + const isNotNil = notEmpty(fn[key]); + const hasChild = isNotNil && Object.keys(fn[key]).length > 0; + if (isFunc && (!isChild && hasChild || isChild)) { + target[key] = fn[key].bind(argThis); + } else if (isNotNil && !isFunc) { + target[key] = {}; + } else { + target[key] = fn[key]; + } + hasChild && bindThis(fn[key], target[key], argThis); + }); + })(Chart.prototype, this, this); + loadConfig.call($$, options); + $$.beforeInit(); + $$.init(); + } +} +util_extend(Chart.prototype, [ + chart, + api_color, + api_data, + api_export, + api_focus, + api_legend, + api_load, + show, + api_tooltip +]); + +;// ./src/Chart/api/selection.ts + + + +function setSelection(isSelection = false, ids, indices, resetOther) { + const $$ = this; + const { config, $el: { main } } = $$; + const selectionGrouped = config.data_selection_grouped; + const isSelectable = config.data_selection_isselectable.bind($$.api); + if (!config.data_selection_enabled) { + return; + } + main.selectAll(`.${$SHAPE.shapes}`).selectAll(`.${$SHAPE.shape}`).each(function(d) { + const shape = src_select(this); + const { id, index } = d.data ? d.data : d; + const toggle = $$.getToggle(this, d).bind($$); + const isTargetId = selectionGrouped || !ids || ids.indexOf(id) >= 0; + const isTargetIndex = !indices || indices.indexOf(index) >= 0; + const isSelected = shape.classed($SELECT.SELECTED); + if (shape.classed($LINE.line) || shape.classed($AREA.area)) { + return; + } + if (isSelection) { + if (isTargetId && isTargetIndex && isSelectable(d) && !isSelected) { + toggle(true, shape.classed($SELECT.SELECTED, true), d, index); + } else if (isDefined(resetOther) && resetOther && isSelected) { + toggle(false, shape.classed($SELECT.SELECTED, false), d, index); + } + } else { + if (isTargetId && isTargetIndex && isSelectable(d) && isSelected) { + toggle(false, shape.classed($SELECT.SELECTED, false), d, index); + } + } + }); +} +/* harmony default export */ var api_selection = ({ + /** + * Get selected data points.<br><br> + * By this API, you can get selected data points information. To use this API, data.selection.enabled needs to be set true. + * @function selected + * @instance + * @memberof Chart + * @param {string} [targetId] You can filter the result by giving target id that you want to get. If not given, all of data points will be returned. + * @returns {Array} dataPoint Array of the data points.<br>ex.) `[{x: 1, value: 200, id: "data1", index: 1, name: "data1"}, ...]` + * @example + * // all selected data points will be returned. + * chart.selected(); + * // --> ex.) [{x: 1, value: 200, id: "data1", index: 1, name: "data1"}, ... ] + * + * // all selected data points of data1 will be returned. + * chart.selected("data1"); + */ + selected(targetId) { + const $$ = this.internal; + const dataPoint = []; + $$.$el.main.selectAll(`.${$SHAPE.shapes + $$.getTargetSelectorSuffix(targetId)}`).selectAll(`.${$SHAPE.shape}`).filter(function() { + return src_select(this).classed($SELECT.SELECTED); + }).each((d) => dataPoint.push(d)); + return dataPoint; + }, + /** + * Set data points to be selected. ([`data.selection.enabled`](Options.html#.data%25E2%2580%25A4selection%25E2%2580%25A4enabled) option should be set true to use this method) + * @function select + * @instance + * @memberof Chart + * @param {string|Array} [ids] id value to get selected. + * @param {Array} [indices] The index array of data points. If falsy value given, will select all data points. + * @param {boolean} [resetOther] Unselect already selected. + * @example + * // select all data points + * chart.select(); + * + * // select all from 'data2' + * chart.select("data2"); + * + * // select all from 'data1' and 'data2' + * chart.select(["data1", "data2"]); + * + * // select from 'data1', indices 2 and unselect others selected + * chart.select("data1", [2], true); + * + * // select from 'data1', indices 0, 3 and 5 + * chart.select("data1", [0, 3, 5]); + */ + select(ids, indices, resetOther) { + const $$ = this.internal; + setSelection.bind($$)(true, ids, indices, resetOther); + }, + /** + * Set data points to be un-selected. + * @function unselect + * @instance + * @memberof Chart + * @param {string|Array} [ids] id value to be unselected. + * @param {Array} [indices] The index array of data points. If falsy value given, will select all data points. + * @example + * // unselect all data points + * chart.unselect(); + * + * // unselect all from 'data1' + * chart.unselect("data1"); + * + * // unselect from 'data1', indices 2 + * chart.unselect("data1", [2]); + */ + unselect(ids, indices) { + const $$ = this.internal; + setSelection.bind($$)(false, ids, indices); + } +}); + +;// ./src/Chart/api/subchart.ts + + +const subchart = function(domainValue) { + var _a; + const $$ = this.internal; + const { axis, brush, config, scale: { x, subX }, state } = $$; + let domain; + if (config.subchart_show) { + domain = domainValue; + if (Array.isArray(domain)) { + if (axis.isTimeSeries()) { + domain = domain.map((x2) => parseDate.bind($$)(x2)); + } + const isWithinRange = $$.withinRange( + domain, + $$.getZoomDomain("subX", true), + $$.getZoomDomain("subX") + ); + if (isWithinRange) { + state.domain = domain; + brush.move( + brush.getSelection(), + domain.map(subX) + ); + } + } else { + domain = (_a = state.domain) != null ? _a : x.orgDomain(); + } + } + return domain; +}; +util_extend(subchart, { + /** + * Show subchart + * - **NOTE:** for ESM imports, needs to import 'subchart' exports and instantiate it by calling `subchart()`. + * @function subchart․show + * @instance + * @memberof Chart + * @example + * // for ESM imports, needs to import 'subchart' and must be instantiated first to enable subchart's API. + * import {subchart} from "billboard.js"; + * + * const chart = bb.generate({ + * ... + * subchart: { + * // need to be instantiated by calling 'subchart()' + * enabled: subchart() + * + * // in case don't want subchart to be shown at initialization, instantiate with '!subchart()' + * enabled: !subchart() + * } + * }); + * + * chart.subchart.show(); + */ + show() { + var _a, _b; + const $$ = this.internal; + const { $el: { subchart: subchart2 }, config } = $$; + const show = config.subchart_show; + if (!show) { + $$.unbindZoomEvent(); + config.subchart_show = !show; + !subchart2.main && $$.initSubchart(); + let $target = subchart2.main.selectAll(`.${$COMMON.target}`); + if ($$.data.targets.length !== $target.size()) { + $$.updateSizes(); + $$.updateTargetsForSubchart($$.data.targets); + $target = (_a = subchart2.main) == null ? void 0 : _a.selectAll(`.${$COMMON.target}`); + } + $target == null ? void 0 : $target.style("opacity", null); + (_b = subchart2.main) == null ? void 0 : _b.style("display", null); + this.resize(); + } + }, + /** + * Hide generated subchart + * - **NOTE:** for ESM imports, needs to import 'subchart' exports and instantiate it by calling `subchart()`. + * @function subchart․hide + * @instance + * @memberof Chart + * @example + * chart.subchart.hide(); + */ + hide() { + const $$ = this.internal; + const { $el: { subchart: { main } }, config } = $$; + if (config.subchart_show && (main == null ? void 0 : main.style("display")) !== "none") { + config.subchart_show = false; + main.style("display", "none"); + this.resize(); + } + }, + /** + * Toggle the visiblity of subchart + * - **NOTE:** for ESM imports, needs to import 'subchart' exports and instantiate it by calling `subchart()`. + * @function subchart․toggle + * @instance + * @memberof Chart + * @example + * // When subchart is hidden, will be shown + * // When subchart is shown, will be hidden + * chart.subchart.toggle(); + */ + toggle() { + const $$ = this.internal; + const { config } = $$; + this.subchart[config.subchart_show ? "hide" : "show"](); + }, + /** + * Reset subchart selection + * @function subchart․reset + * @instance + * @memberof Chart + * @example + * // Reset subchart selection + * chart.subchart.reset(); + */ + reset() { + const $$ = this.internal; + const { brush } = $$; + brush.clear(brush.getSelection()); + } +}); +/* harmony default export */ var api_subchart = ({ + subchart +}); + +;// ./node_modules/d3-interpolate/src/zoom.js +var epsilon2 = 1e-12; +function cosh(x) { + return ((x = Math.exp(x)) + 1 / x) / 2; +} +function sinh(x) { + return ((x = Math.exp(x)) - 1 / x) / 2; +} +function tanh(x) { + return ((x = Math.exp(2 * x)) - 1) / (x + 1); +} +/* harmony default export */ var src_zoom = ((function zoomRho(rho, rho2, rho4) { + function zoom(p0, p1) { + var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2], dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, i, S; + if (d2 < epsilon2) { + S = Math.log(w1 / w0) / rho; + i = function(t) { + return [ + ux0 + t * dx, + uy0 + t * dy, + w0 * Math.exp(rho * t * S) + ]; + }; + } else { + var d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1), b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1); + S = (r1 - r0) / rho; + i = function(t) { + var s = t * S, coshr0 = cosh(r0), u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0)); + return [ + ux0 + u * dx, + uy0 + u * dy, + w0 * coshr0 / cosh(rho * s + r0) + ]; + }; + } + i.duration = S * 1e3 * rho / Math.SQRT2; + return i; + } + zoom.rho = function(_) { + var _1 = Math.max(1e-3, +_), _2 = _1 * _1, _4 = _2 * _2; + return zoomRho(_1, _2, _4); + }; + return zoom; +})(Math.SQRT2, 2, 4)); + +;// ./node_modules/d3-zoom/src/constant.js +/* harmony default export */ var d3_zoom_src_constant = ((x) => () => x); + +;// ./node_modules/d3-zoom/src/event.js +function ZoomEvent(type, { + sourceEvent, + target, + transform, + dispatch +}) { + Object.defineProperties(this, { + type: { value: type, enumerable: true, configurable: true }, + sourceEvent: { value: sourceEvent, enumerable: true, configurable: true }, + target: { value: target, enumerable: true, configurable: true }, + transform: { value: transform, enumerable: true, configurable: true }, + _: { value: dispatch } + }); +} + +;// ./node_modules/d3-zoom/src/transform.js +function Transform(k, x, y) { + this.k = k; + this.x = x; + this.y = y; +} +Transform.prototype = { + constructor: Transform, + scale: function(k) { + return k === 1 ? this : new Transform(this.k * k, this.x, this.y); + }, + translate: function(x, y) { + return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y); + }, + apply: function(point) { + return [point[0] * this.k + this.x, point[1] * this.k + this.y]; + }, + applyX: function(x) { + return x * this.k + this.x; + }, + applyY: function(y) { + return y * this.k + this.y; + }, + invert: function(location) { + return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k]; + }, + invertX: function(x) { + return (x - this.x) / this.k; + }, + invertY: function(y) { + return (y - this.y) / this.k; + }, + rescaleX: function(x) { + return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x)); + }, + rescaleY: function(y) { + return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y)); + }, + toString: function() { + return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")"; + } +}; +var transform_identity = new Transform(1, 0, 0); +transform_transform.prototype = Transform.prototype; +function transform_transform(node) { + while (!node.__zoom) if (!(node = node.parentNode)) return transform_identity; + return node.__zoom; +} + +;// ./node_modules/d3-zoom/src/noevent.js +function src_noevent_nopropagation(event) { + event.stopImmediatePropagation(); +} +/* harmony default export */ function d3_zoom_src_noevent(event) { + event.preventDefault(); + event.stopImmediatePropagation(); +} + +;// ./node_modules/d3-zoom/src/zoom.js + + + + + + + + + +function zoom_defaultFilter(event) { + return (!event.ctrlKey || event.type === "wheel") && !event.button; +} +function zoom_defaultExtent() { + var e = this; + if (e instanceof SVGElement) { + e = e.ownerSVGElement || e; + if (e.hasAttribute("viewBox")) { + e = e.viewBox.baseVal; + return [[e.x, e.y], [e.x + e.width, e.y + e.height]]; + } + return [[0, 0], [e.width.baseVal.value, e.height.baseVal.value]]; + } + return [[0, 0], [e.clientWidth, e.clientHeight]]; +} +function defaultTransform() { + return this.__zoom || transform_identity; +} +function defaultWheelDelta(event) { + return -event.deltaY * (event.deltaMode === 1 ? 0.05 : event.deltaMode ? 1 : 2e-3) * (event.ctrlKey ? 10 : 1); +} +function zoom_defaultTouchable() { + return navigator.maxTouchPoints || "ontouchstart" in this; +} +function defaultConstrain(transform, extent, translateExtent) { + var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0], dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0], dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1], dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1]; + return transform.translate( + dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1), + dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1) + ); +} +/* harmony default export */ function d3_zoom_src_zoom() { + var filter = zoom_defaultFilter, extent = zoom_defaultExtent, constrain = defaultConstrain, wheelDelta = defaultWheelDelta, touchable = zoom_defaultTouchable, scaleExtent = [0, Infinity], translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]], duration = 250, interpolate = src_zoom, listeners = src_dispatch("start", "zoom", "end"), touchstarting, touchfirst, touchending, touchDelay = 500, wheelDelay = 150, clickDistance2 = 0, tapDistance = 10; + function zoom(selection) { + selection.property("__zoom", defaultTransform).on("wheel.zoom", wheeled, { passive: false }).on("mousedown.zoom", mousedowned).on("dblclick.zoom", dblclicked).filter(touchable).on("touchstart.zoom", touchstarted).on("touchmove.zoom", touchmoved).on("touchend.zoom touchcancel.zoom", touchended).style("-webkit-tap-highlight-color", "rgba(0,0,0,0)"); + } + zoom.transform = function(collection, transform, point, event) { + var selection = collection.selection ? collection.selection() : collection; + selection.property("__zoom", defaultTransform); + if (collection !== selection) { + schedule(collection, transform, point, event); + } else { + selection.interrupt().each(function() { + gesture(this, arguments).event(event).start().zoom(null, typeof transform === "function" ? transform.apply(this, arguments) : transform).end(); + }); + } + }; + zoom.scaleBy = function(selection, k, p, event) { + zoom.scaleTo(selection, function() { + var k0 = this.__zoom.k, k1 = typeof k === "function" ? k.apply(this, arguments) : k; + return k0 * k1; + }, p, event); + }; + zoom.scaleTo = function(selection, k, p, event) { + zoom.transform(selection, function() { + var e = extent.apply(this, arguments), t0 = this.__zoom, p0 = p == null ? centroid(e) : typeof p === "function" ? p.apply(this, arguments) : p, p1 = t0.invert(p0), k1 = typeof k === "function" ? k.apply(this, arguments) : k; + return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent); + }, p, event); + }; + zoom.translateBy = function(selection, x, y, event) { + zoom.transform(selection, function() { + return constrain(this.__zoom.translate( + typeof x === "function" ? x.apply(this, arguments) : x, + typeof y === "function" ? y.apply(this, arguments) : y + ), extent.apply(this, arguments), translateExtent); + }, null, event); + }; + zoom.translateTo = function(selection, x, y, p, event) { + zoom.transform(selection, function() { + var e = extent.apply(this, arguments), t = this.__zoom, p0 = p == null ? centroid(e) : typeof p === "function" ? p.apply(this, arguments) : p; + return constrain(transform_identity.translate(p0[0], p0[1]).scale(t.k).translate( + typeof x === "function" ? -x.apply(this, arguments) : -x, + typeof y === "function" ? -y.apply(this, arguments) : -y + ), e, translateExtent); + }, p, event); + }; + function scale(transform, k) { + k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k)); + return k === transform.k ? transform : new Transform(k, transform.x, transform.y); + } + function translate(transform, p0, p1) { + var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k; + return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y); + } + function centroid(extent2) { + return [(+extent2[0][0] + +extent2[1][0]) / 2, (+extent2[0][1] + +extent2[1][1]) / 2]; + } + function schedule(transition, transform, point, event) { + transition.on("start.zoom", function() { + gesture(this, arguments).event(event).start(); + }).on("interrupt.zoom end.zoom", function() { + gesture(this, arguments).event(event).end(); + }).tween("zoom", function() { + var that = this, args = arguments, g = gesture(that, args).event(event), e = extent.apply(that, args), p = point == null ? centroid(e) : typeof point === "function" ? point.apply(that, args) : point, w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]), a = that.__zoom, b = typeof transform === "function" ? transform.apply(that, args) : transform, i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k)); + return function(t) { + if (t === 1) t = b; + else { + var l = i(t), k = w / l[2]; + t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); + } + g.zoom(null, t); + }; + }); + } + function gesture(that, args, clean) { + return !clean && that.__zooming || new Gesture(that, args); + } + function Gesture(that, args) { + this.that = that; + this.args = args; + this.active = 0; + this.sourceEvent = null; + this.extent = extent.apply(that, args); + this.taps = 0; + } + Gesture.prototype = { + event: function(event) { + if (event) this.sourceEvent = event; + return this; + }, + start: function() { + if (++this.active === 1) { + this.that.__zooming = this; + this.emit("start"); + } + return this; + }, + zoom: function(key, transform) { + if (this.mouse && key !== "mouse") this.mouse[1] = transform.invert(this.mouse[0]); + if (this.touch0 && key !== "touch") this.touch0[1] = transform.invert(this.touch0[0]); + if (this.touch1 && key !== "touch") this.touch1[1] = transform.invert(this.touch1[0]); + this.that.__zoom = transform; + this.emit("zoom"); + return this; + }, + end: function() { + if (--this.active === 0) { + delete this.that.__zooming; + this.emit("end"); + } + return this; + }, + emit: function(type) { + var d = src_select(this.that).datum(); + listeners.call( + type, + this.that, + new ZoomEvent(type, { + sourceEvent: this.sourceEvent, + target: zoom, + type, + transform: this.that.__zoom, + dispatch: listeners + }), + d + ); + } + }; + function wheeled(event, ...args) { + if (!filter.apply(this, arguments)) return; + var g = gesture(this, args).event(event), t = this.__zoom, k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))), p = src_pointer(event); + if (g.wheel) { + if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) { + g.mouse[1] = t.invert(g.mouse[0] = p); + } + clearTimeout(g.wheel); + } else if (t.k === k) return; + else { + g.mouse = [p, t.invert(p)]; + interrupt(this); + g.start(); + } + d3_zoom_src_noevent(event); + g.wheel = setTimeout(wheelidled, wheelDelay); + g.zoom("mouse", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent)); + function wheelidled() { + g.wheel = null; + g.end(); + } + } + function mousedowned(event, ...args) { + if (touchending || !filter.apply(this, arguments)) return; + var currentTarget = event.currentTarget, g = gesture(this, args, true).event(event), v = src_select(event.view).on("mousemove.zoom", mousemoved, true).on("mouseup.zoom", mouseupped, true), p = src_pointer(event, currentTarget), x0 = event.clientX, y0 = event.clientY; + nodrag(event.view); + src_noevent_nopropagation(event); + g.mouse = [p, this.__zoom.invert(p)]; + interrupt(this); + g.start(); + function mousemoved(event2) { + d3_zoom_src_noevent(event2); + if (!g.moved) { + var dx = event2.clientX - x0, dy = event2.clientY - y0; + g.moved = dx * dx + dy * dy > clickDistance2; + } + g.event(event2).zoom("mouse", constrain(translate(g.that.__zoom, g.mouse[0] = src_pointer(event2, currentTarget), g.mouse[1]), g.extent, translateExtent)); + } + function mouseupped(event2) { + v.on("mousemove.zoom mouseup.zoom", null); + yesdrag(event2.view, g.moved); + d3_zoom_src_noevent(event2); + g.event(event2).end(); + } + } + function dblclicked(event, ...args) { + if (!filter.apply(this, arguments)) return; + var t0 = this.__zoom, p0 = src_pointer(event.changedTouches ? event.changedTouches[0] : event, this), p1 = t0.invert(p0), k1 = t0.k * (event.shiftKey ? 0.5 : 2), t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, args), translateExtent); + d3_zoom_src_noevent(event); + if (duration > 0) src_select(this).transition().duration(duration).call(schedule, t1, p0, event); + else src_select(this).call(zoom.transform, t1, p0, event); + } + function touchstarted(event, ...args) { + if (!filter.apply(this, arguments)) return; + var touches = event.touches, n = touches.length, g = gesture(this, args, event.changedTouches.length === n).event(event), started, i, t, p; + src_noevent_nopropagation(event); + for (i = 0; i < n; ++i) { + t = touches[i], p = src_pointer(t, this); + p = [p, this.__zoom.invert(p), t.identifier]; + if (!g.touch0) g.touch0 = p, started = true, g.taps = 1 + !!touchstarting; + else if (!g.touch1 && g.touch0[2] !== p[2]) g.touch1 = p, g.taps = 0; + } + if (touchstarting) touchstarting = clearTimeout(touchstarting); + if (started) { + if (g.taps < 2) touchfirst = p[0], touchstarting = setTimeout(function() { + touchstarting = null; + }, touchDelay); + interrupt(this); + g.start(); + } + } + function touchmoved(event, ...args) { + if (!this.__zooming) return; + var g = gesture(this, args).event(event), touches = event.changedTouches, n = touches.length, i, t, p, l; + d3_zoom_src_noevent(event); + for (i = 0; i < n; ++i) { + t = touches[i], p = src_pointer(t, this); + if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p; + else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p; + } + t = g.that.__zoom; + if (g.touch1) { + var p0 = g.touch0[0], l0 = g.touch0[1], p1 = g.touch1[0], l1 = g.touch1[1], dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp, dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl; + t = scale(t, Math.sqrt(dp / dl)); + p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2]; + l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2]; + } else if (g.touch0) p = g.touch0[0], l = g.touch0[1]; + else return; + g.zoom("touch", constrain(translate(t, p, l), g.extent, translateExtent)); + } + function touchended(event, ...args) { + if (!this.__zooming) return; + var g = gesture(this, args).event(event), touches = event.changedTouches, n = touches.length, i, t; + src_noevent_nopropagation(event); + if (touchending) clearTimeout(touchending); + touchending = setTimeout(function() { + touchending = null; + }, touchDelay); + for (i = 0; i < n; ++i) { + t = touches[i]; + if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0; + else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1; + } + if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1; + if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]); + else { + g.end(); + if (g.taps === 2) { + t = src_pointer(t, this); + if (Math.hypot(touchfirst[0] - t[0], touchfirst[1] - t[1]) < tapDistance) { + var p = src_select(this).on("dblclick.zoom"); + if (p) p.apply(this, arguments); + } + } + } + } + zoom.wheelDelta = function(_) { + return arguments.length ? (wheelDelta = typeof _ === "function" ? _ : d3_zoom_src_constant(+_), zoom) : wheelDelta; + }; + zoom.filter = function(_) { + return arguments.length ? (filter = typeof _ === "function" ? _ : d3_zoom_src_constant(!!_), zoom) : filter; + }; + zoom.touchable = function(_) { + return arguments.length ? (touchable = typeof _ === "function" ? _ : d3_zoom_src_constant(!!_), zoom) : touchable; + }; + zoom.extent = function(_) { + return arguments.length ? (extent = typeof _ === "function" ? _ : d3_zoom_src_constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent; + }; + zoom.scaleExtent = function(_) { + return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]]; + }; + zoom.translateExtent = function(_) { + return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]]; + }; + zoom.constrain = function(_) { + return arguments.length ? (constrain = _, zoom) : constrain; + }; + zoom.duration = function(_) { + return arguments.length ? (duration = +_, zoom) : duration; + }; + zoom.interpolate = function(_) { + return arguments.length ? (interpolate = _, zoom) : interpolate; + }; + zoom.on = function() { + var value = listeners.on.apply(listeners, arguments); + return value === listeners ? zoom : value; + }; + zoom.clickDistance = function(_) { + return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2); + }; + zoom.tapDistance = function(_) { + return arguments.length ? (tapDistance = +_, zoom) : tapDistance; + }; + return zoom; +} + +;// ./node_modules/d3-zoom/src/index.js + + + +;// ./src/Chart/api/zoom.ts + + +const zoom = function(domainValue) { + var _a; + const $$ = this.internal; + const { axis, config, org, scale, state } = $$; + const isCategorized = axis.isCategorized(); + let domain; + if (config.zoom_enabled) { + domain = domainValue; + if (Array.isArray(domain)) { + if (axis.isTimeSeries()) { + domain = domain.map((x) => parseDate.bind($$)(x)); + } + const isWithinRange = $$.withinRange( + domain, + $$.getZoomDomain("zoom", true), + $$.getZoomDomain("zoom") + ); + if (isWithinRange) { + state.domain = domain; + domain = $$.getZoomDomainValue(domain); + $$.api.tooltip.hide(); + if (config.subchart_show) { + const x = scale.zoom || scale.x; + $$.brush.getSelection().call($$.brush.move, domain.map(x)); + } else { + const x = isCategorized ? scale.x.orgScale() : org.xScale || scale.x; + $$.updateCurrentZoomTransform(x, domain); + } + $$.setZoomResetButton(); + } + } else { + domain = $$.zoom.getDomain(); + } + } + return (_a = state.domain) != null ? _a : domain; +}; +util_extend(zoom, { + /** + * Enable and disable zooming. + * @function zoom․enable + * @instance + * @memberof Chart + * @param {string|boolean} enabled Possible string values are "wheel" or "drag". If enabled is true, "wheel" will be used. If false is given, zooming will be disabled.<br>When set to false, the current zooming status will be reset. + * @example + * // Enable zooming using the mouse wheel + * chart.zoom.enable(true); + * // Or + * chart.zoom.enable("wheel"); + * + * // Enable zooming by dragging + * chart.zoom.enable("drag"); + * + * // Disable zooming + * chart.zoom.enable(false); + */ + enable(enabled) { + const $$ = this.internal; + const { config } = $$; + if (/^(drag|wheel)$/.test(enabled)) { + config.zoom_type = enabled; + } + config.zoom_enabled = !!enabled; + if (!$$.zoom) { + $$.initZoom(); + $$.bindZoomEvent(); + } else if (enabled === false) { + $$.bindZoomEvent(false); + } + $$.updateAndRedraw(); + }, + /** + * Set or get x Axis maximum zoom range value + * @function zoom․max + * @instance + * @memberof Chart + * @param {number} [max] maximum value to set for zoom + * @returns {number} zoom max value + * @example + * // Set maximum range value + * chart.zoom.max(20); + */ + max(max) { + const $$ = this.internal; + const { config, org: { xDomain } } = $$; + if (max === 0 || max) { + config.zoom_x_max = getMinMax("max", [xDomain[1], max]); + } + return config.zoom_x_max; + }, + /** + * Set or get x Axis minimum zoom range value + * @function zoom․min + * @instance + * @memberof Chart + * @param {number} [min] minimum value to set for zoom + * @returns {number} zoom min value + * @example + * // Set minimum range value + * chart.zoom.min(-1); + */ + min(min) { + const $$ = this.internal; + const { config, org: { xDomain } } = $$; + if (min === 0 || min) { + config.zoom_x_min = getMinMax("min", [xDomain[0], min]); + } + return config.zoom_x_min; + }, + /** + * Set zoom range + * @function zoom․range + * @instance + * @memberof Chart + * @param {object} [range] zoom range + * @returns {object} zoom range value + * { + * min: 0, + * max: 100 + * } + * @example + * chart.zoom.range({ + * min: 10, + * max: 100 + * }); + */ + range(range) { + const zoom2 = this.zoom; + if (isObject(range)) { + const { min, max } = range; + isDefined(min) && zoom2.min(min); + isDefined(max) && zoom2.max(max); + } + return { + min: zoom2.min(), + max: zoom2.max() + }; + } +}); +/* harmony default export */ var api_zoom = ({ + zoom, + /** + * Unzoom zoomed area + * - **NOTE:** Calling .unzoom() will not trigger zoom events. + * @function unzoom + * @instance + * @memberof Chart + * @example + * chart.unzoom(); + */ + unzoom() { + const $$ = this.internal; + const { config, $el: { eventRect, zoomResetBtn }, scale: { zoom: zoom2 }, state } = $$; + if (zoom2) { + config.subchart_show ? $$.brush.getSelection().call($$.brush.move, null) : $$.zoom.updateTransformScale(transform_identity); + $$.updateZoom(true); + zoomResetBtn == null ? void 0 : zoomResetBtn.style("display", "none"); + if (transform_transform(eventRect.node()) !== transform_identity) { + $$.zoom.transform(eventRect, transform_identity); + } + state.domain = void 0; + } + } +}); + +;// ./src/ChartInternal/interactions/subchart.ts + + + + +/* harmony default export */ var interactions_subchart = ({ + /** + * Initialize the brush. + * @private + */ + initBrush() { + const $$ = this; + const { config, scale, $el: { subchart }, state } = $$; + const isRotated = config.axis_rotated; + const height = config.subchart_size_height; + let lastDomain; + let lastSelection; + let timeout; + $$.brush = (isRotated ? brushY() : brushX()).handleSize(5); + $$.brush.on("start brush end", (event) => { + const { selection, sourceEvent, target, type } = event; + if (type === "start") { + $$.state.inputType === "touch" && $$.hideTooltip(); + lastSelection = sourceEvent ? selection : null; + } + if (/(start|brush)/.test(type)) { + type === "brush" && sourceEvent && state.domain && (lastSelection == null ? void 0 : lastSelection.forEach((v, i) => { + if (v !== selection[i]) { + state.domain[i] = scale.x.orgDomain()[i]; + } + })); + $$.redrawForBrush(type !== "start"); + } + if (type === "end") { + lastDomain = scale.x.orgDomain(); + } + if (target == null ? void 0 : target.handle) { + if (selection === null) { + $$.brush.handle.attr("display", "none"); + } else { + $$.brush.handle.attr("display", null).attr("transform", (d, i) => { + const pos = [selection[i], height / 2]; + return `translate(${isRotated ? pos.reverse() : pos})`; + }); + } + } + }); + $$.brush.updateResize = function() { + timeout && clearTimeout(timeout); + timeout = setTimeout(() => { + const selection = this.getSelection(); + lastDomain && brushSelection(selection.node()) && this.move(selection, lastDomain.map(scale.subX.orgScale())); + }, 0); + }; + $$.brush.update = function() { + var _a; + const extent = this.extent()(); + if (extent[1].filter((v) => isNaN(v)).length === 0) { + (_a = subchart.main) == null ? void 0 : _a.select(`.${classes.brush}`).call(this); + } + return this; + }; + $$.brush.scale = function(scale2) { + const h = config.subchart_size_height; + let extent = $$.axis.getExtent(); + if (!extent && scale2.range) { + extent = [[0, 0], [scale2.range()[1], h]]; + } else if (isArray(extent)) { + extent = extent.map((v, i) => [v, i > 0 ? h : i]); + } + isRotated && extent[1].reverse(); + this.extent(extent); + this.update(); + }; + $$.brush.getSelection = () => ( + // @ts-ignore + subchart.main ? subchart.main.select(`.${classes.brush}`) : src_select([]) + ); + }, + /** + * Initialize the subchart. + * @private + */ + initSubchart() { + const $$ = this; + const { config, state: { clip, hasAxis }, $el: { defs, svg, subchart, axis } } = $$; + if (!hasAxis) { + return; + } + const visibility = config.subchart_show ? null : "hidden"; + const clipId = `${clip.id}-subchart`; + const clipPath = $$.getClipPath(clipId); + clip.idSubchart = clipId; + $$.appendClip(defs, clipId); + $$.initBrush(); + subchart.main = svg.append("g").classed(classes.subchart, true).attr("transform", $$.getTranslate("context")); + const { main } = subchart; + main.style("visibility", visibility); + main.append("g").attr("clip-path", clipPath).attr("class", classes.chart); + ["bar", "line", "bubble", "candlestick", "scatter"].forEach((v) => { + const type = capitalize(/^(bubble|scatter)$/.test(v) ? "circle" : v); + if ($$.hasType(v) || $$.hasTypeOf(type)) { + const chart = main.select(`.${classes.chart}`); + const chartClassName = classes[`chart${type}s`]; + if (chart.select(`.${chartClassName}`).empty()) { + chart.append("g").attr("class", chartClassName); + } + } + }); + const brush = main.append("g").attr("clip-path", clipPath).attr("class", classes.brush).call($$.brush); + config.subchart_showHandle && $$.addBrushHandle(brush); + axis.subX = main.append("g").attr("class", classes.axisX).attr("transform", $$.getTranslate("subX")).attr("clip-path", config.axis_rotated ? "" : clip.pathXAxis).style("visibility", config.subchart_axis_x_show ? visibility : "hidden"); + }, + /** + * Add brush handle + * Enabled when: subchart.showHandle=true + * @param {d3Selection} brush Brush selection + * @private + */ + addBrushHandle(brush) { + const $$ = this; + const { config } = $$; + const isRotated = config.axis_rotated; + const initRange = config.subchart_init_range; + const customHandleClass = "handle--custom"; + const path = isRotated ? [ + "M8.5 0 a6 6 0 0 0 -6 -6.5 H-2.5 a 6 6 0 0 0 -6 6.5 z m-5 -2 H-3.5 m7 -2 H-3.5z", + "M8.5 0 a6 -6 0 0 1 -6 6.5 H-2.5 a 6 -6 0 0 1 -6 -6.5z m-5 2 H-3.5 m7 2 H-3.5z" + ] : [ + "M0 -8.5 A6 6 0 0 0 -6.5 -3.5 V2.5 A6 6 0 0 0 0 8.5 Z M-2 -3.5 V3.5 M-4 -3.5 V3.5z", + "M0 -8.5 A6 6 0 0 1 6.5 -3.5 V2.5 A6 6 0 0 1 0 8.5 Z M2 -3.5 V3.5 M4 -3.5 V3.5z" + ]; + $$.brush.handle = brush.selectAll(`.${customHandleClass}`).data(isRotated ? [{ type: "n" }, { type: "s" }] : [{ type: "w" }, { type: "e" }]).enter().append("path").attr("class", customHandleClass).attr("cursor", `${isRotated ? "ns" : "ew"}-resize`).attr("d", (d) => path[+/[se]/.test(d.type)]).attr("display", initRange ? null : "none"); + }, + /** + * Update sub chart + * @param {object} targets $$.data.targets + * @private + */ + updateTargetsForSubchart(targets) { + const $$ = this; + const { config, state, $el: { subchart: { main } } } = $$; + if (config.subchart_show) { + ["bar", "line", "bubble", "candlestick", "scatter"].filter((v) => $$.hasType(v) || $$.hasTypeOf(capitalize(v))).forEach((v) => { + const isPointType = /^(bubble|scatter)$/.test(v); + const name = capitalize(isPointType ? "circle" : v); + const chartClass = $$.getChartClass(name, true); + const shapeClass = $$.getClass(isPointType ? "circles" : `${v}s`, true); + const shapeChart = main.select(`.${classes[`chart${`${name}s`}`]}`); + if (isPointType) { + const circle = shapeChart.selectAll(`.${classes.circles}`).data(targets.filter($$[`is${capitalize(v)}Type`].bind($$))).attr("class", shapeClass); + circle.exit().remove(); + circle.enter().append("g").attr("class", shapeClass); + } else { + const shapeUpdate = shapeChart.selectAll(`.${classes[`chart${name}`]}`).attr("class", chartClass).data(targets.filter($$[`is${name}Type`].bind($$))); + const shapeEnter = shapeUpdate.enter().append("g").style("opacity", "0").attr("class", chartClass).append("g").attr("class", shapeClass); + shapeUpdate.exit().remove(); + v === "line" && $$.hasTypeOf("Area") && shapeEnter.append("g").attr("class", $$.getClass("areas", true)); + } + }); + main.selectAll(`.${classes.brush} rect`).attr( + config.axis_rotated ? "width" : "height", + config.axis_rotated ? state.width2 : state.height2 + ); + } + }, + /** + * Redraw subchart. + * @private + * @param {boolean} withSubchart whether or not to show subchart + * @param {number} duration duration + * @param {object} shape Shape's info + */ + redrawSubchart(withSubchart, duration, shape) { + var _a; + const $$ = this; + const { config, $el: { subchart: { main } }, state } = $$; + const withTransition = !!duration; + main.style("visibility", config.subchart_show ? null : "hidden"); + if (config.subchart_show) { + if (((_a = state.event) == null ? void 0 : _a.type) === "zoom") { + $$.brush.update(); + } + if (withSubchart) { + const initRange = config.subchart_init_range; + !brushEmpty($$) && $$.brush.update(); + Object.keys(shape.type).forEach((v) => { + const name = capitalize(v); + const drawFn = $$[`generateDraw${name}`](shape.indices[v], true); + $$[`update${name}`](withTransition, true); + $$[`redraw${name}`](drawFn, withTransition, true); + }); + if ($$.hasType("bubble") || $$.hasType("scatter")) { + const { cx } = shape.pos; + const cy = $$.updateCircleY(true); + $$.updateCircle(true); + $$.redrawCircle(cx, cy, withTransition, void 0, true); + } + if (!state.rendered && initRange) { + state.domain = initRange; + $$.brush.move( + $$.brush.getSelection(), + initRange.map($$.scale.x) + ); + } + } + } + }, + /** + * Redraw the brush. + * @param {boolean} [callCallbck=true] Call 'onbrush' callback or not. + * @private + */ + redrawForBrush(callCallbck = true) { + var _a; + const $$ = this; + const { + config: { + subchart_onbrush: onBrush, + zoom_rescale: withY + }, + scale, + state + } = $$; + $$.redraw({ + withTransition: false, + withY, + withSubchart: false, + withUpdateXDomain: true, + withDimension: false + }); + callCallbck && state.rendered && onBrush.bind($$.api)((_a = state.domain) != null ? _a : scale.x.orgDomain()); + }, + /** + * Transform context + * @param {boolean} withTransition indicates transition is enabled + * @param {object} transitions The return value of the generateTransitions method of Axis. + * @private + */ + transformContext(withTransition, transitions) { + const $$ = this; + const { $el: { subchart }, $T } = $$; + const subXAxis = (transitions == null ? void 0 : transitions.axisSubX) ? transitions.axisSubX : $T(subchart.main.select(`.${classes.axisX}`), withTransition); + subchart.main.attr("transform", $$.getTranslate("context")); + subXAxis.attr("transform", $$.getTranslate("subX")); + } +}); + +;// ./src/ChartInternal/interactions/zoom.ts + + + + + +/* harmony default export */ var interactions_zoom = ({ + /** + * Initialize zoom. + * @private + */ + initZoom() { + const $$ = this; + $$.scale.zoom = null; + $$.generateZoom(); + $$.config.zoom_type === "drag" && $$.initZoomBehaviour(); + }, + /** + * Bind zoom event + * @param {boolean} bind Weather bind or unbound + * @private + */ + bindZoomEvent(bind = true) { + const $$ = this; + const { config } = $$; + const zoomEnabled = config.zoom_enabled; + if (zoomEnabled && bind) { + !config.subchart_show && $$.bindZoomOnEventRect(); + } else if (bind === false) { + $$.api.unzoom(); + $$.unbindZoomEvent(); + } + }, + /** + * Generate zoom + * @private + */ + generateZoom() { + const $$ = this; + const { config, org, scale } = $$; + const zoom = d3_zoom_src_zoom().duration(0).on("start", $$.onZoomStart.bind($$)).on("zoom", $$.onZoom.bind($$)).on("end", $$.onZoomEnd.bind($$)); + zoom.orgScaleExtent = () => { + const extent = config.zoom_extent || [1, 10]; + return [extent[0], Math.max($$.getMaxDataCount() / extent[1], extent[1])]; + }; + zoom.updateScaleExtent = function() { + const ratio = diffDomain($$.scale.x.orgDomain()) / diffDomain($$.getZoomDomain()); + const extent = this.orgScaleExtent(); + this.scaleExtent([extent[0] * ratio, extent[1] * ratio]); + return this; + }; + zoom.updateTransformScale = (transform, correctTransform) => { + var _a; + const isRotated = config.axis_rotated; + (_a = org.xScale) == null ? void 0 : _a.range(scale.x.range()); + const newScale = transform[isRotated ? "rescaleY" : "rescaleX"](org.xScale || scale.x); + if (newScale.domain().some((v) => /(Invalid Date|NaN)/.test(v.toString()))) { + return; + } + const domain = $$.trimXDomain(newScale.domain()); + const rescale = config.zoom_rescale; + newScale.domain(domain, org.xDomain); + if (correctTransform) { + const t = newScale(scale.x.domain()[0]); + const tX = isRotated ? transform.x : t; + const tY = isRotated ? t : transform.y; + $$.$el.eventRect.property( + "__zoom", + transform_identity.translate(tX, tY).scale(transform.k) + ); + } + if (!$$.state.xTickOffset) { + $$.state.xTickOffset = $$.axis.x.tickOffset(); + } + scale.zoom = $$.getCustomizedXScale(newScale); + $$.axis.x.scale(scale.zoom); + if (rescale) { + !org.xScale && (org.xScale = scale.x.copy()); + scale.x.domain(domain); + } else if (org.xScale) { + scale.x.domain(org.xScale.domain()); + org.xScale = null; + } + }; + zoom.getDomain = () => { + const domain = scale[scale.zoom ? "zoom" : "subX"].domain(); + const isCategorized = $$.axis.isCategorized(); + if (isCategorized) { + domain[1] -= 2; + } + return domain; + }; + $$.zoom = zoom; + }, + /** + * 'start' event listener + * @param {object} event Event object + * @private + */ + onZoomStart(event) { + const $$ = this; + const { sourceEvent } = event; + if (sourceEvent) { + $$.zoom.startEvent = sourceEvent; + $$.state.zooming = true; + callFn($$.config.zoom_onzoomstart, $$.api, event); + } + }, + /** + * 'zoom' event listener + * @param {object} event Event object + * @private + */ + onZoom(event) { + var _a; + const $$ = this; + const { config, scale, state, org } = $$; + const { sourceEvent } = event; + const isUnZoom = (event == null ? void 0 : event.transform) === transform_identity; + if (!config.zoom_enabled || $$.filterTargetsToShow($$.data.targets).length === 0 || !scale.zoom && (sourceEvent == null ? void 0 : sourceEvent.type.indexOf("touch")) > -1 && (sourceEvent == null ? void 0 : sourceEvent.touches.length) === 1) { + return; + } + if (event.sourceEvent) { + state.zooming = true; + state.domain = void 0; + } + const isMousemove = (sourceEvent == null ? void 0 : sourceEvent.type) === "mousemove"; + const isZoomOut = (sourceEvent == null ? void 0 : sourceEvent.wheelDelta) < 0; + const { transform } = event; + if (!isMousemove && isZoomOut && scale.x.domain().every((v, i) => v !== org.xDomain[i])) { + scale.x.domain(org.xDomain); + } + $$.zoom.updateTransformScale(transform, config.zoom_type === "wheel" && sourceEvent); + const doTransition = config.transition_duration > 0 && !config.subchart_show && (state.dragging || isUnZoom || !event.sourceEvent); + $$.redraw({ + withTransition: doTransition, + withY: config.zoom_rescale, + withSubchart: false, + withEventRect: false, + withDimension: false + }); + $$.state.cancelClick = isMousemove; + !isUnZoom && callFn( + config.zoom_onzoom, + $$.api, + (_a = $$.state.domain) != null ? _a : $$.zoom.getDomain() + ); + }, + /** + * 'end' event listener + * @param {object} event Event object + * @private + */ + onZoomEnd(event) { + var _a, _b; + const $$ = this; + const { config, state } = $$; + let { startEvent } = $$.zoom; + let e = event == null ? void 0 : event.sourceEvent; + const isUnZoom = (event == null ? void 0 : event.transform) === transform_identity; + if ((startEvent == null ? void 0 : startEvent.type.indexOf("touch")) > -1) { + startEvent = startEvent.changedTouches[0]; + e = (_a = e == null ? void 0 : e.changedTouches) == null ? void 0 : _a[0]; + } + if (config.zoom_type === "drag" && (e && startEvent.clientX === e.clientX && startEvent.clientY === e.clientY)) { + return; + } + state.zooming = false; + $$.redrawEventRect(); + $$.updateZoom(); + !isUnZoom && (e || state.dragging) && callFn( + config.zoom_onzoomend, + $$.api, + (_b = $$.state.domain) != null ? _b : $$.zoom.getDomain() + ); + }, + /** + * Update zoom + * @param {boolean} force Force unzoom + * @private + */ + updateZoom(force) { + const $$ = this; + const { subX, x, zoom } = $$.scale; + if (zoom) { + const zoomDomain = zoom.domain(); + const xDomain = subX.domain(); + const delta = 0.015; + const isfullyShown = $$.config.axis_x_inverted ? (zoomDomain[0] >= xDomain[0] || zoomDomain[0] + delta >= xDomain[0]) && (xDomain[1] >= zoomDomain[1] || xDomain[1] >= zoomDomain[1] + delta) : (zoomDomain[0] <= xDomain[0] || zoomDomain[0] - delta <= xDomain[0]) && (xDomain[1] <= zoomDomain[1] || xDomain[1] <= zoomDomain[1] - delta); + if (force || isfullyShown) { + $$.axis.x.scale(subX); + x.domain(subX.orgDomain()); + $$.scale.zoom = null; + } + } + }, + /** + * Set zoom transform to event rect + * @param {Function} x x Axis scale function + * @param {Array} domain Domain value to be set + * @private + */ + updateCurrentZoomTransform(x, domain) { + const $$ = this; + const { $el: { eventRect }, config } = $$; + const isRotated = config.axis_rotated; + const translate = [-x(domain[0]), 0]; + const transform = transform_identity.scale(x.range()[1] / (x(domain[1]) - x(domain[0]))).translate( + ...isRotated ? translate.reverse() : translate + ); + eventRect.call($$.zoom.transform, transform); + }, + /** + * Attach zoom event on <rect> + * @private + */ + bindZoomOnEventRect() { + var _a; + const $$ = this; + const { config, $el: { eventRect, svg } } = $$; + const behaviour = config.zoom_type === "drag" ? $$.zoomBehaviour : $$.zoom; + if (win.GestureEvent && /^((?!chrome|android|mobile).)*safari/i.test((_a = win.navigator) == null ? void 0 : _a.userAgent)) { + svg.on("wheel", () => { + }); + } + eventRect == null ? void 0 : eventRect.call(behaviour).on("dblclick.zoom", null); + }, + /** + * Initialize the drag behaviour used for zooming. + * @private + */ + initZoomBehaviour() { + const $$ = this; + const { config, state } = $$; + const isRotated = config.axis_rotated; + let start = 0; + let end = 0; + let zoomRect; + let extent; + const prop = { + axis: isRotated ? "y" : "x", + attr: isRotated ? "height" : "width", + index: isRotated ? 1 : 0 + }; + $$.zoomBehaviour = drag().clickDistance(4).on("start", function(event) { + extent = $$.scale.zoom ? null : $$.axis.getExtent(); + state.event = event; + $$.setDragStatus(true); + $$.unselectRect(); + if (!zoomRect) { + zoomRect = $$.$el.main.append("rect").attr("clip-path", state.clip.path).attr("class", $ZOOM.zoomBrush).attr("width", isRotated ? state.width : 0).attr("height", isRotated ? 0 : state.height); + } + start = getPointer(event, this)[prop.index]; + if (extent) { + if (start < extent[0]) { + start = extent[0]; + } else if (start > extent[1]) { + start = extent[1]; + } + } + end = start; + zoomRect.attr(prop.axis, start).attr(prop.attr, 0); + $$.onZoomStart(event); + }).on("drag", function(event) { + end = getPointer(event, this)[prop.index]; + if (extent) { + if (end > extent[1]) { + end = extent[1]; + } else if (end < extent[0]) { + end = extent[0]; + } + } + zoomRect.attr(prop.axis, Math.min(start, end)).attr(prop.attr, Math.abs(end - start)); + }).on("end", (event) => { + const scale = $$.scale.zoom || $$.scale.x; + state.event = event; + zoomRect.attr(prop.axis, 0).attr(prop.attr, 0); + if (start > end) { + [start, end] = [end, start]; + } + if (start < 0) { + end += Math.abs(start); + start = 0; + } + if (start !== end) { + $$.api.zoom([start, end].map((v) => scale.invert(v))); + } + $$.setDragStatus(false); + }); + }, + setZoomResetButton() { + const $$ = this; + const { config, $el } = $$; + const resetButton = config.zoom_resetButton; + if (resetButton && config.zoom_type === "drag") { + if (!$el.zoomResetBtn) { + $el.zoomResetBtn = $$.$el.chart.append("div").classed($COMMON.button, true).append("span").on("click", function() { + isFunction(resetButton.onclick) && resetButton.onclick.bind($$.api)(this); + $$.api.unzoom(); + }).classed($ZOOM.buttonZoomReset, true).text(resetButton.text || "Reset Zoom"); + } else { + $el.zoomResetBtn.style("display", null); + } + } + }, + getZoomTransform() { + const $$ = this; + const { $el: { eventRect } } = $$; + return (eventRect == null ? void 0 : eventRect.node()) ? transform_transform(eventRect.node()) : { k: 1 }; + } +}); + +;// ./src/ChartInternal/interactions/drag.ts + + + +/* harmony default export */ var interactions_drag = ({ + /** + * Called when dragging. + * Data points can be selected. + * @private + * @param {object} mouse Object + */ + drag(mouse) { + const $$ = this; + const { config, state, $el: { main } } = $$; + const isSelectionGrouped = config.data_selection_grouped; + const isSelectable = config.interaction_enabled && config.data_selection_isselectable; + if ($$.hasArcType() || !config.data_selection_enabled || // do nothing if not selectable + config.zoom_enabled && !$$.zoom.altDomain || // skip if zoomable because of conflict drag behavior + !config.data_selection_multiple) { + return; + } + const [sx, sy] = state.dragStart || [0, 0]; + const [mx, my] = mouse; + const minX = Math.min(sx, mx); + const maxX = Math.max(sx, mx); + const minY = isSelectionGrouped ? state.margin.top : Math.min(sy, my); + const maxY = isSelectionGrouped ? state.height : Math.max(sy, my); + main.select(`.${$DRAG.dragarea}`).attr("x", minX).attr("y", minY).attr("width", maxX - minX).attr("height", maxY - minY); + main.selectAll(`.${$SHAPE.shapes}`).selectAll(`.${$SHAPE.shape}`).filter((d) => isSelectable == null ? void 0 : isSelectable.bind($$.api)(d)).each(function(d, i) { + const shape = src_select(this); + const isSelected = shape.classed($SELECT.SELECTED); + const isIncluded = shape.classed($DRAG.INCLUDED); + let isWithin = false; + let toggle; + if (shape.classed($CIRCLE.circle)) { + const x = +shape.attr("cx") * 1; + const y = +shape.attr("cy") * 1; + toggle = $$.togglePoint; + isWithin = minX < x && x < maxX && minY < y && y < maxY; + } else if (shape.classed($BAR.bar)) { + const { x, y, width, height } = getPathBox(this); + toggle = $$.togglePath; + isWithin = !(maxX < x || x + width < minX) && !(maxY < y || y + height < minY); + } else { + return; + } + if (isWithin ^ isIncluded) { + shape.classed($DRAG.INCLUDED, !isIncluded); + shape.classed($SELECT.SELECTED, !isSelected); + toggle.call($$, !isSelected, shape, d, i); + } + }); + }, + /** + * Called when the drag starts. + * Adds and Shows the drag area. + * @private + * @param {object} mouse Object + */ + dragstart(mouse) { + const $$ = this; + const { config, state, $el: { main } } = $$; + if ($$.hasArcType() || !config.data_selection_enabled) { + return; + } + state.dragStart = mouse; + main.select(`.${$COMMON.chart}`).append("rect").attr("class", $DRAG.dragarea).style("opacity", "0.1"); + $$.setDragStatus(true); + }, + /** + * Called when the drag finishes. + * Removes the drag area. + * @private + */ + dragend() { + const $$ = this; + const { config, $el: { main }, $T } = $$; + if ($$.hasArcType() || !config.data_selection_enabled) { + return; + } + $T(main.select(`.${$DRAG.dragarea}`)).style("opacity", "0").remove(); + main.selectAll(`.${$SHAPE.shape}`).classed($DRAG.INCLUDED, false); + $$.setDragStatus(false); + } +}); + +;// ./src/ChartInternal/internals/selection.ts +var selection_defProp = Object.defineProperty; +var __defProps = Object.defineProperties; +var __getOwnPropDescs = Object.getOwnPropertyDescriptors; +var selection_getOwnPropSymbols = Object.getOwnPropertySymbols; +var selection_hasOwnProp = Object.prototype.hasOwnProperty; +var selection_propIsEnum = Object.prototype.propertyIsEnumerable; +var selection_defNormalProp = (obj, key, value) => key in obj ? selection_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var selection_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (selection_hasOwnProp.call(b, prop)) + selection_defNormalProp(a, prop, b[prop]); + if (selection_getOwnPropSymbols) + for (var prop of selection_getOwnPropSymbols(b)) { + if (selection_propIsEnum.call(b, prop)) + selection_defNormalProp(a, prop, b[prop]); + } + return a; +}; +var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); + + + + +/* harmony default export */ var internals_selection = (__spreadProps(selection_spreadValues({}, interactions_drag), { + /** + * Select a point + * @param {object} target Target point + * @param {object} d Data object + * @param {number} i Index number + * @private + */ + selectPoint(target, d, i) { + const $$ = this; + const { config, $el: { main }, $T } = $$; + const isRotated = config.axis_rotated; + const cx = (isRotated ? $$.circleY : $$.circleX).bind($$); + const cy = (isRotated ? $$.circleX : $$.circleY).bind($$); + const r = $$.pointSelectR.bind($$); + callFn(config.data_onselected, $$.api, d, target.node()); + $T(main.select(`.${$SELECT.selectedCircles}${$$.getTargetSelectorSuffix(d.id)}`).selectAll(`.${$SELECT.selectedCircle}-${i}`).data([d]).enter().append("circle").attr("class", () => $$.generateClass($SELECT.selectedCircle, i)).attr("cx", cx).attr("cy", cy).attr("stroke", $$.color).attr("r", (d2) => $$.pointSelectR(d2) * 1.4)).attr("r", r); + }, + /** + * Unelect a point + * @param {object} target Target point + * @param {object} d Data object + * @param {number} i Index number + * @private + */ + unselectPoint(target, d, i) { + const $$ = this; + const { config, $el: { main }, $T } = $$; + callFn(config.data_onunselected, $$.api, d, target == null ? void 0 : target.node()); + $T(main.select(`.${$SELECT.selectedCircles}${$$.getTargetSelectorSuffix(d.id)}`).selectAll(`.${$SELECT.selectedCircle}-${i}`)).attr("r", 0).remove(); + }, + /** + * Toggles the selection of points + * @param {boolean} selected whether or not to select. + * @param {object} target Target object + * @param {object} d Data object + * @param {number} i Index number + * @private + */ + togglePoint(selected, target, d, i) { + const method = `${selected ? "" : "un"}selectPoint`; + this[method](target, d, i); + }, + /** + * Select a path + * @param {object} target Target path + * @param {object} d Data object + * @private + */ + selectPath(target, d) { + const $$ = this; + const { config } = $$; + callFn(config.data_onselected, $$.api, d, target.node()); + if (config.interaction_brighten) { + target.style("filter", "brightness(1.25)"); + } + }, + /** + * Unelect a path + * @private + * @param {object} target Target path + * @param {object} d Data object + */ + unselectPath(target, d) { + const $$ = this; + const { config } = $$; + callFn(config.data_onunselected, $$.api, d, target.node()); + if (config.interaction_brighten) { + target.style("filter", null); + } + }, + /** + * Toggles the selection of lines + * @param {boolean} selected whether or not to select. + * @param {object} target Target object + * @param {object} d Data object + * @param {number} i Index number + * @private + */ + togglePath(selected, target, d, i) { + this[`${selected ? "" : "un"}selectPath`](target, d, i); + }, + /** + * Returns the toggle method of the target + * @param {object} that shape + * @param {object} d Data object + * @returns {Function} toggle method + * @private + */ + getToggle(that, d) { + const $$ = this; + return that.nodeName === "path" ? $$.togglePath : $$.isStepType(d) ? () => { + } : ( + // circle is hidden in step chart, so treat as within the click area + $$.togglePoint + ); + }, + /** + * Toggles the selection of shapes + * @param {object} that shape + * @param {object} d Data object + * @param {number} i Index number + * @private + */ + toggleShape(that, d, i) { + var _a; + const $$ = this; + const { config, $el: { main } } = $$; + if (config.data_selection_enabled && config.data_selection_isselectable.bind($$.api)(d)) { + const shape = src_select(that); + const isSelected = shape.classed($SELECT.SELECTED); + const toggle = $$.getToggle(that, d).bind($$); + let toggledShape; + if (!config.data_selection_multiple) { + const focusOnly = (_a = $$.isPointFocusOnly) == null ? void 0 : _a.call($$); + let selector = `.${focusOnly ? $SELECT.selectedCircles : $SHAPE.shapes}`; + if (config.data_selection_grouped) { + selector += $$.getTargetSelectorSuffix(d.id); + } + main.selectAll(selector).selectAll( + focusOnly ? `.${$SELECT.selectedCircle}` : `.${$SHAPE.shape}.${$SELECT.SELECTED}` + ).classed($SELECT.SELECTED, false).each(function(d2) { + const shape2 = src_select(this); + toggledShape = shape2; + toggle(false, shape2, d2, d2.index); + }); + } + if (!toggledShape || toggledShape.node() !== shape.node()) { + shape.classed($SELECT.SELECTED, !isSelected); + toggle(!isSelected, shape, d, i); + } + } + } +})); + +;// ./src/config/Options/data/selection.ts +/* harmony default export */ var data_selection = ({ + /** + * Set data selection enabled<br><br> + * If this option is set true, we can select the data points and get/set its state of selection by API (e.g. select, unselect, selected). + * - **NOTE:** for ESM imports, needs to import 'selection' exports and instantiate it by calling `selection()`. + * - `enabled: selection()` + * @name data․selection․enabled + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataSelection) + * @example + * data: { + * selection: { + * enabled: true + * } + * } + * @example + * // importing ESM + * import bb, {selection} from "billboard.js"; + * + * data: { + * selection: { + * enabled: selection(), + * ... + * } + * } + */ + data_selection_enabled: false, + /** + * Set grouped selection enabled.<br><br> + * If this option set true, multiple data points that have same x value will be selected by one selection. + * @name data․selection․grouped + * @memberof Options + * @type {boolean} + * @default false + * @example + * data: { + * selection: { + * grouped: true + * } + * } + */ + data_selection_grouped: false, + /** + * Set a callback for each data point to determine if it's selectable or not.<br><br> + * The callback will receive d as an argument and it has some parameters like id, value, index. This callback should return boolean. + * @name data․selection․isselectable + * @memberof Options + * @type {Function} + * @default function() { return true; } + * @example + * data: { + * selection: { + * isselectable: function(d) { ... } + * } + * } + */ + data_selection_isselectable: () => true, + /** + * Set multiple data points selection enabled.<br><br> + * If this option set true, multile data points can have the selected state at the same time. If false set, only one data point can have the selected state and the others will be unselected when the new data point is selected. + * @name data․selection․multiple + * @memberof Options + * @type {boolean} + * @default true + * @example + * data: { + * selection: { + * multiple: false + * } + * } + */ + data_selection_multiple: true, + /** + * Enable to select data points by dragging. + * If this option set true, data points can be selected by dragging. + * - **NOTE:** If this option set true, scrolling on the chart will be disabled because dragging event will handle the event. + * @name data․selection․draggable + * @memberof Options + * @type {boolean} + * @default false + * @example + * data: { + * selection: { + * draggable: true + * } + * } + */ + data_selection_draggable: false, + /** + * Set a callback for on data selection. + * @name data․onselected + * @memberof Options + * @type {Function} + * @default function() {} + * @example + * data: { + * onselected: function(d, element) { + * // d - ex) {x: 4, value: 150, id: "data1", index: 4, name: "data1"} + * // element - <circle> + * ... + * } + * } + */ + data_onselected: () => { + }, + /** + * Set a callback for on data un-selection. + * @name data․onunselected + * @memberof Options + * @type {Function} + * @default function() {} + * @example + * data: { + * onunselected: function(d, element) { + * // d - ex) {x: 4, value: 150, id: "data1", index: 4, name: "data1"} + * // element - <circle> + * ... + * } + * } + */ + data_onunselected: () => { + } +}); + +;// ./src/config/Options/interaction/subchart.ts +/* harmony default export */ var interaction_subchart = ({ + /** + * Set subchart options. + * - **NOTE:** Not supported for `bubble`, `scatter` and non-Axis based(pie, donut, gauge, radar) types. + * @name subchart + * @memberof Options + * @type {object} + * @property {object} subchart Subchart object + * @property {boolean} [subchart.show=false] Show sub chart on the bottom of the chart. + * - **NOTE:** for ESM imports, needs to import 'subchart' exports and instantiate it by calling `subchart()`. + * - `show: subchart()` + * @property {boolean} [subchart.showHandle=false] Show sub chart's handle. + * @property {boolean} [subchart.axis.x.show=true] Show or hide x axis. + * @property {boolean} [subchart.axis.x.tick.show=true] Show or hide x axis tick line. + * @property {Function|string} [subchart.axis.x.tick.format] Use custom format for x axis ticks - see [axis.x.tick.format](#.axis․x․tick․format) for details. + * @property {boolean} [subchart.axis.x.tick.text.show=true] Show or hide x axis tick text. + * @property {Array} [subchart.init.range] Set initial selection domain range. + * @property {number} [subchart.size.height] Change the height of the subchart. + * @property {Function} [subchart.onbrush] Set callback for brush event.<br> + * Specified function receives the current zoomed x domain. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Interaction.SubChart) + * @example + * subchart: { + * show: true, + * showHandle: true, + * size: { + * height: 20 + * }, + * init: { + * // specify initial range domain selection + * range: [1, 2] + * }, + * axis: { + * x: { + * show: true, + * tick: { + * show: true, + * format: (x) => d3Format(".1f")(x) + * text: { + * show: false + * } + * } + * } + * }, + * onbrush: function(domain) { ... } + * } + * @example + * // importing ESM + * import bb, {subchart} from "billboard.js"; + * + * subchart: { + * show: subchart(), + * ... + * } + */ + subchart_show: false, + subchart_showHandle: false, + subchart_size_height: 60, + subchart_axis_x_show: true, + subchart_axis_x_tick_show: true, + subchart_axis_x_tick_format: void 0, + subchart_axis_x_tick_text_show: true, + subchart_init_range: void 0, + subchart_onbrush: () => { + } +}); + +;// ./src/config/Options/interaction/zoom.ts +/* harmony default export */ var interaction_zoom = ({ + /** + * Set zoom options + * @name zoom + * @memberof Options + * @type {object} + * @property {object} zoom Zoom object + * @property {boolean} [zoom.enabled=false] Enable zooming. + * - **NOTE:** for ESM imports, needs to import 'zoom' exports and instantiate it by calling `zoom()`. + * - `enabled: zoom()` + * @property {string} [zoom.type='wheel'] Set zoom interaction type. + * - **Available types:** + * - wheel + * - drag + * @property {boolean} [zoom.rescale=false] Enable to rescale after zooming.<br> + * If true set, y domain will be updated according to the zoomed region. + * @property {Array} [zoom.extent=[1, 10]] Change zoom extent. + * @property {number|Date} [zoom.x.min] Set x Axis minimum zoom range + * @property {number|Date} [zoom.x.max] Set x Axis maximum zoom range + * @property {Function} [zoom.onzoomstart=undefined] Set callback that is called when zooming starts.<br> + * Specified function receives the zoom event. + * @property {Function} [zoom.onzoom=undefined] Set callback that is called when the chart is zooming.<br> + * Specified function receives the zoomed domain. + * @property {Function} [zoom.onzoomend=undefined] Set callback that is called when zooming ends.<br> + * Specified function receives the zoomed domain. + * @property {boolean|object} [zoom.resetButton=true] Set to display zoom reset button for 'drag' type zoom + * @property {Function} [zoom.resetButton.onclick] Set callback when clicks the reset button. The callback will receive reset button element reference as argument. + * @property {string} [zoom.resetButton.text='Reset Zoom'] Text value for zoom reset button. + * @see [Demo:zoom](https://naver.github.io/billboard.js/demo/#Interaction.Zoom) + * @see [Demo:drag zoom](https://naver.github.io/billboard.js/demo/#Interaction.DragZoom) + * @example + * zoom: { + * enabled: true, + * type: "drag", + * rescale: true, + * extent: [1, 100] // enable more zooming + * x: { + * min: -1, // set min range + * max: 10 // set max range + * }, + * onzoomstart: function(event) { ... }, + * onzoom: function(domain) { ... }, + * onzoomend: function(domain) { ... }, + * + * // show reset button when is zoomed-in + * resetButton: true, + * + * resetButton: { + * // onclick callback when reset button is clicked + * onclick: function(button) { + * button; // Reset button element reference + * ... + * }, + * + * // customized text value for reset zoom button + * text: "Unzoom" + * } + * } + * @example + * // importing ESM + * import bb, {zoom} from "billboard.js"; + * + * zoom: { + * enabled: zoom(), + * ... + * } + */ + zoom_enabled: false, + zoom_type: "wheel", + zoom_extent: void 0, + zoom_privileged: false, + zoom_rescale: false, + zoom_onzoom: void 0, + zoom_onzoomstart: void 0, + zoom_onzoomend: void 0, + zoom_resetButton: true, + zoom_x_min: void 0, + zoom_x_max: void 0 +}); + +;// ./src/config/resolver/interaction.ts + + + + + + + + + + + + + + +let selectionModule = () => { + util_extend(ChartInternal.prototype, internals_selection); + util_extend(Chart.prototype, api_selection); + Options.setOptions([data_selection]); + return (selectionModule = () => true)(); +}; +let subchartModule = () => { + util_extend(ChartInternal.prototype, interactions_subchart); + util_extend(Chart.prototype, api_subchart); + Options.setOptions([interaction_subchart]); + return (subchartModule = () => true)(); +}; +let zoomModule = () => { + util_extend(ChartInternal.prototype, interactions_zoom); + util_extend(Chart.prototype, api_zoom); + Options.setOptions([interaction_zoom]); + return (zoomModule = () => true)(); +}; + +;// ./src/Chart/api/axis.ts + +function setMinMax($$, type, value) { + const { config } = $$; + const helper = (key, value2) => { + const v = isNumber(value2) ? value2 : value2 === false ? void 0 : null; + if (v !== null) { + config[`axis_${key}_${type}`] = v; + } + }; + if (isDefined(value)) { + if (isObjectType(value)) { + Object.keys(value).forEach((key) => { + helper(key, value[key]); + }); + } else if (isNumber(value) || value === false) { + ["y", "y2"].forEach((key) => { + helper(key, value); + }); + } + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true + }); + } +} +function axis_getMinMax($$, type) { + const { config } = $$; + return { + x: config[`axis_x_${type}`], + y: config[`axis_y_${type}`], + y2: config[`axis_y2_${type}`] + }; +} +const axis = { + /** + * Get and set axis labels. + * - **NOTE:** Only applicable for chart types which has x and y axes. + * @function axis․labels + * @instance + * @memberof Chart + * @param {object} labels specified axis' label to be updated. + * @param {string} [labels.x] x Axis string + * @param {string} [labels.y] y Axis string + * @param {string} [labels.y2] y2 Axis string + * @returns {object|undefined} axis labels text object + * @example + * // Update axis' label + * chart.axis.labels({ + * x: "New X Axis Label", + * y: "New Y Axis Label", + * y2: "New Y2 Axis Label" + * }); + * + * chart.axis.labels(); + * // --> { + * // x: "New X Axis Label", + * // y: "New Y Axis Label", + * // y2: "New Y2 Axis Label" + * // } + */ + labels: function(labels) { + const $$ = this.internal; + let labelText; + if (labels) { + Object.keys(labels).forEach((axisId) => { + $$.axis.setLabelText(axisId, labels[axisId]); + }); + $$.axis.updateLabels(); + } + ["x", "y", "y2"].forEach((v) => { + const text = $$.axis.getLabelText(v); + if (text) { + !labelText && (labelText = {}); + labelText[v] = text; + } + }); + return labelText; + }, + /** + * Get and set axis min value. + * - **NOTE:** Only applicable for chart types which has x and y axes. + * @function axis․min + * @instance + * @memberof Chart + * @param {object} min If min is given, specified axis' min value will be updated.<br> + * If no argument is given, the min values set on generating option for each axis will be returned. + * If not set any min values on generation, it will return `undefined`.<br> + * To unset specific axis max, set `false` to each of them. + * @returns {object|undefined} + * @example + * // Update axis' min + * chart.axis.min({ + * x: -10, + * y: 1000, + * y2: 100 + * }); + * + * // To unset specific axis min, set false to each of them. + * chart.axis.min({ + * x: false, + * y: false, + * y2: false + * }); + * + * // shorthand (only affects y and y2 axis) + * chart.axis.min(-50); + * chart.axis.min(false); + */ + min: function(min) { + const $$ = this.internal; + return isValue(min) || min === false ? setMinMax($$, "min", min) : axis_getMinMax($$, "min"); + }, + /** + * Get and set axis max value. + * - **NOTE:** Only applicable for chart types which has x and y axes. + * @function axis․max + * @instance + * @memberof Chart + * @param {object} max If max is given, specified axis' max value will be updated.<br> + * If no argument is given, the max values set on generating option for each axis will be returned. + * If not set any max values on generation, it will return `undefined`.<br> + * To unset specific axis max, set `false` to each of them. + * @returns {object|undefined} + * @example + * // Update axis' label + * chart.axis.max({ + * x: 100, + * y: 1000, + * y2: 10000 + * }); + * + * // To unset specific axis max, set false to each of them. + * chart.axis.max({ + * x: false, + * y: false, + * y2: false + * }); + * + * // shorthand (only affects y and y2 axis) + * chart.axis.max(10); + * chart.axis.max(false); + */ + max: function(max) { + const $$ = this.internal; + return isValue(max) || max === false ? setMinMax($$, "max", max) : axis_getMinMax($$, "max"); + }, + /** + * Get and set axis min and max value. + * - **NOTE:** Only applicable for chart types which has x and y axes. + * @function axis․range + * @instance + * @memberof Chart + * @param {object} range If range is given, specified axis' min and max value will be updated. + * If no argument is given, the current min and max values for each axis will be returned.<br> + * To unset specific axis max, set `false` to each of them. + * @returns {object|undefined} + * @example + * // Update axis' label + * chart.axis.range({ + * min: { + * x: -10, + * y: -1000, + * y2: -10000 + * }, + * max: { + * x: 100, + * y: 1000, + * y2: 10000 + * }, + * }); + * + * // To unset specific axis max, set false to each of them. + * chart.axis.range({ + * min: { + * x: false, + * y: false, + * y2: false + * }, + * max: { + * x: false, + * y: false, + * y2: false + * }, + * }); + * + * // shorthand (only affects y and y2 axis) + * chart.axis.range({ min: -50, max: 1000 }); + * chart.axis.range({ min: false, max: false }); + */ + range: function(range) { + const { axis: axis2 } = this; + if (arguments.length) { + const { min, max } = range; + isDefined(max) && axis2.max(max); + isDefined(min) && axis2.min(min); + } else { + return { + max: axis2.max(), + min: axis2.min() + }; + } + return void 0; + } +}; +/* harmony default export */ var api_axis = ({ axis }); + +;// ./src/Chart/api/category.ts + +/* harmony default export */ var api_category = ({ + /** + * Set specified category name on category axis. + * @function category + * @instance + * @memberof Chart + * @param {number} i index of category to be changed + * @param {string} category category value to be changed + * @returns {string} + * @example + * chart.category(2, "Category 3"); + */ + category(i, category) { + const $$ = this.internal; + const { config } = $$; + if (arguments.length > 1) { + config.axis_x_categories[i] = category; + $$.redraw(); + } + return config.axis_x_categories[i]; + }, + /** + * Set or get category names on category axis. + * @function categories + * @instance + * @memberof Chart + * @param {Array} categories This must be an array that includes category names in string. If category names are included in the date by data.x option, this is not required. + * @returns {Array} + * @example + * chart.categories([ + * "Category 1", "Category 2", ... + * ]); + */ + categories(categories) { + const $$ = this.internal; + const { config } = $$; + if (!categories || !Array.isArray(categories)) { + const cat = config.axis_x_categories; + return isEmpty(cat) ? Object.values($$.data.xs)[0] : cat; + } + config.axis_x_categories = categories; + $$.redraw(); + return config.axis_x_categories; + } +}); + +;// ./src/Chart/api/flow.ts + +/* harmony default export */ var flow = ({ + /** + * Flow data to the chart.<br><br> + * By this API, you can append new data points to the chart. + * @function flow + * @instance + * @memberof Chart + * @param {object} args The object can consist with following members:<br> + * + * | Key | Type | Description | + * | --- | --- | --- | + * | json | Object | Data as JSON format (@see [data․json](Options.html#.data%25E2%2580%25A4json)) | + * | rows | Array | Data in array as row format (@see [data․rows](Options.html#.data%25E2%2580%25A4json)) | + * | columns | Array | Data in array as column format (@see [data․columns](Options.html#.data%25E2%2580%25A4columns)) | + * | to | String | The lower x edge will move to that point. If not given, the lower x edge will move by the number of given data points | + * | length | Number | The lower x edge will move by the number of this argument | + * | duration | Number | The duration of the transition will be specified value. If not given, transition.duration will be used as default | + * | done | Function | The specified function will be called when flow ends | + * + * - **NOTE:** + * - If json, rows and columns given, the data will be loaded. + * - If data that has the same target id is given, the chart will be appended. + * - Otherwise, new target will be added. One of these is required when calling. + * - If json specified, keys is required as well as data.json. + * - If tab isn't visible(by evaluating `document.hidden`), will not be executed to prevent unnecessary work. + * @example + * // 2 data points will be apprended to the tail and popped from the head. + * // After that, 4 data points will be appended and no data points will be poppoed. + * chart.flow({ + * columns: [ + * ["x", "2018-01-11", "2018-01-21"], + * ["data1", 500, 200], + * ["data2", 100, 300], + * ["data3", 200, 120] + * ], + * to: "2013-01-11", + * done: function () { + * chart.flow({ + * columns: [ + * ["x", "2018-02-11", "2018-02-12", "2018-02-13", "2018-02-14"], + * ["data1", 200, 300, 100, 250], + * ["data2", 100, 90, 40, 120], + * ["data3", 100, 100, 300, 500] + * ], + * length: 2, + * duration: 1500 + * }); + * } + * }); + */ + flow(args) { + const $$ = this.internal; + let data; + if (args.json || args.rows || args.columns) { + $$.convertData(args, (res) => { + data = res; + _(); + }); + } + function _() { + let domain; + let length = 0; + let tail = 0; + let diff; + let to; + if ($$.state.redrawing || !data || !isTabVisible()) { + return; + } + const notfoundIds = []; + const orgDataCount = $$.getMaxDataCount(); + const targets = $$.convertDataToTargets(data, true); + const isTimeSeries = $$.axis.isTimeSeries(); + $$.data.targets.forEach((t) => { + let found = false; + for (let i = 0; i < targets.length; i++) { + if (t.id === targets[i].id) { + found = true; + if (t.values[t.values.length - 1]) { + tail = t.values[t.values.length - 1].index + 1; + } + length = targets[i].values.length; + for (let j = 0; j < length; j++) { + targets[i].values[j].index = tail + j; + if (!isTimeSeries) { + targets[i].values[j].x = tail + j; + } + } + t.values = t.values.concat(targets[i].values); + targets.splice(i, 1); + break; + } + } + !found && notfoundIds.push(t.id); + }); + $$.data.targets.forEach((t) => { + for (let i = 0; i < notfoundIds.length; i++) { + if (t.id === notfoundIds[i]) { + tail = t.values[t.values.length - 1].index + 1; + for (let j = 0; j < length; j++) { + t.values.push({ + id: t.id, + index: tail + j, + x: isTimeSeries ? $$.getOtherTargetX(tail + j) : tail + j, + value: null + }); + } + } + } + }); + if ($$.data.targets.length) { + targets.forEach((t) => { + const missing = []; + for (let i = $$.data.targets[0].values[0].index; i < tail; i++) { + missing.push({ + id: t.id, + index: i, + x: isTimeSeries ? $$.getOtherTargetX(i) : i, + value: null + }); + } + t.values.forEach((v) => { + v.index += tail; + if (!isTimeSeries) { + v.x += tail; + } + }); + t.values = missing.concat(t.values); + }); + } + $$.data.targets = $$.data.targets.concat(targets); + const baseTarget = $$.data.targets[0]; + const baseValue = baseTarget.values[0]; + if (isDefined(args.to)) { + length = 0; + to = isTimeSeries ? parseDate.call($$, args.to) : args.to; + baseTarget.values.forEach((v) => { + v.x < to && length++; + }); + } else if (isDefined(args.length)) { + length = args.length; + } + if (!orgDataCount) { + if (isTimeSeries) { + diff = baseTarget.values.length > 1 ? baseTarget.values[baseTarget.values.length - 1].x - baseValue.x : baseValue.x - $$.getXDomain($$.data.targets)[0]; + } else { + diff = 1; + } + domain = [baseValue.x - diff, baseValue.x]; + } else if (orgDataCount === 1 && isTimeSeries) { + diff = (baseTarget.values[baseTarget.values.length - 1].x - baseValue.x) / 2; + domain = [new Date(+baseValue.x - diff), new Date(+baseValue.x + diff)]; + } + domain && $$.updateXDomain(null, true, true, false, domain); + $$.updateTargets($$.data.targets); + $$.redraw({ + flow: { + index: baseValue.index, + length, + duration: isValue(args.duration) ? args.duration : $$.config.transition_duration, + done: args.done, + orgDataCount + }, + withLegend: true, + withTransition: orgDataCount > 1, + withTrimXDomain: false, + withUpdateXAxis: true + }); + } + } +}); + +;// ./src/Chart/api/grid.ts + +function grid(grids, axisId) { + const $$ = this.internal; + const { config } = $$; + const withTransition = config.transition_duration && isTabVisible(); + const gridPropLines = `grid_${axisId}_lines`; + if (!grids) { + return config[gridPropLines]; + } + config[gridPropLines] = grids; + $$.updateGrid(); + $$.redrawGrid(withTransition); + return config[gridPropLines]; +} +function add(grids, axisId) { + const gridPropLines = `grid_${axisId}_lines`; + return grid.bind(this)( + this.internal.config[gridPropLines].concat(grids || []), + axisId + ); +} +function grid_remove(grids, isXAxis) { + this.internal.removeGridLines(grids, isXAxis); +} +const xgrids = function(grids) { + return grid.bind(this)(grids, "x"); +}; +util_extend(xgrids, { + /** + * Add x grid lines.<br> + * This API adds new x grid lines instead of replacing like xgrids. + * @function xgrids․add + * @instance + * @memberof Chart + * @param {Array|object} grids New x grid lines will be added. The format of this argument is the same as grid.x.lines and it's possible to give an Object if only one line will be added. + * @returns {Array} + * @example + * // Add a new x grid line + * chart.xgrids.add( + * {value: 4, text: "Label 4"} + * ); + * + * // Add new x grid lines + * chart.xgrids.add([ + * {value: 2, text: "Label 2"}, + * {value: 4, text: "Label 4"} + * ]); + */ + add(grids) { + return add.bind(this)(grids, "x"); + }, + /** + * Remove x grid lines.<br> + * This API removes x grid lines. + * @function xgrids․remove + * @instance + * @memberof Chart + * @param {object} grids This argument should include value or class. If value is given, the x grid lines that have specified x value will be removed. If class is given, the x grid lines that have specified class will be removed. If args is not given, all of x grid lines will be removed. + * @param {number} [grids.value] target value + * @param {string} [grids.class] target class + * @returns {void} + * @example + * // x grid line on x = 2 will be removed + * chart.xgrids.remove({value: 2}); + * + * // x grid lines that have 'grid-A' will be removed + * chart.xgrids.remove({ + * class: "grid-A" + * }); + * + * // all of x grid lines will be removed + * chart.xgrids.remove(); + */ + remove(grids) { + return grid_remove.bind(this)(grids, true); + } +}); +const ygrids = function(grids) { + return grid.bind(this)(grids, "y"); +}; +util_extend(ygrids, { + /** + * Add y grid lines.<br> + * This API adds new y grid lines instead of replacing like ygrids. + * @function ygrids․add + * @instance + * @memberof Chart + * @param {Array|object} grids New y grid lines will be added. The format of this argument is the same as grid.y.lines and it's possible to give an Object if only one line will be added. + * @returns {object} + * @example + * // Add a new x grid line + * chart.ygrids.add( + * {value: 400, text: "Label 4"} + * ); + * + * // Add new x grid lines + * chart.ygrids.add([ + * {value: 200, text: "Label 2"}, + * {value: 400, text: "Label 4"} + * ]); + */ + add(grids) { + return add.bind(this)(grids, "y"); + }, + /** + * Remove y grid lines.<br> + * This API removes x grid lines. + * @function ygrids․remove + * @instance + * @memberof Chart + * @param {object} grids This argument should include value or class. If value is given, the y grid lines that have specified y value will be removed. If class is given, the y grid lines that have specified class will be removed. If args is not given, all of y grid lines will be removed. + * @param {number} [grids.value] target value + * @param {string} [grids.class] target class + * @returns {void} + * @example + * // y grid line on y = 200 will be removed + * chart.ygrids.remove({value: 200}); + * + * // y grid lines that have 'grid-A' will be removed + * chart.ygrids.remove({ + * class: "grid-A" + * }); + * + * // all of y grid lines will be removed + * chart.ygrids.remove(); + */ + remove(grids) { + return grid_remove.bind(this)(grids, false); + } +}); +/* harmony default export */ var api_grid = ({ xgrids, ygrids }); + +;// ./src/Chart/api/group.ts + +/* harmony default export */ var group = ({ + /** + * Update groups for the targets. + * @function groups + * @instance + * @memberof Chart + * @param {Array} groups This argument needs to be an Array that includes one or more Array that includes target ids to be grouped. + * @returns {Array} Grouped data names array + * @example + * // data1 and data2 will be a new group. + * chart.groups([ + * ["data1", "data2"] + * ]); + */ + groups(groups) { + const $$ = this.internal; + const { config } = $$; + if (isUndefined(groups)) { + return config.data_groups; + } + config.data_groups = groups; + $$.redraw(); + return config.data_groups; + } +}); + +;// ./src/Chart/api/regions.ts + + +function regionsFn(regions2, isAdd = false) { + const $$ = this.internal; + const { config } = $$; + const withTransition = config.transition_duration && isTabVisible(); + if (!regions2) { + return config.regions; + } + config.regions = isAdd ? config.regions.concat(regions2) : regions2; + $$.updateRegion(); + $$.redrawRegion(withTransition); + return isAdd ? config.regions : regions2; +} +const regions = function(regions2) { + return regionsFn.bind(this)(regions2); +}; +util_extend(regions, { + /** + * Add new region.<br><br> + * This API adds new region instead of replacing like regions. + * @function regions․add + * @instance + * @memberof Chart + * @param {Array|object} regions New region will be added. The format of this argument is the same as regions and it's possible to give an Object if only one region will be added. + * @returns {Array} regions + * @example + * // Add a new region + * chart.regions.add( + * { + * axis: "x", start: 5, class: "regionX", + * label: { + * text: "Region Text", + * color: "red" // color string + * } + * } + * ); + * + * // Add new regions + * chart.regions.add([ + * {axis: "x", start: 5, class: "regionX"}, + * { + * axis: "y", end: 50, class: "regionY", + * label: { + * text: "Region Text", + * x: 5, // position relative of the initial x coordinate + * y: 5, // position relative of the initial y coordinate + * color: "red", // color string + * rotated: true // make text to show in vertical or horizontal + * } + * } + * ]); + */ + add: function(regions2) { + return regionsFn.bind(this)(regions2, true); + }, + /** + * Remove regions.<br><br> + * This API removes regions. + * @function regions․remove + * @instance + * @memberof Chart + * @param {object} optionsValue This argument should include classes. If classes is given, the regions that have one of the specified classes will be removed. If args is not given, all of regions will be removed. + * @returns {Array} regions Removed regions + * @example + * // regions that have 'region-A' or 'region-B' will be removed. + * chart.regions.remove({ + * classes: [ + * "region-A", "region-B" + * ] + * }); + * + * // all of regions will be removed. + * chart.regions.remove(); + */ + remove: function(optionsValue) { + const $$ = this.internal; + const { config, $T } = $$; + const options = optionsValue || {}; + const classes = getOption(options, "classes", [$REGION.region]); + let regions2 = $$.$el.main.select(`.${$REGION.regions}`).selectAll(classes.map((c) => `.${c}`)); + $T(regions2).style("opacity", "0").remove(); + regions2 = config.regions; + if (Object.keys(options).length) { + regions2 = regions2.filter((region) => { + let found = false; + if (!region.class) { + return true; + } + region.class.split(" ").forEach((c) => { + if (classes.indexOf(c) >= 0) { + found = true; + } + }); + return !found; + }); + config.regions = regions2; + } else { + config.regions = []; + } + return regions2; + } +}); +/* harmony default export */ var api_regions = ({ regions }); + +;// ./src/Chart/api/x.ts + +/* harmony default export */ var x = ({ + /** + * Get and set x values for the chart. + * @function x + * @instance + * @memberof Chart + * @param {Array} x If x is given, x values of every target will be updated. If no argument is given, current x values will be returned as an Object whose keys are the target ids. + * @returns {object} xs + * @example + * // Get current x values + * chart.x(); + * + * // Update x values for all targets + * chart.x([100, 200, 300, 400, ...]); + */ + x(x) { + const $$ = this.internal; + const { axis, data } = $$; + const isCategorized = axis.isCustomX() && axis.isCategorized(); + if (isArray(x)) { + if (isCategorized) { + this.categories(x); + } else { + $$.updateTargetX(data.targets, x); + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true + }); + } + } + return isCategorized ? this.categories() : data.xs; + }, + /** + * Get and set x values for the chart. + * @function xs + * @instance + * @memberof Chart + * @param {Array} xs If xs is given, specified target's x values will be updated. If no argument is given, current x values will be returned as an Object whose keys are the target ids. + * @returns {object} xs + * @example + * // Get current x values + * chart.xs(); + * + * // Update x values for all targets + * chart.xs({ + * data1: [10, 20, 30, 40, ...], + * data2: [100, 200, 300, 400, ...] + * }); + */ + xs(xs) { + const $$ = this.internal; + if (isObject(xs)) { + $$.updateTargetXs($$.data.targets, xs); + $$.redraw({ + withUpdateOrgXDomain: true, + withUpdateXDomain: true + }); + } + return $$.data.xs; + } +}); + +;// ./node_modules/d3-axis/src/identity.js +/* harmony default export */ function d3_axis_src_identity(x) { + return x; +} + +;// ./node_modules/d3-axis/src/axis.js + +var axis_top = 1, right = 2, bottom = 3, left = 4, axis_epsilon = 1e-6; +function translateX(x) { + return "translate(" + x + ",0)"; +} +function translateY(y) { + return "translate(0," + y + ")"; +} +function axis_number(scale) { + return (d) => +scale(d); +} +function center(scale, offset) { + offset = Math.max(0, scale.bandwidth() - offset * 2) / 2; + if (scale.round()) offset = Math.round(offset); + return (d) => +scale(d) + offset; +} +function entering() { + return !this.__axis; +} +function axis_axis(orient, scale) { + var tickArguments = [], tickValues = null, tickFormat = null, tickSizeInner = 6, tickSizeOuter = 6, tickPadding = 3, offset = typeof window !== "undefined" && window.devicePixelRatio > 1 ? 0 : 0.5, k = orient === axis_top || orient === left ? -1 : 1, x = orient === left || orient === right ? "x" : "y", transform = orient === axis_top || orient === bottom ? translateX : translateY; + function axis2(context) { + var values = tickValues == null ? scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain() : tickValues, format = tickFormat == null ? scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : d3_axis_src_identity : tickFormat, spacing = Math.max(tickSizeInner, 0) + tickPadding, range = scale.range(), range0 = +range[0] + offset, range1 = +range[range.length - 1] + offset, position = (scale.bandwidth ? center : axis_number)(scale.copy(), offset), selection = context.selection ? context.selection() : context, path = selection.selectAll(".domain").data([null]), tick = selection.selectAll(".tick").data(values, scale).order(), tickExit = tick.exit(), tickEnter = tick.enter().append("g").attr("class", "tick"), line = tick.select("line"), text = tick.select("text"); + path = path.merge(path.enter().insert("path", ".tick").attr("class", "domain").attr("stroke", "currentColor")); + tick = tick.merge(tickEnter); + line = line.merge(tickEnter.append("line").attr("stroke", "currentColor").attr(x + "2", k * tickSizeInner)); + text = text.merge(tickEnter.append("text").attr("fill", "currentColor").attr(x, k * spacing).attr("dy", orient === axis_top ? "0em" : orient === bottom ? "0.71em" : "0.32em")); + if (context !== selection) { + path = path.transition(context); + tick = tick.transition(context); + line = line.transition(context); + text = text.transition(context); + tickExit = tickExit.transition(context).attr("opacity", axis_epsilon).attr("transform", function(d) { + return isFinite(d = position(d)) ? transform(d + offset) : this.getAttribute("transform"); + }); + tickEnter.attr("opacity", axis_epsilon).attr("transform", function(d) { + var p = this.parentNode.__axis; + return transform((p && isFinite(p = p(d)) ? p : position(d)) + offset); + }); + } + tickExit.remove(); + path.attr("d", orient === left || orient === right ? tickSizeOuter ? "M" + k * tickSizeOuter + "," + range0 + "H" + offset + "V" + range1 + "H" + k * tickSizeOuter : "M" + offset + "," + range0 + "V" + range1 : tickSizeOuter ? "M" + range0 + "," + k * tickSizeOuter + "V" + offset + "H" + range1 + "V" + k * tickSizeOuter : "M" + range0 + "," + offset + "H" + range1); + tick.attr("opacity", 1).attr("transform", function(d) { + return transform(position(d) + offset); + }); + line.attr(x + "2", k * tickSizeInner); + text.attr(x, k * spacing).text(format); + selection.filter(entering).attr("fill", "none").attr("font-size", 10).attr("font-family", "sans-serif").attr("text-anchor", orient === right ? "start" : orient === left ? "end" : "middle"); + selection.each(function() { + this.__axis = position; + }); + } + axis2.scale = function(_) { + return arguments.length ? (scale = _, axis2) : scale; + }; + axis2.ticks = function() { + return tickArguments = Array.from(arguments), axis2; + }; + axis2.tickArguments = function(_) { + return arguments.length ? (tickArguments = _ == null ? [] : Array.from(_), axis2) : tickArguments.slice(); + }; + axis2.tickValues = function(_) { + return arguments.length ? (tickValues = _ == null ? null : Array.from(_), axis2) : tickValues && tickValues.slice(); + }; + axis2.tickFormat = function(_) { + return arguments.length ? (tickFormat = _, axis2) : tickFormat; + }; + axis2.tickSize = function(_) { + return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis2) : tickSizeInner; + }; + axis2.tickSizeInner = function(_) { + return arguments.length ? (tickSizeInner = +_, axis2) : tickSizeInner; + }; + axis2.tickSizeOuter = function(_) { + return arguments.length ? (tickSizeOuter = +_, axis2) : tickSizeOuter; + }; + axis2.tickPadding = function(_) { + return arguments.length ? (tickPadding = +_, axis2) : tickPadding; + }; + axis2.offset = function(_) { + return arguments.length ? (offset = +_, axis2) : offset; + }; + return axis2; +} +function axisTop(scale) { + return axis_axis(axis_top, scale); +} +function axisRight(scale) { + return axis_axis(right, scale); +} +function axisBottom(scale) { + return axis_axis(bottom, scale); +} +function axisLeft(scale) { + return axis_axis(left, scale); +} + +;// ./src/ChartInternal/Axis/AxisRendererHelper.ts +var AxisRendererHelper_defProp = Object.defineProperty; +var AxisRendererHelper_defNormalProp = (obj, key, value) => key in obj ? AxisRendererHelper_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var AxisRendererHelper_publicField = (obj, key, value) => AxisRendererHelper_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + +class AxisRendererHelper { + constructor(owner) { + AxisRendererHelper_publicField(this, "owner"); + AxisRendererHelper_publicField(this, "config"); + AxisRendererHelper_publicField(this, "scale"); + const scale = getScale(); + const { config, params } = owner; + this.owner = owner; + this.config = config; + this.scale = scale; + if (config.noTransition || !params.config.transition_duration) { + config.withoutTransition = true; + } + config.range = this.scaleExtent((params.orgXScale || scale).range()); + } + /** + * Compute a character dimension + * @param {d3.selection} text SVG text selection + * @param {boolean} memoize memoize the calculated size + * @returns {{w: number, h: number}} + * @private + */ + static getSizeFor1Char(text, memoize = true) { + const size = { + w: 5.5, + h: 11.5 + }; + !text.empty() && text.text("0").call((el) => { + try { + const { width, height } = el.node().getBBox(); + if (width && height) { + size.w = width; + size.h = height; + } + } finally { + el.text(""); + } + }); + if (memoize) { + this.getSizeFor1Char = () => size; + } + return size; + } + /** + * Get tick transform setter function + * @param {string} id Axis id + * @returns {Function} transfrom setter function + * @private + */ + getTickTransformSetter(id) { + const { config } = this; + const fn = id === "x" ? (value) => `translate(${value + config.tickOffset},0)` : (value) => `translate(0,${value})`; + return (selection, scale) => { + selection.attr("transform", (d) => { + const x = scale(d); + return isValue(d) ? fn(x) : null; + }); + }; + } + scaleExtent(domain) { + const start = domain[0]; + const stop = domain[domain.length - 1]; + return start < stop ? [start, stop] : [stop, start]; + } + generateTicks(scale, isYAxes) { + const { tickStepSize } = this.owner.params; + const [start, end] = scale.domain(); + let ticks = []; + if (isYAxes && tickStepSize) { + let interval = Math.round(start); + while (interval <= end) { + ticks.push(interval); + interval += tickStepSize; + } + } else if (scale.ticks) { + const { tickArguments } = this.config; + if (scale.type === "log" && !tickArguments) { + const s = getScale("_log").domain([start > 0 ? start : 1, end]).range(scale.range()); + ticks = s.ticks(); + for (let cnt = end.toFixed().length; ticks.length > 15; cnt--) { + ticks = s.ticks(cnt); + } + ticks.splice(0, 1, start); + ticks.splice(ticks.length - 1, 1, end); + } else { + ticks = scale.ticks(...this.config.tickArguments || []); + } + ticks = ticks.map((v) => { + const r = isString(v) && isNumber(v) && !isNaN(v) && Math.round(v * 10) / 10 || v; + return r; + }); + } + return ticks; + } + copyScale() { + const newScale = this.scale.copy(); + if (!newScale.domain().length) { + newScale.domain(this.scale.domain()); + } + newScale.type = this.scale.type; + return newScale; + } + textFormatted(v) { + const tickFormat = this.config.tickFormat; + const value = /\d+\.\d+0{5,}\d$/.test(v) ? +String(v).replace(/0+\d$/, "") : v; + const formatted = tickFormat ? tickFormat(value) : value; + return isDefined(formatted) ? formatted : ""; + } + transitionise(selection) { + const { config } = this; + let transitionSelection = selection; + if (config.withoutTransition) { + transitionSelection = selection.interrupt(); + } else if (config.transition || !this.owner.params.noTransition) { + try { + transitionSelection = selection.transition(config.transition); + } catch (e) { + } + } + return transitionSelection; + } +} + +;// ./src/ChartInternal/Axis/AxisRenderer.ts +var AxisRenderer_defProp = Object.defineProperty; +var AxisRenderer_defNormalProp = (obj, key, value) => key in obj ? AxisRenderer_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var AxisRenderer_publicField = (obj, key, value) => AxisRenderer_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + +class AxisRenderer { + constructor(params = {}) { + AxisRenderer_publicField(this, "helper"); + AxisRenderer_publicField(this, "config"); + AxisRenderer_publicField(this, "params"); + AxisRenderer_publicField(this, "g"); + AxisRenderer_publicField(this, "generatedTicks"); + const config = { + innerTickSize: 6, + outerTickSize: params.outerTick ? 6 : 0, + orient: "bottom", + range: [], + tickArguments: null, + tickCentered: null, + tickCulling: true, + tickFormat: null, + tickLength: 9, + tickOffset: 0, + tickPadding: 3, + tickValues: null, + transition: null, + noTransition: params.noTransition + }; + config.tickLength = Math.max(config.innerTickSize, 0) + config.tickPadding; + this.config = config; + this.params = params; + this.helper = new AxisRendererHelper(this); + } + /** + * Create axis element + * @param {d3.selection} g Axis selection + * @private + */ + create(g) { + const ctx = this; + const { config, helper, params } = ctx; + const { scale } = helper; + const { orient } = config; + const splitTickText = this.splitTickText.bind(ctx); + const isLeftRight = /^(left|right)$/.test(orient); + const isTopBottom = /^(top|bottom)$/.test(orient); + const tickTransform = helper.getTickTransformSetter(isTopBottom ? "x" : "y"); + const axisPx = tickTransform === helper.axisX ? "y" : "x"; + const sign = /^(top|left)$/.test(orient) ? -1 : 1; + const rotate = params.tickTextRotate; + this.config.range = scale.rangeExtent ? scale.rangeExtent() : helper.scaleExtent((params.orgXScale || scale).range()); + const { innerTickSize, tickLength, range } = config; + const id = params.id; + const tickTextPos = id && /^(x|y|y2)$/.test(id) ? params.config[`axis_${id}_tick_text_position`] : { x: 0, y: 0 }; + const prefix = id === "subX" ? `subchart_axis_x` : `axis_${id}`; + const axisShow = params.config[`${prefix}_show`]; + const tickShow = { + tick: axisShow ? params.config[`${prefix}_tick_show`] : false, + text: axisShow ? params.config[`${prefix}_tick_text_show`] : false + }; + const evalTextSize = params.config.axis_evalTextSize; + let $g; + g.each(function() { + const g2 = src_select(this); + let scale0 = this.__chart__ || scale; + let scale1 = helper.copyScale(); + $g = g2; + this.__chart__ = scale1; + config.tickOffset = params.isCategory ? (scale1(1) - scale1(0)) / 2 : 0; + const path = g2.selectAll(".domain").data([0]); + path.enter().append("path").attr("class", "domain").merge(path).attr("d", () => { + const outerTickSized = config.outerTickSize * sign; + return isTopBottom ? `M${range[0]},${outerTickSized}V0H${range[1]}V${outerTickSized}` : `M${outerTickSized},${range[0]}H0V${range[1]}H${outerTickSized}`; + }); + if (tickShow.tick || tickShow.text) { + const ticks = config.tickValues || helper.generateTicks(scale1, isLeftRight); + ctx.generatedTicks = ticks; + let tick = g2.selectAll(".tick").data(ticks, scale1); + const tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick"); + const tickExit = tick.exit().remove(); + tick = tickEnter.merge(tick); + tickShow.tick && tickEnter.append("line"); + tickShow.text && tickEnter.append("text"); + const tickText = tick.select("text"); + const sizeFor1Char = isFunction(evalTextSize) ? evalTextSize.bind(ctx.params.owner.api)(tickText.node()) : AxisRendererHelper.getSizeFor1Char(tickText, evalTextSize); + const counts = []; + let tspan = tickText.selectAll("tspan").data((d, index) => { + const split = params.tickMultiline ? splitTickText(d, scale1, ticks, isLeftRight, sizeFor1Char.w) : isArray(helper.textFormatted(d)) ? helper.textFormatted(d).concat() : [helper.textFormatted(d)]; + counts[index] = split.length; + return split.map((splitted) => ({ index, splitted })); + }); + tspan.exit().remove(); + tspan = tspan.enter().append("tspan").merge(tspan).text((d) => d.splitted); + tspan.attr("x", isTopBottom ? 0 : tickLength * sign).attr("dx", (() => { + let dx = 0; + if (/(top|bottom)/.test(orient) && rotate) { + dx = 8 * Math.sin(Math.PI * (rotate / 180)) * (orient === "top" ? -1 : 1); + } + return dx + (tickTextPos.x || 0); + })()).attr("dy", (d, i) => { + const defValue = ".71em"; + let dy = 0; + if (orient !== "top") { + dy = sizeFor1Char.h; + if (i === 0) { + dy = isLeftRight ? -((counts[d.index] - 1) * (sizeFor1Char.h / 2) - 3) : tickTextPos.y === 0 ? defValue : 0; + } + } + return isNumber(dy) && tickTextPos.y ? dy + tickTextPos.y : dy || defValue; + }); + const lineUpdate = tick.select("line"); + const textUpdate = tick.select("text"); + tickEnter.select("line").attr(`${axisPx}2`, innerTickSize * sign); + tickEnter.select("text").attr(axisPx, tickLength * sign); + ctx.setTickLineTextPosition(lineUpdate, textUpdate); + if (params.tickTitle) { + const title = textUpdate.select("title"); + (title.empty() ? textUpdate.append("title") : title).text((index) => params.tickTitle[index]); + } + if (scale1.bandwidth) { + const x = scale1; + const dx = x.bandwidth() / 2; + scale0 = (d) => x(d) + dx; + scale1 = scale0; + } else if (scale0.bandwidth) { + scale0 = scale1; + } else { + tickTransform(tickExit, scale1); + } + tick = params.owner.state.flowing ? helper.transitionise(tick) : params.owner.$T(tick); + tickTransform(tickEnter, scale0); + tickTransform(tick.style("opacity", null), scale1); + } + }); + this.g = $g; + } + /** + * Get generated ticks + * @param {number} count Count of ticks + * @returns {Array} Generated ticks + * @private + */ + getGeneratedTicks(count) { + var _a; + const len = ((_a = this.generatedTicks) == null ? void 0 : _a.length) - 1; + let res = this.generatedTicks; + if (len > count) { + const interval = Math.round(len / count + 0.1); + res = this.generatedTicks.map((v, i) => i % interval === 0 ? v : null).filter((v) => v !== null).splice(0, count); + } + return res; + } + /** + * Get tick x/y coordinate + * @returns {{x: number, y: number}} + * @private + */ + getTickXY() { + const { config } = this; + const pos = { x: 0, y: 0 }; + if (this.params.isCategory) { + pos.x = config.tickCentered ? 0 : config.tickOffset; + pos.y = config.tickCentered ? config.tickOffset : 0; + } + return pos; + } + /** + * Get tick size + * @param {object} d data object + * @returns {number} + * @private + */ + getTickSize(d) { + const { scale } = this.helper; + const { config } = this; + const { innerTickSize, range } = config; + const tickPosition = scale(d) + (config.tickCentered ? 0 : config.tickOffset); + return range[0] < tickPosition && tickPosition < range[1] ? innerTickSize : 0; + } + /** + * Set tick's line & text position + * @param {d3.selection} lineUpdate Line selection + * @param {d3.selection} textUpdate Text selection + * @private + */ + setTickLineTextPosition(lineUpdate, textUpdate) { + const tickPos = this.getTickXY(); + const { innerTickSize, orient, tickLength, tickOffset } = this.config; + const rotate = this.params.tickTextRotate; + const textAnchorForText = (r) => { + const value = ["start", "end"]; + orient === "top" && value.reverse(); + return !r ? "middle" : value[r > 0 ? 0 : 1]; + }; + const textTransform = (r) => r ? `rotate(${r})` : null; + const yForText = (r) => { + const r2 = r / (orient === "bottom" ? 15 : 23); + return r ? 11.5 - 2.5 * r2 * (r > 0 ? 1 : -1) : tickLength; + }; + const { + config: { + axis_rotated: isRotated, + axis_x_tick_text_inner: inner + } + } = this.params.owner; + switch (orient) { + case "bottom": + lineUpdate.attr("x1", tickPos.x).attr("x2", tickPos.x).attr("y2", this.getTickSize.bind(this)); + textUpdate.attr("x", 0).attr("y", yForText(rotate)).style("text-anchor", textAnchorForText(rotate)).style("text-anchor", (d, i, { length }) => { + if (!isRotated && i === 0 && (inner === true || inner.first)) { + return "start"; + } else if (!isRotated && i === length - 1 && (inner === true || inner.last)) { + return "end"; + } + return textAnchorForText(rotate); + }).attr("transform", textTransform(rotate)); + break; + case "top": + lineUpdate.attr("x2", 0).attr("y2", -innerTickSize); + textUpdate.attr("x", 0).attr("y", -yForText(rotate) * 2).style("text-anchor", textAnchorForText(rotate)).attr("transform", textTransform(rotate)); + break; + case "left": + lineUpdate.attr("x2", -innerTickSize).attr("y1", tickPos.y).attr("y2", tickPos.y); + textUpdate.attr("x", -tickLength).attr("y", tickOffset).style("text-anchor", "end"); + break; + case "right": + lineUpdate.attr("x2", innerTickSize).attr("y2", 0); + textUpdate.attr("x", tickLength).attr("y", 0).style("text-anchor", "start"); + } + } + // this should be called only when category axis + splitTickText(d, scale, ticks, isLeftRight, charWidth) { + const { params } = this; + const tickText = this.helper.textFormatted(d); + const splitted = isString(tickText) && tickText.indexOf("\n") > -1 ? tickText.split("\n") : []; + if (splitted.length) { + return splitted; + } + if (isArray(tickText)) { + return tickText; + } + let tickWidth = params.tickWidth; + if (!tickWidth || tickWidth <= 0) { + tickWidth = isLeftRight ? 95 : params.isCategory ? (params.isInverted ? scale(ticks[0]) - scale(ticks[1]) : scale(ticks[1]) - scale(ticks[0])) - 12 : 110; + } + function split(splitted2, text) { + let subtext; + let spaceIndex; + let textWidth; + for (let i = 1; i < text.length; i++) { + if (text.charAt(i) === " ") { + spaceIndex = i; + } + subtext = text.substr(0, i + 1); + textWidth = charWidth * subtext.length; + if (tickWidth < textWidth) { + return split( + splitted2.concat(text.substr(0, spaceIndex || i)), + text.slice(spaceIndex ? spaceIndex + 1 : i) + ); + } + } + return splitted2.concat(text); + } + return split(splitted, String(tickText)); + } + scale(x) { + if (!arguments.length) { + return this.helper.scale; + } + this.helper.scale = x; + return this; + } + orient(x) { + if (!arguments.length) { + return this.config.orient; + } + this.config.orient = x in { + top: 1, + right: 1, + bottom: 1, + left: 1 + } ? String(x) : "bottom"; + return this; + } + tickFormat(format) { + const { config } = this; + if (!arguments.length) { + return config.tickFormat; + } + config.tickFormat = format; + return this; + } + tickCentered(isCentered) { + const { config } = this; + if (!arguments.length) { + return config.tickCentered; + } + config.tickCentered = isCentered; + return this; + } + /** + * Return tick's offset value. + * The value will be set for 'category' axis type. + * @returns {number} + * @private + */ + tickOffset() { + return this.config.tickOffset; + } + /** + * Get tick interval count + * @private + * @param {number} size Total data size + * @returns {number} + */ + tickInterval(size) { + var _a; + const { outerTickSize, tickOffset, tickValues } = this.config; + let interval; + if (this.params.isCategory) { + interval = tickOffset * 2; + } else { + const scale = (_a = this.params.owner.scale.zoom) != null ? _a : this.helper.scale; + const length = this.g.select("path.domain").node().getTotalLength() - outerTickSize * 2; + interval = length / (size || this.g.selectAll("line").size()); + const intervalByValue = tickValues ? tickValues.map((v, i, arr) => { + const next = i + 1; + return next < arr.length ? scale(arr[next]) - scale(v) : null; + }).filter(Boolean) : []; + interval = Math.min(...intervalByValue, interval); + } + return interval === Infinity ? 0 : interval; + } + ticks(...args) { + const { config } = this; + if (!args.length) { + return config.tickArguments; + } + config.tickArguments = toArray(args); + return this; + } + tickCulling(culling) { + const { config } = this; + if (!arguments.length) { + return config.tickCulling; + } + config.tickCulling = culling; + return this; + } + tickValues(x) { + const { config } = this; + if (isFunction(x)) { + config.tickValues = () => x(this.helper.scale.domain()); + } else { + if (!arguments.length) { + return config.tickValues; + } + config.tickValues = x; + } + return this; + } + setTransition(t) { + this.config.transition = t; + return this; + } +} + +;// ./src/ChartInternal/Axis/Axis.ts +var Axis_defProp = Object.defineProperty; +var Axis_defNormalProp = (obj, key, value) => key in obj ? Axis_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var Axis_publicField = (obj, key, value) => Axis_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + + +/* harmony default export */ var Axis = ({ + getAxisInstance: function() { + return this.axis || new Axis_Axis(this); + } +}); +class Axis_Axis { + constructor(owner) { + Axis_publicField(this, "owner"); + Axis_publicField(this, "x"); + Axis_publicField(this, "subX"); + Axis_publicField(this, "y"); + Axis_publicField(this, "y2"); + Axis_publicField(this, "axesList", {}); + Axis_publicField(this, "tick", { + x: null, + y: null, + y2: null + }); + Axis_publicField(this, "xs", []); + Axis_publicField(this, "orient", { + x: "bottom", + y: "left", + y2: "right", + subX: "bottom" + }); + this.owner = owner; + this.setOrient(); + } + getAxisClassName(id) { + return `${$AXIS.axis} ${$AXIS[`axis${capitalize(id)}`]}`; + } + isHorizontal($$, forHorizontal) { + const isRotated = $$.config.axis_rotated; + return forHorizontal ? isRotated : !isRotated; + } + isCategorized() { + const { config, state } = this.owner; + return config.axis_x_type.indexOf("category") >= 0 || state.hasRadar; + } + isCustomX() { + const { config } = this.owner; + return !this.isTimeSeries() && (config.data_x || notEmpty(config.data_xs)); + } + isTimeSeries(id = "x") { + return this.owner.config[`axis_${id}_type`] === "timeseries"; + } + isLog(id = "x") { + return this.owner.config[`axis_${id}_type`] === "log"; + } + isTimeSeriesY() { + return this.isTimeSeries("y"); + } + getAxisType(id = "x") { + let type = "linear"; + if (this.isTimeSeries(id)) { + type = this.owner.config.axis_x_localtime ? "time" : "utc"; + } else if (this.isLog(id)) { + type = "log"; + } + return type; + } + /** + * Get extent value + * @returns {Array} default extent + * @private + */ + getExtent() { + const $$ = this.owner; + const { config, scale } = $$; + let extent = config.axis_x_extent; + if (extent) { + if (isFunction(extent)) { + extent = extent.bind($$.api)($$.getXDomain($$.data.targets), scale.subX); + } else if (this.isTimeSeries() && extent.every(isNaN)) { + const fn = parseDate.bind($$); + extent = extent.map((v) => scale.subX(fn(v))); + } + } + return extent; + } + init() { + const $$ = this.owner; + const { config, $el: { main, axis }, state: { clip } } = $$; + const isRotated = config.axis_rotated; + const target = ["x", "y"]; + config.axis_y2_show && target.push("y2"); + target.forEach((v) => { + const classAxis = this.getAxisClassName(v); + const classLabel = $AXIS[`axis${v.toUpperCase()}Label`]; + axis[v] = main.append("g").attr("class", classAxis).attr("clip-path", () => { + let res = null; + if (v === "x") { + res = clip.pathXAxis; + } else if (v === "y") { + res = clip.pathYAxis; + } + return res; + }).attr("transform", $$.getTranslate(v)).style("visibility", config[`axis_${v}_show`] ? null : "hidden"); + axis[v].append("text").attr("class", classLabel).attr("transform", ["rotate(-90)", null][v === "x" ? +!isRotated : +isRotated]).style("text-anchor", () => this.textAnchorForAxisLabel(v)); + this.generateAxes(v); + }); + config.axis_tooltip && this.setAxisTooltip(); + } + /** + * Set axis orient according option value + * @private + */ + setOrient() { + const $$ = this.owner; + const { + axis_rotated: isRotated, + axis_y_inner: yInner, + axis_y2_inner: y2Inner + } = $$.config; + this.orient = { + x: isRotated ? "left" : "bottom", + y: isRotated ? yInner ? "top" : "bottom" : yInner ? "right" : "left", + y2: isRotated ? y2Inner ? "bottom" : "top" : y2Inner ? "left" : "right", + subX: isRotated ? "left" : "bottom" + }; + } + /** + * Generate axes + * It's used when axis' axes option is set + * @param {string} id Axis id + * @private + */ + generateAxes(id) { + const $$ = this.owner; + const { config } = $$; + const axes = []; + const axesConfig = config[`axis_${id}_axes`]; + const isRotated = config.axis_rotated; + let d3Axis; + if (id === "x") { + d3Axis = isRotated ? axisLeft : axisBottom; + } else if (id === "y") { + d3Axis = isRotated ? axisBottom : axisLeft; + } else if (id === "y2") { + d3Axis = isRotated ? axisTop : axisRight; + } + if (axesConfig.length) { + axesConfig.forEach((v) => { + const tick = v.tick || {}; + const scale = $$.scale[id].copy(); + v.domain && scale.domain(v.domain); + axes.push( + d3Axis(scale).ticks(tick.count).tickFormat( + isFunction(tick.format) ? tick.format.bind($$.api) : (x) => x + ).tickValues(tick.values).tickSizeOuter(tick.outer === false ? 0 : 6) + ); + }); + } + this.axesList[id] = axes; + } + /** + * Update axes nodes + * @private + */ + updateAxes() { + const $$ = this.owner; + const { config, $el: { main }, $T } = $$; + Object.keys(this.axesList).forEach((id) => { + const axesConfig = config[`axis_${id}_axes`]; + const scale = $$.scale[id].copy(); + const range = scale.range(); + this.axesList[id].forEach((v, i) => { + const axisRange = v.scale().range(); + if (!range.every((v2, i2) => v2 === axisRange[i2])) { + v.scale().range(range); + } + const className = `${this.getAxisClassName(id)}-${i + 1}`; + let g = main.select(`.${className.replace(/\s/, ".")}`); + if (g.empty()) { + g = main.append("g").attr("class", className).style("visibility", config[`axis_${id}_show`] ? null : "hidden").call(v); + } else { + axesConfig[i].domain && scale.domain(axesConfig[i].domain); + $T(g).call(v.scale(scale)); + } + g.attr("transform", $$.getTranslate(id, i + 1)); + }); + }); + } + /** + * Set Axis & tick values + * called from: updateScales() + * @param {string} id Axis id string + * @param {d3Scale} scale Scale + * @param {boolean} outerTick If show outer tick + * @param {boolean} noTransition If with no transition + * @private + */ + setAxis(id, scale, outerTick, noTransition) { + const $$ = this.owner; + if (id !== "subX") { + this.tick[id] = this.getTickValues(id); + } + this[id] = this.getAxis( + id, + scale, + outerTick, + // do not transit x Axis on zoom and resizing + // https://github.com/naver/billboard.js/issues/1949 + id === "x" && ($$.scale.zoom || $$.config.subchart_show || $$.state.resizing) ? true : noTransition + ); + } + // called from : getMaxTickSize() + getAxis(id, scale, outerTick, noTransition, noTickTextRotate) { + const $$ = this.owner; + const { config } = $$; + const isX = /^(x|subX)$/.test(id); + const type = isX ? "x" : id; + const isCategory = isX && this.isCategorized(); + const orient = this.orient[id]; + const tickTextRotate = noTickTextRotate ? 0 : $$.getAxisTickRotate(type); + let tickFormat; + if (isX) { + tickFormat = id === "subX" ? $$.format.subXAxisTick : $$.format.xAxisTick; + } else { + const fn = config[`axis_${id}_tick_format`]; + if (isFunction(fn)) { + tickFormat = fn.bind($$.api); + } + } + let tickValues = this.tick[type]; + const axisParams = mergeObj({ + outerTick, + noTransition, + config, + id, + tickTextRotate, + owner: $$ + }, isX && { + isCategory, + isInverted: config.axis_x_inverted, + tickMultiline: config.axis_x_tick_multiline, + tickWidth: config.axis_x_tick_width, + tickTitle: isCategory && config.axis_x_tick_tooltip && $$.api.categories(), + orgXScale: $$.scale.x + }); + if (!isX) { + axisParams.tickStepSize = config[`axis_${type}_tick_stepSize`]; + } + const axis = new AxisRenderer(axisParams).scale(isX && $$.scale.zoom || scale).orient(orient); + if (isX && this.isTimeSeries() && tickValues && !isFunction(tickValues)) { + const fn = parseDate.bind($$); + tickValues = tickValues.map((v) => fn(v)); + } else if (!isX && this.isTimeSeriesY()) { + axis.ticks(config.axis_y_tick_time_value); + tickValues = null; + } + tickValues && axis.tickValues(tickValues); + axis.tickFormat( + tickFormat || !isX && ($$.isStackNormalized() && ((x) => `${x}%`)) + ); + if (isCategory) { + axis.tickCentered(config.axis_x_tick_centered); + if (isEmpty(config.axis_x_tick_culling)) { + config.axis_x_tick_culling = false; + } + } + const tickCount = config[`axis_${type}_tick_count`]; + tickCount && axis.ticks(tickCount); + return axis; + } + updateXAxisTickValues(targets, axis) { + var _a; + const $$ = this.owner; + const { config } = $$; + const fit = config.axis_x_tick_fit; + let count = config.axis_x_tick_count; + let values; + if (fit || count && fit) { + values = $$.mapTargetsToUniqueXs(targets); + if (this.isCategorized() && count > values.length) { + count = values.length; + } + values = this.generateTickValues( + values, + count, + this.isTimeSeries() + ); + } + if (axis) { + axis.tickValues(values); + } else if (this.x) { + this.x.tickValues(values); + (_a = this.subX) == null ? void 0 : _a.tickValues(values); + } + return values; + } + getId(id) { + const { config, scale } = this.owner; + let axis = config.data_axes[id]; + if (!axis || !scale[axis]) { + axis = "y"; + } + return axis; + } + getXAxisTickFormat(forSubchart) { + const $$ = this.owner; + const { config, format } = $$; + const tickFormat = forSubchart ? config.subchart_axis_x_tick_format || config.axis_x_tick_format : config.axis_x_tick_format; + const isTimeSeries = this.isTimeSeries(); + const isCategorized = this.isCategorized(); + let currFormat; + if (tickFormat) { + if (isFunction(tickFormat)) { + currFormat = tickFormat.bind($$.api); + } else if (isTimeSeries) { + currFormat = (date) => date ? format.axisTime(tickFormat)(date) : ""; + } + } else { + currFormat = isTimeSeries ? format.defaultAxisTime : isCategorized ? $$.categoryName : (v) => v < 0 ? v.toFixed(0) : v; + } + return isFunction(currFormat) ? (v) => currFormat.apply($$, isCategorized ? [v, $$.categoryName(v)] : [v]) : currFormat; + } + getTickValues(id) { + const $$ = this.owner; + const tickValues = $$.config[`axis_${id}_tick_values`]; + const axis = $$[`${id}Axis`]; + return (isFunction(tickValues) ? tickValues.call($$.api) : tickValues) || (axis ? axis.tickValues() : void 0); + } + getLabelOptionByAxisId(id) { + return this.owner.config[`axis_${id}_label`]; + } + getLabelText(id) { + const option = this.getLabelOptionByAxisId(id); + return isString(option) ? option : option ? option.text : null; + } + setLabelText(id, text) { + const $$ = this.owner; + const { config } = $$; + const option = this.getLabelOptionByAxisId(id); + if (isString(option)) { + config[`axis_${id}_label`] = text; + } else if (option) { + option.text = text; + } + } + getLabelPosition(id, defaultPosition) { + const isRotated = this.owner.config.axis_rotated; + const option = this.getLabelOptionByAxisId(id); + const position = isObjectType(option) && option.position ? option.position : defaultPosition[+!isRotated]; + const has = (v) => !!~position.indexOf(v); + return { + isInner: has("inner"), + isOuter: has("outer"), + isLeft: has("left"), + isCenter: has("center"), + isRight: has("right"), + isTop: has("top"), + isMiddle: has("middle"), + isBottom: has("bottom") + }; + } + getAxisLabelPosition(id) { + return this.getLabelPosition( + id, + id === "x" ? ["inner-top", "inner-right"] : ["inner-right", "inner-top"] + ); + } + getLabelPositionById(id) { + return this.getAxisLabelPosition(id); + } + xForAxisLabel(id) { + const $$ = this.owner; + const { state: { width, height } } = $$; + const position = this.getAxisLabelPosition(id); + let x = position.isMiddle ? -height / 2 : 0; + if (this.isHorizontal($$, id !== "x")) { + x = position.isLeft ? 0 : position.isCenter ? width / 2 : width; + } else if (position.isBottom) { + x = -height; + } + return x; + } + dxForAxisLabel(id) { + const $$ = this.owner; + const position = this.getAxisLabelPosition(id); + let dx = position.isBottom ? "0.5em" : "0"; + if (this.isHorizontal($$, id !== "x")) { + dx = position.isLeft ? "0.5em" : position.isRight ? "-0.5em" : "0"; + } else if (position.isTop) { + dx = "-0.5em"; + } + return dx; + } + textAnchorForAxisLabel(id) { + const $$ = this.owner; + const position = this.getAxisLabelPosition(id); + let anchor = position.isMiddle ? "middle" : "end"; + if (this.isHorizontal($$, id !== "x")) { + anchor = position.isLeft ? "start" : position.isCenter ? "middle" : "end"; + } else if (position.isBottom) { + anchor = "start"; + } + return anchor; + } + dyForAxisLabel(id) { + const $$ = this.owner; + const { config } = $$; + const isRotated = config.axis_rotated; + const isInner = this.getAxisLabelPosition(id).isInner; + const tickRotate = config[`axis_${id}_tick_rotate`] ? $$.getHorizontalAxisHeight(id) : 0; + const { width: maxTickWidth } = this.getMaxTickSize(id); + let dy; + if (id === "x") { + const xHeight = config.axis_x_height; + if (isRotated) { + dy = isInner ? "1.2em" : -25 - maxTickWidth; + } else if (isInner) { + dy = "-0.5em"; + } else if (xHeight) { + dy = xHeight - 10; + } else if (tickRotate) { + dy = tickRotate - 10; + } else { + dy = "3em"; + } + } else { + dy = { + y: ["-0.5em", 10, "3em", "1.2em", 10], + y2: ["1.2em", -20, "-2.2em", "-0.5em", 15] + }[id]; + if (isRotated) { + if (isInner) { + dy = dy[0]; + } else if (tickRotate) { + dy = tickRotate * (id === "y2" ? -1 : 1) - dy[1]; + } else { + dy = dy[2]; + } + } else { + dy = isInner ? dy[3] : (dy[4] + (config[`axis_${id}_inner`] ? 0 : maxTickWidth + dy[4])) * (id === "y" ? -1 : 1); + } + } + return dy; + } + /** + * Get max tick size + * @param {string} id axis id string + * @param {boolean} withoutRecompute wheather or not to recompute + * @returns {object} {width, height} + * @private + */ + getMaxTickSize(id, withoutRecompute) { + const $$ = this.owner; + const { config, state: { current }, $el: { svg, chart } } = $$; + const currentTickMax = current.maxTickSize[id]; + const configPrefix = `axis_${id}`; + const max = { + width: 0, + height: 0 + }; + if (withoutRecompute || !config[`${configPrefix}_show`] || currentTickMax.width > 0 && $$.filterTargetsToShow().length === 0) { + return currentTickMax; + } + if (svg) { + const isYAxis = /^y2?$/.test(id); + const targetsToShow = $$.filterTargetsToShow($$.data.targets); + const scale = $$.scale[id].copy().domain( + $$[`get${isYAxis ? "Y" : "X"}Domain`](targetsToShow, id) + ); + const domain = scale.domain(); + const isDomainSame = domain[0] === domain[1] && domain.every((v) => v > 0); + const isCurrentMaxTickDomainSame = isArray(currentTickMax.domain) && currentTickMax.domain[0] === currentTickMax.domain[1] && currentTickMax.domain.every((v) => v > 0); + if (isDomainSame || isCurrentMaxTickDomainSame) { + return currentTickMax.size; + } else { + currentTickMax.domain = domain; + } + if (!isYAxis) { + currentTickMax.ticks.splice(0); + } + const axis = this.getAxis(id, scale, false, false, true); + const tickRotate = config[`${configPrefix}_tick_rotate`]; + const tickCount = config[`${configPrefix}_tick_count`]; + const tickValues = config[`${configPrefix}_tick_values`]; + if (!tickValues && tickCount) { + axis.tickValues( + this.generateTickValues( + domain, + tickCount, + isYAxis ? this.isTimeSeriesY() : this.isTimeSeries() + ) + ); + } + !isYAxis && this.updateXAxisTickValues(targetsToShow, axis); + const dummy = chart.append("svg").style("visibility", "hidden").style("position", "fixed").style("top", "0").style("left", "0"); + axis.create(dummy); + dummy.selectAll("text").attr("transform", isNumber(tickRotate) ? `rotate(${tickRotate})` : null).each(function(d, i) { + const { width, height } = this.getBoundingClientRect(); + max.width = Math.max(max.width, width); + max.height = Math.max(max.height, height); + if (!isYAxis) { + currentTickMax.ticks[i] = width; + } + }); + dummy.remove(); + } + Object.keys(max).forEach((key) => { + if (max[key] > 0) { + currentTickMax[key] = max[key]; + } + }); + return currentTickMax; + } + getXAxisTickTextY2Overflow(defaultPadding) { + const $$ = this.owner; + const { axis, config, state: { current, isLegendRight, legendItemWidth } } = $$; + const xAxisTickRotate = $$.getAxisTickRotate("x"); + const positiveRotation = xAxisTickRotate > 0 && xAxisTickRotate < 90; + if ((axis.isCategorized() || axis.isTimeSeries()) && config.axis_x_tick_fit && (!config.axis_x_tick_culling || isEmpty(config.axis_x_tick_culling)) && !config.axis_x_tick_multiline && positiveRotation) { + const y2AxisWidth = config.axis_y2_show && current.maxTickSize.y2.width || 0; + const legendWidth = isLegendRight && legendItemWidth || 0; + const widthWithoutCurrentPaddingLeft = current.width - $$.getCurrentPaddingByDirection("left"); + const maxOverflow = this.getXAxisTickMaxOverflow( + xAxisTickRotate, + widthWithoutCurrentPaddingLeft - defaultPadding + ) - y2AxisWidth - legendWidth; + const xAxisTickTextY2Overflow = Math.max(0, maxOverflow) + defaultPadding; + return Math.min(xAxisTickTextY2Overflow, widthWithoutCurrentPaddingLeft / 2); + } + return 0; + } + getXAxisTickMaxOverflow(xAxisTickRotate, widthWithoutCurrentPaddingLeft) { + const $$ = this.owner; + const { axis, config, state } = $$; + const isTimeSeries = axis.isTimeSeries(); + const tickTextWidths = state.current.maxTickSize.x.ticks; + const tickCount = tickTextWidths.length; + const { left, right } = state.axis.x.padding; + let maxOverflow = 0; + const remaining = tickCount - (isTimeSeries && config.axis_x_tick_fit ? 0.5 : 0); + for (let i = 0; i < tickCount; i++) { + const tickIndex = i + 1; + const rotatedTickTextWidth = Math.cos(Math.PI * xAxisTickRotate / 180) * tickTextWidths[i]; + const ticksBeforeTickText = tickIndex - (isTimeSeries ? 1 : 0.5) + left; + if (ticksBeforeTickText <= 0) { + continue; + } + const xAxisLengthWithoutTickTextWidth = widthWithoutCurrentPaddingLeft - rotatedTickTextWidth; + const tickLength = xAxisLengthWithoutTickTextWidth / ticksBeforeTickText; + const remainingTicks = remaining - tickIndex; + const paddingRightLength = right * tickLength; + const remainingTickWidth = remainingTicks * tickLength + paddingRightLength; + const overflow = rotatedTickTextWidth - tickLength / 2 - remainingTickWidth; + maxOverflow = Math.max(maxOverflow, overflow); + } + const filteredTargets = $$.filterTargetsToShow($$.data.targets); + let tickOffset = 0; + if (!isTimeSeries && config.axis_x_tick_count <= filteredTargets.length && filteredTargets[0].values.length) { + const scale = getScale( + $$.axis.getAxisType("x"), + 0, + widthWithoutCurrentPaddingLeft - maxOverflow + ).domain([ + left * -1, + $$.getXDomainMax($$.data.targets) + 1 + right + ]); + tickOffset = (scale(1) - scale(0)) / 2; + } + return maxOverflow + tickOffset; + } + updateLabels(withTransition) { + const $$ = this.owner; + const { $el: { main }, $T } = $$; + const labels = { + x: main.select(`.${$AXIS.axisX} .${$AXIS.axisXLabel}`), + y: main.select(`.${$AXIS.axisY} .${$AXIS.axisYLabel}`), + y2: main.select(`.${$AXIS.axisY2} .${$AXIS.axisY2Label}`) + }; + Object.keys(labels).filter((id) => !labels[id].empty()).forEach((v) => { + const node = labels[v]; + $T(node, withTransition).attr("x", () => this.xForAxisLabel(v)).attr("dx", () => this.dxForAxisLabel(v)).attr("dy", () => this.dyForAxisLabel(v)).text(() => this.getLabelText(v)); + }); + } + /** + * Get axis padding value + * @param {number|object} padding Padding object + * @param {string} key Key string of padding + * @param {Date|number} defaultValue Default value + * @param {number} domainLength Domain length + * @returns {number} Padding value in scale + * @private + */ + getPadding(padding, key, defaultValue, domainLength) { + const p = isNumber(padding) ? padding : padding[key]; + if (!isValue(p)) { + return defaultValue; + } + return this.owner.convertPixelToScale( + /(bottom|top)/.test(key) ? "y" : "x", + p, + domainLength + ); + } + generateTickValues(values, tickCount, forTimeSeries) { + let tickValues = values; + if (tickCount) { + const targetCount = isFunction(tickCount) ? tickCount() : tickCount; + if (targetCount === 1) { + tickValues = [values[0]]; + } else if (targetCount === 2) { + tickValues = [values[0], values[values.length - 1]]; + } else if (targetCount > 2) { + const isCategorized = this.isCategorized(); + const count = targetCount - 2; + const start = values[0]; + const end = values[values.length - 1]; + const interval = (end - start) / (count + 1); + let tickValue; + tickValues = [start]; + for (let i = 0; i < count; i++) { + tickValue = +start + interval * (i + 1); + tickValues.push( + forTimeSeries ? new Date(tickValue) : isCategorized ? Math.round(tickValue) : tickValue + ); + } + tickValues.push(end); + } + } + if (!forTimeSeries) { + tickValues = tickValues.sort((a, b) => a - b); + } + return tickValues; + } + generateTransitions(withTransition) { + const $$ = this.owner; + const { $el: { axis }, $T } = $$; + const [axisX, axisY, axisY2, axisSubX] = ["x", "y", "y2", "subX"].map((v) => $T(axis[v], withTransition)); + return { axisX, axisY, axisY2, axisSubX }; + } + redraw(transitions, isHidden, isInit) { + const $$ = this.owner; + const { config, $el } = $$; + const opacity = isHidden ? "0" : null; + ["x", "y", "y2", "subX"].forEach((id) => { + const axis = this[id]; + const $axis = $el.axis[id]; + if (axis && $axis) { + if (!isInit && !config.transition_duration) { + axis.config.withoutTransition = true; + } + $axis.style("opacity", opacity); + axis.create(transitions[`axis${capitalize(id)}`]); + } + }); + this.updateAxes(); + } + /** + * Redraw axis + * @param {Array} targetsToShow targets data to be shown + * @param {object} wth option object + * @param {d3.Transition} transitions Transition object + * @param {object} flow flow object + * @param {boolean} isInit called from initialization + * @private + */ + redrawAxis(targetsToShow, wth, transitions, flow, isInit) { + var _a, _b, _c; + const $$ = this.owner; + const { config, scale, $el } = $$; + const hasZoom = !!scale.zoom; + let xDomainForZoom; + if (!hasZoom && this.isCategorized() && targetsToShow.length === 0) { + scale.x.domain([0, $el.axis.x.selectAll(".tick").size()]); + } + if (scale.x && targetsToShow.length) { + !hasZoom && $$.updateXDomain( + targetsToShow, + wth.UpdateXDomain, + wth.UpdateOrgXDomain, + wth.TrimXDomain + ); + if (!config.axis_x_tick_values) { + this.updateXAxisTickValues(targetsToShow); + } + } else if (this.x) { + this.x.tickValues([]); + (_a = this.subX) == null ? void 0 : _a.tickValues([]); + } + if (config.zoom_rescale && !flow) { + xDomainForZoom = scale.x.orgDomain(); + } + ["y", "y2"].forEach((key) => { + const prefix = `axis_${key}_`; + const axisScale = scale[key]; + if (axisScale) { + const tickValues = config[`${prefix}tick_values`]; + const tickCount = config[`${prefix}tick_count`]; + axisScale.domain($$.getYDomain(targetsToShow, key, xDomainForZoom)); + if (!tickValues && tickCount) { + const axis = $$.axis[key]; + const domain = axisScale.domain(); + axis.tickValues( + this.generateTickValues( + domain, + domain.every((v) => v === 0) ? 1 : tickCount, + this.isTimeSeriesY() + ) + ); + } + } + }); + this.redraw(transitions, $$.hasArcType(), isInit); + this.updateLabels(wth.Transition); + if ((wth.UpdateXDomain || wth.UpdateXAxis || wth.Y) && targetsToShow.length) { + this.setCulling(); + } + if (wth.Y) { + (_b = scale.subY) == null ? void 0 : _b.domain($$.getYDomain(targetsToShow, "y")); + (_c = scale.subY2) == null ? void 0 : _c.domain($$.getYDomain(targetsToShow, "y2")); + } + } + /** + * Set manual culling + * @private + */ + setCulling() { + const $$ = this.owner; + const { config, state: { clip, current }, $el } = $$; + ["subX", "x", "y", "y2"].forEach((type) => { + const axis = $el.axis[type]; + const id = type === "subX" ? "x" : type; + const cullingOptionPrefix = `axis_${id}_tick_culling`; + const toCull = config[cullingOptionPrefix]; + if (axis && toCull) { + const tickNodes = axis.selectAll(".tick"); + const tickValues = sortValue(tickNodes.data()); + const tickSize = tickValues.length; + const cullingMax = config[`${cullingOptionPrefix}_max`]; + const lines = config[`${cullingOptionPrefix}_lines`]; + let intervalForCulling; + if (tickSize) { + for (let i = 1; i < tickSize; i++) { + if (tickSize / i < cullingMax) { + intervalForCulling = i; + break; + } + } + tickNodes.each(function(d) { + const node = lines ? this.querySelector("text") : this; + if (node) { + node.style.display = tickValues.indexOf(d) % intervalForCulling ? "none" : null; + } + }); + } else { + tickNodes.style("display", null); + } + if (type === "x") { + const clipPath = current.maxTickSize.x.clipPath ? clip.pathXAxisTickTexts : null; + $el.svg.selectAll(`.${$AXIS.axisX} .tick text`).attr("clip-path", clipPath); + } + } + }); + } + /** + * Set axis tooltip + * @private + */ + setAxisTooltip() { + var _a; + const $$ = this.owner; + const { config: { axis_rotated: isRotated, axis_tooltip }, $el: { axis, axisTooltip } } = $$; + const bgColor = (_a = axis_tooltip.backgroundColor) != null ? _a : "black"; + $$.generateTextBGColorFilter( + bgColor, + { + x: -0.15, + y: -0.2, + width: 1.3, + height: 1.3 + } + ); + ["x", "y", "y2"].forEach((v) => { + var _a2, _b, _c; + axisTooltip[v] = (_a2 = axis[v]) == null ? void 0 : _a2.append("text").classed($AXIS[`axis${v.toUpperCase()}Tooltip`], true).attr("filter", $$.updateTextBGColor({ id: v }, bgColor)); + if (isRotated) { + const pos = v === "x" ? "x" : "y"; + const val = v === "y" ? "1.15em" : v === "x" ? "-0.3em" : "-0.4em"; + (_b = axisTooltip[v]) == null ? void 0 : _b.attr(pos, val).attr(`d${v === "x" ? "y" : "x"}`, v === "x" ? "0.4em" : "-1.3em").style("text-anchor", v === "x" ? "end" : null); + } else { + const pos = v === "x" ? "y" : "x"; + const val = v === "x" ? "1.15em" : `${v === "y" ? "-" : ""}0.4em`; + (_c = axisTooltip[v]) == null ? void 0 : _c.attr(pos, val).attr(`d${v === "x" ? "x" : "y"}`, v === "x" ? "-1em" : "0.3em").style("text-anchor", v === "y" ? "end" : null); + } + }); + } +} + +;// ./src/ChartInternal/interactions/eventrect.ts + + +/* harmony default export */ var eventrect = ({ + /** + * Initialize the area that detects the event. + * Add a container for the zone that detects the event. + * @private + */ + initEventRect() { + const $$ = this; + $$.$el.main.select(`.${$COMMON.chart}`).append("g").attr("class", $EVENT.eventRects).style("fill-opacity", "0"); + }, + /** + * Redraws the area that detects the event. + * @private + */ + redrawEventRect() { + var _a; + const $$ = this; + const { config, state, $el } = $$; + const isMultipleX = $$.isMultipleX(); + const isInverted = config.axis_x_inverted; + if ($el.eventRect) { + $$.updateEventRect($el.eventRect, true); + } else if ($$.data.targets.length) { + const eventRects = $$.$el.main.select(`.${$EVENT.eventRects}`).style("cursor", config.zoom_enabled && config.zoom_type !== "drag" ? config.axis_rotated ? "ns-resize" : "ew-resize" : null).classed($EVENT.eventRectsMultiple, isMultipleX).classed($EVENT.eventRectsSingle, !isMultipleX); + const eventRectUpdate = eventRects.selectAll(`.${$EVENT.eventRect}`).data([0]).enter().append("rect"); + $$.updateEventRect(eventRectUpdate); + $$.updateEventType(eventRectUpdate); + eventRectUpdate.call($$.getDraggableSelection()); + $el.eventRect = eventRectUpdate; + if ($$.state.inputType === "touch" && !$el.svg.on("touchstart.eventRect") && !$$.hasArcType()) { + $$.bindTouchOnEventRect(); + } + state.rendered && $$.updateEventRect($el.eventRect, true); + } + if (!isMultipleX) { + const xAxisTickValues = $$.getMaxDataCountTarget(); + if (!config.data_xSort || isInverted) { + xAxisTickValues.sort((a, b) => isInverted ? b.x - a.x : a.x - b.x); + } + $$.updateDataIndexByX(xAxisTickValues); + $$.updateXs(xAxisTickValues); + (_a = $$.updatePointClass) == null ? void 0 : _a.call($$, true); + state.eventReceiver.data = xAxisTickValues; + } + $$.updateEventRectData(); + }, + bindTouchOnEventRect() { + const $$ = this; + const { config, state, $el: { eventRect, svg } } = $$; + const selectRect = (context) => { + if ($$.isMultipleX()) { + $$.selectRectForMultipleXs(context); + } else { + const index = $$.getDataIndexFromEvent(state.event); + $$.callOverOutForTouch(index); + index === -1 ? $$.unselectRect() : $$.selectRectForSingle(context, index); + } + }; + const unselectRect = () => { + $$.unselectRect(); + $$.callOverOutForTouch(); + }; + const preventDefault = config.interaction_inputType_touch.preventDefault; + const isPrevented = isBoolean(preventDefault) && preventDefault || false; + const preventThreshold = !isNaN(preventDefault) && preventDefault || null; + let startPx; + const preventEvent = (event) => { + const eventType = event.type; + const touch = event.changedTouches[0]; + const currentXY = touch[`client${config.axis_rotated ? "Y" : "X"}`]; + if (eventType === "touchstart") { + if (isPrevented) { + event.preventDefault(); + } else if (preventThreshold !== null) { + startPx = currentXY; + } + } else if (eventType === "touchmove") { + if (isPrevented || startPx === true || preventThreshold !== null && Math.abs(startPx - currentXY) >= preventThreshold) { + startPx = true; + event.preventDefault(); + } + } + }; + eventRect.on("touchstart", (event) => { + state.event = event; + $$.updateEventRect(); + }).on("touchstart.eventRect touchmove.eventRect", (event) => { + state.event = event; + if (!eventRect.empty() && eventRect.classed($EVENT.eventRect)) { + if (state.dragging || state.flowing || $$.hasArcType() || event.touches.length > 1) { + return; + } + preventEvent(event); + selectRect(eventRect.node()); + } else { + unselectRect(); + } + }, true).on("touchend.eventRect", (event) => { + state.event = event; + if (!eventRect.empty() && eventRect.classed($EVENT.eventRect)) { + if ($$.hasArcType() || !$$.toggleShape || state.cancelClick) { + state.cancelClick && (state.cancelClick = false); + } + } + }, true); + svg.on("touchstart", (event) => { + state.event = event; + const { target } = event; + if (target && target !== eventRect.node()) { + unselectRect(); + } + }); + }, + /** + * Update event rect size + * @param {d3Selection} eventRect Event <rect> element + * @param {boolean} force Force to update + * @private + */ + updateEventRect(eventRect, force = false) { + const $$ = this; + const { state, $el } = $$; + const { eventReceiver, width, height, rendered, resizing } = state; + const rectElement = eventRect || $el.eventRect; + const updateClientRect = () => { + if (eventReceiver) { + const scrollPos = getScrollPosition($el.chart.node()); + eventReceiver.rect = rectElement.node().getBoundingClientRect().toJSON(); + eventReceiver.rect.top += scrollPos.y; + eventReceiver.rect.left += scrollPos.x; + } + }; + if (!rendered || resizing || force) { + rectElement.attr("x", 0).attr("y", 0).attr("width", width).attr("height", height); + if (!rendered || force) { + rectElement.classed($EVENT.eventRect, true); + } + } + updateClientRect(); + }, + /** + * Update event type (single or multiple x) + * @param {d3Selection | boolean} target Target element or boolean to rebind event + */ + updateEventType(target) { + const $$ = this; + const isRebindCall = isBoolean(target); + const eventRect = isRebindCall ? $$.$el.eventRect : target; + const unbindEvent = isRebindCall ? target !== (eventRect == null ? void 0 : eventRect.datum().multipleX) : false; + if (eventRect) { + unbindEvent && (eventRect == null ? void 0 : eventRect.on("mouseover mousemove mouseout click", null)); + $$.isMultipleX() ? $$.generateEventRectsForMultipleXs(eventRect) : $$.generateEventRectsForSingleX(eventRect); + } + }, + /** + * Updates the location and size of the eventRect. + * @private + */ + updateEventRectData() { + const $$ = this; + const { config, scale, state } = $$; + const xScale = scale.zoom || scale.x; + const isRotated = config.axis_rotated; + const isMultipleX = $$.isMultipleX(); + let x; + let y; + let w; + let h; + $$.updateEventType(isMultipleX); + if (isMultipleX) { + x = 0; + y = 0; + w = state.width; + h = state.height; + } else { + let rectW; + let rectX; + if ($$.axis.isCategorized()) { + rectW = $$.getEventRectWidth(); + rectX = (d) => xScale(d.x) - rectW / 2; + } else { + const getPrevNextX = ({ index }) => ({ + prev: $$.getPrevX(index), + next: $$.getNextX(index) + }); + rectW = (d) => { + const x2 = getPrevNextX(d); + const xDomain = xScale.domain(); + let val; + if (x2.prev === null && x2.next === null) { + val = isRotated ? state.height : state.width; + } else if (x2.prev === null) { + val = (xScale(x2.next) + xScale(d.x)) / 2; + } else if (x2.next === null) { + val = xScale(xDomain[1]) - (xScale(x2.prev) + xScale(d.x)) / 2; + } else { + Object.keys(x2).forEach((key, i) => { + var _a; + x2[key] = (_a = x2[key]) != null ? _a : xDomain[i]; + }); + val = Math.max(0, (xScale(x2.next) - xScale(x2.prev)) / 2); + } + return val; + }; + rectX = (d) => { + const x2 = getPrevNextX(d); + let val; + if (x2.prev === null && x2.next === null) { + val = 0; + } else if (x2.prev === null) { + val = xScale(xScale.domain()[0]); + } else { + val = (xScale(d.x) + xScale(x2.prev)) / 2; + } + return val; + }; + } + x = isRotated ? 0 : rectX; + y = isRotated ? rectX : 0; + w = isRotated ? state.width : rectW; + h = isRotated ? rectW : state.height; + } + const { eventReceiver } = state; + const call = (fn, v) => isFunction(fn) ? fn(v) : fn; + eventReceiver.coords.splice(eventReceiver.data.length); + eventReceiver.data.forEach((d, i) => { + eventReceiver.coords[i] = { + x: call(x, d), + y: call(y, d), + w: call(w, d), + h: call(h, d) + }; + }); + }, + /** + * Seletct rect for single x value + * @param {d3Selection} context Event rect element + * @param {number} index x Axis index + * @private + */ + selectRectForSingle(context, index) { + var _a, _b; + const $$ = this; + const { config, $el: { main, circle } } = $$; + const isSelectionEnabled = config.data_selection_enabled; + const isSelectionGrouped = config.data_selection_grouped; + const isSelectable = config.data_selection_isselectable; + const isTooltipGrouped = config.tooltip_grouped; + const selectedData = $$.getAllValuesOnIndex(index); + if (isTooltipGrouped) { + $$.showTooltip(selectedData, context); + (_a = $$.showGridFocus) == null ? void 0 : _a.call($$, selectedData); + if (!isSelectionEnabled || isSelectionGrouped) { + return; + } + } + !circle && main.selectAll(`.${$COMMON.EXPANDED}:not(.${$SHAPE.shape}-${index})`).classed( + $COMMON.EXPANDED, + false + ); + const shapeAtIndex = main.selectAll(`.${$SHAPE.shape}-${index}`).classed($COMMON.EXPANDED, true).style("cursor", isSelectable ? "pointer" : null).filter(function(d) { + return $$.isWithinShape(this, d); + }); + if (shapeAtIndex.empty() && !isTooltipGrouped && config.interaction_onout) { + (_b = $$.hideGridFocus) == null ? void 0 : _b.call($$); + $$.hideTooltip(); + !isSelectionGrouped && $$.setExpand(index); + } + shapeAtIndex.call((selected) => { + var _a2, _b2; + const d = selected.data(); + if (isSelectionEnabled && (isSelectionGrouped || (isSelectable == null ? void 0 : isSelectable.bind($$.api)(d)))) { + context.style.cursor = "pointer"; + } + if (!isTooltipGrouped) { + $$.showTooltip(d, context); + (_a2 = $$.showGridFocus) == null ? void 0 : _a2.call($$, d); + (_b2 = $$.unexpandCircles) == null ? void 0 : _b2.call($$); + selected.each((d2) => $$.setExpand(index, d2.id)); + } + }); + }, + /** + * Select rect for multiple x values + * @param {d3Selection} context Event rect element + * @param {boolean} [triggerEvent=true] Whether trigger event or not + * @private + */ + selectRectForMultipleXs(context, triggerEvent = true) { + const $$ = this; + const { config, state } = $$; + const targetsToShow = $$.filterTargetsToShow($$.data.targets); + if (state.dragging || $$.hasArcType(targetsToShow)) { + return; + } + const mouse = getPointer(state.event, context); + const closest = $$.findClosestFromTargets(targetsToShow, mouse); + if (triggerEvent && state.mouseover && (!closest || closest.id !== state.mouseover.id)) { + config.data_onout.call($$.api, state.mouseover); + state.mouseover = void 0; + } + if (!closest) { + $$.unselectRect(); + return; + } + const sameXData = $$.isBubbleType(closest) || $$.isScatterType(closest) || !config.tooltip_grouped ? [closest] : $$.filterByX(targetsToShow, closest.x); + const selectedData = sameXData.map((d) => $$.addName(d)); + $$.showTooltip(selectedData, context); + $$.setExpand(closest.index, closest.id, true); + $$.showGridFocus(selectedData); + const dist = $$.dist(closest, mouse); + if ($$.isBarType(closest.id) || dist < $$.getPointSensitivity(closest)) { + $$.$el.svg.select(`.${$EVENT.eventRect}`).style("cursor", "pointer"); + if (triggerEvent && !state.mouseover) { + config.data_onover.call($$.api, closest); + state.mouseover = closest; + } + } + }, + /** + * Unselect EventRect. + * @private + */ + unselectRect() { + const $$ = this; + const { $el: { circle, tooltip } } = $$; + $$.$el.svg.select(`.${$EVENT.eventRect}`).style("cursor", null); + $$.hideGridFocus(); + if (tooltip) { + $$.hideTooltip(); + $$._handleLinkedCharts(false); + } + circle && !$$.isPointFocusOnly() && $$.unexpandCircles(); + $$.expandBarTypeShapes(false); + }, + /** + * Create eventRect for each data on the x-axis. + * Register touch and drag events. + * @param {object} eventRectEnter d3.select($EVENT.eventRects) object. + * @returns {object} d3.select($EVENT.eventRects) object. + * @private + */ + generateEventRectsForSingleX(eventRectEnter) { + const $$ = this; + const { config, state } = $$; + const { eventReceiver } = state; + const rect = eventRectEnter.style( + "cursor", + config.data_selection_enabled && config.data_selection_grouped ? "pointer" : null + ).on("click", function(event) { + state.event = event; + const { currentIdx, data } = eventReceiver; + const d = data[currentIdx === -1 ? $$.getDataIndexFromEvent(event) : currentIdx]; + $$.clickHandlerForSingleX.bind(this)(d, $$); + }).datum({ multipleX: false }); + if (state.inputType === "mouse") { + const getData = (event) => { + const index = event ? $$.getDataIndexFromEvent(event) : eventReceiver.currentIdx; + return index > -1 ? eventReceiver.data[index] : null; + }; + rect.on("mouseover", (event) => { + state.event = event; + $$.updateEventRect(); + Object.values($$.$el.axisTooltip).forEach((v) => v == null ? void 0 : v.style("display", null)); + }).on("mousemove", function(event) { + const d = getData(event); + state.event = event; + if (!d) { + return; + } + let { index } = d; + const stepType = config.line_step_type; + if (config.line_step_tooltipMatch && $$.hasType("step") && /^step\-(before|after)$/.test(stepType)) { + const scale = $$.scale.zoom || $$.scale.x; + const xs = $$.axis.xs[index]; + const inverted = scale.invert(getPointer(event, this)[0]); + if (stepType === "step-after" && inverted < xs) { + index -= 1; + } else if (stepType === "step-before" && inverted > xs) { + index += 1; + } + } + $$.showAxisGridFocus(); + const eventOnSameIdx = config.tooltip_grouped && index === eventReceiver.currentIdx; + if (state.dragging || state.flowing || $$.hasArcType() || eventOnSameIdx) { + config.tooltip_show && eventOnSameIdx && $$.setTooltipPosition(); + return; + } + if (index !== eventReceiver.currentIdx) { + $$.setOverOut(false, eventReceiver.currentIdx); + eventReceiver.currentIdx = index; + } + index === -1 ? $$.unselectRect() : $$.selectRectForSingle(this, index); + $$.setOverOut(index !== -1, index); + }).on("mouseout", (event) => { + state.event = event; + if (!config || $$.hasArcType() || eventReceiver.currentIdx === -1 || !config.interaction_onout) { + return; + } + $$.hideAxisGridFocus(); + $$.unselectRect(); + $$.setOverOut(false, eventReceiver.currentIdx); + eventReceiver.currentIdx = -1; + }); + } + return rect; + }, + clickHandlerForSingleX(d, ctx) { + const $$ = ctx; + const { config, state, $el: { main } } = $$; + if (!d || $$.hasArcType() || state.cancelClick) { + state.cancelClick && (state.cancelClick = false); + return; + } + const { index } = d; + main.selectAll(`.${$SHAPE.shape}-${index}`).each(function(d2) { + var _a; + if (config.data_selection_grouped || $$.isWithinShape(this, d2)) { + (_a = $$.toggleShape) == null ? void 0 : _a.call($$, this, d2, index); + config.data_onclick.bind($$.api)(d2, this); + } + }); + }, + /** + * Create an eventRect, + * Register touch and drag events. + * @param {object} eventRectEnter d3.select($EVENT.eventRects) object. + * @private + */ + generateEventRectsForMultipleXs(eventRectEnter) { + const $$ = this; + const { config, state } = $$; + eventRectEnter.on("click", function(event) { + state.event = event; + $$.clickHandlerForMultipleXS.bind(this)($$); + }).datum({ multipleX: true }); + if (state.inputType === "mouse") { + eventRectEnter.on("mouseover mousemove", function(event) { + state.event = event; + $$.selectRectForMultipleXs(this); + }).on("mouseout", (event) => { + state.event = event; + if (!$$.config || $$.hasArcType() || !config.interaction_onout) { + return; + } + $$.unselectRect(); + }); + } + }, + clickHandlerForMultipleXS(ctx) { + const $$ = ctx; + const { config, state } = $$; + const targetsToShow = $$.filterTargetsToShow($$.data.targets); + if ($$.hasArcType(targetsToShow)) { + return; + } + const mouse = getPointer(state.event, this); + const closest = $$.findClosestFromTargets(targetsToShow, mouse); + const sensitivity = $$.getPointSensitivity(closest); + if (!closest) { + return; + } + if ($$.isBarType(closest.id) || $$.dist(closest, mouse) < sensitivity) { + $$.$el.main.selectAll(`.${$SHAPE.shapes}${$$.getTargetSelectorSuffix(closest.id)}`).selectAll(`.${$SHAPE.shape}-${closest.index}`).each(function() { + var _a; + if (config.data_selection_grouped || $$.isWithinShape(this, closest)) { + (_a = $$.toggleShape) == null ? void 0 : _a.call($$, this, closest, closest.index); + config.data_onclick.bind($$.api)(closest, this); + } + }); + } + } +}); + +;// ./node_modules/d3-ease/src/linear.js +const src_linear_linear = (t) => +t; + +;// ./src/ChartInternal/interactions/flow.ts + + + + +/* harmony default export */ var interactions_flow = ({ + /** + * Generate flow + * @param {object} args option object + * @returns {Function} + * @private + */ + generateFlow(args) { + const $$ = this; + const { data, state, $el } = $$; + return function() { + const flowLength = args.flow.length; + state.flowing = true; + data.targets.forEach((d) => { + d.values.splice(0, flowLength); + }); + if ($$.updateXGrid) { + $$.updateXGrid(true); + } + const elements = {}; + [ + "axis.x", + "grid.x", + "gridLines.x", + "region.list", + "text", + "bar", + "line", + "area", + "circle" + ].forEach((v) => { + const name = v.split("."); + let node = $el[name[0]]; + if (node && name.length > 1) { + node = node[name[1]]; + } + if (node == null ? void 0 : node.size()) { + elements[v] = node; + } + }); + $$.hideGridFocus(); + $$.setFlowList(elements, args); + }; + }, + /** + * Set flow list + * @param {object} elements Target elements + * @param {object} args option object + * @private + */ + setFlowList(elements, args) { + const $$ = this; + const { flow, targets } = args; + const { + duration = args.duration, + index: flowIndex, + length: flowLength, + orgDataCount + } = flow; + const transform = $$.getFlowTransform(targets, orgDataCount, flowIndex, flowLength); + const wait = generateWait(); + let n; + wait.add(Object.keys(elements).map((v) => { + n = elements[v].transition().ease(src_linear_linear).duration(duration); + if (v === "axis.x") { + n = n.call((g) => { + $$.axis.x.setTransition(g).create(g); + }); + } else if (v === "region.list") { + n = n.filter($$.isRegionOnX).attr("transform", transform); + } else { + n = n.attr("transform", transform); + } + return n; + })); + n.call(wait, () => { + $$.cleanUpFlow(elements, args); + }); + }, + /** + * Clean up flow + * @param {object} elements Target elements + * @param {object} args option object + * @private + */ + cleanUpFlow(elements, args) { + const $$ = this; + const { config, state, $el: { svg } } = $$; + const isRotated = config.axis_rotated; + const { flow, shape, xv } = args; + const { cx, cy, xForText, yForText } = shape.pos; + const { + done = () => { + }, + length: flowLength + } = flow; + if (flowLength) { + ["circle", "text", "shape", "eventRect"].forEach((v) => { + const target = []; + for (let i = 0; i < flowLength; i++) { + target.push(`.${classes[v]}-${i}`); + } + svg.selectAll(`.${classes[`${v}s`]}`).selectAll(target).remove(); + }); + svg.select(`.${classes.xgrid}`).remove(); + } + Object.keys(elements).forEach((v) => { + const n = elements[v]; + if (v !== "axis.x") { + n.attr("transform", null); + } + if (v === "grid.x") { + n.attr(state.xgridAttr); + } else if (v === "gridLines.x") { + n.attr("x1", isRotated ? 0 : xv).attr("x2", isRotated ? state.width : xv); + n.select("text").attr("x", isRotated ? state.width : 0).attr("y", xv); + } else if (/^(area|bar|line)$/.test(v)) { + n.attr("d", shape.type[v]); + } else if (v === "text") { + n.attr("x", xForText).attr("y", yForText).style("fill-opacity", $$.opacityForText.bind($$)); + } else if (v === "circle") { + if ($$.isCirclePoint()) { + n.attr("cx", cx).attr("cy", cy); + } else { + const xFunc = (d) => cx(d) - config.point_r; + const yFunc = (d) => cy(d) - config.point_r; + n.attr("x", xFunc).attr("y", yFunc); + } + } else if (v === "region.list") { + n.select("rect").filter($$.isRegionOnX).attr("x", $$.regionX.bind($$)).attr("width", $$.regionWidth.bind($$)); + } + }); + config.interaction_enabled && $$.redrawEventRect(); + done.call($$.api); + state.flowing = false; + }, + /** + * Get flow transform value + * @param {object} targets target + * @param {number} orgDataCount original data count + * @param {number} flowIndex flow index + * @param {number} flowLength flow length + * @returns {string} + * @private + */ + getFlowTransform(targets, orgDataCount, flowIndex, flowLength) { + const $$ = this; + const { data, scale: { x } } = $$; + const dataValues = data.targets[0].values; + let flowStart = $$.getValueOnIndex(dataValues, flowIndex); + let flowEnd = $$.getValueOnIndex(dataValues, flowIndex + flowLength); + let translateX; + const orgDomain = x.domain(); + const domain = $$.updateXDomain(targets, true, true); + if (!orgDataCount) { + if (dataValues.length !== 1) { + translateX = x(orgDomain[0]) - x(domain[0]); + } else { + if ($$.axis.isTimeSeries()) { + flowStart = $$.getValueOnIndex(dataValues, 0); + flowEnd = $$.getValueOnIndex(dataValues, dataValues.length - 1); + translateX = x(flowStart.x) - x(flowEnd.x); + } else { + translateX = diffDomain(domain) / 2; + } + } + } else if (orgDataCount === 1 || (flowStart == null ? void 0 : flowStart.x) === (flowEnd == null ? void 0 : flowEnd.x)) { + translateX = x(orgDomain[0]) - x(domain[0]); + } else { + translateX = $$.axis.isTimeSeries() ? x(orgDomain[0]) - x(domain[0]) : x((flowStart == null ? void 0 : flowStart.x) || 0) - x(flowEnd.x); + } + const scaleX = diffDomain(orgDomain) / diffDomain(domain); + return `translate(${translateX},0) scale(${scaleX},1)`; + } +}); + +;// ./src/ChartInternal/internals/clip.ts +/* harmony default export */ var clip = ({ + initClip() { + const $$ = this; + const { clip, datetimeId } = $$.state; + clip.id = `${datetimeId}-clip`; + clip.idXAxis = `${clip.id}-xaxis`; + clip.idYAxis = `${clip.id}-yaxis`; + clip.idGrid = `${clip.id}-grid`; + clip.path = $$.getClipPath(clip.id); + clip.pathXAxis = $$.getClipPath(clip.idXAxis); + clip.pathYAxis = $$.getClipPath(clip.idYAxis); + clip.pathGrid = $$.getClipPath(clip.idGrid); + }, + getClipPath(id) { + const $$ = this; + const { config } = $$; + if (!config.clipPath && /-clip$/.test(id) || !config.axis_x_clipPath && /-clip-xaxis$/.test(id) || !config.axis_y_clipPath && /-clip-yaxis$/.test(id)) { + return null; + } + return `url(#${id})`; + }, + appendClip(parent, id) { + id && parent.append("clipPath").attr("id", id).append("rect"); + }, + /** + * Set x Axis clipPath dimension + * @param {d3Selecton} node clipPath <rect> selection + * @private + */ + setXAxisClipPath(node) { + const $$ = this; + const { config, state: { margin, width, height } } = $$; + const isRotated = config.axis_rotated; + const left = Math.max(30, margin.left) - (isRotated ? 0 : 20); + const h = (isRotated ? margin.top + height + 10 : margin.bottom) + 20; + const x = isRotated ? -(1 + left) : -(left - 1); + const y = -15; + const w = isRotated ? margin.left + 20 : width + 10 + left; + node.attr("x", x).attr("y", y).attr("width", w).attr("height", h); + }, + /** + * Set y Axis clipPath dimension + * @param {d3Selection} node clipPath <rect> selection + * @private + */ + setYAxisClipPath(node) { + const $$ = this; + const { config, state: { margin, width, height } } = $$; + const isRotated = config.axis_rotated; + const left = Math.max(30, margin.left) - (isRotated ? 20 : 0); + const isInner = config.axis_y_inner; + const x = isInner && !isRotated ? config.axis_y_label.text ? -20 : -1 : isRotated ? -(1 + left) : -(left - 1); + const y = -(isRotated ? 20 : margin.top); + const w = (isRotated ? width + 15 + left : margin.left + 20) + (isInner ? 20 : 0); + const h = (isRotated ? margin.bottom + 10 : margin.top + height) + 10; + node.attr("x", x).attr("y", y).attr("width", w).attr("height", h); + }, + updateXAxisTickClip() { + const $$ = this; + const { config, state: { clip, xAxisHeight }, $el: { defs } } = $$; + const newXAxisHeight = $$.getHorizontalAxisHeight("x"); + if (defs && !clip.idXAxisTickTexts) { + const clipId = `${clip.id}-xaxisticktexts`; + $$.appendClip(defs, clipId); + clip.pathXAxisTickTexts = $$.getClipPath(clip.idXAxisTickTexts); + clip.idXAxisTickTexts = clipId; + } + if (!config.axis_x_tick_multiline && $$.getAxisTickRotate("x") && newXAxisHeight !== xAxisHeight) { + $$.setXAxisTickClipWidth(); + $$.setXAxisTickTextClipPathWidth(); + } + $$.state.xAxisHeight = newXAxisHeight; + }, + setXAxisTickClipWidth() { + const $$ = this; + const { config, state: { current: { maxTickSize } } } = $$; + const xAxisTickRotate = $$.getAxisTickRotate("x"); + if (!config.axis_x_tick_multiline && xAxisTickRotate) { + const sinRotation = Math.sin(Math.PI / 180 * Math.abs(xAxisTickRotate)); + maxTickSize.x.clipPath = ($$.getHorizontalAxisHeight("x") - 20) / sinRotation; + } else { + maxTickSize.x.clipPath = null; + } + }, + setXAxisTickTextClipPathWidth() { + const $$ = this; + const { state: { clip, current }, $el: { svg } } = $$; + if (svg) { + svg.select(`#${clip.idXAxisTickTexts} rect`).attr("width", current.maxTickSize.x.clipPath).attr("height", 30); + } + } +}); + +;// ./src/ChartInternal/internals/grid.ts + + + +const getGridTextAnchor = (d) => isValue(d.position) || "end"; +const getGridTextDx = (d) => d.position === "start" ? 4 : d.position === "middle" ? 0 : -4; +function getGridTextX(isX, width, height) { + return (d) => { + let x = isX ? 0 : width; + if (d.position === "start") { + x = isX ? -height : 0; + } else if (d.position === "middle") { + x = (isX ? -height : width) / 2; + } + return x; + }; +} +function smoothLines(el, type) { + if (type === "grid") { + el.each(function() { + const g = src_select(this); + ["x1", "x2", "y1", "y2"].forEach((v) => g.attr(v, +g.attr(v))); + }); + } +} +/* harmony default export */ var internals_grid = ({ + hasGrid() { + const { config } = this; + return ["x", "y"].some((v) => config[`grid_${v}_show`] || config[`grid_${v}_lines`].length); + }, + initGrid() { + const $$ = this; + $$.hasGrid() && $$.initGridLines(); + $$.initFocusGrid(); + }, + initGridLines() { + const $$ = this; + const { config, state: { clip }, $el } = $$; + if (config.grid_x_lines.length || config.grid_y_lines.length) { + $el.gridLines.main = $el.main.insert( + "g", + `.${$COMMON.chart}${config.grid_lines_front ? " + *" : ""}` + ).attr("clip-path", clip.pathGrid).attr("class", `${$GRID.grid} ${$GRID.gridLines}`); + $el.gridLines.main.append("g").attr("class", $GRID.xgridLines); + $el.gridLines.main.append("g").attr("class", $GRID.ygridLines); + $el.gridLines.x = src_selectAll([]); + } + }, + updateXGrid(withoutUpdate) { + const $$ = this; + const { config, scale, state, $el: { main, grid } } = $$; + const isRotated = config.axis_rotated; + const xgridData = $$.generateGridData(config.grid_x_type, scale.x); + const tickOffset = $$.axis.isCategorized() ? $$.axis.x.tickOffset() : 0; + const pos = (d) => (scale.zoom || scale.x)(d) + tickOffset * (isRotated ? -1 : 1); + state.xgridAttr = isRotated ? { + x1: 0, + x2: state.width, + y1: pos, + y2: pos + } : { + x1: pos, + x2: pos, + y1: 0, + y2: state.height + }; + grid.x = main.select(`.${$GRID.xgrids}`).selectAll(`.${$GRID.xgrid}`).data(xgridData); + grid.x.exit().remove(); + grid.x = grid.x.enter().append("line").attr("class", $GRID.xgrid).merge(grid.x); + if (!withoutUpdate) { + grid.x.each(function() { + const grid2 = src_select(this); + Object.keys(state.xgridAttr).forEach((id) => { + grid2.attr(id, state.xgridAttr[id]).style("opacity", () => grid2.attr(isRotated ? "y1" : "x1") === (isRotated ? state.height : 0) ? "0" : null); + }); + }); + } + }, + updateYGrid() { + const $$ = this; + const { axis, config, scale, state, $el: { grid, main } } = $$; + const isRotated = config.axis_rotated; + const pos = (d) => scale.y(d); + const gridValues = axis.y.getGeneratedTicks(config.grid_y_ticks) || $$.scale.y.ticks(config.grid_y_ticks); + grid.y = main.select(`.${$GRID.ygrids}`).selectAll(`.${$GRID.ygrid}`).data(gridValues); + grid.y.exit().remove(); + grid.y = grid.y.enter().append("line").attr("class", $GRID.ygrid).merge(grid.y); + grid.y.attr("x1", isRotated ? pos : 0).attr("x2", isRotated ? pos : state.width).attr("y1", isRotated ? 0 : pos).attr("y2", isRotated ? state.height : pos); + smoothLines(grid.y, "grid"); + }, + updateGrid() { + const $$ = this; + const { $el: { grid, gridLines } } = $$; + !gridLines.main && $$.initGridLines(); + grid.main.style("visibility", $$.hasArcType() ? "hidden" : null); + $$.hideGridFocus(); + $$.updateGridLines("x"); + $$.updateGridLines("y"); + }, + /** + * Update Grid lines + * @param {string} type x | y + * @private + */ + updateGridLines(type) { + const $$ = this; + const { config, $el: { gridLines, main }, $T } = $$; + const isRotated = config.axis_rotated; + const isX = type === "x"; + config[`grid_${type}_show`] && $$[`update${type.toUpperCase()}Grid`](); + let lines = main.select(`.${$GRID[`${type}gridLines`]}`).selectAll(`.${$GRID[`${type}gridLine`]}`).data(config[`grid_${type}_lines`]); + $T(lines.exit()).style("opacity", "0").remove(); + const gridLine = lines.enter().append("g"); + gridLine.append("line").style("opacity", "0"); + lines = gridLine.merge(lines); + lines.each(function(d) { + const g = src_select(this); + if (g.select("text").empty() && d.text) { + g.append("text").style("opacity", "0"); + } + }); + $T(lines.attr("class", (d) => `${$GRID[`${type}gridLine`]} ${d.class || ""}`.trim()).select("text").attr("text-anchor", getGridTextAnchor).attr( + "transform", + () => isX ? isRotated ? null : "rotate(-90)" : isRotated ? "rotate(-90)" : null + ).attr("dx", getGridTextDx).attr("dy", -5)).text(function(d) { + var _a; + return (_a = d.text) != null ? _a : this.remove(); + }); + gridLines[type] = lines; + }, + redrawGrid(withTransition) { + const $$ = this; + const { + config: { axis_rotated: isRotated }, + state: { width, height }, + $el: { gridLines }, + $T + } = $$; + const xv = $$.xv.bind($$); + const yv = $$.yv.bind($$); + let xLines = gridLines.x.select("line"); + let xTexts = gridLines.x.select("text"); + let yLines = gridLines.y.select("line"); + let yTexts = gridLines.y.select("text"); + xLines = $T(xLines, withTransition).attr("x1", isRotated ? 0 : xv).attr("x2", isRotated ? width : xv).attr("y1", isRotated ? xv : 0).attr("y2", isRotated ? xv : height); + xTexts = $T(xTexts, withTransition).attr("x", getGridTextX(!isRotated, width, height)).attr("y", xv); + yLines = $T(yLines, withTransition).attr("x1", isRotated ? yv : 0).attr("x2", isRotated ? yv : width).attr("y1", isRotated ? 0 : yv).attr("y2", isRotated ? height : yv); + yTexts = $T(yTexts, withTransition).attr("x", getGridTextX(isRotated, width, height)).attr("y", yv); + return [ + xLines.style("opacity", null), + xTexts.style("opacity", null), + yLines.style("opacity", null), + yTexts.style("opacity", null) + ]; + }, + initFocusGrid() { + const $$ = this; + const { config, state: { clip }, $el } = $$; + const isFront = config.grid_front; + const className = `.${isFront && $el.gridLines.main ? $GRID.gridLines : $COMMON.chart}${isFront ? " + *" : ""}`; + const grid = $el.main.insert("g", className).attr("clip-path", clip.pathGrid).attr("class", $GRID.grid); + $el.grid.main = grid; + config.grid_x_show && grid.append("g").attr("class", $GRID.xgrids); + config.grid_y_show && grid.append("g").attr("class", $GRID.ygrids); + if (config.axis_tooltip) { + const axis = grid.append("g").attr("class", "bb-axis-tooltip"); + axis.append("line").attr("class", "bb-axis-tooltip-x"); + axis.append("line").attr("class", "bb-axis-tooltip-y"); + } + if (config.interaction_enabled && config.grid_focus_show && !config.axis_tooltip) { + grid.append("g").attr("class", $FOCUS.xgridFocus).append("line").attr("class", $FOCUS.xgridFocus); + if (config.grid_focus_y && !config.tooltip_grouped) { + grid.append("g").attr("class", $FOCUS.ygridFocus).append("line").attr("class", $FOCUS.ygridFocus); + } + } + }, + showAxisGridFocus() { + var _a, _b; + const $$ = this; + const { config, format, state: { event, width, height } } = $$; + const isRotated = config.axis_rotated; + const [x, y] = getPointer(event, (_a = $$.$el.eventRect) == null ? void 0 : _a.node()); + const pos = { x, y }; + for (const [axis, node] of Object.entries($$.$el.axisTooltip)) { + const attr = axis === "x" && !isRotated || axis !== "x" && isRotated ? "x" : "y"; + const value = pos[attr]; + let scaleText = (_b = $$.scale[axis]) == null ? void 0 : _b.invert(value); + if (scaleText) { + scaleText = axis === "x" && $$.axis.isTimeSeries() ? format.xAxisTick(scaleText) : scaleText == null ? void 0 : scaleText.toFixed(2); + node == null ? void 0 : node.attr(attr, value).text(scaleText); + } + } + $$.$el.main.selectAll( + `line.bb-axis-tooltip-x, line.bb-axis-tooltip-y` + ).style("visibility", null).each(function(d, i) { + const line = src_select(this); + if (i === 0) { + line.attr("x1", x).attr("x2", x).attr("y1", i ? 0 : height).attr("y2", i ? height : 0); + } else { + line.attr("x1", i ? 0 : width).attr("x2", i ? width : 0).attr("y1", y).attr("y2", y); + } + }); + }, + hideAxisGridFocus() { + const $$ = this; + $$.$el.main.selectAll( + `line.bb-axis-tooltip-x, line.bb-axis-tooltip-y` + ).style("visibility", "hidden"); + Object.values($$.$el.axisTooltip).forEach((v) => v == null ? void 0 : v.style("display", "none")); + }, + /** + * Show grid focus line + * @param {Array} data Selected data + * @private + */ + showGridFocus(data) { + var _a; + const $$ = this; + const { config, state: { width, height } } = $$; + const isRotated = config.axis_rotated; + const focusEl = $$.$el.main.selectAll( + `line.${$FOCUS.xgridFocus}, line.${$FOCUS.ygridFocus}` + ); + const dataToShow = (data || [focusEl.datum()]).filter( + (d) => d && isValue($$.getBaseValue(d)) + ); + if (!config.tooltip_show || dataToShow.length === 0 || !config.axis_x_forceAsSingle && $$.hasType("bubble") || $$.hasArcType()) { + return; + } + const isEdge = config.grid_focus_edge && !config.tooltip_grouped; + const xx = $$.xx.bind($$); + focusEl.style("visibility", null).data(dataToShow.concat(dataToShow)).each(function(d) { + const el = src_select(this); + const pos = { + x: xx(d), + y: $$.getYScaleById(d.id)(d.value) + }; + let xy; + if (el.classed($FOCUS.xgridFocus)) { + xy = isRotated ? [ + null, + // x1 + pos.x, + // y1 + isEdge ? pos.y : width, + // x2 + pos.x + // y2 + ] : [ + pos.x, + isEdge ? pos.y : null, + pos.x, + height + ]; + } else { + const isY2 = $$.axis.getId(d.id) === "y2"; + xy = isRotated ? [ + pos.y, + // x1 + isEdge && !isY2 ? pos.x : null, + // y1 + pos.y, + // x2 + isEdge && isY2 ? pos.x : height + // y2 + ] : [ + isEdge && isY2 ? pos.x : null, + pos.y, + isEdge && !isY2 ? pos.x : width, + pos.y + ]; + } + ["x1", "y1", "x2", "y2"].forEach((v, i) => el.attr(v, xy[i])); + }); + smoothLines(focusEl, "grid"); + (_a = $$.showCircleFocus) == null ? void 0 : _a.call($$, data); + }, + hideGridFocus() { + var _a; + const $$ = this; + const { state: { inputType, resizing }, $el: { main } } = $$; + if (inputType === "mouse" || !resizing) { + main.selectAll(`line.${$FOCUS.xgridFocus}, line.${$FOCUS.ygridFocus}`).style("visibility", "hidden"); + (_a = $$.hideCircleFocus) == null ? void 0 : _a.call($$); + } + }, + updateGridFocus() { + var _a; + const $$ = this; + const { state: { inputType, width, height, resizing }, $el: { grid } } = $$; + const xgridFocus = grid.main.select(`line.${$FOCUS.xgridFocus}`); + if (inputType === "touch") { + if (xgridFocus.empty()) { + resizing && ((_a = $$.showCircleFocus) == null ? void 0 : _a.call($$)); + } else { + $$.showGridFocus(); + } + } else { + const isRotated = $$.config.axis_rotated; + xgridFocus.attr("x1", isRotated ? 0 : -10).attr("x2", isRotated ? width : -10).attr("y1", isRotated ? -10 : 0).attr("y2", isRotated ? -10 : height); + } + return true; + }, + generateGridData(type, scale) { + const $$ = this; + const tickNum = $$.$el.main.select(`.${$AXIS.axisX}`).selectAll(".tick").size(); + let gridData = []; + if (type === "year") { + const xDomain = $$.getXDomain(); + const [firstYear, lastYear] = xDomain.map((v) => v.getFullYear()); + for (let i = firstYear; i <= lastYear; i++) { + gridData.push(/* @__PURE__ */ new Date(`${i}-01-01 00:00:00`)); + } + } else { + gridData = scale.ticks(10); + if (gridData.length > tickNum) { + gridData = gridData.filter((d) => String(d).indexOf(".") < 0); + } + } + return gridData; + }, + getGridFilterToRemove(params) { + return params ? (line) => { + let found = false; + (isArray(params) ? params.concat() : [params]).forEach((param) => { + if ("value" in param && line.value === param.value || "class" in param && line.class === param.class) { + found = true; + } + }); + return found; + } : () => true; + }, + removeGridLines(params, forX) { + const $$ = this; + const { config, $T } = $$; + const toRemove = $$.getGridFilterToRemove(params); + const toShow = (line) => !toRemove(line); + const classLines = forX ? $GRID.xgridLines : $GRID.ygridLines; + const classLine = forX ? $GRID.xgridLine : $GRID.ygridLine; + $T($$.$el.main.select(`.${classLines}`).selectAll(`.${classLine}`).filter(toRemove)).style("opacity", "0").remove(); + const gridLines = `grid_${forX ? "x" : "y"}_lines`; + config[gridLines] = config[gridLines].filter(toShow); + } +}); + +;// ./src/ChartInternal/internals/region.ts + + + +/* harmony default export */ var region = ({ + initRegion() { + const $$ = this; + const { $el } = $$; + $el.region.main = $el.main.insert("g", ":first-child").attr("clip-path", $$.state.clip.path).attr("class", $REGION.regions); + }, + updateRegion() { + const $$ = this; + const { config, $el: { region }, $T } = $$; + if (!region.main) { + $$.initRegion(); + } + region.main.style("visibility", $$.hasArcType() ? "hidden" : null); + const regions = region.main.selectAll(`.${$REGION.region}`).data(config.regions); + $T(regions.exit()).style("opacity", "0").remove(); + const regionsEnter = regions.enter().append("g"); + regionsEnter.append("rect").style("fill-opacity", "0"); + region.list = regionsEnter.merge(regions).attr("class", $$.classRegion.bind($$)); + region.list.each(function(d) { + var _a; + const g = src_select(this); + if (g.select("text").empty() && ((_a = d.label) == null ? void 0 : _a.text)) { + src_select(this).append("text").style("opacity", "0"); + } + }); + }, + redrawRegion(withTransition) { + const $$ = this; + const { $el: { region }, $T } = $$; + let regions = region.list.select("rect"); + let label = region.list.selectAll("text"); + regions = $T(regions, withTransition).attr("x", $$.regionX.bind($$)).attr("y", $$.regionY.bind($$)).attr("width", $$.regionWidth.bind($$)).attr("height", $$.regionHeight.bind($$)); + label = $T(label, withTransition).attr("transform", (d) => { + var _a; + const { x = 0, y = 0, rotated = false } = (_a = d.label) != null ? _a : {}; + return `translate(${$$.regionX.bind($$)(d) + x}, ${$$.regionY.bind($$)(d) + y})${rotated ? ` rotate(-90)` : ``}`; + }).attr("text-anchor", (d) => { + var _a; + return ((_a = d.label) == null ? void 0 : _a.rotated) ? "end" : null; + }).attr("dy", "1em").style("fill", (d) => { + var _a, _b; + return (_b = (_a = d.label) == null ? void 0 : _a.color) != null ? _b : null; + }).text((d) => { + var _a; + return (_a = d.label) == null ? void 0 : _a.text; + }); + return [ + regions.style("fill-opacity", (d) => isValue(d.opacity) ? d.opacity : null).on("end", function() { + src_select(this.parentNode).selectAll("rect:not([x])").remove(); + }), + label.style("opacity", null) + ]; + }, + getRegionXY(type, d) { + const $$ = this; + const { config, scale } = $$; + const isRotated = config.axis_rotated; + const isX = type === "x"; + let key = "start"; + let currScale; + let pos = 0; + if (d.axis === "y" || d.axis === "y2") { + if (!isX) { + key = "end"; + } + if ((isX ? isRotated : !isRotated) && key in d) { + currScale = scale[d.axis]; + pos = currScale(d[key]); + } + } else if ((isX ? !isRotated : isRotated) && key in d) { + currScale = scale.zoom || scale.x; + pos = currScale($$.axis.isTimeSeries() ? parseDate.call($$, d[key]) : d[key]); + } + return pos; + }, + regionX(d) { + return this.getRegionXY("x", d); + }, + regionY(d) { + return this.getRegionXY("y", d); + }, + getRegionSize(type, d) { + const $$ = this; + const { config, scale, state } = $$; + const isRotated = config.axis_rotated; + const isWidth = type === "width"; + const start = $$[isWidth ? "regionX" : "regionY"](d); + let currScale; + let key = "end"; + let end = state[type]; + if (d.axis === "y" || d.axis === "y2") { + if (!isWidth) { + key = "start"; + } + if ((isWidth ? isRotated : !isRotated) && key in d) { + currScale = scale[d.axis]; + end = currScale(d[key]); + } + } else if ((isWidth ? !isRotated : isRotated) && key in d) { + currScale = scale.zoom || scale.x; + end = currScale($$.axis.isTimeSeries() ? parseDate.call($$, d[key]) : d[key]); + } + return end < start ? 0 : end - start; + }, + regionWidth(d) { + return this.getRegionSize("width", d); + }, + regionHeight(d) { + return this.getRegionSize("height", d); + }, + isRegionOnX(d) { + return !d.axis || d.axis === "x"; + } +}); + +;// ./src/ChartInternal/internals/size.axis.ts + +/* harmony default export */ var size_axis = ({ + /** + * Get Axis size according its position + * @param {string} id Axis id value - x, y or y2 + * @returns {number} size Axis size value + * @private + */ + getAxisSize(id) { + const $$ = this; + const isRotated = $$.config.axis_rotated; + return isRotated && id === "x" || !isRotated && /y2?/.test(id) ? $$.getAxisWidthByAxisId(id, true) : $$.getHorizontalAxisHeight(id); + }, + getAxisWidthByAxisId(id, withoutRecompute) { + var _a, _b; + const $$ = this; + if ($$.axis) { + const position = (_a = $$.axis) == null ? void 0 : _a.getLabelPositionById(id); + const { width } = $$.axis.getMaxTickSize(id, withoutRecompute); + const gap = width === 0 ? 0.5 : 0; + return width + (((_b = $$.config.padding) == null ? void 0 : _b.mode) === "fit" ? position.isInner ? 10 + gap : 10 : position.isInner ? 20 + gap : 40); + } else { + return 40; + } + }, + getHorizontalAxisHeight(id) { + var _a, _b; + const $$ = this; + const { config, state } = $$; + const { rotatedPadding, isLegendRight, isLegendInset } = state; + const isRotated = config.axis_rotated; + const isFitPadding = ((_a = config.padding) == null ? void 0 : _a.mode) === "fit"; + const isInner = config[`axis_${id}_inner`]; + const hasLabelText = config[`axis_${id}_label`].text; + const defaultHeight = 13; + let h = ((_b = config.padding) == null ? void 0 : _b.mode) === "fit" ? isInner && !hasLabelText ? id === "y" ? 1 : 0 : 20 : 30; + if (id === "x" && !config.axis_x_show) { + return 8; + } + if (id === "x" && isNumber(config.axis_x_height)) { + return config.axis_x_height; + } + if (id === "y" && !config.axis_y_show) { + return config.legend_show && !isLegendRight && !isLegendInset ? 10 : 1; + } + if (id === "y2" && !config.axis_y2_show) { + return isFitPadding ? 0 : rotatedPadding.top; + } + const maxtickSize = $$.axis.getMaxTickSize(id); + const isXAxisTickRotated = Math.abs(config.axis_x_tick_rotate) > 0 && (!config.axis_x_tick_autorotate || $$.needToRotateXAxisTickTexts()); + if ((config.axis_x_tick_multiline || isXAxisTickRotated) && maxtickSize.height > defaultHeight) { + h += maxtickSize.height - defaultHeight; + } + return h + ($$.axis.getLabelPositionById(id).isInner ? 0 : 10) + (id === "y2" && !isRotated ? -10 : 0); + }, + getEventRectWidth() { + const $$ = this; + const { config, axis } = $$; + const isInverted = config.axis_x_inverted; + const tickInterval = axis.x.tickInterval(); + return Math.max(0, isInverted ? Math.abs(tickInterval) : tickInterval); + }, + /** + * Get axis tick test rotate value + * @param {string} id Axis id + * @returns {number} rotate value + * @private + */ + getAxisTickRotate(id) { + const $$ = this; + const { axis, config, state, $el } = $$; + let rotate = config[`axis_${id}_tick_rotate`]; + if (id === "x") { + const allowedXAxisTypes = axis.isCategorized() || axis.isTimeSeries(); + if (config.axis_x_tick_fit && allowedXAxisTypes) { + const xTickCount = config.axis_x_tick_count; + const currentXTicksLength = state.current.maxTickSize.x.ticks.length; + let tickCount = 0; + if (xTickCount) { + tickCount = xTickCount > currentXTicksLength ? currentXTicksLength : xTickCount; + } else if (currentXTicksLength) { + tickCount = currentXTicksLength; + } + if (tickCount !== state.axis.x.tickCount) { + const { targets } = $$.data; + state.axis.x.padding = $$.getXDomainPadding([ + $$.getXDomainMinMax(targets, "min"), + $$.getXDomainMinMax(targets, "max") + ], tickCount); + } + state.axis.x.tickCount = tickCount; + } + if ($el.svg && config.axis_x_tick_autorotate && config.axis_x_tick_fit && !config.axis_x_tick_multiline && !config.axis_x_tick_culling && allowedXAxisTypes) { + rotate = $$.needToRotateXAxisTickTexts() ? config.axis_x_tick_rotate : 0; + } + } + return rotate; + }, + /** + * Check weather axis tick text needs to be rotated + * @returns {boolean} + * @private + */ + needToRotateXAxisTickTexts() { + const $$ = this; + const { state: { axis, current, isLegendRight, legendItemWidth } } = $$; + const legendWidth = isLegendRight && legendItemWidth; + const xAxisLength = current.width - legendWidth - $$.getCurrentPaddingByDirection("left") - $$.getCurrentPaddingByDirection("right"); + const tickCountWithPadding = axis.x.tickCount + axis.x.padding.left + axis.x.padding.right; + const { width } = $$.axis.getMaxTickSize("x"); + const tickLength = tickCountWithPadding ? xAxisLength / tickCountWithPadding : 0; + return width > tickLength; + } +}); + +;// ./src/config/Options/axis/x.ts +/* harmony default export */ var axis_x = ({ + /** + * Set clip-path attribute for x axis element + * @name axis․x․clipPath + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo]() + * @example + * // don't set 'clip-path' attribute + * clipPath: false + */ + axis_x_clipPath: true, + /** + * Show or hide x axis. + * @name axis․x․show + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * x: { + * show: false + * } + * } + */ + axis_x_show: true, + /** + * Force the x axis to interact as single rather than multiple x axes. + * - **NOTE:** The tooltip event will be triggered nearing each data points(for multiple xs) rather than x axis based(as single x does) in below condition: + * - for `bubble` & `scatter` type + * - when `data.xs` is set + * - when `tooltip.grouped=false` is set + * - `tooltip.grouped` options will take precedence over `axis.forceSingleX` option. + * @name axis․x․forceAsSingle + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.ForceAsSingle) + * @example + * axis: { + * x: { + * // will work as single x axis + * forceAsSingle: true + * } + * } + */ + axis_x_forceAsSingle: false, + /** + * Set type of x axis.<br><br> + * **Available Values:** + * - category + * - indexed + * - log + * - timeseries + * + * **NOTE:**<br> + * - **log** type: + * - the x values specified by [`data.x`](#.data%25E2%2580%25A4x)(or by any equivalent option), must be exclusively-positive. + * - x axis min value should be >= 0. + * - for 'category' type, `data.xs` option isn't supported. + * @name axis․x․type + * @memberof Options + * @type {string} + * @default indexed + * @see [Demo: indexed](https://naver.github.io/billboard.js/demo/#Chart.AreaChart) + * @see [Demo: timeseries](https://naver.github.io/billboard.js/demo/#Chart.TimeseriesChart) + * @see [Demo: category](https://naver.github.io/billboard.js/demo/#Data.CategoryData) + * @see [Demo: log](https://naver.github.io/billboard.js/demo/#Axis.LogScales) + * @example + * axis: { + * x: { + * type: "timeseries" + * } + * } + */ + axis_x_type: "indexed", + /** + * Set how to treat the timezone of x values.<br> + * If true, treat x value as localtime. If false, convert to UTC internally. + * @name axis․x․localtime + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * x: { + * localtime: false + * } + * } + */ + axis_x_localtime: true, + /** + * Set category names on category axis. + * This must be an array that includes category names in string. If category names are included in the date by data.x option, this is not required. + * @name axis․x․categories + * @memberof Options + * @type {Array} + * @default [] + * @example + * axis: { + * x: { + * categories: ["Category 1", "Category 2", ...] + * } + * } + */ + axis_x_categories: [], + /** + * centerize ticks on category axis. + * @name axis․x․tick․centered + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * x: { + * tick: { + * centered: true + * } + * } + * } + */ + axis_x_tick_centered: false, + /** + * A function to format tick value. Format string is also available for timeseries data. + * @name axis․x․tick․format + * @memberof Options + * @type {Function|string} + * @default undefined + * @see [D3's time specifier](https://d3js.org/d3-time-format#locale_format) + * @example + * axis: { + * x: { + * tick: { + * // for timeseries, a 'datetime' object is given as parameter + * format: function(x) { + * return x.getFullYear(); + * } + * + * // for category, index(Number) and categoryName(String) are given as parameter + * format: function(index, categoryName) { + * return categoryName.substr(0, 10); + * }, + * + * // for timeseries format specifier + * format: "%Y-%m-%d %H:%M:%S" + * } + * } + * } + */ + axis_x_tick_format: void 0, + /** + * Setting for culling ticks. + * - `true`: the ticks will be culled, then only limited tick text will be shown.<br> + * This option does not hide the tick lines by default, if want to hide tick lines, set `axis.x.tick.culling.lines=false`. + * - `false`: all of ticks will be shown.<br><br> + * The number of ticks to be shown can be chaned by `axis.x.tick.culling.max`. + * @name axis․x․tick․culling + * @memberof Options + * @type {boolean} + * @default + * `true` for indexed axis and timeseries axis, `false` for category axis + * @example + * axis: { + * x: { + * tick: { + * culling: false + * } + * } + * } + */ + axis_x_tick_culling: {}, + /** + * The number of tick texts will be adjusted to less than this value. + * @name axis․x․tick․culling․max + * @memberof Options + * @type {number} + * @default 10 + * @example + * axis: { + * x: { + * tick: { + * culling: { + * max: 5 + * } + * } + * } + * } + */ + axis_x_tick_culling_max: 10, + /** + * Control visibility of tick lines within culling option, along with tick text. + * @name axis․x․tick․culling․lines + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * x: { + * tick: { + * culling: { + * lines: false, + * } + * } + * } + * } + */ + axis_x_tick_culling_lines: true, + /** + * The number of x axis ticks to show.<br><br> + * This option hides tick lines together with tick text. If this option is used on timeseries axis, the ticks position will be determined precisely and not nicely positioned (e.g. it will have rough second value). + * @name axis․x․tick․count + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * x: { + * tick: { + * count: 5 + * } + * } + * } + */ + axis_x_tick_count: void 0, + /** + * Show or hide x axis tick line. + * @name axis․x․tick․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * x: { + * tick: { + * show: false + * } + * } + * } + */ + axis_x_tick_show: true, + /** + * Show or hide x axis tick text. + * @name axis․x․tick․text․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * x: { + * tick: { + * text: { + * show: false + * } + * } + * } + * } + */ + axis_x_tick_text_show: true, + /** + * Set the first/last axis tick text to be positioned inside of the chart on non-rotated axis. + * @name axis․x․tick․text․inner + * @memberof Options + * @type {boolean|object} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickInner) + * @example + * axis: { + * x: { + * tick: { + * text: { + * inner: true, + * + * // or specify each position of the first and last tick text + * inner: { + * first: true, + * last: true + * } + * } + * } + * } + * } + */ + axis_x_tick_text_inner: false, + /** + * Set the x Axis tick text's position relatively its original position + * @name axis․x․tick․text․position + * @memberof Options + * @type {object} + * @default {x: 0, y:0} + * @example + * axis: { + * x: { + * tick: { + * text: { + * position: { + * x: 10, + * y: 10 + * } + * } + * } + * } + * } + */ + axis_x_tick_text_position: { x: 0, y: 0 }, + /** + * Fit x axis ticks. + * - **true**: ticks will be shown according to x value of the data points. + * - **false**: ticks will be shown as to have same intervals. + * @name axis․x․tick․fit + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickFitting) + * @see [Demo: for timeseries zoom](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickTimeseries) + * @example + * axis: { + * x: { + * tick: { + * fit: false + * } + * } + * } + */ + axis_x_tick_fit: true, + /** + * Set the x values of ticks manually.<br><br> + * If this option is provided, the position of the ticks will be determined based on those values.<br> + * This option works with `timeseries` data and the x values will be parsed accoding to the type of the value and data.xFormat option. + * @name axis․x․tick․values + * @memberof Options + * @type {Array|Function} + * @default null + * @example + * axis: { + * x: { + * tick: { + * values: [1, 2, 4, 8, 16, 32, ...], + * + * // an Array value should be returned + * values: function() { + * return [ ... ]; + * } + * } + * } + * } + */ + axis_x_tick_values: null, + /** + * Rotate x axis tick text if there is not enough space for 'category' and 'timeseries' type axis. + * - **NOTE:** The conditions where `autorotate` is enabled are: + * - axis.x.type='category' or 'timeseries + * - axis.x.tick.multiline=false + * - axis.x.tick.culling=false + * - axis.x.tick.fit=true + * - **NOTE:** axis.x.tick.clippath=false is necessary for calculating the overflow padding between the end of x axis and the width of the SVG + * @name axis․x․tick․autorotate + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickAutorotate) + * @example + * axis: { + * x: { + * tick: { + * rotate: 15, + * autorotate: true, + * multiline: false, + * culling: false, + * fit: true + * }, + * clipPath: false + * } + * } + */ + axis_x_tick_autorotate: false, + /** + * Rotate x axis tick text. + * - If you set negative value, it will rotate to opposite direction. + * - Applied when [`axis.rotated`](#.axis%25E2%2580%25A4rotated) option is `false`. + * - As long as `axis_x_tick_fit` is set to `true` it will calculate an overflow for the y2 axis and add this value to the right padding. + * @name axis․x․tick․rotate + * @memberof Options + * @type {number} + * @default 0 + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.RotateXAxisTickText) + * @example + * axis: { + * x: { + * tick: { + * rotate: 60 + * } + * } + * } + */ + axis_x_tick_rotate: 0, + /** + * Show x axis outer tick. + * @name axis․x․tick․outer + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * x: { + * tick: { + * outer: false + * } + * } + * } + */ + axis_x_tick_outer: true, + /** + * Set tick text to be multiline + * - **NOTE:** + * > When x tick text contains `\n`, it's used as line break and 'axis.x.tick.width' option is ignored. + * @name axis․x․tick․multiline + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickMultiline) + * @example + * axis: { + * x: { + * tick: { + * multiline: false + * } + * } + * } + * @example + * // example of line break with '\n' + * // In this case, 'axis.x.tick.width' is ignored + * data: { + * x: "x", + * columns: [ + * ["x", "long\ntext", "Another\nLong\nText"], + * ... + * ], + * } + */ + axis_x_tick_multiline: true, + /** + * Set tick width + * - **NOTE:** + * > When x tick text contains `\n`, this option is ignored. + * @name axis․x․tick․width + * @memberof Options + * @type {number} + * @default null + * @example + * axis: { + * x: { + * tick: { + * width: 50 + * } + * } + * } + */ + axis_x_tick_width: null, + /** + * Set to display system tooltip(via `<title>` element) for tick text + * - **NOTE:** Only available for category axis type (`axis.x.type='category'`) + * @name axis․x․tick․tooltip + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * x: { + * tick: { + * tooltip: true + * } + * } + * } + */ + axis_x_tick_tooltip: false, + /** + * Set max value of x axis range. + * @name axis․x․max + * @memberof Options + * @property {number} max Set the max value + * @property {boolean} [max.fit=false] When specified `max.value` is greater than the bound data value, setting `true` will make x axis max to be fitted to the bound data max value. + * - **NOTE:** If the bound data max value is greater than the `max.value`, the x axis max will be limited as the given `max.value`. + * @property {number} [max.value] Set the max value + * @example + * axis: { + * x: { + * max: 100, + * + * max: { + * // 'fit=true' will make x axis max to be limited as the bound data value max when 'max.value' is greater. + * // - when bound data max is '10' and max.value: '100' ==> x axis max will be '10' + * // - when bound data max is '1000' and max.value: '100' ==> x axis max will be '100' + * fit: true, + * value: 100 + * } + * } + * } + */ + axis_x_max: void 0, + /** + * Set min value of x axis range. + * @name axis․x․min + * @memberof Options + * @property {number} min Set the min value + * @property {boolean} [min.fit=false] When specified `min.value` is lower than the bound data value, setting `true` will make x axis min to be fitted to the bound data min value. + * - **NOTE:** If the bound data min value is lower than the `min.value`, the x axis min will be limited as the given `min.value`. + * @property {number} [min.value] Set the min value + * @example + * axis: { + * x: { + * min: -100, + * + * min: { + * // 'fit=true' will make x axis min to be limited as the bound data value min when 'min.value' is lower. + * // - when bound data min is '-10' and min.value: '-100' ==> x axis min will be '-10' + * // - when bound data min is '-1000' and min.value: '-100' ==> x axis min will be '-100' + * fit: true, + * value: -100 + * } + * } + * } + */ + axis_x_min: void 0, + /** + * Change the direction of x axis.<br><br> + * If true set, the direction will be `right -> left`. + * @name axis․x․inverted + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.InvertedAxis) + * @example + * axis: { + * x: { + * inverted: true + * } + * } + */ + axis_x_inverted: false, + /** + * Set padding for x axis.<br><br> + * If this option is set, the range of x axis will increase/decrease according to the values. + * If no padding is needed in the rage of x axis, 0 should be set. + * By default, left/right padding are set depending on x axis type or chart types. + * - **NOTE:** + * - The meaning of padding values, differs according axis types:<br> + * - **category/indexed:** The unit of tick value + * ex. the given value `1`, is same as the width of 1 tick width + * - **timeseries:** Numeric time value + * ex. the given value `1000*60*60*24`, which is numeric time equivalent of a day, is same as the width of 1 tick width + * - If want values to be treated as pixels, specify `unit:"px"`. + * - The pixel value will be convered based on the scale values. Hence can not reflect accurate padding result. + * @name axis․x․padding + * @memberof Options + * @type {object|number} + * @default {} + * @example + * axis: { + * x: { + * padding: { + * // when axis type is 'category' + * left: 1, // set left padding width of equivalent value of a tick's width + * right: 0.5 // set right padding width as half of equivalent value of tick's width + * + * // when axis type is 'timeseries' + * left: 1000*60*60*24, // set left padding width of equivalent value of a day tick's width + * right: 1000*60*60*12 // set right padding width as half of equivalent value of a day tick's width + * }, + * + * // or set both values at once. + * padding: 10, + * + * // or set padding values as pixel unit. + * padding: { + * left: 100, + * right: 50, + * unit: "px" + * }, + * } + * } + */ + axis_x_padding: {}, + /** + * Set height of x axis.<br><br> + * The height of x axis can be set manually by this option. If you need more space for x axis, please use this option for that. The unit is pixel. + * @name axis․x․height + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * x: { + * height: 20 + * } + * } + */ + axis_x_height: void 0, + /** + * Set extent for subchart and zoom(drag only). This can be an array or function that returns an array. + * - **NOTE:** Specifying value, will limit the zoom scope selection within. + * @name axis․x․extent + * @memberof Options + * @type {Array|Function} + * @default undefined + * @example + * axis: { + * x: { + * // extent range as a pixel value + * extent: [0, 200], + * + * // when axis is 'timeseries', parsable datetime string + * extent: ["2019-03-01", "2019-03-05"], + * + * // return extent value + * extent: function(domain, scale) { + * var extent = domain.map(function(v) { + * return scale(v); + * }); + * + * // it should return a format of array + * // ex) [0, 584] + * return extent; + * } + * } + * } + */ + axis_x_extent: void 0, + /** + * Set label on x axis.<br><br> + * You can set x axis label and change its position by this option. + * `string` and `object` can be passed and we can change the poisiton by passing object that has position key.<br> + * Available position differs according to the axis direction (vertical or horizontal). + * If string set, the position will be the default. + * + * - **If it's horizontal axis:** + * - inner-right [default] + * - inner-center + * - inner-left + * - outer-right + * - outer-center + * - outer-left + * - **If it's vertical axis:** + * - inner-top [default] + * - inner-middle + * - inner-bottom + * - outer-top + * - outer-middle + * - outer-bottom + * @name axis․x․label + * @memberof Options + * @type {string|object} + * @default undefined + * @example + * axis: { + * x: { + * label: "Your X Axis" + * } + * } + * + * axis: { + * x: { + * label: { + * text: "Your X Axis", + * position: "outer-center" + * } + * } + * } + */ + axis_x_label: {}, + /** + * Set additional axes for x Axis. + * - **NOTE:** Axis' scale is based on x Axis value if domain option isn't set. + * + * Each axis object should consist with following options: + * + * | Name | Type | Default | Description | + * | --- | --- | --- | --- | + * | domain | Array | - | Set the domain value | + * | tick.outer | boolean | true | Show outer tick | + * | tick.format | Function | - | Set formatter for tick text | + * | tick.count | Number | - | Set the number of y axis ticks | + * | tick.values | Array | - | Set tick values manually | + * @name axis․x․axes + * @memberof Options + * @type {Array} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.MultiAxes) + * @see [Demo: Domain](https://naver.github.io/billboard.js/demo/#Axis.MultiAxesDomain) + * @example + * x: { + * axes: [ + * { + * // if set, will not be correlated with the main x Axis domain value + * domain: [0, 1000], + * tick: { + * outer: false, + * format: function(x) { + * return x + "%"; + * }, + * count: 2, + * values: [10, 20, 30] + * } + * }, + * ... + * ] + * } + */ + axis_x_axes: [] +}); + +;// ./src/config/Options/axis/y.ts +/* harmony default export */ var y = ({ + /** + * Set clip-path attribute for y axis element + * - **NOTE**: `clip-path` attribute for y Axis is set only when `axis.y.inner` option is true. + * @name axis․y․clipPath + * @memberof Options + * @type {boolean} + * @default true + * @example + * // don't set 'clip-path' attribute + * clipPath: false + */ + axis_y_clipPath: true, + /** + * Show or hide y axis. + * @name axis․y․show + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * y: { + * show: false + * } + * } + */ + axis_y_show: true, + /** + * Set type of y axis.<br><br> + * **Available Values:** + * - indexed + * - log + * - timeseries + * + * **NOTE:**<br> + * - **log** type: + * - the bound data values must be exclusively-positive. + * - y axis min value should be >= 0. + * - [`data.groups`](#.data%25E2%2580%25A4groups)(stacked data) option aren't supported. + * + * @name axis․y․type + * @memberof Options + * @type {string} + * @default "indexed" + * @see [Demo: log](https://naver.github.io/billboard.js/demo/#Axis.LogScales) + * @example + * axis: { + * y: { + * type: "log" + * } + * } + */ + axis_y_type: "indexed", + /** + * Set max value of y axis. + * - **NOTE:** Padding will be added based on this value, so if you don't need the padding, please set axis.y.padding to disable it (e.g. axis.y.padding = 0). + * @name axis․y․max + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y: { + * max: 1000 + * } + * } + */ + axis_y_max: void 0, + /** + * Set min value of y axis. + * - **NOTE:** + * Padding will be added based on this value, so if you don't need the padding, please set axis.y.padding to disable it (e.g. axis.y.padding = 0). + * @name axis․y․min + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y: { + * min: 1000 + * } + * } + */ + axis_y_min: void 0, + /** + * Change the direction of y axis.<br><br> + * If true set, the direction will be `top -> bottom`. + * @name axis․y․inverted + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.InvertedAxis) + * @example + * axis: { + * y: { + * inverted: true + * } + * } + */ + axis_y_inverted: false, + /** + * Set center value of y axis. + * @name axis․y․center + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y: { + * center: 0 + * } + * } + */ + axis_y_center: void 0, + /** + * Show y axis inside of the chart. + * @name axis․y․inner + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * y: { + * inner: true + * } + * } + */ + axis_y_inner: false, + /** + * Set label on y axis.<br><br> + * You can set y axis label and change its position by this option. This option works in the same way as [axis.x.label](#.axis%25E2%2580%25A4x%25E2%2580%25A4label). + * @name axis․y․label + * @memberof Options + * @type {string|object} + * @default {} + * @see [axis.x.label](#.axis%25E2%2580%25A4x%25E2%2580%25A4label) for position string value. + * @example + * axis: { + * y: { + * label: "Your Y Axis" + * } + * } + * + * axis: { + * y: { + * label: { + * text: "Your Y Axis", + * position: "outer-middle" + * } + * } + * } + */ + axis_y_label: {}, + /** + * Set formatter for y axis tick text.<br><br> + * This option accepts d3.format object as well as a function you define. + * @name axis․y․tick․format + * @memberof Options + * @type {Function} + * @default undefined + * @example + * axis: { + * y: { + * tick: { + * format: function(x) { + * return x.getFullYear(); + * } + * } + * } + * } + */ + axis_y_tick_format: void 0, + /** + * Setting for culling ticks. + * - `true`: the ticks will be culled, then only limited tick text will be shown.<br> + * This option does not hide the tick lines by default, if want to hide tick lines, set `axis.y.tick.culling.lines=false`. + * - `false`: all of ticks will be shown.<br><br> + * The number of ticks to be shown can be chaned by `axis.y.tick.culling.max`. + * @name axis․y․tick․culling + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * y: { + * tick: { + * culling: false + * } + * } + * } + */ + axis_y_tick_culling: false, + /** + * The number of tick texts will be adjusted to less than this value. + * @name axis․y․tick․culling․max + * @memberof Options + * @type {number} + * @default 5 + * @example + * axis: { + * y: { + * tick: { + * culling: { + * max: 5 + * } + * } + * } + * } + */ + axis_y_tick_culling_max: 5, + /** + * Control visibility of tick lines within culling option, along with tick text. + * @name axis․y․tick․culling․lines + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * y: { + * tick: { + * culling: { + * lines: false, + * } + * } + * } + * } + */ + axis_y_tick_culling_lines: true, + /** + * Show y axis outer tick. + * @name axis․y․tick․outer + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * y: { + * tick: { + * outer: false + * } + * } + * } + */ + axis_y_tick_outer: true, + /** + * Set y axis tick values manually. + * @name axis․y․tick․values + * @memberof Options + * @type {Array|Function} + * @default null + * @example + * axis: { + * y: { + * tick: { + * values: [100, 1000, 10000], + * + * // an Array value should be returned + * values: function() { + * return [ ... ]; + * } + * } + * } + * } + */ + axis_y_tick_values: null, + /** + * Rotate y axis tick text. + * - If you set negative value, it will rotate to opposite direction. + * - Applied when [`axis.rotated`](#.axis%25E2%2580%25A4rotated) option is `true`. + * @name axis․y․tick․rotate + * @memberof Options + * @type {number} + * @default 0 + * @example + * axis: { + * y: { + * tick: { + * rotate: 60 + * } + * } + * } + */ + axis_y_tick_rotate: 0, + /** + * Set the number of y axis ticks.<br><br> + * - **NOTE:** The position of the ticks will be calculated precisely, so the values on the ticks will not be rounded nicely. In the case, axis.y.tick.format or axis.y.tick.values will be helpful. + * @name axis․y․tick․count + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y: { + * tick: { + * count: 5 + * } + * } + * } + */ + axis_y_tick_count: void 0, + /** + * Show or hide y axis tick line. + * @name axis․y․tick․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * y: { + * tick: { + * show: false + * } + * } + * } + */ + axis_y_tick_show: true, + /** + * Set axis tick step(interval) size. + * - **NOTE:** Will be ignored if `axis.y.tick.count` or `axis.y.tick.values` options are set. + * @name axis․y․tick․stepSize + * @memberof Options + * @type {number} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.StepSizeForYAxis) + * @example + * axis: { + * y: { + * tick: { + * // tick value will step as indicated interval value. + * // ex) 'stepSize=15' ==> [0, 15, 30, 45, 60] + * stepSize: 15 + * } + * } + * } + */ + axis_y_tick_stepSize: null, + /** + * Show or hide y axis tick text. + * @name axis․y․tick․text․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * y: { + * tick: { + * text: { + * show: false + * } + * } + * } + * } + */ + axis_y_tick_text_show: true, + /** + * Set the y Axis tick text's position relatively its original position + * @name axis․y․tick․text․position + * @memberof Options + * @type {object} + * @default {x: 0, y:0} + * @example + * axis: { + * y: { + * tick: { + * text: { + * position: { + * x: 10, + * y: 10 + * } + * } + * } + * } + * } + */ + axis_y_tick_text_position: { x: 0, y: 0 }, + /** + * Set the number of y axis ticks.<br><br> + * - **NOTE:** The position of the ticks will be calculated precisely, so the values on the ticks will not be rounded nicely. In the case, axis.y.tick.format or axis.y.tick.values will be helpful. + * @name axis․y․tick․time + * @memberof Options + * @private + * @type {object} + * @property {object} time time object + * @property {Function} [time.value] D3's time interval function (https://github.com/d3/d3-time#intervals) + * @example + * axis: { + * y: { + * tick: { + * time: { + * // ticks at 15-minute intervals + * // https://github.com/d3/d3-scale/blob/master/README.md#time_ticks + * value: d3.timeMinute.every(15) + * } + * } + * } + * } + */ + // @TODO: not fully implemented yet + axis_y_tick_time_value: void 0, + /** + * Set padding for y axis.<br><br> + * You can set padding for y axis to create more space on the edge of the axis. + * This option accepts object and it can include top and bottom. top, bottom will be treated as pixels. + * + * - **NOTE:** + * - Given values are translated relative to the y Axis domain value for padding + * - For area and bar type charts, [area.zerobased](#.area) or [bar.zerobased](#.bar) options should be set to 'false` to get padded bottom. + * @name axis․y․padding + * @memberof Options + * @type {object|number} + * @default {} + * @example + * axis: { + * y: { + * padding: { + * top: 0, + * bottom: 0 + * }, + * + * // or set both values at once. + * padding: 10 + * } + * } + */ + axis_y_padding: {}, + /** + * Set default range of y axis.<br><br> + * This option set the default value for y axis when there is no data on init. + * @name axis․y․default + * @memberof Options + * @type {Array} + * @default undefined + * @example + * axis: { + * y: { + * default: [0, 1000] + * } + * } + */ + axis_y_default: void 0, + /** + * Set additional axes for y Axis. + * - **NOTE:** Axis' scale is based on y Axis value if domain option isn't set. + * + * Each axis object should consist with following options: + * + * | Name | Type | Default | Description | + * | --- | --- | --- | --- | + * | domain | Array | - | Set the domain value | + * | tick.outer | boolean | true | Show outer tick | + * | tick.format | Function | - | Set formatter for tick text | + * | tick.count | Number | - | Set the number of y axis ticks | + * | tick.values | Array | - | Set tick values manually | + * @name axis․y․axes + * @memberof Options + * @type {Array} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.MultiAxes) + * @see [Demo: Domain](https://naver.github.io/billboard.js/demo/#Axis.MultiAxesDomain) + * @example + * y: { + * axes: [ + * { + * // if set, will not be correlated with the main y Axis domain value + * domain: [0, 1000], + * tick: { + * outer: false, + * format: function(x) { + * return x + "%"; + * }, + * count: 2, + * values: [10, 20, 30] + * } + * }, + * ... + * ] + * } + */ + axis_y_axes: [] +}); + +;// ./src/config/Options/axis/y2.ts +/* harmony default export */ var y2 = ({ + /** + * Show or hide y2 axis. + * - **NOTE**: + * - When set to `false` will not generate y2 axis node. In this case, all 'y2' axis related functionality won't work properly. + * - If need to use 'y2' related options while y2 isn't visible, set the value `true` and control visibility by css display property. + * @name axis․y2․show + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * y2: { + * show: true + * } + * } + */ + axis_y2_show: false, + /** + * Set type of y2 axis.<br><br> + * **Available Values:** + * - indexed + * - log + * - timeseries + * + * **NOTE:**<br> + * - **log** type: + * - the bound data values must be exclusively-positive. + * - y2 axis min value should be >= 0. + * - [`data.groups`](#.data%25E2%2580%25A4groups)(stacked data) option aren't supported. + * + * @name axis․y2․type + * @memberof Options + * @type {string} + * @default "indexed" + * @see [Demo: log](https://naver.github.io/billboard.js/demo/#Axis.LogScales) + * @example + * axis: { + * y2: { + * type: "indexed" + * } + * } + */ + axis_y2_type: "indexed", + /** + * Set max value of y2 axis. + * @name axis․y2․max + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y2: { + * max: 1000 + * } + * } + */ + axis_y2_max: void 0, + /** + * Set min value of y2 axis. + * @name axis․y2․min + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y2: { + * min: -1000 + * } + * } + */ + axis_y2_min: void 0, + /** + * Change the direction of y2 axis.<br><br> + * If true set, the direction will be `top -> bottom`. + * @name axis․y2․inverted + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.InvertedAxis) + * @example + * axis: { + * y2: { + * inverted: true + * } + * } + */ + axis_y2_inverted: false, + /** + * Set center value of y2 axis. + * @name axis․y2․center + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y2: { + * center: 0 + * } + * } + */ + axis_y2_center: void 0, + /** + * Show y2 axis inside of the chart. + * @name axis․y2․inner + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * y2: { + * inner: true + * } + * } + */ + axis_y2_inner: false, + /** + * Set label on y2 axis.<br><br> + * You can set y2 axis label and change its position by this option. This option works in the same way as [axis.x.label](#.axis%25E2%2580%25A4x%25E2%2580%25A4label). + * @name axis․y2․label + * @memberof Options + * @type {string|object} + * @default {} + * @see [axis.x.label](#.axis%25E2%2580%25A4x%25E2%2580%25A4label) for position string value. + * @example + * axis: { + * y2: { + * label: "Your Y2 Axis" + * } + * } + * + * axis: { + * y2: { + * label: { + * text: "Your Y2 Axis", + * position: "outer-middle" + * } + * } + * } + */ + axis_y2_label: {}, + /** + * Set formatter for y2 axis tick text.<br><br> + * This option works in the same way as axis.y.format. + * @name axis․y2․tick․format + * @memberof Options + * @type {Function} + * @default undefined + * @example + * axis: { + * y2: { + * tick: { + * format: d3.format("$,") + * //or format: function(d) { return "$" + d; } + * } + * } + * } + */ + axis_y2_tick_format: void 0, + /** + * Setting for culling ticks. + * - `true`: the ticks will be culled, then only limited tick text will be shown.<br> + * This option does not hide the tick lines by default, if want to hide tick lines, set `axis.y2.tick.culling.lines=false`. + * - `false`: all of ticks will be shown.<br><br> + * The number of ticks to be shown can be chaned by `axis.y2.tick.culling.max`. + * @name axis․y2․tick․culling + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * y2: { + * tick: { + * culling: false + * } + * } + * } + */ + axis_y2_tick_culling: false, + /** + * The number of tick texts will be adjusted to less than this value. + * @name axis․y2․tick․culling․max + * @memberof Options + * @type {number} + * @default 5 + * @example + * axis: { + * y2: { + * tick: { + * culling: { + * max: 5 + * } + * } + * } + * } + */ + axis_y2_tick_culling_max: 5, + /** + * Control visibility of tick lines within culling option, along with tick text. + * @name axis․y2․tick․culling․lines + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * y2: { + * tick: { + * culling: { + * lines: false, + * } + * } + * } + * } + */ + axis_y2_tick_culling_lines: true, + /** + * Show or hide y2 axis outer tick. + * @name axis․y2․tick․outer + * @memberof Options + * @type {boolean} + * @default true + * @example + * axis: { + * y2: { + * tick: { + * outer: false + * } + * } + * } + */ + axis_y2_tick_outer: true, + /** + * Set y2 axis tick values manually. + * @name axis․y2․tick․values + * @memberof Options + * @type {Array|Function} + * @default null + * @example + * axis: { + * y2: { + * tick: { + * values: [100, 1000, 10000], + * + * // an Array value should be returned + * values: function() { + * return [ ... ]; + * } + * } + * } + * } + */ + axis_y2_tick_values: null, + /** + * Rotate y2 axis tick text. + * - If you set negative value, it will rotate to opposite direction. + * - Applied when [`axis.rotated`](#.axis%25E2%2580%25A4rotated) option is `true`. + * @name axis․y2․tick․rotate + * @memberof Options + * @type {number} + * @default 0 + * @example + * axis: { + * y2: { + * tick: { + * rotate: 60 + * } + * } + * } + */ + axis_y2_tick_rotate: 0, + /** + * Set the number of y2 axis ticks. + * - **NOTE:** This works in the same way as axis.y.tick.count. + * @name axis․y2․tick․count + * @memberof Options + * @type {number} + * @default undefined + * @example + * axis: { + * y2: { + * tick: { + * count: 5 + * } + * } + * } + */ + axis_y2_tick_count: void 0, + /** + * Show or hide y2 axis tick line. + * @name axis․y2․tick․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * y2: { + * tick: { + * show: false + * } + * } + * } + */ + axis_y2_tick_show: true, + /** + * Set axis tick step(interval) size. + * - **NOTE:** Will be ignored if `axis.y2.tick.count` or `axis.y2.tick.values` options are set. + * @name axis․y2․tick․stepSize + * @memberof Options + * @type {number} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.StepSizeForYAxis) + * @example + * axis: { + * y2: { + * tick: { + * // tick value will step as indicated interval value. + * // ex) 'stepSize=15' ==> [0, 15, 30, 45, 60] + * stepSize: 15 + * } + * } + * } + */ + axis_y2_tick_stepSize: null, + /** + * Show or hide y2 axis tick text. + * @name axis․y2․tick․text․show + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText) + * @example + * axis: { + * y2: { + * tick: { + * text: { + * show: false + * } + * } + * } + * } + */ + axis_y2_tick_text_show: true, + /** + * Set the y2 Axis tick text's position relatively its original position + * @name axis․y2․tick․text․position + * @memberof Options + * @type {object} + * @default {x: 0, y:0} + * @example + * axis: { + * y2: { + * tick: { + * text: { + * position: { + * x: 10, + * y: 10 + * } + * } + * } + * } + * } + */ + axis_y2_tick_text_position: { x: 0, y: 0 }, + /** + * Set padding for y2 axis.<br><br> + * You can set padding for y2 axis to create more space on the edge of the axis. + * This option accepts object and it can include top and bottom. top, bottom will be treated as pixels. + * + * - **NOTE:** + * - Given values are translated relative to the y2 Axis domain value for padding + * - For area and bar type charts, [area.zerobased](#.area) or [bar.zerobased](#.bar) options should be set to 'false` to get padded bottom. + * @name axis․y2․padding + * @memberof Options + * @type {object|number} + * @default {} + * @example + * axis: { + * y2: { + * padding: { + * top: 100, + * bottom: 100 + * } + * + * // or set both values at once. + * padding: 10 + * } + */ + axis_y2_padding: {}, + /** + * Set default range of y2 axis.<br><br> + * This option set the default value for y2 axis when there is no data on init. + * @name axis․y2․default + * @memberof Options + * @type {Array} + * @default undefined + * @example + * axis: { + * y2: { + * default: [0, 1000] + * } + * } + */ + axis_y2_default: void 0, + /** + * Set additional axes for y2 Axis. + * - **NOTE:** Axis' scale is based on y2 Axis value if domain option isn't set. + * + * Each axis object should consist with following options: + * + * | Name | Type | Default | Description | + * | --- | --- | --- | --- | + * | domain | Array | - | Set the domain value | + * | tick.outer | boolean | true | Show outer tick | + * | tick.format | Function | - | Set formatter for tick text | + * | tick.count | Number | - | Set the number of y axis ticks | + * | tick.values | Array | - | Set tick values manually | + * @name axis․y2․axes + * @memberof Options + * @type {Array} + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.MultiAxes) + * @see [Demo: Domain](https://naver.github.io/billboard.js/demo/#Axis.MultiAxesDomain) + * @example + * y2: { + * axes: [ + * { + * // if set, will not be correlated with the main y2 Axis domain value + * domain: [0, 1000], + * tick: { + * outer: false, + * format: function(x) { + * return x + "%"; + * }, + * count: 2, + * values: [10, 20, 30] + * } + * }, + * ... + * ] + * } + */ + axis_y2_axes: [] +}); + +;// ./src/config/Options/axis/axis.ts +var axis_defProp = Object.defineProperty; +var axis_getOwnPropSymbols = Object.getOwnPropertySymbols; +var axis_hasOwnProp = Object.prototype.hasOwnProperty; +var axis_propIsEnum = Object.prototype.propertyIsEnumerable; +var axis_defNormalProp = (obj, key, value) => key in obj ? axis_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var axis_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (axis_hasOwnProp.call(b, prop)) + axis_defNormalProp(a, prop, b[prop]); + if (axis_getOwnPropSymbols) + for (var prop of axis_getOwnPropSymbols(b)) { + if (axis_propIsEnum.call(b, prop)) + axis_defNormalProp(a, prop, b[prop]); + } + return a; +}; + + + +/* harmony default export */ var Options_axis_axis = (axis_spreadValues(axis_spreadValues(axis_spreadValues({ + /** + * Setup the way to evaluate tick text size. + * - **NOTE:** + * - Setting `false` or custom evaluator, highly recommended to memoize evaluated text dimension value to not degrade performance. + * @name axis․evalTextSize + * @memberof Options + * @type {boolean|Function} + * @default true + * @example + * axis: { + * // will evaluate getting text size every time. + * evalTextSize: false. + * + * // set a custom evaluator + * evalTextSize: function(textElement) { + * // set some character to be evaluated + * text.textContent = "0"; + * + * // get the size + * const box = text.getBBox(); + * + * // clear text + * text.textContent = ""; + * + * return { w: 7, h: 12}; + * } + * } + */ + axis_evalTextSize: true, + /** + * Switch x and y axis position. + * @name axis․rotated + * @memberof Options + * @type {boolean} + * @default false + * @example + * axis: { + * rotated: true + * } + */ + axis_rotated: false, + /** + * Set axis tooltip. + * - **NOTE:** + * - When enabled, will disable default focus grid line. + * - For `timeseries` x Axis, tootlip will be formatted using x Axis' tick format. + * - For `category` x Axis, tootlip will be displaying scales' value text. + * @name axis․tooltip + * @memberof Options + * @type {boolean} + * @default false + * @property {object} axis Axis object + * @property {boolean} [axis.tooltip=false] Show tooltip or not. + * @property {string|object} [axis.tooltip.backgroundColor] Set axis tooltip text background colors. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.AxisTooltip) + * @example + * axis: { + * tooltip: true, // default background color is + * + * // set backgound color for axis tooltip texts + * tooltip: { + * backgroundColor: "red", + * + * // set differenct backround colors per axes + * // NOTE: In this case, only specified axes tooltip will appear. + * backgroundColor: { + * x: "green", + * y: "yellow", + * y2: "red" + * } + * } + * } + */ + axis_tooltip: false +}, axis_x), y), y2)); + +;// ./src/config/Options/common/grid.ts +/* harmony default export */ var common_grid = ({ + /** + * Set related options + * @name grid + * @memberof Options + * @type {object} + * @property {boolean} [front=false] Set 'grid & focus lines' to be positioned over grid lines and chart elements. + * @property {object} x Grid x object + * @property {boolean} [x.show=false] Show grids along x axis. + * @property {Array} [x.lines=[]] Show additional grid lines along x axis.<br> + * This option accepts array including object that has value, text, position and class. text, position and class are optional. For position, start, middle and end (default) are available. + * If x axis is category axis, value can be category name. If x axis is timeseries axis, value can be date string, Date object and unixtime integer. + * @property {object} y Grid y object + * @property {boolean} [y.show=false] Show grids along x axis. + * @property {Array} [y.lines=[]] Show additional grid lines along y axis.<br> + * This option accepts array including object that has value, text, position and class. + * @property {number} [y.ticks=undefined] Number of y grids to be shown. + * @property {object} focus Grid focus object + * @property {boolean} [focus.edge=false] Show edged focus grid line.<br>**NOTE:** Available when [`tooltip.grouped=false`](#.tooltip) option is set. + * @property {boolean} [focus.show=true] Show grid line when focus. + * @property {boolean} [focus.y=false] Show y coordinate focus grid line.<br>**NOTE:** Available when [`tooltip.grouped=false`](#.tooltip) option is set. + * @property {object} lines Grid lines object + * @property {boolean} [lines.front=true] Set grid lines to be positioned over chart elements. + * @default undefined + * @see [Demo](https://naver.github.io/billboard.js/demo/#Grid.GridLines) + * @see [Demo: X Grid Lines](https://naver.github.io/billboard.js/demo/#Grid.OptionalXGridLines) + * @see [Demo: Y Grid Lines](https://naver.github.io/billboard.js/demo/#Grid.OptionalYGridLines) + * @example + * grid: { + * x: { + * show: true, + * lines: [ + * {value: 2, text: "Label on 2"}, + * {value: 5, text: "Label on 5", class: "label-5"}, + * {value: 6, text: "Label on 6", position: "start"} + * ] + * }, + * y: { + * show: true, + * lines: [ + * {value: 100, text: "Label on 100"}, + * {value: 200, text: "Label on 200", class: "label-200"}, + * {value: 300, text: "Label on 300", position: 'middle'} + * ], + * ticks: 5 + * }, + * front: true, + * focus: { + * show: false, + * + * // Below options are available when 'tooltip.grouped=false' option is set + * edge: true, + * y: true + * }, + * lines: { + * front: false + * } + * } + */ + grid_x_show: false, + grid_x_type: "tick", + grid_x_lines: [], + grid_y_show: false, + grid_y_lines: [], + grid_y_ticks: void 0, + grid_focus_edge: false, + grid_focus_show: true, + grid_focus_y: false, + grid_front: false, + grid_lines_front: true +}); + +;// ./src/config/Options/data/axis.ts +/* harmony default export */ var data_axis = ({ + /** + * Specify the keys of the x values for each data.<br><br> + * This option can be used if we want to show the data that has different x values. + * @name data․xs + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * xs: { + * data1: "x1", + * data2: "x2" + * } + * } + */ + data_xs: {}, + /** + * Set a format specifier to parse string specifed as x. + * @name data․xFormat + * @memberof Options + * @type {string} + * @default %Y-%m-%d + * @example + * data: { + * x: "x", + * columns: [ + * ["x", "01012019", "02012019", "03012019"], + * ["data1", 30, 200, 100] + * ], + * // Format specifier to parse as datetime for given 'x' string value + * xFormat: "%m%d%Y" + * }, + * axis: { + * x: { + * type: "timeseries" + * } + * } + * @see [D3's time specifier](https://d3js.org/d3-time-format#locale_format) + */ + data_xFormat: "%Y-%m-%d", + /** + * Set localtime format to parse x axis. + * @name data․xLocaltime + * @memberof Options + * @type {boolean} + * @default true + * @example + * data: { + * xLocaltime: false + * } + */ + data_xLocaltime: true, + /** + * Sort on x axis. + * - **NOTE:** This option works for lineish(area/line/spline/step) types only. + * @name data․xSort + * @memberof Options + * @type {boolean} + * @default true + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataXSort) + * @example + * data: { + * xSort: false, + * x: "x", + * columns: [ + * // The line graph will start to be drawn following the x axis sequence + * // Below data, wil start drawing x=1: 200, x=2: 300, x=3: 100 + * ["x", 3, 1, 2], + * ["data1", 100, 200, 300] + * ] + * } + */ + data_xSort: true, + /** + * Set y axis the data related to. y and y2 can be used. + * - **NOTE:** If all data is related to one of the axes, the domain of axis without related data will be replaced by the domain from the axis with related data + * @name data․axes + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * axes: { + * data1: "y", + * data2: "y2" + * } + * } + */ + data_axes: {}, + /** + * Define regions for each data.<br> + * The values must be an array for each data and it should include an object that has `start`, `end` and `style`. + * - The object type should be as: + * - start {number}: Start data point number. If not set, the start will be the first data point. + * - [end] {number}: End data point number. If not set, the end will be the last data point. + * - [style.dasharray="2 2"] {string}: The first number specifies a distance for the filled area, and the second a distance for the unfilled area. + * - **NOTE:** + * - Supports only line type. + * - `start` and `end` values should be in the exact x value range. + * - Dashes will be applied using `stroke-dasharray` css property when data doesn't contain nullish value(or nullish value with `line.connectNull=true` set). + * - Dashes will be applied via path command when data contains nullish value. + * @name data․regions + * @memberof Options + * @type {object} + * @default {} + * @example + * data: { + * regions: { + * data1: [{ + * start: 1, + * end: 2, + * style: { + * dasharray: "5 2" + * } + * }, { + * start: 3 + * }], + * ... + * } + * } + */ + data_regions: {}, + /** + * Set the stacking to be normalized + * - **NOTE:** + * - For stacking, '[data.groups](#.data%25E2%2580%25A4groups)' option should be set + * - y Axis will be set in percentage value (0 ~ 100%) + * - Must have postive values + * @name data․stack․normalize + * @memberof Options + * @type {boolean} + * @default false + * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataStackNormalized) + * @example + * data: { + * stack: { + * normalize: true + * } + * } + */ + data_stack_normalize: false +}); + +;// ./src/config/resolver/axis.ts + + + + + + + + + + + + + + + + + +const api = [ + api_axis, + api_category, + flow, + api_grid, + group, + api_regions, + x +]; +const internal = { + axis: Axis, + clip: clip, + eventrect: eventrect, + flow: interactions_flow, + grid: internals_grid, + region: region, + sizeAxis: size_axis +}; +const options = { + optDataAxis: data_axis, + optAxis: Options_axis_axis, + optGrid: common_grid +}; + +;// ./node_modules/d3-shape/src/array.js +var slice = Array.prototype.slice; +/* harmony default export */ function d3_shape_src_array(x) { + return typeof x === "object" && "length" in x ? x : Array.from(x); +} + +;// ./node_modules/d3-shape/src/constant.js +/* harmony default export */ function d3_shape_src_constant(x) { + return function constant() { + return x; + }; +} + +;// ./node_modules/d3-shape/src/descending.js +/* harmony default export */ function src_descending(a, b) { + return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; +} + +;// ./node_modules/d3-shape/src/identity.js +/* harmony default export */ function d3_shape_src_identity(d) { + return d; +} + +;// ./node_modules/d3-shape/src/pie.js + + + + + +/* harmony default export */ function pie() { + var value = d3_shape_src_identity, sortValues = src_descending, sort = null, startAngle = d3_shape_src_constant(0), endAngle = d3_shape_src_constant(tau), padAngle = d3_shape_src_constant(0); + function pie(data) { + var i, n = (data = d3_shape_src_array(data)).length, j, k, sum = 0, index = new Array(n), arcs = new Array(n), a0 = +startAngle.apply(this, arguments), da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)), a1, p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)), pa = p * (da < 0 ? -1 : 1), v; + for (i = 0; i < n; ++i) { + if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) { + sum += v; + } + } + if (sortValues != null) index.sort(function(i2, j2) { + return sortValues(arcs[i2], arcs[j2]); + }); + else if (sort != null) index.sort(function(i2, j2) { + return sort(data[i2], data[j2]); + }); + for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) { + j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = { + data: data[j], + index: i, + value: v, + startAngle: a0, + endAngle: a1, + padAngle: p + }; + } + return arcs; + } + pie.value = function(_) { + return arguments.length ? (value = typeof _ === "function" ? _ : d3_shape_src_constant(+_), pie) : value; + }; + pie.sortValues = function(_) { + return arguments.length ? (sortValues = _, sort = null, pie) : sortValues; + }; + pie.sort = function(_) { + return arguments.length ? (sort = _, sortValues = null, pie) : sort; + }; + pie.startAngle = function(_) { + return arguments.length ? (startAngle = typeof _ === "function" ? _ : d3_shape_src_constant(+_), pie) : startAngle; + }; + pie.endAngle = function(_) { + return arguments.length ? (endAngle = typeof _ === "function" ? _ : d3_shape_src_constant(+_), pie) : endAngle; + }; + pie.padAngle = function(_) { + return arguments.length ? (padAngle = typeof _ === "function" ? _ : d3_shape_src_constant(+_), pie) : padAngle; + }; + return pie; +} + +;// ./node_modules/d3-path/src/path.js +var __pow = Math.pow; +const path_pi = Math.PI, path_tau = 2 * path_pi, path_epsilon = 1e-6, tauEpsilon = path_tau - path_epsilon; +function path_append(strings) { + this._ += strings[0]; + for (let i = 1, n = strings.length; i < n; ++i) { + this._ += arguments[i] + strings[i]; + } +} +function appendRound(digits) { + let d = Math.floor(digits); + if (!(d >= 0)) throw new Error(`invalid digits: ${digits}`); + if (d > 15) return path_append; + const k = __pow(10, d); + return function(strings) { + this._ += strings[0]; + for (let i = 1, n = strings.length; i < n; ++i) { + this._ += Math.round(arguments[i] * k) / k + strings[i]; + } + }; +} +class Path { + constructor(digits) { + this._x0 = this._y0 = // start of current subpath + this._x1 = this._y1 = null; + this._ = ""; + this._append = digits == null ? path_append : appendRound(digits); + } + moveTo(x, y) { + this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}`; + } + closePath() { + if (this._x1 !== null) { + this._x1 = this._x0, this._y1 = this._y0; + this._append`Z`; + } + } + lineTo(x, y) { + this._append`L${this._x1 = +x},${this._y1 = +y}`; + } + quadraticCurveTo(x1, y1, x, y) { + this._append`Q${+x1},${+y1},${this._x1 = +x},${this._y1 = +y}`; + } + bezierCurveTo(x1, y1, x2, y2, x, y) { + this._append`C${+x1},${+y1},${+x2},${+y2},${this._x1 = +x},${this._y1 = +y}`; + } + arcTo(x1, y1, x2, y2, r) { + x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r; + if (r < 0) throw new Error(`negative radius: ${r}`); + let x0 = this._x1, y0 = this._y1, x21 = x2 - x1, y21 = y2 - y1, x01 = x0 - x1, y01 = y0 - y1, l01_2 = x01 * x01 + y01 * y01; + if (this._x1 === null) { + this._append`M${this._x1 = x1},${this._y1 = y1}`; + } else if (!(l01_2 > path_epsilon)) ; + else if (!(Math.abs(y01 * x21 - y21 * x01) > path_epsilon) || !r) { + this._append`L${this._x1 = x1},${this._y1 = y1}`; + } else { + let x20 = x2 - x0, y20 = y2 - y0, l21_2 = x21 * x21 + y21 * y21, l20_2 = x20 * x20 + y20 * y20, l21 = Math.sqrt(l21_2), l01 = Math.sqrt(l01_2), l = r * Math.tan((path_pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2), t01 = l / l01, t21 = l / l21; + if (Math.abs(t01 - 1) > path_epsilon) { + this._append`L${x1 + t01 * x01},${y1 + t01 * y01}`; + } + this._append`A${r},${r},0,0,${+(y01 * x20 > x01 * y20)},${this._x1 = x1 + t21 * x21},${this._y1 = y1 + t21 * y21}`; + } + } + arc(x, y, r, a0, a1, ccw) { + x = +x, y = +y, r = +r, ccw = !!ccw; + if (r < 0) throw new Error(`negative radius: ${r}`); + let dx = r * Math.cos(a0), dy = r * Math.sin(a0), x0 = x + dx, y0 = y + dy, cw = 1 ^ ccw, da = ccw ? a0 - a1 : a1 - a0; + if (this._x1 === null) { + this._append`M${x0},${y0}`; + } else if (Math.abs(this._x1 - x0) > path_epsilon || Math.abs(this._y1 - y0) > path_epsilon) { + this._append`L${x0},${y0}`; + } + if (!r) return; + if (da < 0) da = da % path_tau + path_tau; + if (da > tauEpsilon) { + this._append`A${r},${r},0,1,${cw},${x - dx},${y - dy}A${r},${r},0,1,${cw},${this._x1 = x0},${this._y1 = y0}`; + } else if (da > path_epsilon) { + this._append`A${r},${r},0,${+(da >= path_pi)},${cw},${this._x1 = x + r * Math.cos(a1)},${this._y1 = y + r * Math.sin(a1)}`; + } + } + rect(x, y, w, h) { + this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}h${w = +w}v${+h}h${-w}Z`; + } + toString() { + return this._; + } +} +function path() { + return new Path(); +} +path.prototype = Path.prototype; +function pathRound(digits = 3) { + return new Path(+digits); +} + +;// ./node_modules/d3-shape/src/path.js + +function withPath(shape) { + let digits = 3; + shape.digits = function(_) { + if (!arguments.length) return digits; + if (_ == null) { + digits = null; + } else { + const d = Math.floor(_); + if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`); + digits = d; + } + return shape; + }; + return () => new Path(digits); +} + +;// ./node_modules/d3-shape/src/arc.js + + + +function arcInnerRadius(d) { + return d.innerRadius; +} +function arcOuterRadius(d) { + return d.outerRadius; +} +function arcStartAngle(d) { + return d.startAngle; +} +function arcEndAngle(d) { + return d.endAngle; +} +function arcPadAngle(d) { + return d && d.padAngle; +} +function intersect(x0, y0, x1, y1, x2, y2, x3, y3) { + var x10 = x1 - x0, y10 = y1 - y0, x32 = x3 - x2, y32 = y3 - y2, t = y32 * x10 - x32 * y10; + if (t * t < epsilon) return; + t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t; + return [x0 + t * x10, y0 + t * y10]; +} +function cornerTangents(x0, y0, x1, y1, r1, rc, cw) { + var x01 = x0 - x1, y01 = y0 - y1, lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x11 = x0 + ox, y11 = y0 + oy, x10 = x1 + ox, y10 = y1 + oy, x00 = (x11 + x10) / 2, y00 = (y11 + y10) / 2, dx = x10 - x11, dy = y10 - y11, d2 = dx * dx + dy * dy, r = r1 - rc, D = x11 * y10 - x10 * y11, d = (dy < 0 ? -1 : 1) * sqrt(math_max(0, r * r * d2 - D * D)), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x00, dy0 = cy0 - y00, dx1 = cx1 - x00, dy1 = cy1 - y00; + if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1; + return { + cx: cx0, + cy: cy0, + x01: -ox, + y01: -oy, + x11: cx0 * (r1 / r - 1), + y11: cy0 * (r1 / r - 1) + }; +} +/* harmony default export */ function src_arc() { + var innerRadius = arcInnerRadius, outerRadius = arcOuterRadius, cornerRadius = d3_shape_src_constant(0), padRadius = null, startAngle = arcStartAngle, endAngle = arcEndAngle, padAngle = arcPadAngle, context = null, path = withPath(arc); + function arc() { + var buffer, r, r0 = +innerRadius.apply(this, arguments), r1 = +outerRadius.apply(this, arguments), a0 = startAngle.apply(this, arguments) - halfPi, a1 = endAngle.apply(this, arguments) - halfPi, da = math_abs(a1 - a0), cw = a1 > a0; + if (!context) context = buffer = path(); + if (r1 < r0) r = r1, r1 = r0, r0 = r; + if (!(r1 > epsilon)) context.moveTo(0, 0); + else if (da > tau - epsilon) { + context.moveTo(r1 * cos(a0), r1 * sin(a0)); + context.arc(0, 0, r1, a0, a1, !cw); + if (r0 > epsilon) { + context.moveTo(r0 * cos(a1), r0 * sin(a1)); + context.arc(0, 0, r0, a1, a0, cw); + } + } else { + var a01 = a0, a11 = a1, a00 = a0, a10 = a1, da0 = da, da1 = da, ap = padAngle.apply(this, arguments) / 2, rp = ap > epsilon && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)), rc = math_min(math_abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)), rc0 = rc, rc1 = rc, t0, t1; + if (rp > epsilon) { + var p0 = asin(rp / r0 * sin(ap)), p1 = asin(rp / r1 * sin(ap)); + if ((da0 -= p0 * 2) > epsilon) p0 *= cw ? 1 : -1, a00 += p0, a10 -= p0; + else da0 = 0, a00 = a10 = (a0 + a1) / 2; + if ((da1 -= p1 * 2) > epsilon) p1 *= cw ? 1 : -1, a01 += p1, a11 -= p1; + else da1 = 0, a01 = a11 = (a0 + a1) / 2; + } + var x01 = r1 * cos(a01), y01 = r1 * sin(a01), x10 = r0 * cos(a10), y10 = r0 * sin(a10); + if (rc > epsilon) { + var x11 = r1 * cos(a11), y11 = r1 * sin(a11), x00 = r0 * cos(a00), y00 = r0 * sin(a00), oc; + if (da < pi) { + if (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10)) { + var ax = x01 - oc[0], ay = y01 - oc[1], bx = x11 - oc[0], by = y11 - oc[1], kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2), lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]); + rc0 = math_min(rc, (r0 - lc) / (kc - 1)); + rc1 = math_min(rc, (r1 - lc) / (kc + 1)); + } else { + rc0 = rc1 = 0; + } + } + } + if (!(da1 > epsilon)) context.moveTo(x01, y01); + else if (rc1 > epsilon) { + t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw); + t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw); + context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01); + if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw); + else { + context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw); + context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw); + context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw); + } + } else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw); + if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10); + else if (rc0 > epsilon) { + t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw); + t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw); + context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01); + if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw); + else { + context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw); + context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw); + context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw); + } + } else context.arc(0, 0, r0, a10, a00, cw); + } + context.closePath(); + if (buffer) return context = null, buffer + "" || null; + } + arc.centroid = function() { + var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2; + return [cos(a) * r, sin(a) * r]; + }; + arc.innerRadius = function(_) { + return arguments.length ? (innerRadius = typeof _ === "function" ? _ : d3_shape_src_constant(+_), arc) : innerRadius; + }; + arc.outerRadius = function(_) { + return arguments.length ? (outerRadius = typeof _ === "function" ? _ : d3_shape_src_constant(+_), arc) : outerRadius; + }; + arc.cornerRadius = function(_) { + return arguments.length ? (cornerRadius = typeof _ === "function" ? _ : d3_shape_src_constant(+_), arc) : cornerRadius; + }; + arc.padRadius = function(_) { + return arguments.length ? (padRadius = _ == null ? null : typeof _ === "function" ? _ : d3_shape_src_constant(+_), arc) : padRadius; + }; + arc.startAngle = function(_) { + return arguments.length ? (startAngle = typeof _ === "function" ? _ : d3_shape_src_constant(+_), arc) : startAngle; + }; + arc.endAngle = function(_) { + return arguments.length ? (endAngle = typeof _ === "function" ? _ : d3_shape_src_constant(+_), arc) : endAngle; + }; + arc.padAngle = function(_) { + return arguments.length ? (padAngle = typeof _ === "function" ? _ : d3_shape_src_constant(+_), arc) : padAngle; + }; + arc.context = function(_) { + return arguments.length ? (context = _ == null ? null : _, arc) : context; + }; + return arc; +} + +;// ./src/ChartInternal/shape/arc.ts +var arc_defProp = Object.defineProperty; +var arc_defProps = Object.defineProperties; +var arc_getOwnPropDescs = Object.getOwnPropertyDescriptors; +var arc_getOwnPropSymbols = Object.getOwnPropertySymbols; +var arc_hasOwnProp = Object.prototype.hasOwnProperty; +var arc_propIsEnum = Object.prototype.propertyIsEnumerable; +var arc_defNormalProp = (obj, key, value) => key in obj ? arc_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var arc_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (arc_hasOwnProp.call(b, prop)) + arc_defNormalProp(a, prop, b[prop]); + if (arc_getOwnPropSymbols) + for (var prop of arc_getOwnPropSymbols(b)) { + if (arc_propIsEnum.call(b, prop)) + arc_defNormalProp(a, prop, b[prop]); + } + return a; +}; +var arc_spreadProps = (a, b) => arc_defProps(a, arc_getOwnPropDescs(b)); + + + + + + +function getRadiusFn(expandRate = 0) { + const $$ = this; + const { config, state } = $$; + const hasMultiArcGauge = $$.hasMultiArcGauge(); + const singleArcWidth = state.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length; + const expandWidth = expandRate ? Math.min( + state.radiusExpanded * expandRate - state.radius, + singleArcWidth * 0.8 - (1 - expandRate) * 100 + ) : 0; + return { + /** + * Getter of arc innerRadius value + * @param {IArcData} d Data object + * @returns {number} innerRadius value + * @private + */ + inner(d) { + const { innerRadius } = $$.getRadius(d); + return hasMultiArcGauge ? state.radius - singleArcWidth * (d.index + 1) : isNumber(innerRadius) ? innerRadius : 0; + }, + /** + * Getter of arc outerRadius value + * @param {IArcData} d Data object + * @returns {number} outerRadius value + * @private + */ + outer(d) { + const { outerRadius } = $$.getRadius(d); + let radius; + if (hasMultiArcGauge) { + radius = state.radius - singleArcWidth * d.index + expandWidth; + } else if ($$.hasType("polar") && !expandRate) { + radius = $$.getPolarOuterRadius(d, outerRadius); + } else { + radius = outerRadius; + if (expandRate) { + let { radiusExpanded } = state; + if (state.radius !== outerRadius) { + radiusExpanded -= Math.abs(state.radius - outerRadius); + } + radius = radiusExpanded * expandRate; + } + } + return radius; + }, + /** + * Getter of arc cornerRadius value + * @param {IArcData} d Data object + * @param {number} outerRadius outer radius value + * @returns {number} cornerRadius value + * @private + */ + corner(d, outerRadius) { + const { + arc_cornerRadius_ratio: ratio = 0, + arc_cornerRadius: cornerRadius = 0 + } = config; + const { data: { id }, value } = d; + let corner = 0; + if (ratio) { + corner = ratio * outerRadius; + } else { + corner = isNumber(cornerRadius) ? cornerRadius : cornerRadius.call($$.api, id, value, outerRadius); + } + return corner; + } + }; +} +function getAttrTweenFn(fn) { + return function(d) { + const getAngleKeyValue = ({ startAngle = 0, endAngle = 0, padAngle = 0 }) => ({ + startAngle, + endAngle, + padAngle + }); + const interpolate = value( + getAngleKeyValue(this._current), + getAngleKeyValue(d) + ); + this._current = d; + return function(t) { + const interpolated = interpolate(t); + const { data, index, value } = d; + return fn(arc_spreadProps(arc_spreadValues({}, interpolated), { data, index, value })); + }; + }; +} +/* harmony default export */ var arc = ({ + initPie() { + const $$ = this; + const { config } = $$; + const dataType = config.data_type; + const padding = config[`${dataType}_padding`]; + const startingAngle = config[`${dataType}_startingAngle`] || 0; + const padAngle = (padding ? padding * 0.01 : config[`${dataType}_padAngle`]) || 0; + $$.pie = pie().startAngle(startingAngle).endAngle(startingAngle + 2 * Math.PI).padAngle(padAngle).value((d) => { + var _a, _b; + return (_b = (_a = d.values) == null ? void 0 : _a.reduce((a, b) => a + b.value, 0)) != null ? _b : d; + }).sort($$.getSortCompareFn.bind($$)(true)); + }, + updateRadius() { + const $$ = this; + const { config, state } = $$; + const dataType = config.data_type; + const padding = config[`${dataType}_padding`]; + const w = config.gauge_width || config.donut_width; + const gaugeArcWidth = $$.filterTargetsToShow($$.data.targets).length * config.gauge_arcs_minWidth; + state.radiusExpanded = Math.min(state.arcWidth, state.arcHeight) / 2 * ($$.hasMultiArcGauge() && config.gauge_label_show ? 0.85 : 1); + state.radius = state.radiusExpanded * 0.95; + state.innerRadiusRatio = w ? (state.radius - w) / state.radius : 0.6; + state.gaugeArcWidth = w || (gaugeArcWidth <= state.radius - state.innerRadius ? state.radius - state.innerRadius : gaugeArcWidth <= state.radius ? gaugeArcWidth : state.radius); + const innerRadius = config.pie_innerRadius || (padding ? padding * (state.innerRadiusRatio + 0.1) : 0); + state.outerRadius = config.pie_outerRadius; + state.innerRadius = $$.hasType("donut") || $$.hasType("gauge") ? state.radius * state.innerRadiusRatio : innerRadius; + }, + /** + * Get pie's inner & outer radius value + * @param {object|undefined} d Data object + * @returns {object} + * @private + */ + getRadius(d) { + const $$ = this; + const data = d == null ? void 0 : d.data; + let { innerRadius, outerRadius } = $$.state; + if (!isNumber(innerRadius) && data) { + innerRadius = innerRadius[data.id] || 0; + } + if (isObject(outerRadius) && data && data.id in outerRadius) { + outerRadius = outerRadius[data.id]; + } else if (!isNumber(outerRadius)) { + outerRadius = $$.state.radius; + } + return { innerRadius, outerRadius }; + }, + updateArc() { + const $$ = this; + $$.updateRadius(); + $$.svgArc = $$.getSvgArc(); + $$.svgArcExpanded = $$.getSvgArcExpanded(); + }, + getArcLength() { + const $$ = this; + const { config } = $$; + const arcLengthInPercent = config.gauge_arcLength * 3.6; + let len = 2 * (arcLengthInPercent / 360); + if (arcLengthInPercent < -360) { + len = -2; + } else if (arcLengthInPercent > 360) { + len = 2; + } + return len * Math.PI; + }, + getStartingAngle() { + const $$ = this; + const { config } = $$; + const dataType = config.data_type; + const isFullCircle = $$.hasType("gauge") ? config.gauge_fullCircle : false; + const defaultStartAngle = -1 * Math.PI / 2; + const defaultEndAngle = Math.PI / 2; + let startAngle = config[`${dataType}_startingAngle`] || 0; + if (!isFullCircle && startAngle <= defaultStartAngle) { + startAngle = defaultStartAngle; + } else if (!isFullCircle && startAngle >= defaultEndAngle) { + startAngle = defaultEndAngle; + } else if (startAngle > Math.PI || startAngle < -1 * Math.PI) { + startAngle = Math.PI; + } + return startAngle; + }, + /** + * Update angle data + * @param {object} dValue Data object + * @param {boolean} forRange Weather is for ranged text option(arc.rangeText.values) + * @returns {object|null} Updated angle data + * @private + */ + updateAngle(dValue, forRange = false) { + var _a; + const $$ = this; + const { config, state } = $$; + const hasGauge = forRange && $$.hasType("gauge"); + let { pie } = $$; + let d = dValue; + let found = false; + if (!config) { + return null; + } + const gStart = $$.getStartingAngle(); + const radius = config.gauge_fullCircle || forRange && !hasGauge ? $$.getArcLength() : gStart * -2; + if (d.data && $$.isGaugeType(d.data) && !$$.hasMultiArcGauge()) { + const { gauge_min: gMin, gauge_max: gMax } = config; + const totalSum = $$.getTotalDataSum(state.rendered); + const gEnd = radius * ((totalSum - gMin) / (gMax - gMin)); + pie = pie.startAngle(gStart).endAngle(gEnd + gStart); + } + if (forRange === false) { + pie($$.filterTargetsToShow()).forEach((t, i) => { + var _a2; + if (!found && t.data.id === ((_a2 = d.data) == null ? void 0 : _a2.id)) { + found = true; + d = t; + d.index = i; + } + }); + } + if (isNaN(d.startAngle)) { + d.startAngle = 0; + } + if (isNaN(d.endAngle)) { + d.endAngle = d.startAngle; + } + if (forRange || d.data && (config.gauge_enforceMinMax || $$.hasMultiArcGauge())) { + const { gauge_min: gMin, gauge_max: gMax } = config; + const max = forRange && !hasGauge ? $$.getTotalDataSum(state.rendered) : gMax; + const gTic = radius / (max - gMin); + const value = (_a = d.value) != null ? _a : 0; + const gValue = value < gMin ? 0 : value < max ? value - gMin : max - gMin; + d.startAngle = gStart; + d.endAngle = gStart + gTic * gValue; + } + return found || forRange ? d : null; + }, + getSvgArc() { + const $$ = this; + const { inner, outer, corner } = getRadiusFn.call($$); + const arc = src_arc().innerRadius(inner).outerRadius(outer); + const newArc = function(d, withoutUpdate) { + var _a; + let path = "M 0 0"; + if (d.value || d.data) { + const data = withoutUpdate ? d : (_a = $$.updateAngle(d)) != null ? _a : null; + if (data) { + path = arc.cornerRadius( + corner(data, outer(data)) + )(data); + } + } + return path; + }; + newArc.centroid = arc.centroid; + return newArc; + }, + /** + * Get expanded arc path function + * @param {number} rate Expand rate + * @returns {Function} Expanded arc path getter function + * @private + */ + getSvgArcExpanded(rate = 1) { + const $$ = this; + const { inner, outer, corner } = getRadiusFn.call($$, rate); + const arc = src_arc().innerRadius(inner).outerRadius(outer); + return (d) => { + const updated = $$.updateAngle(d); + const outerR = outer(updated); + let cornerR = 0; + if (updated) { + cornerR = corner(updated, outerR); + } + return updated ? arc.cornerRadius(cornerR)(updated) : "M 0 0"; + }; + }, + getArc(d, withoutUpdate, force) { + return force || this.isArcType(d.data) ? this.svgArc(d, withoutUpdate) : "M 0 0"; + }, + /** + * Render range value text + * @private + */ + redrawArcRangeText() { + const $$ = this; + const { config, $el: { arcs }, state, $T } = $$; + const format = config.arc_rangeText_format; + const fixed = $$.hasType("gauge") && config.arc_rangeText_fixed; + let values = config.arc_rangeText_values; + if (values == null ? void 0 : values.length) { + const isPercent = config.arc_rangeText_unit === "%"; + const totalSum = $$.getTotalDataSum(state.rendered); + if (isPercent) { + values = values.map((v) => totalSum / 100 * v); + } + const pieData = $$.pie(values).map((d, i) => (d.index = i, d)); + let rangeText = arcs.selectAll(`.${$ARC.arcRange}`).data(values); + rangeText.exit(); + rangeText = $T(rangeText.enter().append("text").attr("class", $ARC.arcRange).style("text-anchor", "middle").style("pointer-events", "none").style("opacity", "0").text((v) => { + const range = isPercent ? v / totalSum * 100 : v; + return isFunction(format) ? format(range) : `${range}${isPercent ? "%" : ""}`; + }).merge(rangeText)); + if ((!state.rendered || state.rendered && !fixed) && totalSum > 0) { + rangeText.attr("transform", (d, i) => $$.transformForArcLabel(pieData[i], true)); + } + rangeText.style( + "opacity", + (d) => !fixed && (d > totalSum || totalSum === 0) ? "0" : null + ); + } + }, + /** + * Set transform attributes to arc label text + * @param {object} d Data object + * @param {boolean} forRange Weather is for ranged text option(arc.rangeText.values) + * @returns {string} Translate attribute string + * @private + */ + transformForArcLabel(d, forRange = false) { + var _a, _b, _c; + const $$ = this; + const { config, state: { radiusExpanded } } = $$; + const updated = $$.updateAngle(d, forRange); + let translate = ""; + if (updated) { + if (forRange || $$.hasMultiArcGauge()) { + const y1 = Math.sin(updated.endAngle - Math.PI / 2); + const rangeTextPosition = config.arc_rangeText_position; + let x = Math.cos(updated.endAngle - Math.PI / 2) * (radiusExpanded + (forRange ? 5 : 25)); + let y = y1 * (radiusExpanded + 15 - Math.abs(y1 * 10)) + 3; + if (forRange && rangeTextPosition) { + const rangeValues = config.arc_rangeText_values; + const pos = isFunction(rangeTextPosition) ? rangeTextPosition(rangeValues[d.index]) : rangeTextPosition; + x += (_a = pos == null ? void 0 : pos.x) != null ? _a : 0; + y += (_b = pos == null ? void 0 : pos.y) != null ? _b : 0; + } + translate = `translate(${x},${y})`; + } else if (!$$.hasType("gauge") || $$.data.targets.length > 1) { + let { outerRadius } = $$.getRadius(d); + if ($$.hasType("polar")) { + outerRadius = $$.getPolarOuterRadius(d, outerRadius); + } + const c = this.svgArc.centroid(updated); + const [x, y] = c.map((v) => isNaN(v) ? 0 : v); + const h = Math.sqrt(x * x + y * y); + let ratio = (_c = ["donut", "gauge", "pie", "polar"].filter($$.hasType.bind($$)).map((v) => config[`${v}_label_ratio`])) == null ? void 0 : _c[0]; + if (ratio) { + ratio = isFunction(ratio) ? ratio.bind($$.api)(d, outerRadius, h) : ratio; + } else { + ratio = outerRadius && (h ? (36 / outerRadius > 0.375 ? 1.175 - 36 / outerRadius : 0.8) * outerRadius / h : 0); + } + translate = `translate(${x * ratio},${y * ratio})`; + } + } + return translate; + }, + convertToArcData(d) { + return this.addName({ + id: "data" in d ? d.data.id : d.id, + value: d.value, + ratio: this.getRatio("arc", d), + index: d.index + }); + }, + textForArcLabel(selection) { + const $$ = this; + const hasGauge = $$.hasType("gauge"); + if ($$.shouldShowArcLabel()) { + selection.style("fill", $$.updateTextColor.bind($$)).attr("filter", (d) => $$.updateTextBGColor.bind($$)(d, $$.config.data_labels_backgroundColors)).each(function(d) { + var _a; + const node = src_select(this); + const updated = $$.updateAngle(d); + const ratio = $$.getRatio("arc", updated); + const isUnderThreshold = $$.meetsLabelThreshold( + ratio, + (_a = ["donut", "gauge", "pie", "polar"].filter($$.hasType.bind($$))) == null ? void 0 : _a[0] + ); + if (isUnderThreshold) { + const { value } = updated || d; + const text = ($$.getArcLabelFormat() || $$.defaultArcValueFormat)(value, ratio, d.data.id).toString(); + setTextValue(node, text, [-1, 1], hasGauge); + } else { + node.text(""); + } + }); + } + }, + expandArc(targetIds) { + const $$ = this; + const { state: { transiting }, $el } = $$; + if (transiting) { + const interval = setInterval(() => { + if (!transiting) { + clearInterval(interval); + $el.legend.selectAll(`.${$FOCUS.legendItemFocused}`).size() > 0 && $$.expandArc(targetIds); + } + }, 10); + return; + } + const newTargetIds = $$.mapToTargetIds(targetIds); + $el.svg.selectAll($$.selectorTargets(newTargetIds, `.${$ARC.chartArc}`)).each(function(d) { + if (!$$.shouldExpand(d.data.id)) { + return; + } + const expandDuration = $$.getExpandConfig(d.data.id, "duration"); + const svgArcExpandedSub = $$.getSvgArcExpanded( + $$.getExpandConfig(d.data.id, "rate") + ); + src_select(this).selectAll("path").transition().duration(expandDuration).attrTween("d", getAttrTweenFn($$.svgArcExpanded.bind($$))).transition().duration(expandDuration * 2).attrTween("d", getAttrTweenFn(svgArcExpandedSub.bind($$))); + }); + }, + unexpandArc(targetIds) { + const $$ = this; + const { state: { transiting }, $el: { svg } } = $$; + if (transiting) { + return; + } + const newTargetIds = $$.mapToTargetIds(targetIds); + svg.selectAll($$.selectorTargets(newTargetIds, `.${$ARC.chartArc}`)).selectAll("path").transition().duration((d) => $$.getExpandConfig(d.data.id, "duration")).attrTween("d", getAttrTweenFn($$.svgArc.bind($$))); + svg.selectAll(`${$ARC.arc}`).style("opacity", null); + }, + /** + * Get expand config value + * @param {string} id data ID + * @param {string} key config key: 'duration | rate' + * @returns {number} + * @private + */ + getExpandConfig(id, key) { + const $$ = this; + const { config } = $$; + const def = { + duration: 50, + rate: 0.98 + }; + let type; + if ($$.isDonutType(id)) { + type = "donut"; + } else if ($$.isGaugeType(id)) { + type = "gauge"; + } else if ($$.isPieType(id)) { + type = "pie"; + } + return type ? config[`${type}_expand_${key}`] : def[key]; + }, + shouldExpand(id) { + const $$ = this; + const { config } = $$; + return $$.isDonutType(id) && config.donut_expand || $$.isGaugeType(id) && config.gauge_expand || $$.isPieType(id) && config.pie_expand; + }, + shouldShowArcLabel() { + const $$ = this; + const { config } = $$; + return ["donut", "gauge", "pie", "polar"].some((v) => $$.hasType(v) && config[`${v}_label_show`]); + }, + getArcLabelFormat() { + const $$ = this; + const { config } = $$; + let format = (v) => v; + ["donut", "gauge", "pie", "polar"].filter($$.hasType.bind($$)).forEach((v) => { + format = config[`${v}_label_format`]; + }); + return isFunction(format) ? format.bind($$.api) : format; + }, + updateTargetsForArc(targets) { + const $$ = this; + const { $el } = $$; + const hasGauge = $$.hasType("gauge"); + const classChartArc = $$.getChartClass("Arc"); + const classArcs = $$.getClass("arcs", true); + const classFocus = $$.classFocus.bind($$); + const chartArcs = $el.main.select(`.${$ARC.chartArcs}`); + const mainPieUpdate = chartArcs.selectAll(`.${$ARC.chartArc}`).data($$.pie(targets)).attr("class", (d) => classChartArc(d) + classFocus(d.data)); + const mainPieEnter = mainPieUpdate.enter().append("g").attr("class", classChartArc).call( + this.setCssRule(false, `.${$ARC.chartArcs} text`, [ + "pointer-events:none", + "text-anchor:middle" + ]) + ); + mainPieEnter.append("g").attr("class", classArcs).merge(mainPieUpdate); + mainPieEnter.append("text").attr("dy", hasGauge && !$$.hasMultiTargets() ? "-.1em" : ".35em").style("opacity", "0").style("text-anchor", $$.getStylePropValue("middle")).style("pointer-events", $$.getStylePropValue("none")); + $el.text = chartArcs.selectAll(`.${$COMMON.target} text`); + }, + initArc() { + const $$ = this; + const { $el } = $$; + $el.arcs = $el.main.select(`.${$COMMON.chart}`).append("g").attr("class", $ARC.chartArcs).attr("transform", $$.getTranslate("arc")); + $$.setArcTitle(); + }, + /** + * Set arc title text + * @param {string} str Title text + * @private + */ + setArcTitle(str) { + const $$ = this; + const title = str || $$.getArcTitle(); + const hasGauge = $$.hasType("gauge"); + if (title) { + const className = hasGauge ? $GAUGE.chartArcsGaugeTitle : $ARC.chartArcsTitle; + let text = $$.$el.arcs.select(`.${className}`); + if (text.empty()) { + text = $$.$el.arcs.append("text").attr("class", className).style("text-anchor", "middle"); + } + hasGauge && text.attr("dy", "-0.3em"); + setTextValue(text, title, hasGauge ? void 0 : [-0.6, 1.35], true); + } + }, + /** + * Return arc title text + * @returns {string} Arc title text + * @private + */ + getArcTitle() { + const $$ = this; + const type = $$.hasType("donut") && "donut" || $$.hasType("gauge") && "gauge"; + return type ? $$.config[`${type}_title`] : ""; + }, + /** + * Get arc title text with needle value + * @returns {string|boolean} When title contains needle template string will return processed string, otherwise false + * @private + */ + getArcTitleWithNeedleValue() { + const $$ = this; + const { config, state } = $$; + const title = $$.getArcTitle(); + if (title && $$.config.arc_needle_show && /{=[A-Z_]+}/.test(title)) { + let value = state.current.needle; + if (!isNumber(value)) { + value = config.arc_needle_value; + } + return tplProcess(title, { + NEEDLE_VALUE: isNumber(value) ? value : 0 + }); + } + return false; + }, + redrawArc(duration, durationForExit, withTransform) { + const $$ = this; + const { config, state, $el: { main } } = $$; + const hasInteraction = config.interaction_enabled; + const isSelectable = hasInteraction && config.data_selection_isselectable; + let mainArc = main.selectAll(`.${$ARC.arcs}`).selectAll(`.${$ARC.arc}`).data($$.arcData.bind($$)); + mainArc.exit().transition().duration(durationForExit).style("opacity", "0").remove(); + mainArc = mainArc.enter().append("path").attr("class", $$.getClass("arc", true)).style("fill", (d) => $$.color(d.data)).style("cursor", (d) => { + var _a; + return ((_a = isSelectable == null ? void 0 : isSelectable.bind) == null ? void 0 : _a.call(isSelectable, $$.api)(d)) ? "pointer" : null; + }).style("opacity", "0").each(function(d) { + if ($$.isGaugeType(d.data)) { + d.startAngle = config.gauge_startingAngle; + d.endAngle = config.gauge_startingAngle; + } + this._current = d; + }).merge(mainArc); + if ($$.hasType("gauge")) { + $$.updateGaugeMax(); + $$.hasMultiArcGauge() && $$.redrawArcGaugeLine(); + } + mainArc.attr("transform", (d) => !$$.isGaugeType(d.data) && withTransform ? "scale(0)" : "").style("opacity", function(d) { + return d === this._current ? "0" : null; + }).each(() => { + state.transiting = true; + }).transition().duration(duration).attrTween("d", function(d) { + const updated = $$.updateAngle(d); + if (!updated) { + return () => "M 0 0"; + } + if (isNaN(this._current.startAngle)) { + this._current.startAngle = 0; + } + if (isNaN(this._current.endAngle)) { + this._current.endAngle = this._current.startAngle; + } + const interpolate = value(this._current, updated); + this._current = interpolate(0); + return function(t) { + const interpolated = interpolate(t); + interpolated.data = d.data; + return $$.getArc(interpolated, true); + }; + }).attr("transform", withTransform ? "scale(1)" : "").style("fill", (d) => { + let color; + if ($$.levelColor) { + color = $$.levelColor(d.data.values[0].value); + config.data_colors[d.data.id] = color; + } else { + color = $$.color(d.data); + } + return color; + }).style("opacity", null).call(endall, function() { + if ($$.levelColor) { + const path = src_select(this); + const d = path.datum(this._current); + $$.updateLegendItemColor(d.data.id, path.style("fill")); + } + state.transiting = false; + callFn(config.onrendered, $$.api); + }); + hasInteraction && $$.bindArcEvent(mainArc); + $$.hasType("polar") && $$.redrawPolar(); + $$.hasType("gauge") && $$.redrawBackgroundArcs(); + config.arc_needle_show && $$.redrawNeedle(); + $$.redrawArcText(duration); + $$.redrawArcRangeText(); + }, + /** + * Update needle element + * @private + */ + redrawNeedle() { + const $$ = this; + const { $el, config, state: { hiddenTargetIds, radius } } = $$; + const length = (radius - 1) / 100 * config.arc_needle_length; + const hasDataToShow = hiddenTargetIds.length !== $$.data.targets.length; + let needle = $$.$el.arcs.select(`.${$ARC.needle}`); + const pathFn = config.arc_needle_path; + const baseWidth = config.arc_needle_bottom_width / 2; + const topWidth = config.arc_needle_top_width / 2; + const topRx = config.arc_needle_top_rx; + const topRy = config.arc_needle_top_ry; + const bottomLen = config.arc_needle_bottom_len; + const bottomRx = config.arc_needle_bottom_rx; + const bottomRy = config.arc_needle_bottom_ry; + const needleAngle = $$.getNeedleAngle(); + const updateNeedleValue = () => { + const title = $$.getArcTitleWithNeedleValue(); + title && $$.setArcTitle(title); + }; + updateNeedleValue(); + if (needle.empty()) { + needle = $el.arcs.append("path").classed($ARC.needle, true); + $el.needle = needle; + $el.needle.updateHelper = (v, updateConfig = false) => { + if ($el.needle.style("display") !== "none") { + $$.$T($el.needle).style("transform", `rotate(${$$.getNeedleAngle(v)}deg)`).call(endall, () => { + updateConfig && (config.arc_needle_value = v); + updateNeedleValue(); + }); + } + }; + } + if (hasDataToShow) { + const path = isFunction(pathFn) ? pathFn.call($$, length) : `M-${baseWidth} ${bottomLen} A${bottomRx} ${bottomRy} 0 0 0 ${baseWidth} ${bottomLen} L${topWidth} -${length} A${topRx} ${topRy} 0 0 0 -${topWidth} -${length} L-${baseWidth} ${bottomLen} Z`; + $$.$T(needle).attr("d", path).style("fill", config.arc_needle_color).style("display", null).style("transform", `rotate(${needleAngle}deg)`); + } else { + needle.style("display", "none"); + } + }, + /** + * Get needle angle value relative given value + * @param {number} v Value to be calculated angle + * @returns {number} angle value + * @private + */ + getNeedleAngle(v) { + const $$ = this; + const { config, state } = $$; + const arcLength = $$.getArcLength(); + const hasGauge = $$.hasType("gauge"); + const total = $$.getTotalDataSum(true); + let value = isDefined(v) ? v : config.arc_needle_value; + let startingAngle = config[`${config.data_type}_startingAngle`] || 0; + let radian = 0; + if (!isNumber(value)) { + value = hasGauge && $$.data.targets.length === 1 ? total : 0; + } + state.current.needle = value; + if (hasGauge) { + startingAngle = $$.getStartingAngle(); + const radius = config.gauge_fullCircle ? arcLength : startingAngle * -2; + const { gauge_min: min, gauge_max: max } = config; + radian = radius * ((value - min) / (max - min)); + } else { + radian = arcLength * (value / total); + } + return (startingAngle + radian) * (180 / Math.PI); + }, + redrawBackgroundArcs() { + const $$ = this; + const { config, state } = $$; + const hasMultiArcGauge = $$.hasMultiArcGauge(); + const isFullCircle = config.gauge_fullCircle; + const showEmptyTextLabel = $$.filterTargetsToShow($$.data.targets).length === 0 && !!config.data_empty_label_text; + const startAngle = $$.getStartingAngle(); + const endAngle = isFullCircle ? startAngle + $$.getArcLength() : startAngle * -1; + let backgroundArc = $$.$el.arcs.select( + `${hasMultiArcGauge ? "g" : ""}.${$ARC.chartArcsBackground}` + ); + if (hasMultiArcGauge) { + let index = 0; + backgroundArc = backgroundArc.selectAll(`path.${$ARC.chartArcsBackground}`).data($$.data.targets); + backgroundArc.enter().append("path").attr("class", (d, i) => `${$ARC.chartArcsBackground} ${$ARC.chartArcsBackground}-${i}`).merge(backgroundArc).style("fill", config.gauge_background || null).attr("d", ({ id }) => { + if (showEmptyTextLabel || state.hiddenTargetIds.indexOf(id) >= 0) { + return "M 0 0"; + } + const d = { + data: [{ value: config.gauge_max }], + startAngle, + endAngle, + index: index++ + }; + return $$.getArc(d, true, true); + }); + backgroundArc.exit().remove(); + } else { + backgroundArc.attr("d", showEmptyTextLabel ? "M 0 0" : () => { + const d = { + data: [{ value: config.gauge_max }], + startAngle, + endAngle + }; + return $$.getArc(d, true, true); + }); + } + }, + bindArcEvent(arc) { + const $$ = this; + const { config, state } = $$; + const isTouch = state.inputType === "touch"; + const isMouse = state.inputType === "mouse"; + function selectArc(_this, arcData, id) { + $$.expandArc(id); + $$.api.focus(id); + $$.toggleFocusLegend(id, true); + $$.showTooltip([arcData], _this); + } + function unselectArc(arcData) { + const id = (arcData == null ? void 0 : arcData.id) || void 0; + $$.unexpandArc(id); + $$.api.revert(); + $$.revertLegend(); + $$.hideTooltip(); + } + arc.on("click", function(event, d, i) { + var _a; + const updated = $$.updateAngle(d); + let arcData; + if (updated) { + arcData = $$.convertToArcData(updated); + (_a = $$.toggleShape) == null ? void 0 : _a.call($$, this, arcData, i); + config.data_onclick.bind($$.api)(arcData, this); + } + }); + if (isMouse) { + arc.on("mouseover", function(event, d) { + if (state.transiting) { + return; + } + state.event = event; + const updated = $$.updateAngle(d); + const arcData = updated ? $$.convertToArcData(updated) : null; + const id = (arcData == null ? void 0 : arcData.id) || void 0; + selectArc(this, arcData, id); + $$.setOverOut(true, arcData); + }).on("mouseout", (event, d) => { + if (state.transiting || !config.interaction_onout) { + return; + } + state.event = event; + const updated = $$.updateAngle(d); + const arcData = updated ? $$.convertToArcData(updated) : null; + unselectArc(); + $$.setOverOut(false, arcData); + }).on("mousemove", function(event, d) { + const updated = $$.updateAngle(d); + const arcData = updated ? $$.convertToArcData(updated) : null; + state.event = event; + $$.showTooltip([arcData], this); + }); + } + if (isTouch && $$.hasArcType() && !$$.radars) { + const getEventArc = (event) => { + var _a, _b; + const { clientX, clientY } = (_b = (_a = event.changedTouches) == null ? void 0 : _a[0]) != null ? _b : { clientX: 0, clientY: 0 }; + const eventArc = src_select(browser_doc.elementFromPoint(clientX, clientY)); + return eventArc; + }; + $$.$el.svg.on("touchstart touchmove", function(event) { + if (state.transiting) { + return; + } + state.event = event; + const eventArc = getEventArc(event); + const datum = eventArc.datum(); + const updated = (datum == null ? void 0 : datum.data) && datum.data.id ? $$.updateAngle(datum) : null; + const arcData = updated ? $$.convertToArcData(updated) : null; + const id = (arcData == null ? void 0 : arcData.id) || void 0; + $$.callOverOutForTouch(arcData); + isUndefined(id) ? unselectArc() : selectArc(this, arcData, id); + }); + } + }, + redrawArcText(duration) { + const $$ = this; + const { config, state, $el: { main, arcs } } = $$; + const hasGauge = $$.hasType("gauge"); + const hasMultiArcGauge = $$.hasMultiArcGauge(); + let text; + if (!(hasGauge && $$.data.targets.length === 1 && config.gauge_title)) { + text = main.selectAll(`.${$ARC.chartArc}`).select("text").style("opacity", "0").attr("class", (d) => $$.isGaugeType(d.data) ? $GAUGE.gaugeValue : null).call($$.textForArcLabel.bind($$)).attr("transform", (d) => $$.transformForArcLabel.bind($$)(d)).style("font-size", (d) => $$.isGaugeType(d.data) && $$.data.targets.length === 1 && !hasMultiArcGauge ? `${Math.round(state.radius / 5)}px` : null).transition().duration(duration).style( + "opacity", + (d) => $$.isTargetToShow(d.data.id) && $$.isArcType(d.data) ? null : "0" + ); + hasMultiArcGauge && text.attr("dy", "-.1em"); + } + main.select(`.${$ARC.chartArcsTitle}`).style("opacity", $$.hasType("donut") || hasGauge ? null : "0"); + if (hasGauge) { + const isFullCircle = config.gauge_fullCircle; + isFullCircle && (text == null ? void 0 : text.attr("dy", `${hasMultiArcGauge ? 0 : Math.round(state.radius / 14)}`)); + if (config.gauge_label_show) { + arcs.select(`.${$GAUGE.chartArcsGaugeUnit}`).attr("dy", `${isFullCircle ? 1.5 : 0.75}em`).text(config.gauge_units); + arcs.select(`.${$GAUGE.chartArcsGaugeMin}`).attr("dx", `${-1 * (state.innerRadius + (state.radius - state.innerRadius) / (isFullCircle ? 1 : 2))}px`).attr("dy", "1.2em").text($$.textForGaugeMinMax(config.gauge_min, false)); + !isFullCircle && arcs.select(`.${$GAUGE.chartArcsGaugeMax}`).attr("dx", `${state.innerRadius + (state.radius - state.innerRadius) / 2}px`).attr("dy", "1.2em").text($$.textForGaugeMinMax(config.gauge_max, true)); + } + } + }, + /** + * Get Arc element by id or index + * @param {string|number} value id or index of Arc + * @returns {d3Selection} Arc path element + * @private + */ + getArcElementByIdOrIndex(value) { + const $$ = this; + const { $el: { arcs } } = $$; + const filterFn = isNumber(value) ? (d) => d.index === value : (d) => d.data.id === value; + return arcs == null ? void 0 : arcs.selectAll(`.${$COMMON.target} path`).filter(filterFn); + } +}); + +;// ./node_modules/d3-shape/src/point.js +function point_x(p) { + return p[0]; +} +function point_y(p) { + return p[1]; +} + +;// ./node_modules/d3-shape/src/line.js + + + + + +/* harmony default export */ function src_line(x, y) { + var defined = d3_shape_src_constant(true), context = null, curve = curve_linear, output = null, path = withPath(line); + x = typeof x === "function" ? x : x === void 0 ? point_x : d3_shape_src_constant(x); + y = typeof y === "function" ? y : y === void 0 ? point_y : d3_shape_src_constant(y); + function line(data) { + var i, n = (data = d3_shape_src_array(data)).length, d, defined0 = false, buffer; + if (context == null) output = curve(buffer = path()); + for (i = 0; i <= n; ++i) { + if (!(i < n && defined(d = data[i], i, data)) === defined0) { + if (defined0 = !defined0) output.lineStart(); + else output.lineEnd(); + } + if (defined0) output.point(+x(d, i, data), +y(d, i, data)); + } + if (buffer) return output = null, buffer + "" || null; + } + line.x = function(_) { + return arguments.length ? (x = typeof _ === "function" ? _ : d3_shape_src_constant(+_), line) : x; + }; + line.y = function(_) { + return arguments.length ? (y = typeof _ === "function" ? _ : d3_shape_src_constant(+_), line) : y; + }; + line.defined = function(_) { + return arguments.length ? (defined = typeof _ === "function" ? _ : d3_shape_src_constant(!!_), line) : defined; + }; + line.curve = function(_) { + return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve; + }; + line.context = function(_) { + return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context; + }; + return line; +} + +;// ./node_modules/d3-shape/src/area.js + + + + + + +/* harmony default export */ function src_area(x0, y0, y1) { + var x1 = null, defined = d3_shape_src_constant(true), context = null, curve = curve_linear, output = null, path = withPath(area); + x0 = typeof x0 === "function" ? x0 : x0 === void 0 ? point_x : d3_shape_src_constant(+x0); + y0 = typeof y0 === "function" ? y0 : y0 === void 0 ? d3_shape_src_constant(0) : d3_shape_src_constant(+y0); + y1 = typeof y1 === "function" ? y1 : y1 === void 0 ? point_y : d3_shape_src_constant(+y1); + function area(data) { + var i, j, k, n = (data = d3_shape_src_array(data)).length, d, defined0 = false, buffer, x0z = new Array(n), y0z = new Array(n); + if (context == null) output = curve(buffer = path()); + for (i = 0; i <= n; ++i) { + if (!(i < n && defined(d = data[i], i, data)) === defined0) { + if (defined0 = !defined0) { + j = i; + output.areaStart(); + output.lineStart(); + } else { + output.lineEnd(); + output.lineStart(); + for (k = i - 1; k >= j; --k) { + output.point(x0z[k], y0z[k]); + } + output.lineEnd(); + output.areaEnd(); + } + } + if (defined0) { + x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data); + output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]); + } + } + if (buffer) return output = null, buffer + "" || null; + } + function arealine() { + return src_line().defined(defined).curve(curve).context(context); + } + area.x = function(_) { + return arguments.length ? (x0 = typeof _ === "function" ? _ : d3_shape_src_constant(+_), x1 = null, area) : x0; + }; + area.x0 = function(_) { + return arguments.length ? (x0 = typeof _ === "function" ? _ : d3_shape_src_constant(+_), area) : x0; + }; + area.x1 = function(_) { + return arguments.length ? (x1 = _ == null ? null : typeof _ === "function" ? _ : d3_shape_src_constant(+_), area) : x1; + }; + area.y = function(_) { + return arguments.length ? (y0 = typeof _ === "function" ? _ : d3_shape_src_constant(+_), y1 = null, area) : y0; + }; + area.y0 = function(_) { + return arguments.length ? (y0 = typeof _ === "function" ? _ : d3_shape_src_constant(+_), area) : y0; + }; + area.y1 = function(_) { + return arguments.length ? (y1 = _ == null ? null : typeof _ === "function" ? _ : d3_shape_src_constant(+_), area) : y1; + }; + area.lineX0 = area.lineY0 = function() { + return arealine().x(x0).y(y0); + }; + area.lineY1 = function() { + return arealine().x(x0).y(y1); + }; + area.lineX1 = function() { + return arealine().x(x1).y(y0); + }; + area.defined = function(_) { + return arguments.length ? (defined = typeof _ === "function" ? _ : d3_shape_src_constant(!!_), area) : defined; + }; + area.curve = function(_) { + return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve; + }; + area.context = function(_) { + return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context; + }; + return area; +} + +;// ./src/ChartInternal/shape/area.ts + + + + +/* harmony default export */ var shape_area = ({ + initArea(mainLine) { + const $$ = this; + const { config } = $$; + mainLine.insert("g", `.${config.area_front ? $CIRCLE.circles : $LINE.lines}`).attr("class", $$.getClass("areas", true)); + }, + /** + * Update area color + * @param {object} d Data object + * @returns {string} Color string + * @private + */ + updateAreaColor(d) { + const $$ = this; + return $$.config.area_linearGradient ? $$.getGradienColortUrl(d.id) : $$.color(d); + }, + /** + * Generate/Update elements + * @param {boolean} withTransition Transition for exit elements + * @param {boolean} isSub Subchart draw + * @private + */ + updateArea(withTransition, isSub = false) { + const $$ = this; + const { config, state, $el, $T } = $$; + const $root = isSub ? $el.subchart : $el; + config.area_linearGradient && $$.updateLinearGradient(); + const area = $root.main.selectAll(`.${$AREA.areas}`).selectAll(`.${$AREA.area}`).data($$.lineData.bind($$)); + $T(area.exit(), withTransition).style("opacity", "0").remove(); + $root.area = area.enter().append("path").attr("class", $$.getClass("area", true)).style("fill", $$.updateAreaColor.bind($$)).style("opacity", function() { + state.orgAreaOpacity = src_select(this).style("opacity"); + return "0"; + }).merge(area); + area.style("opacity", state.orgAreaOpacity); + $$.setRatioForGroupedData($root.area.data()); + }, + /** + * Redraw function + * @param {Function} drawFn Retuned functino from .generateDrawCandlestick() + * @param {boolean} withTransition With or without transition + * @param {boolean} isSub Subchart draw + * @returns {Array} + */ + redrawArea(drawFn, withTransition, isSub = false) { + const $$ = this; + const { area } = isSub ? this.$el.subchart : this.$el; + const { orgAreaOpacity } = $$.state; + return [ + $$.$T(area, withTransition, getRandom()).attr("d", drawFn).style("fill", $$.updateAreaColor.bind($$)).style( + "opacity", + (d) => String($$.isAreaRangeType(d) ? orgAreaOpacity / 1.75 : orgAreaOpacity) + ) + ]; + }, + /** + * Generate area path data + * @param {object} areaIndices Indices + * @param {boolean} isSub Weather is sub axis + * @returns {Function} + * @private + */ + generateDrawArea(areaIndices, isSub) { + const $$ = this; + const { config } = $$; + const lineConnectNull = config.line_connectNull; + const isRotated = config.axis_rotated; + const getPoints = $$.generateGetAreaPoints(areaIndices, isSub); + const yScale = $$.getYScaleById.bind($$); + const xValue = (d) => (isSub ? $$.subxx : $$.xx).call($$, d); + const value0 = (d, i) => $$.isGrouped(d.id) ? getPoints(d, i)[0][1] : yScale(d.id, isSub)( + $$.isAreaRangeType(d) ? $$.getRangedData(d, "high") : $$.getShapeYMin(d.id) + ); + const value1 = (d, i) => $$.isGrouped(d.id) ? getPoints(d, i)[1][1] : yScale(d.id, isSub)( + $$.isAreaRangeType(d) ? $$.getRangedData(d, "low") : d.value + ); + return (d) => { + let values = lineConnectNull ? $$.filterRemoveNull(d.values) : d.values; + let x0 = 0; + let y0 = 0; + let path; + if ($$.isAreaType(d)) { + let area = src_area(); + area = isRotated ? area.y(xValue).x0(value0).x1(value1) : area.x(xValue).y0(config.area_above ? 0 : config.area_below ? $$.state.height : value0).y1(value1); + if (!lineConnectNull) { + area = area.defined((d2) => $$.getBaseValue(d2) !== null); + } + if ($$.isStepType(d)) { + values = $$.convertValuesToStep(values); + } + path = area.curve($$.getCurve(d))(values); + } else { + if (values[0]) { + x0 = $$.scale.x(values[0].x); + y0 = $$.getYScaleById(d.id)(values[0].value); + } + path = isRotated ? `M ${y0} ${x0}` : `M ${x0} ${y0}`; + } + return path || "M 0 0"; + }; + }, + generateGetAreaPoints(areaIndices, isSub) { + const $$ = this; + const { config } = $$; + const x = $$.getShapeX(0, areaIndices, isSub); + const y = $$.getShapeY(!!isSub); + const areaOffset = $$.getShapeOffset($$.isAreaType, areaIndices, isSub); + const yScale = $$.getYScaleById.bind($$); + return function(d, i) { + const y0 = yScale.call($$, d.id, isSub)($$.getShapeYMin(d.id)); + const offset = areaOffset(d, i) || y0; + const posX = x(d); + const value = d.value; + let posY = y(d); + if (config.axis_rotated && (value > 0 && posY < y0 || value < 0 && y0 < posY)) { + posY = y0; + } + return [ + [posX, offset], + [posX, posY - (y0 - offset)], + [posX, posY - (y0 - offset)], + // needed for compatibility + [posX, offset] + // needed for compatibility + ]; + }; + } +}); + +;// ./src/ChartInternal/shape/bar.ts + + +/* harmony default export */ var bar = ({ + initBar() { + const { $el, config, state: { clip } } = this; + $el.bar = $el.main.select(`.${$COMMON.chart}`); + $el.bar = config.bar_front ? $el.bar.append("g") : $el.bar.insert("g", ":first-child"); + $el.bar.attr("class", $BAR.chartBars).call(this.setCssRule(false, `.${$BAR.chartBars}`, ["pointer-events:none"])); + if (config.clipPath === false && (config.bar_radius || config.bar_radius_ratio)) { + $el.bar.attr("clip-path", clip.pathXAxis.replace(/#[^)]*/, `#${clip.id}`)); + } + }, + updateTargetsForBar(targets) { + const $$ = this; + const { config, $el } = $$; + const classChartBar = $$.getChartClass("Bar"); + const classBars = $$.getClass("bars", true); + const classFocus = $$.classFocus.bind($$); + const isSelectable = config.interaction_enabled && config.data_selection_isselectable; + if (!$el.bar) { + $$.initBar(); + } + const mainBarUpdate = $el.main.select(`.${$BAR.chartBars}`).selectAll(`.${$BAR.chartBar}`).data( + // remove + targets.filter( + (v) => v.values.some((d) => isNumber(d.value) || $$.isBarRangeType(d)) + ) + ).attr("class", (d) => classChartBar(d) + classFocus(d)); + const mainBarEnter = mainBarUpdate.enter().append("g").attr("class", classChartBar).style("opacity", "0").style("pointer-events", $$.getStylePropValue("none")); + mainBarEnter.append("g").attr("class", classBars).style("cursor", (d) => { + var _a; + return ((_a = isSelectable == null ? void 0 : isSelectable.bind) == null ? void 0 : _a.call(isSelectable, $$.api)(d)) ? "pointer" : null; + }).call($$.setCssRule(true, ` .${$BAR.bar}`, ["fill"], $$.color)); + }, + /** + * Generate/Update elements + * @param {boolean} withTransition Transition for exit elements + * @param {boolean} isSub Subchart draw + * @private + */ + updateBar(withTransition, isSub = false) { + const $$ = this; + const { config, $el, $T } = $$; + const $root = isSub ? $el.subchart : $el; + const classBar = $$.getClass("bar", true); + const initialOpacity = $$.initialOpacity.bind($$); + config.bar_linearGradient && $$.updateLinearGradient(); + const bar = $root.main.selectAll(`.${$BAR.bars}`).selectAll(`.${$BAR.bar}`).data($$.labelishData.bind($$)); + $T(bar.exit(), withTransition).style("opacity", "0").remove(); + $root.bar = bar.enter().append("path").attr("class", classBar).style("fill", $$.updateBarColor.bind($$)).merge(bar).style("opacity", initialOpacity); + $$.setRatioForGroupedData($root.bar.data()); + }, + /** + * Update bar color + * @param {object} d Data object + * @returns {string} Color string + * @private + */ + updateBarColor(d) { + const $$ = this; + const fn = $$.getStylePropValue($$.color); + return $$.config.bar_linearGradient ? $$.getGradienColortUrl(d.id) : fn ? fn(d) : null; + }, + /** + * Redraw function + * @param {Function} drawFn Retuned function from .getDrawShape() => .generateDrawBar() + * @param {boolean} withTransition With or without transition + * @param {boolean} isSub Subchart draw + * @returns {Array} + * @private + */ + redrawBar(drawFn, withTransition, isSub = false) { + const $$ = this; + const { bar } = isSub ? $$.$el.subchart : $$.$el; + return [ + $$.$T(bar, withTransition, getRandom()).attr("d", (d) => (isNumber(d.value) || $$.isBarRangeType(d)) && drawFn(d)).style("fill", $$.updateBarColor.bind($$)).style("clip-path", (d) => d.clipPath).style("opacity", null) + ]; + }, + /** + * Generate draw function + * @param {object} barIndices data order within x axis. + * barIndices ==> {data1: 0, data2: 0, data3: 1, data4: 1, __max__: 1} + * + * When gropus given as: + * groups: [ + * ["data1", "data2"], + * ["data3", "data4"] + * ], + * + * Will be rendered as: + * data1 data3 data1 data3 + * data2 data4 data2 data4 + * ------------------------- + * 0 1 + * @param {boolean} isSub If is for subchart + * @returns {Function} + * @private + */ + generateDrawBar(barIndices, isSub) { + const $$ = this; + const { config } = $$; + const getPoints = $$.generateGetBarPoints(barIndices, isSub); + const isRotated = config.axis_rotated; + const barRadius = config.bar_radius; + const barRadiusRatio = config.bar_radius_ratio; + const getRadius = isNumber(barRadius) && barRadius > 0 ? () => barRadius : isNumber(barRadiusRatio) ? (w) => w * barRadiusRatio : null; + return (d, i) => { + const points = getPoints(d, i); + const indexX = +isRotated; + const indexY = +!indexX; + const isUnderZero = d.value < 0; + const isInverted = config[`axis_${$$.axis.getId(d.id)}_inverted`]; + const isNegative = !isInverted && isUnderZero || isInverted && !isUnderZero; + const pathRadius = ["", ""]; + const isGrouped = $$.isGrouped(d.id); + const isRadiusData = getRadius && isGrouped ? $$.isStackingRadiusData(d) : false; + const init = [ + points[0][indexX], + points[0][indexY] + ]; + let radius = 0; + d.clipPath = null; + if (getRadius) { + const index = isRotated ? indexY : indexX; + const barW = points[2][index] - points[0][index]; + radius = !isGrouped || isRadiusData ? getRadius(barW) : 0; + const arc = `a${radius} ${radius} ${isNegative ? `1 0 0` : `0 0 1`} `; + pathRadius[+!isRotated] = `${arc}${radius},${radius}`; + pathRadius[+isRotated] = `${arc}${[-radius, radius][isRotated ? "sort" : "reverse"]()}`; + isNegative && pathRadius.reverse(); + } + const pos = isRotated ? points[1][indexX] + (isNegative ? radius : -radius) : points[1][indexY] + (isNegative ? -radius : radius); + if (radius) { + let clipPath = ""; + if (isRotated) { + if (isNegative && init[0] < pos) { + clipPath = `0 ${pos - init[0]}px 0 0`; + } else if (!isNegative && init[0] > pos) { + clipPath = `0 0 0 ${init[0] - pos}px`; + } + } else { + if (isNegative && init[1] > pos) { + clipPath = `${init[1] - pos}px 0 0 0`; + } else if (!isNegative && init[1] < pos) { + clipPath = `0 0 ${pos - init[1]}px 0`; + } + } + if (clipPath) { + d.clipPath = `inset(${clipPath})`; + } + } + const path = isRotated ? `H${pos} ${pathRadius[0]}V${points[2][indexY] - radius} ${pathRadius[1]}H${points[3][indexX]}` : `V${pos} ${pathRadius[0]}H${points[2][indexX] - radius} ${pathRadius[1]}V${points[3][indexY]}`; + return `M${points[0][indexX]},${points[0][indexY]}${path}z`; + }; + }, + /** + * Determine if given stacking bar data is radius type + * @param {object} d Data row + * @returns {boolean} + */ + isStackingRadiusData(d) { + const $$ = this; + const { $el, config, data, state } = $$; + const { id, index, value } = d; + if (state.hiddenTargetIds.indexOf(id) > -1) { + const target = $el.bar.filter((d2) => d2.id === id && d2.value === value); + return !target.empty() && /a\d+/i.test(target.attr("d")); + } + const keys = config.data_groups.find((v) => v.indexOf(id) > -1); + const sortedList = $$.orderTargets( + $$.filterTargetsToShow(data.targets.filter($$.isBarType, $$)) + ).filter((v) => keys.indexOf(v.id) > -1); + const sortedIds = sortedList.map( + (v) => v.values.filter( + (v2) => v2.index === index && (isNumber(value) && value > 0 ? v2.value > 0 : v2.value < 0) + )[0] + ).filter(Boolean).map((v) => v.id); + return value !== 0 && sortedIds.indexOf(id) === sortedIds.length - 1; + }, + /** + * Generate bar coordinate points data + * @param {object} barIndices Data order within x axis. + * @param {boolean} isSub If is for subchart + * @returns {Array} Array of coordinate points + * @private + */ + generateGetBarPoints(barIndices, isSub) { + const $$ = this; + const { config } = $$; + const axis = isSub ? $$.axis.subX : $$.axis.x; + const barTargetsNum = $$.getIndicesMax(barIndices) + 1; + const barW = $$.getBarW("bar", axis, barTargetsNum); + const barX = $$.getShapeX(barW, barIndices, !!isSub); + const barY = $$.getShapeY(!!isSub); + const barOffset = $$.getShapeOffset($$.isBarType, barIndices, !!isSub); + const yScale = $$.getYScaleById.bind($$); + return (d, i) => { + const { id } = d; + const y0 = yScale.call($$, id, isSub)($$.getShapeYMin(id)); + const offset = barOffset(d, i) || y0; + const width = isNumber(barW) ? barW : barW[d.id] || barW._$width; + const isInverted = config[`axis_${$$.axis.getId(id)}_inverted`]; + const value = d.value; + const posX = barX(d); + let posY = barY(d); + if (config.axis_rotated && !isInverted && (value > 0 && posY < y0 || value < 0 && y0 < posY)) { + posY = y0; + } + if (!$$.isBarRangeType(d)) { + posY -= y0 - offset; + } + const startPosX = posX + width; + return [ + [posX, offset], + [posX, posY], + [startPosX, posY], + [startPosX, offset] + ]; + }; + } +}); + +;// ./src/ChartInternal/shape/bubble.ts + + +/* harmony default export */ var bubble = ({ + /** + * Initializer + * @private + */ + initBubble() { + const $$ = this; + const { config } = $$; + if ($$.hasType("bubble")) { + config.point_show = true; + config.point_type = "circle"; + } + }, + /** + * Get user agent's computed value + * @returns {number} + * @private + */ + getBaseLength() { + const $$ = this; + const { width, height } = $$.state; + const cacheKey = KEY.bubbleBaseLength; + let baseLength = $$.cache.get(cacheKey); + if (!baseLength) { + $$.cache.add(cacheKey, baseLength = getMinMax("min", [width, height])); + } + return baseLength; + }, + /** + * Get the radius value for bubble circle + * @param {object} d Data object + * @returns {number} + * @private + */ + getBubbleR(d) { + const $$ = this; + let maxR = $$.config.bubble_maxR; + if (isFunction(maxR)) { + maxR = maxR.bind($$.api)(d); + } else if (!isNumber(maxR)) { + maxR = $$.getBaseLength() / ($$.getMaxDataCount() * 2) + 12; + } + const max = getMinMax("max", $$.getMinMaxData().max.map((d2) => $$.isBubbleZType(d2) ? $$.getBubbleZData(d2.value, "y") : isObject(d2.value) ? d2.value.mid : d2.value)); + const maxArea = maxR * maxR * Math.PI; + const area = ($$.isBubbleZType(d) ? $$.getBubbleZData(d.value, "z") : d.value) * (maxArea / max); + return Math.sqrt(area / Math.PI); + }, + /** + * Get bubble dimension data + * @param {object|Array} d data value + * @param {string} type - y or z + * @returns {number} + * @private + */ + getBubbleZData(d, type) { + return isObject(d) ? d[type] : d[type === "y" ? 0 : 1]; + } +}); + +;// ./src/ChartInternal/shape/candlestick.ts +var candlestick_defProp = Object.defineProperty; +var candlestick_getOwnPropSymbols = Object.getOwnPropertySymbols; +var candlestick_hasOwnProp = Object.prototype.hasOwnProperty; +var candlestick_propIsEnum = Object.prototype.propertyIsEnumerable; +var candlestick_defNormalProp = (obj, key, value) => key in obj ? candlestick_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var candlestick_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (candlestick_hasOwnProp.call(b, prop)) + candlestick_defNormalProp(a, prop, b[prop]); + if (candlestick_getOwnPropSymbols) + for (var prop of candlestick_getOwnPropSymbols(b)) { + if (candlestick_propIsEnum.call(b, prop)) + candlestick_defNormalProp(a, prop, b[prop]); + } + return a; +}; + + + +/* harmony default export */ var candlestick = ({ + initCandlestick() { + const { $el } = this; + $el.candlestick = $el.main.select(`.${$COMMON.chart}`).append("g").attr("class", $CANDLESTICK.chartCandlesticks); + }, + /** + * Update targets by its data + * called from: ChartInternal.updateTargets() + * @param {Array} targets Filtered target by type + * @private + */ + updateTargetsForCandlestick(targets) { + const $$ = this; + const { $el } = $$; + const classChart = $$.getChartClass("Candlestick"); + if (!$el.candlestick) { + $$.initCandlestick(); + } + const mainUpdate = $$.$el.main.select(`.${$CANDLESTICK.chartCandlesticks}`).selectAll(`.${$CANDLESTICK.chartCandlestick}`).data(targets); + mainUpdate.enter().append("g").attr("class", classChart).style("pointer-events", "none"); + }, + /** + * Generate/Update elements + * @param {boolean} withTransition Transition for exit elements + * @param {boolean} isSub Subchart draw + * @private + */ + updateCandlestick(withTransition, isSub = false) { + const $$ = this; + const { $el, $T } = $$; + const $root = isSub ? $el.subchart : $el; + const classSetter = $$.getClass("candlestick", true); + const initialOpacity = $$.initialOpacity.bind($$); + const candlestick = $root.main.selectAll(`.${$CANDLESTICK.chartCandlestick}`).selectAll(`.${$CANDLESTICK.candlestick}`).data($$.labelishData.bind($$)); + $T(candlestick.exit(), withTransition).style("opacity", "0").remove(); + const candlestickEnter = candlestick.enter().filter((d) => d.value).append("g").attr("class", classSetter); + candlestickEnter.append("line"); + candlestickEnter.append("path"); + $root.candlestick = candlestick.merge(candlestickEnter).style("opacity", initialOpacity); + }, + /** + * Get draw function + * @param {object} indices Indice data + * @param {boolean} isSub Subchart draw + * @returns {Function} + * @private + */ + generateDrawCandlestick(indices, isSub) { + const $$ = this; + const { config } = $$; + const getPoints = $$.generateGetCandlestickPoints(indices, isSub); + const isRotated = config.axis_rotated; + const downColor = config.candlestick_color_down; + return (d, i, g) => { + const points = getPoints(d, i); + const value = $$.getCandlestickData(d); + const isUp = value == null ? void 0 : value._isUp; + const indexX = +isRotated; + const indexY = +!indexX; + if (g.classed) { + g.classed($CANDLESTICK[isUp ? "valueUp" : "valueDown"], true); + } + const path = isRotated ? `H${points[1][1]} V${points[1][0]} H${points[0][1]}` : `V${points[1][1]} H${points[1][0]} V${points[0][1]}`; + g.select("path").attr("d", `M${points[0][indexX]},${points[0][indexY]}${path}z`).style("fill", (d2) => { + const color = isUp ? $$.color(d2) : isObject(downColor) ? downColor[d2.id] : downColor; + return color || $$.color(d2); + }); + const line = g.select("line"); + const pos = isRotated ? { + x1: points[2][1], + x2: points[2][2], + y1: points[2][0], + y2: points[2][0] + } : { + x1: points[2][0], + x2: points[2][0], + y1: points[2][1], + y2: points[2][2] + }; + for (const x in pos) { + line.attr(x, pos[x]); + } + }; + }, + /** + * Generate shape drawing points + * @param {object} indices Indice data + * @param {boolean} isSub Subchart draw + * @returns {Function} + */ + generateGetCandlestickPoints(indices, isSub = false) { + const $$ = this; + const axis = isSub ? $$.axis.subX : $$.axis.x; + const targetsNum = $$.getIndicesMax(indices) + 1; + const barW = $$.getBarW("candlestick", axis, targetsNum); + const x = $$.getShapeX(barW, indices, !!isSub); + const y = $$.getShapeY(!!isSub); + const shapeOffset = $$.getShapeOffset($$.isBarType, indices, !!isSub); + const yScale = $$.getYScaleById.bind($$); + return (d, i) => { + const y0 = yScale.call($$, d.id, isSub)($$.getShapeYMin(d.id)); + const offset = shapeOffset(d, i) || y0; + const width = isNumber(barW) ? barW : barW[d.id] || barW._$width; + const value = $$.getCandlestickData(d); + let points; + if (value && isNumber(value.open) && isNumber(value.close)) { + const posX = { + start: x(d), + end: 0 + }; + posX.end = posX.start + width; + const posY = { + start: y(value.open), + end: y(value.close) + }; + const posLine = { + x: posX.start + width / 2, + high: y(value.high), + low: y(value.low) + }; + posY.start -= y0 - offset; + points = [ + [posX.start, posY.start], + [posX.end, posY.end], + [posLine.x, posLine.low, posLine.high] + ]; + } else { + points = [[0, 0], [0, 0], [0, 0, 0]]; + } + return points; + }; + }, + /** + * Redraw function + * @param {Function} drawFn Retuned functino from .generateDrawCandlestick() + * @param {boolean} withTransition With or without transition + * @param {boolean} isSub Subchart draw + * @returns {Array} + */ + redrawCandlestick(drawFn, withTransition, isSub = false) { + const $$ = this; + const { $el, $T } = $$; + const { candlestick } = isSub ? $el.subchart : $el; + const rand = getRandom(true); + return [ + candlestick.each(function(d, i) { + const g = $T(src_select(this), withTransition, rand); + drawFn(d, i, g); + }).style("opacity", null) + ]; + }, + /** + * Get candlestick data as object + * @param {object} param Data object + * @param {Array|object} param.value Data value + * @returns {object|null} Converted data object + * @private + */ + getCandlestickData({ value }) { + let d; + if (isArray(value)) { + const [open, high, low, close, volume = false] = value; + d = { open, high, low, close }; + if (volume !== false) { + d.volume = volume; + } + } else if (isObject(value)) { + d = candlestick_spreadValues({}, value); + } + if (d) { + d._isUp = d.close >= d.open; + } + return d || null; + } +}); + +;// ./src/ChartInternal/shape/funnel.ts +var funnel_defProp = Object.defineProperty; +var funnel_getOwnPropSymbols = Object.getOwnPropertySymbols; +var funnel_hasOwnProp = Object.prototype.hasOwnProperty; +var funnel_propIsEnum = Object.prototype.propertyIsEnumerable; +var funnel_defNormalProp = (obj, key, value) => key in obj ? funnel_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var funnel_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (funnel_hasOwnProp.call(b, prop)) + funnel_defNormalProp(a, prop, b[prop]); + if (funnel_getOwnPropSymbols) + for (var prop of funnel_getOwnPropSymbols(b)) { + if (funnel_propIsEnum.call(b, prop)) + funnel_defNormalProp(a, prop, b[prop]); + } + return a; +}; + + + +function getSize(checkNeck = false) { + const $$ = this; + const { config, state: { current: { width, height } } } = $$; + const padding = $$.getCurrentPadding(); + const size = funnel_spreadValues({ + width: width - (padding.left + padding.right), + height: height - (config.legend_show ? $$.getLegendHeight() + 10 : 0) - (padding.top + padding.bottom) + }, padding); + if (checkNeck) { + const { width: neckWidth, height: neckHeight } = getNecklSize.call($$, { + width: size.width, + height: size.height + }); + if (size.width < neckWidth) { + size.width = neckWidth; + } + if (size.height < neckHeight) { + size.height = neckHeight; + } + } + return size; +} +function getNecklSize(current) { + const $$ = this; + const { config } = $$; + let width = config.funnel_neck_width; + let height = config.funnel_neck_height; + [width, height] = [width, height].map((v, i) => { + let size = v; + if (isObject(v)) { + size = current[i ? "height" : "width"] * v.ratio; + } + return size; + }); + return { + width, + height + }; +} +function getCoord(d) { + const $$ = this; + const { top, left, width } = getSize.call($$, true); + const coords = []; + d.forEach((d2, i) => { + const { ratio } = d2; + const y = i > 0 ? coords[i - 1][2][1] : top; + coords.push(d2.coords = [ + [left, y], + // M + [left + width, y], + // 1 + [left + width, i > 0 ? ratio + y : ratio + top], + // 2 + [left, i > 0 ? ratio + y : ratio + top], + // 3 + [left, y] + // 4 + ]); + }); + return coords; +} +function getClipPath(forBackground = false) { + const $$ = this; + const { width, height, top, left } = getSize.call($$, true); + const neck = getNecklSize.call($$, { width, height }); + const leftX = (width - neck.width) / 2; + const rightX = (width + neck.width) / 2; + const bodyHeigth = height - neck.height; + const coords = [ + [0, 0], + // M + [width, 0], + // 1 + [rightX, bodyHeigth], + // 2 + [rightX, height], + // 3 + [leftX, height], + // 4 + [leftX, bodyHeigth], + // 5 + [0, 0] + // 6 + ]; + if (forBackground) { + coords.forEach((d) => { + d[0] += left; + d[1] += top; + }); + } + return `M${coords.join("L")}z`; +} +function getFunnelData(d) { + const $$ = this; + const { config } = $$; + const data = d.map((d2) => ({ + id: d2.id, + value: d2.values.reduce((a, b) => a + b.value, 0) + })); + if (config.data_order) { + data.sort($$.getSortCompareFn.bind($$)(true)); + } + return updateRatio.call($$, data); +} +function updateRatio(data) { + const $$ = this; + const { height } = getSize.call($$); + const total = $$.getTotalDataSum(true); + data.forEach((d) => { + d.ratio = d.value / total * height; + }); + return data; +} +/* harmony default export */ var funnel = ({ + /** + * Initialize polar + * @private + */ + initFunnel() { + const $$ = this; + const { $el } = $$; + $el.funnel = $el.main.select(`.${$COMMON.chart}`).append("g").classed($FUNNEL.chartFunnels, true); + $el.funnel.background = $el.funnel.append("path").classed($FUNNEL.funnelBackground, true); + $$.bindFunnelEvent(); + }, + /** + * Bind events + * @private + */ + bindFunnelEvent() { + const $$ = this; + const { $el: { funnel }, config, state } = $$; + const getTarget = (event) => { + var _a; + const target = event.isTrusted ? event.target : (_a = state.eventReceiver.rect) == null ? void 0 : _a.node(); + let data; + if (/^path$/i.test(target.tagName)) { + state.event = event; + data = src_select(target).datum(); + } + return data; + }; + if (config.interaction_enabled) { + const isTouch = state.inputType === "touch"; + funnel.on(isTouch ? "touchstart" : "mouseover mousemove", (event) => { + const data = getTarget(event); + if (data) { + $$.showTooltip([data], event.target); + /^(touchstart|mouseover)$/.test(event.type) && $$.setOverOut(true, data); + } + }).on(isTouch ? "touchend" : "mouseout", (event) => { + const data = getTarget(event); + if (config.interaction_onout) { + $$.hideTooltip(); + $$.setOverOut(false, data); + } + }); + } + }, + /** + * Update polar based on given data array + * @param {object} t Data object + * @private + */ + updateTargetsForFunnel(t) { + const $$ = this; + const { $el: { funnel } } = $$; + const classChartFunnel = $$.getChartClass("Funnel"); + const classFunnel = $$.getClass("funnel", true); + if (!funnel) { + $$.initFunnel(); + } + const targets = getFunnelData.call($$, t.filter($$.isFunnelType.bind($$))); + const mainFunnelUpdate = funnel.selectAll(`.${$FUNNEL.chartFunnel}`).data(targets); + mainFunnelUpdate.exit().remove(); + const mainFunnelEnter = mainFunnelUpdate.enter().insert("g", `.${$FUNNEL.funnelBackground}`); + mainFunnelEnter.append("path"); + funnel.path = mainFunnelEnter.merge(mainFunnelUpdate).attr("class", (d) => classChartFunnel(d)).select("path").attr("class", classFunnel).style("opacity", "0").style("fill", $$.color); + }, + /** + * Update funnel path selection + * @param {object} targets Updated target data + * @private + */ + updateFunnel(targets) { + const $$ = this; + const { $el: { funnel } } = $$; + const targetIds = targets.map(({ id }) => id); + funnel.path = funnel.path.filter((d) => targetIds.indexOf(d.id) >= 0); + }, + /** + * Generate treemap coordinate points data + * @returns {Array} Array of coordinate points + * @private + */ + generateGetFunnelPoints() { + const $$ = this; + const { $el: { funnel } } = $$; + const targets = $$.filterTargetsToShow(funnel.path); + const { top, left, right } = getSize.call($$); + const center = (left - right) / 2; + const points = {}; + let accumulatedHeight = top != null ? top : 0; + targets.each((d, i) => { + var _a; + points[d.id] = [ + [center, accumulatedHeight], + [center, accumulatedHeight += ((_a = targets == null ? void 0 : targets[i]) != null ? _a : d).ratio] + ]; + }); + return (d) => points[d.id]; + }, + /** + * Called whenever redraw happens + * @private + */ + redrawFunnel() { + const $$ = this; + const { $T, $el: { funnel } } = $$; + const targets = $$.filterTargetsToShow(funnel.path); + const coords = getCoord.call($$, updateRatio.call($$, targets.data())); + funnel.attr("clip-path", `path('${getClipPath.bind($$)()}')`); + funnel.background.attr("d", getClipPath.call($$, true)); + $T(targets).attr("d", (d, i) => `M${coords[i].join("L")}z`).style("opacity", "1"); + funnel.selectAll("g").style("opacity", null); + } +}); + +;// ./src/ChartInternal/shape/gauge.ts + + + +/* harmony default export */ var gauge = ({ + initGauge() { + const $$ = this; + const { config, $el: { arcs } } = $$; + const appendText = (className = null, value = "") => { + arcs.append("text").attr("class", className).style("text-anchor", "middle").style("pointer-events", "none").text(value); + }; + if ($$.hasType("gauge")) { + const hasMulti = $$.hasMultiArcGauge(); + arcs.append(hasMulti ? "g" : "path").attr("class", $ARC.chartArcsBackground).style("fill", !hasMulti && config.gauge_background || null); + config.gauge_units && appendText($GAUGE.chartArcsGaugeUnit); + if (config.gauge_label_show) { + appendText($GAUGE.chartArcsGaugeMin); + !config.gauge_fullCircle && appendText($GAUGE.chartArcsGaugeMax); + } + } + }, + updateGaugeMax() { + const $$ = this; + const { config, state } = $$; + const hasMultiGauge = $$.hasMultiArcGauge(); + const max = hasMultiGauge ? $$.getMinMaxData().max[0].value : $$.getTotalDataSum(state.rendered); + if (!config.gauge_enforceMinMax && max + config.gauge_min * (config.gauge_min > 0 ? -1 : 1) > config.gauge_max) { + config.gauge_max = max - config.gauge_min; + } + }, + redrawArcGaugeLine() { + const $$ = this; + const { config, state, $el } = $$; + const { hiddenTargetIds } = $$.state; + const arcLabelLines = $el.main.selectAll(`.${$ARC.arcs}`).selectAll(`.${$ARC.arcLabelLine}`).data($$.arcData.bind($$)); + const mainArcLabelLine = arcLabelLines.enter().append("rect").attr( + "class", + (d) => `${$ARC.arcLabelLine} ${$COMMON.target} ${$COMMON.target}-${d.data.id}` + ).merge(arcLabelLines); + mainArcLabelLine.style( + "fill", + (d) => $$.levelColor ? $$.levelColor(d.data.values[0].value) : $$.color(d.data) + ).style("display", config.gauge_label_show ? null : "none").each(function(d) { + let lineLength = 0; + const lineThickness = 2; + let x = 0; + let y = 0; + let transform = ""; + if (hiddenTargetIds.indexOf(d.data.id) < 0) { + const updated = $$.updateAngle(d); + const innerLineLength = state.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length * (updated.index + 1); + const lineAngle = updated.endAngle - Math.PI / 2; + const arcInnerRadius = state.radius - innerLineLength; + const linePositioningAngle = lineAngle - (arcInnerRadius === 0 ? 0 : 1 / arcInnerRadius); + lineLength = state.radiusExpanded - state.radius + innerLineLength; + x = Math.cos(linePositioningAngle) * arcInnerRadius; + y = Math.sin(linePositioningAngle) * arcInnerRadius; + transform = `rotate(${lineAngle * 180 / Math.PI}, ${x}, ${y})`; + } + src_select(this).attr("x", x).attr("y", y).attr("width", lineLength).attr("height", lineThickness).attr("transform", transform).style("stroke-dasharray", `0, ${lineLength + lineThickness}, 0`); + }); + }, + textForGaugeMinMax(value, isMax) { + const $$ = this; + const { config } = $$; + const format = config.gauge_label_extents; + return isFunction(format) ? format.bind($$.api)(value, isMax) : value; + }, + getGaugeLabelHeight() { + const { config } = this; + return this.config.gauge_label_show && !config.gauge_fullCircle ? 20 : 0; + }, + getPaddingBottomForGauge() { + const $$ = this; + return $$.getGaugeLabelHeight() * ($$.config.gauge_label_show ? 2 : 2.5); + } +}); + +;// ./src/ChartInternal/shape/line.ts + + + + +function getStrokeDashArray(start, end, pattern, isLastX = false) { + const dash = start ? [start, 0] : pattern; + for (let i = start ? start : pattern.reduce((a, c) => a + c); i <= end; ) { + pattern.forEach((v) => { + if (i + v <= end) { + dash.push(v); + } + i += v; + }); + } + dash.length % 2 !== 0 && dash.push(isLastX ? pattern[1] : 0); + return { + dash: dash.join(" "), + length: dash.reduce((a, b) => a + b, 0) + }; +} +function getRegions(d, _regions, isTimeSeries) { + const $$ = this; + const regions = []; + const dasharray = "2 2"; + if (isDefined(_regions)) { + const getValue = (v, def) => isUndefined(v) ? def : isTimeSeries ? parseDate.call($$, v) : v; + for (let i = 0, reg; reg = _regions[i]; i++) { + const start = getValue(reg.start, d[0].x); + const end = getValue(reg.end, d[d.length - 1].x); + const style = reg.style || { dasharray }; + regions[i] = { start, end, style }; + } + } + return regions; +} +/* harmony default export */ var line = ({ + initLine() { + const { $el } = this; + $el.line = $el.main.select(`.${$COMMON.chart}`).append("g").attr("class", $LINE.chartLines).call(this.setCssRule(false, `.${$LINE.chartLines}`, ["pointer-events:none"])); + }, + updateTargetsForLine(t) { + const $$ = this; + const { $el: { area, line, main } } = $$; + const classChartLine = $$.getChartClass("Line"); + const classLines = $$.getClass("lines", true); + const classFocus = $$.classFocus.bind($$); + if (!line) { + $$.initLine(); + } + const targets = t.filter((d) => !($$.isScatterType(d) || $$.isBubbleType(d))); + const mainLineUpdate = main.select(`.${$LINE.chartLines}`).selectAll(`.${$LINE.chartLine}`).data(targets).attr("class", (d) => classChartLine(d) + classFocus(d)); + const mainLineEnter = mainLineUpdate.enter().append("g").attr("class", classChartLine).style("opacity", "0").style("pointer-events", $$.getStylePropValue("none")); + mainLineEnter.append("g").attr("class", classLines); + if ($$.hasTypeOf("Area")) { + const mainLine = (!area && mainLineEnter.empty() ? mainLineUpdate : mainLineEnter).filter($$.isAreaType.bind($$)); + $$.initArea(mainLine); + } + $$.updateTargetForCircle(targets, mainLineEnter); + }, + /** + * Generate/Update elements + * @param {boolean} withTransition Transition for exit elements + * @param {boolean} isSub Subchart draw + * @private + */ + updateLine(withTransition, isSub = false) { + const $$ = this; + const { format: { extraLineClasses }, $el, $T } = $$; + const $root = isSub ? $el.subchart : $el; + const line = $root.main.selectAll(`.${$LINE.lines}`).selectAll(`.${$LINE.line}`).data($$.lineData.bind($$)); + $T(line.exit(), withTransition).style("opacity", "0").remove(); + $root.line = line.enter().append("path").attr("class", (d) => `${$$.getClass("line", true)(d)} ${extraLineClasses(d) || ""}`).style("stroke", $$.color).merge(line).style("opacity", $$.initialOpacity.bind($$)).attr("transform", null); + }, + /** + * Redraw function + * @param {Function} drawFn Retuned functino from .generateDrawCandlestick() + * @param {boolean} withTransition With or without transition + * @param {boolean} isSub Subchart draw + * @returns {Array} + * @private + */ + redrawLine(drawFn, withTransition, isSub = false) { + const $$ = this; + const { $el, $T } = $$; + const { line } = isSub ? $el.subchart : $el; + return [ + $T(line, withTransition, getRandom()).attr("d", drawFn).style("stroke", this.color).style("opacity", null) + ]; + }, + /** + * Get the curve interpolate + * @param {Array} d Data object + * @returns {Function} + * @private + */ + getCurve(d) { + const $$ = this; + const isRotatedStepType = $$.config.axis_rotated && $$.isStepType(d); + return isRotatedStepType ? (context) => { + const step = $$.getInterpolate(d)(context); + step.orgPoint = step.point; + step.pointRotated = function(x, y) { + this._point === 1 && (this._point = 2); + const y1 = this._y * (1 - this._t) + y * this._t; + this._context.lineTo(this._x, y1); + this._context.lineTo(x, y1); + this._x = x; + this._y = y; + }; + step.point = function(x, y) { + this._point === 0 ? this.orgPoint(x, y) : this.pointRotated(x, y); + }; + return step; + } : $$.getInterpolate(d); + }, + generateDrawLine(lineIndices, isSub) { + const $$ = this; + const { config, scale } = $$; + const lineConnectNull = config.line_connectNull; + const isRotated = config.axis_rotated; + const getPoints = $$.generateGetLinePoints(lineIndices, isSub); + const yScale = $$.getYScaleById.bind($$); + const xValue = (d) => (isSub ? $$.subxx : $$.xx).call($$, d); + const yValue = (d, i) => $$.isGrouped(d.id) ? getPoints(d, i)[0][1] : yScale(d.id, isSub)($$.getBaseValue(d)); + let line = src_line(); + line = isRotated ? line.x(yValue).y(xValue) : line.x(xValue).y(yValue); + if (!lineConnectNull) { + line = line.defined((d) => $$.getBaseValue(d) !== null); + } + const x = isSub ? scale.subX : scale.x; + return (d) => { + const y = yScale(d.id, isSub); + let values = lineConnectNull ? $$.filterRemoveNull(d.values) : d.values; + let x0 = 0; + let y0 = 0; + let path; + if ($$.isLineType(d)) { + const regions = config.data_regions[d.id]; + if (regions) { + path = $$.lineWithRegions(values, scale.zoom || x, y, regions); + } else { + if ($$.isStepType(d)) { + values = $$.convertValuesToStep(values); + } + path = line.curve($$.getCurve(d))(values); + } + } else { + if (values[0]) { + x0 = x(values[0].x); + y0 = y(values[0].value); + } + path = isRotated ? `M ${y0} ${x0}` : `M ${x0} ${y0}`; + } + return path || "M 0 0"; + }; + }, + /** + * Set regions dasharray and get path + * @param {Array} d Data object + * @param {Function} x x scale function + * @param {Function} y y scale function + * @param {object} _regions regions to be set + * @returns {stirng} Path string + * @private + */ + lineWithRegions(d, x, y, _regions) { + const $$ = this; + const { config } = $$; + const isRotated = config.axis_rotated; + const isTimeSeries = $$.axis.isTimeSeries(); + const dasharray = "2 2"; + const regions = getRegions.bind($$)(d, _regions, isTimeSeries); + const hasNullDataValue = $$.hasNullDataValue(d); + let xp; + let yp; + let diff; + let diffx2; + const xValue = isRotated ? (dt) => y(dt.value) : (dt) => x(dt.x); + const yValue = isRotated ? (dt) => x(dt.x) : (dt) => y(dt.value); + const generateM = (points) => `M${points[0][0]},${points[0][1]}L${points[1][0]},${points[1][1]}`; + const sWithRegion = isTimeSeries ? (d0, d1, k, timeseriesDiff) => { + const x0 = d0.x.getTime(); + const xDiff = d1.x - d0.x; + const xv0 = new Date(x0 + xDiff * k); + const xv1 = new Date(x0 + xDiff * (k + timeseriesDiff)); + const points = isRotated ? [[y(yp(k)), x(xv0)], [y(yp(k + diff)), x(xv1)]] : [[x(xv0), y(yp(k))], [x(xv1), y(yp(k + diff))]]; + return generateM(points); + } : (d0, d1, k, otherDiff) => { + const x0 = x(d1.x, !isRotated); + const y0 = y(d1.value, isRotated); + const gap = k + otherDiff; + const xValue2 = x(xp(k), !isRotated); + const yValue2 = y(yp(k), isRotated); + let xDiff = x(xp(gap), !isRotated); + let yDiff = y(yp(gap), isRotated); + if (xDiff > x0) { + xDiff = x0; + } + if (d0.value > d1.value && (isRotated ? yDiff < y0 : yDiff > y0)) { + yDiff = y0; + } + const points = [ + [xValue2, yValue2], + [xDiff, yDiff] + ]; + isRotated && points.forEach((v) => v.reverse()); + return generateM(points); + }; + const axisType = { x: $$.axis.getAxisType("x"), y: $$.axis.getAxisType("y") }; + let path = ""; + const target = $$.$el.line.filter(({ id }) => id === d[0].id); + const tempNode = target.clone().style("display", "none"); + const getLength = (node, path2) => node.attr("d", path2).node().getTotalLength(); + const dashArray = { + dash: [], + lastLength: 0 + }; + let isLastX = false; + for (let i = 0, data; data = d[i]; i++) { + const prevData = d[i - 1]; + const hasPrevData = prevData && isValue(prevData.value); + let style = $$.isWithinRegions(data.x, regions); + if (!isValue(data.value)) { + continue; + } + if (isUndefined(regions) || !style || !hasPrevData) { + path += `${i && hasPrevData ? "L" : "M"}${xValue(data)},${yValue(data)}`; + } else if (hasPrevData) { + style = ((style == null ? void 0 : style.dasharray) || dasharray).split(" ").map(Number); + xp = getScale(axisType.x, prevData.x, data.x); + yp = getScale(axisType.y, prevData.value, data.value); + if (hasNullDataValue) { + const dx = x(data.x) - x(prevData.x); + const dy = y(data.value) - y(prevData.value); + const dd = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2)); + diff = style[0] / dd; + diffx2 = diff * style[1]; + for (let j = diff; j <= 1; j += diffx2) { + path += sWithRegion(prevData, data, j, diff); + if (j + diffx2 >= 1) { + path += sWithRegion(prevData, data, 1, 0); + } + } + } else { + let points = []; + isLastX = data.x === d[d.length - 1].x; + if (isTimeSeries) { + const x0 = +prevData.x; + const xv0 = new Date(x0); + const xv1 = new Date(x0 + (+data.x - x0)); + points = [ + [x(xv0), y(yp(0))], + // M + [x(xv1), y(yp(1))] + // L + ]; + } else { + points = [ + [x(xp(0)), y(yp(0))], + // M + [x(xp(1)), y(yp(1))] + // L + ]; + } + isRotated && points.forEach((v) => v.reverse()); + const startLength = getLength(tempNode, path); + const endLength = getLength(tempNode, path += `L${points[1].join(",")}`); + const strokeDashArray = getStrokeDashArray( + startLength - dashArray.lastLength, + endLength - dashArray.lastLength, + style, + isLastX + ); + dashArray.lastLength += strokeDashArray.length; + dashArray.dash.push(strokeDashArray.dash); + } + } + } + if (dashArray.dash.length) { + !isLastX && dashArray.dash.push(getLength(tempNode, path)); + tempNode.remove(); + target.attr("stroke-dasharray", dashArray.dash.join(" ")); + } + return path; + }, + isWithinRegions(withinX, withinRegions) { + for (let i = 0, reg; reg = withinRegions[i]; i++) { + if (reg.start < withinX && withinX <= reg.end) { + return reg.style; + } + } + return false; + }, + isWithinStep(that, y) { + return Math.abs(y - getPointer(this.state.event, that)[1]) < 30; + }, + shouldDrawPointsForLine(d) { + const linePoint = this.config.line_point; + return linePoint === true || isArray(linePoint) && linePoint.indexOf(d.id) !== -1; + } +}); + +;// ./src/ChartInternal/shape/point.ts + + + +const getTransitionName = () => getRandom(); +/* harmony default export */ var shape_point = ({ + initialOpacityForCircle(d) { + const { config, state: { withoutFadeIn } } = this; + let opacity = config.point_opacity; + if (isUndefined(opacity)) { + opacity = this.getBaseValue(d) !== null && withoutFadeIn[d.id] ? this.opacityForCircle(d) : "0"; + } + return opacity; + }, + opacityForCircle(d) { + var _a; + const { config } = this; + let opacity = config.point_opacity; + if (isUndefined(opacity)) { + opacity = config.point_show && !((_a = this.isPointFocusOnly) == null ? void 0 : _a.call(this)) ? null : "0"; + opacity = isValue(this.getBaseValue(d)) ? this.isBubbleType(d) || this.isScatterType(d) ? "0.5" : opacity : "0"; + } + return opacity; + }, + initCircle() { + const $$ = this; + const { $el: { main } } = $$; + !$$.point && ($$.point = $$.generatePoint()); + if (($$.hasType("bubble") || $$.hasType("scatter")) && main.select(`.${$COMMON.chart} > .${$CIRCLE.chartCircles}`).empty()) { + main.select(`.${$COMMON.chart}`).append("g").attr("class", $CIRCLE.chartCircles); + } + }, + updateTargetForCircle(targetsValue, enterNodeValue) { + const $$ = this; + const { config, data, $el } = $$; + const selectionEnabled = config.interaction_enabled && config.data_selection_enabled; + const isSelectable = selectionEnabled && config.data_selection_isselectable; + const classCircles = $$.getClass("circles", true); + if (!config.point_show) { + return; + } + $$.initCircle(); + let targets = targetsValue; + let enterNode = enterNodeValue; + if (!targets) { + targets = data.targets.filter((d) => this.isScatterType(d) || this.isBubbleType(d)); + const mainCircle = $el.main.select(`.${$CIRCLE.chartCircles}`).style("pointer-events", "none").selectAll(`.${$CIRCLE.circles}`).data(targets); + mainCircle.exit().remove(); + enterNode = mainCircle.enter(); + } + selectionEnabled && enterNode.append("g").attr("class", (d) => $$.generateClass($SELECT.selectedCircles, d.id)); + enterNode.append("g").attr("class", classCircles).call((selection) => { + $$.setCssRule(true, `.${$CIRCLE.circles}`, ["cursor:pointer"], isSelectable)( + selection + ); + $$.setCssRule(true, ` .${$CIRCLE.circle}`, ["fill", "stroke"], $$.color)(selection); + }).style("opacity", function() { + const parent = src_select(this.parentNode); + return parent.attr("class").indexOf($CIRCLE.chartCircles) > -1 ? "0" : null; + }); + selectionEnabled && targets.forEach((t) => { + $el.main.selectAll(`.${$SELECT.selectedCircles}${$$.getTargetSelectorSuffix(t.id)}`).selectAll(`${$SELECT.selectedCircle}`).each((d) => { + d.value = t.values[d.index].value; + }); + }); + }, + updateCircle(isSub = false) { + const $$ = this; + const { config, state, $el } = $$; + const focusOnly = $$.isPointFocusOnly(); + const $root = isSub ? $el.subchart : $el; + if (config.point_show && !state.toggling) { + config.point_radialGradient && $$.updateLinearGradient(); + const circles = $root.main.selectAll(`.${$CIRCLE.circles}`).selectAll(`.${$CIRCLE.circle}`).data((d) => $$.isLineType(d) && $$.shouldDrawPointsForLine(d) || $$.isBubbleType(d) || $$.isRadarType(d) || $$.isScatterType(d) ? focusOnly ? [d.values[0]] : d.values : []); + circles.exit().remove(); + circles.enter().filter(Boolean).append( + $$.point("create", this, $$.pointR.bind($$), $$.updateCircleColor.bind($$)) + ); + $root.circle = $root.main.selectAll(`.${$CIRCLE.circles} .${$CIRCLE.circle}`).style("stroke", $$.getStylePropValue($$.color)).style("opacity", $$.initialOpacityForCircle.bind($$)); + } + }, + /** + * Update circle color + * @param {object} d Data object + * @returns {string} Color string + * @private + */ + updateCircleColor(d) { + const $$ = this; + const fn = $$.getStylePropValue($$.color); + return $$.config.point_radialGradient ? $$.getGradienColortUrl(d.id) : fn ? fn(d) : null; + }, + redrawCircle(cx, cy, withTransition, flow, isSub = false) { + const $$ = this; + const { state: { rendered }, $el, $T } = $$; + const $root = isSub ? $el.subchart : $el; + const selectedCircles = $root.main.selectAll(`.${$SELECT.selectedCircle}`); + if (!$$.config.point_show) { + return []; + } + const fn = $$.point( + "update", + $$, + cx, + cy, + $$.updateCircleColor.bind($$), + withTransition, + flow, + selectedCircles + ); + const posAttr = $$.isCirclePoint() ? "c" : ""; + const t = getRandom(); + const opacityStyleFn = $$.opacityForCircle.bind($$); + const mainCircles = []; + $root.circle.each(function(d) { + let result = fn.bind(this)(d); + result = $T(result, withTransition || !rendered, t).style("opacity", opacityStyleFn); + mainCircles.push(result); + }); + return [ + mainCircles, + $T(selectedCircles, withTransition).attr(`${posAttr}x`, cx).attr(`${posAttr}y`, cy) + ]; + }, + /** + * Show focused data point circle + * @param {object} d Selected data + * @private + */ + showCircleFocus(d) { + const $$ = this; + const { state: { hasRadar, resizing, toggling, transiting }, $el } = $$; + let { circle } = $el; + if (transiting === false && circle && $$.isPointFocusOnly()) { + const cx = (hasRadar ? $$.radarCircleX : $$.circleX).bind($$); + const cy = (hasRadar ? $$.radarCircleY : $$.circleY).bind($$); + const withTransition = toggling || isUndefined(d); + const fn = $$.point( + "update", + $$, + cx, + cy, + $$.getStylePropValue($$.color), + resizing ? false : withTransition + ); + if (d) { + circle = circle.filter(function(t) { + var _a; + const data = (_a = d.filter) == null ? void 0 : _a.call(d, (v) => v.id === t.id); + return data.length ? src_select(this).datum(data[0]) : false; + }); + } + circle.attr("class", this.updatePointClass.bind(this)).style("opacity", null).each(function(d2) { + const { id, index, value } = d2; + let visibility = "hidden"; + if (isValue(value)) { + fn.bind(this)(d2); + $$.expandCircles(index, id); + visibility = ""; + } + this.style.visibility = visibility; + }); + } + }, + /** + * Hide focused data point circle + * @private + */ + hideCircleFocus() { + const $$ = this; + const { $el: { circle } } = $$; + if ($$.isPointFocusOnly() && circle) { + $$.unexpandCircles(); + circle.style("visibility", "hidden"); + } + }, + circleX(d) { + return this.xx(d); + }, + updateCircleY(isSub = false) { + const $$ = this; + const getPoints = $$.generateGetLinePoints($$.getShapeIndices($$.isLineType), isSub); + return (d, i) => { + const id = d.id; + return $$.isGrouped(id) ? getPoints(d, i)[0][1] : $$.getYScaleById(id, isSub)($$.getBaseValue(d)); + }; + }, + expandCircles(i, id, reset) { + const $$ = this; + const r = $$.pointExpandedR.bind($$); + reset && $$.unexpandCircles(); + const circles = $$.getShapeByIndex("circle", i, id).classed($COMMON.EXPANDED, true); + const scale = r(circles) / $$.config.point_r; + const ratio = 1 - scale; + if ($$.isCirclePoint()) { + circles.attr("r", r); + } else { + circles.each(function() { + const point = src_select(this); + if (this.tagName === "circle") { + point.attr("r", r); + } else { + const { width, height } = this.getBBox(); + const x = ratio * (+point.attr("x") + width / 2); + const y = ratio * (+point.attr("y") + height / 2); + point.attr("transform", `translate(${x} ${y}) scale(${scale})`); + } + }); + } + }, + unexpandCircles(i) { + const $$ = this; + const r = $$.pointR.bind($$); + const circles = $$.getShapeByIndex("circle", i).filter(function() { + return src_select(this).classed($COMMON.EXPANDED); + }).classed($COMMON.EXPANDED, false); + circles.attr("r", r); + if (!$$.isCirclePoint()) { + const scale = r(circles) / $$.config.point_r; + circles.attr("transform", scale !== 1 ? `scale(${scale})` : null); + } + }, + pointR(d) { + const $$ = this; + const { config } = $$; + const pointR = config.point_r; + let r = pointR; + if ($$.isBubbleType(d)) { + r = $$.getBubbleR(d); + } else if (isFunction(pointR)) { + r = pointR.bind($$.api)(d); + } + d.r = r; + return r; + }, + pointExpandedR(d) { + const $$ = this; + const { config } = $$; + const scale = $$.isBubbleType(d) ? 1.15 : 1.75; + return config.point_focus_expand_enabled ? config.point_focus_expand_r || $$.pointR(d) * scale : $$.pointR(d); + }, + pointSelectR(d) { + const $$ = this; + const selectR = $$.config.point_select_r; + return isFunction(selectR) ? selectR(d) : selectR || $$.pointR(d) * 4; + }, + /** + * Check if point.focus.only option can be applied. + * @returns {boolean} + * @private + */ + isPointFocusOnly() { + const $$ = this; + return $$.config.point_focus_only && !$$.hasType("bubble") && !$$.hasType("scatter") && !$$.hasArcType(null, ["radar"]); + }, + isWithinCircle(node, r) { + const { state } = this; + const mouse = getPointer(state.event, node); + const element = src_select(node); + const prefix = this.isCirclePoint(node) ? "c" : ""; + const pointSensitivity = this.getPointSensitivity(element == null ? void 0 : element.datum()); + let cx = +element.attr(`${prefix}x`); + let cy = +element.attr(`${prefix}y`); + if (!(cx || cy) && node.nodeType === 1) { + const { x, y } = getBoundingRect(node); + cx = x; + cy = y; + } + return Math.sqrt( + Math.pow(cx - mouse[0], 2) + Math.pow(cy - mouse[1], 2) + ) < (r || pointSensitivity); + }, + /** + * Get data point sensitivity radius + * @param {object} d Data point object + * @returns {number} return the sensitivity value + */ + getPointSensitivity(d) { + const $$ = this; + let sensitivity = $$.config.point_sensitivity; + if (!d) { + return sensitivity; + } else if (isFunction(sensitivity)) { + sensitivity = sensitivity.call($$.api, d); + } else if (sensitivity === "radius") { + sensitivity = d.r; + } + return sensitivity; + }, + updatePointClass(d) { + const $$ = this; + const { circle } = $$.$el; + let pointClass = false; + if (isObject(d) || circle) { + pointClass = d === true ? circle.each(function(d2) { + let className = $$.getClass("circle", true)(d2); + if (this.getAttribute("class").indexOf($COMMON.EXPANDED) > -1) { + className += ` ${$COMMON.EXPANDED}`; + } + this.setAttribute("class", className); + }) : $$.getClass("circle", true)(d); + } + return pointClass; + }, + generateGetLinePoints(lineIndices, isSub) { + const $$ = this; + const { config } = $$; + const x = $$.getShapeX(0, lineIndices, isSub); + const y = $$.getShapeY(isSub); + const lineOffset = $$.getShapeOffset($$.isLineType, lineIndices, isSub); + const yScale = $$.getYScaleById.bind($$); + return (d, i) => { + const y0 = yScale.call($$, d.id, isSub)($$.getShapeYMin(d.id)); + const offset = lineOffset(d, i) || y0; + const posX = x(d); + let posY = y(d); + if (config.axis_rotated && (d.value > 0 && posY < y0 || d.value < 0 && y0 < posY)) { + posY = y0; + } + const point = [posX, posY - (y0 - offset)]; + return [ + point, + point, + // from here and below, needed for compatibility + point, + point + ]; + }; + }, + custom: { + create(element, id, fillStyleFn) { + return element.append("use").attr("xlink:href", `#${id}`).attr("class", this.updatePointClass.bind(this)).style("fill", fillStyleFn).node(); + }, + update(element, xPosFn, yPosFn, fillStyleFn, withTransition, flow, selectedCircles) { + const $$ = this; + const { width, height } = element.node().getBBox(); + const xPosFn2 = (d) => isValue(d.value) ? xPosFn(d) - width / 2 : 0; + const yPosFn2 = (d) => isValue(d.value) ? yPosFn(d) - height / 2 : 0; + let mainCircles = element; + if (withTransition) { + flow && mainCircles.attr("x", xPosFn2); + mainCircles = $$.$T(mainCircles, withTransition, getTransitionName()); + selectedCircles && $$.$T(selectedCircles, withTransition, getTransitionName()); + } + return mainCircles.attr("x", xPosFn2).attr("y", yPosFn2).style("fill", fillStyleFn); + } + }, + // 'circle' data point + circle: { + create(element, sizeFn, fillStyleFn) { + return element.append("circle").attr("class", this.updatePointClass.bind(this)).attr("r", sizeFn).style("fill", fillStyleFn).node(); + }, + update(element, xPosFn, yPosFn, fillStyleFn, withTransition, flow, selectedCircles) { + const $$ = this; + let mainCircles = element; + if ($$.hasType("bubble")) { + mainCircles.attr("r", $$.pointR.bind($$)); + } + if (withTransition) { + flow && mainCircles.attr("cx", xPosFn); + if (mainCircles.attr("cx")) { + mainCircles = $$.$T(mainCircles, withTransition, getTransitionName()); + } + selectedCircles && $$.$T(mainCircles, withTransition, getTransitionName()); + } + return mainCircles.attr("cx", xPosFn).attr("cy", yPosFn).style("fill", fillStyleFn); + } + }, + // 'rectangle' data point + rectangle: { + create(element, sizeFn, fillStyleFn) { + const rectSizeFn = (d) => sizeFn(d) * 2; + return element.append("rect").attr("class", this.updatePointClass.bind(this)).attr("width", rectSizeFn).attr("height", rectSizeFn).style("fill", fillStyleFn).node(); + }, + update(element, xPosFn, yPosFn, fillStyleFn, withTransition, flow, selectedCircles) { + const $$ = this; + const r = $$.config.point_r; + const rectXPosFn = (d) => xPosFn(d) - r; + const rectYPosFn = (d) => yPosFn(d) - r; + let mainCircles = element; + if (withTransition) { + flow && mainCircles.attr("x", rectXPosFn); + mainCircles = $$.$T(mainCircles, withTransition, getTransitionName()); + selectedCircles && $$.$T(selectedCircles, withTransition, getTransitionName()); + } + return mainCircles.attr("x", rectXPosFn).attr("y", rectYPosFn).style("fill", fillStyleFn); + } + } +}); + +;// ./src/ChartInternal/shape/point.common.ts + + + +function hasValidPointDrawMethods(point) { + return isObjectType(point) && isFunction(point.create) && isFunction(point.update); +} +function insertPointInfoDefs(point, id) { + var _a; + const $$ = this; + const copyAttr = (from, target) => { + const attribs = from.attributes; + for (let i = 0, name; name = attribs[i]; i++) { + name = name.name; + target.setAttribute(name, from.getAttribute(name)); + } + }; + const doc = new DOMParser().parseFromString(point, "image/svg+xml"); + const node = doc.documentElement; + const clone = browser_doc.createElementNS(namespaces.svg, node.nodeName.toLowerCase()); + clone.id = id; + clone.style.fill = "inherit"; + clone.style.stroke = "inherit"; + copyAttr(node, clone); + if ((_a = node.childNodes) == null ? void 0 : _a.length) { + const parent = src_select(clone); + if ("innerHTML" in clone) { + parent.html(node.innerHTML); + } else { + toArray(node.childNodes).forEach((v) => { + copyAttr(v, parent.append(v.tagName).node()); + }); + } + } + $$.$el.defs.node().appendChild(clone); +} +/* harmony default export */ var point_common = ({ + /** + * Check if point type option is valid + * @param {string} type point type + * @returns {boolean} + * @private + */ + hasValidPointType(type) { + return /^(circle|rect(angle)?|polygon|ellipse|use)$/i.test(type || this.config.point_type); + }, + /** + * Check if pattern point is set to be used on legend + * @returns {boolean} + * @private + */ + hasLegendDefsPoint() { + var _a; + const { config } = this; + return config.legend_show && ((_a = config.point_pattern) == null ? void 0 : _a.length) && config.legend_usePoint; + }, + getDefsPointId(id) { + const { state: { datetimeId } } = this; + return `${datetimeId}-point${id}`; + }, + /** + * Get generate point function + * @returns {Function} + * @private + */ + generatePoint() { + const $$ = this; + const { $el, config } = $$; + const ids = []; + const pattern = notEmpty(config.point_pattern) ? config.point_pattern : [config.point_type]; + return function(method, context, ...args) { + return function(d) { + var _a, _b, _c, _d; + const id = $$.getTargetSelectorSuffix(d.id || ((_a = d.data) == null ? void 0 : _a.id) || d); + const element = src_select(this); + ids.indexOf(id) < 0 && ids.push(id); + let point = pattern[ids.indexOf(id) % pattern.length]; + if ($$.hasValidPointType(point)) { + point = $$[point]; + } else if (!hasValidPointDrawMethods(point || config.point_type)) { + const pointId = $$.getDefsPointId(id); + const defsPoint = $el.defs.select(`#${pointId}`); + if (defsPoint.size() < 1) { + insertPointInfoDefs.bind($$)(point, pointId); + } + if (method === "create") { + return (_b = $$.custom) == null ? void 0 : _b.create.bind(context)(element, pointId, ...args); + } else if (method === "update") { + return (_c = $$.custom) == null ? void 0 : _c.update.bind(context)(element, ...args); + } + } + return (_d = point[method]) == null ? void 0 : _d.bind(context)(element, ...args); + }; + }; + } +}); + +;// ./src/ChartInternal/shape/polar.ts + + +function getDataMax($$) { + const levelMax = $$.config.polar_level_max; + let dataMax = $$.getMinMaxData().max[0].value; + if (levelMax && levelMax > dataMax) { + dataMax = levelMax; + } + return dataMax; +} +/* harmony default export */ var polar = ({ + /** + * Initialize polar + * @private + */ + initPolar() { + const $$ = this; + const { $el: { arcs }, config } = $$; + const levelTextShow = config.polar_level_text_show; + const levelTextBgColor = config.polar_level_text_backgroundColor; + arcs.levels = arcs.append("g").attr("class", $LEVEL.levels); + if (levelTextShow && levelTextBgColor) { + $$.generateTextBGColorFilter(levelTextBgColor); + } + }, + /** + * Get polar outer radius according to the data value + * @param {object} d Data object + * @param {numbet} outerRadius Outer radius + * @returns {number} outer radius + * @private + */ + getPolarOuterRadius(d, outerRadius) { + var _a; + const dataMax = getDataMax(this); + return ((_a = d == null ? void 0 : d.data.values[0].value) != null ? _a : 0) / dataMax * outerRadius; + }, + /** + * Update polar based on given data array + * @param {object} targets Data object + * @private + */ + updateTargetsForPolar(targets) { + this.updateTargetsForArc(targets); + }, + /** + * Called whenever redraw happens + * @private + */ + redrawPolar() { + const $$ = this; + const { config } = $$; + config.polar_level_show && $$.updatePolarLevel(); + }, + /** + * Update polar level circle + * @private + */ + updatePolarLevel() { + const $$ = this; + const { config, state, $el: { arcs: { levels } } } = $$; + const depth = config.polar_level_depth; + const dataMax = getDataMax($$); + const levelData = getRange(0, depth); + const outerRadius = state.radius; + const levelRatio = levelData.map((l) => outerRadius * ((l + 1) / depth)); + const levelTextFormat = (config.polar_level_text_format || function() { + }).bind($$.api); + const level = levels.selectAll(`.${$LEVEL.level}`).data(levelData); + level.exit().remove(); + const levelEnter = level.enter().append("g").attr("class", (d, i) => `${$LEVEL.level} ${$LEVEL.level}-${i}`); + levelEnter.append("circle"); + levelEnter.merge(level).selectAll("circle").style("visibility", config.polar_level_show ? null : "hidden").attr("cx", 0).attr("cy", 0).attr("r", (d) => levelRatio[d]); + if (config.polar_level_text_show) { + const levelTextBackgroundColor = config.polar_level_text_backgroundColor; + const defsId = `#${state.datetimeId}-labels-bg${$$.getTargetSelectorSuffix(levelTextBackgroundColor)}`; + levelEnter.append("text").style("text-anchor", "middle"); + levelEnter.merge(level).selectAll("text").attr("dy", (d) => -levelRatio[d] + 5).attr("filter", levelTextBackgroundColor ? `url(${defsId})` : null).text((d) => levelTextFormat(dataMax / levelData.length * (d + 1))); + } + } +}); + +;// ./src/ChartInternal/shape/radar.ts + + + + +function getPosition(isClockwise, type, edge, pos, range, ratio) { + const index = isClockwise && pos > 0 ? edge - pos : pos; + const r = 2 * Math.PI; + const func = type === "x" ? Math.sin : Math.cos; + return range * (1 - ratio * func(index * r / edge)); +} +const cacheKeyPoints = KEY.radarPoints; +const cacheKeyTextWidth = KEY.radarTextWidth; +/* harmony default export */ var radar = ({ + initRadar() { + const $$ = this; + const { config, state: { current }, $el } = $$; + if ($$.hasType("radar")) { + $el.radar = $el.main.select(`.${$COMMON.chart}`).append("g").attr("class", $RADAR.chartRadars); + $el.radar.levels = $el.radar.append("g").attr("class", $LEVEL.levels); + $el.radar.axes = $el.radar.append("g").attr("class", $AXIS.axis); + $el.radar.shapes = $el.radar.append("g").attr("class", $SHAPE.shapes); + current.dataMax = config.radar_axis_max || $$.getMinMaxData().max[0].value; + if (config.radar_axis_text_show) { + config.interaction_enabled && $$.bindRadarEvent(); + $$.updateRadarLevel(); + $$.updateRadarAxes(); + } + } + }, + getRadarSize() { + const $$ = this; + const { config, state: { arcWidth, arcHeight } } = $$; + const padding = config.axis_x_categories.length < 4 ? -20 : 10; + const size = (Math.min(arcWidth, arcHeight) - padding) / 2; + return [size, size]; + }, + updateTargetsForRadar(targets) { + const $$ = this; + const { config } = $$; + if (isEmpty(config.axis_x_categories)) { + config.axis_x_categories = getRange(0, getMinMax("max", targets.map( + (v) => v.values.length + ))); + } + $$.generateRadarPoints(); + }, + getRadarPosition(type, index, range, ratio) { + const $$ = this; + const { config } = $$; + const [width, height] = $$.getRadarSize(); + const edge = config.axis_x_categories.length; + const isClockwise = config.radar_direction_clockwise; + const pos = toArray(type).map( + (v) => getPosition( + isClockwise, + v, + edge, + index, + isDefined(range) ? range : type === "x" ? width : height, + isNumber(ratio) ? ratio : config.radar_size_ratio + ) + ); + return pos.length === 1 ? pos[0] : pos; + }, + /** + * Generate data points + * @private + */ + generateRadarPoints() { + const $$ = this; + const targets = $$.data.targets; + const [width, height] = $$.getRadarSize(); + const points = $$.cache.get(cacheKeyPoints) || {}; + const size = points._size; + if (!size || size.width !== width && size.height !== height) { + targets.forEach((d) => { + points[d.id] = d.values.map((v, i) => $$.getRadarPosition(["x", "y"], i, void 0, $$.getRatio("radar", v))); + }); + points._size = { width, height }; + $$.cache.add(cacheKeyPoints, points); + } + }, + redrawRadar() { + const $$ = this; + const { radar, main } = $$.$el; + const translate = $$.getTranslate("radar"); + if (translate) { + radar.attr("transform", translate); + main.select(`.${$TEXT.chartTexts}`).attr("transform", translate); + $$.generateRadarPoints(); + $$.updateRadarLevel(); + $$.updateRadarAxes(); + $$.updateRadarShape(); + } + }, + generateGetRadarPoints() { + const points = this.cache.get(cacheKeyPoints); + return (d, i) => { + const point = points[d.id][i]; + return [ + point, + point, + point, + point + ]; + }; + }, + updateRadarLevel() { + const $$ = this; + const { config, state, $el: { radar } } = $$; + const [width, height] = $$.getRadarSize(); + const depth = config.radar_level_depth; + const edge = config.axis_x_categories.length; + const showText = config.radar_level_text_show; + const radarLevels = radar.levels; + const levelData = getRange(0, depth); + const radius = config.radar_size_ratio * Math.min(width, height); + const levelRatio = levelData.map((l) => radius * ((l + 1) / depth)); + const levelTextFormat = (config.radar_level_text_format || function() { + }).bind($$.api); + const points = levelData.map((v) => { + const range = levelRatio[v]; + const pos = getRange(0, edge).map( + (i) => $$.getRadarPosition(["x", "y"], i, range, 1).join(",") + ); + return pos.join(" "); + }); + const level = radarLevels.selectAll(`.${$LEVEL.level}`).data(levelData); + level.exit().remove(); + const levelEnter = level.enter().append("g").attr("class", (d, i) => `${$LEVEL.level} ${$LEVEL.level}-${i}`); + levelEnter.append("polygon").style("visibility", config.radar_level_show ? null : "hidden"); + if (showText) { + if (radarLevels.select("text").empty()) { + radarLevels.append("text").attr("dx", "-.5em").attr("dy", "-.7em").style("text-anchor", "end").text(() => levelTextFormat(0)); + } + levelEnter.append("text").attr("dx", "-.5em").style("text-anchor", "end").text( + (d) => levelTextFormat( + state.current.dataMax / levelData.length * (d + 1) + ) + ); + } + levelEnter.merge(level).attr( + "transform", + (d) => `translate(${width - levelRatio[d]}, ${height - levelRatio[d]})` + ).selectAll("polygon").attr("points", (d) => points[d]); + if (showText) { + radarLevels.selectAll("text").attr("x", (d) => isUndefined(d) ? width : points[d].split(",")[0]).attr("y", (d) => isUndefined(d) ? height : 0); + } + }, + updateRadarAxes() { + const $$ = this; + const { config, $el: { radar } } = $$; + const [width, height] = $$.getRadarSize(); + const categories = config.axis_x_categories; + let axis = radar.axes.selectAll("g").data(categories); + axis.exit().remove(); + const axisEnter = axis.enter().append("g").attr("class", (d, i) => `${$AXIS.axis}-${i}`); + config.radar_axis_line_show && axisEnter.append("line"); + config.radar_axis_text_show && axisEnter.append("text"); + axis = axisEnter.merge(axis); + if (config.radar_axis_line_show) { + axis.select("line").attr("x1", width).attr("y1", height).attr("x2", (d, i) => $$.getRadarPosition("x", i)).attr("y2", (d, i) => $$.getRadarPosition("y", i)); + } + if (config.radar_axis_text_show) { + const { x = 0, y = 0 } = config.radar_axis_text_position; + const textWidth = $$.cache.get(cacheKeyTextWidth) || 0; + axis.select("text").style("text-anchor", "middle").attr("dy", ".5em").call((selection) => { + selection.each(function(d) { + setTextValue(src_select(this), String(d), [-0.6, 1.2]); + }); + }).datum((d, i) => ({ index: i })).attr("transform", function(d) { + if (isUndefined(this.width)) { + this.width = this.getBoundingClientRect().width / 2; + } + let posX = $$.getRadarPosition("x", d.index, void 0, 1); + let posY = Math.round($$.getRadarPosition("y", d.index, void 0, 1)); + if (posX > width) { + posX += this.width + x; + } else if (Math.round(posX) < width) { + posX -= this.width + x; + } + if (posY > height) { + if (posY / 2 === height && this.firstChild.tagName === "tspan") { + this.firstChild.setAttribute("dy", "0em"); + } + posY += y; + } else if (posY < height) { + posY -= y; + } + return `translate(${posX} ${posY})`; + }); + if (!textWidth) { + const widths = [radar.axes, radar.levels].map((v) => getPathBox(v.node()).width); + if (widths.every((v) => v > 0)) { + $$.cache.add(cacheKeyTextWidth, widths[0] - widths[1]); + } + } + } + }, + bindRadarEvent() { + const $$ = this; + const { config, state, $el: { radar, svg } } = $$; + const focusOnly = $$.isPointFocusOnly(); + const { inputType, transiting } = state; + const isMouse = inputType === "mouse"; + const hide = (event) => { + state.event = event; + if (!config.interaction_onout) { + return; + } + const index = $$.getDataIndexFromEvent(event); + const noIndex = isUndefined(index); + if (isMouse || noIndex) { + $$.hideTooltip(); + focusOnly ? $$.hideCircleFocus() : $$.unexpandCircles(); + if (isMouse) { + $$.setOverOut(false, index); + } else if (noIndex) { + $$.callOverOutForTouch(); + } + } + }; + radar.axes.on(isMouse ? "mouseover " : "touchstart", (event) => { + if (transiting) { + return; + } + state.event = event; + const index = $$.getDataIndexFromEvent(event); + $$.selectRectForSingle(svg.node(), index); + isMouse ? $$.setOverOut(true, index) : $$.callOverOutForTouch(index); + }).on("mouseout", isMouse ? hide : null); + if (!isMouse) { + svg.on("touchstart", hide); + } + }, + updateRadarShape() { + const $$ = this; + const targets = $$.data.targets.filter((d) => $$.isRadarType(d)); + const points = $$.cache.get(cacheKeyPoints); + const areas = $$.$el.radar.shapes.selectAll("polygon").data(targets); + const areasEnter = areas.enter().append("g").attr("class", $$.getChartClass("Radar")); + $$.$T(areas.exit()).remove(); + areasEnter.append("polygon").merge(areas).style("fill", $$.color).style("stroke", $$.color).attr("points", (d) => points[d.id].join(" ")); + $$.updateTargetForCircle(targets, areasEnter); + }, + /** + * Get data point x coordinate + * @param {object} d Data object + * @returns {number} + * @private + */ + radarCircleX(d) { + return this.cache.get(cacheKeyPoints)[d.id][d.index][0]; + }, + /** + * Get data point y coordinate + * @param {object} d Data object + * @returns {number} + * @private + */ + radarCircleY(d) { + return this.cache.get(cacheKeyPoints)[d.id][d.index][1]; + } +}); + +;// ./node_modules/d3-hierarchy/src/hierarchy/count.js +function count(node) { + var sum = 0, children = node.children, i = children && children.length; + if (!i) sum = 1; + else while (--i >= 0) sum += children[i].value; + node.value = sum; +} +/* harmony default export */ function hierarchy_count() { + return this.eachAfter(count); +} + +;// ./node_modules/d3-hierarchy/src/hierarchy/each.js +/* harmony default export */ function hierarchy_each(callback, that) { + let index = -1; + for (const node of this) { + callback.call(that, node, ++index, this); + } + return this; +} + +;// ./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js +/* harmony default export */ function eachBefore(callback, that) { + var node = this, nodes = [node], children, i, index = -1; + while (node = nodes.pop()) { + callback.call(that, node, ++index, this); + if (children = node.children) { + for (i = children.length - 1; i >= 0; --i) { + nodes.push(children[i]); + } + } + } + return this; +} + +;// ./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js +/* harmony default export */ function eachAfter(callback, that) { + var node = this, nodes = [node], next = [], children, i, n, index = -1; + while (node = nodes.pop()) { + next.push(node); + if (children = node.children) { + for (i = 0, n = children.length; i < n; ++i) { + nodes.push(children[i]); + } + } + } + while (node = next.pop()) { + callback.call(that, node, ++index, this); + } + return this; +} + +;// ./node_modules/d3-hierarchy/src/hierarchy/find.js +/* harmony default export */ function hierarchy_find(callback, that) { + let index = -1; + for (const node of this) { + if (callback.call(that, node, ++index, this)) { + return node; + } + } +} + +;// ./node_modules/d3-hierarchy/src/hierarchy/sum.js +/* harmony default export */ function sum(value) { + return this.eachAfter(function(node) { + var sum = +value(node.data) || 0, children = node.children, i = children && children.length; + while (--i >= 0) sum += children[i].value; + node.value = sum; + }); +} + +;// ./node_modules/d3-hierarchy/src/hierarchy/sort.js +/* harmony default export */ function hierarchy_sort(compare) { + return this.eachBefore(function(node) { + if (node.children) { + node.children.sort(compare); + } + }); +} + +;// ./node_modules/d3-hierarchy/src/hierarchy/path.js +/* harmony default export */ function hierarchy_path(end) { + var start = this, ancestor = leastCommonAncestor(start, end), nodes = [start]; + while (start !== ancestor) { + start = start.parent; + nodes.push(start); + } + var k = nodes.length; + while (end !== ancestor) { + nodes.splice(k, 0, end); + end = end.parent; + } + return nodes; +} +function leastCommonAncestor(a, b) { + if (a === b) return a; + var aNodes = a.ancestors(), bNodes = b.ancestors(), c = null; + a = aNodes.pop(); + b = bNodes.pop(); + while (a === b) { + c = a; + a = aNodes.pop(); + b = bNodes.pop(); + } + return c; +} + +;// ./node_modules/d3-hierarchy/src/hierarchy/ancestors.js +/* harmony default export */ function ancestors() { + var node = this, nodes = [node]; + while (node = node.parent) { + nodes.push(node); + } + return nodes; +} + +;// ./node_modules/d3-hierarchy/src/hierarchy/descendants.js +/* harmony default export */ function descendants() { + return Array.from(this); +} + +;// ./node_modules/d3-hierarchy/src/hierarchy/leaves.js +/* harmony default export */ function leaves() { + var leaves = []; + this.eachBefore(function(node) { + if (!node.children) { + leaves.push(node); + } + }); + return leaves; +} + +;// ./node_modules/d3-hierarchy/src/hierarchy/links.js +/* harmony default export */ function links() { + var root = this, links = []; + root.each(function(node) { + if (node !== root) { + links.push({ source: node.parent, target: node }); + } + }); + return links; +} + +;// ./node_modules/d3-hierarchy/src/hierarchy/iterator.js +/* harmony default export */ function* hierarchy_iterator() { + var node = this, current, next = [node], children, i, n; + do { + current = next.reverse(), next = []; + while (node = current.pop()) { + yield node; + if (children = node.children) { + for (i = 0, n = children.length; i < n; ++i) { + next.push(children[i]); + } + } + } + } while (next.length); +} + +;// ./node_modules/d3-hierarchy/src/hierarchy/index.js + + + + + + + + + + + + + +function hierarchy(data, children) { + if (data instanceof Map) { + data = [void 0, data]; + if (children === void 0) children = mapChildren; + } else if (children === void 0) { + children = objectChildren; + } + var root = new Node(data), node, nodes = [root], child, childs, i, n; + while (node = nodes.pop()) { + if ((childs = children(node.data)) && (n = (childs = Array.from(childs)).length)) { + node.children = childs; + for (i = n - 1; i >= 0; --i) { + nodes.push(child = childs[i] = new Node(childs[i])); + child.parent = node; + child.depth = node.depth + 1; + } + } + } + return root.eachBefore(computeHeight); +} +function node_copy() { + return hierarchy(this).eachBefore(copyData); +} +function objectChildren(d) { + return d.children; +} +function mapChildren(d) { + return Array.isArray(d) ? d[1] : null; +} +function copyData(node) { + if (node.data.value !== void 0) node.value = node.data.value; + node.data = node.data.data; +} +function computeHeight(node) { + var height = 0; + do + node.height = height; + while ((node = node.parent) && node.height < ++height); +} +function Node(data) { + this.data = data; + this.depth = this.height = 0; + this.parent = null; +} +Node.prototype = hierarchy.prototype = { + constructor: Node, + count: hierarchy_count, + each: hierarchy_each, + eachAfter: eachAfter, + eachBefore: eachBefore, + find: hierarchy_find, + sum: sum, + sort: hierarchy_sort, + path: hierarchy_path, + ancestors: ancestors, + descendants: descendants, + leaves: leaves, + links: links, + copy: node_copy, + [Symbol.iterator]: hierarchy_iterator +}; + +;// ./node_modules/d3-hierarchy/src/treemap/round.js +/* harmony default export */ function treemap_round(node) { + node.x0 = Math.round(node.x0); + node.y0 = Math.round(node.y0); + node.x1 = Math.round(node.x1); + node.y1 = Math.round(node.y1); +} + +;// ./node_modules/d3-hierarchy/src/treemap/dice.js +/* harmony default export */ function dice(parent, x0, y0, x1, y1) { + var nodes = parent.children, node, i = -1, n = nodes.length, k = parent.value && (x1 - x0) / parent.value; + while (++i < n) { + node = nodes[i], node.y0 = y0, node.y1 = y1; + node.x0 = x0, node.x1 = x0 += node.value * k; + } +} + +;// ./node_modules/d3-hierarchy/src/treemap/slice.js +/* harmony default export */ function treemap_slice(parent, x0, y0, x1, y1) { + var nodes = parent.children, node, i = -1, n = nodes.length, k = parent.value && (y1 - y0) / parent.value; + while (++i < n) { + node = nodes[i], node.x0 = x0, node.x1 = x1; + node.y0 = y0, node.y1 = y0 += node.value * k; + } +} + +;// ./node_modules/d3-hierarchy/src/treemap/squarify.js + + +var phi = (1 + Math.sqrt(5)) / 2; +function squarifyRatio(ratio, parent, x0, y0, x1, y1) { + var rows = [], nodes = parent.children, row, nodeValue, i0 = 0, i1 = 0, n = nodes.length, dx, dy, value = parent.value, sumValue, minValue, maxValue, newRatio, minRatio, alpha, beta; + while (i0 < n) { + dx = x1 - x0, dy = y1 - y0; + do + sumValue = nodes[i1++].value; + while (!sumValue && i1 < n); + minValue = maxValue = sumValue; + alpha = Math.max(dy / dx, dx / dy) / (value * ratio); + beta = sumValue * sumValue * alpha; + minRatio = Math.max(maxValue / beta, beta / minValue); + for (; i1 < n; ++i1) { + sumValue += nodeValue = nodes[i1].value; + if (nodeValue < minValue) minValue = nodeValue; + if (nodeValue > maxValue) maxValue = nodeValue; + beta = sumValue * sumValue * alpha; + newRatio = Math.max(maxValue / beta, beta / minValue); + if (newRatio > minRatio) { + sumValue -= nodeValue; + break; + } + minRatio = newRatio; + } + rows.push(row = { value: sumValue, dice: dx < dy, children: nodes.slice(i0, i1) }); + if (row.dice) dice(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1); + else treemap_slice(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1); + value -= sumValue, i0 = i1; + } + return rows; +} +/* harmony default export */ var squarify = ((function custom(ratio) { + function squarify(parent, x0, y0, x1, y1) { + squarifyRatio(ratio, parent, x0, y0, x1, y1); + } + squarify.ratio = function(x) { + return custom((x = +x) > 1 ? x : 1); + }; + return squarify; +})(phi)); + +;// ./node_modules/d3-hierarchy/src/accessors.js +function optional(f) { + return f == null ? null : required(f); +} +function required(f) { + if (typeof f !== "function") throw new Error(); + return f; +} + +;// ./node_modules/d3-hierarchy/src/constant.js +function constantZero() { + return 0; +} +/* harmony default export */ function d3_hierarchy_src_constant(x) { + return function() { + return x; + }; +} + +;// ./node_modules/d3-hierarchy/src/treemap/index.js + + + + +/* harmony default export */ function treemap() { + var tile = squarify, round = false, dx = 1, dy = 1, paddingStack = [0], paddingInner = constantZero, paddingTop = constantZero, paddingRight = constantZero, paddingBottom = constantZero, paddingLeft = constantZero; + function treemap(root) { + root.x0 = root.y0 = 0; + root.x1 = dx; + root.y1 = dy; + root.eachBefore(positionNode); + paddingStack = [0]; + if (round) root.eachBefore(treemap_round); + return root; + } + function positionNode(node) { + var p = paddingStack[node.depth], x0 = node.x0 + p, y0 = node.y0 + p, x1 = node.x1 - p, y1 = node.y1 - p; + if (x1 < x0) x0 = x1 = (x0 + x1) / 2; + if (y1 < y0) y0 = y1 = (y0 + y1) / 2; + node.x0 = x0; + node.y0 = y0; + node.x1 = x1; + node.y1 = y1; + if (node.children) { + p = paddingStack[node.depth + 1] = paddingInner(node) / 2; + x0 += paddingLeft(node) - p; + y0 += paddingTop(node) - p; + x1 -= paddingRight(node) - p; + y1 -= paddingBottom(node) - p; + if (x1 < x0) x0 = x1 = (x0 + x1) / 2; + if (y1 < y0) y0 = y1 = (y0 + y1) / 2; + tile(node, x0, y0, x1, y1); + } + } + treemap.round = function(x) { + return arguments.length ? (round = !!x, treemap) : round; + }; + treemap.size = function(x) { + return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [dx, dy]; + }; + treemap.tile = function(x) { + return arguments.length ? (tile = required(x), treemap) : tile; + }; + treemap.padding = function(x) { + return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner(); + }; + treemap.paddingInner = function(x) { + return arguments.length ? (paddingInner = typeof x === "function" ? x : d3_hierarchy_src_constant(+x), treemap) : paddingInner; + }; + treemap.paddingOuter = function(x) { + return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop(); + }; + treemap.paddingTop = function(x) { + return arguments.length ? (paddingTop = typeof x === "function" ? x : d3_hierarchy_src_constant(+x), treemap) : paddingTop; + }; + treemap.paddingRight = function(x) { + return arguments.length ? (paddingRight = typeof x === "function" ? x : d3_hierarchy_src_constant(+x), treemap) : paddingRight; + }; + treemap.paddingBottom = function(x) { + return arguments.length ? (paddingBottom = typeof x === "function" ? x : d3_hierarchy_src_constant(+x), treemap) : paddingBottom; + }; + treemap.paddingLeft = function(x) { + return arguments.length ? (paddingLeft = typeof x === "function" ? x : d3_hierarchy_src_constant(+x), treemap) : paddingLeft; + }; + return treemap; +} + +;// ./node_modules/d3-hierarchy/src/treemap/binary.js +/* harmony default export */ function binary(parent, x0, y0, x1, y1) { + var nodes = parent.children, i, n = nodes.length, sum, sums = new Array(n + 1); + for (sums[0] = sum = i = 0; i < n; ++i) { + sums[i + 1] = sum += nodes[i].value; + } + partition(0, n, parent.value, x0, y0, x1, y1); + function partition(i2, j, value, x02, y02, x12, y12) { + if (i2 >= j - 1) { + var node = nodes[i2]; + node.x0 = x02, node.y0 = y02; + node.x1 = x12, node.y1 = y12; + return; + } + var valueOffset = sums[i2], valueTarget = value / 2 + valueOffset, k = i2 + 1, hi = j - 1; + while (k < hi) { + var mid = k + hi >>> 1; + if (sums[mid] < valueTarget) k = mid + 1; + else hi = mid; + } + if (valueTarget - sums[k - 1] < sums[k] - valueTarget && i2 + 1 < k) --k; + var valueLeft = sums[k] - valueOffset, valueRight = value - valueLeft; + if (x12 - x02 > y12 - y02) { + var xk = value ? (x02 * valueRight + x12 * valueLeft) / value : x12; + partition(i2, k, valueLeft, x02, y02, xk, y12); + partition(k, j, valueRight, xk, y02, x12, y12); + } else { + var yk = value ? (y02 * valueRight + y12 * valueLeft) / value : y12; + partition(i2, k, valueLeft, x02, y02, x12, yk); + partition(k, j, valueRight, x02, yk, x12, y12); + } + } +} + +;// ./node_modules/d3-hierarchy/src/treemap/sliceDice.js + + +/* harmony default export */ function sliceDice(parent, x0, y0, x1, y1) { + (parent.depth & 1 ? treemap_slice : dice)(parent, x0, y0, x1, y1); +} + +;// ./node_modules/d3-hierarchy/src/treemap/resquarify.js + + + +/* harmony default export */ var resquarify = ((function custom(ratio) { + function resquarify(parent, x0, y0, x1, y1) { + if ((rows = parent._squarify) && rows.ratio === ratio) { + var rows, row, nodes, i, j = -1, n, m = rows.length, value = parent.value; + while (++j < m) { + row = rows[j], nodes = row.children; + for (i = row.value = 0, n = nodes.length; i < n; ++i) row.value += nodes[i].value; + if (row.dice) dice(row, x0, y0, x1, value ? y0 += (y1 - y0) * row.value / value : y1); + else treemap_slice(row, x0, y0, value ? x0 += (x1 - x0) * row.value / value : x1, y1); + value -= row.value; + } + } else { + parent._squarify = rows = squarifyRatio(ratio, parent, x0, y0, x1, y1); + rows.ratio = ratio; + } + } + resquarify.ratio = function(x) { + return custom((x = +x) > 1 ? x : 1); + }; + return resquarify; +})(phi)); + +;// ./src/ChartInternal/shape/treemap.ts + + + + +function position(group, root) { + const $$ = this; + const { scale: { x, y }, state: { width } } = $$; + group.selectAll("g").attr("transform", (d) => `translate(${d === root ? "0,0" : `${x(d.x0)},${y(d.y0)}`})`).select("rect").attr("width", (d) => d === root ? width : x(d.x1) - x(d.x0)).attr("height", (d) => d === root ? 0 : y(d.y1) - y(d.y0)); +} +function convertDataToTreemapData(data) { + const $$ = this; + return data.map((d) => { + const { id, values } = d; + const { value } = values[0]; + return { + name: id, + id, + // needed to keep compatibility on whole code logic + value, + ratio: $$.getRatio("treemap", values[0]) + }; + }); +} +function getHierachyData(data) { + const $$ = this; + const hierarchyData = hierarchy(data).sum((d) => d.value); + const sortFn = $$.getSortCompareFn(true); + return [ + $$.treemap( + sortFn ? hierarchyData.sort(sortFn) : hierarchyData + ) + ]; +} +/* harmony default export */ var shape_treemap = ({ + initTreemap() { + const $$ = this; + const { + $el, + state: { + current: { width, height }, + clip, + datetimeId + } + } = $$; + clip.id = `${datetimeId}-clip`; + $$.treemap = treemap().tile($$.getTreemapTile()); + $el.defs.append("clipPath").attr("id", clip.id).append("rect").attr("width", width).attr("height", height); + $el.treemap = $el.main.select(`.${$COMMON.chart}`).attr("clip-path", `url(#${clip.id})`).append("g").classed($TREEMAP.chartTreemaps, true); + $$.bindTreemapEvent(); + }, + /** + * Bind events + * @private + */ + bindTreemapEvent() { + const $$ = this; + const { $el, config, state } = $$; + const getTarget = (event) => { + var _a; + const target = event.isTrusted ? event.target : (_a = state.eventReceiver.rect) == null ? void 0 : _a.node(); + let data; + if (/^rect$/i.test(target.tagName)) { + state.event = event; + data = src_select(target).datum(); + } + return data == null ? void 0 : data.data; + }; + if (config.interaction_enabled) { + const isTouch = state.inputType === "touch"; + $el.treemap.on(isTouch ? "touchstart" : "mouseover mousemove", (event) => { + const data = getTarget(event); + if (data) { + $$.showTooltip([data], event.currentTarget); + /^(touchstart|mouseover)$/.test(event.type) && $$.setOverOut(true, data); + } + }).on(isTouch ? "touchend" : "mouseout", (event) => { + const data = getTarget(event); + if (config.interaction_onout) { + $$.hideTooltip(); + $$.setOverOut(false, data); + } + }); + } + }, + /** + * Get tiling function + * @returns {Function} + * @private + */ + getTreemapTile() { + var _a, _b; + const $$ = this; + const { config, state: { current: { width, height } } } = $$; + const tile = (_b = { + binary: binary, + dice: dice, + slice: treemap_slice, + sliceDice: sliceDice, + squarify: squarify, + resquarify: resquarify + }[(_a = config.treemap_tile) != null ? _a : "binary"]) != null ? _b : binary; + return (node, x0, y0, x1, y1) => { + tile(node, 0, 0, width, height); + for (const child of node.children) { + child.x0 = x0 + child.x0 / width * (x1 - x0); + child.x1 = x0 + child.x1 / width * (x1 - x0); + child.y0 = y0 + child.y0 / height * (y1 - y0); + child.y1 = y0 + child.y1 / height * (y1 - y0); + } + }; + }, + /** + * Get treemap hierarchy data + * @param {Array} targets Data targets + * @returns {object} + * @private + */ + getTreemapData(targets) { + const $$ = this; + return { + name: "root", + children: convertDataToTreemapData.bind($$)( + $$.filterTargetsToShow(targets.filter($$.isTreemapType, $$)) + ) + }; + }, + /** + * Update treemap data + * @param {Array} targets Data targets + * @private + */ + updateTargetsForTreemap(targets) { + const $$ = this; + const { $el: { treemap } } = $$; + const treemapData = getHierachyData.call($$, $$.getTreemapData(targets != null ? targets : $$.data.targets)); + treemap.data(treemapData); + }, + /** + * Render treemap + * @param {number} durationForExit Duration for exit transition + * @private + */ + updateTreemap(durationForExit) { + const $$ = this; + const { $el, $T } = $$; + const data = $el.treemap.datum(); + const classChartTreemap = $$.getChartClass("Treemap"); + const classTreemap = $$.getClass("treemap", true); + const treemap = $el.treemap.selectAll("g").data(data.children); + $T(treemap.exit(), durationForExit).style("opacity", "0").remove(); + treemap.enter().append("g").append("rect"); + $el.treemap.selectAll("g").attr("class", classChartTreemap).select("rect").attr("class", classTreemap).attr("fill", (d) => $$.color(d.data.name)); + }, + /** + * Generate treemap coordinate points data + * @returns {Array} Array of coordinate points + * @private + */ + generateGetTreemapPoints() { + const $$ = this; + const { $el, scale: { x, y } } = $$; + const points = {}; + $el.treemap.selectAll("g").each((d) => { + points[d.data.name] = [ + [x(d.x0), y(d.y0)], + [x(d.x1), y(d.y1)] + ]; + }); + return (d) => points[d.id]; + }, + /** + * Redraw treemap + * @param {boolean} withTransition With or without transition + * @returns {Array} Selections + * @private + */ + redrawTreemap(withTransition) { + const $$ = this; + const { $el, state: { current: { width, height } } } = $$; + $el.defs.select("rect").attr("width", width).attr("height", height); + return [ + $$.$T($el.treemap, withTransition, getRandom()).call(position.bind($$), $el.treemap.datum()) + ]; + }, + /** + * Get treemap data label format function + * @param {object} d Data object + * @returns {Function} + * @private + */ + treemapDataLabelFormat(d) { + const $$ = this; + const { config } = $$; + const { id, value } = d; + const format = config.treemap_label_format; + const ratio = $$.getRatio("treemap", d); + const percentValue = (ratio * 100).toFixed(2); + const meetLabelThreshold = config.treemap_label_show && $$.meetsLabelThreshold( + ratio, + "treemap" + ) ? null : "0"; + return function(node) { + node.style("opacity", meetLabelThreshold); + return isFunction(format) ? format.bind($$.api)(value, ratio, id) : `${id} +${percentValue}%`; + }; + } +}); + +;// ./src/config/Options/common/point.ts +/* harmony default export */ var common_point = ({ + /** + * Set point options + * @name point + * @memberof Options + * @type {object} + * @property {object} point Point object + * @property {boolean} [point.show=true] Whether to show each point in line. + * @property {number|Function} [point.r=2.5] The radius size of each point. + * - **NOTE:** Disabled for 'bubble' type + * @property {boolean|object} [point.radialGradient=false] Set the radial gradient on point.<br><br> + * Or customize by giving below object value: + * - cx {number}: `cx` value (default: `0.3`) + * - cy {number}: `cy` value (default: `0.3`) + * - r {number}: `r` value (default: `0.7`) + * - stops {Array}: Each item should be having `[offset, stop-color, stop-opacity]` values. + * - (default: `[[0.1, $DATA_COLOR, 1], [0.9, $DATA_COLOR, 0]]`) + * @property {boolean} [point.focus.expand.enabled=true] Whether to expand each point on focus. + * @property {number} [point.focus.expand.r=point.r*1.75] The radius size of each point on focus. + * - **NOTE:** For 'bubble' type, the default is `bubbleSize*1.15` + * @property {boolean} [point.focus.only=false] Show point only when is focused. + * @property {number|null} [point.opacity=undefined] Set point opacity value. + * - **NOTE:** + * - `null` will make to not set inline 'opacity' css prop. + * - when no value(or undefined) is set, it defaults to set opacity value according its chart types. + * @property {number|string|Function} [point.sensitivity=10] The senstivity value for interaction boundary. + * - **Available Values:** + * - {number}: Absolute sensitivity value which is the distance from the data point in pixel. + * - "radius": sensitivity based on point's radius + * - Function: callback for each point to determine the sensitivity<br> + * ```js + * sensitivity: function(d) { + * // ex. of argument d: + * // ==> {x: 2, value: 55, id: 'data3', index: 2, r: 19.820624179302296} + * + * // returning d.r, will make sensitivity same as point's radius value. + * return d.r; + * } + * ``` + * @property {number} [point.select.r=point.r*4] The radius size of each point on selected. + * @property {string} [point.type="circle"] The type of point to be drawn + * - **NOTE:** + * - If chart has 'bubble' type, only circle can be used. + * - For IE, non circle point expansions are not supported due to lack of transform support. + * - **Available Values:** + * - circle + * - rectangle + * @property {Array} [point.pattern=[]] The type of point or svg shape as string, to be drawn for each line + * - **NOTE:** + * - This is an `experimental` feature and can have some unexpected behaviors. + * - If chart has 'bubble' type, only circle can be used. + * - For IE, non circle point expansions are not supported due to lack of transform support. + * - **Available Values:** + * - circle + * - rectangle + * - svg shape tag interpreted as string<br> + * (ex. `<polygon points='2.5 0 0 5 5 5'></polygon>`) + * @see [Demo: point type](https://naver.github.io/billboard.js/demo/#Point.RectanglePoints) + * @see [Demo: point focus only](https://naver.github.io/billboard.js/demo/#Point.FocusOnly) + * @see [Demo: point radialGradient](https://naver.github.io/billboard.js/demo/#Point.RadialGradientPoint) + * @see [Demo: point sensitivity](https://naver.github.io/billboard.js/demo/#Point.PointSensitivity) + * @example + * point: { + * show: false, + * r: 5, + * + * // or customize the radius + * r: function(d) { + * ... + * return r; + * }, + * + * // will generate follwing radialGradient: + * // for more info: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/radialGradient + * // <radualGradient cx="0.3" cy="0.3" r="0.7"> + * // <stop offset="0.1" stop-color="$DATA_COLOR" stop-opacity="1"></stop> + * // <stop offset="0.9" stop-color="$DATA_COLOR" stop-opacity="0"></stop> + * // </radialrGradient> + * radialGradient: true, + * + * // Or customized gradient + * radialGradient: { + * cx: 0.3, // cx attributes + * cy: 0.5, // cy attributes + * r: 0.7, // r attributes + * stops: [ + * // offset, stop-color, stop-opacity + * [0, "#7cb5ec", 1], + * + * // setting 'null' for stop-color, will set its original data color + * [0.5, null, 0], + * + * // setting 'function' for stop-color, will pass data id as argument. + * // It should return color string or null value + * [1, function(id) { return id === "data1" ? "red" : "blue"; }, 0], + * ] + * }, + * + * focus: { + * expand: { + * enabled: true, + * r: 1 + * }, + * only: true + * }, + * + * // do not set inline 'opacity' css prop setting + * opacity: null, + * + * // set every data point's opacity value + * opacity: 0.7, + * + * select: { + * r: 3 + * }, + * + * // having lower value, means how closer to be for interaction + * sensitivity: 3, + * + * // sensitivity based on point's radius + * sensitivity: "radius", + * + * // callback for each point to determine the sensitivity + * sensitivity: function(d) { + * // ex. of argument d: + * // ==> {x: 2, value: 55, id: 'data3', index: 2, r: 19.820624179302296} + * + * // returning d.r, will make sensitivity same as point's radius value. + * return d.r; + * } + * + * // valid values are "circle" or "rectangle" + * type: "rectangle", + * + * // or indicate as pattern + * pattern: [ + * "circle", + * "rectangle", + * "<polygon points='0 6 4 0 -4 0'></polygon>" + * ], + * } + */ + point_show: true, + point_r: 2.5, + point_radialGradient: false, + point_sensitivity: 10, + point_focus_expand_enabled: true, + point_focus_expand_r: void 0, + point_focus_only: false, + point_opacity: void 0, + point_pattern: [], + point_select_r: void 0, + point_type: "circle" +}); + +;// ./src/config/Options/shape/area.ts +/* harmony default export */ var Options_shape_area = ({ + /** + * Set area options + * @name area + * @memberof Options + * @type {object} + * @property {object} area Area object + * @property {boolean} [area.above=false] Set background area `above` the data chart line. + * @property {boolean} [area.below=false] Set background area `below` the data chart line. + * - **NOTE**: Can't be used along with `above` option. When above & below options are set to true, `above` will be prioritized. + * @property {boolean} [area.front=true] Set area node to be positioned over line node. + * @property {boolean|object} [area.linearGradient=false] Set the linear gradient on area.<br><br> + * Or customize by giving below object value: + * - x {Array}: `x1`, `x2` value (default: `[0, 0]`) + * - y {Array}: `y1`, `y2` value (default: `[0, 1]`) + * - stops {Array}: Each item should be having `[offset, stop-color, stop-opacity]` values. + * - (default: `[[0, $DATA_COLOR, 1], [1, $DATA_COLOR, 0]]`) + * @property {boolean} [area.zerobased=true] Set if min or max value will be 0 on area chart. + * @see [MDN's <linearGradient>](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient), [<stop>](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/stop) + * @see [Demo](https://naver.github.io/billboard.js/demo/#Chart.AreaChart) + * @see [Demo: above](https://naver.github.io/billboard.js/demo/#AreaChartOptions.Above) + * @see [Demo: below](https://naver.github.io/billboard.js/demo/#AreaChartOptions.Below) + * @see [Demo: linearGradient](https://naver.github.io/billboard.js/demo/#AreaChartOptions.LinearGradient) + * @example + * area: { + * above: true, + * below: false, + * zerobased: false, + * + * // <g class='bb-areas'> will be positioned behind the line <g class='bb-lines'> in stacking order + * front: false, + * + * // will generate follwing linearGradient: + * // for more info: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient + * // <linearGradient x1="0" x2="0" y1="0" y2="1"> + * // <stop offset="0" stop-color="$DATA_COLOR" stop-opacity="1"></stop> + * // <stop offset="1" stop-color="$DATA_COLOR" stop-opacity="0"></stop> + * // </linearGradient> + * linearGradient: true, + * + * // Or customized gradient + * linearGradient: { + * x: [0, 0], // x1, x2 attributes + * y: [0, 0], // y1, y2 attributes + * stops: [ + * // offset, stop-color, stop-opacity + * [0, "#7cb5ec", 1], + * + * // setting 'null' for stop-color, will set its original data color + * [0.5, null, 0], + * + * // setting 'function' for stop-color, will pass data id as argument. + * // It should return color string or null value + * [1, function(id) { return id === "data1" ? "red" : "blue"; }, 0], + * ] + * } + * } + */ + area_above: false, + area_below: false, + area_front: true, + area_linearGradient: false, + area_zerobased: true +}); + +;// ./src/config/Options/shape/bar.ts +/* harmony default export */ var shape_bar = ({ + /** + * Set bar options + * @name bar + * @memberof Options + * @type {object} + * @property {object} bar Bar object + * @property {boolean} [bar.front=false] Set 'bar' to be positioned over(on the top) other shapes elements. + * @property {number} [bar.indices.removeNull=false] Remove nullish data on bar indices positions. + * @property {number} [bar.label.threshold=0] Set threshold ratio to show/hide labels. + * @property {boolean|object} [bar.linearGradient=false] Set the linear gradient on bar.<br><br> + * Or customize by giving below object value: + * - x {Array}: `x1`, `x2` value (default: `[0, 0]`) + * - y {Array}: `y1`, `y2` value (default: `[0, 1]`) + * - stops {Array}: Each item should be having `[offset, stop-color, stop-opacity]` values. + * - (default: `[[0, $DATA_COLOR, 1], [1, $DATA_COLOR, 0]]`) + * @property {boolean} [bar.overlap=false] Bars will be rendered at same position, which will be overlapped each other. (for non-grouped bars only) + * @property {number} [bar.padding=0] The padding pixel value between each bar. + * @property {number} [bar.radius] Set the radius of bar edge in pixel. + * @property {number} [bar.radius.ratio] Set the radius ratio of bar edge in relative the bar's width. + * @property {number} [bar.sensitivity=2] The senstivity offset value for interaction boundary. + * @property {number|Function|object} [bar.width] Change the width of bar chart. + * @property {number} [bar.width.ratio=0.6] Change the width of bar chart by ratio. + * - **NOTE:** Criteria for ratio. + * - When x ticks count is same with the data count, the baseline for ratio is the minimum interval value of x ticks. + * - ex. when timeseries x values are: [2024-01-01, 2024-02-01, 2024-03-01], the minimum interval will be `2024-02-01 ~ 2024-03-01` + * - if the minimum interval is 30px, then ratio=1 means 30px. + * - When x ticks count is lower than the data count, the baseline will be calculated as `chart width / data count`. + * - ex. when chart width is 500, data count is 5, then ratio=1 means 100px. + * @property {number} [bar.width.max] The maximum width value for ratio. + * @property {number} [bar.width.dataname] Change the width of bar for indicated dataset only. + * @property {number} [bar.width.dataname.ratio=0.6] Change the width of bar chart by ratio. + * - **NOTE:** + * - Works only for non-stacked bar + * @property {number} [bar.width.dataname.max] The maximum width value for ratio. + * @property {boolean} [bar.zerobased=true] Set if min or max value will be 0 on bar chart. + * @see [Demo: bar front](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarFront) + * @see [Demo: bar indices](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarIndices) + * @see [Demo: bar overlap](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarOverlap) + * @see [Demo: bar padding](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarPadding) + * @see [Demo: bar radius](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarRadius) + * @see [Demo: bar width](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarWidth) + * @see [Demo: bar width variant](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarWidthVariant) + * @example + * bar: { + * // make bar shape to be positioned over the other shape elements + * front: true, + * + * // remove nullish data on bar indices postions + * indices: { + * removeNull: true + * }, + * + * // will generate follwing linearGradient: + * // for more info: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient + * // <linearGradient x1="0" x2="0" y1="0" y2="1"> + * // <stop offset="0" stop-color="$DATA_COLOR" stop-opacity="1"></stop> + * // <stop offset="1" stop-color="$DATA_COLOR" stop-opacity="0"></stop> + * // </linearGradient> + * linearGradient: true, + * + * // Or customized gradient + * linearGradient: { + * x: [0, 0], // x1, x2 attributes + * y: [0, 0], // y1, y2 attributes + * stops: [ + * // offset, stop-color, stop-opacity + * [0, "#7cb5ec", 1], + * + * // setting 'null' for stop-color, will set its original data color + * [0.5, null, 0], + * + * // setting 'function' for stop-color, will pass data id as argument. + * // It should return color string or null value + * [1, function(id) { return id === "data1" ? "red" : "blue"; }, 0], + * ] + * }, + * + * // remove nullish da + * overlap: true, + * + * padding: 1, + * + * // bar radius + * radius: 10, + * // or + * radius: { + * ratio: 0.5 + * } + * + * label: { + * // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the y Axis domain range value. + * // if data value is below than 0.1, text label will be hidden. + * threshold: 0.1, + * }, + * + * // will not have offset between each bar elements for interaction + * sensitivity: 0, + * + * width: 10, + * + * // or specify width callback. The callback will receive width, targetsNum, maxDataCount as arguments. + * // - width: chart area width + * // - targetsNum: number of targets + * // - maxDataCount: maximum data count among targets + * width: function(width, targetsNum, maxDataCount) { + * return width / (targetsNum * maxDataCount); + * } + * + * // or specify ratio & max + * width: { + * ratio: 0.2, + * max: 20 + * }, + * + * // or specify width per dataset + * width: { + * data1: 20, + * data2: { + * ratio: 0.2, + * max: 20 + * } + * }, + * + * zerobased: false + * } + */ + bar_front: false, + bar_indices_removeNull: false, + bar_label_threshold: 0, + bar_linearGradient: false, + bar_overlap: false, + bar_padding: 0, + bar_radius: void 0, + bar_radius_ratio: void 0, + bar_sensitivity: 2, + bar_width: void 0, + bar_width_ratio: 0.6, + bar_width_max: void 0, + bar_zerobased: true +}); + +;// ./src/config/Options/shape/bubble.ts +/* harmony default export */ var shape_bubble = ({ + /** + * Set bubble options + * @name bubble + * @memberof Options + * @type {object} + * @property {object} bubble bubble object + * @property {number|Function} [bubble.maxR=35] Set the max bubble radius value + * @property {boolean} [bubble.zerobased=false] Set if min or max value will be 0 on bubble chart. + * @example + * bubble: { + * // ex) If 100 is the highest value among data bound, the representation bubble of 100 will have radius of 50. + * // And the lesser will have radius relatively from tha max value. + * maxR: 50, + * + * // or set radius callback + * maxR: function(d) { + * // ex. of d param - {x: Fri Oct 06 2017 00:00:00 GMT+0900, value: 80, id: "data2", index: 5} + * ... + * return Math.sqrt(d.value * 2); + * }, + * zerobased: false + * } + */ + bubble_maxR: 35, + bubble_zerobased: false +}); + +;// ./src/config/Options/shape/candlestick.ts +/* harmony default export */ var shape_candlestick = ({ + /** + * Set candlestick options + * @name candlestick + * @memberof Options + * @type {object} + * @property {object} candlestick Candlestick object + * @property {number} [candlestick.width] Change the width. + * @property {number} [candlestick.width.ratio=0.6] Change the width by ratio. + * @property {number} [candlestick.width.max] The maximum width value for ratio. + * @property {number} [candlestick.width.dataname] Change the width for indicated dataset only. + * @property {number} [candlestick.width.dataname.ratio=0.6] Change the width of bar chart by ratio. + * @property {number} [candlestick.width.dataname.max] The maximum width value for ratio. + * @property {object} [candlestick.color] Color setting. + * @property {string|object} [candlestick.color.down] Change down(bearish) value color. + * @property {string} [candlestick.color.down.dataname] Change down value color for indicated dataset only. + * + * @see [Demo](https://naver.github.io/billboard.js/demo/##Chart.CandlestickChart) + * @example + * candlestick: { + * width: 10, + * + * // or + * width: { + * ratio: 0.2, + * max: 20 + * }, + * + * // or specify width per dataset + * width: { + * data1: 20, + * data2: { + * ratio: 0.2, + * max: 20 + * } + * }, + * color: { + * // spcify bearish color + * down: "red", + * + * // or specify color per dataset + * down: { + * data1: "red", + * data2: "blue", + * } + * } + * } + */ + candlestick_width: void 0, + candlestick_width_ratio: 0.6, + candlestick_width_max: void 0, + candlestick_color_down: "red" +}); + +;// ./src/config/Options/shape/line.ts +/* harmony default export */ var shape_line = ({ + /** + * Set line options + * @name line + * @memberof Options + * @type {object} + * @property {object} line Line object + * @property {boolean} [line.connectNull=false] Set if null data point will be connected or not.<br> + * If true set, the region of null data will be connected without any data point. If false set, the region of null data will not be connected and get empty. + * @property {Array} [line.classes=undefined] If set, used to set a css class on each line. + * @property {boolean} [line.step.type=step] Change step type for step chart.<br> + * **Available values:** + * - step + * - step-before + * - step-after + * @property {boolean} [line.step.tooltipMatch=false] Set to `true` for `step-before` and `step-after` types to have cursor/tooltip match to hovered step's point instead of nearest point. + * @property {boolean|Array} [line.point=true] Set to false to not draw points on linecharts. Or pass an array of line ids to draw points for. + * @property {boolean} [line.zerobased=false] Set if min or max value will be 0 on line chart. + * @example + * line: { + * connectNull: true, + * classes: [ + * "line-class1", + * "line-class2" + * ], + * step: { + * type: "step-after", + * + * // to have cursor/tooltip match to hovered step's point instead of nearest point. + * tooltipMatch: true + * }, + * + * // hide all data points ('point.show=false' also has similar effect) + * point: false, + * + * // show data points for only indicated datas + * point: [ + * "data1", "data3" + * ], + * + * zerobased: false + * } + */ + line_connectNull: false, + line_step_type: "step", + line_step_tooltipMatch: false, + line_zerobased: false, + line_classes: void 0, + line_point: true +}); + +;// ./src/config/Options/shape/scatter.ts +/* harmony default export */ var scatter = ({ + /** + * Set scatter options + * @name scatter + * @memberof Options + * @type {object} + * @property {object} [scatter] scatter object + * @property {boolean} [scatter.zerobased=false] Set if min or max value will be 0 on scatter chart. + * @example + * scatter: { + * connectNull: true, + * step: { + * type: "step-after" + * }, + * + * // hide all data points ('point.show=false' also has similar effect) + * point: false, + * + * // show data points for only indicated datas + * point: [ + * "data1", "data3" + * ], + * + * zerobased: false + * } + */ + scatter_zerobased: false +}); + +;// ./src/config/Options/shape/spline.ts +/* harmony default export */ var spline = ({ + /** + * Set spline options + * - **Available interpolation type values:** + * - basis (d3.curveBasis) + * - basis-closed (d3.curveBasisClosed) + * - basis-open (d3.curveBasisOpen) + * - bundle (d3.curveBundle) + * - cardinal (d3.curveCardinal) + * - cardinal-closed (d3.curveCardinalClosed) + * - cardinal-open (d3.curveCardinalOpen) + * - catmull-rom (d3.curveCatmullRom) + * - catmull-rom-closed (d3.curveCatmullRomClosed) + * - catmull-rom-open (d3.curveCatmullRomOpen) + * - monotone-x (d3.curveMonotoneX) + * - monotone-y (d3.curveMonotoneY) + * - natural (d3.curveNatural) + * - linear-closed (d3.curveLinearClosed) + * - linear (d3.curveLinear) + * - step (d3.curveStep) + * - step-after (d3.curveStepAfter) + * - step-before (d3.curveStepBefore) + * @name spline + * @memberof Options + * @type {object} + * @property {object} spline Spline object + * @property {object} spline.interpolation Spline interpolation object + * @property {string} [spline.interpolation.type="cardinal"] Interpolation type + * @see [Interpolation (d3 v4)](http://bl.ocks.org/emmasaunders/c25a147970def2b02d8c7c2719dc7502) + * @example + * spline: { + * interpolation: { + * type: "cardinal" + * } + * } + */ + spline_interpolation_type: "cardinal" +}); + +;// ./src/config/Options/shape/arc.ts +/* harmony default export */ var shape_arc = ({ + /** + * Set arc options + * @name arc + * @memberof Options + * @type {object} + * @property {object} arc Arc object + * @property {number|Function} [arc.cornerRadius=0] Set corner radius of Arc(donut/gauge/pie/polar) shape. + * - **NOTE:** + * - Corner radius can't surpass the `(outerRadius - innerRadius) /2` of indicated shape. + * @property {number} [arc.cornerRadius.ratio=0] Set ratio relative of outer radius. + * @property {object} [arc.needle] Set needle options. + * @property {boolean} [arc.needle.show=false] Show or hide needle. + * @property {string} [arc.needle.color] Set needle filled color. + * @property {Function} [arc.needle.path] Set custom needle path function. + * - **NOTE:** + * - The path should be starting from 0,0 (which is center) to top center coordinate. + * - The function will receive, `length`{number} parameter which indicating the needle length in pixel relative to radius. + * @property {number} [arc.needle.value] Set needle value. + * - **NOTE:** + * - For single gauge chart, needle will point the data value by default, otherwise will point 0(zero). + * @property {number} [arc.needle.length=100] Set needle length in percentages relative to radius. + * @property {object} [arc.needle.top] Set needle top options. + * @property {number} [arc.needle.top.rx=0] Set needle top [rx radius value](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve). + * @property {number} [arc.needle.top.ry=0] Set needle top [ry radius value](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve). + * @property {number} [arc.needle.top.width=0] Set needle top width in pixel. + * @property {object} [arc.needle.bottom] Set needle bottom options. + * @property {number} [arc.needle.bottom.rx=1] Set needle bottom [rx radius value](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve). + * @property {number} [arc.needle.bottom.ry=1] Set needle bottom [ry radius value](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve). + * @property {number} [arc.needle.bottom.width=15] Set needle bottom width in pixel. + * @property {number} [arc.needle.bottom.len=0] Set needle bottom length in pixel. Setting this value, will make bottom larger starting from center. + * @property {object} [arc.rangeText] Set rangeText options. + * @property {Array} [arc.rangeText.values] Set range text values to be shown around Arc. + * - When `unit: 'absolute'`: Given values are treated as absolute values. + * - When `unit: '%'`: Given values are treated as percentages. + * @property {string} [arc.rangeText.unit="absolute"] Specify the range text unit. + * - "absolute": Show absolute value + * - "%": Show percentage value + * @property {boolean} [arc.rangeText.fiexed=false] Set if range text shown will be fixed w/o data toggle update. Only available for gauge chart. + * @property {Function} [arc.rangeText.format] Set format function for the range text. + * @property {number} [arc.rangeText.position] Set position function or object for the range text. + * @see [Demo: Donut corner radius](https://naver.github.io/billboard.js/demo/#DonutChartOptions.DonutCornerRadius) + * @see [Demo: Donut corner radius](https://naver.github.io/billboard.js/demo/#PieChartOptions.CornerRadius) + * @see [Demo: Donut needle](https://naver.github.io/billboard.js/demo/#DonutChartOptions.DonutNeedle) + * @see [Demo: Donut RangeText](https://naver.github.io/billboard.js/demo/#DonutChartOptions.DonutRangeText) + * @see [Demo: Gauge corner radius](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeCornerRadius) + * @see [Demo: Gauge needle](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeNeedle) + * @see [Demo: Gauge RangeText](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeRangeText) + * @example + * arc: { + * cornerRadius: 12, + * + * // can customize corner radius for each data with function callback + * // + * // The function will receive: + * // - id {string}: Data id + * // - value {number}: Data value + * // - outerRadius {number}: Outer radius value + * cornerRadius: function(id, value, outerRadius) { + * return (id === "data1" && value > 10) ? + * 50 : outerRadius * 1.2; + * }, + * + * // set ratio relative of outer radius + * cornerRadius: { + * ratio: 0.5 + * }, + * + * needle: { + * show: true, + * color: "red", // any valid CSS color + * path: function(length) { + * const len = length - 20; + * + * // will return upper arrow shape path + * // Note: The path should begun from '0,0' coordinate to top center. + * const path = `M 0 -${len + 20} + * L -12 -${len} + * L -5 -${len} + * L -5 0 + * A 1 1 0 0 0 5 0 + * L 5 -${len} + * L 12 -${len} Z`; + * + * return path; + * }, + * value: 40, // will make needle to point value 40. + * length: 80, // needle length in percentages relative to radius. + * + * top: { + * // rx and ry are the two radii of the ellipse; + * // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve + * rx: 1, + * ry: 1, + * width: 5 + * }, + * bottom: { + * // rx and ry are the two radii of the ellipse; + * // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve + * rx: 1, + * ry: 1, + * width: 10 + * len: 10 + * } + * }, + * + * rangeText: { + * values: [15, 30, 50, 75, 95], + * unit: "%", + * fixed: false, // only available for gauge chart + * format: function(v) { + * return v === 15 ? "Fifteen" : v; + * }, + * + * position: function(v) { + * return v === 15 ? {x: 20, y: 10} : null; // can return one props value also. + * }, + * position: {x: 10, y: 15}, + * position: {x: 10} + * } + * } + */ + arc_cornerRadius: 0, + arc_cornerRadius_ratio: 0, + arc_needle_show: false, + arc_needle_color: void 0, + arc_needle_value: void 0, + arc_needle_path: void 0, + arc_needle_length: 100, + arc_needle_top_rx: 0, + arc_needle_top_ry: 0, + arc_needle_top_width: 0, + arc_needle_bottom_rx: 1, + arc_needle_bottom_ry: 1, + arc_needle_bottom_width: 15, + arc_needle_bottom_len: 0, + arc_rangeText_values: void 0, + arc_rangeText_unit: "absolute", + arc_rangeText_fixed: false, + arc_rangeText_format: void 0, + arc_rangeText_position: void 0 +}); + +;// ./src/config/Options/shape/donut.ts +/* harmony default export */ var donut = ({ + /** + * Set donut options + * @name donut + * @memberof Options + * @type {object} + * @property {object} donut Donut object + * @property {boolean} [donut.label.show=true] Show or hide label on each donut piece. + * @property {Function} [donut.label.format] Set formatter for the label on each donut piece. + * @property {number} [donut.label.threshold=0.05] Set threshold ratio to show/hide labels. + * @property {number|Function} [donut.label.ratio=undefined] Set ratio of labels position. + * @property {boolean} [donut.expand=true] Enable or disable expanding donut pieces. + * @property {number} [donut.expand.rate=0.98] Set expand rate. + * @property {number} [donut.expand.duration=50] Set expand transition time in ms. + * @property {number} [donut.width] Set width of donut chart. + * @property {string} [donut.title=""] Set title of donut chart. Use `\n` character for line break. + * - **NOTE:** + * - When `arc.needle.show=true` is set, special template `{=NEEDLE_VALUE}` can be used inside the title text to show current needle value. + * @property {number} [donut.padAngle=0] Set padding between data. + * @property {number} [donut.startingAngle=0] Set starting angle where data draws. + * @example + * donut: { + * label: { + * show: false, + * format: function(value, ratio, id) { + * return d3.format("$")(value); + * + * // to multiline, return with '\n' character + * // return value +"%\nLine1\n2Line2"; + * }, + * + * // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value. + * // if data value is below than 0.1, text label will be hidden. + * threshold: 0.1, + * + * // set ratio callback. Should return ratio value + * ratio: function(d, radius, h) { + * ... + * return ratio; + * }, + * // or set ratio number + * ratio: 0.5 + * }, + * + * // disable expand transition for interaction + * expand: false, + * + * expand: { + * // set duration of expand transition to 500ms. + * duration: 500, + * + * // set expand area rate + * rate: 1 + * }, + * + * width: 10, + * padAngle: 0.2, + * startingAngle: 1, + * title: "Donut Title" + * + * // when 'arc.needle.show=true' is set, can show current needle value. + * title: "Needle value:\n{=NEEDLE_VALUE}", + * + * // title with line break + * title: "Title1\nTitle2" + * } + */ + donut_label_show: true, + donut_label_format: void 0, + donut_label_threshold: 0.05, + donut_label_ratio: void 0, + donut_width: void 0, + donut_title: "", + donut_expand: {}, + donut_expand_rate: 0.98, + donut_expand_duration: 50, + donut_padAngle: 0, + donut_startingAngle: 0 +}); + +;// ./src/config/Options/shape/funnel.ts +/* harmony default export */ var shape_funnel = ({ + /** + * Set funnel options + * @name funnel + * @memberof Options + * @type {object} + * @property {object} funnel Funnel object + * @property {number} [funnel.neck.width=0] Set funnel neck width. + * @property {number} [funnel.neck.height=0] Set funnel neck height. + * @property {number} [funnel.neck.width.ratio] Set funnel neck width in ratio. + * @property {number} [funnel.neck.height.ratio] Set funnel neck height in ratio. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Chart.PolarChart) + * @example + * funnel: { + * neck: { + * width: 200, + * height: 100, + * + * // or specify as ratio value (relative to the chart size) + * width: { + * ratio: 0.5 + * }, + * height: { + * ratio: 0.5 + * } + * } + * } + */ + funnel_neck_width: 0, + funnel_neck_height: 0 +}); + +;// ./src/config/Options/shape/gauge.ts +/* harmony default export */ var shape_gauge = ({ + /** + * Set gauge options + * @name gauge + * @memberof Options + * @type {object} + * @property {object} gauge Gauge object + * @property {boolean} [gauge.background=""] Set background color. (The `.bb-chart-arcs-background` element) + * @property {boolean} [gauge.fullCircle=false] Show full circle as donut. When set to 'true', the max label will not be showed due to start and end points are same location. + * @property {boolean} [gauge.label.show=true] Show or hide label on gauge. + * @property {Function} [gauge.label.extents] Set customized min/max label text. + * @property {Function} [gauge.label.format] Set formatter for the label on gauge. Label text can be multilined with `\n` character.<br> + * Will pass following arguments to the given function: + * - value {number}: absolute value + * - ratio {number}: value's ratio + * - id {string}: data's id value + * @property {number|Function} [gauge.label.ratio=undefined] Set ratio of labels position. + * @property {number} [gauge.label.threshold=0] Set threshold ratio to show/hide labels. + * @property {boolean} [gauge.expand=true] Enable or disable expanding gauge. + * @property {number} [gauge.expand.rate=0.98] Set expand rate. + * @property {number} [gauge.expand.duration=50] Set the expand transition time in milliseconds. + * @property {boolean} [gauge.enforceMinMax=false] Enforce to given min/max value. + * - When `gauge.min=50` and given value is `30`, gauge will render as empty value. + * - When `gauge.max=100` and given value is `120`, gauge will render till 100, not surpassing max value. + * @property {number} [gauge.min=0] Set min value of the gauge. + * @property {number} [gauge.max=100] Set max value of the gauge. + * @property {number} [gauge.startingAngle=-1 * Math.PI / 2] Set starting angle where data draws. + * + * **Limitations:** + * - when `gauge.fullCircle=false`: + * - -1 * Math.PI / 2 <= startingAngle <= Math.PI / 2 + * - `startingAngle <= -1 * Math.PI / 2` defaults to `-1 * Math.PI / 2` + * - `startingAngle >= Math.PI / 2` defaults to `Math.PI / 2` + * - when `gauge.fullCircle=true`: + * - -1 * Math.PI < startingAngle < Math.PI + * - `startingAngle < -1 * Math.PI` defaults to `Math.PI` + * - `startingAngle > Math.PI` defaults to `Math.PI` + * @property {number} [gauge.arcLength=100] Set the length of the arc to be drawn in percent from -100 to 100.<br> + * Negative value will draw the arc **counterclockwise**. Need to be used in conjunction with `gauge.fullCircle=true`. + * + * **Limitations:** + * - -100 <= arcLength (in percent) <= 100 + * - 'arcLength < -100' defaults to -100 + * - 'arcLength > 100' defaults to 100 + * @property {string} [gauge.title=""] Set title of gauge chart. Use `\n` character for line break. + * - **NOTE:** + * - When `arc.needle.show=true` is set, special template `{=NEEDLE_VALUE}` can be used inside the title text to show current needle value. + * @property {string} [gauge.units] Set units of the gauge. + * @property {number} [gauge.width] Set width of gauge chart. + * @property {string} [gauge.type="single"] Set type of gauge to be displayed.<br><br> + * **Available Values:** + * - single + * - multi + * @property {number} [gauge.arcs.minWidth=5] Set minimal width of gauge arcs until the innerRadius disappears. + * @see [Demo: enforceMinMax, min/max](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeMinMax) + * @see [Demo: archLength](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeArcLength) + * @see [Demo: startingAngle](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeStartingAngle) + * @see [Demo: labelRatio](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeLabelRatio) + * @example + * gauge: { + * background: "#eee", // will set 'fill' css prop for '.bb-chart-arcs-background' classed element. + * fullCircle: false, + * label: { + * show: false, + * format: function(value, ratio, id) { + * return value; + * + * // to multiline, return with '\n' character + * // return value +"%\nLine1\n2Line2"; + * }, + * + * extents: function(value, isMax) { + * return (isMax ? "Max:" : "Min:") + value; + * }, + * + * // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value. + * // if data value is below than 0.1, text label will be hidden. + * threshold: 0.1, + * + * // set ratio callback. Should return ratio value + * ratio: function(d, radius, h) { + * ... + * return ratio; + * }, + * // or set ratio number + * ratio: 0.5 + * }, + * + * // disable expand transition for interaction + * expand: false, + * + * expand: { + * // set duration of expand transition to 500ms. + * duration: 500, + * + * // set expand area rate + * rate: 1 + * }, + * + * // enforce min/max value. + * // when given value < min, will render as empty value. + * // when value > max, will render to given max value not surpassing it. + * enforceMinMax: true, + * + * min: -100, + * max: 200, + * type: "single" // or 'multi' + * title: "Title Text", + * + * // when 'arc.needle.show=true' is set, can show current needle value. + * title: "Needle value:\n{=NEEDLE_VALUE}", + * + * units: "%", + * width: 10, + * startingAngle: -1 * Math.PI / 2, + * arcLength: 100, + * arcs: { + * minWidth: 5 + * } + * } + */ + gauge_background: "", + gauge_fullCircle: false, + gauge_label_show: true, + gauge_label_extents: void 0, + gauge_label_format: void 0, + gauge_label_ratio: void 0, + gauge_label_threshold: 0, + gauge_enforceMinMax: false, + gauge_min: 0, + gauge_max: 100, + gauge_type: "single", + gauge_startingAngle: -1 * Math.PI / 2, + gauge_arcLength: 100, + gauge_title: "", + gauge_units: void 0, + gauge_width: void 0, + gauge_arcs_minWidth: 5, + gauge_expand: {}, + gauge_expand_rate: 0.98, + gauge_expand_duration: 50 +}); + +;// ./src/config/Options/shape/pie.ts +/* harmony default export */ var shape_pie = ({ + /** + * Set pie options + * @name pie + * @memberof Options + * @type {object} + * @property {object} pie Pie object + * @property {boolean} [pie.label.show=true] Show or hide label on each pie piece. + * @property {Function} [pie.label.format] Set formatter for the label on each pie piece. + * @property {number|Function} [pie.label.ratio=undefined] Set ratio of labels position. + * @property {number} [pie.label.threshold=0.05] Set threshold ratio to show/hide labels. + * @property {boolean|object} [pie.expand=true] Enable or disable expanding pie pieces. + * @property {number} [pie.expand.rate=0.98] Set expand rate. + * @property {number} [pie.expand.duration=50] Set expand transition time in ms. + * @property {number|object} [pie.innerRadius=0] Sets the inner radius of pie arc. + * @property {number|object|undefined} [pie.outerRadius=undefined] Sets the outer radius of pie arc. + * @property {number} [pie.padAngle=0] Set padding between data. + * @property {number} [pie.padding=0] Sets the gap between pie arcs. + * @property {number} [pie.startingAngle=0] Set starting angle where data draws. + * @see [Demo: expand.rate](https://naver.github.io/billboard.js/demo/#PieChartOptions.ExpandRate) + * @see [Demo: innerRadius](https://naver.github.io/billboard.js/demo/#PieChartOptions.InnerRadius) + * @see [Demo: outerRadius](https://naver.github.io/billboard.js/demo/#PieChartOptions.OuterRadius) + * @see [Demo: startingAngle](https://naver.github.io/billboard.js/demo/#PieChartOptions.StartingAngle) + * @example + * pie: { + * label: { + * show: false, + * format: function(value, ratio, id) { + * return d3.format("$")(value); + * + * // to multiline, return with '\n' character + * // return value +"%\nLine1\n2Line2"; + * }, + * + * // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value. + * // if data value is below than 0.1, text label will be hidden. + * threshold: 0.1, + * + * // set ratio callback. Should return ratio value + * ratio: function(d, radius, h) { + * ... + * return ratio; + * }, + * // or set ratio number + * ratio: 0.5 + * }, + * + * // disable expand transition for interaction + * expand: false, + * + * expand: { + * // set duration of expand transition to 500ms. + * duration: 500, + * + * // set expand area rate + * rate: 1 + * }, + * + * innerRadius: 0, + * + * // set different innerRadius for each data + * innerRadius: { + * data1: 10, + * data2: 0 + * }, + * + * outerRadius: 100, + * + * // set different outerRadius for each data + * outerRadius: { + * data1: 50, + * data2: 100 + * } + * + * padAngle: 0.1, + * padding: 0, + * startingAngle: 1 + * } + */ + pie_label_show: true, + pie_label_format: void 0, + pie_label_ratio: void 0, + pie_label_threshold: 0.05, + pie_expand: {}, + pie_expand_rate: 0.98, + pie_expand_duration: 50, + pie_innerRadius: 0, + pie_outerRadius: void 0, + pie_padAngle: 0, + pie_padding: 0, + pie_startingAngle: 0 +}); + +;// ./src/config/Options/shape/polar.ts +/* harmony default export */ var shape_polar = ({ + /** + * Set polar options + * @name polar + * @memberof Options + * @type {object} + * @property {object} polar Polar object + * @property {boolean} [polar.label.show=true] Show or hide label on each polar piece. + * @property {Function} [polar.label.format] Set formatter for the label on each polar piece. + * @property {number} [polar.label.threshold=0.05] Set threshold ratio to show/hide labels. + * @property {number|Function} [polar.label.ratio=undefined] Set ratio of labels position. + * @property {number} [polar.level.depth=3] Set the level depth. + * @property {boolean} [polar.level.show=true] Show or hide level. + * @property {string} [polar.level.text.backgroundColor="#fff"] Set label text's background color. + * @property {Function} [polar.level.text.format] Set format function for the level value.<br>- Default value: `(x) => x % 1 === 0 ? x : x.toFixed(2)` + * @property {boolean} [polar.level.text.show=true] Show or hide level text. + * @property {number} [polar.padAngle=0] Set padding between data. + * @property {number} [polar.padding=0] Sets the gap between pie arcs. + * @property {number} [polar.startingAngle=0] Set starting angle where data draws. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Chart.PolarChart) + * @example + * polar: { + * label: { + * show: false, + * format: function(value, ratio, id) { + * return d3.format("$")(value); + * + * // to multiline, return with '\n' character + * // return value +"%\nLine1\n2Line2"; + * }, + * + * // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value. + * // if data value is below than 0.1, text label will be hidden. + * threshold: 0.1, + * + * // set ratio callback. Should return ratio value + * ratio: function(d, radius, h) { + * ... + * return ratio; + * }, + * // or set ratio number + * ratio: 0.5 + * }, + * level: { + * depth: 3, + * max: 500, + * show: true, + * text: { + * format: function(x) { + * return x + "%"; + * }, + * show: true, + * backgroundColor: "red" + * } + * }, + * padAngle: 0.1, + * padding: 0, + * startingAngle: 1 + * } + */ + polar_label_show: true, + polar_label_format: void 0, + polar_label_threshold: 0.05, + polar_label_ratio: void 0, + polar_level_depth: 3, + polar_level_max: void 0, + polar_level_show: true, + polar_level_text_backgroundColor: "#fff", + polar_level_text_format: (x) => x % 1 === 0 ? x : x.toFixed(2), + polar_level_text_show: true, + polar_padAngle: 0, + polar_padding: 0, + polar_startingAngle: 0 +}); + +;// ./src/config/Options/shape/radar.ts +/* harmony default export */ var shape_radar = ({ + /** + * Set radar options + * - **NOTE:** + * > When x tick text contains `\n`, it's used as line break. + * @name radar + * @memberof Options + * @type {object} + * @property {object} radar Radar object + * @property {number} [radar.axis.max=undefined] The max value of axis. If not given, it'll take the max value from the given data. + * @property {boolean} [radar.axis.line.show=true] Show or hide axis line. + * @property {number} [radar.axis.text.position.x=0] x coordinate position, relative the original. + * @property {number} [radar.axis.text.position.y=0] y coordinate position, relative the original. + * @property {boolean} [radar.axis.text.show=true] Show or hide axis text. + * @property {boolean} [radar.direction.clockwise=false] Set the direction to be drawn. + * @property {number} [radar.level.depth=3] Set the level depth. + * @property {boolean} [radar.level.show=true] Show or hide level. + * @property {Function} [radar.level.text.format] Set format function for the level value.<br>- Default value: `(x) => x % 1 === 0 ? x : x.toFixed(2)` + * @property {boolean} [radar.level.text.show=true] Show or hide level text. + * @property {number} [radar.size.ratio=0.87] Set size ratio. + * @see [Demo](https://naver.github.io/billboard.js/demo/#Chart.RadarChart) + * @see [Demo: radar axis](https://naver.github.io/billboard.js/demo/#RadarChartOptions.RadarAxis) + * @see [Demo: radar level](https://naver.github.io/billboard.js/demo/#RadarChartOptions.RadarLevel) + * @see [Demo: radar size](https://naver.github.io/billboard.js/demo/#RadarChartOptions.RadarSize) + * @see [Demo: radar axis multiline](https://naver.github.io/billboard.js/demo/#RadarChartOptions.RadarAxisMultiline) + * @example + * radar: { + * axis: { + * max: 50, + * line: { + * show: false + * }, + * text: { + * position: { + * x: 0, + * y: 0 + * }, + * show: false + * } + * }, + * direction: { + * clockwise: true + * }, + * level: { + * show: false, + * text: { + * format: function(x) { + * return x + "%"; + * }, + * show: true + * } + * }, + * size: { + * ratio: 0.7 + * } + * } + */ + radar_axis_max: void 0, + radar_axis_line_show: true, + radar_axis_text_show: true, + radar_axis_text_position: {}, + radar_level_depth: 3, + radar_level_show: true, + radar_level_text_format: (x) => x % 1 === 0 ? x : x.toFixed(2), + radar_level_text_show: true, + radar_size_ratio: 0.87, + radar_direction_clockwise: false +}); + +;// ./src/config/Options/shape/treemap.ts +/* harmony default export */ var Options_shape_treemap = ({ + /** + * Set treemap options + * @name treemap + * @memberof Options + * @type {object} + * @property {object} treemap Treemap object + * @property {string} [treemap.tile="binary"] Treemap tile type + * - **Available tile type values:** + * - binary ([d3.treemapBinary](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapBinary)) + * - dice ([d3.treemapDice](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapDice)) + * - slice ([d3.treemapSlice](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapSlice)) + * - sliceDice ([d3.treemapSliceDice](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapSliceDice)) + * - squrify ([d3.treemapSquarify](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapSquarify)) + * - resquarify ([d3.treemapResquarify](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapResquarify)) + * @property {Function} [treemap.label.format] Set formatter for the label text. + * @property {number} [treemap.label.threshold=0.05] Set threshold ratio to show/hide labels text. + * @property {number} [treemap.label.show=true] Show or hide label text. + * @see [Demo: treemap](https://naver.github.io/billboard.js/demo/#Chart.TreemapChart) + * @example + * treemap: { + * // "binary", "dice", "slice", "sliceDice", "squrify", "resquarify" + * tile: "dice", + * + * label: { + * // show or hide label text + * show: false, + * + * // set label text formatter + * format: function(value, ratio, id) { + * return d3.format("$")(value); + * + * // to multiline, return with '\n' character + * // return value +"%\nLine1\n2Line2"; + * }, + * + * // set ratio number + * ratio: 0.05 + * } + * } + */ + treemap_tile: "binary", + treemap_label_format: void 0, + treemap_label_threshold: 0.05, + treemap_label_show: true +}); + +;// ./src/config/resolver/shape.ts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +function extendAxis(module, option) { + util_extend(ChartInternal.prototype, Object.values(internal).concat(module)); + util_extend(Chart.prototype, api); + Options.setOptions(Object.values(options).concat(option || [])); +} +function extendLine(module, option) { + extendAxis([point_common, shape_point, line].concat(module || [])); + Options.setOptions([common_point, shape_line].concat(option || [])); +} +function extendArc(module, option) { + util_extend(ChartInternal.prototype, [arc, point_common].concat(module || [])); + Options.setOptions([common_point].concat(option || [])); +} +let resolver_shape_area = () => (extendLine(shape_area, [Options_shape_area]), (resolver_shape_area = () => TYPE.AREA)()); +let areaLineRange = () => (extendLine(shape_area, [Options_shape_area]), (areaLineRange = () => TYPE.AREA_LINE_RANGE)()); +let areaStepRange = () => (extendLine(shape_area, [Options_shape_area]), (areaStepRange = () => TYPE.AREA_STEP_RANGE)()); +let areaSpline = () => (extendLine(shape_area, [Options_shape_area, spline]), (areaSpline = () => TYPE.AREA_SPLINE)()); +let areaSplineRange = () => (extendLine(shape_area, [Options_shape_area, spline]), (areaSplineRange = () => TYPE.AREA_SPLINE_RANGE)()); +let areaStep = () => (extendLine(shape_area, [Options_shape_area]), (areaStep = () => TYPE.AREA_STEP)()); +let resolver_shape_line = () => (extendLine(), (resolver_shape_line = () => TYPE.LINE)()); +let shape_spline = () => (extendLine(void 0, [spline]), (shape_spline = () => TYPE.SPLINE)()); +let shape_step = () => (extendLine(), (shape_step = () => TYPE.STEP)()); +let shape_donut = () => (extendArc(void 0, [shape_arc, donut]), (shape_donut = () => TYPE.DONUT)()); +let resolver_shape_gauge = () => (extendArc([gauge], [shape_arc, shape_gauge]), (resolver_shape_gauge = () => TYPE.GAUGE)()); +let resolver_shape_pie = () => (extendArc(void 0, [shape_arc, shape_pie]), (resolver_shape_pie = () => TYPE.PIE)()); +let resolver_shape_polar = () => (extendArc([polar], [shape_arc, shape_polar]), (resolver_shape_polar = () => TYPE.POLAR)()); +let resolver_shape_radar = () => (extendArc( + [internal.eventrect, shape_point, radar], + [common_point, shape_radar, { axis_x_categories: options.optAxis.axis_x_categories }] +), (resolver_shape_radar = () => TYPE.RADAR)()); +let resolver_shape_bar = () => (extendAxis([bar, point_common], [shape_bar, common_point]), (resolver_shape_bar = () => TYPE.BAR)()); +let resolver_shape_bubble = () => (extendAxis( + [point_common, shape_point, bubble], + [shape_bubble, common_point] +), (resolver_shape_bubble = () => TYPE.BUBBLE)()); +let resolver_shape_candlestick = () => (extendAxis( + [candlestick, point_common], + [shape_candlestick, common_point] +), (resolver_shape_candlestick = () => TYPE.CANDLESTICK)()); +let shape_scatter = () => (extendAxis( + [point_common, shape_point], + [common_point, scatter] +), (shape_scatter = () => TYPE.SCATTER)()); +let resolver_shape_funnel = () => (extendArc([funnel], [shape_funnel]), (resolver_shape_funnel = () => TYPE.FUNNEL)()); +let resolver_shape_treemap = () => (extendAxis([shape_treemap], [Options_shape_treemap]), (resolver_shape_treemap = () => TYPE.TREEMAP)()); + +;// ./src/core.ts + + +let defaults = {}; +const bb = { + /** + * Version information + * @property {string} version version + * @example + * bb.version; // "1.0.0" + * @memberof bb + */ + version: "3.14.2", + /** + * Generate chart + * - **NOTE:** Bear in mind for the possiblity of ***throwing an error***, during the generation when: + * - Unused option value is given. + * - ex) For `data.type="pie"` option, setting 'axis' option can cause unexpected generation error. + * - Insufficient value is given for certain option used. + * - ex) `data: { x: "x", columns: [["x"], ["data1", 30, 200, 100]] }` + * @param {Options} config chart options + * @memberof bb + * @returns {Chart} + * @see {@link Options} for different generation options + * @see {@link Chart} for different methods API + * @example + * <!-- chart holder --> + * <div id="LineChart"></div> + * @example + * // Generate chart with options + * var chart = bb.generate({ + * "bindto": "#LineChart" + * "data": { + * "columns": [ + * ["data1", 30, 200, 100, 400, 150, 250], + * ["data2", 50, 20, 10, 40, 15, 25] + * ], + * "type": "line" + * } + * }); + * + * // call some API + * // ex) get the data of 'data1' + * chart.data("data1"); + * @example + * // Generate chart by importing ESM + * // Import types to be used only, where this will make smaller bundle size. + * import bb, { + * area, + * areaLineRange, + * areaSpline, + * areaSplineRange, + * areaStep, + * bar, + * bubble, + * donut, + * gauge, + * line, + * pie, + * polar, + * radar, + * scatter, + * spline, + * step + * } + * + * bb.generate({ + * "bindto": "#LineChart" + * "data": { + * "columns": [ + * ["data1", 30, 200, 100, 400, 150, 250], + * ["data2", 50, 20, 10, 40, 15, 25] + * ] + * }, + * type: line(), + * + * // or + * types: { + * data1: bar(), + * data2: step() + * } + * }); + */ + generate(config) { + const options = mergeObj({}, defaults, config); + const inst = new Chart(options); + inst.internal.charts = this.instance; + this.instance.push(inst); + return inst; + }, + /** + * Set or get global default options. + * - **NOTE:** + * - The options values settings are valid within page context only. + * - If is called multiple times, will override the last value. + * @param {Options} options chart options + * @memberof bb + * @returns {Options} + * @see {@link Options} + * @example + * // Set same option value as for `.generate()` + * bb.defaults({ + * data: { + * type: "bar" + * } + * }); + * + * bb.defaults(); // {data:{type: "bar"}} + * + * // data.type defaults to 'bar' + * var chart = bb.generate({ ... }); + */ + defaults(options) { + if (isObject(options)) { + defaults = options; + } + return defaults; + }, + /** + * An array containing instance created + * @property {Array} instance instance array + * @example + * // generate charts + * var chart1 = bb.generate(...); + * var chart2 = bb.generate(...); + * + * bb.instance; // [ chart1, chart2, ... ] + * @memberof bb + */ + instance: [], + /** + * Namespace for plugins + * @property {object} plugin plugin namespace + * @example + * // Stanford diagram plugin + * bb.plugin.stanford; + * @memberof bb + */ + plugin: {} +}; + + +;// ./src/index.ts + + +Object.keys(resolver_shape_namespaceObject).forEach((v) => resolver_shape_namespaceObject[v]()); +Object.keys(resolver_interaction_namespaceObject).forEach((v) => resolver_interaction_namespaceObject[v]()); + + + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ !function() { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ }(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module used 'module' so it can't be inlined +/******/ __webpack_require__(0); +/******/ var __webpack_exports__ = __webpack_require__(576); +/******/ +/******/ return __webpack_exports__; +/******/ })() +; +}); \ No newline at end of file diff --git a/release/3.14.2/dist/billboard.pkgd.min.js b/release/3.14.2/dist/billboard.pkgd.min.js new file mode 100644 index 000000000..18fe74930 --- /dev/null +++ b/release/3.14.2/dist/billboard.pkgd.min.js @@ -0,0 +1,57 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * + * All-in-one packaged file for ease use of 'billboard.js' with dependant d3.js modules & polyfills. + * - @types/d3-selection ^3.0.11 + * - @types/d3-transition ^3.0.9 + * - d3-axis ^3.0.0 + * - d3-brush ^3.0.0 + * - d3-drag ^3.0.0 + * - d3-dsv ^3.0.1 + * - d3-ease ^3.0.1 + * - d3-hierarchy ^3.1.2 + * - d3-interpolate ^3.0.1 + * - d3-scale ^4.0.2 + * - d3-selection ^3.0.0 + * - d3-shape ^3.2.0 + * - d3-time-format ^4.1.0 + * - d3-transition ^3.0.1 + * - d3-zoom ^3.0.0 + */(function(Va,jn){if(typeof exports=="object"&&typeof module=="object")module.exports=jn();else if(typeof define=="function"&&define.amd)define([],jn);else{var Xa=jn();for(var x in Xa)(typeof exports=="object"?exports:Va)[x]=Xa[x]}})(this,function(){return function(){"use strict";var Co=[function(x,b,r){r(1),r(97),r(98),r(99),r(100),r(101),r(102),r(103),r(104),r(105),r(106),r(107),r(108),r(109),r(110),r(111),r(124),r(126),r(136),r(137),r(139),r(143),r(146),r(148),r(150),r(151),r(152),r(153),r(155),r(156),r(158),r(159),r(161),r(165),r(166),r(167),r(168),r(173),r(174),r(176),r(177),r(178),r(180),r(184),r(185),r(186),r(187),r(188),r(193),r(195),r(196),r(198),r(201),r(202),r(203),r(204),r(205),r(207),r(217),r(219),r(220),r(222),r(225),r(231),r(232),r(233),r(234),r(235),r(236),r(240),r(241),r(243),r(244),r(245),r(247),r(248),r(249),r(250),r(251),r(256),r(257),r(258),r(259),r(261),r(262),r(263),r(265),r(266),r(267),r(268),r(93),r(269),r(270),r(278),r(280),r(282),r(283),r(284),r(285),r(286),r(288),r(289),r(290),r(291),r(292),r(294),r(295),r(296),r(297),r(298),r(299),r(300),r(301),r(305),r(306),r(308),r(310),r(311),r(312),r(313),r(314),r(316),r(318),r(319),r(320),r(321),r(323),r(324),r(326),r(327),r(328),r(329),r(331),r(332),r(333),r(334),r(335),r(336),r(337),r(338),r(339),r(341),r(342),r(343),r(344),r(345),r(346),r(347),r(348),r(349),r(350),r(351),r(353),r(354),r(355),r(356),r(380),r(381),r(382),r(383),r(384),r(385),r(386),r(387),r(388),r(389),r(391),r(392),r(393),r(394),r(395),r(396),r(397),r(398),r(399),r(400),r(407),r(408),r(410),r(411),r(412),r(413),r(414),r(416),r(426),r(428),r(430),r(432),r(434),r(436),r(438),r(439),r(441),r(444),r(445),r(446),r(447),r(448),r(452),r(453),r(455),r(456),r(457),r(458),r(460),r(461),r(462),r(463),r(464),r(465),r(466),r(468),r(471),r(474),r(477),r(478),r(479),r(480),r(481),r(482),r(483),r(484),r(485),r(486),r(487),r(488),r(489),r(497),r(498),r(499),r(500),r(501),r(502),r(503),r(504),r(505),r(506),r(507),r(508),r(509),r(511),r(512),r(513),r(514),r(515),r(516),r(517),r(518),r(519),r(520),r(521),r(522),r(523),r(524),r(525),r(526),r(527),r(528),r(529),r(530),r(531),r(532),r(533),r(534),r(535),r(536),r(537),r(538),r(541),r(543),r(545),r(546),r(549),r(550),r(552),r(553),r(554),r(558),r(559),r(560),r(561),r(564),r(569),r(570),r(571),r(572),r(573),r(574),r(575),r(80)},function(x,b,r){r(2),r(90),r(92),r(93),r(96)},function(x,b,r){var u=r(3),d=r(4),h=r(8),p=r(14),y=r(36),T=r(6),$=r(26),A=r(7),E=r(38),R=r(24),I=r(46),O=r(12),C=r(18),D=r(68),M=r(11),F=r(71),j=r(73),B=r(57),U=r(75),V=r(66),z=r(5),G=r(44),H=r(72),k=r(10),J=r(47),q=r(77),nt=r(34),rt=r(53),_=r(54),tt=r(40),et=r(33),ot=r(78),mt=r(79),gt=r(81),xt=r(82),yt=r(51),Ut=r(83).forEach,Dt=rt("hidden"),Xt="Symbol",kt="prototype",Qt=yt.set,me=yt.getterFor(Xt),ge=Object[kt],ae=d.Symbol,Mt=ae&&ae[kt],Yt=d.RangeError,re=d.TypeError,oe=d.QObject,ee=z.f,fe=G.f,Pe=U.f,Me=k.f,$e=p([].push),ce=nt("symbols"),Ae=nt("op-symbols"),Te=nt("wks"),de=!oe||!oe[kt]||!oe[kt].findChild,bt=function(It,Pt,Ct){var Nt=ee(ge,Pt);Nt&&delete ge[Pt],fe(It,Pt,Ct),Nt&&It!==ge&&fe(ge,Pt,Nt)},Ft=T&&A(function(){return F(fe({},"a",{get:function(){return fe(this,"a",{value:7}).a}})).a!==7})?bt:fe,Tt=function(It,Pt){var Ct=ce[It]=F(Mt);return Qt(Ct,{type:Xt,tag:It,description:Pt}),T||(Ct.description=Pt),Ct},qt=function(Pt,Ct,Nt){Pt===ge&&qt(Ae,Ct,Nt),I(Pt);var Et=C(Ct);return I(Nt),E(ce,Et)?(Nt.enumerable?(E(Pt,Dt)&&Pt[Dt][Et]&&(Pt[Dt][Et]=!1),Nt=F(Nt,{enumerable:M(0,!1)})):(E(Pt,Dt)||fe(Pt,Dt,M(1,F(null))),Pt[Dt][Et]=!0),Ft(Pt,Et,Nt)):fe(Pt,Et,Nt)},te=function(Pt,Ct){I(Pt);var Nt=O(Ct),Et=j(Nt).concat(ft(Nt));return Ut(Et,function(ie){(!T||h(Ht,Nt,ie))&&qt(Pt,ie,Nt[ie])}),Pt},Zt=function(Pt,Ct){return Ct===void 0?F(Pt):te(F(Pt),Ct)},Ht=function(Pt){var Ct=C(Pt),Nt=h(Me,this,Ct);return this===ge&&E(ce,Ct)&&!E(Ae,Ct)?!1:Nt||!E(this,Ct)||!E(ce,Ct)||E(this,Dt)&&this[Dt][Ct]?Nt:!0},He=function(Pt,Ct){var Nt=O(Pt),Et=C(Ct);if(!(Nt===ge&&E(ce,Et)&&!E(Ae,Et))){var ie=ee(Nt,Et);return ie&&E(ce,Et)&&!(E(Nt,Dt)&&Nt[Dt][Et])&&(ie.enumerable=!0),ie}},Ze=function(Pt){var Ct=Pe(O(Pt)),Nt=[];return Ut(Ct,function(Et){!E(ce,Et)&&!E(_,Et)&&$e(Nt,Et)}),Nt},ft=function(It){var Pt=It===ge,Ct=Pe(Pt?Ae:O(It)),Nt=[];return Ut(Ct,function(Et){E(ce,Et)&&(!Pt||E(ge,Et))&&$e(Nt,ce[Et])}),Nt};$||(ae=function(){if(R(Mt,this))throw new re("Symbol is not a constructor");var Pt=!arguments.length||arguments[0]===void 0?void 0:D(arguments[0]),Ct=tt(Pt),Nt=function(Et){var ie=this===void 0?d:this;ie===ge&&h(Nt,Ae,Et),E(ie,Dt)&&E(ie[Dt],Ct)&&(ie[Dt][Ct]=!1);var we=M(1,Et);try{Ft(ie,Ct,we)}catch(Rt){if(!(Rt instanceof Yt))throw Rt;bt(ie,Ct,we)}};return T&&de&&Ft(ge,Ct,{configurable:!0,set:Nt}),Tt(Ct,Pt)},Mt=ae[kt],J(Mt,"toString",function(){return me(this).tag}),J(ae,"withoutSetter",function(It){return Tt(tt(It),It)}),k.f=Ht,G.f=qt,H.f=te,z.f=He,B.f=U.f=Ze,V.f=ft,ot.f=function(It){return Tt(et(It),It)},T&&(q(Mt,"description",{configurable:!0,get:function(){return me(this).description}}),y||J(ge,"propertyIsEnumerable",Ht,{unsafe:!0}))),u({global:!0,constructor:!0,wrap:!0,forced:!$,sham:!$},{Symbol:ae}),Ut(j(Te),function(It){mt(It)}),u({target:Xt,stat:!0,forced:!$},{useSetter:function(){de=!0},useSimple:function(){de=!1}}),u({target:"Object",stat:!0,forced:!$,sham:!T},{create:Zt,defineProperty:qt,defineProperties:te,getOwnPropertyDescriptor:He}),u({target:"Object",stat:!0,forced:!$},{getOwnPropertyNames:Ze}),gt(),xt(ae,Xt),_[Dt]=!0},function(x,b,r){var u=r(4),d=r(5).f,h=r(43),p=r(47),y=r(37),T=r(55),$=r(67);x.exports=function(A,E){var R=A.target,I=A.global,O=A.stat,C,D,M,F,j,B;if(I?D=u:O?D=u[R]||y(R,{}):D=u[R]&&u[R].prototype,D)for(M in E){if(j=E[M],A.dontCallGetSet?(B=d(D,M),F=B&&B.value):F=D[M],C=$(I?M:R+(O?".":"#")+M,A.forced),!C&&F!==void 0){if(typeof j==typeof F)continue;T(j,F)}(A.sham||F&&F.sham)&&h(j,"sham",!0),p(D,M,j,A)}}},function(x){var b=function(r){return r&&r.Math===Math&&r};x.exports=b(typeof globalThis=="object"&&globalThis)||b(typeof window=="object"&&window)||b(typeof self=="object"&&self)||b(typeof global=="object"&&global)||b(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},function(x,b,r){var u=r(6),d=r(8),h=r(10),p=r(11),y=r(12),T=r(18),$=r(38),A=r(41),E=Object.getOwnPropertyDescriptor;b.f=u?E:function(I,O){if(I=y(I),O=T(O),A)try{return E(I,O)}catch(C){}if($(I,O))return p(!d(h.f,I,O),I[O])}},function(x,b,r){var u=r(7);x.exports=!u(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},function(x){x.exports=function(b){try{return!!b()}catch(r){return!0}}},function(x,b,r){var u=r(9),d=Function.prototype.call;x.exports=u?d.bind(d):function(){return d.apply(d,arguments)}},function(x,b,r){var u=r(7);x.exports=!u(function(){var d=function(){}.bind();return typeof d!="function"||d.hasOwnProperty("prototype")})},function(x,b){var r={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,d=u&&!r.call({1:2},1);b.f=d?function(p){var y=u(this,p);return!!y&&y.enumerable}:r},function(x){x.exports=function(b,r){return{enumerable:!(b&1),configurable:!(b&2),writable:!(b&4),value:r}}},function(x,b,r){var u=r(13),d=r(16);x.exports=function(h){return u(d(h))}},function(x,b,r){var u=r(14),d=r(7),h=r(15),p=Object,y=u("".split);x.exports=d(function(){return!p("z").propertyIsEnumerable(0)})?function(T){return h(T)==="String"?y(T,""):p(T)}:p},function(x,b,r){var u=r(9),d=Function.prototype,h=d.call,p=u&&d.bind.bind(h,h);x.exports=u?p:function(y){return function(){return h.apply(y,arguments)}}},function(x,b,r){var u=r(14),d=u({}.toString),h=u("".slice);x.exports=function(p){return h(d(p),8,-1)}},function(x,b,r){var u=r(17),d=TypeError;x.exports=function(h){if(u(h))throw new d("Can't call method on "+h);return h}},function(x){x.exports=function(b){return b==null}},function(x,b,r){var u=r(19),d=r(22);x.exports=function(h){var p=u(h,"string");return d(p)?p:p+""}},function(x,b,r){var u=r(8),d=r(20),h=r(22),p=r(29),y=r(32),T=r(33),$=TypeError,A=T("toPrimitive");x.exports=function(E,R){if(!d(E)||h(E))return E;var I=p(E,A),O;if(I){if(R===void 0&&(R="default"),O=u(I,E,R),!d(O)||h(O))return O;throw new $("Can't convert object to primitive value")}return R===void 0&&(R="number"),y(E,R)}},function(x,b,r){var u=r(21);x.exports=function(d){return typeof d=="object"?d!==null:u(d)}},function(x){var b=typeof document=="object"&&document.all;x.exports=typeof b=="undefined"&&b!==void 0?function(r){return typeof r=="function"||r===b}:function(r){return typeof r=="function"}},function(x,b,r){var u=r(23),d=r(21),h=r(24),p=r(25),y=Object;x.exports=p?function(T){return typeof T=="symbol"}:function(T){var $=u("Symbol");return d($)&&h($.prototype,y(T))}},function(x,b,r){var u=r(4),d=r(21),h=function(p){return d(p)?p:void 0};x.exports=function(p,y){return arguments.length<2?h(u[p]):u[p]&&u[p][y]}},function(x,b,r){var u=r(14);x.exports=u({}.isPrototypeOf)},function(x,b,r){var u=r(26);x.exports=u&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},function(x,b,r){var u=r(27),d=r(7),h=r(4),p=h.String;x.exports=!!Object.getOwnPropertySymbols&&!d(function(){var y=Symbol("symbol detection");return!p(y)||!(Object(y)instanceof Symbol)||!Symbol.sham&&u&&u<41})},function(x,b,r){var u=r(4),d=r(28),h=u.process,p=u.Deno,y=h&&h.versions||p&&p.version,T=y&&y.v8,$,A;T&&($=T.split("."),A=$[0]>0&&$[0]<4?1:+($[0]+$[1])),!A&&d&&($=d.match(/Edge\/(\d+)/),(!$||$[1]>=74)&&($=d.match(/Chrome\/(\d+)/),$&&(A=+$[1]))),x.exports=A},function(x,b,r){var u=r(4),d=u.navigator,h=d&&d.userAgent;x.exports=h?String(h):""},function(x,b,r){var u=r(30),d=r(17);x.exports=function(h,p){var y=h[p];return d(y)?void 0:u(y)}},function(x,b,r){var u=r(21),d=r(31),h=TypeError;x.exports=function(p){if(u(p))return p;throw new h(d(p)+" is not a function")}},function(x){var b=String;x.exports=function(r){try{return b(r)}catch(u){return"Object"}}},function(x,b,r){var u=r(8),d=r(21),h=r(20),p=TypeError;x.exports=function(y,T){var $,A;if(T==="string"&&d($=y.toString)&&!h(A=u($,y))||d($=y.valueOf)&&!h(A=u($,y))||T!=="string"&&d($=y.toString)&&!h(A=u($,y)))return A;throw new p("Can't convert object to primitive value")}},function(x,b,r){var u=r(4),d=r(34),h=r(38),p=r(40),y=r(26),T=r(25),$=u.Symbol,A=d("wks"),E=T?$.for||$:$&&$.withoutSetter||p;x.exports=function(R){return h(A,R)||(A[R]=y&&h($,R)?$[R]:E("Symbol."+R)),A[R]}},function(x,b,r){var u=r(35);x.exports=function(d,h){return u[d]||(u[d]=h||{})}},function(x,b,r){var u=r(36),d=r(4),h=r(37),p="__core-js_shared__",y=x.exports=d[p]||h(p,{});(y.versions||(y.versions=[])).push({version:"3.39.0",mode:u?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE",source:"https://github.com/zloirock/core-js"})},function(x){x.exports=!1},function(x,b,r){var u=r(4),d=Object.defineProperty;x.exports=function(h,p){try{d(u,h,{value:p,configurable:!0,writable:!0})}catch(y){u[h]=p}return p}},function(x,b,r){var u=r(14),d=r(39),h=u({}.hasOwnProperty);x.exports=Object.hasOwn||function(y,T){return h(d(y),T)}},function(x,b,r){var u=r(16),d=Object;x.exports=function(h){return d(u(h))}},function(x,b,r){var u=r(14),d=0,h=Math.random(),p=u(1 .toString);x.exports=function(y){return"Symbol("+(y===void 0?"":y)+")_"+p(++d+h,36)}},function(x,b,r){var u=r(6),d=r(7),h=r(42);x.exports=!u&&!d(function(){return Object.defineProperty(h("div"),"a",{get:function(){return 7}}).a!==7})},function(x,b,r){var u=r(4),d=r(20),h=u.document,p=d(h)&&d(h.createElement);x.exports=function(y){return p?h.createElement(y):{}}},function(x,b,r){var u=r(6),d=r(44),h=r(11);x.exports=u?function(p,y,T){return d.f(p,y,h(1,T))}:function(p,y,T){return p[y]=T,p}},function(x,b,r){var u=r(6),d=r(41),h=r(45),p=r(46),y=r(18),T=TypeError,$=Object.defineProperty,A=Object.getOwnPropertyDescriptor,E="enumerable",R="configurable",I="writable";b.f=u?h?function(C,D,M){if(p(C),D=y(D),p(M),typeof C=="function"&&D==="prototype"&&"value"in M&&I in M&&!M[I]){var F=A(C,D);F&&F[I]&&(C[D]=M.value,M={configurable:R in M?M[R]:F[R],enumerable:E in M?M[E]:F[E],writable:!1})}return $(C,D,M)}:$:function(C,D,M){if(p(C),D=y(D),p(M),d)try{return $(C,D,M)}catch(F){}if("get"in M||"set"in M)throw new T("Accessors not supported");return"value"in M&&(C[D]=M.value),C}},function(x,b,r){var u=r(6),d=r(7);x.exports=u&&d(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},function(x,b,r){var u=r(20),d=String,h=TypeError;x.exports=function(p){if(u(p))return p;throw new h(d(p)+" is not an object")}},function(x,b,r){var u=r(21),d=r(44),h=r(48),p=r(37);x.exports=function(y,T,$,A){A||(A={});var E=A.enumerable,R=A.name!==void 0?A.name:T;if(u($)&&h($,R,A),A.global)E?y[T]=$:p(T,$);else{try{A.unsafe?y[T]&&(E=!0):delete y[T]}catch(I){}E?y[T]=$:d.f(y,T,{value:$,enumerable:!1,configurable:!A.nonConfigurable,writable:!A.nonWritable})}return y}},function(x,b,r){var u=r(14),d=r(7),h=r(21),p=r(38),y=r(6),T=r(49).CONFIGURABLE,$=r(50),A=r(51),E=A.enforce,R=A.get,I=String,O=Object.defineProperty,C=u("".slice),D=u("".replace),M=u([].join),F=y&&!d(function(){return O(function(){},"length",{value:8}).length!==8}),j=String(String).split("String"),B=x.exports=function(U,V,z){C(I(V),0,7)==="Symbol("&&(V="["+D(I(V),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),z&&z.getter&&(V="get "+V),z&&z.setter&&(V="set "+V),(!p(U,"name")||T&&U.name!==V)&&(y?O(U,"name",{value:V,configurable:!0}):U.name=V),F&&z&&p(z,"arity")&&U.length!==z.arity&&O(U,"length",{value:z.arity});try{z&&p(z,"constructor")&&z.constructor?y&&O(U,"prototype",{writable:!1}):U.prototype&&(U.prototype=void 0)}catch(H){}var G=E(U);return p(G,"source")||(G.source=M(j,typeof V=="string"?V:"")),U};Function.prototype.toString=B(function(){return h(this)&&R(this).source||$(this)},"toString")},function(x,b,r){var u=r(6),d=r(38),h=Function.prototype,p=u&&Object.getOwnPropertyDescriptor,y=d(h,"name"),T=y&&function(){}.name==="something",$=y&&(!u||u&&p(h,"name").configurable);x.exports={EXISTS:y,PROPER:T,CONFIGURABLE:$}},function(x,b,r){var u=r(14),d=r(21),h=r(35),p=u(Function.toString);d(h.inspectSource)||(h.inspectSource=function(y){return p(y)}),x.exports=h.inspectSource},function(x,b,r){var u=r(52),d=r(4),h=r(20),p=r(43),y=r(38),T=r(35),$=r(53),A=r(54),E="Object already initialized",R=d.TypeError,I=d.WeakMap,O,C,D,M=function(U){return D(U)?C(U):O(U,{})},F=function(U){return function(V){var z;if(!h(V)||(z=C(V)).type!==U)throw new R("Incompatible receiver, "+U+" required");return z}};if(u||T.state){var j=T.state||(T.state=new I);j.get=j.get,j.has=j.has,j.set=j.set,O=function(U,V){if(j.has(U))throw new R(E);return V.facade=U,j.set(U,V),V},C=function(U){return j.get(U)||{}},D=function(U){return j.has(U)}}else{var B=$("state");A[B]=!0,O=function(U,V){if(y(U,B))throw new R(E);return V.facade=U,p(U,B,V),V},C=function(U){return y(U,B)?U[B]:{}},D=function(U){return y(U,B)}}x.exports={set:O,get:C,has:D,enforce:M,getterFor:F}},function(x,b,r){var u=r(4),d=r(21),h=u.WeakMap;x.exports=d(h)&&/native code/.test(String(h))},function(x,b,r){var u=r(34),d=r(40),h=u("keys");x.exports=function(p){return h[p]||(h[p]=d(p))}},function(x){x.exports={}},function(x,b,r){var u=r(38),d=r(56),h=r(5),p=r(44);x.exports=function(y,T,$){for(var A=d(T),E=p.f,R=h.f,I=0;I<A.length;I++){var O=A[I];!u(y,O)&&!($&&u($,O))&&E(y,O,R(T,O))}}},function(x,b,r){var u=r(23),d=r(14),h=r(57),p=r(66),y=r(46),T=d([].concat);x.exports=u("Reflect","ownKeys")||function(A){var E=h.f(y(A)),R=p.f;return R?T(E,R(A)):E}},function(x,b,r){var u=r(58),d=r(65),h=d.concat("length","prototype");b.f=Object.getOwnPropertyNames||function(y){return u(y,h)}},function(x,b,r){var u=r(14),d=r(38),h=r(12),p=r(59).indexOf,y=r(54),T=u([].push);x.exports=function($,A){var E=h($),R=0,I=[],O;for(O in E)!d(y,O)&&d(E,O)&&T(I,O);for(;A.length>R;)d(E,O=A[R++])&&(~p(I,O)||T(I,O));return I}},function(x,b,r){var u=r(12),d=r(60),h=r(63),p=function(y){return function(T,$,A){var E=u(T),R=h(E);if(R===0)return!y&&-1;var I=d(A,R),O;if(y&&$!==$){for(;R>I;)if(O=E[I++],O!==O)return!0}else for(;R>I;I++)if((y||I in E)&&E[I]===$)return y||I||0;return!y&&-1}};x.exports={includes:p(!0),indexOf:p(!1)}},function(x,b,r){var u=r(61),d=Math.max,h=Math.min;x.exports=function(p,y){var T=u(p);return T<0?d(T+y,0):h(T,y)}},function(x,b,r){var u=r(62);x.exports=function(d){var h=+d;return h!==h||h===0?0:u(h)}},function(x){var b=Math.ceil,r=Math.floor;x.exports=Math.trunc||function(d){var h=+d;return(h>0?r:b)(h)}},function(x,b,r){var u=r(64);x.exports=function(d){return u(d.length)}},function(x,b,r){var u=r(61),d=Math.min;x.exports=function(h){var p=u(h);return p>0?d(p,9007199254740991):0}},function(x){x.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(x,b){b.f=Object.getOwnPropertySymbols},function(x,b,r){var u=r(7),d=r(21),h=/#|\.prototype\./,p=function(E,R){var I=T[y(E)];return I===A?!0:I===$?!1:d(R)?u(R):!!R},y=p.normalize=function(E){return String(E).replace(h,".").toLowerCase()},T=p.data={},$=p.NATIVE="N",A=p.POLYFILL="P";x.exports=p},function(x,b,r){var u=r(69),d=String;x.exports=function(h){if(u(h)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return d(h)}},function(x,b,r){var u=r(70),d=r(21),h=r(15),p=r(33),y=p("toStringTag"),T=Object,$=h(function(){return arguments}())==="Arguments",A=function(E,R){try{return E[R]}catch(I){}};x.exports=u?h:function(E){var R,I,O;return E===void 0?"Undefined":E===null?"Null":typeof(I=A(R=T(E),y))=="string"?I:$?h(R):(O=h(R))==="Object"&&d(R.callee)?"Arguments":O}},function(x,b,r){var u=r(33),d=u("toStringTag"),h={};h[d]="z",x.exports=String(h)==="[object z]"},function(x,b,r){var u=r(46),d=r(72),h=r(65),p=r(54),y=r(74),T=r(42),$=r(53),A=">",E="<",R="prototype",I="script",O=$("IE_PROTO"),C=function(){},D=function(U){return E+I+A+U+E+"/"+I+A},M=function(U){U.write(D("")),U.close();var V=U.parentWindow.Object;return U=null,V},F=function(){var U=T("iframe"),V="java"+I+":",z;return U.style.display="none",y.appendChild(U),U.src=String(V),z=U.contentWindow.document,z.open(),z.write(D("document.F=Object")),z.close(),z.F},j,B=function(){try{j=new ActiveXObject("htmlfile")}catch(V){}B=typeof document!="undefined"?document.domain&&j?M(j):F():M(j);for(var U=h.length;U--;)delete B[R][h[U]];return B()};p[O]=!0,x.exports=Object.create||function(V,z){var G;return V!==null?(C[R]=u(V),G=new C,C[R]=null,G[O]=V):G=B(),z===void 0?G:d.f(G,z)}},function(x,b,r){var u=r(6),d=r(45),h=r(44),p=r(46),y=r(12),T=r(73);b.f=u&&!d?Object.defineProperties:function(A,E){p(A);for(var R=y(E),I=T(E),O=I.length,C=0,D;O>C;)h.f(A,D=I[C++],R[D]);return A}},function(x,b,r){var u=r(58),d=r(65);x.exports=Object.keys||function(p){return u(p,d)}},function(x,b,r){var u=r(23);x.exports=u("document","documentElement")},function(x,b,r){var u=r(15),d=r(12),h=r(57).f,p=r(76),y=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],T=function($){try{return h($)}catch(A){return p(y)}};x.exports.f=function(A){return y&&u(A)==="Window"?T(A):h(d(A))}},function(x,b,r){var u=r(14);x.exports=u([].slice)},function(x,b,r){var u=r(48),d=r(44);x.exports=function(h,p,y){return y.get&&u(y.get,p,{getter:!0}),y.set&&u(y.set,p,{setter:!0}),d.f(h,p,y)}},function(x,b,r){var u=r(33);b.f=u},function(x,b,r){var u=r(80),d=r(38),h=r(78),p=r(44).f;x.exports=function(y){var T=u.Symbol||(u.Symbol={});d(T,y)||p(T,y,{value:h.f(y)})}},function(x,b,r){var u=r(4);x.exports=u},function(x,b,r){var u=r(8),d=r(23),h=r(33),p=r(47);x.exports=function(){var y=d("Symbol"),T=y&&y.prototype,$=T&&T.valueOf,A=h("toPrimitive");T&&!T[A]&&p(T,A,function(E){return u($,this)},{arity:1})}},function(x,b,r){var u=r(44).f,d=r(38),h=r(33),p=h("toStringTag");x.exports=function(y,T,$){y&&!$&&(y=y.prototype),y&&!d(y,p)&&u(y,p,{configurable:!0,value:T})}},function(x,b,r){var u=r(84),d=r(14),h=r(13),p=r(39),y=r(63),T=r(86),$=d([].push),A=function(E){var R=E===1,I=E===2,O=E===3,C=E===4,D=E===6,M=E===7,F=E===5||D;return function(j,B,U,V){for(var z=p(j),G=h(z),H=y(G),k=u(B,U),J=0,q=V||T,nt=R?q(j,H):I||M?q(j,0):void 0,rt,_;H>J;J++)if((F||J in G)&&(rt=G[J],_=k(rt,J,z),E))if(R)nt[J]=_;else if(_)switch(E){case 3:return!0;case 5:return rt;case 6:return J;case 2:$(nt,rt)}else switch(E){case 4:return!1;case 7:$(nt,rt)}return D?-1:O||C?C:nt}};x.exports={forEach:A(0),map:A(1),filter:A(2),some:A(3),every:A(4),find:A(5),findIndex:A(6),filterReject:A(7)}},function(x,b,r){var u=r(85),d=r(30),h=r(9),p=u(u.bind);x.exports=function(y,T){return d(y),T===void 0?y:h?p(y,T):function(){return y.apply(T,arguments)}}},function(x,b,r){var u=r(15),d=r(14);x.exports=function(h){if(u(h)==="Function")return d(h)}},function(x,b,r){var u=r(87);x.exports=function(d,h){return new(u(d))(h===0?0:h)}},function(x,b,r){var u=r(88),d=r(89),h=r(20),p=r(33),y=p("species"),T=Array;x.exports=function($){var A;return u($)&&(A=$.constructor,d(A)&&(A===T||u(A.prototype))?A=void 0:h(A)&&(A=A[y],A===null&&(A=void 0))),A===void 0?T:A}},function(x,b,r){var u=r(15);x.exports=Array.isArray||function(h){return u(h)==="Array"}},function(x,b,r){var u=r(14),d=r(7),h=r(21),p=r(69),y=r(23),T=r(50),$=function(){},A=y("Reflect","construct"),E=/^\s*(?:class|function)\b/,R=u(E.exec),I=!E.test($),O=function(M){if(!h(M))return!1;try{return A($,[],M),!0}catch(F){return!1}},C=function(M){if(!h(M))return!1;switch(p(M)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return I||!!R(E,T(M))}catch(F){return!0}};C.sham=!0,x.exports=!A||d(function(){var D;return O(O.call)||!O(Object)||!O(function(){D=!0})||D})?C:O},function(x,b,r){var u=r(3),d=r(23),h=r(38),p=r(68),y=r(34),T=r(91),$=y("string-to-symbol-registry"),A=y("symbol-to-string-registry");u({target:"Symbol",stat:!0,forced:!T},{for:function(E){var R=p(E);if(h($,R))return $[R];var I=d("Symbol")(R);return $[R]=I,A[I]=R,I}})},function(x,b,r){var u=r(26);x.exports=u&&!!Symbol.for&&!!Symbol.keyFor},function(x,b,r){var u=r(3),d=r(38),h=r(22),p=r(31),y=r(34),T=r(91),$=y("symbol-to-string-registry");u({target:"Symbol",stat:!0,forced:!T},{keyFor:function(E){if(!h(E))throw new TypeError(p(E)+" is not a symbol");if(d($,E))return $[E]}})},function(x,b,r){var u=r(3),d=r(23),h=r(94),p=r(8),y=r(14),T=r(7),$=r(21),A=r(22),E=r(76),R=r(95),I=r(26),O=String,C=d("JSON","stringify"),D=y(/./.exec),M=y("".charAt),F=y("".charCodeAt),j=y("".replace),B=y(1 .toString),U=/[\uD800-\uDFFF]/g,V=/^[\uD800-\uDBFF]$/,z=/^[\uDC00-\uDFFF]$/,G=!I||T(function(){var q=d("Symbol")("stringify detection");return C([q])!=="[null]"||C({a:q})!=="{}"||C(Object(q))!=="{}"}),H=T(function(){return C("\uDF06\uD834")!=='"\\udf06\\ud834"'||C("\uDEAD")!=='"\\udead"'}),k=function(q,nt){var rt=E(arguments),_=R(nt);if(!(!$(_)&&(q===void 0||A(q))))return rt[1]=function(tt,et){if($(_)&&(et=p(_,this,O(tt),et)),!A(et))return et},h(C,null,rt)},J=function(q,nt,rt){var _=M(rt,nt-1),tt=M(rt,nt+1);return D(V,q)&&!D(z,tt)||D(z,q)&&!D(V,_)?"\\u"+B(F(q,0),16):q};C&&u({target:"JSON",stat:!0,arity:3,forced:G||H},{stringify:function(nt,rt,_){var tt=E(arguments),et=h(G?k:C,null,tt);return H&&typeof et=="string"?j(et,U,J):et}})},function(x,b,r){var u=r(9),d=Function.prototype,h=d.apply,p=d.call;x.exports=typeof Reflect=="object"&&Reflect.apply||(u?p.bind(h):function(){return p.apply(h,arguments)})},function(x,b,r){var u=r(14),d=r(88),h=r(21),p=r(15),y=r(68),T=u([].push);x.exports=function($){if(h($))return $;if(d($)){for(var A=$.length,E=[],R=0;R<A;R++){var I=$[R];typeof I=="string"?T(E,I):(typeof I=="number"||p(I)==="Number"||p(I)==="String")&&T(E,y(I))}var O=E.length,C=!0;return function(D,M){if(C)return C=!1,M;if(d(this))return M;for(var F=0;F<O;F++)if(E[F]===D)return M}}}},function(x,b,r){var u=r(3),d=r(26),h=r(7),p=r(66),y=r(39),T=!d||h(function(){p.f(1)});u({target:"Object",stat:!0,forced:T},{getOwnPropertySymbols:function(A){var E=p.f;return E?E(y(A)):[]}})},function(x,b,r){var u=r(3),d=r(6),h=r(4),p=r(14),y=r(38),T=r(21),$=r(24),A=r(68),E=r(77),R=r(55),I=h.Symbol,O=I&&I.prototype;if(d&&T(I)&&(!("description"in O)||I().description!==void 0)){var C={},D=function(){var G=arguments.length<1||arguments[0]===void 0?void 0:A(arguments[0]),H=$(O,this)?new I(G):G===void 0?I():I(G);return G===""&&(C[H]=!0),H};R(D,I),D.prototype=O,O.constructor=D;var M=String(I("description detection"))==="Symbol(description detection)",F=p(O.valueOf),j=p(O.toString),B=/^Symbol\((.*)\)[^)]+$/,U=p("".replace),V=p("".slice);E(O,"description",{configurable:!0,get:function(){var G=F(this);if(y(C,G))return"";var H=j(G),k=M?V(H,7,-1):U(H,B,"$1");return k===""?void 0:k}}),u({global:!0,constructor:!0,forced:!0},{Symbol:D})}},function(x,b,r){var u=r(79);u("asyncIterator")},function(x,b,r){var u=r(79);u("hasInstance")},function(x,b,r){var u=r(79);u("isConcatSpreadable")},function(x,b,r){var u=r(79);u("iterator")},function(x,b,r){var u=r(79);u("match")},function(x,b,r){var u=r(79);u("matchAll")},function(x,b,r){var u=r(79);u("replace")},function(x,b,r){var u=r(79);u("search")},function(x,b,r){var u=r(79);u("species")},function(x,b,r){var u=r(79);u("split")},function(x,b,r){var u=r(79),d=r(81);u("toPrimitive"),d()},function(x,b,r){var u=r(23),d=r(79),h=r(82);d("toStringTag"),h(u("Symbol"),"Symbol")},function(x,b,r){var u=r(79);u("unscopables")},function(x,b,r){var u=r(3),d=r(4),h=r(94),p=r(112),y="WebAssembly",T=d[y],$=new Error("e",{cause:7}).cause!==7,A=function(R,I){var O={};O[R]=p(R,I,$),u({global:!0,constructor:!0,arity:1,forced:$},O)},E=function(R,I){if(T&&T[R]){var O={};O[R]=p(y+"."+R,I,$),u({target:y,stat:!0,constructor:!0,arity:1,forced:$},O)}};A("Error",function(R){return function(O){return h(R,this,arguments)}}),A("EvalError",function(R){return function(O){return h(R,this,arguments)}}),A("RangeError",function(R){return function(O){return h(R,this,arguments)}}),A("ReferenceError",function(R){return function(O){return h(R,this,arguments)}}),A("SyntaxError",function(R){return function(O){return h(R,this,arguments)}}),A("TypeError",function(R){return function(O){return h(R,this,arguments)}}),A("URIError",function(R){return function(O){return h(R,this,arguments)}}),E("CompileError",function(R){return function(O){return h(R,this,arguments)}}),E("LinkError",function(R){return function(O){return h(R,this,arguments)}}),E("RuntimeError",function(R){return function(O){return h(R,this,arguments)}})},function(x,b,r){var u=r(23),d=r(38),h=r(43),p=r(24),y=r(113),T=r(55),$=r(117),A=r(118),E=r(119),R=r(120),I=r(121),O=r(6),C=r(36);x.exports=function(D,M,F,j){var B="stackTraceLimit",U=j?2:1,V=D.split("."),z=V[V.length-1],G=u.apply(null,V);if(G){var H=G.prototype;if(!C&&d(H,"cause")&&delete H.cause,!F)return G;var k=u("Error"),J=M(function(q,nt){var rt=E(j?nt:q,void 0),_=j?new G(q):new G;return rt!==void 0&&h(_,"message",rt),I(_,J,_.stack,2),this&&p(H,this)&&A(_,this,J),arguments.length>U&&R(_,arguments[U]),_});if(J.prototype=H,z!=="Error"?y?y(J,k):T(J,k,{name:!0}):O&&B in G&&($(J,G,B),$(J,G,"prepareStackTrace")),T(J,G),!C)try{H.name!==z&&h(H,"name",z),H.constructor=J}catch(q){}return J}}},function(x,b,r){var u=r(114),d=r(20),h=r(16),p=r(115);x.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var y=!1,T={},$;try{$=u(Object.prototype,"__proto__","set"),$(T,[]),y=T instanceof Array}catch(A){}return function(E,R){return h(E),p(R),d(E)&&(y?$(E,R):E.__proto__=R),E}}():void 0)},function(x,b,r){var u=r(14),d=r(30);x.exports=function(h,p,y){try{return u(d(Object.getOwnPropertyDescriptor(h,p)[y]))}catch(T){}}},function(x,b,r){var u=r(116),d=String,h=TypeError;x.exports=function(p){if(u(p))return p;throw new h("Can't set "+d(p)+" as a prototype")}},function(x,b,r){var u=r(20);x.exports=function(d){return u(d)||d===null}},function(x,b,r){var u=r(44).f;x.exports=function(d,h,p){p in d||u(d,p,{configurable:!0,get:function(){return h[p]},set:function(y){h[p]=y}})}},function(x,b,r){var u=r(21),d=r(20),h=r(113);x.exports=function(p,y,T){var $,A;return h&&u($=y.constructor)&&$!==T&&d(A=$.prototype)&&A!==T.prototype&&h(p,A),p}},function(x,b,r){var u=r(68);x.exports=function(d,h){return d===void 0?arguments.length<2?"":h:u(d)}},function(x,b,r){var u=r(20),d=r(43);x.exports=function(h,p){u(p)&&"cause"in p&&d(h,"cause",p.cause)}},function(x,b,r){var u=r(43),d=r(122),h=r(123),p=Error.captureStackTrace;x.exports=function(y,T,$,A){h&&(p?p(y,T):u(y,"stack",d($,A)))}},function(x,b,r){var u=r(14),d=Error,h=u("".replace),p=function($){return String(new d($).stack)}("zxcasd"),y=/\n\s*at [^:]*:[^\n]*/,T=y.test(p);x.exports=function($,A){if(T&&typeof $=="string"&&!d.prepareStackTrace)for(;A--;)$=h($,y,"");return $}},function(x,b,r){var u=r(7),d=r(11);x.exports=!u(function(){var h=new Error("a");return"stack"in h?(Object.defineProperty(h,"stack",d(1,7)),h.stack!==7):!0})},function(x,b,r){var u=r(47),d=r(125),h=Error.prototype;h.toString!==d&&u(h,"toString",d)},function(x,b,r){var u=r(6),d=r(7),h=r(46),p=r(119),y=Error.prototype.toString,T=d(function(){if(u){var $=Object.create(Object.defineProperty({},"name",{get:function(){return this===$}}));if(y.call($)!=="true")return!0}return y.call({message:1,name:2})!=="2: 1"||y.call({})!=="Error"});x.exports=T?function(){var A=h(this),E=p(A.name,"Error"),R=p(A.message);return E?R?E+": "+R:E:R}:y},function(x,b,r){r(127)},function(x,b,r){var u=r(3),d=r(24),h=r(128),p=r(113),y=r(55),T=r(71),$=r(43),A=r(11),E=r(120),R=r(121),I=r(130),O=r(119),C=r(33),D=C("toStringTag"),M=Error,F=[].push,j=function(V,z){var G=d(B,this),H;p?H=p(new M,G?h(this):B):(H=G?this:T(B),$(H,D,"Error")),z!==void 0&&$(H,"message",O(z)),R(H,j,H.stack,1),arguments.length>2&&E(H,arguments[2]);var k=[];return I(V,F,{that:k}),$(H,"errors",k),H};p?p(j,M):y(j,M,{name:!0});var B=j.prototype=T(M.prototype,{constructor:A(1,j),message:A(1,""),name:A(1,"AggregateError")});u({global:!0,constructor:!0,arity:2},{AggregateError:j})},function(x,b,r){var u=r(38),d=r(21),h=r(39),p=r(53),y=r(129),T=p("IE_PROTO"),$=Object,A=$.prototype;x.exports=y?$.getPrototypeOf:function(E){var R=h(E);if(u(R,T))return R[T];var I=R.constructor;return d(I)&&R instanceof I?I.prototype:R instanceof $?A:null}},function(x,b,r){var u=r(7);x.exports=!u(function(){function d(){}return d.prototype.constructor=null,Object.getPrototypeOf(new d)!==d.prototype})},function(x,b,r){var u=r(84),d=r(8),h=r(46),p=r(31),y=r(131),T=r(63),$=r(24),A=r(133),E=r(134),R=r(135),I=TypeError,O=function(D,M){this.stopped=D,this.result=M},C=O.prototype;x.exports=function(D,M,F){var j=F&&F.that,B=!!(F&&F.AS_ENTRIES),U=!!(F&&F.IS_RECORD),V=!!(F&&F.IS_ITERATOR),z=!!(F&&F.INTERRUPTED),G=u(M,j),H,k,J,q,nt,rt,_,tt=function(ot){return H&&R(H,"normal",ot),new O(!0,ot)},et=function(ot){return B?(h(ot),z?G(ot[0],ot[1],tt):G(ot[0],ot[1])):z?G(ot,tt):G(ot)};if(U)H=D.iterator;else if(V)H=D;else{if(k=E(D),!k)throw new I(p(D)+" is not iterable");if(y(k)){for(J=0,q=T(D);q>J;J++)if(nt=et(D[J]),nt&&$(C,nt))return nt;return new O(!1)}H=A(D,k)}for(rt=U?D.next:H.next;!(_=d(rt,H)).done;){try{nt=et(_.value)}catch(ot){R(H,"throw",ot)}if(typeof nt=="object"&&nt&&$(C,nt))return nt}return new O(!1)}},function(x,b,r){var u=r(33),d=r(132),h=u("iterator"),p=Array.prototype;x.exports=function(y){return y!==void 0&&(d.Array===y||p[h]===y)}},function(x){x.exports={}},function(x,b,r){var u=r(8),d=r(30),h=r(46),p=r(31),y=r(134),T=TypeError;x.exports=function($,A){var E=arguments.length<2?y($):A;if(d(E))return h(u(E,$));throw new T(p($)+" is not iterable")}},function(x,b,r){var u=r(69),d=r(29),h=r(17),p=r(132),y=r(33),T=y("iterator");x.exports=function($){if(!h($))return d($,T)||d($,"@@iterator")||p[u($)]}},function(x,b,r){var u=r(8),d=r(46),h=r(29);x.exports=function(p,y,T){var $,A;d(p);try{if($=h(p,"return"),!$){if(y==="throw")throw T;return T}$=u($,p)}catch(E){A=!0,$=E}if(y==="throw")throw T;if(A)throw $;return d($),T}},function(x,b,r){var u=r(3),d=r(23),h=r(94),p=r(7),y=r(112),T="AggregateError",$=d(T),A=!p(function(){return $([1]).errors[0]!==1})&&p(function(){return $([1],T,{cause:7}).cause!==7});u({global:!0,constructor:!0,arity:2,forced:A},{AggregateError:y(T,function(E){return function(I,O){return h(E,this,arguments)}},A,!0)})},function(x,b,r){var u=r(3),d=r(39),h=r(63),p=r(61),y=r(138);u({target:"Array",proto:!0},{at:function($){var A=d(this),E=h(A),R=p($),I=R>=0?R:E+R;return I<0||I>=E?void 0:A[I]}}),y("at")},function(x,b,r){var u=r(33),d=r(71),h=r(44).f,p=u("unscopables"),y=Array.prototype;y[p]===void 0&&h(y,p,{configurable:!0,value:d(null)}),x.exports=function(T){y[p][T]=!0}},function(x,b,r){var u=r(3),d=r(7),h=r(88),p=r(20),y=r(39),T=r(63),$=r(140),A=r(141),E=r(86),R=r(142),I=r(33),O=r(27),C=I("isConcatSpreadable"),D=O>=51||!d(function(){var j=[];return j[C]=!1,j.concat()[0]!==j}),M=function(j){if(!p(j))return!1;var B=j[C];return B!==void 0?!!B:h(j)},F=!D||!R("concat");u({target:"Array",proto:!0,arity:1,forced:F},{concat:function(B){var U=y(this),V=E(U,0),z=0,G,H,k,J,q;for(G=-1,k=arguments.length;G<k;G++)if(q=G===-1?U:arguments[G],M(q))for(J=T(q),$(z+J),H=0;H<J;H++,z++)H in q&&A(V,z,q[H]);else $(z+1),A(V,z++,q);return V.length=z,V}})},function(x){var b=TypeError,r=9007199254740991;x.exports=function(u){if(u>r)throw b("Maximum allowed index exceeded");return u}},function(x,b,r){var u=r(6),d=r(44),h=r(11);x.exports=function(p,y,T){u?d.f(p,y,h(0,T)):p[y]=T}},function(x,b,r){var u=r(7),d=r(33),h=r(27),p=d("species");x.exports=function(y){return h>=51||!u(function(){var T=[],$=T.constructor={};return $[p]=function(){return{foo:1}},T[y](Boolean).foo!==1})}},function(x,b,r){var u=r(3),d=r(144),h=r(138);u({target:"Array",proto:!0},{copyWithin:d}),h("copyWithin")},function(x,b,r){var u=r(39),d=r(60),h=r(63),p=r(145),y=Math.min;x.exports=[].copyWithin||function($,A){var E=u(this),R=h(E),I=d($,R),O=d(A,R),C=arguments.length>2?arguments[2]:void 0,D=y((C===void 0?R:d(C,R))-O,R-I),M=1;for(O<I&&I<O+D&&(M=-1,O+=D-1,I+=D-1);D-- >0;)O in E?E[I]=E[O]:p(E,I),I+=M,O+=M;return E}},function(x,b,r){var u=r(31),d=TypeError;x.exports=function(h,p){if(!delete h[p])throw new d("Cannot delete property "+u(p)+" of "+u(h))}},function(x,b,r){var u=r(3),d=r(83).every,h=r(147),p=h("every");u({target:"Array",proto:!0,forced:!p},{every:function(T){return d(this,T,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(7);x.exports=function(d,h){var p=[][d];return!!p&&u(function(){p.call(null,h||function(){return 1},1)})}},function(x,b,r){var u=r(3),d=r(149),h=r(138);u({target:"Array",proto:!0},{fill:d}),h("fill")},function(x,b,r){var u=r(39),d=r(60),h=r(63);x.exports=function(y){for(var T=u(this),$=h(T),A=arguments.length,E=d(A>1?arguments[1]:void 0,$),R=A>2?arguments[2]:void 0,I=R===void 0?$:d(R,$);I>E;)T[E++]=y;return T}},function(x,b,r){var u=r(3),d=r(83).filter,h=r(142),p=h("filter");u({target:"Array",proto:!0,forced:!p},{filter:function(T){return d(this,T,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(83).find,h=r(138),p="find",y=!0;p in[]&&Array(1)[p](function(){y=!1}),u({target:"Array",proto:!0,forced:y},{find:function($){return d(this,$,arguments.length>1?arguments[1]:void 0)}}),h(p)},function(x,b,r){var u=r(3),d=r(83).findIndex,h=r(138),p="findIndex",y=!0;p in[]&&Array(1)[p](function(){y=!1}),u({target:"Array",proto:!0,forced:y},{findIndex:function($){return d(this,$,arguments.length>1?arguments[1]:void 0)}}),h(p)},function(x,b,r){var u=r(3),d=r(154).findLast,h=r(138);u({target:"Array",proto:!0},{findLast:function(y){return d(this,y,arguments.length>1?arguments[1]:void 0)}}),h("findLast")},function(x,b,r){var u=r(84),d=r(13),h=r(39),p=r(63),y=function(T){var $=T===1;return function(A,E,R){for(var I=h(A),O=d(I),C=p(O),D=u(E,R),M,F;C-- >0;)if(M=O[C],F=D(M,C,I),F)switch(T){case 0:return M;case 1:return C}return $?-1:void 0}};x.exports={findLast:y(0),findLastIndex:y(1)}},function(x,b,r){var u=r(3),d=r(154).findLastIndex,h=r(138);u({target:"Array",proto:!0},{findLastIndex:function(y){return d(this,y,arguments.length>1?arguments[1]:void 0)}}),h("findLastIndex")},function(x,b,r){var u=r(3),d=r(157),h=r(39),p=r(63),y=r(61),T=r(86);u({target:"Array",proto:!0},{flat:function(){var A=arguments.length?arguments[0]:void 0,E=h(this),R=p(E),I=T(E,0);return I.length=d(I,E,E,R,0,A===void 0?1:y(A)),I}})},function(x,b,r){var u=r(88),d=r(63),h=r(140),p=r(84),y=function(T,$,A,E,R,I,O,C){for(var D=R,M=0,F=O?p(O,C):!1,j,B;M<E;)M in A&&(j=F?F(A[M],M,$):A[M],I>0&&u(j)?(B=d(j),D=y(T,$,j,B,D,I-1)-1):(h(D+1),T[D]=j),D++),M++;return D};x.exports=y},function(x,b,r){var u=r(3),d=r(157),h=r(30),p=r(39),y=r(63),T=r(86);u({target:"Array",proto:!0},{flatMap:function(A){var E=p(this),R=y(E),I;return h(A),I=T(E,0),I.length=d(I,E,E,R,0,1,A,arguments.length>1?arguments[1]:void 0),I}})},function(x,b,r){var u=r(3),d=r(160);u({target:"Array",proto:!0,forced:[].forEach!==d},{forEach:d})},function(x,b,r){var u=r(83).forEach,d=r(147),h=d("forEach");x.exports=h?[].forEach:function(y){return u(this,y,arguments.length>1?arguments[1]:void 0)}},function(x,b,r){var u=r(3),d=r(162),h=r(164),p=!h(function(y){Array.from(y)});u({target:"Array",stat:!0,forced:p},{from:d})},function(x,b,r){var u=r(84),d=r(8),h=r(39),p=r(163),y=r(131),T=r(89),$=r(63),A=r(141),E=r(133),R=r(134),I=Array;x.exports=function(C){var D=h(C),M=T(this),F=arguments.length,j=F>1?arguments[1]:void 0,B=j!==void 0;B&&(j=u(j,F>2?arguments[2]:void 0));var U=R(D),V=0,z,G,H,k,J,q;if(U&&!(this===I&&y(U)))for(G=M?new this:[],k=E(D,U),J=k.next;!(H=d(J,k)).done;V++)q=B?p(k,j,[H.value,V],!0):H.value,A(G,V,q);else for(z=$(D),G=M?new this(z):I(z);z>V;V++)q=B?j(D[V],V):D[V],A(G,V,q);return G.length=V,G}},function(x,b,r){var u=r(46),d=r(135);x.exports=function(h,p,y,T){try{return T?p(u(y)[0],y[1]):p(y)}catch($){d(h,"throw",$)}}},function(x,b,r){var u=r(33),d=u("iterator"),h=!1;try{var p=0,y={next:function(){return{done:!!p++}},return:function(){h=!0}};y[d]=function(){return this},Array.from(y,function(){throw 2})}catch(T){}x.exports=function(T,$){try{if(!$&&!h)return!1}catch(R){return!1}var A=!1;try{var E={};E[d]=function(){return{next:function(){return{done:A=!0}}}},T(E)}catch(R){}return A}},function(x,b,r){var u=r(3),d=r(59).includes,h=r(7),p=r(138),y=h(function(){return!Array(1).includes()});u({target:"Array",proto:!0,forced:y},{includes:function($){return d(this,$,arguments.length>1?arguments[1]:void 0)}}),p("includes")},function(x,b,r){var u=r(3),d=r(85),h=r(59).indexOf,p=r(147),y=d([].indexOf),T=!!y&&1/y([1],1,-0)<0,$=T||!p("indexOf");u({target:"Array",proto:!0,forced:$},{indexOf:function(E){var R=arguments.length>1?arguments[1]:void 0;return T?y(this,E,R)||0:h(this,E,R)}})},function(x,b,r){var u=r(3),d=r(88);u({target:"Array",stat:!0},{isArray:d})},function(x,b,r){var u=r(12),d=r(138),h=r(132),p=r(51),y=r(44).f,T=r(169),$=r(172),A=r(36),E=r(6),R="Array Iterator",I=p.set,O=p.getterFor(R);x.exports=T(Array,"Array",function(D,M){I(this,{type:R,target:u(D),index:0,kind:M})},function(){var D=O(this),M=D.target,F=D.index++;if(!M||F>=M.length)return D.target=null,$(void 0,!0);switch(D.kind){case"keys":return $(F,!1);case"values":return $(M[F],!1)}return $([F,M[F]],!1)},"values");var C=h.Arguments=h.Array;if(d("keys"),d("values"),d("entries"),!A&&E&&C.name!=="values")try{y(C,"name",{value:"values"})}catch(D){}},function(x,b,r){var u=r(3),d=r(8),h=r(36),p=r(49),y=r(21),T=r(170),$=r(128),A=r(113),E=r(82),R=r(43),I=r(47),O=r(33),C=r(132),D=r(171),M=p.PROPER,F=p.CONFIGURABLE,j=D.IteratorPrototype,B=D.BUGGY_SAFARI_ITERATORS,U=O("iterator"),V="keys",z="values",G="entries",H=function(){return this};x.exports=function(k,J,q,nt,rt,_,tt){T(q,J,nt);var et=function(Qt){if(Qt===rt&&yt)return yt;if(!B&&Qt&&Qt in gt)return gt[Qt];switch(Qt){case V:return function(){return new q(this,Qt)};case z:return function(){return new q(this,Qt)};case G:return function(){return new q(this,Qt)}}return function(){return new q(this)}},ot=J+" Iterator",mt=!1,gt=k.prototype,xt=gt[U]||gt["@@iterator"]||rt&>[rt],yt=!B&&xt||et(rt),Ut=J==="Array"&>.entries||xt,Dt,Xt,kt;if(Ut&&(Dt=$(Ut.call(new k)),Dt!==Object.prototype&&Dt.next&&(!h&&$(Dt)!==j&&(A?A(Dt,j):y(Dt[U])||I(Dt,U,H)),E(Dt,ot,!0,!0),h&&(C[ot]=H))),M&&rt===z&&xt&&xt.name!==z&&(!h&&F?R(gt,"name",z):(mt=!0,yt=function(){return d(xt,this)})),rt)if(Xt={values:et(z),keys:_?yt:et(V),entries:et(G)},tt)for(kt in Xt)(B||mt||!(kt in gt))&&I(gt,kt,Xt[kt]);else u({target:J,proto:!0,forced:B||mt},Xt);return(!h||tt)&>[U]!==yt&&I(gt,U,yt,{name:rt}),C[J]=yt,Xt}},function(x,b,r){var u=r(171).IteratorPrototype,d=r(71),h=r(11),p=r(82),y=r(132),T=function(){return this};x.exports=function($,A,E,R){var I=A+" Iterator";return $.prototype=d(u,{next:h(+!R,E)}),p($,I,!1,!0),y[I]=T,$}},function(x,b,r){var u=r(7),d=r(21),h=r(20),p=r(71),y=r(128),T=r(47),$=r(33),A=r(36),E=$("iterator"),R=!1,I,O,C;[].keys&&(C=[].keys(),"next"in C?(O=y(y(C)),O!==Object.prototype&&(I=O)):R=!0);var D=!h(I)||u(function(){var M={};return I[E].call(M)!==M});D?I={}:A&&(I=p(I)),d(I[E])||T(I,E,function(){return this}),x.exports={IteratorPrototype:I,BUGGY_SAFARI_ITERATORS:R}},function(x){x.exports=function(b,r){return{value:b,done:r}}},function(x,b,r){var u=r(3),d=r(14),h=r(13),p=r(12),y=r(147),T=d([].join),$=h!==Object,A=$||!y("join",",");u({target:"Array",proto:!0,forced:A},{join:function(R){return T(p(this),R===void 0?",":R)}})},function(x,b,r){var u=r(3),d=r(175);u({target:"Array",proto:!0,forced:d!==[].lastIndexOf},{lastIndexOf:d})},function(x,b,r){var u=r(94),d=r(12),h=r(61),p=r(63),y=r(147),T=Math.min,$=[].lastIndexOf,A=!!$&&1/[1].lastIndexOf(1,-0)<0,E=y("lastIndexOf"),R=A||!E;x.exports=R?function(O){if(A)return u($,this,arguments)||0;var C=d(this),D=p(C);if(D===0)return-1;var M=D-1;for(arguments.length>1&&(M=T(M,h(arguments[1]))),M<0&&(M=D+M);M>=0;M--)if(M in C&&C[M]===O)return M||0;return-1}:$},function(x,b,r){var u=r(3),d=r(83).map,h=r(142),p=h("map");u({target:"Array",proto:!0,forced:!p},{map:function(T){return d(this,T,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(7),h=r(89),p=r(141),y=Array,T=d(function(){function $(){}return!(y.of.call($)instanceof $)});u({target:"Array",stat:!0,forced:T},{of:function(){for(var A=0,E=arguments.length,R=new(h(this)?this:y)(E);E>A;)p(R,A,arguments[A++]);return R.length=E,R}})},function(x,b,r){var u=r(3),d=r(39),h=r(63),p=r(179),y=r(140),T=r(7),$=T(function(){return[].push.call({length:4294967296},1)!==4294967297}),A=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(R){return R instanceof TypeError}},E=$||!A();u({target:"Array",proto:!0,arity:1,forced:E},{push:function(I){var O=d(this),C=h(O),D=arguments.length;y(C+D);for(var M=0;M<D;M++)O[C]=arguments[M],C++;return p(O,C),C}})},function(x,b,r){var u=r(6),d=r(88),h=TypeError,p=Object.getOwnPropertyDescriptor,y=u&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(T){return T instanceof TypeError}}();x.exports=y?function(T,$){if(d(T)&&!p(T,"length").writable)throw new h("Cannot set read only .length");return T.length=$}:function(T,$){return T.length=$}},function(x,b,r){var u=r(3),d=r(181).left,h=r(147),p=r(27),y=r(182),T=!y&&p>79&&p<83,$=T||!h("reduce");u({target:"Array",proto:!0,forced:$},{reduce:function(E){var R=arguments.length;return d(this,E,R,R>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(30),d=r(39),h=r(13),p=r(63),y=TypeError,T="Reduce of empty array with no initial value",$=function(A){return function(E,R,I,O){var C=d(E),D=h(C),M=p(C);if(u(R),M===0&&I<2)throw new y(T);var F=A?M-1:0,j=A?-1:1;if(I<2)for(;;){if(F in D){O=D[F],F+=j;break}if(F+=j,A?F<0:M<=F)throw new y(T)}for(;A?F>=0:M>F;F+=j)F in D&&(O=R(O,D[F],F,C));return O}};x.exports={left:$(!1),right:$(!0)}},function(x,b,r){var u=r(183);x.exports=u==="NODE"},function(x,b,r){var u=r(4),d=r(28),h=r(15),p=function(y){return d.slice(0,y.length)===y};x.exports=function(){return p("Bun/")?"BUN":p("Cloudflare-Workers")?"CLOUDFLARE":p("Deno/")?"DENO":p("Node.js/")?"NODE":u.Bun&&typeof Bun.version=="string"?"BUN":u.Deno&&typeof Deno.version=="object"?"DENO":h(u.process)==="process"?"NODE":u.window&&u.document?"BROWSER":"REST"}()},function(x,b,r){var u=r(3),d=r(181).right,h=r(147),p=r(27),y=r(182),T=!y&&p>79&&p<83,$=T||!h("reduceRight");u({target:"Array",proto:!0,forced:$},{reduceRight:function(E){return d(this,E,arguments.length,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(14),h=r(88),p=d([].reverse),y=[1,2];u({target:"Array",proto:!0,forced:String(y)===String(y.reverse())},{reverse:function(){return h(this)&&(this.length=this.length),p(this)}})},function(x,b,r){var u=r(3),d=r(88),h=r(89),p=r(20),y=r(60),T=r(63),$=r(12),A=r(141),E=r(33),R=r(142),I=r(76),O=R("slice"),C=E("species"),D=Array,M=Math.max;u({target:"Array",proto:!0,forced:!O},{slice:function(j,B){var U=$(this),V=T(U),z=y(j,V),G=y(B===void 0?V:B,V),H,k,J;if(d(U)&&(H=U.constructor,h(H)&&(H===D||d(H.prototype))?H=void 0:p(H)&&(H=H[C],H===null&&(H=void 0)),H===D||H===void 0))return I(U,z,G);for(k=new(H===void 0?D:H)(M(G-z,0)),J=0;z<G;z++,J++)z in U&&A(k,J,U[z]);return k.length=J,k}})},function(x,b,r){var u=r(3),d=r(83).some,h=r(147),p=h("some");u({target:"Array",proto:!0,forced:!p},{some:function(T){return d(this,T,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(14),h=r(30),p=r(39),y=r(63),T=r(145),$=r(68),A=r(7),E=r(189),R=r(147),I=r(190),O=r(191),C=r(27),D=r(192),M=[],F=d(M.sort),j=d(M.push),B=A(function(){M.sort(void 0)}),U=A(function(){M.sort(null)}),V=R("sort"),z=!A(function(){if(C)return C<70;if(!(I&&I>3)){if(O)return!0;if(D)return D<603;var k="",J,q,nt,rt;for(J=65;J<76;J++){switch(q=String.fromCharCode(J),J){case 66:case 69:case 70:case 72:nt=3;break;case 68:case 71:nt=4;break;default:nt=2}for(rt=0;rt<47;rt++)M.push({k:q+rt,v:nt})}for(M.sort(function(_,tt){return tt.v-_.v}),rt=0;rt<M.length;rt++)q=M[rt].k.charAt(0),k.charAt(k.length-1)!==q&&(k+=q);return k!=="DGBEFHACIJK"}}),G=B||!U||!V||!z,H=function(k){return function(J,q){return q===void 0?-1:J===void 0?1:k!==void 0?+k(J,q)||0:$(J)>$(q)?1:-1}};u({target:"Array",proto:!0,forced:G},{sort:function(J){J!==void 0&&h(J);var q=p(this);if(z)return J===void 0?F(q):F(q,J);var nt=[],rt=y(q),_,tt;for(tt=0;tt<rt;tt++)tt in q&&j(nt,q[tt]);for(E(nt,H(J)),_=y(nt),tt=0;tt<_;)q[tt]=nt[tt++];for(;tt<rt;)T(q,tt++);return q}})},function(x,b,r){var u=r(76),d=Math.floor,h=function(p,y){var T=p.length;if(T<8)for(var $=1,A,E;$<T;){for(E=$,A=p[$];E&&y(p[E-1],A)>0;)p[E]=p[--E];E!==$++&&(p[E]=A)}else for(var R=d(T/2),I=h(u(p,0,R),y),O=h(u(p,R),y),C=I.length,D=O.length,M=0,F=0;M<C||F<D;)p[M+F]=M<C&&F<D?y(I[M],O[F])<=0?I[M++]:O[F++]:M<C?I[M++]:O[F++];return p};x.exports=h},function(x,b,r){var u=r(28),d=u.match(/firefox\/(\d+)/i);x.exports=!!d&&+d[1]},function(x,b,r){var u=r(28);x.exports=/MSIE|Trident/.test(u)},function(x,b,r){var u=r(28),d=u.match(/AppleWebKit\/(\d+)\./);x.exports=!!d&&+d[1]},function(x,b,r){var u=r(194);u("Array")},function(x,b,r){var u=r(23),d=r(77),h=r(33),p=r(6),y=h("species");x.exports=function(T){var $=u(T);p&&$&&!$[y]&&d($,y,{configurable:!0,get:function(){return this}})}},function(x,b,r){var u=r(3),d=r(39),h=r(60),p=r(61),y=r(63),T=r(179),$=r(140),A=r(86),E=r(141),R=r(145),I=r(142),O=I("splice"),C=Math.max,D=Math.min;u({target:"Array",proto:!0,forced:!O},{splice:function(F,j){var B=d(this),U=y(B),V=h(F,U),z=arguments.length,G,H,k,J,q,nt;for(z===0?G=H=0:z===1?(G=0,H=U-V):(G=z-2,H=D(C(p(j),0),U-V)),$(U+G-H),k=A(B,H),J=0;J<H;J++)q=V+J,q in B&&E(k,J,B[q]);if(k.length=H,G<H){for(J=V;J<U-H;J++)q=J+H,nt=J+G,q in B?B[nt]=B[q]:R(B,nt);for(J=U;J>U-H+G;J--)R(B,J-1)}else if(G>H)for(J=U-H;J>V;J--)q=J+H-1,nt=J+G-1,q in B?B[nt]=B[q]:R(B,nt);for(J=0;J<G;J++)B[J+V]=arguments[J+2];return T(B,U-H+G),k}})},function(x,b,r){var u=r(3),d=r(197),h=r(12),p=r(138),y=Array;u({target:"Array",proto:!0},{toReversed:function(){return d(h(this),y)}}),p("toReversed")},function(x,b,r){var u=r(63);x.exports=function(d,h){for(var p=u(d),y=new h(p),T=0;T<p;T++)y[T]=d[p-T-1];return y}},function(x,b,r){var u=r(3),d=r(14),h=r(30),p=r(12),y=r(199),T=r(200),$=r(138),A=Array,E=d(T("Array","sort"));u({target:"Array",proto:!0},{toSorted:function(I){I!==void 0&&h(I);var O=p(this),C=y(A,O);return E(C,I)}}),$("toSorted")},function(x,b,r){var u=r(63);x.exports=function(d,h,p){for(var y=0,T=arguments.length>2?p:u(h),$=new d(T);T>y;)$[y]=h[y++];return $}},function(x,b,r){var u=r(4);x.exports=function(d,h){var p=u[d],y=p&&p.prototype;return y&&y[h]}},function(x,b,r){var u=r(3),d=r(138),h=r(140),p=r(63),y=r(60),T=r(12),$=r(61),A=Array,E=Math.max,R=Math.min;u({target:"Array",proto:!0},{toSpliced:function(O,C){var D=T(this),M=p(D),F=y(O,M),j=arguments.length,B=0,U,V,z,G;for(j===0?U=V=0:j===1?(U=0,V=M-F):(U=j-2,V=R(E($(C),0),M-F)),z=h(M+U-V),G=A(z);B<F;B++)G[B]=D[B];for(;B<F+U;B++)G[B]=arguments[B-F+2];for(;B<z;B++)G[B]=D[B+V-U];return G}}),d("toSpliced")},function(x,b,r){var u=r(138);u("flat")},function(x,b,r){var u=r(138);u("flatMap")},function(x,b,r){var u=r(3),d=r(39),h=r(63),p=r(179),y=r(145),T=r(140),$=[].unshift(0)!==1,A=function(){try{Object.defineProperty([],"length",{writable:!1}).unshift()}catch(R){return R instanceof TypeError}},E=$||!A();u({target:"Array",proto:!0,arity:1,forced:E},{unshift:function(I){var O=d(this),C=h(O),D=arguments.length;if(D){T(C+D);for(var M=C;M--;){var F=M+D;M in O?O[F]=O[M]:y(O,F)}for(var j=0;j<D;j++)O[j]=arguments[j]}return p(O,C+D)}})},function(x,b,r){var u=r(3),d=r(206),h=r(12),p=Array;u({target:"Array",proto:!0},{with:function(y,T){return d(h(this),p,y,T)}})},function(x,b,r){var u=r(63),d=r(61),h=RangeError;x.exports=function(p,y,T,$){var A=u(p),E=d(T),R=E<0?A+E:E;if(R>=A||R<0)throw new h("Incorrect index");for(var I=new y(A),O=0;O<A;O++)I[O]=O===R?$:p[O];return I}},function(x,b,r){var u=r(3),d=r(4),h=r(208),p=r(194),y="ArrayBuffer",T=h[y],$=d[y];u({global:!0,constructor:!0,forced:$!==T},{ArrayBuffer:T}),p(y)},function(x,b,r){var u=r(4),d=r(14),h=r(6),p=r(209),y=r(49),T=r(43),$=r(77),A=r(210),E=r(7),R=r(211),I=r(61),O=r(64),C=r(212),D=r(213),M=r(216),F=r(128),j=r(113),B=r(149),U=r(76),V=r(118),z=r(55),G=r(82),H=r(51),k=y.PROPER,J=y.CONFIGURABLE,q="ArrayBuffer",nt="DataView",rt="prototype",_="Wrong length",tt="Wrong index",et=H.getterFor(q),ot=H.getterFor(nt),mt=H.set,gt=u[q],xt=gt,yt=xt&&xt[rt],Ut=u[nt],Dt=Ut&&Ut[rt],Xt=Object.prototype,kt=u.Array,Qt=u.RangeError,me=d(B),ge=d([].reverse),ae=M.pack,Mt=M.unpack,Yt=function(bt){return[bt&255]},re=function(bt){return[bt&255,bt>>8&255]},oe=function(bt){return[bt&255,bt>>8&255,bt>>16&255,bt>>24&255]},ee=function(bt){return bt[3]<<24|bt[2]<<16|bt[1]<<8|bt[0]},fe=function(bt){return ae(D(bt),23,4)},Pe=function(bt){return ae(bt,52,8)},Me=function(bt,Ft,Tt){$(bt[rt],Ft,{configurable:!0,get:function(){return Tt(this)[Ft]}})},$e=function(bt,Ft,Tt,qt){var te=ot(bt),Zt=C(Tt),Ht=!!qt;if(Zt+Ft>te.byteLength)throw new Qt(tt);var He=te.bytes,Ze=Zt+te.byteOffset,ft=U(He,Ze,Ze+Ft);return Ht?ft:ge(ft)},ce=function(bt,Ft,Tt,qt,te,Zt){var Ht=ot(bt),He=C(Tt),Ze=qt(+te),ft=!!Zt;if(He+Ft>Ht.byteLength)throw new Qt(tt);for(var It=Ht.bytes,Pt=He+Ht.byteOffset,Ct=0;Ct<Ft;Ct++)It[Pt+Ct]=Ze[ft?Ct:Ft-Ct-1]};if(!p)xt=function(Ft){R(this,yt);var Tt=C(Ft);mt(this,{type:q,bytes:me(kt(Tt),0),byteLength:Tt}),h||(this.byteLength=Tt,this.detached=!1)},yt=xt[rt],Ut=function(Ft,Tt,qt){R(this,Dt),R(Ft,yt);var te=et(Ft),Zt=te.byteLength,Ht=I(Tt);if(Ht<0||Ht>Zt)throw new Qt("Wrong offset");if(qt=qt===void 0?Zt-Ht:O(qt),Ht+qt>Zt)throw new Qt(_);mt(this,{type:nt,buffer:Ft,byteLength:qt,byteOffset:Ht,bytes:te.bytes}),h||(this.buffer=Ft,this.byteLength=qt,this.byteOffset=Ht)},Dt=Ut[rt],h&&(Me(xt,"byteLength",et),Me(Ut,"buffer",ot),Me(Ut,"byteLength",ot),Me(Ut,"byteOffset",ot)),A(Dt,{getInt8:function(Ft){return $e(this,1,Ft)[0]<<24>>24},getUint8:function(Ft){return $e(this,1,Ft)[0]},getInt16:function(Ft){var Tt=$e(this,2,Ft,arguments.length>1?arguments[1]:!1);return(Tt[1]<<8|Tt[0])<<16>>16},getUint16:function(Ft){var Tt=$e(this,2,Ft,arguments.length>1?arguments[1]:!1);return Tt[1]<<8|Tt[0]},getInt32:function(Ft){return ee($e(this,4,Ft,arguments.length>1?arguments[1]:!1))},getUint32:function(Ft){return ee($e(this,4,Ft,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(Ft){return Mt($e(this,4,Ft,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(Ft){return Mt($e(this,8,Ft,arguments.length>1?arguments[1]:!1),52)},setInt8:function(Ft,Tt){ce(this,1,Ft,Yt,Tt)},setUint8:function(Ft,Tt){ce(this,1,Ft,Yt,Tt)},setInt16:function(Ft,Tt){ce(this,2,Ft,re,Tt,arguments.length>2?arguments[2]:!1)},setUint16:function(Ft,Tt){ce(this,2,Ft,re,Tt,arguments.length>2?arguments[2]:!1)},setInt32:function(Ft,Tt){ce(this,4,Ft,oe,Tt,arguments.length>2?arguments[2]:!1)},setUint32:function(Ft,Tt){ce(this,4,Ft,oe,Tt,arguments.length>2?arguments[2]:!1)},setFloat32:function(Ft,Tt){ce(this,4,Ft,fe,Tt,arguments.length>2?arguments[2]:!1)},setFloat64:function(Ft,Tt){ce(this,8,Ft,Pe,Tt,arguments.length>2?arguments[2]:!1)}});else{var Ae=k&>.name!==q;!E(function(){gt(1)})||!E(function(){new gt(-1)})||E(function(){return new gt,new gt(1.5),new gt(NaN),gt.length!==1||Ae&&!J})?(xt=function(Ft){return R(this,yt),V(new gt(C(Ft)),this,xt)},xt[rt]=yt,yt.constructor=xt,z(xt,gt)):Ae&&J&&T(gt,"name",q),j&&F(Dt)!==Xt&&j(Dt,Xt);var Te=new Ut(new xt(2)),de=d(Dt.setInt8);Te.setInt8(0,2147483648),Te.setInt8(1,2147483649),(Te.getInt8(0)||!Te.getInt8(1))&&A(Dt,{setInt8:function(Ft,Tt){de(this,Ft,Tt<<24>>24)},setUint8:function(Ft,Tt){de(this,Ft,Tt<<24>>24)}},{unsafe:!0})}G(xt,q),G(Ut,nt),x.exports={ArrayBuffer:xt,DataView:Ut}},function(x){x.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},function(x,b,r){var u=r(47);x.exports=function(d,h,p){for(var y in h)u(d,y,h[y],p);return d}},function(x,b,r){var u=r(24),d=TypeError;x.exports=function(h,p){if(u(p,h))return h;throw new d("Incorrect invocation")}},function(x,b,r){var u=r(61),d=r(64),h=RangeError;x.exports=function(p){if(p===void 0)return 0;var y=u(p),T=d(y);if(y!==T)throw new h("Wrong length or index");return T}},function(x,b,r){var u=r(214),d=11920928955078125e-23,h=34028234663852886e22,p=11754943508222875e-54;x.exports=Math.fround||function(T){return u(T,d,h,p)}},function(x,b,r){var u=r(215),d=Math.abs,h=2220446049250313e-31,p=1/h,y=function(T){return T+p-p};x.exports=function(T,$,A,E){var R=+T,I=d(R),O=u(R);if(I<E)return O*y(I/E/$)*E*$;var C=(1+$/h)*I,D=C-(C-I);return D>A||D!==D?O*(1/0):O*D}},function(x){x.exports=Math.sign||function(r){var u=+r;return u===0||u!==u?u:u<0?-1:1}},function(x){var b=Array,r=Math.abs,u=Math.pow,d=Math.floor,h=Math.log,p=Math.LN2,y=function($,A,E){var R=b(E),I=E*8-A-1,O=(1<<I)-1,C=O>>1,D=A===23?u(2,-24)-u(2,-77):0,M=$<0||$===0&&1/$<0?1:0,F=0,j,B,U;for($=r($),$!==$||$===1/0?(B=$!==$?1:0,j=O):(j=d(h($)/p),U=u(2,-j),$*U<1&&(j--,U*=2),j+C>=1?$+=D/U:$+=D*u(2,1-C),$*U>=2&&(j++,U/=2),j+C>=O?(B=0,j=O):j+C>=1?(B=($*U-1)*u(2,A),j+=C):(B=$*u(2,C-1)*u(2,A),j=0));A>=8;)R[F++]=B&255,B/=256,A-=8;for(j=j<<A|B,I+=A;I>0;)R[F++]=j&255,j/=256,I-=8;return R[F-1]|=M*128,R},T=function($,A){var E=$.length,R=E*8-A-1,I=(1<<R)-1,O=I>>1,C=R-7,D=E-1,M=$[D--],F=M&127,j;for(M>>=7;C>0;)F=F*256+$[D--],C-=8;for(j=F&(1<<-C)-1,F>>=-C,C+=A;C>0;)j=j*256+$[D--],C-=8;if(F===0)F=1-O;else{if(F===I)return j?NaN:M?-1/0:1/0;j+=u(2,A),F-=O}return(M?-1:1)*j*u(2,F-A)};x.exports={pack:y,unpack:T}},function(x,b,r){var u=r(3),d=r(218),h=d.NATIVE_ARRAY_BUFFER_VIEWS;u({target:"ArrayBuffer",stat:!0,forced:!h},{isView:d.isView})},function(x,b,r){var u=r(209),d=r(6),h=r(4),p=r(21),y=r(20),T=r(38),$=r(69),A=r(31),E=r(43),R=r(47),I=r(77),O=r(24),C=r(128),D=r(113),M=r(33),F=r(40),j=r(51),B=j.enforce,U=j.get,V=h.Int8Array,z=V&&V.prototype,G=h.Uint8ClampedArray,H=G&&G.prototype,k=V&&C(V),J=z&&C(z),q=Object.prototype,nt=h.TypeError,rt=M("toStringTag"),_=F("TYPED_ARRAY_TAG"),tt="TypedArrayConstructor",et=u&&!!D&&$(h.opera)!=="Opera",ot=!1,mt,gt,xt,yt={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Ut={BigInt64Array:8,BigUint64Array:8},Dt=function(Yt){if(!y(Yt))return!1;var re=$(Yt);return re==="DataView"||T(yt,re)||T(Ut,re)},Xt=function(Mt){var Yt=C(Mt);if(y(Yt)){var re=U(Yt);return re&&T(re,tt)?re[tt]:Xt(Yt)}},kt=function(Mt){if(!y(Mt))return!1;var Yt=$(Mt);return T(yt,Yt)||T(Ut,Yt)},Qt=function(Mt){if(kt(Mt))return Mt;throw new nt("Target is not a typed array")},me=function(Mt){if(p(Mt)&&(!D||O(k,Mt)))return Mt;throw new nt(A(Mt)+" is not a typed array constructor")},ge=function(Mt,Yt,re,oe){if(d){if(re)for(var ee in yt){var fe=h[ee];if(fe&&T(fe.prototype,Mt))try{delete fe.prototype[Mt]}catch(Pe){try{fe.prototype[Mt]=Yt}catch(Me){}}}(!J[Mt]||re)&&R(J,Mt,re?Yt:et&&z[Mt]||Yt,oe)}},ae=function(Mt,Yt,re){var oe,ee;if(d){if(D){if(re){for(oe in yt)if(ee=h[oe],ee&&T(ee,Mt))try{delete ee[Mt]}catch(fe){}}if(!k[Mt]||re)try{return R(k,Mt,re?Yt:et&&k[Mt]||Yt)}catch(fe){}else return}for(oe in yt)ee=h[oe],ee&&(!ee[Mt]||re)&&R(ee,Mt,Yt)}};for(mt in yt)gt=h[mt],xt=gt&>.prototype,xt?B(xt)[tt]=gt:et=!1;for(mt in Ut)gt=h[mt],xt=gt&>.prototype,xt&&(B(xt)[tt]=gt);if((!et||!p(k)||k===Function.prototype)&&(k=function(){throw new nt("Incorrect invocation")},et))for(mt in yt)h[mt]&&D(h[mt],k);if((!et||!J||J===q)&&(J=k.prototype,et))for(mt in yt)h[mt]&&D(h[mt].prototype,J);if(et&&C(H)!==J&&D(H,J),d&&!T(J,rt)){ot=!0,I(J,rt,{configurable:!0,get:function(){return y(this)?this[_]:void 0}});for(mt in yt)h[mt]&&E(h[mt],_,mt)}x.exports={NATIVE_ARRAY_BUFFER_VIEWS:et,TYPED_ARRAY_TAG:ot&&_,aTypedArray:Qt,aTypedArrayConstructor:me,exportTypedArrayMethod:ge,exportTypedArrayStaticMethod:ae,getTypedArrayConstructor:Xt,isView:Dt,isTypedArray:kt,TypedArray:k,TypedArrayPrototype:J}},function(x,b,r){var u=r(3),d=r(85),h=r(7),p=r(208),y=r(46),T=r(60),$=r(64),A=p.ArrayBuffer,E=p.DataView,R=E.prototype,I=d(A.prototype.slice),O=d(R.getUint8),C=d(R.setUint8),D=h(function(){return!new A(2).slice(1,void 0).byteLength});u({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:D},{slice:function(F,j){if(I&&j===void 0)return I(y(this),F);for(var B=y(this).byteLength,U=T(F,B),V=T(j===void 0?B:j,B),z=new A($(V-U)),G=new E(this),H=new E(z),k=0;U<V;)C(H,k++,O(G,U++));return z}})},function(x,b,r){r(221)},function(x,b,r){var u=r(3),d=r(208),h=r(209);u({global:!0,constructor:!0,forced:!h},{DataView:d.DataView})},function(x,b,r){var u=r(6),d=r(77),h=r(223),p=ArrayBuffer.prototype;u&&!("detached"in p)&&d(p,"detached",{configurable:!0,get:function(){return h(this)}})},function(x,b,r){var u=r(4),d=r(85),h=r(224),p=u.ArrayBuffer,y=p&&p.prototype,T=y&&d(y.slice);x.exports=function($){if(h($)!==0||!T)return!1;try{return T($,0,0),!1}catch(A){return!0}}},function(x,b,r){var u=r(4),d=r(114),h=r(15),p=u.ArrayBuffer,y=u.TypeError;x.exports=p&&d(p.prototype,"byteLength","get")||function(T){if(h(T)!=="ArrayBuffer")throw new y("ArrayBuffer expected");return T.byteLength}},function(x,b,r){var u=r(3),d=r(226);d&&u({target:"ArrayBuffer",proto:!0},{transfer:function(){return d(this,arguments.length?arguments[0]:void 0,!0)}})},function(x,b,r){var u=r(4),d=r(14),h=r(114),p=r(212),y=r(227),T=r(224),$=r(228),A=r(230),E=u.structuredClone,R=u.ArrayBuffer,I=u.DataView,O=Math.min,C=R.prototype,D=I.prototype,M=d(C.slice),F=h(C,"resizable","get"),j=h(C,"maxByteLength","get"),B=d(D.getInt8),U=d(D.setInt8);x.exports=(A||$)&&function(V,z,G){var H=T(V),k=z===void 0?H:p(z),J=!F||!F(V),q;if(y(V),A&&(V=E(V,{transfer:[V]}),H===k&&(G||J)))return V;if(H>=k&&(!G||J))q=M(V,0,k);else{var nt=G&&!J&&j?{maxByteLength:j(V)}:void 0;q=new R(k,nt);for(var rt=new I(V),_=new I(q),tt=O(k,H),et=0;et<tt;et++)U(_,et,B(rt,et))}return A||$(V),q}},function(x,b,r){var u=r(223),d=TypeError;x.exports=function(h){if(u(h))throw new d("ArrayBuffer is detached");return h}},function(x,b,r){var u=r(4),d=r(229),h=r(230),p=u.structuredClone,y=u.ArrayBuffer,T=u.MessageChannel,$=!1,A,E,R,I;if(h)$=function(O){p(O,{transfer:[O]})};else if(y)try{T||(A=d("worker_threads"),A&&(T=A.MessageChannel)),T&&(E=new T,R=new y(2),I=function(O){E.port1.postMessage(null,[O])},R.byteLength===2&&(I(R),R.byteLength===0&&($=I)))}catch(O){}x.exports=$},function(x,b,r){var u=r(4),d=r(182);x.exports=function(h){if(d){try{return u.process.getBuiltinModule(h)}catch(p){}try{return Function('return require("'+h+'")')()}catch(p){}}}},function(x,b,r){var u=r(4),d=r(7),h=r(27),p=r(183),y=u.structuredClone;x.exports=!!y&&!d(function(){if(p==="DENO"&&h>92||p==="NODE"&&h>94||p==="BROWSER"&&h>97)return!1;var T=new ArrayBuffer(8),$=y(T,{transfer:[T]});return T.byteLength!==0||$.byteLength!==8})},function(x,b,r){var u=r(3),d=r(226);d&&u({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return d(this,arguments.length?arguments[0]:void 0,!1)}})},function(x,b,r){var u=r(3),d=r(14),h=r(7),p=h(function(){return new Date(16e11).getYear()!==120}),y=d(Date.prototype.getFullYear);u({target:"Date",proto:!0,forced:p},{getYear:function(){return y(this)-1900}})},function(x,b,r){var u=r(3),d=r(14),h=Date,p=d(h.prototype.getTime);u({target:"Date",stat:!0},{now:function(){return p(new h)}})},function(x,b,r){var u=r(3),d=r(14),h=r(61),p=Date.prototype,y=d(p.getTime),T=d(p.setFullYear);u({target:"Date",proto:!0},{setYear:function(A){y(this);var E=h(A),R=E>=0&&E<=99?E+1900:E;return T(this,R)}})},function(x,b,r){var u=r(3);u({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString})},function(x,b,r){var u=r(3),d=r(237);u({target:"Date",proto:!0,forced:Date.prototype.toISOString!==d},{toISOString:d})},function(x,b,r){var u=r(14),d=r(7),h=r(238).start,p=RangeError,y=isFinite,T=Math.abs,$=Date.prototype,A=$.toISOString,E=u($.getTime),R=u($.getUTCDate),I=u($.getUTCFullYear),O=u($.getUTCHours),C=u($.getUTCMilliseconds),D=u($.getUTCMinutes),M=u($.getUTCMonth),F=u($.getUTCSeconds);x.exports=d(function(){return A.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!d(function(){A.call(new Date(NaN))})?function(){if(!y(E(this)))throw new p("Invalid time value");var B=this,U=I(B),V=C(B),z=U<0?"-":U>9999?"+":"";return z+h(T(U),z?6:4,0)+"-"+h(M(B)+1,2,0)+"-"+h(R(B),2,0)+"T"+h(O(B),2,0)+":"+h(D(B),2,0)+":"+h(F(B),2,0)+"."+h(V,3,0)+"Z"}:A},function(x,b,r){var u=r(14),d=r(64),h=r(68),p=r(239),y=r(16),T=u(p),$=u("".slice),A=Math.ceil,E=function(R){return function(I,O,C){var D=h(y(I)),M=d(O),F=D.length,j=C===void 0?" ":h(C),B,U;return M<=F||j===""?D:(B=M-F,U=T(j,A(B/j.length)),U.length>B&&(U=$(U,0,B)),R?D+U:U+D)}};x.exports={start:E(!1),end:E(!0)}},function(x,b,r){var u=r(61),d=r(68),h=r(16),p=RangeError;x.exports=function(T){var $=d(h(this)),A="",E=u(T);if(E<0||E===1/0)throw new p("Wrong number of repetitions");for(;E>0;(E>>>=1)&&($+=$))E&1&&(A+=$);return A}},function(x,b,r){var u=r(3),d=r(7),h=r(39),p=r(19),y=d(function(){return new Date(NaN).toJSON()!==null||Date.prototype.toJSON.call({toISOString:function(){return 1}})!==1});u({target:"Date",proto:!0,arity:1,forced:y},{toJSON:function($){var A=h(this),E=p(A,"number");return typeof E=="number"&&!isFinite(E)?null:A.toISOString()}})},function(x,b,r){var u=r(38),d=r(47),h=r(242),p=r(33),y=p("toPrimitive"),T=Date.prototype;u(T,y)||d(T,y,h)},function(x,b,r){var u=r(46),d=r(32),h=TypeError;x.exports=function(p){if(u(this),p==="string"||p==="default")p="string";else if(p!=="number")throw new h("Incorrect hint");return d(this,p)}},function(x,b,r){var u=r(14),d=r(47),h=Date.prototype,p="Invalid Date",y="toString",T=u(h[y]),$=u(h.getTime);String(new Date(NaN))!==p&&d(h,y,function(){var E=$(this);return E===E?T(this):p})},function(x,b,r){var u=r(3),d=r(14),h=r(68),p=d("".charAt),y=d("".charCodeAt),T=d(/./.exec),$=d(1 .toString),A=d("".toUpperCase),E=/[\w*+\-./@]/,R=function(I,O){for(var C=$(I,16);C.length<O;)C="0"+C;return C};u({global:!0},{escape:function(O){for(var C=h(O),D="",M=C.length,F=0,j,B;F<M;)j=p(C,F++),T(E,j)?D+=j:(B=y(j,0),B<256?D+="%"+R(B,2):D+="%u"+A(R(B,4)));return D}})},function(x,b,r){var u=r(3),d=r(246);u({target:"Function",proto:!0,forced:Function.bind!==d},{bind:d})},function(x,b,r){var u=r(14),d=r(30),h=r(20),p=r(38),y=r(76),T=r(9),$=Function,A=u([].concat),E=u([].join),R={},I=function(O,C,D){if(!p(R,C)){for(var M=[],F=0;F<C;F++)M[F]="a["+F+"]";R[C]=$("C,a","return new C("+E(M,",")+")")}return R[C](O,D)};x.exports=T?$.bind:function(C){var D=d(this),M=D.prototype,F=y(arguments,1),j=function(){var U=A(F,y(arguments));return this instanceof j?I(D,U.length,U):D.apply(C,U)};return h(M)&&(j.prototype=M),j}},function(x,b,r){var u=r(21),d=r(20),h=r(44),p=r(24),y=r(33),T=r(48),$=y("hasInstance"),A=Function.prototype;$ in A||h.f(A,$,{value:T(function(E){if(!u(this)||!d(E))return!1;var R=this.prototype;return d(R)?p(R,E):E instanceof this},$)})},function(x,b,r){var u=r(6),d=r(49).EXISTS,h=r(14),p=r(77),y=Function.prototype,T=h(y.toString),$=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,A=h($.exec),E="name";u&&!d&&p(y,E,{configurable:!0,get:function(){try{return A($,T(this))[1]}catch(R){return""}}})},function(x,b,r){var u=r(3),d=r(4);u({global:!0,forced:d.globalThis!==d},{globalThis:d})},function(x,b,r){var u=r(3),d=r(4),h=r(211),p=r(46),y=r(21),T=r(128),$=r(77),A=r(141),E=r(7),R=r(38),I=r(33),O=r(171).IteratorPrototype,C=r(6),D=r(36),M="constructor",F="Iterator",j=I("toStringTag"),B=TypeError,U=d[F],V=D||!y(U)||U.prototype!==O||!E(function(){U({})}),z=function(){if(h(this,O),T(this)===O)throw new B("Abstract class Iterator not directly constructable")},G=function(H,k){C?$(O,H,{configurable:!0,get:function(){return k},set:function(J){if(p(this),this===O)throw new B("You can't redefine this property");R(this,H)?this[H]=J:A(this,H,J)}}):O[H]=k};R(O,j)||G(j,F),(V||!R(O,M)||O[M]===Object)&&G(M,z),z.prototype=O,u({global:!0,constructor:!0,forced:V},{Iterator:z})},function(x,b,r){var u=r(3),d=r(8),h=r(46),p=r(252),y=r(253),T=r(254),$=r(255),A=r(36),E=$(function(){for(var R=this.iterator,I=this.next,O,C;this.remaining;)if(this.remaining--,O=h(d(I,R)),C=this.done=!!O.done,C)return;if(O=h(d(I,R)),C=this.done=!!O.done,!C)return O.value});u({target:"Iterator",proto:!0,real:!0,forced:A},{drop:function(I){h(this);var O=T(y(+I));return new E(p(this),{remaining:O})}})},function(x){x.exports=function(b){return{iterator:b,next:b.next,done:!1}}},function(x){var b=RangeError;x.exports=function(r){if(r===r)return r;throw new b("NaN is not allowed")}},function(x,b,r){var u=r(61),d=RangeError;x.exports=function(h){var p=u(h);if(p<0)throw new d("The argument can't be less than 0");return p}},function(x,b,r){var u=r(8),d=r(71),h=r(43),p=r(210),y=r(33),T=r(51),$=r(29),A=r(171).IteratorPrototype,E=r(172),R=r(135),I=y("toStringTag"),O="IteratorHelper",C="WrapForValidIterator",D=T.set,M=function(B){var U=T.getterFor(B?C:O);return p(d(A),{next:function(){var z=U(this);if(B)return z.nextHandler();try{var G=z.done?void 0:z.nextHandler();return E(G,z.done)}catch(H){throw z.done=!0,H}},return:function(){var V=U(this),z=V.iterator;if(V.done=!0,B){var G=$(z,"return");return G?u(G,z):E(void 0,!0)}if(V.inner)try{R(V.inner.iterator,"normal")}catch(H){return R(z,"throw",H)}return z&&R(z,"normal"),E(void 0,!0)}})},F=M(!0),j=M(!1);h(j,I,"Iterator Helper"),x.exports=function(B,U){var V=function(G,H){H?(H.iterator=G.iterator,H.next=G.next):H=G,H.type=U?C:O,H.nextHandler=B,H.counter=0,H.done=!1,D(this,H)};return V.prototype=U?F:j,V}},function(x,b,r){var u=r(3),d=r(130),h=r(30),p=r(46),y=r(252);u({target:"Iterator",proto:!0,real:!0},{every:function($){p(this),h($);var A=y(this),E=0;return!d(A,function(R,I){if(!$(R,E++))return I()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},function(x,b,r){var u=r(3),d=r(8),h=r(30),p=r(46),y=r(252),T=r(255),$=r(163),A=r(36),E=T(function(){for(var R=this.iterator,I=this.predicate,O=this.next,C,D,M;;){if(C=p(d(O,R)),D=this.done=!!C.done,D)return;if(M=C.value,$(R,I,[M,this.counter++],!0))return M}});u({target:"Iterator",proto:!0,real:!0,forced:A},{filter:function(I){return p(this),h(I),new E(y(this),{predicate:I})}})},function(x,b,r){var u=r(3),d=r(130),h=r(30),p=r(46),y=r(252);u({target:"Iterator",proto:!0,real:!0},{find:function($){p(this),h($);var A=y(this),E=0;return d(A,function(R,I){if($(R,E++))return I(R)},{IS_RECORD:!0,INTERRUPTED:!0}).result}})},function(x,b,r){var u=r(3),d=r(8),h=r(30),p=r(46),y=r(252),T=r(260),$=r(255),A=r(135),E=r(36),R=$(function(){for(var I=this.iterator,O=this.mapper,C,D;;){if(D=this.inner)try{if(C=p(d(D.next,D.iterator)),!C.done)return C.value;this.inner=null}catch(M){A(I,"throw",M)}if(C=p(d(this.next,I)),this.done=!!C.done)return;try{this.inner=T(O(C.value,this.counter++),!1)}catch(M){A(I,"throw",M)}}});u({target:"Iterator",proto:!0,real:!0,forced:E},{flatMap:function(O){return p(this),h(O),new R(y(this),{mapper:O,inner:null})}})},function(x,b,r){var u=r(8),d=r(46),h=r(252),p=r(134);x.exports=function(y,T){(!T||typeof y!="string")&&d(y);var $=p(y);return h(d($!==void 0?u($,y):y))}},function(x,b,r){var u=r(3),d=r(130),h=r(30),p=r(46),y=r(252);u({target:"Iterator",proto:!0,real:!0},{forEach:function($){p(this),h($);var A=y(this),E=0;d(A,function(R){$(R,E++)},{IS_RECORD:!0})}})},function(x,b,r){var u=r(3),d=r(8),h=r(39),p=r(24),y=r(171).IteratorPrototype,T=r(255),$=r(260),A=r(36),E=T(function(){return d(this.next,this.iterator)},!0);u({target:"Iterator",stat:!0,forced:A},{from:function(I){var O=$(typeof I=="string"?h(I):I,!0);return p(y,O.iterator)?O.iterator:new E(O)}})},function(x,b,r){var u=r(3),d=r(264),h=r(36);u({target:"Iterator",proto:!0,real:!0,forced:h},{map:d})},function(x,b,r){var u=r(8),d=r(30),h=r(46),p=r(252),y=r(255),T=r(163),$=y(function(){var A=this.iterator,E=h(u(this.next,A)),R=this.done=!!E.done;if(!R)return T(A,this.mapper,[E.value,this.counter++],!0)});x.exports=function(E){return h(this),d(E),new $(p(this),{mapper:E})}},function(x,b,r){var u=r(3),d=r(130),h=r(30),p=r(46),y=r(252),T=TypeError;u({target:"Iterator",proto:!0,real:!0},{reduce:function(A){p(this),h(A);var E=y(this),R=arguments.length<2,I=R?void 0:arguments[1],O=0;if(d(E,function(C){R?(R=!1,I=C):I=A(I,C,O),O++},{IS_RECORD:!0}),R)throw new T("Reduce of empty iterator with no initial value");return I}})},function(x,b,r){var u=r(3),d=r(130),h=r(30),p=r(46),y=r(252);u({target:"Iterator",proto:!0,real:!0},{some:function($){p(this),h($);var A=y(this),E=0;return d(A,function(R,I){if($(R,E++))return I()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},function(x,b,r){var u=r(3),d=r(8),h=r(46),p=r(252),y=r(253),T=r(254),$=r(255),A=r(135),E=r(36),R=$(function(){var I=this.iterator;if(!this.remaining--)return this.done=!0,A(I,"normal",void 0);var O=h(d(this.next,I)),C=this.done=!!O.done;if(!C)return O.value});u({target:"Iterator",proto:!0,real:!0,forced:E},{take:function(O){h(this);var C=T(y(+O));return new R(p(this),{remaining:C})}})},function(x,b,r){var u=r(3),d=r(46),h=r(130),p=r(252),y=[].push;u({target:"Iterator",proto:!0,real:!0},{toArray:function(){var $=[];return h(p(d(this)),y,{that:$,IS_RECORD:!0}),$}})},function(x,b,r){var u=r(4),d=r(82);d(u.JSON,"JSON",!0)},function(x,b,r){r(271)},function(x,b,r){var u=r(272),d=r(277);u("Map",function(h){return function(){return h(this,arguments.length?arguments[0]:void 0)}},d)},function(x,b,r){var u=r(3),d=r(4),h=r(14),p=r(67),y=r(47),T=r(273),$=r(130),A=r(211),E=r(21),R=r(17),I=r(20),O=r(7),C=r(164),D=r(82),M=r(118);x.exports=function(F,j,B){var U=F.indexOf("Map")!==-1,V=F.indexOf("Weak")!==-1,z=U?"set":"add",G=d[F],H=G&&G.prototype,k=G,J={},q=function(mt){var gt=h(H[mt]);y(H,mt,mt==="add"?function(yt){return gt(this,yt===0?0:yt),this}:mt==="delete"?function(xt){return V&&!I(xt)?!1:gt(this,xt===0?0:xt)}:mt==="get"?function(yt){return V&&!I(yt)?void 0:gt(this,yt===0?0:yt)}:mt==="has"?function(yt){return V&&!I(yt)?!1:gt(this,yt===0?0:yt)}:function(yt,Ut){return gt(this,yt===0?0:yt,Ut),this})},nt=p(F,!E(G)||!(V||H.forEach&&!O(function(){new G().entries().next()})));if(nt)k=B.getConstructor(j,F,U,z),T.enable();else if(p(F,!0)){var rt=new k,_=rt[z](V?{}:-0,1)!==rt,tt=O(function(){rt.has(1)}),et=C(function(mt){new G(mt)}),ot=!V&&O(function(){for(var mt=new G,gt=5;gt--;)mt[z](gt,gt);return!mt.has(-0)});et||(k=j(function(mt,gt){A(mt,H);var xt=M(new G,mt,k);return R(gt)||$(gt,xt[z],{that:xt,AS_ENTRIES:U}),xt}),k.prototype=H,H.constructor=k),(tt||ot)&&(q("delete"),q("has"),U&&q("get")),(ot||_)&&q(z),V&&H.clear&&delete H.clear}return J[F]=k,u({global:!0,constructor:!0,forced:k!==G},J),D(k,F),V||B.setStrong(k,F,U),k}},function(x,b,r){var u=r(3),d=r(14),h=r(54),p=r(20),y=r(38),T=r(44).f,$=r(57),A=r(75),E=r(274),R=r(40),I=r(276),O=!1,C=R("meta"),D=0,M=function(z){T(z,C,{value:{objectID:"O"+D++,weakData:{}}})},F=function(z,G){if(!p(z))return typeof z=="symbol"?z:(typeof z=="string"?"S":"P")+z;if(!y(z,C)){if(!E(z))return"F";if(!G)return"E";M(z)}return z[C].objectID},j=function(z,G){if(!y(z,C)){if(!E(z))return!0;if(!G)return!1;M(z)}return z[C].weakData},B=function(z){return I&&O&&E(z)&&!y(z,C)&&M(z),z},U=function(){V.enable=function(){},O=!0;var z=$.f,G=d([].splice),H={};H[C]=1,z(H).length&&($.f=function(k){for(var J=z(k),q=0,nt=J.length;q<nt;q++)if(J[q]===C){G(J,q,1);break}return J},u({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:A.f}))},V=x.exports={enable:U,fastKey:F,getWeakData:j,onFreeze:B};h[C]=!0},function(x,b,r){var u=r(7),d=r(20),h=r(15),p=r(275),y=Object.isExtensible,T=u(function(){y(1)});x.exports=T||p?function(A){return!d(A)||p&&h(A)==="ArrayBuffer"?!1:y?y(A):!0}:y},function(x,b,r){var u=r(7);x.exports=u(function(){if(typeof ArrayBuffer=="function"){var d=new ArrayBuffer(8);Object.isExtensible(d)&&Object.defineProperty(d,"a",{value:8})}})},function(x,b,r){var u=r(7);x.exports=!u(function(){return Object.isExtensible(Object.preventExtensions({}))})},function(x,b,r){var u=r(71),d=r(77),h=r(210),p=r(84),y=r(211),T=r(17),$=r(130),A=r(169),E=r(172),R=r(194),I=r(6),O=r(273).fastKey,C=r(51),D=C.set,M=C.getterFor;x.exports={getConstructor:function(F,j,B,U){var V=F(function(J,q){y(J,z),D(J,{type:j,index:u(null),first:null,last:null,size:0}),I||(J.size=0),T(q)||$(q,J[U],{that:J,AS_ENTRIES:B})}),z=V.prototype,G=M(j),H=function(J,q,nt){var rt=G(J),_=k(J,q),tt,et;return _?_.value=nt:(rt.last=_={index:et=O(q,!0),key:q,value:nt,previous:tt=rt.last,next:null,removed:!1},rt.first||(rt.first=_),tt&&(tt.next=_),I?rt.size++:J.size++,et!=="F"&&(rt.index[et]=_)),J},k=function(J,q){var nt=G(J),rt=O(q),_;if(rt!=="F")return nt.index[rt];for(_=nt.first;_;_=_.next)if(_.key===q)return _};return h(z,{clear:function(){for(var q=this,nt=G(q),rt=nt.first;rt;)rt.removed=!0,rt.previous&&(rt.previous=rt.previous.next=null),rt=rt.next;nt.first=nt.last=null,nt.index=u(null),I?nt.size=0:q.size=0},delete:function(J){var q=this,nt=G(q),rt=k(q,J);if(rt){var _=rt.next,tt=rt.previous;delete nt.index[rt.index],rt.removed=!0,tt&&(tt.next=_),_&&(_.previous=tt),nt.first===rt&&(nt.first=_),nt.last===rt&&(nt.last=tt),I?nt.size--:q.size--}return!!rt},forEach:function(q){for(var nt=G(this),rt=p(q,arguments.length>1?arguments[1]:void 0),_;_=_?_.next:nt.first;)for(rt(_.value,_.key,this);_&&_.removed;)_=_.previous},has:function(q){return!!k(this,q)}}),h(z,B?{get:function(q){var nt=k(this,q);return nt&&nt.value},set:function(q,nt){return H(this,q===0?0:q,nt)}}:{add:function(q){return H(this,q=q===0?0:q,q)}}),I&&d(z,"size",{configurable:!0,get:function(){return G(this).size}}),V},setStrong:function(F,j,B){var U=j+" Iterator",V=M(j),z=M(U);A(F,j,function(G,H){D(this,{type:U,target:G,state:V(G),kind:H,last:null})},function(){for(var G=z(this),H=G.kind,k=G.last;k&&k.removed;)k=k.previous;return!G.target||!(G.last=k=k?k.next:G.state.first)?(G.target=null,E(void 0,!0)):E(H==="keys"?k.key:H==="values"?k.value:[k.key,k.value],!1)},B?"entries":"values",!B,!0),R(j)}}},function(x,b,r){var u=r(3),d=r(14),h=r(30),p=r(16),y=r(130),T=r(279),$=r(36),A=r(7),E=T.Map,R=T.has,I=T.get,O=T.set,C=d([].push),D=$||A(function(){return E.groupBy("ab",function(M){return M}).get("a").length!==1});u({target:"Map",stat:!0,forced:$||D},{groupBy:function(F,j){p(F),h(j);var B=new E,U=0;return y(F,function(V){var z=j(V,U++);R(B,z)?C(I(B,z),V):O(B,z,[V])}),B}})},function(x,b,r){var u=r(14),d=Map.prototype;x.exports={Map,set:u(d.set),get:u(d.get),has:u(d.has),remove:u(d.delete),proto:d}},function(x,b,r){var u=r(3),d=r(281),h=Math.acosh,p=Math.log,y=Math.sqrt,T=Math.LN2,$=!h||Math.floor(h(Number.MAX_VALUE))!==710||h(1/0)!==1/0;u({target:"Math",stat:!0,forced:$},{acosh:function(E){var R=+E;return R<1?NaN:R>9490626562425156e-8?p(R)+T:d(R-1+y(R-1)*y(R+1))}})},function(x){var b=Math.log;x.exports=Math.log1p||function(u){var d=+u;return d>-1e-8&&d<1e-8?d-d*d/2:b(1+d)}},function(x,b,r){var u=r(3),d=Math.asinh,h=Math.log,p=Math.sqrt;function y($){var A=+$;return!isFinite(A)||A===0?A:A<0?-y(-A):h(A+p(A*A+1))}var T=!(d&&1/d(0)>0);u({target:"Math",stat:!0,forced:T},{asinh:y})},function(x,b,r){var u=r(3),d=Math.atanh,h=Math.log,p=!(d&&1/d(-0)<0);u({target:"Math",stat:!0,forced:p},{atanh:function(T){var $=+T;return $===0?$:h((1+$)/(1-$))/2}})},function(x,b,r){var u=r(3),d=r(215),h=Math.abs,p=Math.pow;u({target:"Math",stat:!0},{cbrt:function(T){var $=+T;return d($)*p(h($),.3333333333333333)}})},function(x,b,r){var u=r(3),d=Math.floor,h=Math.log,p=Math.LOG2E;u({target:"Math",stat:!0},{clz32:function(T){var $=T>>>0;return $?31-d(h($+.5)*p):32}})},function(x,b,r){var u=r(3),d=r(287),h=Math.cosh,p=Math.abs,y=Math.E,T=!h||h(710)===1/0;u({target:"Math",stat:!0,forced:T},{cosh:function(A){var E=d(p(A)-1)+1;return(E+1/(E*y*y))*(y/2)}})},function(x){var b=Math.expm1,r=Math.exp;x.exports=!b||b(10)>22025.465794806718||b(10)<22025.465794806718||b(-2e-17)!==-2e-17?function(d){var h=+d;return h===0?h:h>-1e-6&&h<1e-6?h+h*h/2:r(h)-1}:b},function(x,b,r){var u=r(3),d=r(287);u({target:"Math",stat:!0,forced:d!==Math.expm1},{expm1:d})},function(x,b,r){var u=r(3),d=r(213);u({target:"Math",stat:!0},{fround:d})},function(x,b,r){var u=r(3),d=Math.hypot,h=Math.abs,p=Math.sqrt,y=!!d&&d(1/0,NaN)!==1/0;u({target:"Math",stat:!0,arity:2,forced:y},{hypot:function($,A){for(var E=0,R=0,I=arguments.length,O=0,C,D;R<I;)C=h(arguments[R++]),O<C?(D=O/C,E=E*D*D+1,O=C):C>0?(D=C/O,E+=D*D):E+=C;return O===1/0?1/0:O*p(E)}})},function(x,b,r){var u=r(3),d=r(7),h=Math.imul,p=d(function(){return h(4294967295,5)!==-5||h.length!==2});u({target:"Math",stat:!0,forced:p},{imul:function(T,$){var A=65535,E=+T,R=+$,I=A&E,O=A&R;return 0|I*O+((A&E>>>16)*O+I*(A&R>>>16)<<16>>>0)}})},function(x,b,r){var u=r(3),d=r(293);u({target:"Math",stat:!0},{log10:d})},function(x){var b=Math.log,r=Math.LOG10E;x.exports=Math.log10||function(d){return b(d)*r}},function(x,b,r){var u=r(3),d=r(281);u({target:"Math",stat:!0},{log1p:d})},function(x,b,r){var u=r(3),d=Math.log,h=Math.LN2;u({target:"Math",stat:!0},{log2:function(y){return d(y)/h}})},function(x,b,r){var u=r(3),d=r(215);u({target:"Math",stat:!0},{sign:d})},function(x,b,r){var u=r(3),d=r(7),h=r(287),p=Math.abs,y=Math.exp,T=Math.E,$=d(function(){return Math.sinh(-2e-17)!==-2e-17});u({target:"Math",stat:!0,forced:$},{sinh:function(E){var R=+E;return p(R)<1?(h(R)-h(-R))/2:(y(R-1)-y(-R-1))*(T/2)}})},function(x,b,r){var u=r(3),d=r(287),h=Math.exp;u({target:"Math",stat:!0},{tanh:function(y){var T=+y,$=d(T),A=d(-T);return $===1/0?1:A===1/0?-1:($-A)/(h(T)+h(-T))}})},function(x,b,r){var u=r(82);u(Math,"Math",!0)},function(x,b,r){var u=r(3),d=r(62);u({target:"Math",stat:!0},{trunc:d})},function(x,b,r){var u=r(3),d=r(36),h=r(6),p=r(4),y=r(80),T=r(14),$=r(67),A=r(38),E=r(118),R=r(24),I=r(22),O=r(19),C=r(7),D=r(57).f,M=r(5).f,F=r(44).f,j=r(302),B=r(303).trim,U="Number",V=p[U],z=y[U],G=V.prototype,H=p.TypeError,k=T("".slice),J=T("".charCodeAt),q=function(ot){var mt=O(ot,"number");return typeof mt=="bigint"?mt:nt(mt)},nt=function(ot){var mt=O(ot,"number"),gt,xt,yt,Ut,Dt,Xt,kt,Qt;if(I(mt))throw new H("Cannot convert a Symbol value to a number");if(typeof mt=="string"&&mt.length>2){if(mt=B(mt),gt=J(mt,0),gt===43||gt===45){if(xt=J(mt,2),xt===88||xt===120)return NaN}else if(gt===48){switch(J(mt,1)){case 66:case 98:yt=2,Ut=49;break;case 79:case 111:yt=8,Ut=55;break;default:return+mt}for(Dt=k(mt,2),Xt=Dt.length,kt=0;kt<Xt;kt++)if(Qt=J(Dt,kt),Qt<48||Qt>Ut)return NaN;return parseInt(Dt,yt)}}return+mt},rt=$(U,!V(" 0o1")||!V("0b1")||V("+0x1")),_=function(ot){return R(G,ot)&&C(function(){j(ot)})},tt=function(mt){var gt=arguments.length<1?0:V(q(mt));return _(this)?E(Object(gt),this,tt):gt};tt.prototype=G,rt&&!d&&(G.constructor=tt),u({global:!0,constructor:!0,wrap:!0,forced:rt},{Number:tt});var et=function(ot,mt){for(var gt=h?D(mt):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),xt=0,yt;gt.length>xt;xt++)A(mt,yt=gt[xt])&&!A(ot,yt)&&F(ot,yt,M(mt,yt))};d&&z&&et(y[U],z),(rt||d)&&et(y[U],V)},function(x,b,r){var u=r(14);x.exports=u(1 .valueOf)},function(x,b,r){var u=r(14),d=r(16),h=r(68),p=r(304),y=u("".replace),T=RegExp("^["+p+"]+"),$=RegExp("(^|[^"+p+"])["+p+"]+$"),A=function(E){return function(R){var I=h(d(R));return E&1&&(I=y(I,T,"")),E&2&&(I=y(I,$,"$1")),I}};x.exports={start:A(1),end:A(2),trim:A(3)}},function(x){x.exports=` +\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`},function(x,b,r){var u=r(3);u({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},function(x,b,r){var u=r(3),d=r(307);u({target:"Number",stat:!0},{isFinite:d})},function(x,b,r){var u=r(4),d=u.isFinite;x.exports=Number.isFinite||function(p){return typeof p=="number"&&d(p)}},function(x,b,r){var u=r(3),d=r(309);u({target:"Number",stat:!0},{isInteger:d})},function(x,b,r){var u=r(20),d=Math.floor;x.exports=Number.isInteger||function(p){return!u(p)&&isFinite(p)&&d(p)===p}},function(x,b,r){var u=r(3);u({target:"Number",stat:!0},{isNaN:function(h){return h!==h}})},function(x,b,r){var u=r(3),d=r(309),h=Math.abs;u({target:"Number",stat:!0},{isSafeInteger:function(y){return d(y)&&h(y)<=9007199254740991}})},function(x,b,r){var u=r(3);u({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(x,b,r){var u=r(3);u({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(x,b,r){var u=r(3),d=r(315);u({target:"Number",stat:!0,forced:Number.parseFloat!==d},{parseFloat:d})},function(x,b,r){var u=r(4),d=r(7),h=r(14),p=r(68),y=r(303).trim,T=r(304),$=h("".charAt),A=u.parseFloat,E=u.Symbol,R=E&&E.iterator,I=1/A(T+"-0")!==-1/0||R&&!d(function(){A(Object(R))});x.exports=I?function(C){var D=y(p(C)),M=A(D);return M===0&&$(D,0)==="-"?-0:M}:A},function(x,b,r){var u=r(3),d=r(317);u({target:"Number",stat:!0,forced:Number.parseInt!==d},{parseInt:d})},function(x,b,r){var u=r(4),d=r(7),h=r(14),p=r(68),y=r(303).trim,T=r(304),$=u.parseInt,A=u.Symbol,E=A&&A.iterator,R=/^[+-]?0x/i,I=h(R.exec),O=$(T+"08")!==8||$(T+"0x16")!==22||E&&!d(function(){$(Object(E))});x.exports=O?function(D,M){var F=y(p(D));return $(F,M>>>0||(I(R,F)?16:10))}:$},function(x,b,r){var u=r(3),d=r(14),h=r(61),p=r(302),y=r(239),T=r(293),$=r(7),A=RangeError,E=String,R=isFinite,I=Math.abs,O=Math.floor,C=Math.pow,D=Math.round,M=d(1 .toExponential),F=d(y),j=d("".slice),B=M(-69e-12,4)==="-6.9000e-11"&&M(1.255,2)==="1.25e+0"&&M(12345,3)==="1.235e+4"&&M(25,0)==="3e+1",U=function(){return $(function(){M(1,1/0)})&&$(function(){M(1,-1/0)})},V=function(){return!$(function(){M(1/0,1/0),M(NaN,1/0)})},z=!B||!U()||!V();u({target:"Number",proto:!0,forced:z},{toExponential:function(H){var k=p(this);if(H===void 0)return M(k);var J=h(H);if(!R(k))return String(k);if(J<0||J>20)throw new A("Incorrect fraction digits");if(B)return M(k,J);var q="",nt,rt,_,tt;if(k<0&&(q="-",k=-k),k===0)rt=0,nt=F("0",J+1);else{var et=T(k);rt=O(et);var ot=C(10,rt-J),mt=D(k/ot);2*k>=(2*mt+1)*ot&&(mt+=1),mt>=C(10,J+1)&&(mt/=10,rt+=1),nt=E(mt)}return J!==0&&(nt=j(nt,0,1)+"."+j(nt,1)),rt===0?(_="+",tt="0"):(_=rt>0?"+":"-",tt=E(I(rt))),nt+="e"+_+tt,q+nt}})},function(x,b,r){var u=r(3),d=r(14),h=r(61),p=r(302),y=r(239),T=r(7),$=RangeError,A=String,E=Math.floor,R=d(y),I=d("".slice),O=d(1 .toFixed),C=function(U,V,z){return V===0?z:V%2===1?C(U,V-1,z*U):C(U*U,V/2,z)},D=function(U){for(var V=0,z=U;z>=4096;)V+=12,z/=4096;for(;z>=2;)V+=1,z/=2;return V},M=function(U,V,z){for(var G=-1,H=z;++G<6;)H+=V*U[G],U[G]=H%1e7,H=E(H/1e7)},F=function(U,V){for(var z=6,G=0;--z>=0;)G+=U[z],U[z]=E(G/V),G=G%V*1e7},j=function(U){for(var V=6,z="";--V>=0;)if(z!==""||V===0||U[V]!==0){var G=A(U[V]);z=z===""?G:z+R("0",7-G.length)+G}return z},B=T(function(){return O(8e-5,3)!=="0.000"||O(.9,0)!=="1"||O(1.255,2)!=="1.25"||O(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!T(function(){O({})});u({target:"Number",proto:!0,forced:B},{toFixed:function(V){var z=p(this),G=h(V),H=[0,0,0,0,0,0],k="",J="0",q,nt,rt,_;if(G<0||G>20)throw new $("Incorrect fraction digits");if(z!==z)return"NaN";if(z<=-1e21||z>=1e21)return A(z);if(z<0&&(k="-",z=-z),z>1e-21)if(q=D(z*C(2,69,1))-69,nt=q<0?z*C(2,-q,1):z/C(2,q,1),nt*=4503599627370496,q=52-q,q>0){for(M(H,0,nt),rt=G;rt>=7;)M(H,1e7,0),rt-=7;for(M(H,C(10,rt,1),0),rt=q-1;rt>=23;)F(H,8388608),rt-=23;F(H,1<<rt),M(H,1,1),F(H,2),J=j(H)}else M(H,0,nt),M(H,1<<-q,0),J=j(H)+R("0",G);return G>0?(_=J.length,J=k+(_<=G?"0."+R("0",G-_)+J:I(J,0,_-G)+"."+I(J,_-G))):J=k+J,J}})},function(x,b,r){var u=r(3),d=r(14),h=r(7),p=r(302),y=d(1 .toPrecision),T=h(function(){return y(1,void 0)!=="1"})||!h(function(){y({})});u({target:"Number",proto:!0,forced:T},{toPrecision:function(A){return A===void 0?y(p(this)):y(p(this),A)}})},function(x,b,r){var u=r(3),d=r(322);u({target:"Object",stat:!0,arity:2,forced:Object.assign!==d},{assign:d})},function(x,b,r){var u=r(6),d=r(14),h=r(8),p=r(7),y=r(73),T=r(66),$=r(10),A=r(39),E=r(13),R=Object.assign,I=Object.defineProperty,O=d([].concat);x.exports=!R||p(function(){if(u&&R({b:1},R(I({},"a",{enumerable:!0,get:function(){I(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var C={},D={},M=Symbol("assign detection"),F="abcdefghijklmnopqrst";return C[M]=7,F.split("").forEach(function(j){D[j]=j}),R({},C)[M]!==7||y(R({},D)).join("")!==F})?function(D,M){for(var F=A(D),j=arguments.length,B=1,U=T.f,V=$.f;j>B;)for(var z=E(arguments[B++]),G=U?O(y(z),U(z)):y(z),H=G.length,k=0,J;H>k;)J=G[k++],(!u||h(V,z,J))&&(F[J]=z[J]);return F}:R},function(x,b,r){var u=r(3),d=r(6),h=r(71);u({target:"Object",stat:!0,sham:!d},{create:h})},function(x,b,r){var u=r(3),d=r(6),h=r(325),p=r(30),y=r(39),T=r(44);d&&u({target:"Object",proto:!0,forced:h},{__defineGetter__:function(A,E){T.f(y(this),A,{get:p(E),enumerable:!0,configurable:!0})}})},function(x,b,r){var u=r(36),d=r(4),h=r(7),p=r(192);x.exports=u||!h(function(){if(!(p&&p<535)){var y=Math.random();__defineSetter__.call(null,y,function(){}),delete d[y]}})},function(x,b,r){var u=r(3),d=r(6),h=r(72).f;u({target:"Object",stat:!0,forced:Object.defineProperties!==h,sham:!d},{defineProperties:h})},function(x,b,r){var u=r(3),d=r(6),h=r(44).f;u({target:"Object",stat:!0,forced:Object.defineProperty!==h,sham:!d},{defineProperty:h})},function(x,b,r){var u=r(3),d=r(6),h=r(325),p=r(30),y=r(39),T=r(44);d&&u({target:"Object",proto:!0,forced:h},{__defineSetter__:function(A,E){T.f(y(this),A,{set:p(E),enumerable:!0,configurable:!0})}})},function(x,b,r){var u=r(3),d=r(330).entries;u({target:"Object",stat:!0},{entries:function(p){return d(p)}})},function(x,b,r){var u=r(6),d=r(7),h=r(14),p=r(128),y=r(73),T=r(12),$=r(10).f,A=h($),E=h([].push),R=u&&d(function(){var O=Object.create(null);return O[2]=2,!A(O,2)}),I=function(O){return function(C){for(var D=T(C),M=y(D),F=R&&p(D)===null,j=M.length,B=0,U=[],V;j>B;)V=M[B++],(!u||(F?V in D:A(D,V)))&&E(U,O?[V,D[V]]:D[V]);return U}};x.exports={entries:I(!0),values:I(!1)}},function(x,b,r){var u=r(3),d=r(276),h=r(7),p=r(20),y=r(273).onFreeze,T=Object.freeze,$=h(function(){T(1)});u({target:"Object",stat:!0,forced:$,sham:!d},{freeze:function(E){return T&&p(E)?T(y(E)):E}})},function(x,b,r){var u=r(3),d=r(130),h=r(141);u({target:"Object",stat:!0},{fromEntries:function(y){var T={};return d(y,function($,A){h(T,$,A)},{AS_ENTRIES:!0}),T}})},function(x,b,r){var u=r(3),d=r(7),h=r(12),p=r(5).f,y=r(6),T=!y||d(function(){p(1)});u({target:"Object",stat:!0,forced:T,sham:!y},{getOwnPropertyDescriptor:function(A,E){return p(h(A),E)}})},function(x,b,r){var u=r(3),d=r(6),h=r(56),p=r(12),y=r(5),T=r(141);u({target:"Object",stat:!0,sham:!d},{getOwnPropertyDescriptors:function(A){for(var E=p(A),R=y.f,I=h(E),O={},C=0,D,M;I.length>C;)M=R(E,D=I[C++]),M!==void 0&&T(O,D,M);return O}})},function(x,b,r){var u=r(3),d=r(7),h=r(75).f,p=d(function(){return!Object.getOwnPropertyNames(1)});u({target:"Object",stat:!0,forced:p},{getOwnPropertyNames:h})},function(x,b,r){var u=r(3),d=r(7),h=r(39),p=r(128),y=r(129),T=d(function(){p(1)});u({target:"Object",stat:!0,forced:T,sham:!y},{getPrototypeOf:function(A){return p(h(A))}})},function(x,b,r){var u=r(3),d=r(23),h=r(14),p=r(30),y=r(16),T=r(18),$=r(130),A=r(7),E=Object.groupBy,R=d("Object","create"),I=h([].push),O=!E||A(function(){return E("ab",function(C){return C}).a.length!==1});u({target:"Object",stat:!0,forced:O},{groupBy:function(D,M){y(D),p(M);var F=R(null),j=0;return $(D,function(B){var U=T(M(B,j++));U in F?I(F[U],B):F[U]=[B]}),F}})},function(x,b,r){var u=r(3),d=r(38);u({target:"Object",stat:!0},{hasOwn:d})},function(x,b,r){var u=r(3),d=r(340);u({target:"Object",stat:!0},{is:d})},function(x){x.exports=Object.is||function(r,u){return r===u?r!==0||1/r===1/u:r!==r&&u!==u}},function(x,b,r){var u=r(3),d=r(274);u({target:"Object",stat:!0,forced:Object.isExtensible!==d},{isExtensible:d})},function(x,b,r){var u=r(3),d=r(7),h=r(20),p=r(15),y=r(275),T=Object.isFrozen,$=y||d(function(){T(1)});u({target:"Object",stat:!0,forced:$},{isFrozen:function(E){return!h(E)||y&&p(E)==="ArrayBuffer"?!0:T?T(E):!1}})},function(x,b,r){var u=r(3),d=r(7),h=r(20),p=r(15),y=r(275),T=Object.isSealed,$=y||d(function(){T(1)});u({target:"Object",stat:!0,forced:$},{isSealed:function(E){return!h(E)||y&&p(E)==="ArrayBuffer"?!0:T?T(E):!1}})},function(x,b,r){var u=r(3),d=r(39),h=r(73),p=r(7),y=p(function(){h(1)});u({target:"Object",stat:!0,forced:y},{keys:function($){return h(d($))}})},function(x,b,r){var u=r(3),d=r(6),h=r(325),p=r(39),y=r(18),T=r(128),$=r(5).f;d&&u({target:"Object",proto:!0,forced:h},{__lookupGetter__:function(E){var R=p(this),I=y(E),O;do if(O=$(R,I))return O.get;while(R=T(R))}})},function(x,b,r){var u=r(3),d=r(6),h=r(325),p=r(39),y=r(18),T=r(128),$=r(5).f;d&&u({target:"Object",proto:!0,forced:h},{__lookupSetter__:function(E){var R=p(this),I=y(E),O;do if(O=$(R,I))return O.set;while(R=T(R))}})},function(x,b,r){var u=r(3),d=r(20),h=r(273).onFreeze,p=r(276),y=r(7),T=Object.preventExtensions,$=y(function(){T(1)});u({target:"Object",stat:!0,forced:$,sham:!p},{preventExtensions:function(E){return T&&d(E)?T(h(E)):E}})},function(x,b,r){var u=r(6),d=r(77),h=r(20),p=r(116),y=r(39),T=r(16),$=Object.getPrototypeOf,A=Object.setPrototypeOf,E=Object.prototype,R="__proto__";if(u&&$&&A&&!(R in E))try{d(E,R,{configurable:!0,get:function(){return $(y(this))},set:function(O){var C=T(this);p(O)&&h(C)&&A(C,O)}})}catch(I){}},function(x,b,r){var u=r(3),d=r(20),h=r(273).onFreeze,p=r(276),y=r(7),T=Object.seal,$=y(function(){T(1)});u({target:"Object",stat:!0,forced:$,sham:!p},{seal:function(E){return T&&d(E)?T(h(E)):E}})},function(x,b,r){var u=r(3),d=r(113);u({target:"Object",stat:!0},{setPrototypeOf:d})},function(x,b,r){var u=r(70),d=r(47),h=r(352);u||d(Object.prototype,"toString",h,{unsafe:!0})},function(x,b,r){var u=r(70),d=r(69);x.exports=u?{}.toString:function(){return"[object "+d(this)+"]"}},function(x,b,r){var u=r(3),d=r(330).values;u({target:"Object",stat:!0},{values:function(p){return d(p)}})},function(x,b,r){var u=r(3),d=r(315);u({global:!0,forced:parseFloat!==d},{parseFloat:d})},function(x,b,r){var u=r(3),d=r(317);u({global:!0,forced:parseInt!==d},{parseInt:d})},function(x,b,r){r(357),r(373),r(375),r(376),r(377),r(378)},function(x,b,r){var u=r(3),d=r(36),h=r(182),p=r(4),y=r(8),T=r(47),$=r(113),A=r(82),E=r(194),R=r(30),I=r(21),O=r(20),C=r(211),D=r(358),M=r(360).set,F=r(363),j=r(368),B=r(369),U=r(365),V=r(51),z=r(370),G=r(371),H=r(372),k="Promise",J=G.CONSTRUCTOR,q=G.REJECTION_EVENT,nt=G.SUBCLASSING,rt=V.getterFor(k),_=V.set,tt=z&&z.prototype,et=z,ot=tt,mt=p.TypeError,gt=p.document,xt=p.process,yt=H.f,Ut=yt,Dt=!!(gt&>.createEvent&&p.dispatchEvent),Xt="unhandledrejection",kt="rejectionhandled",Qt=0,me=1,ge=2,ae=1,Mt=2,Yt,re,oe,ee,fe=function(Tt){var qt;return O(Tt)&&I(qt=Tt.then)?qt:!1},Pe=function(Tt,qt){var te=qt.value,Zt=qt.state===me,Ht=Zt?Tt.ok:Tt.fail,He=Tt.resolve,Ze=Tt.reject,ft=Tt.domain,It,Pt,Ct;try{Ht?(Zt||(qt.rejection===Mt&&Te(qt),qt.rejection=ae),Ht===!0?It=te:(ft&&ft.enter(),It=Ht(te),ft&&(ft.exit(),Ct=!0)),It===Tt.promise?Ze(new mt("Promise-chain cycle")):(Pt=fe(It))?y(Pt,It,He,Ze):He(It)):Ze(te)}catch(Nt){ft&&!Ct&&ft.exit(),Ze(Nt)}},Me=function(Tt,qt){Tt.notified||(Tt.notified=!0,F(function(){for(var te=Tt.reactions,Zt;Zt=te.get();)Pe(Zt,Tt);Tt.notified=!1,qt&&!Tt.rejection&&ce(Tt)}))},$e=function(Tt,qt,te){var Zt,Ht;Dt?(Zt=gt.createEvent("Event"),Zt.promise=qt,Zt.reason=te,Zt.initEvent(Tt,!1,!0),p.dispatchEvent(Zt)):Zt={promise:qt,reason:te},!q&&(Ht=p["on"+Tt])?Ht(Zt):Tt===Xt&&j("Unhandled promise rejection",te)},ce=function(Tt){y(M,p,function(){var qt=Tt.facade,te=Tt.value,Zt=Ae(Tt),Ht;if(Zt&&(Ht=B(function(){h?xt.emit("unhandledRejection",te,qt):$e(Xt,qt,te)}),Tt.rejection=h||Ae(Tt)?Mt:ae,Ht.error))throw Ht.value})},Ae=function(Tt){return Tt.rejection!==ae&&!Tt.parent},Te=function(Tt){y(M,p,function(){var qt=Tt.facade;h?xt.emit("rejectionHandled",qt):$e(kt,qt,Tt.value)})},de=function(Tt,qt,te){return function(Zt){Tt(qt,Zt,te)}},bt=function(Tt,qt,te){Tt.done||(Tt.done=!0,te&&(Tt=te),Tt.value=qt,Tt.state=ge,Me(Tt,!0))},Ft=function(Tt,qt,te){if(!Tt.done){Tt.done=!0,te&&(Tt=te);try{if(Tt.facade===qt)throw new mt("Promise can't be resolved itself");var Zt=fe(qt);Zt?F(function(){var Ht={done:!1};try{y(Zt,qt,de(Ft,Ht,Tt),de(bt,Ht,Tt))}catch(He){bt(Ht,He,Tt)}}):(Tt.value=qt,Tt.state=me,Me(Tt,!1))}catch(Ht){bt({done:!1},Ht,Tt)}}};if(J&&(et=function(qt){C(this,ot),R(qt),y(Yt,this);var te=rt(this);try{qt(de(Ft,te),de(bt,te))}catch(Zt){bt(te,Zt)}},ot=et.prototype,Yt=function(qt){_(this,{type:k,done:!1,notified:!1,parent:!1,reactions:new U,rejection:!1,state:Qt,value:null})},Yt.prototype=T(ot,"then",function(qt,te){var Zt=rt(this),Ht=yt(D(this,et));return Zt.parent=!0,Ht.ok=I(qt)?qt:!0,Ht.fail=I(te)&&te,Ht.domain=h?xt.domain:void 0,Zt.state===Qt?Zt.reactions.add(Ht):F(function(){Pe(Ht,Zt)}),Ht.promise}),re=function(){var Tt=new Yt,qt=rt(Tt);this.promise=Tt,this.resolve=de(Ft,qt),this.reject=de(bt,qt)},H.f=yt=function(Tt){return Tt===et||Tt===oe?new re(Tt):Ut(Tt)},!d&&I(z)&&tt!==Object.prototype)){ee=tt.then,nt||T(tt,"then",function(qt,te){var Zt=this;return new et(function(Ht,He){y(ee,Zt,Ht,He)}).then(qt,te)},{unsafe:!0});try{delete tt.constructor}catch(Tt){}$&&$(tt,ot)}u({global:!0,constructor:!0,wrap:!0,forced:J},{Promise:et}),A(et,k,!1,!0),E(k)},function(x,b,r){var u=r(46),d=r(359),h=r(17),p=r(33),y=p("species");x.exports=function(T,$){var A=u(T).constructor,E;return A===void 0||h(E=u(A)[y])?$:d(E)}},function(x,b,r){var u=r(89),d=r(31),h=TypeError;x.exports=function(p){if(u(p))return p;throw new h(d(p)+" is not a constructor")}},function(x,b,r){var u=r(4),d=r(94),h=r(84),p=r(21),y=r(38),T=r(7),$=r(74),A=r(76),E=r(42),R=r(361),I=r(362),O=r(182),C=u.setImmediate,D=u.clearImmediate,M=u.process,F=u.Dispatch,j=u.Function,B=u.MessageChannel,U=u.String,V=0,z={},G="onreadystatechange",H,k,J,q;T(function(){H=u.location});var nt=function(et){if(y(z,et)){var ot=z[et];delete z[et],ot()}},rt=function(et){return function(){nt(et)}},_=function(et){nt(et.data)},tt=function(et){u.postMessage(U(et),H.protocol+"//"+H.host)};(!C||!D)&&(C=function(ot){R(arguments.length,1);var mt=p(ot)?ot:j(ot),gt=A(arguments,1);return z[++V]=function(){d(mt,void 0,gt)},k(V),V},D=function(ot){delete z[ot]},O?k=function(et){M.nextTick(rt(et))}:F&&F.now?k=function(et){F.now(rt(et))}:B&&!I?(J=new B,q=J.port2,J.port1.onmessage=_,k=h(q.postMessage,q)):u.addEventListener&&p(u.postMessage)&&!u.importScripts&&H&&H.protocol!=="file:"&&!T(tt)?(k=tt,u.addEventListener("message",_,!1)):G in E("script")?k=function(et){$.appendChild(E("script"))[G]=function(){$.removeChild(this),nt(et)}}:k=function(et){setTimeout(rt(et),0)}),x.exports={set:C,clear:D}},function(x){var b=TypeError;x.exports=function(r,u){if(r<u)throw new b("Not enough arguments");return r}},function(x,b,r){var u=r(28);x.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(u)},function(x,b,r){var u=r(4),d=r(364),h=r(84),p=r(360).set,y=r(365),T=r(362),$=r(366),A=r(367),E=r(182),R=u.MutationObserver||u.WebKitMutationObserver,I=u.document,O=u.process,C=u.Promise,D=d("queueMicrotask"),M,F,j,B,U;if(!D){var V=new y,z=function(){var G,H;for(E&&(G=O.domain)&&G.exit();H=V.get();)try{H()}catch(k){throw V.head&&M(),k}G&&G.enter()};!T&&!E&&!A&&R&&I?(F=!0,j=I.createTextNode(""),new R(z).observe(j,{characterData:!0}),M=function(){j.data=F=!F}):!$&&C&&C.resolve?(B=C.resolve(void 0),B.constructor=C,U=h(B.then,B),M=function(){U(z)}):E?M=function(){O.nextTick(z)}:(p=h(p,u),M=function(){p(z)}),D=function(G){V.head||M(),V.add(G)}}x.exports=D},function(x,b,r){var u=r(4),d=r(6),h=Object.getOwnPropertyDescriptor;x.exports=function(p){if(!d)return u[p];var y=h(u,p);return y&&y.value}},function(x){var b=function(){this.head=null,this.tail=null};b.prototype={add:function(r){var u={item:r,next:null},d=this.tail;d?d.next=u:this.head=u,this.tail=u},get:function(){var r=this.head;if(r){var u=this.head=r.next;return u===null&&(this.tail=null),r.item}}},x.exports=b},function(x,b,r){var u=r(28);x.exports=/ipad|iphone|ipod/i.test(u)&&typeof Pebble!="undefined"},function(x,b,r){var u=r(28);x.exports=/web0s(?!.*chrome)/i.test(u)},function(x){x.exports=function(b,r){try{arguments.length===1?console.error(b):console.error(b,r)}catch(u){}}},function(x){x.exports=function(b){try{return{error:!1,value:b()}}catch(r){return{error:!0,value:r}}}},function(x,b,r){var u=r(4);x.exports=u.Promise},function(x,b,r){var u=r(4),d=r(370),h=r(21),p=r(67),y=r(50),T=r(33),$=r(183),A=r(36),E=r(27),R=d&&d.prototype,I=T("species"),O=!1,C=h(u.PromiseRejectionEvent),D=p("Promise",function(){var M=y(d),F=M!==String(d);if(!F&&E===66||A&&!(R.catch&&R.finally))return!0;if(!E||E<51||!/native code/.test(M)){var j=new d(function(V){V(1)}),B=function(V){V(function(){},function(){})},U=j.constructor={};if(U[I]=B,O=j.then(function(){})instanceof B,!O)return!0}return!F&&($==="BROWSER"||$==="DENO")&&!C});x.exports={CONSTRUCTOR:D,REJECTION_EVENT:C,SUBCLASSING:O}},function(x,b,r){var u=r(30),d=TypeError,h=function(p){var y,T;this.promise=new p(function($,A){if(y!==void 0||T!==void 0)throw new d("Bad Promise constructor");y=$,T=A}),this.resolve=u(y),this.reject=u(T)};x.exports.f=function(p){return new h(p)}},function(x,b,r){var u=r(3),d=r(8),h=r(30),p=r(372),y=r(369),T=r(130),$=r(374);u({target:"Promise",stat:!0,forced:$},{all:function(E){var R=this,I=p.f(R),O=I.resolve,C=I.reject,D=y(function(){var M=h(R.resolve),F=[],j=0,B=1;T(E,function(U){var V=j++,z=!1;B++,d(M,R,U).then(function(G){z||(z=!0,F[V]=G,--B||O(F))},C)}),--B||O(F)});return D.error&&C(D.value),I.promise}})},function(x,b,r){var u=r(370),d=r(164),h=r(371).CONSTRUCTOR;x.exports=h||!d(function(p){u.all(p).then(void 0,function(){})})},function(x,b,r){var u=r(3),d=r(36),h=r(371).CONSTRUCTOR,p=r(370),y=r(23),T=r(21),$=r(47),A=p&&p.prototype;if(u({target:"Promise",proto:!0,forced:h,real:!0},{catch:function(R){return this.then(void 0,R)}}),!d&&T(p)){var E=y("Promise").prototype.catch;A.catch!==E&&$(A,"catch",E,{unsafe:!0})}},function(x,b,r){var u=r(3),d=r(8),h=r(30),p=r(372),y=r(369),T=r(130),$=r(374);u({target:"Promise",stat:!0,forced:$},{race:function(E){var R=this,I=p.f(R),O=I.reject,C=y(function(){var D=h(R.resolve);T(E,function(M){d(D,R,M).then(I.resolve,O)})});return C.error&&O(C.value),I.promise}})},function(x,b,r){var u=r(3),d=r(372),h=r(371).CONSTRUCTOR;u({target:"Promise",stat:!0,forced:h},{reject:function(y){var T=d.f(this),$=T.reject;return $(y),T.promise}})},function(x,b,r){var u=r(3),d=r(23),h=r(36),p=r(370),y=r(371).CONSTRUCTOR,T=r(379),$=d("Promise"),A=h&&!y;u({target:"Promise",stat:!0,forced:h||y},{resolve:function(R){return T(A&&this===$?p:this,R)}})},function(x,b,r){var u=r(46),d=r(20),h=r(372);x.exports=function(p,y){if(u(p),d(y)&&y.constructor===p)return y;var T=h.f(p),$=T.resolve;return $(y),T.promise}},function(x,b,r){var u=r(3),d=r(8),h=r(30),p=r(372),y=r(369),T=r(130),$=r(374);u({target:"Promise",stat:!0,forced:$},{allSettled:function(E){var R=this,I=p.f(R),O=I.resolve,C=I.reject,D=y(function(){var M=h(R.resolve),F=[],j=0,B=1;T(E,function(U){var V=j++,z=!1;B++,d(M,R,U).then(function(G){z||(z=!0,F[V]={status:"fulfilled",value:G},--B||O(F))},function(G){z||(z=!0,F[V]={status:"rejected",reason:G},--B||O(F))})}),--B||O(F)});return D.error&&C(D.value),I.promise}})},function(x,b,r){var u=r(3),d=r(8),h=r(30),p=r(23),y=r(372),T=r(369),$=r(130),A=r(374),E="No one promise resolved";u({target:"Promise",stat:!0,forced:A},{any:function(I){var O=this,C=p("AggregateError"),D=y.f(O),M=D.resolve,F=D.reject,j=T(function(){var B=h(O.resolve),U=[],V=0,z=1,G=!1;$(I,function(H){var k=V++,J=!1;z++,d(B,O,H).then(function(q){J||G||(G=!0,M(q))},function(q){J||G||(J=!0,U[k]=q,--z||F(new C(U,E)))})}),--z||F(new C(U,E))});return j.error&&F(j.value),D.promise}})},function(x,b,r){var u=r(3),d=r(36),h=r(370),p=r(7),y=r(23),T=r(21),$=r(358),A=r(379),E=r(47),R=h&&h.prototype,I=!!h&&p(function(){R.finally.call({then:function(){}},function(){})});if(u({target:"Promise",proto:!0,real:!0,forced:I},{finally:function(C){var D=$(this,y("Promise")),M=T(C);return this.then(M?function(F){return A(D,C()).then(function(){return F})}:C,M?function(F){return A(D,C()).then(function(){throw F})}:C)}}),!d&&T(h)){var O=y("Promise").prototype.finally;R.finally!==O&&E(R,"finally",O,{unsafe:!0})}},function(x,b,r){var u=r(3),d=r(4),h=r(94),p=r(76),y=r(372),T=r(30),$=r(369),A=d.Promise,E=!1,R=!A||!A.try||$(function(){A.try(function(I){E=I===8},8)}).error||!E;u({target:"Promise",stat:!0,forced:R},{try:function(I){var O=arguments.length>1?p(arguments,1):[],C=y.f(this),D=$(function(){return h(T(I),void 0,O)});return(D.error?C.reject:C.resolve)(D.value),C.promise}})},function(x,b,r){var u=r(3),d=r(372);u({target:"Promise",stat:!0},{withResolvers:function(){var p=d.f(this);return{promise:p.promise,resolve:p.resolve,reject:p.reject}}})},function(x,b,r){var u=r(3),d=r(94),h=r(30),p=r(46),y=r(7),T=!y(function(){Reflect.apply(function(){})});u({target:"Reflect",stat:!0,forced:T},{apply:function(A,E,R){return d(h(A),E,p(R))}})},function(x,b,r){var u=r(3),d=r(23),h=r(94),p=r(246),y=r(359),T=r(46),$=r(20),A=r(71),E=r(7),R=d("Reflect","construct"),I=Object.prototype,O=[].push,C=E(function(){function F(){}return!(R(function(){},[],F)instanceof F)}),D=!E(function(){R(function(){})}),M=C||D;u({target:"Reflect",stat:!0,forced:M,sham:M},{construct:function(j,B){y(j),T(B);var U=arguments.length<3?j:y(arguments[2]);if(D&&!C)return R(j,B,U);if(j===U){switch(B.length){case 0:return new j;case 1:return new j(B[0]);case 2:return new j(B[0],B[1]);case 3:return new j(B[0],B[1],B[2]);case 4:return new j(B[0],B[1],B[2],B[3])}var V=[null];return h(O,V,B),new(h(p,j,V))}var z=U.prototype,G=A($(z)?z:I),H=h(j,G,B);return $(H)?H:G}})},function(x,b,r){var u=r(3),d=r(6),h=r(46),p=r(18),y=r(44),T=r(7),$=T(function(){Reflect.defineProperty(y.f({},1,{value:1}),1,{value:2})});u({target:"Reflect",stat:!0,forced:$,sham:!d},{defineProperty:function(E,R,I){h(E);var O=p(R);h(I);try{return y.f(E,O,I),!0}catch(C){return!1}}})},function(x,b,r){var u=r(3),d=r(46),h=r(5).f;u({target:"Reflect",stat:!0},{deleteProperty:function(y,T){var $=h(d(y),T);return $&&!$.configurable?!1:delete y[T]}})},function(x,b,r){var u=r(3),d=r(8),h=r(20),p=r(46),y=r(390),T=r(5),$=r(128);function A(E,R){var I=arguments.length<3?E:arguments[2],O,C;if(p(E)===I)return E[R];if(O=T.f(E,R),O)return y(O)?O.value:O.get===void 0?void 0:d(O.get,I);if(h(C=$(E)))return A(C,R,I)}u({target:"Reflect",stat:!0},{get:A})},function(x,b,r){var u=r(38);x.exports=function(d){return d!==void 0&&(u(d,"value")||u(d,"writable"))}},function(x,b,r){var u=r(3),d=r(6),h=r(46),p=r(5);u({target:"Reflect",stat:!0,sham:!d},{getOwnPropertyDescriptor:function(T,$){return p.f(h(T),$)}})},function(x,b,r){var u=r(3),d=r(46),h=r(128),p=r(129);u({target:"Reflect",stat:!0,sham:!p},{getPrototypeOf:function(T){return h(d(T))}})},function(x,b,r){var u=r(3);u({target:"Reflect",stat:!0},{has:function(h,p){return p in h}})},function(x,b,r){var u=r(3),d=r(46),h=r(274);u({target:"Reflect",stat:!0},{isExtensible:function(y){return d(y),h(y)}})},function(x,b,r){var u=r(3),d=r(56);u({target:"Reflect",stat:!0},{ownKeys:d})},function(x,b,r){var u=r(3),d=r(23),h=r(46),p=r(276);u({target:"Reflect",stat:!0,sham:!p},{preventExtensions:function(T){h(T);try{var $=d("Object","preventExtensions");return $&&$(T),!0}catch(A){return!1}}})},function(x,b,r){var u=r(3),d=r(8),h=r(46),p=r(20),y=r(390),T=r(7),$=r(44),A=r(5),E=r(128),R=r(11);function I(C,D,M){var F=arguments.length<4?C:arguments[3],j=A.f(h(C),D),B,U,V;if(!j){if(p(U=E(C)))return I(U,D,M,F);j=R(0)}if(y(j)){if(j.writable===!1||!p(F))return!1;if(B=A.f(F,D)){if(B.get||B.set||B.writable===!1)return!1;B.value=M,$.f(F,D,B)}else $.f(F,D,R(0,M))}else{if(V=j.set,V===void 0)return!1;d(V,F,M)}return!0}var O=T(function(){var C=function(){},D=$.f(new C,"a",{configurable:!0});return Reflect.set(C.prototype,"a",1,D)!==!1});u({target:"Reflect",stat:!0,forced:O},{set:I})},function(x,b,r){var u=r(3),d=r(46),h=r(115),p=r(113);p&&u({target:"Reflect",stat:!0},{setPrototypeOf:function(T,$){d(T),h($);try{return p(T,$),!0}catch(A){return!1}}})},function(x,b,r){var u=r(3),d=r(4),h=r(82);u({global:!0},{Reflect:{}}),h(d.Reflect,"Reflect",!0)},function(x,b,r){var u=r(6),d=r(4),h=r(14),p=r(67),y=r(118),T=r(43),$=r(71),A=r(57).f,E=r(24),R=r(401),I=r(68),O=r(402),C=r(404),D=r(117),M=r(47),F=r(7),j=r(38),B=r(51).enforce,U=r(194),V=r(33),z=r(405),G=r(406),H=V("match"),k=d.RegExp,J=k.prototype,q=d.SyntaxError,nt=h(J.exec),rt=h("".charAt),_=h("".replace),tt=h("".indexOf),et=h("".slice),ot=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,mt=/a/g,gt=/a/g,xt=new k(mt)!==mt,yt=C.MISSED_STICKY,Ut=C.UNSUPPORTED_Y,Dt=u&&(!xt||yt||z||G||F(function(){return gt[H]=!1,k(mt)!==mt||k(gt)===gt||String(k(mt,"i"))!=="/a/i"})),Xt=function(ae){for(var Mt=ae.length,Yt=0,re="",oe=!1,ee;Yt<=Mt;Yt++){if(ee=rt(ae,Yt),ee==="\\"){re+=ee+rt(ae,++Yt);continue}!oe&&ee==="."?re+="[\\s\\S]":(ee==="["?oe=!0:ee==="]"&&(oe=!1),re+=ee)}return re},kt=function(ae){for(var Mt=ae.length,Yt=0,re="",oe=[],ee=$(null),fe=!1,Pe=!1,Me=0,$e="",ce;Yt<=Mt;Yt++){if(ce=rt(ae,Yt),ce==="\\")ce+=rt(ae,++Yt);else if(ce==="]")fe=!1;else if(!fe)switch(!0){case ce==="[":fe=!0;break;case ce==="(":if(re+=ce,et(ae,Yt+1,Yt+3)==="?:")continue;nt(ot,et(ae,Yt+1))&&(Yt+=2,Pe=!0),Me++;continue;case(ce===">"&&Pe):if($e===""||j(ee,$e))throw new q("Invalid capture group name");ee[$e]=!0,oe[oe.length]=[$e,Me],Pe=!1,$e="";continue}Pe?$e+=ce:re+=ce}return[re,oe]};if(p("RegExp",Dt)){for(var Qt=function(Mt,Yt){var re=E(J,this),oe=R(Mt),ee=Yt===void 0,fe=[],Pe=Mt,Me,$e,ce,Ae,Te,de;if(!re&&oe&&ee&&Mt.constructor===Qt)return Mt;if((oe||E(J,Mt))&&(Mt=Mt.source,ee&&(Yt=O(Pe))),Mt=Mt===void 0?"":I(Mt),Yt=Yt===void 0?"":I(Yt),Pe=Mt,z&&"dotAll"in mt&&($e=!!Yt&&tt(Yt,"s")>-1,$e&&(Yt=_(Yt,/s/g,""))),Me=Yt,yt&&"sticky"in mt&&(ce=!!Yt&&tt(Yt,"y")>-1,ce&&Ut&&(Yt=_(Yt,/y/g,""))),G&&(Ae=kt(Mt),Mt=Ae[0],fe=Ae[1]),Te=y(k(Mt,Yt),re?this:J,Qt),($e||ce||fe.length)&&(de=B(Te),$e&&(de.dotAll=!0,de.raw=Qt(Xt(Mt),Me)),ce&&(de.sticky=!0),fe.length&&(de.groups=fe)),Mt!==Pe)try{T(Te,"source",Pe===""?"(?:)":Pe)}catch(bt){}return Te},me=A(k),ge=0;me.length>ge;)D(Qt,k,me[ge++]);J.constructor=Qt,Qt.prototype=J,M(d,"RegExp",Qt,{constructor:!0})}U("RegExp")},function(x,b,r){var u=r(20),d=r(15),h=r(33),p=h("match");x.exports=function(y){var T;return u(y)&&((T=y[p])!==void 0?!!T:d(y)==="RegExp")}},function(x,b,r){var u=r(8),d=r(38),h=r(24),p=r(403),y=RegExp.prototype;x.exports=function(T){var $=T.flags;return $===void 0&&!("flags"in y)&&!d(T,"flags")&&h(y,T)?u(p,T):$}},function(x,b,r){var u=r(46);x.exports=function(){var d=u(this),h="";return d.hasIndices&&(h+="d"),d.global&&(h+="g"),d.ignoreCase&&(h+="i"),d.multiline&&(h+="m"),d.dotAll&&(h+="s"),d.unicode&&(h+="u"),d.unicodeSets&&(h+="v"),d.sticky&&(h+="y"),h}},function(x,b,r){var u=r(7),d=r(4),h=d.RegExp,p=u(function(){var $=h("a","y");return $.lastIndex=2,$.exec("abcd")!==null}),y=p||u(function(){return!h("a","y").sticky}),T=p||u(function(){var $=h("^r","gy");return $.lastIndex=2,$.exec("str")!==null});x.exports={BROKEN_CARET:T,MISSED_STICKY:y,UNSUPPORTED_Y:p}},function(x,b,r){var u=r(7),d=r(4),h=d.RegExp;x.exports=u(function(){var p=h(".","s");return!(p.dotAll&&p.test(` +`)&&p.flags==="s")})},function(x,b,r){var u=r(7),d=r(4),h=d.RegExp;x.exports=u(function(){var p=h("(?<a>b)","g");return p.exec("b").groups.a!=="b"||"b".replace(p,"$<a>c")!=="bc"})},function(x,b,r){var u=r(6),d=r(405),h=r(15),p=r(77),y=r(51).get,T=RegExp.prototype,$=TypeError;u&&d&&p(T,"dotAll",{configurable:!0,get:function(){if(this!==T){if(h(this)==="RegExp")return!!y(this).dotAll;throw new $("Incompatible receiver, RegExp required")}}})},function(x,b,r){var u=r(3),d=r(409);u({target:"RegExp",proto:!0,forced:/./.exec!==d},{exec:d})},function(x,b,r){var u=r(8),d=r(14),h=r(68),p=r(403),y=r(404),T=r(34),$=r(71),A=r(51).get,E=r(405),R=r(406),I=T("native-string-replace",String.prototype.replace),O=RegExp.prototype.exec,C=O,D=d("".charAt),M=d("".indexOf),F=d("".replace),j=d("".slice),B=function(){var G=/a/,H=/b*/g;return u(O,G,"a"),u(O,H,"a"),G.lastIndex!==0||H.lastIndex!==0}(),U=y.BROKEN_CARET,V=/()??/.exec("")[1]!==void 0,z=B||V||U||E||R;z&&(C=function(H){var k=this,J=A(k),q=h(H),nt=J.raw,rt,_,tt,et,ot,mt,gt;if(nt)return nt.lastIndex=k.lastIndex,rt=u(C,nt,q),k.lastIndex=nt.lastIndex,rt;var xt=J.groups,yt=U&&k.sticky,Ut=u(p,k),Dt=k.source,Xt=0,kt=q;if(yt&&(Ut=F(Ut,"y",""),M(Ut,"g")===-1&&(Ut+="g"),kt=j(q,k.lastIndex),k.lastIndex>0&&(!k.multiline||k.multiline&&D(q,k.lastIndex-1)!==` +`)&&(Dt="(?: "+Dt+")",kt=" "+kt,Xt++),_=new RegExp("^(?:"+Dt+")",Ut)),V&&(_=new RegExp("^"+Dt+"$(?!\\s)",Ut)),B&&(tt=k.lastIndex),et=u(O,yt?_:k,kt),yt?et?(et.input=j(et.input,Xt),et[0]=j(et[0],Xt),et.index=k.lastIndex,k.lastIndex+=et[0].length):k.lastIndex=0:B&&et&&(k.lastIndex=k.global?et.index+et[0].length:tt),V&&et&&et.length>1&&u(I,et[0],_,function(){for(ot=1;ot<arguments.length-2;ot++)arguments[ot]===void 0&&(et[ot]=void 0)}),et&&xt)for(et.groups=mt=$(null),ot=0;ot<xt.length;ot++)gt=xt[ot],mt[gt[0]]=et[gt[1]];return et}),x.exports=C},function(x,b,r){var u=r(4),d=r(6),h=r(77),p=r(403),y=r(7),T=u.RegExp,$=T.prototype,A=d&&y(function(){var E=!0;try{T(".","d")}catch(j){E=!1}var R={},I="",O=E?"dgimsy":"gimsy",C=function(j,B){Object.defineProperty(R,j,{get:function(){return I+=B,!0}})},D={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};E&&(D.hasIndices="d");for(var M in D)C(M,D[M]);var F=Object.getOwnPropertyDescriptor($,"flags").get.call(R);return F!==O||I!==O});A&&h($,"flags",{configurable:!0,get:p})},function(x,b,r){var u=r(6),d=r(404).MISSED_STICKY,h=r(15),p=r(77),y=r(51).get,T=RegExp.prototype,$=TypeError;u&&d&&p(T,"sticky",{configurable:!0,get:function(){if(this!==T){if(h(this)==="RegExp")return!!y(this).sticky;throw new $("Incompatible receiver, RegExp required")}}})},function(x,b,r){r(408);var u=r(3),d=r(8),h=r(21),p=r(46),y=r(68),T=function(){var A=!1,E=/[ac]/;return E.exec=function(){return A=!0,/./.exec.apply(this,arguments)},E.test("abc")===!0&&A}(),$=/./.test;u({target:"RegExp",proto:!0,forced:!T},{test:function(A){var E=p(this),R=y(A),I=E.exec;if(!h(I))return d($,E,R);var O=d(I,E,R);return O===null?!1:(p(O),!0)}})},function(x,b,r){var u=r(49).PROPER,d=r(47),h=r(46),p=r(68),y=r(7),T=r(402),$="toString",A=RegExp.prototype,E=A[$],R=y(function(){return E.call({source:"a",flags:"b"})!=="/a/b"}),I=u&&E.name!==$;(R||I)&&d(A,$,function(){var C=h(this),D=p(C.source),M=p(T(C));return"/"+D+"/"+M},{unsafe:!0})},function(x,b,r){r(415)},function(x,b,r){var u=r(272),d=r(277);u("Set",function(h){return function(){return h(this,arguments.length?arguments[0]:void 0)}},d)},function(x,b,r){var u=r(3),d=r(417),h=r(425);u({target:"Set",proto:!0,real:!0,forced:!h("difference")},{difference:d})},function(x,b,r){var u=r(418),d=r(419),h=r(420),p=r(423),y=r(424),T=r(421),$=r(422),A=d.has,E=d.remove;x.exports=function(I){var O=u(this),C=y(I),D=h(O);return p(O)<=C.size?T(O,function(M){C.includes(M)&&E(D,M)}):$(C.getIterator(),function(M){A(O,M)&&E(D,M)}),D}},function(x,b,r){var u=r(419).has;x.exports=function(d){return u(d),d}},function(x,b,r){var u=r(14),d=Set.prototype;x.exports={Set,add:u(d.add),has:u(d.has),remove:u(d.delete),proto:d}},function(x,b,r){var u=r(419),d=r(421),h=u.Set,p=u.add;x.exports=function(y){var T=new h;return d(y,function($){p(T,$)}),T}},function(x,b,r){var u=r(14),d=r(422),h=r(419),p=h.Set,y=h.proto,T=u(y.forEach),$=u(y.keys),A=$(new p).next;x.exports=function(E,R,I){return I?d({iterator:$(E),next:A},R):T(E,R)}},function(x,b,r){var u=r(8);x.exports=function(d,h,p){for(var y=p?d:d.iterator,T=d.next,$,A;!($=u(T,y)).done;)if(A=h($.value),A!==void 0)return A}},function(x,b,r){var u=r(114),d=r(419);x.exports=u(d.proto,"size","get")||function(h){return h.size}},function(x,b,r){var u=r(30),d=r(46),h=r(8),p=r(61),y=r(252),T="Invalid size",$=RangeError,A=TypeError,E=Math.max,R=function(I,O){this.set=I,this.size=E(O,0),this.has=u(I.has),this.keys=u(I.keys)};R.prototype={getIterator:function(){return y(d(h(this.keys,this.set)))},includes:function(I){return h(this.has,this.set,I)}},x.exports=function(I){d(I);var O=+I.size;if(O!==O)throw new A(T);var C=p(O);if(C<0)throw new $(T);return new R(I,C)}},function(x,b,r){var u=r(23),d=function(h){return{size:h,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}};x.exports=function(h){var p=u("Set");try{new p()[h](d(0));try{return new p()[h](d(-1)),!1}catch(y){return!0}}catch(y){return!1}}},function(x,b,r){var u=r(3),d=r(7),h=r(427),p=r(425),y=!p("intersection")||d(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});u({target:"Set",proto:!0,real:!0,forced:y},{intersection:h})},function(x,b,r){var u=r(418),d=r(419),h=r(423),p=r(424),y=r(421),T=r(422),$=d.Set,A=d.add,E=d.has;x.exports=function(I){var O=u(this),C=p(I),D=new $;return h(O)>C.size?T(C.getIterator(),function(M){E(O,M)&&A(D,M)}):y(O,function(M){C.includes(M)&&A(D,M)}),D}},function(x,b,r){var u=r(3),d=r(429),h=r(425);u({target:"Set",proto:!0,real:!0,forced:!h("isDisjointFrom")},{isDisjointFrom:d})},function(x,b,r){var u=r(418),d=r(419).has,h=r(423),p=r(424),y=r(421),T=r(422),$=r(135);x.exports=function(E){var R=u(this),I=p(E);if(h(R)<=I.size)return y(R,function(C){if(I.includes(C))return!1},!0)!==!1;var O=I.getIterator();return T(O,function(C){if(d(R,C))return $(O,"normal",!1)})!==!1}},function(x,b,r){var u=r(3),d=r(431),h=r(425);u({target:"Set",proto:!0,real:!0,forced:!h("isSubsetOf")},{isSubsetOf:d})},function(x,b,r){var u=r(418),d=r(423),h=r(421),p=r(424);x.exports=function(T){var $=u(this),A=p(T);return d($)>A.size?!1:h($,function(E){if(!A.includes(E))return!1},!0)!==!1}},function(x,b,r){var u=r(3),d=r(433),h=r(425);u({target:"Set",proto:!0,real:!0,forced:!h("isSupersetOf")},{isSupersetOf:d})},function(x,b,r){var u=r(418),d=r(419).has,h=r(423),p=r(424),y=r(422),T=r(135);x.exports=function(A){var E=u(this),R=p(A);if(h(E)<R.size)return!1;var I=R.getIterator();return y(I,function(O){if(!d(E,O))return T(I,"normal",!1)})!==!1}},function(x,b,r){var u=r(3),d=r(435),h=r(425);u({target:"Set",proto:!0,real:!0,forced:!h("symmetricDifference")},{symmetricDifference:d})},function(x,b,r){var u=r(418),d=r(419),h=r(420),p=r(424),y=r(422),T=d.add,$=d.has,A=d.remove;x.exports=function(R){var I=u(this),O=p(R).getIterator(),C=h(I);return y(O,function(D){$(I,D)?A(C,D):T(C,D)}),C}},function(x,b,r){var u=r(3),d=r(437),h=r(425);u({target:"Set",proto:!0,real:!0,forced:!h("union")},{union:d})},function(x,b,r){var u=r(418),d=r(419).add,h=r(420),p=r(424),y=r(422);x.exports=function($){var A=u(this),E=p($).getIterator(),R=h(A);return y(E,function(I){d(R,I)}),R}},function(x,b,r){var u=r(3),d=r(14),h=r(16),p=r(61),y=r(68),T=r(7),$=d("".charAt),A=T(function(){return"\u{20BB7}".at(-2)!=="\uD842"});u({target:"String",proto:!0,forced:A},{at:function(R){var I=y(h(this)),O=I.length,C=p(R),D=C>=0?C:O+C;return D<0||D>=O?void 0:$(I,D)}})},function(x,b,r){var u=r(3),d=r(440).codeAt;u({target:"String",proto:!0},{codePointAt:function(p){return d(this,p)}})},function(x,b,r){var u=r(14),d=r(61),h=r(68),p=r(16),y=u("".charAt),T=u("".charCodeAt),$=u("".slice),A=function(E){return function(R,I){var O=h(p(R)),C=d(I),D=O.length,M,F;return C<0||C>=D?E?"":void 0:(M=T(O,C),M<55296||M>56319||C+1===D||(F=T(O,C+1))<56320||F>57343?E?y(O,C):M:E?$(O,C,C+2):(M-55296<<10)+(F-56320)+65536)}};x.exports={codeAt:A(!1),charAt:A(!0)}},function(x,b,r){var u=r(3),d=r(85),h=r(5).f,p=r(64),y=r(68),T=r(442),$=r(16),A=r(443),E=r(36),R=d("".slice),I=Math.min,O=A("endsWith"),C=!E&&!O&&!!function(){var D=h(String.prototype,"endsWith");return D&&!D.writable}();u({target:"String",proto:!0,forced:!C&&!O},{endsWith:function(M){var F=y($(this));T(M);var j=arguments.length>1?arguments[1]:void 0,B=F.length,U=j===void 0?B:I(p(j),B),V=y(M);return R(F,U-V.length,U)===V}})},function(x,b,r){var u=r(401),d=TypeError;x.exports=function(h){if(u(h))throw new d("The method doesn't accept regular expressions");return h}},function(x,b,r){var u=r(33),d=u("match");x.exports=function(h){var p=/./;try{"/./"[h](p)}catch(y){try{return p[d]=!1,"/./"[h](p)}catch(T){}}return!1}},function(x,b,r){var u=r(3),d=r(14),h=r(60),p=RangeError,y=String.fromCharCode,T=String.fromCodePoint,$=d([].join),A=!!T&&T.length!==1;u({target:"String",stat:!0,arity:1,forced:A},{fromCodePoint:function(R){for(var I=[],O=arguments.length,C=0,D;O>C;){if(D=+arguments[C++],h(D,1114111)!==D)throw new p(D+" is not a valid code point");I[C]=D<65536?y(D):y(((D-=65536)>>10)+55296,D%1024+56320)}return $(I,"")}})},function(x,b,r){var u=r(3),d=r(14),h=r(442),p=r(16),y=r(68),T=r(443),$=d("".indexOf);u({target:"String",proto:!0,forced:!T("includes")},{includes:function(E){return!!~$(y(p(this)),y(h(E)),arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(14),h=r(16),p=r(68),y=d("".charCodeAt);u({target:"String",proto:!0},{isWellFormed:function(){for(var $=p(h(this)),A=$.length,E=0;E<A;E++){var R=y($,E);if((R&63488)===55296&&(R>=56320||++E>=A||(y($,E)&64512)!==56320))return!1}return!0}})},function(x,b,r){var u=r(440).charAt,d=r(68),h=r(51),p=r(169),y=r(172),T="String Iterator",$=h.set,A=h.getterFor(T);p(String,"String",function(E){$(this,{type:T,string:d(E),index:0})},function(){var R=A(this),I=R.string,O=R.index,C;return O>=I.length?y(void 0,!0):(C=u(I,O),R.index+=C.length,y(C,!1))})},function(x,b,r){var u=r(8),d=r(449),h=r(46),p=r(17),y=r(64),T=r(68),$=r(16),A=r(29),E=r(450),R=r(451);d("match",function(I,O,C){return[function(M){var F=$(this),j=p(M)?void 0:A(M,I);return j?u(j,M,F):new RegExp(M)[I](T(F))},function(D){var M=h(this),F=T(D),j=C(O,M,F);if(j.done)return j.value;if(!M.global)return R(M,F);var B=M.unicode;M.lastIndex=0;for(var U=[],V=0,z;(z=R(M,F))!==null;){var G=T(z[0]);U[V]=G,G===""&&(M.lastIndex=E(F,y(M.lastIndex),B)),V++}return V===0?null:U}]})},function(x,b,r){r(408);var u=r(8),d=r(47),h=r(409),p=r(7),y=r(33),T=r(43),$=y("species"),A=RegExp.prototype;x.exports=function(E,R,I,O){var C=y(E),D=!p(function(){var B={};return B[C]=function(){return 7},""[E](B)!==7}),M=D&&!p(function(){var B=!1,U=/a/;return E==="split"&&(U={},U.constructor={},U.constructor[$]=function(){return U},U.flags="",U[C]=/./[C]),U.exec=function(){return B=!0,null},U[C](""),!B});if(!D||!M||I){var F=/./[C],j=R(C,""[E],function(B,U,V,z,G){var H=U.exec;return H===h||H===A.exec?D&&!G?{done:!0,value:u(F,U,V,z)}:{done:!0,value:u(B,V,U,z)}:{done:!1}});d(String.prototype,E,j[0]),d(A,C,j[1])}O&&T(A[C],"sham",!0)}},function(x,b,r){var u=r(440).charAt;x.exports=function(d,h,p){return h+(p?u(d,h).length:1)}},function(x,b,r){var u=r(8),d=r(46),h=r(21),p=r(15),y=r(409),T=TypeError;x.exports=function($,A){var E=$.exec;if(h(E)){var R=u(E,$,A);return R!==null&&d(R),R}if(p($)==="RegExp")return u(y,$,A);throw new T("RegExp#exec called on incompatible receiver")}},function(x,b,r){var u=r(3),d=r(8),h=r(85),p=r(170),y=r(172),T=r(16),$=r(64),A=r(68),E=r(46),R=r(17),I=r(15),O=r(401),C=r(402),D=r(29),M=r(47),F=r(7),j=r(33),B=r(358),U=r(450),V=r(451),z=r(51),G=r(36),H=j("matchAll"),k="RegExp String",J=k+" Iterator",q=z.set,nt=z.getterFor(J),rt=RegExp.prototype,_=TypeError,tt=h("".indexOf),et=h("".matchAll),ot=!!et&&!F(function(){et("a",/./)}),mt=p(function(yt,Ut,Dt,Xt){q(this,{type:J,regexp:yt,string:Ut,global:Dt,unicode:Xt,done:!1})},k,function(){var yt=nt(this);if(yt.done)return y(void 0,!0);var Ut=yt.regexp,Dt=yt.string,Xt=V(Ut,Dt);return Xt===null?(yt.done=!0,y(void 0,!0)):yt.global?(A(Xt[0])===""&&(Ut.lastIndex=U(Dt,$(Ut.lastIndex),yt.unicode)),y(Xt,!1)):(yt.done=!0,y(Xt,!1))}),gt=function(xt){var yt=E(this),Ut=A(xt),Dt=B(yt,RegExp),Xt=A(C(yt)),kt,Qt,me;return kt=new Dt(Dt===RegExp?yt.source:yt,Xt),Qt=!!~tt(Xt,"g"),me=!!~tt(Xt,"u"),kt.lastIndex=$(yt.lastIndex),new mt(kt,Ut,Qt,me)};u({target:"String",proto:!0,forced:ot},{matchAll:function(yt){var Ut=T(this),Dt,Xt,kt,Qt;if(R(yt)){if(ot)return et(Ut,yt)}else{if(O(yt)&&(Dt=A(T(C(yt))),!~tt(Dt,"g")))throw new _("`.matchAll` does not allow non-global regexes");if(ot)return et(Ut,yt);if(kt=D(yt,H),kt===void 0&&G&&I(yt)==="RegExp"&&(kt=gt),kt)return d(kt,yt,Ut)}return Xt=A(Ut),Qt=new RegExp(yt,"g"),G?d(gt,Qt,Xt):Qt[H](Xt)}}),G||H in rt||M(rt,H,gt)},function(x,b,r){var u=r(3),d=r(238).end,h=r(454);u({target:"String",proto:!0,forced:h},{padEnd:function(y){return d(this,y,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(28);x.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(u)},function(x,b,r){var u=r(3),d=r(238).start,h=r(454);u({target:"String",proto:!0,forced:h},{padStart:function(y){return d(this,y,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(14),h=r(12),p=r(39),y=r(68),T=r(63),$=d([].push),A=d([].join);u({target:"String",stat:!0},{raw:function(R){var I=h(p(R).raw),O=T(I);if(!O)return"";for(var C=arguments.length,D=[],M=0;;){if($(D,y(I[M++])),M===O)return A(D,"");M<C&&$(D,y(arguments[M]))}}})},function(x,b,r){var u=r(3),d=r(239);u({target:"String",proto:!0},{repeat:d})},function(x,b,r){var u=r(94),d=r(8),h=r(14),p=r(449),y=r(7),T=r(46),$=r(21),A=r(17),E=r(61),R=r(64),I=r(68),O=r(16),C=r(450),D=r(29),M=r(459),F=r(451),j=r(33),B=j("replace"),U=Math.max,V=Math.min,z=h([].concat),G=h([].push),H=h("".indexOf),k=h("".slice),J=function(_){return _===void 0?_:String(_)},q=function(){return"a".replace(/./,"$0")==="$0"}(),nt=function(){return/./[B]?/./[B]("a","$0")==="":!1}(),rt=!y(function(){var _=/./;return _.exec=function(){var tt=[];return tt.groups={a:"7"},tt},"".replace(_,"$<a>")!=="7"});p("replace",function(_,tt,et){var ot=nt?"$":"$0";return[function(gt,xt){var yt=O(this),Ut=A(gt)?void 0:D(gt,B);return Ut?d(Ut,gt,yt,xt):d(tt,I(yt),gt,xt)},function(mt,gt){var xt=T(this),yt=I(mt);if(typeof gt=="string"&&H(gt,ot)===-1&&H(gt,"$<")===-1){var Ut=et(tt,xt,yt,gt);if(Ut.done)return Ut.value}var Dt=$(gt);Dt||(gt=I(gt));var Xt=xt.global,kt;Xt&&(kt=xt.unicode,xt.lastIndex=0);for(var Qt=[],me;me=F(xt,yt),!(me===null||(G(Qt,me),!Xt));){var ge=I(me[0]);ge===""&&(xt.lastIndex=C(yt,R(xt.lastIndex),kt))}for(var ae="",Mt=0,Yt=0;Yt<Qt.length;Yt++){me=Qt[Yt];for(var re=I(me[0]),oe=U(V(E(me.index),yt.length),0),ee=[],fe,Pe=1;Pe<me.length;Pe++)G(ee,J(me[Pe]));var Me=me.groups;if(Dt){var $e=z([re],ee,oe,yt);Me!==void 0&&G($e,Me),fe=I(u(gt,void 0,$e))}else fe=M(re,yt,oe,ee,Me,gt);oe>=Mt&&(ae+=k(yt,Mt,oe)+fe,Mt=oe+re.length)}return ae+k(yt,Mt)}]},!rt||!q||nt)},function(x,b,r){var u=r(14),d=r(39),h=Math.floor,p=u("".charAt),y=u("".replace),T=u("".slice),$=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,A=/\$([$&'`]|\d{1,2})/g;x.exports=function(E,R,I,O,C,D){var M=I+E.length,F=O.length,j=A;return C!==void 0&&(C=d(C),j=$),y(D,j,function(B,U){var V;switch(p(U,0)){case"$":return"$";case"&":return E;case"`":return T(R,0,I);case"'":return T(R,M);case"<":V=C[T(U,1,-1)];break;default:var z=+U;if(z===0)return B;if(z>F){var G=h(z/10);return G===0?B:G<=F?O[G-1]===void 0?p(U,1):O[G-1]+p(U,1):B}V=O[z-1]}return V===void 0?"":V})}},function(x,b,r){var u=r(3),d=r(8),h=r(14),p=r(16),y=r(21),T=r(17),$=r(401),A=r(68),E=r(29),R=r(402),I=r(459),O=r(33),C=r(36),D=O("replace"),M=TypeError,F=h("".indexOf),j=h("".replace),B=h("".slice),U=Math.max;u({target:"String",proto:!0},{replaceAll:function(z,G){var H=p(this),k,J,q,nt,rt,_,tt,et,ot,mt,gt=0,xt="";if(!T(z)){if(k=$(z),k&&(J=A(p(R(z))),!~F(J,"g")))throw new M("`.replaceAll` does not allow non-global regexes");if(q=E(z,D),q)return d(q,z,H,G);if(C&&k)return j(A(H),z,G)}for(nt=A(H),rt=A(z),_=y(G),_||(G=A(G)),tt=rt.length,et=U(1,tt),ot=F(nt,rt);ot!==-1;)mt=_?A(G(rt,ot,nt)):I(rt,nt,ot,[],void 0,G),xt+=B(nt,gt,ot)+mt,gt=ot+tt,ot=ot+et>nt.length?-1:F(nt,rt,ot+et);return gt<nt.length&&(xt+=B(nt,gt)),xt}})},function(x,b,r){var u=r(8),d=r(449),h=r(46),p=r(17),y=r(16),T=r(340),$=r(68),A=r(29),E=r(451);d("search",function(R,I,O){return[function(D){var M=y(this),F=p(D)?void 0:A(D,R);return F?u(F,D,M):new RegExp(D)[R]($(M))},function(C){var D=h(this),M=$(C),F=O(I,D,M);if(F.done)return F.value;var j=D.lastIndex;T(j,0)||(D.lastIndex=0);var B=E(D,M);return T(D.lastIndex,j)||(D.lastIndex=j),B===null?-1:B.index}]})},function(x,b,r){var u=r(8),d=r(14),h=r(449),p=r(46),y=r(17),T=r(16),$=r(358),A=r(450),E=r(64),R=r(68),I=r(29),O=r(451),C=r(404),D=r(7),M=C.UNSUPPORTED_Y,F=4294967295,j=Math.min,B=d([].push),U=d("".slice),V=!D(function(){var G=/(?:)/,H=G.exec;G.exec=function(){return H.apply(this,arguments)};var k="ab".split(G);return k.length!==2||k[0]!=="a"||k[1]!=="b"}),z="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;h("split",function(G,H,k){var J="0".split(void 0,0).length?function(q,nt){return q===void 0&&nt===0?[]:u(H,this,q,nt)}:H;return[function(nt,rt){var _=T(this),tt=y(nt)?void 0:I(nt,G);return tt?u(tt,nt,_,rt):u(J,R(_),nt,rt)},function(q,nt){var rt=p(this),_=R(q);if(!z){var tt=k(J,rt,_,nt,J!==H);if(tt.done)return tt.value}var et=$(rt,RegExp),ot=rt.unicode,mt=(rt.ignoreCase?"i":"")+(rt.multiline?"m":"")+(rt.unicode?"u":"")+(M?"g":"y"),gt=new et(M?"^(?:"+rt.source+")":rt,mt),xt=nt===void 0?F:nt>>>0;if(xt===0)return[];if(_.length===0)return O(gt,_)===null?[_]:[];for(var yt=0,Ut=0,Dt=[];Ut<_.length;){gt.lastIndex=M?0:Ut;var Xt=O(gt,M?U(_,Ut):_),kt;if(Xt===null||(kt=j(E(gt.lastIndex+(M?Ut:0)),_.length))===yt)Ut=A(_,Ut,ot);else{if(B(Dt,U(_,yt,Ut)),Dt.length===xt)return Dt;for(var Qt=1;Qt<=Xt.length-1;Qt++)if(B(Dt,Xt[Qt]),Dt.length===xt)return Dt;Ut=yt=kt}}return B(Dt,U(_,yt)),Dt}]},z||!V,M)},function(x,b,r){var u=r(3),d=r(85),h=r(5).f,p=r(64),y=r(68),T=r(442),$=r(16),A=r(443),E=r(36),R=d("".slice),I=Math.min,O=A("startsWith"),C=!E&&!O&&!!function(){var D=h(String.prototype,"startsWith");return D&&!D.writable}();u({target:"String",proto:!0,forced:!C&&!O},{startsWith:function(M){var F=y($(this));T(M);var j=p(I(arguments.length>1?arguments[1]:void 0,F.length)),B=y(M);return R(F,j,j+B.length)===B}})},function(x,b,r){var u=r(3),d=r(14),h=r(16),p=r(61),y=r(68),T=d("".slice),$=Math.max,A=Math.min,E=!"".substr||"ab".substr(-1)!=="b";u({target:"String",proto:!0,forced:E},{substr:function(I,O){var C=y(h(this)),D=C.length,M=p(I),F,j;return M===1/0&&(M=0),M<0&&(M=$(D+M,0)),F=O===void 0?D:p(O),F<=0||F===1/0?"":(j=A(M+F,D),M>=j?"":T(C,M,j))}})},function(x,b,r){var u=r(3),d=r(8),h=r(14),p=r(16),y=r(68),T=r(7),$=Array,A=h("".charAt),E=h("".charCodeAt),R=h([].join),I="".toWellFormed,O="\uFFFD",C=I&&T(function(){return d(I,1)!=="1"});u({target:"String",proto:!0,forced:C},{toWellFormed:function(){var M=y(p(this));if(C)return d(I,M);for(var F=M.length,j=$(F),B=0;B<F;B++){var U=E(M,B);(U&63488)!==55296?j[B]=A(M,B):U>=56320||B+1>=F||(E(M,B+1)&64512)!==56320?j[B]=O:(j[B]=A(M,B),j[++B]=A(M,B))}return R(j,"")}})},function(x,b,r){var u=r(3),d=r(303).trim,h=r(467);u({target:"String",proto:!0,forced:h("trim")},{trim:function(){return d(this)}})},function(x,b,r){var u=r(49).PROPER,d=r(7),h=r(304),p="\u200B\x85\u180E";x.exports=function(y){return d(function(){return!!h[y]()||p[y]()!==p||u&&h[y].name!==y})}},function(x,b,r){r(469);var u=r(3),d=r(470);u({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==d},{trimEnd:d})},function(x,b,r){var u=r(3),d=r(470);u({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==d},{trimRight:d})},function(x,b,r){var u=r(303).end,d=r(467);x.exports=d("trimEnd")?function(){return u(this)}:"".trimEnd},function(x,b,r){r(472);var u=r(3),d=r(473);u({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==d},{trimStart:d})},function(x,b,r){var u=r(3),d=r(473);u({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==d},{trimLeft:d})},function(x,b,r){var u=r(303).start,d=r(467);x.exports=d("trimStart")?function(){return u(this)}:"".trimStart},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("anchor")},{anchor:function(y){return d(this,"a","name",y)}})},function(x,b,r){var u=r(14),d=r(16),h=r(68),p=/"/g,y=u("".replace);x.exports=function(T,$,A,E){var R=h(d(T)),I="<"+$;return A!==""&&(I+=" "+A+'="'+y(h(E),p,""")+'"'),I+">"+R+"</"+$+">"}},function(x,b,r){var u=r(7);x.exports=function(d){return u(function(){var h=""[d]('"');return h!==h.toLowerCase()||h.split('"').length>3})}},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("big")},{big:function(){return d(this,"big","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("blink")},{blink:function(){return d(this,"blink","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("bold")},{bold:function(){return d(this,"b","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("fixed")},{fixed:function(){return d(this,"tt","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("fontcolor")},{fontcolor:function(y){return d(this,"font","color",y)}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("fontsize")},{fontsize:function(y){return d(this,"font","size",y)}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("italics")},{italics:function(){return d(this,"i","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("link")},{link:function(y){return d(this,"a","href",y)}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("small")},{small:function(){return d(this,"small","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("strike")},{strike:function(){return d(this,"strike","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("sub")},{sub:function(){return d(this,"sub","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("sup")},{sup:function(){return d(this,"sup","","")}})},function(x,b,r){var u=r(490);u("Float32",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(3),d=r(4),h=r(8),p=r(6),y=r(491),T=r(218),$=r(208),A=r(211),E=r(11),R=r(43),I=r(309),O=r(64),C=r(212),D=r(492),M=r(493),F=r(18),j=r(38),B=r(69),U=r(20),V=r(22),z=r(71),G=r(24),H=r(113),k=r(57).f,J=r(494),q=r(83).forEach,nt=r(194),rt=r(77),_=r(44),tt=r(5),et=r(199),ot=r(51),mt=r(118),gt=ot.get,xt=ot.set,yt=ot.enforce,Ut=_.f,Dt=tt.f,Xt=d.RangeError,kt=$.ArrayBuffer,Qt=kt.prototype,me=$.DataView,ge=T.NATIVE_ARRAY_BUFFER_VIEWS,ae=T.TYPED_ARRAY_TAG,Mt=T.TypedArray,Yt=T.TypedArrayPrototype,re=T.isTypedArray,oe="BYTES_PER_ELEMENT",ee="Wrong length",fe=function(Ae,Te){rt(Ae,Te,{configurable:!0,get:function(){return gt(this)[Te]}})},Pe=function(Ae){var Te;return G(Qt,Ae)||(Te=B(Ae))==="ArrayBuffer"||Te==="SharedArrayBuffer"},Me=function(Ae,Te){return re(Ae)&&!V(Te)&&Te in Ae&&I(+Te)&&Te>=0},$e=function(Te,de){return de=F(de),Me(Te,de)?E(2,Te[de]):Dt(Te,de)},ce=function(Te,de,bt){return de=F(de),Me(Te,de)&&U(bt)&&j(bt,"value")&&!j(bt,"get")&&!j(bt,"set")&&!bt.configurable&&(!j(bt,"writable")||bt.writable)&&(!j(bt,"enumerable")||bt.enumerable)?(Te[de]=bt.value,Te):Ut(Te,de,bt)};p?(ge||(tt.f=$e,_.f=ce,fe(Yt,"buffer"),fe(Yt,"byteOffset"),fe(Yt,"byteLength"),fe(Yt,"length")),u({target:"Object",stat:!0,forced:!ge},{getOwnPropertyDescriptor:$e,defineProperty:ce}),x.exports=function(Ae,Te,de){var bt=Ae.match(/\d+/)[0]/8,Ft=Ae+(de?"Clamped":"")+"Array",Tt="get"+Ae,qt="set"+Ae,te=d[Ft],Zt=te,Ht=Zt&&Zt.prototype,He={},Ze=function(Ct,Nt){var Et=gt(Ct);return Et.view[Tt](Nt*bt+Et.byteOffset,!0)},ft=function(Ct,Nt,Et){var ie=gt(Ct);ie.view[qt](Nt*bt+ie.byteOffset,de?M(Et):Et,!0)},It=function(Ct,Nt){Ut(Ct,Nt,{get:function(){return Ze(this,Nt)},set:function(Et){return ft(this,Nt,Et)},enumerable:!0})};ge?y&&(Zt=Te(function(Ct,Nt,Et,ie){return A(Ct,Ht),mt(function(){return U(Nt)?Pe(Nt)?ie!==void 0?new te(Nt,D(Et,bt),ie):Et!==void 0?new te(Nt,D(Et,bt)):new te(Nt):re(Nt)?et(Zt,Nt):h(J,Zt,Nt):new te(C(Nt))}(),Ct,Zt)}),H&&H(Zt,Mt),q(k(te),function(Ct){Ct in Zt||R(Zt,Ct,te[Ct])}),Zt.prototype=Ht):(Zt=Te(function(Ct,Nt,Et,ie){A(Ct,Ht);var we=0,Rt=0,zt,jt,Wt;if(!U(Nt))Wt=C(Nt),jt=Wt*bt,zt=new kt(jt);else if(Pe(Nt)){zt=Nt,Rt=D(Et,bt);var ue=Nt.byteLength;if(ie===void 0){if(ue%bt)throw new Xt(ee);if(jt=ue-Rt,jt<0)throw new Xt(ee)}else if(jt=O(ie)*bt,jt+Rt>ue)throw new Xt(ee);Wt=jt/bt}else return re(Nt)?et(Zt,Nt):h(J,Zt,Nt);for(xt(Ct,{buffer:zt,byteOffset:Rt,byteLength:jt,length:Wt,view:new me(zt)});we<Wt;)It(Ct,we++)}),H&&H(Zt,Mt),Ht=Zt.prototype=z(Yt)),Ht.constructor!==Zt&&R(Ht,"constructor",Zt),yt(Ht).TypedArrayConstructor=Zt,ae&&R(Ht,ae,Ft);var Pt=Zt!==te;He[Ft]=Zt,u({global:!0,constructor:!0,forced:Pt,sham:!ge},He),oe in Zt||R(Zt,oe,bt),oe in Ht||R(Ht,oe,bt),nt(Ft)}):x.exports=function(){}},function(x,b,r){var u=r(4),d=r(7),h=r(164),p=r(218).NATIVE_ARRAY_BUFFER_VIEWS,y=u.ArrayBuffer,T=u.Int8Array;x.exports=!p||!d(function(){T(1)})||!d(function(){new T(-1)})||!h(function($){new T,new T(null),new T(1.5),new T($)},!0)||d(function(){return new T(new y(2),1,void 0).length!==1})},function(x,b,r){var u=r(254),d=RangeError;x.exports=function(h,p){var y=u(h);if(y%p)throw new d("Wrong offset");return y}},function(x){var b=Math.round;x.exports=function(r){var u=b(r);return u<0?0:u>255?255:u&255}},function(x,b,r){var u=r(84),d=r(8),h=r(359),p=r(39),y=r(63),T=r(133),$=r(134),A=r(131),E=r(495),R=r(218).aTypedArrayConstructor,I=r(496);x.exports=function(C){var D=h(this),M=p(C),F=arguments.length,j=F>1?arguments[1]:void 0,B=j!==void 0,U=$(M),V,z,G,H,k,J,q,nt;if(U&&!A(U))for(q=T(M,U),nt=q.next,M=[];!(J=d(nt,q)).done;)M.push(J.value);for(B&&F>2&&(j=u(j,arguments[2])),z=y(M),G=new(R(D))(z),H=E(G),V=0;z>V;V++)k=B?j(M[V],V):M[V],G[V]=H?I(k):+k;return G}},function(x,b,r){var u=r(69);x.exports=function(d){var h=u(d);return h==="BigInt64Array"||h==="BigUint64Array"}},function(x,b,r){var u=r(19),d=TypeError;x.exports=function(h){var p=u(h,"number");if(typeof p=="number")throw new d("Can't convert number to bigint");return BigInt(p)}},function(x,b,r){var u=r(490);u("Float64",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Int8",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Int16",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Int32",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Uint8",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Uint8",function(d){return function(p,y,T){return d(this,p,y,T)}},!0)},function(x,b,r){var u=r(490);u("Uint16",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Uint32",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(218),d=r(63),h=r(61),p=u.aTypedArray,y=u.exportTypedArrayMethod;y("at",function($){var A=p(this),E=d(A),R=h($),I=R>=0?R:E+R;return I<0||I>=E?void 0:A[I]})},function(x,b,r){var u=r(14),d=r(218),h=r(144),p=u(h),y=d.aTypedArray,T=d.exportTypedArrayMethod;T("copyWithin",function(A,E){return p(y(this),A,E,arguments.length>2?arguments[2]:void 0)})},function(x,b,r){var u=r(218),d=r(83).every,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("every",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(149),h=r(496),p=r(69),y=r(8),T=r(14),$=r(7),A=u.aTypedArray,E=u.exportTypedArrayMethod,R=T("".slice),I=$(function(){var O=0;return new Int8Array(2).fill({valueOf:function(){return O++}}),O!==1});E("fill",function(C){var D=arguments.length;A(this);var M=R(p(this),0,3)==="Big"?h(C):+C;return y(d,this,M,D>1?arguments[1]:void 0,D>2?arguments[2]:void 0)},I)},function(x,b,r){var u=r(218),d=r(83).filter,h=r(510),p=u.aTypedArray,y=u.exportTypedArrayMethod;y("filter",function($){var A=d(p(this),$,arguments.length>1?arguments[1]:void 0);return h(this,A)})},function(x,b,r){var u=r(199),d=r(218).getTypedArrayConstructor;x.exports=function(h,p){return u(d(h),p)}},function(x,b,r){var u=r(218),d=r(83).find,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("find",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(83).findIndex,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("findIndex",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(154).findLast,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("findLast",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(154).findLastIndex,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("findLastIndex",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(83).forEach,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("forEach",function(T){d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(491),d=r(218).exportTypedArrayStaticMethod,h=r(494);d("from",h,u)},function(x,b,r){var u=r(218),d=r(59).includes,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("includes",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(59).indexOf,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("indexOf",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(4),d=r(7),h=r(14),p=r(218),y=r(168),T=r(33),$=T("iterator"),A=u.Uint8Array,E=h(y.values),R=h(y.keys),I=h(y.entries),O=p.aTypedArray,C=p.exportTypedArrayMethod,D=A&&A.prototype,M=!d(function(){D[$].call([1])}),F=!!D&&D.values&&D[$]===D.values&&D.values.name==="values",j=function(){return E(O(this))};C("entries",function(){return I(O(this))},M),C("keys",function(){return R(O(this))},M),C("values",j,M||!F,{name:"values"}),C($,j,M||!F,{name:"values"})},function(x,b,r){var u=r(218),d=r(14),h=u.aTypedArray,p=u.exportTypedArrayMethod,y=d([].join);p("join",function($){return y(h(this),$)})},function(x,b,r){var u=r(218),d=r(94),h=r(175),p=u.aTypedArray,y=u.exportTypedArrayMethod;y("lastIndexOf",function($){var A=arguments.length;return d(h,p(this),A>1?[$,arguments[1]]:[$])})},function(x,b,r){var u=r(218),d=r(83).map,h=u.aTypedArray,p=u.getTypedArrayConstructor,y=u.exportTypedArrayMethod;y("map",function($){return d(h(this),$,arguments.length>1?arguments[1]:void 0,function(A,E){return new(p(A))(E)})})},function(x,b,r){var u=r(218),d=r(491),h=u.aTypedArrayConstructor,p=u.exportTypedArrayStaticMethod;p("of",function(){for(var T=0,$=arguments.length,A=new(h(this))($);$>T;)A[T]=arguments[T++];return A},d)},function(x,b,r){var u=r(218),d=r(181).left,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("reduce",function(T){var $=arguments.length;return d(h(this),T,$,$>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(181).right,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("reduceRight",function(T){var $=arguments.length;return d(h(this),T,$,$>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=u.aTypedArray,h=u.exportTypedArrayMethod,p=Math.floor;h("reverse",function(){for(var T=this,$=d(T).length,A=p($/2),E=0,R;E<A;)R=T[E],T[E++]=T[--$],T[$]=R;return T})},function(x,b,r){var u=r(4),d=r(8),h=r(218),p=r(63),y=r(492),T=r(39),$=r(7),A=u.RangeError,E=u.Int8Array,R=E&&E.prototype,I=R&&R.set,O=h.aTypedArray,C=h.exportTypedArrayMethod,D=!$(function(){var F=new Uint8ClampedArray(2);return d(I,F,{length:1,0:3},1),F[1]!==3}),M=D&&h.NATIVE_ARRAY_BUFFER_VIEWS&&$(function(){var F=new E(2);return F.set(1),F.set("2",1),F[0]!==0||F[1]!==2});C("set",function(j){O(this);var B=y(arguments.length>1?arguments[1]:void 0,1),U=T(j);if(D)return d(I,this,U,B);var V=this.length,z=p(U),G=0;if(z+B>V)throw new A("Wrong length");for(;G<z;)this[B+G]=U[G++]},!D||M)},function(x,b,r){var u=r(218),d=r(7),h=r(76),p=u.aTypedArray,y=u.getTypedArrayConstructor,T=u.exportTypedArrayMethod,$=d(function(){new Int8Array(1).slice()});T("slice",function(E,R){for(var I=h(p(this),E,R),O=y(this),C=0,D=I.length,M=new O(D);D>C;)M[C]=I[C++];return M},$)},function(x,b,r){var u=r(218),d=r(83).some,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("some",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(4),d=r(85),h=r(7),p=r(30),y=r(189),T=r(218),$=r(190),A=r(191),E=r(27),R=r(192),I=T.aTypedArray,O=T.exportTypedArrayMethod,C=u.Uint16Array,D=C&&d(C.prototype.sort),M=!!D&&!(h(function(){D(new C(2),null)})&&h(function(){D(new C(2),{})})),F=!!D&&!h(function(){if(E)return E<74;if($)return $<67;if(A)return!0;if(R)return R<602;var B=new C(516),U=Array(516),V,z;for(V=0;V<516;V++)z=V%4,B[V]=515-V,U[V]=V-2*z+3;for(D(B,function(G,H){return(G/4|0)-(H/4|0)}),V=0;V<516;V++)if(B[V]!==U[V])return!0}),j=function(B){return function(U,V){return B!==void 0?+B(U,V)||0:V!==V?-1:U!==U?1:U===0&&V===0?1/U>0&&1/V<0?1:-1:U>V}};O("sort",function(U){return U!==void 0&&p(U),F?D(this,U):y(I(this),j(U))},!F||M)},function(x,b,r){var u=r(218),d=r(64),h=r(60),p=u.aTypedArray,y=u.getTypedArrayConstructor,T=u.exportTypedArrayMethod;T("subarray",function(A,E){var R=p(this),I=R.length,O=h(A,I),C=y(R);return new C(R.buffer,R.byteOffset+O*R.BYTES_PER_ELEMENT,d((E===void 0?I:h(E,I))-O))})},function(x,b,r){var u=r(4),d=r(94),h=r(218),p=r(7),y=r(76),T=u.Int8Array,$=h.aTypedArray,A=h.exportTypedArrayMethod,E=[].toLocaleString,R=!!T&&p(function(){E.call(new T(1))}),I=p(function(){return[1,2].toLocaleString()!==new T([1,2]).toLocaleString()})||!p(function(){T.prototype.toLocaleString.call([1,2])});A("toLocaleString",function(){return d(E,R?y($(this)):$(this),y(arguments))},I)},function(x,b,r){var u=r(197),d=r(218),h=d.aTypedArray,p=d.exportTypedArrayMethod,y=d.getTypedArrayConstructor;p("toReversed",function(){return u(h(this),y(this))})},function(x,b,r){var u=r(218),d=r(14),h=r(30),p=r(199),y=u.aTypedArray,T=u.getTypedArrayConstructor,$=u.exportTypedArrayMethod,A=d(u.TypedArrayPrototype.sort);$("toSorted",function(R){R!==void 0&&h(R);var I=y(this),O=p(T(I),I);return A(O,R)})},function(x,b,r){var u=r(218).exportTypedArrayMethod,d=r(7),h=r(4),p=r(14),y=h.Uint8Array,T=y&&y.prototype||{},$=[].toString,A=p([].join);d(function(){$.call({})})&&($=function(){return A(this)});var E=T.toString!==$;u("toString",$,E)},function(x,b,r){var u=r(206),d=r(218),h=r(495),p=r(61),y=r(496),T=d.aTypedArray,$=d.getTypedArrayConstructor,A=d.exportTypedArrayMethod,E=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(R){return R===8}}();A("with",function(R,I){var O=T(this),C=p(R),D=h(O)?y(I):+I;return u(O,$(O),C,D)},!E)},function(x,b,r){var u=r(3),d=r(14),h=r(68),p=String.fromCharCode,y=d("".charAt),T=d(/./.exec),$=d("".slice),A=/^[\da-f]{2}$/i,E=/^[\da-f]{4}$/i;u({global:!0},{unescape:function(I){for(var O=h(I),C="",D=O.length,M=0,F,j;M<D;){if(F=y(O,M++),F==="%"){if(y(O,M)==="u"){if(j=$(O,M+1,M+5),T(E,j)){C+=p(parseInt(j,16)),M+=5;continue}}else if(j=$(O,M,M+2),T(A,j)){C+=p(parseInt(j,16)),M+=2;continue}}C+=F}return C}})},function(x,b,r){r(539)},function(x,b,r){var u=r(276),d=r(4),h=r(14),p=r(210),y=r(273),T=r(272),$=r(540),A=r(20),E=r(51).enforce,R=r(7),I=r(52),O=Object,C=Array.isArray,D=O.isExtensible,M=O.isFrozen,F=O.isSealed,j=O.freeze,B=O.seal,U=!d.ActiveXObject&&"ActiveXObject"in d,V,z=function(_){return function(){return _(this,arguments.length?arguments[0]:void 0)}},G=T("WeakMap",z,$),H=G.prototype,k=h(H.set),J=function(){return u&&R(function(){var _=j([]);return k(new G,_,1),!M(_)})};if(I)if(U){V=$.getConstructor(z,"WeakMap",!0),y.enable();var q=h(H.delete),nt=h(H.has),rt=h(H.get);p(H,{delete:function(_){if(A(_)&&!D(_)){var tt=E(this);return tt.frozen||(tt.frozen=new V),q(this,_)||tt.frozen.delete(_)}return q(this,_)},has:function(tt){if(A(tt)&&!D(tt)){var et=E(this);return et.frozen||(et.frozen=new V),nt(this,tt)||et.frozen.has(tt)}return nt(this,tt)},get:function(tt){if(A(tt)&&!D(tt)){var et=E(this);return et.frozen||(et.frozen=new V),nt(this,tt)?rt(this,tt):et.frozen.get(tt)}return rt(this,tt)},set:function(tt,et){if(A(tt)&&!D(tt)){var ot=E(this);ot.frozen||(ot.frozen=new V),nt(this,tt)?k(this,tt,et):ot.frozen.set(tt,et)}else k(this,tt,et);return this}})}else J()&&p(H,{set:function(tt,et){var ot;return C(tt)&&(M(tt)?ot=j:F(tt)&&(ot=B)),k(this,tt,et),ot&&ot(tt),this}})},function(x,b,r){var u=r(14),d=r(210),h=r(273).getWeakData,p=r(211),y=r(46),T=r(17),$=r(20),A=r(130),E=r(83),R=r(38),I=r(51),O=I.set,C=I.getterFor,D=E.find,M=E.findIndex,F=u([].splice),j=0,B=function(z){return z.frozen||(z.frozen=new U)},U=function(){this.entries=[]},V=function(z,G){return D(z.entries,function(H){return H[0]===G})};U.prototype={get:function(z){var G=V(this,z);if(G)return G[1]},has:function(z){return!!V(this,z)},set:function(z,G){var H=V(this,z);H?H[1]=G:this.entries.push([z,G])},delete:function(z){var G=M(this.entries,function(H){return H[0]===z});return~G&&F(this.entries,G,1),!!~G}},x.exports={getConstructor:function(z,G,H,k){var J=z(function(_,tt){p(_,q),O(_,{type:G,id:j++,frozen:null}),T(tt)||A(tt,_[k],{that:_,AS_ENTRIES:H})}),q=J.prototype,nt=C(G),rt=function(_,tt,et){var ot=nt(_),mt=h(y(tt),!0);return mt===!0?B(ot).set(tt,et):mt[ot.id]=et,_};return d(q,{delete:function(_){var tt=nt(this);if(!$(_))return!1;var et=h(_);return et===!0?B(tt).delete(_):et&&R(et,tt.id)&&delete et[tt.id]},has:function(tt){var et=nt(this);if(!$(tt))return!1;var ot=h(tt);return ot===!0?B(et).has(tt):ot&&R(ot,et.id)}}),d(q,H?{get:function(tt){var et=nt(this);if($(tt)){var ot=h(tt);if(ot===!0)return B(et).get(tt);if(ot)return ot[et.id]}},set:function(tt,et){return rt(this,tt,et)}}:{add:function(tt){return rt(this,tt,!0)}}),J}}},function(x,b,r){r(542)},function(x,b,r){var u=r(272),d=r(540);u("WeakSet",function(h){return function(){return h(this,arguments.length?arguments[0]:void 0)}},d)},function(x,b,r){var u=r(3),d=r(4),h=r(23),p=r(14),y=r(8),T=r(7),$=r(68),A=r(361),E=r(544).c2i,R=/[^\d+/a-z]/i,I=/[\t\n\f\r ]+/g,O=/[=]{1,2}$/,C=h("atob"),D=String.fromCharCode,M=p("".charAt),F=p("".replace),j=p(R.exec),B=!!C&&!T(function(){return C("aGk=")!=="hi"}),U=B&&T(function(){return C(" ")!==""}),V=B&&!T(function(){C("a")}),z=B&&!T(function(){C()}),G=B&&C.length!==1,H=!B||U||V||z||G;u({global:!0,bind:!0,enumerable:!0,forced:H},{atob:function(J){if(A(arguments.length,1),B&&!U&&!V)return y(C,d,J);var q=F($(J),I,""),nt="",rt=0,_=0,tt,et,ot;if(q.length%4===0&&(q=F(q,O,"")),tt=q.length,tt%4===1||j(R,q))throw new(h("DOMException"))("The string is not correctly encoded","InvalidCharacterError");for(;rt<tt;)et=M(q,rt++),ot=_%4?ot*64+E[et]:E[et],_++%4&&(nt+=D(255&ot>>(-2*_&6)));return nt}})},function(x){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=b+"+/",u=b+"-_",d=function(h){for(var p={},y=0;y<64;y++)p[h.charAt(y)]=y;return p};x.exports={i2c:r,c2i:d(r),i2cUrl:u,c2iUrl:d(u)}},function(x,b,r){var u=r(3),d=r(4),h=r(23),p=r(14),y=r(8),T=r(7),$=r(68),A=r(361),E=r(544).i2c,R=h("btoa"),I=p("".charAt),O=p("".charCodeAt),C=!!R&&!T(function(){return R("hi")!=="aGk="}),D=C&&!T(function(){R()}),M=C&&T(function(){return R(null)!=="bnVsbA=="}),F=C&&R.length!==1;u({global:!0,bind:!0,enumerable:!0,forced:!C||D||M||F},{btoa:function(B){if(A(arguments.length,1),C)return y(R,d,$(B));for(var U=$(B),V="",z=0,G=E,H,k;I(U,z)||(G="=",z%1);){if(k=O(U,z+=.75),k>255)throw new(h("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");H=H<<8|k,V+=I(G,63&H>>8-z%1*8)}return V}})},function(x,b,r){var u=r(4),d=r(547),h=r(548),p=r(160),y=r(43),T=function(A){if(A&&A.forEach!==p)try{y(A,"forEach",p)}catch(E){A.forEach=p}};for(var $ in d)d[$]&&T(u[$]&&u[$].prototype);T(h)},function(x){x.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(x,b,r){var u=r(42),d=u("span").classList,h=d&&d.constructor&&d.constructor.prototype;x.exports=h===Object.prototype?void 0:h},function(x,b,r){var u=r(4),d=r(547),h=r(548),p=r(168),y=r(43),T=r(82),$=r(33),A=$("iterator"),E=p.values,R=function(O,C){if(O){if(O[A]!==E)try{y(O,A,E)}catch(M){O[A]=E}if(T(O,C,!0),d[C]){for(var D in p)if(O[D]!==p[D])try{y(O,D,p[D])}catch(M){O[D]=p[D]}}}};for(var I in d)R(u[I]&&u[I].prototype,I);R(h,"DOMTokenList")},function(x,b,r){var u=r(3),d=r(23),h=r(229),p=r(7),y=r(71),T=r(11),$=r(44).f,A=r(47),E=r(77),R=r(38),I=r(211),O=r(46),C=r(125),D=r(119),M=r(551),F=r(122),j=r(51),B=r(6),U=r(36),V="DOMException",z="DATA_CLONE_ERR",G=d("Error"),H=d(V)||function(){try{var Mt=d("MessageChannel")||h("worker_threads").MessageChannel;new Mt().port1.postMessage(new WeakMap)}catch(Yt){if(Yt.name===z&&Yt.code===25)return Yt.constructor}}(),k=H&&H.prototype,J=G.prototype,q=j.set,nt=j.getterFor(V),rt="stack"in new G(V),_=function(Mt){return R(M,Mt)&&M[Mt].m?M[Mt].c:0},tt=function(){I(this,et);var Yt=arguments.length,re=D(Yt<1?void 0:arguments[0]),oe=D(Yt<2?void 0:arguments[1],"Error"),ee=_(oe);if(q(this,{type:V,name:oe,message:re,code:ee}),B||(this.name=oe,this.message=re,this.code=ee),rt){var fe=new G(re);fe.name=V,$(this,"stack",T(1,F(fe.stack,1)))}},et=tt.prototype=y(J),ot=function(Mt){return{enumerable:!0,configurable:!0,get:Mt}},mt=function(Mt){return ot(function(){return nt(this)[Mt]})};B&&(E(et,"code",mt("code")),E(et,"message",mt("message")),E(et,"name",mt("name"))),$(et,"constructor",T(1,tt));var gt=p(function(){return!(new H instanceof G)}),xt=gt||p(function(){return J.toString!==C||String(new H(1,2))!=="2: 1"}),yt=gt||p(function(){return new H(1,"DataCloneError").code!==25}),Ut=gt||H[z]!==25||k[z]!==25,Dt=U?xt||yt||Ut:gt;u({global:!0,constructor:!0,forced:Dt},{DOMException:Dt?tt:H});var Xt=d(V),kt=Xt.prototype;xt&&(U||H===Xt)&&A(kt,"toString",C),yt&&B&&H===Xt&&E(kt,"code",ot(function(){return _(O(this).name)}));for(var Qt in M)if(R(M,Qt)){var me=M[Qt],ge=me.s,ae=T(6,me.c);R(Xt,ge)||$(Xt,ge,ae),R(kt,ge)||$(kt,ge,ae)}},function(x){x.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},function(x,b,r){var u=r(3),d=r(4),h=r(23),p=r(11),y=r(44).f,T=r(38),$=r(211),A=r(118),E=r(119),R=r(551),I=r(122),O=r(6),C=r(36),D="DOMException",M=h("Error"),F=h(D),j=function(){$(this,B);var tt=arguments.length,et=E(tt<1?void 0:arguments[0]),ot=E(tt<2?void 0:arguments[1],"Error"),mt=new F(et,ot),gt=new M(et);return gt.name=D,y(mt,"stack",p(1,I(gt.stack,1))),A(mt,this,j),mt},B=j.prototype=F.prototype,U="stack"in new M(D),V="stack"in new F(1,2),z=F&&O&&Object.getOwnPropertyDescriptor(d,D),G=!!z&&!(z.writable&&z.configurable),H=U&&!G&&!V;u({global:!0,constructor:!0,forced:C||H},{DOMException:H?j:F});var k=h(D),J=k.prototype;if(J.constructor!==k){C||y(J,"constructor",p(1,k));for(var q in R)if(T(R,q)){var nt=R[q],rt=nt.s;T(k,rt)||y(k,rt,p(6,nt.c))}}},function(x,b,r){var u=r(23),d=r(82),h="DOMException";d(u(h),h)},function(x,b,r){r(555),r(556)},function(x,b,r){var u=r(3),d=r(4),h=r(360).clear;u({global:!0,bind:!0,enumerable:!0,forced:d.clearImmediate!==h},{clearImmediate:h})},function(x,b,r){var u=r(3),d=r(4),h=r(360).set,p=r(557),y=d.setImmediate?p(h,!1):h;u({global:!0,bind:!0,enumerable:!0,forced:d.setImmediate!==y},{setImmediate:y})},function(x,b,r){var u=r(4),d=r(94),h=r(21),p=r(183),y=r(28),T=r(76),$=r(361),A=u.Function,E=/MSIE .\./.test(y)||p==="BUN"&&function(){var R=u.Bun.version.split(".");return R.length<3||R[0]==="0"&&(R[1]<3||R[1]==="3"&&R[2]==="0")}();x.exports=function(R,I){var O=I?2:1;return E?function(C,D){var M=$(arguments.length,1)>O,F=h(C)?C:A(C),j=M?T(arguments,O):[],B=M?function(){d(F,this,j)}:F;return I?R(B,D):R(B)}:R}},function(x,b,r){var u=r(3),d=r(4),h=r(363),p=r(30),y=r(361),T=r(7),$=r(6),A=T(function(){return $&&Object.getOwnPropertyDescriptor(d,"queueMicrotask").value.length!==1});u({global:!0,enumerable:!0,dontCallGetSet:!0,forced:A},{queueMicrotask:function(R){y(arguments.length,1),h(p(R))}})},function(x,b,r){var u=r(3),d=r(4),h=r(77),p=r(6),y=TypeError,T=Object.defineProperty,$=d.self!==d;try{if(p){var A=Object.getOwnPropertyDescriptor(d,"self");($||!A||!A.get||!A.enumerable)&&h(d,"self",{get:function(){return d},set:function(R){if(this!==d)throw new y("Illegal invocation");T(d,"self",{value:R,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else u({global:!0,simple:!0,forced:$},{self:d})}catch(E){}},function(x,b,r){var u=r(36),d=r(3),h=r(4),p=r(23),y=r(14),T=r(7),$=r(40),A=r(21),E=r(89),R=r(17),I=r(20),O=r(22),C=r(130),D=r(46),M=r(69),F=r(38),j=r(141),B=r(43),U=r(63),V=r(361),z=r(402),G=r(279),H=r(419),k=r(421),J=r(228),q=r(123),nt=r(230),rt=h.Object,_=h.Array,tt=h.Date,et=h.Error,ot=h.TypeError,mt=h.PerformanceMark,gt=p("DOMException"),xt=G.Map,yt=G.has,Ut=G.get,Dt=G.set,Xt=H.Set,kt=H.add,Qt=H.has,me=p("Object","keys"),ge=y([].push),ae=y((!0).valueOf),Mt=y(1 .valueOf),Yt=y("".valueOf),re=y(tt.prototype.getTime),oe=$("structuredClone"),ee="DataCloneError",fe="Transferring",Pe=function(ft){return!T(function(){var It=new h.Set([7]),Pt=ft(It),Ct=ft(rt(7));return Pt===It||!Pt.has(7)||!I(Ct)||+Ct!=7})&&ft},Me=function(ft,It){return!T(function(){var Pt=new It,Ct=ft({a:Pt,b:Pt});return!(Ct&&Ct.a===Ct.b&&Ct.a instanceof It&&Ct.a.stack===Pt.stack)})},$e=function(ft){return!T(function(){var It=ft(new h.AggregateError([1],oe,{cause:3}));return It.name!=="AggregateError"||It.errors[0]!==1||It.message!==oe||It.cause!==3})},ce=h.structuredClone,Ae=u||!Me(ce,et)||!Me(ce,gt)||!$e(ce),Te=!ce&&Pe(function(ft){return new mt(oe,{detail:ft}).detail}),de=Pe(ce)||Te,bt=function(ft){throw new gt("Uncloneable type: "+ft,ee)},Ft=function(ft,It){throw new gt((It||"Cloning")+" of "+ft+" cannot be properly polyfilled in this engine",ee)},Tt=function(ft,It){return de||Ft(It),de(ft)},qt=function(){var ft;try{ft=new h.DataTransfer}catch(It){try{ft=new h.ClipboardEvent("").clipboardData}catch(Pt){}}return ft&&ft.items&&ft.files?ft:null},te=function(ft,It,Pt){if(yt(It,ft))return Ut(It,ft);var Ct=Pt||M(ft),Nt,Et,ie,we,Rt,zt;if(Ct==="SharedArrayBuffer")de?Nt=de(ft):Nt=ft;else{var jt=h.DataView;!jt&&!A(ft.slice)&&Ft("ArrayBuffer");try{if(A(ft.slice)&&!ft.resizable)Nt=ft.slice(0);else for(Et=ft.byteLength,ie=("maxByteLength"in ft)?{maxByteLength:ft.maxByteLength}:void 0,Nt=new ArrayBuffer(Et,ie),we=new jt(ft),Rt=new jt(Nt),zt=0;zt<Et;zt++)Rt.setUint8(zt,we.getUint8(zt))}catch(Wt){throw new gt("ArrayBuffer is detached",ee)}}return Dt(It,ft,Nt),Nt},Zt=function(ft,It,Pt,Ct,Nt){var Et=h[It];return I(Et)||Ft(It),new Et(te(ft.buffer,Nt),Pt,Ct)},Ht=function(ft,It){if(O(ft)&&bt("Symbol"),!I(ft))return ft;if(It){if(yt(It,ft))return Ut(It,ft)}else It=new xt;var Pt=M(ft),Ct,Nt,Et,ie,we,Rt,zt,jt;switch(Pt){case"Array":Et=_(U(ft));break;case"Object":Et={};break;case"Map":Et=new xt;break;case"Set":Et=new Xt;break;case"RegExp":Et=new RegExp(ft.source,z(ft));break;case"Error":switch(Nt=ft.name,Nt){case"AggregateError":Et=new(p(Nt))([]);break;case"EvalError":case"RangeError":case"ReferenceError":case"SuppressedError":case"SyntaxError":case"TypeError":case"URIError":Et=new(p(Nt));break;case"CompileError":case"LinkError":case"RuntimeError":Et=new(p("WebAssembly",Nt));break;default:Et=new et}break;case"DOMException":Et=new gt(ft.message,ft.name);break;case"ArrayBuffer":case"SharedArrayBuffer":Et=te(ft,It,Pt);break;case"DataView":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float16Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":Rt=Pt==="DataView"?ft.byteLength:ft.length,Et=Zt(ft,Pt,ft.byteOffset,Rt,It);break;case"DOMQuad":try{Et=new DOMQuad(Ht(ft.p1,It),Ht(ft.p2,It),Ht(ft.p3,It),Ht(ft.p4,It))}catch(Wt){Et=Tt(ft,Pt)}break;case"File":if(de)try{Et=de(ft),M(Et)!==Pt&&(Et=void 0)}catch(Wt){}if(!Et)try{Et=new File([ft],ft.name,ft)}catch(Wt){}Et||Ft(Pt);break;case"FileList":if(ie=qt(),ie){for(we=0,Rt=U(ft);we<Rt;we++)ie.items.add(Ht(ft[we],It));Et=ie.files}else Et=Tt(ft,Pt);break;case"ImageData":try{Et=new ImageData(Ht(ft.data,It),ft.width,ft.height,{colorSpace:ft.colorSpace})}catch(Wt){Et=Tt(ft,Pt)}break;default:if(de)Et=de(ft);else switch(Pt){case"BigInt":Et=rt(ft.valueOf());break;case"Boolean":Et=rt(ae(ft));break;case"Number":Et=rt(Mt(ft));break;case"String":Et=rt(Yt(ft));break;case"Date":Et=new tt(re(ft));break;case"Blob":try{Et=ft.slice(0,ft.size,ft.type)}catch(Wt){Ft(Pt)}break;case"DOMPoint":case"DOMPointReadOnly":Ct=h[Pt];try{Et=Ct.fromPoint?Ct.fromPoint(ft):new Ct(ft.x,ft.y,ft.z,ft.w)}catch(Wt){Ft(Pt)}break;case"DOMRect":case"DOMRectReadOnly":Ct=h[Pt];try{Et=Ct.fromRect?Ct.fromRect(ft):new Ct(ft.x,ft.y,ft.width,ft.height)}catch(Wt){Ft(Pt)}break;case"DOMMatrix":case"DOMMatrixReadOnly":Ct=h[Pt];try{Et=Ct.fromMatrix?Ct.fromMatrix(ft):new Ct(ft)}catch(Wt){Ft(Pt)}break;case"AudioData":case"VideoFrame":A(ft.clone)||Ft(Pt);try{Et=ft.clone()}catch(Wt){bt(Pt)}break;case"CropTarget":case"CryptoKey":case"FileSystemDirectoryHandle":case"FileSystemFileHandle":case"FileSystemHandle":case"GPUCompilationInfo":case"GPUCompilationMessage":case"ImageBitmap":case"RTCCertificate":case"WebAssembly.Module":Ft(Pt);default:bt(Pt)}}switch(Dt(It,ft,Et),Pt){case"Array":case"Object":for(zt=me(ft),we=0,Rt=U(zt);we<Rt;we++)jt=zt[we],j(Et,jt,Ht(ft[jt],It));break;case"Map":ft.forEach(function(Wt,ue){Dt(Et,Ht(ue,It),Ht(Wt,It))});break;case"Set":ft.forEach(function(Wt){kt(Et,Ht(Wt,It))});break;case"Error":B(Et,"message",Ht(ft.message,It)),F(ft,"cause")&&B(Et,"cause",Ht(ft.cause,It)),Nt==="AggregateError"?Et.errors=Ht(ft.errors,It):Nt==="SuppressedError"&&(Et.error=Ht(ft.error,It),Et.suppressed=Ht(ft.suppressed,It));case"DOMException":q&&B(Et,"stack",Ht(ft.stack,It))}return Et},He=function(ft,It){if(!I(ft))throw new ot("Transfer option cannot be converted to a sequence");var Pt=[];C(ft,function(ue){ge(Pt,D(ue))});for(var Ct=0,Nt=U(Pt),Et=new Xt,ie,we,Rt,zt,jt,Wt;Ct<Nt;){if(ie=Pt[Ct++],we=M(ie),we==="ArrayBuffer"?Qt(Et,ie):yt(It,ie))throw new gt("Duplicate transferable",ee);if(we==="ArrayBuffer"){kt(Et,ie);continue}if(nt)zt=ce(ie,{transfer:[ie]});else switch(we){case"ImageBitmap":Rt=h.OffscreenCanvas,E(Rt)||Ft(we,fe);try{jt=new Rt(ie.width,ie.height),Wt=jt.getContext("bitmaprenderer"),Wt.transferFromImageBitmap(ie),zt=jt.transferToImageBitmap()}catch(ue){}break;case"AudioData":case"VideoFrame":(!A(ie.clone)||!A(ie.close))&&Ft(we,fe);try{zt=ie.clone(),ie.close()}catch(ue){}break;case"MediaSourceHandle":case"MessagePort":case"MIDIAccess":case"OffscreenCanvas":case"ReadableStream":case"RTCDataChannel":case"TransformStream":case"WebTransportReceiveStream":case"WebTransportSendStream":case"WritableStream":Ft(we,fe)}if(zt===void 0)throw new gt("This object cannot be transferred: "+we,ee);Dt(It,ie,zt)}return Et},Ze=function(ft){k(ft,function(It){nt?de(It,{transfer:[It]}):A(It.transfer)?It.transfer():J?J(It):Ft("ArrayBuffer",fe)})};d({global:!0,enumerable:!0,sham:!nt,forced:Ae},{structuredClone:function(It){var Pt=V(arguments.length,1)>1&&!R(arguments[1])?D(arguments[1]):void 0,Ct=Pt?Pt.transfer:void 0,Nt,Et;Ct!==void 0&&(Nt=new xt,Et=He(Ct,Nt));var ie=Ht(It,Nt);return Et&&Ze(Et),ie}})},function(x,b,r){r(562),r(563)},function(x,b,r){var u=r(3),d=r(4),h=r(557),p=h(d.setInterval,!0);u({global:!0,bind:!0,forced:d.setInterval!==p},{setInterval:p})},function(x,b,r){var u=r(3),d=r(4),h=r(557),p=h(d.setTimeout,!0);u({global:!0,bind:!0,forced:d.setTimeout!==p},{setTimeout:p})},function(x,b,r){r(565)},function(x,b,r){r(447);var u=r(3),d=r(6),h=r(566),p=r(4),y=r(84),T=r(14),$=r(47),A=r(77),E=r(211),R=r(38),I=r(322),O=r(162),C=r(76),D=r(440).codeAt,M=r(567),F=r(68),j=r(82),B=r(361),U=r(568),V=r(51),z=V.set,G=V.getterFor("URL"),H=U.URLSearchParams,k=U.getState,J=p.URL,q=p.TypeError,nt=p.parseInt,rt=Math.floor,_=Math.pow,tt=T("".charAt),et=T(/./.exec),ot=T([].join),mt=T(1 .toString),gt=T([].pop),xt=T([].push),yt=T("".replace),Ut=T([].shift),Dt=T("".split),Xt=T("".slice),kt=T("".toLowerCase),Qt=T([].unshift),me="Invalid authority",ge="Invalid scheme",ae="Invalid host",Mt="Invalid port",Yt=/[a-z]/i,re=/[\d+-.a-z]/i,oe=/\d/,ee=/^0x/i,fe=/^[0-7]+$/,Pe=/^\d+$/,Me=/^[\da-f]+$/i,$e=/[\0\t\n\r #%/:<>?@[\\\]^|]/,ce=/[\0\t\n\r #/:<>?@[\\\]^|]/,Ae=/^[\u0000-\u0020]+/,Te=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,de=/[\t\n\r]/g,bt,Ft=function(dt){var wt=Dt(dt,"."),pt,it,Ot,ye,_t,Ie,rn;if(wt.length&&wt[wt.length-1]===""&&wt.length--,pt=wt.length,pt>4)return dt;for(it=[],Ot=0;Ot<pt;Ot++){if(ye=wt[Ot],ye==="")return dt;if(_t=10,ye.length>1&&tt(ye,0)==="0"&&(_t=et(ee,ye)?16:8,ye=Xt(ye,_t===8?1:2)),ye==="")Ie=0;else{if(!et(_t===10?Pe:_t===8?fe:Me,ye))return dt;Ie=nt(ye,_t)}xt(it,Ie)}for(Ot=0;Ot<pt;Ot++)if(Ie=it[Ot],Ot===pt-1){if(Ie>=_(256,5-pt))return null}else if(Ie>255)return null;for(rn=gt(it),Ot=0;Ot<it.length;Ot++)rn+=it[Ot]*_(256,3-Ot);return rn},Tt=function(dt){var wt=[0,0,0,0,0,0,0,0],pt=0,it=null,Ot=0,ye,_t,Ie,rn,gn,mn,st,an=function(){return tt(dt,Ot)};if(an()===":"){if(tt(dt,1)!==":")return;Ot+=2,pt++,it=pt}for(;an();){if(pt===8)return;if(an()===":"){if(it!==null)return;Ot++,pt++,it=pt;continue}for(ye=_t=0;_t<4&&et(Me,an());)ye=ye*16+nt(an(),16),Ot++,_t++;if(an()==="."){if(_t===0||(Ot-=_t,pt>6))return;for(Ie=0;an();){if(rn=null,Ie>0)if(an()==="."&&Ie<4)Ot++;else return;if(!et(oe,an()))return;for(;et(oe,an());){if(gn=nt(an(),10),rn===null)rn=gn;else{if(rn===0)return;rn=rn*10+gn}if(rn>255)return;Ot++}wt[pt]=wt[pt]*256+rn,Ie++,(Ie===2||Ie===4)&&pt++}if(Ie!==4)return;break}else if(an()===":"){if(Ot++,!an())return}else if(an())return;wt[pt++]=ye}if(it!==null)for(mn=pt-it,pt=7;pt!==0&&mn>0;)st=wt[pt],wt[pt--]=wt[it+mn-1],wt[it+--mn]=st;else if(pt!==8)return;return wt},qt=function(dt){for(var wt=null,pt=1,it=null,Ot=0,ye=0;ye<8;ye++)dt[ye]!==0?(Ot>pt&&(wt=it,pt=Ot),it=null,Ot=0):(it===null&&(it=ye),++Ot);return Ot>pt?it:wt},te=function(dt){var wt,pt,it,Ot;if(typeof dt=="number"){for(wt=[],pt=0;pt<4;pt++)Qt(wt,dt%256),dt=rt(dt/256);return ot(wt,".")}if(typeof dt=="object"){for(wt="",it=qt(dt),pt=0;pt<8;pt++)Ot&&dt[pt]===0||(Ot&&(Ot=!1),it===pt?(wt+=pt?":":"::",Ot=!0):(wt+=mt(dt[pt],16),pt<7&&(wt+=":")));return"["+wt+"]"}return dt},Zt={},Ht=I({},Zt,{" ":1,'"':1,"<":1,">":1,"`":1}),He=I({},Ht,{"#":1,"?":1,"{":1,"}":1}),Ze=I({},He,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),ft=function(dt,wt){var pt=D(dt,0);return pt>32&&pt<127&&!R(wt,dt)?dt:encodeURIComponent(dt)},It={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Pt=function(dt,wt){var pt;return dt.length===2&&et(Yt,tt(dt,0))&&((pt=tt(dt,1))===":"||!wt&&pt==="|")},Ct=function(dt){var wt;return dt.length>1&&Pt(Xt(dt,0,2))&&(dt.length===2||(wt=tt(dt,2))==="/"||wt==="\\"||wt==="?"||wt==="#")},Nt=function(dt){return dt==="."||kt(dt)==="%2e"},Et=function(dt){return dt=kt(dt),dt===".."||dt==="%2e."||dt===".%2e"||dt==="%2e%2e"},ie={},we={},Rt={},zt={},jt={},Wt={},ue={},Ee={},Ve={},Je={},nn={},pn={},Gn={},Yr={},Ya={},ga={},yr={},Vn={},Ha={},ir={},Wn={},va=function(dt,wt,pt){var it=F(dt),Ot,ye,_t;if(wt){if(ye=this.parse(it),ye)throw new q(ye);this.searchParams=null}else{if(pt!==void 0&&(Ot=new va(pt,!0)),ye=this.parse(it,null,Ot),ye)throw new q(ye);_t=k(new H),_t.bindURL(this),this.searchParams=_t}};va.prototype={type:"URL",parse:function(dt,wt,pt){var it=this,Ot=wt||ie,ye=0,_t="",Ie=!1,rn=!1,gn=!1,mn,st,an,Fn;for(dt=F(dt),wt||(it.scheme="",it.username="",it.password="",it.host=null,it.port=null,it.path=[],it.query=null,it.fragment=null,it.cannotBeABaseURL=!1,dt=yt(dt,Ae,""),dt=yt(dt,Te,"$1")),dt=yt(dt,de,""),mn=O(dt);ye<=mn.length;){switch(st=mn[ye],Ot){case ie:if(st&&et(Yt,st))_t+=kt(st),Ot=we;else{if(wt)return ge;Ot=Rt;continue}break;case we:if(st&&(et(re,st)||st==="+"||st==="-"||st==="."))_t+=kt(st);else if(st===":"){if(wt&&(it.isSpecial()!==R(It,_t)||_t==="file"&&(it.includesCredentials()||it.port!==null)||it.scheme==="file"&&!it.host))return;if(it.scheme=_t,wt){it.isSpecial()&&It[it.scheme]===it.port&&(it.port=null);return}_t="",it.scheme==="file"?Ot=Yr:it.isSpecial()&&pt&&pt.scheme===it.scheme?Ot=zt:it.isSpecial()?Ot=Ee:mn[ye+1]==="/"?(Ot=jt,ye++):(it.cannotBeABaseURL=!0,xt(it.path,""),Ot=Ha)}else{if(wt)return ge;_t="",Ot=Rt,ye=0;continue}break;case Rt:if(!pt||pt.cannotBeABaseURL&&st!=="#")return ge;if(pt.cannotBeABaseURL&&st==="#"){it.scheme=pt.scheme,it.path=C(pt.path),it.query=pt.query,it.fragment="",it.cannotBeABaseURL=!0,Ot=Wn;break}Ot=pt.scheme==="file"?Yr:Wt;continue;case zt:if(st==="/"&&mn[ye+1]==="/")Ot=Ve,ye++;else{Ot=Wt;continue}break;case jt:if(st==="/"){Ot=Je;break}else{Ot=Vn;continue}case Wt:if(it.scheme=pt.scheme,st===bt)it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,it.path=C(pt.path),it.query=pt.query;else if(st==="/"||st==="\\"&&it.isSpecial())Ot=ue;else if(st==="?")it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,it.path=C(pt.path),it.query="",Ot=ir;else if(st==="#")it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,it.path=C(pt.path),it.query=pt.query,it.fragment="",Ot=Wn;else{it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,it.path=C(pt.path),it.path.length--,Ot=Vn;continue}break;case ue:if(it.isSpecial()&&(st==="/"||st==="\\"))Ot=Ve;else if(st==="/")Ot=Je;else{it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,Ot=Vn;continue}break;case Ee:if(Ot=Ve,st!=="/"||tt(_t,ye+1)!=="/")continue;ye++;break;case Ve:if(st!=="/"&&st!=="\\"){Ot=Je;continue}break;case Je:if(st==="@"){Ie&&(_t="%40"+_t),Ie=!0,an=O(_t);for(var en=0;en<an.length;en++){var Xn=an[en];if(Xn===":"&&!gn){gn=!0;continue}var In=ft(Xn,Ze);gn?it.password+=In:it.username+=In}_t=""}else if(st===bt||st==="/"||st==="?"||st==="#"||st==="\\"&&it.isSpecial()){if(Ie&&_t==="")return me;ye-=O(_t).length+1,_t="",Ot=nn}else _t+=st;break;case nn:case pn:if(wt&&it.scheme==="file"){Ot=ga;continue}else if(st===":"&&!rn){if(_t==="")return ae;if(Fn=it.parseHost(_t),Fn)return Fn;if(_t="",Ot=Gn,wt===pn)return}else if(st===bt||st==="/"||st==="?"||st==="#"||st==="\\"&&it.isSpecial()){if(it.isSpecial()&&_t==="")return ae;if(wt&&_t===""&&(it.includesCredentials()||it.port!==null))return;if(Fn=it.parseHost(_t),Fn)return Fn;if(_t="",Ot=yr,wt)return;continue}else st==="["?rn=!0:st==="]"&&(rn=!1),_t+=st;break;case Gn:if(et(oe,st))_t+=st;else if(st===bt||st==="/"||st==="?"||st==="#"||st==="\\"&&it.isSpecial()||wt){if(_t!==""){var Bn=nt(_t,10);if(Bn>65535)return Mt;it.port=it.isSpecial()&&Bn===It[it.scheme]?null:Bn,_t=""}if(wt)return;Ot=yr;continue}else return Mt;break;case Yr:if(it.scheme="file",st==="/"||st==="\\")Ot=Ya;else if(pt&&pt.scheme==="file")switch(st){case bt:it.host=pt.host,it.path=C(pt.path),it.query=pt.query;break;case"?":it.host=pt.host,it.path=C(pt.path),it.query="",Ot=ir;break;case"#":it.host=pt.host,it.path=C(pt.path),it.query=pt.query,it.fragment="",Ot=Wn;break;default:Ct(ot(C(mn,ye),""))||(it.host=pt.host,it.path=C(pt.path),it.shortenPath()),Ot=Vn;continue}else{Ot=Vn;continue}break;case Ya:if(st==="/"||st==="\\"){Ot=ga;break}pt&&pt.scheme==="file"&&!Ct(ot(C(mn,ye),""))&&(Pt(pt.path[0],!0)?xt(it.path,pt.path[0]):it.host=pt.host),Ot=Vn;continue;case ga:if(st===bt||st==="/"||st==="\\"||st==="?"||st==="#"){if(!wt&&Pt(_t))Ot=Vn;else if(_t===""){if(it.host="",wt)return;Ot=yr}else{if(Fn=it.parseHost(_t),Fn)return Fn;if(it.host==="localhost"&&(it.host=""),wt)return;_t="",Ot=yr}continue}else _t+=st;break;case yr:if(it.isSpecial()){if(Ot=Vn,st!=="/"&&st!=="\\")continue}else if(!wt&&st==="?")it.query="",Ot=ir;else if(!wt&&st==="#")it.fragment="",Ot=Wn;else if(st!==bt&&(Ot=Vn,st!=="/"))continue;break;case Vn:if(st===bt||st==="/"||st==="\\"&&it.isSpecial()||!wt&&(st==="?"||st==="#")){if(Et(_t)?(it.shortenPath(),st!=="/"&&!(st==="\\"&&it.isSpecial())&&xt(it.path,"")):Nt(_t)?st!=="/"&&!(st==="\\"&&it.isSpecial())&&xt(it.path,""):(it.scheme==="file"&&!it.path.length&&Pt(_t)&&(it.host&&(it.host=""),_t=tt(_t,0)+":"),xt(it.path,_t)),_t="",it.scheme==="file"&&(st===bt||st==="?"||st==="#"))for(;it.path.length>1&&it.path[0]==="";)Ut(it.path);st==="?"?(it.query="",Ot=ir):st==="#"&&(it.fragment="",Ot=Wn)}else _t+=ft(st,He);break;case Ha:st==="?"?(it.query="",Ot=ir):st==="#"?(it.fragment="",Ot=Wn):st!==bt&&(it.path[0]+=ft(st,Zt));break;case ir:!wt&&st==="#"?(it.fragment="",Ot=Wn):st!==bt&&(st==="'"&&it.isSpecial()?it.query+="%27":st==="#"?it.query+="%23":it.query+=ft(st,Zt));break;case Wn:st!==bt&&(it.fragment+=ft(st,Ht));break}ye++}},parseHost:function(dt){var wt,pt,it;if(tt(dt,0)==="["){if(tt(dt,dt.length-1)!=="]"||(wt=Tt(Xt(dt,1,-1)),!wt))return ae;this.host=wt}else if(this.isSpecial()){if(dt=M(dt),et($e,dt)||(wt=Ft(dt),wt===null))return ae;this.host=wt}else{if(et(ce,dt))return ae;for(wt="",pt=O(dt),it=0;it<pt.length;it++)wt+=ft(pt[it],Zt);this.host=wt}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme==="file"},includesCredentials:function(){return this.username!==""||this.password!==""},isSpecial:function(){return R(It,this.scheme)},shortenPath:function(){var dt=this.path,wt=dt.length;wt&&(this.scheme!=="file"||wt!==1||!Pt(dt[0],!0))&&dt.length--},serialize:function(){var dt=this,wt=dt.scheme,pt=dt.username,it=dt.password,Ot=dt.host,ye=dt.port,_t=dt.path,Ie=dt.query,rn=dt.fragment,gn=wt+":";return Ot!==null?(gn+="//",dt.includesCredentials()&&(gn+=pt+(it?":"+it:"")+"@"),gn+=te(Ot),ye!==null&&(gn+=":"+ye)):wt==="file"&&(gn+="//"),gn+=dt.cannotBeABaseURL?_t[0]:_t.length?"/"+ot(_t,"/"):"",Ie!==null&&(gn+="?"+Ie),rn!==null&&(gn+="#"+rn),gn},setHref:function(dt){var wt=this.parse(dt);if(wt)throw new q(wt);this.searchParams.update()},getOrigin:function(){var dt=this.scheme,wt=this.port;if(dt==="blob")try{return new xr(dt.path[0]).origin}catch(pt){return"null"}return dt==="file"||!this.isSpecial()?"null":dt+"://"+te(this.host)+(wt!==null?":"+wt:"")},getProtocol:function(){return this.scheme+":"},setProtocol:function(dt){this.parse(F(dt)+":",ie)},getUsername:function(){return this.username},setUsername:function(dt){var wt=O(F(dt));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var pt=0;pt<wt.length;pt++)this.username+=ft(wt[pt],Ze)}},getPassword:function(){return this.password},setPassword:function(dt){var wt=O(F(dt));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var pt=0;pt<wt.length;pt++)this.password+=ft(wt[pt],Ze)}},getHost:function(){var dt=this.host,wt=this.port;return dt===null?"":wt===null?te(dt):te(dt)+":"+wt},setHost:function(dt){this.cannotBeABaseURL||this.parse(dt,nn)},getHostname:function(){var dt=this.host;return dt===null?"":te(dt)},setHostname:function(dt){this.cannotBeABaseURL||this.parse(dt,pn)},getPort:function(){var dt=this.port;return dt===null?"":F(dt)},setPort:function(dt){this.cannotHaveUsernamePasswordPort()||(dt=F(dt),dt===""?this.port=null:this.parse(dt,Gn))},getPathname:function(){var dt=this.path;return this.cannotBeABaseURL?dt[0]:dt.length?"/"+ot(dt,"/"):""},setPathname:function(dt){this.cannotBeABaseURL||(this.path=[],this.parse(dt,yr))},getSearch:function(){var dt=this.query;return dt?"?"+dt:""},setSearch:function(dt){dt=F(dt),dt===""?this.query=null:(tt(dt,0)==="?"&&(dt=Xt(dt,1)),this.query="",this.parse(dt,ir)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var dt=this.fragment;return dt?"#"+dt:""},setHash:function(dt){if(dt=F(dt),dt===""){this.fragment=null;return}tt(dt,0)==="#"&&(dt=Xt(dt,1)),this.fragment="",this.parse(dt,Wn)},update:function(){this.query=this.searchParams.serialize()||null}};var xr=function(wt){var pt=E(this,Tn),it=B(arguments.length,1)>1?arguments[1]:void 0,Ot=z(pt,new va(wt,!1,it));d||(pt.href=Ot.serialize(),pt.origin=Ot.getOrigin(),pt.protocol=Ot.getProtocol(),pt.username=Ot.getUsername(),pt.password=Ot.getPassword(),pt.host=Ot.getHost(),pt.hostname=Ot.getHostname(),pt.port=Ot.getPort(),pt.pathname=Ot.getPathname(),pt.search=Ot.getSearch(),pt.searchParams=Ot.getSearchParams(),pt.hash=Ot.getHash())},Tn=xr.prototype,wn=function(dt,wt){return{get:function(){return G(this)[dt]()},set:wt&&function(pt){return G(this)[wt](pt)},configurable:!0,enumerable:!0}};if(d&&(A(Tn,"href",wn("serialize","setHref")),A(Tn,"origin",wn("getOrigin")),A(Tn,"protocol",wn("getProtocol","setProtocol")),A(Tn,"username",wn("getUsername","setUsername")),A(Tn,"password",wn("getPassword","setPassword")),A(Tn,"host",wn("getHost","setHost")),A(Tn,"hostname",wn("getHostname","setHostname")),A(Tn,"port",wn("getPort","setPort")),A(Tn,"pathname",wn("getPathname","setPathname")),A(Tn,"search",wn("getSearch","setSearch")),A(Tn,"searchParams",wn("getSearchParams")),A(Tn,"hash",wn("getHash","setHash"))),$(Tn,"toJSON",function(){return G(this).serialize()},{enumerable:!0}),$(Tn,"toString",function(){return G(this).serialize()},{enumerable:!0}),J){var Wa=J.createObjectURL,Ka=J.revokeObjectURL;Wa&&$(xr,"createObjectURL",y(Wa,J)),Ka&&$(xr,"revokeObjectURL",y(Ka,J))}j(xr,"URL"),u({global:!0,constructor:!0,forced:!h,sham:!d},{URL:xr})},function(x,b,r){var u=r(7),d=r(33),h=r(6),p=r(36),y=d("iterator");x.exports=!u(function(){var T=new URL("b?a=1&b=2&c=3","https://a"),$=T.searchParams,A=new URLSearchParams("a=1&a=2&b=3"),E="";return T.pathname="c%20d",$.forEach(function(R,I){$.delete("b"),E+=I+R}),A.delete("a",2),A.delete("b",void 0),p&&(!T.toJSON||!A.has("a",1)||A.has("a",2)||!A.has("a",void 0)||A.has("b"))||!$.size&&(p||!h)||!$.sort||T.href!=="https://a/c%20d?a=1&c=3"||$.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!$[y]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("https://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("https://a#\u0431").hash!=="#%D0%B1"||E!=="a1c3"||new URL("https://x",void 0).host!=="x"})},function(x,b,r){var u=r(14),d=2147483647,h=36,p=1,y=26,T=38,$=700,A=72,E=128,R="-",I=/[^\0-\u007E]/,O=/[.\u3002\uFF0E\uFF61]/g,C="Overflow: input needs wider integers to process",D=h-p,M=RangeError,F=u(O.exec),j=Math.floor,B=String.fromCharCode,U=u("".charCodeAt),V=u([].join),z=u([].push),G=u("".replace),H=u("".split),k=u("".toLowerCase),J=function(_){for(var tt=[],et=0,ot=_.length;et<ot;){var mt=U(_,et++);if(mt>=55296&&mt<=56319&&et<ot){var gt=U(_,et++);(gt&64512)===56320?z(tt,((mt&1023)<<10)+(gt&1023)+65536):(z(tt,mt),et--)}else z(tt,mt)}return tt},q=function(_){return _+22+75*(_<26)},nt=function(_,tt,et){var ot=0;for(_=et?j(_/$):_>>1,_+=j(_/tt);_>D*y>>1;)_=j(_/D),ot+=h;return j(ot+(D+1)*_/(_+T))},rt=function(_){var tt=[];_=J(_);var et=_.length,ot=E,mt=0,gt=A,xt,yt;for(xt=0;xt<_.length;xt++)yt=_[xt],yt<128&&z(tt,B(yt));var Ut=tt.length,Dt=Ut;for(Ut&&z(tt,R);Dt<et;){var Xt=d;for(xt=0;xt<_.length;xt++)yt=_[xt],yt>=ot&&yt<Xt&&(Xt=yt);var kt=Dt+1;if(Xt-ot>j((d-mt)/kt))throw new M(C);for(mt+=(Xt-ot)*kt,ot=Xt,xt=0;xt<_.length;xt++){if(yt=_[xt],yt<ot&&++mt>d)throw new M(C);if(yt===ot){for(var Qt=mt,me=h;;){var ge=me<=gt?p:me>=gt+y?y:me-gt;if(Qt<ge)break;var ae=Qt-ge,Mt=h-ge;z(tt,B(q(ge+ae%Mt))),Qt=j(ae/Mt),me+=h}z(tt,B(q(Qt))),gt=nt(mt,kt,Dt===Ut),mt=0,Dt++}}mt++,ot++}return V(tt,"")};x.exports=function(_){var tt=[],et=H(G(k(_),O,"."),"."),ot,mt;for(ot=0;ot<et.length;ot++)mt=et[ot],z(tt,F(I,mt)?"xn--"+rt(mt):mt);return V(tt,".")}},function(x,b,r){r(168),r(444);var u=r(3),d=r(4),h=r(364),p=r(23),y=r(8),T=r(14),$=r(6),A=r(566),E=r(47),R=r(77),I=r(210),O=r(82),C=r(170),D=r(51),M=r(211),F=r(21),j=r(38),B=r(84),U=r(69),V=r(46),z=r(20),G=r(68),H=r(71),k=r(11),J=r(133),q=r(134),nt=r(172),rt=r(361),_=r(33),tt=r(189),et=_("iterator"),ot="URLSearchParams",mt=ot+"Iterator",gt=D.set,xt=D.getterFor(ot),yt=D.getterFor(mt),Ut=h("fetch"),Dt=h("Request"),Xt=h("Headers"),kt=Dt&&Dt.prototype,Qt=Xt&&Xt.prototype,me=d.TypeError,ge=d.encodeURIComponent,ae=String.fromCharCode,Mt=p("String","fromCodePoint"),Yt=parseInt,re=T("".charAt),oe=T([].join),ee=T([].push),fe=T("".replace),Pe=T([].shift),Me=T([].splice),$e=T("".split),ce=T("".slice),Ae=T(/./.exec),Te=/\+/g,de="\uFFFD",bt=/^[0-9a-f]+$/i,Ft=function(Rt,zt){var jt=ce(Rt,zt,zt+2);return Ae(bt,jt)?Yt(jt,16):NaN},Tt=function(Rt){for(var zt=0,jt=128;jt>0&&Rt&jt;jt>>=1)zt++;return zt},qt=function(Rt){var zt=null;switch(Rt.length){case 1:zt=Rt[0];break;case 2:zt=(Rt[0]&31)<<6|Rt[1]&63;break;case 3:zt=(Rt[0]&15)<<12|(Rt[1]&63)<<6|Rt[2]&63;break;case 4:zt=(Rt[0]&7)<<18|(Rt[1]&63)<<12|(Rt[2]&63)<<6|Rt[3]&63;break}return zt>1114111?null:zt},te=function(Rt){Rt=fe(Rt,Te," ");for(var zt=Rt.length,jt="",Wt=0;Wt<zt;){var ue=re(Rt,Wt);if(ue==="%"){if(re(Rt,Wt+1)==="%"||Wt+3>zt){jt+="%",Wt++;continue}var Ee=Ft(Rt,Wt+1);if(Ee!==Ee){jt+=ue,Wt++;continue}Wt+=2;var Ve=Tt(Ee);if(Ve===0)ue=ae(Ee);else{if(Ve===1||Ve>4){jt+=de,Wt++;continue}for(var Je=[Ee],nn=1;nn<Ve&&(Wt++,!(Wt+3>zt||re(Rt,Wt)!=="%"));){var pn=Ft(Rt,Wt+1);if(pn!==pn){Wt+=3;break}if(pn>191||pn<128)break;ee(Je,pn),Wt+=2,nn++}if(Je.length!==Ve){jt+=de;continue}var Gn=qt(Je);Gn===null?jt+=de:ue=Mt(Gn)}}jt+=ue,Wt++}return jt},Zt=/[!'()~]|%20/g,Ht={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},He=function(Rt){return Ht[Rt]},Ze=function(Rt){return fe(ge(Rt),Zt,He)},ft=C(function(zt,jt){gt(this,{type:mt,target:xt(zt).entries,index:0,kind:jt})},ot,function(){var zt=yt(this),jt=zt.target,Wt=zt.index++;if(!jt||Wt>=jt.length)return zt.target=null,nt(void 0,!0);var ue=jt[Wt];switch(zt.kind){case"keys":return nt(ue.key,!1);case"values":return nt(ue.value,!1)}return nt([ue.key,ue.value],!1)},!0),It=function(Rt){this.entries=[],this.url=null,Rt!==void 0&&(z(Rt)?this.parseObject(Rt):this.parseQuery(typeof Rt=="string"?re(Rt,0)==="?"?ce(Rt,1):Rt:G(Rt)))};It.prototype={type:ot,bindURL:function(Rt){this.url=Rt,this.update()},parseObject:function(Rt){var zt=this.entries,jt=q(Rt),Wt,ue,Ee,Ve,Je,nn,pn;if(jt)for(Wt=J(Rt,jt),ue=Wt.next;!(Ee=y(ue,Wt)).done;){if(Ve=J(V(Ee.value)),Je=Ve.next,(nn=y(Je,Ve)).done||(pn=y(Je,Ve)).done||!y(Je,Ve).done)throw new me("Expected sequence with length 2");ee(zt,{key:G(nn.value),value:G(pn.value)})}else for(var Gn in Rt)j(Rt,Gn)&&ee(zt,{key:Gn,value:G(Rt[Gn])})},parseQuery:function(Rt){if(Rt)for(var zt=this.entries,jt=$e(Rt,"&"),Wt=0,ue,Ee;Wt<jt.length;)ue=jt[Wt++],ue.length&&(Ee=$e(ue,"="),ee(zt,{key:te(Pe(Ee)),value:te(oe(Ee,"="))}))},serialize:function(){for(var Rt=this.entries,zt=[],jt=0,Wt;jt<Rt.length;)Wt=Rt[jt++],ee(zt,Ze(Wt.key)+"="+Ze(Wt.value));return oe(zt,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var Pt=function(){M(this,Ct);var zt=arguments.length>0?arguments[0]:void 0,jt=gt(this,new It(zt));$||(this.size=jt.entries.length)},Ct=Pt.prototype;if(I(Ct,{append:function(zt,jt){var Wt=xt(this);rt(arguments.length,2),ee(Wt.entries,{key:G(zt),value:G(jt)}),$||this.length++,Wt.updateURL()},delete:function(Rt){for(var zt=xt(this),jt=rt(arguments.length,1),Wt=zt.entries,ue=G(Rt),Ee=jt<2?void 0:arguments[1],Ve=Ee===void 0?Ee:G(Ee),Je=0;Je<Wt.length;){var nn=Wt[Je];if(nn.key===ue&&(Ve===void 0||nn.value===Ve)){if(Me(Wt,Je,1),Ve!==void 0)break}else Je++}$||(this.size=Wt.length),zt.updateURL()},get:function(zt){var jt=xt(this).entries;rt(arguments.length,1);for(var Wt=G(zt),ue=0;ue<jt.length;ue++)if(jt[ue].key===Wt)return jt[ue].value;return null},getAll:function(zt){var jt=xt(this).entries;rt(arguments.length,1);for(var Wt=G(zt),ue=[],Ee=0;Ee<jt.length;Ee++)jt[Ee].key===Wt&&ee(ue,jt[Ee].value);return ue},has:function(zt){for(var jt=xt(this).entries,Wt=rt(arguments.length,1),ue=G(zt),Ee=Wt<2?void 0:arguments[1],Ve=Ee===void 0?Ee:G(Ee),Je=0;Je<jt.length;){var nn=jt[Je++];if(nn.key===ue&&(Ve===void 0||nn.value===Ve))return!0}return!1},set:function(zt,jt){var Wt=xt(this);rt(arguments.length,1);for(var ue=Wt.entries,Ee=!1,Ve=G(zt),Je=G(jt),nn=0,pn;nn<ue.length;nn++)pn=ue[nn],pn.key===Ve&&(Ee?Me(ue,nn--,1):(Ee=!0,pn.value=Je));Ee||ee(ue,{key:Ve,value:Je}),$||(this.size=ue.length),Wt.updateURL()},sort:function(){var zt=xt(this);tt(zt.entries,function(jt,Wt){return jt.key>Wt.key?1:-1}),zt.updateURL()},forEach:function(zt){for(var jt=xt(this).entries,Wt=B(zt,arguments.length>1?arguments[1]:void 0),ue=0,Ee;ue<jt.length;)Ee=jt[ue++],Wt(Ee.value,Ee.key,this)},keys:function(){return new ft(this,"keys")},values:function(){return new ft(this,"values")},entries:function(){return new ft(this,"entries")}},{enumerable:!0}),E(Ct,et,Ct.entries,{name:"entries"}),E(Ct,"toString",function(){return xt(this).serialize()},{enumerable:!0}),$&&R(Ct,"size",{get:function(){return xt(this).entries.length},configurable:!0,enumerable:!0}),O(Pt,ot),u({global:!0,constructor:!0,forced:!A},{URLSearchParams:Pt}),!A&&F(Xt)){var Nt=T(Qt.has),Et=T(Qt.set),ie=function(Rt){if(z(Rt)){var zt=Rt.body,jt;if(U(zt)===ot)return jt=Rt.headers?new Xt(Rt.headers):new Xt,Nt(jt,"content-type")||Et(jt,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),H(Rt,{body:k(0,G(zt)),headers:k(0,jt)})}return Rt};if(F(Ut)&&u({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(zt){return Ut(zt,arguments.length>1?ie(arguments[1]):{})}}),F(Dt)){var we=function(zt){return M(this,kt),new Dt(zt,arguments.length>1?ie(arguments[1]):{})};kt.constructor=we,we.prototype=kt,u({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:we})}}x.exports={URLSearchParams:Pt,getState:xt}},function(x,b,r){var u=r(3),d=r(23),h=r(7),p=r(361),y=r(68),T=r(566),$=d("URL"),A=T&&h(function(){$.canParse()}),E=h(function(){return $.canParse.length!==1});u({target:"URL",stat:!0,forced:!A||E},{canParse:function(I){var O=p(arguments.length,1),C=y(I),D=O<2||arguments[1]===void 0?void 0:y(arguments[1]);try{return!!new $(C,D)}catch(M){return!1}}})},function(x,b,r){var u=r(3),d=r(23),h=r(361),p=r(68),y=r(566),T=d("URL");u({target:"URL",stat:!0,forced:!y},{parse:function(A){var E=h(arguments.length,1),R=p(A),I=E<2||arguments[1]===void 0?void 0:p(arguments[1]);try{return new T(R,I)}catch(O){return null}}})},function(x,b,r){var u=r(3),d=r(8);u({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return d(URL.prototype.toString,this)}})},function(x,b,r){r(568)},function(x,b,r){var u=r(47),d=r(14),h=r(68),p=r(361),y=URLSearchParams,T=y.prototype,$=d(T.append),A=d(T.delete),E=d(T.forEach),R=d([].push),I=new y("a=1&a=2&b=3");I.delete("a",1),I.delete("b",void 0),I+""!="a=2"&&u(T,"delete",function(O){var C=arguments.length,D=C<2?void 0:arguments[1];if(C&&D===void 0)return A(this,O);var M=[];E(this,function(H,k){R(M,{key:k,value:H})}),p(C,1);for(var F=h(O),j=h(D),B=0,U=0,V=!1,z=M.length,G;B<z;)G=M[B++],V||G.key===F?(V=!0,A(this,G.key)):U++;for(;U<z;)G=M[U++],G.key===F&&G.value===j||$(this,G.key,G.value)},{enumerable:!0,unsafe:!0})},function(x,b,r){var u=r(47),d=r(14),h=r(68),p=r(361),y=URLSearchParams,T=y.prototype,$=d(T.getAll),A=d(T.has),E=new y("a=1");(E.has("a",2)||!E.has("a",void 0))&&u(T,"has",function(I){var O=arguments.length,C=O<2?void 0:arguments[1];if(O&&C===void 0)return A(this,I);var D=$(this,I);p(O,1);for(var M=h(C),F=0;F<D.length;)if(D[F++]===M)return!0;return!1},{enumerable:!0,unsafe:!0})},function(x,b,r){var u=r(6),d=r(14),h=r(77),p=URLSearchParams.prototype,y=d(p.forEach);u&&!("size"in p)&&h(p,"size",{get:function(){var $=0;return y(this,function(){$++}),$},configurable:!0,enumerable:!0})},function(x,b,r){r.r(b),r.d(b,{bb:function(){return Ef},default:function(){return Ef}});var u={};r.r(u),r.d(u,{selection:function(){return gu},subchart:function(){return vu},zoom:function(){return pu}});var d={};r.r(d),r.d(d,{area:function(){return rf},areaLineRange:function(){return af},areaSpline:function(){return of},areaSplineRange:function(){return lf},areaStep:function(){return cf},areaStepRange:function(){return sf},bar:function(){return yf},bubble:function(){return xf},candlestick:function(){return Tf},donut:function(){return hf},funnel:function(){return Sf},gauge:function(){return gf},line:function(){return uf},pie:function(){return vf},polar:function(){return pf},radar:function(){return mf},scatter:function(){return $f},spline:function(){return ff},step:function(){return df},treemap:function(){return Af}});function h(){}function p(t){return t==null?h:function(){return this.querySelector(t)}}function y(t){typeof t!="function"&&(t=p(t));for(var e=this._groups,n=e.length,a=new Array(n),i=0;i<n;++i)for(var s=e[i],o=s.length,l=a[i]=new Array(o),c,f,g=0;g<o;++g)(c=s[g])&&(f=t.call(c,c.__data__,g,s))&&("__data__"in c&&(f.__data__=c.__data__),l[g]=f);return new Ie(a,this._parents)}function T(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function $(){return[]}function A(t){return t==null?$:function(){return this.querySelectorAll(t)}}function E(t){return function(){return T(t.apply(this,arguments))}}function R(t){typeof t=="function"?t=E(t):t=A(t);for(var e=this._groups,n=e.length,a=[],i=[],s=0;s<n;++s)for(var o=e[s],l=o.length,c,f=0;f<l;++f)(c=o[f])&&(a.push(t.call(c,c.__data__,f,o)),i.push(c));return new Ie(a,i)}function I(t){return function(){return this.matches(t)}}function O(t){return function(e){return e.matches(t)}}var C=Array.prototype.find;function D(t){return function(){return C.call(this.children,t)}}function M(){return this.firstElementChild}function F(t){return this.select(t==null?M:D(typeof t=="function"?t:O(t)))}var j=Array.prototype.filter;function B(){return Array.from(this.children)}function U(t){return function(){return j.call(this.children,t)}}function V(t){return this.selectAll(t==null?B:U(typeof t=="function"?t:O(t)))}function z(t){typeof t!="function"&&(t=I(t));for(var e=this._groups,n=e.length,a=new Array(n),i=0;i<n;++i)for(var s=e[i],o=s.length,l=a[i]=[],c,f=0;f<o;++f)(c=s[f])&&t.call(c,c.__data__,f,s)&&l.push(c);return new Ie(a,this._parents)}function G(t){return new Array(t.length)}function H(){return new Ie(this._enter||this._groups.map(G),this._parents)}function k(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}k.prototype={constructor:k,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function J(t){return function(){return t}}function q(t,e,n,a,i,s){for(var o=0,l,c=e.length,f=s.length;o<f;++o)(l=e[o])?(l.__data__=s[o],a[o]=l):n[o]=new k(t,s[o]);for(;o<c;++o)(l=e[o])&&(i[o]=l)}function nt(t,e,n,a,i,s,o){var l,c,f=new Map,g=e.length,v=s.length,m=new Array(g),S;for(l=0;l<g;++l)(c=e[l])&&(m[l]=S=o.call(c,c.__data__,l,e)+"",f.has(S)?i[l]=c:f.set(S,c));for(l=0;l<v;++l)S=o.call(t,s[l],l,s)+"",(c=f.get(S))?(a[l]=c,c.__data__=s[l],f.delete(S)):n[l]=new k(t,s[l]);for(l=0;l<g;++l)(c=e[l])&&f.get(m[l])===c&&(i[l]=c)}function rt(t){return t.__data__}function _(t,e){if(!arguments.length)return Array.from(this,rt);var n=e?nt:q,a=this._parents,i=this._groups;typeof t!="function"&&(t=J(t));for(var s=i.length,o=new Array(s),l=new Array(s),c=new Array(s),f=0;f<s;++f){var g=a[f],v=i[f],m=v.length,S=tt(t.call(g,g&&g.__data__,f,a)),P=S.length,N=l[f]=new Array(P),L=o[f]=new Array(P),w=c[f]=new Array(m);n(g,v,N,L,w,S,e);for(var X=0,W=0,Y,Q;X<P;++X)if(Y=N[X]){for(X>=W&&(W=X+1);!(Q=L[W])&&++W<P;);Y._next=Q||null}}return o=new Ie(o,a),o._enter=l,o._exit=c,o}function tt(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function et(){return new Ie(this._exit||this._groups.map(G),this._parents)}function ot(t,e,n){var a=this.enter(),i=this,s=this.exit();return typeof t=="function"?(a=t(a),a&&(a=a.selection())):a=a.append(t+""),e!=null&&(i=e(i),i&&(i=i.selection())),n==null?s.remove():n(s),a&&i?a.merge(i).order():i}function mt(t){for(var e=t.selection?t.selection():t,n=this._groups,a=e._groups,i=n.length,s=a.length,o=Math.min(i,s),l=new Array(i),c=0;c<o;++c)for(var f=n[c],g=a[c],v=f.length,m=l[c]=new Array(v),S,P=0;P<v;++P)(S=f[P]||g[P])&&(m[P]=S);for(;c<i;++c)l[c]=n[c];return new Ie(l,this._parents)}function gt(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var a=t[e],i=a.length-1,s=a[i],o;--i>=0;)(o=a[i])&&(s&&o.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(o,s),s=o);return this}function xt(t){t||(t=yt);function e(v,m){return v&&m?t(v.__data__,m.__data__):!v-!m}for(var n=this._groups,a=n.length,i=new Array(a),s=0;s<a;++s){for(var o=n[s],l=o.length,c=i[s]=new Array(l),f,g=0;g<l;++g)(f=o[g])&&(c[g]=f);c.sort(e)}return new Ie(i,this._parents).order()}function yt(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function Ut(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Dt(){return Array.from(this)}function Xt(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var a=t[e],i=0,s=a.length;i<s;++i){var o=a[i];if(o)return o}return null}function kt(){let t=0;for(const e of this)++t;return t}function Qt(){return!this.node()}function me(t){for(var e=this._groups,n=0,a=e.length;n<a;++n)for(var i=e[n],s=0,o=i.length,l;s<o;++s)(l=i[s])&&t.call(l,l.__data__,s,i);return this}var ge="http://www.w3.org/1999/xhtml",ae={svg:"http://www.w3.org/2000/svg",xhtml:ge,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Mt(t){var e=t+="",n=e.indexOf(":");return n>=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),ae.hasOwnProperty(e)?{space:ae[e],local:t}:t}function Yt(t){return function(){this.removeAttribute(t)}}function re(t){return function(){this.removeAttributeNS(t.space,t.local)}}function oe(t,e){return function(){this.setAttribute(t,e)}}function ee(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function fe(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function Pe(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function Me(t,e){var n=Mt(t);if(arguments.length<2){var a=this.node();return n.local?a.getAttributeNS(n.space,n.local):a.getAttribute(n)}return this.each((e==null?n.local?re:Yt:typeof e=="function"?n.local?Pe:fe:n.local?ee:oe)(n,e))}function $e(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function ce(t){return function(){this.style.removeProperty(t)}}function Ae(t,e,n){return function(){this.style.setProperty(t,e,n)}}function Te(t,e,n){return function(){var a=e.apply(this,arguments);a==null?this.style.removeProperty(t):this.style.setProperty(t,a,n)}}function de(t,e,n){return arguments.length>1?this.each((e==null?ce:typeof e=="function"?Te:Ae)(t,e,n==null?"":n)):bt(this.node(),t)}function bt(t,e){return t.style.getPropertyValue(e)||$e(t).getComputedStyle(t,null).getPropertyValue(e)}function Ft(t){return function(){delete this[t]}}function Tt(t,e){return function(){this[t]=e}}function qt(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function te(t,e){return arguments.length>1?this.each((e==null?Ft:typeof e=="function"?qt:Tt)(t,e)):this.node()[t]}function Zt(t){return t.trim().split(/^|\s+/)}function Ht(t){return t.classList||new He(t)}function He(t){this._node=t,this._names=Zt(t.getAttribute("class")||"")}He.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Ze(t,e){for(var n=Ht(t),a=-1,i=e.length;++a<i;)n.add(e[a])}function ft(t,e){for(var n=Ht(t),a=-1,i=e.length;++a<i;)n.remove(e[a])}function It(t){return function(){Ze(this,t)}}function Pt(t){return function(){ft(this,t)}}function Ct(t,e){return function(){(e.apply(this,arguments)?Ze:ft)(this,t)}}function Nt(t,e){var n=Zt(t+"");if(arguments.length<2){for(var a=Ht(this.node()),i=-1,s=n.length;++i<s;)if(!a.contains(n[i]))return!1;return!0}return this.each((typeof e=="function"?Ct:e?It:Pt)(n,e))}function Et(){this.textContent=""}function ie(t){return function(){this.textContent=t}}function we(t){return function(){var e=t.apply(this,arguments);this.textContent=e==null?"":e}}function Rt(t){return arguments.length?this.each(t==null?Et:(typeof t=="function"?we:ie)(t)):this.node().textContent}function zt(){this.innerHTML=""}function jt(t){return function(){this.innerHTML=t}}function Wt(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e==null?"":e}}function ue(t){return arguments.length?this.each(t==null?zt:(typeof t=="function"?Wt:jt)(t)):this.node().innerHTML}function Ee(){this.nextSibling&&this.parentNode.appendChild(this)}function Ve(){return this.each(Ee)}function Je(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function nn(){return this.each(Je)}function pn(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===ge&&e.documentElement.namespaceURI===ge?e.createElement(t):e.createElementNS(n,t)}}function Gn(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Yr(t){var e=Mt(t);return(e.local?Gn:pn)(e)}function Ya(t){var e=typeof t=="function"?t:Yr(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function ga(){return null}function yr(t,e){var n=typeof t=="function"?t:Yr(t),a=e==null?ga:typeof e=="function"?e:p(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),a.apply(this,arguments)||null)})}function Vn(){var t=this.parentNode;t&&t.removeChild(this)}function Ha(){return this.each(Vn)}function ir(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function Wn(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function va(t){return this.select(t?Wn:ir)}function xr(t){return arguments.length?this.property("__data__",t):this.node().__data__}function Tn(t){return function(e){t.call(this,e,this.__data__)}}function wn(t){return t.trim().split(/^|\s+/).map(function(e){var n="",a=e.indexOf(".");return a>=0&&(n=e.slice(a+1),e=e.slice(0,a)),{type:e,name:n}})}function Wa(t){return function(){var e=this.__on;if(e){for(var n=0,a=-1,i=e.length,s;n<i;++n)s=e[n],(!t.type||s.type===t.type)&&s.name===t.name?this.removeEventListener(s.type,s.listener,s.options):e[++a]=s;++a?e.length=a:delete this.__on}}}function Ka(t,e,n){return function(){var a=this.__on,i,s=Tn(e);if(a){for(var o=0,l=a.length;o<l;++o)if((i=a[o]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=s,i.options=n),i.value=e;return}}this.addEventListener(t.type,s,n),i={type:t.type,name:t.name,value:e,listener:s,options:n},a?a.push(i):this.__on=[i]}}function dt(t,e,n){var a=wn(t+""),i,s=a.length,o;if(arguments.length<2){var l=this.node().__on;if(l){for(var c=0,f=l.length,g;c<f;++c)for(i=0,g=l[c];i<s;++i)if((o=a[i]).type===g.type&&o.name===g.name)return g.value}return}for(l=e?Ka:Wa,i=0;i<s;++i)this.each(l(a[i],e,n));return this}function wt(t,e,n){var a=$e(t),i=a.CustomEvent;typeof i=="function"?i=new i(e,n):(i=a.document.createEvent("Event"),n?(i.initEvent(e,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function pt(t,e){return function(){return wt(this,t,e)}}function it(t,e){return function(){return wt(this,t,e.apply(this,arguments))}}function Ot(t,e){return this.each((typeof e=="function"?it:pt)(t,e))}function*ye(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var a=t[e],i=0,s=a.length,o;i<s;++i)(o=a[i])&&(yield o)}var _t=[null];function Ie(t,e){this._groups=t,this._parents=e}function rn(){return new Ie([[document.documentElement]],_t)}function gn(){return this}Ie.prototype=rn.prototype={constructor:Ie,select:y,selectAll:R,selectChild:F,selectChildren:V,filter:z,data:_,enter:H,exit:et,join:ot,merge:mt,selection:gn,order:gt,sort:xt,call:Ut,nodes:Dt,node:Xt,size:kt,empty:Qt,each:me,attr:Me,style:de,property:te,classed:Nt,text:Rt,html:ue,raise:Ve,lower:nn,append:Ya,insert:yr,remove:Ha,clone:va,datum:xr,on:dt,dispatch:Ot,[Symbol.iterator]:ye};var mn=rn;function st(t){return typeof t=="string"?new Ie([[document.querySelector(t)]],[document.documentElement]):new Ie([[t]],_t)}const an=new Date,Fn=new Date;function en(t,e,n,a){function i(s){return t(s=arguments.length===0?new Date:new Date(+s)),s}return i.floor=s=>(t(s=new Date(+s)),s),i.ceil=s=>(t(s=new Date(s-1)),e(s,1),t(s),s),i.round=s=>{const o=i(s),l=i.ceil(s);return s-o<l-s?o:l},i.offset=(s,o)=>(e(s=new Date(+s),o==null?1:Math.floor(o)),s),i.range=(s,o,l)=>{const c=[];if(s=i.ceil(s),l=l==null?1:Math.floor(l),!(s<o)||!(l>0))return c;let f;do c.push(f=new Date(+s)),e(s,l),t(s);while(f<s&&s<o);return c},i.filter=s=>en(o=>{if(o>=o)for(;t(o),!s(o);)o.setTime(o-1)},(o,l)=>{if(o>=o)if(l<0)for(;++l<=0;)for(;e(o,-1),!s(o););else for(;--l>=0;)for(;e(o,1),!s(o););}),n&&(i.count=(s,o)=>(an.setTime(+s),Fn.setTime(+o),t(an),t(Fn),Math.floor(n(an,Fn))),i.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(a?o=>a(o)%s===0:o=>i.count(0,o)%s===0):i)),i}const Xn=1e3,In=Xn*60,Bn=In*60,sr=Bn*24,ts=sr*7,Po=sr*30,es=sr*365;function Rr(t){return en(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*In)/ts)}const Za=Rr(0),Ja=Rr(1),Rf=Rr(2),If=Rr(3),Hr=Rr(4),Of=Rr(5),Cf=Rr(6),I0=Za.range,O0=Ja.range,C0=Rf.range,P0=If.range,w0=Hr.range,M0=Of.range,D0=Cf.range;function Ir(t){return en(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/ts)}const ka=Ir(0),Qa=Ir(1),Pf=Ir(2),wf=Ir(3),Wr=Ir(4),Mf=Ir(5),Df=Ir(6),L0=ka.range,N0=Qa.range,F0=Pf.range,B0=wf.range,U0=Wr.range,z0=Mf.range,j0=Df.range,pa=en(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*In)/sr,t=>t.getDate()-1),G0=pa.range,qa=en(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/sr,t=>t.getUTCDate()-1),V0=qa.range,wo=en(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/sr,t=>Math.floor(t/sr)),X0=wo.range,or=en(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());or.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:en(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});const Y0=or.range,lr=en(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());lr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:en(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});const H0=lr.range;function ns(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function rs(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function ma(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function Lf(t){var e=t.dateTime,n=t.date,a=t.time,i=t.periods,s=t.days,o=t.shortDays,l=t.months,c=t.shortMonths,f=ya(i),g=xa(i),v=ya(s),m=xa(s),S=ya(o),P=xa(o),N=ya(l),L=xa(l),w=ya(c),X=xa(c),W={a:At,A:Vt,b:Bt,B:Kt,c:null,d:Bo,e:Bo,f:rd,g:hd,G:vd,H:td,I:ed,j:nd,L:Uo,m:ad,M:id,p:ne,q:le,Q:Yo,s:Ho,S:sd,u:od,U:ld,V:cd,w:ud,W:fd,x:null,X:null,y:dd,Y:gd,Z:pd,"%":Xo},Y={a:be,A:Oe,b:Ce,B:Ye,c:null,d:jo,e:jo,f:Td,g:Pd,G:Md,H:md,I:yd,j:xd,L:Go,m:$d,M:Sd,p:Fe,q:hn,Q:Yo,s:Ho,S:Ad,u:Ed,U:bd,V:Rd,w:Id,W:Od,x:null,X:null,y:Cd,Y:wd,Z:Dd,"%":Xo},Q={a:ct,A:lt,b:Gt,B:vt,c:Z,d:No,e:No,f:kf,g:Lo,G:Do,H:Fo,I:Fo,j:Wf,L:Jf,m:Hf,M:Kf,p:St,q:Yf,Q:qf,s:_f,S:Zf,u:zf,U:jf,V:Gf,w:Uf,W:Vf,x:$t,X:ut,y:Lo,Y:Do,Z:Xf,"%":Qf};W.x=K(n,W),W.X=K(a,W),W.c=K(e,W),Y.x=K(n,Y),Y.X=K(a,Y),Y.c=K(e,Y);function K(Jt,xe){return function(Re){var Lt=[],un=-1,Ge=0,Cn=Jt.length,Pn,pe,fn;for(Re instanceof Date||(Re=new Date(+Re));++un<Cn;)Jt.charCodeAt(un)===37&&(Lt.push(Jt.slice(Ge,un)),(pe=Mo[Pn=Jt.charAt(++un)])!=null?Pn=Jt.charAt(++un):pe=Pn==="e"?" ":"0",(fn=xe[Pn])&&(Pn=fn(Re,pe)),Lt.push(Pn),Ge=un+1);return Lt.push(Jt.slice(Ge,un)),Lt.join("")}}function at(Jt,xe){return function(Re){var Lt=ma(1900,void 0,1),un=ht(Lt,Jt,Re+="",0),Ge,Cn;if(un!=Re.length)return null;if("Q"in Lt)return new Date(Lt.Q);if("s"in Lt)return new Date(Lt.s*1e3+("L"in Lt?Lt.L:0));if(xe&&!("Z"in Lt)&&(Lt.Z=0),"p"in Lt&&(Lt.H=Lt.H%12+Lt.p*12),Lt.m===void 0&&(Lt.m="q"in Lt?Lt.q:0),"V"in Lt){if(Lt.V<1||Lt.V>53)return null;"w"in Lt||(Lt.w=1),"Z"in Lt?(Ge=rs(ma(Lt.y,0,1)),Cn=Ge.getUTCDay(),Ge=Cn>4||Cn===0?Qa.ceil(Ge):Qa(Ge),Ge=qa.offset(Ge,(Lt.V-1)*7),Lt.y=Ge.getUTCFullYear(),Lt.m=Ge.getUTCMonth(),Lt.d=Ge.getUTCDate()+(Lt.w+6)%7):(Ge=ns(ma(Lt.y,0,1)),Cn=Ge.getDay(),Ge=Cn>4||Cn===0?Ja.ceil(Ge):Ja(Ge),Ge=pa.offset(Ge,(Lt.V-1)*7),Lt.y=Ge.getFullYear(),Lt.m=Ge.getMonth(),Lt.d=Ge.getDate()+(Lt.w+6)%7)}else("W"in Lt||"U"in Lt)&&("w"in Lt||(Lt.w="u"in Lt?Lt.u%7:"W"in Lt?1:0),Cn="Z"in Lt?rs(ma(Lt.y,0,1)).getUTCDay():ns(ma(Lt.y,0,1)).getDay(),Lt.m=0,Lt.d="W"in Lt?(Lt.w+6)%7+Lt.W*7-(Cn+5)%7:Lt.w+Lt.U*7-(Cn+6)%7);return"Z"in Lt?(Lt.H+=Lt.Z/100|0,Lt.M+=Lt.Z%100,rs(Lt)):ns(Lt)}}function ht(Jt,xe,Re,Lt){for(var un=0,Ge=xe.length,Cn=Re.length,Pn,pe;un<Ge;){if(Lt>=Cn)return-1;if(Pn=xe.charCodeAt(un++),Pn===37){if(Pn=xe.charAt(un++),pe=Q[Pn in Mo?xe.charAt(un++):Pn],!pe||(Lt=pe(Jt,Re,Lt))<0)return-1}else if(Pn!=Re.charCodeAt(Lt++))return-1}return Lt}function St(Jt,xe,Re){var Lt=f.exec(xe.slice(Re));return Lt?(Jt.p=g.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function ct(Jt,xe,Re){var Lt=S.exec(xe.slice(Re));return Lt?(Jt.w=P.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function lt(Jt,xe,Re){var Lt=v.exec(xe.slice(Re));return Lt?(Jt.w=m.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function Gt(Jt,xe,Re){var Lt=w.exec(xe.slice(Re));return Lt?(Jt.m=X.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function vt(Jt,xe,Re){var Lt=N.exec(xe.slice(Re));return Lt?(Jt.m=L.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function Z(Jt,xe,Re){return ht(Jt,e,xe,Re)}function $t(Jt,xe,Re){return ht(Jt,n,xe,Re)}function ut(Jt,xe,Re){return ht(Jt,a,xe,Re)}function At(Jt){return o[Jt.getDay()]}function Vt(Jt){return s[Jt.getDay()]}function Bt(Jt){return c[Jt.getMonth()]}function Kt(Jt){return l[Jt.getMonth()]}function ne(Jt){return i[+(Jt.getHours()>=12)]}function le(Jt){return 1+~~(Jt.getMonth()/3)}function be(Jt){return o[Jt.getUTCDay()]}function Oe(Jt){return s[Jt.getUTCDay()]}function Ce(Jt){return c[Jt.getUTCMonth()]}function Ye(Jt){return l[Jt.getUTCMonth()]}function Fe(Jt){return i[+(Jt.getUTCHours()>=12)]}function hn(Jt){return 1+~~(Jt.getUTCMonth()/3)}return{format:function(Jt){var xe=K(Jt+="",W);return xe.toString=function(){return Jt},xe},parse:function(Jt){var xe=at(Jt+="",!1);return xe.toString=function(){return Jt},xe},utcFormat:function(Jt){var xe=K(Jt+="",Y);return xe.toString=function(){return Jt},xe},utcParse:function(Jt){var xe=at(Jt+="",!0);return xe.toString=function(){return Jt},xe}}}var Mo={"-":"",_:" ",0:"0"},yn=/^\s*\d+/,Nf=/^%/,Ff=/[\\^$*+?|[\]().{}]/g;function Ne(t,e,n){var a=t<0?"-":"",i=(a?-t:t)+"",s=i.length;return a+(s<n?new Array(n-s+1).join(e)+i:i)}function Bf(t){return t.replace(Ff,"\\$&")}function ya(t){return new RegExp("^(?:"+t.map(Bf).join("|")+")","i")}function xa(t){return new Map(t.map((e,n)=>[e.toLowerCase(),n]))}function Uf(t,e,n){var a=yn.exec(e.slice(n,n+1));return a?(t.w=+a[0],n+a[0].length):-1}function zf(t,e,n){var a=yn.exec(e.slice(n,n+1));return a?(t.u=+a[0],n+a[0].length):-1}function jf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.U=+a[0],n+a[0].length):-1}function Gf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.V=+a[0],n+a[0].length):-1}function Vf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.W=+a[0],n+a[0].length):-1}function Do(t,e,n){var a=yn.exec(e.slice(n,n+4));return a?(t.y=+a[0],n+a[0].length):-1}function Lo(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.y=+a[0]+(+a[0]>68?1900:2e3),n+a[0].length):-1}function Xf(t,e,n){var a=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return a?(t.Z=a[1]?0:-(a[2]+(a[3]||"00")),n+a[0].length):-1}function Yf(t,e,n){var a=yn.exec(e.slice(n,n+1));return a?(t.q=a[0]*3-3,n+a[0].length):-1}function Hf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.m=a[0]-1,n+a[0].length):-1}function No(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.d=+a[0],n+a[0].length):-1}function Wf(t,e,n){var a=yn.exec(e.slice(n,n+3));return a?(t.m=0,t.d=+a[0],n+a[0].length):-1}function Fo(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.H=+a[0],n+a[0].length):-1}function Kf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.M=+a[0],n+a[0].length):-1}function Zf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.S=+a[0],n+a[0].length):-1}function Jf(t,e,n){var a=yn.exec(e.slice(n,n+3));return a?(t.L=+a[0],n+a[0].length):-1}function kf(t,e,n){var a=yn.exec(e.slice(n,n+6));return a?(t.L=Math.floor(a[0]/1e3),n+a[0].length):-1}function Qf(t,e,n){var a=Nf.exec(e.slice(n,n+1));return a?n+a[0].length:-1}function qf(t,e,n){var a=yn.exec(e.slice(n));return a?(t.Q=+a[0],n+a[0].length):-1}function _f(t,e,n){var a=yn.exec(e.slice(n));return a?(t.s=+a[0],n+a[0].length):-1}function Bo(t,e){return Ne(t.getDate(),e,2)}function td(t,e){return Ne(t.getHours(),e,2)}function ed(t,e){return Ne(t.getHours()%12||12,e,2)}function nd(t,e){return Ne(1+pa.count(or(t),t),e,3)}function Uo(t,e){return Ne(t.getMilliseconds(),e,3)}function rd(t,e){return Uo(t,e)+"000"}function ad(t,e){return Ne(t.getMonth()+1,e,2)}function id(t,e){return Ne(t.getMinutes(),e,2)}function sd(t,e){return Ne(t.getSeconds(),e,2)}function od(t){var e=t.getDay();return e===0?7:e}function ld(t,e){return Ne(Za.count(or(t)-1,t),e,2)}function zo(t){var e=t.getDay();return e>=4||e===0?Hr(t):Hr.ceil(t)}function cd(t,e){return t=zo(t),Ne(Hr.count(or(t),t)+(or(t).getDay()===4),e,2)}function ud(t){return t.getDay()}function fd(t,e){return Ne(Ja.count(or(t)-1,t),e,2)}function dd(t,e){return Ne(t.getFullYear()%100,e,2)}function hd(t,e){return t=zo(t),Ne(t.getFullYear()%100,e,2)}function gd(t,e){return Ne(t.getFullYear()%1e4,e,4)}function vd(t,e){var n=t.getDay();return t=n>=4||n===0?Hr(t):Hr.ceil(t),Ne(t.getFullYear()%1e4,e,4)}function pd(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Ne(e/60|0,"0",2)+Ne(e%60,"0",2)}function jo(t,e){return Ne(t.getUTCDate(),e,2)}function md(t,e){return Ne(t.getUTCHours(),e,2)}function yd(t,e){return Ne(t.getUTCHours()%12||12,e,2)}function xd(t,e){return Ne(1+qa.count(lr(t),t),e,3)}function Go(t,e){return Ne(t.getUTCMilliseconds(),e,3)}function Td(t,e){return Go(t,e)+"000"}function $d(t,e){return Ne(t.getUTCMonth()+1,e,2)}function Sd(t,e){return Ne(t.getUTCMinutes(),e,2)}function Ad(t,e){return Ne(t.getUTCSeconds(),e,2)}function Ed(t){var e=t.getUTCDay();return e===0?7:e}function bd(t,e){return Ne(ka.count(lr(t)-1,t),e,2)}function Vo(t){var e=t.getUTCDay();return e>=4||e===0?Wr(t):Wr.ceil(t)}function Rd(t,e){return t=Vo(t),Ne(Wr.count(lr(t),t)+(lr(t).getUTCDay()===4),e,2)}function Id(t){return t.getUTCDay()}function Od(t,e){return Ne(Qa.count(lr(t)-1,t),e,2)}function Cd(t,e){return Ne(t.getUTCFullYear()%100,e,2)}function Pd(t,e){return t=Vo(t),Ne(t.getUTCFullYear()%100,e,2)}function wd(t,e){return Ne(t.getUTCFullYear()%1e4,e,4)}function Md(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Wr(t):Wr.ceil(t),Ne(t.getUTCFullYear()%1e4,e,4)}function Dd(){return"+0000"}function Xo(){return"%"}function Yo(t){return+t}function Ho(t){return Math.floor(+t/1e3)}var Kr,as,Wo,is,Ko;Ld({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Ld(t){return Kr=Lf(t),as=Kr.format,Wo=Kr.parse,is=Kr.utcFormat,Ko=Kr.utcParse,Kr}var Nd=Object.defineProperty,Zo=Object.getOwnPropertySymbols,Fd=Object.prototype.hasOwnProperty,Bd=Object.prototype.propertyIsEnumerable,Jo=(t,e,n)=>e in t?Nd(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Qe=(t,e)=>{for(var n in e||(e={}))Fd.call(e,n)&&Jo(t,n,e[n]);if(Zo)for(var n of Zo(e))Bd.call(e,n)&&Jo(t,n,e[n]);return t};const Se={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},je={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},_a={area:"bb-area",areas:"bb-areas"},dn={axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},Kn={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},cr={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},$n={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},ss={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},Or={dragarea:"bb-dragarea",INCLUDED:"_included_"},Ta={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},Un={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},We={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},ur={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},Zn={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},qe={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},sn={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},Tr={level:"bb-level",levels:"bb-levels"},ko={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},$a={region:"bb-region",regions:"bb-regions"},tn={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},on={shape:"bb-shape",shapes:"bb-shapes"},Qo={brush:"bb-brush",subchart:"bb-subchart"},On={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},ti={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},qo={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},os={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var Ue=Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe({},Se),je),_a),dn),Kn),cr),$n),ss),Or),Un),We),ur),Zn),qe),Ta),sn),ko),$a),tn),on),Qo),On),ti),qo),os),Ud={boost_useCssRule:!1,boost_useWorker:!1},zd={color_pattern:[],color_tiles:void 0,color_threshold:{},color_onover:void 0},jd={legend_contents_bindto:void 0,legend_contents_template:"<span style='color:#fff;padding:5px;background-color:{=COLOR}'>{=TITLE}</span>",legend_equally:!1,legend_hide:!1,legend_inset_anchor:"top-left",legend_inset_x:10,legend_inset_y:0,legend_inset_step:void 0,legend_item_interaction:!0,legend_item_dblclick:!1,legend_item_onclick:void 0,legend_item_onover:void 0,legend_item_onout:void 0,legend_item_tile_width:10,legend_item_tile_height:10,legend_item_tile_r:5,legend_item_tile_type:"rectangle",legend_format:void 0,legend_padding:0,legend_position:"bottom",legend_show:!0,legend_tooltip:!1,legend_usePoint:!1},Gd={bindto:"#chart",background:{},clipPath:!0,svg_classname:void 0,size_width:void 0,size_height:void 0,padding:!0,padding_mode:void 0,padding_left:void 0,padding_right:void 0,padding_top:void 0,padding_bottom:void 0,resize_auto:!0,resize_timer:!0,onclick:void 0,onover:void 0,onout:void 0,onresize:void 0,onresized:void 0,onbeforeinit:void 0,oninit:void 0,onafterinit:void 0,onrendered:void 0,transition_duration:250,plugins:[],render:{},regions:[]},Vd={title_text:void 0,title_padding:{top:0,right:0,bottom:0,left:0},title_position:"center"},Xd={tooltip_show:!0,tooltip_doNotHide:!1,tooltip_grouped:!0,tooltip_format_title:void 0,tooltip_format_name:void 0,tooltip_format_value:void 0,tooltip_position:void 0,tooltip_contents:{},tooltip_init_show:!1,tooltip_init_x:0,tooltip_init_position:void 0,tooltip_linked:!1,tooltip_linked_name:"",tooltip_onshow:()=>{},tooltip_onhide:()=>{},tooltip_onshown:()=>{},tooltip_onhidden:()=>{},tooltip_order:null},Yd={data_x:void 0,data_idConverter:t=>t,data_names:{},data_classes:{},data_type:void 0,data_types:{},data_order:"desc",data_groups:[],data_groupsZeroAs:"positive",data_color:void 0,data_colors:{},data_labels:{},data_labels_backgroundColors:void 0,data_labels_colors:void 0,data_labels_position:{},data_hide:!1,data_filter:void 0,data_onclick:()=>{},data_onover:()=>{},data_onout:()=>{},data_onshown:void 0,data_onhidden:void 0,data_onmin:void 0,data_onmax:void 0,data_url:void 0,data_headers:void 0,data_json:void 0,data_rows:void 0,data_columns:void 0,data_mimeType:"csv",data_keys:void 0,data_empty_label_text:""},Hd={interaction_enabled:!0,interaction_brighten:!0,interaction_inputType_mouse:!0,interaction_inputType_touch:{},interaction_onout:!0},Wd={value:()=>{}};function _o(){for(var t=0,e=arguments.length,n={},a;t<e;++t){if(!(a=arguments[t]+"")||a in n||/[\s.]/.test(a))throw new Error("illegal type: "+a);n[a]=[]}return new ei(n)}function ei(t){this._=t}function Kd(t,e){return t.trim().split(/^|\s+/).map(function(n){var a="",i=n.indexOf(".");if(i>=0&&(a=n.slice(i+1),n=n.slice(0,i)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:a}})}ei.prototype=_o.prototype={constructor:ei,on:function(t,e){var n=this._,a=Kd(t+"",n),i,s=-1,o=a.length;if(arguments.length<2){for(;++s<o;)if((i=(t=a[s]).type)&&(i=Zd(n[i],t.name)))return i;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++s<o;)if(i=(t=a[s]).type)n[i]=tl(n[i],t.name,e);else if(e==null)for(i in n)n[i]=tl(n[i],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new ei(t)},call:function(t,e){if((i=arguments.length-2)>0)for(var n=new Array(i),a=0,i,s;a<i;++a)n[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(s=this._[t],a=0,i=s.length;a<i;++a)s[a].value.apply(e,n)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var a=this._[t],i=0,s=a.length;i<s;++i)a[i].value.apply(e,n)}};function Zd(t,e){for(var n=0,a=t.length,i;n<a;++n)if((i=t[n]).name===e)return i.value}function tl(t,e,n){for(var a=0,i=t.length;a<i;++a)if(t[a].name===e){t[a]=Wd,t=t.slice(0,a).concat(t.slice(a+1));break}return n!=null&&t.push({name:e,value:n}),t}var ni=_o;const Jd={passive:!1},Sa={capture:!0,passive:!1};function ls(t){t.stopImmediatePropagation()}function Zr(t){t.preventDefault(),t.stopImmediatePropagation()}function cs(t){var e=t.document.documentElement,n=st(t).on("dragstart.drag",Zr,Sa);"onselectstart"in e?n.on("selectstart.drag",Zr,Sa):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function us(t,e){var n=t.document.documentElement,a=st(t).on("dragstart.drag",null);e&&(a.on("click.drag",Zr,Sa),setTimeout(function(){a.on("click.drag",null)},0)),"onselectstart"in n?a.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function fs(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function el(t,e){var n=Object.create(t.prototype);for(var a in e)n[a]=e[a];return n}function Aa(){}var Ea=.7,ri=1/Ea,Jr="\\s*([+-]?\\d+)\\s*",ba="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",tr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",kd=/^#([0-9a-f]{3,8})$/,Qd=new RegExp(`^rgb\\(${Jr},${Jr},${Jr}\\)$`),qd=new RegExp(`^rgb\\(${tr},${tr},${tr}\\)$`),_d=new RegExp(`^rgba\\(${Jr},${Jr},${Jr},${ba}\\)$`),th=new RegExp(`^rgba\\(${tr},${tr},${tr},${ba}\\)$`),eh=new RegExp(`^hsl\\(${ba},${tr},${tr}\\)$`),nh=new RegExp(`^hsla\\(${ba},${tr},${tr},${ba}\\)$`),nl={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};fs(Aa,Cr,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:rl,formatHex:rl,formatHex8:rh,formatHsl:ah,formatRgb:al,toString:al});function rl(){return this.rgb().formatHex()}function rh(){return this.rgb().formatHex8()}function ah(){return cl(this).formatHsl()}function al(){return this.rgb().formatRgb()}function Cr(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=kd.exec(t))?(n=e[1].length,e=parseInt(e[1],16),n===6?il(e):n===3?new Mn(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?ai(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?ai(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Qd.exec(t))?new Mn(e[1],e[2],e[3],1):(e=qd.exec(t))?new Mn(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=_d.exec(t))?ai(e[1],e[2],e[3],e[4]):(e=th.exec(t))?ai(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=eh.exec(t))?ll(e[1],e[2]/100,e[3]/100,1):(e=nh.exec(t))?ll(e[1],e[2]/100,e[3]/100,e[4]):nl.hasOwnProperty(t)?il(nl[t]):t==="transparent"?new Mn(NaN,NaN,NaN,0):null}function il(t){return new Mn(t>>16&255,t>>8&255,t&255,1)}function ai(t,e,n,a){return a<=0&&(t=e=n=NaN),new Mn(t,e,n,a)}function ih(t){return t instanceof Aa||(t=Cr(t)),t?(t=t.rgb(),new Mn(t.r,t.g,t.b,t.opacity)):new Mn}function ii(t,e,n,a){return arguments.length===1?ih(t):new Mn(t,e,n,a==null?1:a)}function Mn(t,e,n,a){this.r=+t,this.g=+e,this.b=+n,this.opacity=+a}fs(Mn,ii,el(Aa,{brighter(t){return t=t==null?ri:Math.pow(ri,t),new Mn(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Ea:Math.pow(Ea,t),new Mn(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Mn(Pr(this.r),Pr(this.g),Pr(this.b),si(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:sl,formatHex:sl,formatHex8:sh,formatRgb:ol,toString:ol}));function sl(){return`#${wr(this.r)}${wr(this.g)}${wr(this.b)}`}function sh(){return`#${wr(this.r)}${wr(this.g)}${wr(this.b)}${wr((isNaN(this.opacity)?1:this.opacity)*255)}`}function ol(){const t=si(this.opacity);return`${t===1?"rgb(":"rgba("}${Pr(this.r)}, ${Pr(this.g)}, ${Pr(this.b)}${t===1?")":`, ${t})`}`}function si(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Pr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function wr(t){return t=Pr(t),(t<16?"0":"")+t.toString(16)}function ll(t,e,n,a){return a<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Jn(t,e,n,a)}function cl(t){if(t instanceof Jn)return new Jn(t.h,t.s,t.l,t.opacity);if(t instanceof Aa||(t=Cr(t)),!t)return new Jn;if(t instanceof Jn)return t;t=t.rgb();var e=t.r/255,n=t.g/255,a=t.b/255,i=Math.min(e,n,a),s=Math.max(e,n,a),o=NaN,l=s-i,c=(s+i)/2;return l?(e===s?o=(n-a)/l+(n<a)*6:n===s?o=(a-e)/l+2:o=(e-n)/l+4,l/=c<.5?s+i:2-s-i,o*=60):l=c>0&&c<1?0:o,new Jn(o,l,c,t.opacity)}function oh(t,e,n,a){return arguments.length===1?cl(t):new Jn(t,e,n,a==null?1:a)}function Jn(t,e,n,a){this.h=+t,this.s=+e,this.l=+n,this.opacity=+a}fs(Jn,oh,el(Aa,{brighter(t){return t=t==null?ri:Math.pow(ri,t),new Jn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Ea:Math.pow(Ea,t),new Jn(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,a=n+(n<.5?n:1-n)*e,i=2*n-a;return new Mn(ds(t>=240?t-240:t+120,i,a),ds(t,i,a),ds(t<120?t+240:t-120,i,a),this.opacity)},clamp(){return new Jn(ul(this.h),oi(this.s),oi(this.l),si(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=si(this.opacity);return`${t===1?"hsl(":"hsla("}${ul(this.h)}, ${oi(this.s)*100}%, ${oi(this.l)*100}%${t===1?")":`, ${t})`}`}}));function ul(t){return t=(t||0)%360,t<0?t+360:t}function oi(t){return Math.max(0,Math.min(1,t||0))}function ds(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}function fl(t,e,n,a,i){var s=t*t,o=s*t;return((1-3*t+3*s-o)*e+(4-6*s+3*o)*n+(1+3*t+3*s-3*o)*a+o*i)/6}function lh(t){var e=t.length-1;return function(n){var a=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[a],s=t[a+1],o=a>0?t[a-1]:2*i-s,l=a<e-1?t[a+2]:2*s-i;return fl((n-a/e)*e,o,i,s,l)}}function ch(t){var e=t.length;return function(n){var a=Math.floor(((n%=1)<0?++n:n)*e),i=t[(a+e-1)%e],s=t[a%e],o=t[(a+1)%e],l=t[(a+2)%e];return fl((n-a/e)*e,i,s,o,l)}}var li=t=>()=>t;function dl(t,e){return function(n){return t+n*e}}function uh(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(a){return Math.pow(t+a*e,n)}}function W0(t,e){var n=e-t;return n?dl(t,n>180||n<-180?n-360*Math.round(n/360):n):li(isNaN(t)?e:t)}function fh(t){return(t=+t)==1?hl:function(e,n){return n-e?uh(e,n,t):li(isNaN(e)?n:e)}}function hl(t,e){var n=e-t;return n?dl(t,n):li(isNaN(t)?e:t)}var ci=function t(e){var n=fh(e);function a(i,s){var o=n((i=ii(i)).r,(s=ii(s)).r),l=n(i.g,s.g),c=n(i.b,s.b),f=hl(i.opacity,s.opacity);return function(g){return i.r=o(g),i.g=l(g),i.b=c(g),i.opacity=f(g),i+""}}return a.gamma=t,a}(1);function gl(t){return function(e){var n=e.length,a=new Array(n),i=new Array(n),s=new Array(n),o,l;for(o=0;o<n;++o)l=ii(e[o]),a[o]=l.r||0,i[o]=l.g||0,s[o]=l.b||0;return a=t(a),i=t(i),s=t(s),l.opacity=1,function(c){return l.r=a(c),l.g=i(c),l.b=s(c),l+""}}}var K0=gl(lh),Z0=gl(ch);function vl(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,a=e.slice(),i;return function(s){for(i=0;i<n;++i)a[i]=t[i]*(1-s)+e[i]*s;return a}}function pl(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function J0(t,e){return(pl(e)?vl:ml)(t,e)}function ml(t,e){var n=e?e.length:0,a=t?Math.min(n,t.length):0,i=new Array(a),s=new Array(n),o;for(o=0;o<a;++o)i[o]=kr(t[o],e[o]);for(;o<n;++o)s[o]=e[o];return function(l){for(o=0;o<a;++o)s[o]=i[o](l);return s}}function dh(t,e){var n=new Date;return t=+t,e=+e,function(a){return n.setTime(t*(1-a)+e*a),n}}function kn(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function hh(t,e){var n={},a={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?n[i]=kr(t[i],e[i]):a[i]=e[i];return function(s){for(i in n)a[i]=n[i](s);return a}}var hs=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,gs=new RegExp(hs.source,"g");function gh(t){return function(){return t}}function vh(t){return function(e){return t(e)+""}}function yl(t,e){var n=hs.lastIndex=gs.lastIndex=0,a,i,s,o=-1,l=[],c=[];for(t=t+"",e=e+"";(a=hs.exec(t))&&(i=gs.exec(e));)(s=i.index)>n&&(s=e.slice(n,s),l[o]?l[o]+=s:l[++o]=s),(a=a[0])===(i=i[0])?l[o]?l[o]+=i:l[++o]=i:(l[++o]=null,c.push({i:o,x:kn(a,i)})),n=gs.lastIndex;return n<e.length&&(s=e.slice(n),l[o]?l[o]+=s:l[++o]=s),l.length<2?c[0]?vh(c[0].x):gh(e):(e=c.length,function(f){for(var g=0,v;g<e;++g)l[(v=c[g]).i]=v.x(f);return l.join("")})}function kr(t,e){var n=typeof e,a;return e==null||n==="boolean"?li(e):(n==="number"?kn:n==="string"?(a=Cr(e))?(e=a,ci):yl:e instanceof Cr?ci:e instanceof Date?dh:pl(e)?vl:Array.isArray(e)?ml:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?hh:kn)(t,e)}function ph(t){let e;for(;e=t.sourceEvent;)t=e;return t}function Yn(t,e){if(t=ph(t),e===void 0&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var a=n.createSVGPoint();return a.x=t.clientX,a.y=t.clientY,a=a.matrixTransform(e.getScreenCTM().inverse()),[a.x,a.y]}if(e.getBoundingClientRect){var i=e.getBoundingClientRect();return[t.clientX-i.left-e.clientLeft,t.clientY-i.top-e.clientTop]}}return[t.pageX,t.pageY]}var Qr=0,Ra=0,Ia=0,xl=1e3,ui,Oa,fi=0,Mr=0,di=0,Ca=typeof performance=="object"&&performance.now?performance:Date,Tl=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function vs(){return Mr||(Tl(mh),Mr=Ca.now()+di)}function mh(){Mr=0}function hi(){this._call=this._time=this._next=null}hi.prototype=$l.prototype={constructor:hi,restart:function(t,e,n){if(typeof t!="function")throw new TypeError("callback is not a function");n=(n==null?vs():+n)+(e==null?0:+e),!this._next&&Oa!==this&&(Oa?Oa._next=this:ui=this,Oa=this),this._call=t,this._time=n,ps()},stop:function(){this._call&&(this._call=null,this._time=1/0,ps())}};function $l(t,e,n){var a=new hi;return a.restart(t,e,n),a}function yh(){vs(),++Qr;for(var t=ui,e;t;)(e=Mr-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Qr}function Sl(){Mr=(fi=Ca.now())+di,Qr=Ra=0;try{yh()}finally{Qr=0,Th(),Mr=0}}function xh(){var t=Ca.now(),e=t-fi;e>xl&&(di-=e,fi=t)}function Th(){for(var t,e=ui,n,a=1/0;e;)e._call?(a>e._time&&(a=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:ui=n);Oa=t,ps(a)}function ps(t){if(!Qr){Ra&&(Ra=clearTimeout(Ra));var e=t-Mr;e>24?(t<1/0&&(Ra=setTimeout(Sl,t-Ca.now()-di)),Ia&&(Ia=clearInterval(Ia))):(Ia||(fi=Ca.now(),Ia=setInterval(xh,xl)),Qr=1,Tl(Sl))}}function Al(t,e,n){var a=new hi;return e=e==null?0:+e,a.restart(i=>{a.stop(),t(i+e)},e,n),a}var $h=ni("start","end","cancel","interrupt"),Sh=[],El=0,bl=1,ms=2,gi=3,Rl=4,ys=5,vi=6;function pi(t,e,n,a,i,s){var o=t.__transition;if(!o)t.__transition={};else if(n in o)return;Ah(t,n,{name:e,index:a,group:i,on:$h,tween:Sh,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:El})}function xs(t,e){var n=Qn(t,e);if(n.state>El)throw new Error("too late; already scheduled");return n}function er(t,e){var n=Qn(t,e);if(n.state>gi)throw new Error("too late; already running");return n}function Qn(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Ah(t,e,n){var a=t.__transition,i;a[e]=n,n.timer=$l(s,0,n.time);function s(f){n.state=bl,n.timer.restart(o,n.delay,n.time),n.delay<=f&&o(f-n.delay)}function o(f){var g,v,m,S;if(n.state!==bl)return c();for(g in a)if(S=a[g],S.name===n.name){if(S.state===gi)return Al(o);S.state===Rl?(S.state=vi,S.timer.stop(),S.on.call("interrupt",t,t.__data__,S.index,S.group),delete a[g]):+g<e&&(S.state=vi,S.timer.stop(),S.on.call("cancel",t,t.__data__,S.index,S.group),delete a[g])}if(Al(function(){n.state===gi&&(n.state=Rl,n.timer.restart(l,n.delay,n.time),l(f))}),n.state=ms,n.on.call("start",t,t.__data__,n.index,n.group),n.state===ms){for(n.state=gi,i=new Array(m=n.tween.length),g=0,v=-1;g<m;++g)(S=n.tween[g].value.call(t,t.__data__,n.index,n.group))&&(i[++v]=S);i.length=v+1}}function l(f){for(var g=f<n.duration?n.ease.call(null,f/n.duration):(n.timer.restart(c),n.state=ys,1),v=-1,m=i.length;++v<m;)i[v].call(t,g);n.state===ys&&(n.on.call("end",t,t.__data__,n.index,n.group),c())}function c(){n.state=vi,n.timer.stop(),delete a[e];for(var f in a)return;delete t.__transition}}function qr(t,e){var n=t.__transition,a,i,s=!0,o;if(n){e=e==null?null:e+"";for(o in n){if((a=n[o]).name!==e){s=!1;continue}i=a.state>ms&&a.state<ys,a.state=vi,a.timer.stop(),a.on.call(i?"interrupt":"cancel",t,t.__data__,a.index,a.group),delete n[o]}s&&delete t.__transition}}function Eh(t){return this.each(function(){qr(this,t)})}var Il=180/Math.PI,Ts={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Ol(t,e,n,a,i,s){var o,l,c;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(c=t*n+e*a)&&(n-=t*c,a-=e*c),(l=Math.sqrt(n*n+a*a))&&(n/=l,a/=l,c/=l),t*a<e*n&&(t=-t,e=-e,c=-c,o=-o),{translateX:i,translateY:s,rotate:Math.atan2(e,t)*Il,skewX:Math.atan(c)*Il,scaleX:o,scaleY:l}}var mi;function bh(t){const e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?Ts:Ol(e.a,e.b,e.c,e.d,e.e,e.f)}function Rh(t){return t==null||(mi||(mi=document.createElementNS("http://www.w3.org/2000/svg","g")),mi.setAttribute("transform",t),!(t=mi.transform.baseVal.consolidate()))?Ts:(t=t.matrix,Ol(t.a,t.b,t.c,t.d,t.e,t.f))}function Cl(t,e,n,a){function i(f){return f.length?f.pop()+" ":""}function s(f,g,v,m,S,P){if(f!==v||g!==m){var N=S.push("translate(",null,e,null,n);P.push({i:N-4,x:kn(f,v)},{i:N-2,x:kn(g,m)})}else(v||m)&&S.push("translate("+v+e+m+n)}function o(f,g,v,m){f!==g?(f-g>180?g+=360:g-f>180&&(f+=360),m.push({i:v.push(i(v)+"rotate(",null,a)-2,x:kn(f,g)})):g&&v.push(i(v)+"rotate("+g+a)}function l(f,g,v,m){f!==g?m.push({i:v.push(i(v)+"skewX(",null,a)-2,x:kn(f,g)}):g&&v.push(i(v)+"skewX("+g+a)}function c(f,g,v,m,S,P){if(f!==v||g!==m){var N=S.push(i(S)+"scale(",null,",",null,")");P.push({i:N-4,x:kn(f,v)},{i:N-2,x:kn(g,m)})}else(v!==1||m!==1)&&S.push(i(S)+"scale("+v+","+m+")")}return function(f,g){var v=[],m=[];return f=t(f),g=t(g),s(f.translateX,f.translateY,g.translateX,g.translateY,v,m),o(f.rotate,g.rotate,v,m),l(f.skewX,g.skewX,v,m),c(f.scaleX,f.scaleY,g.scaleX,g.scaleY,v,m),f=g=null,function(S){for(var P=-1,N=m.length,L;++P<N;)v[(L=m[P]).i]=L.x(S);return v.join("")}}}var Ih=Cl(bh,"px, ","px)","deg)"),Oh=Cl(Rh,", ",")",")");function Ch(t,e){var n,a;return function(){var i=er(this,t),s=i.tween;if(s!==n){a=n=s;for(var o=0,l=a.length;o<l;++o)if(a[o].name===e){a=a.slice(),a.splice(o,1);break}}i.tween=a}}function Ph(t,e,n){var a,i;if(typeof n!="function")throw new Error;return function(){var s=er(this,t),o=s.tween;if(o!==a){i=(a=o).slice();for(var l={name:e,value:n},c=0,f=i.length;c<f;++c)if(i[c].name===e){i[c]=l;break}c===f&&i.push(l)}s.tween=i}}function wh(t,e){var n=this._id;if(t+="",arguments.length<2){for(var a=Qn(this.node(),n).tween,i=0,s=a.length,o;i<s;++i)if((o=a[i]).name===t)return o.value;return null}return this.each((e==null?Ch:Ph)(n,t,e))}function $s(t,e,n){var a=t._id;return t.each(function(){var i=er(this,a);(i.value||(i.value={}))[e]=n.apply(this,arguments)}),function(i){return Qn(i,a).value[e]}}function Pl(t,e){var n;return(typeof e=="number"?kn:e instanceof Cr?ci:(n=Cr(e))?(e=n,ci):yl)(t,e)}function Mh(t){return function(){this.removeAttribute(t)}}function Dh(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Lh(t,e,n){var a,i=n+"",s;return function(){var o=this.getAttribute(t);return o===i?null:o===a?s:s=e(a=o,n)}}function Nh(t,e,n){var a,i=n+"",s;return function(){var o=this.getAttributeNS(t.space,t.local);return o===i?null:o===a?s:s=e(a=o,n)}}function Fh(t,e,n){var a,i,s;return function(){var o,l=n(this),c;return l==null?void this.removeAttribute(t):(o=this.getAttribute(t),c=l+"",o===c?null:o===a&&c===i?s:(i=c,s=e(a=o,l)))}}function Bh(t,e,n){var a,i,s;return function(){var o,l=n(this),c;return l==null?void this.removeAttributeNS(t.space,t.local):(o=this.getAttributeNS(t.space,t.local),c=l+"",o===c?null:o===a&&c===i?s:(i=c,s=e(a=o,l)))}}function Uh(t,e){var n=Mt(t),a=n==="transform"?Oh:Pl;return this.attrTween(t,typeof e=="function"?(n.local?Bh:Fh)(n,a,$s(this,"attr."+t,e)):e==null?(n.local?Dh:Mh)(n):(n.local?Nh:Lh)(n,a,e))}function zh(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function jh(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function Gh(t,e){var n,a;function i(){var s=e.apply(this,arguments);return s!==a&&(n=(a=s)&&jh(t,s)),n}return i._value=e,i}function Vh(t,e){var n,a;function i(){var s=e.apply(this,arguments);return s!==a&&(n=(a=s)&&zh(t,s)),n}return i._value=e,i}function Xh(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;var a=Mt(t);return this.tween(n,(a.local?Gh:Vh)(a,e))}function Yh(t,e){return function(){xs(this,t).delay=+e.apply(this,arguments)}}function Hh(t,e){return e=+e,function(){xs(this,t).delay=e}}function Wh(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?Yh:Hh)(e,t)):Qn(this.node(),e).delay}function Kh(t,e){return function(){er(this,t).duration=+e.apply(this,arguments)}}function Zh(t,e){return e=+e,function(){er(this,t).duration=e}}function Jh(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?Kh:Zh)(e,t)):Qn(this.node(),e).duration}function kh(t,e){if(typeof e!="function")throw new Error;return function(){er(this,t).ease=e}}function Qh(t){var e=this._id;return arguments.length?this.each(kh(e,t)):Qn(this.node(),e).ease}function qh(t,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;er(this,t).ease=n}}function _h(t){if(typeof t!="function")throw new Error;return this.each(qh(this._id,t))}function tg(t){typeof t!="function"&&(t=I(t));for(var e=this._groups,n=e.length,a=new Array(n),i=0;i<n;++i)for(var s=e[i],o=s.length,l=a[i]=[],c,f=0;f<o;++f)(c=s[f])&&t.call(c,c.__data__,f,s)&&l.push(c);return new fr(a,this._parents,this._name,this._id)}function eg(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,a=e.length,i=n.length,s=Math.min(a,i),o=new Array(a),l=0;l<s;++l)for(var c=e[l],f=n[l],g=c.length,v=o[l]=new Array(g),m,S=0;S<g;++S)(m=c[S]||f[S])&&(v[S]=m);for(;l<a;++l)o[l]=e[l];return new fr(o,this._parents,this._name,this._id)}function ng(t){return(t+"").trim().split(/^|\s+/).every(function(e){var n=e.indexOf(".");return n>=0&&(e=e.slice(0,n)),!e||e==="start"})}function rg(t,e,n){var a,i,s=ng(e)?xs:er;return function(){var o=s(this,t),l=o.on;l!==a&&(i=(a=l).copy()).on(e,n),o.on=i}}function ag(t,e){var n=this._id;return arguments.length<2?Qn(this.node(),n).on.on(t):this.each(rg(n,t,e))}function ig(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function sg(){return this.on("end.remove",ig(this._id))}function og(t){var e=this._name,n=this._id;typeof t!="function"&&(t=p(t));for(var a=this._groups,i=a.length,s=new Array(i),o=0;o<i;++o)for(var l=a[o],c=l.length,f=s[o]=new Array(c),g,v,m=0;m<c;++m)(g=l[m])&&(v=t.call(g,g.__data__,m,l))&&("__data__"in g&&(v.__data__=g.__data__),f[m]=v,pi(f[m],e,n,m,f,Qn(g,n)));return new fr(s,this._parents,e,n)}function lg(t){var e=this._name,n=this._id;typeof t!="function"&&(t=A(t));for(var a=this._groups,i=a.length,s=[],o=[],l=0;l<i;++l)for(var c=a[l],f=c.length,g,v=0;v<f;++v)if(g=c[v]){for(var m=t.call(g,g.__data__,v,c),S,P=Qn(g,n),N=0,L=m.length;N<L;++N)(S=m[N])&&pi(S,e,n,N,m,P);s.push(m),o.push(g)}return new fr(s,o,e,n)}var cg=mn.prototype.constructor;function ug(){return new cg(this._groups,this._parents)}function fg(t,e){var n,a,i;return function(){var s=bt(this,t),o=(this.style.removeProperty(t),bt(this,t));return s===o?null:s===n&&o===a?i:i=e(n=s,a=o)}}function wl(t){return function(){this.style.removeProperty(t)}}function dg(t,e,n){var a,i=n+"",s;return function(){var o=bt(this,t);return o===i?null:o===a?s:s=e(a=o,n)}}function hg(t,e,n){var a,i,s;return function(){var o=bt(this,t),l=n(this),c=l+"";return l==null&&(c=l=(this.style.removeProperty(t),bt(this,t))),o===c?null:o===a&&c===i?s:(i=c,s=e(a=o,l))}}function gg(t,e){var n,a,i,s="style."+e,o="end."+s,l;return function(){var c=er(this,t),f=c.on,g=c.value[s]==null?l||(l=wl(e)):void 0;(f!==n||i!==g)&&(a=(n=f).copy()).on(o,i=g),c.on=a}}function vg(t,e,n){var a=(t+="")=="transform"?Ih:Pl;return e==null?this.styleTween(t,fg(t,a)).on("end.style."+t,wl(t)):typeof e=="function"?this.styleTween(t,hg(t,a,$s(this,"style."+t,e))).each(gg(this._id,t)):this.styleTween(t,dg(t,a,e),n).on("end.style."+t,null)}function pg(t,e,n){return function(a){this.style.setProperty(t,e.call(this,a),n)}}function mg(t,e,n){var a,i;function s(){var o=e.apply(this,arguments);return o!==i&&(a=(i=o)&&pg(t,o,n)),a}return s._value=e,s}function yg(t,e,n){var a="style."+(t+="");if(arguments.length<2)return(a=this.tween(a))&&a._value;if(e==null)return this.tween(a,null);if(typeof e!="function")throw new Error;return this.tween(a,mg(t,e,n==null?"":n))}function xg(t){return function(){this.textContent=t}}function Tg(t){return function(){var e=t(this);this.textContent=e==null?"":e}}function $g(t){return this.tween("text",typeof t=="function"?Tg($s(this,"text",t)):xg(t==null?"":t+""))}function Sg(t){return function(e){this.textContent=t.call(this,e)}}function Ag(t){var e,n;function a(){var i=t.apply(this,arguments);return i!==n&&(e=(n=i)&&Sg(i)),e}return a._value=t,a}function Eg(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,Ag(t))}function bg(){for(var t=this._name,e=this._id,n=Dl(),a=this._groups,i=a.length,s=0;s<i;++s)for(var o=a[s],l=o.length,c,f=0;f<l;++f)if(c=o[f]){var g=Qn(c,e);pi(c,t,n,f,o,{time:g.time+g.delay+g.duration,delay:0,duration:g.duration,ease:g.ease})}return new fr(a,this._parents,t,n)}function Rg(){var t,e,n=this,a=n._id,i=n.size();return new Promise(function(s,o){var l={value:o},c={value:function(){--i===0&&s()}};n.each(function(){var f=er(this,a),g=f.on;g!==t&&(e=(t=g).copy(),e._.cancel.push(l),e._.interrupt.push(l),e._.end.push(c)),f.on=e}),i===0&&s()})}var Ig=0;function fr(t,e,n,a){this._groups=t,this._parents=e,this._name=n,this._id=a}function Ml(t){return mn().transition(t)}function Dl(){return++Ig}var dr=mn.prototype;fr.prototype=Ml.prototype={constructor:fr,select:og,selectAll:lg,selectChild:dr.selectChild,selectChildren:dr.selectChildren,filter:tg,merge:eg,selection:ug,transition:bg,call:dr.call,nodes:dr.nodes,node:dr.node,size:dr.size,empty:dr.empty,each:dr.each,on:ag,attr:Uh,attrTween:Xh,style:vg,styleTween:yg,text:$g,textTween:Eg,remove:sg,tween:wh,delay:Wh,duration:Jh,ease:Qh,easeVarying:_h,end:Rg,[Symbol.iterator]:dr[Symbol.iterator]};function k0(t){return t*t*t}function Q0(t){return--t*t*t+1}function Og(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var Cg={time:null,delay:0,duration:250,ease:Og};function Pg(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}function wg(t){var e,n;t instanceof fr?(e=t._id,t=t._name):(e=Dl(),(n=Cg).time=vs(),t=t==null?null:t+"");for(var a=this._groups,i=a.length,s=0;s<i;++s)for(var o=a[s],l=o.length,c,f=0;f<l;++f)(c=o[f])&&pi(c,t,e,f,o,n||Pg(c,e));return new fr(a,this._parents,t,e)}mn.prototype.interrupt=Eh,mn.prototype.transition=wg;var Ss=t=>()=>t;function Mg(t,{sourceEvent:e,target:n,selection:a,mode:i,dispatch:s}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:a,enumerable:!0,configurable:!0},mode:{value:i,enumerable:!0,configurable:!0},_:{value:s}})}function Dg(t){t.stopImmediatePropagation()}function As(t){t.preventDefault(),t.stopImmediatePropagation()}var Ll={name:"drag"},Es={name:"space"},_r={name:"handle"},ta={name:"center"};const{abs:Nl,max:Sn,min:An}=Math;function Fl(t){return[+t[0],+t[1]]}function bs(t){return[Fl(t[0]),Fl(t[1])]}var yi={name:"x",handles:["w","e"].map(Pa),input:function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},xi={name:"y",handles:["n","s"].map(Pa),input:function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},Lg={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(Pa),input:function(t){return t==null?null:bs(t)},output:function(t){return t}},hr={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Bl={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},Ul={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},Ng={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},Fg={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function Pa(t){return{type:t}}function Bg(t){return!t.ctrlKey&&!t.button}function Ug(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function zg(){return navigator.maxTouchPoints||"ontouchstart"in this}function Rs(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function jg(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function zl(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function Gg(){return Is(yi)}function Vg(){return Is(xi)}function q0(){return Is(Lg)}function Is(t){var e=Ug,n=Bg,a=zg,i=!0,s=ni("start","brush","end"),o=6,l;function c(L){var w=L.property("__brush",N).selectAll(".overlay").data([Pa("overlay")]);w.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",hr.overlay).merge(w).each(function(){var W=Rs(this).extent;st(this).attr("x",W[0][0]).attr("y",W[0][1]).attr("width",W[1][0]-W[0][0]).attr("height",W[1][1]-W[0][1])}),L.selectAll(".selection").data([Pa("selection")]).enter().append("rect").attr("class","selection").attr("cursor",hr.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var X=L.selectAll(".handle").data(t.handles,function(W){return W.type});X.exit().remove(),X.enter().append("rect").attr("class",function(W){return"handle handle--"+W.type}).attr("cursor",function(W){return hr[W.type]}),L.each(f).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",m).filter(a).on("touchstart.brush",m).on("touchmove.brush",S).on("touchend.brush touchcancel.brush",P).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}c.move=function(L,w,X){L.tween?L.on("start.brush",function(W){g(this,arguments).beforestart().start(W)}).on("interrupt.brush end.brush",function(W){g(this,arguments).end(W)}).tween("brush",function(){var W=this,Y=W.__brush,Q=g(W,arguments),K=Y.selection,at=t.input(typeof w=="function"?w.apply(this,arguments):w,Y.extent),ht=kr(K,at);function St(ct){Y.selection=ct===1&&at===null?null:ht(ct),f.call(W),Q.brush()}return K!==null&&at!==null?St:St(1)}):L.each(function(){var W=this,Y=arguments,Q=W.__brush,K=t.input(typeof w=="function"?w.apply(W,Y):w,Q.extent),at=g(W,Y).beforestart();qr(W),Q.selection=K===null?null:K,f.call(W),at.start(X).brush(X).end(X)})},c.clear=function(L,w){c.move(L,null,w)};function f(){var L=st(this),w=Rs(this).selection;w?(L.selectAll(".selection").style("display",null).attr("x",w[0][0]).attr("y",w[0][1]).attr("width",w[1][0]-w[0][0]).attr("height",w[1][1]-w[0][1]),L.selectAll(".handle").style("display",null).attr("x",function(X){return X.type[X.type.length-1]==="e"?w[1][0]-o/2:w[0][0]-o/2}).attr("y",function(X){return X.type[0]==="s"?w[1][1]-o/2:w[0][1]-o/2}).attr("width",function(X){return X.type==="n"||X.type==="s"?w[1][0]-w[0][0]+o:o}).attr("height",function(X){return X.type==="e"||X.type==="w"?w[1][1]-w[0][1]+o:o})):L.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function g(L,w,X){var W=L.__brush.emitter;return W&&(!X||!W.clean)?W:new v(L,w,X)}function v(L,w,X){this.that=L,this.args=w,this.state=L.__brush,this.active=0,this.clean=X}v.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(L,w){return this.starting?(this.starting=!1,this.emit("start",L,w)):this.emit("brush",L),this},brush:function(L,w){return this.emit("brush",L,w),this},end:function(L,w){return--this.active===0&&(delete this.state.emitter,this.emit("end",L,w)),this},emit:function(L,w,X){var W=st(this.that).datum();s.call(L,this.that,new Mg(L,{sourceEvent:w,target:c,selection:t.output(this.state.selection),mode:X,dispatch:s}),W)}};function m(L){if(l&&!L.touches||!n.apply(this,arguments))return;var w=this,X=L.target.__data__.type,W=(i&&L.metaKey?X="overlay":X)==="selection"?Ll:i&&L.altKey?ta:_r,Y=t===xi?null:Ng[X],Q=t===yi?null:Fg[X],K=Rs(w),at=K.extent,ht=K.selection,St=at[0][0],ct,lt,Gt=at[0][1],vt,Z,$t=at[1][0],ut,At,Vt=at[1][1],Bt,Kt,ne=0,le=0,be,Oe=Y&&Q&&i&&L.shiftKey,Ce,Ye,Fe=Array.from(L.touches||[L],pe=>{const fn=pe.identifier;return pe=Yn(pe,w),pe.point0=pe.slice(),pe.identifier=fn,pe});qr(w);var hn=g(w,arguments,!0).beforestart();if(X==="overlay"){ht&&(be=!0);const pe=[Fe[0],Fe[1]||Fe[0]];K.selection=ht=[[ct=t===xi?St:An(pe[0][0],pe[1][0]),vt=t===yi?Gt:An(pe[0][1],pe[1][1])],[ut=t===xi?$t:Sn(pe[0][0],pe[1][0]),Bt=t===yi?Vt:Sn(pe[0][1],pe[1][1])]],Fe.length>1&&un(L)}else ct=ht[0][0],vt=ht[0][1],ut=ht[1][0],Bt=ht[1][1];lt=ct,Z=vt,At=ut,Kt=Bt;var Jt=st(w).attr("pointer-events","none"),xe=Jt.selectAll(".overlay").attr("cursor",hr[X]);if(L.touches)hn.moved=Lt,hn.ended=Ge;else{var Re=st(L.view).on("mousemove.brush",Lt,!0).on("mouseup.brush",Ge,!0);i&&Re.on("keydown.brush",Cn,!0).on("keyup.brush",Pn,!0),cs(L.view)}f.call(w),hn.start(L,W.name);function Lt(pe){for(const fn of pe.changedTouches||[pe])for(const Ga of Fe)Ga.identifier===fn.identifier&&(Ga.cur=Yn(fn,w));if(Oe&&!Ce&&!Ye&&Fe.length===1){const fn=Fe[0];Nl(fn.cur[0]-fn[0])>Nl(fn.cur[1]-fn[1])?Ye=!0:Ce=!0}for(const fn of Fe)fn.cur&&(fn[0]=fn.cur[0],fn[1]=fn.cur[1]);be=!0,As(pe),un(pe)}function un(pe){const fn=Fe[0],Ga=fn.point0;var br;switch(ne=fn[0]-Ga[0],le=fn[1]-Ga[1],W){case Es:case Ll:{Y&&(ne=Sn(St-ct,An($t-ut,ne)),lt=ct+ne,At=ut+ne),Q&&(le=Sn(Gt-vt,An(Vt-Bt,le)),Z=vt+le,Kt=Bt+le);break}case _r:{Fe[1]?(Y&&(lt=Sn(St,An($t,Fe[0][0])),At=Sn(St,An($t,Fe[1][0])),Y=1),Q&&(Z=Sn(Gt,An(Vt,Fe[0][1])),Kt=Sn(Gt,An(Vt,Fe[1][1])),Q=1)):(Y<0?(ne=Sn(St-ct,An($t-ct,ne)),lt=ct+ne,At=ut):Y>0&&(ne=Sn(St-ut,An($t-ut,ne)),lt=ct,At=ut+ne),Q<0?(le=Sn(Gt-vt,An(Vt-vt,le)),Z=vt+le,Kt=Bt):Q>0&&(le=Sn(Gt-Bt,An(Vt-Bt,le)),Z=vt,Kt=Bt+le));break}case ta:{Y&&(lt=Sn(St,An($t,ct-ne*Y)),At=Sn(St,An($t,ut+ne*Y))),Q&&(Z=Sn(Gt,An(Vt,vt-le*Q)),Kt=Sn(Gt,An(Vt,Bt+le*Q)));break}}At<lt&&(Y*=-1,br=ct,ct=ut,ut=br,br=lt,lt=At,At=br,X in Bl&&xe.attr("cursor",hr[X=Bl[X]])),Kt<Z&&(Q*=-1,br=vt,vt=Bt,Bt=br,br=Z,Z=Kt,Kt=br,X in Ul&&xe.attr("cursor",hr[X=Ul[X]])),K.selection&&(ht=K.selection),Ce&&(lt=ht[0][0],At=ht[1][0]),Ye&&(Z=ht[0][1],Kt=ht[1][1]),(ht[0][0]!==lt||ht[0][1]!==Z||ht[1][0]!==At||ht[1][1]!==Kt)&&(K.selection=[[lt,Z],[At,Kt]],f.call(w),hn.brush(pe,W.name))}function Ge(pe){if(Dg(pe),pe.touches){if(pe.touches.length)return;l&&clearTimeout(l),l=setTimeout(function(){l=null},500)}else us(pe.view,be),Re.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);Jt.attr("pointer-events","all"),xe.attr("cursor",hr.overlay),K.selection&&(ht=K.selection),jg(ht)&&(K.selection=null,f.call(w)),hn.end(pe,W.name)}function Cn(pe){switch(pe.keyCode){case 16:{Oe=Y&&Q;break}case 18:{W===_r&&(Y&&(ut=At-ne*Y,ct=lt+ne*Y),Q&&(Bt=Kt-le*Q,vt=Z+le*Q),W=ta,un(pe));break}case 32:{(W===_r||W===ta)&&(Y<0?ut=At-ne:Y>0&&(ct=lt-ne),Q<0?Bt=Kt-le:Q>0&&(vt=Z-le),W=Es,xe.attr("cursor",hr.selection),un(pe));break}default:return}As(pe)}function Pn(pe){switch(pe.keyCode){case 16:{Oe&&(Ce=Ye=Oe=!1,un(pe));break}case 18:{W===ta&&(Y<0?ut=At:Y>0&&(ct=lt),Q<0?Bt=Kt:Q>0&&(vt=Z),W=_r,un(pe));break}case 32:{W===Es&&(pe.altKey?(Y&&(ut=At-ne*Y,ct=lt+ne*Y),Q&&(Bt=Kt-le*Q,vt=Z+le*Q),W=ta):(Y<0?ut=At:Y>0&&(ct=lt),Q<0?Bt=Kt:Q>0&&(vt=Z),W=_r),xe.attr("cursor",hr[X]),un(pe));break}default:return}As(pe)}}function S(L){g(this,arguments).moved(L)}function P(L){g(this,arguments).ended(L)}function N(){var L=this.__brush||{selection:null};return L.extent=bs(e.apply(this,arguments)),L.dim=t,L}return c.extent=function(L){return arguments.length?(e=typeof L=="function"?L:Ss(bs(L)),c):e},c.filter=function(L){return arguments.length?(n=typeof L=="function"?L:Ss(!!L),c):n},c.touchable=function(L){return arguments.length?(a=typeof L=="function"?L:Ss(!!L),c):a},c.handleSize=function(L){return arguments.length?(o=+L,c):o},c.keyModifiers=function(L){return arguments.length?(i=!!L,c):i},c.on=function(){var L=s.on.apply(s,arguments);return L===s?c:L},c}function Xg(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function Yg(t){const e=typeof(t==null?void 0:t.requestAnimationFrame)=="function"&&typeof(t==null?void 0:t.cancelAnimationFrame)=="function",n=typeof(t==null?void 0:t.requestIdleCallback)=="function"&&typeof(t==null?void 0:t.cancelIdleCallback)=="function",a=s=>setTimeout(s,1),i=s=>clearTimeout(s);return[e?t.requestAnimationFrame:a,e?t.cancelAnimationFrame:i,n?t.requestIdleCallback:a,n?t.cancelIdleCallback:i]}const Ke=Xg(),vn=Ke==null?void 0:Ke.document,[Hg,_0,jl,t1]=Yg(Ke);var Wg=Object.defineProperty,Gl=Object.getOwnPropertySymbols,Kg=Object.prototype.hasOwnProperty,Zg=Object.prototype.propertyIsEnumerable,Vl=(t,e,n)=>e in t?Wg(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Xl=(t,e)=>{for(var n in e||(e={}))Kg.call(e,n)&&Vl(t,n,e[n]);if(Gl)for(var n of Gl(e))Zg.call(e,n)&&Vl(t,n,e[n]);return t};const De=t=>t||t===0,ve=t=>typeof t=="function",Xe=t=>typeof t=="string",he=t=>typeof t=="number",ln=t=>typeof t=="undefined",ke=t=>typeof t!="undefined",Os=t=>typeof t=="boolean",Jg=t=>Math.ceil(t/10)*10,Ti=t=>Math.ceil(t)+.5,Dr=t=>t[1]-t[0],nr=t=>typeof t=="object",qn=t=>ln(t)||t===null||Xe(t)&&t.length===0||nr(t)&&!(t instanceof Date)&&Object.keys(t).length===0||he(t)&&isNaN(t),cn=t=>!qn(t),ze=t=>Array.isArray(t),Be=t=>t&&!(t!=null&&t.nodeType)&&nr(t)&&!ze(t);function $r(t,e,n){return ke(t[e])?t[e]:n}function kg(t,e){let n=!1;return Object.keys(t).forEach(a=>t[a]===e&&(n=!0)),n}function _e(t,e,...n){const a=ve(t);return a&&t.call(e,...n),a}function $i(t,e){let n=0;const a=function(...i){!--n&&e.apply(this,...i)};"duration"in t?t.each(()=>++n).on("end",a):(++n,t.call(a))}function Cs(t){return Xe(t)?t.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):t}function wa(t,e,n=[-1,1],a=!1){if(!(!t||!Xe(e)))if(e.indexOf(` +`)===-1)t.text(e);else{const i=[t.text(),e].map(s=>s.replace(/[\s\n]/g,""));if(i[0]!==i[1]){const s=e.split(` +`),o=a?s.length-1:1;t.html(""),s.forEach((l,c)=>{t.append("tspan").attr("x",0).attr("dy",`${c===0?n[0]*o:n[1]}em`).text(l)})}}}function Yl(t){const{x:e,y:n,width:a,height:i}=t.getBBox();return[{x:e,y:n+i},{x:e,y:n},{x:e+a,y:n},{x:e+a,y:n+i}]}function Hl(t){const{width:e,height:n}=t.getBoundingClientRect(),a=Yl(t),i=a[0].x,s=Math.min(a[0].y,a[1].y);return{x:i,y:s,width:e,height:n}}function Hn(t,e){var n;const a=t&&((n=t.touches||t.sourceEvent&&t.sourceEvent.touches)==null?void 0:n[0]);let i=[0,0];try{i=Yn(a||t,e)}catch(s){}return i.map(s=>isNaN(s)?0:s)}function Wl(t){const{event:e,$el:n}=t,a=n.subchart.main||n.main;let i;return e&&e.type==="brush"?i=e.selection:a&&(i=a.select(".bb-brush").node())&&(i=zl(i)),i}function Si(t){return!("rect"in t)||"rect"in t&&t.hasAttribute("width")&&t.rect.width!==+t.getAttribute("width")?t.rect=t.getBoundingClientRect():t.rect}function gr(t=!0,e=0,n=1e4){const a=Ke.crypto||Ke.msCrypto,i=a?e+a.getRandomValues(new Uint32Array(1))[0]%(n-e+1):Math.floor(Math.random()*(n-e)+e);return t?String(i):i}function Ps(t,e,n,a,i){if(n>a)return-1;const s=Math.floor((n+a)/2);let{x:o,w:l=0}=t[s];return i&&(o=t[s].y,l=t[s].h),e>=o&&e<=o+l?s:e<o?Ps(t,e,n,s-1,i):Ps(t,e,s+1,a,i)}function Kl(t){const e=Wl(t);return e?e[0]===e[1]:!0}function Qg(...t){const e=n=>{if(Be(n)&&n.constructor){const a=new n.constructor;for(const i in n)a[i]=e(n[i]);return a}return n};return t.map(n=>e(n)).reduce((n,a)=>Xl(Xl({},n),a))}function xn(t={},e){ze(e)&&e.forEach(n=>xn(t,n));for(const n in e)/^\d+$/.test(n)||n in t||(t[n]=e[n]);return t}const Dn=t=>t.charAt(0).toUpperCase()+t.slice(1);function qg(t,e="-"){return t.split(e).map((n,a)=>a?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase():n.toLowerCase()).join("")}const Lr=t=>[].slice.call(t);function _g(t,e,n){const{rootSelector:a="",sheet:i}=t,o=`${a} ${(l=>l.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(e)} {${n.join(";")}}`;return i[i.insertRule?"insertRule":"addRule"](o,i.cssRules.length)}function tv(t){let e=[];return t.forEach(n=>{var a;try{n.cssRules&&n.cssRules.length&&(e=e.concat(Lr(n.cssRules)))}catch(i){(a=Ke.console)==null||a.warn(`Error while reading rules from ${n.href}: ${i.toString()}`)}}),e}function Zl(t){var e,n,a,i,s,o;return{x:((n=(e=Ke.pageXOffset)!=null?e:Ke.scrollX)!=null?n:0)+((a=t.scrollLeft)!=null?a:0),y:((s=(i=Ke.pageYOffset)!=null?i:Ke.scrollY)!=null?s:0)+((o=t.scrollTop)!=null?o:0)}}function Ai(t,e=0,n=0,a=!0){const i=new DOMPoint(e,n),s=t.getScreenCTM(),o=i.matrixTransform(a?s==null?void 0:s.inverse():s);if(a===!1){const l=t.getBoundingClientRect();o.x-=l.x,o.y-=l.y}return o}function Jl(t){const e=t?t.transform:null,n=e&&e.baseVal;return n&&n.numberOfItems?n.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function ws(t){const e=t[0]instanceof Date,n=(e?t.map(Number):t).filter((a,i,s)=>s.indexOf(a)===i);return e?n.map(a=>new Date(a)):n}function Ms(t){return t&&t.length?t.reduce((e,n)=>e.concat(n)):[]}function ea(t,...e){if(!e.length||e.length===1&&!e[0])return t;const n=e.shift();return Be(t)&&Be(n)&&Object.keys(n).forEach(a=>{const i=n[a];Be(i)?(!t[a]&&(t[a]={}),t[a]=ea(t[a],i)):t[a]=ze(i)?i.concat():i}),ea(t,...e)}function na(t,e=!0){let n;return t[0]instanceof Date?n=e?(a,i)=>a-i:(a,i)=>i-a:e&&!t.every(isNaN)?n=(a,i)=>a-i:e||(n=(a,i)=>a>i&&-1||a<i&&1||a===i&&0),t.concat().sort(n)}function _n(t,e){let n=e.filter(a=>cn(a));return n.length?he(n[0])?n=Math[t](...n):n[0]instanceof Date&&(n=na(n,t==="min")[0]):n=void 0,n}const Ei=(t,e,n=1)=>{const a=[],i=Math.max(0,Math.ceil((e-t)/n))|0;for(let s=t;s<i;s++)a.push(t+s*n);return a},ev={mouse:(()=>{const t=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(e,n,a=t())=>{e.dispatchEvent(new MouseEvent(n,a))}}catch(e){return(n,a,i=t())=>{const s=vn.createEvent("MouseEvent");s.initMouseEvent(a,i.bubbles,i.cancelable,Ke,0,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),n.dispatchEvent(s)}}})(),touch:(t,e,n)=>{const a=new Touch(ea({identifier:Date.now(),target:t,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},n));t.dispatchEvent(new TouchEvent(e,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[a],targetTouches:[],changedTouches:[a]}))}};function bi(t,e){let n=t;for(const a in e)n=n.replace(new RegExp(`{=${a}}`,"g"),e[a]);return n}function zn(t){var e;let n;if(t instanceof Date)n=t;else if(Xe(t)){const{config:a,format:i}=this;n=(e=i.dataTime(a.data_xFormat)(t))!=null?e:new Date(t)}else he(t)&&!isNaN(t)&&(n=new Date(+t));return(!n||isNaN(+n))&&console&&console.error&&console.error(`Failed to parse x '${t}' to Date object`),n}function Ds(t){const e=t.attr("viewBox");return e?/(\d+(\.\d+)?){3}/.test(e):!1}function nv(t,e,n=!1){const a=!!t.node;let i=!1;for(const[s,o]of Object.entries(e))if(i=a?t.style(s)===o:t.style[s]===o,n===!1&&i)break;return i}function Ma(){var t,e;return((t=vn)==null?void 0:t.hidden)===!1||((e=vn)==null?void 0:e.visibilityState)==="visible"}function rv(t,e){const{DocumentTouch:n,matchMedia:a,navigator:i}=Ke,s=a==null?void 0:a("(pointer:coarse)").matches;let o=!1;if(e)if(i&&"maxTouchPoints"in i)o=i.maxTouchPoints>0;else if("ontouchmove"in Ke||n&&vn instanceof n)o=!0;else if(s)o=!0;else{const c=i.userAgent;o=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(c)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(c)}return t&&!s&&(a==null?void 0:a("(pointer:fine)").matches)&&"mouse"||o&&"touch"||"mouse"}function kl(t,e){e()===!1?Hg(()=>kl(t,e)):t()}var av=Object.defineProperty,Ql=Object.getOwnPropertySymbols,iv=Object.prototype.hasOwnProperty,sv=Object.prototype.propertyIsEnumerable,Ls=(t,e,n)=>e in t?av(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ql=(t,e)=>{for(var n in e||(e={}))iv.call(e,n)&&Ls(t,n,e[n]);if(Ql)for(var n of Ql(e))sv.call(e,n)&&Ls(t,n,e[n]);return t},ov=(t,e,n)=>Ls(t,typeof e!="symbol"?e+"":e,n);const _l=class bf{static setOptions(e){this.data=e.reduce((n,a)=>ql(ql({},n),a),this.data)}constructor(){return Qg(Gd,Ud,Yd,zd,Hd,jd,Vd,Xd,bf.data)}};ov(_l,"data",{});let Nr=_l;class lv{constructor(){return{chart:null,main:null,svg:null,axis:{x:null,y:null,y2:null,subX:null},axisTooltip:{x:null,y:null,y2:null},defs:null,tooltip:null,legend:null,title:null,subchart:{main:null,bar:null,line:null,area:null},arcs:null,bar:null,candlestick:null,line:null,area:null,circle:null,radar:null,text:null,grid:{main:null,x:null,y:null},gridLines:{main:null,x:null,y:null},region:{main:null,list:null},eventRect:null,zoomResetBtn:null}}}class cv{constructor(){return{width:0,width2:0,height:0,height2:0,margin:{top:0,bottom:0,left:0,right:0},margin2:{top:0,bottom:0,left:0,right:0},margin3:{top:0,bottom:0,left:0,right:0},arcWidth:0,arcHeight:0,xAxisHeight:0,hasAxis:!1,hasFunnel:!1,hasRadar:!1,hasTreemap:!1,cssRule:{},current:{domain:void 0,width:0,height:0,dataMax:0,maxTickSize:{x:{width:0,height:0,ticks:[],clipPath:0,domain:""},y:{width:0,height:0,domain:""},y2:{width:0,height:0,domain:""}},types:[],needle:void 0},isLegendRight:!1,isLegendInset:!1,isLegendTop:!1,isLegendLeft:!1,legendStep:0,legendItemWidth:0,legendItemHeight:0,legendHasRendered:!1,eventReceiver:{currentIdx:-1,rect:{},data:[],coords:[]},axis:{x:{padding:{left:0,right:0},tickCount:0}},rotatedPadding:{left:30,right:0,top:5},withoutFadeIn:{},inputType:"",datetimeId:"",clip:{id:"",idXAxis:"",idYAxis:"",idXAxisTickTexts:"",idGrid:"",idSubchart:"",path:"",pathXAxis:"",pathYAxis:"",pathXAxisTickTexts:"",pathGrid:""},event:null,dragStart:null,dragging:!1,flowing:!1,cancelClick:!1,mouseover:!1,rendered:!1,transiting:!1,redrawing:!1,resizing:!1,toggling:!1,zooming:!1,hasNegativeValue:!1,hasPositiveValue:!0,orgAreaOpacity:"0.2",orgConfig:{},hiddenTargetIds:[],hiddenLegendIds:[],focusedTargetIds:[],defocusedTargetIds:[],radius:0,innerRadius:0,outerRadius:void 0,innerRadiusRatio:0,gaugeArcWidth:0,radiusExpanded:0,xgridAttr:{x1:null,x2:null,y1:null,y2:null}}}}const tc={element:lv,state:cv};class uv{constructor(){Object.keys(tc).forEach(e=>{this[e]=new tc[e]})}getStore(e){return this[e]}}var fv=Object.defineProperty,dv=(t,e,n)=>e in t?fv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,hv=(t,e,n)=>dv(t,typeof e!="symbol"?e+"":e,n);const Ln={bubbleBaseLength:"$baseLength",colorPattern:"__colorPattern__",dataMinMax:"$dataMinMax",dataTotalSum:"$dataTotalSum",dataTotalPerIndex:"$totalPerIndex",legendItemTextBox:"legendItemTextBox",radarPoints:"$radarPoints",radarTextWidth:"$radarTextWidth",setOverOut:"setOverOut",callOverOutForTouch:"callOverOutForTouch",textRect:"textRect"};class gv{constructor(){hv(this,"cache",{})}add(e,n,a=!1){return this.cache[e]=a?this.cloneTarget(n):n,this.cache[e]}remove(e){(Xe(e)?[e]:e).forEach(n=>delete this.cache[n])}get(e,n=!1){if(n&&Array.isArray(e)){const a=[];for(let i=0,s;s=e[i];i++)s in this.cache&&a.push(this.cloneTarget(this.cache[s]));return a}else{const a=this.cache[e];return De(a)?a:null}}reset(e){const n=this;for(const a in n.cache)(e||/^\$/.test(a))&&(n.cache[a]=null)}cloneTarget(e){return{id:e.id,id_org:e.id_org,values:e.values.map(n=>({x:n.x,value:n.value,id:n.id}))}}}const se={AREA:"area",AREA_LINE_RANGE:"area-line-range",AREA_SPLINE:"area-spline",AREA_SPLINE_RANGE:"area-spline-range",AREA_STEP:"area-step",AREA_STEP_RANGE:"area-step-range",BAR:"bar",BUBBLE:"bubble",CANDLESTICK:"candlestick",DONUT:"donut",FUNNEL:"funnel",GAUGE:"gauge",LINE:"line",PIE:"pie",POLAR:"polar",RADAR:"radar",SCATTER:"scatter",SPLINE:"spline",STEP:"step",TREEMAP:"treemap"},Ns={AREA:"initArea",AREA_LINE_RANGE:"initArea",AREA_SPLINE:"initArea",AREA_SPLINE_RANGE:"initArea",AREA_STEP:"initArea",AREA_STEP_RANGE:"initArea",BAR:"initBar",BUBBLE:"initCircle",CANDLESTICK:"initCandlestick",DONUT:"initArc",FUNNEL:"initFunnel",GAUGE:"initArc",LINE:"initLine",PIE:"initArc",POLAR:"initPolar",RADAR:"initCircle",SCATTER:"initCircle",SPLINE:"initLine",STEP:"initLine",TREEMAP:"initTreemap"},Sr={Area:[se.AREA,se.AREA_SPLINE,se.AREA_SPLINE_RANGE,se.AREA_LINE_RANGE,se.AREA_STEP,se.AREA_STEP_RANGE],AreaRange:[se.AREA_SPLINE_RANGE,se.AREA_LINE_RANGE,se.AREA_STEP_RANGE],Arc:[se.PIE,se.DONUT,se.GAUGE,se.POLAR,se.RADAR],Line:[se.LINE,se.SPLINE,se.AREA,se.AREA_SPLINE,se.AREA_SPLINE_RANGE,se.AREA_LINE_RANGE,se.STEP,se.AREA_STEP,se.AREA_STEP_RANGE],Step:[se.STEP,se.AREA_STEP,se.AREA_STEP_RANGE],Spline:[se.SPLINE,se.AREA_SPLINE,se.AREA_SPLINE_RANGE]};function vv(t){const e=t,{config:n}=e;let a="";if(qn(n.data_type||n.data_types)&&!e[Ns.LINE])a="line";else for(const i in Ns){const s=se[i];if(e.hasType(s)&&!e[Ns[i]]){a=s;break}}a&&pv(`Please, make sure if %c${qg(a)}`,"module has been imported and specified correctly.","https://github.com/naver/billboard.js/wiki/CHANGELOG-v2#modularization-by-its-functionality")}function pv(t,e,n){var a;const i="[billboard.js]";if((a=Ke.console)==null?void 0:a.error){const o=e?["background:red;color:white;display:block;font-size:15px",e]:[];console.error(`\u274C ${i} ${t}`,"background:red;color:white;display:block;font-size:15px",...o),n&&console.info("%c\u2139\uFE0F","font-size:15px",n)}throw Error(`${i} ${t.replace(/\%c([a-z-]+)/i,"'$1' ")} ${e!=null?e:""}`)}const{setTimeout:mv,clearTimeout:yv}=Ke;function xv(t){const e=[];let n;const a=function(){a.clear(),t===!1?jl(()=>{e.forEach(i=>i())},{timeout:200}):n=mv(()=>{e.forEach(i=>i())},he(t)?t:200)};return a.clear=()=>{n&&(yv(n),n=null)},a.add=i=>e.push(i),a.remove=i=>e.splice(e.indexOf(i),1),a}function ec(){let t=[];const e=function(n,a){function i(){var s;let o=0;for(let l=0,c;c=t[l];l++){if(c===!0||(s=c.empty)!=null&&s.call(c)){o++;continue}if(Ma()===!1){o=t.length;break}try{c.transition()}catch(f){o++}}return o===t.length}kl(()=>{a==null||a()},i)};return e.add=function(n){ze(n)?t=t.concat(n):t.push(n)},e}const Fs={};function Tv(t,e){var n;const a=t.toString(),i=a.replace(/(function|[\s\W\n])/g,"").substring(0,15);return i in Fs||(Fs[i]=new Ke.Blob([`${(n=e==null?void 0:e.map(String).join(";"))!=null?n:""} + + self.onmessage=function({data}) { + const result = (${a}).apply(null, data); + self.postMessage(result); + };`],{type:"text/javascript"})),Ke.URL.createObjectURL(Fs[i])}function $v(t){const e=new Ke.Worker(t);return e.onerror=function(n){console.error?console.error(n):console.log(n)},e}function Bs(t=!0,e,n,a){let i=function(...s){const o=e(...s);n(o)};if(Ke.Worker&&t){const s=Tv(e,a),o=$v(s);i=function(...l){o.postMessage(l),o.onmessage=function(c){return Ke.URL.revokeObjectURL(s),n(c.data)}}}return i}var nc={},Us={},zs=34,Da=10,js=13;function rc(t){return new Function("d","return {"+t.map(function(e,n){return JSON.stringify(e)+": d["+n+'] || ""'}).join(",")+"}")}function Sv(t,e){var n=rc(t);return function(a,i){return e(n(a),i,t)}}function ac(t){var e=Object.create(null),n=[];return t.forEach(function(a){for(var i in a)i in e||n.push(e[i]=i)}),n}function Nn(t,e){var n=t+"",a=n.length;return a<e?new Array(e-a+1).join(0)+n:n}function Av(t){return t<0?"-"+Nn(-t,6):t>9999?"+"+Nn(t,6):Nn(t,4)}function Ev(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),a=t.getUTCSeconds(),i=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":Av(t.getUTCFullYear(),4)+"-"+Nn(t.getUTCMonth()+1,2)+"-"+Nn(t.getUTCDate(),2)+(i?"T"+Nn(e,2)+":"+Nn(n,2)+":"+Nn(a,2)+"."+Nn(i,3)+"Z":a?"T"+Nn(e,2)+":"+Nn(n,2)+":"+Nn(a,2)+"Z":n||e?"T"+Nn(e,2)+":"+Nn(n,2)+"Z":"")}function ic(t){var e=new RegExp('["'+t+` +\r]`),n=t.charCodeAt(0);function a(v,m){var S,P,N=i(v,function(L,w){if(S)return S(L,w-1);P=L,S=m?Sv(L,m):rc(L)});return N.columns=P||[],N}function i(v,m){var S=[],P=v.length,N=0,L=0,w,X=P<=0,W=!1;v.charCodeAt(P-1)===Da&&--P,v.charCodeAt(P-1)===js&&--P;function Y(){if(X)return Us;if(W)return W=!1,nc;var K,at=N,ht;if(v.charCodeAt(at)===zs){for(;N++<P&&v.charCodeAt(N)!==zs||v.charCodeAt(++N)===zs;);return(K=N)>=P?X=!0:(ht=v.charCodeAt(N++))===Da?W=!0:ht===js&&(W=!0,v.charCodeAt(N)===Da&&++N),v.slice(at+1,K-1).replace(/""/g,'"')}for(;N<P;){if((ht=v.charCodeAt(K=N++))===Da)W=!0;else if(ht===js)W=!0,v.charCodeAt(N)===Da&&++N;else if(ht!==n)continue;return v.slice(at,K)}return X=!0,v.slice(at,P)}for(;(w=Y())!==Us;){for(var Q=[];w!==nc&&w!==Us;)Q.push(w),w=Y();m&&(Q=m(Q,L++))==null||S.push(Q)}return S}function s(v,m){return v.map(function(S){return m.map(function(P){return g(S[P])}).join(t)})}function o(v,m){return m==null&&(m=ac(v)),[m.map(g).join(t)].concat(s(v,m)).join(` +`)}function l(v,m){return m==null&&(m=ac(v)),s(v,m).join(` +`)}function c(v){return v.map(f).join(` +`)}function f(v){return v.map(g).join(t)}function g(v){return v==null?"":v instanceof Date?Ev(v):e.test(v+="")?'"'+v.replace(/"/g,'""')+'"':v}return{parse:a,parseRows:i,format:o,formatBody:l,formatRows:c,formatRow:f,formatValue:g}}var Fr=ic(","),bv=Fr.parse,Rv=Fr.parseRows,e1=Fr.format,n1=Fr.formatBody,r1=Fr.formatRows,a1=Fr.formatRow,i1=Fr.formatValue,Br=ic(" "),Iv=Br.parse,Ov=Br.parseRows,s1=Br.format,o1=Br.formatBody,l1=Br.formatRows,c1=Br.formatRow,u1=Br.formatValue;function Gs(t){const e=[];return t.forEach(function(n,a){const i=n[0];n.forEach(function(s,o){if(o>0){if(typeof e[o-1]=="undefined"&&(e[o-1]={}),typeof s=="undefined")throw new Error(`Source data is missing a component at (${a}, ${o})!`);e[o-1][i]=s}})}),e}function Vs(t){const e=t[0],n=[];return t.forEach(function(a,i){if(i>0){const s={};a.forEach(function(o,l){if(typeof o=="undefined")throw new Error(`Source data is missing a component at (${i}, ${l})!`);s[e[l]]=o}),n.push(s)}}),n}function sc(t,e){const n=[];let a,i;if(Array.isArray(t)){const s=function(o,l){if(o[l]!==void 0)return o[l];const f=l.replace(/\[(\w+)\]/g,".$1").replace(/^\./,"").split(".");let g=o;return f.some(function(v){return!(g=g&&v in g?g[v]:void 0)}),g};e.x?a=e.value.concat(e.x):a=e.value,n.push(a),t.forEach(function(o){const l=a.map(function(c){let f=s(o,c);return typeof f=="undefined"&&(f=null),f});n.push(l)}),i=Vs(n)}else Object.keys(t).forEach(function(s){var o;const l=t[s].concat();(o=l.unshift)==null||o.call(l,s),n.push(l)}),i=Gs(n);return i}function Cv(t,e="csv",n,a,i){const s=new XMLHttpRequest,o={csv:Pv,tsv:wv,json:sc};s.open("GET",t),n&&Object.keys(n).forEach(function(l){s.setRequestHeader(l,n[l])}),s.onreadystatechange=function(){if(s.readyState===4)if(s.status===200){const l=s.responseText;l&&i.call(this,o[e](e==="json"?JSON.parse(l):l,a))}else throw new Error(`${t}: Something went wrong loading!`)},s.send()}function oc(t,e){const n=t.rows(e);let a;return n.length===1?(a=[{}],n[0].forEach(i=>{a[0][i]=null})):a=t.parse(e),a}function Pv(t){return oc({rows:Rv,parse:bv},t)}function wv(t){return oc({rows:Ov,parse:Iv},t)}function lc(t,e){const n=t||(e==null?void 0:e.data_keys);return n!=null&&n.x&&(e.data_x=n.x),n}var Mv={convertData(t,e){const{config:n}=this,a=n.boost_useWorker;let i=t;if(t.bindto&&(i={},["url","mimeType","headers","keys","json","keys","rows","columns"].forEach(s=>{const o=`data_${s}`;o in t&&(i[s]=t[o])})),i.url&&e)Cv(i.url,i.mimeType,i.headers,lc(i.keys,n),e);else if(i.json)Bs(a,sc,e,[Gs,Vs])(i.json,lc(i.keys,n));else if(i.rows)Bs(a,Vs,e)(i.rows);else if(i.columns)Bs(a,Gs,e)(i.columns);else if(t.bindto)throw Error("url or json or rows or columns is required.")},convertDataToTargets(t,e){const n=this,{axis:a,config:i,state:s}=n,o=i.data_type;let l=!1,c=!1,f=!1;a&&(l=a.isCategorized(),c=a.isTimeSeries(),f=a.isCustomX());const g=Object.keys(t[0]||{}),v=g.length?g.filter(n.isNotX,n):[],m=g.length?g.filter(n.isX,n):[];let S;v.forEach(N=>{const L=this.getXKey(N);f||c?m.indexOf(L)>=0?S=(e&&n.data.xs[N]||[]).concat(t.map(w=>w[L]).filter(De).map((w,X)=>n.generateTargetX(w,N,X))):i.data_x?S=this.getOtherTargetXs():cn(i.data_xs)&&(S=n.getXValuesOfXKey(L,n.data.targets)):S=t.map((w,X)=>X),S&&(this.data.xs[N]=S)}),v.forEach(N=>{if(!this.data.xs[N])throw new Error(`x is not defined for id = "${N}".`)});const P=v.map((N,L)=>{const w=i.data_idConverter.bind(n.api)(N),X=n.getXKey(N),W=f&&l,Y=W&&t.map(at=>at.x).every(at=>i.axis_x_categories.indexOf(at)>-1),Q=t.__append__,K=X===null&&Q?n.api.data.values(N).length:0;return{id:w,id_org:N,values:t.map((at,ht)=>{const St=at[X];let ct=at[N],lt;return ct=ct!==null&&!isNaN(ct)&&!Be(ct)?+ct:ze(ct)||Be(ct)?ct:null,(W||s.hasRadar)&&L===0&&!ln(St)?(!Y&&L===0&&ht===0&&!Q&&(i.axis_x_categories=[]),lt=i.axis_x_categories.indexOf(St),lt===-1&&(lt=i.axis_x_categories.length,i.axis_x_categories.push(St))):lt=n.generateTargetX(St,N,K+ht),(ln(ct)||n.data.xs[N].length<=ht)&&(lt=void 0),{x:lt,value:ct,id:w,index:-1}}).filter(at=>ke(at.x))}});if(P.forEach(N=>{var L;i.data_xSort&&(N.values=N.values.sort((w,X)=>{const W=w.x||w.x===0?w.x:1/0,Y=X.x||X.x===0?X.x:1/0;return W-Y})),N.values.forEach((w,X)=>w.index=X),(L=n.data.xs[N.id])==null||L.sort((w,X)=>w-X)}),s.hasNegativeValue=n.hasNegativeValueInTargets(P),s.hasPositiveValue=n.hasPositiveValueInTargets(P),o&&n.isValidChartType(o)){const N=n.mapToIds(P).filter(L=>!(L in i.data_types)||!n.isValidChartType(i.data_types[L]));n.setTargetType(N,o)}return P.forEach(N=>n.cache.add(N.id_org,N,!0)),P}},Dv={isX(t){const e=this,{config:n}=e,a=n.data_x&&t===n.data_x,i=cn(n.data_xs)&&kg(n.data_xs,t);return a||i},isNotX(t){return!this.isX(t)},isStackNormalized(){const{config:t}=this;return!!(t.data_stack_normalize&&t.data_groups.length)},isGrouped(t){const e=this.config.data_groups;return t?e.some(n=>n.indexOf(t)>=0&&n.length>1):e.length>0},getXKey(t){const e=this,{config:n}=e;return n.data_x?n.data_x:cn(n.data_xs)?n.data_xs[t]:null},getXValuesOfXKey(t,e){const n=this,a=e&&cn(e)?n.mapToIds(e):[];let i;return a.forEach(s=>{n.getXKey(s)===t&&(i=n.data.xs[s])}),i},getIndexByX(t,e){const n=this;return e?e.indexOf(Xe(t)?t:+t):(n.filterByX(n.data.targets,t)[0]||{index:null}).index},getXValue(t,e){const n=this;return t in n.data.xs&&n.data.xs[t]&&De(n.data.xs[t][e])?n.data.xs[t][e]:e},getOtherTargetXs(){const t=this,e=Object.keys(t.data.xs);return e.length?t.data.xs[e[0]]:null},getOtherTargetX(t){const e=this.getOtherTargetXs();return e&&t<e.length?e[t]:null},addXs(t){const e=this,{config:n}=e;Object.keys(t).forEach(a=>{n.data_xs[a]=t[a]})},isMultipleX(){return!this.config.axis_x_forceAsSingle&&(cn(this.config.data_xs)||this.hasType("bubble")||this.hasType("scatter"))},addName(t){const e=this,{config:n}=e;let a;return t&&(a=n.data_names[t.id],t.name=a!==void 0?a:t.id),t},getAllValuesOnIndex(t,e=!1){const n=this;let a=n.filterTargetsToShow(n.data.targets).map(i=>n.addName(n.getValueOnIndex(i.values,t)));return e&&(a=a.filter(i=>i&&"value"in i&&De(i.value))),a},getValueOnIndex(t,e){const n=t.filter(a=>a.index===e);return n.length?n[0]:null},updateTargetX(t,e){const n=this;t.forEach(a=>{a.values.forEach((i,s)=>{i.x=n.generateTargetX(e[s],a.id,s)}),n.data.xs[a.id]=e})},updateTargetXs(t,e){const n=this;t.forEach(a=>{e[a.id]&&n.updateTargetX([a],e[a.id])})},generateTargetX(t,e,n){const a=this,{axis:i}=a;let s=i!=null&&i.isCategorized()?n:t||n;if(i!=null&&i.isTimeSeries()){const o=zn.bind(a);s=o(t||a.getXValue(e,n))}else i!=null&&i.isCustomX()&&!(i!=null&&i.isCategorized())&&(s=De(t)?+t:a.getXValue(e,n));return s},updateXs(t){t.length&&(this.axis.xs=t.map(e=>e.x))},getPrevX(t){const e=this.axis.xs[t-1];return ke(e)?e:null},getNextX(t){const e=this.axis.xs[t+1];return ke(e)?e:null},getBaseValue(t){const e=this,{hasAxis:n}=e.state;let{value:a}=t;return a&&n&&(e.isAreaRangeType(t)?a=e.getRangedData(t,"mid"):e.isBubbleZType(t)&&(a=e.getBubbleZData(a,"y"))),a},getMinMaxValue(t){const e=this.getBaseValue.bind(this);let n,a;return(t||this.data.targets.map(i=>i.values)).forEach((i,s)=>{const o=i.map(e).filter(he);n=Math.min(s?n:1/0,...o),a=Math.max(s?a:-1/0,...o)}),{min:n,max:a}},getMinMaxData(){const t=this,e=Ln.dataMinMax;let n=t.cache.get(e);if(!n){const a=t.data.targets.map(l=>l.values),i=t.getMinMaxValue(a);let s=[],o=[];a.forEach(l=>{const c=t.getFilteredDataByValue(l,i.min),f=t.getFilteredDataByValue(l,i.max);c.length&&(s=s.concat(c)),f.length&&(o=o.concat(f))}),t.cache.add(e,n={min:s,max:o})}return n},getTotalPerIndex(){const t=this,e=Ln.dataTotalPerIndex;let n=t.cache.get(e);return(t.config.data_groups.length||t.isStackNormalized())&&!n&&(n=[],t.data.targets.forEach(a=>{a.values.forEach((i,s)=>{n[s]||(n[s]=0),n[s]+=he(i.value)?i.value:0})})),n},getTotalDataSum(t){const e=this,n=Ln.dataTotalSum;let a=e.cache.get(n);if(!he(a)){const i=Ms(e.data.targets.map(s=>s.values)).map(s=>s.value);a=i.length?i.reduce((s,o)=>s+o):0,e.cache.add(n,a)}return t&&(a-=e.getHiddenTotalDataSum()),a},getHiddenTotalDataSum(){const t=this,{api:e,state:{hiddenTargetIds:n}}=t;let a=0;return n.length&&(a=e.data.values.bind(e)(n).reduce((i,s)=>i+s)),a},getFilteredDataByValue(t,e){return t.filter(n=>this.getBaseValue(n)===e)},getMaxDataCount(){return Math.max(...this.data.targets.map(t=>t.values.length),0)},getMaxDataCountTarget(){let t=this.filterTargetsToShow()||[];const e=t.length,n=this.config.axis_x_inverted;return e>1?(t=t.map(a=>a.values).reduce((a,i)=>a.concat(i)).map(a=>a.x),t=na(ws(t)).map((a,i,s)=>({x:a,index:n?s.length-i-1:i}))):e&&(t=t[0].values.concat()),t},mapToIds(t){return t.map(e=>e.id)},mapToTargetIds(t){const e=this;return t?ze(t)?t.concat():[t]:e.mapToIds(e.data.targets)},hasTarget(t,e){const n=this.mapToIds(t);for(let a=0,i;i=n[a];a++)if(i===e)return!0;return!1},isTargetToShow(t){return this.state.hiddenTargetIds.indexOf(t)<0},isLegendToShow(t){return this.state.hiddenLegendIds.indexOf(t)<0},filterTargetsToShow(t){const e=this;return(t||e.data.targets).filter(n=>e.isTargetToShow(n.id))},mapTargetsToUniqueXs(t){const e=this,{axis:n}=e;let a=[];return t!=null&&t.length&&(a=ws(Ms(t.map(i=>i.values.map(s=>+s.x)))),a=n!=null&&n.isTimeSeries()?a.map(i=>new Date(+i)):a.map(Number)),na(a)},addTargetIds(t,e){const{state:n}=this;(ze(e)?e:[e]).forEach(i=>{n[t].indexOf(i)<0&&n[t].push(i)})},removeTargetIds(t,e){const{state:n}=this;(ze(e)?e:[e]).forEach(i=>{const s=n[t].indexOf(i);s>=0&&n[t].splice(s,1)})},addHiddenTargetIds(t){this.addTargetIds("hiddenTargetIds",t)},removeHiddenTargetIds(t){this.removeTargetIds("hiddenTargetIds",t)},addHiddenLegendIds(t){this.addTargetIds("hiddenLegendIds",t)},removeHiddenLegendIds(t){this.removeTargetIds("hiddenLegendIds",t)},getValuesAsIdKeyed(t){const e=this,{hasAxis:n}=e.state,a={},i=e.isMultipleX(),s=i?e.mapTargetsToUniqueXs(t).map(o=>Xe(o)?o:+o):null;return t.forEach(o=>{const l=[];o.values.filter(({value:c})=>De(c)||c===null).forEach(c=>{let{value:f}=c;f!==null&&e.isCandlestickType(c)&&(f=ze(f)?f.slice(0,4):[f.open,f.high,f.low,f.close]),ze(f)?l.push(...f):Be(f)&&"high"in f?l.push(...Object.values(f)):e.isBubbleZType(c)?l.push(n&&e.getBubbleZData(f,"y")):i?l[e.getIndexByX(c.x,s)]=f:l.push(f)}),a[o.id]=l}),a},checkValueInTargets(t,e){const n=Object.keys(t);let a;for(let i=0;i<n.length;i++){a=t[n[i]].values;for(let s=0;s<a.length;s++)if(e(a[s].value))return!0}return!1},hasMultiTargets(){return this.filterTargetsToShow().length>1},hasNegativeValueInTargets(t){return this.checkValueInTargets(t,e=>e<0)},hasPositiveValueInTargets(t){return this.checkValueInTargets(t,e=>e>0)},orderTargets(t){const e=this,n=[...t],a=e.getSortCompareFn();return a&&n.sort(a),n},getSortCompareFn(t=!1){const e=this,{config:n}=e,a=n.data_order,i=/asc/i.test(a),s=/desc/i.test(a);let o;if(i||s){const l=(f,g)=>f+Math.abs(g.value),c=f=>he(f)?f:"values"in f?f.values.reduce(l,0):f.value;o=(f,g)=>{const v=c(f),m=c(g);return t?i?v-m:m-v:i?m-v:v-m}}else ve(a)&&(o=a.bind(e.api));return o||null},filterByX(t,e){return Ms(t.map(n=>n.values)).filter(n=>n.x-e===0)},filterRemoveNull(t){return t.filter(e=>De(this.getBaseValue(e)))},filterByXDomain(t,e){return t.map(n=>({id:n.id,id_org:n.id_org,values:n.values.filter(a=>e[0]<=a.x&&a.x<=e[1])}))},hasDataLabel(){const t=this.config.data_labels;return Os(t)&&t||nr(t)&&cn(t)},hasNullDataValue(t){return t.some(({value:e})=>e===null)},getDataIndexFromEvent(t){const e=this,{$el:n,config:a,state:{hasRadar:i,inputType:s,eventReceiver:{coords:o,rect:l}}}=e;let c;if(i){let f=t.target;/tspan/i.test(f.tagName)&&(f=f.parentNode);const g=st(f).datum();c=g&&Object.keys(g).length===1?g.index:void 0}else{const f=a.axis_rotated,g=Zl(n.chart.node()),v=s==="touch"&&t.changedTouches?t.changedTouches[0]:t;let m=f?v.clientY+g.y:v.clientX+g.x;if(Ds(n.svg)){const S=[m,0];f&&S.reverse(),m=Ai(n.svg.node(),...S)[f?"y":"x"]}else m-=f?l.top:l.left;c=Ps(o,m,0,o.length-1,f)}return c},getDataLabelLength(t,e,n){const a=this,i=[0,0],s=1.3;return a.$el.chart.select("svg").selectAll(".dummy").data([t,e]).enter().append("text").text(o=>a.dataLabelFormat(o.id)(o)).each(function(o,l){i[l]=this.getBoundingClientRect()[n]*s}).remove(),i},isNoneArc(t){return this.hasTarget(this.data.targets,t.id)},isArc(t){return"data"in t&&this.hasTarget(this.data.targets,t.data.id)},findSameXOfValues(t,e){const n=t[e].x,a=[];let i;for(i=e-1;i>=0&&n===t[i].x;i--)a.push(t[i]);for(i=e;i<t.length&&n===t[i].x;i++)a.push(t[i]);return a},findClosestFromTargets(t,e){const n=this,a=t.map(i=>n.findClosest(i.values,e));return n.findClosest(a,e)},findClosest(t,e){const n=this,{$el:{main:a}}=n,i=t.filter(l=>l&&De(l.value));let s,o;return i.filter(l=>n.isBarType(l.id)||n.isCandlestickType(l.id)).forEach(l=>{const c=n.isBarType(l.id)?`.${Kn.chartBar}.${Se.target}${n.getTargetSelectorSuffix(l.id)} .${Kn.bar}-${l.index}`:`.${cr.chartCandlestick}.${Se.target}${n.getTargetSelectorSuffix(l.id)} .${cr.candlestick}-${l.index} path`;!o&&n.isWithinBar(a.select(c).node())&&(o=l)}),i.filter(l=>!n.isBarType(l.id)&&!n.isCandlestickType(l.id)).forEach(l=>{const c=n.dist(l,e);s=n.getPointSensitivity(l),c<s&&(s=c,o=l)}),o},dist(t,e){const n=this,{config:{axis_rotated:a},scale:i}=n,s=+a,o=+!a,l=n.circleY(t,t.index),c=(i.zoom||i.x)(t.x);return Math.sqrt(Math.pow(c-e[s],2)+Math.pow(l-e[o],2))},convertValuesToStep(t){const e=this,{axis:n,config:a}=e,i=a.line_step_type,s=n?n.isCategorized():!1,o=ze(t)?t.concat():[t];if(!(s||/step\-(after|before)/.test(i)))return t;if(o.length){const l=o[0],c=o[o.length-1],{id:f}=l;let{x:g}=l;o.unshift({x:--g,value:l.value,id:f}),s&&i==="step-after"&&o.unshift({x:--g,value:l.value,id:f}),g=c.x,o.push({x:++g,value:c.value,id:f}),s&&i==="step-before"&&o.push({x:++g,value:c.value,id:f})}return o},convertValuesToRange(t){const e=ze(t)?t.concat():[t],n=[];return e.forEach(a=>{const{x:i,id:s}=a;n.push({x:i,id:s,value:a.value[0]}),n.push({x:i,id:s,value:a.value[2]})}),n},updateDataAttributes(t,e){const n=this,{config:a}=n,i=a[`data_${t}`];return ln(e)||(Object.keys(e).forEach(s=>{i[s]=e[s]}),n.redraw({withLegend:!0})),i},getRangedData(t,e="",n="areaRange"){const a=t==null?void 0:t.value;if(ze(a)){if(n==="bar")return a.reduce((i,s)=>s-i);{const i={areaRange:["high","mid","low"],candlestick:["open","high","low","close","volume"]}[n].indexOf(e);return i>=0&&a?a[i]:void 0}}else if(a&&e)return a[e];return a},setRatioForGroupedData(t){const e=this,{config:n}=e;if(n.data_groups.length&&t.some(a=>e.isGrouped(a.id))){const a=i=>e.getRatio("index",i,!0);t.forEach(i=>{"values"in i?i.values.forEach(a):a(i)})}},getRatio(t,e,n=!1){const a=this,{config:i,state:s}=a,o=a.api;let l=0;if(e&&o.data.shown().length)if(l=e.ratio||e.value,t==="arc")if(a.pie.padAngle()())l=e.value/a.getTotalDataSum(!0);else{const c=i.gauge_fullCircle?a.getArcLength():a.getStartingAngle()*-2,f=a.hasType("gauge")?c:Math.PI*2;l=(e.endAngle-e.startAngle)/f}else if(t==="index"){const c=o.data.values.bind(o);let f=this.getTotalPerIndex();if(s.hiddenTargetIds.length){let v=c(s.hiddenTargetIds,!1);v.length&&(v=v.reduce((m,S)=>m.map((P,N)=>(he(P)?P:0)+S[N])),f=f.map((m,S)=>m-v[S]))}const g=f[e.index];e.ratio=he(e.value)&&f&&g?e.value/g:0,l=e.ratio}else if(t==="radar")l=parseFloat(String(Math.max(e.value,0)))/s.current.dataMax*i.radar_size_ratio;else if(t==="bar"){const f=a.getYScaleById.bind(a)(e.id).domain().reduce((g,v)=>v-g);l=f===0?0:Math.abs(a.getRangedData(e,null,t)/f)}else t==="treemap"&&(l/=a.getTotalDataSum(!0));return n&&l?l*100:l},updateDataIndexByX(t){const e=this,n=t.reduce((a,i,s)=>(a[Number(i.x)]=s,a),{});e.data.targets.forEach(a=>{a.values.forEach((i,s)=>{let o=n[Number(i.x)];o===void 0&&(o=s),i.index=o})})},isBubbleZType(t){return this.isBubbleType(t)&&(Be(t.value)&&("z"in t.value||"y"in t.value)||ze(t.value)&&t.value.length>=2)},isBarRangeType(t){const e=this,{value:n}=t;return e.isBarType(t)&&ze(n)&&n.length>=2&&n.every(a=>he(a))},getDataById(t){var e;const n=this.cache.get(t)||this.api.data(t);return(e=n==null?void 0:n[0])!=null?e:n}};function cc(t,e=!1){const n=this,{api:a}=n;e&&n.api.flush(!0),t==null||t.call(a)}var Lv={load(t,e){const n=this,{axis:a,data:i,org:s,scale:o}=n,{append:l}=e,c={domain:null,currentDomain:null,x:null};let f=t;f&&(e.filter&&(f=f.filter(e.filter)),(e.type||e.types)&&f.forEach(g=>{var v;const m=((v=e.types)==null?void 0:v[g.id])||e.type;n.setTargetType(g.id,m)}),i.targets.forEach(g=>{for(let v=0;v<f.length;v++)if(g.id===f[v].id){g.values=l?g.values.concat(f[v].values):f[v].values,f.splice(v,1);break}}),i.targets=i.targets.concat(f)),n.updateTargets(i.targets),o.zoom&&(c.x=a.isCategorized()?o.x.orgScale():(s.xScale||o.x).copy(),c.domain=n.getXDomain(i.targets),c.x.domain(c.domain),c.currentDomain=n.zoom.getDomain(),n.withinRange(c.currentDomain,void 0,c.domain)||(o.x.domain(c.domain),o.zoom=null,n.$el.eventRect.property("__zoom",null))),n.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),o.zoom?(s.xDomain=c.domain,s.xScale=c.x,a.isCategorized()&&(c.currentDomain=n.getZoomDomainValue(c.currentDomain),s.xDomain=n.getZoomDomainValue(s.xDomain),s.xScale=c.x.domain(s.xDomain)),n.updateCurrentZoomTransform(c.x,c.currentDomain)):s.xScale&&s.xScale.domain(s.xDomain),n.updateTypesElements(),cc.call(n,e.done,e.resizeAfter)},loadFromArgs(t){const e=this;e.config&&(e.cache.reset(),e.convertData(t,n=>{const a=t.data||n;t.append&&(a.__append__=!0),a&&e.load(e.convertDataToTargets(a),t)}))},unload(t,e){var n;const a=this,{state:i,$el:s,$T:o}=a,l=!!((n=a.hasLegendDefsPoint)!=null&&n.call(a));let c=e,f=t;if(a.cache.reset(),c||(c=()=>{}),f=f.filter(v=>a.hasTarget(a.data.targets,v)),!f||f.length===0){c();return}const g=s.svg.selectAll(f.map(v=>a.selectorTarget(v)));o(g).style("opacity","0").remove().call($i,c),f.forEach(v=>{var m;const S=a.getTargetSelectorSuffix(v);i.withoutFadeIn[v]=!1,s.legend&&s.legend.selectAll(`.${We.legendItem}${S}`).remove(),a.data.targets=a.data.targets.filter(P=>P.id!==v),l&&((m=s.defs)==null||m.select(`#${a.getDefsPointId(S)}`).remove())}),i.hasFunnel&&a.updateFunnel(a.data.targets),i.hasTreemap&&a.updateTargetsForTreemap(a.data.targets),a.updateTypesElements()}},Ri=t=>()=>t;function Xs(t,{sourceEvent:e,subject:n,target:a,identifier:i,active:s,x:o,y:l,dx:c,dy:f,dispatch:g}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:a,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:f,enumerable:!0,configurable:!0},_:{value:g}})}Xs.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Nv(t){return!t.ctrlKey&&!t.button}function Fv(){return this.parentNode}function Bv(t,e){return e==null?{x:t.x,y:t.y}:e}function Uv(){return navigator.maxTouchPoints||"ontouchstart"in this}function uc(){var t=Nv,e=Fv,n=Bv,a=Uv,i={},s=ni("start","drag","end"),o=0,l,c,f,g,v=0;function m(Y){Y.on("mousedown.drag",S).filter(a).on("touchstart.drag",L).on("touchmove.drag",w,Jd).on("touchend.drag touchcancel.drag",X).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function S(Y,Q){if(!(g||!t.call(this,Y,Q))){var K=W(this,e.call(this,Y,Q),Y,Q,"mouse");K&&(st(Y.view).on("mousemove.drag",P,Sa).on("mouseup.drag",N,Sa),cs(Y.view),ls(Y),f=!1,l=Y.clientX,c=Y.clientY,K("start",Y))}}function P(Y){if(Zr(Y),!f){var Q=Y.clientX-l,K=Y.clientY-c;f=Q*Q+K*K>v}i.mouse("drag",Y)}function N(Y){st(Y.view).on("mousemove.drag mouseup.drag",null),us(Y.view,f),Zr(Y),i.mouse("end",Y)}function L(Y,Q){if(t.call(this,Y,Q)){var K=Y.changedTouches,at=e.call(this,Y,Q),ht=K.length,St,ct;for(St=0;St<ht;++St)(ct=W(this,at,Y,Q,K[St].identifier,K[St]))&&(ls(Y),ct("start",Y,K[St]))}}function w(Y){var Q=Y.changedTouches,K=Q.length,at,ht;for(at=0;at<K;++at)(ht=i[Q[at].identifier])&&(Zr(Y),ht("drag",Y,Q[at]))}function X(Y){var Q=Y.changedTouches,K=Q.length,at,ht;for(g&&clearTimeout(g),g=setTimeout(function(){g=null},500),at=0;at<K;++at)(ht=i[Q[at].identifier])&&(ls(Y),ht("end",Y,Q[at]))}function W(Y,Q,K,at,ht,St){var ct=s.copy(),lt=Yn(St||K,Q),Gt,vt,Z;if((Z=n.call(Y,new Xs("beforestart",{sourceEvent:K,target:m,identifier:ht,active:o,x:lt[0],y:lt[1],dx:0,dy:0,dispatch:ct}),at))!=null)return Gt=Z.x-lt[0]||0,vt=Z.y-lt[1]||0,function $t(ut,At,Vt){var Bt=lt,Kt;switch(ut){case"start":i[ht]=$t,Kt=o++;break;case"end":delete i[ht],--o;case"drag":lt=Yn(Vt||At,Q),Kt=o;break}ct.call(ut,Y,new Xs(ut,{sourceEvent:At,subject:Z,target:m,identifier:ht,active:Kt,x:lt[0]+Gt,y:lt[1]+vt,dx:lt[0]-Bt[0],dy:lt[1]-Bt[1],dispatch:ct}),at)}}return m.filter=function(Y){return arguments.length?(t=typeof Y=="function"?Y:Ri(!!Y),m):t},m.container=function(Y){return arguments.length?(e=typeof Y=="function"?Y:Ri(Y),m):e},m.subject=function(Y){return arguments.length?(n=typeof Y=="function"?Y:Ri(Y),m):n},m.touchable=function(Y){return arguments.length?(a=typeof Y=="function"?Y:Ri(!!Y),m):a},m.on=function(){var Y=s.on.apply(s,arguments);return Y===s?m:Y},m.clickDistance=function(Y){return arguments.length?(v=(Y=+Y)*Y,m):Math.sqrt(v)},m}var zv={setExpand(t,e,n){const a=this,{config:i,$el:{circle:s}}=a;s&&i.point_focus_expand_enabled&&a.expandCircles(t,e,n),a.expandBarTypeShapes(!0,t,e,n)},expandBarTypeShapes(t=!0,e,n,a){const i=this;["bar","candlestick"].filter(s=>i.$el[s]).forEach(s=>{a&&i.$el[s].classed(Se.EXPANDED,!1),i.getShapeByIndex(s,e,n).classed(Se.EXPANDED,t)})},setOverOut(t,e){const n=this,{config:a,state:{hasFunnel:i,hasRadar:s,hasTreemap:o},$el:{main:l}}=n,c=Be(e);if(c||e!==-1){const f=a[t?"data_onover":"data_onout"].bind(n.api);if(a.color_onover&&n.setOverColor(t,e,c),c){const g=n.getTargetSelectorSuffix(e.id),v=i||o?`${Se.target+g} .${on.shape}`:je.arc+g;f(e,l.select(`.${v}`).node())}else if(a.tooltip_grouped)t&&(s&&n.isPointFocusOnly()?n.showCircleFocus(n.getAllValuesOnIndex(e,!0)):n.setExpand(e,null,!0)),!n.isMultipleX()&&l.selectAll(`.${on.shape}-${e}`).each(function(g){f(g,this)});else{const g=n.cache.get(Ln.setOverOut)||[],v=l.selectAll(`.${on.shape}-${e}`).filter(function(S){return n.isWithinShape(this,S)}),m=v.filter(function(){return g.every(S=>S!==this)});if(!t||v.empty()||g.length===m.size()&&m.nodes().every((S,P)=>S!==g[P]))for(;g.length;){const S=g.pop();a.data_onout.bind(n.api)(st(S).datum(),S)}m.each(function(){t&&(f(st(this).datum(),this),g.push(this))}),n.cache.add(Ln.setOverOut,g)}}},callOverOutForTouch(t){const e=this,n=e.cache.get(Ln.callOverOutForTouch);(Be(t)&&n?t.id!==n.id:t!==n)&&((n||he(n))&&e.setOverOut(!1,n),(t||he(t))&&e.setOverOut(!0,t),e.cache.add(Ln.callOverOutForTouch,t))},getDraggableSelection(){const t=this,{config:e,state:n}=t;return e.interaction_enabled&&e.data_selection_draggable&&t.drag?uc().on("drag",function(a){n.event=a,t.drag(Hn(a,this))}).on("start",function(a){n.event=a,t.dragstart(Hn(a,this))}).on("end",a=>{n.event=a,t.dragend()}):()=>{}},dispatchEvent(t,e,n){var a,i;const s=this,{config:o,state:{eventReceiver:l,hasAxis:c,hasFunnel:f,hasRadar:g,hasTreemap:v},$el:{eventRect:m,funnel:S,radar:P,svg:N,treemap:L}}=s;let w=(i=(f||v)&&l.rect||g&&P.axes.select(`.${dn.axis}-${e} text`)||m||((a=s.getArcElementByIdOrIndex)==null?void 0:a.call(s,e)))==null?void 0:i.node();if(w){const X=s.isMultipleX(),W=o.axis_rotated;let{width:Y,left:Q,top:K}=w.getBoundingClientRect();if(c&&!g&&!X){const ct=l.coords[e];ct?(Y=ct.w,Q+=ct.x,K+=ct.y):(Y=0,Q=0,K=0)}let at=Q+(n?n[0]:0)+(X||W?0:Y/2),ht=K+(n?n[1]:0)+(W?4:0);if(Ds(N)){const ct=Ai(s.$el.svg.node(),at,ht,!1);at=ct.x,ht=ct.y}const St={screenX:at,screenY:ht,clientX:at,clientY:ht,bubbles:g};(f||v)&&(w=(S!=null?S:L).node()),ev[/^(mouse|click)/.test(t)?"mouse":"touch"](w,t,St)}},setDragStatus(t){this.state.dragging=t},unbindZoomEvent(){const t=this,{$el:{eventRect:e,zoomResetBtn:n}}=t;e==null||e.on(".zoom wheel.zoom .drag",null),n==null||n.on("click",null).style("display","none")},unbindAllEvents(){var t;const e=this,{$el:{arcs:n,eventRect:a,legend:i,region:s,svg:o,treemap:l},brush:c}=e,f=["wheel","click","mouseover","mousemove","mouseout","touchstart","touchmove","touchend","touchstart.eventRect","touchmove.eventRect","touchend.eventRect",".brush",".drag",".zoom","wheel.zoom","dblclick.zoom"].join(" ");[o,a,s==null?void 0:s.list,c==null?void 0:c.getSelection(),n==null?void 0:n.selectAll("path"),i==null?void 0:i.selectAll("g"),l].forEach(g=>g==null?void 0:g.on(f,null)),(t=e.unbindZoomEvent)==null||t.call(e)}},jv={categoryName(t){var e;const{axis_x_categories:n}=this.config;return(e=n==null?void 0:n[t])!=null?e:t}},Gv={generateClass(t,e){return` ${t} ${t+this.getTargetSelectorSuffix(e)}`},getClass(t,e){const n=/s$/.test(t),a=/^(area|arc|line|funnel|treemap)s?$/.test(t),i=n?"id":"index";return s=>{const o=s.data||s;return((e?this.generateClass(Ue[n?"shapes":"shape"],o[i]):"")+this.generateClass(Ue[t],o[a?"id":i])).trim()}},getChartClass(t){return e=>Ue[`chart${t}`]+this.classTarget((e.data?e.data:e).id)},generateExtraLineClass(){const e=this.config.line_classes||[],n=[];return function(a){var i;const s=a.id||((i=a.data)==null?void 0:i.id)||a;return n.indexOf(s)<0&&n.push(s),e[n.indexOf(s)%e.length]}},classRegion(t,e){return`${this.generateClass(Ue.region,e)} ${"class"in t?t.class:""}`},classTarget(t){const e=this.config.data_classes[t];let n="";return e&&(n=` ${Ue.target}-${e}`),this.generateClass(Ue.target,t)+n},classFocus(t){return this.classFocused(t)+this.classDefocused(t)},classFocused(t){return` ${this.state.focusedTargetIds.indexOf(t.id)>=0?Ue.focused:""}`},classDefocused(t){return` ${this.state.defocusedTargetIds.indexOf(t.id)>=0?Ue.defocused:""}`},getTargetSelectorSuffix(t){return(t||t===0?`-${t}`:"").replace(/[\x00-\x20\x7F-\xA0\s?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\]/g,"-")},selectorTarget(t,e="",n=""){const a=this.getTargetSelectorSuffix(t);return`${e}.${Ue.target+a} ${n}, ${e}.${Ue.circles+a} ${n}`},selectorTargets(t,e){const n=t||[];return n.length?n.map(a=>this.selectorTarget(a,e)):null},selectorLegend(t){return`.${Ue.legendItem+this.getTargetSelectorSuffix(t)}`},selectorLegends(t){return t!=null&&t.length?t.map(e=>this.selectorLegend(e)):null}};class fc extends Map{constructor(e,n=gc){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[a,i]of e)this.set(a,i)}get(e){return super.get(Ys(this,e))}has(e){return super.has(Ys(this,e))}set(e,n){return super.set(dc(this,e),n)}delete(e){return super.delete(hc(this,e))}}class f1 extends Set{constructor(e,n=gc){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const a of e)this.add(a)}has(e){return super.has(Ys(this,e))}add(e){return super.add(dc(this,e))}delete(e){return super.delete(hc(this,e))}}function Ys({_intern:t,_key:e},n){const a=e(n);return t.has(a)?t.get(a):n}function dc({_intern:t,_key:e},n){const a=e(n);return t.has(a)?t.get(a):(t.set(a,n),n)}function hc({_intern:t,_key:e},n){const a=e(n);return t.has(a)&&(n=t.get(a),t.delete(a)),n}function gc(t){return t!==null&&typeof t=="object"?t.valueOf():t}function ra(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}function d1(t,e){switch(arguments.length){case 0:break;case 1:{typeof t=="function"?this.interpolator(t):this.range(t);break}default:{this.domain(t),typeof e=="function"?this.interpolator(e):this.range(e);break}}return this}const vc=Symbol("implicit");function pc(){var t=new fc,e=[],n=[],a=vc;function i(s){let o=t.get(s);if(o===void 0){if(a!==vc)return a;t.set(s,o=e.push(s)-1)}return n[o%n.length]}return i.domain=function(s){if(!arguments.length)return e.slice();e=[],t=new fc;for(const o of s)t.has(o)||t.set(o,e.push(o)-1);return i},i.range=function(s){return arguments.length?(n=Array.from(s),i):n.slice()},i.unknown=function(s){return arguments.length?(a=s,i):a},i.copy=function(){return pc(e,n).unknown(a)},ra.apply(i,arguments),i}const Vv=(t,e,n)=>{const a=st(t.cloneNode(!0));return a.attr("id",n).insert("rect",":first-child").attr("width",a.attr("width")).attr("height",a.attr("height")).style("fill",e),{id:n,node:a.node()}};function Xv(t){const e=Ln.colorPattern,{body:n}=vn;let a=n[e];if(!a){const i=";",s=t.classed(ss.colorPattern,!0).style("background-image");t.classed(ss.colorPattern,!1),s.indexOf(i)>-1&&(a=s.replace(/url[^#]*|["'()]|(\s|%20)/g,"").split(i).map(o=>o.trim().replace(/[\"'\s]/g,"")).filter(Boolean),n[e]=a)}return a}const Yv=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"];var Hv={generateColor(){const t=this,{$el:e,config:n}=t,a=n.data_colors,i=n.data_color,s=[];let o=cn(n.color_pattern)?n.color_pattern:pc(Xv(e.chart)||Yv).range();const l=o;if(ve(n.color_tiles)){const c=n.color_tiles.bind(t.api)(),f=o.map((g,v)=>{const m=g.replace(/[#\(\)\s,]/g,""),S=`${t.state.datetimeId}-pattern-${m}-${v}`;return Vv(c[v%c.length],g,S)});o=f.map(g=>`url(#${g.id})`),t.patterns=f}return function(c){var f;const g=c.id||((f=c.data)==null?void 0:f.id)||c,v=t.isTypeOf(g,["line","spline","step"])||!n.data_types[g];let m;return ve(a[g])?m=a[g].bind(t.api)(c):a[g]?m=a[g]:(s.indexOf(g)<0&&s.push(g),m=v?l[s.indexOf(g)%l.length]:o[s.indexOf(g)%o.length],a[g]=m),ve(i)?i.bind(t.api)(m,c):m}},generateLevelColor(){const t=this,{config:e}=t,n=e.color_pattern,a=e.color_threshold,i=a.unit==="value",s=a.max||100,o=a.values&&a.values.length?a.values:[];return cn(a)?function(l){const c=i?l:l*100/s;let f=n[n.length-1];for(let g=0,v=o.length;g<v;g++)if(c<=o[g]){f=n[g];break}return f}:null},generateTextBGColorFilter(t,e={x:0,y:0,width:1,height:1}){const n=this,{$el:a,state:i}=n;if(t){let s=[];Xe(t)?s.push(""):Be(t)&&(s=Object.keys(t)),s.forEach(o=>{const l=`${i.datetimeId}-labels-bg${n.getTargetSelectorSuffix(o)}${Xe(t)?n.getTargetSelectorSuffix(t):""}`;a.defs.append("filter").attr("x",e.x).attr("y",e.y).attr("width",e.width).attr("height",e.height).attr("id",l).html(`<feFlood flood-color="${o===""?t:t[o]}" /> + <feComposite in="SourceGraphic" />`)})}},getGradienColortUrl(t){return`url(#${this.state.datetimeId}-gradient${this.getTargetSelectorSuffix(t)})`},updateLinearGradient(){const t=this,{config:e,data:{targets:n},state:{datetimeId:a},$el:{defs:i}}=t;n.forEach(s=>{const o=`${a}-gradient${t.getTargetSelectorSuffix(s.id)}`,l=t.hasPointType()&&e.point_radialGradient,c=t.isAreaType(s)&&"area"||t.isBarType(s)&&"bar";if((l||c)&&i.select(`#${o}`).empty()){const f=t.color(s),g={defs:null,stops:[]};if(l){const{cx:v=.3,cy:m=.3,r:S=.7,stops:P=[[.1,f,0],[.9,f,1]]}=l;g.stops=P,g.defs=i.append("radialGradient").attr("id",`${o}`).attr("cx",v).attr("cy",m).attr("r",S)}else{const v=e.axis_rotated,{x:m=v?[1,0]:[0,0],y:S=v?[0,0]:[0,1],stops:P=[[0,f,1],[1,f,0]]}=e[`${c}_linearGradient`];g.stops=P,g.defs=i.append("linearGradient").attr("id",`${o}`).attr("x1",m[0]).attr("x2",m[1]).attr("y1",S[0]).attr("y2",S[1])}g.stops.forEach(v=>{const[m,S,P]=v,N=ve(S)?S.bind(t.api)(s.id):S;g.defs&&g.defs.append("stop").attr("offset",m).attr("stop-color",N||f).attr("stop-opacity",P)})}})},setOverColor(t,e){const n=this,{config:a,$el:{main:i}}=n,s=a.color_onover;let o=t?s:n.color;Be(o)?o=({id:l})=>l in s?s[l]:n.color(l):Xe(o)?o=()=>s:ve(s)&&(o=o.bind(n.api)),i.selectAll(Be(e)?`.${je.arc}${n.getTargetSelectorSuffix(e.id)}`:`.${on.shape}-${e}`).style("fill",o)}},Wv={getYDomainMinMax(t,e){const n=this,{axis:a,config:i}=n,s=e==="min",o=i.data_groups,l=n.mapToIds(t),c=n.getValuesAsIdKeyed(t);if(o.length>0){const f=n[`has${s?"Negative":"Positive"}ValueInTargets`](t);o.forEach(g=>{const v=g.filter(m=>l.indexOf(m)>=0);if(v.length){const m=v[0],S=a.getId(m);f&&c[m]&&(c[m]=c[m].map(P=>(s?P<0:P>0)?P:0)),v.filter((P,N)=>N>0).forEach(P=>{if(c[P]){const N=a.getId(P);c[P].forEach((L,w)=>{const X=+L,W=s?X>0:X<0;N===S&&!(f&&W)&&(c[m][w]+=X)})}})}})}return _n(e,Object.keys(c).map(f=>_n(e,c[f])))},isHiddenTargetWithYDomain(t){const e=this;return e.state.hiddenTargetIds.some(n=>e.axis.getId(n)===t)},getYDomain(t,e,n){const a=this,{axis:i,config:s,scale:o}=a,l=`axis_${e}`;if(a.isStackNormalized())return[0,100];const c=(o==null?void 0:o[e])&&o[e].type==="log",f=t.filter(ct=>i.getId(ct.id)===e),g=n?a.filterByXDomain(f,n):f;if(g.length===0)return a.isHiddenTargetWithYDomain(e)?o[e].domain():e==="y2"?o.y.domain():a.getYDomain(t,"y2",n);const v=s[`${l}_min`],m=s[`${l}_max`],S=s[`${l}_center`],P=s[`${l}_inverted`],N=a.hasDataLabel()&&s.axis_rotated,L=a.hasDataLabel()&&!s.axis_rotated;let w=a.getYDomainMinMax(g,"min"),X=a.getYDomainMinMax(g,"max"),W=[se.BAR,se.BUBBLE,se.SCATTER,...Sr.Line].some(ct=>{const lt=ct.indexOf("area")>-1?"area":ct;return a.hasType(ct,g,!0)&&s[`${lt}_zerobased`]});w=De(v)?v:De(m)?w<=m?w:m-10:w,X=De(m)?m:De(v)?v<=X?X:v+10:X,isNaN(w)&&(w=0),isNaN(X)&&(X=w),w===X&&(w<0?X=0:w=0);const Y=w>=0&&X>=0,Q=w<=0&&X<=0;(De(v)&&Y||De(m)&&Q)&&(W=!1),W&&(Y&&(w=0),Q&&(X=0));const K=Math.abs(X-w);let at={top:K*.1,bottom:K*.1};if(ke(S)){const ct=Math.max(Math.abs(w),Math.abs(X));X=S+ct,w=S-ct}if(N){const ct=Dr(o.y.range()),lt=a.getDataLabelLength(w,X,"width").map(Gt=>Gt/ct);["bottom","top"].forEach((Gt,vt)=>{at[Gt]+=K*(lt[vt]/(1-lt[0]-lt[1]))})}else if(L){const ct=a.getDataLabelLength(w,X,"height");["bottom","top"].forEach((lt,Gt)=>{at[lt]+=a.convertPixelToScale("y",ct[Gt],K)})}at=a.getResettedPadding(at);const ht=s[`${l}_padding`];cn(ht)&&["bottom","top"].forEach(ct=>{at[ct]=i.getPadding(ht,ct,at[ct],K)}),W&&(Y&&(at.bottom=w),Q&&(at.top=-X));const St=c?[w,X].map(ct=>ct<0?0:ct):[w-at.bottom,X+at.top];return P?St.reverse():St},getXDomainMinMax(t,e){var n;const a=this,i=a.config[`axis_x_${e}`],s=_n(e,t.map(l=>_n(e,l.values.map(c=>c.x))));let o=Be(i)?i.value:i;return o=ke(o)&&((n=a.axis)!=null&&n.isTimeSeries())?zn.bind(this)(o):o,Be(i)&&i.fit&&(e==="min"&&o<s||e==="max"&&o>s)&&(o=void 0),ke(o)?o:s},getXDomainPadding(t,e){const n=this,{axis:a,config:i}=n,s=i.axis_x_padding,o=a.isTimeSeries()&&e,l=Dr(t);let c;if(a.isCategorized()||o)c=0;else if(n.hasType("bar")){const v=n.getMaxDataCount();c=v>1?l/(v-1)/2:.5}else c=n.getResettedPadding(l*.01);let{left:f=c,right:g=c}=he(s)?{left:s,right:s}:s;if(s.unit==="px"){const v=Math.abs(l+l*.2);f=a.getPadding(s,"left",c,v),g=a.getPadding(s,"right",c,v)}else{const v=l+f+g;if(o&&v){const m=l/e/v;f=f/v/m,g=g/v/m}}return{left:f,right:g}},getXDomain(t){const e=this,{axis:n,config:a,scale:{x:i}}=e,s=a.axis_x_inverted,o=[e.getXDomainMinMax(t,"min"),e.getXDomainMinMax(t,"max")];let[l=0,c=0]=o;if(i.type!=="log"){const f=n.isCategorized(),g=n.isTimeSeries(),v=e.getXDomainPadding(o);let[m,S]=o;m-S===0&&!f&&(g?(m=new Date(m.getTime()*.5),S=new Date(S.getTime()*1.5)):(m=m===0?1:m*.5,S=S===0?-1:S*1.5)),(m||m===0)&&(l=g?new Date(m.getTime()-v.left):m-v.left),(S||S===0)&&(c=g?new Date(S.getTime()+v.right):S+v.right)}return s?[c,l]:[l,c]},updateXDomain(t,e,n,a,i){var s;const o=this,{config:l,org:c,scale:{x:f,subX:g}}=o,v=l.zoom_enabled;if(n&&(f.domain(i||na(o.getXDomain(t),!l.axis_x_inverted)),c.xDomain=f.domain(),g.domain(f.domain()),(s=o.brush)==null||s.scale(g)),e){const m=i||!o.brush||Kl(o)?c.xDomain:Wl(o).map(g.invert);f.domain(m)}return(n||e)&&v&&o.zoom.updateScaleExtent(),a&&f.domain(o.trimXDomain(f.orgDomain())),f.domain()},trimXDomain(t){const e=this,n=e.config.axis_x_inverted,a=e.getZoomDomain(),[i,s]=a;return(n?t[0]>=i:t[0]<=i)&&(t[1]=+t[1]+(i-t[0]),t[0]=i),(n?t[1]<=s:t[1]>=s)&&(t[0]=+t[0]-(t[1]-s),t[1]=s),t},getZoomDomain(t="zoom",e=!1){const n=this,{config:a,scale:i,org:s}=n;let[o,l]=e&&i[t]?i[t].domain():s.xDomain;return t==="zoom"&&(ke(a.zoom_x_min)&&(o=_n("min",[o,a.zoom_x_min])),ke(a.zoom_x_max)&&(l=_n("max",[l,a.zoom_x_max]))),[o,l]},getZoomDomainValue(t){const e=this,{config:n,axis:a}=e;if(a.isCategorized()&&Array.isArray(t)){const i=n.axis_x_inverted;return t.map((o,l)=>Number(o)+(l===0?+i:+!i))}return t},convertPixelToScale(t,e,n){const a=this,{config:i,state:s}=a,o=i.axis_rotated;let l;return t==="x"?l=o?"height":"width":l=o?"width":"height",n*(e/s[l])},withinRange(t,e=[0,0],n){const i=this.config.axis_x_inverted,[s,o]=n;if(Array.isArray(t)){const l=[...t];if(i&&l.reverse(),l[0]<l[1])return t.every((c,f)=>(f===0?i?+c<=s:+c>=s:i?+c>=o:+c<=o)&&!t.every((g,v)=>g===e[v]))}return!1}};function mc(t,e,n){const{config:a}=t,i=`axis_${e}_tick_format`;return(a[i]?a[i]:t.defaultValueFormat).call(t.api,n)}var Kv={yFormat(t){return mc(this,"y",t)},y2Format(t){return mc(this,"y2",t)},getDefaultValueFormat(){const t=this,{defaultArcValueFormat:e,yFormat:n,y2Format:a}=t,i=t.hasArcType(null,["gauge","polar","radar"]);return function(s,o,l){return(i?e:t.axis&&t.axis.getId(l)==="y2"?a:n).call(t,s,o)}},defaultValueFormat(t){return ze(t)?t.join("~"):De(t)?+t:""},defaultArcValueFormat(t,e){return`${(e*100).toFixed(1)}%`},defaultPolarValueFormat(t){return`${t}`},dataLabelFormat(t){const e=this,n=e.config.data_labels,a=s=>{const o="~";let l=s;return ze(s)?l=s.join(o):Be(s)&&(l=Object.values(s).join(o)),l};let i=a;return ve(n.format)?i=n.format:nr(n.format)&&(n.format[t]?i=n.format[t]===!0?a:n.format[t]:i=()=>""),i.bind(e.api)}};function Ii(t){const e=this,n=e.getDataById(t);return e.levelColor?e.levelColor(n.values[0].value):e.color(n)}function Hs(t,e=!0){var n;const{config:a}=this;let i=(n=a.data_names[t])!=null?n:t;return e&&ve(a.legend_format)&&(i=a.legend_format(i,t!==i?t:void 0)),i}var Zv={initLegend(){const t=this,{config:e,$el:n}=t;t.legendItemTextBox={},t.state.legendHasRendered=!1,e.legend_show?(e.legend_contents_bindto||(n.legend=t.$el.svg.append("g").classed(We.legend,!0).attr("transform",t.getTranslate("legend"))),t.updateLegend()):t.state.hiddenLegendIds=t.mapToIds(t.data.targets)},updateLegend(t,e,n){var a;const i=this,{config:s,state:o,scale:l,$el:c}=i,f=e||{withTransform:!1,withTransitionForTransform:!1,withTransition:!1};f.withTransition=$r(f,"withTransition",!0),f.withTransitionForTransform=$r(f,"withTransitionForTransform",!0),s.legend_contents_bindto&&s.legend_contents_template?i.updateLegendTemplate():o.hasTreemap||i.updateLegendElement(t||i.mapToIds(i.data.targets),f,n),(a=c.legend)==null||a.selectAll(`.${We.legendItem}`).classed(We.legendItemHidden,function(g){const v=!i.isTargetToShow(g);return v&&(this.style.opacity=null),v}),i.updateScales(!1,!l.zoom),i.updateSvgSize(),i.transformAll(f.withTransitionForTransform,n),o.legendHasRendered=!0},updateLegendTemplate(){const t=this,{config:e,$el:n}=t,a=st(e.legend_contents_bindto),i=e.legend_contents_template;if(!a.empty()){const s=t.mapToIds(t.data.targets),o=[];let l="";s.forEach(f=>{const g=ve(i)?i.bind(t.api)(f,t.color(f),t.api.data(f)[0].values):bi(i,{COLOR:t.color(f),TITLE:f});g&&(o.push(f),l+=g)});const c=a.html(l).selectAll(function(){return this.childNodes}).data(o);t.setLegendItem(c),n.legend=a}},updateSizeForLegend(t){const e=this,{config:n,state:{isLegendTop:a,isLegendLeft:i,isLegendRight:s,isLegendInset:o,current:l}}=e,{width:c,height:f}=t,g={top:a?e.getCurrentPaddingByDirection("top")+n.legend_inset_y+5.5:l.height-f-e.getCurrentPaddingByDirection("bottom")-n.legend_inset_y,left:i?e.getCurrentPaddingByDirection("left")+n.legend_inset_x+.5:l.width-c-e.getCurrentPaddingByDirection("right")-n.legend_inset_x+.5};e.state.margin3={top:s?0:o?g.top:l.height-f,right:NaN,bottom:0,left:s?l.width-c:o?g.left:0}},transformLegend(t){const e=this,{$el:{legend:n},$T:a}=e;a(n,t).attr("transform",e.getTranslate("legend"))},updateLegendStep(t){this.state.legendStep=t},updateLegendItemWidth(t){this.state.legendItemWidth=t},updateLegendItemHeight(t){this.state.legendItemHeight=t},updateLegendItemColor(t,e){const{legend:n}=this.$el;n&&n.select(`.${We.legendItem}-${t} line`).style("stroke",e)},getLegendWidth(){const t=this,{current:{width:e},isLegendRight:n,isLegendInset:a,legendItemWidth:i,legendStep:s}=t.state;return t.config.legend_show?n||a?i*(s+1):e:0},getLegendHeight(){var t;const e=this,{current:n,isLegendRight:a,legendItemHeight:i,legendStep:s}=e.state,o=((t=e.config.padding)==null?void 0:t.mode)==="fit";return e.config.legend_show?a?n.height:Math.max(o?10:20,i)*(s+1):0},opacityForUnfocusedLegend(t){return t.classed(We.legendItemHidden)?null:"0.3"},toggleFocusLegend(t,e){const n=this,{$el:{legend:a},$T:i}=n,s=n.mapToTargetIds(t);a&&i(a.selectAll(`.${We.legendItem}`).filter(o=>s.indexOf(o)>=0).classed(qe.legendItemFocused,e)).style("opacity",function(){return e?null:n.opacityForUnfocusedLegend.call(n,st(this))})},revertLegend(){const t=this,{$el:{legend:e},$T:n}=t;e&&n(e.selectAll(`.${We.legendItem}`).classed(qe.legendItemFocused,!1)).style("opacity",null)},showLegend(t){const e=this,{config:n,$el:a,$T:i}=e;n.legend_show||(n.legend_show=!0,a.legend?a.legend.style("visibility",null):e.initLegend(),!e.state.legendHasRendered&&e.updateLegend()),e.removeHiddenLegendIds(t),i(a.legend.selectAll(e.selectorLegends(t)).style("visibility",null)).style("opacity",null)},hideLegend(t){const e=this,{config:n,$el:{legend:a}}=e;n.legend_show&&qn(t)&&(n.legend_show=!1,a.style("visibility","hidden")),e.addHiddenLegendIds(t),a.selectAll(e.selectorLegends(t)).style("opacity","0").style("visibility","hidden")},getLegendItemTextBox(t,e){const n=this,{cache:a,state:i}=n;let s;const o=Ln.legendItemTextBox;return t&&(s=!i.redrawing&&a.get(o)||{},s[t]||(s[t]=n.getTextRect(e,We.legendItem),a.add(o,s)),s=s[t]),s},setLegendItem(t){const e=this,{$el:n,api:a,config:i,state:s}=e,o=s.inputType==="touch",l=e.hasType("gauge"),c=i.boost_useCssRule,f=i.legend_item_interaction;t.attr("class",function(g){const v=st(this);return(!v.empty()&&v.attr("class")||"")+e.generateClass(We.legendItem,g)}).style("visibility",g=>e.isLegendToShow(g)?null:"hidden"),i.interaction_enabled&&(c&&[[`.${We.legendItem}`,"cursor:pointer"],[`.${We.legendItem} text`,"pointer-events:none"],[`.${We.legendItemPoint} text`,"pointer-events:none"],[`.${We.legendItemTile}`,"pointer-events:none"],[`.${We.legendItemEvent}`,"fill-opacity:0"]].forEach(g=>{const[v,m]=g;e.setCssRule(!1,v,[m])(n.legend)}),t.on(f.dblclick?"dblclick":"click",f||ve(i.legend_item_onclick)?function(g,v){if(!_e(i.legend_item_onclick,a,v,!s.hiddenTargetIds.includes(v))){const{altKey:m,target:S,type:P}=g;P==="dblclick"||m?s.hiddenTargetIds.length&&S.parentNode.getAttribute("class").indexOf(We.legendItemHidden)===-1?a.show():(a.hide(),a.show(v)):(a.toggle(v),st(this).classed(qe.legendItemFocused,!1))}o&&e.hideTooltip()}:null),!o&&t.on("mouseout",f||ve(i.legend_item_onout)?function(g,v){_e(i.legend_item_onout,a,v,!s.hiddenTargetIds.includes(v))||(st(this).classed(qe.legendItemFocused,!1),l&&e.undoMarkOverlapped(e,`.${Un.gaugeValue}`),e.api.revert())}:null).on("mouseover",f||ve(i.legend_item_onover)?function(g,v){_e(i.legend_item_onover,a,v,!s.hiddenTargetIds.includes(v))||(st(this).classed(qe.legendItemFocused,!0),l&&e.markOverlapped(v,e,`.${Un.gaugeValue}`),!s.transiting&&e.isTargetToShow(v)&&a.focus(v))}:null),!t.empty()&&t.on("click mouseout mouseover")&&t.style("cursor",e.getStylePropValue("pointer")))},updateLegendElement(t,e){const n=this,{config:a,state:i,$el:{legend:s},$T:o}=n,c=a.legend_item_tile_type!=="circle",f=a.legend_item_tile_r,g={width:c?a.legend_item_tile_width:f*2,height:c?a.legend_item_tile_height:f*2},v={padding:{top:4,right:10},max:{width:0,height:0},posMin:10,step:0,tileWidth:g.width+5,totalLength:0},m={offsets:{},widths:{},heights:{},margins:[0],steps:{}};let S,P,N;const L=t.filter(K=>!ke(a.data_names[K])||a.data_names[K]!==null),w=e.withTransition,X=n.getUpdateLegendPositions(L,v,m);i.isLegendInset&&(v.step=a.legend_inset_step?a.legend_inset_step:L.length,n.updateLegendStep(v.step)),i.isLegendRight?(S=K=>v.max.width*m.steps[K],P=K=>m.margins[m.steps[K]]+m.offsets[K]):i.isLegendInset?(S=K=>v.max.width*m.steps[K]+10,P=K=>m.margins[m.steps[K]]+m.offsets[K]):(S=K=>m.margins[m.steps[K]]+m.offsets[K],P=K=>v.max.height*m.steps[K]);const W={xText:(K,at)=>S(K,at)+4+g.width,xRect:(K,at)=>S(K,at),x1Tile:(K,at)=>S(K,at)-2,x2Tile:(K,at)=>S(K,at)-2+g.width,yText:(K,at)=>P(K,at)+9,yRect:(K,at)=>P(K,at)-5,yTile:(K,at)=>P(K,at)+4};n.generateLegendItem(L,g,X,W),N=s.select(`.${We.legendBackground} rect`),i.isLegendInset&&v.max.width>0&&N.size()===0&&(N=s.insert("g",`.${We.legendItem}`).attr("class",We.legendBackground).append("rect")),a.legend_tooltip&&s.selectAll("title").data(L).text(K=>Hs.bind(n)(K,!1));const Y=s.selectAll("text").data(L).text(K=>Hs.bind(n)(K)).each(function(K,at){X(this,K,at)});o(Y,w).attr("x",W.xText).attr("y",W.yText);const Q=s.selectAll(`rect.${We.legendItemEvent}`).data(L);o(Q,w).attr("width",K=>m.widths[K]).attr("height",K=>m.heights[K]).attr("x",W.xRect).attr("y",W.yRect),n.updateLegendItemPos(L,w,W),N&&o(N,w).attr("height",n.getLegendHeight()-12).attr("width",v.max.width*(v.step+1)+10),n.updateLegendItemWidth(v.max.width),n.updateLegendItemHeight(v.max.height),n.updateLegendStep(v.step)},getUpdateLegendPositions(t,e,n){const a=this,{config:i,state:s}=a,o=s.isLegendRight||s.isLegendInset;return function(l,c,f){const g=f===0,v=f===t.length-1,m=a.getLegendItemTextBox(c,l),S=m.width+e.tileWidth+(v&&!o?0:e.padding.right)+i.legend_padding,P=m.height+e.padding.top,N=o?P:S,L=o?a.getLegendHeight():a.getLegendWidth();let w;const X=function(Y,Q){Q||(w=(L-e.totalLength-N)/2,w<e.posMin&&(w=(L-N)/2,e.totalLength=0,e.step++)),n.steps[Y]=e.step,n.margins[e.step]=s.isLegendInset?10:w,n.offsets[Y]=e.totalLength,e.totalLength+=N};if(g&&(e.totalLength=0,e.step=0,e.max.width=0,e.max.height=0),i.legend_show&&!a.isLegendToShow(c)){n.widths[c]=0,n.heights[c]=0,n.steps[c]=0,n.offsets[c]=0;return}n.widths[c]=S,n.heights[c]=P,(!e.max.width||S>=e.max.width)&&(e.max.width=S),(!e.max.height||P>=e.max.height)&&(e.max.height=P);const W=o?e.max.height:e.max.width;i.legend_equally?(Object.keys(n.widths).forEach(Y=>n.widths[Y]=e.max.width),Object.keys(n.heights).forEach(Y=>n.heights[Y]=e.max.height),w=(L-W*t.length)/2,w<e.posMin?(e.totalLength=0,e.step=0,t.forEach(Y=>X(Y))):X(c,!0)):X(c)}},generateLegendItem(t,e,n,a){const i=this,{config:s,state:o,$el:{legend:l}}=i,c=s.legend_usePoint,f=s.legend_item_tile_r,g=s.legend_item_tile_type,v=g!=="circle",m=o.isLegendRight||o.isLegendInset,S=-200,P=l.selectAll(`.${We.legendItem}`).data(t).enter().append("g");if(i.setLegendItem(P),s.legend_tooltip&&P.append("title").text(N=>N),P.append("text").text(N=>Hs.bind(i)(N)).each(function(N,L){n(this,N,L)}).style("pointer-events",i.getStylePropValue("none")).attr("x",m?a.xText:S).attr("y",m?S:a.yText),P.append("rect").attr("class",We.legendItemEvent).style("fill-opacity",i.getStylePropValue("0")).attr("x",m?a.xRect:S).attr("y",m?S:a.yRect),c){const N=[];P.append(L=>{const w=cn(s.point_pattern)?s.point_pattern:[s.point_type];N.indexOf(L)===-1&&N.push(L);let X=w[N.indexOf(L)%w.length];return X==="rectangle"&&(X="rect"),vn.createElementNS(ae.svg,"hasValidPointType"in i&&i.hasValidPointType(X)?X:"use")}).attr("class",We.legendItemPoint).style("fill",Ii.bind(i)).style("pointer-events",i.getStylePropValue("none")).attr("href",(L,w,X)=>{const Y=X[w].nodeName.toLowerCase(),Q=i.getTargetSelectorSuffix(L);return Y==="use"?`#${o.datetimeId}-point${Q}`:void 0})}else P.append(v?"line":g).attr("class",We.legendItemTile).style("stroke",Ii.bind(i)).style("pointer-events",i.getStylePropValue("none")).call(N=>{g==="circle"?N.attr("r",f).style("fill",Ii.bind(i)).attr("cx",m?a.x2Tile:S).attr("cy",m?S:a.yTile):v&&N.attr("stroke-width",e.height).attr("x1",m?a.x1Tile:S).attr("y1",m?S:a.yTile).attr("x2",m?a.x2Tile:S).attr("y2",m?S:a.yTile)})},updateLegendItemPos(t,e,n){const a=this,{config:i,$el:{legend:s},$T:o}=a,l=i.legend_usePoint,c=i.legend_item_tile_type,f=c!=="circle";if(l){const g=s.selectAll(`.${We.legendItemPoint}`).data(t);o(g,e).each(function(){const v=this.nodeName.toLowerCase(),m=i.point_r;let S="x",P="y",N=2,L=2.5,w=null,X=null,W=null;if(v==="circle"){const Y=m*.2;S="cx",P="cy",w=m+Y,N=m*2,L=-Y}else if(v==="rect"){const Y=m*2.5;X=Y,W=Y,L=3}st(this).attr(S,Y=>n.x1Tile(Y)+N).attr(P,Y=>n.yTile(Y)-L).attr("r",w).attr("width",X).attr("height",W)})}else{const g=s.selectAll(`.${We.legendItemTile}`).data(t);o(g,e).style("stroke",Ii.bind(a)).call(v=>{c==="circle"?v.attr("cx",m=>{const S=n.x2Tile(m);return S-(S-n.x1Tile(m))/2}).attr("cy",n.yTile):f&&v.attr("x1",n.x1Tile).attr("y1",n.yTile).attr("x2",n.x2Tile).attr("y2",n.yTile)})}}},Jv={redraw(t={}){var e,n,a,i;const s=this,{config:o,state:l,$el:c}=s,{main:f,treemap:g}=c;l.redrawing=!0;const v=s.filterTargetsToShow(s.data.targets),{flow:m,initializing:S}=t,P=s.getWithOption(t),N=P.Transition?o.transition_duration:0,L=P.TransitionForExit?N:0,w=P.TransitionForAxis?N:0,X=(e=s.axis)==null?void 0:e.generateTransitions(w);s.updateSizes(S),P.Legend&&o.legend_show?(t.withTransition=!!N,!g&&s.updateLegend(s.mapToIds(s.data.targets),t,X)):P.Dimension&&s.updateDimension(!0),o.data_empty_label_text&&f.select(`text.${On.text}.${Se.empty}`).attr("x",l.width/2).attr("y",l.height/2).text(o.data_empty_label_text).style("display",v.length?"none":null),l.hasAxis?(s.axis.redrawAxis(v,P,X,m,S),s.hasGrid()&&s.updateGrid(),o.regions.length&&s.updateRegion(),["bar","candlestick","line","area"].forEach(W=>{const Y=Dn(W);(/^(line|area)$/.test(W)&&s.hasTypeOf(Y)||s.hasType(W))&&s[`update${Y}`](P.TransitionForExit)}),c.text&&f.selectAll(`.${tn.selectedCircles}`).filter(s.isBarType.bind(s)).selectAll("circle").remove(),o.interaction_enabled&&!m&&P.EventRect&&(s.redrawEventRect(),(n=s.bindZoomEvent)==null||n.call(s))):(c.arcs&&s.redrawArc(N,L,P.Transform),c.radar&&s.redrawRadar(),c.polar&&s.redrawPolar(),c.funnel&&s.redrawFunnel(),g&&s.updateTreemap(L)),!l.resizing&&!g&&(s.hasPointType()||l.hasRadar)?s.updateCircle():(a=s.hasLegendDefsPoint)!=null&&a.call(s)&&s.data.targets.forEach(s.point("create",this)),s.hasDataLabel()&&!s.hasArcType(null,["radar"])&&s.updateText(),(i=s.redrawTitle)==null||i.call(s),S&&s.updateTypesElements(),s.generateRedrawList(v,m,N,P.Subchart),s.updateTooltipOnRedraw(),s.callPluginHook("$redraw",t,N)},generateRedrawList(t,e,n,a){const i=this,{config:s,state:o}=i,l=i.getDrawShape();o.hasAxis&&s.subchart_show&&i.redrawSubchart(a,n,l);const c=e&&i.generateFlow({targets:t,flow:e,duration:e.duration,shape:l,xv:i.xv.bind(i)}),f=(n||c)&&Ma(),g=i.getRedrawList(l,e,c,f),v=()=>{c&&c(),o.redrawing=!1,_e(s.onrendered,i.api)};if(v)if(f&&g.length){const m=ec();Ml().duration(n).each(()=>{g.reduce((S,P)=>S.concat(P),[]).forEach(S=>m.add(S))}).call(m,v)}else o.transiting||v();i.mapToIds(i.data.targets).forEach(m=>{o.withoutFadeIn[m]=!0})},getRedrawList(t,e,n,a){const i=this,{config:s,state:{hasAxis:o,hasRadar:l,hasTreemap:c},$el:{grid:f}}=i,{cx:g,cy:v,xForText:m,yForText:S}=t.pos,P=[];return o&&((s.grid_x_lines.length||s.grid_y_lines.length)&&P.push(i.redrawGrid(a)),s.regions.length&&P.push(i.redrawRegion(a)),Object.keys(t.type).forEach(N=>{const L=Dn(N),w=t.type[N];(/^(area|line)$/.test(N)&&i.hasTypeOf(L)||i.hasType(N))&&P.push(i[`redraw${L}`](w,a))}),!e&&f.main&&P.push(i.updateGridFocus())),(!i.hasArcType()||l)&&cn(s.data_labels)&&s.data_labels!==!1&&P.push(i.redrawText(m,S,e,a)),(i.hasPointType()||l)&&!i.isPointFocusOnly()&&i.redrawCircle&&P.push(i.redrawCircle(g,v,a,n)),c&&P.push(i.redrawTreemap(a)),P},updateAndRedraw(t={}){const e=this,{config:n,state:a}=e;let i;t.withTransition=$r(t,"withTransition",!0),t.withTransform=$r(t,"withTransform",!1),t.withLegend=$r(t,"withLegend",!1),t.withUpdateXDomain=!0,t.withUpdateOrgXDomain=!0,t.withTransitionForExit=!1,t.withTransitionForTransform=$r(t,"withTransitionForTransform",t.withTransition),t.withLegend&&n.legend_show||(a.hasAxis&&(i=e.axis.generateTransitions(t.withTransitionForAxis?n.transition_duration:0)),e.updateScales(),e.updateSvgSize(),e.transformAll(t.withTransitionForTransform,i)),e.redraw(t,i)}};const kv=Math.sqrt(50),Qv=Math.sqrt(10),qv=Math.sqrt(2);function Oi(t,e,n){const a=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(a)),s=a/Math.pow(10,i),o=s>=kv?10:s>=Qv?5:s>=qv?2:1;let l,c,f;return i<0?(f=Math.pow(10,-i)/o,l=Math.round(t*f),c=Math.round(e*f),l/f<t&&++l,c/f>e&&--c,f=-f):(f=Math.pow(10,i)*o,l=Math.round(t/f),c=Math.round(e/f),l*f<t&&++l,c*f>e&&--c),c<l&&.5<=n&&n<2?Oi(t,e,n*2):[l,c,f]}function Ws(t,e,n){if(e=+e,t=+t,n=+n,!(n>0))return[];if(t===e)return[t];const a=e<t,[i,s,o]=a?Oi(e,t,n):Oi(t,e,n);if(!(s>=i))return[];const l=s-i+1,c=new Array(l);if(a)if(o<0)for(let f=0;f<l;++f)c[f]=(s-f)/-o;else for(let f=0;f<l;++f)c[f]=(s-f)*o;else if(o<0)for(let f=0;f<l;++f)c[f]=(i+f)/-o;else for(let f=0;f<l;++f)c[f]=(i+f)*o;return c}function Ks(t,e,n){return e=+e,t=+t,n=+n,Oi(t,e,n)[2]}function Zs(t,e,n){e=+e,t=+t,n=+n;const a=e<t,i=a?Ks(e,t,n):Ks(t,e,n);return(a?-1:1)*(i<0?1/-i:i)}function Ci(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function _v(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Js(t){let e,n,a;t.length!==2?(e=Ci,n=(l,c)=>Ci(t(l),c),a=(l,c)=>t(l)-c):(e=t===Ci||t===_v?t:tp,n=t,a=t);function i(l,c,f=0,g=l.length){if(f<g){if(e(c,c)!==0)return g;do{const v=f+g>>>1;n(l[v],c)<0?f=v+1:g=v}while(f<g)}return f}function s(l,c,f=0,g=l.length){if(f<g){if(e(c,c)!==0)return g;do{const v=f+g>>>1;n(l[v],c)<=0?f=v+1:g=v}while(f<g)}return f}function o(l,c,f=0,g=l.length){const v=i(l,c,f,g-1);return v>f&&a(l[v-1],c)>-a(l[v],c)?v-1:v}return{left:i,center:o,right:s}}function tp(){return 0}function ep(t){return t===null?NaN:+t}function*h1(t,e){if(e===void 0)for(let n of t)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let a of t)(a=e(a,++n,t))!=null&&(a=+a)>=a&&(yield a)}}const yc=Js(Ci),np=yc.right,g1=yc.left,v1=Js(ep).center;var rp=np;function ap(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}function ip(t){return function(){return t}}function sp(t){return+t}var xc=[0,1];function aa(t){return t}function ks(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:ip(isNaN(e)?NaN:.5)}function op(t,e){var n;return t>e&&(n=t,t=e,e=n),function(a){return Math.max(t,Math.min(e,a))}}function lp(t,e,n){var a=t[0],i=t[1],s=e[0],o=e[1];return i<a?(a=ks(i,a),s=n(o,s)):(a=ks(a,i),s=n(s,o)),function(l){return s(a(l))}}function cp(t,e,n){var a=Math.min(t.length,e.length)-1,i=new Array(a),s=new Array(a),o=-1;for(t[a]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<a;)i[o]=ks(t[o],t[o+1]),s[o]=n(e[o],e[o+1]);return function(l){var c=rp(t,l,1,a)-1;return s[c](i[c](l))}}function Pi(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Qs(){var t=xc,e=xc,n=kr,a,i,s,o=aa,l,c,f;function g(){var m=Math.min(t.length,e.length);return o!==aa&&(o=op(t[0],t[m-1])),l=m>2?cp:lp,c=f=null,v}function v(m){return m==null||isNaN(m=+m)?s:(c||(c=l(t.map(a),e,n)))(a(o(m)))}return v.invert=function(m){return o(i((f||(f=l(e,t.map(a),kn)))(m)))},v.domain=function(m){return arguments.length?(t=Array.from(m,sp),g()):t.slice()},v.range=function(m){return arguments.length?(e=Array.from(m),g()):e.slice()},v.rangeRound=function(m){return e=Array.from(m),n=ap,g()},v.clamp=function(m){return arguments.length?(o=m?!0:aa,g()):o!==aa},v.interpolate=function(m){return arguments.length?(n=m,g()):n},v.unknown=function(m){return arguments.length?(s=m,v):s},function(m,S){return a=m,i=S,g()}}function Tc(){return Qs()(aa,aa)}var up=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function La(t){if(!(e=up.exec(t)))throw new Error("invalid format: "+t);var e;return new qs({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}La.prototype=qs.prototype;function qs(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}qs.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function fp(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function wi(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,a=t.slice(0,n);return[a.length>1?a[0]+a.slice(2):a,+t.slice(n+1)]}function ia(t){return t=wi(Math.abs(t)),t?t[1]:NaN}function dp(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(ia(e)/3)))*3-ia(Math.abs(t)))}function hp(t,e){return function(n,a){for(var i=n.length,s=[],o=0,l=t[0],c=0;i>0&&l>0&&(c+l+1>a&&(l=Math.max(1,a-c)),s.push(n.substring(i-=l,i+l)),!((c+=l+1)>a));)l=t[o=(o+1)%t.length];return s.reverse().join(e)}}function gp(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}function vp(t){t:for(var e=t.length,n=1,a=-1,i;n<e;++n)switch(t[n]){case".":a=i=n;break;case"0":a===0&&(a=n),i=n;break;default:if(!+t[n])break t;a>0&&(a=0);break}return a>0?t.slice(0,a)+t.slice(i+1):t}var $c;function pp(t,e){var n=wi(t,e);if(!n)return t+"";var a=n[0],i=n[1],s=i-($c=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=a.length;return s===o?a:s>o?a+new Array(s-o+1).join("0"):s>0?a.slice(0,s)+"."+a.slice(s):"0."+new Array(1-s).join("0")+wi(t,Math.max(0,e+s-1))[0]}function Sc(t,e){var n=wi(t,e);if(!n)return t+"";var a=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+a:a.length>i+1?a.slice(0,i+1)+"."+a.slice(i+1):a+new Array(i-a.length+2).join("0")}var Ac={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:fp,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Sc(t*100,e),r:Sc,s:pp,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Ec(t){return t}var bc=Array.prototype.map,Rc=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function mp(t){var e=t.grouping===void 0||t.thousands===void 0?Ec:hp(bc.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",a=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",s=t.numerals===void 0?Ec:gp(bc.call(t.numerals,String)),o=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"\u2212":t.minus+"",c=t.nan===void 0?"NaN":t.nan+"";function f(v){v=La(v);var m=v.fill,S=v.align,P=v.sign,N=v.symbol,L=v.zero,w=v.width,X=v.comma,W=v.precision,Y=v.trim,Q=v.type;Q==="n"?(X=!0,Q="g"):Ac[Q]||(W===void 0&&(W=12),Y=!0,Q="g"),(L||m==="0"&&S==="=")&&(L=!0,m="0",S="=");var K=N==="$"?n:N==="#"&&/[boxX]/.test(Q)?"0"+Q.toLowerCase():"",at=N==="$"?a:/[%p]/.test(Q)?o:"",ht=Ac[Q],St=/[defgprs%]/.test(Q);W=W===void 0?6:/[gprs]/.test(Q)?Math.max(1,Math.min(21,W)):Math.max(0,Math.min(20,W));function ct(lt){var Gt=K,vt=at,Z,$t,ut;if(Q==="c")vt=ht(lt)+vt,lt="";else{lt=+lt;var At=lt<0||1/lt<0;if(lt=isNaN(lt)?c:ht(Math.abs(lt),W),Y&&(lt=vp(lt)),At&&+lt==0&&P!=="+"&&(At=!1),Gt=(At?P==="("?P:l:P==="-"||P==="("?"":P)+Gt,vt=(Q==="s"?Rc[8+$c/3]:"")+vt+(At&&P==="("?")":""),St){for(Z=-1,$t=lt.length;++Z<$t;)if(ut=lt.charCodeAt(Z),48>ut||ut>57){vt=(ut===46?i+lt.slice(Z+1):lt.slice(Z))+vt,lt=lt.slice(0,Z);break}}}X&&!L&&(lt=e(lt,1/0));var Vt=Gt.length+lt.length+vt.length,Bt=Vt<w?new Array(w-Vt+1).join(m):"";switch(X&&L&&(lt=e(Bt+lt,Bt.length?w-vt.length:1/0),Bt=""),S){case"<":lt=Gt+lt+vt+Bt;break;case"=":lt=Gt+Bt+lt+vt;break;case"^":lt=Bt.slice(0,Vt=Bt.length>>1)+Gt+lt+vt+Bt.slice(Vt);break;default:lt=Bt+Gt+lt+vt;break}return s(lt)}return ct.toString=function(){return v+""},ct}function g(v,m){var S=f((v=La(v),v.type="f",v)),P=Math.max(-8,Math.min(8,Math.floor(ia(m)/3)))*3,N=Math.pow(10,-P),L=Rc[8+P/3];return function(w){return S(N*w)+L}}return{format:f,formatPrefix:g}}var Mi,_s,Ic;yp({thousands:",",grouping:[3],currency:["$",""]});function yp(t){return Mi=mp(t),_s=Mi.format,Ic=Mi.formatPrefix,Mi}function xp(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,ia(e)-ia(t))+1}function Tp(t){return Math.max(0,-ia(Math.abs(t)))}function $p(t,e,n,a){var i=Zs(t,e,n),s;switch(a=La(a==null?",f":a),a.type){case"s":{var o=Math.max(Math.abs(t),Math.abs(e));return a.precision==null&&!isNaN(s=dp(i,o))&&(a.precision=s),Ic(a,o)}case"":case"e":case"g":case"p":case"r":{a.precision==null&&!isNaN(s=xp(i,Math.max(Math.abs(t),Math.abs(e))))&&(a.precision=s-(a.type==="e"));break}case"f":case"%":{a.precision==null&&!isNaN(s=Tp(i))&&(a.precision=s-(a.type==="%")*2);break}}return _s(a)}function Oc(t){var e=t.domain;return t.ticks=function(n){var a=e();return Ws(a[0],a[a.length-1],n==null?10:n)},t.tickFormat=function(n,a){var i=e();return $p(i[0],i[i.length-1],n==null?10:n,a)},t.nice=function(n){n==null&&(n=10);var a=e(),i=0,s=a.length-1,o=a[i],l=a[s],c,f,g=10;for(l<o&&(f=o,o=l,l=f,f=i,i=s,s=f);g-- >0;){if(f=Ks(o,l,n),f===c)return a[i]=o,a[s]=l,e(a);if(f>0)o=Math.floor(o/f)*f,l=Math.ceil(l/f)*f;else if(f<0)o=Math.ceil(o*f)/f,l=Math.floor(l*f)/f;else break;c=f}return t},t}function Di(){var t=Tc();return t.copy=function(){return Pi(t,Di())},ra.apply(t,arguments),Oc(t)}function Cc(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function Pc(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function Sp(t){var e=1,n=t(Cc(e),Pc(e));return n.constant=function(a){return arguments.length?t(Cc(e=+a),Pc(e)):e},Oc(n)}function wc(){var t=Sp(Qs());return t.copy=function(){return Pi(t,wc()).constant(t.constant())},ra.apply(t,arguments)}function Mc(t,e){t=t.slice();var n=0,a=t.length-1,i=t[n],s=t[a],o;return s<i&&(o=n,n=a,a=o,o=i,i=s,s=o),t[n]=e.floor(i),t[a]=e.ceil(s),t}function Dc(t){return Math.log(t)}function Lc(t){return Math.exp(t)}function Ap(t){return-Math.log(-t)}function Ep(t){return-Math.exp(-t)}function bp(t){return isFinite(t)?+("1e"+t):t<0?0:t}function Rp(t){return t===10?bp:t===Math.E?Math.exp:e=>Math.pow(t,e)}function Ip(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function Nc(t){return(e,n)=>-t(-e,n)}function Op(t){const e=t(Dc,Lc),n=e.domain;let a=10,i,s;function o(){return i=Ip(a),s=Rp(a),n()[0]<0?(i=Nc(i),s=Nc(s),t(Ap,Ep)):t(Dc,Lc),e}return e.base=function(l){return arguments.length?(a=+l,o()):a},e.domain=function(l){return arguments.length?(n(l),o()):n()},e.ticks=l=>{const c=n();let f=c[0],g=c[c.length-1];const v=g<f;v&&([f,g]=[g,f]);let m=i(f),S=i(g),P,N;const L=l==null?10:+l;let w=[];if(!(a%1)&&S-m<L){if(m=Math.floor(m),S=Math.ceil(S),f>0){for(;m<=S;++m)for(P=1;P<a;++P)if(N=m<0?P/s(-m):P*s(m),!(N<f)){if(N>g)break;w.push(N)}}else for(;m<=S;++m)for(P=a-1;P>=1;--P)if(N=m>0?P/s(-m):P*s(m),!(N<f)){if(N>g)break;w.push(N)}w.length*2<L&&(w=Ws(f,g,L))}else w=Ws(m,S,Math.min(S-m,L)).map(s);return v?w.reverse():w},e.tickFormat=(l,c)=>{if(l==null&&(l=10),c==null&&(c=a===10?"s":","),typeof c!="function"&&(!(a%1)&&(c=La(c)).precision==null&&(c.trim=!0),c=_s(c)),l===1/0)return c;const f=Math.max(1,a*l/e.ticks().length);return g=>{let v=g/s(Math.round(i(g)));return v*a<a-.5&&(v*=a),v<=f?c(g):""}},e.nice=()=>n(Mc(n(),{floor:l=>s(Math.floor(i(l))),ceil:l=>s(Math.ceil(i(l)))})),e}function Fc(){const t=Op(Qs()).domain([1,10]);return t.copy=()=>Pi(t,Fc()).base(t.base()),ra.apply(t,arguments),t}const Li=en(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Li.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?en(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Li);const p1=Li.range,Ur=en(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*Xn)},(t,e)=>(e-t)/Xn,t=>t.getUTCSeconds()),m1=Ur.range,to=en(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Xn)},(t,e)=>{t.setTime(+t+e*In)},(t,e)=>(e-t)/In,t=>t.getMinutes()),y1=to.range,eo=en(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*In)},(t,e)=>(e-t)/In,t=>t.getUTCMinutes()),x1=eo.range,no=en(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Xn-t.getMinutes()*In)},(t,e)=>{t.setTime(+t+e*Bn)},(t,e)=>(e-t)/Bn,t=>t.getHours()),T1=no.range,ro=en(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*Bn)},(t,e)=>(e-t)/Bn,t=>t.getUTCHours()),$1=ro.range,ao=en(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),S1=ao.range,io=en(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),A1=io.range;function Bc(t,e,n,a,i,s){const o=[[Ur,1,Xn],[Ur,5,5*Xn],[Ur,15,15*Xn],[Ur,30,30*Xn],[s,1,In],[s,5,5*In],[s,15,15*In],[s,30,30*In],[i,1,Bn],[i,3,3*Bn],[i,6,6*Bn],[i,12,12*Bn],[a,1,sr],[a,2,2*sr],[n,1,ts],[e,1,Po],[e,3,3*Po],[t,1,es]];function l(f,g,v){const m=g<f;m&&([f,g]=[g,f]);const S=v&&typeof v.range=="function"?v:c(f,g,v),P=S?S.range(f,+g+1):[];return m?P.reverse():P}function c(f,g,v){const m=Math.abs(g-f)/v,S=Js(([,,L])=>L).right(o,m);if(S===o.length)return t.every(Zs(f/es,g/es,v));if(S===0)return Li.every(Math.max(Zs(f,g,v),1));const[P,N]=o[m/o[S-1][2]<o[S][2]/m?S-1:S];return P.every(N)}return[l,c]}const[Cp,Pp]=Bc(lr,io,ka,wo,ro,eo),[wp,Mp]=Bc(or,ao,Za,pa,no,to);function Dp(t){return new Date(t)}function Lp(t){return t instanceof Date?+t:+new Date(+t)}function so(t,e,n,a,i,s,o,l,c,f){var g=Tc(),v=g.invert,m=g.domain,S=f(".%L"),P=f(":%S"),N=f("%I:%M"),L=f("%I %p"),w=f("%a %d"),X=f("%b %d"),W=f("%B"),Y=f("%Y");function Q(K){return(c(K)<K?S:l(K)<K?P:o(K)<K?N:s(K)<K?L:a(K)<K?i(K)<K?w:X:n(K)<K?W:Y)(K)}return g.invert=function(K){return new Date(v(K))},g.domain=function(K){return arguments.length?m(Array.from(K,Lp)):m().map(Dp)},g.ticks=function(K){var at=m();return t(at[0],at[at.length-1],K==null?10:K)},g.tickFormat=function(K,at){return at==null?Q:f(at)},g.nice=function(K){var at=m();return(!K||typeof K.range!="function")&&(K=e(at[0],at[at.length-1],K==null?10:K)),K?m(Mc(at,K)):g},g.copy=function(){return Pi(g,so(t,e,n,a,i,s,o,l,c,f))},g}function Np(){return ra.apply(so(wp,Mp,or,ao,Za,pa,no,to,Ur,as).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function Fp(){return ra.apply(so(Cp,Pp,lr,io,ka,qa,ro,eo,Ur,is).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function zr(t="linear",e,n){const a={linear:Di,log:wc,_log:Fc,time:Np,utc:Fp}[t]();return a.type=t,/_?log/.test(t)&&a.clamp(!0),a.range([e!=null?e:0,n!=null?n:1])}var Bp={getXScale(t,e,n,a){const i=this,s=i.state.loading!=="append"&&i.scale.zoom||zr(i.axis.getAxisType("x"),t,e);return i.getCustomizedXScale(n?s.domain(n):s,a)},getYScale(t,e,n,a){const s=zr(this.axis.getAxisType(t),e,n);return a&&s.domain(a),s},getYScaleById(t,e=!1){var n;const a=((n=this.axis)==null?void 0:n.getId(t))==="y2",i=e?a?"subY2":"subY":a?"y2":"y";return this.scale[i]},getCustomizedXScale(t,e){const n=this,a=e||(()=>n.axis.x.tickOffset()),i=n.config.axis_x_inverted,s=function(o){return t(o)+a()};for(const o in t)s[o]=t[o];return s.orgDomain=()=>t.domain(),s.orgScale=()=>t,n.axis.isCategorized()&&(s.domain=function(o){let l=o;return arguments.length?(t.domain(l),s):(l=this.orgDomain(),i?[l[0]+1,l[1]]:[l[0],l[1]+1])}),s},updateScales(t,e=!0){var n,a;const i=this,{axis:s,config:o,format:l,org:c,scale:f,state:{current:g,width:v,height:m,width2:S,height2:P,hasAxis:N,hasTreemap:L}}=i;if(N){const w=o.axis_rotated,X=i.getResettedPadding(1),W={x:w?X:0,y:w?0:m,subX:w?1:0,subY:w?0:P},Y={x:w?m:v,y:w?v:X,subX:w?m:v,subY:w?S:1},Q=e&&((n=f.x)==null?void 0:n.orgDomain()),K=e&&c.xDomain;f.x=i.getXScale(W.x,Y.x,Q,()=>s.x.tickOffset()),f.subX=i.getXScale(W.x,Y.x,K,at=>{var ht;return at%1?0:((ht=s.subX)!=null?ht:s.x).tickOffset()}),l.xAxisTick=s.getXAxisTickFormat(),l.subXAxisTick=s.getXAxisTickFormat(!0),s.setAxis("x",f.x,o.axis_x_tick_outer,t),o.subchart_show&&s.setAxis("subX",f.subX,o.axis_x_tick_outer,t),f.y=i.getYScale("y",W.y,Y.y,f.y?f.y.domain():o.axis_y_default),f.subY=i.getYScale("y",W.subY,Y.subY,f.subY?f.subY.domain():o.axis_y_default),s.setAxis("y",f.y,o.axis_y_tick_outer,t),o.axis_y2_show&&(f.y2=i.getYScale("y2",W.y,Y.y,f.y2?f.y2.domain():o.axis_y2_default),f.subY2=i.getYScale("y2",W.subY,Y.subY,f.subY2?f.subY2.domain():o.axis_y2_default),s.setAxis("y2",f.y2,o.axis_y2_tick_outer,t))}else if(L){const w=i.getCurrentPadding();f.x=Di().rangeRound([w.left,g.width-w.right]),f.y=Di().rangeRound([w.top,g.height-w.bottom])}else(a=i.updateArc)==null||a.call(i)},xx(t){const e=this,{config:n,scale:{x:a,zoom:i}}=e,s=n.zoom_enabled&&i?i:a;return t?s(De(t.x)?t.x:t):null},xv(t){const e=this,{axis:n,config:a,scale:{x:i,zoom:s}}=e,o=a.zoom_enabled&&s?s:i;let l=e.getBaseValue(t);return n.isTimeSeries()?l=zn.call(e,l):n.isCategorized()&&Xe(l)&&(l=a.axis_x_categories.indexOf(l)),o(l)},yv(t){const e=this,{scale:{y:n,y2:a}}=e;return(t.axis&&t.axis==="y2"?a:n)(e.getBaseValue(t))},subxx(t){return t?this.scale.subX(t.x):null}},Up={setContainerSize(){const t=this,{state:e}=t;e.current.width=t.getCurrentWidth(),e.current.height=t.getCurrentHeight()},getCurrentWidth(){const t=this;return t.config.size_width||t.getParentWidth()},getCurrentHeight(){const t=this,{config:e}=t,n=e.size_height||t.getParentHeight();return n>0?n:320/(t.hasType("gauge")&&!e.gauge_fullCircle?2:1)},getParentRectValue(t){const e=`offset${Dn(t)}`;let n=this.$el.chart.node(),a=0;for(;a<30&&n&&n.tagName!=="BODY";){try{a=n.getBoundingClientRect()[t]}catch(s){e in n&&(a=n[e])}n=n.parentNode}const i=vn.body[e];return a>i&&(a=i),a},getParentWidth(){return this.getParentRectValue("width")},getParentHeight(){const t=this.$el.chart.style("height");let e=0;return t&&(e=/px$/.test(t)?parseInt(t,10):this.getParentRectValue("height")),e},getSvgLeft(t){const e=this,{config:n,state:{hasAxis:a},$el:i}=e,s=n.axis_rotated,o=s||!s&&!n.axis_y_inner,l=s?dn.axisX:dn.axisY,c=i.main.select(`.${l}`).node(),f=a&&n[`axis_${s?"x":"y"}_label`];let g=0;if(a&&(Xe(f)||Xe(f.text)||/^inner-/.test(f==null?void 0:f.position))){const N=i.main.select(`.${l}-label`);N.empty()||(g=N.node().getBoundingClientRect().left)}const v=c&&o?c.getBoundingClientRect():{right:0},m=i.chart.node().getBoundingClientRect().left+g,S=e.hasArcType(),P=v.right-m-(S?0:e.getCurrentPaddingByDirection("left",t));return P>0?P:0},updateDimension(t){var e;const n=this,{config:a,state:{hasAxis:i},$el:s}=n;i&&!t&&n.axis.x&&a.axis_rotated&&((e=n.axis.subX)==null||e.create(s.axis.subX)),n.updateScales(t),n.updateSvgSize(),n.transformAll(!1)},updateSvgSize(){const t=this,{config:e,state:{clip:n,current:a,hasAxis:i,width:s,height:o},$el:{svg:l}}=t;if(e.resize_auto==="viewBox"?l.attr("viewBox",`0 0 ${a.width} ${a.height}`):l.attr("width",a.width).attr("height",a.height),i){const c=l.select(`.${Qo.brush} .overlay`),f={width:0,height:0};c.size()&&(f.width=+c.attr("width"),f.height=+c.attr("height")),l.selectAll([`#${n.id}`,`#${n.idGrid}`]).select("rect").attr("width",s).attr("height",o),l.select(`#${n.idXAxis}`).select("rect").call(t.setXAxisClipPath.bind(t)),l.select(`#${n.idYAxis}`).select("rect").call(t.setYAxisClipPath.bind(t)),n.idSubchart&&l.select(`#${n.idSubchart}`).select("rect").attr("width",s).attr("height",f.height)}},getCurrentPaddingByDirection(t,e=!1,n=!1){var a;const i=this,{config:s,$el:o,state:{hasAxis:l}}=i,c=s.axis_rotated,f=((a=s.padding)==null?void 0:a.mode)==="fit",g=he(s[`padding_${t}`])?s[`padding_${t}`]:void 0,v=l?{top:c?"y2":null,bottom:c?"y":"x",left:c?"x":"y",right:c?null:"y2"}[t]:null,m=/^(left|right)$/.test(t),S=v&&s[`axis_${v}_inner`],P=v&&s[`axis_${v}_show`],N=v?s[`axis_${v}_axes`].length:0;let L=v?m?i.getAxisWidthByAxisId(v,e):i.getHorizontalAxisHeight(v):0;const w=20;let X=0;!f&&m&&(L=Jg(L));let W=l&&m&&(S||ln(g)&&!P)?0:f?(P?L:0)+(g!=null?g:0):ln(g)?L:g;return m&&l?(v&&(f||S)&&s[`axis_${v}_label`].text&&(W+=i.axis.getAxisLabelPosition(v).isOuter?w:0),t==="right"?(W+=c?!f&&ln(g)?10:2:!P||S?f?2:1:0,W+=n?i.axis.getXAxisTickTextY2Overflow(w):0):t==="left"&&c&&ln(g)&&(W=s.axis_x_show?f?L:Math.max(L,40):1)):t==="top"?(o.title&&o.title.node()&&(W+=i.getTitlePadding()),X=c&&!S?N:0):t==="bottom"&&l&&c&&!P&&(W+=1),W+L*N-X},getCurrentPadding(t=!1){const e=this,[n,a,i,s]=["top","bottom","left","right"].map(o=>e.getCurrentPaddingByDirection(o,null,t));return{top:n,bottom:a,left:i,right:s}},getResettedPadding(t){const e=this,{config:n}=e,a=he(t);let i=a?0:{};return n.padding===!1?!a&&Object.keys(t).forEach(s=>{i[s]=!qn(n.data_labels)&&n.data_labels!==!1&&s==="top"?t[s]:0}):i=t,i},updateSizes(t){var e,n,a,i,s;const o=this,{config:l,state:c,$el:{legend:f}}=o,g=l.axis_rotated,v=o.hasArcType()||c.hasFunnel||c.hasTreemap,m=((e=l.padding)==null?void 0:e.mode)==="fit";!t&&o.setContainerSize();const S={width:f?o.getLegendWidth():0,height:f?o.getLegendHeight():0};!v&&l.axis_x_show&&l.axis_x_tick_autorotate&&o.updateXAxisTickClip();const P={right:l.legend_show&&c.isLegendRight?o.getLegendWidth()+(m?0:20):0,bottom:!l.legend_show||c.isLegendRight||c.isLegendInset?0:S.height},N=g||v?0:o.getHorizontalAxisHeight("x"),L=l.subchart_axis_x_show&&l.subchart_axis_x_tick_text_show?N:30,w=l.subchart_show&&!v?l.subchart_size_height+L:0,X=o.hasType("gauge")&&l.arc_needle_show&&!l.gauge_fullCircle&&!l.gauge_label_show?10:0,W=o.getCurrentPadding(!0);if(c.margin=!v&&g?{top:W.top,right:v?0:W.right+P.right,bottom:P.bottom+W.bottom,left:w+(v?0:W.left)}:{top:(m?0:4)+W.top,right:v?0:W.right+P.right,bottom:X+w+P.bottom+W.bottom,left:v?0:W.left},c.margin=o.getResettedPadding(c.margin),c.margin2=g?{top:c.margin.top,right:NaN,bottom:20+P.bottom,left:o.state.rotatedPadding.left}:{top:c.current.height-w-P.bottom,right:NaN,bottom:L+P.bottom,left:c.margin.left},c.margin3={top:0,right:NaN,bottom:0,left:0},(n=o.updateSizeForLegend)==null||n.call(o,S),c.width=c.current.width-c.margin.left-c.margin.right,c.height=c.current.height-c.margin.top-c.margin.bottom,c.width<0&&(c.width=0),c.height<0&&(c.height=0),c.width2=g?c.margin.left-c.rotatedPadding.left-c.rotatedPadding.right:c.width,c.height2=g?c.height:c.current.height-c.margin2.top-c.margin2.bottom,c.width2<0&&(c.width2=0),c.height2<0&&(c.height2=0),o.hasArcType()){const Y=o.hasType("gauge"),Q=l.legend_show&&c.isLegendRight,K=(a=c.hasRadar&&o.cache.get(Ln.radarTextWidth))!=null?a:0;c.arcWidth=c.width-(Q?S.width+10:0)-K,c.arcHeight=c.height-(Q&&!Y?0:10),(i=l.arc_rangeText_values)!=null&&i.length&&(Y?(c.arcWidth-=25,c.arcHeight-=10,c.margin.left+=10):(c.arcHeight-=20,c.margin.top+=10)),Y&&!l.gauge_fullCircle&&(c.arcHeight+=c.height-o.getPaddingBottomForGauge()),(s=o.updateRadius)==null||s.call(o)}c.isLegendRight&&v&&(c.margin3.left=c.arcWidth/2+c.radiusExpanded*1.1)}},zp={setCssRule(t,e,n,a){const i=this,{config:s,state:{cssRule:o,style:l}}=i;return s.boost_useCssRule?c=>{c.each(f=>{const g=a&&(a==null?void 0:a.call(i,f)),v=`${t?`.${on.shapes+i.getTargetSelectorSuffix(f.id)}`:""}${e}`;e in o&&l.sheet.deleteRule(o[v]),i.state.cssRule[v]=_g(l,v,n.filter(Boolean).map(m=>Xe(g)&&m.indexOf(":")===-1?`${m}: ${g}`:m||""))})}:()=>{}},getStylePropValue(t){const{config:{boost_useCssRule:e}}=this;return e?null:ve(t)?t.bind(this):t}};function Uc(t){return typeof t=="string"?new Ie([document.querySelectorAll(t)],[document.documentElement]):new Ie([T(t)],_t)}function jp(t){let e="middle";return t>0&&t<=170?e="end":t>190&&t<=360&&(e="start"),e}function Gp(t,e,n,a,i){var s;const o=this,{value:l}=t,c=o.isCandlestickType(t),f=he(l)&&l<0||c&&!((s=o.getCandlestickData(t))!=null&&s._isUp);let{x:g,y:v}=e;const m=4,S=m*2;return a?n==="start"?(g+=f?0:S,v+=m):n==="middle"?(g+=S,v-=S):n==="end"&&(f&&(g-=S),v+=m):(n==="start"?(g+=m,f&&(v+=S*2)):n==="middle"?v-=S:n==="end"&&(g-=m,f&&(v+=S*2)),i&&(v+=f?-17:c?13:7)),{x:g,y:v}}function zc(t,e){var n;const a=this.config.data_labels_position,{id:i,index:s,value:o}=t;return(n=ve(a)?a.bind(this.api)(e,o,i,s,this.$el.text):(i in a?a[i]:a)[e])!=null?n:0}var Vp={opacityForText(t){const e=this;return e.isBarType(t)&&!e.meetsLabelThreshold(Math.abs(e.getRatio("bar",t)),"bar")?"0":e.hasDataLabel?null:"0"},initText(){const{$el:t}=this;t.main.select(`.${Se.chart}`).append("g").attr("class",On.chartTexts).style("pointer-events",t.funnel||t.treemap?"none":null)},updateTargetsForText(t){const e=this,n=e.getChartClass("Text"),a=e.getClass("texts","id"),i=e.classFocus.bind(e);e.$el.main.select(`.${On.chartTexts}`).selectAll(`.${On.chartText}`).data(t).attr("class",l=>`${n(l)}${i(l)}`.trim()).enter().append("g").style("opacity","0").attr("class",n).call(e.setCssRule(!0,` .${On.text}`,["fill","pointer-events:none"],e.updateTextColor)).append("g").attr("class",a)},updateText(){const t=this,{$el:e,$T:n,config:a,axis:i}=t,s=t.getClass("text","index"),o=a.data_labels.centered,l=e.main.selectAll(`.${On.texts}`).selectAll(`.${On.text}`).data(t.labelishData.bind(t));n(l.exit()).style("fill-opacity","0").remove(),e.text=l.enter().append("text").merge(l).attr("class",s).attr("text-anchor",c=>{let g=a[`axis_${i==null?void 0:i.getId(c.id)}_inverted`]?c.value>0:c.value<0;if(t.isCandlestickType(c)){const v=t.getCandlestickData(c);g=!(v!=null&&v._isUp)}else if(t.isTreemapType(c))return o?"middle":"start";return a.axis_rotated?g?"end":"start":"middle"}).style("fill",t.getStylePropValue(t.updateTextColor)).style("fill-opacity","0").each(function(c,f,g){const v=st(this);let{value:m}=c;if(t.isBubbleZType(c))m=t.getBubbleZData(m,"z");else if(t.isCandlestickType(c)){const S=t.getCandlestickData(c);S&&(m=S.close)}m=t.isTreemapType(c)?t.treemapDataLabelFormat(c)(v):t.dataLabelFormat(c.id)(m,c.id,c.index,g),he(m)?this.textContent=m:wa(v,m)})},updateTextColor(t){const e=this,{config:n}=e,a=n.data_labels_colors,i=e.isArcType(t)&&!e.isRadarType(t)||e.isFunnelType(t)||e.isTreemapType(t)?null:e.color(t);let s;if(Xe(a))s=a;else if(Be(a)){const{id:o}=t.data||t;s=a[o]}else ve(a)&&(s=a.bind(e.api)(i,t));if(e.isCandlestickType(t)&&!ve(a)){const o=e.getCandlestickData(t);if(!(o!=null&&o._isUp)){const l=n.candlestick_color_down;s=Be(l)?l[t.id]:l}}return s||i},updateTextBGColor(t,e){const n=this,{$el:a}=n;let i="";if(Xe(e)||Be(e)){const s=Xe(e)?"":n.getTargetSelectorSuffix("id"in t?t.id:t.data.id),o=a.defs.select(["filter[id*='labels-bg","']"].join(s));o.size()&&(i=`url(#${o.attr("id")})`)}return i||null},redrawText(t,e,n,a){const i=this,{$T:s,axis:o,config:l,state:{hasTreemap:c}}=i,f=gr(!0),g=l.axis_rotated,v=l.data_labels.rotate,m=jp(v),S=v?`rotate(${v})`:"";return i.$el.text.style("fill",i.getStylePropValue(i.updateTextColor)).attr("filter",P=>i.updateTextBGColor.bind(i)(P,l.data_labels_backgroundColors)).style("fill-opacity",n?0:i.opacityForText.bind(i)).each(function(P,N){const L=s(c&&this.childElementCount?this.parentNode:this,!!(a&&this.getAttribute("x")),f),w=l[`axis_${o==null?void 0:o.getId(P.id)}_inverted`];let X={x:t.bind(this)(P,N),y:e.bind(this)(P,N)};v&&(X=Gp.bind(i)(P,X,m,g,w),L.attr("text-anchor",m)),this.childElementCount||v?L.attr("transform",`translate(${X.x} ${X.y}) ${S}`):L.attr("x",X.x).attr("y",X.y)}),!0},getTextRect(t,e){const n=this;let a=t.node?t.node():t;/text/i.test(a.tagName)||(a=a.querySelector("text"));const i=a.textContent,s=`${Ln.textRect}-${i.replace(/\W/g,"_")}`;let o=n.cache.get(s);return o||(n.$el.svg.append("text").style("visibility","hidden").style("font",st(a).style("font")).classed(e,!0).text(i).call(l=>{o=Si(l.node())}).remove(),n.cache.add(s,o)),o},generateXYForText(t,e){const n=this,{state:{hasRadar:a,hasFunnel:i,hasTreemap:s}}=n,o=Object.keys(t),l={},c=e?n.getXForText:n.getYForText;return i&&o.push("funnel"),a&&o.push("radar"),s&&o.push("treemap"),o.forEach(f=>{l[f]=n[`generateGet${Dn(f)}Points`](t[f],!1)}),function(f,g){const v=n.isAreaType(f)&&"area"||n.isBarType(f)&&"bar"||n.isCandlestickType(f)&&"candlestick"||n.isFunnelType(f)&&"funnel"||n.isRadarType(f)&&"radar"||n.isTreemapType(f)&&"treemap"||"line";return c.call(n,l[v](f,g),f,this)}},getCenteredTextPos(t,e,n,a){const i=this,{config:s}=i,o=s.axis_rotated,l=i.isBarType(t),c=i.isTreemapType(t);if(s.data_labels.centered&&(l||c)){const f=Si(n);if(l){const g=i.getRangedData(t,null,"bar")>=0;if(o){const v=(g?e[1][1]-e[0][1]:e[0][1]-e[1][1])/2+f.width/2;return g?-v-3:v+2}else{const v=(g?e[0][1]-e[1][1]:e[1][1]-e[0][1])/2+f.height/2;return g?v:-v-2}}else if(c)return a==="x"?(e[1][0]-e[0][0])/2:(e[1][1]-e[0][1])/2+f.height/2}return 0},getXForText(t,e,n){var a;const i=this,{config:s}=i,o=s.axis_rotated,l=i.isFunnelType(e),c=i.isTreemapType(e);let f=t?t[0][0]:0;if(i.isCandlestickType(e))o?f=(a=i.getCandlestickData(e))!=null&&a._isUp?t[2][2]+4:t[2][1]-4:f+=(t[1][0]-f)/2;else if(l)f+=i.state.current.width/2;else if(c)f+=s.data_labels.centered?0:5;else if(o){const g=s[`axis_${i.axis.getId(e.id)}_inverted`],v=i.isBarType(e)?4:6,m=e.value;f=t[2][1],g?f-=v*(m>0?1:-1):f+=v*(m<0?-1:1)}else f=i.hasType("bar")?(t[2][0]+t[0][0])/2:f;return(o||c)&&(f+=i.getCenteredTextPos(e,t,n,"x")),f+zc.call(this,e,"x")},getYForText(t,e,n){const a=this,{axis:i,config:s,state:o}=a,l=s.axis_rotated,c=s[`axis_${i==null?void 0:i.getId(e.id)}_inverted`],f=a.isBarType(e),g=a.isFunnelType(e),v=a.isTreemapType(e),m=s.point_r,S=Si(n);let{value:P}=e,N=3,L;if(a.isCandlestickType(e))P=a.getCandlestickData(e),l?(L=t[0][0],L+=(t[1][0]-L)/2+N):(L=P&&P._isUp?t[2][2]-N:t[2][1]+N*4,c&&(L+=15*(P._isUp?1:-1)));else if(g)L=t?t[0][1]+(t[1][1]-t[0][1])/2+S.height/2-3:0;else if(v)L=t[0][1]+(s.data_labels.centered?0:S.height+5);else if(l)L=(t[0][0]+t[2][0]+S.height*.6)/2;else if(L=t[2][1],he(m)&&m>5&&(a.isLineType(e)||a.isScatterType(e))&&(N+=s.point_r/2.3),P<0||P===0&&!o.hasPositiveValue&&o.hasNegativeValue)L+=c?f?-3:-5:S.height+(f?-N:N);else{let w=-N*2;f?w=-N:a.isBubbleType(e)&&(w=N),c&&(w=f?10:15),L+=w}return(!l||v)&&(L+=a.getCenteredTextPos(e,t,n,"y")),L+zc.call(this,e,"y")},markOverlapped(t,e,n){const a=e.$el.arcs.selectAll(n),i=a.filter(c=>c.data.id!==t),s=a.filter(c=>c.data.id===t),o=Jl(s.node()),l=(c,f)=>Math.sqrt(Math.pow(c,2)+Math.pow(f,2));s.node()&&i.each(function(){const c=Jl(this),f=st(this),g=l(o.e,o.f)>l(c.e,c.f)?s:f,v=Math.ceil(Math.abs(o.e-c.e))<Math.ceil(g.node().getComputedTextLength()),m=Math.ceil(Math.abs(o.f-c.f))<parseInt(s.style("font-size"),10);f.classed(On.TextOverlapping,v&&m)})},undoMarkOverlapped(t,e){t.$el.arcs.selectAll(e).each(function(){Uc([this,this.previousSibling]).classed(On.TextOverlapping,!1)})},meetsLabelThreshold(t=0,e){const n=this,{config:a}=n,i=a[`${e}_label_threshold`]||0;return t>=i}};function jc(t="left",e){const n=he(e);let a;return t.indexOf("center")>-1?a=n?e/2:"middle":t.indexOf("right")>-1?a=n?e:"end":a=n?0:"start",a}var Xp={initTitle(){const t=this,{config:e,$el:n}=t;if(e.title_text){n.title=n.svg.append("g");const a=n.title.append("text").style("text-anchor",jc(e.title_position)).attr("class",On.title);wa(a,e.title_text,[.3,1.5])}},redrawTitle(){const t=this,{config:e,state:{current:n},$el:{title:a}}=t;if(a){const i=jc(e.title_position,n.width),s=(e.title_padding.top||0)+t.getTextRect(t.$el.title,On.title).height;a.attr("transform",`translate(${i}, ${s})`)}},getTitlePadding(){const t=this,{$el:{title:e},config:n}=t;return(n.title_padding.top||0)+(e?t.getTextRect(e,On.title).height:0)+(n.title_padding.bottom||0)}},Yp={initTooltip(){const t=this,{config:e,$el:n}=t;n.tooltip=st(e.tooltip_contents.bindto),n.tooltip.empty()&&(n.tooltip=n.chart.append("div").attr("class",ti.tooltipContainer).style("position","absolute").style("pointer-events","none").style("display","none")),t.bindTooltipResizePos()},initShowTooltip(){var t;const e=this,{config:n,$el:a,state:{hasAxis:i,hasRadar:s}}=e;if(n.tooltip_init_show){const o=!(i||s);(t=e.axis)!=null&&t.isTimeSeries()&&Xe(n.tooltip_init_x)&&(n.tooltip_init_x=zn.call(e,n.tooltip_init_x)),e.api.tooltip.show({data:{[o?"index":"x"]:n.tooltip_init_x}});const l=n.tooltip_init_position;if(!n.tooltip_contents.bindto&&!qn(l)){const{top:c=0,left:f=50}=l;a.tooltip.style("top",Xe(c)?c:`${c}px`).style("left",Xe(f)?f:`${f}px`).style("display",null)}}},getTooltipHTML(...t){const e=this,{api:n,config:a}=e;return ve(a.tooltip_contents)?a.tooltip_contents.bind(n)(...t):e.getTooltipContent(...t)},getTooltipContent(t,e,n,a){var i;const s=this,{api:o,config:l,state:c,$el:f}=s,[g,v,m]=["title","name","value"].map(vt=>{const Z=l[`tooltip_format_${vt}`];return ve(Z)?Z.bind(o):Z}),S=(...vt)=>Cs((g||e)(...vt)),P=(...vt)=>Cs((v||(Z=>Z))(...vt)),N=(...vt)=>{const Z=m||(c.hasTreemap||s.isStackNormalized()?($t,ut)=>`${(ut*100).toFixed(2)}%`:n);return Cs(Z(...vt))},L=l.tooltip_order,w=vt=>s.axis&&s.isBubbleZType(vt)?s.getBubbleZData(vt.value,"z"):s.getBaseValue(vt),X=s.levelColor?vt=>s.levelColor(vt.value):vt=>a(vt),W=l.tooltip_contents,Y=W.template,Q=s.mapToTargetIds();if(L===null&&l.data_groups.length){const vt=s.orderTargets(s.data.targets).map(Z=>Z.id).reverse();t.sort((Z,$t)=>{let ut=Z?Z.value:null,At=$t?$t.value:null;return ut>0&&At>0&&(ut=Z.id?vt.indexOf(Z.id):null,At=$t.id?vt.indexOf($t.id):null),ut-At})}else if(/^(asc|desc)$/.test(L)){const vt=L==="asc";t.sort((Z,$t)=>{const ut=Z?w(Z):null,At=$t?w($t):null;return vt?ut-At:At-ut})}else ve(L)&&t.sort(L.bind(o));const K=s.getTooltipContentTemplate(Y),at=t.length;let ht,St,ct,lt,Gt;for(Gt=0;Gt<at;Gt++)if(St=t[Gt],!(!St||!(w(St)||w(St)===0))){if(ln(ht)){const vt=(c.hasAxis||c.hasRadar)&&S(St.x);ht=bi(K[0],{CLASS_TOOLTIP:ti.tooltip,TITLE:De(vt)?Y?vt:`<tr><th colspan="2">${vt}</th></tr>`:""})}if(!St.ratio&&f.arcs&&(ct=["arc",s.$el.arcs.select(`path.${je.arc}-${St.id}`).data()[0]],St.ratio=s.getRatio(...ct)),ct=[St.ratio,St.id,St.index],s.isAreaRangeType(St)){const[vt,Z]=["high","low"].map(ut=>N(s.getRangedData(St,ut),...ct));lt=`<b>Mid:</b> ${N(w(St),...ct)} <b>High:</b> ${vt} <b>Low:</b> ${Z}`}else if(s.isCandlestickType(St)){const[vt,Z,$t,ut,At]=["open","high","low","close","volume"].map(Vt=>s.getRangedData(St,Vt,"candlestick")?N(s.getRangedData(St,Vt,"candlestick"),...ct):void 0);lt=`<b>Open:</b> ${vt} <b>High:</b> ${Z} <b>Low:</b> ${$t} <b>Close:</b> ${ut}${At?` <b>Volume:</b> ${At}`:""}`}else if(s.isBarRangeType(St)){const{value:vt,id:Z,index:$t}=St;lt=`${N(vt,void 0,Z,$t)}`}else lt=N(w(St),...ct);if(lt!==void 0){if(St.name===null)continue;const vt=P((i=St.name)!=null?i:St.id,...ct),Z=X(St),$t={CLASS_TOOLTIP_NAME:ti.tooltipName+s.getTargetSelectorSuffix(St.id),COLOR:Y||!s.patterns?Z:`<svg><rect style="fill:${Z}" width="10" height="10"></rect></svg>`,NAME:vt,VALUE:lt};if(Y&&Be(W.text)){const ut=Q.indexOf(St.id);Object.keys(W.text).forEach(At=>{$t[At]=W.text[At][ut]})}ht+=bi(K[1],$t)}}return`${ht}</table>`},getTooltipContentTemplate(t){return(t||`<table class="{=CLASS_TOOLTIP}"><tbody> + {=TITLE} + {{<tr class="{=CLASS_TOOLTIP_NAME}"> + <td class="name">${this.patterns?"{=COLOR}":'<span style="background-color:{=COLOR}"></span>'}{=NAME}</td> + <td class="value">{=VALUE}</td> + </tr>}} + </tbody></table>`).replace(/(\r?\n|\t)/g,"").split(/{{(.*)}}/)},setTooltipPosition(t,e){var n,a;const i=this,{config:s,scale:o,state:l,$el:{eventRect:c,tooltip:f,svg:g}}=i,{bindto:v}=s.tooltip_contents,m=s.axis_rotated,S=f==null?void 0:f.datum();if(!v&&S){const P=t!=null?t:JSON.parse(S.current),[N,L]=Hn(l.event,e!=null?e:c==null?void 0:c.node()),w={x:N,y:L};if(l.hasAxis&&o.x&&S&&"x"in S){const Q=(K=0,at,ht="y")=>{var St;const ct=o[at?(St=i.axis)==null?void 0:St.getId(at):ht];return ct?ct(K)+(m?l.margin.left:l.margin.top):0};w.xAxis=o.x(S.x)+(s.tooltip_position?m?l.margin.top:l.margin.left:0),P.length===1?w.yAxis=Q(P[0].value,P[0].id):w.yAxis=Q}const{width:X=0,height:W=0}=S,Y=(a=(n=s.tooltip_position)==null?void 0:n.bind(i.api)(P,X,W,c==null?void 0:c.node(),w))!=null?a:Ds(g)?i.getTooltipPositionViewBox.bind(i)(X,W,w):i.getTooltipPosition.bind(i)(X,W,w);["top","left"].forEach(Q=>{const K=Y[Q];f.style(Q,`${K}px`),Q==="left"&&!S.xPosInPercent&&(S.xPosInPercent=K/l.current.width*100)})}},getTooltipPositionViewBox(t,e,n){var a,i;const s=this,{$el:{eventRect:o,svg:l},config:c,state:f}=s,g=c.axis_rotated,v=s.hasArcType()||f.hasFunnel||f.hasTreemap,m=(i=(a=v?l:o)==null?void 0:a.node())!=null?i:f.event.target;let{x:S,y:P}=n;f.hasAxis&&(S=g?S:n.xAxis,P=g?n.xAxis:P);const N=Ai(m,S,P,!1),L=m.getBoundingClientRect(),w=Ai(m,20,0,!1).x;let X=N.y,W=N.x+t/2+w;return v&&(f.hasFunnel||f.hasTreemap||f.hasRadar?(W-=t/2+w,X+=e):(X+=L.height/2,W+=L.width/2-(t-w))),W+t>L.width&&(W=L.width-t-w),X+e>L.height&&(X-=e*2),{top:X,left:W}},getTooltipPosition(t,e,n){var a,i,s;const o=this,{config:l,scale:c,state:f}=o,{width:g,height:v,current:m,hasFunnel:S,hasRadar:P,hasTreemap:N,isLegendRight:L,inputType:w}=f,X=o.hasType("gauge")&&!l.gauge_fullCircle,W=l.axis_rotated,Y=o.hasArcType(),Q=o.getSvgLeft(!0);let K=Q+m.width-o.getCurrentPaddingByDirection("right");const at=20;let{x:ht,y:St}=n;if(P)ht+=ht>=g/2?15:-(t+15),St+=15;else if(Y){if(w!=="touch"){let Gt=(i=(a=o.getTitlePadding)==null?void 0:a.call(o))!=null?i:0;Gt&&X&&((s=l.arc_rangeText_values)!=null&&s.length)&&(Gt+=10),ht+=(g-(L?o.getLegendWidth():0))/2,St+=(X?v:v/2+e)+Gt}}else if(S||N)St+=e;else{const lt={top:o.getCurrentPaddingByDirection("top",!0),left:o.getCurrentPaddingByDirection("left",!0)};W?(ht+=Q+lt.left+at,St=lt.top+n.xAxis+at,K-=Q):(ht=Q+lt.left+at+(c.zoom?ht:n.xAxis),St+=lt.top-5)}if(ht+t+15>K&&(ht-=t+(S||N||Y?0:W?at*2:38)),St+e>m.height){const lt=N?e+10:30;St-=X?e*1.5:e+lt}const ct={top:St,left:ht};return Object.keys(ct).forEach(lt=>{ct[lt]<0&&(ct[lt]=0)}),ct},showTooltip(t,e){const n=this,{config:a,$el:{tooltip:i}}=n,s=t.filter(c=>c&&De(n.getBaseValue(c)));if(!i||s.length===0||!a.tooltip_show)return;let o=i.datum();const l=JSON.stringify(t);if(!o||o.current!==l){const{index:c,x:f}=t.concat().sort()[0];_e(a.tooltip_onshow,n.api,t),i.html(n.getTooltipHTML(t,n.axis?n.axis.getXAxisTickFormat():n.categoryName.bind(n),n.getDefaultValueFormat(),n.color)).style("display",null).style("visibility",null).datum(o={index:c,x:f,current:l,width:i.property("offsetWidth"),height:i.property("offsetHeight")}),_e(a.tooltip_onshown,n.api,t),n._handleLinkedCharts(!0,c)}n.setTooltipPosition(s,e)},bindTooltipResizePos(){const t=this,{resizeFunction:e,state:n,$el:{tooltip:a}}=t;e.add(()=>{if(a.style("display")==="block"){const{current:i}=n,{width:s,xPosInPercent:o}=a.datum();let l=i.width/100*o;const c=i.width-(l+s);c<0&&(l+=c),a.style("left",`${l}px`)}})},hideTooltip(t){var e;const n=this,{api:a,config:i,$el:{tooltip:s}}=n;if(s&&s.style("display")!=="none"&&(!i.tooltip_doNotHide||t)){const o=JSON.parse((e=s.datum().current)!=null?e:{});_e(i.tooltip_onhide,a,o),s.style("display","none").style("visibility","hidden").datum(null),_e(i.tooltip_onhidden,a,o)}},_handleLinkedCharts(t,e){const n=this,{charts:a,config:i,state:{event:s}}=n;if(s!=null&&s.isTrusted&&i.tooltip_linked&&a.length>1){const o=i.tooltip_linked_name;a.filter(l=>l!==n.api).forEach(l=>{const{config:c,$el:f}=l.internal,g=c.tooltip_linked,v=c.tooltip_linked_name,m=vn.body.contains(f.chart.node());if(g&&o===v&&m){const S=f.tooltip.data()[0],P=e!==(S==null?void 0:S.index);try{l.tooltip[t&&P?"show":"hide"]({index:e})}catch(N){}}})}},updateTooltipOnRedraw(t,e){var n;const a=this,{config:i,$el:{eventRect:s,svg:o,tooltip:l},state:{event:c,hasAxis:f,hasRadar:g,hasTreemap:v}}=a;if((l==null?void 0:l.style("display"))==="block"&&c){const m=t!=null?t:(n=g?o:s)==null?void 0:n.node();if(f||g)if(a.isMultipleX())a.selectRectForMultipleXs(m,!1);else{const S=e!=null?e:a.getDataIndexFromEvent(c);e===-1?a.api.tooltip.hide():(a.selectRectForSingle(m,S),a.setExpand(S,null,!0))}else{const{clientX:S,clientY:P}=c;setTimeout(()=>{let N=[S,P].every(Number.isFinite)&&vn.elementFromPoint(S,P);const L=N&&st(N).datum();if(L){const w=a.hasArcType()?a.convertToArcData(a.updateAngle(L)):L==null?void 0:L.data;v&&(N=o.node()),w&&a.showTooltip([w],N)}else a.api.tooltip.hide()},i.transition_duration)}}}},Hp={getTranslate(t,e=0){var n;const a=this,{config:i,state:s}=a,o=i.axis_rotated;let l=0,c,f;if(e&&/^(x|y2?)$/.test(t)&&(l=a.getAxisSize(t)*e),t==="main")c=Ti(s.margin.left),f=Ti(s.margin.top);else if(t==="context")c=Ti(s.margin2.left),f=Ti(s.margin2.top);else if(t==="legend")c=s.margin3.left,f=s.margin3.top;else if(t==="x")c=o?-l:0,f=o?0:s.height+l;else if(t==="y")c=o?0:-l,f=o?s.height+l:0;else if(t==="y2")c=o?0:s.width+l,f=o?-l-1:0;else if(t==="subX")c=0,f=o?0:s.height2;else if(t==="arc")c=s.arcWidth/2,f=s.arcHeight/2,(n=i.arc_rangeText_values)!=null&&n.length&&(f+=5+(a.hasType("gauge")&&i.title_text?10:0));else if(t==="polar")c=s.arcWidth/2,f=s.arcHeight/2;else if(t==="radar"){const[g,v]=a.getRadarSize();c=s.width/2-g,f=s.height/2-v}return`translate(${c}, ${f})`},transformMain(t,e){const n=this,{$el:{main:a},$T:i}=n,s=e!=null&&e.axisX?e.axisX:i(a.select(`.${dn.axisX}`),t),o=e!=null&&e.axisY?e.axisY:i(a.select(`.${dn.axisY}`),t),l=e!=null&&e.axisY2?e.axisY2:i(a.select(`.${dn.axisY2}`),t);i(a,t).attr("transform",n.getTranslate("main")),s.attr("transform",n.getTranslate("x")),o.attr("transform",n.getTranslate("y")),l.attr("transform",n.getTranslate("y2")),a.select(`.${je.chartArcs}`).attr("transform",n.getTranslate("arc"))},transformAll(t,e){const n=this,{config:a,state:{hasAxis:i,hasFunnel:s,hasTreemap:o},$el:l}=n;!s&&!o&&n.transformMain(t,e),i&&a.subchart_show&&n.transformContext(t,e),l.legend&&n.transformLegend(t)}},Wp={isValidChartType(t){return!!(t&&Object.values(se).indexOf(t)>-1)},setTargetType(t,e){const n=this,{config:a,state:{withoutFadeIn:i}}=n;n.mapToTargetIds(t).forEach(s=>{i[s]=e===a.data_types[s],a.data_types[s]=e}),t||(a.data_type=e)},updateTypesElements(){const t=this,{state:{current:e}}=t;Object.keys(se).forEach(n=>{const a=se[n],i=t.hasType(a,null,!0),s=e.types.indexOf(a);s===-1&&i?e.types.push(a):s>-1&&!i&&e.types.splice(s,1)}),t.setChartElements()},hasType(t,e,n=!1){var a;const i=this,{config:s,state:{current:o}}=i,l=s.data_types,c=e||i.data.targets;let f=!1;return!n&&((a=o.types)==null?void 0:a.indexOf(t))>-1?f=!0:c!=null&&c.length?c.forEach(g=>{const v=l[g.id];(v===t||!v&&t==="line")&&(f=!0)}):Object.keys(l).length?Object.keys(l).forEach(g=>{l[g]===t&&(f=!0)}):f=s.data_type===t,f},hasTypeOf(t,e,n=[]){return t in Sr?!Sr[t].filter(a=>n.indexOf(a)===-1).every(a=>!this.hasType(a,e)):!1},isTypeOf(t,e){var n;const a=Xe(t)?t:t.id,i=this.config&&(((n=this.config.data_types)==null?void 0:n[a])||this.config.data_type);return ze(e)?e.indexOf(i)>=0:i===e},hasPointType(){const t=this;return t.hasTypeOf("Line")||t.hasType("bubble")||t.hasType("scatter")},hasArcType(t,e){return this.hasTypeOf("Arc",t,e)},hasMultiArcGauge(){return this.hasType("gauge")&&this.config.gauge_type==="multi"},isLineType(t){const e=Xe(t)?t:t.id;return!this.config.data_types[e]||this.isTypeOf(e,Sr.Line)},isStepType(t){return this.isTypeOf(t,Sr.Step)},isSplineType(t){return this.isTypeOf(t,Sr.Spline)},isAreaType(t){return this.isTypeOf(t,Sr.Area)},isAreaRangeType(t){return this.isTypeOf(t,Sr.AreaRange)},isBarType(t){return this.isTypeOf(t,"bar")},isBubbleType(t){return this.isTypeOf(t,"bubble")},isCandlestickType(t){return this.isTypeOf(t,"candlestick")},isScatterType(t){return this.isTypeOf(t,"scatter")},isTreemapType(t){return this.isTypeOf(t,"treemap")},isPieType(t){return this.isTypeOf(t,"pie")},isFunnelType(t){return this.isTypeOf(t,"funnel")},isGaugeType(t){return this.isTypeOf(t,"gauge")},isDonutType(t){return this.isTypeOf(t,"donut")},isPolarType(t){return this.isTypeOf(t,"polar")},isRadarType(t){return this.isTypeOf(t,"radar")},isArcType(t){return this.isPieType(t)||this.isDonutType(t)||this.isGaugeType(t)||this.isPolarType(t)||this.isRadarType(t)},isCirclePoint(t){const{config:e}=this,n=e.point_pattern;let a=!1;return(t==null?void 0:t.tagName)==="circle"?a=!0:a=e.point_type==="circle"&&(!n||ze(n)&&n.length===0),a},lineData(t){return this.isLineType(t)?[t]:[]},arcData(t){return this.isArcType(t.data)?[t]:[]},labelishData(t){return this.isBarType(t)||this.isLineType(t)||this.isScatterType(t)||this.isBubbleType(t)||this.isCandlestickType(t)||this.isFunnelType(t)||this.isRadarType(t)||this.isTreemapType(t)?t.values.filter(e=>he(e.value)||!!e.value):[]},barLineBubbleData(t){return this.isBarType(t)||this.isLineType(t)||this.isBubbleType(t)?t.values:[]},isInterpolationType(t){return["basis","basis-closed","basis-open","bundle","cardinal","cardinal-closed","cardinal-open","catmull-rom","catmull-rom-closed","catmull-rom-open","linear","linear-closed","monotone-x","monotone-y","natural"].indexOf(t)>=0}};function Ni(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function Fi(t){this._context=t}Fi.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Ni(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Ni(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Kp(t){return new Fi(t)}function Ar(){}function Gc(t){this._context=t}Gc.prototype={areaStart:Ar,areaEnd:Ar,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Ni(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Zp(t){return new Gc(t)}function Vc(t){this._context=t}Vc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,a=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,a):this._context.moveTo(n,a);break;case 3:this._point=4;default:Ni(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Jp(t){return new Vc(t)}function Xc(t,e){this._basis=new Fi(t),this._beta=e}Xc.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var a=t[0],i=e[0],s=t[n]-a,o=e[n]-i,l=-1,c;++l<=n;)c=l/n,this._basis.point(this._beta*t[l]+(1-this._beta)*(a+c*s),this._beta*e[l]+(1-this._beta)*(i+c*o));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var kp=function t(e){function n(a){return e===1?new Fi(a):new Xc(a,e)}return n.beta=function(a){return t(+a)},n}(.85);function Bi(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function oo(t,e){this._context=t,this._k=(1-e)/6}oo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Bi(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Bi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Qp=function t(e){function n(a){return new oo(a,e)}return n.tension=function(a){return t(+a)},n}(0);function lo(t,e){this._context=t,this._k=(1-e)/6}lo.prototype={areaStart:Ar,areaEnd:Ar,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Bi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var qp=function t(e){function n(a){return new lo(a,e)}return n.tension=function(a){return t(+a)},n}(0);function co(t,e){this._context=t,this._k=(1-e)/6}co.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Bi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var _p=function t(e){function n(a){return new co(a,e)}return n.tension=function(a){return t(+a)},n}(0);const Yc=Math.abs,En=Math.atan2,jr=Math.cos,tm=Math.max,uo=Math.min,rr=Math.sin,sa=Math.sqrt,bn=1e-12,Na=Math.PI,Ui=Na/2,zi=2*Na;function em(t){return t>1?0:t<-1?Na:Math.acos(t)}function Hc(t){return t>=1?Ui:t<=-1?-Ui:Math.asin(t)}function fo(t,e,n){var a=t._x1,i=t._y1,s=t._x2,o=t._y2;if(t._l01_a>bn){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);a=(a*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>bn){var f=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,g=3*t._l23_a*(t._l23_a+t._l12_a);s=(s*f+t._x1*t._l23_2a-e*t._l12_2a)/g,o=(o*f+t._y1*t._l23_2a-n*t._l12_2a)/g}t._context.bezierCurveTo(a,i,s,o,t._x2,t._y2)}function Wc(t,e){this._context=t,this._alpha=e}Wc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,a=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+a*a,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:fo(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var nm=function t(e){function n(a){return e?new Wc(a,e):new oo(a,0)}return n.alpha=function(a){return t(+a)},n}(.5);function Kc(t,e){this._context=t,this._alpha=e}Kc.prototype={areaStart:Ar,areaEnd:Ar,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,a=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+a*a,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:fo(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var rm=function t(e){function n(a){return e?new Kc(a,e):new lo(a,0)}return n.alpha=function(a){return t(+a)},n}(.5);function Zc(t,e){this._context=t,this._alpha=e}Zc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,a=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+a*a,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:fo(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var am=function t(e){function n(a){return e?new Zc(a,e):new co(a,0)}return n.alpha=function(a){return t(+a)},n}(.5);function Jc(t){return t<0?-1:1}function kc(t,e,n){var a=t._x1-t._x0,i=e-t._x1,s=(t._y1-t._y0)/(a||i<0&&-0),o=(n-t._y1)/(i||a<0&&-0),l=(s*i+o*a)/(a+i);return(Jc(s)+Jc(o))*Math.min(Math.abs(s),Math.abs(o),.5*Math.abs(l))||0}function Qc(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function ho(t,e,n){var a=t._x0,i=t._y0,s=t._x1,o=t._y1,l=(s-a)/3;t._context.bezierCurveTo(a+l,i+l*e,s-l,o-l*n,s,o)}function ji(t){this._context=t}ji.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:ho(this,this._t0,Qc(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,ho(this,Qc(this,n=kc(this,t,e)),n);break;default:ho(this,this._t0,n=kc(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function qc(t){this._context=new _c(t)}(qc.prototype=Object.create(ji.prototype)).point=function(t,e){ji.prototype.point.call(this,e,t)};function _c(t){this._context=t}_c.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,a,i,s){this._context.bezierCurveTo(e,t,a,n,s,i)}};function im(t){return new ji(t)}function sm(t){return new qc(t)}function tu(t){this._context=t}tu.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var a=eu(t),i=eu(e),s=0,o=1;o<n;++s,++o)this._context.bezierCurveTo(a[0][s],i[0][s],a[1][s],i[1][s],t[o],e[o]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}};function eu(t){var e,n=t.length-1,a,i=new Array(n),s=new Array(n),o=new Array(n);for(i[0]=0,s[0]=2,o[0]=t[0]+2*t[1],e=1;e<n-1;++e)i[e]=1,s[e]=4,o[e]=4*t[e]+2*t[e+1];for(i[n-1]=2,s[n-1]=7,o[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)a=i[e]/s[e-1],s[e]-=a,o[e]-=a*o[e-1];for(i[n-1]=o[n-1]/s[n-1],e=n-2;e>=0;--e)i[e]=(o[e]-i[e+1])/s[e];for(s[n-1]=(t[n]+i[n-1])/2,e=0;e<n-1;++e)s[e]=2*t[e+1]-i[e+1];return[i,s]}function om(t){return new tu(t)}function nu(t){this._context=t}nu.prototype={areaStart:Ar,areaEnd:Ar,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function lm(t){return new nu(t)}function ru(t){this._context=t}ru.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function go(t){return new ru(t)}function Gi(t,e){this._context=t,this._t=e}Gi.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function cm(t){return new Gi(t,.5)}function um(t){return new Gi(t,0)}function fm(t){return new Gi(t,1)}function dm(t){const e=this;let n;return e.isLineType(t)?n=e.generateGetLinePoints(e.getShapeIndices(e.isLineType)):e.isBarType(t)&&(n=e.generateGetBarPoints(e.getShapeIndices(e.isBarType))),n}var hm={getDrawShape(){const t=this,e=t.config.axis_rotated,{hasRadar:n,hasTreemap:a}=t.state,i={type:{},indices:{},pos:{}};if(!a&&["bar","candlestick","line","area"].forEach(s=>{const o=Dn(/^(bubble|scatter)$/.test(s)?"line":s);if(t.hasType(s)||t.hasTypeOf(o)||s==="line"&&(t.hasType("bubble")||t.hasType("scatter"))){const l=t.getShapeIndices(t[`is${o}Type`]),c=t[`generateDraw${o}`];i.indices[s]=l,i.type[s]=c?c.bind(t)(l,!1):void 0}}),!t.hasArcType()||n||a){let s,o;a||(s=n?t.radarCircleX:e?t.circleY:t.circleX,o=n?t.radarCircleY:e?t.circleX:t.circleY),i.pos={xForText:t.generateXYForText(i.indices,!0),yForText:t.generateXYForText(i.indices,!1),cx:(s||function(){}).bind(t),cy:(o||function(){}).bind(t)}}return i},getShapeIndices(t){const e=this,{config:n}=e,a=n.data_xs,i=cn(a),s={};let o=i?{}:0;return i&&ws(Object.keys(a).map(l=>a[l])).forEach(l=>{o[l]=0,s[l]={}}),e.filterTargetsToShow(e.data.targets.filter(t,e)).forEach(l=>{var c;const f=l.id in a?a[l.id]:"",g=f?s[f]:s;for(let v=0,m;m=n.data_groups[v];v++)if(!(m.indexOf(l.id)<0))for(let S=0,P;P=m[S];S++){if(P in g){g[l.id]=g[P];break}l.id!==P&&f&&(g[P]=(c=g[l.id])!=null?c:o[f])}ln(g[l.id])&&(g[l.id]=f?o[f]++:o++,g.__max__=(f?o[f]:o)-1)}),s},getIndices(t,e,n){const a=this,{data_xs:i,bar_indices_removeNull:s}=a.config,{id:o,index:l}=e;if(a.isBarType(o)&&s){const c={};return a.getAllValuesOnIndex(l,!0).forEach((f,g)=>{c[f.id]=g,c.__max__=g}),c}return cn(i)?t[i[o]]:t},getIndicesMax(t){return cn(this.config.data_xs)?Object.keys(t).map(e=>t[e].__max__||0).reduce((e,n)=>e+n):t.__max__},getShapeX(t,e,n){const a=this,{config:i,scale:s}=a,o=n?s.subX:s.zoom||s.x,l=i.bar_overlap,c=i.bar_padding,f=(v,m)=>v+m,g=nr(t)&&(t._$total.length?t._$total.reduce(f)/2:0);return v=>{const m=a.getIndices(e,v,"getShapeX"),S=v.id in m?m[v.id]:0,P=(m.__max__||0)+1;let N=0;if(cn(v.x)){const L=o(v.x,!0);if(g){const w=t[v.id]||t._$width;N=l?L-w/2:L-w+t._$total.slice(0,S+1).reduce(f)-g}else N=L-(he(t)?t:t._$width)*(P/2-(l?1:S))}return t&&N&&P>1&&c&&(S&&(N+=c*S),P>2?N-=(P-1)*c/2:P===2&&(N-=c/2)),N}},getShapeY(t){const e=this,n=e.isStackNormalized();return a=>{let{value:i}=a;return he(a)?i=a:e.isAreaRangeType(a)?i=e.getBaseValue(a,"mid"):n?i=e.getRatio("index",a,!0):e.isBubbleZType(a)?i=e.getBubbleZData(a.value,"y"):e.isBarRangeType(a)&&(i=i[1]),e.getYScaleById(a.id,t)(i)}},getShapeYMin(t){const e=this,n=e.axis.getId(t),a=e.scale[n],[i]=a.domain(),s=e.config[`axis_${n}_inverted`];return!e.isGrouped(t)&&!s&&i>0?i:0},getShapeOffsetData(t){const e=this,n=e.orderTargets(e.filterTargetsToShow(e.data.targets.filter(t,e))),a=e.isStackNormalized(),i=n.map(o=>{let l=o.values;const c={};e.isStepType(o)&&(l=e.convertValuesToStep(l));const f=l.reduce((g,v)=>{const m=Number(v.x);return g[m]=v,c[m]=a?e.getRatio("index",v,!0):v.value,g},{});return{id:o.id,rowValues:l,rowValueMapByXValue:f,values:c}});return{indexMapByTargetId:n.reduce((o,{id:l},c)=>(o[l]=c,o),{}),shapeOffsetTargets:i}},getShapeOffset(t,e,n){const a=this,{shapeOffsetTargets:i,indexMapByTargetId:s}=a.getShapeOffsetData(t),o=a.config.data_groupsZeroAs;return(l,c)=>{const{id:f,value:g,x:v}=l,m=a.getIndices(e,l),S=a.getYScaleById(f,n);if(a.isBarRangeType(l))return S(g[0]);const P=Number(v),N=S(o==="zero"?0:a.getShapeYMin(f));let L=N;return i.filter(w=>w.id!==f&&m[w.id]===m[f]).forEach(w=>{const{id:X,rowValueMapByXValue:W,rowValues:Y,values:Q}=w;if(s[X]<s[f]){const K=Q[P];let at=Y[c];(!at||Number(at.x)!==P)&&(at=W[P]),(at==null?void 0:at.value)*g>=0&&he(K)&&(g!==0||o==="positive"&&K>0||o==="negative"&&K<0)&&(L+=S(K)-N)}}),L}},circleY(t,e){const n=this,a=t.id;let i;return n.isGrouped(a)&&(i=dm.bind(n)(t)),i?i(t,e)[0][1]:n.getYScaleById(a)(n.getBaseValue(t))},getBarW(t,e,n){var a,i,s,o,l;const c=this,{config:f,org:g,scale:v,state:m}=c,S=c.getMaxDataCount(),P=t==="bar"&&((a=f.data_groups)==null?void 0:a.length),N=`${t}_width`,{k:L}=(s=(i=c.getZoomTransform)==null?void 0:i.call(c))!=null?s:{k:1},w=[(o=f.axis_x_min)!=null?o:g.xDomain[0],(l=f.axis_x_max)!=null?l:g.xDomain[1]].map(c.axis.isTimeSeries()?zn.bind(c):Number);let X=e.tickInterval(S);if(v.zoom&&!c.axis.isCategorized()&&L>1){const Q=w.every((K,at)=>K===g.xDomain[at]);X=g.xDomain.map((K,at)=>{const ht=Q?K:K-Math.abs(w[at]);return v.zoom(ht)}).reduce((K,at)=>Math.abs(K)+at)/S}const W=Q=>{const K=Q?f[N][Q]:f[N],at=Q?K.ratio:f[`${N}_ratio`],ht=Q?K.max:f[`${N}_max`],St=he(K)?K:ve(K)?K.call(c,m.width,n,S):n?X*at/n:0;return ht&&St>ht?ht:St};let Y=W();return!P&&nr(f[N])&&(Y={_$width:Y,_$total:[]},c.filterTargetsToShow(c.data.targets).forEach(Q=>{f[N][Q.id]&&(Y[Q.id]=W(Q.id),Y._$total.push(Y[Q.id]||Y._$width))})),Y},getShapeByIndex(t,e,n){const a=this,{$el:i}=a,s=De(e)?`-${e}`:"";let o=i[t];return o&&!o.empty()?o=o.filter(l=>n?l.id===n:!0).filter(l=>De(e)?l.index===e:!0):o=(n?i.main.selectAll(`.${Ue[`${t}s`]}${a.getTargetSelectorSuffix(n)}`):i.main).selectAll(`.${Ue[t]}${s}`),o},isWithinShape(t,e){var n;const a=this,i=st(t);let s;return a.isTargetToShow(e.id)?(n=a.hasValidPointType)!=null&&n.call(a,t.nodeName)?s=a.isStepType(e)?a.isWithinStep(t,a.getYScaleById(e.id)(a.getBaseValue(e))):a.isWithinCircle(t,a.isBubbleType(e)?a.pointSelectR(e)*1.5:0):t.nodeName==="path"&&(s=i.classed(Ue.bar)?a.isWithinBar(t):!0):s=!1,s},getInterpolate(t){const n=this.getInterpolateType(t);return{basis:Kp,"basis-closed":Zp,"basis-open":Jp,bundle:kp,cardinal:Qp,"cardinal-closed":qp,"cardinal-open":_p,"catmull-rom":nm,"catmull-rom-closed":rm,"catmull-rom-open":am,"monotone-x":im,"monotone-y":sm,natural:om,"linear-closed":lm,linear:go,step:cm,"step-after":fm,"step-before":um}[n]},getInterpolateType(t){const e=this,{config:n}=e,a=n.spline_interpolation_type,i=e.isInterpolationType(a)?a:"cardinal";return e.isSplineType(t)?i:e.isStepType(t)?n.line_step_type:"linear"},isWithinBar(t){const e=Hn(this.state.event,t),n=Yl(t),[a,i]=n,s=Math.min(a.x,i.x),o=Math.min(a.y,i.y),l=this.config.bar_sensitivity,{width:c,height:f}=t.getBBox(),g=s-l,v=s+c+l,m=o+f+l,S=o-l;return g<e[0]&&e[0]<v&&S<e[1]&&e[1]<m}},gm=Object.defineProperty,vm=(t,e,n)=>e in t?gm(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Rn=(t,e,n)=>vm(t,typeof e!="symbol"?e+"":e,n);class Gr{constructor(e){Rn(this,"api"),Rn(this,"config"),Rn(this,"cache"),Rn(this,"$el"),Rn(this,"state"),Rn(this,"charts"),Rn(this,"data",{xs:{},targets:[]}),Rn(this,"axis"),Rn(this,"scale",{x:null,y:null,y2:null,subX:null,subY:null,subY2:null,zoom:null}),Rn(this,"org",{xScale:null,xDomain:null}),Rn(this,"color"),Rn(this,"patterns"),Rn(this,"levelColor"),Rn(this,"point"),Rn(this,"brush"),Rn(this,"format",{extraLineClasses:null,xAxisTick:null,dataTime:null,defaultAxisTime:null,axisTime:null});const n=this;n.api=e,n.config=new Nr,n.cache=new gv;const a=new uv;n.$el=a.getStore("element"),n.state=a.getStore("state"),n.$T=n.$T.bind(n)}$T(e,n,a){const{config:i,state:s}=this,o=i.transition_duration,l=i.subchart_show;let c=e;return c&&("tagName"in c&&(c=st(c)),c=(n!==!1&&o||n)&&(!s.zooming||s.dragging)&&!s.resizing&&s.rendered&&!l?c.transition(a).duration(o):c),c}beforeInit(){const e=this;e.callPluginHook("$beforeInit"),_e(e.config.onbeforeinit,e.api)}afterInit(){const e=this;e.callPluginHook("$afterInit"),_e(e.config.onafterinit,e.api)}init(){const e=this,{config:n,state:a,$el:i}=e,s=n.boost_useCssRule;if(vv(e),a.hasRadar=!a.hasAxis&&e.hasType("radar"),a.hasFunnel=!a.hasAxis&&e.hasType("funnel"),a.hasTreemap=!a.hasAxis&&e.hasType("treemap"),a.hasAxis=!e.hasArcType()&&!a.hasFunnel&&!a.hasTreemap,a.datetimeId=`bb-${+new Date*gr()}`,s){const l=vn.createElement("style");l.type="text/css",vn.head.appendChild(l),a.style={rootSelctor:`.${a.datetimeId}`,sheet:l.sheet},i.style=l}const o={element:n.bindto,classname:"bb"};Be(n.bindto)&&(o.element=n.bindto.element||"#chart",o.classname=n.bindto.classname||o.classname),i.chart=ve(o.element.node)?n.bindto.element:st(o.element||[]),i.chart.empty()&&(i.chart=st(vn.body.appendChild(vn.createElement("div")))),i.chart.html("").classed(o.classname,!0).classed(a.datetimeId,s).style("position","relative"),e.initParams(),e.initToRender()}initToRender(e){const n=this,{config:a,state:i,$el:{chart:s}}=n,o=()=>nv(s,{display:"none",visibility:"hidden"}),l=a.render.lazy===!1?!1:a.render.lazy||o(),c=Ke.MutationObserver;l&&c&&a.render.observe!==!1&&!e&&new c((f,g)=>{o()||(g.disconnect(),!i.rendered&&n.initToRender(!0))}).observe(s.node(),{attributes:!0,attributeFilter:["class","style"]}),(!l||e)&&n.convertData(a,f=>{n.initWithData(f),n.afterInit()})}initParams(){var e;const n=this,{config:a,format:i,state:s}=n,o=a.axis_rotated;if(n.color=n.generateColor(),n.levelColor=n.generateLevelColor(),a.padding===!1&&(a.axis_x_show=!1,a.axis_y_show=!1,a.axis_y2_show=!1,a.subchart_show=!1),(n.hasPointType()||(e=n.hasLegendDefsPoint)!=null&&e.call(n))&&(n.point=n.generatePoint()),s.hasAxis){n.initClip(),i.extraLineClasses=n.generateExtraLineClass(),i.dataTime=a.data_xLocaltime?Wo:Ko,i.axisTime=a.axis_x_localtime?as:is;const l=n.config.zoom_enabled&&n.config.zoom_type==="drag";i.defaultAxisTime=c=>{const{x:f,zoom:g}=n.scale,v=l?g:g&&f.orgDomain().toString()!==g.domain().toString(),m=c.getMilliseconds()&&".%L"||c.getSeconds()&&".:%S"||c.getMinutes()&&"%I:%M"||c.getHours()&&"%I %p"||c.getDate()!==1&&"%b %d"||v&&c.getDate()===1&&"%b'%y"||c.getMonth()&&"%-m/%-d"||"%Y";return i.axisTime(m)(c)}}s.isLegendRight=a.legend_position==="right",s.isLegendInset=a.legend_position==="inset",s.isLegendTop=a.legend_inset_anchor==="top-left"||a.legend_inset_anchor==="top-right",s.isLegendLeft=a.legend_inset_anchor==="top-left"||a.legend_inset_anchor==="bottom-left",s.rotatedPadding.top=n.getResettedPadding(s.rotatedPadding.top),s.rotatedPadding.right=o&&!a.axis_x_show?0:30,s.inputType=rv(a.interaction_inputType_mouse,a.interaction_inputType_touch)}initWithData(e){var n,a,i;const s=this,{config:o,scale:l,state:c,$el:f,org:g}=s,{hasAxis:v,hasFunnel:m,hasTreemap:S}=c,P=o.interaction_enabled,N=s.hasType("polar"),L=o.data_labels_backgroundColors;if(v&&(s.axis=s.getAxisInstance(),o.zoom_enabled&&s.initZoom()),s.data.xs={},s.data.targets=s.convertDataToTargets(e),o.data_filter&&(s.data.targets=s.data.targets.filter(o.data_filter.bind(s.api))),o.data_hide&&s.addHiddenTargetIds(o.data_hide===!0?s.mapToIds(s.data.targets):o.data_hide),o.legend_hide&&s.addHiddenLegendIds(o.legend_hide===!0?s.mapToIds(s.data.targets):o.legend_hide),s.updateSizes(),s.updateScales(!0),v){const{x:W,y:Y,y2:Q,subX:K,subY:at,subY2:ht}=l;W&&(W.domain(na(s.getXDomain(s.data.targets),!o.axis_x_inverted)),K.domain(W.domain()),g.xDomain=W.domain()),Y&&(Y.domain(s.getYDomain(s.data.targets,"y")),at.domain(Y.domain())),Q&&(Q.domain(s.getYDomain(s.data.targets,"y2")),ht&&ht.domain(Q.domain()))}if(f.svg=f.chart.append("svg").style("overflow","hidden").style("display","block"),P&&c.inputType){const W=c.inputType==="touch",{onclick:Y,onover:Q,onout:K}=o;f.svg.on("click",(Y==null?void 0:Y.bind(s.api))||null).on(W?"touchstart":"mouseenter",(Q==null?void 0:Q.bind(s.api))||null).on(W?"touchend":"mouseleave",(K==null?void 0:K.bind(s.api))||null)}o.svg_classname&&f.svg.attr("class",o.svg_classname);const w=ve(o.color_tiles)&&s.patterns;(v||w||N||S||L||(n=s.hasLegendDefsPoint)!=null&&n.call(s))&&(f.defs=f.svg.append("defs"),v&&["id","idXAxis","idYAxis","idGrid"].forEach(W=>{s.appendClip(f.defs,c.clip[W])}),s.generateTextBGColorFilter(L),w&&s.patterns.forEach(W=>f.defs.append(()=>W.node))),s.updateSvgSize(),s.bindResize();const X=f.svg.append("g").classed(Se.main,!0).attr("transform",m||S?null:s.getTranslate("main"));if(f.main=X,o.subchart_show&&s.initSubchart(),o.tooltip_show&&s.initTooltip(),o.title_text&&s.initTitle(),!S&&o.legend_show&&s.initLegend(),o.data_empty_label_text&&X.append("text").attr("class",`${On.text} ${Se.empty}`).attr("text-anchor","middle").attr("dominant-baseline","middle"),v&&(o.regions.length&&s.initRegion(),!o.clipPath&&s.axis.init()),X.append("g").classed(Se.chart,!0).attr("clip-path",v?c.clip.path:null),s.callPluginHook("$init"),s.initChartElements(),v&&(P&&((a=s.initEventRect)==null||a.call(s)),s.initGrid(),o.clipPath&&((i=s.axis)==null||i.init())),s.updateTargets(s.data.targets),s.updateDimension(),_e(o.oninit,s.api),s.setBackground(),s.redraw({withTransition:!1,withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withTransitionForAxis:!1,initializing:!0}),o.data_onmin||o.data_onmax){const W=s.getMinMaxData();_e(o.data_onmin,s.api,W.min),_e(o.data_onmax,s.api,W.max)}o.tooltip_show&&s.initShowTooltip(),c.rendered=!0}initChartElements(){const e=this,{hasAxis:n,hasRadar:a,hasTreemap:i}=e.state,s=[];if(n){const o=["bar","bubble","candlestick","line"];e.config.bar_front&&o.push(o.shift()),o.forEach(l=>{const c=Dn(l);(l==="line"&&e.hasTypeOf(c)||e.hasType(l))&&s.push(c)})}else if(i)s.push("Treemap");else if(e.hasType("funnel"))s.push("Funnel");else{const o=e.hasType("polar");a||s.push("Arc","Pie"),e.hasType("gauge")?s.push("Gauge"):a?s.push("Radar"):o&&s.push("Polar")}s.forEach(o=>{e[`init${o}`]()}),cn(e.config.data_labels)&&!e.hasArcType(null,["radar"])&&e.initText()}setChartElements(){const e=this,{$el:{chart:n,svg:a,defs:i,main:s,tooltip:o,legend:l,title:c,grid:f,needle:g,arcs:v,circle:m,bar:S,candlestick:P,line:N,area:L,text:w}}=e;e.api.$={chart:n,svg:a,defs:i,main:s,tooltip:o,legend:l,title:c,grid:f,arc:v,circles:m,bar:{bars:S},candlestick:P,line:{lines:N,areas:L},needle:g,text:{texts:w}}}setBackground(){const e=this,{config:{background:n},state:a,$el:{svg:i}}=e;if(cn(n)){const s=i.select("g").insert(n.imgUrl?"image":"rect",":first-child");n.imgUrl?s.attr("href",n.imgUrl):n.color&&s.style("fill",n.color).attr("clip-path",a.clip.path),s.attr("class",n.class||null).attr("width","100%").attr("height","100%")}}updateTargets(e){var n;const a=this,{hasAxis:i,hasFunnel:s,hasRadar:o,hasTreemap:l}=a.state,c=g=>a[`updateTargetsFor${g}`](e.filter(a[`is${g}Type`].bind(a)));if(a.updateTargetsForText(e),i)["bar","candlestick","line"].forEach(g=>{const v=Dn(g);(g==="line"&&a.hasTypeOf(v)||a.hasType(g))&&c(v)}),a.updateTargetsForSubchart&&a.updateTargetsForSubchart(e);else if(a.hasArcType(e)){let g="Arc";o?g="Radar":a.hasType("polar")&&(g="Polar"),c(g)}else s?c("Funnel"):l&&c("Treemap");const f=a.hasType("bubble")||a.hasType("scatter");f&&((n=a.updateTargetForCircle)==null||n.call(a)),a.filterTargetsToShowAtInit(f)}filterTargetsToShowAtInit(e=!1){const n=this,{$el:{svg:a},$T:i}=n;let s=`.${Se.target}`;e&&(s+=`, .${$n.chartCircles} > .${$n.circles}`),i(a.selectAll(s).filter(o=>n.isTargetToShow(o.id))).style("opacity",null)}getWithOption(e){const n={Dimension:!0,EventRect:!0,Legend:!1,Subchart:!0,Transform:!1,Transition:!0,TrimXDomain:!0,UpdateXAxis:"UpdateXDomain",UpdateXDomain:!1,UpdateOrgXDomain:!1,TransitionForExit:"Transition",TransitionForAxis:"Transition",Y:!0};return Object.keys(n).forEach(a=>{let i=n[a];Xe(i)&&(i=n[i]),n[a]=$r(e,`with${a}`,i)}),n}initialOpacity(e){const n=this,{withoutFadeIn:a}=n.state;return n.getBaseValue(e)!==null&&a[e.id]?null:"0"}bindResize(){const e=this,{config:n,state:a}=e,i=xv(n.resize_timer),s=[];s.push(()=>_e(n.onresize,e.api)),n.resize_auto===!0&&s.push(()=>{a.resizing=!0,n.legend_show&&(e.updateSizes(),e.updateLegend()),e.api.flush(!1)}),s.push(()=>{_e(n.onresized,e.api),a.resizing=!1}),s.forEach(o=>i.add(o)),e.resizeFunction=i,Ke.addEventListener("resize",e.resizeFunction=i)}callPluginHook(e,...n){this.config.plugins.forEach(a=>{e==="$beforeInit"&&(a.$$=this,this.api.plugins.push(a)),a[e](...n)})}}xn(Gr.prototype,[Mv,Dv,Lv,jv,Gv,Hv,Wv,zv,Kv,Zv,Jv,Bp,hm,Up,zp,Vp,Xp,Yp,Hp,Wp]);function pm(t){const e=this.config;let n,a,i;const s=()=>{const o=a.shift();if(o&&n&&nr(n)&&o in n)return n=n[o],s();if(!o)return n};Object.keys(e).forEach(o=>{n=t,a=o.split("_"),i=s(),ke(i)&&(e[o]=i)}),this.api&&(this.state.orgConfig=t)}var mm={resize(t){const e=this.internal,{config:n,state:a}=e;a.rendered&&(n.size_width=t?t.width:null,n.size_height=t?t.height:null,a.resizing=!0,this.flush(!1),e.resizeFunction())},flush(t){var e,n;const a=this.internal,{state:i,$el:{zoomResetBtn:s}}=a;i.rendered?(i.resizing?(e=a.brush)==null||e.updateResize():(n=a.axis)==null||n.setOrient(),s==null||s.style("display","none"),a.scale.zoom=null,t?a.redraw({withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withLegend:!0}):a.updateAndRedraw({withLegend:!0,withTransition:!1,withTransitionForTransform:!1}),!i.resizing&&a.brush&&(a.brush.getSelection().call(a.brush.move),a.unselectRect())):a.initToRender(!0)},destroy(){const t=this.internal,{$el:{chart:e,style:n,svg:a}}=t;if(cn(t)){t.callPluginHook("$willDestroy"),t.charts.splice(t.charts.indexOf(this),1),t.unbindAllEvents(),a.select("*").interrupt(),t.resizeFunction.clear(),Ke.removeEventListener("resize",t.resizeFunction),e.classed("bb",!1).style("position",null).selectChildren().remove(),n&&n.parentNode.removeChild(n),Object.keys(this).forEach(i=>{i==="internal"&&Object.keys(t).forEach(s=>{t[s]=null}),this[i]=null,delete this[i]});for(const i in this)this[i]=()=>{}}return null},config(t,e,n){const a=this.internal,{config:i,state:s}=a,o=t==null?void 0:t.replace(/\./g,"_");let l;return t&&o in i?ke(e)?(i[o]=e,l=e,n&&this.flush()):l=i[o]:(arguments.length===0||qn(t))&&(l=s.orgConfig),l}},ym={color(t){return this.internal.color(t)}};const au=function(t){const{targets:e}=this.internal.data;if(!ln(t)){const n=ze(t)?t:[t];return e.filter(a=>n.some(i=>i===a.id))}return e};xn(au,{shown:function(t){return this.internal.filterTargetsToShow(this.data(t))},values:function(t,e=!0){let n=null;if(t){const a=this.data(t);ze(a)&&(n=[],a.forEach(i=>{const s=i.values.map(o=>o.value);e?n=n.concat(s):n.push(s)}))}return n},names:function(t){return this.internal.updateDataAttributes("names",t)},colors:function(t){return this.internal.updateDataAttributes("colors",t)},axes:function(t){return this.internal.updateDataAttributes("axes",t)},min:function(){return this.internal.getMinMaxData().min},max:function(){return this.internal.getMinMaxData().max}});var xm={data:au};const Tm=t=>{var e,n;return(n=(e=Ke).btoa)==null?void 0:n.call(e,encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,(a,i)=>String.fromCharCode(+`0x${i}`)))};function $m(t,e,n){const{width:a,height:i}=e||n,s=new XMLSerializer,o=t.cloneNode(!0),l=tv(Lr(vn.styleSheets)).filter(m=>m.cssText).map(m=>m.cssText);o.setAttribute("xmlns",ae.xhtml),o.style.margin="0",o.style.padding="0",e.preserveFontStyle&&o.querySelectorAll("text").forEach(m=>{m.innerHTML=""});const c=s.serializeToString(o),f=vn.createElement("style");f.appendChild(vn.createTextNode(l.join(` +`)));const g=s.serializeToString(f),v=`<svg xmlns="${ae.svg}" width="${a}" height="${i}" + viewBox="0 0 ${n.width} ${n.height}" + preserveAspectRatio="${(e==null?void 0:e.preserveAspectRatio)===!1?"none":"xMinYMid meet"}"> + <foreignObject width="100%" height="100%"> + ${g} + ${c.replace(/(url\()[^#]+/g,"$1")} + </foreignObject></svg>`;return`data:image/svg+xml;base64,${Tm(v)}`}function Sm(t,e){const{top:n,left:a}=e,{x:i,y:s}=t.getBBox(),{a:o,b:l,c,d:f,e:g,f:v}=t.getScreenCTM(),{width:m,height:S}=t.getBoundingClientRect();return{x:o*i+c*s+g-a,y:l*i+f*s+v-n+(S-Math.round(S/4)),width:m,height:S}}function Am(t){const{left:e,top:n}=t.getBoundingClientRect(),a=s=>s.textContent||s.childElementCount,i=[];return Lr(t.querySelectorAll("text")).filter(a).forEach(s=>{const o=l=>{const{fill:c,fontFamily:f,fontSize:g,textAnchor:v,transform:m}=Ke.getComputedStyle(l),{x:S,y:P,width:N,height:L}=Sm(l,{left:e,top:n});return{[l.textContent]:{x:S,y:P,width:N,height:L,fill:c,fontFamily:f,fontSize:g,textAnchor:v,transform:m}}};if(s.childElementCount>1){const l=[];return Lr(s.querySelectorAll("tspan")).filter(a).forEach(c=>{i.push(o(c))}),l}else i.push(o(s))}),i}function Em(t,e){e.forEach(n=>{Object.keys(n).forEach(a=>{const{x:i,y:s,width:o,height:l,fill:c,fontFamily:f,fontSize:g,transform:v}=n[a];if(t.save(),t.font=`${g} ${f}`,t.fillStyle=c,v==="none")t.fillText(a,i,s);else{const m=v.replace(/(matrix|\(|\))/g,"").split(",");m.splice(4).every(S=>+S==0)?(m.push(i+o-o/4),m.push(s-l+l/3)):(m.push(i),m.push(s)),t.transform(...m),t.fillText(a,0,0)}t.restore()})})}var bm={export(t,e){const n=this.internal,{state:a,$el:{chart:i,svg:s}}=n,{width:o,height:l}=a.current,c=ea({width:o,height:l,preserveAspectRatio:!0,preserveFontStyle:!1,mimeType:"image/png"},t),f=$m(i.node(),c,{width:o,height:l}),g=c.preserveFontStyle?Am(s.node()):[];if(e&&ve(e)){const v=new Image;v.crossOrigin="Anonymous",v.onload=()=>{const m=vn.createElement("canvas"),S=m.getContext("2d");m.width=c.width||o,m.height=c.height||l,S.drawImage(v,0,0),g.length&&(Em(S,g),g.length=0),e.bind(this)(m.toDataURL(c.mimeType))},v.src=f}return f}},Rm={focus(t){const e=this.internal,{state:n}=e,a=e.mapToTargetIds(t),i=e.$el.svg.selectAll(e.selectorTargets(a.filter(e.isTargetToShow,e)));this.revert(),this.defocus(),i.classed(qe.focused,!0).classed(qe.defocused,!1),e.hasArcType()&&!n.hasRadar&&(e.expandArc(a),e.hasType("gauge")&&e.markOverlapped(t,e,`.${Un.gaugeValue}`)),e.toggleFocusLegend(a,!0),n.focusedTargetIds=a,n.defocusedTargetIds=n.defocusedTargetIds.filter(s=>a.indexOf(s)<0)},defocus(t){const e=this.internal,{state:n}=e,a=e.mapToTargetIds(t);e.$el.svg.selectAll(e.selectorTargets(a.filter(e.isTargetToShow,e))).classed(qe.focused,!1).classed(qe.defocused,!0),e.hasArcType(null,["polar"])&&(e.unexpandArc(a),e.hasType("gauge")&&e.undoMarkOverlapped(e,`.${Un.gaugeValue}`)),e.toggleFocusLegend(a,!1),n.focusedTargetIds=n.focusedTargetIds.filter(s=>a.indexOf(s)<0),n.defocusedTargetIds=a},revert(t){const e=this.internal,{config:n,state:a,$el:i}=e,s=e.mapToTargetIds(t);i.svg.selectAll(e.selectorTargets(s)).classed(qe.focused,!1).classed(qe.defocused,!1),e.hasArcType(null,["polar"])&&e.unexpandArc(s),n.legend_show&&(e.showLegend(s.filter(e.isLegendToShow.bind(e))),i.legend.selectAll(e.selectorLegends(s)).filter(function(){return st(this).classed(qe.legendItemFocused)}).classed(qe.legendItemFocused,!1)),a.focusedTargetIds=[],a.defocusedTargetIds=[]}},Im={legend:{show:function(t){const e=this.internal;e.showLegend(e.mapToTargetIds(t)),e.updateAndRedraw({withLegend:!0})},hide:function(t){const e=this.internal;e.hideLegend(e.mapToTargetIds(t)),e.updateAndRedraw({withLegend:!0})}}},Om={load(t){const e=this.internal,{config:n}=e;t.xs&&e.addXs(t.xs),"names"in t&&this.data.names(t.names),"classes"in t&&Object.keys(t.classes).forEach(a=>{n.data_classes[a]=t.classes[a]}),"categories"in t&&e.axis.isCategorized()&&(n.axis_x_categories=t.categories),"axes"in t&&Object.keys(t.axes).forEach(a=>{n.data_axes[a]=t.axes[a]}),"colors"in t&&Object.keys(t.colors).forEach(a=>{n.data_colors[a]=t.colors[a]}),"unload"in t&&t.unload!==!1?e.unload(e.mapToTargetIds(t.unload===!0?null:t.unload),()=>{jl(()=>e.loadFromArgs(t))}):e.loadFromArgs(t)},unload(t){const e=this.internal;let n=t||{};qn(n)&&this.tooltip.hide(),ze(n)?n={ids:n}:Xe(n)&&(n={ids:[n]});const a=e.mapToTargetIds(n.ids);e.unload(a,()=>{e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),e.cache.remove(a),cc.call(e,n.done,n.resizeAfter)})}};function iu(t,e,n){const a=this.internal,i=a.mapToTargetIds(e),s=a.state.hiddenTargetIds.map(c=>i.indexOf(c)>-1&&c).filter(Boolean);a.state.toggling=!0,a[`${t?"remove":"add"}HiddenTargetIds`](i);const o=a.$el.svg.selectAll(a.selectorTargets(i)),l=t?null:"0";t&&s.length&&(o.style("display",null),_e(a.config.data_onshown,this,s)),a.$T(o).style("opacity",l,"important").call($i,()=>{var c;!t&&s.length===0&&(o.style("display","none"),_e((c=a.config)==null?void 0:c.data_onhidden,this,i)),o.style("opacity",l)}),n.withLegend&&a[`${t?"show":"hide"}Legend`](i),a.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),a.state.toggling=!1}var Cm={show(t,e={}){iu.call(this,!0,t,e)},hide(t,e={}){iu.call(this,!1,t,e)},toggle(t,e={}){const n=this.internal,a={show:[],hide:[]};n.mapToTargetIds(t).forEach(i=>a[n.isTargetToShow(i)?"hide":"show"].push(i)),a.show.length&&this.show(a.show,e),a.hide.length&&setTimeout(()=>this.hide(a.hide,e),0)}},Pm={tooltip:{show:function(t){var e,n,a;const i=this.internal,{$el:s,config:o,state:{eventReceiver:l,hasFunnel:c,hasTreemap:f,inputType:g}}=i;let v,m;if(t.mouse&&(m=t.mouse),t.data){const{data:S}=t,P=(e=i.getYScaleById(S.id))==null?void 0:e(S.value);if((c||f)&&S.id){const N=i.selectorTarget(S.id,void 0,`.${on.shape}`);l.rect=s.main.select(N)}else i.isMultipleX()?m=[i.xx(S),P]:(o.tooltip_grouped||(m=[0,P]),v=(a=S.index)!=null?a:i.hasArcType()&&S.id?(n=i.getArcElementByIdOrIndex(S.id))==null?void 0:n.datum().index:i.getIndexByX(S.x))}else ke(t.x)?v=i.getIndexByX(t.x):ke(t.index)&&(v=t.index);(g==="mouse"?["mouseover","mousemove"]:["touchstart"]).forEach(S=>{i.dispatchEvent(S,v,m)})},hide:function(){var t,e,n;const a=this.internal,{state:{inputType:i},$el:{tooltip:s}}=a,o=s==null?void 0:s.datum();if(o){const{index:l}=JSON.parse(o.current)[0];(i==="mouse"?["mouseout"]:["touchend"]).forEach(c=>{a.dispatchEvent(c,l)})}i==="touch"&&a.callOverOutForTouch(),a.hideTooltip(!0),(t=a.hideGridFocus)==null||t.call(a),(e=a.unexpandCircles)==null||e.call(a),(n=a.expandBarTypeShapes)==null||n.call(a,!1)}}},wm=Object.defineProperty,Mm=(t,e,n)=>e in t?wm(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,su=(t,e,n)=>Mm(t,typeof e!="symbol"?e+"":e,n);class Er{constructor(e){su(this,"plugins",[]),su(this,"internal");const n=new Gr(this);this.internal=n,function a(i,s,o){Object.keys(i).forEach(l=>{const c=ve(i[l]),f=s!==o,g=cn(i[l]),v=g&&Object.keys(i[l]).length>0;c&&(!f&&v||f)?s[l]=i[l].bind(o):g&&!c?s[l]={}:s[l]=i[l],v&&a(i[l],s[l],o)})}(Er.prototype,this,this),pm.call(n,e),n.beforeInit(),n.init()}}xn(Er.prototype,[mm,ym,xm,bm,Rm,Im,Om,Cm,Pm]);function ou(t=!1,e,n,a){const i=this,{config:s,$el:{main:o}}=i,l=s.data_selection_grouped,c=s.data_selection_isselectable.bind(i.api);s.data_selection_enabled&&o.selectAll(`.${on.shapes}`).selectAll(`.${on.shape}`).each(function(f){const g=st(this),{id:v,index:m}=f.data?f.data:f,S=i.getToggle(this,f).bind(i),P=l||!e||e.indexOf(v)>=0,N=!n||n.indexOf(m)>=0,L=g.classed(tn.SELECTED);g.classed(ur.line)||g.classed(_a.area)||(t?P&&N&&c(f)&&!L?S(!0,g.classed(tn.SELECTED,!0),f,m):ke(a)&&a&&L&&S(!1,g.classed(tn.SELECTED,!1),f,m):P&&N&&c(f)&&L&&S(!1,g.classed(tn.SELECTED,!1),f,m))})}var Dm={selected(t){const e=this.internal,n=[];return e.$el.main.selectAll(`.${on.shapes+e.getTargetSelectorSuffix(t)}`).selectAll(`.${on.shape}`).filter(function(){return st(this).classed(tn.SELECTED)}).each(a=>n.push(a)),n},select(t,e,n){const a=this.internal;ou.bind(a)(!0,t,e,n)},unselect(t,e){const n=this.internal;ou.bind(n)(!1,t,e)}};const lu=function(t){var e;const n=this.internal,{axis:a,brush:i,config:s,scale:{x:o,subX:l},state:c}=n;let f;return s.subchart_show&&(f=t,Array.isArray(f)?(a.isTimeSeries()&&(f=f.map(v=>zn.bind(n)(v))),n.withinRange(f,n.getZoomDomain("subX",!0),n.getZoomDomain("subX"))&&(c.domain=f,i.move(i.getSelection(),f.map(l)))):f=(e=c.domain)!=null?e:o.orgDomain()),f};xn(lu,{show(){var t,e;const n=this.internal,{$el:{subchart:a},config:i}=n,s=i.subchart_show;if(!s){n.unbindZoomEvent(),i.subchart_show=!s,!a.main&&n.initSubchart();let o=a.main.selectAll(`.${Se.target}`);n.data.targets.length!==o.size()&&(n.updateSizes(),n.updateTargetsForSubchart(n.data.targets),o=(t=a.main)==null?void 0:t.selectAll(`.${Se.target}`)),o==null||o.style("opacity",null),(e=a.main)==null||e.style("display",null),this.resize()}},hide(){const t=this.internal,{$el:{subchart:{main:e}},config:n}=t;n.subchart_show&&(e==null?void 0:e.style("display"))!=="none"&&(n.subchart_show=!1,e.style("display","none"),this.resize())},toggle(){const t=this.internal,{config:e}=t;this.subchart[e.subchart_show?"hide":"show"]()},reset(){const t=this.internal,{brush:e}=t;e.clear(e.getSelection())}});var Lm={subchart:lu},Nm=1e-12;function cu(t){return((t=Math.exp(t))+1/t)/2}function Fm(t){return((t=Math.exp(t))-1/t)/2}function Bm(t){return((t=Math.exp(2*t))-1)/(t+1)}var Um=function t(e,n,a){function i(s,o){var l=s[0],c=s[1],f=s[2],g=o[0],v=o[1],m=o[2],S=g-l,P=v-c,N=S*S+P*P,L,w;if(N<Nm)w=Math.log(m/f)/e,L=function(at){return[l+at*S,c+at*P,f*Math.exp(e*at*w)]};else{var X=Math.sqrt(N),W=(m*m-f*f+a*N)/(2*f*n*X),Y=(m*m-f*f-a*N)/(2*m*n*X),Q=Math.log(Math.sqrt(W*W+1)-W),K=Math.log(Math.sqrt(Y*Y+1)-Y);w=(K-Q)/e,L=function(at){var ht=at*w,St=cu(Q),ct=f/(n*X)*(St*Bm(e*ht+Q)-Fm(Q));return[l+ct*S,c+ct*P,f*St/cu(e*ht+Q)]}}return L.duration=w*1e3*e/Math.SQRT2,L}return i.rho=function(s){var o=Math.max(.001,+s),l=o*o,c=l*l;return t(o,l,c)},i}(Math.SQRT2,2,4),Vi=t=>()=>t;function zm(t,{sourceEvent:e,target:n,transform:a,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:a,enumerable:!0,configurable:!0},_:{value:i}})}function vr(t,e,n){this.k=t,this.x=e,this.y=n}vr.prototype={constructor:vr,scale:function(t){return t===1?this:new vr(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new vr(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ar=new vr(1,0,0);vo.prototype=vr.prototype;function vo(t){for(;!t.__zoom;)if(!(t=t.parentNode))return ar;return t.__zoom}function po(t){t.stopImmediatePropagation()}function Fa(t){t.preventDefault(),t.stopImmediatePropagation()}function jm(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function Gm(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function uu(){return this.__zoom||ar}function Vm(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Xm(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ym(t,e,n){var a=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],s=t.invertY(e[0][1])-n[0][1],o=t.invertY(e[1][1])-n[1][1];return t.translate(i>a?(a+i)/2:Math.min(0,a)||Math.max(0,i),o>s?(s+o)/2:Math.min(0,s)||Math.max(0,o))}function Hm(){var t=jm,e=Gm,n=Ym,a=Vm,i=Xm,s=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],l=250,c=Um,f=ni("start","zoom","end"),g,v,m,S=500,P=150,N=0,L=10;function w(Z){Z.property("__zoom",uu).on("wheel.zoom",ht,{passive:!1}).on("mousedown.zoom",St).on("dblclick.zoom",ct).filter(i).on("touchstart.zoom",lt).on("touchmove.zoom",Gt).on("touchend.zoom touchcancel.zoom",vt).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}w.transform=function(Z,$t,ut,At){var Vt=Z.selection?Z.selection():Z;Vt.property("__zoom",uu),Z!==Vt?Q(Z,$t,ut,At):Vt.interrupt().each(function(){K(this,arguments).event(At).start().zoom(null,typeof $t=="function"?$t.apply(this,arguments):$t).end()})},w.scaleBy=function(Z,$t,ut,At){w.scaleTo(Z,function(){var Vt=this.__zoom.k,Bt=typeof $t=="function"?$t.apply(this,arguments):$t;return Vt*Bt},ut,At)},w.scaleTo=function(Z,$t,ut,At){w.transform(Z,function(){var Vt=e.apply(this,arguments),Bt=this.__zoom,Kt=ut==null?Y(Vt):typeof ut=="function"?ut.apply(this,arguments):ut,ne=Bt.invert(Kt),le=typeof $t=="function"?$t.apply(this,arguments):$t;return n(W(X(Bt,le),Kt,ne),Vt,o)},ut,At)},w.translateBy=function(Z,$t,ut,At){w.transform(Z,function(){return n(this.__zoom.translate(typeof $t=="function"?$t.apply(this,arguments):$t,typeof ut=="function"?ut.apply(this,arguments):ut),e.apply(this,arguments),o)},null,At)},w.translateTo=function(Z,$t,ut,At,Vt){w.transform(Z,function(){var Bt=e.apply(this,arguments),Kt=this.__zoom,ne=At==null?Y(Bt):typeof At=="function"?At.apply(this,arguments):At;return n(ar.translate(ne[0],ne[1]).scale(Kt.k).translate(typeof $t=="function"?-$t.apply(this,arguments):-$t,typeof ut=="function"?-ut.apply(this,arguments):-ut),Bt,o)},At,Vt)};function X(Z,$t){return $t=Math.max(s[0],Math.min(s[1],$t)),$t===Z.k?Z:new vr($t,Z.x,Z.y)}function W(Z,$t,ut){var At=$t[0]-ut[0]*Z.k,Vt=$t[1]-ut[1]*Z.k;return At===Z.x&&Vt===Z.y?Z:new vr(Z.k,At,Vt)}function Y(Z){return[(+Z[0][0]+ +Z[1][0])/2,(+Z[0][1]+ +Z[1][1])/2]}function Q(Z,$t,ut,At){Z.on("start.zoom",function(){K(this,arguments).event(At).start()}).on("interrupt.zoom end.zoom",function(){K(this,arguments).event(At).end()}).tween("zoom",function(){var Vt=this,Bt=arguments,Kt=K(Vt,Bt).event(At),ne=e.apply(Vt,Bt),le=ut==null?Y(ne):typeof ut=="function"?ut.apply(Vt,Bt):ut,be=Math.max(ne[1][0]-ne[0][0],ne[1][1]-ne[0][1]),Oe=Vt.__zoom,Ce=typeof $t=="function"?$t.apply(Vt,Bt):$t,Ye=c(Oe.invert(le).concat(be/Oe.k),Ce.invert(le).concat(be/Ce.k));return function(Fe){if(Fe===1)Fe=Ce;else{var hn=Ye(Fe),Jt=be/hn[2];Fe=new vr(Jt,le[0]-hn[0]*Jt,le[1]-hn[1]*Jt)}Kt.zoom(null,Fe)}})}function K(Z,$t,ut){return!ut&&Z.__zooming||new at(Z,$t)}function at(Z,$t){this.that=Z,this.args=$t,this.active=0,this.sourceEvent=null,this.extent=e.apply(Z,$t),this.taps=0}at.prototype={event:function(Z){return Z&&(this.sourceEvent=Z),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(Z,$t){return this.mouse&&Z!=="mouse"&&(this.mouse[1]=$t.invert(this.mouse[0])),this.touch0&&Z!=="touch"&&(this.touch0[1]=$t.invert(this.touch0[0])),this.touch1&&Z!=="touch"&&(this.touch1[1]=$t.invert(this.touch1[0])),this.that.__zoom=$t,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(Z){var $t=st(this.that).datum();f.call(Z,this.that,new zm(Z,{sourceEvent:this.sourceEvent,target:w,type:Z,transform:this.that.__zoom,dispatch:f}),$t)}};function ht(Z,...$t){if(!t.apply(this,arguments))return;var ut=K(this,$t).event(Z),At=this.__zoom,Vt=Math.max(s[0],Math.min(s[1],At.k*Math.pow(2,a.apply(this,arguments)))),Bt=Yn(Z);if(ut.wheel)(ut.mouse[0][0]!==Bt[0]||ut.mouse[0][1]!==Bt[1])&&(ut.mouse[1]=At.invert(ut.mouse[0]=Bt)),clearTimeout(ut.wheel);else{if(At.k===Vt)return;ut.mouse=[Bt,At.invert(Bt)],qr(this),ut.start()}Fa(Z),ut.wheel=setTimeout(Kt,P),ut.zoom("mouse",n(W(X(At,Vt),ut.mouse[0],ut.mouse[1]),ut.extent,o));function Kt(){ut.wheel=null,ut.end()}}function St(Z,...$t){if(m||!t.apply(this,arguments))return;var ut=Z.currentTarget,At=K(this,$t,!0).event(Z),Vt=st(Z.view).on("mousemove.zoom",le,!0).on("mouseup.zoom",be,!0),Bt=Yn(Z,ut),Kt=Z.clientX,ne=Z.clientY;cs(Z.view),po(Z),At.mouse=[Bt,this.__zoom.invert(Bt)],qr(this),At.start();function le(Oe){if(Fa(Oe),!At.moved){var Ce=Oe.clientX-Kt,Ye=Oe.clientY-ne;At.moved=Ce*Ce+Ye*Ye>N}At.event(Oe).zoom("mouse",n(W(At.that.__zoom,At.mouse[0]=Yn(Oe,ut),At.mouse[1]),At.extent,o))}function be(Oe){Vt.on("mousemove.zoom mouseup.zoom",null),us(Oe.view,At.moved),Fa(Oe),At.event(Oe).end()}}function ct(Z,...$t){if(t.apply(this,arguments)){var ut=this.__zoom,At=Yn(Z.changedTouches?Z.changedTouches[0]:Z,this),Vt=ut.invert(At),Bt=ut.k*(Z.shiftKey?.5:2),Kt=n(W(X(ut,Bt),At,Vt),e.apply(this,$t),o);Fa(Z),l>0?st(this).transition().duration(l).call(Q,Kt,At,Z):st(this).call(w.transform,Kt,At,Z)}}function lt(Z,...$t){if(t.apply(this,arguments)){var ut=Z.touches,At=ut.length,Vt=K(this,$t,Z.changedTouches.length===At).event(Z),Bt,Kt,ne,le;for(po(Z),Kt=0;Kt<At;++Kt)ne=ut[Kt],le=Yn(ne,this),le=[le,this.__zoom.invert(le),ne.identifier],Vt.touch0?!Vt.touch1&&Vt.touch0[2]!==le[2]&&(Vt.touch1=le,Vt.taps=0):(Vt.touch0=le,Bt=!0,Vt.taps=1+!!g);g&&(g=clearTimeout(g)),Bt&&(Vt.taps<2&&(v=le[0],g=setTimeout(function(){g=null},S)),qr(this),Vt.start())}}function Gt(Z,...$t){if(this.__zooming){var ut=K(this,$t).event(Z),At=Z.changedTouches,Vt=At.length,Bt,Kt,ne,le;for(Fa(Z),Bt=0;Bt<Vt;++Bt)Kt=At[Bt],ne=Yn(Kt,this),ut.touch0&&ut.touch0[2]===Kt.identifier?ut.touch0[0]=ne:ut.touch1&&ut.touch1[2]===Kt.identifier&&(ut.touch1[0]=ne);if(Kt=ut.that.__zoom,ut.touch1){var be=ut.touch0[0],Oe=ut.touch0[1],Ce=ut.touch1[0],Ye=ut.touch1[1],Fe=(Fe=Ce[0]-be[0])*Fe+(Fe=Ce[1]-be[1])*Fe,hn=(hn=Ye[0]-Oe[0])*hn+(hn=Ye[1]-Oe[1])*hn;Kt=X(Kt,Math.sqrt(Fe/hn)),ne=[(be[0]+Ce[0])/2,(be[1]+Ce[1])/2],le=[(Oe[0]+Ye[0])/2,(Oe[1]+Ye[1])/2]}else if(ut.touch0)ne=ut.touch0[0],le=ut.touch0[1];else return;ut.zoom("touch",n(W(Kt,ne,le),ut.extent,o))}}function vt(Z,...$t){if(this.__zooming){var ut=K(this,$t).event(Z),At=Z.changedTouches,Vt=At.length,Bt,Kt;for(po(Z),m&&clearTimeout(m),m=setTimeout(function(){m=null},S),Bt=0;Bt<Vt;++Bt)Kt=At[Bt],ut.touch0&&ut.touch0[2]===Kt.identifier?delete ut.touch0:ut.touch1&&ut.touch1[2]===Kt.identifier&&delete ut.touch1;if(ut.touch1&&!ut.touch0&&(ut.touch0=ut.touch1,delete ut.touch1),ut.touch0)ut.touch0[1]=this.__zoom.invert(ut.touch0[0]);else if(ut.end(),ut.taps===2&&(Kt=Yn(Kt,this),Math.hypot(v[0]-Kt[0],v[1]-Kt[1])<L)){var ne=st(this).on("dblclick.zoom");ne&&ne.apply(this,arguments)}}}return w.wheelDelta=function(Z){return arguments.length?(a=typeof Z=="function"?Z:Vi(+Z),w):a},w.filter=function(Z){return arguments.length?(t=typeof Z=="function"?Z:Vi(!!Z),w):t},w.touchable=function(Z){return arguments.length?(i=typeof Z=="function"?Z:Vi(!!Z),w):i},w.extent=function(Z){return arguments.length?(e=typeof Z=="function"?Z:Vi([[+Z[0][0],+Z[0][1]],[+Z[1][0],+Z[1][1]]]),w):e},w.scaleExtent=function(Z){return arguments.length?(s[0]=+Z[0],s[1]=+Z[1],w):[s[0],s[1]]},w.translateExtent=function(Z){return arguments.length?(o[0][0]=+Z[0][0],o[1][0]=+Z[1][0],o[0][1]=+Z[0][1],o[1][1]=+Z[1][1],w):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},w.constrain=function(Z){return arguments.length?(n=Z,w):n},w.duration=function(Z){return arguments.length?(l=+Z,w):l},w.interpolate=function(Z){return arguments.length?(c=Z,w):c},w.on=function(){var Z=f.on.apply(f,arguments);return Z===f?w:Z},w.clickDistance=function(Z){return arguments.length?(N=(Z=+Z)*Z,w):Math.sqrt(N)},w.tapDistance=function(Z){return arguments.length?(L=+Z,w):L},w}const fu=function(t){var e;const n=this.internal,{axis:a,config:i,org:s,scale:o,state:l}=n,c=a.isCategorized();let f;if(i.zoom_enabled)if(f=t,Array.isArray(f)){if(a.isTimeSeries()&&(f=f.map(v=>zn.bind(n)(v))),n.withinRange(f,n.getZoomDomain("zoom",!0),n.getZoomDomain("zoom"))){if(l.domain=f,f=n.getZoomDomainValue(f),n.api.tooltip.hide(),i.subchart_show){const v=o.zoom||o.x;n.brush.getSelection().call(n.brush.move,f.map(v))}else{const v=c?o.x.orgScale():s.xScale||o.x;n.updateCurrentZoomTransform(v,f)}n.setZoomResetButton()}}else f=n.zoom.getDomain();return(e=l.domain)!=null?e:f};xn(fu,{enable(t){const e=this.internal,{config:n}=e;/^(drag|wheel)$/.test(t)&&(n.zoom_type=t),n.zoom_enabled=!!t,e.zoom?t===!1&&e.bindZoomEvent(!1):(e.initZoom(),e.bindZoomEvent()),e.updateAndRedraw()},max(t){const e=this.internal,{config:n,org:{xDomain:a}}=e;return(t===0||t)&&(n.zoom_x_max=_n("max",[a[1],t])),n.zoom_x_max},min(t){const e=this.internal,{config:n,org:{xDomain:a}}=e;return(t===0||t)&&(n.zoom_x_min=_n("min",[a[0],t])),n.zoom_x_min},range(t){const e=this.zoom;if(Be(t)){const{min:n,max:a}=t;ke(n)&&e.min(n),ke(a)&&e.max(a)}return{min:e.min(),max:e.max()}}});var Wm={zoom:fu,unzoom(){const t=this.internal,{config:e,$el:{eventRect:n,zoomResetBtn:a},scale:{zoom:i},state:s}=t;i&&(e.subchart_show?t.brush.getSelection().call(t.brush.move,null):t.zoom.updateTransformScale(ar),t.updateZoom(!0),a==null||a.style("display","none"),vo(n.node())!==ar&&t.zoom.transform(n,ar),s.domain=void 0)}},Km={initBrush(){const t=this,{config:e,scale:n,$el:{subchart:a},state:i}=t,s=e.axis_rotated,o=e.subchart_size_height;let l,c,f;t.brush=(s?Vg():Gg()).handleSize(5),t.brush.on("start brush end",g=>{const{selection:v,sourceEvent:m,target:S,type:P}=g;P==="start"&&(t.state.inputType==="touch"&&t.hideTooltip(),c=m?v:null),/(start|brush)/.test(P)&&(P==="brush"&&m&&i.domain&&(c==null||c.forEach((N,L)=>{N!==v[L]&&(i.domain[L]=n.x.orgDomain()[L])})),t.redrawForBrush(P!=="start")),P==="end"&&(l=n.x.orgDomain()),S!=null&&S.handle&&(v===null?t.brush.handle.attr("display","none"):t.brush.handle.attr("display",null).attr("transform",(N,L)=>{const w=[v[L],o/2];return`translate(${s?w.reverse():w})`}))}),t.brush.updateResize=function(){f&&clearTimeout(f),f=setTimeout(()=>{const g=this.getSelection();l&&zl(g.node())&&this.move(g,l.map(n.subX.orgScale()))},0)},t.brush.update=function(){var g;return this.extent()()[1].filter(m=>isNaN(m)).length===0&&((g=a.main)==null||g.select(`.${Ue.brush}`).call(this)),this},t.brush.scale=function(g){const v=e.subchart_size_height;let m=t.axis.getExtent();!m&&g.range?m=[[0,0],[g.range()[1],v]]:ze(m)&&(m=m.map((S,P)=>[S,P>0?v:P])),s&&m[1].reverse(),this.extent(m),this.update()},t.brush.getSelection=()=>a.main?a.main.select(`.${Ue.brush}`):st([])},initSubchart(){const t=this,{config:e,state:{clip:n,hasAxis:a},$el:{defs:i,svg:s,subchart:o,axis:l}}=t;if(!a)return;const c=e.subchart_show?null:"hidden",f=`${n.id}-subchart`,g=t.getClipPath(f);n.idSubchart=f,t.appendClip(i,f),t.initBrush(),o.main=s.append("g").classed(Ue.subchart,!0).attr("transform",t.getTranslate("context"));const{main:v}=o;v.style("visibility",c),v.append("g").attr("clip-path",g).attr("class",Ue.chart),["bar","line","bubble","candlestick","scatter"].forEach(S=>{const P=Dn(/^(bubble|scatter)$/.test(S)?"circle":S);if(t.hasType(S)||t.hasTypeOf(P)){const N=v.select(`.${Ue.chart}`),L=Ue[`chart${P}s`];N.select(`.${L}`).empty()&&N.append("g").attr("class",L)}});const m=v.append("g").attr("clip-path",g).attr("class",Ue.brush).call(t.brush);e.subchart_showHandle&&t.addBrushHandle(m),l.subX=v.append("g").attr("class",Ue.axisX).attr("transform",t.getTranslate("subX")).attr("clip-path",e.axis_rotated?"":n.pathXAxis).style("visibility",e.subchart_axis_x_show?c:"hidden")},addBrushHandle(t){const e=this,{config:n}=e,a=n.axis_rotated,i=n.subchart_init_range,s="handle--custom",o=a?["M8.5 0 a6 6 0 0 0 -6 -6.5 H-2.5 a 6 6 0 0 0 -6 6.5 z m-5 -2 H-3.5 m7 -2 H-3.5z","M8.5 0 a6 -6 0 0 1 -6 6.5 H-2.5 a 6 -6 0 0 1 -6 -6.5z m-5 2 H-3.5 m7 2 H-3.5z"]:["M0 -8.5 A6 6 0 0 0 -6.5 -3.5 V2.5 A6 6 0 0 0 0 8.5 Z M-2 -3.5 V3.5 M-4 -3.5 V3.5z","M0 -8.5 A6 6 0 0 1 6.5 -3.5 V2.5 A6 6 0 0 1 0 8.5 Z M2 -3.5 V3.5 M4 -3.5 V3.5z"];e.brush.handle=t.selectAll(`.${s}`).data(a?[{type:"n"},{type:"s"}]:[{type:"w"},{type:"e"}]).enter().append("path").attr("class",s).attr("cursor",`${a?"ns":"ew"}-resize`).attr("d",l=>o[+/[se]/.test(l.type)]).attr("display",i?null:"none")},updateTargetsForSubchart(t){const e=this,{config:n,state:a,$el:{subchart:{main:i}}}=e;n.subchart_show&&(["bar","line","bubble","candlestick","scatter"].filter(s=>e.hasType(s)||e.hasTypeOf(Dn(s))).forEach(s=>{const o=/^(bubble|scatter)$/.test(s),l=Dn(o?"circle":s),c=e.getChartClass(l,!0),f=e.getClass(o?"circles":`${s}s`,!0),g=i.select(`.${Ue[`chart${`${l}s`}`]}`);if(o){const v=g.selectAll(`.${Ue.circles}`).data(t.filter(e[`is${Dn(s)}Type`].bind(e))).attr("class",f);v.exit().remove(),v.enter().append("g").attr("class",f)}else{const v=g.selectAll(`.${Ue[`chart${l}`]}`).attr("class",c).data(t.filter(e[`is${l}Type`].bind(e))),m=v.enter().append("g").style("opacity","0").attr("class",c).append("g").attr("class",f);v.exit().remove(),s==="line"&&e.hasTypeOf("Area")&&m.append("g").attr("class",e.getClass("areas",!0))}}),i.selectAll(`.${Ue.brush} rect`).attr(n.axis_rotated?"width":"height",n.axis_rotated?a.width2:a.height2))},redrawSubchart(t,e,n){var a;const i=this,{config:s,$el:{subchart:{main:o}},state:l}=i,c=!!e;if(o.style("visibility",s.subchart_show?null:"hidden"),s.subchart_show&&(((a=l.event)==null?void 0:a.type)==="zoom"&&i.brush.update(),t)){const f=s.subchart_init_range;if(!Kl(i)&&i.brush.update(),Object.keys(n.type).forEach(g=>{const v=Dn(g),m=i[`generateDraw${v}`](n.indices[g],!0);i[`update${v}`](c,!0),i[`redraw${v}`](m,c,!0)}),i.hasType("bubble")||i.hasType("scatter")){const{cx:g}=n.pos,v=i.updateCircleY(!0);i.updateCircle(!0),i.redrawCircle(g,v,c,void 0,!0)}!l.rendered&&f&&(l.domain=f,i.brush.move(i.brush.getSelection(),f.map(i.scale.x)))}},redrawForBrush(t=!0){var e;const n=this,{config:{subchart_onbrush:a,zoom_rescale:i},scale:s,state:o}=n;n.redraw({withTransition:!1,withY:i,withSubchart:!1,withUpdateXDomain:!0,withDimension:!1}),t&&o.rendered&&a.bind(n.api)((e=o.domain)!=null?e:s.x.orgDomain())},transformContext(t,e){const n=this,{$el:{subchart:a},$T:i}=n,s=e!=null&&e.axisSubX?e.axisSubX:i(a.main.select(`.${Ue.axisX}`),t);a.main.attr("transform",n.getTranslate("context")),s.attr("transform",n.getTranslate("subX"))}},Zm={initZoom(){const t=this;t.scale.zoom=null,t.generateZoom(),t.config.zoom_type==="drag"&&t.initZoomBehaviour()},bindZoomEvent(t=!0){const e=this,{config:n}=e;n.zoom_enabled&&t?!n.subchart_show&&e.bindZoomOnEventRect():t===!1&&(e.api.unzoom(),e.unbindZoomEvent())},generateZoom(){const t=this,{config:e,org:n,scale:a}=t,i=Hm().duration(0).on("start",t.onZoomStart.bind(t)).on("zoom",t.onZoom.bind(t)).on("end",t.onZoomEnd.bind(t));i.orgScaleExtent=()=>{const s=e.zoom_extent||[1,10];return[s[0],Math.max(t.getMaxDataCount()/s[1],s[1])]},i.updateScaleExtent=function(){const s=Dr(t.scale.x.orgDomain())/Dr(t.getZoomDomain()),o=this.orgScaleExtent();return this.scaleExtent([o[0]*s,o[1]*s]),this},i.updateTransformScale=(s,o)=>{var l;const c=e.axis_rotated;(l=n.xScale)==null||l.range(a.x.range());const f=s[c?"rescaleY":"rescaleX"](n.xScale||a.x);if(f.domain().some(m=>/(Invalid Date|NaN)/.test(m.toString())))return;const g=t.trimXDomain(f.domain()),v=e.zoom_rescale;if(f.domain(g,n.xDomain),o){const m=f(a.x.domain()[0]),S=c?s.x:m,P=c?m:s.y;t.$el.eventRect.property("__zoom",ar.translate(S,P).scale(s.k))}t.state.xTickOffset||(t.state.xTickOffset=t.axis.x.tickOffset()),a.zoom=t.getCustomizedXScale(f),t.axis.x.scale(a.zoom),v?(!n.xScale&&(n.xScale=a.x.copy()),a.x.domain(g)):n.xScale&&(a.x.domain(n.xScale.domain()),n.xScale=null)},i.getDomain=()=>{const s=a[a.zoom?"zoom":"subX"].domain();return t.axis.isCategorized()&&(s[1]-=2),s},t.zoom=i},onZoomStart(t){const e=this,{sourceEvent:n}=t;n&&(e.zoom.startEvent=n,e.state.zooming=!0,_e(e.config.zoom_onzoomstart,e.api,t))},onZoom(t){var e;const n=this,{config:a,scale:i,state:s,org:o}=n,{sourceEvent:l}=t,c=(t==null?void 0:t.transform)===ar;if(!a.zoom_enabled||n.filterTargetsToShow(n.data.targets).length===0||!i.zoom&&(l==null?void 0:l.type.indexOf("touch"))>-1&&(l==null?void 0:l.touches.length)===1)return;t.sourceEvent&&(s.zooming=!0,s.domain=void 0);const f=(l==null?void 0:l.type)==="mousemove",g=(l==null?void 0:l.wheelDelta)<0,{transform:v}=t;!f&&g&&i.x.domain().every((S,P)=>S!==o.xDomain[P])&&i.x.domain(o.xDomain),n.zoom.updateTransformScale(v,a.zoom_type==="wheel"&&l);const m=a.transition_duration>0&&!a.subchart_show&&(s.dragging||c||!t.sourceEvent);n.redraw({withTransition:m,withY:a.zoom_rescale,withSubchart:!1,withEventRect:!1,withDimension:!1}),n.state.cancelClick=f,!c&&_e(a.zoom_onzoom,n.api,(e=n.state.domain)!=null?e:n.zoom.getDomain())},onZoomEnd(t){var e,n;const a=this,{config:i,state:s}=a;let{startEvent:o}=a.zoom,l=t==null?void 0:t.sourceEvent;const c=(t==null?void 0:t.transform)===ar;(o==null?void 0:o.type.indexOf("touch"))>-1&&(o=o.changedTouches[0],l=(e=l==null?void 0:l.changedTouches)==null?void 0:e[0]),!(i.zoom_type==="drag"&&l&&o.clientX===l.clientX&&o.clientY===l.clientY)&&(s.zooming=!1,a.redrawEventRect(),a.updateZoom(),!c&&(l||s.dragging)&&_e(i.zoom_onzoomend,a.api,(n=a.state.domain)!=null?n:a.zoom.getDomain()))},updateZoom(t){const e=this,{subX:n,x:a,zoom:i}=e.scale;if(i){const s=i.domain(),o=n.domain(),l=.015,c=e.config.axis_x_inverted?(s[0]>=o[0]||s[0]+l>=o[0])&&(o[1]>=s[1]||o[1]>=s[1]+l):(s[0]<=o[0]||s[0]-l<=o[0])&&(o[1]<=s[1]||o[1]<=s[1]-l);(t||c)&&(e.axis.x.scale(n),a.domain(n.orgDomain()),e.scale.zoom=null)}},updateCurrentZoomTransform(t,e){const n=this,{$el:{eventRect:a},config:i}=n,s=i.axis_rotated,o=[-t(e[0]),0],l=ar.scale(t.range()[1]/(t(e[1])-t(e[0]))).translate(...s?o.reverse():o);a.call(n.zoom.transform,l)},bindZoomOnEventRect(){var t;const e=this,{config:n,$el:{eventRect:a,svg:i}}=e,s=n.zoom_type==="drag"?e.zoomBehaviour:e.zoom;Ke.GestureEvent&&/^((?!chrome|android|mobile).)*safari/i.test((t=Ke.navigator)==null?void 0:t.userAgent)&&i.on("wheel",()=>{}),a==null||a.call(s).on("dblclick.zoom",null)},initZoomBehaviour(){const t=this,{config:e,state:n}=t,a=e.axis_rotated;let i=0,s=0,o,l;const c={axis:a?"y":"x",attr:a?"height":"width",index:a?1:0};t.zoomBehaviour=uc().clickDistance(4).on("start",function(f){l=t.scale.zoom?null:t.axis.getExtent(),n.event=f,t.setDragStatus(!0),t.unselectRect(),o||(o=t.$el.main.append("rect").attr("clip-path",n.clip.path).attr("class",os.zoomBrush).attr("width",a?n.width:0).attr("height",a?0:n.height)),i=Hn(f,this)[c.index],l&&(i<l[0]?i=l[0]:i>l[1]&&(i=l[1])),s=i,o.attr(c.axis,i).attr(c.attr,0),t.onZoomStart(f)}).on("drag",function(f){s=Hn(f,this)[c.index],l&&(s>l[1]?s=l[1]:s<l[0]&&(s=l[0])),o.attr(c.axis,Math.min(i,s)).attr(c.attr,Math.abs(s-i))}).on("end",f=>{const g=t.scale.zoom||t.scale.x;n.event=f,o.attr(c.axis,0).attr(c.attr,0),i>s&&([i,s]=[s,i]),i<0&&(s+=Math.abs(i),i=0),i!==s&&t.api.zoom([i,s].map(v=>g.invert(v))),t.setDragStatus(!1)})},setZoomResetButton(){const t=this,{config:e,$el:n}=t,a=e.zoom_resetButton;a&&e.zoom_type==="drag"&&(n.zoomResetBtn?n.zoomResetBtn.style("display",null):n.zoomResetBtn=t.$el.chart.append("div").classed(Se.button,!0).append("span").on("click",function(){ve(a.onclick)&&a.onclick.bind(t.api)(this),t.api.unzoom()}).classed(os.buttonZoomReset,!0).text(a.text||"Reset Zoom"))},getZoomTransform(){const t=this,{$el:{eventRect:e}}=t;return e!=null&&e.node()?vo(e.node()):{k:1}}},Jm={drag(t){const e=this,{config:n,state:a,$el:{main:i}}=e,s=n.data_selection_grouped,o=n.interaction_enabled&&n.data_selection_isselectable;if(e.hasArcType()||!n.data_selection_enabled||n.zoom_enabled&&!e.zoom.altDomain||!n.data_selection_multiple)return;const[l,c]=a.dragStart||[0,0],[f,g]=t,v=Math.min(l,f),m=Math.max(l,f),S=s?a.margin.top:Math.min(c,g),P=s?a.height:Math.max(c,g);i.select(`.${Or.dragarea}`).attr("x",v).attr("y",S).attr("width",m-v).attr("height",P-S),i.selectAll(`.${on.shapes}`).selectAll(`.${on.shape}`).filter(N=>o==null?void 0:o.bind(e.api)(N)).each(function(N,L){const w=st(this),X=w.classed(tn.SELECTED),W=w.classed(Or.INCLUDED);let Y=!1,Q;if(w.classed($n.circle)){const K=+w.attr("cx")*1,at=+w.attr("cy")*1;Q=e.togglePoint,Y=v<K&&K<m&&S<at&&at<P}else if(w.classed(Kn.bar)){const{x:K,y:at,width:ht,height:St}=Hl(this);Q=e.togglePath,Y=!(m<K||K+ht<v)&&!(P<at||at+St<S)}else return;Y^W&&(w.classed(Or.INCLUDED,!W),w.classed(tn.SELECTED,!X),Q.call(e,!X,w,N,L))})},dragstart(t){const e=this,{config:n,state:a,$el:{main:i}}=e;e.hasArcType()||!n.data_selection_enabled||(a.dragStart=t,i.select(`.${Se.chart}`).append("rect").attr("class",Or.dragarea).style("opacity","0.1"),e.setDragStatus(!0))},dragend(){const t=this,{config:e,$el:{main:n},$T:a}=t;t.hasArcType()||!e.data_selection_enabled||(a(n.select(`.${Or.dragarea}`)).style("opacity","0").remove(),n.selectAll(`.${on.shape}`).classed(Or.INCLUDED,!1),t.setDragStatus(!1))}},km=Object.defineProperty,Qm=Object.defineProperties,qm=Object.getOwnPropertyDescriptors,du=Object.getOwnPropertySymbols,_m=Object.prototype.hasOwnProperty,ty=Object.prototype.propertyIsEnumerable,hu=(t,e,n)=>e in t?km(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ey=(t,e)=>{for(var n in e||(e={}))_m.call(e,n)&&hu(t,n,e[n]);if(du)for(var n of du(e))ty.call(e,n)&&hu(t,n,e[n]);return t},ny=(t,e)=>Qm(t,qm(e)),ry=ny(ey({},Jm),{selectPoint(t,e,n){const a=this,{config:i,$el:{main:s},$T:o}=a,l=i.axis_rotated,c=(l?a.circleY:a.circleX).bind(a),f=(l?a.circleX:a.circleY).bind(a),g=a.pointSelectR.bind(a);_e(i.data_onselected,a.api,e,t.node()),o(s.select(`.${tn.selectedCircles}${a.getTargetSelectorSuffix(e.id)}`).selectAll(`.${tn.selectedCircle}-${n}`).data([e]).enter().append("circle").attr("class",()=>a.generateClass(tn.selectedCircle,n)).attr("cx",c).attr("cy",f).attr("stroke",a.color).attr("r",v=>a.pointSelectR(v)*1.4)).attr("r",g)},unselectPoint(t,e,n){const a=this,{config:i,$el:{main:s},$T:o}=a;_e(i.data_onunselected,a.api,e,t==null?void 0:t.node()),o(s.select(`.${tn.selectedCircles}${a.getTargetSelectorSuffix(e.id)}`).selectAll(`.${tn.selectedCircle}-${n}`)).attr("r",0).remove()},togglePoint(t,e,n,a){this[`${t?"":"un"}selectPoint`](e,n,a)},selectPath(t,e){const n=this,{config:a}=n;_e(a.data_onselected,n.api,e,t.node()),a.interaction_brighten&&t.style("filter","brightness(1.25)")},unselectPath(t,e){const n=this,{config:a}=n;_e(a.data_onunselected,n.api,e,t.node()),a.interaction_brighten&&t.style("filter",null)},togglePath(t,e,n,a){this[`${t?"":"un"}selectPath`](e,n,a)},getToggle(t,e){const n=this;return t.nodeName==="path"?n.togglePath:n.isStepType(e)?()=>{}:n.togglePoint},toggleShape(t,e,n){var a;const i=this,{config:s,$el:{main:o}}=i;if(s.data_selection_enabled&&s.data_selection_isselectable.bind(i.api)(e)){const l=st(t),c=l.classed(tn.SELECTED),f=i.getToggle(t,e).bind(i);let g;if(!s.data_selection_multiple){const v=(a=i.isPointFocusOnly)==null?void 0:a.call(i);let m=`.${v?tn.selectedCircles:on.shapes}`;s.data_selection_grouped&&(m+=i.getTargetSelectorSuffix(e.id)),o.selectAll(m).selectAll(v?`.${tn.selectedCircle}`:`.${on.shape}.${tn.SELECTED}`).classed(tn.SELECTED,!1).each(function(S){const P=st(this);g=P,f(!1,P,S,S.index)})}(!g||g.node()!==l.node())&&(l.classed(tn.SELECTED,!c),f(!c,l,e,n))}}}),ay={data_selection_enabled:!1,data_selection_grouped:!1,data_selection_isselectable:()=>!0,data_selection_multiple:!0,data_selection_draggable:!1,data_onselected:()=>{},data_onunselected:()=>{}},iy={subchart_show:!1,subchart_showHandle:!1,subchart_size_height:60,subchart_axis_x_show:!0,subchart_axis_x_tick_show:!0,subchart_axis_x_tick_format:void 0,subchart_axis_x_tick_text_show:!0,subchart_init_range:void 0,subchart_onbrush:()=>{}},sy={zoom_enabled:!1,zoom_type:"wheel",zoom_extent:void 0,zoom_privileged:!1,zoom_rescale:!1,zoom_onzoom:void 0,zoom_onzoomstart:void 0,zoom_onzoomend:void 0,zoom_resetButton:!0,zoom_x_min:void 0,zoom_x_max:void 0};let gu=()=>(xn(Gr.prototype,ry),xn(Er.prototype,Dm),Nr.setOptions([ay]),(gu=()=>!0)()),vu=()=>(xn(Gr.prototype,Km),xn(Er.prototype,Lm),Nr.setOptions([iy]),(vu=()=>!0)()),pu=()=>(xn(Gr.prototype,Zm),xn(Er.prototype,Wm),Nr.setOptions([sy]),(pu=()=>!0)());function mu(t,e,n){const{config:a}=t,i=(s,o)=>{const l=he(o)?o:o===!1?void 0:null;l!==null&&(a[`axis_${s}_${e}`]=l)};ke(n)&&(nr(n)?Object.keys(n).forEach(s=>{i(s,n[s])}):(he(n)||n===!1)&&["y","y2"].forEach(s=>{i(s,n)}),t.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0}))}function yu(t,e){const{config:n}=t;return{x:n[`axis_x_${e}`],y:n[`axis_y_${e}`],y2:n[`axis_y2_${e}`]}}var oy={axis:{labels:function(t){const e=this.internal;let n;return t&&(Object.keys(t).forEach(a=>{e.axis.setLabelText(a,t[a])}),e.axis.updateLabels()),["x","y","y2"].forEach(a=>{const i=e.axis.getLabelText(a);i&&(!n&&(n={}),n[a]=i)}),n},min:function(t){const e=this.internal;return De(t)||t===!1?mu(e,"min",t):yu(e,"min")},max:function(t){const e=this.internal;return De(t)||t===!1?mu(e,"max",t):yu(e,"max")},range:function(t){const{axis:e}=this;if(arguments.length){const{min:n,max:a}=t;ke(a)&&e.max(a),ke(n)&&e.min(n)}else return{max:e.max(),min:e.min()}}}},ly={category(t,e){const n=this.internal,{config:a}=n;return arguments.length>1&&(a.axis_x_categories[t]=e,n.redraw()),a.axis_x_categories[t]},categories(t){const e=this.internal,{config:n}=e;if(!t||!Array.isArray(t)){const a=n.axis_x_categories;return qn(a)?Object.values(e.data.xs)[0]:a}return n.axis_x_categories=t,e.redraw(),n.axis_x_categories}},cy={flow(t){const e=this.internal;let n;(t.json||t.rows||t.columns)&&e.convertData(t,i=>{n=i,a()});function a(){let i,s=0,o=0,l,c;if(e.state.redrawing||!n||!Ma())return;const f=[],g=e.getMaxDataCount(),v=e.convertDataToTargets(n,!0),m=e.axis.isTimeSeries();e.data.targets.forEach(N=>{let L=!1;for(let w=0;w<v.length;w++)if(N.id===v[w].id){L=!0,N.values[N.values.length-1]&&(o=N.values[N.values.length-1].index+1),s=v[w].values.length;for(let X=0;X<s;X++)v[w].values[X].index=o+X,m||(v[w].values[X].x=o+X);N.values=N.values.concat(v[w].values),v.splice(w,1);break}!L&&f.push(N.id)}),e.data.targets.forEach(N=>{for(let L=0;L<f.length;L++)if(N.id===f[L]){o=N.values[N.values.length-1].index+1;for(let w=0;w<s;w++)N.values.push({id:N.id,index:o+w,x:m?e.getOtherTargetX(o+w):o+w,value:null})}}),e.data.targets.length&&v.forEach(N=>{const L=[];for(let w=e.data.targets[0].values[0].index;w<o;w++)L.push({id:N.id,index:w,x:m?e.getOtherTargetX(w):w,value:null});N.values.forEach(w=>{w.index+=o,m||(w.x+=o)}),N.values=L.concat(N.values)}),e.data.targets=e.data.targets.concat(v);const S=e.data.targets[0],P=S.values[0];ke(t.to)?(s=0,c=m?zn.call(e,t.to):t.to,S.values.forEach(N=>{N.x<c&&s++})):ke(t.length)&&(s=t.length),g?g===1&&m&&(l=(S.values[S.values.length-1].x-P.x)/2,i=[new Date(+P.x-l),new Date(+P.x+l)]):(m?l=S.values.length>1?S.values[S.values.length-1].x-P.x:P.x-e.getXDomain(e.data.targets)[0]:l=1,i=[P.x-l,P.x]),i&&e.updateXDomain(null,!0,!0,!1,i),e.updateTargets(e.data.targets),e.redraw({flow:{index:P.index,length:s,duration:De(t.duration)?t.duration:e.config.transition_duration,done:t.done,orgDataCount:g},withLegend:!0,withTransition:g>1,withTrimXDomain:!1,withUpdateXAxis:!0})}}};function mo(t,e){const n=this.internal,{config:a}=n,i=a.transition_duration&&Ma(),s=`grid_${e}_lines`;return t&&(a[s]=t,n.updateGrid(),n.redrawGrid(i)),a[s]}function xu(t,e){const n=`grid_${e}_lines`;return mo.bind(this)(this.internal.config[n].concat(t||[]),e)}function Tu(t,e){this.internal.removeGridLines(t,e)}const $u=function(t){return mo.bind(this)(t,"x")};xn($u,{add(t){return xu.bind(this)(t,"x")},remove(t){return Tu.bind(this)(t,!0)}});const Su=function(t){return mo.bind(this)(t,"y")};xn(Su,{add(t){return xu.bind(this)(t,"y")},remove(t){return Tu.bind(this)(t,!1)}});var uy={xgrids:$u,ygrids:Su},fy={groups(t){const e=this.internal,{config:n}=e;return ln(t)||(n.data_groups=t,e.redraw()),n.data_groups}};function Au(t,e=!1){const n=this.internal,{config:a}=n,i=a.transition_duration&&Ma();return t?(a.regions=e?a.regions.concat(t):t,n.updateRegion(),n.redrawRegion(i),e?a.regions:t):a.regions}const Eu=function(t){return Au.bind(this)(t)};xn(Eu,{add:function(t){return Au.bind(this)(t,!0)},remove:function(t){const e=this.internal,{config:n,$T:a}=e,i=t||{},s=$r(i,"classes",[$a.region]);let o=e.$el.main.select(`.${$a.regions}`).selectAll(s.map(l=>`.${l}`));return a(o).style("opacity","0").remove(),o=n.regions,Object.keys(i).length?(o=o.filter(l=>{let c=!1;return l.class?(l.class.split(" ").forEach(f=>{s.indexOf(f)>=0&&(c=!0)}),!c):!0}),n.regions=o):n.regions=[],o}});var dy={regions:Eu},hy={x(t){const e=this.internal,{axis:n,data:a}=e,i=n.isCustomX()&&n.isCategorized();return ze(t)&&(i?this.categories(t):(e.updateTargetX(a.targets,t),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0}))),i?this.categories():a.xs},xs(t){const e=this.internal;return Be(t)&&(e.updateTargetXs(e.data.targets,t),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})),e.data.xs}};function gy(t){return t}var Xi=1,Yi=2,yo=3,Ba=4,bu=1e-6;function vy(t){return"translate("+t+",0)"}function py(t){return"translate(0,"+t+")"}function my(t){return e=>+t(e)}function yy(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function xy(){return!this.__axis}function Hi(t,e){var n=[],a=null,i=null,s=6,o=6,l=3,c=typeof window!="undefined"&&window.devicePixelRatio>1?0:.5,f=t===Xi||t===Ba?-1:1,g=t===Ba||t===Yi?"x":"y",v=t===Xi||t===yo?vy:py;function m(S){var P=a==null?e.ticks?e.ticks.apply(e,n):e.domain():a,N=i==null?e.tickFormat?e.tickFormat.apply(e,n):gy:i,L=Math.max(s,0)+l,w=e.range(),X=+w[0]+c,W=+w[w.length-1]+c,Y=(e.bandwidth?yy:my)(e.copy(),c),Q=S.selection?S.selection():S,K=Q.selectAll(".domain").data([null]),at=Q.selectAll(".tick").data(P,e).order(),ht=at.exit(),St=at.enter().append("g").attr("class","tick"),ct=at.select("line"),lt=at.select("text");K=K.merge(K.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),at=at.merge(St),ct=ct.merge(St.append("line").attr("stroke","currentColor").attr(g+"2",f*s)),lt=lt.merge(St.append("text").attr("fill","currentColor").attr(g,f*L).attr("dy",t===Xi?"0em":t===yo?"0.71em":"0.32em")),S!==Q&&(K=K.transition(S),at=at.transition(S),ct=ct.transition(S),lt=lt.transition(S),ht=ht.transition(S).attr("opacity",bu).attr("transform",function(Gt){return isFinite(Gt=Y(Gt))?v(Gt+c):this.getAttribute("transform")}),St.attr("opacity",bu).attr("transform",function(Gt){var vt=this.parentNode.__axis;return v((vt&&isFinite(vt=vt(Gt))?vt:Y(Gt))+c)})),ht.remove(),K.attr("d",t===Ba||t===Yi?o?"M"+f*o+","+X+"H"+c+"V"+W+"H"+f*o:"M"+c+","+X+"V"+W:o?"M"+X+","+f*o+"V"+c+"H"+W+"V"+f*o:"M"+X+","+c+"H"+W),at.attr("opacity",1).attr("transform",function(Gt){return v(Y(Gt)+c)}),ct.attr(g+"2",f*s),lt.attr(g,f*L).text(N),Q.filter(xy).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Yi?"start":t===Ba?"end":"middle"),Q.each(function(){this.__axis=Y})}return m.scale=function(S){return arguments.length?(e=S,m):e},m.ticks=function(){return n=Array.from(arguments),m},m.tickArguments=function(S){return arguments.length?(n=S==null?[]:Array.from(S),m):n.slice()},m.tickValues=function(S){return arguments.length?(a=S==null?null:Array.from(S),m):a&&a.slice()},m.tickFormat=function(S){return arguments.length?(i=S,m):i},m.tickSize=function(S){return arguments.length?(s=o=+S,m):s},m.tickSizeInner=function(S){return arguments.length?(s=+S,m):s},m.tickSizeOuter=function(S){return arguments.length?(o=+S,m):o},m.tickPadding=function(S){return arguments.length?(l=+S,m):l},m.offset=function(S){return arguments.length?(c=+S,m):c},m}function Ty(t){return Hi(Xi,t)}function $y(t){return Hi(Yi,t)}function Ru(t){return Hi(yo,t)}function Iu(t){return Hi(Ba,t)}var Sy=Object.defineProperty,Ay=(t,e,n)=>e in t?Sy(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,xo=(t,e,n)=>Ay(t,typeof e!="symbol"?e+"":e,n);class Ou{constructor(e){xo(this,"owner"),xo(this,"config"),xo(this,"scale");const n=zr(),{config:a,params:i}=e;this.owner=e,this.config=a,this.scale=n,(a.noTransition||!i.config.transition_duration)&&(a.withoutTransition=!0),a.range=this.scaleExtent((i.orgXScale||n).range())}static getSizeFor1Char(e,n=!0){const a={w:5.5,h:11.5};return!e.empty()&&e.text("0").call(i=>{try{const{width:s,height:o}=i.node().getBBox();s&&o&&(a.w=s,a.h=o)}finally{i.text("")}}),n&&(this.getSizeFor1Char=()=>a),a}getTickTransformSetter(e){const{config:n}=this,a=e==="x"?i=>`translate(${i+n.tickOffset},0)`:i=>`translate(0,${i})`;return(i,s)=>{i.attr("transform",o=>{const l=s(o);return De(o)?a(l):null})}}scaleExtent(e){const n=e[0],a=e[e.length-1];return n<a?[n,a]:[a,n]}generateTicks(e,n){const{tickStepSize:a}=this.owner.params,[i,s]=e.domain();let o=[];if(n&&a){let l=Math.round(i);for(;l<=s;)o.push(l),l+=a}else if(e.ticks){const{tickArguments:l}=this.config;if(e.type==="log"&&!l){const c=zr("_log").domain([i>0?i:1,s]).range(e.range());o=c.ticks();for(let f=s.toFixed().length;o.length>15;f--)o=c.ticks(f);o.splice(0,1,i),o.splice(o.length-1,1,s)}else o=e.ticks(...this.config.tickArguments||[]);o=o.map(c=>Xe(c)&&he(c)&&!isNaN(c)&&Math.round(c*10)/10||c)}return o}copyScale(){const e=this.scale.copy();return e.domain().length||e.domain(this.scale.domain()),e.type=this.scale.type,e}textFormatted(e){const n=this.config.tickFormat,a=/\d+\.\d+0{5,}\d$/.test(e)?+String(e).replace(/0+\d$/,""):e,i=n?n(a):a;return ke(i)?i:""}transitionise(e){const{config:n}=this;let a=e;if(n.withoutTransition)a=e.interrupt();else if(n.transition||!this.owner.params.noTransition)try{a=e.transition(n.transition)}catch(i){}return a}}var Ey=Object.defineProperty,by=(t,e,n)=>e in t?Ey(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ua=(t,e,n)=>by(t,typeof e!="symbol"?e+"":e,n);class Ry{constructor(e={}){Ua(this,"helper"),Ua(this,"config"),Ua(this,"params"),Ua(this,"g"),Ua(this,"generatedTicks");const n={innerTickSize:6,outerTickSize:e.outerTick?6:0,orient:"bottom",range:[],tickArguments:null,tickCentered:null,tickCulling:!0,tickFormat:null,tickLength:9,tickOffset:0,tickPadding:3,tickValues:null,transition:null,noTransition:e.noTransition};n.tickLength=Math.max(n.innerTickSize,0)+n.tickPadding,this.config=n,this.params=e,this.helper=new Ou(this)}create(e){const n=this,{config:a,helper:i,params:s}=n,{scale:o}=i,{orient:l}=a,c=this.splitTickText.bind(n),f=/^(left|right)$/.test(l),g=/^(top|bottom)$/.test(l),v=i.getTickTransformSetter(g?"x":"y"),m=v===i.axisX?"y":"x",S=/^(top|left)$/.test(l)?-1:1,P=s.tickTextRotate;this.config.range=o.rangeExtent?o.rangeExtent():i.scaleExtent((s.orgXScale||o).range());const{innerTickSize:N,tickLength:L,range:w}=a,X=s.id,W=X&&/^(x|y|y2)$/.test(X)?s.config[`axis_${X}_tick_text_position`]:{x:0,y:0},Y=X==="subX"?"subchart_axis_x":`axis_${X}`,Q=s.config[`${Y}_show`],K={tick:Q?s.config[`${Y}_tick_show`]:!1,text:Q?s.config[`${Y}_tick_text_show`]:!1},at=s.config.axis_evalTextSize;let ht;e.each(function(){const St=st(this);let ct=this.__chart__||o,lt=i.copyScale();ht=St,this.__chart__=lt,a.tickOffset=s.isCategory?(lt(1)-lt(0))/2:0;const Gt=St.selectAll(".domain").data([0]);if(Gt.enter().append("path").attr("class","domain").merge(Gt).attr("d",()=>{const vt=a.outerTickSize*S;return g?`M${w[0]},${vt}V0H${w[1]}V${vt}`:`M${vt},${w[0]}H0V${w[1]}H${vt}`}),K.tick||K.text){const vt=a.tickValues||i.generateTicks(lt,f);n.generatedTicks=vt;let Z=St.selectAll(".tick").data(vt,lt);const $t=Z.enter().insert("g",".domain").attr("class","tick"),ut=Z.exit().remove();Z=$t.merge(Z),K.tick&&$t.append("line"),K.text&&$t.append("text");const At=Z.select("text"),Vt=ve(at)?at.bind(n.params.owner.api)(At.node()):Ou.getSizeFor1Char(At,at),Bt=[];let Kt=At.selectAll("tspan").data((be,Oe)=>{const Ce=s.tickMultiline?c(be,lt,vt,f,Vt.w):ze(i.textFormatted(be))?i.textFormatted(be).concat():[i.textFormatted(be)];return Bt[Oe]=Ce.length,Ce.map(Ye=>({index:Oe,splitted:Ye}))});Kt.exit().remove(),Kt=Kt.enter().append("tspan").merge(Kt).text(be=>be.splitted),Kt.attr("x",g?0:L*S).attr("dx",(()=>{let be=0;return/(top|bottom)/.test(l)&&P&&(be=8*Math.sin(Math.PI*(P/180))*(l==="top"?-1:1)),be+(W.x||0)})()).attr("dy",(be,Oe)=>{const Ce=".71em";let Ye=0;return l!=="top"&&(Ye=Vt.h,Oe===0&&(Ye=f?-((Bt[be.index]-1)*(Vt.h/2)-3):W.y===0?Ce:0)),he(Ye)&&W.y?Ye+W.y:Ye||Ce});const ne=Z.select("line"),le=Z.select("text");if($t.select("line").attr(`${m}2`,N*S),$t.select("text").attr(m,L*S),n.setTickLineTextPosition(ne,le),s.tickTitle){const be=le.select("title");(be.empty()?le.append("title"):be).text(Oe=>s.tickTitle[Oe])}if(lt.bandwidth){const be=lt,Oe=be.bandwidth()/2;ct=Ce=>be(Ce)+Oe,lt=ct}else ct.bandwidth?ct=lt:v(ut,lt);Z=s.owner.state.flowing?i.transitionise(Z):s.owner.$T(Z),v($t,ct),v(Z.style("opacity",null),lt)}}),this.g=ht}getGeneratedTicks(e){var n;const a=((n=this.generatedTicks)==null?void 0:n.length)-1;let i=this.generatedTicks;if(a>e){const s=Math.round(a/e+.1);i=this.generatedTicks.map((o,l)=>l%s===0?o:null).filter(o=>o!==null).splice(0,e)}return i}getTickXY(){const{config:e}=this,n={x:0,y:0};return this.params.isCategory&&(n.x=e.tickCentered?0:e.tickOffset,n.y=e.tickCentered?e.tickOffset:0),n}getTickSize(e){const{scale:n}=this.helper,{config:a}=this,{innerTickSize:i,range:s}=a,o=n(e)+(a.tickCentered?0:a.tickOffset);return s[0]<o&&o<s[1]?i:0}setTickLineTextPosition(e,n){const a=this.getTickXY(),{innerTickSize:i,orient:s,tickLength:o,tickOffset:l}=this.config,c=this.params.tickTextRotate,f=P=>{const N=["start","end"];return s==="top"&&N.reverse(),P?N[P>0?0:1]:"middle"},g=P=>P?`rotate(${P})`:null,v=P=>{const N=P/(s==="bottom"?15:23);return P?11.5-2.5*N*(P>0?1:-1):o},{config:{axis_rotated:m,axis_x_tick_text_inner:S}}=this.params.owner;switch(s){case"bottom":e.attr("x1",a.x).attr("x2",a.x).attr("y2",this.getTickSize.bind(this)),n.attr("x",0).attr("y",v(c)).style("text-anchor",f(c)).style("text-anchor",(P,N,{length:L})=>!m&&N===0&&(S===!0||S.first)?"start":!m&&N===L-1&&(S===!0||S.last)?"end":f(c)).attr("transform",g(c));break;case"top":e.attr("x2",0).attr("y2",-i),n.attr("x",0).attr("y",-v(c)*2).style("text-anchor",f(c)).attr("transform",g(c));break;case"left":e.attr("x2",-i).attr("y1",a.y).attr("y2",a.y),n.attr("x",-o).attr("y",l).style("text-anchor","end");break;case"right":e.attr("x2",i).attr("y2",0),n.attr("x",o).attr("y",0).style("text-anchor","start")}}splitTickText(e,n,a,i,s){const{params:o}=this,l=this.helper.textFormatted(e),c=Xe(l)&&l.indexOf(` +`)>-1?l.split(` +`):[];if(c.length)return c;if(ze(l))return l;let f=o.tickWidth;(!f||f<=0)&&(f=i?95:o.isCategory?(o.isInverted?n(a[0])-n(a[1]):n(a[1])-n(a[0]))-12:110);function g(v,m){let S,P,N;for(let L=1;L<m.length;L++)if(m.charAt(L)===" "&&(P=L),S=m.substr(0,L+1),N=s*S.length,f<N)return g(v.concat(m.substr(0,P||L)),m.slice(P?P+1:L));return v.concat(m)}return g(c,String(l))}scale(e){return arguments.length?(this.helper.scale=e,this):this.helper.scale}orient(e){return arguments.length?(this.config.orient=e in{top:1,right:1,bottom:1,left:1}?String(e):"bottom",this):this.config.orient}tickFormat(e){const{config:n}=this;return arguments.length?(n.tickFormat=e,this):n.tickFormat}tickCentered(e){const{config:n}=this;return arguments.length?(n.tickCentered=e,this):n.tickCentered}tickOffset(){return this.config.tickOffset}tickInterval(e){var n;const{outerTickSize:a,tickOffset:i,tickValues:s}=this.config;let o;if(this.params.isCategory)o=i*2;else{const l=(n=this.params.owner.scale.zoom)!=null?n:this.helper.scale;o=(this.g.select("path.domain").node().getTotalLength()-a*2)/(e||this.g.selectAll("line").size());const f=s?s.map((g,v,m)=>{const S=v+1;return S<m.length?l(m[S])-l(g):null}).filter(Boolean):[];o=Math.min(...f,o)}return o===1/0?0:o}ticks(...e){const{config:n}=this;return e.length?(n.tickArguments=Lr(e),this):n.tickArguments}tickCulling(e){const{config:n}=this;return arguments.length?(n.tickCulling=e,this):n.tickCulling}tickValues(e){const{config:n}=this;if(ve(e))n.tickValues=()=>e(this.helper.scale.domain());else{if(!arguments.length)return n.tickValues;n.tickValues=e}return this}setTransition(e){return this.config.transition=e,this}}var Iy=Object.defineProperty,Oy=(t,e,n)=>e in t?Iy(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,pr=(t,e,n)=>Oy(t,typeof e!="symbol"?e+"":e,n),Cy={getAxisInstance:function(){return this.axis||new Py(this)}};class Py{constructor(e){pr(this,"owner"),pr(this,"x"),pr(this,"subX"),pr(this,"y"),pr(this,"y2"),pr(this,"axesList",{}),pr(this,"tick",{x:null,y:null,y2:null}),pr(this,"xs",[]),pr(this,"orient",{x:"bottom",y:"left",y2:"right",subX:"bottom"}),this.owner=e,this.setOrient()}getAxisClassName(e){return`${dn.axis} ${dn[`axis${Dn(e)}`]}`}isHorizontal(e,n){const a=e.config.axis_rotated;return n?a:!a}isCategorized(){const{config:e,state:n}=this.owner;return e.axis_x_type.indexOf("category")>=0||n.hasRadar}isCustomX(){const{config:e}=this.owner;return!this.isTimeSeries()&&(e.data_x||cn(e.data_xs))}isTimeSeries(e="x"){return this.owner.config[`axis_${e}_type`]==="timeseries"}isLog(e="x"){return this.owner.config[`axis_${e}_type`]==="log"}isTimeSeriesY(){return this.isTimeSeries("y")}getAxisType(e="x"){let n="linear";return this.isTimeSeries(e)?n=this.owner.config.axis_x_localtime?"time":"utc":this.isLog(e)&&(n="log"),n}getExtent(){const e=this.owner,{config:n,scale:a}=e;let i=n.axis_x_extent;if(i){if(ve(i))i=i.bind(e.api)(e.getXDomain(e.data.targets),a.subX);else if(this.isTimeSeries()&&i.every(isNaN)){const s=zn.bind(e);i=i.map(o=>a.subX(s(o)))}}return i}init(){const e=this.owner,{config:n,$el:{main:a,axis:i},state:{clip:s}}=e,o=n.axis_rotated,l=["x","y"];n.axis_y2_show&&l.push("y2"),l.forEach(c=>{const f=this.getAxisClassName(c),g=dn[`axis${c.toUpperCase()}Label`];i[c]=a.append("g").attr("class",f).attr("clip-path",()=>{let v=null;return c==="x"?v=s.pathXAxis:c==="y"&&(v=s.pathYAxis),v}).attr("transform",e.getTranslate(c)).style("visibility",n[`axis_${c}_show`]?null:"hidden"),i[c].append("text").attr("class",g).attr("transform",["rotate(-90)",null][c==="x"?+!o:+o]).style("text-anchor",()=>this.textAnchorForAxisLabel(c)),this.generateAxes(c)}),n.axis_tooltip&&this.setAxisTooltip()}setOrient(){const e=this.owner,{axis_rotated:n,axis_y_inner:a,axis_y2_inner:i}=e.config;this.orient={x:n?"left":"bottom",y:n?a?"top":"bottom":a?"right":"left",y2:n?i?"bottom":"top":i?"left":"right",subX:n?"left":"bottom"}}generateAxes(e){const n=this.owner,{config:a}=n,i=[],s=a[`axis_${e}_axes`],o=a.axis_rotated;let l;e==="x"?l=o?Iu:Ru:e==="y"?l=o?Ru:Iu:e==="y2"&&(l=o?Ty:$y),s.length&&s.forEach(c=>{const f=c.tick||{},g=n.scale[e].copy();c.domain&&g.domain(c.domain),i.push(l(g).ticks(f.count).tickFormat(ve(f.format)?f.format.bind(n.api):v=>v).tickValues(f.values).tickSizeOuter(f.outer===!1?0:6))}),this.axesList[e]=i}updateAxes(){const e=this.owner,{config:n,$el:{main:a},$T:i}=e;Object.keys(this.axesList).forEach(s=>{const o=n[`axis_${s}_axes`],l=e.scale[s].copy(),c=l.range();this.axesList[s].forEach((f,g)=>{const v=f.scale().range();c.every((P,N)=>P===v[N])||f.scale().range(c);const m=`${this.getAxisClassName(s)}-${g+1}`;let S=a.select(`.${m.replace(/\s/,".")}`);S.empty()?S=a.append("g").attr("class",m).style("visibility",n[`axis_${s}_show`]?null:"hidden").call(f):(o[g].domain&&l.domain(o[g].domain),i(S).call(f.scale(l))),S.attr("transform",e.getTranslate(s,g+1))})})}setAxis(e,n,a,i){const s=this.owner;e!=="subX"&&(this.tick[e]=this.getTickValues(e)),this[e]=this.getAxis(e,n,a,e==="x"&&(s.scale.zoom||s.config.subchart_show||s.state.resizing)?!0:i)}getAxis(e,n,a,i,s){const o=this.owner,{config:l}=o,c=/^(x|subX)$/.test(e),f=c?"x":e,g=c&&this.isCategorized(),v=this.orient[e],m=s?0:o.getAxisTickRotate(f);let S;if(c)S=e==="subX"?o.format.subXAxisTick:o.format.xAxisTick;else{const X=l[`axis_${e}_tick_format`];ve(X)&&(S=X.bind(o.api))}let P=this.tick[f];const N=ea({outerTick:a,noTransition:i,config:l,id:e,tickTextRotate:m,owner:o},c&&{isCategory:g,isInverted:l.axis_x_inverted,tickMultiline:l.axis_x_tick_multiline,tickWidth:l.axis_x_tick_width,tickTitle:g&&l.axis_x_tick_tooltip&&o.api.categories(),orgXScale:o.scale.x});c||(N.tickStepSize=l[`axis_${f}_tick_stepSize`]);const L=new Ry(N).scale(c&&o.scale.zoom||n).orient(v);if(c&&this.isTimeSeries()&&P&&!ve(P)){const X=zn.bind(o);P=P.map(W=>X(W))}else!c&&this.isTimeSeriesY()&&(L.ticks(l.axis_y_tick_time_value),P=null);P&&L.tickValues(P),L.tickFormat(S||!c&&o.isStackNormalized()&&(X=>`${X}%`)),g&&(L.tickCentered(l.axis_x_tick_centered),qn(l.axis_x_tick_culling)&&(l.axis_x_tick_culling=!1));const w=l[`axis_${f}_tick_count`];return w&&L.ticks(w),L}updateXAxisTickValues(e,n){var a;const i=this.owner,{config:s}=i,o=s.axis_x_tick_fit;let l=s.axis_x_tick_count,c;return(o||l&&o)&&(c=i.mapTargetsToUniqueXs(e),this.isCategorized()&&l>c.length&&(l=c.length),c=this.generateTickValues(c,l,this.isTimeSeries())),n?n.tickValues(c):this.x&&(this.x.tickValues(c),(a=this.subX)==null||a.tickValues(c)),c}getId(e){const{config:n,scale:a}=this.owner;let i=n.data_axes[e];return(!i||!a[i])&&(i="y"),i}getXAxisTickFormat(e){const n=this.owner,{config:a,format:i}=n,s=e&&a.subchart_axis_x_tick_format||a.axis_x_tick_format,o=this.isTimeSeries(),l=this.isCategorized();let c;return s?ve(s)?c=s.bind(n.api):o&&(c=f=>f?i.axisTime(s)(f):""):c=o?i.defaultAxisTime:l?n.categoryName:f=>f<0?f.toFixed(0):f,ve(c)?f=>c.apply(n,l?[f,n.categoryName(f)]:[f]):c}getTickValues(e){const n=this.owner,a=n.config[`axis_${e}_tick_values`],i=n[`${e}Axis`];return(ve(a)?a.call(n.api):a)||(i?i.tickValues():void 0)}getLabelOptionByAxisId(e){return this.owner.config[`axis_${e}_label`]}getLabelText(e){const n=this.getLabelOptionByAxisId(e);return Xe(n)?n:n?n.text:null}setLabelText(e,n){const a=this.owner,{config:i}=a,s=this.getLabelOptionByAxisId(e);Xe(s)?i[`axis_${e}_label`]=n:s&&(s.text=n)}getLabelPosition(e,n){const a=this.owner.config.axis_rotated,i=this.getLabelOptionByAxisId(e),s=nr(i)&&i.position?i.position:n[+!a],o=l=>!!~s.indexOf(l);return{isInner:o("inner"),isOuter:o("outer"),isLeft:o("left"),isCenter:o("center"),isRight:o("right"),isTop:o("top"),isMiddle:o("middle"),isBottom:o("bottom")}}getAxisLabelPosition(e){return this.getLabelPosition(e,e==="x"?["inner-top","inner-right"]:["inner-right","inner-top"])}getLabelPositionById(e){return this.getAxisLabelPosition(e)}xForAxisLabel(e){const n=this.owner,{state:{width:a,height:i}}=n,s=this.getAxisLabelPosition(e);let o=s.isMiddle?-i/2:0;return this.isHorizontal(n,e!=="x")?o=s.isLeft?0:s.isCenter?a/2:a:s.isBottom&&(o=-i),o}dxForAxisLabel(e){const n=this.owner,a=this.getAxisLabelPosition(e);let i=a.isBottom?"0.5em":"0";return this.isHorizontal(n,e!=="x")?i=a.isLeft?"0.5em":a.isRight?"-0.5em":"0":a.isTop&&(i="-0.5em"),i}textAnchorForAxisLabel(e){const n=this.owner,a=this.getAxisLabelPosition(e);let i=a.isMiddle?"middle":"end";return this.isHorizontal(n,e!=="x")?i=a.isLeft?"start":a.isCenter?"middle":"end":a.isBottom&&(i="start"),i}dyForAxisLabel(e){const n=this.owner,{config:a}=n,i=a.axis_rotated,s=this.getAxisLabelPosition(e).isInner,o=a[`axis_${e}_tick_rotate`]?n.getHorizontalAxisHeight(e):0,{width:l}=this.getMaxTickSize(e);let c;if(e==="x"){const f=a.axis_x_height;i?c=s?"1.2em":-25-l:s?c="-0.5em":f?c=f-10:o?c=o-10:c="3em"}else c={y:["-0.5em",10,"3em","1.2em",10],y2:["1.2em",-20,"-2.2em","-0.5em",15]}[e],i?s?c=c[0]:o?c=o*(e==="y2"?-1:1)-c[1]:c=c[2]:c=s?c[3]:(c[4]+(a[`axis_${e}_inner`]?0:l+c[4]))*(e==="y"?-1:1);return c}getMaxTickSize(e,n){const a=this.owner,{config:i,state:{current:s},$el:{svg:o,chart:l}}=a,c=s.maxTickSize[e],f=`axis_${e}`,g={width:0,height:0};if(n||!i[`${f}_show`]||c.width>0&&a.filterTargetsToShow().length===0)return c;if(o){const v=/^y2?$/.test(e),m=a.filterTargetsToShow(a.data.targets),S=a.scale[e].copy().domain(a[`get${v?"Y":"X"}Domain`](m,e)),P=S.domain(),N=P[0]===P[1]&&P.every(K=>K>0),L=ze(c.domain)&&c.domain[0]===c.domain[1]&&c.domain.every(K=>K>0);if(N||L)return c.size;c.domain=P,v||c.ticks.splice(0);const w=this.getAxis(e,S,!1,!1,!0),X=i[`${f}_tick_rotate`],W=i[`${f}_tick_count`];!i[`${f}_tick_values`]&&W&&w.tickValues(this.generateTickValues(P,W,v?this.isTimeSeriesY():this.isTimeSeries())),!v&&this.updateXAxisTickValues(m,w);const Q=l.append("svg").style("visibility","hidden").style("position","fixed").style("top","0").style("left","0");w.create(Q),Q.selectAll("text").attr("transform",he(X)?`rotate(${X})`:null).each(function(K,at){const{width:ht,height:St}=this.getBoundingClientRect();g.width=Math.max(g.width,ht),g.height=Math.max(g.height,St),v||(c.ticks[at]=ht)}),Q.remove()}return Object.keys(g).forEach(v=>{g[v]>0&&(c[v]=g[v])}),c}getXAxisTickTextY2Overflow(e){const n=this.owner,{axis:a,config:i,state:{current:s,isLegendRight:o,legendItemWidth:l}}=n,c=n.getAxisTickRotate("x"),f=c>0&&c<90;if((a.isCategorized()||a.isTimeSeries())&&i.axis_x_tick_fit&&(!i.axis_x_tick_culling||qn(i.axis_x_tick_culling))&&!i.axis_x_tick_multiline&&f){const g=i.axis_y2_show&&s.maxTickSize.y2.width||0,v=o&&l||0,m=s.width-n.getCurrentPaddingByDirection("left"),S=this.getXAxisTickMaxOverflow(c,m-e)-g-v,P=Math.max(0,S)+e;return Math.min(P,m/2)}return 0}getXAxisTickMaxOverflow(e,n){const a=this.owner,{axis:i,config:s,state:o}=a,l=i.isTimeSeries(),c=o.current.maxTickSize.x.ticks,f=c.length,{left:g,right:v}=o.axis.x.padding;let m=0;const S=f-(l&&s.axis_x_tick_fit?.5:0);for(let L=0;L<f;L++){const w=L+1,X=Math.cos(Math.PI*e/180)*c[L],W=w-(l?1:.5)+g;if(W<=0)continue;const Q=(n-X)/W,K=S-w,at=v*Q,ht=K*Q+at,St=X-Q/2-ht;m=Math.max(m,St)}const P=a.filterTargetsToShow(a.data.targets);let N=0;if(!l&&s.axis_x_tick_count<=P.length&&P[0].values.length){const L=zr(a.axis.getAxisType("x"),0,n-m).domain([g*-1,a.getXDomainMax(a.data.targets)+1+v]);N=(L(1)-L(0))/2}return m+N}updateLabels(e){const n=this.owner,{$el:{main:a},$T:i}=n,s={x:a.select(`.${dn.axisX} .${dn.axisXLabel}`),y:a.select(`.${dn.axisY} .${dn.axisYLabel}`),y2:a.select(`.${dn.axisY2} .${dn.axisY2Label}`)};Object.keys(s).filter(o=>!s[o].empty()).forEach(o=>{const l=s[o];i(l,e).attr("x",()=>this.xForAxisLabel(o)).attr("dx",()=>this.dxForAxisLabel(o)).attr("dy",()=>this.dyForAxisLabel(o)).text(()=>this.getLabelText(o))})}getPadding(e,n,a,i){const s=he(e)?e:e[n];return De(s)?this.owner.convertPixelToScale(/(bottom|top)/.test(n)?"y":"x",s,i):a}generateTickValues(e,n,a){let i=e;if(n){const s=ve(n)?n():n;if(s===1)i=[e[0]];else if(s===2)i=[e[0],e[e.length-1]];else if(s>2){const o=this.isCategorized(),l=s-2,c=e[0],f=e[e.length-1],g=(f-c)/(l+1);let v;i=[c];for(let m=0;m<l;m++)v=+c+g*(m+1),i.push(a?new Date(v):o?Math.round(v):v);i.push(f)}}return a||(i=i.sort((s,o)=>s-o)),i}generateTransitions(e){const n=this.owner,{$el:{axis:a},$T:i}=n,[s,o,l,c]=["x","y","y2","subX"].map(f=>i(a[f],e));return{axisX:s,axisY:o,axisY2:l,axisSubX:c}}redraw(e,n,a){const i=this.owner,{config:s,$el:o}=i,l=n?"0":null;["x","y","y2","subX"].forEach(c=>{const f=this[c],g=o.axis[c];f&&g&&(!a&&!s.transition_duration&&(f.config.withoutTransition=!0),g.style("opacity",l),f.create(e[`axis${Dn(c)}`]))}),this.updateAxes()}redrawAxis(e,n,a,i,s){var o,l,c;const f=this.owner,{config:g,scale:v,$el:m}=f,S=!!v.zoom;let P;!S&&this.isCategorized()&&e.length===0&&v.x.domain([0,m.axis.x.selectAll(".tick").size()]),v.x&&e.length?(!S&&f.updateXDomain(e,n.UpdateXDomain,n.UpdateOrgXDomain,n.TrimXDomain),g.axis_x_tick_values||this.updateXAxisTickValues(e)):this.x&&(this.x.tickValues([]),(o=this.subX)==null||o.tickValues([])),g.zoom_rescale&&!i&&(P=v.x.orgDomain()),["y","y2"].forEach(N=>{const L=`axis_${N}_`,w=v[N];if(w){const X=g[`${L}tick_values`],W=g[`${L}tick_count`];if(w.domain(f.getYDomain(e,N,P)),!X&&W){const Y=f.axis[N],Q=w.domain();Y.tickValues(this.generateTickValues(Q,Q.every(K=>K===0)?1:W,this.isTimeSeriesY()))}}}),this.redraw(a,f.hasArcType(),s),this.updateLabels(n.Transition),(n.UpdateXDomain||n.UpdateXAxis||n.Y)&&e.length&&this.setCulling(),n.Y&&((l=v.subY)==null||l.domain(f.getYDomain(e,"y")),(c=v.subY2)==null||c.domain(f.getYDomain(e,"y2")))}setCulling(){const e=this.owner,{config:n,state:{clip:a,current:i},$el:s}=e;["subX","x","y","y2"].forEach(o=>{const l=s.axis[o],f=`axis_${o==="subX"?"x":o}_tick_culling`,g=n[f];if(l&&g){const v=l.selectAll(".tick"),m=na(v.data()),S=m.length,P=n[`${f}_max`],N=n[`${f}_lines`];let L;if(S){for(let w=1;w<S;w++)if(S/w<P){L=w;break}v.each(function(w){const X=N?this.querySelector("text"):this;X&&(X.style.display=m.indexOf(w)%L?"none":null)})}else v.style("display",null);if(o==="x"){const w=i.maxTickSize.x.clipPath?a.pathXAxisTickTexts:null;s.svg.selectAll(`.${dn.axisX} .tick text`).attr("clip-path",w)}}})}setAxisTooltip(){var e;const n=this.owner,{config:{axis_rotated:a,axis_tooltip:i},$el:{axis:s,axisTooltip:o}}=n,l=(e=i.backgroundColor)!=null?e:"black";n.generateTextBGColorFilter(l,{x:-.15,y:-.2,width:1.3,height:1.3}),["x","y","y2"].forEach(c=>{var f,g,v;if(o[c]=(f=s[c])==null?void 0:f.append("text").classed(dn[`axis${c.toUpperCase()}Tooltip`],!0).attr("filter",n.updateTextBGColor({id:c},l)),a){const m=c==="x"?"x":"y",S=c==="y"?"1.15em":c==="x"?"-0.3em":"-0.4em";(g=o[c])==null||g.attr(m,S).attr(`d${c==="x"?"y":"x"}`,c==="x"?"0.4em":"-1.3em").style("text-anchor",c==="x"?"end":null)}else{const m=c==="x"?"y":"x",S=c==="x"?"1.15em":`${c==="y"?"-":""}0.4em`;(v=o[c])==null||v.attr(m,S).attr(`d${c==="x"?"x":"y"}`,c==="x"?"-1em":"0.3em").style("text-anchor",c==="y"?"end":null)}})}}var wy={initEventRect(){this.$el.main.select(`.${Se.chart}`).append("g").attr("class",Zn.eventRects).style("fill-opacity","0")},redrawEventRect(){var t;const e=this,{config:n,state:a,$el:i}=e,s=e.isMultipleX(),o=n.axis_x_inverted;if(i.eventRect)e.updateEventRect(i.eventRect,!0);else if(e.data.targets.length){const c=e.$el.main.select(`.${Zn.eventRects}`).style("cursor",n.zoom_enabled&&n.zoom_type!=="drag"?n.axis_rotated?"ns-resize":"ew-resize":null).classed(Zn.eventRectsMultiple,s).classed(Zn.eventRectsSingle,!s).selectAll(`.${Zn.eventRect}`).data([0]).enter().append("rect");e.updateEventRect(c),e.updateEventType(c),c.call(e.getDraggableSelection()),i.eventRect=c,e.state.inputType==="touch"&&!i.svg.on("touchstart.eventRect")&&!e.hasArcType()&&e.bindTouchOnEventRect(),a.rendered&&e.updateEventRect(i.eventRect,!0)}if(!s){const l=e.getMaxDataCountTarget();(!n.data_xSort||o)&&l.sort((c,f)=>o?f.x-c.x:c.x-f.x),e.updateDataIndexByX(l),e.updateXs(l),(t=e.updatePointClass)==null||t.call(e,!0),a.eventReceiver.data=l}e.updateEventRectData()},bindTouchOnEventRect(){const t=this,{config:e,state:n,$el:{eventRect:a,svg:i}}=t,s=m=>{if(t.isMultipleX())t.selectRectForMultipleXs(m);else{const S=t.getDataIndexFromEvent(n.event);t.callOverOutForTouch(S),S===-1?t.unselectRect():t.selectRectForSingle(m,S)}},o=()=>{t.unselectRect(),t.callOverOutForTouch()},l=e.interaction_inputType_touch.preventDefault,c=Os(l)&&l||!1,f=!isNaN(l)&&l||null;let g;const v=m=>{const S=m.type,N=m.changedTouches[0][`client${e.axis_rotated?"Y":"X"}`];S==="touchstart"?c?m.preventDefault():f!==null&&(g=N):S==="touchmove"&&(c||g===!0||f!==null&&Math.abs(g-N)>=f)&&(g=!0,m.preventDefault())};a.on("touchstart",m=>{n.event=m,t.updateEventRect()}).on("touchstart.eventRect touchmove.eventRect",m=>{if(n.event=m,!a.empty()&&a.classed(Zn.eventRect)){if(n.dragging||n.flowing||t.hasArcType()||m.touches.length>1)return;v(m),s(a.node())}else o()},!0).on("touchend.eventRect",m=>{n.event=m,!a.empty()&&a.classed(Zn.eventRect)&&(t.hasArcType()||!t.toggleShape||n.cancelClick)&&n.cancelClick&&(n.cancelClick=!1)},!0),i.on("touchstart",m=>{n.event=m;const{target:S}=m;S&&S!==a.node()&&o()})},updateEventRect(t,e=!1){const n=this,{state:a,$el:i}=n,{eventReceiver:s,width:o,height:l,rendered:c,resizing:f}=a,g=t||i.eventRect,v=()=>{if(s){const m=Zl(i.chart.node());s.rect=g.node().getBoundingClientRect().toJSON(),s.rect.top+=m.y,s.rect.left+=m.x}};(!c||f||e)&&(g.attr("x",0).attr("y",0).attr("width",o).attr("height",l),(!c||e)&&g.classed(Zn.eventRect,!0)),v()},updateEventType(t){const e=this,n=Os(t),a=n?e.$el.eventRect:t,i=n?t!==(a==null?void 0:a.datum().multipleX):!1;a&&(i&&(a==null||a.on("mouseover mousemove mouseout click",null)),e.isMultipleX()?e.generateEventRectsForMultipleXs(a):e.generateEventRectsForSingleX(a))},updateEventRectData(){const t=this,{config:e,scale:n,state:a}=t,i=n.zoom||n.x,s=e.axis_rotated,o=t.isMultipleX();let l,c,f,g;if(t.updateEventType(o),o)l=0,c=0,f=a.width,g=a.height;else{let S,P;if(t.axis.isCategorized())S=t.getEventRectWidth(),P=N=>i(N.x)-S/2;else{const N=({index:L})=>({prev:t.getPrevX(L),next:t.getNextX(L)});S=L=>{const w=N(L),X=i.domain();let W;return w.prev===null&&w.next===null?W=s?a.height:a.width:w.prev===null?W=(i(w.next)+i(L.x))/2:w.next===null?W=i(X[1])-(i(w.prev)+i(L.x))/2:(Object.keys(w).forEach((Y,Q)=>{var K;w[Y]=(K=w[Y])!=null?K:X[Q]}),W=Math.max(0,(i(w.next)-i(w.prev))/2)),W},P=L=>{const w=N(L);let X;return w.prev===null&&w.next===null?X=0:w.prev===null?X=i(i.domain()[0]):X=(i(L.x)+i(w.prev))/2,X}}l=s?0:P,c=s?P:0,f=s?a.width:S,g=s?S:a.height}const{eventReceiver:v}=a,m=(S,P)=>ve(S)?S(P):S;v.coords.splice(v.data.length),v.data.forEach((S,P)=>{v.coords[P]={x:m(l,S),y:m(c,S),w:m(f,S),h:m(g,S)}})},selectRectForSingle(t,e){var n,a;const i=this,{config:s,$el:{main:o,circle:l}}=i,c=s.data_selection_enabled,f=s.data_selection_grouped,g=s.data_selection_isselectable,v=s.tooltip_grouped,m=i.getAllValuesOnIndex(e);if(v&&(i.showTooltip(m,t),(n=i.showGridFocus)==null||n.call(i,m),!c||f))return;!l&&o.selectAll(`.${Se.EXPANDED}:not(.${on.shape}-${e})`).classed(Se.EXPANDED,!1);const S=o.selectAll(`.${on.shape}-${e}`).classed(Se.EXPANDED,!0).style("cursor",g?"pointer":null).filter(function(P){return i.isWithinShape(this,P)});S.empty()&&!v&&s.interaction_onout&&((a=i.hideGridFocus)==null||a.call(i),i.hideTooltip(),!f&&i.setExpand(e)),S.call(P=>{var N,L;const w=P.data();c&&(f||g!=null&&g.bind(i.api)(w))&&(t.style.cursor="pointer"),v||(i.showTooltip(w,t),(N=i.showGridFocus)==null||N.call(i,w),(L=i.unexpandCircles)==null||L.call(i),P.each(X=>i.setExpand(e,X.id)))})},selectRectForMultipleXs(t,e=!0){const n=this,{config:a,state:i}=n,s=n.filterTargetsToShow(n.data.targets);if(i.dragging||n.hasArcType(s))return;const o=Hn(i.event,t),l=n.findClosestFromTargets(s,o);if(e&&i.mouseover&&(!l||l.id!==i.mouseover.id)&&(a.data_onout.call(n.api,i.mouseover),i.mouseover=void 0),!l){n.unselectRect();return}const f=(n.isBubbleType(l)||n.isScatterType(l)||!a.tooltip_grouped?[l]:n.filterByX(s,l.x)).map(v=>n.addName(v));n.showTooltip(f,t),n.setExpand(l.index,l.id,!0),n.showGridFocus(f);const g=n.dist(l,o);(n.isBarType(l.id)||g<n.getPointSensitivity(l))&&(n.$el.svg.select(`.${Zn.eventRect}`).style("cursor","pointer"),e&&!i.mouseover&&(a.data_onover.call(n.api,l),i.mouseover=l))},unselectRect(){const t=this,{$el:{circle:e,tooltip:n}}=t;t.$el.svg.select(`.${Zn.eventRect}`).style("cursor",null),t.hideGridFocus(),n&&(t.hideTooltip(),t._handleLinkedCharts(!1)),e&&!t.isPointFocusOnly()&&t.unexpandCircles(),t.expandBarTypeShapes(!1)},generateEventRectsForSingleX(t){const e=this,{config:n,state:a}=e,{eventReceiver:i}=a,s=t.style("cursor",n.data_selection_enabled&&n.data_selection_grouped?"pointer":null).on("click",function(o){a.event=o;const{currentIdx:l,data:c}=i,f=c[l===-1?e.getDataIndexFromEvent(o):l];e.clickHandlerForSingleX.bind(this)(f,e)}).datum({multipleX:!1});if(a.inputType==="mouse"){const o=l=>{const c=l?e.getDataIndexFromEvent(l):i.currentIdx;return c>-1?i.data[c]:null};s.on("mouseover",l=>{a.event=l,e.updateEventRect(),Object.values(e.$el.axisTooltip).forEach(c=>c==null?void 0:c.style("display",null))}).on("mousemove",function(l){const c=o(l);if(a.event=l,!c)return;let{index:f}=c;const g=n.line_step_type;if(n.line_step_tooltipMatch&&e.hasType("step")&&/^step\-(before|after)$/.test(g)){const m=e.scale.zoom||e.scale.x,S=e.axis.xs[f],P=m.invert(Hn(l,this)[0]);g==="step-after"&&P<S?f-=1:g==="step-before"&&P>S&&(f+=1)}e.showAxisGridFocus();const v=n.tooltip_grouped&&f===i.currentIdx;if(a.dragging||a.flowing||e.hasArcType()||v){n.tooltip_show&&v&&e.setTooltipPosition();return}f!==i.currentIdx&&(e.setOverOut(!1,i.currentIdx),i.currentIdx=f),f===-1?e.unselectRect():e.selectRectForSingle(this,f),e.setOverOut(f!==-1,f)}).on("mouseout",l=>{a.event=l,!(!n||e.hasArcType()||i.currentIdx===-1||!n.interaction_onout)&&(e.hideAxisGridFocus(),e.unselectRect(),e.setOverOut(!1,i.currentIdx),i.currentIdx=-1)})}return s},clickHandlerForSingleX(t,e){const n=e,{config:a,state:i,$el:{main:s}}=n;if(!t||n.hasArcType()||i.cancelClick){i.cancelClick&&(i.cancelClick=!1);return}const{index:o}=t;s.selectAll(`.${on.shape}-${o}`).each(function(l){var c;(a.data_selection_grouped||n.isWithinShape(this,l))&&((c=n.toggleShape)==null||c.call(n,this,l,o),a.data_onclick.bind(n.api)(l,this))})},generateEventRectsForMultipleXs(t){const e=this,{config:n,state:a}=e;t.on("click",function(i){a.event=i,e.clickHandlerForMultipleXS.bind(this)(e)}).datum({multipleX:!0}),a.inputType==="mouse"&&t.on("mouseover mousemove",function(i){a.event=i,e.selectRectForMultipleXs(this)}).on("mouseout",i=>{a.event=i,!(!e.config||e.hasArcType()||!n.interaction_onout)&&e.unselectRect()})},clickHandlerForMultipleXS(t){const e=t,{config:n,state:a}=e,i=e.filterTargetsToShow(e.data.targets);if(e.hasArcType(i))return;const s=Hn(a.event,this),o=e.findClosestFromTargets(i,s),l=e.getPointSensitivity(o);o&&(e.isBarType(o.id)||e.dist(o,s)<l)&&e.$el.main.selectAll(`.${on.shapes}${e.getTargetSelectorSuffix(o.id)}`).selectAll(`.${on.shape}-${o.index}`).each(function(){var c;(n.data_selection_grouped||e.isWithinShape(this,o))&&((c=e.toggleShape)==null||c.call(e,this,o,o.index),n.data_onclick.bind(e.api)(o,this))})}};const My=t=>+t;var Dy={generateFlow(t){const e=this,{data:n,state:a,$el:i}=e;return function(){const s=t.flow.length;a.flowing=!0,n.targets.forEach(l=>{l.values.splice(0,s)}),e.updateXGrid&&e.updateXGrid(!0);const o={};["axis.x","grid.x","gridLines.x","region.list","text","bar","line","area","circle"].forEach(l=>{const c=l.split(".");let f=i[c[0]];f&&c.length>1&&(f=f[c[1]]),f!=null&&f.size()&&(o[l]=f)}),e.hideGridFocus(),e.setFlowList(o,t)}},setFlowList(t,e){const n=this,{flow:a,targets:i}=e,{duration:s=e.duration,index:o,length:l,orgDataCount:c}=a,f=n.getFlowTransform(i,c,o,l),g=ec();let v;g.add(Object.keys(t).map(m=>(v=t[m].transition().ease(My).duration(s),m==="axis.x"?v=v.call(S=>{n.axis.x.setTransition(S).create(S)}):m==="region.list"?v=v.filter(n.isRegionOnX).attr("transform",f):v=v.attr("transform",f),v))),v.call(g,()=>{n.cleanUpFlow(t,e)})},cleanUpFlow(t,e){const n=this,{config:a,state:i,$el:{svg:s}}=n,o=a.axis_rotated,{flow:l,shape:c,xv:f}=e,{cx:g,cy:v,xForText:m,yForText:S}=c.pos,{done:P=()=>{},length:N}=l;N&&(["circle","text","shape","eventRect"].forEach(L=>{const w=[];for(let X=0;X<N;X++)w.push(`.${Ue[L]}-${X}`);s.selectAll(`.${Ue[`${L}s`]}`).selectAll(w).remove()}),s.select(`.${Ue.xgrid}`).remove()),Object.keys(t).forEach(L=>{const w=t[L];if(L!=="axis.x"&&w.attr("transform",null),L==="grid.x")w.attr(i.xgridAttr);else if(L==="gridLines.x")w.attr("x1",o?0:f).attr("x2",o?i.width:f),w.select("text").attr("x",o?i.width:0).attr("y",f);else if(/^(area|bar|line)$/.test(L))w.attr("d",c.type[L]);else if(L==="text")w.attr("x",m).attr("y",S).style("fill-opacity",n.opacityForText.bind(n));else if(L==="circle")if(n.isCirclePoint())w.attr("cx",g).attr("cy",v);else{const X=Y=>g(Y)-a.point_r,W=Y=>v(Y)-a.point_r;w.attr("x",X).attr("y",W)}else L==="region.list"&&w.select("rect").filter(n.isRegionOnX).attr("x",n.regionX.bind(n)).attr("width",n.regionWidth.bind(n))}),a.interaction_enabled&&n.redrawEventRect(),P.call(n.api),i.flowing=!1},getFlowTransform(t,e,n,a){const i=this,{data:s,scale:{x:o}}=i,l=s.targets[0].values;let c=i.getValueOnIndex(l,n),f=i.getValueOnIndex(l,n+a),g;const v=o.domain(),m=i.updateXDomain(t,!0,!0);e?e===1||(c==null?void 0:c.x)===(f==null?void 0:f.x)?g=o(v[0])-o(m[0]):g=i.axis.isTimeSeries()?o(v[0])-o(m[0]):o((c==null?void 0:c.x)||0)-o(f.x):l.length!==1?g=o(v[0])-o(m[0]):i.axis.isTimeSeries()?(c=i.getValueOnIndex(l,0),f=i.getValueOnIndex(l,l.length-1),g=o(c.x)-o(f.x)):g=Dr(m)/2;const S=Dr(v)/Dr(m);return`translate(${g},0) scale(${S},1)`}},Ly={initClip(){const t=this,{clip:e,datetimeId:n}=t.state;e.id=`${n}-clip`,e.idXAxis=`${e.id}-xaxis`,e.idYAxis=`${e.id}-yaxis`,e.idGrid=`${e.id}-grid`,e.path=t.getClipPath(e.id),e.pathXAxis=t.getClipPath(e.idXAxis),e.pathYAxis=t.getClipPath(e.idYAxis),e.pathGrid=t.getClipPath(e.idGrid)},getClipPath(t){const e=this,{config:n}=e;return!n.clipPath&&/-clip$/.test(t)||!n.axis_x_clipPath&&/-clip-xaxis$/.test(t)||!n.axis_y_clipPath&&/-clip-yaxis$/.test(t)?null:`url(#${t})`},appendClip(t,e){e&&t.append("clipPath").attr("id",e).append("rect")},setXAxisClipPath(t){const e=this,{config:n,state:{margin:a,width:i,height:s}}=e,o=n.axis_rotated,l=Math.max(30,a.left)-(o?0:20),c=(o?a.top+s+10:a.bottom)+20,f=o?-(1+l):-(l-1),g=-15,v=o?a.left+20:i+10+l;t.attr("x",f).attr("y",g).attr("width",v).attr("height",c)},setYAxisClipPath(t){const e=this,{config:n,state:{margin:a,width:i,height:s}}=e,o=n.axis_rotated,l=Math.max(30,a.left)-(o?20:0),c=n.axis_y_inner,f=c&&!o?n.axis_y_label.text?-20:-1:o?-(1+l):-(l-1),g=-(o?20:a.top),v=(o?i+15+l:a.left+20)+(c?20:0),m=(o?a.bottom+10:a.top+s)+10;t.attr("x",f).attr("y",g).attr("width",v).attr("height",m)},updateXAxisTickClip(){const t=this,{config:e,state:{clip:n,xAxisHeight:a},$el:{defs:i}}=t,s=t.getHorizontalAxisHeight("x");if(i&&!n.idXAxisTickTexts){const o=`${n.id}-xaxisticktexts`;t.appendClip(i,o),n.pathXAxisTickTexts=t.getClipPath(n.idXAxisTickTexts),n.idXAxisTickTexts=o}!e.axis_x_tick_multiline&&t.getAxisTickRotate("x")&&s!==a&&(t.setXAxisTickClipWidth(),t.setXAxisTickTextClipPathWidth()),t.state.xAxisHeight=s},setXAxisTickClipWidth(){const t=this,{config:e,state:{current:{maxTickSize:n}}}=t,a=t.getAxisTickRotate("x");if(!e.axis_x_tick_multiline&&a){const i=Math.sin(Math.PI/180*Math.abs(a));n.x.clipPath=(t.getHorizontalAxisHeight("x")-20)/i}else n.x.clipPath=null},setXAxisTickTextClipPathWidth(){const t=this,{state:{clip:e,current:n},$el:{svg:a}}=t;a&&a.select(`#${e.idXAxisTickTexts} rect`).attr("width",n.maxTickSize.x.clipPath).attr("height",30)}};const Ny=t=>De(t.position)||"end",Fy=t=>t.position==="start"?4:t.position==="middle"?0:-4;function Cu(t,e,n){return a=>{let i=t?0:e;return a.position==="start"?i=t?-n:0:a.position==="middle"&&(i=(t?-n:e)/2),i}}function Pu(t,e){e==="grid"&&t.each(function(){const n=st(this);["x1","x2","y1","y2"].forEach(a=>n.attr(a,+n.attr(a)))})}var By={hasGrid(){const{config:t}=this;return["x","y"].some(e=>t[`grid_${e}_show`]||t[`grid_${e}_lines`].length)},initGrid(){const t=this;t.hasGrid()&&t.initGridLines(),t.initFocusGrid()},initGridLines(){const t=this,{config:e,state:{clip:n},$el:a}=t;(e.grid_x_lines.length||e.grid_y_lines.length)&&(a.gridLines.main=a.main.insert("g",`.${Se.chart}${e.grid_lines_front?" + *":""}`).attr("clip-path",n.pathGrid).attr("class",`${sn.grid} ${sn.gridLines}`),a.gridLines.main.append("g").attr("class",sn.xgridLines),a.gridLines.main.append("g").attr("class",sn.ygridLines),a.gridLines.x=Uc([]))},updateXGrid(t){const e=this,{config:n,scale:a,state:i,$el:{main:s,grid:o}}=e,l=n.axis_rotated,c=e.generateGridData(n.grid_x_type,a.x),f=e.axis.isCategorized()?e.axis.x.tickOffset():0,g=v=>(a.zoom||a.x)(v)+f*(l?-1:1);i.xgridAttr=l?{x1:0,x2:i.width,y1:g,y2:g}:{x1:g,x2:g,y1:0,y2:i.height},o.x=s.select(`.${sn.xgrids}`).selectAll(`.${sn.xgrid}`).data(c),o.x.exit().remove(),o.x=o.x.enter().append("line").attr("class",sn.xgrid).merge(o.x),t||o.x.each(function(){const v=st(this);Object.keys(i.xgridAttr).forEach(m=>{v.attr(m,i.xgridAttr[m]).style("opacity",()=>v.attr(l?"y1":"x1")===(l?i.height:0)?"0":null)})})},updateYGrid(){const t=this,{axis:e,config:n,scale:a,state:i,$el:{grid:s,main:o}}=t,l=n.axis_rotated,c=g=>a.y(g),f=e.y.getGeneratedTicks(n.grid_y_ticks)||t.scale.y.ticks(n.grid_y_ticks);s.y=o.select(`.${sn.ygrids}`).selectAll(`.${sn.ygrid}`).data(f),s.y.exit().remove(),s.y=s.y.enter().append("line").attr("class",sn.ygrid).merge(s.y),s.y.attr("x1",l?c:0).attr("x2",l?c:i.width).attr("y1",l?0:c).attr("y2",l?i.height:c),Pu(s.y,"grid")},updateGrid(){const t=this,{$el:{grid:e,gridLines:n}}=t;!n.main&&t.initGridLines(),e.main.style("visibility",t.hasArcType()?"hidden":null),t.hideGridFocus(),t.updateGridLines("x"),t.updateGridLines("y")},updateGridLines(t){const e=this,{config:n,$el:{gridLines:a,main:i},$T:s}=e,o=n.axis_rotated,l=t==="x";n[`grid_${t}_show`]&&e[`update${t.toUpperCase()}Grid`]();let c=i.select(`.${sn[`${t}gridLines`]}`).selectAll(`.${sn[`${t}gridLine`]}`).data(n[`grid_${t}_lines`]);s(c.exit()).style("opacity","0").remove();const f=c.enter().append("g");f.append("line").style("opacity","0"),c=f.merge(c),c.each(function(g){const v=st(this);v.select("text").empty()&&g.text&&v.append("text").style("opacity","0")}),s(c.attr("class",g=>`${sn[`${t}gridLine`]} ${g.class||""}`.trim()).select("text").attr("text-anchor",Ny).attr("transform",()=>l?o?null:"rotate(-90)":o?"rotate(-90)":null).attr("dx",Fy).attr("dy",-5)).text(function(g){var v;return(v=g.text)!=null?v:this.remove()}),a[t]=c},redrawGrid(t){const e=this,{config:{axis_rotated:n},state:{width:a,height:i},$el:{gridLines:s},$T:o}=e,l=e.xv.bind(e),c=e.yv.bind(e);let f=s.x.select("line"),g=s.x.select("text"),v=s.y.select("line"),m=s.y.select("text");return f=o(f,t).attr("x1",n?0:l).attr("x2",n?a:l).attr("y1",n?l:0).attr("y2",n?l:i),g=o(g,t).attr("x",Cu(!n,a,i)).attr("y",l),v=o(v,t).attr("x1",n?c:0).attr("x2",n?c:a).attr("y1",n?0:c).attr("y2",n?i:c),m=o(m,t).attr("x",Cu(n,a,i)).attr("y",c),[f.style("opacity",null),g.style("opacity",null),v.style("opacity",null),m.style("opacity",null)]},initFocusGrid(){const t=this,{config:e,state:{clip:n},$el:a}=t,i=e.grid_front,s=`.${i&&a.gridLines.main?sn.gridLines:Se.chart}${i?" + *":""}`,o=a.main.insert("g",s).attr("clip-path",n.pathGrid).attr("class",sn.grid);if(a.grid.main=o,e.grid_x_show&&o.append("g").attr("class",sn.xgrids),e.grid_y_show&&o.append("g").attr("class",sn.ygrids),e.axis_tooltip){const l=o.append("g").attr("class","bb-axis-tooltip");l.append("line").attr("class","bb-axis-tooltip-x"),l.append("line").attr("class","bb-axis-tooltip-y")}e.interaction_enabled&&e.grid_focus_show&&!e.axis_tooltip&&(o.append("g").attr("class",qe.xgridFocus).append("line").attr("class",qe.xgridFocus),e.grid_focus_y&&!e.tooltip_grouped&&o.append("g").attr("class",qe.ygridFocus).append("line").attr("class",qe.ygridFocus))},showAxisGridFocus(){var t,e;const n=this,{config:a,format:i,state:{event:s,width:o,height:l}}=n,c=a.axis_rotated,[f,g]=Hn(s,(t=n.$el.eventRect)==null?void 0:t.node()),v={x:f,y:g};for(const[m,S]of Object.entries(n.$el.axisTooltip)){const P=m==="x"&&!c||m!=="x"&&c?"x":"y",N=v[P];let L=(e=n.scale[m])==null?void 0:e.invert(N);L&&(L=m==="x"&&n.axis.isTimeSeries()?i.xAxisTick(L):L==null?void 0:L.toFixed(2),S==null||S.attr(P,N).text(L))}n.$el.main.selectAll("line.bb-axis-tooltip-x, line.bb-axis-tooltip-y").style("visibility",null).each(function(m,S){const P=st(this);S===0?P.attr("x1",f).attr("x2",f).attr("y1",S?0:l).attr("y2",S?l:0):P.attr("x1",S?0:o).attr("x2",S?o:0).attr("y1",g).attr("y2",g)})},hideAxisGridFocus(){const t=this;t.$el.main.selectAll("line.bb-axis-tooltip-x, line.bb-axis-tooltip-y").style("visibility","hidden"),Object.values(t.$el.axisTooltip).forEach(e=>e==null?void 0:e.style("display","none"))},showGridFocus(t){var e;const n=this,{config:a,state:{width:i,height:s}}=n,o=a.axis_rotated,l=n.$el.main.selectAll(`line.${qe.xgridFocus}, line.${qe.ygridFocus}`),c=(t||[l.datum()]).filter(v=>v&&De(n.getBaseValue(v)));if(!a.tooltip_show||c.length===0||!a.axis_x_forceAsSingle&&n.hasType("bubble")||n.hasArcType())return;const f=a.grid_focus_edge&&!a.tooltip_grouped,g=n.xx.bind(n);l.style("visibility",null).data(c.concat(c)).each(function(v){const m=st(this),S={x:g(v),y:n.getYScaleById(v.id)(v.value)};let P;if(m.classed(qe.xgridFocus))P=o?[null,S.x,f?S.y:i,S.x]:[S.x,f?S.y:null,S.x,s];else{const N=n.axis.getId(v.id)==="y2";P=o?[S.y,f&&!N?S.x:null,S.y,f&&N?S.x:s]:[f&&N?S.x:null,S.y,f&&!N?S.x:i,S.y]}["x1","y1","x2","y2"].forEach((N,L)=>m.attr(N,P[L]))}),Pu(l,"grid"),(e=n.showCircleFocus)==null||e.call(n,t)},hideGridFocus(){var t;const e=this,{state:{inputType:n,resizing:a},$el:{main:i}}=e;(n==="mouse"||!a)&&(i.selectAll(`line.${qe.xgridFocus}, line.${qe.ygridFocus}`).style("visibility","hidden"),(t=e.hideCircleFocus)==null||t.call(e))},updateGridFocus(){var t;const e=this,{state:{inputType:n,width:a,height:i,resizing:s},$el:{grid:o}}=e,l=o.main.select(`line.${qe.xgridFocus}`);if(n==="touch")l.empty()?s&&((t=e.showCircleFocus)==null||t.call(e)):e.showGridFocus();else{const c=e.config.axis_rotated;l.attr("x1",c?0:-10).attr("x2",c?a:-10).attr("y1",c?-10:0).attr("y2",c?-10:i)}return!0},generateGridData(t,e){const n=this,a=n.$el.main.select(`.${dn.axisX}`).selectAll(".tick").size();let i=[];if(t==="year"){const s=n.getXDomain(),[o,l]=s.map(c=>c.getFullYear());for(let c=o;c<=l;c++)i.push(new Date(`${c}-01-01 00:00:00`))}else i=e.ticks(10),i.length>a&&(i=i.filter(s=>String(s).indexOf(".")<0));return i},getGridFilterToRemove(t){return t?e=>{let n=!1;return(ze(t)?t.concat():[t]).forEach(a=>{("value"in a&&e.value===a.value||"class"in a&&e.class===a.class)&&(n=!0)}),n}:()=>!0},removeGridLines(t,e){const n=this,{config:a,$T:i}=n,s=n.getGridFilterToRemove(t),o=g=>!s(g),l=e?sn.xgridLines:sn.ygridLines,c=e?sn.xgridLine:sn.ygridLine;i(n.$el.main.select(`.${l}`).selectAll(`.${c}`).filter(s)).style("opacity","0").remove();const f=`grid_${e?"x":"y"}_lines`;a[f]=a[f].filter(o)}},Uy={initRegion(){const t=this,{$el:e}=t;e.region.main=e.main.insert("g",":first-child").attr("clip-path",t.state.clip.path).attr("class",$a.regions)},updateRegion(){const t=this,{config:e,$el:{region:n},$T:a}=t;n.main||t.initRegion(),n.main.style("visibility",t.hasArcType()?"hidden":null);const i=n.main.selectAll(`.${$a.region}`).data(e.regions);a(i.exit()).style("opacity","0").remove();const s=i.enter().append("g");s.append("rect").style("fill-opacity","0"),n.list=s.merge(i).attr("class",t.classRegion.bind(t)),n.list.each(function(o){var l;st(this).select("text").empty()&&((l=o.label)!=null&&l.text)&&st(this).append("text").style("opacity","0")})},redrawRegion(t){const e=this,{$el:{region:n},$T:a}=e;let i=n.list.select("rect"),s=n.list.selectAll("text");return i=a(i,t).attr("x",e.regionX.bind(e)).attr("y",e.regionY.bind(e)).attr("width",e.regionWidth.bind(e)).attr("height",e.regionHeight.bind(e)),s=a(s,t).attr("transform",o=>{var l;const{x:c=0,y:f=0,rotated:g=!1}=(l=o.label)!=null?l:{};return`translate(${e.regionX.bind(e)(o)+c}, ${e.regionY.bind(e)(o)+f})${g?" rotate(-90)":""}`}).attr("text-anchor",o=>{var l;return(l=o.label)!=null&&l.rotated?"end":null}).attr("dy","1em").style("fill",o=>{var l,c;return(c=(l=o.label)==null?void 0:l.color)!=null?c:null}).text(o=>{var l;return(l=o.label)==null?void 0:l.text}),[i.style("fill-opacity",o=>De(o.opacity)?o.opacity:null).on("end",function(){st(this.parentNode).selectAll("rect:not([x])").remove()}),s.style("opacity",null)]},getRegionXY(t,e){const n=this,{config:a,scale:i}=n,s=a.axis_rotated,o=t==="x";let l="start",c,f=0;return e.axis==="y"||e.axis==="y2"?(o||(l="end"),(o?s:!s)&&l in e&&(c=i[e.axis],f=c(e[l]))):(o?!s:s)&&l in e&&(c=i.zoom||i.x,f=c(n.axis.isTimeSeries()?zn.call(n,e[l]):e[l])),f},regionX(t){return this.getRegionXY("x",t)},regionY(t){return this.getRegionXY("y",t)},getRegionSize(t,e){const n=this,{config:a,scale:i,state:s}=n,o=a.axis_rotated,l=t==="width",c=n[l?"regionX":"regionY"](e);let f,g="end",v=s[t];return e.axis==="y"||e.axis==="y2"?(l||(g="start"),(l?o:!o)&&g in e&&(f=i[e.axis],v=f(e[g]))):(l?!o:o)&&g in e&&(f=i.zoom||i.x,v=f(n.axis.isTimeSeries()?zn.call(n,e[g]):e[g])),v<c?0:v-c},regionWidth(t){return this.getRegionSize("width",t)},regionHeight(t){return this.getRegionSize("height",t)},isRegionOnX(t){return!t.axis||t.axis==="x"}},zy={getAxisSize(t){const e=this,n=e.config.axis_rotated;return n&&t==="x"||!n&&/y2?/.test(t)?e.getAxisWidthByAxisId(t,!0):e.getHorizontalAxisHeight(t)},getAxisWidthByAxisId(t,e){var n,a;const i=this;if(i.axis){const s=(n=i.axis)==null?void 0:n.getLabelPositionById(t),{width:o}=i.axis.getMaxTickSize(t,e),l=o===0?.5:0;return o+(((a=i.config.padding)==null?void 0:a.mode)==="fit"?s.isInner?10+l:10:s.isInner?20+l:40)}else return 40},getHorizontalAxisHeight(t){var e,n;const a=this,{config:i,state:s}=a,{rotatedPadding:o,isLegendRight:l,isLegendInset:c}=s,f=i.axis_rotated,g=((e=i.padding)==null?void 0:e.mode)==="fit",v=i[`axis_${t}_inner`],m=i[`axis_${t}_label`].text,S=13;let P=((n=i.padding)==null?void 0:n.mode)==="fit"?v&&!m?t==="y"?1:0:20:30;if(t==="x"&&!i.axis_x_show)return 8;if(t==="x"&&he(i.axis_x_height))return i.axis_x_height;if(t==="y"&&!i.axis_y_show)return i.legend_show&&!l&&!c?10:1;if(t==="y2"&&!i.axis_y2_show)return g?0:o.top;const N=a.axis.getMaxTickSize(t),L=Math.abs(i.axis_x_tick_rotate)>0&&(!i.axis_x_tick_autorotate||a.needToRotateXAxisTickTexts());return(i.axis_x_tick_multiline||L)&&N.height>S&&(P+=N.height-S),P+(a.axis.getLabelPositionById(t).isInner?0:10)+(t==="y2"&&!f?-10:0)},getEventRectWidth(){const t=this,{config:e,axis:n}=t,a=e.axis_x_inverted,i=n.x.tickInterval();return Math.max(0,a?Math.abs(i):i)},getAxisTickRotate(t){const e=this,{axis:n,config:a,state:i,$el:s}=e;let o=a[`axis_${t}_tick_rotate`];if(t==="x"){const l=n.isCategorized()||n.isTimeSeries();if(a.axis_x_tick_fit&&l){const c=a.axis_x_tick_count,f=i.current.maxTickSize.x.ticks.length;let g=0;if(c?g=c>f?f:c:f&&(g=f),g!==i.axis.x.tickCount){const{targets:v}=e.data;i.axis.x.padding=e.getXDomainPadding([e.getXDomainMinMax(v,"min"),e.getXDomainMinMax(v,"max")],g)}i.axis.x.tickCount=g}s.svg&&a.axis_x_tick_autorotate&&a.axis_x_tick_fit&&!a.axis_x_tick_multiline&&!a.axis_x_tick_culling&&l&&(o=e.needToRotateXAxisTickTexts()?a.axis_x_tick_rotate:0)}return o},needToRotateXAxisTickTexts(){const t=this,{state:{axis:e,current:n,isLegendRight:a,legendItemWidth:i}}=t,s=a&&i,o=n.width-s-t.getCurrentPaddingByDirection("left")-t.getCurrentPaddingByDirection("right"),l=e.x.tickCount+e.x.padding.left+e.x.padding.right,{width:c}=t.axis.getMaxTickSize("x"),f=l?o/l:0;return c>f}},jy={axis_x_clipPath:!0,axis_x_show:!0,axis_x_forceAsSingle:!1,axis_x_type:"indexed",axis_x_localtime:!0,axis_x_categories:[],axis_x_tick_centered:!1,axis_x_tick_format:void 0,axis_x_tick_culling:{},axis_x_tick_culling_max:10,axis_x_tick_culling_lines:!0,axis_x_tick_count:void 0,axis_x_tick_show:!0,axis_x_tick_text_show:!0,axis_x_tick_text_inner:!1,axis_x_tick_text_position:{x:0,y:0},axis_x_tick_fit:!0,axis_x_tick_values:null,axis_x_tick_autorotate:!1,axis_x_tick_rotate:0,axis_x_tick_outer:!0,axis_x_tick_multiline:!0,axis_x_tick_width:null,axis_x_tick_tooltip:!1,axis_x_max:void 0,axis_x_min:void 0,axis_x_inverted:!1,axis_x_padding:{},axis_x_height:void 0,axis_x_extent:void 0,axis_x_label:{},axis_x_axes:[]},Gy={axis_y_clipPath:!0,axis_y_show:!0,axis_y_type:"indexed",axis_y_max:void 0,axis_y_min:void 0,axis_y_inverted:!1,axis_y_center:void 0,axis_y_inner:!1,axis_y_label:{},axis_y_tick_format:void 0,axis_y_tick_culling:!1,axis_y_tick_culling_max:5,axis_y_tick_culling_lines:!0,axis_y_tick_outer:!0,axis_y_tick_values:null,axis_y_tick_rotate:0,axis_y_tick_count:void 0,axis_y_tick_show:!0,axis_y_tick_stepSize:null,axis_y_tick_text_show:!0,axis_y_tick_text_position:{x:0,y:0},axis_y_tick_time_value:void 0,axis_y_padding:{},axis_y_default:void 0,axis_y_axes:[]},Vy={axis_y2_show:!1,axis_y2_type:"indexed",axis_y2_max:void 0,axis_y2_min:void 0,axis_y2_inverted:!1,axis_y2_center:void 0,axis_y2_inner:!1,axis_y2_label:{},axis_y2_tick_format:void 0,axis_y2_tick_culling:!1,axis_y2_tick_culling_max:5,axis_y2_tick_culling_lines:!0,axis_y2_tick_outer:!0,axis_y2_tick_values:null,axis_y2_tick_rotate:0,axis_y2_tick_count:void 0,axis_y2_tick_show:!0,axis_y2_tick_stepSize:null,axis_y2_tick_text_show:!0,axis_y2_tick_text_position:{x:0,y:0},axis_y2_padding:{},axis_y2_default:void 0,axis_y2_axes:[]},Xy=Object.defineProperty,wu=Object.getOwnPropertySymbols,Yy=Object.prototype.hasOwnProperty,Hy=Object.prototype.propertyIsEnumerable,Mu=(t,e,n)=>e in t?Xy(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,To=(t,e)=>{for(var n in e||(e={}))Yy.call(e,n)&&Mu(t,n,e[n]);if(wu)for(var n of wu(e))Hy.call(e,n)&&Mu(t,n,e[n]);return t},Wy=To(To(To({axis_evalTextSize:!0,axis_rotated:!1,axis_tooltip:!1},jy),Gy),Vy),Ky={grid_x_show:!1,grid_x_type:"tick",grid_x_lines:[],grid_y_show:!1,grid_y_lines:[],grid_y_ticks:void 0,grid_focus_edge:!1,grid_focus_show:!0,grid_focus_y:!1,grid_front:!1,grid_lines_front:!0},Zy={data_xs:{},data_xFormat:"%Y-%m-%d",data_xLocaltime:!0,data_xSort:!0,data_axes:{},data_regions:{},data_stack_normalize:!1};const Jy=[oy,ly,cy,uy,fy,dy,hy],Du={axis:Cy,clip:Ly,eventrect:wy,flow:Dy,grid:By,region:Uy,sizeAxis:zy},Lu={optDataAxis:Zy,optAxis:Wy,optGrid:Ky};var I1=Array.prototype.slice;function $o(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Le(t){return function(){return t}}function ky(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function Qy(t){return t}function qy(){var t=Qy,e=ky,n=null,a=Le(0),i=Le(zi),s=Le(0);function o(l){var c,f=(l=$o(l)).length,g,v,m=0,S=new Array(f),P=new Array(f),N=+a.apply(this,arguments),L=Math.min(zi,Math.max(-zi,i.apply(this,arguments)-N)),w,X=Math.min(Math.abs(L)/f,s.apply(this,arguments)),W=X*(L<0?-1:1),Y;for(c=0;c<f;++c)(Y=P[S[c]=c]=+t(l[c],c,l))>0&&(m+=Y);for(e!=null?S.sort(function(Q,K){return e(P[Q],P[K])}):n!=null&&S.sort(function(Q,K){return n(l[Q],l[K])}),c=0,v=m?(L-f*W)/m:0;c<f;++c,N=w)g=S[c],Y=P[g],w=N+(Y>0?Y*v:0)+W,P[g]={data:l[g],index:c,value:Y,startAngle:N,endAngle:w,padAngle:X};return P}return o.value=function(l){return arguments.length?(t=typeof l=="function"?l:Le(+l),o):t},o.sortValues=function(l){return arguments.length?(e=l,n=null,o):e},o.sort=function(l){return arguments.length?(n=l,e=null,o):n},o.startAngle=function(l){return arguments.length?(a=typeof l=="function"?l:Le(+l),o):a},o.endAngle=function(l){return arguments.length?(i=typeof l=="function"?l:Le(+l),o):i},o.padAngle=function(l){return arguments.length?(s=typeof l=="function"?l:Le(+l),o):s},o}var _y=Math.pow;const So=Math.PI,Ao=2*So,Vr=1e-6,tx=Ao-Vr;function Nu(t){this._+=t[0];for(let e=1,n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function ex(t){let e=Math.floor(t);if(!(e>=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Nu;const n=_y(10,e);return function(a){this._+=a[0];for(let i=1,s=a.length;i<s;++i)this._+=Math.round(arguments[i]*n)/n+a[i]}}class Wi{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?Nu:ex(e)}moveTo(e,n){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,n){this._append`L${this._x1=+e},${this._y1=+n}`}quadraticCurveTo(e,n,a,i){this._append`Q${+e},${+n},${this._x1=+a},${this._y1=+i}`}bezierCurveTo(e,n,a,i,s,o){this._append`C${+e},${+n},${+a},${+i},${this._x1=+s},${this._y1=+o}`}arcTo(e,n,a,i,s){if(e=+e,n=+n,a=+a,i=+i,s=+s,s<0)throw new Error(`negative radius: ${s}`);let o=this._x1,l=this._y1,c=a-e,f=i-n,g=o-e,v=l-n,m=g*g+v*v;if(this._x1===null)this._append`M${this._x1=e},${this._y1=n}`;else if(m>Vr)if(!(Math.abs(v*c-f*g)>Vr)||!s)this._append`L${this._x1=e},${this._y1=n}`;else{let S=a-o,P=i-l,N=c*c+f*f,L=S*S+P*P,w=Math.sqrt(N),X=Math.sqrt(m),W=s*Math.tan((So-Math.acos((N+m-L)/(2*w*X)))/2),Y=W/X,Q=W/w;Math.abs(Y-1)>Vr&&this._append`L${e+Y*g},${n+Y*v}`,this._append`A${s},${s},0,0,${+(v*S>g*P)},${this._x1=e+Q*c},${this._y1=n+Q*f}`}}arc(e,n,a,i,s,o){if(e=+e,n=+n,a=+a,o=!!o,a<0)throw new Error(`negative radius: ${a}`);let l=a*Math.cos(i),c=a*Math.sin(i),f=e+l,g=n+c,v=1^o,m=o?i-s:s-i;this._x1===null?this._append`M${f},${g}`:(Math.abs(this._x1-f)>Vr||Math.abs(this._y1-g)>Vr)&&this._append`L${f},${g}`,a&&(m<0&&(m=m%Ao+Ao),m>tx?this._append`A${a},${a},0,1,${v},${e-l},${n-c}A${a},${a},0,1,${v},${this._x1=f},${this._y1=g}`:m>Vr&&this._append`A${a},${a},0,${+(m>=So)},${v},${this._x1=e+a*Math.cos(s)},${this._y1=n+a*Math.sin(s)}`)}rect(e,n,a,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${a=+a}v${+i}h${-a}Z`}toString(){return this._}}function nx(){return new Wi}nx.prototype=Wi.prototype;function O1(t=3){return new Wi(+t)}function Eo(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const a=Math.floor(n);if(!(a>=0))throw new RangeError(`invalid digits: ${n}`);e=a}return t},()=>new Wi(e)}function rx(t){return t.innerRadius}function ax(t){return t.outerRadius}function ix(t){return t.startAngle}function sx(t){return t.endAngle}function ox(t){return t&&t.padAngle}function lx(t,e,n,a,i,s,o,l){var c=n-t,f=a-e,g=o-i,v=l-s,m=v*c-g*f;if(!(m*m<bn))return m=(g*(e-s)-v*(t-i))/m,[t+m*c,e+m*f]}function Ki(t,e,n,a,i,s,o){var l=t-n,c=e-a,f=(o?s:-s)/sa(l*l+c*c),g=f*c,v=-f*l,m=t+g,S=e+v,P=n+g,N=a+v,L=(m+P)/2,w=(S+N)/2,X=P-m,W=N-S,Y=X*X+W*W,Q=i-s,K=m*N-P*S,at=(W<0?-1:1)*sa(tm(0,Q*Q*Y-K*K)),ht=(K*W-X*at)/Y,St=(-K*X-W*at)/Y,ct=(K*W+X*at)/Y,lt=(-K*X+W*at)/Y,Gt=ht-L,vt=St-w,Z=ct-L,$t=lt-w;return Gt*Gt+vt*vt>Z*Z+$t*$t&&(ht=ct,St=lt),{cx:ht,cy:St,x01:-g,y01:-v,x11:ht*(i/Q-1),y11:St*(i/Q-1)}}function Fu(){var t=rx,e=ax,n=Le(0),a=null,i=ix,s=sx,o=ox,l=null,c=Eo(f);function f(){var g,v,m=+t.apply(this,arguments),S=+e.apply(this,arguments),P=i.apply(this,arguments)-Ui,N=s.apply(this,arguments)-Ui,L=Yc(N-P),w=N>P;if(l||(l=g=c()),S<m&&(v=S,S=m,m=v),!(S>bn))l.moveTo(0,0);else if(L>zi-bn)l.moveTo(S*jr(P),S*rr(P)),l.arc(0,0,S,P,N,!w),m>bn&&(l.moveTo(m*jr(N),m*rr(N)),l.arc(0,0,m,N,P,w));else{var X=P,W=N,Y=P,Q=N,K=L,at=L,ht=o.apply(this,arguments)/2,St=ht>bn&&(a?+a.apply(this,arguments):sa(m*m+S*S)),ct=uo(Yc(S-m)/2,+n.apply(this,arguments)),lt=ct,Gt=ct,vt,Z;if(St>bn){var $t=Hc(St/m*rr(ht)),ut=Hc(St/S*rr(ht));(K-=$t*2)>bn?($t*=w?1:-1,Y+=$t,Q-=$t):(K=0,Y=Q=(P+N)/2),(at-=ut*2)>bn?(ut*=w?1:-1,X+=ut,W-=ut):(at=0,X=W=(P+N)/2)}var At=S*jr(X),Vt=S*rr(X),Bt=m*jr(Q),Kt=m*rr(Q);if(ct>bn){var ne=S*jr(W),le=S*rr(W),be=m*jr(Y),Oe=m*rr(Y),Ce;if(L<Na)if(Ce=lx(At,Vt,be,Oe,ne,le,Bt,Kt)){var Ye=At-Ce[0],Fe=Vt-Ce[1],hn=ne-Ce[0],Jt=le-Ce[1],xe=1/rr(em((Ye*hn+Fe*Jt)/(sa(Ye*Ye+Fe*Fe)*sa(hn*hn+Jt*Jt)))/2),Re=sa(Ce[0]*Ce[0]+Ce[1]*Ce[1]);lt=uo(ct,(m-Re)/(xe-1)),Gt=uo(ct,(S-Re)/(xe+1))}else lt=Gt=0}at>bn?Gt>bn?(vt=Ki(be,Oe,At,Vt,S,Gt,w),Z=Ki(ne,le,Bt,Kt,S,Gt,w),l.moveTo(vt.cx+vt.x01,vt.cy+vt.y01),Gt<ct?l.arc(vt.cx,vt.cy,Gt,En(vt.y01,vt.x01),En(Z.y01,Z.x01),!w):(l.arc(vt.cx,vt.cy,Gt,En(vt.y01,vt.x01),En(vt.y11,vt.x11),!w),l.arc(0,0,S,En(vt.cy+vt.y11,vt.cx+vt.x11),En(Z.cy+Z.y11,Z.cx+Z.x11),!w),l.arc(Z.cx,Z.cy,Gt,En(Z.y11,Z.x11),En(Z.y01,Z.x01),!w))):(l.moveTo(At,Vt),l.arc(0,0,S,X,W,!w)):l.moveTo(At,Vt),!(m>bn)||!(K>bn)?l.lineTo(Bt,Kt):lt>bn?(vt=Ki(Bt,Kt,ne,le,m,-lt,w),Z=Ki(At,Vt,be,Oe,m,-lt,w),l.lineTo(vt.cx+vt.x01,vt.cy+vt.y01),lt<ct?l.arc(vt.cx,vt.cy,lt,En(vt.y01,vt.x01),En(Z.y01,Z.x01),!w):(l.arc(vt.cx,vt.cy,lt,En(vt.y01,vt.x01),En(vt.y11,vt.x11),!w),l.arc(0,0,m,En(vt.cy+vt.y11,vt.cx+vt.x11),En(Z.cy+Z.y11,Z.cx+Z.x11),w),l.arc(Z.cx,Z.cy,lt,En(Z.y11,Z.x11),En(Z.y01,Z.x01),!w))):l.arc(0,0,m,Q,Y,w)}if(l.closePath(),g)return l=null,g+""||null}return f.centroid=function(){var g=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,v=(+i.apply(this,arguments)+ +s.apply(this,arguments))/2-Na/2;return[jr(v)*g,rr(v)*g]},f.innerRadius=function(g){return arguments.length?(t=typeof g=="function"?g:Le(+g),f):t},f.outerRadius=function(g){return arguments.length?(e=typeof g=="function"?g:Le(+g),f):e},f.cornerRadius=function(g){return arguments.length?(n=typeof g=="function"?g:Le(+g),f):n},f.padRadius=function(g){return arguments.length?(a=g==null?null:typeof g=="function"?g:Le(+g),f):a},f.startAngle=function(g){return arguments.length?(i=typeof g=="function"?g:Le(+g),f):i},f.endAngle=function(g){return arguments.length?(s=typeof g=="function"?g:Le(+g),f):s},f.padAngle=function(g){return arguments.length?(o=typeof g=="function"?g:Le(+g),f):o},f.context=function(g){return arguments.length?(l=g==null?null:g,f):l},f}var cx=Object.defineProperty,ux=Object.defineProperties,fx=Object.getOwnPropertyDescriptors,Bu=Object.getOwnPropertySymbols,dx=Object.prototype.hasOwnProperty,hx=Object.prototype.propertyIsEnumerable,Uu=(t,e,n)=>e in t?cx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,gx=(t,e)=>{for(var n in e||(e={}))dx.call(e,n)&&Uu(t,n,e[n]);if(Bu)for(var n of Bu(e))hx.call(e,n)&&Uu(t,n,e[n]);return t},vx=(t,e)=>ux(t,fx(e));function zu(t=0){const e=this,{config:n,state:a}=e,i=e.hasMultiArcGauge(),s=a.gaugeArcWidth/e.filterTargetsToShow(e.data.targets).length,o=t?Math.min(a.radiusExpanded*t-a.radius,s*.8-(1-t)*100):0;return{inner(l){const{innerRadius:c}=e.getRadius(l);return i?a.radius-s*(l.index+1):he(c)?c:0},outer(l){const{outerRadius:c}=e.getRadius(l);let f;if(i)f=a.radius-s*l.index+o;else if(e.hasType("polar")&&!t)f=e.getPolarOuterRadius(l,c);else if(f=c,t){let{radiusExpanded:g}=a;a.radius!==c&&(g-=Math.abs(a.radius-c)),f=g*t}return f},corner(l,c){const{arc_cornerRadius_ratio:f=0,arc_cornerRadius:g=0}=n,{data:{id:v},value:m}=l;let S=0;return f?S=f*c:S=he(g)?g:g.call(e.api,v,m,c),S}}}function bo(t){return function(e){const n=({startAngle:i=0,endAngle:s=0,padAngle:o=0})=>({startAngle:i,endAngle:s,padAngle:o}),a=kr(n(this._current),n(e));return this._current=e,function(i){const s=a(i),{data:o,index:l,value:c}=e;return t(vx(gx({},s),{data:o,index:l,value:c}))}}}var px={initPie(){const t=this,{config:e}=t,n=e.data_type,a=e[`${n}_padding`],i=e[`${n}_startingAngle`]||0,s=(a?a*.01:e[`${n}_padAngle`])||0;t.pie=qy().startAngle(i).endAngle(i+2*Math.PI).padAngle(s).value(o=>{var l,c;return(c=(l=o.values)==null?void 0:l.reduce((f,g)=>f+g.value,0))!=null?c:o}).sort(t.getSortCompareFn.bind(t)(!0))},updateRadius(){const t=this,{config:e,state:n}=t,a=e.data_type,i=e[`${a}_padding`],s=e.gauge_width||e.donut_width,o=t.filterTargetsToShow(t.data.targets).length*e.gauge_arcs_minWidth;n.radiusExpanded=Math.min(n.arcWidth,n.arcHeight)/2*(t.hasMultiArcGauge()&&e.gauge_label_show?.85:1),n.radius=n.radiusExpanded*.95,n.innerRadiusRatio=s?(n.radius-s)/n.radius:.6,n.gaugeArcWidth=s||(o<=n.radius-n.innerRadius?n.radius-n.innerRadius:o<=n.radius?o:n.radius);const l=e.pie_innerRadius||(i?i*(n.innerRadiusRatio+.1):0);n.outerRadius=e.pie_outerRadius,n.innerRadius=t.hasType("donut")||t.hasType("gauge")?n.radius*n.innerRadiusRatio:l},getRadius(t){const e=this,n=t==null?void 0:t.data;let{innerRadius:a,outerRadius:i}=e.state;return!he(a)&&n&&(a=a[n.id]||0),Be(i)&&n&&n.id in i?i=i[n.id]:he(i)||(i=e.state.radius),{innerRadius:a,outerRadius:i}},updateArc(){const t=this;t.updateRadius(),t.svgArc=t.getSvgArc(),t.svgArcExpanded=t.getSvgArcExpanded()},getArcLength(){const t=this,{config:e}=t,n=e.gauge_arcLength*3.6;let a=2*(n/360);return n<-360?a=-2:n>360&&(a=2),a*Math.PI},getStartingAngle(){const t=this,{config:e}=t,n=e.data_type,a=t.hasType("gauge")?e.gauge_fullCircle:!1,i=-1*Math.PI/2,s=Math.PI/2;let o=e[`${n}_startingAngle`]||0;return!a&&o<=i?o=i:!a&&o>=s?o=s:(o>Math.PI||o<-1*Math.PI)&&(o=Math.PI),o},updateAngle(t,e=!1){var n;const a=this,{config:i,state:s}=a,o=e&&a.hasType("gauge");let{pie:l}=a,c=t,f=!1;if(!i)return null;const g=a.getStartingAngle(),v=i.gauge_fullCircle||e&&!o?a.getArcLength():g*-2;if(c.data&&a.isGaugeType(c.data)&&!a.hasMultiArcGauge()){const{gauge_min:m,gauge_max:S}=i,P=a.getTotalDataSum(s.rendered),N=v*((P-m)/(S-m));l=l.startAngle(g).endAngle(N+g)}if(e===!1&&l(a.filterTargetsToShow()).forEach((m,S)=>{var P;!f&&m.data.id===((P=c.data)==null?void 0:P.id)&&(f=!0,c=m,c.index=S)}),isNaN(c.startAngle)&&(c.startAngle=0),isNaN(c.endAngle)&&(c.endAngle=c.startAngle),e||c.data&&(i.gauge_enforceMinMax||a.hasMultiArcGauge())){const{gauge_min:m,gauge_max:S}=i,P=e&&!o?a.getTotalDataSum(s.rendered):S,N=v/(P-m),L=(n=c.value)!=null?n:0,w=L<m?0:L<P?L-m:P-m;c.startAngle=g,c.endAngle=g+N*w}return f||e?c:null},getSvgArc(){const t=this,{inner:e,outer:n,corner:a}=zu.call(t),i=Fu().innerRadius(e).outerRadius(n),s=function(o,l){var c;let f="M 0 0";if(o.value||o.data){const g=l?o:(c=t.updateAngle(o))!=null?c:null;g&&(f=i.cornerRadius(a(g,n(g)))(g))}return f};return s.centroid=i.centroid,s},getSvgArcExpanded(t=1){const e=this,{inner:n,outer:a,corner:i}=zu.call(e,t),s=Fu().innerRadius(n).outerRadius(a);return o=>{const l=e.updateAngle(o),c=a(l);let f=0;return l&&(f=i(l,c)),l?s.cornerRadius(f)(l):"M 0 0"}},getArc(t,e,n){return n||this.isArcType(t.data)?this.svgArc(t,e):"M 0 0"},redrawArcRangeText(){const t=this,{config:e,$el:{arcs:n},state:a,$T:i}=t,s=e.arc_rangeText_format,o=t.hasType("gauge")&&e.arc_rangeText_fixed;let l=e.arc_rangeText_values;if(l!=null&&l.length){const c=e.arc_rangeText_unit==="%",f=t.getTotalDataSum(a.rendered);c&&(l=l.map(m=>f/100*m));const g=t.pie(l).map((m,S)=>(m.index=S,m));let v=n.selectAll(`.${je.arcRange}`).data(l);v.exit(),v=i(v.enter().append("text").attr("class",je.arcRange).style("text-anchor","middle").style("pointer-events","none").style("opacity","0").text(m=>{const S=c?m/f*100:m;return ve(s)?s(S):`${S}${c?"%":""}`}).merge(v)),(!a.rendered||a.rendered&&!o)&&f>0&&v.attr("transform",(m,S)=>t.transformForArcLabel(g[S],!0)),v.style("opacity",m=>!o&&(m>f||f===0)?"0":null)}},transformForArcLabel(t,e=!1){var n,a,i;const s=this,{config:o,state:{radiusExpanded:l}}=s,c=s.updateAngle(t,e);let f="";if(c){if(e||s.hasMultiArcGauge()){const g=Math.sin(c.endAngle-Math.PI/2),v=o.arc_rangeText_position;let m=Math.cos(c.endAngle-Math.PI/2)*(l+(e?5:25)),S=g*(l+15-Math.abs(g*10))+3;if(e&&v){const P=o.arc_rangeText_values,N=ve(v)?v(P[t.index]):v;m+=(n=N==null?void 0:N.x)!=null?n:0,S+=(a=N==null?void 0:N.y)!=null?a:0}f=`translate(${m},${S})`}else if(!s.hasType("gauge")||s.data.targets.length>1){let{outerRadius:g}=s.getRadius(t);s.hasType("polar")&&(g=s.getPolarOuterRadius(t,g));const v=this.svgArc.centroid(c),[m,S]=v.map(L=>isNaN(L)?0:L),P=Math.sqrt(m*m+S*S);let N=(i=["donut","gauge","pie","polar"].filter(s.hasType.bind(s)).map(L=>o[`${L}_label_ratio`]))==null?void 0:i[0];N?N=ve(N)?N.bind(s.api)(t,g,P):N:N=g&&(P?(36/g>.375?1.175-36/g:.8)*g/P:0),f=`translate(${m*N},${S*N})`}}return f},convertToArcData(t){return this.addName({id:"data"in t?t.data.id:t.id,value:t.value,ratio:this.getRatio("arc",t),index:t.index})},textForArcLabel(t){const e=this,n=e.hasType("gauge");e.shouldShowArcLabel()&&t.style("fill",e.updateTextColor.bind(e)).attr("filter",a=>e.updateTextBGColor.bind(e)(a,e.config.data_labels_backgroundColors)).each(function(a){var i;const s=st(this),o=e.updateAngle(a),l=e.getRatio("arc",o);if(e.meetsLabelThreshold(l,(i=["donut","gauge","pie","polar"].filter(e.hasType.bind(e)))==null?void 0:i[0])){const{value:f}=o||a,g=(e.getArcLabelFormat()||e.defaultArcValueFormat)(f,l,a.data.id).toString();wa(s,g,[-1,1],n)}else s.text("")})},expandArc(t){const e=this,{state:{transiting:n},$el:a}=e;if(n){const s=setInterval(()=>{n||(clearInterval(s),a.legend.selectAll(`.${qe.legendItemFocused}`).size()>0&&e.expandArc(t))},10);return}const i=e.mapToTargetIds(t);a.svg.selectAll(e.selectorTargets(i,`.${je.chartArc}`)).each(function(s){if(!e.shouldExpand(s.data.id))return;const o=e.getExpandConfig(s.data.id,"duration"),l=e.getSvgArcExpanded(e.getExpandConfig(s.data.id,"rate"));st(this).selectAll("path").transition().duration(o).attrTween("d",bo(e.svgArcExpanded.bind(e))).transition().duration(o*2).attrTween("d",bo(l.bind(e)))})},unexpandArc(t){const e=this,{state:{transiting:n},$el:{svg:a}}=e;if(n)return;const i=e.mapToTargetIds(t);a.selectAll(e.selectorTargets(i,`.${je.chartArc}`)).selectAll("path").transition().duration(s=>e.getExpandConfig(s.data.id,"duration")).attrTween("d",bo(e.svgArc.bind(e))),a.selectAll(`${je.arc}`).style("opacity",null)},getExpandConfig(t,e){const n=this,{config:a}=n,i={duration:50,rate:.98};let s;return n.isDonutType(t)?s="donut":n.isGaugeType(t)?s="gauge":n.isPieType(t)&&(s="pie"),s?a[`${s}_expand_${e}`]:i[e]},shouldExpand(t){const e=this,{config:n}=e;return e.isDonutType(t)&&n.donut_expand||e.isGaugeType(t)&&n.gauge_expand||e.isPieType(t)&&n.pie_expand},shouldShowArcLabel(){const t=this,{config:e}=t;return["donut","gauge","pie","polar"].some(n=>t.hasType(n)&&e[`${n}_label_show`])},getArcLabelFormat(){const t=this,{config:e}=t;let n=a=>a;return["donut","gauge","pie","polar"].filter(t.hasType.bind(t)).forEach(a=>{n=e[`${a}_label_format`]}),ve(n)?n.bind(t.api):n},updateTargetsForArc(t){const e=this,{$el:n}=e,a=e.hasType("gauge"),i=e.getChartClass("Arc"),s=e.getClass("arcs",!0),o=e.classFocus.bind(e),l=n.main.select(`.${je.chartArcs}`),c=l.selectAll(`.${je.chartArc}`).data(e.pie(t)).attr("class",g=>i(g)+o(g.data)),f=c.enter().append("g").attr("class",i).call(this.setCssRule(!1,`.${je.chartArcs} text`,["pointer-events:none","text-anchor:middle"]));f.append("g").attr("class",s).merge(c),f.append("text").attr("dy",a&&!e.hasMultiTargets()?"-.1em":".35em").style("opacity","0").style("text-anchor",e.getStylePropValue("middle")).style("pointer-events",e.getStylePropValue("none")),n.text=l.selectAll(`.${Se.target} text`)},initArc(){const t=this,{$el:e}=t;e.arcs=e.main.select(`.${Se.chart}`).append("g").attr("class",je.chartArcs).attr("transform",t.getTranslate("arc")),t.setArcTitle()},setArcTitle(t){const e=this,n=t||e.getArcTitle(),a=e.hasType("gauge");if(n){const i=a?Un.chartArcsGaugeTitle:je.chartArcsTitle;let s=e.$el.arcs.select(`.${i}`);s.empty()&&(s=e.$el.arcs.append("text").attr("class",i).style("text-anchor","middle")),a&&s.attr("dy","-0.3em"),wa(s,n,a?void 0:[-.6,1.35],!0)}},getArcTitle(){const t=this,e=t.hasType("donut")&&"donut"||t.hasType("gauge")&&"gauge";return e?t.config[`${e}_title`]:""},getArcTitleWithNeedleValue(){const t=this,{config:e,state:n}=t,a=t.getArcTitle();if(a&&t.config.arc_needle_show&&/{=[A-Z_]+}/.test(a)){let i=n.current.needle;return he(i)||(i=e.arc_needle_value),bi(a,{NEEDLE_VALUE:he(i)?i:0})}return!1},redrawArc(t,e,n){const a=this,{config:i,state:s,$el:{main:o}}=a,l=i.interaction_enabled,c=l&&i.data_selection_isselectable;let f=o.selectAll(`.${je.arcs}`).selectAll(`.${je.arc}`).data(a.arcData.bind(a));f.exit().transition().duration(e).style("opacity","0").remove(),f=f.enter().append("path").attr("class",a.getClass("arc",!0)).style("fill",g=>a.color(g.data)).style("cursor",g=>{var v;return(v=c==null?void 0:c.bind)!=null&&v.call(c,a.api)(g)?"pointer":null}).style("opacity","0").each(function(g){a.isGaugeType(g.data)&&(g.startAngle=i.gauge_startingAngle,g.endAngle=i.gauge_startingAngle),this._current=g}).merge(f),a.hasType("gauge")&&(a.updateGaugeMax(),a.hasMultiArcGauge()&&a.redrawArcGaugeLine()),f.attr("transform",g=>!a.isGaugeType(g.data)&&n?"scale(0)":"").style("opacity",function(g){return g===this._current?"0":null}).each(()=>{s.transiting=!0}).transition().duration(t).attrTween("d",function(g){const v=a.updateAngle(g);if(!v)return()=>"M 0 0";isNaN(this._current.startAngle)&&(this._current.startAngle=0),isNaN(this._current.endAngle)&&(this._current.endAngle=this._current.startAngle);const m=kr(this._current,v);return this._current=m(0),function(S){const P=m(S);return P.data=g.data,a.getArc(P,!0)}}).attr("transform",n?"scale(1)":"").style("fill",g=>{let v;return a.levelColor?(v=a.levelColor(g.data.values[0].value),i.data_colors[g.data.id]=v):v=a.color(g.data),v}).style("opacity",null).call($i,function(){if(a.levelColor){const g=st(this),v=g.datum(this._current);a.updateLegendItemColor(v.data.id,g.style("fill"))}s.transiting=!1,_e(i.onrendered,a.api)}),l&&a.bindArcEvent(f),a.hasType("polar")&&a.redrawPolar(),a.hasType("gauge")&&a.redrawBackgroundArcs(),i.arc_needle_show&&a.redrawNeedle(),a.redrawArcText(t),a.redrawArcRangeText()},redrawNeedle(){const t=this,{$el:e,config:n,state:{hiddenTargetIds:a,radius:i}}=t,s=(i-1)/100*n.arc_needle_length,o=a.length!==t.data.targets.length;let l=t.$el.arcs.select(`.${je.needle}`);const c=n.arc_needle_path,f=n.arc_needle_bottom_width/2,g=n.arc_needle_top_width/2,v=n.arc_needle_top_rx,m=n.arc_needle_top_ry,S=n.arc_needle_bottom_len,P=n.arc_needle_bottom_rx,N=n.arc_needle_bottom_ry,L=t.getNeedleAngle(),w=()=>{const X=t.getArcTitleWithNeedleValue();X&&t.setArcTitle(X)};if(w(),l.empty()&&(l=e.arcs.append("path").classed(je.needle,!0),e.needle=l,e.needle.updateHelper=(X,W=!1)=>{e.needle.style("display")!=="none"&&t.$T(e.needle).style("transform",`rotate(${t.getNeedleAngle(X)}deg)`).call($i,()=>{W&&(n.arc_needle_value=X),w()})}),o){const X=ve(c)?c.call(t,s):`M-${f} ${S} A${P} ${N} 0 0 0 ${f} ${S} L${g} -${s} A${v} ${m} 0 0 0 -${g} -${s} L-${f} ${S} Z`;t.$T(l).attr("d",X).style("fill",n.arc_needle_color).style("display",null).style("transform",`rotate(${L}deg)`)}else l.style("display","none")},getNeedleAngle(t){const e=this,{config:n,state:a}=e,i=e.getArcLength(),s=e.hasType("gauge"),o=e.getTotalDataSum(!0);let l=ke(t)?t:n.arc_needle_value,c=n[`${n.data_type}_startingAngle`]||0,f=0;if(he(l)||(l=s&&e.data.targets.length===1?o:0),a.current.needle=l,s){c=e.getStartingAngle();const g=n.gauge_fullCircle?i:c*-2,{gauge_min:v,gauge_max:m}=n;f=g*((l-v)/(m-v))}else f=i*(l/o);return(c+f)*(180/Math.PI)},redrawBackgroundArcs(){const t=this,{config:e,state:n}=t,a=t.hasMultiArcGauge(),i=e.gauge_fullCircle,s=t.filterTargetsToShow(t.data.targets).length===0&&!!e.data_empty_label_text,o=t.getStartingAngle(),l=i?o+t.getArcLength():o*-1;let c=t.$el.arcs.select(`${a?"g":""}.${je.chartArcsBackground}`);if(a){let f=0;c=c.selectAll(`path.${je.chartArcsBackground}`).data(t.data.targets),c.enter().append("path").attr("class",(g,v)=>`${je.chartArcsBackground} ${je.chartArcsBackground}-${v}`).merge(c).style("fill",e.gauge_background||null).attr("d",({id:g})=>{if(s||n.hiddenTargetIds.indexOf(g)>=0)return"M 0 0";const v={data:[{value:e.gauge_max}],startAngle:o,endAngle:l,index:f++};return t.getArc(v,!0,!0)}),c.exit().remove()}else c.attr("d",s?"M 0 0":()=>{const f={data:[{value:e.gauge_max}],startAngle:o,endAngle:l};return t.getArc(f,!0,!0)})},bindArcEvent(t){const e=this,{config:n,state:a}=e,i=a.inputType==="touch",s=a.inputType==="mouse";function o(c,f,g){e.expandArc(g),e.api.focus(g),e.toggleFocusLegend(g,!0),e.showTooltip([f],c)}function l(c){const f=(c==null?void 0:c.id)||void 0;e.unexpandArc(f),e.api.revert(),e.revertLegend(),e.hideTooltip()}if(t.on("click",function(c,f,g){var v;const m=e.updateAngle(f);let S;m&&(S=e.convertToArcData(m),(v=e.toggleShape)==null||v.call(e,this,S,g),n.data_onclick.bind(e.api)(S,this))}),s&&t.on("mouseover",function(c,f){if(a.transiting)return;a.event=c;const g=e.updateAngle(f),v=g?e.convertToArcData(g):null,m=(v==null?void 0:v.id)||void 0;o(this,v,m),e.setOverOut(!0,v)}).on("mouseout",(c,f)=>{if(a.transiting||!n.interaction_onout)return;a.event=c;const g=e.updateAngle(f),v=g?e.convertToArcData(g):null;l(),e.setOverOut(!1,v)}).on("mousemove",function(c,f){const g=e.updateAngle(f),v=g?e.convertToArcData(g):null;a.event=c,e.showTooltip([v],this)}),i&&e.hasArcType()&&!e.radars){const c=f=>{var g,v;const{clientX:m,clientY:S}=(v=(g=f.changedTouches)==null?void 0:g[0])!=null?v:{clientX:0,clientY:0};return st(vn.elementFromPoint(m,S))};e.$el.svg.on("touchstart touchmove",function(f){if(a.transiting)return;a.event=f;const v=c(f).datum(),m=v!=null&&v.data&&v.data.id?e.updateAngle(v):null,S=m?e.convertToArcData(m):null,P=(S==null?void 0:S.id)||void 0;e.callOverOutForTouch(S),ln(P)?l():o(this,S,P)})}},redrawArcText(t){const e=this,{config:n,state:a,$el:{main:i,arcs:s}}=e,o=e.hasType("gauge"),l=e.hasMultiArcGauge();let c;if(o&&e.data.targets.length===1&&n.gauge_title||(c=i.selectAll(`.${je.chartArc}`).select("text").style("opacity","0").attr("class",f=>e.isGaugeType(f.data)?Un.gaugeValue:null).call(e.textForArcLabel.bind(e)).attr("transform",f=>e.transformForArcLabel.bind(e)(f)).style("font-size",f=>e.isGaugeType(f.data)&&e.data.targets.length===1&&!l?`${Math.round(a.radius/5)}px`:null).transition().duration(t).style("opacity",f=>e.isTargetToShow(f.data.id)&&e.isArcType(f.data)?null:"0"),l&&c.attr("dy","-.1em")),i.select(`.${je.chartArcsTitle}`).style("opacity",e.hasType("donut")||o?null:"0"),o){const f=n.gauge_fullCircle;f&&(c==null||c.attr("dy",`${l?0:Math.round(a.radius/14)}`)),n.gauge_label_show&&(s.select(`.${Un.chartArcsGaugeUnit}`).attr("dy",`${f?1.5:.75}em`).text(n.gauge_units),s.select(`.${Un.chartArcsGaugeMin}`).attr("dx",`${-1*(a.innerRadius+(a.radius-a.innerRadius)/(f?1:2))}px`).attr("dy","1.2em").text(e.textForGaugeMinMax(n.gauge_min,!1)),!f&&s.select(`.${Un.chartArcsGaugeMax}`).attr("dx",`${a.innerRadius+(a.radius-a.innerRadius)/2}px`).attr("dy","1.2em").text(e.textForGaugeMinMax(n.gauge_max,!0)))}},getArcElementByIdOrIndex(t){const e=this,{$el:{arcs:n}}=e,a=he(t)?i=>i.index===t:i=>i.data.id===t;return n==null?void 0:n.selectAll(`.${Se.target} path`).filter(a)}};function ju(t){return t[0]}function Gu(t){return t[1]}function Vu(t,e){var n=Le(!0),a=null,i=go,s=null,o=Eo(l);t=typeof t=="function"?t:t===void 0?ju:Le(t),e=typeof e=="function"?e:e===void 0?Gu:Le(e);function l(c){var f,g=(c=$o(c)).length,v,m=!1,S;for(a==null&&(s=i(S=o())),f=0;f<=g;++f)!(f<g&&n(v=c[f],f,c))===m&&((m=!m)?s.lineStart():s.lineEnd()),m&&s.point(+t(v,f,c),+e(v,f,c));if(S)return s=null,S+""||null}return l.x=function(c){return arguments.length?(t=typeof c=="function"?c:Le(+c),l):t},l.y=function(c){return arguments.length?(e=typeof c=="function"?c:Le(+c),l):e},l.defined=function(c){return arguments.length?(n=typeof c=="function"?c:Le(!!c),l):n},l.curve=function(c){return arguments.length?(i=c,a!=null&&(s=i(a)),l):i},l.context=function(c){return arguments.length?(c==null?a=s=null:s=i(a=c),l):a},l}function mx(t,e,n){var a=null,i=Le(!0),s=null,o=go,l=null,c=Eo(f);t=typeof t=="function"?t:t===void 0?ju:Le(+t),e=typeof e=="function"?e:Le(e===void 0?0:+e),n=typeof n=="function"?n:n===void 0?Gu:Le(+n);function f(v){var m,S,P,N=(v=$o(v)).length,L,w=!1,X,W=new Array(N),Y=new Array(N);for(s==null&&(l=o(X=c())),m=0;m<=N;++m){if(!(m<N&&i(L=v[m],m,v))===w)if(w=!w)S=m,l.areaStart(),l.lineStart();else{for(l.lineEnd(),l.lineStart(),P=m-1;P>=S;--P)l.point(W[P],Y[P]);l.lineEnd(),l.areaEnd()}w&&(W[m]=+t(L,m,v),Y[m]=+e(L,m,v),l.point(a?+a(L,m,v):W[m],n?+n(L,m,v):Y[m]))}if(X)return l=null,X+""||null}function g(){return Vu().defined(i).curve(o).context(s)}return f.x=function(v){return arguments.length?(t=typeof v=="function"?v:Le(+v),a=null,f):t},f.x0=function(v){return arguments.length?(t=typeof v=="function"?v:Le(+v),f):t},f.x1=function(v){return arguments.length?(a=v==null?null:typeof v=="function"?v:Le(+v),f):a},f.y=function(v){return arguments.length?(e=typeof v=="function"?v:Le(+v),n=null,f):e},f.y0=function(v){return arguments.length?(e=typeof v=="function"?v:Le(+v),f):e},f.y1=function(v){return arguments.length?(n=v==null?null:typeof v=="function"?v:Le(+v),f):n},f.lineX0=f.lineY0=function(){return g().x(t).y(e)},f.lineY1=function(){return g().x(t).y(n)},f.lineX1=function(){return g().x(a).y(e)},f.defined=function(v){return arguments.length?(i=typeof v=="function"?v:Le(!!v),f):i},f.curve=function(v){return arguments.length?(o=v,s!=null&&(l=o(s)),f):o},f.context=function(v){return arguments.length?(v==null?s=l=null:l=o(s=v),f):s},f}var oa={initArea(t){const e=this,{config:n}=e;t.insert("g",`.${n.area_front?$n.circles:ur.lines}`).attr("class",e.getClass("areas",!0))},updateAreaColor(t){const e=this;return e.config.area_linearGradient?e.getGradienColortUrl(t.id):e.color(t)},updateArea(t,e=!1){const n=this,{config:a,state:i,$el:s,$T:o}=n,l=e?s.subchart:s;a.area_linearGradient&&n.updateLinearGradient();const c=l.main.selectAll(`.${_a.areas}`).selectAll(`.${_a.area}`).data(n.lineData.bind(n));o(c.exit(),t).style("opacity","0").remove(),l.area=c.enter().append("path").attr("class",n.getClass("area",!0)).style("fill",n.updateAreaColor.bind(n)).style("opacity",function(){return i.orgAreaOpacity=st(this).style("opacity"),"0"}).merge(c),c.style("opacity",i.orgAreaOpacity),n.setRatioForGroupedData(l.area.data())},redrawArea(t,e,n=!1){const a=this,{area:i}=n?this.$el.subchart:this.$el,{orgAreaOpacity:s}=a.state;return[a.$T(i,e,gr()).attr("d",t).style("fill",a.updateAreaColor.bind(a)).style("opacity",o=>String(a.isAreaRangeType(o)?s/1.75:s))]},generateDrawArea(t,e){const n=this,{config:a}=n,i=a.line_connectNull,s=a.axis_rotated,o=n.generateGetAreaPoints(t,e),l=n.getYScaleById.bind(n),c=v=>(e?n.subxx:n.xx).call(n,v),f=(v,m)=>n.isGrouped(v.id)?o(v,m)[0][1]:l(v.id,e)(n.isAreaRangeType(v)?n.getRangedData(v,"high"):n.getShapeYMin(v.id)),g=(v,m)=>n.isGrouped(v.id)?o(v,m)[1][1]:l(v.id,e)(n.isAreaRangeType(v)?n.getRangedData(v,"low"):v.value);return v=>{let m=i?n.filterRemoveNull(v.values):v.values,S=0,P=0,N;if(n.isAreaType(v)){let L=mx();L=s?L.y(c).x0(f).x1(g):L.x(c).y0(a.area_above?0:a.area_below?n.state.height:f).y1(g),i||(L=L.defined(w=>n.getBaseValue(w)!==null)),n.isStepType(v)&&(m=n.convertValuesToStep(m)),N=L.curve(n.getCurve(v))(m)}else m[0]&&(S=n.scale.x(m[0].x),P=n.getYScaleById(v.id)(m[0].value)),N=s?`M ${P} ${S}`:`M ${S} ${P}`;return N||"M 0 0"}},generateGetAreaPoints(t,e){const n=this,{config:a}=n,i=n.getShapeX(0,t,e),s=n.getShapeY(!!e),o=n.getShapeOffset(n.isAreaType,t,e),l=n.getYScaleById.bind(n);return function(c,f){const g=l.call(n,c.id,e)(n.getShapeYMin(c.id)),v=o(c,f)||g,m=i(c),S=c.value;let P=s(c);return a.axis_rotated&&(S>0&&P<g||S<0&&g<P)&&(P=g),[[m,v],[m,P-(g-v)],[m,P-(g-v)],[m,v]]}}},yx={initBar(){const{$el:t,config:e,state:{clip:n}}=this;t.bar=t.main.select(`.${Se.chart}`),t.bar=e.bar_front?t.bar.append("g"):t.bar.insert("g",":first-child"),t.bar.attr("class",Kn.chartBars).call(this.setCssRule(!1,`.${Kn.chartBars}`,["pointer-events:none"])),e.clipPath===!1&&(e.bar_radius||e.bar_radius_ratio)&&t.bar.attr("clip-path",n.pathXAxis.replace(/#[^)]*/,`#${n.id}`))},updateTargetsForBar(t){const e=this,{config:n,$el:a}=e,i=e.getChartClass("Bar"),s=e.getClass("bars",!0),o=e.classFocus.bind(e),l=n.interaction_enabled&&n.data_selection_isselectable;a.bar||e.initBar(),a.main.select(`.${Kn.chartBars}`).selectAll(`.${Kn.chartBar}`).data(t.filter(g=>g.values.some(v=>he(v.value)||e.isBarRangeType(v)))).attr("class",g=>i(g)+o(g)).enter().append("g").attr("class",i).style("opacity","0").style("pointer-events",e.getStylePropValue("none")).append("g").attr("class",s).style("cursor",g=>{var v;return(v=l==null?void 0:l.bind)!=null&&v.call(l,e.api)(g)?"pointer":null}).call(e.setCssRule(!0,` .${Kn.bar}`,["fill"],e.color))},updateBar(t,e=!1){const n=this,{config:a,$el:i,$T:s}=n,o=e?i.subchart:i,l=n.getClass("bar",!0),c=n.initialOpacity.bind(n);a.bar_linearGradient&&n.updateLinearGradient();const f=o.main.selectAll(`.${Kn.bars}`).selectAll(`.${Kn.bar}`).data(n.labelishData.bind(n));s(f.exit(),t).style("opacity","0").remove(),o.bar=f.enter().append("path").attr("class",l).style("fill",n.updateBarColor.bind(n)).merge(f).style("opacity",c),n.setRatioForGroupedData(o.bar.data())},updateBarColor(t){const e=this,n=e.getStylePropValue(e.color);return e.config.bar_linearGradient?e.getGradienColortUrl(t.id):n?n(t):null},redrawBar(t,e,n=!1){const a=this,{bar:i}=n?a.$el.subchart:a.$el;return[a.$T(i,e,gr()).attr("d",s=>(he(s.value)||a.isBarRangeType(s))&&t(s)).style("fill",a.updateBarColor.bind(a)).style("clip-path",s=>s.clipPath).style("opacity",null)]},generateDrawBar(t,e){const n=this,{config:a}=n,i=n.generateGetBarPoints(t,e),s=a.axis_rotated,o=a.bar_radius,l=a.bar_radius_ratio,c=he(o)&&o>0?()=>o:he(l)?f=>f*l:null;return(f,g)=>{const v=i(f,g),m=+s,S=+!m,P=f.value<0,N=a[`axis_${n.axis.getId(f.id)}_inverted`],L=!N&&P||N&&!P,w=["",""],X=n.isGrouped(f.id),W=c&&X?n.isStackingRadiusData(f):!1,Y=[v[0][m],v[0][S]];let Q=0;if(f.clipPath=null,c){const ht=s?S:m,St=v[2][ht]-v[0][ht];Q=!X||W?c(St):0;const ct=`a${Q} ${Q} ${L?"1 0 0":"0 0 1"} `;w[+!s]=`${ct}${Q},${Q}`,w[+s]=`${ct}${[-Q,Q][s?"sort":"reverse"]()}`,L&&w.reverse()}const K=s?v[1][m]+(L?Q:-Q):v[1][S]+(L?-Q:Q);if(Q){let ht="";s?L&&Y[0]<K?ht=`0 ${K-Y[0]}px 0 0`:!L&&Y[0]>K&&(ht=`0 0 0 ${Y[0]-K}px`):L&&Y[1]>K?ht=`${Y[1]-K}px 0 0 0`:!L&&Y[1]<K&&(ht=`0 0 ${K-Y[1]}px 0`),ht&&(f.clipPath=`inset(${ht})`)}const at=s?`H${K} ${w[0]}V${v[2][S]-Q} ${w[1]}H${v[3][m]}`:`V${K} ${w[0]}H${v[2][m]-Q} ${w[1]}V${v[3][S]}`;return`M${v[0][m]},${v[0][S]}${at}z`}},isStackingRadiusData(t){const e=this,{$el:n,config:a,data:i,state:s}=e,{id:o,index:l,value:c}=t;if(s.hiddenTargetIds.indexOf(o)>-1){const m=n.bar.filter(S=>S.id===o&&S.value===c);return!m.empty()&&/a\d+/i.test(m.attr("d"))}const f=a.data_groups.find(m=>m.indexOf(o)>-1),v=e.orderTargets(e.filterTargetsToShow(i.targets.filter(e.isBarType,e))).filter(m=>f.indexOf(m.id)>-1).map(m=>m.values.filter(S=>S.index===l&&(he(c)&&c>0?S.value>0:S.value<0))[0]).filter(Boolean).map(m=>m.id);return c!==0&&v.indexOf(o)===v.length-1},generateGetBarPoints(t,e){const n=this,{config:a}=n,i=e?n.axis.subX:n.axis.x,s=n.getIndicesMax(t)+1,o=n.getBarW("bar",i,s),l=n.getShapeX(o,t,!!e),c=n.getShapeY(!!e),f=n.getShapeOffset(n.isBarType,t,!!e),g=n.getYScaleById.bind(n);return(v,m)=>{const{id:S}=v,P=g.call(n,S,e)(n.getShapeYMin(S)),N=f(v,m)||P,L=he(o)?o:o[v.id]||o._$width,w=a[`axis_${n.axis.getId(S)}_inverted`],X=v.value,W=l(v);let Y=c(v);a.axis_rotated&&!w&&(X>0&&Y<P||X<0&&P<Y)&&(Y=P),n.isBarRangeType(v)||(Y-=P-N);const Q=W+L;return[[W,N],[W,Y],[Q,Y],[Q,N]]}}},xx={initBubble(){const t=this,{config:e}=t;t.hasType("bubble")&&(e.point_show=!0,e.point_type="circle")},getBaseLength(){const t=this,{width:e,height:n}=t.state,a=Ln.bubbleBaseLength;let i=t.cache.get(a);return i||t.cache.add(a,i=_n("min",[e,n])),i},getBubbleR(t){const e=this;let n=e.config.bubble_maxR;ve(n)?n=n.bind(e.api)(t):he(n)||(n=e.getBaseLength()/(e.getMaxDataCount()*2)+12);const a=_n("max",e.getMinMaxData().max.map(o=>e.isBubbleZType(o)?e.getBubbleZData(o.value,"y"):Be(o.value)?o.value.mid:o.value)),i=n*n*Math.PI,s=(e.isBubbleZType(t)?e.getBubbleZData(t.value,"z"):t.value)*(i/a);return Math.sqrt(s/Math.PI)},getBubbleZData(t,e){return Be(t)?t[e]:t[e==="y"?0:1]}},Tx=Object.defineProperty,Xu=Object.getOwnPropertySymbols,$x=Object.prototype.hasOwnProperty,Sx=Object.prototype.propertyIsEnumerable,Yu=(t,e,n)=>e in t?Tx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ax=(t,e)=>{for(var n in e||(e={}))$x.call(e,n)&&Yu(t,n,e[n]);if(Xu)for(var n of Xu(e))Sx.call(e,n)&&Yu(t,n,e[n]);return t},Ex={initCandlestick(){const{$el:t}=this;t.candlestick=t.main.select(`.${Se.chart}`).append("g").attr("class",cr.chartCandlesticks)},updateTargetsForCandlestick(t){const e=this,{$el:n}=e,a=e.getChartClass("Candlestick");n.candlestick||e.initCandlestick(),e.$el.main.select(`.${cr.chartCandlesticks}`).selectAll(`.${cr.chartCandlestick}`).data(t).enter().append("g").attr("class",a).style("pointer-events","none")},updateCandlestick(t,e=!1){const n=this,{$el:a,$T:i}=n,s=e?a.subchart:a,o=n.getClass("candlestick",!0),l=n.initialOpacity.bind(n),c=s.main.selectAll(`.${cr.chartCandlestick}`).selectAll(`.${cr.candlestick}`).data(n.labelishData.bind(n));i(c.exit(),t).style("opacity","0").remove();const f=c.enter().filter(g=>g.value).append("g").attr("class",o);f.append("line"),f.append("path"),s.candlestick=c.merge(f).style("opacity",l)},generateDrawCandlestick(t,e){const n=this,{config:a}=n,i=n.generateGetCandlestickPoints(t,e),s=a.axis_rotated,o=a.candlestick_color_down;return(l,c,f)=>{const g=i(l,c),v=n.getCandlestickData(l),m=v==null?void 0:v._isUp,S=+s,P=+!S;f.classed&&f.classed(cr[m?"valueUp":"valueDown"],!0);const N=s?`H${g[1][1]} V${g[1][0]} H${g[0][1]}`:`V${g[1][1]} H${g[1][0]} V${g[0][1]}`;f.select("path").attr("d",`M${g[0][S]},${g[0][P]}${N}z`).style("fill",X=>(m?n.color(X):Be(o)?o[X.id]:o)||n.color(X));const L=f.select("line"),w=s?{x1:g[2][1],x2:g[2][2],y1:g[2][0],y2:g[2][0]}:{x1:g[2][0],x2:g[2][0],y1:g[2][1],y2:g[2][2]};for(const X in w)L.attr(X,w[X])}},generateGetCandlestickPoints(t,e=!1){const n=this,a=e?n.axis.subX:n.axis.x,i=n.getIndicesMax(t)+1,s=n.getBarW("candlestick",a,i),o=n.getShapeX(s,t,!!e),l=n.getShapeY(!!e),c=n.getShapeOffset(n.isBarType,t,!!e),f=n.getYScaleById.bind(n);return(g,v)=>{const m=f.call(n,g.id,e)(n.getShapeYMin(g.id)),S=c(g,v)||m,P=he(s)?s:s[g.id]||s._$width,N=n.getCandlestickData(g);let L;if(N&&he(N.open)&&he(N.close)){const w={start:o(g),end:0};w.end=w.start+P;const X={start:l(N.open),end:l(N.close)},W={x:w.start+P/2,high:l(N.high),low:l(N.low)};X.start-=m-S,L=[[w.start,X.start],[w.end,X.end],[W.x,W.low,W.high]]}else L=[[0,0],[0,0],[0,0,0]];return L}},redrawCandlestick(t,e,n=!1){const a=this,{$el:i,$T:s}=a,{candlestick:o}=n?i.subchart:i,l=gr(!0);return[o.each(function(c,f){const g=s(st(this),e,l);t(c,f,g)}).style("opacity",null)]},getCandlestickData({value:t}){let e;if(ze(t)){const[n,a,i,s,o=!1]=t;e={open:n,high:a,low:i,close:s},o!==!1&&(e.volume=o)}else Be(t)&&(e=Ax({},t));return e&&(e._isUp=e.close>=e.open),e||null}},bx=Object.defineProperty,Hu=Object.getOwnPropertySymbols,Rx=Object.prototype.hasOwnProperty,Ix=Object.prototype.propertyIsEnumerable,Wu=(t,e,n)=>e in t?bx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ox=(t,e)=>{for(var n in e||(e={}))Rx.call(e,n)&&Wu(t,n,e[n]);if(Hu)for(var n of Hu(e))Ix.call(e,n)&&Wu(t,n,e[n]);return t};function Zi(t=!1){const e=this,{config:n,state:{current:{width:a,height:i}}}=e,s=e.getCurrentPadding(),o=Ox({width:a-(s.left+s.right),height:i-(n.legend_show?e.getLegendHeight()+10:0)-(s.top+s.bottom)},s);if(t){const{width:l,height:c}=Ku.call(e,{width:o.width,height:o.height});o.width<l&&(o.width=l),o.height<c&&(o.height=c)}return o}function Ku(t){const e=this,{config:n}=e;let a=n.funnel_neck_width,i=n.funnel_neck_height;return[a,i]=[a,i].map((s,o)=>{let l=s;return Be(s)&&(l=t[o?"height":"width"]*s.ratio),l}),{width:a,height:i}}function Cx(t){const e=this,{top:n,left:a,width:i}=Zi.call(e,!0),s=[];return t.forEach((o,l)=>{const{ratio:c}=o,f=l>0?s[l-1][2][1]:n;s.push(o.coords=[[a,f],[a+i,f],[a+i,l>0?c+f:c+n],[a,l>0?c+f:c+n],[a,f]])}),s}function Zu(t=!1){const e=this,{width:n,height:a,top:i,left:s}=Zi.call(e,!0),o=Ku.call(e,{width:n,height:a}),l=(n-o.width)/2,c=(n+o.width)/2,f=a-o.height,g=[[0,0],[n,0],[c,f],[c,a],[l,a],[l,f],[0,0]];return t&&g.forEach(v=>{v[0]+=s,v[1]+=i}),`M${g.join("L")}z`}function Px(t){const e=this,{config:n}=e,a=t.map(i=>({id:i.id,value:i.values.reduce((s,o)=>s+o.value,0)}));return n.data_order&&a.sort(e.getSortCompareFn.bind(e)(!0)),Ju.call(e,a)}function Ju(t){const e=this,{height:n}=Zi.call(e),a=e.getTotalDataSum(!0);return t.forEach(i=>{i.ratio=i.value/a*n}),t}var wx={initFunnel(){const t=this,{$el:e}=t;e.funnel=e.main.select(`.${Se.chart}`).append("g").classed(Ta.chartFunnels,!0),e.funnel.background=e.funnel.append("path").classed(Ta.funnelBackground,!0),t.bindFunnelEvent()},bindFunnelEvent(){const t=this,{$el:{funnel:e},config:n,state:a}=t,i=s=>{var o;const l=s.isTrusted?s.target:(o=a.eventReceiver.rect)==null?void 0:o.node();let c;return/^path$/i.test(l.tagName)&&(a.event=s,c=st(l).datum()),c};if(n.interaction_enabled){const s=a.inputType==="touch";e.on(s?"touchstart":"mouseover mousemove",o=>{const l=i(o);l&&(t.showTooltip([l],o.target),/^(touchstart|mouseover)$/.test(o.type)&&t.setOverOut(!0,l))}).on(s?"touchend":"mouseout",o=>{const l=i(o);n.interaction_onout&&(t.hideTooltip(),t.setOverOut(!1,l))})}},updateTargetsForFunnel(t){const e=this,{$el:{funnel:n}}=e,a=e.getChartClass("Funnel"),i=e.getClass("funnel",!0);n||e.initFunnel();const s=Px.call(e,t.filter(e.isFunnelType.bind(e))),o=n.selectAll(`.${Ta.chartFunnel}`).data(s);o.exit().remove();const l=o.enter().insert("g",`.${Ta.funnelBackground}`);l.append("path"),n.path=l.merge(o).attr("class",c=>a(c)).select("path").attr("class",i).style("opacity","0").style("fill",e.color)},updateFunnel(t){const e=this,{$el:{funnel:n}}=e,a=t.map(({id:i})=>i);n.path=n.path.filter(i=>a.indexOf(i.id)>=0)},generateGetFunnelPoints(){const t=this,{$el:{funnel:e}}=t,n=t.filterTargetsToShow(e.path),{top:a,left:i,right:s}=Zi.call(t),o=(i-s)/2,l={};let c=a!=null?a:0;return n.each((f,g)=>{var v;l[f.id]=[[o,c],[o,c+=((v=n==null?void 0:n[g])!=null?v:f).ratio]]}),f=>l[f.id]},redrawFunnel(){const t=this,{$T:e,$el:{funnel:n}}=t,a=t.filterTargetsToShow(n.path),i=Cx.call(t,Ju.call(t,a.data()));n.attr("clip-path",`path('${Zu.bind(t)()}')`),n.background.attr("d",Zu.call(t,!0)),e(a).attr("d",(s,o)=>`M${i[o].join("L")}z`).style("opacity","1"),n.selectAll("g").style("opacity",null)}},Mx={initGauge(){const t=this,{config:e,$el:{arcs:n}}=t,a=(i=null,s="")=>{n.append("text").attr("class",i).style("text-anchor","middle").style("pointer-events","none").text(s)};if(t.hasType("gauge")){const i=t.hasMultiArcGauge();n.append(i?"g":"path").attr("class",je.chartArcsBackground).style("fill",!i&&e.gauge_background||null),e.gauge_units&&a(Un.chartArcsGaugeUnit),e.gauge_label_show&&(a(Un.chartArcsGaugeMin),!e.gauge_fullCircle&&a(Un.chartArcsGaugeMax))}},updateGaugeMax(){const t=this,{config:e,state:n}=t,i=t.hasMultiArcGauge()?t.getMinMaxData().max[0].value:t.getTotalDataSum(n.rendered);!e.gauge_enforceMinMax&&i+e.gauge_min*(e.gauge_min>0?-1:1)>e.gauge_max&&(e.gauge_max=i-e.gauge_min)},redrawArcGaugeLine(){const t=this,{config:e,state:n,$el:a}=t,{hiddenTargetIds:i}=t.state,s=a.main.selectAll(`.${je.arcs}`).selectAll(`.${je.arcLabelLine}`).data(t.arcData.bind(t));s.enter().append("rect").attr("class",l=>`${je.arcLabelLine} ${Se.target} ${Se.target}-${l.data.id}`).merge(s).style("fill",l=>t.levelColor?t.levelColor(l.data.values[0].value):t.color(l.data)).style("display",e.gauge_label_show?null:"none").each(function(l){let c=0;const f=2;let g=0,v=0,m="";if(i.indexOf(l.data.id)<0){const S=t.updateAngle(l),P=n.gaugeArcWidth/t.filterTargetsToShow(t.data.targets).length*(S.index+1),N=S.endAngle-Math.PI/2,L=n.radius-P,w=N-(L===0?0:1/L);c=n.radiusExpanded-n.radius+P,g=Math.cos(w)*L,v=Math.sin(w)*L,m=`rotate(${N*180/Math.PI}, ${g}, ${v})`}st(this).attr("x",g).attr("y",v).attr("width",c).attr("height",f).attr("transform",m).style("stroke-dasharray",`0, ${c+f}, 0`)})},textForGaugeMinMax(t,e){const n=this,{config:a}=n,i=a.gauge_label_extents;return ve(i)?i.bind(n.api)(t,e):t},getGaugeLabelHeight(){const{config:t}=this;return this.config.gauge_label_show&&!t.gauge_fullCircle?20:0},getPaddingBottomForGauge(){const t=this;return t.getGaugeLabelHeight()*(t.config.gauge_label_show?2:2.5)}};function Dx(t,e,n,a=!1){const i=t?[t,0]:n;for(let s=t||n.reduce((o,l)=>o+l);s<=e;)n.forEach(o=>{s+o<=e&&i.push(o),s+=o});return i.length%2!==0&&i.push(a?n[1]:0),{dash:i.join(" "),length:i.reduce((s,o)=>s+o,0)}}function Lx(t,e,n){const a=this,i=[],s="2 2";if(ke(e)){const o=(l,c)=>ln(l)?c:n?zn.call(a,l):l;for(let l=0,c;c=e[l];l++){const f=o(c.start,t[0].x),g=o(c.end,t[t.length-1].x),v=c.style||{dasharray:s};i[l]={start:f,end:g,style:v}}}return i}var Nx={initLine(){const{$el:t}=this;t.line=t.main.select(`.${Se.chart}`).append("g").attr("class",ur.chartLines).call(this.setCssRule(!1,`.${ur.chartLines}`,["pointer-events:none"]))},updateTargetsForLine(t){const e=this,{$el:{area:n,line:a,main:i}}=e,s=e.getChartClass("Line"),o=e.getClass("lines",!0),l=e.classFocus.bind(e);a||e.initLine();const c=t.filter(v=>!(e.isScatterType(v)||e.isBubbleType(v))),f=i.select(`.${ur.chartLines}`).selectAll(`.${ur.chartLine}`).data(c).attr("class",v=>s(v)+l(v)),g=f.enter().append("g").attr("class",s).style("opacity","0").style("pointer-events",e.getStylePropValue("none"));if(g.append("g").attr("class",o),e.hasTypeOf("Area")){const v=(!n&&g.empty()?f:g).filter(e.isAreaType.bind(e));e.initArea(v)}e.updateTargetForCircle(c,g)},updateLine(t,e=!1){const n=this,{format:{extraLineClasses:a},$el:i,$T:s}=n,o=e?i.subchart:i,l=o.main.selectAll(`.${ur.lines}`).selectAll(`.${ur.line}`).data(n.lineData.bind(n));s(l.exit(),t).style("opacity","0").remove(),o.line=l.enter().append("path").attr("class",c=>`${n.getClass("line",!0)(c)} ${a(c)||""}`).style("stroke",n.color).merge(l).style("opacity",n.initialOpacity.bind(n)).attr("transform",null)},redrawLine(t,e,n=!1){const a=this,{$el:i,$T:s}=a,{line:o}=n?i.subchart:i;return[s(o,e,gr()).attr("d",t).style("stroke",this.color).style("opacity",null)]},getCurve(t){const e=this;return e.config.axis_rotated&&e.isStepType(t)?a=>{const i=e.getInterpolate(t)(a);return i.orgPoint=i.point,i.pointRotated=function(s,o){this._point===1&&(this._point=2);const l=this._y*(1-this._t)+o*this._t;this._context.lineTo(this._x,l),this._context.lineTo(s,l),this._x=s,this._y=o},i.point=function(s,o){this._point===0?this.orgPoint(s,o):this.pointRotated(s,o)},i}:e.getInterpolate(t)},generateDrawLine(t,e){const n=this,{config:a,scale:i}=n,s=a.line_connectNull,o=a.axis_rotated,l=n.generateGetLinePoints(t,e),c=n.getYScaleById.bind(n),f=S=>(e?n.subxx:n.xx).call(n,S),g=(S,P)=>n.isGrouped(S.id)?l(S,P)[0][1]:c(S.id,e)(n.getBaseValue(S));let v=Vu();v=o?v.x(g).y(f):v.x(f).y(g),s||(v=v.defined(S=>n.getBaseValue(S)!==null));const m=e?i.subX:i.x;return S=>{const P=c(S.id,e);let N=s?n.filterRemoveNull(S.values):S.values,L=0,w=0,X;if(n.isLineType(S)){const W=a.data_regions[S.id];W?X=n.lineWithRegions(N,i.zoom||m,P,W):(n.isStepType(S)&&(N=n.convertValuesToStep(N)),X=v.curve(n.getCurve(S))(N))}else N[0]&&(L=m(N[0].x),w=P(N[0].value)),X=o?`M ${w} ${L}`:`M ${L} ${w}`;return X||"M 0 0"}},lineWithRegions(t,e,n,a){const i=this,{config:s}=i,o=s.axis_rotated,l=i.axis.isTimeSeries(),c="2 2",f=Lx.bind(i)(t,a,l),g=i.hasNullDataValue(t);let v,m,S,P;const N=o?ct=>n(ct.value):ct=>e(ct.x),L=o?ct=>e(ct.x):ct=>n(ct.value),w=ct=>`M${ct[0][0]},${ct[0][1]}L${ct[1][0]},${ct[1][1]}`,X=l?(ct,lt,Gt,vt)=>{const Z=ct.x.getTime(),$t=lt.x-ct.x,ut=new Date(Z+$t*Gt),At=new Date(Z+$t*(Gt+vt)),Vt=o?[[n(m(Gt)),e(ut)],[n(m(Gt+S)),e(At)]]:[[e(ut),n(m(Gt))],[e(At),n(m(Gt+S))]];return w(Vt)}:(ct,lt,Gt,vt)=>{const Z=e(lt.x,!o),$t=n(lt.value,o),ut=Gt+vt,At=e(v(Gt),!o),Vt=n(m(Gt),o);let Bt=e(v(ut),!o),Kt=n(m(ut),o);Bt>Z&&(Bt=Z),ct.value>lt.value&&(o?Kt<$t:Kt>$t)&&(Kt=$t);const ne=[[At,Vt],[Bt,Kt]];return o&&ne.forEach(le=>le.reverse()),w(ne)},W={x:i.axis.getAxisType("x"),y:i.axis.getAxisType("y")};let Y="";const Q=i.$el.line.filter(({id:ct})=>ct===t[0].id),K=Q.clone().style("display","none"),at=(ct,lt)=>ct.attr("d",lt).node().getTotalLength(),ht={dash:[],lastLength:0};let St=!1;for(let ct=0,lt;lt=t[ct];ct++){const Gt=t[ct-1],vt=Gt&&De(Gt.value);let Z=i.isWithinRegions(lt.x,f);if(De(lt.value)){if(ln(f)||!Z||!vt)Y+=`${ct&&vt?"L":"M"}${N(lt)},${L(lt)}`;else if(vt)if(Z=((Z==null?void 0:Z.dasharray)||c).split(" ").map(Number),v=zr(W.x,Gt.x,lt.x),m=zr(W.y,Gt.value,lt.value),g){const $t=e(lt.x)-e(Gt.x),ut=n(lt.value)-n(Gt.value),At=Math.sqrt(Math.pow($t,2)+Math.pow(ut,2));S=Z[0]/At,P=S*Z[1];for(let Vt=S;Vt<=1;Vt+=P)Y+=X(Gt,lt,Vt,S),Vt+P>=1&&(Y+=X(Gt,lt,1,0))}else{let $t=[];if(St=lt.x===t[t.length-1].x,l){const Bt=+Gt.x,Kt=new Date(Bt),ne=new Date(Bt+(+lt.x-Bt));$t=[[e(Kt),n(m(0))],[e(ne),n(m(1))]]}else $t=[[e(v(0)),n(m(0))],[e(v(1)),n(m(1))]];o&&$t.forEach(Bt=>Bt.reverse());const ut=at(K,Y),At=at(K,Y+=`L${$t[1].join(",")}`),Vt=Dx(ut-ht.lastLength,At-ht.lastLength,Z,St);ht.lastLength+=Vt.length,ht.dash.push(Vt.dash)}}}return ht.dash.length&&(!St&&ht.dash.push(at(K,Y)),K.remove(),Q.attr("stroke-dasharray",ht.dash.join(" "))),Y},isWithinRegions(t,e){for(let n=0,a;a=e[n];n++)if(a.start<t&&t<=a.end)return a.style;return!1},isWithinStep(t,e){return Math.abs(e-Hn(this.state.event,t)[1])<30},shouldDrawPointsForLine(t){const e=this.config.line_point;return e===!0||ze(e)&&e.indexOf(t.id)!==-1}};const la=()=>gr();var Ji={initialOpacityForCircle(t){const{config:e,state:{withoutFadeIn:n}}=this;let a=e.point_opacity;return ln(a)&&(a=this.getBaseValue(t)!==null&&n[t.id]?this.opacityForCircle(t):"0"),a},opacityForCircle(t){var e;const{config:n}=this;let a=n.point_opacity;return ln(a)&&(a=n.point_show&&!((e=this.isPointFocusOnly)!=null&&e.call(this))?null:"0",a=De(this.getBaseValue(t))?this.isBubbleType(t)||this.isScatterType(t)?"0.5":a:"0"),a},initCircle(){const t=this,{$el:{main:e}}=t;!t.point&&(t.point=t.generatePoint()),(t.hasType("bubble")||t.hasType("scatter"))&&e.select(`.${Se.chart} > .${$n.chartCircles}`).empty()&&e.select(`.${Se.chart}`).append("g").attr("class",$n.chartCircles)},updateTargetForCircle(t,e){const n=this,{config:a,data:i,$el:s}=n,o=a.interaction_enabled&&a.data_selection_enabled,l=o&&a.data_selection_isselectable,c=n.getClass("circles",!0);if(!a.point_show)return;n.initCircle();let f=t,g=e;if(!f){f=i.targets.filter(m=>this.isScatterType(m)||this.isBubbleType(m));const v=s.main.select(`.${$n.chartCircles}`).style("pointer-events","none").selectAll(`.${$n.circles}`).data(f);v.exit().remove(),g=v.enter()}o&&g.append("g").attr("class",v=>n.generateClass(tn.selectedCircles,v.id)),g.append("g").attr("class",c).call(v=>{n.setCssRule(!0,`.${$n.circles}`,["cursor:pointer"],l)(v),n.setCssRule(!0,` .${$n.circle}`,["fill","stroke"],n.color)(v)}).style("opacity",function(){return st(this.parentNode).attr("class").indexOf($n.chartCircles)>-1?"0":null}),o&&f.forEach(v=>{s.main.selectAll(`.${tn.selectedCircles}${n.getTargetSelectorSuffix(v.id)}`).selectAll(`${tn.selectedCircle}`).each(m=>{m.value=v.values[m.index].value})})},updateCircle(t=!1){const e=this,{config:n,state:a,$el:i}=e,s=e.isPointFocusOnly(),o=t?i.subchart:i;if(n.point_show&&!a.toggling){n.point_radialGradient&&e.updateLinearGradient();const l=o.main.selectAll(`.${$n.circles}`).selectAll(`.${$n.circle}`).data(c=>e.isLineType(c)&&e.shouldDrawPointsForLine(c)||e.isBubbleType(c)||e.isRadarType(c)||e.isScatterType(c)?s?[c.values[0]]:c.values:[]);l.exit().remove(),l.enter().filter(Boolean).append(e.point("create",this,e.pointR.bind(e),e.updateCircleColor.bind(e))),o.circle=o.main.selectAll(`.${$n.circles} .${$n.circle}`).style("stroke",e.getStylePropValue(e.color)).style("opacity",e.initialOpacityForCircle.bind(e))}},updateCircleColor(t){const e=this,n=e.getStylePropValue(e.color);return e.config.point_radialGradient?e.getGradienColortUrl(t.id):n?n(t):null},redrawCircle(t,e,n,a,i=!1){const s=this,{state:{rendered:o},$el:l,$T:c}=s,f=i?l.subchart:l,g=f.main.selectAll(`.${tn.selectedCircle}`);if(!s.config.point_show)return[];const v=s.point("update",s,t,e,s.updateCircleColor.bind(s),n,a,g),m=s.isCirclePoint()?"c":"",S=gr(),P=s.opacityForCircle.bind(s),N=[];return f.circle.each(function(L){let w=v.bind(this)(L);w=c(w,n||!o,S).style("opacity",P),N.push(w)}),[N,c(g,n).attr(`${m}x`,t).attr(`${m}y`,e)]},showCircleFocus(t){const e=this,{state:{hasRadar:n,resizing:a,toggling:i,transiting:s},$el:o}=e;let{circle:l}=o;if(s===!1&&l&&e.isPointFocusOnly()){const c=(n?e.radarCircleX:e.circleX).bind(e),f=(n?e.radarCircleY:e.circleY).bind(e),g=i||ln(t),v=e.point("update",e,c,f,e.getStylePropValue(e.color),a?!1:g);t&&(l=l.filter(function(m){var S;const P=(S=t.filter)==null?void 0:S.call(t,N=>N.id===m.id);return P.length?st(this).datum(P[0]):!1})),l.attr("class",this.updatePointClass.bind(this)).style("opacity",null).each(function(m){const{id:S,index:P,value:N}=m;let L="hidden";De(N)&&(v.bind(this)(m),e.expandCircles(P,S),L=""),this.style.visibility=L})}},hideCircleFocus(){const t=this,{$el:{circle:e}}=t;t.isPointFocusOnly()&&e&&(t.unexpandCircles(),e.style("visibility","hidden"))},circleX(t){return this.xx(t)},updateCircleY(t=!1){const e=this,n=e.generateGetLinePoints(e.getShapeIndices(e.isLineType),t);return(a,i)=>{const s=a.id;return e.isGrouped(s)?n(a,i)[0][1]:e.getYScaleById(s,t)(e.getBaseValue(a))}},expandCircles(t,e,n){const a=this,i=a.pointExpandedR.bind(a);n&&a.unexpandCircles();const s=a.getShapeByIndex("circle",t,e).classed(Se.EXPANDED,!0),o=i(s)/a.config.point_r,l=1-o;a.isCirclePoint()?s.attr("r",i):s.each(function(){const c=st(this);if(this.tagName==="circle")c.attr("r",i);else{const{width:f,height:g}=this.getBBox(),v=l*(+c.attr("x")+f/2),m=l*(+c.attr("y")+g/2);c.attr("transform",`translate(${v} ${m}) scale(${o})`)}})},unexpandCircles(t){const e=this,n=e.pointR.bind(e),a=e.getShapeByIndex("circle",t).filter(function(){return st(this).classed(Se.EXPANDED)}).classed(Se.EXPANDED,!1);if(a.attr("r",n),!e.isCirclePoint()){const i=n(a)/e.config.point_r;a.attr("transform",i!==1?`scale(${i})`:null)}},pointR(t){const e=this,{config:n}=e,a=n.point_r;let i=a;return e.isBubbleType(t)?i=e.getBubbleR(t):ve(a)&&(i=a.bind(e.api)(t)),t.r=i,i},pointExpandedR(t){const e=this,{config:n}=e,a=e.isBubbleType(t)?1.15:1.75;return n.point_focus_expand_enabled?n.point_focus_expand_r||e.pointR(t)*a:e.pointR(t)},pointSelectR(t){const e=this,n=e.config.point_select_r;return ve(n)?n(t):n||e.pointR(t)*4},isPointFocusOnly(){const t=this;return t.config.point_focus_only&&!t.hasType("bubble")&&!t.hasType("scatter")&&!t.hasArcType(null,["radar"])},isWithinCircle(t,e){const{state:n}=this,a=Hn(n.event,t),i=st(t),s=this.isCirclePoint(t)?"c":"",o=this.getPointSensitivity(i==null?void 0:i.datum());let l=+i.attr(`${s}x`),c=+i.attr(`${s}y`);if(!(l||c)&&t.nodeType===1){const{x:f,y:g}=Si(t);l=f,c=g}return Math.sqrt(Math.pow(l-a[0],2)+Math.pow(c-a[1],2))<(e||o)},getPointSensitivity(t){const e=this;let n=e.config.point_sensitivity;if(t)ve(n)?n=n.call(e.api,t):n==="radius"&&(n=t.r);else return n;return n},updatePointClass(t){const e=this,{circle:n}=e.$el;let a=!1;return(Be(t)||n)&&(a=t===!0?n.each(function(i){let s=e.getClass("circle",!0)(i);this.getAttribute("class").indexOf(Se.EXPANDED)>-1&&(s+=` ${Se.EXPANDED}`),this.setAttribute("class",s)}):e.getClass("circle",!0)(t)),a},generateGetLinePoints(t,e){const n=this,{config:a}=n,i=n.getShapeX(0,t,e),s=n.getShapeY(e),o=n.getShapeOffset(n.isLineType,t,e),l=n.getYScaleById.bind(n);return(c,f)=>{const g=l.call(n,c.id,e)(n.getShapeYMin(c.id)),v=o(c,f)||g,m=i(c);let S=s(c);a.axis_rotated&&(c.value>0&&S<g||c.value<0&&g<S)&&(S=g);const P=[m,S-(g-v)];return[P,P,P,P]}},custom:{create(t,e,n){return t.append("use").attr("xlink:href",`#${e}`).attr("class",this.updatePointClass.bind(this)).style("fill",n).node()},update(t,e,n,a,i,s,o){const l=this,{width:c,height:f}=t.node().getBBox(),g=S=>De(S.value)?e(S)-c/2:0,v=S=>De(S.value)?n(S)-f/2:0;let m=t;return i&&(s&&m.attr("x",g),m=l.$T(m,i,la()),o&&l.$T(o,i,la())),m.attr("x",g).attr("y",v).style("fill",a)}},circle:{create(t,e,n){return t.append("circle").attr("class",this.updatePointClass.bind(this)).attr("r",e).style("fill",n).node()},update(t,e,n,a,i,s,o){const l=this;let c=t;return l.hasType("bubble")&&c.attr("r",l.pointR.bind(l)),i&&(s&&c.attr("cx",e),c.attr("cx")&&(c=l.$T(c,i,la())),o&&l.$T(c,i,la())),c.attr("cx",e).attr("cy",n).style("fill",a)}},rectangle:{create(t,e,n){const a=i=>e(i)*2;return t.append("rect").attr("class",this.updatePointClass.bind(this)).attr("width",a).attr("height",a).style("fill",n).node()},update(t,e,n,a,i,s,o){const l=this,c=l.config.point_r,f=m=>e(m)-c,g=m=>n(m)-c;let v=t;return i&&(s&&v.attr("x",f),v=l.$T(v,i,la()),o&&l.$T(o,i,la())),v.attr("x",f).attr("y",g).style("fill",a)}}};function Fx(t){return nr(t)&&ve(t.create)&&ve(t.update)}function Bx(t,e){var n;const a=this,i=(c,f)=>{const g=c.attributes;for(let v=0,m;m=g[v];v++)m=m.name,f.setAttribute(m,c.getAttribute(m))},o=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,l=vn.createElementNS(ae.svg,o.nodeName.toLowerCase());if(l.id=e,l.style.fill="inherit",l.style.stroke="inherit",i(o,l),(n=o.childNodes)!=null&&n.length){const c=st(l);"innerHTML"in l?c.html(o.innerHTML):Lr(o.childNodes).forEach(f=>{i(f,c.append(f.tagName).node())})}a.$el.defs.node().appendChild(l)}var ca={hasValidPointType(t){return/^(circle|rect(angle)?|polygon|ellipse|use)$/i.test(t||this.config.point_type)},hasLegendDefsPoint(){var t;const{config:e}=this;return e.legend_show&&((t=e.point_pattern)==null?void 0:t.length)&&e.legend_usePoint},getDefsPointId(t){const{state:{datetimeId:e}}=this;return`${e}-point${t}`},generatePoint(){const t=this,{$el:e,config:n}=t,a=[],i=cn(n.point_pattern)?n.point_pattern:[n.point_type];return function(s,o,...l){return function(c){var f,g,v,m;const S=t.getTargetSelectorSuffix(c.id||((f=c.data)==null?void 0:f.id)||c),P=st(this);a.indexOf(S)<0&&a.push(S);let N=i[a.indexOf(S)%i.length];if(t.hasValidPointType(N))N=t[N];else if(!Fx(N||n.point_type)){const L=t.getDefsPointId(S);if(e.defs.select(`#${L}`).size()<1&&Bx.bind(t)(N,L),s==="create")return(g=t.custom)==null?void 0:g.create.bind(o)(P,L,...l);if(s==="update")return(v=t.custom)==null?void 0:v.update.bind(o)(P,...l)}return(m=N[s])==null?void 0:m.bind(o)(P,...l)}}}};function ku(t){const e=t.config.polar_level_max;let n=t.getMinMaxData().max[0].value;return e&&e>n&&(n=e),n}var Ux={initPolar(){const t=this,{$el:{arcs:e},config:n}=t,a=n.polar_level_text_show,i=n.polar_level_text_backgroundColor;e.levels=e.append("g").attr("class",Tr.levels),a&&i&&t.generateTextBGColorFilter(i)},getPolarOuterRadius(t,e){var n;const a=ku(this);return((n=t==null?void 0:t.data.values[0].value)!=null?n:0)/a*e},updateTargetsForPolar(t){this.updateTargetsForArc(t)},redrawPolar(){const t=this,{config:e}=t;e.polar_level_show&&t.updatePolarLevel()},updatePolarLevel(){const t=this,{config:e,state:n,$el:{arcs:{levels:a}}}=t,i=e.polar_level_depth,s=ku(t),o=Ei(0,i),l=n.radius,c=o.map(m=>l*((m+1)/i)),f=(e.polar_level_text_format||function(){}).bind(t.api),g=a.selectAll(`.${Tr.level}`).data(o);g.exit().remove();const v=g.enter().append("g").attr("class",(m,S)=>`${Tr.level} ${Tr.level}-${S}`);if(v.append("circle"),v.merge(g).selectAll("circle").style("visibility",e.polar_level_show?null:"hidden").attr("cx",0).attr("cy",0).attr("r",m=>c[m]),e.polar_level_text_show){const m=e.polar_level_text_backgroundColor,S=`#${n.datetimeId}-labels-bg${t.getTargetSelectorSuffix(m)}`;v.append("text").style("text-anchor","middle"),v.merge(g).selectAll("text").attr("dy",P=>-c[P]+5).attr("filter",m?`url(${S})`:null).text(P=>f(s/o.length*(P+1)))}}};function zx(t,e,n,a,i,s){const o=t&&a>0?n-a:a,l=2*Math.PI;return i*(1-s*(e==="x"?Math.sin:Math.cos)(o*l/n))}const ua=Ln.radarPoints,Qu=Ln.radarTextWidth;var jx={initRadar(){const t=this,{config:e,state:{current:n},$el:a}=t;t.hasType("radar")&&(a.radar=a.main.select(`.${Se.chart}`).append("g").attr("class",ko.chartRadars),a.radar.levels=a.radar.append("g").attr("class",Tr.levels),a.radar.axes=a.radar.append("g").attr("class",dn.axis),a.radar.shapes=a.radar.append("g").attr("class",on.shapes),n.dataMax=e.radar_axis_max||t.getMinMaxData().max[0].value,e.radar_axis_text_show&&(e.interaction_enabled&&t.bindRadarEvent(),t.updateRadarLevel(),t.updateRadarAxes()))},getRadarSize(){const t=this,{config:e,state:{arcWidth:n,arcHeight:a}}=t,i=e.axis_x_categories.length<4?-20:10,s=(Math.min(n,a)-i)/2;return[s,s]},updateTargetsForRadar(t){const e=this,{config:n}=e;qn(n.axis_x_categories)&&(n.axis_x_categories=Ei(0,_n("max",t.map(a=>a.values.length)))),e.generateRadarPoints()},getRadarPosition(t,e,n,a){const i=this,{config:s}=i,[o,l]=i.getRadarSize(),c=s.axis_x_categories.length,f=s.radar_direction_clockwise,g=Lr(t).map(v=>zx(f,v,c,e,ke(n)?n:t==="x"?o:l,he(a)?a:s.radar_size_ratio));return g.length===1?g[0]:g},generateRadarPoints(){const t=this,e=t.data.targets,[n,a]=t.getRadarSize(),i=t.cache.get(ua)||{},s=i._size;(!s||s.width!==n&&s.height!==a)&&(e.forEach(o=>{i[o.id]=o.values.map((l,c)=>t.getRadarPosition(["x","y"],c,void 0,t.getRatio("radar",l)))}),i._size={width:n,height:a},t.cache.add(ua,i))},redrawRadar(){const t=this,{radar:e,main:n}=t.$el,a=t.getTranslate("radar");a&&(e.attr("transform",a),n.select(`.${On.chartTexts}`).attr("transform",a),t.generateRadarPoints(),t.updateRadarLevel(),t.updateRadarAxes(),t.updateRadarShape())},generateGetRadarPoints(){const t=this.cache.get(ua);return(e,n)=>{const a=t[e.id][n];return[a,a,a,a]}},updateRadarLevel(){const t=this,{config:e,state:n,$el:{radar:a}}=t,[i,s]=t.getRadarSize(),o=e.radar_level_depth,l=e.axis_x_categories.length,c=e.radar_level_text_show,f=a.levels,g=Ei(0,o),v=e.radar_size_ratio*Math.min(i,s),m=g.map(w=>v*((w+1)/o)),S=(e.radar_level_text_format||function(){}).bind(t.api),P=g.map(w=>{const X=m[w];return Ei(0,l).map(Y=>t.getRadarPosition(["x","y"],Y,X,1).join(",")).join(" ")}),N=f.selectAll(`.${Tr.level}`).data(g);N.exit().remove();const L=N.enter().append("g").attr("class",(w,X)=>`${Tr.level} ${Tr.level}-${X}`);L.append("polygon").style("visibility",e.radar_level_show?null:"hidden"),c&&(f.select("text").empty()&&f.append("text").attr("dx","-.5em").attr("dy","-.7em").style("text-anchor","end").text(()=>S(0)),L.append("text").attr("dx","-.5em").style("text-anchor","end").text(w=>S(n.current.dataMax/g.length*(w+1)))),L.merge(N).attr("transform",w=>`translate(${i-m[w]}, ${s-m[w]})`).selectAll("polygon").attr("points",w=>P[w]),c&&f.selectAll("text").attr("x",w=>ln(w)?i:P[w].split(",")[0]).attr("y",w=>ln(w)?s:0)},updateRadarAxes(){const t=this,{config:e,$el:{radar:n}}=t,[a,i]=t.getRadarSize(),s=e.axis_x_categories;let o=n.axes.selectAll("g").data(s);o.exit().remove();const l=o.enter().append("g").attr("class",(c,f)=>`${dn.axis}-${f}`);if(e.radar_axis_line_show&&l.append("line"),e.radar_axis_text_show&&l.append("text"),o=l.merge(o),e.radar_axis_line_show&&o.select("line").attr("x1",a).attr("y1",i).attr("x2",(c,f)=>t.getRadarPosition("x",f)).attr("y2",(c,f)=>t.getRadarPosition("y",f)),e.radar_axis_text_show){const{x:c=0,y:f=0}=e.radar_axis_text_position,g=t.cache.get(Qu)||0;if(o.select("text").style("text-anchor","middle").attr("dy",".5em").call(v=>{v.each(function(m){wa(st(this),String(m),[-.6,1.2])})}).datum((v,m)=>({index:m})).attr("transform",function(v){ln(this.width)&&(this.width=this.getBoundingClientRect().width/2);let m=t.getRadarPosition("x",v.index,void 0,1),S=Math.round(t.getRadarPosition("y",v.index,void 0,1));return m>a?m+=this.width+c:Math.round(m)<a&&(m-=this.width+c),S>i?(S/2===i&&this.firstChild.tagName==="tspan"&&this.firstChild.setAttribute("dy","0em"),S+=f):S<i&&(S-=f),`translate(${m} ${S})`}),!g){const v=[n.axes,n.levels].map(m=>Hl(m.node()).width);v.every(m=>m>0)&&t.cache.add(Qu,v[0]-v[1])}}},bindRadarEvent(){const t=this,{config:e,state:n,$el:{radar:a,svg:i}}=t,s=t.isPointFocusOnly(),{inputType:o,transiting:l}=n,c=o==="mouse",f=g=>{if(n.event=g,!e.interaction_onout)return;const v=t.getDataIndexFromEvent(g),m=ln(v);(c||m)&&(t.hideTooltip(),s?t.hideCircleFocus():t.unexpandCircles(),c?t.setOverOut(!1,v):m&&t.callOverOutForTouch())};a.axes.on(c?"mouseover ":"touchstart",g=>{if(l)return;n.event=g;const v=t.getDataIndexFromEvent(g);t.selectRectForSingle(i.node(),v),c?t.setOverOut(!0,v):t.callOverOutForTouch(v)}).on("mouseout",c?f:null),c||i.on("touchstart",f)},updateRadarShape(){const t=this,e=t.data.targets.filter(s=>t.isRadarType(s)),n=t.cache.get(ua),a=t.$el.radar.shapes.selectAll("polygon").data(e),i=a.enter().append("g").attr("class",t.getChartClass("Radar"));t.$T(a.exit()).remove(),i.append("polygon").merge(a).style("fill",t.color).style("stroke",t.color).attr("points",s=>n[s.id].join(" ")),t.updateTargetForCircle(e,i)},radarCircleX(t){return this.cache.get(ua)[t.id][t.index][0]},radarCircleY(t){return this.cache.get(ua)[t.id][t.index][1]}};function Gx(t){var e=0,n=t.children,a=n&&n.length;if(!a)e=1;else for(;--a>=0;)e+=n[a].value;t.value=e}function Vx(){return this.eachAfter(Gx)}function Xx(t,e){let n=-1;for(const a of this)t.call(e,a,++n,this);return this}function Yx(t,e){for(var n=this,a=[n],i,s,o=-1;n=a.pop();)if(t.call(e,n,++o,this),i=n.children)for(s=i.length-1;s>=0;--s)a.push(i[s]);return this}function Hx(t,e){for(var n=this,a=[n],i=[],s,o,l,c=-1;n=a.pop();)if(i.push(n),s=n.children)for(o=0,l=s.length;o<l;++o)a.push(s[o]);for(;n=i.pop();)t.call(e,n,++c,this);return this}function Wx(t,e){let n=-1;for(const a of this)if(t.call(e,a,++n,this))return a}function Kx(t){return this.eachAfter(function(e){for(var n=+t(e.data)||0,a=e.children,i=a&&a.length;--i>=0;)n+=a[i].value;e.value=n})}function Zx(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function Jx(t){for(var e=this,n=kx(e,t),a=[e];e!==n;)e=e.parent,a.push(e);for(var i=a.length;t!==n;)a.splice(i,0,t),t=t.parent;return a}function kx(t,e){if(t===e)return t;var n=t.ancestors(),a=e.ancestors(),i=null;for(t=n.pop(),e=a.pop();t===e;)i=t,t=n.pop(),e=a.pop();return i}function Qx(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function qx(){return Array.from(this)}function _x(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function t0(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e}function*e0(){var t=this,e,n=[t],a,i,s;do for(e=n.reverse(),n=[];t=e.pop();)if(yield t,a=t.children)for(i=0,s=a.length;i<s;++i)n.push(a[i]);while(n.length)}function Ro(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=a0)):e===void 0&&(e=r0);for(var n=new ki(t),a,i=[n],s,o,l,c;a=i.pop();)if((o=e(a.data))&&(c=(o=Array.from(o)).length))for(a.children=o,l=c-1;l>=0;--l)i.push(s=o[l]=new ki(o[l])),s.parent=a,s.depth=a.depth+1;return n.eachBefore(s0)}function n0(){return Ro(this).eachBefore(i0)}function r0(t){return t.children}function a0(t){return Array.isArray(t)?t[1]:null}function i0(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function s0(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function ki(t){this.data=t,this.depth=this.height=0,this.parent=null}ki.prototype=Ro.prototype={constructor:ki,count:Vx,each:Xx,eachAfter:Hx,eachBefore:Yx,find:Wx,sum:Kx,sort:Zx,path:Jx,ancestors:Qx,descendants:qx,leaves:_x,links:t0,copy:n0,[Symbol.iterator]:e0};function o0(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Qi(t,e,n,a,i){for(var s=t.children,o,l=-1,c=s.length,f=t.value&&(a-e)/t.value;++l<c;)o=s[l],o.y0=n,o.y1=i,o.x0=e,o.x1=e+=o.value*f}function qi(t,e,n,a,i){for(var s=t.children,o,l=-1,c=s.length,f=t.value&&(i-n)/t.value;++l<c;)o=s[l],o.x0=e,o.x1=a,o.y0=n,o.y1=n+=o.value*f}var qu=(1+Math.sqrt(5))/2;function _u(t,e,n,a,i,s){for(var o=[],l=e.children,c,f,g=0,v=0,m=l.length,S,P,N=e.value,L,w,X,W,Y,Q,K;g<m;){S=i-n,P=s-a;do L=l[v++].value;while(!L&&v<m);for(w=X=L,Q=Math.max(P/S,S/P)/(N*t),K=L*L*Q,Y=Math.max(X/K,K/w);v<m;++v){if(L+=f=l[v].value,f<w&&(w=f),f>X&&(X=f),K=L*L*Q,W=Math.max(X/K,K/w),W>Y){L-=f;break}Y=W}o.push(c={value:L,dice:S<P,children:l.slice(g,v)}),c.dice?Qi(c,n,a,i,N?a+=P*L/N:s):qi(c,n,a,N?n+=S*L/N:i,s),N-=L,g=v}return o}var tf=function t(e){function n(a,i,s,o,l){_u(e,a,i,s,o,l)}return n.ratio=function(a){return t((a=+a)>1?a:1)},n}(qu);function C1(t){return t==null?null:ef(t)}function ef(t){if(typeof t!="function")throw new Error;return t}function za(){return 0}function ja(t){return function(){return t}}function l0(){var t=tf,e=!1,n=1,a=1,i=[0],s=za,o=za,l=za,c=za,f=za;function g(m){return m.x0=m.y0=0,m.x1=n,m.y1=a,m.eachBefore(v),i=[0],e&&m.eachBefore(o0),m}function v(m){var S=i[m.depth],P=m.x0+S,N=m.y0+S,L=m.x1-S,w=m.y1-S;L<P&&(P=L=(P+L)/2),w<N&&(N=w=(N+w)/2),m.x0=P,m.y0=N,m.x1=L,m.y1=w,m.children&&(S=i[m.depth+1]=s(m)/2,P+=f(m)-S,N+=o(m)-S,L-=l(m)-S,w-=c(m)-S,L<P&&(P=L=(P+L)/2),w<N&&(N=w=(N+w)/2),t(m,P,N,L,w))}return g.round=function(m){return arguments.length?(e=!!m,g):e},g.size=function(m){return arguments.length?(n=+m[0],a=+m[1],g):[n,a]},g.tile=function(m){return arguments.length?(t=ef(m),g):t},g.padding=function(m){return arguments.length?g.paddingInner(m).paddingOuter(m):g.paddingInner()},g.paddingInner=function(m){return arguments.length?(s=typeof m=="function"?m:ja(+m),g):s},g.paddingOuter=function(m){return arguments.length?g.paddingTop(m).paddingRight(m).paddingBottom(m).paddingLeft(m):g.paddingTop()},g.paddingTop=function(m){return arguments.length?(o=typeof m=="function"?m:ja(+m),g):o},g.paddingRight=function(m){return arguments.length?(l=typeof m=="function"?m:ja(+m),g):l},g.paddingBottom=function(m){return arguments.length?(c=typeof m=="function"?m:ja(+m),g):c},g.paddingLeft=function(m){return arguments.length?(f=typeof m=="function"?m:ja(+m),g):f},g}function nf(t,e,n,a,i){var s=t.children,o,l=s.length,c,f=new Array(l+1);for(f[0]=c=o=0;o<l;++o)f[o+1]=c+=s[o].value;g(0,l,t.value,e,n,a,i);function g(v,m,S,P,N,L,w){if(v>=m-1){var X=s[v];X.x0=P,X.y0=N,X.x1=L,X.y1=w;return}for(var W=f[v],Y=S/2+W,Q=v+1,K=m-1;Q<K;){var at=Q+K>>>1;f[at]<Y?Q=at+1:K=at}Y-f[Q-1]<f[Q]-Y&&v+1<Q&&--Q;var ht=f[Q]-W,St=S-ht;if(L-P>w-N){var ct=S?(P*St+L*ht)/S:L;g(v,Q,ht,P,N,ct,w),g(Q,m,St,ct,N,L,w)}else{var lt=S?(N*St+w*ht)/S:w;g(v,Q,ht,P,N,L,lt),g(Q,m,St,P,lt,L,w)}}}function c0(t,e,n,a,i){(t.depth&1?qi:Qi)(t,e,n,a,i)}var u0=function t(e){function n(a,i,s,o,l){if((c=a._squarify)&&c.ratio===e)for(var c,f,g,v,m=-1,S,P=c.length,N=a.value;++m<P;){for(f=c[m],g=f.children,v=f.value=0,S=g.length;v<S;++v)f.value+=g[v].value;f.dice?Qi(f,i,s,o,N?s+=(l-s)*f.value/N:l):qi(f,i,s,N?i+=(o-i)*f.value/N:o,l),N-=f.value}else a._squarify=c=_u(e,a,i,s,o,l),c.ratio=e}return n.ratio=function(a){return t((a=+a)>1?a:1)},n}(qu);function f0(t,e){const n=this,{scale:{x:a,y:i},state:{width:s}}=n;t.selectAll("g").attr("transform",o=>`translate(${o===e?"0,0":`${a(o.x0)},${i(o.y0)}`})`).select("rect").attr("width",o=>o===e?s:a(o.x1)-a(o.x0)).attr("height",o=>o===e?0:i(o.y1)-i(o.y0))}function d0(t){const e=this;return t.map(n=>{const{id:a,values:i}=n,{value:s}=i[0];return{name:a,id:a,value:s,ratio:e.getRatio("treemap",i[0])}})}function h0(t){const e=this,n=Ro(t).sum(i=>i.value),a=e.getSortCompareFn(!0);return[e.treemap(a?n.sort(a):n)]}var g0={initTreemap(){const t=this,{$el:e,state:{current:{width:n,height:a},clip:i,datetimeId:s}}=t;i.id=`${s}-clip`,t.treemap=l0().tile(t.getTreemapTile()),e.defs.append("clipPath").attr("id",i.id).append("rect").attr("width",n).attr("height",a),e.treemap=e.main.select(`.${Se.chart}`).attr("clip-path",`url(#${i.id})`).append("g").classed(qo.chartTreemaps,!0),t.bindTreemapEvent()},bindTreemapEvent(){const t=this,{$el:e,config:n,state:a}=t,i=s=>{var o;const l=s.isTrusted?s.target:(o=a.eventReceiver.rect)==null?void 0:o.node();let c;return/^rect$/i.test(l.tagName)&&(a.event=s,c=st(l).datum()),c==null?void 0:c.data};if(n.interaction_enabled){const s=a.inputType==="touch";e.treemap.on(s?"touchstart":"mouseover mousemove",o=>{const l=i(o);l&&(t.showTooltip([l],o.currentTarget),/^(touchstart|mouseover)$/.test(o.type)&&t.setOverOut(!0,l))}).on(s?"touchend":"mouseout",o=>{const l=i(o);n.interaction_onout&&(t.hideTooltip(),t.setOverOut(!1,l))})}},getTreemapTile(){var t,e;const n=this,{config:a,state:{current:{width:i,height:s}}}=n,o=(e={binary:nf,dice:Qi,slice:qi,sliceDice:c0,squarify:tf,resquarify:u0}[(t=a.treemap_tile)!=null?t:"binary"])!=null?e:nf;return(l,c,f,g,v)=>{o(l,0,0,i,s);for(const m of l.children)m.x0=c+m.x0/i*(g-c),m.x1=c+m.x1/i*(g-c),m.y0=f+m.y0/s*(v-f),m.y1=f+m.y1/s*(v-f)}},getTreemapData(t){const e=this;return{name:"root",children:d0.bind(e)(e.filterTargetsToShow(t.filter(e.isTreemapType,e)))}},updateTargetsForTreemap(t){const e=this,{$el:{treemap:n}}=e,a=h0.call(e,e.getTreemapData(t!=null?t:e.data.targets));n.data(a)},updateTreemap(t){const e=this,{$el:n,$T:a}=e,i=n.treemap.datum(),s=e.getChartClass("Treemap"),o=e.getClass("treemap",!0),l=n.treemap.selectAll("g").data(i.children);a(l.exit(),t).style("opacity","0").remove(),l.enter().append("g").append("rect"),n.treemap.selectAll("g").attr("class",s).select("rect").attr("class",o).attr("fill",c=>e.color(c.data.name))},generateGetTreemapPoints(){const t=this,{$el:e,scale:{x:n,y:a}}=t,i={};return e.treemap.selectAll("g").each(s=>{i[s.data.name]=[[n(s.x0),a(s.y0)],[n(s.x1),a(s.y1)]]}),s=>i[s.id]},redrawTreemap(t){const e=this,{$el:n,state:{current:{width:a,height:i}}}=e;return n.defs.select("rect").attr("width",a).attr("height",i),[e.$T(n.treemap,t,gr()).call(f0.bind(e),n.treemap.datum())]},treemapDataLabelFormat(t){const e=this,{config:n}=e,{id:a,value:i}=t,s=n.treemap_label_format,o=e.getRatio("treemap",t),l=(o*100).toFixed(2),c=n.treemap_label_show&&e.meetsLabelThreshold(o,"treemap")?null:"0";return function(f){return f.style("opacity",c),ve(s)?s.bind(e.api)(i,o,a):`${a} +${l}%`}}},Xr={point_show:!0,point_r:2.5,point_radialGradient:!1,point_sensitivity:10,point_focus_expand_enabled:!0,point_focus_expand_r:void 0,point_focus_only:!1,point_opacity:void 0,point_pattern:[],point_select_r:void 0,point_type:"circle"},fa={area_above:!1,area_below:!1,area_front:!0,area_linearGradient:!1,area_zerobased:!0},v0={bar_front:!1,bar_indices_removeNull:!1,bar_label_threshold:0,bar_linearGradient:!1,bar_overlap:!1,bar_padding:0,bar_radius:void 0,bar_radius_ratio:void 0,bar_sensitivity:2,bar_width:void 0,bar_width_ratio:.6,bar_width_max:void 0,bar_zerobased:!0},p0={bubble_maxR:35,bubble_zerobased:!1},m0={candlestick_width:void 0,candlestick_width_ratio:.6,candlestick_width_max:void 0,candlestick_color_down:"red"},y0={line_connectNull:!1,line_step_type:"step",line_step_tooltipMatch:!1,line_zerobased:!1,line_classes:void 0,line_point:!0},x0={scatter_zerobased:!1},Io={spline_interpolation_type:"cardinal"},_i={arc_cornerRadius:0,arc_cornerRadius_ratio:0,arc_needle_show:!1,arc_needle_color:void 0,arc_needle_value:void 0,arc_needle_path:void 0,arc_needle_length:100,arc_needle_top_rx:0,arc_needle_top_ry:0,arc_needle_top_width:0,arc_needle_bottom_rx:1,arc_needle_bottom_ry:1,arc_needle_bottom_width:15,arc_needle_bottom_len:0,arc_rangeText_values:void 0,arc_rangeText_unit:"absolute",arc_rangeText_fixed:!1,arc_rangeText_format:void 0,arc_rangeText_position:void 0},T0={donut_label_show:!0,donut_label_format:void 0,donut_label_threshold:.05,donut_label_ratio:void 0,donut_width:void 0,donut_title:"",donut_expand:{},donut_expand_rate:.98,donut_expand_duration:50,donut_padAngle:0,donut_startingAngle:0},$0={funnel_neck_width:0,funnel_neck_height:0},S0={gauge_background:"",gauge_fullCircle:!1,gauge_label_show:!0,gauge_label_extents:void 0,gauge_label_format:void 0,gauge_label_ratio:void 0,gauge_label_threshold:0,gauge_enforceMinMax:!1,gauge_min:0,gauge_max:100,gauge_type:"single",gauge_startingAngle:-1*Math.PI/2,gauge_arcLength:100,gauge_title:"",gauge_units:void 0,gauge_width:void 0,gauge_arcs_minWidth:5,gauge_expand:{},gauge_expand_rate:.98,gauge_expand_duration:50},A0={pie_label_show:!0,pie_label_format:void 0,pie_label_ratio:void 0,pie_label_threshold:.05,pie_expand:{},pie_expand_rate:.98,pie_expand_duration:50,pie_innerRadius:0,pie_outerRadius:void 0,pie_padAngle:0,pie_padding:0,pie_startingAngle:0},E0={polar_label_show:!0,polar_label_format:void 0,polar_label_threshold:.05,polar_label_ratio:void 0,polar_level_depth:3,polar_level_max:void 0,polar_level_show:!0,polar_level_text_backgroundColor:"#fff",polar_level_text_format:t=>t%1===0?t:t.toFixed(2),polar_level_text_show:!0,polar_padAngle:0,polar_padding:0,polar_startingAngle:0},b0={radar_axis_max:void 0,radar_axis_line_show:!0,radar_axis_text_show:!0,radar_axis_text_position:{},radar_level_depth:3,radar_level_show:!0,radar_level_text_format:t=>t%1===0?t:t.toFixed(2),radar_level_text_show:!0,radar_size_ratio:.87,radar_direction_clockwise:!1},R0={treemap_tile:"binary",treemap_label_format:void 0,treemap_label_threshold:.05,treemap_label_show:!0};function da(t,e){xn(Gr.prototype,Object.values(Du).concat(t)),xn(Er.prototype,Jy),Nr.setOptions(Object.values(Lu).concat(e||[]))}function mr(t,e){da([ca,Ji,Nx].concat(t||[])),Nr.setOptions([Xr,y0].concat(e||[]))}function ha(t,e){xn(Gr.prototype,[px,ca].concat(t||[])),Nr.setOptions([Xr].concat(e||[]))}let rf=()=>(mr(oa,[fa]),(rf=()=>se.AREA)()),af=()=>(mr(oa,[fa]),(af=()=>se.AREA_LINE_RANGE)()),sf=()=>(mr(oa,[fa]),(sf=()=>se.AREA_STEP_RANGE)()),of=()=>(mr(oa,[fa,Io]),(of=()=>se.AREA_SPLINE)()),lf=()=>(mr(oa,[fa,Io]),(lf=()=>se.AREA_SPLINE_RANGE)()),cf=()=>(mr(oa,[fa]),(cf=()=>se.AREA_STEP)()),uf=()=>(mr(),(uf=()=>se.LINE)()),ff=()=>(mr(void 0,[Io]),(ff=()=>se.SPLINE)()),df=()=>(mr(),(df=()=>se.STEP)()),hf=()=>(ha(void 0,[_i,T0]),(hf=()=>se.DONUT)()),gf=()=>(ha([Mx],[_i,S0]),(gf=()=>se.GAUGE)()),vf=()=>(ha(void 0,[_i,A0]),(vf=()=>se.PIE)()),pf=()=>(ha([Ux],[_i,E0]),(pf=()=>se.POLAR)()),mf=()=>(ha([Du.eventrect,Ji,jx],[Xr,b0,{axis_x_categories:Lu.optAxis.axis_x_categories}]),(mf=()=>se.RADAR)()),yf=()=>(da([yx,ca],[v0,Xr]),(yf=()=>se.BAR)()),xf=()=>(da([ca,Ji,xx],[p0,Xr]),(xf=()=>se.BUBBLE)()),Tf=()=>(da([Ex,ca],[m0,Xr]),(Tf=()=>se.CANDLESTICK)()),$f=()=>(da([ca,Ji],[Xr,x0]),($f=()=>se.SCATTER)()),Sf=()=>(ha([wx],[$0]),(Sf=()=>se.FUNNEL)()),Af=()=>(da([g0],[R0]),(Af=()=>se.TREEMAP)()),Oo={};const Ef={version:"3.14.2",generate(t){const e=ea({},Oo,t),n=new Er(e);return n.internal.charts=this.instance,this.instance.push(n),n},defaults(t){return Be(t)&&(Oo=t),Oo},instance:[],plugin:{}};Object.keys(d).forEach(t=>d[t]()),Object.keys(u).forEach(t=>u[t]())}],Va={};function jn(x){var b=Va[x];if(b!==void 0)return b.exports;var r=Va[x]={exports:{}};return Co[x].call(r.exports,r,r.exports,jn),r.exports}(function(){jn.d=function(x,b){for(var r in b)jn.o(b,r)&&!jn.o(x,r)&&Object.defineProperty(x,r,{enumerable:!0,get:b[r]})}})(),function(){jn.o=function(x,b){return Object.prototype.hasOwnProperty.call(x,b)}}(),function(){jn.r=function(x){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(x,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(x,"__esModule",{value:!0})}}(),jn(0);var Xa=jn(576);return Xa}()}); diff --git a/release/3.14.2/dist/package.json b/release/3.14.2/dist/package.json new file mode 100644 index 000000000..0292b9956 --- /dev/null +++ b/release/3.14.2/dist/package.json @@ -0,0 +1 @@ +{"type":"commonjs"} \ No newline at end of file diff --git a/release/3.14.2/dist/plugin/billboardjs-plugin-bubblecompare.d.ts b/release/3.14.2/dist/plugin/billboardjs-plugin-bubblecompare.d.ts new file mode 100644 index 000000000..59f361458 --- /dev/null +++ b/release/3.14.2/dist/plugin/billboardjs-plugin-bubblecompare.d.ts @@ -0,0 +1,7 @@ +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +import PluginClass from "../../types/plugin/bubblecompare"; + +export default PluginClass; diff --git a/release/3.14.2/dist/plugin/billboardjs-plugin-bubblecompare.js b/release/3.14.2/dist/plugin/billboardjs-plugin-bubblecompare.js new file mode 100644 index 000000000..c546fbc32 --- /dev/null +++ b/release/3.14.2/dist/plugin/billboardjs-plugin-bubblecompare.js @@ -0,0 +1,205 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("d3-selection")); + else if(typeof define === 'function' && define.amd) + define("bb", ["d3-selection"], factory); + else if(typeof exports === 'object') + exports["bb"] = factory(require("d3-selection")); + else + root["bb"] = root["bb"] || {}, root["bb"]["plugin"] = root["bb"]["plugin"] || {}, root["bb"]["plugin"]["bubblecompare"] = factory(root["d3"]); +})(this, function(__WEBPACK_EXTERNAL_MODULE__1__) { +return /******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ([ +/* 0 */, +/* 1 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__1__; + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk. +!function() { + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "default": function() { return /* binding */ BubbleCompare; } +}); + +// EXTERNAL MODULE: external {"commonjs":"d3-selection","commonjs2":"d3-selection","amd":"d3-selection","root":"d3"} +var external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_ = __webpack_require__(1); +;// ./src/Plugin/Plugin.ts +var __defProp = Object.defineProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); +class Plugin { + /** + * Constructor + * @param {Any} options config option object + * @private + */ + constructor(options = {}) { + __publicField(this, "$$"); + __publicField(this, "options"); + this.options = options; + } + /** + * Lifecycle hook for 'beforeInit' phase. + * @private + */ + $beforeInit() { + } + /** + * Lifecycle hook for 'init' phase. + * @private + */ + $init() { + } + /** + * Lifecycle hook for 'afterInit' phase. + * @private + */ + $afterInit() { + } + /** + * Lifecycle hook for 'redraw' phase. + * @private + */ + $redraw() { + } + /** + * Lifecycle hook for 'willDestroy' phase. + * @private + */ + $willDestroy() { + Object.keys(this).forEach((key) => { + this[key] = null; + delete this[key]; + }); + } +} +__publicField(Plugin, "version", "3.14.2"); + +;// ./src/Plugin/bubblecompare/index.ts +var bubblecompare_defProp = Object.defineProperty; +var bubblecompare_defNormalProp = (obj, key, value) => key in obj ? bubblecompare_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var bubblecompare_publicField = (obj, key, value) => bubblecompare_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + +const _BubbleCompare = class _BubbleCompare extends Plugin { + constructor(options) { + super(options); + bubblecompare_publicField(this, "$$"); + return this; + } + $init() { + const { $$ } = this; + $$.findClosest = this.findClosest.bind(this); + $$.getBubbleR = this.getBubbleR.bind(this); + $$.pointExpandedR = this.pointExpandedR.bind(this); + } + pointExpandedR(d) { + const baseR = this.getBubbleR(d); + const { expandScale = 1 } = this.options; + _BubbleCompare.raiseFocusedBubbleLayer(d); + this.changeCursorPoint(); + return baseR * expandScale; + } + static raiseFocusedBubbleLayer(d) { + d.raise && (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.select)(d.node().parentNode.parentNode).raise(); + } + changeCursorPoint() { + this.$$.$el.eventRect.style("cursor", "pointer"); + } + findClosest(values, pos) { + const { $$ } = this; + return values.filter((v) => v && !$$.isBarType(v.id)).reduce((acc, cur) => { + const d = $$.dist(cur, pos); + return d < this.getBubbleR(cur) ? cur : acc; + }, 0); + } + getBubbleR(d) { + const { minR, maxR } = this.options; + const curVal = this.getZData(d); + if (!curVal) return minR; + const [min, max] = this.$$.data.targets.reduce( + ([accMin, accMax], cur) => { + const val = this.getZData(cur.values[0]); + return [Math.min(accMin, val), Math.max(accMax, val)]; + }, + [1e4, 0] + ); + const size = min > 0 && max === min ? 0 : curVal / max; + return Math.abs(size) * (maxR - minR) + minR; + } + getZData(d) { + return this.$$.isBubbleZType(d) ? this.$$.getBubbleZData(d.value, "z") : d.value; + } +}; +bubblecompare_publicField(_BubbleCompare, "version", `0.0.1`); +let BubbleCompare = _BubbleCompare; + + +}(); +__webpack_exports__ = __webpack_exports__["default"]; +/******/ return __webpack_exports__; +/******/ })() +; +}); \ No newline at end of file diff --git a/release/3.14.2/dist/plugin/billboardjs-plugin-bubblecompare.min.js b/release/3.14.2/dist/plugin/billboardjs-plugin-bubblecompare.min.js new file mode 100644 index 000000000..68f26e1a3 --- /dev/null +++ b/release/3.14.2/dist/plugin/billboardjs-plugin-bubblecompare.min.js @@ -0,0 +1,11 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */(function(n,i){typeof exports=="object"&&typeof module=="object"?module.exports=i(require("d3-selection")):typeof define=="function"&&define.amd?define("bb",["d3-selection"],i):typeof exports=="object"?exports.bb=i(require("d3-selection")):(n.bb=n.bb||{},n.bb.plugin=n.bb.plugin||{},n.bb.plugin.bubblecompare=i(n.d3))})(this,function(p){return function(){"use strict";var n={747:function(r){r.exports=p}},i={};function s(r){var e=i[r];if(e!==void 0)return e.exports;var t=i[r]={exports:{}};return n[r](t,t.exports,s),t.exports}(function(){s.d=function(r,e){for(var t in e)s.o(e,t)&&!s.o(r,t)&&Object.defineProperty(r,t,{enumerable:!0,get:e[t]})}})(),function(){s.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)}}();var b={};s.d(b,{default:function(){return R}});var $=s(747),g=Object.defineProperty,v=(r,e,t)=>e in r?g(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,l=(r,e,t)=>v(r,typeof e!="symbol"?e+"":e,t);class d{constructor(e={}){l(this,"$$"),l(this,"options"),this.options=e}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(e=>{this[e]=null,delete this[e]})}}l(d,"version","3.14.2");var x=Object.defineProperty,B=(r,e,t)=>e in r?x(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,_=(r,e,t)=>B(r,typeof e!="symbol"?e+"":e,t);const f=class m extends d{constructor(e){return super(e),_(this,"$$"),this}$init(){const{$$:e}=this;e.findClosest=this.findClosest.bind(this),e.getBubbleR=this.getBubbleR.bind(this),e.pointExpandedR=this.pointExpandedR.bind(this)}pointExpandedR(e){const t=this.getBubbleR(e),{expandScale:a=1}=this.options;return m.raiseFocusedBubbleLayer(e),this.changeCursorPoint(),t*a}static raiseFocusedBubbleLayer(e){e.raise&&(0,$.select)(e.node().parentNode.parentNode).raise()}changeCursorPoint(){this.$$.$el.eventRect.style("cursor","pointer")}findClosest(e,t){const{$$:a}=this;return e.filter(o=>o&&!a.isBarType(o.id)).reduce((o,u)=>a.dist(u,t)<this.getBubbleR(u)?u:o,0)}getBubbleR(e){const{minR:t,maxR:a}=this.options,o=this.getZData(e);if(!o)return t;const[u,c]=this.$$.data.targets.reduce(([w,C],j)=>{const h=this.getZData(j.values[0]);return[Math.min(w,h),Math.max(C,h)]},[1e4,0]),P=u>0&&c===u?0:o/c;return Math.abs(P)*(a-t)+t}getZData(e){return this.$$.isBubbleZType(e)?this.$$.getBubbleZData(e.value,"z"):e.value}};_(f,"version","0.0.1");let R=f;return b=b.default,b}()}); diff --git a/release/3.14.2/dist/plugin/billboardjs-plugin-sparkline.d.ts b/release/3.14.2/dist/plugin/billboardjs-plugin-sparkline.d.ts new file mode 100644 index 000000000..8ecf64294 --- /dev/null +++ b/release/3.14.2/dist/plugin/billboardjs-plugin-sparkline.d.ts @@ -0,0 +1,7 @@ +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +import PluginClass from "../../types/plugin/sparkline"; + +export default PluginClass; diff --git a/release/3.14.2/dist/plugin/billboardjs-plugin-sparkline.js b/release/3.14.2/dist/plugin/billboardjs-plugin-sparkline.js new file mode 100644 index 000000000..5d6a942b6 --- /dev/null +++ b/release/3.14.2/dist/plugin/billboardjs-plugin-sparkline.js @@ -0,0 +1,1016 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("d3-brush"), require("d3-selection")); + else if(typeof define === 'function' && define.amd) + define("bb", ["d3-brush", "d3-selection"], factory); + else if(typeof exports === 'object') + exports["bb"] = factory(require("d3-brush"), require("d3-selection")); + else + root["bb"] = root["bb"] || {}, root["bb"]["plugin"] = root["bb"]["plugin"] || {}, root["bb"]["plugin"]["sparkline"] = factory(root["d3"], root["d3"]); +})(this, function(__WEBPACK_EXTERNAL_MODULE__3__, __WEBPACK_EXTERNAL_MODULE__1__) { +return /******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ([ +/* 0 */, +/* 1 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__1__; + +/***/ }), +/* 2 */, +/* 3 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__3__; + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk. +!function() { + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "default": function() { return /* binding */ Sparkline; } +}); + +;// ./src/config/classes.ts +var __defProp = Object.defineProperty; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +const $COMMON = { + button: "bb-button", + chart: "bb-chart", + empty: "bb-empty", + main: "bb-main", + target: "bb-target", + EXPANDED: "_expanded_" +}; +const $ARC = { + arc: "bb-arc", + arcLabelLine: "bb-arc-label-line", + arcRange: "bb-arc-range", + arcs: "bb-arcs", + chartArc: "bb-chart-arc", + chartArcs: "bb-chart-arcs", + chartArcsBackground: "bb-chart-arcs-background", + chartArcsTitle: "bb-chart-arcs-title", + needle: "bb-needle" +}; +const $AREA = { + area: "bb-area", + areas: "bb-areas" +}; +const $AXIS = { + axis: "bb-axis", + axisX: "bb-axis-x", + axisXLabel: "bb-axis-x-label", + axisY: "bb-axis-y", + axisY2: "bb-axis-y2", + axisY2Label: "bb-axis-y2-label", + axisYLabel: "bb-axis-y-label", + axisXTooltip: "bb-axis-x-tooltip", + axisYTooltip: "bb-axis-y-tooltip", + axisY2Tooltip: "bb-axis-y2-tooltip" +}; +const $BAR = { + bar: "bb-bar", + bars: "bb-bars", + chartBar: "bb-chart-bar", + chartBars: "bb-chart-bars" +}; +const $CANDLESTICK = { + candlestick: "bb-candlestick", + candlesticks: "bb-candlesticks", + chartCandlestick: "bb-chart-candlestick", + chartCandlesticks: "bb-chart-candlesticks", + valueDown: "bb-value-down", + valueUp: "bb-value-up" +}; +const $CIRCLE = { + chartCircles: "bb-chart-circles", + circle: "bb-circle", + circles: "bb-circles" +}; +const $COLOR = { + colorPattern: "bb-color-pattern", + colorScale: "bb-colorscale" +}; +const $DRAG = { + dragarea: "bb-dragarea", + INCLUDED: "_included_" +}; +const $FUNNEL = { + funnel: "bb-funnel", + chartFunnel: "bb-chart-funnel", + chartFunnels: "bb-chart-funnels", + funnelBackground: "bb-funnel-background" +}; +const $GAUGE = { + chartArcsGaugeMax: "bb-chart-arcs-gauge-max", + chartArcsGaugeMin: "bb-chart-arcs-gauge-min", + chartArcsGaugeUnit: "bb-chart-arcs-gauge-unit", + chartArcsGaugeTitle: "bb-chart-arcs-gauge-title", + gaugeValue: "bb-gauge-value" +}; +const $LEGEND = { + legend: "bb-legend", + legendBackground: "bb-legend-background", + legendItem: "bb-legend-item", + legendItemEvent: "bb-legend-item-event", + legendItemHidden: "bb-legend-item-hidden", + legendItemPoint: "bb-legend-item-point", + legendItemTile: "bb-legend-item-tile" +}; +const $LINE = { + chartLine: "bb-chart-line", + chartLines: "bb-chart-lines", + line: "bb-line", + lines: "bb-lines" +}; +const $EVENT = { + eventRect: "bb-event-rect", + eventRects: "bb-event-rects", + eventRectsMultiple: "bb-event-rects-multiple", + eventRectsSingle: "bb-event-rects-single" +}; +const $FOCUS = { + focused: "bb-focused", + defocused: "bb-defocused", + legendItemFocused: "bb-legend-item-focused", + xgridFocus: "bb-xgrid-focus", + ygridFocus: "bb-ygrid-focus" +}; +const $GRID = { + grid: "bb-grid", + gridLines: "bb-grid-lines", + xgrid: "bb-xgrid", + xgridLine: "bb-xgrid-line", + xgridLines: "bb-xgrid-lines", + xgrids: "bb-xgrids", + ygrid: "bb-ygrid", + ygridLine: "bb-ygrid-line", + ygridLines: "bb-ygrid-lines", + ygrids: "bb-ygrids" +}; +const $LEVEL = { + level: "bb-level", + levels: "bb-levels" +}; +const $RADAR = { + chartRadar: "bb-chart-radar", + chartRadars: "bb-chart-radars" +}; +const $REGION = { + region: "bb-region", + regions: "bb-regions" +}; +const $SELECT = { + selectedCircle: "bb-selected-circle", + selectedCircles: "bb-selected-circles", + SELECTED: "_selected_" +}; +const $SHAPE = { + shape: "bb-shape", + shapes: "bb-shapes" +}; +const $SUBCHART = { + brush: "bb-brush", + subchart: "bb-subchart" +}; +const $TEXT = { + chartText: "bb-chart-text", + chartTexts: "bb-chart-texts", + text: "bb-text", + texts: "bb-texts", + title: "bb-title", + TextOverlapping: "text-overlapping" +}; +const $TOOLTIP = { + tooltip: "bb-tooltip", + tooltipContainer: "bb-tooltip-container", + tooltipName: "bb-tooltip-name" +}; +const $TREEMAP = { + treemap: "bb-treemap", + chartTreemap: "bb-chart-treemap", + chartTreemaps: "bb-chart-treemaps" +}; +const $ZOOM = { + buttonZoomReset: "bb-zoom-reset", + zoomBrush: "bb-zoom-brush" +}; +/* harmony default export */ var classes = (__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, $COMMON), $ARC), $AREA), $AXIS), $BAR), $CANDLESTICK), $CIRCLE), $COLOR), $DRAG), $GAUGE), $LEGEND), $LINE), $EVENT), $FOCUS), $FUNNEL), $GRID), $RADAR), $REGION), $SELECT), $SHAPE), $SUBCHART), $TEXT), $TOOLTIP), $TREEMAP), $ZOOM)); + +// EXTERNAL MODULE: external {"commonjs":"d3-brush","commonjs2":"d3-brush","amd":"d3-brush","root":"d3"} +var external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_ = __webpack_require__(3); +// EXTERNAL MODULE: external {"commonjs":"d3-selection","commonjs2":"d3-selection","amd":"d3-selection","root":"d3"} +var external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_ = __webpack_require__(1); +;// ./src/module/browser.ts +function getGlobal() { + return typeof globalThis === "object" && globalThis !== null && globalThis.Object === Object && globalThis || typeof global === "object" && global !== null && global.Object === Object && global || typeof self === "object" && self !== null && self.Object === Object && self || Function("return this")(); +} +function getFallback(w) { + const hasRAF = typeof (w == null ? void 0 : w.requestAnimationFrame) === "function" && typeof (w == null ? void 0 : w.cancelAnimationFrame) === "function"; + const hasRIC = typeof (w == null ? void 0 : w.requestIdleCallback) === "function" && typeof (w == null ? void 0 : w.cancelIdleCallback) === "function"; + const request = (cb) => setTimeout(cb, 1); + const cancel = (id) => clearTimeout(id); + return [ + hasRAF ? w.requestAnimationFrame : request, + hasRAF ? w.cancelAnimationFrame : cancel, + hasRIC ? w.requestIdleCallback : request, + hasRIC ? w.cancelIdleCallback : cancel + ]; +} +const win = getGlobal(); +const doc = win == null ? void 0 : win.document; +const [ + requestAnimationFrame, + cancelAnimationFrame, + requestIdleCallback, + cancelIdleCallback +] = getFallback(win); + + +;// ./src/module/util.ts +var util_defProp = Object.defineProperty; +var util_getOwnPropSymbols = Object.getOwnPropertySymbols; +var util_hasOwnProp = Object.prototype.hasOwnProperty; +var util_propIsEnum = Object.prototype.propertyIsEnumerable; +var util_defNormalProp = (obj, key, value) => key in obj ? util_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var util_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (util_hasOwnProp.call(b, prop)) + util_defNormalProp(a, prop, b[prop]); + if (util_getOwnPropSymbols) + for (var prop of util_getOwnPropSymbols(b)) { + if (util_propIsEnum.call(b, prop)) + util_defNormalProp(a, prop, b[prop]); + } + return a; +}; + + + + +const isValue = (v) => v || v === 0; +const isFunction = (v) => typeof v === "function"; +const isString = (v) => typeof v === "string"; +const isNumber = (v) => typeof v === "number"; +const isUndefined = (v) => typeof v === "undefined"; +const isDefined = (v) => typeof v !== "undefined"; +const isBoolean = (v) => typeof v === "boolean"; +const ceil10 = (v) => Math.ceil(v / 10) * 10; +const asHalfPixel = (n) => Math.ceil(n) + 0.5; +const diffDomain = (d) => d[1] - d[0]; +const isObjectType = (v) => typeof v === "object"; +const isEmpty = (o) => isUndefined(o) || o === null || isString(o) && o.length === 0 || isObjectType(o) && !(o instanceof Date) && Object.keys(o).length === 0 || isNumber(o) && isNaN(o); +const notEmpty = (o) => !isEmpty(o); +const isArray = (arr) => Array.isArray(arr); +const isObject = (obj) => obj && !(obj == null ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); +function getOption(options, key, defaultValue) { + return isDefined(options[key]) ? options[key] : defaultValue; +} +function hasValue(dict, value) { + let found = false; + Object.keys(dict).forEach((key) => dict[key] === value && (found = true)); + return found; +} +function callFn(fn, thisArg, ...args) { + const isFn = isFunction(fn); + isFn && fn.call(thisArg, ...args); + return isFn; +} +function endall(transition, cb) { + let n = 0; + const end = function(...args) { + !--n && cb.apply(this, ...args); + }; + if ("duration" in transition) { + transition.each(() => ++n).on("end", end); + } else { + ++n; + transition.call(end); + } +} +function sanitize(str) { + return isString(str) ? str.replace(/<(script|img)?/ig, "<").replace(/(script)?>/ig, ">") : str; +} +function setTextValue(node, text, dy = [-1, 1], toMiddle = false) { + if (!node || !isString(text)) { + return; + } + if (text.indexOf("\n") === -1) { + node.text(text); + } else { + const diff = [node.text(), text].map((v) => v.replace(/[\s\n]/g, "")); + if (diff[0] !== diff[1]) { + const multiline = text.split("\n"); + const len = toMiddle ? multiline.length - 1 : 1; + node.html(""); + multiline.forEach((v, i) => { + node.append("tspan").attr("x", 0).attr("dy", `${i === 0 ? dy[0] * len : dy[1]}em`).text(v); + }); + } + } +} +function getRectSegList(path) { + const { x, y, width, height } = path.getBBox(); + return [ + { x, y: y + height }, + // seg0 + { x, y }, + // seg1 + { x: x + width, y }, + // seg2 + { x: x + width, y: y + height } + // seg3 + ]; +} +function getPathBox(path) { + const { width, height } = path.getBoundingClientRect(); + const items = getRectSegList(path); + const x = items[0].x; + const y = Math.min(items[0].y, items[1].y); + return { + x, + y, + width, + height + }; +} +function getPointer(event, element) { + var _a; + const touches = event && ((_a = event.touches || event.sourceEvent && event.sourceEvent.touches) == null ? void 0 : _a[0]); + let pointer = [0, 0]; + try { + pointer = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.pointer)(touches || event, element); + } catch (e) { + } + return pointer.map((v) => isNaN(v) ? 0 : v); +} +function getBrushSelection(ctx) { + const { event, $el } = ctx; + const main = $el.subchart.main || $el.main; + let selection; + if (event && event.type === "brush") { + selection = event.selection; + } else if (main && (selection = main.select(".bb-brush").node())) { + selection = (0,external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_.brushSelection)(selection); + } + return selection; +} +function getBoundingRect(node) { + const needEvaluate = !("rect" in node) || "rect" in node && node.hasAttribute("width") && node.rect.width !== +node.getAttribute("width"); + return needEvaluate ? node.rect = node.getBoundingClientRect() : node.rect; +} +function getRandom(asStr = true, min = 0, max = 1e4) { + const crpt = win.crypto || win.msCrypto; + const rand = crpt ? min + crpt.getRandomValues(new Uint32Array(1))[0] % (max - min + 1) : Math.floor(Math.random() * (max - min) + min); + return asStr ? String(rand) : rand; +} +function findIndex(arr, v, start, end, isRotated) { + if (start > end) { + return -1; + } + const mid = Math.floor((start + end) / 2); + let { x, w = 0 } = arr[mid]; + if (isRotated) { + x = arr[mid].y; + w = arr[mid].h; + } + if (v >= x && v <= x + w) { + return mid; + } + return v < x ? findIndex(arr, v, start, mid - 1, isRotated) : findIndex(arr, v, mid + 1, end, isRotated); +} +function brushEmpty(ctx) { + const selection = getBrushSelection(ctx); + if (selection) { + return selection[0] === selection[1]; + } + return true; +} +function deepClone(...objectN) { + const clone = (v) => { + if (isObject(v) && v.constructor) { + const r = new v.constructor(); + for (const k in v) { + r[k] = clone(v[k]); + } + return r; + } + return v; + }; + return objectN.map((v) => clone(v)).reduce((a, c) => util_spreadValues(util_spreadValues({}, a), c)); +} +function extend(target = {}, source) { + if (isArray(source)) { + source.forEach((v) => extend(target, v)); + } + for (const p in source) { + if (/^\d+$/.test(p) || p in target) { + continue; + } + target[p] = source[p]; + } + return target; +} +const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1); +function camelize(str, separator = "-") { + return str.split(separator).map((v, i) => i ? v.charAt(0).toUpperCase() + v.slice(1).toLowerCase() : v.toLowerCase()).join(""); +} +const toArray = (v) => [].slice.call(v); +function addCssRules(style, selector, prop) { + const { rootSelector = "", sheet } = style; + const getSelector = (s) => s.replace(/\s?(bb-)/g, ".$1").replace(/\.+/g, "."); + const rule = `${rootSelector} ${getSelector(selector)} {${prop.join(";")}}`; + return sheet[sheet.insertRule ? "insertRule" : "addRule"]( + rule, + sheet.cssRules.length + ); +} +function getCssRules(styleSheets) { + let rules = []; + styleSheets.forEach((sheet) => { + var _a; + try { + if (sheet.cssRules && sheet.cssRules.length) { + rules = rules.concat(toArray(sheet.cssRules)); + } + } catch (e) { + (_a = win.console) == null ? void 0 : _a.warn(`Error while reading rules from ${sheet.href}: ${e.toString()}`); + } + }); + return rules; +} +function getScrollPosition(node) { + var _a, _b, _c, _d, _e, _f; + return { + x: ((_b = (_a = win.pageXOffset) != null ? _a : win.scrollX) != null ? _b : 0) + ((_c = node.scrollLeft) != null ? _c : 0), + y: ((_e = (_d = win.pageYOffset) != null ? _d : win.scrollY) != null ? _e : 0) + ((_f = node.scrollTop) != null ? _f : 0) + }; +} +function getTransformCTM(node, x = 0, y = 0, inverse = true) { + const point = new DOMPoint(x, y); + const screen = node.getScreenCTM(); + const res = point.matrixTransform( + inverse ? screen == null ? void 0 : screen.inverse() : screen + ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; +} +function getTranslation(node) { + const transform = node ? node.transform : null; + const baseVal = transform && transform.baseVal; + return baseVal && baseVal.numberOfItems ? baseVal.getItem(0).matrix : { a: 0, b: 0, c: 0, d: 0, e: 0, f: 0 }; +} +function getUnique(data) { + const isDate = data[0] instanceof Date; + const d = (isDate ? data.map(Number) : data).filter((v, i, self) => self.indexOf(v) === i); + return isDate ? d.map((v) => new Date(v)) : d; +} +function mergeArray(arr) { + return arr && arr.length ? arr.reduce((p, c) => p.concat(c)) : []; +} +function mergeObj(target, ...objectN) { + if (!objectN.length || objectN.length === 1 && !objectN[0]) { + return target; + } + const source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach((key) => { + const value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj(target, ...objectN); +} +function sortValue(data, isAsc = true) { + let fn; + if (data[0] instanceof Date) { + fn = isAsc ? (a, b) => a - b : (a, b) => b - a; + } else { + if (isAsc && !data.every(isNaN)) { + fn = (a, b) => a - b; + } else if (!isAsc) { + fn = (a, b) => a > b && -1 || a < b && 1 || a === b && 0; + } + } + return data.concat().sort(fn); +} +function getMinMax(type, data) { + let res = data.filter((v) => notEmpty(v)); + if (res.length) { + if (isNumber(res[0])) { + res = Math[type](...res); + } else if (res[0] instanceof Date) { + res = sortValue(res, type === "min")[0]; + } + } else { + res = void 0; + } + return res; +} +const getRange = (start, end, step = 1) => { + const res = []; + const n = Math.max(0, Math.ceil((end - start) / step)) | 0; + for (let i = start; i < n; i++) { + res.push(start + i * step); + } + return res; +}; +const emulateEvent = { + mouse: (() => { + const getParams = () => ({ + bubbles: false, + cancelable: false, + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0 + }); + try { + new MouseEvent("t"); + return (el, eventType, params = getParams()) => { + el.dispatchEvent(new MouseEvent(eventType, params)); + }; + } catch (e) { + return (el, eventType, params = getParams()) => { + const mouseEvent = doc.createEvent("MouseEvent"); + mouseEvent.initMouseEvent( + eventType, + params.bubbles, + params.cancelable, + win, + 0, + // the event's mouse click count + params.screenX, + params.screenY, + params.clientX, + params.clientY, + false, + false, + false, + false, + 0, + null + ); + el.dispatchEvent(mouseEvent); + }; + } + })(), + touch: (el, eventType, params) => { + const touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}; +function tplProcess(tpl, data) { + let res = tpl; + for (const x in data) { + res = res.replace(new RegExp(`{=${x}}`, "g"), data[x]); + } + return res; +} +function parseDate(date) { + var _a; + let parsedDate; + if (date instanceof Date) { + parsedDate = date; + } else if (isString(date)) { + const { config, format } = this; + parsedDate = (_a = format.dataTime(config.data_xFormat)(date)) != null ? _a : new Date(date); + } else if (isNumber(date) && !isNaN(date)) { + parsedDate = /* @__PURE__ */ new Date(+date); + } + if (!parsedDate || isNaN(+parsedDate)) { + console && console.error && console.error(`Failed to parse x '${date}' to Date object`); + } + return parsedDate; +} +function hasViewBox(svg) { + const attr = svg.attr("viewBox"); + return attr ? /(\d+(\.\d+)?){3}/.test(attr) : false; +} +function hasStyle(node, condition, all = false) { + const isD3Node = !!node.node; + let has = false; + for (const [key, value] of Object.entries(condition)) { + has = isD3Node ? node.style(key) === value : node.style[key] === value; + if (all === false && has) { + break; + } + } + return has; +} +function isTabVisible() { + var _a, _b; + return ((_a = doc) == null ? void 0 : _a.hidden) === false || ((_b = doc) == null ? void 0 : _b.visibilityState) === "visible"; +} +function convertInputType(mouse, touch) { + const { DocumentTouch, matchMedia, navigator } = win; + const hasPointerCoarse = matchMedia == null ? void 0 : matchMedia("(pointer:coarse)").matches; + let hasTouch = false; + if (touch) { + if (navigator && "maxTouchPoints" in navigator) { + hasTouch = navigator.maxTouchPoints > 0; + } else if ("ontouchmove" in win || DocumentTouch && doc instanceof DocumentTouch) { + hasTouch = true; + } else { + if (hasPointerCoarse) { + hasTouch = true; + } else { + const UA = navigator.userAgent; + hasTouch = /\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(UA) || /\b(Android|Windows Phone|iPad|iPod)\b/i.test(UA); + } + } + } + const hasMouse = mouse && !hasPointerCoarse && (matchMedia == null ? void 0 : matchMedia("(pointer:fine)").matches); + return hasMouse && "mouse" || hasTouch && "touch" || "mouse"; +} +function runUntil(fn, conditionFn) { + if (conditionFn() === false) { + requestAnimationFrame(() => runUntil(fn, conditionFn)); + } else { + fn(); + } +} + +;// ./src/config/config.ts + +function loadConfig(config) { + const thisConfig = this.config; + let target; + let keys; + let read; + const find = () => { + const key = keys.shift(); + if (key && target && isObjectType(target) && key in target) { + target = target[key]; + return find(); + } else if (!key) { + return target; + } + return void 0; + }; + Object.keys(thisConfig).forEach((key) => { + target = config; + keys = key.split("_"); + read = find(); + if (isDefined(read)) { + thisConfig[key] = read; + } + }); + if (this.api) { + this.state.orgConfig = config; + } +} + +;// ./src/Plugin/Plugin.ts +var Plugin_defProp = Object.defineProperty; +var Plugin_defNormalProp = (obj, key, value) => key in obj ? Plugin_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => Plugin_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); +class Plugin { + /** + * Constructor + * @param {Any} options config option object + * @private + */ + constructor(options = {}) { + __publicField(this, "$$"); + __publicField(this, "options"); + this.options = options; + } + /** + * Lifecycle hook for 'beforeInit' phase. + * @private + */ + $beforeInit() { + } + /** + * Lifecycle hook for 'init' phase. + * @private + */ + $init() { + } + /** + * Lifecycle hook for 'afterInit' phase. + * @private + */ + $afterInit() { + } + /** + * Lifecycle hook for 'redraw' phase. + * @private + */ + $redraw() { + } + /** + * Lifecycle hook for 'willDestroy' phase. + * @private + */ + $willDestroy() { + Object.keys(this).forEach((key) => { + this[key] = null; + delete this[key]; + }); + } +} +__publicField(Plugin, "version", "3.14.2"); + +;// ./src/Plugin/sparkline/Options.ts +class Options { + constructor() { + return { + /** + * Specify sparkline charts holder selector. + * - **NOTE:** The amount of holder should match with the amount of data. If has less, will append necessaray amount nodes as sibling of main chart. + * @name selector + * @memberof plugin-sparkline + * @type {string} + * @default undefined + * @example + * selector: ".sparkline" + */ + selector: void 0 + }; + } +} + +;// ./src/Plugin/sparkline/index.ts +var sparkline_defProp = Object.defineProperty; +var sparkline_defNormalProp = (obj, key, value) => key in obj ? sparkline_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var sparkline_publicField = (obj, key, value) => sparkline_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + +class Sparkline extends Plugin { + constructor(options) { + super(options); + sparkline_publicField(this, "config"); + sparkline_publicField(this, "element"); + this.config = new Options(); + return this; + } + $beforeInit() { + loadConfig.call(this, this.options); + this.validate(); + this.element = [].slice.call(document.querySelectorAll(this.config.selector)); + this.overrideInternals(); + this.overrideOptions(); + this.overHandler = this.overHandler.bind(this); + this.moveHandler = this.moveHandler.bind(this); + this.outHandler = this.outHandler.bind(this); + } + validate() { + const { $$, config } = this; + let msg = ""; + if (!config.selector || !document.querySelector(config.selector)) { + msg = "No holder elements found from given selector option."; + } + if ($$.hasType("bubble") || $$.hasType("scatter") || $$.hasArcType($$.data.targets)) { + msg = "Contains non supported chart types."; + } + if (msg) { + throw new Error(`[Sparkline plugin] ${msg}`); + } + } + overrideInternals() { + const { $$ } = this; + const { getBarW, getIndices } = $$; + $$.getIndices = function(indices, d, caller) { + return caller === "getShapeX" ? {} : getIndices.call(this, indices, d); + }; + $$.getBarW = function(type, axis) { + return getBarW.call(this, type, axis, 1); + }; + } + overrideOptions() { + const { config } = this.$$; + config.legend_show = false; + config.resize_auto = false; + config.axis_x_show = false; + if (config.padding !== false) { + const hasOption = (o) => Object.keys(o || {}).length > 0; + if (hasOption(config.axis_x_padding)) { + config.axis_x_padding = { + left: 15, + right: 15, + unit: "px" + }; + } + if (hasOption(config.axis_y_padding)) { + config.axis_y_padding = 5; + } + } + config.axis_y_show = false; + if (!config.tooltip_position) { + config.tooltip_position = function(data, width, height) { + const { internal: { state: { event } } } = this; + let top = event.pageY - height * 1.35; + let left = event.pageX - width / 2; + if (top < 0) { + top = 0; + } + if (left < 0) { + left = 0; + } + return { top, left }; + }; + } + } + $init() { + var _a; + const { $$: { $el } } = this; + $el.chart.style("width", "0").style("height", "0").style("pointer-events", "none"); + ((_a = $el.tooltip) == null ? void 0 : _a.node()) && document.body.appendChild($el.tooltip.node()); + } + $afterInit() { + const { $$ } = this; + $$.$el.svg.attr("style", null).style("width", "0").style("height", "0"); + this.bindEvents(true); + } + /** + * Bind tooltip event handlers for each sparkline elements. + * @param {boolean} bind or unbind + * @private + */ + bindEvents(bind = true) { + const { $$: { config } } = this; + if (config.interaction_enabled && config.tooltip_show) { + const method = `${bind ? "add" : "remove"}EventListener`; + this.element.forEach((el) => { + const svg = el.querySelector("svg"); + svg[method]("mouseover", this.overHandler); + svg[method]("mousemove", this.moveHandler); + svg[method]("mouseout", this.outHandler); + }); + } + } + overHandler(e) { + const { $$ } = this; + const { state: { eventReceiver } } = $$; + eventReceiver.rect = e.target.getBoundingClientRect(); + } + moveHandler(e) { + var _a, _b, _c, _d; + const { $$ } = this; + const index = $$.getDataIndexFromEvent(e); + const data = (_a = $$.api.data(e.target.__id)) == null ? void 0 : _a[0]; + const d = (_b = data == null ? void 0 : data.values) == null ? void 0 : _b[index]; + if (d && !d.name) { + d.name = d.id; + } + $$.state.event = e; + if (((_c = $$.isPointFocusOnly) == null ? void 0 : _c.call($$)) && d) { + (_d = $$.showCircleFocus) == null ? void 0 : _d.call($$, [d]); + } + $$.setExpand(index, data.id, true); + $$.showTooltip([d], e.target); + } + outHandler(e) { + const { $$ } = this; + $$.state.event = e; + $$.isPointFocusOnly() ? $$.hideCircleFocus() : $$.unexpandCircles(); + $$.hideTooltip(); + } + $redraw() { + var _a; + const { $$ } = this; + const { $el } = $$; + let el = this.element; + const data = $$.api.data(); + const svgWrapper = (_a = $el.chart.html().match(/<svg[^>]*>/)) == null ? void 0 : _a[0]; + if (el.length < data.length) { + const chart = $el.chart.node(); + for (let i = data.length - el.length; i > 0; i--) { + chart.parentNode.insertBefore(el[0].cloneNode(), chart.nextSibling); + } + this.element = document.querySelectorAll(this.config.selector); + el = this.element; + } + data.map((v) => v.id).forEach((id, i) => { + const selector = `.${$COMMON.target}-${id}`; + const shape = $el.main.selectAll(selector); + let svg = el[i].querySelector("svg"); + if (!svg) { + el[i].innerHTML = `${svgWrapper}</svg>`; + svg = el[i].querySelector("svg"); + svg.__id = id; + } + if (!svg.querySelector(selector)) { + shape.style("opacity", null); + } + shape.style("fill", "none").style("opacity", null); + svg.innerHTML = ""; + svg.appendChild(shape.node()); + }); + } + $willDestroy() { + this.bindEvents(false); + this.element.forEach((el) => { + el.innerHTML = ""; + }); + } +} +sparkline_publicField(Sparkline, "version", `0.0.1`); + +}(); +__webpack_exports__ = __webpack_exports__["default"]; +/******/ return __webpack_exports__; +/******/ })() +; +}); \ No newline at end of file diff --git a/release/3.14.2/dist/plugin/billboardjs-plugin-sparkline.min.js b/release/3.14.2/dist/plugin/billboardjs-plugin-sparkline.min.js new file mode 100644 index 000000000..45a93b2df --- /dev/null +++ b/release/3.14.2/dist/plugin/billboardjs-plugin-sparkline.min.js @@ -0,0 +1,13 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */(function(b,f){typeof exports=="object"&&typeof module=="object"?module.exports=f(require("d3-brush"),require("d3-selection")):typeof define=="function"&&define.amd?define("bb",["d3-brush","d3-selection"],f):typeof exports=="object"?exports.bb=f(require("d3-brush"),require("d3-selection")):(b.bb=b.bb||{},b.bb.plugin=b.bb.plugin||{},b.bb.plugin.sparkline=f(b.d3,b.d3))})(this,function(T,b){return function(){"use strict";var f={853:function(e){e.exports=T},747:function(e){e.exports=b}},C={};function d(e){var t=C[e];if(t!==void 0)return t.exports;var n=C[e]={exports:{}};return f[e](n,n.exports,d),n.exports}(function(){d.d=function(e,t){for(var n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),function(){d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}();var p={};d.d(p,{default:function(){return j}});var N=Object.defineProperty,P=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,A=(e,t,n)=>t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,c=(e,t)=>{for(var n in t||(t={}))B.call(t,n)&&A(e,n,t[n]);if(P)for(var n of P(t))k.call(t,n)&&A(e,n,t[n]);return e};const R={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},q={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},H={area:"bb-area",areas:"bb-areas"},U={axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},X={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},V={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},Y={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},G={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},z={dragarea:"bb-dragarea",INCLUDED:"_included_"},W={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},K={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},Z={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},J={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},Q={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},ee={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},te={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},Me={level:"bb-level",levels:"bb-levels"},ne={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},re={region:"bb-region",regions:"bb-regions"},ie={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},se={shape:"bb-shape",shapes:"bb-shapes"},oe={brush:"bb-brush",subchart:"bb-subchart"},ce={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},le={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},ae={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},ue={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var De=c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c({},R),q),H),U),X),V),Y),G),z),K),Z),J),Q),ee),W),te),ne),re),ie),se),oe),ce),le),ae),ue),Le=d(853),Fe=d(747);function be(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function de(e){const t=typeof(e==null?void 0:e.requestAnimationFrame)=="function"&&typeof(e==null?void 0:e.cancelAnimationFrame)=="function",n=typeof(e==null?void 0:e.requestIdleCallback)=="function"&&typeof(e==null?void 0:e.cancelIdleCallback)=="function",r=s=>setTimeout(s,1),i=s=>clearTimeout(s);return[t?e.requestAnimationFrame:r,t?e.cancelAnimationFrame:i,n?e.requestIdleCallback:r,n?e.cancelIdleCallback:i]}const g=be(),fe=g==null?void 0:g.document,[je,Ne,Be,ke]=de(g);var he=Object.defineProperty,S=Object.getOwnPropertySymbols,pe=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,I=(e,t,n)=>t in e?he(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,M=(e,t)=>{for(var n in t||(t={}))pe.call(t,n)&&I(e,n,t[n]);if(S)for(var n of S(t))ge.call(t,n)&&I(e,n,t[n]);return e};const qe=e=>e||e===0,me=e=>typeof e=="function",m=e=>typeof e=="string",_=e=>typeof e=="number",ve=e=>typeof e=="undefined",D=e=>typeof e!="undefined",He=e=>typeof e=="boolean",Ue=e=>Math.ceil(e/10)*10,Xe=e=>Math.ceil(e)+.5,Ve=e=>e[1]-e[0],y=e=>typeof e=="object",_e=e=>ve(e)||e===null||m(e)&&e.length===0||y(e)&&!(e instanceof Date)&&Object.keys(e).length===0||_(e)&&isNaN(e),ye=e=>!_e(e),x=e=>Array.isArray(e),v=e=>e&&!(e!=null&&e.nodeType)&&y(e)&&!x(e);function Ye(e,t,n){return D(e[t])?e[t]:n}function Ge(e,t){let n=!1;return Object.keys(e).forEach(r=>e[r]===t&&(n=!0)),n}function ze(e,t,...n){const r=me(e);return r&&e.call(t,...n),r}function We(e,t){let n=0;const r=function(...i){!--n&&t.apply(this,...i)};"duration"in e?e.each(()=>++n).on("end",r):(++n,e.call(r))}function Ke(e){return m(e)?e.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):e}function Ze(e,t,n=[-1,1],r=!1){if(!(!e||!m(t)))if(t.indexOf(` +`)===-1)e.text(t);else{const i=[e.text(),t].map(s=>s.replace(/[\s\n]/g,""));if(i[0]!==i[1]){const s=t.split(` +`),o=r?s.length-1:1;e.html(""),s.forEach((l,a)=>{e.append("tspan").attr("x",0).attr("dy",`${a===0?n[0]*o:n[1]}em`).text(l)})}}}function xe(e){const{x:t,y:n,width:r,height:i}=e.getBBox();return[{x:t,y:n+i},{x:t,y:n},{x:t+r,y:n},{x:t+r,y:n+i}]}function Je(e){const{width:t,height:n}=e.getBoundingClientRect(),r=xe(e),i=r[0].x,s=Math.min(r[0].y,r[1].y);return{x:i,y:s,width:t,height:n}}function Qe(e,t){var n;const r=e&&((n=e.touches||e.sourceEvent&&e.sourceEvent.touches)==null?void 0:n[0]);let i=[0,0];try{i=d3Pointer(r||e,t)}catch(s){}return i.map(s=>isNaN(s)?0:s)}function $e(e){const{event:t,$el:n}=e,r=n.subchart.main||n.main;let i;return t&&t.type==="brush"?i=t.selection:r&&(i=r.select(".bb-brush").node())&&(i=d3BrushSelection(i)),i}function et(e){return!("rect"in e)||"rect"in e&&e.hasAttribute("width")&&e.rect.width!==+e.getAttribute("width")?e.rect=e.getBoundingClientRect():e.rect}function tt(e=!0,t=0,n=1e4){const r=window.crypto||window.msCrypto,i=r?t+r.getRandomValues(new Uint32Array(1))[0]%(n-t+1):Math.floor(Math.random()*(n-t)+t);return e?String(i):i}function L(e,t,n,r,i){if(n>r)return-1;const s=Math.floor((n+r)/2);let{x:o,w:l=0}=e[s];return i&&(o=e[s].y,l=e[s].h),t>=o&&t<=o+l?s:t<o?L(e,t,n,s-1,i):L(e,t,s+1,r,i)}function nt(e){const t=$e(e);return t?t[0]===t[1]:!0}function rt(...e){const t=n=>{if(v(n)&&n.constructor){const r=new n.constructor;for(const i in n)r[i]=t(n[i]);return r}return n};return e.map(n=>t(n)).reduce((n,r)=>M(M({},n),r))}function we(e={},t){x(t)&&t.forEach(n=>we(e,n));for(const n in t)/^\d+$/.test(n)||n in e||(e[n]=t[n]);return e}const it=e=>e.charAt(0).toUpperCase()+e.slice(1);function st(e,t="-"){return e.split(t).map((n,r)=>r?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase():n.toLowerCase()).join("")}const Ee=e=>[].slice.call(e);function ot(e,t,n){const{rootSelector:r="",sheet:i}=e,o=`${r} ${(l=>l.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(t)} {${n.join(";")}}`;return i[i.insertRule?"insertRule":"addRule"](o,i.cssRules.length)}function ct(e){let t=[];return e.forEach(n=>{var r;try{n.cssRules&&n.cssRules.length&&(t=t.concat(Ee(n.cssRules)))}catch(i){(r=window.console)==null||r.warn(`Error while reading rules from ${n.href}: ${i.toString()}`)}}),t}function lt(e){var t,n,r,i,s,o;return{x:((n=(t=window.pageXOffset)!=null?t:window.scrollX)!=null?n:0)+((r=e.scrollLeft)!=null?r:0),y:((s=(i=window.pageYOffset)!=null?i:window.scrollY)!=null?s:0)+((o=e.scrollTop)!=null?o:0)}}function at(e,t=0,n=0,r=!0){const i=new DOMPoint(t,n),s=e.getScreenCTM(),o=i.matrixTransform(r?s==null?void 0:s.inverse():s);if(r===!1){const l=e.getBoundingClientRect();o.x-=l.x,o.y-=l.y}return o}function ut(e){const t=e?e.transform:null,n=t&&t.baseVal;return n&&n.numberOfItems?n.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function bt(e){const t=e[0]instanceof Date,n=(t?e.map(Number):e).filter((r,i,s)=>s.indexOf(r)===i);return t?n.map(r=>new Date(r)):n}function dt(e){return e&&e.length?e.reduce((t,n)=>t.concat(n)):[]}function $(e,...t){if(!t.length||t.length===1&&!t[0])return e;const n=t.shift();return v(e)&&v(n)&&Object.keys(n).forEach(r=>{const i=n[r];v(i)?(!e[r]&&(e[r]={}),e[r]=$(e[r],i)):e[r]=x(i)?i.concat():i}),$(e,...t)}function Oe(e,t=!0){let n;return e[0]instanceof Date?n=t?(r,i)=>r-i:(r,i)=>i-r:t&&!e.every(isNaN)?n=(r,i)=>r-i:t||(n=(r,i)=>r>i&&-1||r<i&&1||r===i&&0),e.concat().sort(n)}function ft(e,t){let n=t.filter(r=>ye(r));return n.length?_(n[0])?n=Math[e](...n):n[0]instanceof Date&&(n=Oe(n,e==="min")[0]):n=void 0,n}const ht=(e,t,n=1)=>{const r=[],i=Math.max(0,Math.ceil((t-e)/n))|0;for(let s=e;s<i;s++)r.push(e+s*n);return r},pt={mouse:(()=>{const e=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(t,n,r=e())=>{t.dispatchEvent(new MouseEvent(n,r))}}catch(t){return(n,r,i=e())=>{const s=fe.createEvent("MouseEvent");s.initMouseEvent(r,i.bubbles,i.cancelable,g,0,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),n.dispatchEvent(s)}}})(),touch:(e,t,n)=>{const r=new Touch($({identifier:Date.now(),target:e,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},n));e.dispatchEvent(new TouchEvent(t,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[r],targetTouches:[],changedTouches:[r]}))}};function gt(e,t){let n=e;for(const r in t)n=n.replace(new RegExp(`{=${r}}`,"g"),t[r]);return n}function mt(e){var t;let n;if(e instanceof Date)n=e;else if(m(e)){const{config:r,format:i}=this;n=(t=i.dataTime(r.data_xFormat)(e))!=null?t:new Date(e)}else _(e)&&!isNaN(e)&&(n=new Date(+e));return(!n||isNaN(+n))&&console&&console.error&&console.error(`Failed to parse x '${e}' to Date object`),n}function vt(e){const t=e.attr("viewBox");return t?/(\d+(\.\d+)?){3}/.test(t):!1}function _t(e,t,n=!1){const r=!!e.node;let i=!1;for(const[s,o]of Object.entries(t))if(i=r?e.style(s)===o:e.style[s]===o,n===!1&&i)break;return i}function yt(){var e,t;return((e=document)==null?void 0:e.hidden)===!1||((t=document)==null?void 0:t.visibilityState)==="visible"}function xt(e,t){const{DocumentTouch:n,matchMedia:r,navigator:i}=window,s=r==null?void 0:r("(pointer:coarse)").matches;let o=!1;if(t)if(i&&"maxTouchPoints"in i)o=i.maxTouchPoints>0;else if("ontouchmove"in window||n&&document instanceof n)o=!0;else if(s)o=!0;else{const a=i.userAgent;o=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(a)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(a)}return e&&!s&&(r==null?void 0:r("(pointer:fine)").matches)&&"mouse"||o&&"touch"||"mouse"}function Te(e,t){t()===!1?requestAnimationFrame(()=>Te(e,t)):e()}function Ce(e){const t=this.config;let n,r,i;const s=()=>{const o=r.shift();if(o&&n&&y(n)&&o in n)return n=n[o],s();if(!o)return n};Object.keys(t).forEach(o=>{n=e,r=o.split("_"),i=s(),D(i)&&(t[o]=i)}),this.api&&(this.state.orgConfig=e)}var Pe=Object.defineProperty,Ae=(e,t,n)=>t in e?Pe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,w=(e,t,n)=>Ae(e,typeof t!="symbol"?t+"":t,n);class F{constructor(t={}){w(this,"$$"),w(this,"options"),this.options=t}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(t=>{this[t]=null,delete this[t]})}}w(F,"version","3.14.2");class Re{constructor(){return{selector:void 0}}}var Se=Object.defineProperty,Ie=(e,t,n)=>t in e?Se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,E=(e,t,n)=>Ie(e,typeof t!="symbol"?t+"":t,n);class j extends F{constructor(t){return super(t),E(this,"config"),E(this,"element"),this.config=new Re,this}$beforeInit(){Ce.call(this,this.options),this.validate(),this.element=[].slice.call(document.querySelectorAll(this.config.selector)),this.overrideInternals(),this.overrideOptions(),this.overHandler=this.overHandler.bind(this),this.moveHandler=this.moveHandler.bind(this),this.outHandler=this.outHandler.bind(this)}validate(){const{$$:t,config:n}=this;let r="";if((!n.selector||!document.querySelector(n.selector))&&(r="No holder elements found from given selector option."),(t.hasType("bubble")||t.hasType("scatter")||t.hasArcType(t.data.targets))&&(r="Contains non supported chart types."),r)throw new Error(`[Sparkline plugin] ${r}`)}overrideInternals(){const{$$:t}=this,{getBarW:n,getIndices:r}=t;t.getIndices=function(i,s,o){return o==="getShapeX"?{}:r.call(this,i,s)},t.getBarW=function(i,s){return n.call(this,i,s,1)}}overrideOptions(){const{config:t}=this.$$;if(t.legend_show=!1,t.resize_auto=!1,t.axis_x_show=!1,t.padding!==!1){const n=r=>Object.keys(r||{}).length>0;n(t.axis_x_padding)&&(t.axis_x_padding={left:15,right:15,unit:"px"}),n(t.axis_y_padding)&&(t.axis_y_padding=5)}t.axis_y_show=!1,t.tooltip_position||(t.tooltip_position=function(n,r,i){const{internal:{state:{event:s}}}=this;let o=s.pageY-i*1.35,l=s.pageX-r/2;return o<0&&(o=0),l<0&&(l=0),{top:o,left:l}})}$init(){var t;const{$$:{$el:n}}=this;n.chart.style("width","0").style("height","0").style("pointer-events","none"),(t=n.tooltip)!=null&&t.node()&&document.body.appendChild(n.tooltip.node())}$afterInit(){const{$$:t}=this;t.$el.svg.attr("style",null).style("width","0").style("height","0"),this.bindEvents(!0)}bindEvents(t=!0){const{$$:{config:n}}=this;if(n.interaction_enabled&&n.tooltip_show){const r=`${t?"add":"remove"}EventListener`;this.element.forEach(i=>{const s=i.querySelector("svg");s[r]("mouseover",this.overHandler),s[r]("mousemove",this.moveHandler),s[r]("mouseout",this.outHandler)})}}overHandler(t){const{$$:n}=this,{state:{eventReceiver:r}}=n;r.rect=t.target.getBoundingClientRect()}moveHandler(t){var n,r,i,s;const{$$:o}=this,l=o.getDataIndexFromEvent(t),a=(n=o.api.data(t.target.__id))==null?void 0:n[0],u=(r=a==null?void 0:a.values)==null?void 0:r[l];u&&!u.name&&(u.name=u.id),o.state.event=t,(i=o.isPointFocusOnly)!=null&&i.call(o)&&u&&((s=o.showCircleFocus)==null||s.call(o,[u])),o.setExpand(l,a.id,!0),o.showTooltip([u],t.target)}outHandler(t){const{$$:n}=this;n.state.event=t,n.isPointFocusOnly()?n.hideCircleFocus():n.unexpandCircles(),n.hideTooltip()}$redraw(){var t;const{$$:n}=this,{$el:r}=n;let i=this.element;const s=n.api.data(),o=(t=r.chart.html().match(/<svg[^>]*>/))==null?void 0:t[0];if(i.length<s.length){const l=r.chart.node();for(let a=s.length-i.length;a>0;a--)l.parentNode.insertBefore(i[0].cloneNode(),l.nextSibling);this.element=document.querySelectorAll(this.config.selector),i=this.element}s.map(l=>l.id).forEach((l,a)=>{const u=`.${R.target}-${l}`,O=r.main.selectAll(u);let h=i[a].querySelector("svg");h||(i[a].innerHTML=`${o}</svg>`,h=i[a].querySelector("svg"),h.__id=l),h.querySelector(u)||O.style("opacity",null),O.style("fill","none").style("opacity",null),h.innerHTML="",h.appendChild(O.node())})}$willDestroy(){this.bindEvents(!1),this.element.forEach(t=>{t.innerHTML=""})}}return E(j,"version","0.0.1"),p=p.default,p}()}); diff --git a/release/3.14.2/dist/plugin/billboardjs-plugin-stanford.d.ts b/release/3.14.2/dist/plugin/billboardjs-plugin-stanford.d.ts new file mode 100644 index 000000000..3ea42d846 --- /dev/null +++ b/release/3.14.2/dist/plugin/billboardjs-plugin-stanford.d.ts @@ -0,0 +1,7 @@ +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +import PluginClass from "../../types/plugin/stanford"; + +export default PluginClass; diff --git a/release/3.14.2/dist/plugin/billboardjs-plugin-stanford.js b/release/3.14.2/dist/plugin/billboardjs-plugin-stanford.js new file mode 100644 index 000000000..c99c72937 --- /dev/null +++ b/release/3.14.2/dist/plugin/billboardjs-plugin-stanford.js @@ -0,0 +1,1340 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("d3-color"), require("d3-interpolate"), require("d3-scale"), require("d3-brush"), require("d3-selection"), require("d3-axis"), require("d3-format")); + else if(typeof define === 'function' && define.amd) + define("bb", ["d3-color", "d3-interpolate", "d3-scale", "d3-brush", "d3-selection", "d3-axis", "d3-format"], factory); + else if(typeof exports === 'object') + exports["bb"] = factory(require("d3-color"), require("d3-interpolate"), require("d3-scale"), require("d3-brush"), require("d3-selection"), require("d3-axis"), require("d3-format")); + else + root["bb"] = root["bb"] || {}, root["bb"]["plugin"] = root["bb"]["plugin"] || {}, root["bb"]["plugin"]["stanford"] = factory(root["d3"], root["d3"], root["d3"], root["d3"], root["d3"], root["d3"], root["d3"]); +})(this, function(__WEBPACK_EXTERNAL_MODULE__5__, __WEBPACK_EXTERNAL_MODULE__6__, __WEBPACK_EXTERNAL_MODULE__7__, __WEBPACK_EXTERNAL_MODULE__3__, __WEBPACK_EXTERNAL_MODULE__1__, __WEBPACK_EXTERNAL_MODULE__8__, __WEBPACK_EXTERNAL_MODULE__9__) { +return /******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ([ +/* 0 */, +/* 1 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__1__; + +/***/ }), +/* 2 */, +/* 3 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__3__; + +/***/ }), +/* 4 */, +/* 5 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__5__; + +/***/ }), +/* 6 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__6__; + +/***/ }), +/* 7 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__7__; + +/***/ }), +/* 8 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__8__; + +/***/ }), +/* 9 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__9__; + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk. +!function() { + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "default": function() { return /* binding */ Stanford; } +}); + +// EXTERNAL MODULE: external {"commonjs":"d3-color","commonjs2":"d3-color","amd":"d3-color","root":"d3"} +var external_commonjs_d3_color_commonjs2_d3_color_amd_d3_color_root_d3_ = __webpack_require__(5); +// EXTERNAL MODULE: external {"commonjs":"d3-interpolate","commonjs2":"d3-interpolate","amd":"d3-interpolate","root":"d3"} +var external_commonjs_d3_interpolate_commonjs2_d3_interpolate_amd_d3_interpolate_root_d3_ = __webpack_require__(6); +// EXTERNAL MODULE: external {"commonjs":"d3-scale","commonjs2":"d3-scale","amd":"d3-scale","root":"d3"} +var external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_ = __webpack_require__(7); +;// ./src/config/classes.ts +var __defProp = Object.defineProperty; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +const $COMMON = { + button: "bb-button", + chart: "bb-chart", + empty: "bb-empty", + main: "bb-main", + target: "bb-target", + EXPANDED: "_expanded_" +}; +const $ARC = { + arc: "bb-arc", + arcLabelLine: "bb-arc-label-line", + arcRange: "bb-arc-range", + arcs: "bb-arcs", + chartArc: "bb-chart-arc", + chartArcs: "bb-chart-arcs", + chartArcsBackground: "bb-chart-arcs-background", + chartArcsTitle: "bb-chart-arcs-title", + needle: "bb-needle" +}; +const $AREA = { + area: "bb-area", + areas: "bb-areas" +}; +const $AXIS = { + axis: "bb-axis", + axisX: "bb-axis-x", + axisXLabel: "bb-axis-x-label", + axisY: "bb-axis-y", + axisY2: "bb-axis-y2", + axisY2Label: "bb-axis-y2-label", + axisYLabel: "bb-axis-y-label", + axisXTooltip: "bb-axis-x-tooltip", + axisYTooltip: "bb-axis-y-tooltip", + axisY2Tooltip: "bb-axis-y2-tooltip" +}; +const $BAR = { + bar: "bb-bar", + bars: "bb-bars", + chartBar: "bb-chart-bar", + chartBars: "bb-chart-bars" +}; +const $CANDLESTICK = { + candlestick: "bb-candlestick", + candlesticks: "bb-candlesticks", + chartCandlestick: "bb-chart-candlestick", + chartCandlesticks: "bb-chart-candlesticks", + valueDown: "bb-value-down", + valueUp: "bb-value-up" +}; +const $CIRCLE = { + chartCircles: "bb-chart-circles", + circle: "bb-circle", + circles: "bb-circles" +}; +const $COLOR = { + colorPattern: "bb-color-pattern", + colorScale: "bb-colorscale" +}; +const $DRAG = { + dragarea: "bb-dragarea", + INCLUDED: "_included_" +}; +const $FUNNEL = { + funnel: "bb-funnel", + chartFunnel: "bb-chart-funnel", + chartFunnels: "bb-chart-funnels", + funnelBackground: "bb-funnel-background" +}; +const $GAUGE = { + chartArcsGaugeMax: "bb-chart-arcs-gauge-max", + chartArcsGaugeMin: "bb-chart-arcs-gauge-min", + chartArcsGaugeUnit: "bb-chart-arcs-gauge-unit", + chartArcsGaugeTitle: "bb-chart-arcs-gauge-title", + gaugeValue: "bb-gauge-value" +}; +const $LEGEND = { + legend: "bb-legend", + legendBackground: "bb-legend-background", + legendItem: "bb-legend-item", + legendItemEvent: "bb-legend-item-event", + legendItemHidden: "bb-legend-item-hidden", + legendItemPoint: "bb-legend-item-point", + legendItemTile: "bb-legend-item-tile" +}; +const $LINE = { + chartLine: "bb-chart-line", + chartLines: "bb-chart-lines", + line: "bb-line", + lines: "bb-lines" +}; +const $EVENT = { + eventRect: "bb-event-rect", + eventRects: "bb-event-rects", + eventRectsMultiple: "bb-event-rects-multiple", + eventRectsSingle: "bb-event-rects-single" +}; +const $FOCUS = { + focused: "bb-focused", + defocused: "bb-defocused", + legendItemFocused: "bb-legend-item-focused", + xgridFocus: "bb-xgrid-focus", + ygridFocus: "bb-ygrid-focus" +}; +const $GRID = { + grid: "bb-grid", + gridLines: "bb-grid-lines", + xgrid: "bb-xgrid", + xgridLine: "bb-xgrid-line", + xgridLines: "bb-xgrid-lines", + xgrids: "bb-xgrids", + ygrid: "bb-ygrid", + ygridLine: "bb-ygrid-line", + ygridLines: "bb-ygrid-lines", + ygrids: "bb-ygrids" +}; +const $LEVEL = { + level: "bb-level", + levels: "bb-levels" +}; +const $RADAR = { + chartRadar: "bb-chart-radar", + chartRadars: "bb-chart-radars" +}; +const $REGION = { + region: "bb-region", + regions: "bb-regions" +}; +const $SELECT = { + selectedCircle: "bb-selected-circle", + selectedCircles: "bb-selected-circles", + SELECTED: "_selected_" +}; +const $SHAPE = { + shape: "bb-shape", + shapes: "bb-shapes" +}; +const $SUBCHART = { + brush: "bb-brush", + subchart: "bb-subchart" +}; +const $TEXT = { + chartText: "bb-chart-text", + chartTexts: "bb-chart-texts", + text: "bb-text", + texts: "bb-texts", + title: "bb-title", + TextOverlapping: "text-overlapping" +}; +const $TOOLTIP = { + tooltip: "bb-tooltip", + tooltipContainer: "bb-tooltip-container", + tooltipName: "bb-tooltip-name" +}; +const $TREEMAP = { + treemap: "bb-treemap", + chartTreemap: "bb-chart-treemap", + chartTreemaps: "bb-chart-treemaps" +}; +const $ZOOM = { + buttonZoomReset: "bb-zoom-reset", + zoomBrush: "bb-zoom-brush" +}; +/* harmony default export */ var classes = (__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, $COMMON), $ARC), $AREA), $AXIS), $BAR), $CANDLESTICK), $CIRCLE), $COLOR), $DRAG), $GAUGE), $LEGEND), $LINE), $EVENT), $FOCUS), $FUNNEL), $GRID), $RADAR), $REGION), $SELECT), $SHAPE), $SUBCHART), $TEXT), $TOOLTIP), $TREEMAP), $ZOOM)); + +// EXTERNAL MODULE: external {"commonjs":"d3-brush","commonjs2":"d3-brush","amd":"d3-brush","root":"d3"} +var external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_ = __webpack_require__(3); +// EXTERNAL MODULE: external {"commonjs":"d3-selection","commonjs2":"d3-selection","amd":"d3-selection","root":"d3"} +var external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_ = __webpack_require__(1); +;// ./src/module/browser.ts +function getGlobal() { + return typeof globalThis === "object" && globalThis !== null && globalThis.Object === Object && globalThis || typeof global === "object" && global !== null && global.Object === Object && global || typeof self === "object" && self !== null && self.Object === Object && self || Function("return this")(); +} +function getFallback(w) { + const hasRAF = typeof (w == null ? void 0 : w.requestAnimationFrame) === "function" && typeof (w == null ? void 0 : w.cancelAnimationFrame) === "function"; + const hasRIC = typeof (w == null ? void 0 : w.requestIdleCallback) === "function" && typeof (w == null ? void 0 : w.cancelIdleCallback) === "function"; + const request = (cb) => setTimeout(cb, 1); + const cancel = (id) => clearTimeout(id); + return [ + hasRAF ? w.requestAnimationFrame : request, + hasRAF ? w.cancelAnimationFrame : cancel, + hasRIC ? w.requestIdleCallback : request, + hasRIC ? w.cancelIdleCallback : cancel + ]; +} +const win = getGlobal(); +const doc = win == null ? void 0 : win.document; +const [ + requestAnimationFrame, + cancelAnimationFrame, + requestIdleCallback, + cancelIdleCallback +] = getFallback(win); + + +;// ./src/module/util.ts +var util_defProp = Object.defineProperty; +var util_getOwnPropSymbols = Object.getOwnPropertySymbols; +var util_hasOwnProp = Object.prototype.hasOwnProperty; +var util_propIsEnum = Object.prototype.propertyIsEnumerable; +var util_defNormalProp = (obj, key, value) => key in obj ? util_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var util_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (util_hasOwnProp.call(b, prop)) + util_defNormalProp(a, prop, b[prop]); + if (util_getOwnPropSymbols) + for (var prop of util_getOwnPropSymbols(b)) { + if (util_propIsEnum.call(b, prop)) + util_defNormalProp(a, prop, b[prop]); + } + return a; +}; + + + + +const isValue = (v) => v || v === 0; +const isFunction = (v) => typeof v === "function"; +const isString = (v) => typeof v === "string"; +const isNumber = (v) => typeof v === "number"; +const isUndefined = (v) => typeof v === "undefined"; +const isDefined = (v) => typeof v !== "undefined"; +const isBoolean = (v) => typeof v === "boolean"; +const ceil10 = (v) => Math.ceil(v / 10) * 10; +const asHalfPixel = (n) => Math.ceil(n) + 0.5; +const diffDomain = (d) => d[1] - d[0]; +const isObjectType = (v) => typeof v === "object"; +const isEmpty = (o) => isUndefined(o) || o === null || isString(o) && o.length === 0 || isObjectType(o) && !(o instanceof Date) && Object.keys(o).length === 0 || isNumber(o) && isNaN(o); +const notEmpty = (o) => !isEmpty(o); +const isArray = (arr) => Array.isArray(arr); +const isObject = (obj) => obj && !(obj == null ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); +function getOption(options, key, defaultValue) { + return isDefined(options[key]) ? options[key] : defaultValue; +} +function hasValue(dict, value) { + let found = false; + Object.keys(dict).forEach((key) => dict[key] === value && (found = true)); + return found; +} +function callFn(fn, thisArg, ...args) { + const isFn = isFunction(fn); + isFn && fn.call(thisArg, ...args); + return isFn; +} +function endall(transition, cb) { + let n = 0; + const end = function(...args) { + !--n && cb.apply(this, ...args); + }; + if ("duration" in transition) { + transition.each(() => ++n).on("end", end); + } else { + ++n; + transition.call(end); + } +} +function sanitize(str) { + return isString(str) ? str.replace(/<(script|img)?/ig, "<").replace(/(script)?>/ig, ">") : str; +} +function setTextValue(node, text, dy = [-1, 1], toMiddle = false) { + if (!node || !isString(text)) { + return; + } + if (text.indexOf("\n") === -1) { + node.text(text); + } else { + const diff = [node.text(), text].map((v) => v.replace(/[\s\n]/g, "")); + if (diff[0] !== diff[1]) { + const multiline = text.split("\n"); + const len = toMiddle ? multiline.length - 1 : 1; + node.html(""); + multiline.forEach((v, i) => { + node.append("tspan").attr("x", 0).attr("dy", `${i === 0 ? dy[0] * len : dy[1]}em`).text(v); + }); + } + } +} +function getRectSegList(path) { + const { x, y, width, height } = path.getBBox(); + return [ + { x, y: y + height }, + // seg0 + { x, y }, + // seg1 + { x: x + width, y }, + // seg2 + { x: x + width, y: y + height } + // seg3 + ]; +} +function getPathBox(path) { + const { width, height } = path.getBoundingClientRect(); + const items = getRectSegList(path); + const x = items[0].x; + const y = Math.min(items[0].y, items[1].y); + return { + x, + y, + width, + height + }; +} +function getPointer(event, element) { + var _a; + const touches = event && ((_a = event.touches || event.sourceEvent && event.sourceEvent.touches) == null ? void 0 : _a[0]); + let pointer = [0, 0]; + try { + pointer = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.pointer)(touches || event, element); + } catch (e) { + } + return pointer.map((v) => isNaN(v) ? 0 : v); +} +function getBrushSelection(ctx) { + const { event, $el } = ctx; + const main = $el.subchart.main || $el.main; + let selection; + if (event && event.type === "brush") { + selection = event.selection; + } else if (main && (selection = main.select(".bb-brush").node())) { + selection = (0,external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_.brushSelection)(selection); + } + return selection; +} +function getBoundingRect(node) { + const needEvaluate = !("rect" in node) || "rect" in node && node.hasAttribute("width") && node.rect.width !== +node.getAttribute("width"); + return needEvaluate ? node.rect = node.getBoundingClientRect() : node.rect; +} +function getRandom(asStr = true, min = 0, max = 1e4) { + const crpt = win.crypto || win.msCrypto; + const rand = crpt ? min + crpt.getRandomValues(new Uint32Array(1))[0] % (max - min + 1) : Math.floor(Math.random() * (max - min) + min); + return asStr ? String(rand) : rand; +} +function findIndex(arr, v, start, end, isRotated) { + if (start > end) { + return -1; + } + const mid = Math.floor((start + end) / 2); + let { x, w = 0 } = arr[mid]; + if (isRotated) { + x = arr[mid].y; + w = arr[mid].h; + } + if (v >= x && v <= x + w) { + return mid; + } + return v < x ? findIndex(arr, v, start, mid - 1, isRotated) : findIndex(arr, v, mid + 1, end, isRotated); +} +function brushEmpty(ctx) { + const selection = getBrushSelection(ctx); + if (selection) { + return selection[0] === selection[1]; + } + return true; +} +function deepClone(...objectN) { + const clone = (v) => { + if (isObject(v) && v.constructor) { + const r = new v.constructor(); + for (const k in v) { + r[k] = clone(v[k]); + } + return r; + } + return v; + }; + return objectN.map((v) => clone(v)).reduce((a, c) => util_spreadValues(util_spreadValues({}, a), c)); +} +function extend(target = {}, source) { + if (isArray(source)) { + source.forEach((v) => extend(target, v)); + } + for (const p in source) { + if (/^\d+$/.test(p) || p in target) { + continue; + } + target[p] = source[p]; + } + return target; +} +const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1); +function camelize(str, separator = "-") { + return str.split(separator).map((v, i) => i ? v.charAt(0).toUpperCase() + v.slice(1).toLowerCase() : v.toLowerCase()).join(""); +} +const toArray = (v) => [].slice.call(v); +function addCssRules(style, selector, prop) { + const { rootSelector = "", sheet } = style; + const getSelector = (s) => s.replace(/\s?(bb-)/g, ".$1").replace(/\.+/g, "."); + const rule = `${rootSelector} ${getSelector(selector)} {${prop.join(";")}}`; + return sheet[sheet.insertRule ? "insertRule" : "addRule"]( + rule, + sheet.cssRules.length + ); +} +function getCssRules(styleSheets) { + let rules = []; + styleSheets.forEach((sheet) => { + var _a; + try { + if (sheet.cssRules && sheet.cssRules.length) { + rules = rules.concat(toArray(sheet.cssRules)); + } + } catch (e) { + (_a = win.console) == null ? void 0 : _a.warn(`Error while reading rules from ${sheet.href}: ${e.toString()}`); + } + }); + return rules; +} +function getScrollPosition(node) { + var _a, _b, _c, _d, _e, _f; + return { + x: ((_b = (_a = win.pageXOffset) != null ? _a : win.scrollX) != null ? _b : 0) + ((_c = node.scrollLeft) != null ? _c : 0), + y: ((_e = (_d = win.pageYOffset) != null ? _d : win.scrollY) != null ? _e : 0) + ((_f = node.scrollTop) != null ? _f : 0) + }; +} +function getTransformCTM(node, x = 0, y = 0, inverse = true) { + const point = new DOMPoint(x, y); + const screen = node.getScreenCTM(); + const res = point.matrixTransform( + inverse ? screen == null ? void 0 : screen.inverse() : screen + ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; +} +function getTranslation(node) { + const transform = node ? node.transform : null; + const baseVal = transform && transform.baseVal; + return baseVal && baseVal.numberOfItems ? baseVal.getItem(0).matrix : { a: 0, b: 0, c: 0, d: 0, e: 0, f: 0 }; +} +function getUnique(data) { + const isDate = data[0] instanceof Date; + const d = (isDate ? data.map(Number) : data).filter((v, i, self) => self.indexOf(v) === i); + return isDate ? d.map((v) => new Date(v)) : d; +} +function mergeArray(arr) { + return arr && arr.length ? arr.reduce((p, c) => p.concat(c)) : []; +} +function mergeObj(target, ...objectN) { + if (!objectN.length || objectN.length === 1 && !objectN[0]) { + return target; + } + const source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach((key) => { + const value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj(target, ...objectN); +} +function sortValue(data, isAsc = true) { + let fn; + if (data[0] instanceof Date) { + fn = isAsc ? (a, b) => a - b : (a, b) => b - a; + } else { + if (isAsc && !data.every(isNaN)) { + fn = (a, b) => a - b; + } else if (!isAsc) { + fn = (a, b) => a > b && -1 || a < b && 1 || a === b && 0; + } + } + return data.concat().sort(fn); +} +function getMinMax(type, data) { + let res = data.filter((v) => notEmpty(v)); + if (res.length) { + if (isNumber(res[0])) { + res = Math[type](...res); + } else if (res[0] instanceof Date) { + res = sortValue(res, type === "min")[0]; + } + } else { + res = void 0; + } + return res; +} +const getRange = (start, end, step = 1) => { + const res = []; + const n = Math.max(0, Math.ceil((end - start) / step)) | 0; + for (let i = start; i < n; i++) { + res.push(start + i * step); + } + return res; +}; +const emulateEvent = { + mouse: (() => { + const getParams = () => ({ + bubbles: false, + cancelable: false, + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0 + }); + try { + new MouseEvent("t"); + return (el, eventType, params = getParams()) => { + el.dispatchEvent(new MouseEvent(eventType, params)); + }; + } catch (e) { + return (el, eventType, params = getParams()) => { + const mouseEvent = doc.createEvent("MouseEvent"); + mouseEvent.initMouseEvent( + eventType, + params.bubbles, + params.cancelable, + win, + 0, + // the event's mouse click count + params.screenX, + params.screenY, + params.clientX, + params.clientY, + false, + false, + false, + false, + 0, + null + ); + el.dispatchEvent(mouseEvent); + }; + } + })(), + touch: (el, eventType, params) => { + const touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}; +function tplProcess(tpl, data) { + let res = tpl; + for (const x in data) { + res = res.replace(new RegExp(`{=${x}}`, "g"), data[x]); + } + return res; +} +function parseDate(date) { + var _a; + let parsedDate; + if (date instanceof Date) { + parsedDate = date; + } else if (isString(date)) { + const { config, format } = this; + parsedDate = (_a = format.dataTime(config.data_xFormat)(date)) != null ? _a : new Date(date); + } else if (isNumber(date) && !isNaN(date)) { + parsedDate = /* @__PURE__ */ new Date(+date); + } + if (!parsedDate || isNaN(+parsedDate)) { + console && console.error && console.error(`Failed to parse x '${date}' to Date object`); + } + return parsedDate; +} +function hasViewBox(svg) { + const attr = svg.attr("viewBox"); + return attr ? /(\d+(\.\d+)?){3}/.test(attr) : false; +} +function hasStyle(node, condition, all = false) { + const isD3Node = !!node.node; + let has = false; + for (const [key, value] of Object.entries(condition)) { + has = isD3Node ? node.style(key) === value : node.style[key] === value; + if (all === false && has) { + break; + } + } + return has; +} +function isTabVisible() { + var _a, _b; + return ((_a = doc) == null ? void 0 : _a.hidden) === false || ((_b = doc) == null ? void 0 : _b.visibilityState) === "visible"; +} +function convertInputType(mouse, touch) { + const { DocumentTouch, matchMedia, navigator } = win; + const hasPointerCoarse = matchMedia == null ? void 0 : matchMedia("(pointer:coarse)").matches; + let hasTouch = false; + if (touch) { + if (navigator && "maxTouchPoints" in navigator) { + hasTouch = navigator.maxTouchPoints > 0; + } else if ("ontouchmove" in win || DocumentTouch && doc instanceof DocumentTouch) { + hasTouch = true; + } else { + if (hasPointerCoarse) { + hasTouch = true; + } else { + const UA = navigator.userAgent; + hasTouch = /\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(UA) || /\b(Android|Windows Phone|iPad|iPod)\b/i.test(UA); + } + } + } + const hasMouse = mouse && !hasPointerCoarse && (matchMedia == null ? void 0 : matchMedia("(pointer:fine)").matches); + return hasMouse && "mouse" || hasTouch && "touch" || "mouse"; +} +function runUntil(fn, conditionFn) { + if (conditionFn() === false) { + requestAnimationFrame(() => runUntil(fn, conditionFn)); + } else { + fn(); + } +} + +;// ./src/config/config.ts + +function loadConfig(config) { + const thisConfig = this.config; + let target; + let keys; + let read; + const find = () => { + const key = keys.shift(); + if (key && target && isObjectType(target) && key in target) { + target = target[key]; + return find(); + } else if (!key) { + return target; + } + return void 0; + }; + Object.keys(thisConfig).forEach((key) => { + target = config; + keys = key.split("_"); + read = find(); + if (isDefined(read)) { + thisConfig[key] = read; + } + }); + if (this.api) { + this.state.orgConfig = config; + } +} + +;// ./src/Plugin/Plugin.ts +var Plugin_defProp = Object.defineProperty; +var Plugin_defNormalProp = (obj, key, value) => key in obj ? Plugin_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => Plugin_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); +class Plugin { + /** + * Constructor + * @param {Any} options config option object + * @private + */ + constructor(options = {}) { + __publicField(this, "$$"); + __publicField(this, "options"); + this.options = options; + } + /** + * Lifecycle hook for 'beforeInit' phase. + * @private + */ + $beforeInit() { + } + /** + * Lifecycle hook for 'init' phase. + * @private + */ + $init() { + } + /** + * Lifecycle hook for 'afterInit' phase. + * @private + */ + $afterInit() { + } + /** + * Lifecycle hook for 'redraw' phase. + * @private + */ + $redraw() { + } + /** + * Lifecycle hook for 'willDestroy' phase. + * @private + */ + $willDestroy() { + Object.keys(this).forEach((key) => { + this[key] = null; + delete this[key]; + }); + } +} +__publicField(Plugin, "version", "3.14.2"); + +// EXTERNAL MODULE: external {"commonjs":"d3-axis","commonjs2":"d3-axis","amd":"d3-axis","root":"d3"} +var external_commonjs_d3_axis_commonjs2_d3_axis_amd_d3_axis_root_d3_ = __webpack_require__(8); +// EXTERNAL MODULE: external {"commonjs":"d3-format","commonjs2":"d3-format","amd":"d3-format","root":"d3"} +var external_commonjs_d3_format_commonjs2_d3_format_amd_d3_format_root_d3_ = __webpack_require__(9); +;// ./src/Plugin/stanford/classes.ts +/* harmony default export */ var stanford_classes = ({ + colorScale: "bb-colorscale", + stanfordElements: "bb-stanford-elements", + stanfordLine: "bb-stanford-line", + stanfordLines: "bb-stanford-lines", + stanfordRegion: "bb-stanford-region", + stanfordRegions: "bb-stanford-regions" +}); + +;// ./src/Plugin/stanford/ColorScale.ts +var ColorScale_defProp = Object.defineProperty; +var ColorScale_defNormalProp = (obj, key, value) => key in obj ? ColorScale_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var ColorScale_publicField = (obj, key, value) => ColorScale_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + + +class ColorScale { + constructor(owner) { + ColorScale_publicField(this, "owner"); + ColorScale_publicField(this, "colorScale"); + this.owner = owner; + } + drawColorScale() { + const { $$, config } = this.owner; + const target = $$.data.targets[0]; + const height = $$.state.height - config.padding_bottom - config.padding_top; + const barWidth = config.scale_width; + const barHeight = 5; + const points = getRange(config.padding_bottom, height, barHeight); + const inverseScale = (0,external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_.scaleSequential)(target.colors).domain([points[points.length - 1], points[0]]); + if (this.colorScale) { + this.colorScale.remove(); + } + this.colorScale = $$.$el.svg.append("g").attr("width", 50).attr("height", height).attr("class", stanford_classes.colorScale); + this.colorScale.append("g").attr("transform", `translate(0, ${config.padding_top})`).selectAll("bars").data(points).enter().append("rect").attr("y", (d, i) => i * barHeight).attr("x", 0).attr("width", barWidth).attr("height", barHeight).attr("fill", (d) => inverseScale(d)); + const axisScale = (0,external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_.scaleSymlog)().domain([target.minEpochs, target.maxEpochs]).range([ + points[0] + config.padding_top + points[points.length - 1] + barHeight - 1, + points[0] + config.padding_top + ]); + const legendAxis = (0,external_commonjs_d3_axis_commonjs2_d3_axis_amd_d3_axis_root_d3_.axisRight)(axisScale); + const scaleFormat = config.scale_format; + if (scaleFormat === "pow10") { + legendAxis.tickValues([1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7]); + } else if (isFunction(scaleFormat)) { + legendAxis.tickFormat(scaleFormat); + } else { + legendAxis.tickFormat((0,external_commonjs_d3_format_commonjs2_d3_format_amd_d3_format_root_d3_.format)("d")); + } + const axis = this.colorScale.append("g").attr("class", "legend axis").attr("transform", `translate(${barWidth},0)`).call(legendAxis); + if (scaleFormat === "pow10") { + axis.selectAll(".tick text").text(null).filter((d) => d / Math.pow(10, Math.ceil(Math.log(d) / Math.LN10 - 1e-12)) === 1).text(10).append("tspan").attr("dy", "-.7em").text((d) => Math.round(Math.log(d) / Math.LN10)); + } + this.colorScale.attr( + "transform", + `translate(${$$.state.current.width - this.xForColorScale()}, 0)` + ); + } + xForColorScale() { + return this.owner.config.padding_right + this.colorScale.node().getBBox().width; + } + getColorScalePadding() { + return this.xForColorScale() + this.owner.config.padding_left + 20; + } +} + +;// ./src/Plugin/stanford/util.ts + +function pointInRegion(point, region) { + const x = point.x; + const y = point.value; + let inside = false; + for (let i = 0, j = region.length - 1; i < region.length; j = i++) { + const xi = region[i].x; + const yi = region[i].y; + const xj = region[j].x; + const yj = region[j].y; + const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi; + if (intersect) { + inside = !inside; + } + } + return inside; +} +function compareEpochs(a, b) { + if (a.epochs < b.epochs) { + return -1; + } + if (a.epochs > b.epochs) { + return 1; + } + return 0; +} +function getRegionArea(points) { + let area = 0; + let point1; + let point2; + for (let i = 0, l = points.length, j = l - 1; i < l; j = i, i++) { + point1 = points[i]; + point2 = points[j]; + area += point1.x * point2.y; + area -= point1.y * point2.x; + } + area /= 2; + return area; +} +function getCentroid(points) { + const area = getRegionArea(points); + let x = 0; + let y = 0; + let f; + for (let i = 0, l = points.length, j = l - 1; i < l; j = i, i++) { + const point1 = points[i]; + const point2 = points[j]; + f = point1.x * point2.y - point2.x * point1.y; + x += (point1.x + point2.x) * f; + y += (point1.y + point2.y) * f; + } + f = area * 6; + return { + x: x / f, + y: y / f + }; +} + + +;// ./src/Plugin/stanford/Elements.ts +var Elements_defProp = Object.defineProperty; +var Elements_defNormalProp = (obj, key, value) => key in obj ? Elements_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var Elements_publicField = (obj, key, value) => Elements_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + +class Elements { + constructor(owner) { + Elements_publicField(this, "owner"); + this.owner = owner; + const elements = owner.$$.$el.main.select(".bb-chart").append("g").attr("class", stanford_classes.stanfordElements); + elements.append("g").attr("class", stanford_classes.stanfordLines); + elements.append("g").attr("class", stanford_classes.stanfordRegions); + } + updateStanfordLines(duration) { + const { $$ } = this.owner; + const { config, $el: { main } } = $$; + const isRotated = config.axis_rotated; + const xvCustom = this.xvCustom.bind($$); + const yvCustom = this.yvCustom.bind($$); + const stanfordLine = main.select(`.${stanford_classes.stanfordLines}`).style("shape-rendering", "geometricprecision").selectAll(`.${stanford_classes.stanfordLine}`).data(this.owner.config.lines); + stanfordLine.exit().transition().duration(duration).style("opacity", "0").remove(); + const stanfordLineEnter = stanfordLine.enter().append("g"); + stanfordLineEnter.append("line").style("opacity", "0"); + stanfordLineEnter.merge(stanfordLine).attr("class", (d) => stanford_classes.stanfordLine + (d.class ? ` ${d.class}` : "")).select("line").transition().duration(duration).attr("x1", (d) => { + const v = isRotated ? yvCustom(d, "y1") : xvCustom(d, "x1"); + return v; + }).attr("x2", (d) => isRotated ? yvCustom(d, "y2") : xvCustom(d, "x2")).attr("y1", (d) => { + const v = isRotated ? xvCustom(d, "x1") : yvCustom(d, "y1"); + return v; + }).attr("y2", (d) => isRotated ? xvCustom(d, "x2") : yvCustom(d, "y2")).transition().style("opacity", null); + } + updateStanfordRegions(duration) { + const { $$ } = this.owner; + const { config, $el: { main } } = $$; + const isRotated = config.axis_rotated; + const xvCustom = this.xvCustom.bind($$); + const yvCustom = this.yvCustom.bind($$); + const countPointsInRegion = this.owner.countEpochsInRegion.bind($$); + let stanfordRegion = main.select(`.${stanford_classes.stanfordRegions}`).selectAll(`.${stanford_classes.stanfordRegion}`).data(this.owner.config.regions); + stanfordRegion.exit().transition().duration(duration).style("opacity", "0").remove(); + const stanfordRegionEnter = stanfordRegion.enter().append("g"); + stanfordRegionEnter.append("polygon").style("opacity", "0"); + stanfordRegionEnter.append("text").attr("transform", isRotated ? "rotate(-90)" : "").style("opacity", "0"); + stanfordRegion = stanfordRegionEnter.merge(stanfordRegion); + stanfordRegion.attr("class", (d) => stanford_classes.stanfordRegion + (d.class ? ` ${d.class}` : "")).select("polygon").transition().duration(duration).attr("points", (d) => d.points.map( + (value) => [ + isRotated ? yvCustom(value, "y") : xvCustom(value, "x"), + isRotated ? xvCustom(value, "x") : yvCustom(value, "y") + ].join(",") + ).join(" ")).transition().style("opacity", (d) => String(d.opacity ? d.opacity : 0.2)); + stanfordRegion.select("text").transition().duration(duration).attr( + "x", + (d) => isRotated ? yvCustom(getCentroid(d.points), "y") : xvCustom(getCentroid(d.points), "x") + ).attr( + "y", + (d) => isRotated ? xvCustom(getCentroid(d.points), "x") : yvCustom(getCentroid(d.points), "y") + ).text((d) => { + if (d.text) { + const { value, percentage } = countPointsInRegion(d.points); + return d.text(value, percentage); + } + return ""; + }).attr("text-anchor", "middle").attr("dominant-baseline", "middle").transition().style("opacity", null); + } + updateStanfordElements(duration = 0) { + this.updateStanfordLines(duration); + this.updateStanfordRegions(duration); + } + xvCustom(d, xyValue) { + const $$ = this; + const { axis, config } = $$; + let value = xyValue ? d[xyValue] : $$.getBaseValue(d); + if (axis.isTimeSeries()) { + value = parseDate.call($$, value); + } else if (axis.isCategorized() && isString(value)) { + value = config.axis_x_categories.indexOf(d.value); + } + return $$.scale.x(value); + } + yvCustom(d, xyValue) { + const $$ = this; + const yScale = d.axis && d.axis === "y2" ? $$.scale.y2 : $$.scale.y; + const value = xyValue ? d[xyValue] : $$.getBaseValue(d); + return yScale(value); + } +} + +;// ./src/Plugin/stanford/Options.ts +class Options { + constructor() { + return { + /** + * Set the color of the color scale. This function receives a value between 0 and 1, and should return a color. + * @name colors + * @memberof plugin-stanford + * @type {Function} + * @default undefined + * @example + * colors: d3.interpolateHslLong( + * d3.hsl(250, 1, 0.5), d3.hsl(0, 1, 0.5) + * ) + */ + colors: void 0, + /** + * Specify the key of epochs values in the data. + * @name epochs + * @memberof plugin-stanford + * @type {Array} + * @default [] + * @example + * epochs: [ 1, 1, 2, 2, ... ] + */ + epochs: [], + /** + * Show additional lines anywhere on the chart. + * - Each line object should consist with following options: + * + * | Key | Type | Description | + * | --- | --- | --- | + * | x1 | Number | Starting position on the x axis | + * | y1 | Number | Starting position on the y axis | + * | x2 | Number | Ending position on the x axis | + * | y2 | Number | Ending position on the y axis | + * | class | String | Optional value. Set a custom css class to this line. | + * @type {Array} + * @memberof plugin-stanford + * @default [] + * @example + * lines: [ + * { x1: 0, y1: 0, x2: 65, y2: 65, class: "line1" }, + * { x1: 0, x2: 65, y1: 40, y2: 40, class: "line2" } + * ] + */ + lines: [], + /** + * Set scale values + * @name scale + * @memberof plugin-stanford + * @type {object} + * @property {object} [scale] scale object + * @property {number} [scale.min=undefined] Minimum value of the color scale. Default: lowest value in epochs + * @property {number} [scale.max=undefined] Maximum value of the color scale. Default: highest value in epochs + * @property {number} [scale.width=20] Width of the color scale + * @property {string|Function} [scale.format=undefined] Format of the axis of the color scale. Use 'pow10' to format as powers of 10 or a custom function. Example: d3.format("d") + * @example + * scale: { + * max: 10000, + * min: 1, + * width: 500, + * + * // specify 'pow10' to format as powers of 10 + * format: "pow10", + * + * // or specify a format function + * format: function(x) { + * return x +"%"; + * } + * }, + */ + scale_min: void 0, + scale_max: void 0, + scale_width: 20, + scale_format: void 0, + /** + * The padding for color scale element + * @name padding + * @memberof plugin-stanford + * @type {object} + * @property {object} [padding] padding object + * @property {number} [padding.top=0] Top padding value. + * @property {number} [padding.right=0] Right padding value. + * @property {number} [padding.bottom=0] Bottom padding value. + * @property {number} [padding.left=0] Left padding value. + * @example + * padding: { + * top: 15, + * right: 0, + * bottom: 0, + * left: 0 + * }, + */ + padding_top: 0, + padding_right: 0, + padding_bottom: 0, + padding_left: 0, + /** + * Show additional regions anywhere on the chart. + * - Each region object should consist with following options: + * + * | Key | Type | Default | Attributes | Description | + * | --- | --- | --- | --- | --- | + * | points | Array | | | Accepts a group of objects that has x and y.<br>These points should be added in a counter-clockwise fashion to make a closed polygon. | + * | opacity | Number | `0.2` | <optional> | Sets the opacity of the region as value between 0 and 1 | + * | text | Function | | <optional> | This function receives a value and percentage of the number of epochs in this region.<br>Return a string to place text in the middle of the region. | + * | class | String | | <optional> | Se a custom css class to this region, use the fill property in css to set a background color. | + * @name regions + * @memberof plugin-stanford + * @type {Array} + * @default [] + * @example + * regions: [ + * { + * points: [ // add points counter-clockwise + * { x: 0, y: 0 }, + * { x: 40, y: 40 }, + * { x: 0, y: 40 }, + * ], + * text: function (value, percentage) { + * return `Normal Operations: ${value} (${percentage}%)`; + * }, + * opacity: 0.2, // 0 to 1 + * class: "test-polygon1" + * }, + * ... + * ] + */ + regions: [] + }; + } +} + +;// ./src/Plugin/stanford/index.ts +var stanford_defProp = Object.defineProperty; +var stanford_defNormalProp = (obj, key, value) => key in obj ? stanford_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var stanford_publicField = (obj, key, value) => stanford_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + + + + + + + +class Stanford extends Plugin { + constructor(options) { + super(options); + stanford_publicField(this, "config"); + stanford_publicField(this, "colorScale"); + stanford_publicField(this, "elements"); + this.config = new Options(); + return this; + } + $beforeInit() { + const { $$ } = this; + $$.config.data_xSort = false; + $$.isMultipleX = () => true; + $$.showGridFocus = () => { + }; + $$.labelishData = (d) => d.values; + $$.opacityForCircle = () => 1; + const getCurrentPadding = $$.getCurrentPadding.bind($$); + $$.getCurrentPadding = () => { + const padding = getCurrentPadding(); + padding.right += this.colorScale ? this.colorScale.getColorScalePadding() : 0; + return padding; + }; + } + $init() { + const { $$ } = this; + loadConfig.call(this, this.options); + $$.color = this.getStanfordPointColor.bind($$); + this.colorScale = new ColorScale(this); + this.elements = new Elements(this); + this.convertData(); + this.initStanfordData(); + this.setStanfordTooltip(); + this.colorScale.drawColorScale(); + $$.right += this.colorScale ? this.colorScale.getColorScalePadding() : 0; + this.$redraw(); + } + $redraw(duration) { + var _a, _b; + (_a = this.colorScale) == null ? void 0 : _a.drawColorScale(); + (_b = this.elements) == null ? void 0 : _b.updateStanfordElements(duration); + } + getOptions() { + return new Options(); + } + convertData() { + const data = this.$$.data.targets; + const epochs = this.options.epochs; + data.forEach((d) => { + d.values.forEach((v, i) => { + v.epochs = epochs[i]; + }); + d.minEpochs = void 0; + d.maxEpochs = void 0; + d.colors = void 0; + d.colorscale = void 0; + }); + } + initStanfordData() { + const { config } = this; + const target = this.$$.data.targets[0]; + target.values.sort(compareEpochs); + const epochs = target.values.map((a) => a.epochs); + target.minEpochs = !isNaN(config.scale_min) ? config.scale_min : Math.min(...epochs); + target.maxEpochs = !isNaN(config.scale_max) ? config.scale_max : Math.max(...epochs); + target.colors = isFunction(config.colors) ? config.colors : (0,external_commonjs_d3_interpolate_commonjs2_d3_interpolate_amd_d3_interpolate_root_d3_.interpolateHslLong)((0,external_commonjs_d3_color_commonjs2_d3_color_amd_d3_color_root_d3_.hsl)(250, 1, 0.5), (0,external_commonjs_d3_color_commonjs2_d3_color_amd_d3_color_root_d3_.hsl)(0, 1, 0.5)); + target.colorscale = (0,external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_.scaleSequentialLog)(target.colors).domain([target.minEpochs, target.maxEpochs]); + } + getStanfordPointColor(d) { + const target = this.data.targets[0]; + return target.colorscale(d.epochs); + } + setStanfordTooltip() { + const { config } = this.$$; + if (isEmpty(config.tooltip_contents)) { + config.tooltip_contents = function(d, defaultTitleFormat, defaultValueFormat, color) { + const { data_x } = config; + let html = `<table class="${$TOOLTIP.tooltip}"><tbody>`; + d.forEach((v) => { + const { id = "", value = 0, epochs = 0, x = "" } = v; + html += `<tr> + <th>${data_x || ""}</th> + <th class="value">${defaultTitleFormat(x)}</th> + </tr> + <tr> + <th>${v.id}</th> + <th class="value">${defaultValueFormat(value)}</th> + </tr> + <tr class="${$TOOLTIP.tooltipName}-${id}"> + <td class="name"><span style="background-color:${color(v)}"></span>Epochs</td> + <td class="value">${defaultValueFormat(epochs)}</td> + </tr>`; + }); + return `${html}</tbody></table>`; + }; + } + } + countEpochsInRegion(region) { + const $$ = this; + const target = $$.data.targets[0]; + const total = target.values.reduce( + (accumulator, currentValue) => accumulator + Number(currentValue.epochs), + 0 + ); + const value = target.values.reduce((accumulator, currentValue) => { + if (pointInRegion(currentValue, region)) { + return accumulator + Number(currentValue.epochs); + } + return accumulator; + }, 0); + return { + value, + percentage: value !== 0 ? +(value / total * 100).toFixed(1) : 0 + }; + } +} + +}(); +__webpack_exports__ = __webpack_exports__["default"]; +/******/ return __webpack_exports__; +/******/ })() +; +}); \ No newline at end of file diff --git a/release/3.14.2/dist/plugin/billboardjs-plugin-stanford.min.js b/release/3.14.2/dist/plugin/billboardjs-plugin-stanford.min.js new file mode 100644 index 000000000..a0e37bcdd --- /dev/null +++ b/release/3.14.2/dist/plugin/billboardjs-plugin-stanford.min.js @@ -0,0 +1,24 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */(function(f,_){typeof exports=="object"&&typeof module=="object"?module.exports=_(require("d3-color"),require("d3-interpolate"),require("d3-scale"),require("d3-brush"),require("d3-selection"),require("d3-axis"),require("d3-format")):typeof define=="function"&&define.amd?define("bb",["d3-color","d3-interpolate","d3-scale","d3-brush","d3-selection","d3-axis","d3-format"],_):typeof exports=="object"?exports.bb=_(require("d3-color"),require("d3-interpolate"),require("d3-scale"),require("d3-brush"),require("d3-selection"),require("d3-axis"),require("d3-format")):(f.bb=f.bb||{},f.bb.plugin=f.bb.plugin||{},f.bb.plugin.stanford=_(f.d3,f.d3,f.d3,f.d3,f.d3,f.d3,f.d3))})(this,function(j,f,_,z,H,K,W){return function(){"use strict";var Z={996:function(e){e.exports=K},853:function(e){e.exports=z},218:function(e){e.exports=j},390:function(e){e.exports=W},798:function(e){e.exports=f},455:function(e){e.exports=_},747:function(e){e.exports=H}},M={};function h(e){var t=M[e];if(t!==void 0)return t.exports;var n=M[e]={exports:{}};return Z[e](n,n.exports,h),n.exports}(function(){h.d=function(e,t){for(var n in t)h.o(t,n)&&!h.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),function(){h.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}();var y={};h.d(y,{default:function(){return st}});var D=h(218),J=h(798),E=h(455),Q=Object.defineProperty,I=Object.getOwnPropertySymbols,ee=Object.prototype.hasOwnProperty,te=Object.prototype.propertyIsEnumerable,N=(e,t,n)=>t in e?Q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,u=(e,t)=>{for(var n in t||(t={}))ee.call(t,n)&&N(e,n,t[n]);if(I)for(var n of I(t))te.call(t,n)&&N(e,n,t[n]);return e};const ne={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},oe={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},re={area:"bb-area",areas:"bb-areas"},se={axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},ae={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},ie={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},ce={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},le={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},ue={dragarea:"bb-dragarea",INCLUDED:"_included_"},de={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},be={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},fe={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},he={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},pe={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},ge={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},me={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},it={level:"bb-level",levels:"bb-levels"},_e={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},xe={region:"bb-region",regions:"bb-regions"},ye={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},ve={shape:"bb-shape",shapes:"bb-shapes"},$e={brush:"bb-brush",subchart:"bb-subchart"},we={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},S={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},Ee={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},Se={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var ct=u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u({},ne),oe),re),se),ae),ie),ce),le),ue),be),fe),he),pe),ge),de),me),_e),xe),ye),ve),$e),we),S),Ee),Se),lt=h(853),ut=h(747);function Ce(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function Oe(e){const t=typeof(e==null?void 0:e.requestAnimationFrame)=="function"&&typeof(e==null?void 0:e.cancelAnimationFrame)=="function",n=typeof(e==null?void 0:e.requestIdleCallback)=="function"&&typeof(e==null?void 0:e.cancelIdleCallback)=="function",o=s=>setTimeout(s,1),r=s=>clearTimeout(s);return[t?e.requestAnimationFrame:o,t?e.cancelAnimationFrame:r,n?e.requestIdleCallback:o,n?e.cancelIdleCallback:r]}const v=Ce(),Pe=v==null?void 0:v.document,[dt,bt,ft,ht]=Oe(v);var Re=Object.defineProperty,F=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,q=(e,t,n)=>t in e?Re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,B=(e,t)=>{for(var n in t||(t={}))Te.call(t,n)&&q(e,n,t[n]);if(F)for(var n of F(t))Ae.call(t,n)&&q(e,n,t[n]);return e};const pt=e=>e||e===0,C=e=>typeof e=="function",x=e=>typeof e=="string",O=e=>typeof e=="number",Le=e=>typeof e=="undefined",U=e=>typeof e!="undefined",gt=e=>typeof e=="boolean",mt=e=>Math.ceil(e/10)*10,_t=e=>Math.ceil(e)+.5,xt=e=>e[1]-e[0],P=e=>typeof e=="object",X=e=>Le(e)||e===null||x(e)&&e.length===0||P(e)&&!(e instanceof Date)&&Object.keys(e).length===0||O(e)&&isNaN(e),je=e=>!X(e),R=e=>Array.isArray(e),$=e=>e&&!(e!=null&&e.nodeType)&&P(e)&&!R(e);function yt(e,t,n){return U(e[t])?e[t]:n}function vt(e,t){let n=!1;return Object.keys(e).forEach(o=>e[o]===t&&(n=!0)),n}function $t(e,t,...n){const o=C(e);return o&&e.call(t,...n),o}function wt(e,t){let n=0;const o=function(...r){!--n&&t.apply(this,...r)};"duration"in e?e.each(()=>++n).on("end",o):(++n,e.call(o))}function Et(e){return x(e)?e.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):e}function St(e,t,n=[-1,1],o=!1){if(!(!e||!x(t)))if(t.indexOf(` +`)===-1)e.text(t);else{const r=[e.text(),t].map(s=>s.replace(/[\s\n]/g,""));if(r[0]!==r[1]){const s=t.split(` +`),a=o?s.length-1:1;e.html(""),s.forEach((i,d)=>{e.append("tspan").attr("x",0).attr("dy",`${d===0?n[0]*a:n[1]}em`).text(i)})}}}function Me(e){const{x:t,y:n,width:o,height:r}=e.getBBox();return[{x:t,y:n+r},{x:t,y:n},{x:t+o,y:n},{x:t+o,y:n+r}]}function Ct(e){const{width:t,height:n}=e.getBoundingClientRect(),o=Me(e),r=o[0].x,s=Math.min(o[0].y,o[1].y);return{x:r,y:s,width:t,height:n}}function Ot(e,t){var n;const o=e&&((n=e.touches||e.sourceEvent&&e.sourceEvent.touches)==null?void 0:n[0]);let r=[0,0];try{r=d3Pointer(o||e,t)}catch(s){}return r.map(s=>isNaN(s)?0:s)}function De(e){const{event:t,$el:n}=e,o=n.subchart.main||n.main;let r;return t&&t.type==="brush"?r=t.selection:o&&(r=o.select(".bb-brush").node())&&(r=d3BrushSelection(r)),r}function Pt(e){return!("rect"in e)||"rect"in e&&e.hasAttribute("width")&&e.rect.width!==+e.getAttribute("width")?e.rect=e.getBoundingClientRect():e.rect}function Rt(e=!0,t=0,n=1e4){const o=window.crypto||window.msCrypto,r=o?t+o.getRandomValues(new Uint32Array(1))[0]%(n-t+1):Math.floor(Math.random()*(n-t)+t);return e?String(r):r}function V(e,t,n,o,r){if(n>o)return-1;const s=Math.floor((n+o)/2);let{x:a,w:i=0}=e[s];return r&&(a=e[s].y,i=e[s].h),t>=a&&t<=a+i?s:t<a?V(e,t,n,s-1,r):V(e,t,s+1,o,r)}function Tt(e){const t=De(e);return t?t[0]===t[1]:!0}function At(...e){const t=n=>{if($(n)&&n.constructor){const o=new n.constructor;for(const r in n)o[r]=t(n[r]);return o}return n};return e.map(n=>t(n)).reduce((n,o)=>B(B({},n),o))}function Ie(e={},t){R(t)&&t.forEach(n=>Ie(e,n));for(const n in t)/^\d+$/.test(n)||n in e||(e[n]=t[n]);return e}const Lt=e=>e.charAt(0).toUpperCase()+e.slice(1);function jt(e,t="-"){return e.split(t).map((n,o)=>o?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase():n.toLowerCase()).join("")}const Ne=e=>[].slice.call(e);function Mt(e,t,n){const{rootSelector:o="",sheet:r}=e,a=`${o} ${(i=>i.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(t)} {${n.join(";")}}`;return r[r.insertRule?"insertRule":"addRule"](a,r.cssRules.length)}function Dt(e){let t=[];return e.forEach(n=>{var o;try{n.cssRules&&n.cssRules.length&&(t=t.concat(Ne(n.cssRules)))}catch(r){(o=window.console)==null||o.warn(`Error while reading rules from ${n.href}: ${r.toString()}`)}}),t}function It(e){var t,n,o,r,s,a;return{x:((n=(t=window.pageXOffset)!=null?t:window.scrollX)!=null?n:0)+((o=e.scrollLeft)!=null?o:0),y:((s=(r=window.pageYOffset)!=null?r:window.scrollY)!=null?s:0)+((a=e.scrollTop)!=null?a:0)}}function Nt(e,t=0,n=0,o=!0){const r=new DOMPoint(t,n),s=e.getScreenCTM(),a=r.matrixTransform(o?s==null?void 0:s.inverse():s);if(o===!1){const i=e.getBoundingClientRect();a.x-=i.x,a.y-=i.y}return a}function Ft(e){const t=e?e.transform:null,n=t&&t.baseVal;return n&&n.numberOfItems?n.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function qt(e){const t=e[0]instanceof Date,n=(t?e.map(Number):e).filter((o,r,s)=>s.indexOf(o)===r);return t?n.map(o=>new Date(o)):n}function Bt(e){return e&&e.length?e.reduce((t,n)=>t.concat(n)):[]}function T(e,...t){if(!t.length||t.length===1&&!t[0])return e;const n=t.shift();return $(e)&&$(n)&&Object.keys(n).forEach(o=>{const r=n[o];$(r)?(!e[o]&&(e[o]={}),e[o]=T(e[o],r)):e[o]=R(r)?r.concat():r}),T(e,...t)}function Fe(e,t=!0){let n;return e[0]instanceof Date?n=t?(o,r)=>o-r:(o,r)=>r-o:t&&!e.every(isNaN)?n=(o,r)=>o-r:t||(n=(o,r)=>o>r&&-1||o<r&&1||o===r&&0),e.concat().sort(n)}function Ut(e,t){let n=t.filter(o=>je(o));return n.length?O(n[0])?n=Math[e](...n):n[0]instanceof Date&&(n=Fe(n,e==="min")[0]):n=void 0,n}const qe=(e,t,n=1)=>{const o=[],r=Math.max(0,Math.ceil((t-e)/n))|0;for(let s=e;s<r;s++)o.push(e+s*n);return o},Xt={mouse:(()=>{const e=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(t,n,o=e())=>{t.dispatchEvent(new MouseEvent(n,o))}}catch(t){return(n,o,r=e())=>{const s=Pe.createEvent("MouseEvent");s.initMouseEvent(o,r.bubbles,r.cancelable,v,0,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),n.dispatchEvent(s)}}})(),touch:(e,t,n)=>{const o=new Touch(T({identifier:Date.now(),target:e,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},n));e.dispatchEvent(new TouchEvent(t,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[o],targetTouches:[],changedTouches:[o]}))}};function Vt(e,t){let n=e;for(const o in t)n=n.replace(new RegExp(`{=${o}}`,"g"),t[o]);return n}function Be(e){var t;let n;if(e instanceof Date)n=e;else if(x(e)){const{config:o,format:r}=this;n=(t=r.dataTime(o.data_xFormat)(e))!=null?t:new Date(e)}else O(e)&&!isNaN(e)&&(n=new Date(+e));return(!n||isNaN(+n))&&console&&console.error&&console.error(`Failed to parse x '${e}' to Date object`),n}function Yt(e){const t=e.attr("viewBox");return t?/(\d+(\.\d+)?){3}/.test(t):!1}function Gt(e,t,n=!1){const o=!!e.node;let r=!1;for(const[s,a]of Object.entries(t))if(r=o?e.style(s)===a:e.style[s]===a,n===!1&&r)break;return r}function kt(){var e,t;return((e=document)==null?void 0:e.hidden)===!1||((t=document)==null?void 0:t.visibilityState)==="visible"}function zt(e,t){const{DocumentTouch:n,matchMedia:o,navigator:r}=window,s=o==null?void 0:o("(pointer:coarse)").matches;let a=!1;if(t)if(r&&"maxTouchPoints"in r)a=r.maxTouchPoints>0;else if("ontouchmove"in window||n&&document instanceof n)a=!0;else if(s)a=!0;else{const d=r.userAgent;a=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(d)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(d)}return e&&!s&&(o==null?void 0:o("(pointer:fine)").matches)&&"mouse"||a&&"touch"||"mouse"}function Ue(e,t){t()===!1?requestAnimationFrame(()=>Ue(e,t)):e()}function Xe(e){const t=this.config;let n,o,r;const s=()=>{const a=o.shift();if(a&&n&&P(n)&&a in n)return n=n[a],s();if(!a)return n};Object.keys(t).forEach(a=>{n=e,o=a.split("_"),r=s(),U(r)&&(t[a]=r)}),this.api&&(this.state.orgConfig=e)}var Ve=Object.defineProperty,Ye=(e,t,n)=>t in e?Ve(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,A=(e,t,n)=>Ye(e,typeof t!="symbol"?t+"":t,n);class Y{constructor(t={}){A(this,"$$"),A(this,"options"),this.options=t}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(t=>{this[t]=null,delete this[t]})}}A(Y,"version","3.14.2");var Ge=h(996),ke=h(390),p={colorScale:"bb-colorscale",stanfordElements:"bb-stanford-elements",stanfordLine:"bb-stanford-line",stanfordLines:"bb-stanford-lines",stanfordRegion:"bb-stanford-region",stanfordRegions:"bb-stanford-regions"},ze=Object.defineProperty,He=(e,t,n)=>t in e?ze(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,G=(e,t,n)=>He(e,typeof t!="symbol"?t+"":t,n);class Ke{constructor(t){G(this,"owner"),G(this,"colorScale"),this.owner=t}drawColorScale(){const{$$:t,config:n}=this.owner,o=t.data.targets[0],r=t.state.height-n.padding_bottom-n.padding_top,s=n.scale_width,a=5,i=qe(n.padding_bottom,r,a),d=(0,E.scaleSequential)(o.colors).domain([i[i.length-1],i[0]]);this.colorScale&&this.colorScale.remove(),this.colorScale=t.$el.svg.append("g").attr("width",50).attr("height",r).attr("class",p.colorScale),this.colorScale.append("g").attr("transform",`translate(0, ${n.padding_top})`).selectAll("bars").data(i).enter().append("rect").attr("y",(m,at)=>at*a).attr("x",0).attr("width",s).attr("height",a).attr("fill",m=>d(m));const b=(0,E.scaleSymlog)().domain([o.minEpochs,o.maxEpochs]).range([i[0]+n.padding_top+i[i.length-1]+a-1,i[0]+n.padding_top]),c=(0,Ge.axisRight)(b),l=n.scale_format;l==="pow10"?c.tickValues([1,10,100,1e3,1e4,1e5,1e6,1e7]):C(l)?c.tickFormat(l):c.tickFormat((0,ke.format)("d"));const g=this.colorScale.append("g").attr("class","legend axis").attr("transform",`translate(${s},0)`).call(c);l==="pow10"&&g.selectAll(".tick text").text(null).filter(m=>m/Math.pow(10,Math.ceil(Math.log(m)/Math.LN10-1e-12))===1).text(10).append("tspan").attr("dy","-.7em").text(m=>Math.round(Math.log(m)/Math.LN10)),this.colorScale.attr("transform",`translate(${t.state.current.width-this.xForColorScale()}, 0)`)}xForColorScale(){return this.owner.config.padding_right+this.colorScale.node().getBBox().width}getColorScalePadding(){return this.xForColorScale()+this.owner.config.padding_left+20}}function We(e,t){const n=e.x,o=e.value;let r=!1;for(let s=0,a=t.length-1;s<t.length;a=s++){const i=t[s].x,d=t[s].y,b=t[a].x,c=t[a].y;d>o!=c>o&&n<(b-i)*(o-d)/(c-d)+i&&(r=!r)}return r}function Ze(e,t){return e.epochs<t.epochs?-1:e.epochs>t.epochs?1:0}function Je(e){let t=0,n,o;for(let r=0,s=e.length,a=s-1;r<s;a=r,r++)n=e[r],o=e[a],t+=n.x*o.y,t-=n.y*o.x;return t/=2,t}function w(e){const t=Je(e);let n=0,o=0,r;for(let s=0,a=e.length,i=a-1;s<a;i=s,s++){const d=e[s],b=e[i];r=d.x*b.y-b.x*d.y,n+=(d.x+b.x)*r,o+=(d.y+b.y)*r}return r=t*6,{x:n/r,y:o/r}}var Qe=Object.defineProperty,et=(e,t,n)=>t in e?Qe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tt=(e,t,n)=>et(e,typeof t!="symbol"?t+"":t,n);class nt{constructor(t){tt(this,"owner"),this.owner=t;const n=t.$$.$el.main.select(".bb-chart").append("g").attr("class",p.stanfordElements);n.append("g").attr("class",p.stanfordLines),n.append("g").attr("class",p.stanfordRegions)}updateStanfordLines(t){const{$$:n}=this.owner,{config:o,$el:{main:r}}=n,s=o.axis_rotated,a=this.xvCustom.bind(n),i=this.yvCustom.bind(n),d=r.select(`.${p.stanfordLines}`).style("shape-rendering","geometricprecision").selectAll(`.${p.stanfordLine}`).data(this.owner.config.lines);d.exit().transition().duration(t).style("opacity","0").remove();const b=d.enter().append("g");b.append("line").style("opacity","0"),b.merge(d).attr("class",c=>p.stanfordLine+(c.class?` ${c.class}`:"")).select("line").transition().duration(t).attr("x1",c=>s?i(c,"y1"):a(c,"x1")).attr("x2",c=>s?i(c,"y2"):a(c,"x2")).attr("y1",c=>s?a(c,"x1"):i(c,"y1")).attr("y2",c=>s?a(c,"x2"):i(c,"y2")).transition().style("opacity",null)}updateStanfordRegions(t){const{$$:n}=this.owner,{config:o,$el:{main:r}}=n,s=o.axis_rotated,a=this.xvCustom.bind(n),i=this.yvCustom.bind(n),d=this.owner.countEpochsInRegion.bind(n);let b=r.select(`.${p.stanfordRegions}`).selectAll(`.${p.stanfordRegion}`).data(this.owner.config.regions);b.exit().transition().duration(t).style("opacity","0").remove();const c=b.enter().append("g");c.append("polygon").style("opacity","0"),c.append("text").attr("transform",s?"rotate(-90)":"").style("opacity","0"),b=c.merge(b),b.attr("class",l=>p.stanfordRegion+(l.class?` ${l.class}`:"")).select("polygon").transition().duration(t).attr("points",l=>l.points.map(g=>[s?i(g,"y"):a(g,"x"),s?a(g,"x"):i(g,"y")].join(",")).join(" ")).transition().style("opacity",l=>String(l.opacity?l.opacity:.2)),b.select("text").transition().duration(t).attr("x",l=>s?i(w(l.points),"y"):a(w(l.points),"x")).attr("y",l=>s?a(w(l.points),"x"):i(w(l.points),"y")).text(l=>{if(l.text){const{value:g,percentage:m}=d(l.points);return l.text(g,m)}return""}).attr("text-anchor","middle").attr("dominant-baseline","middle").transition().style("opacity",null)}updateStanfordElements(t=0){this.updateStanfordLines(t),this.updateStanfordRegions(t)}xvCustom(t,n){const o=this,{axis:r,config:s}=o;let a=n?t[n]:o.getBaseValue(t);return r.isTimeSeries()?a=Be.call(o,a):r.isCategorized()&&x(a)&&(a=s.axis_x_categories.indexOf(t.value)),o.scale.x(a)}yvCustom(t,n){const o=this,r=t.axis&&t.axis==="y2"?o.scale.y2:o.scale.y,s=n?t[n]:o.getBaseValue(t);return r(s)}}class k{constructor(){return{colors:void 0,epochs:[],lines:[],scale_min:void 0,scale_max:void 0,scale_width:20,scale_format:void 0,padding_top:0,padding_right:0,padding_bottom:0,padding_left:0,regions:[]}}}var ot=Object.defineProperty,rt=(e,t,n)=>t in e?ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,L=(e,t,n)=>rt(e,typeof t!="symbol"?t+"":t,n);class st extends Y{constructor(t){return super(t),L(this,"config"),L(this,"colorScale"),L(this,"elements"),this.config=new k,this}$beforeInit(){const{$$:t}=this;t.config.data_xSort=!1,t.isMultipleX=()=>!0,t.showGridFocus=()=>{},t.labelishData=o=>o.values,t.opacityForCircle=()=>1;const n=t.getCurrentPadding.bind(t);t.getCurrentPadding=()=>{const o=n();return o.right+=this.colorScale?this.colorScale.getColorScalePadding():0,o}}$init(){const{$$:t}=this;Xe.call(this,this.options),t.color=this.getStanfordPointColor.bind(t),this.colorScale=new Ke(this),this.elements=new nt(this),this.convertData(),this.initStanfordData(),this.setStanfordTooltip(),this.colorScale.drawColorScale(),t.right+=this.colorScale?this.colorScale.getColorScalePadding():0,this.$redraw()}$redraw(t){var n,o;(n=this.colorScale)==null||n.drawColorScale(),(o=this.elements)==null||o.updateStanfordElements(t)}getOptions(){return new k}convertData(){const t=this.$$.data.targets,n=this.options.epochs;t.forEach(o=>{o.values.forEach((r,s)=>{r.epochs=n[s]}),o.minEpochs=void 0,o.maxEpochs=void 0,o.colors=void 0,o.colorscale=void 0})}initStanfordData(){const{config:t}=this,n=this.$$.data.targets[0];n.values.sort(Ze);const o=n.values.map(r=>r.epochs);n.minEpochs=isNaN(t.scale_min)?Math.min(...o):t.scale_min,n.maxEpochs=isNaN(t.scale_max)?Math.max(...o):t.scale_max,n.colors=C(t.colors)?t.colors:(0,J.interpolateHslLong)((0,D.hsl)(250,1,.5),(0,D.hsl)(0,1,.5)),n.colorscale=(0,E.scaleSequentialLog)(n.colors).domain([n.minEpochs,n.maxEpochs])}getStanfordPointColor(t){return this.data.targets[0].colorscale(t.epochs)}setStanfordTooltip(){const{config:t}=this.$$;X(t.tooltip_contents)&&(t.tooltip_contents=function(n,o,r,s){const{data_x:a}=t;let i=`<table class="${S.tooltip}"><tbody>`;return n.forEach(d=>{const{id:b="",value:c=0,epochs:l=0,x:g=""}=d;i+=`<tr> + <th>${a||""}</th> + <th class="value">${o(g)}</th> + </tr> + <tr> + <th>${d.id}</th> + <th class="value">${r(c)}</th> + </tr> + <tr class="${S.tooltipName}-${b}"> + <td class="name"><span style="background-color:${s(d)}"></span>Epochs</td> + <td class="value">${r(l)}</td> + </tr>`}),`${i}</tbody></table>`})}countEpochsInRegion(t){const o=this.data.targets[0],r=o.values.reduce((a,i)=>a+Number(i.epochs),0),s=o.values.reduce((a,i)=>We(i,t)?a+Number(i.epochs):a,0);return{value:s,percentage:s!==0?+(s/r*100).toFixed(1):0}}}return y=y.default,y}()}); diff --git a/release/3.14.2/dist/plugin/billboardjs-plugin-tableview.d.ts b/release/3.14.2/dist/plugin/billboardjs-plugin-tableview.d.ts new file mode 100644 index 000000000..7724ef4be --- /dev/null +++ b/release/3.14.2/dist/plugin/billboardjs-plugin-tableview.d.ts @@ -0,0 +1,7 @@ +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +import PluginClass from "../../types/plugin/tableview"; + +export default PluginClass; diff --git a/release/3.14.2/dist/plugin/billboardjs-plugin-tableview.js b/release/3.14.2/dist/plugin/billboardjs-plugin-tableview.js new file mode 100644 index 000000000..809a6e284 --- /dev/null +++ b/release/3.14.2/dist/plugin/billboardjs-plugin-tableview.js @@ -0,0 +1,888 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("d3-brush"), require("d3-selection")); + else if(typeof define === 'function' && define.amd) + define("bb", ["d3-brush", "d3-selection"], factory); + else if(typeof exports === 'object') + exports["bb"] = factory(require("d3-brush"), require("d3-selection")); + else + root["bb"] = root["bb"] || {}, root["bb"]["plugin"] = root["bb"]["plugin"] || {}, root["bb"]["plugin"]["tableview"] = factory(root["d3"], root["d3"]); +})(this, function(__WEBPACK_EXTERNAL_MODULE__3__, __WEBPACK_EXTERNAL_MODULE__1__) { +return /******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ([ +/* 0 */, +/* 1 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__1__; + +/***/ }), +/* 2 */, +/* 3 */ +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__3__; + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk. +!function() { + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "default": function() { return /* binding */ TableView; } +}); + +// EXTERNAL MODULE: external {"commonjs":"d3-brush","commonjs2":"d3-brush","amd":"d3-brush","root":"d3"} +var external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_ = __webpack_require__(3); +// EXTERNAL MODULE: external {"commonjs":"d3-selection","commonjs2":"d3-selection","amd":"d3-selection","root":"d3"} +var external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_ = __webpack_require__(1); +;// ./src/module/browser.ts +function getGlobal() { + return typeof globalThis === "object" && globalThis !== null && globalThis.Object === Object && globalThis || typeof global === "object" && global !== null && global.Object === Object && global || typeof self === "object" && self !== null && self.Object === Object && self || Function("return this")(); +} +function getFallback(w) { + const hasRAF = typeof (w == null ? void 0 : w.requestAnimationFrame) === "function" && typeof (w == null ? void 0 : w.cancelAnimationFrame) === "function"; + const hasRIC = typeof (w == null ? void 0 : w.requestIdleCallback) === "function" && typeof (w == null ? void 0 : w.cancelIdleCallback) === "function"; + const request = (cb) => setTimeout(cb, 1); + const cancel = (id) => clearTimeout(id); + return [ + hasRAF ? w.requestAnimationFrame : request, + hasRAF ? w.cancelAnimationFrame : cancel, + hasRIC ? w.requestIdleCallback : request, + hasRIC ? w.cancelIdleCallback : cancel + ]; +} +const win = getGlobal(); +const doc = win == null ? void 0 : win.document; +const [ + requestAnimationFrame, + cancelAnimationFrame, + requestIdleCallback, + cancelIdleCallback +] = getFallback(win); + + +;// ./src/module/util.ts +var __defProp = Object.defineProperty; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; + + + + +const isValue = (v) => v || v === 0; +const isFunction = (v) => typeof v === "function"; +const isString = (v) => typeof v === "string"; +const isNumber = (v) => typeof v === "number"; +const isUndefined = (v) => typeof v === "undefined"; +const isDefined = (v) => typeof v !== "undefined"; +const isBoolean = (v) => typeof v === "boolean"; +const ceil10 = (v) => Math.ceil(v / 10) * 10; +const asHalfPixel = (n) => Math.ceil(n) + 0.5; +const diffDomain = (d) => d[1] - d[0]; +const isObjectType = (v) => typeof v === "object"; +const isEmpty = (o) => isUndefined(o) || o === null || isString(o) && o.length === 0 || isObjectType(o) && !(o instanceof Date) && Object.keys(o).length === 0 || isNumber(o) && isNaN(o); +const notEmpty = (o) => !isEmpty(o); +const isArray = (arr) => Array.isArray(arr); +const isObject = (obj) => obj && !(obj == null ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); +function getOption(options, key, defaultValue) { + return isDefined(options[key]) ? options[key] : defaultValue; +} +function hasValue(dict, value) { + let found = false; + Object.keys(dict).forEach((key) => dict[key] === value && (found = true)); + return found; +} +function callFn(fn, thisArg, ...args) { + const isFn = isFunction(fn); + isFn && fn.call(thisArg, ...args); + return isFn; +} +function endall(transition, cb) { + let n = 0; + const end = function(...args) { + !--n && cb.apply(this, ...args); + }; + if ("duration" in transition) { + transition.each(() => ++n).on("end", end); + } else { + ++n; + transition.call(end); + } +} +function sanitize(str) { + return isString(str) ? str.replace(/<(script|img)?/ig, "<").replace(/(script)?>/ig, ">") : str; +} +function setTextValue(node, text, dy = [-1, 1], toMiddle = false) { + if (!node || !isString(text)) { + return; + } + if (text.indexOf("\n") === -1) { + node.text(text); + } else { + const diff = [node.text(), text].map((v) => v.replace(/[\s\n]/g, "")); + if (diff[0] !== diff[1]) { + const multiline = text.split("\n"); + const len = toMiddle ? multiline.length - 1 : 1; + node.html(""); + multiline.forEach((v, i) => { + node.append("tspan").attr("x", 0).attr("dy", `${i === 0 ? dy[0] * len : dy[1]}em`).text(v); + }); + } + } +} +function getRectSegList(path) { + const { x, y, width, height } = path.getBBox(); + return [ + { x, y: y + height }, + // seg0 + { x, y }, + // seg1 + { x: x + width, y }, + // seg2 + { x: x + width, y: y + height } + // seg3 + ]; +} +function getPathBox(path) { + const { width, height } = path.getBoundingClientRect(); + const items = getRectSegList(path); + const x = items[0].x; + const y = Math.min(items[0].y, items[1].y); + return { + x, + y, + width, + height + }; +} +function getPointer(event, element) { + var _a; + const touches = event && ((_a = event.touches || event.sourceEvent && event.sourceEvent.touches) == null ? void 0 : _a[0]); + let pointer = [0, 0]; + try { + pointer = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.pointer)(touches || event, element); + } catch (e) { + } + return pointer.map((v) => isNaN(v) ? 0 : v); +} +function getBrushSelection(ctx) { + const { event, $el } = ctx; + const main = $el.subchart.main || $el.main; + let selection; + if (event && event.type === "brush") { + selection = event.selection; + } else if (main && (selection = main.select(".bb-brush").node())) { + selection = (0,external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_.brushSelection)(selection); + } + return selection; +} +function getBoundingRect(node) { + const needEvaluate = !("rect" in node) || "rect" in node && node.hasAttribute("width") && node.rect.width !== +node.getAttribute("width"); + return needEvaluate ? node.rect = node.getBoundingClientRect() : node.rect; +} +function getRandom(asStr = true, min = 0, max = 1e4) { + const crpt = win.crypto || win.msCrypto; + const rand = crpt ? min + crpt.getRandomValues(new Uint32Array(1))[0] % (max - min + 1) : Math.floor(Math.random() * (max - min) + min); + return asStr ? String(rand) : rand; +} +function findIndex(arr, v, start, end, isRotated) { + if (start > end) { + return -1; + } + const mid = Math.floor((start + end) / 2); + let { x, w = 0 } = arr[mid]; + if (isRotated) { + x = arr[mid].y; + w = arr[mid].h; + } + if (v >= x && v <= x + w) { + return mid; + } + return v < x ? findIndex(arr, v, start, mid - 1, isRotated) : findIndex(arr, v, mid + 1, end, isRotated); +} +function brushEmpty(ctx) { + const selection = getBrushSelection(ctx); + if (selection) { + return selection[0] === selection[1]; + } + return true; +} +function deepClone(...objectN) { + const clone = (v) => { + if (isObject(v) && v.constructor) { + const r = new v.constructor(); + for (const k in v) { + r[k] = clone(v[k]); + } + return r; + } + return v; + }; + return objectN.map((v) => clone(v)).reduce((a, c) => __spreadValues(__spreadValues({}, a), c)); +} +function extend(target = {}, source) { + if (isArray(source)) { + source.forEach((v) => extend(target, v)); + } + for (const p in source) { + if (/^\d+$/.test(p) || p in target) { + continue; + } + target[p] = source[p]; + } + return target; +} +const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1); +function camelize(str, separator = "-") { + return str.split(separator).map((v, i) => i ? v.charAt(0).toUpperCase() + v.slice(1).toLowerCase() : v.toLowerCase()).join(""); +} +const toArray = (v) => [].slice.call(v); +function addCssRules(style, selector, prop) { + const { rootSelector = "", sheet } = style; + const getSelector = (s) => s.replace(/\s?(bb-)/g, ".$1").replace(/\.+/g, "."); + const rule = `${rootSelector} ${getSelector(selector)} {${prop.join(";")}}`; + return sheet[sheet.insertRule ? "insertRule" : "addRule"]( + rule, + sheet.cssRules.length + ); +} +function getCssRules(styleSheets) { + let rules = []; + styleSheets.forEach((sheet) => { + var _a; + try { + if (sheet.cssRules && sheet.cssRules.length) { + rules = rules.concat(toArray(sheet.cssRules)); + } + } catch (e) { + (_a = win.console) == null ? void 0 : _a.warn(`Error while reading rules from ${sheet.href}: ${e.toString()}`); + } + }); + return rules; +} +function getScrollPosition(node) { + var _a, _b, _c, _d, _e, _f; + return { + x: ((_b = (_a = win.pageXOffset) != null ? _a : win.scrollX) != null ? _b : 0) + ((_c = node.scrollLeft) != null ? _c : 0), + y: ((_e = (_d = win.pageYOffset) != null ? _d : win.scrollY) != null ? _e : 0) + ((_f = node.scrollTop) != null ? _f : 0) + }; +} +function getTransformCTM(node, x = 0, y = 0, inverse = true) { + const point = new DOMPoint(x, y); + const screen = node.getScreenCTM(); + const res = point.matrixTransform( + inverse ? screen == null ? void 0 : screen.inverse() : screen + ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; +} +function getTranslation(node) { + const transform = node ? node.transform : null; + const baseVal = transform && transform.baseVal; + return baseVal && baseVal.numberOfItems ? baseVal.getItem(0).matrix : { a: 0, b: 0, c: 0, d: 0, e: 0, f: 0 }; +} +function getUnique(data) { + const isDate = data[0] instanceof Date; + const d = (isDate ? data.map(Number) : data).filter((v, i, self) => self.indexOf(v) === i); + return isDate ? d.map((v) => new Date(v)) : d; +} +function mergeArray(arr) { + return arr && arr.length ? arr.reduce((p, c) => p.concat(c)) : []; +} +function mergeObj(target, ...objectN) { + if (!objectN.length || objectN.length === 1 && !objectN[0]) { + return target; + } + const source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach((key) => { + const value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj(target, ...objectN); +} +function sortValue(data, isAsc = true) { + let fn; + if (data[0] instanceof Date) { + fn = isAsc ? (a, b) => a - b : (a, b) => b - a; + } else { + if (isAsc && !data.every(isNaN)) { + fn = (a, b) => a - b; + } else if (!isAsc) { + fn = (a, b) => a > b && -1 || a < b && 1 || a === b && 0; + } + } + return data.concat().sort(fn); +} +function getMinMax(type, data) { + let res = data.filter((v) => notEmpty(v)); + if (res.length) { + if (isNumber(res[0])) { + res = Math[type](...res); + } else if (res[0] instanceof Date) { + res = sortValue(res, type === "min")[0]; + } + } else { + res = void 0; + } + return res; +} +const getRange = (start, end, step = 1) => { + const res = []; + const n = Math.max(0, Math.ceil((end - start) / step)) | 0; + for (let i = start; i < n; i++) { + res.push(start + i * step); + } + return res; +}; +const emulateEvent = { + mouse: (() => { + const getParams = () => ({ + bubbles: false, + cancelable: false, + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0 + }); + try { + new MouseEvent("t"); + return (el, eventType, params = getParams()) => { + el.dispatchEvent(new MouseEvent(eventType, params)); + }; + } catch (e) { + return (el, eventType, params = getParams()) => { + const mouseEvent = doc.createEvent("MouseEvent"); + mouseEvent.initMouseEvent( + eventType, + params.bubbles, + params.cancelable, + win, + 0, + // the event's mouse click count + params.screenX, + params.screenY, + params.clientX, + params.clientY, + false, + false, + false, + false, + 0, + null + ); + el.dispatchEvent(mouseEvent); + }; + } + })(), + touch: (el, eventType, params) => { + const touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}; +function tplProcess(tpl, data) { + let res = tpl; + for (const x in data) { + res = res.replace(new RegExp(`{=${x}}`, "g"), data[x]); + } + return res; +} +function parseDate(date) { + var _a; + let parsedDate; + if (date instanceof Date) { + parsedDate = date; + } else if (isString(date)) { + const { config, format } = this; + parsedDate = (_a = format.dataTime(config.data_xFormat)(date)) != null ? _a : new Date(date); + } else if (isNumber(date) && !isNaN(date)) { + parsedDate = /* @__PURE__ */ new Date(+date); + } + if (!parsedDate || isNaN(+parsedDate)) { + console && console.error && console.error(`Failed to parse x '${date}' to Date object`); + } + return parsedDate; +} +function hasViewBox(svg) { + const attr = svg.attr("viewBox"); + return attr ? /(\d+(\.\d+)?){3}/.test(attr) : false; +} +function hasStyle(node, condition, all = false) { + const isD3Node = !!node.node; + let has = false; + for (const [key, value] of Object.entries(condition)) { + has = isD3Node ? node.style(key) === value : node.style[key] === value; + if (all === false && has) { + break; + } + } + return has; +} +function isTabVisible() { + var _a, _b; + return ((_a = doc) == null ? void 0 : _a.hidden) === false || ((_b = doc) == null ? void 0 : _b.visibilityState) === "visible"; +} +function convertInputType(mouse, touch) { + const { DocumentTouch, matchMedia, navigator } = win; + const hasPointerCoarse = matchMedia == null ? void 0 : matchMedia("(pointer:coarse)").matches; + let hasTouch = false; + if (touch) { + if (navigator && "maxTouchPoints" in navigator) { + hasTouch = navigator.maxTouchPoints > 0; + } else if ("ontouchmove" in win || DocumentTouch && doc instanceof DocumentTouch) { + hasTouch = true; + } else { + if (hasPointerCoarse) { + hasTouch = true; + } else { + const UA = navigator.userAgent; + hasTouch = /\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(UA) || /\b(Android|Windows Phone|iPad|iPod)\b/i.test(UA); + } + } + } + const hasMouse = mouse && !hasPointerCoarse && (matchMedia == null ? void 0 : matchMedia("(pointer:fine)").matches); + return hasMouse && "mouse" || hasTouch && "touch" || "mouse"; +} +function runUntil(fn, conditionFn) { + if (conditionFn() === false) { + requestAnimationFrame(() => runUntil(fn, conditionFn)); + } else { + fn(); + } +} + +;// ./src/config/config.ts + +function loadConfig(config) { + const thisConfig = this.config; + let target; + let keys; + let read; + const find = () => { + const key = keys.shift(); + if (key && target && isObjectType(target) && key in target) { + target = target[key]; + return find(); + } else if (!key) { + return target; + } + return void 0; + }; + Object.keys(thisConfig).forEach((key) => { + target = config; + keys = key.split("_"); + read = find(); + if (isDefined(read)) { + thisConfig[key] = read; + } + }); + if (this.api) { + this.state.orgConfig = config; + } +} + +;// ./src/Plugin/Plugin.ts +var Plugin_defProp = Object.defineProperty; +var Plugin_defNormalProp = (obj, key, value) => key in obj ? Plugin_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => Plugin_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); +class Plugin { + /** + * Constructor + * @param {Any} options config option object + * @private + */ + constructor(options = {}) { + __publicField(this, "$$"); + __publicField(this, "options"); + this.options = options; + } + /** + * Lifecycle hook for 'beforeInit' phase. + * @private + */ + $beforeInit() { + } + /** + * Lifecycle hook for 'init' phase. + * @private + */ + $init() { + } + /** + * Lifecycle hook for 'afterInit' phase. + * @private + */ + $afterInit() { + } + /** + * Lifecycle hook for 'redraw' phase. + * @private + */ + $redraw() { + } + /** + * Lifecycle hook for 'willDestroy' phase. + * @private + */ + $willDestroy() { + Object.keys(this).forEach((key) => { + this[key] = null; + delete this[key]; + }); + } +} +__publicField(Plugin, "version", "3.14.2"); + +;// ./src/Plugin/tableview/const.ts + +const defaultStyle = { + id: "__tableview-style__", + class: "bb-tableview", + rule: `.bb-tableview { + border-collapse:collapse; + border-spacing:0; + background:#fff; + min-width:100%; + margin-top:10px; + font-family:sans-serif; + font-size:.9em; + } + .bb-tableview tr:hover { + background:#eef7ff; + } + .bb-tableview thead tr { + background:#f8f8f8; + } + .bb-tableview caption,.bb-tableview td,.bb-tableview th { + text-align: center; + border:1px solid silver; + padding:.5em; + } + .bb-tableview caption { + font-size:1.1em; + font-weight:700; + margin-bottom: -1px; + }` +}; +const tpl = { + body: `<caption>{=title}</caption> + <thead><tr>{=thead}</tr></thead> + <tbody>{=tbody}</tbody>`, + thead: `<th scope="col">{=title}</th>`, + tbodyHeader: `<th scope="row">{=value}</th>`, + tbody: `<td>{=value}</td>` +}; + +;// ./src/Plugin/tableview/Options.ts +class Options { + constructor() { + return { + /** + * Set tableview holder selector. + * - **NOTE:** If not set, will append new holder element dynamically right after chart element. + * @name selector + * @memberof plugin-tableview + * @type {string} + * @default undefined + * @example + * selector: "#table-holder" + */ + selector: void 0, + /** + * Set category title text + * @name categoryTitle + * @memberof plugin-tableview + * @type {string} + * @default "Category" + * @example + * categoryTitle: "#table-holder" + */ + categoryTitle: "Category", + /** + * Set category text format function. + * @name categoryFormat + * @memberof plugin-tableview + * @type {Function} + * @returns {string} + * @default function(v) { // will return formatted value according x Axis type }} + * @example + * categoryFormat: "#table-holder" + */ + categoryFormat: function(v) { + let category = v; + if (this.$$.axis.isCategorized()) { + category = this.$$.categoryName(v); + } else if (this.$$.axis.isTimeSeries()) { + category = v.toLocaleDateString(); + } + return category; + }, + /** + * Set tableview holder class name. + * @name class + * @memberof plugin-tableview + * @type {string} + * @default undefined + * @example + * class: "table-class-name" + */ + class: void 0, + /** + * Set to apply default style(`.bb-tableview`) to tableview element. + * @name style + * @memberof plugin-tableview + * @type {boolean} + * @default true + * @example + * style: false + */ + style: true, + /** + * Set tableview title text. + * - **NOTE:** If set [title.text](https://naver.github.io/billboard.js/release/latest/doc/Options.html#.title), will be used when this option value is empty. + * @name title + * @memberof plugin-tableview + * @type {string} + * @default undefined + * @example + * title: "Table Title Text" + */ + title: void 0, + /** + * Update tableview from data visibility update(ex. legend toggle). + * @name updateOnToggle + * @memberof plugin-tableview + * @type {boolean} + * @default true + * @example + * legendToggleUpdate: false + */ + updateOnToggle: true, + /** + * Set how null value to be shown. + * @name nullString + * @memberof plugin-tableview + * @type {string} + * @default "-" + * @example + * nullString: "N/A" + */ + nullString: "-" + }; + } +} + +;// ./src/Plugin/tableview/index.ts +var tableview_defProp = Object.defineProperty; +var __defProps = Object.defineProperties; +var __getOwnPropDescs = Object.getOwnPropertyDescriptors; +var tableview_getOwnPropSymbols = Object.getOwnPropertySymbols; +var tableview_hasOwnProp = Object.prototype.hasOwnProperty; +var tableview_propIsEnum = Object.prototype.propertyIsEnumerable; +var tableview_defNormalProp = (obj, key, value) => key in obj ? tableview_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var tableview_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (tableview_hasOwnProp.call(b, prop)) + tableview_defNormalProp(a, prop, b[prop]); + if (tableview_getOwnPropSymbols) + for (var prop of tableview_getOwnPropSymbols(b)) { + if (tableview_propIsEnum.call(b, prop)) + tableview_defNormalProp(a, prop, b[prop]); + } + return a; +}; +var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); +var tableview_publicField = (obj, key, value) => tableview_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + + +class TableView extends Plugin { + constructor(options) { + super(options); + tableview_publicField(this, "config"); + tableview_publicField(this, "element"); + this.config = new Options(); + return this; + } + $beforeInit() { + loadConfig.call(this, this.options); + } + $init() { + const { class: className, selector, style } = this.config; + let element = document.querySelector( + selector || `.${className || defaultStyle.class}` + ); + if (!element) { + const chart = this.$$.$el.chart.node(); + element = document.createElement("table"); + chart.parentNode.insertBefore(element, chart.nextSibling); + } + if (element.tagName !== "TABLE") { + const table = document.createElement("table"); + element.appendChild(table); + element = table; + } + if (style && !document.getElementById(defaultStyle.id)) { + const s = document.createElement("style"); + s.id = defaultStyle.id; + s.innerHTML = defaultStyle.rule; + (document.head || document.getElementsByTagName("head")[0]).appendChild(s); + } + element.classList.add(...[style && defaultStyle.class, className].filter(Boolean)); + this.element = element; + } + /** + * Generate table + * @private + */ + generateTable() { + const { $$, config, element } = this; + const dataToShow = $$.filterTargetsToShow($$.data.targets); + let thead = tplProcess(tpl.thead, { + title: dataToShow.length ? this.config.categoryTitle : "" + }); + let tbody = ""; + const rows = []; + dataToShow.forEach((v) => { + thead += tplProcess(tpl.thead, { title: v.id }); + v.values.forEach((d, i) => { + if (!rows[i]) { + rows[i] = [d.x]; + } + rows[i].push(d.value); + }); + }); + rows.forEach((v) => { + tbody += `<tr>${v.map( + (d, i) => tplProcess(i ? tpl.tbody : tpl.tbodyHeader, { + value: i === 0 ? config.categoryFormat.bind(this)(d) : isNumber(d) ? d.toLocaleString() : config.nullString + }) + ).join("")}</tr>`; + }); + const rx = /(<\/?(script|img)[^>]*>|<[^>]+><\/[^>]+>)/ig; + const r = tplProcess(tpl.body, __spreadProps(tableview_spreadValues({}, config), { + title: config.title || $$.config.title_text || "", + thead, + tbody + })).replace(rx, ""); + element.innerHTML = r; + } + $redraw() { + const { state } = this.$$; + const doNotUpdate = state.resizing || !this.config.updateOnToggle && state.toggling; + !doNotUpdate && this.generateTable(); + } + $willDestroy() { + var _a, _b; + (_a = this.element.parentNode) == null ? void 0 : _a.removeChild(this.element); + if (this.$$.charts.length === 1) { + const s = document.getElementById(defaultStyle.id); + (_b = s == null ? void 0 : s.parentNode) == null ? void 0 : _b.removeChild(s); + } + } +} + +}(); +__webpack_exports__ = __webpack_exports__["default"]; +/******/ return __webpack_exports__; +/******/ })() +; +}); \ No newline at end of file diff --git a/release/3.14.2/dist/plugin/billboardjs-plugin-tableview.min.js b/release/3.14.2/dist/plugin/billboardjs-plugin-tableview.min.js new file mode 100644 index 000000000..36a3481d7 --- /dev/null +++ b/release/3.14.2/dist/plugin/billboardjs-plugin-tableview.min.js @@ -0,0 +1,39 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */(function(c,u){typeof exports=="object"&&typeof module=="object"?module.exports=u(require("d3-brush"),require("d3-selection")):typeof define=="function"&&define.amd?define("bb",["d3-brush","d3-selection"],u):typeof exports=="object"?exports.bb=u(require("d3-brush"),require("d3-selection")):(c.bb=c.bb||{},c.bb.plugin=c.bb.plugin||{},c.bb.plugin.tableview=u(c.d3,c.d3))})(this,function(j,c){return function(){"use strict";var u={853:function(e){e.exports=j},747:function(e){e.exports=c}},C={};function a(e){var t=C[e];if(t!==void 0)return t.exports;var n=C[e]={exports:{}};return u[e](n,n.exports,a),n.exports}(function(){a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),function(){a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}();var m={};a.d(m,{default:function(){return fe}});var be=a(853),he=a(747);function R(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function q(e){const t=typeof(e==null?void 0:e.requestAnimationFrame)=="function"&&typeof(e==null?void 0:e.cancelAnimationFrame)=="function",n=typeof(e==null?void 0:e.requestIdleCallback)=="function"&&typeof(e==null?void 0:e.cancelIdleCallback)=="function",o=i=>setTimeout(i,1),r=i=>clearTimeout(i);return[t?e.requestAnimationFrame:o,t?e.cancelAnimationFrame:r,n?e.requestIdleCallback:o,n?e.cancelIdleCallback:r]}const g=R(),V=g==null?void 0:g.document,[pe,me,ge,_e]=q(g);var L=Object.defineProperty,S=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,M=(e,t,n)=>t in e?L(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,D=(e,t)=>{for(var n in t||(t={}))U.call(t,n)&&M(e,n,t[n]);if(S)for(var n of S(t))z.call(t,n)&&M(e,n,t[n]);return e};const ye=e=>e||e===0,X=e=>typeof e=="function",_=e=>typeof e=="string",y=e=>typeof e=="number",Y=e=>typeof e=="undefined",A=e=>typeof e!="undefined",ve=e=>typeof e=="boolean",we=e=>Math.ceil(e/10)*10,xe=e=>Math.ceil(e)+.5,Oe=e=>e[1]-e[0],O=e=>typeof e=="object",k=e=>Y(e)||e===null||_(e)&&e.length===0||O(e)&&!(e instanceof Date)&&Object.keys(e).length===0||y(e)&&isNaN(e),H=e=>!k(e),E=e=>Array.isArray(e),v=e=>e&&!(e!=null&&e.nodeType)&&O(e)&&!E(e);function Ee(e,t,n){return A(e[t])?e[t]:n}function Pe(e,t){let n=!1;return Object.keys(e).forEach(o=>e[o]===t&&(n=!0)),n}function Te(e,t,...n){const o=X(e);return o&&e.call(t,...n),o}function $e(e,t){let n=0;const o=function(...r){!--n&&t.apply(this,...r)};"duration"in e?e.each(()=>++n).on("end",o):(++n,e.call(o))}function je(e){return _(e)?e.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):e}function Ce(e,t,n=[-1,1],o=!1){if(!(!e||!_(t)))if(t.indexOf(` +`)===-1)e.text(t);else{const r=[e.text(),t].map(i=>i.replace(/[\s\n]/g,""));if(r[0]!==r[1]){const i=t.split(` +`),s=o?i.length-1:1;e.html(""),i.forEach((l,d)=>{e.append("tspan").attr("x",0).attr("dy",`${d===0?n[0]*s:n[1]}em`).text(l)})}}}function G(e){const{x:t,y:n,width:o,height:r}=e.getBBox();return[{x:t,y:n+r},{x:t,y:n},{x:t+o,y:n},{x:t+o,y:n+r}]}function Se(e){const{width:t,height:n}=e.getBoundingClientRect(),o=G(e),r=o[0].x,i=Math.min(o[0].y,o[1].y);return{x:r,y:i,width:t,height:n}}function Me(e,t){var n;const o=e&&((n=e.touches||e.sourceEvent&&e.sourceEvent.touches)==null?void 0:n[0]);let r=[0,0];try{r=d3Pointer(o||e,t)}catch(i){}return r.map(i=>isNaN(i)?0:i)}function K(e){const{event:t,$el:n}=e,o=n.subchart.main||n.main;let r;return t&&t.type==="brush"?r=t.selection:o&&(r=o.select(".bb-brush").node())&&(r=d3BrushSelection(r)),r}function De(e){return!("rect"in e)||"rect"in e&&e.hasAttribute("width")&&e.rect.width!==+e.getAttribute("width")?e.rect=e.getBoundingClientRect():e.rect}function Ae(e=!0,t=0,n=1e4){const o=window.crypto||window.msCrypto,r=o?t+o.getRandomValues(new Uint32Array(1))[0]%(n-t+1):Math.floor(Math.random()*(n-t)+t);return e?String(r):r}function N(e,t,n,o,r){if(n>o)return-1;const i=Math.floor((n+o)/2);let{x:s,w:l=0}=e[i];return r&&(s=e[i].y,l=e[i].h),t>=s&&t<=s+l?i:t<s?N(e,t,n,i-1,r):N(e,t,i+1,o,r)}function Ne(e){const t=K(e);return t?t[0]===t[1]:!0}function Be(...e){const t=n=>{if(v(n)&&n.constructor){const o=new n.constructor;for(const r in n)o[r]=t(n[r]);return o}return n};return e.map(n=>t(n)).reduce((n,o)=>D(D({},n),o))}function W(e={},t){E(t)&&t.forEach(n=>W(e,n));for(const n in t)/^\d+$/.test(n)||n in e||(e[n]=t[n]);return e}const Ie=e=>e.charAt(0).toUpperCase()+e.slice(1);function Fe(e,t="-"){return e.split(t).map((n,o)=>o?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase():n.toLowerCase()).join("")}const J=e=>[].slice.call(e);function Re(e,t,n){const{rootSelector:o="",sheet:r}=e,s=`${o} ${(l=>l.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(t)} {${n.join(";")}}`;return r[r.insertRule?"insertRule":"addRule"](s,r.cssRules.length)}function qe(e){let t=[];return e.forEach(n=>{var o;try{n.cssRules&&n.cssRules.length&&(t=t.concat(J(n.cssRules)))}catch(r){(o=window.console)==null||o.warn(`Error while reading rules from ${n.href}: ${r.toString()}`)}}),t}function Ve(e){var t,n,o,r,i,s;return{x:((n=(t=window.pageXOffset)!=null?t:window.scrollX)!=null?n:0)+((o=e.scrollLeft)!=null?o:0),y:((i=(r=window.pageYOffset)!=null?r:window.scrollY)!=null?i:0)+((s=e.scrollTop)!=null?s:0)}}function Le(e,t=0,n=0,o=!0){const r=new DOMPoint(t,n),i=e.getScreenCTM(),s=r.matrixTransform(o?i==null?void 0:i.inverse():i);if(o===!1){const l=e.getBoundingClientRect();s.x-=l.x,s.y-=l.y}return s}function Ue(e){const t=e?e.transform:null,n=t&&t.baseVal;return n&&n.numberOfItems?n.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function ze(e){const t=e[0]instanceof Date,n=(t?e.map(Number):e).filter((o,r,i)=>i.indexOf(o)===r);return t?n.map(o=>new Date(o)):n}function Xe(e){return e&&e.length?e.reduce((t,n)=>t.concat(n)):[]}function P(e,...t){if(!t.length||t.length===1&&!t[0])return e;const n=t.shift();return v(e)&&v(n)&&Object.keys(n).forEach(o=>{const r=n[o];v(r)?(!e[o]&&(e[o]={}),e[o]=P(e[o],r)):e[o]=E(r)?r.concat():r}),P(e,...t)}function Q(e,t=!0){let n;return e[0]instanceof Date?n=t?(o,r)=>o-r:(o,r)=>r-o:t&&!e.every(isNaN)?n=(o,r)=>o-r:t||(n=(o,r)=>o>r&&-1||o<r&&1||o===r&&0),e.concat().sort(n)}function Ye(e,t){let n=t.filter(o=>H(o));return n.length?y(n[0])?n=Math[e](...n):n[0]instanceof Date&&(n=Q(n,e==="min")[0]):n=void 0,n}const ke=(e,t,n=1)=>{const o=[],r=Math.max(0,Math.ceil((t-e)/n))|0;for(let i=e;i<r;i++)o.push(e+i*n);return o},He={mouse:(()=>{const e=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(t,n,o=e())=>{t.dispatchEvent(new MouseEvent(n,o))}}catch(t){return(n,o,r=e())=>{const i=V.createEvent("MouseEvent");i.initMouseEvent(o,r.bubbles,r.cancelable,g,0,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),n.dispatchEvent(i)}}})(),touch:(e,t,n)=>{const o=new Touch(P({identifier:Date.now(),target:e,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},n));e.dispatchEvent(new TouchEvent(t,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[o],targetTouches:[],changedTouches:[o]}))}};function w(e,t){let n=e;for(const o in t)n=n.replace(new RegExp(`{=${o}}`,"g"),t[o]);return n}function Ge(e){var t;let n;if(e instanceof Date)n=e;else if(_(e)){const{config:o,format:r}=this;n=(t=r.dataTime(o.data_xFormat)(e))!=null?t:new Date(e)}else y(e)&&!isNaN(e)&&(n=new Date(+e));return(!n||isNaN(+n))&&console&&console.error&&console.error(`Failed to parse x '${e}' to Date object`),n}function Ke(e){const t=e.attr("viewBox");return t?/(\d+(\.\d+)?){3}/.test(t):!1}function We(e,t,n=!1){const o=!!e.node;let r=!1;for(const[i,s]of Object.entries(t))if(r=o?e.style(i)===s:e.style[i]===s,n===!1&&r)break;return r}function Je(){var e,t;return((e=document)==null?void 0:e.hidden)===!1||((t=document)==null?void 0:t.visibilityState)==="visible"}function Qe(e,t){const{DocumentTouch:n,matchMedia:o,navigator:r}=window,i=o==null?void 0:o("(pointer:coarse)").matches;let s=!1;if(t)if(r&&"maxTouchPoints"in r)s=r.maxTouchPoints>0;else if("ontouchmove"in window||n&&document instanceof n)s=!0;else if(i)s=!0;else{const d=r.userAgent;s=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(d)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(d)}return e&&!i&&(o==null?void 0:o("(pointer:fine)").matches)&&"mouse"||s&&"touch"||"mouse"}function Z(e,t){t()===!1?requestAnimationFrame(()=>Z(e,t)):e()}function ee(e){const t=this.config;let n,o,r;const i=()=>{const s=o.shift();if(s&&n&&O(n)&&s in n)return n=n[s],i();if(!s)return n};Object.keys(t).forEach(s=>{n=e,o=s.split("_"),r=i(),A(r)&&(t[s]=r)}),this.api&&(this.state.orgConfig=e)}var te=Object.defineProperty,ne=(e,t,n)=>t in e?te(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,T=(e,t,n)=>ne(e,typeof t!="symbol"?t+"":t,n);class B{constructor(t={}){T(this,"$$"),T(this,"options"),this.options=t}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(t=>{this[t]=null,delete this[t]})}}T(B,"version","3.14.2");const f={id:"__tableview-style__",class:"bb-tableview",rule:`.bb-tableview { + border-collapse:collapse; + border-spacing:0; + background:#fff; + min-width:100%; + margin-top:10px; + font-family:sans-serif; + font-size:.9em; + } + .bb-tableview tr:hover { + background:#eef7ff; + } + .bb-tableview thead tr { + background:#f8f8f8; + } + .bb-tableview caption,.bb-tableview td,.bb-tableview th { + text-align: center; + border:1px solid silver; + padding:.5em; + } + .bb-tableview caption { + font-size:1.1em; + font-weight:700; + margin-bottom: -1px; + }`},p={body:`<caption>{=title}</caption> + <thead><tr>{=thead}</tr></thead> + <tbody>{=tbody}</tbody>`,thead:'<th scope="col">{=title}</th>',tbodyHeader:'<th scope="row">{=value}</th>',tbody:"<td>{=value}</td>"};class oe{constructor(){return{selector:void 0,categoryTitle:"Category",categoryFormat:function(t){let n=t;return this.$$.axis.isCategorized()?n=this.$$.categoryName(t):this.$$.axis.isTimeSeries()&&(n=t.toLocaleDateString()),n},class:void 0,style:!0,title:void 0,updateOnToggle:!0,nullString:"-"}}}var re=Object.defineProperty,ie=Object.defineProperties,se=Object.getOwnPropertyDescriptors,I=Object.getOwnPropertySymbols,le=Object.prototype.hasOwnProperty,ce=Object.prototype.propertyIsEnumerable,$=(e,t,n)=>t in e?re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ae=(e,t)=>{for(var n in t||(t={}))le.call(t,n)&&$(e,n,t[n]);if(I)for(var n of I(t))ce.call(t,n)&&$(e,n,t[n]);return e},ue=(e,t)=>ie(e,se(t)),F=(e,t,n)=>$(e,typeof t!="symbol"?t+"":t,n);class fe extends B{constructor(t){return super(t),F(this,"config"),F(this,"element"),this.config=new oe,this}$beforeInit(){ee.call(this,this.options)}$init(){const{class:t,selector:n,style:o}=this.config;let r=document.querySelector(n||`.${t||f.class}`);if(!r){const i=this.$$.$el.chart.node();r=document.createElement("table"),i.parentNode.insertBefore(r,i.nextSibling)}if(r.tagName!=="TABLE"){const i=document.createElement("table");r.appendChild(i),r=i}if(o&&!document.getElementById(f.id)){const i=document.createElement("style");i.id=f.id,i.innerHTML=f.rule,(document.head||document.getElementsByTagName("head")[0]).appendChild(i)}r.classList.add(...[o&&f.class,t].filter(Boolean)),this.element=r}generateTable(){const{$$:t,config:n,element:o}=this,r=t.filterTargetsToShow(t.data.targets);let i=w(p.thead,{title:r.length?this.config.categoryTitle:""}),s="";const l=[];r.forEach(x=>{i+=w(p.thead,{title:x.id}),x.values.forEach((b,h)=>{l[h]||(l[h]=[b.x]),l[h].push(b.value)})}),l.forEach(x=>{s+=`<tr>${x.map((b,h)=>w(h?p.tbody:p.tbodyHeader,{value:h===0?n.categoryFormat.bind(this)(b):y(b)?b.toLocaleString():n.nullString})).join("")}</tr>`});const d=/(<\/?(script|img)[^>]*>|<[^>]+><\/[^>]+>)/ig,de=w(p.body,ue(ae({},n),{title:n.title||t.config.title_text||"",thead:i,tbody:s})).replace(d,"");o.innerHTML=de}$redraw(){const{state:t}=this.$$;!(t.resizing||!this.config.updateOnToggle&&t.toggling)&&this.generateTable()}$willDestroy(){var t,n;if((t=this.element.parentNode)==null||t.removeChild(this.element),this.$$.charts.length===1){const o=document.getElementById(f.id);(n=o==null?void 0:o.parentNode)==null||n.removeChild(o)}}}return m=m.default,m}()}); diff --git a/release/3.14.2/dist/plugin/billboardjs-plugin-textoverlap.d.ts b/release/3.14.2/dist/plugin/billboardjs-plugin-textoverlap.d.ts new file mode 100644 index 000000000..2ebbc04fc --- /dev/null +++ b/release/3.14.2/dist/plugin/billboardjs-plugin-textoverlap.d.ts @@ -0,0 +1,7 @@ +/** + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + */ +import PluginClass from "../../types/plugin/textoverlap"; + +export default PluginClass; diff --git a/release/3.14.2/dist/plugin/billboardjs-plugin-textoverlap.js b/release/3.14.2/dist/plugin/billboardjs-plugin-textoverlap.js new file mode 100644 index 000000000..c9e478c2c --- /dev/null +++ b/release/3.14.2/dist/plugin/billboardjs-plugin-textoverlap.js @@ -0,0 +1,766 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("d3-delaunay"), require("d3-polygon"), require("d3-brush"), require("d3-selection")); + else if(typeof define === 'function' && define.amd) + define("bb", ["d3-delaunay", "d3-polygon", "d3-brush", "d3-selection"], factory); + else if(typeof exports === 'object') + exports["bb"] = factory(require("d3-delaunay"), require("d3-polygon"), require("d3-brush"), require("d3-selection")); + else + root["bb"] = root["bb"] || {}, root["bb"]["plugin"] = root["bb"]["plugin"] || {}, root["bb"]["plugin"]["textoverlap"] = factory(root["d3"], root["d3"], root["d3"], root["d3"]); +})(this, function(__WEBPACK_EXTERNAL_MODULE__12__, __WEBPACK_EXTERNAL_MODULE__13__, __WEBPACK_EXTERNAL_MODULE__3__, __WEBPACK_EXTERNAL_MODULE__1__) { +return /******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ 3: +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__3__; + +/***/ }), + +/***/ 12: +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__12__; + +/***/ }), + +/***/ 13: +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__13__; + +/***/ }), + +/***/ 1: +/***/ (function(module) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__1__; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk. +!function() { + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "default": function() { return /* binding */ TextOverlap; } +}); + +// EXTERNAL MODULE: external {"commonjs":"d3-delaunay","commonjs2":"d3-delaunay","amd":"d3-delaunay","root":"d3"} +var external_commonjs_d3_delaunay_commonjs2_d3_delaunay_amd_d3_delaunay_root_d3_ = __webpack_require__(12); +// EXTERNAL MODULE: external {"commonjs":"d3-polygon","commonjs2":"d3-polygon","amd":"d3-polygon","root":"d3"} +var external_commonjs_d3_polygon_commonjs2_d3_polygon_amd_d3_polygon_root_d3_ = __webpack_require__(13); +// EXTERNAL MODULE: external {"commonjs":"d3-brush","commonjs2":"d3-brush","amd":"d3-brush","root":"d3"} +var external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_ = __webpack_require__(3); +// EXTERNAL MODULE: external {"commonjs":"d3-selection","commonjs2":"d3-selection","amd":"d3-selection","root":"d3"} +var external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_ = __webpack_require__(1); +;// ./src/module/browser.ts +function getGlobal() { + return typeof globalThis === "object" && globalThis !== null && globalThis.Object === Object && globalThis || typeof global === "object" && global !== null && global.Object === Object && global || typeof self === "object" && self !== null && self.Object === Object && self || Function("return this")(); +} +function getFallback(w) { + const hasRAF = typeof (w == null ? void 0 : w.requestAnimationFrame) === "function" && typeof (w == null ? void 0 : w.cancelAnimationFrame) === "function"; + const hasRIC = typeof (w == null ? void 0 : w.requestIdleCallback) === "function" && typeof (w == null ? void 0 : w.cancelIdleCallback) === "function"; + const request = (cb) => setTimeout(cb, 1); + const cancel = (id) => clearTimeout(id); + return [ + hasRAF ? w.requestAnimationFrame : request, + hasRAF ? w.cancelAnimationFrame : cancel, + hasRIC ? w.requestIdleCallback : request, + hasRIC ? w.cancelIdleCallback : cancel + ]; +} +const win = getGlobal(); +const doc = win == null ? void 0 : win.document; +const [ + requestAnimationFrame, + cancelAnimationFrame, + requestIdleCallback, + cancelIdleCallback +] = getFallback(win); + + +;// ./src/module/util.ts +var __defProp = Object.defineProperty; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; + + + + +const isValue = (v) => v || v === 0; +const isFunction = (v) => typeof v === "function"; +const isString = (v) => typeof v === "string"; +const isNumber = (v) => typeof v === "number"; +const isUndefined = (v) => typeof v === "undefined"; +const isDefined = (v) => typeof v !== "undefined"; +const isBoolean = (v) => typeof v === "boolean"; +const ceil10 = (v) => Math.ceil(v / 10) * 10; +const asHalfPixel = (n) => Math.ceil(n) + 0.5; +const diffDomain = (d) => d[1] - d[0]; +const isObjectType = (v) => typeof v === "object"; +const isEmpty = (o) => isUndefined(o) || o === null || isString(o) && o.length === 0 || isObjectType(o) && !(o instanceof Date) && Object.keys(o).length === 0 || isNumber(o) && isNaN(o); +const notEmpty = (o) => !isEmpty(o); +const isArray = (arr) => Array.isArray(arr); +const isObject = (obj) => obj && !(obj == null ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); +function getOption(options, key, defaultValue) { + return isDefined(options[key]) ? options[key] : defaultValue; +} +function hasValue(dict, value) { + let found = false; + Object.keys(dict).forEach((key) => dict[key] === value && (found = true)); + return found; +} +function callFn(fn, thisArg, ...args) { + const isFn = isFunction(fn); + isFn && fn.call(thisArg, ...args); + return isFn; +} +function endall(transition, cb) { + let n = 0; + const end = function(...args) { + !--n && cb.apply(this, ...args); + }; + if ("duration" in transition) { + transition.each(() => ++n).on("end", end); + } else { + ++n; + transition.call(end); + } +} +function sanitize(str) { + return isString(str) ? str.replace(/<(script|img)?/ig, "<").replace(/(script)?>/ig, ">") : str; +} +function setTextValue(node, text, dy = [-1, 1], toMiddle = false) { + if (!node || !isString(text)) { + return; + } + if (text.indexOf("\n") === -1) { + node.text(text); + } else { + const diff = [node.text(), text].map((v) => v.replace(/[\s\n]/g, "")); + if (diff[0] !== diff[1]) { + const multiline = text.split("\n"); + const len = toMiddle ? multiline.length - 1 : 1; + node.html(""); + multiline.forEach((v, i) => { + node.append("tspan").attr("x", 0).attr("dy", `${i === 0 ? dy[0] * len : dy[1]}em`).text(v); + }); + } + } +} +function getRectSegList(path) { + const { x, y, width, height } = path.getBBox(); + return [ + { x, y: y + height }, + // seg0 + { x, y }, + // seg1 + { x: x + width, y }, + // seg2 + { x: x + width, y: y + height } + // seg3 + ]; +} +function getPathBox(path) { + const { width, height } = path.getBoundingClientRect(); + const items = getRectSegList(path); + const x = items[0].x; + const y = Math.min(items[0].y, items[1].y); + return { + x, + y, + width, + height + }; +} +function getPointer(event, element) { + var _a; + const touches = event && ((_a = event.touches || event.sourceEvent && event.sourceEvent.touches) == null ? void 0 : _a[0]); + let pointer = [0, 0]; + try { + pointer = (0,external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_.pointer)(touches || event, element); + } catch (e) { + } + return pointer.map((v) => isNaN(v) ? 0 : v); +} +function getBrushSelection(ctx) { + const { event, $el } = ctx; + const main = $el.subchart.main || $el.main; + let selection; + if (event && event.type === "brush") { + selection = event.selection; + } else if (main && (selection = main.select(".bb-brush").node())) { + selection = (0,external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_.brushSelection)(selection); + } + return selection; +} +function getBoundingRect(node) { + const needEvaluate = !("rect" in node) || "rect" in node && node.hasAttribute("width") && node.rect.width !== +node.getAttribute("width"); + return needEvaluate ? node.rect = node.getBoundingClientRect() : node.rect; +} +function getRandom(asStr = true, min = 0, max = 1e4) { + const crpt = win.crypto || win.msCrypto; + const rand = crpt ? min + crpt.getRandomValues(new Uint32Array(1))[0] % (max - min + 1) : Math.floor(Math.random() * (max - min) + min); + return asStr ? String(rand) : rand; +} +function findIndex(arr, v, start, end, isRotated) { + if (start > end) { + return -1; + } + const mid = Math.floor((start + end) / 2); + let { x, w = 0 } = arr[mid]; + if (isRotated) { + x = arr[mid].y; + w = arr[mid].h; + } + if (v >= x && v <= x + w) { + return mid; + } + return v < x ? findIndex(arr, v, start, mid - 1, isRotated) : findIndex(arr, v, mid + 1, end, isRotated); +} +function brushEmpty(ctx) { + const selection = getBrushSelection(ctx); + if (selection) { + return selection[0] === selection[1]; + } + return true; +} +function deepClone(...objectN) { + const clone = (v) => { + if (isObject(v) && v.constructor) { + const r = new v.constructor(); + for (const k in v) { + r[k] = clone(v[k]); + } + return r; + } + return v; + }; + return objectN.map((v) => clone(v)).reduce((a, c) => __spreadValues(__spreadValues({}, a), c)); +} +function extend(target = {}, source) { + if (isArray(source)) { + source.forEach((v) => extend(target, v)); + } + for (const p in source) { + if (/^\d+$/.test(p) || p in target) { + continue; + } + target[p] = source[p]; + } + return target; +} +const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1); +function camelize(str, separator = "-") { + return str.split(separator).map((v, i) => i ? v.charAt(0).toUpperCase() + v.slice(1).toLowerCase() : v.toLowerCase()).join(""); +} +const toArray = (v) => [].slice.call(v); +function addCssRules(style, selector, prop) { + const { rootSelector = "", sheet } = style; + const getSelector = (s) => s.replace(/\s?(bb-)/g, ".$1").replace(/\.+/g, "."); + const rule = `${rootSelector} ${getSelector(selector)} {${prop.join(";")}}`; + return sheet[sheet.insertRule ? "insertRule" : "addRule"]( + rule, + sheet.cssRules.length + ); +} +function getCssRules(styleSheets) { + let rules = []; + styleSheets.forEach((sheet) => { + var _a; + try { + if (sheet.cssRules && sheet.cssRules.length) { + rules = rules.concat(toArray(sheet.cssRules)); + } + } catch (e) { + (_a = win.console) == null ? void 0 : _a.warn(`Error while reading rules from ${sheet.href}: ${e.toString()}`); + } + }); + return rules; +} +function getScrollPosition(node) { + var _a, _b, _c, _d, _e, _f; + return { + x: ((_b = (_a = win.pageXOffset) != null ? _a : win.scrollX) != null ? _b : 0) + ((_c = node.scrollLeft) != null ? _c : 0), + y: ((_e = (_d = win.pageYOffset) != null ? _d : win.scrollY) != null ? _e : 0) + ((_f = node.scrollTop) != null ? _f : 0) + }; +} +function getTransformCTM(node, x = 0, y = 0, inverse = true) { + const point = new DOMPoint(x, y); + const screen = node.getScreenCTM(); + const res = point.matrixTransform( + inverse ? screen == null ? void 0 : screen.inverse() : screen + ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; +} +function getTranslation(node) { + const transform = node ? node.transform : null; + const baseVal = transform && transform.baseVal; + return baseVal && baseVal.numberOfItems ? baseVal.getItem(0).matrix : { a: 0, b: 0, c: 0, d: 0, e: 0, f: 0 }; +} +function getUnique(data) { + const isDate = data[0] instanceof Date; + const d = (isDate ? data.map(Number) : data).filter((v, i, self) => self.indexOf(v) === i); + return isDate ? d.map((v) => new Date(v)) : d; +} +function mergeArray(arr) { + return arr && arr.length ? arr.reduce((p, c) => p.concat(c)) : []; +} +function mergeObj(target, ...objectN) { + if (!objectN.length || objectN.length === 1 && !objectN[0]) { + return target; + } + const source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach((key) => { + const value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj(target, ...objectN); +} +function sortValue(data, isAsc = true) { + let fn; + if (data[0] instanceof Date) { + fn = isAsc ? (a, b) => a - b : (a, b) => b - a; + } else { + if (isAsc && !data.every(isNaN)) { + fn = (a, b) => a - b; + } else if (!isAsc) { + fn = (a, b) => a > b && -1 || a < b && 1 || a === b && 0; + } + } + return data.concat().sort(fn); +} +function getMinMax(type, data) { + let res = data.filter((v) => notEmpty(v)); + if (res.length) { + if (isNumber(res[0])) { + res = Math[type](...res); + } else if (res[0] instanceof Date) { + res = sortValue(res, type === "min")[0]; + } + } else { + res = void 0; + } + return res; +} +const getRange = (start, end, step = 1) => { + const res = []; + const n = Math.max(0, Math.ceil((end - start) / step)) | 0; + for (let i = start; i < n; i++) { + res.push(start + i * step); + } + return res; +}; +const emulateEvent = { + mouse: (() => { + const getParams = () => ({ + bubbles: false, + cancelable: false, + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0 + }); + try { + new MouseEvent("t"); + return (el, eventType, params = getParams()) => { + el.dispatchEvent(new MouseEvent(eventType, params)); + }; + } catch (e) { + return (el, eventType, params = getParams()) => { + const mouseEvent = doc.createEvent("MouseEvent"); + mouseEvent.initMouseEvent( + eventType, + params.bubbles, + params.cancelable, + win, + 0, + // the event's mouse click count + params.screenX, + params.screenY, + params.clientX, + params.clientY, + false, + false, + false, + false, + 0, + null + ); + el.dispatchEvent(mouseEvent); + }; + } + })(), + touch: (el, eventType, params) => { + const touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}; +function tplProcess(tpl, data) { + let res = tpl; + for (const x in data) { + res = res.replace(new RegExp(`{=${x}}`, "g"), data[x]); + } + return res; +} +function parseDate(date) { + var _a; + let parsedDate; + if (date instanceof Date) { + parsedDate = date; + } else if (isString(date)) { + const { config, format } = this; + parsedDate = (_a = format.dataTime(config.data_xFormat)(date)) != null ? _a : new Date(date); + } else if (isNumber(date) && !isNaN(date)) { + parsedDate = /* @__PURE__ */ new Date(+date); + } + if (!parsedDate || isNaN(+parsedDate)) { + console && console.error && console.error(`Failed to parse x '${date}' to Date object`); + } + return parsedDate; +} +function hasViewBox(svg) { + const attr = svg.attr("viewBox"); + return attr ? /(\d+(\.\d+)?){3}/.test(attr) : false; +} +function hasStyle(node, condition, all = false) { + const isD3Node = !!node.node; + let has = false; + for (const [key, value] of Object.entries(condition)) { + has = isD3Node ? node.style(key) === value : node.style[key] === value; + if (all === false && has) { + break; + } + } + return has; +} +function isTabVisible() { + var _a, _b; + return ((_a = doc) == null ? void 0 : _a.hidden) === false || ((_b = doc) == null ? void 0 : _b.visibilityState) === "visible"; +} +function convertInputType(mouse, touch) { + const { DocumentTouch, matchMedia, navigator } = win; + const hasPointerCoarse = matchMedia == null ? void 0 : matchMedia("(pointer:coarse)").matches; + let hasTouch = false; + if (touch) { + if (navigator && "maxTouchPoints" in navigator) { + hasTouch = navigator.maxTouchPoints > 0; + } else if ("ontouchmove" in win || DocumentTouch && doc instanceof DocumentTouch) { + hasTouch = true; + } else { + if (hasPointerCoarse) { + hasTouch = true; + } else { + const UA = navigator.userAgent; + hasTouch = /\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(UA) || /\b(Android|Windows Phone|iPad|iPod)\b/i.test(UA); + } + } + } + const hasMouse = mouse && !hasPointerCoarse && (matchMedia == null ? void 0 : matchMedia("(pointer:fine)").matches); + return hasMouse && "mouse" || hasTouch && "touch" || "mouse"; +} +function runUntil(fn, conditionFn) { + if (conditionFn() === false) { + requestAnimationFrame(() => runUntil(fn, conditionFn)); + } else { + fn(); + } +} + +;// ./src/config/config.ts + +function loadConfig(config) { + const thisConfig = this.config; + let target; + let keys; + let read; + const find = () => { + const key = keys.shift(); + if (key && target && isObjectType(target) && key in target) { + target = target[key]; + return find(); + } else if (!key) { + return target; + } + return void 0; + }; + Object.keys(thisConfig).forEach((key) => { + target = config; + keys = key.split("_"); + read = find(); + if (isDefined(read)) { + thisConfig[key] = read; + } + }); + if (this.api) { + this.state.orgConfig = config; + } +} + +;// ./src/Plugin/Plugin.ts +var Plugin_defProp = Object.defineProperty; +var Plugin_defNormalProp = (obj, key, value) => key in obj ? Plugin_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => Plugin_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); +class Plugin { + /** + * Constructor + * @param {Any} options config option object + * @private + */ + constructor(options = {}) { + __publicField(this, "$$"); + __publicField(this, "options"); + this.options = options; + } + /** + * Lifecycle hook for 'beforeInit' phase. + * @private + */ + $beforeInit() { + } + /** + * Lifecycle hook for 'init' phase. + * @private + */ + $init() { + } + /** + * Lifecycle hook for 'afterInit' phase. + * @private + */ + $afterInit() { + } + /** + * Lifecycle hook for 'redraw' phase. + * @private + */ + $redraw() { + } + /** + * Lifecycle hook for 'willDestroy' phase. + * @private + */ + $willDestroy() { + Object.keys(this).forEach((key) => { + this[key] = null; + delete this[key]; + }); + } +} +__publicField(Plugin, "version", "3.14.2"); + +;// ./src/Plugin/textoverlap/Options.ts +class Options { + constructor() { + return { + /** + * Selector string for target text nodes within chart element. + * - **NOTE:** If no value is given, defaults to data label text elements. + * @name selector + * @memberof plugin-textoverlap + * @type {string} + * @default undefined + * @example + * // selector for data label text nodes + * selector: ".bb-texts text" + */ + selector: void 0, + /** + * Extent of label overlap prevention. + * @name extent + * @memberof plugin-textoverlap + * @type {number} + * @default 1 + * @example + * extent: 1 + */ + extent: 1, + /** + * Minimum area needed to show a data label. + * @name area + * @memberof plugin-textoverlap + * @type {number} + * @default 0 + * @example + * area: 0 + */ + area: 0 + }; + } +} + +;// ./src/Plugin/textoverlap/index.ts +var textoverlap_defProp = Object.defineProperty; +var textoverlap_defNormalProp = (obj, key, value) => key in obj ? textoverlap_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var textoverlap_publicField = (obj, key, value) => textoverlap_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + + +class TextOverlap extends Plugin { + constructor(options) { + super(options); + textoverlap_publicField(this, "config"); + this.config = new Options(); + return this; + } + $init() { + loadConfig.call(this, this.options); + } + $redraw() { + const { $$: { $el }, config: { selector } } = this; + const text = selector ? $el.main.selectAll(selector) : $el.text; + !text.empty() && this.preventLabelOverlap(text); + } + /** + * Generates the voronoi layout for data labels + * @param {Array} points Indices values + * @returns {object} Voronoi layout points and corresponding Data points + * @private + */ + generateVoronoi(points) { + const { $$ } = this; + const { scale } = $$; + const [min, max] = ["x", "y"].map((v) => scale[v].domain()); + [min[1], max[0]] = [max[0], min[1]]; + return external_commonjs_d3_delaunay_commonjs2_d3_delaunay_amd_d3_delaunay_root_d3_.Delaunay.from(points).voronoi([ + ...min, + ...max + ]); + } + /** + * Set text label's position to preventg overlap. + * @param {d3Selection} text target text selection + * @private + */ + preventLabelOverlap(text) { + const { extent, area } = this.config; + const points = text.data().map((v) => [v.index, v.value]); + const voronoi = this.generateVoronoi(points); + let i = 0; + text.each(function() { + const cell = voronoi.cellPolygon(i); + if (cell && this) { + const [x, y] = points[i]; + const [cx, cy] = (0,external_commonjs_d3_polygon_commonjs2_d3_polygon_amd_d3_polygon_root_d3_.polygonCentroid)(cell); + const polygonArea = Math.abs((0,external_commonjs_d3_polygon_commonjs2_d3_polygon_amd_d3_polygon_root_d3_.polygonArea)(cell)); + const angle = Math.round(Math.atan2(cy - y, cx - x) / Math.PI * 2); + const xTranslate = extent * (angle === 0 ? 1 : -1); + const yTranslate = angle === -1 ? -extent : extent + 5; + const txtAnchor = Math.abs(angle) === 1 ? "middle" : angle === 0 ? "start" : "end"; + this.style.display = polygonArea < area ? "none" : ""; + this.setAttribute("text-anchor", txtAnchor); + this.setAttribute("dy", `0.${angle === 1 ? 71 : 35}em`); + this.setAttribute("transform", `translate(${xTranslate}, ${yTranslate})`); + } + i++; + }); + } +} + +}(); +__webpack_exports__ = __webpack_exports__["default"]; +/******/ return __webpack_exports__; +/******/ })() +; +}); \ No newline at end of file diff --git a/release/3.14.2/dist/plugin/billboardjs-plugin-textoverlap.min.js b/release/3.14.2/dist/plugin/billboardjs-plugin-textoverlap.min.js new file mode 100644 index 000000000..ec3fe5908 --- /dev/null +++ b/release/3.14.2/dist/plugin/billboardjs-plugin-textoverlap.min.js @@ -0,0 +1,13 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */(function(l,u){typeof exports=="object"&&typeof module=="object"?module.exports=u(require("d3-delaunay"),require("d3-polygon"),require("d3-brush"),require("d3-selection")):typeof define=="function"&&define.amd?define("bb",["d3-delaunay","d3-polygon","d3-brush","d3-selection"],u):typeof exports=="object"?exports.bb=u(require("d3-delaunay"),require("d3-polygon"),require("d3-brush"),require("d3-selection")):(l.bb=l.bb||{},l.bb.plugin=l.bb.plugin||{},l.bb.plugin.textoverlap=u(l.d3,l.d3,l.d3,l.d3))})(this,function(w,l,u,C){return function(){"use strict";var D={853:function(e){e.exports=u},348:function(e){e.exports=w},263:function(e){e.exports=l},747:function(e){e.exports=C}},O={};function a(e){var n=O[e];if(n!==void 0)return n.exports;var t=O[e]={exports:{}};return D[e](t,t.exports,a),t.exports}(function(){a.d=function(e,n){for(var t in n)a.o(n,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})}})(),function(){a.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)}}();var p={};a.d(p,{default:function(){return oe}});var q=a(348),P=a(263),fe=a(853),de=a(747);function R(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function F(e){const n=typeof(e==null?void 0:e.requestAnimationFrame)=="function"&&typeof(e==null?void 0:e.cancelAnimationFrame)=="function",t=typeof(e==null?void 0:e.requestIdleCallback)=="function"&&typeof(e==null?void 0:e.cancelIdleCallback)=="function",o=i=>setTimeout(i,1),r=i=>clearTimeout(i);return[n?e.requestAnimationFrame:o,n?e.cancelAnimationFrame:r,t?e.requestIdleCallback:o,t?e.cancelIdleCallback:r]}const h=R(),S=h==null?void 0:h.document,[pe,he,be,me]=F(h);var I=Object.defineProperty,E=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,N=Object.prototype.propertyIsEnumerable,M=(e,n,t)=>n in e?I(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,T=(e,n)=>{for(var t in n||(n={}))B.call(n,t)&&M(e,t,n[t]);if(E)for(var t of E(n))N.call(n,t)&&M(e,t,n[t]);return e};const _e=e=>e||e===0,V=e=>typeof e=="function",b=e=>typeof e=="string",_=e=>typeof e=="number",U=e=>typeof e=="undefined",j=e=>typeof e!="undefined",ge=e=>typeof e=="boolean",ye=e=>Math.ceil(e/10)*10,ve=e=>Math.ceil(e)+.5,xe=e=>e[1]-e[0],g=e=>typeof e=="object",X=e=>U(e)||e===null||b(e)&&e.length===0||g(e)&&!(e instanceof Date)&&Object.keys(e).length===0||_(e)&&isNaN(e),Y=e=>!X(e),y=e=>Array.isArray(e),m=e=>e&&!(e!=null&&e.nodeType)&&g(e)&&!y(e);function we(e,n,t){return j(e[n])?e[n]:t}function Oe(e,n){let t=!1;return Object.keys(e).forEach(o=>e[o]===n&&(t=!0)),t}function Pe(e,n,...t){const o=V(e);return o&&e.call(n,...t),o}function Ee(e,n){let t=0;const o=function(...r){!--t&&n.apply(this,...r)};"duration"in e?e.each(()=>++t).on("end",o):(++t,e.call(o))}function Me(e){return b(e)?e.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):e}function Te(e,n,t=[-1,1],o=!1){if(!(!e||!b(n)))if(n.indexOf(` +`)===-1)e.text(n);else{const r=[e.text(),n].map(i=>i.replace(/[\s\n]/g,""));if(r[0]!==r[1]){const i=n.split(` +`),s=o?i.length-1:1;e.html(""),i.forEach((c,f)=>{e.append("tspan").attr("x",0).attr("dy",`${f===0?t[0]*s:t[1]}em`).text(c)})}}}function L(e){const{x:n,y:t,width:o,height:r}=e.getBBox();return[{x:n,y:t+r},{x:n,y:t},{x:n+o,y:t},{x:n+o,y:t+r}]}function je(e){const{width:n,height:t}=e.getBoundingClientRect(),o=L(e),r=o[0].x,i=Math.min(o[0].y,o[1].y);return{x:r,y:i,width:n,height:t}}function $e(e,n){var t;const o=e&&((t=e.touches||e.sourceEvent&&e.sourceEvent.touches)==null?void 0:t[0]);let r=[0,0];try{r=d3Pointer(o||e,n)}catch(i){}return r.map(i=>isNaN(i)?0:i)}function z(e){const{event:n,$el:t}=e,o=t.subchart.main||t.main;let r;return n&&n.type==="brush"?r=n.selection:o&&(r=o.select(".bb-brush").node())&&(r=d3BrushSelection(r)),r}function Ae(e){return!("rect"in e)||"rect"in e&&e.hasAttribute("width")&&e.rect.width!==+e.getAttribute("width")?e.rect=e.getBoundingClientRect():e.rect}function Ce(e=!0,n=0,t=1e4){const o=window.crypto||window.msCrypto,r=o?n+o.getRandomValues(new Uint32Array(1))[0]%(t-n+1):Math.floor(Math.random()*(t-n)+n);return e?String(r):r}function $(e,n,t,o,r){if(t>o)return-1;const i=Math.floor((t+o)/2);let{x:s,w:c=0}=e[i];return r&&(s=e[i].y,c=e[i].h),n>=s&&n<=s+c?i:n<s?$(e,n,t,i-1,r):$(e,n,i+1,o,r)}function De(e){const n=z(e);return n?n[0]===n[1]:!0}function qe(...e){const n=t=>{if(m(t)&&t.constructor){const o=new t.constructor;for(const r in t)o[r]=n(t[r]);return o}return t};return e.map(t=>n(t)).reduce((t,o)=>T(T({},t),o))}function k(e={},n){y(n)&&n.forEach(t=>k(e,t));for(const t in n)/^\d+$/.test(t)||t in e||(e[t]=n[t]);return e}const Re=e=>e.charAt(0).toUpperCase()+e.slice(1);function Fe(e,n="-"){return e.split(n).map((t,o)=>o?t.charAt(0).toUpperCase()+t.slice(1).toLowerCase():t.toLowerCase()).join("")}const G=e=>[].slice.call(e);function Se(e,n,t){const{rootSelector:o="",sheet:r}=e,s=`${o} ${(c=>c.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(n)} {${t.join(";")}}`;return r[r.insertRule?"insertRule":"addRule"](s,r.cssRules.length)}function Ie(e){let n=[];return e.forEach(t=>{var o;try{t.cssRules&&t.cssRules.length&&(n=n.concat(G(t.cssRules)))}catch(r){(o=window.console)==null||o.warn(`Error while reading rules from ${t.href}: ${r.toString()}`)}}),n}function Be(e){var n,t,o,r,i,s;return{x:((t=(n=window.pageXOffset)!=null?n:window.scrollX)!=null?t:0)+((o=e.scrollLeft)!=null?o:0),y:((i=(r=window.pageYOffset)!=null?r:window.scrollY)!=null?i:0)+((s=e.scrollTop)!=null?s:0)}}function Ne(e,n=0,t=0,o=!0){const r=new DOMPoint(n,t),i=e.getScreenCTM(),s=r.matrixTransform(o?i==null?void 0:i.inverse():i);if(o===!1){const c=e.getBoundingClientRect();s.x-=c.x,s.y-=c.y}return s}function Ve(e){const n=e?e.transform:null,t=n&&n.baseVal;return t&&t.numberOfItems?t.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function Ue(e){const n=e[0]instanceof Date,t=(n?e.map(Number):e).filter((o,r,i)=>i.indexOf(o)===r);return n?t.map(o=>new Date(o)):t}function Xe(e){return e&&e.length?e.reduce((n,t)=>n.concat(t)):[]}function v(e,...n){if(!n.length||n.length===1&&!n[0])return e;const t=n.shift();return m(e)&&m(t)&&Object.keys(t).forEach(o=>{const r=t[o];m(r)?(!e[o]&&(e[o]={}),e[o]=v(e[o],r)):e[o]=y(r)?r.concat():r}),v(e,...n)}function H(e,n=!0){let t;return e[0]instanceof Date?t=n?(o,r)=>o-r:(o,r)=>r-o:n&&!e.every(isNaN)?t=(o,r)=>o-r:n||(t=(o,r)=>o>r&&-1||o<r&&1||o===r&&0),e.concat().sort(t)}function Ye(e,n){let t=n.filter(o=>Y(o));return t.length?_(t[0])?t=Math[e](...t):t[0]instanceof Date&&(t=H(t,e==="min")[0]):t=void 0,t}const Le=(e,n,t=1)=>{const o=[],r=Math.max(0,Math.ceil((n-e)/t))|0;for(let i=e;i<r;i++)o.push(e+i*t);return o},ze={mouse:(()=>{const e=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(n,t,o=e())=>{n.dispatchEvent(new MouseEvent(t,o))}}catch(n){return(t,o,r=e())=>{const i=S.createEvent("MouseEvent");i.initMouseEvent(o,r.bubbles,r.cancelable,h,0,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),t.dispatchEvent(i)}}})(),touch:(e,n,t)=>{const o=new Touch(v({identifier:Date.now(),target:e,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},t));e.dispatchEvent(new TouchEvent(n,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[o],targetTouches:[],changedTouches:[o]}))}};function ke(e,n){let t=e;for(const o in n)t=t.replace(new RegExp(`{=${o}}`,"g"),n[o]);return t}function Ge(e){var n;let t;if(e instanceof Date)t=e;else if(b(e)){const{config:o,format:r}=this;t=(n=r.dataTime(o.data_xFormat)(e))!=null?n:new Date(e)}else _(e)&&!isNaN(e)&&(t=new Date(+e));return(!t||isNaN(+t))&&console&&console.error&&console.error(`Failed to parse x '${e}' to Date object`),t}function He(e){const n=e.attr("viewBox");return n?/(\d+(\.\d+)?){3}/.test(n):!1}function Ke(e,n,t=!1){const o=!!e.node;let r=!1;for(const[i,s]of Object.entries(n))if(r=o?e.style(i)===s:e.style[i]===s,t===!1&&r)break;return r}function We(){var e,n;return((e=document)==null?void 0:e.hidden)===!1||((n=document)==null?void 0:n.visibilityState)==="visible"}function Je(e,n){const{DocumentTouch:t,matchMedia:o,navigator:r}=window,i=o==null?void 0:o("(pointer:coarse)").matches;let s=!1;if(n)if(r&&"maxTouchPoints"in r)s=r.maxTouchPoints>0;else if("ontouchmove"in window||t&&document instanceof t)s=!0;else if(i)s=!0;else{const f=r.userAgent;s=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(f)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(f)}return e&&!i&&(o==null?void 0:o("(pointer:fine)").matches)&&"mouse"||s&&"touch"||"mouse"}function K(e,n){n()===!1?requestAnimationFrame(()=>K(e,n)):e()}function W(e){const n=this.config;let t,o,r;const i=()=>{const s=o.shift();if(s&&t&&g(t)&&s in t)return t=t[s],i();if(!s)return t};Object.keys(n).forEach(s=>{t=e,o=s.split("_"),r=i(),j(r)&&(n[s]=r)}),this.api&&(this.state.orgConfig=e)}var J=Object.defineProperty,Q=(e,n,t)=>n in e?J(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,x=(e,n,t)=>Q(e,typeof n!="symbol"?n+"":n,t);class A{constructor(n={}){x(this,"$$"),x(this,"options"),this.options=n}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(n=>{this[n]=null,delete this[n]})}}x(A,"version","3.14.2");class Z{constructor(){return{selector:void 0,extent:1,area:0}}}var ee=Object.defineProperty,te=(e,n,t)=>n in e?ee(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,ne=(e,n,t)=>te(e,typeof n!="symbol"?n+"":n,t);class oe extends A{constructor(n){return super(n),ne(this,"config"),this.config=new Z,this}$init(){W.call(this,this.options)}$redraw(){const{$$:{$el:n},config:{selector:t}}=this,o=t?n.main.selectAll(t):n.text;!o.empty()&&this.preventLabelOverlap(o)}generateVoronoi(n){const{$$:t}=this,{scale:o}=t,[r,i]=["x","y"].map(s=>o[s].domain());return[r[1],i[0]]=[i[0],r[1]],q.Delaunay.from(n).voronoi([...r,...i])}preventLabelOverlap(n){const{extent:t,area:o}=this.config,r=n.data().map(c=>[c.index,c.value]),i=this.generateVoronoi(r);let s=0;n.each(function(){const c=i.cellPolygon(s);if(c&&this){const[f,re]=r[s],[ie,se]=(0,P.polygonCentroid)(c),ce=Math.abs((0,P.polygonArea)(c)),d=Math.round(Math.atan2(se-re,ie-f)/Math.PI*2),le=t*(d===0?1:-1),ae=d===-1?-t:t+5,ue=Math.abs(d)===1?"middle":d===0?"start":"end";this.style.display=ce<o?"none":"",this.setAttribute("text-anchor",ue),this.setAttribute("dy",`0.${d===1?71:35}em`),this.setAttribute("transform",`translate(${le}, ${ae})`)}s++})}}return p=p.default,p}()}); diff --git a/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-bubblecompare.pkgd.js b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-bubblecompare.pkgd.js new file mode 100644 index 000000000..9fd758250 --- /dev/null +++ b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-bubblecompare.pkgd.js @@ -0,0 +1,20987 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define("bb", [], factory); + else if(typeof exports === 'object') + exports["bb"] = factory(); + else + root["bb"] = root["bb"] || {}, root["bb"]["plugin"] = root["bb"]["plugin"] || {}, root["bb"]["plugin"]["bubblecompare.pkgd"] = factory(); +})(this, function() { +return /******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ([ +/* 0 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +__webpack_require__(1); +__webpack_require__(97); +__webpack_require__(98); +__webpack_require__(99); +__webpack_require__(100); +__webpack_require__(101); +__webpack_require__(102); +__webpack_require__(103); +__webpack_require__(104); +__webpack_require__(105); +__webpack_require__(106); +__webpack_require__(107); +__webpack_require__(108); +__webpack_require__(109); +__webpack_require__(110); +__webpack_require__(111); +__webpack_require__(124); +__webpack_require__(126); +__webpack_require__(136); +__webpack_require__(137); +__webpack_require__(139); +__webpack_require__(143); +__webpack_require__(146); +__webpack_require__(148); +__webpack_require__(150); +__webpack_require__(151); +__webpack_require__(152); +__webpack_require__(153); +__webpack_require__(155); +__webpack_require__(156); +__webpack_require__(158); +__webpack_require__(159); +__webpack_require__(161); +__webpack_require__(165); +__webpack_require__(166); +__webpack_require__(167); +__webpack_require__(168); +__webpack_require__(173); +__webpack_require__(174); +__webpack_require__(176); +__webpack_require__(177); +__webpack_require__(178); +__webpack_require__(180); +__webpack_require__(184); +__webpack_require__(185); +__webpack_require__(186); +__webpack_require__(187); +__webpack_require__(188); +__webpack_require__(193); +__webpack_require__(195); +__webpack_require__(196); +__webpack_require__(198); +__webpack_require__(201); +__webpack_require__(202); +__webpack_require__(203); +__webpack_require__(204); +__webpack_require__(205); +__webpack_require__(207); +__webpack_require__(217); +__webpack_require__(219); +__webpack_require__(220); +__webpack_require__(222); +__webpack_require__(225); +__webpack_require__(231); +__webpack_require__(232); +__webpack_require__(233); +__webpack_require__(234); +__webpack_require__(235); +__webpack_require__(236); +__webpack_require__(240); +__webpack_require__(241); +__webpack_require__(243); +__webpack_require__(244); +__webpack_require__(245); +__webpack_require__(247); +__webpack_require__(248); +__webpack_require__(249); +__webpack_require__(250); +__webpack_require__(251); +__webpack_require__(256); +__webpack_require__(257); +__webpack_require__(258); +__webpack_require__(259); +__webpack_require__(261); +__webpack_require__(262); +__webpack_require__(263); +__webpack_require__(265); +__webpack_require__(266); +__webpack_require__(267); +__webpack_require__(268); +__webpack_require__(93); +__webpack_require__(269); +__webpack_require__(270); +__webpack_require__(278); +__webpack_require__(280); +__webpack_require__(282); +__webpack_require__(283); +__webpack_require__(284); +__webpack_require__(285); +__webpack_require__(286); +__webpack_require__(288); +__webpack_require__(289); +__webpack_require__(290); +__webpack_require__(291); +__webpack_require__(292); +__webpack_require__(294); +__webpack_require__(295); +__webpack_require__(296); +__webpack_require__(297); +__webpack_require__(298); +__webpack_require__(299); +__webpack_require__(300); +__webpack_require__(301); +__webpack_require__(305); +__webpack_require__(306); +__webpack_require__(308); +__webpack_require__(310); +__webpack_require__(311); +__webpack_require__(312); +__webpack_require__(313); +__webpack_require__(314); +__webpack_require__(316); +__webpack_require__(318); +__webpack_require__(319); +__webpack_require__(320); +__webpack_require__(321); +__webpack_require__(323); +__webpack_require__(324); +__webpack_require__(326); +__webpack_require__(327); +__webpack_require__(328); +__webpack_require__(329); +__webpack_require__(331); +__webpack_require__(332); +__webpack_require__(333); +__webpack_require__(334); +__webpack_require__(335); +__webpack_require__(336); +__webpack_require__(337); +__webpack_require__(338); +__webpack_require__(339); +__webpack_require__(341); +__webpack_require__(342); +__webpack_require__(343); +__webpack_require__(344); +__webpack_require__(345); +__webpack_require__(346); +__webpack_require__(347); +__webpack_require__(348); +__webpack_require__(349); +__webpack_require__(350); +__webpack_require__(351); +__webpack_require__(353); +__webpack_require__(354); +__webpack_require__(355); +__webpack_require__(356); +__webpack_require__(380); +__webpack_require__(381); +__webpack_require__(382); +__webpack_require__(383); +__webpack_require__(384); +__webpack_require__(385); +__webpack_require__(386); +__webpack_require__(387); +__webpack_require__(388); +__webpack_require__(389); +__webpack_require__(391); +__webpack_require__(392); +__webpack_require__(393); +__webpack_require__(394); +__webpack_require__(395); +__webpack_require__(396); +__webpack_require__(397); +__webpack_require__(398); +__webpack_require__(399); +__webpack_require__(400); +__webpack_require__(407); +__webpack_require__(408); +__webpack_require__(410); +__webpack_require__(411); +__webpack_require__(412); +__webpack_require__(413); +__webpack_require__(414); +__webpack_require__(416); +__webpack_require__(426); +__webpack_require__(428); +__webpack_require__(430); +__webpack_require__(432); +__webpack_require__(434); +__webpack_require__(436); +__webpack_require__(438); +__webpack_require__(439); +__webpack_require__(441); +__webpack_require__(444); +__webpack_require__(445); +__webpack_require__(446); +__webpack_require__(447); +__webpack_require__(448); +__webpack_require__(452); +__webpack_require__(453); +__webpack_require__(455); +__webpack_require__(456); +__webpack_require__(457); +__webpack_require__(458); +__webpack_require__(460); +__webpack_require__(461); +__webpack_require__(462); +__webpack_require__(463); +__webpack_require__(464); +__webpack_require__(465); +__webpack_require__(466); +__webpack_require__(468); +__webpack_require__(471); +__webpack_require__(474); +__webpack_require__(477); +__webpack_require__(478); +__webpack_require__(479); +__webpack_require__(480); +__webpack_require__(481); +__webpack_require__(482); +__webpack_require__(483); +__webpack_require__(484); +__webpack_require__(485); +__webpack_require__(486); +__webpack_require__(487); +__webpack_require__(488); +__webpack_require__(489); +__webpack_require__(497); +__webpack_require__(498); +__webpack_require__(499); +__webpack_require__(500); +__webpack_require__(501); +__webpack_require__(502); +__webpack_require__(503); +__webpack_require__(504); +__webpack_require__(505); +__webpack_require__(506); +__webpack_require__(507); +__webpack_require__(508); +__webpack_require__(509); +__webpack_require__(511); +__webpack_require__(512); +__webpack_require__(513); +__webpack_require__(514); +__webpack_require__(515); +__webpack_require__(516); +__webpack_require__(517); +__webpack_require__(518); +__webpack_require__(519); +__webpack_require__(520); +__webpack_require__(521); +__webpack_require__(522); +__webpack_require__(523); +__webpack_require__(524); +__webpack_require__(525); +__webpack_require__(526); +__webpack_require__(527); +__webpack_require__(528); +__webpack_require__(529); +__webpack_require__(530); +__webpack_require__(531); +__webpack_require__(532); +__webpack_require__(533); +__webpack_require__(534); +__webpack_require__(535); +__webpack_require__(536); +__webpack_require__(537); +__webpack_require__(538); +__webpack_require__(541); +__webpack_require__(543); +__webpack_require__(545); +__webpack_require__(546); +__webpack_require__(549); +__webpack_require__(550); +__webpack_require__(552); +__webpack_require__(553); +__webpack_require__(554); +__webpack_require__(558); +__webpack_require__(559); +__webpack_require__(560); +__webpack_require__(561); +__webpack_require__(564); +__webpack_require__(569); +__webpack_require__(570); +__webpack_require__(571); +__webpack_require__(572); +__webpack_require__(573); +__webpack_require__(574); +__webpack_require__(575); + +/* unused reexport */ __webpack_require__(80); + + +/***/ }), +/* 1 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(2); +__webpack_require__(90); +__webpack_require__(92); +__webpack_require__(93); +__webpack_require__(96); + + +/***/ }), +/* 2 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); +var NATIVE_SYMBOL = __webpack_require__(26); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var isPrototypeOf = __webpack_require__(24); +var anObject = __webpack_require__(46); +var toIndexedObject = __webpack_require__(12); +var toPropertyKey = __webpack_require__(18); +var $toString = __webpack_require__(68); +var createPropertyDescriptor = __webpack_require__(11); +var nativeObjectCreate = __webpack_require__(71); +var objectKeys = __webpack_require__(73); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertyNamesExternal = __webpack_require__(75); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var definePropertyModule = __webpack_require__(44); +var definePropertiesModule = __webpack_require__(72); +var propertyIsEnumerableModule = __webpack_require__(10); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var shared = __webpack_require__(34); +var sharedKey = __webpack_require__(53); +var hiddenKeys = __webpack_require__(54); +var uid = __webpack_require__(40); +var wellKnownSymbol = __webpack_require__(33); +var wrappedWellKnownSymbolModule = __webpack_require__(78); +var defineWellKnownSymbol = __webpack_require__(79); +var defineSymbolToPrimitive = __webpack_require__(81); +var setToStringTag = __webpack_require__(82); +var InternalStateModule = __webpack_require__(51); +var $forEach = (__webpack_require__(83).forEach); + +var HIDDEN = sharedKey('hidden'); +var SYMBOL = 'Symbol'; +var PROTOTYPE = 'prototype'; + +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(SYMBOL); + +var ObjectPrototype = Object[PROTOTYPE]; +var $Symbol = globalThis.Symbol; +var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE]; +var RangeError = globalThis.RangeError; +var TypeError = globalThis.TypeError; +var QObject = globalThis.QObject; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; +var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; +var push = uncurryThis([].push); + +var AllSymbols = shared('symbols'); +var ObjectPrototypeSymbols = shared('op-symbols'); +var WellKnownSymbolsStore = shared('wks'); + +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var fallbackDefineProperty = function (O, P, Attributes) { + var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); + if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; + nativeDefineProperty(O, P, Attributes); + if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { + nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); + } +}; + +var setSymbolDescriptor = DESCRIPTORS && fails(function () { + return nativeObjectCreate(nativeDefineProperty({}, 'a', { + get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } + })).a !== 7; +}) ? fallbackDefineProperty : nativeDefineProperty; + +var wrap = function (tag, description) { + var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype); + setInternalState(symbol, { + type: SYMBOL, + tag: tag, + description: description + }); + if (!DESCRIPTORS) symbol.description = description; + return symbol; +}; + +var $defineProperty = function defineProperty(O, P, Attributes) { + if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); + anObject(O); + var key = toPropertyKey(P); + anObject(Attributes); + if (hasOwn(AllSymbols, key)) { + if (!Attributes.enumerable) { + if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null))); + O[HIDDEN][key] = true; + } else { + if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; + Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); + } return setSymbolDescriptor(O, key, Attributes); + } return nativeDefineProperty(O, key, Attributes); +}; + +var $defineProperties = function defineProperties(O, Properties) { + anObject(O); + var properties = toIndexedObject(Properties); + var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); + $forEach(keys, function (key) { + if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]); + }); + return O; +}; + +var $create = function create(O, Properties) { + return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); +}; + +var $propertyIsEnumerable = function propertyIsEnumerable(V) { + var P = toPropertyKey(V); + var enumerable = call(nativePropertyIsEnumerable, this, P); + if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false; + return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P] + ? enumerable : true; +}; + +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { + var it = toIndexedObject(O); + var key = toPropertyKey(P); + if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return; + var descriptor = nativeGetOwnPropertyDescriptor(it, key); + if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) { + descriptor.enumerable = true; + } + return descriptor; +}; + +var $getOwnPropertyNames = function getOwnPropertyNames(O) { + var names = nativeGetOwnPropertyNames(toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key); + }); + return result; +}; + +var $getOwnPropertySymbols = function (O) { + var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; + var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) { + push(result, AllSymbols[key]); + } + }); + return result; +}; + +// `Symbol` constructor +// https://tc39.es/ecma262/#sec-symbol-constructor +if (!NATIVE_SYMBOL) { + $Symbol = function Symbol() { + if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor'); + var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]); + var tag = uid(description); + var setter = function (value) { + var $this = this === undefined ? globalThis : this; + if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value); + if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false; + var descriptor = createPropertyDescriptor(1, value); + try { + setSymbolDescriptor($this, tag, descriptor); + } catch (error) { + if (!(error instanceof RangeError)) throw error; + fallbackDefineProperty($this, tag, descriptor); + } + }; + if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); + return wrap(tag, description); + }; + + SymbolPrototype = $Symbol[PROTOTYPE]; + + defineBuiltIn(SymbolPrototype, 'toString', function toString() { + return getInternalState(this).tag; + }); + + defineBuiltIn($Symbol, 'withoutSetter', function (description) { + return wrap(uid(description), description); + }); + + propertyIsEnumerableModule.f = $propertyIsEnumerable; + definePropertyModule.f = $defineProperty; + definePropertiesModule.f = $defineProperties; + getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; + getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; + getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; + + wrappedWellKnownSymbolModule.f = function (name) { + return wrap(wellKnownSymbol(name), name); + }; + + if (DESCRIPTORS) { + // https://github.com/tc39/proposal-Symbol-description + defineBuiltInAccessor(SymbolPrototype, 'description', { + configurable: true, + get: function description() { + return getInternalState(this).description; + } + }); + if (!IS_PURE) { + defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); + } + } +} + +$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { + Symbol: $Symbol +}); + +$forEach(objectKeys(WellKnownSymbolsStore), function (name) { + defineWellKnownSymbol(name); +}); + +$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { + useSetter: function () { USE_SETTER = true; }, + useSimple: function () { USE_SETTER = false; } +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { + // `Object.create` method + // https://tc39.es/ecma262/#sec-object.create + create: $create, + // `Object.defineProperty` method + // https://tc39.es/ecma262/#sec-object.defineproperty + defineProperty: $defineProperty, + // `Object.defineProperties` method + // https://tc39.es/ecma262/#sec-object.defineproperties + defineProperties: $defineProperties, + // `Object.getOwnPropertyDescriptor` method + // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors + getOwnPropertyDescriptor: $getOwnPropertyDescriptor +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { + // `Object.getOwnPropertyNames` method + // https://tc39.es/ecma262/#sec-object.getownpropertynames + getOwnPropertyNames: $getOwnPropertyNames +}); + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +defineSymbolToPrimitive(); + +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag($Symbol, SYMBOL); + +hiddenKeys[HIDDEN] = true; + + +/***/ }), +/* 3 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var defineGlobalProperty = __webpack_require__(37); +var copyConstructorProperties = __webpack_require__(55); +var isForced = __webpack_require__(67); + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.dontCallGetSet - prevent calling a getter on target + options.name - the .name of the function if it does not match the key +*/ +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = globalThis; + } else if (STATIC) { + target = globalThis[TARGET] || defineGlobalProperty(TARGET, {}); + } else { + target = globalThis[TARGET] && globalThis[TARGET].prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.dontCallGetSet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + defineBuiltIn(target, key, sourceProperty, options); + } +}; + + +/***/ }), +/* 4 */ +/***/ (function(module) { + + +var check = function (it) { + return it && it.Math === Math && it; +}; + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +module.exports = + // eslint-disable-next-line es/no-global-this -- safe + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe + check(typeof self == 'object' && self) || + check(typeof global == 'object' && global) || + check(typeof this == 'object' && this) || + // eslint-disable-next-line no-new-func -- fallback + (function () { return this; })() || Function('return this')(); + + +/***/ }), +/* 5 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var call = __webpack_require__(8); +var propertyIsEnumerableModule = __webpack_require__(10); +var createPropertyDescriptor = __webpack_require__(11); +var toIndexedObject = __webpack_require__(12); +var toPropertyKey = __webpack_require__(18); +var hasOwn = __webpack_require__(38); +var IE8_DOM_DEFINE = __webpack_require__(41); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + + +/***/ }), +/* 6 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +// Detect IE8's incomplete defineProperty implementation +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; +}); + + +/***/ }), +/* 7 */ +/***/ (function(module) { + + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + + +/***/ }), +/* 8 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var call = Function.prototype.call; + +module.exports = NATIVE_BIND ? call.bind(call) : function () { + return call.apply(call, arguments); +}; + + +/***/ }), +/* 9 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-function-prototype-bind -- safe + var test = (function () { /* empty */ }).bind(); + // eslint-disable-next-line no-prototype-builtins -- safe + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + + +/***/ }), +/* 10 */ +/***/ (function(__unused_webpack_module, exports) { + + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); + +// `Object.prototype.propertyIsEnumerable` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + + +/***/ }), +/* 11 */ +/***/ (function(module) { + + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + + +/***/ }), +/* 12 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = __webpack_require__(13); +var requireObjectCoercible = __webpack_require__(16); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + + +/***/ }), +/* 13 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var classof = __webpack_require__(15); + +var $Object = Object; +var split = uncurryThis(''.split); + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +module.exports = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !$Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) === 'String' ? split(it, '') : $Object(it); +} : $Object; + + +/***/ }), +/* 14 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var FunctionPrototype = Function.prototype; +var call = FunctionPrototype.call; +var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); + +module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { + return function () { + return call.apply(fn, arguments); + }; +}; + + +/***/ }), +/* 15 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var toString = uncurryThis({}.toString); +var stringSlice = uncurryThis(''.slice); + +module.exports = function (it) { + return stringSlice(toString(it), 8, -1); +}; + + +/***/ }), +/* 16 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isNullOrUndefined = __webpack_require__(17); + +var $TypeError = TypeError; + +// `RequireObjectCoercible` abstract operation +// https://tc39.es/ecma262/#sec-requireobjectcoercible +module.exports = function (it) { + if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it); + return it; +}; + + +/***/ }), +/* 17 */ +/***/ (function(module) { + + +// we can't use just `it == null` since of `document.all` special case +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec +module.exports = function (it) { + return it === null || it === undefined; +}; + + +/***/ }), +/* 18 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPrimitive = __webpack_require__(19); +var isSymbol = __webpack_require__(22); + +// `ToPropertyKey` abstract operation +// https://tc39.es/ecma262/#sec-topropertykey +module.exports = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : key + ''; +}; + + +/***/ }), +/* 19 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var getMethod = __webpack_require__(29); +var ordinaryToPrimitive = __webpack_require__(32); +var wellKnownSymbol = __webpack_require__(33); + +var $TypeError = TypeError; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + +// `ToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-toprimitive +module.exports = function (input, pref) { + if (!isObject(input) || isSymbol(input)) return input; + var exoticToPrim = getMethod(input, TO_PRIMITIVE); + var result; + if (exoticToPrim) { + if (pref === undefined) pref = 'default'; + result = call(exoticToPrim, input, pref); + if (!isObject(result) || isSymbol(result)) return result; + throw new $TypeError("Can't convert object to primitive value"); + } + if (pref === undefined) pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + + +/***/ }), +/* 20 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); + +module.exports = function (it) { + return typeof it == 'object' ? it !== null : isCallable(it); +}; + + +/***/ }), +/* 21 */ +/***/ (function(module) { + + +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot +var documentAll = typeof document == 'object' && document.all; + +// `IsCallable` abstract operation +// https://tc39.es/ecma262/#sec-iscallable +// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing +module.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) { + return typeof argument == 'function' || argument === documentAll; +} : function (argument) { + return typeof argument == 'function'; +}; + + +/***/ }), +/* 22 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var isPrototypeOf = __webpack_require__(24); +var USE_SYMBOL_AS_UID = __webpack_require__(25); + +var $Object = Object; + +module.exports = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + var $Symbol = getBuiltIn('Symbol'); + return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it)); +}; + + +/***/ }), +/* 23 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); + +var aFunction = function (argument) { + return isCallable(argument) ? argument : undefined; +}; + +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method]; +}; + + +/***/ }), +/* 24 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +module.exports = uncurryThis({}.isPrototypeOf); + + +/***/ }), +/* 25 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-symbol -- required for testing */ +var NATIVE_SYMBOL = __webpack_require__(26); + +module.exports = NATIVE_SYMBOL && + !Symbol.sham && + typeof Symbol.iterator == 'symbol'; + + +/***/ }), +/* 26 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-symbol -- required for testing */ +var V8_VERSION = __webpack_require__(27); +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +var $String = globalThis.String; + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol('symbol detection'); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + + +/***/ }), +/* 27 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var userAgent = __webpack_require__(28); + +var process = globalThis.process; +var Deno = globalThis.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + // in old Chrome, versions of V8 isn't V8 = Chrome / 10 + // but their correct versions are not interesting for us + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} + +// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` +// so check `userAgent` even if `.v8` exists, but 0 +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) version = +match[1]; + } +} + +module.exports = version; + + +/***/ }), +/* 28 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +var navigator = globalThis.navigator; +var userAgent = navigator && navigator.userAgent; + +module.exports = userAgent ? String(userAgent) : ''; + + +/***/ }), +/* 29 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var isNullOrUndefined = __webpack_require__(17); + +// `GetMethod` abstract operation +// https://tc39.es/ecma262/#sec-getmethod +module.exports = function (V, P) { + var func = V[P]; + return isNullOrUndefined(func) ? undefined : aCallable(func); +}; + + +/***/ }), +/* 30 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +// `Assert: IsCallable(argument) is true` +module.exports = function (argument) { + if (isCallable(argument)) return argument; + throw new $TypeError(tryToString(argument) + ' is not a function'); +}; + + +/***/ }), +/* 31 */ +/***/ (function(module) { + + +var $String = String; + +module.exports = function (argument) { + try { + return $String(argument); + } catch (error) { + return 'Object'; + } +}; + + +/***/ }), +/* 32 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); + +var $TypeError = TypeError; + +// `OrdinaryToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-ordinarytoprimitive +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + throw new $TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), +/* 33 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var shared = __webpack_require__(34); +var hasOwn = __webpack_require__(38); +var uid = __webpack_require__(40); +var NATIVE_SYMBOL = __webpack_require__(26); +var USE_SYMBOL_AS_UID = __webpack_require__(25); + +var Symbol = globalThis.Symbol; +var WellKnownSymbolsStore = shared('wks'); +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid; + +module.exports = function (name) { + if (!hasOwn(WellKnownSymbolsStore, name)) { + WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) + ? Symbol[name] + : createWellKnownSymbol('Symbol.' + name); + } return WellKnownSymbolsStore[name]; +}; + + +/***/ }), +/* 34 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var store = __webpack_require__(35); + +module.exports = function (key, value) { + return store[key] || (store[key] = value || {}); +}; + + +/***/ }), +/* 35 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var IS_PURE = __webpack_require__(36); +var globalThis = __webpack_require__(4); +var defineGlobalProperty = __webpack_require__(37); + +var SHARED = '__core-js_shared__'; +var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {}); + +(store.versions || (store.versions = [])).push({ + version: '3.39.0', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)', + license: 'https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE', + source: 'https://github.com/zloirock/core-js' +}); + + +/***/ }), +/* 36 */ +/***/ (function(module) { + + +module.exports = false; + + +/***/ }), +/* 37 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; + +module.exports = function (key, value) { + try { + defineProperty(globalThis, key, { value: value, configurable: true, writable: true }); + } catch (error) { + globalThis[key] = value; + } return value; +}; + + +/***/ }), +/* 38 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toObject = __webpack_require__(39); + +var hasOwnProperty = uncurryThis({}.hasOwnProperty); + +// `HasOwnProperty` abstract operation +// https://tc39.es/ecma262/#sec-hasownproperty +// eslint-disable-next-line es/no-object-hasown -- safe +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + + +/***/ }), +/* 39 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var requireObjectCoercible = __webpack_require__(16); + +var $Object = Object; + +// `ToObject` abstract operation +// https://tc39.es/ecma262/#sec-toobject +module.exports = function (argument) { + return $Object(requireObjectCoercible(argument)); +}; + + +/***/ }), +/* 40 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var id = 0; +var postfix = Math.random(); +var toString = uncurryThis(1.0.toString); + +module.exports = function (key) { + return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); +}; + + +/***/ }), +/* 41 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var createElement = __webpack_require__(42); + +// Thanks to IE8 for its funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a !== 7; +}); + + +/***/ }), +/* 42 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isObject = __webpack_require__(20); + +var document = globalThis.document; +// typeof document.createElement is 'object' in old IE +var EXISTS = isObject(document) && isObject(document.createElement); + +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + + +/***/ }), +/* 43 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var definePropertyModule = __webpack_require__(44); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + + +/***/ }), +/* 44 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var IE8_DOM_DEFINE = __webpack_require__(41); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(45); +var anObject = __webpack_require__(46); +var toPropertyKey = __webpack_require__(18); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var $defineProperty = Object.defineProperty; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var ENUMERABLE = 'enumerable'; +var CONFIGURABLE = 'configurable'; +var WRITABLE = 'writable'; + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { + var current = $getOwnPropertyDescriptor(O, P); + if (current && current[WRITABLE]) { + O[P] = Attributes.value; + Attributes = { + configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], + enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], + writable: false + }; + } + } return $defineProperty(O, P, Attributes); +} : $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return $defineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + + +/***/ }), +/* 45 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); + +// V8 ~ Chrome 36- +// https://bugs.chromium.org/p/v8/issues/detail?id=3334 +module.exports = DESCRIPTORS && fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(function () { /* empty */ }, 'prototype', { + value: 42, + writable: false + }).prototype !== 42; +}); + + +/***/ }), +/* 46 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +var $String = String; +var $TypeError = TypeError; + +// `Assert: Type(argument) is Object` +module.exports = function (argument) { + if (isObject(argument)) return argument; + throw new $TypeError($String(argument) + ' is not an object'); +}; + + +/***/ }), +/* 47 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var definePropertyModule = __webpack_require__(44); +var makeBuiltIn = __webpack_require__(48); +var defineGlobalProperty = __webpack_require__(37); + +module.exports = function (O, key, value, options) { + if (!options) options = {}; + var simple = options.enumerable; + var name = options.name !== undefined ? options.name : key; + if (isCallable(value)) makeBuiltIn(value, name, options); + if (options.global) { + if (simple) O[key] = value; + else defineGlobalProperty(key, value); + } else { + try { + if (!options.unsafe) delete O[key]; + else if (O[key]) simple = true; + } catch (error) { /* empty */ } + if (simple) O[key] = value; + else definePropertyModule.f(O, key, { + value: value, + enumerable: false, + configurable: !options.nonConfigurable, + writable: !options.nonWritable + }); + } return O; +}; + + +/***/ }), +/* 48 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var DESCRIPTORS = __webpack_require__(6); +var CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(49).CONFIGURABLE); +var inspectSource = __webpack_require__(50); +var InternalStateModule = __webpack_require__(51); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var $String = String; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; +var stringSlice = uncurryThis(''.slice); +var replace = uncurryThis(''.replace); +var join = uncurryThis([].join); + +var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () { + return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; +}); + +var TEMPLATE = String(String).split('String'); + +var makeBuiltIn = module.exports = function (value, name, options) { + if (stringSlice($String(name), 0, 7) === 'Symbol(') { + name = '[' + replace($String(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']'; + } + if (options && options.getter) name = 'get ' + name; + if (options && options.setter) name = 'set ' + name; + if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { + if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true }); + else value.name = name; + } + if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { + defineProperty(value, 'length', { value: options.arity }); + } + try { + if (options && hasOwn(options, 'constructor') && options.constructor) { + if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false }); + // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable + } else if (value.prototype) value.prototype = undefined; + } catch (error) { /* empty */ } + var state = enforceInternalState(value); + if (!hasOwn(state, 'source')) { + state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); + } return value; +}; + +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +// eslint-disable-next-line no-extend-native -- required +Function.prototype.toString = makeBuiltIn(function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}, 'toString'); + + +/***/ }), +/* 49 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var hasOwn = __webpack_require__(38); + +var FunctionPrototype = Function.prototype; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; + +var EXISTS = hasOwn(FunctionPrototype, 'name'); +// additional protection from minified / mangled / dropped function names +var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; +var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable)); + +module.exports = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE +}; + + +/***/ }), +/* 50 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var isCallable = __webpack_require__(21); +var store = __webpack_require__(35); + +var functionToString = uncurryThis(Function.toString); + +// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper +if (!isCallable(store.inspectSource)) { + store.inspectSource = function (it) { + return functionToString(it); + }; +} + +module.exports = store.inspectSource; + + +/***/ }), +/* 51 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_WEAK_MAP = __webpack_require__(52); +var globalThis = __webpack_require__(4); +var isObject = __webpack_require__(20); +var createNonEnumerableProperty = __webpack_require__(43); +var hasOwn = __webpack_require__(38); +var shared = __webpack_require__(35); +var sharedKey = __webpack_require__(53); +var hiddenKeys = __webpack_require__(54); + +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var TypeError = globalThis.TypeError; +var WeakMap = globalThis.WeakMap; +var set, get, has; + +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; + +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw new TypeError('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; +}; + +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + /* eslint-disable no-self-assign -- prototype methods protection */ + store.get = store.get; + store.has = store.has; + store.set = store.set; + /* eslint-enable no-self-assign -- prototype methods protection */ + set = function (it, metadata) { + if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + store.set(it, metadata); + return metadata; + }; + get = function (it) { + return store.get(it) || {}; + }; + has = function (it) { + return store.has(it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return hasOwn(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return hasOwn(it, STATE); + }; +} + +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + + +/***/ }), +/* 52 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); + +var WeakMap = globalThis.WeakMap; + +module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap)); + + +/***/ }), +/* 53 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var shared = __webpack_require__(34); +var uid = __webpack_require__(40); + +var keys = shared('keys'); + +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + + +/***/ }), +/* 54 */ +/***/ (function(module) { + + +module.exports = {}; + + +/***/ }), +/* 55 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var ownKeys = __webpack_require__(56); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var definePropertyModule = __webpack_require__(44); + +module.exports = function (target, source, exceptions) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + + +/***/ }), +/* 56 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var anObject = __webpack_require__(46); + +var concat = uncurryThis([].concat); + +// all object keys, includes non-enumerable and symbols +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; +}; + + +/***/ }), +/* 57 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var internalObjectKeys = __webpack_require__(58); +var enumBugKeys = __webpack_require__(65); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + + +/***/ }), +/* 58 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var hasOwn = __webpack_require__(38); +var toIndexedObject = __webpack_require__(12); +var indexOf = (__webpack_require__(59).indexOf); +var hiddenKeys = __webpack_require__(54); + +var push = uncurryThis([].push); + +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); + // Don't enum bug & hidden keys + while (names.length > i) if (hasOwn(O, key = names[i++])) { + ~indexOf(result, key) || push(result, key); + } + return result; +}; + + +/***/ }), +/* 59 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIndexedObject = __webpack_require__(12); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + if (length === 0) return !IS_INCLUDES && -1; + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el !== el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value !== value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +module.exports = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + + +/***/ }), +/* 60 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + + +/***/ }), +/* 61 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var trunc = __webpack_require__(62); + +// `ToIntegerOrInfinity` abstract operation +// https://tc39.es/ecma262/#sec-tointegerorinfinity +module.exports = function (argument) { + var number = +argument; + // eslint-disable-next-line no-self-compare -- NaN check + return number !== number || number === 0 ? 0 : trunc(number); +}; + + +/***/ }), +/* 62 */ +/***/ (function(module) { + + +var ceil = Math.ceil; +var floor = Math.floor; + +// `Math.trunc` method +// https://tc39.es/ecma262/#sec-math.trunc +// eslint-disable-next-line es/no-math-trunc -- safe +module.exports = Math.trunc || function trunc(x) { + var n = +x; + return (n > 0 ? floor : ceil)(n); +}; + + +/***/ }), +/* 63 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toLength = __webpack_require__(64); + +// `LengthOfArrayLike` abstract operation +// https://tc39.es/ecma262/#sec-lengthofarraylike +module.exports = function (obj) { + return toLength(obj.length); +}; + + +/***/ }), +/* 64 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +module.exports = function (argument) { + var len = toIntegerOrInfinity(argument); + return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + + +/***/ }), +/* 65 */ +/***/ (function(module) { + + +// IE8- don't enum bug keys +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + + +/***/ }), +/* 66 */ +/***/ (function(__unused_webpack_module, exports) { + + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe +exports.f = Object.getOwnPropertySymbols; + + +/***/ }), +/* 67 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); + +var replacement = /#|\.prototype\./; + +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value === POLYFILL ? true + : value === NATIVE ? false + : isCallable(detection) ? fails(detection) + : !!detection; +}; + +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; + +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; + +module.exports = isForced; + + +/***/ }), +/* 68 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); + +var $String = String; + +module.exports = function (argument) { + if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); + return $String(argument); +}; + + +/***/ }), +/* 69 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var isCallable = __webpack_require__(21); +var classofRaw = __webpack_require__(15); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Object = Object; + +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } +}; + +// getting tag from ES6+ `Object.prototype.toString` +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result; +}; + + +/***/ }), +/* 70 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG] = 'z'; + +module.exports = String(test) === '[object z]'; + + +/***/ }), +/* 71 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* global ActiveXObject -- old IE, WSH */ +var anObject = __webpack_require__(46); +var definePropertiesModule = __webpack_require__(72); +var enumBugKeys = __webpack_require__(65); +var hiddenKeys = __webpack_require__(54); +var html = __webpack_require__(74); +var documentCreateElement = __webpack_require__(42); +var sharedKey = __webpack_require__(53); + +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); + +var EmptyConstructor = function () { /* empty */ }; + +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; + +// Create object with fake `null` prototype: use ActiveX Object with cleared prototype +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + // eslint-disable-next-line no-useless-assignment -- avoid memory leak + activeXDocument = null; + return temp; +}; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var NullProtoObjectViaIFrame = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + // https://github.com/zloirock/core-js/issues/475 + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; + +// Check for document.domain and active x support +// No need to use active x approach when document.domain is not set +// see https://github.com/es-shims/es5-shim/issues/150 +// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 +// avoid IE GC bug +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { /* ignore */ } + NullProtoObject = typeof document != 'undefined' + ? document.domain && activeXDocument + ? NullProtoObjectViaActiveX(activeXDocument) // old IE + : NullProtoObjectViaIFrame() + : NullProtoObjectViaActiveX(activeXDocument); // WSH + var length = enumBugKeys.length; + while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; + +hiddenKeys[IE_PROTO] = true; + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +// eslint-disable-next-line es/no-object-create -- safe +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = NullProtoObject(); + return Properties === undefined ? result : definePropertiesModule.f(result, Properties); +}; + + +/***/ }), +/* 72 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(45); +var definePropertyModule = __webpack_require__(44); +var anObject = __webpack_require__(46); +var toIndexedObject = __webpack_require__(12); +var objectKeys = __webpack_require__(73); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var props = toIndexedObject(Properties); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]); + return O; +}; + + +/***/ }), +/* 73 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var internalObjectKeys = __webpack_require__(58); +var enumBugKeys = __webpack_require__(65); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +// eslint-disable-next-line es/no-object-keys -- safe +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + + +/***/ }), +/* 74 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); + +module.exports = getBuiltIn('document', 'documentElement'); + + +/***/ }), +/* 75 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-object-getownpropertynames -- safe */ +var classof = __webpack_require__(15); +var toIndexedObject = __webpack_require__(12); +var $getOwnPropertyNames = (__webpack_require__(57).f); +var arraySlice = __webpack_require__(76); + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return $getOwnPropertyNames(it); + } catch (error) { + return arraySlice(windowNames); + } +}; + +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && classof(it) === 'Window' + ? getWindowNames(it) + : $getOwnPropertyNames(toIndexedObject(it)); +}; + + +/***/ }), +/* 76 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +module.exports = uncurryThis([].slice); + + +/***/ }), +/* 77 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var makeBuiltIn = __webpack_require__(48); +var defineProperty = __webpack_require__(44); + +module.exports = function (target, name, descriptor) { + if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true }); + if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true }); + return defineProperty.f(target, name, descriptor); +}; + + +/***/ }), +/* 78 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +exports.f = wellKnownSymbol; + + +/***/ }), +/* 79 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var path = __webpack_require__(80); +var hasOwn = __webpack_require__(38); +var wrappedWellKnownSymbolModule = __webpack_require__(78); +var defineProperty = (__webpack_require__(44).f); + +module.exports = function (NAME) { + var Symbol = path.Symbol || (path.Symbol = {}); + if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, { + value: wrappedWellKnownSymbolModule.f(NAME) + }); +}; + + +/***/ }), +/* 80 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = globalThis; + + +/***/ }), +/* 81 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var getBuiltIn = __webpack_require__(23); +var wellKnownSymbol = __webpack_require__(33); +var defineBuiltIn = __webpack_require__(47); + +module.exports = function () { + var Symbol = getBuiltIn('Symbol'); + var SymbolPrototype = Symbol && Symbol.prototype; + var valueOf = SymbolPrototype && SymbolPrototype.valueOf; + var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + + if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) { + // `Symbol.prototype[@@toPrimitive]` method + // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive + // eslint-disable-next-line no-unused-vars -- required for .length + defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) { + return call(valueOf, this); + }, { arity: 1 }); + } +}; + + +/***/ }), +/* 82 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineProperty = (__webpack_require__(44).f); +var hasOwn = __webpack_require__(38); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +module.exports = function (target, TAG, STATIC) { + if (target && !STATIC) target = target.prototype; + if (target && !hasOwn(target, TO_STRING_TAG)) { + defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG }); + } +}; + + +/***/ }), +/* 83 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var uncurryThis = __webpack_require__(14); +var IndexedObject = __webpack_require__(13); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var arraySpeciesCreate = __webpack_require__(86); + +var push = uncurryThis([].push); + +// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation +var createMethod = function (TYPE) { + var IS_MAP = TYPE === 1; + var IS_FILTER = TYPE === 2; + var IS_SOME = TYPE === 3; + var IS_EVERY = TYPE === 4; + var IS_FIND_INDEX = TYPE === 6; + var IS_FILTER_REJECT = TYPE === 7; + var NO_HOLES = TYPE === 5 || IS_FIND_INDEX; + return function ($this, callbackfn, that, specificCreate) { + var O = toObject($this); + var self = IndexedObject(O); + var length = lengthOfArrayLike(self); + var boundFunction = bind(callbackfn, that); + var index = 0; + var create = specificCreate || arraySpeciesCreate; + var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; + var value, result; + for (;length > index; index++) if (NO_HOLES || index in self) { + value = self[index]; + result = boundFunction(value, index, O); + if (TYPE) { + if (IS_MAP) target[index] = result; // map + else if (result) switch (TYPE) { + case 3: return true; // some + case 5: return value; // find + case 6: return index; // findIndex + case 2: push(target, value); // filter + } else switch (TYPE) { + case 4: return false; // every + case 7: push(target, value); // filterReject + } + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; + }; +}; + +module.exports = { + // `Array.prototype.forEach` method + // https://tc39.es/ecma262/#sec-array.prototype.foreach + forEach: createMethod(0), + // `Array.prototype.map` method + // https://tc39.es/ecma262/#sec-array.prototype.map + map: createMethod(1), + // `Array.prototype.filter` method + // https://tc39.es/ecma262/#sec-array.prototype.filter + filter: createMethod(2), + // `Array.prototype.some` method + // https://tc39.es/ecma262/#sec-array.prototype.some + some: createMethod(3), + // `Array.prototype.every` method + // https://tc39.es/ecma262/#sec-array.prototype.every + every: createMethod(4), + // `Array.prototype.find` method + // https://tc39.es/ecma262/#sec-array.prototype.find + find: createMethod(5), + // `Array.prototype.findIndex` method + // https://tc39.es/ecma262/#sec-array.prototype.findIndex + findIndex: createMethod(6), + // `Array.prototype.filterReject` method + // https://github.com/tc39/proposal-array-filtering + filterReject: createMethod(7) +}; + + +/***/ }), +/* 84 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(85); +var aCallable = __webpack_require__(30); +var NATIVE_BIND = __webpack_require__(9); + +var bind = uncurryThis(uncurryThis.bind); + +// optional / simple context binding +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), +/* 85 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classofRaw = __webpack_require__(15); +var uncurryThis = __webpack_require__(14); + +module.exports = function (fn) { + // Nashorn bug: + // https://github.com/zloirock/core-js/issues/1128 + // https://github.com/zloirock/core-js/issues/1130 + if (classofRaw(fn) === 'Function') return uncurryThis(fn); +}; + + +/***/ }), +/* 86 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arraySpeciesConstructor = __webpack_require__(87); + +// `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray, length) { + return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); +}; + + +/***/ }), +/* 87 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isArray = __webpack_require__(88); +var isConstructor = __webpack_require__(89); +var isObject = __webpack_require__(20); +var wellKnownSymbol = __webpack_require__(33); + +var SPECIES = wellKnownSymbol('species'); +var $Array = Array; + +// a part of `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray) { + var C; + if (isArray(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined; + else if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? $Array : C; +}; + + +/***/ }), +/* 88 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(15); + +// `IsArray` abstract operation +// https://tc39.es/ecma262/#sec-isarray +// eslint-disable-next-line es/no-array-isarray -- safe +module.exports = Array.isArray || function isArray(argument) { + return classof(argument) === 'Array'; +}; + + +/***/ }), +/* 89 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(69); +var getBuiltIn = __webpack_require__(23); +var inspectSource = __webpack_require__(50); + +var noop = function () { /* empty */ }; +var construct = getBuiltIn('Reflect', 'construct'); +var constructorRegExp = /^\s*(?:class|function)\b/; +var exec = uncurryThis(constructorRegExp.exec); +var INCORRECT_TO_STRING = !constructorRegExp.test(noop); + +var isConstructorModern = function isConstructor(argument) { + if (!isCallable(argument)) return false; + try { + construct(noop, [], argument); + return true; + } catch (error) { + return false; + } +}; + +var isConstructorLegacy = function isConstructor(argument) { + if (!isCallable(argument)) return false; + switch (classof(argument)) { + case 'AsyncFunction': + case 'GeneratorFunction': + case 'AsyncGeneratorFunction': return false; + } + try { + // we can't check .prototype since constructors produced by .bind haven't it + // `Function#toString` throws on some built-it function in some legacy engines + // (for example, `DOMQuad` and similar in FF41-) + return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); + } catch (error) { + return true; + } +}; + +isConstructorLegacy.sham = true; + +// `IsConstructor` abstract operation +// https://tc39.es/ecma262/#sec-isconstructor +module.exports = !construct || fails(function () { + var called; + return isConstructorModern(isConstructorModern.call) + || !isConstructorModern(Object) + || !isConstructorModern(function () { called = true; }) + || called; +}) ? isConstructorLegacy : isConstructorModern; + + +/***/ }), +/* 90 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var hasOwn = __webpack_require__(38); +var toString = __webpack_require__(68); +var shared = __webpack_require__(34); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__(91); + +var StringToSymbolRegistry = shared('string-to-symbol-registry'); +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.for` method +// https://tc39.es/ecma262/#sec-symbol.for +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + 'for': function (key) { + var string = toString(key); + if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; + var symbol = getBuiltIn('Symbol')(string); + StringToSymbolRegistry[string] = symbol; + SymbolToStringRegistry[symbol] = string; + return symbol; + } +}); + + +/***/ }), +/* 91 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_SYMBOL = __webpack_require__(26); + +/* eslint-disable es/no-symbol -- safe */ +module.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor; + + +/***/ }), +/* 92 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var hasOwn = __webpack_require__(38); +var isSymbol = __webpack_require__(22); +var tryToString = __webpack_require__(31); +var shared = __webpack_require__(34); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__(91); + +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.keyFor` method +// https://tc39.es/ecma262/#sec-symbol.keyfor +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol'); + if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; + } +}); + + +/***/ }), +/* 93 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var isSymbol = __webpack_require__(22); +var arraySlice = __webpack_require__(76); +var getReplacerFunction = __webpack_require__(95); +var NATIVE_SYMBOL = __webpack_require__(26); + +var $String = String; +var $stringify = getBuiltIn('JSON', 'stringify'); +var exec = uncurryThis(/./.exec); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var replace = uncurryThis(''.replace); +var numberToString = uncurryThis(1.0.toString); + +var tester = /[\uD800-\uDFFF]/g; +var low = /^[\uD800-\uDBFF]$/; +var hi = /^[\uDC00-\uDFFF]$/; + +var WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () { + var symbol = getBuiltIn('Symbol')('stringify detection'); + // MS Edge converts symbol values to JSON as {} + return $stringify([symbol]) !== '[null]' + // WebKit converts symbol values to JSON as null + || $stringify({ a: symbol }) !== '{}' + // V8 throws on boxed symbols + || $stringify(Object(symbol)) !== '{}'; +}); + +// https://github.com/tc39/proposal-well-formed-stringify +var ILL_FORMED_UNICODE = fails(function () { + return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"' + || $stringify('\uDEAD') !== '"\\udead"'; +}); + +var stringifyWithSymbolsFix = function (it, replacer) { + var args = arraySlice(arguments); + var $replacer = getReplacerFunction(replacer); + if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined + args[1] = function (key, value) { + // some old implementations (like WebKit) could pass numbers as keys + if (isCallable($replacer)) value = call($replacer, this, $String(key), value); + if (!isSymbol(value)) return value; + }; + return apply($stringify, null, args); +}; + +var fixIllFormed = function (match, offset, string) { + var prev = charAt(string, offset - 1); + var next = charAt(string, offset + 1); + if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) { + return '\\u' + numberToString(charCodeAt(match, 0), 16); + } return match; +}; + +if ($stringify) { + // `JSON.stringify` method + // https://tc39.es/ecma262/#sec-json.stringify + $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + stringify: function stringify(it, replacer, space) { + var args = arraySlice(arguments); + var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args); + return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result; + } + }); +} + + +/***/ }), +/* 94 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; + +// eslint-disable-next-line es/no-reflect -- safe +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); + + +/***/ }), +/* 95 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var isArray = __webpack_require__(88); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(15); +var toString = __webpack_require__(68); + +var push = uncurryThis([].push); + +module.exports = function (replacer) { + if (isCallable(replacer)) return replacer; + if (!isArray(replacer)) return; + var rawLength = replacer.length; + var keys = []; + for (var i = 0; i < rawLength; i++) { + var element = replacer[i]; + if (typeof element == 'string') push(keys, element); + else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element)); + } + var keysLength = keys.length; + var root = true; + return function (key, value) { + if (root) { + root = false; + return value; + } + if (isArray(this)) return value; + for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value; + }; +}; + + +/***/ }), +/* 96 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var NATIVE_SYMBOL = __webpack_require__(26); +var fails = __webpack_require__(7); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var toObject = __webpack_require__(39); + +// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives +// https://bugs.chromium.org/p/v8/issues/detail?id=3443 +var FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); }); + +// `Object.getOwnPropertySymbols` method +// https://tc39.es/ecma262/#sec-object.getownpropertysymbols +$({ target: 'Object', stat: true, forced: FORCED }, { + getOwnPropertySymbols: function getOwnPropertySymbols(it) { + var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : []; + } +}); + + +/***/ }), +/* 97 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +// `Symbol.prototype.description` getter +// https://tc39.es/ecma262/#sec-symbol.prototype.description + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var hasOwn = __webpack_require__(38); +var isCallable = __webpack_require__(21); +var isPrototypeOf = __webpack_require__(24); +var toString = __webpack_require__(68); +var defineBuiltInAccessor = __webpack_require__(77); +var copyConstructorProperties = __webpack_require__(55); + +var NativeSymbol = globalThis.Symbol; +var SymbolPrototype = NativeSymbol && NativeSymbol.prototype; + +if (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) || + // Safari 12 bug + NativeSymbol().description !== undefined +)) { + var EmptyStringDescriptionStore = {}; + // wrap Symbol constructor for correct work with undefined description + var SymbolWrapper = function Symbol() { + var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]); + var result = isPrototypeOf(SymbolPrototype, this) + // eslint-disable-next-line sonarjs/inconsistent-function-call -- ok + ? new NativeSymbol(description) + // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)' + : description === undefined ? NativeSymbol() : NativeSymbol(description); + if (description === '') EmptyStringDescriptionStore[result] = true; + return result; + }; + + copyConstructorProperties(SymbolWrapper, NativeSymbol); + SymbolWrapper.prototype = SymbolPrototype; + SymbolPrototype.constructor = SymbolWrapper; + + var NATIVE_SYMBOL = String(NativeSymbol('description detection')) === 'Symbol(description detection)'; + var thisSymbolValue = uncurryThis(SymbolPrototype.valueOf); + var symbolDescriptiveString = uncurryThis(SymbolPrototype.toString); + var regexp = /^Symbol\((.*)\)[^)]+$/; + var replace = uncurryThis(''.replace); + var stringSlice = uncurryThis(''.slice); + + defineBuiltInAccessor(SymbolPrototype, 'description', { + configurable: true, + get: function description() { + var symbol = thisSymbolValue(this); + if (hasOwn(EmptyStringDescriptionStore, symbol)) return ''; + var string = symbolDescriptiveString(symbol); + var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1'); + return desc === '' ? undefined : desc; + } + }); + + $({ global: true, constructor: true, forced: true }, { + Symbol: SymbolWrapper + }); +} + + +/***/ }), +/* 98 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.asyncIterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.asynciterator +defineWellKnownSymbol('asyncIterator'); + + +/***/ }), +/* 99 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.hasInstance` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.hasinstance +defineWellKnownSymbol('hasInstance'); + + +/***/ }), +/* 100 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.isConcatSpreadable` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable +defineWellKnownSymbol('isConcatSpreadable'); + + +/***/ }), +/* 101 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.iterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.iterator +defineWellKnownSymbol('iterator'); + + +/***/ }), +/* 102 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.match` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.match +defineWellKnownSymbol('match'); + + +/***/ }), +/* 103 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.matchAll` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.matchall +defineWellKnownSymbol('matchAll'); + + +/***/ }), +/* 104 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.replace` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.replace +defineWellKnownSymbol('replace'); + + +/***/ }), +/* 105 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.search` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.search +defineWellKnownSymbol('search'); + + +/***/ }), +/* 106 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.species` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.species +defineWellKnownSymbol('species'); + + +/***/ }), +/* 107 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.split` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.split +defineWellKnownSymbol('split'); + + +/***/ }), +/* 108 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); +var defineSymbolToPrimitive = __webpack_require__(81); + +// `Symbol.toPrimitive` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.toprimitive +defineWellKnownSymbol('toPrimitive'); + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +defineSymbolToPrimitive(); + + +/***/ }), +/* 109 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var defineWellKnownSymbol = __webpack_require__(79); +var setToStringTag = __webpack_require__(82); + +// `Symbol.toStringTag` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.tostringtag +defineWellKnownSymbol('toStringTag'); + +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag(getBuiltIn('Symbol'), 'Symbol'); + + +/***/ }), +/* 110 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.unscopables` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.unscopables +defineWellKnownSymbol('unscopables'); + + +/***/ }), +/* 111 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-unused-vars -- required for functions `.length` */ +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var wrapErrorConstructorWithCause = __webpack_require__(112); + +var WEB_ASSEMBLY = 'WebAssembly'; +var WebAssembly = globalThis[WEB_ASSEMBLY]; + +// eslint-disable-next-line es/no-error-cause -- feature detection +var FORCED = new Error('e', { cause: 7 }).cause !== 7; + +var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED); + $({ global: true, constructor: true, arity: 1, forced: FORCED }, O); +}; + +var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) { + if (WebAssembly && WebAssembly[ERROR_NAME]) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED); + $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O); + } +}; + +// https://tc39.es/ecma262/#sec-nativeerror +exportGlobalErrorCauseWrapper('Error', function (init) { + return function Error(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('EvalError', function (init) { + return function EvalError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('RangeError', function (init) { + return function RangeError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('ReferenceError', function (init) { + return function ReferenceError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('SyntaxError', function (init) { + return function SyntaxError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('TypeError', function (init) { + return function TypeError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('URIError', function (init) { + return function URIError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('CompileError', function (init) { + return function CompileError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('LinkError', function (init) { + return function LinkError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) { + return function RuntimeError(message) { return apply(init, this, arguments); }; +}); + + +/***/ }), +/* 112 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var hasOwn = __webpack_require__(38); +var createNonEnumerableProperty = __webpack_require__(43); +var isPrototypeOf = __webpack_require__(24); +var setPrototypeOf = __webpack_require__(113); +var copyConstructorProperties = __webpack_require__(55); +var proxyAccessor = __webpack_require__(117); +var inheritIfRequired = __webpack_require__(118); +var normalizeStringArgument = __webpack_require__(119); +var installErrorCause = __webpack_require__(120); +var installErrorStack = __webpack_require__(121); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) { + var STACK_TRACE_LIMIT = 'stackTraceLimit'; + var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1; + var path = FULL_NAME.split('.'); + var ERROR_NAME = path[path.length - 1]; + var OriginalError = getBuiltIn.apply(null, path); + + if (!OriginalError) return; + + var OriginalErrorPrototype = OriginalError.prototype; + + // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006 + if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause; + + if (!FORCED) return OriginalError; + + var BaseError = getBuiltIn('Error'); + + var WrappedError = wrapper(function (a, b) { + var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined); + var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError(); + if (message !== undefined) createNonEnumerableProperty(result, 'message', message); + installErrorStack(result, WrappedError, result.stack, 2); + if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError); + if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]); + return result; + }); + + WrappedError.prototype = OriginalErrorPrototype; + + if (ERROR_NAME !== 'Error') { + if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError); + else copyConstructorProperties(WrappedError, BaseError, { name: true }); + } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) { + proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT); + proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace'); + } + + copyConstructorProperties(WrappedError, OriginalError); + + if (!IS_PURE) try { + // Safari 13- bug: WebAssembly errors does not have a proper `.name` + if (OriginalErrorPrototype.name !== ERROR_NAME) { + createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME); + } + OriginalErrorPrototype.constructor = WrappedError; + } catch (error) { /* empty */ } + + return WrappedError; +}; + + +/***/ }), +/* 113 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-proto -- safe */ +var uncurryThisAccessor = __webpack_require__(114); +var isObject = __webpack_require__(20); +var requireObjectCoercible = __webpack_require__(16); +var aPossiblePrototype = __webpack_require__(115); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +// Works with __proto__ only. Old v8 can't work with null proto objects. +// eslint-disable-next-line es/no-object-setprototypeof -- safe +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set'); + setter(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { /* empty */ } + return function setPrototypeOf(O, proto) { + requireObjectCoercible(O); + aPossiblePrototype(proto); + if (!isObject(O)) return O; + if (CORRECT_SETTER) setter(O, proto); + else O.__proto__ = proto; + return O; + }; +}() : undefined); + + +/***/ }), +/* 114 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); + +module.exports = function (object, key, method) { + try { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method])); + } catch (error) { /* empty */ } +}; + + +/***/ }), +/* 115 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isPossiblePrototype = __webpack_require__(116); + +var $String = String; +var $TypeError = TypeError; + +module.exports = function (argument) { + if (isPossiblePrototype(argument)) return argument; + throw new $TypeError("Can't set " + $String(argument) + ' as a prototype'); +}; + + +/***/ }), +/* 116 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +module.exports = function (argument) { + return isObject(argument) || argument === null; +}; + + +/***/ }), +/* 117 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineProperty = (__webpack_require__(44).f); + +module.exports = function (Target, Source, key) { + key in Target || defineProperty(Target, key, { + configurable: true, + get: function () { return Source[key]; }, + set: function (it) { Source[key] = it; } + }); +}; + + +/***/ }), +/* 118 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var setPrototypeOf = __webpack_require__(113); + +// makes subclassing work correct for wrapped built-ins +module.exports = function ($this, dummy, Wrapper) { + var NewTarget, NewTargetPrototype; + if ( + // it can work only with native `setPrototypeOf` + setPrototypeOf && + // we haven't completely correct pre-ES6 way for getting `new.target`, so use this + isCallable(NewTarget = dummy.constructor) && + NewTarget !== Wrapper && + isObject(NewTargetPrototype = NewTarget.prototype) && + NewTargetPrototype !== Wrapper.prototype + ) setPrototypeOf($this, NewTargetPrototype); + return $this; +}; + + +/***/ }), +/* 119 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toString = __webpack_require__(68); + +module.exports = function (argument, $default) { + return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument); +}; + + +/***/ }), +/* 120 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); +var createNonEnumerableProperty = __webpack_require__(43); + +// `InstallErrorCause` abstract operation +// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause +module.exports = function (O, options) { + if (isObject(options) && 'cause' in options) { + createNonEnumerableProperty(O, 'cause', options.cause); + } +}; + + +/***/ }), +/* 121 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var createNonEnumerableProperty = __webpack_require__(43); +var clearErrorStack = __webpack_require__(122); +var ERROR_STACK_INSTALLABLE = __webpack_require__(123); + +// non-standard V8 +var captureStackTrace = Error.captureStackTrace; + +module.exports = function (error, C, stack, dropEntries) { + if (ERROR_STACK_INSTALLABLE) { + if (captureStackTrace) captureStackTrace(error, C); + else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries)); + } +}; + + +/***/ }), +/* 122 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var $Error = Error; +var replace = uncurryThis(''.replace); + +var TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd'); +// eslint-disable-next-line redos/no-vulnerable, sonarjs/slow-regex -- safe +var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; +var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); + +module.exports = function (stack, dropEntries) { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) { + while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); + } return stack; +}; + + +/***/ }), +/* 123 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = !fails(function () { + var error = new Error('a'); + if (!('stack' in error)) return true; + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); + return error.stack !== 7; +}); + + +/***/ }), +/* 124 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var errorToString = __webpack_require__(125); + +var ErrorPrototype = Error.prototype; + +// `Error.prototype.toString` method fix +// https://tc39.es/ecma262/#sec-error.prototype.tostring +if (ErrorPrototype.toString !== errorToString) { + defineBuiltIn(ErrorPrototype, 'toString', errorToString); +} + + +/***/ }), +/* 125 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var anObject = __webpack_require__(46); +var normalizeStringArgument = __webpack_require__(119); + +var nativeErrorToString = Error.prototype.toString; + +var INCORRECT_TO_STRING = fails(function () { + if (DESCRIPTORS) { + // Chrome 32- incorrectly call accessor + // eslint-disable-next-line es/no-object-create, es/no-object-defineproperty -- safe + var object = Object.create(Object.defineProperty({}, 'name', { get: function () { + return this === object; + } })); + if (nativeErrorToString.call(object) !== 'true') return true; + } + // FF10- does not properly handle non-strings + return nativeErrorToString.call({ message: 1, name: 2 }) !== '2: 1' + // IE8 does not properly handle defaults + || nativeErrorToString.call({}) !== 'Error'; +}); + +module.exports = INCORRECT_TO_STRING ? function toString() { + var O = anObject(this); + var name = normalizeStringArgument(O.name, 'Error'); + var message = normalizeStringArgument(O.message); + return !name ? message : !message ? name : name + ': ' + message; +} : nativeErrorToString; + + +/***/ }), +/* 126 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(127); + + +/***/ }), +/* 127 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isPrototypeOf = __webpack_require__(24); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var copyConstructorProperties = __webpack_require__(55); +var create = __webpack_require__(71); +var createNonEnumerableProperty = __webpack_require__(43); +var createPropertyDescriptor = __webpack_require__(11); +var installErrorCause = __webpack_require__(120); +var installErrorStack = __webpack_require__(121); +var iterate = __webpack_require__(130); +var normalizeStringArgument = __webpack_require__(119); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Error = Error; +var push = [].push; + +var $AggregateError = function AggregateError(errors, message /* , options */) { + var isInstance = isPrototypeOf(AggregateErrorPrototype, this); + var that; + if (setPrototypeOf) { + that = setPrototypeOf(new $Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype); + } else { + that = isInstance ? this : create(AggregateErrorPrototype); + createNonEnumerableProperty(that, TO_STRING_TAG, 'Error'); + } + if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message)); + installErrorStack(that, $AggregateError, that.stack, 1); + if (arguments.length > 2) installErrorCause(that, arguments[2]); + var errorsArray = []; + iterate(errors, push, { that: errorsArray }); + createNonEnumerableProperty(that, 'errors', errorsArray); + return that; +}; + +if (setPrototypeOf) setPrototypeOf($AggregateError, $Error); +else copyConstructorProperties($AggregateError, $Error, { name: true }); + +var AggregateErrorPrototype = $AggregateError.prototype = create($Error.prototype, { + constructor: createPropertyDescriptor(1, $AggregateError), + message: createPropertyDescriptor(1, ''), + name: createPropertyDescriptor(1, 'AggregateError') +}); + +// `AggregateError` constructor +// https://tc39.es/ecma262/#sec-aggregate-error-constructor +$({ global: true, constructor: true, arity: 2 }, { + AggregateError: $AggregateError +}); + + +/***/ }), +/* 128 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var isCallable = __webpack_require__(21); +var toObject = __webpack_require__(39); +var sharedKey = __webpack_require__(53); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +var IE_PROTO = sharedKey('IE_PROTO'); +var $Object = Object; +var ObjectPrototype = $Object.prototype; + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +// eslint-disable-next-line es/no-object-getprototypeof -- safe +module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) { + var object = toObject(O); + if (hasOwn(object, IE_PROTO)) return object[IE_PROTO]; + var constructor = object.constructor; + if (isCallable(constructor) && object instanceof constructor) { + return constructor.prototype; + } return object instanceof $Object ? ObjectPrototype : null; +}; + + +/***/ }), +/* 129 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + // eslint-disable-next-line es/no-object-getprototypeof -- required for testing + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + + +/***/ }), +/* 130 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var tryToString = __webpack_require__(31); +var isArrayIteratorMethod = __webpack_require__(131); +var lengthOfArrayLike = __webpack_require__(63); +var isPrototypeOf = __webpack_require__(24); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var iteratorClose = __webpack_require__(135); + +var $TypeError = TypeError; + +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; + +var ResultPrototype = Result.prototype; + +module.exports = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_RECORD = !!(options && options.IS_RECORD); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = bind(unboundFunction, that); + var iterator, iterFn, index, length, result, next, step; + + var stop = function (condition) { + if (iterator) iteratorClose(iterator, 'normal', condition); + return new Result(true, condition); + }; + + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } return INTERRUPTED ? fn(value, stop) : fn(value); + }; + + if (IS_RECORD) { + iterator = iterable.iterator; + } else if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable'); + // optimisation for array iterators + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { + result = callFn(iterable[index]); + if (result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); + } + iterator = getIterator(iterable, iterFn); + } + + next = IS_RECORD ? iterable.next : iterator.next; + while (!(step = call(next, iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } + if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); +}; + + +/***/ }), +/* 131 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); +var Iterators = __webpack_require__(132); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; + +// check on default Array iterator +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + + +/***/ }), +/* 132 */ +/***/ (function(module) { + + +module.exports = {}; + + +/***/ }), +/* 133 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var tryToString = __webpack_require__(31); +var getIteratorMethod = __webpack_require__(134); + +var $TypeError = TypeError; + +module.exports = function (argument, usingIterator) { + var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; + if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument)); + throw new $TypeError(tryToString(argument) + ' is not iterable'); +}; + + +/***/ }), +/* 134 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); +var getMethod = __webpack_require__(29); +var isNullOrUndefined = __webpack_require__(17); +var Iterators = __webpack_require__(132); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = function (it) { + if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR) + || getMethod(it, '@@iterator') + || Iterators[classof(it)]; +}; + + +/***/ }), +/* 135 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getMethod = __webpack_require__(29); + +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') throw value; + if (innerError) throw innerResult; + anObject(innerResult); + return value; +}; + + +/***/ }), +/* 136 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var fails = __webpack_require__(7); +var wrapErrorConstructorWithCause = __webpack_require__(112); + +var AGGREGATE_ERROR = 'AggregateError'; +var $AggregateError = getBuiltIn(AGGREGATE_ERROR); + +var FORCED = !fails(function () { + return $AggregateError([1]).errors[0] !== 1; +}) && fails(function () { + return $AggregateError([1], AGGREGATE_ERROR, { cause: 7 }).cause !== 7; +}); + +// https://tc39.es/ecma262/#sec-aggregate-error +$({ global: true, constructor: true, arity: 2, forced: FORCED }, { + AggregateError: wrapErrorConstructorWithCause(AGGREGATE_ERROR, function (init) { + // eslint-disable-next-line no-unused-vars -- required for functions `.length` + return function AggregateError(errors, message) { return apply(init, this, arguments); }; + }, FORCED, true) +}); + + +/***/ }), +/* 137 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.at` method +// https://tc39.es/ecma262/#sec-array.prototype.at +$({ target: 'Array', proto: true }, { + at: function at(index) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : O[k]; + } +}); + +addToUnscopables('at'); + + +/***/ }), +/* 138 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); +var create = __webpack_require__(71); +var defineProperty = (__webpack_require__(44).f); + +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; + +// Array.prototype[@@unscopables] +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +if (ArrayPrototype[UNSCOPABLES] === undefined) { + defineProperty(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: create(null) + }); +} + +// add a key to Array.prototype[@@unscopables] +module.exports = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; +}; + + +/***/ }), +/* 139 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isArray = __webpack_require__(88); +var isObject = __webpack_require__(20); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var doesNotExceedSafeInteger = __webpack_require__(140); +var createProperty = __webpack_require__(141); +var arraySpeciesCreate = __webpack_require__(86); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); +var wellKnownSymbol = __webpack_require__(33); +var V8_VERSION = __webpack_require__(27); + +var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); + +// We can't use this feature detection in V8 since it causes +// deoptimization and serious performance degradation +// https://github.com/zloirock/core-js/issues/679 +var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { + var array = []; + array[IS_CONCAT_SPREADABLE] = false; + return array.concat()[0] !== array; +}); + +var isConcatSpreadable = function (O) { + if (!isObject(O)) return false; + var spreadable = O[IS_CONCAT_SPREADABLE]; + return spreadable !== undefined ? !!spreadable : isArray(O); +}; + +var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat'); + +// `Array.prototype.concat` method +// https://tc39.es/ecma262/#sec-array.prototype.concat +// with adding support of @@isConcatSpreadable and @@species +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + concat: function concat(arg) { + var O = toObject(this); + var A = arraySpeciesCreate(O, 0); + var n = 0; + var i, k, length, len, E; + for (i = -1, length = arguments.length; i < length; i++) { + E = i === -1 ? O : arguments[i]; + if (isConcatSpreadable(E)) { + len = lengthOfArrayLike(E); + doesNotExceedSafeInteger(n + len); + for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); + } else { + doesNotExceedSafeInteger(n + 1); + createProperty(A, n++, E); + } + } + A.length = n; + return A; + } +}); + + +/***/ }), +/* 140 */ +/***/ (function(module) { + + +var $TypeError = TypeError; +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991 + +module.exports = function (it) { + if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded'); + return it; +}; + + +/***/ }), +/* 141 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var definePropertyModule = __webpack_require__(44); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = function (object, key, value) { + if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value)); + else object[key] = value; +}; + + +/***/ }), +/* 142 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var V8_VERSION = __webpack_require__(27); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (METHOD_NAME) { + // We can't use this feature detection in V8 since it causes + // deoptimization and serious performance degradation + // https://github.com/zloirock/core-js/issues/677 + return V8_VERSION >= 51 || !fails(function () { + var array = []; + var constructor = array.constructor = {}; + constructor[SPECIES] = function () { + return { foo: 1 }; + }; + return array[METHOD_NAME](Boolean).foo !== 1; + }); +}; + + +/***/ }), +/* 143 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var copyWithin = __webpack_require__(144); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.copyWithin` method +// https://tc39.es/ecma262/#sec-array.prototype.copywithin +$({ target: 'Array', proto: true }, { + copyWithin: copyWithin +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('copyWithin'); + + +/***/ }), +/* 144 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); +var deletePropertyOrThrow = __webpack_require__(145); + +var min = Math.min; + +// `Array.prototype.copyWithin` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.copywithin +// eslint-disable-next-line es/no-array-prototype-copywithin -- safe +module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var to = toAbsoluteIndex(target, len); + var from = toAbsoluteIndex(start, len); + var end = arguments.length > 2 ? arguments[2] : undefined; + var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var inc = 1; + if (from < to && to < from + count) { + inc = -1; + from += count - 1; + to += count - 1; + } + while (count-- > 0) { + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + to += inc; + from += inc; + } return O; +}; + + +/***/ }), +/* 145 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +module.exports = function (O, P) { + if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O)); +}; + + +/***/ }), +/* 146 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $every = (__webpack_require__(83).every); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('every'); + +// `Array.prototype.every` method +// https://tc39.es/ecma262/#sec-array.prototype.every +$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { + every: function every(callbackfn /* , thisArg */) { + return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 147 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call -- required for testing + method.call(null, argument || function () { return 1; }, 1); + }); +}; + + +/***/ }), +/* 148 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fill = __webpack_require__(149); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.fill` method +// https://tc39.es/ecma262/#sec-array.prototype.fill +$({ target: 'Array', proto: true }, { + fill: fill +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('fill'); + + +/***/ }), +/* 149 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.fill` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.fill +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = lengthOfArrayLike(O); + var argumentsLength = arguments.length; + var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); + var end = argumentsLength > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; + return O; +}; + + +/***/ }), +/* 150 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $filter = (__webpack_require__(83).filter); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); + +// `Array.prototype.filter` method +// https://tc39.es/ecma262/#sec-array.prototype.filter +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + filter: function filter(callbackfn /* , thisArg */) { + return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 151 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $find = (__webpack_require__(83).find); +var addToUnscopables = __webpack_require__(138); + +var FIND = 'find'; +var SKIPS_HOLES = true; + +// Shouldn't skip holes +// eslint-disable-next-line es/no-array-prototype-find -- testing +if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.find` method +// https://tc39.es/ecma262/#sec-array.prototype.find +$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { + find: function find(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND); + + +/***/ }), +/* 152 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findIndex = (__webpack_require__(83).findIndex); +var addToUnscopables = __webpack_require__(138); + +var FIND_INDEX = 'findIndex'; +var SKIPS_HOLES = true; + +// Shouldn't skip holes +// eslint-disable-next-line es/no-array-prototype-findindex -- testing +if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.findIndex` method +// https://tc39.es/ecma262/#sec-array.prototype.findindex +$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { + findIndex: function findIndex(callbackfn /* , that = undefined */) { + return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND_INDEX); + + +/***/ }), +/* 153 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findLast = (__webpack_require__(154).findLast); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.findLast` method +// https://tc39.es/ecma262/#sec-array.prototype.findlast +$({ target: 'Array', proto: true }, { + findLast: function findLast(callbackfn /* , that = undefined */) { + return $findLast(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +addToUnscopables('findLast'); + + +/***/ }), +/* 154 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var IndexedObject = __webpack_require__(13); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.{ findLast, findLastIndex }` methods implementation +var createMethod = function (TYPE) { + var IS_FIND_LAST_INDEX = TYPE === 1; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IndexedObject(O); + var index = lengthOfArrayLike(self); + var boundFunction = bind(callbackfn, that); + var value, result; + while (index-- > 0) { + value = self[index]; + result = boundFunction(value, index, O); + if (result) switch (TYPE) { + case 0: return value; // findLast + case 1: return index; // findLastIndex + } + } + return IS_FIND_LAST_INDEX ? -1 : undefined; + }; +}; + +module.exports = { + // `Array.prototype.findLast` method + // https://github.com/tc39/proposal-array-find-from-last + findLast: createMethod(0), + // `Array.prototype.findLastIndex` method + // https://github.com/tc39/proposal-array-find-from-last + findLastIndex: createMethod(1) +}; + + +/***/ }), +/* 155 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findLastIndex = (__webpack_require__(154).findLastIndex); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.findLastIndex` method +// https://tc39.es/ecma262/#sec-array.prototype.findlastindex +$({ target: 'Array', proto: true }, { + findLastIndex: function findLastIndex(callbackfn /* , that = undefined */) { + return $findLastIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +addToUnscopables('findLastIndex'); + + +/***/ }), +/* 156 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var flattenIntoArray = __webpack_require__(157); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); +var arraySpeciesCreate = __webpack_require__(86); + +// `Array.prototype.flat` method +// https://tc39.es/ecma262/#sec-array.prototype.flat +$({ target: 'Array', proto: true }, { + flat: function flat(/* depthArg = 1 */) { + var depthArg = arguments.length ? arguments[0] : undefined; + var O = toObject(this); + var sourceLen = lengthOfArrayLike(O); + var A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg)); + return A; + } +}); + + +/***/ }), +/* 157 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isArray = __webpack_require__(88); +var lengthOfArrayLike = __webpack_require__(63); +var doesNotExceedSafeInteger = __webpack_require__(140); +var bind = __webpack_require__(84); + +// `FlattenIntoArray` abstract operation +// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray +var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? bind(mapper, thisArg) : false; + var element, elementLen; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + if (depth > 0 && isArray(element)) { + elementLen = lengthOfArrayLike(element); + targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1; + } else { + doesNotExceedSafeInteger(targetIndex + 1); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; +}; + +module.exports = flattenIntoArray; + + +/***/ }), +/* 158 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var flattenIntoArray = __webpack_require__(157); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var arraySpeciesCreate = __webpack_require__(86); + +// `Array.prototype.flatMap` method +// https://tc39.es/ecma262/#sec-array.prototype.flatmap +$({ target: 'Array', proto: true }, { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var sourceLen = lengthOfArrayLike(O); + var A; + aCallable(callbackfn); + A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return A; + } +}); + + +/***/ }), +/* 159 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var forEach = __webpack_require__(160); + +// `Array.prototype.forEach` method +// https://tc39.es/ecma262/#sec-array.prototype.foreach +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +$({ target: 'Array', proto: true, forced: [].forEach !== forEach }, { + forEach: forEach +}); + + +/***/ }), +/* 160 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $forEach = (__webpack_require__(83).forEach); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('forEach'); + +// `Array.prototype.forEach` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.foreach +module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +} : [].forEach; + + +/***/ }), +/* 161 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var from = __webpack_require__(162); +var checkCorrectnessOfIteration = __webpack_require__(164); + +var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { + // eslint-disable-next-line es/no-array-from -- required for testing + Array.from(iterable); +}); + +// `Array.from` method +// https://tc39.es/ecma262/#sec-array.from +$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { + from: from +}); + + +/***/ }), +/* 162 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var toObject = __webpack_require__(39); +var callWithSafeIterationClosing = __webpack_require__(163); +var isArrayIteratorMethod = __webpack_require__(131); +var isConstructor = __webpack_require__(89); +var lengthOfArrayLike = __webpack_require__(63); +var createProperty = __webpack_require__(141); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); + +var $Array = Array; + +// `Array.from` method implementation +// https://tc39.es/ecma262/#sec-array.from +module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var IS_CONSTRUCTOR = isConstructor(this); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined); + var iteratorMethod = getIteratorMethod(O); + var index = 0; + var length, result, step, iterator, next, value; + // if the target is not iterable or it's an array with the default iterator - use a simple case + if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) { + result = IS_CONSTRUCTOR ? new this() : []; + iterator = getIterator(O, iteratorMethod); + next = iterator.next; + for (;!(step = call(next, iterator)).done; index++) { + value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; + createProperty(result, index, value); + } + } else { + length = lengthOfArrayLike(O); + result = IS_CONSTRUCTOR ? new this(length) : $Array(length); + for (;length > index; index++) { + value = mapping ? mapfn(O[index], index) : O[index]; + createProperty(result, index, value); + } + } + result.length = index; + return result; +}; + + +/***/ }), +/* 163 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var iteratorClose = __webpack_require__(135); + +// call something on iterator step with safe closing on error +module.exports = function (iterator, fn, value, ENTRIES) { + try { + return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } +}; + + +/***/ }), +/* 164 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var SAFE_CLOSING = false; + +try { + var called = 0; + var iteratorWithReturn = { + next: function () { + return { done: !!called++ }; + }, + 'return': function () { + SAFE_CLOSING = true; + } + }; + iteratorWithReturn[ITERATOR] = function () { + return this; + }; + // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing + Array.from(iteratorWithReturn, function () { throw 2; }); +} catch (error) { /* empty */ } + +module.exports = function (exec, SKIP_CLOSING) { + try { + if (!SKIP_CLOSING && !SAFE_CLOSING) return false; + } catch (error) { return false; } // workaround of old WebKit + `eval` bug + var ITERATION_SUPPORT = false; + try { + var object = {}; + object[ITERATOR] = function () { + return { + next: function () { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { /* empty */ } + return ITERATION_SUPPORT; +}; + + +/***/ }), +/* 165 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $includes = (__webpack_require__(59).includes); +var fails = __webpack_require__(7); +var addToUnscopables = __webpack_require__(138); + +// FF99+ bug +var BROKEN_ON_SPARSE = fails(function () { + // eslint-disable-next-line es/no-array-prototype-includes -- detection + return !Array(1).includes(); +}); + +// `Array.prototype.includes` method +// https://tc39.es/ecma262/#sec-array.prototype.includes +$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, { + includes: function includes(el /* , fromIndex = 0 */) { + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('includes'); + + +/***/ }), +/* 166 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-array-prototype-indexof -- required for testing */ +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var $indexOf = (__webpack_require__(59).indexOf); +var arrayMethodIsStrict = __webpack_require__(147); + +var nativeIndexOf = uncurryThis([].indexOf); + +var NEGATIVE_ZERO = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0; +var FORCED = NEGATIVE_ZERO || !arrayMethodIsStrict('indexOf'); + +// `Array.prototype.indexOf` method +// https://tc39.es/ecma262/#sec-array.prototype.indexof +$({ target: 'Array', proto: true, forced: FORCED }, { + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + var fromIndex = arguments.length > 1 ? arguments[1] : undefined; + return NEGATIVE_ZERO + // convert -0 to +0 + ? nativeIndexOf(this, searchElement, fromIndex) || 0 + : $indexOf(this, searchElement, fromIndex); + } +}); + + +/***/ }), +/* 167 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isArray = __webpack_require__(88); + +// `Array.isArray` method +// https://tc39.es/ecma262/#sec-array.isarray +$({ target: 'Array', stat: true }, { + isArray: isArray +}); + + +/***/ }), +/* 168 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIndexedObject = __webpack_require__(12); +var addToUnscopables = __webpack_require__(138); +var Iterators = __webpack_require__(132); +var InternalStateModule = __webpack_require__(51); +var defineProperty = (__webpack_require__(44).f); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); + +var ARRAY_ITERATOR = 'Array Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); + +// `Array.prototype.entries` method +// https://tc39.es/ecma262/#sec-array.prototype.entries +// `Array.prototype.keys` method +// https://tc39.es/ecma262/#sec-array.prototype.keys +// `Array.prototype.values` method +// https://tc39.es/ecma262/#sec-array.prototype.values +// `Array.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-array.prototype-@@iterator +// `CreateArrayIterator` internal method +// https://tc39.es/ecma262/#sec-createarrayiterator +module.exports = defineIterator(Array, 'Array', function (iterated, kind) { + setInternalState(this, { + type: ARRAY_ITERATOR, + target: toIndexedObject(iterated), // target + index: 0, // next index + kind: kind // kind + }); +// `%ArrayIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next +}, function () { + var state = getInternalState(this); + var target = state.target; + var index = state.index++; + if (!target || index >= target.length) { + state.target = null; + return createIterResultObject(undefined, true); + } + switch (state.kind) { + case 'keys': return createIterResultObject(index, false); + case 'values': return createIterResultObject(target[index], false); + } return createIterResultObject([index, target[index]], false); +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% +// https://tc39.es/ecma262/#sec-createunmappedargumentsobject +// https://tc39.es/ecma262/#sec-createmappedargumentsobject +var values = Iterators.Arguments = Iterators.Array; + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + +// V8 ~ Chrome 45- bug +if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try { + defineProperty(values, 'name', { value: 'values' }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 169 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var IS_PURE = __webpack_require__(36); +var FunctionName = __webpack_require__(49); +var isCallable = __webpack_require__(21); +var createIteratorConstructor = __webpack_require__(170); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var setToStringTag = __webpack_require__(82); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var wellKnownSymbol = __webpack_require__(33); +var Iterators = __webpack_require__(132); +var IteratorsCore = __webpack_require__(171); + +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +var IteratorPrototype = IteratorsCore.IteratorPrototype; +var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; +var ITERATOR = wellKnownSymbol('iterator'); +var KEYS = 'keys'; +var VALUES = 'values'; +var ENTRIES = 'entries'; + +var returnThis = function () { return this; }; + +module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + + var getIterationMethod = function (KIND) { + if (KIND === DEFAULT && defaultIterator) return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND]; + + switch (KIND) { + case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; + case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; + case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; + } + + return function () { return new IteratorConstructor(this); }; + }; + + var TO_STRING_TAG = NAME + ' Iterator'; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] + || IterablePrototype['@@iterator'] + || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + + // fix native + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { + defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + // Set @@toStringTag to native iterators + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; + } + } + + // fix Array.prototype.{ values, @@iterator }.name in V8 / FF + if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) { + if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(IterablePrototype, 'name', VALUES); + } else { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { return call(nativeIterator, this); }; + } + } + + // export additional methods + if (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + defineBuiltIn(IterablePrototype, KEY, methods[KEY]); + } + } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); + } + + // define iterator + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); + } + Iterators[NAME] = defaultIterator; + + return methods; +}; + + +/***/ }), +/* 170 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var setToStringTag = __webpack_require__(82); +var Iterators = __webpack_require__(132); + +var returnThis = function () { return this; }; + +module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { + var TO_STRING_TAG = NAME + ' Iterator'; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; +}; + + +/***/ }), +/* 171 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var create = __webpack_require__(71); +var getPrototypeOf = __webpack_require__(128); +var defineBuiltIn = __webpack_require__(47); +var wellKnownSymbol = __webpack_require__(33); +var IS_PURE = __webpack_require__(36); + +var ITERATOR = wellKnownSymbol('iterator'); +var BUGGY_SAFARI_ITERATORS = false; + +// `%IteratorPrototype%` object +// https://tc39.es/ecma262/#sec-%iteratorprototype%-object +var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; + +/* eslint-disable es/no-array-prototype-keys -- safe */ +if ([].keys) { + arrayIterator = [].keys(); + // Safari 8 has buggy iterators w/o `next` + if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } +} + +var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () { + var test = {}; + // FF44- legacy iterators case + return IteratorPrototype[ITERATOR].call(test) !== test; +}); + +if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; +else if (IS_PURE) IteratorPrototype = create(IteratorPrototype); + +// `%IteratorPrototype%[@@iterator]()` method +// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator +if (!isCallable(IteratorPrototype[ITERATOR])) { + defineBuiltIn(IteratorPrototype, ITERATOR, function () { + return this; + }); +} + +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + + +/***/ }), +/* 172 */ +/***/ (function(module) { + + +// `CreateIterResultObject` abstract operation +// https://tc39.es/ecma262/#sec-createiterresultobject +module.exports = function (value, done) { + return { value: value, done: done }; +}; + + +/***/ }), +/* 173 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var IndexedObject = __webpack_require__(13); +var toIndexedObject = __webpack_require__(12); +var arrayMethodIsStrict = __webpack_require__(147); + +var nativeJoin = uncurryThis([].join); + +var ES3_STRINGS = IndexedObject !== Object; +var FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ','); + +// `Array.prototype.join` method +// https://tc39.es/ecma262/#sec-array.prototype.join +$({ target: 'Array', proto: true, forced: FORCED }, { + join: function join(separator) { + return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator); + } +}); + + +/***/ }), +/* 174 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var lastIndexOf = __webpack_require__(175); + +// `Array.prototype.lastIndexOf` method +// https://tc39.es/ecma262/#sec-array.prototype.lastindexof +// eslint-disable-next-line es/no-array-prototype-lastindexof -- required for testing +$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, { + lastIndexOf: lastIndexOf +}); + + +/***/ }), +/* 175 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-array-prototype-lastindexof -- safe */ +var apply = __webpack_require__(94); +var toIndexedObject = __webpack_require__(12); +var toIntegerOrInfinity = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(63); +var arrayMethodIsStrict = __webpack_require__(147); + +var min = Math.min; +var $lastIndexOf = [].lastIndexOf; +var NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0; +var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf'); +var FORCED = NEGATIVE_ZERO || !STRICT_METHOD; + +// `Array.prototype.lastIndexOf` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.lastindexof +module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { + // convert -0 to +0 + if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0; + var O = toIndexedObject(this); + var length = lengthOfArrayLike(O); + if (length === 0) return -1; + var index = length - 1; + if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1])); + if (index < 0) index = length + index; + for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0; + return -1; +} : $lastIndexOf; + + +/***/ }), +/* 176 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $map = (__webpack_require__(83).map); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map'); + +// `Array.prototype.map` method +// https://tc39.es/ecma262/#sec-array.prototype.map +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 177 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isConstructor = __webpack_require__(89); +var createProperty = __webpack_require__(141); + +var $Array = Array; + +var ISNT_GENERIC = fails(function () { + function F() { /* empty */ } + // eslint-disable-next-line es/no-array-of -- safe + return !($Array.of.call(F) instanceof F); +}); + +// `Array.of` method +// https://tc39.es/ecma262/#sec-array.of +// WebKit Array.of isn't generic +$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, { + of: function of(/* ...args */) { + var index = 0; + var argumentsLength = arguments.length; + var result = new (isConstructor(this) ? this : $Array)(argumentsLength); + while (argumentsLength > index) createProperty(result, index, arguments[index++]); + result.length = argumentsLength; + return result; + } +}); + + +/***/ }), +/* 178 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var doesNotExceedSafeInteger = __webpack_require__(140); +var fails = __webpack_require__(7); + +var INCORRECT_TO_LENGTH = fails(function () { + return [].push.call({ length: 0x100000000 }, 1) !== 4294967297; +}); + +// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError +// https://bugs.chromium.org/p/v8/issues/detail?id=12681 +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).push(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength(); + +// `Array.prototype.push` method +// https://tc39.es/ecma262/#sec-array.prototype.push +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + push: function push(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + doesNotExceedSafeInteger(len + argCount); + for (var i = 0; i < argCount; i++) { + O[len] = arguments[i]; + len++; + } + setArrayLength(O, len); + return len; + } +}); + + +/***/ }), +/* 179 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var isArray = __webpack_require__(88); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Safari < 13 does not throw an error in this case +var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () { + // makes no sense without proper strict mode support + if (this !== undefined) return true; + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).length = 1; + } catch (error) { + return error instanceof TypeError; + } +}(); + +module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) { + if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) { + throw new $TypeError('Cannot set read only .length'); + } return O.length = length; +} : function (O, length) { + return O.length = length; +}; + + +/***/ }), +/* 180 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $reduce = (__webpack_require__(181).left); +var arrayMethodIsStrict = __webpack_require__(147); +var CHROME_VERSION = __webpack_require__(27); +var IS_NODE = __webpack_require__(182); + +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; +var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce'); + +// `Array.prototype.reduce` method +// https://tc39.es/ecma262/#sec-array.prototype.reduce +$({ target: 'Array', proto: true, forced: FORCED }, { + reduce: function reduce(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 181 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var IndexedObject = __webpack_require__(13); +var lengthOfArrayLike = __webpack_require__(63); + +var $TypeError = TypeError; + +var REDUCE_EMPTY = 'Reduce of empty array with no initial value'; + +// `Array.prototype.{ reduce, reduceRight }` methods implementation +var createMethod = function (IS_RIGHT) { + return function (that, callbackfn, argumentsLength, memo) { + var O = toObject(that); + var self = IndexedObject(O); + var length = lengthOfArrayLike(O); + aCallable(callbackfn); + if (length === 0 && argumentsLength < 2) throw new $TypeError(REDUCE_EMPTY); + var index = IS_RIGHT ? length - 1 : 0; + var i = IS_RIGHT ? -1 : 1; + if (argumentsLength < 2) while (true) { + if (index in self) { + memo = self[index]; + index += i; + break; + } + index += i; + if (IS_RIGHT ? index < 0 : length <= index) { + throw new $TypeError(REDUCE_EMPTY); + } + } + for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) { + memo = callbackfn(memo, self[index], index, O); + } + return memo; + }; +}; + +module.exports = { + // `Array.prototype.reduce` method + // https://tc39.es/ecma262/#sec-array.prototype.reduce + left: createMethod(false), + // `Array.prototype.reduceRight` method + // https://tc39.es/ecma262/#sec-array.prototype.reduceright + right: createMethod(true) +}; + + +/***/ }), +/* 182 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var ENVIRONMENT = __webpack_require__(183); + +module.exports = ENVIRONMENT === 'NODE'; + + +/***/ }), +/* 183 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* global Bun, Deno -- detection */ +var globalThis = __webpack_require__(4); +var userAgent = __webpack_require__(28); +var classof = __webpack_require__(15); + +var userAgentStartsWith = function (string) { + return userAgent.slice(0, string.length) === string; +}; + +module.exports = (function () { + if (userAgentStartsWith('Bun/')) return 'BUN'; + if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE'; + if (userAgentStartsWith('Deno/')) return 'DENO'; + if (userAgentStartsWith('Node.js/')) return 'NODE'; + if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN'; + if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO'; + if (classof(globalThis.process) === 'process') return 'NODE'; + if (globalThis.window && globalThis.document) return 'BROWSER'; + return 'REST'; +})(); + + +/***/ }), +/* 184 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $reduceRight = (__webpack_require__(181).right); +var arrayMethodIsStrict = __webpack_require__(147); +var CHROME_VERSION = __webpack_require__(27); +var IS_NODE = __webpack_require__(182); + +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; +var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduceRight'); + +// `Array.prototype.reduceRight` method +// https://tc39.es/ecma262/#sec-array.prototype.reduceright +$({ target: 'Array', proto: true, forced: FORCED }, { + reduceRight: function reduceRight(callbackfn /* , initialValue */) { + return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 185 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var isArray = __webpack_require__(88); + +var nativeReverse = uncurryThis([].reverse); +var test = [1, 2]; + +// `Array.prototype.reverse` method +// https://tc39.es/ecma262/#sec-array.prototype.reverse +// fix for Safari 12.0 bug +// https://bugs.webkit.org/show_bug.cgi?id=188794 +$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, { + reverse: function reverse() { + // eslint-disable-next-line no-self-assign -- dirty hack + if (isArray(this)) this.length = this.length; + return nativeReverse(this); + } +}); + + +/***/ }), +/* 186 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isArray = __webpack_require__(88); +var isConstructor = __webpack_require__(89); +var isObject = __webpack_require__(20); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); +var toIndexedObject = __webpack_require__(12); +var createProperty = __webpack_require__(141); +var wellKnownSymbol = __webpack_require__(33); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); +var nativeSlice = __webpack_require__(76); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); + +var SPECIES = wellKnownSymbol('species'); +var $Array = Array; +var max = Math.max; + +// `Array.prototype.slice` method +// https://tc39.es/ecma262/#sec-array.prototype.slice +// fallback for not array-like ES3 strings and DOM objects +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + slice: function slice(start, end) { + var O = toIndexedObject(this); + var length = lengthOfArrayLike(O); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible + var Constructor, result, n; + if (isArray(O)) { + Constructor = O.constructor; + // cross-realm fallback + if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) { + Constructor = undefined; + } else if (isObject(Constructor)) { + Constructor = Constructor[SPECIES]; + if (Constructor === null) Constructor = undefined; + } + if (Constructor === $Array || Constructor === undefined) { + return nativeSlice(O, k, fin); + } + } + result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0)); + for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); + result.length = n; + return result; + } +}); + + +/***/ }), +/* 187 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $some = (__webpack_require__(83).some); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('some'); + +// `Array.prototype.some` method +// https://tc39.es/ecma262/#sec-array.prototype.some +$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { + some: function some(callbackfn /* , thisArg */) { + return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 188 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var deletePropertyOrThrow = __webpack_require__(145); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); +var internalSort = __webpack_require__(189); +var arrayMethodIsStrict = __webpack_require__(147); +var FF = __webpack_require__(190); +var IE_OR_EDGE = __webpack_require__(191); +var V8 = __webpack_require__(27); +var WEBKIT = __webpack_require__(192); + +var test = []; +var nativeSort = uncurryThis(test.sort); +var push = uncurryThis(test.push); + +// IE8- +var FAILS_ON_UNDEFINED = fails(function () { + test.sort(undefined); +}); +// V8 bug +var FAILS_ON_NULL = fails(function () { + test.sort(null); +}); +// Old WebKit +var STRICT_METHOD = arrayMethodIsStrict('sort'); + +var STABLE_SORT = !fails(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 70; + if (FF && FF > 3) return; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 603; + + var result = ''; + var code, chr, value, index; + + // generate an array with more 512 elements (Chakra and old V8 fails only in this case) + for (code = 65; code < 76; code++) { + chr = String.fromCharCode(code); + + switch (code) { + case 66: case 69: case 70: case 72: value = 3; break; + case 68: case 71: value = 4; break; + default: value = 2; + } + + for (index = 0; index < 47; index++) { + test.push({ k: chr + index, v: value }); + } + } + + test.sort(function (a, b) { return b.v - a.v; }); + + for (index = 0; index < test.length; index++) { + chr = test[index].k.charAt(0); + if (result.charAt(result.length - 1) !== chr) result += chr; + } + + return result !== 'DGBEFHACIJK'; +}); + +var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT; + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (y === undefined) return -1; + if (x === undefined) return 1; + if (comparefn !== undefined) return +comparefn(x, y) || 0; + return toString(x) > toString(y) ? 1 : -1; + }; +}; + +// `Array.prototype.sort` method +// https://tc39.es/ecma262/#sec-array.prototype.sort +$({ target: 'Array', proto: true, forced: FORCED }, { + sort: function sort(comparefn) { + if (comparefn !== undefined) aCallable(comparefn); + + var array = toObject(this); + + if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn); + + var items = []; + var arrayLength = lengthOfArrayLike(array); + var itemsLength, index; + + for (index = 0; index < arrayLength; index++) { + if (index in array) push(items, array[index]); + } + + internalSort(items, getSortCompare(comparefn)); + + itemsLength = lengthOfArrayLike(items); + index = 0; + + while (index < itemsLength) array[index] = items[index++]; + while (index < arrayLength) deletePropertyOrThrow(array, index++); + + return array; + } +}); + + +/***/ }), +/* 189 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arraySlice = __webpack_require__(76); + +var floor = Math.floor; + +var sort = function (array, comparefn) { + var length = array.length; + + if (length < 8) { + // insertion sort + var i = 1; + var element, j; + + while (i < length) { + j = i; + element = array[i]; + while (j && comparefn(array[j - 1], element) > 0) { + array[j] = array[--j]; + } + if (j !== i++) array[j] = element; + } + } else { + // merge sort + var middle = floor(length / 2); + var left = sort(arraySlice(array, 0, middle), comparefn); + var right = sort(arraySlice(array, middle), comparefn); + var llength = left.length; + var rlength = right.length; + var lindex = 0; + var rindex = 0; + + while (lindex < llength || rindex < rlength) { + array[lindex + rindex] = (lindex < llength && rindex < rlength) + ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++] + : lindex < llength ? left[lindex++] : right[rindex++]; + } + } + + return array; +}; + +module.exports = sort; + + +/***/ }), +/* 190 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +var firefox = userAgent.match(/firefox\/(\d+)/i); + +module.exports = !!firefox && +firefox[1]; + + +/***/ }), +/* 191 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var UA = __webpack_require__(28); + +module.exports = /MSIE|Trident/.test(UA); + + +/***/ }), +/* 192 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +var webkit = userAgent.match(/AppleWebKit\/(\d+)\./); + +module.exports = !!webkit && +webkit[1]; + + +/***/ }), +/* 193 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var setSpecies = __webpack_require__(194); + +// `Array[@@species]` getter +// https://tc39.es/ecma262/#sec-get-array-@@species +setSpecies('Array'); + + +/***/ }), +/* 194 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var defineBuiltInAccessor = __webpack_require__(77); +var wellKnownSymbol = __webpack_require__(33); +var DESCRIPTORS = __webpack_require__(6); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (CONSTRUCTOR_NAME) { + var Constructor = getBuiltIn(CONSTRUCTOR_NAME); + + if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { + defineBuiltInAccessor(Constructor, SPECIES, { + configurable: true, + get: function () { return this; } + }); + } +}; + + +/***/ }), +/* 195 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var toIntegerOrInfinity = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var doesNotExceedSafeInteger = __webpack_require__(140); +var arraySpeciesCreate = __webpack_require__(86); +var createProperty = __webpack_require__(141); +var deletePropertyOrThrow = __webpack_require__(145); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice'); + +var max = Math.max; +var min = Math.min; + +// `Array.prototype.splice` method +// https://tc39.es/ecma262/#sec-array.prototype.splice +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + splice: function splice(start, deleteCount /* , ...items */) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.length; + var insertCount, actualDeleteCount, A, k, from, to; + if (argumentsLength === 0) { + insertCount = actualDeleteCount = 0; + } else if (argumentsLength === 1) { + insertCount = 0; + actualDeleteCount = len - actualStart; + } else { + insertCount = argumentsLength - 2; + actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + } + doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); + A = arraySpeciesCreate(O, actualDeleteCount); + for (k = 0; k < actualDeleteCount; k++) { + from = actualStart + k; + if (from in O) createProperty(A, k, O[from]); + } + A.length = actualDeleteCount; + if (insertCount < actualDeleteCount) { + for (k = actualStart; k < len - actualDeleteCount; k++) { + from = k + actualDeleteCount; + to = k + insertCount; + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + } + for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1); + } else if (insertCount > actualDeleteCount) { + for (k = len - actualDeleteCount; k > actualStart; k--) { + from = k + actualDeleteCount - 1; + to = k + insertCount - 1; + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + } + } + for (k = 0; k < insertCount; k++) { + O[k + actualStart] = arguments[k + 2]; + } + setArrayLength(O, len - actualDeleteCount + insertCount); + return A; + } +}); + + +/***/ }), +/* 196 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var arrayToReversed = __webpack_require__(197); +var toIndexedObject = __webpack_require__(12); +var addToUnscopables = __webpack_require__(138); + +var $Array = Array; + +// `Array.prototype.toReversed` method +// https://tc39.es/ecma262/#sec-array.prototype.toreversed +$({ target: 'Array', proto: true }, { + toReversed: function toReversed() { + return arrayToReversed(toIndexedObject(this), $Array); + } +}); + +addToUnscopables('toReversed'); + + +/***/ }), +/* 197 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); + +// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed +// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed +module.exports = function (O, C) { + var len = lengthOfArrayLike(O); + var A = new C(len); + var k = 0; + for (; k < len; k++) A[k] = O[len - k - 1]; + return A; +}; + + +/***/ }), +/* 198 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var toIndexedObject = __webpack_require__(12); +var arrayFromConstructorAndList = __webpack_require__(199); +var getBuiltInPrototypeMethod = __webpack_require__(200); +var addToUnscopables = __webpack_require__(138); + +var $Array = Array; +var sort = uncurryThis(getBuiltInPrototypeMethod('Array', 'sort')); + +// `Array.prototype.toSorted` method +// https://tc39.es/ecma262/#sec-array.prototype.tosorted +$({ target: 'Array', proto: true }, { + toSorted: function toSorted(compareFn) { + if (compareFn !== undefined) aCallable(compareFn); + var O = toIndexedObject(this); + var A = arrayFromConstructorAndList($Array, O); + return sort(A, compareFn); + } +}); + +addToUnscopables('toSorted'); + + +/***/ }), +/* 199 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); + +module.exports = function (Constructor, list, $length) { + var index = 0; + var length = arguments.length > 2 ? $length : lengthOfArrayLike(list); + var result = new Constructor(length); + while (length > index) result[index] = list[index++]; + return result; +}; + + +/***/ }), +/* 200 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = function (CONSTRUCTOR, METHOD) { + var Constructor = globalThis[CONSTRUCTOR]; + var Prototype = Constructor && Constructor.prototype; + return Prototype && Prototype[METHOD]; +}; + + +/***/ }), +/* 201 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var addToUnscopables = __webpack_require__(138); +var doesNotExceedSafeInteger = __webpack_require__(140); +var lengthOfArrayLike = __webpack_require__(63); +var toAbsoluteIndex = __webpack_require__(60); +var toIndexedObject = __webpack_require__(12); +var toIntegerOrInfinity = __webpack_require__(61); + +var $Array = Array; +var max = Math.max; +var min = Math.min; + +// `Array.prototype.toSpliced` method +// https://tc39.es/ecma262/#sec-array.prototype.tospliced +$({ target: 'Array', proto: true }, { + toSpliced: function toSpliced(start, deleteCount /* , ...items */) { + var O = toIndexedObject(this); + var len = lengthOfArrayLike(O); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.length; + var k = 0; + var insertCount, actualDeleteCount, newLen, A; + if (argumentsLength === 0) { + insertCount = actualDeleteCount = 0; + } else if (argumentsLength === 1) { + insertCount = 0; + actualDeleteCount = len - actualStart; + } else { + insertCount = argumentsLength - 2; + actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + } + newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); + A = $Array(newLen); + + for (; k < actualStart; k++) A[k] = O[k]; + for (; k < actualStart + insertCount; k++) A[k] = arguments[k - actualStart + 2]; + for (; k < newLen; k++) A[k] = O[k + actualDeleteCount - insertCount]; + + return A; + } +}); + +addToUnscopables('toSpliced'); + + +/***/ }), +/* 202 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = __webpack_require__(138); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('flat'); + + +/***/ }), +/* 203 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = __webpack_require__(138); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('flatMap'); + + +/***/ }), +/* 204 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var deletePropertyOrThrow = __webpack_require__(145); +var doesNotExceedSafeInteger = __webpack_require__(140); + +// IE8- +var INCORRECT_RESULT = [].unshift(0) !== 1; + +// V8 ~ Chrome < 71 and Safari <= 15.4, FF < 23 throws InternalError +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).unshift(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_RESULT || !properErrorOnNonWritableLength(); + +// `Array.prototype.unshift` method +// https://tc39.es/ecma262/#sec-array.prototype.unshift +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + unshift: function unshift(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + if (argCount) { + doesNotExceedSafeInteger(len + argCount); + var k = len; + while (k--) { + var to = k + argCount; + if (k in O) O[to] = O[k]; + else deletePropertyOrThrow(O, to); + } + for (var j = 0; j < argCount; j++) { + O[j] = arguments[j]; + } + } return setArrayLength(O, len + argCount); + } +}); + + +/***/ }), +/* 205 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var arrayWith = __webpack_require__(206); +var toIndexedObject = __webpack_require__(12); + +var $Array = Array; + +// `Array.prototype.with` method +// https://tc39.es/ecma262/#sec-array.prototype.with +$({ target: 'Array', proto: true }, { + 'with': function (index, value) { + return arrayWith(toIndexedObject(this), $Array, index, value); + } +}); + + +/***/ }), +/* 206 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); + +var $RangeError = RangeError; + +// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with +// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with +module.exports = function (O, C, index, value) { + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex; + if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index'); + var A = new C(len); + var k = 0; + for (; k < len; k++) A[k] = k === actualIndex ? value : O[k]; + return A; +}; + + +/***/ }), +/* 207 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var arrayBufferModule = __webpack_require__(208); +var setSpecies = __webpack_require__(194); + +var ARRAY_BUFFER = 'ArrayBuffer'; +var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER]; +var NativeArrayBuffer = globalThis[ARRAY_BUFFER]; + +// `ArrayBuffer` constructor +// https://tc39.es/ecma262/#sec-arraybuffer-constructor +$({ global: true, constructor: true, forced: NativeArrayBuffer !== ArrayBuffer }, { + ArrayBuffer: ArrayBuffer +}); + +setSpecies(ARRAY_BUFFER); + + +/***/ }), +/* 208 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var DESCRIPTORS = __webpack_require__(6); +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); +var FunctionName = __webpack_require__(49); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var fails = __webpack_require__(7); +var anInstance = __webpack_require__(211); +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); +var toIndex = __webpack_require__(212); +var fround = __webpack_require__(213); +var IEEE754 = __webpack_require__(216); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var arrayFill = __webpack_require__(149); +var arraySlice = __webpack_require__(76); +var inheritIfRequired = __webpack_require__(118); +var copyConstructorProperties = __webpack_require__(55); +var setToStringTag = __webpack_require__(82); +var InternalStateModule = __webpack_require__(51); + +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +var ARRAY_BUFFER = 'ArrayBuffer'; +var DATA_VIEW = 'DataView'; +var PROTOTYPE = 'prototype'; +var WRONG_LENGTH = 'Wrong length'; +var WRONG_INDEX = 'Wrong index'; +var getInternalArrayBufferState = InternalStateModule.getterFor(ARRAY_BUFFER); +var getInternalDataViewState = InternalStateModule.getterFor(DATA_VIEW); +var setInternalState = InternalStateModule.set; +var NativeArrayBuffer = globalThis[ARRAY_BUFFER]; +var $ArrayBuffer = NativeArrayBuffer; +var ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE]; +var $DataView = globalThis[DATA_VIEW]; +var DataViewPrototype = $DataView && $DataView[PROTOTYPE]; +var ObjectPrototype = Object.prototype; +var Array = globalThis.Array; +var RangeError = globalThis.RangeError; +var fill = uncurryThis(arrayFill); +var reverse = uncurryThis([].reverse); + +var packIEEE754 = IEEE754.pack; +var unpackIEEE754 = IEEE754.unpack; + +var packInt8 = function (number) { + return [number & 0xFF]; +}; + +var packInt16 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF]; +}; + +var packInt32 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF]; +}; + +var unpackInt32 = function (buffer) { + return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0]; +}; + +var packFloat32 = function (number) { + return packIEEE754(fround(number), 23, 4); +}; + +var packFloat64 = function (number) { + return packIEEE754(number, 52, 8); +}; + +var addGetter = function (Constructor, key, getInternalState) { + defineBuiltInAccessor(Constructor[PROTOTYPE], key, { + configurable: true, + get: function () { + return getInternalState(this)[key]; + } + }); +}; + +var get = function (view, count, index, isLittleEndian) { + var store = getInternalDataViewState(view); + var intIndex = toIndex(index); + var boolIsLittleEndian = !!isLittleEndian; + if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX); + var bytes = store.bytes; + var start = intIndex + store.byteOffset; + var pack = arraySlice(bytes, start, start + count); + return boolIsLittleEndian ? pack : reverse(pack); +}; + +var set = function (view, count, index, conversion, value, isLittleEndian) { + var store = getInternalDataViewState(view); + var intIndex = toIndex(index); + var pack = conversion(+value); + var boolIsLittleEndian = !!isLittleEndian; + if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX); + var bytes = store.bytes; + var start = intIndex + store.byteOffset; + for (var i = 0; i < count; i++) bytes[start + i] = pack[boolIsLittleEndian ? i : count - i - 1]; +}; + +if (!NATIVE_ARRAY_BUFFER) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, ArrayBufferPrototype); + var byteLength = toIndex(length); + setInternalState(this, { + type: ARRAY_BUFFER, + bytes: fill(Array(byteLength), 0), + byteLength: byteLength + }); + if (!DESCRIPTORS) { + this.byteLength = byteLength; + this.detached = false; + } + }; + + ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE]; + + $DataView = function DataView(buffer, byteOffset, byteLength) { + anInstance(this, DataViewPrototype); + anInstance(buffer, ArrayBufferPrototype); + var bufferState = getInternalArrayBufferState(buffer); + var bufferLength = bufferState.byteLength; + var offset = toIntegerOrInfinity(byteOffset); + if (offset < 0 || offset > bufferLength) throw new RangeError('Wrong offset'); + byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); + if (offset + byteLength > bufferLength) throw new RangeError(WRONG_LENGTH); + setInternalState(this, { + type: DATA_VIEW, + buffer: buffer, + byteLength: byteLength, + byteOffset: offset, + bytes: bufferState.bytes + }); + if (!DESCRIPTORS) { + this.buffer = buffer; + this.byteLength = byteLength; + this.byteOffset = offset; + } + }; + + DataViewPrototype = $DataView[PROTOTYPE]; + + if (DESCRIPTORS) { + addGetter($ArrayBuffer, 'byteLength', getInternalArrayBufferState); + addGetter($DataView, 'buffer', getInternalDataViewState); + addGetter($DataView, 'byteLength', getInternalDataViewState); + addGetter($DataView, 'byteOffset', getInternalDataViewState); + } + + defineBuiltIns(DataViewPrototype, { + getInt8: function getInt8(byteOffset) { + return get(this, 1, byteOffset)[0] << 24 >> 24; + }, + getUint8: function getUint8(byteOffset) { + return get(this, 1, byteOffset)[0]; + }, + getInt16: function getInt16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false); + return (bytes[1] << 8 | bytes[0]) << 16 >> 16; + }, + getUint16: function getUint16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false); + return bytes[1] << 8 | bytes[0]; + }, + getInt32: function getInt32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)); + }, + getUint32: function getUint32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)) >>> 0; + }, + getFloat32: function getFloat32(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false), 23); + }, + getFloat64: function getFloat64(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : false), 52); + }, + setInt8: function setInt8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setUint8: function setUint8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setInt16: function setInt16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false); + }, + setUint16: function setUint16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false); + }, + setInt32: function setInt32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false); + }, + setUint32: function setUint32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false); + }, + setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : false); + }, + setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { + set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : false); + } + }); +} else { + var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER; + /* eslint-disable no-new, sonarjs/inconsistent-function-call -- required for testing */ + if (!fails(function () { + NativeArrayBuffer(1); + }) || !fails(function () { + new NativeArrayBuffer(-1); + }) || fails(function () { + new NativeArrayBuffer(); + new NativeArrayBuffer(1.5); + new NativeArrayBuffer(NaN); + return NativeArrayBuffer.length !== 1 || INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME; + })) { + /* eslint-enable no-new, sonarjs/inconsistent-function-call -- required for testing */ + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, ArrayBufferPrototype); + return inheritIfRequired(new NativeArrayBuffer(toIndex(length)), this, $ArrayBuffer); + }; + + $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype; + + ArrayBufferPrototype.constructor = $ArrayBuffer; + + copyConstructorProperties($ArrayBuffer, NativeArrayBuffer); + } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER); + } + + // WebKit bug - the same parent prototype for typed arrays and data view + if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) { + setPrototypeOf(DataViewPrototype, ObjectPrototype); + } + + // iOS Safari 7.x bug + var testView = new $DataView(new $ArrayBuffer(2)); + var $setInt8 = uncurryThis(DataViewPrototype.setInt8); + testView.setInt8(0, 2147483648); + testView.setInt8(1, 2147483649); + if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, { + setInt8: function setInt8(byteOffset, value) { + $setInt8(this, byteOffset, value << 24 >> 24); + }, + setUint8: function setUint8(byteOffset, value) { + $setInt8(this, byteOffset, value << 24 >> 24); + } + }, { unsafe: true }); +} + +setToStringTag($ArrayBuffer, ARRAY_BUFFER); +setToStringTag($DataView, DATA_VIEW); + +module.exports = { + ArrayBuffer: $ArrayBuffer, + DataView: $DataView +}; + + +/***/ }), +/* 209 */ +/***/ (function(module) { + + +// eslint-disable-next-line es/no-typed-arrays -- safe +module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; + + +/***/ }), +/* 210 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); + +module.exports = function (target, src, options) { + for (var key in src) defineBuiltIn(target, key, src[key], options); + return target; +}; + + +/***/ }), +/* 211 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isPrototypeOf = __webpack_require__(24); + +var $TypeError = TypeError; + +module.exports = function (it, Prototype) { + if (isPrototypeOf(Prototype, it)) return it; + throw new $TypeError('Incorrect invocation'); +}; + + +/***/ }), +/* 212 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); + +var $RangeError = RangeError; + +// `ToIndex` abstract operation +// https://tc39.es/ecma262/#sec-toindex +module.exports = function (it) { + if (it === undefined) return 0; + var number = toIntegerOrInfinity(it); + var length = toLength(number); + if (number !== length) throw new $RangeError('Wrong length or index'); + return length; +}; + + +/***/ }), +/* 213 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var floatRound = __webpack_require__(214); + +var FLOAT32_EPSILON = 1.1920928955078125e-7; // 2 ** -23; +var FLOAT32_MAX_VALUE = 3.4028234663852886e+38; // 2 ** 128 - 2 ** 104 +var FLOAT32_MIN_VALUE = 1.1754943508222875e-38; // 2 ** -126; + +// `Math.fround` method implementation +// https://tc39.es/ecma262/#sec-math.fround +// eslint-disable-next-line es/no-math-fround -- safe +module.exports = Math.fround || function fround(x) { + return floatRound(x, FLOAT32_EPSILON, FLOAT32_MAX_VALUE, FLOAT32_MIN_VALUE); +}; + + +/***/ }), +/* 214 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var sign = __webpack_require__(215); + +var abs = Math.abs; + +var EPSILON = 2.220446049250313e-16; // Number.EPSILON +var INVERSE_EPSILON = 1 / EPSILON; + +var roundTiesToEven = function (n) { + return n + INVERSE_EPSILON - INVERSE_EPSILON; +}; + +module.exports = function (x, FLOAT_EPSILON, FLOAT_MAX_VALUE, FLOAT_MIN_VALUE) { + var n = +x; + var absolute = abs(n); + var s = sign(n); + if (absolute < FLOAT_MIN_VALUE) return s * roundTiesToEven(absolute / FLOAT_MIN_VALUE / FLOAT_EPSILON) * FLOAT_MIN_VALUE * FLOAT_EPSILON; + var a = (1 + FLOAT_EPSILON / EPSILON) * absolute; + var result = a - (a - absolute); + // eslint-disable-next-line no-self-compare -- NaN check + if (result > FLOAT_MAX_VALUE || result !== result) return s * Infinity; + return s * result; +}; + + +/***/ }), +/* 215 */ +/***/ (function(module) { + + +// `Math.sign` method implementation +// https://tc39.es/ecma262/#sec-math.sign +// eslint-disable-next-line es/no-math-sign -- safe +module.exports = Math.sign || function sign(x) { + var n = +x; + // eslint-disable-next-line no-self-compare -- NaN check + return n === 0 || n !== n ? n : n < 0 ? -1 : 1; +}; + + +/***/ }), +/* 216 */ +/***/ (function(module) { + + +// IEEE754 conversions based on https://github.com/feross/ieee754 +var $Array = Array; +var abs = Math.abs; +var pow = Math.pow; +var floor = Math.floor; +var log = Math.log; +var LN2 = Math.LN2; + +var pack = function (number, mantissaLength, bytes) { + var buffer = $Array(bytes); + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0; + var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0; + var index = 0; + var exponent, mantissa, c; + number = abs(number); + // eslint-disable-next-line no-self-compare -- NaN check + if (number !== number || number === Infinity) { + // eslint-disable-next-line no-self-compare -- NaN check + mantissa = number !== number ? 1 : 0; + exponent = eMax; + } else { + exponent = floor(log(number) / LN2); + c = pow(2, -exponent); + if (number * c < 1) { + exponent--; + c *= 2; + } + if (exponent + eBias >= 1) { + number += rt / c; + } else { + number += rt * pow(2, 1 - eBias); + } + if (number * c >= 2) { + exponent++; + c /= 2; + } + if (exponent + eBias >= eMax) { + mantissa = 0; + exponent = eMax; + } else if (exponent + eBias >= 1) { + mantissa = (number * c - 1) * pow(2, mantissaLength); + exponent += eBias; + } else { + mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength); + exponent = 0; + } + } + while (mantissaLength >= 8) { + buffer[index++] = mantissa & 255; + mantissa /= 256; + mantissaLength -= 8; + } + exponent = exponent << mantissaLength | mantissa; + exponentLength += mantissaLength; + while (exponentLength > 0) { + buffer[index++] = exponent & 255; + exponent /= 256; + exponentLength -= 8; + } + buffer[index - 1] |= sign * 128; + return buffer; +}; + +var unpack = function (buffer, mantissaLength) { + var bytes = buffer.length; + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var nBits = exponentLength - 7; + var index = bytes - 1; + var sign = buffer[index--]; + var exponent = sign & 127; + var mantissa; + sign >>= 7; + while (nBits > 0) { + exponent = exponent * 256 + buffer[index--]; + nBits -= 8; + } + mantissa = exponent & (1 << -nBits) - 1; + exponent >>= -nBits; + nBits += mantissaLength; + while (nBits > 0) { + mantissa = mantissa * 256 + buffer[index--]; + nBits -= 8; + } + if (exponent === 0) { + exponent = 1 - eBias; + } else if (exponent === eMax) { + return mantissa ? NaN : sign ? -Infinity : Infinity; + } else { + mantissa += pow(2, mantissaLength); + exponent -= eBias; + } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength); +}; + +module.exports = { + pack: pack, + unpack: unpack +}; + + +/***/ }), +/* 217 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ArrayBufferViewCore = __webpack_require__(218); + +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; + +// `ArrayBuffer.isView` method +// https://tc39.es/ecma262/#sec-arraybuffer.isview +$({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + isView: ArrayBufferViewCore.isView +}); + + +/***/ }), +/* 218 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var classof = __webpack_require__(69); +var tryToString = __webpack_require__(31); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var isPrototypeOf = __webpack_require__(24); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var wellKnownSymbol = __webpack_require__(33); +var uid = __webpack_require__(40); +var InternalStateModule = __webpack_require__(51); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var Int8Array = globalThis.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var Uint8ClampedArray = globalThis.Uint8ClampedArray; +var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; +var TypedArray = Int8Array && getPrototypeOf(Int8Array); +var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype); +var ObjectPrototype = Object.prototype; +var TypeError = globalThis.TypeError; + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); +var TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor'; +// Fixing native typed arrays in Opera Presto crashes the browser, see #595 +var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(globalThis.opera) !== 'Opera'; +var TYPED_ARRAY_TAG_REQUIRED = false; +var NAME, Constructor, Prototype; + +var TypedArrayConstructorsList = { + Int8Array: 1, + Uint8Array: 1, + Uint8ClampedArray: 1, + Int16Array: 2, + Uint16Array: 2, + Int32Array: 4, + Uint32Array: 4, + Float32Array: 4, + Float64Array: 8 +}; + +var BigIntArrayConstructorsList = { + BigInt64Array: 8, + BigUint64Array: 8 +}; + +var isView = function isView(it) { + if (!isObject(it)) return false; + var klass = classof(it); + return klass === 'DataView' + || hasOwn(TypedArrayConstructorsList, klass) + || hasOwn(BigIntArrayConstructorsList, klass); +}; + +var getTypedArrayConstructor = function (it) { + var proto = getPrototypeOf(it); + if (!isObject(proto)) return; + var state = getInternalState(proto); + return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto); +}; + +var isTypedArray = function (it) { + if (!isObject(it)) return false; + var klass = classof(it); + return hasOwn(TypedArrayConstructorsList, klass) + || hasOwn(BigIntArrayConstructorsList, klass); +}; + +var aTypedArray = function (it) { + if (isTypedArray(it)) return it; + throw new TypeError('Target is not a typed array'); +}; + +var aTypedArrayConstructor = function (C) { + if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C; + throw new TypeError(tryToString(C) + ' is not a typed array constructor'); +}; + +var exportTypedArrayMethod = function (KEY, property, forced, options) { + if (!DESCRIPTORS) return; + if (forced) for (var ARRAY in TypedArrayConstructorsList) { + var TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try { + delete TypedArrayConstructor.prototype[KEY]; + } catch (error) { + // old WebKit bug - some methods are non-configurable + try { + TypedArrayConstructor.prototype[KEY] = property; + } catch (error2) { /* empty */ } + } + } + if (!TypedArrayPrototype[KEY] || forced) { + defineBuiltIn(TypedArrayPrototype, KEY, forced ? property + : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options); + } +}; + +var exportTypedArrayStaticMethod = function (KEY, property, forced) { + var ARRAY, TypedArrayConstructor; + if (!DESCRIPTORS) return; + if (setPrototypeOf) { + if (forced) for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try { + delete TypedArrayConstructor[KEY]; + } catch (error) { /* empty */ } + } + if (!TypedArray[KEY] || forced) { + // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable + try { + return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property); + } catch (error) { /* empty */ } + } else return; + } + for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { + defineBuiltIn(TypedArrayConstructor, KEY, property); + } + } +}; + +for (NAME in TypedArrayConstructorsList) { + Constructor = globalThis[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; + else NATIVE_ARRAY_BUFFER_VIEWS = false; +} + +for (NAME in BigIntArrayConstructorsList) { + Constructor = globalThis[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; +} + +// WebKit bug - typed arrays constructors prototype is Object.prototype +if (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) { + // eslint-disable-next-line no-shadow -- safe + TypedArray = function TypedArray() { + throw new TypeError('Incorrect invocation'); + }; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (globalThis[NAME]) setPrototypeOf(globalThis[NAME], TypedArray); + } +} + +if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) { + TypedArrayPrototype = TypedArray.prototype; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (globalThis[NAME]) setPrototypeOf(globalThis[NAME].prototype, TypedArrayPrototype); + } +} + +// WebKit bug - one more object in Uint8ClampedArray prototype chain +if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { + setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); +} + +if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) { + TYPED_ARRAY_TAG_REQUIRED = true; + defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, { + configurable: true, + get: function () { + return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; + } + }); + for (NAME in TypedArrayConstructorsList) if (globalThis[NAME]) { + createNonEnumerableProperty(globalThis[NAME], TYPED_ARRAY_TAG, NAME); + } +} + +module.exports = { + NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, + TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG, + aTypedArray: aTypedArray, + aTypedArrayConstructor: aTypedArrayConstructor, + exportTypedArrayMethod: exportTypedArrayMethod, + exportTypedArrayStaticMethod: exportTypedArrayStaticMethod, + getTypedArrayConstructor: getTypedArrayConstructor, + isView: isView, + isTypedArray: isTypedArray, + TypedArray: TypedArray, + TypedArrayPrototype: TypedArrayPrototype +}; + + +/***/ }), +/* 219 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var fails = __webpack_require__(7); +var ArrayBufferModule = __webpack_require__(208); +var anObject = __webpack_require__(46); +var toAbsoluteIndex = __webpack_require__(60); +var toLength = __webpack_require__(64); + +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var DataView = ArrayBufferModule.DataView; +var DataViewPrototype = DataView.prototype; +var nativeArrayBufferSlice = uncurryThis(ArrayBuffer.prototype.slice); +var getUint8 = uncurryThis(DataViewPrototype.getUint8); +var setUint8 = uncurryThis(DataViewPrototype.setUint8); + +var INCORRECT_SLICE = fails(function () { + return !new ArrayBuffer(2).slice(1, undefined).byteLength; +}); + +// `ArrayBuffer.prototype.slice` method +// https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice +$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, { + slice: function slice(start, end) { + if (nativeArrayBufferSlice && end === undefined) { + return nativeArrayBufferSlice(anObject(this), start); // FF fix + } + var length = anObject(this).byteLength; + var first = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + var result = new ArrayBuffer(toLength(fin - first)); + var viewSource = new DataView(this); + var viewTarget = new DataView(result); + var index = 0; + while (first < fin) { + setUint8(viewTarget, index++, getUint8(viewSource, first++)); + } return result; + } +}); + + +/***/ }), +/* 220 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(221); + + +/***/ }), +/* 221 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ArrayBufferModule = __webpack_require__(208); +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); + +// `DataView` constructor +// https://tc39.es/ecma262/#sec-dataview-constructor +$({ global: true, constructor: true, forced: !NATIVE_ARRAY_BUFFER }, { + DataView: ArrayBufferModule.DataView +}); + + +/***/ }), +/* 222 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var isDetached = __webpack_require__(223); + +var ArrayBufferPrototype = ArrayBuffer.prototype; + +// `ArrayBuffer.prototype.detached` getter +// https://tc39.es/ecma262/#sec-get-arraybuffer.prototype.detached +if (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) { + defineBuiltInAccessor(ArrayBufferPrototype, 'detached', { + configurable: true, + get: function detached() { + return isDetached(this); + } + }); +} + + +/***/ }), +/* 223 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(85); +var arrayBufferByteLength = __webpack_require__(224); + +var ArrayBuffer = globalThis.ArrayBuffer; +var ArrayBufferPrototype = ArrayBuffer && ArrayBuffer.prototype; +var slice = ArrayBufferPrototype && uncurryThis(ArrayBufferPrototype.slice); + +module.exports = function (O) { + if (arrayBufferByteLength(O) !== 0) return false; + if (!slice) return false; + try { + slice(O, 0, 0); + return false; + } catch (error) { + return true; + } +}; + + +/***/ }), +/* 224 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThisAccessor = __webpack_require__(114); +var classof = __webpack_require__(15); + +var ArrayBuffer = globalThis.ArrayBuffer; +var TypeError = globalThis.TypeError; + +// Includes +// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]). +// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception. +module.exports = ArrayBuffer && uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) { + if (classof(O) !== 'ArrayBuffer') throw new TypeError('ArrayBuffer expected'); + return O.byteLength; +}; + + +/***/ }), +/* 225 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $transfer = __webpack_require__(226); + +// `ArrayBuffer.prototype.transfer` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transfer: function transfer() { + return $transfer(this, arguments.length ? arguments[0] : undefined, true); + } +}); + + +/***/ }), +/* 226 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var uncurryThisAccessor = __webpack_require__(114); +var toIndex = __webpack_require__(212); +var notDetached = __webpack_require__(227); +var arrayBufferByteLength = __webpack_require__(224); +var detachTransferable = __webpack_require__(228); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var structuredClone = globalThis.structuredClone; +var ArrayBuffer = globalThis.ArrayBuffer; +var DataView = globalThis.DataView; +var min = Math.min; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataViewPrototype = DataView.prototype; +var slice = uncurryThis(ArrayBufferPrototype.slice); +var isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get'); +var maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get'); +var getInt8 = uncurryThis(DataViewPrototype.getInt8); +var setInt8 = uncurryThis(DataViewPrototype.setInt8); + +module.exports = (PROPER_STRUCTURED_CLONE_TRANSFER || detachTransferable) && function (arrayBuffer, newLength, preserveResizability) { + var byteLength = arrayBufferByteLength(arrayBuffer); + var newByteLength = newLength === undefined ? byteLength : toIndex(newLength); + var fixedLength = !isResizable || !isResizable(arrayBuffer); + var newBuffer; + notDetached(arrayBuffer); + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + arrayBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] }); + if (byteLength === newByteLength && (preserveResizability || fixedLength)) return arrayBuffer; + } + if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) { + newBuffer = slice(arrayBuffer, 0, newByteLength); + } else { + var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(arrayBuffer) } : undefined; + newBuffer = new ArrayBuffer(newByteLength, options); + var a = new DataView(arrayBuffer); + var b = new DataView(newBuffer); + var copyLength = min(newByteLength, byteLength); + for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i)); + } + if (!PROPER_STRUCTURED_CLONE_TRANSFER) detachTransferable(arrayBuffer); + return newBuffer; +}; + + +/***/ }), +/* 227 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isDetached = __webpack_require__(223); + +var $TypeError = TypeError; + +module.exports = function (it) { + if (isDetached(it)) throw new $TypeError('ArrayBuffer is detached'); + return it; +}; + + +/***/ }), +/* 228 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var getBuiltInNodeModule = __webpack_require__(229); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var structuredClone = globalThis.structuredClone; +var $ArrayBuffer = globalThis.ArrayBuffer; +var $MessageChannel = globalThis.MessageChannel; +var detach = false; +var WorkerThreads, channel, buffer, $detach; + +if (PROPER_STRUCTURED_CLONE_TRANSFER) { + detach = function (transferable) { + structuredClone(transferable, { transfer: [transferable] }); + }; +} else if ($ArrayBuffer) try { + if (!$MessageChannel) { + WorkerThreads = getBuiltInNodeModule('worker_threads'); + if (WorkerThreads) $MessageChannel = WorkerThreads.MessageChannel; + } + + if ($MessageChannel) { + channel = new $MessageChannel(); + buffer = new $ArrayBuffer(2); + + $detach = function (transferable) { + channel.port1.postMessage(null, [transferable]); + }; + + if (buffer.byteLength === 2) { + $detach(buffer); + if (buffer.byteLength === 0) detach = $detach; + } + } +} catch (error) { /* empty */ } + +module.exports = detach; + + +/***/ }), +/* 229 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var IS_NODE = __webpack_require__(182); + +module.exports = function (name) { + if (IS_NODE) { + try { + return globalThis.process.getBuiltinModule(name); + } catch (error) { /* empty */ } + try { + // eslint-disable-next-line no-new-func -- safe + return Function('return require("' + name + '")')(); + } catch (error) { /* empty */ } + } +}; + + +/***/ }), +/* 230 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var V8 = __webpack_require__(27); +var ENVIRONMENT = __webpack_require__(183); + +var structuredClone = globalThis.structuredClone; + +module.exports = !!structuredClone && !fails(function () { + // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if ((ENVIRONMENT === 'DENO' && V8 > 92) || (ENVIRONMENT === 'NODE' && V8 > 94) || (ENVIRONMENT === 'BROWSER' && V8 > 97)) return false; + var buffer = new ArrayBuffer(8); + var clone = structuredClone(buffer, { transfer: [buffer] }); + return buffer.byteLength !== 0 || clone.byteLength !== 8; +}); + + +/***/ }), +/* 231 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $transfer = __webpack_require__(226); + +// `ArrayBuffer.prototype.transferToFixedLength` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transferToFixedLength: function transferToFixedLength() { + return $transfer(this, arguments.length ? arguments[0] : undefined, false); + } +}); + + +/***/ }), +/* 232 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); + +// IE8- non-standard case +var FORCED = fails(function () { + // eslint-disable-next-line es/no-date-prototype-getyear-setyear -- detection + return new Date(16e11).getYear() !== 120; +}); + +var getFullYear = uncurryThis(Date.prototype.getFullYear); + +// `Date.prototype.getYear` method +// https://tc39.es/ecma262/#sec-date.prototype.getyear +$({ target: 'Date', proto: true, forced: FORCED }, { + getYear: function getYear() { + return getFullYear(this) - 1900; + } +}); + + +/***/ }), +/* 233 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); + +var $Date = Date; +var thisTimeValue = uncurryThis($Date.prototype.getTime); + +// `Date.now` method +// https://tc39.es/ecma262/#sec-date.now +$({ target: 'Date', stat: true }, { + now: function now() { + return thisTimeValue(new $Date()); + } +}); + + +/***/ }), +/* 234 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); + +var DatePrototype = Date.prototype; +var thisTimeValue = uncurryThis(DatePrototype.getTime); +var setFullYear = uncurryThis(DatePrototype.setFullYear); + +// `Date.prototype.setYear` method +// https://tc39.es/ecma262/#sec-date.prototype.setyear +$({ target: 'Date', proto: true }, { + setYear: function setYear(year) { + // validate + thisTimeValue(this); + var yi = toIntegerOrInfinity(year); + var yyyy = yi >= 0 && yi <= 99 ? yi + 1900 : yi; + return setFullYear(this, yyyy); + } +}); + + +/***/ }), +/* 235 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Date.prototype.toGMTString` method +// https://tc39.es/ecma262/#sec-date.prototype.togmtstring +$({ target: 'Date', proto: true }, { + toGMTString: Date.prototype.toUTCString +}); + + +/***/ }), +/* 236 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toISOString = __webpack_require__(237); + +// `Date.prototype.toISOString` method +// https://tc39.es/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit has a broken implementations +$({ target: 'Date', proto: true, forced: Date.prototype.toISOString !== toISOString }, { + toISOString: toISOString +}); + + +/***/ }), +/* 237 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var padStart = (__webpack_require__(238).start); + +var $RangeError = RangeError; +var $isFinite = isFinite; +var abs = Math.abs; +var DatePrototype = Date.prototype; +var nativeDateToISOString = DatePrototype.toISOString; +var thisTimeValue = uncurryThis(DatePrototype.getTime); +var getUTCDate = uncurryThis(DatePrototype.getUTCDate); +var getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear); +var getUTCHours = uncurryThis(DatePrototype.getUTCHours); +var getUTCMilliseconds = uncurryThis(DatePrototype.getUTCMilliseconds); +var getUTCMinutes = uncurryThis(DatePrototype.getUTCMinutes); +var getUTCMonth = uncurryThis(DatePrototype.getUTCMonth); +var getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds); + +// `Date.prototype.toISOString` method implementation +// https://tc39.es/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit fails here: +module.exports = (fails(function () { + return nativeDateToISOString.call(new Date(-5e13 - 1)) !== '0385-07-25T07:06:39.999Z'; +}) || !fails(function () { + nativeDateToISOString.call(new Date(NaN)); +})) ? function toISOString() { + if (!$isFinite(thisTimeValue(this))) throw new $RangeError('Invalid time value'); + var date = this; + var year = getUTCFullYear(date); + var milliseconds = getUTCMilliseconds(date); + var sign = year < 0 ? '-' : year > 9999 ? '+' : ''; + return sign + padStart(abs(year), sign ? 6 : 4, 0) + + '-' + padStart(getUTCMonth(date) + 1, 2, 0) + + '-' + padStart(getUTCDate(date), 2, 0) + + 'T' + padStart(getUTCHours(date), 2, 0) + + ':' + padStart(getUTCMinutes(date), 2, 0) + + ':' + padStart(getUTCSeconds(date), 2, 0) + + '.' + padStart(milliseconds, 3, 0) + + 'Z'; +} : nativeDateToISOString; + + +/***/ }), +/* 238 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// https://github.com/tc39/proposal-string-pad-start-end +var uncurryThis = __webpack_require__(14); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var $repeat = __webpack_require__(239); +var requireObjectCoercible = __webpack_require__(16); + +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); +var ceil = Math.ceil; + +// `String.prototype.{ padStart, padEnd }` methods implementation +var createMethod = function (IS_END) { + return function ($this, maxLength, fillString) { + var S = toString(requireObjectCoercible($this)); + var intMaxLength = toLength(maxLength); + var stringLength = S.length; + var fillStr = fillString === undefined ? ' ' : toString(fillString); + var fillLen, stringFiller; + if (intMaxLength <= stringLength || fillStr === '') return S; + fillLen = intMaxLength - stringLength; + stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen); + return IS_END ? S + stringFiller : stringFiller + S; + }; +}; + +module.exports = { + // `String.prototype.padStart` method + // https://tc39.es/ecma262/#sec-string.prototype.padstart + start: createMethod(false), + // `String.prototype.padEnd` method + // https://tc39.es/ecma262/#sec-string.prototype.padend + end: createMethod(true) +}; + + +/***/ }), +/* 239 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); + +var $RangeError = RangeError; + +// `String.prototype.repeat` method implementation +// https://tc39.es/ecma262/#sec-string.prototype.repeat +module.exports = function repeat(count) { + var str = toString(requireObjectCoercible(this)); + var result = ''; + var n = toIntegerOrInfinity(count); + if (n < 0 || n === Infinity) throw new $RangeError('Wrong number of repetitions'); + for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str; + return result; +}; + + +/***/ }), +/* 240 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toObject = __webpack_require__(39); +var toPrimitive = __webpack_require__(19); + +var FORCED = fails(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; +}); + +// `Date.prototype.toJSON` method +// https://tc39.es/ecma262/#sec-date.prototype.tojson +$({ target: 'Date', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O, 'number'); + return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); + } +}); + + +/***/ }), +/* 241 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var defineBuiltIn = __webpack_require__(47); +var dateToPrimitive = __webpack_require__(242); +var wellKnownSymbol = __webpack_require__(33); + +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +var DatePrototype = Date.prototype; + +// `Date.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive +if (!hasOwn(DatePrototype, TO_PRIMITIVE)) { + defineBuiltIn(DatePrototype, TO_PRIMITIVE, dateToPrimitive); +} + + +/***/ }), +/* 242 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var ordinaryToPrimitive = __webpack_require__(32); + +var $TypeError = TypeError; + +// `Date.prototype[@@toPrimitive](hint)` method implementation +// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive +module.exports = function (hint) { + anObject(this); + if (hint === 'string' || hint === 'default') hint = 'string'; + else if (hint !== 'number') throw new $TypeError('Incorrect hint'); + return ordinaryToPrimitive(this, hint); +}; + + +/***/ }), +/* 243 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var uncurryThis = __webpack_require__(14); +var defineBuiltIn = __webpack_require__(47); + +var DatePrototype = Date.prototype; +var INVALID_DATE = 'Invalid Date'; +var TO_STRING = 'toString'; +var nativeDateToString = uncurryThis(DatePrototype[TO_STRING]); +var thisTimeValue = uncurryThis(DatePrototype.getTime); + +// `Date.prototype.toString` method +// https://tc39.es/ecma262/#sec-date.prototype.tostring +if (String(new Date(NaN)) !== INVALID_DATE) { + defineBuiltIn(DatePrototype, TO_STRING, function toString() { + var value = thisTimeValue(this); + // eslint-disable-next-line no-self-compare -- NaN check + return value === value ? nativeDateToString(this) : INVALID_DATE; + }); +} + + +/***/ }), +/* 244 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); + +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var exec = uncurryThis(/./.exec); +var numberToString = uncurryThis(1.0.toString); +var toUpperCase = uncurryThis(''.toUpperCase); + +var raw = /[\w*+\-./@]/; + +var hex = function (code, length) { + var result = numberToString(code, 16); + while (result.length < length) result = '0' + result; + return result; +}; + +// `escape` method +// https://tc39.es/ecma262/#sec-escape-string +$({ global: true }, { + escape: function escape(string) { + var str = toString(string); + var result = ''; + var length = str.length; + var index = 0; + var chr, code; + while (index < length) { + chr = charAt(str, index++); + if (exec(raw, chr)) { + result += chr; + } else { + code = charCodeAt(chr, 0); + if (code < 256) { + result += '%' + hex(code, 2); + } else { + result += '%u' + toUpperCase(hex(code, 4)); + } + } + } return result; + } +}); + + +/***/ }), +/* 245 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var bind = __webpack_require__(246); + +// `Function.prototype.bind` method +// https://tc39.es/ecma262/#sec-function.prototype.bind +// eslint-disable-next-line es/no-function-prototype-bind -- detection +$({ target: 'Function', proto: true, forced: Function.bind !== bind }, { + bind: bind +}); + + +/***/ }), +/* 246 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var arraySlice = __webpack_require__(76); +var NATIVE_BIND = __webpack_require__(9); + +var $Function = Function; +var concat = uncurryThis([].concat); +var join = uncurryThis([].join); +var factories = {}; + +var construct = function (C, argsLength, args) { + if (!hasOwn(factories, argsLength)) { + var list = []; + var i = 0; + for (; i < argsLength; i++) list[i] = 'a[' + i + ']'; + factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')'); + } return factories[argsLength](C, args); +}; + +// `Function.prototype.bind` method implementation +// https://tc39.es/ecma262/#sec-function.prototype.bind +// eslint-disable-next-line es/no-function-prototype-bind -- detection +module.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) { + var F = aCallable(this); + var Prototype = F.prototype; + var partArgs = arraySlice(arguments, 1); + var boundFunction = function bound(/* args... */) { + var args = concat(partArgs, arraySlice(arguments)); + return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args); + }; + if (isObject(Prototype)) boundFunction.prototype = Prototype; + return boundFunction; +}; + + +/***/ }), +/* 247 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var definePropertyModule = __webpack_require__(44); +var isPrototypeOf = __webpack_require__(24); +var wellKnownSymbol = __webpack_require__(33); +var makeBuiltIn = __webpack_require__(48); + +var HAS_INSTANCE = wellKnownSymbol('hasInstance'); +var FunctionPrototype = Function.prototype; + +// `Function.prototype[@@hasInstance]` method +// https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance +if (!(HAS_INSTANCE in FunctionPrototype)) { + definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: makeBuiltIn(function (O) { + if (!isCallable(this) || !isObject(O)) return false; + var P = this.prototype; + return isObject(P) ? isPrototypeOf(P, O) : O instanceof this; + }, HAS_INSTANCE) }); +} + + +/***/ }), +/* 248 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var FUNCTION_NAME_EXISTS = (__webpack_require__(49).EXISTS); +var uncurryThis = __webpack_require__(14); +var defineBuiltInAccessor = __webpack_require__(77); + +var FunctionPrototype = Function.prototype; +var functionToString = uncurryThis(FunctionPrototype.toString); +var nameRE = /function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/; +var regExpExec = uncurryThis(nameRE.exec); +var NAME = 'name'; + +// Function instances `.name` property +// https://tc39.es/ecma262/#sec-function-instances-name +if (DESCRIPTORS && !FUNCTION_NAME_EXISTS) { + defineBuiltInAccessor(FunctionPrototype, NAME, { + configurable: true, + get: function () { + try { + return regExpExec(nameRE, functionToString(this))[1]; + } catch (error) { + return ''; + } + } + }); +} + + +/***/ }), +/* 249 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); + +// `globalThis` object +// https://tc39.es/ecma262/#sec-globalthis +$({ global: true, forced: globalThis.globalThis !== globalThis }, { + globalThis: globalThis +}); + + +/***/ }), +/* 250 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var getPrototypeOf = __webpack_require__(128); +var defineBuiltInAccessor = __webpack_require__(77); +var createProperty = __webpack_require__(141); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var wellKnownSymbol = __webpack_require__(33); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var CONSTRUCTOR = 'constructor'; +var ITERATOR = 'Iterator'; +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +var $TypeError = TypeError; +var NativeIterator = globalThis[ITERATOR]; + +// FF56- have non-standard global helper `Iterator` +var FORCED = IS_PURE + || !isCallable(NativeIterator) + || NativeIterator.prototype !== IteratorPrototype + // FF44- non-standard `Iterator` passes previous tests + || !fails(function () { NativeIterator({}); }); + +var IteratorConstructor = function Iterator() { + anInstance(this, IteratorPrototype); + if (getPrototypeOf(this) === IteratorPrototype) throw new $TypeError('Abstract class Iterator not directly constructable'); +}; + +var defineIteratorPrototypeAccessor = function (key, value) { + if (DESCRIPTORS) { + defineBuiltInAccessor(IteratorPrototype, key, { + configurable: true, + get: function () { + return value; + }, + set: function (replacement) { + anObject(this); + if (this === IteratorPrototype) throw new $TypeError("You can't redefine this property"); + if (hasOwn(this, key)) this[key] = replacement; + else createProperty(this, key, replacement); + } + }); + } else IteratorPrototype[key] = value; +}; + +if (!hasOwn(IteratorPrototype, TO_STRING_TAG)) defineIteratorPrototypeAccessor(TO_STRING_TAG, ITERATOR); + +if (FORCED || !hasOwn(IteratorPrototype, CONSTRUCTOR) || IteratorPrototype[CONSTRUCTOR] === Object) { + defineIteratorPrototypeAccessor(CONSTRUCTOR, IteratorConstructor); +} + +IteratorConstructor.prototype = IteratorPrototype; + +// `Iterator` constructor +// https://tc39.es/ecma262/#sec-iterator +$({ global: true, constructor: true, forced: FORCED }, { + Iterator: IteratorConstructor +}); + + +/***/ }), +/* 251 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var notANaN = __webpack_require__(253); +var toPositiveInteger = __webpack_require__(254); +var createIteratorProxy = __webpack_require__(255); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var next = this.next; + var result, done; + while (this.remaining) { + this.remaining--; + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (done) return; + } + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (!done) return result.value; +}); + +// `Iterator.prototype.drop` method +// https://tc39.es/ecma262/#sec-iterator.prototype.drop +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + drop: function drop(limit) { + anObject(this); + var remaining = toPositiveInteger(notANaN(+limit)); + return new IteratorProxy(getIteratorDirect(this), { + remaining: remaining + }); + } +}); + + +/***/ }), +/* 252 */ +/***/ (function(module) { + + +// `GetIteratorDirect(obj)` abstract operation +// https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect +module.exports = function (obj) { + return { + iterator: obj, + next: obj.next, + done: false + }; +}; + + +/***/ }), +/* 253 */ +/***/ (function(module) { + + +var $RangeError = RangeError; + +module.exports = function (it) { + // eslint-disable-next-line no-self-compare -- NaN check + if (it === it) return it; + throw new $RangeError('NaN is not allowed'); +}; + + +/***/ }), +/* 254 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var $RangeError = RangeError; + +module.exports = function (it) { + var result = toIntegerOrInfinity(it); + if (result < 0) throw new $RangeError("The argument can't be less than 0"); + return result; +}; + + +/***/ }), +/* 255 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var create = __webpack_require__(71); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIns = __webpack_require__(210); +var wellKnownSymbol = __webpack_require__(33); +var InternalStateModule = __webpack_require__(51); +var getMethod = __webpack_require__(29); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var createIterResultObject = __webpack_require__(172); +var iteratorClose = __webpack_require__(135); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var ITERATOR_HELPER = 'IteratorHelper'; +var WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator'; +var setInternalState = InternalStateModule.set; + +var createIteratorProxyPrototype = function (IS_ITERATOR) { + var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER); + + return defineBuiltIns(create(IteratorPrototype), { + next: function next() { + var state = getInternalState(this); + // for simplification: + // for `%WrapForValidIteratorPrototype%.next` our `nextHandler` returns `IterResultObject` + // for `%IteratorHelperPrototype%.next` - just a value + if (IS_ITERATOR) return state.nextHandler(); + try { + var result = state.done ? undefined : state.nextHandler(); + return createIterResultObject(result, state.done); + } catch (error) { + state.done = true; + throw error; + } + }, + 'return': function () { + var state = getInternalState(this); + var iterator = state.iterator; + state.done = true; + if (IS_ITERATOR) { + var returnMethod = getMethod(iterator, 'return'); + return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true); + } + if (state.inner) try { + iteratorClose(state.inner.iterator, 'normal'); + } catch (error) { + return iteratorClose(iterator, 'throw', error); + } + if (iterator) iteratorClose(iterator, 'normal'); + return createIterResultObject(undefined, true); + } + }); +}; + +var WrapForValidIteratorPrototype = createIteratorProxyPrototype(true); +var IteratorHelperPrototype = createIteratorProxyPrototype(false); + +createNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper'); + +module.exports = function (nextHandler, IS_ITERATOR) { + var IteratorProxy = function Iterator(record, state) { + if (state) { + state.iterator = record.iterator; + state.next = record.next; + } else state = record; + state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER; + state.nextHandler = nextHandler; + state.counter = 0; + state.done = false; + setInternalState(this, state); + }; + + IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype; + + return IteratorProxy; +}; + + +/***/ }), +/* 256 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.every` method +// https://tc39.es/ecma262/#sec-iterator.prototype.every +$({ target: 'Iterator', proto: true, real: true }, { + every: function every(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return !iterate(record, function (value, stop) { + if (!predicate(value, counter++)) return stop(); + }, { IS_RECORD: true, INTERRUPTED: true }).stopped; + } +}); + + +/***/ }), +/* 257 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var createIteratorProxy = __webpack_require__(255); +var callWithSafeIterationClosing = __webpack_require__(163); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var predicate = this.predicate; + var next = this.next; + var result, done, value; + while (true) { + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (done) return; + value = result.value; + if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) return value; + } +}); + +// `Iterator.prototype.filter` method +// https://tc39.es/ecma262/#sec-iterator.prototype.filter +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + filter: function filter(predicate) { + anObject(this); + aCallable(predicate); + return new IteratorProxy(getIteratorDirect(this), { + predicate: predicate + }); + } +}); + + +/***/ }), +/* 258 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.find` method +// https://tc39.es/ecma262/#sec-iterator.prototype.find +$({ target: 'Iterator', proto: true, real: true }, { + find: function find(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return iterate(record, function (value, stop) { + if (predicate(value, counter++)) return stop(value); + }, { IS_RECORD: true, INTERRUPTED: true }).result; + } +}); + + +/***/ }), +/* 259 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var getIteratorFlattenable = __webpack_require__(260); +var createIteratorProxy = __webpack_require__(255); +var iteratorClose = __webpack_require__(135); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var mapper = this.mapper; + var result, inner; + + while (true) { + if (inner = this.inner) try { + result = anObject(call(inner.next, inner.iterator)); + if (!result.done) return result.value; + this.inner = null; + } catch (error) { iteratorClose(iterator, 'throw', error); } + + result = anObject(call(this.next, iterator)); + + if (this.done = !!result.done) return; + + try { + this.inner = getIteratorFlattenable(mapper(result.value, this.counter++), false); + } catch (error) { iteratorClose(iterator, 'throw', error); } + } +}); + +// `Iterator.prototype.flatMap` method +// https://tc39.es/ecma262/#sec-iterator.prototype.flatmap +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + flatMap: function flatMap(mapper) { + anObject(this); + aCallable(mapper); + return new IteratorProxy(getIteratorDirect(this), { + mapper: mapper, + inner: null + }); + } +}); + + +/***/ }), +/* 260 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var getIteratorMethod = __webpack_require__(134); + +module.exports = function (obj, stringHandling) { + if (!stringHandling || typeof obj !== 'string') anObject(obj); + var method = getIteratorMethod(obj); + return getIteratorDirect(anObject(method !== undefined ? call(method, obj) : obj)); +}; + + +/***/ }), +/* 261 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.forEach` method +// https://tc39.es/ecma262/#sec-iterator.prototype.foreach +$({ target: 'Iterator', proto: true, real: true }, { + forEach: function forEach(fn) { + anObject(this); + aCallable(fn); + var record = getIteratorDirect(this); + var counter = 0; + iterate(record, function (value) { + fn(value, counter++); + }, { IS_RECORD: true }); + } +}); + + +/***/ }), +/* 262 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var toObject = __webpack_require__(39); +var isPrototypeOf = __webpack_require__(24); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var createIteratorProxy = __webpack_require__(255); +var getIteratorFlattenable = __webpack_require__(260); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + return call(this.next, this.iterator); +}, true); + +// `Iterator.from` method +// https://tc39.es/ecma262/#sec-iterator.from +$({ target: 'Iterator', stat: true, forced: IS_PURE }, { + from: function from(O) { + var iteratorRecord = getIteratorFlattenable(typeof O == 'string' ? toObject(O) : O, true); + return isPrototypeOf(IteratorPrototype, iteratorRecord.iterator) + ? iteratorRecord.iterator + : new IteratorProxy(iteratorRecord); + } +}); + + +/***/ }), +/* 263 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var map = __webpack_require__(264); +var IS_PURE = __webpack_require__(36); + +// `Iterator.prototype.map` method +// https://tc39.es/ecma262/#sec-iterator.prototype.map +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + map: map +}); + + +/***/ }), +/* 264 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var createIteratorProxy = __webpack_require__(255); +var callWithSafeIterationClosing = __webpack_require__(163); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var result = anObject(call(this.next, iterator)); + var done = this.done = !!result.done; + if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true); +}); + +// `Iterator.prototype.map` method +// https://github.com/tc39/proposal-iterator-helpers +module.exports = function map(mapper) { + anObject(this); + aCallable(mapper); + return new IteratorProxy(getIteratorDirect(this), { + mapper: mapper + }); +}; + + +/***/ }), +/* 265 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +var $TypeError = TypeError; + +// `Iterator.prototype.reduce` method +// https://tc39.es/ecma262/#sec-iterator.prototype.reduce +$({ target: 'Iterator', proto: true, real: true }, { + reduce: function reduce(reducer /* , initialValue */) { + anObject(this); + aCallable(reducer); + var record = getIteratorDirect(this); + var noInitial = arguments.length < 2; + var accumulator = noInitial ? undefined : arguments[1]; + var counter = 0; + iterate(record, function (value) { + if (noInitial) { + noInitial = false; + accumulator = value; + } else { + accumulator = reducer(accumulator, value, counter); + } + counter++; + }, { IS_RECORD: true }); + if (noInitial) throw new $TypeError('Reduce of empty iterator with no initial value'); + return accumulator; + } +}); + + +/***/ }), +/* 266 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.some` method +// https://tc39.es/ecma262/#sec-iterator.prototype.some +$({ target: 'Iterator', proto: true, real: true }, { + some: function some(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return iterate(record, function (value, stop) { + if (predicate(value, counter++)) return stop(); + }, { IS_RECORD: true, INTERRUPTED: true }).stopped; + } +}); + + +/***/ }), +/* 267 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var notANaN = __webpack_require__(253); +var toPositiveInteger = __webpack_require__(254); +var createIteratorProxy = __webpack_require__(255); +var iteratorClose = __webpack_require__(135); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + if (!this.remaining--) { + this.done = true; + return iteratorClose(iterator, 'normal', undefined); + } + var result = anObject(call(this.next, iterator)); + var done = this.done = !!result.done; + if (!done) return result.value; +}); + +// `Iterator.prototype.take` method +// https://tc39.es/ecma262/#sec-iterator.prototype.take +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + take: function take(limit) { + anObject(this); + var remaining = toPositiveInteger(notANaN(+limit)); + return new IteratorProxy(getIteratorDirect(this), { + remaining: remaining + }); + } +}); + + +/***/ }), +/* 268 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var iterate = __webpack_require__(130); +var getIteratorDirect = __webpack_require__(252); + +var push = [].push; + +// `Iterator.prototype.toArray` method +// https://tc39.es/ecma262/#sec-iterator.prototype.toarray +$({ target: 'Iterator', proto: true, real: true }, { + toArray: function toArray() { + var result = []; + iterate(getIteratorDirect(anObject(this)), push, { that: result, IS_RECORD: true }); + return result; + } +}); + + +/***/ }), +/* 269 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var setToStringTag = __webpack_require__(82); + +// JSON[@@toStringTag] property +// https://tc39.es/ecma262/#sec-json-@@tostringtag +setToStringTag(globalThis.JSON, 'JSON', true); + + +/***/ }), +/* 270 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(271); + + +/***/ }), +/* 271 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionStrong = __webpack_require__(277); + +// `Map` constructor +// https://tc39.es/ecma262/#sec-map-objects +collection('Map', function (init) { + return function Map() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + + +/***/ }), +/* 272 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var defineBuiltIn = __webpack_require__(47); +var InternalMetadataModule = __webpack_require__(273); +var iterate = __webpack_require__(130); +var anInstance = __webpack_require__(211); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var fails = __webpack_require__(7); +var checkCorrectnessOfIteration = __webpack_require__(164); +var setToStringTag = __webpack_require__(82); +var inheritIfRequired = __webpack_require__(118); + +module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { + var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; + var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; + var ADDER = IS_MAP ? 'set' : 'add'; + var NativeConstructor = globalThis[CONSTRUCTOR_NAME]; + var NativePrototype = NativeConstructor && NativeConstructor.prototype; + var Constructor = NativeConstructor; + var exported = {}; + + var fixMethod = function (KEY) { + var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]); + defineBuiltIn(NativePrototype, KEY, + KEY === 'add' ? function add(value) { + uncurriedNativeMethod(this, value === 0 ? 0 : value); + return this; + } : KEY === 'delete' ? function (key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY === 'get' ? function get(key) { + return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY === 'has' ? function has(key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : function set(key, value) { + uncurriedNativeMethod(this, key === 0 ? 0 : key, value); + return this; + } + ); + }; + + var REPLACE = isForced( + CONSTRUCTOR_NAME, + !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () { + new NativeConstructor().entries().next(); + })) + ); + + if (REPLACE) { + // create collection constructor + Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); + InternalMetadataModule.enable(); + } else if (isForced(CONSTRUCTOR_NAME, true)) { + var instance = new Constructor(); + // early implementations not supports chaining + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance; + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); + // most early implementations doesn't supports iterables, most modern - not close it correctly + // eslint-disable-next-line no-new -- required for testing + var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); }); + // for early implementations -0 and +0 not the same + var BUGGY_ZERO = !IS_WEAK && fails(function () { + // V8 ~ Chromium 42- fails only with 5+ elements + var $instance = new NativeConstructor(); + var index = 5; + while (index--) $instance[ADDER](index, index); + return !$instance.has(-0); + }); + + if (!ACCEPT_ITERABLES) { + Constructor = wrapper(function (dummy, iterable) { + anInstance(dummy, NativePrototype); + var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + return that; + }); + Constructor.prototype = NativePrototype; + NativePrototype.constructor = Constructor; + } + + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + + if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); + + // weak collections should not contains .clear method + if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear; + } + + exported[CONSTRUCTOR_NAME] = Constructor; + $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported); + + setToStringTag(Constructor, CONSTRUCTOR_NAME); + + if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); + + return Constructor; +}; + + +/***/ }), +/* 273 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var hiddenKeys = __webpack_require__(54); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var defineProperty = (__webpack_require__(44).f); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertyNamesExternalModule = __webpack_require__(75); +var isExtensible = __webpack_require__(274); +var uid = __webpack_require__(40); +var FREEZING = __webpack_require__(276); + +var REQUIRED = false; +var METADATA = uid('meta'); +var id = 0; + +var setMetadata = function (it) { + defineProperty(it, METADATA, { value: { + objectID: 'O' + id++, // object ID + weakData: {} // weak collections IDs + } }); +}; + +var fastKey = function (it, create) { + // return a primitive with prefix + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!hasOwn(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMetadata(it); + // return object ID + } return it[METADATA].objectID; +}; + +var getWeakData = function (it, create) { + if (!hasOwn(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMetadata(it); + // return the store of weak collections IDs + } return it[METADATA].weakData; +}; + +// add metadata on freeze-family methods calling +var onFreeze = function (it) { + if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it); + return it; +}; + +var enable = function () { + meta.enable = function () { /* empty */ }; + REQUIRED = true; + var getOwnPropertyNames = getOwnPropertyNamesModule.f; + var splice = uncurryThis([].splice); + var test = {}; + test[METADATA] = 1; + + // prevent exposing of metadata key + if (getOwnPropertyNames(test).length) { + getOwnPropertyNamesModule.f = function (it) { + var result = getOwnPropertyNames(it); + for (var i = 0, length = result.length; i < length; i++) { + if (result[i] === METADATA) { + splice(result, i, 1); + break; + } + } return result; + }; + + $({ target: 'Object', stat: true, forced: true }, { + getOwnPropertyNames: getOwnPropertyNamesExternalModule.f + }); + } +}; + +var meta = module.exports = { + enable: enable, + fastKey: fastKey, + getWeakData: getWeakData, + onFreeze: onFreeze +}; + +hiddenKeys[METADATA] = true; + + +/***/ }), +/* 274 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-isextensible -- safe +var $isExtensible = Object.isExtensible; +var FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); }); + +// `Object.isExtensible` method +// https://tc39.es/ecma262/#sec-object.isextensible +module.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) { + if (!isObject(it)) return false; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false; + return $isExtensible ? $isExtensible(it) : true; +} : $isExtensible; + + +/***/ }), +/* 275 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it +var fails = __webpack_require__(7); + +module.exports = fails(function () { + if (typeof ArrayBuffer == 'function') { + var buffer = new ArrayBuffer(8); + // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe + if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 }); + } +}); + + +/***/ }), +/* 276 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing + return Object.isExtensible(Object.preventExtensions({})); +}); + + +/***/ }), +/* 277 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var create = __webpack_require__(71); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var bind = __webpack_require__(84); +var anInstance = __webpack_require__(211); +var isNullOrUndefined = __webpack_require__(17); +var iterate = __webpack_require__(130); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); +var setSpecies = __webpack_require__(194); +var DESCRIPTORS = __webpack_require__(6); +var fastKey = (__webpack_require__(273).fastKey); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + index: create(null), + first: null, + last: null, + size: 0 + }); + if (!DESCRIPTORS) that.size = 0; + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + }); + + var Prototype = Constructor.prototype; + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var entry = getEntry(that, key); + var previous, index; + // change existing entry + if (entry) { + entry.value = value; + // create new entry + } else { + state.last = entry = { + index: index = fastKey(key, true), + key: key, + value: value, + previous: previous = state.last, + next: null, + removed: false + }; + if (!state.first) state.first = entry; + if (previous) previous.next = entry; + if (DESCRIPTORS) state.size++; + else that.size++; + // add to index + if (index !== 'F') state.index[index] = entry; + } return that; + }; + + var getEntry = function (that, key) { + var state = getInternalState(that); + // fast case + var index = fastKey(key); + var entry; + if (index !== 'F') return state.index[index]; + // frozen object case + for (entry = state.first; entry; entry = entry.next) { + if (entry.key === key) return entry; + } + }; + + defineBuiltIns(Prototype, { + // `{ Map, Set }.prototype.clear()` methods + // https://tc39.es/ecma262/#sec-map.prototype.clear + // https://tc39.es/ecma262/#sec-set.prototype.clear + clear: function clear() { + var that = this; + var state = getInternalState(that); + var entry = state.first; + while (entry) { + entry.removed = true; + if (entry.previous) entry.previous = entry.previous.next = null; + entry = entry.next; + } + state.first = state.last = null; + state.index = create(null); + if (DESCRIPTORS) state.size = 0; + else that.size = 0; + }, + // `{ Map, Set }.prototype.delete(key)` methods + // https://tc39.es/ecma262/#sec-map.prototype.delete + // https://tc39.es/ecma262/#sec-set.prototype.delete + 'delete': function (key) { + var that = this; + var state = getInternalState(that); + var entry = getEntry(that, key); + if (entry) { + var next = entry.next; + var prev = entry.previous; + delete state.index[entry.index]; + entry.removed = true; + if (prev) prev.next = next; + if (next) next.previous = prev; + if (state.first === entry) state.first = next; + if (state.last === entry) state.last = prev; + if (DESCRIPTORS) state.size--; + else that.size--; + } return !!entry; + }, + // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods + // https://tc39.es/ecma262/#sec-map.prototype.foreach + // https://tc39.es/ecma262/#sec-set.prototype.foreach + forEach: function forEach(callbackfn /* , that = undefined */) { + var state = getInternalState(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var entry; + while (entry = entry ? entry.next : state.first) { + boundFunction(entry.value, entry.key, this); + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + } + }, + // `{ Map, Set}.prototype.has(key)` methods + // https://tc39.es/ecma262/#sec-map.prototype.has + // https://tc39.es/ecma262/#sec-set.prototype.has + has: function has(key) { + return !!getEntry(this, key); + } + }); + + defineBuiltIns(Prototype, IS_MAP ? { + // `Map.prototype.get(key)` method + // https://tc39.es/ecma262/#sec-map.prototype.get + get: function get(key) { + var entry = getEntry(this, key); + return entry && entry.value; + }, + // `Map.prototype.set(key, value)` method + // https://tc39.es/ecma262/#sec-map.prototype.set + set: function set(key, value) { + return define(this, key === 0 ? 0 : key, value); + } + } : { + // `Set.prototype.add(value)` method + // https://tc39.es/ecma262/#sec-set.prototype.add + add: function add(value) { + return define(this, value = value === 0 ? 0 : value, value); + } + }); + if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', { + configurable: true, + get: function () { + return getInternalState(this).size; + } + }); + return Constructor; + }, + setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) { + var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; + var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); + var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); + // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods + // https://tc39.es/ecma262/#sec-map.prototype.entries + // https://tc39.es/ecma262/#sec-map.prototype.keys + // https://tc39.es/ecma262/#sec-map.prototype.values + // https://tc39.es/ecma262/#sec-map.prototype-@@iterator + // https://tc39.es/ecma262/#sec-set.prototype.entries + // https://tc39.es/ecma262/#sec-set.prototype.keys + // https://tc39.es/ecma262/#sec-set.prototype.values + // https://tc39.es/ecma262/#sec-set.prototype-@@iterator + defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) { + setInternalState(this, { + type: ITERATOR_NAME, + target: iterated, + state: getInternalCollectionState(iterated), + kind: kind, + last: null + }); + }, function () { + var state = getInternalIteratorState(this); + var kind = state.kind; + var entry = state.last; + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + // get next entry + if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { + // or finish the iteration + state.target = null; + return createIterResultObject(undefined, true); + } + // return step by kind + if (kind === 'keys') return createIterResultObject(entry.key, false); + if (kind === 'values') return createIterResultObject(entry.value, false); + return createIterResultObject([entry.key, entry.value], false); + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // `{ Map, Set }.prototype[@@species]` accessors + // https://tc39.es/ecma262/#sec-get-map-@@species + // https://tc39.es/ecma262/#sec-get-set-@@species + setSpecies(CONSTRUCTOR_NAME); + } +}; + + +/***/ }), +/* 278 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var requireObjectCoercible = __webpack_require__(16); +var iterate = __webpack_require__(130); +var MapHelpers = __webpack_require__(279); +var IS_PURE = __webpack_require__(36); +var fails = __webpack_require__(7); + +var Map = MapHelpers.Map; +var has = MapHelpers.has; +var get = MapHelpers.get; +var set = MapHelpers.set; +var push = uncurryThis([].push); + +var DOES_NOT_WORK_WITH_PRIMITIVES = IS_PURE || fails(function () { + return Map.groupBy('ab', function (it) { + return it; + }).get('a').length !== 1; +}); + +// `Map.groupBy` method +// https://tc39.es/ecma262/#sec-map.groupby +$({ target: 'Map', stat: true, forced: IS_PURE || DOES_NOT_WORK_WITH_PRIMITIVES }, { + groupBy: function groupBy(items, callbackfn) { + requireObjectCoercible(items); + aCallable(callbackfn); + var map = new Map(); + var k = 0; + iterate(items, function (value) { + var key = callbackfn(value, k++); + if (!has(map, key)) set(map, key, [value]); + else push(get(map, key), value); + }); + return map; + } +}); + + +/***/ }), +/* 279 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// eslint-disable-next-line es/no-map -- safe +var MapPrototype = Map.prototype; + +module.exports = { + // eslint-disable-next-line es/no-map -- safe + Map: Map, + set: uncurryThis(MapPrototype.set), + get: uncurryThis(MapPrototype.get), + has: uncurryThis(MapPrototype.has), + remove: uncurryThis(MapPrototype['delete']), + proto: MapPrototype +}; + + +/***/ }), +/* 280 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log1p = __webpack_require__(281); + +// eslint-disable-next-line es/no-math-acosh -- required for testing +var $acosh = Math.acosh; +var log = Math.log; +var sqrt = Math.sqrt; +var LN2 = Math.LN2; + +var FORCED = !$acosh + // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 + || Math.floor($acosh(Number.MAX_VALUE)) !== 710 + // Tor Browser bug: Math.acosh(Infinity) -> NaN + || $acosh(Infinity) !== Infinity; + +// `Math.acosh` method +// https://tc39.es/ecma262/#sec-math.acosh +$({ target: 'Math', stat: true, forced: FORCED }, { + acosh: function acosh(x) { + var n = +x; + return n < 1 ? NaN : n > 94906265.62425156 + ? log(n) + LN2 + : log1p(n - 1 + sqrt(n - 1) * sqrt(n + 1)); + } +}); + + +/***/ }), +/* 281 */ +/***/ (function(module) { + + +var log = Math.log; + +// `Math.log1p` method implementation +// https://tc39.es/ecma262/#sec-math.log1p +// eslint-disable-next-line es/no-math-log1p -- safe +module.exports = Math.log1p || function log1p(x) { + var n = +x; + return n > -1e-8 && n < 1e-8 ? n - n * n / 2 : log(1 + n); +}; + + +/***/ }), +/* 282 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-asinh -- required for testing +var $asinh = Math.asinh; +var log = Math.log; +var sqrt = Math.sqrt; + +function asinh(x) { + var n = +x; + return !isFinite(n) || n === 0 ? n : n < 0 ? -asinh(-n) : log(n + sqrt(n * n + 1)); +} + +var FORCED = !($asinh && 1 / $asinh(0) > 0); + +// `Math.asinh` method +// https://tc39.es/ecma262/#sec-math.asinh +// Tor Browser bug: Math.asinh(0) -> -0 +$({ target: 'Math', stat: true, forced: FORCED }, { + asinh: asinh +}); + + +/***/ }), +/* 283 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-atanh -- required for testing +var $atanh = Math.atanh; +var log = Math.log; + +var FORCED = !($atanh && 1 / $atanh(-0) < 0); + +// `Math.atanh` method +// https://tc39.es/ecma262/#sec-math.atanh +// Tor Browser bug: Math.atanh(-0) -> 0 +$({ target: 'Math', stat: true, forced: FORCED }, { + atanh: function atanh(x) { + var n = +x; + return n === 0 ? n : log((1 + n) / (1 - n)) / 2; + } +}); + + +/***/ }), +/* 284 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var sign = __webpack_require__(215); + +var abs = Math.abs; +var pow = Math.pow; + +// `Math.cbrt` method +// https://tc39.es/ecma262/#sec-math.cbrt +$({ target: 'Math', stat: true }, { + cbrt: function cbrt(x) { + var n = +x; + return sign(n) * pow(abs(n), 1 / 3); + } +}); + + +/***/ }), +/* 285 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +var floor = Math.floor; +var log = Math.log; +var LOG2E = Math.LOG2E; + +// `Math.clz32` method +// https://tc39.es/ecma262/#sec-math.clz32 +$({ target: 'Math', stat: true }, { + clz32: function clz32(x) { + var n = x >>> 0; + return n ? 31 - floor(log(n + 0.5) * LOG2E) : 32; + } +}); + + +/***/ }), +/* 286 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +// eslint-disable-next-line es/no-math-cosh -- required for testing +var $cosh = Math.cosh; +var abs = Math.abs; +var E = Math.E; + +var FORCED = !$cosh || $cosh(710) === Infinity; + +// `Math.cosh` method +// https://tc39.es/ecma262/#sec-math.cosh +$({ target: 'Math', stat: true, forced: FORCED }, { + cosh: function cosh(x) { + var t = expm1(abs(x) - 1) + 1; + return (t + 1 / (t * E * E)) * (E / 2); + } +}); + + +/***/ }), +/* 287 */ +/***/ (function(module) { + + +// eslint-disable-next-line es/no-math-expm1 -- safe +var $expm1 = Math.expm1; +var exp = Math.exp; + +// `Math.expm1` method implementation +// https://tc39.es/ecma262/#sec-math.expm1 +module.exports = (!$expm1 + // Old FF bug + // eslint-disable-next-line no-loss-of-precision -- required for old engines + || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 + // Tor Browser bug + || $expm1(-2e-17) !== -2e-17 +) ? function expm1(x) { + var n = +x; + return n === 0 ? n : n > -1e-6 && n < 1e-6 ? n + n * n / 2 : exp(n) - 1; +} : $expm1; + + +/***/ }), +/* 288 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +// `Math.expm1` method +// https://tc39.es/ecma262/#sec-math.expm1 +// eslint-disable-next-line es/no-math-expm1 -- required for testing +$({ target: 'Math', stat: true, forced: expm1 !== Math.expm1 }, { expm1: expm1 }); + + +/***/ }), +/* 289 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fround = __webpack_require__(213); + +// `Math.fround` method +// https://tc39.es/ecma262/#sec-math.fround +$({ target: 'Math', stat: true }, { fround: fround }); + + +/***/ }), +/* 290 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-hypot -- required for testing +var $hypot = Math.hypot; +var abs = Math.abs; +var sqrt = Math.sqrt; + +// Chrome 77 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=9546 +var FORCED = !!$hypot && $hypot(Infinity, NaN) !== Infinity; + +// `Math.hypot` method +// https://tc39.es/ecma262/#sec-math.hypot +$({ target: 'Math', stat: true, arity: 2, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + hypot: function hypot(value1, value2) { + var sum = 0; + var i = 0; + var aLen = arguments.length; + var larg = 0; + var arg, div; + while (i < aLen) { + arg = abs(arguments[i++]); + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; + larg = arg; + } else if (arg > 0) { + div = arg / larg; + sum += div * div; + } else sum += arg; + } + return larg === Infinity ? Infinity : larg * sqrt(sum); + } +}); + + +/***/ }), +/* 291 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-math-imul -- required for testing +var $imul = Math.imul; + +var FORCED = fails(function () { + return $imul(0xFFFFFFFF, 5) !== -5 || $imul.length !== 2; +}); + +// `Math.imul` method +// https://tc39.es/ecma262/#sec-math.imul +// some WebKit versions fails with big numbers, some has wrong arity +$({ target: 'Math', stat: true, forced: FORCED }, { + imul: function imul(x, y) { + var UINT16 = 0xFFFF; + var xn = +x; + var yn = +y; + var xl = UINT16 & xn; + var yl = UINT16 & yn; + return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); + } +}); + + +/***/ }), +/* 292 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log10 = __webpack_require__(293); + +// `Math.log10` method +// https://tc39.es/ecma262/#sec-math.log10 +$({ target: 'Math', stat: true }, { + log10: log10 +}); + + +/***/ }), +/* 293 */ +/***/ (function(module) { + + +var log = Math.log; +var LOG10E = Math.LOG10E; + +// eslint-disable-next-line es/no-math-log10 -- safe +module.exports = Math.log10 || function log10(x) { + return log(x) * LOG10E; +}; + + +/***/ }), +/* 294 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log1p = __webpack_require__(281); + +// `Math.log1p` method +// https://tc39.es/ecma262/#sec-math.log1p +$({ target: 'Math', stat: true }, { log1p: log1p }); + + +/***/ }), +/* 295 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +var log = Math.log; +var LN2 = Math.LN2; + +// `Math.log2` method +// https://tc39.es/ecma262/#sec-math.log2 +$({ target: 'Math', stat: true }, { + log2: function log2(x) { + return log(x) / LN2; + } +}); + + +/***/ }), +/* 296 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var sign = __webpack_require__(215); + +// `Math.sign` method +// https://tc39.es/ecma262/#sec-math.sign +$({ target: 'Math', stat: true }, { + sign: sign +}); + + +/***/ }), +/* 297 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var expm1 = __webpack_require__(287); + +var abs = Math.abs; +var exp = Math.exp; +var E = Math.E; + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-math-sinh -- required for testing + return Math.sinh(-2e-17) !== -2e-17; +}); + +// `Math.sinh` method +// https://tc39.es/ecma262/#sec-math.sinh +// V8 near Chromium 38 has a problem with very small numbers +$({ target: 'Math', stat: true, forced: FORCED }, { + sinh: function sinh(x) { + var n = +x; + return abs(n) < 1 ? (expm1(n) - expm1(-n)) / 2 : (exp(n - 1) - exp(-n - 1)) * (E / 2); + } +}); + + +/***/ }), +/* 298 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +var exp = Math.exp; + +// `Math.tanh` method +// https://tc39.es/ecma262/#sec-math.tanh +$({ target: 'Math', stat: true }, { + tanh: function tanh(x) { + var n = +x; + var a = expm1(n); + var b = expm1(-n); + return a === Infinity ? 1 : b === Infinity ? -1 : (a - b) / (exp(n) + exp(-n)); + } +}); + + +/***/ }), +/* 299 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var setToStringTag = __webpack_require__(82); + +// Math[@@toStringTag] property +// https://tc39.es/ecma262/#sec-math-@@tostringtag +setToStringTag(Math, 'Math', true); + + +/***/ }), +/* 300 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trunc = __webpack_require__(62); + +// `Math.trunc` method +// https://tc39.es/ecma262/#sec-math.trunc +$({ target: 'Math', stat: true }, { + trunc: trunc +}); + + +/***/ }), +/* 301 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var path = __webpack_require__(80); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var hasOwn = __webpack_require__(38); +var inheritIfRequired = __webpack_require__(118); +var isPrototypeOf = __webpack_require__(24); +var isSymbol = __webpack_require__(22); +var toPrimitive = __webpack_require__(19); +var fails = __webpack_require__(7); +var getOwnPropertyNames = (__webpack_require__(57).f); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var defineProperty = (__webpack_require__(44).f); +var thisNumberValue = __webpack_require__(302); +var trim = (__webpack_require__(303).trim); + +var NUMBER = 'Number'; +var NativeNumber = globalThis[NUMBER]; +var PureNumberNamespace = path[NUMBER]; +var NumberPrototype = NativeNumber.prototype; +var TypeError = globalThis.TypeError; +var stringSlice = uncurryThis(''.slice); +var charCodeAt = uncurryThis(''.charCodeAt); + +// `ToNumeric` abstract operation +// https://tc39.es/ecma262/#sec-tonumeric +var toNumeric = function (value) { + var primValue = toPrimitive(value, 'number'); + return typeof primValue == 'bigint' ? primValue : toNumber(primValue); +}; + +// `ToNumber` abstract operation +// https://tc39.es/ecma262/#sec-tonumber +var toNumber = function (argument) { + var it = toPrimitive(argument, 'number'); + var first, third, radix, maxCode, digits, length, index, code; + if (isSymbol(it)) throw new TypeError('Cannot convert a Symbol value to a number'); + if (typeof it == 'string' && it.length > 2) { + it = trim(it); + first = charCodeAt(it, 0); + if (first === 43 || first === 45) { + third = charCodeAt(it, 2); + if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if (first === 48) { + switch (charCodeAt(it, 1)) { + // fast equal of /^0b[01]+$/i + case 66: + case 98: + radix = 2; + maxCode = 49; + break; + // fast equal of /^0o[0-7]+$/i + case 79: + case 111: + radix = 8; + maxCode = 55; + break; + default: + return +it; + } + digits = stringSlice(it, 2); + length = digits.length; + for (index = 0; index < length; index++) { + code = charCodeAt(digits, index); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if (code < 48 || code > maxCode) return NaN; + } return parseInt(digits, radix); + } + } return +it; +}; + +var FORCED = isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1')); + +var calledWithNew = function (dummy) { + // includes check on 1..constructor(foo) case + return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); }); +}; + +// `Number` constructor +// https://tc39.es/ecma262/#sec-number-constructor +var NumberWrapper = function Number(value) { + var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value)); + return calledWithNew(this) ? inheritIfRequired(Object(n), this, NumberWrapper) : n; +}; + +NumberWrapper.prototype = NumberPrototype; +if (FORCED && !IS_PURE) NumberPrototype.constructor = NumberWrapper; + +$({ global: true, constructor: true, wrap: true, forced: FORCED }, { + Number: NumberWrapper +}); + +// Use `internal/copy-constructor-properties` helper in `core-js@4` +var copyConstructorProperties = function (target, source) { + for (var keys = DESCRIPTORS ? getOwnPropertyNames(source) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES2015 (in case, if modules with ES2015 Number statics required before): + 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' + + // ESNext + 'fromString,range' + ).split(','), j = 0, key; keys.length > j; j++) { + if (hasOwn(source, key = keys[j]) && !hasOwn(target, key)) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + +if (IS_PURE && PureNumberNamespace) copyConstructorProperties(path[NUMBER], PureNumberNamespace); +if (FORCED || IS_PURE) copyConstructorProperties(path[NUMBER], NativeNumber); + + +/***/ }), +/* 302 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// `thisNumberValue` abstract operation +// https://tc39.es/ecma262/#sec-thisnumbervalue +module.exports = uncurryThis(1.0.valueOf); + + +/***/ }), +/* 303 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var whitespaces = __webpack_require__(304); + +var replace = uncurryThis(''.replace); +var ltrim = RegExp('^[' + whitespaces + ']+'); +var rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$'); + +// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation +var createMethod = function (TYPE) { + return function ($this) { + var string = toString(requireObjectCoercible($this)); + if (TYPE & 1) string = replace(string, ltrim, ''); + if (TYPE & 2) string = replace(string, rtrim, '$1'); + return string; + }; +}; + +module.exports = { + // `String.prototype.{ trimLeft, trimStart }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimstart + start: createMethod(1), + // `String.prototype.{ trimRight, trimEnd }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimend + end: createMethod(2), + // `String.prototype.trim` method + // https://tc39.es/ecma262/#sec-string.prototype.trim + trim: createMethod(3) +}; + + +/***/ }), +/* 304 */ +/***/ (function(module) { + + +// a string of all valid unicode whitespaces +module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' + + '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + + +/***/ }), +/* 305 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.EPSILON` constant +// https://tc39.es/ecma262/#sec-number.epsilon +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + EPSILON: Math.pow(2, -52) +}); + + +/***/ }), +/* 306 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var numberIsFinite = __webpack_require__(307); + +// `Number.isFinite` method +// https://tc39.es/ecma262/#sec-number.isfinite +$({ target: 'Number', stat: true }, { isFinite: numberIsFinite }); + + +/***/ }), +/* 307 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +var globalIsFinite = globalThis.isFinite; + +// `Number.isFinite` method +// https://tc39.es/ecma262/#sec-number.isfinite +// eslint-disable-next-line es/no-number-isfinite -- safe +module.exports = Number.isFinite || function isFinite(it) { + return typeof it == 'number' && globalIsFinite(it); +}; + + +/***/ }), +/* 308 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isIntegralNumber = __webpack_require__(309); + +// `Number.isInteger` method +// https://tc39.es/ecma262/#sec-number.isinteger +$({ target: 'Number', stat: true }, { + isInteger: isIntegralNumber +}); + + +/***/ }), +/* 309 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +var floor = Math.floor; + +// `IsIntegralNumber` abstract operation +// https://tc39.es/ecma262/#sec-isintegralnumber +// eslint-disable-next-line es/no-number-isinteger -- safe +module.exports = Number.isInteger || function isInteger(it) { + return !isObject(it) && isFinite(it) && floor(it) === it; +}; + + +/***/ }), +/* 310 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.isNaN` method +// https://tc39.es/ecma262/#sec-number.isnan +$({ target: 'Number', stat: true }, { + isNaN: function isNaN(number) { + // eslint-disable-next-line no-self-compare -- NaN check + return number !== number; + } +}); + + +/***/ }), +/* 311 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isIntegralNumber = __webpack_require__(309); + +var abs = Math.abs; + +// `Number.isSafeInteger` method +// https://tc39.es/ecma262/#sec-number.issafeinteger +$({ target: 'Number', stat: true }, { + isSafeInteger: function isSafeInteger(number) { + return isIntegralNumber(number) && abs(number) <= 0x1FFFFFFFFFFFFF; + } +}); + + +/***/ }), +/* 312 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.MAX_SAFE_INTEGER` constant +// https://tc39.es/ecma262/#sec-number.max_safe_integer +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF +}); + + +/***/ }), +/* 313 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.MIN_SAFE_INTEGER` constant +// https://tc39.es/ecma262/#sec-number.min_safe_integer +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF +}); + + +/***/ }), +/* 314 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var parseFloat = __webpack_require__(315); + +// `Number.parseFloat` method +// https://tc39.es/ecma262/#sec-number.parseFloat +// eslint-disable-next-line es/no-number-parsefloat -- required for testing +$({ target: 'Number', stat: true, forced: Number.parseFloat !== parseFloat }, { + parseFloat: parseFloat +}); + + +/***/ }), +/* 315 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var trim = (__webpack_require__(303).trim); +var whitespaces = __webpack_require__(304); + +var charAt = uncurryThis(''.charAt); +var $parseFloat = globalThis.parseFloat; +var Symbol = globalThis.Symbol; +var ITERATOR = Symbol && Symbol.iterator; +var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity + // MS Edge 18- broken with boxed symbols + || (ITERATOR && !fails(function () { $parseFloat(Object(ITERATOR)); })); + +// `parseFloat` method +// https://tc39.es/ecma262/#sec-parsefloat-string +module.exports = FORCED ? function parseFloat(string) { + var trimmedString = trim(toString(string)); + var result = $parseFloat(trimmedString); + return result === 0 && charAt(trimmedString, 0) === '-' ? -0 : result; +} : $parseFloat; + + +/***/ }), +/* 316 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var parseInt = __webpack_require__(317); + +// `Number.parseInt` method +// https://tc39.es/ecma262/#sec-number.parseint +// eslint-disable-next-line es/no-number-parseint -- required for testing +$({ target: 'Number', stat: true, forced: Number.parseInt !== parseInt }, { + parseInt: parseInt +}); + + +/***/ }), +/* 317 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var trim = (__webpack_require__(303).trim); +var whitespaces = __webpack_require__(304); + +var $parseInt = globalThis.parseInt; +var Symbol = globalThis.Symbol; +var ITERATOR = Symbol && Symbol.iterator; +var hex = /^[+-]?0x/i; +var exec = uncurryThis(hex.exec); +var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22 + // MS Edge 18- broken with boxed symbols + || (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); })); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +module.exports = FORCED ? function parseInt(string, radix) { + var S = trim(toString(string)); + return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10)); +} : $parseInt; + + +/***/ }), +/* 318 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var thisNumberValue = __webpack_require__(302); +var $repeat = __webpack_require__(239); +var log10 = __webpack_require__(293); +var fails = __webpack_require__(7); + +var $RangeError = RangeError; +var $String = String; +var $isFinite = isFinite; +var abs = Math.abs; +var floor = Math.floor; +var pow = Math.pow; +var round = Math.round; +var nativeToExponential = uncurryThis(1.0.toExponential); +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); + +// Edge 17- +var ROUNDS_PROPERLY = nativeToExponential(-6.9e-11, 4) === '-6.9000e-11' + // IE11- && Edge 14- + && nativeToExponential(1.255, 2) === '1.25e+0' + // FF86-, V8 ~ Chrome 49-50 + && nativeToExponential(12345, 3) === '1.235e+4' + // FF86-, V8 ~ Chrome 49-50 + && nativeToExponential(25, 0) === '3e+1'; + +// IE8- +var throwsOnInfinityFraction = function () { + return fails(function () { + nativeToExponential(1, Infinity); + }) && fails(function () { + nativeToExponential(1, -Infinity); + }); +}; + +// Safari <11 && FF <50 +var properNonFiniteThisCheck = function () { + return !fails(function () { + nativeToExponential(Infinity, Infinity); + nativeToExponential(NaN, Infinity); + }); +}; + +var FORCED = !ROUNDS_PROPERLY || !throwsOnInfinityFraction() || !properNonFiniteThisCheck(); + +// `Number.prototype.toExponential` method +// https://tc39.es/ecma262/#sec-number.prototype.toexponential +$({ target: 'Number', proto: true, forced: FORCED }, { + toExponential: function toExponential(fractionDigits) { + var x = thisNumberValue(this); + if (fractionDigits === undefined) return nativeToExponential(x); + var f = toIntegerOrInfinity(fractionDigits); + if (!$isFinite(x)) return String(x); + // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation + if (f < 0 || f > 20) throw new $RangeError('Incorrect fraction digits'); + if (ROUNDS_PROPERLY) return nativeToExponential(x, f); + var s = ''; + var m, e, c, d; + if (x < 0) { + s = '-'; + x = -x; + } + if (x === 0) { + e = 0; + m = repeat('0', f + 1); + } else { + // this block is based on https://gist.github.com/SheetJSDev/1100ad56b9f856c95299ed0e068eea08 + // TODO: improve accuracy with big fraction digits + var l = log10(x); + e = floor(l); + var w = pow(10, e - f); + var n = round(x / w); + if (2 * x >= (2 * n + 1) * w) { + n += 1; + } + if (n >= pow(10, f + 1)) { + n /= 10; + e += 1; + } + m = $String(n); + } + if (f !== 0) { + m = stringSlice(m, 0, 1) + '.' + stringSlice(m, 1); + } + if (e === 0) { + c = '+'; + d = '0'; + } else { + c = e > 0 ? '+' : '-'; + d = $String(abs(e)); + } + m += 'e' + c + d; + return s + m; + } +}); + + +/***/ }), +/* 319 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var thisNumberValue = __webpack_require__(302); +var $repeat = __webpack_require__(239); +var fails = __webpack_require__(7); + +var $RangeError = RangeError; +var $String = String; +var floor = Math.floor; +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); +var nativeToFixed = uncurryThis(1.0.toFixed); + +var pow = function (x, n, acc) { + return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); +}; + +var log = function (x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + } return n; +}; + +var multiply = function (data, n, c) { + var index = -1; + var c2 = c; + while (++index < 6) { + c2 += n * data[index]; + data[index] = c2 % 1e7; + c2 = floor(c2 / 1e7); + } +}; + +var divide = function (data, n) { + var index = 6; + var c = 0; + while (--index >= 0) { + c += data[index]; + data[index] = floor(c / n); + c = (c % n) * 1e7; + } +}; + +var dataToString = function (data) { + var index = 6; + var s = ''; + while (--index >= 0) { + if (s !== '' || index === 0 || data[index] !== 0) { + var t = $String(data[index]); + s = s === '' ? t : s + repeat('0', 7 - t.length) + t; + } + } return s; +}; + +var FORCED = fails(function () { + return nativeToFixed(0.00008, 3) !== '0.000' || + nativeToFixed(0.9, 0) !== '1' || + nativeToFixed(1.255, 2) !== '1.25' || + nativeToFixed(1000000000000000128.0, 0) !== '1000000000000000128'; +}) || !fails(function () { + // V8 ~ Android 4.3- + nativeToFixed({}); +}); + +// `Number.prototype.toFixed` method +// https://tc39.es/ecma262/#sec-number.prototype.tofixed +$({ target: 'Number', proto: true, forced: FORCED }, { + toFixed: function toFixed(fractionDigits) { + var number = thisNumberValue(this); + var fractDigits = toIntegerOrInfinity(fractionDigits); + var data = [0, 0, 0, 0, 0, 0]; + var sign = ''; + var result = '0'; + var e, z, j, k; + + // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation + if (fractDigits < 0 || fractDigits > 20) throw new $RangeError('Incorrect fraction digits'); + // eslint-disable-next-line no-self-compare -- NaN check + if (number !== number) return 'NaN'; + if (number <= -1e21 || number >= 1e21) return $String(number); + if (number < 0) { + sign = '-'; + number = -number; + } + if (number > 1e-21) { + e = log(number * pow(2, 69, 1)) - 69; + z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1); + z *= 0x10000000000000; + e = 52 - e; + if (e > 0) { + multiply(data, 0, z); + j = fractDigits; + while (j >= 7) { + multiply(data, 1e7, 0); + j -= 7; + } + multiply(data, pow(10, j, 1), 0); + j = e - 1; + while (j >= 23) { + divide(data, 1 << 23); + j -= 23; + } + divide(data, 1 << j); + multiply(data, 1, 1); + divide(data, 2); + result = dataToString(data); + } else { + multiply(data, 0, z); + multiply(data, 1 << -e, 0); + result = dataToString(data) + repeat('0', fractDigits); + } + } + if (fractDigits > 0) { + k = result.length; + result = sign + (k <= fractDigits + ? '0.' + repeat('0', fractDigits - k) + result + : stringSlice(result, 0, k - fractDigits) + '.' + stringSlice(result, k - fractDigits)); + } else { + result = sign + result; + } return result; + } +}); + + +/***/ }), +/* 320 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var thisNumberValue = __webpack_require__(302); + +var nativeToPrecision = uncurryThis(1.0.toPrecision); + +var FORCED = fails(function () { + // IE7- + return nativeToPrecision(1, undefined) !== '1'; +}) || !fails(function () { + // V8 ~ Android 4.3- + nativeToPrecision({}); +}); + +// `Number.prototype.toPrecision` method +// https://tc39.es/ecma262/#sec-number.prototype.toprecision +$({ target: 'Number', proto: true, forced: FORCED }, { + toPrecision: function toPrecision(precision) { + return precision === undefined + ? nativeToPrecision(thisNumberValue(this)) + : nativeToPrecision(thisNumberValue(this), precision); + } +}); + + +/***/ }), +/* 321 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var assign = __webpack_require__(322); + +// `Object.assign` method +// https://tc39.es/ecma262/#sec-object.assign +// eslint-disable-next-line es/no-object-assign -- required for testing +$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, { + assign: assign +}); + + +/***/ }), +/* 322 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var objectKeys = __webpack_require__(73); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var propertyIsEnumerableModule = __webpack_require__(10); +var toObject = __webpack_require__(39); +var IndexedObject = __webpack_require__(13); + +// eslint-disable-next-line es/no-object-assign -- safe +var $assign = Object.assign; +// eslint-disable-next-line es/no-object-defineproperty -- required for testing +var defineProperty = Object.defineProperty; +var concat = uncurryThis([].concat); + +// `Object.assign` method +// https://tc39.es/ecma262/#sec-object.assign +module.exports = !$assign || fails(function () { + // should have correct order of operations (Edge bug) + if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', { + enumerable: true, + get: function () { + defineProperty(this, 'b', { + value: 3, + enumerable: false + }); + } + }), { b: 2 })).b !== 1) return true; + // should work with symbols and should have deterministic property order (V8 bug) + var A = {}; + var B = {}; + // eslint-disable-next-line es/no-symbol -- safe + var symbol = Symbol('assign detection'); + var alphabet = 'abcdefghijklmnopqrst'; + A[symbol] = 7; + alphabet.split('').forEach(function (chr) { B[chr] = chr; }); + return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` + var T = toObject(target); + var argumentsLength = arguments.length; + var index = 1; + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + var propertyIsEnumerable = propertyIsEnumerableModule.f; + while (argumentsLength > index) { + var S = IndexedObject(arguments[index++]); + var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) { + key = keys[j++]; + if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key]; + } + } return T; +} : $assign; + + +/***/ }), +/* 323 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var create = __webpack_require__(71); + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + create: create +}); + + +/***/ }), +/* 324 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var definePropertyModule = __webpack_require__(44); + +// `Object.prototype.__defineGetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineGetter__: function __defineGetter__(P, getter) { + definePropertyModule.f(toObject(this), P, { get: aCallable(getter), enumerable: true, configurable: true }); + } + }); +} + + +/***/ }), +/* 325 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-undef, no-useless-call, sonarjs/no-reference-error -- required for testing */ +/* eslint-disable es/no-legacy-object-prototype-accessor-methods -- required for testing */ +var IS_PURE = __webpack_require__(36); +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var WEBKIT = __webpack_require__(192); + +// Forced replacement object prototype accessors methods +module.exports = IS_PURE || !fails(function () { + // This feature detection crashes old WebKit + // https://github.com/zloirock/core-js/issues/232 + if (WEBKIT && WEBKIT < 535) return; + var key = Math.random(); + // In FF throws only define methods + __defineSetter__.call(null, key, function () { /* empty */ }); + delete globalThis[key]; +}); + + +/***/ }), +/* 326 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var defineProperties = (__webpack_require__(72).f); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, { + defineProperties: defineProperties +}); + + +/***/ }), +/* 327 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var defineProperty = (__webpack_require__(44).f); + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +// eslint-disable-next-line es/no-object-defineproperty -- safe +$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, { + defineProperty: defineProperty +}); + + +/***/ }), +/* 328 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var definePropertyModule = __webpack_require__(44); + +// `Object.prototype.__defineSetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineSetter__: function __defineSetter__(P, setter) { + definePropertyModule.f(toObject(this), P, { set: aCallable(setter), enumerable: true, configurable: true }); + } + }); +} + + +/***/ }), +/* 329 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $entries = (__webpack_require__(330).entries); + +// `Object.entries` method +// https://tc39.es/ecma262/#sec-object.entries +$({ target: 'Object', stat: true }, { + entries: function entries(O) { + return $entries(O); + } +}); + + +/***/ }), +/* 330 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var objectGetPrototypeOf = __webpack_require__(128); +var objectKeys = __webpack_require__(73); +var toIndexedObject = __webpack_require__(12); +var $propertyIsEnumerable = (__webpack_require__(10).f); + +var propertyIsEnumerable = uncurryThis($propertyIsEnumerable); +var push = uncurryThis([].push); + +// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys +// of `null` prototype objects +var IE_BUG = DESCRIPTORS && fails(function () { + // eslint-disable-next-line es/no-object-create -- safe + var O = Object.create(null); + O[2] = 2; + return !propertyIsEnumerable(O, 2); +}); + +// `Object.{ entries, values }` methods implementation +var createMethod = function (TO_ENTRIES) { + return function (it) { + var O = toIndexedObject(it); + var keys = objectKeys(O); + var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null; + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) { + key = keys[i++]; + if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) { + push(result, TO_ENTRIES ? [key, O[key]] : O[key]); + } + } + return result; + }; +}; + +module.exports = { + // `Object.entries` method + // https://tc39.es/ecma262/#sec-object.entries + entries: createMethod(true), + // `Object.values` method + // https://tc39.es/ecma262/#sec-object.values + values: createMethod(false) +}; + + +/***/ }), +/* 331 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); + +// eslint-disable-next-line es/no-object-freeze -- safe +var $freeze = Object.freeze; +var FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); }); + +// `Object.freeze` method +// https://tc39.es/ecma262/#sec-object.freeze +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + freeze: function freeze(it) { + return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 332 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var createProperty = __webpack_require__(141); + +// `Object.fromEntries` method +// https://tc39.es/ecma262/#sec-object.fromentries +$({ target: 'Object', stat: true }, { + fromEntries: function fromEntries(iterable) { + var obj = {}; + iterate(iterable, function (k, v) { + createProperty(obj, k, v); + }, { AS_ENTRIES: true }); + return obj; + } +}); + + +/***/ }), +/* 333 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toIndexedObject = __webpack_require__(12); +var nativeGetOwnPropertyDescriptor = (__webpack_require__(5).f); +var DESCRIPTORS = __webpack_require__(6); + +var FORCED = !DESCRIPTORS || fails(function () { nativeGetOwnPropertyDescriptor(1); }); + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { + return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key); + } +}); + + +/***/ }), +/* 334 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var ownKeys = __webpack_require__(56); +var toIndexedObject = __webpack_require__(12); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var createProperty = __webpack_require__(141); + +// `Object.getOwnPropertyDescriptors` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIndexedObject(object); + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + var keys = ownKeys(O); + var result = {}; + var index = 0; + var key, descriptor; + while (keys.length > index) { + descriptor = getOwnPropertyDescriptor(O, key = keys[index++]); + if (descriptor !== undefined) createProperty(result, key, descriptor); + } + return result; + } +}); + + +/***/ }), +/* 335 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var getOwnPropertyNames = (__webpack_require__(75).f); + +// eslint-disable-next-line es/no-object-getownpropertynames -- required for testing +var FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); }); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + getOwnPropertyNames: getOwnPropertyNames +}); + + +/***/ }), +/* 336 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toObject = __webpack_require__(39); +var nativeGetPrototypeOf = __webpack_require__(128); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); }); + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(it) { + return nativeGetPrototypeOf(toObject(it)); + } +}); + + + +/***/ }), +/* 337 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var requireObjectCoercible = __webpack_require__(16); +var toPropertyKey = __webpack_require__(18); +var iterate = __webpack_require__(130); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-groupby -- testing +var nativeGroupBy = Object.groupBy; +var create = getBuiltIn('Object', 'create'); +var push = uncurryThis([].push); + +var DOES_NOT_WORK_WITH_PRIMITIVES = !nativeGroupBy || fails(function () { + return nativeGroupBy('ab', function (it) { + return it; + }).a.length !== 1; +}); + +// `Object.groupBy` method +// https://tc39.es/ecma262/#sec-object.groupby +$({ target: 'Object', stat: true, forced: DOES_NOT_WORK_WITH_PRIMITIVES }, { + groupBy: function groupBy(items, callbackfn) { + requireObjectCoercible(items); + aCallable(callbackfn); + var obj = create(null); + var k = 0; + iterate(items, function (value) { + var key = toPropertyKey(callbackfn(value, k++)); + // in some IE versions, `hasOwnProperty` returns incorrect result on integer keys + // but since it's a `null` prototype object, we can safely use `in` + if (key in obj) push(obj[key], value); + else obj[key] = [value]; + }); + return obj; + } +}); + + +/***/ }), +/* 338 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var hasOwn = __webpack_require__(38); + +// `Object.hasOwn` method +// https://tc39.es/ecma262/#sec-object.hasown +$({ target: 'Object', stat: true }, { + hasOwn: hasOwn +}); + + +/***/ }), +/* 339 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var is = __webpack_require__(340); + +// `Object.is` method +// https://tc39.es/ecma262/#sec-object.is +$({ target: 'Object', stat: true }, { + is: is +}); + + +/***/ }), +/* 340 */ +/***/ (function(module) { + + +// `SameValue` abstract operation +// https://tc39.es/ecma262/#sec-samevalue +// eslint-disable-next-line es/no-object-is -- safe +module.exports = Object.is || function is(x, y) { + // eslint-disable-next-line no-self-compare -- NaN check + return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y; +}; + + +/***/ }), +/* 341 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $isExtensible = __webpack_require__(274); + +// `Object.isExtensible` method +// https://tc39.es/ecma262/#sec-object.isextensible +// eslint-disable-next-line es/no-object-isextensible -- safe +$({ target: 'Object', stat: true, forced: Object.isExtensible !== $isExtensible }, { + isExtensible: $isExtensible +}); + + +/***/ }), +/* 342 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-isfrozen -- safe +var $isFrozen = Object.isFrozen; + +var FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isFrozen(1); }); + +// `Object.isFrozen` method +// https://tc39.es/ecma262/#sec-object.isfrozen +$({ target: 'Object', stat: true, forced: FORCED }, { + isFrozen: function isFrozen(it) { + if (!isObject(it)) return true; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true; + return $isFrozen ? $isFrozen(it) : false; + } +}); + + +/***/ }), +/* 343 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-issealed -- safe +var $isSealed = Object.isSealed; + +var FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isSealed(1); }); + +// `Object.isSealed` method +// https://tc39.es/ecma262/#sec-object.issealed +$({ target: 'Object', stat: true, forced: FORCED }, { + isSealed: function isSealed(it) { + if (!isObject(it)) return true; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true; + return $isSealed ? $isSealed(it) : false; + } +}); + + +/***/ }), +/* 344 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var nativeKeys = __webpack_require__(73); +var fails = __webpack_require__(7); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); }); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + keys: function keys(it) { + return nativeKeys(toObject(it)); + } +}); + + +/***/ }), +/* 345 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var toObject = __webpack_require__(39); +var toPropertyKey = __webpack_require__(18); +var getPrototypeOf = __webpack_require__(128); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Object.prototype.__lookupGetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupGetter__: function __lookupGetter__(P) { + var O = toObject(this); + var key = toPropertyKey(P); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.get; + } while (O = getPrototypeOf(O)); + } + }); +} + + +/***/ }), +/* 346 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var toObject = __webpack_require__(39); +var toPropertyKey = __webpack_require__(18); +var getPrototypeOf = __webpack_require__(128); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Object.prototype.__lookupSetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupSetter__: function __lookupSetter__(P) { + var O = toObject(this); + var key = toPropertyKey(P); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.set; + } while (O = getPrototypeOf(O)); + } + }); +} + + +/***/ }), +/* 347 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-preventextensions -- safe +var $preventExtensions = Object.preventExtensions; +var FAILS_ON_PRIMITIVES = fails(function () { $preventExtensions(1); }); + +// `Object.preventExtensions` method +// https://tc39.es/ecma262/#sec-object.preventextensions +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + preventExtensions: function preventExtensions(it) { + return $preventExtensions && isObject(it) ? $preventExtensions(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 348 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var isObject = __webpack_require__(20); +var isPossiblePrototype = __webpack_require__(116); +var toObject = __webpack_require__(39); +var requireObjectCoercible = __webpack_require__(16); + +// eslint-disable-next-line es/no-object-getprototypeof -- safe +var getPrototypeOf = Object.getPrototypeOf; +// eslint-disable-next-line es/no-object-setprototypeof -- safe +var setPrototypeOf = Object.setPrototypeOf; +var ObjectPrototype = Object.prototype; +var PROTO = '__proto__'; + +// `Object.prototype.__proto__` accessor +// https://tc39.es/ecma262/#sec-object.prototype.__proto__ +if (DESCRIPTORS && getPrototypeOf && setPrototypeOf && !(PROTO in ObjectPrototype)) try { + defineBuiltInAccessor(ObjectPrototype, PROTO, { + configurable: true, + get: function __proto__() { + return getPrototypeOf(toObject(this)); + }, + set: function __proto__(proto) { + var O = requireObjectCoercible(this); + if (isPossiblePrototype(proto) && isObject(O)) { + setPrototypeOf(O, proto); + } + } + }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 349 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-seal -- safe +var $seal = Object.seal; +var FAILS_ON_PRIMITIVES = fails(function () { $seal(1); }); + +// `Object.seal` method +// https://tc39.es/ecma262/#sec-object.seal +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + seal: function seal(it) { + return $seal && isObject(it) ? $seal(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 350 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var setPrototypeOf = __webpack_require__(113); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +$({ target: 'Object', stat: true }, { + setPrototypeOf: setPrototypeOf +}); + + +/***/ }), +/* 351 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var defineBuiltIn = __webpack_require__(47); +var toString = __webpack_require__(352); + +// `Object.prototype.toString` method +// https://tc39.es/ecma262/#sec-object.prototype.tostring +if (!TO_STRING_TAG_SUPPORT) { + defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true }); +} + + +/***/ }), +/* 352 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var classof = __webpack_require__(69); + +// `Object.prototype.toString` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.tostring +module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { + return '[object ' + classof(this) + ']'; +}; + + +/***/ }), +/* 353 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $values = (__webpack_require__(330).values); + +// `Object.values` method +// https://tc39.es/ecma262/#sec-object.values +$({ target: 'Object', stat: true }, { + values: function values(O) { + return $values(O); + } +}); + + +/***/ }), +/* 354 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $parseFloat = __webpack_require__(315); + +// `parseFloat` method +// https://tc39.es/ecma262/#sec-parsefloat-string +$({ global: true, forced: parseFloat !== $parseFloat }, { + parseFloat: $parseFloat +}); + + +/***/ }), +/* 355 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $parseInt = __webpack_require__(317); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +$({ global: true, forced: parseInt !== $parseInt }, { + parseInt: $parseInt +}); + + +/***/ }), +/* 356 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(357); +__webpack_require__(373); +__webpack_require__(375); +__webpack_require__(376); +__webpack_require__(377); +__webpack_require__(378); + + +/***/ }), +/* 357 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var IS_NODE = __webpack_require__(182); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var defineBuiltIn = __webpack_require__(47); +var setPrototypeOf = __webpack_require__(113); +var setToStringTag = __webpack_require__(82); +var setSpecies = __webpack_require__(194); +var aCallable = __webpack_require__(30); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var anInstance = __webpack_require__(211); +var speciesConstructor = __webpack_require__(358); +var task = (__webpack_require__(360).set); +var microtask = __webpack_require__(363); +var hostReportErrors = __webpack_require__(368); +var perform = __webpack_require__(369); +var Queue = __webpack_require__(365); +var InternalStateModule = __webpack_require__(51); +var NativePromiseConstructor = __webpack_require__(370); +var PromiseConstructorDetection = __webpack_require__(371); +var newPromiseCapabilityModule = __webpack_require__(372); + +var PROMISE = 'Promise'; +var FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR; +var NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT; +var NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING; +var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); +var setInternalState = InternalStateModule.set; +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var PromiseConstructor = NativePromiseConstructor; +var PromisePrototype = NativePromisePrototype; +var TypeError = globalThis.TypeError; +var document = globalThis.document; +var process = globalThis.process; +var newPromiseCapability = newPromiseCapabilityModule.f; +var newGenericPromiseCapability = newPromiseCapability; + +var DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent); +var UNHANDLED_REJECTION = 'unhandledrejection'; +var REJECTION_HANDLED = 'rejectionhandled'; +var PENDING = 0; +var FULFILLED = 1; +var REJECTED = 2; +var HANDLED = 1; +var UNHANDLED = 2; + +var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && isCallable(then = it.then) ? then : false; +}; + +var callReaction = function (reaction, state) { + var value = state.value; + var ok = state.state === FULFILLED; + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (state.rejection === UNHANDLED) onHandleUnhandled(state); + state.rejection = HANDLED; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // can throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(new TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + call(then, result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (error) { + if (domain && !exited) domain.exit(); + reject(error); + } +}; + +var notify = function (state, isReject) { + if (state.notified) return; + state.notified = true; + microtask(function () { + var reactions = state.reactions; + var reaction; + while (reaction = reactions.get()) { + callReaction(reaction, state); + } + state.notified = false; + if (isReject && !state.rejection) onUnhandled(state); + }); +}; + +var dispatchEvent = function (name, promise, reason) { + var event, handler; + if (DISPATCH_EVENT) { + event = document.createEvent('Event'); + event.promise = promise; + event.reason = reason; + event.initEvent(name, false, true); + globalThis.dispatchEvent(event); + } else event = { promise: promise, reason: reason }; + if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event); + else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); +}; + +var onUnhandled = function (state) { + call(task, globalThis, function () { + var promise = state.facade; + var value = state.value; + var IS_UNHANDLED = isUnhandled(state); + var result; + if (IS_UNHANDLED) { + result = perform(function () { + if (IS_NODE) { + process.emit('unhandledRejection', value, promise); + } else dispatchEvent(UNHANDLED_REJECTION, promise, value); + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; + if (result.error) throw result.value; + } + }); +}; + +var isUnhandled = function (state) { + return state.rejection !== HANDLED && !state.parent; +}; + +var onHandleUnhandled = function (state) { + call(task, globalThis, function () { + var promise = state.facade; + if (IS_NODE) { + process.emit('rejectionHandled', promise); + } else dispatchEvent(REJECTION_HANDLED, promise, state.value); + }); +}; + +var bind = function (fn, state, unwrap) { + return function (value) { + fn(state, value, unwrap); + }; +}; + +var internalReject = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + state.value = value; + state.state = REJECTED; + notify(state, true); +}; + +var internalResolve = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + try { + if (state.facade === value) throw new TypeError("Promise can't be resolved itself"); + var then = isThenable(value); + if (then) { + microtask(function () { + var wrapper = { done: false }; + try { + call(then, value, + bind(internalResolve, wrapper, state), + bind(internalReject, wrapper, state) + ); + } catch (error) { + internalReject(wrapper, error, state); + } + }); + } else { + state.value = value; + state.state = FULFILLED; + notify(state, false); + } + } catch (error) { + internalReject({ done: false }, error, state); + } +}; + +// constructor polyfill +if (FORCED_PROMISE_CONSTRUCTOR) { + // 25.4.3.1 Promise(executor) + PromiseConstructor = function Promise(executor) { + anInstance(this, PromisePrototype); + aCallable(executor); + call(Internal, this); + var state = getInternalPromiseState(this); + try { + executor(bind(internalResolve, state), bind(internalReject, state)); + } catch (error) { + internalReject(state, error); + } + }; + + PromisePrototype = PromiseConstructor.prototype; + + // eslint-disable-next-line no-unused-vars -- required for `.length` + Internal = function Promise(executor) { + setInternalState(this, { + type: PROMISE, + done: false, + notified: false, + parent: false, + reactions: new Queue(), + rejection: false, + state: PENDING, + value: null + }); + }; + + // `Promise.prototype.then` method + // https://tc39.es/ecma262/#sec-promise.prototype.then + Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) { + var state = getInternalPromiseState(this); + var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); + state.parent = true; + reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; + reaction.fail = isCallable(onRejected) && onRejected; + reaction.domain = IS_NODE ? process.domain : undefined; + if (state.state === PENDING) state.reactions.add(reaction); + else microtask(function () { + callReaction(reaction, state); + }); + return reaction.promise; + }); + + OwnPromiseCapability = function () { + var promise = new Internal(); + var state = getInternalPromiseState(promise); + this.promise = promise; + this.resolve = bind(internalResolve, state); + this.reject = bind(internalReject, state); + }; + + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === PromiseConstructor || C === PromiseWrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; + + if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) { + nativeThen = NativePromisePrototype.then; + + if (!NATIVE_PROMISE_SUBCLASSING) { + // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs + defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { + var that = this; + return new PromiseConstructor(function (resolve, reject) { + call(nativeThen, that, resolve, reject); + }).then(onFulfilled, onRejected); + // https://github.com/zloirock/core-js/issues/640 + }, { unsafe: true }); + } + + // make `.constructor === Promise` work for native promise-based APIs + try { + delete NativePromisePrototype.constructor; + } catch (error) { /* empty */ } + + // make `instanceof Promise` work for native promise-based APIs + if (setPrototypeOf) { + setPrototypeOf(NativePromisePrototype, PromisePrototype); + } + } +} + +// `Promise` constructor +// https://tc39.es/ecma262/#sec-promise-executor +$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + Promise: PromiseConstructor +}); + +setToStringTag(PromiseConstructor, PROMISE, false, true); +setSpecies(PROMISE); + + +/***/ }), +/* 358 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var aConstructor = __webpack_require__(359); +var isNullOrUndefined = __webpack_require__(17); +var wellKnownSymbol = __webpack_require__(33); + +var SPECIES = wellKnownSymbol('species'); + +// `SpeciesConstructor` abstract operation +// https://tc39.es/ecma262/#sec-speciesconstructor +module.exports = function (O, defaultConstructor) { + var C = anObject(O).constructor; + var S; + return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S); +}; + + +/***/ }), +/* 359 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isConstructor = __webpack_require__(89); +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +// `Assert: IsConstructor(argument) is true` +module.exports = function (argument) { + if (isConstructor(argument)) return argument; + throw new $TypeError(tryToString(argument) + ' is not a constructor'); +}; + + +/***/ }), +/* 360 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var bind = __webpack_require__(84); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var fails = __webpack_require__(7); +var html = __webpack_require__(74); +var arraySlice = __webpack_require__(76); +var createElement = __webpack_require__(42); +var validateArgumentsLength = __webpack_require__(361); +var IS_IOS = __webpack_require__(362); +var IS_NODE = __webpack_require__(182); + +var set = globalThis.setImmediate; +var clear = globalThis.clearImmediate; +var process = globalThis.process; +var Dispatch = globalThis.Dispatch; +var Function = globalThis.Function; +var MessageChannel = globalThis.MessageChannel; +var String = globalThis.String; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var $location, defer, channel, port; + +fails(function () { + // Deno throws a ReferenceError on `location` access without `--location` flag + $location = globalThis.location; +}); + +var run = function (id) { + if (hasOwn(queue, id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; + +var runner = function (id) { + return function () { + run(id); + }; +}; + +var eventListener = function (event) { + run(event.data); +}; + +var globalPostMessageDefer = function (id) { + // old engines have not location.origin + globalThis.postMessage(String(id), $location.protocol + '//' + $location.host); +}; + +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!set || !clear) { + set = function setImmediate(handler) { + validateArgumentsLength(arguments.length, 1); + var fn = isCallable(handler) ? handler : Function(handler); + var args = arraySlice(arguments, 1); + queue[++counter] = function () { + apply(fn, undefined, args); + }; + defer(counter); + return counter; + }; + clear = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (IS_NODE) { + defer = function (id) { + process.nextTick(runner(id)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(runner(id)); + }; + // Browsers with MessageChannel, includes WebWorkers + // except iOS - https://github.com/zloirock/core-js/issues/624 + } else if (MessageChannel && !IS_IOS) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = eventListener; + defer = bind(port.postMessage, port); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if ( + globalThis.addEventListener && + isCallable(globalThis.postMessage) && + !globalThis.importScripts && + $location && $location.protocol !== 'file:' && + !fails(globalPostMessageDefer) + ) { + defer = globalPostMessageDefer; + globalThis.addEventListener('message', eventListener, false); + // IE8- + } else if (ONREADYSTATECHANGE in createElement('script')) { + defer = function (id) { + html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(runner(id), 0); + }; + } +} + +module.exports = { + set: set, + clear: clear +}; + + +/***/ }), +/* 361 */ +/***/ (function(module) { + + +var $TypeError = TypeError; + +module.exports = function (passed, required) { + if (passed < required) throw new $TypeError('Not enough arguments'); + return passed; +}; + + +/***/ }), +/* 362 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +// eslint-disable-next-line redos/no-vulnerable -- safe +module.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent); + + +/***/ }), +/* 363 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var safeGetBuiltIn = __webpack_require__(364); +var bind = __webpack_require__(84); +var macrotask = (__webpack_require__(360).set); +var Queue = __webpack_require__(365); +var IS_IOS = __webpack_require__(362); +var IS_IOS_PEBBLE = __webpack_require__(366); +var IS_WEBOS_WEBKIT = __webpack_require__(367); +var IS_NODE = __webpack_require__(182); + +var MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver; +var document = globalThis.document; +var process = globalThis.process; +var Promise = globalThis.Promise; +var microtask = safeGetBuiltIn('queueMicrotask'); +var notify, toggle, node, promise, then; + +// modern engines have queueMicrotask method +if (!microtask) { + var queue = new Queue(); + + var flush = function () { + var parent, fn; + if (IS_NODE && (parent = process.domain)) parent.exit(); + while (fn = queue.get()) try { + fn(); + } catch (error) { + if (queue.head) notify(); + throw error; + } + if (parent) parent.enter(); + }; + + // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 + // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898 + if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) { + toggle = true; + node = document.createTextNode(''); + new MutationObserver(flush).observe(node, { characterData: true }); + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + promise = Promise.resolve(undefined); + // workaround of WebKit ~ iOS Safari 10.1 bug + promise.constructor = Promise; + then = bind(promise.then, promise); + notify = function () { + then(flush); + }; + // Node.js without promises + } else if (IS_NODE) { + notify = function () { + process.nextTick(flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessage + // - onreadystatechange + // - setTimeout + } else { + // `webpack` dev server bug on IE global methods - use bind(fn, global) + macrotask = bind(macrotask, globalThis); + notify = function () { + macrotask(flush); + }; + } + + microtask = function (fn) { + if (!queue.head) notify(); + queue.add(fn); + }; +} + +module.exports = microtask; + + +/***/ }), +/* 364 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DESCRIPTORS = __webpack_require__(6); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Avoid NodeJS experimental warning +module.exports = function (name) { + if (!DESCRIPTORS) return globalThis[name]; + var descriptor = getOwnPropertyDescriptor(globalThis, name); + return descriptor && descriptor.value; +}; + + +/***/ }), +/* 365 */ +/***/ (function(module) { + + +var Queue = function () { + this.head = null; + this.tail = null; +}; + +Queue.prototype = { + add: function (item) { + var entry = { item: item, next: null }; + var tail = this.tail; + if (tail) tail.next = entry; + else this.head = entry; + this.tail = entry; + }, + get: function () { + var entry = this.head; + if (entry) { + var next = this.head = entry.next; + if (next === null) this.tail = null; + return entry.item; + } + } +}; + +module.exports = Queue; + + +/***/ }), +/* 366 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +module.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined'; + + +/***/ }), +/* 367 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +module.exports = /web0s(?!.*chrome)/i.test(userAgent); + + +/***/ }), +/* 368 */ +/***/ (function(module) { + + +module.exports = function (a, b) { + try { + // eslint-disable-next-line no-console -- safe + arguments.length === 1 ? console.error(a) : console.error(a, b); + } catch (error) { /* empty */ } +}; + + +/***/ }), +/* 369 */ +/***/ (function(module) { + + +module.exports = function (exec) { + try { + return { error: false, value: exec() }; + } catch (error) { + return { error: true, value: error }; + } +}; + + +/***/ }), +/* 370 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = globalThis.Promise; + + +/***/ }), +/* 371 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var NativePromiseConstructor = __webpack_require__(370); +var isCallable = __webpack_require__(21); +var isForced = __webpack_require__(67); +var inspectSource = __webpack_require__(50); +var wellKnownSymbol = __webpack_require__(33); +var ENVIRONMENT = __webpack_require__(183); +var IS_PURE = __webpack_require__(36); +var V8_VERSION = __webpack_require__(27); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var SPECIES = wellKnownSymbol('species'); +var SUBCLASSING = false; +var NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent); + +var FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () { + var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor); + var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor); + // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // We can't detect it synchronously, so just check versions + if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true; + // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution + if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true; + // We can't use @@species feature detection in V8 since it causes + // deoptimization and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) { + // Detect correctness of subclassing with @@species support + var promise = new NativePromiseConstructor(function (resolve) { resolve(1); }); + var FakePromise = function (exec) { + exec(function () { /* empty */ }, function () { /* empty */ }); + }; + var constructor = promise.constructor = {}; + constructor[SPECIES] = FakePromise; + SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; + if (!SUBCLASSING) return true; + // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test + } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT; +}); + +module.exports = { + CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR, + REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT, + SUBCLASSING: SUBCLASSING +}; + + +/***/ }), +/* 372 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); + +var $TypeError = TypeError; + +var PromiseCapability = function (C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aCallable(resolve); + this.reject = aCallable(reject); +}; + +// `NewPromiseCapability` abstract operation +// https://tc39.es/ecma262/#sec-newpromisecapability +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + + +/***/ }), +/* 373 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.all` method +// https://tc39.es/ecma262/#sec-promise.all +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + all: function all(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call($promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 374 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NativePromiseConstructor = __webpack_require__(370); +var checkCorrectnessOfIteration = __webpack_require__(164); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); + +module.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) { + NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ }); +}); + + +/***/ }), +/* 375 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); +var NativePromiseConstructor = __webpack_require__(370); +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var defineBuiltIn = __webpack_require__(47); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; + +// `Promise.prototype.catch` method +// https://tc39.es/ecma262/#sec-promise.prototype.catch +$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, { + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } +}); + +// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['catch']; + if (NativePromisePrototype['catch'] !== method) { + defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true }); + } +} + + +/***/ }), +/* 376 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.race` method +// https://tc39.es/ecma262/#sec-promise.race +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + race: function race(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + iterate(iterable, function (promise) { + call($promiseResolve, C, promise).then(capability.resolve, reject); + }); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 377 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var newPromiseCapabilityModule = __webpack_require__(372); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); + +// `Promise.reject` method +// https://tc39.es/ecma262/#sec-promise.reject +$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + reject: function reject(r) { + var capability = newPromiseCapabilityModule.f(this); + var capabilityReject = capability.reject; + capabilityReject(r); + return capability.promise; + } +}); + + +/***/ }), +/* 378 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var IS_PURE = __webpack_require__(36); +var NativePromiseConstructor = __webpack_require__(370); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); +var promiseResolve = __webpack_require__(379); + +var PromiseConstructorWrapper = getBuiltIn('Promise'); +var CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR; + +// `Promise.resolve` method +// https://tc39.es/ecma262/#sec-promise.resolve +$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, { + resolve: function resolve(x) { + return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x); + } +}); + + +/***/ }), +/* 379 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var newPromiseCapability = __webpack_require__(372); + +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + + +/***/ }), +/* 380 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.allSettled` method +// https://tc39.es/ecma262/#sec-promise.allsettled +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + allSettled: function allSettled(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'fulfilled', value: value }; + --remaining || resolve(values); + }, function (error) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'rejected', reason: error }; + --remaining || resolve(values); + }); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 381 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var getBuiltIn = __webpack_require__(23); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +var PROMISE_ANY_ERROR = 'No one promise resolved'; + +// `Promise.any` method +// https://tc39.es/ecma262/#sec-promise.any +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + any: function any(iterable) { + var C = this; + var AggregateError = getBuiltIn('AggregateError'); + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var errors = []; + var counter = 0; + var remaining = 1; + var alreadyResolved = false; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyRejected = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyRejected || alreadyResolved) return; + alreadyResolved = true; + resolve(value); + }, function (error) { + if (alreadyRejected || alreadyResolved) return; + alreadyRejected = true; + errors[index] = error; + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + }); + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 382 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var NativePromiseConstructor = __webpack_require__(370); +var fails = __webpack_require__(7); +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var speciesConstructor = __webpack_require__(358); +var promiseResolve = __webpack_require__(379); +var defineBuiltIn = __webpack_require__(47); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; + +// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829 +var NON_GENERIC = !!NativePromiseConstructor && fails(function () { + // eslint-disable-next-line unicorn/no-thenable -- required for testing + NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ }); +}); + +// `Promise.prototype.finally` method +// https://tc39.es/ecma262/#sec-promise.prototype.finally +$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, { + 'finally': function (onFinally) { + var C = speciesConstructor(this, getBuiltIn('Promise')); + var isFunction = isCallable(onFinally); + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); + } +}); + +// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then` +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['finally']; + if (NativePromisePrototype['finally'] !== method) { + defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true }); + } +} + + +/***/ }), +/* 383 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var slice = __webpack_require__(76); +var newPromiseCapabilityModule = __webpack_require__(372); +var aCallable = __webpack_require__(30); +var perform = __webpack_require__(369); + +var Promise = globalThis.Promise; + +var ACCEPT_ARGUMENTS = false; +// Avoiding the use of polyfills of the previous iteration of this proposal +// that does not accept arguments of the callback +var FORCED = !Promise || !Promise['try'] || perform(function () { + Promise['try'](function (argument) { + ACCEPT_ARGUMENTS = argument === 8; + }, 8); +}).error || !ACCEPT_ARGUMENTS; + +// `Promise.try` method +// https://tc39.es/ecma262/#sec-promise.try +$({ target: 'Promise', stat: true, forced: FORCED }, { + 'try': function (callbackfn /* , ...args */) { + var args = arguments.length > 1 ? slice(arguments, 1) : []; + var promiseCapability = newPromiseCapabilityModule.f(this); + var result = perform(function () { + return apply(aCallable(callbackfn), undefined, args); + }); + (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value); + return promiseCapability.promise; + } +}); + + +/***/ }), +/* 384 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var newPromiseCapabilityModule = __webpack_require__(372); + +// `Promise.withResolvers` method +// https://tc39.es/ecma262/#sec-promise.withResolvers +$({ target: 'Promise', stat: true }, { + withResolvers: function withResolvers() { + var promiseCapability = newPromiseCapabilityModule.f(this); + return { + promise: promiseCapability.promise, + resolve: promiseCapability.resolve, + reject: promiseCapability.reject + }; + } +}); + + +/***/ }), +/* 385 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var functionApply = __webpack_require__(94); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var fails = __webpack_require__(7); + +// MS Edge argumentsList argument is optional +var OPTIONAL_ARGUMENTS_LIST = !fails(function () { + // eslint-disable-next-line es/no-reflect -- required for testing + Reflect.apply(function () { /* empty */ }); +}); + +// `Reflect.apply` method +// https://tc39.es/ecma262/#sec-reflect.apply +$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, { + apply: function apply(target, thisArgument, argumentsList) { + return functionApply(aCallable(target), thisArgument, anObject(argumentsList)); + } +}); + + +/***/ }), +/* 386 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var bind = __webpack_require__(246); +var aConstructor = __webpack_require__(359); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var create = __webpack_require__(71); +var fails = __webpack_require__(7); + +var nativeConstruct = getBuiltIn('Reflect', 'construct'); +var ObjectPrototype = Object.prototype; +var push = [].push; + +// `Reflect.construct` method +// https://tc39.es/ecma262/#sec-reflect.construct +// MS Edge supports only 2 arguments and argumentsList argument is optional +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F); +}); + +var ARGS_BUG = !fails(function () { + nativeConstruct(function () { /* empty */ }); +}); + +var FORCED = NEW_TARGET_BUG || ARGS_BUG; + +$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, { + construct: function construct(Target, args /* , newTarget */) { + aConstructor(Target); + anObject(args); + var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]); + if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget); + if (Target === newTarget) { + // w/o altered newTarget, optimization for 0-4 arguments + switch (args.length) { + case 0: return new Target(); + case 1: return new Target(args[0]); + case 2: return new Target(args[0], args[1]); + case 3: return new Target(args[0], args[1], args[2]); + case 4: return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + apply(push, $args, args); + return new (apply(bind, Target, $args))(); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : ObjectPrototype); + var result = apply(Target, instance, args); + return isObject(result) ? result : instance; + } +}); + + +/***/ }), +/* 387 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var anObject = __webpack_require__(46); +var toPropertyKey = __webpack_require__(18); +var definePropertyModule = __webpack_require__(44); +var fails = __webpack_require__(7); + +// MS Edge has broken Reflect.defineProperty - throwing instead of returning false +var ERROR_INSTEAD_OF_FALSE = fails(function () { + // eslint-disable-next-line es/no-reflect -- required for testing + Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 }); +}); + +// `Reflect.defineProperty` method +// https://tc39.es/ecma262/#sec-reflect.defineproperty +$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, { + defineProperty: function defineProperty(target, propertyKey, attributes) { + anObject(target); + var key = toPropertyKey(propertyKey); + anObject(attributes); + try { + definePropertyModule.f(target, key, attributes); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 388 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Reflect.deleteProperty` method +// https://tc39.es/ecma262/#sec-reflect.deleteproperty +$({ target: 'Reflect', stat: true }, { + deleteProperty: function deleteProperty(target, propertyKey) { + var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey); + return descriptor && !descriptor.configurable ? false : delete target[propertyKey]; + } +}); + + +/***/ }), +/* 389 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var isObject = __webpack_require__(20); +var anObject = __webpack_require__(46); +var isDataDescriptor = __webpack_require__(390); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var getPrototypeOf = __webpack_require__(128); + +// `Reflect.get` method +// https://tc39.es/ecma262/#sec-reflect.get +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var descriptor, prototype; + if (anObject(target) === receiver) return target[propertyKey]; + descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey); + if (descriptor) return isDataDescriptor(descriptor) + ? descriptor.value + : descriptor.get === undefined ? undefined : call(descriptor.get, receiver); + if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver); +} + +$({ target: 'Reflect', stat: true }, { + get: get +}); + + +/***/ }), +/* 390 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); + +module.exports = function (descriptor) { + return descriptor !== undefined && (hasOwn(descriptor, 'value') || hasOwn(descriptor, 'writable')); +}; + + +/***/ }), +/* 391 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var anObject = __webpack_require__(46); +var getOwnPropertyDescriptorModule = __webpack_require__(5); + +// `Reflect.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-reflect.getownpropertydescriptor +$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { + return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + } +}); + + +/***/ }), +/* 392 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var objectGetPrototypeOf = __webpack_require__(128); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +// `Reflect.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-reflect.getprototypeof +$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(target) { + return objectGetPrototypeOf(anObject(target)); + } +}); + + +/***/ }), +/* 393 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Reflect.has` method +// https://tc39.es/ecma262/#sec-reflect.has +$({ target: 'Reflect', stat: true }, { + has: function has(target, propertyKey) { + return propertyKey in target; + } +}); + + +/***/ }), +/* 394 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var $isExtensible = __webpack_require__(274); + +// `Reflect.isExtensible` method +// https://tc39.es/ecma262/#sec-reflect.isextensible +$({ target: 'Reflect', stat: true }, { + isExtensible: function isExtensible(target) { + anObject(target); + return $isExtensible(target); + } +}); + + +/***/ }), +/* 395 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ownKeys = __webpack_require__(56); + +// `Reflect.ownKeys` method +// https://tc39.es/ecma262/#sec-reflect.ownkeys +$({ target: 'Reflect', stat: true }, { + ownKeys: ownKeys +}); + + +/***/ }), +/* 396 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var anObject = __webpack_require__(46); +var FREEZING = __webpack_require__(276); + +// `Reflect.preventExtensions` method +// https://tc39.es/ecma262/#sec-reflect.preventextensions +$({ target: 'Reflect', stat: true, sham: !FREEZING }, { + preventExtensions: function preventExtensions(target) { + anObject(target); + try { + var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions'); + if (objectPreventExtensions) objectPreventExtensions(target); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 397 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var isDataDescriptor = __webpack_require__(390); +var fails = __webpack_require__(7); +var definePropertyModule = __webpack_require__(44); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var getPrototypeOf = __webpack_require__(128); +var createPropertyDescriptor = __webpack_require__(11); + +// `Reflect.set` method +// https://tc39.es/ecma262/#sec-reflect.set +function set(target, propertyKey, V /* , receiver */) { + var receiver = arguments.length < 4 ? target : arguments[3]; + var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + var existingDescriptor, prototype, setter; + if (!ownDescriptor) { + if (isObject(prototype = getPrototypeOf(target))) { + return set(prototype, propertyKey, V, receiver); + } + ownDescriptor = createPropertyDescriptor(0); + } + if (isDataDescriptor(ownDescriptor)) { + if (ownDescriptor.writable === false || !isObject(receiver)) return false; + if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) { + if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; + existingDescriptor.value = V; + definePropertyModule.f(receiver, propertyKey, existingDescriptor); + } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V)); + } else { + setter = ownDescriptor.set; + if (setter === undefined) return false; + call(setter, receiver, V); + } return true; +} + +// MS Edge 17-18 Reflect.set allows setting the property to object +// with non-writable property on the prototype +var MS_EDGE_BUG = fails(function () { + var Constructor = function () { /* empty */ }; + var object = definePropertyModule.f(new Constructor(), 'a', { configurable: true }); + // eslint-disable-next-line es/no-reflect -- required for testing + return Reflect.set(Constructor.prototype, 'a', 1, object) !== false; +}); + +$({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, { + set: set +}); + + +/***/ }), +/* 398 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var aPossiblePrototype = __webpack_require__(115); +var objectSetPrototypeOf = __webpack_require__(113); + +// `Reflect.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-reflect.setprototypeof +if (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, { + setPrototypeOf: function setPrototypeOf(target, proto) { + anObject(target); + aPossiblePrototype(proto); + try { + objectSetPrototypeOf(target, proto); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 399 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var setToStringTag = __webpack_require__(82); + +$({ global: true }, { Reflect: {} }); + +// Reflect[@@toStringTag] property +// https://tc39.es/ecma262/#sec-reflect-@@tostringtag +setToStringTag(globalThis.Reflect, 'Reflect', true); + + +/***/ }), +/* 400 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var inheritIfRequired = __webpack_require__(118); +var createNonEnumerableProperty = __webpack_require__(43); +var create = __webpack_require__(71); +var getOwnPropertyNames = (__webpack_require__(57).f); +var isPrototypeOf = __webpack_require__(24); +var isRegExp = __webpack_require__(401); +var toString = __webpack_require__(68); +var getRegExpFlags = __webpack_require__(402); +var stickyHelpers = __webpack_require__(404); +var proxyAccessor = __webpack_require__(117); +var defineBuiltIn = __webpack_require__(47); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var enforceInternalState = (__webpack_require__(51).enforce); +var setSpecies = __webpack_require__(194); +var wellKnownSymbol = __webpack_require__(33); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var UNSUPPORTED_NCG = __webpack_require__(406); + +var MATCH = wellKnownSymbol('match'); +var NativeRegExp = globalThis.RegExp; +var RegExpPrototype = NativeRegExp.prototype; +var SyntaxError = globalThis.SyntaxError; +var exec = uncurryThis(RegExpPrototype.exec); +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var stringIndexOf = uncurryThis(''.indexOf); +var stringSlice = uncurryThis(''.slice); +// TODO: Use only proper RegExpIdentifierName +var IS_NCG = /^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/; +var re1 = /a/g; +var re2 = /a/g; + +// "new" should create a new object, old webkit bug +var CORRECT_NEW = new NativeRegExp(re1) !== re1; + +var MISSED_STICKY = stickyHelpers.MISSED_STICKY; +var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; + +var BASE_FORCED = DESCRIPTORS && + (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () { + re2[MATCH] = false; + // RegExp constructor can alter flags and IsRegExp works correct with @@match + // eslint-disable-next-line sonarjs/inconsistent-function-call -- required for testing + return NativeRegExp(re1) !== re1 || NativeRegExp(re2) === re2 || String(NativeRegExp(re1, 'i')) !== '/a/i'; + })); + +var handleDotAll = function (string) { + var length = string.length; + var index = 0; + var result = ''; + var brackets = false; + var chr; + for (; index <= length; index++) { + chr = charAt(string, index); + if (chr === '\\') { + result += chr + charAt(string, ++index); + continue; + } + if (!brackets && chr === '.') { + result += '[\\s\\S]'; + } else { + if (chr === '[') { + brackets = true; + } else if (chr === ']') { + brackets = false; + } result += chr; + } + } return result; +}; + +var handleNCG = function (string) { + var length = string.length; + var index = 0; + var result = ''; + var named = []; + var names = create(null); + var brackets = false; + var ncg = false; + var groupid = 0; + var groupname = ''; + var chr; + for (; index <= length; index++) { + chr = charAt(string, index); + if (chr === '\\') { + chr += charAt(string, ++index); + } else if (chr === ']') { + brackets = false; + } else if (!brackets) switch (true) { + case chr === '[': + brackets = true; + break; + case chr === '(': + result += chr; + // ignore non-capturing groups + if (stringSlice(string, index + 1, index + 3) === '?:') { + continue; + } + if (exec(IS_NCG, stringSlice(string, index + 1))) { + index += 2; + ncg = true; + } + groupid++; + continue; + case chr === '>' && ncg: + if (groupname === '' || hasOwn(names, groupname)) { + throw new SyntaxError('Invalid capture group name'); + } + names[groupname] = true; + named[named.length] = [groupname, groupid]; + ncg = false; + groupname = ''; + continue; + } + if (ncg) groupname += chr; + else result += chr; + } return [result, named]; +}; + +// `RegExp` constructor +// https://tc39.es/ecma262/#sec-regexp-constructor +if (isForced('RegExp', BASE_FORCED)) { + var RegExpWrapper = function RegExp(pattern, flags) { + var thisIsRegExp = isPrototypeOf(RegExpPrototype, this); + var patternIsRegExp = isRegExp(pattern); + var flagsAreUndefined = flags === undefined; + var groups = []; + var rawPattern = pattern; + var rawFlags, dotAll, sticky, handled, result, state; + + if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) { + return pattern; + } + + if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) { + pattern = pattern.source; + if (flagsAreUndefined) flags = getRegExpFlags(rawPattern); + } + + pattern = pattern === undefined ? '' : toString(pattern); + flags = flags === undefined ? '' : toString(flags); + rawPattern = pattern; + + if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) { + dotAll = !!flags && stringIndexOf(flags, 's') > -1; + if (dotAll) flags = replace(flags, /s/g, ''); + } + + rawFlags = flags; + + if (MISSED_STICKY && 'sticky' in re1) { + sticky = !!flags && stringIndexOf(flags, 'y') > -1; + if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, ''); + } + + if (UNSUPPORTED_NCG) { + handled = handleNCG(pattern); + pattern = handled[0]; + groups = handled[1]; + } + + result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper); + + if (dotAll || sticky || groups.length) { + state = enforceInternalState(result); + if (dotAll) { + state.dotAll = true; + state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags); + } + if (sticky) state.sticky = true; + if (groups.length) state.groups = groups; + } + + if (pattern !== rawPattern) try { + // fails in old engines, but we have no alternatives for unsupported regex syntax + createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern); + } catch (error) { /* empty */ } + + return result; + }; + + for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) { + proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]); + } + + RegExpPrototype.constructor = RegExpWrapper; + RegExpWrapper.prototype = RegExpPrototype; + defineBuiltIn(globalThis, 'RegExp', RegExpWrapper, { constructor: true }); +} + +// https://tc39.es/ecma262/#sec-get-regexp-@@species +setSpecies('RegExp'); + + +/***/ }), +/* 401 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var wellKnownSymbol = __webpack_require__(33); + +var MATCH = wellKnownSymbol('match'); + +// `IsRegExp` abstract operation +// https://tc39.es/ecma262/#sec-isregexp +module.exports = function (it) { + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp'); +}; + + +/***/ }), +/* 402 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var hasOwn = __webpack_require__(38); +var isPrototypeOf = __webpack_require__(24); +var regExpFlags = __webpack_require__(403); + +var RegExpPrototype = RegExp.prototype; + +module.exports = function (R) { + var flags = R.flags; + return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R) + ? call(regExpFlags, R) : flags; +}; + + +/***/ }), +/* 403 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); + +// `RegExp.prototype.flags` getter implementation +// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.hasIndices) result += 'd'; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.dotAll) result += 's'; + if (that.unicode) result += 'u'; + if (that.unicodeSets) result += 'v'; + if (that.sticky) result += 'y'; + return result; +}; + + +/***/ }), +/* 404 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +var UNSUPPORTED_Y = fails(function () { + var re = $RegExp('a', 'y'); + re.lastIndex = 2; + return re.exec('abcd') !== null; +}); + +// UC Browser bug +// https://github.com/zloirock/core-js/issues/1008 +var MISSED_STICKY = UNSUPPORTED_Y || fails(function () { + return !$RegExp('a', 'y').sticky; +}); + +var BROKEN_CARET = UNSUPPORTED_Y || fails(function () { + // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 + var re = $RegExp('^r', 'gy'); + re.lastIndex = 2; + return re.exec('str') !== null; +}); + +module.exports = { + BROKEN_CARET: BROKEN_CARET, + MISSED_STICKY: MISSED_STICKY, + UNSUPPORTED_Y: UNSUPPORTED_Y +}; + + +/***/ }), +/* 405 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +module.exports = fails(function () { + var re = $RegExp('.', 's'); + return !(re.dotAll && re.test('\n') && re.flags === 's'); +}); + + +/***/ }), +/* 406 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +module.exports = fails(function () { + var re = $RegExp('(?<a>b)', 'g'); + return re.exec('b').groups.a !== 'b' || + 'b'.replace(re, '$<a>c') !== 'bc'; +}); + + +/***/ }), +/* 407 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var classof = __webpack_require__(15); +var defineBuiltInAccessor = __webpack_require__(77); +var getInternalState = (__webpack_require__(51).get); + +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; + +// `RegExp.prototype.dotAll` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall +if (DESCRIPTORS && UNSUPPORTED_DOT_ALL) { + defineBuiltInAccessor(RegExpPrototype, 'dotAll', { + configurable: true, + get: function dotAll() { + if (this === RegExpPrototype) return; + // We can't use InternalStateModule.getterFor because + // we don't add metadata for regexps created by a literal. + if (classof(this) === 'RegExp') { + return !!getInternalState(this).dotAll; + } + throw new $TypeError('Incompatible receiver, RegExp required'); + } + }); +} + + +/***/ }), +/* 408 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var exec = __webpack_require__(409); + +// `RegExp.prototype.exec` method +// https://tc39.es/ecma262/#sec-regexp.prototype.exec +$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { + exec: exec +}); + + +/***/ }), +/* 409 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */ +/* eslint-disable regexp/no-useless-quantifier -- testing */ +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var regexpFlags = __webpack_require__(403); +var stickyHelpers = __webpack_require__(404); +var shared = __webpack_require__(34); +var create = __webpack_require__(71); +var getInternalState = (__webpack_require__(51).get); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var UNSUPPORTED_NCG = __webpack_require__(406); + +var nativeReplace = shared('native-string-replace', String.prototype.replace); +var nativeExec = RegExp.prototype.exec; +var patchedExec = nativeExec; +var charAt = uncurryThis(''.charAt); +var indexOf = uncurryThis(''.indexOf); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); + +var UPDATES_LAST_INDEX_WRONG = (function () { + var re1 = /a/; + var re2 = /b*/g; + call(nativeExec, re1, 'a'); + call(nativeExec, re2, 'a'); + return re1.lastIndex !== 0 || re2.lastIndex !== 0; +})(); + +var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET; + +// nonparticipating capturing group, copied from es5-shim's String#split patch. +var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; + +var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG; + +if (PATCH) { + patchedExec = function exec(string) { + var re = this; + var state = getInternalState(re); + var str = toString(string); + var raw = state.raw; + var result, reCopy, lastIndex, match, i, object, group; + + if (raw) { + raw.lastIndex = re.lastIndex; + result = call(patchedExec, raw, str); + re.lastIndex = raw.lastIndex; + return result; + } + + var groups = state.groups; + var sticky = UNSUPPORTED_Y && re.sticky; + var flags = call(regexpFlags, re); + var source = re.source; + var charsAdded = 0; + var strCopy = str; + + if (sticky) { + flags = replace(flags, 'y', ''); + if (indexOf(flags, 'g') === -1) { + flags += 'g'; + } + + strCopy = stringSlice(str, re.lastIndex); + // Support anchored sticky behavior. + if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\n')) { + source = '(?: ' + source + ')'; + strCopy = ' ' + strCopy; + charsAdded++; + } + // ^(? + rx + ) is needed, in combination with some str slicing, to + // simulate the 'y' flag. + reCopy = new RegExp('^(?:' + source + ')', flags); + } + + if (NPCG_INCLUDED) { + reCopy = new RegExp('^' + source + '$(?!\\s)', flags); + } + if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; + + match = call(nativeExec, sticky ? reCopy : re, strCopy); + + if (sticky) { + if (match) { + match.input = stringSlice(match.input, charsAdded); + match[0] = stringSlice(match[0], charsAdded); + match.index = re.lastIndex; + re.lastIndex += match[0].length; + } else re.lastIndex = 0; + } else if (UPDATES_LAST_INDEX_WRONG && match) { + re.lastIndex = re.global ? match.index + match[0].length : lastIndex; + } + if (NPCG_INCLUDED && match && match.length > 1) { + // Fix browsers whose `exec` methods don't consistently return `undefined` + // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/ + call(nativeReplace, match[0], reCopy, function () { + for (i = 1; i < arguments.length - 2; i++) { + if (arguments[i] === undefined) match[i] = undefined; + } + }); + } + + if (match && groups) { + match.groups = object = create(null); + for (i = 0; i < groups.length; i++) { + group = groups[i]; + object[group[0]] = match[group[1]]; + } + } + + return match; + }; +} + +module.exports = patchedExec; + + +/***/ }), +/* 410 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var regExpFlags = __webpack_require__(403); +var fails = __webpack_require__(7); + +// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError +var RegExp = globalThis.RegExp; +var RegExpPrototype = RegExp.prototype; + +var FORCED = DESCRIPTORS && fails(function () { + var INDICES_SUPPORT = true; + try { + RegExp('.', 'd'); + } catch (error) { + INDICES_SUPPORT = false; + } + + var O = {}; + // modern V8 bug + var calls = ''; + var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy'; + + var addGetter = function (key, chr) { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty(O, key, { get: function () { + calls += chr; + return true; + } }); + }; + + var pairs = { + dotAll: 's', + global: 'g', + ignoreCase: 'i', + multiline: 'm', + sticky: 'y' + }; + + if (INDICES_SUPPORT) pairs.hasIndices = 'd'; + + for (var key in pairs) addGetter(key, pairs[key]); + + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var result = Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call(O); + + return result !== expected || calls !== expected; +}); + +// `RegExp.prototype.flags` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags +if (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', { + configurable: true, + get: regExpFlags +}); + + +/***/ }), +/* 411 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var MISSED_STICKY = (__webpack_require__(404).MISSED_STICKY); +var classof = __webpack_require__(15); +var defineBuiltInAccessor = __webpack_require__(77); +var getInternalState = (__webpack_require__(51).get); + +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; + +// `RegExp.prototype.sticky` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky +if (DESCRIPTORS && MISSED_STICKY) { + defineBuiltInAccessor(RegExpPrototype, 'sticky', { + configurable: true, + get: function sticky() { + if (this === RegExpPrototype) return; + // We can't use InternalStateModule.getterFor because + // we don't add metadata for regexps created by a literal. + if (classof(this) === 'RegExp') { + return !!getInternalState(this).sticky; + } + throw new $TypeError('Incompatible receiver, RegExp required'); + } + }); +} + + +/***/ }), +/* 412 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` since it's moved to entry points +__webpack_require__(408); +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var anObject = __webpack_require__(46); +var toString = __webpack_require__(68); + +var DELEGATES_TO_EXEC = function () { + var execCalled = false; + var re = /[ac]/; + re.exec = function () { + execCalled = true; + return /./.exec.apply(this, arguments); + }; + return re.test('abc') === true && execCalled; +}(); + +var nativeTest = /./.test; + +// `RegExp.prototype.test` method +// https://tc39.es/ecma262/#sec-regexp.prototype.test +$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, { + test: function (S) { + var R = anObject(this); + var string = toString(S); + var exec = R.exec; + if (!isCallable(exec)) return call(nativeTest, R, string); + var result = call(exec, R, string); + if (result === null) return false; + anObject(result); + return true; + } +}); + + +/***/ }), +/* 413 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var PROPER_FUNCTION_NAME = (__webpack_require__(49).PROPER); +var defineBuiltIn = __webpack_require__(47); +var anObject = __webpack_require__(46); +var $toString = __webpack_require__(68); +var fails = __webpack_require__(7); +var getRegExpFlags = __webpack_require__(402); + +var TO_STRING = 'toString'; +var RegExpPrototype = RegExp.prototype; +var nativeToString = RegExpPrototype[TO_STRING]; + +var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; }); +// FF44- RegExp#toString has a wrong name +var INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING; + +// `RegExp.prototype.toString` method +// https://tc39.es/ecma262/#sec-regexp.prototype.tostring +if (NOT_GENERIC || INCORRECT_NAME) { + defineBuiltIn(RegExpPrototype, TO_STRING, function toString() { + var R = anObject(this); + var pattern = $toString(R.source); + var flags = $toString(getRegExpFlags(R)); + return '/' + pattern + '/' + flags; + }, { unsafe: true }); +} + + +/***/ }), +/* 414 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(415); + + +/***/ }), +/* 415 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionStrong = __webpack_require__(277); + +// `Set` constructor +// https://tc39.es/ecma262/#sec-set-objects +collection('Set', function (init) { + return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + + +/***/ }), +/* 416 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var difference = __webpack_require__(417); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.difference` method +// https://tc39.es/ecma262/#sec-set.prototype.difference +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, { + difference: difference +}); + + +/***/ }), +/* 417 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var clone = __webpack_require__(420); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); + +var has = SetHelpers.has; +var remove = SetHelpers.remove; + +// `Set.prototype.difference` method +// https://github.com/tc39/proposal-set-methods +module.exports = function difference(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = clone(O); + if (size(O) <= otherRec.size) iterateSet(O, function (e) { + if (otherRec.includes(e)) remove(result, e); + }); + else iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) remove(result, e); + }); + return result; +}; + + +/***/ }), +/* 418 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var has = (__webpack_require__(419).has); + +// Perform ? RequireInternalSlot(M, [[SetData]]) +module.exports = function (it) { + has(it); + return it; +}; + + +/***/ }), +/* 419 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// eslint-disable-next-line es/no-set -- safe +var SetPrototype = Set.prototype; + +module.exports = { + // eslint-disable-next-line es/no-set -- safe + Set: Set, + add: uncurryThis(SetPrototype.add), + has: uncurryThis(SetPrototype.has), + remove: uncurryThis(SetPrototype['delete']), + proto: SetPrototype +}; + + +/***/ }), +/* 420 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var SetHelpers = __webpack_require__(419); +var iterate = __webpack_require__(421); + +var Set = SetHelpers.Set; +var add = SetHelpers.add; + +module.exports = function (set) { + var result = new Set(); + iterate(set, function (it) { + add(result, it); + }); + return result; +}; + + +/***/ }), +/* 421 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var iterateSimple = __webpack_require__(422); +var SetHelpers = __webpack_require__(419); + +var Set = SetHelpers.Set; +var SetPrototype = SetHelpers.proto; +var forEach = uncurryThis(SetPrototype.forEach); +var keys = uncurryThis(SetPrototype.keys); +var next = keys(new Set()).next; + +module.exports = function (set, fn, interruptible) { + return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn); +}; + + +/***/ }), +/* 422 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); + +module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) { + var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator; + var next = record.next; + var step, result; + while (!(step = call(next, iterator)).done) { + result = fn(step.value); + if (result !== undefined) return result; + } +}; + + +/***/ }), +/* 423 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThisAccessor = __webpack_require__(114); +var SetHelpers = __webpack_require__(419); + +module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) { + return set.size; +}; + + +/***/ }), +/* 424 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var call = __webpack_require__(8); +var toIntegerOrInfinity = __webpack_require__(61); +var getIteratorDirect = __webpack_require__(252); + +var INVALID_SIZE = 'Invalid size'; +var $RangeError = RangeError; +var $TypeError = TypeError; +var max = Math.max; + +var SetRecord = function (set, intSize) { + this.set = set; + this.size = max(intSize, 0); + this.has = aCallable(set.has); + this.keys = aCallable(set.keys); +}; + +SetRecord.prototype = { + getIterator: function () { + return getIteratorDirect(anObject(call(this.keys, this.set))); + }, + includes: function (it) { + return call(this.has, this.set, it); + } +}; + +// `GetSetRecord` abstract operation +// https://tc39.es/proposal-set-methods/#sec-getsetrecord +module.exports = function (obj) { + anObject(obj); + var numSize = +obj.size; + // NOTE: If size is undefined, then numSize will be NaN + // eslint-disable-next-line no-self-compare -- NaN check + if (numSize !== numSize) throw new $TypeError(INVALID_SIZE); + var intSize = toIntegerOrInfinity(numSize); + if (intSize < 0) throw new $RangeError(INVALID_SIZE); + return new SetRecord(obj, intSize); +}; + + +/***/ }), +/* 425 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); + +var createSetLike = function (size) { + return { + size: size, + has: function () { + return false; + }, + keys: function () { + return { + next: function () { + return { done: true }; + } + }; + } + }; +}; + +module.exports = function (name) { + var Set = getBuiltIn('Set'); + try { + new Set()[name](createSetLike(0)); + try { + // late spec change, early WebKit ~ Safari 17.0 beta implementation does not pass it + // https://github.com/tc39/proposal-set-methods/pull/88 + new Set()[name](createSetLike(-1)); + return false; + } catch (error2) { + return true; + } + } catch (error) { + return false; + } +}; + + +/***/ }), +/* 426 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var intersection = __webpack_require__(427); +var setMethodAcceptSetLike = __webpack_require__(425); + +var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () { + // eslint-disable-next-line es/no-array-from, es/no-set -- testing + return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2'; +}); + +// `Set.prototype.intersection` method +// https://tc39.es/ecma262/#sec-set.prototype.intersection +$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, { + intersection: intersection +}); + + +/***/ }), +/* 427 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); + +var Set = SetHelpers.Set; +var add = SetHelpers.add; +var has = SetHelpers.has; + +// `Set.prototype.intersection` method +// https://github.com/tc39/proposal-set-methods +module.exports = function intersection(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = new Set(); + + if (size(O) > otherRec.size) { + iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) add(result, e); + }); + } else { + iterateSet(O, function (e) { + if (otherRec.includes(e)) add(result, e); + }); + } + + return result; +}; + + +/***/ }), +/* 428 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isDisjointFrom = __webpack_require__(429); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isDisjointFrom` method +// https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, { + isDisjointFrom: isDisjointFrom +}); + + +/***/ }), +/* 429 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var has = (__webpack_require__(419).has); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); +var iteratorClose = __webpack_require__(135); + +// `Set.prototype.isDisjointFrom` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom +module.exports = function isDisjointFrom(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) <= otherRec.size) return iterateSet(O, function (e) { + if (otherRec.includes(e)) return false; + }, true) !== false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (has(O, e)) return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + + +/***/ }), +/* 430 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isSubsetOf = __webpack_require__(431); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isSubsetOf` method +// https://tc39.es/ecma262/#sec-set.prototype.issubsetof +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, { + isSubsetOf: isSubsetOf +}); + + +/***/ }), +/* 431 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var size = __webpack_require__(423); +var iterate = __webpack_require__(421); +var getSetRecord = __webpack_require__(424); + +// `Set.prototype.isSubsetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf +module.exports = function isSubsetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) > otherRec.size) return false; + return iterate(O, function (e) { + if (!otherRec.includes(e)) return false; + }, true) !== false; +}; + + +/***/ }), +/* 432 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isSupersetOf = __webpack_require__(433); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isSupersetOf` method +// https://tc39.es/ecma262/#sec-set.prototype.issupersetof +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, { + isSupersetOf: isSupersetOf +}); + + +/***/ }), +/* 433 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var has = (__webpack_require__(419).has); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); +var iteratorClose = __webpack_require__(135); + +// `Set.prototype.isSupersetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf +module.exports = function isSupersetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) < otherRec.size) return false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (!has(O, e)) return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + + +/***/ }), +/* 434 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var symmetricDifference = __webpack_require__(435); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.symmetricDifference` method +// https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, { + symmetricDifference: symmetricDifference +}); + + +/***/ }), +/* 435 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var clone = __webpack_require__(420); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); + +var add = SetHelpers.add; +var has = SetHelpers.has; +var remove = SetHelpers.remove; + +// `Set.prototype.symmetricDifference` method +// https://github.com/tc39/proposal-set-methods +module.exports = function symmetricDifference(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (e) { + if (has(O, e)) remove(result, e); + else add(result, e); + }); + return result; +}; + + +/***/ }), +/* 436 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var union = __webpack_require__(437); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.union` method +// https://tc39.es/ecma262/#sec-set.prototype.union +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, { + union: union +}); + + +/***/ }), +/* 437 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var add = (__webpack_require__(419).add); +var clone = __webpack_require__(420); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); + +// `Set.prototype.union` method +// https://github.com/tc39/proposal-set-methods +module.exports = function union(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (it) { + add(result, it); + }); + return result; +}; + + +/***/ }), +/* 438 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); + +var charAt = uncurryThis(''.charAt); + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-string-prototype-at -- safe + return '𠮷'.at(-2) !== '\uD842'; +}); + +// `String.prototype.at` method +// https://tc39.es/ecma262/#sec-string.prototype.at +$({ target: 'String', proto: true, forced: FORCED }, { + at: function at(index) { + var S = toString(requireObjectCoercible(this)); + var len = S.length; + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : charAt(S, k); + } +}); + + +/***/ }), +/* 439 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var codeAt = (__webpack_require__(440).codeAt); + +// `String.prototype.codePointAt` method +// https://tc39.es/ecma262/#sec-string.prototype.codepointat +$({ target: 'String', proto: true }, { + codePointAt: function codePointAt(pos) { + return codeAt(this, pos); + } +}); + + +/***/ }), +/* 440 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); + +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var stringSlice = uncurryThis(''.slice); + +var createMethod = function (CONVERT_TO_STRING) { + return function ($this, pos) { + var S = toString(requireObjectCoercible($this)); + var position = toIntegerOrInfinity(pos); + var size = S.length; + var first, second; + if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; + first = charCodeAt(S, position); + return first < 0xD800 || first > 0xDBFF || position + 1 === size + || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF + ? CONVERT_TO_STRING + ? charAt(S, position) + : first + : CONVERT_TO_STRING + ? stringSlice(S, position, position + 2) + : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; + }; +}; + +module.exports = { + // `String.prototype.codePointAt` method + // https://tc39.es/ecma262/#sec-string.prototype.codepointat + codeAt: createMethod(false), + // `String.prototype.at` method + // https://github.com/mathiasbynens/String.prototype.at + charAt: createMethod(true) +}; + + +/***/ }), +/* 441 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var correctIsRegExpLogic = __webpack_require__(443); +var IS_PURE = __webpack_require__(36); + +var slice = uncurryThis(''.slice); +var min = Math.min; + +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith'); + return descriptor && !descriptor.writable; +}(); + +// `String.prototype.endsWith` method +// https://tc39.es/ecma262/#sec-string.prototype.endswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + endsWith: function endsWith(searchString /* , endPosition = @length */) { + var that = toString(requireObjectCoercible(this)); + notARegExp(searchString); + var endPosition = arguments.length > 1 ? arguments[1] : undefined; + var len = that.length; + var end = endPosition === undefined ? len : min(toLength(endPosition), len); + var search = toString(searchString); + return slice(that, end - search.length, end) === search; + } +}); + + +/***/ }), +/* 442 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isRegExp = __webpack_require__(401); + +var $TypeError = TypeError; + +module.exports = function (it) { + if (isRegExp(it)) { + throw new $TypeError("The method doesn't accept regular expressions"); + } return it; +}; + + +/***/ }), +/* 443 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var MATCH = wellKnownSymbol('match'); + +module.exports = function (METHOD_NAME) { + var regexp = /./; + try { + '/./'[METHOD_NAME](regexp); + } catch (error1) { + try { + regexp[MATCH] = false; + return '/./'[METHOD_NAME](regexp); + } catch (error2) { /* empty */ } + } return false; +}; + + +/***/ }), +/* 444 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toAbsoluteIndex = __webpack_require__(60); + +var $RangeError = RangeError; +var fromCharCode = String.fromCharCode; +// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing +var $fromCodePoint = String.fromCodePoint; +var join = uncurryThis([].join); + +// length should be 1, old FF problem +var INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length !== 1; + +// `String.fromCodePoint` method +// https://tc39.es/ecma262/#sec-string.fromcodepoint +$({ target: 'String', stat: true, arity: 1, forced: INCORRECT_LENGTH }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + fromCodePoint: function fromCodePoint(x) { + var elements = []; + var length = arguments.length; + var i = 0; + var code; + while (length > i) { + code = +arguments[i++]; + if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw new $RangeError(code + ' is not a valid code point'); + elements[i] = code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00); + } return join(elements, ''); + } +}); + + +/***/ }), +/* 445 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var correctIsRegExpLogic = __webpack_require__(443); + +var stringIndexOf = uncurryThis(''.indexOf); + +// `String.prototype.includes` method +// https://tc39.es/ecma262/#sec-string.prototype.includes +$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { + includes: function includes(searchString /* , position = 0 */) { + return !!~stringIndexOf( + toString(requireObjectCoercible(this)), + toString(notARegExp(searchString)), + arguments.length > 1 ? arguments[1] : undefined + ); + } +}); + + +/***/ }), +/* 446 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); + +var charCodeAt = uncurryThis(''.charCodeAt); + +// `String.prototype.isWellFormed` method +// https://tc39.es/ecma262/#sec-string.prototype.iswellformed +$({ target: 'String', proto: true }, { + isWellFormed: function isWellFormed() { + var S = toString(requireObjectCoercible(this)); + var length = S.length; + for (var i = 0; i < length; i++) { + var charCode = charCodeAt(S, i); + // single UTF-16 code unit + if ((charCode & 0xF800) !== 0xD800) continue; + // unpaired surrogate + if (charCode >= 0xDC00 || ++i >= length || (charCodeAt(S, i) & 0xFC00) !== 0xDC00) return false; + } return true; + } +}); + + +/***/ }), +/* 447 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var charAt = (__webpack_require__(440).charAt); +var toString = __webpack_require__(68); +var InternalStateModule = __webpack_require__(51); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); + +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// `String.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-string.prototype-@@iterator +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: toString(iterated), + index: 0 + }); +// `%StringIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return createIterResultObject(undefined, true); + point = charAt(string, index); + state.index += point.length; + return createIterResultObject(point, false); +}); + + +/***/ }), +/* 448 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); +var getMethod = __webpack_require__(29); +var advanceStringIndex = __webpack_require__(450); +var regExpExec = __webpack_require__(451); + +// @@match logic +fixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) { + return [ + // `String.prototype.match` method + // https://tc39.es/ecma262/#sec-string.prototype.match + function match(regexp) { + var O = requireObjectCoercible(this); + var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH); + return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O)); + }, + // `RegExp.prototype[@@match]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@match + function (string) { + var rx = anObject(this); + var S = toString(string); + var res = maybeCallNative(nativeMatch, rx, S); + + if (res.done) return res.value; + + if (!rx.global) return regExpExec(rx, S); + + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + var A = []; + var n = 0; + var result; + while ((result = regExpExec(rx, S)) !== null) { + var matchStr = toString(result[0]); + A[n] = matchStr; + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + n++; + } + return n === 0 ? null : A; + } + ]; +}); + + +/***/ }), +/* 449 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` since it's moved to entry points +__webpack_require__(408); +var call = __webpack_require__(8); +var defineBuiltIn = __webpack_require__(47); +var regexpExec = __webpack_require__(409); +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var createNonEnumerableProperty = __webpack_require__(43); + +var SPECIES = wellKnownSymbol('species'); +var RegExpPrototype = RegExp.prototype; + +module.exports = function (KEY, exec, FORCED, SHAM) { + var SYMBOL = wellKnownSymbol(KEY); + + var DELEGATES_TO_SYMBOL = !fails(function () { + // String methods call symbol-named RegExp methods + var O = {}; + O[SYMBOL] = function () { return 7; }; + return ''[KEY](O) !== 7; + }); + + var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { + // Symbol-named RegExp methods call .exec + var execCalled = false; + var re = /a/; + + if (KEY === 'split') { + // We can't use real regex here since it causes deoptimization + // and serious performance degradation in V8 + // https://github.com/zloirock/core-js/issues/306 + re = {}; + // RegExp[@@split] doesn't call the regex's exec method, but first creates + // a new one. We need to return the patched regex when creating the new one. + re.constructor = {}; + re.constructor[SPECIES] = function () { return re; }; + re.flags = ''; + re[SYMBOL] = /./[SYMBOL]; + } + + re.exec = function () { + execCalled = true; + return null; + }; + + re[SYMBOL](''); + return !execCalled; + }); + + if ( + !DELEGATES_TO_SYMBOL || + !DELEGATES_TO_EXEC || + FORCED + ) { + var nativeRegExpMethod = /./[SYMBOL]; + var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { + var $exec = regexp.exec; + if ($exec === regexpExec || $exec === RegExpPrototype.exec) { + if (DELEGATES_TO_SYMBOL && !forceStringMethod) { + // The native String method already delegates to @@method (this + // polyfilled function), leasing to infinite recursion. + // We avoid it by directly calling the native @@method method. + return { done: true, value: call(nativeRegExpMethod, regexp, str, arg2) }; + } + return { done: true, value: call(nativeMethod, str, regexp, arg2) }; + } + return { done: false }; + }); + + defineBuiltIn(String.prototype, KEY, methods[0]); + defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]); + } + + if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true); +}; + + +/***/ }), +/* 450 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var charAt = (__webpack_require__(440).charAt); + +// `AdvanceStringIndex` abstract operation +// https://tc39.es/ecma262/#sec-advancestringindex +module.exports = function (S, index, unicode) { + return index + (unicode ? charAt(S, index).length : 1); +}; + + +/***/ }), +/* 451 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(15); +var regexpExec = __webpack_require__(409); + +var $TypeError = TypeError; + +// `RegExpExec` abstract operation +// https://tc39.es/ecma262/#sec-regexpexec +module.exports = function (R, S) { + var exec = R.exec; + if (isCallable(exec)) { + var result = call(exec, R, S); + if (result !== null) anObject(result); + return result; + } + if (classof(R) === 'RegExp') return call(regexpExec, R, S); + throw new $TypeError('RegExp#exec called on incompatible receiver'); +}; + + +/***/ }), +/* 452 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-string-prototype-matchall -- safe */ +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(85); +var createIteratorConstructor = __webpack_require__(170); +var createIterResultObject = __webpack_require__(172); +var requireObjectCoercible = __webpack_require__(16); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var classof = __webpack_require__(15); +var isRegExp = __webpack_require__(401); +var getRegExpFlags = __webpack_require__(402); +var getMethod = __webpack_require__(29); +var defineBuiltIn = __webpack_require__(47); +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var speciesConstructor = __webpack_require__(358); +var advanceStringIndex = __webpack_require__(450); +var regExpExec = __webpack_require__(451); +var InternalStateModule = __webpack_require__(51); +var IS_PURE = __webpack_require__(36); + +var MATCH_ALL = wellKnownSymbol('matchAll'); +var REGEXP_STRING = 'RegExp String'; +var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR); +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; +var stringIndexOf = uncurryThis(''.indexOf); +var nativeMatchAll = uncurryThis(''.matchAll); + +var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () { + nativeMatchAll('a', /./); +}); + +var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, $global, fullUnicode) { + setInternalState(this, { + type: REGEXP_STRING_ITERATOR, + regexp: regexp, + string: string, + global: $global, + unicode: fullUnicode, + done: false + }); +}, REGEXP_STRING, function next() { + var state = getInternalState(this); + if (state.done) return createIterResultObject(undefined, true); + var R = state.regexp; + var S = state.string; + var match = regExpExec(R, S); + if (match === null) { + state.done = true; + return createIterResultObject(undefined, true); + } + if (state.global) { + if (toString(match[0]) === '') R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode); + return createIterResultObject(match, false); + } + state.done = true; + return createIterResultObject(match, false); +}); + +var $matchAll = function (string) { + var R = anObject(this); + var S = toString(string); + var C = speciesConstructor(R, RegExp); + var flags = toString(getRegExpFlags(R)); + var matcher, $global, fullUnicode; + matcher = new C(C === RegExp ? R.source : R, flags); + $global = !!~stringIndexOf(flags, 'g'); + fullUnicode = !!~stringIndexOf(flags, 'u'); + matcher.lastIndex = toLength(R.lastIndex); + return new $RegExpStringIterator(matcher, S, $global, fullUnicode); +}; + +// `String.prototype.matchAll` method +// https://tc39.es/ecma262/#sec-string.prototype.matchall +$({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, { + matchAll: function matchAll(regexp) { + var O = requireObjectCoercible(this); + var flags, S, matcher, rx; + if (!isNullOrUndefined(regexp)) { + if (isRegExp(regexp)) { + flags = toString(requireObjectCoercible(getRegExpFlags(regexp))); + if (!~stringIndexOf(flags, 'g')) throw new $TypeError('`.matchAll` does not allow non-global regexes'); + } + if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll(O, regexp); + matcher = getMethod(regexp, MATCH_ALL); + if (matcher === undefined && IS_PURE && classof(regexp) === 'RegExp') matcher = $matchAll; + if (matcher) return call(matcher, regexp, O); + } else if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll(O, regexp); + S = toString(O); + rx = new RegExp(regexp, 'g'); + return IS_PURE ? call($matchAll, rx, S) : rx[MATCH_ALL](S); + } +}); + +IS_PURE || MATCH_ALL in RegExpPrototype || defineBuiltIn(RegExpPrototype, MATCH_ALL, $matchAll); + + +/***/ }), +/* 453 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $padEnd = (__webpack_require__(238).end); +var WEBKIT_BUG = __webpack_require__(454); + +// `String.prototype.padEnd` method +// https://tc39.es/ecma262/#sec-string.prototype.padend +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padEnd: function padEnd(maxLength /* , fillString = ' ' */) { + return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 454 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// https://github.com/zloirock/core-js/issues/280 +var userAgent = __webpack_require__(28); + +module.exports = /Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(userAgent); + + +/***/ }), +/* 455 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $padStart = (__webpack_require__(238).start); +var WEBKIT_BUG = __webpack_require__(454); + +// `String.prototype.padStart` method +// https://tc39.es/ecma262/#sec-string.prototype.padstart +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padStart: function padStart(maxLength /* , fillString = ' ' */) { + return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 456 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIndexedObject = __webpack_require__(12); +var toObject = __webpack_require__(39); +var toString = __webpack_require__(68); +var lengthOfArrayLike = __webpack_require__(63); + +var push = uncurryThis([].push); +var join = uncurryThis([].join); + +// `String.raw` method +// https://tc39.es/ecma262/#sec-string.raw +$({ target: 'String', stat: true }, { + raw: function raw(template) { + var rawTemplate = toIndexedObject(toObject(template).raw); + var literalSegments = lengthOfArrayLike(rawTemplate); + if (!literalSegments) return ''; + var argumentsLength = arguments.length; + var elements = []; + var i = 0; + while (true) { + push(elements, toString(rawTemplate[i++])); + if (i === literalSegments) return join(elements, ''); + if (i < argumentsLength) push(elements, toString(arguments[i])); + } + } +}); + + +/***/ }), +/* 457 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var repeat = __webpack_require__(239); + +// `String.prototype.repeat` method +// https://tc39.es/ecma262/#sec-string.prototype.repeat +$({ target: 'String', proto: true }, { + repeat: repeat +}); + + +/***/ }), +/* 458 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var apply = __webpack_require__(94); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var fails = __webpack_require__(7); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); +var advanceStringIndex = __webpack_require__(450); +var getMethod = __webpack_require__(29); +var getSubstitution = __webpack_require__(459); +var regExpExec = __webpack_require__(451); +var wellKnownSymbol = __webpack_require__(33); + +var REPLACE = wellKnownSymbol('replace'); +var max = Math.max; +var min = Math.min; +var concat = uncurryThis([].concat); +var push = uncurryThis([].push); +var stringIndexOf = uncurryThis(''.indexOf); +var stringSlice = uncurryThis(''.slice); + +var maybeToString = function (it) { + return it === undefined ? it : String(it); +}; + +// IE <= 11 replaces $0 with the whole match, as if it was $& +// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 +var REPLACE_KEEPS_$0 = (function () { + // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing + return 'a'.replace(/./, '$0') === '$0'; +})(); + +// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string +var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () { + if (/./[REPLACE]) { + return /./[REPLACE]('a', '$0') === ''; + } + return false; +})(); + +var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { + var re = /./; + re.exec = function () { + var result = []; + result.groups = { a: '7' }; + return result; + }; + // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive + return ''.replace(re, '$<a>') !== '7'; +}); + +// @@replace logic +fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) { + var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0'; + + return [ + // `String.prototype.replace` method + // https://tc39.es/ecma262/#sec-string.prototype.replace + function replace(searchValue, replaceValue) { + var O = requireObjectCoercible(this); + var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE); + return replacer + ? call(replacer, searchValue, O, replaceValue) + : call(nativeReplace, toString(O), searchValue, replaceValue); + }, + // `RegExp.prototype[@@replace]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace + function (string, replaceValue) { + var rx = anObject(this); + var S = toString(string); + + if ( + typeof replaceValue == 'string' && + stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 && + stringIndexOf(replaceValue, '$<') === -1 + ) { + var res = maybeCallNative(nativeReplace, rx, S, replaceValue); + if (res.done) return res.value; + } + + var functionalReplace = isCallable(replaceValue); + if (!functionalReplace) replaceValue = toString(replaceValue); + + var global = rx.global; + var fullUnicode; + if (global) { + fullUnicode = rx.unicode; + rx.lastIndex = 0; + } + + var results = []; + var result; + while (true) { + result = regExpExec(rx, S); + if (result === null) break; + + push(results, result); + if (!global) break; + + var matchStr = toString(result[0]); + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + } + + var accumulatedResult = ''; + var nextSourcePosition = 0; + for (var i = 0; i < results.length; i++) { + result = results[i]; + + var matched = toString(result[0]); + var position = max(min(toIntegerOrInfinity(result.index), S.length), 0); + var captures = []; + var replacement; + // NOTE: This is equivalent to + // captures = result.slice(1).map(maybeToString) + // but for some reason `nativeSlice.call(result, 1, result.length)` (called in + // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and + // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. + for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j])); + var namedCaptures = result.groups; + if (functionalReplace) { + var replacerArgs = concat([matched], captures, position, S); + if (namedCaptures !== undefined) push(replacerArgs, namedCaptures); + replacement = toString(apply(replaceValue, undefined, replacerArgs)); + } else { + replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); + } + if (position >= nextSourcePosition) { + accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement; + nextSourcePosition = position + matched.length; + } + } + + return accumulatedResult + stringSlice(S, nextSourcePosition); + } + ]; +}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE); + + +/***/ }), +/* 459 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toObject = __webpack_require__(39); + +var floor = Math.floor; +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); +// eslint-disable-next-line redos/no-vulnerable -- safe +var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g; +var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g; + +// `GetSubstitution` abstract operation +// https://tc39.es/ecma262/#sec-getsubstitution +module.exports = function (matched, str, position, captures, namedCaptures, replacement) { + var tailPos = position + matched.length; + var m = captures.length; + var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; + if (namedCaptures !== undefined) { + namedCaptures = toObject(namedCaptures); + symbols = SUBSTITUTION_SYMBOLS; + } + return replace(replacement, symbols, function (match, ch) { + var capture; + switch (charAt(ch, 0)) { + case '$': return '$'; + case '&': return matched; + case '`': return stringSlice(str, 0, position); + case "'": return stringSlice(str, tailPos); + case '<': + capture = namedCaptures[stringSlice(ch, 1, -1)]; + break; + default: // \d\d? + var n = +ch; + if (n === 0) return match; + if (n > m) { + var f = floor(n / 10); + if (f === 0) return match; + if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1); + return match; + } + capture = captures[n - 1]; + } + return capture === undefined ? '' : capture; + }); +}; + + +/***/ }), +/* 460 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var isRegExp = __webpack_require__(401); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var getRegExpFlags = __webpack_require__(402); +var getSubstitution = __webpack_require__(459); +var wellKnownSymbol = __webpack_require__(33); +var IS_PURE = __webpack_require__(36); + +var REPLACE = wellKnownSymbol('replace'); +var $TypeError = TypeError; +var indexOf = uncurryThis(''.indexOf); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); +var max = Math.max; + +// `String.prototype.replaceAll` method +// https://tc39.es/ecma262/#sec-string.prototype.replaceall +$({ target: 'String', proto: true }, { + replaceAll: function replaceAll(searchValue, replaceValue) { + var O = requireObjectCoercible(this); + var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, position, replacement; + var endOfLastMatch = 0; + var result = ''; + if (!isNullOrUndefined(searchValue)) { + IS_REG_EXP = isRegExp(searchValue); + if (IS_REG_EXP) { + flags = toString(requireObjectCoercible(getRegExpFlags(searchValue))); + if (!~indexOf(flags, 'g')) throw new $TypeError('`.replaceAll` does not allow non-global regexes'); + } + replacer = getMethod(searchValue, REPLACE); + if (replacer) return call(replacer, searchValue, O, replaceValue); + if (IS_PURE && IS_REG_EXP) return replace(toString(O), searchValue, replaceValue); + } + string = toString(O); + searchString = toString(searchValue); + functionalReplace = isCallable(replaceValue); + if (!functionalReplace) replaceValue = toString(replaceValue); + searchLength = searchString.length; + advanceBy = max(1, searchLength); + position = indexOf(string, searchString); + while (position !== -1) { + replacement = functionalReplace + ? toString(replaceValue(searchString, position, string)) + : getSubstitution(searchString, string, position, [], undefined, replaceValue); + result += stringSlice(string, endOfLastMatch, position) + replacement; + endOfLastMatch = position + searchLength; + position = position + advanceBy > string.length ? -1 : indexOf(string, searchString, position + advanceBy); + } + if (endOfLastMatch < string.length) { + result += stringSlice(string, endOfLastMatch); + } + return result; + } +}); + + +/***/ }), +/* 461 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var requireObjectCoercible = __webpack_require__(16); +var sameValue = __webpack_require__(340); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var regExpExec = __webpack_require__(451); + +// @@search logic +fixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) { + return [ + // `String.prototype.search` method + // https://tc39.es/ecma262/#sec-string.prototype.search + function search(regexp) { + var O = requireObjectCoercible(this); + var searcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, SEARCH); + return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O)); + }, + // `RegExp.prototype[@@search]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@search + function (string) { + var rx = anObject(this); + var S = toString(string); + var res = maybeCallNative(nativeSearch, rx, S); + + if (res.done) return res.value; + + var previousLastIndex = rx.lastIndex; + if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; + var result = regExpExec(rx, S); + if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; + return result === null ? -1 : result.index; + } + ]; +}); + + +/***/ }), +/* 462 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var requireObjectCoercible = __webpack_require__(16); +var speciesConstructor = __webpack_require__(358); +var advanceStringIndex = __webpack_require__(450); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var regExpExec = __webpack_require__(451); +var stickyHelpers = __webpack_require__(404); +var fails = __webpack_require__(7); + +var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; +var MAX_UINT32 = 0xFFFFFFFF; +var min = Math.min; +var push = uncurryThis([].push); +var stringSlice = uncurryThis(''.slice); + +// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec +// Weex JS has frozen built-in prototypes, so use try / catch wrapper +var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { + // eslint-disable-next-line regexp/no-empty-group -- required for testing + var re = /(?:)/; + var originalExec = re.exec; + re.exec = function () { return originalExec.apply(this, arguments); }; + var result = 'ab'.split(re); + return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; +}); + +var BUGGY = 'abbc'.split(/(b)*/)[1] === 'c' || + // eslint-disable-next-line regexp/no-empty-group -- required for testing + 'test'.split(/(?:)/, -1).length !== 4 || + 'ab'.split(/(?:ab)*/).length !== 2 || + '.'.split(/(.?)(.?)/).length !== 4 || + // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing + '.'.split(/()()/).length > 1 || + ''.split(/.?/).length; + +// @@split logic +fixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) { + var internalSplit = '0'.split(undefined, 0).length ? function (separator, limit) { + return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit); + } : nativeSplit; + + return [ + // `String.prototype.split` method + // https://tc39.es/ecma262/#sec-string.prototype.split + function split(separator, limit) { + var O = requireObjectCoercible(this); + var splitter = isNullOrUndefined(separator) ? undefined : getMethod(separator, SPLIT); + return splitter + ? call(splitter, separator, O, limit) + : call(internalSplit, toString(O), separator, limit); + }, + // `RegExp.prototype[@@split]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@split + // + // NOTE: This cannot be properly polyfilled in engines that don't support + // the 'y' flag. + function (string, limit) { + var rx = anObject(this); + var S = toString(string); + + if (!BUGGY) { + var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit); + if (res.done) return res.value; + } + + var C = speciesConstructor(rx, RegExp); + var unicodeMatching = rx.unicode; + var flags = (rx.ignoreCase ? 'i' : '') + + (rx.multiline ? 'm' : '') + + (rx.unicode ? 'u' : '') + + (UNSUPPORTED_Y ? 'g' : 'y'); + // ^(? + rx + ) is needed, in combination with some S slicing, to + // simulate the 'y' flag. + var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags); + var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; + if (lim === 0) return []; + if (S.length === 0) return regExpExec(splitter, S) === null ? [S] : []; + var p = 0; + var q = 0; + var A = []; + while (q < S.length) { + splitter.lastIndex = UNSUPPORTED_Y ? 0 : q; + var z = regExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S); + var e; + if ( + z === null || + (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p + ) { + q = advanceStringIndex(S, q, unicodeMatching); + } else { + push(A, stringSlice(S, p, q)); + if (A.length === lim) return A; + for (var i = 1; i <= z.length - 1; i++) { + push(A, z[i]); + if (A.length === lim) return A; + } + q = p = e; + } + } + push(A, stringSlice(S, p)); + return A; + } + ]; +}, BUGGY || !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y); + + +/***/ }), +/* 463 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var correctIsRegExpLogic = __webpack_require__(443); +var IS_PURE = __webpack_require__(36); + +var stringSlice = uncurryThis(''.slice); +var min = Math.min; + +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); + return descriptor && !descriptor.writable; +}(); + +// `String.prototype.startsWith` method +// https://tc39.es/ecma262/#sec-string.prototype.startswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = toString(requireObjectCoercible(this)); + notARegExp(searchString); + var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = toString(searchString); + return stringSlice(that, index, index + search.length) === search; + } +}); + + +/***/ }), +/* 464 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); + +var stringSlice = uncurryThis(''.slice); +var max = Math.max; +var min = Math.min; + +// eslint-disable-next-line unicorn/prefer-string-slice -- required for testing +var FORCED = !''.substr || 'ab'.substr(-1) !== 'b'; + +// `String.prototype.substr` method +// https://tc39.es/ecma262/#sec-string.prototype.substr +$({ target: 'String', proto: true, forced: FORCED }, { + substr: function substr(start, length) { + var that = toString(requireObjectCoercible(this)); + var size = that.length; + var intStart = toIntegerOrInfinity(start); + var intLength, intEnd; + if (intStart === Infinity) intStart = 0; + if (intStart < 0) intStart = max(size + intStart, 0); + intLength = length === undefined ? size : toIntegerOrInfinity(length); + if (intLength <= 0 || intLength === Infinity) return ''; + intEnd = min(intStart + intLength, size); + return intStart >= intEnd ? '' : stringSlice(that, intStart, intEnd); + } +}); + + +/***/ }), +/* 465 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); + +var $Array = Array; +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var join = uncurryThis([].join); +// eslint-disable-next-line es/no-string-prototype-towellformed -- safe +var $toWellFormed = ''.toWellFormed; +var REPLACEMENT_CHARACTER = '\uFFFD'; + +// Safari bug +var TO_STRING_CONVERSION_BUG = $toWellFormed && fails(function () { + return call($toWellFormed, 1) !== '1'; +}); + +// `String.prototype.toWellFormed` method +// https://tc39.es/ecma262/#sec-string.prototype.towellformed +$({ target: 'String', proto: true, forced: TO_STRING_CONVERSION_BUG }, { + toWellFormed: function toWellFormed() { + var S = toString(requireObjectCoercible(this)); + if (TO_STRING_CONVERSION_BUG) return call($toWellFormed, S); + var length = S.length; + var result = $Array(length); + for (var i = 0; i < length; i++) { + var charCode = charCodeAt(S, i); + // single UTF-16 code unit + if ((charCode & 0xF800) !== 0xD800) result[i] = charAt(S, i); + // unpaired surrogate + else if (charCode >= 0xDC00 || i + 1 >= length || (charCodeAt(S, i + 1) & 0xFC00) !== 0xDC00) result[i] = REPLACEMENT_CHARACTER; + // surrogate pair + else { + result[i] = charAt(S, i); + result[++i] = charAt(S, i); + } + } return join(result, ''); + } +}); + + +/***/ }), +/* 466 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $trim = (__webpack_require__(303).trim); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.trim` method +// https://tc39.es/ecma262/#sec-string.prototype.trim +$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, { + trim: function trim() { + return $trim(this); + } +}); + + +/***/ }), +/* 467 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var PROPER_FUNCTION_NAME = (__webpack_require__(49).PROPER); +var fails = __webpack_require__(7); +var whitespaces = __webpack_require__(304); + +var non = '\u200B\u0085\u180E'; + +// check that a method works with the correct list +// of whitespaces and has a correct name +module.exports = function (METHOD_NAME) { + return fails(function () { + return !!whitespaces[METHOD_NAME]() + || non[METHOD_NAME]() !== non + || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME); + }); +}; + + +/***/ }), +/* 468 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this line from `core-js@4` +__webpack_require__(469); +var $ = __webpack_require__(3); +var trimEnd = __webpack_require__(470); + +// `String.prototype.trimEnd` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimEnd !== trimEnd }, { + trimEnd: trimEnd +}); + + +/***/ }), +/* 469 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trimEnd = __webpack_require__(470); + +// `String.prototype.trimRight` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe +$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimRight !== trimEnd }, { + trimRight: trimEnd +}); + + +/***/ }), +/* 470 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $trimEnd = (__webpack_require__(303).end); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.{ trimEnd, trimRight }` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// https://tc39.es/ecma262/#String.prototype.trimright +module.exports = forcedStringTrimMethod('trimEnd') ? function trimEnd() { + return $trimEnd(this); +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +} : ''.trimEnd; + + +/***/ }), +/* 471 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this line from `core-js@4` +__webpack_require__(472); +var $ = __webpack_require__(3); +var trimStart = __webpack_require__(473); + +// `String.prototype.trimStart` method +// https://tc39.es/ecma262/#sec-string.prototype.trimstart +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimStart !== trimStart }, { + trimStart: trimStart +}); + + +/***/ }), +/* 472 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trimStart = __webpack_require__(473); + +// `String.prototype.trimLeft` method +// https://tc39.es/ecma262/#sec-string.prototype.trimleft +// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe +$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimLeft !== trimStart }, { + trimLeft: trimStart +}); + + +/***/ }), +/* 473 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $trimStart = (__webpack_require__(303).start); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.{ trimStart, trimLeft }` method +// https://tc39.es/ecma262/#sec-string.prototype.trimstart +// https://tc39.es/ecma262/#String.prototype.trimleft +module.exports = forcedStringTrimMethod('trimStart') ? function trimStart() { + return $trimStart(this); +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +} : ''.trimStart; + + +/***/ }), +/* 474 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.anchor` method +// https://tc39.es/ecma262/#sec-string.prototype.anchor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, { + anchor: function anchor(name) { + return createHTML(this, 'a', 'name', name); + } +}); + + +/***/ }), +/* 475 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); + +var quot = /"/g; +var replace = uncurryThis(''.replace); + +// `CreateHTML` abstract operation +// https://tc39.es/ecma262/#sec-createhtml +module.exports = function (string, tag, attribute, value) { + var S = toString(requireObjectCoercible(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + replace(toString(value), quot, '"') + '"'; + return p1 + '>' + S + '</' + tag + '>'; +}; + + +/***/ }), +/* 476 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +// check the existence of a method, lowercase +// of a tag and escaping quotes in arguments +module.exports = function (METHOD_NAME) { + return fails(function () { + var test = ''[METHOD_NAME]('"'); + return test !== test.toLowerCase() || test.split('"').length > 3; + }); +}; + + +/***/ }), +/* 477 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.big` method +// https://tc39.es/ecma262/#sec-string.prototype.big +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('big') }, { + big: function big() { + return createHTML(this, 'big', '', ''); + } +}); + + +/***/ }), +/* 478 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.blink` method +// https://tc39.es/ecma262/#sec-string.prototype.blink +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('blink') }, { + blink: function blink() { + return createHTML(this, 'blink', '', ''); + } +}); + + +/***/ }), +/* 479 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.bold` method +// https://tc39.es/ecma262/#sec-string.prototype.bold +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, { + bold: function bold() { + return createHTML(this, 'b', '', ''); + } +}); + + +/***/ }), +/* 480 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fixed` method +// https://tc39.es/ecma262/#sec-string.prototype.fixed +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, { + fixed: function fixed() { + return createHTML(this, 'tt', '', ''); + } +}); + + +/***/ }), +/* 481 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fontcolor` method +// https://tc39.es/ecma262/#sec-string.prototype.fontcolor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontcolor') }, { + fontcolor: function fontcolor(color) { + return createHTML(this, 'font', 'color', color); + } +}); + + +/***/ }), +/* 482 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fontsize` method +// https://tc39.es/ecma262/#sec-string.prototype.fontsize +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontsize') }, { + fontsize: function fontsize(size) { + return createHTML(this, 'font', 'size', size); + } +}); + + +/***/ }), +/* 483 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.italics` method +// https://tc39.es/ecma262/#sec-string.prototype.italics +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, { + italics: function italics() { + return createHTML(this, 'i', '', ''); + } +}); + + +/***/ }), +/* 484 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.link` method +// https://tc39.es/ecma262/#sec-string.prototype.link +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, { + link: function link(url) { + return createHTML(this, 'a', 'href', url); + } +}); + + +/***/ }), +/* 485 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.small` method +// https://tc39.es/ecma262/#sec-string.prototype.small +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('small') }, { + small: function small() { + return createHTML(this, 'small', '', ''); + } +}); + + +/***/ }), +/* 486 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.strike` method +// https://tc39.es/ecma262/#sec-string.prototype.strike +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, { + strike: function strike() { + return createHTML(this, 'strike', '', ''); + } +}); + + +/***/ }), +/* 487 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.sub` method +// https://tc39.es/ecma262/#sec-string.prototype.sub +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sub') }, { + sub: function sub() { + return createHTML(this, 'sub', '', ''); + } +}); + + +/***/ }), +/* 488 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.sup` method +// https://tc39.es/ecma262/#sec-string.prototype.sup +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sup') }, { + sup: function sup() { + return createHTML(this, 'sup', '', ''); + } +}); + + +/***/ }), +/* 489 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Float32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Float32', function (init) { + return function Float32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 490 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var DESCRIPTORS = __webpack_require__(6); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); +var ArrayBufferViewCore = __webpack_require__(218); +var ArrayBufferModule = __webpack_require__(208); +var anInstance = __webpack_require__(211); +var createPropertyDescriptor = __webpack_require__(11); +var createNonEnumerableProperty = __webpack_require__(43); +var isIntegralNumber = __webpack_require__(309); +var toLength = __webpack_require__(64); +var toIndex = __webpack_require__(212); +var toOffset = __webpack_require__(492); +var toUint8Clamped = __webpack_require__(493); +var toPropertyKey = __webpack_require__(18); +var hasOwn = __webpack_require__(38); +var classof = __webpack_require__(69); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var create = __webpack_require__(71); +var isPrototypeOf = __webpack_require__(24); +var setPrototypeOf = __webpack_require__(113); +var getOwnPropertyNames = (__webpack_require__(57).f); +var typedArrayFrom = __webpack_require__(494); +var forEach = (__webpack_require__(83).forEach); +var setSpecies = __webpack_require__(194); +var defineBuiltInAccessor = __webpack_require__(77); +var definePropertyModule = __webpack_require__(44); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var arrayFromConstructorAndList = __webpack_require__(199); +var InternalStateModule = __webpack_require__(51); +var inheritIfRequired = __webpack_require__(118); + +var getInternalState = InternalStateModule.get; +var setInternalState = InternalStateModule.set; +var enforceInternalState = InternalStateModule.enforce; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var RangeError = globalThis.RangeError; +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataView = ArrayBufferModule.DataView; +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; +var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG; +var TypedArray = ArrayBufferViewCore.TypedArray; +var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype; +var isTypedArray = ArrayBufferViewCore.isTypedArray; +var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; +var WRONG_LENGTH = 'Wrong length'; + +var addGetter = function (it, key) { + defineBuiltInAccessor(it, key, { + configurable: true, + get: function () { + return getInternalState(this)[key]; + } + }); +}; + +var isArrayBuffer = function (it) { + var klass; + return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) === 'ArrayBuffer' || klass === 'SharedArrayBuffer'; +}; + +var isTypedArrayIndex = function (target, key) { + return isTypedArray(target) + && !isSymbol(key) + && key in target + && isIntegralNumber(+key) + && key >= 0; +}; + +var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) { + key = toPropertyKey(key); + return isTypedArrayIndex(target, key) + ? createPropertyDescriptor(2, target[key]) + : nativeGetOwnPropertyDescriptor(target, key); +}; + +var wrappedDefineProperty = function defineProperty(target, key, descriptor) { + key = toPropertyKey(key); + if (isTypedArrayIndex(target, key) + && isObject(descriptor) + && hasOwn(descriptor, 'value') + && !hasOwn(descriptor, 'get') + && !hasOwn(descriptor, 'set') + // TODO: add validation descriptor w/o calling accessors + && !descriptor.configurable + && (!hasOwn(descriptor, 'writable') || descriptor.writable) + && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable) + ) { + target[key] = descriptor.value; + return target; + } return nativeDefineProperty(target, key, descriptor); +}; + +if (DESCRIPTORS) { + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor; + definePropertyModule.f = wrappedDefineProperty; + addGetter(TypedArrayPrototype, 'buffer'); + addGetter(TypedArrayPrototype, 'byteOffset'); + addGetter(TypedArrayPrototype, 'byteLength'); + addGetter(TypedArrayPrototype, 'length'); + } + + $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor, + defineProperty: wrappedDefineProperty + }); + + module.exports = function (TYPE, wrapper, CLAMPED) { + var BYTES = TYPE.match(/\d+/)[0] / 8; + var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array'; + var GETTER = 'get' + TYPE; + var SETTER = 'set' + TYPE; + var NativeTypedArrayConstructor = globalThis[CONSTRUCTOR_NAME]; + var TypedArrayConstructor = NativeTypedArrayConstructor; + var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype; + var exported = {}; + + var getter = function (that, index) { + var data = getInternalState(that); + return data.view[GETTER](index * BYTES + data.byteOffset, true); + }; + + var setter = function (that, index, value) { + var data = getInternalState(that); + data.view[SETTER](index * BYTES + data.byteOffset, CLAMPED ? toUint8Clamped(value) : value, true); + }; + + var addElement = function (that, index) { + nativeDefineProperty(that, index, { + get: function () { + return getter(this, index); + }, + set: function (value) { + return setter(this, index, value); + }, + enumerable: true + }); + }; + + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + TypedArrayConstructor = wrapper(function (that, data, offset, $length) { + anInstance(that, TypedArrayConstructorPrototype); + var index = 0; + var byteOffset = 0; + var buffer, byteLength, length; + if (!isObject(data)) { + length = toIndex(data); + byteLength = length * BYTES; + buffer = new ArrayBuffer(byteLength); + } else if (isArrayBuffer(data)) { + buffer = data; + byteOffset = toOffset(offset, BYTES); + var $len = data.byteLength; + if ($length === undefined) { + if ($len % BYTES) throw new RangeError(WRONG_LENGTH); + byteLength = $len - byteOffset; + if (byteLength < 0) throw new RangeError(WRONG_LENGTH); + } else { + byteLength = toLength($length) * BYTES; + if (byteLength + byteOffset > $len) throw new RangeError(WRONG_LENGTH); + } + length = byteLength / BYTES; + } else if (isTypedArray(data)) { + return arrayFromConstructorAndList(TypedArrayConstructor, data); + } else { + return call(typedArrayFrom, TypedArrayConstructor, data); + } + setInternalState(that, { + buffer: buffer, + byteOffset: byteOffset, + byteLength: byteLength, + length: length, + view: new DataView(buffer) + }); + while (index < length) addElement(that, index++); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype); + } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) { + TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) { + anInstance(dummy, TypedArrayConstructorPrototype); + return inheritIfRequired(function () { + if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data)); + if (isArrayBuffer(data)) return $length !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length) + : typedArrayOffset !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES)) + : new NativeTypedArrayConstructor(data); + if (isTypedArray(data)) return arrayFromConstructorAndList(TypedArrayConstructor, data); + return call(typedArrayFrom, TypedArrayConstructor, data); + }(), dummy, TypedArrayConstructor); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) { + if (!(key in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]); + } + }); + TypedArrayConstructor.prototype = TypedArrayConstructorPrototype; + } + + if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor); + } + + enforceInternalState(TypedArrayConstructorPrototype).TypedArrayConstructor = TypedArrayConstructor; + + if (TYPED_ARRAY_TAG) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME); + } + + var FORCED = TypedArrayConstructor !== NativeTypedArrayConstructor; + + exported[CONSTRUCTOR_NAME] = TypedArrayConstructor; + + $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported); + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES); + } + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES); + } + + setSpecies(CONSTRUCTOR_NAME); + }; +} else module.exports = function () { /* empty */ }; + + +/***/ }), +/* 491 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-new, sonarjs/inconsistent-function-call -- required for testing */ +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var checkCorrectnessOfIteration = __webpack_require__(164); +var NATIVE_ARRAY_BUFFER_VIEWS = (__webpack_require__(218).NATIVE_ARRAY_BUFFER_VIEWS); + +var ArrayBuffer = globalThis.ArrayBuffer; +var Int8Array = globalThis.Int8Array; + +module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () { + Int8Array(1); +}) || !fails(function () { + new Int8Array(-1); +}) || !checkCorrectnessOfIteration(function (iterable) { + new Int8Array(); + new Int8Array(null); + new Int8Array(1.5); + new Int8Array(iterable); +}, true) || fails(function () { + // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill + return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1; +}); + + +/***/ }), +/* 492 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPositiveInteger = __webpack_require__(254); + +var $RangeError = RangeError; + +module.exports = function (it, BYTES) { + var offset = toPositiveInteger(it); + if (offset % BYTES) throw new $RangeError('Wrong offset'); + return offset; +}; + + +/***/ }), +/* 493 */ +/***/ (function(module) { + + +var round = Math.round; + +module.exports = function (it) { + var value = round(it); + return value < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF; +}; + + +/***/ }), +/* 494 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var aConstructor = __webpack_require__(359); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var isArrayIteratorMethod = __webpack_require__(131); +var isBigIntArray = __webpack_require__(495); +var aTypedArrayConstructor = (__webpack_require__(218).aTypedArrayConstructor); +var toBigInt = __webpack_require__(496); + +module.exports = function from(source /* , mapfn, thisArg */) { + var C = aConstructor(this); + var O = toObject(source); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iteratorMethod = getIteratorMethod(O); + var i, length, result, thisIsBigIntArray, value, step, iterator, next; + if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) { + iterator = getIterator(O, iteratorMethod); + next = iterator.next; + O = []; + while (!(step = call(next, iterator)).done) { + O.push(step.value); + } + } + if (mapping && argumentsLength > 2) { + mapfn = bind(mapfn, arguments[2]); + } + length = lengthOfArrayLike(O); + result = new (aTypedArrayConstructor(C))(length); + thisIsBigIntArray = isBigIntArray(result); + for (i = 0; length > i; i++) { + value = mapping ? mapfn(O[i], i) : O[i]; + // FF30- typed arrays doesn't properly convert objects to typed array values + result[i] = thisIsBigIntArray ? toBigInt(value) : +value; + } + return result; +}; + + +/***/ }), +/* 495 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); + +module.exports = function (it) { + var klass = classof(it); + return klass === 'BigInt64Array' || klass === 'BigUint64Array'; +}; + + +/***/ }), +/* 496 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPrimitive = __webpack_require__(19); + +var $TypeError = TypeError; + +// `ToBigInt` abstract operation +// https://tc39.es/ecma262/#sec-tobigint +module.exports = function (argument) { + var prim = toPrimitive(argument, 'number'); + if (typeof prim == 'number') throw new $TypeError("Can't convert number to bigint"); + // eslint-disable-next-line es/no-bigint -- safe + return BigInt(prim); +}; + + +/***/ }), +/* 497 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Float64Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Float64', function (init) { + return function Float64Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 498 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int8Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int8', function (init) { + return function Int8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 499 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int16Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int16', function (init) { + return function Int16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 500 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int32', function (init) { + return function Int32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 501 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint8Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint8', function (init) { + return function Uint8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 502 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint8ClampedArray` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint8', function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}, true); + + +/***/ }), +/* 503 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint16Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint16', function (init) { + return function Uint16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 504 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint32', function (init) { + return function Uint32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 505 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.at` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.at +exportTypedArrayMethod('at', function at(index) { + var O = aTypedArray(this); + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : O[k]; +}); + + +/***/ }), +/* 506 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var ArrayBufferViewCore = __webpack_require__(218); +var $ArrayCopyWithin = __webpack_require__(144); + +var u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.copyWithin` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin +exportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) { + return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined); +}); + + +/***/ }), +/* 507 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $every = (__webpack_require__(83).every); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.every` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every +exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) { + return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 508 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $fill = __webpack_require__(149); +var toBigInt = __webpack_require__(496); +var classof = __webpack_require__(69); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var slice = uncurryThis(''.slice); + +// V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18 +var CONVERSION_BUG = fails(function () { + var count = 0; + // eslint-disable-next-line es/no-typed-arrays -- safe + new Int8Array(2).fill({ valueOf: function () { return count++; } }); + return count !== 1; +}); + +// `%TypedArray%.prototype.fill` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill +exportTypedArrayMethod('fill', function fill(value /* , start, end */) { + var length = arguments.length; + aTypedArray(this); + var actualValue = slice(classof(this), 0, 3) === 'Big' ? toBigInt(value) : +value; + return call($fill, this, actualValue, length > 1 ? arguments[1] : undefined, length > 2 ? arguments[2] : undefined); +}, CONVERSION_BUG); + + +/***/ }), +/* 509 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $filter = (__webpack_require__(83).filter); +var fromSameTypeAndList = __webpack_require__(510); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.filter` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter +exportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) { + var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return fromSameTypeAndList(this, list); +}); + + +/***/ }), +/* 510 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arrayFromConstructorAndList = __webpack_require__(199); +var getTypedArrayConstructor = (__webpack_require__(218).getTypedArrayConstructor); + +module.exports = function (instance, list) { + return arrayFromConstructorAndList(getTypedArrayConstructor(instance), list); +}; + + +/***/ }), +/* 511 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $find = (__webpack_require__(83).find); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.find` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find +exportTypedArrayMethod('find', function find(predicate /* , thisArg */) { + return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 512 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findIndex = (__webpack_require__(83).findIndex); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex +exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) { + return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 513 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findLast = (__webpack_require__(154).findLast); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findLast` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlast +exportTypedArrayMethod('findLast', function findLast(predicate /* , thisArg */) { + return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 514 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findLastIndex = (__webpack_require__(154).findLastIndex); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findLastIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex +exportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) { + return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 515 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $forEach = (__webpack_require__(83).forEach); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.forEach` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach +exportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) { + $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 516 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); +var exportTypedArrayStaticMethod = (__webpack_require__(218).exportTypedArrayStaticMethod); +var typedArrayFrom = __webpack_require__(494); + +// `%TypedArray%.from` method +// https://tc39.es/ecma262/#sec-%typedarray%.from +exportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + + +/***/ }), +/* 517 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $includes = (__webpack_require__(59).includes); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.includes` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes +exportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) { + return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 518 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $indexOf = (__webpack_require__(59).indexOf); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.indexOf` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof +exportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) { + return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 519 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var ArrayBufferViewCore = __webpack_require__(218); +var ArrayIterators = __webpack_require__(168); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var Uint8Array = globalThis.Uint8Array; +var arrayValues = uncurryThis(ArrayIterators.values); +var arrayKeys = uncurryThis(ArrayIterators.keys); +var arrayEntries = uncurryThis(ArrayIterators.entries); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var TypedArrayPrototype = Uint8Array && Uint8Array.prototype; + +var GENERIC = !fails(function () { + TypedArrayPrototype[ITERATOR].call([1]); +}); + +var ITERATOR_IS_VALUES = !!TypedArrayPrototype + && TypedArrayPrototype.values + && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values + && TypedArrayPrototype.values.name === 'values'; + +var typedArrayValues = function values() { + return arrayValues(aTypedArray(this)); +}; + +// `%TypedArray%.prototype.entries` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries +exportTypedArrayMethod('entries', function entries() { + return arrayEntries(aTypedArray(this)); +}, GENERIC); +// `%TypedArray%.prototype.keys` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys +exportTypedArrayMethod('keys', function keys() { + return arrayKeys(aTypedArray(this)); +}, GENERIC); +// `%TypedArray%.prototype.values` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values +exportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); +// `%TypedArray%.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator +exportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); + + +/***/ }), +/* 520 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var uncurryThis = __webpack_require__(14); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $join = uncurryThis([].join); + +// `%TypedArray%.prototype.join` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join +exportTypedArrayMethod('join', function join(separator) { + return $join(aTypedArray(this), separator); +}); + + +/***/ }), +/* 521 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var apply = __webpack_require__(94); +var $lastIndexOf = __webpack_require__(175); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.lastIndexOf` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof +exportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) { + var length = arguments.length; + return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]); +}); + + +/***/ }), +/* 522 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $map = (__webpack_require__(83).map); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.map` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map +exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) { + return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { + return new (getTypedArrayConstructor(O))(length); + }); +}); + + +/***/ }), +/* 523 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); + +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; +var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod; + +// `%TypedArray%.of` method +// https://tc39.es/ecma262/#sec-%typedarray%.of +exportTypedArrayStaticMethod('of', function of(/* ...items */) { + var index = 0; + var length = arguments.length; + var result = new (aTypedArrayConstructor(this))(length); + while (length > index) result[index] = arguments[index++]; + return result; +}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + + +/***/ }), +/* 524 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $reduce = (__webpack_require__(181).left); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.reduce` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce +exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 525 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $reduceRight = (__webpack_require__(181).right); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.reduceRight` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright +exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 526 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var floor = Math.floor; + +// `%TypedArray%.prototype.reverse` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse +exportTypedArrayMethod('reverse', function reverse() { + var that = this; + var length = aTypedArray(that).length; + var middle = floor(length / 2); + var index = 0; + var value; + while (index < middle) { + value = that[index]; + that[index++] = that[--length]; + that[length] = value; + } return that; +}); + + +/***/ }), +/* 527 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var ArrayBufferViewCore = __webpack_require__(218); +var lengthOfArrayLike = __webpack_require__(63); +var toOffset = __webpack_require__(492); +var toIndexedObject = __webpack_require__(39); +var fails = __webpack_require__(7); + +var RangeError = globalThis.RangeError; +var Int8Array = globalThis.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var $set = Int8ArrayPrototype && Int8ArrayPrototype.set; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + var array = new Uint8ClampedArray(2); + call($set, array, { length: 1, 0: 3 }, 1); + return array[1] !== 3; +}); + +// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other +var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { + var array = new Int8Array(2); + array.set(1); + array.set('2', 1); + return array[0] !== 0 || array[1] !== 2; +}); + +// `%TypedArray%.prototype.set` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set +exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { + aTypedArray(this); + var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); + var src = toIndexedObject(arrayLike); + if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset); + var length = this.length; + var len = lengthOfArrayLike(src); + var index = 0; + if (len + offset > length) throw new RangeError('Wrong length'); + while (index < len) this[offset + index] = src[index++]; +}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + + +/***/ }), +/* 528 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var fails = __webpack_require__(7); +var arraySlice = __webpack_require__(76); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + new Int8Array(1).slice(); +}); + +// `%TypedArray%.prototype.slice` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice +exportTypedArrayMethod('slice', function slice(start, end) { + var list = arraySlice(aTypedArray(this), start, end); + var C = getTypedArrayConstructor(this); + var index = 0; + var length = list.length; + var result = new C(length); + while (length > index) result[index] = list[index++]; + return result; +}, FORCED); + + +/***/ }), +/* 529 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $some = (__webpack_require__(83).some); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.some` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some +exportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) { + return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 530 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(85); +var fails = __webpack_require__(7); +var aCallable = __webpack_require__(30); +var internalSort = __webpack_require__(189); +var ArrayBufferViewCore = __webpack_require__(218); +var FF = __webpack_require__(190); +var IE_OR_EDGE = __webpack_require__(191); +var V8 = __webpack_require__(27); +var WEBKIT = __webpack_require__(192); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var Uint16Array = globalThis.Uint16Array; +var nativeSort = Uint16Array && uncurryThis(Uint16Array.prototype.sort); + +// WebKit +var ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !(fails(function () { + nativeSort(new Uint16Array(2), null); +}) && fails(function () { + nativeSort(new Uint16Array(2), {}); +})); + +var STABLE_SORT = !!nativeSort && !fails(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 74; + if (FF) return FF < 67; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 602; + + var array = new Uint16Array(516); + var expected = Array(516); + var index, mod; + + for (index = 0; index < 516; index++) { + mod = index % 4; + array[index] = 515 - index; + expected[index] = index - 2 * mod + 3; + } + + nativeSort(array, function (a, b) { + return (a / 4 | 0) - (b / 4 | 0); + }); + + for (index = 0; index < 516; index++) { + if (array[index] !== expected[index]) return true; + } +}); + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (comparefn !== undefined) return +comparefn(x, y) || 0; + // eslint-disable-next-line no-self-compare -- NaN check + if (y !== y) return -1; + // eslint-disable-next-line no-self-compare -- NaN check + if (x !== x) return 1; + if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1; + return x > y; + }; +}; + +// `%TypedArray%.prototype.sort` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort +exportTypedArrayMethod('sort', function sort(comparefn) { + if (comparefn !== undefined) aCallable(comparefn); + if (STABLE_SORT) return nativeSort(this, comparefn); + + return internalSort(aTypedArray(this), getSortCompare(comparefn)); +}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS); + + +/***/ }), +/* 531 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var toLength = __webpack_require__(64); +var toAbsoluteIndex = __webpack_require__(60); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.subarray` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray +exportTypedArrayMethod('subarray', function subarray(begin, end) { + var O = aTypedArray(this); + var length = O.length; + var beginIndex = toAbsoluteIndex(begin, length); + var C = getTypedArrayConstructor(O); + return new C( + O.buffer, + O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT, + toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex) + ); +}); + + +/***/ }), +/* 532 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var ArrayBufferViewCore = __webpack_require__(218); +var fails = __webpack_require__(7); +var arraySlice = __webpack_require__(76); + +var Int8Array = globalThis.Int8Array; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $toLocaleString = [].toLocaleString; + +// iOS Safari 6.x fails here +var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () { + $toLocaleString.call(new Int8Array(1)); +}); + +var FORCED = fails(function () { + return [1, 2].toLocaleString() !== new Int8Array([1, 2]).toLocaleString(); +}) || !fails(function () { + Int8Array.prototype.toLocaleString.call([1, 2]); +}); + +// `%TypedArray%.prototype.toLocaleString` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring +exportTypedArrayMethod('toLocaleString', function toLocaleString() { + return apply( + $toLocaleString, + TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this), + arraySlice(arguments) + ); +}, FORCED); + + +/***/ }), +/* 533 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var arrayToReversed = __webpack_require__(197); +var ArrayBufferViewCore = __webpack_require__(218); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; + +// `%TypedArray%.prototype.toReversed` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed +exportTypedArrayMethod('toReversed', function toReversed() { + return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this)); +}); + + +/***/ }), +/* 534 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var arrayFromConstructorAndList = __webpack_require__(199); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort); + +// `%TypedArray%.prototype.toSorted` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted +exportTypedArrayMethod('toSorted', function toSorted(compareFn) { + if (compareFn !== undefined) aCallable(compareFn); + var O = aTypedArray(this); + var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O); + return sort(A, compareFn); +}); + + +/***/ }), +/* 535 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var exportTypedArrayMethod = (__webpack_require__(218).exportTypedArrayMethod); +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); + +var Uint8Array = globalThis.Uint8Array; +var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {}; +var arrayToString = [].toString; +var join = uncurryThis([].join); + +if (fails(function () { arrayToString.call({}); })) { + arrayToString = function toString() { + return join(this); + }; +} + +var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString !== arrayToString; + +// `%TypedArray%.prototype.toString` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring +exportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD); + + +/***/ }), +/* 536 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var arrayWith = __webpack_require__(206); +var ArrayBufferViewCore = __webpack_require__(218); +var isBigIntArray = __webpack_require__(495); +var toIntegerOrInfinity = __webpack_require__(61); +var toBigInt = __webpack_require__(496); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var PROPER_ORDER = !!function () { + try { + // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing + new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } }); + } catch (error) { + // some early implementations, like WebKit, does not follow the final semantic + // https://github.com/tc39/proposal-change-array-by-copy/pull/86 + return error === 8; + } +}(); + +// `%TypedArray%.prototype.with` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with +exportTypedArrayMethod('with', { 'with': function (index, value) { + var O = aTypedArray(this); + var relativeIndex = toIntegerOrInfinity(index); + var actualValue = isBigIntArray(O) ? toBigInt(value) : +value; + return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue); +} }['with'], !PROPER_ORDER); + + +/***/ }), +/* 537 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); + +var fromCharCode = String.fromCharCode; +var charAt = uncurryThis(''.charAt); +var exec = uncurryThis(/./.exec); +var stringSlice = uncurryThis(''.slice); + +var hex2 = /^[\da-f]{2}$/i; +var hex4 = /^[\da-f]{4}$/i; + +// `unescape` method +// https://tc39.es/ecma262/#sec-unescape-string +$({ global: true }, { + unescape: function unescape(string) { + var str = toString(string); + var result = ''; + var length = str.length; + var index = 0; + var chr, part; + while (index < length) { + chr = charAt(str, index++); + if (chr === '%') { + if (charAt(str, index) === 'u') { + part = stringSlice(str, index + 1, index + 5); + if (exec(hex4, part)) { + result += fromCharCode(parseInt(part, 16)); + index += 5; + continue; + } + } else { + part = stringSlice(str, index, index + 2); + if (exec(hex2, part)) { + result += fromCharCode(parseInt(part, 16)); + index += 2; + continue; + } + } + } + result += chr; + } return result; + } +}); + + +/***/ }), +/* 538 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(539); + + +/***/ }), +/* 539 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var FREEZING = __webpack_require__(276); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var defineBuiltIns = __webpack_require__(210); +var InternalMetadataModule = __webpack_require__(273); +var collection = __webpack_require__(272); +var collectionWeak = __webpack_require__(540); +var isObject = __webpack_require__(20); +var enforceInternalState = (__webpack_require__(51).enforce); +var fails = __webpack_require__(7); +var NATIVE_WEAK_MAP = __webpack_require__(52); + +var $Object = Object; +// eslint-disable-next-line es/no-array-isarray -- safe +var isArray = Array.isArray; +// eslint-disable-next-line es/no-object-isextensible -- safe +var isExtensible = $Object.isExtensible; +// eslint-disable-next-line es/no-object-isfrozen -- safe +var isFrozen = $Object.isFrozen; +// eslint-disable-next-line es/no-object-issealed -- safe +var isSealed = $Object.isSealed; +// eslint-disable-next-line es/no-object-freeze -- safe +var freeze = $Object.freeze; +// eslint-disable-next-line es/no-object-seal -- safe +var seal = $Object.seal; + +var IS_IE11 = !globalThis.ActiveXObject && 'ActiveXObject' in globalThis; +var InternalWeakMap; + +var wrapper = function (init) { + return function WeakMap() { + return init(this, arguments.length ? arguments[0] : undefined); + }; +}; + +// `WeakMap` constructor +// https://tc39.es/ecma262/#sec-weakmap-constructor +var $WeakMap = collection('WeakMap', wrapper, collectionWeak); +var WeakMapPrototype = $WeakMap.prototype; +var nativeSet = uncurryThis(WeakMapPrototype.set); + +// Chakra Edge bug: adding frozen arrays to WeakMap unfreeze them +var hasMSEdgeFreezingBug = function () { + return FREEZING && fails(function () { + var frozenArray = freeze([]); + nativeSet(new $WeakMap(), frozenArray, 1); + return !isFrozen(frozenArray); + }); +}; + +// IE11 WeakMap frozen keys fix +// We can't use feature detection because it crash some old IE builds +// https://github.com/zloirock/core-js/issues/485 +if (NATIVE_WEAK_MAP) if (IS_IE11) { + InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true); + InternalMetadataModule.enable(); + var nativeDelete = uncurryThis(WeakMapPrototype['delete']); + var nativeHas = uncurryThis(WeakMapPrototype.has); + var nativeGet = uncurryThis(WeakMapPrototype.get); + defineBuiltIns(WeakMapPrototype, { + 'delete': function (key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeDelete(this, key) || state.frozen['delete'](key); + } return nativeDelete(this, key); + }, + has: function has(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas(this, key) || state.frozen.has(key); + } return nativeHas(this, key); + }, + get: function get(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key); + } return nativeGet(this, key); + }, + set: function set(key, value) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value); + } else nativeSet(this, key, value); + return this; + } + }); +// Chakra Edge frozen keys fix +} else if (hasMSEdgeFreezingBug()) { + defineBuiltIns(WeakMapPrototype, { + set: function set(key, value) { + var arrayIntegrityLevel; + if (isArray(key)) { + if (isFrozen(key)) arrayIntegrityLevel = freeze; + else if (isSealed(key)) arrayIntegrityLevel = seal; + } + nativeSet(this, key, value); + if (arrayIntegrityLevel) arrayIntegrityLevel(key); + return this; + } + }); +} + + +/***/ }), +/* 540 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var defineBuiltIns = __webpack_require__(210); +var getWeakData = (__webpack_require__(273).getWeakData); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var iterate = __webpack_require__(130); +var ArrayIterationModule = __webpack_require__(83); +var hasOwn = __webpack_require__(38); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; +var find = ArrayIterationModule.find; +var findIndex = ArrayIterationModule.findIndex; +var splice = uncurryThis([].splice); +var id = 0; + +// fallback for uncaught frozen keys +var uncaughtFrozenStore = function (state) { + return state.frozen || (state.frozen = new UncaughtFrozenStore()); +}; + +var UncaughtFrozenStore = function () { + this.entries = []; +}; + +var findUncaughtFrozen = function (store, key) { + return find(store.entries, function (it) { + return it[0] === key; + }); +}; + +UncaughtFrozenStore.prototype = { + get: function (key) { + var entry = findUncaughtFrozen(this, key); + if (entry) return entry[1]; + }, + has: function (key) { + return !!findUncaughtFrozen(this, key); + }, + set: function (key, value) { + var entry = findUncaughtFrozen(this, key); + if (entry) entry[1] = value; + else this.entries.push([key, value]); + }, + 'delete': function (key) { + var index = findIndex(this.entries, function (it) { + return it[0] === key; + }); + if (~index) splice(this.entries, index, 1); + return !!~index; + } +}; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + id: id++, + frozen: null + }); + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + }); + + var Prototype = Constructor.prototype; + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var data = getWeakData(anObject(key), true); + if (data === true) uncaughtFrozenStore(state).set(key, value); + else data[state.id] = value; + return that; + }; + + defineBuiltIns(Prototype, { + // `{ WeakMap, WeakSet }.prototype.delete(key)` methods + // https://tc39.es/ecma262/#sec-weakmap.prototype.delete + // https://tc39.es/ecma262/#sec-weakset.prototype.delete + 'delete': function (key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state)['delete'](key); + return data && hasOwn(data, state.id) && delete data[state.id]; + }, + // `{ WeakMap, WeakSet }.prototype.has(key)` methods + // https://tc39.es/ecma262/#sec-weakmap.prototype.has + // https://tc39.es/ecma262/#sec-weakset.prototype.has + has: function has(key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).has(key); + return data && hasOwn(data, state.id); + } + }); + + defineBuiltIns(Prototype, IS_MAP ? { + // `WeakMap.prototype.get(key)` method + // https://tc39.es/ecma262/#sec-weakmap.prototype.get + get: function get(key) { + var state = getInternalState(this); + if (isObject(key)) { + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).get(key); + if (data) return data[state.id]; + } + }, + // `WeakMap.prototype.set(key, value)` method + // https://tc39.es/ecma262/#sec-weakmap.prototype.set + set: function set(key, value) { + return define(this, key, value); + } + } : { + // `WeakSet.prototype.add(value)` method + // https://tc39.es/ecma262/#sec-weakset.prototype.add + add: function add(value) { + return define(this, value, true); + } + }); + + return Constructor; + } +}; + + +/***/ }), +/* 541 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(542); + + +/***/ }), +/* 542 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionWeak = __webpack_require__(540); + +// `WeakSet` constructor +// https://tc39.es/ecma262/#sec-weakset-constructor +collection('WeakSet', function (init) { + return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionWeak); + + +/***/ }), +/* 543 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); +var c2i = (__webpack_require__(544).c2i); + +var disallowed = /[^\d+/a-z]/i; +var whitespaces = /[\t\n\f\r ]+/g; +var finalEq = /[=]{1,2}$/; + +var $atob = getBuiltIn('atob'); +var fromCharCode = String.fromCharCode; +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var exec = uncurryThis(disallowed.exec); + +var BASIC = !!$atob && !fails(function () { + return $atob('aGk=') !== 'hi'; +}); + +var NO_SPACES_IGNORE = BASIC && fails(function () { + return $atob(' ') !== ''; +}); + +var NO_ENCODING_CHECK = BASIC && !fails(function () { + $atob('a'); +}); + +var NO_ARG_RECEIVING_CHECK = BASIC && !fails(function () { + $atob(); +}); + +var WRONG_ARITY = BASIC && $atob.length !== 1; + +var FORCED = !BASIC || NO_SPACES_IGNORE || NO_ENCODING_CHECK || NO_ARG_RECEIVING_CHECK || WRONG_ARITY; + +// `atob` method +// https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob +$({ global: true, bind: true, enumerable: true, forced: FORCED }, { + atob: function atob(data) { + validateArgumentsLength(arguments.length, 1); + // `webpack` dev server bug on IE global methods - use call(fn, global, ...) + if (BASIC && !NO_SPACES_IGNORE && !NO_ENCODING_CHECK) return call($atob, globalThis, data); + var string = replace(toString(data), whitespaces, ''); + var output = ''; + var position = 0; + var bc = 0; + var length, chr, bs; + if (string.length % 4 === 0) { + string = replace(string, finalEq, ''); + } + length = string.length; + if (length % 4 === 1 || exec(disallowed, string)) { + throw new (getBuiltIn('DOMException'))('The string is not correctly encoded', 'InvalidCharacterError'); + } + while (position < length) { + chr = charAt(string, position++); + bs = bc % 4 ? bs * 64 + c2i[chr] : c2i[chr]; + if (bc++ % 4) output += fromCharCode(255 & bs >> (-2 * bc & 6)); + } return output; + } +}); + + +/***/ }), +/* 544 */ +/***/ (function(module) { + + +var commonAlphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; +var base64Alphabet = commonAlphabet + '+/'; +var base64UrlAlphabet = commonAlphabet + '-_'; + +var inverse = function (characters) { + // TODO: use `Object.create(null)` in `core-js@4` + var result = {}; + var index = 0; + for (; index < 64; index++) result[characters.charAt(index)] = index; + return result; +}; + +module.exports = { + i2c: base64Alphabet, + c2i: inverse(base64Alphabet), + i2cUrl: base64UrlAlphabet, + c2iUrl: inverse(base64UrlAlphabet) +}; + + +/***/ }), +/* 545 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); +var i2c = (__webpack_require__(544).i2c); + +var $btoa = getBuiltIn('btoa'); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); + +var BASIC = !!$btoa && !fails(function () { + return $btoa('hi') !== 'aGk='; +}); + +var NO_ARG_RECEIVING_CHECK = BASIC && !fails(function () { + $btoa(); +}); + +var WRONG_ARG_CONVERSION = BASIC && fails(function () { + return $btoa(null) !== 'bnVsbA=='; +}); + +var WRONG_ARITY = BASIC && $btoa.length !== 1; + +// `btoa` method +// https://html.spec.whatwg.org/multipage/webappapis.html#dom-btoa +$({ global: true, bind: true, enumerable: true, forced: !BASIC || NO_ARG_RECEIVING_CHECK || WRONG_ARG_CONVERSION || WRONG_ARITY }, { + btoa: function btoa(data) { + validateArgumentsLength(arguments.length, 1); + // `webpack` dev server bug on IE global methods - use call(fn, global, ...) + if (BASIC) return call($btoa, globalThis, toString(data)); + var string = toString(data); + var output = ''; + var position = 0; + var map = i2c; + var block, charCode; + while (charAt(string, position) || (map = '=', position % 1)) { + charCode = charCodeAt(string, position += 3 / 4); + if (charCode > 0xFF) { + throw new (getBuiltIn('DOMException'))('The string contains characters outside of the Latin1 range', 'InvalidCharacterError'); + } + block = block << 8 | charCode; + output += charAt(map, 63 & block >> 8 - position % 1 * 8); + } return output; + } +}); + + +/***/ }), +/* 546 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DOMIterables = __webpack_require__(547); +var DOMTokenListPrototype = __webpack_require__(548); +var forEach = __webpack_require__(160); +var createNonEnumerableProperty = __webpack_require__(43); + +var handlePrototype = function (CollectionPrototype) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { + createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); + } catch (error) { + CollectionPrototype.forEach = forEach; + } +}; + +for (var COLLECTION_NAME in DOMIterables) { + if (DOMIterables[COLLECTION_NAME]) { + handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype); + } +} + +handlePrototype(DOMTokenListPrototype); + + +/***/ }), +/* 547 */ +/***/ (function(module) { + + +// iterable DOM collections +// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods +module.exports = { + CSSRuleList: 0, + CSSStyleDeclaration: 0, + CSSValueList: 0, + ClientRectList: 0, + DOMRectList: 0, + DOMStringList: 0, + DOMTokenList: 1, + DataTransferItemList: 0, + FileList: 0, + HTMLAllCollection: 0, + HTMLCollection: 0, + HTMLFormElement: 0, + HTMLSelectElement: 0, + MediaList: 0, + MimeTypeArray: 0, + NamedNodeMap: 0, + NodeList: 1, + PaintRequestList: 0, + Plugin: 0, + PluginArray: 0, + SVGLengthList: 0, + SVGNumberList: 0, + SVGPathSegList: 0, + SVGPointList: 0, + SVGStringList: 0, + SVGTransformList: 0, + SourceBufferList: 0, + StyleSheetList: 0, + TextTrackCueList: 0, + TextTrackList: 0, + TouchList: 0 +}; + + +/***/ }), +/* 548 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList` +var documentCreateElement = __webpack_require__(42); + +var classList = documentCreateElement('span').classList; +var DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype; + +module.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype; + + +/***/ }), +/* 549 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DOMIterables = __webpack_require__(547); +var DOMTokenListPrototype = __webpack_require__(548); +var ArrayIteratorMethods = __webpack_require__(168); +var createNonEnumerableProperty = __webpack_require__(43); +var setToStringTag = __webpack_require__(82); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayValues = ArrayIteratorMethods.values; + +var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) { + if (CollectionPrototype) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[ITERATOR] !== ArrayValues) try { + createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); + } catch (error) { + CollectionPrototype[ITERATOR] = ArrayValues; + } + setToStringTag(CollectionPrototype, COLLECTION_NAME, true); + if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { + createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); + } catch (error) { + CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; + } + } + } +}; + +for (var COLLECTION_NAME in DOMIterables) { + handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype, COLLECTION_NAME); +} + +handlePrototype(DOMTokenListPrototype, 'DOMTokenList'); + + +/***/ }), +/* 550 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var getBuiltInNodeModule = __webpack_require__(229); +var fails = __webpack_require__(7); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var defineProperty = (__webpack_require__(44).f); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var hasOwn = __webpack_require__(38); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var errorToString = __webpack_require__(125); +var normalizeStringArgument = __webpack_require__(119); +var DOMExceptionConstants = __webpack_require__(551); +var clearErrorStack = __webpack_require__(122); +var InternalStateModule = __webpack_require__(51); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var DOM_EXCEPTION = 'DOMException'; +var DATA_CLONE_ERR = 'DATA_CLONE_ERR'; +var Error = getBuiltIn('Error'); +// NodeJS < 17.0 does not expose `DOMException` to global +var NativeDOMException = getBuiltIn(DOM_EXCEPTION) || (function () { + try { + // NodeJS < 15.0 does not expose `MessageChannel` to global + var MessageChannel = getBuiltIn('MessageChannel') || getBuiltInNodeModule('worker_threads').MessageChannel; + // eslint-disable-next-line es/no-weak-map, unicorn/require-post-message-target-origin -- safe + new MessageChannel().port1.postMessage(new WeakMap()); + } catch (error) { + if (error.name === DATA_CLONE_ERR && error.code === 25) return error.constructor; + } +})(); +var NativeDOMExceptionPrototype = NativeDOMException && NativeDOMException.prototype; +var ErrorPrototype = Error.prototype; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(DOM_EXCEPTION); +var HAS_STACK = 'stack' in new Error(DOM_EXCEPTION); + +var codeFor = function (name) { + return hasOwn(DOMExceptionConstants, name) && DOMExceptionConstants[name].m ? DOMExceptionConstants[name].c : 0; +}; + +var $DOMException = function DOMException() { + anInstance(this, DOMExceptionPrototype); + var argumentsLength = arguments.length; + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); + var code = codeFor(name); + setInternalState(this, { + type: DOM_EXCEPTION, + name: name, + message: message, + code: code + }); + if (!DESCRIPTORS) { + this.name = name; + this.message = message; + this.code = code; + } + if (HAS_STACK) { + var error = new Error(message); + error.name = DOM_EXCEPTION; + defineProperty(this, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); + } +}; + +var DOMExceptionPrototype = $DOMException.prototype = create(ErrorPrototype); + +var createGetterDescriptor = function (get) { + return { enumerable: true, configurable: true, get: get }; +}; + +var getterFor = function (key) { + return createGetterDescriptor(function () { + return getInternalState(this)[key]; + }); +}; + +if (DESCRIPTORS) { + // `DOMException.prototype.code` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'code', getterFor('code')); + // `DOMException.prototype.message` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'message', getterFor('message')); + // `DOMException.prototype.name` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'name', getterFor('name')); +} + +defineProperty(DOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, $DOMException)); + +// FF36- DOMException is a function, but can't be constructed +var INCORRECT_CONSTRUCTOR = fails(function () { + return !(new NativeDOMException() instanceof Error); +}); + +// Safari 10.1 / Chrome 32- / IE8- DOMException.prototype.toString bugs +var INCORRECT_TO_STRING = INCORRECT_CONSTRUCTOR || fails(function () { + return ErrorPrototype.toString !== errorToString || String(new NativeDOMException(1, 2)) !== '2: 1'; +}); + +// Deno 1.6.3- DOMException.prototype.code just missed +var INCORRECT_CODE = INCORRECT_CONSTRUCTOR || fails(function () { + return new NativeDOMException(1, 'DataCloneError').code !== 25; +}); + +// Deno 1.6.3- DOMException constants just missed +var MISSED_CONSTANTS = INCORRECT_CONSTRUCTOR + || NativeDOMException[DATA_CLONE_ERR] !== 25 + || NativeDOMExceptionPrototype[DATA_CLONE_ERR] !== 25; + +var FORCED_CONSTRUCTOR = IS_PURE ? INCORRECT_TO_STRING || INCORRECT_CODE || MISSED_CONSTANTS : INCORRECT_CONSTRUCTOR; + +// `DOMException` constructor +// https://webidl.spec.whatwg.org/#idl-DOMException +$({ global: true, constructor: true, forced: FORCED_CONSTRUCTOR }, { + DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException +}); + +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION); +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype; + +if (INCORRECT_TO_STRING && (IS_PURE || NativeDOMException === PolyfilledDOMException)) { + defineBuiltIn(PolyfilledDOMExceptionPrototype, 'toString', errorToString); +} + +if (INCORRECT_CODE && DESCRIPTORS && NativeDOMException === PolyfilledDOMException) { + defineBuiltInAccessor(PolyfilledDOMExceptionPrototype, 'code', createGetterDescriptor(function () { + return codeFor(anObject(this).name); + })); +} + +// `DOMException` constants +for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) { + var constant = DOMExceptionConstants[key]; + var constantName = constant.s; + var descriptor = createPropertyDescriptor(6, constant.c); + if (!hasOwn(PolyfilledDOMException, constantName)) { + defineProperty(PolyfilledDOMException, constantName, descriptor); + } + if (!hasOwn(PolyfilledDOMExceptionPrototype, constantName)) { + defineProperty(PolyfilledDOMExceptionPrototype, constantName, descriptor); + } +} + + +/***/ }), +/* 551 */ +/***/ (function(module) { + + +module.exports = { + IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 }, + DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 }, + HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 }, + WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 }, + InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 }, + NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 }, + NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 }, + NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 }, + NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 }, + InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 }, + InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 }, + SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 }, + InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 }, + NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 }, + InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 }, + ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 }, + TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 }, + SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 }, + NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 }, + AbortError: { s: 'ABORT_ERR', c: 20, m: 1 }, + URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 }, + QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 }, + TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 }, + InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 }, + DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 } +}; + + +/***/ }), +/* 552 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var createPropertyDescriptor = __webpack_require__(11); +var defineProperty = (__webpack_require__(44).f); +var hasOwn = __webpack_require__(38); +var anInstance = __webpack_require__(211); +var inheritIfRequired = __webpack_require__(118); +var normalizeStringArgument = __webpack_require__(119); +var DOMExceptionConstants = __webpack_require__(551); +var clearErrorStack = __webpack_require__(122); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var DOM_EXCEPTION = 'DOMException'; +var Error = getBuiltIn('Error'); +var NativeDOMException = getBuiltIn(DOM_EXCEPTION); + +var $DOMException = function DOMException() { + anInstance(this, DOMExceptionPrototype); + var argumentsLength = arguments.length; + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); + var that = new NativeDOMException(message, name); + var error = new Error(message); + error.name = DOM_EXCEPTION; + defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); + inheritIfRequired(that, this, $DOMException); + return that; +}; + +var DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype; + +var ERROR_HAS_STACK = 'stack' in new Error(DOM_EXCEPTION); +var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, DOM_EXCEPTION); + +// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it +// https://github.com/Jarred-Sumner/bun/issues/399 +var BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable); + +var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK; + +// `DOMException` constructor patch for `.stack` where it's required +// https://webidl.spec.whatwg.org/#es-DOMException-specialness +$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic + DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException +}); + +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION); +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype; + +if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) { + if (!IS_PURE) { + defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException)); + } + + for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) { + var constant = DOMExceptionConstants[key]; + var constantName = constant.s; + if (!hasOwn(PolyfilledDOMException, constantName)) { + defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c)); + } + } +} + + +/***/ }), +/* 553 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var setToStringTag = __webpack_require__(82); + +var DOM_EXCEPTION = 'DOMException'; + +// `DOMException.prototype[@@toStringTag]` property +setToStringTag(getBuiltIn(DOM_EXCEPTION), DOM_EXCEPTION); + + +/***/ }), +/* 554 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(555); +__webpack_require__(556); + + +/***/ }), +/* 555 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var clearImmediate = (__webpack_require__(360).clear); + +// `clearImmediate` method +// http://w3c.github.io/setImmediate/#si-clearImmediate +$({ global: true, bind: true, enumerable: true, forced: globalThis.clearImmediate !== clearImmediate }, { + clearImmediate: clearImmediate +}); + + +/***/ }), +/* 556 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var setTask = (__webpack_require__(360).set); +var schedulersFix = __webpack_require__(557); + +// https://github.com/oven-sh/bun/issues/1633 +var setImmediate = globalThis.setImmediate ? schedulersFix(setTask, false) : setTask; + +// `setImmediate` method +// http://w3c.github.io/setImmediate/#si-setImmediate +$({ global: true, bind: true, enumerable: true, forced: globalThis.setImmediate !== setImmediate }, { + setImmediate: setImmediate +}); + + +/***/ }), +/* 557 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var isCallable = __webpack_require__(21); +var ENVIRONMENT = __webpack_require__(183); +var USER_AGENT = __webpack_require__(28); +var arraySlice = __webpack_require__(76); +var validateArgumentsLength = __webpack_require__(361); + +var Function = globalThis.Function; +// dirty IE9- and Bun 0.3.0- checks +var WRAP = /MSIE .\./.test(USER_AGENT) || ENVIRONMENT === 'BUN' && (function () { + var version = globalThis.Bun.version.split('.'); + return version.length < 3 || version[0] === '0' && (version[1] < 3 || version[1] === '3' && version[2] === '0'); +})(); + +// IE9- / Bun 0.3.0- setTimeout / setInterval / setImmediate additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers +// https://github.com/oven-sh/bun/issues/1633 +module.exports = function (scheduler, hasTimeArg) { + var firstParamIndex = hasTimeArg ? 2 : 1; + return WRAP ? function (handler, timeout /* , ...arguments */) { + var boundArgs = validateArgumentsLength(arguments.length, 1) > firstParamIndex; + var fn = isCallable(handler) ? handler : Function(handler); + var params = boundArgs ? arraySlice(arguments, firstParamIndex) : []; + var callback = boundArgs ? function () { + apply(fn, this, params); + } : fn; + return hasTimeArg ? scheduler(callback, timeout) : scheduler(callback); + } : scheduler; +}; + + +/***/ }), +/* 558 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var microtask = __webpack_require__(363); +var aCallable = __webpack_require__(30); +var validateArgumentsLength = __webpack_require__(361); +var fails = __webpack_require__(7); +var DESCRIPTORS = __webpack_require__(6); + +// Bun ~ 1.0.30 bug +// https://github.com/oven-sh/bun/issues/9249 +var WRONG_ARITY = fails(function () { + // getOwnPropertyDescriptor for prevent experimental warning in Node 11 + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + return DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, 'queueMicrotask').value.length !== 1; +}); + +// `queueMicrotask` method +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask +$({ global: true, enumerable: true, dontCallGetSet: true, forced: WRONG_ARITY }, { + queueMicrotask: function queueMicrotask(fn) { + validateArgumentsLength(arguments.length, 1); + microtask(aCallable(fn)); + } +}); + + +/***/ }), +/* 559 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var defineBuiltInAccessor = __webpack_require__(77); +var DESCRIPTORS = __webpack_require__(6); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; +var INCORRECT_VALUE = globalThis.self !== globalThis; + +// `self` getter +// https://html.spec.whatwg.org/multipage/window-object.html#dom-self +try { + if (DESCRIPTORS) { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var descriptor = Object.getOwnPropertyDescriptor(globalThis, 'self'); + // some engines have `self`, but with incorrect descriptor + // https://github.com/denoland/deno/issues/15765 + if (INCORRECT_VALUE || !descriptor || !descriptor.get || !descriptor.enumerable) { + defineBuiltInAccessor(globalThis, 'self', { + get: function self() { + return globalThis; + }, + set: function self(value) { + if (this !== globalThis) throw new $TypeError('Illegal invocation'); + defineProperty(globalThis, 'self', { + value: value, + writable: true, + configurable: true, + enumerable: true + }); + }, + configurable: true, + enumerable: true + }); + } + } else $({ global: true, simple: true, forced: INCORRECT_VALUE }, { + self: globalThis + }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 560 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var IS_PURE = __webpack_require__(36); +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var uid = __webpack_require__(40); +var isCallable = __webpack_require__(21); +var isConstructor = __webpack_require__(89); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var iterate = __webpack_require__(130); +var anObject = __webpack_require__(46); +var classof = __webpack_require__(69); +var hasOwn = __webpack_require__(38); +var createProperty = __webpack_require__(141); +var createNonEnumerableProperty = __webpack_require__(43); +var lengthOfArrayLike = __webpack_require__(63); +var validateArgumentsLength = __webpack_require__(361); +var getRegExpFlags = __webpack_require__(402); +var MapHelpers = __webpack_require__(279); +var SetHelpers = __webpack_require__(419); +var setIterate = __webpack_require__(421); +var detachTransferable = __webpack_require__(228); +var ERROR_STACK_INSTALLABLE = __webpack_require__(123); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var Object = globalThis.Object; +var Array = globalThis.Array; +var Date = globalThis.Date; +var Error = globalThis.Error; +var TypeError = globalThis.TypeError; +var PerformanceMark = globalThis.PerformanceMark; +var DOMException = getBuiltIn('DOMException'); +var Map = MapHelpers.Map; +var mapHas = MapHelpers.has; +var mapGet = MapHelpers.get; +var mapSet = MapHelpers.set; +var Set = SetHelpers.Set; +var setAdd = SetHelpers.add; +var setHas = SetHelpers.has; +var objectKeys = getBuiltIn('Object', 'keys'); +var push = uncurryThis([].push); +var thisBooleanValue = uncurryThis(true.valueOf); +var thisNumberValue = uncurryThis(1.0.valueOf); +var thisStringValue = uncurryThis(''.valueOf); +var thisTimeValue = uncurryThis(Date.prototype.getTime); +var PERFORMANCE_MARK = uid('structuredClone'); +var DATA_CLONE_ERROR = 'DataCloneError'; +var TRANSFERRING = 'Transferring'; + +var checkBasicSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var set1 = new globalThis.Set([7]); + var set2 = structuredCloneImplementation(set1); + var number = structuredCloneImplementation(Object(7)); + return set2 === set1 || !set2.has(7) || !isObject(number) || +number !== 7; + }) && structuredCloneImplementation; +}; + +var checkErrorsCloning = function (structuredCloneImplementation, $Error) { + return !fails(function () { + var error = new $Error(); + var test = structuredCloneImplementation({ a: error, b: error }); + return !(test && test.a === test.b && test.a instanceof $Error && test.a.stack === error.stack); + }); +}; + +// https://github.com/whatwg/html/pull/5749 +var checkNewErrorsCloningSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var test = structuredCloneImplementation(new globalThis.AggregateError([1], PERFORMANCE_MARK, { cause: 3 })); + return test.name !== 'AggregateError' || test.errors[0] !== 1 || test.message !== PERFORMANCE_MARK || test.cause !== 3; + }); +}; + +// FF94+, Safari 15.4+, Chrome 98+, NodeJS 17.0+, Deno 1.13+ +// FF<103 and Safari implementations can't clone errors +// https://bugzilla.mozilla.org/show_bug.cgi?id=1556604 +// FF103 can clone errors, but `.stack` of clone is an empty string +// https://bugzilla.mozilla.org/show_bug.cgi?id=1778762 +// FF104+ fixed it on usual errors, but not on DOMExceptions +// https://bugzilla.mozilla.org/show_bug.cgi?id=1777321 +// Chrome <102 returns `null` if cloned object contains multiple references to one error +// https://bugs.chromium.org/p/v8/issues/detail?id=12542 +// NodeJS implementation can't clone DOMExceptions +// https://github.com/nodejs/node/issues/41038 +// only FF103+ supports new (html/5749) error cloning semantic +var nativeStructuredClone = globalThis.structuredClone; + +var FORCED_REPLACEMENT = IS_PURE + || !checkErrorsCloning(nativeStructuredClone, Error) + || !checkErrorsCloning(nativeStructuredClone, DOMException) + || !checkNewErrorsCloningSemantic(nativeStructuredClone); + +// Chrome 82+, Safari 14.1+, Deno 1.11+ +// Chrome 78-81 implementation swaps `.name` and `.message` of cloned `DOMException` +// Chrome returns `null` if cloned object contains multiple references to one error +// Safari 14.1 implementation doesn't clone some `RegExp` flags, so requires a workaround +// Safari implementation can't clone errors +// Deno 1.2-1.10 implementations too naive +// NodeJS 16.0+ does not have `PerformanceMark` constructor +// NodeJS <17.2 structured cloning implementation from `performance.mark` is too naive +// and can't clone, for example, `RegExp` or some boxed primitives +// https://github.com/nodejs/node/issues/40840 +// no one of those implementations supports new (html/5749) error cloning semantic +var structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) { + return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail; +}); + +var nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark; + +var throwUncloneable = function (type) { + throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR); +}; + +var throwUnpolyfillable = function (type, action) { + throw new DOMException((action || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR); +}; + +var tryNativeRestrictedStructuredClone = function (value, type) { + if (!nativeRestrictedStructuredClone) throwUnpolyfillable(type); + return nativeRestrictedStructuredClone(value); +}; + +var createDataTransfer = function () { + var dataTransfer; + try { + dataTransfer = new globalThis.DataTransfer(); + } catch (error) { + try { + dataTransfer = new globalThis.ClipboardEvent('').clipboardData; + } catch (error2) { /* empty */ } + } + return dataTransfer && dataTransfer.items && dataTransfer.files ? dataTransfer : null; +}; + +var cloneBuffer = function (value, map, $type) { + if (mapHas(map, value)) return mapGet(map, value); + + var type = $type || classof(value); + var clone, length, options, source, target, i; + + if (type === 'SharedArrayBuffer') { + if (nativeRestrictedStructuredClone) clone = nativeRestrictedStructuredClone(value); + // SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original + else clone = value; + } else { + var DataView = globalThis.DataView; + + // `ArrayBuffer#slice` is not available in IE10 + // `ArrayBuffer#slice` and `DataView` are not available in old FF + if (!DataView && !isCallable(value.slice)) throwUnpolyfillable('ArrayBuffer'); + // detached buffers throws in `DataView` and `.slice` + try { + if (isCallable(value.slice) && !value.resizable) { + clone = value.slice(0); + } else { + length = value.byteLength; + options = 'maxByteLength' in value ? { maxByteLength: value.maxByteLength } : undefined; + // eslint-disable-next-line es/no-resizable-and-growable-arraybuffers -- safe + clone = new ArrayBuffer(length, options); + source = new DataView(value); + target = new DataView(clone); + for (i = 0; i < length; i++) { + target.setUint8(i, source.getUint8(i)); + } + } + } catch (error) { + throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR); + } + } + + mapSet(map, value, clone); + + return clone; +}; + +var cloneView = function (value, type, offset, length, map) { + var C = globalThis[type]; + // in some old engines like Safari 9, typeof C is 'object' + // on Uint8ClampedArray or some other constructors + if (!isObject(C)) throwUnpolyfillable(type); + return new C(cloneBuffer(value.buffer, map), offset, length); +}; + +var structuredCloneInternal = function (value, map) { + if (isSymbol(value)) throwUncloneable('Symbol'); + if (!isObject(value)) return value; + // effectively preserves circular references + if (map) { + if (mapHas(map, value)) return mapGet(map, value); + } else map = new Map(); + + var type = classof(value); + var C, name, cloned, dataTransfer, i, length, keys, key; + + switch (type) { + case 'Array': + cloned = Array(lengthOfArrayLike(value)); + break; + case 'Object': + cloned = {}; + break; + case 'Map': + cloned = new Map(); + break; + case 'Set': + cloned = new Set(); + break; + case 'RegExp': + // in this block because of a Safari 14.1 bug + // old FF does not clone regexes passed to the constructor, so get the source and flags directly + cloned = new RegExp(value.source, getRegExpFlags(value)); + break; + case 'Error': + name = value.name; + switch (name) { + case 'AggregateError': + cloned = new (getBuiltIn(name))([]); + break; + case 'EvalError': + case 'RangeError': + case 'ReferenceError': + case 'SuppressedError': + case 'SyntaxError': + case 'TypeError': + case 'URIError': + cloned = new (getBuiltIn(name))(); + break; + case 'CompileError': + case 'LinkError': + case 'RuntimeError': + cloned = new (getBuiltIn('WebAssembly', name))(); + break; + default: + cloned = new Error(); + } + break; + case 'DOMException': + cloned = new DOMException(value.message, value.name); + break; + case 'ArrayBuffer': + case 'SharedArrayBuffer': + cloned = cloneBuffer(value, map, type); + break; + case 'DataView': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float16Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + length = type === 'DataView' ? value.byteLength : value.length; + cloned = cloneView(value, type, value.byteOffset, length, map); + break; + case 'DOMQuad': + try { + cloned = new DOMQuad( + structuredCloneInternal(value.p1, map), + structuredCloneInternal(value.p2, map), + structuredCloneInternal(value.p3, map), + structuredCloneInternal(value.p4, map) + ); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } + break; + case 'File': + if (nativeRestrictedStructuredClone) try { + cloned = nativeRestrictedStructuredClone(value); + // NodeJS 20.0.0 bug, https://github.com/nodejs/node/issues/47612 + if (classof(cloned) !== type) cloned = undefined; + } catch (error) { /* empty */ } + if (!cloned) try { + cloned = new File([value], value.name, value); + } catch (error) { /* empty */ } + if (!cloned) throwUnpolyfillable(type); + break; + case 'FileList': + dataTransfer = createDataTransfer(); + if (dataTransfer) { + for (i = 0, length = lengthOfArrayLike(value); i < length; i++) { + dataTransfer.items.add(structuredCloneInternal(value[i], map)); + } + cloned = dataTransfer.files; + } else cloned = tryNativeRestrictedStructuredClone(value, type); + break; + case 'ImageData': + // Safari 9 ImageData is a constructor, but typeof ImageData is 'object' + try { + cloned = new ImageData( + structuredCloneInternal(value.data, map), + value.width, + value.height, + { colorSpace: value.colorSpace } + ); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } break; + default: + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else switch (type) { + case 'BigInt': + // can be a 3rd party polyfill + cloned = Object(value.valueOf()); + break; + case 'Boolean': + cloned = Object(thisBooleanValue(value)); + break; + case 'Number': + cloned = Object(thisNumberValue(value)); + break; + case 'String': + cloned = Object(thisStringValue(value)); + break; + case 'Date': + cloned = new Date(thisTimeValue(value)); + break; + case 'Blob': + try { + cloned = value.slice(0, value.size, value.type); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMPoint': + case 'DOMPointReadOnly': + C = globalThis[type]; + try { + cloned = C.fromPoint + ? C.fromPoint(value) + : new C(value.x, value.y, value.z, value.w); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMRect': + case 'DOMRectReadOnly': + C = globalThis[type]; + try { + cloned = C.fromRect + ? C.fromRect(value) + : new C(value.x, value.y, value.width, value.height); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMMatrix': + case 'DOMMatrixReadOnly': + C = globalThis[type]; + try { + cloned = C.fromMatrix + ? C.fromMatrix(value) + : new C(value); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone)) throwUnpolyfillable(type); + try { + cloned = value.clone(); + } catch (error) { + throwUncloneable(type); + } break; + case 'CropTarget': + case 'CryptoKey': + case 'FileSystemDirectoryHandle': + case 'FileSystemFileHandle': + case 'FileSystemHandle': + case 'GPUCompilationInfo': + case 'GPUCompilationMessage': + case 'ImageBitmap': + case 'RTCCertificate': + case 'WebAssembly.Module': + throwUnpolyfillable(type); + // break omitted + default: + throwUncloneable(type); + } + } + + mapSet(map, value, cloned); + + switch (type) { + case 'Array': + case 'Object': + keys = objectKeys(value); + for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { + key = keys[i]; + createProperty(cloned, key, structuredCloneInternal(value[key], map)); + } break; + case 'Map': + value.forEach(function (v, k) { + mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map)); + }); + break; + case 'Set': + value.forEach(function (v) { + setAdd(cloned, structuredCloneInternal(v, map)); + }); + break; + case 'Error': + createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map)); + if (hasOwn(value, 'cause')) { + createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map)); + } + if (name === 'AggregateError') { + cloned.errors = structuredCloneInternal(value.errors, map); + } else if (name === 'SuppressedError') { + cloned.error = structuredCloneInternal(value.error, map); + cloned.suppressed = structuredCloneInternal(value.suppressed, map); + } // break omitted + case 'DOMException': + if (ERROR_STACK_INSTALLABLE) { + createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map)); + } + } + + return cloned; +}; + +var tryToTransfer = function (rawTransfer, map) { + if (!isObject(rawTransfer)) throw new TypeError('Transfer option cannot be converted to a sequence'); + + var transfer = []; + + iterate(rawTransfer, function (value) { + push(transfer, anObject(value)); + }); + + var i = 0; + var length = lengthOfArrayLike(transfer); + var buffers = new Set(); + var value, type, C, transferred, canvas, context; + + while (i < length) { + value = transfer[i++]; + + type = classof(value); + + if (type === 'ArrayBuffer' ? setHas(buffers, value) : mapHas(map, value)) { + throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); + } + + if (type === 'ArrayBuffer') { + setAdd(buffers, value); + continue; + } + + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + transferred = nativeStructuredClone(value, { transfer: [value] }); + } else switch (type) { + case 'ImageBitmap': + C = globalThis.OffscreenCanvas; + if (!isConstructor(C)) throwUnpolyfillable(type, TRANSFERRING); + try { + canvas = new C(value.width, value.height); + context = canvas.getContext('bitmaprenderer'); + context.transferFromImageBitmap(value); + transferred = canvas.transferToImageBitmap(); + } catch (error) { /* empty */ } + break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone) || !isCallable(value.close)) throwUnpolyfillable(type, TRANSFERRING); + try { + transferred = value.clone(); + value.close(); + } catch (error) { /* empty */ } + break; + case 'MediaSourceHandle': + case 'MessagePort': + case 'MIDIAccess': + case 'OffscreenCanvas': + case 'ReadableStream': + case 'RTCDataChannel': + case 'TransformStream': + case 'WebTransportReceiveStream': + case 'WebTransportSendStream': + case 'WritableStream': + throwUnpolyfillable(type, TRANSFERRING); + } + + if (transferred === undefined) throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR); + + mapSet(map, value, transferred); + } + + return buffers; +}; + +var detachBuffers = function (buffers) { + setIterate(buffers, function (buffer) { + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + nativeRestrictedStructuredClone(buffer, { transfer: [buffer] }); + } else if (isCallable(buffer.transfer)) { + buffer.transfer(); + } else if (detachTransferable) { + detachTransferable(buffer); + } else { + throwUnpolyfillable('ArrayBuffer', TRANSFERRING); + } + }); +}; + +// `structuredClone` method +// https://html.spec.whatwg.org/multipage/structured-data.html#dom-structuredclone +$({ global: true, enumerable: true, sham: !PROPER_STRUCTURED_CLONE_TRANSFER, forced: FORCED_REPLACEMENT }, { + structuredClone: function structuredClone(value /* , { transfer } */) { + var options = validateArgumentsLength(arguments.length, 1) > 1 && !isNullOrUndefined(arguments[1]) ? anObject(arguments[1]) : undefined; + var transfer = options ? options.transfer : undefined; + var map, buffers; + + if (transfer !== undefined) { + map = new Map(); + buffers = tryToTransfer(transfer, map); + } + + var clone = structuredCloneInternal(value, map); + + // since of an issue with cloning views of transferred buffers, we a forced to detach them later + // https://github.com/zloirock/core-js/issues/1265 + if (buffers) detachBuffers(buffers); + + return clone; + } +}); + + +/***/ }), +/* 561 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(562); +__webpack_require__(563); + + +/***/ }), +/* 562 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var schedulersFix = __webpack_require__(557); + +var setInterval = schedulersFix(globalThis.setInterval, true); + +// Bun / IE9- setInterval additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval +$({ global: true, bind: true, forced: globalThis.setInterval !== setInterval }, { + setInterval: setInterval +}); + + +/***/ }), +/* 563 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var schedulersFix = __webpack_require__(557); + +var setTimeout = schedulersFix(globalThis.setTimeout, true); + +// Bun / IE9- setTimeout additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout +$({ global: true, bind: true, forced: globalThis.setTimeout !== setTimeout }, { + setTimeout: setTimeout +}); + + +/***/ }), +/* 564 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(565); + + +/***/ }), +/* 565 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__(447); +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var USE_NATIVE_URL = __webpack_require__(566); +var globalThis = __webpack_require__(4); +var bind = __webpack_require__(84); +var uncurryThis = __webpack_require__(14); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var anInstance = __webpack_require__(211); +var hasOwn = __webpack_require__(38); +var assign = __webpack_require__(322); +var arrayFrom = __webpack_require__(162); +var arraySlice = __webpack_require__(76); +var codeAt = (__webpack_require__(440).codeAt); +var toASCII = __webpack_require__(567); +var $toString = __webpack_require__(68); +var setToStringTag = __webpack_require__(82); +var validateArgumentsLength = __webpack_require__(361); +var URLSearchParamsModule = __webpack_require__(568); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var getInternalURLState = InternalStateModule.getterFor('URL'); +var URLSearchParams = URLSearchParamsModule.URLSearchParams; +var getInternalSearchParamsState = URLSearchParamsModule.getState; + +var NativeURL = globalThis.URL; +var TypeError = globalThis.TypeError; +var parseInt = globalThis.parseInt; +var floor = Math.floor; +var pow = Math.pow; +var charAt = uncurryThis(''.charAt); +var exec = uncurryThis(/./.exec); +var join = uncurryThis([].join); +var numberToString = uncurryThis(1.0.toString); +var pop = uncurryThis([].pop); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); +var toLowerCase = uncurryThis(''.toLowerCase); +var unshift = uncurryThis([].unshift); + +var INVALID_AUTHORITY = 'Invalid authority'; +var INVALID_SCHEME = 'Invalid scheme'; +var INVALID_HOST = 'Invalid host'; +var INVALID_PORT = 'Invalid port'; + +var ALPHA = /[a-z]/i; +// eslint-disable-next-line regexp/no-obscure-range -- safe +var ALPHANUMERIC = /[\d+-.a-z]/i; +var DIGIT = /\d/; +var HEX_START = /^0x/i; +var OCT = /^[0-7]+$/; +var DEC = /^\d+$/; +var HEX = /^[\da-f]+$/i; +/* eslint-disable regexp/no-control-character -- safe */ +var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/; +var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/; +var LEADING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+/; +var TRAILING_C0_CONTROL_OR_SPACE = /(^|[^\u0000-\u0020])[\u0000-\u0020]+$/; +var TAB_AND_NEW_LINE = /[\t\n\r]/g; +/* eslint-enable regexp/no-control-character -- safe */ +var EOF; + +// https://url.spec.whatwg.org/#ipv4-number-parser +var parseIPv4 = function (input) { + var parts = split(input, '.'); + var partsLength, numbers, index, part, radix, number, ipv4; + if (parts.length && parts[parts.length - 1] === '') { + parts.length--; + } + partsLength = parts.length; + if (partsLength > 4) return input; + numbers = []; + for (index = 0; index < partsLength; index++) { + part = parts[index]; + if (part === '') return input; + radix = 10; + if (part.length > 1 && charAt(part, 0) === '0') { + radix = exec(HEX_START, part) ? 16 : 8; + part = stringSlice(part, radix === 8 ? 1 : 2); + } + if (part === '') { + number = 0; + } else { + if (!exec(radix === 10 ? DEC : radix === 8 ? OCT : HEX, part)) return input; + number = parseInt(part, radix); + } + push(numbers, number); + } + for (index = 0; index < partsLength; index++) { + number = numbers[index]; + if (index === partsLength - 1) { + if (number >= pow(256, 5 - partsLength)) return null; + } else if (number > 255) return null; + } + ipv4 = pop(numbers); + for (index = 0; index < numbers.length; index++) { + ipv4 += numbers[index] * pow(256, 3 - index); + } + return ipv4; +}; + +// https://url.spec.whatwg.org/#concept-ipv6-parser +// eslint-disable-next-line max-statements -- TODO +var parseIPv6 = function (input) { + var address = [0, 0, 0, 0, 0, 0, 0, 0]; + var pieceIndex = 0; + var compress = null; + var pointer = 0; + var value, length, numbersSeen, ipv4Piece, number, swaps, swap; + + var chr = function () { + return charAt(input, pointer); + }; + + if (chr() === ':') { + if (charAt(input, 1) !== ':') return; + pointer += 2; + pieceIndex++; + compress = pieceIndex; + } + while (chr()) { + if (pieceIndex === 8) return; + if (chr() === ':') { + if (compress !== null) return; + pointer++; + pieceIndex++; + compress = pieceIndex; + continue; + } + value = length = 0; + while (length < 4 && exec(HEX, chr())) { + value = value * 16 + parseInt(chr(), 16); + pointer++; + length++; + } + if (chr() === '.') { + if (length === 0) return; + pointer -= length; + if (pieceIndex > 6) return; + numbersSeen = 0; + while (chr()) { + ipv4Piece = null; + if (numbersSeen > 0) { + if (chr() === '.' && numbersSeen < 4) pointer++; + else return; + } + if (!exec(DIGIT, chr())) return; + while (exec(DIGIT, chr())) { + number = parseInt(chr(), 10); + if (ipv4Piece === null) ipv4Piece = number; + else if (ipv4Piece === 0) return; + else ipv4Piece = ipv4Piece * 10 + number; + if (ipv4Piece > 255) return; + pointer++; + } + address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; + numbersSeen++; + if (numbersSeen === 2 || numbersSeen === 4) pieceIndex++; + } + if (numbersSeen !== 4) return; + break; + } else if (chr() === ':') { + pointer++; + if (!chr()) return; + } else if (chr()) return; + address[pieceIndex++] = value; + } + if (compress !== null) { + swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex !== 0 && swaps > 0) { + swap = address[pieceIndex]; + address[pieceIndex--] = address[compress + swaps - 1]; + address[compress + --swaps] = swap; + } + } else if (pieceIndex !== 8) return; + return address; +}; + +var findLongestZeroSequence = function (ipv6) { + var maxIndex = null; + var maxLength = 1; + var currStart = null; + var currLength = 0; + var index = 0; + for (; index < 8; index++) { + if (ipv6[index] !== 0) { + if (currLength > maxLength) { + maxIndex = currStart; + maxLength = currLength; + } + currStart = null; + currLength = 0; + } else { + if (currStart === null) currStart = index; + ++currLength; + } + } + return currLength > maxLength ? currStart : maxIndex; +}; + +// https://url.spec.whatwg.org/#host-serializing +var serializeHost = function (host) { + var result, index, compress, ignore0; + + // ipv4 + if (typeof host == 'number') { + result = []; + for (index = 0; index < 4; index++) { + unshift(result, host % 256); + host = floor(host / 256); + } + return join(result, '.'); + } + + // ipv6 + if (typeof host == 'object') { + result = ''; + compress = findLongestZeroSequence(host); + for (index = 0; index < 8; index++) { + if (ignore0 && host[index] === 0) continue; + if (ignore0) ignore0 = false; + if (compress === index) { + result += index ? ':' : '::'; + ignore0 = true; + } else { + result += numberToString(host[index], 16); + if (index < 7) result += ':'; + } + } + return '[' + result + ']'; + } + + return host; +}; + +var C0ControlPercentEncodeSet = {}; +var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { + ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 +}); +var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { + '#': 1, '?': 1, '{': 1, '}': 1 +}); +var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { + '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 +}); + +var percentEncode = function (chr, set) { + var code = codeAt(chr, 0); + return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr); +}; + +// https://url.spec.whatwg.org/#special-scheme +var specialSchemes = { + ftp: 21, + file: null, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; + +// https://url.spec.whatwg.org/#windows-drive-letter +var isWindowsDriveLetter = function (string, normalized) { + var second; + return string.length === 2 && exec(ALPHA, charAt(string, 0)) + && ((second = charAt(string, 1)) === ':' || (!normalized && second === '|')); +}; + +// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter +var startsWithWindowsDriveLetter = function (string) { + var third; + return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && ( + string.length === 2 || + ((third = charAt(string, 2)) === '/' || third === '\\' || third === '?' || third === '#') + ); +}; + +// https://url.spec.whatwg.org/#single-dot-path-segment +var isSingleDot = function (segment) { + return segment === '.' || toLowerCase(segment) === '%2e'; +}; + +// https://url.spec.whatwg.org/#double-dot-path-segment +var isDoubleDot = function (segment) { + segment = toLowerCase(segment); + return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; +}; + +// States: +var SCHEME_START = {}; +var SCHEME = {}; +var NO_SCHEME = {}; +var SPECIAL_RELATIVE_OR_AUTHORITY = {}; +var PATH_OR_AUTHORITY = {}; +var RELATIVE = {}; +var RELATIVE_SLASH = {}; +var SPECIAL_AUTHORITY_SLASHES = {}; +var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; +var AUTHORITY = {}; +var HOST = {}; +var HOSTNAME = {}; +var PORT = {}; +var FILE = {}; +var FILE_SLASH = {}; +var FILE_HOST = {}; +var PATH_START = {}; +var PATH = {}; +var CANNOT_BE_A_BASE_URL_PATH = {}; +var QUERY = {}; +var FRAGMENT = {}; + +var URLState = function (url, isBase, base) { + var urlString = $toString(url); + var baseState, failure, searchParams; + if (isBase) { + failure = this.parse(urlString); + if (failure) throw new TypeError(failure); + this.searchParams = null; + } else { + if (base !== undefined) baseState = new URLState(base, true); + failure = this.parse(urlString, null, baseState); + if (failure) throw new TypeError(failure); + searchParams = getInternalSearchParamsState(new URLSearchParams()); + searchParams.bindURL(this); + this.searchParams = searchParams; + } +}; + +URLState.prototype = { + type: 'URL', + // https://url.spec.whatwg.org/#url-parsing + // eslint-disable-next-line max-statements -- TODO + parse: function (input, stateOverride, base) { + var url = this; + var state = stateOverride || SCHEME_START; + var pointer = 0; + var buffer = ''; + var seenAt = false; + var seenBracket = false; + var seenPasswordToken = false; + var codePoints, chr, bufferCodePoints, failure; + + input = $toString(input); + + if (!stateOverride) { + url.scheme = ''; + url.username = ''; + url.password = ''; + url.host = null; + url.port = null; + url.path = []; + url.query = null; + url.fragment = null; + url.cannotBeABaseURL = false; + input = replace(input, LEADING_C0_CONTROL_OR_SPACE, ''); + input = replace(input, TRAILING_C0_CONTROL_OR_SPACE, '$1'); + } + + input = replace(input, TAB_AND_NEW_LINE, ''); + + codePoints = arrayFrom(input); + + while (pointer <= codePoints.length) { + chr = codePoints[pointer]; + switch (state) { + case SCHEME_START: + if (chr && exec(ALPHA, chr)) { + buffer += toLowerCase(chr); + state = SCHEME; + } else if (!stateOverride) { + state = NO_SCHEME; + continue; + } else return INVALID_SCHEME; + break; + + case SCHEME: + if (chr && (exec(ALPHANUMERIC, chr) || chr === '+' || chr === '-' || chr === '.')) { + buffer += toLowerCase(chr); + } else if (chr === ':') { + if (stateOverride && ( + (url.isSpecial() !== hasOwn(specialSchemes, buffer)) || + (buffer === 'file' && (url.includesCredentials() || url.port !== null)) || + (url.scheme === 'file' && !url.host) + )) return; + url.scheme = buffer; + if (stateOverride) { + if (url.isSpecial() && specialSchemes[url.scheme] === url.port) url.port = null; + return; + } + buffer = ''; + if (url.scheme === 'file') { + state = FILE; + } else if (url.isSpecial() && base && base.scheme === url.scheme) { + state = SPECIAL_RELATIVE_OR_AUTHORITY; + } else if (url.isSpecial()) { + state = SPECIAL_AUTHORITY_SLASHES; + } else if (codePoints[pointer + 1] === '/') { + state = PATH_OR_AUTHORITY; + pointer++; + } else { + url.cannotBeABaseURL = true; + push(url.path, ''); + state = CANNOT_BE_A_BASE_URL_PATH; + } + } else if (!stateOverride) { + buffer = ''; + state = NO_SCHEME; + pointer = 0; + continue; + } else return INVALID_SCHEME; + break; + + case NO_SCHEME: + if (!base || (base.cannotBeABaseURL && chr !== '#')) return INVALID_SCHEME; + if (base.cannotBeABaseURL && chr === '#') { + url.scheme = base.scheme; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + url.cannotBeABaseURL = true; + state = FRAGMENT; + break; + } + state = base.scheme === 'file' ? FILE : RELATIVE; + continue; + + case SPECIAL_RELATIVE_OR_AUTHORITY: + if (chr === '/' && codePoints[pointer + 1] === '/') { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + pointer++; + } else { + state = RELATIVE; + continue; + } break; + + case PATH_OR_AUTHORITY: + if (chr === '/') { + state = AUTHORITY; + break; + } else { + state = PATH; + continue; + } + + case RELATIVE: + url.scheme = base.scheme; + if (chr === EOF) { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + } else if (chr === '/' || (chr === '\\' && url.isSpecial())) { + state = RELATIVE_SLASH; + } else if (chr === '?') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.path.length--; + state = PATH; + continue; + } break; + + case RELATIVE_SLASH: + if (url.isSpecial() && (chr === '/' || chr === '\\')) { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + } else if (chr === '/') { + state = AUTHORITY; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + state = PATH; + continue; + } break; + + case SPECIAL_AUTHORITY_SLASHES: + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + if (chr !== '/' || charAt(buffer, pointer + 1) !== '/') continue; + pointer++; + break; + + case SPECIAL_AUTHORITY_IGNORE_SLASHES: + if (chr !== '/' && chr !== '\\') { + state = AUTHORITY; + continue; + } break; + + case AUTHORITY: + if (chr === '@') { + if (seenAt) buffer = '%40' + buffer; + seenAt = true; + bufferCodePoints = arrayFrom(buffer); + for (var i = 0; i < bufferCodePoints.length; i++) { + var codePoint = bufferCodePoints[i]; + if (codePoint === ':' && !seenPasswordToken) { + seenPasswordToken = true; + continue; + } + var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); + if (seenPasswordToken) url.password += encodedCodePoints; + else url.username += encodedCodePoints; + } + buffer = ''; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) + ) { + if (seenAt && buffer === '') return INVALID_AUTHORITY; + pointer -= arrayFrom(buffer).length + 1; + buffer = ''; + state = HOST; + } else buffer += chr; + break; + + case HOST: + case HOSTNAME: + if (stateOverride && url.scheme === 'file') { + state = FILE_HOST; + continue; + } else if (chr === ':' && !seenBracket) { + if (buffer === '') return INVALID_HOST; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PORT; + if (stateOverride === HOSTNAME) return; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) + ) { + if (url.isSpecial() && buffer === '') return INVALID_HOST; + if (stateOverride && buffer === '' && (url.includesCredentials() || url.port !== null)) return; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PATH_START; + if (stateOverride) return; + continue; + } else { + if (chr === '[') seenBracket = true; + else if (chr === ']') seenBracket = false; + buffer += chr; + } break; + + case PORT: + if (exec(DIGIT, chr)) { + buffer += chr; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) || + stateOverride + ) { + if (buffer !== '') { + var port = parseInt(buffer, 10); + if (port > 0xFFFF) return INVALID_PORT; + url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port; + buffer = ''; + } + if (stateOverride) return; + state = PATH_START; + continue; + } else return INVALID_PORT; + break; + + case FILE: + url.scheme = 'file'; + if (chr === '/' || chr === '\\') state = FILE_SLASH; + else if (base && base.scheme === 'file') { + switch (chr) { + case EOF: + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + break; + case '?': + url.host = base.host; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + break; + case '#': + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + break; + default: + if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + url.host = base.host; + url.path = arraySlice(base.path); + url.shortenPath(); + } + state = PATH; + continue; + } + } else { + state = PATH; + continue; + } break; + + case FILE_SLASH: + if (chr === '/' || chr === '\\') { + state = FILE_HOST; + break; + } + if (base && base.scheme === 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]); + else url.host = base.host; + } + state = PATH; + continue; + + case FILE_HOST: + if (chr === EOF || chr === '/' || chr === '\\' || chr === '?' || chr === '#') { + if (!stateOverride && isWindowsDriveLetter(buffer)) { + state = PATH; + } else if (buffer === '') { + url.host = ''; + if (stateOverride) return; + state = PATH_START; + } else { + failure = url.parseHost(buffer); + if (failure) return failure; + if (url.host === 'localhost') url.host = ''; + if (stateOverride) return; + buffer = ''; + state = PATH_START; + } continue; + } else buffer += chr; + break; + + case PATH_START: + if (url.isSpecial()) { + state = PATH; + if (chr !== '/' && chr !== '\\') continue; + } else if (!stateOverride && chr === '?') { + url.query = ''; + state = QUERY; + } else if (!stateOverride && chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + state = PATH; + if (chr !== '/') continue; + } break; + + case PATH: + if ( + chr === EOF || chr === '/' || + (chr === '\\' && url.isSpecial()) || + (!stateOverride && (chr === '?' || chr === '#')) + ) { + if (isDoubleDot(buffer)) { + url.shortenPath(); + if (chr !== '/' && !(chr === '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else if (isSingleDot(buffer)) { + if (chr !== '/' && !(chr === '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else { + if (url.scheme === 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { + if (url.host) url.host = ''; + buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter + } + push(url.path, buffer); + } + buffer = ''; + if (url.scheme === 'file' && (chr === EOF || chr === '?' || chr === '#')) { + while (url.path.length > 1 && url.path[0] === '') { + shift(url.path); + } + } + if (chr === '?') { + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } + } else { + buffer += percentEncode(chr, pathPercentEncodeSet); + } break; + + case CANNOT_BE_A_BASE_URL_PATH: + if (chr === '?') { + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet); + } break; + + case QUERY: + if (!stateOverride && chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + if (chr === "'" && url.isSpecial()) url.query += '%27'; + else if (chr === '#') url.query += '%23'; + else url.query += percentEncode(chr, C0ControlPercentEncodeSet); + } break; + + case FRAGMENT: + if (chr !== EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet); + break; + } + + pointer++; + } + }, + // https://url.spec.whatwg.org/#host-parsing + parseHost: function (input) { + var result, codePoints, index; + if (charAt(input, 0) === '[') { + if (charAt(input, input.length - 1) !== ']') return INVALID_HOST; + result = parseIPv6(stringSlice(input, 1, -1)); + if (!result) return INVALID_HOST; + this.host = result; + // opaque host + } else if (!this.isSpecial()) { + if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST; + result = ''; + codePoints = arrayFrom(input); + for (index = 0; index < codePoints.length; index++) { + result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); + } + this.host = result; + } else { + input = toASCII(input); + if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST; + result = parseIPv4(input); + if (result === null) return INVALID_HOST; + this.host = result; + } + }, + // https://url.spec.whatwg.org/#cannot-have-a-username-password-port + cannotHaveUsernamePasswordPort: function () { + return !this.host || this.cannotBeABaseURL || this.scheme === 'file'; + }, + // https://url.spec.whatwg.org/#include-credentials + includesCredentials: function () { + return this.username !== '' || this.password !== ''; + }, + // https://url.spec.whatwg.org/#is-special + isSpecial: function () { + return hasOwn(specialSchemes, this.scheme); + }, + // https://url.spec.whatwg.org/#shorten-a-urls-path + shortenPath: function () { + var path = this.path; + var pathSize = path.length; + if (pathSize && (this.scheme !== 'file' || pathSize !== 1 || !isWindowsDriveLetter(path[0], true))) { + path.length--; + } + }, + // https://url.spec.whatwg.org/#concept-url-serializer + serialize: function () { + var url = this; + var scheme = url.scheme; + var username = url.username; + var password = url.password; + var host = url.host; + var port = url.port; + var path = url.path; + var query = url.query; + var fragment = url.fragment; + var output = scheme + ':'; + if (host !== null) { + output += '//'; + if (url.includesCredentials()) { + output += username + (password ? ':' + password : '') + '@'; + } + output += serializeHost(host); + if (port !== null) output += ':' + port; + } else if (scheme === 'file') output += '//'; + output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + if (query !== null) output += '?' + query; + if (fragment !== null) output += '#' + fragment; + return output; + }, + // https://url.spec.whatwg.org/#dom-url-href + setHref: function (href) { + var failure = this.parse(href); + if (failure) throw new TypeError(failure); + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-origin + getOrigin: function () { + var scheme = this.scheme; + var port = this.port; + if (scheme === 'blob') try { + return new URLConstructor(scheme.path[0]).origin; + } catch (error) { + return 'null'; + } + if (scheme === 'file' || !this.isSpecial()) return 'null'; + return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : ''); + }, + // https://url.spec.whatwg.org/#dom-url-protocol + getProtocol: function () { + return this.scheme + ':'; + }, + setProtocol: function (protocol) { + this.parse($toString(protocol) + ':', SCHEME_START); + }, + // https://url.spec.whatwg.org/#dom-url-username + getUsername: function () { + return this.username; + }, + setUsername: function (username) { + var codePoints = arrayFrom($toString(username)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.username = ''; + for (var i = 0; i < codePoints.length; i++) { + this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-password + getPassword: function () { + return this.password; + }, + setPassword: function (password) { + var codePoints = arrayFrom($toString(password)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.password = ''; + for (var i = 0; i < codePoints.length; i++) { + this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-host + getHost: function () { + var host = this.host; + var port = this.port; + return host === null ? '' + : port === null ? serializeHost(host) + : serializeHost(host) + ':' + port; + }, + setHost: function (host) { + if (this.cannotBeABaseURL) return; + this.parse(host, HOST); + }, + // https://url.spec.whatwg.org/#dom-url-hostname + getHostname: function () { + var host = this.host; + return host === null ? '' : serializeHost(host); + }, + setHostname: function (hostname) { + if (this.cannotBeABaseURL) return; + this.parse(hostname, HOSTNAME); + }, + // https://url.spec.whatwg.org/#dom-url-port + getPort: function () { + var port = this.port; + return port === null ? '' : $toString(port); + }, + setPort: function (port) { + if (this.cannotHaveUsernamePasswordPort()) return; + port = $toString(port); + if (port === '') this.port = null; + else this.parse(port, PORT); + }, + // https://url.spec.whatwg.org/#dom-url-pathname + getPathname: function () { + var path = this.path; + return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + }, + setPathname: function (pathname) { + if (this.cannotBeABaseURL) return; + this.path = []; + this.parse(pathname, PATH_START); + }, + // https://url.spec.whatwg.org/#dom-url-search + getSearch: function () { + var query = this.query; + return query ? '?' + query : ''; + }, + setSearch: function (search) { + search = $toString(search); + if (search === '') { + this.query = null; + } else { + if (charAt(search, 0) === '?') search = stringSlice(search, 1); + this.query = ''; + this.parse(search, QUERY); + } + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-searchparams + getSearchParams: function () { + return this.searchParams.facade; + }, + // https://url.spec.whatwg.org/#dom-url-hash + getHash: function () { + var fragment = this.fragment; + return fragment ? '#' + fragment : ''; + }, + setHash: function (hash) { + hash = $toString(hash); + if (hash === '') { + this.fragment = null; + return; + } + if (charAt(hash, 0) === '#') hash = stringSlice(hash, 1); + this.fragment = ''; + this.parse(hash, FRAGMENT); + }, + update: function () { + this.query = this.searchParams.serialize() || null; + } +}; + +// `URL` constructor +// https://url.spec.whatwg.org/#url-class +var URLConstructor = function URL(url /* , base */) { + var that = anInstance(this, URLPrototype); + var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined; + var state = setInternalState(that, new URLState(url, false, base)); + if (!DESCRIPTORS) { + that.href = state.serialize(); + that.origin = state.getOrigin(); + that.protocol = state.getProtocol(); + that.username = state.getUsername(); + that.password = state.getPassword(); + that.host = state.getHost(); + that.hostname = state.getHostname(); + that.port = state.getPort(); + that.pathname = state.getPathname(); + that.search = state.getSearch(); + that.searchParams = state.getSearchParams(); + that.hash = state.getHash(); + } +}; + +var URLPrototype = URLConstructor.prototype; + +var accessorDescriptor = function (getter, setter) { + return { + get: function () { + return getInternalURLState(this)[getter](); + }, + set: setter && function (value) { + return getInternalURLState(this)[setter](value); + }, + configurable: true, + enumerable: true + }; +}; + +if (DESCRIPTORS) { + // `URL.prototype.href` accessors pair + // https://url.spec.whatwg.org/#dom-url-href + defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref')); + // `URL.prototype.origin` getter + // https://url.spec.whatwg.org/#dom-url-origin + defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin')); + // `URL.prototype.protocol` accessors pair + // https://url.spec.whatwg.org/#dom-url-protocol + defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol')); + // `URL.prototype.username` accessors pair + // https://url.spec.whatwg.org/#dom-url-username + defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername')); + // `URL.prototype.password` accessors pair + // https://url.spec.whatwg.org/#dom-url-password + defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword')); + // `URL.prototype.host` accessors pair + // https://url.spec.whatwg.org/#dom-url-host + defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost')); + // `URL.prototype.hostname` accessors pair + // https://url.spec.whatwg.org/#dom-url-hostname + defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname')); + // `URL.prototype.port` accessors pair + // https://url.spec.whatwg.org/#dom-url-port + defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort')); + // `URL.prototype.pathname` accessors pair + // https://url.spec.whatwg.org/#dom-url-pathname + defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname')); + // `URL.prototype.search` accessors pair + // https://url.spec.whatwg.org/#dom-url-search + defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch')); + // `URL.prototype.searchParams` getter + // https://url.spec.whatwg.org/#dom-url-searchparams + defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams')); + // `URL.prototype.hash` accessors pair + // https://url.spec.whatwg.org/#dom-url-hash + defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash')); +} + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +defineBuiltIn(URLPrototype, 'toJSON', function toJSON() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); + +// `URL.prototype.toString` method +// https://url.spec.whatwg.org/#URL-stringification-behavior +defineBuiltIn(URLPrototype, 'toString', function toString() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); + +if (NativeURL) { + var nativeCreateObjectURL = NativeURL.createObjectURL; + var nativeRevokeObjectURL = NativeURL.revokeObjectURL; + // `URL.createObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL + if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL)); + // `URL.revokeObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL + if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL)); +} + +setToStringTag(URLConstructor, 'URL'); + +$({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { + URL: URLConstructor +}); + + +/***/ }), +/* 566 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = !fails(function () { + // eslint-disable-next-line unicorn/relative-url-style -- required for testing + var url = new URL('b?a=1&b=2&c=3', 'https://a'); + var params = url.searchParams; + var params2 = new URLSearchParams('a=1&a=2&b=3'); + var result = ''; + url.pathname = 'c%20d'; + params.forEach(function (value, key) { + params['delete']('b'); + result += key + value; + }); + params2['delete']('a', 2); + // `undefined` case is a Chromium 117 bug + // https://bugs.chromium.org/p/v8/issues/detail?id=14222 + params2['delete']('b', undefined); + return (IS_PURE && (!url.toJSON || !params2.has('a', 1) || params2.has('a', 2) || !params2.has('a', undefined) || params2.has('b'))) + || (!params.size && (IS_PURE || !DESCRIPTORS)) + || !params.sort + || url.href !== 'https://a/c%20d?a=1&c=3' + || params.get('c') !== '3' + || String(new URLSearchParams('?a=1')) !== 'a=1' + || !params[ITERATOR] + // throws in Edge + || new URL('https://a@b').username !== 'a' + || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' + // not punycoded in Edge + || new URL('https://тест').host !== 'xn--e1aybc' + // not escaped in Chrome 62- + || new URL('https://a#б').hash !== '#%D0%B1' + // fails in Chrome 66- + || result !== 'a1c3' + // throws in Safari + || new URL('https://x', undefined).host !== 'x'; +}); + + +/***/ }), +/* 567 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js +var uncurryThis = __webpack_require__(14); + +var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 +var base = 36; +var tMin = 1; +var tMax = 26; +var skew = 38; +var damp = 700; +var initialBias = 72; +var initialN = 128; // 0x80 +var delimiter = '-'; // '\x2D' +var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars +var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators +var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; +var baseMinusTMin = base - tMin; + +var $RangeError = RangeError; +var exec = uncurryThis(regexSeparators.exec); +var floor = Math.floor; +var fromCharCode = String.fromCharCode; +var charCodeAt = uncurryThis(''.charCodeAt); +var join = uncurryThis([].join); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var split = uncurryThis(''.split); +var toLowerCase = uncurryThis(''.toLowerCase); + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + */ +var ucs2decode = function (string) { + var output = []; + var counter = 0; + var length = string.length; + while (counter < length) { + var value = charCodeAt(string, counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + var extra = charCodeAt(string, counter++); + if ((extra & 0xFC00) === 0xDC00) { // Low surrogate. + push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + push(output, value); + counter--; + } + } else { + push(output, value); + } + } + return output; +}; + +/** + * Converts a digit/integer into a basic code point. + */ +var digitToBasic = function (digit) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + */ +var adapt = function (delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + while (delta > baseMinusTMin * tMax >> 1) { + delta = floor(delta / baseMinusTMin); + k += base; + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + */ +var encode = function (input) { + var output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + var inputLength = input.length; + + // Initialize the state. + var n = initialN; + var delta = 0; + var bias = initialBias; + var i, currentValue; + + // Handle the basic code points. + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < 0x80) { + push(output, fromCharCode(currentValue)); + } + } + + var basicLength = output.length; // number of basic code points. + var handledCPCount = basicLength; // number of code points that have been handled; + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + push(output, delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + // All non-basic code points < n have been handled already. Find the next larger one: + var m = maxInt; + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow. + var handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + throw new $RangeError(OVERFLOW_ERROR); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < n && ++delta > maxInt) { + throw new $RangeError(OVERFLOW_ERROR); + } + if (currentValue === n) { + // Represent delta as a generalized variable-length integer. + var q = delta; + var k = base; + while (true) { + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (q < t) break; + var qMinusT = q - t; + var baseMinusT = base - t; + push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT))); + q = floor(qMinusT / baseMinusT); + k += base; + } + + push(output, fromCharCode(digitToBasic(q))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength); + delta = 0; + handledCPCount++; + } + } + + delta++; + n++; + } + return join(output, ''); +}; + +module.exports = function (input) { + var encoded = []; + var labels = split(replace(toLowerCase(input), regexSeparators, '\u002E'), '.'); + var i, label; + for (i = 0; i < labels.length; i++) { + label = labels[i]; + push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label); + } + return join(encoded, '.'); +}; + + +/***/ }), +/* 568 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__(168); +__webpack_require__(444); +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var safeGetBuiltIn = __webpack_require__(364); +var getBuiltIn = __webpack_require__(23); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var DESCRIPTORS = __webpack_require__(6); +var USE_NATIVE_URL = __webpack_require__(566); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var setToStringTag = __webpack_require__(82); +var createIteratorConstructor = __webpack_require__(170); +var InternalStateModule = __webpack_require__(51); +var anInstance = __webpack_require__(211); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var bind = __webpack_require__(84); +var classof = __webpack_require__(69); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var $toString = __webpack_require__(68); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var createIterResultObject = __webpack_require__(172); +var validateArgumentsLength = __webpack_require__(361); +var wellKnownSymbol = __webpack_require__(33); +var arraySort = __webpack_require__(189); + +var ITERATOR = wellKnownSymbol('iterator'); +var URL_SEARCH_PARAMS = 'URLSearchParams'; +var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); +var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); + +var nativeFetch = safeGetBuiltIn('fetch'); +var NativeRequest = safeGetBuiltIn('Request'); +var Headers = safeGetBuiltIn('Headers'); +var RequestPrototype = NativeRequest && NativeRequest.prototype; +var HeadersPrototype = Headers && Headers.prototype; +var TypeError = globalThis.TypeError; +var encodeURIComponent = globalThis.encodeURIComponent; +var fromCharCode = String.fromCharCode; +var fromCodePoint = getBuiltIn('String', 'fromCodePoint'); +var $parseInt = parseInt; +var charAt = uncurryThis(''.charAt); +var join = uncurryThis([].join); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var splice = uncurryThis([].splice); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); +var exec = uncurryThis(/./.exec); + +var plus = /\+/g; +var FALLBACK_REPLACER = '\uFFFD'; +var VALID_HEX = /^[0-9a-f]+$/i; + +var parseHexOctet = function (string, start) { + var substr = stringSlice(string, start, start + 2); + if (!exec(VALID_HEX, substr)) return NaN; + + return $parseInt(substr, 16); +}; + +var getLeadingOnes = function (octet) { + var count = 0; + for (var mask = 0x80; mask > 0 && (octet & mask) !== 0; mask >>= 1) { + count++; + } + return count; +}; + +var utf8Decode = function (octets) { + var codePoint = null; + + switch (octets.length) { + case 1: + codePoint = octets[0]; + break; + case 2: + codePoint = (octets[0] & 0x1F) << 6 | (octets[1] & 0x3F); + break; + case 3: + codePoint = (octets[0] & 0x0F) << 12 | (octets[1] & 0x3F) << 6 | (octets[2] & 0x3F); + break; + case 4: + codePoint = (octets[0] & 0x07) << 18 | (octets[1] & 0x3F) << 12 | (octets[2] & 0x3F) << 6 | (octets[3] & 0x3F); + break; + } + + return codePoint > 0x10FFFF ? null : codePoint; +}; + +var decode = function (input) { + input = replace(input, plus, ' '); + var length = input.length; + var result = ''; + var i = 0; + + while (i < length) { + var decodedChar = charAt(input, i); + + if (decodedChar === '%') { + if (charAt(input, i + 1) === '%' || i + 3 > length) { + result += '%'; + i++; + continue; + } + + var octet = parseHexOctet(input, i + 1); + + // eslint-disable-next-line no-self-compare -- NaN check + if (octet !== octet) { + result += decodedChar; + i++; + continue; + } + + i += 2; + var byteSequenceLength = getLeadingOnes(octet); + + if (byteSequenceLength === 0) { + decodedChar = fromCharCode(octet); + } else { + if (byteSequenceLength === 1 || byteSequenceLength > 4) { + result += FALLBACK_REPLACER; + i++; + continue; + } + + var octets = [octet]; + var sequenceIndex = 1; + + while (sequenceIndex < byteSequenceLength) { + i++; + if (i + 3 > length || charAt(input, i) !== '%') break; + + var nextByte = parseHexOctet(input, i + 1); + + // eslint-disable-next-line no-self-compare -- NaN check + if (nextByte !== nextByte) { + i += 3; + break; + } + if (nextByte > 191 || nextByte < 128) break; + + push(octets, nextByte); + i += 2; + sequenceIndex++; + } + + if (octets.length !== byteSequenceLength) { + result += FALLBACK_REPLACER; + continue; + } + + var codePoint = utf8Decode(octets); + if (codePoint === null) { + result += FALLBACK_REPLACER; + } else { + decodedChar = fromCodePoint(codePoint); + } + } + } + + result += decodedChar; + i++; + } + + return result; +}; + +var find = /[!'()~]|%20/g; + +var replacements = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+' +}; + +var replacer = function (match) { + return replacements[match]; +}; + +var serialize = function (it) { + return replace(encodeURIComponent(it), find, replacer); +}; + +var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { + setInternalState(this, { + type: URL_SEARCH_PARAMS_ITERATOR, + target: getInternalParamsState(params).entries, + index: 0, + kind: kind + }); +}, URL_SEARCH_PARAMS, function next() { + var state = getInternalIteratorState(this); + var target = state.target; + var index = state.index++; + if (!target || index >= target.length) { + state.target = null; + return createIterResultObject(undefined, true); + } + var entry = target[index]; + switch (state.kind) { + case 'keys': return createIterResultObject(entry.key, false); + case 'values': return createIterResultObject(entry.value, false); + } return createIterResultObject([entry.key, entry.value], false); +}, true); + +var URLSearchParamsState = function (init) { + this.entries = []; + this.url = null; + + if (init !== undefined) { + if (isObject(init)) this.parseObject(init); + else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init)); + } +}; + +URLSearchParamsState.prototype = { + type: URL_SEARCH_PARAMS, + bindURL: function (url) { + this.url = url; + this.update(); + }, + parseObject: function (object) { + var entries = this.entries; + var iteratorMethod = getIteratorMethod(object); + var iterator, next, step, entryIterator, entryNext, first, second; + + if (iteratorMethod) { + iterator = getIterator(object, iteratorMethod); + next = iterator.next; + while (!(step = call(next, iterator)).done) { + entryIterator = getIterator(anObject(step.value)); + entryNext = entryIterator.next; + if ( + (first = call(entryNext, entryIterator)).done || + (second = call(entryNext, entryIterator)).done || + !call(entryNext, entryIterator).done + ) throw new TypeError('Expected sequence with length 2'); + push(entries, { key: $toString(first.value), value: $toString(second.value) }); + } + } else for (var key in object) if (hasOwn(object, key)) { + push(entries, { key: key, value: $toString(object[key]) }); + } + }, + parseQuery: function (query) { + if (query) { + var entries = this.entries; + var attributes = split(query, '&'); + var index = 0; + var attribute, entry; + while (index < attributes.length) { + attribute = attributes[index++]; + if (attribute.length) { + entry = split(attribute, '='); + push(entries, { + key: decode(shift(entry)), + value: decode(join(entry, '=')) + }); + } + } + } + }, + serialize: function () { + var entries = this.entries; + var result = []; + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + push(result, serialize(entry.key) + '=' + serialize(entry.value)); + } return join(result, '&'); + }, + update: function () { + this.entries.length = 0; + this.parseQuery(this.url.query); + }, + updateURL: function () { + if (this.url) this.url.update(); + } +}; + +// `URLSearchParams` constructor +// https://url.spec.whatwg.org/#interface-urlsearchparams +var URLSearchParamsConstructor = function URLSearchParams(/* init */) { + anInstance(this, URLSearchParamsPrototype); + var init = arguments.length > 0 ? arguments[0] : undefined; + var state = setInternalState(this, new URLSearchParamsState(init)); + if (!DESCRIPTORS) this.size = state.entries.length; +}; + +var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; + +defineBuiltIns(URLSearchParamsPrototype, { + // `URLSearchParams.prototype.append` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-append + append: function append(name, value) { + var state = getInternalParamsState(this); + validateArgumentsLength(arguments.length, 2); + push(state.entries, { key: $toString(name), value: $toString(value) }); + if (!DESCRIPTORS) this.length++; + state.updateURL(); + }, + // `URLSearchParams.prototype.delete` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-delete + 'delete': function (name /* , value */) { + var state = getInternalParamsState(this); + var length = validateArgumentsLength(arguments.length, 1); + var entries = state.entries; + var key = $toString(name); + var $value = length < 2 ? undefined : arguments[1]; + var value = $value === undefined ? $value : $toString($value); + var index = 0; + while (index < entries.length) { + var entry = entries[index]; + if (entry.key === key && (value === undefined || entry.value === value)) { + splice(entries, index, 1); + if (value !== undefined) break; + } else index++; + } + if (!DESCRIPTORS) this.size = entries.length; + state.updateURL(); + }, + // `URLSearchParams.prototype.get` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-get + get: function get(name) { + var entries = getInternalParamsState(this).entries; + validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) return entries[index].value; + } + return null; + }, + // `URLSearchParams.prototype.getAll` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-getall + getAll: function getAll(name) { + var entries = getInternalParamsState(this).entries; + validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var result = []; + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) push(result, entries[index].value); + } + return result; + }, + // `URLSearchParams.prototype.has` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-has + has: function has(name /* , value */) { + var entries = getInternalParamsState(this).entries; + var length = validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var $value = length < 2 ? undefined : arguments[1]; + var value = $value === undefined ? $value : $toString($value); + var index = 0; + while (index < entries.length) { + var entry = entries[index++]; + if (entry.key === key && (value === undefined || entry.value === value)) return true; + } + return false; + }, + // `URLSearchParams.prototype.set` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-set + set: function set(name, value) { + var state = getInternalParamsState(this); + validateArgumentsLength(arguments.length, 1); + var entries = state.entries; + var found = false; + var key = $toString(name); + var val = $toString(value); + var index = 0; + var entry; + for (; index < entries.length; index++) { + entry = entries[index]; + if (entry.key === key) { + if (found) splice(entries, index--, 1); + else { + found = true; + entry.value = val; + } + } + } + if (!found) push(entries, { key: key, value: val }); + if (!DESCRIPTORS) this.size = entries.length; + state.updateURL(); + }, + // `URLSearchParams.prototype.sort` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-sort + sort: function sort() { + var state = getInternalParamsState(this); + arraySort(state.entries, function (a, b) { + return a.key > b.key ? 1 : -1; + }); + state.updateURL(); + }, + // `URLSearchParams.prototype.forEach` method + forEach: function forEach(callback /* , thisArg */) { + var entries = getInternalParamsState(this).entries; + var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined); + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + boundFunction(entry.value, entry.key, this); + } + }, + // `URLSearchParams.prototype.keys` method + keys: function keys() { + return new URLSearchParamsIterator(this, 'keys'); + }, + // `URLSearchParams.prototype.values` method + values: function values() { + return new URLSearchParamsIterator(this, 'values'); + }, + // `URLSearchParams.prototype.entries` method + entries: function entries() { + return new URLSearchParamsIterator(this, 'entries'); + } +}, { enumerable: true }); + +// `URLSearchParams.prototype[@@iterator]` method +defineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' }); + +// `URLSearchParams.prototype.toString` method +// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior +defineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() { + return getInternalParamsState(this).serialize(); +}, { enumerable: true }); + +// `URLSearchParams.prototype.size` getter +// https://github.com/whatwg/url/pull/734 +if (DESCRIPTORS) defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + return getInternalParamsState(this).entries.length; + }, + configurable: true, + enumerable: true +}); + +setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); + +$({ global: true, constructor: true, forced: !USE_NATIVE_URL }, { + URLSearchParams: URLSearchParamsConstructor +}); + +// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams` +if (!USE_NATIVE_URL && isCallable(Headers)) { + var headersHas = uncurryThis(HeadersPrototype.has); + var headersSet = uncurryThis(HeadersPrototype.set); + + var wrapRequestOptions = function (init) { + if (isObject(init)) { + var body = init.body; + var headers; + if (classof(body) === URL_SEARCH_PARAMS) { + headers = init.headers ? new Headers(init.headers) : new Headers(); + if (!headersHas(headers, 'content-type')) { + headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); + } + return create(init, { + body: createPropertyDescriptor(0, $toString(body)), + headers: createPropertyDescriptor(0, headers) + }); + } + } return init; + }; + + if (isCallable(nativeFetch)) { + $({ global: true, enumerable: true, dontCallGetSet: true, forced: true }, { + fetch: function fetch(input /* , init */) { + return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + } + }); + } + + if (isCallable(NativeRequest)) { + var RequestConstructor = function Request(input /* , init */) { + anInstance(this, RequestPrototype); + return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + }; + + RequestPrototype.constructor = RequestConstructor; + RequestConstructor.prototype = RequestPrototype; + + $({ global: true, constructor: true, dontCallGetSet: true, forced: true }, { + Request: RequestConstructor + }); + } +} + +module.exports = { + URLSearchParams: URLSearchParamsConstructor, + getState: getInternalParamsState +}; + + +/***/ }), +/* 569 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var fails = __webpack_require__(7); +var validateArgumentsLength = __webpack_require__(361); +var toString = __webpack_require__(68); +var USE_NATIVE_URL = __webpack_require__(566); + +var URL = getBuiltIn('URL'); + +// https://github.com/nodejs/node/issues/47505 +// https://github.com/denoland/deno/issues/18893 +var THROWS_WITHOUT_ARGUMENTS = USE_NATIVE_URL && fails(function () { + URL.canParse(); +}); + +// Bun ~ 1.0.30 bug +// https://github.com/oven-sh/bun/issues/9250 +var WRONG_ARITY = fails(function () { + return URL.canParse.length !== 1; +}); + +// `URL.canParse` method +// https://url.spec.whatwg.org/#dom-url-canparse +$({ target: 'URL', stat: true, forced: !THROWS_WITHOUT_ARGUMENTS || WRONG_ARITY }, { + canParse: function canParse(url) { + var length = validateArgumentsLength(arguments.length, 1); + var urlString = toString(url); + var base = length < 2 || arguments[1] === undefined ? undefined : toString(arguments[1]); + try { + return !!new URL(urlString, base); + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 570 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var validateArgumentsLength = __webpack_require__(361); +var toString = __webpack_require__(68); +var USE_NATIVE_URL = __webpack_require__(566); + +var URL = getBuiltIn('URL'); + +// `URL.parse` method +// https://url.spec.whatwg.org/#dom-url-canparse +$({ target: 'URL', stat: true, forced: !USE_NATIVE_URL }, { + parse: function parse(url) { + var length = validateArgumentsLength(arguments.length, 1); + var urlString = toString(url); + var base = length < 2 || arguments[1] === undefined ? undefined : toString(arguments[1]); + try { + return new URL(urlString, base); + } catch (error) { + return null; + } + } +}); + + +/***/ }), +/* 571 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +$({ target: 'URL', proto: true, enumerable: true }, { + toJSON: function toJSON() { + return call(URL.prototype.toString, this); + } +}); + + +/***/ }), +/* 572 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(568); + + +/***/ }), +/* 573 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); + +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var append = uncurryThis(URLSearchParamsPrototype.append); +var $delete = uncurryThis(URLSearchParamsPrototype['delete']); +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); +var push = uncurryThis([].push); +var params = new $URLSearchParams('a=1&a=2&b=3'); + +params['delete']('a', 1); +// `undefined` case is a Chromium 117 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=14222 +params['delete']('b', undefined); + +if (params + '' !== 'a=2') { + defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) return $delete(this, name); + var entries = []; + forEach(this, function (v, k) { // also validates `this` + push(entries, { key: k, value: v }); + }); + validateArgumentsLength(length, 1); + var key = toString(name); + var value = toString($value); + var index = 0; + var dindex = 0; + var found = false; + var entriesLength = entries.length; + var entry; + while (index < entriesLength) { + entry = entries[index++]; + if (found || entry.key === key) { + found = true; + $delete(this, entry.key); + } else dindex++; + } + while (dindex < entriesLength) { + entry = entries[dindex++]; + if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value); + } + }, { enumerable: true, unsafe: true }); +} + + +/***/ }), +/* 574 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); + +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var getAll = uncurryThis(URLSearchParamsPrototype.getAll); +var $has = uncurryThis(URLSearchParamsPrototype.has); +var params = new $URLSearchParams('a=1'); + +// `undefined` case is a Chromium 117 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=14222 +if (params.has('a', 2) || !params.has('a', undefined)) { + defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) return $has(this, name); + var values = getAll(this, name); // also validates `this` + validateArgumentsLength(length, 1); + var value = toString($value); + var index = 0; + while (index < values.length) { + if (values[index++] === value) return true; + } return false; + }, { enumerable: true, unsafe: true }); +} + + +/***/ }), +/* 575 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var uncurryThis = __webpack_require__(14); +var defineBuiltInAccessor = __webpack_require__(77); + +var URLSearchParamsPrototype = URLSearchParams.prototype; +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); + +// `URLSearchParams.prototype.size` getter +// https://github.com/whatwg/url/pull/734 +if (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) { + defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + var count = 0; + forEach(this, function () { count++; }); + return count; + }, + configurable: true, + enumerable: true + }); +} + + +/***/ }), +/* 576 */ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "default": function() { return /* binding */ BubbleCompare; } +}); + +;// ./node_modules/d3-selection/src/selector.js +function none() { +} +/* harmony default export */ function selector(selector) { + return selector == null ? none : function() { + return this.querySelector(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/select.js + + +/* harmony default export */ function selection_select(select) { + if (typeof select !== "function") select = selector(select); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) { + if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) { + if ("__data__" in node) subnode.__data__ = node.__data__; + subgroup[i] = subnode; + } + } + } + return new Selection(subgroups, this._parents); +} + +;// ./node_modules/d3-selection/src/array.js +function array(x) { + return x == null ? [] : Array.isArray(x) ? x : Array.from(x); +} + +;// ./node_modules/d3-selection/src/selectorAll.js +function empty() { + return []; +} +/* harmony default export */ function selectorAll(selector) { + return selector == null ? empty : function() { + return this.querySelectorAll(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/selectAll.js + + + +function arrayAll(select) { + return function() { + return array(select.apply(this, arguments)); + }; +} +/* harmony default export */ function selectAll(select) { + if (typeof select === "function") select = arrayAll(select); + else select = selectorAll(select); + for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + subgroups.push(select.call(node, node.__data__, i, group)); + parents.push(node); + } + } + } + return new Selection(subgroups, parents); +} + +;// ./node_modules/d3-selection/src/matcher.js +/* harmony default export */ function matcher(selector) { + return function() { + return this.matches(selector); + }; +} +function childMatcher(selector) { + return function(node) { + return node.matches(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/selectChild.js + +var find = Array.prototype.find; +function childFind(match) { + return function() { + return find.call(this.children, match); + }; +} +function childFirst() { + return this.firstElementChild; +} +/* harmony default export */ function selectChild(match) { + return this.select(match == null ? childFirst : childFind(typeof match === "function" ? match : childMatcher(match))); +} + +;// ./node_modules/d3-selection/src/selection/selectChildren.js + +var filter = Array.prototype.filter; +function children() { + return Array.from(this.children); +} +function childrenFilter(match) { + return function() { + return filter.call(this.children, match); + }; +} +/* harmony default export */ function selectChildren(match) { + return this.selectAll(match == null ? children : childrenFilter(typeof match === "function" ? match : childMatcher(match))); +} + +;// ./node_modules/d3-selection/src/selection/filter.js + + +/* harmony default export */ function selection_filter(match) { + if (typeof match !== "function") match = matcher(match); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) { + if ((node = group[i]) && match.call(node, node.__data__, i, group)) { + subgroup.push(node); + } + } + } + return new Selection(subgroups, this._parents); +} + +;// ./node_modules/d3-selection/src/selection/sparse.js +/* harmony default export */ function sparse(update) { + return new Array(update.length); +} + +;// ./node_modules/d3-selection/src/selection/enter.js + + +/* harmony default export */ function enter() { + return new Selection(this._enter || this._groups.map(sparse), this._parents); +} +function EnterNode(parent, datum) { + this.ownerDocument = parent.ownerDocument; + this.namespaceURI = parent.namespaceURI; + this._next = null; + this._parent = parent; + this.__data__ = datum; +} +EnterNode.prototype = { + constructor: EnterNode, + appendChild: function(child) { + return this._parent.insertBefore(child, this._next); + }, + insertBefore: function(child, next) { + return this._parent.insertBefore(child, next); + }, + querySelector: function(selector) { + return this._parent.querySelector(selector); + }, + querySelectorAll: function(selector) { + return this._parent.querySelectorAll(selector); + } +}; + +;// ./node_modules/d3-selection/src/constant.js +/* harmony default export */ function constant(x) { + return function() { + return x; + }; +} + +;// ./node_modules/d3-selection/src/selection/data.js + + + +function bindIndex(parent, group, enter, update, exit, data) { + var i = 0, node, groupLength = group.length, dataLength = data.length; + for (; i < dataLength; ++i) { + if (node = group[i]) { + node.__data__ = data[i]; + update[i] = node; + } else { + enter[i] = new EnterNode(parent, data[i]); + } + } + for (; i < groupLength; ++i) { + if (node = group[i]) { + exit[i] = node; + } + } +} +function bindKey(parent, group, enter, update, exit, data, key) { + var i, node, nodeByKeyValue = /* @__PURE__ */ new Map(), groupLength = group.length, dataLength = data.length, keyValues = new Array(groupLength), keyValue; + for (i = 0; i < groupLength; ++i) { + if (node = group[i]) { + keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + ""; + if (nodeByKeyValue.has(keyValue)) { + exit[i] = node; + } else { + nodeByKeyValue.set(keyValue, node); + } + } + } + for (i = 0; i < dataLength; ++i) { + keyValue = key.call(parent, data[i], i, data) + ""; + if (node = nodeByKeyValue.get(keyValue)) { + update[i] = node; + node.__data__ = data[i]; + nodeByKeyValue.delete(keyValue); + } else { + enter[i] = new EnterNode(parent, data[i]); + } + } + for (i = 0; i < groupLength; ++i) { + if ((node = group[i]) && nodeByKeyValue.get(keyValues[i]) === node) { + exit[i] = node; + } + } +} +function datum(node) { + return node.__data__; +} +/* harmony default export */ function data(value, key) { + if (!arguments.length) return Array.from(this, datum); + var bind = key ? bindKey : bindIndex, parents = this._parents, groups = this._groups; + if (typeof value !== "function") value = constant(value); + for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) { + var parent = parents[j], group = groups[j], groupLength = group.length, data = arraylike(value.call(parent, parent && parent.__data__, j, parents)), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength); + bind(parent, group, enterGroup, updateGroup, exitGroup, data, key); + for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) { + if (previous = enterGroup[i0]) { + if (i0 >= i1) i1 = i0 + 1; + while (!(next = updateGroup[i1]) && ++i1 < dataLength) ; + previous._next = next || null; + } + } + } + update = new Selection(update, parents); + update._enter = enter; + update._exit = exit; + return update; +} +function arraylike(data) { + return typeof data === "object" && "length" in data ? data : Array.from(data); +} + +;// ./node_modules/d3-selection/src/selection/exit.js + + +/* harmony default export */ function exit() { + return new Selection(this._exit || this._groups.map(sparse), this._parents); +} + +;// ./node_modules/d3-selection/src/selection/join.js +/* harmony default export */ function join(onenter, onupdate, onexit) { + var enter = this.enter(), update = this, exit = this.exit(); + if (typeof onenter === "function") { + enter = onenter(enter); + if (enter) enter = enter.selection(); + } else { + enter = enter.append(onenter + ""); + } + if (onupdate != null) { + update = onupdate(update); + if (update) update = update.selection(); + } + if (onexit == null) exit.remove(); + else onexit(exit); + return enter && update ? enter.merge(update).order() : update; +} + +;// ./node_modules/d3-selection/src/selection/merge.js + +/* harmony default export */ function merge(context) { + var selection = context.selection ? context.selection() : context; + for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { + for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group0[i] || group1[i]) { + merge[i] = node; + } + } + } + for (; j < m0; ++j) { + merges[j] = groups0[j]; + } + return new Selection(merges, this._parents); +} + +;// ./node_modules/d3-selection/src/selection/order.js +/* harmony default export */ function order() { + for (var groups = this._groups, j = -1, m = groups.length; ++j < m; ) { + for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0; ) { + if (node = group[i]) { + if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next); + next = node; + } + } + } + return this; +} + +;// ./node_modules/d3-selection/src/selection/sort.js + +/* harmony default export */ function sort(compare) { + if (!compare) compare = ascending; + function compareNode(a, b) { + return a && b ? compare(a.__data__, b.__data__) : !a - !b; + } + for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group[i]) { + sortgroup[i] = node; + } + } + sortgroup.sort(compareNode); + } + return new Selection(sortgroups, this._parents).order(); +} +function ascending(a, b) { + return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; +} + +;// ./node_modules/d3-selection/src/selection/call.js +/* harmony default export */ function call() { + var callback = arguments[0]; + arguments[0] = this; + callback.apply(null, arguments); + return this; +} + +;// ./node_modules/d3-selection/src/selection/nodes.js +/* harmony default export */ function nodes() { + return Array.from(this); +} + +;// ./node_modules/d3-selection/src/selection/node.js +/* harmony default export */ function node() { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length; i < n; ++i) { + var node = group[i]; + if (node) return node; + } + } + return null; +} + +;// ./node_modules/d3-selection/src/selection/size.js +/* harmony default export */ function size() { + let size = 0; + for (const node of this) ++size; + return size; +} + +;// ./node_modules/d3-selection/src/selection/empty.js +/* harmony default export */ function selection_empty() { + return !this.node(); +} + +;// ./node_modules/d3-selection/src/selection/each.js +/* harmony default export */ function each(callback) { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) { + if (node = group[i]) callback.call(node, node.__data__, i, group); + } + } + return this; +} + +;// ./node_modules/d3-selection/src/namespaces.js +var xhtml = "http://www.w3.org/1999/xhtml"; +/* harmony default export */ var namespaces = ({ + svg: "http://www.w3.org/2000/svg", + xhtml, + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/" +}); + +;// ./node_modules/d3-selection/src/namespace.js + +/* harmony default export */ function namespace(name) { + var prefix = name += "", i = prefix.indexOf(":"); + if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1); + return namespaces.hasOwnProperty(prefix) ? { space: namespaces[prefix], local: name } : name; +} + +;// ./node_modules/d3-selection/src/selection/attr.js + +function attrRemove(name) { + return function() { + this.removeAttribute(name); + }; +} +function attrRemoveNS(fullname) { + return function() { + this.removeAttributeNS(fullname.space, fullname.local); + }; +} +function attrConstant(name, value) { + return function() { + this.setAttribute(name, value); + }; +} +function attrConstantNS(fullname, value) { + return function() { + this.setAttributeNS(fullname.space, fullname.local, value); + }; +} +function attrFunction(name, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.removeAttribute(name); + else this.setAttribute(name, v); + }; +} +function attrFunctionNS(fullname, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.removeAttributeNS(fullname.space, fullname.local); + else this.setAttributeNS(fullname.space, fullname.local, v); + }; +} +/* harmony default export */ function attr(name, value) { + var fullname = namespace(name); + if (arguments.length < 2) { + var node = this.node(); + return fullname.local ? node.getAttributeNS(fullname.space, fullname.local) : node.getAttribute(fullname); + } + return this.each((value == null ? fullname.local ? attrRemoveNS : attrRemove : typeof value === "function" ? fullname.local ? attrFunctionNS : attrFunction : fullname.local ? attrConstantNS : attrConstant)(fullname, value)); +} + +;// ./node_modules/d3-selection/src/window.js +/* harmony default export */ function src_window(node) { + return node.ownerDocument && node.ownerDocument.defaultView || node.document && node || node.defaultView; +} + +;// ./node_modules/d3-selection/src/selection/style.js + +function styleRemove(name) { + return function() { + this.style.removeProperty(name); + }; +} +function styleConstant(name, value, priority) { + return function() { + this.style.setProperty(name, value, priority); + }; +} +function styleFunction(name, value, priority) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.style.removeProperty(name); + else this.style.setProperty(name, v, priority); + }; +} +/* harmony default export */ function style(name, value, priority) { + return arguments.length > 1 ? this.each((value == null ? styleRemove : typeof value === "function" ? styleFunction : styleConstant)(name, value, priority == null ? "" : priority)) : styleValue(this.node(), name); +} +function styleValue(node, name) { + return node.style.getPropertyValue(name) || src_window(node).getComputedStyle(node, null).getPropertyValue(name); +} + +;// ./node_modules/d3-selection/src/selection/property.js +function propertyRemove(name) { + return function() { + delete this[name]; + }; +} +function propertyConstant(name, value) { + return function() { + this[name] = value; + }; +} +function propertyFunction(name, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) delete this[name]; + else this[name] = v; + }; +} +/* harmony default export */ function property(name, value) { + return arguments.length > 1 ? this.each((value == null ? propertyRemove : typeof value === "function" ? propertyFunction : propertyConstant)(name, value)) : this.node()[name]; +} + +;// ./node_modules/d3-selection/src/selection/classed.js +function classArray(string) { + return string.trim().split(/^|\s+/); +} +function classList(node) { + return node.classList || new ClassList(node); +} +function ClassList(node) { + this._node = node; + this._names = classArray(node.getAttribute("class") || ""); +} +ClassList.prototype = { + add: function(name) { + var i = this._names.indexOf(name); + if (i < 0) { + this._names.push(name); + this._node.setAttribute("class", this._names.join(" ")); + } + }, + remove: function(name) { + var i = this._names.indexOf(name); + if (i >= 0) { + this._names.splice(i, 1); + this._node.setAttribute("class", this._names.join(" ")); + } + }, + contains: function(name) { + return this._names.indexOf(name) >= 0; + } +}; +function classedAdd(node, names) { + var list = classList(node), i = -1, n = names.length; + while (++i < n) list.add(names[i]); +} +function classedRemove(node, names) { + var list = classList(node), i = -1, n = names.length; + while (++i < n) list.remove(names[i]); +} +function classedTrue(names) { + return function() { + classedAdd(this, names); + }; +} +function classedFalse(names) { + return function() { + classedRemove(this, names); + }; +} +function classedFunction(names, value) { + return function() { + (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names); + }; +} +/* harmony default export */ function classed(name, value) { + var names = classArray(name + ""); + if (arguments.length < 2) { + var list = classList(this.node()), i = -1, n = names.length; + while (++i < n) if (!list.contains(names[i])) return false; + return true; + } + return this.each((typeof value === "function" ? classedFunction : value ? classedTrue : classedFalse)(names, value)); +} + +;// ./node_modules/d3-selection/src/selection/text.js +function textRemove() { + this.textContent = ""; +} +function textConstant(value) { + return function() { + this.textContent = value; + }; +} +function textFunction(value) { + return function() { + var v = value.apply(this, arguments); + this.textContent = v == null ? "" : v; + }; +} +/* harmony default export */ function selection_text(value) { + return arguments.length ? this.each(value == null ? textRemove : (typeof value === "function" ? textFunction : textConstant)(value)) : this.node().textContent; +} + +;// ./node_modules/d3-selection/src/selection/html.js +function htmlRemove() { + this.innerHTML = ""; +} +function htmlConstant(value) { + return function() { + this.innerHTML = value; + }; +} +function htmlFunction(value) { + return function() { + var v = value.apply(this, arguments); + this.innerHTML = v == null ? "" : v; + }; +} +/* harmony default export */ function html(value) { + return arguments.length ? this.each(value == null ? htmlRemove : (typeof value === "function" ? htmlFunction : htmlConstant)(value)) : this.node().innerHTML; +} + +;// ./node_modules/d3-selection/src/selection/raise.js +function raise() { + if (this.nextSibling) this.parentNode.appendChild(this); +} +/* harmony default export */ function selection_raise() { + return this.each(raise); +} + +;// ./node_modules/d3-selection/src/selection/lower.js +function lower() { + if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild); +} +/* harmony default export */ function selection_lower() { + return this.each(lower); +} + +;// ./node_modules/d3-selection/src/creator.js + + +function creatorInherit(name) { + return function() { + var document = this.ownerDocument, uri = this.namespaceURI; + return uri === xhtml && document.documentElement.namespaceURI === xhtml ? document.createElement(name) : document.createElementNS(uri, name); + }; +} +function creatorFixed(fullname) { + return function() { + return this.ownerDocument.createElementNS(fullname.space, fullname.local); + }; +} +/* harmony default export */ function creator(name) { + var fullname = namespace(name); + return (fullname.local ? creatorFixed : creatorInherit)(fullname); +} + +;// ./node_modules/d3-selection/src/selection/append.js + +/* harmony default export */ function append(name) { + var create = typeof name === "function" ? name : creator(name); + return this.select(function() { + return this.appendChild(create.apply(this, arguments)); + }); +} + +;// ./node_modules/d3-selection/src/selection/insert.js + + +function constantNull() { + return null; +} +/* harmony default export */ function insert(name, before) { + var create = typeof name === "function" ? name : creator(name), select = before == null ? constantNull : typeof before === "function" ? before : selector(before); + return this.select(function() { + return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null); + }); +} + +;// ./node_modules/d3-selection/src/selection/remove.js +function remove() { + var parent = this.parentNode; + if (parent) parent.removeChild(this); +} +/* harmony default export */ function selection_remove() { + return this.each(remove); +} + +;// ./node_modules/d3-selection/src/selection/clone.js +function selection_cloneShallow() { + var clone = this.cloneNode(false), parent = this.parentNode; + return parent ? parent.insertBefore(clone, this.nextSibling) : clone; +} +function selection_cloneDeep() { + var clone = this.cloneNode(true), parent = this.parentNode; + return parent ? parent.insertBefore(clone, this.nextSibling) : clone; +} +/* harmony default export */ function clone(deep) { + return this.select(deep ? selection_cloneDeep : selection_cloneShallow); +} + +;// ./node_modules/d3-selection/src/selection/datum.js +/* harmony default export */ function selection_datum(value) { + return arguments.length ? this.property("__data__", value) : this.node().__data__; +} + +;// ./node_modules/d3-selection/src/selection/on.js +function contextListener(listener) { + return function(event) { + listener.call(this, event, this.__data__); + }; +} +function parseTypenames(typenames) { + return typenames.trim().split(/^|\s+/).map(function(t) { + var name = "", i = t.indexOf("."); + if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); + return { type: t, name }; + }); +} +function onRemove(typename) { + return function() { + var on = this.__on; + if (!on) return; + for (var j = 0, i = -1, m = on.length, o; j < m; ++j) { + if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) { + this.removeEventListener(o.type, o.listener, o.options); + } else { + on[++i] = o; + } + } + if (++i) on.length = i; + else delete this.__on; + }; +} +function onAdd(typename, value, options) { + return function() { + var on = this.__on, o, listener = contextListener(value); + if (on) for (var j = 0, m = on.length; j < m; ++j) { + if ((o = on[j]).type === typename.type && o.name === typename.name) { + this.removeEventListener(o.type, o.listener, o.options); + this.addEventListener(o.type, o.listener = listener, o.options = options); + o.value = value; + return; + } + } + this.addEventListener(typename.type, listener, options); + o = { type: typename.type, name: typename.name, value, listener, options }; + if (!on) this.__on = [o]; + else on.push(o); + }; +} +/* harmony default export */ function on(typename, value, options) { + var typenames = parseTypenames(typename + ""), i, n = typenames.length, t; + if (arguments.length < 2) { + var on = this.node().__on; + if (on) for (var j = 0, m = on.length, o; j < m; ++j) { + for (i = 0, o = on[j]; i < n; ++i) { + if ((t = typenames[i]).type === o.type && t.name === o.name) { + return o.value; + } + } + } + return; + } + on = value ? onAdd : onRemove; + for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options)); + return this; +} + +;// ./node_modules/d3-selection/src/selection/dispatch.js + +function dispatchEvent(node, type, params) { + var window = src_window(node), event = window.CustomEvent; + if (typeof event === "function") { + event = new event(type, params); + } else { + event = window.document.createEvent("Event"); + if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail; + else event.initEvent(type, false, false); + } + node.dispatchEvent(event); +} +function dispatchConstant(type, params) { + return function() { + return dispatchEvent(this, type, params); + }; +} +function dispatchFunction(type, params) { + return function() { + return dispatchEvent(this, type, params.apply(this, arguments)); + }; +} +/* harmony default export */ function dispatch(type, params) { + return this.each((typeof params === "function" ? dispatchFunction : dispatchConstant)(type, params)); +} + +;// ./node_modules/d3-selection/src/selection/iterator.js +/* harmony default export */ function* iterator() { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) { + if (node = group[i]) yield node; + } + } +} + +;// ./node_modules/d3-selection/src/selection/index.js + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +var root = [null]; +function Selection(groups, parents) { + this._groups = groups; + this._parents = parents; +} +function selection() { + return new Selection([[document.documentElement]], root); +} +function selection_selection() { + return this; +} +Selection.prototype = selection.prototype = { + constructor: Selection, + select: selection_select, + selectAll: selectAll, + selectChild: selectChild, + selectChildren: selectChildren, + filter: selection_filter, + data: data, + enter: enter, + exit: exit, + join: join, + merge: merge, + selection: selection_selection, + order: order, + sort: sort, + call: call, + nodes: nodes, + node: node, + size: size, + empty: selection_empty, + each: each, + attr: attr, + style: style, + property: property, + classed: classed, + text: selection_text, + html: html, + raise: selection_raise, + lower: selection_lower, + append: append, + insert: insert, + remove: selection_remove, + clone: clone, + datum: selection_datum, + on: on, + dispatch: dispatch, + [Symbol.iterator]: iterator +}; +/* harmony default export */ var src_selection = (selection); + +;// ./node_modules/d3-selection/src/select.js + +/* harmony default export */ function src_select(selector) { + return typeof selector === "string" ? new Selection([[document.querySelector(selector)]], [document.documentElement]) : new Selection([[selector]], root); +} + +;// ./src/Plugin/Plugin.ts +var __defProp = Object.defineProperty; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); +class Plugin { + /** + * Constructor + * @param {Any} options config option object + * @private + */ + constructor(options = {}) { + __publicField(this, "$$"); + __publicField(this, "options"); + this.options = options; + } + /** + * Lifecycle hook for 'beforeInit' phase. + * @private + */ + $beforeInit() { + } + /** + * Lifecycle hook for 'init' phase. + * @private + */ + $init() { + } + /** + * Lifecycle hook for 'afterInit' phase. + * @private + */ + $afterInit() { + } + /** + * Lifecycle hook for 'redraw' phase. + * @private + */ + $redraw() { + } + /** + * Lifecycle hook for 'willDestroy' phase. + * @private + */ + $willDestroy() { + Object.keys(this).forEach((key) => { + this[key] = null; + delete this[key]; + }); + } +} +__publicField(Plugin, "version", "3.14.2"); + +;// ./src/Plugin/bubblecompare/index.ts +var bubblecompare_defProp = Object.defineProperty; +var bubblecompare_defNormalProp = (obj, key, value) => key in obj ? bubblecompare_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var bubblecompare_publicField = (obj, key, value) => bubblecompare_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + +const _BubbleCompare = class _BubbleCompare extends Plugin { + constructor(options) { + super(options); + bubblecompare_publicField(this, "$$"); + return this; + } + $init() { + const { $$ } = this; + $$.findClosest = this.findClosest.bind(this); + $$.getBubbleR = this.getBubbleR.bind(this); + $$.pointExpandedR = this.pointExpandedR.bind(this); + } + pointExpandedR(d) { + const baseR = this.getBubbleR(d); + const { expandScale = 1 } = this.options; + _BubbleCompare.raiseFocusedBubbleLayer(d); + this.changeCursorPoint(); + return baseR * expandScale; + } + static raiseFocusedBubbleLayer(d) { + d.raise && src_select(d.node().parentNode.parentNode).raise(); + } + changeCursorPoint() { + this.$$.$el.eventRect.style("cursor", "pointer"); + } + findClosest(values, pos) { + const { $$ } = this; + return values.filter((v) => v && !$$.isBarType(v.id)).reduce((acc, cur) => { + const d = $$.dist(cur, pos); + return d < this.getBubbleR(cur) ? cur : acc; + }, 0); + } + getBubbleR(d) { + const { minR, maxR } = this.options; + const curVal = this.getZData(d); + if (!curVal) return minR; + const [min, max] = this.$$.data.targets.reduce( + ([accMin, accMax], cur) => { + const val = this.getZData(cur.values[0]); + return [Math.min(accMin, val), Math.max(accMax, val)]; + }, + [1e4, 0] + ); + const size = min > 0 && max === min ? 0 : curVal / max; + return Math.abs(size) * (maxR - minR) + minR; + } + getZData(d) { + return this.$$.isBubbleZType(d) ? this.$$.getBubbleZData(d.value, "z") : d.value; + } +}; +bubblecompare_publicField(_BubbleCompare, "version", `0.0.1`); +let BubbleCompare = _BubbleCompare; + + + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module used 'module' so it can't be inlined +/******/ __webpack_require__(0); +/******/ var __webpack_exports__ = __webpack_require__(576); +/******/ __webpack_exports__ = __webpack_exports__["default"]; +/******/ +/******/ return __webpack_exports__; +/******/ })() +; +}); \ No newline at end of file diff --git a/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-bubblecompare.pkgd.min.js b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-bubblecompare.pkgd.min.js new file mode 100644 index 000000000..a9960ccdd --- /dev/null +++ b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-bubblecompare.pkgd.min.js @@ -0,0 +1,14 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */(function(gr,sr){typeof exports=="object"&&typeof module=="object"?module.exports=sr():typeof define=="function"&&define.amd?define("bb",[],sr):typeof exports=="object"?exports.bb=sr():(gr.bb=gr.bb||{},gr.bb.plugin=gr.bb.plugin||{},gr.bb.plugin["bubblecompare.pkgd"]=sr())})(this,function(){return function(){"use strict";var Fr={19770:function(s,l,t){t.d(l,{default:function(){return Gr}});function r(){}function n(R){return R==null?r:function(){return this.querySelector(R)}}function e(R){typeof R!="function"&&(R=n(R));for(var M=this._groups,X=M.length,ut=new Array(X),_=0;_<X;++_)for(var yt=M[_],Tt=yt.length,Pt=ut[_]=new Array(Tt),$t,Vt,Xt=0;Xt<Tt;++Xt)($t=yt[Xt])&&(Vt=R.call($t,$t.__data__,Xt,yt))&&("__data__"in $t&&(Vt.__data__=$t.__data__),Pt[Xt]=Vt);return new At(ut,this._parents)}function a(R){return R==null?[]:Array.isArray(R)?R:Array.from(R)}function o(){return[]}function u(R){return R==null?o:function(){return this.querySelectorAll(R)}}function i(R){return function(){return a(R.apply(this,arguments))}}function v(R){typeof R=="function"?R=i(R):R=u(R);for(var M=this._groups,X=M.length,ut=[],_=[],yt=0;yt<X;++yt)for(var Tt=M[yt],Pt=Tt.length,$t,Vt=0;Vt<Pt;++Vt)($t=Tt[Vt])&&(ut.push(R.call($t,$t.__data__,Vt,Tt)),_.push($t));return new At(ut,_)}function f(R){return function(){return this.matches(R)}}function c(R){return function(M){return M.matches(R)}}var d=Array.prototype.find;function h(R){return function(){return d.call(this.children,R)}}function g(){return this.firstElementChild}function p(R){return this.select(R==null?g:h(typeof R=="function"?R:c(R)))}var y=Array.prototype.filter;function m(){return Array.from(this.children)}function I(R){return function(){return y.call(this.children,R)}}function x(R){return this.selectAll(R==null?m:I(typeof R=="function"?R:c(R)))}function S(R){typeof R!="function"&&(R=f(R));for(var M=this._groups,X=M.length,ut=new Array(X),_=0;_<X;++_)for(var yt=M[_],Tt=yt.length,Pt=ut[_]=[],$t,Vt=0;Vt<Tt;++Vt)($t=yt[Vt])&&R.call($t,$t.__data__,Vt,yt)&&Pt.push($t);return new At(ut,this._parents)}function T(R){return new Array(R.length)}function E(){return new At(this._enter||this._groups.map(T),this._parents)}function O(R,M){this.ownerDocument=R.ownerDocument,this.namespaceURI=R.namespaceURI,this._next=null,this._parent=R,this.__data__=M}O.prototype={constructor:O,appendChild:function(R){return this._parent.insertBefore(R,this._next)},insertBefore:function(R,M){return this._parent.insertBefore(R,M)},querySelector:function(R){return this._parent.querySelector(R)},querySelectorAll:function(R){return this._parent.querySelectorAll(R)}};function A(R){return function(){return R}}function C(R,M,X,ut,_,yt){for(var Tt=0,Pt,$t=M.length,Vt=yt.length;Tt<Vt;++Tt)(Pt=M[Tt])?(Pt.__data__=yt[Tt],ut[Tt]=Pt):X[Tt]=new O(R,yt[Tt]);for(;Tt<$t;++Tt)(Pt=M[Tt])&&(_[Tt]=Pt)}function P(R,M,X,ut,_,yt,Tt){var Pt,$t,Vt=new Map,Xt=M.length,or=yt.length,cr=new Array(Xt),fr;for(Pt=0;Pt<Xt;++Pt)($t=M[Pt])&&(cr[Pt]=fr=Tt.call($t,$t.__data__,Pt,M)+"",Vt.has(fr)?_[Pt]=$t:Vt.set(fr,$t));for(Pt=0;Pt<or;++Pt)fr=Tt.call(R,yt[Pt],Pt,yt)+"",($t=Vt.get(fr))?(ut[Pt]=$t,$t.__data__=yt[Pt],Vt.delete(fr)):X[Pt]=new O(R,yt[Pt]);for(Pt=0;Pt<Xt;++Pt)($t=M[Pt])&&Vt.get(cr[Pt])===$t&&(_[Pt]=$t)}function N(R){return R.__data__}function $(R,M){if(!arguments.length)return Array.from(this,N);var X=M?P:C,ut=this._parents,_=this._groups;typeof R!="function"&&(R=A(R));for(var yt=_.length,Tt=new Array(yt),Pt=new Array(yt),$t=new Array(yt),Vt=0;Vt<yt;++Vt){var Xt=ut[Vt],or=_[Vt],cr=or.length,fr=U(R.call(Xt,Xt&&Xt.__data__,Vt,ut)),dr=fr.length,Lr=Pt[Vt]=new Array(dr),$r=Tt[Vt]=new Array(dr),Vr=$t[Vt]=new Array(cr);X(Xt,or,Lr,$r,Vr,fr,M);for(var Rr=0,Mr=0,Ur,Br;Rr<dr;++Rr)if(Ur=Lr[Rr]){for(Rr>=Mr&&(Mr=Rr+1);!(Br=$r[Mr])&&++Mr<dr;);Ur._next=Br||null}}return Tt=new At(Tt,ut),Tt._enter=Pt,Tt._exit=$t,Tt}function U(R){return typeof R=="object"&&"length"in R?R:Array.from(R)}function D(){return new At(this._exit||this._groups.map(T),this._parents)}function F(R,M,X){var ut=this.enter(),_=this,yt=this.exit();return typeof R=="function"?(ut=R(ut),ut&&(ut=ut.selection())):ut=ut.append(R+""),M!=null&&(_=M(_),_&&(_=_.selection())),X==null?yt.remove():X(yt),ut&&_?ut.merge(_).order():_}function L(R){for(var M=R.selection?R.selection():R,X=this._groups,ut=M._groups,_=X.length,yt=ut.length,Tt=Math.min(_,yt),Pt=new Array(_),$t=0;$t<Tt;++$t)for(var Vt=X[$t],Xt=ut[$t],or=Vt.length,cr=Pt[$t]=new Array(or),fr,dr=0;dr<or;++dr)(fr=Vt[dr]||Xt[dr])&&(cr[dr]=fr);for(;$t<_;++$t)Pt[$t]=X[$t];return new At(Pt,this._parents)}function j(){for(var R=this._groups,M=-1,X=R.length;++M<X;)for(var ut=R[M],_=ut.length-1,yt=ut[_],Tt;--_>=0;)(Tt=ut[_])&&(yt&&Tt.compareDocumentPosition(yt)^4&&yt.parentNode.insertBefore(Tt,yt),yt=Tt);return this}function W(R){R||(R=b);function M(or,cr){return or&&cr?R(or.__data__,cr.__data__):!or-!cr}for(var X=this._groups,ut=X.length,_=new Array(ut),yt=0;yt<ut;++yt){for(var Tt=X[yt],Pt=Tt.length,$t=_[yt]=new Array(Pt),Vt,Xt=0;Xt<Pt;++Xt)(Vt=Tt[Xt])&&($t[Xt]=Vt);$t.sort(M)}return new At(_,this._parents).order()}function b(R,M){return R<M?-1:R>M?1:R>=M?0:NaN}function K(){var R=arguments[0];return arguments[0]=this,R.apply(null,arguments),this}function z(){return Array.from(this)}function it(){for(var R=this._groups,M=0,X=R.length;M<X;++M)for(var ut=R[M],_=0,yt=ut.length;_<yt;++_){var Tt=ut[_];if(Tt)return Tt}return null}function et(){let R=0;for(const M of this)++R;return R}function lt(){return!this.node()}function pt(R){for(var M=this._groups,X=0,ut=M.length;X<ut;++X)for(var _=M[X],yt=0,Tt=_.length,Pt;yt<Tt;++yt)(Pt=_[yt])&&R.call(Pt,Pt.__data__,yt,_);return this}var mt="http://www.w3.org/1999/xhtml",Bt={svg:"http://www.w3.org/2000/svg",xhtml:mt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Ut(R){var M=R+="",X=M.indexOf(":");return X>=0&&(M=R.slice(0,X))!=="xmlns"&&(R=R.slice(X+1)),Bt.hasOwnProperty(M)?{space:Bt[M],local:R}:R}function Nt(R){return function(){this.removeAttribute(R)}}function at(R){return function(){this.removeAttributeNS(R.space,R.local)}}function ct(R,M){return function(){this.setAttribute(R,M)}}function Ot(R,M){return function(){this.setAttributeNS(R.space,R.local,M)}}function Ct(R,M){return function(){var X=M.apply(this,arguments);X==null?this.removeAttribute(R):this.setAttribute(R,X)}}function It(R,M){return function(){var X=M.apply(this,arguments);X==null?this.removeAttributeNS(R.space,R.local):this.setAttributeNS(R.space,R.local,X)}}function Ft(R,M){var X=Ut(R);if(arguments.length<2){var ut=this.node();return X.local?ut.getAttributeNS(X.space,X.local):ut.getAttribute(X)}return this.each((M==null?X.local?at:Nt:typeof M=="function"?X.local?It:Ct:X.local?Ot:ct)(X,M))}function Wt(R){return R.ownerDocument&&R.ownerDocument.defaultView||R.document&&R||R.defaultView}function Kt(R){return function(){this.style.removeProperty(R)}}function Gt(R,M,X){return function(){this.style.setProperty(R,M,X)}}function Mt(R,M,X){return function(){var ut=M.apply(this,arguments);ut==null?this.style.removeProperty(R):this.style.setProperty(R,ut,X)}}function bt(R,M,X){return arguments.length>1?this.each((M==null?Kt:typeof M=="function"?Mt:Gt)(R,M,X==null?"":X)):jt(this.node(),R)}function jt(R,M){return R.style.getPropertyValue(M)||Wt(R).getComputedStyle(R,null).getPropertyValue(M)}function Lt(R){return function(){delete this[R]}}function q(R,M){return function(){this[R]=M}}function st(R,M){return function(){var X=M.apply(this,arguments);X==null?delete this[R]:this[R]=X}}function Y(R,M){return arguments.length>1?this.each((M==null?Lt:typeof M=="function"?st:q)(R,M)):this.node()[R]}function xt(R){return R.trim().split(/^|\s+/)}function St(R){return R.classList||new gt(R)}function gt(R){this._node=R,this._names=xt(R.getAttribute("class")||"")}gt.prototype={add:function(R){var M=this._names.indexOf(R);M<0&&(this._names.push(R),this._node.setAttribute("class",this._names.join(" ")))},remove:function(R){var M=this._names.indexOf(R);M>=0&&(this._names.splice(M,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(R){return this._names.indexOf(R)>=0}};function ht(R,M){for(var X=St(R),ut=-1,_=M.length;++ut<_;)X.add(M[ut])}function Jt(R,M){for(var X=St(R),ut=-1,_=M.length;++ut<_;)X.remove(M[ut])}function Zt(R){return function(){ht(this,R)}}function V(R){return function(){Jt(this,R)}}function w(R,M){return function(){(M.apply(this,arguments)?ht:Jt)(this,R)}}function tt(R,M){var X=xt(R+"");if(arguments.length<2){for(var ut=St(this.node()),_=-1,yt=X.length;++_<yt;)if(!ut.contains(X[_]))return!1;return!0}return this.each((typeof M=="function"?w:M?Zt:V)(X,M))}function k(){this.textContent=""}function ot(R){return function(){this.textContent=R}}function J(R){return function(){var M=R.apply(this,arguments);this.textContent=M==null?"":M}}function Rt(R){return arguments.length?this.each(R==null?k:(typeof R=="function"?J:ot)(R)):this.node().textContent}function zt(){this.innerHTML=""}function Q(R){return function(){this.innerHTML=R}}function vt(R){return function(){var M=R.apply(this,arguments);this.innerHTML=M==null?"":M}}function ft(R){return arguments.length?this.each(R==null?zt:(typeof R=="function"?vt:Q)(R)):this.node().innerHTML}function dt(){this.nextSibling&&this.parentNode.appendChild(this)}function Dt(){return this.each(dt)}function Ht(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Yt(){return this.each(Ht)}function Qt(R){return function(){var M=this.ownerDocument,X=this.namespaceURI;return X===mt&&M.documentElement.namespaceURI===mt?M.createElement(R):M.createElementNS(X,R)}}function kt(R){return function(){return this.ownerDocument.createElementNS(R.space,R.local)}}function tr(R){var M=Ut(R);return(M.local?kt:Qt)(M)}function ur(R){var M=typeof R=="function"?R:tr(R);return this.select(function(){return this.appendChild(M.apply(this,arguments))})}function xr(){return null}function Ar(R,M){var X=typeof R=="function"?R:tr(R),ut=M==null?xr:typeof M=="function"?M:n(M);return this.select(function(){return this.insertBefore(X.apply(this,arguments),ut.apply(this,arguments)||null)})}function Sr(){var R=this.parentNode;R&&R.removeChild(this)}function yr(){return this.each(Sr)}function ir(){var R=this.cloneNode(!1),M=this.parentNode;return M?M.insertBefore(R,this.nextSibling):R}function Pr(){var R=this.cloneNode(!0),M=this.parentNode;return M?M.insertBefore(R,this.nextSibling):R}function hr(R){return this.select(R?Pr:ir)}function lr(R){return arguments.length?this.property("__data__",R):this.node().__data__}function Er(R){return function(M){R.call(this,M,this.__data__)}}function pr(R){return R.trim().split(/^|\s+/).map(function(M){var X="",ut=M.indexOf(".");return ut>=0&&(X=M.slice(ut+1),M=M.slice(0,ut)),{type:M,name:X}})}function nr(R){return function(){var M=this.__on;if(M){for(var X=0,ut=-1,_=M.length,yt;X<_;++X)yt=M[X],(!R.type||yt.type===R.type)&&yt.name===R.name?this.removeEventListener(yt.type,yt.listener,yt.options):M[++ut]=yt;++ut?M.length=ut:delete this.__on}}}function er(R,M,X){return function(){var ut=this.__on,_,yt=Er(M);if(ut){for(var Tt=0,Pt=ut.length;Tt<Pt;++Tt)if((_=ut[Tt]).type===R.type&&_.name===R.name){this.removeEventListener(_.type,_.listener,_.options),this.addEventListener(_.type,_.listener=yt,_.options=X),_.value=M;return}}this.addEventListener(R.type,yt,X),_={type:R.type,name:R.name,value:M,listener:yt,options:X},ut?ut.push(_):this.__on=[_]}}function Cr(R,M,X){var ut=pr(R+""),_,yt=ut.length,Tt;if(arguments.length<2){var Pt=this.node().__on;if(Pt){for(var $t=0,Vt=Pt.length,Xt;$t<Vt;++$t)for(_=0,Xt=Pt[$t];_<yt;++_)if((Tt=ut[_]).type===Xt.type&&Tt.name===Xt.name)return Xt.value}return}for(Pt=M?er:nr,_=0;_<yt;++_)this.each(Pt(ut[_],M,X));return this}function Ir(R,M,X){var ut=Wt(R),_=ut.CustomEvent;typeof _=="function"?_=new _(M,X):(_=ut.document.createEvent("Event"),X?(_.initEvent(M,X.bubbles,X.cancelable),_.detail=X.detail):_.initEvent(M,!1,!1)),R.dispatchEvent(_)}function G(R,M){return function(){return Ir(this,R,M)}}function nt(R,M){return function(){return Ir(this,R,M.apply(this,arguments))}}function H(R,M){return this.each((typeof M=="function"?nt:G)(R,M))}function*B(){for(var R=this._groups,M=0,X=R.length;M<X;++M)for(var ut=R[M],_=0,yt=ut.length,Tt;_<yt;++_)(Tt=ut[_])&&(yield Tt)}var Z=[null];function At(R,M){this._groups=R,this._parents=M}function Et(){return new At([[document.documentElement]],Z)}function wt(){return this}At.prototype=Et.prototype={constructor:At,select:e,selectAll:v,selectChild:p,selectChildren:x,filter:S,data:$,enter:E,exit:D,join:F,merge:L,selection:wt,order:j,sort:W,call:K,nodes:z,node:it,size:et,empty:lt,each:pt,attr:Ft,style:bt,property:Y,classed:tt,text:Rt,html:ft,raise:Dt,lower:Yt,append:ur,insert:Ar,remove:yr,clone:hr,datum:lr,on:Cr,dispatch:H,[Symbol.iterator]:B};var _t=null;function rr(R){return typeof R=="string"?new At([[document.querySelector(R)]],[document.documentElement]):new At([[R]],Z)}var ar=Object.defineProperty,rt=(R,M,X)=>M in R?ar(R,M,{enumerable:!0,configurable:!0,writable:!0,value:X}):R[M]=X,qt=(R,M,X)=>rt(R,typeof M!="symbol"?M+"":M,X);class vr{constructor(M={}){qt(this,"$$"),qt(this,"options"),this.options=M}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(M=>{this[M]=null,delete this[M]})}}qt(vr,"version","3.14.2");var Or=Object.defineProperty,Nr=(R,M,X)=>M in R?Or(R,M,{enumerable:!0,configurable:!0,writable:!0,value:X}):R[M]=X,Tr=(R,M,X)=>Nr(R,typeof M!="symbol"?M+"":M,X);const mr=class jr extends vr{constructor(M){return super(M),Tr(this,"$$"),this}$init(){const{$$:M}=this;M.findClosest=this.findClosest.bind(this),M.getBubbleR=this.getBubbleR.bind(this),M.pointExpandedR=this.pointExpandedR.bind(this)}pointExpandedR(M){const X=this.getBubbleR(M),{expandScale:ut=1}=this.options;return jr.raiseFocusedBubbleLayer(M),this.changeCursorPoint(),X*ut}static raiseFocusedBubbleLayer(M){M.raise&&rr(M.node().parentNode.parentNode).raise()}changeCursorPoint(){this.$$.$el.eventRect.style("cursor","pointer")}findClosest(M,X){const{$$:ut}=this;return M.filter(_=>_&&!ut.isBarType(_.id)).reduce((_,yt)=>ut.dist(yt,X)<this.getBubbleR(yt)?yt:_,0)}getBubbleR(M){const{minR:X,maxR:ut}=this.options,_=this.getZData(M);if(!_)return X;const[yt,Tt]=this.$$.data.targets.reduce(([$t,Vt],Xt)=>{const or=this.getZData(Xt.values[0]);return[Math.min($t,or),Math.max(Vt,or)]},[1e4,0]),Pt=yt>0&&Tt===yt?0:_/Tt;return Math.abs(Pt)*(ut-X)+X}getZData(M){return this.$$.isBubbleZType(M)?this.$$.getBubbleZData(M.value,"z"):M.value}};Tr(mr,"version","0.0.1");let Gr=mr},85156:function(s,l,t){var r=t(23583),n=t(82453),e=TypeError;s.exports=function(a){if(r(a))return a;throw new e(n(a)+" is not a function")}},80042:function(s,l,t){var r=t(11051),n=t(82453),e=TypeError;s.exports=function(a){if(r(a))return a;throw new e(n(a)+" is not a constructor")}},53408:function(s,l,t){var r=t(52427),n=String,e=TypeError;s.exports=function(a){if(r(a))return a;throw new e("Can't set "+n(a)+" as a prototype")}},76602:function(s,l,t){var r=t(172).has;s.exports=function(n){return r(n),n}},23811:function(s,l,t){var r=t(18565),n=t(5406),e=t(7831).f,a=r("unscopables"),o=Array.prototype;o[a]===void 0&&e(o,a,{configurable:!0,value:n(null)}),s.exports=function(u){o[a][u]=!0}},24487:function(s,l,t){var r=t(22149).charAt;s.exports=function(n,e,a){return e+(a?r(n,e).length:1)}},12833:function(s,l,t){var r=t(95307),n=TypeError;s.exports=function(e,a){if(r(a,e))return e;throw new n("Incorrect invocation")}},25001:function(s,l,t){var r=t(37540),n=String,e=TypeError;s.exports=function(a){if(r(a))return a;throw new e(n(a)+" is not an object")}},3237:function(s){s.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},58360:function(s,l,t){var r=t(34246),n=t(84756),e=t(14274),a=r.ArrayBuffer,o=r.TypeError;s.exports=a&&n(a.prototype,"byteLength","get")||function(u){if(e(u)!=="ArrayBuffer")throw new o("ArrayBuffer expected");return u.byteLength}},30736:function(s,l,t){var r=t(34246),n=t(77422),e=t(58360),a=r.ArrayBuffer,o=a&&a.prototype,u=o&&n(o.slice);s.exports=function(i){if(e(i)!==0||!u)return!1;try{return u(i,0,0),!1}catch(v){return!0}}},72058:function(s,l,t){var r=t(72069);s.exports=r(function(){if(typeof ArrayBuffer=="function"){var n=new ArrayBuffer(8);Object.isExtensible(n)&&Object.defineProperty(n,"a",{value:8})}})},83843:function(s,l,t){var r=t(30736),n=TypeError;s.exports=function(e){if(r(e))throw new n("ArrayBuffer is detached");return e}},65006:function(s,l,t){var r=t(34246),n=t(11286),e=t(84756),a=t(9450),o=t(83843),u=t(58360),i=t(63741),v=t(99050),f=r.structuredClone,c=r.ArrayBuffer,d=r.DataView,h=Math.min,g=c.prototype,p=d.prototype,y=n(g.slice),m=e(g,"resizable","get"),I=e(g,"maxByteLength","get"),x=n(p.getInt8),S=n(p.setInt8);s.exports=(v||i)&&function(T,E,O){var A=u(T),C=E===void 0?A:a(E),P=!m||!m(T),N;if(o(T),v&&(T=f(T,{transfer:[T]}),A===C&&(O||P)))return T;if(A>=C&&(!O||P))N=y(T,0,C);else{var $=O&&!P&&I?{maxByteLength:I(T)}:void 0;N=new c(C,$);for(var U=new d(T),D=new d(N),F=h(C,A),L=0;L<F;L++)S(D,L,x(U,L))}return v||i(T),N}},88037:function(s,l,t){var r=t(3237),n=t(92986),e=t(34246),a=t(23583),o=t(37540),u=t(94879),i=t(9205),v=t(82453),f=t(90809),c=t(16142),d=t(85500),h=t(95307),g=t(26313),p=t(15861),y=t(18565),m=t(36374),I=t(82367),x=I.enforce,S=I.get,T=e.Int8Array,E=T&&T.prototype,O=e.Uint8ClampedArray,A=O&&O.prototype,C=T&&g(T),P=E&&g(E),N=Object.prototype,$=e.TypeError,U=y("toStringTag"),D=m("TYPED_ARRAY_TAG"),F="TypedArrayConstructor",L=r&&!!p&&i(e.opera)!=="Opera",j=!1,W,b,K,z={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},it={BigInt64Array:8,BigUint64Array:8},et=function(ct){if(!o(ct))return!1;var Ot=i(ct);return Ot==="DataView"||u(z,Ot)||u(it,Ot)},lt=function(at){var ct=g(at);if(o(ct)){var Ot=S(ct);return Ot&&u(Ot,F)?Ot[F]:lt(ct)}},pt=function(at){if(!o(at))return!1;var ct=i(at);return u(z,ct)||u(it,ct)},mt=function(at){if(pt(at))return at;throw new $("Target is not a typed array")},Bt=function(at){if(a(at)&&(!p||h(C,at)))return at;throw new $(v(at)+" is not a typed array constructor")},Ut=function(at,ct,Ot,Ct){if(n){if(Ot)for(var It in z){var Ft=e[It];if(Ft&&u(Ft.prototype,at))try{delete Ft.prototype[at]}catch(Wt){try{Ft.prototype[at]=ct}catch(Kt){}}}(!P[at]||Ot)&&c(P,at,Ot?ct:L&&E[at]||ct,Ct)}},Nt=function(at,ct,Ot){var Ct,It;if(n){if(p){if(Ot){for(Ct in z)if(It=e[Ct],It&&u(It,at))try{delete It[at]}catch(Ft){}}if(!C[at]||Ot)try{return c(C,at,Ot?ct:L&&C[at]||ct)}catch(Ft){}else return}for(Ct in z)It=e[Ct],It&&(!It[at]||Ot)&&c(It,at,ct)}};for(W in z)b=e[W],K=b&&b.prototype,K?x(K)[F]=b:L=!1;for(W in it)b=e[W],K=b&&b.prototype,K&&(x(K)[F]=b);if((!L||!a(C)||C===Function.prototype)&&(C=function(){throw new $("Incorrect invocation")},L))for(W in z)e[W]&&p(e[W],C);if((!L||!P||P===N)&&(P=C.prototype,L))for(W in z)e[W]&&p(e[W].prototype,P);if(L&&g(A)!==P&&p(A,P),n&&!u(P,U)){j=!0,d(P,U,{configurable:!0,get:function(){return o(this)?this[D]:void 0}});for(W in z)e[W]&&f(e[W],D,W)}s.exports={NATIVE_ARRAY_BUFFER_VIEWS:L,TYPED_ARRAY_TAG:j&&D,aTypedArray:mt,aTypedArrayConstructor:Bt,exportTypedArrayMethod:Ut,exportTypedArrayStaticMethod:Nt,getTypedArrayConstructor:lt,isView:et,isTypedArray:pt,TypedArray:C,TypedArrayPrototype:P}},17468:function(s,l,t){var r=t(34246),n=t(11286),e=t(92986),a=t(3237),o=t(86588),u=t(90809),i=t(85500),v=t(2725),f=t(72069),c=t(12833),d=t(12105),h=t(45344),g=t(9450),p=t(93279),y=t(25212),m=t(26313),I=t(15861),x=t(43011),S=t(22806),T=t(32345),E=t(93706),O=t(78401),A=t(82367),C=o.PROPER,P=o.CONFIGURABLE,N="ArrayBuffer",$="DataView",U="prototype",D="Wrong length",F="Wrong index",L=A.getterFor(N),j=A.getterFor($),W=A.set,b=r[N],K=b,z=K&&K[U],it=r[$],et=it&&it[U],lt=Object.prototype,pt=r.Array,mt=r.RangeError,Bt=n(x),Ut=n([].reverse),Nt=y.pack,at=y.unpack,ct=function(q){return[q&255]},Ot=function(q){return[q&255,q>>8&255]},Ct=function(q){return[q&255,q>>8&255,q>>16&255,q>>24&255]},It=function(q){return q[3]<<24|q[2]<<16|q[1]<<8|q[0]},Ft=function(q){return Nt(p(q),23,4)},Wt=function(q){return Nt(q,52,8)},Kt=function(q,st,Y){i(q[U],st,{configurable:!0,get:function(){return Y(this)[st]}})},Gt=function(q,st,Y,xt){var St=j(q),gt=g(Y),ht=!!xt;if(gt+st>St.byteLength)throw new mt(F);var Jt=St.bytes,Zt=gt+St.byteOffset,V=S(Jt,Zt,Zt+st);return ht?V:Ut(V)},Mt=function(q,st,Y,xt,St,gt){var ht=j(q),Jt=g(Y),Zt=xt(+St),V=!!gt;if(Jt+st>ht.byteLength)throw new mt(F);for(var w=ht.bytes,tt=Jt+ht.byteOffset,k=0;k<st;k++)w[tt+k]=Zt[V?k:st-k-1]};if(!a)K=function(st){c(this,z);var Y=g(st);W(this,{type:N,bytes:Bt(pt(Y),0),byteLength:Y}),e||(this.byteLength=Y,this.detached=!1)},z=K[U],it=function(st,Y,xt){c(this,et),c(st,z);var St=L(st),gt=St.byteLength,ht=d(Y);if(ht<0||ht>gt)throw new mt("Wrong offset");if(xt=xt===void 0?gt-ht:h(xt),ht+xt>gt)throw new mt(D);W(this,{type:$,buffer:st,byteLength:xt,byteOffset:ht,bytes:St.bytes}),e||(this.buffer=st,this.byteLength=xt,this.byteOffset=ht)},et=it[U],e&&(Kt(K,"byteLength",L),Kt(it,"buffer",j),Kt(it,"byteLength",j),Kt(it,"byteOffset",j)),v(et,{getInt8:function(st){return Gt(this,1,st)[0]<<24>>24},getUint8:function(st){return Gt(this,1,st)[0]},getInt16:function(st){var Y=Gt(this,2,st,arguments.length>1?arguments[1]:!1);return(Y[1]<<8|Y[0])<<16>>16},getUint16:function(st){var Y=Gt(this,2,st,arguments.length>1?arguments[1]:!1);return Y[1]<<8|Y[0]},getInt32:function(st){return It(Gt(this,4,st,arguments.length>1?arguments[1]:!1))},getUint32:function(st){return It(Gt(this,4,st,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(st){return at(Gt(this,4,st,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(st){return at(Gt(this,8,st,arguments.length>1?arguments[1]:!1),52)},setInt8:function(st,Y){Mt(this,1,st,ct,Y)},setUint8:function(st,Y){Mt(this,1,st,ct,Y)},setInt16:function(st,Y){Mt(this,2,st,Ot,Y,arguments.length>2?arguments[2]:!1)},setUint16:function(st,Y){Mt(this,2,st,Ot,Y,arguments.length>2?arguments[2]:!1)},setInt32:function(st,Y){Mt(this,4,st,Ct,Y,arguments.length>2?arguments[2]:!1)},setUint32:function(st,Y){Mt(this,4,st,Ct,Y,arguments.length>2?arguments[2]:!1)},setFloat32:function(st,Y){Mt(this,4,st,Ft,Y,arguments.length>2?arguments[2]:!1)},setFloat64:function(st,Y){Mt(this,8,st,Wt,Y,arguments.length>2?arguments[2]:!1)}});else{var bt=C&&b.name!==N;!f(function(){b(1)})||!f(function(){new b(-1)})||f(function(){return new b,new b(1.5),new b(NaN),b.length!==1||bt&&!P})?(K=function(st){return c(this,z),T(new b(g(st)),this,K)},K[U]=z,z.constructor=K,E(K,b)):bt&&P&&u(b,"name",N),I&&m(et)!==lt&&I(et,lt);var jt=new it(new K(2)),Lt=n(et.setInt8);jt.setInt8(0,2147483648),jt.setInt8(1,2147483649),(jt.getInt8(0)||!jt.getInt8(1))&&v(et,{setInt8:function(st,Y){Lt(this,st,Y<<24>>24)},setUint8:function(st,Y){Lt(this,st,Y<<24>>24)}},{unsafe:!0})}O(K,N),O(it,$),s.exports={ArrayBuffer:K,DataView:it}},81499:function(s,l,t){var r=t(49671),n=t(4652),e=t(82628),a=t(12384),o=Math.min;s.exports=[].copyWithin||function(i,v){var f=r(this),c=e(f),d=n(i,c),h=n(v,c),g=arguments.length>2?arguments[2]:void 0,p=o((g===void 0?c:n(g,c))-h,c-d),y=1;for(h<d&&d<h+p&&(y=-1,h+=p-1,d+=p-1);p-- >0;)h in f?f[d]=f[h]:a(f,d),d+=y,h+=y;return f}},43011:function(s,l,t){var r=t(49671),n=t(4652),e=t(82628);s.exports=function(o){for(var u=r(this),i=e(u),v=arguments.length,f=n(v>1?arguments[1]:void 0,i),c=v>2?arguments[2]:void 0,d=c===void 0?i:n(c,i);d>f;)u[f++]=o;return u}},13349:function(s,l,t){var r=t(66655).forEach,n=t(6148),e=n("forEach");s.exports=e?[].forEach:function(o){return r(this,o,arguments.length>1?arguments[1]:void 0)}},5220:function(s,l,t){var r=t(82628);s.exports=function(n,e,a){for(var o=0,u=arguments.length>2?a:r(e),i=new n(u);u>o;)i[o]=e[o++];return i}},48258:function(s,l,t){var r=t(45526),n=t(96499),e=t(49671),a=t(39969),o=t(48199),u=t(11051),i=t(82628),v=t(84082),f=t(90619),c=t(81077),d=Array;s.exports=function(g){var p=e(g),y=u(this),m=arguments.length,I=m>1?arguments[1]:void 0,x=I!==void 0;x&&(I=r(I,m>2?arguments[2]:void 0));var S=c(p),T=0,E,O,A,C,P,N;if(S&&!(this===d&&o(S)))for(O=y?new this:[],C=f(p,S),P=C.next;!(A=n(P,C)).done;T++)N=x?a(C,I,[A.value,T],!0):A.value,v(O,T,N);else for(E=i(p),O=y?new this(E):d(E);E>T;T++)N=x?I(p[T],T):p[T],v(O,T,N);return O.length=T,O}},94319:function(s,l,t){var r=t(36859),n=t(4652),e=t(82628),a=function(o){return function(u,i,v){var f=r(u),c=e(f);if(c===0)return!o&&-1;var d=n(v,c),h;if(o&&i!==i){for(;c>d;)if(h=f[d++],h!==h)return!0}else for(;c>d;d++)if((o||d in f)&&f[d]===i)return o||d||0;return!o&&-1}};s.exports={includes:a(!0),indexOf:a(!1)}},73849:function(s,l,t){var r=t(45526),n=t(72181),e=t(49671),a=t(82628),o=function(u){var i=u===1;return function(v,f,c){for(var d=e(v),h=n(d),g=a(h),p=r(f,c),y,m;g-- >0;)if(y=h[g],m=p(y,g,d),m)switch(u){case 0:return y;case 1:return g}return i?-1:void 0}};s.exports={findLast:o(0),findLastIndex:o(1)}},66655:function(s,l,t){var r=t(45526),n=t(11286),e=t(72181),a=t(49671),o=t(82628),u=t(62083),i=n([].push),v=function(f){var c=f===1,d=f===2,h=f===3,g=f===4,p=f===6,y=f===7,m=f===5||p;return function(I,x,S,T){for(var E=a(I),O=e(E),A=o(O),C=r(x,S),P=0,N=T||u,$=c?N(I,A):d||y?N(I,0):void 0,U,D;A>P;P++)if((m||P in O)&&(U=O[P],D=C(U,P,E),f))if(c)$[P]=D;else if(D)switch(f){case 3:return!0;case 5:return U;case 6:return P;case 2:i($,U)}else switch(f){case 4:return!1;case 7:i($,U)}return p?-1:h||g?g:$}};s.exports={forEach:v(0),map:v(1),filter:v(2),some:v(3),every:v(4),find:v(5),findIndex:v(6),filterReject:v(7)}},58465:function(s,l,t){var r=t(66543),n=t(36859),e=t(12105),a=t(82628),o=t(6148),u=Math.min,i=[].lastIndexOf,v=!!i&&1/[1].lastIndexOf(1,-0)<0,f=o("lastIndexOf"),c=v||!f;s.exports=c?function(h){if(v)return r(i,this,arguments)||0;var g=n(this),p=a(g);if(p===0)return-1;var y=p-1;for(arguments.length>1&&(y=u(y,e(arguments[1]))),y<0&&(y=p+y);y>=0;y--)if(y in g&&g[y]===h)return y||0;return-1}:i},52183:function(s,l,t){var r=t(72069),n=t(18565),e=t(44241),a=n("species");s.exports=function(o){return e>=51||!r(function(){var u=[],i=u.constructor={};return i[a]=function(){return{foo:1}},u[o](Boolean).foo!==1})}},6148:function(s,l,t){var r=t(72069);s.exports=function(n,e){var a=[][n];return!!a&&r(function(){a.call(null,e||function(){return 1},1)})}},97264:function(s,l,t){var r=t(85156),n=t(49671),e=t(72181),a=t(82628),o=TypeError,u="Reduce of empty array with no initial value",i=function(v){return function(f,c,d,h){var g=n(f),p=e(g),y=a(g);if(r(c),y===0&&d<2)throw new o(u);var m=v?y-1:0,I=v?-1:1;if(d<2)for(;;){if(m in p){h=p[m],m+=I;break}if(m+=I,v?m<0:y<=m)throw new o(u)}for(;v?m>=0:y>m;m+=I)m in p&&(h=c(h,p[m],m,g));return h}};s.exports={left:i(!1),right:i(!0)}},2213:function(s,l,t){var r=t(92986),n=t(3438),e=TypeError,a=Object.getOwnPropertyDescriptor,o=r&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(u){return u instanceof TypeError}}();s.exports=o?function(u,i){if(n(u)&&!a(u,"length").writable)throw new e("Cannot set read only .length");return u.length=i}:function(u,i){return u.length=i}},22806:function(s,l,t){var r=t(11286);s.exports=r([].slice)},13270:function(s,l,t){var r=t(22806),n=Math.floor,e=function(a,o){var u=a.length;if(u<8)for(var i=1,v,f;i<u;){for(f=i,v=a[i];f&&o(a[f-1],v)>0;)a[f]=a[--f];f!==i++&&(a[f]=v)}else for(var c=n(u/2),d=e(r(a,0,c),o),h=e(r(a,c),o),g=d.length,p=h.length,y=0,m=0;y<g||m<p;)a[y+m]=y<g&&m<p?o(d[y],h[m])<=0?d[y++]:h[m++]:y<g?d[y++]:h[m++];return a};s.exports=e},37555:function(s,l,t){var r=t(3438),n=t(11051),e=t(37540),a=t(18565),o=a("species"),u=Array;s.exports=function(i){var v;return r(i)&&(v=i.constructor,n(v)&&(v===u||r(v.prototype))?v=void 0:e(v)&&(v=v[o],v===null&&(v=void 0))),v===void 0?u:v}},62083:function(s,l,t){var r=t(37555);s.exports=function(n,e){return new(r(n))(e===0?0:e)}},61638:function(s,l,t){var r=t(82628);s.exports=function(n,e){for(var a=r(n),o=new e(a),u=0;u<a;u++)o[u]=n[a-u-1];return o}},72302:function(s,l,t){var r=t(82628),n=t(12105),e=RangeError;s.exports=function(a,o,u,i){var v=r(a),f=n(u),c=f<0?v+f:f;if(c>=v||c<0)throw new e("Incorrect index");for(var d=new o(v),h=0;h<v;h++)d[h]=h===c?i:a[h];return d}},6210:function(s){var l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t=l+"+/",r=l+"-_",n=function(e){for(var a={},o=0;o<64;o++)a[e.charAt(o)]=o;return a};s.exports={i2c:t,c2i:n(t),i2cUrl:r,c2iUrl:n(r)}},39969:function(s,l,t){var r=t(25001),n=t(99797);s.exports=function(e,a,o,u){try{return u?a(r(o)[0],o[1]):a(o)}catch(i){n(e,"throw",i)}}},97494:function(s,l,t){var r=t(18565),n=r("iterator"),e=!1;try{var a=0,o={next:function(){return{done:!!a++}},return:function(){e=!0}};o[n]=function(){return this},Array.from(o,function(){throw 2})}catch(u){}s.exports=function(u,i){try{if(!i&&!e)return!1}catch(c){return!1}var v=!1;try{var f={};f[n]=function(){return{next:function(){return{done:v=!0}}}},u(f)}catch(c){}return v}},14274:function(s,l,t){var r=t(11286),n=r({}.toString),e=r("".slice);s.exports=function(a){return e(n(a),8,-1)}},9205:function(s,l,t){var r=t(67878),n=t(23583),e=t(14274),a=t(18565),o=a("toStringTag"),u=Object,i=e(function(){return arguments}())==="Arguments",v=function(f,c){try{return f[c]}catch(d){}};s.exports=r?e:function(f){var c,d,h;return f===void 0?"Undefined":f===null?"Null":typeof(d=v(c=u(f),o))=="string"?d:i?e(c):(h=e(c))==="Object"&&n(c.callee)?"Arguments":h}},34440:function(s,l,t){var r=t(5406),n=t(85500),e=t(2725),a=t(45526),o=t(12833),u=t(5683),i=t(55902),v=t(10218),f=t(10659),c=t(36167),d=t(92986),h=t(31853).fastKey,g=t(82367),p=g.set,y=g.getterFor;s.exports={getConstructor:function(m,I,x,S){var T=m(function(P,N){o(P,E),p(P,{type:I,index:r(null),first:null,last:null,size:0}),d||(P.size=0),u(N)||i(N,P[S],{that:P,AS_ENTRIES:x})}),E=T.prototype,O=y(I),A=function(P,N,$){var U=O(P),D=C(P,N),F,L;return D?D.value=$:(U.last=D={index:L=h(N,!0),key:N,value:$,previous:F=U.last,next:null,removed:!1},U.first||(U.first=D),F&&(F.next=D),d?U.size++:P.size++,L!=="F"&&(U.index[L]=D)),P},C=function(P,N){var $=O(P),U=h(N),D;if(U!=="F")return $.index[U];for(D=$.first;D;D=D.next)if(D.key===N)return D};return e(E,{clear:function(){for(var N=this,$=O(N),U=$.first;U;)U.removed=!0,U.previous&&(U.previous=U.previous.next=null),U=U.next;$.first=$.last=null,$.index=r(null),d?$.size=0:N.size=0},delete:function(P){var N=this,$=O(N),U=C(N,P);if(U){var D=U.next,F=U.previous;delete $.index[U.index],U.removed=!0,F&&(F.next=D),D&&(D.previous=F),$.first===U&&($.first=D),$.last===U&&($.last=F),d?$.size--:N.size--}return!!U},forEach:function(N){for(var $=O(this),U=a(N,arguments.length>1?arguments[1]:void 0),D;D=D?D.next:$.first;)for(U(D.value,D.key,this);D&&D.removed;)D=D.previous},has:function(N){return!!C(this,N)}}),e(E,x?{get:function(N){var $=C(this,N);return $&&$.value},set:function(N,$){return A(this,N===0?0:N,$)}}:{add:function(N){return A(this,N=N===0?0:N,N)}}),d&&n(E,"size",{configurable:!0,get:function(){return O(this).size}}),T},setStrong:function(m,I,x){var S=I+" Iterator",T=y(I),E=y(S);v(m,I,function(O,A){p(this,{type:S,target:O,state:T(O),kind:A,last:null})},function(){for(var O=E(this),A=O.kind,C=O.last;C&&C.removed;)C=C.previous;return!O.target||!(O.last=C=C?C.next:O.state.first)?(O.target=null,f(void 0,!0)):f(A==="keys"?C.key:A==="values"?C.value:[C.key,C.value],!1)},x?"entries":"values",!x,!0),c(I)}}},94667:function(s,l,t){var r=t(11286),n=t(2725),e=t(31853).getWeakData,a=t(12833),o=t(25001),u=t(5683),i=t(37540),v=t(55902),f=t(66655),c=t(94879),d=t(82367),h=d.set,g=d.getterFor,p=f.find,y=f.findIndex,m=r([].splice),I=0,x=function(E){return E.frozen||(E.frozen=new S)},S=function(){this.entries=[]},T=function(E,O){return p(E.entries,function(A){return A[0]===O})};S.prototype={get:function(E){var O=T(this,E);if(O)return O[1]},has:function(E){return!!T(this,E)},set:function(E,O){var A=T(this,E);A?A[1]=O:this.entries.push([E,O])},delete:function(E){var O=y(this.entries,function(A){return A[0]===E});return~O&&m(this.entries,O,1),!!~O}},s.exports={getConstructor:function(E,O,A,C){var P=E(function(D,F){a(D,N),h(D,{type:O,id:I++,frozen:null}),u(F)||v(F,D[C],{that:D,AS_ENTRIES:A})}),N=P.prototype,$=g(O),U=function(D,F,L){var j=$(D),W=e(o(F),!0);return W===!0?x(j).set(F,L):W[j.id]=L,D};return n(N,{delete:function(D){var F=$(this);if(!i(D))return!1;var L=e(D);return L===!0?x(F).delete(D):L&&c(L,F.id)&&delete L[F.id]},has:function(F){var L=$(this);if(!i(F))return!1;var j=e(F);return j===!0?x(L).has(F):j&&c(j,L.id)}}),n(N,A?{get:function(F){var L=$(this);if(i(F)){var j=e(F);if(j===!0)return x(L).get(F);if(j)return j[L.id]}},set:function(F,L){return U(this,F,L)}}:{add:function(F){return U(this,F,!0)}}),P}}},89378:function(s,l,t){var r=t(14304),n=t(34246),e=t(11286),a=t(13278),o=t(16142),u=t(31853),i=t(55902),v=t(12833),f=t(23583),c=t(5683),d=t(37540),h=t(72069),g=t(97494),p=t(78401),y=t(32345);s.exports=function(m,I,x){var S=m.indexOf("Map")!==-1,T=m.indexOf("Weak")!==-1,E=S?"set":"add",O=n[m],A=O&&O.prototype,C=O,P={},N=function(W){var b=e(A[W]);o(A,W,W==="add"?function(z){return b(this,z===0?0:z),this}:W==="delete"?function(K){return T&&!d(K)?!1:b(this,K===0?0:K)}:W==="get"?function(z){return T&&!d(z)?void 0:b(this,z===0?0:z)}:W==="has"?function(z){return T&&!d(z)?!1:b(this,z===0?0:z)}:function(z,it){return b(this,z===0?0:z,it),this})},$=a(m,!f(O)||!(T||A.forEach&&!h(function(){new O().entries().next()})));if($)C=x.getConstructor(I,m,S,E),u.enable();else if(a(m,!0)){var U=new C,D=U[E](T?{}:-0,1)!==U,F=h(function(){U.has(1)}),L=g(function(W){new O(W)}),j=!T&&h(function(){for(var W=new O,b=5;b--;)W[E](b,b);return!W.has(-0)});L||(C=I(function(W,b){v(W,A);var K=y(new O,W,C);return c(b)||i(b,K[E],{that:K,AS_ENTRIES:S}),K}),C.prototype=A,A.constructor=C),(F||j)&&(N("delete"),N("has"),S&&N("get")),(j||D)&&N(E),T&&A.clear&&delete A.clear}return P[m]=C,r({global:!0,constructor:!0,forced:C!==O},P),p(C,m),T||x.setStrong(C,m,S),C}},93706:function(s,l,t){var r=t(94879),n=t(16885),e=t(71349),a=t(7831);s.exports=function(o,u,i){for(var v=n(u),f=a.f,c=e.f,d=0;d<v.length;d++){var h=v[d];!r(o,h)&&!(i&&r(i,h))&&f(o,h,c(u,h))}}},8790:function(s,l,t){var r=t(18565),n=r("match");s.exports=function(e){var a=/./;try{"/./"[e](a)}catch(o){try{return a[n]=!1,"/./"[e](a)}catch(u){}}return!1}},87501:function(s,l,t){var r=t(72069);s.exports=!r(function(){function n(){}return n.prototype.constructor=null,Object.getPrototypeOf(new n)!==n.prototype})},68422:function(s,l,t){var r=t(11286),n=t(2068),e=t(17361),a=/"/g,o=r("".replace);s.exports=function(u,i,v,f){var c=e(n(u)),d="<"+i;return v!==""&&(d+=" "+v+'="'+o(e(f),a,""")+'"'),d+">"+c+"</"+i+">"}},10659:function(s){s.exports=function(l,t){return{value:l,done:t}}},90809:function(s,l,t){var r=t(92986),n=t(7831),e=t(18526);s.exports=r?function(a,o,u){return n.f(a,o,e(1,u))}:function(a,o,u){return a[o]=u,a}},18526:function(s){s.exports=function(l,t){return{enumerable:!(l&1),configurable:!(l&2),writable:!(l&4),value:t}}},84082:function(s,l,t){var r=t(92986),n=t(7831),e=t(18526);s.exports=function(a,o,u){r?n.f(a,o,e(0,u)):a[o]=u}},11890:function(s,l,t){var r=t(11286),n=t(72069),e=t(61607).start,a=RangeError,o=isFinite,u=Math.abs,i=Date.prototype,v=i.toISOString,f=r(i.getTime),c=r(i.getUTCDate),d=r(i.getUTCFullYear),h=r(i.getUTCHours),g=r(i.getUTCMilliseconds),p=r(i.getUTCMinutes),y=r(i.getUTCMonth),m=r(i.getUTCSeconds);s.exports=n(function(){return v.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!n(function(){v.call(new Date(NaN))})?function(){if(!o(f(this)))throw new a("Invalid time value");var x=this,S=d(x),T=g(x),E=S<0?"-":S>9999?"+":"";return E+e(u(S),E?6:4,0)+"-"+e(y(x)+1,2,0)+"-"+e(c(x),2,0)+"T"+e(h(x),2,0)+":"+e(p(x),2,0)+":"+e(m(x),2,0)+"."+e(T,3,0)+"Z"}:v},84306:function(s,l,t){var r=t(25001),n=t(2064),e=TypeError;s.exports=function(a){if(r(this),a==="string"||a==="default")a="string";else if(a!=="number")throw new e("Incorrect hint");return n(this,a)}},85500:function(s,l,t){var r=t(13749),n=t(7831);s.exports=function(e,a,o){return o.get&&r(o.get,a,{getter:!0}),o.set&&r(o.set,a,{setter:!0}),n.f(e,a,o)}},16142:function(s,l,t){var r=t(23583),n=t(7831),e=t(13749),a=t(36003);s.exports=function(o,u,i,v){v||(v={});var f=v.enumerable,c=v.name!==void 0?v.name:u;if(r(i)&&e(i,c,v),v.global)f?o[u]=i:a(u,i);else{try{v.unsafe?o[u]&&(f=!0):delete o[u]}catch(d){}f?o[u]=i:n.f(o,u,{value:i,enumerable:!1,configurable:!v.nonConfigurable,writable:!v.nonWritable})}return o}},2725:function(s,l,t){var r=t(16142);s.exports=function(n,e,a){for(var o in e)r(n,o,e[o],a);return n}},36003:function(s,l,t){var r=t(34246),n=Object.defineProperty;s.exports=function(e,a){try{n(r,e,{value:a,configurable:!0,writable:!0})}catch(o){r[e]=a}return a}},12384:function(s,l,t){var r=t(82453),n=TypeError;s.exports=function(e,a){if(!delete e[a])throw new n("Cannot delete property "+r(a)+" of "+r(e))}},92986:function(s,l,t){var r=t(72069);s.exports=!r(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},63741:function(s,l,t){var r=t(34246),n=t(81191),e=t(99050),a=r.structuredClone,o=r.ArrayBuffer,u=r.MessageChannel,i=!1,v,f,c,d;if(e)i=function(h){a(h,{transfer:[h]})};else if(o)try{u||(v=n("worker_threads"),v&&(u=v.MessageChannel)),u&&(f=new u,c=new o(2),d=function(h){f.port1.postMessage(null,[h])},c.byteLength===2&&(d(c),c.byteLength===0&&(i=d)))}catch(h){}s.exports=i},85501:function(s,l,t){var r=t(34246),n=t(37540),e=r.document,a=n(e)&&n(e.createElement);s.exports=function(o){return a?e.createElement(o):{}}},20095:function(s){var l=TypeError,t=9007199254740991;s.exports=function(r){if(r>t)throw l("Maximum allowed index exceeded");return r}},74408:function(s){s.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},93014:function(s){s.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},39882:function(s,l,t){var r=t(85501),n=r("span").classList,e=n&&n.constructor&&n.constructor.prototype;s.exports=e===Object.prototype?void 0:e},75785:function(s){s.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},507:function(s,l,t){var r=t(18257),n=r.match(/firefox\/(\d+)/i);s.exports=!!n&&+n[1]},17417:function(s,l,t){var r=t(18257);s.exports=/MSIE|Trident/.test(r)},7307:function(s,l,t){var r=t(18257);s.exports=/ipad|iphone|ipod/i.test(r)&&typeof Pebble!="undefined"},5286:function(s,l,t){var r=t(18257);s.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(r)},91707:function(s,l,t){var r=t(21501);s.exports=r==="NODE"},67722:function(s,l,t){var r=t(18257);s.exports=/web0s(?!.*chrome)/i.test(r)},18257:function(s,l,t){var r=t(34246),n=r.navigator,e=n&&n.userAgent;s.exports=e?String(e):""},44241:function(s,l,t){var r=t(34246),n=t(18257),e=r.process,a=r.Deno,o=e&&e.versions||a&&a.version,u=o&&o.v8,i,v;u&&(i=u.split("."),v=i[0]>0&&i[0]<4?1:+(i[0]+i[1])),!v&&n&&(i=n.match(/Edge\/(\d+)/),(!i||i[1]>=74)&&(i=n.match(/Chrome\/(\d+)/),i&&(v=+i[1]))),s.exports=v},66577:function(s,l,t){var r=t(18257),n=r.match(/AppleWebKit\/(\d+)\./);s.exports=!!n&&+n[1]},21501:function(s,l,t){var r=t(34246),n=t(18257),e=t(14274),a=function(o){return n.slice(0,o.length)===o};s.exports=function(){return a("Bun/")?"BUN":a("Cloudflare-Workers")?"CLOUDFLARE":a("Deno/")?"DENO":a("Node.js/")?"NODE":r.Bun&&typeof Bun.version=="string"?"BUN":r.Deno&&typeof Deno.version=="object"?"DENO":e(r.process)==="process"?"NODE":r.window&&r.document?"BROWSER":"REST"}()},40851:function(s,l,t){var r=t(11286),n=Error,e=r("".replace),a=function(i){return String(new n(i).stack)}("zxcasd"),o=/\n\s*at [^:]*:[^\n]*/,u=o.test(a);s.exports=function(i,v){if(u&&typeof i=="string"&&!n.prepareStackTrace)for(;v--;)i=e(i,o,"");return i}},97077:function(s,l,t){var r=t(90809),n=t(40851),e=t(16929),a=Error.captureStackTrace;s.exports=function(o,u,i,v){e&&(a?a(o,u):r(o,"stack",n(i,v)))}},16929:function(s,l,t){var r=t(72069),n=t(18526);s.exports=!r(function(){var e=new Error("a");return"stack"in e?(Object.defineProperty(e,"stack",n(1,7)),e.stack!==7):!0})},58434:function(s,l,t){var r=t(92986),n=t(72069),e=t(25001),a=t(15453),o=Error.prototype.toString,u=n(function(){if(r){var i=Object.create(Object.defineProperty({},"name",{get:function(){return this===i}}));if(o.call(i)!=="true")return!0}return o.call({message:1,name:2})!=="2: 1"||o.call({})!=="Error"});s.exports=u?function(){var v=e(this),f=a(v.name,"Error"),c=a(v.message);return f?c?f+": "+c:f:c}:o},14304:function(s,l,t){var r=t(34246),n=t(71349).f,e=t(90809),a=t(16142),o=t(36003),u=t(93706),i=t(13278);s.exports=function(v,f){var c=v.target,d=v.global,h=v.stat,g,p,y,m,I,x;if(d?p=r:h?p=r[c]||o(c,{}):p=r[c]&&r[c].prototype,p)for(y in f){if(I=f[y],v.dontCallGetSet?(x=n(p,y),m=x&&x.value):m=p[y],g=i(d?y:c+(h?".":"#")+y,v.forced),!g&&m!==void 0){if(typeof I==typeof m)continue;u(I,m)}(v.sham||m&&m.sham)&&e(I,"sham",!0),a(p,y,I,v)}}},72069:function(s){s.exports=function(l){try{return!!l()}catch(t){return!0}}},63194:function(s,l,t){t(31145);var r=t(96499),n=t(16142),e=t(44381),a=t(72069),o=t(18565),u=t(90809),i=o("species"),v=RegExp.prototype;s.exports=function(f,c,d,h){var g=o(f),p=!a(function(){var x={};return x[g]=function(){return 7},""[f](x)!==7}),y=p&&!a(function(){var x=!1,S=/a/;return f==="split"&&(S={},S.constructor={},S.constructor[i]=function(){return S},S.flags="",S[g]=/./[g]),S.exec=function(){return x=!0,null},S[g](""),!x});if(!p||!y||d){var m=/./[g],I=c(g,""[f],function(x,S,T,E,O){var A=S.exec;return A===e||A===v.exec?p&&!O?{done:!0,value:r(m,S,T,E)}:{done:!0,value:r(x,T,S,E)}:{done:!1}});n(String.prototype,f,I[0]),n(v,g,I[1])}h&&u(v[g],"sham",!0)}},53149:function(s,l,t){var r=t(3438),n=t(82628),e=t(20095),a=t(45526),o=function(u,i,v,f,c,d,h,g){for(var p=c,y=0,m=h?a(h,g):!1,I,x;y<f;)y in v&&(I=m?m(v[y],y,i):v[y],d>0&&r(I)?(x=n(I),p=o(u,i,I,x,p,d-1)-1):(e(p+1),u[p]=I),p++),y++;return p};s.exports=o},27534:function(s,l,t){var r=t(72069);s.exports=!r(function(){return Object.isExtensible(Object.preventExtensions({}))})},66543:function(s,l,t){var r=t(87878),n=Function.prototype,e=n.apply,a=n.call;s.exports=typeof Reflect=="object"&&Reflect.apply||(r?a.bind(e):function(){return a.apply(e,arguments)})},45526:function(s,l,t){var r=t(77422),n=t(85156),e=t(87878),a=r(r.bind);s.exports=function(o,u){return n(o),u===void 0?o:e?a(o,u):function(){return o.apply(u,arguments)}}},87878:function(s,l,t){var r=t(72069);s.exports=!r(function(){var n=function(){}.bind();return typeof n!="function"||n.hasOwnProperty("prototype")})},91384:function(s,l,t){var r=t(11286),n=t(85156),e=t(37540),a=t(94879),o=t(22806),u=t(87878),i=Function,v=r([].concat),f=r([].join),c={},d=function(h,g,p){if(!a(c,g)){for(var y=[],m=0;m<g;m++)y[m]="a["+m+"]";c[g]=i("C,a","return new C("+f(y,",")+")")}return c[g](h,p)};s.exports=u?i.bind:function(g){var p=n(this),y=p.prototype,m=o(arguments,1),I=function(){var S=v(m,o(arguments));return this instanceof I?d(p,S.length,S):p.apply(g,S)};return e(y)&&(I.prototype=y),I}},96499:function(s,l,t){var r=t(87878),n=Function.prototype.call;s.exports=r?n.bind(n):function(){return n.apply(n,arguments)}},86588:function(s,l,t){var r=t(92986),n=t(94879),e=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,o=n(e,"name"),u=o&&function(){}.name==="something",i=o&&(!r||r&&a(e,"name").configurable);s.exports={EXISTS:o,PROPER:u,CONFIGURABLE:i}},84756:function(s,l,t){var r=t(11286),n=t(85156);s.exports=function(e,a,o){try{return r(n(Object.getOwnPropertyDescriptor(e,a)[o]))}catch(u){}}},77422:function(s,l,t){var r=t(14274),n=t(11286);s.exports=function(e){if(r(e)==="Function")return n(e)}},11286:function(s,l,t){var r=t(87878),n=Function.prototype,e=n.call,a=r&&n.bind.bind(e,e);s.exports=r?a:function(o){return function(){return e.apply(o,arguments)}}},81191:function(s,l,t){var r=t(34246),n=t(91707);s.exports=function(e){if(n){try{return r.process.getBuiltinModule(e)}catch(a){}try{return Function('return require("'+e+'")')()}catch(a){}}}},65470:function(s,l,t){var r=t(34246);s.exports=function(n,e){var a=r[n],o=a&&a.prototype;return o&&o[e]}},38941:function(s,l,t){var r=t(34246),n=t(23583),e=function(a){return n(a)?a:void 0};s.exports=function(a,o){return arguments.length<2?e(r[a]):r[a]&&r[a][o]}},10613:function(s){s.exports=function(l){return{iterator:l,next:l.next,done:!1}}},12124:function(s,l,t){var r=t(96499),n=t(25001),e=t(10613),a=t(81077);s.exports=function(o,u){(!u||typeof o!="string")&&n(o);var i=a(o);return e(n(i!==void 0?r(i,o):o))}},81077:function(s,l,t){var r=t(9205),n=t(10512),e=t(5683),a=t(29107),o=t(18565),u=o("iterator");s.exports=function(i){if(!e(i))return n(i,u)||n(i,"@@iterator")||a[r(i)]}},90619:function(s,l,t){var r=t(96499),n=t(85156),e=t(25001),a=t(82453),o=t(81077),u=TypeError;s.exports=function(i,v){var f=arguments.length<2?o(i):v;if(n(f))return e(r(f,i));throw new u(a(i)+" is not iterable")}},10443:function(s,l,t){var r=t(11286),n=t(3438),e=t(23583),a=t(14274),o=t(17361),u=r([].push);s.exports=function(i){if(e(i))return i;if(n(i)){for(var v=i.length,f=[],c=0;c<v;c++){var d=i[c];typeof d=="string"?u(f,d):(typeof d=="number"||a(d)==="Number"||a(d)==="String")&&u(f,o(d))}var h=f.length,g=!0;return function(p,y){if(g)return g=!1,y;if(n(this))return y;for(var m=0;m<h;m++)if(f[m]===p)return y}}}},10512:function(s,l,t){var r=t(85156),n=t(5683);s.exports=function(e,a){var o=e[a];return n(o)?void 0:r(o)}},65263:function(s,l,t){var r=t(85156),n=t(25001),e=t(96499),a=t(12105),o=t(10613),u="Invalid size",i=RangeError,v=TypeError,f=Math.max,c=function(d,h){this.set=d,this.size=f(h,0),this.has=r(d.has),this.keys=r(d.keys)};c.prototype={getIterator:function(){return o(n(e(this.keys,this.set)))},includes:function(d){return e(this.has,this.set,d)}},s.exports=function(d){n(d);var h=+d.size;if(h!==h)throw new v(u);var g=a(h);if(g<0)throw new i(u);return new c(d,g)}},38368:function(s,l,t){var r=t(11286),n=t(49671),e=Math.floor,a=r("".charAt),o=r("".replace),u=r("".slice),i=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,v=/\$([$&'`]|\d{1,2})/g;s.exports=function(f,c,d,h,g,p){var y=d+f.length,m=h.length,I=v;return g!==void 0&&(g=n(g),I=i),o(p,I,function(x,S){var T;switch(a(S,0)){case"$":return"$";case"&":return f;case"`":return u(c,0,d);case"'":return u(c,y);case"<":T=g[u(S,1,-1)];break;default:var E=+S;if(E===0)return x;if(E>m){var O=e(E/10);return O===0?x:O<=m?h[O-1]===void 0?a(S,1):h[O-1]+a(S,1):x}T=h[E-1]}return T===void 0?"":T})}},34246:function(s){var l=function(t){return t&&t.Math===Math&&t};s.exports=l(typeof globalThis=="object"&&globalThis)||l(typeof window=="object"&&window)||l(typeof self=="object"&&self)||l(typeof global=="object"&&global)||l(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},94879:function(s,l,t){var r=t(11286),n=t(49671),e=r({}.hasOwnProperty);s.exports=Object.hasOwn||function(o,u){return e(n(o),u)}},19423:function(s){s.exports={}},99095:function(s){s.exports=function(l,t){try{arguments.length===1?console.error(l):console.error(l,t)}catch(r){}}},96439:function(s,l,t){var r=t(38941);s.exports=r("document","documentElement")},52515:function(s,l,t){var r=t(92986),n=t(72069),e=t(85501);s.exports=!r&&!n(function(){return Object.defineProperty(e("div"),"a",{get:function(){return 7}}).a!==7})},25212:function(s){var l=Array,t=Math.abs,r=Math.pow,n=Math.floor,e=Math.log,a=Math.LN2,o=function(i,v,f){var c=l(f),d=f*8-v-1,h=(1<<d)-1,g=h>>1,p=v===23?r(2,-24)-r(2,-77):0,y=i<0||i===0&&1/i<0?1:0,m=0,I,x,S;for(i=t(i),i!==i||i===1/0?(x=i!==i?1:0,I=h):(I=n(e(i)/a),S=r(2,-I),i*S<1&&(I--,S*=2),I+g>=1?i+=p/S:i+=p*r(2,1-g),i*S>=2&&(I++,S/=2),I+g>=h?(x=0,I=h):I+g>=1?(x=(i*S-1)*r(2,v),I+=g):(x=i*r(2,g-1)*r(2,v),I=0));v>=8;)c[m++]=x&255,x/=256,v-=8;for(I=I<<v|x,d+=v;d>0;)c[m++]=I&255,I/=256,d-=8;return c[m-1]|=y*128,c},u=function(i,v){var f=i.length,c=f*8-v-1,d=(1<<c)-1,h=d>>1,g=c-7,p=f-1,y=i[p--],m=y&127,I;for(y>>=7;g>0;)m=m*256+i[p--],g-=8;for(I=m&(1<<-g)-1,m>>=-g,g+=v;g>0;)I=I*256+i[p--],g-=8;if(m===0)m=1-h;else{if(m===d)return I?NaN:y?-1/0:1/0;I+=r(2,v),m-=h}return(y?-1:1)*I*r(2,m-v)};s.exports={pack:o,unpack:u}},72181:function(s,l,t){var r=t(11286),n=t(72069),e=t(14274),a=Object,o=r("".split);s.exports=n(function(){return!a("z").propertyIsEnumerable(0)})?function(u){return e(u)==="String"?o(u,""):a(u)}:a},32345:function(s,l,t){var r=t(23583),n=t(37540),e=t(15861);s.exports=function(a,o,u){var i,v;return e&&r(i=o.constructor)&&i!==u&&n(v=i.prototype)&&v!==u.prototype&&e(a,v),a}},84352:function(s,l,t){var r=t(11286),n=t(23583),e=t(70443),a=r(Function.toString);n(e.inspectSource)||(e.inspectSource=function(o){return a(o)}),s.exports=e.inspectSource},31486:function(s,l,t){var r=t(37540),n=t(90809);s.exports=function(e,a){r(a)&&"cause"in a&&n(e,"cause",a.cause)}},31853:function(s,l,t){var r=t(14304),n=t(11286),e=t(19423),a=t(37540),o=t(94879),u=t(7831).f,i=t(83258),v=t(92880),f=t(28174),c=t(36374),d=t(27534),h=!1,g=c("meta"),p=0,y=function(E){u(E,g,{value:{objectID:"O"+p++,weakData:{}}})},m=function(E,O){if(!a(E))return typeof E=="symbol"?E:(typeof E=="string"?"S":"P")+E;if(!o(E,g)){if(!f(E))return"F";if(!O)return"E";y(E)}return E[g].objectID},I=function(E,O){if(!o(E,g)){if(!f(E))return!0;if(!O)return!1;y(E)}return E[g].weakData},x=function(E){return d&&h&&f(E)&&!o(E,g)&&y(E),E},S=function(){T.enable=function(){},h=!0;var E=i.f,O=n([].splice),A={};A[g]=1,E(A).length&&(i.f=function(C){for(var P=E(C),N=0,$=P.length;N<$;N++)if(P[N]===g){O(P,N,1);break}return P},r({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:v.f}))},T=s.exports={enable:S,fastKey:m,getWeakData:I,onFreeze:x};e[g]=!0},82367:function(s,l,t){var r=t(42960),n=t(34246),e=t(37540),a=t(90809),o=t(94879),u=t(70443),i=t(44869),v=t(19423),f="Object already initialized",c=n.TypeError,d=n.WeakMap,h,g,p,y=function(S){return p(S)?g(S):h(S,{})},m=function(S){return function(T){var E;if(!e(T)||(E=g(T)).type!==S)throw new c("Incompatible receiver, "+S+" required");return E}};if(r||u.state){var I=u.state||(u.state=new d);I.get=I.get,I.has=I.has,I.set=I.set,h=function(S,T){if(I.has(S))throw new c(f);return T.facade=S,I.set(S,T),T},g=function(S){return I.get(S)||{}},p=function(S){return I.has(S)}}else{var x=i("state");v[x]=!0,h=function(S,T){if(o(S,x))throw new c(f);return T.facade=S,a(S,x,T),T},g=function(S){return o(S,x)?S[x]:{}},p=function(S){return o(S,x)}}s.exports={set:h,get:g,has:p,enforce:y,getterFor:m}},48199:function(s,l,t){var r=t(18565),n=t(29107),e=r("iterator"),a=Array.prototype;s.exports=function(o){return o!==void 0&&(n.Array===o||a[e]===o)}},3438:function(s,l,t){var r=t(14274);s.exports=Array.isArray||function(e){return r(e)==="Array"}},77129:function(s,l,t){var r=t(9205);s.exports=function(n){var e=r(n);return e==="BigInt64Array"||e==="BigUint64Array"}},23583:function(s){var l=typeof document=="object"&&document.all;s.exports=typeof l=="undefined"&&l!==void 0?function(t){return typeof t=="function"||t===l}:function(t){return typeof t=="function"}},11051:function(s,l,t){var r=t(11286),n=t(72069),e=t(23583),a=t(9205),o=t(38941),u=t(84352),i=function(){},v=o("Reflect","construct"),f=/^\s*(?:class|function)\b/,c=r(f.exec),d=!f.test(i),h=function(y){if(!e(y))return!1;try{return v(i,[],y),!0}catch(m){return!1}},g=function(y){if(!e(y))return!1;switch(a(y)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return d||!!c(f,u(y))}catch(m){return!0}};g.sham=!0,s.exports=!v||n(function(){var p;return h(h.call)||!h(Object)||!h(function(){p=!0})||p})?g:h},69745:function(s,l,t){var r=t(94879);s.exports=function(n){return n!==void 0&&(r(n,"value")||r(n,"writable"))}},13278:function(s,l,t){var r=t(72069),n=t(23583),e=/#|\.prototype\./,a=function(f,c){var d=u[o(f)];return d===v?!0:d===i?!1:n(c)?r(c):!!c},o=a.normalize=function(f){return String(f).replace(e,".").toLowerCase()},u=a.data={},i=a.NATIVE="N",v=a.POLYFILL="P";s.exports=a},613:function(s,l,t){var r=t(37540),n=Math.floor;s.exports=Number.isInteger||function(a){return!r(a)&&isFinite(a)&&n(a)===a}},5683:function(s){s.exports=function(l){return l==null}},37540:function(s,l,t){var r=t(23583);s.exports=function(n){return typeof n=="object"?n!==null:r(n)}},52427:function(s,l,t){var r=t(37540);s.exports=function(n){return r(n)||n===null}},70457:function(s){s.exports=!1},11566:function(s,l,t){var r=t(37540),n=t(14274),e=t(18565),a=e("match");s.exports=function(o){var u;return r(o)&&((u=o[a])!==void 0?!!u:n(o)==="RegExp")}},491:function(s,l,t){var r=t(38941),n=t(23583),e=t(95307),a=t(50234),o=Object;s.exports=a?function(u){return typeof u=="symbol"}:function(u){var i=r("Symbol");return n(i)&&e(i.prototype,o(u))}},9573:function(s,l,t){var r=t(96499);s.exports=function(n,e,a){for(var o=a?n:n.iterator,u=n.next,i,v;!(i=r(u,o)).done;)if(v=e(i.value),v!==void 0)return v}},55902:function(s,l,t){var r=t(45526),n=t(96499),e=t(25001),a=t(82453),o=t(48199),u=t(82628),i=t(95307),v=t(90619),f=t(81077),c=t(99797),d=TypeError,h=function(p,y){this.stopped=p,this.result=y},g=h.prototype;s.exports=function(p,y,m){var I=m&&m.that,x=!!(m&&m.AS_ENTRIES),S=!!(m&&m.IS_RECORD),T=!!(m&&m.IS_ITERATOR),E=!!(m&&m.INTERRUPTED),O=r(y,I),A,C,P,N,$,U,D,F=function(j){return A&&c(A,"normal",j),new h(!0,j)},L=function(j){return x?(e(j),E?O(j[0],j[1],F):O(j[0],j[1])):E?O(j,F):O(j)};if(S)A=p.iterator;else if(T)A=p;else{if(C=f(p),!C)throw new d(a(p)+" is not iterable");if(o(C)){for(P=0,N=u(p);N>P;P++)if($=L(p[P]),$&&i(g,$))return $;return new h(!1)}A=v(p,C)}for(U=S?p.next:A.next;!(D=n(U,A)).done;){try{$=L(D.value)}catch(j){c(A,"throw",j)}if(typeof $=="object"&&$&&i(g,$))return $}return new h(!1)}},99797:function(s,l,t){var r=t(96499),n=t(25001),e=t(10512);s.exports=function(a,o,u){var i,v;n(a);try{if(i=e(a,"return"),!i){if(o==="throw")throw u;return u}i=r(i,a)}catch(f){v=!0,i=f}if(o==="throw")throw u;if(v)throw i;return n(i),u}},26820:function(s,l,t){var r=t(24519).IteratorPrototype,n=t(5406),e=t(18526),a=t(78401),o=t(29107),u=function(){return this};s.exports=function(i,v,f,c){var d=v+" Iterator";return i.prototype=n(r,{next:e(+!c,f)}),a(i,d,!1,!0),o[d]=u,i}},44736:function(s,l,t){var r=t(96499),n=t(5406),e=t(90809),a=t(2725),o=t(18565),u=t(82367),i=t(10512),v=t(24519).IteratorPrototype,f=t(10659),c=t(99797),d=o("toStringTag"),h="IteratorHelper",g="WrapForValidIterator",p=u.set,y=function(x){var S=u.getterFor(x?g:h);return a(n(v),{next:function(){var E=S(this);if(x)return E.nextHandler();try{var O=E.done?void 0:E.nextHandler();return f(O,E.done)}catch(A){throw E.done=!0,A}},return:function(){var T=S(this),E=T.iterator;if(T.done=!0,x){var O=i(E,"return");return O?r(O,E):f(void 0,!0)}if(T.inner)try{c(T.inner.iterator,"normal")}catch(A){return c(E,"throw",A)}return E&&c(E,"normal"),f(void 0,!0)}})},m=y(!0),I=y(!1);e(I,d,"Iterator Helper"),s.exports=function(x,S){var T=function(O,A){A?(A.iterator=O.iterator,A.next=O.next):A=O,A.type=S?g:h,A.nextHandler=x,A.counter=0,A.done=!1,p(this,A)};return T.prototype=S?m:I,T}},10218:function(s,l,t){var r=t(14304),n=t(96499),e=t(70457),a=t(86588),o=t(23583),u=t(26820),i=t(26313),v=t(15861),f=t(78401),c=t(90809),d=t(16142),h=t(18565),g=t(29107),p=t(24519),y=a.PROPER,m=a.CONFIGURABLE,I=p.IteratorPrototype,x=p.BUGGY_SAFARI_ITERATORS,S=h("iterator"),T="keys",E="values",O="entries",A=function(){return this};s.exports=function(C,P,N,$,U,D,F){u(N,P,$);var L=function(mt){if(mt===U&&z)return z;if(!x&&mt&&mt in b)return b[mt];switch(mt){case T:return function(){return new N(this,mt)};case E:return function(){return new N(this,mt)};case O:return function(){return new N(this,mt)}}return function(){return new N(this)}},j=P+" Iterator",W=!1,b=C.prototype,K=b[S]||b["@@iterator"]||U&&b[U],z=!x&&K||L(U),it=P==="Array"&&b.entries||K,et,lt,pt;if(it&&(et=i(it.call(new C)),et!==Object.prototype&&et.next&&(!e&&i(et)!==I&&(v?v(et,I):o(et[S])||d(et,S,A)),f(et,j,!0,!0),e&&(g[j]=A))),y&&U===E&&K&&K.name!==E&&(!e&&m?c(b,"name",E):(W=!0,z=function(){return n(K,this)})),U)if(lt={values:L(E),keys:D?z:L(T),entries:L(O)},F)for(pt in lt)(x||W||!(pt in b))&&d(b,pt,lt[pt]);else r({target:P,proto:!0,forced:x||W},lt);return(!e||F)&&b[S]!==z&&d(b,S,z,{name:U}),g[P]=z,lt}},96191:function(s,l,t){var r=t(96499),n=t(85156),e=t(25001),a=t(10613),o=t(44736),u=t(39969),i=o(function(){var v=this.iterator,f=e(r(this.next,v)),c=this.done=!!f.done;if(!c)return u(v,this.mapper,[f.value,this.counter++],!0)});s.exports=function(f){return e(this),n(f),new i(a(this),{mapper:f})}},24519:function(s,l,t){var r=t(72069),n=t(23583),e=t(37540),a=t(5406),o=t(26313),u=t(16142),i=t(18565),v=t(70457),f=i("iterator"),c=!1,d,h,g;[].keys&&(g=[].keys(),"next"in g?(h=o(o(g)),h!==Object.prototype&&(d=h)):c=!0);var p=!e(d)||r(function(){var y={};return d[f].call(y)!==y});p?d={}:v&&(d=a(d)),n(d[f])||u(d,f,function(){return this}),s.exports={IteratorPrototype:d,BUGGY_SAFARI_ITERATORS:c}},29107:function(s){s.exports={}},82628:function(s,l,t){var r=t(45344);s.exports=function(n){return r(n.length)}},13749:function(s,l,t){var r=t(11286),n=t(72069),e=t(23583),a=t(94879),o=t(92986),u=t(86588).CONFIGURABLE,i=t(84352),v=t(82367),f=v.enforce,c=v.get,d=String,h=Object.defineProperty,g=r("".slice),p=r("".replace),y=r([].join),m=o&&!n(function(){return h(function(){},"length",{value:8}).length!==8}),I=String(String).split("String"),x=s.exports=function(S,T,E){g(d(T),0,7)==="Symbol("&&(T="["+p(d(T),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),E&&E.getter&&(T="get "+T),E&&E.setter&&(T="set "+T),(!a(S,"name")||u&&S.name!==T)&&(o?h(S,"name",{value:T,configurable:!0}):S.name=T),m&&E&&a(E,"arity")&&S.length!==E.arity&&h(S,"length",{value:E.arity});try{E&&a(E,"constructor")&&E.constructor?o&&h(S,"prototype",{writable:!1}):S.prototype&&(S.prototype=void 0)}catch(A){}var O=f(S);return a(O,"source")||(O.source=y(I,typeof T=="string"?T:"")),S};Function.prototype.toString=x(function(){return e(this)&&c(this).source||i(this)},"toString")},1774:function(s,l,t){var r=t(11286),n=Map.prototype;s.exports={Map,set:r(n.set),get:r(n.get),has:r(n.has),remove:r(n.delete),proto:n}},98940:function(s){var l=Math.expm1,t=Math.exp;s.exports=!l||l(10)>22025.465794806718||l(10)<22025.465794806718||l(-2e-17)!==-2e-17?function(n){var e=+n;return e===0?e:e>-1e-6&&e<1e-6?e+e*e/2:t(e)-1}:l},10418:function(s,l,t){var r=t(93976),n=Math.abs,e=2220446049250313e-31,a=1/e,o=function(u){return u+a-a};s.exports=function(u,i,v,f){var c=+u,d=n(c),h=r(c);if(d<f)return h*o(d/f/i)*f*i;var g=(1+i/e)*d,p=g-(g-d);return p>v||p!==p?h*(1/0):h*p}},93279:function(s,l,t){var r=t(10418),n=11920928955078125e-23,e=34028234663852886e22,a=11754943508222875e-54;s.exports=Math.fround||function(u){return r(u,n,e,a)}},41942:function(s){var l=Math.log,t=Math.LOG10E;s.exports=Math.log10||function(n){return l(n)*t}},49366:function(s){var l=Math.log;s.exports=Math.log1p||function(r){var n=+r;return n>-1e-8&&n<1e-8?n-n*n/2:l(1+n)}},93976:function(s){s.exports=Math.sign||function(t){var r=+t;return r===0||r!==r?r:r<0?-1:1}},22459:function(s){var l=Math.ceil,t=Math.floor;s.exports=Math.trunc||function(n){var e=+n;return(e>0?t:l)(e)}},9709:function(s,l,t){var r=t(34246),n=t(28167),e=t(45526),a=t(23115).set,o=t(76895),u=t(5286),i=t(7307),v=t(67722),f=t(91707),c=r.MutationObserver||r.WebKitMutationObserver,d=r.document,h=r.process,g=r.Promise,p=n("queueMicrotask"),y,m,I,x,S;if(!p){var T=new o,E=function(){var O,A;for(f&&(O=h.domain)&&O.exit();A=T.get();)try{A()}catch(C){throw T.head&&y(),C}O&&O.enter()};!u&&!f&&!v&&c&&d?(m=!0,I=d.createTextNode(""),new c(E).observe(I,{characterData:!0}),y=function(){I.data=m=!m}):!i&&g&&g.resolve?(x=g.resolve(void 0),x.constructor=g,S=e(x.then,x),y=function(){S(E)}):f?y=function(){h.nextTick(E)}:(a=e(a,r),y=function(){a(E)}),p=function(O){T.head||y(),T.add(O)}}s.exports=p},24649:function(s,l,t){var r=t(85156),n=TypeError,e=function(a){var o,u;this.promise=new a(function(i,v){if(o!==void 0||u!==void 0)throw new n("Bad Promise constructor");o=i,u=v}),this.resolve=r(o),this.reject=r(u)};s.exports.f=function(a){return new e(a)}},15453:function(s,l,t){var r=t(17361);s.exports=function(n,e){return n===void 0?arguments.length<2?"":e:r(n)}},93483:function(s){var l=RangeError;s.exports=function(t){if(t===t)return t;throw new l("NaN is not allowed")}},92337:function(s,l,t){var r=t(11566),n=TypeError;s.exports=function(e){if(r(e))throw new n("The method doesn't accept regular expressions");return e}},98074:function(s,l,t){var r=t(34246),n=r.isFinite;s.exports=Number.isFinite||function(a){return typeof a=="number"&&n(a)}},25838:function(s,l,t){var r=t(34246),n=t(72069),e=t(11286),a=t(17361),o=t(85900).trim,u=t(77082),i=e("".charAt),v=r.parseFloat,f=r.Symbol,c=f&&f.iterator,d=1/v(u+"-0")!==-1/0||c&&!n(function(){v(Object(c))});s.exports=d?function(g){var p=o(a(g)),y=v(p);return y===0&&i(p,0)==="-"?-0:y}:v},23009:function(s,l,t){var r=t(34246),n=t(72069),e=t(11286),a=t(17361),o=t(85900).trim,u=t(77082),i=r.parseInt,v=r.Symbol,f=v&&v.iterator,c=/^[+-]?0x/i,d=e(c.exec),h=i(u+"08")!==8||i(u+"0x16")!==22||f&&!n(function(){i(Object(f))});s.exports=h?function(p,y){var m=o(a(p));return i(m,y>>>0||(d(c,m)?16:10))}:i},16667:function(s,l,t){var r=t(92986),n=t(11286),e=t(96499),a=t(72069),o=t(18350),u=t(24943),i=t(79591),v=t(49671),f=t(72181),c=Object.assign,d=Object.defineProperty,h=n([].concat);s.exports=!c||a(function(){if(r&&c({b:1},c(d({},"a",{enumerable:!0,get:function(){d(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var g={},p={},y=Symbol("assign detection"),m="abcdefghijklmnopqrst";return g[y]=7,m.split("").forEach(function(I){p[I]=I}),c({},g)[y]!==7||o(c({},p)).join("")!==m})?function(p,y){for(var m=v(p),I=arguments.length,x=1,S=u.f,T=i.f;I>x;)for(var E=f(arguments[x++]),O=S?h(o(E),S(E)):o(E),A=O.length,C=0,P;A>C;)P=O[C++],(!r||e(T,E,P))&&(m[P]=E[P]);return m}:c},5406:function(s,l,t){var r=t(25001),n=t(61963),e=t(75785),a=t(19423),o=t(96439),u=t(85501),i=t(44869),v=">",f="<",c="prototype",d="script",h=i("IE_PROTO"),g=function(){},p=function(S){return f+d+v+S+f+"/"+d+v},y=function(S){S.write(p("")),S.close();var T=S.parentWindow.Object;return S=null,T},m=function(){var S=u("iframe"),T="java"+d+":",E;return S.style.display="none",o.appendChild(S),S.src=String(T),E=S.contentWindow.document,E.open(),E.write(p("document.F=Object")),E.close(),E.F},I,x=function(){try{I=new ActiveXObject("htmlfile")}catch(T){}x=typeof document!="undefined"?document.domain&&I?y(I):m():y(I);for(var S=e.length;S--;)delete x[c][e[S]];return x()};a[h]=!0,s.exports=Object.create||function(T,E){var O;return T!==null?(g[c]=r(T),O=new g,g[c]=null,O[h]=T):O=x(),E===void 0?O:n.f(O,E)}},61963:function(s,l,t){var r=t(92986),n=t(356),e=t(7831),a=t(25001),o=t(36859),u=t(18350);l.f=r&&!n?Object.defineProperties:function(v,f){a(v);for(var c=o(f),d=u(f),h=d.length,g=0,p;h>g;)e.f(v,p=d[g++],c[p]);return v}},7831:function(s,l,t){var r=t(92986),n=t(52515),e=t(356),a=t(25001),o=t(50035),u=TypeError,i=Object.defineProperty,v=Object.getOwnPropertyDescriptor,f="enumerable",c="configurable",d="writable";l.f=r?e?function(g,p,y){if(a(g),p=o(p),a(y),typeof g=="function"&&p==="prototype"&&"value"in y&&d in y&&!y[d]){var m=v(g,p);m&&m[d]&&(g[p]=y.value,y={configurable:c in y?y[c]:m[c],enumerable:f in y?y[f]:m[f],writable:!1})}return i(g,p,y)}:i:function(g,p,y){if(a(g),p=o(p),a(y),n)try{return i(g,p,y)}catch(m){}if("get"in y||"set"in y)throw new u("Accessors not supported");return"value"in y&&(g[p]=y.value),g}},71349:function(s,l,t){var r=t(92986),n=t(96499),e=t(79591),a=t(18526),o=t(36859),u=t(50035),i=t(94879),v=t(52515),f=Object.getOwnPropertyDescriptor;l.f=r?f:function(d,h){if(d=o(d),h=u(h),v)try{return f(d,h)}catch(g){}if(i(d,h))return a(!n(e.f,d,h),d[h])}},92880:function(s,l,t){var r=t(14274),n=t(36859),e=t(83258).f,a=t(22806),o=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(i){try{return e(i)}catch(v){return a(o)}};s.exports.f=function(v){return o&&r(v)==="Window"?u(v):e(n(v))}},83258:function(s,l,t){var r=t(6242),n=t(75785),e=n.concat("length","prototype");l.f=Object.getOwnPropertyNames||function(o){return r(o,e)}},24943:function(s,l){l.f=Object.getOwnPropertySymbols},26313:function(s,l,t){var r=t(94879),n=t(23583),e=t(49671),a=t(44869),o=t(87501),u=a("IE_PROTO"),i=Object,v=i.prototype;s.exports=o?i.getPrototypeOf:function(f){var c=e(f);if(r(c,u))return c[u];var d=c.constructor;return n(d)&&c instanceof d?d.prototype:c instanceof i?v:null}},28174:function(s,l,t){var r=t(72069),n=t(37540),e=t(14274),a=t(72058),o=Object.isExtensible,u=r(function(){o(1)});s.exports=u||a?function(v){return!n(v)||a&&e(v)==="ArrayBuffer"?!1:o?o(v):!0}:o},95307:function(s,l,t){var r=t(11286);s.exports=r({}.isPrototypeOf)},6242:function(s,l,t){var r=t(11286),n=t(94879),e=t(36859),a=t(94319).indexOf,o=t(19423),u=r([].push);s.exports=function(i,v){var f=e(i),c=0,d=[],h;for(h in f)!n(o,h)&&n(f,h)&&u(d,h);for(;v.length>c;)n(f,h=v[c++])&&(~a(d,h)||u(d,h));return d}},18350:function(s,l,t){var r=t(6242),n=t(75785);s.exports=Object.keys||function(a){return r(a,n)}},79591:function(s,l){var t={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,n=r&&!t.call({1:2},1);l.f=n?function(a){var o=r(this,a);return!!o&&o.enumerable}:t},57629:function(s,l,t){var r=t(70457),n=t(34246),e=t(72069),a=t(66577);s.exports=r||!e(function(){if(!(a&&a<535)){var o=Math.random();__defineSetter__.call(null,o,function(){}),delete n[o]}})},15861:function(s,l,t){var r=t(84756),n=t(37540),e=t(2068),a=t(53408);s.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var o=!1,u={},i;try{i=r(Object.prototype,"__proto__","set"),i(u,[]),o=u instanceof Array}catch(v){}return function(f,c){return e(f),a(c),n(f)&&(o?i(f,c):f.__proto__=c),f}}():void 0)},8511:function(s,l,t){var r=t(92986),n=t(72069),e=t(11286),a=t(26313),o=t(18350),u=t(36859),i=t(79591).f,v=e(i),f=e([].push),c=r&&n(function(){var h=Object.create(null);return h[2]=2,!v(h,2)}),d=function(h){return function(g){for(var p=u(g),y=o(p),m=c&&a(p)===null,I=y.length,x=0,S=[],T;I>x;)T=y[x++],(!r||(m?T in p:v(p,T)))&&f(S,h?[T,p[T]]:p[T]);return S}};s.exports={entries:d(!0),values:d(!1)}},60105:function(s,l,t){var r=t(67878),n=t(9205);s.exports=r?{}.toString:function(){return"[object "+n(this)+"]"}},2064:function(s,l,t){var r=t(96499),n=t(23583),e=t(37540),a=TypeError;s.exports=function(o,u){var i,v;if(u==="string"&&n(i=o.toString)&&!e(v=r(i,o))||n(i=o.valueOf)&&!e(v=r(i,o))||u!=="string"&&n(i=o.toString)&&!e(v=r(i,o)))return v;throw new a("Can't convert object to primitive value")}},16885:function(s,l,t){var r=t(38941),n=t(11286),e=t(83258),a=t(24943),o=t(25001),u=n([].concat);s.exports=r("Reflect","ownKeys")||function(v){var f=e.f(o(v)),c=a.f;return c?u(f,c(v)):f}},75081:function(s,l,t){var r=t(34246);s.exports=r},67805:function(s){s.exports=function(l){try{return{error:!1,value:l()}}catch(t){return{error:!0,value:t}}}},37130:function(s,l,t){var r=t(34246),n=t(98844),e=t(23583),a=t(13278),o=t(84352),u=t(18565),i=t(21501),v=t(70457),f=t(44241),c=n&&n.prototype,d=u("species"),h=!1,g=e(r.PromiseRejectionEvent),p=a("Promise",function(){var y=o(n),m=y!==String(n);if(!m&&f===66||v&&!(c.catch&&c.finally))return!0;if(!f||f<51||!/native code/.test(y)){var I=new n(function(T){T(1)}),x=function(T){T(function(){},function(){})},S=I.constructor={};if(S[d]=x,h=I.then(function(){})instanceof x,!h)return!0}return!m&&(i==="BROWSER"||i==="DENO")&&!g});s.exports={CONSTRUCTOR:p,REJECTION_EVENT:g,SUBCLASSING:h}},98844:function(s,l,t){var r=t(34246);s.exports=r.Promise},87408:function(s,l,t){var r=t(25001),n=t(37540),e=t(24649);s.exports=function(a,o){if(r(a),n(o)&&o.constructor===a)return o;var u=e.f(a),i=u.resolve;return i(o),u.promise}},26035:function(s,l,t){var r=t(98844),n=t(97494),e=t(37130).CONSTRUCTOR;s.exports=e||!n(function(a){r.all(a).then(void 0,function(){})})},2594:function(s,l,t){var r=t(7831).f;s.exports=function(n,e,a){a in n||r(n,a,{configurable:!0,get:function(){return e[a]},set:function(o){e[a]=o}})}},76895:function(s){var l=function(){this.head=null,this.tail=null};l.prototype={add:function(t){var r={item:t,next:null},n=this.tail;n?n.next=r:this.head=r,this.tail=r},get:function(){var t=this.head;if(t){var r=this.head=t.next;return r===null&&(this.tail=null),t.item}}},s.exports=l},33064:function(s,l,t){var r=t(96499),n=t(25001),e=t(23583),a=t(14274),o=t(44381),u=TypeError;s.exports=function(i,v){var f=i.exec;if(e(f)){var c=r(f,i,v);return c!==null&&n(c),c}if(a(i)==="RegExp")return r(o,i,v);throw new u("RegExp#exec called on incompatible receiver")}},44381:function(s,l,t){var r=t(96499),n=t(11286),e=t(17361),a=t(29833),o=t(39807),u=t(96731),i=t(5406),v=t(82367).get,f=t(76769),c=t(85220),d=u("native-string-replace",String.prototype.replace),h=RegExp.prototype.exec,g=h,p=n("".charAt),y=n("".indexOf),m=n("".replace),I=n("".slice),x=function(){var O=/a/,A=/b*/g;return r(h,O,"a"),r(h,A,"a"),O.lastIndex!==0||A.lastIndex!==0}(),S=o.BROKEN_CARET,T=/()??/.exec("")[1]!==void 0,E=x||T||S||f||c;E&&(g=function(A){var C=this,P=v(C),N=e(A),$=P.raw,U,D,F,L,j,W,b;if($)return $.lastIndex=C.lastIndex,U=r(g,$,N),C.lastIndex=$.lastIndex,U;var K=P.groups,z=S&&C.sticky,it=r(a,C),et=C.source,lt=0,pt=N;if(z&&(it=m(it,"y",""),y(it,"g")===-1&&(it+="g"),pt=I(N,C.lastIndex),C.lastIndex>0&&(!C.multiline||C.multiline&&p(N,C.lastIndex-1)!==` +`)&&(et="(?: "+et+")",pt=" "+pt,lt++),D=new RegExp("^(?:"+et+")",it)),T&&(D=new RegExp("^"+et+"$(?!\\s)",it)),x&&(F=C.lastIndex),L=r(h,z?D:C,pt),z?L?(L.input=I(L.input,lt),L[0]=I(L[0],lt),L.index=C.lastIndex,C.lastIndex+=L[0].length):C.lastIndex=0:x&&L&&(C.lastIndex=C.global?L.index+L[0].length:F),T&&L&&L.length>1&&r(d,L[0],D,function(){for(j=1;j<arguments.length-2;j++)arguments[j]===void 0&&(L[j]=void 0)}),L&&K)for(L.groups=W=i(null),j=0;j<K.length;j++)b=K[j],W[b[0]]=L[b[1]];return L}),s.exports=g},29833:function(s,l,t){var r=t(25001);s.exports=function(){var n=r(this),e="";return n.hasIndices&&(e+="d"),n.global&&(e+="g"),n.ignoreCase&&(e+="i"),n.multiline&&(e+="m"),n.dotAll&&(e+="s"),n.unicode&&(e+="u"),n.unicodeSets&&(e+="v"),n.sticky&&(e+="y"),e}},54932:function(s,l,t){var r=t(96499),n=t(94879),e=t(95307),a=t(29833),o=RegExp.prototype;s.exports=function(u){var i=u.flags;return i===void 0&&!("flags"in o)&&!n(u,"flags")&&e(o,u)?r(a,u):i}},39807:function(s,l,t){var r=t(72069),n=t(34246),e=n.RegExp,a=r(function(){var i=e("a","y");return i.lastIndex=2,i.exec("abcd")!==null}),o=a||r(function(){return!e("a","y").sticky}),u=a||r(function(){var i=e("^r","gy");return i.lastIndex=2,i.exec("str")!==null});s.exports={BROKEN_CARET:u,MISSED_STICKY:o,UNSUPPORTED_Y:a}},76769:function(s,l,t){var r=t(72069),n=t(34246),e=n.RegExp;s.exports=r(function(){var a=e(".","s");return!(a.dotAll&&a.test(` +`)&&a.flags==="s")})},85220:function(s,l,t){var r=t(72069),n=t(34246),e=n.RegExp;s.exports=r(function(){var a=e("(?<a>b)","g");return a.exec("b").groups.a!=="b"||"b".replace(a,"$<a>c")!=="bc"})},2068:function(s,l,t){var r=t(5683),n=TypeError;s.exports=function(e){if(r(e))throw new n("Can't call method on "+e);return e}},28167:function(s,l,t){var r=t(34246),n=t(92986),e=Object.getOwnPropertyDescriptor;s.exports=function(a){if(!n)return r[a];var o=e(r,a);return o&&o.value}},13944:function(s){s.exports=Object.is||function(t,r){return t===r?t!==0||1/t===1/r:t!==t&&r!==r}},9934:function(s,l,t){var r=t(34246),n=t(66543),e=t(23583),a=t(21501),o=t(18257),u=t(22806),i=t(95486),v=r.Function,f=/MSIE .\./.test(o)||a==="BUN"&&function(){var c=r.Bun.version.split(".");return c.length<3||c[0]==="0"&&(c[1]<3||c[1]==="3"&&c[2]==="0")}();s.exports=function(c,d){var h=d?2:1;return f?function(g,p){var y=i(arguments.length,1)>h,m=e(g)?g:v(g),I=y?u(arguments,h):[],x=y?function(){n(m,this,I)}:m;return d?c(x,p):c(x)}:c}},48348:function(s,l,t){var r=t(172),n=t(35051),e=r.Set,a=r.add;s.exports=function(o){var u=new e;return n(o,function(i){a(u,i)}),u}},41754:function(s,l,t){var r=t(76602),n=t(172),e=t(48348),a=t(17768),o=t(65263),u=t(35051),i=t(9573),v=n.has,f=n.remove;s.exports=function(d){var h=r(this),g=o(d),p=e(h);return a(h)<=g.size?u(h,function(y){g.includes(y)&&f(p,y)}):i(g.getIterator(),function(y){v(h,y)&&f(p,y)}),p}},172:function(s,l,t){var r=t(11286),n=Set.prototype;s.exports={Set,add:r(n.add),has:r(n.has),remove:r(n.delete),proto:n}},92292:function(s,l,t){var r=t(76602),n=t(172),e=t(17768),a=t(65263),o=t(35051),u=t(9573),i=n.Set,v=n.add,f=n.has;s.exports=function(d){var h=r(this),g=a(d),p=new i;return e(h)>g.size?u(g.getIterator(),function(y){f(h,y)&&v(p,y)}):o(h,function(y){g.includes(y)&&v(p,y)}),p}},47391:function(s,l,t){var r=t(76602),n=t(172).has,e=t(17768),a=t(65263),o=t(35051),u=t(9573),i=t(99797);s.exports=function(f){var c=r(this),d=a(f);if(e(c)<=d.size)return o(c,function(g){if(d.includes(g))return!1},!0)!==!1;var h=d.getIterator();return u(h,function(g){if(n(c,g))return i(h,"normal",!1)})!==!1}},75492:function(s,l,t){var r=t(76602),n=t(17768),e=t(35051),a=t(65263);s.exports=function(u){var i=r(this),v=a(u);return n(i)>v.size?!1:e(i,function(f){if(!v.includes(f))return!1},!0)!==!1}},1333:function(s,l,t){var r=t(76602),n=t(172).has,e=t(17768),a=t(65263),o=t(9573),u=t(99797);s.exports=function(v){var f=r(this),c=a(v);if(e(f)<c.size)return!1;var d=c.getIterator();return o(d,function(h){if(!n(f,h))return u(d,"normal",!1)})!==!1}},35051:function(s,l,t){var r=t(11286),n=t(9573),e=t(172),a=e.Set,o=e.proto,u=r(o.forEach),i=r(o.keys),v=i(new a).next;s.exports=function(f,c,d){return d?n({iterator:i(f),next:v},c):u(f,c)}},94118:function(s,l,t){var r=t(38941),n=function(e){return{size:e,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}};s.exports=function(e){var a=r("Set");try{new a()[e](n(0));try{return new a()[e](n(-1)),!1}catch(o){return!0}}catch(o){return!1}}},17768:function(s,l,t){var r=t(84756),n=t(172);s.exports=r(n.proto,"size","get")||function(e){return e.size}},36167:function(s,l,t){var r=t(38941),n=t(85500),e=t(18565),a=t(92986),o=e("species");s.exports=function(u){var i=r(u);a&&i&&!i[o]&&n(i,o,{configurable:!0,get:function(){return this}})}},64680:function(s,l,t){var r=t(76602),n=t(172),e=t(48348),a=t(65263),o=t(9573),u=n.add,i=n.has,v=n.remove;s.exports=function(c){var d=r(this),h=a(c).getIterator(),g=e(d);return o(h,function(p){i(d,p)?v(g,p):u(g,p)}),g}},78401:function(s,l,t){var r=t(7831).f,n=t(94879),e=t(18565),a=e("toStringTag");s.exports=function(o,u,i){o&&!i&&(o=o.prototype),o&&!n(o,a)&&r(o,a,{configurable:!0,value:u})}},70402:function(s,l,t){var r=t(76602),n=t(172).add,e=t(48348),a=t(65263),o=t(9573);s.exports=function(i){var v=r(this),f=a(i).getIterator(),c=e(v);return o(f,function(d){n(c,d)}),c}},44869:function(s,l,t){var r=t(96731),n=t(36374),e=r("keys");s.exports=function(a){return e[a]||(e[a]=n(a))}},70443:function(s,l,t){var r=t(70457),n=t(34246),e=t(36003),a="__core-js_shared__",o=s.exports=n[a]||e(a,{});(o.versions||(o.versions=[])).push({version:"3.39.0",mode:r?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE",source:"https://github.com/zloirock/core-js"})},96731:function(s,l,t){var r=t(70443);s.exports=function(n,e){return r[n]||(r[n]=e||{})}},16887:function(s,l,t){var r=t(25001),n=t(80042),e=t(5683),a=t(18565),o=a("species");s.exports=function(u,i){var v=r(u).constructor,f;return v===void 0||e(f=r(v)[o])?i:n(f)}},5287:function(s,l,t){var r=t(72069);s.exports=function(n){return r(function(){var e=""[n]('"');return e!==e.toLowerCase()||e.split('"').length>3})}},22149:function(s,l,t){var r=t(11286),n=t(12105),e=t(17361),a=t(2068),o=r("".charAt),u=r("".charCodeAt),i=r("".slice),v=function(f){return function(c,d){var h=e(a(c)),g=n(d),p=h.length,y,m;return g<0||g>=p?f?"":void 0:(y=u(h,g),y<55296||y>56319||g+1===p||(m=u(h,g+1))<56320||m>57343?f?o(h,g):y:f?i(h,g,g+2):(y-55296<<10)+(m-56320)+65536)}};s.exports={codeAt:v(!1),charAt:v(!0)}},36945:function(s,l,t){var r=t(18257);s.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(r)},61607:function(s,l,t){var r=t(11286),n=t(45344),e=t(17361),a=t(79719),o=t(2068),u=r(a),i=r("".slice),v=Math.ceil,f=function(c){return function(d,h,g){var p=e(o(d)),y=n(h),m=p.length,I=g===void 0?" ":e(g),x,S;return y<=m||I===""?p:(x=y-m,S=u(I,v(x/I.length)),S.length>x&&(S=i(S,0,x)),c?p+S:S+p)}};s.exports={start:f(!1),end:f(!0)}},38679:function(s,l,t){var r=t(11286),n=2147483647,e=36,a=1,o=26,u=38,i=700,v=72,f=128,c="-",d=/[^\0-\u007E]/,h=/[.\u3002\uFF0E\uFF61]/g,g="Overflow: input needs wider integers to process",p=e-a,y=RangeError,m=r(h.exec),I=Math.floor,x=String.fromCharCode,S=r("".charCodeAt),T=r([].join),E=r([].push),O=r("".replace),A=r("".split),C=r("".toLowerCase),P=function(D){for(var F=[],L=0,j=D.length;L<j;){var W=S(D,L++);if(W>=55296&&W<=56319&&L<j){var b=S(D,L++);(b&64512)===56320?E(F,((W&1023)<<10)+(b&1023)+65536):(E(F,W),L--)}else E(F,W)}return F},N=function(D){return D+22+75*(D<26)},$=function(D,F,L){var j=0;for(D=L?I(D/i):D>>1,D+=I(D/F);D>p*o>>1;)D=I(D/p),j+=e;return I(j+(p+1)*D/(D+u))},U=function(D){var F=[];D=P(D);var L=D.length,j=f,W=0,b=v,K,z;for(K=0;K<D.length;K++)z=D[K],z<128&&E(F,x(z));var it=F.length,et=it;for(it&&E(F,c);et<L;){var lt=n;for(K=0;K<D.length;K++)z=D[K],z>=j&&z<lt&&(lt=z);var pt=et+1;if(lt-j>I((n-W)/pt))throw new y(g);for(W+=(lt-j)*pt,j=lt,K=0;K<D.length;K++){if(z=D[K],z<j&&++W>n)throw new y(g);if(z===j){for(var mt=W,Bt=e;;){var Ut=Bt<=b?a:Bt>=b+o?o:Bt-b;if(mt<Ut)break;var Nt=mt-Ut,at=e-Ut;E(F,x(N(Ut+Nt%at))),mt=I(Nt/at),Bt+=e}E(F,x(N(mt))),b=$(W,pt,et===it),W=0,et++}}W++,j++}return T(F,"")};s.exports=function(D){var F=[],L=A(O(C(D),h,"."),"."),j,W;for(j=0;j<L.length;j++)W=L[j],E(F,m(d,W)?"xn--"+U(W):W);return T(F,".")}},79719:function(s,l,t){var r=t(12105),n=t(17361),e=t(2068),a=RangeError;s.exports=function(u){var i=n(e(this)),v="",f=r(u);if(f<0||f===1/0)throw new a("Wrong number of repetitions");for(;f>0;(f>>>=1)&&(i+=i))f&1&&(v+=i);return v}},75176:function(s,l,t){var r=t(85900).end,n=t(33328);s.exports=n("trimEnd")?function(){return r(this)}:"".trimEnd},33328:function(s,l,t){var r=t(86588).PROPER,n=t(72069),e=t(77082),a="\u200B\x85\u180E";s.exports=function(o){return n(function(){return!!e[o]()||a[o]()!==a||r&&e[o].name!==o})}},83481:function(s,l,t){var r=t(85900).start,n=t(33328);s.exports=n("trimStart")?function(){return r(this)}:"".trimStart},85900:function(s,l,t){var r=t(11286),n=t(2068),e=t(17361),a=t(77082),o=r("".replace),u=RegExp("^["+a+"]+"),i=RegExp("(^|[^"+a+"])["+a+"]+$"),v=function(f){return function(c){var d=e(n(c));return f&1&&(d=o(d,u,"")),f&2&&(d=o(d,i,"$1")),d}};s.exports={start:v(1),end:v(2),trim:v(3)}},99050:function(s,l,t){var r=t(34246),n=t(72069),e=t(44241),a=t(21501),o=r.structuredClone;s.exports=!!o&&!n(function(){if(a==="DENO"&&e>92||a==="NODE"&&e>94||a==="BROWSER"&&e>97)return!1;var u=new ArrayBuffer(8),i=o(u,{transfer:[u]});return u.byteLength!==0||i.byteLength!==8})},39729:function(s,l,t){var r=t(44241),n=t(72069),e=t(34246),a=e.String;s.exports=!!Object.getOwnPropertySymbols&&!n(function(){var o=Symbol("symbol detection");return!a(o)||!(Object(o)instanceof Symbol)||!Symbol.sham&&r&&r<41})},60796:function(s,l,t){var r=t(96499),n=t(38941),e=t(18565),a=t(16142);s.exports=function(){var o=n("Symbol"),u=o&&o.prototype,i=u&&u.valueOf,v=e("toPrimitive");u&&!u[v]&&a(u,v,function(f){return r(i,this)},{arity:1})}},61190:function(s,l,t){var r=t(39729);s.exports=r&&!!Symbol.for&&!!Symbol.keyFor},23115:function(s,l,t){var r=t(34246),n=t(66543),e=t(45526),a=t(23583),o=t(94879),u=t(72069),i=t(96439),v=t(22806),f=t(85501),c=t(95486),d=t(5286),h=t(91707),g=r.setImmediate,p=r.clearImmediate,y=r.process,m=r.Dispatch,I=r.Function,x=r.MessageChannel,S=r.String,T=0,E={},O="onreadystatechange",A,C,P,N;u(function(){A=r.location});var $=function(L){if(o(E,L)){var j=E[L];delete E[L],j()}},U=function(L){return function(){$(L)}},D=function(L){$(L.data)},F=function(L){r.postMessage(S(L),A.protocol+"//"+A.host)};(!g||!p)&&(g=function(j){c(arguments.length,1);var W=a(j)?j:I(j),b=v(arguments,1);return E[++T]=function(){n(W,void 0,b)},C(T),T},p=function(j){delete E[j]},h?C=function(L){y.nextTick(U(L))}:m&&m.now?C=function(L){m.now(U(L))}:x&&!d?(P=new x,N=P.port2,P.port1.onmessage=D,C=e(N.postMessage,N)):r.addEventListener&&a(r.postMessage)&&!r.importScripts&&A&&A.protocol!=="file:"&&!u(F)?(C=F,r.addEventListener("message",D,!1)):O in f("script")?C=function(L){i.appendChild(f("script"))[O]=function(){i.removeChild(this),$(L)}}:C=function(L){setTimeout(U(L),0)}),s.exports={set:g,clear:p}},34338:function(s,l,t){var r=t(11286);s.exports=r(1 .valueOf)},4652:function(s,l,t){var r=t(12105),n=Math.max,e=Math.min;s.exports=function(a,o){var u=r(a);return u<0?n(u+o,0):e(u,o)}},11344:function(s,l,t){var r=t(89935),n=TypeError;s.exports=function(e){var a=r(e,"number");if(typeof a=="number")throw new n("Can't convert number to bigint");return BigInt(a)}},9450:function(s,l,t){var r=t(12105),n=t(45344),e=RangeError;s.exports=function(a){if(a===void 0)return 0;var o=r(a),u=n(o);if(o!==u)throw new e("Wrong length or index");return u}},36859:function(s,l,t){var r=t(72181),n=t(2068);s.exports=function(e){return r(n(e))}},12105:function(s,l,t){var r=t(22459);s.exports=function(n){var e=+n;return e!==e||e===0?0:r(e)}},45344:function(s,l,t){var r=t(12105),n=Math.min;s.exports=function(e){var a=r(e);return a>0?n(a,9007199254740991):0}},49671:function(s,l,t){var r=t(2068),n=Object;s.exports=function(e){return n(r(e))}},58143:function(s,l,t){var r=t(98072),n=RangeError;s.exports=function(e,a){var o=r(e);if(o%a)throw new n("Wrong offset");return o}},98072:function(s,l,t){var r=t(12105),n=RangeError;s.exports=function(e){var a=r(e);if(a<0)throw new n("The argument can't be less than 0");return a}},89935:function(s,l,t){var r=t(96499),n=t(37540),e=t(491),a=t(10512),o=t(2064),u=t(18565),i=TypeError,v=u("toPrimitive");s.exports=function(f,c){if(!n(f)||e(f))return f;var d=a(f,v),h;if(d){if(c===void 0&&(c="default"),h=r(d,f,c),!n(h)||e(h))return h;throw new i("Can't convert object to primitive value")}return c===void 0&&(c="number"),o(f,c)}},50035:function(s,l,t){var r=t(89935),n=t(491);s.exports=function(e){var a=r(e,"string");return n(a)?a:a+""}},67878:function(s,l,t){var r=t(18565),n=r("toStringTag"),e={};e[n]="z",s.exports=String(e)==="[object z]"},17361:function(s,l,t){var r=t(9205),n=String;s.exports=function(e){if(r(e)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return n(e)}},76517:function(s){var l=Math.round;s.exports=function(t){var r=l(t);return r<0?0:r>255?255:r&255}},82453:function(s){var l=String;s.exports=function(t){try{return l(t)}catch(r){return"Object"}}},80357:function(s,l,t){var r=t(14304),n=t(34246),e=t(96499),a=t(92986),o=t(46868),u=t(88037),i=t(17468),v=t(12833),f=t(18526),c=t(90809),d=t(613),h=t(45344),g=t(9450),p=t(58143),y=t(76517),m=t(50035),I=t(94879),x=t(9205),S=t(37540),T=t(491),E=t(5406),O=t(95307),A=t(15861),C=t(83258).f,P=t(66169),N=t(66655).forEach,$=t(36167),U=t(85500),D=t(7831),F=t(71349),L=t(5220),j=t(82367),W=t(32345),b=j.get,K=j.set,z=j.enforce,it=D.f,et=F.f,lt=n.RangeError,pt=i.ArrayBuffer,mt=pt.prototype,Bt=i.DataView,Ut=u.NATIVE_ARRAY_BUFFER_VIEWS,Nt=u.TYPED_ARRAY_TAG,at=u.TypedArray,ct=u.TypedArrayPrototype,Ot=u.isTypedArray,Ct="BYTES_PER_ELEMENT",It="Wrong length",Ft=function(bt,jt){U(bt,jt,{configurable:!0,get:function(){return b(this)[jt]}})},Wt=function(bt){var jt;return O(mt,bt)||(jt=x(bt))==="ArrayBuffer"||jt==="SharedArrayBuffer"},Kt=function(bt,jt){return Ot(bt)&&!T(jt)&&jt in bt&&d(+jt)&&jt>=0},Gt=function(jt,Lt){return Lt=m(Lt),Kt(jt,Lt)?f(2,jt[Lt]):et(jt,Lt)},Mt=function(jt,Lt,q){return Lt=m(Lt),Kt(jt,Lt)&&S(q)&&I(q,"value")&&!I(q,"get")&&!I(q,"set")&&!q.configurable&&(!I(q,"writable")||q.writable)&&(!I(q,"enumerable")||q.enumerable)?(jt[Lt]=q.value,jt):it(jt,Lt,q)};a?(Ut||(F.f=Gt,D.f=Mt,Ft(ct,"buffer"),Ft(ct,"byteOffset"),Ft(ct,"byteLength"),Ft(ct,"length")),r({target:"Object",stat:!0,forced:!Ut},{getOwnPropertyDescriptor:Gt,defineProperty:Mt}),s.exports=function(bt,jt,Lt){var q=bt.match(/\d+/)[0]/8,st=bt+(Lt?"Clamped":"")+"Array",Y="get"+bt,xt="set"+bt,St=n[st],gt=St,ht=gt&>.prototype,Jt={},Zt=function(k,ot){var J=b(k);return J.view[Y](ot*q+J.byteOffset,!0)},V=function(k,ot,J){var Rt=b(k);Rt.view[xt](ot*q+Rt.byteOffset,Lt?y(J):J,!0)},w=function(k,ot){it(k,ot,{get:function(){return Zt(this,ot)},set:function(J){return V(this,ot,J)},enumerable:!0})};Ut?o&&(gt=jt(function(k,ot,J,Rt){return v(k,ht),W(function(){return S(ot)?Wt(ot)?Rt!==void 0?new St(ot,p(J,q),Rt):J!==void 0?new St(ot,p(J,q)):new St(ot):Ot(ot)?L(gt,ot):e(P,gt,ot):new St(g(ot))}(),k,gt)}),A&&A(gt,at),N(C(St),function(k){k in gt||c(gt,k,St[k])}),gt.prototype=ht):(gt=jt(function(k,ot,J,Rt){v(k,ht);var zt=0,Q=0,vt,ft,dt;if(!S(ot))dt=g(ot),ft=dt*q,vt=new pt(ft);else if(Wt(ot)){vt=ot,Q=p(J,q);var Dt=ot.byteLength;if(Rt===void 0){if(Dt%q)throw new lt(It);if(ft=Dt-Q,ft<0)throw new lt(It)}else if(ft=h(Rt)*q,ft+Q>Dt)throw new lt(It);dt=ft/q}else return Ot(ot)?L(gt,ot):e(P,gt,ot);for(K(k,{buffer:vt,byteOffset:Q,byteLength:ft,length:dt,view:new Bt(vt)});zt<dt;)w(k,zt++)}),A&&A(gt,at),ht=gt.prototype=E(ct)),ht.constructor!==gt&&c(ht,"constructor",gt),z(ht).TypedArrayConstructor=gt,Nt&&c(ht,Nt,st);var tt=gt!==St;Jt[st]=gt,r({global:!0,constructor:!0,forced:tt,sham:!Ut},Jt),Ct in gt||c(gt,Ct,q),Ct in ht||c(ht,Ct,q),$(st)}):s.exports=function(){}},46868:function(s,l,t){var r=t(34246),n=t(72069),e=t(97494),a=t(88037).NATIVE_ARRAY_BUFFER_VIEWS,o=r.ArrayBuffer,u=r.Int8Array;s.exports=!a||!n(function(){u(1)})||!n(function(){new u(-1)})||!e(function(i){new u,new u(null),new u(1.5),new u(i)},!0)||n(function(){return new u(new o(2),1,void 0).length!==1})},39954:function(s,l,t){var r=t(5220),n=t(88037).getTypedArrayConstructor;s.exports=function(e,a){return r(n(e),a)}},66169:function(s,l,t){var r=t(45526),n=t(96499),e=t(80042),a=t(49671),o=t(82628),u=t(90619),i=t(81077),v=t(48199),f=t(77129),c=t(88037).aTypedArrayConstructor,d=t(11344);s.exports=function(g){var p=e(this),y=a(g),m=arguments.length,I=m>1?arguments[1]:void 0,x=I!==void 0,S=i(y),T,E,O,A,C,P,N,$;if(S&&!v(S))for(N=u(y,S),$=N.next,y=[];!(P=n($,N)).done;)y.push(P.value);for(x&&m>2&&(I=r(I,arguments[2])),E=o(y),O=new(c(p))(E),A=f(O),T=0;E>T;T++)C=x?I(y[T],T):y[T],O[T]=A?d(C):+C;return O}},36374:function(s,l,t){var r=t(11286),n=0,e=Math.random(),a=r(1 .toString);s.exports=function(o){return"Symbol("+(o===void 0?"":o)+")_"+a(++n+e,36)}},91918:function(s,l,t){var r=t(72069),n=t(18565),e=t(92986),a=t(70457),o=n("iterator");s.exports=!r(function(){var u=new URL("b?a=1&b=2&c=3","https://a"),i=u.searchParams,v=new URLSearchParams("a=1&a=2&b=3"),f="";return u.pathname="c%20d",i.forEach(function(c,d){i.delete("b"),f+=d+c}),v.delete("a",2),v.delete("b",void 0),a&&(!u.toJSON||!v.has("a",1)||v.has("a",2)||!v.has("a",void 0)||v.has("b"))||!i.size&&(a||!e)||!i.sort||u.href!=="https://a/c%20d?a=1&c=3"||i.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!i[o]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("https://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("https://a#\u0431").hash!=="#%D0%B1"||f!=="a1c3"||new URL("https://x",void 0).host!=="x"})},50234:function(s,l,t){var r=t(39729);s.exports=r&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},356:function(s,l,t){var r=t(92986),n=t(72069);s.exports=r&&n(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},95486:function(s){var l=TypeError;s.exports=function(t,r){if(t<r)throw new l("Not enough arguments");return t}},42960:function(s,l,t){var r=t(34246),n=t(23583),e=r.WeakMap;s.exports=n(e)&&/native code/.test(String(e))},83749:function(s,l,t){var r=t(75081),n=t(94879),e=t(56529),a=t(7831).f;s.exports=function(o){var u=r.Symbol||(r.Symbol={});n(u,o)||a(u,o,{value:e.f(o)})}},56529:function(s,l,t){var r=t(18565);l.f=r},18565:function(s,l,t){var r=t(34246),n=t(96731),e=t(94879),a=t(36374),o=t(39729),u=t(50234),i=r.Symbol,v=n("wks"),f=u?i.for||i:i&&i.withoutSetter||a;s.exports=function(c){return e(v,c)||(v[c]=o&&e(i,c)?i[c]:f("Symbol."+c)),v[c]}},77082:function(s){s.exports=` +\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`},70003:function(s,l,t){var r=t(38941),n=t(94879),e=t(90809),a=t(95307),o=t(15861),u=t(93706),i=t(2594),v=t(32345),f=t(15453),c=t(31486),d=t(97077),h=t(92986),g=t(70457);s.exports=function(p,y,m,I){var x="stackTraceLimit",S=I?2:1,T=p.split("."),E=T[T.length-1],O=r.apply(null,T);if(O){var A=O.prototype;if(!g&&n(A,"cause")&&delete A.cause,!m)return O;var C=r("Error"),P=y(function(N,$){var U=f(I?$:N,void 0),D=I?new O(N):new O;return U!==void 0&&e(D,"message",U),d(D,P,D.stack,2),this&&a(A,this)&&v(D,this,P),arguments.length>S&&c(D,arguments[S]),D});if(P.prototype=A,E!=="Error"?o?o(P,C):u(P,C,{name:!0}):h&&x in O&&(i(P,O,x),i(P,O,"prepareStackTrace")),u(P,O),!g)try{A.name!==E&&e(A,"name",E),A.constructor=P}catch(N){}return P}}},27796:function(s,l,t){var r=t(14304),n=t(38941),e=t(66543),a=t(72069),o=t(70003),u="AggregateError",i=n(u),v=!a(function(){return i([1]).errors[0]!==1})&&a(function(){return i([1],u,{cause:7}).cause!==7});r({global:!0,constructor:!0,arity:2,forced:v},{AggregateError:o(u,function(f){return function(d,h){return e(f,this,arguments)}},v,!0)})},85647:function(s,l,t){var r=t(14304),n=t(95307),e=t(26313),a=t(15861),o=t(93706),u=t(5406),i=t(90809),v=t(18526),f=t(31486),c=t(97077),d=t(55902),h=t(15453),g=t(18565),p=g("toStringTag"),y=Error,m=[].push,I=function(T,E){var O=n(x,this),A;a?A=a(new y,O?e(this):x):(A=O?this:u(x),i(A,p,"Error")),E!==void 0&&i(A,"message",h(E)),c(A,I,A.stack,1),arguments.length>2&&f(A,arguments[2]);var C=[];return d(T,m,{that:C}),i(A,"errors",C),A};a?a(I,y):o(I,y,{name:!0});var x=I.prototype=u(y.prototype,{constructor:v(1,I),message:v(1,""),name:v(1,"AggregateError")});r({global:!0,constructor:!0,arity:2},{AggregateError:I})},42861:function(s,l,t){t(85647)},35473:function(s,l,t){var r=t(14304),n=t(34246),e=t(17468),a=t(36167),o="ArrayBuffer",u=e[o],i=n[o];r({global:!0,constructor:!0,forced:i!==u},{ArrayBuffer:u}),a(o)},35495:function(s,l,t){var r=t(92986),n=t(85500),e=t(30736),a=ArrayBuffer.prototype;r&&!("detached"in a)&&n(a,"detached",{configurable:!0,get:function(){return e(this)}})},4983:function(s,l,t){var r=t(14304),n=t(88037),e=n.NATIVE_ARRAY_BUFFER_VIEWS;r({target:"ArrayBuffer",stat:!0,forced:!e},{isView:n.isView})},6875:function(s,l,t){var r=t(14304),n=t(77422),e=t(72069),a=t(17468),o=t(25001),u=t(4652),i=t(45344),v=a.ArrayBuffer,f=a.DataView,c=f.prototype,d=n(v.prototype.slice),h=n(c.getUint8),g=n(c.setUint8),p=e(function(){return!new v(2).slice(1,void 0).byteLength});r({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:p},{slice:function(m,I){if(d&&I===void 0)return d(o(this),m);for(var x=o(this).byteLength,S=u(m,x),T=u(I===void 0?x:I,x),E=new v(i(T-S)),O=new f(this),A=new f(E),C=0;S<T;)g(A,C++,h(O,S++));return E}})},58594:function(s,l,t){var r=t(14304),n=t(65006);n&&r({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return n(this,arguments.length?arguments[0]:void 0,!1)}})},32790:function(s,l,t){var r=t(14304),n=t(65006);n&&r({target:"ArrayBuffer",proto:!0},{transfer:function(){return n(this,arguments.length?arguments[0]:void 0,!0)}})},1341:function(s,l,t){var r=t(14304),n=t(49671),e=t(82628),a=t(12105),o=t(23811);r({target:"Array",proto:!0},{at:function(i){var v=n(this),f=e(v),c=a(i),d=c>=0?c:f+c;return d<0||d>=f?void 0:v[d]}}),o("at")},98700:function(s,l,t){var r=t(14304),n=t(72069),e=t(3438),a=t(37540),o=t(49671),u=t(82628),i=t(20095),v=t(84082),f=t(62083),c=t(52183),d=t(18565),h=t(44241),g=d("isConcatSpreadable"),p=h>=51||!n(function(){var I=[];return I[g]=!1,I.concat()[0]!==I}),y=function(I){if(!a(I))return!1;var x=I[g];return x!==void 0?!!x:e(I)},m=!p||!c("concat");r({target:"Array",proto:!0,arity:1,forced:m},{concat:function(x){var S=o(this),T=f(S,0),E=0,O,A,C,P,N;for(O=-1,C=arguments.length;O<C;O++)if(N=O===-1?S:arguments[O],y(N))for(P=u(N),i(E+P),A=0;A<P;A++,E++)A in N&&v(T,E,N[A]);else i(E+1),v(T,E++,N);return T.length=E,T}})},65481:function(s,l,t){var r=t(14304),n=t(81499),e=t(23811);r({target:"Array",proto:!0},{copyWithin:n}),e("copyWithin")},46509:function(s,l,t){var r=t(14304),n=t(66655).every,e=t(6148),a=e("every");r({target:"Array",proto:!0,forced:!a},{every:function(u){return n(this,u,arguments.length>1?arguments[1]:void 0)}})},41585:function(s,l,t){var r=t(14304),n=t(43011),e=t(23811);r({target:"Array",proto:!0},{fill:n}),e("fill")},84554:function(s,l,t){var r=t(14304),n=t(66655).filter,e=t(52183),a=e("filter");r({target:"Array",proto:!0,forced:!a},{filter:function(u){return n(this,u,arguments.length>1?arguments[1]:void 0)}})},33818:function(s,l,t){var r=t(14304),n=t(66655).findIndex,e=t(23811),a="findIndex",o=!0;a in[]&&Array(1)[a](function(){o=!1}),r({target:"Array",proto:!0,forced:o},{findIndex:function(i){return n(this,i,arguments.length>1?arguments[1]:void 0)}}),e(a)},2209:function(s,l,t){var r=t(14304),n=t(73849).findLastIndex,e=t(23811);r({target:"Array",proto:!0},{findLastIndex:function(o){return n(this,o,arguments.length>1?arguments[1]:void 0)}}),e("findLastIndex")},64096:function(s,l,t){var r=t(14304),n=t(73849).findLast,e=t(23811);r({target:"Array",proto:!0},{findLast:function(o){return n(this,o,arguments.length>1?arguments[1]:void 0)}}),e("findLast")},36619:function(s,l,t){var r=t(14304),n=t(66655).find,e=t(23811),a="find",o=!0;a in[]&&Array(1)[a](function(){o=!1}),r({target:"Array",proto:!0,forced:o},{find:function(i){return n(this,i,arguments.length>1?arguments[1]:void 0)}}),e(a)},74092:function(s,l,t){var r=t(14304),n=t(53149),e=t(85156),a=t(49671),o=t(82628),u=t(62083);r({target:"Array",proto:!0},{flatMap:function(v){var f=a(this),c=o(f),d;return e(v),d=u(f,0),d.length=n(d,f,f,c,0,1,v,arguments.length>1?arguments[1]:void 0),d}})},91591:function(s,l,t){var r=t(14304),n=t(53149),e=t(49671),a=t(82628),o=t(12105),u=t(62083);r({target:"Array",proto:!0},{flat:function(){var v=arguments.length?arguments[0]:void 0,f=e(this),c=a(f),d=u(f,0);return d.length=n(d,f,f,c,0,v===void 0?1:o(v)),d}})},54703:function(s,l,t){var r=t(14304),n=t(13349);r({target:"Array",proto:!0,forced:[].forEach!==n},{forEach:n})},82936:function(s,l,t){var r=t(14304),n=t(48258),e=t(97494),a=!e(function(o){Array.from(o)});r({target:"Array",stat:!0,forced:a},{from:n})},48493:function(s,l,t){var r=t(14304),n=t(94319).includes,e=t(72069),a=t(23811),o=e(function(){return!Array(1).includes()});r({target:"Array",proto:!0,forced:o},{includes:function(i){return n(this,i,arguments.length>1?arguments[1]:void 0)}}),a("includes")},64730:function(s,l,t){var r=t(14304),n=t(77422),e=t(94319).indexOf,a=t(6148),o=n([].indexOf),u=!!o&&1/o([1],1,-0)<0,i=u||!a("indexOf");r({target:"Array",proto:!0,forced:i},{indexOf:function(f){var c=arguments.length>1?arguments[1]:void 0;return u?o(this,f,c)||0:e(this,f,c)}})},95024:function(s,l,t){var r=t(14304),n=t(3438);r({target:"Array",stat:!0},{isArray:n})},35054:function(s,l,t){var r=t(36859),n=t(23811),e=t(29107),a=t(82367),o=t(7831).f,u=t(10218),i=t(10659),v=t(70457),f=t(92986),c="Array Iterator",d=a.set,h=a.getterFor(c);s.exports=u(Array,"Array",function(p,y){d(this,{type:c,target:r(p),index:0,kind:y})},function(){var p=h(this),y=p.target,m=p.index++;if(!y||m>=y.length)return p.target=null,i(void 0,!0);switch(p.kind){case"keys":return i(m,!1);case"values":return i(y[m],!1)}return i([m,y[m]],!1)},"values");var g=e.Arguments=e.Array;if(n("keys"),n("values"),n("entries"),!v&&f&&g.name!=="values")try{o(g,"name",{value:"values"})}catch(p){}},25460:function(s,l,t){var r=t(14304),n=t(11286),e=t(72181),a=t(36859),o=t(6148),u=n([].join),i=e!==Object,v=i||!o("join",",");r({target:"Array",proto:!0,forced:v},{join:function(c){return u(a(this),c===void 0?",":c)}})},60703:function(s,l,t){var r=t(14304),n=t(58465);r({target:"Array",proto:!0,forced:n!==[].lastIndexOf},{lastIndexOf:n})},90468:function(s,l,t){var r=t(14304),n=t(66655).map,e=t(52183),a=e("map");r({target:"Array",proto:!0,forced:!a},{map:function(u){return n(this,u,arguments.length>1?arguments[1]:void 0)}})},69581:function(s,l,t){var r=t(14304),n=t(72069),e=t(11051),a=t(84082),o=Array,u=n(function(){function i(){}return!(o.of.call(i)instanceof i)});r({target:"Array",stat:!0,forced:u},{of:function(){for(var v=0,f=arguments.length,c=new(e(this)?this:o)(f);f>v;)a(c,v,arguments[v++]);return c.length=f,c}})},720:function(s,l,t){var r=t(14304),n=t(49671),e=t(82628),a=t(2213),o=t(20095),u=t(72069),i=u(function(){return[].push.call({length:4294967296},1)!==4294967297}),v=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(c){return c instanceof TypeError}},f=i||!v();r({target:"Array",proto:!0,arity:1,forced:f},{push:function(d){var h=n(this),g=e(h),p=arguments.length;o(g+p);for(var y=0;y<p;y++)h[g]=arguments[y],g++;return a(h,g),g}})},17289:function(s,l,t){var r=t(14304),n=t(97264).right,e=t(6148),a=t(44241),o=t(91707),u=!o&&a>79&&a<83,i=u||!e("reduceRight");r({target:"Array",proto:!0,forced:i},{reduceRight:function(f){return n(this,f,arguments.length,arguments.length>1?arguments[1]:void 0)}})},11042:function(s,l,t){var r=t(14304),n=t(97264).left,e=t(6148),a=t(44241),o=t(91707),u=!o&&a>79&&a<83,i=u||!e("reduce");r({target:"Array",proto:!0,forced:i},{reduce:function(f){var c=arguments.length;return n(this,f,c,c>1?arguments[1]:void 0)}})},24608:function(s,l,t){var r=t(14304),n=t(11286),e=t(3438),a=n([].reverse),o=[1,2];r({target:"Array",proto:!0,forced:String(o)===String(o.reverse())},{reverse:function(){return e(this)&&(this.length=this.length),a(this)}})},51644:function(s,l,t){var r=t(14304),n=t(3438),e=t(11051),a=t(37540),o=t(4652),u=t(82628),i=t(36859),v=t(84082),f=t(18565),c=t(52183),d=t(22806),h=c("slice"),g=f("species"),p=Array,y=Math.max;r({target:"Array",proto:!0,forced:!h},{slice:function(I,x){var S=i(this),T=u(S),E=o(I,T),O=o(x===void 0?T:x,T),A,C,P;if(n(S)&&(A=S.constructor,e(A)&&(A===p||n(A.prototype))?A=void 0:a(A)&&(A=A[g],A===null&&(A=void 0)),A===p||A===void 0))return d(S,E,O);for(C=new(A===void 0?p:A)(y(O-E,0)),P=0;E<O;E++,P++)E in S&&v(C,P,S[E]);return C.length=P,C}})},88088:function(s,l,t){var r=t(14304),n=t(66655).some,e=t(6148),a=e("some");r({target:"Array",proto:!0,forced:!a},{some:function(u){return n(this,u,arguments.length>1?arguments[1]:void 0)}})},46828:function(s,l,t){var r=t(14304),n=t(11286),e=t(85156),a=t(49671),o=t(82628),u=t(12384),i=t(17361),v=t(72069),f=t(13270),c=t(6148),d=t(507),h=t(17417),g=t(44241),p=t(66577),y=[],m=n(y.sort),I=n(y.push),x=v(function(){y.sort(void 0)}),S=v(function(){y.sort(null)}),T=c("sort"),E=!v(function(){if(g)return g<70;if(!(d&&d>3)){if(h)return!0;if(p)return p<603;var C="",P,N,$,U;for(P=65;P<76;P++){switch(N=String.fromCharCode(P),P){case 66:case 69:case 70:case 72:$=3;break;case 68:case 71:$=4;break;default:$=2}for(U=0;U<47;U++)y.push({k:N+U,v:$})}for(y.sort(function(D,F){return F.v-D.v}),U=0;U<y.length;U++)N=y[U].k.charAt(0),C.charAt(C.length-1)!==N&&(C+=N);return C!=="DGBEFHACIJK"}}),O=x||!S||!T||!E,A=function(C){return function(P,N){return N===void 0?-1:P===void 0?1:C!==void 0?+C(P,N)||0:i(P)>i(N)?1:-1}};r({target:"Array",proto:!0,forced:O},{sort:function(P){P!==void 0&&e(P);var N=a(this);if(E)return P===void 0?m(N):m(N,P);var $=[],U=o(N),D,F;for(F=0;F<U;F++)F in N&&I($,N[F]);for(f($,A(P)),D=o($),F=0;F<D;)N[F]=$[F++];for(;F<U;)u(N,F++);return N}})},90088:function(s,l,t){var r=t(36167);r("Array")},35148:function(s,l,t){var r=t(14304),n=t(49671),e=t(4652),a=t(12105),o=t(82628),u=t(2213),i=t(20095),v=t(62083),f=t(84082),c=t(12384),d=t(52183),h=d("splice"),g=Math.max,p=Math.min;r({target:"Array",proto:!0,forced:!h},{splice:function(m,I){var x=n(this),S=o(x),T=e(m,S),E=arguments.length,O,A,C,P,N,$;for(E===0?O=A=0:E===1?(O=0,A=S-T):(O=E-2,A=p(g(a(I),0),S-T)),i(S+O-A),C=v(x,A),P=0;P<A;P++)N=T+P,N in x&&f(C,P,x[N]);if(C.length=A,O<A){for(P=T;P<S-A;P++)N=P+A,$=P+O,N in x?x[$]=x[N]:c(x,$);for(P=S;P>S-A+O;P--)c(x,P-1)}else if(O>A)for(P=S-A;P>T;P--)N=P+A-1,$=P+O-1,N in x?x[$]=x[N]:c(x,$);for(P=0;P<O;P++)x[P+T]=arguments[P+2];return u(x,S-A+O),C}})},86184:function(s,l,t){var r=t(14304),n=t(61638),e=t(36859),a=t(23811),o=Array;r({target:"Array",proto:!0},{toReversed:function(){return n(e(this),o)}}),a("toReversed")},53983:function(s,l,t){var r=t(14304),n=t(11286),e=t(85156),a=t(36859),o=t(5220),u=t(65470),i=t(23811),v=Array,f=n(u("Array","sort"));r({target:"Array",proto:!0},{toSorted:function(d){d!==void 0&&e(d);var h=a(this),g=o(v,h);return f(g,d)}}),i("toSorted")},42560:function(s,l,t){var r=t(14304),n=t(23811),e=t(20095),a=t(82628),o=t(4652),u=t(36859),i=t(12105),v=Array,f=Math.max,c=Math.min;r({target:"Array",proto:!0},{toSpliced:function(h,g){var p=u(this),y=a(p),m=o(h,y),I=arguments.length,x=0,S,T,E,O;for(I===0?S=T=0:I===1?(S=0,T=y-m):(S=I-2,T=c(f(i(g),0),y-m)),E=e(y+S-T),O=v(E);x<m;x++)O[x]=p[x];for(;x<m+S;x++)O[x]=arguments[x-m+2];for(;x<E;x++)O[x]=p[x+T-S];return O}}),n("toSpliced")},27839:function(s,l,t){var r=t(23811);r("flatMap")},88444:function(s,l,t){var r=t(23811);r("flat")},73051:function(s,l,t){var r=t(14304),n=t(49671),e=t(82628),a=t(2213),o=t(12384),u=t(20095),i=[].unshift(0)!==1,v=function(){try{Object.defineProperty([],"length",{writable:!1}).unshift()}catch(c){return c instanceof TypeError}},f=i||!v();r({target:"Array",proto:!0,arity:1,forced:f},{unshift:function(d){var h=n(this),g=e(h),p=arguments.length;if(p){u(g+p);for(var y=g;y--;){var m=y+p;y in h?h[m]=h[y]:o(h,m)}for(var I=0;I<p;I++)h[I]=arguments[I]}return a(h,g+p)}})},9372:function(s,l,t){var r=t(14304),n=t(72302),e=t(36859),a=Array;r({target:"Array",proto:!0},{with:function(o,u){return n(e(this),a,o,u)}})},77885:function(s,l,t){var r=t(14304),n=t(17468),e=t(3237);r({global:!0,constructor:!0,forced:!e},{DataView:n.DataView})},68575:function(s,l,t){t(77885)},30801:function(s,l,t){var r=t(14304),n=t(11286),e=t(72069),a=e(function(){return new Date(16e11).getYear()!==120}),o=n(Date.prototype.getFullYear);r({target:"Date",proto:!0,forced:a},{getYear:function(){return o(this)-1900}})},90911:function(s,l,t){var r=t(14304),n=t(11286),e=Date,a=n(e.prototype.getTime);r({target:"Date",stat:!0},{now:function(){return a(new e)}})},90429:function(s,l,t){var r=t(14304),n=t(11286),e=t(12105),a=Date.prototype,o=n(a.getTime),u=n(a.setFullYear);r({target:"Date",proto:!0},{setYear:function(v){o(this);var f=e(v),c=f>=0&&f<=99?f+1900:f;return u(this,c)}})},33685:function(s,l,t){var r=t(14304);r({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString})},60086:function(s,l,t){var r=t(14304),n=t(11890);r({target:"Date",proto:!0,forced:Date.prototype.toISOString!==n},{toISOString:n})},96049:function(s,l,t){var r=t(14304),n=t(72069),e=t(49671),a=t(89935),o=n(function(){return new Date(NaN).toJSON()!==null||Date.prototype.toJSON.call({toISOString:function(){return 1}})!==1});r({target:"Date",proto:!0,arity:1,forced:o},{toJSON:function(i){var v=e(this),f=a(v,"number");return typeof f=="number"&&!isFinite(f)?null:v.toISOString()}})},14038:function(s,l,t){var r=t(94879),n=t(16142),e=t(84306),a=t(18565),o=a("toPrimitive"),u=Date.prototype;r(u,o)||n(u,o,e)},55518:function(s,l,t){var r=t(11286),n=t(16142),e=Date.prototype,a="Invalid Date",o="toString",u=r(e[o]),i=r(e.getTime);String(new Date(NaN))!==a&&n(e,o,function(){var f=i(this);return f===f?u(this):a})},81742:function(s,l,t){var r=t(14304),n=t(34246),e=t(66543),a=t(70003),o="WebAssembly",u=n[o],i=new Error("e",{cause:7}).cause!==7,v=function(c,d){var h={};h[c]=a(c,d,i),r({global:!0,constructor:!0,arity:1,forced:i},h)},f=function(c,d){if(u&&u[c]){var h={};h[c]=a(o+"."+c,d,i),r({target:o,stat:!0,constructor:!0,arity:1,forced:i},h)}};v("Error",function(c){return function(h){return e(c,this,arguments)}}),v("EvalError",function(c){return function(h){return e(c,this,arguments)}}),v("RangeError",function(c){return function(h){return e(c,this,arguments)}}),v("ReferenceError",function(c){return function(h){return e(c,this,arguments)}}),v("SyntaxError",function(c){return function(h){return e(c,this,arguments)}}),v("TypeError",function(c){return function(h){return e(c,this,arguments)}}),v("URIError",function(c){return function(h){return e(c,this,arguments)}}),f("CompileError",function(c){return function(h){return e(c,this,arguments)}}),f("LinkError",function(c){return function(h){return e(c,this,arguments)}}),f("RuntimeError",function(c){return function(h){return e(c,this,arguments)}})},8720:function(s,l,t){var r=t(16142),n=t(58434),e=Error.prototype;e.toString!==n&&r(e,"toString",n)},8894:function(s,l,t){var r=t(14304),n=t(11286),e=t(17361),a=n("".charAt),o=n("".charCodeAt),u=n(/./.exec),i=n(1 .toString),v=n("".toUpperCase),f=/[\w*+\-./@]/,c=function(d,h){for(var g=i(d,16);g.length<h;)g="0"+g;return g};r({global:!0},{escape:function(h){for(var g=e(h),p="",y=g.length,m=0,I,x;m<y;)I=a(g,m++),u(f,I)?p+=I:(x=o(I,0),x<256?p+="%"+c(x,2):p+="%u"+v(c(x,4)));return p}})},60628:function(s,l,t){var r=t(14304),n=t(91384);r({target:"Function",proto:!0,forced:Function.bind!==n},{bind:n})},56347:function(s,l,t){var r=t(23583),n=t(37540),e=t(7831),a=t(95307),o=t(18565),u=t(13749),i=o("hasInstance"),v=Function.prototype;i in v||e.f(v,i,{value:u(function(f){if(!r(this)||!n(f))return!1;var c=this.prototype;return n(c)?a(c,f):f instanceof this},i)})},16864:function(s,l,t){var r=t(92986),n=t(86588).EXISTS,e=t(11286),a=t(85500),o=Function.prototype,u=e(o.toString),i=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,v=e(i.exec),f="name";r&&!n&&a(o,f,{configurable:!0,get:function(){try{return v(i,u(this))[1]}catch(c){return""}}})},93819:function(s,l,t){var r=t(14304),n=t(34246);r({global:!0,forced:n.globalThis!==n},{globalThis:n})},11565:function(s,l,t){var r=t(14304),n=t(34246),e=t(12833),a=t(25001),o=t(23583),u=t(26313),i=t(85500),v=t(84082),f=t(72069),c=t(94879),d=t(18565),h=t(24519).IteratorPrototype,g=t(92986),p=t(70457),y="constructor",m="Iterator",I=d("toStringTag"),x=TypeError,S=n[m],T=p||!o(S)||S.prototype!==h||!f(function(){S({})}),E=function(){if(e(this,h),u(this)===h)throw new x("Abstract class Iterator not directly constructable")},O=function(A,C){g?i(h,A,{configurable:!0,get:function(){return C},set:function(P){if(a(this),this===h)throw new x("You can't redefine this property");c(this,A)?this[A]=P:v(this,A,P)}}):h[A]=C};c(h,I)||O(I,m),(T||!c(h,y)||h[y]===Object)&&O(y,E),E.prototype=h,r({global:!0,constructor:!0,forced:T},{Iterator:E})},26668:function(s,l,t){var r=t(14304),n=t(96499),e=t(25001),a=t(10613),o=t(93483),u=t(98072),i=t(44736),v=t(70457),f=i(function(){for(var c=this.iterator,d=this.next,h,g;this.remaining;)if(this.remaining--,h=e(n(d,c)),g=this.done=!!h.done,g)return;if(h=e(n(d,c)),g=this.done=!!h.done,!g)return h.value});r({target:"Iterator",proto:!0,real:!0,forced:v},{drop:function(d){e(this);var h=u(o(+d));return new f(a(this),{remaining:h})}})},46386:function(s,l,t){var r=t(14304),n=t(55902),e=t(85156),a=t(25001),o=t(10613);r({target:"Iterator",proto:!0,real:!0},{every:function(i){a(this),e(i);var v=o(this),f=0;return!n(v,function(c,d){if(!i(c,f++))return d()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},35179:function(s,l,t){var r=t(14304),n=t(96499),e=t(85156),a=t(25001),o=t(10613),u=t(44736),i=t(39969),v=t(70457),f=u(function(){for(var c=this.iterator,d=this.predicate,h=this.next,g,p,y;;){if(g=a(n(h,c)),p=this.done=!!g.done,p)return;if(y=g.value,i(c,d,[y,this.counter++],!0))return y}});r({target:"Iterator",proto:!0,real:!0,forced:v},{filter:function(d){return a(this),e(d),new f(o(this),{predicate:d})}})},20150:function(s,l,t){var r=t(14304),n=t(55902),e=t(85156),a=t(25001),o=t(10613);r({target:"Iterator",proto:!0,real:!0},{find:function(i){a(this),e(i);var v=o(this),f=0;return n(v,function(c,d){if(i(c,f++))return d(c)},{IS_RECORD:!0,INTERRUPTED:!0}).result}})},23001:function(s,l,t){var r=t(14304),n=t(96499),e=t(85156),a=t(25001),o=t(10613),u=t(12124),i=t(44736),v=t(99797),f=t(70457),c=i(function(){for(var d=this.iterator,h=this.mapper,g,p;;){if(p=this.inner)try{if(g=a(n(p.next,p.iterator)),!g.done)return g.value;this.inner=null}catch(y){v(d,"throw",y)}if(g=a(n(this.next,d)),this.done=!!g.done)return;try{this.inner=u(h(g.value,this.counter++),!1)}catch(y){v(d,"throw",y)}}});r({target:"Iterator",proto:!0,real:!0,forced:f},{flatMap:function(h){return a(this),e(h),new c(o(this),{mapper:h,inner:null})}})},40334:function(s,l,t){var r=t(14304),n=t(55902),e=t(85156),a=t(25001),o=t(10613);r({target:"Iterator",proto:!0,real:!0},{forEach:function(i){a(this),e(i);var v=o(this),f=0;n(v,function(c){i(c,f++)},{IS_RECORD:!0})}})},87457:function(s,l,t){var r=t(14304),n=t(96499),e=t(49671),a=t(95307),o=t(24519).IteratorPrototype,u=t(44736),i=t(12124),v=t(70457),f=u(function(){return n(this.next,this.iterator)},!0);r({target:"Iterator",stat:!0,forced:v},{from:function(d){var h=i(typeof d=="string"?e(d):d,!0);return a(o,h.iterator)?h.iterator:new f(h)}})},66699:function(s,l,t){var r=t(14304),n=t(96191),e=t(70457);r({target:"Iterator",proto:!0,real:!0,forced:e},{map:n})},17535:function(s,l,t){var r=t(14304),n=t(55902),e=t(85156),a=t(25001),o=t(10613),u=TypeError;r({target:"Iterator",proto:!0,real:!0},{reduce:function(v){a(this),e(v);var f=o(this),c=arguments.length<2,d=c?void 0:arguments[1],h=0;if(n(f,function(g){c?(c=!1,d=g):d=v(d,g,h),h++},{IS_RECORD:!0}),c)throw new u("Reduce of empty iterator with no initial value");return d}})},48157:function(s,l,t){var r=t(14304),n=t(55902),e=t(85156),a=t(25001),o=t(10613);r({target:"Iterator",proto:!0,real:!0},{some:function(i){a(this),e(i);var v=o(this),f=0;return n(v,function(c,d){if(i(c,f++))return d()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},55338:function(s,l,t){var r=t(14304),n=t(96499),e=t(25001),a=t(10613),o=t(93483),u=t(98072),i=t(44736),v=t(99797),f=t(70457),c=i(function(){var d=this.iterator;if(!this.remaining--)return this.done=!0,v(d,"normal",void 0);var h=e(n(this.next,d)),g=this.done=!!h.done;if(!g)return h.value});r({target:"Iterator",proto:!0,real:!0,forced:f},{take:function(h){e(this);var g=u(o(+h));return new c(a(this),{remaining:g})}})},6644:function(s,l,t){var r=t(14304),n=t(25001),e=t(55902),a=t(10613),o=[].push;r({target:"Iterator",proto:!0,real:!0},{toArray:function(){var i=[];return e(a(n(this)),o,{that:i,IS_RECORD:!0}),i}})},71332:function(s,l,t){var r=t(14304),n=t(38941),e=t(66543),a=t(96499),o=t(11286),u=t(72069),i=t(23583),v=t(491),f=t(22806),c=t(10443),d=t(39729),h=String,g=n("JSON","stringify"),p=o(/./.exec),y=o("".charAt),m=o("".charCodeAt),I=o("".replace),x=o(1 .toString),S=/[\uD800-\uDFFF]/g,T=/^[\uD800-\uDBFF]$/,E=/^[\uDC00-\uDFFF]$/,O=!d||u(function(){var N=n("Symbol")("stringify detection");return g([N])!=="[null]"||g({a:N})!=="{}"||g(Object(N))!=="{}"}),A=u(function(){return g("\uDF06\uD834")!=='"\\udf06\\ud834"'||g("\uDEAD")!=='"\\udead"'}),C=function(N,$){var U=f(arguments),D=c($);if(!(!i(D)&&(N===void 0||v(N))))return U[1]=function(F,L){if(i(D)&&(L=a(D,this,h(F),L)),!v(L))return L},e(g,null,U)},P=function(N,$,U){var D=y(U,$-1),F=y(U,$+1);return p(T,N)&&!p(E,F)||p(E,N)&&!p(T,D)?"\\u"+x(m(N,0),16):N};g&&r({target:"JSON",stat:!0,arity:3,forced:O||A},{stringify:function($,U,D){var F=f(arguments),L=e(O?C:g,null,F);return A&&typeof L=="string"?I(L,S,P):L}})},47269:function(s,l,t){var r=t(34246),n=t(78401);n(r.JSON,"JSON",!0)},87777:function(s,l,t){var r=t(89378),n=t(34440);r("Map",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},n)},22090:function(s,l,t){var r=t(14304),n=t(11286),e=t(85156),a=t(2068),o=t(55902),u=t(1774),i=t(70457),v=t(72069),f=u.Map,c=u.has,d=u.get,h=u.set,g=n([].push),p=i||v(function(){return f.groupBy("ab",function(y){return y}).get("a").length!==1});r({target:"Map",stat:!0,forced:i||p},{groupBy:function(m,I){a(m),e(I);var x=new f,S=0;return o(m,function(T){var E=I(T,S++);c(x,E)?g(d(x,E),T):h(x,E,[T])}),x}})},25627:function(s,l,t){t(87777)},9839:function(s,l,t){var r=t(14304),n=t(49366),e=Math.acosh,a=Math.log,o=Math.sqrt,u=Math.LN2,i=!e||Math.floor(e(Number.MAX_VALUE))!==710||e(1/0)!==1/0;r({target:"Math",stat:!0,forced:i},{acosh:function(f){var c=+f;return c<1?NaN:c>9490626562425156e-8?a(c)+u:n(c-1+o(c-1)*o(c+1))}})},15656:function(s,l,t){var r=t(14304),n=Math.asinh,e=Math.log,a=Math.sqrt;function o(i){var v=+i;return!isFinite(v)||v===0?v:v<0?-o(-v):e(v+a(v*v+1))}var u=!(n&&1/n(0)>0);r({target:"Math",stat:!0,forced:u},{asinh:o})},22091:function(s,l,t){var r=t(14304),n=Math.atanh,e=Math.log,a=!(n&&1/n(-0)<0);r({target:"Math",stat:!0,forced:a},{atanh:function(u){var i=+u;return i===0?i:e((1+i)/(1-i))/2}})},2886:function(s,l,t){var r=t(14304),n=t(93976),e=Math.abs,a=Math.pow;r({target:"Math",stat:!0},{cbrt:function(u){var i=+u;return n(i)*a(e(i),.3333333333333333)}})},25895:function(s,l,t){var r=t(14304),n=Math.floor,e=Math.log,a=Math.LOG2E;r({target:"Math",stat:!0},{clz32:function(u){var i=u>>>0;return i?31-n(e(i+.5)*a):32}})},24228:function(s,l,t){var r=t(14304),n=t(98940),e=Math.cosh,a=Math.abs,o=Math.E,u=!e||e(710)===1/0;r({target:"Math",stat:!0,forced:u},{cosh:function(v){var f=n(a(v)-1)+1;return(f+1/(f*o*o))*(o/2)}})},79488:function(s,l,t){var r=t(14304),n=t(98940);r({target:"Math",stat:!0,forced:n!==Math.expm1},{expm1:n})},75987:function(s,l,t){var r=t(14304),n=t(93279);r({target:"Math",stat:!0},{fround:n})},81555:function(s,l,t){var r=t(14304),n=Math.hypot,e=Math.abs,a=Math.sqrt,o=!!n&&n(1/0,NaN)!==1/0;r({target:"Math",stat:!0,arity:2,forced:o},{hypot:function(i,v){for(var f=0,c=0,d=arguments.length,h=0,g,p;c<d;)g=e(arguments[c++]),h<g?(p=h/g,f=f*p*p+1,h=g):g>0?(p=g/h,f+=p*p):f+=g;return h===1/0?1/0:h*a(f)}})},87854:function(s,l,t){var r=t(14304),n=t(72069),e=Math.imul,a=n(function(){return e(4294967295,5)!==-5||e.length!==2});r({target:"Math",stat:!0,forced:a},{imul:function(u,i){var v=65535,f=+u,c=+i,d=v&f,h=v&c;return 0|d*h+((v&f>>>16)*h+d*(v&c>>>16)<<16>>>0)}})},35074:function(s,l,t){var r=t(14304),n=t(41942);r({target:"Math",stat:!0},{log10:n})},50946:function(s,l,t){var r=t(14304),n=t(49366);r({target:"Math",stat:!0},{log1p:n})},29417:function(s,l,t){var r=t(14304),n=Math.log,e=Math.LN2;r({target:"Math",stat:!0},{log2:function(o){return n(o)/e}})},80628:function(s,l,t){var r=t(14304),n=t(93976);r({target:"Math",stat:!0},{sign:n})},74375:function(s,l,t){var r=t(14304),n=t(72069),e=t(98940),a=Math.abs,o=Math.exp,u=Math.E,i=n(function(){return Math.sinh(-2e-17)!==-2e-17});r({target:"Math",stat:!0,forced:i},{sinh:function(f){var c=+f;return a(c)<1?(e(c)-e(-c))/2:(o(c-1)-o(-c-1))*(u/2)}})},29708:function(s,l,t){var r=t(14304),n=t(98940),e=Math.exp;r({target:"Math",stat:!0},{tanh:function(o){var u=+o,i=n(u),v=n(-u);return i===1/0?1:v===1/0?-1:(i-v)/(e(u)+e(-u))}})},93449:function(s,l,t){var r=t(78401);r(Math,"Math",!0)},9111:function(s,l,t){var r=t(14304),n=t(22459);r({target:"Math",stat:!0},{trunc:n})},83514:function(s,l,t){var r=t(14304),n=t(70457),e=t(92986),a=t(34246),o=t(75081),u=t(11286),i=t(13278),v=t(94879),f=t(32345),c=t(95307),d=t(491),h=t(89935),g=t(72069),p=t(83258).f,y=t(71349).f,m=t(7831).f,I=t(34338),x=t(85900).trim,S="Number",T=a[S],E=o[S],O=T.prototype,A=a.TypeError,C=u("".slice),P=u("".charCodeAt),N=function(j){var W=h(j,"number");return typeof W=="bigint"?W:$(W)},$=function(j){var W=h(j,"number"),b,K,z,it,et,lt,pt,mt;if(d(W))throw new A("Cannot convert a Symbol value to a number");if(typeof W=="string"&&W.length>2){if(W=x(W),b=P(W,0),b===43||b===45){if(K=P(W,2),K===88||K===120)return NaN}else if(b===48){switch(P(W,1)){case 66:case 98:z=2,it=49;break;case 79:case 111:z=8,it=55;break;default:return+W}for(et=C(W,2),lt=et.length,pt=0;pt<lt;pt++)if(mt=P(et,pt),mt<48||mt>it)return NaN;return parseInt(et,z)}}return+W},U=i(S,!T(" 0o1")||!T("0b1")||T("+0x1")),D=function(j){return c(O,j)&&g(function(){I(j)})},F=function(W){var b=arguments.length<1?0:T(N(W));return D(this)?f(Object(b),this,F):b};F.prototype=O,U&&!n&&(O.constructor=F),r({global:!0,constructor:!0,wrap:!0,forced:U},{Number:F});var L=function(j,W){for(var b=e?p(W):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),K=0,z;b.length>K;K++)v(W,z=b[K])&&!v(j,z)&&m(j,z,y(W,z))};n&&E&&L(o[S],E),(U||n)&&L(o[S],T)},15096:function(s,l,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},59590:function(s,l,t){var r=t(14304),n=t(98074);r({target:"Number",stat:!0},{isFinite:n})},99663:function(s,l,t){var r=t(14304),n=t(613);r({target:"Number",stat:!0},{isInteger:n})},89988:function(s,l,t){var r=t(14304);r({target:"Number",stat:!0},{isNaN:function(e){return e!==e}})},54427:function(s,l,t){var r=t(14304),n=t(613),e=Math.abs;r({target:"Number",stat:!0},{isSafeInteger:function(o){return n(o)&&e(o)<=9007199254740991}})},67895:function(s,l,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},57909:function(s,l,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},83938:function(s,l,t){var r=t(14304),n=t(25838);r({target:"Number",stat:!0,forced:Number.parseFloat!==n},{parseFloat:n})},55461:function(s,l,t){var r=t(14304),n=t(23009);r({target:"Number",stat:!0,forced:Number.parseInt!==n},{parseInt:n})},97339:function(s,l,t){var r=t(14304),n=t(11286),e=t(12105),a=t(34338),o=t(79719),u=t(41942),i=t(72069),v=RangeError,f=String,c=isFinite,d=Math.abs,h=Math.floor,g=Math.pow,p=Math.round,y=n(1 .toExponential),m=n(o),I=n("".slice),x=y(-69e-12,4)==="-6.9000e-11"&&y(1.255,2)==="1.25e+0"&&y(12345,3)==="1.235e+4"&&y(25,0)==="3e+1",S=function(){return i(function(){y(1,1/0)})&&i(function(){y(1,-1/0)})},T=function(){return!i(function(){y(1/0,1/0),y(NaN,1/0)})},E=!x||!S()||!T();r({target:"Number",proto:!0,forced:E},{toExponential:function(A){var C=a(this);if(A===void 0)return y(C);var P=e(A);if(!c(C))return String(C);if(P<0||P>20)throw new v("Incorrect fraction digits");if(x)return y(C,P);var N="",$,U,D,F;if(C<0&&(N="-",C=-C),C===0)U=0,$=m("0",P+1);else{var L=u(C);U=h(L);var j=g(10,U-P),W=p(C/j);2*C>=(2*W+1)*j&&(W+=1),W>=g(10,P+1)&&(W/=10,U+=1),$=f(W)}return P!==0&&($=I($,0,1)+"."+I($,1)),U===0?(D="+",F="0"):(D=U>0?"+":"-",F=f(d(U))),$+="e"+D+F,N+$}})},3670:function(s,l,t){var r=t(14304),n=t(11286),e=t(12105),a=t(34338),o=t(79719),u=t(72069),i=RangeError,v=String,f=Math.floor,c=n(o),d=n("".slice),h=n(1 .toFixed),g=function(S,T,E){return T===0?E:T%2===1?g(S,T-1,E*S):g(S*S,T/2,E)},p=function(S){for(var T=0,E=S;E>=4096;)T+=12,E/=4096;for(;E>=2;)T+=1,E/=2;return T},y=function(S,T,E){for(var O=-1,A=E;++O<6;)A+=T*S[O],S[O]=A%1e7,A=f(A/1e7)},m=function(S,T){for(var E=6,O=0;--E>=0;)O+=S[E],S[E]=f(O/T),O=O%T*1e7},I=function(S){for(var T=6,E="";--T>=0;)if(E!==""||T===0||S[T]!==0){var O=v(S[T]);E=E===""?O:E+c("0",7-O.length)+O}return E},x=u(function(){return h(8e-5,3)!=="0.000"||h(.9,0)!=="1"||h(1.255,2)!=="1.25"||h(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!u(function(){h({})});r({target:"Number",proto:!0,forced:x},{toFixed:function(T){var E=a(this),O=e(T),A=[0,0,0,0,0,0],C="",P="0",N,$,U,D;if(O<0||O>20)throw new i("Incorrect fraction digits");if(E!==E)return"NaN";if(E<=-1e21||E>=1e21)return v(E);if(E<0&&(C="-",E=-E),E>1e-21)if(N=p(E*g(2,69,1))-69,$=N<0?E*g(2,-N,1):E/g(2,N,1),$*=4503599627370496,N=52-N,N>0){for(y(A,0,$),U=O;U>=7;)y(A,1e7,0),U-=7;for(y(A,g(10,U,1),0),U=N-1;U>=23;)m(A,8388608),U-=23;m(A,1<<U),y(A,1,1),m(A,2),P=I(A)}else y(A,0,$),y(A,1<<-N,0),P=I(A)+c("0",O);return O>0?(D=P.length,P=C+(D<=O?"0."+c("0",O-D)+P:d(P,0,D-O)+"."+d(P,D-O))):P=C+P,P}})},15224:function(s,l,t){var r=t(14304),n=t(11286),e=t(72069),a=t(34338),o=n(1 .toPrecision),u=e(function(){return o(1,void 0)!=="1"})||!e(function(){o({})});r({target:"Number",proto:!0,forced:u},{toPrecision:function(v){return v===void 0?o(a(this)):o(a(this),v)}})},45891:function(s,l,t){var r=t(14304),n=t(16667);r({target:"Object",stat:!0,arity:2,forced:Object.assign!==n},{assign:n})},99910:function(s,l,t){var r=t(14304),n=t(92986),e=t(5406);r({target:"Object",stat:!0,sham:!n},{create:e})},92445:function(s,l,t){var r=t(14304),n=t(92986),e=t(57629),a=t(85156),o=t(49671),u=t(7831);n&&r({target:"Object",proto:!0,forced:e},{__defineGetter__:function(v,f){u.f(o(this),v,{get:a(f),enumerable:!0,configurable:!0})}})},21875:function(s,l,t){var r=t(14304),n=t(92986),e=t(61963).f;r({target:"Object",stat:!0,forced:Object.defineProperties!==e,sham:!n},{defineProperties:e})},4383:function(s,l,t){var r=t(14304),n=t(92986),e=t(7831).f;r({target:"Object",stat:!0,forced:Object.defineProperty!==e,sham:!n},{defineProperty:e})},11361:function(s,l,t){var r=t(14304),n=t(92986),e=t(57629),a=t(85156),o=t(49671),u=t(7831);n&&r({target:"Object",proto:!0,forced:e},{__defineSetter__:function(v,f){u.f(o(this),v,{set:a(f),enumerable:!0,configurable:!0})}})},13728:function(s,l,t){var r=t(14304),n=t(8511).entries;r({target:"Object",stat:!0},{entries:function(a){return n(a)}})},14885:function(s,l,t){var r=t(14304),n=t(27534),e=t(72069),a=t(37540),o=t(31853).onFreeze,u=Object.freeze,i=e(function(){u(1)});r({target:"Object",stat:!0,forced:i,sham:!n},{freeze:function(f){return u&&a(f)?u(o(f)):f}})},30343:function(s,l,t){var r=t(14304),n=t(55902),e=t(84082);r({target:"Object",stat:!0},{fromEntries:function(o){var u={};return n(o,function(i,v){e(u,i,v)},{AS_ENTRIES:!0}),u}})},22045:function(s,l,t){var r=t(14304),n=t(72069),e=t(36859),a=t(71349).f,o=t(92986),u=!o||n(function(){a(1)});r({target:"Object",stat:!0,forced:u,sham:!o},{getOwnPropertyDescriptor:function(v,f){return a(e(v),f)}})},75e3:function(s,l,t){var r=t(14304),n=t(92986),e=t(16885),a=t(36859),o=t(71349),u=t(84082);r({target:"Object",stat:!0,sham:!n},{getOwnPropertyDescriptors:function(v){for(var f=a(v),c=o.f,d=e(f),h={},g=0,p,y;d.length>g;)y=c(f,p=d[g++]),y!==void 0&&u(h,p,y);return h}})},64658:function(s,l,t){var r=t(14304),n=t(72069),e=t(92880).f,a=n(function(){return!Object.getOwnPropertyNames(1)});r({target:"Object",stat:!0,forced:a},{getOwnPropertyNames:e})},45223:function(s,l,t){var r=t(14304),n=t(39729),e=t(72069),a=t(24943),o=t(49671),u=!n||e(function(){a.f(1)});r({target:"Object",stat:!0,forced:u},{getOwnPropertySymbols:function(v){var f=a.f;return f?f(o(v)):[]}})},16017:function(s,l,t){var r=t(14304),n=t(72069),e=t(49671),a=t(26313),o=t(87501),u=n(function(){a(1)});r({target:"Object",stat:!0,forced:u,sham:!o},{getPrototypeOf:function(v){return a(e(v))}})},84681:function(s,l,t){var r=t(14304),n=t(38941),e=t(11286),a=t(85156),o=t(2068),u=t(50035),i=t(55902),v=t(72069),f=Object.groupBy,c=n("Object","create"),d=e([].push),h=!f||v(function(){return f("ab",function(g){return g}).a.length!==1});r({target:"Object",stat:!0,forced:h},{groupBy:function(p,y){o(p),a(y);var m=c(null),I=0;return i(p,function(x){var S=u(y(x,I++));S in m?d(m[S],x):m[S]=[x]}),m}})},73421:function(s,l,t){var r=t(14304),n=t(94879);r({target:"Object",stat:!0},{hasOwn:n})},31046:function(s,l,t){var r=t(14304),n=t(28174);r({target:"Object",stat:!0,forced:Object.isExtensible!==n},{isExtensible:n})},94645:function(s,l,t){var r=t(14304),n=t(72069),e=t(37540),a=t(14274),o=t(72058),u=Object.isFrozen,i=o||n(function(){u(1)});r({target:"Object",stat:!0,forced:i},{isFrozen:function(f){return!e(f)||o&&a(f)==="ArrayBuffer"?!0:u?u(f):!1}})},62935:function(s,l,t){var r=t(14304),n=t(72069),e=t(37540),a=t(14274),o=t(72058),u=Object.isSealed,i=o||n(function(){u(1)});r({target:"Object",stat:!0,forced:i},{isSealed:function(f){return!e(f)||o&&a(f)==="ArrayBuffer"?!0:u?u(f):!1}})},93446:function(s,l,t){var r=t(14304),n=t(13944);r({target:"Object",stat:!0},{is:n})},62518:function(s,l,t){var r=t(14304),n=t(49671),e=t(18350),a=t(72069),o=a(function(){e(1)});r({target:"Object",stat:!0,forced:o},{keys:function(i){return e(n(i))}})},45130:function(s,l,t){var r=t(14304),n=t(92986),e=t(57629),a=t(49671),o=t(50035),u=t(26313),i=t(71349).f;n&&r({target:"Object",proto:!0,forced:e},{__lookupGetter__:function(f){var c=a(this),d=o(f),h;do if(h=i(c,d))return h.get;while(c=u(c))}})},51542:function(s,l,t){var r=t(14304),n=t(92986),e=t(57629),a=t(49671),o=t(50035),u=t(26313),i=t(71349).f;n&&r({target:"Object",proto:!0,forced:e},{__lookupSetter__:function(f){var c=a(this),d=o(f),h;do if(h=i(c,d))return h.set;while(c=u(c))}})},43781:function(s,l,t){var r=t(14304),n=t(37540),e=t(31853).onFreeze,a=t(27534),o=t(72069),u=Object.preventExtensions,i=o(function(){u(1)});r({target:"Object",stat:!0,forced:i,sham:!a},{preventExtensions:function(f){return u&&n(f)?u(e(f)):f}})},25738:function(s,l,t){var r=t(92986),n=t(85500),e=t(37540),a=t(52427),o=t(49671),u=t(2068),i=Object.getPrototypeOf,v=Object.setPrototypeOf,f=Object.prototype,c="__proto__";if(r&&i&&v&&!(c in f))try{n(f,c,{configurable:!0,get:function(){return i(o(this))},set:function(h){var g=u(this);a(h)&&e(g)&&v(g,h)}})}catch(d){}},93247:function(s,l,t){var r=t(14304),n=t(37540),e=t(31853).onFreeze,a=t(27534),o=t(72069),u=Object.seal,i=o(function(){u(1)});r({target:"Object",stat:!0,forced:i,sham:!a},{seal:function(f){return u&&n(f)?u(e(f)):f}})},41533:function(s,l,t){var r=t(14304),n=t(15861);r({target:"Object",stat:!0},{setPrototypeOf:n})},60225:function(s,l,t){var r=t(67878),n=t(16142),e=t(60105);r||n(Object.prototype,"toString",e,{unsafe:!0})},69920:function(s,l,t){var r=t(14304),n=t(8511).values;r({target:"Object",stat:!0},{values:function(a){return n(a)}})},89205:function(s,l,t){var r=t(14304),n=t(25838);r({global:!0,forced:parseFloat!==n},{parseFloat:n})},78546:function(s,l,t){var r=t(14304),n=t(23009);r({global:!0,forced:parseInt!==n},{parseInt:n})},16893:function(s,l,t){var r=t(14304),n=t(96499),e=t(85156),a=t(24649),o=t(67805),u=t(55902),i=t(26035);r({target:"Promise",stat:!0,forced:i},{allSettled:function(f){var c=this,d=a.f(c),h=d.resolve,g=d.reject,p=o(function(){var y=e(c.resolve),m=[],I=0,x=1;u(f,function(S){var T=I++,E=!1;x++,n(y,c,S).then(function(O){E||(E=!0,m[T]={status:"fulfilled",value:O},--x||h(m))},function(O){E||(E=!0,m[T]={status:"rejected",reason:O},--x||h(m))})}),--x||h(m)});return p.error&&g(p.value),d.promise}})},11733:function(s,l,t){var r=t(14304),n=t(96499),e=t(85156),a=t(24649),o=t(67805),u=t(55902),i=t(26035);r({target:"Promise",stat:!0,forced:i},{all:function(f){var c=this,d=a.f(c),h=d.resolve,g=d.reject,p=o(function(){var y=e(c.resolve),m=[],I=0,x=1;u(f,function(S){var T=I++,E=!1;x++,n(y,c,S).then(function(O){E||(E=!0,m[T]=O,--x||h(m))},g)}),--x||h(m)});return p.error&&g(p.value),d.promise}})},3676:function(s,l,t){var r=t(14304),n=t(96499),e=t(85156),a=t(38941),o=t(24649),u=t(67805),i=t(55902),v=t(26035),f="No one promise resolved";r({target:"Promise",stat:!0,forced:v},{any:function(d){var h=this,g=a("AggregateError"),p=o.f(h),y=p.resolve,m=p.reject,I=u(function(){var x=e(h.resolve),S=[],T=0,E=1,O=!1;i(d,function(A){var C=T++,P=!1;E++,n(x,h,A).then(function(N){P||O||(O=!0,y(N))},function(N){P||O||(P=!0,S[C]=N,--E||m(new g(S,f)))})}),--E||m(new g(S,f))});return I.error&&m(I.value),p.promise}})},14013:function(s,l,t){var r=t(14304),n=t(70457),e=t(37130).CONSTRUCTOR,a=t(98844),o=t(38941),u=t(23583),i=t(16142),v=a&&a.prototype;if(r({target:"Promise",proto:!0,forced:e,real:!0},{catch:function(c){return this.then(void 0,c)}}),!n&&u(a)){var f=o("Promise").prototype.catch;v.catch!==f&&i(v,"catch",f,{unsafe:!0})}},20238:function(s,l,t){var r=t(14304),n=t(70457),e=t(91707),a=t(34246),o=t(96499),u=t(16142),i=t(15861),v=t(78401),f=t(36167),c=t(85156),d=t(23583),h=t(37540),g=t(12833),p=t(16887),y=t(23115).set,m=t(9709),I=t(99095),x=t(67805),S=t(76895),T=t(82367),E=t(98844),O=t(37130),A=t(24649),C="Promise",P=O.CONSTRUCTOR,N=O.REJECTION_EVENT,$=O.SUBCLASSING,U=T.getterFor(C),D=T.set,F=E&&E.prototype,L=E,j=F,W=a.TypeError,b=a.document,K=a.process,z=A.f,it=z,et=!!(b&&b.createEvent&&a.dispatchEvent),lt="unhandledrejection",pt="rejectionhandled",mt=0,Bt=1,Ut=2,Nt=1,at=2,ct,Ot,Ct,It,Ft=function(Y){var xt;return h(Y)&&d(xt=Y.then)?xt:!1},Wt=function(Y,xt){var St=xt.value,gt=xt.state===Bt,ht=gt?Y.ok:Y.fail,Jt=Y.resolve,Zt=Y.reject,V=Y.domain,w,tt,k;try{ht?(gt||(xt.rejection===at&&jt(xt),xt.rejection=Nt),ht===!0?w=St:(V&&V.enter(),w=ht(St),V&&(V.exit(),k=!0)),w===Y.promise?Zt(new W("Promise-chain cycle")):(tt=Ft(w))?o(tt,w,Jt,Zt):Jt(w)):Zt(St)}catch(ot){V&&!k&&V.exit(),Zt(ot)}},Kt=function(Y,xt){Y.notified||(Y.notified=!0,m(function(){for(var St=Y.reactions,gt;gt=St.get();)Wt(gt,Y);Y.notified=!1,xt&&!Y.rejection&&Mt(Y)}))},Gt=function(Y,xt,St){var gt,ht;et?(gt=b.createEvent("Event"),gt.promise=xt,gt.reason=St,gt.initEvent(Y,!1,!0),a.dispatchEvent(gt)):gt={promise:xt,reason:St},!N&&(ht=a["on"+Y])?ht(gt):Y===lt&&I("Unhandled promise rejection",St)},Mt=function(Y){o(y,a,function(){var xt=Y.facade,St=Y.value,gt=bt(Y),ht;if(gt&&(ht=x(function(){e?K.emit("unhandledRejection",St,xt):Gt(lt,xt,St)}),Y.rejection=e||bt(Y)?at:Nt,ht.error))throw ht.value})},bt=function(Y){return Y.rejection!==Nt&&!Y.parent},jt=function(Y){o(y,a,function(){var xt=Y.facade;e?K.emit("rejectionHandled",xt):Gt(pt,xt,Y.value)})},Lt=function(Y,xt,St){return function(gt){Y(xt,gt,St)}},q=function(Y,xt,St){Y.done||(Y.done=!0,St&&(Y=St),Y.value=xt,Y.state=Ut,Kt(Y,!0))},st=function(Y,xt,St){if(!Y.done){Y.done=!0,St&&(Y=St);try{if(Y.facade===xt)throw new W("Promise can't be resolved itself");var gt=Ft(xt);gt?m(function(){var ht={done:!1};try{o(gt,xt,Lt(st,ht,Y),Lt(q,ht,Y))}catch(Jt){q(ht,Jt,Y)}}):(Y.value=xt,Y.state=Bt,Kt(Y,!1))}catch(ht){q({done:!1},ht,Y)}}};if(P&&(L=function(xt){g(this,j),c(xt),o(ct,this);var St=U(this);try{xt(Lt(st,St),Lt(q,St))}catch(gt){q(St,gt)}},j=L.prototype,ct=function(xt){D(this,{type:C,done:!1,notified:!1,parent:!1,reactions:new S,rejection:!1,state:mt,value:null})},ct.prototype=u(j,"then",function(xt,St){var gt=U(this),ht=z(p(this,L));return gt.parent=!0,ht.ok=d(xt)?xt:!0,ht.fail=d(St)&&St,ht.domain=e?K.domain:void 0,gt.state===mt?gt.reactions.add(ht):m(function(){Wt(ht,gt)}),ht.promise}),Ot=function(){var Y=new ct,xt=U(Y);this.promise=Y,this.resolve=Lt(st,xt),this.reject=Lt(q,xt)},A.f=z=function(Y){return Y===L||Y===Ct?new Ot(Y):it(Y)},!n&&d(E)&&F!==Object.prototype)){It=F.then,$||u(F,"then",function(xt,St){var gt=this;return new L(function(ht,Jt){o(It,gt,ht,Jt)}).then(xt,St)},{unsafe:!0});try{delete F.constructor}catch(Y){}i&&i(F,j)}r({global:!0,constructor:!0,wrap:!0,forced:P},{Promise:L}),v(L,C,!1,!0),f(C)},58361:function(s,l,t){var r=t(14304),n=t(70457),e=t(98844),a=t(72069),o=t(38941),u=t(23583),i=t(16887),v=t(87408),f=t(16142),c=e&&e.prototype,d=!!e&&a(function(){c.finally.call({then:function(){}},function(){})});if(r({target:"Promise",proto:!0,real:!0,forced:d},{finally:function(g){var p=i(this,o("Promise")),y=u(g);return this.then(y?function(m){return v(p,g()).then(function(){return m})}:g,y?function(m){return v(p,g()).then(function(){throw m})}:g)}}),!n&&u(e)){var h=o("Promise").prototype.finally;c.finally!==h&&f(c,"finally",h,{unsafe:!0})}},63616:function(s,l,t){t(20238),t(11733),t(14013),t(3037),t(36027),t(97282)},3037:function(s,l,t){var r=t(14304),n=t(96499),e=t(85156),a=t(24649),o=t(67805),u=t(55902),i=t(26035);r({target:"Promise",stat:!0,forced:i},{race:function(f){var c=this,d=a.f(c),h=d.reject,g=o(function(){var p=e(c.resolve);u(f,function(y){n(p,c,y).then(d.resolve,h)})});return g.error&&h(g.value),d.promise}})},36027:function(s,l,t){var r=t(14304),n=t(24649),e=t(37130).CONSTRUCTOR;r({target:"Promise",stat:!0,forced:e},{reject:function(o){var u=n.f(this),i=u.reject;return i(o),u.promise}})},97282:function(s,l,t){var r=t(14304),n=t(38941),e=t(70457),a=t(98844),o=t(37130).CONSTRUCTOR,u=t(87408),i=n("Promise"),v=e&&!o;r({target:"Promise",stat:!0,forced:e||o},{resolve:function(c){return u(v&&this===i?a:this,c)}})},7487:function(s,l,t){var r=t(14304),n=t(34246),e=t(66543),a=t(22806),o=t(24649),u=t(85156),i=t(67805),v=n.Promise,f=!1,c=!v||!v.try||i(function(){v.try(function(d){f=d===8},8)}).error||!f;r({target:"Promise",stat:!0,forced:c},{try:function(d){var h=arguments.length>1?a(arguments,1):[],g=o.f(this),p=i(function(){return e(u(d),void 0,h)});return(p.error?g.reject:g.resolve)(p.value),g.promise}})},23958:function(s,l,t){var r=t(14304),n=t(24649);r({target:"Promise",stat:!0},{withResolvers:function(){var a=n.f(this);return{promise:a.promise,resolve:a.resolve,reject:a.reject}}})},9798:function(s,l,t){var r=t(14304),n=t(66543),e=t(85156),a=t(25001),o=t(72069),u=!o(function(){Reflect.apply(function(){})});r({target:"Reflect",stat:!0,forced:u},{apply:function(v,f,c){return n(e(v),f,a(c))}})},2371:function(s,l,t){var r=t(14304),n=t(38941),e=t(66543),a=t(91384),o=t(80042),u=t(25001),i=t(37540),v=t(5406),f=t(72069),c=n("Reflect","construct"),d=Object.prototype,h=[].push,g=f(function(){function m(){}return!(c(function(){},[],m)instanceof m)}),p=!f(function(){c(function(){})}),y=g||p;r({target:"Reflect",stat:!0,forced:y,sham:y},{construct:function(I,x){o(I),u(x);var S=arguments.length<3?I:o(arguments[2]);if(p&&!g)return c(I,x,S);if(I===S){switch(x.length){case 0:return new I;case 1:return new I(x[0]);case 2:return new I(x[0],x[1]);case 3:return new I(x[0],x[1],x[2]);case 4:return new I(x[0],x[1],x[2],x[3])}var T=[null];return e(h,T,x),new(e(a,I,T))}var E=S.prototype,O=v(i(E)?E:d),A=e(I,O,x);return i(A)?A:O}})},76185:function(s,l,t){var r=t(14304),n=t(92986),e=t(25001),a=t(50035),o=t(7831),u=t(72069),i=u(function(){Reflect.defineProperty(o.f({},1,{value:1}),1,{value:2})});r({target:"Reflect",stat:!0,forced:i,sham:!n},{defineProperty:function(f,c,d){e(f);var h=a(c);e(d);try{return o.f(f,h,d),!0}catch(g){return!1}}})},76553:function(s,l,t){var r=t(14304),n=t(25001),e=t(71349).f;r({target:"Reflect",stat:!0},{deleteProperty:function(o,u){var i=e(n(o),u);return i&&!i.configurable?!1:delete o[u]}})},25227:function(s,l,t){var r=t(14304),n=t(92986),e=t(25001),a=t(71349);r({target:"Reflect",stat:!0,sham:!n},{getOwnPropertyDescriptor:function(u,i){return a.f(e(u),i)}})},91723:function(s,l,t){var r=t(14304),n=t(25001),e=t(26313),a=t(87501);r({target:"Reflect",stat:!0,sham:!a},{getPrototypeOf:function(u){return e(n(u))}})},93518:function(s,l,t){var r=t(14304),n=t(96499),e=t(37540),a=t(25001),o=t(69745),u=t(71349),i=t(26313);function v(f,c){var d=arguments.length<3?f:arguments[2],h,g;if(a(f)===d)return f[c];if(h=u.f(f,c),h)return o(h)?h.value:h.get===void 0?void 0:n(h.get,d);if(e(g=i(f)))return v(g,c,d)}r({target:"Reflect",stat:!0},{get:v})},57882:function(s,l,t){var r=t(14304);r({target:"Reflect",stat:!0},{has:function(e,a){return a in e}})},37796:function(s,l,t){var r=t(14304),n=t(25001),e=t(28174);r({target:"Reflect",stat:!0},{isExtensible:function(o){return n(o),e(o)}})},11563:function(s,l,t){var r=t(14304),n=t(16885);r({target:"Reflect",stat:!0},{ownKeys:n})},26159:function(s,l,t){var r=t(14304),n=t(38941),e=t(25001),a=t(27534);r({target:"Reflect",stat:!0,sham:!a},{preventExtensions:function(u){e(u);try{var i=n("Object","preventExtensions");return i&&i(u),!0}catch(v){return!1}}})},77487:function(s,l,t){var r=t(14304),n=t(25001),e=t(53408),a=t(15861);a&&r({target:"Reflect",stat:!0},{setPrototypeOf:function(u,i){n(u),e(i);try{return a(u,i),!0}catch(v){return!1}}})},20962:function(s,l,t){var r=t(14304),n=t(96499),e=t(25001),a=t(37540),o=t(69745),u=t(72069),i=t(7831),v=t(71349),f=t(26313),c=t(18526);function d(g,p,y){var m=arguments.length<4?g:arguments[3],I=v.f(e(g),p),x,S,T;if(!I){if(a(S=f(g)))return d(S,p,y,m);I=c(0)}if(o(I)){if(I.writable===!1||!a(m))return!1;if(x=v.f(m,p)){if(x.get||x.set||x.writable===!1)return!1;x.value=y,i.f(m,p,x)}else i.f(m,p,c(0,y))}else{if(T=I.set,T===void 0)return!1;n(T,m,y)}return!0}var h=u(function(){var g=function(){},p=i.f(new g,"a",{configurable:!0});return Reflect.set(g.prototype,"a",1,p)!==!1});r({target:"Reflect",stat:!0,forced:h},{set:d})},6130:function(s,l,t){var r=t(14304),n=t(34246),e=t(78401);r({global:!0},{Reflect:{}}),e(n.Reflect,"Reflect",!0)},1354:function(s,l,t){var r=t(92986),n=t(34246),e=t(11286),a=t(13278),o=t(32345),u=t(90809),i=t(5406),v=t(83258).f,f=t(95307),c=t(11566),d=t(17361),h=t(54932),g=t(39807),p=t(2594),y=t(16142),m=t(72069),I=t(94879),x=t(82367).enforce,S=t(36167),T=t(18565),E=t(76769),O=t(85220),A=T("match"),C=n.RegExp,P=C.prototype,N=n.SyntaxError,$=e(P.exec),U=e("".charAt),D=e("".replace),F=e("".indexOf),L=e("".slice),j=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,W=/a/g,b=/a/g,K=new C(W)!==W,z=g.MISSED_STICKY,it=g.UNSUPPORTED_Y,et=r&&(!K||z||E||O||m(function(){return b[A]=!1,C(W)!==W||C(b)===b||String(C(W,"i"))!=="/a/i"})),lt=function(Nt){for(var at=Nt.length,ct=0,Ot="",Ct=!1,It;ct<=at;ct++){if(It=U(Nt,ct),It==="\\"){Ot+=It+U(Nt,++ct);continue}!Ct&&It==="."?Ot+="[\\s\\S]":(It==="["?Ct=!0:It==="]"&&(Ct=!1),Ot+=It)}return Ot},pt=function(Nt){for(var at=Nt.length,ct=0,Ot="",Ct=[],It=i(null),Ft=!1,Wt=!1,Kt=0,Gt="",Mt;ct<=at;ct++){if(Mt=U(Nt,ct),Mt==="\\")Mt+=U(Nt,++ct);else if(Mt==="]")Ft=!1;else if(!Ft)switch(!0){case Mt==="[":Ft=!0;break;case Mt==="(":if(Ot+=Mt,L(Nt,ct+1,ct+3)==="?:")continue;$(j,L(Nt,ct+1))&&(ct+=2,Wt=!0),Kt++;continue;case(Mt===">"&&Wt):if(Gt===""||I(It,Gt))throw new N("Invalid capture group name");It[Gt]=!0,Ct[Ct.length]=[Gt,Kt],Wt=!1,Gt="";continue}Wt?Gt+=Mt:Ot+=Mt}return[Ot,Ct]};if(a("RegExp",et)){for(var mt=function(at,ct){var Ot=f(P,this),Ct=c(at),It=ct===void 0,Ft=[],Wt=at,Kt,Gt,Mt,bt,jt,Lt;if(!Ot&&Ct&&It&&at.constructor===mt)return at;if((Ct||f(P,at))&&(at=at.source,It&&(ct=h(Wt))),at=at===void 0?"":d(at),ct=ct===void 0?"":d(ct),Wt=at,E&&"dotAll"in W&&(Gt=!!ct&&F(ct,"s")>-1,Gt&&(ct=D(ct,/s/g,""))),Kt=ct,z&&"sticky"in W&&(Mt=!!ct&&F(ct,"y")>-1,Mt&&it&&(ct=D(ct,/y/g,""))),O&&(bt=pt(at),at=bt[0],Ft=bt[1]),jt=o(C(at,ct),Ot?this:P,mt),(Gt||Mt||Ft.length)&&(Lt=x(jt),Gt&&(Lt.dotAll=!0,Lt.raw=mt(lt(at),Kt)),Mt&&(Lt.sticky=!0),Ft.length&&(Lt.groups=Ft)),at!==Wt)try{u(jt,"source",Wt===""?"(?:)":Wt)}catch(q){}return jt},Bt=v(C),Ut=0;Bt.length>Ut;)p(mt,C,Bt[Ut++]);P.constructor=mt,mt.prototype=P,y(n,"RegExp",mt,{constructor:!0})}S("RegExp")},47119:function(s,l,t){var r=t(92986),n=t(76769),e=t(14274),a=t(85500),o=t(82367).get,u=RegExp.prototype,i=TypeError;r&&n&&a(u,"dotAll",{configurable:!0,get:function(){if(this!==u){if(e(this)==="RegExp")return!!o(this).dotAll;throw new i("Incompatible receiver, RegExp required")}}})},31145:function(s,l,t){var r=t(14304),n=t(44381);r({target:"RegExp",proto:!0,forced:/./.exec!==n},{exec:n})},96773:function(s,l,t){var r=t(34246),n=t(92986),e=t(85500),a=t(29833),o=t(72069),u=r.RegExp,i=u.prototype,v=n&&o(function(){var f=!0;try{u(".","d")}catch(I){f=!1}var c={},d="",h=f?"dgimsy":"gimsy",g=function(I,x){Object.defineProperty(c,I,{get:function(){return d+=x,!0}})},p={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};f&&(p.hasIndices="d");for(var y in p)g(y,p[y]);var m=Object.getOwnPropertyDescriptor(i,"flags").get.call(c);return m!==h||d!==h});v&&e(i,"flags",{configurable:!0,get:a})},14371:function(s,l,t){var r=t(92986),n=t(39807).MISSED_STICKY,e=t(14274),a=t(85500),o=t(82367).get,u=RegExp.prototype,i=TypeError;r&&n&&a(u,"sticky",{configurable:!0,get:function(){if(this!==u){if(e(this)==="RegExp")return!!o(this).sticky;throw new i("Incompatible receiver, RegExp required")}}})},18180:function(s,l,t){t(31145);var r=t(14304),n=t(96499),e=t(23583),a=t(25001),o=t(17361),u=function(){var v=!1,f=/[ac]/;return f.exec=function(){return v=!0,/./.exec.apply(this,arguments)},f.test("abc")===!0&&v}(),i=/./.test;r({target:"RegExp",proto:!0,forced:!u},{test:function(v){var f=a(this),c=o(v),d=f.exec;if(!e(d))return n(i,f,c);var h=n(d,f,c);return h===null?!1:(a(h),!0)}})},83147:function(s,l,t){var r=t(86588).PROPER,n=t(16142),e=t(25001),a=t(17361),o=t(72069),u=t(54932),i="toString",v=RegExp.prototype,f=v[i],c=o(function(){return f.call({source:"a",flags:"b"})!=="/a/b"}),d=r&&f.name!==i;(c||d)&&n(v,i,function(){var g=e(this),p=a(g.source),y=a(u(g));return"/"+p+"/"+y},{unsafe:!0})},6583:function(s,l,t){var r=t(89378),n=t(34440);r("Set",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},n)},86548:function(s,l,t){var r=t(14304),n=t(41754),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("difference")},{difference:n})},15282:function(s,l,t){var r=t(14304),n=t(72069),e=t(92292),a=t(94118),o=!a("intersection")||n(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});r({target:"Set",proto:!0,real:!0,forced:o},{intersection:e})},51275:function(s,l,t){var r=t(14304),n=t(47391),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("isDisjointFrom")},{isDisjointFrom:n})},91890:function(s,l,t){var r=t(14304),n=t(75492),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("isSubsetOf")},{isSubsetOf:n})},15089:function(s,l,t){var r=t(14304),n=t(1333),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("isSupersetOf")},{isSupersetOf:n})},75765:function(s,l,t){t(6583)},78134:function(s,l,t){var r=t(14304),n=t(64680),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("symmetricDifference")},{symmetricDifference:n})},56456:function(s,l,t){var r=t(14304),n=t(70402),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("union")},{union:n})},70641:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("anchor")},{anchor:function(o){return n(this,"a","name",o)}})},40735:function(s,l,t){var r=t(14304),n=t(11286),e=t(2068),a=t(12105),o=t(17361),u=t(72069),i=n("".charAt),v=u(function(){return"\u{20BB7}".at(-2)!=="\uD842"});r({target:"String",proto:!0,forced:v},{at:function(c){var d=o(e(this)),h=d.length,g=a(c),p=g>=0?g:h+g;return p<0||p>=h?void 0:i(d,p)}})},53892:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("big")},{big:function(){return n(this,"big","","")}})},95976:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("blink")},{blink:function(){return n(this,"blink","","")}})},399:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("bold")},{bold:function(){return n(this,"b","","")}})},8510:function(s,l,t){var r=t(14304),n=t(22149).codeAt;r({target:"String",proto:!0},{codePointAt:function(a){return n(this,a)}})},70159:function(s,l,t){var r=t(14304),n=t(77422),e=t(71349).f,a=t(45344),o=t(17361),u=t(92337),i=t(2068),v=t(8790),f=t(70457),c=n("".slice),d=Math.min,h=v("endsWith"),g=!f&&!h&&!!function(){var p=e(String.prototype,"endsWith");return p&&!p.writable}();r({target:"String",proto:!0,forced:!g&&!h},{endsWith:function(y){var m=o(i(this));u(y);var I=arguments.length>1?arguments[1]:void 0,x=m.length,S=I===void 0?x:d(a(I),x),T=o(y);return c(m,S-T.length,S)===T}})},72032:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("fixed")},{fixed:function(){return n(this,"tt","","")}})},49442:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("fontcolor")},{fontcolor:function(o){return n(this,"font","color",o)}})},16012:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("fontsize")},{fontsize:function(o){return n(this,"font","size",o)}})},93087:function(s,l,t){var r=t(14304),n=t(11286),e=t(4652),a=RangeError,o=String.fromCharCode,u=String.fromCodePoint,i=n([].join),v=!!u&&u.length!==1;r({target:"String",stat:!0,arity:1,forced:v},{fromCodePoint:function(c){for(var d=[],h=arguments.length,g=0,p;h>g;){if(p=+arguments[g++],e(p,1114111)!==p)throw new a(p+" is not a valid code point");d[g]=p<65536?o(p):o(((p-=65536)>>10)+55296,p%1024+56320)}return i(d,"")}})},26021:function(s,l,t){var r=t(14304),n=t(11286),e=t(92337),a=t(2068),o=t(17361),u=t(8790),i=n("".indexOf);r({target:"String",proto:!0,forced:!u("includes")},{includes:function(f){return!!~i(o(a(this)),o(e(f)),arguments.length>1?arguments[1]:void 0)}})},93029:function(s,l,t){var r=t(14304),n=t(11286),e=t(2068),a=t(17361),o=n("".charCodeAt);r({target:"String",proto:!0},{isWellFormed:function(){for(var i=a(e(this)),v=i.length,f=0;f<v;f++){var c=o(i,f);if((c&63488)===55296&&(c>=56320||++f>=v||(o(i,f)&64512)!==56320))return!1}return!0}})},9943:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("italics")},{italics:function(){return n(this,"i","","")}})},59158:function(s,l,t){var r=t(22149).charAt,n=t(17361),e=t(82367),a=t(10218),o=t(10659),u="String Iterator",i=e.set,v=e.getterFor(u);a(String,"String",function(f){i(this,{type:u,string:n(f),index:0})},function(){var c=v(this),d=c.string,h=c.index,g;return h>=d.length?o(void 0,!0):(g=r(d,h),c.index+=g.length,o(g,!1))})},33128:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("link")},{link:function(o){return n(this,"a","href",o)}})},18509:function(s,l,t){var r=t(14304),n=t(96499),e=t(77422),a=t(26820),o=t(10659),u=t(2068),i=t(45344),v=t(17361),f=t(25001),c=t(5683),d=t(14274),h=t(11566),g=t(54932),p=t(10512),y=t(16142),m=t(72069),I=t(18565),x=t(16887),S=t(24487),T=t(33064),E=t(82367),O=t(70457),A=I("matchAll"),C="RegExp String",P=C+" Iterator",N=E.set,$=E.getterFor(P),U=RegExp.prototype,D=TypeError,F=e("".indexOf),L=e("".matchAll),j=!!L&&!m(function(){L("a",/./)}),W=a(function(z,it,et,lt){N(this,{type:P,regexp:z,string:it,global:et,unicode:lt,done:!1})},C,function(){var z=$(this);if(z.done)return o(void 0,!0);var it=z.regexp,et=z.string,lt=T(it,et);return lt===null?(z.done=!0,o(void 0,!0)):z.global?(v(lt[0])===""&&(it.lastIndex=S(et,i(it.lastIndex),z.unicode)),o(lt,!1)):(z.done=!0,o(lt,!1))}),b=function(K){var z=f(this),it=v(K),et=x(z,RegExp),lt=v(g(z)),pt,mt,Bt;return pt=new et(et===RegExp?z.source:z,lt),mt=!!~F(lt,"g"),Bt=!!~F(lt,"u"),pt.lastIndex=i(z.lastIndex),new W(pt,it,mt,Bt)};r({target:"String",proto:!0,forced:j},{matchAll:function(z){var it=u(this),et,lt,pt,mt;if(c(z)){if(j)return L(it,z)}else{if(h(z)&&(et=v(u(g(z))),!~F(et,"g")))throw new D("`.matchAll` does not allow non-global regexes");if(j)return L(it,z);if(pt=p(z,A),pt===void 0&&O&&d(z)==="RegExp"&&(pt=b),pt)return n(pt,z,it)}return lt=v(it),mt=new RegExp(z,"g"),O?n(b,mt,lt):mt[A](lt)}}),O||A in U||y(U,A,b)},15599:function(s,l,t){var r=t(96499),n=t(63194),e=t(25001),a=t(5683),o=t(45344),u=t(17361),i=t(2068),v=t(10512),f=t(24487),c=t(33064);n("match",function(d,h,g){return[function(y){var m=i(this),I=a(y)?void 0:v(y,d);return I?r(I,y,m):new RegExp(y)[d](u(m))},function(p){var y=e(this),m=u(p),I=g(h,y,m);if(I.done)return I.value;if(!y.global)return c(y,m);var x=y.unicode;y.lastIndex=0;for(var S=[],T=0,E;(E=c(y,m))!==null;){var O=u(E[0]);S[T]=O,O===""&&(y.lastIndex=f(m,o(y.lastIndex),x)),T++}return T===0?null:S}]})},21579:function(s,l,t){var r=t(14304),n=t(61607).end,e=t(36945);r({target:"String",proto:!0,forced:e},{padEnd:function(o){return n(this,o,arguments.length>1?arguments[1]:void 0)}})},8854:function(s,l,t){var r=t(14304),n=t(61607).start,e=t(36945);r({target:"String",proto:!0,forced:e},{padStart:function(o){return n(this,o,arguments.length>1?arguments[1]:void 0)}})},57676:function(s,l,t){var r=t(14304),n=t(11286),e=t(36859),a=t(49671),o=t(17361),u=t(82628),i=n([].push),v=n([].join);r({target:"String",stat:!0},{raw:function(c){var d=e(a(c).raw),h=u(d);if(!h)return"";for(var g=arguments.length,p=[],y=0;;){if(i(p,o(d[y++])),y===h)return v(p,"");y<g&&i(p,o(arguments[y]))}}})},14527:function(s,l,t){var r=t(14304),n=t(79719);r({target:"String",proto:!0},{repeat:n})},52684:function(s,l,t){var r=t(14304),n=t(96499),e=t(11286),a=t(2068),o=t(23583),u=t(5683),i=t(11566),v=t(17361),f=t(10512),c=t(54932),d=t(38368),h=t(18565),g=t(70457),p=h("replace"),y=TypeError,m=e("".indexOf),I=e("".replace),x=e("".slice),S=Math.max;r({target:"String",proto:!0},{replaceAll:function(E,O){var A=a(this),C,P,N,$,U,D,F,L,j,W,b=0,K="";if(!u(E)){if(C=i(E),C&&(P=v(a(c(E))),!~m(P,"g")))throw new y("`.replaceAll` does not allow non-global regexes");if(N=f(E,p),N)return n(N,E,A,O);if(g&&C)return I(v(A),E,O)}for($=v(A),U=v(E),D=o(O),D||(O=v(O)),F=U.length,L=S(1,F),j=m($,U);j!==-1;)W=D?v(O(U,j,$)):d(U,$,j,[],void 0,O),K+=x($,b,j)+W,b=j+F,j=j+L>$.length?-1:m($,U,j+L);return b<$.length&&(K+=x($,b)),K}})},96834:function(s,l,t){var r=t(66543),n=t(96499),e=t(11286),a=t(63194),o=t(72069),u=t(25001),i=t(23583),v=t(5683),f=t(12105),c=t(45344),d=t(17361),h=t(2068),g=t(24487),p=t(10512),y=t(38368),m=t(33064),I=t(18565),x=I("replace"),S=Math.max,T=Math.min,E=e([].concat),O=e([].push),A=e("".indexOf),C=e("".slice),P=function(D){return D===void 0?D:String(D)},N=function(){return"a".replace(/./,"$0")==="$0"}(),$=function(){return/./[x]?/./[x]("a","$0")==="":!1}(),U=!o(function(){var D=/./;return D.exec=function(){var F=[];return F.groups={a:"7"},F},"".replace(D,"$<a>")!=="7"});a("replace",function(D,F,L){var j=$?"$":"$0";return[function(b,K){var z=h(this),it=v(b)?void 0:p(b,x);return it?n(it,b,z,K):n(F,d(z),b,K)},function(W,b){var K=u(this),z=d(W);if(typeof b=="string"&&A(b,j)===-1&&A(b,"$<")===-1){var it=L(F,K,z,b);if(it.done)return it.value}var et=i(b);et||(b=d(b));var lt=K.global,pt;lt&&(pt=K.unicode,K.lastIndex=0);for(var mt=[],Bt;Bt=m(K,z),!(Bt===null||(O(mt,Bt),!lt));){var Ut=d(Bt[0]);Ut===""&&(K.lastIndex=g(z,c(K.lastIndex),pt))}for(var Nt="",at=0,ct=0;ct<mt.length;ct++){Bt=mt[ct];for(var Ot=d(Bt[0]),Ct=S(T(f(Bt.index),z.length),0),It=[],Ft,Wt=1;Wt<Bt.length;Wt++)O(It,P(Bt[Wt]));var Kt=Bt.groups;if(et){var Gt=E([Ot],It,Ct,z);Kt!==void 0&&O(Gt,Kt),Ft=d(r(b,void 0,Gt))}else Ft=y(Ot,z,Ct,It,Kt,b);Ct>=at&&(Nt+=C(z,at,Ct)+Ft,at=Ct+Ot.length)}return Nt+C(z,at)}]},!U||!N||$)},74980:function(s,l,t){var r=t(96499),n=t(63194),e=t(25001),a=t(5683),o=t(2068),u=t(13944),i=t(17361),v=t(10512),f=t(33064);n("search",function(c,d,h){return[function(p){var y=o(this),m=a(p)?void 0:v(p,c);return m?r(m,p,y):new RegExp(p)[c](i(y))},function(g){var p=e(this),y=i(g),m=h(d,p,y);if(m.done)return m.value;var I=p.lastIndex;u(I,0)||(p.lastIndex=0);var x=f(p,y);return u(p.lastIndex,I)||(p.lastIndex=I),x===null?-1:x.index}]})},95625:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("small")},{small:function(){return n(this,"small","","")}})},390:function(s,l,t){var r=t(96499),n=t(11286),e=t(63194),a=t(25001),o=t(5683),u=t(2068),i=t(16887),v=t(24487),f=t(45344),c=t(17361),d=t(10512),h=t(33064),g=t(39807),p=t(72069),y=g.UNSUPPORTED_Y,m=4294967295,I=Math.min,x=n([].push),S=n("".slice),T=!p(function(){var O=/(?:)/,A=O.exec;O.exec=function(){return A.apply(this,arguments)};var C="ab".split(O);return C.length!==2||C[0]!=="a"||C[1]!=="b"}),E="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;e("split",function(O,A,C){var P="0".split(void 0,0).length?function(N,$){return N===void 0&&$===0?[]:r(A,this,N,$)}:A;return[function($,U){var D=u(this),F=o($)?void 0:d($,O);return F?r(F,$,D,U):r(P,c(D),$,U)},function(N,$){var U=a(this),D=c(N);if(!E){var F=C(P,U,D,$,P!==A);if(F.done)return F.value}var L=i(U,RegExp),j=U.unicode,W=(U.ignoreCase?"i":"")+(U.multiline?"m":"")+(U.unicode?"u":"")+(y?"g":"y"),b=new L(y?"^(?:"+U.source+")":U,W),K=$===void 0?m:$>>>0;if(K===0)return[];if(D.length===0)return h(b,D)===null?[D]:[];for(var z=0,it=0,et=[];it<D.length;){b.lastIndex=y?0:it;var lt=h(b,y?S(D,it):D),pt;if(lt===null||(pt=I(f(b.lastIndex+(y?it:0)),D.length))===z)it=v(D,it,j);else{if(x(et,S(D,z,it)),et.length===K)return et;for(var mt=1;mt<=lt.length-1;mt++)if(x(et,lt[mt]),et.length===K)return et;it=z=pt}}return x(et,S(D,z)),et}]},E||!T,y)},42794:function(s,l,t){var r=t(14304),n=t(77422),e=t(71349).f,a=t(45344),o=t(17361),u=t(92337),i=t(2068),v=t(8790),f=t(70457),c=n("".slice),d=Math.min,h=v("startsWith"),g=!f&&!h&&!!function(){var p=e(String.prototype,"startsWith");return p&&!p.writable}();r({target:"String",proto:!0,forced:!g&&!h},{startsWith:function(y){var m=o(i(this));u(y);var I=a(d(arguments.length>1?arguments[1]:void 0,m.length)),x=o(y);return c(m,I,I+x.length)===x}})},90614:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("strike")},{strike:function(){return n(this,"strike","","")}})},60120:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("sub")},{sub:function(){return n(this,"sub","","")}})},21293:function(s,l,t){var r=t(14304),n=t(11286),e=t(2068),a=t(12105),o=t(17361),u=n("".slice),i=Math.max,v=Math.min,f=!"".substr||"ab".substr(-1)!=="b";r({target:"String",proto:!0,forced:f},{substr:function(d,h){var g=o(e(this)),p=g.length,y=a(d),m,I;return y===1/0&&(y=0),y<0&&(y=i(p+y,0)),m=h===void 0?p:a(h),m<=0||m===1/0?"":(I=v(y+m,p),y>=I?"":u(g,y,I))}})},75826:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("sup")},{sup:function(){return n(this,"sup","","")}})},18184:function(s,l,t){var r=t(14304),n=t(96499),e=t(11286),a=t(2068),o=t(17361),u=t(72069),i=Array,v=e("".charAt),f=e("".charCodeAt),c=e([].join),d="".toWellFormed,h="\uFFFD",g=d&&u(function(){return n(d,1)!=="1"});r({target:"String",proto:!0,forced:g},{toWellFormed:function(){var y=o(a(this));if(g)return n(d,y);for(var m=y.length,I=i(m),x=0;x<m;x++){var S=f(y,x);(S&63488)!==55296?I[x]=v(y,x):S>=56320||x+1>=m||(f(y,x+1)&64512)!==56320?I[x]=h:(I[x]=v(y,x),I[++x]=v(y,x))}return c(I,"")}})},19680:function(s,l,t){t(23283);var r=t(14304),n=t(75176);r({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==n},{trimEnd:n})},12272:function(s,l,t){var r=t(14304),n=t(83481);r({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==n},{trimLeft:n})},23283:function(s,l,t){var r=t(14304),n=t(75176);r({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==n},{trimRight:n})},4193:function(s,l,t){t(12272);var r=t(14304),n=t(83481);r({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==n},{trimStart:n})},75012:function(s,l,t){var r=t(14304),n=t(85900).trim,e=t(33328);r({target:"String",proto:!0,forced:e("trim")},{trim:function(){return n(this)}})},43606:function(s,l,t){var r=t(83749);r("asyncIterator")},51767:function(s,l,t){var r=t(14304),n=t(34246),e=t(96499),a=t(11286),o=t(70457),u=t(92986),i=t(39729),v=t(72069),f=t(94879),c=t(95307),d=t(25001),h=t(36859),g=t(50035),p=t(17361),y=t(18526),m=t(5406),I=t(18350),x=t(83258),S=t(92880),T=t(24943),E=t(71349),O=t(7831),A=t(61963),C=t(79591),P=t(16142),N=t(85500),$=t(96731),U=t(44869),D=t(19423),F=t(36374),L=t(18565),j=t(56529),W=t(83749),b=t(60796),K=t(78401),z=t(82367),it=t(66655).forEach,et=U("hidden"),lt="Symbol",pt="prototype",mt=z.set,Bt=z.getterFor(lt),Ut=Object[pt],Nt=n.Symbol,at=Nt&&Nt[pt],ct=n.RangeError,Ot=n.TypeError,Ct=n.QObject,It=E.f,Ft=O.f,Wt=S.f,Kt=C.f,Gt=a([].push),Mt=$("symbols"),bt=$("op-symbols"),jt=$("wks"),Lt=!Ct||!Ct[pt]||!Ct[pt].findChild,q=function(w,tt,k){var ot=It(Ut,tt);ot&&delete Ut[tt],Ft(w,tt,k),ot&&w!==Ut&&Ft(Ut,tt,ot)},st=u&&v(function(){return m(Ft({},"a",{get:function(){return Ft(this,"a",{value:7}).a}})).a!==7})?q:Ft,Y=function(w,tt){var k=Mt[w]=m(at);return mt(k,{type:lt,tag:w,description:tt}),u||(k.description=tt),k},xt=function(tt,k,ot){tt===Ut&&xt(bt,k,ot),d(tt);var J=g(k);return d(ot),f(Mt,J)?(ot.enumerable?(f(tt,et)&&tt[et][J]&&(tt[et][J]=!1),ot=m(ot,{enumerable:y(0,!1)})):(f(tt,et)||Ft(tt,et,y(1,m(null))),tt[et][J]=!0),st(tt,J,ot)):Ft(tt,J,ot)},St=function(tt,k){d(tt);var ot=h(k),J=I(ot).concat(V(ot));return it(J,function(Rt){(!u||e(ht,ot,Rt))&&xt(tt,Rt,ot[Rt])}),tt},gt=function(tt,k){return k===void 0?m(tt):St(m(tt),k)},ht=function(tt){var k=g(tt),ot=e(Kt,this,k);return this===Ut&&f(Mt,k)&&!f(bt,k)?!1:ot||!f(this,k)||!f(Mt,k)||f(this,et)&&this[et][k]?ot:!0},Jt=function(tt,k){var ot=h(tt),J=g(k);if(!(ot===Ut&&f(Mt,J)&&!f(bt,J))){var Rt=It(ot,J);return Rt&&f(Mt,J)&&!(f(ot,et)&&ot[et][J])&&(Rt.enumerable=!0),Rt}},Zt=function(tt){var k=Wt(h(tt)),ot=[];return it(k,function(J){!f(Mt,J)&&!f(D,J)&&Gt(ot,J)}),ot},V=function(w){var tt=w===Ut,k=Wt(tt?bt:h(w)),ot=[];return it(k,function(J){f(Mt,J)&&(!tt||f(Ut,J))&&Gt(ot,Mt[J])}),ot};i||(Nt=function(){if(c(at,this))throw new Ot("Symbol is not a constructor");var tt=!arguments.length||arguments[0]===void 0?void 0:p(arguments[0]),k=F(tt),ot=function(J){var Rt=this===void 0?n:this;Rt===Ut&&e(ot,bt,J),f(Rt,et)&&f(Rt[et],k)&&(Rt[et][k]=!1);var zt=y(1,J);try{st(Rt,k,zt)}catch(Q){if(!(Q instanceof ct))throw Q;q(Rt,k,zt)}};return u&&Lt&&st(Ut,k,{configurable:!0,set:ot}),Y(k,tt)},at=Nt[pt],P(at,"toString",function(){return Bt(this).tag}),P(Nt,"withoutSetter",function(w){return Y(F(w),w)}),C.f=ht,O.f=xt,A.f=St,E.f=Jt,x.f=S.f=Zt,T.f=V,j.f=function(w){return Y(L(w),w)},u&&(N(at,"description",{configurable:!0,get:function(){return Bt(this).description}}),o||P(Ut,"propertyIsEnumerable",ht,{unsafe:!0}))),r({global:!0,constructor:!0,wrap:!0,forced:!i,sham:!i},{Symbol:Nt}),it(I(jt),function(w){W(w)}),r({target:lt,stat:!0,forced:!i},{useSetter:function(){Lt=!0},useSimple:function(){Lt=!1}}),r({target:"Object",stat:!0,forced:!i,sham:!u},{create:gt,defineProperty:xt,defineProperties:St,getOwnPropertyDescriptor:Jt}),r({target:"Object",stat:!0,forced:!i},{getOwnPropertyNames:Zt}),b(),K(Nt,lt),D[et]=!0},43657:function(s,l,t){var r=t(14304),n=t(92986),e=t(34246),a=t(11286),o=t(94879),u=t(23583),i=t(95307),v=t(17361),f=t(85500),c=t(93706),d=e.Symbol,h=d&&d.prototype;if(n&&u(d)&&(!("description"in h)||d().description!==void 0)){var g={},p=function(){var O=arguments.length<1||arguments[0]===void 0?void 0:v(arguments[0]),A=i(h,this)?new d(O):O===void 0?d():d(O);return O===""&&(g[A]=!0),A};c(p,d),p.prototype=h,h.constructor=p;var y=String(d("description detection"))==="Symbol(description detection)",m=a(h.valueOf),I=a(h.toString),x=/^Symbol\((.*)\)[^)]+$/,S=a("".replace),T=a("".slice);f(h,"description",{configurable:!0,get:function(){var O=m(this);if(o(g,O))return"";var A=I(O),C=y?T(A,7,-1):S(A,x,"$1");return C===""?void 0:C}}),r({global:!0,constructor:!0,forced:!0},{Symbol:p})}},20872:function(s,l,t){var r=t(14304),n=t(38941),e=t(94879),a=t(17361),o=t(96731),u=t(61190),i=o("string-to-symbol-registry"),v=o("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!u},{for:function(f){var c=a(f);if(e(i,c))return i[c];var d=n("Symbol")(c);return i[c]=d,v[d]=c,d}})},15855:function(s,l,t){var r=t(83749);r("hasInstance")},42026:function(s,l,t){var r=t(83749);r("isConcatSpreadable")},33257:function(s,l,t){var r=t(83749);r("iterator")},40949:function(s,l,t){t(51767),t(20872),t(94762),t(71332),t(45223)},94762:function(s,l,t){var r=t(14304),n=t(94879),e=t(491),a=t(82453),o=t(96731),u=t(61190),i=o("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!u},{keyFor:function(f){if(!e(f))throw new TypeError(a(f)+" is not a symbol");if(n(i,f))return i[f]}})},88344:function(s,l,t){var r=t(83749);r("matchAll")},59414:function(s,l,t){var r=t(83749);r("match")},92579:function(s,l,t){var r=t(83749);r("replace")},94655:function(s,l,t){var r=t(83749);r("search")},8565:function(s,l,t){var r=t(83749);r("species")},60843:function(s,l,t){var r=t(83749);r("split")},65842:function(s,l,t){var r=t(83749),n=t(60796);r("toPrimitive"),n()},51595:function(s,l,t){var r=t(38941),n=t(83749),e=t(78401);n("toStringTag"),e(r("Symbol"),"Symbol")},54908:function(s,l,t){var r=t(83749);r("unscopables")},71998:function(s,l,t){var r=t(88037),n=t(82628),e=t(12105),a=r.aTypedArray,o=r.exportTypedArrayMethod;o("at",function(i){var v=a(this),f=n(v),c=e(i),d=c>=0?c:f+c;return d<0||d>=f?void 0:v[d]})},6116:function(s,l,t){var r=t(11286),n=t(88037),e=t(81499),a=r(e),o=n.aTypedArray,u=n.exportTypedArrayMethod;u("copyWithin",function(v,f){return a(o(this),v,f,arguments.length>2?arguments[2]:void 0)})},33032:function(s,l,t){var r=t(88037),n=t(66655).every,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("every",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},80962:function(s,l,t){var r=t(88037),n=t(43011),e=t(11344),a=t(9205),o=t(96499),u=t(11286),i=t(72069),v=r.aTypedArray,f=r.exportTypedArrayMethod,c=u("".slice),d=i(function(){var h=0;return new Int8Array(2).fill({valueOf:function(){return h++}}),h!==1});f("fill",function(g){var p=arguments.length;v(this);var y=c(a(this),0,3)==="Big"?e(g):+g;return o(n,this,y,p>1?arguments[1]:void 0,p>2?arguments[2]:void 0)},d)},49381:function(s,l,t){var r=t(88037),n=t(66655).filter,e=t(39954),a=r.aTypedArray,o=r.exportTypedArrayMethod;o("filter",function(i){var v=n(a(this),i,arguments.length>1?arguments[1]:void 0);return e(this,v)})},65961:function(s,l,t){var r=t(88037),n=t(66655).findIndex,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("findIndex",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},16028:function(s,l,t){var r=t(88037),n=t(73849).findLastIndex,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("findLastIndex",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},94153:function(s,l,t){var r=t(88037),n=t(73849).findLast,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("findLast",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},38344:function(s,l,t){var r=t(88037),n=t(66655).find,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("find",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},25560:function(s,l,t){var r=t(80357);r("Float32",function(n){return function(a,o,u){return n(this,a,o,u)}})},22571:function(s,l,t){var r=t(80357);r("Float64",function(n){return function(a,o,u){return n(this,a,o,u)}})},20656:function(s,l,t){var r=t(88037),n=t(66655).forEach,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("forEach",function(u){n(e(this),u,arguments.length>1?arguments[1]:void 0)})},17063:function(s,l,t){var r=t(46868),n=t(88037).exportTypedArrayStaticMethod,e=t(66169);n("from",e,r)},21774:function(s,l,t){var r=t(88037),n=t(94319).includes,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("includes",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},51761:function(s,l,t){var r=t(88037),n=t(94319).indexOf,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("indexOf",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},36849:function(s,l,t){var r=t(80357);r("Int16",function(n){return function(a,o,u){return n(this,a,o,u)}})},49191:function(s,l,t){var r=t(80357);r("Int32",function(n){return function(a,o,u){return n(this,a,o,u)}})},40704:function(s,l,t){var r=t(80357);r("Int8",function(n){return function(a,o,u){return n(this,a,o,u)}})},12317:function(s,l,t){var r=t(34246),n=t(72069),e=t(11286),a=t(88037),o=t(35054),u=t(18565),i=u("iterator"),v=r.Uint8Array,f=e(o.values),c=e(o.keys),d=e(o.entries),h=a.aTypedArray,g=a.exportTypedArrayMethod,p=v&&v.prototype,y=!n(function(){p[i].call([1])}),m=!!p&&p.values&&p[i]===p.values&&p.values.name==="values",I=function(){return f(h(this))};g("entries",function(){return d(h(this))},y),g("keys",function(){return c(h(this))},y),g("values",I,y||!m,{name:"values"}),g(i,I,y||!m,{name:"values"})},19711:function(s,l,t){var r=t(88037),n=t(11286),e=r.aTypedArray,a=r.exportTypedArrayMethod,o=n([].join);a("join",function(i){return o(e(this),i)})},41034:function(s,l,t){var r=t(88037),n=t(66543),e=t(58465),a=r.aTypedArray,o=r.exportTypedArrayMethod;o("lastIndexOf",function(i){var v=arguments.length;return n(e,a(this),v>1?[i,arguments[1]]:[i])})},13313:function(s,l,t){var r=t(88037),n=t(66655).map,e=r.aTypedArray,a=r.getTypedArrayConstructor,o=r.exportTypedArrayMethod;o("map",function(i){return n(e(this),i,arguments.length>1?arguments[1]:void 0,function(v,f){return new(a(v))(f)})})},44698:function(s,l,t){var r=t(88037),n=t(46868),e=r.aTypedArrayConstructor,a=r.exportTypedArrayStaticMethod;a("of",function(){for(var u=0,i=arguments.length,v=new(e(this))(i);i>u;)v[u]=arguments[u++];return v},n)},66178:function(s,l,t){var r=t(88037),n=t(97264).right,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("reduceRight",function(u){var i=arguments.length;return n(e(this),u,i,i>1?arguments[1]:void 0)})},7369:function(s,l,t){var r=t(88037),n=t(97264).left,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("reduce",function(u){var i=arguments.length;return n(e(this),u,i,i>1?arguments[1]:void 0)})},67961:function(s,l,t){var r=t(88037),n=r.aTypedArray,e=r.exportTypedArrayMethod,a=Math.floor;e("reverse",function(){for(var u=this,i=n(u).length,v=a(i/2),f=0,c;f<v;)c=u[f],u[f++]=u[--i],u[i]=c;return u})},8695:function(s,l,t){var r=t(34246),n=t(96499),e=t(88037),a=t(82628),o=t(58143),u=t(49671),i=t(72069),v=r.RangeError,f=r.Int8Array,c=f&&f.prototype,d=c&&c.set,h=e.aTypedArray,g=e.exportTypedArrayMethod,p=!i(function(){var m=new Uint8ClampedArray(2);return n(d,m,{length:1,0:3},1),m[1]!==3}),y=p&&e.NATIVE_ARRAY_BUFFER_VIEWS&&i(function(){var m=new f(2);return m.set(1),m.set("2",1),m[0]!==0||m[1]!==2});g("set",function(I){h(this);var x=o(arguments.length>1?arguments[1]:void 0,1),S=u(I);if(p)return n(d,this,S,x);var T=this.length,E=a(S),O=0;if(E+x>T)throw new v("Wrong length");for(;O<E;)this[x+O]=S[O++]},!p||y)},69997:function(s,l,t){var r=t(88037),n=t(72069),e=t(22806),a=r.aTypedArray,o=r.getTypedArrayConstructor,u=r.exportTypedArrayMethod,i=n(function(){new Int8Array(1).slice()});u("slice",function(f,c){for(var d=e(a(this),f,c),h=o(this),g=0,p=d.length,y=new h(p);p>g;)y[g]=d[g++];return y},i)},9711:function(s,l,t){var r=t(88037),n=t(66655).some,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("some",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},3923:function(s,l,t){var r=t(34246),n=t(77422),e=t(72069),a=t(85156),o=t(13270),u=t(88037),i=t(507),v=t(17417),f=t(44241),c=t(66577),d=u.aTypedArray,h=u.exportTypedArrayMethod,g=r.Uint16Array,p=g&&n(g.prototype.sort),y=!!p&&!(e(function(){p(new g(2),null)})&&e(function(){p(new g(2),{})})),m=!!p&&!e(function(){if(f)return f<74;if(i)return i<67;if(v)return!0;if(c)return c<602;var x=new g(516),S=Array(516),T,E;for(T=0;T<516;T++)E=T%4,x[T]=515-T,S[T]=T-2*E+3;for(p(x,function(O,A){return(O/4|0)-(A/4|0)}),T=0;T<516;T++)if(x[T]!==S[T])return!0}),I=function(x){return function(S,T){return x!==void 0?+x(S,T)||0:T!==T?-1:S!==S?1:S===0&&T===0?1/S>0&&1/T<0?1:-1:S>T}};h("sort",function(S){return S!==void 0&&a(S),m?p(this,S):o(d(this),I(S))},!m||y)},59728:function(s,l,t){var r=t(88037),n=t(45344),e=t(4652),a=r.aTypedArray,o=r.getTypedArrayConstructor,u=r.exportTypedArrayMethod;u("subarray",function(v,f){var c=a(this),d=c.length,h=e(v,d),g=o(c);return new g(c.buffer,c.byteOffset+h*c.BYTES_PER_ELEMENT,n((f===void 0?d:e(f,d))-h))})},85227:function(s,l,t){var r=t(34246),n=t(66543),e=t(88037),a=t(72069),o=t(22806),u=r.Int8Array,i=e.aTypedArray,v=e.exportTypedArrayMethod,f=[].toLocaleString,c=!!u&&a(function(){f.call(new u(1))}),d=a(function(){return[1,2].toLocaleString()!==new u([1,2]).toLocaleString()})||!a(function(){u.prototype.toLocaleString.call([1,2])});v("toLocaleString",function(){return n(f,c?o(i(this)):i(this),o(arguments))},d)},56933:function(s,l,t){var r=t(61638),n=t(88037),e=n.aTypedArray,a=n.exportTypedArrayMethod,o=n.getTypedArrayConstructor;a("toReversed",function(){return r(e(this),o(this))})},91490:function(s,l,t){var r=t(88037),n=t(11286),e=t(85156),a=t(5220),o=r.aTypedArray,u=r.getTypedArrayConstructor,i=r.exportTypedArrayMethod,v=n(r.TypedArrayPrototype.sort);i("toSorted",function(c){c!==void 0&&e(c);var d=o(this),h=a(u(d),d);return v(h,c)})},61766:function(s,l,t){var r=t(88037).exportTypedArrayMethod,n=t(72069),e=t(34246),a=t(11286),o=e.Uint8Array,u=o&&o.prototype||{},i=[].toString,v=a([].join);n(function(){i.call({})})&&(i=function(){return v(this)});var f=u.toString!==i;r("toString",i,f)},44884:function(s,l,t){var r=t(80357);r("Uint16",function(n){return function(a,o,u){return n(this,a,o,u)}})},48658:function(s,l,t){var r=t(80357);r("Uint32",function(n){return function(a,o,u){return n(this,a,o,u)}})},81083:function(s,l,t){var r=t(80357);r("Uint8",function(n){return function(a,o,u){return n(this,a,o,u)}})},27428:function(s,l,t){var r=t(80357);r("Uint8",function(n){return function(a,o,u){return n(this,a,o,u)}},!0)},85143:function(s,l,t){var r=t(72302),n=t(88037),e=t(77129),a=t(12105),o=t(11344),u=n.aTypedArray,i=n.getTypedArrayConstructor,v=n.exportTypedArrayMethod,f=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(c){return c===8}}();v("with",function(c,d){var h=u(this),g=a(c),p=e(h)?o(d):+d;return r(h,i(h),g,p)},!f)},47005:function(s,l,t){var r=t(14304),n=t(11286),e=t(17361),a=String.fromCharCode,o=n("".charAt),u=n(/./.exec),i=n("".slice),v=/^[\da-f]{2}$/i,f=/^[\da-f]{4}$/i;r({global:!0},{unescape:function(d){for(var h=e(d),g="",p=h.length,y=0,m,I;y<p;){if(m=o(h,y++),m==="%"){if(o(h,y)==="u"){if(I=i(h,y+1,y+5),u(f,I)){g+=a(parseInt(I,16)),y+=5;continue}}else if(I=i(h,y,y+2),u(v,I)){g+=a(parseInt(I,16)),y+=2;continue}}g+=m}return g}})},21084:function(s,l,t){var r=t(27534),n=t(34246),e=t(11286),a=t(2725),o=t(31853),u=t(89378),i=t(94667),v=t(37540),f=t(82367).enforce,c=t(72069),d=t(42960),h=Object,g=Array.isArray,p=h.isExtensible,y=h.isFrozen,m=h.isSealed,I=h.freeze,x=h.seal,S=!n.ActiveXObject&&"ActiveXObject"in n,T,E=function(D){return function(){return D(this,arguments.length?arguments[0]:void 0)}},O=u("WeakMap",E,i),A=O.prototype,C=e(A.set),P=function(){return r&&c(function(){var D=I([]);return C(new O,D,1),!y(D)})};if(d)if(S){T=i.getConstructor(E,"WeakMap",!0),o.enable();var N=e(A.delete),$=e(A.has),U=e(A.get);a(A,{delete:function(D){if(v(D)&&!p(D)){var F=f(this);return F.frozen||(F.frozen=new T),N(this,D)||F.frozen.delete(D)}return N(this,D)},has:function(F){if(v(F)&&!p(F)){var L=f(this);return L.frozen||(L.frozen=new T),$(this,F)||L.frozen.has(F)}return $(this,F)},get:function(F){if(v(F)&&!p(F)){var L=f(this);return L.frozen||(L.frozen=new T),$(this,F)?U(this,F):L.frozen.get(F)}return U(this,F)},set:function(F,L){if(v(F)&&!p(F)){var j=f(this);j.frozen||(j.frozen=new T),$(this,F)?C(this,F,L):j.frozen.set(F,L)}else C(this,F,L);return this}})}else P()&&a(A,{set:function(F,L){var j;return g(F)&&(y(F)?j=I:m(F)&&(j=x)),C(this,F,L),j&&j(F),this}})},10042:function(s,l,t){t(21084)},58990:function(s,l,t){var r=t(89378),n=t(94667);r("WeakSet",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},n)},37888:function(s,l,t){t(58990)},19431:function(s,l,t){var r=t(14304),n=t(34246),e=t(38941),a=t(11286),o=t(96499),u=t(72069),i=t(17361),v=t(95486),f=t(6210).c2i,c=/[^\d+/a-z]/i,d=/[\t\n\f\r ]+/g,h=/[=]{1,2}$/,g=e("atob"),p=String.fromCharCode,y=a("".charAt),m=a("".replace),I=a(c.exec),x=!!g&&!u(function(){return g("aGk=")!=="hi"}),S=x&&u(function(){return g(" ")!==""}),T=x&&!u(function(){g("a")}),E=x&&!u(function(){g()}),O=x&&g.length!==1,A=!x||S||T||E||O;r({global:!0,bind:!0,enumerable:!0,forced:A},{atob:function(P){if(v(arguments.length,1),x&&!S&&!T)return o(g,n,P);var N=m(i(P),d,""),$="",U=0,D=0,F,L,j;if(N.length%4===0&&(N=m(N,h,"")),F=N.length,F%4===1||I(c,N))throw new(e("DOMException"))("The string is not correctly encoded","InvalidCharacterError");for(;U<F;)L=y(N,U++),j=D%4?j*64+f[L]:f[L],D++%4&&($+=p(255&j>>(-2*D&6)));return $}})},60869:function(s,l,t){var r=t(14304),n=t(34246),e=t(38941),a=t(11286),o=t(96499),u=t(72069),i=t(17361),v=t(95486),f=t(6210).i2c,c=e("btoa"),d=a("".charAt),h=a("".charCodeAt),g=!!c&&!u(function(){return c("hi")!=="aGk="}),p=g&&!u(function(){c()}),y=g&&u(function(){return c(null)!=="bnVsbA=="}),m=g&&c.length!==1;r({global:!0,bind:!0,enumerable:!0,forced:!g||p||y||m},{btoa:function(x){if(v(arguments.length,1),g)return o(c,n,i(x));for(var S=i(x),T="",E=0,O=f,A,C;d(S,E)||(O="=",E%1);){if(C=h(S,E+=.75),C>255)throw new(e("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");A=A<<8|C,T+=d(O,63&A>>8-E%1*8)}return T}})},66722:function(s,l,t){var r=t(14304),n=t(34246),e=t(23115).clear;r({global:!0,bind:!0,enumerable:!0,forced:n.clearImmediate!==e},{clearImmediate:e})},50338:function(s,l,t){var r=t(34246),n=t(93014),e=t(39882),a=t(13349),o=t(90809),u=function(v){if(v&&v.forEach!==a)try{o(v,"forEach",a)}catch(f){v.forEach=a}};for(var i in n)n[i]&&u(r[i]&&r[i].prototype);u(e)},53059:function(s,l,t){var r=t(34246),n=t(93014),e=t(39882),a=t(35054),o=t(90809),u=t(78401),i=t(18565),v=i("iterator"),f=a.values,c=function(h,g){if(h){if(h[v]!==f)try{o(h,v,f)}catch(y){h[v]=f}if(u(h,g,!0),n[g]){for(var p in a)if(h[p]!==a[p])try{o(h,p,a[p])}catch(y){h[p]=a[p]}}}};for(var d in n)c(r[d]&&r[d].prototype,d);c(e,"DOMTokenList")},5805:function(s,l,t){var r=t(14304),n=t(38941),e=t(81191),a=t(72069),o=t(5406),u=t(18526),i=t(7831).f,v=t(16142),f=t(85500),c=t(94879),d=t(12833),h=t(25001),g=t(58434),p=t(15453),y=t(74408),m=t(40851),I=t(82367),x=t(92986),S=t(70457),T="DOMException",E="DATA_CLONE_ERR",O=n("Error"),A=n(T)||function(){try{var at=n("MessageChannel")||e("worker_threads").MessageChannel;new at().port1.postMessage(new WeakMap)}catch(ct){if(ct.name===E&&ct.code===25)return ct.constructor}}(),C=A&&A.prototype,P=O.prototype,N=I.set,$=I.getterFor(T),U="stack"in new O(T),D=function(at){return c(y,at)&&y[at].m?y[at].c:0},F=function(){d(this,L);var ct=arguments.length,Ot=p(ct<1?void 0:arguments[0]),Ct=p(ct<2?void 0:arguments[1],"Error"),It=D(Ct);if(N(this,{type:T,name:Ct,message:Ot,code:It}),x||(this.name=Ct,this.message=Ot,this.code=It),U){var Ft=new O(Ot);Ft.name=T,i(this,"stack",u(1,m(Ft.stack,1)))}},L=F.prototype=o(P),j=function(at){return{enumerable:!0,configurable:!0,get:at}},W=function(at){return j(function(){return $(this)[at]})};x&&(f(L,"code",W("code")),f(L,"message",W("message")),f(L,"name",W("name"))),i(L,"constructor",u(1,F));var b=a(function(){return!(new A instanceof O)}),K=b||a(function(){return P.toString!==g||String(new A(1,2))!=="2: 1"}),z=b||a(function(){return new A(1,"DataCloneError").code!==25}),it=b||A[E]!==25||C[E]!==25,et=S?K||z||it:b;r({global:!0,constructor:!0,forced:et},{DOMException:et?F:A});var lt=n(T),pt=lt.prototype;K&&(S||A===lt)&&v(pt,"toString",g),z&&x&&A===lt&&f(pt,"code",j(function(){return D(h(this).name)}));for(var mt in y)if(c(y,mt)){var Bt=y[mt],Ut=Bt.s,Nt=u(6,Bt.c);c(lt,Ut)||i(lt,Ut,Nt),c(pt,Ut)||i(pt,Ut,Nt)}},50685:function(s,l,t){var r=t(14304),n=t(34246),e=t(38941),a=t(18526),o=t(7831).f,u=t(94879),i=t(12833),v=t(32345),f=t(15453),c=t(74408),d=t(40851),h=t(92986),g=t(70457),p="DOMException",y=e("Error"),m=e(p),I=function(){i(this,x);var F=arguments.length,L=f(F<1?void 0:arguments[0]),j=f(F<2?void 0:arguments[1],"Error"),W=new m(L,j),b=new y(L);return b.name=p,o(W,"stack",a(1,d(b.stack,1))),v(W,this,I),W},x=I.prototype=m.prototype,S="stack"in new y(p),T="stack"in new m(1,2),E=m&&h&&Object.getOwnPropertyDescriptor(n,p),O=!!E&&!(E.writable&&E.configurable),A=S&&!O&&!T;r({global:!0,constructor:!0,forced:g||A},{DOMException:A?I:m});var C=e(p),P=C.prototype;if(P.constructor!==C){g||o(P,"constructor",a(1,C));for(var N in c)if(u(c,N)){var $=c[N],U=$.s;u(C,U)||o(C,U,a(6,$.c))}}},70649:function(s,l,t){var r=t(38941),n=t(78401),e="DOMException";n(r(e),e)},39842:function(s,l,t){t(66722),t(8235)},82872:function(s,l,t){var r=t(14304),n=t(34246),e=t(9709),a=t(85156),o=t(95486),u=t(72069),i=t(92986),v=u(function(){return i&&Object.getOwnPropertyDescriptor(n,"queueMicrotask").value.length!==1});r({global:!0,enumerable:!0,dontCallGetSet:!0,forced:v},{queueMicrotask:function(c){o(arguments.length,1),e(a(c))}})},91401:function(s,l,t){var r=t(14304),n=t(34246),e=t(85500),a=t(92986),o=TypeError,u=Object.defineProperty,i=n.self!==n;try{if(a){var v=Object.getOwnPropertyDescriptor(n,"self");(i||!v||!v.get||!v.enumerable)&&e(n,"self",{get:function(){return n},set:function(c){if(this!==n)throw new o("Illegal invocation");u(n,"self",{value:c,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else r({global:!0,simple:!0,forced:i},{self:n})}catch(f){}},8235:function(s,l,t){var r=t(14304),n=t(34246),e=t(23115).set,a=t(9934),o=n.setImmediate?a(e,!1):e;r({global:!0,bind:!0,enumerable:!0,forced:n.setImmediate!==o},{setImmediate:o})},63981:function(s,l,t){var r=t(14304),n=t(34246),e=t(9934),a=e(n.setInterval,!0);r({global:!0,bind:!0,forced:n.setInterval!==a},{setInterval:a})},23913:function(s,l,t){var r=t(14304),n=t(34246),e=t(9934),a=e(n.setTimeout,!0);r({global:!0,bind:!0,forced:n.setTimeout!==a},{setTimeout:a})},92904:function(s,l,t){var r=t(70457),n=t(14304),e=t(34246),a=t(38941),o=t(11286),u=t(72069),i=t(36374),v=t(23583),f=t(11051),c=t(5683),d=t(37540),h=t(491),g=t(55902),p=t(25001),y=t(9205),m=t(94879),I=t(84082),x=t(90809),S=t(82628),T=t(95486),E=t(54932),O=t(1774),A=t(172),C=t(35051),P=t(63741),N=t(16929),$=t(99050),U=e.Object,D=e.Array,F=e.Date,L=e.Error,j=e.TypeError,W=e.PerformanceMark,b=a("DOMException"),K=O.Map,z=O.has,it=O.get,et=O.set,lt=A.Set,pt=A.add,mt=A.has,Bt=a("Object","keys"),Ut=o([].push),Nt=o((!0).valueOf),at=o(1 .valueOf),ct=o("".valueOf),Ot=o(F.prototype.getTime),Ct=i("structuredClone"),It="DataCloneError",Ft="Transferring",Wt=function(V){return!u(function(){var w=new e.Set([7]),tt=V(w),k=V(U(7));return tt===w||!tt.has(7)||!d(k)||+k!=7})&&V},Kt=function(V,w){return!u(function(){var tt=new w,k=V({a:tt,b:tt});return!(k&&k.a===k.b&&k.a instanceof w&&k.a.stack===tt.stack)})},Gt=function(V){return!u(function(){var w=V(new e.AggregateError([1],Ct,{cause:3}));return w.name!=="AggregateError"||w.errors[0]!==1||w.message!==Ct||w.cause!==3})},Mt=e.structuredClone,bt=r||!Kt(Mt,L)||!Kt(Mt,b)||!Gt(Mt),jt=!Mt&&Wt(function(V){return new W(Ct,{detail:V}).detail}),Lt=Wt(Mt)||jt,q=function(V){throw new b("Uncloneable type: "+V,It)},st=function(V,w){throw new b((w||"Cloning")+" of "+V+" cannot be properly polyfilled in this engine",It)},Y=function(V,w){return Lt||st(w),Lt(V)},xt=function(){var V;try{V=new e.DataTransfer}catch(w){try{V=new e.ClipboardEvent("").clipboardData}catch(tt){}}return V&&V.items&&V.files?V:null},St=function(V,w,tt){if(z(w,V))return it(w,V);var k=tt||y(V),ot,J,Rt,zt,Q,vt;if(k==="SharedArrayBuffer")Lt?ot=Lt(V):ot=V;else{var ft=e.DataView;!ft&&!v(V.slice)&&st("ArrayBuffer");try{if(v(V.slice)&&!V.resizable)ot=V.slice(0);else for(J=V.byteLength,Rt=("maxByteLength"in V)?{maxByteLength:V.maxByteLength}:void 0,ot=new ArrayBuffer(J,Rt),zt=new ft(V),Q=new ft(ot),vt=0;vt<J;vt++)Q.setUint8(vt,zt.getUint8(vt))}catch(dt){throw new b("ArrayBuffer is detached",It)}}return et(w,V,ot),ot},gt=function(V,w,tt,k,ot){var J=e[w];return d(J)||st(w),new J(St(V.buffer,ot),tt,k)},ht=function(V,w){if(h(V)&&q("Symbol"),!d(V))return V;if(w){if(z(w,V))return it(w,V)}else w=new K;var tt=y(V),k,ot,J,Rt,zt,Q,vt,ft;switch(tt){case"Array":J=D(S(V));break;case"Object":J={};break;case"Map":J=new K;break;case"Set":J=new lt;break;case"RegExp":J=new RegExp(V.source,E(V));break;case"Error":switch(ot=V.name,ot){case"AggregateError":J=new(a(ot))([]);break;case"EvalError":case"RangeError":case"ReferenceError":case"SuppressedError":case"SyntaxError":case"TypeError":case"URIError":J=new(a(ot));break;case"CompileError":case"LinkError":case"RuntimeError":J=new(a("WebAssembly",ot));break;default:J=new L}break;case"DOMException":J=new b(V.message,V.name);break;case"ArrayBuffer":case"SharedArrayBuffer":J=St(V,w,tt);break;case"DataView":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float16Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":Q=tt==="DataView"?V.byteLength:V.length,J=gt(V,tt,V.byteOffset,Q,w);break;case"DOMQuad":try{J=new DOMQuad(ht(V.p1,w),ht(V.p2,w),ht(V.p3,w),ht(V.p4,w))}catch(dt){J=Y(V,tt)}break;case"File":if(Lt)try{J=Lt(V),y(J)!==tt&&(J=void 0)}catch(dt){}if(!J)try{J=new File([V],V.name,V)}catch(dt){}J||st(tt);break;case"FileList":if(Rt=xt(),Rt){for(zt=0,Q=S(V);zt<Q;zt++)Rt.items.add(ht(V[zt],w));J=Rt.files}else J=Y(V,tt);break;case"ImageData":try{J=new ImageData(ht(V.data,w),V.width,V.height,{colorSpace:V.colorSpace})}catch(dt){J=Y(V,tt)}break;default:if(Lt)J=Lt(V);else switch(tt){case"BigInt":J=U(V.valueOf());break;case"Boolean":J=U(Nt(V));break;case"Number":J=U(at(V));break;case"String":J=U(ct(V));break;case"Date":J=new F(Ot(V));break;case"Blob":try{J=V.slice(0,V.size,V.type)}catch(dt){st(tt)}break;case"DOMPoint":case"DOMPointReadOnly":k=e[tt];try{J=k.fromPoint?k.fromPoint(V):new k(V.x,V.y,V.z,V.w)}catch(dt){st(tt)}break;case"DOMRect":case"DOMRectReadOnly":k=e[tt];try{J=k.fromRect?k.fromRect(V):new k(V.x,V.y,V.width,V.height)}catch(dt){st(tt)}break;case"DOMMatrix":case"DOMMatrixReadOnly":k=e[tt];try{J=k.fromMatrix?k.fromMatrix(V):new k(V)}catch(dt){st(tt)}break;case"AudioData":case"VideoFrame":v(V.clone)||st(tt);try{J=V.clone()}catch(dt){q(tt)}break;case"CropTarget":case"CryptoKey":case"FileSystemDirectoryHandle":case"FileSystemFileHandle":case"FileSystemHandle":case"GPUCompilationInfo":case"GPUCompilationMessage":case"ImageBitmap":case"RTCCertificate":case"WebAssembly.Module":st(tt);default:q(tt)}}switch(et(w,V,J),tt){case"Array":case"Object":for(vt=Bt(V),zt=0,Q=S(vt);zt<Q;zt++)ft=vt[zt],I(J,ft,ht(V[ft],w));break;case"Map":V.forEach(function(dt,Dt){et(J,ht(Dt,w),ht(dt,w))});break;case"Set":V.forEach(function(dt){pt(J,ht(dt,w))});break;case"Error":x(J,"message",ht(V.message,w)),m(V,"cause")&&x(J,"cause",ht(V.cause,w)),ot==="AggregateError"?J.errors=ht(V.errors,w):ot==="SuppressedError"&&(J.error=ht(V.error,w),J.suppressed=ht(V.suppressed,w));case"DOMException":N&&x(J,"stack",ht(V.stack,w))}return J},Jt=function(V,w){if(!d(V))throw new j("Transfer option cannot be converted to a sequence");var tt=[];g(V,function(Dt){Ut(tt,p(Dt))});for(var k=0,ot=S(tt),J=new lt,Rt,zt,Q,vt,ft,dt;k<ot;){if(Rt=tt[k++],zt=y(Rt),zt==="ArrayBuffer"?mt(J,Rt):z(w,Rt))throw new b("Duplicate transferable",It);if(zt==="ArrayBuffer"){pt(J,Rt);continue}if($)vt=Mt(Rt,{transfer:[Rt]});else switch(zt){case"ImageBitmap":Q=e.OffscreenCanvas,f(Q)||st(zt,Ft);try{ft=new Q(Rt.width,Rt.height),dt=ft.getContext("bitmaprenderer"),dt.transferFromImageBitmap(Rt),vt=ft.transferToImageBitmap()}catch(Dt){}break;case"AudioData":case"VideoFrame":(!v(Rt.clone)||!v(Rt.close))&&st(zt,Ft);try{vt=Rt.clone(),Rt.close()}catch(Dt){}break;case"MediaSourceHandle":case"MessagePort":case"MIDIAccess":case"OffscreenCanvas":case"ReadableStream":case"RTCDataChannel":case"TransformStream":case"WebTransportReceiveStream":case"WebTransportSendStream":case"WritableStream":st(zt,Ft)}if(vt===void 0)throw new b("This object cannot be transferred: "+zt,It);et(w,Rt,vt)}return J},Zt=function(V){C(V,function(w){$?Lt(w,{transfer:[w]}):v(w.transfer)?w.transfer():P?P(w):st("ArrayBuffer",Ft)})};n({global:!0,enumerable:!0,sham:!$,forced:bt},{structuredClone:function(w){var tt=T(arguments.length,1)>1&&!c(arguments[1])?p(arguments[1]):void 0,k=tt?tt.transfer:void 0,ot,J;k!==void 0&&(ot=new K,J=Jt(k,ot));var Rt=ht(w,ot);return J&&Zt(J),Rt}})},28381:function(s,l,t){t(63981),t(23913)},98812:function(s,l,t){t(35054),t(93087);var r=t(14304),n=t(34246),e=t(28167),a=t(38941),o=t(96499),u=t(11286),i=t(92986),v=t(91918),f=t(16142),c=t(85500),d=t(2725),h=t(78401),g=t(26820),p=t(82367),y=t(12833),m=t(23583),I=t(94879),x=t(45526),S=t(9205),T=t(25001),E=t(37540),O=t(17361),A=t(5406),C=t(18526),P=t(90619),N=t(81077),$=t(10659),U=t(95486),D=t(18565),F=t(13270),L=D("iterator"),j="URLSearchParams",W=j+"Iterator",b=p.set,K=p.getterFor(j),z=p.getterFor(W),it=e("fetch"),et=e("Request"),lt=e("Headers"),pt=et&&et.prototype,mt=lt&<.prototype,Bt=n.TypeError,Ut=n.encodeURIComponent,Nt=String.fromCharCode,at=a("String","fromCodePoint"),ct=parseInt,Ot=u("".charAt),Ct=u([].join),It=u([].push),Ft=u("".replace),Wt=u([].shift),Kt=u([].splice),Gt=u("".split),Mt=u("".slice),bt=u(/./.exec),jt=/\+/g,Lt="\uFFFD",q=/^[0-9a-f]+$/i,st=function(Q,vt){var ft=Mt(Q,vt,vt+2);return bt(q,ft)?ct(ft,16):NaN},Y=function(Q){for(var vt=0,ft=128;ft>0&&Q&ft;ft>>=1)vt++;return vt},xt=function(Q){var vt=null;switch(Q.length){case 1:vt=Q[0];break;case 2:vt=(Q[0]&31)<<6|Q[1]&63;break;case 3:vt=(Q[0]&15)<<12|(Q[1]&63)<<6|Q[2]&63;break;case 4:vt=(Q[0]&7)<<18|(Q[1]&63)<<12|(Q[2]&63)<<6|Q[3]&63;break}return vt>1114111?null:vt},St=function(Q){Q=Ft(Q,jt," ");for(var vt=Q.length,ft="",dt=0;dt<vt;){var Dt=Ot(Q,dt);if(Dt==="%"){if(Ot(Q,dt+1)==="%"||dt+3>vt){ft+="%",dt++;continue}var Ht=st(Q,dt+1);if(Ht!==Ht){ft+=Dt,dt++;continue}dt+=2;var Yt=Y(Ht);if(Yt===0)Dt=Nt(Ht);else{if(Yt===1||Yt>4){ft+=Lt,dt++;continue}for(var Qt=[Ht],kt=1;kt<Yt&&(dt++,!(dt+3>vt||Ot(Q,dt)!=="%"));){var tr=st(Q,dt+1);if(tr!==tr){dt+=3;break}if(tr>191||tr<128)break;It(Qt,tr),dt+=2,kt++}if(Qt.length!==Yt){ft+=Lt;continue}var ur=xt(Qt);ur===null?ft+=Lt:Dt=at(ur)}}ft+=Dt,dt++}return ft},gt=/[!'()~]|%20/g,ht={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Jt=function(Q){return ht[Q]},Zt=function(Q){return Ft(Ut(Q),gt,Jt)},V=g(function(vt,ft){b(this,{type:W,target:K(vt).entries,index:0,kind:ft})},j,function(){var vt=z(this),ft=vt.target,dt=vt.index++;if(!ft||dt>=ft.length)return vt.target=null,$(void 0,!0);var Dt=ft[dt];switch(vt.kind){case"keys":return $(Dt.key,!1);case"values":return $(Dt.value,!1)}return $([Dt.key,Dt.value],!1)},!0),w=function(Q){this.entries=[],this.url=null,Q!==void 0&&(E(Q)?this.parseObject(Q):this.parseQuery(typeof Q=="string"?Ot(Q,0)==="?"?Mt(Q,1):Q:O(Q)))};w.prototype={type:j,bindURL:function(Q){this.url=Q,this.update()},parseObject:function(Q){var vt=this.entries,ft=N(Q),dt,Dt,Ht,Yt,Qt,kt,tr;if(ft)for(dt=P(Q,ft),Dt=dt.next;!(Ht=o(Dt,dt)).done;){if(Yt=P(T(Ht.value)),Qt=Yt.next,(kt=o(Qt,Yt)).done||(tr=o(Qt,Yt)).done||!o(Qt,Yt).done)throw new Bt("Expected sequence with length 2");It(vt,{key:O(kt.value),value:O(tr.value)})}else for(var ur in Q)I(Q,ur)&&It(vt,{key:ur,value:O(Q[ur])})},parseQuery:function(Q){if(Q)for(var vt=this.entries,ft=Gt(Q,"&"),dt=0,Dt,Ht;dt<ft.length;)Dt=ft[dt++],Dt.length&&(Ht=Gt(Dt,"="),It(vt,{key:St(Wt(Ht)),value:St(Ct(Ht,"="))}))},serialize:function(){for(var Q=this.entries,vt=[],ft=0,dt;ft<Q.length;)dt=Q[ft++],It(vt,Zt(dt.key)+"="+Zt(dt.value));return Ct(vt,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var tt=function(){y(this,k);var vt=arguments.length>0?arguments[0]:void 0,ft=b(this,new w(vt));i||(this.size=ft.entries.length)},k=tt.prototype;if(d(k,{append:function(vt,ft){var dt=K(this);U(arguments.length,2),It(dt.entries,{key:O(vt),value:O(ft)}),i||this.length++,dt.updateURL()},delete:function(Q){for(var vt=K(this),ft=U(arguments.length,1),dt=vt.entries,Dt=O(Q),Ht=ft<2?void 0:arguments[1],Yt=Ht===void 0?Ht:O(Ht),Qt=0;Qt<dt.length;){var kt=dt[Qt];if(kt.key===Dt&&(Yt===void 0||kt.value===Yt)){if(Kt(dt,Qt,1),Yt!==void 0)break}else Qt++}i||(this.size=dt.length),vt.updateURL()},get:function(vt){var ft=K(this).entries;U(arguments.length,1);for(var dt=O(vt),Dt=0;Dt<ft.length;Dt++)if(ft[Dt].key===dt)return ft[Dt].value;return null},getAll:function(vt){var ft=K(this).entries;U(arguments.length,1);for(var dt=O(vt),Dt=[],Ht=0;Ht<ft.length;Ht++)ft[Ht].key===dt&&It(Dt,ft[Ht].value);return Dt},has:function(vt){for(var ft=K(this).entries,dt=U(arguments.length,1),Dt=O(vt),Ht=dt<2?void 0:arguments[1],Yt=Ht===void 0?Ht:O(Ht),Qt=0;Qt<ft.length;){var kt=ft[Qt++];if(kt.key===Dt&&(Yt===void 0||kt.value===Yt))return!0}return!1},set:function(vt,ft){var dt=K(this);U(arguments.length,1);for(var Dt=dt.entries,Ht=!1,Yt=O(vt),Qt=O(ft),kt=0,tr;kt<Dt.length;kt++)tr=Dt[kt],tr.key===Yt&&(Ht?Kt(Dt,kt--,1):(Ht=!0,tr.value=Qt));Ht||It(Dt,{key:Yt,value:Qt}),i||(this.size=Dt.length),dt.updateURL()},sort:function(){var vt=K(this);F(vt.entries,function(ft,dt){return ft.key>dt.key?1:-1}),vt.updateURL()},forEach:function(vt){for(var ft=K(this).entries,dt=x(vt,arguments.length>1?arguments[1]:void 0),Dt=0,Ht;Dt<ft.length;)Ht=ft[Dt++],dt(Ht.value,Ht.key,this)},keys:function(){return new V(this,"keys")},values:function(){return new V(this,"values")},entries:function(){return new V(this,"entries")}},{enumerable:!0}),f(k,L,k.entries,{name:"entries"}),f(k,"toString",function(){return K(this).serialize()},{enumerable:!0}),i&&c(k,"size",{get:function(){return K(this).entries.length},configurable:!0,enumerable:!0}),h(tt,j),r({global:!0,constructor:!0,forced:!v},{URLSearchParams:tt}),!v&&m(lt)){var ot=u(mt.has),J=u(mt.set),Rt=function(Q){if(E(Q)){var vt=Q.body,ft;if(S(vt)===j)return ft=Q.headers?new lt(Q.headers):new lt,ot(ft,"content-type")||J(ft,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),A(Q,{body:C(0,O(vt)),headers:C(0,ft)})}return Q};if(m(it)&&r({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(vt){return it(vt,arguments.length>1?Rt(arguments[1]):{})}}),m(et)){var zt=function(vt){return y(this,pt),new et(vt,arguments.length>1?Rt(arguments[1]):{})};pt.constructor=zt,zt.prototype=pt,r({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:zt})}}s.exports={URLSearchParams:tt,getState:K}},10901:function(s,l,t){var r=t(16142),n=t(11286),e=t(17361),a=t(95486),o=URLSearchParams,u=o.prototype,i=n(u.append),v=n(u.delete),f=n(u.forEach),c=n([].push),d=new o("a=1&a=2&b=3");d.delete("a",1),d.delete("b",void 0),d+""!="a=2"&&r(u,"delete",function(h){var g=arguments.length,p=g<2?void 0:arguments[1];if(g&&p===void 0)return v(this,h);var y=[];f(this,function(A,C){c(y,{key:C,value:A})}),a(g,1);for(var m=e(h),I=e(p),x=0,S=0,T=!1,E=y.length,O;x<E;)O=y[x++],T||O.key===m?(T=!0,v(this,O.key)):S++;for(;S<E;)O=y[S++],O.key===m&&O.value===I||i(this,O.key,O.value)},{enumerable:!0,unsafe:!0})},93944:function(s,l,t){var r=t(16142),n=t(11286),e=t(17361),a=t(95486),o=URLSearchParams,u=o.prototype,i=n(u.getAll),v=n(u.has),f=new o("a=1");(f.has("a",2)||!f.has("a",void 0))&&r(u,"has",function(d){var h=arguments.length,g=h<2?void 0:arguments[1];if(h&&g===void 0)return v(this,d);var p=i(this,d);a(h,1);for(var y=e(g),m=0;m<p.length;)if(p[m++]===y)return!0;return!1},{enumerable:!0,unsafe:!0})},86650:function(s,l,t){t(98812)},79043:function(s,l,t){var r=t(92986),n=t(11286),e=t(85500),a=URLSearchParams.prototype,o=n(a.forEach);r&&!("size"in a)&&e(a,"size",{get:function(){var i=0;return o(this,function(){i++}),i},configurable:!0,enumerable:!0})},20760:function(s,l,t){var r=t(14304),n=t(38941),e=t(72069),a=t(95486),o=t(17361),u=t(91918),i=n("URL"),v=u&&e(function(){i.canParse()}),f=e(function(){return i.canParse.length!==1});r({target:"URL",stat:!0,forced:!v||f},{canParse:function(d){var h=a(arguments.length,1),g=o(d),p=h<2||arguments[1]===void 0?void 0:o(arguments[1]);try{return!!new i(g,p)}catch(y){return!1}}})},81888:function(s,l,t){t(59158);var r=t(14304),n=t(92986),e=t(91918),a=t(34246),o=t(45526),u=t(11286),i=t(16142),v=t(85500),f=t(12833),c=t(94879),d=t(16667),h=t(48258),g=t(22806),p=t(22149).codeAt,y=t(38679),m=t(17361),I=t(78401),x=t(95486),S=t(98812),T=t(82367),E=T.set,O=T.getterFor("URL"),A=S.URLSearchParams,C=S.getState,P=a.URL,N=a.TypeError,$=a.parseInt,U=Math.floor,D=Math.pow,F=u("".charAt),L=u(/./.exec),j=u([].join),W=u(1 .toString),b=u([].pop),K=u([].push),z=u("".replace),it=u([].shift),et=u("".split),lt=u("".slice),pt=u("".toLowerCase),mt=u([].unshift),Bt="Invalid authority",Ut="Invalid scheme",Nt="Invalid host",at="Invalid port",ct=/[a-z]/i,Ot=/[\d+-.a-z]/i,Ct=/\d/,It=/^0x/i,Ft=/^[0-7]+$/,Wt=/^\d+$/,Kt=/^[\da-f]+$/i,Gt=/[\0\t\n\r #%/:<>?@[\\\]^|]/,Mt=/[\0\t\n\r #/:<>?@[\\\]^|]/,bt=/^[\u0000-\u0020]+/,jt=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,Lt=/[\t\n\r]/g,q,st=function(G){var nt=et(G,"."),H,B,Z,At,Et,wt,_t;if(nt.length&&nt[nt.length-1]===""&&nt.length--,H=nt.length,H>4)return G;for(B=[],Z=0;Z<H;Z++){if(At=nt[Z],At==="")return G;if(Et=10,At.length>1&&F(At,0)==="0"&&(Et=L(It,At)?16:8,At=lt(At,Et===8?1:2)),At==="")wt=0;else{if(!L(Et===10?Wt:Et===8?Ft:Kt,At))return G;wt=$(At,Et)}K(B,wt)}for(Z=0;Z<H;Z++)if(wt=B[Z],Z===H-1){if(wt>=D(256,5-H))return null}else if(wt>255)return null;for(_t=b(B),Z=0;Z<B.length;Z++)_t+=B[Z]*D(256,3-Z);return _t},Y=function(G){var nt=[0,0,0,0,0,0,0,0],H=0,B=null,Z=0,At,Et,wt,_t,rr,ar,rt,qt=function(){return F(G,Z)};if(qt()===":"){if(F(G,1)!==":")return;Z+=2,H++,B=H}for(;qt();){if(H===8)return;if(qt()===":"){if(B!==null)return;Z++,H++,B=H;continue}for(At=Et=0;Et<4&&L(Kt,qt());)At=At*16+$(qt(),16),Z++,Et++;if(qt()==="."){if(Et===0||(Z-=Et,H>6))return;for(wt=0;qt();){if(_t=null,wt>0)if(qt()==="."&&wt<4)Z++;else return;if(!L(Ct,qt()))return;for(;L(Ct,qt());){if(rr=$(qt(),10),_t===null)_t=rr;else{if(_t===0)return;_t=_t*10+rr}if(_t>255)return;Z++}nt[H]=nt[H]*256+_t,wt++,(wt===2||wt===4)&&H++}if(wt!==4)return;break}else if(qt()===":"){if(Z++,!qt())return}else if(qt())return;nt[H++]=At}if(B!==null)for(ar=H-B,H=7;H!==0&&ar>0;)rt=nt[H],nt[H--]=nt[B+ar-1],nt[B+--ar]=rt;else if(H!==8)return;return nt},xt=function(G){for(var nt=null,H=1,B=null,Z=0,At=0;At<8;At++)G[At]!==0?(Z>H&&(nt=B,H=Z),B=null,Z=0):(B===null&&(B=At),++Z);return Z>H?B:nt},St=function(G){var nt,H,B,Z;if(typeof G=="number"){for(nt=[],H=0;H<4;H++)mt(nt,G%256),G=U(G/256);return j(nt,".")}if(typeof G=="object"){for(nt="",B=xt(G),H=0;H<8;H++)Z&&G[H]===0||(Z&&(Z=!1),B===H?(nt+=H?":":"::",Z=!0):(nt+=W(G[H],16),H<7&&(nt+=":")));return"["+nt+"]"}return G},gt={},ht=d({},gt,{" ":1,'"':1,"<":1,">":1,"`":1}),Jt=d({},ht,{"#":1,"?":1,"{":1,"}":1}),Zt=d({},Jt,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),V=function(G,nt){var H=p(G,0);return H>32&&H<127&&!c(nt,G)?G:encodeURIComponent(G)},w={ftp:21,file:null,http:80,https:443,ws:80,wss:443},tt=function(G,nt){var H;return G.length===2&&L(ct,F(G,0))&&((H=F(G,1))===":"||!nt&&H==="|")},k=function(G){var nt;return G.length>1&&tt(lt(G,0,2))&&(G.length===2||(nt=F(G,2))==="/"||nt==="\\"||nt==="?"||nt==="#")},ot=function(G){return G==="."||pt(G)==="%2e"},J=function(G){return G=pt(G),G===".."||G==="%2e."||G===".%2e"||G==="%2e%2e"},Rt={},zt={},Q={},vt={},ft={},dt={},Dt={},Ht={},Yt={},Qt={},kt={},tr={},ur={},xr={},Ar={},Sr={},yr={},ir={},Pr={},hr={},lr={},Er=function(G,nt,H){var B=m(G),Z,At,Et;if(nt){if(At=this.parse(B),At)throw new N(At);this.searchParams=null}else{if(H!==void 0&&(Z=new Er(H,!0)),At=this.parse(B,null,Z),At)throw new N(At);Et=C(new A),Et.bindURL(this),this.searchParams=Et}};Er.prototype={type:"URL",parse:function(G,nt,H){var B=this,Z=nt||Rt,At=0,Et="",wt=!1,_t=!1,rr=!1,ar,rt,qt,vr;for(G=m(G),nt||(B.scheme="",B.username="",B.password="",B.host=null,B.port=null,B.path=[],B.query=null,B.fragment=null,B.cannotBeABaseURL=!1,G=z(G,bt,""),G=z(G,jt,"$1")),G=z(G,Lt,""),ar=h(G);At<=ar.length;){switch(rt=ar[At],Z){case Rt:if(rt&&L(ct,rt))Et+=pt(rt),Z=zt;else{if(nt)return Ut;Z=Q;continue}break;case zt:if(rt&&(L(Ot,rt)||rt==="+"||rt==="-"||rt==="."))Et+=pt(rt);else if(rt===":"){if(nt&&(B.isSpecial()!==c(w,Et)||Et==="file"&&(B.includesCredentials()||B.port!==null)||B.scheme==="file"&&!B.host))return;if(B.scheme=Et,nt){B.isSpecial()&&w[B.scheme]===B.port&&(B.port=null);return}Et="",B.scheme==="file"?Z=xr:B.isSpecial()&&H&&H.scheme===B.scheme?Z=vt:B.isSpecial()?Z=Ht:ar[At+1]==="/"?(Z=ft,At++):(B.cannotBeABaseURL=!0,K(B.path,""),Z=Pr)}else{if(nt)return Ut;Et="",Z=Q,At=0;continue}break;case Q:if(!H||H.cannotBeABaseURL&&rt!=="#")return Ut;if(H.cannotBeABaseURL&&rt==="#"){B.scheme=H.scheme,B.path=g(H.path),B.query=H.query,B.fragment="",B.cannotBeABaseURL=!0,Z=lr;break}Z=H.scheme==="file"?xr:dt;continue;case vt:if(rt==="/"&&ar[At+1]==="/")Z=Yt,At++;else{Z=dt;continue}break;case ft:if(rt==="/"){Z=Qt;break}else{Z=ir;continue}case dt:if(B.scheme=H.scheme,rt===q)B.username=H.username,B.password=H.password,B.host=H.host,B.port=H.port,B.path=g(H.path),B.query=H.query;else if(rt==="/"||rt==="\\"&&B.isSpecial())Z=Dt;else if(rt==="?")B.username=H.username,B.password=H.password,B.host=H.host,B.port=H.port,B.path=g(H.path),B.query="",Z=hr;else if(rt==="#")B.username=H.username,B.password=H.password,B.host=H.host,B.port=H.port,B.path=g(H.path),B.query=H.query,B.fragment="",Z=lr;else{B.username=H.username,B.password=H.password,B.host=H.host,B.port=H.port,B.path=g(H.path),B.path.length--,Z=ir;continue}break;case Dt:if(B.isSpecial()&&(rt==="/"||rt==="\\"))Z=Yt;else if(rt==="/")Z=Qt;else{B.username=H.username,B.password=H.password,B.host=H.host,B.port=H.port,Z=ir;continue}break;case Ht:if(Z=Yt,rt!=="/"||F(Et,At+1)!=="/")continue;At++;break;case Yt:if(rt!=="/"&&rt!=="\\"){Z=Qt;continue}break;case Qt:if(rt==="@"){wt&&(Et="%40"+Et),wt=!0,qt=h(Et);for(var Or=0;Or<qt.length;Or++){var Nr=qt[Or];if(Nr===":"&&!rr){rr=!0;continue}var Tr=V(Nr,Zt);rr?B.password+=Tr:B.username+=Tr}Et=""}else if(rt===q||rt==="/"||rt==="?"||rt==="#"||rt==="\\"&&B.isSpecial()){if(wt&&Et==="")return Bt;At-=h(Et).length+1,Et="",Z=kt}else Et+=rt;break;case kt:case tr:if(nt&&B.scheme==="file"){Z=Sr;continue}else if(rt===":"&&!_t){if(Et==="")return Nt;if(vr=B.parseHost(Et),vr)return vr;if(Et="",Z=ur,nt===tr)return}else if(rt===q||rt==="/"||rt==="?"||rt==="#"||rt==="\\"&&B.isSpecial()){if(B.isSpecial()&&Et==="")return Nt;if(nt&&Et===""&&(B.includesCredentials()||B.port!==null))return;if(vr=B.parseHost(Et),vr)return vr;if(Et="",Z=yr,nt)return;continue}else rt==="["?_t=!0:rt==="]"&&(_t=!1),Et+=rt;break;case ur:if(L(Ct,rt))Et+=rt;else if(rt===q||rt==="/"||rt==="?"||rt==="#"||rt==="\\"&&B.isSpecial()||nt){if(Et!==""){var mr=$(Et,10);if(mr>65535)return at;B.port=B.isSpecial()&&mr===w[B.scheme]?null:mr,Et=""}if(nt)return;Z=yr;continue}else return at;break;case xr:if(B.scheme="file",rt==="/"||rt==="\\")Z=Ar;else if(H&&H.scheme==="file")switch(rt){case q:B.host=H.host,B.path=g(H.path),B.query=H.query;break;case"?":B.host=H.host,B.path=g(H.path),B.query="",Z=hr;break;case"#":B.host=H.host,B.path=g(H.path),B.query=H.query,B.fragment="",Z=lr;break;default:k(j(g(ar,At),""))||(B.host=H.host,B.path=g(H.path),B.shortenPath()),Z=ir;continue}else{Z=ir;continue}break;case Ar:if(rt==="/"||rt==="\\"){Z=Sr;break}H&&H.scheme==="file"&&!k(j(g(ar,At),""))&&(tt(H.path[0],!0)?K(B.path,H.path[0]):B.host=H.host),Z=ir;continue;case Sr:if(rt===q||rt==="/"||rt==="\\"||rt==="?"||rt==="#"){if(!nt&&tt(Et))Z=ir;else if(Et===""){if(B.host="",nt)return;Z=yr}else{if(vr=B.parseHost(Et),vr)return vr;if(B.host==="localhost"&&(B.host=""),nt)return;Et="",Z=yr}continue}else Et+=rt;break;case yr:if(B.isSpecial()){if(Z=ir,rt!=="/"&&rt!=="\\")continue}else if(!nt&&rt==="?")B.query="",Z=hr;else if(!nt&&rt==="#")B.fragment="",Z=lr;else if(rt!==q&&(Z=ir,rt!=="/"))continue;break;case ir:if(rt===q||rt==="/"||rt==="\\"&&B.isSpecial()||!nt&&(rt==="?"||rt==="#")){if(J(Et)?(B.shortenPath(),rt!=="/"&&!(rt==="\\"&&B.isSpecial())&&K(B.path,"")):ot(Et)?rt!=="/"&&!(rt==="\\"&&B.isSpecial())&&K(B.path,""):(B.scheme==="file"&&!B.path.length&&tt(Et)&&(B.host&&(B.host=""),Et=F(Et,0)+":"),K(B.path,Et)),Et="",B.scheme==="file"&&(rt===q||rt==="?"||rt==="#"))for(;B.path.length>1&&B.path[0]==="";)it(B.path);rt==="?"?(B.query="",Z=hr):rt==="#"&&(B.fragment="",Z=lr)}else Et+=V(rt,Jt);break;case Pr:rt==="?"?(B.query="",Z=hr):rt==="#"?(B.fragment="",Z=lr):rt!==q&&(B.path[0]+=V(rt,gt));break;case hr:!nt&&rt==="#"?(B.fragment="",Z=lr):rt!==q&&(rt==="'"&&B.isSpecial()?B.query+="%27":rt==="#"?B.query+="%23":B.query+=V(rt,gt));break;case lr:rt!==q&&(B.fragment+=V(rt,ht));break}At++}},parseHost:function(G){var nt,H,B;if(F(G,0)==="["){if(F(G,G.length-1)!=="]"||(nt=Y(lt(G,1,-1)),!nt))return Nt;this.host=nt}else if(this.isSpecial()){if(G=y(G),L(Gt,G)||(nt=st(G),nt===null))return Nt;this.host=nt}else{if(L(Mt,G))return Nt;for(nt="",H=h(G),B=0;B<H.length;B++)nt+=V(H[B],gt);this.host=nt}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme==="file"},includesCredentials:function(){return this.username!==""||this.password!==""},isSpecial:function(){return c(w,this.scheme)},shortenPath:function(){var G=this.path,nt=G.length;nt&&(this.scheme!=="file"||nt!==1||!tt(G[0],!0))&&G.length--},serialize:function(){var G=this,nt=G.scheme,H=G.username,B=G.password,Z=G.host,At=G.port,Et=G.path,wt=G.query,_t=G.fragment,rr=nt+":";return Z!==null?(rr+="//",G.includesCredentials()&&(rr+=H+(B?":"+B:"")+"@"),rr+=St(Z),At!==null&&(rr+=":"+At)):nt==="file"&&(rr+="//"),rr+=G.cannotBeABaseURL?Et[0]:Et.length?"/"+j(Et,"/"):"",wt!==null&&(rr+="?"+wt),_t!==null&&(rr+="#"+_t),rr},setHref:function(G){var nt=this.parse(G);if(nt)throw new N(nt);this.searchParams.update()},getOrigin:function(){var G=this.scheme,nt=this.port;if(G==="blob")try{return new pr(G.path[0]).origin}catch(H){return"null"}return G==="file"||!this.isSpecial()?"null":G+"://"+St(this.host)+(nt!==null?":"+nt:"")},getProtocol:function(){return this.scheme+":"},setProtocol:function(G){this.parse(m(G)+":",Rt)},getUsername:function(){return this.username},setUsername:function(G){var nt=h(m(G));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var H=0;H<nt.length;H++)this.username+=V(nt[H],Zt)}},getPassword:function(){return this.password},setPassword:function(G){var nt=h(m(G));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var H=0;H<nt.length;H++)this.password+=V(nt[H],Zt)}},getHost:function(){var G=this.host,nt=this.port;return G===null?"":nt===null?St(G):St(G)+":"+nt},setHost:function(G){this.cannotBeABaseURL||this.parse(G,kt)},getHostname:function(){var G=this.host;return G===null?"":St(G)},setHostname:function(G){this.cannotBeABaseURL||this.parse(G,tr)},getPort:function(){var G=this.port;return G===null?"":m(G)},setPort:function(G){this.cannotHaveUsernamePasswordPort()||(G=m(G),G===""?this.port=null:this.parse(G,ur))},getPathname:function(){var G=this.path;return this.cannotBeABaseURL?G[0]:G.length?"/"+j(G,"/"):""},setPathname:function(G){this.cannotBeABaseURL||(this.path=[],this.parse(G,yr))},getSearch:function(){var G=this.query;return G?"?"+G:""},setSearch:function(G){G=m(G),G===""?this.query=null:(F(G,0)==="?"&&(G=lt(G,1)),this.query="",this.parse(G,hr)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var G=this.fragment;return G?"#"+G:""},setHash:function(G){if(G=m(G),G===""){this.fragment=null;return}F(G,0)==="#"&&(G=lt(G,1)),this.fragment="",this.parse(G,lr)},update:function(){this.query=this.searchParams.serialize()||null}};var pr=function(nt){var H=f(this,nr),B=x(arguments.length,1)>1?arguments[1]:void 0,Z=E(H,new Er(nt,!1,B));n||(H.href=Z.serialize(),H.origin=Z.getOrigin(),H.protocol=Z.getProtocol(),H.username=Z.getUsername(),H.password=Z.getPassword(),H.host=Z.getHost(),H.hostname=Z.getHostname(),H.port=Z.getPort(),H.pathname=Z.getPathname(),H.search=Z.getSearch(),H.searchParams=Z.getSearchParams(),H.hash=Z.getHash())},nr=pr.prototype,er=function(G,nt){return{get:function(){return O(this)[G]()},set:nt&&function(H){return O(this)[nt](H)},configurable:!0,enumerable:!0}};if(n&&(v(nr,"href",er("serialize","setHref")),v(nr,"origin",er("getOrigin")),v(nr,"protocol",er("getProtocol","setProtocol")),v(nr,"username",er("getUsername","setUsername")),v(nr,"password",er("getPassword","setPassword")),v(nr,"host",er("getHost","setHost")),v(nr,"hostname",er("getHostname","setHostname")),v(nr,"port",er("getPort","setPort")),v(nr,"pathname",er("getPathname","setPathname")),v(nr,"search",er("getSearch","setSearch")),v(nr,"searchParams",er("getSearchParams")),v(nr,"hash",er("getHash","setHash"))),i(nr,"toJSON",function(){return O(this).serialize()},{enumerable:!0}),i(nr,"toString",function(){return O(this).serialize()},{enumerable:!0}),P){var Cr=P.createObjectURL,Ir=P.revokeObjectURL;Cr&&i(pr,"createObjectURL",o(Cr,P)),Ir&&i(pr,"revokeObjectURL",o(Ir,P))}I(pr,"URL"),r({global:!0,constructor:!0,forced:!e,sham:!n},{URL:pr})},51862:function(s,l,t){t(81888)},24119:function(s,l,t){var r=t(14304),n=t(38941),e=t(95486),a=t(17361),o=t(91918),u=n("URL");r({target:"URL",stat:!0,forced:!o},{parse:function(v){var f=e(arguments.length,1),c=a(v),d=f<2||arguments[1]===void 0?void 0:a(arguments[1]);try{return new u(c,d)}catch(h){return null}}})},97526:function(s,l,t){var r=t(14304),n=t(96499);r({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return n(URL.prototype.toString,this)}})},61969:function(s,l,t){t(40949),t(43657),t(43606),t(15855),t(42026),t(33257),t(59414),t(88344),t(92579),t(94655),t(8565),t(60843),t(65842),t(51595),t(54908),t(81742),t(8720),t(42861),t(27796),t(1341),t(98700),t(65481),t(46509),t(41585),t(84554),t(36619),t(33818),t(64096),t(2209),t(91591),t(74092),t(54703),t(82936),t(48493),t(64730),t(95024),t(35054),t(25460),t(60703),t(90468),t(69581),t(720),t(11042),t(17289),t(24608),t(51644),t(88088),t(46828),t(90088),t(35148),t(86184),t(53983),t(42560),t(88444),t(27839),t(73051),t(9372),t(35473),t(4983),t(6875),t(68575),t(35495),t(32790),t(58594),t(30801),t(90911),t(90429),t(33685),t(60086),t(96049),t(14038),t(55518),t(8894),t(60628),t(56347),t(16864),t(93819),t(11565),t(26668),t(46386),t(35179),t(20150),t(23001),t(40334),t(87457),t(66699),t(17535),t(48157),t(55338),t(6644),t(71332),t(47269),t(25627),t(22090),t(9839),t(15656),t(22091),t(2886),t(25895),t(24228),t(79488),t(75987),t(81555),t(87854),t(35074),t(50946),t(29417),t(80628),t(74375),t(29708),t(93449),t(9111),t(83514),t(15096),t(59590),t(99663),t(89988),t(54427),t(67895),t(57909),t(83938),t(55461),t(97339),t(3670),t(15224),t(45891),t(99910),t(92445),t(21875),t(4383),t(11361),t(13728),t(14885),t(30343),t(22045),t(75e3),t(64658),t(16017),t(84681),t(73421),t(93446),t(31046),t(94645),t(62935),t(62518),t(45130),t(51542),t(43781),t(25738),t(93247),t(41533),t(60225),t(69920),t(89205),t(78546),t(63616),t(16893),t(3676),t(58361),t(7487),t(23958),t(9798),t(2371),t(76185),t(76553),t(93518),t(25227),t(91723),t(57882),t(37796),t(11563),t(26159),t(20962),t(77487),t(6130),t(1354),t(47119),t(31145),t(96773),t(14371),t(18180),t(83147),t(75765),t(86548),t(15282),t(51275),t(91890),t(15089),t(78134),t(56456),t(40735),t(8510),t(70159),t(93087),t(26021),t(93029),t(59158),t(15599),t(18509),t(21579),t(8854),t(57676),t(14527),t(96834),t(52684),t(74980),t(390),t(42794),t(21293),t(18184),t(75012),t(19680),t(4193),t(70641),t(53892),t(95976),t(399),t(72032),t(49442),t(16012),t(9943),t(33128),t(95625),t(90614),t(60120),t(75826),t(25560),t(22571),t(40704),t(36849),t(49191),t(81083),t(27428),t(44884),t(48658),t(71998),t(6116),t(33032),t(80962),t(49381),t(38344),t(65961),t(94153),t(16028),t(20656),t(17063),t(21774),t(51761),t(12317),t(19711),t(41034),t(13313),t(44698),t(7369),t(66178),t(67961),t(8695),t(69997),t(9711),t(3923),t(59728),t(85227),t(56933),t(91490),t(61766),t(85143),t(47005),t(10042),t(37888),t(19431),t(60869),t(50338),t(53059),t(5805),t(50685),t(70649),t(39842),t(82872),t(91401),t(92904),t(28381),t(51862),t(20760),t(24119),t(97526),t(86650),t(10901),t(93944),t(79043),t(75081)}},gr={};function sr(s){var l=gr[s];if(l!==void 0)return l.exports;var t=gr[s]={exports:{}};return Fr[s].call(t.exports,t,t.exports,sr),t.exports}(function(){sr.d=function(s,l){for(var t in l)sr.o(l,t)&&!sr.o(s,t)&&Object.defineProperty(s,t,{enumerable:!0,get:l[t]})}})(),function(){sr.o=function(s,l){return Object.prototype.hasOwnProperty.call(s,l)}}(),sr(61969);var Dr=sr(19770);return Dr=Dr.default,Dr}()}); diff --git a/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-sparkline.pkgd.js b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-sparkline.pkgd.js new file mode 100644 index 000000000..243d08bb0 --- /dev/null +++ b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-sparkline.pkgd.js @@ -0,0 +1,23974 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define("bb", [], factory); + else if(typeof exports === 'object') + exports["bb"] = factory(); + else + root["bb"] = root["bb"] || {}, root["bb"]["plugin"] = root["bb"]["plugin"] || {}, root["bb"]["plugin"]["sparkline.pkgd"] = factory(); +})(this, function() { +return /******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ([ +/* 0 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +__webpack_require__(1); +__webpack_require__(97); +__webpack_require__(98); +__webpack_require__(99); +__webpack_require__(100); +__webpack_require__(101); +__webpack_require__(102); +__webpack_require__(103); +__webpack_require__(104); +__webpack_require__(105); +__webpack_require__(106); +__webpack_require__(107); +__webpack_require__(108); +__webpack_require__(109); +__webpack_require__(110); +__webpack_require__(111); +__webpack_require__(124); +__webpack_require__(126); +__webpack_require__(136); +__webpack_require__(137); +__webpack_require__(139); +__webpack_require__(143); +__webpack_require__(146); +__webpack_require__(148); +__webpack_require__(150); +__webpack_require__(151); +__webpack_require__(152); +__webpack_require__(153); +__webpack_require__(155); +__webpack_require__(156); +__webpack_require__(158); +__webpack_require__(159); +__webpack_require__(161); +__webpack_require__(165); +__webpack_require__(166); +__webpack_require__(167); +__webpack_require__(168); +__webpack_require__(173); +__webpack_require__(174); +__webpack_require__(176); +__webpack_require__(177); +__webpack_require__(178); +__webpack_require__(180); +__webpack_require__(184); +__webpack_require__(185); +__webpack_require__(186); +__webpack_require__(187); +__webpack_require__(188); +__webpack_require__(193); +__webpack_require__(195); +__webpack_require__(196); +__webpack_require__(198); +__webpack_require__(201); +__webpack_require__(202); +__webpack_require__(203); +__webpack_require__(204); +__webpack_require__(205); +__webpack_require__(207); +__webpack_require__(217); +__webpack_require__(219); +__webpack_require__(220); +__webpack_require__(222); +__webpack_require__(225); +__webpack_require__(231); +__webpack_require__(232); +__webpack_require__(233); +__webpack_require__(234); +__webpack_require__(235); +__webpack_require__(236); +__webpack_require__(240); +__webpack_require__(241); +__webpack_require__(243); +__webpack_require__(244); +__webpack_require__(245); +__webpack_require__(247); +__webpack_require__(248); +__webpack_require__(249); +__webpack_require__(250); +__webpack_require__(251); +__webpack_require__(256); +__webpack_require__(257); +__webpack_require__(258); +__webpack_require__(259); +__webpack_require__(261); +__webpack_require__(262); +__webpack_require__(263); +__webpack_require__(265); +__webpack_require__(266); +__webpack_require__(267); +__webpack_require__(268); +__webpack_require__(93); +__webpack_require__(269); +__webpack_require__(270); +__webpack_require__(278); +__webpack_require__(280); +__webpack_require__(282); +__webpack_require__(283); +__webpack_require__(284); +__webpack_require__(285); +__webpack_require__(286); +__webpack_require__(288); +__webpack_require__(289); +__webpack_require__(290); +__webpack_require__(291); +__webpack_require__(292); +__webpack_require__(294); +__webpack_require__(295); +__webpack_require__(296); +__webpack_require__(297); +__webpack_require__(298); +__webpack_require__(299); +__webpack_require__(300); +__webpack_require__(301); +__webpack_require__(305); +__webpack_require__(306); +__webpack_require__(308); +__webpack_require__(310); +__webpack_require__(311); +__webpack_require__(312); +__webpack_require__(313); +__webpack_require__(314); +__webpack_require__(316); +__webpack_require__(318); +__webpack_require__(319); +__webpack_require__(320); +__webpack_require__(321); +__webpack_require__(323); +__webpack_require__(324); +__webpack_require__(326); +__webpack_require__(327); +__webpack_require__(328); +__webpack_require__(329); +__webpack_require__(331); +__webpack_require__(332); +__webpack_require__(333); +__webpack_require__(334); +__webpack_require__(335); +__webpack_require__(336); +__webpack_require__(337); +__webpack_require__(338); +__webpack_require__(339); +__webpack_require__(341); +__webpack_require__(342); +__webpack_require__(343); +__webpack_require__(344); +__webpack_require__(345); +__webpack_require__(346); +__webpack_require__(347); +__webpack_require__(348); +__webpack_require__(349); +__webpack_require__(350); +__webpack_require__(351); +__webpack_require__(353); +__webpack_require__(354); +__webpack_require__(355); +__webpack_require__(356); +__webpack_require__(380); +__webpack_require__(381); +__webpack_require__(382); +__webpack_require__(383); +__webpack_require__(384); +__webpack_require__(385); +__webpack_require__(386); +__webpack_require__(387); +__webpack_require__(388); +__webpack_require__(389); +__webpack_require__(391); +__webpack_require__(392); +__webpack_require__(393); +__webpack_require__(394); +__webpack_require__(395); +__webpack_require__(396); +__webpack_require__(397); +__webpack_require__(398); +__webpack_require__(399); +__webpack_require__(400); +__webpack_require__(407); +__webpack_require__(408); +__webpack_require__(410); +__webpack_require__(411); +__webpack_require__(412); +__webpack_require__(413); +__webpack_require__(414); +__webpack_require__(416); +__webpack_require__(426); +__webpack_require__(428); +__webpack_require__(430); +__webpack_require__(432); +__webpack_require__(434); +__webpack_require__(436); +__webpack_require__(438); +__webpack_require__(439); +__webpack_require__(441); +__webpack_require__(444); +__webpack_require__(445); +__webpack_require__(446); +__webpack_require__(447); +__webpack_require__(448); +__webpack_require__(452); +__webpack_require__(453); +__webpack_require__(455); +__webpack_require__(456); +__webpack_require__(457); +__webpack_require__(458); +__webpack_require__(460); +__webpack_require__(461); +__webpack_require__(462); +__webpack_require__(463); +__webpack_require__(464); +__webpack_require__(465); +__webpack_require__(466); +__webpack_require__(468); +__webpack_require__(471); +__webpack_require__(474); +__webpack_require__(477); +__webpack_require__(478); +__webpack_require__(479); +__webpack_require__(480); +__webpack_require__(481); +__webpack_require__(482); +__webpack_require__(483); +__webpack_require__(484); +__webpack_require__(485); +__webpack_require__(486); +__webpack_require__(487); +__webpack_require__(488); +__webpack_require__(489); +__webpack_require__(497); +__webpack_require__(498); +__webpack_require__(499); +__webpack_require__(500); +__webpack_require__(501); +__webpack_require__(502); +__webpack_require__(503); +__webpack_require__(504); +__webpack_require__(505); +__webpack_require__(506); +__webpack_require__(507); +__webpack_require__(508); +__webpack_require__(509); +__webpack_require__(511); +__webpack_require__(512); +__webpack_require__(513); +__webpack_require__(514); +__webpack_require__(515); +__webpack_require__(516); +__webpack_require__(517); +__webpack_require__(518); +__webpack_require__(519); +__webpack_require__(520); +__webpack_require__(521); +__webpack_require__(522); +__webpack_require__(523); +__webpack_require__(524); +__webpack_require__(525); +__webpack_require__(526); +__webpack_require__(527); +__webpack_require__(528); +__webpack_require__(529); +__webpack_require__(530); +__webpack_require__(531); +__webpack_require__(532); +__webpack_require__(533); +__webpack_require__(534); +__webpack_require__(535); +__webpack_require__(536); +__webpack_require__(537); +__webpack_require__(538); +__webpack_require__(541); +__webpack_require__(543); +__webpack_require__(545); +__webpack_require__(546); +__webpack_require__(549); +__webpack_require__(550); +__webpack_require__(552); +__webpack_require__(553); +__webpack_require__(554); +__webpack_require__(558); +__webpack_require__(559); +__webpack_require__(560); +__webpack_require__(561); +__webpack_require__(564); +__webpack_require__(569); +__webpack_require__(570); +__webpack_require__(571); +__webpack_require__(572); +__webpack_require__(573); +__webpack_require__(574); +__webpack_require__(575); + +/* unused reexport */ __webpack_require__(80); + + +/***/ }), +/* 1 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(2); +__webpack_require__(90); +__webpack_require__(92); +__webpack_require__(93); +__webpack_require__(96); + + +/***/ }), +/* 2 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); +var NATIVE_SYMBOL = __webpack_require__(26); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var isPrototypeOf = __webpack_require__(24); +var anObject = __webpack_require__(46); +var toIndexedObject = __webpack_require__(12); +var toPropertyKey = __webpack_require__(18); +var $toString = __webpack_require__(68); +var createPropertyDescriptor = __webpack_require__(11); +var nativeObjectCreate = __webpack_require__(71); +var objectKeys = __webpack_require__(73); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertyNamesExternal = __webpack_require__(75); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var definePropertyModule = __webpack_require__(44); +var definePropertiesModule = __webpack_require__(72); +var propertyIsEnumerableModule = __webpack_require__(10); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var shared = __webpack_require__(34); +var sharedKey = __webpack_require__(53); +var hiddenKeys = __webpack_require__(54); +var uid = __webpack_require__(40); +var wellKnownSymbol = __webpack_require__(33); +var wrappedWellKnownSymbolModule = __webpack_require__(78); +var defineWellKnownSymbol = __webpack_require__(79); +var defineSymbolToPrimitive = __webpack_require__(81); +var setToStringTag = __webpack_require__(82); +var InternalStateModule = __webpack_require__(51); +var $forEach = (__webpack_require__(83).forEach); + +var HIDDEN = sharedKey('hidden'); +var SYMBOL = 'Symbol'; +var PROTOTYPE = 'prototype'; + +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(SYMBOL); + +var ObjectPrototype = Object[PROTOTYPE]; +var $Symbol = globalThis.Symbol; +var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE]; +var RangeError = globalThis.RangeError; +var TypeError = globalThis.TypeError; +var QObject = globalThis.QObject; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; +var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; +var push = uncurryThis([].push); + +var AllSymbols = shared('symbols'); +var ObjectPrototypeSymbols = shared('op-symbols'); +var WellKnownSymbolsStore = shared('wks'); + +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var fallbackDefineProperty = function (O, P, Attributes) { + var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); + if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; + nativeDefineProperty(O, P, Attributes); + if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { + nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); + } +}; + +var setSymbolDescriptor = DESCRIPTORS && fails(function () { + return nativeObjectCreate(nativeDefineProperty({}, 'a', { + get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } + })).a !== 7; +}) ? fallbackDefineProperty : nativeDefineProperty; + +var wrap = function (tag, description) { + var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype); + setInternalState(symbol, { + type: SYMBOL, + tag: tag, + description: description + }); + if (!DESCRIPTORS) symbol.description = description; + return symbol; +}; + +var $defineProperty = function defineProperty(O, P, Attributes) { + if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); + anObject(O); + var key = toPropertyKey(P); + anObject(Attributes); + if (hasOwn(AllSymbols, key)) { + if (!Attributes.enumerable) { + if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null))); + O[HIDDEN][key] = true; + } else { + if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; + Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); + } return setSymbolDescriptor(O, key, Attributes); + } return nativeDefineProperty(O, key, Attributes); +}; + +var $defineProperties = function defineProperties(O, Properties) { + anObject(O); + var properties = toIndexedObject(Properties); + var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); + $forEach(keys, function (key) { + if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]); + }); + return O; +}; + +var $create = function create(O, Properties) { + return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); +}; + +var $propertyIsEnumerable = function propertyIsEnumerable(V) { + var P = toPropertyKey(V); + var enumerable = call(nativePropertyIsEnumerable, this, P); + if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false; + return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P] + ? enumerable : true; +}; + +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { + var it = toIndexedObject(O); + var key = toPropertyKey(P); + if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return; + var descriptor = nativeGetOwnPropertyDescriptor(it, key); + if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) { + descriptor.enumerable = true; + } + return descriptor; +}; + +var $getOwnPropertyNames = function getOwnPropertyNames(O) { + var names = nativeGetOwnPropertyNames(toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key); + }); + return result; +}; + +var $getOwnPropertySymbols = function (O) { + var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; + var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) { + push(result, AllSymbols[key]); + } + }); + return result; +}; + +// `Symbol` constructor +// https://tc39.es/ecma262/#sec-symbol-constructor +if (!NATIVE_SYMBOL) { + $Symbol = function Symbol() { + if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor'); + var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]); + var tag = uid(description); + var setter = function (value) { + var $this = this === undefined ? globalThis : this; + if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value); + if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false; + var descriptor = createPropertyDescriptor(1, value); + try { + setSymbolDescriptor($this, tag, descriptor); + } catch (error) { + if (!(error instanceof RangeError)) throw error; + fallbackDefineProperty($this, tag, descriptor); + } + }; + if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); + return wrap(tag, description); + }; + + SymbolPrototype = $Symbol[PROTOTYPE]; + + defineBuiltIn(SymbolPrototype, 'toString', function toString() { + return getInternalState(this).tag; + }); + + defineBuiltIn($Symbol, 'withoutSetter', function (description) { + return wrap(uid(description), description); + }); + + propertyIsEnumerableModule.f = $propertyIsEnumerable; + definePropertyModule.f = $defineProperty; + definePropertiesModule.f = $defineProperties; + getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; + getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; + getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; + + wrappedWellKnownSymbolModule.f = function (name) { + return wrap(wellKnownSymbol(name), name); + }; + + if (DESCRIPTORS) { + // https://github.com/tc39/proposal-Symbol-description + defineBuiltInAccessor(SymbolPrototype, 'description', { + configurable: true, + get: function description() { + return getInternalState(this).description; + } + }); + if (!IS_PURE) { + defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); + } + } +} + +$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { + Symbol: $Symbol +}); + +$forEach(objectKeys(WellKnownSymbolsStore), function (name) { + defineWellKnownSymbol(name); +}); + +$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { + useSetter: function () { USE_SETTER = true; }, + useSimple: function () { USE_SETTER = false; } +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { + // `Object.create` method + // https://tc39.es/ecma262/#sec-object.create + create: $create, + // `Object.defineProperty` method + // https://tc39.es/ecma262/#sec-object.defineproperty + defineProperty: $defineProperty, + // `Object.defineProperties` method + // https://tc39.es/ecma262/#sec-object.defineproperties + defineProperties: $defineProperties, + // `Object.getOwnPropertyDescriptor` method + // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors + getOwnPropertyDescriptor: $getOwnPropertyDescriptor +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { + // `Object.getOwnPropertyNames` method + // https://tc39.es/ecma262/#sec-object.getownpropertynames + getOwnPropertyNames: $getOwnPropertyNames +}); + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +defineSymbolToPrimitive(); + +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag($Symbol, SYMBOL); + +hiddenKeys[HIDDEN] = true; + + +/***/ }), +/* 3 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var defineGlobalProperty = __webpack_require__(37); +var copyConstructorProperties = __webpack_require__(55); +var isForced = __webpack_require__(67); + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.dontCallGetSet - prevent calling a getter on target + options.name - the .name of the function if it does not match the key +*/ +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = globalThis; + } else if (STATIC) { + target = globalThis[TARGET] || defineGlobalProperty(TARGET, {}); + } else { + target = globalThis[TARGET] && globalThis[TARGET].prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.dontCallGetSet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + defineBuiltIn(target, key, sourceProperty, options); + } +}; + + +/***/ }), +/* 4 */ +/***/ (function(module) { + + +var check = function (it) { + return it && it.Math === Math && it; +}; + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +module.exports = + // eslint-disable-next-line es/no-global-this -- safe + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe + check(typeof self == 'object' && self) || + check(typeof global == 'object' && global) || + check(typeof this == 'object' && this) || + // eslint-disable-next-line no-new-func -- fallback + (function () { return this; })() || Function('return this')(); + + +/***/ }), +/* 5 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var call = __webpack_require__(8); +var propertyIsEnumerableModule = __webpack_require__(10); +var createPropertyDescriptor = __webpack_require__(11); +var toIndexedObject = __webpack_require__(12); +var toPropertyKey = __webpack_require__(18); +var hasOwn = __webpack_require__(38); +var IE8_DOM_DEFINE = __webpack_require__(41); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + + +/***/ }), +/* 6 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +// Detect IE8's incomplete defineProperty implementation +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; +}); + + +/***/ }), +/* 7 */ +/***/ (function(module) { + + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + + +/***/ }), +/* 8 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var call = Function.prototype.call; + +module.exports = NATIVE_BIND ? call.bind(call) : function () { + return call.apply(call, arguments); +}; + + +/***/ }), +/* 9 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-function-prototype-bind -- safe + var test = (function () { /* empty */ }).bind(); + // eslint-disable-next-line no-prototype-builtins -- safe + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + + +/***/ }), +/* 10 */ +/***/ (function(__unused_webpack_module, exports) { + + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); + +// `Object.prototype.propertyIsEnumerable` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + + +/***/ }), +/* 11 */ +/***/ (function(module) { + + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + + +/***/ }), +/* 12 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = __webpack_require__(13); +var requireObjectCoercible = __webpack_require__(16); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + + +/***/ }), +/* 13 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var classof = __webpack_require__(15); + +var $Object = Object; +var split = uncurryThis(''.split); + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +module.exports = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !$Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) === 'String' ? split(it, '') : $Object(it); +} : $Object; + + +/***/ }), +/* 14 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var FunctionPrototype = Function.prototype; +var call = FunctionPrototype.call; +var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); + +module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { + return function () { + return call.apply(fn, arguments); + }; +}; + + +/***/ }), +/* 15 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var toString = uncurryThis({}.toString); +var stringSlice = uncurryThis(''.slice); + +module.exports = function (it) { + return stringSlice(toString(it), 8, -1); +}; + + +/***/ }), +/* 16 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isNullOrUndefined = __webpack_require__(17); + +var $TypeError = TypeError; + +// `RequireObjectCoercible` abstract operation +// https://tc39.es/ecma262/#sec-requireobjectcoercible +module.exports = function (it) { + if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it); + return it; +}; + + +/***/ }), +/* 17 */ +/***/ (function(module) { + + +// we can't use just `it == null` since of `document.all` special case +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec +module.exports = function (it) { + return it === null || it === undefined; +}; + + +/***/ }), +/* 18 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPrimitive = __webpack_require__(19); +var isSymbol = __webpack_require__(22); + +// `ToPropertyKey` abstract operation +// https://tc39.es/ecma262/#sec-topropertykey +module.exports = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : key + ''; +}; + + +/***/ }), +/* 19 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var getMethod = __webpack_require__(29); +var ordinaryToPrimitive = __webpack_require__(32); +var wellKnownSymbol = __webpack_require__(33); + +var $TypeError = TypeError; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + +// `ToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-toprimitive +module.exports = function (input, pref) { + if (!isObject(input) || isSymbol(input)) return input; + var exoticToPrim = getMethod(input, TO_PRIMITIVE); + var result; + if (exoticToPrim) { + if (pref === undefined) pref = 'default'; + result = call(exoticToPrim, input, pref); + if (!isObject(result) || isSymbol(result)) return result; + throw new $TypeError("Can't convert object to primitive value"); + } + if (pref === undefined) pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + + +/***/ }), +/* 20 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); + +module.exports = function (it) { + return typeof it == 'object' ? it !== null : isCallable(it); +}; + + +/***/ }), +/* 21 */ +/***/ (function(module) { + + +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot +var documentAll = typeof document == 'object' && document.all; + +// `IsCallable` abstract operation +// https://tc39.es/ecma262/#sec-iscallable +// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing +module.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) { + return typeof argument == 'function' || argument === documentAll; +} : function (argument) { + return typeof argument == 'function'; +}; + + +/***/ }), +/* 22 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var isPrototypeOf = __webpack_require__(24); +var USE_SYMBOL_AS_UID = __webpack_require__(25); + +var $Object = Object; + +module.exports = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + var $Symbol = getBuiltIn('Symbol'); + return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it)); +}; + + +/***/ }), +/* 23 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); + +var aFunction = function (argument) { + return isCallable(argument) ? argument : undefined; +}; + +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method]; +}; + + +/***/ }), +/* 24 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +module.exports = uncurryThis({}.isPrototypeOf); + + +/***/ }), +/* 25 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-symbol -- required for testing */ +var NATIVE_SYMBOL = __webpack_require__(26); + +module.exports = NATIVE_SYMBOL && + !Symbol.sham && + typeof Symbol.iterator == 'symbol'; + + +/***/ }), +/* 26 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-symbol -- required for testing */ +var V8_VERSION = __webpack_require__(27); +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +var $String = globalThis.String; + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol('symbol detection'); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + + +/***/ }), +/* 27 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var userAgent = __webpack_require__(28); + +var process = globalThis.process; +var Deno = globalThis.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + // in old Chrome, versions of V8 isn't V8 = Chrome / 10 + // but their correct versions are not interesting for us + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} + +// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` +// so check `userAgent` even if `.v8` exists, but 0 +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) version = +match[1]; + } +} + +module.exports = version; + + +/***/ }), +/* 28 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +var navigator = globalThis.navigator; +var userAgent = navigator && navigator.userAgent; + +module.exports = userAgent ? String(userAgent) : ''; + + +/***/ }), +/* 29 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var isNullOrUndefined = __webpack_require__(17); + +// `GetMethod` abstract operation +// https://tc39.es/ecma262/#sec-getmethod +module.exports = function (V, P) { + var func = V[P]; + return isNullOrUndefined(func) ? undefined : aCallable(func); +}; + + +/***/ }), +/* 30 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +// `Assert: IsCallable(argument) is true` +module.exports = function (argument) { + if (isCallable(argument)) return argument; + throw new $TypeError(tryToString(argument) + ' is not a function'); +}; + + +/***/ }), +/* 31 */ +/***/ (function(module) { + + +var $String = String; + +module.exports = function (argument) { + try { + return $String(argument); + } catch (error) { + return 'Object'; + } +}; + + +/***/ }), +/* 32 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); + +var $TypeError = TypeError; + +// `OrdinaryToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-ordinarytoprimitive +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + throw new $TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), +/* 33 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var shared = __webpack_require__(34); +var hasOwn = __webpack_require__(38); +var uid = __webpack_require__(40); +var NATIVE_SYMBOL = __webpack_require__(26); +var USE_SYMBOL_AS_UID = __webpack_require__(25); + +var Symbol = globalThis.Symbol; +var WellKnownSymbolsStore = shared('wks'); +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid; + +module.exports = function (name) { + if (!hasOwn(WellKnownSymbolsStore, name)) { + WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) + ? Symbol[name] + : createWellKnownSymbol('Symbol.' + name); + } return WellKnownSymbolsStore[name]; +}; + + +/***/ }), +/* 34 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var store = __webpack_require__(35); + +module.exports = function (key, value) { + return store[key] || (store[key] = value || {}); +}; + + +/***/ }), +/* 35 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var IS_PURE = __webpack_require__(36); +var globalThis = __webpack_require__(4); +var defineGlobalProperty = __webpack_require__(37); + +var SHARED = '__core-js_shared__'; +var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {}); + +(store.versions || (store.versions = [])).push({ + version: '3.39.0', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)', + license: 'https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE', + source: 'https://github.com/zloirock/core-js' +}); + + +/***/ }), +/* 36 */ +/***/ (function(module) { + + +module.exports = false; + + +/***/ }), +/* 37 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; + +module.exports = function (key, value) { + try { + defineProperty(globalThis, key, { value: value, configurable: true, writable: true }); + } catch (error) { + globalThis[key] = value; + } return value; +}; + + +/***/ }), +/* 38 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toObject = __webpack_require__(39); + +var hasOwnProperty = uncurryThis({}.hasOwnProperty); + +// `HasOwnProperty` abstract operation +// https://tc39.es/ecma262/#sec-hasownproperty +// eslint-disable-next-line es/no-object-hasown -- safe +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + + +/***/ }), +/* 39 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var requireObjectCoercible = __webpack_require__(16); + +var $Object = Object; + +// `ToObject` abstract operation +// https://tc39.es/ecma262/#sec-toobject +module.exports = function (argument) { + return $Object(requireObjectCoercible(argument)); +}; + + +/***/ }), +/* 40 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var id = 0; +var postfix = Math.random(); +var toString = uncurryThis(1.0.toString); + +module.exports = function (key) { + return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); +}; + + +/***/ }), +/* 41 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var createElement = __webpack_require__(42); + +// Thanks to IE8 for its funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a !== 7; +}); + + +/***/ }), +/* 42 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isObject = __webpack_require__(20); + +var document = globalThis.document; +// typeof document.createElement is 'object' in old IE +var EXISTS = isObject(document) && isObject(document.createElement); + +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + + +/***/ }), +/* 43 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var definePropertyModule = __webpack_require__(44); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + + +/***/ }), +/* 44 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var IE8_DOM_DEFINE = __webpack_require__(41); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(45); +var anObject = __webpack_require__(46); +var toPropertyKey = __webpack_require__(18); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var $defineProperty = Object.defineProperty; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var ENUMERABLE = 'enumerable'; +var CONFIGURABLE = 'configurable'; +var WRITABLE = 'writable'; + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { + var current = $getOwnPropertyDescriptor(O, P); + if (current && current[WRITABLE]) { + O[P] = Attributes.value; + Attributes = { + configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], + enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], + writable: false + }; + } + } return $defineProperty(O, P, Attributes); +} : $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return $defineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + + +/***/ }), +/* 45 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); + +// V8 ~ Chrome 36- +// https://bugs.chromium.org/p/v8/issues/detail?id=3334 +module.exports = DESCRIPTORS && fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(function () { /* empty */ }, 'prototype', { + value: 42, + writable: false + }).prototype !== 42; +}); + + +/***/ }), +/* 46 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +var $String = String; +var $TypeError = TypeError; + +// `Assert: Type(argument) is Object` +module.exports = function (argument) { + if (isObject(argument)) return argument; + throw new $TypeError($String(argument) + ' is not an object'); +}; + + +/***/ }), +/* 47 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var definePropertyModule = __webpack_require__(44); +var makeBuiltIn = __webpack_require__(48); +var defineGlobalProperty = __webpack_require__(37); + +module.exports = function (O, key, value, options) { + if (!options) options = {}; + var simple = options.enumerable; + var name = options.name !== undefined ? options.name : key; + if (isCallable(value)) makeBuiltIn(value, name, options); + if (options.global) { + if (simple) O[key] = value; + else defineGlobalProperty(key, value); + } else { + try { + if (!options.unsafe) delete O[key]; + else if (O[key]) simple = true; + } catch (error) { /* empty */ } + if (simple) O[key] = value; + else definePropertyModule.f(O, key, { + value: value, + enumerable: false, + configurable: !options.nonConfigurable, + writable: !options.nonWritable + }); + } return O; +}; + + +/***/ }), +/* 48 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var DESCRIPTORS = __webpack_require__(6); +var CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(49).CONFIGURABLE); +var inspectSource = __webpack_require__(50); +var InternalStateModule = __webpack_require__(51); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var $String = String; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; +var stringSlice = uncurryThis(''.slice); +var replace = uncurryThis(''.replace); +var join = uncurryThis([].join); + +var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () { + return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; +}); + +var TEMPLATE = String(String).split('String'); + +var makeBuiltIn = module.exports = function (value, name, options) { + if (stringSlice($String(name), 0, 7) === 'Symbol(') { + name = '[' + replace($String(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']'; + } + if (options && options.getter) name = 'get ' + name; + if (options && options.setter) name = 'set ' + name; + if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { + if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true }); + else value.name = name; + } + if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { + defineProperty(value, 'length', { value: options.arity }); + } + try { + if (options && hasOwn(options, 'constructor') && options.constructor) { + if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false }); + // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable + } else if (value.prototype) value.prototype = undefined; + } catch (error) { /* empty */ } + var state = enforceInternalState(value); + if (!hasOwn(state, 'source')) { + state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); + } return value; +}; + +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +// eslint-disable-next-line no-extend-native -- required +Function.prototype.toString = makeBuiltIn(function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}, 'toString'); + + +/***/ }), +/* 49 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var hasOwn = __webpack_require__(38); + +var FunctionPrototype = Function.prototype; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; + +var EXISTS = hasOwn(FunctionPrototype, 'name'); +// additional protection from minified / mangled / dropped function names +var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; +var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable)); + +module.exports = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE +}; + + +/***/ }), +/* 50 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var isCallable = __webpack_require__(21); +var store = __webpack_require__(35); + +var functionToString = uncurryThis(Function.toString); + +// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper +if (!isCallable(store.inspectSource)) { + store.inspectSource = function (it) { + return functionToString(it); + }; +} + +module.exports = store.inspectSource; + + +/***/ }), +/* 51 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_WEAK_MAP = __webpack_require__(52); +var globalThis = __webpack_require__(4); +var isObject = __webpack_require__(20); +var createNonEnumerableProperty = __webpack_require__(43); +var hasOwn = __webpack_require__(38); +var shared = __webpack_require__(35); +var sharedKey = __webpack_require__(53); +var hiddenKeys = __webpack_require__(54); + +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var TypeError = globalThis.TypeError; +var WeakMap = globalThis.WeakMap; +var set, get, has; + +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; + +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw new TypeError('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; +}; + +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + /* eslint-disable no-self-assign -- prototype methods protection */ + store.get = store.get; + store.has = store.has; + store.set = store.set; + /* eslint-enable no-self-assign -- prototype methods protection */ + set = function (it, metadata) { + if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + store.set(it, metadata); + return metadata; + }; + get = function (it) { + return store.get(it) || {}; + }; + has = function (it) { + return store.has(it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return hasOwn(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return hasOwn(it, STATE); + }; +} + +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + + +/***/ }), +/* 52 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); + +var WeakMap = globalThis.WeakMap; + +module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap)); + + +/***/ }), +/* 53 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var shared = __webpack_require__(34); +var uid = __webpack_require__(40); + +var keys = shared('keys'); + +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + + +/***/ }), +/* 54 */ +/***/ (function(module) { + + +module.exports = {}; + + +/***/ }), +/* 55 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var ownKeys = __webpack_require__(56); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var definePropertyModule = __webpack_require__(44); + +module.exports = function (target, source, exceptions) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + + +/***/ }), +/* 56 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var anObject = __webpack_require__(46); + +var concat = uncurryThis([].concat); + +// all object keys, includes non-enumerable and symbols +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; +}; + + +/***/ }), +/* 57 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var internalObjectKeys = __webpack_require__(58); +var enumBugKeys = __webpack_require__(65); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + + +/***/ }), +/* 58 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var hasOwn = __webpack_require__(38); +var toIndexedObject = __webpack_require__(12); +var indexOf = (__webpack_require__(59).indexOf); +var hiddenKeys = __webpack_require__(54); + +var push = uncurryThis([].push); + +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); + // Don't enum bug & hidden keys + while (names.length > i) if (hasOwn(O, key = names[i++])) { + ~indexOf(result, key) || push(result, key); + } + return result; +}; + + +/***/ }), +/* 59 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIndexedObject = __webpack_require__(12); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + if (length === 0) return !IS_INCLUDES && -1; + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el !== el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value !== value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +module.exports = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + + +/***/ }), +/* 60 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + + +/***/ }), +/* 61 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var trunc = __webpack_require__(62); + +// `ToIntegerOrInfinity` abstract operation +// https://tc39.es/ecma262/#sec-tointegerorinfinity +module.exports = function (argument) { + var number = +argument; + // eslint-disable-next-line no-self-compare -- NaN check + return number !== number || number === 0 ? 0 : trunc(number); +}; + + +/***/ }), +/* 62 */ +/***/ (function(module) { + + +var ceil = Math.ceil; +var floor = Math.floor; + +// `Math.trunc` method +// https://tc39.es/ecma262/#sec-math.trunc +// eslint-disable-next-line es/no-math-trunc -- safe +module.exports = Math.trunc || function trunc(x) { + var n = +x; + return (n > 0 ? floor : ceil)(n); +}; + + +/***/ }), +/* 63 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toLength = __webpack_require__(64); + +// `LengthOfArrayLike` abstract operation +// https://tc39.es/ecma262/#sec-lengthofarraylike +module.exports = function (obj) { + return toLength(obj.length); +}; + + +/***/ }), +/* 64 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +module.exports = function (argument) { + var len = toIntegerOrInfinity(argument); + return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + + +/***/ }), +/* 65 */ +/***/ (function(module) { + + +// IE8- don't enum bug keys +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + + +/***/ }), +/* 66 */ +/***/ (function(__unused_webpack_module, exports) { + + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe +exports.f = Object.getOwnPropertySymbols; + + +/***/ }), +/* 67 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); + +var replacement = /#|\.prototype\./; + +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value === POLYFILL ? true + : value === NATIVE ? false + : isCallable(detection) ? fails(detection) + : !!detection; +}; + +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; + +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; + +module.exports = isForced; + + +/***/ }), +/* 68 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); + +var $String = String; + +module.exports = function (argument) { + if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); + return $String(argument); +}; + + +/***/ }), +/* 69 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var isCallable = __webpack_require__(21); +var classofRaw = __webpack_require__(15); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Object = Object; + +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } +}; + +// getting tag from ES6+ `Object.prototype.toString` +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result; +}; + + +/***/ }), +/* 70 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG] = 'z'; + +module.exports = String(test) === '[object z]'; + + +/***/ }), +/* 71 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* global ActiveXObject -- old IE, WSH */ +var anObject = __webpack_require__(46); +var definePropertiesModule = __webpack_require__(72); +var enumBugKeys = __webpack_require__(65); +var hiddenKeys = __webpack_require__(54); +var html = __webpack_require__(74); +var documentCreateElement = __webpack_require__(42); +var sharedKey = __webpack_require__(53); + +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); + +var EmptyConstructor = function () { /* empty */ }; + +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; + +// Create object with fake `null` prototype: use ActiveX Object with cleared prototype +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + // eslint-disable-next-line no-useless-assignment -- avoid memory leak + activeXDocument = null; + return temp; +}; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var NullProtoObjectViaIFrame = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + // https://github.com/zloirock/core-js/issues/475 + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; + +// Check for document.domain and active x support +// No need to use active x approach when document.domain is not set +// see https://github.com/es-shims/es5-shim/issues/150 +// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 +// avoid IE GC bug +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { /* ignore */ } + NullProtoObject = typeof document != 'undefined' + ? document.domain && activeXDocument + ? NullProtoObjectViaActiveX(activeXDocument) // old IE + : NullProtoObjectViaIFrame() + : NullProtoObjectViaActiveX(activeXDocument); // WSH + var length = enumBugKeys.length; + while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; + +hiddenKeys[IE_PROTO] = true; + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +// eslint-disable-next-line es/no-object-create -- safe +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = NullProtoObject(); + return Properties === undefined ? result : definePropertiesModule.f(result, Properties); +}; + + +/***/ }), +/* 72 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(45); +var definePropertyModule = __webpack_require__(44); +var anObject = __webpack_require__(46); +var toIndexedObject = __webpack_require__(12); +var objectKeys = __webpack_require__(73); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var props = toIndexedObject(Properties); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]); + return O; +}; + + +/***/ }), +/* 73 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var internalObjectKeys = __webpack_require__(58); +var enumBugKeys = __webpack_require__(65); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +// eslint-disable-next-line es/no-object-keys -- safe +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + + +/***/ }), +/* 74 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); + +module.exports = getBuiltIn('document', 'documentElement'); + + +/***/ }), +/* 75 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-object-getownpropertynames -- safe */ +var classof = __webpack_require__(15); +var toIndexedObject = __webpack_require__(12); +var $getOwnPropertyNames = (__webpack_require__(57).f); +var arraySlice = __webpack_require__(76); + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return $getOwnPropertyNames(it); + } catch (error) { + return arraySlice(windowNames); + } +}; + +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && classof(it) === 'Window' + ? getWindowNames(it) + : $getOwnPropertyNames(toIndexedObject(it)); +}; + + +/***/ }), +/* 76 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +module.exports = uncurryThis([].slice); + + +/***/ }), +/* 77 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var makeBuiltIn = __webpack_require__(48); +var defineProperty = __webpack_require__(44); + +module.exports = function (target, name, descriptor) { + if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true }); + if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true }); + return defineProperty.f(target, name, descriptor); +}; + + +/***/ }), +/* 78 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +exports.f = wellKnownSymbol; + + +/***/ }), +/* 79 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var path = __webpack_require__(80); +var hasOwn = __webpack_require__(38); +var wrappedWellKnownSymbolModule = __webpack_require__(78); +var defineProperty = (__webpack_require__(44).f); + +module.exports = function (NAME) { + var Symbol = path.Symbol || (path.Symbol = {}); + if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, { + value: wrappedWellKnownSymbolModule.f(NAME) + }); +}; + + +/***/ }), +/* 80 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = globalThis; + + +/***/ }), +/* 81 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var getBuiltIn = __webpack_require__(23); +var wellKnownSymbol = __webpack_require__(33); +var defineBuiltIn = __webpack_require__(47); + +module.exports = function () { + var Symbol = getBuiltIn('Symbol'); + var SymbolPrototype = Symbol && Symbol.prototype; + var valueOf = SymbolPrototype && SymbolPrototype.valueOf; + var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + + if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) { + // `Symbol.prototype[@@toPrimitive]` method + // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive + // eslint-disable-next-line no-unused-vars -- required for .length + defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) { + return call(valueOf, this); + }, { arity: 1 }); + } +}; + + +/***/ }), +/* 82 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineProperty = (__webpack_require__(44).f); +var hasOwn = __webpack_require__(38); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +module.exports = function (target, TAG, STATIC) { + if (target && !STATIC) target = target.prototype; + if (target && !hasOwn(target, TO_STRING_TAG)) { + defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG }); + } +}; + + +/***/ }), +/* 83 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var uncurryThis = __webpack_require__(14); +var IndexedObject = __webpack_require__(13); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var arraySpeciesCreate = __webpack_require__(86); + +var push = uncurryThis([].push); + +// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation +var createMethod = function (TYPE) { + var IS_MAP = TYPE === 1; + var IS_FILTER = TYPE === 2; + var IS_SOME = TYPE === 3; + var IS_EVERY = TYPE === 4; + var IS_FIND_INDEX = TYPE === 6; + var IS_FILTER_REJECT = TYPE === 7; + var NO_HOLES = TYPE === 5 || IS_FIND_INDEX; + return function ($this, callbackfn, that, specificCreate) { + var O = toObject($this); + var self = IndexedObject(O); + var length = lengthOfArrayLike(self); + var boundFunction = bind(callbackfn, that); + var index = 0; + var create = specificCreate || arraySpeciesCreate; + var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; + var value, result; + for (;length > index; index++) if (NO_HOLES || index in self) { + value = self[index]; + result = boundFunction(value, index, O); + if (TYPE) { + if (IS_MAP) target[index] = result; // map + else if (result) switch (TYPE) { + case 3: return true; // some + case 5: return value; // find + case 6: return index; // findIndex + case 2: push(target, value); // filter + } else switch (TYPE) { + case 4: return false; // every + case 7: push(target, value); // filterReject + } + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; + }; +}; + +module.exports = { + // `Array.prototype.forEach` method + // https://tc39.es/ecma262/#sec-array.prototype.foreach + forEach: createMethod(0), + // `Array.prototype.map` method + // https://tc39.es/ecma262/#sec-array.prototype.map + map: createMethod(1), + // `Array.prototype.filter` method + // https://tc39.es/ecma262/#sec-array.prototype.filter + filter: createMethod(2), + // `Array.prototype.some` method + // https://tc39.es/ecma262/#sec-array.prototype.some + some: createMethod(3), + // `Array.prototype.every` method + // https://tc39.es/ecma262/#sec-array.prototype.every + every: createMethod(4), + // `Array.prototype.find` method + // https://tc39.es/ecma262/#sec-array.prototype.find + find: createMethod(5), + // `Array.prototype.findIndex` method + // https://tc39.es/ecma262/#sec-array.prototype.findIndex + findIndex: createMethod(6), + // `Array.prototype.filterReject` method + // https://github.com/tc39/proposal-array-filtering + filterReject: createMethod(7) +}; + + +/***/ }), +/* 84 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(85); +var aCallable = __webpack_require__(30); +var NATIVE_BIND = __webpack_require__(9); + +var bind = uncurryThis(uncurryThis.bind); + +// optional / simple context binding +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), +/* 85 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classofRaw = __webpack_require__(15); +var uncurryThis = __webpack_require__(14); + +module.exports = function (fn) { + // Nashorn bug: + // https://github.com/zloirock/core-js/issues/1128 + // https://github.com/zloirock/core-js/issues/1130 + if (classofRaw(fn) === 'Function') return uncurryThis(fn); +}; + + +/***/ }), +/* 86 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arraySpeciesConstructor = __webpack_require__(87); + +// `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray, length) { + return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); +}; + + +/***/ }), +/* 87 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isArray = __webpack_require__(88); +var isConstructor = __webpack_require__(89); +var isObject = __webpack_require__(20); +var wellKnownSymbol = __webpack_require__(33); + +var SPECIES = wellKnownSymbol('species'); +var $Array = Array; + +// a part of `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray) { + var C; + if (isArray(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined; + else if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? $Array : C; +}; + + +/***/ }), +/* 88 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(15); + +// `IsArray` abstract operation +// https://tc39.es/ecma262/#sec-isarray +// eslint-disable-next-line es/no-array-isarray -- safe +module.exports = Array.isArray || function isArray(argument) { + return classof(argument) === 'Array'; +}; + + +/***/ }), +/* 89 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(69); +var getBuiltIn = __webpack_require__(23); +var inspectSource = __webpack_require__(50); + +var noop = function () { /* empty */ }; +var construct = getBuiltIn('Reflect', 'construct'); +var constructorRegExp = /^\s*(?:class|function)\b/; +var exec = uncurryThis(constructorRegExp.exec); +var INCORRECT_TO_STRING = !constructorRegExp.test(noop); + +var isConstructorModern = function isConstructor(argument) { + if (!isCallable(argument)) return false; + try { + construct(noop, [], argument); + return true; + } catch (error) { + return false; + } +}; + +var isConstructorLegacy = function isConstructor(argument) { + if (!isCallable(argument)) return false; + switch (classof(argument)) { + case 'AsyncFunction': + case 'GeneratorFunction': + case 'AsyncGeneratorFunction': return false; + } + try { + // we can't check .prototype since constructors produced by .bind haven't it + // `Function#toString` throws on some built-it function in some legacy engines + // (for example, `DOMQuad` and similar in FF41-) + return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); + } catch (error) { + return true; + } +}; + +isConstructorLegacy.sham = true; + +// `IsConstructor` abstract operation +// https://tc39.es/ecma262/#sec-isconstructor +module.exports = !construct || fails(function () { + var called; + return isConstructorModern(isConstructorModern.call) + || !isConstructorModern(Object) + || !isConstructorModern(function () { called = true; }) + || called; +}) ? isConstructorLegacy : isConstructorModern; + + +/***/ }), +/* 90 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var hasOwn = __webpack_require__(38); +var toString = __webpack_require__(68); +var shared = __webpack_require__(34); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__(91); + +var StringToSymbolRegistry = shared('string-to-symbol-registry'); +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.for` method +// https://tc39.es/ecma262/#sec-symbol.for +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + 'for': function (key) { + var string = toString(key); + if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; + var symbol = getBuiltIn('Symbol')(string); + StringToSymbolRegistry[string] = symbol; + SymbolToStringRegistry[symbol] = string; + return symbol; + } +}); + + +/***/ }), +/* 91 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_SYMBOL = __webpack_require__(26); + +/* eslint-disable es/no-symbol -- safe */ +module.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor; + + +/***/ }), +/* 92 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var hasOwn = __webpack_require__(38); +var isSymbol = __webpack_require__(22); +var tryToString = __webpack_require__(31); +var shared = __webpack_require__(34); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__(91); + +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.keyFor` method +// https://tc39.es/ecma262/#sec-symbol.keyfor +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol'); + if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; + } +}); + + +/***/ }), +/* 93 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var isSymbol = __webpack_require__(22); +var arraySlice = __webpack_require__(76); +var getReplacerFunction = __webpack_require__(95); +var NATIVE_SYMBOL = __webpack_require__(26); + +var $String = String; +var $stringify = getBuiltIn('JSON', 'stringify'); +var exec = uncurryThis(/./.exec); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var replace = uncurryThis(''.replace); +var numberToString = uncurryThis(1.0.toString); + +var tester = /[\uD800-\uDFFF]/g; +var low = /^[\uD800-\uDBFF]$/; +var hi = /^[\uDC00-\uDFFF]$/; + +var WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () { + var symbol = getBuiltIn('Symbol')('stringify detection'); + // MS Edge converts symbol values to JSON as {} + return $stringify([symbol]) !== '[null]' + // WebKit converts symbol values to JSON as null + || $stringify({ a: symbol }) !== '{}' + // V8 throws on boxed symbols + || $stringify(Object(symbol)) !== '{}'; +}); + +// https://github.com/tc39/proposal-well-formed-stringify +var ILL_FORMED_UNICODE = fails(function () { + return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"' + || $stringify('\uDEAD') !== '"\\udead"'; +}); + +var stringifyWithSymbolsFix = function (it, replacer) { + var args = arraySlice(arguments); + var $replacer = getReplacerFunction(replacer); + if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined + args[1] = function (key, value) { + // some old implementations (like WebKit) could pass numbers as keys + if (isCallable($replacer)) value = call($replacer, this, $String(key), value); + if (!isSymbol(value)) return value; + }; + return apply($stringify, null, args); +}; + +var fixIllFormed = function (match, offset, string) { + var prev = charAt(string, offset - 1); + var next = charAt(string, offset + 1); + if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) { + return '\\u' + numberToString(charCodeAt(match, 0), 16); + } return match; +}; + +if ($stringify) { + // `JSON.stringify` method + // https://tc39.es/ecma262/#sec-json.stringify + $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + stringify: function stringify(it, replacer, space) { + var args = arraySlice(arguments); + var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args); + return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result; + } + }); +} + + +/***/ }), +/* 94 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; + +// eslint-disable-next-line es/no-reflect -- safe +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); + + +/***/ }), +/* 95 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var isArray = __webpack_require__(88); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(15); +var toString = __webpack_require__(68); + +var push = uncurryThis([].push); + +module.exports = function (replacer) { + if (isCallable(replacer)) return replacer; + if (!isArray(replacer)) return; + var rawLength = replacer.length; + var keys = []; + for (var i = 0; i < rawLength; i++) { + var element = replacer[i]; + if (typeof element == 'string') push(keys, element); + else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element)); + } + var keysLength = keys.length; + var root = true; + return function (key, value) { + if (root) { + root = false; + return value; + } + if (isArray(this)) return value; + for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value; + }; +}; + + +/***/ }), +/* 96 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var NATIVE_SYMBOL = __webpack_require__(26); +var fails = __webpack_require__(7); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var toObject = __webpack_require__(39); + +// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives +// https://bugs.chromium.org/p/v8/issues/detail?id=3443 +var FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); }); + +// `Object.getOwnPropertySymbols` method +// https://tc39.es/ecma262/#sec-object.getownpropertysymbols +$({ target: 'Object', stat: true, forced: FORCED }, { + getOwnPropertySymbols: function getOwnPropertySymbols(it) { + var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : []; + } +}); + + +/***/ }), +/* 97 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +// `Symbol.prototype.description` getter +// https://tc39.es/ecma262/#sec-symbol.prototype.description + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var hasOwn = __webpack_require__(38); +var isCallable = __webpack_require__(21); +var isPrototypeOf = __webpack_require__(24); +var toString = __webpack_require__(68); +var defineBuiltInAccessor = __webpack_require__(77); +var copyConstructorProperties = __webpack_require__(55); + +var NativeSymbol = globalThis.Symbol; +var SymbolPrototype = NativeSymbol && NativeSymbol.prototype; + +if (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) || + // Safari 12 bug + NativeSymbol().description !== undefined +)) { + var EmptyStringDescriptionStore = {}; + // wrap Symbol constructor for correct work with undefined description + var SymbolWrapper = function Symbol() { + var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]); + var result = isPrototypeOf(SymbolPrototype, this) + // eslint-disable-next-line sonarjs/inconsistent-function-call -- ok + ? new NativeSymbol(description) + // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)' + : description === undefined ? NativeSymbol() : NativeSymbol(description); + if (description === '') EmptyStringDescriptionStore[result] = true; + return result; + }; + + copyConstructorProperties(SymbolWrapper, NativeSymbol); + SymbolWrapper.prototype = SymbolPrototype; + SymbolPrototype.constructor = SymbolWrapper; + + var NATIVE_SYMBOL = String(NativeSymbol('description detection')) === 'Symbol(description detection)'; + var thisSymbolValue = uncurryThis(SymbolPrototype.valueOf); + var symbolDescriptiveString = uncurryThis(SymbolPrototype.toString); + var regexp = /^Symbol\((.*)\)[^)]+$/; + var replace = uncurryThis(''.replace); + var stringSlice = uncurryThis(''.slice); + + defineBuiltInAccessor(SymbolPrototype, 'description', { + configurable: true, + get: function description() { + var symbol = thisSymbolValue(this); + if (hasOwn(EmptyStringDescriptionStore, symbol)) return ''; + var string = symbolDescriptiveString(symbol); + var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1'); + return desc === '' ? undefined : desc; + } + }); + + $({ global: true, constructor: true, forced: true }, { + Symbol: SymbolWrapper + }); +} + + +/***/ }), +/* 98 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.asyncIterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.asynciterator +defineWellKnownSymbol('asyncIterator'); + + +/***/ }), +/* 99 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.hasInstance` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.hasinstance +defineWellKnownSymbol('hasInstance'); + + +/***/ }), +/* 100 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.isConcatSpreadable` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable +defineWellKnownSymbol('isConcatSpreadable'); + + +/***/ }), +/* 101 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.iterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.iterator +defineWellKnownSymbol('iterator'); + + +/***/ }), +/* 102 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.match` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.match +defineWellKnownSymbol('match'); + + +/***/ }), +/* 103 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.matchAll` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.matchall +defineWellKnownSymbol('matchAll'); + + +/***/ }), +/* 104 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.replace` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.replace +defineWellKnownSymbol('replace'); + + +/***/ }), +/* 105 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.search` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.search +defineWellKnownSymbol('search'); + + +/***/ }), +/* 106 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.species` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.species +defineWellKnownSymbol('species'); + + +/***/ }), +/* 107 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.split` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.split +defineWellKnownSymbol('split'); + + +/***/ }), +/* 108 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); +var defineSymbolToPrimitive = __webpack_require__(81); + +// `Symbol.toPrimitive` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.toprimitive +defineWellKnownSymbol('toPrimitive'); + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +defineSymbolToPrimitive(); + + +/***/ }), +/* 109 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var defineWellKnownSymbol = __webpack_require__(79); +var setToStringTag = __webpack_require__(82); + +// `Symbol.toStringTag` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.tostringtag +defineWellKnownSymbol('toStringTag'); + +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag(getBuiltIn('Symbol'), 'Symbol'); + + +/***/ }), +/* 110 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.unscopables` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.unscopables +defineWellKnownSymbol('unscopables'); + + +/***/ }), +/* 111 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-unused-vars -- required for functions `.length` */ +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var wrapErrorConstructorWithCause = __webpack_require__(112); + +var WEB_ASSEMBLY = 'WebAssembly'; +var WebAssembly = globalThis[WEB_ASSEMBLY]; + +// eslint-disable-next-line es/no-error-cause -- feature detection +var FORCED = new Error('e', { cause: 7 }).cause !== 7; + +var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED); + $({ global: true, constructor: true, arity: 1, forced: FORCED }, O); +}; + +var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) { + if (WebAssembly && WebAssembly[ERROR_NAME]) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED); + $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O); + } +}; + +// https://tc39.es/ecma262/#sec-nativeerror +exportGlobalErrorCauseWrapper('Error', function (init) { + return function Error(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('EvalError', function (init) { + return function EvalError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('RangeError', function (init) { + return function RangeError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('ReferenceError', function (init) { + return function ReferenceError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('SyntaxError', function (init) { + return function SyntaxError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('TypeError', function (init) { + return function TypeError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('URIError', function (init) { + return function URIError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('CompileError', function (init) { + return function CompileError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('LinkError', function (init) { + return function LinkError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) { + return function RuntimeError(message) { return apply(init, this, arguments); }; +}); + + +/***/ }), +/* 112 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var hasOwn = __webpack_require__(38); +var createNonEnumerableProperty = __webpack_require__(43); +var isPrototypeOf = __webpack_require__(24); +var setPrototypeOf = __webpack_require__(113); +var copyConstructorProperties = __webpack_require__(55); +var proxyAccessor = __webpack_require__(117); +var inheritIfRequired = __webpack_require__(118); +var normalizeStringArgument = __webpack_require__(119); +var installErrorCause = __webpack_require__(120); +var installErrorStack = __webpack_require__(121); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) { + var STACK_TRACE_LIMIT = 'stackTraceLimit'; + var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1; + var path = FULL_NAME.split('.'); + var ERROR_NAME = path[path.length - 1]; + var OriginalError = getBuiltIn.apply(null, path); + + if (!OriginalError) return; + + var OriginalErrorPrototype = OriginalError.prototype; + + // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006 + if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause; + + if (!FORCED) return OriginalError; + + var BaseError = getBuiltIn('Error'); + + var WrappedError = wrapper(function (a, b) { + var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined); + var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError(); + if (message !== undefined) createNonEnumerableProperty(result, 'message', message); + installErrorStack(result, WrappedError, result.stack, 2); + if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError); + if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]); + return result; + }); + + WrappedError.prototype = OriginalErrorPrototype; + + if (ERROR_NAME !== 'Error') { + if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError); + else copyConstructorProperties(WrappedError, BaseError, { name: true }); + } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) { + proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT); + proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace'); + } + + copyConstructorProperties(WrappedError, OriginalError); + + if (!IS_PURE) try { + // Safari 13- bug: WebAssembly errors does not have a proper `.name` + if (OriginalErrorPrototype.name !== ERROR_NAME) { + createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME); + } + OriginalErrorPrototype.constructor = WrappedError; + } catch (error) { /* empty */ } + + return WrappedError; +}; + + +/***/ }), +/* 113 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-proto -- safe */ +var uncurryThisAccessor = __webpack_require__(114); +var isObject = __webpack_require__(20); +var requireObjectCoercible = __webpack_require__(16); +var aPossiblePrototype = __webpack_require__(115); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +// Works with __proto__ only. Old v8 can't work with null proto objects. +// eslint-disable-next-line es/no-object-setprototypeof -- safe +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set'); + setter(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { /* empty */ } + return function setPrototypeOf(O, proto) { + requireObjectCoercible(O); + aPossiblePrototype(proto); + if (!isObject(O)) return O; + if (CORRECT_SETTER) setter(O, proto); + else O.__proto__ = proto; + return O; + }; +}() : undefined); + + +/***/ }), +/* 114 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); + +module.exports = function (object, key, method) { + try { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method])); + } catch (error) { /* empty */ } +}; + + +/***/ }), +/* 115 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isPossiblePrototype = __webpack_require__(116); + +var $String = String; +var $TypeError = TypeError; + +module.exports = function (argument) { + if (isPossiblePrototype(argument)) return argument; + throw new $TypeError("Can't set " + $String(argument) + ' as a prototype'); +}; + + +/***/ }), +/* 116 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +module.exports = function (argument) { + return isObject(argument) || argument === null; +}; + + +/***/ }), +/* 117 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineProperty = (__webpack_require__(44).f); + +module.exports = function (Target, Source, key) { + key in Target || defineProperty(Target, key, { + configurable: true, + get: function () { return Source[key]; }, + set: function (it) { Source[key] = it; } + }); +}; + + +/***/ }), +/* 118 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var setPrototypeOf = __webpack_require__(113); + +// makes subclassing work correct for wrapped built-ins +module.exports = function ($this, dummy, Wrapper) { + var NewTarget, NewTargetPrototype; + if ( + // it can work only with native `setPrototypeOf` + setPrototypeOf && + // we haven't completely correct pre-ES6 way for getting `new.target`, so use this + isCallable(NewTarget = dummy.constructor) && + NewTarget !== Wrapper && + isObject(NewTargetPrototype = NewTarget.prototype) && + NewTargetPrototype !== Wrapper.prototype + ) setPrototypeOf($this, NewTargetPrototype); + return $this; +}; + + +/***/ }), +/* 119 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toString = __webpack_require__(68); + +module.exports = function (argument, $default) { + return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument); +}; + + +/***/ }), +/* 120 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); +var createNonEnumerableProperty = __webpack_require__(43); + +// `InstallErrorCause` abstract operation +// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause +module.exports = function (O, options) { + if (isObject(options) && 'cause' in options) { + createNonEnumerableProperty(O, 'cause', options.cause); + } +}; + + +/***/ }), +/* 121 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var createNonEnumerableProperty = __webpack_require__(43); +var clearErrorStack = __webpack_require__(122); +var ERROR_STACK_INSTALLABLE = __webpack_require__(123); + +// non-standard V8 +var captureStackTrace = Error.captureStackTrace; + +module.exports = function (error, C, stack, dropEntries) { + if (ERROR_STACK_INSTALLABLE) { + if (captureStackTrace) captureStackTrace(error, C); + else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries)); + } +}; + + +/***/ }), +/* 122 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var $Error = Error; +var replace = uncurryThis(''.replace); + +var TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd'); +// eslint-disable-next-line redos/no-vulnerable, sonarjs/slow-regex -- safe +var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; +var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); + +module.exports = function (stack, dropEntries) { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) { + while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); + } return stack; +}; + + +/***/ }), +/* 123 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = !fails(function () { + var error = new Error('a'); + if (!('stack' in error)) return true; + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); + return error.stack !== 7; +}); + + +/***/ }), +/* 124 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var errorToString = __webpack_require__(125); + +var ErrorPrototype = Error.prototype; + +// `Error.prototype.toString` method fix +// https://tc39.es/ecma262/#sec-error.prototype.tostring +if (ErrorPrototype.toString !== errorToString) { + defineBuiltIn(ErrorPrototype, 'toString', errorToString); +} + + +/***/ }), +/* 125 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var anObject = __webpack_require__(46); +var normalizeStringArgument = __webpack_require__(119); + +var nativeErrorToString = Error.prototype.toString; + +var INCORRECT_TO_STRING = fails(function () { + if (DESCRIPTORS) { + // Chrome 32- incorrectly call accessor + // eslint-disable-next-line es/no-object-create, es/no-object-defineproperty -- safe + var object = Object.create(Object.defineProperty({}, 'name', { get: function () { + return this === object; + } })); + if (nativeErrorToString.call(object) !== 'true') return true; + } + // FF10- does not properly handle non-strings + return nativeErrorToString.call({ message: 1, name: 2 }) !== '2: 1' + // IE8 does not properly handle defaults + || nativeErrorToString.call({}) !== 'Error'; +}); + +module.exports = INCORRECT_TO_STRING ? function toString() { + var O = anObject(this); + var name = normalizeStringArgument(O.name, 'Error'); + var message = normalizeStringArgument(O.message); + return !name ? message : !message ? name : name + ': ' + message; +} : nativeErrorToString; + + +/***/ }), +/* 126 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(127); + + +/***/ }), +/* 127 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isPrototypeOf = __webpack_require__(24); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var copyConstructorProperties = __webpack_require__(55); +var create = __webpack_require__(71); +var createNonEnumerableProperty = __webpack_require__(43); +var createPropertyDescriptor = __webpack_require__(11); +var installErrorCause = __webpack_require__(120); +var installErrorStack = __webpack_require__(121); +var iterate = __webpack_require__(130); +var normalizeStringArgument = __webpack_require__(119); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Error = Error; +var push = [].push; + +var $AggregateError = function AggregateError(errors, message /* , options */) { + var isInstance = isPrototypeOf(AggregateErrorPrototype, this); + var that; + if (setPrototypeOf) { + that = setPrototypeOf(new $Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype); + } else { + that = isInstance ? this : create(AggregateErrorPrototype); + createNonEnumerableProperty(that, TO_STRING_TAG, 'Error'); + } + if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message)); + installErrorStack(that, $AggregateError, that.stack, 1); + if (arguments.length > 2) installErrorCause(that, arguments[2]); + var errorsArray = []; + iterate(errors, push, { that: errorsArray }); + createNonEnumerableProperty(that, 'errors', errorsArray); + return that; +}; + +if (setPrototypeOf) setPrototypeOf($AggregateError, $Error); +else copyConstructorProperties($AggregateError, $Error, { name: true }); + +var AggregateErrorPrototype = $AggregateError.prototype = create($Error.prototype, { + constructor: createPropertyDescriptor(1, $AggregateError), + message: createPropertyDescriptor(1, ''), + name: createPropertyDescriptor(1, 'AggregateError') +}); + +// `AggregateError` constructor +// https://tc39.es/ecma262/#sec-aggregate-error-constructor +$({ global: true, constructor: true, arity: 2 }, { + AggregateError: $AggregateError +}); + + +/***/ }), +/* 128 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var isCallable = __webpack_require__(21); +var toObject = __webpack_require__(39); +var sharedKey = __webpack_require__(53); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +var IE_PROTO = sharedKey('IE_PROTO'); +var $Object = Object; +var ObjectPrototype = $Object.prototype; + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +// eslint-disable-next-line es/no-object-getprototypeof -- safe +module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) { + var object = toObject(O); + if (hasOwn(object, IE_PROTO)) return object[IE_PROTO]; + var constructor = object.constructor; + if (isCallable(constructor) && object instanceof constructor) { + return constructor.prototype; + } return object instanceof $Object ? ObjectPrototype : null; +}; + + +/***/ }), +/* 129 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + // eslint-disable-next-line es/no-object-getprototypeof -- required for testing + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + + +/***/ }), +/* 130 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var tryToString = __webpack_require__(31); +var isArrayIteratorMethod = __webpack_require__(131); +var lengthOfArrayLike = __webpack_require__(63); +var isPrototypeOf = __webpack_require__(24); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var iteratorClose = __webpack_require__(135); + +var $TypeError = TypeError; + +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; + +var ResultPrototype = Result.prototype; + +module.exports = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_RECORD = !!(options && options.IS_RECORD); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = bind(unboundFunction, that); + var iterator, iterFn, index, length, result, next, step; + + var stop = function (condition) { + if (iterator) iteratorClose(iterator, 'normal', condition); + return new Result(true, condition); + }; + + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } return INTERRUPTED ? fn(value, stop) : fn(value); + }; + + if (IS_RECORD) { + iterator = iterable.iterator; + } else if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable'); + // optimisation for array iterators + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { + result = callFn(iterable[index]); + if (result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); + } + iterator = getIterator(iterable, iterFn); + } + + next = IS_RECORD ? iterable.next : iterator.next; + while (!(step = call(next, iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } + if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); +}; + + +/***/ }), +/* 131 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); +var Iterators = __webpack_require__(132); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; + +// check on default Array iterator +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + + +/***/ }), +/* 132 */ +/***/ (function(module) { + + +module.exports = {}; + + +/***/ }), +/* 133 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var tryToString = __webpack_require__(31); +var getIteratorMethod = __webpack_require__(134); + +var $TypeError = TypeError; + +module.exports = function (argument, usingIterator) { + var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; + if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument)); + throw new $TypeError(tryToString(argument) + ' is not iterable'); +}; + + +/***/ }), +/* 134 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); +var getMethod = __webpack_require__(29); +var isNullOrUndefined = __webpack_require__(17); +var Iterators = __webpack_require__(132); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = function (it) { + if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR) + || getMethod(it, '@@iterator') + || Iterators[classof(it)]; +}; + + +/***/ }), +/* 135 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getMethod = __webpack_require__(29); + +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') throw value; + if (innerError) throw innerResult; + anObject(innerResult); + return value; +}; + + +/***/ }), +/* 136 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var fails = __webpack_require__(7); +var wrapErrorConstructorWithCause = __webpack_require__(112); + +var AGGREGATE_ERROR = 'AggregateError'; +var $AggregateError = getBuiltIn(AGGREGATE_ERROR); + +var FORCED = !fails(function () { + return $AggregateError([1]).errors[0] !== 1; +}) && fails(function () { + return $AggregateError([1], AGGREGATE_ERROR, { cause: 7 }).cause !== 7; +}); + +// https://tc39.es/ecma262/#sec-aggregate-error +$({ global: true, constructor: true, arity: 2, forced: FORCED }, { + AggregateError: wrapErrorConstructorWithCause(AGGREGATE_ERROR, function (init) { + // eslint-disable-next-line no-unused-vars -- required for functions `.length` + return function AggregateError(errors, message) { return apply(init, this, arguments); }; + }, FORCED, true) +}); + + +/***/ }), +/* 137 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.at` method +// https://tc39.es/ecma262/#sec-array.prototype.at +$({ target: 'Array', proto: true }, { + at: function at(index) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : O[k]; + } +}); + +addToUnscopables('at'); + + +/***/ }), +/* 138 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); +var create = __webpack_require__(71); +var defineProperty = (__webpack_require__(44).f); + +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; + +// Array.prototype[@@unscopables] +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +if (ArrayPrototype[UNSCOPABLES] === undefined) { + defineProperty(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: create(null) + }); +} + +// add a key to Array.prototype[@@unscopables] +module.exports = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; +}; + + +/***/ }), +/* 139 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isArray = __webpack_require__(88); +var isObject = __webpack_require__(20); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var doesNotExceedSafeInteger = __webpack_require__(140); +var createProperty = __webpack_require__(141); +var arraySpeciesCreate = __webpack_require__(86); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); +var wellKnownSymbol = __webpack_require__(33); +var V8_VERSION = __webpack_require__(27); + +var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); + +// We can't use this feature detection in V8 since it causes +// deoptimization and serious performance degradation +// https://github.com/zloirock/core-js/issues/679 +var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { + var array = []; + array[IS_CONCAT_SPREADABLE] = false; + return array.concat()[0] !== array; +}); + +var isConcatSpreadable = function (O) { + if (!isObject(O)) return false; + var spreadable = O[IS_CONCAT_SPREADABLE]; + return spreadable !== undefined ? !!spreadable : isArray(O); +}; + +var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat'); + +// `Array.prototype.concat` method +// https://tc39.es/ecma262/#sec-array.prototype.concat +// with adding support of @@isConcatSpreadable and @@species +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + concat: function concat(arg) { + var O = toObject(this); + var A = arraySpeciesCreate(O, 0); + var n = 0; + var i, k, length, len, E; + for (i = -1, length = arguments.length; i < length; i++) { + E = i === -1 ? O : arguments[i]; + if (isConcatSpreadable(E)) { + len = lengthOfArrayLike(E); + doesNotExceedSafeInteger(n + len); + for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); + } else { + doesNotExceedSafeInteger(n + 1); + createProperty(A, n++, E); + } + } + A.length = n; + return A; + } +}); + + +/***/ }), +/* 140 */ +/***/ (function(module) { + + +var $TypeError = TypeError; +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991 + +module.exports = function (it) { + if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded'); + return it; +}; + + +/***/ }), +/* 141 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var definePropertyModule = __webpack_require__(44); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = function (object, key, value) { + if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value)); + else object[key] = value; +}; + + +/***/ }), +/* 142 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var V8_VERSION = __webpack_require__(27); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (METHOD_NAME) { + // We can't use this feature detection in V8 since it causes + // deoptimization and serious performance degradation + // https://github.com/zloirock/core-js/issues/677 + return V8_VERSION >= 51 || !fails(function () { + var array = []; + var constructor = array.constructor = {}; + constructor[SPECIES] = function () { + return { foo: 1 }; + }; + return array[METHOD_NAME](Boolean).foo !== 1; + }); +}; + + +/***/ }), +/* 143 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var copyWithin = __webpack_require__(144); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.copyWithin` method +// https://tc39.es/ecma262/#sec-array.prototype.copywithin +$({ target: 'Array', proto: true }, { + copyWithin: copyWithin +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('copyWithin'); + + +/***/ }), +/* 144 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); +var deletePropertyOrThrow = __webpack_require__(145); + +var min = Math.min; + +// `Array.prototype.copyWithin` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.copywithin +// eslint-disable-next-line es/no-array-prototype-copywithin -- safe +module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var to = toAbsoluteIndex(target, len); + var from = toAbsoluteIndex(start, len); + var end = arguments.length > 2 ? arguments[2] : undefined; + var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var inc = 1; + if (from < to && to < from + count) { + inc = -1; + from += count - 1; + to += count - 1; + } + while (count-- > 0) { + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + to += inc; + from += inc; + } return O; +}; + + +/***/ }), +/* 145 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +module.exports = function (O, P) { + if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O)); +}; + + +/***/ }), +/* 146 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $every = (__webpack_require__(83).every); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('every'); + +// `Array.prototype.every` method +// https://tc39.es/ecma262/#sec-array.prototype.every +$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { + every: function every(callbackfn /* , thisArg */) { + return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 147 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call -- required for testing + method.call(null, argument || function () { return 1; }, 1); + }); +}; + + +/***/ }), +/* 148 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fill = __webpack_require__(149); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.fill` method +// https://tc39.es/ecma262/#sec-array.prototype.fill +$({ target: 'Array', proto: true }, { + fill: fill +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('fill'); + + +/***/ }), +/* 149 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.fill` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.fill +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = lengthOfArrayLike(O); + var argumentsLength = arguments.length; + var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); + var end = argumentsLength > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; + return O; +}; + + +/***/ }), +/* 150 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $filter = (__webpack_require__(83).filter); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); + +// `Array.prototype.filter` method +// https://tc39.es/ecma262/#sec-array.prototype.filter +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + filter: function filter(callbackfn /* , thisArg */) { + return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 151 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $find = (__webpack_require__(83).find); +var addToUnscopables = __webpack_require__(138); + +var FIND = 'find'; +var SKIPS_HOLES = true; + +// Shouldn't skip holes +// eslint-disable-next-line es/no-array-prototype-find -- testing +if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.find` method +// https://tc39.es/ecma262/#sec-array.prototype.find +$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { + find: function find(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND); + + +/***/ }), +/* 152 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findIndex = (__webpack_require__(83).findIndex); +var addToUnscopables = __webpack_require__(138); + +var FIND_INDEX = 'findIndex'; +var SKIPS_HOLES = true; + +// Shouldn't skip holes +// eslint-disable-next-line es/no-array-prototype-findindex -- testing +if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.findIndex` method +// https://tc39.es/ecma262/#sec-array.prototype.findindex +$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { + findIndex: function findIndex(callbackfn /* , that = undefined */) { + return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND_INDEX); + + +/***/ }), +/* 153 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findLast = (__webpack_require__(154).findLast); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.findLast` method +// https://tc39.es/ecma262/#sec-array.prototype.findlast +$({ target: 'Array', proto: true }, { + findLast: function findLast(callbackfn /* , that = undefined */) { + return $findLast(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +addToUnscopables('findLast'); + + +/***/ }), +/* 154 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var IndexedObject = __webpack_require__(13); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.{ findLast, findLastIndex }` methods implementation +var createMethod = function (TYPE) { + var IS_FIND_LAST_INDEX = TYPE === 1; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IndexedObject(O); + var index = lengthOfArrayLike(self); + var boundFunction = bind(callbackfn, that); + var value, result; + while (index-- > 0) { + value = self[index]; + result = boundFunction(value, index, O); + if (result) switch (TYPE) { + case 0: return value; // findLast + case 1: return index; // findLastIndex + } + } + return IS_FIND_LAST_INDEX ? -1 : undefined; + }; +}; + +module.exports = { + // `Array.prototype.findLast` method + // https://github.com/tc39/proposal-array-find-from-last + findLast: createMethod(0), + // `Array.prototype.findLastIndex` method + // https://github.com/tc39/proposal-array-find-from-last + findLastIndex: createMethod(1) +}; + + +/***/ }), +/* 155 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findLastIndex = (__webpack_require__(154).findLastIndex); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.findLastIndex` method +// https://tc39.es/ecma262/#sec-array.prototype.findlastindex +$({ target: 'Array', proto: true }, { + findLastIndex: function findLastIndex(callbackfn /* , that = undefined */) { + return $findLastIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +addToUnscopables('findLastIndex'); + + +/***/ }), +/* 156 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var flattenIntoArray = __webpack_require__(157); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); +var arraySpeciesCreate = __webpack_require__(86); + +// `Array.prototype.flat` method +// https://tc39.es/ecma262/#sec-array.prototype.flat +$({ target: 'Array', proto: true }, { + flat: function flat(/* depthArg = 1 */) { + var depthArg = arguments.length ? arguments[0] : undefined; + var O = toObject(this); + var sourceLen = lengthOfArrayLike(O); + var A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg)); + return A; + } +}); + + +/***/ }), +/* 157 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isArray = __webpack_require__(88); +var lengthOfArrayLike = __webpack_require__(63); +var doesNotExceedSafeInteger = __webpack_require__(140); +var bind = __webpack_require__(84); + +// `FlattenIntoArray` abstract operation +// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray +var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? bind(mapper, thisArg) : false; + var element, elementLen; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + if (depth > 0 && isArray(element)) { + elementLen = lengthOfArrayLike(element); + targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1; + } else { + doesNotExceedSafeInteger(targetIndex + 1); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; +}; + +module.exports = flattenIntoArray; + + +/***/ }), +/* 158 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var flattenIntoArray = __webpack_require__(157); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var arraySpeciesCreate = __webpack_require__(86); + +// `Array.prototype.flatMap` method +// https://tc39.es/ecma262/#sec-array.prototype.flatmap +$({ target: 'Array', proto: true }, { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var sourceLen = lengthOfArrayLike(O); + var A; + aCallable(callbackfn); + A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return A; + } +}); + + +/***/ }), +/* 159 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var forEach = __webpack_require__(160); + +// `Array.prototype.forEach` method +// https://tc39.es/ecma262/#sec-array.prototype.foreach +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +$({ target: 'Array', proto: true, forced: [].forEach !== forEach }, { + forEach: forEach +}); + + +/***/ }), +/* 160 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $forEach = (__webpack_require__(83).forEach); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('forEach'); + +// `Array.prototype.forEach` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.foreach +module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +} : [].forEach; + + +/***/ }), +/* 161 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var from = __webpack_require__(162); +var checkCorrectnessOfIteration = __webpack_require__(164); + +var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { + // eslint-disable-next-line es/no-array-from -- required for testing + Array.from(iterable); +}); + +// `Array.from` method +// https://tc39.es/ecma262/#sec-array.from +$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { + from: from +}); + + +/***/ }), +/* 162 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var toObject = __webpack_require__(39); +var callWithSafeIterationClosing = __webpack_require__(163); +var isArrayIteratorMethod = __webpack_require__(131); +var isConstructor = __webpack_require__(89); +var lengthOfArrayLike = __webpack_require__(63); +var createProperty = __webpack_require__(141); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); + +var $Array = Array; + +// `Array.from` method implementation +// https://tc39.es/ecma262/#sec-array.from +module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var IS_CONSTRUCTOR = isConstructor(this); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined); + var iteratorMethod = getIteratorMethod(O); + var index = 0; + var length, result, step, iterator, next, value; + // if the target is not iterable or it's an array with the default iterator - use a simple case + if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) { + result = IS_CONSTRUCTOR ? new this() : []; + iterator = getIterator(O, iteratorMethod); + next = iterator.next; + for (;!(step = call(next, iterator)).done; index++) { + value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; + createProperty(result, index, value); + } + } else { + length = lengthOfArrayLike(O); + result = IS_CONSTRUCTOR ? new this(length) : $Array(length); + for (;length > index; index++) { + value = mapping ? mapfn(O[index], index) : O[index]; + createProperty(result, index, value); + } + } + result.length = index; + return result; +}; + + +/***/ }), +/* 163 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var iteratorClose = __webpack_require__(135); + +// call something on iterator step with safe closing on error +module.exports = function (iterator, fn, value, ENTRIES) { + try { + return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } +}; + + +/***/ }), +/* 164 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var SAFE_CLOSING = false; + +try { + var called = 0; + var iteratorWithReturn = { + next: function () { + return { done: !!called++ }; + }, + 'return': function () { + SAFE_CLOSING = true; + } + }; + iteratorWithReturn[ITERATOR] = function () { + return this; + }; + // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing + Array.from(iteratorWithReturn, function () { throw 2; }); +} catch (error) { /* empty */ } + +module.exports = function (exec, SKIP_CLOSING) { + try { + if (!SKIP_CLOSING && !SAFE_CLOSING) return false; + } catch (error) { return false; } // workaround of old WebKit + `eval` bug + var ITERATION_SUPPORT = false; + try { + var object = {}; + object[ITERATOR] = function () { + return { + next: function () { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { /* empty */ } + return ITERATION_SUPPORT; +}; + + +/***/ }), +/* 165 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $includes = (__webpack_require__(59).includes); +var fails = __webpack_require__(7); +var addToUnscopables = __webpack_require__(138); + +// FF99+ bug +var BROKEN_ON_SPARSE = fails(function () { + // eslint-disable-next-line es/no-array-prototype-includes -- detection + return !Array(1).includes(); +}); + +// `Array.prototype.includes` method +// https://tc39.es/ecma262/#sec-array.prototype.includes +$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, { + includes: function includes(el /* , fromIndex = 0 */) { + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('includes'); + + +/***/ }), +/* 166 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-array-prototype-indexof -- required for testing */ +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var $indexOf = (__webpack_require__(59).indexOf); +var arrayMethodIsStrict = __webpack_require__(147); + +var nativeIndexOf = uncurryThis([].indexOf); + +var NEGATIVE_ZERO = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0; +var FORCED = NEGATIVE_ZERO || !arrayMethodIsStrict('indexOf'); + +// `Array.prototype.indexOf` method +// https://tc39.es/ecma262/#sec-array.prototype.indexof +$({ target: 'Array', proto: true, forced: FORCED }, { + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + var fromIndex = arguments.length > 1 ? arguments[1] : undefined; + return NEGATIVE_ZERO + // convert -0 to +0 + ? nativeIndexOf(this, searchElement, fromIndex) || 0 + : $indexOf(this, searchElement, fromIndex); + } +}); + + +/***/ }), +/* 167 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isArray = __webpack_require__(88); + +// `Array.isArray` method +// https://tc39.es/ecma262/#sec-array.isarray +$({ target: 'Array', stat: true }, { + isArray: isArray +}); + + +/***/ }), +/* 168 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIndexedObject = __webpack_require__(12); +var addToUnscopables = __webpack_require__(138); +var Iterators = __webpack_require__(132); +var InternalStateModule = __webpack_require__(51); +var defineProperty = (__webpack_require__(44).f); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); + +var ARRAY_ITERATOR = 'Array Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); + +// `Array.prototype.entries` method +// https://tc39.es/ecma262/#sec-array.prototype.entries +// `Array.prototype.keys` method +// https://tc39.es/ecma262/#sec-array.prototype.keys +// `Array.prototype.values` method +// https://tc39.es/ecma262/#sec-array.prototype.values +// `Array.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-array.prototype-@@iterator +// `CreateArrayIterator` internal method +// https://tc39.es/ecma262/#sec-createarrayiterator +module.exports = defineIterator(Array, 'Array', function (iterated, kind) { + setInternalState(this, { + type: ARRAY_ITERATOR, + target: toIndexedObject(iterated), // target + index: 0, // next index + kind: kind // kind + }); +// `%ArrayIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next +}, function () { + var state = getInternalState(this); + var target = state.target; + var index = state.index++; + if (!target || index >= target.length) { + state.target = null; + return createIterResultObject(undefined, true); + } + switch (state.kind) { + case 'keys': return createIterResultObject(index, false); + case 'values': return createIterResultObject(target[index], false); + } return createIterResultObject([index, target[index]], false); +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% +// https://tc39.es/ecma262/#sec-createunmappedargumentsobject +// https://tc39.es/ecma262/#sec-createmappedargumentsobject +var values = Iterators.Arguments = Iterators.Array; + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + +// V8 ~ Chrome 45- bug +if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try { + defineProperty(values, 'name', { value: 'values' }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 169 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var IS_PURE = __webpack_require__(36); +var FunctionName = __webpack_require__(49); +var isCallable = __webpack_require__(21); +var createIteratorConstructor = __webpack_require__(170); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var setToStringTag = __webpack_require__(82); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var wellKnownSymbol = __webpack_require__(33); +var Iterators = __webpack_require__(132); +var IteratorsCore = __webpack_require__(171); + +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +var IteratorPrototype = IteratorsCore.IteratorPrototype; +var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; +var ITERATOR = wellKnownSymbol('iterator'); +var KEYS = 'keys'; +var VALUES = 'values'; +var ENTRIES = 'entries'; + +var returnThis = function () { return this; }; + +module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + + var getIterationMethod = function (KIND) { + if (KIND === DEFAULT && defaultIterator) return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND]; + + switch (KIND) { + case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; + case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; + case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; + } + + return function () { return new IteratorConstructor(this); }; + }; + + var TO_STRING_TAG = NAME + ' Iterator'; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] + || IterablePrototype['@@iterator'] + || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + + // fix native + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { + defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + // Set @@toStringTag to native iterators + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; + } + } + + // fix Array.prototype.{ values, @@iterator }.name in V8 / FF + if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) { + if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(IterablePrototype, 'name', VALUES); + } else { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { return call(nativeIterator, this); }; + } + } + + // export additional methods + if (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + defineBuiltIn(IterablePrototype, KEY, methods[KEY]); + } + } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); + } + + // define iterator + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); + } + Iterators[NAME] = defaultIterator; + + return methods; +}; + + +/***/ }), +/* 170 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var setToStringTag = __webpack_require__(82); +var Iterators = __webpack_require__(132); + +var returnThis = function () { return this; }; + +module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { + var TO_STRING_TAG = NAME + ' Iterator'; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; +}; + + +/***/ }), +/* 171 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var create = __webpack_require__(71); +var getPrototypeOf = __webpack_require__(128); +var defineBuiltIn = __webpack_require__(47); +var wellKnownSymbol = __webpack_require__(33); +var IS_PURE = __webpack_require__(36); + +var ITERATOR = wellKnownSymbol('iterator'); +var BUGGY_SAFARI_ITERATORS = false; + +// `%IteratorPrototype%` object +// https://tc39.es/ecma262/#sec-%iteratorprototype%-object +var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; + +/* eslint-disable es/no-array-prototype-keys -- safe */ +if ([].keys) { + arrayIterator = [].keys(); + // Safari 8 has buggy iterators w/o `next` + if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } +} + +var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () { + var test = {}; + // FF44- legacy iterators case + return IteratorPrototype[ITERATOR].call(test) !== test; +}); + +if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; +else if (IS_PURE) IteratorPrototype = create(IteratorPrototype); + +// `%IteratorPrototype%[@@iterator]()` method +// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator +if (!isCallable(IteratorPrototype[ITERATOR])) { + defineBuiltIn(IteratorPrototype, ITERATOR, function () { + return this; + }); +} + +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + + +/***/ }), +/* 172 */ +/***/ (function(module) { + + +// `CreateIterResultObject` abstract operation +// https://tc39.es/ecma262/#sec-createiterresultobject +module.exports = function (value, done) { + return { value: value, done: done }; +}; + + +/***/ }), +/* 173 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var IndexedObject = __webpack_require__(13); +var toIndexedObject = __webpack_require__(12); +var arrayMethodIsStrict = __webpack_require__(147); + +var nativeJoin = uncurryThis([].join); + +var ES3_STRINGS = IndexedObject !== Object; +var FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ','); + +// `Array.prototype.join` method +// https://tc39.es/ecma262/#sec-array.prototype.join +$({ target: 'Array', proto: true, forced: FORCED }, { + join: function join(separator) { + return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator); + } +}); + + +/***/ }), +/* 174 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var lastIndexOf = __webpack_require__(175); + +// `Array.prototype.lastIndexOf` method +// https://tc39.es/ecma262/#sec-array.prototype.lastindexof +// eslint-disable-next-line es/no-array-prototype-lastindexof -- required for testing +$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, { + lastIndexOf: lastIndexOf +}); + + +/***/ }), +/* 175 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-array-prototype-lastindexof -- safe */ +var apply = __webpack_require__(94); +var toIndexedObject = __webpack_require__(12); +var toIntegerOrInfinity = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(63); +var arrayMethodIsStrict = __webpack_require__(147); + +var min = Math.min; +var $lastIndexOf = [].lastIndexOf; +var NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0; +var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf'); +var FORCED = NEGATIVE_ZERO || !STRICT_METHOD; + +// `Array.prototype.lastIndexOf` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.lastindexof +module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { + // convert -0 to +0 + if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0; + var O = toIndexedObject(this); + var length = lengthOfArrayLike(O); + if (length === 0) return -1; + var index = length - 1; + if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1])); + if (index < 0) index = length + index; + for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0; + return -1; +} : $lastIndexOf; + + +/***/ }), +/* 176 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $map = (__webpack_require__(83).map); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map'); + +// `Array.prototype.map` method +// https://tc39.es/ecma262/#sec-array.prototype.map +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 177 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isConstructor = __webpack_require__(89); +var createProperty = __webpack_require__(141); + +var $Array = Array; + +var ISNT_GENERIC = fails(function () { + function F() { /* empty */ } + // eslint-disable-next-line es/no-array-of -- safe + return !($Array.of.call(F) instanceof F); +}); + +// `Array.of` method +// https://tc39.es/ecma262/#sec-array.of +// WebKit Array.of isn't generic +$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, { + of: function of(/* ...args */) { + var index = 0; + var argumentsLength = arguments.length; + var result = new (isConstructor(this) ? this : $Array)(argumentsLength); + while (argumentsLength > index) createProperty(result, index, arguments[index++]); + result.length = argumentsLength; + return result; + } +}); + + +/***/ }), +/* 178 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var doesNotExceedSafeInteger = __webpack_require__(140); +var fails = __webpack_require__(7); + +var INCORRECT_TO_LENGTH = fails(function () { + return [].push.call({ length: 0x100000000 }, 1) !== 4294967297; +}); + +// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError +// https://bugs.chromium.org/p/v8/issues/detail?id=12681 +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).push(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength(); + +// `Array.prototype.push` method +// https://tc39.es/ecma262/#sec-array.prototype.push +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + push: function push(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + doesNotExceedSafeInteger(len + argCount); + for (var i = 0; i < argCount; i++) { + O[len] = arguments[i]; + len++; + } + setArrayLength(O, len); + return len; + } +}); + + +/***/ }), +/* 179 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var isArray = __webpack_require__(88); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Safari < 13 does not throw an error in this case +var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () { + // makes no sense without proper strict mode support + if (this !== undefined) return true; + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).length = 1; + } catch (error) { + return error instanceof TypeError; + } +}(); + +module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) { + if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) { + throw new $TypeError('Cannot set read only .length'); + } return O.length = length; +} : function (O, length) { + return O.length = length; +}; + + +/***/ }), +/* 180 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $reduce = (__webpack_require__(181).left); +var arrayMethodIsStrict = __webpack_require__(147); +var CHROME_VERSION = __webpack_require__(27); +var IS_NODE = __webpack_require__(182); + +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; +var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce'); + +// `Array.prototype.reduce` method +// https://tc39.es/ecma262/#sec-array.prototype.reduce +$({ target: 'Array', proto: true, forced: FORCED }, { + reduce: function reduce(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 181 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var IndexedObject = __webpack_require__(13); +var lengthOfArrayLike = __webpack_require__(63); + +var $TypeError = TypeError; + +var REDUCE_EMPTY = 'Reduce of empty array with no initial value'; + +// `Array.prototype.{ reduce, reduceRight }` methods implementation +var createMethod = function (IS_RIGHT) { + return function (that, callbackfn, argumentsLength, memo) { + var O = toObject(that); + var self = IndexedObject(O); + var length = lengthOfArrayLike(O); + aCallable(callbackfn); + if (length === 0 && argumentsLength < 2) throw new $TypeError(REDUCE_EMPTY); + var index = IS_RIGHT ? length - 1 : 0; + var i = IS_RIGHT ? -1 : 1; + if (argumentsLength < 2) while (true) { + if (index in self) { + memo = self[index]; + index += i; + break; + } + index += i; + if (IS_RIGHT ? index < 0 : length <= index) { + throw new $TypeError(REDUCE_EMPTY); + } + } + for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) { + memo = callbackfn(memo, self[index], index, O); + } + return memo; + }; +}; + +module.exports = { + // `Array.prototype.reduce` method + // https://tc39.es/ecma262/#sec-array.prototype.reduce + left: createMethod(false), + // `Array.prototype.reduceRight` method + // https://tc39.es/ecma262/#sec-array.prototype.reduceright + right: createMethod(true) +}; + + +/***/ }), +/* 182 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var ENVIRONMENT = __webpack_require__(183); + +module.exports = ENVIRONMENT === 'NODE'; + + +/***/ }), +/* 183 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* global Bun, Deno -- detection */ +var globalThis = __webpack_require__(4); +var userAgent = __webpack_require__(28); +var classof = __webpack_require__(15); + +var userAgentStartsWith = function (string) { + return userAgent.slice(0, string.length) === string; +}; + +module.exports = (function () { + if (userAgentStartsWith('Bun/')) return 'BUN'; + if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE'; + if (userAgentStartsWith('Deno/')) return 'DENO'; + if (userAgentStartsWith('Node.js/')) return 'NODE'; + if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN'; + if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO'; + if (classof(globalThis.process) === 'process') return 'NODE'; + if (globalThis.window && globalThis.document) return 'BROWSER'; + return 'REST'; +})(); + + +/***/ }), +/* 184 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $reduceRight = (__webpack_require__(181).right); +var arrayMethodIsStrict = __webpack_require__(147); +var CHROME_VERSION = __webpack_require__(27); +var IS_NODE = __webpack_require__(182); + +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; +var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduceRight'); + +// `Array.prototype.reduceRight` method +// https://tc39.es/ecma262/#sec-array.prototype.reduceright +$({ target: 'Array', proto: true, forced: FORCED }, { + reduceRight: function reduceRight(callbackfn /* , initialValue */) { + return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 185 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var isArray = __webpack_require__(88); + +var nativeReverse = uncurryThis([].reverse); +var test = [1, 2]; + +// `Array.prototype.reverse` method +// https://tc39.es/ecma262/#sec-array.prototype.reverse +// fix for Safari 12.0 bug +// https://bugs.webkit.org/show_bug.cgi?id=188794 +$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, { + reverse: function reverse() { + // eslint-disable-next-line no-self-assign -- dirty hack + if (isArray(this)) this.length = this.length; + return nativeReverse(this); + } +}); + + +/***/ }), +/* 186 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isArray = __webpack_require__(88); +var isConstructor = __webpack_require__(89); +var isObject = __webpack_require__(20); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); +var toIndexedObject = __webpack_require__(12); +var createProperty = __webpack_require__(141); +var wellKnownSymbol = __webpack_require__(33); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); +var nativeSlice = __webpack_require__(76); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); + +var SPECIES = wellKnownSymbol('species'); +var $Array = Array; +var max = Math.max; + +// `Array.prototype.slice` method +// https://tc39.es/ecma262/#sec-array.prototype.slice +// fallback for not array-like ES3 strings and DOM objects +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + slice: function slice(start, end) { + var O = toIndexedObject(this); + var length = lengthOfArrayLike(O); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible + var Constructor, result, n; + if (isArray(O)) { + Constructor = O.constructor; + // cross-realm fallback + if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) { + Constructor = undefined; + } else if (isObject(Constructor)) { + Constructor = Constructor[SPECIES]; + if (Constructor === null) Constructor = undefined; + } + if (Constructor === $Array || Constructor === undefined) { + return nativeSlice(O, k, fin); + } + } + result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0)); + for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); + result.length = n; + return result; + } +}); + + +/***/ }), +/* 187 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $some = (__webpack_require__(83).some); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('some'); + +// `Array.prototype.some` method +// https://tc39.es/ecma262/#sec-array.prototype.some +$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { + some: function some(callbackfn /* , thisArg */) { + return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 188 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var deletePropertyOrThrow = __webpack_require__(145); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); +var internalSort = __webpack_require__(189); +var arrayMethodIsStrict = __webpack_require__(147); +var FF = __webpack_require__(190); +var IE_OR_EDGE = __webpack_require__(191); +var V8 = __webpack_require__(27); +var WEBKIT = __webpack_require__(192); + +var test = []; +var nativeSort = uncurryThis(test.sort); +var push = uncurryThis(test.push); + +// IE8- +var FAILS_ON_UNDEFINED = fails(function () { + test.sort(undefined); +}); +// V8 bug +var FAILS_ON_NULL = fails(function () { + test.sort(null); +}); +// Old WebKit +var STRICT_METHOD = arrayMethodIsStrict('sort'); + +var STABLE_SORT = !fails(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 70; + if (FF && FF > 3) return; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 603; + + var result = ''; + var code, chr, value, index; + + // generate an array with more 512 elements (Chakra and old V8 fails only in this case) + for (code = 65; code < 76; code++) { + chr = String.fromCharCode(code); + + switch (code) { + case 66: case 69: case 70: case 72: value = 3; break; + case 68: case 71: value = 4; break; + default: value = 2; + } + + for (index = 0; index < 47; index++) { + test.push({ k: chr + index, v: value }); + } + } + + test.sort(function (a, b) { return b.v - a.v; }); + + for (index = 0; index < test.length; index++) { + chr = test[index].k.charAt(0); + if (result.charAt(result.length - 1) !== chr) result += chr; + } + + return result !== 'DGBEFHACIJK'; +}); + +var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT; + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (y === undefined) return -1; + if (x === undefined) return 1; + if (comparefn !== undefined) return +comparefn(x, y) || 0; + return toString(x) > toString(y) ? 1 : -1; + }; +}; + +// `Array.prototype.sort` method +// https://tc39.es/ecma262/#sec-array.prototype.sort +$({ target: 'Array', proto: true, forced: FORCED }, { + sort: function sort(comparefn) { + if (comparefn !== undefined) aCallable(comparefn); + + var array = toObject(this); + + if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn); + + var items = []; + var arrayLength = lengthOfArrayLike(array); + var itemsLength, index; + + for (index = 0; index < arrayLength; index++) { + if (index in array) push(items, array[index]); + } + + internalSort(items, getSortCompare(comparefn)); + + itemsLength = lengthOfArrayLike(items); + index = 0; + + while (index < itemsLength) array[index] = items[index++]; + while (index < arrayLength) deletePropertyOrThrow(array, index++); + + return array; + } +}); + + +/***/ }), +/* 189 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arraySlice = __webpack_require__(76); + +var floor = Math.floor; + +var sort = function (array, comparefn) { + var length = array.length; + + if (length < 8) { + // insertion sort + var i = 1; + var element, j; + + while (i < length) { + j = i; + element = array[i]; + while (j && comparefn(array[j - 1], element) > 0) { + array[j] = array[--j]; + } + if (j !== i++) array[j] = element; + } + } else { + // merge sort + var middle = floor(length / 2); + var left = sort(arraySlice(array, 0, middle), comparefn); + var right = sort(arraySlice(array, middle), comparefn); + var llength = left.length; + var rlength = right.length; + var lindex = 0; + var rindex = 0; + + while (lindex < llength || rindex < rlength) { + array[lindex + rindex] = (lindex < llength && rindex < rlength) + ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++] + : lindex < llength ? left[lindex++] : right[rindex++]; + } + } + + return array; +}; + +module.exports = sort; + + +/***/ }), +/* 190 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +var firefox = userAgent.match(/firefox\/(\d+)/i); + +module.exports = !!firefox && +firefox[1]; + + +/***/ }), +/* 191 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var UA = __webpack_require__(28); + +module.exports = /MSIE|Trident/.test(UA); + + +/***/ }), +/* 192 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +var webkit = userAgent.match(/AppleWebKit\/(\d+)\./); + +module.exports = !!webkit && +webkit[1]; + + +/***/ }), +/* 193 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var setSpecies = __webpack_require__(194); + +// `Array[@@species]` getter +// https://tc39.es/ecma262/#sec-get-array-@@species +setSpecies('Array'); + + +/***/ }), +/* 194 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var defineBuiltInAccessor = __webpack_require__(77); +var wellKnownSymbol = __webpack_require__(33); +var DESCRIPTORS = __webpack_require__(6); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (CONSTRUCTOR_NAME) { + var Constructor = getBuiltIn(CONSTRUCTOR_NAME); + + if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { + defineBuiltInAccessor(Constructor, SPECIES, { + configurable: true, + get: function () { return this; } + }); + } +}; + + +/***/ }), +/* 195 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var toIntegerOrInfinity = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var doesNotExceedSafeInteger = __webpack_require__(140); +var arraySpeciesCreate = __webpack_require__(86); +var createProperty = __webpack_require__(141); +var deletePropertyOrThrow = __webpack_require__(145); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice'); + +var max = Math.max; +var min = Math.min; + +// `Array.prototype.splice` method +// https://tc39.es/ecma262/#sec-array.prototype.splice +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + splice: function splice(start, deleteCount /* , ...items */) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.length; + var insertCount, actualDeleteCount, A, k, from, to; + if (argumentsLength === 0) { + insertCount = actualDeleteCount = 0; + } else if (argumentsLength === 1) { + insertCount = 0; + actualDeleteCount = len - actualStart; + } else { + insertCount = argumentsLength - 2; + actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + } + doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); + A = arraySpeciesCreate(O, actualDeleteCount); + for (k = 0; k < actualDeleteCount; k++) { + from = actualStart + k; + if (from in O) createProperty(A, k, O[from]); + } + A.length = actualDeleteCount; + if (insertCount < actualDeleteCount) { + for (k = actualStart; k < len - actualDeleteCount; k++) { + from = k + actualDeleteCount; + to = k + insertCount; + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + } + for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1); + } else if (insertCount > actualDeleteCount) { + for (k = len - actualDeleteCount; k > actualStart; k--) { + from = k + actualDeleteCount - 1; + to = k + insertCount - 1; + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + } + } + for (k = 0; k < insertCount; k++) { + O[k + actualStart] = arguments[k + 2]; + } + setArrayLength(O, len - actualDeleteCount + insertCount); + return A; + } +}); + + +/***/ }), +/* 196 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var arrayToReversed = __webpack_require__(197); +var toIndexedObject = __webpack_require__(12); +var addToUnscopables = __webpack_require__(138); + +var $Array = Array; + +// `Array.prototype.toReversed` method +// https://tc39.es/ecma262/#sec-array.prototype.toreversed +$({ target: 'Array', proto: true }, { + toReversed: function toReversed() { + return arrayToReversed(toIndexedObject(this), $Array); + } +}); + +addToUnscopables('toReversed'); + + +/***/ }), +/* 197 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); + +// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed +// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed +module.exports = function (O, C) { + var len = lengthOfArrayLike(O); + var A = new C(len); + var k = 0; + for (; k < len; k++) A[k] = O[len - k - 1]; + return A; +}; + + +/***/ }), +/* 198 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var toIndexedObject = __webpack_require__(12); +var arrayFromConstructorAndList = __webpack_require__(199); +var getBuiltInPrototypeMethod = __webpack_require__(200); +var addToUnscopables = __webpack_require__(138); + +var $Array = Array; +var sort = uncurryThis(getBuiltInPrototypeMethod('Array', 'sort')); + +// `Array.prototype.toSorted` method +// https://tc39.es/ecma262/#sec-array.prototype.tosorted +$({ target: 'Array', proto: true }, { + toSorted: function toSorted(compareFn) { + if (compareFn !== undefined) aCallable(compareFn); + var O = toIndexedObject(this); + var A = arrayFromConstructorAndList($Array, O); + return sort(A, compareFn); + } +}); + +addToUnscopables('toSorted'); + + +/***/ }), +/* 199 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); + +module.exports = function (Constructor, list, $length) { + var index = 0; + var length = arguments.length > 2 ? $length : lengthOfArrayLike(list); + var result = new Constructor(length); + while (length > index) result[index] = list[index++]; + return result; +}; + + +/***/ }), +/* 200 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = function (CONSTRUCTOR, METHOD) { + var Constructor = globalThis[CONSTRUCTOR]; + var Prototype = Constructor && Constructor.prototype; + return Prototype && Prototype[METHOD]; +}; + + +/***/ }), +/* 201 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var addToUnscopables = __webpack_require__(138); +var doesNotExceedSafeInteger = __webpack_require__(140); +var lengthOfArrayLike = __webpack_require__(63); +var toAbsoluteIndex = __webpack_require__(60); +var toIndexedObject = __webpack_require__(12); +var toIntegerOrInfinity = __webpack_require__(61); + +var $Array = Array; +var max = Math.max; +var min = Math.min; + +// `Array.prototype.toSpliced` method +// https://tc39.es/ecma262/#sec-array.prototype.tospliced +$({ target: 'Array', proto: true }, { + toSpliced: function toSpliced(start, deleteCount /* , ...items */) { + var O = toIndexedObject(this); + var len = lengthOfArrayLike(O); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.length; + var k = 0; + var insertCount, actualDeleteCount, newLen, A; + if (argumentsLength === 0) { + insertCount = actualDeleteCount = 0; + } else if (argumentsLength === 1) { + insertCount = 0; + actualDeleteCount = len - actualStart; + } else { + insertCount = argumentsLength - 2; + actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + } + newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); + A = $Array(newLen); + + for (; k < actualStart; k++) A[k] = O[k]; + for (; k < actualStart + insertCount; k++) A[k] = arguments[k - actualStart + 2]; + for (; k < newLen; k++) A[k] = O[k + actualDeleteCount - insertCount]; + + return A; + } +}); + +addToUnscopables('toSpliced'); + + +/***/ }), +/* 202 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = __webpack_require__(138); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('flat'); + + +/***/ }), +/* 203 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = __webpack_require__(138); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('flatMap'); + + +/***/ }), +/* 204 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var deletePropertyOrThrow = __webpack_require__(145); +var doesNotExceedSafeInteger = __webpack_require__(140); + +// IE8- +var INCORRECT_RESULT = [].unshift(0) !== 1; + +// V8 ~ Chrome < 71 and Safari <= 15.4, FF < 23 throws InternalError +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).unshift(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_RESULT || !properErrorOnNonWritableLength(); + +// `Array.prototype.unshift` method +// https://tc39.es/ecma262/#sec-array.prototype.unshift +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + unshift: function unshift(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + if (argCount) { + doesNotExceedSafeInteger(len + argCount); + var k = len; + while (k--) { + var to = k + argCount; + if (k in O) O[to] = O[k]; + else deletePropertyOrThrow(O, to); + } + for (var j = 0; j < argCount; j++) { + O[j] = arguments[j]; + } + } return setArrayLength(O, len + argCount); + } +}); + + +/***/ }), +/* 205 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var arrayWith = __webpack_require__(206); +var toIndexedObject = __webpack_require__(12); + +var $Array = Array; + +// `Array.prototype.with` method +// https://tc39.es/ecma262/#sec-array.prototype.with +$({ target: 'Array', proto: true }, { + 'with': function (index, value) { + return arrayWith(toIndexedObject(this), $Array, index, value); + } +}); + + +/***/ }), +/* 206 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); + +var $RangeError = RangeError; + +// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with +// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with +module.exports = function (O, C, index, value) { + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex; + if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index'); + var A = new C(len); + var k = 0; + for (; k < len; k++) A[k] = k === actualIndex ? value : O[k]; + return A; +}; + + +/***/ }), +/* 207 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var arrayBufferModule = __webpack_require__(208); +var setSpecies = __webpack_require__(194); + +var ARRAY_BUFFER = 'ArrayBuffer'; +var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER]; +var NativeArrayBuffer = globalThis[ARRAY_BUFFER]; + +// `ArrayBuffer` constructor +// https://tc39.es/ecma262/#sec-arraybuffer-constructor +$({ global: true, constructor: true, forced: NativeArrayBuffer !== ArrayBuffer }, { + ArrayBuffer: ArrayBuffer +}); + +setSpecies(ARRAY_BUFFER); + + +/***/ }), +/* 208 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var DESCRIPTORS = __webpack_require__(6); +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); +var FunctionName = __webpack_require__(49); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var fails = __webpack_require__(7); +var anInstance = __webpack_require__(211); +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); +var toIndex = __webpack_require__(212); +var fround = __webpack_require__(213); +var IEEE754 = __webpack_require__(216); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var arrayFill = __webpack_require__(149); +var arraySlice = __webpack_require__(76); +var inheritIfRequired = __webpack_require__(118); +var copyConstructorProperties = __webpack_require__(55); +var setToStringTag = __webpack_require__(82); +var InternalStateModule = __webpack_require__(51); + +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +var ARRAY_BUFFER = 'ArrayBuffer'; +var DATA_VIEW = 'DataView'; +var PROTOTYPE = 'prototype'; +var WRONG_LENGTH = 'Wrong length'; +var WRONG_INDEX = 'Wrong index'; +var getInternalArrayBufferState = InternalStateModule.getterFor(ARRAY_BUFFER); +var getInternalDataViewState = InternalStateModule.getterFor(DATA_VIEW); +var setInternalState = InternalStateModule.set; +var NativeArrayBuffer = globalThis[ARRAY_BUFFER]; +var $ArrayBuffer = NativeArrayBuffer; +var ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE]; +var $DataView = globalThis[DATA_VIEW]; +var DataViewPrototype = $DataView && $DataView[PROTOTYPE]; +var ObjectPrototype = Object.prototype; +var Array = globalThis.Array; +var RangeError = globalThis.RangeError; +var fill = uncurryThis(arrayFill); +var reverse = uncurryThis([].reverse); + +var packIEEE754 = IEEE754.pack; +var unpackIEEE754 = IEEE754.unpack; + +var packInt8 = function (number) { + return [number & 0xFF]; +}; + +var packInt16 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF]; +}; + +var packInt32 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF]; +}; + +var unpackInt32 = function (buffer) { + return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0]; +}; + +var packFloat32 = function (number) { + return packIEEE754(fround(number), 23, 4); +}; + +var packFloat64 = function (number) { + return packIEEE754(number, 52, 8); +}; + +var addGetter = function (Constructor, key, getInternalState) { + defineBuiltInAccessor(Constructor[PROTOTYPE], key, { + configurable: true, + get: function () { + return getInternalState(this)[key]; + } + }); +}; + +var get = function (view, count, index, isLittleEndian) { + var store = getInternalDataViewState(view); + var intIndex = toIndex(index); + var boolIsLittleEndian = !!isLittleEndian; + if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX); + var bytes = store.bytes; + var start = intIndex + store.byteOffset; + var pack = arraySlice(bytes, start, start + count); + return boolIsLittleEndian ? pack : reverse(pack); +}; + +var set = function (view, count, index, conversion, value, isLittleEndian) { + var store = getInternalDataViewState(view); + var intIndex = toIndex(index); + var pack = conversion(+value); + var boolIsLittleEndian = !!isLittleEndian; + if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX); + var bytes = store.bytes; + var start = intIndex + store.byteOffset; + for (var i = 0; i < count; i++) bytes[start + i] = pack[boolIsLittleEndian ? i : count - i - 1]; +}; + +if (!NATIVE_ARRAY_BUFFER) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, ArrayBufferPrototype); + var byteLength = toIndex(length); + setInternalState(this, { + type: ARRAY_BUFFER, + bytes: fill(Array(byteLength), 0), + byteLength: byteLength + }); + if (!DESCRIPTORS) { + this.byteLength = byteLength; + this.detached = false; + } + }; + + ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE]; + + $DataView = function DataView(buffer, byteOffset, byteLength) { + anInstance(this, DataViewPrototype); + anInstance(buffer, ArrayBufferPrototype); + var bufferState = getInternalArrayBufferState(buffer); + var bufferLength = bufferState.byteLength; + var offset = toIntegerOrInfinity(byteOffset); + if (offset < 0 || offset > bufferLength) throw new RangeError('Wrong offset'); + byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); + if (offset + byteLength > bufferLength) throw new RangeError(WRONG_LENGTH); + setInternalState(this, { + type: DATA_VIEW, + buffer: buffer, + byteLength: byteLength, + byteOffset: offset, + bytes: bufferState.bytes + }); + if (!DESCRIPTORS) { + this.buffer = buffer; + this.byteLength = byteLength; + this.byteOffset = offset; + } + }; + + DataViewPrototype = $DataView[PROTOTYPE]; + + if (DESCRIPTORS) { + addGetter($ArrayBuffer, 'byteLength', getInternalArrayBufferState); + addGetter($DataView, 'buffer', getInternalDataViewState); + addGetter($DataView, 'byteLength', getInternalDataViewState); + addGetter($DataView, 'byteOffset', getInternalDataViewState); + } + + defineBuiltIns(DataViewPrototype, { + getInt8: function getInt8(byteOffset) { + return get(this, 1, byteOffset)[0] << 24 >> 24; + }, + getUint8: function getUint8(byteOffset) { + return get(this, 1, byteOffset)[0]; + }, + getInt16: function getInt16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false); + return (bytes[1] << 8 | bytes[0]) << 16 >> 16; + }, + getUint16: function getUint16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false); + return bytes[1] << 8 | bytes[0]; + }, + getInt32: function getInt32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)); + }, + getUint32: function getUint32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)) >>> 0; + }, + getFloat32: function getFloat32(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false), 23); + }, + getFloat64: function getFloat64(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : false), 52); + }, + setInt8: function setInt8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setUint8: function setUint8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setInt16: function setInt16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false); + }, + setUint16: function setUint16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false); + }, + setInt32: function setInt32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false); + }, + setUint32: function setUint32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false); + }, + setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : false); + }, + setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { + set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : false); + } + }); +} else { + var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER; + /* eslint-disable no-new, sonarjs/inconsistent-function-call -- required for testing */ + if (!fails(function () { + NativeArrayBuffer(1); + }) || !fails(function () { + new NativeArrayBuffer(-1); + }) || fails(function () { + new NativeArrayBuffer(); + new NativeArrayBuffer(1.5); + new NativeArrayBuffer(NaN); + return NativeArrayBuffer.length !== 1 || INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME; + })) { + /* eslint-enable no-new, sonarjs/inconsistent-function-call -- required for testing */ + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, ArrayBufferPrototype); + return inheritIfRequired(new NativeArrayBuffer(toIndex(length)), this, $ArrayBuffer); + }; + + $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype; + + ArrayBufferPrototype.constructor = $ArrayBuffer; + + copyConstructorProperties($ArrayBuffer, NativeArrayBuffer); + } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER); + } + + // WebKit bug - the same parent prototype for typed arrays and data view + if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) { + setPrototypeOf(DataViewPrototype, ObjectPrototype); + } + + // iOS Safari 7.x bug + var testView = new $DataView(new $ArrayBuffer(2)); + var $setInt8 = uncurryThis(DataViewPrototype.setInt8); + testView.setInt8(0, 2147483648); + testView.setInt8(1, 2147483649); + if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, { + setInt8: function setInt8(byteOffset, value) { + $setInt8(this, byteOffset, value << 24 >> 24); + }, + setUint8: function setUint8(byteOffset, value) { + $setInt8(this, byteOffset, value << 24 >> 24); + } + }, { unsafe: true }); +} + +setToStringTag($ArrayBuffer, ARRAY_BUFFER); +setToStringTag($DataView, DATA_VIEW); + +module.exports = { + ArrayBuffer: $ArrayBuffer, + DataView: $DataView +}; + + +/***/ }), +/* 209 */ +/***/ (function(module) { + + +// eslint-disable-next-line es/no-typed-arrays -- safe +module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; + + +/***/ }), +/* 210 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); + +module.exports = function (target, src, options) { + for (var key in src) defineBuiltIn(target, key, src[key], options); + return target; +}; + + +/***/ }), +/* 211 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isPrototypeOf = __webpack_require__(24); + +var $TypeError = TypeError; + +module.exports = function (it, Prototype) { + if (isPrototypeOf(Prototype, it)) return it; + throw new $TypeError('Incorrect invocation'); +}; + + +/***/ }), +/* 212 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); + +var $RangeError = RangeError; + +// `ToIndex` abstract operation +// https://tc39.es/ecma262/#sec-toindex +module.exports = function (it) { + if (it === undefined) return 0; + var number = toIntegerOrInfinity(it); + var length = toLength(number); + if (number !== length) throw new $RangeError('Wrong length or index'); + return length; +}; + + +/***/ }), +/* 213 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var floatRound = __webpack_require__(214); + +var FLOAT32_EPSILON = 1.1920928955078125e-7; // 2 ** -23; +var FLOAT32_MAX_VALUE = 3.4028234663852886e+38; // 2 ** 128 - 2 ** 104 +var FLOAT32_MIN_VALUE = 1.1754943508222875e-38; // 2 ** -126; + +// `Math.fround` method implementation +// https://tc39.es/ecma262/#sec-math.fround +// eslint-disable-next-line es/no-math-fround -- safe +module.exports = Math.fround || function fround(x) { + return floatRound(x, FLOAT32_EPSILON, FLOAT32_MAX_VALUE, FLOAT32_MIN_VALUE); +}; + + +/***/ }), +/* 214 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var sign = __webpack_require__(215); + +var abs = Math.abs; + +var EPSILON = 2.220446049250313e-16; // Number.EPSILON +var INVERSE_EPSILON = 1 / EPSILON; + +var roundTiesToEven = function (n) { + return n + INVERSE_EPSILON - INVERSE_EPSILON; +}; + +module.exports = function (x, FLOAT_EPSILON, FLOAT_MAX_VALUE, FLOAT_MIN_VALUE) { + var n = +x; + var absolute = abs(n); + var s = sign(n); + if (absolute < FLOAT_MIN_VALUE) return s * roundTiesToEven(absolute / FLOAT_MIN_VALUE / FLOAT_EPSILON) * FLOAT_MIN_VALUE * FLOAT_EPSILON; + var a = (1 + FLOAT_EPSILON / EPSILON) * absolute; + var result = a - (a - absolute); + // eslint-disable-next-line no-self-compare -- NaN check + if (result > FLOAT_MAX_VALUE || result !== result) return s * Infinity; + return s * result; +}; + + +/***/ }), +/* 215 */ +/***/ (function(module) { + + +// `Math.sign` method implementation +// https://tc39.es/ecma262/#sec-math.sign +// eslint-disable-next-line es/no-math-sign -- safe +module.exports = Math.sign || function sign(x) { + var n = +x; + // eslint-disable-next-line no-self-compare -- NaN check + return n === 0 || n !== n ? n : n < 0 ? -1 : 1; +}; + + +/***/ }), +/* 216 */ +/***/ (function(module) { + + +// IEEE754 conversions based on https://github.com/feross/ieee754 +var $Array = Array; +var abs = Math.abs; +var pow = Math.pow; +var floor = Math.floor; +var log = Math.log; +var LN2 = Math.LN2; + +var pack = function (number, mantissaLength, bytes) { + var buffer = $Array(bytes); + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0; + var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0; + var index = 0; + var exponent, mantissa, c; + number = abs(number); + // eslint-disable-next-line no-self-compare -- NaN check + if (number !== number || number === Infinity) { + // eslint-disable-next-line no-self-compare -- NaN check + mantissa = number !== number ? 1 : 0; + exponent = eMax; + } else { + exponent = floor(log(number) / LN2); + c = pow(2, -exponent); + if (number * c < 1) { + exponent--; + c *= 2; + } + if (exponent + eBias >= 1) { + number += rt / c; + } else { + number += rt * pow(2, 1 - eBias); + } + if (number * c >= 2) { + exponent++; + c /= 2; + } + if (exponent + eBias >= eMax) { + mantissa = 0; + exponent = eMax; + } else if (exponent + eBias >= 1) { + mantissa = (number * c - 1) * pow(2, mantissaLength); + exponent += eBias; + } else { + mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength); + exponent = 0; + } + } + while (mantissaLength >= 8) { + buffer[index++] = mantissa & 255; + mantissa /= 256; + mantissaLength -= 8; + } + exponent = exponent << mantissaLength | mantissa; + exponentLength += mantissaLength; + while (exponentLength > 0) { + buffer[index++] = exponent & 255; + exponent /= 256; + exponentLength -= 8; + } + buffer[index - 1] |= sign * 128; + return buffer; +}; + +var unpack = function (buffer, mantissaLength) { + var bytes = buffer.length; + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var nBits = exponentLength - 7; + var index = bytes - 1; + var sign = buffer[index--]; + var exponent = sign & 127; + var mantissa; + sign >>= 7; + while (nBits > 0) { + exponent = exponent * 256 + buffer[index--]; + nBits -= 8; + } + mantissa = exponent & (1 << -nBits) - 1; + exponent >>= -nBits; + nBits += mantissaLength; + while (nBits > 0) { + mantissa = mantissa * 256 + buffer[index--]; + nBits -= 8; + } + if (exponent === 0) { + exponent = 1 - eBias; + } else if (exponent === eMax) { + return mantissa ? NaN : sign ? -Infinity : Infinity; + } else { + mantissa += pow(2, mantissaLength); + exponent -= eBias; + } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength); +}; + +module.exports = { + pack: pack, + unpack: unpack +}; + + +/***/ }), +/* 217 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ArrayBufferViewCore = __webpack_require__(218); + +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; + +// `ArrayBuffer.isView` method +// https://tc39.es/ecma262/#sec-arraybuffer.isview +$({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + isView: ArrayBufferViewCore.isView +}); + + +/***/ }), +/* 218 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var classof = __webpack_require__(69); +var tryToString = __webpack_require__(31); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var isPrototypeOf = __webpack_require__(24); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var wellKnownSymbol = __webpack_require__(33); +var uid = __webpack_require__(40); +var InternalStateModule = __webpack_require__(51); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var Int8Array = globalThis.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var Uint8ClampedArray = globalThis.Uint8ClampedArray; +var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; +var TypedArray = Int8Array && getPrototypeOf(Int8Array); +var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype); +var ObjectPrototype = Object.prototype; +var TypeError = globalThis.TypeError; + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); +var TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor'; +// Fixing native typed arrays in Opera Presto crashes the browser, see #595 +var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(globalThis.opera) !== 'Opera'; +var TYPED_ARRAY_TAG_REQUIRED = false; +var NAME, Constructor, Prototype; + +var TypedArrayConstructorsList = { + Int8Array: 1, + Uint8Array: 1, + Uint8ClampedArray: 1, + Int16Array: 2, + Uint16Array: 2, + Int32Array: 4, + Uint32Array: 4, + Float32Array: 4, + Float64Array: 8 +}; + +var BigIntArrayConstructorsList = { + BigInt64Array: 8, + BigUint64Array: 8 +}; + +var isView = function isView(it) { + if (!isObject(it)) return false; + var klass = classof(it); + return klass === 'DataView' + || hasOwn(TypedArrayConstructorsList, klass) + || hasOwn(BigIntArrayConstructorsList, klass); +}; + +var getTypedArrayConstructor = function (it) { + var proto = getPrototypeOf(it); + if (!isObject(proto)) return; + var state = getInternalState(proto); + return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto); +}; + +var isTypedArray = function (it) { + if (!isObject(it)) return false; + var klass = classof(it); + return hasOwn(TypedArrayConstructorsList, klass) + || hasOwn(BigIntArrayConstructorsList, klass); +}; + +var aTypedArray = function (it) { + if (isTypedArray(it)) return it; + throw new TypeError('Target is not a typed array'); +}; + +var aTypedArrayConstructor = function (C) { + if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C; + throw new TypeError(tryToString(C) + ' is not a typed array constructor'); +}; + +var exportTypedArrayMethod = function (KEY, property, forced, options) { + if (!DESCRIPTORS) return; + if (forced) for (var ARRAY in TypedArrayConstructorsList) { + var TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try { + delete TypedArrayConstructor.prototype[KEY]; + } catch (error) { + // old WebKit bug - some methods are non-configurable + try { + TypedArrayConstructor.prototype[KEY] = property; + } catch (error2) { /* empty */ } + } + } + if (!TypedArrayPrototype[KEY] || forced) { + defineBuiltIn(TypedArrayPrototype, KEY, forced ? property + : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options); + } +}; + +var exportTypedArrayStaticMethod = function (KEY, property, forced) { + var ARRAY, TypedArrayConstructor; + if (!DESCRIPTORS) return; + if (setPrototypeOf) { + if (forced) for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try { + delete TypedArrayConstructor[KEY]; + } catch (error) { /* empty */ } + } + if (!TypedArray[KEY] || forced) { + // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable + try { + return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property); + } catch (error) { /* empty */ } + } else return; + } + for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { + defineBuiltIn(TypedArrayConstructor, KEY, property); + } + } +}; + +for (NAME in TypedArrayConstructorsList) { + Constructor = globalThis[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; + else NATIVE_ARRAY_BUFFER_VIEWS = false; +} + +for (NAME in BigIntArrayConstructorsList) { + Constructor = globalThis[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; +} + +// WebKit bug - typed arrays constructors prototype is Object.prototype +if (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) { + // eslint-disable-next-line no-shadow -- safe + TypedArray = function TypedArray() { + throw new TypeError('Incorrect invocation'); + }; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (globalThis[NAME]) setPrototypeOf(globalThis[NAME], TypedArray); + } +} + +if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) { + TypedArrayPrototype = TypedArray.prototype; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (globalThis[NAME]) setPrototypeOf(globalThis[NAME].prototype, TypedArrayPrototype); + } +} + +// WebKit bug - one more object in Uint8ClampedArray prototype chain +if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { + setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); +} + +if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) { + TYPED_ARRAY_TAG_REQUIRED = true; + defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, { + configurable: true, + get: function () { + return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; + } + }); + for (NAME in TypedArrayConstructorsList) if (globalThis[NAME]) { + createNonEnumerableProperty(globalThis[NAME], TYPED_ARRAY_TAG, NAME); + } +} + +module.exports = { + NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, + TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG, + aTypedArray: aTypedArray, + aTypedArrayConstructor: aTypedArrayConstructor, + exportTypedArrayMethod: exportTypedArrayMethod, + exportTypedArrayStaticMethod: exportTypedArrayStaticMethod, + getTypedArrayConstructor: getTypedArrayConstructor, + isView: isView, + isTypedArray: isTypedArray, + TypedArray: TypedArray, + TypedArrayPrototype: TypedArrayPrototype +}; + + +/***/ }), +/* 219 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var fails = __webpack_require__(7); +var ArrayBufferModule = __webpack_require__(208); +var anObject = __webpack_require__(46); +var toAbsoluteIndex = __webpack_require__(60); +var toLength = __webpack_require__(64); + +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var DataView = ArrayBufferModule.DataView; +var DataViewPrototype = DataView.prototype; +var nativeArrayBufferSlice = uncurryThis(ArrayBuffer.prototype.slice); +var getUint8 = uncurryThis(DataViewPrototype.getUint8); +var setUint8 = uncurryThis(DataViewPrototype.setUint8); + +var INCORRECT_SLICE = fails(function () { + return !new ArrayBuffer(2).slice(1, undefined).byteLength; +}); + +// `ArrayBuffer.prototype.slice` method +// https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice +$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, { + slice: function slice(start, end) { + if (nativeArrayBufferSlice && end === undefined) { + return nativeArrayBufferSlice(anObject(this), start); // FF fix + } + var length = anObject(this).byteLength; + var first = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + var result = new ArrayBuffer(toLength(fin - first)); + var viewSource = new DataView(this); + var viewTarget = new DataView(result); + var index = 0; + while (first < fin) { + setUint8(viewTarget, index++, getUint8(viewSource, first++)); + } return result; + } +}); + + +/***/ }), +/* 220 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(221); + + +/***/ }), +/* 221 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ArrayBufferModule = __webpack_require__(208); +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); + +// `DataView` constructor +// https://tc39.es/ecma262/#sec-dataview-constructor +$({ global: true, constructor: true, forced: !NATIVE_ARRAY_BUFFER }, { + DataView: ArrayBufferModule.DataView +}); + + +/***/ }), +/* 222 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var isDetached = __webpack_require__(223); + +var ArrayBufferPrototype = ArrayBuffer.prototype; + +// `ArrayBuffer.prototype.detached` getter +// https://tc39.es/ecma262/#sec-get-arraybuffer.prototype.detached +if (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) { + defineBuiltInAccessor(ArrayBufferPrototype, 'detached', { + configurable: true, + get: function detached() { + return isDetached(this); + } + }); +} + + +/***/ }), +/* 223 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(85); +var arrayBufferByteLength = __webpack_require__(224); + +var ArrayBuffer = globalThis.ArrayBuffer; +var ArrayBufferPrototype = ArrayBuffer && ArrayBuffer.prototype; +var slice = ArrayBufferPrototype && uncurryThis(ArrayBufferPrototype.slice); + +module.exports = function (O) { + if (arrayBufferByteLength(O) !== 0) return false; + if (!slice) return false; + try { + slice(O, 0, 0); + return false; + } catch (error) { + return true; + } +}; + + +/***/ }), +/* 224 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThisAccessor = __webpack_require__(114); +var classof = __webpack_require__(15); + +var ArrayBuffer = globalThis.ArrayBuffer; +var TypeError = globalThis.TypeError; + +// Includes +// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]). +// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception. +module.exports = ArrayBuffer && uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) { + if (classof(O) !== 'ArrayBuffer') throw new TypeError('ArrayBuffer expected'); + return O.byteLength; +}; + + +/***/ }), +/* 225 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $transfer = __webpack_require__(226); + +// `ArrayBuffer.prototype.transfer` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transfer: function transfer() { + return $transfer(this, arguments.length ? arguments[0] : undefined, true); + } +}); + + +/***/ }), +/* 226 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var uncurryThisAccessor = __webpack_require__(114); +var toIndex = __webpack_require__(212); +var notDetached = __webpack_require__(227); +var arrayBufferByteLength = __webpack_require__(224); +var detachTransferable = __webpack_require__(228); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var structuredClone = globalThis.structuredClone; +var ArrayBuffer = globalThis.ArrayBuffer; +var DataView = globalThis.DataView; +var min = Math.min; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataViewPrototype = DataView.prototype; +var slice = uncurryThis(ArrayBufferPrototype.slice); +var isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get'); +var maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get'); +var getInt8 = uncurryThis(DataViewPrototype.getInt8); +var setInt8 = uncurryThis(DataViewPrototype.setInt8); + +module.exports = (PROPER_STRUCTURED_CLONE_TRANSFER || detachTransferable) && function (arrayBuffer, newLength, preserveResizability) { + var byteLength = arrayBufferByteLength(arrayBuffer); + var newByteLength = newLength === undefined ? byteLength : toIndex(newLength); + var fixedLength = !isResizable || !isResizable(arrayBuffer); + var newBuffer; + notDetached(arrayBuffer); + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + arrayBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] }); + if (byteLength === newByteLength && (preserveResizability || fixedLength)) return arrayBuffer; + } + if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) { + newBuffer = slice(arrayBuffer, 0, newByteLength); + } else { + var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(arrayBuffer) } : undefined; + newBuffer = new ArrayBuffer(newByteLength, options); + var a = new DataView(arrayBuffer); + var b = new DataView(newBuffer); + var copyLength = min(newByteLength, byteLength); + for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i)); + } + if (!PROPER_STRUCTURED_CLONE_TRANSFER) detachTransferable(arrayBuffer); + return newBuffer; +}; + + +/***/ }), +/* 227 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isDetached = __webpack_require__(223); + +var $TypeError = TypeError; + +module.exports = function (it) { + if (isDetached(it)) throw new $TypeError('ArrayBuffer is detached'); + return it; +}; + + +/***/ }), +/* 228 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var getBuiltInNodeModule = __webpack_require__(229); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var structuredClone = globalThis.structuredClone; +var $ArrayBuffer = globalThis.ArrayBuffer; +var $MessageChannel = globalThis.MessageChannel; +var detach = false; +var WorkerThreads, channel, buffer, $detach; + +if (PROPER_STRUCTURED_CLONE_TRANSFER) { + detach = function (transferable) { + structuredClone(transferable, { transfer: [transferable] }); + }; +} else if ($ArrayBuffer) try { + if (!$MessageChannel) { + WorkerThreads = getBuiltInNodeModule('worker_threads'); + if (WorkerThreads) $MessageChannel = WorkerThreads.MessageChannel; + } + + if ($MessageChannel) { + channel = new $MessageChannel(); + buffer = new $ArrayBuffer(2); + + $detach = function (transferable) { + channel.port1.postMessage(null, [transferable]); + }; + + if (buffer.byteLength === 2) { + $detach(buffer); + if (buffer.byteLength === 0) detach = $detach; + } + } +} catch (error) { /* empty */ } + +module.exports = detach; + + +/***/ }), +/* 229 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var IS_NODE = __webpack_require__(182); + +module.exports = function (name) { + if (IS_NODE) { + try { + return globalThis.process.getBuiltinModule(name); + } catch (error) { /* empty */ } + try { + // eslint-disable-next-line no-new-func -- safe + return Function('return require("' + name + '")')(); + } catch (error) { /* empty */ } + } +}; + + +/***/ }), +/* 230 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var V8 = __webpack_require__(27); +var ENVIRONMENT = __webpack_require__(183); + +var structuredClone = globalThis.structuredClone; + +module.exports = !!structuredClone && !fails(function () { + // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if ((ENVIRONMENT === 'DENO' && V8 > 92) || (ENVIRONMENT === 'NODE' && V8 > 94) || (ENVIRONMENT === 'BROWSER' && V8 > 97)) return false; + var buffer = new ArrayBuffer(8); + var clone = structuredClone(buffer, { transfer: [buffer] }); + return buffer.byteLength !== 0 || clone.byteLength !== 8; +}); + + +/***/ }), +/* 231 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $transfer = __webpack_require__(226); + +// `ArrayBuffer.prototype.transferToFixedLength` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transferToFixedLength: function transferToFixedLength() { + return $transfer(this, arguments.length ? arguments[0] : undefined, false); + } +}); + + +/***/ }), +/* 232 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); + +// IE8- non-standard case +var FORCED = fails(function () { + // eslint-disable-next-line es/no-date-prototype-getyear-setyear -- detection + return new Date(16e11).getYear() !== 120; +}); + +var getFullYear = uncurryThis(Date.prototype.getFullYear); + +// `Date.prototype.getYear` method +// https://tc39.es/ecma262/#sec-date.prototype.getyear +$({ target: 'Date', proto: true, forced: FORCED }, { + getYear: function getYear() { + return getFullYear(this) - 1900; + } +}); + + +/***/ }), +/* 233 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); + +var $Date = Date; +var thisTimeValue = uncurryThis($Date.prototype.getTime); + +// `Date.now` method +// https://tc39.es/ecma262/#sec-date.now +$({ target: 'Date', stat: true }, { + now: function now() { + return thisTimeValue(new $Date()); + } +}); + + +/***/ }), +/* 234 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); + +var DatePrototype = Date.prototype; +var thisTimeValue = uncurryThis(DatePrototype.getTime); +var setFullYear = uncurryThis(DatePrototype.setFullYear); + +// `Date.prototype.setYear` method +// https://tc39.es/ecma262/#sec-date.prototype.setyear +$({ target: 'Date', proto: true }, { + setYear: function setYear(year) { + // validate + thisTimeValue(this); + var yi = toIntegerOrInfinity(year); + var yyyy = yi >= 0 && yi <= 99 ? yi + 1900 : yi; + return setFullYear(this, yyyy); + } +}); + + +/***/ }), +/* 235 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Date.prototype.toGMTString` method +// https://tc39.es/ecma262/#sec-date.prototype.togmtstring +$({ target: 'Date', proto: true }, { + toGMTString: Date.prototype.toUTCString +}); + + +/***/ }), +/* 236 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toISOString = __webpack_require__(237); + +// `Date.prototype.toISOString` method +// https://tc39.es/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit has a broken implementations +$({ target: 'Date', proto: true, forced: Date.prototype.toISOString !== toISOString }, { + toISOString: toISOString +}); + + +/***/ }), +/* 237 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var padStart = (__webpack_require__(238).start); + +var $RangeError = RangeError; +var $isFinite = isFinite; +var abs = Math.abs; +var DatePrototype = Date.prototype; +var nativeDateToISOString = DatePrototype.toISOString; +var thisTimeValue = uncurryThis(DatePrototype.getTime); +var getUTCDate = uncurryThis(DatePrototype.getUTCDate); +var getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear); +var getUTCHours = uncurryThis(DatePrototype.getUTCHours); +var getUTCMilliseconds = uncurryThis(DatePrototype.getUTCMilliseconds); +var getUTCMinutes = uncurryThis(DatePrototype.getUTCMinutes); +var getUTCMonth = uncurryThis(DatePrototype.getUTCMonth); +var getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds); + +// `Date.prototype.toISOString` method implementation +// https://tc39.es/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit fails here: +module.exports = (fails(function () { + return nativeDateToISOString.call(new Date(-5e13 - 1)) !== '0385-07-25T07:06:39.999Z'; +}) || !fails(function () { + nativeDateToISOString.call(new Date(NaN)); +})) ? function toISOString() { + if (!$isFinite(thisTimeValue(this))) throw new $RangeError('Invalid time value'); + var date = this; + var year = getUTCFullYear(date); + var milliseconds = getUTCMilliseconds(date); + var sign = year < 0 ? '-' : year > 9999 ? '+' : ''; + return sign + padStart(abs(year), sign ? 6 : 4, 0) + + '-' + padStart(getUTCMonth(date) + 1, 2, 0) + + '-' + padStart(getUTCDate(date), 2, 0) + + 'T' + padStart(getUTCHours(date), 2, 0) + + ':' + padStart(getUTCMinutes(date), 2, 0) + + ':' + padStart(getUTCSeconds(date), 2, 0) + + '.' + padStart(milliseconds, 3, 0) + + 'Z'; +} : nativeDateToISOString; + + +/***/ }), +/* 238 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// https://github.com/tc39/proposal-string-pad-start-end +var uncurryThis = __webpack_require__(14); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var $repeat = __webpack_require__(239); +var requireObjectCoercible = __webpack_require__(16); + +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); +var ceil = Math.ceil; + +// `String.prototype.{ padStart, padEnd }` methods implementation +var createMethod = function (IS_END) { + return function ($this, maxLength, fillString) { + var S = toString(requireObjectCoercible($this)); + var intMaxLength = toLength(maxLength); + var stringLength = S.length; + var fillStr = fillString === undefined ? ' ' : toString(fillString); + var fillLen, stringFiller; + if (intMaxLength <= stringLength || fillStr === '') return S; + fillLen = intMaxLength - stringLength; + stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen); + return IS_END ? S + stringFiller : stringFiller + S; + }; +}; + +module.exports = { + // `String.prototype.padStart` method + // https://tc39.es/ecma262/#sec-string.prototype.padstart + start: createMethod(false), + // `String.prototype.padEnd` method + // https://tc39.es/ecma262/#sec-string.prototype.padend + end: createMethod(true) +}; + + +/***/ }), +/* 239 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); + +var $RangeError = RangeError; + +// `String.prototype.repeat` method implementation +// https://tc39.es/ecma262/#sec-string.prototype.repeat +module.exports = function repeat(count) { + var str = toString(requireObjectCoercible(this)); + var result = ''; + var n = toIntegerOrInfinity(count); + if (n < 0 || n === Infinity) throw new $RangeError('Wrong number of repetitions'); + for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str; + return result; +}; + + +/***/ }), +/* 240 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toObject = __webpack_require__(39); +var toPrimitive = __webpack_require__(19); + +var FORCED = fails(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; +}); + +// `Date.prototype.toJSON` method +// https://tc39.es/ecma262/#sec-date.prototype.tojson +$({ target: 'Date', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O, 'number'); + return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); + } +}); + + +/***/ }), +/* 241 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var defineBuiltIn = __webpack_require__(47); +var dateToPrimitive = __webpack_require__(242); +var wellKnownSymbol = __webpack_require__(33); + +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +var DatePrototype = Date.prototype; + +// `Date.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive +if (!hasOwn(DatePrototype, TO_PRIMITIVE)) { + defineBuiltIn(DatePrototype, TO_PRIMITIVE, dateToPrimitive); +} + + +/***/ }), +/* 242 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var ordinaryToPrimitive = __webpack_require__(32); + +var $TypeError = TypeError; + +// `Date.prototype[@@toPrimitive](hint)` method implementation +// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive +module.exports = function (hint) { + anObject(this); + if (hint === 'string' || hint === 'default') hint = 'string'; + else if (hint !== 'number') throw new $TypeError('Incorrect hint'); + return ordinaryToPrimitive(this, hint); +}; + + +/***/ }), +/* 243 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var uncurryThis = __webpack_require__(14); +var defineBuiltIn = __webpack_require__(47); + +var DatePrototype = Date.prototype; +var INVALID_DATE = 'Invalid Date'; +var TO_STRING = 'toString'; +var nativeDateToString = uncurryThis(DatePrototype[TO_STRING]); +var thisTimeValue = uncurryThis(DatePrototype.getTime); + +// `Date.prototype.toString` method +// https://tc39.es/ecma262/#sec-date.prototype.tostring +if (String(new Date(NaN)) !== INVALID_DATE) { + defineBuiltIn(DatePrototype, TO_STRING, function toString() { + var value = thisTimeValue(this); + // eslint-disable-next-line no-self-compare -- NaN check + return value === value ? nativeDateToString(this) : INVALID_DATE; + }); +} + + +/***/ }), +/* 244 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); + +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var exec = uncurryThis(/./.exec); +var numberToString = uncurryThis(1.0.toString); +var toUpperCase = uncurryThis(''.toUpperCase); + +var raw = /[\w*+\-./@]/; + +var hex = function (code, length) { + var result = numberToString(code, 16); + while (result.length < length) result = '0' + result; + return result; +}; + +// `escape` method +// https://tc39.es/ecma262/#sec-escape-string +$({ global: true }, { + escape: function escape(string) { + var str = toString(string); + var result = ''; + var length = str.length; + var index = 0; + var chr, code; + while (index < length) { + chr = charAt(str, index++); + if (exec(raw, chr)) { + result += chr; + } else { + code = charCodeAt(chr, 0); + if (code < 256) { + result += '%' + hex(code, 2); + } else { + result += '%u' + toUpperCase(hex(code, 4)); + } + } + } return result; + } +}); + + +/***/ }), +/* 245 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var bind = __webpack_require__(246); + +// `Function.prototype.bind` method +// https://tc39.es/ecma262/#sec-function.prototype.bind +// eslint-disable-next-line es/no-function-prototype-bind -- detection +$({ target: 'Function', proto: true, forced: Function.bind !== bind }, { + bind: bind +}); + + +/***/ }), +/* 246 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var arraySlice = __webpack_require__(76); +var NATIVE_BIND = __webpack_require__(9); + +var $Function = Function; +var concat = uncurryThis([].concat); +var join = uncurryThis([].join); +var factories = {}; + +var construct = function (C, argsLength, args) { + if (!hasOwn(factories, argsLength)) { + var list = []; + var i = 0; + for (; i < argsLength; i++) list[i] = 'a[' + i + ']'; + factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')'); + } return factories[argsLength](C, args); +}; + +// `Function.prototype.bind` method implementation +// https://tc39.es/ecma262/#sec-function.prototype.bind +// eslint-disable-next-line es/no-function-prototype-bind -- detection +module.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) { + var F = aCallable(this); + var Prototype = F.prototype; + var partArgs = arraySlice(arguments, 1); + var boundFunction = function bound(/* args... */) { + var args = concat(partArgs, arraySlice(arguments)); + return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args); + }; + if (isObject(Prototype)) boundFunction.prototype = Prototype; + return boundFunction; +}; + + +/***/ }), +/* 247 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var definePropertyModule = __webpack_require__(44); +var isPrototypeOf = __webpack_require__(24); +var wellKnownSymbol = __webpack_require__(33); +var makeBuiltIn = __webpack_require__(48); + +var HAS_INSTANCE = wellKnownSymbol('hasInstance'); +var FunctionPrototype = Function.prototype; + +// `Function.prototype[@@hasInstance]` method +// https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance +if (!(HAS_INSTANCE in FunctionPrototype)) { + definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: makeBuiltIn(function (O) { + if (!isCallable(this) || !isObject(O)) return false; + var P = this.prototype; + return isObject(P) ? isPrototypeOf(P, O) : O instanceof this; + }, HAS_INSTANCE) }); +} + + +/***/ }), +/* 248 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var FUNCTION_NAME_EXISTS = (__webpack_require__(49).EXISTS); +var uncurryThis = __webpack_require__(14); +var defineBuiltInAccessor = __webpack_require__(77); + +var FunctionPrototype = Function.prototype; +var functionToString = uncurryThis(FunctionPrototype.toString); +var nameRE = /function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/; +var regExpExec = uncurryThis(nameRE.exec); +var NAME = 'name'; + +// Function instances `.name` property +// https://tc39.es/ecma262/#sec-function-instances-name +if (DESCRIPTORS && !FUNCTION_NAME_EXISTS) { + defineBuiltInAccessor(FunctionPrototype, NAME, { + configurable: true, + get: function () { + try { + return regExpExec(nameRE, functionToString(this))[1]; + } catch (error) { + return ''; + } + } + }); +} + + +/***/ }), +/* 249 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); + +// `globalThis` object +// https://tc39.es/ecma262/#sec-globalthis +$({ global: true, forced: globalThis.globalThis !== globalThis }, { + globalThis: globalThis +}); + + +/***/ }), +/* 250 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var getPrototypeOf = __webpack_require__(128); +var defineBuiltInAccessor = __webpack_require__(77); +var createProperty = __webpack_require__(141); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var wellKnownSymbol = __webpack_require__(33); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var CONSTRUCTOR = 'constructor'; +var ITERATOR = 'Iterator'; +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +var $TypeError = TypeError; +var NativeIterator = globalThis[ITERATOR]; + +// FF56- have non-standard global helper `Iterator` +var FORCED = IS_PURE + || !isCallable(NativeIterator) + || NativeIterator.prototype !== IteratorPrototype + // FF44- non-standard `Iterator` passes previous tests + || !fails(function () { NativeIterator({}); }); + +var IteratorConstructor = function Iterator() { + anInstance(this, IteratorPrototype); + if (getPrototypeOf(this) === IteratorPrototype) throw new $TypeError('Abstract class Iterator not directly constructable'); +}; + +var defineIteratorPrototypeAccessor = function (key, value) { + if (DESCRIPTORS) { + defineBuiltInAccessor(IteratorPrototype, key, { + configurable: true, + get: function () { + return value; + }, + set: function (replacement) { + anObject(this); + if (this === IteratorPrototype) throw new $TypeError("You can't redefine this property"); + if (hasOwn(this, key)) this[key] = replacement; + else createProperty(this, key, replacement); + } + }); + } else IteratorPrototype[key] = value; +}; + +if (!hasOwn(IteratorPrototype, TO_STRING_TAG)) defineIteratorPrototypeAccessor(TO_STRING_TAG, ITERATOR); + +if (FORCED || !hasOwn(IteratorPrototype, CONSTRUCTOR) || IteratorPrototype[CONSTRUCTOR] === Object) { + defineIteratorPrototypeAccessor(CONSTRUCTOR, IteratorConstructor); +} + +IteratorConstructor.prototype = IteratorPrototype; + +// `Iterator` constructor +// https://tc39.es/ecma262/#sec-iterator +$({ global: true, constructor: true, forced: FORCED }, { + Iterator: IteratorConstructor +}); + + +/***/ }), +/* 251 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var notANaN = __webpack_require__(253); +var toPositiveInteger = __webpack_require__(254); +var createIteratorProxy = __webpack_require__(255); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var next = this.next; + var result, done; + while (this.remaining) { + this.remaining--; + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (done) return; + } + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (!done) return result.value; +}); + +// `Iterator.prototype.drop` method +// https://tc39.es/ecma262/#sec-iterator.prototype.drop +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + drop: function drop(limit) { + anObject(this); + var remaining = toPositiveInteger(notANaN(+limit)); + return new IteratorProxy(getIteratorDirect(this), { + remaining: remaining + }); + } +}); + + +/***/ }), +/* 252 */ +/***/ (function(module) { + + +// `GetIteratorDirect(obj)` abstract operation +// https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect +module.exports = function (obj) { + return { + iterator: obj, + next: obj.next, + done: false + }; +}; + + +/***/ }), +/* 253 */ +/***/ (function(module) { + + +var $RangeError = RangeError; + +module.exports = function (it) { + // eslint-disable-next-line no-self-compare -- NaN check + if (it === it) return it; + throw new $RangeError('NaN is not allowed'); +}; + + +/***/ }), +/* 254 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var $RangeError = RangeError; + +module.exports = function (it) { + var result = toIntegerOrInfinity(it); + if (result < 0) throw new $RangeError("The argument can't be less than 0"); + return result; +}; + + +/***/ }), +/* 255 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var create = __webpack_require__(71); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIns = __webpack_require__(210); +var wellKnownSymbol = __webpack_require__(33); +var InternalStateModule = __webpack_require__(51); +var getMethod = __webpack_require__(29); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var createIterResultObject = __webpack_require__(172); +var iteratorClose = __webpack_require__(135); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var ITERATOR_HELPER = 'IteratorHelper'; +var WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator'; +var setInternalState = InternalStateModule.set; + +var createIteratorProxyPrototype = function (IS_ITERATOR) { + var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER); + + return defineBuiltIns(create(IteratorPrototype), { + next: function next() { + var state = getInternalState(this); + // for simplification: + // for `%WrapForValidIteratorPrototype%.next` our `nextHandler` returns `IterResultObject` + // for `%IteratorHelperPrototype%.next` - just a value + if (IS_ITERATOR) return state.nextHandler(); + try { + var result = state.done ? undefined : state.nextHandler(); + return createIterResultObject(result, state.done); + } catch (error) { + state.done = true; + throw error; + } + }, + 'return': function () { + var state = getInternalState(this); + var iterator = state.iterator; + state.done = true; + if (IS_ITERATOR) { + var returnMethod = getMethod(iterator, 'return'); + return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true); + } + if (state.inner) try { + iteratorClose(state.inner.iterator, 'normal'); + } catch (error) { + return iteratorClose(iterator, 'throw', error); + } + if (iterator) iteratorClose(iterator, 'normal'); + return createIterResultObject(undefined, true); + } + }); +}; + +var WrapForValidIteratorPrototype = createIteratorProxyPrototype(true); +var IteratorHelperPrototype = createIteratorProxyPrototype(false); + +createNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper'); + +module.exports = function (nextHandler, IS_ITERATOR) { + var IteratorProxy = function Iterator(record, state) { + if (state) { + state.iterator = record.iterator; + state.next = record.next; + } else state = record; + state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER; + state.nextHandler = nextHandler; + state.counter = 0; + state.done = false; + setInternalState(this, state); + }; + + IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype; + + return IteratorProxy; +}; + + +/***/ }), +/* 256 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.every` method +// https://tc39.es/ecma262/#sec-iterator.prototype.every +$({ target: 'Iterator', proto: true, real: true }, { + every: function every(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return !iterate(record, function (value, stop) { + if (!predicate(value, counter++)) return stop(); + }, { IS_RECORD: true, INTERRUPTED: true }).stopped; + } +}); + + +/***/ }), +/* 257 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var createIteratorProxy = __webpack_require__(255); +var callWithSafeIterationClosing = __webpack_require__(163); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var predicate = this.predicate; + var next = this.next; + var result, done, value; + while (true) { + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (done) return; + value = result.value; + if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) return value; + } +}); + +// `Iterator.prototype.filter` method +// https://tc39.es/ecma262/#sec-iterator.prototype.filter +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + filter: function filter(predicate) { + anObject(this); + aCallable(predicate); + return new IteratorProxy(getIteratorDirect(this), { + predicate: predicate + }); + } +}); + + +/***/ }), +/* 258 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.find` method +// https://tc39.es/ecma262/#sec-iterator.prototype.find +$({ target: 'Iterator', proto: true, real: true }, { + find: function find(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return iterate(record, function (value, stop) { + if (predicate(value, counter++)) return stop(value); + }, { IS_RECORD: true, INTERRUPTED: true }).result; + } +}); + + +/***/ }), +/* 259 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var getIteratorFlattenable = __webpack_require__(260); +var createIteratorProxy = __webpack_require__(255); +var iteratorClose = __webpack_require__(135); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var mapper = this.mapper; + var result, inner; + + while (true) { + if (inner = this.inner) try { + result = anObject(call(inner.next, inner.iterator)); + if (!result.done) return result.value; + this.inner = null; + } catch (error) { iteratorClose(iterator, 'throw', error); } + + result = anObject(call(this.next, iterator)); + + if (this.done = !!result.done) return; + + try { + this.inner = getIteratorFlattenable(mapper(result.value, this.counter++), false); + } catch (error) { iteratorClose(iterator, 'throw', error); } + } +}); + +// `Iterator.prototype.flatMap` method +// https://tc39.es/ecma262/#sec-iterator.prototype.flatmap +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + flatMap: function flatMap(mapper) { + anObject(this); + aCallable(mapper); + return new IteratorProxy(getIteratorDirect(this), { + mapper: mapper, + inner: null + }); + } +}); + + +/***/ }), +/* 260 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var getIteratorMethod = __webpack_require__(134); + +module.exports = function (obj, stringHandling) { + if (!stringHandling || typeof obj !== 'string') anObject(obj); + var method = getIteratorMethod(obj); + return getIteratorDirect(anObject(method !== undefined ? call(method, obj) : obj)); +}; + + +/***/ }), +/* 261 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.forEach` method +// https://tc39.es/ecma262/#sec-iterator.prototype.foreach +$({ target: 'Iterator', proto: true, real: true }, { + forEach: function forEach(fn) { + anObject(this); + aCallable(fn); + var record = getIteratorDirect(this); + var counter = 0; + iterate(record, function (value) { + fn(value, counter++); + }, { IS_RECORD: true }); + } +}); + + +/***/ }), +/* 262 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var toObject = __webpack_require__(39); +var isPrototypeOf = __webpack_require__(24); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var createIteratorProxy = __webpack_require__(255); +var getIteratorFlattenable = __webpack_require__(260); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + return call(this.next, this.iterator); +}, true); + +// `Iterator.from` method +// https://tc39.es/ecma262/#sec-iterator.from +$({ target: 'Iterator', stat: true, forced: IS_PURE }, { + from: function from(O) { + var iteratorRecord = getIteratorFlattenable(typeof O == 'string' ? toObject(O) : O, true); + return isPrototypeOf(IteratorPrototype, iteratorRecord.iterator) + ? iteratorRecord.iterator + : new IteratorProxy(iteratorRecord); + } +}); + + +/***/ }), +/* 263 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var map = __webpack_require__(264); +var IS_PURE = __webpack_require__(36); + +// `Iterator.prototype.map` method +// https://tc39.es/ecma262/#sec-iterator.prototype.map +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + map: map +}); + + +/***/ }), +/* 264 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var createIteratorProxy = __webpack_require__(255); +var callWithSafeIterationClosing = __webpack_require__(163); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var result = anObject(call(this.next, iterator)); + var done = this.done = !!result.done; + if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true); +}); + +// `Iterator.prototype.map` method +// https://github.com/tc39/proposal-iterator-helpers +module.exports = function map(mapper) { + anObject(this); + aCallable(mapper); + return new IteratorProxy(getIteratorDirect(this), { + mapper: mapper + }); +}; + + +/***/ }), +/* 265 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +var $TypeError = TypeError; + +// `Iterator.prototype.reduce` method +// https://tc39.es/ecma262/#sec-iterator.prototype.reduce +$({ target: 'Iterator', proto: true, real: true }, { + reduce: function reduce(reducer /* , initialValue */) { + anObject(this); + aCallable(reducer); + var record = getIteratorDirect(this); + var noInitial = arguments.length < 2; + var accumulator = noInitial ? undefined : arguments[1]; + var counter = 0; + iterate(record, function (value) { + if (noInitial) { + noInitial = false; + accumulator = value; + } else { + accumulator = reducer(accumulator, value, counter); + } + counter++; + }, { IS_RECORD: true }); + if (noInitial) throw new $TypeError('Reduce of empty iterator with no initial value'); + return accumulator; + } +}); + + +/***/ }), +/* 266 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.some` method +// https://tc39.es/ecma262/#sec-iterator.prototype.some +$({ target: 'Iterator', proto: true, real: true }, { + some: function some(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return iterate(record, function (value, stop) { + if (predicate(value, counter++)) return stop(); + }, { IS_RECORD: true, INTERRUPTED: true }).stopped; + } +}); + + +/***/ }), +/* 267 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var notANaN = __webpack_require__(253); +var toPositiveInteger = __webpack_require__(254); +var createIteratorProxy = __webpack_require__(255); +var iteratorClose = __webpack_require__(135); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + if (!this.remaining--) { + this.done = true; + return iteratorClose(iterator, 'normal', undefined); + } + var result = anObject(call(this.next, iterator)); + var done = this.done = !!result.done; + if (!done) return result.value; +}); + +// `Iterator.prototype.take` method +// https://tc39.es/ecma262/#sec-iterator.prototype.take +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + take: function take(limit) { + anObject(this); + var remaining = toPositiveInteger(notANaN(+limit)); + return new IteratorProxy(getIteratorDirect(this), { + remaining: remaining + }); + } +}); + + +/***/ }), +/* 268 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var iterate = __webpack_require__(130); +var getIteratorDirect = __webpack_require__(252); + +var push = [].push; + +// `Iterator.prototype.toArray` method +// https://tc39.es/ecma262/#sec-iterator.prototype.toarray +$({ target: 'Iterator', proto: true, real: true }, { + toArray: function toArray() { + var result = []; + iterate(getIteratorDirect(anObject(this)), push, { that: result, IS_RECORD: true }); + return result; + } +}); + + +/***/ }), +/* 269 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var setToStringTag = __webpack_require__(82); + +// JSON[@@toStringTag] property +// https://tc39.es/ecma262/#sec-json-@@tostringtag +setToStringTag(globalThis.JSON, 'JSON', true); + + +/***/ }), +/* 270 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(271); + + +/***/ }), +/* 271 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionStrong = __webpack_require__(277); + +// `Map` constructor +// https://tc39.es/ecma262/#sec-map-objects +collection('Map', function (init) { + return function Map() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + + +/***/ }), +/* 272 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var defineBuiltIn = __webpack_require__(47); +var InternalMetadataModule = __webpack_require__(273); +var iterate = __webpack_require__(130); +var anInstance = __webpack_require__(211); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var fails = __webpack_require__(7); +var checkCorrectnessOfIteration = __webpack_require__(164); +var setToStringTag = __webpack_require__(82); +var inheritIfRequired = __webpack_require__(118); + +module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { + var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; + var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; + var ADDER = IS_MAP ? 'set' : 'add'; + var NativeConstructor = globalThis[CONSTRUCTOR_NAME]; + var NativePrototype = NativeConstructor && NativeConstructor.prototype; + var Constructor = NativeConstructor; + var exported = {}; + + var fixMethod = function (KEY) { + var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]); + defineBuiltIn(NativePrototype, KEY, + KEY === 'add' ? function add(value) { + uncurriedNativeMethod(this, value === 0 ? 0 : value); + return this; + } : KEY === 'delete' ? function (key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY === 'get' ? function get(key) { + return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY === 'has' ? function has(key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : function set(key, value) { + uncurriedNativeMethod(this, key === 0 ? 0 : key, value); + return this; + } + ); + }; + + var REPLACE = isForced( + CONSTRUCTOR_NAME, + !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () { + new NativeConstructor().entries().next(); + })) + ); + + if (REPLACE) { + // create collection constructor + Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); + InternalMetadataModule.enable(); + } else if (isForced(CONSTRUCTOR_NAME, true)) { + var instance = new Constructor(); + // early implementations not supports chaining + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance; + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); + // most early implementations doesn't supports iterables, most modern - not close it correctly + // eslint-disable-next-line no-new -- required for testing + var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); }); + // for early implementations -0 and +0 not the same + var BUGGY_ZERO = !IS_WEAK && fails(function () { + // V8 ~ Chromium 42- fails only with 5+ elements + var $instance = new NativeConstructor(); + var index = 5; + while (index--) $instance[ADDER](index, index); + return !$instance.has(-0); + }); + + if (!ACCEPT_ITERABLES) { + Constructor = wrapper(function (dummy, iterable) { + anInstance(dummy, NativePrototype); + var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + return that; + }); + Constructor.prototype = NativePrototype; + NativePrototype.constructor = Constructor; + } + + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + + if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); + + // weak collections should not contains .clear method + if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear; + } + + exported[CONSTRUCTOR_NAME] = Constructor; + $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported); + + setToStringTag(Constructor, CONSTRUCTOR_NAME); + + if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); + + return Constructor; +}; + + +/***/ }), +/* 273 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var hiddenKeys = __webpack_require__(54); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var defineProperty = (__webpack_require__(44).f); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertyNamesExternalModule = __webpack_require__(75); +var isExtensible = __webpack_require__(274); +var uid = __webpack_require__(40); +var FREEZING = __webpack_require__(276); + +var REQUIRED = false; +var METADATA = uid('meta'); +var id = 0; + +var setMetadata = function (it) { + defineProperty(it, METADATA, { value: { + objectID: 'O' + id++, // object ID + weakData: {} // weak collections IDs + } }); +}; + +var fastKey = function (it, create) { + // return a primitive with prefix + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!hasOwn(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMetadata(it); + // return object ID + } return it[METADATA].objectID; +}; + +var getWeakData = function (it, create) { + if (!hasOwn(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMetadata(it); + // return the store of weak collections IDs + } return it[METADATA].weakData; +}; + +// add metadata on freeze-family methods calling +var onFreeze = function (it) { + if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it); + return it; +}; + +var enable = function () { + meta.enable = function () { /* empty */ }; + REQUIRED = true; + var getOwnPropertyNames = getOwnPropertyNamesModule.f; + var splice = uncurryThis([].splice); + var test = {}; + test[METADATA] = 1; + + // prevent exposing of metadata key + if (getOwnPropertyNames(test).length) { + getOwnPropertyNamesModule.f = function (it) { + var result = getOwnPropertyNames(it); + for (var i = 0, length = result.length; i < length; i++) { + if (result[i] === METADATA) { + splice(result, i, 1); + break; + } + } return result; + }; + + $({ target: 'Object', stat: true, forced: true }, { + getOwnPropertyNames: getOwnPropertyNamesExternalModule.f + }); + } +}; + +var meta = module.exports = { + enable: enable, + fastKey: fastKey, + getWeakData: getWeakData, + onFreeze: onFreeze +}; + +hiddenKeys[METADATA] = true; + + +/***/ }), +/* 274 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-isextensible -- safe +var $isExtensible = Object.isExtensible; +var FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); }); + +// `Object.isExtensible` method +// https://tc39.es/ecma262/#sec-object.isextensible +module.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) { + if (!isObject(it)) return false; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false; + return $isExtensible ? $isExtensible(it) : true; +} : $isExtensible; + + +/***/ }), +/* 275 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it +var fails = __webpack_require__(7); + +module.exports = fails(function () { + if (typeof ArrayBuffer == 'function') { + var buffer = new ArrayBuffer(8); + // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe + if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 }); + } +}); + + +/***/ }), +/* 276 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing + return Object.isExtensible(Object.preventExtensions({})); +}); + + +/***/ }), +/* 277 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var create = __webpack_require__(71); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var bind = __webpack_require__(84); +var anInstance = __webpack_require__(211); +var isNullOrUndefined = __webpack_require__(17); +var iterate = __webpack_require__(130); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); +var setSpecies = __webpack_require__(194); +var DESCRIPTORS = __webpack_require__(6); +var fastKey = (__webpack_require__(273).fastKey); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + index: create(null), + first: null, + last: null, + size: 0 + }); + if (!DESCRIPTORS) that.size = 0; + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + }); + + var Prototype = Constructor.prototype; + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var entry = getEntry(that, key); + var previous, index; + // change existing entry + if (entry) { + entry.value = value; + // create new entry + } else { + state.last = entry = { + index: index = fastKey(key, true), + key: key, + value: value, + previous: previous = state.last, + next: null, + removed: false + }; + if (!state.first) state.first = entry; + if (previous) previous.next = entry; + if (DESCRIPTORS) state.size++; + else that.size++; + // add to index + if (index !== 'F') state.index[index] = entry; + } return that; + }; + + var getEntry = function (that, key) { + var state = getInternalState(that); + // fast case + var index = fastKey(key); + var entry; + if (index !== 'F') return state.index[index]; + // frozen object case + for (entry = state.first; entry; entry = entry.next) { + if (entry.key === key) return entry; + } + }; + + defineBuiltIns(Prototype, { + // `{ Map, Set }.prototype.clear()` methods + // https://tc39.es/ecma262/#sec-map.prototype.clear + // https://tc39.es/ecma262/#sec-set.prototype.clear + clear: function clear() { + var that = this; + var state = getInternalState(that); + var entry = state.first; + while (entry) { + entry.removed = true; + if (entry.previous) entry.previous = entry.previous.next = null; + entry = entry.next; + } + state.first = state.last = null; + state.index = create(null); + if (DESCRIPTORS) state.size = 0; + else that.size = 0; + }, + // `{ Map, Set }.prototype.delete(key)` methods + // https://tc39.es/ecma262/#sec-map.prototype.delete + // https://tc39.es/ecma262/#sec-set.prototype.delete + 'delete': function (key) { + var that = this; + var state = getInternalState(that); + var entry = getEntry(that, key); + if (entry) { + var next = entry.next; + var prev = entry.previous; + delete state.index[entry.index]; + entry.removed = true; + if (prev) prev.next = next; + if (next) next.previous = prev; + if (state.first === entry) state.first = next; + if (state.last === entry) state.last = prev; + if (DESCRIPTORS) state.size--; + else that.size--; + } return !!entry; + }, + // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods + // https://tc39.es/ecma262/#sec-map.prototype.foreach + // https://tc39.es/ecma262/#sec-set.prototype.foreach + forEach: function forEach(callbackfn /* , that = undefined */) { + var state = getInternalState(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var entry; + while (entry = entry ? entry.next : state.first) { + boundFunction(entry.value, entry.key, this); + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + } + }, + // `{ Map, Set}.prototype.has(key)` methods + // https://tc39.es/ecma262/#sec-map.prototype.has + // https://tc39.es/ecma262/#sec-set.prototype.has + has: function has(key) { + return !!getEntry(this, key); + } + }); + + defineBuiltIns(Prototype, IS_MAP ? { + // `Map.prototype.get(key)` method + // https://tc39.es/ecma262/#sec-map.prototype.get + get: function get(key) { + var entry = getEntry(this, key); + return entry && entry.value; + }, + // `Map.prototype.set(key, value)` method + // https://tc39.es/ecma262/#sec-map.prototype.set + set: function set(key, value) { + return define(this, key === 0 ? 0 : key, value); + } + } : { + // `Set.prototype.add(value)` method + // https://tc39.es/ecma262/#sec-set.prototype.add + add: function add(value) { + return define(this, value = value === 0 ? 0 : value, value); + } + }); + if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', { + configurable: true, + get: function () { + return getInternalState(this).size; + } + }); + return Constructor; + }, + setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) { + var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; + var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); + var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); + // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods + // https://tc39.es/ecma262/#sec-map.prototype.entries + // https://tc39.es/ecma262/#sec-map.prototype.keys + // https://tc39.es/ecma262/#sec-map.prototype.values + // https://tc39.es/ecma262/#sec-map.prototype-@@iterator + // https://tc39.es/ecma262/#sec-set.prototype.entries + // https://tc39.es/ecma262/#sec-set.prototype.keys + // https://tc39.es/ecma262/#sec-set.prototype.values + // https://tc39.es/ecma262/#sec-set.prototype-@@iterator + defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) { + setInternalState(this, { + type: ITERATOR_NAME, + target: iterated, + state: getInternalCollectionState(iterated), + kind: kind, + last: null + }); + }, function () { + var state = getInternalIteratorState(this); + var kind = state.kind; + var entry = state.last; + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + // get next entry + if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { + // or finish the iteration + state.target = null; + return createIterResultObject(undefined, true); + } + // return step by kind + if (kind === 'keys') return createIterResultObject(entry.key, false); + if (kind === 'values') return createIterResultObject(entry.value, false); + return createIterResultObject([entry.key, entry.value], false); + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // `{ Map, Set }.prototype[@@species]` accessors + // https://tc39.es/ecma262/#sec-get-map-@@species + // https://tc39.es/ecma262/#sec-get-set-@@species + setSpecies(CONSTRUCTOR_NAME); + } +}; + + +/***/ }), +/* 278 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var requireObjectCoercible = __webpack_require__(16); +var iterate = __webpack_require__(130); +var MapHelpers = __webpack_require__(279); +var IS_PURE = __webpack_require__(36); +var fails = __webpack_require__(7); + +var Map = MapHelpers.Map; +var has = MapHelpers.has; +var get = MapHelpers.get; +var set = MapHelpers.set; +var push = uncurryThis([].push); + +var DOES_NOT_WORK_WITH_PRIMITIVES = IS_PURE || fails(function () { + return Map.groupBy('ab', function (it) { + return it; + }).get('a').length !== 1; +}); + +// `Map.groupBy` method +// https://tc39.es/ecma262/#sec-map.groupby +$({ target: 'Map', stat: true, forced: IS_PURE || DOES_NOT_WORK_WITH_PRIMITIVES }, { + groupBy: function groupBy(items, callbackfn) { + requireObjectCoercible(items); + aCallable(callbackfn); + var map = new Map(); + var k = 0; + iterate(items, function (value) { + var key = callbackfn(value, k++); + if (!has(map, key)) set(map, key, [value]); + else push(get(map, key), value); + }); + return map; + } +}); + + +/***/ }), +/* 279 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// eslint-disable-next-line es/no-map -- safe +var MapPrototype = Map.prototype; + +module.exports = { + // eslint-disable-next-line es/no-map -- safe + Map: Map, + set: uncurryThis(MapPrototype.set), + get: uncurryThis(MapPrototype.get), + has: uncurryThis(MapPrototype.has), + remove: uncurryThis(MapPrototype['delete']), + proto: MapPrototype +}; + + +/***/ }), +/* 280 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log1p = __webpack_require__(281); + +// eslint-disable-next-line es/no-math-acosh -- required for testing +var $acosh = Math.acosh; +var log = Math.log; +var sqrt = Math.sqrt; +var LN2 = Math.LN2; + +var FORCED = !$acosh + // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 + || Math.floor($acosh(Number.MAX_VALUE)) !== 710 + // Tor Browser bug: Math.acosh(Infinity) -> NaN + || $acosh(Infinity) !== Infinity; + +// `Math.acosh` method +// https://tc39.es/ecma262/#sec-math.acosh +$({ target: 'Math', stat: true, forced: FORCED }, { + acosh: function acosh(x) { + var n = +x; + return n < 1 ? NaN : n > 94906265.62425156 + ? log(n) + LN2 + : log1p(n - 1 + sqrt(n - 1) * sqrt(n + 1)); + } +}); + + +/***/ }), +/* 281 */ +/***/ (function(module) { + + +var log = Math.log; + +// `Math.log1p` method implementation +// https://tc39.es/ecma262/#sec-math.log1p +// eslint-disable-next-line es/no-math-log1p -- safe +module.exports = Math.log1p || function log1p(x) { + var n = +x; + return n > -1e-8 && n < 1e-8 ? n - n * n / 2 : log(1 + n); +}; + + +/***/ }), +/* 282 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-asinh -- required for testing +var $asinh = Math.asinh; +var log = Math.log; +var sqrt = Math.sqrt; + +function asinh(x) { + var n = +x; + return !isFinite(n) || n === 0 ? n : n < 0 ? -asinh(-n) : log(n + sqrt(n * n + 1)); +} + +var FORCED = !($asinh && 1 / $asinh(0) > 0); + +// `Math.asinh` method +// https://tc39.es/ecma262/#sec-math.asinh +// Tor Browser bug: Math.asinh(0) -> -0 +$({ target: 'Math', stat: true, forced: FORCED }, { + asinh: asinh +}); + + +/***/ }), +/* 283 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-atanh -- required for testing +var $atanh = Math.atanh; +var log = Math.log; + +var FORCED = !($atanh && 1 / $atanh(-0) < 0); + +// `Math.atanh` method +// https://tc39.es/ecma262/#sec-math.atanh +// Tor Browser bug: Math.atanh(-0) -> 0 +$({ target: 'Math', stat: true, forced: FORCED }, { + atanh: function atanh(x) { + var n = +x; + return n === 0 ? n : log((1 + n) / (1 - n)) / 2; + } +}); + + +/***/ }), +/* 284 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var sign = __webpack_require__(215); + +var abs = Math.abs; +var pow = Math.pow; + +// `Math.cbrt` method +// https://tc39.es/ecma262/#sec-math.cbrt +$({ target: 'Math', stat: true }, { + cbrt: function cbrt(x) { + var n = +x; + return sign(n) * pow(abs(n), 1 / 3); + } +}); + + +/***/ }), +/* 285 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +var floor = Math.floor; +var log = Math.log; +var LOG2E = Math.LOG2E; + +// `Math.clz32` method +// https://tc39.es/ecma262/#sec-math.clz32 +$({ target: 'Math', stat: true }, { + clz32: function clz32(x) { + var n = x >>> 0; + return n ? 31 - floor(log(n + 0.5) * LOG2E) : 32; + } +}); + + +/***/ }), +/* 286 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +// eslint-disable-next-line es/no-math-cosh -- required for testing +var $cosh = Math.cosh; +var abs = Math.abs; +var E = Math.E; + +var FORCED = !$cosh || $cosh(710) === Infinity; + +// `Math.cosh` method +// https://tc39.es/ecma262/#sec-math.cosh +$({ target: 'Math', stat: true, forced: FORCED }, { + cosh: function cosh(x) { + var t = expm1(abs(x) - 1) + 1; + return (t + 1 / (t * E * E)) * (E / 2); + } +}); + + +/***/ }), +/* 287 */ +/***/ (function(module) { + + +// eslint-disable-next-line es/no-math-expm1 -- safe +var $expm1 = Math.expm1; +var exp = Math.exp; + +// `Math.expm1` method implementation +// https://tc39.es/ecma262/#sec-math.expm1 +module.exports = (!$expm1 + // Old FF bug + // eslint-disable-next-line no-loss-of-precision -- required for old engines + || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 + // Tor Browser bug + || $expm1(-2e-17) !== -2e-17 +) ? function expm1(x) { + var n = +x; + return n === 0 ? n : n > -1e-6 && n < 1e-6 ? n + n * n / 2 : exp(n) - 1; +} : $expm1; + + +/***/ }), +/* 288 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +// `Math.expm1` method +// https://tc39.es/ecma262/#sec-math.expm1 +// eslint-disable-next-line es/no-math-expm1 -- required for testing +$({ target: 'Math', stat: true, forced: expm1 !== Math.expm1 }, { expm1: expm1 }); + + +/***/ }), +/* 289 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fround = __webpack_require__(213); + +// `Math.fround` method +// https://tc39.es/ecma262/#sec-math.fround +$({ target: 'Math', stat: true }, { fround: fround }); + + +/***/ }), +/* 290 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-hypot -- required for testing +var $hypot = Math.hypot; +var abs = Math.abs; +var sqrt = Math.sqrt; + +// Chrome 77 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=9546 +var FORCED = !!$hypot && $hypot(Infinity, NaN) !== Infinity; + +// `Math.hypot` method +// https://tc39.es/ecma262/#sec-math.hypot +$({ target: 'Math', stat: true, arity: 2, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + hypot: function hypot(value1, value2) { + var sum = 0; + var i = 0; + var aLen = arguments.length; + var larg = 0; + var arg, div; + while (i < aLen) { + arg = abs(arguments[i++]); + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; + larg = arg; + } else if (arg > 0) { + div = arg / larg; + sum += div * div; + } else sum += arg; + } + return larg === Infinity ? Infinity : larg * sqrt(sum); + } +}); + + +/***/ }), +/* 291 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-math-imul -- required for testing +var $imul = Math.imul; + +var FORCED = fails(function () { + return $imul(0xFFFFFFFF, 5) !== -5 || $imul.length !== 2; +}); + +// `Math.imul` method +// https://tc39.es/ecma262/#sec-math.imul +// some WebKit versions fails with big numbers, some has wrong arity +$({ target: 'Math', stat: true, forced: FORCED }, { + imul: function imul(x, y) { + var UINT16 = 0xFFFF; + var xn = +x; + var yn = +y; + var xl = UINT16 & xn; + var yl = UINT16 & yn; + return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); + } +}); + + +/***/ }), +/* 292 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log10 = __webpack_require__(293); + +// `Math.log10` method +// https://tc39.es/ecma262/#sec-math.log10 +$({ target: 'Math', stat: true }, { + log10: log10 +}); + + +/***/ }), +/* 293 */ +/***/ (function(module) { + + +var log = Math.log; +var LOG10E = Math.LOG10E; + +// eslint-disable-next-line es/no-math-log10 -- safe +module.exports = Math.log10 || function log10(x) { + return log(x) * LOG10E; +}; + + +/***/ }), +/* 294 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log1p = __webpack_require__(281); + +// `Math.log1p` method +// https://tc39.es/ecma262/#sec-math.log1p +$({ target: 'Math', stat: true }, { log1p: log1p }); + + +/***/ }), +/* 295 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +var log = Math.log; +var LN2 = Math.LN2; + +// `Math.log2` method +// https://tc39.es/ecma262/#sec-math.log2 +$({ target: 'Math', stat: true }, { + log2: function log2(x) { + return log(x) / LN2; + } +}); + + +/***/ }), +/* 296 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var sign = __webpack_require__(215); + +// `Math.sign` method +// https://tc39.es/ecma262/#sec-math.sign +$({ target: 'Math', stat: true }, { + sign: sign +}); + + +/***/ }), +/* 297 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var expm1 = __webpack_require__(287); + +var abs = Math.abs; +var exp = Math.exp; +var E = Math.E; + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-math-sinh -- required for testing + return Math.sinh(-2e-17) !== -2e-17; +}); + +// `Math.sinh` method +// https://tc39.es/ecma262/#sec-math.sinh +// V8 near Chromium 38 has a problem with very small numbers +$({ target: 'Math', stat: true, forced: FORCED }, { + sinh: function sinh(x) { + var n = +x; + return abs(n) < 1 ? (expm1(n) - expm1(-n)) / 2 : (exp(n - 1) - exp(-n - 1)) * (E / 2); + } +}); + + +/***/ }), +/* 298 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +var exp = Math.exp; + +// `Math.tanh` method +// https://tc39.es/ecma262/#sec-math.tanh +$({ target: 'Math', stat: true }, { + tanh: function tanh(x) { + var n = +x; + var a = expm1(n); + var b = expm1(-n); + return a === Infinity ? 1 : b === Infinity ? -1 : (a - b) / (exp(n) + exp(-n)); + } +}); + + +/***/ }), +/* 299 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var setToStringTag = __webpack_require__(82); + +// Math[@@toStringTag] property +// https://tc39.es/ecma262/#sec-math-@@tostringtag +setToStringTag(Math, 'Math', true); + + +/***/ }), +/* 300 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trunc = __webpack_require__(62); + +// `Math.trunc` method +// https://tc39.es/ecma262/#sec-math.trunc +$({ target: 'Math', stat: true }, { + trunc: trunc +}); + + +/***/ }), +/* 301 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var path = __webpack_require__(80); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var hasOwn = __webpack_require__(38); +var inheritIfRequired = __webpack_require__(118); +var isPrototypeOf = __webpack_require__(24); +var isSymbol = __webpack_require__(22); +var toPrimitive = __webpack_require__(19); +var fails = __webpack_require__(7); +var getOwnPropertyNames = (__webpack_require__(57).f); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var defineProperty = (__webpack_require__(44).f); +var thisNumberValue = __webpack_require__(302); +var trim = (__webpack_require__(303).trim); + +var NUMBER = 'Number'; +var NativeNumber = globalThis[NUMBER]; +var PureNumberNamespace = path[NUMBER]; +var NumberPrototype = NativeNumber.prototype; +var TypeError = globalThis.TypeError; +var stringSlice = uncurryThis(''.slice); +var charCodeAt = uncurryThis(''.charCodeAt); + +// `ToNumeric` abstract operation +// https://tc39.es/ecma262/#sec-tonumeric +var toNumeric = function (value) { + var primValue = toPrimitive(value, 'number'); + return typeof primValue == 'bigint' ? primValue : toNumber(primValue); +}; + +// `ToNumber` abstract operation +// https://tc39.es/ecma262/#sec-tonumber +var toNumber = function (argument) { + var it = toPrimitive(argument, 'number'); + var first, third, radix, maxCode, digits, length, index, code; + if (isSymbol(it)) throw new TypeError('Cannot convert a Symbol value to a number'); + if (typeof it == 'string' && it.length > 2) { + it = trim(it); + first = charCodeAt(it, 0); + if (first === 43 || first === 45) { + third = charCodeAt(it, 2); + if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if (first === 48) { + switch (charCodeAt(it, 1)) { + // fast equal of /^0b[01]+$/i + case 66: + case 98: + radix = 2; + maxCode = 49; + break; + // fast equal of /^0o[0-7]+$/i + case 79: + case 111: + radix = 8; + maxCode = 55; + break; + default: + return +it; + } + digits = stringSlice(it, 2); + length = digits.length; + for (index = 0; index < length; index++) { + code = charCodeAt(digits, index); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if (code < 48 || code > maxCode) return NaN; + } return parseInt(digits, radix); + } + } return +it; +}; + +var FORCED = isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1')); + +var calledWithNew = function (dummy) { + // includes check on 1..constructor(foo) case + return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); }); +}; + +// `Number` constructor +// https://tc39.es/ecma262/#sec-number-constructor +var NumberWrapper = function Number(value) { + var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value)); + return calledWithNew(this) ? inheritIfRequired(Object(n), this, NumberWrapper) : n; +}; + +NumberWrapper.prototype = NumberPrototype; +if (FORCED && !IS_PURE) NumberPrototype.constructor = NumberWrapper; + +$({ global: true, constructor: true, wrap: true, forced: FORCED }, { + Number: NumberWrapper +}); + +// Use `internal/copy-constructor-properties` helper in `core-js@4` +var copyConstructorProperties = function (target, source) { + for (var keys = DESCRIPTORS ? getOwnPropertyNames(source) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES2015 (in case, if modules with ES2015 Number statics required before): + 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' + + // ESNext + 'fromString,range' + ).split(','), j = 0, key; keys.length > j; j++) { + if (hasOwn(source, key = keys[j]) && !hasOwn(target, key)) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + +if (IS_PURE && PureNumberNamespace) copyConstructorProperties(path[NUMBER], PureNumberNamespace); +if (FORCED || IS_PURE) copyConstructorProperties(path[NUMBER], NativeNumber); + + +/***/ }), +/* 302 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// `thisNumberValue` abstract operation +// https://tc39.es/ecma262/#sec-thisnumbervalue +module.exports = uncurryThis(1.0.valueOf); + + +/***/ }), +/* 303 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var whitespaces = __webpack_require__(304); + +var replace = uncurryThis(''.replace); +var ltrim = RegExp('^[' + whitespaces + ']+'); +var rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$'); + +// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation +var createMethod = function (TYPE) { + return function ($this) { + var string = toString(requireObjectCoercible($this)); + if (TYPE & 1) string = replace(string, ltrim, ''); + if (TYPE & 2) string = replace(string, rtrim, '$1'); + return string; + }; +}; + +module.exports = { + // `String.prototype.{ trimLeft, trimStart }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimstart + start: createMethod(1), + // `String.prototype.{ trimRight, trimEnd }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimend + end: createMethod(2), + // `String.prototype.trim` method + // https://tc39.es/ecma262/#sec-string.prototype.trim + trim: createMethod(3) +}; + + +/***/ }), +/* 304 */ +/***/ (function(module) { + + +// a string of all valid unicode whitespaces +module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' + + '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + + +/***/ }), +/* 305 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.EPSILON` constant +// https://tc39.es/ecma262/#sec-number.epsilon +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + EPSILON: Math.pow(2, -52) +}); + + +/***/ }), +/* 306 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var numberIsFinite = __webpack_require__(307); + +// `Number.isFinite` method +// https://tc39.es/ecma262/#sec-number.isfinite +$({ target: 'Number', stat: true }, { isFinite: numberIsFinite }); + + +/***/ }), +/* 307 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +var globalIsFinite = globalThis.isFinite; + +// `Number.isFinite` method +// https://tc39.es/ecma262/#sec-number.isfinite +// eslint-disable-next-line es/no-number-isfinite -- safe +module.exports = Number.isFinite || function isFinite(it) { + return typeof it == 'number' && globalIsFinite(it); +}; + + +/***/ }), +/* 308 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isIntegralNumber = __webpack_require__(309); + +// `Number.isInteger` method +// https://tc39.es/ecma262/#sec-number.isinteger +$({ target: 'Number', stat: true }, { + isInteger: isIntegralNumber +}); + + +/***/ }), +/* 309 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +var floor = Math.floor; + +// `IsIntegralNumber` abstract operation +// https://tc39.es/ecma262/#sec-isintegralnumber +// eslint-disable-next-line es/no-number-isinteger -- safe +module.exports = Number.isInteger || function isInteger(it) { + return !isObject(it) && isFinite(it) && floor(it) === it; +}; + + +/***/ }), +/* 310 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.isNaN` method +// https://tc39.es/ecma262/#sec-number.isnan +$({ target: 'Number', stat: true }, { + isNaN: function isNaN(number) { + // eslint-disable-next-line no-self-compare -- NaN check + return number !== number; + } +}); + + +/***/ }), +/* 311 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isIntegralNumber = __webpack_require__(309); + +var abs = Math.abs; + +// `Number.isSafeInteger` method +// https://tc39.es/ecma262/#sec-number.issafeinteger +$({ target: 'Number', stat: true }, { + isSafeInteger: function isSafeInteger(number) { + return isIntegralNumber(number) && abs(number) <= 0x1FFFFFFFFFFFFF; + } +}); + + +/***/ }), +/* 312 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.MAX_SAFE_INTEGER` constant +// https://tc39.es/ecma262/#sec-number.max_safe_integer +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF +}); + + +/***/ }), +/* 313 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.MIN_SAFE_INTEGER` constant +// https://tc39.es/ecma262/#sec-number.min_safe_integer +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF +}); + + +/***/ }), +/* 314 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var parseFloat = __webpack_require__(315); + +// `Number.parseFloat` method +// https://tc39.es/ecma262/#sec-number.parseFloat +// eslint-disable-next-line es/no-number-parsefloat -- required for testing +$({ target: 'Number', stat: true, forced: Number.parseFloat !== parseFloat }, { + parseFloat: parseFloat +}); + + +/***/ }), +/* 315 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var trim = (__webpack_require__(303).trim); +var whitespaces = __webpack_require__(304); + +var charAt = uncurryThis(''.charAt); +var $parseFloat = globalThis.parseFloat; +var Symbol = globalThis.Symbol; +var ITERATOR = Symbol && Symbol.iterator; +var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity + // MS Edge 18- broken with boxed symbols + || (ITERATOR && !fails(function () { $parseFloat(Object(ITERATOR)); })); + +// `parseFloat` method +// https://tc39.es/ecma262/#sec-parsefloat-string +module.exports = FORCED ? function parseFloat(string) { + var trimmedString = trim(toString(string)); + var result = $parseFloat(trimmedString); + return result === 0 && charAt(trimmedString, 0) === '-' ? -0 : result; +} : $parseFloat; + + +/***/ }), +/* 316 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var parseInt = __webpack_require__(317); + +// `Number.parseInt` method +// https://tc39.es/ecma262/#sec-number.parseint +// eslint-disable-next-line es/no-number-parseint -- required for testing +$({ target: 'Number', stat: true, forced: Number.parseInt !== parseInt }, { + parseInt: parseInt +}); + + +/***/ }), +/* 317 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var trim = (__webpack_require__(303).trim); +var whitespaces = __webpack_require__(304); + +var $parseInt = globalThis.parseInt; +var Symbol = globalThis.Symbol; +var ITERATOR = Symbol && Symbol.iterator; +var hex = /^[+-]?0x/i; +var exec = uncurryThis(hex.exec); +var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22 + // MS Edge 18- broken with boxed symbols + || (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); })); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +module.exports = FORCED ? function parseInt(string, radix) { + var S = trim(toString(string)); + return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10)); +} : $parseInt; + + +/***/ }), +/* 318 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var thisNumberValue = __webpack_require__(302); +var $repeat = __webpack_require__(239); +var log10 = __webpack_require__(293); +var fails = __webpack_require__(7); + +var $RangeError = RangeError; +var $String = String; +var $isFinite = isFinite; +var abs = Math.abs; +var floor = Math.floor; +var pow = Math.pow; +var round = Math.round; +var nativeToExponential = uncurryThis(1.0.toExponential); +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); + +// Edge 17- +var ROUNDS_PROPERLY = nativeToExponential(-6.9e-11, 4) === '-6.9000e-11' + // IE11- && Edge 14- + && nativeToExponential(1.255, 2) === '1.25e+0' + // FF86-, V8 ~ Chrome 49-50 + && nativeToExponential(12345, 3) === '1.235e+4' + // FF86-, V8 ~ Chrome 49-50 + && nativeToExponential(25, 0) === '3e+1'; + +// IE8- +var throwsOnInfinityFraction = function () { + return fails(function () { + nativeToExponential(1, Infinity); + }) && fails(function () { + nativeToExponential(1, -Infinity); + }); +}; + +// Safari <11 && FF <50 +var properNonFiniteThisCheck = function () { + return !fails(function () { + nativeToExponential(Infinity, Infinity); + nativeToExponential(NaN, Infinity); + }); +}; + +var FORCED = !ROUNDS_PROPERLY || !throwsOnInfinityFraction() || !properNonFiniteThisCheck(); + +// `Number.prototype.toExponential` method +// https://tc39.es/ecma262/#sec-number.prototype.toexponential +$({ target: 'Number', proto: true, forced: FORCED }, { + toExponential: function toExponential(fractionDigits) { + var x = thisNumberValue(this); + if (fractionDigits === undefined) return nativeToExponential(x); + var f = toIntegerOrInfinity(fractionDigits); + if (!$isFinite(x)) return String(x); + // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation + if (f < 0 || f > 20) throw new $RangeError('Incorrect fraction digits'); + if (ROUNDS_PROPERLY) return nativeToExponential(x, f); + var s = ''; + var m, e, c, d; + if (x < 0) { + s = '-'; + x = -x; + } + if (x === 0) { + e = 0; + m = repeat('0', f + 1); + } else { + // this block is based on https://gist.github.com/SheetJSDev/1100ad56b9f856c95299ed0e068eea08 + // TODO: improve accuracy with big fraction digits + var l = log10(x); + e = floor(l); + var w = pow(10, e - f); + var n = round(x / w); + if (2 * x >= (2 * n + 1) * w) { + n += 1; + } + if (n >= pow(10, f + 1)) { + n /= 10; + e += 1; + } + m = $String(n); + } + if (f !== 0) { + m = stringSlice(m, 0, 1) + '.' + stringSlice(m, 1); + } + if (e === 0) { + c = '+'; + d = '0'; + } else { + c = e > 0 ? '+' : '-'; + d = $String(abs(e)); + } + m += 'e' + c + d; + return s + m; + } +}); + + +/***/ }), +/* 319 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var thisNumberValue = __webpack_require__(302); +var $repeat = __webpack_require__(239); +var fails = __webpack_require__(7); + +var $RangeError = RangeError; +var $String = String; +var floor = Math.floor; +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); +var nativeToFixed = uncurryThis(1.0.toFixed); + +var pow = function (x, n, acc) { + return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); +}; + +var log = function (x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + } return n; +}; + +var multiply = function (data, n, c) { + var index = -1; + var c2 = c; + while (++index < 6) { + c2 += n * data[index]; + data[index] = c2 % 1e7; + c2 = floor(c2 / 1e7); + } +}; + +var divide = function (data, n) { + var index = 6; + var c = 0; + while (--index >= 0) { + c += data[index]; + data[index] = floor(c / n); + c = (c % n) * 1e7; + } +}; + +var dataToString = function (data) { + var index = 6; + var s = ''; + while (--index >= 0) { + if (s !== '' || index === 0 || data[index] !== 0) { + var t = $String(data[index]); + s = s === '' ? t : s + repeat('0', 7 - t.length) + t; + } + } return s; +}; + +var FORCED = fails(function () { + return nativeToFixed(0.00008, 3) !== '0.000' || + nativeToFixed(0.9, 0) !== '1' || + nativeToFixed(1.255, 2) !== '1.25' || + nativeToFixed(1000000000000000128.0, 0) !== '1000000000000000128'; +}) || !fails(function () { + // V8 ~ Android 4.3- + nativeToFixed({}); +}); + +// `Number.prototype.toFixed` method +// https://tc39.es/ecma262/#sec-number.prototype.tofixed +$({ target: 'Number', proto: true, forced: FORCED }, { + toFixed: function toFixed(fractionDigits) { + var number = thisNumberValue(this); + var fractDigits = toIntegerOrInfinity(fractionDigits); + var data = [0, 0, 0, 0, 0, 0]; + var sign = ''; + var result = '0'; + var e, z, j, k; + + // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation + if (fractDigits < 0 || fractDigits > 20) throw new $RangeError('Incorrect fraction digits'); + // eslint-disable-next-line no-self-compare -- NaN check + if (number !== number) return 'NaN'; + if (number <= -1e21 || number >= 1e21) return $String(number); + if (number < 0) { + sign = '-'; + number = -number; + } + if (number > 1e-21) { + e = log(number * pow(2, 69, 1)) - 69; + z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1); + z *= 0x10000000000000; + e = 52 - e; + if (e > 0) { + multiply(data, 0, z); + j = fractDigits; + while (j >= 7) { + multiply(data, 1e7, 0); + j -= 7; + } + multiply(data, pow(10, j, 1), 0); + j = e - 1; + while (j >= 23) { + divide(data, 1 << 23); + j -= 23; + } + divide(data, 1 << j); + multiply(data, 1, 1); + divide(data, 2); + result = dataToString(data); + } else { + multiply(data, 0, z); + multiply(data, 1 << -e, 0); + result = dataToString(data) + repeat('0', fractDigits); + } + } + if (fractDigits > 0) { + k = result.length; + result = sign + (k <= fractDigits + ? '0.' + repeat('0', fractDigits - k) + result + : stringSlice(result, 0, k - fractDigits) + '.' + stringSlice(result, k - fractDigits)); + } else { + result = sign + result; + } return result; + } +}); + + +/***/ }), +/* 320 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var thisNumberValue = __webpack_require__(302); + +var nativeToPrecision = uncurryThis(1.0.toPrecision); + +var FORCED = fails(function () { + // IE7- + return nativeToPrecision(1, undefined) !== '1'; +}) || !fails(function () { + // V8 ~ Android 4.3- + nativeToPrecision({}); +}); + +// `Number.prototype.toPrecision` method +// https://tc39.es/ecma262/#sec-number.prototype.toprecision +$({ target: 'Number', proto: true, forced: FORCED }, { + toPrecision: function toPrecision(precision) { + return precision === undefined + ? nativeToPrecision(thisNumberValue(this)) + : nativeToPrecision(thisNumberValue(this), precision); + } +}); + + +/***/ }), +/* 321 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var assign = __webpack_require__(322); + +// `Object.assign` method +// https://tc39.es/ecma262/#sec-object.assign +// eslint-disable-next-line es/no-object-assign -- required for testing +$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, { + assign: assign +}); + + +/***/ }), +/* 322 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var objectKeys = __webpack_require__(73); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var propertyIsEnumerableModule = __webpack_require__(10); +var toObject = __webpack_require__(39); +var IndexedObject = __webpack_require__(13); + +// eslint-disable-next-line es/no-object-assign -- safe +var $assign = Object.assign; +// eslint-disable-next-line es/no-object-defineproperty -- required for testing +var defineProperty = Object.defineProperty; +var concat = uncurryThis([].concat); + +// `Object.assign` method +// https://tc39.es/ecma262/#sec-object.assign +module.exports = !$assign || fails(function () { + // should have correct order of operations (Edge bug) + if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', { + enumerable: true, + get: function () { + defineProperty(this, 'b', { + value: 3, + enumerable: false + }); + } + }), { b: 2 })).b !== 1) return true; + // should work with symbols and should have deterministic property order (V8 bug) + var A = {}; + var B = {}; + // eslint-disable-next-line es/no-symbol -- safe + var symbol = Symbol('assign detection'); + var alphabet = 'abcdefghijklmnopqrst'; + A[symbol] = 7; + alphabet.split('').forEach(function (chr) { B[chr] = chr; }); + return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` + var T = toObject(target); + var argumentsLength = arguments.length; + var index = 1; + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + var propertyIsEnumerable = propertyIsEnumerableModule.f; + while (argumentsLength > index) { + var S = IndexedObject(arguments[index++]); + var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) { + key = keys[j++]; + if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key]; + } + } return T; +} : $assign; + + +/***/ }), +/* 323 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var create = __webpack_require__(71); + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + create: create +}); + + +/***/ }), +/* 324 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var definePropertyModule = __webpack_require__(44); + +// `Object.prototype.__defineGetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineGetter__: function __defineGetter__(P, getter) { + definePropertyModule.f(toObject(this), P, { get: aCallable(getter), enumerable: true, configurable: true }); + } + }); +} + + +/***/ }), +/* 325 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-undef, no-useless-call, sonarjs/no-reference-error -- required for testing */ +/* eslint-disable es/no-legacy-object-prototype-accessor-methods -- required for testing */ +var IS_PURE = __webpack_require__(36); +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var WEBKIT = __webpack_require__(192); + +// Forced replacement object prototype accessors methods +module.exports = IS_PURE || !fails(function () { + // This feature detection crashes old WebKit + // https://github.com/zloirock/core-js/issues/232 + if (WEBKIT && WEBKIT < 535) return; + var key = Math.random(); + // In FF throws only define methods + __defineSetter__.call(null, key, function () { /* empty */ }); + delete globalThis[key]; +}); + + +/***/ }), +/* 326 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var defineProperties = (__webpack_require__(72).f); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, { + defineProperties: defineProperties +}); + + +/***/ }), +/* 327 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var defineProperty = (__webpack_require__(44).f); + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +// eslint-disable-next-line es/no-object-defineproperty -- safe +$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, { + defineProperty: defineProperty +}); + + +/***/ }), +/* 328 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var definePropertyModule = __webpack_require__(44); + +// `Object.prototype.__defineSetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineSetter__: function __defineSetter__(P, setter) { + definePropertyModule.f(toObject(this), P, { set: aCallable(setter), enumerable: true, configurable: true }); + } + }); +} + + +/***/ }), +/* 329 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $entries = (__webpack_require__(330).entries); + +// `Object.entries` method +// https://tc39.es/ecma262/#sec-object.entries +$({ target: 'Object', stat: true }, { + entries: function entries(O) { + return $entries(O); + } +}); + + +/***/ }), +/* 330 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var objectGetPrototypeOf = __webpack_require__(128); +var objectKeys = __webpack_require__(73); +var toIndexedObject = __webpack_require__(12); +var $propertyIsEnumerable = (__webpack_require__(10).f); + +var propertyIsEnumerable = uncurryThis($propertyIsEnumerable); +var push = uncurryThis([].push); + +// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys +// of `null` prototype objects +var IE_BUG = DESCRIPTORS && fails(function () { + // eslint-disable-next-line es/no-object-create -- safe + var O = Object.create(null); + O[2] = 2; + return !propertyIsEnumerable(O, 2); +}); + +// `Object.{ entries, values }` methods implementation +var createMethod = function (TO_ENTRIES) { + return function (it) { + var O = toIndexedObject(it); + var keys = objectKeys(O); + var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null; + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) { + key = keys[i++]; + if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) { + push(result, TO_ENTRIES ? [key, O[key]] : O[key]); + } + } + return result; + }; +}; + +module.exports = { + // `Object.entries` method + // https://tc39.es/ecma262/#sec-object.entries + entries: createMethod(true), + // `Object.values` method + // https://tc39.es/ecma262/#sec-object.values + values: createMethod(false) +}; + + +/***/ }), +/* 331 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); + +// eslint-disable-next-line es/no-object-freeze -- safe +var $freeze = Object.freeze; +var FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); }); + +// `Object.freeze` method +// https://tc39.es/ecma262/#sec-object.freeze +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + freeze: function freeze(it) { + return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 332 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var createProperty = __webpack_require__(141); + +// `Object.fromEntries` method +// https://tc39.es/ecma262/#sec-object.fromentries +$({ target: 'Object', stat: true }, { + fromEntries: function fromEntries(iterable) { + var obj = {}; + iterate(iterable, function (k, v) { + createProperty(obj, k, v); + }, { AS_ENTRIES: true }); + return obj; + } +}); + + +/***/ }), +/* 333 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toIndexedObject = __webpack_require__(12); +var nativeGetOwnPropertyDescriptor = (__webpack_require__(5).f); +var DESCRIPTORS = __webpack_require__(6); + +var FORCED = !DESCRIPTORS || fails(function () { nativeGetOwnPropertyDescriptor(1); }); + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { + return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key); + } +}); + + +/***/ }), +/* 334 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var ownKeys = __webpack_require__(56); +var toIndexedObject = __webpack_require__(12); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var createProperty = __webpack_require__(141); + +// `Object.getOwnPropertyDescriptors` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIndexedObject(object); + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + var keys = ownKeys(O); + var result = {}; + var index = 0; + var key, descriptor; + while (keys.length > index) { + descriptor = getOwnPropertyDescriptor(O, key = keys[index++]); + if (descriptor !== undefined) createProperty(result, key, descriptor); + } + return result; + } +}); + + +/***/ }), +/* 335 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var getOwnPropertyNames = (__webpack_require__(75).f); + +// eslint-disable-next-line es/no-object-getownpropertynames -- required for testing +var FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); }); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + getOwnPropertyNames: getOwnPropertyNames +}); + + +/***/ }), +/* 336 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toObject = __webpack_require__(39); +var nativeGetPrototypeOf = __webpack_require__(128); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); }); + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(it) { + return nativeGetPrototypeOf(toObject(it)); + } +}); + + + +/***/ }), +/* 337 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var requireObjectCoercible = __webpack_require__(16); +var toPropertyKey = __webpack_require__(18); +var iterate = __webpack_require__(130); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-groupby -- testing +var nativeGroupBy = Object.groupBy; +var create = getBuiltIn('Object', 'create'); +var push = uncurryThis([].push); + +var DOES_NOT_WORK_WITH_PRIMITIVES = !nativeGroupBy || fails(function () { + return nativeGroupBy('ab', function (it) { + return it; + }).a.length !== 1; +}); + +// `Object.groupBy` method +// https://tc39.es/ecma262/#sec-object.groupby +$({ target: 'Object', stat: true, forced: DOES_NOT_WORK_WITH_PRIMITIVES }, { + groupBy: function groupBy(items, callbackfn) { + requireObjectCoercible(items); + aCallable(callbackfn); + var obj = create(null); + var k = 0; + iterate(items, function (value) { + var key = toPropertyKey(callbackfn(value, k++)); + // in some IE versions, `hasOwnProperty` returns incorrect result on integer keys + // but since it's a `null` prototype object, we can safely use `in` + if (key in obj) push(obj[key], value); + else obj[key] = [value]; + }); + return obj; + } +}); + + +/***/ }), +/* 338 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var hasOwn = __webpack_require__(38); + +// `Object.hasOwn` method +// https://tc39.es/ecma262/#sec-object.hasown +$({ target: 'Object', stat: true }, { + hasOwn: hasOwn +}); + + +/***/ }), +/* 339 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var is = __webpack_require__(340); + +// `Object.is` method +// https://tc39.es/ecma262/#sec-object.is +$({ target: 'Object', stat: true }, { + is: is +}); + + +/***/ }), +/* 340 */ +/***/ (function(module) { + + +// `SameValue` abstract operation +// https://tc39.es/ecma262/#sec-samevalue +// eslint-disable-next-line es/no-object-is -- safe +module.exports = Object.is || function is(x, y) { + // eslint-disable-next-line no-self-compare -- NaN check + return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y; +}; + + +/***/ }), +/* 341 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $isExtensible = __webpack_require__(274); + +// `Object.isExtensible` method +// https://tc39.es/ecma262/#sec-object.isextensible +// eslint-disable-next-line es/no-object-isextensible -- safe +$({ target: 'Object', stat: true, forced: Object.isExtensible !== $isExtensible }, { + isExtensible: $isExtensible +}); + + +/***/ }), +/* 342 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-isfrozen -- safe +var $isFrozen = Object.isFrozen; + +var FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isFrozen(1); }); + +// `Object.isFrozen` method +// https://tc39.es/ecma262/#sec-object.isfrozen +$({ target: 'Object', stat: true, forced: FORCED }, { + isFrozen: function isFrozen(it) { + if (!isObject(it)) return true; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true; + return $isFrozen ? $isFrozen(it) : false; + } +}); + + +/***/ }), +/* 343 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-issealed -- safe +var $isSealed = Object.isSealed; + +var FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isSealed(1); }); + +// `Object.isSealed` method +// https://tc39.es/ecma262/#sec-object.issealed +$({ target: 'Object', stat: true, forced: FORCED }, { + isSealed: function isSealed(it) { + if (!isObject(it)) return true; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true; + return $isSealed ? $isSealed(it) : false; + } +}); + + +/***/ }), +/* 344 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var nativeKeys = __webpack_require__(73); +var fails = __webpack_require__(7); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); }); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + keys: function keys(it) { + return nativeKeys(toObject(it)); + } +}); + + +/***/ }), +/* 345 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var toObject = __webpack_require__(39); +var toPropertyKey = __webpack_require__(18); +var getPrototypeOf = __webpack_require__(128); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Object.prototype.__lookupGetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupGetter__: function __lookupGetter__(P) { + var O = toObject(this); + var key = toPropertyKey(P); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.get; + } while (O = getPrototypeOf(O)); + } + }); +} + + +/***/ }), +/* 346 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var toObject = __webpack_require__(39); +var toPropertyKey = __webpack_require__(18); +var getPrototypeOf = __webpack_require__(128); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Object.prototype.__lookupSetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupSetter__: function __lookupSetter__(P) { + var O = toObject(this); + var key = toPropertyKey(P); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.set; + } while (O = getPrototypeOf(O)); + } + }); +} + + +/***/ }), +/* 347 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-preventextensions -- safe +var $preventExtensions = Object.preventExtensions; +var FAILS_ON_PRIMITIVES = fails(function () { $preventExtensions(1); }); + +// `Object.preventExtensions` method +// https://tc39.es/ecma262/#sec-object.preventextensions +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + preventExtensions: function preventExtensions(it) { + return $preventExtensions && isObject(it) ? $preventExtensions(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 348 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var isObject = __webpack_require__(20); +var isPossiblePrototype = __webpack_require__(116); +var toObject = __webpack_require__(39); +var requireObjectCoercible = __webpack_require__(16); + +// eslint-disable-next-line es/no-object-getprototypeof -- safe +var getPrototypeOf = Object.getPrototypeOf; +// eslint-disable-next-line es/no-object-setprototypeof -- safe +var setPrototypeOf = Object.setPrototypeOf; +var ObjectPrototype = Object.prototype; +var PROTO = '__proto__'; + +// `Object.prototype.__proto__` accessor +// https://tc39.es/ecma262/#sec-object.prototype.__proto__ +if (DESCRIPTORS && getPrototypeOf && setPrototypeOf && !(PROTO in ObjectPrototype)) try { + defineBuiltInAccessor(ObjectPrototype, PROTO, { + configurable: true, + get: function __proto__() { + return getPrototypeOf(toObject(this)); + }, + set: function __proto__(proto) { + var O = requireObjectCoercible(this); + if (isPossiblePrototype(proto) && isObject(O)) { + setPrototypeOf(O, proto); + } + } + }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 349 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-seal -- safe +var $seal = Object.seal; +var FAILS_ON_PRIMITIVES = fails(function () { $seal(1); }); + +// `Object.seal` method +// https://tc39.es/ecma262/#sec-object.seal +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + seal: function seal(it) { + return $seal && isObject(it) ? $seal(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 350 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var setPrototypeOf = __webpack_require__(113); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +$({ target: 'Object', stat: true }, { + setPrototypeOf: setPrototypeOf +}); + + +/***/ }), +/* 351 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var defineBuiltIn = __webpack_require__(47); +var toString = __webpack_require__(352); + +// `Object.prototype.toString` method +// https://tc39.es/ecma262/#sec-object.prototype.tostring +if (!TO_STRING_TAG_SUPPORT) { + defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true }); +} + + +/***/ }), +/* 352 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var classof = __webpack_require__(69); + +// `Object.prototype.toString` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.tostring +module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { + return '[object ' + classof(this) + ']'; +}; + + +/***/ }), +/* 353 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $values = (__webpack_require__(330).values); + +// `Object.values` method +// https://tc39.es/ecma262/#sec-object.values +$({ target: 'Object', stat: true }, { + values: function values(O) { + return $values(O); + } +}); + + +/***/ }), +/* 354 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $parseFloat = __webpack_require__(315); + +// `parseFloat` method +// https://tc39.es/ecma262/#sec-parsefloat-string +$({ global: true, forced: parseFloat !== $parseFloat }, { + parseFloat: $parseFloat +}); + + +/***/ }), +/* 355 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $parseInt = __webpack_require__(317); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +$({ global: true, forced: parseInt !== $parseInt }, { + parseInt: $parseInt +}); + + +/***/ }), +/* 356 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(357); +__webpack_require__(373); +__webpack_require__(375); +__webpack_require__(376); +__webpack_require__(377); +__webpack_require__(378); + + +/***/ }), +/* 357 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var IS_NODE = __webpack_require__(182); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var defineBuiltIn = __webpack_require__(47); +var setPrototypeOf = __webpack_require__(113); +var setToStringTag = __webpack_require__(82); +var setSpecies = __webpack_require__(194); +var aCallable = __webpack_require__(30); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var anInstance = __webpack_require__(211); +var speciesConstructor = __webpack_require__(358); +var task = (__webpack_require__(360).set); +var microtask = __webpack_require__(363); +var hostReportErrors = __webpack_require__(368); +var perform = __webpack_require__(369); +var Queue = __webpack_require__(365); +var InternalStateModule = __webpack_require__(51); +var NativePromiseConstructor = __webpack_require__(370); +var PromiseConstructorDetection = __webpack_require__(371); +var newPromiseCapabilityModule = __webpack_require__(372); + +var PROMISE = 'Promise'; +var FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR; +var NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT; +var NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING; +var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); +var setInternalState = InternalStateModule.set; +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var PromiseConstructor = NativePromiseConstructor; +var PromisePrototype = NativePromisePrototype; +var TypeError = globalThis.TypeError; +var document = globalThis.document; +var process = globalThis.process; +var newPromiseCapability = newPromiseCapabilityModule.f; +var newGenericPromiseCapability = newPromiseCapability; + +var DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent); +var UNHANDLED_REJECTION = 'unhandledrejection'; +var REJECTION_HANDLED = 'rejectionhandled'; +var PENDING = 0; +var FULFILLED = 1; +var REJECTED = 2; +var HANDLED = 1; +var UNHANDLED = 2; + +var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && isCallable(then = it.then) ? then : false; +}; + +var callReaction = function (reaction, state) { + var value = state.value; + var ok = state.state === FULFILLED; + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (state.rejection === UNHANDLED) onHandleUnhandled(state); + state.rejection = HANDLED; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // can throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(new TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + call(then, result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (error) { + if (domain && !exited) domain.exit(); + reject(error); + } +}; + +var notify = function (state, isReject) { + if (state.notified) return; + state.notified = true; + microtask(function () { + var reactions = state.reactions; + var reaction; + while (reaction = reactions.get()) { + callReaction(reaction, state); + } + state.notified = false; + if (isReject && !state.rejection) onUnhandled(state); + }); +}; + +var dispatchEvent = function (name, promise, reason) { + var event, handler; + if (DISPATCH_EVENT) { + event = document.createEvent('Event'); + event.promise = promise; + event.reason = reason; + event.initEvent(name, false, true); + globalThis.dispatchEvent(event); + } else event = { promise: promise, reason: reason }; + if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event); + else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); +}; + +var onUnhandled = function (state) { + call(task, globalThis, function () { + var promise = state.facade; + var value = state.value; + var IS_UNHANDLED = isUnhandled(state); + var result; + if (IS_UNHANDLED) { + result = perform(function () { + if (IS_NODE) { + process.emit('unhandledRejection', value, promise); + } else dispatchEvent(UNHANDLED_REJECTION, promise, value); + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; + if (result.error) throw result.value; + } + }); +}; + +var isUnhandled = function (state) { + return state.rejection !== HANDLED && !state.parent; +}; + +var onHandleUnhandled = function (state) { + call(task, globalThis, function () { + var promise = state.facade; + if (IS_NODE) { + process.emit('rejectionHandled', promise); + } else dispatchEvent(REJECTION_HANDLED, promise, state.value); + }); +}; + +var bind = function (fn, state, unwrap) { + return function (value) { + fn(state, value, unwrap); + }; +}; + +var internalReject = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + state.value = value; + state.state = REJECTED; + notify(state, true); +}; + +var internalResolve = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + try { + if (state.facade === value) throw new TypeError("Promise can't be resolved itself"); + var then = isThenable(value); + if (then) { + microtask(function () { + var wrapper = { done: false }; + try { + call(then, value, + bind(internalResolve, wrapper, state), + bind(internalReject, wrapper, state) + ); + } catch (error) { + internalReject(wrapper, error, state); + } + }); + } else { + state.value = value; + state.state = FULFILLED; + notify(state, false); + } + } catch (error) { + internalReject({ done: false }, error, state); + } +}; + +// constructor polyfill +if (FORCED_PROMISE_CONSTRUCTOR) { + // 25.4.3.1 Promise(executor) + PromiseConstructor = function Promise(executor) { + anInstance(this, PromisePrototype); + aCallable(executor); + call(Internal, this); + var state = getInternalPromiseState(this); + try { + executor(bind(internalResolve, state), bind(internalReject, state)); + } catch (error) { + internalReject(state, error); + } + }; + + PromisePrototype = PromiseConstructor.prototype; + + // eslint-disable-next-line no-unused-vars -- required for `.length` + Internal = function Promise(executor) { + setInternalState(this, { + type: PROMISE, + done: false, + notified: false, + parent: false, + reactions: new Queue(), + rejection: false, + state: PENDING, + value: null + }); + }; + + // `Promise.prototype.then` method + // https://tc39.es/ecma262/#sec-promise.prototype.then + Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) { + var state = getInternalPromiseState(this); + var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); + state.parent = true; + reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; + reaction.fail = isCallable(onRejected) && onRejected; + reaction.domain = IS_NODE ? process.domain : undefined; + if (state.state === PENDING) state.reactions.add(reaction); + else microtask(function () { + callReaction(reaction, state); + }); + return reaction.promise; + }); + + OwnPromiseCapability = function () { + var promise = new Internal(); + var state = getInternalPromiseState(promise); + this.promise = promise; + this.resolve = bind(internalResolve, state); + this.reject = bind(internalReject, state); + }; + + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === PromiseConstructor || C === PromiseWrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; + + if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) { + nativeThen = NativePromisePrototype.then; + + if (!NATIVE_PROMISE_SUBCLASSING) { + // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs + defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { + var that = this; + return new PromiseConstructor(function (resolve, reject) { + call(nativeThen, that, resolve, reject); + }).then(onFulfilled, onRejected); + // https://github.com/zloirock/core-js/issues/640 + }, { unsafe: true }); + } + + // make `.constructor === Promise` work for native promise-based APIs + try { + delete NativePromisePrototype.constructor; + } catch (error) { /* empty */ } + + // make `instanceof Promise` work for native promise-based APIs + if (setPrototypeOf) { + setPrototypeOf(NativePromisePrototype, PromisePrototype); + } + } +} + +// `Promise` constructor +// https://tc39.es/ecma262/#sec-promise-executor +$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + Promise: PromiseConstructor +}); + +setToStringTag(PromiseConstructor, PROMISE, false, true); +setSpecies(PROMISE); + + +/***/ }), +/* 358 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var aConstructor = __webpack_require__(359); +var isNullOrUndefined = __webpack_require__(17); +var wellKnownSymbol = __webpack_require__(33); + +var SPECIES = wellKnownSymbol('species'); + +// `SpeciesConstructor` abstract operation +// https://tc39.es/ecma262/#sec-speciesconstructor +module.exports = function (O, defaultConstructor) { + var C = anObject(O).constructor; + var S; + return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S); +}; + + +/***/ }), +/* 359 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isConstructor = __webpack_require__(89); +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +// `Assert: IsConstructor(argument) is true` +module.exports = function (argument) { + if (isConstructor(argument)) return argument; + throw new $TypeError(tryToString(argument) + ' is not a constructor'); +}; + + +/***/ }), +/* 360 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var bind = __webpack_require__(84); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var fails = __webpack_require__(7); +var html = __webpack_require__(74); +var arraySlice = __webpack_require__(76); +var createElement = __webpack_require__(42); +var validateArgumentsLength = __webpack_require__(361); +var IS_IOS = __webpack_require__(362); +var IS_NODE = __webpack_require__(182); + +var set = globalThis.setImmediate; +var clear = globalThis.clearImmediate; +var process = globalThis.process; +var Dispatch = globalThis.Dispatch; +var Function = globalThis.Function; +var MessageChannel = globalThis.MessageChannel; +var String = globalThis.String; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var $location, defer, channel, port; + +fails(function () { + // Deno throws a ReferenceError on `location` access without `--location` flag + $location = globalThis.location; +}); + +var run = function (id) { + if (hasOwn(queue, id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; + +var runner = function (id) { + return function () { + run(id); + }; +}; + +var eventListener = function (event) { + run(event.data); +}; + +var globalPostMessageDefer = function (id) { + // old engines have not location.origin + globalThis.postMessage(String(id), $location.protocol + '//' + $location.host); +}; + +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!set || !clear) { + set = function setImmediate(handler) { + validateArgumentsLength(arguments.length, 1); + var fn = isCallable(handler) ? handler : Function(handler); + var args = arraySlice(arguments, 1); + queue[++counter] = function () { + apply(fn, undefined, args); + }; + defer(counter); + return counter; + }; + clear = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (IS_NODE) { + defer = function (id) { + process.nextTick(runner(id)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(runner(id)); + }; + // Browsers with MessageChannel, includes WebWorkers + // except iOS - https://github.com/zloirock/core-js/issues/624 + } else if (MessageChannel && !IS_IOS) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = eventListener; + defer = bind(port.postMessage, port); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if ( + globalThis.addEventListener && + isCallable(globalThis.postMessage) && + !globalThis.importScripts && + $location && $location.protocol !== 'file:' && + !fails(globalPostMessageDefer) + ) { + defer = globalPostMessageDefer; + globalThis.addEventListener('message', eventListener, false); + // IE8- + } else if (ONREADYSTATECHANGE in createElement('script')) { + defer = function (id) { + html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(runner(id), 0); + }; + } +} + +module.exports = { + set: set, + clear: clear +}; + + +/***/ }), +/* 361 */ +/***/ (function(module) { + + +var $TypeError = TypeError; + +module.exports = function (passed, required) { + if (passed < required) throw new $TypeError('Not enough arguments'); + return passed; +}; + + +/***/ }), +/* 362 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +// eslint-disable-next-line redos/no-vulnerable -- safe +module.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent); + + +/***/ }), +/* 363 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var safeGetBuiltIn = __webpack_require__(364); +var bind = __webpack_require__(84); +var macrotask = (__webpack_require__(360).set); +var Queue = __webpack_require__(365); +var IS_IOS = __webpack_require__(362); +var IS_IOS_PEBBLE = __webpack_require__(366); +var IS_WEBOS_WEBKIT = __webpack_require__(367); +var IS_NODE = __webpack_require__(182); + +var MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver; +var document = globalThis.document; +var process = globalThis.process; +var Promise = globalThis.Promise; +var microtask = safeGetBuiltIn('queueMicrotask'); +var notify, toggle, node, promise, then; + +// modern engines have queueMicrotask method +if (!microtask) { + var queue = new Queue(); + + var flush = function () { + var parent, fn; + if (IS_NODE && (parent = process.domain)) parent.exit(); + while (fn = queue.get()) try { + fn(); + } catch (error) { + if (queue.head) notify(); + throw error; + } + if (parent) parent.enter(); + }; + + // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 + // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898 + if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) { + toggle = true; + node = document.createTextNode(''); + new MutationObserver(flush).observe(node, { characterData: true }); + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + promise = Promise.resolve(undefined); + // workaround of WebKit ~ iOS Safari 10.1 bug + promise.constructor = Promise; + then = bind(promise.then, promise); + notify = function () { + then(flush); + }; + // Node.js without promises + } else if (IS_NODE) { + notify = function () { + process.nextTick(flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessage + // - onreadystatechange + // - setTimeout + } else { + // `webpack` dev server bug on IE global methods - use bind(fn, global) + macrotask = bind(macrotask, globalThis); + notify = function () { + macrotask(flush); + }; + } + + microtask = function (fn) { + if (!queue.head) notify(); + queue.add(fn); + }; +} + +module.exports = microtask; + + +/***/ }), +/* 364 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DESCRIPTORS = __webpack_require__(6); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Avoid NodeJS experimental warning +module.exports = function (name) { + if (!DESCRIPTORS) return globalThis[name]; + var descriptor = getOwnPropertyDescriptor(globalThis, name); + return descriptor && descriptor.value; +}; + + +/***/ }), +/* 365 */ +/***/ (function(module) { + + +var Queue = function () { + this.head = null; + this.tail = null; +}; + +Queue.prototype = { + add: function (item) { + var entry = { item: item, next: null }; + var tail = this.tail; + if (tail) tail.next = entry; + else this.head = entry; + this.tail = entry; + }, + get: function () { + var entry = this.head; + if (entry) { + var next = this.head = entry.next; + if (next === null) this.tail = null; + return entry.item; + } + } +}; + +module.exports = Queue; + + +/***/ }), +/* 366 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +module.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined'; + + +/***/ }), +/* 367 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +module.exports = /web0s(?!.*chrome)/i.test(userAgent); + + +/***/ }), +/* 368 */ +/***/ (function(module) { + + +module.exports = function (a, b) { + try { + // eslint-disable-next-line no-console -- safe + arguments.length === 1 ? console.error(a) : console.error(a, b); + } catch (error) { /* empty */ } +}; + + +/***/ }), +/* 369 */ +/***/ (function(module) { + + +module.exports = function (exec) { + try { + return { error: false, value: exec() }; + } catch (error) { + return { error: true, value: error }; + } +}; + + +/***/ }), +/* 370 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = globalThis.Promise; + + +/***/ }), +/* 371 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var NativePromiseConstructor = __webpack_require__(370); +var isCallable = __webpack_require__(21); +var isForced = __webpack_require__(67); +var inspectSource = __webpack_require__(50); +var wellKnownSymbol = __webpack_require__(33); +var ENVIRONMENT = __webpack_require__(183); +var IS_PURE = __webpack_require__(36); +var V8_VERSION = __webpack_require__(27); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var SPECIES = wellKnownSymbol('species'); +var SUBCLASSING = false; +var NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent); + +var FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () { + var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor); + var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor); + // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // We can't detect it synchronously, so just check versions + if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true; + // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution + if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true; + // We can't use @@species feature detection in V8 since it causes + // deoptimization and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) { + // Detect correctness of subclassing with @@species support + var promise = new NativePromiseConstructor(function (resolve) { resolve(1); }); + var FakePromise = function (exec) { + exec(function () { /* empty */ }, function () { /* empty */ }); + }; + var constructor = promise.constructor = {}; + constructor[SPECIES] = FakePromise; + SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; + if (!SUBCLASSING) return true; + // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test + } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT; +}); + +module.exports = { + CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR, + REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT, + SUBCLASSING: SUBCLASSING +}; + + +/***/ }), +/* 372 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); + +var $TypeError = TypeError; + +var PromiseCapability = function (C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aCallable(resolve); + this.reject = aCallable(reject); +}; + +// `NewPromiseCapability` abstract operation +// https://tc39.es/ecma262/#sec-newpromisecapability +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + + +/***/ }), +/* 373 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.all` method +// https://tc39.es/ecma262/#sec-promise.all +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + all: function all(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call($promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 374 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NativePromiseConstructor = __webpack_require__(370); +var checkCorrectnessOfIteration = __webpack_require__(164); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); + +module.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) { + NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ }); +}); + + +/***/ }), +/* 375 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); +var NativePromiseConstructor = __webpack_require__(370); +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var defineBuiltIn = __webpack_require__(47); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; + +// `Promise.prototype.catch` method +// https://tc39.es/ecma262/#sec-promise.prototype.catch +$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, { + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } +}); + +// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['catch']; + if (NativePromisePrototype['catch'] !== method) { + defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true }); + } +} + + +/***/ }), +/* 376 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.race` method +// https://tc39.es/ecma262/#sec-promise.race +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + race: function race(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + iterate(iterable, function (promise) { + call($promiseResolve, C, promise).then(capability.resolve, reject); + }); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 377 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var newPromiseCapabilityModule = __webpack_require__(372); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); + +// `Promise.reject` method +// https://tc39.es/ecma262/#sec-promise.reject +$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + reject: function reject(r) { + var capability = newPromiseCapabilityModule.f(this); + var capabilityReject = capability.reject; + capabilityReject(r); + return capability.promise; + } +}); + + +/***/ }), +/* 378 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var IS_PURE = __webpack_require__(36); +var NativePromiseConstructor = __webpack_require__(370); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); +var promiseResolve = __webpack_require__(379); + +var PromiseConstructorWrapper = getBuiltIn('Promise'); +var CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR; + +// `Promise.resolve` method +// https://tc39.es/ecma262/#sec-promise.resolve +$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, { + resolve: function resolve(x) { + return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x); + } +}); + + +/***/ }), +/* 379 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var newPromiseCapability = __webpack_require__(372); + +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + + +/***/ }), +/* 380 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.allSettled` method +// https://tc39.es/ecma262/#sec-promise.allsettled +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + allSettled: function allSettled(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'fulfilled', value: value }; + --remaining || resolve(values); + }, function (error) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'rejected', reason: error }; + --remaining || resolve(values); + }); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 381 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var getBuiltIn = __webpack_require__(23); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +var PROMISE_ANY_ERROR = 'No one promise resolved'; + +// `Promise.any` method +// https://tc39.es/ecma262/#sec-promise.any +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + any: function any(iterable) { + var C = this; + var AggregateError = getBuiltIn('AggregateError'); + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var errors = []; + var counter = 0; + var remaining = 1; + var alreadyResolved = false; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyRejected = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyRejected || alreadyResolved) return; + alreadyResolved = true; + resolve(value); + }, function (error) { + if (alreadyRejected || alreadyResolved) return; + alreadyRejected = true; + errors[index] = error; + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + }); + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 382 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var NativePromiseConstructor = __webpack_require__(370); +var fails = __webpack_require__(7); +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var speciesConstructor = __webpack_require__(358); +var promiseResolve = __webpack_require__(379); +var defineBuiltIn = __webpack_require__(47); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; + +// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829 +var NON_GENERIC = !!NativePromiseConstructor && fails(function () { + // eslint-disable-next-line unicorn/no-thenable -- required for testing + NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ }); +}); + +// `Promise.prototype.finally` method +// https://tc39.es/ecma262/#sec-promise.prototype.finally +$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, { + 'finally': function (onFinally) { + var C = speciesConstructor(this, getBuiltIn('Promise')); + var isFunction = isCallable(onFinally); + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); + } +}); + +// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then` +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['finally']; + if (NativePromisePrototype['finally'] !== method) { + defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true }); + } +} + + +/***/ }), +/* 383 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var slice = __webpack_require__(76); +var newPromiseCapabilityModule = __webpack_require__(372); +var aCallable = __webpack_require__(30); +var perform = __webpack_require__(369); + +var Promise = globalThis.Promise; + +var ACCEPT_ARGUMENTS = false; +// Avoiding the use of polyfills of the previous iteration of this proposal +// that does not accept arguments of the callback +var FORCED = !Promise || !Promise['try'] || perform(function () { + Promise['try'](function (argument) { + ACCEPT_ARGUMENTS = argument === 8; + }, 8); +}).error || !ACCEPT_ARGUMENTS; + +// `Promise.try` method +// https://tc39.es/ecma262/#sec-promise.try +$({ target: 'Promise', stat: true, forced: FORCED }, { + 'try': function (callbackfn /* , ...args */) { + var args = arguments.length > 1 ? slice(arguments, 1) : []; + var promiseCapability = newPromiseCapabilityModule.f(this); + var result = perform(function () { + return apply(aCallable(callbackfn), undefined, args); + }); + (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value); + return promiseCapability.promise; + } +}); + + +/***/ }), +/* 384 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var newPromiseCapabilityModule = __webpack_require__(372); + +// `Promise.withResolvers` method +// https://tc39.es/ecma262/#sec-promise.withResolvers +$({ target: 'Promise', stat: true }, { + withResolvers: function withResolvers() { + var promiseCapability = newPromiseCapabilityModule.f(this); + return { + promise: promiseCapability.promise, + resolve: promiseCapability.resolve, + reject: promiseCapability.reject + }; + } +}); + + +/***/ }), +/* 385 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var functionApply = __webpack_require__(94); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var fails = __webpack_require__(7); + +// MS Edge argumentsList argument is optional +var OPTIONAL_ARGUMENTS_LIST = !fails(function () { + // eslint-disable-next-line es/no-reflect -- required for testing + Reflect.apply(function () { /* empty */ }); +}); + +// `Reflect.apply` method +// https://tc39.es/ecma262/#sec-reflect.apply +$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, { + apply: function apply(target, thisArgument, argumentsList) { + return functionApply(aCallable(target), thisArgument, anObject(argumentsList)); + } +}); + + +/***/ }), +/* 386 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var bind = __webpack_require__(246); +var aConstructor = __webpack_require__(359); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var create = __webpack_require__(71); +var fails = __webpack_require__(7); + +var nativeConstruct = getBuiltIn('Reflect', 'construct'); +var ObjectPrototype = Object.prototype; +var push = [].push; + +// `Reflect.construct` method +// https://tc39.es/ecma262/#sec-reflect.construct +// MS Edge supports only 2 arguments and argumentsList argument is optional +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F); +}); + +var ARGS_BUG = !fails(function () { + nativeConstruct(function () { /* empty */ }); +}); + +var FORCED = NEW_TARGET_BUG || ARGS_BUG; + +$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, { + construct: function construct(Target, args /* , newTarget */) { + aConstructor(Target); + anObject(args); + var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]); + if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget); + if (Target === newTarget) { + // w/o altered newTarget, optimization for 0-4 arguments + switch (args.length) { + case 0: return new Target(); + case 1: return new Target(args[0]); + case 2: return new Target(args[0], args[1]); + case 3: return new Target(args[0], args[1], args[2]); + case 4: return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + apply(push, $args, args); + return new (apply(bind, Target, $args))(); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : ObjectPrototype); + var result = apply(Target, instance, args); + return isObject(result) ? result : instance; + } +}); + + +/***/ }), +/* 387 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var anObject = __webpack_require__(46); +var toPropertyKey = __webpack_require__(18); +var definePropertyModule = __webpack_require__(44); +var fails = __webpack_require__(7); + +// MS Edge has broken Reflect.defineProperty - throwing instead of returning false +var ERROR_INSTEAD_OF_FALSE = fails(function () { + // eslint-disable-next-line es/no-reflect -- required for testing + Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 }); +}); + +// `Reflect.defineProperty` method +// https://tc39.es/ecma262/#sec-reflect.defineproperty +$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, { + defineProperty: function defineProperty(target, propertyKey, attributes) { + anObject(target); + var key = toPropertyKey(propertyKey); + anObject(attributes); + try { + definePropertyModule.f(target, key, attributes); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 388 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Reflect.deleteProperty` method +// https://tc39.es/ecma262/#sec-reflect.deleteproperty +$({ target: 'Reflect', stat: true }, { + deleteProperty: function deleteProperty(target, propertyKey) { + var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey); + return descriptor && !descriptor.configurable ? false : delete target[propertyKey]; + } +}); + + +/***/ }), +/* 389 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var isObject = __webpack_require__(20); +var anObject = __webpack_require__(46); +var isDataDescriptor = __webpack_require__(390); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var getPrototypeOf = __webpack_require__(128); + +// `Reflect.get` method +// https://tc39.es/ecma262/#sec-reflect.get +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var descriptor, prototype; + if (anObject(target) === receiver) return target[propertyKey]; + descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey); + if (descriptor) return isDataDescriptor(descriptor) + ? descriptor.value + : descriptor.get === undefined ? undefined : call(descriptor.get, receiver); + if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver); +} + +$({ target: 'Reflect', stat: true }, { + get: get +}); + + +/***/ }), +/* 390 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); + +module.exports = function (descriptor) { + return descriptor !== undefined && (hasOwn(descriptor, 'value') || hasOwn(descriptor, 'writable')); +}; + + +/***/ }), +/* 391 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var anObject = __webpack_require__(46); +var getOwnPropertyDescriptorModule = __webpack_require__(5); + +// `Reflect.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-reflect.getownpropertydescriptor +$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { + return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + } +}); + + +/***/ }), +/* 392 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var objectGetPrototypeOf = __webpack_require__(128); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +// `Reflect.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-reflect.getprototypeof +$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(target) { + return objectGetPrototypeOf(anObject(target)); + } +}); + + +/***/ }), +/* 393 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Reflect.has` method +// https://tc39.es/ecma262/#sec-reflect.has +$({ target: 'Reflect', stat: true }, { + has: function has(target, propertyKey) { + return propertyKey in target; + } +}); + + +/***/ }), +/* 394 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var $isExtensible = __webpack_require__(274); + +// `Reflect.isExtensible` method +// https://tc39.es/ecma262/#sec-reflect.isextensible +$({ target: 'Reflect', stat: true }, { + isExtensible: function isExtensible(target) { + anObject(target); + return $isExtensible(target); + } +}); + + +/***/ }), +/* 395 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ownKeys = __webpack_require__(56); + +// `Reflect.ownKeys` method +// https://tc39.es/ecma262/#sec-reflect.ownkeys +$({ target: 'Reflect', stat: true }, { + ownKeys: ownKeys +}); + + +/***/ }), +/* 396 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var anObject = __webpack_require__(46); +var FREEZING = __webpack_require__(276); + +// `Reflect.preventExtensions` method +// https://tc39.es/ecma262/#sec-reflect.preventextensions +$({ target: 'Reflect', stat: true, sham: !FREEZING }, { + preventExtensions: function preventExtensions(target) { + anObject(target); + try { + var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions'); + if (objectPreventExtensions) objectPreventExtensions(target); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 397 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var isDataDescriptor = __webpack_require__(390); +var fails = __webpack_require__(7); +var definePropertyModule = __webpack_require__(44); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var getPrototypeOf = __webpack_require__(128); +var createPropertyDescriptor = __webpack_require__(11); + +// `Reflect.set` method +// https://tc39.es/ecma262/#sec-reflect.set +function set(target, propertyKey, V /* , receiver */) { + var receiver = arguments.length < 4 ? target : arguments[3]; + var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + var existingDescriptor, prototype, setter; + if (!ownDescriptor) { + if (isObject(prototype = getPrototypeOf(target))) { + return set(prototype, propertyKey, V, receiver); + } + ownDescriptor = createPropertyDescriptor(0); + } + if (isDataDescriptor(ownDescriptor)) { + if (ownDescriptor.writable === false || !isObject(receiver)) return false; + if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) { + if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; + existingDescriptor.value = V; + definePropertyModule.f(receiver, propertyKey, existingDescriptor); + } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V)); + } else { + setter = ownDescriptor.set; + if (setter === undefined) return false; + call(setter, receiver, V); + } return true; +} + +// MS Edge 17-18 Reflect.set allows setting the property to object +// with non-writable property on the prototype +var MS_EDGE_BUG = fails(function () { + var Constructor = function () { /* empty */ }; + var object = definePropertyModule.f(new Constructor(), 'a', { configurable: true }); + // eslint-disable-next-line es/no-reflect -- required for testing + return Reflect.set(Constructor.prototype, 'a', 1, object) !== false; +}); + +$({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, { + set: set +}); + + +/***/ }), +/* 398 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var aPossiblePrototype = __webpack_require__(115); +var objectSetPrototypeOf = __webpack_require__(113); + +// `Reflect.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-reflect.setprototypeof +if (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, { + setPrototypeOf: function setPrototypeOf(target, proto) { + anObject(target); + aPossiblePrototype(proto); + try { + objectSetPrototypeOf(target, proto); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 399 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var setToStringTag = __webpack_require__(82); + +$({ global: true }, { Reflect: {} }); + +// Reflect[@@toStringTag] property +// https://tc39.es/ecma262/#sec-reflect-@@tostringtag +setToStringTag(globalThis.Reflect, 'Reflect', true); + + +/***/ }), +/* 400 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var inheritIfRequired = __webpack_require__(118); +var createNonEnumerableProperty = __webpack_require__(43); +var create = __webpack_require__(71); +var getOwnPropertyNames = (__webpack_require__(57).f); +var isPrototypeOf = __webpack_require__(24); +var isRegExp = __webpack_require__(401); +var toString = __webpack_require__(68); +var getRegExpFlags = __webpack_require__(402); +var stickyHelpers = __webpack_require__(404); +var proxyAccessor = __webpack_require__(117); +var defineBuiltIn = __webpack_require__(47); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var enforceInternalState = (__webpack_require__(51).enforce); +var setSpecies = __webpack_require__(194); +var wellKnownSymbol = __webpack_require__(33); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var UNSUPPORTED_NCG = __webpack_require__(406); + +var MATCH = wellKnownSymbol('match'); +var NativeRegExp = globalThis.RegExp; +var RegExpPrototype = NativeRegExp.prototype; +var SyntaxError = globalThis.SyntaxError; +var exec = uncurryThis(RegExpPrototype.exec); +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var stringIndexOf = uncurryThis(''.indexOf); +var stringSlice = uncurryThis(''.slice); +// TODO: Use only proper RegExpIdentifierName +var IS_NCG = /^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/; +var re1 = /a/g; +var re2 = /a/g; + +// "new" should create a new object, old webkit bug +var CORRECT_NEW = new NativeRegExp(re1) !== re1; + +var MISSED_STICKY = stickyHelpers.MISSED_STICKY; +var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; + +var BASE_FORCED = DESCRIPTORS && + (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () { + re2[MATCH] = false; + // RegExp constructor can alter flags and IsRegExp works correct with @@match + // eslint-disable-next-line sonarjs/inconsistent-function-call -- required for testing + return NativeRegExp(re1) !== re1 || NativeRegExp(re2) === re2 || String(NativeRegExp(re1, 'i')) !== '/a/i'; + })); + +var handleDotAll = function (string) { + var length = string.length; + var index = 0; + var result = ''; + var brackets = false; + var chr; + for (; index <= length; index++) { + chr = charAt(string, index); + if (chr === '\\') { + result += chr + charAt(string, ++index); + continue; + } + if (!brackets && chr === '.') { + result += '[\\s\\S]'; + } else { + if (chr === '[') { + brackets = true; + } else if (chr === ']') { + brackets = false; + } result += chr; + } + } return result; +}; + +var handleNCG = function (string) { + var length = string.length; + var index = 0; + var result = ''; + var named = []; + var names = create(null); + var brackets = false; + var ncg = false; + var groupid = 0; + var groupname = ''; + var chr; + for (; index <= length; index++) { + chr = charAt(string, index); + if (chr === '\\') { + chr += charAt(string, ++index); + } else if (chr === ']') { + brackets = false; + } else if (!brackets) switch (true) { + case chr === '[': + brackets = true; + break; + case chr === '(': + result += chr; + // ignore non-capturing groups + if (stringSlice(string, index + 1, index + 3) === '?:') { + continue; + } + if (exec(IS_NCG, stringSlice(string, index + 1))) { + index += 2; + ncg = true; + } + groupid++; + continue; + case chr === '>' && ncg: + if (groupname === '' || hasOwn(names, groupname)) { + throw new SyntaxError('Invalid capture group name'); + } + names[groupname] = true; + named[named.length] = [groupname, groupid]; + ncg = false; + groupname = ''; + continue; + } + if (ncg) groupname += chr; + else result += chr; + } return [result, named]; +}; + +// `RegExp` constructor +// https://tc39.es/ecma262/#sec-regexp-constructor +if (isForced('RegExp', BASE_FORCED)) { + var RegExpWrapper = function RegExp(pattern, flags) { + var thisIsRegExp = isPrototypeOf(RegExpPrototype, this); + var patternIsRegExp = isRegExp(pattern); + var flagsAreUndefined = flags === undefined; + var groups = []; + var rawPattern = pattern; + var rawFlags, dotAll, sticky, handled, result, state; + + if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) { + return pattern; + } + + if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) { + pattern = pattern.source; + if (flagsAreUndefined) flags = getRegExpFlags(rawPattern); + } + + pattern = pattern === undefined ? '' : toString(pattern); + flags = flags === undefined ? '' : toString(flags); + rawPattern = pattern; + + if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) { + dotAll = !!flags && stringIndexOf(flags, 's') > -1; + if (dotAll) flags = replace(flags, /s/g, ''); + } + + rawFlags = flags; + + if (MISSED_STICKY && 'sticky' in re1) { + sticky = !!flags && stringIndexOf(flags, 'y') > -1; + if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, ''); + } + + if (UNSUPPORTED_NCG) { + handled = handleNCG(pattern); + pattern = handled[0]; + groups = handled[1]; + } + + result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper); + + if (dotAll || sticky || groups.length) { + state = enforceInternalState(result); + if (dotAll) { + state.dotAll = true; + state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags); + } + if (sticky) state.sticky = true; + if (groups.length) state.groups = groups; + } + + if (pattern !== rawPattern) try { + // fails in old engines, but we have no alternatives for unsupported regex syntax + createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern); + } catch (error) { /* empty */ } + + return result; + }; + + for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) { + proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]); + } + + RegExpPrototype.constructor = RegExpWrapper; + RegExpWrapper.prototype = RegExpPrototype; + defineBuiltIn(globalThis, 'RegExp', RegExpWrapper, { constructor: true }); +} + +// https://tc39.es/ecma262/#sec-get-regexp-@@species +setSpecies('RegExp'); + + +/***/ }), +/* 401 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var wellKnownSymbol = __webpack_require__(33); + +var MATCH = wellKnownSymbol('match'); + +// `IsRegExp` abstract operation +// https://tc39.es/ecma262/#sec-isregexp +module.exports = function (it) { + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp'); +}; + + +/***/ }), +/* 402 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var hasOwn = __webpack_require__(38); +var isPrototypeOf = __webpack_require__(24); +var regExpFlags = __webpack_require__(403); + +var RegExpPrototype = RegExp.prototype; + +module.exports = function (R) { + var flags = R.flags; + return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R) + ? call(regExpFlags, R) : flags; +}; + + +/***/ }), +/* 403 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); + +// `RegExp.prototype.flags` getter implementation +// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.hasIndices) result += 'd'; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.dotAll) result += 's'; + if (that.unicode) result += 'u'; + if (that.unicodeSets) result += 'v'; + if (that.sticky) result += 'y'; + return result; +}; + + +/***/ }), +/* 404 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +var UNSUPPORTED_Y = fails(function () { + var re = $RegExp('a', 'y'); + re.lastIndex = 2; + return re.exec('abcd') !== null; +}); + +// UC Browser bug +// https://github.com/zloirock/core-js/issues/1008 +var MISSED_STICKY = UNSUPPORTED_Y || fails(function () { + return !$RegExp('a', 'y').sticky; +}); + +var BROKEN_CARET = UNSUPPORTED_Y || fails(function () { + // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 + var re = $RegExp('^r', 'gy'); + re.lastIndex = 2; + return re.exec('str') !== null; +}); + +module.exports = { + BROKEN_CARET: BROKEN_CARET, + MISSED_STICKY: MISSED_STICKY, + UNSUPPORTED_Y: UNSUPPORTED_Y +}; + + +/***/ }), +/* 405 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +module.exports = fails(function () { + var re = $RegExp('.', 's'); + return !(re.dotAll && re.test('\n') && re.flags === 's'); +}); + + +/***/ }), +/* 406 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +module.exports = fails(function () { + var re = $RegExp('(?<a>b)', 'g'); + return re.exec('b').groups.a !== 'b' || + 'b'.replace(re, '$<a>c') !== 'bc'; +}); + + +/***/ }), +/* 407 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var classof = __webpack_require__(15); +var defineBuiltInAccessor = __webpack_require__(77); +var getInternalState = (__webpack_require__(51).get); + +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; + +// `RegExp.prototype.dotAll` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall +if (DESCRIPTORS && UNSUPPORTED_DOT_ALL) { + defineBuiltInAccessor(RegExpPrototype, 'dotAll', { + configurable: true, + get: function dotAll() { + if (this === RegExpPrototype) return; + // We can't use InternalStateModule.getterFor because + // we don't add metadata for regexps created by a literal. + if (classof(this) === 'RegExp') { + return !!getInternalState(this).dotAll; + } + throw new $TypeError('Incompatible receiver, RegExp required'); + } + }); +} + + +/***/ }), +/* 408 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var exec = __webpack_require__(409); + +// `RegExp.prototype.exec` method +// https://tc39.es/ecma262/#sec-regexp.prototype.exec +$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { + exec: exec +}); + + +/***/ }), +/* 409 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */ +/* eslint-disable regexp/no-useless-quantifier -- testing */ +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var regexpFlags = __webpack_require__(403); +var stickyHelpers = __webpack_require__(404); +var shared = __webpack_require__(34); +var create = __webpack_require__(71); +var getInternalState = (__webpack_require__(51).get); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var UNSUPPORTED_NCG = __webpack_require__(406); + +var nativeReplace = shared('native-string-replace', String.prototype.replace); +var nativeExec = RegExp.prototype.exec; +var patchedExec = nativeExec; +var charAt = uncurryThis(''.charAt); +var indexOf = uncurryThis(''.indexOf); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); + +var UPDATES_LAST_INDEX_WRONG = (function () { + var re1 = /a/; + var re2 = /b*/g; + call(nativeExec, re1, 'a'); + call(nativeExec, re2, 'a'); + return re1.lastIndex !== 0 || re2.lastIndex !== 0; +})(); + +var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET; + +// nonparticipating capturing group, copied from es5-shim's String#split patch. +var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; + +var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG; + +if (PATCH) { + patchedExec = function exec(string) { + var re = this; + var state = getInternalState(re); + var str = toString(string); + var raw = state.raw; + var result, reCopy, lastIndex, match, i, object, group; + + if (raw) { + raw.lastIndex = re.lastIndex; + result = call(patchedExec, raw, str); + re.lastIndex = raw.lastIndex; + return result; + } + + var groups = state.groups; + var sticky = UNSUPPORTED_Y && re.sticky; + var flags = call(regexpFlags, re); + var source = re.source; + var charsAdded = 0; + var strCopy = str; + + if (sticky) { + flags = replace(flags, 'y', ''); + if (indexOf(flags, 'g') === -1) { + flags += 'g'; + } + + strCopy = stringSlice(str, re.lastIndex); + // Support anchored sticky behavior. + if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\n')) { + source = '(?: ' + source + ')'; + strCopy = ' ' + strCopy; + charsAdded++; + } + // ^(? + rx + ) is needed, in combination with some str slicing, to + // simulate the 'y' flag. + reCopy = new RegExp('^(?:' + source + ')', flags); + } + + if (NPCG_INCLUDED) { + reCopy = new RegExp('^' + source + '$(?!\\s)', flags); + } + if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; + + match = call(nativeExec, sticky ? reCopy : re, strCopy); + + if (sticky) { + if (match) { + match.input = stringSlice(match.input, charsAdded); + match[0] = stringSlice(match[0], charsAdded); + match.index = re.lastIndex; + re.lastIndex += match[0].length; + } else re.lastIndex = 0; + } else if (UPDATES_LAST_INDEX_WRONG && match) { + re.lastIndex = re.global ? match.index + match[0].length : lastIndex; + } + if (NPCG_INCLUDED && match && match.length > 1) { + // Fix browsers whose `exec` methods don't consistently return `undefined` + // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/ + call(nativeReplace, match[0], reCopy, function () { + for (i = 1; i < arguments.length - 2; i++) { + if (arguments[i] === undefined) match[i] = undefined; + } + }); + } + + if (match && groups) { + match.groups = object = create(null); + for (i = 0; i < groups.length; i++) { + group = groups[i]; + object[group[0]] = match[group[1]]; + } + } + + return match; + }; +} + +module.exports = patchedExec; + + +/***/ }), +/* 410 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var regExpFlags = __webpack_require__(403); +var fails = __webpack_require__(7); + +// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError +var RegExp = globalThis.RegExp; +var RegExpPrototype = RegExp.prototype; + +var FORCED = DESCRIPTORS && fails(function () { + var INDICES_SUPPORT = true; + try { + RegExp('.', 'd'); + } catch (error) { + INDICES_SUPPORT = false; + } + + var O = {}; + // modern V8 bug + var calls = ''; + var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy'; + + var addGetter = function (key, chr) { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty(O, key, { get: function () { + calls += chr; + return true; + } }); + }; + + var pairs = { + dotAll: 's', + global: 'g', + ignoreCase: 'i', + multiline: 'm', + sticky: 'y' + }; + + if (INDICES_SUPPORT) pairs.hasIndices = 'd'; + + for (var key in pairs) addGetter(key, pairs[key]); + + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var result = Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call(O); + + return result !== expected || calls !== expected; +}); + +// `RegExp.prototype.flags` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags +if (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', { + configurable: true, + get: regExpFlags +}); + + +/***/ }), +/* 411 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var MISSED_STICKY = (__webpack_require__(404).MISSED_STICKY); +var classof = __webpack_require__(15); +var defineBuiltInAccessor = __webpack_require__(77); +var getInternalState = (__webpack_require__(51).get); + +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; + +// `RegExp.prototype.sticky` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky +if (DESCRIPTORS && MISSED_STICKY) { + defineBuiltInAccessor(RegExpPrototype, 'sticky', { + configurable: true, + get: function sticky() { + if (this === RegExpPrototype) return; + // We can't use InternalStateModule.getterFor because + // we don't add metadata for regexps created by a literal. + if (classof(this) === 'RegExp') { + return !!getInternalState(this).sticky; + } + throw new $TypeError('Incompatible receiver, RegExp required'); + } + }); +} + + +/***/ }), +/* 412 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` since it's moved to entry points +__webpack_require__(408); +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var anObject = __webpack_require__(46); +var toString = __webpack_require__(68); + +var DELEGATES_TO_EXEC = function () { + var execCalled = false; + var re = /[ac]/; + re.exec = function () { + execCalled = true; + return /./.exec.apply(this, arguments); + }; + return re.test('abc') === true && execCalled; +}(); + +var nativeTest = /./.test; + +// `RegExp.prototype.test` method +// https://tc39.es/ecma262/#sec-regexp.prototype.test +$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, { + test: function (S) { + var R = anObject(this); + var string = toString(S); + var exec = R.exec; + if (!isCallable(exec)) return call(nativeTest, R, string); + var result = call(exec, R, string); + if (result === null) return false; + anObject(result); + return true; + } +}); + + +/***/ }), +/* 413 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var PROPER_FUNCTION_NAME = (__webpack_require__(49).PROPER); +var defineBuiltIn = __webpack_require__(47); +var anObject = __webpack_require__(46); +var $toString = __webpack_require__(68); +var fails = __webpack_require__(7); +var getRegExpFlags = __webpack_require__(402); + +var TO_STRING = 'toString'; +var RegExpPrototype = RegExp.prototype; +var nativeToString = RegExpPrototype[TO_STRING]; + +var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; }); +// FF44- RegExp#toString has a wrong name +var INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING; + +// `RegExp.prototype.toString` method +// https://tc39.es/ecma262/#sec-regexp.prototype.tostring +if (NOT_GENERIC || INCORRECT_NAME) { + defineBuiltIn(RegExpPrototype, TO_STRING, function toString() { + var R = anObject(this); + var pattern = $toString(R.source); + var flags = $toString(getRegExpFlags(R)); + return '/' + pattern + '/' + flags; + }, { unsafe: true }); +} + + +/***/ }), +/* 414 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(415); + + +/***/ }), +/* 415 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionStrong = __webpack_require__(277); + +// `Set` constructor +// https://tc39.es/ecma262/#sec-set-objects +collection('Set', function (init) { + return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + + +/***/ }), +/* 416 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var difference = __webpack_require__(417); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.difference` method +// https://tc39.es/ecma262/#sec-set.prototype.difference +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, { + difference: difference +}); + + +/***/ }), +/* 417 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var clone = __webpack_require__(420); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); + +var has = SetHelpers.has; +var remove = SetHelpers.remove; + +// `Set.prototype.difference` method +// https://github.com/tc39/proposal-set-methods +module.exports = function difference(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = clone(O); + if (size(O) <= otherRec.size) iterateSet(O, function (e) { + if (otherRec.includes(e)) remove(result, e); + }); + else iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) remove(result, e); + }); + return result; +}; + + +/***/ }), +/* 418 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var has = (__webpack_require__(419).has); + +// Perform ? RequireInternalSlot(M, [[SetData]]) +module.exports = function (it) { + has(it); + return it; +}; + + +/***/ }), +/* 419 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// eslint-disable-next-line es/no-set -- safe +var SetPrototype = Set.prototype; + +module.exports = { + // eslint-disable-next-line es/no-set -- safe + Set: Set, + add: uncurryThis(SetPrototype.add), + has: uncurryThis(SetPrototype.has), + remove: uncurryThis(SetPrototype['delete']), + proto: SetPrototype +}; + + +/***/ }), +/* 420 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var SetHelpers = __webpack_require__(419); +var iterate = __webpack_require__(421); + +var Set = SetHelpers.Set; +var add = SetHelpers.add; + +module.exports = function (set) { + var result = new Set(); + iterate(set, function (it) { + add(result, it); + }); + return result; +}; + + +/***/ }), +/* 421 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var iterateSimple = __webpack_require__(422); +var SetHelpers = __webpack_require__(419); + +var Set = SetHelpers.Set; +var SetPrototype = SetHelpers.proto; +var forEach = uncurryThis(SetPrototype.forEach); +var keys = uncurryThis(SetPrototype.keys); +var next = keys(new Set()).next; + +module.exports = function (set, fn, interruptible) { + return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn); +}; + + +/***/ }), +/* 422 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); + +module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) { + var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator; + var next = record.next; + var step, result; + while (!(step = call(next, iterator)).done) { + result = fn(step.value); + if (result !== undefined) return result; + } +}; + + +/***/ }), +/* 423 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThisAccessor = __webpack_require__(114); +var SetHelpers = __webpack_require__(419); + +module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) { + return set.size; +}; + + +/***/ }), +/* 424 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var call = __webpack_require__(8); +var toIntegerOrInfinity = __webpack_require__(61); +var getIteratorDirect = __webpack_require__(252); + +var INVALID_SIZE = 'Invalid size'; +var $RangeError = RangeError; +var $TypeError = TypeError; +var max = Math.max; + +var SetRecord = function (set, intSize) { + this.set = set; + this.size = max(intSize, 0); + this.has = aCallable(set.has); + this.keys = aCallable(set.keys); +}; + +SetRecord.prototype = { + getIterator: function () { + return getIteratorDirect(anObject(call(this.keys, this.set))); + }, + includes: function (it) { + return call(this.has, this.set, it); + } +}; + +// `GetSetRecord` abstract operation +// https://tc39.es/proposal-set-methods/#sec-getsetrecord +module.exports = function (obj) { + anObject(obj); + var numSize = +obj.size; + // NOTE: If size is undefined, then numSize will be NaN + // eslint-disable-next-line no-self-compare -- NaN check + if (numSize !== numSize) throw new $TypeError(INVALID_SIZE); + var intSize = toIntegerOrInfinity(numSize); + if (intSize < 0) throw new $RangeError(INVALID_SIZE); + return new SetRecord(obj, intSize); +}; + + +/***/ }), +/* 425 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); + +var createSetLike = function (size) { + return { + size: size, + has: function () { + return false; + }, + keys: function () { + return { + next: function () { + return { done: true }; + } + }; + } + }; +}; + +module.exports = function (name) { + var Set = getBuiltIn('Set'); + try { + new Set()[name](createSetLike(0)); + try { + // late spec change, early WebKit ~ Safari 17.0 beta implementation does not pass it + // https://github.com/tc39/proposal-set-methods/pull/88 + new Set()[name](createSetLike(-1)); + return false; + } catch (error2) { + return true; + } + } catch (error) { + return false; + } +}; + + +/***/ }), +/* 426 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var intersection = __webpack_require__(427); +var setMethodAcceptSetLike = __webpack_require__(425); + +var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () { + // eslint-disable-next-line es/no-array-from, es/no-set -- testing + return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2'; +}); + +// `Set.prototype.intersection` method +// https://tc39.es/ecma262/#sec-set.prototype.intersection +$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, { + intersection: intersection +}); + + +/***/ }), +/* 427 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); + +var Set = SetHelpers.Set; +var add = SetHelpers.add; +var has = SetHelpers.has; + +// `Set.prototype.intersection` method +// https://github.com/tc39/proposal-set-methods +module.exports = function intersection(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = new Set(); + + if (size(O) > otherRec.size) { + iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) add(result, e); + }); + } else { + iterateSet(O, function (e) { + if (otherRec.includes(e)) add(result, e); + }); + } + + return result; +}; + + +/***/ }), +/* 428 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isDisjointFrom = __webpack_require__(429); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isDisjointFrom` method +// https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, { + isDisjointFrom: isDisjointFrom +}); + + +/***/ }), +/* 429 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var has = (__webpack_require__(419).has); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); +var iteratorClose = __webpack_require__(135); + +// `Set.prototype.isDisjointFrom` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom +module.exports = function isDisjointFrom(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) <= otherRec.size) return iterateSet(O, function (e) { + if (otherRec.includes(e)) return false; + }, true) !== false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (has(O, e)) return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + + +/***/ }), +/* 430 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isSubsetOf = __webpack_require__(431); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isSubsetOf` method +// https://tc39.es/ecma262/#sec-set.prototype.issubsetof +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, { + isSubsetOf: isSubsetOf +}); + + +/***/ }), +/* 431 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var size = __webpack_require__(423); +var iterate = __webpack_require__(421); +var getSetRecord = __webpack_require__(424); + +// `Set.prototype.isSubsetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf +module.exports = function isSubsetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) > otherRec.size) return false; + return iterate(O, function (e) { + if (!otherRec.includes(e)) return false; + }, true) !== false; +}; + + +/***/ }), +/* 432 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isSupersetOf = __webpack_require__(433); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isSupersetOf` method +// https://tc39.es/ecma262/#sec-set.prototype.issupersetof +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, { + isSupersetOf: isSupersetOf +}); + + +/***/ }), +/* 433 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var has = (__webpack_require__(419).has); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); +var iteratorClose = __webpack_require__(135); + +// `Set.prototype.isSupersetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf +module.exports = function isSupersetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) < otherRec.size) return false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (!has(O, e)) return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + + +/***/ }), +/* 434 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var symmetricDifference = __webpack_require__(435); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.symmetricDifference` method +// https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, { + symmetricDifference: symmetricDifference +}); + + +/***/ }), +/* 435 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var clone = __webpack_require__(420); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); + +var add = SetHelpers.add; +var has = SetHelpers.has; +var remove = SetHelpers.remove; + +// `Set.prototype.symmetricDifference` method +// https://github.com/tc39/proposal-set-methods +module.exports = function symmetricDifference(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (e) { + if (has(O, e)) remove(result, e); + else add(result, e); + }); + return result; +}; + + +/***/ }), +/* 436 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var union = __webpack_require__(437); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.union` method +// https://tc39.es/ecma262/#sec-set.prototype.union +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, { + union: union +}); + + +/***/ }), +/* 437 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var add = (__webpack_require__(419).add); +var clone = __webpack_require__(420); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); + +// `Set.prototype.union` method +// https://github.com/tc39/proposal-set-methods +module.exports = function union(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (it) { + add(result, it); + }); + return result; +}; + + +/***/ }), +/* 438 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); + +var charAt = uncurryThis(''.charAt); + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-string-prototype-at -- safe + return '𠮷'.at(-2) !== '\uD842'; +}); + +// `String.prototype.at` method +// https://tc39.es/ecma262/#sec-string.prototype.at +$({ target: 'String', proto: true, forced: FORCED }, { + at: function at(index) { + var S = toString(requireObjectCoercible(this)); + var len = S.length; + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : charAt(S, k); + } +}); + + +/***/ }), +/* 439 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var codeAt = (__webpack_require__(440).codeAt); + +// `String.prototype.codePointAt` method +// https://tc39.es/ecma262/#sec-string.prototype.codepointat +$({ target: 'String', proto: true }, { + codePointAt: function codePointAt(pos) { + return codeAt(this, pos); + } +}); + + +/***/ }), +/* 440 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); + +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var stringSlice = uncurryThis(''.slice); + +var createMethod = function (CONVERT_TO_STRING) { + return function ($this, pos) { + var S = toString(requireObjectCoercible($this)); + var position = toIntegerOrInfinity(pos); + var size = S.length; + var first, second; + if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; + first = charCodeAt(S, position); + return first < 0xD800 || first > 0xDBFF || position + 1 === size + || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF + ? CONVERT_TO_STRING + ? charAt(S, position) + : first + : CONVERT_TO_STRING + ? stringSlice(S, position, position + 2) + : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; + }; +}; + +module.exports = { + // `String.prototype.codePointAt` method + // https://tc39.es/ecma262/#sec-string.prototype.codepointat + codeAt: createMethod(false), + // `String.prototype.at` method + // https://github.com/mathiasbynens/String.prototype.at + charAt: createMethod(true) +}; + + +/***/ }), +/* 441 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var correctIsRegExpLogic = __webpack_require__(443); +var IS_PURE = __webpack_require__(36); + +var slice = uncurryThis(''.slice); +var min = Math.min; + +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith'); + return descriptor && !descriptor.writable; +}(); + +// `String.prototype.endsWith` method +// https://tc39.es/ecma262/#sec-string.prototype.endswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + endsWith: function endsWith(searchString /* , endPosition = @length */) { + var that = toString(requireObjectCoercible(this)); + notARegExp(searchString); + var endPosition = arguments.length > 1 ? arguments[1] : undefined; + var len = that.length; + var end = endPosition === undefined ? len : min(toLength(endPosition), len); + var search = toString(searchString); + return slice(that, end - search.length, end) === search; + } +}); + + +/***/ }), +/* 442 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isRegExp = __webpack_require__(401); + +var $TypeError = TypeError; + +module.exports = function (it) { + if (isRegExp(it)) { + throw new $TypeError("The method doesn't accept regular expressions"); + } return it; +}; + + +/***/ }), +/* 443 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var MATCH = wellKnownSymbol('match'); + +module.exports = function (METHOD_NAME) { + var regexp = /./; + try { + '/./'[METHOD_NAME](regexp); + } catch (error1) { + try { + regexp[MATCH] = false; + return '/./'[METHOD_NAME](regexp); + } catch (error2) { /* empty */ } + } return false; +}; + + +/***/ }), +/* 444 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toAbsoluteIndex = __webpack_require__(60); + +var $RangeError = RangeError; +var fromCharCode = String.fromCharCode; +// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing +var $fromCodePoint = String.fromCodePoint; +var join = uncurryThis([].join); + +// length should be 1, old FF problem +var INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length !== 1; + +// `String.fromCodePoint` method +// https://tc39.es/ecma262/#sec-string.fromcodepoint +$({ target: 'String', stat: true, arity: 1, forced: INCORRECT_LENGTH }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + fromCodePoint: function fromCodePoint(x) { + var elements = []; + var length = arguments.length; + var i = 0; + var code; + while (length > i) { + code = +arguments[i++]; + if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw new $RangeError(code + ' is not a valid code point'); + elements[i] = code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00); + } return join(elements, ''); + } +}); + + +/***/ }), +/* 445 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var correctIsRegExpLogic = __webpack_require__(443); + +var stringIndexOf = uncurryThis(''.indexOf); + +// `String.prototype.includes` method +// https://tc39.es/ecma262/#sec-string.prototype.includes +$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { + includes: function includes(searchString /* , position = 0 */) { + return !!~stringIndexOf( + toString(requireObjectCoercible(this)), + toString(notARegExp(searchString)), + arguments.length > 1 ? arguments[1] : undefined + ); + } +}); + + +/***/ }), +/* 446 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); + +var charCodeAt = uncurryThis(''.charCodeAt); + +// `String.prototype.isWellFormed` method +// https://tc39.es/ecma262/#sec-string.prototype.iswellformed +$({ target: 'String', proto: true }, { + isWellFormed: function isWellFormed() { + var S = toString(requireObjectCoercible(this)); + var length = S.length; + for (var i = 0; i < length; i++) { + var charCode = charCodeAt(S, i); + // single UTF-16 code unit + if ((charCode & 0xF800) !== 0xD800) continue; + // unpaired surrogate + if (charCode >= 0xDC00 || ++i >= length || (charCodeAt(S, i) & 0xFC00) !== 0xDC00) return false; + } return true; + } +}); + + +/***/ }), +/* 447 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var charAt = (__webpack_require__(440).charAt); +var toString = __webpack_require__(68); +var InternalStateModule = __webpack_require__(51); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); + +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// `String.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-string.prototype-@@iterator +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: toString(iterated), + index: 0 + }); +// `%StringIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return createIterResultObject(undefined, true); + point = charAt(string, index); + state.index += point.length; + return createIterResultObject(point, false); +}); + + +/***/ }), +/* 448 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); +var getMethod = __webpack_require__(29); +var advanceStringIndex = __webpack_require__(450); +var regExpExec = __webpack_require__(451); + +// @@match logic +fixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) { + return [ + // `String.prototype.match` method + // https://tc39.es/ecma262/#sec-string.prototype.match + function match(regexp) { + var O = requireObjectCoercible(this); + var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH); + return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O)); + }, + // `RegExp.prototype[@@match]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@match + function (string) { + var rx = anObject(this); + var S = toString(string); + var res = maybeCallNative(nativeMatch, rx, S); + + if (res.done) return res.value; + + if (!rx.global) return regExpExec(rx, S); + + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + var A = []; + var n = 0; + var result; + while ((result = regExpExec(rx, S)) !== null) { + var matchStr = toString(result[0]); + A[n] = matchStr; + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + n++; + } + return n === 0 ? null : A; + } + ]; +}); + + +/***/ }), +/* 449 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` since it's moved to entry points +__webpack_require__(408); +var call = __webpack_require__(8); +var defineBuiltIn = __webpack_require__(47); +var regexpExec = __webpack_require__(409); +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var createNonEnumerableProperty = __webpack_require__(43); + +var SPECIES = wellKnownSymbol('species'); +var RegExpPrototype = RegExp.prototype; + +module.exports = function (KEY, exec, FORCED, SHAM) { + var SYMBOL = wellKnownSymbol(KEY); + + var DELEGATES_TO_SYMBOL = !fails(function () { + // String methods call symbol-named RegExp methods + var O = {}; + O[SYMBOL] = function () { return 7; }; + return ''[KEY](O) !== 7; + }); + + var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { + // Symbol-named RegExp methods call .exec + var execCalled = false; + var re = /a/; + + if (KEY === 'split') { + // We can't use real regex here since it causes deoptimization + // and serious performance degradation in V8 + // https://github.com/zloirock/core-js/issues/306 + re = {}; + // RegExp[@@split] doesn't call the regex's exec method, but first creates + // a new one. We need to return the patched regex when creating the new one. + re.constructor = {}; + re.constructor[SPECIES] = function () { return re; }; + re.flags = ''; + re[SYMBOL] = /./[SYMBOL]; + } + + re.exec = function () { + execCalled = true; + return null; + }; + + re[SYMBOL](''); + return !execCalled; + }); + + if ( + !DELEGATES_TO_SYMBOL || + !DELEGATES_TO_EXEC || + FORCED + ) { + var nativeRegExpMethod = /./[SYMBOL]; + var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { + var $exec = regexp.exec; + if ($exec === regexpExec || $exec === RegExpPrototype.exec) { + if (DELEGATES_TO_SYMBOL && !forceStringMethod) { + // The native String method already delegates to @@method (this + // polyfilled function), leasing to infinite recursion. + // We avoid it by directly calling the native @@method method. + return { done: true, value: call(nativeRegExpMethod, regexp, str, arg2) }; + } + return { done: true, value: call(nativeMethod, str, regexp, arg2) }; + } + return { done: false }; + }); + + defineBuiltIn(String.prototype, KEY, methods[0]); + defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]); + } + + if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true); +}; + + +/***/ }), +/* 450 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var charAt = (__webpack_require__(440).charAt); + +// `AdvanceStringIndex` abstract operation +// https://tc39.es/ecma262/#sec-advancestringindex +module.exports = function (S, index, unicode) { + return index + (unicode ? charAt(S, index).length : 1); +}; + + +/***/ }), +/* 451 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(15); +var regexpExec = __webpack_require__(409); + +var $TypeError = TypeError; + +// `RegExpExec` abstract operation +// https://tc39.es/ecma262/#sec-regexpexec +module.exports = function (R, S) { + var exec = R.exec; + if (isCallable(exec)) { + var result = call(exec, R, S); + if (result !== null) anObject(result); + return result; + } + if (classof(R) === 'RegExp') return call(regexpExec, R, S); + throw new $TypeError('RegExp#exec called on incompatible receiver'); +}; + + +/***/ }), +/* 452 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-string-prototype-matchall -- safe */ +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(85); +var createIteratorConstructor = __webpack_require__(170); +var createIterResultObject = __webpack_require__(172); +var requireObjectCoercible = __webpack_require__(16); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var classof = __webpack_require__(15); +var isRegExp = __webpack_require__(401); +var getRegExpFlags = __webpack_require__(402); +var getMethod = __webpack_require__(29); +var defineBuiltIn = __webpack_require__(47); +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var speciesConstructor = __webpack_require__(358); +var advanceStringIndex = __webpack_require__(450); +var regExpExec = __webpack_require__(451); +var InternalStateModule = __webpack_require__(51); +var IS_PURE = __webpack_require__(36); + +var MATCH_ALL = wellKnownSymbol('matchAll'); +var REGEXP_STRING = 'RegExp String'; +var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR); +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; +var stringIndexOf = uncurryThis(''.indexOf); +var nativeMatchAll = uncurryThis(''.matchAll); + +var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () { + nativeMatchAll('a', /./); +}); + +var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, $global, fullUnicode) { + setInternalState(this, { + type: REGEXP_STRING_ITERATOR, + regexp: regexp, + string: string, + global: $global, + unicode: fullUnicode, + done: false + }); +}, REGEXP_STRING, function next() { + var state = getInternalState(this); + if (state.done) return createIterResultObject(undefined, true); + var R = state.regexp; + var S = state.string; + var match = regExpExec(R, S); + if (match === null) { + state.done = true; + return createIterResultObject(undefined, true); + } + if (state.global) { + if (toString(match[0]) === '') R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode); + return createIterResultObject(match, false); + } + state.done = true; + return createIterResultObject(match, false); +}); + +var $matchAll = function (string) { + var R = anObject(this); + var S = toString(string); + var C = speciesConstructor(R, RegExp); + var flags = toString(getRegExpFlags(R)); + var matcher, $global, fullUnicode; + matcher = new C(C === RegExp ? R.source : R, flags); + $global = !!~stringIndexOf(flags, 'g'); + fullUnicode = !!~stringIndexOf(flags, 'u'); + matcher.lastIndex = toLength(R.lastIndex); + return new $RegExpStringIterator(matcher, S, $global, fullUnicode); +}; + +// `String.prototype.matchAll` method +// https://tc39.es/ecma262/#sec-string.prototype.matchall +$({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, { + matchAll: function matchAll(regexp) { + var O = requireObjectCoercible(this); + var flags, S, matcher, rx; + if (!isNullOrUndefined(regexp)) { + if (isRegExp(regexp)) { + flags = toString(requireObjectCoercible(getRegExpFlags(regexp))); + if (!~stringIndexOf(flags, 'g')) throw new $TypeError('`.matchAll` does not allow non-global regexes'); + } + if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll(O, regexp); + matcher = getMethod(regexp, MATCH_ALL); + if (matcher === undefined && IS_PURE && classof(regexp) === 'RegExp') matcher = $matchAll; + if (matcher) return call(matcher, regexp, O); + } else if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll(O, regexp); + S = toString(O); + rx = new RegExp(regexp, 'g'); + return IS_PURE ? call($matchAll, rx, S) : rx[MATCH_ALL](S); + } +}); + +IS_PURE || MATCH_ALL in RegExpPrototype || defineBuiltIn(RegExpPrototype, MATCH_ALL, $matchAll); + + +/***/ }), +/* 453 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $padEnd = (__webpack_require__(238).end); +var WEBKIT_BUG = __webpack_require__(454); + +// `String.prototype.padEnd` method +// https://tc39.es/ecma262/#sec-string.prototype.padend +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padEnd: function padEnd(maxLength /* , fillString = ' ' */) { + return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 454 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// https://github.com/zloirock/core-js/issues/280 +var userAgent = __webpack_require__(28); + +module.exports = /Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(userAgent); + + +/***/ }), +/* 455 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $padStart = (__webpack_require__(238).start); +var WEBKIT_BUG = __webpack_require__(454); + +// `String.prototype.padStart` method +// https://tc39.es/ecma262/#sec-string.prototype.padstart +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padStart: function padStart(maxLength /* , fillString = ' ' */) { + return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 456 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIndexedObject = __webpack_require__(12); +var toObject = __webpack_require__(39); +var toString = __webpack_require__(68); +var lengthOfArrayLike = __webpack_require__(63); + +var push = uncurryThis([].push); +var join = uncurryThis([].join); + +// `String.raw` method +// https://tc39.es/ecma262/#sec-string.raw +$({ target: 'String', stat: true }, { + raw: function raw(template) { + var rawTemplate = toIndexedObject(toObject(template).raw); + var literalSegments = lengthOfArrayLike(rawTemplate); + if (!literalSegments) return ''; + var argumentsLength = arguments.length; + var elements = []; + var i = 0; + while (true) { + push(elements, toString(rawTemplate[i++])); + if (i === literalSegments) return join(elements, ''); + if (i < argumentsLength) push(elements, toString(arguments[i])); + } + } +}); + + +/***/ }), +/* 457 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var repeat = __webpack_require__(239); + +// `String.prototype.repeat` method +// https://tc39.es/ecma262/#sec-string.prototype.repeat +$({ target: 'String', proto: true }, { + repeat: repeat +}); + + +/***/ }), +/* 458 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var apply = __webpack_require__(94); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var fails = __webpack_require__(7); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); +var advanceStringIndex = __webpack_require__(450); +var getMethod = __webpack_require__(29); +var getSubstitution = __webpack_require__(459); +var regExpExec = __webpack_require__(451); +var wellKnownSymbol = __webpack_require__(33); + +var REPLACE = wellKnownSymbol('replace'); +var max = Math.max; +var min = Math.min; +var concat = uncurryThis([].concat); +var push = uncurryThis([].push); +var stringIndexOf = uncurryThis(''.indexOf); +var stringSlice = uncurryThis(''.slice); + +var maybeToString = function (it) { + return it === undefined ? it : String(it); +}; + +// IE <= 11 replaces $0 with the whole match, as if it was $& +// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 +var REPLACE_KEEPS_$0 = (function () { + // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing + return 'a'.replace(/./, '$0') === '$0'; +})(); + +// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string +var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () { + if (/./[REPLACE]) { + return /./[REPLACE]('a', '$0') === ''; + } + return false; +})(); + +var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { + var re = /./; + re.exec = function () { + var result = []; + result.groups = { a: '7' }; + return result; + }; + // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive + return ''.replace(re, '$<a>') !== '7'; +}); + +// @@replace logic +fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) { + var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0'; + + return [ + // `String.prototype.replace` method + // https://tc39.es/ecma262/#sec-string.prototype.replace + function replace(searchValue, replaceValue) { + var O = requireObjectCoercible(this); + var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE); + return replacer + ? call(replacer, searchValue, O, replaceValue) + : call(nativeReplace, toString(O), searchValue, replaceValue); + }, + // `RegExp.prototype[@@replace]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace + function (string, replaceValue) { + var rx = anObject(this); + var S = toString(string); + + if ( + typeof replaceValue == 'string' && + stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 && + stringIndexOf(replaceValue, '$<') === -1 + ) { + var res = maybeCallNative(nativeReplace, rx, S, replaceValue); + if (res.done) return res.value; + } + + var functionalReplace = isCallable(replaceValue); + if (!functionalReplace) replaceValue = toString(replaceValue); + + var global = rx.global; + var fullUnicode; + if (global) { + fullUnicode = rx.unicode; + rx.lastIndex = 0; + } + + var results = []; + var result; + while (true) { + result = regExpExec(rx, S); + if (result === null) break; + + push(results, result); + if (!global) break; + + var matchStr = toString(result[0]); + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + } + + var accumulatedResult = ''; + var nextSourcePosition = 0; + for (var i = 0; i < results.length; i++) { + result = results[i]; + + var matched = toString(result[0]); + var position = max(min(toIntegerOrInfinity(result.index), S.length), 0); + var captures = []; + var replacement; + // NOTE: This is equivalent to + // captures = result.slice(1).map(maybeToString) + // but for some reason `nativeSlice.call(result, 1, result.length)` (called in + // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and + // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. + for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j])); + var namedCaptures = result.groups; + if (functionalReplace) { + var replacerArgs = concat([matched], captures, position, S); + if (namedCaptures !== undefined) push(replacerArgs, namedCaptures); + replacement = toString(apply(replaceValue, undefined, replacerArgs)); + } else { + replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); + } + if (position >= nextSourcePosition) { + accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement; + nextSourcePosition = position + matched.length; + } + } + + return accumulatedResult + stringSlice(S, nextSourcePosition); + } + ]; +}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE); + + +/***/ }), +/* 459 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toObject = __webpack_require__(39); + +var floor = Math.floor; +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); +// eslint-disable-next-line redos/no-vulnerable -- safe +var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g; +var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g; + +// `GetSubstitution` abstract operation +// https://tc39.es/ecma262/#sec-getsubstitution +module.exports = function (matched, str, position, captures, namedCaptures, replacement) { + var tailPos = position + matched.length; + var m = captures.length; + var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; + if (namedCaptures !== undefined) { + namedCaptures = toObject(namedCaptures); + symbols = SUBSTITUTION_SYMBOLS; + } + return replace(replacement, symbols, function (match, ch) { + var capture; + switch (charAt(ch, 0)) { + case '$': return '$'; + case '&': return matched; + case '`': return stringSlice(str, 0, position); + case "'": return stringSlice(str, tailPos); + case '<': + capture = namedCaptures[stringSlice(ch, 1, -1)]; + break; + default: // \d\d? + var n = +ch; + if (n === 0) return match; + if (n > m) { + var f = floor(n / 10); + if (f === 0) return match; + if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1); + return match; + } + capture = captures[n - 1]; + } + return capture === undefined ? '' : capture; + }); +}; + + +/***/ }), +/* 460 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var isRegExp = __webpack_require__(401); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var getRegExpFlags = __webpack_require__(402); +var getSubstitution = __webpack_require__(459); +var wellKnownSymbol = __webpack_require__(33); +var IS_PURE = __webpack_require__(36); + +var REPLACE = wellKnownSymbol('replace'); +var $TypeError = TypeError; +var indexOf = uncurryThis(''.indexOf); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); +var max = Math.max; + +// `String.prototype.replaceAll` method +// https://tc39.es/ecma262/#sec-string.prototype.replaceall +$({ target: 'String', proto: true }, { + replaceAll: function replaceAll(searchValue, replaceValue) { + var O = requireObjectCoercible(this); + var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, position, replacement; + var endOfLastMatch = 0; + var result = ''; + if (!isNullOrUndefined(searchValue)) { + IS_REG_EXP = isRegExp(searchValue); + if (IS_REG_EXP) { + flags = toString(requireObjectCoercible(getRegExpFlags(searchValue))); + if (!~indexOf(flags, 'g')) throw new $TypeError('`.replaceAll` does not allow non-global regexes'); + } + replacer = getMethod(searchValue, REPLACE); + if (replacer) return call(replacer, searchValue, O, replaceValue); + if (IS_PURE && IS_REG_EXP) return replace(toString(O), searchValue, replaceValue); + } + string = toString(O); + searchString = toString(searchValue); + functionalReplace = isCallable(replaceValue); + if (!functionalReplace) replaceValue = toString(replaceValue); + searchLength = searchString.length; + advanceBy = max(1, searchLength); + position = indexOf(string, searchString); + while (position !== -1) { + replacement = functionalReplace + ? toString(replaceValue(searchString, position, string)) + : getSubstitution(searchString, string, position, [], undefined, replaceValue); + result += stringSlice(string, endOfLastMatch, position) + replacement; + endOfLastMatch = position + searchLength; + position = position + advanceBy > string.length ? -1 : indexOf(string, searchString, position + advanceBy); + } + if (endOfLastMatch < string.length) { + result += stringSlice(string, endOfLastMatch); + } + return result; + } +}); + + +/***/ }), +/* 461 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var requireObjectCoercible = __webpack_require__(16); +var sameValue = __webpack_require__(340); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var regExpExec = __webpack_require__(451); + +// @@search logic +fixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) { + return [ + // `String.prototype.search` method + // https://tc39.es/ecma262/#sec-string.prototype.search + function search(regexp) { + var O = requireObjectCoercible(this); + var searcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, SEARCH); + return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O)); + }, + // `RegExp.prototype[@@search]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@search + function (string) { + var rx = anObject(this); + var S = toString(string); + var res = maybeCallNative(nativeSearch, rx, S); + + if (res.done) return res.value; + + var previousLastIndex = rx.lastIndex; + if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; + var result = regExpExec(rx, S); + if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; + return result === null ? -1 : result.index; + } + ]; +}); + + +/***/ }), +/* 462 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var requireObjectCoercible = __webpack_require__(16); +var speciesConstructor = __webpack_require__(358); +var advanceStringIndex = __webpack_require__(450); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var regExpExec = __webpack_require__(451); +var stickyHelpers = __webpack_require__(404); +var fails = __webpack_require__(7); + +var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; +var MAX_UINT32 = 0xFFFFFFFF; +var min = Math.min; +var push = uncurryThis([].push); +var stringSlice = uncurryThis(''.slice); + +// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec +// Weex JS has frozen built-in prototypes, so use try / catch wrapper +var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { + // eslint-disable-next-line regexp/no-empty-group -- required for testing + var re = /(?:)/; + var originalExec = re.exec; + re.exec = function () { return originalExec.apply(this, arguments); }; + var result = 'ab'.split(re); + return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; +}); + +var BUGGY = 'abbc'.split(/(b)*/)[1] === 'c' || + // eslint-disable-next-line regexp/no-empty-group -- required for testing + 'test'.split(/(?:)/, -1).length !== 4 || + 'ab'.split(/(?:ab)*/).length !== 2 || + '.'.split(/(.?)(.?)/).length !== 4 || + // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing + '.'.split(/()()/).length > 1 || + ''.split(/.?/).length; + +// @@split logic +fixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) { + var internalSplit = '0'.split(undefined, 0).length ? function (separator, limit) { + return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit); + } : nativeSplit; + + return [ + // `String.prototype.split` method + // https://tc39.es/ecma262/#sec-string.prototype.split + function split(separator, limit) { + var O = requireObjectCoercible(this); + var splitter = isNullOrUndefined(separator) ? undefined : getMethod(separator, SPLIT); + return splitter + ? call(splitter, separator, O, limit) + : call(internalSplit, toString(O), separator, limit); + }, + // `RegExp.prototype[@@split]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@split + // + // NOTE: This cannot be properly polyfilled in engines that don't support + // the 'y' flag. + function (string, limit) { + var rx = anObject(this); + var S = toString(string); + + if (!BUGGY) { + var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit); + if (res.done) return res.value; + } + + var C = speciesConstructor(rx, RegExp); + var unicodeMatching = rx.unicode; + var flags = (rx.ignoreCase ? 'i' : '') + + (rx.multiline ? 'm' : '') + + (rx.unicode ? 'u' : '') + + (UNSUPPORTED_Y ? 'g' : 'y'); + // ^(? + rx + ) is needed, in combination with some S slicing, to + // simulate the 'y' flag. + var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags); + var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; + if (lim === 0) return []; + if (S.length === 0) return regExpExec(splitter, S) === null ? [S] : []; + var p = 0; + var q = 0; + var A = []; + while (q < S.length) { + splitter.lastIndex = UNSUPPORTED_Y ? 0 : q; + var z = regExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S); + var e; + if ( + z === null || + (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p + ) { + q = advanceStringIndex(S, q, unicodeMatching); + } else { + push(A, stringSlice(S, p, q)); + if (A.length === lim) return A; + for (var i = 1; i <= z.length - 1; i++) { + push(A, z[i]); + if (A.length === lim) return A; + } + q = p = e; + } + } + push(A, stringSlice(S, p)); + return A; + } + ]; +}, BUGGY || !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y); + + +/***/ }), +/* 463 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var correctIsRegExpLogic = __webpack_require__(443); +var IS_PURE = __webpack_require__(36); + +var stringSlice = uncurryThis(''.slice); +var min = Math.min; + +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); + return descriptor && !descriptor.writable; +}(); + +// `String.prototype.startsWith` method +// https://tc39.es/ecma262/#sec-string.prototype.startswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = toString(requireObjectCoercible(this)); + notARegExp(searchString); + var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = toString(searchString); + return stringSlice(that, index, index + search.length) === search; + } +}); + + +/***/ }), +/* 464 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); + +var stringSlice = uncurryThis(''.slice); +var max = Math.max; +var min = Math.min; + +// eslint-disable-next-line unicorn/prefer-string-slice -- required for testing +var FORCED = !''.substr || 'ab'.substr(-1) !== 'b'; + +// `String.prototype.substr` method +// https://tc39.es/ecma262/#sec-string.prototype.substr +$({ target: 'String', proto: true, forced: FORCED }, { + substr: function substr(start, length) { + var that = toString(requireObjectCoercible(this)); + var size = that.length; + var intStart = toIntegerOrInfinity(start); + var intLength, intEnd; + if (intStart === Infinity) intStart = 0; + if (intStart < 0) intStart = max(size + intStart, 0); + intLength = length === undefined ? size : toIntegerOrInfinity(length); + if (intLength <= 0 || intLength === Infinity) return ''; + intEnd = min(intStart + intLength, size); + return intStart >= intEnd ? '' : stringSlice(that, intStart, intEnd); + } +}); + + +/***/ }), +/* 465 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); + +var $Array = Array; +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var join = uncurryThis([].join); +// eslint-disable-next-line es/no-string-prototype-towellformed -- safe +var $toWellFormed = ''.toWellFormed; +var REPLACEMENT_CHARACTER = '\uFFFD'; + +// Safari bug +var TO_STRING_CONVERSION_BUG = $toWellFormed && fails(function () { + return call($toWellFormed, 1) !== '1'; +}); + +// `String.prototype.toWellFormed` method +// https://tc39.es/ecma262/#sec-string.prototype.towellformed +$({ target: 'String', proto: true, forced: TO_STRING_CONVERSION_BUG }, { + toWellFormed: function toWellFormed() { + var S = toString(requireObjectCoercible(this)); + if (TO_STRING_CONVERSION_BUG) return call($toWellFormed, S); + var length = S.length; + var result = $Array(length); + for (var i = 0; i < length; i++) { + var charCode = charCodeAt(S, i); + // single UTF-16 code unit + if ((charCode & 0xF800) !== 0xD800) result[i] = charAt(S, i); + // unpaired surrogate + else if (charCode >= 0xDC00 || i + 1 >= length || (charCodeAt(S, i + 1) & 0xFC00) !== 0xDC00) result[i] = REPLACEMENT_CHARACTER; + // surrogate pair + else { + result[i] = charAt(S, i); + result[++i] = charAt(S, i); + } + } return join(result, ''); + } +}); + + +/***/ }), +/* 466 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $trim = (__webpack_require__(303).trim); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.trim` method +// https://tc39.es/ecma262/#sec-string.prototype.trim +$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, { + trim: function trim() { + return $trim(this); + } +}); + + +/***/ }), +/* 467 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var PROPER_FUNCTION_NAME = (__webpack_require__(49).PROPER); +var fails = __webpack_require__(7); +var whitespaces = __webpack_require__(304); + +var non = '\u200B\u0085\u180E'; + +// check that a method works with the correct list +// of whitespaces and has a correct name +module.exports = function (METHOD_NAME) { + return fails(function () { + return !!whitespaces[METHOD_NAME]() + || non[METHOD_NAME]() !== non + || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME); + }); +}; + + +/***/ }), +/* 468 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this line from `core-js@4` +__webpack_require__(469); +var $ = __webpack_require__(3); +var trimEnd = __webpack_require__(470); + +// `String.prototype.trimEnd` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimEnd !== trimEnd }, { + trimEnd: trimEnd +}); + + +/***/ }), +/* 469 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trimEnd = __webpack_require__(470); + +// `String.prototype.trimRight` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe +$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimRight !== trimEnd }, { + trimRight: trimEnd +}); + + +/***/ }), +/* 470 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $trimEnd = (__webpack_require__(303).end); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.{ trimEnd, trimRight }` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// https://tc39.es/ecma262/#String.prototype.trimright +module.exports = forcedStringTrimMethod('trimEnd') ? function trimEnd() { + return $trimEnd(this); +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +} : ''.trimEnd; + + +/***/ }), +/* 471 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this line from `core-js@4` +__webpack_require__(472); +var $ = __webpack_require__(3); +var trimStart = __webpack_require__(473); + +// `String.prototype.trimStart` method +// https://tc39.es/ecma262/#sec-string.prototype.trimstart +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimStart !== trimStart }, { + trimStart: trimStart +}); + + +/***/ }), +/* 472 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trimStart = __webpack_require__(473); + +// `String.prototype.trimLeft` method +// https://tc39.es/ecma262/#sec-string.prototype.trimleft +// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe +$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimLeft !== trimStart }, { + trimLeft: trimStart +}); + + +/***/ }), +/* 473 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $trimStart = (__webpack_require__(303).start); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.{ trimStart, trimLeft }` method +// https://tc39.es/ecma262/#sec-string.prototype.trimstart +// https://tc39.es/ecma262/#String.prototype.trimleft +module.exports = forcedStringTrimMethod('trimStart') ? function trimStart() { + return $trimStart(this); +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +} : ''.trimStart; + + +/***/ }), +/* 474 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.anchor` method +// https://tc39.es/ecma262/#sec-string.prototype.anchor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, { + anchor: function anchor(name) { + return createHTML(this, 'a', 'name', name); + } +}); + + +/***/ }), +/* 475 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); + +var quot = /"/g; +var replace = uncurryThis(''.replace); + +// `CreateHTML` abstract operation +// https://tc39.es/ecma262/#sec-createhtml +module.exports = function (string, tag, attribute, value) { + var S = toString(requireObjectCoercible(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + replace(toString(value), quot, '"') + '"'; + return p1 + '>' + S + '</' + tag + '>'; +}; + + +/***/ }), +/* 476 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +// check the existence of a method, lowercase +// of a tag and escaping quotes in arguments +module.exports = function (METHOD_NAME) { + return fails(function () { + var test = ''[METHOD_NAME]('"'); + return test !== test.toLowerCase() || test.split('"').length > 3; + }); +}; + + +/***/ }), +/* 477 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.big` method +// https://tc39.es/ecma262/#sec-string.prototype.big +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('big') }, { + big: function big() { + return createHTML(this, 'big', '', ''); + } +}); + + +/***/ }), +/* 478 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.blink` method +// https://tc39.es/ecma262/#sec-string.prototype.blink +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('blink') }, { + blink: function blink() { + return createHTML(this, 'blink', '', ''); + } +}); + + +/***/ }), +/* 479 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.bold` method +// https://tc39.es/ecma262/#sec-string.prototype.bold +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, { + bold: function bold() { + return createHTML(this, 'b', '', ''); + } +}); + + +/***/ }), +/* 480 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fixed` method +// https://tc39.es/ecma262/#sec-string.prototype.fixed +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, { + fixed: function fixed() { + return createHTML(this, 'tt', '', ''); + } +}); + + +/***/ }), +/* 481 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fontcolor` method +// https://tc39.es/ecma262/#sec-string.prototype.fontcolor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontcolor') }, { + fontcolor: function fontcolor(color) { + return createHTML(this, 'font', 'color', color); + } +}); + + +/***/ }), +/* 482 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fontsize` method +// https://tc39.es/ecma262/#sec-string.prototype.fontsize +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontsize') }, { + fontsize: function fontsize(size) { + return createHTML(this, 'font', 'size', size); + } +}); + + +/***/ }), +/* 483 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.italics` method +// https://tc39.es/ecma262/#sec-string.prototype.italics +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, { + italics: function italics() { + return createHTML(this, 'i', '', ''); + } +}); + + +/***/ }), +/* 484 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.link` method +// https://tc39.es/ecma262/#sec-string.prototype.link +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, { + link: function link(url) { + return createHTML(this, 'a', 'href', url); + } +}); + + +/***/ }), +/* 485 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.small` method +// https://tc39.es/ecma262/#sec-string.prototype.small +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('small') }, { + small: function small() { + return createHTML(this, 'small', '', ''); + } +}); + + +/***/ }), +/* 486 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.strike` method +// https://tc39.es/ecma262/#sec-string.prototype.strike +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, { + strike: function strike() { + return createHTML(this, 'strike', '', ''); + } +}); + + +/***/ }), +/* 487 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.sub` method +// https://tc39.es/ecma262/#sec-string.prototype.sub +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sub') }, { + sub: function sub() { + return createHTML(this, 'sub', '', ''); + } +}); + + +/***/ }), +/* 488 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.sup` method +// https://tc39.es/ecma262/#sec-string.prototype.sup +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sup') }, { + sup: function sup() { + return createHTML(this, 'sup', '', ''); + } +}); + + +/***/ }), +/* 489 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Float32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Float32', function (init) { + return function Float32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 490 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var DESCRIPTORS = __webpack_require__(6); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); +var ArrayBufferViewCore = __webpack_require__(218); +var ArrayBufferModule = __webpack_require__(208); +var anInstance = __webpack_require__(211); +var createPropertyDescriptor = __webpack_require__(11); +var createNonEnumerableProperty = __webpack_require__(43); +var isIntegralNumber = __webpack_require__(309); +var toLength = __webpack_require__(64); +var toIndex = __webpack_require__(212); +var toOffset = __webpack_require__(492); +var toUint8Clamped = __webpack_require__(493); +var toPropertyKey = __webpack_require__(18); +var hasOwn = __webpack_require__(38); +var classof = __webpack_require__(69); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var create = __webpack_require__(71); +var isPrototypeOf = __webpack_require__(24); +var setPrototypeOf = __webpack_require__(113); +var getOwnPropertyNames = (__webpack_require__(57).f); +var typedArrayFrom = __webpack_require__(494); +var forEach = (__webpack_require__(83).forEach); +var setSpecies = __webpack_require__(194); +var defineBuiltInAccessor = __webpack_require__(77); +var definePropertyModule = __webpack_require__(44); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var arrayFromConstructorAndList = __webpack_require__(199); +var InternalStateModule = __webpack_require__(51); +var inheritIfRequired = __webpack_require__(118); + +var getInternalState = InternalStateModule.get; +var setInternalState = InternalStateModule.set; +var enforceInternalState = InternalStateModule.enforce; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var RangeError = globalThis.RangeError; +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataView = ArrayBufferModule.DataView; +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; +var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG; +var TypedArray = ArrayBufferViewCore.TypedArray; +var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype; +var isTypedArray = ArrayBufferViewCore.isTypedArray; +var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; +var WRONG_LENGTH = 'Wrong length'; + +var addGetter = function (it, key) { + defineBuiltInAccessor(it, key, { + configurable: true, + get: function () { + return getInternalState(this)[key]; + } + }); +}; + +var isArrayBuffer = function (it) { + var klass; + return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) === 'ArrayBuffer' || klass === 'SharedArrayBuffer'; +}; + +var isTypedArrayIndex = function (target, key) { + return isTypedArray(target) + && !isSymbol(key) + && key in target + && isIntegralNumber(+key) + && key >= 0; +}; + +var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) { + key = toPropertyKey(key); + return isTypedArrayIndex(target, key) + ? createPropertyDescriptor(2, target[key]) + : nativeGetOwnPropertyDescriptor(target, key); +}; + +var wrappedDefineProperty = function defineProperty(target, key, descriptor) { + key = toPropertyKey(key); + if (isTypedArrayIndex(target, key) + && isObject(descriptor) + && hasOwn(descriptor, 'value') + && !hasOwn(descriptor, 'get') + && !hasOwn(descriptor, 'set') + // TODO: add validation descriptor w/o calling accessors + && !descriptor.configurable + && (!hasOwn(descriptor, 'writable') || descriptor.writable) + && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable) + ) { + target[key] = descriptor.value; + return target; + } return nativeDefineProperty(target, key, descriptor); +}; + +if (DESCRIPTORS) { + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor; + definePropertyModule.f = wrappedDefineProperty; + addGetter(TypedArrayPrototype, 'buffer'); + addGetter(TypedArrayPrototype, 'byteOffset'); + addGetter(TypedArrayPrototype, 'byteLength'); + addGetter(TypedArrayPrototype, 'length'); + } + + $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor, + defineProperty: wrappedDefineProperty + }); + + module.exports = function (TYPE, wrapper, CLAMPED) { + var BYTES = TYPE.match(/\d+/)[0] / 8; + var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array'; + var GETTER = 'get' + TYPE; + var SETTER = 'set' + TYPE; + var NativeTypedArrayConstructor = globalThis[CONSTRUCTOR_NAME]; + var TypedArrayConstructor = NativeTypedArrayConstructor; + var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype; + var exported = {}; + + var getter = function (that, index) { + var data = getInternalState(that); + return data.view[GETTER](index * BYTES + data.byteOffset, true); + }; + + var setter = function (that, index, value) { + var data = getInternalState(that); + data.view[SETTER](index * BYTES + data.byteOffset, CLAMPED ? toUint8Clamped(value) : value, true); + }; + + var addElement = function (that, index) { + nativeDefineProperty(that, index, { + get: function () { + return getter(this, index); + }, + set: function (value) { + return setter(this, index, value); + }, + enumerable: true + }); + }; + + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + TypedArrayConstructor = wrapper(function (that, data, offset, $length) { + anInstance(that, TypedArrayConstructorPrototype); + var index = 0; + var byteOffset = 0; + var buffer, byteLength, length; + if (!isObject(data)) { + length = toIndex(data); + byteLength = length * BYTES; + buffer = new ArrayBuffer(byteLength); + } else if (isArrayBuffer(data)) { + buffer = data; + byteOffset = toOffset(offset, BYTES); + var $len = data.byteLength; + if ($length === undefined) { + if ($len % BYTES) throw new RangeError(WRONG_LENGTH); + byteLength = $len - byteOffset; + if (byteLength < 0) throw new RangeError(WRONG_LENGTH); + } else { + byteLength = toLength($length) * BYTES; + if (byteLength + byteOffset > $len) throw new RangeError(WRONG_LENGTH); + } + length = byteLength / BYTES; + } else if (isTypedArray(data)) { + return arrayFromConstructorAndList(TypedArrayConstructor, data); + } else { + return call(typedArrayFrom, TypedArrayConstructor, data); + } + setInternalState(that, { + buffer: buffer, + byteOffset: byteOffset, + byteLength: byteLength, + length: length, + view: new DataView(buffer) + }); + while (index < length) addElement(that, index++); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype); + } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) { + TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) { + anInstance(dummy, TypedArrayConstructorPrototype); + return inheritIfRequired(function () { + if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data)); + if (isArrayBuffer(data)) return $length !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length) + : typedArrayOffset !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES)) + : new NativeTypedArrayConstructor(data); + if (isTypedArray(data)) return arrayFromConstructorAndList(TypedArrayConstructor, data); + return call(typedArrayFrom, TypedArrayConstructor, data); + }(), dummy, TypedArrayConstructor); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) { + if (!(key in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]); + } + }); + TypedArrayConstructor.prototype = TypedArrayConstructorPrototype; + } + + if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor); + } + + enforceInternalState(TypedArrayConstructorPrototype).TypedArrayConstructor = TypedArrayConstructor; + + if (TYPED_ARRAY_TAG) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME); + } + + var FORCED = TypedArrayConstructor !== NativeTypedArrayConstructor; + + exported[CONSTRUCTOR_NAME] = TypedArrayConstructor; + + $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported); + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES); + } + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES); + } + + setSpecies(CONSTRUCTOR_NAME); + }; +} else module.exports = function () { /* empty */ }; + + +/***/ }), +/* 491 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-new, sonarjs/inconsistent-function-call -- required for testing */ +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var checkCorrectnessOfIteration = __webpack_require__(164); +var NATIVE_ARRAY_BUFFER_VIEWS = (__webpack_require__(218).NATIVE_ARRAY_BUFFER_VIEWS); + +var ArrayBuffer = globalThis.ArrayBuffer; +var Int8Array = globalThis.Int8Array; + +module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () { + Int8Array(1); +}) || !fails(function () { + new Int8Array(-1); +}) || !checkCorrectnessOfIteration(function (iterable) { + new Int8Array(); + new Int8Array(null); + new Int8Array(1.5); + new Int8Array(iterable); +}, true) || fails(function () { + // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill + return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1; +}); + + +/***/ }), +/* 492 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPositiveInteger = __webpack_require__(254); + +var $RangeError = RangeError; + +module.exports = function (it, BYTES) { + var offset = toPositiveInteger(it); + if (offset % BYTES) throw new $RangeError('Wrong offset'); + return offset; +}; + + +/***/ }), +/* 493 */ +/***/ (function(module) { + + +var round = Math.round; + +module.exports = function (it) { + var value = round(it); + return value < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF; +}; + + +/***/ }), +/* 494 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var aConstructor = __webpack_require__(359); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var isArrayIteratorMethod = __webpack_require__(131); +var isBigIntArray = __webpack_require__(495); +var aTypedArrayConstructor = (__webpack_require__(218).aTypedArrayConstructor); +var toBigInt = __webpack_require__(496); + +module.exports = function from(source /* , mapfn, thisArg */) { + var C = aConstructor(this); + var O = toObject(source); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iteratorMethod = getIteratorMethod(O); + var i, length, result, thisIsBigIntArray, value, step, iterator, next; + if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) { + iterator = getIterator(O, iteratorMethod); + next = iterator.next; + O = []; + while (!(step = call(next, iterator)).done) { + O.push(step.value); + } + } + if (mapping && argumentsLength > 2) { + mapfn = bind(mapfn, arguments[2]); + } + length = lengthOfArrayLike(O); + result = new (aTypedArrayConstructor(C))(length); + thisIsBigIntArray = isBigIntArray(result); + for (i = 0; length > i; i++) { + value = mapping ? mapfn(O[i], i) : O[i]; + // FF30- typed arrays doesn't properly convert objects to typed array values + result[i] = thisIsBigIntArray ? toBigInt(value) : +value; + } + return result; +}; + + +/***/ }), +/* 495 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); + +module.exports = function (it) { + var klass = classof(it); + return klass === 'BigInt64Array' || klass === 'BigUint64Array'; +}; + + +/***/ }), +/* 496 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPrimitive = __webpack_require__(19); + +var $TypeError = TypeError; + +// `ToBigInt` abstract operation +// https://tc39.es/ecma262/#sec-tobigint +module.exports = function (argument) { + var prim = toPrimitive(argument, 'number'); + if (typeof prim == 'number') throw new $TypeError("Can't convert number to bigint"); + // eslint-disable-next-line es/no-bigint -- safe + return BigInt(prim); +}; + + +/***/ }), +/* 497 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Float64Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Float64', function (init) { + return function Float64Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 498 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int8Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int8', function (init) { + return function Int8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 499 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int16Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int16', function (init) { + return function Int16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 500 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int32', function (init) { + return function Int32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 501 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint8Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint8', function (init) { + return function Uint8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 502 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint8ClampedArray` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint8', function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}, true); + + +/***/ }), +/* 503 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint16Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint16', function (init) { + return function Uint16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 504 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint32', function (init) { + return function Uint32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 505 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.at` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.at +exportTypedArrayMethod('at', function at(index) { + var O = aTypedArray(this); + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : O[k]; +}); + + +/***/ }), +/* 506 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var ArrayBufferViewCore = __webpack_require__(218); +var $ArrayCopyWithin = __webpack_require__(144); + +var u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.copyWithin` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin +exportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) { + return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined); +}); + + +/***/ }), +/* 507 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $every = (__webpack_require__(83).every); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.every` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every +exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) { + return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 508 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $fill = __webpack_require__(149); +var toBigInt = __webpack_require__(496); +var classof = __webpack_require__(69); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var slice = uncurryThis(''.slice); + +// V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18 +var CONVERSION_BUG = fails(function () { + var count = 0; + // eslint-disable-next-line es/no-typed-arrays -- safe + new Int8Array(2).fill({ valueOf: function () { return count++; } }); + return count !== 1; +}); + +// `%TypedArray%.prototype.fill` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill +exportTypedArrayMethod('fill', function fill(value /* , start, end */) { + var length = arguments.length; + aTypedArray(this); + var actualValue = slice(classof(this), 0, 3) === 'Big' ? toBigInt(value) : +value; + return call($fill, this, actualValue, length > 1 ? arguments[1] : undefined, length > 2 ? arguments[2] : undefined); +}, CONVERSION_BUG); + + +/***/ }), +/* 509 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $filter = (__webpack_require__(83).filter); +var fromSameTypeAndList = __webpack_require__(510); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.filter` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter +exportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) { + var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return fromSameTypeAndList(this, list); +}); + + +/***/ }), +/* 510 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arrayFromConstructorAndList = __webpack_require__(199); +var getTypedArrayConstructor = (__webpack_require__(218).getTypedArrayConstructor); + +module.exports = function (instance, list) { + return arrayFromConstructorAndList(getTypedArrayConstructor(instance), list); +}; + + +/***/ }), +/* 511 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $find = (__webpack_require__(83).find); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.find` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find +exportTypedArrayMethod('find', function find(predicate /* , thisArg */) { + return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 512 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findIndex = (__webpack_require__(83).findIndex); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex +exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) { + return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 513 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findLast = (__webpack_require__(154).findLast); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findLast` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlast +exportTypedArrayMethod('findLast', function findLast(predicate /* , thisArg */) { + return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 514 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findLastIndex = (__webpack_require__(154).findLastIndex); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findLastIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex +exportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) { + return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 515 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $forEach = (__webpack_require__(83).forEach); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.forEach` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach +exportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) { + $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 516 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); +var exportTypedArrayStaticMethod = (__webpack_require__(218).exportTypedArrayStaticMethod); +var typedArrayFrom = __webpack_require__(494); + +// `%TypedArray%.from` method +// https://tc39.es/ecma262/#sec-%typedarray%.from +exportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + + +/***/ }), +/* 517 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $includes = (__webpack_require__(59).includes); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.includes` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes +exportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) { + return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 518 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $indexOf = (__webpack_require__(59).indexOf); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.indexOf` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof +exportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) { + return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 519 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var ArrayBufferViewCore = __webpack_require__(218); +var ArrayIterators = __webpack_require__(168); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var Uint8Array = globalThis.Uint8Array; +var arrayValues = uncurryThis(ArrayIterators.values); +var arrayKeys = uncurryThis(ArrayIterators.keys); +var arrayEntries = uncurryThis(ArrayIterators.entries); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var TypedArrayPrototype = Uint8Array && Uint8Array.prototype; + +var GENERIC = !fails(function () { + TypedArrayPrototype[ITERATOR].call([1]); +}); + +var ITERATOR_IS_VALUES = !!TypedArrayPrototype + && TypedArrayPrototype.values + && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values + && TypedArrayPrototype.values.name === 'values'; + +var typedArrayValues = function values() { + return arrayValues(aTypedArray(this)); +}; + +// `%TypedArray%.prototype.entries` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries +exportTypedArrayMethod('entries', function entries() { + return arrayEntries(aTypedArray(this)); +}, GENERIC); +// `%TypedArray%.prototype.keys` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys +exportTypedArrayMethod('keys', function keys() { + return arrayKeys(aTypedArray(this)); +}, GENERIC); +// `%TypedArray%.prototype.values` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values +exportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); +// `%TypedArray%.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator +exportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); + + +/***/ }), +/* 520 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var uncurryThis = __webpack_require__(14); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $join = uncurryThis([].join); + +// `%TypedArray%.prototype.join` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join +exportTypedArrayMethod('join', function join(separator) { + return $join(aTypedArray(this), separator); +}); + + +/***/ }), +/* 521 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var apply = __webpack_require__(94); +var $lastIndexOf = __webpack_require__(175); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.lastIndexOf` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof +exportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) { + var length = arguments.length; + return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]); +}); + + +/***/ }), +/* 522 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $map = (__webpack_require__(83).map); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.map` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map +exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) { + return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { + return new (getTypedArrayConstructor(O))(length); + }); +}); + + +/***/ }), +/* 523 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); + +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; +var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod; + +// `%TypedArray%.of` method +// https://tc39.es/ecma262/#sec-%typedarray%.of +exportTypedArrayStaticMethod('of', function of(/* ...items */) { + var index = 0; + var length = arguments.length; + var result = new (aTypedArrayConstructor(this))(length); + while (length > index) result[index] = arguments[index++]; + return result; +}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + + +/***/ }), +/* 524 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $reduce = (__webpack_require__(181).left); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.reduce` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce +exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 525 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $reduceRight = (__webpack_require__(181).right); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.reduceRight` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright +exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 526 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var floor = Math.floor; + +// `%TypedArray%.prototype.reverse` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse +exportTypedArrayMethod('reverse', function reverse() { + var that = this; + var length = aTypedArray(that).length; + var middle = floor(length / 2); + var index = 0; + var value; + while (index < middle) { + value = that[index]; + that[index++] = that[--length]; + that[length] = value; + } return that; +}); + + +/***/ }), +/* 527 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var ArrayBufferViewCore = __webpack_require__(218); +var lengthOfArrayLike = __webpack_require__(63); +var toOffset = __webpack_require__(492); +var toIndexedObject = __webpack_require__(39); +var fails = __webpack_require__(7); + +var RangeError = globalThis.RangeError; +var Int8Array = globalThis.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var $set = Int8ArrayPrototype && Int8ArrayPrototype.set; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + var array = new Uint8ClampedArray(2); + call($set, array, { length: 1, 0: 3 }, 1); + return array[1] !== 3; +}); + +// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other +var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { + var array = new Int8Array(2); + array.set(1); + array.set('2', 1); + return array[0] !== 0 || array[1] !== 2; +}); + +// `%TypedArray%.prototype.set` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set +exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { + aTypedArray(this); + var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); + var src = toIndexedObject(arrayLike); + if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset); + var length = this.length; + var len = lengthOfArrayLike(src); + var index = 0; + if (len + offset > length) throw new RangeError('Wrong length'); + while (index < len) this[offset + index] = src[index++]; +}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + + +/***/ }), +/* 528 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var fails = __webpack_require__(7); +var arraySlice = __webpack_require__(76); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + new Int8Array(1).slice(); +}); + +// `%TypedArray%.prototype.slice` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice +exportTypedArrayMethod('slice', function slice(start, end) { + var list = arraySlice(aTypedArray(this), start, end); + var C = getTypedArrayConstructor(this); + var index = 0; + var length = list.length; + var result = new C(length); + while (length > index) result[index] = list[index++]; + return result; +}, FORCED); + + +/***/ }), +/* 529 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $some = (__webpack_require__(83).some); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.some` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some +exportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) { + return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 530 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(85); +var fails = __webpack_require__(7); +var aCallable = __webpack_require__(30); +var internalSort = __webpack_require__(189); +var ArrayBufferViewCore = __webpack_require__(218); +var FF = __webpack_require__(190); +var IE_OR_EDGE = __webpack_require__(191); +var V8 = __webpack_require__(27); +var WEBKIT = __webpack_require__(192); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var Uint16Array = globalThis.Uint16Array; +var nativeSort = Uint16Array && uncurryThis(Uint16Array.prototype.sort); + +// WebKit +var ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !(fails(function () { + nativeSort(new Uint16Array(2), null); +}) && fails(function () { + nativeSort(new Uint16Array(2), {}); +})); + +var STABLE_SORT = !!nativeSort && !fails(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 74; + if (FF) return FF < 67; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 602; + + var array = new Uint16Array(516); + var expected = Array(516); + var index, mod; + + for (index = 0; index < 516; index++) { + mod = index % 4; + array[index] = 515 - index; + expected[index] = index - 2 * mod + 3; + } + + nativeSort(array, function (a, b) { + return (a / 4 | 0) - (b / 4 | 0); + }); + + for (index = 0; index < 516; index++) { + if (array[index] !== expected[index]) return true; + } +}); + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (comparefn !== undefined) return +comparefn(x, y) || 0; + // eslint-disable-next-line no-self-compare -- NaN check + if (y !== y) return -1; + // eslint-disable-next-line no-self-compare -- NaN check + if (x !== x) return 1; + if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1; + return x > y; + }; +}; + +// `%TypedArray%.prototype.sort` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort +exportTypedArrayMethod('sort', function sort(comparefn) { + if (comparefn !== undefined) aCallable(comparefn); + if (STABLE_SORT) return nativeSort(this, comparefn); + + return internalSort(aTypedArray(this), getSortCompare(comparefn)); +}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS); + + +/***/ }), +/* 531 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var toLength = __webpack_require__(64); +var toAbsoluteIndex = __webpack_require__(60); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.subarray` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray +exportTypedArrayMethod('subarray', function subarray(begin, end) { + var O = aTypedArray(this); + var length = O.length; + var beginIndex = toAbsoluteIndex(begin, length); + var C = getTypedArrayConstructor(O); + return new C( + O.buffer, + O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT, + toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex) + ); +}); + + +/***/ }), +/* 532 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var ArrayBufferViewCore = __webpack_require__(218); +var fails = __webpack_require__(7); +var arraySlice = __webpack_require__(76); + +var Int8Array = globalThis.Int8Array; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $toLocaleString = [].toLocaleString; + +// iOS Safari 6.x fails here +var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () { + $toLocaleString.call(new Int8Array(1)); +}); + +var FORCED = fails(function () { + return [1, 2].toLocaleString() !== new Int8Array([1, 2]).toLocaleString(); +}) || !fails(function () { + Int8Array.prototype.toLocaleString.call([1, 2]); +}); + +// `%TypedArray%.prototype.toLocaleString` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring +exportTypedArrayMethod('toLocaleString', function toLocaleString() { + return apply( + $toLocaleString, + TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this), + arraySlice(arguments) + ); +}, FORCED); + + +/***/ }), +/* 533 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var arrayToReversed = __webpack_require__(197); +var ArrayBufferViewCore = __webpack_require__(218); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; + +// `%TypedArray%.prototype.toReversed` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed +exportTypedArrayMethod('toReversed', function toReversed() { + return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this)); +}); + + +/***/ }), +/* 534 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var arrayFromConstructorAndList = __webpack_require__(199); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort); + +// `%TypedArray%.prototype.toSorted` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted +exportTypedArrayMethod('toSorted', function toSorted(compareFn) { + if (compareFn !== undefined) aCallable(compareFn); + var O = aTypedArray(this); + var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O); + return sort(A, compareFn); +}); + + +/***/ }), +/* 535 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var exportTypedArrayMethod = (__webpack_require__(218).exportTypedArrayMethod); +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); + +var Uint8Array = globalThis.Uint8Array; +var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {}; +var arrayToString = [].toString; +var join = uncurryThis([].join); + +if (fails(function () { arrayToString.call({}); })) { + arrayToString = function toString() { + return join(this); + }; +} + +var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString !== arrayToString; + +// `%TypedArray%.prototype.toString` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring +exportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD); + + +/***/ }), +/* 536 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var arrayWith = __webpack_require__(206); +var ArrayBufferViewCore = __webpack_require__(218); +var isBigIntArray = __webpack_require__(495); +var toIntegerOrInfinity = __webpack_require__(61); +var toBigInt = __webpack_require__(496); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var PROPER_ORDER = !!function () { + try { + // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing + new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } }); + } catch (error) { + // some early implementations, like WebKit, does not follow the final semantic + // https://github.com/tc39/proposal-change-array-by-copy/pull/86 + return error === 8; + } +}(); + +// `%TypedArray%.prototype.with` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with +exportTypedArrayMethod('with', { 'with': function (index, value) { + var O = aTypedArray(this); + var relativeIndex = toIntegerOrInfinity(index); + var actualValue = isBigIntArray(O) ? toBigInt(value) : +value; + return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue); +} }['with'], !PROPER_ORDER); + + +/***/ }), +/* 537 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); + +var fromCharCode = String.fromCharCode; +var charAt = uncurryThis(''.charAt); +var exec = uncurryThis(/./.exec); +var stringSlice = uncurryThis(''.slice); + +var hex2 = /^[\da-f]{2}$/i; +var hex4 = /^[\da-f]{4}$/i; + +// `unescape` method +// https://tc39.es/ecma262/#sec-unescape-string +$({ global: true }, { + unescape: function unescape(string) { + var str = toString(string); + var result = ''; + var length = str.length; + var index = 0; + var chr, part; + while (index < length) { + chr = charAt(str, index++); + if (chr === '%') { + if (charAt(str, index) === 'u') { + part = stringSlice(str, index + 1, index + 5); + if (exec(hex4, part)) { + result += fromCharCode(parseInt(part, 16)); + index += 5; + continue; + } + } else { + part = stringSlice(str, index, index + 2); + if (exec(hex2, part)) { + result += fromCharCode(parseInt(part, 16)); + index += 2; + continue; + } + } + } + result += chr; + } return result; + } +}); + + +/***/ }), +/* 538 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(539); + + +/***/ }), +/* 539 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var FREEZING = __webpack_require__(276); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var defineBuiltIns = __webpack_require__(210); +var InternalMetadataModule = __webpack_require__(273); +var collection = __webpack_require__(272); +var collectionWeak = __webpack_require__(540); +var isObject = __webpack_require__(20); +var enforceInternalState = (__webpack_require__(51).enforce); +var fails = __webpack_require__(7); +var NATIVE_WEAK_MAP = __webpack_require__(52); + +var $Object = Object; +// eslint-disable-next-line es/no-array-isarray -- safe +var isArray = Array.isArray; +// eslint-disable-next-line es/no-object-isextensible -- safe +var isExtensible = $Object.isExtensible; +// eslint-disable-next-line es/no-object-isfrozen -- safe +var isFrozen = $Object.isFrozen; +// eslint-disable-next-line es/no-object-issealed -- safe +var isSealed = $Object.isSealed; +// eslint-disable-next-line es/no-object-freeze -- safe +var freeze = $Object.freeze; +// eslint-disable-next-line es/no-object-seal -- safe +var seal = $Object.seal; + +var IS_IE11 = !globalThis.ActiveXObject && 'ActiveXObject' in globalThis; +var InternalWeakMap; + +var wrapper = function (init) { + return function WeakMap() { + return init(this, arguments.length ? arguments[0] : undefined); + }; +}; + +// `WeakMap` constructor +// https://tc39.es/ecma262/#sec-weakmap-constructor +var $WeakMap = collection('WeakMap', wrapper, collectionWeak); +var WeakMapPrototype = $WeakMap.prototype; +var nativeSet = uncurryThis(WeakMapPrototype.set); + +// Chakra Edge bug: adding frozen arrays to WeakMap unfreeze them +var hasMSEdgeFreezingBug = function () { + return FREEZING && fails(function () { + var frozenArray = freeze([]); + nativeSet(new $WeakMap(), frozenArray, 1); + return !isFrozen(frozenArray); + }); +}; + +// IE11 WeakMap frozen keys fix +// We can't use feature detection because it crash some old IE builds +// https://github.com/zloirock/core-js/issues/485 +if (NATIVE_WEAK_MAP) if (IS_IE11) { + InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true); + InternalMetadataModule.enable(); + var nativeDelete = uncurryThis(WeakMapPrototype['delete']); + var nativeHas = uncurryThis(WeakMapPrototype.has); + var nativeGet = uncurryThis(WeakMapPrototype.get); + defineBuiltIns(WeakMapPrototype, { + 'delete': function (key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeDelete(this, key) || state.frozen['delete'](key); + } return nativeDelete(this, key); + }, + has: function has(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas(this, key) || state.frozen.has(key); + } return nativeHas(this, key); + }, + get: function get(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key); + } return nativeGet(this, key); + }, + set: function set(key, value) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value); + } else nativeSet(this, key, value); + return this; + } + }); +// Chakra Edge frozen keys fix +} else if (hasMSEdgeFreezingBug()) { + defineBuiltIns(WeakMapPrototype, { + set: function set(key, value) { + var arrayIntegrityLevel; + if (isArray(key)) { + if (isFrozen(key)) arrayIntegrityLevel = freeze; + else if (isSealed(key)) arrayIntegrityLevel = seal; + } + nativeSet(this, key, value); + if (arrayIntegrityLevel) arrayIntegrityLevel(key); + return this; + } + }); +} + + +/***/ }), +/* 540 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var defineBuiltIns = __webpack_require__(210); +var getWeakData = (__webpack_require__(273).getWeakData); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var iterate = __webpack_require__(130); +var ArrayIterationModule = __webpack_require__(83); +var hasOwn = __webpack_require__(38); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; +var find = ArrayIterationModule.find; +var findIndex = ArrayIterationModule.findIndex; +var splice = uncurryThis([].splice); +var id = 0; + +// fallback for uncaught frozen keys +var uncaughtFrozenStore = function (state) { + return state.frozen || (state.frozen = new UncaughtFrozenStore()); +}; + +var UncaughtFrozenStore = function () { + this.entries = []; +}; + +var findUncaughtFrozen = function (store, key) { + return find(store.entries, function (it) { + return it[0] === key; + }); +}; + +UncaughtFrozenStore.prototype = { + get: function (key) { + var entry = findUncaughtFrozen(this, key); + if (entry) return entry[1]; + }, + has: function (key) { + return !!findUncaughtFrozen(this, key); + }, + set: function (key, value) { + var entry = findUncaughtFrozen(this, key); + if (entry) entry[1] = value; + else this.entries.push([key, value]); + }, + 'delete': function (key) { + var index = findIndex(this.entries, function (it) { + return it[0] === key; + }); + if (~index) splice(this.entries, index, 1); + return !!~index; + } +}; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + id: id++, + frozen: null + }); + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + }); + + var Prototype = Constructor.prototype; + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var data = getWeakData(anObject(key), true); + if (data === true) uncaughtFrozenStore(state).set(key, value); + else data[state.id] = value; + return that; + }; + + defineBuiltIns(Prototype, { + // `{ WeakMap, WeakSet }.prototype.delete(key)` methods + // https://tc39.es/ecma262/#sec-weakmap.prototype.delete + // https://tc39.es/ecma262/#sec-weakset.prototype.delete + 'delete': function (key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state)['delete'](key); + return data && hasOwn(data, state.id) && delete data[state.id]; + }, + // `{ WeakMap, WeakSet }.prototype.has(key)` methods + // https://tc39.es/ecma262/#sec-weakmap.prototype.has + // https://tc39.es/ecma262/#sec-weakset.prototype.has + has: function has(key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).has(key); + return data && hasOwn(data, state.id); + } + }); + + defineBuiltIns(Prototype, IS_MAP ? { + // `WeakMap.prototype.get(key)` method + // https://tc39.es/ecma262/#sec-weakmap.prototype.get + get: function get(key) { + var state = getInternalState(this); + if (isObject(key)) { + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).get(key); + if (data) return data[state.id]; + } + }, + // `WeakMap.prototype.set(key, value)` method + // https://tc39.es/ecma262/#sec-weakmap.prototype.set + set: function set(key, value) { + return define(this, key, value); + } + } : { + // `WeakSet.prototype.add(value)` method + // https://tc39.es/ecma262/#sec-weakset.prototype.add + add: function add(value) { + return define(this, value, true); + } + }); + + return Constructor; + } +}; + + +/***/ }), +/* 541 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(542); + + +/***/ }), +/* 542 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionWeak = __webpack_require__(540); + +// `WeakSet` constructor +// https://tc39.es/ecma262/#sec-weakset-constructor +collection('WeakSet', function (init) { + return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionWeak); + + +/***/ }), +/* 543 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); +var c2i = (__webpack_require__(544).c2i); + +var disallowed = /[^\d+/a-z]/i; +var whitespaces = /[\t\n\f\r ]+/g; +var finalEq = /[=]{1,2}$/; + +var $atob = getBuiltIn('atob'); +var fromCharCode = String.fromCharCode; +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var exec = uncurryThis(disallowed.exec); + +var BASIC = !!$atob && !fails(function () { + return $atob('aGk=') !== 'hi'; +}); + +var NO_SPACES_IGNORE = BASIC && fails(function () { + return $atob(' ') !== ''; +}); + +var NO_ENCODING_CHECK = BASIC && !fails(function () { + $atob('a'); +}); + +var NO_ARG_RECEIVING_CHECK = BASIC && !fails(function () { + $atob(); +}); + +var WRONG_ARITY = BASIC && $atob.length !== 1; + +var FORCED = !BASIC || NO_SPACES_IGNORE || NO_ENCODING_CHECK || NO_ARG_RECEIVING_CHECK || WRONG_ARITY; + +// `atob` method +// https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob +$({ global: true, bind: true, enumerable: true, forced: FORCED }, { + atob: function atob(data) { + validateArgumentsLength(arguments.length, 1); + // `webpack` dev server bug on IE global methods - use call(fn, global, ...) + if (BASIC && !NO_SPACES_IGNORE && !NO_ENCODING_CHECK) return call($atob, globalThis, data); + var string = replace(toString(data), whitespaces, ''); + var output = ''; + var position = 0; + var bc = 0; + var length, chr, bs; + if (string.length % 4 === 0) { + string = replace(string, finalEq, ''); + } + length = string.length; + if (length % 4 === 1 || exec(disallowed, string)) { + throw new (getBuiltIn('DOMException'))('The string is not correctly encoded', 'InvalidCharacterError'); + } + while (position < length) { + chr = charAt(string, position++); + bs = bc % 4 ? bs * 64 + c2i[chr] : c2i[chr]; + if (bc++ % 4) output += fromCharCode(255 & bs >> (-2 * bc & 6)); + } return output; + } +}); + + +/***/ }), +/* 544 */ +/***/ (function(module) { + + +var commonAlphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; +var base64Alphabet = commonAlphabet + '+/'; +var base64UrlAlphabet = commonAlphabet + '-_'; + +var inverse = function (characters) { + // TODO: use `Object.create(null)` in `core-js@4` + var result = {}; + var index = 0; + for (; index < 64; index++) result[characters.charAt(index)] = index; + return result; +}; + +module.exports = { + i2c: base64Alphabet, + c2i: inverse(base64Alphabet), + i2cUrl: base64UrlAlphabet, + c2iUrl: inverse(base64UrlAlphabet) +}; + + +/***/ }), +/* 545 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); +var i2c = (__webpack_require__(544).i2c); + +var $btoa = getBuiltIn('btoa'); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); + +var BASIC = !!$btoa && !fails(function () { + return $btoa('hi') !== 'aGk='; +}); + +var NO_ARG_RECEIVING_CHECK = BASIC && !fails(function () { + $btoa(); +}); + +var WRONG_ARG_CONVERSION = BASIC && fails(function () { + return $btoa(null) !== 'bnVsbA=='; +}); + +var WRONG_ARITY = BASIC && $btoa.length !== 1; + +// `btoa` method +// https://html.spec.whatwg.org/multipage/webappapis.html#dom-btoa +$({ global: true, bind: true, enumerable: true, forced: !BASIC || NO_ARG_RECEIVING_CHECK || WRONG_ARG_CONVERSION || WRONG_ARITY }, { + btoa: function btoa(data) { + validateArgumentsLength(arguments.length, 1); + // `webpack` dev server bug on IE global methods - use call(fn, global, ...) + if (BASIC) return call($btoa, globalThis, toString(data)); + var string = toString(data); + var output = ''; + var position = 0; + var map = i2c; + var block, charCode; + while (charAt(string, position) || (map = '=', position % 1)) { + charCode = charCodeAt(string, position += 3 / 4); + if (charCode > 0xFF) { + throw new (getBuiltIn('DOMException'))('The string contains characters outside of the Latin1 range', 'InvalidCharacterError'); + } + block = block << 8 | charCode; + output += charAt(map, 63 & block >> 8 - position % 1 * 8); + } return output; + } +}); + + +/***/ }), +/* 546 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DOMIterables = __webpack_require__(547); +var DOMTokenListPrototype = __webpack_require__(548); +var forEach = __webpack_require__(160); +var createNonEnumerableProperty = __webpack_require__(43); + +var handlePrototype = function (CollectionPrototype) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { + createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); + } catch (error) { + CollectionPrototype.forEach = forEach; + } +}; + +for (var COLLECTION_NAME in DOMIterables) { + if (DOMIterables[COLLECTION_NAME]) { + handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype); + } +} + +handlePrototype(DOMTokenListPrototype); + + +/***/ }), +/* 547 */ +/***/ (function(module) { + + +// iterable DOM collections +// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods +module.exports = { + CSSRuleList: 0, + CSSStyleDeclaration: 0, + CSSValueList: 0, + ClientRectList: 0, + DOMRectList: 0, + DOMStringList: 0, + DOMTokenList: 1, + DataTransferItemList: 0, + FileList: 0, + HTMLAllCollection: 0, + HTMLCollection: 0, + HTMLFormElement: 0, + HTMLSelectElement: 0, + MediaList: 0, + MimeTypeArray: 0, + NamedNodeMap: 0, + NodeList: 1, + PaintRequestList: 0, + Plugin: 0, + PluginArray: 0, + SVGLengthList: 0, + SVGNumberList: 0, + SVGPathSegList: 0, + SVGPointList: 0, + SVGStringList: 0, + SVGTransformList: 0, + SourceBufferList: 0, + StyleSheetList: 0, + TextTrackCueList: 0, + TextTrackList: 0, + TouchList: 0 +}; + + +/***/ }), +/* 548 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList` +var documentCreateElement = __webpack_require__(42); + +var classList = documentCreateElement('span').classList; +var DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype; + +module.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype; + + +/***/ }), +/* 549 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DOMIterables = __webpack_require__(547); +var DOMTokenListPrototype = __webpack_require__(548); +var ArrayIteratorMethods = __webpack_require__(168); +var createNonEnumerableProperty = __webpack_require__(43); +var setToStringTag = __webpack_require__(82); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayValues = ArrayIteratorMethods.values; + +var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) { + if (CollectionPrototype) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[ITERATOR] !== ArrayValues) try { + createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); + } catch (error) { + CollectionPrototype[ITERATOR] = ArrayValues; + } + setToStringTag(CollectionPrototype, COLLECTION_NAME, true); + if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { + createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); + } catch (error) { + CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; + } + } + } +}; + +for (var COLLECTION_NAME in DOMIterables) { + handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype, COLLECTION_NAME); +} + +handlePrototype(DOMTokenListPrototype, 'DOMTokenList'); + + +/***/ }), +/* 550 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var getBuiltInNodeModule = __webpack_require__(229); +var fails = __webpack_require__(7); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var defineProperty = (__webpack_require__(44).f); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var hasOwn = __webpack_require__(38); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var errorToString = __webpack_require__(125); +var normalizeStringArgument = __webpack_require__(119); +var DOMExceptionConstants = __webpack_require__(551); +var clearErrorStack = __webpack_require__(122); +var InternalStateModule = __webpack_require__(51); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var DOM_EXCEPTION = 'DOMException'; +var DATA_CLONE_ERR = 'DATA_CLONE_ERR'; +var Error = getBuiltIn('Error'); +// NodeJS < 17.0 does not expose `DOMException` to global +var NativeDOMException = getBuiltIn(DOM_EXCEPTION) || (function () { + try { + // NodeJS < 15.0 does not expose `MessageChannel` to global + var MessageChannel = getBuiltIn('MessageChannel') || getBuiltInNodeModule('worker_threads').MessageChannel; + // eslint-disable-next-line es/no-weak-map, unicorn/require-post-message-target-origin -- safe + new MessageChannel().port1.postMessage(new WeakMap()); + } catch (error) { + if (error.name === DATA_CLONE_ERR && error.code === 25) return error.constructor; + } +})(); +var NativeDOMExceptionPrototype = NativeDOMException && NativeDOMException.prototype; +var ErrorPrototype = Error.prototype; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(DOM_EXCEPTION); +var HAS_STACK = 'stack' in new Error(DOM_EXCEPTION); + +var codeFor = function (name) { + return hasOwn(DOMExceptionConstants, name) && DOMExceptionConstants[name].m ? DOMExceptionConstants[name].c : 0; +}; + +var $DOMException = function DOMException() { + anInstance(this, DOMExceptionPrototype); + var argumentsLength = arguments.length; + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); + var code = codeFor(name); + setInternalState(this, { + type: DOM_EXCEPTION, + name: name, + message: message, + code: code + }); + if (!DESCRIPTORS) { + this.name = name; + this.message = message; + this.code = code; + } + if (HAS_STACK) { + var error = new Error(message); + error.name = DOM_EXCEPTION; + defineProperty(this, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); + } +}; + +var DOMExceptionPrototype = $DOMException.prototype = create(ErrorPrototype); + +var createGetterDescriptor = function (get) { + return { enumerable: true, configurable: true, get: get }; +}; + +var getterFor = function (key) { + return createGetterDescriptor(function () { + return getInternalState(this)[key]; + }); +}; + +if (DESCRIPTORS) { + // `DOMException.prototype.code` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'code', getterFor('code')); + // `DOMException.prototype.message` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'message', getterFor('message')); + // `DOMException.prototype.name` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'name', getterFor('name')); +} + +defineProperty(DOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, $DOMException)); + +// FF36- DOMException is a function, but can't be constructed +var INCORRECT_CONSTRUCTOR = fails(function () { + return !(new NativeDOMException() instanceof Error); +}); + +// Safari 10.1 / Chrome 32- / IE8- DOMException.prototype.toString bugs +var INCORRECT_TO_STRING = INCORRECT_CONSTRUCTOR || fails(function () { + return ErrorPrototype.toString !== errorToString || String(new NativeDOMException(1, 2)) !== '2: 1'; +}); + +// Deno 1.6.3- DOMException.prototype.code just missed +var INCORRECT_CODE = INCORRECT_CONSTRUCTOR || fails(function () { + return new NativeDOMException(1, 'DataCloneError').code !== 25; +}); + +// Deno 1.6.3- DOMException constants just missed +var MISSED_CONSTANTS = INCORRECT_CONSTRUCTOR + || NativeDOMException[DATA_CLONE_ERR] !== 25 + || NativeDOMExceptionPrototype[DATA_CLONE_ERR] !== 25; + +var FORCED_CONSTRUCTOR = IS_PURE ? INCORRECT_TO_STRING || INCORRECT_CODE || MISSED_CONSTANTS : INCORRECT_CONSTRUCTOR; + +// `DOMException` constructor +// https://webidl.spec.whatwg.org/#idl-DOMException +$({ global: true, constructor: true, forced: FORCED_CONSTRUCTOR }, { + DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException +}); + +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION); +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype; + +if (INCORRECT_TO_STRING && (IS_PURE || NativeDOMException === PolyfilledDOMException)) { + defineBuiltIn(PolyfilledDOMExceptionPrototype, 'toString', errorToString); +} + +if (INCORRECT_CODE && DESCRIPTORS && NativeDOMException === PolyfilledDOMException) { + defineBuiltInAccessor(PolyfilledDOMExceptionPrototype, 'code', createGetterDescriptor(function () { + return codeFor(anObject(this).name); + })); +} + +// `DOMException` constants +for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) { + var constant = DOMExceptionConstants[key]; + var constantName = constant.s; + var descriptor = createPropertyDescriptor(6, constant.c); + if (!hasOwn(PolyfilledDOMException, constantName)) { + defineProperty(PolyfilledDOMException, constantName, descriptor); + } + if (!hasOwn(PolyfilledDOMExceptionPrototype, constantName)) { + defineProperty(PolyfilledDOMExceptionPrototype, constantName, descriptor); + } +} + + +/***/ }), +/* 551 */ +/***/ (function(module) { + + +module.exports = { + IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 }, + DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 }, + HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 }, + WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 }, + InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 }, + NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 }, + NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 }, + NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 }, + NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 }, + InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 }, + InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 }, + SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 }, + InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 }, + NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 }, + InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 }, + ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 }, + TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 }, + SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 }, + NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 }, + AbortError: { s: 'ABORT_ERR', c: 20, m: 1 }, + URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 }, + QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 }, + TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 }, + InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 }, + DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 } +}; + + +/***/ }), +/* 552 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var createPropertyDescriptor = __webpack_require__(11); +var defineProperty = (__webpack_require__(44).f); +var hasOwn = __webpack_require__(38); +var anInstance = __webpack_require__(211); +var inheritIfRequired = __webpack_require__(118); +var normalizeStringArgument = __webpack_require__(119); +var DOMExceptionConstants = __webpack_require__(551); +var clearErrorStack = __webpack_require__(122); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var DOM_EXCEPTION = 'DOMException'; +var Error = getBuiltIn('Error'); +var NativeDOMException = getBuiltIn(DOM_EXCEPTION); + +var $DOMException = function DOMException() { + anInstance(this, DOMExceptionPrototype); + var argumentsLength = arguments.length; + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); + var that = new NativeDOMException(message, name); + var error = new Error(message); + error.name = DOM_EXCEPTION; + defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); + inheritIfRequired(that, this, $DOMException); + return that; +}; + +var DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype; + +var ERROR_HAS_STACK = 'stack' in new Error(DOM_EXCEPTION); +var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, DOM_EXCEPTION); + +// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it +// https://github.com/Jarred-Sumner/bun/issues/399 +var BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable); + +var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK; + +// `DOMException` constructor patch for `.stack` where it's required +// https://webidl.spec.whatwg.org/#es-DOMException-specialness +$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic + DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException +}); + +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION); +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype; + +if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) { + if (!IS_PURE) { + defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException)); + } + + for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) { + var constant = DOMExceptionConstants[key]; + var constantName = constant.s; + if (!hasOwn(PolyfilledDOMException, constantName)) { + defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c)); + } + } +} + + +/***/ }), +/* 553 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var setToStringTag = __webpack_require__(82); + +var DOM_EXCEPTION = 'DOMException'; + +// `DOMException.prototype[@@toStringTag]` property +setToStringTag(getBuiltIn(DOM_EXCEPTION), DOM_EXCEPTION); + + +/***/ }), +/* 554 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(555); +__webpack_require__(556); + + +/***/ }), +/* 555 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var clearImmediate = (__webpack_require__(360).clear); + +// `clearImmediate` method +// http://w3c.github.io/setImmediate/#si-clearImmediate +$({ global: true, bind: true, enumerable: true, forced: globalThis.clearImmediate !== clearImmediate }, { + clearImmediate: clearImmediate +}); + + +/***/ }), +/* 556 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var setTask = (__webpack_require__(360).set); +var schedulersFix = __webpack_require__(557); + +// https://github.com/oven-sh/bun/issues/1633 +var setImmediate = globalThis.setImmediate ? schedulersFix(setTask, false) : setTask; + +// `setImmediate` method +// http://w3c.github.io/setImmediate/#si-setImmediate +$({ global: true, bind: true, enumerable: true, forced: globalThis.setImmediate !== setImmediate }, { + setImmediate: setImmediate +}); + + +/***/ }), +/* 557 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var isCallable = __webpack_require__(21); +var ENVIRONMENT = __webpack_require__(183); +var USER_AGENT = __webpack_require__(28); +var arraySlice = __webpack_require__(76); +var validateArgumentsLength = __webpack_require__(361); + +var Function = globalThis.Function; +// dirty IE9- and Bun 0.3.0- checks +var WRAP = /MSIE .\./.test(USER_AGENT) || ENVIRONMENT === 'BUN' && (function () { + var version = globalThis.Bun.version.split('.'); + return version.length < 3 || version[0] === '0' && (version[1] < 3 || version[1] === '3' && version[2] === '0'); +})(); + +// IE9- / Bun 0.3.0- setTimeout / setInterval / setImmediate additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers +// https://github.com/oven-sh/bun/issues/1633 +module.exports = function (scheduler, hasTimeArg) { + var firstParamIndex = hasTimeArg ? 2 : 1; + return WRAP ? function (handler, timeout /* , ...arguments */) { + var boundArgs = validateArgumentsLength(arguments.length, 1) > firstParamIndex; + var fn = isCallable(handler) ? handler : Function(handler); + var params = boundArgs ? arraySlice(arguments, firstParamIndex) : []; + var callback = boundArgs ? function () { + apply(fn, this, params); + } : fn; + return hasTimeArg ? scheduler(callback, timeout) : scheduler(callback); + } : scheduler; +}; + + +/***/ }), +/* 558 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var microtask = __webpack_require__(363); +var aCallable = __webpack_require__(30); +var validateArgumentsLength = __webpack_require__(361); +var fails = __webpack_require__(7); +var DESCRIPTORS = __webpack_require__(6); + +// Bun ~ 1.0.30 bug +// https://github.com/oven-sh/bun/issues/9249 +var WRONG_ARITY = fails(function () { + // getOwnPropertyDescriptor for prevent experimental warning in Node 11 + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + return DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, 'queueMicrotask').value.length !== 1; +}); + +// `queueMicrotask` method +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask +$({ global: true, enumerable: true, dontCallGetSet: true, forced: WRONG_ARITY }, { + queueMicrotask: function queueMicrotask(fn) { + validateArgumentsLength(arguments.length, 1); + microtask(aCallable(fn)); + } +}); + + +/***/ }), +/* 559 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var defineBuiltInAccessor = __webpack_require__(77); +var DESCRIPTORS = __webpack_require__(6); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; +var INCORRECT_VALUE = globalThis.self !== globalThis; + +// `self` getter +// https://html.spec.whatwg.org/multipage/window-object.html#dom-self +try { + if (DESCRIPTORS) { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var descriptor = Object.getOwnPropertyDescriptor(globalThis, 'self'); + // some engines have `self`, but with incorrect descriptor + // https://github.com/denoland/deno/issues/15765 + if (INCORRECT_VALUE || !descriptor || !descriptor.get || !descriptor.enumerable) { + defineBuiltInAccessor(globalThis, 'self', { + get: function self() { + return globalThis; + }, + set: function self(value) { + if (this !== globalThis) throw new $TypeError('Illegal invocation'); + defineProperty(globalThis, 'self', { + value: value, + writable: true, + configurable: true, + enumerable: true + }); + }, + configurable: true, + enumerable: true + }); + } + } else $({ global: true, simple: true, forced: INCORRECT_VALUE }, { + self: globalThis + }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 560 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var IS_PURE = __webpack_require__(36); +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var uid = __webpack_require__(40); +var isCallable = __webpack_require__(21); +var isConstructor = __webpack_require__(89); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var iterate = __webpack_require__(130); +var anObject = __webpack_require__(46); +var classof = __webpack_require__(69); +var hasOwn = __webpack_require__(38); +var createProperty = __webpack_require__(141); +var createNonEnumerableProperty = __webpack_require__(43); +var lengthOfArrayLike = __webpack_require__(63); +var validateArgumentsLength = __webpack_require__(361); +var getRegExpFlags = __webpack_require__(402); +var MapHelpers = __webpack_require__(279); +var SetHelpers = __webpack_require__(419); +var setIterate = __webpack_require__(421); +var detachTransferable = __webpack_require__(228); +var ERROR_STACK_INSTALLABLE = __webpack_require__(123); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var Object = globalThis.Object; +var Array = globalThis.Array; +var Date = globalThis.Date; +var Error = globalThis.Error; +var TypeError = globalThis.TypeError; +var PerformanceMark = globalThis.PerformanceMark; +var DOMException = getBuiltIn('DOMException'); +var Map = MapHelpers.Map; +var mapHas = MapHelpers.has; +var mapGet = MapHelpers.get; +var mapSet = MapHelpers.set; +var Set = SetHelpers.Set; +var setAdd = SetHelpers.add; +var setHas = SetHelpers.has; +var objectKeys = getBuiltIn('Object', 'keys'); +var push = uncurryThis([].push); +var thisBooleanValue = uncurryThis(true.valueOf); +var thisNumberValue = uncurryThis(1.0.valueOf); +var thisStringValue = uncurryThis(''.valueOf); +var thisTimeValue = uncurryThis(Date.prototype.getTime); +var PERFORMANCE_MARK = uid('structuredClone'); +var DATA_CLONE_ERROR = 'DataCloneError'; +var TRANSFERRING = 'Transferring'; + +var checkBasicSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var set1 = new globalThis.Set([7]); + var set2 = structuredCloneImplementation(set1); + var number = structuredCloneImplementation(Object(7)); + return set2 === set1 || !set2.has(7) || !isObject(number) || +number !== 7; + }) && structuredCloneImplementation; +}; + +var checkErrorsCloning = function (structuredCloneImplementation, $Error) { + return !fails(function () { + var error = new $Error(); + var test = structuredCloneImplementation({ a: error, b: error }); + return !(test && test.a === test.b && test.a instanceof $Error && test.a.stack === error.stack); + }); +}; + +// https://github.com/whatwg/html/pull/5749 +var checkNewErrorsCloningSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var test = structuredCloneImplementation(new globalThis.AggregateError([1], PERFORMANCE_MARK, { cause: 3 })); + return test.name !== 'AggregateError' || test.errors[0] !== 1 || test.message !== PERFORMANCE_MARK || test.cause !== 3; + }); +}; + +// FF94+, Safari 15.4+, Chrome 98+, NodeJS 17.0+, Deno 1.13+ +// FF<103 and Safari implementations can't clone errors +// https://bugzilla.mozilla.org/show_bug.cgi?id=1556604 +// FF103 can clone errors, but `.stack` of clone is an empty string +// https://bugzilla.mozilla.org/show_bug.cgi?id=1778762 +// FF104+ fixed it on usual errors, but not on DOMExceptions +// https://bugzilla.mozilla.org/show_bug.cgi?id=1777321 +// Chrome <102 returns `null` if cloned object contains multiple references to one error +// https://bugs.chromium.org/p/v8/issues/detail?id=12542 +// NodeJS implementation can't clone DOMExceptions +// https://github.com/nodejs/node/issues/41038 +// only FF103+ supports new (html/5749) error cloning semantic +var nativeStructuredClone = globalThis.structuredClone; + +var FORCED_REPLACEMENT = IS_PURE + || !checkErrorsCloning(nativeStructuredClone, Error) + || !checkErrorsCloning(nativeStructuredClone, DOMException) + || !checkNewErrorsCloningSemantic(nativeStructuredClone); + +// Chrome 82+, Safari 14.1+, Deno 1.11+ +// Chrome 78-81 implementation swaps `.name` and `.message` of cloned `DOMException` +// Chrome returns `null` if cloned object contains multiple references to one error +// Safari 14.1 implementation doesn't clone some `RegExp` flags, so requires a workaround +// Safari implementation can't clone errors +// Deno 1.2-1.10 implementations too naive +// NodeJS 16.0+ does not have `PerformanceMark` constructor +// NodeJS <17.2 structured cloning implementation from `performance.mark` is too naive +// and can't clone, for example, `RegExp` or some boxed primitives +// https://github.com/nodejs/node/issues/40840 +// no one of those implementations supports new (html/5749) error cloning semantic +var structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) { + return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail; +}); + +var nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark; + +var throwUncloneable = function (type) { + throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR); +}; + +var throwUnpolyfillable = function (type, action) { + throw new DOMException((action || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR); +}; + +var tryNativeRestrictedStructuredClone = function (value, type) { + if (!nativeRestrictedStructuredClone) throwUnpolyfillable(type); + return nativeRestrictedStructuredClone(value); +}; + +var createDataTransfer = function () { + var dataTransfer; + try { + dataTransfer = new globalThis.DataTransfer(); + } catch (error) { + try { + dataTransfer = new globalThis.ClipboardEvent('').clipboardData; + } catch (error2) { /* empty */ } + } + return dataTransfer && dataTransfer.items && dataTransfer.files ? dataTransfer : null; +}; + +var cloneBuffer = function (value, map, $type) { + if (mapHas(map, value)) return mapGet(map, value); + + var type = $type || classof(value); + var clone, length, options, source, target, i; + + if (type === 'SharedArrayBuffer') { + if (nativeRestrictedStructuredClone) clone = nativeRestrictedStructuredClone(value); + // SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original + else clone = value; + } else { + var DataView = globalThis.DataView; + + // `ArrayBuffer#slice` is not available in IE10 + // `ArrayBuffer#slice` and `DataView` are not available in old FF + if (!DataView && !isCallable(value.slice)) throwUnpolyfillable('ArrayBuffer'); + // detached buffers throws in `DataView` and `.slice` + try { + if (isCallable(value.slice) && !value.resizable) { + clone = value.slice(0); + } else { + length = value.byteLength; + options = 'maxByteLength' in value ? { maxByteLength: value.maxByteLength } : undefined; + // eslint-disable-next-line es/no-resizable-and-growable-arraybuffers -- safe + clone = new ArrayBuffer(length, options); + source = new DataView(value); + target = new DataView(clone); + for (i = 0; i < length; i++) { + target.setUint8(i, source.getUint8(i)); + } + } + } catch (error) { + throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR); + } + } + + mapSet(map, value, clone); + + return clone; +}; + +var cloneView = function (value, type, offset, length, map) { + var C = globalThis[type]; + // in some old engines like Safari 9, typeof C is 'object' + // on Uint8ClampedArray or some other constructors + if (!isObject(C)) throwUnpolyfillable(type); + return new C(cloneBuffer(value.buffer, map), offset, length); +}; + +var structuredCloneInternal = function (value, map) { + if (isSymbol(value)) throwUncloneable('Symbol'); + if (!isObject(value)) return value; + // effectively preserves circular references + if (map) { + if (mapHas(map, value)) return mapGet(map, value); + } else map = new Map(); + + var type = classof(value); + var C, name, cloned, dataTransfer, i, length, keys, key; + + switch (type) { + case 'Array': + cloned = Array(lengthOfArrayLike(value)); + break; + case 'Object': + cloned = {}; + break; + case 'Map': + cloned = new Map(); + break; + case 'Set': + cloned = new Set(); + break; + case 'RegExp': + // in this block because of a Safari 14.1 bug + // old FF does not clone regexes passed to the constructor, so get the source and flags directly + cloned = new RegExp(value.source, getRegExpFlags(value)); + break; + case 'Error': + name = value.name; + switch (name) { + case 'AggregateError': + cloned = new (getBuiltIn(name))([]); + break; + case 'EvalError': + case 'RangeError': + case 'ReferenceError': + case 'SuppressedError': + case 'SyntaxError': + case 'TypeError': + case 'URIError': + cloned = new (getBuiltIn(name))(); + break; + case 'CompileError': + case 'LinkError': + case 'RuntimeError': + cloned = new (getBuiltIn('WebAssembly', name))(); + break; + default: + cloned = new Error(); + } + break; + case 'DOMException': + cloned = new DOMException(value.message, value.name); + break; + case 'ArrayBuffer': + case 'SharedArrayBuffer': + cloned = cloneBuffer(value, map, type); + break; + case 'DataView': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float16Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + length = type === 'DataView' ? value.byteLength : value.length; + cloned = cloneView(value, type, value.byteOffset, length, map); + break; + case 'DOMQuad': + try { + cloned = new DOMQuad( + structuredCloneInternal(value.p1, map), + structuredCloneInternal(value.p2, map), + structuredCloneInternal(value.p3, map), + structuredCloneInternal(value.p4, map) + ); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } + break; + case 'File': + if (nativeRestrictedStructuredClone) try { + cloned = nativeRestrictedStructuredClone(value); + // NodeJS 20.0.0 bug, https://github.com/nodejs/node/issues/47612 + if (classof(cloned) !== type) cloned = undefined; + } catch (error) { /* empty */ } + if (!cloned) try { + cloned = new File([value], value.name, value); + } catch (error) { /* empty */ } + if (!cloned) throwUnpolyfillable(type); + break; + case 'FileList': + dataTransfer = createDataTransfer(); + if (dataTransfer) { + for (i = 0, length = lengthOfArrayLike(value); i < length; i++) { + dataTransfer.items.add(structuredCloneInternal(value[i], map)); + } + cloned = dataTransfer.files; + } else cloned = tryNativeRestrictedStructuredClone(value, type); + break; + case 'ImageData': + // Safari 9 ImageData is a constructor, but typeof ImageData is 'object' + try { + cloned = new ImageData( + structuredCloneInternal(value.data, map), + value.width, + value.height, + { colorSpace: value.colorSpace } + ); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } break; + default: + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else switch (type) { + case 'BigInt': + // can be a 3rd party polyfill + cloned = Object(value.valueOf()); + break; + case 'Boolean': + cloned = Object(thisBooleanValue(value)); + break; + case 'Number': + cloned = Object(thisNumberValue(value)); + break; + case 'String': + cloned = Object(thisStringValue(value)); + break; + case 'Date': + cloned = new Date(thisTimeValue(value)); + break; + case 'Blob': + try { + cloned = value.slice(0, value.size, value.type); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMPoint': + case 'DOMPointReadOnly': + C = globalThis[type]; + try { + cloned = C.fromPoint + ? C.fromPoint(value) + : new C(value.x, value.y, value.z, value.w); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMRect': + case 'DOMRectReadOnly': + C = globalThis[type]; + try { + cloned = C.fromRect + ? C.fromRect(value) + : new C(value.x, value.y, value.width, value.height); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMMatrix': + case 'DOMMatrixReadOnly': + C = globalThis[type]; + try { + cloned = C.fromMatrix + ? C.fromMatrix(value) + : new C(value); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone)) throwUnpolyfillable(type); + try { + cloned = value.clone(); + } catch (error) { + throwUncloneable(type); + } break; + case 'CropTarget': + case 'CryptoKey': + case 'FileSystemDirectoryHandle': + case 'FileSystemFileHandle': + case 'FileSystemHandle': + case 'GPUCompilationInfo': + case 'GPUCompilationMessage': + case 'ImageBitmap': + case 'RTCCertificate': + case 'WebAssembly.Module': + throwUnpolyfillable(type); + // break omitted + default: + throwUncloneable(type); + } + } + + mapSet(map, value, cloned); + + switch (type) { + case 'Array': + case 'Object': + keys = objectKeys(value); + for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { + key = keys[i]; + createProperty(cloned, key, structuredCloneInternal(value[key], map)); + } break; + case 'Map': + value.forEach(function (v, k) { + mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map)); + }); + break; + case 'Set': + value.forEach(function (v) { + setAdd(cloned, structuredCloneInternal(v, map)); + }); + break; + case 'Error': + createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map)); + if (hasOwn(value, 'cause')) { + createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map)); + } + if (name === 'AggregateError') { + cloned.errors = structuredCloneInternal(value.errors, map); + } else if (name === 'SuppressedError') { + cloned.error = structuredCloneInternal(value.error, map); + cloned.suppressed = structuredCloneInternal(value.suppressed, map); + } // break omitted + case 'DOMException': + if (ERROR_STACK_INSTALLABLE) { + createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map)); + } + } + + return cloned; +}; + +var tryToTransfer = function (rawTransfer, map) { + if (!isObject(rawTransfer)) throw new TypeError('Transfer option cannot be converted to a sequence'); + + var transfer = []; + + iterate(rawTransfer, function (value) { + push(transfer, anObject(value)); + }); + + var i = 0; + var length = lengthOfArrayLike(transfer); + var buffers = new Set(); + var value, type, C, transferred, canvas, context; + + while (i < length) { + value = transfer[i++]; + + type = classof(value); + + if (type === 'ArrayBuffer' ? setHas(buffers, value) : mapHas(map, value)) { + throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); + } + + if (type === 'ArrayBuffer') { + setAdd(buffers, value); + continue; + } + + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + transferred = nativeStructuredClone(value, { transfer: [value] }); + } else switch (type) { + case 'ImageBitmap': + C = globalThis.OffscreenCanvas; + if (!isConstructor(C)) throwUnpolyfillable(type, TRANSFERRING); + try { + canvas = new C(value.width, value.height); + context = canvas.getContext('bitmaprenderer'); + context.transferFromImageBitmap(value); + transferred = canvas.transferToImageBitmap(); + } catch (error) { /* empty */ } + break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone) || !isCallable(value.close)) throwUnpolyfillable(type, TRANSFERRING); + try { + transferred = value.clone(); + value.close(); + } catch (error) { /* empty */ } + break; + case 'MediaSourceHandle': + case 'MessagePort': + case 'MIDIAccess': + case 'OffscreenCanvas': + case 'ReadableStream': + case 'RTCDataChannel': + case 'TransformStream': + case 'WebTransportReceiveStream': + case 'WebTransportSendStream': + case 'WritableStream': + throwUnpolyfillable(type, TRANSFERRING); + } + + if (transferred === undefined) throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR); + + mapSet(map, value, transferred); + } + + return buffers; +}; + +var detachBuffers = function (buffers) { + setIterate(buffers, function (buffer) { + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + nativeRestrictedStructuredClone(buffer, { transfer: [buffer] }); + } else if (isCallable(buffer.transfer)) { + buffer.transfer(); + } else if (detachTransferable) { + detachTransferable(buffer); + } else { + throwUnpolyfillable('ArrayBuffer', TRANSFERRING); + } + }); +}; + +// `structuredClone` method +// https://html.spec.whatwg.org/multipage/structured-data.html#dom-structuredclone +$({ global: true, enumerable: true, sham: !PROPER_STRUCTURED_CLONE_TRANSFER, forced: FORCED_REPLACEMENT }, { + structuredClone: function structuredClone(value /* , { transfer } */) { + var options = validateArgumentsLength(arguments.length, 1) > 1 && !isNullOrUndefined(arguments[1]) ? anObject(arguments[1]) : undefined; + var transfer = options ? options.transfer : undefined; + var map, buffers; + + if (transfer !== undefined) { + map = new Map(); + buffers = tryToTransfer(transfer, map); + } + + var clone = structuredCloneInternal(value, map); + + // since of an issue with cloning views of transferred buffers, we a forced to detach them later + // https://github.com/zloirock/core-js/issues/1265 + if (buffers) detachBuffers(buffers); + + return clone; + } +}); + + +/***/ }), +/* 561 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(562); +__webpack_require__(563); + + +/***/ }), +/* 562 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var schedulersFix = __webpack_require__(557); + +var setInterval = schedulersFix(globalThis.setInterval, true); + +// Bun / IE9- setInterval additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval +$({ global: true, bind: true, forced: globalThis.setInterval !== setInterval }, { + setInterval: setInterval +}); + + +/***/ }), +/* 563 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var schedulersFix = __webpack_require__(557); + +var setTimeout = schedulersFix(globalThis.setTimeout, true); + +// Bun / IE9- setTimeout additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout +$({ global: true, bind: true, forced: globalThis.setTimeout !== setTimeout }, { + setTimeout: setTimeout +}); + + +/***/ }), +/* 564 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(565); + + +/***/ }), +/* 565 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__(447); +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var USE_NATIVE_URL = __webpack_require__(566); +var globalThis = __webpack_require__(4); +var bind = __webpack_require__(84); +var uncurryThis = __webpack_require__(14); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var anInstance = __webpack_require__(211); +var hasOwn = __webpack_require__(38); +var assign = __webpack_require__(322); +var arrayFrom = __webpack_require__(162); +var arraySlice = __webpack_require__(76); +var codeAt = (__webpack_require__(440).codeAt); +var toASCII = __webpack_require__(567); +var $toString = __webpack_require__(68); +var setToStringTag = __webpack_require__(82); +var validateArgumentsLength = __webpack_require__(361); +var URLSearchParamsModule = __webpack_require__(568); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var getInternalURLState = InternalStateModule.getterFor('URL'); +var URLSearchParams = URLSearchParamsModule.URLSearchParams; +var getInternalSearchParamsState = URLSearchParamsModule.getState; + +var NativeURL = globalThis.URL; +var TypeError = globalThis.TypeError; +var parseInt = globalThis.parseInt; +var floor = Math.floor; +var pow = Math.pow; +var charAt = uncurryThis(''.charAt); +var exec = uncurryThis(/./.exec); +var join = uncurryThis([].join); +var numberToString = uncurryThis(1.0.toString); +var pop = uncurryThis([].pop); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); +var toLowerCase = uncurryThis(''.toLowerCase); +var unshift = uncurryThis([].unshift); + +var INVALID_AUTHORITY = 'Invalid authority'; +var INVALID_SCHEME = 'Invalid scheme'; +var INVALID_HOST = 'Invalid host'; +var INVALID_PORT = 'Invalid port'; + +var ALPHA = /[a-z]/i; +// eslint-disable-next-line regexp/no-obscure-range -- safe +var ALPHANUMERIC = /[\d+-.a-z]/i; +var DIGIT = /\d/; +var HEX_START = /^0x/i; +var OCT = /^[0-7]+$/; +var DEC = /^\d+$/; +var HEX = /^[\da-f]+$/i; +/* eslint-disable regexp/no-control-character -- safe */ +var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/; +var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/; +var LEADING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+/; +var TRAILING_C0_CONTROL_OR_SPACE = /(^|[^\u0000-\u0020])[\u0000-\u0020]+$/; +var TAB_AND_NEW_LINE = /[\t\n\r]/g; +/* eslint-enable regexp/no-control-character -- safe */ +var EOF; + +// https://url.spec.whatwg.org/#ipv4-number-parser +var parseIPv4 = function (input) { + var parts = split(input, '.'); + var partsLength, numbers, index, part, radix, number, ipv4; + if (parts.length && parts[parts.length - 1] === '') { + parts.length--; + } + partsLength = parts.length; + if (partsLength > 4) return input; + numbers = []; + for (index = 0; index < partsLength; index++) { + part = parts[index]; + if (part === '') return input; + radix = 10; + if (part.length > 1 && charAt(part, 0) === '0') { + radix = exec(HEX_START, part) ? 16 : 8; + part = stringSlice(part, radix === 8 ? 1 : 2); + } + if (part === '') { + number = 0; + } else { + if (!exec(radix === 10 ? DEC : radix === 8 ? OCT : HEX, part)) return input; + number = parseInt(part, radix); + } + push(numbers, number); + } + for (index = 0; index < partsLength; index++) { + number = numbers[index]; + if (index === partsLength - 1) { + if (number >= pow(256, 5 - partsLength)) return null; + } else if (number > 255) return null; + } + ipv4 = pop(numbers); + for (index = 0; index < numbers.length; index++) { + ipv4 += numbers[index] * pow(256, 3 - index); + } + return ipv4; +}; + +// https://url.spec.whatwg.org/#concept-ipv6-parser +// eslint-disable-next-line max-statements -- TODO +var parseIPv6 = function (input) { + var address = [0, 0, 0, 0, 0, 0, 0, 0]; + var pieceIndex = 0; + var compress = null; + var pointer = 0; + var value, length, numbersSeen, ipv4Piece, number, swaps, swap; + + var chr = function () { + return charAt(input, pointer); + }; + + if (chr() === ':') { + if (charAt(input, 1) !== ':') return; + pointer += 2; + pieceIndex++; + compress = pieceIndex; + } + while (chr()) { + if (pieceIndex === 8) return; + if (chr() === ':') { + if (compress !== null) return; + pointer++; + pieceIndex++; + compress = pieceIndex; + continue; + } + value = length = 0; + while (length < 4 && exec(HEX, chr())) { + value = value * 16 + parseInt(chr(), 16); + pointer++; + length++; + } + if (chr() === '.') { + if (length === 0) return; + pointer -= length; + if (pieceIndex > 6) return; + numbersSeen = 0; + while (chr()) { + ipv4Piece = null; + if (numbersSeen > 0) { + if (chr() === '.' && numbersSeen < 4) pointer++; + else return; + } + if (!exec(DIGIT, chr())) return; + while (exec(DIGIT, chr())) { + number = parseInt(chr(), 10); + if (ipv4Piece === null) ipv4Piece = number; + else if (ipv4Piece === 0) return; + else ipv4Piece = ipv4Piece * 10 + number; + if (ipv4Piece > 255) return; + pointer++; + } + address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; + numbersSeen++; + if (numbersSeen === 2 || numbersSeen === 4) pieceIndex++; + } + if (numbersSeen !== 4) return; + break; + } else if (chr() === ':') { + pointer++; + if (!chr()) return; + } else if (chr()) return; + address[pieceIndex++] = value; + } + if (compress !== null) { + swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex !== 0 && swaps > 0) { + swap = address[pieceIndex]; + address[pieceIndex--] = address[compress + swaps - 1]; + address[compress + --swaps] = swap; + } + } else if (pieceIndex !== 8) return; + return address; +}; + +var findLongestZeroSequence = function (ipv6) { + var maxIndex = null; + var maxLength = 1; + var currStart = null; + var currLength = 0; + var index = 0; + for (; index < 8; index++) { + if (ipv6[index] !== 0) { + if (currLength > maxLength) { + maxIndex = currStart; + maxLength = currLength; + } + currStart = null; + currLength = 0; + } else { + if (currStart === null) currStart = index; + ++currLength; + } + } + return currLength > maxLength ? currStart : maxIndex; +}; + +// https://url.spec.whatwg.org/#host-serializing +var serializeHost = function (host) { + var result, index, compress, ignore0; + + // ipv4 + if (typeof host == 'number') { + result = []; + for (index = 0; index < 4; index++) { + unshift(result, host % 256); + host = floor(host / 256); + } + return join(result, '.'); + } + + // ipv6 + if (typeof host == 'object') { + result = ''; + compress = findLongestZeroSequence(host); + for (index = 0; index < 8; index++) { + if (ignore0 && host[index] === 0) continue; + if (ignore0) ignore0 = false; + if (compress === index) { + result += index ? ':' : '::'; + ignore0 = true; + } else { + result += numberToString(host[index], 16); + if (index < 7) result += ':'; + } + } + return '[' + result + ']'; + } + + return host; +}; + +var C0ControlPercentEncodeSet = {}; +var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { + ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 +}); +var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { + '#': 1, '?': 1, '{': 1, '}': 1 +}); +var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { + '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 +}); + +var percentEncode = function (chr, set) { + var code = codeAt(chr, 0); + return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr); +}; + +// https://url.spec.whatwg.org/#special-scheme +var specialSchemes = { + ftp: 21, + file: null, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; + +// https://url.spec.whatwg.org/#windows-drive-letter +var isWindowsDriveLetter = function (string, normalized) { + var second; + return string.length === 2 && exec(ALPHA, charAt(string, 0)) + && ((second = charAt(string, 1)) === ':' || (!normalized && second === '|')); +}; + +// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter +var startsWithWindowsDriveLetter = function (string) { + var third; + return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && ( + string.length === 2 || + ((third = charAt(string, 2)) === '/' || third === '\\' || third === '?' || third === '#') + ); +}; + +// https://url.spec.whatwg.org/#single-dot-path-segment +var isSingleDot = function (segment) { + return segment === '.' || toLowerCase(segment) === '%2e'; +}; + +// https://url.spec.whatwg.org/#double-dot-path-segment +var isDoubleDot = function (segment) { + segment = toLowerCase(segment); + return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; +}; + +// States: +var SCHEME_START = {}; +var SCHEME = {}; +var NO_SCHEME = {}; +var SPECIAL_RELATIVE_OR_AUTHORITY = {}; +var PATH_OR_AUTHORITY = {}; +var RELATIVE = {}; +var RELATIVE_SLASH = {}; +var SPECIAL_AUTHORITY_SLASHES = {}; +var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; +var AUTHORITY = {}; +var HOST = {}; +var HOSTNAME = {}; +var PORT = {}; +var FILE = {}; +var FILE_SLASH = {}; +var FILE_HOST = {}; +var PATH_START = {}; +var PATH = {}; +var CANNOT_BE_A_BASE_URL_PATH = {}; +var QUERY = {}; +var FRAGMENT = {}; + +var URLState = function (url, isBase, base) { + var urlString = $toString(url); + var baseState, failure, searchParams; + if (isBase) { + failure = this.parse(urlString); + if (failure) throw new TypeError(failure); + this.searchParams = null; + } else { + if (base !== undefined) baseState = new URLState(base, true); + failure = this.parse(urlString, null, baseState); + if (failure) throw new TypeError(failure); + searchParams = getInternalSearchParamsState(new URLSearchParams()); + searchParams.bindURL(this); + this.searchParams = searchParams; + } +}; + +URLState.prototype = { + type: 'URL', + // https://url.spec.whatwg.org/#url-parsing + // eslint-disable-next-line max-statements -- TODO + parse: function (input, stateOverride, base) { + var url = this; + var state = stateOverride || SCHEME_START; + var pointer = 0; + var buffer = ''; + var seenAt = false; + var seenBracket = false; + var seenPasswordToken = false; + var codePoints, chr, bufferCodePoints, failure; + + input = $toString(input); + + if (!stateOverride) { + url.scheme = ''; + url.username = ''; + url.password = ''; + url.host = null; + url.port = null; + url.path = []; + url.query = null; + url.fragment = null; + url.cannotBeABaseURL = false; + input = replace(input, LEADING_C0_CONTROL_OR_SPACE, ''); + input = replace(input, TRAILING_C0_CONTROL_OR_SPACE, '$1'); + } + + input = replace(input, TAB_AND_NEW_LINE, ''); + + codePoints = arrayFrom(input); + + while (pointer <= codePoints.length) { + chr = codePoints[pointer]; + switch (state) { + case SCHEME_START: + if (chr && exec(ALPHA, chr)) { + buffer += toLowerCase(chr); + state = SCHEME; + } else if (!stateOverride) { + state = NO_SCHEME; + continue; + } else return INVALID_SCHEME; + break; + + case SCHEME: + if (chr && (exec(ALPHANUMERIC, chr) || chr === '+' || chr === '-' || chr === '.')) { + buffer += toLowerCase(chr); + } else if (chr === ':') { + if (stateOverride && ( + (url.isSpecial() !== hasOwn(specialSchemes, buffer)) || + (buffer === 'file' && (url.includesCredentials() || url.port !== null)) || + (url.scheme === 'file' && !url.host) + )) return; + url.scheme = buffer; + if (stateOverride) { + if (url.isSpecial() && specialSchemes[url.scheme] === url.port) url.port = null; + return; + } + buffer = ''; + if (url.scheme === 'file') { + state = FILE; + } else if (url.isSpecial() && base && base.scheme === url.scheme) { + state = SPECIAL_RELATIVE_OR_AUTHORITY; + } else if (url.isSpecial()) { + state = SPECIAL_AUTHORITY_SLASHES; + } else if (codePoints[pointer + 1] === '/') { + state = PATH_OR_AUTHORITY; + pointer++; + } else { + url.cannotBeABaseURL = true; + push(url.path, ''); + state = CANNOT_BE_A_BASE_URL_PATH; + } + } else if (!stateOverride) { + buffer = ''; + state = NO_SCHEME; + pointer = 0; + continue; + } else return INVALID_SCHEME; + break; + + case NO_SCHEME: + if (!base || (base.cannotBeABaseURL && chr !== '#')) return INVALID_SCHEME; + if (base.cannotBeABaseURL && chr === '#') { + url.scheme = base.scheme; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + url.cannotBeABaseURL = true; + state = FRAGMENT; + break; + } + state = base.scheme === 'file' ? FILE : RELATIVE; + continue; + + case SPECIAL_RELATIVE_OR_AUTHORITY: + if (chr === '/' && codePoints[pointer + 1] === '/') { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + pointer++; + } else { + state = RELATIVE; + continue; + } break; + + case PATH_OR_AUTHORITY: + if (chr === '/') { + state = AUTHORITY; + break; + } else { + state = PATH; + continue; + } + + case RELATIVE: + url.scheme = base.scheme; + if (chr === EOF) { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + } else if (chr === '/' || (chr === '\\' && url.isSpecial())) { + state = RELATIVE_SLASH; + } else if (chr === '?') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.path.length--; + state = PATH; + continue; + } break; + + case RELATIVE_SLASH: + if (url.isSpecial() && (chr === '/' || chr === '\\')) { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + } else if (chr === '/') { + state = AUTHORITY; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + state = PATH; + continue; + } break; + + case SPECIAL_AUTHORITY_SLASHES: + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + if (chr !== '/' || charAt(buffer, pointer + 1) !== '/') continue; + pointer++; + break; + + case SPECIAL_AUTHORITY_IGNORE_SLASHES: + if (chr !== '/' && chr !== '\\') { + state = AUTHORITY; + continue; + } break; + + case AUTHORITY: + if (chr === '@') { + if (seenAt) buffer = '%40' + buffer; + seenAt = true; + bufferCodePoints = arrayFrom(buffer); + for (var i = 0; i < bufferCodePoints.length; i++) { + var codePoint = bufferCodePoints[i]; + if (codePoint === ':' && !seenPasswordToken) { + seenPasswordToken = true; + continue; + } + var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); + if (seenPasswordToken) url.password += encodedCodePoints; + else url.username += encodedCodePoints; + } + buffer = ''; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) + ) { + if (seenAt && buffer === '') return INVALID_AUTHORITY; + pointer -= arrayFrom(buffer).length + 1; + buffer = ''; + state = HOST; + } else buffer += chr; + break; + + case HOST: + case HOSTNAME: + if (stateOverride && url.scheme === 'file') { + state = FILE_HOST; + continue; + } else if (chr === ':' && !seenBracket) { + if (buffer === '') return INVALID_HOST; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PORT; + if (stateOverride === HOSTNAME) return; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) + ) { + if (url.isSpecial() && buffer === '') return INVALID_HOST; + if (stateOverride && buffer === '' && (url.includesCredentials() || url.port !== null)) return; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PATH_START; + if (stateOverride) return; + continue; + } else { + if (chr === '[') seenBracket = true; + else if (chr === ']') seenBracket = false; + buffer += chr; + } break; + + case PORT: + if (exec(DIGIT, chr)) { + buffer += chr; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) || + stateOverride + ) { + if (buffer !== '') { + var port = parseInt(buffer, 10); + if (port > 0xFFFF) return INVALID_PORT; + url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port; + buffer = ''; + } + if (stateOverride) return; + state = PATH_START; + continue; + } else return INVALID_PORT; + break; + + case FILE: + url.scheme = 'file'; + if (chr === '/' || chr === '\\') state = FILE_SLASH; + else if (base && base.scheme === 'file') { + switch (chr) { + case EOF: + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + break; + case '?': + url.host = base.host; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + break; + case '#': + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + break; + default: + if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + url.host = base.host; + url.path = arraySlice(base.path); + url.shortenPath(); + } + state = PATH; + continue; + } + } else { + state = PATH; + continue; + } break; + + case FILE_SLASH: + if (chr === '/' || chr === '\\') { + state = FILE_HOST; + break; + } + if (base && base.scheme === 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]); + else url.host = base.host; + } + state = PATH; + continue; + + case FILE_HOST: + if (chr === EOF || chr === '/' || chr === '\\' || chr === '?' || chr === '#') { + if (!stateOverride && isWindowsDriveLetter(buffer)) { + state = PATH; + } else if (buffer === '') { + url.host = ''; + if (stateOverride) return; + state = PATH_START; + } else { + failure = url.parseHost(buffer); + if (failure) return failure; + if (url.host === 'localhost') url.host = ''; + if (stateOverride) return; + buffer = ''; + state = PATH_START; + } continue; + } else buffer += chr; + break; + + case PATH_START: + if (url.isSpecial()) { + state = PATH; + if (chr !== '/' && chr !== '\\') continue; + } else if (!stateOverride && chr === '?') { + url.query = ''; + state = QUERY; + } else if (!stateOverride && chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + state = PATH; + if (chr !== '/') continue; + } break; + + case PATH: + if ( + chr === EOF || chr === '/' || + (chr === '\\' && url.isSpecial()) || + (!stateOverride && (chr === '?' || chr === '#')) + ) { + if (isDoubleDot(buffer)) { + url.shortenPath(); + if (chr !== '/' && !(chr === '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else if (isSingleDot(buffer)) { + if (chr !== '/' && !(chr === '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else { + if (url.scheme === 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { + if (url.host) url.host = ''; + buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter + } + push(url.path, buffer); + } + buffer = ''; + if (url.scheme === 'file' && (chr === EOF || chr === '?' || chr === '#')) { + while (url.path.length > 1 && url.path[0] === '') { + shift(url.path); + } + } + if (chr === '?') { + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } + } else { + buffer += percentEncode(chr, pathPercentEncodeSet); + } break; + + case CANNOT_BE_A_BASE_URL_PATH: + if (chr === '?') { + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet); + } break; + + case QUERY: + if (!stateOverride && chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + if (chr === "'" && url.isSpecial()) url.query += '%27'; + else if (chr === '#') url.query += '%23'; + else url.query += percentEncode(chr, C0ControlPercentEncodeSet); + } break; + + case FRAGMENT: + if (chr !== EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet); + break; + } + + pointer++; + } + }, + // https://url.spec.whatwg.org/#host-parsing + parseHost: function (input) { + var result, codePoints, index; + if (charAt(input, 0) === '[') { + if (charAt(input, input.length - 1) !== ']') return INVALID_HOST; + result = parseIPv6(stringSlice(input, 1, -1)); + if (!result) return INVALID_HOST; + this.host = result; + // opaque host + } else if (!this.isSpecial()) { + if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST; + result = ''; + codePoints = arrayFrom(input); + for (index = 0; index < codePoints.length; index++) { + result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); + } + this.host = result; + } else { + input = toASCII(input); + if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST; + result = parseIPv4(input); + if (result === null) return INVALID_HOST; + this.host = result; + } + }, + // https://url.spec.whatwg.org/#cannot-have-a-username-password-port + cannotHaveUsernamePasswordPort: function () { + return !this.host || this.cannotBeABaseURL || this.scheme === 'file'; + }, + // https://url.spec.whatwg.org/#include-credentials + includesCredentials: function () { + return this.username !== '' || this.password !== ''; + }, + // https://url.spec.whatwg.org/#is-special + isSpecial: function () { + return hasOwn(specialSchemes, this.scheme); + }, + // https://url.spec.whatwg.org/#shorten-a-urls-path + shortenPath: function () { + var path = this.path; + var pathSize = path.length; + if (pathSize && (this.scheme !== 'file' || pathSize !== 1 || !isWindowsDriveLetter(path[0], true))) { + path.length--; + } + }, + // https://url.spec.whatwg.org/#concept-url-serializer + serialize: function () { + var url = this; + var scheme = url.scheme; + var username = url.username; + var password = url.password; + var host = url.host; + var port = url.port; + var path = url.path; + var query = url.query; + var fragment = url.fragment; + var output = scheme + ':'; + if (host !== null) { + output += '//'; + if (url.includesCredentials()) { + output += username + (password ? ':' + password : '') + '@'; + } + output += serializeHost(host); + if (port !== null) output += ':' + port; + } else if (scheme === 'file') output += '//'; + output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + if (query !== null) output += '?' + query; + if (fragment !== null) output += '#' + fragment; + return output; + }, + // https://url.spec.whatwg.org/#dom-url-href + setHref: function (href) { + var failure = this.parse(href); + if (failure) throw new TypeError(failure); + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-origin + getOrigin: function () { + var scheme = this.scheme; + var port = this.port; + if (scheme === 'blob') try { + return new URLConstructor(scheme.path[0]).origin; + } catch (error) { + return 'null'; + } + if (scheme === 'file' || !this.isSpecial()) return 'null'; + return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : ''); + }, + // https://url.spec.whatwg.org/#dom-url-protocol + getProtocol: function () { + return this.scheme + ':'; + }, + setProtocol: function (protocol) { + this.parse($toString(protocol) + ':', SCHEME_START); + }, + // https://url.spec.whatwg.org/#dom-url-username + getUsername: function () { + return this.username; + }, + setUsername: function (username) { + var codePoints = arrayFrom($toString(username)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.username = ''; + for (var i = 0; i < codePoints.length; i++) { + this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-password + getPassword: function () { + return this.password; + }, + setPassword: function (password) { + var codePoints = arrayFrom($toString(password)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.password = ''; + for (var i = 0; i < codePoints.length; i++) { + this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-host + getHost: function () { + var host = this.host; + var port = this.port; + return host === null ? '' + : port === null ? serializeHost(host) + : serializeHost(host) + ':' + port; + }, + setHost: function (host) { + if (this.cannotBeABaseURL) return; + this.parse(host, HOST); + }, + // https://url.spec.whatwg.org/#dom-url-hostname + getHostname: function () { + var host = this.host; + return host === null ? '' : serializeHost(host); + }, + setHostname: function (hostname) { + if (this.cannotBeABaseURL) return; + this.parse(hostname, HOSTNAME); + }, + // https://url.spec.whatwg.org/#dom-url-port + getPort: function () { + var port = this.port; + return port === null ? '' : $toString(port); + }, + setPort: function (port) { + if (this.cannotHaveUsernamePasswordPort()) return; + port = $toString(port); + if (port === '') this.port = null; + else this.parse(port, PORT); + }, + // https://url.spec.whatwg.org/#dom-url-pathname + getPathname: function () { + var path = this.path; + return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + }, + setPathname: function (pathname) { + if (this.cannotBeABaseURL) return; + this.path = []; + this.parse(pathname, PATH_START); + }, + // https://url.spec.whatwg.org/#dom-url-search + getSearch: function () { + var query = this.query; + return query ? '?' + query : ''; + }, + setSearch: function (search) { + search = $toString(search); + if (search === '') { + this.query = null; + } else { + if (charAt(search, 0) === '?') search = stringSlice(search, 1); + this.query = ''; + this.parse(search, QUERY); + } + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-searchparams + getSearchParams: function () { + return this.searchParams.facade; + }, + // https://url.spec.whatwg.org/#dom-url-hash + getHash: function () { + var fragment = this.fragment; + return fragment ? '#' + fragment : ''; + }, + setHash: function (hash) { + hash = $toString(hash); + if (hash === '') { + this.fragment = null; + return; + } + if (charAt(hash, 0) === '#') hash = stringSlice(hash, 1); + this.fragment = ''; + this.parse(hash, FRAGMENT); + }, + update: function () { + this.query = this.searchParams.serialize() || null; + } +}; + +// `URL` constructor +// https://url.spec.whatwg.org/#url-class +var URLConstructor = function URL(url /* , base */) { + var that = anInstance(this, URLPrototype); + var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined; + var state = setInternalState(that, new URLState(url, false, base)); + if (!DESCRIPTORS) { + that.href = state.serialize(); + that.origin = state.getOrigin(); + that.protocol = state.getProtocol(); + that.username = state.getUsername(); + that.password = state.getPassword(); + that.host = state.getHost(); + that.hostname = state.getHostname(); + that.port = state.getPort(); + that.pathname = state.getPathname(); + that.search = state.getSearch(); + that.searchParams = state.getSearchParams(); + that.hash = state.getHash(); + } +}; + +var URLPrototype = URLConstructor.prototype; + +var accessorDescriptor = function (getter, setter) { + return { + get: function () { + return getInternalURLState(this)[getter](); + }, + set: setter && function (value) { + return getInternalURLState(this)[setter](value); + }, + configurable: true, + enumerable: true + }; +}; + +if (DESCRIPTORS) { + // `URL.prototype.href` accessors pair + // https://url.spec.whatwg.org/#dom-url-href + defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref')); + // `URL.prototype.origin` getter + // https://url.spec.whatwg.org/#dom-url-origin + defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin')); + // `URL.prototype.protocol` accessors pair + // https://url.spec.whatwg.org/#dom-url-protocol + defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol')); + // `URL.prototype.username` accessors pair + // https://url.spec.whatwg.org/#dom-url-username + defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername')); + // `URL.prototype.password` accessors pair + // https://url.spec.whatwg.org/#dom-url-password + defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword')); + // `URL.prototype.host` accessors pair + // https://url.spec.whatwg.org/#dom-url-host + defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost')); + // `URL.prototype.hostname` accessors pair + // https://url.spec.whatwg.org/#dom-url-hostname + defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname')); + // `URL.prototype.port` accessors pair + // https://url.spec.whatwg.org/#dom-url-port + defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort')); + // `URL.prototype.pathname` accessors pair + // https://url.spec.whatwg.org/#dom-url-pathname + defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname')); + // `URL.prototype.search` accessors pair + // https://url.spec.whatwg.org/#dom-url-search + defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch')); + // `URL.prototype.searchParams` getter + // https://url.spec.whatwg.org/#dom-url-searchparams + defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams')); + // `URL.prototype.hash` accessors pair + // https://url.spec.whatwg.org/#dom-url-hash + defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash')); +} + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +defineBuiltIn(URLPrototype, 'toJSON', function toJSON() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); + +// `URL.prototype.toString` method +// https://url.spec.whatwg.org/#URL-stringification-behavior +defineBuiltIn(URLPrototype, 'toString', function toString() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); + +if (NativeURL) { + var nativeCreateObjectURL = NativeURL.createObjectURL; + var nativeRevokeObjectURL = NativeURL.revokeObjectURL; + // `URL.createObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL + if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL)); + // `URL.revokeObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL + if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL)); +} + +setToStringTag(URLConstructor, 'URL'); + +$({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { + URL: URLConstructor +}); + + +/***/ }), +/* 566 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = !fails(function () { + // eslint-disable-next-line unicorn/relative-url-style -- required for testing + var url = new URL('b?a=1&b=2&c=3', 'https://a'); + var params = url.searchParams; + var params2 = new URLSearchParams('a=1&a=2&b=3'); + var result = ''; + url.pathname = 'c%20d'; + params.forEach(function (value, key) { + params['delete']('b'); + result += key + value; + }); + params2['delete']('a', 2); + // `undefined` case is a Chromium 117 bug + // https://bugs.chromium.org/p/v8/issues/detail?id=14222 + params2['delete']('b', undefined); + return (IS_PURE && (!url.toJSON || !params2.has('a', 1) || params2.has('a', 2) || !params2.has('a', undefined) || params2.has('b'))) + || (!params.size && (IS_PURE || !DESCRIPTORS)) + || !params.sort + || url.href !== 'https://a/c%20d?a=1&c=3' + || params.get('c') !== '3' + || String(new URLSearchParams('?a=1')) !== 'a=1' + || !params[ITERATOR] + // throws in Edge + || new URL('https://a@b').username !== 'a' + || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' + // not punycoded in Edge + || new URL('https://тест').host !== 'xn--e1aybc' + // not escaped in Chrome 62- + || new URL('https://a#б').hash !== '#%D0%B1' + // fails in Chrome 66- + || result !== 'a1c3' + // throws in Safari + || new URL('https://x', undefined).host !== 'x'; +}); + + +/***/ }), +/* 567 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js +var uncurryThis = __webpack_require__(14); + +var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 +var base = 36; +var tMin = 1; +var tMax = 26; +var skew = 38; +var damp = 700; +var initialBias = 72; +var initialN = 128; // 0x80 +var delimiter = '-'; // '\x2D' +var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars +var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators +var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; +var baseMinusTMin = base - tMin; + +var $RangeError = RangeError; +var exec = uncurryThis(regexSeparators.exec); +var floor = Math.floor; +var fromCharCode = String.fromCharCode; +var charCodeAt = uncurryThis(''.charCodeAt); +var join = uncurryThis([].join); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var split = uncurryThis(''.split); +var toLowerCase = uncurryThis(''.toLowerCase); + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + */ +var ucs2decode = function (string) { + var output = []; + var counter = 0; + var length = string.length; + while (counter < length) { + var value = charCodeAt(string, counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + var extra = charCodeAt(string, counter++); + if ((extra & 0xFC00) === 0xDC00) { // Low surrogate. + push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + push(output, value); + counter--; + } + } else { + push(output, value); + } + } + return output; +}; + +/** + * Converts a digit/integer into a basic code point. + */ +var digitToBasic = function (digit) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + */ +var adapt = function (delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + while (delta > baseMinusTMin * tMax >> 1) { + delta = floor(delta / baseMinusTMin); + k += base; + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + */ +var encode = function (input) { + var output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + var inputLength = input.length; + + // Initialize the state. + var n = initialN; + var delta = 0; + var bias = initialBias; + var i, currentValue; + + // Handle the basic code points. + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < 0x80) { + push(output, fromCharCode(currentValue)); + } + } + + var basicLength = output.length; // number of basic code points. + var handledCPCount = basicLength; // number of code points that have been handled; + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + push(output, delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + // All non-basic code points < n have been handled already. Find the next larger one: + var m = maxInt; + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow. + var handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + throw new $RangeError(OVERFLOW_ERROR); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < n && ++delta > maxInt) { + throw new $RangeError(OVERFLOW_ERROR); + } + if (currentValue === n) { + // Represent delta as a generalized variable-length integer. + var q = delta; + var k = base; + while (true) { + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (q < t) break; + var qMinusT = q - t; + var baseMinusT = base - t; + push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT))); + q = floor(qMinusT / baseMinusT); + k += base; + } + + push(output, fromCharCode(digitToBasic(q))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength); + delta = 0; + handledCPCount++; + } + } + + delta++; + n++; + } + return join(output, ''); +}; + +module.exports = function (input) { + var encoded = []; + var labels = split(replace(toLowerCase(input), regexSeparators, '\u002E'), '.'); + var i, label; + for (i = 0; i < labels.length; i++) { + label = labels[i]; + push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label); + } + return join(encoded, '.'); +}; + + +/***/ }), +/* 568 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__(168); +__webpack_require__(444); +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var safeGetBuiltIn = __webpack_require__(364); +var getBuiltIn = __webpack_require__(23); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var DESCRIPTORS = __webpack_require__(6); +var USE_NATIVE_URL = __webpack_require__(566); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var setToStringTag = __webpack_require__(82); +var createIteratorConstructor = __webpack_require__(170); +var InternalStateModule = __webpack_require__(51); +var anInstance = __webpack_require__(211); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var bind = __webpack_require__(84); +var classof = __webpack_require__(69); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var $toString = __webpack_require__(68); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var createIterResultObject = __webpack_require__(172); +var validateArgumentsLength = __webpack_require__(361); +var wellKnownSymbol = __webpack_require__(33); +var arraySort = __webpack_require__(189); + +var ITERATOR = wellKnownSymbol('iterator'); +var URL_SEARCH_PARAMS = 'URLSearchParams'; +var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); +var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); + +var nativeFetch = safeGetBuiltIn('fetch'); +var NativeRequest = safeGetBuiltIn('Request'); +var Headers = safeGetBuiltIn('Headers'); +var RequestPrototype = NativeRequest && NativeRequest.prototype; +var HeadersPrototype = Headers && Headers.prototype; +var TypeError = globalThis.TypeError; +var encodeURIComponent = globalThis.encodeURIComponent; +var fromCharCode = String.fromCharCode; +var fromCodePoint = getBuiltIn('String', 'fromCodePoint'); +var $parseInt = parseInt; +var charAt = uncurryThis(''.charAt); +var join = uncurryThis([].join); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var splice = uncurryThis([].splice); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); +var exec = uncurryThis(/./.exec); + +var plus = /\+/g; +var FALLBACK_REPLACER = '\uFFFD'; +var VALID_HEX = /^[0-9a-f]+$/i; + +var parseHexOctet = function (string, start) { + var substr = stringSlice(string, start, start + 2); + if (!exec(VALID_HEX, substr)) return NaN; + + return $parseInt(substr, 16); +}; + +var getLeadingOnes = function (octet) { + var count = 0; + for (var mask = 0x80; mask > 0 && (octet & mask) !== 0; mask >>= 1) { + count++; + } + return count; +}; + +var utf8Decode = function (octets) { + var codePoint = null; + + switch (octets.length) { + case 1: + codePoint = octets[0]; + break; + case 2: + codePoint = (octets[0] & 0x1F) << 6 | (octets[1] & 0x3F); + break; + case 3: + codePoint = (octets[0] & 0x0F) << 12 | (octets[1] & 0x3F) << 6 | (octets[2] & 0x3F); + break; + case 4: + codePoint = (octets[0] & 0x07) << 18 | (octets[1] & 0x3F) << 12 | (octets[2] & 0x3F) << 6 | (octets[3] & 0x3F); + break; + } + + return codePoint > 0x10FFFF ? null : codePoint; +}; + +var decode = function (input) { + input = replace(input, plus, ' '); + var length = input.length; + var result = ''; + var i = 0; + + while (i < length) { + var decodedChar = charAt(input, i); + + if (decodedChar === '%') { + if (charAt(input, i + 1) === '%' || i + 3 > length) { + result += '%'; + i++; + continue; + } + + var octet = parseHexOctet(input, i + 1); + + // eslint-disable-next-line no-self-compare -- NaN check + if (octet !== octet) { + result += decodedChar; + i++; + continue; + } + + i += 2; + var byteSequenceLength = getLeadingOnes(octet); + + if (byteSequenceLength === 0) { + decodedChar = fromCharCode(octet); + } else { + if (byteSequenceLength === 1 || byteSequenceLength > 4) { + result += FALLBACK_REPLACER; + i++; + continue; + } + + var octets = [octet]; + var sequenceIndex = 1; + + while (sequenceIndex < byteSequenceLength) { + i++; + if (i + 3 > length || charAt(input, i) !== '%') break; + + var nextByte = parseHexOctet(input, i + 1); + + // eslint-disable-next-line no-self-compare -- NaN check + if (nextByte !== nextByte) { + i += 3; + break; + } + if (nextByte > 191 || nextByte < 128) break; + + push(octets, nextByte); + i += 2; + sequenceIndex++; + } + + if (octets.length !== byteSequenceLength) { + result += FALLBACK_REPLACER; + continue; + } + + var codePoint = utf8Decode(octets); + if (codePoint === null) { + result += FALLBACK_REPLACER; + } else { + decodedChar = fromCodePoint(codePoint); + } + } + } + + result += decodedChar; + i++; + } + + return result; +}; + +var find = /[!'()~]|%20/g; + +var replacements = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+' +}; + +var replacer = function (match) { + return replacements[match]; +}; + +var serialize = function (it) { + return replace(encodeURIComponent(it), find, replacer); +}; + +var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { + setInternalState(this, { + type: URL_SEARCH_PARAMS_ITERATOR, + target: getInternalParamsState(params).entries, + index: 0, + kind: kind + }); +}, URL_SEARCH_PARAMS, function next() { + var state = getInternalIteratorState(this); + var target = state.target; + var index = state.index++; + if (!target || index >= target.length) { + state.target = null; + return createIterResultObject(undefined, true); + } + var entry = target[index]; + switch (state.kind) { + case 'keys': return createIterResultObject(entry.key, false); + case 'values': return createIterResultObject(entry.value, false); + } return createIterResultObject([entry.key, entry.value], false); +}, true); + +var URLSearchParamsState = function (init) { + this.entries = []; + this.url = null; + + if (init !== undefined) { + if (isObject(init)) this.parseObject(init); + else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init)); + } +}; + +URLSearchParamsState.prototype = { + type: URL_SEARCH_PARAMS, + bindURL: function (url) { + this.url = url; + this.update(); + }, + parseObject: function (object) { + var entries = this.entries; + var iteratorMethod = getIteratorMethod(object); + var iterator, next, step, entryIterator, entryNext, first, second; + + if (iteratorMethod) { + iterator = getIterator(object, iteratorMethod); + next = iterator.next; + while (!(step = call(next, iterator)).done) { + entryIterator = getIterator(anObject(step.value)); + entryNext = entryIterator.next; + if ( + (first = call(entryNext, entryIterator)).done || + (second = call(entryNext, entryIterator)).done || + !call(entryNext, entryIterator).done + ) throw new TypeError('Expected sequence with length 2'); + push(entries, { key: $toString(first.value), value: $toString(second.value) }); + } + } else for (var key in object) if (hasOwn(object, key)) { + push(entries, { key: key, value: $toString(object[key]) }); + } + }, + parseQuery: function (query) { + if (query) { + var entries = this.entries; + var attributes = split(query, '&'); + var index = 0; + var attribute, entry; + while (index < attributes.length) { + attribute = attributes[index++]; + if (attribute.length) { + entry = split(attribute, '='); + push(entries, { + key: decode(shift(entry)), + value: decode(join(entry, '=')) + }); + } + } + } + }, + serialize: function () { + var entries = this.entries; + var result = []; + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + push(result, serialize(entry.key) + '=' + serialize(entry.value)); + } return join(result, '&'); + }, + update: function () { + this.entries.length = 0; + this.parseQuery(this.url.query); + }, + updateURL: function () { + if (this.url) this.url.update(); + } +}; + +// `URLSearchParams` constructor +// https://url.spec.whatwg.org/#interface-urlsearchparams +var URLSearchParamsConstructor = function URLSearchParams(/* init */) { + anInstance(this, URLSearchParamsPrototype); + var init = arguments.length > 0 ? arguments[0] : undefined; + var state = setInternalState(this, new URLSearchParamsState(init)); + if (!DESCRIPTORS) this.size = state.entries.length; +}; + +var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; + +defineBuiltIns(URLSearchParamsPrototype, { + // `URLSearchParams.prototype.append` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-append + append: function append(name, value) { + var state = getInternalParamsState(this); + validateArgumentsLength(arguments.length, 2); + push(state.entries, { key: $toString(name), value: $toString(value) }); + if (!DESCRIPTORS) this.length++; + state.updateURL(); + }, + // `URLSearchParams.prototype.delete` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-delete + 'delete': function (name /* , value */) { + var state = getInternalParamsState(this); + var length = validateArgumentsLength(arguments.length, 1); + var entries = state.entries; + var key = $toString(name); + var $value = length < 2 ? undefined : arguments[1]; + var value = $value === undefined ? $value : $toString($value); + var index = 0; + while (index < entries.length) { + var entry = entries[index]; + if (entry.key === key && (value === undefined || entry.value === value)) { + splice(entries, index, 1); + if (value !== undefined) break; + } else index++; + } + if (!DESCRIPTORS) this.size = entries.length; + state.updateURL(); + }, + // `URLSearchParams.prototype.get` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-get + get: function get(name) { + var entries = getInternalParamsState(this).entries; + validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) return entries[index].value; + } + return null; + }, + // `URLSearchParams.prototype.getAll` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-getall + getAll: function getAll(name) { + var entries = getInternalParamsState(this).entries; + validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var result = []; + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) push(result, entries[index].value); + } + return result; + }, + // `URLSearchParams.prototype.has` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-has + has: function has(name /* , value */) { + var entries = getInternalParamsState(this).entries; + var length = validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var $value = length < 2 ? undefined : arguments[1]; + var value = $value === undefined ? $value : $toString($value); + var index = 0; + while (index < entries.length) { + var entry = entries[index++]; + if (entry.key === key && (value === undefined || entry.value === value)) return true; + } + return false; + }, + // `URLSearchParams.prototype.set` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-set + set: function set(name, value) { + var state = getInternalParamsState(this); + validateArgumentsLength(arguments.length, 1); + var entries = state.entries; + var found = false; + var key = $toString(name); + var val = $toString(value); + var index = 0; + var entry; + for (; index < entries.length; index++) { + entry = entries[index]; + if (entry.key === key) { + if (found) splice(entries, index--, 1); + else { + found = true; + entry.value = val; + } + } + } + if (!found) push(entries, { key: key, value: val }); + if (!DESCRIPTORS) this.size = entries.length; + state.updateURL(); + }, + // `URLSearchParams.prototype.sort` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-sort + sort: function sort() { + var state = getInternalParamsState(this); + arraySort(state.entries, function (a, b) { + return a.key > b.key ? 1 : -1; + }); + state.updateURL(); + }, + // `URLSearchParams.prototype.forEach` method + forEach: function forEach(callback /* , thisArg */) { + var entries = getInternalParamsState(this).entries; + var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined); + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + boundFunction(entry.value, entry.key, this); + } + }, + // `URLSearchParams.prototype.keys` method + keys: function keys() { + return new URLSearchParamsIterator(this, 'keys'); + }, + // `URLSearchParams.prototype.values` method + values: function values() { + return new URLSearchParamsIterator(this, 'values'); + }, + // `URLSearchParams.prototype.entries` method + entries: function entries() { + return new URLSearchParamsIterator(this, 'entries'); + } +}, { enumerable: true }); + +// `URLSearchParams.prototype[@@iterator]` method +defineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' }); + +// `URLSearchParams.prototype.toString` method +// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior +defineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() { + return getInternalParamsState(this).serialize(); +}, { enumerable: true }); + +// `URLSearchParams.prototype.size` getter +// https://github.com/whatwg/url/pull/734 +if (DESCRIPTORS) defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + return getInternalParamsState(this).entries.length; + }, + configurable: true, + enumerable: true +}); + +setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); + +$({ global: true, constructor: true, forced: !USE_NATIVE_URL }, { + URLSearchParams: URLSearchParamsConstructor +}); + +// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams` +if (!USE_NATIVE_URL && isCallable(Headers)) { + var headersHas = uncurryThis(HeadersPrototype.has); + var headersSet = uncurryThis(HeadersPrototype.set); + + var wrapRequestOptions = function (init) { + if (isObject(init)) { + var body = init.body; + var headers; + if (classof(body) === URL_SEARCH_PARAMS) { + headers = init.headers ? new Headers(init.headers) : new Headers(); + if (!headersHas(headers, 'content-type')) { + headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); + } + return create(init, { + body: createPropertyDescriptor(0, $toString(body)), + headers: createPropertyDescriptor(0, headers) + }); + } + } return init; + }; + + if (isCallable(nativeFetch)) { + $({ global: true, enumerable: true, dontCallGetSet: true, forced: true }, { + fetch: function fetch(input /* , init */) { + return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + } + }); + } + + if (isCallable(NativeRequest)) { + var RequestConstructor = function Request(input /* , init */) { + anInstance(this, RequestPrototype); + return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + }; + + RequestPrototype.constructor = RequestConstructor; + RequestConstructor.prototype = RequestPrototype; + + $({ global: true, constructor: true, dontCallGetSet: true, forced: true }, { + Request: RequestConstructor + }); + } +} + +module.exports = { + URLSearchParams: URLSearchParamsConstructor, + getState: getInternalParamsState +}; + + +/***/ }), +/* 569 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var fails = __webpack_require__(7); +var validateArgumentsLength = __webpack_require__(361); +var toString = __webpack_require__(68); +var USE_NATIVE_URL = __webpack_require__(566); + +var URL = getBuiltIn('URL'); + +// https://github.com/nodejs/node/issues/47505 +// https://github.com/denoland/deno/issues/18893 +var THROWS_WITHOUT_ARGUMENTS = USE_NATIVE_URL && fails(function () { + URL.canParse(); +}); + +// Bun ~ 1.0.30 bug +// https://github.com/oven-sh/bun/issues/9250 +var WRONG_ARITY = fails(function () { + return URL.canParse.length !== 1; +}); + +// `URL.canParse` method +// https://url.spec.whatwg.org/#dom-url-canparse +$({ target: 'URL', stat: true, forced: !THROWS_WITHOUT_ARGUMENTS || WRONG_ARITY }, { + canParse: function canParse(url) { + var length = validateArgumentsLength(arguments.length, 1); + var urlString = toString(url); + var base = length < 2 || arguments[1] === undefined ? undefined : toString(arguments[1]); + try { + return !!new URL(urlString, base); + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 570 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var validateArgumentsLength = __webpack_require__(361); +var toString = __webpack_require__(68); +var USE_NATIVE_URL = __webpack_require__(566); + +var URL = getBuiltIn('URL'); + +// `URL.parse` method +// https://url.spec.whatwg.org/#dom-url-canparse +$({ target: 'URL', stat: true, forced: !USE_NATIVE_URL }, { + parse: function parse(url) { + var length = validateArgumentsLength(arguments.length, 1); + var urlString = toString(url); + var base = length < 2 || arguments[1] === undefined ? undefined : toString(arguments[1]); + try { + return new URL(urlString, base); + } catch (error) { + return null; + } + } +}); + + +/***/ }), +/* 571 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +$({ target: 'URL', proto: true, enumerable: true }, { + toJSON: function toJSON() { + return call(URL.prototype.toString, this); + } +}); + + +/***/ }), +/* 572 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(568); + + +/***/ }), +/* 573 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); + +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var append = uncurryThis(URLSearchParamsPrototype.append); +var $delete = uncurryThis(URLSearchParamsPrototype['delete']); +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); +var push = uncurryThis([].push); +var params = new $URLSearchParams('a=1&a=2&b=3'); + +params['delete']('a', 1); +// `undefined` case is a Chromium 117 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=14222 +params['delete']('b', undefined); + +if (params + '' !== 'a=2') { + defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) return $delete(this, name); + var entries = []; + forEach(this, function (v, k) { // also validates `this` + push(entries, { key: k, value: v }); + }); + validateArgumentsLength(length, 1); + var key = toString(name); + var value = toString($value); + var index = 0; + var dindex = 0; + var found = false; + var entriesLength = entries.length; + var entry; + while (index < entriesLength) { + entry = entries[index++]; + if (found || entry.key === key) { + found = true; + $delete(this, entry.key); + } else dindex++; + } + while (dindex < entriesLength) { + entry = entries[dindex++]; + if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value); + } + }, { enumerable: true, unsafe: true }); +} + + +/***/ }), +/* 574 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); + +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var getAll = uncurryThis(URLSearchParamsPrototype.getAll); +var $has = uncurryThis(URLSearchParamsPrototype.has); +var params = new $URLSearchParams('a=1'); + +// `undefined` case is a Chromium 117 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=14222 +if (params.has('a', 2) || !params.has('a', undefined)) { + defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) return $has(this, name); + var values = getAll(this, name); // also validates `this` + validateArgumentsLength(length, 1); + var value = toString($value); + var index = 0; + while (index < values.length) { + if (values[index++] === value) return true; + } return false; + }, { enumerable: true, unsafe: true }); +} + + +/***/ }), +/* 575 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var uncurryThis = __webpack_require__(14); +var defineBuiltInAccessor = __webpack_require__(77); + +var URLSearchParamsPrototype = URLSearchParams.prototype; +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); + +// `URLSearchParams.prototype.size` getter +// https://github.com/whatwg/url/pull/734 +if (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) { + defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + var count = 0; + forEach(this, function () { count++; }); + return count; + }, + configurable: true, + enumerable: true + }); +} + + +/***/ }), +/* 576 */, +/* 577 */ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "default": function() { return /* binding */ Sparkline; } +}); + +;// ./src/config/classes.ts +var __defProp = Object.defineProperty; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +const $COMMON = { + button: "bb-button", + chart: "bb-chart", + empty: "bb-empty", + main: "bb-main", + target: "bb-target", + EXPANDED: "_expanded_" +}; +const $ARC = { + arc: "bb-arc", + arcLabelLine: "bb-arc-label-line", + arcRange: "bb-arc-range", + arcs: "bb-arcs", + chartArc: "bb-chart-arc", + chartArcs: "bb-chart-arcs", + chartArcsBackground: "bb-chart-arcs-background", + chartArcsTitle: "bb-chart-arcs-title", + needle: "bb-needle" +}; +const $AREA = { + area: "bb-area", + areas: "bb-areas" +}; +const $AXIS = { + axis: "bb-axis", + axisX: "bb-axis-x", + axisXLabel: "bb-axis-x-label", + axisY: "bb-axis-y", + axisY2: "bb-axis-y2", + axisY2Label: "bb-axis-y2-label", + axisYLabel: "bb-axis-y-label", + axisXTooltip: "bb-axis-x-tooltip", + axisYTooltip: "bb-axis-y-tooltip", + axisY2Tooltip: "bb-axis-y2-tooltip" +}; +const $BAR = { + bar: "bb-bar", + bars: "bb-bars", + chartBar: "bb-chart-bar", + chartBars: "bb-chart-bars" +}; +const $CANDLESTICK = { + candlestick: "bb-candlestick", + candlesticks: "bb-candlesticks", + chartCandlestick: "bb-chart-candlestick", + chartCandlesticks: "bb-chart-candlesticks", + valueDown: "bb-value-down", + valueUp: "bb-value-up" +}; +const $CIRCLE = { + chartCircles: "bb-chart-circles", + circle: "bb-circle", + circles: "bb-circles" +}; +const $COLOR = { + colorPattern: "bb-color-pattern", + colorScale: "bb-colorscale" +}; +const $DRAG = { + dragarea: "bb-dragarea", + INCLUDED: "_included_" +}; +const $FUNNEL = { + funnel: "bb-funnel", + chartFunnel: "bb-chart-funnel", + chartFunnels: "bb-chart-funnels", + funnelBackground: "bb-funnel-background" +}; +const $GAUGE = { + chartArcsGaugeMax: "bb-chart-arcs-gauge-max", + chartArcsGaugeMin: "bb-chart-arcs-gauge-min", + chartArcsGaugeUnit: "bb-chart-arcs-gauge-unit", + chartArcsGaugeTitle: "bb-chart-arcs-gauge-title", + gaugeValue: "bb-gauge-value" +}; +const $LEGEND = { + legend: "bb-legend", + legendBackground: "bb-legend-background", + legendItem: "bb-legend-item", + legendItemEvent: "bb-legend-item-event", + legendItemHidden: "bb-legend-item-hidden", + legendItemPoint: "bb-legend-item-point", + legendItemTile: "bb-legend-item-tile" +}; +const $LINE = { + chartLine: "bb-chart-line", + chartLines: "bb-chart-lines", + line: "bb-line", + lines: "bb-lines" +}; +const $EVENT = { + eventRect: "bb-event-rect", + eventRects: "bb-event-rects", + eventRectsMultiple: "bb-event-rects-multiple", + eventRectsSingle: "bb-event-rects-single" +}; +const $FOCUS = { + focused: "bb-focused", + defocused: "bb-defocused", + legendItemFocused: "bb-legend-item-focused", + xgridFocus: "bb-xgrid-focus", + ygridFocus: "bb-ygrid-focus" +}; +const $GRID = { + grid: "bb-grid", + gridLines: "bb-grid-lines", + xgrid: "bb-xgrid", + xgridLine: "bb-xgrid-line", + xgridLines: "bb-xgrid-lines", + xgrids: "bb-xgrids", + ygrid: "bb-ygrid", + ygridLine: "bb-ygrid-line", + ygridLines: "bb-ygrid-lines", + ygrids: "bb-ygrids" +}; +const $LEVEL = { + level: "bb-level", + levels: "bb-levels" +}; +const $RADAR = { + chartRadar: "bb-chart-radar", + chartRadars: "bb-chart-radars" +}; +const $REGION = { + region: "bb-region", + regions: "bb-regions" +}; +const $SELECT = { + selectedCircle: "bb-selected-circle", + selectedCircles: "bb-selected-circles", + SELECTED: "_selected_" +}; +const $SHAPE = { + shape: "bb-shape", + shapes: "bb-shapes" +}; +const $SUBCHART = { + brush: "bb-brush", + subchart: "bb-subchart" +}; +const $TEXT = { + chartText: "bb-chart-text", + chartTexts: "bb-chart-texts", + text: "bb-text", + texts: "bb-texts", + title: "bb-title", + TextOverlapping: "text-overlapping" +}; +const $TOOLTIP = { + tooltip: "bb-tooltip", + tooltipContainer: "bb-tooltip-container", + tooltipName: "bb-tooltip-name" +}; +const $TREEMAP = { + treemap: "bb-treemap", + chartTreemap: "bb-chart-treemap", + chartTreemaps: "bb-chart-treemaps" +}; +const $ZOOM = { + buttonZoomReset: "bb-zoom-reset", + zoomBrush: "bb-zoom-brush" +}; +/* harmony default export */ var classes = (__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, $COMMON), $ARC), $AREA), $AXIS), $BAR), $CANDLESTICK), $CIRCLE), $COLOR), $DRAG), $GAUGE), $LEGEND), $LINE), $EVENT), $FOCUS), $FUNNEL), $GRID), $RADAR), $REGION), $SELECT), $SHAPE), $SUBCHART), $TEXT), $TOOLTIP), $TREEMAP), $ZOOM)); + +;// ./node_modules/d3-dispatch/src/dispatch.js +var noop = { value: () => { +} }; +function dispatch() { + for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) { + if (!(t = arguments[i] + "") || t in _ || /[\s.]/.test(t)) throw new Error("illegal type: " + t); + _[t] = []; + } + return new Dispatch(_); +} +function Dispatch(_) { + this._ = _; +} +function parseTypenames(typenames, types) { + return typenames.trim().split(/^|\s+/).map(function(t) { + var name = "", i = t.indexOf("."); + if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); + if (t && !types.hasOwnProperty(t)) throw new Error("unknown type: " + t); + return { type: t, name }; + }); +} +Dispatch.prototype = dispatch.prototype = { + constructor: Dispatch, + on: function(typename, callback) { + var _ = this._, T = parseTypenames(typename + "", _), t, i = -1, n = T.length; + if (arguments.length < 2) { + while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t; + return; + } + if (callback != null && typeof callback !== "function") throw new Error("invalid callback: " + callback); + while (++i < n) { + if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback); + else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null); + } + return this; + }, + copy: function() { + var copy = {}, _ = this._; + for (var t in _) copy[t] = _[t].slice(); + return new Dispatch(copy); + }, + call: function(type, that) { + if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2]; + if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type); + for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args); + }, + apply: function(type, that, args) { + if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type); + for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args); + } +}; +function get(type, name) { + for (var i = 0, n = type.length, c; i < n; ++i) { + if ((c = type[i]).name === name) { + return c.value; + } + } +} +function set(type, name, callback) { + for (var i = 0, n = type.length; i < n; ++i) { + if (type[i].name === name) { + type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1)); + break; + } + } + if (callback != null) type.push({ name, value: callback }); + return type; +} +/* harmony default export */ var src_dispatch = (dispatch); + +;// ./node_modules/d3-selection/src/selector.js +function none() { +} +/* harmony default export */ function selector(selector) { + return selector == null ? none : function() { + return this.querySelector(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/select.js + + +/* harmony default export */ function selection_select(select) { + if (typeof select !== "function") select = selector(select); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) { + if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) { + if ("__data__" in node) subnode.__data__ = node.__data__; + subgroup[i] = subnode; + } + } + } + return new Selection(subgroups, this._parents); +} + +;// ./node_modules/d3-selection/src/array.js +function array(x) { + return x == null ? [] : Array.isArray(x) ? x : Array.from(x); +} + +;// ./node_modules/d3-selection/src/selectorAll.js +function empty() { + return []; +} +/* harmony default export */ function selectorAll(selector) { + return selector == null ? empty : function() { + return this.querySelectorAll(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/selectAll.js + + + +function arrayAll(select) { + return function() { + return array(select.apply(this, arguments)); + }; +} +/* harmony default export */ function selectAll(select) { + if (typeof select === "function") select = arrayAll(select); + else select = selectorAll(select); + for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + subgroups.push(select.call(node, node.__data__, i, group)); + parents.push(node); + } + } + } + return new Selection(subgroups, parents); +} + +;// ./node_modules/d3-selection/src/matcher.js +/* harmony default export */ function matcher(selector) { + return function() { + return this.matches(selector); + }; +} +function childMatcher(selector) { + return function(node) { + return node.matches(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/selectChild.js + +var find = Array.prototype.find; +function childFind(match) { + return function() { + return find.call(this.children, match); + }; +} +function childFirst() { + return this.firstElementChild; +} +/* harmony default export */ function selectChild(match) { + return this.select(match == null ? childFirst : childFind(typeof match === "function" ? match : childMatcher(match))); +} + +;// ./node_modules/d3-selection/src/selection/selectChildren.js + +var filter = Array.prototype.filter; +function children() { + return Array.from(this.children); +} +function childrenFilter(match) { + return function() { + return filter.call(this.children, match); + }; +} +/* harmony default export */ function selectChildren(match) { + return this.selectAll(match == null ? children : childrenFilter(typeof match === "function" ? match : childMatcher(match))); +} + +;// ./node_modules/d3-selection/src/selection/filter.js + + +/* harmony default export */ function selection_filter(match) { + if (typeof match !== "function") match = matcher(match); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) { + if ((node = group[i]) && match.call(node, node.__data__, i, group)) { + subgroup.push(node); + } + } + } + return new Selection(subgroups, this._parents); +} + +;// ./node_modules/d3-selection/src/selection/sparse.js +/* harmony default export */ function sparse(update) { + return new Array(update.length); +} + +;// ./node_modules/d3-selection/src/selection/enter.js + + +/* harmony default export */ function enter() { + return new Selection(this._enter || this._groups.map(sparse), this._parents); +} +function EnterNode(parent, datum) { + this.ownerDocument = parent.ownerDocument; + this.namespaceURI = parent.namespaceURI; + this._next = null; + this._parent = parent; + this.__data__ = datum; +} +EnterNode.prototype = { + constructor: EnterNode, + appendChild: function(child) { + return this._parent.insertBefore(child, this._next); + }, + insertBefore: function(child, next) { + return this._parent.insertBefore(child, next); + }, + querySelector: function(selector) { + return this._parent.querySelector(selector); + }, + querySelectorAll: function(selector) { + return this._parent.querySelectorAll(selector); + } +}; + +;// ./node_modules/d3-selection/src/constant.js +/* harmony default export */ function constant(x) { + return function() { + return x; + }; +} + +;// ./node_modules/d3-selection/src/selection/data.js + + + +function bindIndex(parent, group, enter, update, exit, data) { + var i = 0, node, groupLength = group.length, dataLength = data.length; + for (; i < dataLength; ++i) { + if (node = group[i]) { + node.__data__ = data[i]; + update[i] = node; + } else { + enter[i] = new EnterNode(parent, data[i]); + } + } + for (; i < groupLength; ++i) { + if (node = group[i]) { + exit[i] = node; + } + } +} +function bindKey(parent, group, enter, update, exit, data, key) { + var i, node, nodeByKeyValue = /* @__PURE__ */ new Map(), groupLength = group.length, dataLength = data.length, keyValues = new Array(groupLength), keyValue; + for (i = 0; i < groupLength; ++i) { + if (node = group[i]) { + keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + ""; + if (nodeByKeyValue.has(keyValue)) { + exit[i] = node; + } else { + nodeByKeyValue.set(keyValue, node); + } + } + } + for (i = 0; i < dataLength; ++i) { + keyValue = key.call(parent, data[i], i, data) + ""; + if (node = nodeByKeyValue.get(keyValue)) { + update[i] = node; + node.__data__ = data[i]; + nodeByKeyValue.delete(keyValue); + } else { + enter[i] = new EnterNode(parent, data[i]); + } + } + for (i = 0; i < groupLength; ++i) { + if ((node = group[i]) && nodeByKeyValue.get(keyValues[i]) === node) { + exit[i] = node; + } + } +} +function datum(node) { + return node.__data__; +} +/* harmony default export */ function data(value, key) { + if (!arguments.length) return Array.from(this, datum); + var bind = key ? bindKey : bindIndex, parents = this._parents, groups = this._groups; + if (typeof value !== "function") value = constant(value); + for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) { + var parent = parents[j], group = groups[j], groupLength = group.length, data = arraylike(value.call(parent, parent && parent.__data__, j, parents)), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength); + bind(parent, group, enterGroup, updateGroup, exitGroup, data, key); + for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) { + if (previous = enterGroup[i0]) { + if (i0 >= i1) i1 = i0 + 1; + while (!(next = updateGroup[i1]) && ++i1 < dataLength) ; + previous._next = next || null; + } + } + } + update = new Selection(update, parents); + update._enter = enter; + update._exit = exit; + return update; +} +function arraylike(data) { + return typeof data === "object" && "length" in data ? data : Array.from(data); +} + +;// ./node_modules/d3-selection/src/selection/exit.js + + +/* harmony default export */ function exit() { + return new Selection(this._exit || this._groups.map(sparse), this._parents); +} + +;// ./node_modules/d3-selection/src/selection/join.js +/* harmony default export */ function join(onenter, onupdate, onexit) { + var enter = this.enter(), update = this, exit = this.exit(); + if (typeof onenter === "function") { + enter = onenter(enter); + if (enter) enter = enter.selection(); + } else { + enter = enter.append(onenter + ""); + } + if (onupdate != null) { + update = onupdate(update); + if (update) update = update.selection(); + } + if (onexit == null) exit.remove(); + else onexit(exit); + return enter && update ? enter.merge(update).order() : update; +} + +;// ./node_modules/d3-selection/src/selection/merge.js + +/* harmony default export */ function merge(context) { + var selection = context.selection ? context.selection() : context; + for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { + for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group0[i] || group1[i]) { + merge[i] = node; + } + } + } + for (; j < m0; ++j) { + merges[j] = groups0[j]; + } + return new Selection(merges, this._parents); +} + +;// ./node_modules/d3-selection/src/selection/order.js +/* harmony default export */ function order() { + for (var groups = this._groups, j = -1, m = groups.length; ++j < m; ) { + for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0; ) { + if (node = group[i]) { + if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next); + next = node; + } + } + } + return this; +} + +;// ./node_modules/d3-selection/src/selection/sort.js + +/* harmony default export */ function sort(compare) { + if (!compare) compare = ascending; + function compareNode(a, b) { + return a && b ? compare(a.__data__, b.__data__) : !a - !b; + } + for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group[i]) { + sortgroup[i] = node; + } + } + sortgroup.sort(compareNode); + } + return new Selection(sortgroups, this._parents).order(); +} +function ascending(a, b) { + return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; +} + +;// ./node_modules/d3-selection/src/selection/call.js +/* harmony default export */ function call() { + var callback = arguments[0]; + arguments[0] = this; + callback.apply(null, arguments); + return this; +} + +;// ./node_modules/d3-selection/src/selection/nodes.js +/* harmony default export */ function nodes() { + return Array.from(this); +} + +;// ./node_modules/d3-selection/src/selection/node.js +/* harmony default export */ function node() { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length; i < n; ++i) { + var node = group[i]; + if (node) return node; + } + } + return null; +} + +;// ./node_modules/d3-selection/src/selection/size.js +/* harmony default export */ function size() { + let size = 0; + for (const node of this) ++size; + return size; +} + +;// ./node_modules/d3-selection/src/selection/empty.js +/* harmony default export */ function selection_empty() { + return !this.node(); +} + +;// ./node_modules/d3-selection/src/selection/each.js +/* harmony default export */ function each(callback) { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) { + if (node = group[i]) callback.call(node, node.__data__, i, group); + } + } + return this; +} + +;// ./node_modules/d3-selection/src/namespaces.js +var xhtml = "http://www.w3.org/1999/xhtml"; +/* harmony default export */ var namespaces = ({ + svg: "http://www.w3.org/2000/svg", + xhtml, + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/" +}); + +;// ./node_modules/d3-selection/src/namespace.js + +/* harmony default export */ function namespace(name) { + var prefix = name += "", i = prefix.indexOf(":"); + if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1); + return namespaces.hasOwnProperty(prefix) ? { space: namespaces[prefix], local: name } : name; +} + +;// ./node_modules/d3-selection/src/selection/attr.js + +function attrRemove(name) { + return function() { + this.removeAttribute(name); + }; +} +function attrRemoveNS(fullname) { + return function() { + this.removeAttributeNS(fullname.space, fullname.local); + }; +} +function attrConstant(name, value) { + return function() { + this.setAttribute(name, value); + }; +} +function attrConstantNS(fullname, value) { + return function() { + this.setAttributeNS(fullname.space, fullname.local, value); + }; +} +function attrFunction(name, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.removeAttribute(name); + else this.setAttribute(name, v); + }; +} +function attrFunctionNS(fullname, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.removeAttributeNS(fullname.space, fullname.local); + else this.setAttributeNS(fullname.space, fullname.local, v); + }; +} +/* harmony default export */ function attr(name, value) { + var fullname = namespace(name); + if (arguments.length < 2) { + var node = this.node(); + return fullname.local ? node.getAttributeNS(fullname.space, fullname.local) : node.getAttribute(fullname); + } + return this.each((value == null ? fullname.local ? attrRemoveNS : attrRemove : typeof value === "function" ? fullname.local ? attrFunctionNS : attrFunction : fullname.local ? attrConstantNS : attrConstant)(fullname, value)); +} + +;// ./node_modules/d3-selection/src/window.js +/* harmony default export */ function src_window(node) { + return node.ownerDocument && node.ownerDocument.defaultView || node.document && node || node.defaultView; +} + +;// ./node_modules/d3-selection/src/selection/style.js + +function styleRemove(name) { + return function() { + this.style.removeProperty(name); + }; +} +function styleConstant(name, value, priority) { + return function() { + this.style.setProperty(name, value, priority); + }; +} +function styleFunction(name, value, priority) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.style.removeProperty(name); + else this.style.setProperty(name, v, priority); + }; +} +/* harmony default export */ function style(name, value, priority) { + return arguments.length > 1 ? this.each((value == null ? styleRemove : typeof value === "function" ? styleFunction : styleConstant)(name, value, priority == null ? "" : priority)) : styleValue(this.node(), name); +} +function styleValue(node, name) { + return node.style.getPropertyValue(name) || src_window(node).getComputedStyle(node, null).getPropertyValue(name); +} + +;// ./node_modules/d3-selection/src/selection/property.js +function propertyRemove(name) { + return function() { + delete this[name]; + }; +} +function propertyConstant(name, value) { + return function() { + this[name] = value; + }; +} +function propertyFunction(name, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) delete this[name]; + else this[name] = v; + }; +} +/* harmony default export */ function property(name, value) { + return arguments.length > 1 ? this.each((value == null ? propertyRemove : typeof value === "function" ? propertyFunction : propertyConstant)(name, value)) : this.node()[name]; +} + +;// ./node_modules/d3-selection/src/selection/classed.js +function classArray(string) { + return string.trim().split(/^|\s+/); +} +function classList(node) { + return node.classList || new ClassList(node); +} +function ClassList(node) { + this._node = node; + this._names = classArray(node.getAttribute("class") || ""); +} +ClassList.prototype = { + add: function(name) { + var i = this._names.indexOf(name); + if (i < 0) { + this._names.push(name); + this._node.setAttribute("class", this._names.join(" ")); + } + }, + remove: function(name) { + var i = this._names.indexOf(name); + if (i >= 0) { + this._names.splice(i, 1); + this._node.setAttribute("class", this._names.join(" ")); + } + }, + contains: function(name) { + return this._names.indexOf(name) >= 0; + } +}; +function classedAdd(node, names) { + var list = classList(node), i = -1, n = names.length; + while (++i < n) list.add(names[i]); +} +function classedRemove(node, names) { + var list = classList(node), i = -1, n = names.length; + while (++i < n) list.remove(names[i]); +} +function classedTrue(names) { + return function() { + classedAdd(this, names); + }; +} +function classedFalse(names) { + return function() { + classedRemove(this, names); + }; +} +function classedFunction(names, value) { + return function() { + (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names); + }; +} +/* harmony default export */ function classed(name, value) { + var names = classArray(name + ""); + if (arguments.length < 2) { + var list = classList(this.node()), i = -1, n = names.length; + while (++i < n) if (!list.contains(names[i])) return false; + return true; + } + return this.each((typeof value === "function" ? classedFunction : value ? classedTrue : classedFalse)(names, value)); +} + +;// ./node_modules/d3-selection/src/selection/text.js +function textRemove() { + this.textContent = ""; +} +function textConstant(value) { + return function() { + this.textContent = value; + }; +} +function textFunction(value) { + return function() { + var v = value.apply(this, arguments); + this.textContent = v == null ? "" : v; + }; +} +/* harmony default export */ function selection_text(value) { + return arguments.length ? this.each(value == null ? textRemove : (typeof value === "function" ? textFunction : textConstant)(value)) : this.node().textContent; +} + +;// ./node_modules/d3-selection/src/selection/html.js +function htmlRemove() { + this.innerHTML = ""; +} +function htmlConstant(value) { + return function() { + this.innerHTML = value; + }; +} +function htmlFunction(value) { + return function() { + var v = value.apply(this, arguments); + this.innerHTML = v == null ? "" : v; + }; +} +/* harmony default export */ function html(value) { + return arguments.length ? this.each(value == null ? htmlRemove : (typeof value === "function" ? htmlFunction : htmlConstant)(value)) : this.node().innerHTML; +} + +;// ./node_modules/d3-selection/src/selection/raise.js +function raise() { + if (this.nextSibling) this.parentNode.appendChild(this); +} +/* harmony default export */ function selection_raise() { + return this.each(raise); +} + +;// ./node_modules/d3-selection/src/selection/lower.js +function lower() { + if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild); +} +/* harmony default export */ function selection_lower() { + return this.each(lower); +} + +;// ./node_modules/d3-selection/src/creator.js + + +function creatorInherit(name) { + return function() { + var document = this.ownerDocument, uri = this.namespaceURI; + return uri === xhtml && document.documentElement.namespaceURI === xhtml ? document.createElement(name) : document.createElementNS(uri, name); + }; +} +function creatorFixed(fullname) { + return function() { + return this.ownerDocument.createElementNS(fullname.space, fullname.local); + }; +} +/* harmony default export */ function creator(name) { + var fullname = namespace(name); + return (fullname.local ? creatorFixed : creatorInherit)(fullname); +} + +;// ./node_modules/d3-selection/src/selection/append.js + +/* harmony default export */ function append(name) { + var create = typeof name === "function" ? name : creator(name); + return this.select(function() { + return this.appendChild(create.apply(this, arguments)); + }); +} + +;// ./node_modules/d3-selection/src/selection/insert.js + + +function constantNull() { + return null; +} +/* harmony default export */ function insert(name, before) { + var create = typeof name === "function" ? name : creator(name), select = before == null ? constantNull : typeof before === "function" ? before : selector(before); + return this.select(function() { + return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null); + }); +} + +;// ./node_modules/d3-selection/src/selection/remove.js +function remove() { + var parent = this.parentNode; + if (parent) parent.removeChild(this); +} +/* harmony default export */ function selection_remove() { + return this.each(remove); +} + +;// ./node_modules/d3-selection/src/selection/clone.js +function selection_cloneShallow() { + var clone = this.cloneNode(false), parent = this.parentNode; + return parent ? parent.insertBefore(clone, this.nextSibling) : clone; +} +function selection_cloneDeep() { + var clone = this.cloneNode(true), parent = this.parentNode; + return parent ? parent.insertBefore(clone, this.nextSibling) : clone; +} +/* harmony default export */ function clone(deep) { + return this.select(deep ? selection_cloneDeep : selection_cloneShallow); +} + +;// ./node_modules/d3-selection/src/selection/datum.js +/* harmony default export */ function selection_datum(value) { + return arguments.length ? this.property("__data__", value) : this.node().__data__; +} + +;// ./node_modules/d3-selection/src/selection/on.js +function contextListener(listener) { + return function(event) { + listener.call(this, event, this.__data__); + }; +} +function on_parseTypenames(typenames) { + return typenames.trim().split(/^|\s+/).map(function(t) { + var name = "", i = t.indexOf("."); + if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); + return { type: t, name }; + }); +} +function onRemove(typename) { + return function() { + var on = this.__on; + if (!on) return; + for (var j = 0, i = -1, m = on.length, o; j < m; ++j) { + if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) { + this.removeEventListener(o.type, o.listener, o.options); + } else { + on[++i] = o; + } + } + if (++i) on.length = i; + else delete this.__on; + }; +} +function onAdd(typename, value, options) { + return function() { + var on = this.__on, o, listener = contextListener(value); + if (on) for (var j = 0, m = on.length; j < m; ++j) { + if ((o = on[j]).type === typename.type && o.name === typename.name) { + this.removeEventListener(o.type, o.listener, o.options); + this.addEventListener(o.type, o.listener = listener, o.options = options); + o.value = value; + return; + } + } + this.addEventListener(typename.type, listener, options); + o = { type: typename.type, name: typename.name, value, listener, options }; + if (!on) this.__on = [o]; + else on.push(o); + }; +} +/* harmony default export */ function on(typename, value, options) { + var typenames = on_parseTypenames(typename + ""), i, n = typenames.length, t; + if (arguments.length < 2) { + var on = this.node().__on; + if (on) for (var j = 0, m = on.length, o; j < m; ++j) { + for (i = 0, o = on[j]; i < n; ++i) { + if ((t = typenames[i]).type === o.type && t.name === o.name) { + return o.value; + } + } + } + return; + } + on = value ? onAdd : onRemove; + for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options)); + return this; +} + +;// ./node_modules/d3-selection/src/selection/dispatch.js + +function dispatchEvent(node, type, params) { + var window = src_window(node), event = window.CustomEvent; + if (typeof event === "function") { + event = new event(type, params); + } else { + event = window.document.createEvent("Event"); + if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail; + else event.initEvent(type, false, false); + } + node.dispatchEvent(event); +} +function dispatchConstant(type, params) { + return function() { + return dispatchEvent(this, type, params); + }; +} +function dispatchFunction(type, params) { + return function() { + return dispatchEvent(this, type, params.apply(this, arguments)); + }; +} +/* harmony default export */ function selection_dispatch(type, params) { + return this.each((typeof params === "function" ? dispatchFunction : dispatchConstant)(type, params)); +} + +;// ./node_modules/d3-selection/src/selection/iterator.js +/* harmony default export */ function* iterator() { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) { + if (node = group[i]) yield node; + } + } +} + +;// ./node_modules/d3-selection/src/selection/index.js + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +var root = [null]; +function Selection(groups, parents) { + this._groups = groups; + this._parents = parents; +} +function selection() { + return new Selection([[document.documentElement]], root); +} +function selection_selection() { + return this; +} +Selection.prototype = selection.prototype = { + constructor: Selection, + select: selection_select, + selectAll: selectAll, + selectChild: selectChild, + selectChildren: selectChildren, + filter: selection_filter, + data: data, + enter: enter, + exit: exit, + join: join, + merge: merge, + selection: selection_selection, + order: order, + sort: sort, + call: call, + nodes: nodes, + node: node, + size: size, + empty: selection_empty, + each: each, + attr: attr, + style: style, + property: property, + classed: classed, + text: selection_text, + html: html, + raise: selection_raise, + lower: selection_lower, + append: append, + insert: insert, + remove: selection_remove, + clone: clone, + datum: selection_datum, + on: on, + dispatch: selection_dispatch, + [Symbol.iterator]: iterator +}; +/* harmony default export */ var src_selection = (selection); + +;// ./node_modules/d3-selection/src/select.js + +/* harmony default export */ function src_select(selector) { + return typeof selector === "string" ? new Selection([[document.querySelector(selector)]], [document.documentElement]) : new Selection([[selector]], root); +} + +;// ./node_modules/d3-drag/src/noevent.js +const nonpassive = { passive: false }; +const nonpassivecapture = { capture: true, passive: false }; +function nopropagation(event) { + event.stopImmediatePropagation(); +} +/* harmony default export */ function noevent(event) { + event.preventDefault(); + event.stopImmediatePropagation(); +} + +;// ./node_modules/d3-drag/src/nodrag.js + + +/* harmony default export */ function nodrag(view) { + var root = view.document.documentElement, selection = src_select(view).on("dragstart.drag", noevent, nonpassivecapture); + if ("onselectstart" in root) { + selection.on("selectstart.drag", noevent, nonpassivecapture); + } else { + root.__noselect = root.style.MozUserSelect; + root.style.MozUserSelect = "none"; + } +} +function yesdrag(view, noclick) { + var root = view.document.documentElement, selection = src_select(view).on("dragstart.drag", null); + if (noclick) { + selection.on("click.drag", noevent, nonpassivecapture); + setTimeout(function() { + selection.on("click.drag", null); + }, 0); + } + if ("onselectstart" in root) { + selection.on("selectstart.drag", null); + } else { + root.style.MozUserSelect = root.__noselect; + delete root.__noselect; + } +} + +;// ./node_modules/d3-color/src/define.js +/* harmony default export */ function src_define(constructor, factory, prototype) { + constructor.prototype = factory.prototype = prototype; + prototype.constructor = constructor; +} +function extend(parent, definition) { + var prototype = Object.create(parent.prototype); + for (var key in definition) prototype[key] = definition[key]; + return prototype; +} + +;// ./node_modules/d3-color/src/color.js + +function Color() { +} +var darker = 0.7; +var brighter = 1 / darker; +var reI = "\\s*([+-]?\\d+)\\s*", reN = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", reP = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", reHex = /^#([0-9a-f]{3,8})$/, reRgbInteger = new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`), reRgbPercent = new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`), reRgbaInteger = new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`), reRgbaPercent = new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`), reHslPercent = new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`), reHslaPercent = new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`); +var named = { + aliceblue: 15792383, + antiquewhite: 16444375, + aqua: 65535, + aquamarine: 8388564, + azure: 15794175, + beige: 16119260, + bisque: 16770244, + black: 0, + blanchedalmond: 16772045, + blue: 255, + blueviolet: 9055202, + brown: 10824234, + burlywood: 14596231, + cadetblue: 6266528, + chartreuse: 8388352, + chocolate: 13789470, + coral: 16744272, + cornflowerblue: 6591981, + cornsilk: 16775388, + crimson: 14423100, + cyan: 65535, + darkblue: 139, + darkcyan: 35723, + darkgoldenrod: 12092939, + darkgray: 11119017, + darkgreen: 25600, + darkgrey: 11119017, + darkkhaki: 12433259, + darkmagenta: 9109643, + darkolivegreen: 5597999, + darkorange: 16747520, + darkorchid: 10040012, + darkred: 9109504, + darksalmon: 15308410, + darkseagreen: 9419919, + darkslateblue: 4734347, + darkslategray: 3100495, + darkslategrey: 3100495, + darkturquoise: 52945, + darkviolet: 9699539, + deeppink: 16716947, + deepskyblue: 49151, + dimgray: 6908265, + dimgrey: 6908265, + dodgerblue: 2003199, + firebrick: 11674146, + floralwhite: 16775920, + forestgreen: 2263842, + fuchsia: 16711935, + gainsboro: 14474460, + ghostwhite: 16316671, + gold: 16766720, + goldenrod: 14329120, + gray: 8421504, + green: 32768, + greenyellow: 11403055, + grey: 8421504, + honeydew: 15794160, + hotpink: 16738740, + indianred: 13458524, + indigo: 4915330, + ivory: 16777200, + khaki: 15787660, + lavender: 15132410, + lavenderblush: 16773365, + lawngreen: 8190976, + lemonchiffon: 16775885, + lightblue: 11393254, + lightcoral: 15761536, + lightcyan: 14745599, + lightgoldenrodyellow: 16448210, + lightgray: 13882323, + lightgreen: 9498256, + lightgrey: 13882323, + lightpink: 16758465, + lightsalmon: 16752762, + lightseagreen: 2142890, + lightskyblue: 8900346, + lightslategray: 7833753, + lightslategrey: 7833753, + lightsteelblue: 11584734, + lightyellow: 16777184, + lime: 65280, + limegreen: 3329330, + linen: 16445670, + magenta: 16711935, + maroon: 8388608, + mediumaquamarine: 6737322, + mediumblue: 205, + mediumorchid: 12211667, + mediumpurple: 9662683, + mediumseagreen: 3978097, + mediumslateblue: 8087790, + mediumspringgreen: 64154, + mediumturquoise: 4772300, + mediumvioletred: 13047173, + midnightblue: 1644912, + mintcream: 16121850, + mistyrose: 16770273, + moccasin: 16770229, + navajowhite: 16768685, + navy: 128, + oldlace: 16643558, + olive: 8421376, + olivedrab: 7048739, + orange: 16753920, + orangered: 16729344, + orchid: 14315734, + palegoldenrod: 15657130, + palegreen: 10025880, + paleturquoise: 11529966, + palevioletred: 14381203, + papayawhip: 16773077, + peachpuff: 16767673, + peru: 13468991, + pink: 16761035, + plum: 14524637, + powderblue: 11591910, + purple: 8388736, + rebeccapurple: 6697881, + red: 16711680, + rosybrown: 12357519, + royalblue: 4286945, + saddlebrown: 9127187, + salmon: 16416882, + sandybrown: 16032864, + seagreen: 3050327, + seashell: 16774638, + sienna: 10506797, + silver: 12632256, + skyblue: 8900331, + slateblue: 6970061, + slategray: 7372944, + slategrey: 7372944, + snow: 16775930, + springgreen: 65407, + steelblue: 4620980, + tan: 13808780, + teal: 32896, + thistle: 14204888, + tomato: 16737095, + turquoise: 4251856, + violet: 15631086, + wheat: 16113331, + white: 16777215, + whitesmoke: 16119285, + yellow: 16776960, + yellowgreen: 10145074 +}; +src_define(Color, color, { + copy(channels) { + return Object.assign(new this.constructor(), this, channels); + }, + displayable() { + return this.rgb().displayable(); + }, + hex: color_formatHex, + // Deprecated! Use color.formatHex. + formatHex: color_formatHex, + formatHex8: color_formatHex8, + formatHsl: color_formatHsl, + formatRgb: color_formatRgb, + toString: color_formatRgb +}); +function color_formatHex() { + return this.rgb().formatHex(); +} +function color_formatHex8() { + return this.rgb().formatHex8(); +} +function color_formatHsl() { + return hslConvert(this).formatHsl(); +} +function color_formatRgb() { + return this.rgb().formatRgb(); +} +function color(format) { + var m, l; + format = (format + "").trim().toLowerCase(); + return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) : l === 3 ? new Rgb(m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, (m & 15) << 4 | m & 15, 1) : l === 8 ? rgba(m >> 24 & 255, m >> 16 & 255, m >> 8 & 255, (m & 255) / 255) : l === 4 ? rgba(m >> 12 & 15 | m >> 8 & 240, m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, ((m & 15) << 4 | m & 15) / 255) : null) : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) : named.hasOwnProperty(format) ? rgbn(named[format]) : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0) : null; +} +function rgbn(n) { + return new Rgb(n >> 16 & 255, n >> 8 & 255, n & 255, 1); +} +function rgba(r, g, b, a) { + if (a <= 0) r = g = b = NaN; + return new Rgb(r, g, b, a); +} +function rgbConvert(o) { + if (!(o instanceof Color)) o = color(o); + if (!o) return new Rgb(); + o = o.rgb(); + return new Rgb(o.r, o.g, o.b, o.opacity); +} +function color_rgb(r, g, b, opacity) { + return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity); +} +function Rgb(r, g, b, opacity) { + this.r = +r; + this.g = +g; + this.b = +b; + this.opacity = +opacity; +} +src_define(Rgb, color_rgb, extend(Color, { + brighter(k) { + k = k == null ? brighter : Math.pow(brighter, k); + return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); + }, + darker(k) { + k = k == null ? darker : Math.pow(darker, k); + return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); + }, + rgb() { + return this; + }, + clamp() { + return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity)); + }, + displayable() { + return -0.5 <= this.r && this.r < 255.5 && (-0.5 <= this.g && this.g < 255.5) && (-0.5 <= this.b && this.b < 255.5) && (0 <= this.opacity && this.opacity <= 1); + }, + hex: rgb_formatHex, + // Deprecated! Use color.formatHex. + formatHex: rgb_formatHex, + formatHex8: rgb_formatHex8, + formatRgb: rgb_formatRgb, + toString: rgb_formatRgb +})); +function rgb_formatHex() { + return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`; +} +function rgb_formatHex8() { + return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`; +} +function rgb_formatRgb() { + const a = clampa(this.opacity); + return `${a === 1 ? "rgb(" : "rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? ")" : `, ${a})`}`; +} +function clampa(opacity) { + return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity)); +} +function clampi(value) { + return Math.max(0, Math.min(255, Math.round(value) || 0)); +} +function hex(value) { + value = clampi(value); + return (value < 16 ? "0" : "") + value.toString(16); +} +function hsla(h, s, l, a) { + if (a <= 0) h = s = l = NaN; + else if (l <= 0 || l >= 1) h = s = NaN; + else if (s <= 0) h = NaN; + return new Hsl(h, s, l, a); +} +function hslConvert(o) { + if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity); + if (!(o instanceof Color)) o = color(o); + if (!o) return new Hsl(); + if (o instanceof Hsl) return o; + o = o.rgb(); + var r = o.r / 255, g = o.g / 255, b = o.b / 255, min = Math.min(r, g, b), max = Math.max(r, g, b), h = NaN, s = max - min, l = (max + min) / 2; + if (s) { + if (r === max) h = (g - b) / s + (g < b) * 6; + else if (g === max) h = (b - r) / s + 2; + else h = (r - g) / s + 4; + s /= l < 0.5 ? max + min : 2 - max - min; + h *= 60; + } else { + s = l > 0 && l < 1 ? 0 : h; + } + return new Hsl(h, s, l, o.opacity); +} +function hsl(h, s, l, opacity) { + return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity); +} +function Hsl(h, s, l, opacity) { + this.h = +h; + this.s = +s; + this.l = +l; + this.opacity = +opacity; +} +src_define(Hsl, hsl, extend(Color, { + brighter(k) { + k = k == null ? brighter : Math.pow(brighter, k); + return new Hsl(this.h, this.s, this.l * k, this.opacity); + }, + darker(k) { + k = k == null ? darker : Math.pow(darker, k); + return new Hsl(this.h, this.s, this.l * k, this.opacity); + }, + rgb() { + var h = this.h % 360 + (this.h < 0) * 360, s = isNaN(h) || isNaN(this.s) ? 0 : this.s, l = this.l, m2 = l + (l < 0.5 ? l : 1 - l) * s, m1 = 2 * l - m2; + return new Rgb( + hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2), + hsl2rgb(h, m1, m2), + hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2), + this.opacity + ); + }, + clamp() { + return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity)); + }, + displayable() { + return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && (0 <= this.l && this.l <= 1) && (0 <= this.opacity && this.opacity <= 1); + }, + formatHsl() { + const a = clampa(this.opacity); + return `${a === 1 ? "hsl(" : "hsla("}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? ")" : `, ${a})`}`; + } +})); +function clamph(value) { + value = (value || 0) % 360; + return value < 0 ? value + 360 : value; +} +function clampt(value) { + return Math.max(0, Math.min(1, value || 0)); +} +function hsl2rgb(h, m1, m2) { + return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255; +} + +;// ./node_modules/d3-interpolate/src/basis.js +function basis(t1, v0, v1, v2, v3) { + var t2 = t1 * t1, t3 = t2 * t1; + return ((1 - 3 * t1 + 3 * t2 - t3) * v0 + (4 - 6 * t2 + 3 * t3) * v1 + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2 + t3 * v3) / 6; +} +/* harmony default export */ function src_basis(values) { + var n = values.length - 1; + return function(t) { + var i = t <= 0 ? t = 0 : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n), v1 = values[i], v2 = values[i + 1], v0 = i > 0 ? values[i - 1] : 2 * v1 - v2, v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1; + return basis((t - i / n) * n, v0, v1, v2, v3); + }; +} + +;// ./node_modules/d3-interpolate/src/basisClosed.js + +/* harmony default export */ function basisClosed(values) { + var n = values.length; + return function(t) { + var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n), v0 = values[(i + n - 1) % n], v1 = values[i % n], v2 = values[(i + 1) % n], v3 = values[(i + 2) % n]; + return basis((t - i / n) * n, v0, v1, v2, v3); + }; +} + +;// ./node_modules/d3-interpolate/src/constant.js +/* harmony default export */ var src_constant = ((x) => () => x); + +;// ./node_modules/d3-interpolate/src/color.js + +function linear(a, d) { + return function(t) { + return a + t * d; + }; +} +function exponential(a, b, y) { + return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) { + return Math.pow(a + t * b, y); + }; +} +function hue(a, b) { + var d = b - a; + return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : src_constant(isNaN(a) ? b : a); +} +function gamma(y) { + return (y = +y) === 1 ? nogamma : function(a, b) { + return b - a ? exponential(a, b, y) : src_constant(isNaN(a) ? b : a); + }; +} +function nogamma(a, b) { + var d = b - a; + return d ? linear(a, d) : src_constant(isNaN(a) ? b : a); +} + +;// ./node_modules/d3-interpolate/src/rgb.js + + + + +/* harmony default export */ var rgb = ((function rgbGamma(y) { + var color = gamma(y); + function rgb(start, end) { + var r = color((start = color_rgb(start)).r, (end = color_rgb(end)).r), g = color(start.g, end.g), b = color(start.b, end.b), opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.r = r(t); + start.g = g(t); + start.b = b(t); + start.opacity = opacity(t); + return start + ""; + }; + } + rgb.gamma = rgbGamma; + return rgb; +})(1)); +function rgbSpline(spline) { + return function(colors) { + var n = colors.length, r = new Array(n), g = new Array(n), b = new Array(n), i, color; + for (i = 0; i < n; ++i) { + color = color_rgb(colors[i]); + r[i] = color.r || 0; + g[i] = color.g || 0; + b[i] = color.b || 0; + } + r = spline(r); + g = spline(g); + b = spline(b); + color.opacity = 1; + return function(t) { + color.r = r(t); + color.g = g(t); + color.b = b(t); + return color + ""; + }; + }; +} +var rgbBasis = rgbSpline(src_basis); +var rgbBasisClosed = rgbSpline(basisClosed); + +;// ./node_modules/d3-interpolate/src/numberArray.js +/* harmony default export */ function numberArray(a, b) { + if (!b) b = []; + var n = a ? Math.min(b.length, a.length) : 0, c = b.slice(), i; + return function(t) { + for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t; + return c; + }; +} +function isNumberArray(x) { + return ArrayBuffer.isView(x) && !(x instanceof DataView); +} + +;// ./node_modules/d3-interpolate/src/array.js + + +/* harmony default export */ function src_array(a, b) { + return (isNumberArray(b) ? numberArray : genericArray)(a, b); +} +function genericArray(a, b) { + var nb = b ? b.length : 0, na = a ? Math.min(nb, a.length) : 0, x = new Array(na), c = new Array(nb), i; + for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]); + for (; i < nb; ++i) c[i] = b[i]; + return function(t) { + for (i = 0; i < na; ++i) c[i] = x[i](t); + return c; + }; +} + +;// ./node_modules/d3-interpolate/src/date.js +/* harmony default export */ function date(a, b) { + var d = /* @__PURE__ */ new Date(); + return a = +a, b = +b, function(t) { + return d.setTime(a * (1 - t) + b * t), d; + }; +} + +;// ./node_modules/d3-interpolate/src/number.js +/* harmony default export */ function number(a, b) { + return a = +a, b = +b, function(t) { + return a * (1 - t) + b * t; + }; +} + +;// ./node_modules/d3-interpolate/src/object.js + +/* harmony default export */ function object(a, b) { + var i = {}, c = {}, k; + if (a === null || typeof a !== "object") a = {}; + if (b === null || typeof b !== "object") b = {}; + for (k in b) { + if (k in a) { + i[k] = value(a[k], b[k]); + } else { + c[k] = b[k]; + } + } + return function(t) { + for (k in i) c[k] = i[k](t); + return c; + }; +} + +;// ./node_modules/d3-interpolate/src/string.js + +var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, reB = new RegExp(reA.source, "g"); +function zero(b) { + return function() { + return b; + }; +} +function one(b) { + return function(t) { + return b(t) + ""; + }; +} +/* harmony default export */ function string(a, b) { + var bi = reA.lastIndex = reB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = []; + a = a + "", b = b + ""; + while ((am = reA.exec(a)) && (bm = reB.exec(b))) { + if ((bs = bm.index) > bi) { + bs = b.slice(bi, bs); + if (s[i]) s[i] += bs; + else s[++i] = bs; + } + if ((am = am[0]) === (bm = bm[0])) { + if (s[i]) s[i] += bm; + else s[++i] = bm; + } else { + s[++i] = null; + q.push({ i, x: number(am, bm) }); + } + bi = reB.lastIndex; + } + if (bi < b.length) { + bs = b.slice(bi); + if (s[i]) s[i] += bs; + else s[++i] = bs; + } + return s.length < 2 ? q[0] ? one(q[0].x) : zero(b) : (b = q.length, function(t) { + for (var i2 = 0, o; i2 < b; ++i2) s[(o = q[i2]).i] = o.x(t); + return s.join(""); + }); +} + +;// ./node_modules/d3-interpolate/src/value.js + + + + + + + + + +/* harmony default export */ function value(a, b) { + var t = typeof b, c; + return b == null || t === "boolean" ? src_constant(b) : (t === "number" ? number : t === "string" ? (c = color(b)) ? (b = c, rgb) : string : b instanceof color ? rgb : b instanceof Date ? date : isNumberArray(b) ? numberArray : Array.isArray(b) ? genericArray : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? object : number)(a, b); +} + +;// ./node_modules/d3-selection/src/sourceEvent.js +/* harmony default export */ function sourceEvent(event) { + let sourceEvent; + while (sourceEvent = event.sourceEvent) event = sourceEvent; + return event; +} + +;// ./node_modules/d3-selection/src/pointer.js + +/* harmony default export */ function src_pointer(event, node) { + event = sourceEvent(event); + if (node === void 0) node = event.currentTarget; + if (node) { + var svg = node.ownerSVGElement || node; + if (svg.createSVGPoint) { + var point = svg.createSVGPoint(); + point.x = event.clientX, point.y = event.clientY; + point = point.matrixTransform(node.getScreenCTM().inverse()); + return [point.x, point.y]; + } + if (node.getBoundingClientRect) { + var rect = node.getBoundingClientRect(); + return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop]; + } + } + return [event.pageX, event.pageY]; +} + +;// ./node_modules/d3-timer/src/timer.js +var timer_frame = 0, timeout = 0, interval = 0, pokeDelay = 1e3, taskHead, taskTail, clockLast = 0, clockNow = 0, clockSkew = 0, clock = typeof performance === "object" && performance.now ? performance : Date, setFrame = typeof window === "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { + setTimeout(f, 17); +}; +function now() { + return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew); +} +function clearNow() { + clockNow = 0; +} +function Timer() { + this._call = this._time = this._next = null; +} +Timer.prototype = timer.prototype = { + constructor: Timer, + restart: function(callback, delay, time) { + if (typeof callback !== "function") throw new TypeError("callback is not a function"); + time = (time == null ? now() : +time) + (delay == null ? 0 : +delay); + if (!this._next && taskTail !== this) { + if (taskTail) taskTail._next = this; + else taskHead = this; + taskTail = this; + } + this._call = callback; + this._time = time; + sleep(); + }, + stop: function() { + if (this._call) { + this._call = null; + this._time = Infinity; + sleep(); + } + } +}; +function timer(callback, delay, time) { + var t = new Timer(); + t.restart(callback, delay, time); + return t; +} +function timerFlush() { + now(); + ++timer_frame; + var t = taskHead, e; + while (t) { + if ((e = clockNow - t._time) >= 0) t._call.call(void 0, e); + t = t._next; + } + --timer_frame; +} +function wake() { + clockNow = (clockLast = clock.now()) + clockSkew; + timer_frame = timeout = 0; + try { + timerFlush(); + } finally { + timer_frame = 0; + nap(); + clockNow = 0; + } +} +function poke() { + var now2 = clock.now(), delay = now2 - clockLast; + if (delay > pokeDelay) clockSkew -= delay, clockLast = now2; +} +function nap() { + var t0, t1 = taskHead, t2, time = Infinity; + while (t1) { + if (t1._call) { + if (time > t1._time) time = t1._time; + t0 = t1, t1 = t1._next; + } else { + t2 = t1._next, t1._next = null; + t1 = t0 ? t0._next = t2 : taskHead = t2; + } + } + taskTail = t0; + sleep(time); +} +function sleep(time) { + if (timer_frame) return; + if (timeout) timeout = clearTimeout(timeout); + var delay = time - clockNow; + if (delay > 24) { + if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew); + if (interval) interval = clearInterval(interval); + } else { + if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay); + timer_frame = 1, setFrame(wake); + } +} + +;// ./node_modules/d3-timer/src/timeout.js + +/* harmony default export */ function src_timeout(callback, delay, time) { + var t = new Timer(); + delay = delay == null ? 0 : +delay; + t.restart((elapsed) => { + t.stop(); + callback(elapsed + delay); + }, delay, time); + return t; +} + +;// ./node_modules/d3-transition/src/transition/schedule.js + + +var emptyOn = src_dispatch("start", "end", "cancel", "interrupt"); +var emptyTween = []; +var CREATED = 0; +var SCHEDULED = 1; +var STARTING = 2; +var STARTED = 3; +var RUNNING = 4; +var ENDING = 5; +var ENDED = 6; +/* harmony default export */ function schedule(node, name, id, index, group, timing) { + var schedules = node.__transition; + if (!schedules) node.__transition = {}; + else if (id in schedules) return; + create(node, id, { + name, + index, + // For context during callback. + group, + // For context during callback. + on: emptyOn, + tween: emptyTween, + time: timing.time, + delay: timing.delay, + duration: timing.duration, + ease: timing.ease, + timer: null, + state: CREATED + }); +} +function init(node, id) { + var schedule = schedule_get(node, id); + if (schedule.state > CREATED) throw new Error("too late; already scheduled"); + return schedule; +} +function schedule_set(node, id) { + var schedule = schedule_get(node, id); + if (schedule.state > STARTED) throw new Error("too late; already running"); + return schedule; +} +function schedule_get(node, id) { + var schedule = node.__transition; + if (!schedule || !(schedule = schedule[id])) throw new Error("transition not found"); + return schedule; +} +function create(node, id, self) { + var schedules = node.__transition, tween; + schedules[id] = self; + self.timer = timer(schedule, 0, self.time); + function schedule(elapsed) { + self.state = SCHEDULED; + self.timer.restart(start, self.delay, self.time); + if (self.delay <= elapsed) start(elapsed - self.delay); + } + function start(elapsed) { + var i, j, n, o; + if (self.state !== SCHEDULED) return stop(); + for (i in schedules) { + o = schedules[i]; + if (o.name !== self.name) continue; + if (o.state === STARTED) return src_timeout(start); + if (o.state === RUNNING) { + o.state = ENDED; + o.timer.stop(); + o.on.call("interrupt", node, node.__data__, o.index, o.group); + delete schedules[i]; + } else if (+i < id) { + o.state = ENDED; + o.timer.stop(); + o.on.call("cancel", node, node.__data__, o.index, o.group); + delete schedules[i]; + } + } + src_timeout(function() { + if (self.state === STARTED) { + self.state = RUNNING; + self.timer.restart(tick, self.delay, self.time); + tick(elapsed); + } + }); + self.state = STARTING; + self.on.call("start", node, node.__data__, self.index, self.group); + if (self.state !== STARTING) return; + self.state = STARTED; + tween = new Array(n = self.tween.length); + for (i = 0, j = -1; i < n; ++i) { + if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) { + tween[++j] = o; + } + } + tween.length = j + 1; + } + function tick(elapsed) { + var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1), i = -1, n = tween.length; + while (++i < n) { + tween[i].call(node, t); + } + if (self.state === ENDING) { + self.on.call("end", node, node.__data__, self.index, self.group); + stop(); + } + } + function stop() { + self.state = ENDED; + self.timer.stop(); + delete schedules[id]; + for (var i in schedules) return; + delete node.__transition; + } +} + +;// ./node_modules/d3-transition/src/interrupt.js + +/* harmony default export */ function interrupt(node, name) { + var schedules = node.__transition, schedule, active, empty = true, i; + if (!schedules) return; + name = name == null ? null : name + ""; + for (i in schedules) { + if ((schedule = schedules[i]).name !== name) { + empty = false; + continue; + } + active = schedule.state > STARTING && schedule.state < ENDING; + schedule.state = ENDED; + schedule.timer.stop(); + schedule.on.call(active ? "interrupt" : "cancel", node, node.__data__, schedule.index, schedule.group); + delete schedules[i]; + } + if (empty) delete node.__transition; +} + +;// ./node_modules/d3-transition/src/selection/interrupt.js + +/* harmony default export */ function selection_interrupt(name) { + return this.each(function() { + interrupt(this, name); + }); +} + +;// ./node_modules/d3-interpolate/src/transform/decompose.js +var degrees = 180 / Math.PI; +var identity = { + translateX: 0, + translateY: 0, + rotate: 0, + skewX: 0, + scaleX: 1, + scaleY: 1 +}; +/* harmony default export */ function decompose(a, b, c, d, e, f) { + var scaleX, scaleY, skewX; + if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX; + if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX; + if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY; + if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX; + return { + translateX: e, + translateY: f, + rotate: Math.atan2(b, a) * degrees, + skewX: Math.atan(skewX) * degrees, + scaleX, + scaleY + }; +} + +;// ./node_modules/d3-interpolate/src/transform/parse.js + +var svgNode; +function parseCss(value) { + const m = new (typeof DOMMatrix === "function" ? DOMMatrix : WebKitCSSMatrix)(value + ""); + return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f); +} +function parseSvg(value) { + if (value == null) return identity; + if (!svgNode) svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g"); + svgNode.setAttribute("transform", value); + if (!(value = svgNode.transform.baseVal.consolidate())) return identity; + value = value.matrix; + return decompose(value.a, value.b, value.c, value.d, value.e, value.f); +} + +;// ./node_modules/d3-interpolate/src/transform/index.js + + +function interpolateTransform(parse, pxComma, pxParen, degParen) { + function pop(s) { + return s.length ? s.pop() + " " : ""; + } + function translate(xa, ya, xb, yb, s, q) { + if (xa !== xb || ya !== yb) { + var i = s.push("translate(", null, pxComma, null, pxParen); + q.push({ i: i - 4, x: number(xa, xb) }, { i: i - 2, x: number(ya, yb) }); + } else if (xb || yb) { + s.push("translate(" + xb + pxComma + yb + pxParen); + } + } + function rotate(a, b, s, q) { + if (a !== b) { + if (a - b > 180) b += 360; + else if (b - a > 180) a += 360; + q.push({ i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: number(a, b) }); + } else if (b) { + s.push(pop(s) + "rotate(" + b + degParen); + } + } + function skewX(a, b, s, q) { + if (a !== b) { + q.push({ i: s.push(pop(s) + "skewX(", null, degParen) - 2, x: number(a, b) }); + } else if (b) { + s.push(pop(s) + "skewX(" + b + degParen); + } + } + function scale(xa, ya, xb, yb, s, q) { + if (xa !== xb || ya !== yb) { + var i = s.push(pop(s) + "scale(", null, ",", null, ")"); + q.push({ i: i - 4, x: number(xa, xb) }, { i: i - 2, x: number(ya, yb) }); + } else if (xb !== 1 || yb !== 1) { + s.push(pop(s) + "scale(" + xb + "," + yb + ")"); + } + } + return function(a, b) { + var s = [], q = []; + a = parse(a), b = parse(b); + translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q); + rotate(a.rotate, b.rotate, s, q); + skewX(a.skewX, b.skewX, s, q); + scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q); + a = b = null; + return function(t) { + var i = -1, n = q.length, o; + while (++i < n) s[(o = q[i]).i] = o.x(t); + return s.join(""); + }; + }; +} +var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)"); +var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")"); + +;// ./node_modules/d3-transition/src/transition/tween.js + +function tweenRemove(id, name) { + var tween0, tween1; + return function() { + var schedule = schedule_set(this, id), tween = schedule.tween; + if (tween !== tween0) { + tween1 = tween0 = tween; + for (var i = 0, n = tween1.length; i < n; ++i) { + if (tween1[i].name === name) { + tween1 = tween1.slice(); + tween1.splice(i, 1); + break; + } + } + } + schedule.tween = tween1; + }; +} +function tweenFunction(id, name, value) { + var tween0, tween1; + if (typeof value !== "function") throw new Error(); + return function() { + var schedule = schedule_set(this, id), tween = schedule.tween; + if (tween !== tween0) { + tween1 = (tween0 = tween).slice(); + for (var t = { name, value }, i = 0, n = tween1.length; i < n; ++i) { + if (tween1[i].name === name) { + tween1[i] = t; + break; + } + } + if (i === n) tween1.push(t); + } + schedule.tween = tween1; + }; +} +/* harmony default export */ function tween(name, value) { + var id = this._id; + name += ""; + if (arguments.length < 2) { + var tween = schedule_get(this.node(), id).tween; + for (var i = 0, n = tween.length, t; i < n; ++i) { + if ((t = tween[i]).name === name) { + return t.value; + } + } + return null; + } + return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value)); +} +function tweenValue(transition, name, value) { + var id = transition._id; + transition.each(function() { + var schedule = schedule_set(this, id); + (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments); + }); + return function(node) { + return schedule_get(node, id).value[name]; + }; +} + +;// ./node_modules/d3-transition/src/transition/interpolate.js + + +/* harmony default export */ function interpolate(a, b) { + var c; + return (typeof b === "number" ? number : b instanceof color ? rgb : (c = color(b)) ? (b = c, rgb) : string)(a, b); +} + +;// ./node_modules/d3-transition/src/transition/attr.js + + + + +function attr_attrRemove(name) { + return function() { + this.removeAttribute(name); + }; +} +function attr_attrRemoveNS(fullname) { + return function() { + this.removeAttributeNS(fullname.space, fullname.local); + }; +} +function attr_attrConstant(name, interpolate2, value1) { + var string00, string1 = value1 + "", interpolate0; + return function() { + var string0 = this.getAttribute(name); + return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1); + }; +} +function attr_attrConstantNS(fullname, interpolate2, value1) { + var string00, string1 = value1 + "", interpolate0; + return function() { + var string0 = this.getAttributeNS(fullname.space, fullname.local); + return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1); + }; +} +function attr_attrFunction(name, interpolate2, value) { + var string00, string10, interpolate0; + return function() { + var string0, value1 = value(this), string1; + if (value1 == null) return void this.removeAttribute(name); + string0 = this.getAttribute(name); + string1 = value1 + ""; + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1)); + }; +} +function attr_attrFunctionNS(fullname, interpolate2, value) { + var string00, string10, interpolate0; + return function() { + var string0, value1 = value(this), string1; + if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local); + string0 = this.getAttributeNS(fullname.space, fullname.local); + string1 = value1 + ""; + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1)); + }; +} +/* harmony default export */ function transition_attr(name, value) { + var fullname = namespace(name), i = fullname === "transform" ? interpolateTransformSvg : interpolate; + return this.attrTween(name, typeof value === "function" ? (fullname.local ? attr_attrFunctionNS : attr_attrFunction)(fullname, i, tweenValue(this, "attr." + name, value)) : value == null ? (fullname.local ? attr_attrRemoveNS : attr_attrRemove)(fullname) : (fullname.local ? attr_attrConstantNS : attr_attrConstant)(fullname, i, value)); +} + +;// ./node_modules/d3-transition/src/transition/attrTween.js + +function attrInterpolate(name, i) { + return function(t) { + this.setAttribute(name, i.call(this, t)); + }; +} +function attrInterpolateNS(fullname, i) { + return function(t) { + this.setAttributeNS(fullname.space, fullname.local, i.call(this, t)); + }; +} +function attrTweenNS(fullname, value) { + var t0, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i); + return t0; + } + tween._value = value; + return tween; +} +function attrTween(name, value) { + var t0, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i); + return t0; + } + tween._value = value; + return tween; +} +/* harmony default export */ function transition_attrTween(name, value) { + var key = "attr." + name; + if (arguments.length < 2) return (key = this.tween(key)) && key._value; + if (value == null) return this.tween(key, null); + if (typeof value !== "function") throw new Error(); + var fullname = namespace(name); + return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value)); +} + +;// ./node_modules/d3-transition/src/transition/delay.js + +function delayFunction(id, value) { + return function() { + init(this, id).delay = +value.apply(this, arguments); + }; +} +function delayConstant(id, value) { + return value = +value, function() { + init(this, id).delay = value; + }; +} +/* harmony default export */ function delay(value) { + var id = this._id; + return arguments.length ? this.each((typeof value === "function" ? delayFunction : delayConstant)(id, value)) : schedule_get(this.node(), id).delay; +} + +;// ./node_modules/d3-transition/src/transition/duration.js + +function durationFunction(id, value) { + return function() { + schedule_set(this, id).duration = +value.apply(this, arguments); + }; +} +function durationConstant(id, value) { + return value = +value, function() { + schedule_set(this, id).duration = value; + }; +} +/* harmony default export */ function duration(value) { + var id = this._id; + return arguments.length ? this.each((typeof value === "function" ? durationFunction : durationConstant)(id, value)) : schedule_get(this.node(), id).duration; +} + +;// ./node_modules/d3-transition/src/transition/ease.js + +function easeConstant(id, value) { + if (typeof value !== "function") throw new Error(); + return function() { + schedule_set(this, id).ease = value; + }; +} +/* harmony default export */ function ease(value) { + var id = this._id; + return arguments.length ? this.each(easeConstant(id, value)) : schedule_get(this.node(), id).ease; +} + +;// ./node_modules/d3-transition/src/transition/easeVarying.js + +function easeVarying(id, value) { + return function() { + var v = value.apply(this, arguments); + if (typeof v !== "function") throw new Error(); + schedule_set(this, id).ease = v; + }; +} +/* harmony default export */ function transition_easeVarying(value) { + if (typeof value !== "function") throw new Error(); + return this.each(easeVarying(this._id, value)); +} + +;// ./node_modules/d3-transition/src/transition/filter.js + + +/* harmony default export */ function transition_filter(match) { + if (typeof match !== "function") match = matcher(match); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) { + if ((node = group[i]) && match.call(node, node.__data__, i, group)) { + subgroup.push(node); + } + } + } + return new Transition(subgroups, this._parents, this._name, this._id); +} + +;// ./node_modules/d3-transition/src/transition/merge.js + +/* harmony default export */ function transition_merge(transition) { + if (transition._id !== this._id) throw new Error(); + for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { + for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group0[i] || group1[i]) { + merge[i] = node; + } + } + } + for (; j < m0; ++j) { + merges[j] = groups0[j]; + } + return new Transition(merges, this._parents, this._name, this._id); +} + +;// ./node_modules/d3-transition/src/transition/on.js + +function start(name) { + return (name + "").trim().split(/^|\s+/).every(function(t) { + var i = t.indexOf("."); + if (i >= 0) t = t.slice(0, i); + return !t || t === "start"; + }); +} +function onFunction(id, name, listener) { + var on0, on1, sit = start(name) ? init : schedule_set; + return function() { + var schedule = sit(this, id), on = schedule.on; + if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener); + schedule.on = on1; + }; +} +/* harmony default export */ function transition_on(name, listener) { + var id = this._id; + return arguments.length < 2 ? schedule_get(this.node(), id).on.on(name) : this.each(onFunction(id, name, listener)); +} + +;// ./node_modules/d3-transition/src/transition/remove.js +function removeFunction(id) { + return function() { + var parent = this.parentNode; + for (var i in this.__transition) if (+i !== id) return; + if (parent) parent.removeChild(this); + }; +} +/* harmony default export */ function transition_remove() { + return this.on("end.remove", removeFunction(this._id)); +} + +;// ./node_modules/d3-transition/src/transition/select.js + + + +/* harmony default export */ function transition_select(select) { + var name = this._name, id = this._id; + if (typeof select !== "function") select = selector(select); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) { + if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) { + if ("__data__" in node) subnode.__data__ = node.__data__; + subgroup[i] = subnode; + schedule(subgroup[i], name, id, i, subgroup, schedule_get(node, id)); + } + } + } + return new Transition(subgroups, this._parents, name, id); +} + +;// ./node_modules/d3-transition/src/transition/selectAll.js + + + +/* harmony default export */ function transition_selectAll(select) { + var name = this._name, id = this._id; + if (typeof select !== "function") select = selectorAll(select); + for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + for (var children = select.call(node, node.__data__, i, group), child, inherit = schedule_get(node, id), k = 0, l = children.length; k < l; ++k) { + if (child = children[k]) { + schedule(child, name, id, k, children, inherit); + } + } + subgroups.push(children); + parents.push(node); + } + } + } + return new Transition(subgroups, parents, name, id); +} + +;// ./node_modules/d3-transition/src/transition/selection.js + +var selection_Selection = src_selection.prototype.constructor; +/* harmony default export */ function transition_selection() { + return new selection_Selection(this._groups, this._parents); +} + +;// ./node_modules/d3-transition/src/transition/style.js + + + + + +function styleNull(name, interpolate2) { + var string00, string10, interpolate0; + return function() { + var string0 = styleValue(this, name), string1 = (this.style.removeProperty(name), styleValue(this, name)); + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, string10 = string1); + }; +} +function style_styleRemove(name) { + return function() { + this.style.removeProperty(name); + }; +} +function style_styleConstant(name, interpolate2, value1) { + var string00, string1 = value1 + "", interpolate0; + return function() { + var string0 = styleValue(this, name); + return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1); + }; +} +function style_styleFunction(name, interpolate2, value) { + var string00, string10, interpolate0; + return function() { + var string0 = styleValue(this, name), value1 = value(this), string1 = value1 + ""; + if (value1 == null) string1 = value1 = (this.style.removeProperty(name), styleValue(this, name)); + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1)); + }; +} +function styleMaybeRemove(id, name) { + var on0, on1, listener0, key = "style." + name, event = "end." + key, remove; + return function() { + var schedule = schedule_set(this, id), on = schedule.on, listener = schedule.value[key] == null ? remove || (remove = style_styleRemove(name)) : void 0; + if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener); + schedule.on = on1; + }; +} +/* harmony default export */ function transition_style(name, value, priority) { + var i = (name += "") === "transform" ? interpolateTransformCss : interpolate; + return value == null ? this.styleTween(name, styleNull(name, i)).on("end.style." + name, style_styleRemove(name)) : typeof value === "function" ? this.styleTween(name, style_styleFunction(name, i, tweenValue(this, "style." + name, value))).each(styleMaybeRemove(this._id, name)) : this.styleTween(name, style_styleConstant(name, i, value), priority).on("end.style." + name, null); +} + +;// ./node_modules/d3-transition/src/transition/styleTween.js +function styleInterpolate(name, i, priority) { + return function(t) { + this.style.setProperty(name, i.call(this, t), priority); + }; +} +function styleTween(name, value, priority) { + var t, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority); + return t; + } + tween._value = value; + return tween; +} +/* harmony default export */ function transition_styleTween(name, value, priority) { + var key = "style." + (name += ""); + if (arguments.length < 2) return (key = this.tween(key)) && key._value; + if (value == null) return this.tween(key, null); + if (typeof value !== "function") throw new Error(); + return this.tween(key, styleTween(name, value, priority == null ? "" : priority)); +} + +;// ./node_modules/d3-transition/src/transition/text.js + +function text_textConstant(value) { + return function() { + this.textContent = value; + }; +} +function text_textFunction(value) { + return function() { + var value1 = value(this); + this.textContent = value1 == null ? "" : value1; + }; +} +/* harmony default export */ function transition_text(value) { + return this.tween("text", typeof value === "function" ? text_textFunction(tweenValue(this, "text", value)) : text_textConstant(value == null ? "" : value + "")); +} + +;// ./node_modules/d3-transition/src/transition/textTween.js +function textInterpolate(i) { + return function(t) { + this.textContent = i.call(this, t); + }; +} +function textTween(value) { + var t0, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t0 = (i0 = i) && textInterpolate(i); + return t0; + } + tween._value = value; + return tween; +} +/* harmony default export */ function transition_textTween(value) { + var key = "text"; + if (arguments.length < 1) return (key = this.tween(key)) && key._value; + if (value == null) return this.tween(key, null); + if (typeof value !== "function") throw new Error(); + return this.tween(key, textTween(value)); +} + +;// ./node_modules/d3-transition/src/transition/transition.js + + +/* harmony default export */ function transition() { + var name = this._name, id0 = this._id, id1 = newId(); + for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + var inherit = schedule_get(node, id0); + schedule(node, name, id1, i, group, { + time: inherit.time + inherit.delay + inherit.duration, + delay: 0, + duration: inherit.duration, + ease: inherit.ease + }); + } + } + } + return new Transition(groups, this._parents, name, id1); +} + +;// ./node_modules/d3-transition/src/transition/end.js + +/* harmony default export */ function end() { + var on0, on1, that = this, id = that._id, size = that.size(); + return new Promise(function(resolve, reject) { + var cancel = { value: reject }, end = { value: function() { + if (--size === 0) resolve(); + } }; + that.each(function() { + var schedule = schedule_set(this, id), on = schedule.on; + if (on !== on0) { + on1 = (on0 = on).copy(); + on1._.cancel.push(cancel); + on1._.interrupt.push(cancel); + on1._.end.push(end); + } + schedule.on = on1; + }); + if (size === 0) resolve(); + }); +} + +;// ./node_modules/d3-transition/src/transition/index.js + + + + + + + + + + + + + + + + + + + + + +var id = 0; +function Transition(groups, parents, name, id2) { + this._groups = groups; + this._parents = parents; + this._name = name; + this._id = id2; +} +function transition_transition(name) { + return src_selection().transition(name); +} +function newId() { + return ++id; +} +var selection_prototype = src_selection.prototype; +Transition.prototype = transition_transition.prototype = { + constructor: Transition, + select: transition_select, + selectAll: transition_selectAll, + selectChild: selection_prototype.selectChild, + selectChildren: selection_prototype.selectChildren, + filter: transition_filter, + merge: transition_merge, + selection: transition_selection, + transition: transition, + call: selection_prototype.call, + nodes: selection_prototype.nodes, + node: selection_prototype.node, + size: selection_prototype.size, + empty: selection_prototype.empty, + each: selection_prototype.each, + on: transition_on, + attr: transition_attr, + attrTween: transition_attrTween, + style: transition_style, + styleTween: transition_styleTween, + text: transition_text, + textTween: transition_textTween, + remove: transition_remove, + tween: tween, + delay: delay, + duration: duration, + ease: ease, + easeVarying: transition_easeVarying, + end: end, + [Symbol.iterator]: selection_prototype[Symbol.iterator] +}; + +;// ./node_modules/d3-ease/src/cubic.js +function cubicIn(t) { + return t * t * t; +} +function cubicOut(t) { + return --t * t * t + 1; +} +function cubicInOut(t) { + return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2; +} + +;// ./node_modules/d3-transition/src/selection/transition.js + + + + +var defaultTiming = { + time: null, + // Set on use. + delay: 0, + duration: 250, + ease: cubicInOut +}; +function inherit(node, id) { + var timing; + while (!(timing = node.__transition) || !(timing = timing[id])) { + if (!(node = node.parentNode)) { + throw new Error(`transition ${id} not found`); + } + } + return timing; +} +/* harmony default export */ function selection_transition(name) { + var id, timing; + if (name instanceof Transition) { + id = name._id, name = name._name; + } else { + id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + ""; + } + for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + schedule(node, name, id, i, group, timing || inherit(node, id)); + } + } + } + return new Transition(groups, this._parents, name, id); +} + +;// ./node_modules/d3-transition/src/selection/index.js + + + +src_selection.prototype.interrupt = selection_interrupt; +src_selection.prototype.transition = selection_transition; + +;// ./node_modules/d3-transition/src/index.js + + + + + +;// ./node_modules/d3-brush/src/constant.js +/* harmony default export */ var d3_brush_src_constant = ((x) => () => x); + +;// ./node_modules/d3-brush/src/event.js +function BrushEvent(type, { + sourceEvent, + target, + selection, + mode, + dispatch +}) { + Object.defineProperties(this, { + type: { value: type, enumerable: true, configurable: true }, + sourceEvent: { value: sourceEvent, enumerable: true, configurable: true }, + target: { value: target, enumerable: true, configurable: true }, + selection: { value: selection, enumerable: true, configurable: true }, + mode: { value: mode, enumerable: true, configurable: true }, + _: { value: dispatch } + }); +} + +;// ./node_modules/d3-brush/src/noevent.js +function noevent_nopropagation(event) { + event.stopImmediatePropagation(); +} +/* harmony default export */ function src_noevent(event) { + event.preventDefault(); + event.stopImmediatePropagation(); +} + +;// ./node_modules/d3-brush/src/brush.js + + + + + + + + +var MODE_DRAG = { name: "drag" }, MODE_SPACE = { name: "space" }, MODE_HANDLE = { name: "handle" }, MODE_CENTER = { name: "center" }; +const { abs, max, min } = Math; +function number1(e) { + return [+e[0], +e[1]]; +} +function number2(e) { + return [number1(e[0]), number1(e[1])]; +} +var X = { + name: "x", + handles: ["w", "e"].map(type), + input: function(x, e) { + return x == null ? null : [[+x[0], e[0][1]], [+x[1], e[1][1]]]; + }, + output: function(xy) { + return xy && [xy[0][0], xy[1][0]]; + } +}; +var Y = { + name: "y", + handles: ["n", "s"].map(type), + input: function(y, e) { + return y == null ? null : [[e[0][0], +y[0]], [e[1][0], +y[1]]]; + }, + output: function(xy) { + return xy && [xy[0][1], xy[1][1]]; + } +}; +var XY = { + name: "xy", + handles: ["n", "w", "e", "s", "nw", "ne", "sw", "se"].map(type), + input: function(xy) { + return xy == null ? null : number2(xy); + }, + output: function(xy) { + return xy; + } +}; +var cursors = { + overlay: "crosshair", + selection: "move", + n: "ns-resize", + e: "ew-resize", + s: "ns-resize", + w: "ew-resize", + nw: "nwse-resize", + ne: "nesw-resize", + se: "nwse-resize", + sw: "nesw-resize" +}; +var flipX = { + e: "w", + w: "e", + nw: "ne", + ne: "nw", + se: "sw", + sw: "se" +}; +var flipY = { + n: "s", + s: "n", + nw: "sw", + ne: "se", + se: "ne", + sw: "nw" +}; +var signsX = { + overlay: 1, + selection: 1, + n: null, + e: 1, + s: null, + w: -1, + nw: -1, + ne: 1, + se: 1, + sw: -1 +}; +var signsY = { + overlay: 1, + selection: 1, + n: -1, + e: null, + s: 1, + w: null, + nw: -1, + ne: -1, + se: 1, + sw: 1 +}; +function type(t) { + return { type: t }; +} +function defaultFilter(event) { + return !event.ctrlKey && !event.button; +} +function defaultExtent() { + var svg = this.ownerSVGElement || this; + if (svg.hasAttribute("viewBox")) { + svg = svg.viewBox.baseVal; + return [[svg.x, svg.y], [svg.x + svg.width, svg.y + svg.height]]; + } + return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]]; +} +function defaultTouchable() { + return navigator.maxTouchPoints || "ontouchstart" in this; +} +function local(node) { + while (!node.__brush) if (!(node = node.parentNode)) return; + return node.__brush; +} +function brush_empty(extent) { + return extent[0][0] === extent[1][0] || extent[0][1] === extent[1][1]; +} +function brushSelection(node) { + var state = node.__brush; + return state ? state.dim.output(state.selection) : null; +} +function brushX() { + return brush_brush(X); +} +function brushY() { + return brush_brush(Y); +} +/* harmony default export */ function brush() { + return brush_brush(XY); +} +function brush_brush(dim) { + var extent = defaultExtent, filter = defaultFilter, touchable = defaultTouchable, keys = true, listeners = src_dispatch("start", "brush", "end"), handleSize = 6, touchending; + function brush2(group) { + var overlay = group.property("__brush", initialize).selectAll(".overlay").data([type("overlay")]); + overlay.enter().append("rect").attr("class", "overlay").attr("pointer-events", "all").attr("cursor", cursors.overlay).merge(overlay).each(function() { + var extent2 = local(this).extent; + src_select(this).attr("x", extent2[0][0]).attr("y", extent2[0][1]).attr("width", extent2[1][0] - extent2[0][0]).attr("height", extent2[1][1] - extent2[0][1]); + }); + group.selectAll(".selection").data([type("selection")]).enter().append("rect").attr("class", "selection").attr("cursor", cursors.selection).attr("fill", "#777").attr("fill-opacity", 0.3).attr("stroke", "#fff").attr("shape-rendering", "crispEdges"); + var handle = group.selectAll(".handle").data(dim.handles, function(d) { + return d.type; + }); + handle.exit().remove(); + handle.enter().append("rect").attr("class", function(d) { + return "handle handle--" + d.type; + }).attr("cursor", function(d) { + return cursors[d.type]; + }); + group.each(redraw).attr("fill", "none").attr("pointer-events", "all").on("mousedown.brush", started).filter(touchable).on("touchstart.brush", started).on("touchmove.brush", touchmoved).on("touchend.brush touchcancel.brush", touchended).style("touch-action", "none").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)"); + } + brush2.move = function(group, selection, event) { + if (group.tween) { + group.on("start.brush", function(event2) { + emitter(this, arguments).beforestart().start(event2); + }).on("interrupt.brush end.brush", function(event2) { + emitter(this, arguments).end(event2); + }).tween("brush", function() { + var that = this, state = that.__brush, emit = emitter(that, arguments), selection0 = state.selection, selection1 = dim.input(typeof selection === "function" ? selection.apply(this, arguments) : selection, state.extent), i = value(selection0, selection1); + function tween(t) { + state.selection = t === 1 && selection1 === null ? null : i(t); + redraw.call(that); + emit.brush(); + } + return selection0 !== null && selection1 !== null ? tween : tween(1); + }); + } else { + group.each(function() { + var that = this, args = arguments, state = that.__brush, selection1 = dim.input(typeof selection === "function" ? selection.apply(that, args) : selection, state.extent), emit = emitter(that, args).beforestart(); + interrupt(that); + state.selection = selection1 === null ? null : selection1; + redraw.call(that); + emit.start(event).brush(event).end(event); + }); + } + }; + brush2.clear = function(group, event) { + brush2.move(group, null, event); + }; + function redraw() { + var group = src_select(this), selection = local(this).selection; + if (selection) { + group.selectAll(".selection").style("display", null).attr("x", selection[0][0]).attr("y", selection[0][1]).attr("width", selection[1][0] - selection[0][0]).attr("height", selection[1][1] - selection[0][1]); + group.selectAll(".handle").style("display", null).attr("x", function(d) { + return d.type[d.type.length - 1] === "e" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; + }).attr("y", function(d) { + return d.type[0] === "s" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; + }).attr("width", function(d) { + return d.type === "n" || d.type === "s" ? selection[1][0] - selection[0][0] + handleSize : handleSize; + }).attr("height", function(d) { + return d.type === "e" || d.type === "w" ? selection[1][1] - selection[0][1] + handleSize : handleSize; + }); + } else { + group.selectAll(".selection,.handle").style("display", "none").attr("x", null).attr("y", null).attr("width", null).attr("height", null); + } + } + function emitter(that, args, clean) { + var emit = that.__brush.emitter; + return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean); + } + function Emitter(that, args, clean) { + this.that = that; + this.args = args; + this.state = that.__brush; + this.active = 0; + this.clean = clean; + } + Emitter.prototype = { + beforestart: function() { + if (++this.active === 1) this.state.emitter = this, this.starting = true; + return this; + }, + start: function(event, mode) { + if (this.starting) this.starting = false, this.emit("start", event, mode); + else this.emit("brush", event); + return this; + }, + brush: function(event, mode) { + this.emit("brush", event, mode); + return this; + }, + end: function(event, mode) { + if (--this.active === 0) delete this.state.emitter, this.emit("end", event, mode); + return this; + }, + emit: function(type2, event, mode) { + var d = src_select(this.that).datum(); + listeners.call( + type2, + this.that, + new BrushEvent(type2, { + sourceEvent: event, + target: brush2, + selection: dim.output(this.state.selection), + mode, + dispatch: listeners + }), + d + ); + } + }; + function started(event) { + if (touchending && !event.touches) return; + if (!filter.apply(this, arguments)) return; + var that = this, type2 = event.target.__data__.type, mode = (keys && event.metaKey ? type2 = "overlay" : type2) === "selection" ? MODE_DRAG : keys && event.altKey ? MODE_CENTER : MODE_HANDLE, signX = dim === Y ? null : signsX[type2], signY = dim === X ? null : signsY[type2], state = local(that), extent2 = state.extent, selection = state.selection, W = extent2[0][0], w0, w1, N = extent2[0][1], n0, n1, E = extent2[1][0], e0, e1, S = extent2[1][1], s0, s1, dx = 0, dy = 0, moving, shifting = signX && signY && keys && event.shiftKey, lockX, lockY, points = Array.from(event.touches || [event], (t) => { + const i = t.identifier; + t = src_pointer(t, that); + t.point0 = t.slice(); + t.identifier = i; + return t; + }); + interrupt(that); + var emit = emitter(that, arguments, true).beforestart(); + if (type2 === "overlay") { + if (selection) moving = true; + const pts = [points[0], points[1] || points[0]]; + state.selection = selection = [[ + w0 = dim === Y ? W : min(pts[0][0], pts[1][0]), + n0 = dim === X ? N : min(pts[0][1], pts[1][1]) + ], [ + e0 = dim === Y ? E : max(pts[0][0], pts[1][0]), + s0 = dim === X ? S : max(pts[0][1], pts[1][1]) + ]]; + if (points.length > 1) move(event); + } else { + w0 = selection[0][0]; + n0 = selection[0][1]; + e0 = selection[1][0]; + s0 = selection[1][1]; + } + w1 = w0; + n1 = n0; + e1 = e0; + s1 = s0; + var group = src_select(that).attr("pointer-events", "none"); + var overlay = group.selectAll(".overlay").attr("cursor", cursors[type2]); + if (event.touches) { + emit.moved = moved; + emit.ended = ended; + } else { + var view = src_select(event.view).on("mousemove.brush", moved, true).on("mouseup.brush", ended, true); + if (keys) view.on("keydown.brush", keydowned, true).on("keyup.brush", keyupped, true); + nodrag(event.view); + } + redraw.call(that); + emit.start(event, mode.name); + function moved(event2) { + for (const p of event2.changedTouches || [event2]) { + for (const d of points) + if (d.identifier === p.identifier) d.cur = src_pointer(p, that); + } + if (shifting && !lockX && !lockY && points.length === 1) { + const point = points[0]; + if (abs(point.cur[0] - point[0]) > abs(point.cur[1] - point[1])) + lockY = true; + else + lockX = true; + } + for (const point of points) + if (point.cur) point[0] = point.cur[0], point[1] = point.cur[1]; + moving = true; + src_noevent(event2); + move(event2); + } + function move(event2) { + const point = points[0], point0 = point.point0; + var t; + dx = point[0] - point0[0]; + dy = point[1] - point0[1]; + switch (mode) { + case MODE_SPACE: + case MODE_DRAG: { + if (signX) dx = max(W - w0, min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx; + if (signY) dy = max(N - n0, min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy; + break; + } + case MODE_HANDLE: { + if (points[1]) { + if (signX) w1 = max(W, min(E, points[0][0])), e1 = max(W, min(E, points[1][0])), signX = 1; + if (signY) n1 = max(N, min(S, points[0][1])), s1 = max(N, min(S, points[1][1])), signY = 1; + } else { + if (signX < 0) dx = max(W - w0, min(E - w0, dx)), w1 = w0 + dx, e1 = e0; + else if (signX > 0) dx = max(W - e0, min(E - e0, dx)), w1 = w0, e1 = e0 + dx; + if (signY < 0) dy = max(N - n0, min(S - n0, dy)), n1 = n0 + dy, s1 = s0; + else if (signY > 0) dy = max(N - s0, min(S - s0, dy)), n1 = n0, s1 = s0 + dy; + } + break; + } + case MODE_CENTER: { + if (signX) w1 = max(W, min(E, w0 - dx * signX)), e1 = max(W, min(E, e0 + dx * signX)); + if (signY) n1 = max(N, min(S, n0 - dy * signY)), s1 = max(N, min(S, s0 + dy * signY)); + break; + } + } + if (e1 < w1) { + signX *= -1; + t = w0, w0 = e0, e0 = t; + t = w1, w1 = e1, e1 = t; + if (type2 in flipX) overlay.attr("cursor", cursors[type2 = flipX[type2]]); + } + if (s1 < n1) { + signY *= -1; + t = n0, n0 = s0, s0 = t; + t = n1, n1 = s1, s1 = t; + if (type2 in flipY) overlay.attr("cursor", cursors[type2 = flipY[type2]]); + } + if (state.selection) selection = state.selection; + if (lockX) w1 = selection[0][0], e1 = selection[1][0]; + if (lockY) n1 = selection[0][1], s1 = selection[1][1]; + if (selection[0][0] !== w1 || selection[0][1] !== n1 || selection[1][0] !== e1 || selection[1][1] !== s1) { + state.selection = [[w1, n1], [e1, s1]]; + redraw.call(that); + emit.brush(event2, mode.name); + } + } + function ended(event2) { + noevent_nopropagation(event2); + if (event2.touches) { + if (event2.touches.length) return; + if (touchending) clearTimeout(touchending); + touchending = setTimeout(function() { + touchending = null; + }, 500); + } else { + yesdrag(event2.view, moving); + view.on("keydown.brush keyup.brush mousemove.brush mouseup.brush", null); + } + group.attr("pointer-events", "all"); + overlay.attr("cursor", cursors.overlay); + if (state.selection) selection = state.selection; + if (brush_empty(selection)) state.selection = null, redraw.call(that); + emit.end(event2, mode.name); + } + function keydowned(event2) { + switch (event2.keyCode) { + case 16: { + shifting = signX && signY; + break; + } + case 18: { + if (mode === MODE_HANDLE) { + if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX; + if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY; + mode = MODE_CENTER; + move(event2); + } + break; + } + case 32: { + if (mode === MODE_HANDLE || mode === MODE_CENTER) { + if (signX < 0) e0 = e1 - dx; + else if (signX > 0) w0 = w1 - dx; + if (signY < 0) s0 = s1 - dy; + else if (signY > 0) n0 = n1 - dy; + mode = MODE_SPACE; + overlay.attr("cursor", cursors.selection); + move(event2); + } + break; + } + default: + return; + } + src_noevent(event2); + } + function keyupped(event2) { + switch (event2.keyCode) { + case 16: { + if (shifting) { + lockX = lockY = shifting = false; + move(event2); + } + break; + } + case 18: { + if (mode === MODE_CENTER) { + if (signX < 0) e0 = e1; + else if (signX > 0) w0 = w1; + if (signY < 0) s0 = s1; + else if (signY > 0) n0 = n1; + mode = MODE_HANDLE; + move(event2); + } + break; + } + case 32: { + if (mode === MODE_SPACE) { + if (event2.altKey) { + if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX; + if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY; + mode = MODE_CENTER; + } else { + if (signX < 0) e0 = e1; + else if (signX > 0) w0 = w1; + if (signY < 0) s0 = s1; + else if (signY > 0) n0 = n1; + mode = MODE_HANDLE; + } + overlay.attr("cursor", cursors[type2]); + move(event2); + } + break; + } + default: + return; + } + src_noevent(event2); + } + } + function touchmoved(event) { + emitter(this, arguments).moved(event); + } + function touchended(event) { + emitter(this, arguments).ended(event); + } + function initialize() { + var state = this.__brush || { selection: null }; + state.extent = number2(extent.apply(this, arguments)); + state.dim = dim; + return state; + } + brush2.extent = function(_) { + return arguments.length ? (extent = typeof _ === "function" ? _ : d3_brush_src_constant(number2(_)), brush2) : extent; + }; + brush2.filter = function(_) { + return arguments.length ? (filter = typeof _ === "function" ? _ : d3_brush_src_constant(!!_), brush2) : filter; + }; + brush2.touchable = function(_) { + return arguments.length ? (touchable = typeof _ === "function" ? _ : d3_brush_src_constant(!!_), brush2) : touchable; + }; + brush2.handleSize = function(_) { + return arguments.length ? (handleSize = +_, brush2) : handleSize; + }; + brush2.keyModifiers = function(_) { + return arguments.length ? (keys = !!_, brush2) : keys; + }; + brush2.on = function() { + var value = listeners.on.apply(listeners, arguments); + return value === listeners ? brush2 : value; + }; + return brush2; +} + +;// ./node_modules/d3-brush/src/index.js + + +;// ./src/module/browser.ts +function getGlobal() { + return typeof globalThis === "object" && globalThis !== null && globalThis.Object === Object && globalThis || typeof global === "object" && global !== null && global.Object === Object && global || typeof self === "object" && self !== null && self.Object === Object && self || Function("return this")(); +} +function getFallback(w) { + const hasRAF = typeof (w == null ? void 0 : w.requestAnimationFrame) === "function" && typeof (w == null ? void 0 : w.cancelAnimationFrame) === "function"; + const hasRIC = typeof (w == null ? void 0 : w.requestIdleCallback) === "function" && typeof (w == null ? void 0 : w.cancelIdleCallback) === "function"; + const request = (cb) => setTimeout(cb, 1); + const cancel = (id) => clearTimeout(id); + return [ + hasRAF ? w.requestAnimationFrame : request, + hasRAF ? w.cancelAnimationFrame : cancel, + hasRIC ? w.requestIdleCallback : request, + hasRIC ? w.cancelIdleCallback : cancel + ]; +} +const win = getGlobal(); +const doc = win == null ? void 0 : win.document; +const [ + requestAnimationFrame, + cancelAnimationFrame, + requestIdleCallback, + cancelIdleCallback +] = getFallback(win); + + +;// ./src/module/util.ts +var util_defProp = Object.defineProperty; +var util_getOwnPropSymbols = Object.getOwnPropertySymbols; +var util_hasOwnProp = Object.prototype.hasOwnProperty; +var util_propIsEnum = Object.prototype.propertyIsEnumerable; +var util_defNormalProp = (obj, key, value) => key in obj ? util_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var util_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (util_hasOwnProp.call(b, prop)) + util_defNormalProp(a, prop, b[prop]); + if (util_getOwnPropSymbols) + for (var prop of util_getOwnPropSymbols(b)) { + if (util_propIsEnum.call(b, prop)) + util_defNormalProp(a, prop, b[prop]); + } + return a; +}; + + + + +const isValue = (v) => v || v === 0; +const isFunction = (v) => typeof v === "function"; +const isString = (v) => typeof v === "string"; +const isNumber = (v) => typeof v === "number"; +const isUndefined = (v) => typeof v === "undefined"; +const isDefined = (v) => typeof v !== "undefined"; +const isBoolean = (v) => typeof v === "boolean"; +const ceil10 = (v) => Math.ceil(v / 10) * 10; +const asHalfPixel = (n) => Math.ceil(n) + 0.5; +const diffDomain = (d) => d[1] - d[0]; +const isObjectType = (v) => typeof v === "object"; +const isEmpty = (o) => isUndefined(o) || o === null || isString(o) && o.length === 0 || isObjectType(o) && !(o instanceof Date) && Object.keys(o).length === 0 || isNumber(o) && isNaN(o); +const notEmpty = (o) => !isEmpty(o); +const isArray = (arr) => Array.isArray(arr); +const isObject = (obj) => obj && !(obj == null ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); +function getOption(options, key, defaultValue) { + return isDefined(options[key]) ? options[key] : defaultValue; +} +function hasValue(dict, value) { + let found = false; + Object.keys(dict).forEach((key) => dict[key] === value && (found = true)); + return found; +} +function callFn(fn, thisArg, ...args) { + const isFn = isFunction(fn); + isFn && fn.call(thisArg, ...args); + return isFn; +} +function endall(transition, cb) { + let n = 0; + const end = function(...args) { + !--n && cb.apply(this, ...args); + }; + if ("duration" in transition) { + transition.each(() => ++n).on("end", end); + } else { + ++n; + transition.call(end); + } +} +function sanitize(str) { + return isString(str) ? str.replace(/<(script|img)?/ig, "<").replace(/(script)?>/ig, ">") : str; +} +function setTextValue(node, text, dy = [-1, 1], toMiddle = false) { + if (!node || !isString(text)) { + return; + } + if (text.indexOf("\n") === -1) { + node.text(text); + } else { + const diff = [node.text(), text].map((v) => v.replace(/[\s\n]/g, "")); + if (diff[0] !== diff[1]) { + const multiline = text.split("\n"); + const len = toMiddle ? multiline.length - 1 : 1; + node.html(""); + multiline.forEach((v, i) => { + node.append("tspan").attr("x", 0).attr("dy", `${i === 0 ? dy[0] * len : dy[1]}em`).text(v); + }); + } + } +} +function getRectSegList(path) { + const { x, y, width, height } = path.getBBox(); + return [ + { x, y: y + height }, + // seg0 + { x, y }, + // seg1 + { x: x + width, y }, + // seg2 + { x: x + width, y: y + height } + // seg3 + ]; +} +function getPathBox(path) { + const { width, height } = path.getBoundingClientRect(); + const items = getRectSegList(path); + const x = items[0].x; + const y = Math.min(items[0].y, items[1].y); + return { + x, + y, + width, + height + }; +} +function getPointer(event, element) { + var _a; + const touches = event && ((_a = event.touches || event.sourceEvent && event.sourceEvent.touches) == null ? void 0 : _a[0]); + let pointer = [0, 0]; + try { + pointer = src_pointer(touches || event, element); + } catch (e) { + } + return pointer.map((v) => isNaN(v) ? 0 : v); +} +function getBrushSelection(ctx) { + const { event, $el } = ctx; + const main = $el.subchart.main || $el.main; + let selection; + if (event && event.type === "brush") { + selection = event.selection; + } else if (main && (selection = main.select(".bb-brush").node())) { + selection = brushSelection(selection); + } + return selection; +} +function getBoundingRect(node) { + const needEvaluate = !("rect" in node) || "rect" in node && node.hasAttribute("width") && node.rect.width !== +node.getAttribute("width"); + return needEvaluate ? node.rect = node.getBoundingClientRect() : node.rect; +} +function getRandom(asStr = true, min = 0, max = 1e4) { + const crpt = win.crypto || win.msCrypto; + const rand = crpt ? min + crpt.getRandomValues(new Uint32Array(1))[0] % (max - min + 1) : Math.floor(Math.random() * (max - min) + min); + return asStr ? String(rand) : rand; +} +function findIndex(arr, v, start, end, isRotated) { + if (start > end) { + return -1; + } + const mid = Math.floor((start + end) / 2); + let { x, w = 0 } = arr[mid]; + if (isRotated) { + x = arr[mid].y; + w = arr[mid].h; + } + if (v >= x && v <= x + w) { + return mid; + } + return v < x ? findIndex(arr, v, start, mid - 1, isRotated) : findIndex(arr, v, mid + 1, end, isRotated); +} +function brushEmpty(ctx) { + const selection = getBrushSelection(ctx); + if (selection) { + return selection[0] === selection[1]; + } + return true; +} +function deepClone(...objectN) { + const clone = (v) => { + if (isObject(v) && v.constructor) { + const r = new v.constructor(); + for (const k in v) { + r[k] = clone(v[k]); + } + return r; + } + return v; + }; + return objectN.map((v) => clone(v)).reduce((a, c) => util_spreadValues(util_spreadValues({}, a), c)); +} +function util_extend(target = {}, source) { + if (isArray(source)) { + source.forEach((v) => util_extend(target, v)); + } + for (const p in source) { + if (/^\d+$/.test(p) || p in target) { + continue; + } + target[p] = source[p]; + } + return target; +} +const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1); +function camelize(str, separator = "-") { + return str.split(separator).map((v, i) => i ? v.charAt(0).toUpperCase() + v.slice(1).toLowerCase() : v.toLowerCase()).join(""); +} +const toArray = (v) => [].slice.call(v); +function addCssRules(style, selector, prop) { + const { rootSelector = "", sheet } = style; + const getSelector = (s) => s.replace(/\s?(bb-)/g, ".$1").replace(/\.+/g, "."); + const rule = `${rootSelector} ${getSelector(selector)} {${prop.join(";")}}`; + return sheet[sheet.insertRule ? "insertRule" : "addRule"]( + rule, + sheet.cssRules.length + ); +} +function getCssRules(styleSheets) { + let rules = []; + styleSheets.forEach((sheet) => { + var _a; + try { + if (sheet.cssRules && sheet.cssRules.length) { + rules = rules.concat(toArray(sheet.cssRules)); + } + } catch (e) { + (_a = win.console) == null ? void 0 : _a.warn(`Error while reading rules from ${sheet.href}: ${e.toString()}`); + } + }); + return rules; +} +function getScrollPosition(node) { + var _a, _b, _c, _d, _e, _f; + return { + x: ((_b = (_a = win.pageXOffset) != null ? _a : win.scrollX) != null ? _b : 0) + ((_c = node.scrollLeft) != null ? _c : 0), + y: ((_e = (_d = win.pageYOffset) != null ? _d : win.scrollY) != null ? _e : 0) + ((_f = node.scrollTop) != null ? _f : 0) + }; +} +function getTransformCTM(node, x = 0, y = 0, inverse = true) { + const point = new DOMPoint(x, y); + const screen = node.getScreenCTM(); + const res = point.matrixTransform( + inverse ? screen == null ? void 0 : screen.inverse() : screen + ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; +} +function getTranslation(node) { + const transform = node ? node.transform : null; + const baseVal = transform && transform.baseVal; + return baseVal && baseVal.numberOfItems ? baseVal.getItem(0).matrix : { a: 0, b: 0, c: 0, d: 0, e: 0, f: 0 }; +} +function getUnique(data) { + const isDate = data[0] instanceof Date; + const d = (isDate ? data.map(Number) : data).filter((v, i, self) => self.indexOf(v) === i); + return isDate ? d.map((v) => new Date(v)) : d; +} +function mergeArray(arr) { + return arr && arr.length ? arr.reduce((p, c) => p.concat(c)) : []; +} +function mergeObj(target, ...objectN) { + if (!objectN.length || objectN.length === 1 && !objectN[0]) { + return target; + } + const source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach((key) => { + const value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj(target, ...objectN); +} +function sortValue(data, isAsc = true) { + let fn; + if (data[0] instanceof Date) { + fn = isAsc ? (a, b) => a - b : (a, b) => b - a; + } else { + if (isAsc && !data.every(isNaN)) { + fn = (a, b) => a - b; + } else if (!isAsc) { + fn = (a, b) => a > b && -1 || a < b && 1 || a === b && 0; + } + } + return data.concat().sort(fn); +} +function getMinMax(type, data) { + let res = data.filter((v) => notEmpty(v)); + if (res.length) { + if (isNumber(res[0])) { + res = Math[type](...res); + } else if (res[0] instanceof Date) { + res = sortValue(res, type === "min")[0]; + } + } else { + res = void 0; + } + return res; +} +const getRange = (start, end, step = 1) => { + const res = []; + const n = Math.max(0, Math.ceil((end - start) / step)) | 0; + for (let i = start; i < n; i++) { + res.push(start + i * step); + } + return res; +}; +const emulateEvent = { + mouse: (() => { + const getParams = () => ({ + bubbles: false, + cancelable: false, + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0 + }); + try { + new MouseEvent("t"); + return (el, eventType, params = getParams()) => { + el.dispatchEvent(new MouseEvent(eventType, params)); + }; + } catch (e) { + return (el, eventType, params = getParams()) => { + const mouseEvent = doc.createEvent("MouseEvent"); + mouseEvent.initMouseEvent( + eventType, + params.bubbles, + params.cancelable, + win, + 0, + // the event's mouse click count + params.screenX, + params.screenY, + params.clientX, + params.clientY, + false, + false, + false, + false, + 0, + null + ); + el.dispatchEvent(mouseEvent); + }; + } + })(), + touch: (el, eventType, params) => { + const touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}; +function tplProcess(tpl, data) { + let res = tpl; + for (const x in data) { + res = res.replace(new RegExp(`{=${x}}`, "g"), data[x]); + } + return res; +} +function parseDate(date) { + var _a; + let parsedDate; + if (date instanceof Date) { + parsedDate = date; + } else if (isString(date)) { + const { config, format } = this; + parsedDate = (_a = format.dataTime(config.data_xFormat)(date)) != null ? _a : new Date(date); + } else if (isNumber(date) && !isNaN(date)) { + parsedDate = /* @__PURE__ */ new Date(+date); + } + if (!parsedDate || isNaN(+parsedDate)) { + console && console.error && console.error(`Failed to parse x '${date}' to Date object`); + } + return parsedDate; +} +function hasViewBox(svg) { + const attr = svg.attr("viewBox"); + return attr ? /(\d+(\.\d+)?){3}/.test(attr) : false; +} +function hasStyle(node, condition, all = false) { + const isD3Node = !!node.node; + let has = false; + for (const [key, value] of Object.entries(condition)) { + has = isD3Node ? node.style(key) === value : node.style[key] === value; + if (all === false && has) { + break; + } + } + return has; +} +function isTabVisible() { + var _a, _b; + return ((_a = doc) == null ? void 0 : _a.hidden) === false || ((_b = doc) == null ? void 0 : _b.visibilityState) === "visible"; +} +function convertInputType(mouse, touch) { + const { DocumentTouch, matchMedia, navigator } = win; + const hasPointerCoarse = matchMedia == null ? void 0 : matchMedia("(pointer:coarse)").matches; + let hasTouch = false; + if (touch) { + if (navigator && "maxTouchPoints" in navigator) { + hasTouch = navigator.maxTouchPoints > 0; + } else if ("ontouchmove" in win || DocumentTouch && doc instanceof DocumentTouch) { + hasTouch = true; + } else { + if (hasPointerCoarse) { + hasTouch = true; + } else { + const UA = navigator.userAgent; + hasTouch = /\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(UA) || /\b(Android|Windows Phone|iPad|iPod)\b/i.test(UA); + } + } + } + const hasMouse = mouse && !hasPointerCoarse && (matchMedia == null ? void 0 : matchMedia("(pointer:fine)").matches); + return hasMouse && "mouse" || hasTouch && "touch" || "mouse"; +} +function runUntil(fn, conditionFn) { + if (conditionFn() === false) { + requestAnimationFrame(() => runUntil(fn, conditionFn)); + } else { + fn(); + } +} + +;// ./src/config/config.ts + +function loadConfig(config) { + const thisConfig = this.config; + let target; + let keys; + let read; + const find = () => { + const key = keys.shift(); + if (key && target && isObjectType(target) && key in target) { + target = target[key]; + return find(); + } else if (!key) { + return target; + } + return void 0; + }; + Object.keys(thisConfig).forEach((key) => { + target = config; + keys = key.split("_"); + read = find(); + if (isDefined(read)) { + thisConfig[key] = read; + } + }); + if (this.api) { + this.state.orgConfig = config; + } +} + +;// ./src/Plugin/Plugin.ts +var Plugin_defProp = Object.defineProperty; +var Plugin_defNormalProp = (obj, key, value) => key in obj ? Plugin_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => Plugin_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); +class Plugin { + /** + * Constructor + * @param {Any} options config option object + * @private + */ + constructor(options = {}) { + __publicField(this, "$$"); + __publicField(this, "options"); + this.options = options; + } + /** + * Lifecycle hook for 'beforeInit' phase. + * @private + */ + $beforeInit() { + } + /** + * Lifecycle hook for 'init' phase. + * @private + */ + $init() { + } + /** + * Lifecycle hook for 'afterInit' phase. + * @private + */ + $afterInit() { + } + /** + * Lifecycle hook for 'redraw' phase. + * @private + */ + $redraw() { + } + /** + * Lifecycle hook for 'willDestroy' phase. + * @private + */ + $willDestroy() { + Object.keys(this).forEach((key) => { + this[key] = null; + delete this[key]; + }); + } +} +__publicField(Plugin, "version", "3.14.2"); + +;// ./src/Plugin/sparkline/Options.ts +class Options { + constructor() { + return { + /** + * Specify sparkline charts holder selector. + * - **NOTE:** The amount of holder should match with the amount of data. If has less, will append necessaray amount nodes as sibling of main chart. + * @name selector + * @memberof plugin-sparkline + * @type {string} + * @default undefined + * @example + * selector: ".sparkline" + */ + selector: void 0 + }; + } +} + +;// ./src/Plugin/sparkline/index.ts +var sparkline_defProp = Object.defineProperty; +var sparkline_defNormalProp = (obj, key, value) => key in obj ? sparkline_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var sparkline_publicField = (obj, key, value) => sparkline_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + +class Sparkline extends Plugin { + constructor(options) { + super(options); + sparkline_publicField(this, "config"); + sparkline_publicField(this, "element"); + this.config = new Options(); + return this; + } + $beforeInit() { + loadConfig.call(this, this.options); + this.validate(); + this.element = [].slice.call(document.querySelectorAll(this.config.selector)); + this.overrideInternals(); + this.overrideOptions(); + this.overHandler = this.overHandler.bind(this); + this.moveHandler = this.moveHandler.bind(this); + this.outHandler = this.outHandler.bind(this); + } + validate() { + const { $$, config } = this; + let msg = ""; + if (!config.selector || !document.querySelector(config.selector)) { + msg = "No holder elements found from given selector option."; + } + if ($$.hasType("bubble") || $$.hasType("scatter") || $$.hasArcType($$.data.targets)) { + msg = "Contains non supported chart types."; + } + if (msg) { + throw new Error(`[Sparkline plugin] ${msg}`); + } + } + overrideInternals() { + const { $$ } = this; + const { getBarW, getIndices } = $$; + $$.getIndices = function(indices, d, caller) { + return caller === "getShapeX" ? {} : getIndices.call(this, indices, d); + }; + $$.getBarW = function(type, axis) { + return getBarW.call(this, type, axis, 1); + }; + } + overrideOptions() { + const { config } = this.$$; + config.legend_show = false; + config.resize_auto = false; + config.axis_x_show = false; + if (config.padding !== false) { + const hasOption = (o) => Object.keys(o || {}).length > 0; + if (hasOption(config.axis_x_padding)) { + config.axis_x_padding = { + left: 15, + right: 15, + unit: "px" + }; + } + if (hasOption(config.axis_y_padding)) { + config.axis_y_padding = 5; + } + } + config.axis_y_show = false; + if (!config.tooltip_position) { + config.tooltip_position = function(data, width, height) { + const { internal: { state: { event } } } = this; + let top = event.pageY - height * 1.35; + let left = event.pageX - width / 2; + if (top < 0) { + top = 0; + } + if (left < 0) { + left = 0; + } + return { top, left }; + }; + } + } + $init() { + var _a; + const { $$: { $el } } = this; + $el.chart.style("width", "0").style("height", "0").style("pointer-events", "none"); + ((_a = $el.tooltip) == null ? void 0 : _a.node()) && document.body.appendChild($el.tooltip.node()); + } + $afterInit() { + const { $$ } = this; + $$.$el.svg.attr("style", null).style("width", "0").style("height", "0"); + this.bindEvents(true); + } + /** + * Bind tooltip event handlers for each sparkline elements. + * @param {boolean} bind or unbind + * @private + */ + bindEvents(bind = true) { + const { $$: { config } } = this; + if (config.interaction_enabled && config.tooltip_show) { + const method = `${bind ? "add" : "remove"}EventListener`; + this.element.forEach((el) => { + const svg = el.querySelector("svg"); + svg[method]("mouseover", this.overHandler); + svg[method]("mousemove", this.moveHandler); + svg[method]("mouseout", this.outHandler); + }); + } + } + overHandler(e) { + const { $$ } = this; + const { state: { eventReceiver } } = $$; + eventReceiver.rect = e.target.getBoundingClientRect(); + } + moveHandler(e) { + var _a, _b, _c, _d; + const { $$ } = this; + const index = $$.getDataIndexFromEvent(e); + const data = (_a = $$.api.data(e.target.__id)) == null ? void 0 : _a[0]; + const d = (_b = data == null ? void 0 : data.values) == null ? void 0 : _b[index]; + if (d && !d.name) { + d.name = d.id; + } + $$.state.event = e; + if (((_c = $$.isPointFocusOnly) == null ? void 0 : _c.call($$)) && d) { + (_d = $$.showCircleFocus) == null ? void 0 : _d.call($$, [d]); + } + $$.setExpand(index, data.id, true); + $$.showTooltip([d], e.target); + } + outHandler(e) { + const { $$ } = this; + $$.state.event = e; + $$.isPointFocusOnly() ? $$.hideCircleFocus() : $$.unexpandCircles(); + $$.hideTooltip(); + } + $redraw() { + var _a; + const { $$ } = this; + const { $el } = $$; + let el = this.element; + const data = $$.api.data(); + const svgWrapper = (_a = $el.chart.html().match(/<svg[^>]*>/)) == null ? void 0 : _a[0]; + if (el.length < data.length) { + const chart = $el.chart.node(); + for (let i = data.length - el.length; i > 0; i--) { + chart.parentNode.insertBefore(el[0].cloneNode(), chart.nextSibling); + } + this.element = document.querySelectorAll(this.config.selector); + el = this.element; + } + data.map((v) => v.id).forEach((id, i) => { + const selector = `.${$COMMON.target}-${id}`; + const shape = $el.main.selectAll(selector); + let svg = el[i].querySelector("svg"); + if (!svg) { + el[i].innerHTML = `${svgWrapper}</svg>`; + svg = el[i].querySelector("svg"); + svg.__id = id; + } + if (!svg.querySelector(selector)) { + shape.style("opacity", null); + } + shape.style("fill", "none").style("opacity", null); + svg.innerHTML = ""; + svg.appendChild(shape.node()); + }); + } + $willDestroy() { + this.bindEvents(false); + this.element.forEach((el) => { + el.innerHTML = ""; + }); + } +} +sparkline_publicField(Sparkline, "version", `0.0.1`); + + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module used 'module' so it can't be inlined +/******/ __webpack_require__(0); +/******/ var __webpack_exports__ = __webpack_require__(577); +/******/ __webpack_exports__ = __webpack_exports__["default"]; +/******/ +/******/ return __webpack_exports__; +/******/ })() +; +}); \ No newline at end of file diff --git a/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-sparkline.pkgd.min.js b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-sparkline.pkgd.min.js new file mode 100644 index 000000000..70e06cd6d --- /dev/null +++ b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-sparkline.pkgd.min.js @@ -0,0 +1,16 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */(function(qr,Lr){typeof exports=="object"&&typeof module=="object"?module.exports=Lr():typeof define=="function"&&define.amd?define("bb",[],Lr):typeof exports=="object"?exports.bb=Lr():(qr.bb=qr.bb||{},qr.bb.plugin=qr.bb.plugin||{},qr.bb.plugin["sparkline.pkgd"]=Lr())})(this,function(){return function(){"use strict";var Ce={68990:function(i,d,t){t.d(d,{default:function(){return Sa}});var r=Object.defineProperty,n=Object.getOwnPropertySymbols,e=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,s=(a,f,h)=>f in a?r(a,f,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[f]=h,u=(a,f)=>{for(var h in f||(f={}))e.call(f,h)&&s(a,h,f[h]);if(n)for(var h of n(f))o.call(f,h)&&s(a,h,f[h]);return a};const l={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},v={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},c={area:"bb-area",areas:"bb-areas"},g={axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},y={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},p={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},m={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},S={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},x={dragarea:"bb-dragarea",INCLUDED:"_included_"},O={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},P={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},T={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},R={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},N={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},A={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},C={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},D={level:"bb-level",levels:"bb-levels"},$={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},F={region:"bb-region",regions:"bb-regions"},L={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},G={shape:"bb-shape",shapes:"bb-shapes"},H={brush:"bb-brush",subchart:"bb-subchart"},U={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},B={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},j={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},z={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var Q=u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u({},l),v),c),g),y),p),m),S),x),P),T),R),N),A),O),C),$),F),L),G),H),U),B),j),z);function X(){}function k(a){return a==null?X:function(){return this.querySelector(a)}}function Z(a){typeof a!="function"&&(a=k(a));for(var f=this._groups,h=f.length,E=new Array(h),I=0;I<h;++I)for(var M=f[I],b=M.length,w=E[I]=new Array(b),W,q,tt=0;tt<b;++tt)(W=M[tt])&&(q=a.call(W,W.__data__,tt,M))&&("__data__"in W&&(q.__data__=W.__data__),w[tt]=q);return new Gr(E,this._parents)}function gt(a){return a==null?[]:Array.isArray(a)?a:Array.from(a)}function lt(){return[]}function yt(a){return a==null?lt:function(){return this.querySelectorAll(a)}}function Ot(a){return function(){return gt(a.apply(this,arguments))}}function Rt(a){typeof a=="function"?a=Ot(a):a=yt(a);for(var f=this._groups,h=f.length,E=[],I=[],M=0;M<h;++M)for(var b=f[M],w=b.length,W,q=0;q<w;++q)(W=b[q])&&(E.push(a.call(W,W.__data__,q,b)),I.push(W));return new Gr(E,I)}function Wt(a){return function(){return this.matches(a)}}function Vt(a){return function(f){return f.matches(a)}}var $t=Array.prototype.find;function vt(a){return function(){return $t.call(this.children,a)}}function mt(){return this.firstElementChild}function Mt(a){return this.select(a==null?mt:vt(typeof a=="function"?a:Vt(a)))}var Ft=Array.prototype.filter;function Nt(){return Array.from(this.children)}function Bt(a){return function(){return Ft.call(this.children,a)}}function qt(a){return this.selectAll(a==null?Nt:Bt(typeof a=="function"?a:Vt(a)))}function _t(a){typeof a!="function"&&(a=Wt(a));for(var f=this._groups,h=f.length,E=new Array(h),I=0;I<h;++I)for(var M=f[I],b=M.length,w=E[I]=[],W,q=0;q<b;++q)(W=M[q])&&a.call(W,W.__data__,q,M)&&w.push(W);return new Gr(E,this._parents)}function Xt(a){return new Array(a.length)}function Lt(){return new Gr(this._enter||this._groups.map(Xt),this._parents)}function Jt(a,f){this.ownerDocument=a.ownerDocument,this.namespaceURI=a.namespaceURI,this._next=null,this._parent=a,this.__data__=f}Jt.prototype={constructor:Jt,appendChild:function(a){return this._parent.insertBefore(a,this._next)},insertBefore:function(a,f){return this._parent.insertBefore(a,f)},querySelector:function(a){return this._parent.querySelector(a)},querySelectorAll:function(a){return this._parent.querySelectorAll(a)}};function Yt(a){return function(){return a}}function jt(a,f,h,E,I,M){for(var b=0,w,W=f.length,q=M.length;b<q;++b)(w=f[b])?(w.__data__=M[b],E[b]=w):h[b]=new Jt(a,M[b]);for(;b<W;++b)(w=f[b])&&(I[b]=w)}function st(a,f,h,E,I,M,b){var w,W,q=new Map,tt=f.length,Tt=M.length,bt=new Array(tt),Ht;for(w=0;w<tt;++w)(W=f[w])&&(bt[w]=Ht=b.call(W,W.__data__,w,f)+"",q.has(Ht)?I[w]=W:q.set(Ht,W));for(w=0;w<Tt;++w)Ht=b.call(a,M[w],w,M)+"",(W=q.get(Ht))?(E[w]=W,W.__data__=M[w],q.delete(Ht)):h[w]=new Jt(a,M[w]);for(w=0;w<tt;++w)(W=f[w])&&q.get(bt[w])===W&&(I[w]=W)}function dt(a){return a.__data__}function _(a,f){if(!arguments.length)return Array.from(this,dt);var h=f?st:jt,E=this._parents,I=this._groups;typeof a!="function"&&(a=Yt(a));for(var M=I.length,b=new Array(M),w=new Array(M),W=new Array(M),q=0;q<M;++q){var tt=E[q],Tt=I[q],bt=Tt.length,Ht=At(a.call(tt,tt&&tt.__data__,q,E)),fr=Ht.length,xr=w[q]=new Array(fr),Et=b[q]=new Array(fr),Gt=W[q]=new Array(bt);h(tt,Tt,xr,Et,Gt,Ht,f);for(var Kt=0,wt=0,tr,rr;Kt<fr;++Kt)if(tr=xr[Kt]){for(Kt>=wt&&(wt=Kt+1);!(rr=Et[wt])&&++wt<fr;);tr._next=rr||null}}return b=new Gr(b,E),b._enter=w,b._exit=W,b}function At(a){return typeof a=="object"&&"length"in a?a:Array.from(a)}function Pt(){return new Gr(this._exit||this._groups.map(Xt),this._parents)}function It(a,f,h){var E=this.enter(),I=this,M=this.exit();return typeof a=="function"?(E=a(E),E&&(E=E.selection())):E=E.append(a+""),f!=null&&(I=f(I),I&&(I=I.selection())),h==null?M.remove():h(M),E&&I?E.merge(I).order():I}function St(a){for(var f=a.selection?a.selection():a,h=this._groups,E=f._groups,I=h.length,M=E.length,b=Math.min(I,M),w=new Array(I),W=0;W<b;++W)for(var q=h[W],tt=E[W],Tt=q.length,bt=w[W]=new Array(Tt),Ht,fr=0;fr<Tt;++fr)(Ht=q[fr]||tt[fr])&&(bt[fr]=Ht);for(;W<I;++W)w[W]=h[W];return new Gr(w,this._parents)}function er(){for(var a=this._groups,f=-1,h=a.length;++f<h;)for(var E=a[f],I=E.length-1,M=E[I],b;--I>=0;)(b=E[I])&&(M&&b.compareDocumentPosition(M)^4&&M.parentNode.insertBefore(b,M),M=b);return this}function or(a){a||(a=K);function f(Tt,bt){return Tt&&bt?a(Tt.__data__,bt.__data__):!Tt-!bt}for(var h=this._groups,E=h.length,I=new Array(E),M=0;M<E;++M){for(var b=h[M],w=b.length,W=I[M]=new Array(w),q,tt=0;tt<w;++tt)(q=b[tt])&&(W[tt]=q);W.sort(f)}return new Gr(I,this._parents).order()}function K(a,f){return a<f?-1:a>f?1:a>=f?0:NaN}function et(){var a=arguments[0];return arguments[0]=this,a.apply(null,arguments),this}function it(){return Array.from(this)}function ot(){for(var a=this._groups,f=0,h=a.length;f<h;++f)for(var E=a[f],I=0,M=E.length;I<M;++I){var b=E[I];if(b)return b}return null}function ct(){let a=0;for(const f of this)++a;return a}function rt(){return!this.node()}function Dt(a){for(var f=this._groups,h=0,E=f.length;h<E;++h)for(var I=f[h],M=0,b=I.length,w;M<b;++M)(w=I[M])&&a.call(w,w.__data__,M,I);return this}var kt="http://www.w3.org/1999/xhtml",nt={svg:"http://www.w3.org/2000/svg",xhtml:kt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function ht(a){var f=a+="",h=f.indexOf(":");return h>=0&&(f=a.slice(0,h))!=="xmlns"&&(a=a.slice(h+1)),nt.hasOwnProperty(f)?{space:nt[f],local:a}:a}function pt(a){return function(){this.removeAttribute(a)}}function xt(a){return function(){this.removeAttributeNS(a.space,a.local)}}function Ut(a,f){return function(){this.setAttribute(a,f)}}function Zt(a,f){return function(){this.setAttributeNS(a.space,a.local,f)}}function nr(a,f){return function(){var h=f.apply(this,arguments);h==null?this.removeAttribute(a):this.setAttribute(a,h)}}function ar(a,f){return function(){var h=f.apply(this,arguments);h==null?this.removeAttributeNS(a.space,a.local):this.setAttributeNS(a.space,a.local,h)}}function ir(a,f){var h=ht(a);if(arguments.length<2){var E=this.node();return h.local?E.getAttributeNS(h.space,h.local):E.getAttribute(h)}return this.each((f==null?h.local?xt:pt:typeof f=="function"?h.local?ar:nr:h.local?Zt:Ut)(h,f))}function cr(a){return a.ownerDocument&&a.ownerDocument.defaultView||a.document&&a||a.defaultView}function Ur(a){return function(){this.style.removeProperty(a)}}function gn(a,f,h){return function(){this.style.setProperty(a,f,h)}}function bn(a,f,h){return function(){var E=f.apply(this,arguments);E==null?this.style.removeProperty(a):this.style.setProperty(a,E,h)}}function yn(a,f,h){return arguments.length>1?this.each((f==null?Ur:typeof f=="function"?bn:gn)(a,f,h==null?"":h)):$r(this.node(),a)}function $r(a,f){return a.style.getPropertyValue(f)||cr(a).getComputedStyle(a,null).getPropertyValue(f)}function Br(a){return function(){delete this[a]}}function Fn(a,f){return function(){this[a]=f}}function Jr(a,f){return function(){var h=f.apply(this,arguments);h==null?delete this[a]:this[a]=h}}function jr(a,f){return arguments.length>1?this.each((f==null?Br:typeof f=="function"?Jr:Fn)(a,f)):this.node()[a]}function fn(a){return a.trim().split(/^|\s+/)}function zr(a){return a.classList||new mr(a)}function mr(a){this._node=a,this._names=fn(a.getAttribute("class")||"")}mr.prototype={add:function(a){var f=this._names.indexOf(a);f<0&&(this._names.push(a),this._node.setAttribute("class",this._names.join(" ")))},remove:function(a){var f=this._names.indexOf(a);f>=0&&(this._names.splice(f,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(a){return this._names.indexOf(a)>=0}};function Nr(a,f){for(var h=zr(a),E=-1,I=f.length;++E<I;)h.add(f[E])}function pn(a,f){for(var h=zr(a),E=-1,I=f.length;++E<I;)h.remove(f[E])}function $n(a){return function(){Nr(this,a)}}function Y(a){return function(){pn(this,a)}}function ft(a,f){return function(){(f.apply(this,arguments)?Nr:pn)(this,a)}}function J(a,f){var h=fn(a+"");if(arguments.length<2){for(var E=zr(this.node()),I=-1,M=h.length;++I<M;)if(!E.contains(h[I]))return!1;return!0}return this.each((typeof f=="function"?ft:f?$n:Y)(h,f))}function V(){this.textContent=""}function at(a){return function(){this.textContent=a}}function zt(a){return function(){var f=a.apply(this,arguments);this.textContent=f==null?"":f}}function Ct(a){return arguments.length?this.each(a==null?V:(typeof a=="function"?zt:at)(a)):this.node().textContent}function sr(){this.innerHTML=""}function ur(a){return function(){this.innerHTML=a}}function dr(a){return function(){var f=a.apply(this,arguments);this.innerHTML=f==null?"":f}}function Dr(a){return arguments.length?this.each(a==null?sr:(typeof a=="function"?dr:ur)(a)):this.node().innerHTML}function ut(){this.nextSibling&&this.parentNode.appendChild(this)}function lr(){return this.each(ut)}function wr(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function mn(){return this.each(wr)}function Ln(a){return function(){var f=this.ownerDocument,h=this.namespaceURI;return h===kt&&f.documentElement.namespaceURI===kt?f.createElement(a):f.createElementNS(h,a)}}function Un(a){return function(){return this.ownerDocument.createElementNS(a.space,a.local)}}function ln(a){var f=ht(a);return(f.local?Un:Ln)(f)}function Ra(a){var f=typeof a=="function"?a:ln(a);return this.select(function(){return this.appendChild(f.apply(this,arguments))})}function Aa(){return null}function Pa(a,f){var h=typeof a=="function"?a:ln(a),E=f==null?Aa:typeof f=="function"?f:k(f);return this.select(function(){return this.insertBefore(h.apply(this,arguments),E.apply(this,arguments)||null)})}function Ca(){var a=this.parentNode;a&&a.removeChild(this)}function Na(){return this.each(Ca)}function Ma(){var a=this.cloneNode(!1),f=this.parentNode;return f?f.insertBefore(a,this.nextSibling):a}function Da(){var a=this.cloneNode(!0),f=this.parentNode;return f?f.insertBefore(a,this.nextSibling):a}function ba(a){return this.select(a?Da:Ma)}function Fa(a){return arguments.length?this.property("__data__",a):this.node().__data__}function $a(a){return function(f){a.call(this,f,this.__data__)}}function La(a){return a.trim().split(/^|\s+/).map(function(f){var h="",E=f.indexOf(".");return E>=0&&(h=f.slice(E+1),f=f.slice(0,E)),{type:f,name:h}})}function Ua(a){return function(){var f=this.__on;if(f){for(var h=0,E=-1,I=f.length,M;h<I;++h)M=f[h],(!a.type||M.type===a.type)&&M.name===a.name?this.removeEventListener(M.type,M.listener,M.options):f[++E]=M;++E?f.length=E:delete this.__on}}}function Ba(a,f,h){return function(){var E=this.__on,I,M=$a(f);if(E){for(var b=0,w=E.length;b<w;++b)if((I=E[b]).type===a.type&&I.name===a.name){this.removeEventListener(I.type,I.listener,I.options),this.addEventListener(I.type,I.listener=M,I.options=h),I.value=f;return}}this.addEventListener(a.type,M,h),I={type:a.type,name:a.name,value:f,listener:M,options:h},E?E.push(I):this.__on=[I]}}function ja(a,f,h){var E=La(a+""),I,M=E.length,b;if(arguments.length<2){var w=this.node().__on;if(w){for(var W=0,q=w.length,tt;W<q;++W)for(I=0,tt=w[W];I<M;++I)if((b=E[I]).type===tt.type&&b.name===tt.name)return tt.value}return}for(w=f?Ba:Ua,I=0;I<M;++I)this.each(w(E[I],f,h));return this}function Ne(a,f,h){var E=cr(a),I=E.CustomEvent;typeof I=="function"?I=new I(f,h):(I=E.document.createEvent("Event"),h?(I.initEvent(f,h.bubbles,h.cancelable),I.detail=h.detail):I.initEvent(f,!1,!1)),a.dispatchEvent(I)}function wa(a,f){return function(){return Ne(this,a,f)}}function Ga(a,f){return function(){return Ne(this,a,f.apply(this,arguments))}}function Ha(a,f){return this.each((typeof f=="function"?Ga:wa)(a,f))}function*Va(){for(var a=this._groups,f=0,h=a.length;f<h;++f)for(var E=a[f],I=0,M=E.length,b;I<M;++I)(b=E[I])&&(yield b)}var Wa=[null];function Gr(a,f){this._groups=a,this._parents=f}function Me(){return new Gr([[document.documentElement]],Wa)}function za(){return this}Gr.prototype=Me.prototype={constructor:Gr,select:Z,selectAll:Rt,selectChild:Mt,selectChildren:qt,filter:_t,data:_,enter:Lt,exit:Pt,join:It,merge:St,selection:za,order:er,sort:or,call:et,nodes:it,node:ot,size:ct,empty:rt,each:Dt,attr:ir,style:yn,property:jr,classed:J,text:Ct,html:Dr,raise:lr,lower:mn,append:Ra,insert:Pa,remove:Na,clone:ba,datum:Fa,on:ja,dispatch:Ha,[Symbol.iterator]:Va};var xn=Me,Ya={value:()=>{}};function De(){for(var a=0,f=arguments.length,h={},E;a<f;++a){if(!(E=arguments[a]+"")||E in h||/[\s.]/.test(E))throw new Error("illegal type: "+E);h[E]=[]}return new Bn(h)}function Bn(a){this._=a}function Ka(a,f){return a.trim().split(/^|\s+/).map(function(h){var E="",I=h.indexOf(".");if(I>=0&&(E=h.slice(I+1),h=h.slice(0,I)),h&&!f.hasOwnProperty(h))throw new Error("unknown type: "+h);return{type:h,name:E}})}Bn.prototype=De.prototype={constructor:Bn,on:function(a,f){var h=this._,E=Ka(a+"",h),I,M=-1,b=E.length;if(arguments.length<2){for(;++M<b;)if((I=(a=E[M]).type)&&(I=Xa(h[I],a.name)))return I;return}if(f!=null&&typeof f!="function")throw new Error("invalid callback: "+f);for(;++M<b;)if(I=(a=E[M]).type)h[I]=be(h[I],a.name,f);else if(f==null)for(I in h)h[I]=be(h[I],a.name,null);return this},copy:function(){var a={},f=this._;for(var h in f)a[h]=f[h].slice();return new Bn(a)},call:function(a,f){if((I=arguments.length-2)>0)for(var h=new Array(I),E=0,I,M;E<I;++E)h[E]=arguments[E+2];if(!this._.hasOwnProperty(a))throw new Error("unknown type: "+a);for(M=this._[a],E=0,I=M.length;E<I;++E)M[E].value.apply(f,h)},apply:function(a,f,h){if(!this._.hasOwnProperty(a))throw new Error("unknown type: "+a);for(var E=this._[a],I=0,M=E.length;I<M;++I)E[I].value.apply(f,h)}};function Xa(a,f){for(var h=0,E=a.length,I;h<E;++h)if((I=a[h]).name===f)return I.value}function be(a,f,h){for(var E=0,I=a.length;E<I;++E)if(a[E].name===f){a[E]=Ya,a=a.slice(0,E).concat(a.slice(E+1));break}return h!=null&&a.push({name:f,value:h}),a}var Ja=De,vn=0,Sn=0,En=0,Fe=1e3,jn,In,wn=0,an=0,Gn=0,On=typeof performance=="object"&&performance.now?performance:Date,$e=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(a){setTimeout(a,17)};function se(){return an||($e(Qa),an=On.now()+Gn)}function Qa(){an=0}function Hn(){this._call=this._time=this._next=null}Hn.prototype=Le.prototype={constructor:Hn,restart:function(a,f,h){if(typeof a!="function")throw new TypeError("callback is not a function");h=(h==null?se():+h)+(f==null?0:+f),!this._next&&In!==this&&(In?In._next=this:jn=this,In=this),this._call=a,this._time=h,ie()},stop:function(){this._call&&(this._call=null,this._time=1/0,ie())}};function Le(a,f,h){var E=new Hn;return E.restart(a,f,h),E}function Za(){se(),++vn;for(var a=jn,f;a;)(f=an-a._time)>=0&&a._call.call(void 0,f),a=a._next;--vn}function Ue(){an=(wn=On.now())+Gn,vn=Sn=0;try{Za()}finally{vn=0,qa(),an=0}}function ka(){var a=On.now(),f=a-wn;f>Fe&&(Gn-=f,wn=a)}function qa(){for(var a,f=jn,h,E=1/0;f;)f._call?(E>f._time&&(E=f._time),a=f,f=f._next):(h=f._next,f._next=null,f=a?a._next=h:jn=h);In=a,ie(E)}function ie(a){if(!vn){Sn&&(Sn=clearTimeout(Sn));var f=a-an;f>24?(a<1/0&&(Sn=setTimeout(Ue,a-On.now()-Gn)),En&&(En=clearInterval(En))):(En||(wn=On.now(),En=setInterval(ka,Fe)),vn=1,$e(Ue))}}function Be(a,f,h){var E=new Hn;return f=f==null?0:+f,E.restart(I=>{E.stop(),a(I+f)},f,h),E}var _a=Ja("start","end","cancel","interrupt"),to=[],je=0,we=1,ue=2,Vn=3,Ge=4,fe=5,Wn=6;function zn(a,f,h,E,I,M){var b=a.__transition;if(!b)a.__transition={};else if(h in b)return;ro(a,h,{name:f,index:E,group:I,on:_a,tween:to,time:M.time,delay:M.delay,duration:M.duration,ease:M.ease,timer:null,state:je})}function le(a,f){var h=Hr(a,f);if(h.state>je)throw new Error("too late; already scheduled");return h}function Yr(a,f){var h=Hr(a,f);if(h.state>Vn)throw new Error("too late; already running");return h}function Hr(a,f){var h=a.__transition;if(!h||!(h=h[f]))throw new Error("transition not found");return h}function ro(a,f,h){var E=a.__transition,I;E[f]=h,h.timer=Le(M,0,h.time);function M(q){h.state=we,h.timer.restart(b,h.delay,h.time),h.delay<=q&&b(q-h.delay)}function b(q){var tt,Tt,bt,Ht;if(h.state!==we)return W();for(tt in E)if(Ht=E[tt],Ht.name===h.name){if(Ht.state===Vn)return Be(b);Ht.state===Ge?(Ht.state=Wn,Ht.timer.stop(),Ht.on.call("interrupt",a,a.__data__,Ht.index,Ht.group),delete E[tt]):+tt<f&&(Ht.state=Wn,Ht.timer.stop(),Ht.on.call("cancel",a,a.__data__,Ht.index,Ht.group),delete E[tt])}if(Be(function(){h.state===Vn&&(h.state=Ge,h.timer.restart(w,h.delay,h.time),w(q))}),h.state=ue,h.on.call("start",a,a.__data__,h.index,h.group),h.state===ue){for(h.state=Vn,I=new Array(bt=h.tween.length),tt=0,Tt=-1;tt<bt;++tt)(Ht=h.tween[tt].value.call(a,a.__data__,h.index,h.group))&&(I[++Tt]=Ht);I.length=Tt+1}}function w(q){for(var tt=q<h.duration?h.ease.call(null,q/h.duration):(h.timer.restart(W),h.state=fe,1),Tt=-1,bt=I.length;++Tt<bt;)I[Tt].call(a,tt);h.state===fe&&(h.on.call("end",a,a.__data__,h.index,h.group),W())}function W(){h.state=Wn,h.timer.stop(),delete E[f];for(var q in E)return;delete a.__transition}}function no(a,f){var h=a.__transition,E,I,M=!0,b;if(h){f=f==null?null:f+"";for(b in h){if((E=h[b]).name!==f){M=!1;continue}I=E.state>ue&&E.state<fe,E.state=Wn,E.timer.stop(),E.on.call(I?"interrupt":"cancel",a,a.__data__,E.index,E.group),delete h[b]}M&&delete a.__transition}}function eo(a){return this.each(function(){no(this,a)})}function _r(a,f){return a=+a,f=+f,function(h){return a*(1-h)+f*h}}var He=180/Math.PI,ve={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Ve(a,f,h,E,I,M){var b,w,W;return(b=Math.sqrt(a*a+f*f))&&(a/=b,f/=b),(W=a*h+f*E)&&(h-=a*W,E-=f*W),(w=Math.sqrt(h*h+E*E))&&(h/=w,E/=w,W/=w),a*E<f*h&&(a=-a,f=-f,W=-W,b=-b),{translateX:I,translateY:M,rotate:Math.atan2(f,a)*He,skewX:Math.atan(W)*He,scaleX:b,scaleY:w}}var Yn;function ao(a){const f=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(a+"");return f.isIdentity?ve:Ve(f.a,f.b,f.c,f.d,f.e,f.f)}function oo(a){return a==null||(Yn||(Yn=document.createElementNS("http://www.w3.org/2000/svg","g")),Yn.setAttribute("transform",a),!(a=Yn.transform.baseVal.consolidate()))?ve:(a=a.matrix,Ve(a.a,a.b,a.c,a.d,a.e,a.f))}function We(a,f,h,E){function I(q){return q.length?q.pop()+" ":""}function M(q,tt,Tt,bt,Ht,fr){if(q!==Tt||tt!==bt){var xr=Ht.push("translate(",null,f,null,h);fr.push({i:xr-4,x:_r(q,Tt)},{i:xr-2,x:_r(tt,bt)})}else(Tt||bt)&&Ht.push("translate("+Tt+f+bt+h)}function b(q,tt,Tt,bt){q!==tt?(q-tt>180?tt+=360:tt-q>180&&(q+=360),bt.push({i:Tt.push(I(Tt)+"rotate(",null,E)-2,x:_r(q,tt)})):tt&&Tt.push(I(Tt)+"rotate("+tt+E)}function w(q,tt,Tt,bt){q!==tt?bt.push({i:Tt.push(I(Tt)+"skewX(",null,E)-2,x:_r(q,tt)}):tt&&Tt.push(I(Tt)+"skewX("+tt+E)}function W(q,tt,Tt,bt,Ht,fr){if(q!==Tt||tt!==bt){var xr=Ht.push(I(Ht)+"scale(",null,",",null,")");fr.push({i:xr-4,x:_r(q,Tt)},{i:xr-2,x:_r(tt,bt)})}else(Tt!==1||bt!==1)&&Ht.push(I(Ht)+"scale("+Tt+","+bt+")")}return function(q,tt){var Tt=[],bt=[];return q=a(q),tt=a(tt),M(q.translateX,q.translateY,tt.translateX,tt.translateY,Tt,bt),b(q.rotate,tt.rotate,Tt,bt),w(q.skewX,tt.skewX,Tt,bt),W(q.scaleX,q.scaleY,tt.scaleX,tt.scaleY,Tt,bt),q=tt=null,function(Ht){for(var fr=-1,xr=bt.length,Et;++fr<xr;)Tt[(Et=bt[fr]).i]=Et.x(Ht);return Tt.join("")}}}var so=We(ao,"px, ","px)","deg)"),io=We(oo,", ",")",")");function uo(a,f){var h,E;return function(){var I=Yr(this,a),M=I.tween;if(M!==h){E=h=M;for(var b=0,w=E.length;b<w;++b)if(E[b].name===f){E=E.slice(),E.splice(b,1);break}}I.tween=E}}function fo(a,f,h){var E,I;if(typeof h!="function")throw new Error;return function(){var M=Yr(this,a),b=M.tween;if(b!==E){I=(E=b).slice();for(var w={name:f,value:h},W=0,q=I.length;W<q;++W)if(I[W].name===f){I[W]=w;break}W===q&&I.push(w)}M.tween=I}}function lo(a,f){var h=this._id;if(a+="",arguments.length<2){for(var E=Hr(this.node(),h).tween,I=0,M=E.length,b;I<M;++I)if((b=E[I]).name===a)return b.value;return null}return this.each((f==null?uo:fo)(h,a,f))}function ce(a,f,h){var E=a._id;return a.each(function(){var I=Yr(this,E);(I.value||(I.value={}))[f]=h.apply(this,arguments)}),function(I){return Hr(I,E).value[f]}}function de(a,f,h){a.prototype=f.prototype=h,h.constructor=a}function ze(a,f){var h=Object.create(a.prototype);for(var E in f)h[E]=f[E];return h}function Tn(){}var Rn=.7,Kn=1/Rn,cn="\\s*([+-]?\\d+)\\s*",An="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Kr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",vo=/^#([0-9a-f]{3,8})$/,co=new RegExp(`^rgb\\(${cn},${cn},${cn}\\)$`),ho=new RegExp(`^rgb\\(${Kr},${Kr},${Kr}\\)$`),go=new RegExp(`^rgba\\(${cn},${cn},${cn},${An}\\)$`),yo=new RegExp(`^rgba\\(${Kr},${Kr},${Kr},${An}\\)$`),po=new RegExp(`^hsl\\(${An},${Kr},${Kr}\\)$`),mo=new RegExp(`^hsla\\(${An},${Kr},${Kr},${An}\\)$`),Ye={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};de(Tn,Pn,{copy(a){return Object.assign(new this.constructor,this,a)},displayable(){return this.rgb().displayable()},hex:Ke,formatHex:Ke,formatHex8:xo,formatHsl:So,formatRgb:Xe,toString:Xe});function Ke(){return this.rgb().formatHex()}function xo(){return this.rgb().formatHex8()}function So(){return qe(this).formatHsl()}function Xe(){return this.rgb().formatRgb()}function Pn(a){var f,h;return a=(a+"").trim().toLowerCase(),(f=vo.exec(a))?(h=f[1].length,f=parseInt(f[1],16),h===6?Je(f):h===3?new br(f>>8&15|f>>4&240,f>>4&15|f&240,(f&15)<<4|f&15,1):h===8?Xn(f>>24&255,f>>16&255,f>>8&255,(f&255)/255):h===4?Xn(f>>12&15|f>>8&240,f>>8&15|f>>4&240,f>>4&15|f&240,((f&15)<<4|f&15)/255):null):(f=co.exec(a))?new br(f[1],f[2],f[3],1):(f=ho.exec(a))?new br(f[1]*255/100,f[2]*255/100,f[3]*255/100,1):(f=go.exec(a))?Xn(f[1],f[2],f[3],f[4]):(f=yo.exec(a))?Xn(f[1]*255/100,f[2]*255/100,f[3]*255/100,f[4]):(f=po.exec(a))?ke(f[1],f[2]/100,f[3]/100,1):(f=mo.exec(a))?ke(f[1],f[2]/100,f[3]/100,f[4]):Ye.hasOwnProperty(a)?Je(Ye[a]):a==="transparent"?new br(NaN,NaN,NaN,0):null}function Je(a){return new br(a>>16&255,a>>8&255,a&255,1)}function Xn(a,f,h,E){return E<=0&&(a=f=h=NaN),new br(a,f,h,E)}function Eo(a){return a instanceof Tn||(a=Pn(a)),a?(a=a.rgb(),new br(a.r,a.g,a.b,a.opacity)):new br}function Jn(a,f,h,E){return arguments.length===1?Eo(a):new br(a,f,h,E==null?1:E)}function br(a,f,h,E){this.r=+a,this.g=+f,this.b=+h,this.opacity=+E}de(br,Jn,ze(Tn,{brighter(a){return a=a==null?Kn:Math.pow(Kn,a),new br(this.r*a,this.g*a,this.b*a,this.opacity)},darker(a){return a=a==null?Rn:Math.pow(Rn,a),new br(this.r*a,this.g*a,this.b*a,this.opacity)},rgb(){return this},clamp(){return new br(on(this.r),on(this.g),on(this.b),Qn(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Qe,formatHex:Qe,formatHex8:Io,formatRgb:Ze,toString:Ze}));function Qe(){return`#${sn(this.r)}${sn(this.g)}${sn(this.b)}`}function Io(){return`#${sn(this.r)}${sn(this.g)}${sn(this.b)}${sn((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ze(){const a=Qn(this.opacity);return`${a===1?"rgb(":"rgba("}${on(this.r)}, ${on(this.g)}, ${on(this.b)}${a===1?")":`, ${a})`}`}function Qn(a){return isNaN(a)?1:Math.max(0,Math.min(1,a))}function on(a){return Math.max(0,Math.min(255,Math.round(a)||0))}function sn(a){return a=on(a),(a<16?"0":"")+a.toString(16)}function ke(a,f,h,E){return E<=0?a=f=h=NaN:h<=0||h>=1?a=f=NaN:f<=0&&(a=NaN),new Vr(a,f,h,E)}function qe(a){if(a instanceof Vr)return new Vr(a.h,a.s,a.l,a.opacity);if(a instanceof Tn||(a=Pn(a)),!a)return new Vr;if(a instanceof Vr)return a;a=a.rgb();var f=a.r/255,h=a.g/255,E=a.b/255,I=Math.min(f,h,E),M=Math.max(f,h,E),b=NaN,w=M-I,W=(M+I)/2;return w?(f===M?b=(h-E)/w+(h<E)*6:h===M?b=(E-f)/w+2:b=(f-h)/w+4,w/=W<.5?M+I:2-M-I,b*=60):w=W>0&&W<1?0:b,new Vr(b,w,W,a.opacity)}function Oo(a,f,h,E){return arguments.length===1?qe(a):new Vr(a,f,h,E==null?1:E)}function Vr(a,f,h,E){this.h=+a,this.s=+f,this.l=+h,this.opacity=+E}de(Vr,Oo,ze(Tn,{brighter(a){return a=a==null?Kn:Math.pow(Kn,a),new Vr(this.h,this.s,this.l*a,this.opacity)},darker(a){return a=a==null?Rn:Math.pow(Rn,a),new Vr(this.h,this.s,this.l*a,this.opacity)},rgb(){var a=this.h%360+(this.h<0)*360,f=isNaN(a)||isNaN(this.s)?0:this.s,h=this.l,E=h+(h<.5?h:1-h)*f,I=2*h-E;return new br(he(a>=240?a-240:a+120,I,E),he(a,I,E),he(a<120?a+240:a-120,I,E),this.opacity)},clamp(){return new Vr(_e(this.h),Zn(this.s),Zn(this.l),Qn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const a=Qn(this.opacity);return`${a===1?"hsl(":"hsla("}${_e(this.h)}, ${Zn(this.s)*100}%, ${Zn(this.l)*100}%${a===1?")":`, ${a})`}`}}));function _e(a){return a=(a||0)%360,a<0?a+360:a}function Zn(a){return Math.max(0,Math.min(1,a||0))}function he(a,f,h){return(a<60?f+(h-f)*a/60:a<180?h:a<240?f+(h-f)*(240-a)/60:f)*255}function ta(a,f,h,E,I){var M=a*a,b=M*a;return((1-3*a+3*M-b)*f+(4-6*M+3*b)*h+(1+3*a+3*M-3*b)*E+b*I)/6}function To(a){var f=a.length-1;return function(h){var E=h<=0?h=0:h>=1?(h=1,f-1):Math.floor(h*f),I=a[E],M=a[E+1],b=E>0?a[E-1]:2*I-M,w=E<f-1?a[E+2]:2*M-I;return ta((h-E/f)*f,b,I,M,w)}}function Ro(a){var f=a.length;return function(h){var E=Math.floor(((h%=1)<0?++h:h)*f),I=a[(E+f-1)%f],M=a[E%f],b=a[(E+1)%f],w=a[(E+2)%f];return ta((h-E/f)*f,I,M,b,w)}}var ra=a=>()=>a;function na(a,f){return function(h){return a+h*f}}function Ao(a,f,h){return a=Math.pow(a,h),f=Math.pow(f,h)-a,h=1/h,function(E){return Math.pow(a+E*f,h)}}function fi(a,f){var h=f-a;return h?na(a,h>180||h<-180?h-360*Math.round(h/360):h):constant(isNaN(a)?f:a)}function Po(a){return(a=+a)==1?ea:function(f,h){return h-f?Ao(f,h,a):ra(isNaN(f)?h:f)}}function ea(a,f){var h=f-a;return h?na(a,h):ra(isNaN(a)?f:a)}var aa=function a(f){var h=Po(f);function E(I,M){var b=h((I=Jn(I)).r,(M=Jn(M)).r),w=h(I.g,M.g),W=h(I.b,M.b),q=ea(I.opacity,M.opacity);return function(tt){return I.r=b(tt),I.g=w(tt),I.b=W(tt),I.opacity=q(tt),I+""}}return E.gamma=a,E}(1);function oa(a){return function(f){var h=f.length,E=new Array(h),I=new Array(h),M=new Array(h),b,w;for(b=0;b<h;++b)w=Jn(f[b]),E[b]=w.r||0,I[b]=w.g||0,M[b]=w.b||0;return E=a(E),I=a(I),M=a(M),w.opacity=1,function(W){return w.r=E(W),w.g=I(W),w.b=M(W),w+""}}}var li=oa(To),vi=oa(Ro),ge=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ye=new RegExp(ge.source,"g");function Co(a){return function(){return a}}function No(a){return function(f){return a(f)+""}}function Mo(a,f){var h=ge.lastIndex=ye.lastIndex=0,E,I,M,b=-1,w=[],W=[];for(a=a+"",f=f+"";(E=ge.exec(a))&&(I=ye.exec(f));)(M=I.index)>h&&(M=f.slice(h,M),w[b]?w[b]+=M:w[++b]=M),(E=E[0])===(I=I[0])?w[b]?w[b]+=I:w[++b]=I:(w[++b]=null,W.push({i:b,x:_r(E,I)})),h=ye.lastIndex;return h<f.length&&(M=f.slice(h),w[b]?w[b]+=M:w[++b]=M),w.length<2?W[0]?No(W[0].x):Co(f):(f=W.length,function(q){for(var tt=0,Tt;tt<f;++tt)w[(Tt=W[tt]).i]=Tt.x(q);return w.join("")})}function sa(a,f){var h;return(typeof f=="number"?_r:f instanceof Pn?aa:(h=Pn(f))?(f=h,aa):Mo)(a,f)}function Do(a){return function(){this.removeAttribute(a)}}function bo(a){return function(){this.removeAttributeNS(a.space,a.local)}}function Fo(a,f,h){var E,I=h+"",M;return function(){var b=this.getAttribute(a);return b===I?null:b===E?M:M=f(E=b,h)}}function $o(a,f,h){var E,I=h+"",M;return function(){var b=this.getAttributeNS(a.space,a.local);return b===I?null:b===E?M:M=f(E=b,h)}}function Lo(a,f,h){var E,I,M;return function(){var b,w=h(this),W;return w==null?void this.removeAttribute(a):(b=this.getAttribute(a),W=w+"",b===W?null:b===E&&W===I?M:(I=W,M=f(E=b,w)))}}function Uo(a,f,h){var E,I,M;return function(){var b,w=h(this),W;return w==null?void this.removeAttributeNS(a.space,a.local):(b=this.getAttributeNS(a.space,a.local),W=w+"",b===W?null:b===E&&W===I?M:(I=W,M=f(E=b,w)))}}function Bo(a,f){var h=ht(a),E=h==="transform"?io:sa;return this.attrTween(a,typeof f=="function"?(h.local?Uo:Lo)(h,E,ce(this,"attr."+a,f)):f==null?(h.local?bo:Do)(h):(h.local?$o:Fo)(h,E,f))}function jo(a,f){return function(h){this.setAttribute(a,f.call(this,h))}}function wo(a,f){return function(h){this.setAttributeNS(a.space,a.local,f.call(this,h))}}function Go(a,f){var h,E;function I(){var M=f.apply(this,arguments);return M!==E&&(h=(E=M)&&wo(a,M)),h}return I._value=f,I}function Ho(a,f){var h,E;function I(){var M=f.apply(this,arguments);return M!==E&&(h=(E=M)&&jo(a,M)),h}return I._value=f,I}function Vo(a,f){var h="attr."+a;if(arguments.length<2)return(h=this.tween(h))&&h._value;if(f==null)return this.tween(h,null);if(typeof f!="function")throw new Error;var E=ht(a);return this.tween(h,(E.local?Go:Ho)(E,f))}function Wo(a,f){return function(){le(this,a).delay=+f.apply(this,arguments)}}function zo(a,f){return f=+f,function(){le(this,a).delay=f}}function Yo(a){var f=this._id;return arguments.length?this.each((typeof a=="function"?Wo:zo)(f,a)):Hr(this.node(),f).delay}function Ko(a,f){return function(){Yr(this,a).duration=+f.apply(this,arguments)}}function Xo(a,f){return f=+f,function(){Yr(this,a).duration=f}}function Jo(a){var f=this._id;return arguments.length?this.each((typeof a=="function"?Ko:Xo)(f,a)):Hr(this.node(),f).duration}function Qo(a,f){if(typeof f!="function")throw new Error;return function(){Yr(this,a).ease=f}}function Zo(a){var f=this._id;return arguments.length?this.each(Qo(f,a)):Hr(this.node(),f).ease}function ko(a,f){return function(){var h=f.apply(this,arguments);if(typeof h!="function")throw new Error;Yr(this,a).ease=h}}function qo(a){if(typeof a!="function")throw new Error;return this.each(ko(this._id,a))}function _o(a){typeof a!="function"&&(a=Wt(a));for(var f=this._groups,h=f.length,E=new Array(h),I=0;I<h;++I)for(var M=f[I],b=M.length,w=E[I]=[],W,q=0;q<b;++q)(W=M[q])&&a.call(W,W.__data__,q,M)&&w.push(W);return new Qr(E,this._parents,this._name,this._id)}function ts(a){if(a._id!==this._id)throw new Error;for(var f=this._groups,h=a._groups,E=f.length,I=h.length,M=Math.min(E,I),b=new Array(E),w=0;w<M;++w)for(var W=f[w],q=h[w],tt=W.length,Tt=b[w]=new Array(tt),bt,Ht=0;Ht<tt;++Ht)(bt=W[Ht]||q[Ht])&&(Tt[Ht]=bt);for(;w<E;++w)b[w]=f[w];return new Qr(b,this._parents,this._name,this._id)}function rs(a){return(a+"").trim().split(/^|\s+/).every(function(f){var h=f.indexOf(".");return h>=0&&(f=f.slice(0,h)),!f||f==="start"})}function ns(a,f,h){var E,I,M=rs(f)?le:Yr;return function(){var b=M(this,a),w=b.on;w!==E&&(I=(E=w).copy()).on(f,h),b.on=I}}function es(a,f){var h=this._id;return arguments.length<2?Hr(this.node(),h).on.on(a):this.each(ns(h,a,f))}function as(a){return function(){var f=this.parentNode;for(var h in this.__transition)if(+h!==a)return;f&&f.removeChild(this)}}function os(){return this.on("end.remove",as(this._id))}function ss(a){var f=this._name,h=this._id;typeof a!="function"&&(a=k(a));for(var E=this._groups,I=E.length,M=new Array(I),b=0;b<I;++b)for(var w=E[b],W=w.length,q=M[b]=new Array(W),tt,Tt,bt=0;bt<W;++bt)(tt=w[bt])&&(Tt=a.call(tt,tt.__data__,bt,w))&&("__data__"in tt&&(Tt.__data__=tt.__data__),q[bt]=Tt,zn(q[bt],f,h,bt,q,Hr(tt,h)));return new Qr(M,this._parents,f,h)}function is(a){var f=this._name,h=this._id;typeof a!="function"&&(a=yt(a));for(var E=this._groups,I=E.length,M=[],b=[],w=0;w<I;++w)for(var W=E[w],q=W.length,tt,Tt=0;Tt<q;++Tt)if(tt=W[Tt]){for(var bt=a.call(tt,tt.__data__,Tt,W),Ht,fr=Hr(tt,h),xr=0,Et=bt.length;xr<Et;++xr)(Ht=bt[xr])&&zn(Ht,f,h,xr,bt,fr);M.push(bt),b.push(tt)}return new Qr(M,b,f,h)}var us=xn.prototype.constructor;function fs(){return new us(this._groups,this._parents)}function ls(a,f){var h,E,I;return function(){var M=$r(this,a),b=(this.style.removeProperty(a),$r(this,a));return M===b?null:M===h&&b===E?I:I=f(h=M,E=b)}}function ia(a){return function(){this.style.removeProperty(a)}}function vs(a,f,h){var E,I=h+"",M;return function(){var b=$r(this,a);return b===I?null:b===E?M:M=f(E=b,h)}}function cs(a,f,h){var E,I,M;return function(){var b=$r(this,a),w=h(this),W=w+"";return w==null&&(W=w=(this.style.removeProperty(a),$r(this,a))),b===W?null:b===E&&W===I?M:(I=W,M=f(E=b,w))}}function ds(a,f){var h,E,I,M="style."+f,b="end."+M,w;return function(){var W=Yr(this,a),q=W.on,tt=W.value[M]==null?w||(w=ia(f)):void 0;(q!==h||I!==tt)&&(E=(h=q).copy()).on(b,I=tt),W.on=E}}function hs(a,f,h){var E=(a+="")=="transform"?so:sa;return f==null?this.styleTween(a,ls(a,E)).on("end.style."+a,ia(a)):typeof f=="function"?this.styleTween(a,cs(a,E,ce(this,"style."+a,f))).each(ds(this._id,a)):this.styleTween(a,vs(a,E,f),h).on("end.style."+a,null)}function gs(a,f,h){return function(E){this.style.setProperty(a,f.call(this,E),h)}}function ys(a,f,h){var E,I;function M(){var b=f.apply(this,arguments);return b!==I&&(E=(I=b)&&gs(a,b,h)),E}return M._value=f,M}function ps(a,f,h){var E="style."+(a+="");if(arguments.length<2)return(E=this.tween(E))&&E._value;if(f==null)return this.tween(E,null);if(typeof f!="function")throw new Error;return this.tween(E,ys(a,f,h==null?"":h))}function ms(a){return function(){this.textContent=a}}function xs(a){return function(){var f=a(this);this.textContent=f==null?"":f}}function Ss(a){return this.tween("text",typeof a=="function"?xs(ce(this,"text",a)):ms(a==null?"":a+""))}function Es(a){return function(f){this.textContent=a.call(this,f)}}function Is(a){var f,h;function E(){var I=a.apply(this,arguments);return I!==h&&(f=(h=I)&&Es(I)),f}return E._value=a,E}function Os(a){var f="text";if(arguments.length<1)return(f=this.tween(f))&&f._value;if(a==null)return this.tween(f,null);if(typeof a!="function")throw new Error;return this.tween(f,Is(a))}function Ts(){for(var a=this._name,f=this._id,h=ua(),E=this._groups,I=E.length,M=0;M<I;++M)for(var b=E[M],w=b.length,W,q=0;q<w;++q)if(W=b[q]){var tt=Hr(W,f);zn(W,a,h,q,b,{time:tt.time+tt.delay+tt.duration,delay:0,duration:tt.duration,ease:tt.ease})}return new Qr(E,this._parents,a,h)}function Rs(){var a,f,h=this,E=h._id,I=h.size();return new Promise(function(M,b){var w={value:b},W={value:function(){--I===0&&M()}};h.each(function(){var q=Yr(this,E),tt=q.on;tt!==a&&(f=(a=tt).copy(),f._.cancel.push(w),f._.interrupt.push(w),f._.end.push(W)),q.on=f}),I===0&&M()})}var As=0;function Qr(a,f,h,E){this._groups=a,this._parents=f,this._name=h,this._id=E}function Ps(a){return xn().transition(a)}function ua(){return++As}var Zr=xn.prototype;Qr.prototype=Ps.prototype={constructor:Qr,select:ss,selectAll:is,selectChild:Zr.selectChild,selectChildren:Zr.selectChildren,filter:_o,merge:ts,selection:fs,transition:Ts,call:Zr.call,nodes:Zr.nodes,node:Zr.node,size:Zr.size,empty:Zr.empty,each:Zr.each,on:es,attr:Bo,attrTween:Vo,style:hs,styleTween:ps,text:Ss,textTween:Os,remove:os,tween:lo,delay:Yo,duration:Jo,ease:Zo,easeVarying:qo,end:Rs,[Symbol.iterator]:Zr[Symbol.iterator]};function ci(a){return a*a*a}function di(a){return--a*a*a+1}function Cs(a){return((a*=2)<=1?a*a*a:(a-=2)*a*a+2)/2}var Ns={time:null,delay:0,duration:250,ease:Cs};function Ms(a,f){for(var h;!(h=a.__transition)||!(h=h[f]);)if(!(a=a.parentNode))throw new Error(`transition ${f} not found`);return h}function Ds(a){var f,h;a instanceof Qr?(f=a._id,a=a._name):(f=ua(),(h=Ns).time=se(),a=a==null?null:a+"");for(var E=this._groups,I=E.length,M=0;M<I;++M)for(var b=E[M],w=b.length,W,q=0;q<w;++q)(W=b[q])&&zn(W,a,f,q,b,h||Ms(W,f));return new Qr(E,this._parents,a,f)}xn.prototype.interrupt=eo,xn.prototype.transition=Ds;var fa={name:"drag"},pe={name:"space"},dn={name:"handle"},hn={name:"center"};const{abs:la,max:Pr,min:Cr}=Math;function va(a){return[+a[0],+a[1]]}function me(a){return[va(a[0]),va(a[1])]}var kn={name:"x",handles:["w","e"].map(Cn),input:function(a,f){return a==null?null:[[+a[0],f[0][1]],[+a[1],f[1][1]]]},output:function(a){return a&&[a[0][0],a[1][0]]}},qn={name:"y",handles:["n","s"].map(Cn),input:function(a,f){return a==null?null:[[f[0][0],+a[0]],[f[1][0],+a[1]]]},output:function(a){return a&&[a[0][1],a[1][1]]}},bs={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(Cn),input:function(a){return a==null?null:me(a)},output:function(a){return a}},kr={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},ca={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},da={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},Fs={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},$s={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function Cn(a){return{type:a}}function Ls(a){return!a.ctrlKey&&!a.button}function Us(){var a=this.ownerSVGElement||this;return a.hasAttribute("viewBox")?(a=a.viewBox.baseVal,[[a.x,a.y],[a.x+a.width,a.y+a.height]]):[[0,0],[a.width.baseVal.value,a.height.baseVal.value]]}function Bs(){return navigator.maxTouchPoints||"ontouchstart"in this}function xe(a){for(;!a.__brush;)if(!(a=a.parentNode))return;return a.__brush}function js(a){return a[0][0]===a[1][0]||a[0][1]===a[1][1]}function hi(a){var f=a.__brush;return f?f.dim.output(f.selection):null}function gi(){return Se(kn)}function yi(){return Se(qn)}function pi(){return Se(bs)}function Se(a){var f=Us,h=Ls,E=Bs,I=!0,M=dispatch("start","brush","end"),b=6,w;function W(Et){var Gt=Et.property("__brush",xr).selectAll(".overlay").data([Cn("overlay")]);Gt.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",kr.overlay).merge(Gt).each(function(){var wt=xe(this).extent;select(this).attr("x",wt[0][0]).attr("y",wt[0][1]).attr("width",wt[1][0]-wt[0][0]).attr("height",wt[1][1]-wt[0][1])}),Et.selectAll(".selection").data([Cn("selection")]).enter().append("rect").attr("class","selection").attr("cursor",kr.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var Kt=Et.selectAll(".handle").data(a.handles,function(wt){return wt.type});Kt.exit().remove(),Kt.enter().append("rect").attr("class",function(wt){return"handle handle--"+wt.type}).attr("cursor",function(wt){return kr[wt.type]}),Et.each(q).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",bt).filter(E).on("touchstart.brush",bt).on("touchmove.brush",Ht).on("touchend.brush touchcancel.brush",fr).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}W.move=function(Et,Gt,Kt){Et.tween?Et.on("start.brush",function(wt){tt(this,arguments).beforestart().start(wt)}).on("interrupt.brush end.brush",function(wt){tt(this,arguments).end(wt)}).tween("brush",function(){var wt=this,tr=wt.__brush,rr=tt(wt,arguments),Mr=tr.selection,Xr=a.input(typeof Gt=="function"?Gt.apply(this,arguments):Gt,tr.extent),hr=interpolate(Mr,Xr);function Wr(vr){tr.selection=vr===1&&Xr===null?null:hr(vr),q.call(wt),rr.brush()}return Mr!==null&&Xr!==null?Wr:Wr(1)}):Et.each(function(){var wt=this,tr=arguments,rr=wt.__brush,Mr=a.input(typeof Gt=="function"?Gt.apply(wt,tr):Gt,rr.extent),Xr=tt(wt,tr).beforestart();interrupt(wt),rr.selection=Mr===null?null:Mr,q.call(wt),Xr.start(Kt).brush(Kt).end(Kt)})},W.clear=function(Et,Gt){W.move(Et,null,Gt)};function q(){var Et=select(this),Gt=xe(this).selection;Gt?(Et.selectAll(".selection").style("display",null).attr("x",Gt[0][0]).attr("y",Gt[0][1]).attr("width",Gt[1][0]-Gt[0][0]).attr("height",Gt[1][1]-Gt[0][1]),Et.selectAll(".handle").style("display",null).attr("x",function(Kt){return Kt.type[Kt.type.length-1]==="e"?Gt[1][0]-b/2:Gt[0][0]-b/2}).attr("y",function(Kt){return Kt.type[0]==="s"?Gt[1][1]-b/2:Gt[0][1]-b/2}).attr("width",function(Kt){return Kt.type==="n"||Kt.type==="s"?Gt[1][0]-Gt[0][0]+b:b}).attr("height",function(Kt){return Kt.type==="e"||Kt.type==="w"?Gt[1][1]-Gt[0][1]+b:b})):Et.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function tt(Et,Gt,Kt){var wt=Et.__brush.emitter;return wt&&(!Kt||!wt.clean)?wt:new Tt(Et,Gt,Kt)}function Tt(Et,Gt,Kt){this.that=Et,this.args=Gt,this.state=Et.__brush,this.active=0,this.clean=Kt}Tt.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(Et,Gt){return this.starting?(this.starting=!1,this.emit("start",Et,Gt)):this.emit("brush",Et),this},brush:function(Et,Gt){return this.emit("brush",Et,Gt),this},end:function(Et,Gt){return--this.active===0&&(delete this.state.emitter,this.emit("end",Et,Gt)),this},emit:function(Et,Gt,Kt){var wt=select(this.that).datum();M.call(Et,this.that,new BrushEvent(Et,{sourceEvent:Gt,target:W,selection:a.output(this.state.selection),mode:Kt,dispatch:M}),wt)}};function bt(Et){if(w&&!Et.touches||!h.apply(this,arguments))return;var Gt=this,Kt=Et.target.__data__.type,wt=(I&&Et.metaKey?Kt="overlay":Kt)==="selection"?fa:I&&Et.altKey?hn:dn,tr=a===qn?null:Fs[Kt],rr=a===kn?null:$s[Kt],Mr=xe(Gt),Xr=Mr.extent,hr=Mr.selection,Wr=Xr[0][0],vr,Sr,tn=Xr[0][1],Er,Ir,rn=Xr[1][0],Or,Tr,nn=Xr[1][1],Rr,Ar,gr=0,yr=0,Pe,ne=tr&&rr&&I&&Et.shiftKey,ee,ae,Fr=Array.from(Et.touches||[Et],Qt=>{const pr=Qt.identifier;return Qt=pointer(Qt,Gt),Qt.point0=Qt.slice(),Qt.identifier=pr,Qt});interrupt(Gt);var Nn=tt(Gt,arguments,!0).beforestart();if(Kt==="overlay"){hr&&(Pe=!0);const Qt=[Fr[0],Fr[1]||Fr[0]];Mr.selection=hr=[[vr=a===qn?Wr:Cr(Qt[0][0],Qt[1][0]),Er=a===kn?tn:Cr(Qt[0][1],Qt[1][1])],[Or=a===qn?rn:Pr(Qt[0][0],Qt[1][0]),Rr=a===kn?nn:Pr(Qt[0][1],Qt[1][1])]],Fr.length>1&&un(Et)}else vr=hr[0][0],Er=hr[0][1],Or=hr[1][0],Rr=hr[1][1];Sr=vr,Ir=Er,Tr=Or,Ar=Rr;var Ea=select(Gt).attr("pointer-events","none"),Mn=Ea.selectAll(".overlay").attr("cursor",kr[Kt]);if(Et.touches)Nn.moved=Oa,Nn.ended=Ta;else{var Ia=select(Et.view).on("mousemove.brush",Oa,!0).on("mouseup.brush",Ta,!0);I&&Ia.on("keydown.brush",ii,!0).on("keyup.brush",ui,!0),dragDisable(Et.view)}q.call(Gt),Nn.start(Et,wt.name);function Oa(Qt){for(const pr of Qt.changedTouches||[Qt])for(const Dn of Fr)Dn.identifier===pr.identifier&&(Dn.cur=pointer(pr,Gt));if(ne&&!ee&&!ae&&Fr.length===1){const pr=Fr[0];la(pr.cur[0]-pr[0])>la(pr.cur[1]-pr[1])?ae=!0:ee=!0}for(const pr of Fr)pr.cur&&(pr[0]=pr.cur[0],pr[1]=pr.cur[1]);Pe=!0,noevent(Qt),un(Qt)}function un(Qt){const pr=Fr[0],Dn=pr.point0;var en;switch(gr=pr[0]-Dn[0],yr=pr[1]-Dn[1],wt){case pe:case fa:{tr&&(gr=Pr(Wr-vr,Cr(rn-Or,gr)),Sr=vr+gr,Tr=Or+gr),rr&&(yr=Pr(tn-Er,Cr(nn-Rr,yr)),Ir=Er+yr,Ar=Rr+yr);break}case dn:{Fr[1]?(tr&&(Sr=Pr(Wr,Cr(rn,Fr[0][0])),Tr=Pr(Wr,Cr(rn,Fr[1][0])),tr=1),rr&&(Ir=Pr(tn,Cr(nn,Fr[0][1])),Ar=Pr(tn,Cr(nn,Fr[1][1])),rr=1)):(tr<0?(gr=Pr(Wr-vr,Cr(rn-vr,gr)),Sr=vr+gr,Tr=Or):tr>0&&(gr=Pr(Wr-Or,Cr(rn-Or,gr)),Sr=vr,Tr=Or+gr),rr<0?(yr=Pr(tn-Er,Cr(nn-Er,yr)),Ir=Er+yr,Ar=Rr):rr>0&&(yr=Pr(tn-Rr,Cr(nn-Rr,yr)),Ir=Er,Ar=Rr+yr));break}case hn:{tr&&(Sr=Pr(Wr,Cr(rn,vr-gr*tr)),Tr=Pr(Wr,Cr(rn,Or+gr*tr))),rr&&(Ir=Pr(tn,Cr(nn,Er-yr*rr)),Ar=Pr(tn,Cr(nn,Rr+yr*rr)));break}}Tr<Sr&&(tr*=-1,en=vr,vr=Or,Or=en,en=Sr,Sr=Tr,Tr=en,Kt in ca&&Mn.attr("cursor",kr[Kt=ca[Kt]])),Ar<Ir&&(rr*=-1,en=Er,Er=Rr,Rr=en,en=Ir,Ir=Ar,Ar=en,Kt in da&&Mn.attr("cursor",kr[Kt=da[Kt]])),Mr.selection&&(hr=Mr.selection),ee&&(Sr=hr[0][0],Tr=hr[1][0]),ae&&(Ir=hr[0][1],Ar=hr[1][1]),(hr[0][0]!==Sr||hr[0][1]!==Ir||hr[1][0]!==Tr||hr[1][1]!==Ar)&&(Mr.selection=[[Sr,Ir],[Tr,Ar]],q.call(Gt),Nn.brush(Qt,wt.name))}function Ta(Qt){if(nopropagation(Qt),Qt.touches){if(Qt.touches.length)return;w&&clearTimeout(w),w=setTimeout(function(){w=null},500)}else dragEnable(Qt.view,Pe),Ia.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);Ea.attr("pointer-events","all"),Mn.attr("cursor",kr.overlay),Mr.selection&&(hr=Mr.selection),js(hr)&&(Mr.selection=null,q.call(Gt)),Nn.end(Qt,wt.name)}function ii(Qt){switch(Qt.keyCode){case 16:{ne=tr&&rr;break}case 18:{wt===dn&&(tr&&(Or=Tr-gr*tr,vr=Sr+gr*tr),rr&&(Rr=Ar-yr*rr,Er=Ir+yr*rr),wt=hn,un(Qt));break}case 32:{(wt===dn||wt===hn)&&(tr<0?Or=Tr-gr:tr>0&&(vr=Sr-gr),rr<0?Rr=Ar-yr:rr>0&&(Er=Ir-yr),wt=pe,Mn.attr("cursor",kr.selection),un(Qt));break}default:return}noevent(Qt)}function ui(Qt){switch(Qt.keyCode){case 16:{ne&&(ee=ae=ne=!1,un(Qt));break}case 18:{wt===hn&&(tr<0?Or=Tr:tr>0&&(vr=Sr),rr<0?Rr=Ar:rr>0&&(Er=Ir),wt=dn,un(Qt));break}case 32:{wt===pe&&(Qt.altKey?(tr&&(Or=Tr-gr*tr,vr=Sr+gr*tr),rr&&(Rr=Ar-yr*rr,Er=Ir+yr*rr),wt=hn):(tr<0?Or=Tr:tr>0&&(vr=Sr),rr<0?Rr=Ar:rr>0&&(Er=Ir),wt=dn),Mn.attr("cursor",kr[Kt]),un(Qt));break}default:return}noevent(Qt)}}function Ht(Et){tt(this,arguments).moved(Et)}function fr(Et){tt(this,arguments).ended(Et)}function xr(){var Et=this.__brush||{selection:null};return Et.extent=me(f.apply(this,arguments)),Et.dim=a,Et}return W.extent=function(Et){return arguments.length?(f=typeof Et=="function"?Et:constant(me(Et)),W):f},W.filter=function(Et){return arguments.length?(h=typeof Et=="function"?Et:constant(!!Et),W):h},W.touchable=function(Et){return arguments.length?(E=typeof Et=="function"?Et:constant(!!Et),W):E},W.handleSize=function(Et){return arguments.length?(b=+Et,W):b},W.keyModifiers=function(Et){return arguments.length?(I=!!Et,W):I},W.on=function(){var Et=M.on.apply(M,arguments);return Et===M?W:Et},W}function ws(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function Gs(a){const f=typeof(a==null?void 0:a.requestAnimationFrame)=="function"&&typeof(a==null?void 0:a.cancelAnimationFrame)=="function",h=typeof(a==null?void 0:a.requestIdleCallback)=="function"&&typeof(a==null?void 0:a.cancelIdleCallback)=="function",E=M=>setTimeout(M,1),I=M=>clearTimeout(M);return[f?a.requestAnimationFrame:E,f?a.cancelAnimationFrame:I,h?a.requestIdleCallback:E,h?a.cancelIdleCallback:I]}const _n=ws(),Hs=_n==null?void 0:_n.document,[mi,xi,Si,Ei]=Gs(_n);var Vs=Object.defineProperty,ha=Object.getOwnPropertySymbols,Ws=Object.prototype.hasOwnProperty,zs=Object.prototype.propertyIsEnumerable,ga=(a,f,h)=>f in a?Vs(a,f,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[f]=h,ya=(a,f)=>{for(var h in f||(f={}))Ws.call(f,h)&&ga(a,h,f[h]);if(ha)for(var h of ha(f))zs.call(f,h)&&ga(a,h,f[h]);return a};const Ii=a=>a||a===0,Ys=a=>typeof a=="function",te=a=>typeof a=="string",Ee=a=>typeof a=="number",Ks=a=>typeof a=="undefined",pa=a=>typeof a!="undefined",Oi=a=>typeof a=="boolean",Ti=a=>Math.ceil(a/10)*10,Ri=a=>Math.ceil(a)+.5,Ai=a=>a[1]-a[0],Ie=a=>typeof a=="object",Xs=a=>Ks(a)||a===null||te(a)&&a.length===0||Ie(a)&&!(a instanceof Date)&&Object.keys(a).length===0||Ee(a)&&isNaN(a),Js=a=>!Xs(a),Oe=a=>Array.isArray(a),re=a=>a&&!(a!=null&&a.nodeType)&&Ie(a)&&!Oe(a);function Pi(a,f,h){return pa(a[f])?a[f]:h}function Ci(a,f){let h=!1;return Object.keys(a).forEach(E=>a[E]===f&&(h=!0)),h}function Ni(a,f,...h){const E=Ys(a);return E&&a.call(f,...h),E}function Mi(a,f){let h=0;const E=function(...I){!--h&&f.apply(this,...I)};"duration"in a?a.each(()=>++h).on("end",E):(++h,a.call(E))}function Di(a){return te(a)?a.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):a}function bi(a,f,h=[-1,1],E=!1){if(!(!a||!te(f)))if(f.indexOf(` +`)===-1)a.text(f);else{const I=[a.text(),f].map(M=>M.replace(/[\s\n]/g,""));if(I[0]!==I[1]){const M=f.split(` +`),b=E?M.length-1:1;a.html(""),M.forEach((w,W)=>{a.append("tspan").attr("x",0).attr("dy",`${W===0?h[0]*b:h[1]}em`).text(w)})}}}function Qs(a){const{x:f,y:h,width:E,height:I}=a.getBBox();return[{x:f,y:h+I},{x:f,y:h},{x:f+E,y:h},{x:f+E,y:h+I}]}function Fi(a){const{width:f,height:h}=a.getBoundingClientRect(),E=Qs(a),I=E[0].x,M=Math.min(E[0].y,E[1].y);return{x:I,y:M,width:f,height:h}}function $i(a,f){var h;const E=a&&((h=a.touches||a.sourceEvent&&a.sourceEvent.touches)==null?void 0:h[0]);let I=[0,0];try{I=d3Pointer(E||a,f)}catch(M){}return I.map(M=>isNaN(M)?0:M)}function Zs(a){const{event:f,$el:h}=a,E=h.subchart.main||h.main;let I;return f&&f.type==="brush"?I=f.selection:E&&(I=E.select(".bb-brush").node())&&(I=d3BrushSelection(I)),I}function Li(a){return!("rect"in a)||"rect"in a&&a.hasAttribute("width")&&a.rect.width!==+a.getAttribute("width")?a.rect=a.getBoundingClientRect():a.rect}function Ui(a=!0,f=0,h=1e4){const E=window.crypto||window.msCrypto,I=E?f+E.getRandomValues(new Uint32Array(1))[0]%(h-f+1):Math.floor(Math.random()*(h-f)+f);return a?String(I):I}function ma(a,f,h,E,I){if(h>E)return-1;const M=Math.floor((h+E)/2);let{x:b,w=0}=a[M];return I&&(b=a[M].y,w=a[M].h),f>=b&&f<=b+w?M:f<b?ma(a,f,h,M-1,I):ma(a,f,M+1,E,I)}function Bi(a){const f=Zs(a);return f?f[0]===f[1]:!0}function ji(...a){const f=h=>{if(re(h)&&h.constructor){const E=new h.constructor;for(const I in h)E[I]=f(h[I]);return E}return h};return a.map(h=>f(h)).reduce((h,E)=>ya(ya({},h),E))}function ks(a={},f){Oe(f)&&f.forEach(h=>ks(a,h));for(const h in f)/^\d+$/.test(h)||h in a||(a[h]=f[h]);return a}const wi=a=>a.charAt(0).toUpperCase()+a.slice(1);function Gi(a,f="-"){return a.split(f).map((h,E)=>E?h.charAt(0).toUpperCase()+h.slice(1).toLowerCase():h.toLowerCase()).join("")}const qs=a=>[].slice.call(a);function Hi(a,f,h){const{rootSelector:E="",sheet:I}=a,b=`${E} ${(w=>w.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(f)} {${h.join(";")}}`;return I[I.insertRule?"insertRule":"addRule"](b,I.cssRules.length)}function Vi(a){let f=[];return a.forEach(h=>{var E;try{h.cssRules&&h.cssRules.length&&(f=f.concat(qs(h.cssRules)))}catch(I){(E=window.console)==null||E.warn(`Error while reading rules from ${h.href}: ${I.toString()}`)}}),f}function Wi(a){var f,h,E,I,M,b;return{x:((h=(f=window.pageXOffset)!=null?f:window.scrollX)!=null?h:0)+((E=a.scrollLeft)!=null?E:0),y:((M=(I=window.pageYOffset)!=null?I:window.scrollY)!=null?M:0)+((b=a.scrollTop)!=null?b:0)}}function zi(a,f=0,h=0,E=!0){const I=new DOMPoint(f,h),M=a.getScreenCTM(),b=I.matrixTransform(E?M==null?void 0:M.inverse():M);if(E===!1){const w=a.getBoundingClientRect();b.x-=w.x,b.y-=w.y}return b}function Yi(a){const f=a?a.transform:null,h=f&&f.baseVal;return h&&h.numberOfItems?h.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function Ki(a){const f=a[0]instanceof Date,h=(f?a.map(Number):a).filter((E,I,M)=>M.indexOf(E)===I);return f?h.map(E=>new Date(E)):h}function Xi(a){return a&&a.length?a.reduce((f,h)=>f.concat(h)):[]}function Te(a,...f){if(!f.length||f.length===1&&!f[0])return a;const h=f.shift();return re(a)&&re(h)&&Object.keys(h).forEach(E=>{const I=h[E];re(I)?(!a[E]&&(a[E]={}),a[E]=Te(a[E],I)):a[E]=Oe(I)?I.concat():I}),Te(a,...f)}function _s(a,f=!0){let h;return a[0]instanceof Date?h=f?(E,I)=>E-I:(E,I)=>I-E:f&&!a.every(isNaN)?h=(E,I)=>E-I:f||(h=(E,I)=>E>I&&-1||E<I&&1||E===I&&0),a.concat().sort(h)}function Ji(a,f){let h=f.filter(E=>Js(E));return h.length?Ee(h[0])?h=Math[a](...h):h[0]instanceof Date&&(h=_s(h,a==="min")[0]):h=void 0,h}const Qi=(a,f,h=1)=>{const E=[],I=Math.max(0,Math.ceil((f-a)/h))|0;for(let M=a;M<I;M++)E.push(a+M*h);return E},Zi={mouse:(()=>{const a=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(f,h,E=a())=>{f.dispatchEvent(new MouseEvent(h,E))}}catch(f){return(h,E,I=a())=>{const M=Hs.createEvent("MouseEvent");M.initMouseEvent(E,I.bubbles,I.cancelable,_n,0,I.screenX,I.screenY,I.clientX,I.clientY,!1,!1,!1,!1,0,null),h.dispatchEvent(M)}}})(),touch:(a,f,h)=>{const E=new Touch(Te({identifier:Date.now(),target:a,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},h));a.dispatchEvent(new TouchEvent(f,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[E],targetTouches:[],changedTouches:[E]}))}};function ki(a,f){let h=a;for(const E in f)h=h.replace(new RegExp(`{=${E}}`,"g"),f[E]);return h}function qi(a){var f;let h;if(a instanceof Date)h=a;else if(te(a)){const{config:E,format:I}=this;h=(f=I.dataTime(E.data_xFormat)(a))!=null?f:new Date(a)}else Ee(a)&&!isNaN(a)&&(h=new Date(+a));return(!h||isNaN(+h))&&console&&console.error&&console.error(`Failed to parse x '${a}' to Date object`),h}function _i(a){const f=a.attr("viewBox");return f?/(\d+(\.\d+)?){3}/.test(f):!1}function tu(a,f,h=!1){const E=!!a.node;let I=!1;for(const[M,b]of Object.entries(f))if(I=E?a.style(M)===b:a.style[M]===b,h===!1&&I)break;return I}function ru(){var a,f;return((a=document)==null?void 0:a.hidden)===!1||((f=document)==null?void 0:f.visibilityState)==="visible"}function nu(a,f){const{DocumentTouch:h,matchMedia:E,navigator:I}=window,M=E==null?void 0:E("(pointer:coarse)").matches;let b=!1;if(f)if(I&&"maxTouchPoints"in I)b=I.maxTouchPoints>0;else if("ontouchmove"in window||h&&document instanceof h)b=!0;else if(M)b=!0;else{const W=I.userAgent;b=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(W)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(W)}return a&&!M&&(E==null?void 0:E("(pointer:fine)").matches)&&"mouse"||b&&"touch"||"mouse"}function ti(a,f){f()===!1?requestAnimationFrame(()=>ti(a,f)):a()}function ri(a){const f=this.config;let h,E,I;const M=()=>{const b=E.shift();if(b&&h&&Ie(h)&&b in h)return h=h[b],M();if(!b)return h};Object.keys(f).forEach(b=>{h=a,E=b.split("_"),I=M(),pa(I)&&(f[b]=I)}),this.api&&(this.state.orgConfig=a)}var ni=Object.defineProperty,ei=(a,f,h)=>f in a?ni(a,f,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[f]=h,Re=(a,f,h)=>ei(a,typeof f!="symbol"?f+"":f,h);class xa{constructor(f={}){Re(this,"$$"),Re(this,"options"),this.options=f}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(f=>{this[f]=null,delete this[f]})}}Re(xa,"version","3.14.2");class ai{constructor(){return{selector:void 0}}}var oi=Object.defineProperty,si=(a,f,h)=>f in a?oi(a,f,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[f]=h,Ae=(a,f,h)=>si(a,typeof f!="symbol"?f+"":f,h);class Sa extends xa{constructor(f){return super(f),Ae(this,"config"),Ae(this,"element"),this.config=new ai,this}$beforeInit(){ri.call(this,this.options),this.validate(),this.element=[].slice.call(document.querySelectorAll(this.config.selector)),this.overrideInternals(),this.overrideOptions(),this.overHandler=this.overHandler.bind(this),this.moveHandler=this.moveHandler.bind(this),this.outHandler=this.outHandler.bind(this)}validate(){const{$$:f,config:h}=this;let E="";if((!h.selector||!document.querySelector(h.selector))&&(E="No holder elements found from given selector option."),(f.hasType("bubble")||f.hasType("scatter")||f.hasArcType(f.data.targets))&&(E="Contains non supported chart types."),E)throw new Error(`[Sparkline plugin] ${E}`)}overrideInternals(){const{$$:f}=this,{getBarW:h,getIndices:E}=f;f.getIndices=function(I,M,b){return b==="getShapeX"?{}:E.call(this,I,M)},f.getBarW=function(I,M){return h.call(this,I,M,1)}}overrideOptions(){const{config:f}=this.$$;if(f.legend_show=!1,f.resize_auto=!1,f.axis_x_show=!1,f.padding!==!1){const h=E=>Object.keys(E||{}).length>0;h(f.axis_x_padding)&&(f.axis_x_padding={left:15,right:15,unit:"px"}),h(f.axis_y_padding)&&(f.axis_y_padding=5)}f.axis_y_show=!1,f.tooltip_position||(f.tooltip_position=function(h,E,I){const{internal:{state:{event:M}}}=this;let b=M.pageY-I*1.35,w=M.pageX-E/2;return b<0&&(b=0),w<0&&(w=0),{top:b,left:w}})}$init(){var f;const{$$:{$el:h}}=this;h.chart.style("width","0").style("height","0").style("pointer-events","none"),(f=h.tooltip)!=null&&f.node()&&document.body.appendChild(h.tooltip.node())}$afterInit(){const{$$:f}=this;f.$el.svg.attr("style",null).style("width","0").style("height","0"),this.bindEvents(!0)}bindEvents(f=!0){const{$$:{config:h}}=this;if(h.interaction_enabled&&h.tooltip_show){const E=`${f?"add":"remove"}EventListener`;this.element.forEach(I=>{const M=I.querySelector("svg");M[E]("mouseover",this.overHandler),M[E]("mousemove",this.moveHandler),M[E]("mouseout",this.outHandler)})}}overHandler(f){const{$$:h}=this,{state:{eventReceiver:E}}=h;E.rect=f.target.getBoundingClientRect()}moveHandler(f){var h,E,I,M;const{$$:b}=this,w=b.getDataIndexFromEvent(f),W=(h=b.api.data(f.target.__id))==null?void 0:h[0],q=(E=W==null?void 0:W.values)==null?void 0:E[w];q&&!q.name&&(q.name=q.id),b.state.event=f,(I=b.isPointFocusOnly)!=null&&I.call(b)&&q&&((M=b.showCircleFocus)==null||M.call(b,[q])),b.setExpand(w,W.id,!0),b.showTooltip([q],f.target)}outHandler(f){const{$$:h}=this;h.state.event=f,h.isPointFocusOnly()?h.hideCircleFocus():h.unexpandCircles(),h.hideTooltip()}$redraw(){var f;const{$$:h}=this,{$el:E}=h;let I=this.element;const M=h.api.data(),b=(f=E.chart.html().match(/<svg[^>]*>/))==null?void 0:f[0];if(I.length<M.length){const w=E.chart.node();for(let W=M.length-I.length;W>0;W--)w.parentNode.insertBefore(I[0].cloneNode(),w.nextSibling);this.element=document.querySelectorAll(this.config.selector),I=this.element}M.map(w=>w.id).forEach((w,W)=>{const q=`.${l.target}-${w}`,tt=E.main.selectAll(q);let Tt=I[W].querySelector("svg");Tt||(I[W].innerHTML=`${b}</svg>`,Tt=I[W].querySelector("svg"),Tt.__id=w),Tt.querySelector(q)||tt.style("opacity",null),tt.style("fill","none").style("opacity",null),Tt.innerHTML="",Tt.appendChild(tt.node())})}$willDestroy(){this.bindEvents(!1),this.element.forEach(f=>{f.innerHTML=""})}}Ae(Sa,"version","0.0.1")},85156:function(i,d,t){var r=t(23583),n=t(82453),e=TypeError;i.exports=function(o){if(r(o))return o;throw new e(n(o)+" is not a function")}},80042:function(i,d,t){var r=t(11051),n=t(82453),e=TypeError;i.exports=function(o){if(r(o))return o;throw new e(n(o)+" is not a constructor")}},53408:function(i,d,t){var r=t(52427),n=String,e=TypeError;i.exports=function(o){if(r(o))return o;throw new e("Can't set "+n(o)+" as a prototype")}},76602:function(i,d,t){var r=t(172).has;i.exports=function(n){return r(n),n}},23811:function(i,d,t){var r=t(18565),n=t(5406),e=t(7831).f,o=r("unscopables"),s=Array.prototype;s[o]===void 0&&e(s,o,{configurable:!0,value:n(null)}),i.exports=function(u){s[o][u]=!0}},24487:function(i,d,t){var r=t(22149).charAt;i.exports=function(n,e,o){return e+(o?r(n,e).length:1)}},12833:function(i,d,t){var r=t(95307),n=TypeError;i.exports=function(e,o){if(r(o,e))return e;throw new n("Incorrect invocation")}},25001:function(i,d,t){var r=t(37540),n=String,e=TypeError;i.exports=function(o){if(r(o))return o;throw new e(n(o)+" is not an object")}},3237:function(i){i.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},58360:function(i,d,t){var r=t(34246),n=t(84756),e=t(14274),o=r.ArrayBuffer,s=r.TypeError;i.exports=o&&n(o.prototype,"byteLength","get")||function(u){if(e(u)!=="ArrayBuffer")throw new s("ArrayBuffer expected");return u.byteLength}},30736:function(i,d,t){var r=t(34246),n=t(77422),e=t(58360),o=r.ArrayBuffer,s=o&&o.prototype,u=s&&n(s.slice);i.exports=function(l){if(e(l)!==0||!u)return!1;try{return u(l,0,0),!1}catch(v){return!0}}},72058:function(i,d,t){var r=t(72069);i.exports=r(function(){if(typeof ArrayBuffer=="function"){var n=new ArrayBuffer(8);Object.isExtensible(n)&&Object.defineProperty(n,"a",{value:8})}})},83843:function(i,d,t){var r=t(30736),n=TypeError;i.exports=function(e){if(r(e))throw new n("ArrayBuffer is detached");return e}},65006:function(i,d,t){var r=t(34246),n=t(11286),e=t(84756),o=t(9450),s=t(83843),u=t(58360),l=t(63741),v=t(99050),c=r.structuredClone,g=r.ArrayBuffer,y=r.DataView,p=Math.min,m=g.prototype,S=y.prototype,x=n(m.slice),O=e(m,"resizable","get"),P=e(m,"maxByteLength","get"),T=n(S.getInt8),R=n(S.setInt8);i.exports=(v||l)&&function(N,A,C){var D=u(N),$=A===void 0?D:o(A),F=!O||!O(N),L;if(s(N),v&&(N=c(N,{transfer:[N]}),D===$&&(C||F)))return N;if(D>=$&&(!C||F))L=x(N,0,$);else{var G=C&&!F&&P?{maxByteLength:P(N)}:void 0;L=new g($,G);for(var H=new y(N),U=new y(L),B=p($,D),j=0;j<B;j++)R(U,j,T(H,j))}return v||l(N),L}},88037:function(i,d,t){var r=t(3237),n=t(92986),e=t(34246),o=t(23583),s=t(37540),u=t(94879),l=t(9205),v=t(82453),c=t(90809),g=t(16142),y=t(85500),p=t(95307),m=t(26313),S=t(15861),x=t(18565),O=t(36374),P=t(82367),T=P.enforce,R=P.get,N=e.Int8Array,A=N&&N.prototype,C=e.Uint8ClampedArray,D=C&&C.prototype,$=N&&m(N),F=A&&m(A),L=Object.prototype,G=e.TypeError,H=x("toStringTag"),U=O("TYPED_ARRAY_TAG"),B="TypedArrayConstructor",j=r&&!!S&&l(e.opera)!=="Opera",z=!1,Q,X,k,Z={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},gt={BigInt64Array:8,BigUint64Array:8},lt=function(mt){if(!s(mt))return!1;var Mt=l(mt);return Mt==="DataView"||u(Z,Mt)||u(gt,Mt)},yt=function(vt){var mt=m(vt);if(s(mt)){var Mt=R(mt);return Mt&&u(Mt,B)?Mt[B]:yt(mt)}},Ot=function(vt){if(!s(vt))return!1;var mt=l(vt);return u(Z,mt)||u(gt,mt)},Rt=function(vt){if(Ot(vt))return vt;throw new G("Target is not a typed array")},Wt=function(vt){if(o(vt)&&(!S||p($,vt)))return vt;throw new G(v(vt)+" is not a typed array constructor")},Vt=function(vt,mt,Mt,Ft){if(n){if(Mt)for(var Nt in Z){var Bt=e[Nt];if(Bt&&u(Bt.prototype,vt))try{delete Bt.prototype[vt]}catch(qt){try{Bt.prototype[vt]=mt}catch(_t){}}}(!F[vt]||Mt)&&g(F,vt,Mt?mt:j&&A[vt]||mt,Ft)}},$t=function(vt,mt,Mt){var Ft,Nt;if(n){if(S){if(Mt){for(Ft in Z)if(Nt=e[Ft],Nt&&u(Nt,vt))try{delete Nt[vt]}catch(Bt){}}if(!$[vt]||Mt)try{return g($,vt,Mt?mt:j&&$[vt]||mt)}catch(Bt){}else return}for(Ft in Z)Nt=e[Ft],Nt&&(!Nt[vt]||Mt)&&g(Nt,vt,mt)}};for(Q in Z)X=e[Q],k=X&&X.prototype,k?T(k)[B]=X:j=!1;for(Q in gt)X=e[Q],k=X&&X.prototype,k&&(T(k)[B]=X);if((!j||!o($)||$===Function.prototype)&&($=function(){throw new G("Incorrect invocation")},j))for(Q in Z)e[Q]&&S(e[Q],$);if((!j||!F||F===L)&&(F=$.prototype,j))for(Q in Z)e[Q]&&S(e[Q].prototype,F);if(j&&m(D)!==F&&S(D,F),n&&!u(F,H)){z=!0,y(F,H,{configurable:!0,get:function(){return s(this)?this[U]:void 0}});for(Q in Z)e[Q]&&c(e[Q],U,Q)}i.exports={NATIVE_ARRAY_BUFFER_VIEWS:j,TYPED_ARRAY_TAG:z&&U,aTypedArray:Rt,aTypedArrayConstructor:Wt,exportTypedArrayMethod:Vt,exportTypedArrayStaticMethod:$t,getTypedArrayConstructor:yt,isView:lt,isTypedArray:Ot,TypedArray:$,TypedArrayPrototype:F}},17468:function(i,d,t){var r=t(34246),n=t(11286),e=t(92986),o=t(3237),s=t(86588),u=t(90809),l=t(85500),v=t(2725),c=t(72069),g=t(12833),y=t(12105),p=t(45344),m=t(9450),S=t(93279),x=t(25212),O=t(26313),P=t(15861),T=t(43011),R=t(22806),N=t(32345),A=t(93706),C=t(78401),D=t(82367),$=s.PROPER,F=s.CONFIGURABLE,L="ArrayBuffer",G="DataView",H="prototype",U="Wrong length",B="Wrong index",j=D.getterFor(L),z=D.getterFor(G),Q=D.set,X=r[L],k=X,Z=k&&k[H],gt=r[G],lt=gt&>[H],yt=Object.prototype,Ot=r.Array,Rt=r.RangeError,Wt=n(T),Vt=n([].reverse),$t=x.pack,vt=x.unpack,mt=function(st){return[st&255]},Mt=function(st){return[st&255,st>>8&255]},Ft=function(st){return[st&255,st>>8&255,st>>16&255,st>>24&255]},Nt=function(st){return st[3]<<24|st[2]<<16|st[1]<<8|st[0]},Bt=function(st){return $t(S(st),23,4)},qt=function(st){return $t(st,52,8)},_t=function(st,dt,_){l(st[H],dt,{configurable:!0,get:function(){return _(this)[dt]}})},Xt=function(st,dt,_,At){var Pt=z(st),It=m(_),St=!!At;if(It+dt>Pt.byteLength)throw new Rt(B);var er=Pt.bytes,or=It+Pt.byteOffset,K=R(er,or,or+dt);return St?K:Vt(K)},Lt=function(st,dt,_,At,Pt,It){var St=z(st),er=m(_),or=At(+Pt),K=!!It;if(er+dt>St.byteLength)throw new Rt(B);for(var et=St.bytes,it=er+St.byteOffset,ot=0;ot<dt;ot++)et[it+ot]=or[K?ot:dt-ot-1]};if(!o)k=function(dt){g(this,Z);var _=m(dt);Q(this,{type:L,bytes:Wt(Ot(_),0),byteLength:_}),e||(this.byteLength=_,this.detached=!1)},Z=k[H],gt=function(dt,_,At){g(this,lt),g(dt,Z);var Pt=j(dt),It=Pt.byteLength,St=y(_);if(St<0||St>It)throw new Rt("Wrong offset");if(At=At===void 0?It-St:p(At),St+At>It)throw new Rt(U);Q(this,{type:G,buffer:dt,byteLength:At,byteOffset:St,bytes:Pt.bytes}),e||(this.buffer=dt,this.byteLength=At,this.byteOffset=St)},lt=gt[H],e&&(_t(k,"byteLength",j),_t(gt,"buffer",z),_t(gt,"byteLength",z),_t(gt,"byteOffset",z)),v(lt,{getInt8:function(dt){return Xt(this,1,dt)[0]<<24>>24},getUint8:function(dt){return Xt(this,1,dt)[0]},getInt16:function(dt){var _=Xt(this,2,dt,arguments.length>1?arguments[1]:!1);return(_[1]<<8|_[0])<<16>>16},getUint16:function(dt){var _=Xt(this,2,dt,arguments.length>1?arguments[1]:!1);return _[1]<<8|_[0]},getInt32:function(dt){return Nt(Xt(this,4,dt,arguments.length>1?arguments[1]:!1))},getUint32:function(dt){return Nt(Xt(this,4,dt,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(dt){return vt(Xt(this,4,dt,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(dt){return vt(Xt(this,8,dt,arguments.length>1?arguments[1]:!1),52)},setInt8:function(dt,_){Lt(this,1,dt,mt,_)},setUint8:function(dt,_){Lt(this,1,dt,mt,_)},setInt16:function(dt,_){Lt(this,2,dt,Mt,_,arguments.length>2?arguments[2]:!1)},setUint16:function(dt,_){Lt(this,2,dt,Mt,_,arguments.length>2?arguments[2]:!1)},setInt32:function(dt,_){Lt(this,4,dt,Ft,_,arguments.length>2?arguments[2]:!1)},setUint32:function(dt,_){Lt(this,4,dt,Ft,_,arguments.length>2?arguments[2]:!1)},setFloat32:function(dt,_){Lt(this,4,dt,Bt,_,arguments.length>2?arguments[2]:!1)},setFloat64:function(dt,_){Lt(this,8,dt,qt,_,arguments.length>2?arguments[2]:!1)}});else{var Jt=$&&X.name!==L;!c(function(){X(1)})||!c(function(){new X(-1)})||c(function(){return new X,new X(1.5),new X(NaN),X.length!==1||Jt&&!F})?(k=function(dt){return g(this,Z),N(new X(m(dt)),this,k)},k[H]=Z,Z.constructor=k,A(k,X)):Jt&&F&&u(X,"name",L),P&&O(lt)!==yt&&P(lt,yt);var Yt=new gt(new k(2)),jt=n(lt.setInt8);Yt.setInt8(0,2147483648),Yt.setInt8(1,2147483649),(Yt.getInt8(0)||!Yt.getInt8(1))&&v(lt,{setInt8:function(dt,_){jt(this,dt,_<<24>>24)},setUint8:function(dt,_){jt(this,dt,_<<24>>24)}},{unsafe:!0})}C(k,L),C(gt,G),i.exports={ArrayBuffer:k,DataView:gt}},81499:function(i,d,t){var r=t(49671),n=t(4652),e=t(82628),o=t(12384),s=Math.min;i.exports=[].copyWithin||function(l,v){var c=r(this),g=e(c),y=n(l,g),p=n(v,g),m=arguments.length>2?arguments[2]:void 0,S=s((m===void 0?g:n(m,g))-p,g-y),x=1;for(p<y&&y<p+S&&(x=-1,p+=S-1,y+=S-1);S-- >0;)p in c?c[y]=c[p]:o(c,y),y+=x,p+=x;return c}},43011:function(i,d,t){var r=t(49671),n=t(4652),e=t(82628);i.exports=function(s){for(var u=r(this),l=e(u),v=arguments.length,c=n(v>1?arguments[1]:void 0,l),g=v>2?arguments[2]:void 0,y=g===void 0?l:n(g,l);y>c;)u[c++]=s;return u}},13349:function(i,d,t){var r=t(66655).forEach,n=t(6148),e=n("forEach");i.exports=e?[].forEach:function(s){return r(this,s,arguments.length>1?arguments[1]:void 0)}},5220:function(i,d,t){var r=t(82628);i.exports=function(n,e,o){for(var s=0,u=arguments.length>2?o:r(e),l=new n(u);u>s;)l[s]=e[s++];return l}},48258:function(i,d,t){var r=t(45526),n=t(96499),e=t(49671),o=t(39969),s=t(48199),u=t(11051),l=t(82628),v=t(84082),c=t(90619),g=t(81077),y=Array;i.exports=function(m){var S=e(m),x=u(this),O=arguments.length,P=O>1?arguments[1]:void 0,T=P!==void 0;T&&(P=r(P,O>2?arguments[2]:void 0));var R=g(S),N=0,A,C,D,$,F,L;if(R&&!(this===y&&s(R)))for(C=x?new this:[],$=c(S,R),F=$.next;!(D=n(F,$)).done;N++)L=T?o($,P,[D.value,N],!0):D.value,v(C,N,L);else for(A=l(S),C=x?new this(A):y(A);A>N;N++)L=T?P(S[N],N):S[N],v(C,N,L);return C.length=N,C}},94319:function(i,d,t){var r=t(36859),n=t(4652),e=t(82628),o=function(s){return function(u,l,v){var c=r(u),g=e(c);if(g===0)return!s&&-1;var y=n(v,g),p;if(s&&l!==l){for(;g>y;)if(p=c[y++],p!==p)return!0}else for(;g>y;y++)if((s||y in c)&&c[y]===l)return s||y||0;return!s&&-1}};i.exports={includes:o(!0),indexOf:o(!1)}},73849:function(i,d,t){var r=t(45526),n=t(72181),e=t(49671),o=t(82628),s=function(u){var l=u===1;return function(v,c,g){for(var y=e(v),p=n(y),m=o(p),S=r(c,g),x,O;m-- >0;)if(x=p[m],O=S(x,m,y),O)switch(u){case 0:return x;case 1:return m}return l?-1:void 0}};i.exports={findLast:s(0),findLastIndex:s(1)}},66655:function(i,d,t){var r=t(45526),n=t(11286),e=t(72181),o=t(49671),s=t(82628),u=t(62083),l=n([].push),v=function(c){var g=c===1,y=c===2,p=c===3,m=c===4,S=c===6,x=c===7,O=c===5||S;return function(P,T,R,N){for(var A=o(P),C=e(A),D=s(C),$=r(T,R),F=0,L=N||u,G=g?L(P,D):y||x?L(P,0):void 0,H,U;D>F;F++)if((O||F in C)&&(H=C[F],U=$(H,F,A),c))if(g)G[F]=U;else if(U)switch(c){case 3:return!0;case 5:return H;case 6:return F;case 2:l(G,H)}else switch(c){case 4:return!1;case 7:l(G,H)}return S?-1:p||m?m:G}};i.exports={forEach:v(0),map:v(1),filter:v(2),some:v(3),every:v(4),find:v(5),findIndex:v(6),filterReject:v(7)}},58465:function(i,d,t){var r=t(66543),n=t(36859),e=t(12105),o=t(82628),s=t(6148),u=Math.min,l=[].lastIndexOf,v=!!l&&1/[1].lastIndexOf(1,-0)<0,c=s("lastIndexOf"),g=v||!c;i.exports=g?function(p){if(v)return r(l,this,arguments)||0;var m=n(this),S=o(m);if(S===0)return-1;var x=S-1;for(arguments.length>1&&(x=u(x,e(arguments[1]))),x<0&&(x=S+x);x>=0;x--)if(x in m&&m[x]===p)return x||0;return-1}:l},52183:function(i,d,t){var r=t(72069),n=t(18565),e=t(44241),o=n("species");i.exports=function(s){return e>=51||!r(function(){var u=[],l=u.constructor={};return l[o]=function(){return{foo:1}},u[s](Boolean).foo!==1})}},6148:function(i,d,t){var r=t(72069);i.exports=function(n,e){var o=[][n];return!!o&&r(function(){o.call(null,e||function(){return 1},1)})}},97264:function(i,d,t){var r=t(85156),n=t(49671),e=t(72181),o=t(82628),s=TypeError,u="Reduce of empty array with no initial value",l=function(v){return function(c,g,y,p){var m=n(c),S=e(m),x=o(m);if(r(g),x===0&&y<2)throw new s(u);var O=v?x-1:0,P=v?-1:1;if(y<2)for(;;){if(O in S){p=S[O],O+=P;break}if(O+=P,v?O<0:x<=O)throw new s(u)}for(;v?O>=0:x>O;O+=P)O in S&&(p=g(p,S[O],O,m));return p}};i.exports={left:l(!1),right:l(!0)}},2213:function(i,d,t){var r=t(92986),n=t(3438),e=TypeError,o=Object.getOwnPropertyDescriptor,s=r&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(u){return u instanceof TypeError}}();i.exports=s?function(u,l){if(n(u)&&!o(u,"length").writable)throw new e("Cannot set read only .length");return u.length=l}:function(u,l){return u.length=l}},22806:function(i,d,t){var r=t(11286);i.exports=r([].slice)},13270:function(i,d,t){var r=t(22806),n=Math.floor,e=function(o,s){var u=o.length;if(u<8)for(var l=1,v,c;l<u;){for(c=l,v=o[l];c&&s(o[c-1],v)>0;)o[c]=o[--c];c!==l++&&(o[c]=v)}else for(var g=n(u/2),y=e(r(o,0,g),s),p=e(r(o,g),s),m=y.length,S=p.length,x=0,O=0;x<m||O<S;)o[x+O]=x<m&&O<S?s(y[x],p[O])<=0?y[x++]:p[O++]:x<m?y[x++]:p[O++];return o};i.exports=e},37555:function(i,d,t){var r=t(3438),n=t(11051),e=t(37540),o=t(18565),s=o("species"),u=Array;i.exports=function(l){var v;return r(l)&&(v=l.constructor,n(v)&&(v===u||r(v.prototype))?v=void 0:e(v)&&(v=v[s],v===null&&(v=void 0))),v===void 0?u:v}},62083:function(i,d,t){var r=t(37555);i.exports=function(n,e){return new(r(n))(e===0?0:e)}},61638:function(i,d,t){var r=t(82628);i.exports=function(n,e){for(var o=r(n),s=new e(o),u=0;u<o;u++)s[u]=n[o-u-1];return s}},72302:function(i,d,t){var r=t(82628),n=t(12105),e=RangeError;i.exports=function(o,s,u,l){var v=r(o),c=n(u),g=c<0?v+c:c;if(g>=v||g<0)throw new e("Incorrect index");for(var y=new s(v),p=0;p<v;p++)y[p]=p===g?l:o[p];return y}},6210:function(i){var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t=d+"+/",r=d+"-_",n=function(e){for(var o={},s=0;s<64;s++)o[e.charAt(s)]=s;return o};i.exports={i2c:t,c2i:n(t),i2cUrl:r,c2iUrl:n(r)}},39969:function(i,d,t){var r=t(25001),n=t(99797);i.exports=function(e,o,s,u){try{return u?o(r(s)[0],s[1]):o(s)}catch(l){n(e,"throw",l)}}},97494:function(i,d,t){var r=t(18565),n=r("iterator"),e=!1;try{var o=0,s={next:function(){return{done:!!o++}},return:function(){e=!0}};s[n]=function(){return this},Array.from(s,function(){throw 2})}catch(u){}i.exports=function(u,l){try{if(!l&&!e)return!1}catch(g){return!1}var v=!1;try{var c={};c[n]=function(){return{next:function(){return{done:v=!0}}}},u(c)}catch(g){}return v}},14274:function(i,d,t){var r=t(11286),n=r({}.toString),e=r("".slice);i.exports=function(o){return e(n(o),8,-1)}},9205:function(i,d,t){var r=t(67878),n=t(23583),e=t(14274),o=t(18565),s=o("toStringTag"),u=Object,l=e(function(){return arguments}())==="Arguments",v=function(c,g){try{return c[g]}catch(y){}};i.exports=r?e:function(c){var g,y,p;return c===void 0?"Undefined":c===null?"Null":typeof(y=v(g=u(c),s))=="string"?y:l?e(g):(p=e(g))==="Object"&&n(g.callee)?"Arguments":p}},34440:function(i,d,t){var r=t(5406),n=t(85500),e=t(2725),o=t(45526),s=t(12833),u=t(5683),l=t(55902),v=t(10218),c=t(10659),g=t(36167),y=t(92986),p=t(31853).fastKey,m=t(82367),S=m.set,x=m.getterFor;i.exports={getConstructor:function(O,P,T,R){var N=O(function(F,L){s(F,A),S(F,{type:P,index:r(null),first:null,last:null,size:0}),y||(F.size=0),u(L)||l(L,F[R],{that:F,AS_ENTRIES:T})}),A=N.prototype,C=x(P),D=function(F,L,G){var H=C(F),U=$(F,L),B,j;return U?U.value=G:(H.last=U={index:j=p(L,!0),key:L,value:G,previous:B=H.last,next:null,removed:!1},H.first||(H.first=U),B&&(B.next=U),y?H.size++:F.size++,j!=="F"&&(H.index[j]=U)),F},$=function(F,L){var G=C(F),H=p(L),U;if(H!=="F")return G.index[H];for(U=G.first;U;U=U.next)if(U.key===L)return U};return e(A,{clear:function(){for(var L=this,G=C(L),H=G.first;H;)H.removed=!0,H.previous&&(H.previous=H.previous.next=null),H=H.next;G.first=G.last=null,G.index=r(null),y?G.size=0:L.size=0},delete:function(F){var L=this,G=C(L),H=$(L,F);if(H){var U=H.next,B=H.previous;delete G.index[H.index],H.removed=!0,B&&(B.next=U),U&&(U.previous=B),G.first===H&&(G.first=U),G.last===H&&(G.last=B),y?G.size--:L.size--}return!!H},forEach:function(L){for(var G=C(this),H=o(L,arguments.length>1?arguments[1]:void 0),U;U=U?U.next:G.first;)for(H(U.value,U.key,this);U&&U.removed;)U=U.previous},has:function(L){return!!$(this,L)}}),e(A,T?{get:function(L){var G=$(this,L);return G&&G.value},set:function(L,G){return D(this,L===0?0:L,G)}}:{add:function(L){return D(this,L=L===0?0:L,L)}}),y&&n(A,"size",{configurable:!0,get:function(){return C(this).size}}),N},setStrong:function(O,P,T){var R=P+" Iterator",N=x(P),A=x(R);v(O,P,function(C,D){S(this,{type:R,target:C,state:N(C),kind:D,last:null})},function(){for(var C=A(this),D=C.kind,$=C.last;$&&$.removed;)$=$.previous;return!C.target||!(C.last=$=$?$.next:C.state.first)?(C.target=null,c(void 0,!0)):c(D==="keys"?$.key:D==="values"?$.value:[$.key,$.value],!1)},T?"entries":"values",!T,!0),g(P)}}},94667:function(i,d,t){var r=t(11286),n=t(2725),e=t(31853).getWeakData,o=t(12833),s=t(25001),u=t(5683),l=t(37540),v=t(55902),c=t(66655),g=t(94879),y=t(82367),p=y.set,m=y.getterFor,S=c.find,x=c.findIndex,O=r([].splice),P=0,T=function(A){return A.frozen||(A.frozen=new R)},R=function(){this.entries=[]},N=function(A,C){return S(A.entries,function(D){return D[0]===C})};R.prototype={get:function(A){var C=N(this,A);if(C)return C[1]},has:function(A){return!!N(this,A)},set:function(A,C){var D=N(this,A);D?D[1]=C:this.entries.push([A,C])},delete:function(A){var C=x(this.entries,function(D){return D[0]===A});return~C&&O(this.entries,C,1),!!~C}},i.exports={getConstructor:function(A,C,D,$){var F=A(function(U,B){o(U,L),p(U,{type:C,id:P++,frozen:null}),u(B)||v(B,U[$],{that:U,AS_ENTRIES:D})}),L=F.prototype,G=m(C),H=function(U,B,j){var z=G(U),Q=e(s(B),!0);return Q===!0?T(z).set(B,j):Q[z.id]=j,U};return n(L,{delete:function(U){var B=G(this);if(!l(U))return!1;var j=e(U);return j===!0?T(B).delete(U):j&&g(j,B.id)&&delete j[B.id]},has:function(B){var j=G(this);if(!l(B))return!1;var z=e(B);return z===!0?T(j).has(B):z&&g(z,j.id)}}),n(L,D?{get:function(B){var j=G(this);if(l(B)){var z=e(B);if(z===!0)return T(j).get(B);if(z)return z[j.id]}},set:function(B,j){return H(this,B,j)}}:{add:function(B){return H(this,B,!0)}}),F}}},89378:function(i,d,t){var r=t(14304),n=t(34246),e=t(11286),o=t(13278),s=t(16142),u=t(31853),l=t(55902),v=t(12833),c=t(23583),g=t(5683),y=t(37540),p=t(72069),m=t(97494),S=t(78401),x=t(32345);i.exports=function(O,P,T){var R=O.indexOf("Map")!==-1,N=O.indexOf("Weak")!==-1,A=R?"set":"add",C=n[O],D=C&&C.prototype,$=C,F={},L=function(Q){var X=e(D[Q]);s(D,Q,Q==="add"?function(Z){return X(this,Z===0?0:Z),this}:Q==="delete"?function(k){return N&&!y(k)?!1:X(this,k===0?0:k)}:Q==="get"?function(Z){return N&&!y(Z)?void 0:X(this,Z===0?0:Z)}:Q==="has"?function(Z){return N&&!y(Z)?!1:X(this,Z===0?0:Z)}:function(Z,gt){return X(this,Z===0?0:Z,gt),this})},G=o(O,!c(C)||!(N||D.forEach&&!p(function(){new C().entries().next()})));if(G)$=T.getConstructor(P,O,R,A),u.enable();else if(o(O,!0)){var H=new $,U=H[A](N?{}:-0,1)!==H,B=p(function(){H.has(1)}),j=m(function(Q){new C(Q)}),z=!N&&p(function(){for(var Q=new C,X=5;X--;)Q[A](X,X);return!Q.has(-0)});j||($=P(function(Q,X){v(Q,D);var k=x(new C,Q,$);return g(X)||l(X,k[A],{that:k,AS_ENTRIES:R}),k}),$.prototype=D,D.constructor=$),(B||z)&&(L("delete"),L("has"),R&&L("get")),(z||U)&&L(A),N&&D.clear&&delete D.clear}return F[O]=$,r({global:!0,constructor:!0,forced:$!==C},F),S($,O),N||T.setStrong($,O,R),$}},93706:function(i,d,t){var r=t(94879),n=t(16885),e=t(71349),o=t(7831);i.exports=function(s,u,l){for(var v=n(u),c=o.f,g=e.f,y=0;y<v.length;y++){var p=v[y];!r(s,p)&&!(l&&r(l,p))&&c(s,p,g(u,p))}}},8790:function(i,d,t){var r=t(18565),n=r("match");i.exports=function(e){var o=/./;try{"/./"[e](o)}catch(s){try{return o[n]=!1,"/./"[e](o)}catch(u){}}return!1}},87501:function(i,d,t){var r=t(72069);i.exports=!r(function(){function n(){}return n.prototype.constructor=null,Object.getPrototypeOf(new n)!==n.prototype})},68422:function(i,d,t){var r=t(11286),n=t(2068),e=t(17361),o=/"/g,s=r("".replace);i.exports=function(u,l,v,c){var g=e(n(u)),y="<"+l;return v!==""&&(y+=" "+v+'="'+s(e(c),o,""")+'"'),y+">"+g+"</"+l+">"}},10659:function(i){i.exports=function(d,t){return{value:d,done:t}}},90809:function(i,d,t){var r=t(92986),n=t(7831),e=t(18526);i.exports=r?function(o,s,u){return n.f(o,s,e(1,u))}:function(o,s,u){return o[s]=u,o}},18526:function(i){i.exports=function(d,t){return{enumerable:!(d&1),configurable:!(d&2),writable:!(d&4),value:t}}},84082:function(i,d,t){var r=t(92986),n=t(7831),e=t(18526);i.exports=function(o,s,u){r?n.f(o,s,e(0,u)):o[s]=u}},11890:function(i,d,t){var r=t(11286),n=t(72069),e=t(61607).start,o=RangeError,s=isFinite,u=Math.abs,l=Date.prototype,v=l.toISOString,c=r(l.getTime),g=r(l.getUTCDate),y=r(l.getUTCFullYear),p=r(l.getUTCHours),m=r(l.getUTCMilliseconds),S=r(l.getUTCMinutes),x=r(l.getUTCMonth),O=r(l.getUTCSeconds);i.exports=n(function(){return v.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!n(function(){v.call(new Date(NaN))})?function(){if(!s(c(this)))throw new o("Invalid time value");var T=this,R=y(T),N=m(T),A=R<0?"-":R>9999?"+":"";return A+e(u(R),A?6:4,0)+"-"+e(x(T)+1,2,0)+"-"+e(g(T),2,0)+"T"+e(p(T),2,0)+":"+e(S(T),2,0)+":"+e(O(T),2,0)+"."+e(N,3,0)+"Z"}:v},84306:function(i,d,t){var r=t(25001),n=t(2064),e=TypeError;i.exports=function(o){if(r(this),o==="string"||o==="default")o="string";else if(o!=="number")throw new e("Incorrect hint");return n(this,o)}},85500:function(i,d,t){var r=t(13749),n=t(7831);i.exports=function(e,o,s){return s.get&&r(s.get,o,{getter:!0}),s.set&&r(s.set,o,{setter:!0}),n.f(e,o,s)}},16142:function(i,d,t){var r=t(23583),n=t(7831),e=t(13749),o=t(36003);i.exports=function(s,u,l,v){v||(v={});var c=v.enumerable,g=v.name!==void 0?v.name:u;if(r(l)&&e(l,g,v),v.global)c?s[u]=l:o(u,l);else{try{v.unsafe?s[u]&&(c=!0):delete s[u]}catch(y){}c?s[u]=l:n.f(s,u,{value:l,enumerable:!1,configurable:!v.nonConfigurable,writable:!v.nonWritable})}return s}},2725:function(i,d,t){var r=t(16142);i.exports=function(n,e,o){for(var s in e)r(n,s,e[s],o);return n}},36003:function(i,d,t){var r=t(34246),n=Object.defineProperty;i.exports=function(e,o){try{n(r,e,{value:o,configurable:!0,writable:!0})}catch(s){r[e]=o}return o}},12384:function(i,d,t){var r=t(82453),n=TypeError;i.exports=function(e,o){if(!delete e[o])throw new n("Cannot delete property "+r(o)+" of "+r(e))}},92986:function(i,d,t){var r=t(72069);i.exports=!r(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},63741:function(i,d,t){var r=t(34246),n=t(81191),e=t(99050),o=r.structuredClone,s=r.ArrayBuffer,u=r.MessageChannel,l=!1,v,c,g,y;if(e)l=function(p){o(p,{transfer:[p]})};else if(s)try{u||(v=n("worker_threads"),v&&(u=v.MessageChannel)),u&&(c=new u,g=new s(2),y=function(p){c.port1.postMessage(null,[p])},g.byteLength===2&&(y(g),g.byteLength===0&&(l=y)))}catch(p){}i.exports=l},85501:function(i,d,t){var r=t(34246),n=t(37540),e=r.document,o=n(e)&&n(e.createElement);i.exports=function(s){return o?e.createElement(s):{}}},20095:function(i){var d=TypeError,t=9007199254740991;i.exports=function(r){if(r>t)throw d("Maximum allowed index exceeded");return r}},74408:function(i){i.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},93014:function(i){i.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},39882:function(i,d,t){var r=t(85501),n=r("span").classList,e=n&&n.constructor&&n.constructor.prototype;i.exports=e===Object.prototype?void 0:e},75785:function(i){i.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},507:function(i,d,t){var r=t(18257),n=r.match(/firefox\/(\d+)/i);i.exports=!!n&&+n[1]},17417:function(i,d,t){var r=t(18257);i.exports=/MSIE|Trident/.test(r)},7307:function(i,d,t){var r=t(18257);i.exports=/ipad|iphone|ipod/i.test(r)&&typeof Pebble!="undefined"},5286:function(i,d,t){var r=t(18257);i.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(r)},91707:function(i,d,t){var r=t(21501);i.exports=r==="NODE"},67722:function(i,d,t){var r=t(18257);i.exports=/web0s(?!.*chrome)/i.test(r)},18257:function(i,d,t){var r=t(34246),n=r.navigator,e=n&&n.userAgent;i.exports=e?String(e):""},44241:function(i,d,t){var r=t(34246),n=t(18257),e=r.process,o=r.Deno,s=e&&e.versions||o&&o.version,u=s&&s.v8,l,v;u&&(l=u.split("."),v=l[0]>0&&l[0]<4?1:+(l[0]+l[1])),!v&&n&&(l=n.match(/Edge\/(\d+)/),(!l||l[1]>=74)&&(l=n.match(/Chrome\/(\d+)/),l&&(v=+l[1]))),i.exports=v},66577:function(i,d,t){var r=t(18257),n=r.match(/AppleWebKit\/(\d+)\./);i.exports=!!n&&+n[1]},21501:function(i,d,t){var r=t(34246),n=t(18257),e=t(14274),o=function(s){return n.slice(0,s.length)===s};i.exports=function(){return o("Bun/")?"BUN":o("Cloudflare-Workers")?"CLOUDFLARE":o("Deno/")?"DENO":o("Node.js/")?"NODE":r.Bun&&typeof Bun.version=="string"?"BUN":r.Deno&&typeof Deno.version=="object"?"DENO":e(r.process)==="process"?"NODE":r.window&&r.document?"BROWSER":"REST"}()},40851:function(i,d,t){var r=t(11286),n=Error,e=r("".replace),o=function(l){return String(new n(l).stack)}("zxcasd"),s=/\n\s*at [^:]*:[^\n]*/,u=s.test(o);i.exports=function(l,v){if(u&&typeof l=="string"&&!n.prepareStackTrace)for(;v--;)l=e(l,s,"");return l}},97077:function(i,d,t){var r=t(90809),n=t(40851),e=t(16929),o=Error.captureStackTrace;i.exports=function(s,u,l,v){e&&(o?o(s,u):r(s,"stack",n(l,v)))}},16929:function(i,d,t){var r=t(72069),n=t(18526);i.exports=!r(function(){var e=new Error("a");return"stack"in e?(Object.defineProperty(e,"stack",n(1,7)),e.stack!==7):!0})},58434:function(i,d,t){var r=t(92986),n=t(72069),e=t(25001),o=t(15453),s=Error.prototype.toString,u=n(function(){if(r){var l=Object.create(Object.defineProperty({},"name",{get:function(){return this===l}}));if(s.call(l)!=="true")return!0}return s.call({message:1,name:2})!=="2: 1"||s.call({})!=="Error"});i.exports=u?function(){var v=e(this),c=o(v.name,"Error"),g=o(v.message);return c?g?c+": "+g:c:g}:s},14304:function(i,d,t){var r=t(34246),n=t(71349).f,e=t(90809),o=t(16142),s=t(36003),u=t(93706),l=t(13278);i.exports=function(v,c){var g=v.target,y=v.global,p=v.stat,m,S,x,O,P,T;if(y?S=r:p?S=r[g]||s(g,{}):S=r[g]&&r[g].prototype,S)for(x in c){if(P=c[x],v.dontCallGetSet?(T=n(S,x),O=T&&T.value):O=S[x],m=l(y?x:g+(p?".":"#")+x,v.forced),!m&&O!==void 0){if(typeof P==typeof O)continue;u(P,O)}(v.sham||O&&O.sham)&&e(P,"sham",!0),o(S,x,P,v)}}},72069:function(i){i.exports=function(d){try{return!!d()}catch(t){return!0}}},63194:function(i,d,t){t(31145);var r=t(96499),n=t(16142),e=t(44381),o=t(72069),s=t(18565),u=t(90809),l=s("species"),v=RegExp.prototype;i.exports=function(c,g,y,p){var m=s(c),S=!o(function(){var T={};return T[m]=function(){return 7},""[c](T)!==7}),x=S&&!o(function(){var T=!1,R=/a/;return c==="split"&&(R={},R.constructor={},R.constructor[l]=function(){return R},R.flags="",R[m]=/./[m]),R.exec=function(){return T=!0,null},R[m](""),!T});if(!S||!x||y){var O=/./[m],P=g(m,""[c],function(T,R,N,A,C){var D=R.exec;return D===e||D===v.exec?S&&!C?{done:!0,value:r(O,R,N,A)}:{done:!0,value:r(T,N,R,A)}:{done:!1}});n(String.prototype,c,P[0]),n(v,m,P[1])}p&&u(v[m],"sham",!0)}},53149:function(i,d,t){var r=t(3438),n=t(82628),e=t(20095),o=t(45526),s=function(u,l,v,c,g,y,p,m){for(var S=g,x=0,O=p?o(p,m):!1,P,T;x<c;)x in v&&(P=O?O(v[x],x,l):v[x],y>0&&r(P)?(T=n(P),S=s(u,l,P,T,S,y-1)-1):(e(S+1),u[S]=P),S++),x++;return S};i.exports=s},27534:function(i,d,t){var r=t(72069);i.exports=!r(function(){return Object.isExtensible(Object.preventExtensions({}))})},66543:function(i,d,t){var r=t(87878),n=Function.prototype,e=n.apply,o=n.call;i.exports=typeof Reflect=="object"&&Reflect.apply||(r?o.bind(e):function(){return o.apply(e,arguments)})},45526:function(i,d,t){var r=t(77422),n=t(85156),e=t(87878),o=r(r.bind);i.exports=function(s,u){return n(s),u===void 0?s:e?o(s,u):function(){return s.apply(u,arguments)}}},87878:function(i,d,t){var r=t(72069);i.exports=!r(function(){var n=function(){}.bind();return typeof n!="function"||n.hasOwnProperty("prototype")})},91384:function(i,d,t){var r=t(11286),n=t(85156),e=t(37540),o=t(94879),s=t(22806),u=t(87878),l=Function,v=r([].concat),c=r([].join),g={},y=function(p,m,S){if(!o(g,m)){for(var x=[],O=0;O<m;O++)x[O]="a["+O+"]";g[m]=l("C,a","return new C("+c(x,",")+")")}return g[m](p,S)};i.exports=u?l.bind:function(m){var S=n(this),x=S.prototype,O=s(arguments,1),P=function(){var R=v(O,s(arguments));return this instanceof P?y(S,R.length,R):S.apply(m,R)};return e(x)&&(P.prototype=x),P}},96499:function(i,d,t){var r=t(87878),n=Function.prototype.call;i.exports=r?n.bind(n):function(){return n.apply(n,arguments)}},86588:function(i,d,t){var r=t(92986),n=t(94879),e=Function.prototype,o=r&&Object.getOwnPropertyDescriptor,s=n(e,"name"),u=s&&function(){}.name==="something",l=s&&(!r||r&&o(e,"name").configurable);i.exports={EXISTS:s,PROPER:u,CONFIGURABLE:l}},84756:function(i,d,t){var r=t(11286),n=t(85156);i.exports=function(e,o,s){try{return r(n(Object.getOwnPropertyDescriptor(e,o)[s]))}catch(u){}}},77422:function(i,d,t){var r=t(14274),n=t(11286);i.exports=function(e){if(r(e)==="Function")return n(e)}},11286:function(i,d,t){var r=t(87878),n=Function.prototype,e=n.call,o=r&&n.bind.bind(e,e);i.exports=r?o:function(s){return function(){return e.apply(s,arguments)}}},81191:function(i,d,t){var r=t(34246),n=t(91707);i.exports=function(e){if(n){try{return r.process.getBuiltinModule(e)}catch(o){}try{return Function('return require("'+e+'")')()}catch(o){}}}},65470:function(i,d,t){var r=t(34246);i.exports=function(n,e){var o=r[n],s=o&&o.prototype;return s&&s[e]}},38941:function(i,d,t){var r=t(34246),n=t(23583),e=function(o){return n(o)?o:void 0};i.exports=function(o,s){return arguments.length<2?e(r[o]):r[o]&&r[o][s]}},10613:function(i){i.exports=function(d){return{iterator:d,next:d.next,done:!1}}},12124:function(i,d,t){var r=t(96499),n=t(25001),e=t(10613),o=t(81077);i.exports=function(s,u){(!u||typeof s!="string")&&n(s);var l=o(s);return e(n(l!==void 0?r(l,s):s))}},81077:function(i,d,t){var r=t(9205),n=t(10512),e=t(5683),o=t(29107),s=t(18565),u=s("iterator");i.exports=function(l){if(!e(l))return n(l,u)||n(l,"@@iterator")||o[r(l)]}},90619:function(i,d,t){var r=t(96499),n=t(85156),e=t(25001),o=t(82453),s=t(81077),u=TypeError;i.exports=function(l,v){var c=arguments.length<2?s(l):v;if(n(c))return e(r(c,l));throw new u(o(l)+" is not iterable")}},10443:function(i,d,t){var r=t(11286),n=t(3438),e=t(23583),o=t(14274),s=t(17361),u=r([].push);i.exports=function(l){if(e(l))return l;if(n(l)){for(var v=l.length,c=[],g=0;g<v;g++){var y=l[g];typeof y=="string"?u(c,y):(typeof y=="number"||o(y)==="Number"||o(y)==="String")&&u(c,s(y))}var p=c.length,m=!0;return function(S,x){if(m)return m=!1,x;if(n(this))return x;for(var O=0;O<p;O++)if(c[O]===S)return x}}}},10512:function(i,d,t){var r=t(85156),n=t(5683);i.exports=function(e,o){var s=e[o];return n(s)?void 0:r(s)}},65263:function(i,d,t){var r=t(85156),n=t(25001),e=t(96499),o=t(12105),s=t(10613),u="Invalid size",l=RangeError,v=TypeError,c=Math.max,g=function(y,p){this.set=y,this.size=c(p,0),this.has=r(y.has),this.keys=r(y.keys)};g.prototype={getIterator:function(){return s(n(e(this.keys,this.set)))},includes:function(y){return e(this.has,this.set,y)}},i.exports=function(y){n(y);var p=+y.size;if(p!==p)throw new v(u);var m=o(p);if(m<0)throw new l(u);return new g(y,m)}},38368:function(i,d,t){var r=t(11286),n=t(49671),e=Math.floor,o=r("".charAt),s=r("".replace),u=r("".slice),l=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,v=/\$([$&'`]|\d{1,2})/g;i.exports=function(c,g,y,p,m,S){var x=y+c.length,O=p.length,P=v;return m!==void 0&&(m=n(m),P=l),s(S,P,function(T,R){var N;switch(o(R,0)){case"$":return"$";case"&":return c;case"`":return u(g,0,y);case"'":return u(g,x);case"<":N=m[u(R,1,-1)];break;default:var A=+R;if(A===0)return T;if(A>O){var C=e(A/10);return C===0?T:C<=O?p[C-1]===void 0?o(R,1):p[C-1]+o(R,1):T}N=p[A-1]}return N===void 0?"":N})}},34246:function(i){var d=function(t){return t&&t.Math===Math&&t};i.exports=d(typeof globalThis=="object"&&globalThis)||d(typeof window=="object"&&window)||d(typeof self=="object"&&self)||d(typeof global=="object"&&global)||d(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},94879:function(i,d,t){var r=t(11286),n=t(49671),e=r({}.hasOwnProperty);i.exports=Object.hasOwn||function(s,u){return e(n(s),u)}},19423:function(i){i.exports={}},99095:function(i){i.exports=function(d,t){try{arguments.length===1?console.error(d):console.error(d,t)}catch(r){}}},96439:function(i,d,t){var r=t(38941);i.exports=r("document","documentElement")},52515:function(i,d,t){var r=t(92986),n=t(72069),e=t(85501);i.exports=!r&&!n(function(){return Object.defineProperty(e("div"),"a",{get:function(){return 7}}).a!==7})},25212:function(i){var d=Array,t=Math.abs,r=Math.pow,n=Math.floor,e=Math.log,o=Math.LN2,s=function(l,v,c){var g=d(c),y=c*8-v-1,p=(1<<y)-1,m=p>>1,S=v===23?r(2,-24)-r(2,-77):0,x=l<0||l===0&&1/l<0?1:0,O=0,P,T,R;for(l=t(l),l!==l||l===1/0?(T=l!==l?1:0,P=p):(P=n(e(l)/o),R=r(2,-P),l*R<1&&(P--,R*=2),P+m>=1?l+=S/R:l+=S*r(2,1-m),l*R>=2&&(P++,R/=2),P+m>=p?(T=0,P=p):P+m>=1?(T=(l*R-1)*r(2,v),P+=m):(T=l*r(2,m-1)*r(2,v),P=0));v>=8;)g[O++]=T&255,T/=256,v-=8;for(P=P<<v|T,y+=v;y>0;)g[O++]=P&255,P/=256,y-=8;return g[O-1]|=x*128,g},u=function(l,v){var c=l.length,g=c*8-v-1,y=(1<<g)-1,p=y>>1,m=g-7,S=c-1,x=l[S--],O=x&127,P;for(x>>=7;m>0;)O=O*256+l[S--],m-=8;for(P=O&(1<<-m)-1,O>>=-m,m+=v;m>0;)P=P*256+l[S--],m-=8;if(O===0)O=1-p;else{if(O===y)return P?NaN:x?-1/0:1/0;P+=r(2,v),O-=p}return(x?-1:1)*P*r(2,O-v)};i.exports={pack:s,unpack:u}},72181:function(i,d,t){var r=t(11286),n=t(72069),e=t(14274),o=Object,s=r("".split);i.exports=n(function(){return!o("z").propertyIsEnumerable(0)})?function(u){return e(u)==="String"?s(u,""):o(u)}:o},32345:function(i,d,t){var r=t(23583),n=t(37540),e=t(15861);i.exports=function(o,s,u){var l,v;return e&&r(l=s.constructor)&&l!==u&&n(v=l.prototype)&&v!==u.prototype&&e(o,v),o}},84352:function(i,d,t){var r=t(11286),n=t(23583),e=t(70443),o=r(Function.toString);n(e.inspectSource)||(e.inspectSource=function(s){return o(s)}),i.exports=e.inspectSource},31486:function(i,d,t){var r=t(37540),n=t(90809);i.exports=function(e,o){r(o)&&"cause"in o&&n(e,"cause",o.cause)}},31853:function(i,d,t){var r=t(14304),n=t(11286),e=t(19423),o=t(37540),s=t(94879),u=t(7831).f,l=t(83258),v=t(92880),c=t(28174),g=t(36374),y=t(27534),p=!1,m=g("meta"),S=0,x=function(A){u(A,m,{value:{objectID:"O"+S++,weakData:{}}})},O=function(A,C){if(!o(A))return typeof A=="symbol"?A:(typeof A=="string"?"S":"P")+A;if(!s(A,m)){if(!c(A))return"F";if(!C)return"E";x(A)}return A[m].objectID},P=function(A,C){if(!s(A,m)){if(!c(A))return!0;if(!C)return!1;x(A)}return A[m].weakData},T=function(A){return y&&p&&c(A)&&!s(A,m)&&x(A),A},R=function(){N.enable=function(){},p=!0;var A=l.f,C=n([].splice),D={};D[m]=1,A(D).length&&(l.f=function($){for(var F=A($),L=0,G=F.length;L<G;L++)if(F[L]===m){C(F,L,1);break}return F},r({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:v.f}))},N=i.exports={enable:R,fastKey:O,getWeakData:P,onFreeze:T};e[m]=!0},82367:function(i,d,t){var r=t(42960),n=t(34246),e=t(37540),o=t(90809),s=t(94879),u=t(70443),l=t(44869),v=t(19423),c="Object already initialized",g=n.TypeError,y=n.WeakMap,p,m,S,x=function(R){return S(R)?m(R):p(R,{})},O=function(R){return function(N){var A;if(!e(N)||(A=m(N)).type!==R)throw new g("Incompatible receiver, "+R+" required");return A}};if(r||u.state){var P=u.state||(u.state=new y);P.get=P.get,P.has=P.has,P.set=P.set,p=function(R,N){if(P.has(R))throw new g(c);return N.facade=R,P.set(R,N),N},m=function(R){return P.get(R)||{}},S=function(R){return P.has(R)}}else{var T=l("state");v[T]=!0,p=function(R,N){if(s(R,T))throw new g(c);return N.facade=R,o(R,T,N),N},m=function(R){return s(R,T)?R[T]:{}},S=function(R){return s(R,T)}}i.exports={set:p,get:m,has:S,enforce:x,getterFor:O}},48199:function(i,d,t){var r=t(18565),n=t(29107),e=r("iterator"),o=Array.prototype;i.exports=function(s){return s!==void 0&&(n.Array===s||o[e]===s)}},3438:function(i,d,t){var r=t(14274);i.exports=Array.isArray||function(e){return r(e)==="Array"}},77129:function(i,d,t){var r=t(9205);i.exports=function(n){var e=r(n);return e==="BigInt64Array"||e==="BigUint64Array"}},23583:function(i){var d=typeof document=="object"&&document.all;i.exports=typeof d=="undefined"&&d!==void 0?function(t){return typeof t=="function"||t===d}:function(t){return typeof t=="function"}},11051:function(i,d,t){var r=t(11286),n=t(72069),e=t(23583),o=t(9205),s=t(38941),u=t(84352),l=function(){},v=s("Reflect","construct"),c=/^\s*(?:class|function)\b/,g=r(c.exec),y=!c.test(l),p=function(x){if(!e(x))return!1;try{return v(l,[],x),!0}catch(O){return!1}},m=function(x){if(!e(x))return!1;switch(o(x)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return y||!!g(c,u(x))}catch(O){return!0}};m.sham=!0,i.exports=!v||n(function(){var S;return p(p.call)||!p(Object)||!p(function(){S=!0})||S})?m:p},69745:function(i,d,t){var r=t(94879);i.exports=function(n){return n!==void 0&&(r(n,"value")||r(n,"writable"))}},13278:function(i,d,t){var r=t(72069),n=t(23583),e=/#|\.prototype\./,o=function(c,g){var y=u[s(c)];return y===v?!0:y===l?!1:n(g)?r(g):!!g},s=o.normalize=function(c){return String(c).replace(e,".").toLowerCase()},u=o.data={},l=o.NATIVE="N",v=o.POLYFILL="P";i.exports=o},613:function(i,d,t){var r=t(37540),n=Math.floor;i.exports=Number.isInteger||function(o){return!r(o)&&isFinite(o)&&n(o)===o}},5683:function(i){i.exports=function(d){return d==null}},37540:function(i,d,t){var r=t(23583);i.exports=function(n){return typeof n=="object"?n!==null:r(n)}},52427:function(i,d,t){var r=t(37540);i.exports=function(n){return r(n)||n===null}},70457:function(i){i.exports=!1},11566:function(i,d,t){var r=t(37540),n=t(14274),e=t(18565),o=e("match");i.exports=function(s){var u;return r(s)&&((u=s[o])!==void 0?!!u:n(s)==="RegExp")}},491:function(i,d,t){var r=t(38941),n=t(23583),e=t(95307),o=t(50234),s=Object;i.exports=o?function(u){return typeof u=="symbol"}:function(u){var l=r("Symbol");return n(l)&&e(l.prototype,s(u))}},9573:function(i,d,t){var r=t(96499);i.exports=function(n,e,o){for(var s=o?n:n.iterator,u=n.next,l,v;!(l=r(u,s)).done;)if(v=e(l.value),v!==void 0)return v}},55902:function(i,d,t){var r=t(45526),n=t(96499),e=t(25001),o=t(82453),s=t(48199),u=t(82628),l=t(95307),v=t(90619),c=t(81077),g=t(99797),y=TypeError,p=function(S,x){this.stopped=S,this.result=x},m=p.prototype;i.exports=function(S,x,O){var P=O&&O.that,T=!!(O&&O.AS_ENTRIES),R=!!(O&&O.IS_RECORD),N=!!(O&&O.IS_ITERATOR),A=!!(O&&O.INTERRUPTED),C=r(x,P),D,$,F,L,G,H,U,B=function(z){return D&&g(D,"normal",z),new p(!0,z)},j=function(z){return T?(e(z),A?C(z[0],z[1],B):C(z[0],z[1])):A?C(z,B):C(z)};if(R)D=S.iterator;else if(N)D=S;else{if($=c(S),!$)throw new y(o(S)+" is not iterable");if(s($)){for(F=0,L=u(S);L>F;F++)if(G=j(S[F]),G&&l(m,G))return G;return new p(!1)}D=v(S,$)}for(H=R?S.next:D.next;!(U=n(H,D)).done;){try{G=j(U.value)}catch(z){g(D,"throw",z)}if(typeof G=="object"&&G&&l(m,G))return G}return new p(!1)}},99797:function(i,d,t){var r=t(96499),n=t(25001),e=t(10512);i.exports=function(o,s,u){var l,v;n(o);try{if(l=e(o,"return"),!l){if(s==="throw")throw u;return u}l=r(l,o)}catch(c){v=!0,l=c}if(s==="throw")throw u;if(v)throw l;return n(l),u}},26820:function(i,d,t){var r=t(24519).IteratorPrototype,n=t(5406),e=t(18526),o=t(78401),s=t(29107),u=function(){return this};i.exports=function(l,v,c,g){var y=v+" Iterator";return l.prototype=n(r,{next:e(+!g,c)}),o(l,y,!1,!0),s[y]=u,l}},44736:function(i,d,t){var r=t(96499),n=t(5406),e=t(90809),o=t(2725),s=t(18565),u=t(82367),l=t(10512),v=t(24519).IteratorPrototype,c=t(10659),g=t(99797),y=s("toStringTag"),p="IteratorHelper",m="WrapForValidIterator",S=u.set,x=function(T){var R=u.getterFor(T?m:p);return o(n(v),{next:function(){var A=R(this);if(T)return A.nextHandler();try{var C=A.done?void 0:A.nextHandler();return c(C,A.done)}catch(D){throw A.done=!0,D}},return:function(){var N=R(this),A=N.iterator;if(N.done=!0,T){var C=l(A,"return");return C?r(C,A):c(void 0,!0)}if(N.inner)try{g(N.inner.iterator,"normal")}catch(D){return g(A,"throw",D)}return A&&g(A,"normal"),c(void 0,!0)}})},O=x(!0),P=x(!1);e(P,y,"Iterator Helper"),i.exports=function(T,R){var N=function(C,D){D?(D.iterator=C.iterator,D.next=C.next):D=C,D.type=R?m:p,D.nextHandler=T,D.counter=0,D.done=!1,S(this,D)};return N.prototype=R?O:P,N}},10218:function(i,d,t){var r=t(14304),n=t(96499),e=t(70457),o=t(86588),s=t(23583),u=t(26820),l=t(26313),v=t(15861),c=t(78401),g=t(90809),y=t(16142),p=t(18565),m=t(29107),S=t(24519),x=o.PROPER,O=o.CONFIGURABLE,P=S.IteratorPrototype,T=S.BUGGY_SAFARI_ITERATORS,R=p("iterator"),N="keys",A="values",C="entries",D=function(){return this};i.exports=function($,F,L,G,H,U,B){u(L,F,G);var j=function(Rt){if(Rt===H&&Z)return Z;if(!T&&Rt&&Rt in X)return X[Rt];switch(Rt){case N:return function(){return new L(this,Rt)};case A:return function(){return new L(this,Rt)};case C:return function(){return new L(this,Rt)}}return function(){return new L(this)}},z=F+" Iterator",Q=!1,X=$.prototype,k=X[R]||X["@@iterator"]||H&&X[H],Z=!T&&k||j(H),gt=F==="Array"&&X.entries||k,lt,yt,Ot;if(gt&&(lt=l(gt.call(new $)),lt!==Object.prototype&<.next&&(!e&&l(lt)!==P&&(v?v(lt,P):s(lt[R])||y(lt,R,D)),c(lt,z,!0,!0),e&&(m[z]=D))),x&&H===A&&k&&k.name!==A&&(!e&&O?g(X,"name",A):(Q=!0,Z=function(){return n(k,this)})),H)if(yt={values:j(A),keys:U?Z:j(N),entries:j(C)},B)for(Ot in yt)(T||Q||!(Ot in X))&&y(X,Ot,yt[Ot]);else r({target:F,proto:!0,forced:T||Q},yt);return(!e||B)&&X[R]!==Z&&y(X,R,Z,{name:H}),m[F]=Z,yt}},96191:function(i,d,t){var r=t(96499),n=t(85156),e=t(25001),o=t(10613),s=t(44736),u=t(39969),l=s(function(){var v=this.iterator,c=e(r(this.next,v)),g=this.done=!!c.done;if(!g)return u(v,this.mapper,[c.value,this.counter++],!0)});i.exports=function(c){return e(this),n(c),new l(o(this),{mapper:c})}},24519:function(i,d,t){var r=t(72069),n=t(23583),e=t(37540),o=t(5406),s=t(26313),u=t(16142),l=t(18565),v=t(70457),c=l("iterator"),g=!1,y,p,m;[].keys&&(m=[].keys(),"next"in m?(p=s(s(m)),p!==Object.prototype&&(y=p)):g=!0);var S=!e(y)||r(function(){var x={};return y[c].call(x)!==x});S?y={}:v&&(y=o(y)),n(y[c])||u(y,c,function(){return this}),i.exports={IteratorPrototype:y,BUGGY_SAFARI_ITERATORS:g}},29107:function(i){i.exports={}},82628:function(i,d,t){var r=t(45344);i.exports=function(n){return r(n.length)}},13749:function(i,d,t){var r=t(11286),n=t(72069),e=t(23583),o=t(94879),s=t(92986),u=t(86588).CONFIGURABLE,l=t(84352),v=t(82367),c=v.enforce,g=v.get,y=String,p=Object.defineProperty,m=r("".slice),S=r("".replace),x=r([].join),O=s&&!n(function(){return p(function(){},"length",{value:8}).length!==8}),P=String(String).split("String"),T=i.exports=function(R,N,A){m(y(N),0,7)==="Symbol("&&(N="["+S(y(N),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),A&&A.getter&&(N="get "+N),A&&A.setter&&(N="set "+N),(!o(R,"name")||u&&R.name!==N)&&(s?p(R,"name",{value:N,configurable:!0}):R.name=N),O&&A&&o(A,"arity")&&R.length!==A.arity&&p(R,"length",{value:A.arity});try{A&&o(A,"constructor")&&A.constructor?s&&p(R,"prototype",{writable:!1}):R.prototype&&(R.prototype=void 0)}catch(D){}var C=c(R);return o(C,"source")||(C.source=x(P,typeof N=="string"?N:"")),R};Function.prototype.toString=T(function(){return e(this)&&g(this).source||l(this)},"toString")},1774:function(i,d,t){var r=t(11286),n=Map.prototype;i.exports={Map,set:r(n.set),get:r(n.get),has:r(n.has),remove:r(n.delete),proto:n}},98940:function(i){var d=Math.expm1,t=Math.exp;i.exports=!d||d(10)>22025.465794806718||d(10)<22025.465794806718||d(-2e-17)!==-2e-17?function(n){var e=+n;return e===0?e:e>-1e-6&&e<1e-6?e+e*e/2:t(e)-1}:d},10418:function(i,d,t){var r=t(93976),n=Math.abs,e=2220446049250313e-31,o=1/e,s=function(u){return u+o-o};i.exports=function(u,l,v,c){var g=+u,y=n(g),p=r(g);if(y<c)return p*s(y/c/l)*c*l;var m=(1+l/e)*y,S=m-(m-y);return S>v||S!==S?p*(1/0):p*S}},93279:function(i,d,t){var r=t(10418),n=11920928955078125e-23,e=34028234663852886e22,o=11754943508222875e-54;i.exports=Math.fround||function(u){return r(u,n,e,o)}},41942:function(i){var d=Math.log,t=Math.LOG10E;i.exports=Math.log10||function(n){return d(n)*t}},49366:function(i){var d=Math.log;i.exports=Math.log1p||function(r){var n=+r;return n>-1e-8&&n<1e-8?n-n*n/2:d(1+n)}},93976:function(i){i.exports=Math.sign||function(t){var r=+t;return r===0||r!==r?r:r<0?-1:1}},22459:function(i){var d=Math.ceil,t=Math.floor;i.exports=Math.trunc||function(n){var e=+n;return(e>0?t:d)(e)}},9709:function(i,d,t){var r=t(34246),n=t(28167),e=t(45526),o=t(23115).set,s=t(76895),u=t(5286),l=t(7307),v=t(67722),c=t(91707),g=r.MutationObserver||r.WebKitMutationObserver,y=r.document,p=r.process,m=r.Promise,S=n("queueMicrotask"),x,O,P,T,R;if(!S){var N=new s,A=function(){var C,D;for(c&&(C=p.domain)&&C.exit();D=N.get();)try{D()}catch($){throw N.head&&x(),$}C&&C.enter()};!u&&!c&&!v&&g&&y?(O=!0,P=y.createTextNode(""),new g(A).observe(P,{characterData:!0}),x=function(){P.data=O=!O}):!l&&m&&m.resolve?(T=m.resolve(void 0),T.constructor=m,R=e(T.then,T),x=function(){R(A)}):c?x=function(){p.nextTick(A)}:(o=e(o,r),x=function(){o(A)}),S=function(C){N.head||x(),N.add(C)}}i.exports=S},24649:function(i,d,t){var r=t(85156),n=TypeError,e=function(o){var s,u;this.promise=new o(function(l,v){if(s!==void 0||u!==void 0)throw new n("Bad Promise constructor");s=l,u=v}),this.resolve=r(s),this.reject=r(u)};i.exports.f=function(o){return new e(o)}},15453:function(i,d,t){var r=t(17361);i.exports=function(n,e){return n===void 0?arguments.length<2?"":e:r(n)}},93483:function(i){var d=RangeError;i.exports=function(t){if(t===t)return t;throw new d("NaN is not allowed")}},92337:function(i,d,t){var r=t(11566),n=TypeError;i.exports=function(e){if(r(e))throw new n("The method doesn't accept regular expressions");return e}},98074:function(i,d,t){var r=t(34246),n=r.isFinite;i.exports=Number.isFinite||function(o){return typeof o=="number"&&n(o)}},25838:function(i,d,t){var r=t(34246),n=t(72069),e=t(11286),o=t(17361),s=t(85900).trim,u=t(77082),l=e("".charAt),v=r.parseFloat,c=r.Symbol,g=c&&c.iterator,y=1/v(u+"-0")!==-1/0||g&&!n(function(){v(Object(g))});i.exports=y?function(m){var S=s(o(m)),x=v(S);return x===0&&l(S,0)==="-"?-0:x}:v},23009:function(i,d,t){var r=t(34246),n=t(72069),e=t(11286),o=t(17361),s=t(85900).trim,u=t(77082),l=r.parseInt,v=r.Symbol,c=v&&v.iterator,g=/^[+-]?0x/i,y=e(g.exec),p=l(u+"08")!==8||l(u+"0x16")!==22||c&&!n(function(){l(Object(c))});i.exports=p?function(S,x){var O=s(o(S));return l(O,x>>>0||(y(g,O)?16:10))}:l},16667:function(i,d,t){var r=t(92986),n=t(11286),e=t(96499),o=t(72069),s=t(18350),u=t(24943),l=t(79591),v=t(49671),c=t(72181),g=Object.assign,y=Object.defineProperty,p=n([].concat);i.exports=!g||o(function(){if(r&&g({b:1},g(y({},"a",{enumerable:!0,get:function(){y(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var m={},S={},x=Symbol("assign detection"),O="abcdefghijklmnopqrst";return m[x]=7,O.split("").forEach(function(P){S[P]=P}),g({},m)[x]!==7||s(g({},S)).join("")!==O})?function(S,x){for(var O=v(S),P=arguments.length,T=1,R=u.f,N=l.f;P>T;)for(var A=c(arguments[T++]),C=R?p(s(A),R(A)):s(A),D=C.length,$=0,F;D>$;)F=C[$++],(!r||e(N,A,F))&&(O[F]=A[F]);return O}:g},5406:function(i,d,t){var r=t(25001),n=t(61963),e=t(75785),o=t(19423),s=t(96439),u=t(85501),l=t(44869),v=">",c="<",g="prototype",y="script",p=l("IE_PROTO"),m=function(){},S=function(R){return c+y+v+R+c+"/"+y+v},x=function(R){R.write(S("")),R.close();var N=R.parentWindow.Object;return R=null,N},O=function(){var R=u("iframe"),N="java"+y+":",A;return R.style.display="none",s.appendChild(R),R.src=String(N),A=R.contentWindow.document,A.open(),A.write(S("document.F=Object")),A.close(),A.F},P,T=function(){try{P=new ActiveXObject("htmlfile")}catch(N){}T=typeof document!="undefined"?document.domain&&P?x(P):O():x(P);for(var R=e.length;R--;)delete T[g][e[R]];return T()};o[p]=!0,i.exports=Object.create||function(N,A){var C;return N!==null?(m[g]=r(N),C=new m,m[g]=null,C[p]=N):C=T(),A===void 0?C:n.f(C,A)}},61963:function(i,d,t){var r=t(92986),n=t(356),e=t(7831),o=t(25001),s=t(36859),u=t(18350);d.f=r&&!n?Object.defineProperties:function(v,c){o(v);for(var g=s(c),y=u(c),p=y.length,m=0,S;p>m;)e.f(v,S=y[m++],g[S]);return v}},7831:function(i,d,t){var r=t(92986),n=t(52515),e=t(356),o=t(25001),s=t(50035),u=TypeError,l=Object.defineProperty,v=Object.getOwnPropertyDescriptor,c="enumerable",g="configurable",y="writable";d.f=r?e?function(m,S,x){if(o(m),S=s(S),o(x),typeof m=="function"&&S==="prototype"&&"value"in x&&y in x&&!x[y]){var O=v(m,S);O&&O[y]&&(m[S]=x.value,x={configurable:g in x?x[g]:O[g],enumerable:c in x?x[c]:O[c],writable:!1})}return l(m,S,x)}:l:function(m,S,x){if(o(m),S=s(S),o(x),n)try{return l(m,S,x)}catch(O){}if("get"in x||"set"in x)throw new u("Accessors not supported");return"value"in x&&(m[S]=x.value),m}},71349:function(i,d,t){var r=t(92986),n=t(96499),e=t(79591),o=t(18526),s=t(36859),u=t(50035),l=t(94879),v=t(52515),c=Object.getOwnPropertyDescriptor;d.f=r?c:function(y,p){if(y=s(y),p=u(p),v)try{return c(y,p)}catch(m){}if(l(y,p))return o(!n(e.f,y,p),y[p])}},92880:function(i,d,t){var r=t(14274),n=t(36859),e=t(83258).f,o=t(22806),s=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(l){try{return e(l)}catch(v){return o(s)}};i.exports.f=function(v){return s&&r(v)==="Window"?u(v):e(n(v))}},83258:function(i,d,t){var r=t(6242),n=t(75785),e=n.concat("length","prototype");d.f=Object.getOwnPropertyNames||function(s){return r(s,e)}},24943:function(i,d){d.f=Object.getOwnPropertySymbols},26313:function(i,d,t){var r=t(94879),n=t(23583),e=t(49671),o=t(44869),s=t(87501),u=o("IE_PROTO"),l=Object,v=l.prototype;i.exports=s?l.getPrototypeOf:function(c){var g=e(c);if(r(g,u))return g[u];var y=g.constructor;return n(y)&&g instanceof y?y.prototype:g instanceof l?v:null}},28174:function(i,d,t){var r=t(72069),n=t(37540),e=t(14274),o=t(72058),s=Object.isExtensible,u=r(function(){s(1)});i.exports=u||o?function(v){return!n(v)||o&&e(v)==="ArrayBuffer"?!1:s?s(v):!0}:s},95307:function(i,d,t){var r=t(11286);i.exports=r({}.isPrototypeOf)},6242:function(i,d,t){var r=t(11286),n=t(94879),e=t(36859),o=t(94319).indexOf,s=t(19423),u=r([].push);i.exports=function(l,v){var c=e(l),g=0,y=[],p;for(p in c)!n(s,p)&&n(c,p)&&u(y,p);for(;v.length>g;)n(c,p=v[g++])&&(~o(y,p)||u(y,p));return y}},18350:function(i,d,t){var r=t(6242),n=t(75785);i.exports=Object.keys||function(o){return r(o,n)}},79591:function(i,d){var t={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,n=r&&!t.call({1:2},1);d.f=n?function(o){var s=r(this,o);return!!s&&s.enumerable}:t},57629:function(i,d,t){var r=t(70457),n=t(34246),e=t(72069),o=t(66577);i.exports=r||!e(function(){if(!(o&&o<535)){var s=Math.random();__defineSetter__.call(null,s,function(){}),delete n[s]}})},15861:function(i,d,t){var r=t(84756),n=t(37540),e=t(2068),o=t(53408);i.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var s=!1,u={},l;try{l=r(Object.prototype,"__proto__","set"),l(u,[]),s=u instanceof Array}catch(v){}return function(c,g){return e(c),o(g),n(c)&&(s?l(c,g):c.__proto__=g),c}}():void 0)},8511:function(i,d,t){var r=t(92986),n=t(72069),e=t(11286),o=t(26313),s=t(18350),u=t(36859),l=t(79591).f,v=e(l),c=e([].push),g=r&&n(function(){var p=Object.create(null);return p[2]=2,!v(p,2)}),y=function(p){return function(m){for(var S=u(m),x=s(S),O=g&&o(S)===null,P=x.length,T=0,R=[],N;P>T;)N=x[T++],(!r||(O?N in S:v(S,N)))&&c(R,p?[N,S[N]]:S[N]);return R}};i.exports={entries:y(!0),values:y(!1)}},60105:function(i,d,t){var r=t(67878),n=t(9205);i.exports=r?{}.toString:function(){return"[object "+n(this)+"]"}},2064:function(i,d,t){var r=t(96499),n=t(23583),e=t(37540),o=TypeError;i.exports=function(s,u){var l,v;if(u==="string"&&n(l=s.toString)&&!e(v=r(l,s))||n(l=s.valueOf)&&!e(v=r(l,s))||u!=="string"&&n(l=s.toString)&&!e(v=r(l,s)))return v;throw new o("Can't convert object to primitive value")}},16885:function(i,d,t){var r=t(38941),n=t(11286),e=t(83258),o=t(24943),s=t(25001),u=n([].concat);i.exports=r("Reflect","ownKeys")||function(v){var c=e.f(s(v)),g=o.f;return g?u(c,g(v)):c}},75081:function(i,d,t){var r=t(34246);i.exports=r},67805:function(i){i.exports=function(d){try{return{error:!1,value:d()}}catch(t){return{error:!0,value:t}}}},37130:function(i,d,t){var r=t(34246),n=t(98844),e=t(23583),o=t(13278),s=t(84352),u=t(18565),l=t(21501),v=t(70457),c=t(44241),g=n&&n.prototype,y=u("species"),p=!1,m=e(r.PromiseRejectionEvent),S=o("Promise",function(){var x=s(n),O=x!==String(n);if(!O&&c===66||v&&!(g.catch&&g.finally))return!0;if(!c||c<51||!/native code/.test(x)){var P=new n(function(N){N(1)}),T=function(N){N(function(){},function(){})},R=P.constructor={};if(R[y]=T,p=P.then(function(){})instanceof T,!p)return!0}return!O&&(l==="BROWSER"||l==="DENO")&&!m});i.exports={CONSTRUCTOR:S,REJECTION_EVENT:m,SUBCLASSING:p}},98844:function(i,d,t){var r=t(34246);i.exports=r.Promise},87408:function(i,d,t){var r=t(25001),n=t(37540),e=t(24649);i.exports=function(o,s){if(r(o),n(s)&&s.constructor===o)return s;var u=e.f(o),l=u.resolve;return l(s),u.promise}},26035:function(i,d,t){var r=t(98844),n=t(97494),e=t(37130).CONSTRUCTOR;i.exports=e||!n(function(o){r.all(o).then(void 0,function(){})})},2594:function(i,d,t){var r=t(7831).f;i.exports=function(n,e,o){o in n||r(n,o,{configurable:!0,get:function(){return e[o]},set:function(s){e[o]=s}})}},76895:function(i){var d=function(){this.head=null,this.tail=null};d.prototype={add:function(t){var r={item:t,next:null},n=this.tail;n?n.next=r:this.head=r,this.tail=r},get:function(){var t=this.head;if(t){var r=this.head=t.next;return r===null&&(this.tail=null),t.item}}},i.exports=d},33064:function(i,d,t){var r=t(96499),n=t(25001),e=t(23583),o=t(14274),s=t(44381),u=TypeError;i.exports=function(l,v){var c=l.exec;if(e(c)){var g=r(c,l,v);return g!==null&&n(g),g}if(o(l)==="RegExp")return r(s,l,v);throw new u("RegExp#exec called on incompatible receiver")}},44381:function(i,d,t){var r=t(96499),n=t(11286),e=t(17361),o=t(29833),s=t(39807),u=t(96731),l=t(5406),v=t(82367).get,c=t(76769),g=t(85220),y=u("native-string-replace",String.prototype.replace),p=RegExp.prototype.exec,m=p,S=n("".charAt),x=n("".indexOf),O=n("".replace),P=n("".slice),T=function(){var C=/a/,D=/b*/g;return r(p,C,"a"),r(p,D,"a"),C.lastIndex!==0||D.lastIndex!==0}(),R=s.BROKEN_CARET,N=/()??/.exec("")[1]!==void 0,A=T||N||R||c||g;A&&(m=function(D){var $=this,F=v($),L=e(D),G=F.raw,H,U,B,j,z,Q,X;if(G)return G.lastIndex=$.lastIndex,H=r(m,G,L),$.lastIndex=G.lastIndex,H;var k=F.groups,Z=R&&$.sticky,gt=r(o,$),lt=$.source,yt=0,Ot=L;if(Z&&(gt=O(gt,"y",""),x(gt,"g")===-1&&(gt+="g"),Ot=P(L,$.lastIndex),$.lastIndex>0&&(!$.multiline||$.multiline&&S(L,$.lastIndex-1)!==` +`)&&(lt="(?: "+lt+")",Ot=" "+Ot,yt++),U=new RegExp("^(?:"+lt+")",gt)),N&&(U=new RegExp("^"+lt+"$(?!\\s)",gt)),T&&(B=$.lastIndex),j=r(p,Z?U:$,Ot),Z?j?(j.input=P(j.input,yt),j[0]=P(j[0],yt),j.index=$.lastIndex,$.lastIndex+=j[0].length):$.lastIndex=0:T&&j&&($.lastIndex=$.global?j.index+j[0].length:B),N&&j&&j.length>1&&r(y,j[0],U,function(){for(z=1;z<arguments.length-2;z++)arguments[z]===void 0&&(j[z]=void 0)}),j&&k)for(j.groups=Q=l(null),z=0;z<k.length;z++)X=k[z],Q[X[0]]=j[X[1]];return j}),i.exports=m},29833:function(i,d,t){var r=t(25001);i.exports=function(){var n=r(this),e="";return n.hasIndices&&(e+="d"),n.global&&(e+="g"),n.ignoreCase&&(e+="i"),n.multiline&&(e+="m"),n.dotAll&&(e+="s"),n.unicode&&(e+="u"),n.unicodeSets&&(e+="v"),n.sticky&&(e+="y"),e}},54932:function(i,d,t){var r=t(96499),n=t(94879),e=t(95307),o=t(29833),s=RegExp.prototype;i.exports=function(u){var l=u.flags;return l===void 0&&!("flags"in s)&&!n(u,"flags")&&e(s,u)?r(o,u):l}},39807:function(i,d,t){var r=t(72069),n=t(34246),e=n.RegExp,o=r(function(){var l=e("a","y");return l.lastIndex=2,l.exec("abcd")!==null}),s=o||r(function(){return!e("a","y").sticky}),u=o||r(function(){var l=e("^r","gy");return l.lastIndex=2,l.exec("str")!==null});i.exports={BROKEN_CARET:u,MISSED_STICKY:s,UNSUPPORTED_Y:o}},76769:function(i,d,t){var r=t(72069),n=t(34246),e=n.RegExp;i.exports=r(function(){var o=e(".","s");return!(o.dotAll&&o.test(` +`)&&o.flags==="s")})},85220:function(i,d,t){var r=t(72069),n=t(34246),e=n.RegExp;i.exports=r(function(){var o=e("(?<a>b)","g");return o.exec("b").groups.a!=="b"||"b".replace(o,"$<a>c")!=="bc"})},2068:function(i,d,t){var r=t(5683),n=TypeError;i.exports=function(e){if(r(e))throw new n("Can't call method on "+e);return e}},28167:function(i,d,t){var r=t(34246),n=t(92986),e=Object.getOwnPropertyDescriptor;i.exports=function(o){if(!n)return r[o];var s=e(r,o);return s&&s.value}},13944:function(i){i.exports=Object.is||function(t,r){return t===r?t!==0||1/t===1/r:t!==t&&r!==r}},9934:function(i,d,t){var r=t(34246),n=t(66543),e=t(23583),o=t(21501),s=t(18257),u=t(22806),l=t(95486),v=r.Function,c=/MSIE .\./.test(s)||o==="BUN"&&function(){var g=r.Bun.version.split(".");return g.length<3||g[0]==="0"&&(g[1]<3||g[1]==="3"&&g[2]==="0")}();i.exports=function(g,y){var p=y?2:1;return c?function(m,S){var x=l(arguments.length,1)>p,O=e(m)?m:v(m),P=x?u(arguments,p):[],T=x?function(){n(O,this,P)}:O;return y?g(T,S):g(T)}:g}},48348:function(i,d,t){var r=t(172),n=t(35051),e=r.Set,o=r.add;i.exports=function(s){var u=new e;return n(s,function(l){o(u,l)}),u}},41754:function(i,d,t){var r=t(76602),n=t(172),e=t(48348),o=t(17768),s=t(65263),u=t(35051),l=t(9573),v=n.has,c=n.remove;i.exports=function(y){var p=r(this),m=s(y),S=e(p);return o(p)<=m.size?u(p,function(x){m.includes(x)&&c(S,x)}):l(m.getIterator(),function(x){v(p,x)&&c(S,x)}),S}},172:function(i,d,t){var r=t(11286),n=Set.prototype;i.exports={Set,add:r(n.add),has:r(n.has),remove:r(n.delete),proto:n}},92292:function(i,d,t){var r=t(76602),n=t(172),e=t(17768),o=t(65263),s=t(35051),u=t(9573),l=n.Set,v=n.add,c=n.has;i.exports=function(y){var p=r(this),m=o(y),S=new l;return e(p)>m.size?u(m.getIterator(),function(x){c(p,x)&&v(S,x)}):s(p,function(x){m.includes(x)&&v(S,x)}),S}},47391:function(i,d,t){var r=t(76602),n=t(172).has,e=t(17768),o=t(65263),s=t(35051),u=t(9573),l=t(99797);i.exports=function(c){var g=r(this),y=o(c);if(e(g)<=y.size)return s(g,function(m){if(y.includes(m))return!1},!0)!==!1;var p=y.getIterator();return u(p,function(m){if(n(g,m))return l(p,"normal",!1)})!==!1}},75492:function(i,d,t){var r=t(76602),n=t(17768),e=t(35051),o=t(65263);i.exports=function(u){var l=r(this),v=o(u);return n(l)>v.size?!1:e(l,function(c){if(!v.includes(c))return!1},!0)!==!1}},1333:function(i,d,t){var r=t(76602),n=t(172).has,e=t(17768),o=t(65263),s=t(9573),u=t(99797);i.exports=function(v){var c=r(this),g=o(v);if(e(c)<g.size)return!1;var y=g.getIterator();return s(y,function(p){if(!n(c,p))return u(y,"normal",!1)})!==!1}},35051:function(i,d,t){var r=t(11286),n=t(9573),e=t(172),o=e.Set,s=e.proto,u=r(s.forEach),l=r(s.keys),v=l(new o).next;i.exports=function(c,g,y){return y?n({iterator:l(c),next:v},g):u(c,g)}},94118:function(i,d,t){var r=t(38941),n=function(e){return{size:e,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}};i.exports=function(e){var o=r("Set");try{new o()[e](n(0));try{return new o()[e](n(-1)),!1}catch(s){return!0}}catch(s){return!1}}},17768:function(i,d,t){var r=t(84756),n=t(172);i.exports=r(n.proto,"size","get")||function(e){return e.size}},36167:function(i,d,t){var r=t(38941),n=t(85500),e=t(18565),o=t(92986),s=e("species");i.exports=function(u){var l=r(u);o&&l&&!l[s]&&n(l,s,{configurable:!0,get:function(){return this}})}},64680:function(i,d,t){var r=t(76602),n=t(172),e=t(48348),o=t(65263),s=t(9573),u=n.add,l=n.has,v=n.remove;i.exports=function(g){var y=r(this),p=o(g).getIterator(),m=e(y);return s(p,function(S){l(y,S)?v(m,S):u(m,S)}),m}},78401:function(i,d,t){var r=t(7831).f,n=t(94879),e=t(18565),o=e("toStringTag");i.exports=function(s,u,l){s&&!l&&(s=s.prototype),s&&!n(s,o)&&r(s,o,{configurable:!0,value:u})}},70402:function(i,d,t){var r=t(76602),n=t(172).add,e=t(48348),o=t(65263),s=t(9573);i.exports=function(l){var v=r(this),c=o(l).getIterator(),g=e(v);return s(c,function(y){n(g,y)}),g}},44869:function(i,d,t){var r=t(96731),n=t(36374),e=r("keys");i.exports=function(o){return e[o]||(e[o]=n(o))}},70443:function(i,d,t){var r=t(70457),n=t(34246),e=t(36003),o="__core-js_shared__",s=i.exports=n[o]||e(o,{});(s.versions||(s.versions=[])).push({version:"3.39.0",mode:r?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE",source:"https://github.com/zloirock/core-js"})},96731:function(i,d,t){var r=t(70443);i.exports=function(n,e){return r[n]||(r[n]=e||{})}},16887:function(i,d,t){var r=t(25001),n=t(80042),e=t(5683),o=t(18565),s=o("species");i.exports=function(u,l){var v=r(u).constructor,c;return v===void 0||e(c=r(v)[s])?l:n(c)}},5287:function(i,d,t){var r=t(72069);i.exports=function(n){return r(function(){var e=""[n]('"');return e!==e.toLowerCase()||e.split('"').length>3})}},22149:function(i,d,t){var r=t(11286),n=t(12105),e=t(17361),o=t(2068),s=r("".charAt),u=r("".charCodeAt),l=r("".slice),v=function(c){return function(g,y){var p=e(o(g)),m=n(y),S=p.length,x,O;return m<0||m>=S?c?"":void 0:(x=u(p,m),x<55296||x>56319||m+1===S||(O=u(p,m+1))<56320||O>57343?c?s(p,m):x:c?l(p,m,m+2):(x-55296<<10)+(O-56320)+65536)}};i.exports={codeAt:v(!1),charAt:v(!0)}},36945:function(i,d,t){var r=t(18257);i.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(r)},61607:function(i,d,t){var r=t(11286),n=t(45344),e=t(17361),o=t(79719),s=t(2068),u=r(o),l=r("".slice),v=Math.ceil,c=function(g){return function(y,p,m){var S=e(s(y)),x=n(p),O=S.length,P=m===void 0?" ":e(m),T,R;return x<=O||P===""?S:(T=x-O,R=u(P,v(T/P.length)),R.length>T&&(R=l(R,0,T)),g?S+R:R+S)}};i.exports={start:c(!1),end:c(!0)}},38679:function(i,d,t){var r=t(11286),n=2147483647,e=36,o=1,s=26,u=38,l=700,v=72,c=128,g="-",y=/[^\0-\u007E]/,p=/[.\u3002\uFF0E\uFF61]/g,m="Overflow: input needs wider integers to process",S=e-o,x=RangeError,O=r(p.exec),P=Math.floor,T=String.fromCharCode,R=r("".charCodeAt),N=r([].join),A=r([].push),C=r("".replace),D=r("".split),$=r("".toLowerCase),F=function(U){for(var B=[],j=0,z=U.length;j<z;){var Q=R(U,j++);if(Q>=55296&&Q<=56319&&j<z){var X=R(U,j++);(X&64512)===56320?A(B,((Q&1023)<<10)+(X&1023)+65536):(A(B,Q),j--)}else A(B,Q)}return B},L=function(U){return U+22+75*(U<26)},G=function(U,B,j){var z=0;for(U=j?P(U/l):U>>1,U+=P(U/B);U>S*s>>1;)U=P(U/S),z+=e;return P(z+(S+1)*U/(U+u))},H=function(U){var B=[];U=F(U);var j=U.length,z=c,Q=0,X=v,k,Z;for(k=0;k<U.length;k++)Z=U[k],Z<128&&A(B,T(Z));var gt=B.length,lt=gt;for(gt&&A(B,g);lt<j;){var yt=n;for(k=0;k<U.length;k++)Z=U[k],Z>=z&&Z<yt&&(yt=Z);var Ot=lt+1;if(yt-z>P((n-Q)/Ot))throw new x(m);for(Q+=(yt-z)*Ot,z=yt,k=0;k<U.length;k++){if(Z=U[k],Z<z&&++Q>n)throw new x(m);if(Z===z){for(var Rt=Q,Wt=e;;){var Vt=Wt<=X?o:Wt>=X+s?s:Wt-X;if(Rt<Vt)break;var $t=Rt-Vt,vt=e-Vt;A(B,T(L(Vt+$t%vt))),Rt=P($t/vt),Wt+=e}A(B,T(L(Rt))),X=G(Q,Ot,lt===gt),Q=0,lt++}}Q++,z++}return N(B,"")};i.exports=function(U){var B=[],j=D(C($(U),p,"."),"."),z,Q;for(z=0;z<j.length;z++)Q=j[z],A(B,O(y,Q)?"xn--"+H(Q):Q);return N(B,".")}},79719:function(i,d,t){var r=t(12105),n=t(17361),e=t(2068),o=RangeError;i.exports=function(u){var l=n(e(this)),v="",c=r(u);if(c<0||c===1/0)throw new o("Wrong number of repetitions");for(;c>0;(c>>>=1)&&(l+=l))c&1&&(v+=l);return v}},75176:function(i,d,t){var r=t(85900).end,n=t(33328);i.exports=n("trimEnd")?function(){return r(this)}:"".trimEnd},33328:function(i,d,t){var r=t(86588).PROPER,n=t(72069),e=t(77082),o="\u200B\x85\u180E";i.exports=function(s){return n(function(){return!!e[s]()||o[s]()!==o||r&&e[s].name!==s})}},83481:function(i,d,t){var r=t(85900).start,n=t(33328);i.exports=n("trimStart")?function(){return r(this)}:"".trimStart},85900:function(i,d,t){var r=t(11286),n=t(2068),e=t(17361),o=t(77082),s=r("".replace),u=RegExp("^["+o+"]+"),l=RegExp("(^|[^"+o+"])["+o+"]+$"),v=function(c){return function(g){var y=e(n(g));return c&1&&(y=s(y,u,"")),c&2&&(y=s(y,l,"$1")),y}};i.exports={start:v(1),end:v(2),trim:v(3)}},99050:function(i,d,t){var r=t(34246),n=t(72069),e=t(44241),o=t(21501),s=r.structuredClone;i.exports=!!s&&!n(function(){if(o==="DENO"&&e>92||o==="NODE"&&e>94||o==="BROWSER"&&e>97)return!1;var u=new ArrayBuffer(8),l=s(u,{transfer:[u]});return u.byteLength!==0||l.byteLength!==8})},39729:function(i,d,t){var r=t(44241),n=t(72069),e=t(34246),o=e.String;i.exports=!!Object.getOwnPropertySymbols&&!n(function(){var s=Symbol("symbol detection");return!o(s)||!(Object(s)instanceof Symbol)||!Symbol.sham&&r&&r<41})},60796:function(i,d,t){var r=t(96499),n=t(38941),e=t(18565),o=t(16142);i.exports=function(){var s=n("Symbol"),u=s&&s.prototype,l=u&&u.valueOf,v=e("toPrimitive");u&&!u[v]&&o(u,v,function(c){return r(l,this)},{arity:1})}},61190:function(i,d,t){var r=t(39729);i.exports=r&&!!Symbol.for&&!!Symbol.keyFor},23115:function(i,d,t){var r=t(34246),n=t(66543),e=t(45526),o=t(23583),s=t(94879),u=t(72069),l=t(96439),v=t(22806),c=t(85501),g=t(95486),y=t(5286),p=t(91707),m=r.setImmediate,S=r.clearImmediate,x=r.process,O=r.Dispatch,P=r.Function,T=r.MessageChannel,R=r.String,N=0,A={},C="onreadystatechange",D,$,F,L;u(function(){D=r.location});var G=function(j){if(s(A,j)){var z=A[j];delete A[j],z()}},H=function(j){return function(){G(j)}},U=function(j){G(j.data)},B=function(j){r.postMessage(R(j),D.protocol+"//"+D.host)};(!m||!S)&&(m=function(z){g(arguments.length,1);var Q=o(z)?z:P(z),X=v(arguments,1);return A[++N]=function(){n(Q,void 0,X)},$(N),N},S=function(z){delete A[z]},p?$=function(j){x.nextTick(H(j))}:O&&O.now?$=function(j){O.now(H(j))}:T&&!y?(F=new T,L=F.port2,F.port1.onmessage=U,$=e(L.postMessage,L)):r.addEventListener&&o(r.postMessage)&&!r.importScripts&&D&&D.protocol!=="file:"&&!u(B)?($=B,r.addEventListener("message",U,!1)):C in c("script")?$=function(j){l.appendChild(c("script"))[C]=function(){l.removeChild(this),G(j)}}:$=function(j){setTimeout(H(j),0)}),i.exports={set:m,clear:S}},34338:function(i,d,t){var r=t(11286);i.exports=r(1 .valueOf)},4652:function(i,d,t){var r=t(12105),n=Math.max,e=Math.min;i.exports=function(o,s){var u=r(o);return u<0?n(u+s,0):e(u,s)}},11344:function(i,d,t){var r=t(89935),n=TypeError;i.exports=function(e){var o=r(e,"number");if(typeof o=="number")throw new n("Can't convert number to bigint");return BigInt(o)}},9450:function(i,d,t){var r=t(12105),n=t(45344),e=RangeError;i.exports=function(o){if(o===void 0)return 0;var s=r(o),u=n(s);if(s!==u)throw new e("Wrong length or index");return u}},36859:function(i,d,t){var r=t(72181),n=t(2068);i.exports=function(e){return r(n(e))}},12105:function(i,d,t){var r=t(22459);i.exports=function(n){var e=+n;return e!==e||e===0?0:r(e)}},45344:function(i,d,t){var r=t(12105),n=Math.min;i.exports=function(e){var o=r(e);return o>0?n(o,9007199254740991):0}},49671:function(i,d,t){var r=t(2068),n=Object;i.exports=function(e){return n(r(e))}},58143:function(i,d,t){var r=t(98072),n=RangeError;i.exports=function(e,o){var s=r(e);if(s%o)throw new n("Wrong offset");return s}},98072:function(i,d,t){var r=t(12105),n=RangeError;i.exports=function(e){var o=r(e);if(o<0)throw new n("The argument can't be less than 0");return o}},89935:function(i,d,t){var r=t(96499),n=t(37540),e=t(491),o=t(10512),s=t(2064),u=t(18565),l=TypeError,v=u("toPrimitive");i.exports=function(c,g){if(!n(c)||e(c))return c;var y=o(c,v),p;if(y){if(g===void 0&&(g="default"),p=r(y,c,g),!n(p)||e(p))return p;throw new l("Can't convert object to primitive value")}return g===void 0&&(g="number"),s(c,g)}},50035:function(i,d,t){var r=t(89935),n=t(491);i.exports=function(e){var o=r(e,"string");return n(o)?o:o+""}},67878:function(i,d,t){var r=t(18565),n=r("toStringTag"),e={};e[n]="z",i.exports=String(e)==="[object z]"},17361:function(i,d,t){var r=t(9205),n=String;i.exports=function(e){if(r(e)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return n(e)}},76517:function(i){var d=Math.round;i.exports=function(t){var r=d(t);return r<0?0:r>255?255:r&255}},82453:function(i){var d=String;i.exports=function(t){try{return d(t)}catch(r){return"Object"}}},80357:function(i,d,t){var r=t(14304),n=t(34246),e=t(96499),o=t(92986),s=t(46868),u=t(88037),l=t(17468),v=t(12833),c=t(18526),g=t(90809),y=t(613),p=t(45344),m=t(9450),S=t(58143),x=t(76517),O=t(50035),P=t(94879),T=t(9205),R=t(37540),N=t(491),A=t(5406),C=t(95307),D=t(15861),$=t(83258).f,F=t(66169),L=t(66655).forEach,G=t(36167),H=t(85500),U=t(7831),B=t(71349),j=t(5220),z=t(82367),Q=t(32345),X=z.get,k=z.set,Z=z.enforce,gt=U.f,lt=B.f,yt=n.RangeError,Ot=l.ArrayBuffer,Rt=Ot.prototype,Wt=l.DataView,Vt=u.NATIVE_ARRAY_BUFFER_VIEWS,$t=u.TYPED_ARRAY_TAG,vt=u.TypedArray,mt=u.TypedArrayPrototype,Mt=u.isTypedArray,Ft="BYTES_PER_ELEMENT",Nt="Wrong length",Bt=function(Jt,Yt){H(Jt,Yt,{configurable:!0,get:function(){return X(this)[Yt]}})},qt=function(Jt){var Yt;return C(Rt,Jt)||(Yt=T(Jt))==="ArrayBuffer"||Yt==="SharedArrayBuffer"},_t=function(Jt,Yt){return Mt(Jt)&&!N(Yt)&&Yt in Jt&&y(+Yt)&&Yt>=0},Xt=function(Yt,jt){return jt=O(jt),_t(Yt,jt)?c(2,Yt[jt]):lt(Yt,jt)},Lt=function(Yt,jt,st){return jt=O(jt),_t(Yt,jt)&&R(st)&&P(st,"value")&&!P(st,"get")&&!P(st,"set")&&!st.configurable&&(!P(st,"writable")||st.writable)&&(!P(st,"enumerable")||st.enumerable)?(Yt[jt]=st.value,Yt):gt(Yt,jt,st)};o?(Vt||(B.f=Xt,U.f=Lt,Bt(mt,"buffer"),Bt(mt,"byteOffset"),Bt(mt,"byteLength"),Bt(mt,"length")),r({target:"Object",stat:!0,forced:!Vt},{getOwnPropertyDescriptor:Xt,defineProperty:Lt}),i.exports=function(Jt,Yt,jt){var st=Jt.match(/\d+/)[0]/8,dt=Jt+(jt?"Clamped":"")+"Array",_="get"+Jt,At="set"+Jt,Pt=n[dt],It=Pt,St=It&&It.prototype,er={},or=function(ot,ct){var rt=X(ot);return rt.view[_](ct*st+rt.byteOffset,!0)},K=function(ot,ct,rt){var Dt=X(ot);Dt.view[At](ct*st+Dt.byteOffset,jt?x(rt):rt,!0)},et=function(ot,ct){gt(ot,ct,{get:function(){return or(this,ct)},set:function(rt){return K(this,ct,rt)},enumerable:!0})};Vt?s&&(It=Yt(function(ot,ct,rt,Dt){return v(ot,St),Q(function(){return R(ct)?qt(ct)?Dt!==void 0?new Pt(ct,S(rt,st),Dt):rt!==void 0?new Pt(ct,S(rt,st)):new Pt(ct):Mt(ct)?j(It,ct):e(F,It,ct):new Pt(m(ct))}(),ot,It)}),D&&D(It,vt),L($(Pt),function(ot){ot in It||g(It,ot,Pt[ot])}),It.prototype=St):(It=Yt(function(ot,ct,rt,Dt){v(ot,St);var kt=0,nt=0,ht,pt,xt;if(!R(ct))xt=m(ct),pt=xt*st,ht=new Ot(pt);else if(qt(ct)){ht=ct,nt=S(rt,st);var Ut=ct.byteLength;if(Dt===void 0){if(Ut%st)throw new yt(Nt);if(pt=Ut-nt,pt<0)throw new yt(Nt)}else if(pt=p(Dt)*st,pt+nt>Ut)throw new yt(Nt);xt=pt/st}else return Mt(ct)?j(It,ct):e(F,It,ct);for(k(ot,{buffer:ht,byteOffset:nt,byteLength:pt,length:xt,view:new Wt(ht)});kt<xt;)et(ot,kt++)}),D&&D(It,vt),St=It.prototype=A(mt)),St.constructor!==It&&g(St,"constructor",It),Z(St).TypedArrayConstructor=It,$t&&g(St,$t,dt);var it=It!==Pt;er[dt]=It,r({global:!0,constructor:!0,forced:it,sham:!Vt},er),Ft in It||g(It,Ft,st),Ft in St||g(St,Ft,st),G(dt)}):i.exports=function(){}},46868:function(i,d,t){var r=t(34246),n=t(72069),e=t(97494),o=t(88037).NATIVE_ARRAY_BUFFER_VIEWS,s=r.ArrayBuffer,u=r.Int8Array;i.exports=!o||!n(function(){u(1)})||!n(function(){new u(-1)})||!e(function(l){new u,new u(null),new u(1.5),new u(l)},!0)||n(function(){return new u(new s(2),1,void 0).length!==1})},39954:function(i,d,t){var r=t(5220),n=t(88037).getTypedArrayConstructor;i.exports=function(e,o){return r(n(e),o)}},66169:function(i,d,t){var r=t(45526),n=t(96499),e=t(80042),o=t(49671),s=t(82628),u=t(90619),l=t(81077),v=t(48199),c=t(77129),g=t(88037).aTypedArrayConstructor,y=t(11344);i.exports=function(m){var S=e(this),x=o(m),O=arguments.length,P=O>1?arguments[1]:void 0,T=P!==void 0,R=l(x),N,A,C,D,$,F,L,G;if(R&&!v(R))for(L=u(x,R),G=L.next,x=[];!(F=n(G,L)).done;)x.push(F.value);for(T&&O>2&&(P=r(P,arguments[2])),A=s(x),C=new(g(S))(A),D=c(C),N=0;A>N;N++)$=T?P(x[N],N):x[N],C[N]=D?y($):+$;return C}},36374:function(i,d,t){var r=t(11286),n=0,e=Math.random(),o=r(1 .toString);i.exports=function(s){return"Symbol("+(s===void 0?"":s)+")_"+o(++n+e,36)}},91918:function(i,d,t){var r=t(72069),n=t(18565),e=t(92986),o=t(70457),s=n("iterator");i.exports=!r(function(){var u=new URL("b?a=1&b=2&c=3","https://a"),l=u.searchParams,v=new URLSearchParams("a=1&a=2&b=3"),c="";return u.pathname="c%20d",l.forEach(function(g,y){l.delete("b"),c+=y+g}),v.delete("a",2),v.delete("b",void 0),o&&(!u.toJSON||!v.has("a",1)||v.has("a",2)||!v.has("a",void 0)||v.has("b"))||!l.size&&(o||!e)||!l.sort||u.href!=="https://a/c%20d?a=1&c=3"||l.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!l[s]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("https://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("https://a#\u0431").hash!=="#%D0%B1"||c!=="a1c3"||new URL("https://x",void 0).host!=="x"})},50234:function(i,d,t){var r=t(39729);i.exports=r&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},356:function(i,d,t){var r=t(92986),n=t(72069);i.exports=r&&n(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},95486:function(i){var d=TypeError;i.exports=function(t,r){if(t<r)throw new d("Not enough arguments");return t}},42960:function(i,d,t){var r=t(34246),n=t(23583),e=r.WeakMap;i.exports=n(e)&&/native code/.test(String(e))},83749:function(i,d,t){var r=t(75081),n=t(94879),e=t(56529),o=t(7831).f;i.exports=function(s){var u=r.Symbol||(r.Symbol={});n(u,s)||o(u,s,{value:e.f(s)})}},56529:function(i,d,t){var r=t(18565);d.f=r},18565:function(i,d,t){var r=t(34246),n=t(96731),e=t(94879),o=t(36374),s=t(39729),u=t(50234),l=r.Symbol,v=n("wks"),c=u?l.for||l:l&&l.withoutSetter||o;i.exports=function(g){return e(v,g)||(v[g]=s&&e(l,g)?l[g]:c("Symbol."+g)),v[g]}},77082:function(i){i.exports=` +\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`},70003:function(i,d,t){var r=t(38941),n=t(94879),e=t(90809),o=t(95307),s=t(15861),u=t(93706),l=t(2594),v=t(32345),c=t(15453),g=t(31486),y=t(97077),p=t(92986),m=t(70457);i.exports=function(S,x,O,P){var T="stackTraceLimit",R=P?2:1,N=S.split("."),A=N[N.length-1],C=r.apply(null,N);if(C){var D=C.prototype;if(!m&&n(D,"cause")&&delete D.cause,!O)return C;var $=r("Error"),F=x(function(L,G){var H=c(P?G:L,void 0),U=P?new C(L):new C;return H!==void 0&&e(U,"message",H),y(U,F,U.stack,2),this&&o(D,this)&&v(U,this,F),arguments.length>R&&g(U,arguments[R]),U});if(F.prototype=D,A!=="Error"?s?s(F,$):u(F,$,{name:!0}):p&&T in C&&(l(F,C,T),l(F,C,"prepareStackTrace")),u(F,C),!m)try{D.name!==A&&e(D,"name",A),D.constructor=F}catch(L){}return F}}},27796:function(i,d,t){var r=t(14304),n=t(38941),e=t(66543),o=t(72069),s=t(70003),u="AggregateError",l=n(u),v=!o(function(){return l([1]).errors[0]!==1})&&o(function(){return l([1],u,{cause:7}).cause!==7});r({global:!0,constructor:!0,arity:2,forced:v},{AggregateError:s(u,function(c){return function(y,p){return e(c,this,arguments)}},v,!0)})},85647:function(i,d,t){var r=t(14304),n=t(95307),e=t(26313),o=t(15861),s=t(93706),u=t(5406),l=t(90809),v=t(18526),c=t(31486),g=t(97077),y=t(55902),p=t(15453),m=t(18565),S=m("toStringTag"),x=Error,O=[].push,P=function(N,A){var C=n(T,this),D;o?D=o(new x,C?e(this):T):(D=C?this:u(T),l(D,S,"Error")),A!==void 0&&l(D,"message",p(A)),g(D,P,D.stack,1),arguments.length>2&&c(D,arguments[2]);var $=[];return y(N,O,{that:$}),l(D,"errors",$),D};o?o(P,x):s(P,x,{name:!0});var T=P.prototype=u(x.prototype,{constructor:v(1,P),message:v(1,""),name:v(1,"AggregateError")});r({global:!0,constructor:!0,arity:2},{AggregateError:P})},42861:function(i,d,t){t(85647)},35473:function(i,d,t){var r=t(14304),n=t(34246),e=t(17468),o=t(36167),s="ArrayBuffer",u=e[s],l=n[s];r({global:!0,constructor:!0,forced:l!==u},{ArrayBuffer:u}),o(s)},35495:function(i,d,t){var r=t(92986),n=t(85500),e=t(30736),o=ArrayBuffer.prototype;r&&!("detached"in o)&&n(o,"detached",{configurable:!0,get:function(){return e(this)}})},4983:function(i,d,t){var r=t(14304),n=t(88037),e=n.NATIVE_ARRAY_BUFFER_VIEWS;r({target:"ArrayBuffer",stat:!0,forced:!e},{isView:n.isView})},6875:function(i,d,t){var r=t(14304),n=t(77422),e=t(72069),o=t(17468),s=t(25001),u=t(4652),l=t(45344),v=o.ArrayBuffer,c=o.DataView,g=c.prototype,y=n(v.prototype.slice),p=n(g.getUint8),m=n(g.setUint8),S=e(function(){return!new v(2).slice(1,void 0).byteLength});r({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:S},{slice:function(O,P){if(y&&P===void 0)return y(s(this),O);for(var T=s(this).byteLength,R=u(O,T),N=u(P===void 0?T:P,T),A=new v(l(N-R)),C=new c(this),D=new c(A),$=0;R<N;)m(D,$++,p(C,R++));return A}})},58594:function(i,d,t){var r=t(14304),n=t(65006);n&&r({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return n(this,arguments.length?arguments[0]:void 0,!1)}})},32790:function(i,d,t){var r=t(14304),n=t(65006);n&&r({target:"ArrayBuffer",proto:!0},{transfer:function(){return n(this,arguments.length?arguments[0]:void 0,!0)}})},1341:function(i,d,t){var r=t(14304),n=t(49671),e=t(82628),o=t(12105),s=t(23811);r({target:"Array",proto:!0},{at:function(l){var v=n(this),c=e(v),g=o(l),y=g>=0?g:c+g;return y<0||y>=c?void 0:v[y]}}),s("at")},98700:function(i,d,t){var r=t(14304),n=t(72069),e=t(3438),o=t(37540),s=t(49671),u=t(82628),l=t(20095),v=t(84082),c=t(62083),g=t(52183),y=t(18565),p=t(44241),m=y("isConcatSpreadable"),S=p>=51||!n(function(){var P=[];return P[m]=!1,P.concat()[0]!==P}),x=function(P){if(!o(P))return!1;var T=P[m];return T!==void 0?!!T:e(P)},O=!S||!g("concat");r({target:"Array",proto:!0,arity:1,forced:O},{concat:function(T){var R=s(this),N=c(R,0),A=0,C,D,$,F,L;for(C=-1,$=arguments.length;C<$;C++)if(L=C===-1?R:arguments[C],x(L))for(F=u(L),l(A+F),D=0;D<F;D++,A++)D in L&&v(N,A,L[D]);else l(A+1),v(N,A++,L);return N.length=A,N}})},65481:function(i,d,t){var r=t(14304),n=t(81499),e=t(23811);r({target:"Array",proto:!0},{copyWithin:n}),e("copyWithin")},46509:function(i,d,t){var r=t(14304),n=t(66655).every,e=t(6148),o=e("every");r({target:"Array",proto:!0,forced:!o},{every:function(u){return n(this,u,arguments.length>1?arguments[1]:void 0)}})},41585:function(i,d,t){var r=t(14304),n=t(43011),e=t(23811);r({target:"Array",proto:!0},{fill:n}),e("fill")},84554:function(i,d,t){var r=t(14304),n=t(66655).filter,e=t(52183),o=e("filter");r({target:"Array",proto:!0,forced:!o},{filter:function(u){return n(this,u,arguments.length>1?arguments[1]:void 0)}})},33818:function(i,d,t){var r=t(14304),n=t(66655).findIndex,e=t(23811),o="findIndex",s=!0;o in[]&&Array(1)[o](function(){s=!1}),r({target:"Array",proto:!0,forced:s},{findIndex:function(l){return n(this,l,arguments.length>1?arguments[1]:void 0)}}),e(o)},2209:function(i,d,t){var r=t(14304),n=t(73849).findLastIndex,e=t(23811);r({target:"Array",proto:!0},{findLastIndex:function(s){return n(this,s,arguments.length>1?arguments[1]:void 0)}}),e("findLastIndex")},64096:function(i,d,t){var r=t(14304),n=t(73849).findLast,e=t(23811);r({target:"Array",proto:!0},{findLast:function(s){return n(this,s,arguments.length>1?arguments[1]:void 0)}}),e("findLast")},36619:function(i,d,t){var r=t(14304),n=t(66655).find,e=t(23811),o="find",s=!0;o in[]&&Array(1)[o](function(){s=!1}),r({target:"Array",proto:!0,forced:s},{find:function(l){return n(this,l,arguments.length>1?arguments[1]:void 0)}}),e(o)},74092:function(i,d,t){var r=t(14304),n=t(53149),e=t(85156),o=t(49671),s=t(82628),u=t(62083);r({target:"Array",proto:!0},{flatMap:function(v){var c=o(this),g=s(c),y;return e(v),y=u(c,0),y.length=n(y,c,c,g,0,1,v,arguments.length>1?arguments[1]:void 0),y}})},91591:function(i,d,t){var r=t(14304),n=t(53149),e=t(49671),o=t(82628),s=t(12105),u=t(62083);r({target:"Array",proto:!0},{flat:function(){var v=arguments.length?arguments[0]:void 0,c=e(this),g=o(c),y=u(c,0);return y.length=n(y,c,c,g,0,v===void 0?1:s(v)),y}})},54703:function(i,d,t){var r=t(14304),n=t(13349);r({target:"Array",proto:!0,forced:[].forEach!==n},{forEach:n})},82936:function(i,d,t){var r=t(14304),n=t(48258),e=t(97494),o=!e(function(s){Array.from(s)});r({target:"Array",stat:!0,forced:o},{from:n})},48493:function(i,d,t){var r=t(14304),n=t(94319).includes,e=t(72069),o=t(23811),s=e(function(){return!Array(1).includes()});r({target:"Array",proto:!0,forced:s},{includes:function(l){return n(this,l,arguments.length>1?arguments[1]:void 0)}}),o("includes")},64730:function(i,d,t){var r=t(14304),n=t(77422),e=t(94319).indexOf,o=t(6148),s=n([].indexOf),u=!!s&&1/s([1],1,-0)<0,l=u||!o("indexOf");r({target:"Array",proto:!0,forced:l},{indexOf:function(c){var g=arguments.length>1?arguments[1]:void 0;return u?s(this,c,g)||0:e(this,c,g)}})},95024:function(i,d,t){var r=t(14304),n=t(3438);r({target:"Array",stat:!0},{isArray:n})},35054:function(i,d,t){var r=t(36859),n=t(23811),e=t(29107),o=t(82367),s=t(7831).f,u=t(10218),l=t(10659),v=t(70457),c=t(92986),g="Array Iterator",y=o.set,p=o.getterFor(g);i.exports=u(Array,"Array",function(S,x){y(this,{type:g,target:r(S),index:0,kind:x})},function(){var S=p(this),x=S.target,O=S.index++;if(!x||O>=x.length)return S.target=null,l(void 0,!0);switch(S.kind){case"keys":return l(O,!1);case"values":return l(x[O],!1)}return l([O,x[O]],!1)},"values");var m=e.Arguments=e.Array;if(n("keys"),n("values"),n("entries"),!v&&c&&m.name!=="values")try{s(m,"name",{value:"values"})}catch(S){}},25460:function(i,d,t){var r=t(14304),n=t(11286),e=t(72181),o=t(36859),s=t(6148),u=n([].join),l=e!==Object,v=l||!s("join",",");r({target:"Array",proto:!0,forced:v},{join:function(g){return u(o(this),g===void 0?",":g)}})},60703:function(i,d,t){var r=t(14304),n=t(58465);r({target:"Array",proto:!0,forced:n!==[].lastIndexOf},{lastIndexOf:n})},90468:function(i,d,t){var r=t(14304),n=t(66655).map,e=t(52183),o=e("map");r({target:"Array",proto:!0,forced:!o},{map:function(u){return n(this,u,arguments.length>1?arguments[1]:void 0)}})},69581:function(i,d,t){var r=t(14304),n=t(72069),e=t(11051),o=t(84082),s=Array,u=n(function(){function l(){}return!(s.of.call(l)instanceof l)});r({target:"Array",stat:!0,forced:u},{of:function(){for(var v=0,c=arguments.length,g=new(e(this)?this:s)(c);c>v;)o(g,v,arguments[v++]);return g.length=c,g}})},720:function(i,d,t){var r=t(14304),n=t(49671),e=t(82628),o=t(2213),s=t(20095),u=t(72069),l=u(function(){return[].push.call({length:4294967296},1)!==4294967297}),v=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(g){return g instanceof TypeError}},c=l||!v();r({target:"Array",proto:!0,arity:1,forced:c},{push:function(y){var p=n(this),m=e(p),S=arguments.length;s(m+S);for(var x=0;x<S;x++)p[m]=arguments[x],m++;return o(p,m),m}})},17289:function(i,d,t){var r=t(14304),n=t(97264).right,e=t(6148),o=t(44241),s=t(91707),u=!s&&o>79&&o<83,l=u||!e("reduceRight");r({target:"Array",proto:!0,forced:l},{reduceRight:function(c){return n(this,c,arguments.length,arguments.length>1?arguments[1]:void 0)}})},11042:function(i,d,t){var r=t(14304),n=t(97264).left,e=t(6148),o=t(44241),s=t(91707),u=!s&&o>79&&o<83,l=u||!e("reduce");r({target:"Array",proto:!0,forced:l},{reduce:function(c){var g=arguments.length;return n(this,c,g,g>1?arguments[1]:void 0)}})},24608:function(i,d,t){var r=t(14304),n=t(11286),e=t(3438),o=n([].reverse),s=[1,2];r({target:"Array",proto:!0,forced:String(s)===String(s.reverse())},{reverse:function(){return e(this)&&(this.length=this.length),o(this)}})},51644:function(i,d,t){var r=t(14304),n=t(3438),e=t(11051),o=t(37540),s=t(4652),u=t(82628),l=t(36859),v=t(84082),c=t(18565),g=t(52183),y=t(22806),p=g("slice"),m=c("species"),S=Array,x=Math.max;r({target:"Array",proto:!0,forced:!p},{slice:function(P,T){var R=l(this),N=u(R),A=s(P,N),C=s(T===void 0?N:T,N),D,$,F;if(n(R)&&(D=R.constructor,e(D)&&(D===S||n(D.prototype))?D=void 0:o(D)&&(D=D[m],D===null&&(D=void 0)),D===S||D===void 0))return y(R,A,C);for($=new(D===void 0?S:D)(x(C-A,0)),F=0;A<C;A++,F++)A in R&&v($,F,R[A]);return $.length=F,$}})},88088:function(i,d,t){var r=t(14304),n=t(66655).some,e=t(6148),o=e("some");r({target:"Array",proto:!0,forced:!o},{some:function(u){return n(this,u,arguments.length>1?arguments[1]:void 0)}})},46828:function(i,d,t){var r=t(14304),n=t(11286),e=t(85156),o=t(49671),s=t(82628),u=t(12384),l=t(17361),v=t(72069),c=t(13270),g=t(6148),y=t(507),p=t(17417),m=t(44241),S=t(66577),x=[],O=n(x.sort),P=n(x.push),T=v(function(){x.sort(void 0)}),R=v(function(){x.sort(null)}),N=g("sort"),A=!v(function(){if(m)return m<70;if(!(y&&y>3)){if(p)return!0;if(S)return S<603;var $="",F,L,G,H;for(F=65;F<76;F++){switch(L=String.fromCharCode(F),F){case 66:case 69:case 70:case 72:G=3;break;case 68:case 71:G=4;break;default:G=2}for(H=0;H<47;H++)x.push({k:L+H,v:G})}for(x.sort(function(U,B){return B.v-U.v}),H=0;H<x.length;H++)L=x[H].k.charAt(0),$.charAt($.length-1)!==L&&($+=L);return $!=="DGBEFHACIJK"}}),C=T||!R||!N||!A,D=function($){return function(F,L){return L===void 0?-1:F===void 0?1:$!==void 0?+$(F,L)||0:l(F)>l(L)?1:-1}};r({target:"Array",proto:!0,forced:C},{sort:function(F){F!==void 0&&e(F);var L=o(this);if(A)return F===void 0?O(L):O(L,F);var G=[],H=s(L),U,B;for(B=0;B<H;B++)B in L&&P(G,L[B]);for(c(G,D(F)),U=s(G),B=0;B<U;)L[B]=G[B++];for(;B<H;)u(L,B++);return L}})},90088:function(i,d,t){var r=t(36167);r("Array")},35148:function(i,d,t){var r=t(14304),n=t(49671),e=t(4652),o=t(12105),s=t(82628),u=t(2213),l=t(20095),v=t(62083),c=t(84082),g=t(12384),y=t(52183),p=y("splice"),m=Math.max,S=Math.min;r({target:"Array",proto:!0,forced:!p},{splice:function(O,P){var T=n(this),R=s(T),N=e(O,R),A=arguments.length,C,D,$,F,L,G;for(A===0?C=D=0:A===1?(C=0,D=R-N):(C=A-2,D=S(m(o(P),0),R-N)),l(R+C-D),$=v(T,D),F=0;F<D;F++)L=N+F,L in T&&c($,F,T[L]);if($.length=D,C<D){for(F=N;F<R-D;F++)L=F+D,G=F+C,L in T?T[G]=T[L]:g(T,G);for(F=R;F>R-D+C;F--)g(T,F-1)}else if(C>D)for(F=R-D;F>N;F--)L=F+D-1,G=F+C-1,L in T?T[G]=T[L]:g(T,G);for(F=0;F<C;F++)T[F+N]=arguments[F+2];return u(T,R-D+C),$}})},86184:function(i,d,t){var r=t(14304),n=t(61638),e=t(36859),o=t(23811),s=Array;r({target:"Array",proto:!0},{toReversed:function(){return n(e(this),s)}}),o("toReversed")},53983:function(i,d,t){var r=t(14304),n=t(11286),e=t(85156),o=t(36859),s=t(5220),u=t(65470),l=t(23811),v=Array,c=n(u("Array","sort"));r({target:"Array",proto:!0},{toSorted:function(y){y!==void 0&&e(y);var p=o(this),m=s(v,p);return c(m,y)}}),l("toSorted")},42560:function(i,d,t){var r=t(14304),n=t(23811),e=t(20095),o=t(82628),s=t(4652),u=t(36859),l=t(12105),v=Array,c=Math.max,g=Math.min;r({target:"Array",proto:!0},{toSpliced:function(p,m){var S=u(this),x=o(S),O=s(p,x),P=arguments.length,T=0,R,N,A,C;for(P===0?R=N=0:P===1?(R=0,N=x-O):(R=P-2,N=g(c(l(m),0),x-O)),A=e(x+R-N),C=v(A);T<O;T++)C[T]=S[T];for(;T<O+R;T++)C[T]=arguments[T-O+2];for(;T<A;T++)C[T]=S[T+N-R];return C}}),n("toSpliced")},27839:function(i,d,t){var r=t(23811);r("flatMap")},88444:function(i,d,t){var r=t(23811);r("flat")},73051:function(i,d,t){var r=t(14304),n=t(49671),e=t(82628),o=t(2213),s=t(12384),u=t(20095),l=[].unshift(0)!==1,v=function(){try{Object.defineProperty([],"length",{writable:!1}).unshift()}catch(g){return g instanceof TypeError}},c=l||!v();r({target:"Array",proto:!0,arity:1,forced:c},{unshift:function(y){var p=n(this),m=e(p),S=arguments.length;if(S){u(m+S);for(var x=m;x--;){var O=x+S;x in p?p[O]=p[x]:s(p,O)}for(var P=0;P<S;P++)p[P]=arguments[P]}return o(p,m+S)}})},9372:function(i,d,t){var r=t(14304),n=t(72302),e=t(36859),o=Array;r({target:"Array",proto:!0},{with:function(s,u){return n(e(this),o,s,u)}})},77885:function(i,d,t){var r=t(14304),n=t(17468),e=t(3237);r({global:!0,constructor:!0,forced:!e},{DataView:n.DataView})},68575:function(i,d,t){t(77885)},30801:function(i,d,t){var r=t(14304),n=t(11286),e=t(72069),o=e(function(){return new Date(16e11).getYear()!==120}),s=n(Date.prototype.getFullYear);r({target:"Date",proto:!0,forced:o},{getYear:function(){return s(this)-1900}})},90911:function(i,d,t){var r=t(14304),n=t(11286),e=Date,o=n(e.prototype.getTime);r({target:"Date",stat:!0},{now:function(){return o(new e)}})},90429:function(i,d,t){var r=t(14304),n=t(11286),e=t(12105),o=Date.prototype,s=n(o.getTime),u=n(o.setFullYear);r({target:"Date",proto:!0},{setYear:function(v){s(this);var c=e(v),g=c>=0&&c<=99?c+1900:c;return u(this,g)}})},33685:function(i,d,t){var r=t(14304);r({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString})},60086:function(i,d,t){var r=t(14304),n=t(11890);r({target:"Date",proto:!0,forced:Date.prototype.toISOString!==n},{toISOString:n})},96049:function(i,d,t){var r=t(14304),n=t(72069),e=t(49671),o=t(89935),s=n(function(){return new Date(NaN).toJSON()!==null||Date.prototype.toJSON.call({toISOString:function(){return 1}})!==1});r({target:"Date",proto:!0,arity:1,forced:s},{toJSON:function(l){var v=e(this),c=o(v,"number");return typeof c=="number"&&!isFinite(c)?null:v.toISOString()}})},14038:function(i,d,t){var r=t(94879),n=t(16142),e=t(84306),o=t(18565),s=o("toPrimitive"),u=Date.prototype;r(u,s)||n(u,s,e)},55518:function(i,d,t){var r=t(11286),n=t(16142),e=Date.prototype,o="Invalid Date",s="toString",u=r(e[s]),l=r(e.getTime);String(new Date(NaN))!==o&&n(e,s,function(){var c=l(this);return c===c?u(this):o})},81742:function(i,d,t){var r=t(14304),n=t(34246),e=t(66543),o=t(70003),s="WebAssembly",u=n[s],l=new Error("e",{cause:7}).cause!==7,v=function(g,y){var p={};p[g]=o(g,y,l),r({global:!0,constructor:!0,arity:1,forced:l},p)},c=function(g,y){if(u&&u[g]){var p={};p[g]=o(s+"."+g,y,l),r({target:s,stat:!0,constructor:!0,arity:1,forced:l},p)}};v("Error",function(g){return function(p){return e(g,this,arguments)}}),v("EvalError",function(g){return function(p){return e(g,this,arguments)}}),v("RangeError",function(g){return function(p){return e(g,this,arguments)}}),v("ReferenceError",function(g){return function(p){return e(g,this,arguments)}}),v("SyntaxError",function(g){return function(p){return e(g,this,arguments)}}),v("TypeError",function(g){return function(p){return e(g,this,arguments)}}),v("URIError",function(g){return function(p){return e(g,this,arguments)}}),c("CompileError",function(g){return function(p){return e(g,this,arguments)}}),c("LinkError",function(g){return function(p){return e(g,this,arguments)}}),c("RuntimeError",function(g){return function(p){return e(g,this,arguments)}})},8720:function(i,d,t){var r=t(16142),n=t(58434),e=Error.prototype;e.toString!==n&&r(e,"toString",n)},8894:function(i,d,t){var r=t(14304),n=t(11286),e=t(17361),o=n("".charAt),s=n("".charCodeAt),u=n(/./.exec),l=n(1 .toString),v=n("".toUpperCase),c=/[\w*+\-./@]/,g=function(y,p){for(var m=l(y,16);m.length<p;)m="0"+m;return m};r({global:!0},{escape:function(p){for(var m=e(p),S="",x=m.length,O=0,P,T;O<x;)P=o(m,O++),u(c,P)?S+=P:(T=s(P,0),T<256?S+="%"+g(T,2):S+="%u"+v(g(T,4)));return S}})},60628:function(i,d,t){var r=t(14304),n=t(91384);r({target:"Function",proto:!0,forced:Function.bind!==n},{bind:n})},56347:function(i,d,t){var r=t(23583),n=t(37540),e=t(7831),o=t(95307),s=t(18565),u=t(13749),l=s("hasInstance"),v=Function.prototype;l in v||e.f(v,l,{value:u(function(c){if(!r(this)||!n(c))return!1;var g=this.prototype;return n(g)?o(g,c):c instanceof this},l)})},16864:function(i,d,t){var r=t(92986),n=t(86588).EXISTS,e=t(11286),o=t(85500),s=Function.prototype,u=e(s.toString),l=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,v=e(l.exec),c="name";r&&!n&&o(s,c,{configurable:!0,get:function(){try{return v(l,u(this))[1]}catch(g){return""}}})},93819:function(i,d,t){var r=t(14304),n=t(34246);r({global:!0,forced:n.globalThis!==n},{globalThis:n})},11565:function(i,d,t){var r=t(14304),n=t(34246),e=t(12833),o=t(25001),s=t(23583),u=t(26313),l=t(85500),v=t(84082),c=t(72069),g=t(94879),y=t(18565),p=t(24519).IteratorPrototype,m=t(92986),S=t(70457),x="constructor",O="Iterator",P=y("toStringTag"),T=TypeError,R=n[O],N=S||!s(R)||R.prototype!==p||!c(function(){R({})}),A=function(){if(e(this,p),u(this)===p)throw new T("Abstract class Iterator not directly constructable")},C=function(D,$){m?l(p,D,{configurable:!0,get:function(){return $},set:function(F){if(o(this),this===p)throw new T("You can't redefine this property");g(this,D)?this[D]=F:v(this,D,F)}}):p[D]=$};g(p,P)||C(P,O),(N||!g(p,x)||p[x]===Object)&&C(x,A),A.prototype=p,r({global:!0,constructor:!0,forced:N},{Iterator:A})},26668:function(i,d,t){var r=t(14304),n=t(96499),e=t(25001),o=t(10613),s=t(93483),u=t(98072),l=t(44736),v=t(70457),c=l(function(){for(var g=this.iterator,y=this.next,p,m;this.remaining;)if(this.remaining--,p=e(n(y,g)),m=this.done=!!p.done,m)return;if(p=e(n(y,g)),m=this.done=!!p.done,!m)return p.value});r({target:"Iterator",proto:!0,real:!0,forced:v},{drop:function(y){e(this);var p=u(s(+y));return new c(o(this),{remaining:p})}})},46386:function(i,d,t){var r=t(14304),n=t(55902),e=t(85156),o=t(25001),s=t(10613);r({target:"Iterator",proto:!0,real:!0},{every:function(l){o(this),e(l);var v=s(this),c=0;return!n(v,function(g,y){if(!l(g,c++))return y()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},35179:function(i,d,t){var r=t(14304),n=t(96499),e=t(85156),o=t(25001),s=t(10613),u=t(44736),l=t(39969),v=t(70457),c=u(function(){for(var g=this.iterator,y=this.predicate,p=this.next,m,S,x;;){if(m=o(n(p,g)),S=this.done=!!m.done,S)return;if(x=m.value,l(g,y,[x,this.counter++],!0))return x}});r({target:"Iterator",proto:!0,real:!0,forced:v},{filter:function(y){return o(this),e(y),new c(s(this),{predicate:y})}})},20150:function(i,d,t){var r=t(14304),n=t(55902),e=t(85156),o=t(25001),s=t(10613);r({target:"Iterator",proto:!0,real:!0},{find:function(l){o(this),e(l);var v=s(this),c=0;return n(v,function(g,y){if(l(g,c++))return y(g)},{IS_RECORD:!0,INTERRUPTED:!0}).result}})},23001:function(i,d,t){var r=t(14304),n=t(96499),e=t(85156),o=t(25001),s=t(10613),u=t(12124),l=t(44736),v=t(99797),c=t(70457),g=l(function(){for(var y=this.iterator,p=this.mapper,m,S;;){if(S=this.inner)try{if(m=o(n(S.next,S.iterator)),!m.done)return m.value;this.inner=null}catch(x){v(y,"throw",x)}if(m=o(n(this.next,y)),this.done=!!m.done)return;try{this.inner=u(p(m.value,this.counter++),!1)}catch(x){v(y,"throw",x)}}});r({target:"Iterator",proto:!0,real:!0,forced:c},{flatMap:function(p){return o(this),e(p),new g(s(this),{mapper:p,inner:null})}})},40334:function(i,d,t){var r=t(14304),n=t(55902),e=t(85156),o=t(25001),s=t(10613);r({target:"Iterator",proto:!0,real:!0},{forEach:function(l){o(this),e(l);var v=s(this),c=0;n(v,function(g){l(g,c++)},{IS_RECORD:!0})}})},87457:function(i,d,t){var r=t(14304),n=t(96499),e=t(49671),o=t(95307),s=t(24519).IteratorPrototype,u=t(44736),l=t(12124),v=t(70457),c=u(function(){return n(this.next,this.iterator)},!0);r({target:"Iterator",stat:!0,forced:v},{from:function(y){var p=l(typeof y=="string"?e(y):y,!0);return o(s,p.iterator)?p.iterator:new c(p)}})},66699:function(i,d,t){var r=t(14304),n=t(96191),e=t(70457);r({target:"Iterator",proto:!0,real:!0,forced:e},{map:n})},17535:function(i,d,t){var r=t(14304),n=t(55902),e=t(85156),o=t(25001),s=t(10613),u=TypeError;r({target:"Iterator",proto:!0,real:!0},{reduce:function(v){o(this),e(v);var c=s(this),g=arguments.length<2,y=g?void 0:arguments[1],p=0;if(n(c,function(m){g?(g=!1,y=m):y=v(y,m,p),p++},{IS_RECORD:!0}),g)throw new u("Reduce of empty iterator with no initial value");return y}})},48157:function(i,d,t){var r=t(14304),n=t(55902),e=t(85156),o=t(25001),s=t(10613);r({target:"Iterator",proto:!0,real:!0},{some:function(l){o(this),e(l);var v=s(this),c=0;return n(v,function(g,y){if(l(g,c++))return y()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},55338:function(i,d,t){var r=t(14304),n=t(96499),e=t(25001),o=t(10613),s=t(93483),u=t(98072),l=t(44736),v=t(99797),c=t(70457),g=l(function(){var y=this.iterator;if(!this.remaining--)return this.done=!0,v(y,"normal",void 0);var p=e(n(this.next,y)),m=this.done=!!p.done;if(!m)return p.value});r({target:"Iterator",proto:!0,real:!0,forced:c},{take:function(p){e(this);var m=u(s(+p));return new g(o(this),{remaining:m})}})},6644:function(i,d,t){var r=t(14304),n=t(25001),e=t(55902),o=t(10613),s=[].push;r({target:"Iterator",proto:!0,real:!0},{toArray:function(){var l=[];return e(o(n(this)),s,{that:l,IS_RECORD:!0}),l}})},71332:function(i,d,t){var r=t(14304),n=t(38941),e=t(66543),o=t(96499),s=t(11286),u=t(72069),l=t(23583),v=t(491),c=t(22806),g=t(10443),y=t(39729),p=String,m=n("JSON","stringify"),S=s(/./.exec),x=s("".charAt),O=s("".charCodeAt),P=s("".replace),T=s(1 .toString),R=/[\uD800-\uDFFF]/g,N=/^[\uD800-\uDBFF]$/,A=/^[\uDC00-\uDFFF]$/,C=!y||u(function(){var L=n("Symbol")("stringify detection");return m([L])!=="[null]"||m({a:L})!=="{}"||m(Object(L))!=="{}"}),D=u(function(){return m("\uDF06\uD834")!=='"\\udf06\\ud834"'||m("\uDEAD")!=='"\\udead"'}),$=function(L,G){var H=c(arguments),U=g(G);if(!(!l(U)&&(L===void 0||v(L))))return H[1]=function(B,j){if(l(U)&&(j=o(U,this,p(B),j)),!v(j))return j},e(m,null,H)},F=function(L,G,H){var U=x(H,G-1),B=x(H,G+1);return S(N,L)&&!S(A,B)||S(A,L)&&!S(N,U)?"\\u"+T(O(L,0),16):L};m&&r({target:"JSON",stat:!0,arity:3,forced:C||D},{stringify:function(G,H,U){var B=c(arguments),j=e(C?$:m,null,B);return D&&typeof j=="string"?P(j,R,F):j}})},47269:function(i,d,t){var r=t(34246),n=t(78401);n(r.JSON,"JSON",!0)},87777:function(i,d,t){var r=t(89378),n=t(34440);r("Map",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},n)},22090:function(i,d,t){var r=t(14304),n=t(11286),e=t(85156),o=t(2068),s=t(55902),u=t(1774),l=t(70457),v=t(72069),c=u.Map,g=u.has,y=u.get,p=u.set,m=n([].push),S=l||v(function(){return c.groupBy("ab",function(x){return x}).get("a").length!==1});r({target:"Map",stat:!0,forced:l||S},{groupBy:function(O,P){o(O),e(P);var T=new c,R=0;return s(O,function(N){var A=P(N,R++);g(T,A)?m(y(T,A),N):p(T,A,[N])}),T}})},25627:function(i,d,t){t(87777)},9839:function(i,d,t){var r=t(14304),n=t(49366),e=Math.acosh,o=Math.log,s=Math.sqrt,u=Math.LN2,l=!e||Math.floor(e(Number.MAX_VALUE))!==710||e(1/0)!==1/0;r({target:"Math",stat:!0,forced:l},{acosh:function(c){var g=+c;return g<1?NaN:g>9490626562425156e-8?o(g)+u:n(g-1+s(g-1)*s(g+1))}})},15656:function(i,d,t){var r=t(14304),n=Math.asinh,e=Math.log,o=Math.sqrt;function s(l){var v=+l;return!isFinite(v)||v===0?v:v<0?-s(-v):e(v+o(v*v+1))}var u=!(n&&1/n(0)>0);r({target:"Math",stat:!0,forced:u},{asinh:s})},22091:function(i,d,t){var r=t(14304),n=Math.atanh,e=Math.log,o=!(n&&1/n(-0)<0);r({target:"Math",stat:!0,forced:o},{atanh:function(u){var l=+u;return l===0?l:e((1+l)/(1-l))/2}})},2886:function(i,d,t){var r=t(14304),n=t(93976),e=Math.abs,o=Math.pow;r({target:"Math",stat:!0},{cbrt:function(u){var l=+u;return n(l)*o(e(l),.3333333333333333)}})},25895:function(i,d,t){var r=t(14304),n=Math.floor,e=Math.log,o=Math.LOG2E;r({target:"Math",stat:!0},{clz32:function(u){var l=u>>>0;return l?31-n(e(l+.5)*o):32}})},24228:function(i,d,t){var r=t(14304),n=t(98940),e=Math.cosh,o=Math.abs,s=Math.E,u=!e||e(710)===1/0;r({target:"Math",stat:!0,forced:u},{cosh:function(v){var c=n(o(v)-1)+1;return(c+1/(c*s*s))*(s/2)}})},79488:function(i,d,t){var r=t(14304),n=t(98940);r({target:"Math",stat:!0,forced:n!==Math.expm1},{expm1:n})},75987:function(i,d,t){var r=t(14304),n=t(93279);r({target:"Math",stat:!0},{fround:n})},81555:function(i,d,t){var r=t(14304),n=Math.hypot,e=Math.abs,o=Math.sqrt,s=!!n&&n(1/0,NaN)!==1/0;r({target:"Math",stat:!0,arity:2,forced:s},{hypot:function(l,v){for(var c=0,g=0,y=arguments.length,p=0,m,S;g<y;)m=e(arguments[g++]),p<m?(S=p/m,c=c*S*S+1,p=m):m>0?(S=m/p,c+=S*S):c+=m;return p===1/0?1/0:p*o(c)}})},87854:function(i,d,t){var r=t(14304),n=t(72069),e=Math.imul,o=n(function(){return e(4294967295,5)!==-5||e.length!==2});r({target:"Math",stat:!0,forced:o},{imul:function(u,l){var v=65535,c=+u,g=+l,y=v&c,p=v&g;return 0|y*p+((v&c>>>16)*p+y*(v&g>>>16)<<16>>>0)}})},35074:function(i,d,t){var r=t(14304),n=t(41942);r({target:"Math",stat:!0},{log10:n})},50946:function(i,d,t){var r=t(14304),n=t(49366);r({target:"Math",stat:!0},{log1p:n})},29417:function(i,d,t){var r=t(14304),n=Math.log,e=Math.LN2;r({target:"Math",stat:!0},{log2:function(s){return n(s)/e}})},80628:function(i,d,t){var r=t(14304),n=t(93976);r({target:"Math",stat:!0},{sign:n})},74375:function(i,d,t){var r=t(14304),n=t(72069),e=t(98940),o=Math.abs,s=Math.exp,u=Math.E,l=n(function(){return Math.sinh(-2e-17)!==-2e-17});r({target:"Math",stat:!0,forced:l},{sinh:function(c){var g=+c;return o(g)<1?(e(g)-e(-g))/2:(s(g-1)-s(-g-1))*(u/2)}})},29708:function(i,d,t){var r=t(14304),n=t(98940),e=Math.exp;r({target:"Math",stat:!0},{tanh:function(s){var u=+s,l=n(u),v=n(-u);return l===1/0?1:v===1/0?-1:(l-v)/(e(u)+e(-u))}})},93449:function(i,d,t){var r=t(78401);r(Math,"Math",!0)},9111:function(i,d,t){var r=t(14304),n=t(22459);r({target:"Math",stat:!0},{trunc:n})},83514:function(i,d,t){var r=t(14304),n=t(70457),e=t(92986),o=t(34246),s=t(75081),u=t(11286),l=t(13278),v=t(94879),c=t(32345),g=t(95307),y=t(491),p=t(89935),m=t(72069),S=t(83258).f,x=t(71349).f,O=t(7831).f,P=t(34338),T=t(85900).trim,R="Number",N=o[R],A=s[R],C=N.prototype,D=o.TypeError,$=u("".slice),F=u("".charCodeAt),L=function(z){var Q=p(z,"number");return typeof Q=="bigint"?Q:G(Q)},G=function(z){var Q=p(z,"number"),X,k,Z,gt,lt,yt,Ot,Rt;if(y(Q))throw new D("Cannot convert a Symbol value to a number");if(typeof Q=="string"&&Q.length>2){if(Q=T(Q),X=F(Q,0),X===43||X===45){if(k=F(Q,2),k===88||k===120)return NaN}else if(X===48){switch(F(Q,1)){case 66:case 98:Z=2,gt=49;break;case 79:case 111:Z=8,gt=55;break;default:return+Q}for(lt=$(Q,2),yt=lt.length,Ot=0;Ot<yt;Ot++)if(Rt=F(lt,Ot),Rt<48||Rt>gt)return NaN;return parseInt(lt,Z)}}return+Q},H=l(R,!N(" 0o1")||!N("0b1")||N("+0x1")),U=function(z){return g(C,z)&&m(function(){P(z)})},B=function(Q){var X=arguments.length<1?0:N(L(Q));return U(this)?c(Object(X),this,B):X};B.prototype=C,H&&!n&&(C.constructor=B),r({global:!0,constructor:!0,wrap:!0,forced:H},{Number:B});var j=function(z,Q){for(var X=e?S(Q):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),k=0,Z;X.length>k;k++)v(Q,Z=X[k])&&!v(z,Z)&&O(z,Z,x(Q,Z))};n&&A&&j(s[R],A),(H||n)&&j(s[R],N)},15096:function(i,d,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},59590:function(i,d,t){var r=t(14304),n=t(98074);r({target:"Number",stat:!0},{isFinite:n})},99663:function(i,d,t){var r=t(14304),n=t(613);r({target:"Number",stat:!0},{isInteger:n})},89988:function(i,d,t){var r=t(14304);r({target:"Number",stat:!0},{isNaN:function(e){return e!==e}})},54427:function(i,d,t){var r=t(14304),n=t(613),e=Math.abs;r({target:"Number",stat:!0},{isSafeInteger:function(s){return n(s)&&e(s)<=9007199254740991}})},67895:function(i,d,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},57909:function(i,d,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},83938:function(i,d,t){var r=t(14304),n=t(25838);r({target:"Number",stat:!0,forced:Number.parseFloat!==n},{parseFloat:n})},55461:function(i,d,t){var r=t(14304),n=t(23009);r({target:"Number",stat:!0,forced:Number.parseInt!==n},{parseInt:n})},97339:function(i,d,t){var r=t(14304),n=t(11286),e=t(12105),o=t(34338),s=t(79719),u=t(41942),l=t(72069),v=RangeError,c=String,g=isFinite,y=Math.abs,p=Math.floor,m=Math.pow,S=Math.round,x=n(1 .toExponential),O=n(s),P=n("".slice),T=x(-69e-12,4)==="-6.9000e-11"&&x(1.255,2)==="1.25e+0"&&x(12345,3)==="1.235e+4"&&x(25,0)==="3e+1",R=function(){return l(function(){x(1,1/0)})&&l(function(){x(1,-1/0)})},N=function(){return!l(function(){x(1/0,1/0),x(NaN,1/0)})},A=!T||!R()||!N();r({target:"Number",proto:!0,forced:A},{toExponential:function(D){var $=o(this);if(D===void 0)return x($);var F=e(D);if(!g($))return String($);if(F<0||F>20)throw new v("Incorrect fraction digits");if(T)return x($,F);var L="",G,H,U,B;if($<0&&(L="-",$=-$),$===0)H=0,G=O("0",F+1);else{var j=u($);H=p(j);var z=m(10,H-F),Q=S($/z);2*$>=(2*Q+1)*z&&(Q+=1),Q>=m(10,F+1)&&(Q/=10,H+=1),G=c(Q)}return F!==0&&(G=P(G,0,1)+"."+P(G,1)),H===0?(U="+",B="0"):(U=H>0?"+":"-",B=c(y(H))),G+="e"+U+B,L+G}})},3670:function(i,d,t){var r=t(14304),n=t(11286),e=t(12105),o=t(34338),s=t(79719),u=t(72069),l=RangeError,v=String,c=Math.floor,g=n(s),y=n("".slice),p=n(1 .toFixed),m=function(R,N,A){return N===0?A:N%2===1?m(R,N-1,A*R):m(R*R,N/2,A)},S=function(R){for(var N=0,A=R;A>=4096;)N+=12,A/=4096;for(;A>=2;)N+=1,A/=2;return N},x=function(R,N,A){for(var C=-1,D=A;++C<6;)D+=N*R[C],R[C]=D%1e7,D=c(D/1e7)},O=function(R,N){for(var A=6,C=0;--A>=0;)C+=R[A],R[A]=c(C/N),C=C%N*1e7},P=function(R){for(var N=6,A="";--N>=0;)if(A!==""||N===0||R[N]!==0){var C=v(R[N]);A=A===""?C:A+g("0",7-C.length)+C}return A},T=u(function(){return p(8e-5,3)!=="0.000"||p(.9,0)!=="1"||p(1.255,2)!=="1.25"||p(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!u(function(){p({})});r({target:"Number",proto:!0,forced:T},{toFixed:function(N){var A=o(this),C=e(N),D=[0,0,0,0,0,0],$="",F="0",L,G,H,U;if(C<0||C>20)throw new l("Incorrect fraction digits");if(A!==A)return"NaN";if(A<=-1e21||A>=1e21)return v(A);if(A<0&&($="-",A=-A),A>1e-21)if(L=S(A*m(2,69,1))-69,G=L<0?A*m(2,-L,1):A/m(2,L,1),G*=4503599627370496,L=52-L,L>0){for(x(D,0,G),H=C;H>=7;)x(D,1e7,0),H-=7;for(x(D,m(10,H,1),0),H=L-1;H>=23;)O(D,8388608),H-=23;O(D,1<<H),x(D,1,1),O(D,2),F=P(D)}else x(D,0,G),x(D,1<<-L,0),F=P(D)+g("0",C);return C>0?(U=F.length,F=$+(U<=C?"0."+g("0",C-U)+F:y(F,0,U-C)+"."+y(F,U-C))):F=$+F,F}})},15224:function(i,d,t){var r=t(14304),n=t(11286),e=t(72069),o=t(34338),s=n(1 .toPrecision),u=e(function(){return s(1,void 0)!=="1"})||!e(function(){s({})});r({target:"Number",proto:!0,forced:u},{toPrecision:function(v){return v===void 0?s(o(this)):s(o(this),v)}})},45891:function(i,d,t){var r=t(14304),n=t(16667);r({target:"Object",stat:!0,arity:2,forced:Object.assign!==n},{assign:n})},99910:function(i,d,t){var r=t(14304),n=t(92986),e=t(5406);r({target:"Object",stat:!0,sham:!n},{create:e})},92445:function(i,d,t){var r=t(14304),n=t(92986),e=t(57629),o=t(85156),s=t(49671),u=t(7831);n&&r({target:"Object",proto:!0,forced:e},{__defineGetter__:function(v,c){u.f(s(this),v,{get:o(c),enumerable:!0,configurable:!0})}})},21875:function(i,d,t){var r=t(14304),n=t(92986),e=t(61963).f;r({target:"Object",stat:!0,forced:Object.defineProperties!==e,sham:!n},{defineProperties:e})},4383:function(i,d,t){var r=t(14304),n=t(92986),e=t(7831).f;r({target:"Object",stat:!0,forced:Object.defineProperty!==e,sham:!n},{defineProperty:e})},11361:function(i,d,t){var r=t(14304),n=t(92986),e=t(57629),o=t(85156),s=t(49671),u=t(7831);n&&r({target:"Object",proto:!0,forced:e},{__defineSetter__:function(v,c){u.f(s(this),v,{set:o(c),enumerable:!0,configurable:!0})}})},13728:function(i,d,t){var r=t(14304),n=t(8511).entries;r({target:"Object",stat:!0},{entries:function(o){return n(o)}})},14885:function(i,d,t){var r=t(14304),n=t(27534),e=t(72069),o=t(37540),s=t(31853).onFreeze,u=Object.freeze,l=e(function(){u(1)});r({target:"Object",stat:!0,forced:l,sham:!n},{freeze:function(c){return u&&o(c)?u(s(c)):c}})},30343:function(i,d,t){var r=t(14304),n=t(55902),e=t(84082);r({target:"Object",stat:!0},{fromEntries:function(s){var u={};return n(s,function(l,v){e(u,l,v)},{AS_ENTRIES:!0}),u}})},22045:function(i,d,t){var r=t(14304),n=t(72069),e=t(36859),o=t(71349).f,s=t(92986),u=!s||n(function(){o(1)});r({target:"Object",stat:!0,forced:u,sham:!s},{getOwnPropertyDescriptor:function(v,c){return o(e(v),c)}})},75e3:function(i,d,t){var r=t(14304),n=t(92986),e=t(16885),o=t(36859),s=t(71349),u=t(84082);r({target:"Object",stat:!0,sham:!n},{getOwnPropertyDescriptors:function(v){for(var c=o(v),g=s.f,y=e(c),p={},m=0,S,x;y.length>m;)x=g(c,S=y[m++]),x!==void 0&&u(p,S,x);return p}})},64658:function(i,d,t){var r=t(14304),n=t(72069),e=t(92880).f,o=n(function(){return!Object.getOwnPropertyNames(1)});r({target:"Object",stat:!0,forced:o},{getOwnPropertyNames:e})},45223:function(i,d,t){var r=t(14304),n=t(39729),e=t(72069),o=t(24943),s=t(49671),u=!n||e(function(){o.f(1)});r({target:"Object",stat:!0,forced:u},{getOwnPropertySymbols:function(v){var c=o.f;return c?c(s(v)):[]}})},16017:function(i,d,t){var r=t(14304),n=t(72069),e=t(49671),o=t(26313),s=t(87501),u=n(function(){o(1)});r({target:"Object",stat:!0,forced:u,sham:!s},{getPrototypeOf:function(v){return o(e(v))}})},84681:function(i,d,t){var r=t(14304),n=t(38941),e=t(11286),o=t(85156),s=t(2068),u=t(50035),l=t(55902),v=t(72069),c=Object.groupBy,g=n("Object","create"),y=e([].push),p=!c||v(function(){return c("ab",function(m){return m}).a.length!==1});r({target:"Object",stat:!0,forced:p},{groupBy:function(S,x){s(S),o(x);var O=g(null),P=0;return l(S,function(T){var R=u(x(T,P++));R in O?y(O[R],T):O[R]=[T]}),O}})},73421:function(i,d,t){var r=t(14304),n=t(94879);r({target:"Object",stat:!0},{hasOwn:n})},31046:function(i,d,t){var r=t(14304),n=t(28174);r({target:"Object",stat:!0,forced:Object.isExtensible!==n},{isExtensible:n})},94645:function(i,d,t){var r=t(14304),n=t(72069),e=t(37540),o=t(14274),s=t(72058),u=Object.isFrozen,l=s||n(function(){u(1)});r({target:"Object",stat:!0,forced:l},{isFrozen:function(c){return!e(c)||s&&o(c)==="ArrayBuffer"?!0:u?u(c):!1}})},62935:function(i,d,t){var r=t(14304),n=t(72069),e=t(37540),o=t(14274),s=t(72058),u=Object.isSealed,l=s||n(function(){u(1)});r({target:"Object",stat:!0,forced:l},{isSealed:function(c){return!e(c)||s&&o(c)==="ArrayBuffer"?!0:u?u(c):!1}})},93446:function(i,d,t){var r=t(14304),n=t(13944);r({target:"Object",stat:!0},{is:n})},62518:function(i,d,t){var r=t(14304),n=t(49671),e=t(18350),o=t(72069),s=o(function(){e(1)});r({target:"Object",stat:!0,forced:s},{keys:function(l){return e(n(l))}})},45130:function(i,d,t){var r=t(14304),n=t(92986),e=t(57629),o=t(49671),s=t(50035),u=t(26313),l=t(71349).f;n&&r({target:"Object",proto:!0,forced:e},{__lookupGetter__:function(c){var g=o(this),y=s(c),p;do if(p=l(g,y))return p.get;while(g=u(g))}})},51542:function(i,d,t){var r=t(14304),n=t(92986),e=t(57629),o=t(49671),s=t(50035),u=t(26313),l=t(71349).f;n&&r({target:"Object",proto:!0,forced:e},{__lookupSetter__:function(c){var g=o(this),y=s(c),p;do if(p=l(g,y))return p.set;while(g=u(g))}})},43781:function(i,d,t){var r=t(14304),n=t(37540),e=t(31853).onFreeze,o=t(27534),s=t(72069),u=Object.preventExtensions,l=s(function(){u(1)});r({target:"Object",stat:!0,forced:l,sham:!o},{preventExtensions:function(c){return u&&n(c)?u(e(c)):c}})},25738:function(i,d,t){var r=t(92986),n=t(85500),e=t(37540),o=t(52427),s=t(49671),u=t(2068),l=Object.getPrototypeOf,v=Object.setPrototypeOf,c=Object.prototype,g="__proto__";if(r&&l&&v&&!(g in c))try{n(c,g,{configurable:!0,get:function(){return l(s(this))},set:function(p){var m=u(this);o(p)&&e(m)&&v(m,p)}})}catch(y){}},93247:function(i,d,t){var r=t(14304),n=t(37540),e=t(31853).onFreeze,o=t(27534),s=t(72069),u=Object.seal,l=s(function(){u(1)});r({target:"Object",stat:!0,forced:l,sham:!o},{seal:function(c){return u&&n(c)?u(e(c)):c}})},41533:function(i,d,t){var r=t(14304),n=t(15861);r({target:"Object",stat:!0},{setPrototypeOf:n})},60225:function(i,d,t){var r=t(67878),n=t(16142),e=t(60105);r||n(Object.prototype,"toString",e,{unsafe:!0})},69920:function(i,d,t){var r=t(14304),n=t(8511).values;r({target:"Object",stat:!0},{values:function(o){return n(o)}})},89205:function(i,d,t){var r=t(14304),n=t(25838);r({global:!0,forced:parseFloat!==n},{parseFloat:n})},78546:function(i,d,t){var r=t(14304),n=t(23009);r({global:!0,forced:parseInt!==n},{parseInt:n})},16893:function(i,d,t){var r=t(14304),n=t(96499),e=t(85156),o=t(24649),s=t(67805),u=t(55902),l=t(26035);r({target:"Promise",stat:!0,forced:l},{allSettled:function(c){var g=this,y=o.f(g),p=y.resolve,m=y.reject,S=s(function(){var x=e(g.resolve),O=[],P=0,T=1;u(c,function(R){var N=P++,A=!1;T++,n(x,g,R).then(function(C){A||(A=!0,O[N]={status:"fulfilled",value:C},--T||p(O))},function(C){A||(A=!0,O[N]={status:"rejected",reason:C},--T||p(O))})}),--T||p(O)});return S.error&&m(S.value),y.promise}})},11733:function(i,d,t){var r=t(14304),n=t(96499),e=t(85156),o=t(24649),s=t(67805),u=t(55902),l=t(26035);r({target:"Promise",stat:!0,forced:l},{all:function(c){var g=this,y=o.f(g),p=y.resolve,m=y.reject,S=s(function(){var x=e(g.resolve),O=[],P=0,T=1;u(c,function(R){var N=P++,A=!1;T++,n(x,g,R).then(function(C){A||(A=!0,O[N]=C,--T||p(O))},m)}),--T||p(O)});return S.error&&m(S.value),y.promise}})},3676:function(i,d,t){var r=t(14304),n=t(96499),e=t(85156),o=t(38941),s=t(24649),u=t(67805),l=t(55902),v=t(26035),c="No one promise resolved";r({target:"Promise",stat:!0,forced:v},{any:function(y){var p=this,m=o("AggregateError"),S=s.f(p),x=S.resolve,O=S.reject,P=u(function(){var T=e(p.resolve),R=[],N=0,A=1,C=!1;l(y,function(D){var $=N++,F=!1;A++,n(T,p,D).then(function(L){F||C||(C=!0,x(L))},function(L){F||C||(F=!0,R[$]=L,--A||O(new m(R,c)))})}),--A||O(new m(R,c))});return P.error&&O(P.value),S.promise}})},14013:function(i,d,t){var r=t(14304),n=t(70457),e=t(37130).CONSTRUCTOR,o=t(98844),s=t(38941),u=t(23583),l=t(16142),v=o&&o.prototype;if(r({target:"Promise",proto:!0,forced:e,real:!0},{catch:function(g){return this.then(void 0,g)}}),!n&&u(o)){var c=s("Promise").prototype.catch;v.catch!==c&&l(v,"catch",c,{unsafe:!0})}},20238:function(i,d,t){var r=t(14304),n=t(70457),e=t(91707),o=t(34246),s=t(96499),u=t(16142),l=t(15861),v=t(78401),c=t(36167),g=t(85156),y=t(23583),p=t(37540),m=t(12833),S=t(16887),x=t(23115).set,O=t(9709),P=t(99095),T=t(67805),R=t(76895),N=t(82367),A=t(98844),C=t(37130),D=t(24649),$="Promise",F=C.CONSTRUCTOR,L=C.REJECTION_EVENT,G=C.SUBCLASSING,H=N.getterFor($),U=N.set,B=A&&A.prototype,j=A,z=B,Q=o.TypeError,X=o.document,k=o.process,Z=D.f,gt=Z,lt=!!(X&&X.createEvent&&o.dispatchEvent),yt="unhandledrejection",Ot="rejectionhandled",Rt=0,Wt=1,Vt=2,$t=1,vt=2,mt,Mt,Ft,Nt,Bt=function(_){var At;return p(_)&&y(At=_.then)?At:!1},qt=function(_,At){var Pt=At.value,It=At.state===Wt,St=It?_.ok:_.fail,er=_.resolve,or=_.reject,K=_.domain,et,it,ot;try{St?(It||(At.rejection===vt&&Yt(At),At.rejection=$t),St===!0?et=Pt:(K&&K.enter(),et=St(Pt),K&&(K.exit(),ot=!0)),et===_.promise?or(new Q("Promise-chain cycle")):(it=Bt(et))?s(it,et,er,or):er(et)):or(Pt)}catch(ct){K&&!ot&&K.exit(),or(ct)}},_t=function(_,At){_.notified||(_.notified=!0,O(function(){for(var Pt=_.reactions,It;It=Pt.get();)qt(It,_);_.notified=!1,At&&!_.rejection&&Lt(_)}))},Xt=function(_,At,Pt){var It,St;lt?(It=X.createEvent("Event"),It.promise=At,It.reason=Pt,It.initEvent(_,!1,!0),o.dispatchEvent(It)):It={promise:At,reason:Pt},!L&&(St=o["on"+_])?St(It):_===yt&&P("Unhandled promise rejection",Pt)},Lt=function(_){s(x,o,function(){var At=_.facade,Pt=_.value,It=Jt(_),St;if(It&&(St=T(function(){e?k.emit("unhandledRejection",Pt,At):Xt(yt,At,Pt)}),_.rejection=e||Jt(_)?vt:$t,St.error))throw St.value})},Jt=function(_){return _.rejection!==$t&&!_.parent},Yt=function(_){s(x,o,function(){var At=_.facade;e?k.emit("rejectionHandled",At):Xt(Ot,At,_.value)})},jt=function(_,At,Pt){return function(It){_(At,It,Pt)}},st=function(_,At,Pt){_.done||(_.done=!0,Pt&&(_=Pt),_.value=At,_.state=Vt,_t(_,!0))},dt=function(_,At,Pt){if(!_.done){_.done=!0,Pt&&(_=Pt);try{if(_.facade===At)throw new Q("Promise can't be resolved itself");var It=Bt(At);It?O(function(){var St={done:!1};try{s(It,At,jt(dt,St,_),jt(st,St,_))}catch(er){st(St,er,_)}}):(_.value=At,_.state=Wt,_t(_,!1))}catch(St){st({done:!1},St,_)}}};if(F&&(j=function(At){m(this,z),g(At),s(mt,this);var Pt=H(this);try{At(jt(dt,Pt),jt(st,Pt))}catch(It){st(Pt,It)}},z=j.prototype,mt=function(At){U(this,{type:$,done:!1,notified:!1,parent:!1,reactions:new R,rejection:!1,state:Rt,value:null})},mt.prototype=u(z,"then",function(At,Pt){var It=H(this),St=Z(S(this,j));return It.parent=!0,St.ok=y(At)?At:!0,St.fail=y(Pt)&&Pt,St.domain=e?k.domain:void 0,It.state===Rt?It.reactions.add(St):O(function(){qt(St,It)}),St.promise}),Mt=function(){var _=new mt,At=H(_);this.promise=_,this.resolve=jt(dt,At),this.reject=jt(st,At)},D.f=Z=function(_){return _===j||_===Ft?new Mt(_):gt(_)},!n&&y(A)&&B!==Object.prototype)){Nt=B.then,G||u(B,"then",function(At,Pt){var It=this;return new j(function(St,er){s(Nt,It,St,er)}).then(At,Pt)},{unsafe:!0});try{delete B.constructor}catch(_){}l&&l(B,z)}r({global:!0,constructor:!0,wrap:!0,forced:F},{Promise:j}),v(j,$,!1,!0),c($)},58361:function(i,d,t){var r=t(14304),n=t(70457),e=t(98844),o=t(72069),s=t(38941),u=t(23583),l=t(16887),v=t(87408),c=t(16142),g=e&&e.prototype,y=!!e&&o(function(){g.finally.call({then:function(){}},function(){})});if(r({target:"Promise",proto:!0,real:!0,forced:y},{finally:function(m){var S=l(this,s("Promise")),x=u(m);return this.then(x?function(O){return v(S,m()).then(function(){return O})}:m,x?function(O){return v(S,m()).then(function(){throw O})}:m)}}),!n&&u(e)){var p=s("Promise").prototype.finally;g.finally!==p&&c(g,"finally",p,{unsafe:!0})}},63616:function(i,d,t){t(20238),t(11733),t(14013),t(3037),t(36027),t(97282)},3037:function(i,d,t){var r=t(14304),n=t(96499),e=t(85156),o=t(24649),s=t(67805),u=t(55902),l=t(26035);r({target:"Promise",stat:!0,forced:l},{race:function(c){var g=this,y=o.f(g),p=y.reject,m=s(function(){var S=e(g.resolve);u(c,function(x){n(S,g,x).then(y.resolve,p)})});return m.error&&p(m.value),y.promise}})},36027:function(i,d,t){var r=t(14304),n=t(24649),e=t(37130).CONSTRUCTOR;r({target:"Promise",stat:!0,forced:e},{reject:function(s){var u=n.f(this),l=u.reject;return l(s),u.promise}})},97282:function(i,d,t){var r=t(14304),n=t(38941),e=t(70457),o=t(98844),s=t(37130).CONSTRUCTOR,u=t(87408),l=n("Promise"),v=e&&!s;r({target:"Promise",stat:!0,forced:e||s},{resolve:function(g){return u(v&&this===l?o:this,g)}})},7487:function(i,d,t){var r=t(14304),n=t(34246),e=t(66543),o=t(22806),s=t(24649),u=t(85156),l=t(67805),v=n.Promise,c=!1,g=!v||!v.try||l(function(){v.try(function(y){c=y===8},8)}).error||!c;r({target:"Promise",stat:!0,forced:g},{try:function(y){var p=arguments.length>1?o(arguments,1):[],m=s.f(this),S=l(function(){return e(u(y),void 0,p)});return(S.error?m.reject:m.resolve)(S.value),m.promise}})},23958:function(i,d,t){var r=t(14304),n=t(24649);r({target:"Promise",stat:!0},{withResolvers:function(){var o=n.f(this);return{promise:o.promise,resolve:o.resolve,reject:o.reject}}})},9798:function(i,d,t){var r=t(14304),n=t(66543),e=t(85156),o=t(25001),s=t(72069),u=!s(function(){Reflect.apply(function(){})});r({target:"Reflect",stat:!0,forced:u},{apply:function(v,c,g){return n(e(v),c,o(g))}})},2371:function(i,d,t){var r=t(14304),n=t(38941),e=t(66543),o=t(91384),s=t(80042),u=t(25001),l=t(37540),v=t(5406),c=t(72069),g=n("Reflect","construct"),y=Object.prototype,p=[].push,m=c(function(){function O(){}return!(g(function(){},[],O)instanceof O)}),S=!c(function(){g(function(){})}),x=m||S;r({target:"Reflect",stat:!0,forced:x,sham:x},{construct:function(P,T){s(P),u(T);var R=arguments.length<3?P:s(arguments[2]);if(S&&!m)return g(P,T,R);if(P===R){switch(T.length){case 0:return new P;case 1:return new P(T[0]);case 2:return new P(T[0],T[1]);case 3:return new P(T[0],T[1],T[2]);case 4:return new P(T[0],T[1],T[2],T[3])}var N=[null];return e(p,N,T),new(e(o,P,N))}var A=R.prototype,C=v(l(A)?A:y),D=e(P,C,T);return l(D)?D:C}})},76185:function(i,d,t){var r=t(14304),n=t(92986),e=t(25001),o=t(50035),s=t(7831),u=t(72069),l=u(function(){Reflect.defineProperty(s.f({},1,{value:1}),1,{value:2})});r({target:"Reflect",stat:!0,forced:l,sham:!n},{defineProperty:function(c,g,y){e(c);var p=o(g);e(y);try{return s.f(c,p,y),!0}catch(m){return!1}}})},76553:function(i,d,t){var r=t(14304),n=t(25001),e=t(71349).f;r({target:"Reflect",stat:!0},{deleteProperty:function(s,u){var l=e(n(s),u);return l&&!l.configurable?!1:delete s[u]}})},25227:function(i,d,t){var r=t(14304),n=t(92986),e=t(25001),o=t(71349);r({target:"Reflect",stat:!0,sham:!n},{getOwnPropertyDescriptor:function(u,l){return o.f(e(u),l)}})},91723:function(i,d,t){var r=t(14304),n=t(25001),e=t(26313),o=t(87501);r({target:"Reflect",stat:!0,sham:!o},{getPrototypeOf:function(u){return e(n(u))}})},93518:function(i,d,t){var r=t(14304),n=t(96499),e=t(37540),o=t(25001),s=t(69745),u=t(71349),l=t(26313);function v(c,g){var y=arguments.length<3?c:arguments[2],p,m;if(o(c)===y)return c[g];if(p=u.f(c,g),p)return s(p)?p.value:p.get===void 0?void 0:n(p.get,y);if(e(m=l(c)))return v(m,g,y)}r({target:"Reflect",stat:!0},{get:v})},57882:function(i,d,t){var r=t(14304);r({target:"Reflect",stat:!0},{has:function(e,o){return o in e}})},37796:function(i,d,t){var r=t(14304),n=t(25001),e=t(28174);r({target:"Reflect",stat:!0},{isExtensible:function(s){return n(s),e(s)}})},11563:function(i,d,t){var r=t(14304),n=t(16885);r({target:"Reflect",stat:!0},{ownKeys:n})},26159:function(i,d,t){var r=t(14304),n=t(38941),e=t(25001),o=t(27534);r({target:"Reflect",stat:!0,sham:!o},{preventExtensions:function(u){e(u);try{var l=n("Object","preventExtensions");return l&&l(u),!0}catch(v){return!1}}})},77487:function(i,d,t){var r=t(14304),n=t(25001),e=t(53408),o=t(15861);o&&r({target:"Reflect",stat:!0},{setPrototypeOf:function(u,l){n(u),e(l);try{return o(u,l),!0}catch(v){return!1}}})},20962:function(i,d,t){var r=t(14304),n=t(96499),e=t(25001),o=t(37540),s=t(69745),u=t(72069),l=t(7831),v=t(71349),c=t(26313),g=t(18526);function y(m,S,x){var O=arguments.length<4?m:arguments[3],P=v.f(e(m),S),T,R,N;if(!P){if(o(R=c(m)))return y(R,S,x,O);P=g(0)}if(s(P)){if(P.writable===!1||!o(O))return!1;if(T=v.f(O,S)){if(T.get||T.set||T.writable===!1)return!1;T.value=x,l.f(O,S,T)}else l.f(O,S,g(0,x))}else{if(N=P.set,N===void 0)return!1;n(N,O,x)}return!0}var p=u(function(){var m=function(){},S=l.f(new m,"a",{configurable:!0});return Reflect.set(m.prototype,"a",1,S)!==!1});r({target:"Reflect",stat:!0,forced:p},{set:y})},6130:function(i,d,t){var r=t(14304),n=t(34246),e=t(78401);r({global:!0},{Reflect:{}}),e(n.Reflect,"Reflect",!0)},1354:function(i,d,t){var r=t(92986),n=t(34246),e=t(11286),o=t(13278),s=t(32345),u=t(90809),l=t(5406),v=t(83258).f,c=t(95307),g=t(11566),y=t(17361),p=t(54932),m=t(39807),S=t(2594),x=t(16142),O=t(72069),P=t(94879),T=t(82367).enforce,R=t(36167),N=t(18565),A=t(76769),C=t(85220),D=N("match"),$=n.RegExp,F=$.prototype,L=n.SyntaxError,G=e(F.exec),H=e("".charAt),U=e("".replace),B=e("".indexOf),j=e("".slice),z=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,Q=/a/g,X=/a/g,k=new $(Q)!==Q,Z=m.MISSED_STICKY,gt=m.UNSUPPORTED_Y,lt=r&&(!k||Z||A||C||O(function(){return X[D]=!1,$(Q)!==Q||$(X)===X||String($(Q,"i"))!=="/a/i"})),yt=function($t){for(var vt=$t.length,mt=0,Mt="",Ft=!1,Nt;mt<=vt;mt++){if(Nt=H($t,mt),Nt==="\\"){Mt+=Nt+H($t,++mt);continue}!Ft&&Nt==="."?Mt+="[\\s\\S]":(Nt==="["?Ft=!0:Nt==="]"&&(Ft=!1),Mt+=Nt)}return Mt},Ot=function($t){for(var vt=$t.length,mt=0,Mt="",Ft=[],Nt=l(null),Bt=!1,qt=!1,_t=0,Xt="",Lt;mt<=vt;mt++){if(Lt=H($t,mt),Lt==="\\")Lt+=H($t,++mt);else if(Lt==="]")Bt=!1;else if(!Bt)switch(!0){case Lt==="[":Bt=!0;break;case Lt==="(":if(Mt+=Lt,j($t,mt+1,mt+3)==="?:")continue;G(z,j($t,mt+1))&&(mt+=2,qt=!0),_t++;continue;case(Lt===">"&&qt):if(Xt===""||P(Nt,Xt))throw new L("Invalid capture group name");Nt[Xt]=!0,Ft[Ft.length]=[Xt,_t],qt=!1,Xt="";continue}qt?Xt+=Lt:Mt+=Lt}return[Mt,Ft]};if(o("RegExp",lt)){for(var Rt=function(vt,mt){var Mt=c(F,this),Ft=g(vt),Nt=mt===void 0,Bt=[],qt=vt,_t,Xt,Lt,Jt,Yt,jt;if(!Mt&&Ft&&Nt&&vt.constructor===Rt)return vt;if((Ft||c(F,vt))&&(vt=vt.source,Nt&&(mt=p(qt))),vt=vt===void 0?"":y(vt),mt=mt===void 0?"":y(mt),qt=vt,A&&"dotAll"in Q&&(Xt=!!mt&&B(mt,"s")>-1,Xt&&(mt=U(mt,/s/g,""))),_t=mt,Z&&"sticky"in Q&&(Lt=!!mt&&B(mt,"y")>-1,Lt&>&&(mt=U(mt,/y/g,""))),C&&(Jt=Ot(vt),vt=Jt[0],Bt=Jt[1]),Yt=s($(vt,mt),Mt?this:F,Rt),(Xt||Lt||Bt.length)&&(jt=T(Yt),Xt&&(jt.dotAll=!0,jt.raw=Rt(yt(vt),_t)),Lt&&(jt.sticky=!0),Bt.length&&(jt.groups=Bt)),vt!==qt)try{u(Yt,"source",qt===""?"(?:)":qt)}catch(st){}return Yt},Wt=v($),Vt=0;Wt.length>Vt;)S(Rt,$,Wt[Vt++]);F.constructor=Rt,Rt.prototype=F,x(n,"RegExp",Rt,{constructor:!0})}R("RegExp")},47119:function(i,d,t){var r=t(92986),n=t(76769),e=t(14274),o=t(85500),s=t(82367).get,u=RegExp.prototype,l=TypeError;r&&n&&o(u,"dotAll",{configurable:!0,get:function(){if(this!==u){if(e(this)==="RegExp")return!!s(this).dotAll;throw new l("Incompatible receiver, RegExp required")}}})},31145:function(i,d,t){var r=t(14304),n=t(44381);r({target:"RegExp",proto:!0,forced:/./.exec!==n},{exec:n})},96773:function(i,d,t){var r=t(34246),n=t(92986),e=t(85500),o=t(29833),s=t(72069),u=r.RegExp,l=u.prototype,v=n&&s(function(){var c=!0;try{u(".","d")}catch(P){c=!1}var g={},y="",p=c?"dgimsy":"gimsy",m=function(P,T){Object.defineProperty(g,P,{get:function(){return y+=T,!0}})},S={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};c&&(S.hasIndices="d");for(var x in S)m(x,S[x]);var O=Object.getOwnPropertyDescriptor(l,"flags").get.call(g);return O!==p||y!==p});v&&e(l,"flags",{configurable:!0,get:o})},14371:function(i,d,t){var r=t(92986),n=t(39807).MISSED_STICKY,e=t(14274),o=t(85500),s=t(82367).get,u=RegExp.prototype,l=TypeError;r&&n&&o(u,"sticky",{configurable:!0,get:function(){if(this!==u){if(e(this)==="RegExp")return!!s(this).sticky;throw new l("Incompatible receiver, RegExp required")}}})},18180:function(i,d,t){t(31145);var r=t(14304),n=t(96499),e=t(23583),o=t(25001),s=t(17361),u=function(){var v=!1,c=/[ac]/;return c.exec=function(){return v=!0,/./.exec.apply(this,arguments)},c.test("abc")===!0&&v}(),l=/./.test;r({target:"RegExp",proto:!0,forced:!u},{test:function(v){var c=o(this),g=s(v),y=c.exec;if(!e(y))return n(l,c,g);var p=n(y,c,g);return p===null?!1:(o(p),!0)}})},83147:function(i,d,t){var r=t(86588).PROPER,n=t(16142),e=t(25001),o=t(17361),s=t(72069),u=t(54932),l="toString",v=RegExp.prototype,c=v[l],g=s(function(){return c.call({source:"a",flags:"b"})!=="/a/b"}),y=r&&c.name!==l;(g||y)&&n(v,l,function(){var m=e(this),S=o(m.source),x=o(u(m));return"/"+S+"/"+x},{unsafe:!0})},6583:function(i,d,t){var r=t(89378),n=t(34440);r("Set",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},n)},86548:function(i,d,t){var r=t(14304),n=t(41754),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("difference")},{difference:n})},15282:function(i,d,t){var r=t(14304),n=t(72069),e=t(92292),o=t(94118),s=!o("intersection")||n(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});r({target:"Set",proto:!0,real:!0,forced:s},{intersection:e})},51275:function(i,d,t){var r=t(14304),n=t(47391),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("isDisjointFrom")},{isDisjointFrom:n})},91890:function(i,d,t){var r=t(14304),n=t(75492),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("isSubsetOf")},{isSubsetOf:n})},15089:function(i,d,t){var r=t(14304),n=t(1333),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("isSupersetOf")},{isSupersetOf:n})},75765:function(i,d,t){t(6583)},78134:function(i,d,t){var r=t(14304),n=t(64680),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("symmetricDifference")},{symmetricDifference:n})},56456:function(i,d,t){var r=t(14304),n=t(70402),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("union")},{union:n})},70641:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("anchor")},{anchor:function(s){return n(this,"a","name",s)}})},40735:function(i,d,t){var r=t(14304),n=t(11286),e=t(2068),o=t(12105),s=t(17361),u=t(72069),l=n("".charAt),v=u(function(){return"\u{20BB7}".at(-2)!=="\uD842"});r({target:"String",proto:!0,forced:v},{at:function(g){var y=s(e(this)),p=y.length,m=o(g),S=m>=0?m:p+m;return S<0||S>=p?void 0:l(y,S)}})},53892:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("big")},{big:function(){return n(this,"big","","")}})},95976:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("blink")},{blink:function(){return n(this,"blink","","")}})},399:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("bold")},{bold:function(){return n(this,"b","","")}})},8510:function(i,d,t){var r=t(14304),n=t(22149).codeAt;r({target:"String",proto:!0},{codePointAt:function(o){return n(this,o)}})},70159:function(i,d,t){var r=t(14304),n=t(77422),e=t(71349).f,o=t(45344),s=t(17361),u=t(92337),l=t(2068),v=t(8790),c=t(70457),g=n("".slice),y=Math.min,p=v("endsWith"),m=!c&&!p&&!!function(){var S=e(String.prototype,"endsWith");return S&&!S.writable}();r({target:"String",proto:!0,forced:!m&&!p},{endsWith:function(x){var O=s(l(this));u(x);var P=arguments.length>1?arguments[1]:void 0,T=O.length,R=P===void 0?T:y(o(P),T),N=s(x);return g(O,R-N.length,R)===N}})},72032:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("fixed")},{fixed:function(){return n(this,"tt","","")}})},49442:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("fontcolor")},{fontcolor:function(s){return n(this,"font","color",s)}})},16012:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("fontsize")},{fontsize:function(s){return n(this,"font","size",s)}})},93087:function(i,d,t){var r=t(14304),n=t(11286),e=t(4652),o=RangeError,s=String.fromCharCode,u=String.fromCodePoint,l=n([].join),v=!!u&&u.length!==1;r({target:"String",stat:!0,arity:1,forced:v},{fromCodePoint:function(g){for(var y=[],p=arguments.length,m=0,S;p>m;){if(S=+arguments[m++],e(S,1114111)!==S)throw new o(S+" is not a valid code point");y[m]=S<65536?s(S):s(((S-=65536)>>10)+55296,S%1024+56320)}return l(y,"")}})},26021:function(i,d,t){var r=t(14304),n=t(11286),e=t(92337),o=t(2068),s=t(17361),u=t(8790),l=n("".indexOf);r({target:"String",proto:!0,forced:!u("includes")},{includes:function(c){return!!~l(s(o(this)),s(e(c)),arguments.length>1?arguments[1]:void 0)}})},93029:function(i,d,t){var r=t(14304),n=t(11286),e=t(2068),o=t(17361),s=n("".charCodeAt);r({target:"String",proto:!0},{isWellFormed:function(){for(var l=o(e(this)),v=l.length,c=0;c<v;c++){var g=s(l,c);if((g&63488)===55296&&(g>=56320||++c>=v||(s(l,c)&64512)!==56320))return!1}return!0}})},9943:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("italics")},{italics:function(){return n(this,"i","","")}})},59158:function(i,d,t){var r=t(22149).charAt,n=t(17361),e=t(82367),o=t(10218),s=t(10659),u="String Iterator",l=e.set,v=e.getterFor(u);o(String,"String",function(c){l(this,{type:u,string:n(c),index:0})},function(){var g=v(this),y=g.string,p=g.index,m;return p>=y.length?s(void 0,!0):(m=r(y,p),g.index+=m.length,s(m,!1))})},33128:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("link")},{link:function(s){return n(this,"a","href",s)}})},18509:function(i,d,t){var r=t(14304),n=t(96499),e=t(77422),o=t(26820),s=t(10659),u=t(2068),l=t(45344),v=t(17361),c=t(25001),g=t(5683),y=t(14274),p=t(11566),m=t(54932),S=t(10512),x=t(16142),O=t(72069),P=t(18565),T=t(16887),R=t(24487),N=t(33064),A=t(82367),C=t(70457),D=P("matchAll"),$="RegExp String",F=$+" Iterator",L=A.set,G=A.getterFor(F),H=RegExp.prototype,U=TypeError,B=e("".indexOf),j=e("".matchAll),z=!!j&&!O(function(){j("a",/./)}),Q=o(function(Z,gt,lt,yt){L(this,{type:F,regexp:Z,string:gt,global:lt,unicode:yt,done:!1})},$,function(){var Z=G(this);if(Z.done)return s(void 0,!0);var gt=Z.regexp,lt=Z.string,yt=N(gt,lt);return yt===null?(Z.done=!0,s(void 0,!0)):Z.global?(v(yt[0])===""&&(gt.lastIndex=R(lt,l(gt.lastIndex),Z.unicode)),s(yt,!1)):(Z.done=!0,s(yt,!1))}),X=function(k){var Z=c(this),gt=v(k),lt=T(Z,RegExp),yt=v(m(Z)),Ot,Rt,Wt;return Ot=new lt(lt===RegExp?Z.source:Z,yt),Rt=!!~B(yt,"g"),Wt=!!~B(yt,"u"),Ot.lastIndex=l(Z.lastIndex),new Q(Ot,gt,Rt,Wt)};r({target:"String",proto:!0,forced:z},{matchAll:function(Z){var gt=u(this),lt,yt,Ot,Rt;if(g(Z)){if(z)return j(gt,Z)}else{if(p(Z)&&(lt=v(u(m(Z))),!~B(lt,"g")))throw new U("`.matchAll` does not allow non-global regexes");if(z)return j(gt,Z);if(Ot=S(Z,D),Ot===void 0&&C&&y(Z)==="RegExp"&&(Ot=X),Ot)return n(Ot,Z,gt)}return yt=v(gt),Rt=new RegExp(Z,"g"),C?n(X,Rt,yt):Rt[D](yt)}}),C||D in H||x(H,D,X)},15599:function(i,d,t){var r=t(96499),n=t(63194),e=t(25001),o=t(5683),s=t(45344),u=t(17361),l=t(2068),v=t(10512),c=t(24487),g=t(33064);n("match",function(y,p,m){return[function(x){var O=l(this),P=o(x)?void 0:v(x,y);return P?r(P,x,O):new RegExp(x)[y](u(O))},function(S){var x=e(this),O=u(S),P=m(p,x,O);if(P.done)return P.value;if(!x.global)return g(x,O);var T=x.unicode;x.lastIndex=0;for(var R=[],N=0,A;(A=g(x,O))!==null;){var C=u(A[0]);R[N]=C,C===""&&(x.lastIndex=c(O,s(x.lastIndex),T)),N++}return N===0?null:R}]})},21579:function(i,d,t){var r=t(14304),n=t(61607).end,e=t(36945);r({target:"String",proto:!0,forced:e},{padEnd:function(s){return n(this,s,arguments.length>1?arguments[1]:void 0)}})},8854:function(i,d,t){var r=t(14304),n=t(61607).start,e=t(36945);r({target:"String",proto:!0,forced:e},{padStart:function(s){return n(this,s,arguments.length>1?arguments[1]:void 0)}})},57676:function(i,d,t){var r=t(14304),n=t(11286),e=t(36859),o=t(49671),s=t(17361),u=t(82628),l=n([].push),v=n([].join);r({target:"String",stat:!0},{raw:function(g){var y=e(o(g).raw),p=u(y);if(!p)return"";for(var m=arguments.length,S=[],x=0;;){if(l(S,s(y[x++])),x===p)return v(S,"");x<m&&l(S,s(arguments[x]))}}})},14527:function(i,d,t){var r=t(14304),n=t(79719);r({target:"String",proto:!0},{repeat:n})},52684:function(i,d,t){var r=t(14304),n=t(96499),e=t(11286),o=t(2068),s=t(23583),u=t(5683),l=t(11566),v=t(17361),c=t(10512),g=t(54932),y=t(38368),p=t(18565),m=t(70457),S=p("replace"),x=TypeError,O=e("".indexOf),P=e("".replace),T=e("".slice),R=Math.max;r({target:"String",proto:!0},{replaceAll:function(A,C){var D=o(this),$,F,L,G,H,U,B,j,z,Q,X=0,k="";if(!u(A)){if($=l(A),$&&(F=v(o(g(A))),!~O(F,"g")))throw new x("`.replaceAll` does not allow non-global regexes");if(L=c(A,S),L)return n(L,A,D,C);if(m&&$)return P(v(D),A,C)}for(G=v(D),H=v(A),U=s(C),U||(C=v(C)),B=H.length,j=R(1,B),z=O(G,H);z!==-1;)Q=U?v(C(H,z,G)):y(H,G,z,[],void 0,C),k+=T(G,X,z)+Q,X=z+B,z=z+j>G.length?-1:O(G,H,z+j);return X<G.length&&(k+=T(G,X)),k}})},96834:function(i,d,t){var r=t(66543),n=t(96499),e=t(11286),o=t(63194),s=t(72069),u=t(25001),l=t(23583),v=t(5683),c=t(12105),g=t(45344),y=t(17361),p=t(2068),m=t(24487),S=t(10512),x=t(38368),O=t(33064),P=t(18565),T=P("replace"),R=Math.max,N=Math.min,A=e([].concat),C=e([].push),D=e("".indexOf),$=e("".slice),F=function(U){return U===void 0?U:String(U)},L=function(){return"a".replace(/./,"$0")==="$0"}(),G=function(){return/./[T]?/./[T]("a","$0")==="":!1}(),H=!s(function(){var U=/./;return U.exec=function(){var B=[];return B.groups={a:"7"},B},"".replace(U,"$<a>")!=="7"});o("replace",function(U,B,j){var z=G?"$":"$0";return[function(X,k){var Z=p(this),gt=v(X)?void 0:S(X,T);return gt?n(gt,X,Z,k):n(B,y(Z),X,k)},function(Q,X){var k=u(this),Z=y(Q);if(typeof X=="string"&&D(X,z)===-1&&D(X,"$<")===-1){var gt=j(B,k,Z,X);if(gt.done)return gt.value}var lt=l(X);lt||(X=y(X));var yt=k.global,Ot;yt&&(Ot=k.unicode,k.lastIndex=0);for(var Rt=[],Wt;Wt=O(k,Z),!(Wt===null||(C(Rt,Wt),!yt));){var Vt=y(Wt[0]);Vt===""&&(k.lastIndex=m(Z,g(k.lastIndex),Ot))}for(var $t="",vt=0,mt=0;mt<Rt.length;mt++){Wt=Rt[mt];for(var Mt=y(Wt[0]),Ft=R(N(c(Wt.index),Z.length),0),Nt=[],Bt,qt=1;qt<Wt.length;qt++)C(Nt,F(Wt[qt]));var _t=Wt.groups;if(lt){var Xt=A([Mt],Nt,Ft,Z);_t!==void 0&&C(Xt,_t),Bt=y(r(X,void 0,Xt))}else Bt=x(Mt,Z,Ft,Nt,_t,X);Ft>=vt&&($t+=$(Z,vt,Ft)+Bt,vt=Ft+Mt.length)}return $t+$(Z,vt)}]},!H||!L||G)},74980:function(i,d,t){var r=t(96499),n=t(63194),e=t(25001),o=t(5683),s=t(2068),u=t(13944),l=t(17361),v=t(10512),c=t(33064);n("search",function(g,y,p){return[function(S){var x=s(this),O=o(S)?void 0:v(S,g);return O?r(O,S,x):new RegExp(S)[g](l(x))},function(m){var S=e(this),x=l(m),O=p(y,S,x);if(O.done)return O.value;var P=S.lastIndex;u(P,0)||(S.lastIndex=0);var T=c(S,x);return u(S.lastIndex,P)||(S.lastIndex=P),T===null?-1:T.index}]})},95625:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("small")},{small:function(){return n(this,"small","","")}})},390:function(i,d,t){var r=t(96499),n=t(11286),e=t(63194),o=t(25001),s=t(5683),u=t(2068),l=t(16887),v=t(24487),c=t(45344),g=t(17361),y=t(10512),p=t(33064),m=t(39807),S=t(72069),x=m.UNSUPPORTED_Y,O=4294967295,P=Math.min,T=n([].push),R=n("".slice),N=!S(function(){var C=/(?:)/,D=C.exec;C.exec=function(){return D.apply(this,arguments)};var $="ab".split(C);return $.length!==2||$[0]!=="a"||$[1]!=="b"}),A="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;e("split",function(C,D,$){var F="0".split(void 0,0).length?function(L,G){return L===void 0&&G===0?[]:r(D,this,L,G)}:D;return[function(G,H){var U=u(this),B=s(G)?void 0:y(G,C);return B?r(B,G,U,H):r(F,g(U),G,H)},function(L,G){var H=o(this),U=g(L);if(!A){var B=$(F,H,U,G,F!==D);if(B.done)return B.value}var j=l(H,RegExp),z=H.unicode,Q=(H.ignoreCase?"i":"")+(H.multiline?"m":"")+(H.unicode?"u":"")+(x?"g":"y"),X=new j(x?"^(?:"+H.source+")":H,Q),k=G===void 0?O:G>>>0;if(k===0)return[];if(U.length===0)return p(X,U)===null?[U]:[];for(var Z=0,gt=0,lt=[];gt<U.length;){X.lastIndex=x?0:gt;var yt=p(X,x?R(U,gt):U),Ot;if(yt===null||(Ot=P(c(X.lastIndex+(x?gt:0)),U.length))===Z)gt=v(U,gt,z);else{if(T(lt,R(U,Z,gt)),lt.length===k)return lt;for(var Rt=1;Rt<=yt.length-1;Rt++)if(T(lt,yt[Rt]),lt.length===k)return lt;gt=Z=Ot}}return T(lt,R(U,Z)),lt}]},A||!N,x)},42794:function(i,d,t){var r=t(14304),n=t(77422),e=t(71349).f,o=t(45344),s=t(17361),u=t(92337),l=t(2068),v=t(8790),c=t(70457),g=n("".slice),y=Math.min,p=v("startsWith"),m=!c&&!p&&!!function(){var S=e(String.prototype,"startsWith");return S&&!S.writable}();r({target:"String",proto:!0,forced:!m&&!p},{startsWith:function(x){var O=s(l(this));u(x);var P=o(y(arguments.length>1?arguments[1]:void 0,O.length)),T=s(x);return g(O,P,P+T.length)===T}})},90614:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("strike")},{strike:function(){return n(this,"strike","","")}})},60120:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("sub")},{sub:function(){return n(this,"sub","","")}})},21293:function(i,d,t){var r=t(14304),n=t(11286),e=t(2068),o=t(12105),s=t(17361),u=n("".slice),l=Math.max,v=Math.min,c=!"".substr||"ab".substr(-1)!=="b";r({target:"String",proto:!0,forced:c},{substr:function(y,p){var m=s(e(this)),S=m.length,x=o(y),O,P;return x===1/0&&(x=0),x<0&&(x=l(S+x,0)),O=p===void 0?S:o(p),O<=0||O===1/0?"":(P=v(x+O,S),x>=P?"":u(m,x,P))}})},75826:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("sup")},{sup:function(){return n(this,"sup","","")}})},18184:function(i,d,t){var r=t(14304),n=t(96499),e=t(11286),o=t(2068),s=t(17361),u=t(72069),l=Array,v=e("".charAt),c=e("".charCodeAt),g=e([].join),y="".toWellFormed,p="\uFFFD",m=y&&u(function(){return n(y,1)!=="1"});r({target:"String",proto:!0,forced:m},{toWellFormed:function(){var x=s(o(this));if(m)return n(y,x);for(var O=x.length,P=l(O),T=0;T<O;T++){var R=c(x,T);(R&63488)!==55296?P[T]=v(x,T):R>=56320||T+1>=O||(c(x,T+1)&64512)!==56320?P[T]=p:(P[T]=v(x,T),P[++T]=v(x,T))}return g(P,"")}})},19680:function(i,d,t){t(23283);var r=t(14304),n=t(75176);r({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==n},{trimEnd:n})},12272:function(i,d,t){var r=t(14304),n=t(83481);r({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==n},{trimLeft:n})},23283:function(i,d,t){var r=t(14304),n=t(75176);r({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==n},{trimRight:n})},4193:function(i,d,t){t(12272);var r=t(14304),n=t(83481);r({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==n},{trimStart:n})},75012:function(i,d,t){var r=t(14304),n=t(85900).trim,e=t(33328);r({target:"String",proto:!0,forced:e("trim")},{trim:function(){return n(this)}})},43606:function(i,d,t){var r=t(83749);r("asyncIterator")},51767:function(i,d,t){var r=t(14304),n=t(34246),e=t(96499),o=t(11286),s=t(70457),u=t(92986),l=t(39729),v=t(72069),c=t(94879),g=t(95307),y=t(25001),p=t(36859),m=t(50035),S=t(17361),x=t(18526),O=t(5406),P=t(18350),T=t(83258),R=t(92880),N=t(24943),A=t(71349),C=t(7831),D=t(61963),$=t(79591),F=t(16142),L=t(85500),G=t(96731),H=t(44869),U=t(19423),B=t(36374),j=t(18565),z=t(56529),Q=t(83749),X=t(60796),k=t(78401),Z=t(82367),gt=t(66655).forEach,lt=H("hidden"),yt="Symbol",Ot="prototype",Rt=Z.set,Wt=Z.getterFor(yt),Vt=Object[Ot],$t=n.Symbol,vt=$t&&$t[Ot],mt=n.RangeError,Mt=n.TypeError,Ft=n.QObject,Nt=A.f,Bt=C.f,qt=R.f,_t=$.f,Xt=o([].push),Lt=G("symbols"),Jt=G("op-symbols"),Yt=G("wks"),jt=!Ft||!Ft[Ot]||!Ft[Ot].findChild,st=function(et,it,ot){var ct=Nt(Vt,it);ct&&delete Vt[it],Bt(et,it,ot),ct&&et!==Vt&&Bt(Vt,it,ct)},dt=u&&v(function(){return O(Bt({},"a",{get:function(){return Bt(this,"a",{value:7}).a}})).a!==7})?st:Bt,_=function(et,it){var ot=Lt[et]=O(vt);return Rt(ot,{type:yt,tag:et,description:it}),u||(ot.description=it),ot},At=function(it,ot,ct){it===Vt&&At(Jt,ot,ct),y(it);var rt=m(ot);return y(ct),c(Lt,rt)?(ct.enumerable?(c(it,lt)&&it[lt][rt]&&(it[lt][rt]=!1),ct=O(ct,{enumerable:x(0,!1)})):(c(it,lt)||Bt(it,lt,x(1,O(null))),it[lt][rt]=!0),dt(it,rt,ct)):Bt(it,rt,ct)},Pt=function(it,ot){y(it);var ct=p(ot),rt=P(ct).concat(K(ct));return gt(rt,function(Dt){(!u||e(St,ct,Dt))&&At(it,Dt,ct[Dt])}),it},It=function(it,ot){return ot===void 0?O(it):Pt(O(it),ot)},St=function(it){var ot=m(it),ct=e(_t,this,ot);return this===Vt&&c(Lt,ot)&&!c(Jt,ot)?!1:ct||!c(this,ot)||!c(Lt,ot)||c(this,lt)&&this[lt][ot]?ct:!0},er=function(it,ot){var ct=p(it),rt=m(ot);if(!(ct===Vt&&c(Lt,rt)&&!c(Jt,rt))){var Dt=Nt(ct,rt);return Dt&&c(Lt,rt)&&!(c(ct,lt)&&ct[lt][rt])&&(Dt.enumerable=!0),Dt}},or=function(it){var ot=qt(p(it)),ct=[];return gt(ot,function(rt){!c(Lt,rt)&&!c(U,rt)&&Xt(ct,rt)}),ct},K=function(et){var it=et===Vt,ot=qt(it?Jt:p(et)),ct=[];return gt(ot,function(rt){c(Lt,rt)&&(!it||c(Vt,rt))&&Xt(ct,Lt[rt])}),ct};l||($t=function(){if(g(vt,this))throw new Mt("Symbol is not a constructor");var it=!arguments.length||arguments[0]===void 0?void 0:S(arguments[0]),ot=B(it),ct=function(rt){var Dt=this===void 0?n:this;Dt===Vt&&e(ct,Jt,rt),c(Dt,lt)&&c(Dt[lt],ot)&&(Dt[lt][ot]=!1);var kt=x(1,rt);try{dt(Dt,ot,kt)}catch(nt){if(!(nt instanceof mt))throw nt;st(Dt,ot,kt)}};return u&&jt&&dt(Vt,ot,{configurable:!0,set:ct}),_(ot,it)},vt=$t[Ot],F(vt,"toString",function(){return Wt(this).tag}),F($t,"withoutSetter",function(et){return _(B(et),et)}),$.f=St,C.f=At,D.f=Pt,A.f=er,T.f=R.f=or,N.f=K,z.f=function(et){return _(j(et),et)},u&&(L(vt,"description",{configurable:!0,get:function(){return Wt(this).description}}),s||F(Vt,"propertyIsEnumerable",St,{unsafe:!0}))),r({global:!0,constructor:!0,wrap:!0,forced:!l,sham:!l},{Symbol:$t}),gt(P(Yt),function(et){Q(et)}),r({target:yt,stat:!0,forced:!l},{useSetter:function(){jt=!0},useSimple:function(){jt=!1}}),r({target:"Object",stat:!0,forced:!l,sham:!u},{create:It,defineProperty:At,defineProperties:Pt,getOwnPropertyDescriptor:er}),r({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:or}),X(),k($t,yt),U[lt]=!0},43657:function(i,d,t){var r=t(14304),n=t(92986),e=t(34246),o=t(11286),s=t(94879),u=t(23583),l=t(95307),v=t(17361),c=t(85500),g=t(93706),y=e.Symbol,p=y&&y.prototype;if(n&&u(y)&&(!("description"in p)||y().description!==void 0)){var m={},S=function(){var C=arguments.length<1||arguments[0]===void 0?void 0:v(arguments[0]),D=l(p,this)?new y(C):C===void 0?y():y(C);return C===""&&(m[D]=!0),D};g(S,y),S.prototype=p,p.constructor=S;var x=String(y("description detection"))==="Symbol(description detection)",O=o(p.valueOf),P=o(p.toString),T=/^Symbol\((.*)\)[^)]+$/,R=o("".replace),N=o("".slice);c(p,"description",{configurable:!0,get:function(){var C=O(this);if(s(m,C))return"";var D=P(C),$=x?N(D,7,-1):R(D,T,"$1");return $===""?void 0:$}}),r({global:!0,constructor:!0,forced:!0},{Symbol:S})}},20872:function(i,d,t){var r=t(14304),n=t(38941),e=t(94879),o=t(17361),s=t(96731),u=t(61190),l=s("string-to-symbol-registry"),v=s("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!u},{for:function(c){var g=o(c);if(e(l,g))return l[g];var y=n("Symbol")(g);return l[g]=y,v[y]=g,y}})},15855:function(i,d,t){var r=t(83749);r("hasInstance")},42026:function(i,d,t){var r=t(83749);r("isConcatSpreadable")},33257:function(i,d,t){var r=t(83749);r("iterator")},40949:function(i,d,t){t(51767),t(20872),t(94762),t(71332),t(45223)},94762:function(i,d,t){var r=t(14304),n=t(94879),e=t(491),o=t(82453),s=t(96731),u=t(61190),l=s("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!u},{keyFor:function(c){if(!e(c))throw new TypeError(o(c)+" is not a symbol");if(n(l,c))return l[c]}})},88344:function(i,d,t){var r=t(83749);r("matchAll")},59414:function(i,d,t){var r=t(83749);r("match")},92579:function(i,d,t){var r=t(83749);r("replace")},94655:function(i,d,t){var r=t(83749);r("search")},8565:function(i,d,t){var r=t(83749);r("species")},60843:function(i,d,t){var r=t(83749);r("split")},65842:function(i,d,t){var r=t(83749),n=t(60796);r("toPrimitive"),n()},51595:function(i,d,t){var r=t(38941),n=t(83749),e=t(78401);n("toStringTag"),e(r("Symbol"),"Symbol")},54908:function(i,d,t){var r=t(83749);r("unscopables")},71998:function(i,d,t){var r=t(88037),n=t(82628),e=t(12105),o=r.aTypedArray,s=r.exportTypedArrayMethod;s("at",function(l){var v=o(this),c=n(v),g=e(l),y=g>=0?g:c+g;return y<0||y>=c?void 0:v[y]})},6116:function(i,d,t){var r=t(11286),n=t(88037),e=t(81499),o=r(e),s=n.aTypedArray,u=n.exportTypedArrayMethod;u("copyWithin",function(v,c){return o(s(this),v,c,arguments.length>2?arguments[2]:void 0)})},33032:function(i,d,t){var r=t(88037),n=t(66655).every,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("every",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},80962:function(i,d,t){var r=t(88037),n=t(43011),e=t(11344),o=t(9205),s=t(96499),u=t(11286),l=t(72069),v=r.aTypedArray,c=r.exportTypedArrayMethod,g=u("".slice),y=l(function(){var p=0;return new Int8Array(2).fill({valueOf:function(){return p++}}),p!==1});c("fill",function(m){var S=arguments.length;v(this);var x=g(o(this),0,3)==="Big"?e(m):+m;return s(n,this,x,S>1?arguments[1]:void 0,S>2?arguments[2]:void 0)},y)},49381:function(i,d,t){var r=t(88037),n=t(66655).filter,e=t(39954),o=r.aTypedArray,s=r.exportTypedArrayMethod;s("filter",function(l){var v=n(o(this),l,arguments.length>1?arguments[1]:void 0);return e(this,v)})},65961:function(i,d,t){var r=t(88037),n=t(66655).findIndex,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("findIndex",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},16028:function(i,d,t){var r=t(88037),n=t(73849).findLastIndex,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("findLastIndex",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},94153:function(i,d,t){var r=t(88037),n=t(73849).findLast,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("findLast",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},38344:function(i,d,t){var r=t(88037),n=t(66655).find,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("find",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},25560:function(i,d,t){var r=t(80357);r("Float32",function(n){return function(o,s,u){return n(this,o,s,u)}})},22571:function(i,d,t){var r=t(80357);r("Float64",function(n){return function(o,s,u){return n(this,o,s,u)}})},20656:function(i,d,t){var r=t(88037),n=t(66655).forEach,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("forEach",function(u){n(e(this),u,arguments.length>1?arguments[1]:void 0)})},17063:function(i,d,t){var r=t(46868),n=t(88037).exportTypedArrayStaticMethod,e=t(66169);n("from",e,r)},21774:function(i,d,t){var r=t(88037),n=t(94319).includes,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("includes",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},51761:function(i,d,t){var r=t(88037),n=t(94319).indexOf,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("indexOf",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},36849:function(i,d,t){var r=t(80357);r("Int16",function(n){return function(o,s,u){return n(this,o,s,u)}})},49191:function(i,d,t){var r=t(80357);r("Int32",function(n){return function(o,s,u){return n(this,o,s,u)}})},40704:function(i,d,t){var r=t(80357);r("Int8",function(n){return function(o,s,u){return n(this,o,s,u)}})},12317:function(i,d,t){var r=t(34246),n=t(72069),e=t(11286),o=t(88037),s=t(35054),u=t(18565),l=u("iterator"),v=r.Uint8Array,c=e(s.values),g=e(s.keys),y=e(s.entries),p=o.aTypedArray,m=o.exportTypedArrayMethod,S=v&&v.prototype,x=!n(function(){S[l].call([1])}),O=!!S&&S.values&&S[l]===S.values&&S.values.name==="values",P=function(){return c(p(this))};m("entries",function(){return y(p(this))},x),m("keys",function(){return g(p(this))},x),m("values",P,x||!O,{name:"values"}),m(l,P,x||!O,{name:"values"})},19711:function(i,d,t){var r=t(88037),n=t(11286),e=r.aTypedArray,o=r.exportTypedArrayMethod,s=n([].join);o("join",function(l){return s(e(this),l)})},41034:function(i,d,t){var r=t(88037),n=t(66543),e=t(58465),o=r.aTypedArray,s=r.exportTypedArrayMethod;s("lastIndexOf",function(l){var v=arguments.length;return n(e,o(this),v>1?[l,arguments[1]]:[l])})},13313:function(i,d,t){var r=t(88037),n=t(66655).map,e=r.aTypedArray,o=r.getTypedArrayConstructor,s=r.exportTypedArrayMethod;s("map",function(l){return n(e(this),l,arguments.length>1?arguments[1]:void 0,function(v,c){return new(o(v))(c)})})},44698:function(i,d,t){var r=t(88037),n=t(46868),e=r.aTypedArrayConstructor,o=r.exportTypedArrayStaticMethod;o("of",function(){for(var u=0,l=arguments.length,v=new(e(this))(l);l>u;)v[u]=arguments[u++];return v},n)},66178:function(i,d,t){var r=t(88037),n=t(97264).right,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("reduceRight",function(u){var l=arguments.length;return n(e(this),u,l,l>1?arguments[1]:void 0)})},7369:function(i,d,t){var r=t(88037),n=t(97264).left,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("reduce",function(u){var l=arguments.length;return n(e(this),u,l,l>1?arguments[1]:void 0)})},67961:function(i,d,t){var r=t(88037),n=r.aTypedArray,e=r.exportTypedArrayMethod,o=Math.floor;e("reverse",function(){for(var u=this,l=n(u).length,v=o(l/2),c=0,g;c<v;)g=u[c],u[c++]=u[--l],u[l]=g;return u})},8695:function(i,d,t){var r=t(34246),n=t(96499),e=t(88037),o=t(82628),s=t(58143),u=t(49671),l=t(72069),v=r.RangeError,c=r.Int8Array,g=c&&c.prototype,y=g&&g.set,p=e.aTypedArray,m=e.exportTypedArrayMethod,S=!l(function(){var O=new Uint8ClampedArray(2);return n(y,O,{length:1,0:3},1),O[1]!==3}),x=S&&e.NATIVE_ARRAY_BUFFER_VIEWS&&l(function(){var O=new c(2);return O.set(1),O.set("2",1),O[0]!==0||O[1]!==2});m("set",function(P){p(this);var T=s(arguments.length>1?arguments[1]:void 0,1),R=u(P);if(S)return n(y,this,R,T);var N=this.length,A=o(R),C=0;if(A+T>N)throw new v("Wrong length");for(;C<A;)this[T+C]=R[C++]},!S||x)},69997:function(i,d,t){var r=t(88037),n=t(72069),e=t(22806),o=r.aTypedArray,s=r.getTypedArrayConstructor,u=r.exportTypedArrayMethod,l=n(function(){new Int8Array(1).slice()});u("slice",function(c,g){for(var y=e(o(this),c,g),p=s(this),m=0,S=y.length,x=new p(S);S>m;)x[m]=y[m++];return x},l)},9711:function(i,d,t){var r=t(88037),n=t(66655).some,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("some",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},3923:function(i,d,t){var r=t(34246),n=t(77422),e=t(72069),o=t(85156),s=t(13270),u=t(88037),l=t(507),v=t(17417),c=t(44241),g=t(66577),y=u.aTypedArray,p=u.exportTypedArrayMethod,m=r.Uint16Array,S=m&&n(m.prototype.sort),x=!!S&&!(e(function(){S(new m(2),null)})&&e(function(){S(new m(2),{})})),O=!!S&&!e(function(){if(c)return c<74;if(l)return l<67;if(v)return!0;if(g)return g<602;var T=new m(516),R=Array(516),N,A;for(N=0;N<516;N++)A=N%4,T[N]=515-N,R[N]=N-2*A+3;for(S(T,function(C,D){return(C/4|0)-(D/4|0)}),N=0;N<516;N++)if(T[N]!==R[N])return!0}),P=function(T){return function(R,N){return T!==void 0?+T(R,N)||0:N!==N?-1:R!==R?1:R===0&&N===0?1/R>0&&1/N<0?1:-1:R>N}};p("sort",function(R){return R!==void 0&&o(R),O?S(this,R):s(y(this),P(R))},!O||x)},59728:function(i,d,t){var r=t(88037),n=t(45344),e=t(4652),o=r.aTypedArray,s=r.getTypedArrayConstructor,u=r.exportTypedArrayMethod;u("subarray",function(v,c){var g=o(this),y=g.length,p=e(v,y),m=s(g);return new m(g.buffer,g.byteOffset+p*g.BYTES_PER_ELEMENT,n((c===void 0?y:e(c,y))-p))})},85227:function(i,d,t){var r=t(34246),n=t(66543),e=t(88037),o=t(72069),s=t(22806),u=r.Int8Array,l=e.aTypedArray,v=e.exportTypedArrayMethod,c=[].toLocaleString,g=!!u&&o(function(){c.call(new u(1))}),y=o(function(){return[1,2].toLocaleString()!==new u([1,2]).toLocaleString()})||!o(function(){u.prototype.toLocaleString.call([1,2])});v("toLocaleString",function(){return n(c,g?s(l(this)):l(this),s(arguments))},y)},56933:function(i,d,t){var r=t(61638),n=t(88037),e=n.aTypedArray,o=n.exportTypedArrayMethod,s=n.getTypedArrayConstructor;o("toReversed",function(){return r(e(this),s(this))})},91490:function(i,d,t){var r=t(88037),n=t(11286),e=t(85156),o=t(5220),s=r.aTypedArray,u=r.getTypedArrayConstructor,l=r.exportTypedArrayMethod,v=n(r.TypedArrayPrototype.sort);l("toSorted",function(g){g!==void 0&&e(g);var y=s(this),p=o(u(y),y);return v(p,g)})},61766:function(i,d,t){var r=t(88037).exportTypedArrayMethod,n=t(72069),e=t(34246),o=t(11286),s=e.Uint8Array,u=s&&s.prototype||{},l=[].toString,v=o([].join);n(function(){l.call({})})&&(l=function(){return v(this)});var c=u.toString!==l;r("toString",l,c)},44884:function(i,d,t){var r=t(80357);r("Uint16",function(n){return function(o,s,u){return n(this,o,s,u)}})},48658:function(i,d,t){var r=t(80357);r("Uint32",function(n){return function(o,s,u){return n(this,o,s,u)}})},81083:function(i,d,t){var r=t(80357);r("Uint8",function(n){return function(o,s,u){return n(this,o,s,u)}})},27428:function(i,d,t){var r=t(80357);r("Uint8",function(n){return function(o,s,u){return n(this,o,s,u)}},!0)},85143:function(i,d,t){var r=t(72302),n=t(88037),e=t(77129),o=t(12105),s=t(11344),u=n.aTypedArray,l=n.getTypedArrayConstructor,v=n.exportTypedArrayMethod,c=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(g){return g===8}}();v("with",function(g,y){var p=u(this),m=o(g),S=e(p)?s(y):+y;return r(p,l(p),m,S)},!c)},47005:function(i,d,t){var r=t(14304),n=t(11286),e=t(17361),o=String.fromCharCode,s=n("".charAt),u=n(/./.exec),l=n("".slice),v=/^[\da-f]{2}$/i,c=/^[\da-f]{4}$/i;r({global:!0},{unescape:function(y){for(var p=e(y),m="",S=p.length,x=0,O,P;x<S;){if(O=s(p,x++),O==="%"){if(s(p,x)==="u"){if(P=l(p,x+1,x+5),u(c,P)){m+=o(parseInt(P,16)),x+=5;continue}}else if(P=l(p,x,x+2),u(v,P)){m+=o(parseInt(P,16)),x+=2;continue}}m+=O}return m}})},21084:function(i,d,t){var r=t(27534),n=t(34246),e=t(11286),o=t(2725),s=t(31853),u=t(89378),l=t(94667),v=t(37540),c=t(82367).enforce,g=t(72069),y=t(42960),p=Object,m=Array.isArray,S=p.isExtensible,x=p.isFrozen,O=p.isSealed,P=p.freeze,T=p.seal,R=!n.ActiveXObject&&"ActiveXObject"in n,N,A=function(U){return function(){return U(this,arguments.length?arguments[0]:void 0)}},C=u("WeakMap",A,l),D=C.prototype,$=e(D.set),F=function(){return r&&g(function(){var U=P([]);return $(new C,U,1),!x(U)})};if(y)if(R){N=l.getConstructor(A,"WeakMap",!0),s.enable();var L=e(D.delete),G=e(D.has),H=e(D.get);o(D,{delete:function(U){if(v(U)&&!S(U)){var B=c(this);return B.frozen||(B.frozen=new N),L(this,U)||B.frozen.delete(U)}return L(this,U)},has:function(B){if(v(B)&&!S(B)){var j=c(this);return j.frozen||(j.frozen=new N),G(this,B)||j.frozen.has(B)}return G(this,B)},get:function(B){if(v(B)&&!S(B)){var j=c(this);return j.frozen||(j.frozen=new N),G(this,B)?H(this,B):j.frozen.get(B)}return H(this,B)},set:function(B,j){if(v(B)&&!S(B)){var z=c(this);z.frozen||(z.frozen=new N),G(this,B)?$(this,B,j):z.frozen.set(B,j)}else $(this,B,j);return this}})}else F()&&o(D,{set:function(B,j){var z;return m(B)&&(x(B)?z=P:O(B)&&(z=T)),$(this,B,j),z&&z(B),this}})},10042:function(i,d,t){t(21084)},58990:function(i,d,t){var r=t(89378),n=t(94667);r("WeakSet",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},n)},37888:function(i,d,t){t(58990)},19431:function(i,d,t){var r=t(14304),n=t(34246),e=t(38941),o=t(11286),s=t(96499),u=t(72069),l=t(17361),v=t(95486),c=t(6210).c2i,g=/[^\d+/a-z]/i,y=/[\t\n\f\r ]+/g,p=/[=]{1,2}$/,m=e("atob"),S=String.fromCharCode,x=o("".charAt),O=o("".replace),P=o(g.exec),T=!!m&&!u(function(){return m("aGk=")!=="hi"}),R=T&&u(function(){return m(" ")!==""}),N=T&&!u(function(){m("a")}),A=T&&!u(function(){m()}),C=T&&m.length!==1,D=!T||R||N||A||C;r({global:!0,bind:!0,enumerable:!0,forced:D},{atob:function(F){if(v(arguments.length,1),T&&!R&&!N)return s(m,n,F);var L=O(l(F),y,""),G="",H=0,U=0,B,j,z;if(L.length%4===0&&(L=O(L,p,"")),B=L.length,B%4===1||P(g,L))throw new(e("DOMException"))("The string is not correctly encoded","InvalidCharacterError");for(;H<B;)j=x(L,H++),z=U%4?z*64+c[j]:c[j],U++%4&&(G+=S(255&z>>(-2*U&6)));return G}})},60869:function(i,d,t){var r=t(14304),n=t(34246),e=t(38941),o=t(11286),s=t(96499),u=t(72069),l=t(17361),v=t(95486),c=t(6210).i2c,g=e("btoa"),y=o("".charAt),p=o("".charCodeAt),m=!!g&&!u(function(){return g("hi")!=="aGk="}),S=m&&!u(function(){g()}),x=m&&u(function(){return g(null)!=="bnVsbA=="}),O=m&&g.length!==1;r({global:!0,bind:!0,enumerable:!0,forced:!m||S||x||O},{btoa:function(T){if(v(arguments.length,1),m)return s(g,n,l(T));for(var R=l(T),N="",A=0,C=c,D,$;y(R,A)||(C="=",A%1);){if($=p(R,A+=.75),$>255)throw new(e("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");D=D<<8|$,N+=y(C,63&D>>8-A%1*8)}return N}})},66722:function(i,d,t){var r=t(14304),n=t(34246),e=t(23115).clear;r({global:!0,bind:!0,enumerable:!0,forced:n.clearImmediate!==e},{clearImmediate:e})},50338:function(i,d,t){var r=t(34246),n=t(93014),e=t(39882),o=t(13349),s=t(90809),u=function(v){if(v&&v.forEach!==o)try{s(v,"forEach",o)}catch(c){v.forEach=o}};for(var l in n)n[l]&&u(r[l]&&r[l].prototype);u(e)},53059:function(i,d,t){var r=t(34246),n=t(93014),e=t(39882),o=t(35054),s=t(90809),u=t(78401),l=t(18565),v=l("iterator"),c=o.values,g=function(p,m){if(p){if(p[v]!==c)try{s(p,v,c)}catch(x){p[v]=c}if(u(p,m,!0),n[m]){for(var S in o)if(p[S]!==o[S])try{s(p,S,o[S])}catch(x){p[S]=o[S]}}}};for(var y in n)g(r[y]&&r[y].prototype,y);g(e,"DOMTokenList")},5805:function(i,d,t){var r=t(14304),n=t(38941),e=t(81191),o=t(72069),s=t(5406),u=t(18526),l=t(7831).f,v=t(16142),c=t(85500),g=t(94879),y=t(12833),p=t(25001),m=t(58434),S=t(15453),x=t(74408),O=t(40851),P=t(82367),T=t(92986),R=t(70457),N="DOMException",A="DATA_CLONE_ERR",C=n("Error"),D=n(N)||function(){try{var vt=n("MessageChannel")||e("worker_threads").MessageChannel;new vt().port1.postMessage(new WeakMap)}catch(mt){if(mt.name===A&&mt.code===25)return mt.constructor}}(),$=D&&D.prototype,F=C.prototype,L=P.set,G=P.getterFor(N),H="stack"in new C(N),U=function(vt){return g(x,vt)&&x[vt].m?x[vt].c:0},B=function(){y(this,j);var mt=arguments.length,Mt=S(mt<1?void 0:arguments[0]),Ft=S(mt<2?void 0:arguments[1],"Error"),Nt=U(Ft);if(L(this,{type:N,name:Ft,message:Mt,code:Nt}),T||(this.name=Ft,this.message=Mt,this.code=Nt),H){var Bt=new C(Mt);Bt.name=N,l(this,"stack",u(1,O(Bt.stack,1)))}},j=B.prototype=s(F),z=function(vt){return{enumerable:!0,configurable:!0,get:vt}},Q=function(vt){return z(function(){return G(this)[vt]})};T&&(c(j,"code",Q("code")),c(j,"message",Q("message")),c(j,"name",Q("name"))),l(j,"constructor",u(1,B));var X=o(function(){return!(new D instanceof C)}),k=X||o(function(){return F.toString!==m||String(new D(1,2))!=="2: 1"}),Z=X||o(function(){return new D(1,"DataCloneError").code!==25}),gt=X||D[A]!==25||$[A]!==25,lt=R?k||Z||gt:X;r({global:!0,constructor:!0,forced:lt},{DOMException:lt?B:D});var yt=n(N),Ot=yt.prototype;k&&(R||D===yt)&&v(Ot,"toString",m),Z&&T&&D===yt&&c(Ot,"code",z(function(){return U(p(this).name)}));for(var Rt in x)if(g(x,Rt)){var Wt=x[Rt],Vt=Wt.s,$t=u(6,Wt.c);g(yt,Vt)||l(yt,Vt,$t),g(Ot,Vt)||l(Ot,Vt,$t)}},50685:function(i,d,t){var r=t(14304),n=t(34246),e=t(38941),o=t(18526),s=t(7831).f,u=t(94879),l=t(12833),v=t(32345),c=t(15453),g=t(74408),y=t(40851),p=t(92986),m=t(70457),S="DOMException",x=e("Error"),O=e(S),P=function(){l(this,T);var B=arguments.length,j=c(B<1?void 0:arguments[0]),z=c(B<2?void 0:arguments[1],"Error"),Q=new O(j,z),X=new x(j);return X.name=S,s(Q,"stack",o(1,y(X.stack,1))),v(Q,this,P),Q},T=P.prototype=O.prototype,R="stack"in new x(S),N="stack"in new O(1,2),A=O&&p&&Object.getOwnPropertyDescriptor(n,S),C=!!A&&!(A.writable&&A.configurable),D=R&&!C&&!N;r({global:!0,constructor:!0,forced:m||D},{DOMException:D?P:O});var $=e(S),F=$.prototype;if(F.constructor!==$){m||s(F,"constructor",o(1,$));for(var L in g)if(u(g,L)){var G=g[L],H=G.s;u($,H)||s($,H,o(6,G.c))}}},70649:function(i,d,t){var r=t(38941),n=t(78401),e="DOMException";n(r(e),e)},39842:function(i,d,t){t(66722),t(8235)},82872:function(i,d,t){var r=t(14304),n=t(34246),e=t(9709),o=t(85156),s=t(95486),u=t(72069),l=t(92986),v=u(function(){return l&&Object.getOwnPropertyDescriptor(n,"queueMicrotask").value.length!==1});r({global:!0,enumerable:!0,dontCallGetSet:!0,forced:v},{queueMicrotask:function(g){s(arguments.length,1),e(o(g))}})},91401:function(i,d,t){var r=t(14304),n=t(34246),e=t(85500),o=t(92986),s=TypeError,u=Object.defineProperty,l=n.self!==n;try{if(o){var v=Object.getOwnPropertyDescriptor(n,"self");(l||!v||!v.get||!v.enumerable)&&e(n,"self",{get:function(){return n},set:function(g){if(this!==n)throw new s("Illegal invocation");u(n,"self",{value:g,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else r({global:!0,simple:!0,forced:l},{self:n})}catch(c){}},8235:function(i,d,t){var r=t(14304),n=t(34246),e=t(23115).set,o=t(9934),s=n.setImmediate?o(e,!1):e;r({global:!0,bind:!0,enumerable:!0,forced:n.setImmediate!==s},{setImmediate:s})},63981:function(i,d,t){var r=t(14304),n=t(34246),e=t(9934),o=e(n.setInterval,!0);r({global:!0,bind:!0,forced:n.setInterval!==o},{setInterval:o})},23913:function(i,d,t){var r=t(14304),n=t(34246),e=t(9934),o=e(n.setTimeout,!0);r({global:!0,bind:!0,forced:n.setTimeout!==o},{setTimeout:o})},92904:function(i,d,t){var r=t(70457),n=t(14304),e=t(34246),o=t(38941),s=t(11286),u=t(72069),l=t(36374),v=t(23583),c=t(11051),g=t(5683),y=t(37540),p=t(491),m=t(55902),S=t(25001),x=t(9205),O=t(94879),P=t(84082),T=t(90809),R=t(82628),N=t(95486),A=t(54932),C=t(1774),D=t(172),$=t(35051),F=t(63741),L=t(16929),G=t(99050),H=e.Object,U=e.Array,B=e.Date,j=e.Error,z=e.TypeError,Q=e.PerformanceMark,X=o("DOMException"),k=C.Map,Z=C.has,gt=C.get,lt=C.set,yt=D.Set,Ot=D.add,Rt=D.has,Wt=o("Object","keys"),Vt=s([].push),$t=s((!0).valueOf),vt=s(1 .valueOf),mt=s("".valueOf),Mt=s(B.prototype.getTime),Ft=l("structuredClone"),Nt="DataCloneError",Bt="Transferring",qt=function(K){return!u(function(){var et=new e.Set([7]),it=K(et),ot=K(H(7));return it===et||!it.has(7)||!y(ot)||+ot!=7})&&K},_t=function(K,et){return!u(function(){var it=new et,ot=K({a:it,b:it});return!(ot&&ot.a===ot.b&&ot.a instanceof et&&ot.a.stack===it.stack)})},Xt=function(K){return!u(function(){var et=K(new e.AggregateError([1],Ft,{cause:3}));return et.name!=="AggregateError"||et.errors[0]!==1||et.message!==Ft||et.cause!==3})},Lt=e.structuredClone,Jt=r||!_t(Lt,j)||!_t(Lt,X)||!Xt(Lt),Yt=!Lt&&qt(function(K){return new Q(Ft,{detail:K}).detail}),jt=qt(Lt)||Yt,st=function(K){throw new X("Uncloneable type: "+K,Nt)},dt=function(K,et){throw new X((et||"Cloning")+" of "+K+" cannot be properly polyfilled in this engine",Nt)},_=function(K,et){return jt||dt(et),jt(K)},At=function(){var K;try{K=new e.DataTransfer}catch(et){try{K=new e.ClipboardEvent("").clipboardData}catch(it){}}return K&&K.items&&K.files?K:null},Pt=function(K,et,it){if(Z(et,K))return gt(et,K);var ot=it||x(K),ct,rt,Dt,kt,nt,ht;if(ot==="SharedArrayBuffer")jt?ct=jt(K):ct=K;else{var pt=e.DataView;!pt&&!v(K.slice)&&dt("ArrayBuffer");try{if(v(K.slice)&&!K.resizable)ct=K.slice(0);else for(rt=K.byteLength,Dt=("maxByteLength"in K)?{maxByteLength:K.maxByteLength}:void 0,ct=new ArrayBuffer(rt,Dt),kt=new pt(K),nt=new pt(ct),ht=0;ht<rt;ht++)nt.setUint8(ht,kt.getUint8(ht))}catch(xt){throw new X("ArrayBuffer is detached",Nt)}}return lt(et,K,ct),ct},It=function(K,et,it,ot,ct){var rt=e[et];return y(rt)||dt(et),new rt(Pt(K.buffer,ct),it,ot)},St=function(K,et){if(p(K)&&st("Symbol"),!y(K))return K;if(et){if(Z(et,K))return gt(et,K)}else et=new k;var it=x(K),ot,ct,rt,Dt,kt,nt,ht,pt;switch(it){case"Array":rt=U(R(K));break;case"Object":rt={};break;case"Map":rt=new k;break;case"Set":rt=new yt;break;case"RegExp":rt=new RegExp(K.source,A(K));break;case"Error":switch(ct=K.name,ct){case"AggregateError":rt=new(o(ct))([]);break;case"EvalError":case"RangeError":case"ReferenceError":case"SuppressedError":case"SyntaxError":case"TypeError":case"URIError":rt=new(o(ct));break;case"CompileError":case"LinkError":case"RuntimeError":rt=new(o("WebAssembly",ct));break;default:rt=new j}break;case"DOMException":rt=new X(K.message,K.name);break;case"ArrayBuffer":case"SharedArrayBuffer":rt=Pt(K,et,it);break;case"DataView":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float16Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":nt=it==="DataView"?K.byteLength:K.length,rt=It(K,it,K.byteOffset,nt,et);break;case"DOMQuad":try{rt=new DOMQuad(St(K.p1,et),St(K.p2,et),St(K.p3,et),St(K.p4,et))}catch(xt){rt=_(K,it)}break;case"File":if(jt)try{rt=jt(K),x(rt)!==it&&(rt=void 0)}catch(xt){}if(!rt)try{rt=new File([K],K.name,K)}catch(xt){}rt||dt(it);break;case"FileList":if(Dt=At(),Dt){for(kt=0,nt=R(K);kt<nt;kt++)Dt.items.add(St(K[kt],et));rt=Dt.files}else rt=_(K,it);break;case"ImageData":try{rt=new ImageData(St(K.data,et),K.width,K.height,{colorSpace:K.colorSpace})}catch(xt){rt=_(K,it)}break;default:if(jt)rt=jt(K);else switch(it){case"BigInt":rt=H(K.valueOf());break;case"Boolean":rt=H($t(K));break;case"Number":rt=H(vt(K));break;case"String":rt=H(mt(K));break;case"Date":rt=new B(Mt(K));break;case"Blob":try{rt=K.slice(0,K.size,K.type)}catch(xt){dt(it)}break;case"DOMPoint":case"DOMPointReadOnly":ot=e[it];try{rt=ot.fromPoint?ot.fromPoint(K):new ot(K.x,K.y,K.z,K.w)}catch(xt){dt(it)}break;case"DOMRect":case"DOMRectReadOnly":ot=e[it];try{rt=ot.fromRect?ot.fromRect(K):new ot(K.x,K.y,K.width,K.height)}catch(xt){dt(it)}break;case"DOMMatrix":case"DOMMatrixReadOnly":ot=e[it];try{rt=ot.fromMatrix?ot.fromMatrix(K):new ot(K)}catch(xt){dt(it)}break;case"AudioData":case"VideoFrame":v(K.clone)||dt(it);try{rt=K.clone()}catch(xt){st(it)}break;case"CropTarget":case"CryptoKey":case"FileSystemDirectoryHandle":case"FileSystemFileHandle":case"FileSystemHandle":case"GPUCompilationInfo":case"GPUCompilationMessage":case"ImageBitmap":case"RTCCertificate":case"WebAssembly.Module":dt(it);default:st(it)}}switch(lt(et,K,rt),it){case"Array":case"Object":for(ht=Wt(K),kt=0,nt=R(ht);kt<nt;kt++)pt=ht[kt],P(rt,pt,St(K[pt],et));break;case"Map":K.forEach(function(xt,Ut){lt(rt,St(Ut,et),St(xt,et))});break;case"Set":K.forEach(function(xt){Ot(rt,St(xt,et))});break;case"Error":T(rt,"message",St(K.message,et)),O(K,"cause")&&T(rt,"cause",St(K.cause,et)),ct==="AggregateError"?rt.errors=St(K.errors,et):ct==="SuppressedError"&&(rt.error=St(K.error,et),rt.suppressed=St(K.suppressed,et));case"DOMException":L&&T(rt,"stack",St(K.stack,et))}return rt},er=function(K,et){if(!y(K))throw new z("Transfer option cannot be converted to a sequence");var it=[];m(K,function(Ut){Vt(it,S(Ut))});for(var ot=0,ct=R(it),rt=new yt,Dt,kt,nt,ht,pt,xt;ot<ct;){if(Dt=it[ot++],kt=x(Dt),kt==="ArrayBuffer"?Rt(rt,Dt):Z(et,Dt))throw new X("Duplicate transferable",Nt);if(kt==="ArrayBuffer"){Ot(rt,Dt);continue}if(G)ht=Lt(Dt,{transfer:[Dt]});else switch(kt){case"ImageBitmap":nt=e.OffscreenCanvas,c(nt)||dt(kt,Bt);try{pt=new nt(Dt.width,Dt.height),xt=pt.getContext("bitmaprenderer"),xt.transferFromImageBitmap(Dt),ht=pt.transferToImageBitmap()}catch(Ut){}break;case"AudioData":case"VideoFrame":(!v(Dt.clone)||!v(Dt.close))&&dt(kt,Bt);try{ht=Dt.clone(),Dt.close()}catch(Ut){}break;case"MediaSourceHandle":case"MessagePort":case"MIDIAccess":case"OffscreenCanvas":case"ReadableStream":case"RTCDataChannel":case"TransformStream":case"WebTransportReceiveStream":case"WebTransportSendStream":case"WritableStream":dt(kt,Bt)}if(ht===void 0)throw new X("This object cannot be transferred: "+kt,Nt);lt(et,Dt,ht)}return rt},or=function(K){$(K,function(et){G?jt(et,{transfer:[et]}):v(et.transfer)?et.transfer():F?F(et):dt("ArrayBuffer",Bt)})};n({global:!0,enumerable:!0,sham:!G,forced:Jt},{structuredClone:function(et){var it=N(arguments.length,1)>1&&!g(arguments[1])?S(arguments[1]):void 0,ot=it?it.transfer:void 0,ct,rt;ot!==void 0&&(ct=new k,rt=er(ot,ct));var Dt=St(et,ct);return rt&&or(rt),Dt}})},28381:function(i,d,t){t(63981),t(23913)},98812:function(i,d,t){t(35054),t(93087);var r=t(14304),n=t(34246),e=t(28167),o=t(38941),s=t(96499),u=t(11286),l=t(92986),v=t(91918),c=t(16142),g=t(85500),y=t(2725),p=t(78401),m=t(26820),S=t(82367),x=t(12833),O=t(23583),P=t(94879),T=t(45526),R=t(9205),N=t(25001),A=t(37540),C=t(17361),D=t(5406),$=t(18526),F=t(90619),L=t(81077),G=t(10659),H=t(95486),U=t(18565),B=t(13270),j=U("iterator"),z="URLSearchParams",Q=z+"Iterator",X=S.set,k=S.getterFor(z),Z=S.getterFor(Q),gt=e("fetch"),lt=e("Request"),yt=e("Headers"),Ot=lt&<.prototype,Rt=yt&&yt.prototype,Wt=n.TypeError,Vt=n.encodeURIComponent,$t=String.fromCharCode,vt=o("String","fromCodePoint"),mt=parseInt,Mt=u("".charAt),Ft=u([].join),Nt=u([].push),Bt=u("".replace),qt=u([].shift),_t=u([].splice),Xt=u("".split),Lt=u("".slice),Jt=u(/./.exec),Yt=/\+/g,jt="\uFFFD",st=/^[0-9a-f]+$/i,dt=function(nt,ht){var pt=Lt(nt,ht,ht+2);return Jt(st,pt)?mt(pt,16):NaN},_=function(nt){for(var ht=0,pt=128;pt>0&&nt&pt;pt>>=1)ht++;return ht},At=function(nt){var ht=null;switch(nt.length){case 1:ht=nt[0];break;case 2:ht=(nt[0]&31)<<6|nt[1]&63;break;case 3:ht=(nt[0]&15)<<12|(nt[1]&63)<<6|nt[2]&63;break;case 4:ht=(nt[0]&7)<<18|(nt[1]&63)<<12|(nt[2]&63)<<6|nt[3]&63;break}return ht>1114111?null:ht},Pt=function(nt){nt=Bt(nt,Yt," ");for(var ht=nt.length,pt="",xt=0;xt<ht;){var Ut=Mt(nt,xt);if(Ut==="%"){if(Mt(nt,xt+1)==="%"||xt+3>ht){pt+="%",xt++;continue}var Zt=dt(nt,xt+1);if(Zt!==Zt){pt+=Ut,xt++;continue}xt+=2;var nr=_(Zt);if(nr===0)Ut=$t(Zt);else{if(nr===1||nr>4){pt+=jt,xt++;continue}for(var ar=[Zt],ir=1;ir<nr&&(xt++,!(xt+3>ht||Mt(nt,xt)!=="%"));){var cr=dt(nt,xt+1);if(cr!==cr){xt+=3;break}if(cr>191||cr<128)break;Nt(ar,cr),xt+=2,ir++}if(ar.length!==nr){pt+=jt;continue}var Ur=At(ar);Ur===null?pt+=jt:Ut=vt(Ur)}}pt+=Ut,xt++}return pt},It=/[!'()~]|%20/g,St={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},er=function(nt){return St[nt]},or=function(nt){return Bt(Vt(nt),It,er)},K=m(function(ht,pt){X(this,{type:Q,target:k(ht).entries,index:0,kind:pt})},z,function(){var ht=Z(this),pt=ht.target,xt=ht.index++;if(!pt||xt>=pt.length)return ht.target=null,G(void 0,!0);var Ut=pt[xt];switch(ht.kind){case"keys":return G(Ut.key,!1);case"values":return G(Ut.value,!1)}return G([Ut.key,Ut.value],!1)},!0),et=function(nt){this.entries=[],this.url=null,nt!==void 0&&(A(nt)?this.parseObject(nt):this.parseQuery(typeof nt=="string"?Mt(nt,0)==="?"?Lt(nt,1):nt:C(nt)))};et.prototype={type:z,bindURL:function(nt){this.url=nt,this.update()},parseObject:function(nt){var ht=this.entries,pt=L(nt),xt,Ut,Zt,nr,ar,ir,cr;if(pt)for(xt=F(nt,pt),Ut=xt.next;!(Zt=s(Ut,xt)).done;){if(nr=F(N(Zt.value)),ar=nr.next,(ir=s(ar,nr)).done||(cr=s(ar,nr)).done||!s(ar,nr).done)throw new Wt("Expected sequence with length 2");Nt(ht,{key:C(ir.value),value:C(cr.value)})}else for(var Ur in nt)P(nt,Ur)&&Nt(ht,{key:Ur,value:C(nt[Ur])})},parseQuery:function(nt){if(nt)for(var ht=this.entries,pt=Xt(nt,"&"),xt=0,Ut,Zt;xt<pt.length;)Ut=pt[xt++],Ut.length&&(Zt=Xt(Ut,"="),Nt(ht,{key:Pt(qt(Zt)),value:Pt(Ft(Zt,"="))}))},serialize:function(){for(var nt=this.entries,ht=[],pt=0,xt;pt<nt.length;)xt=nt[pt++],Nt(ht,or(xt.key)+"="+or(xt.value));return Ft(ht,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var it=function(){x(this,ot);var ht=arguments.length>0?arguments[0]:void 0,pt=X(this,new et(ht));l||(this.size=pt.entries.length)},ot=it.prototype;if(y(ot,{append:function(ht,pt){var xt=k(this);H(arguments.length,2),Nt(xt.entries,{key:C(ht),value:C(pt)}),l||this.length++,xt.updateURL()},delete:function(nt){for(var ht=k(this),pt=H(arguments.length,1),xt=ht.entries,Ut=C(nt),Zt=pt<2?void 0:arguments[1],nr=Zt===void 0?Zt:C(Zt),ar=0;ar<xt.length;){var ir=xt[ar];if(ir.key===Ut&&(nr===void 0||ir.value===nr)){if(_t(xt,ar,1),nr!==void 0)break}else ar++}l||(this.size=xt.length),ht.updateURL()},get:function(ht){var pt=k(this).entries;H(arguments.length,1);for(var xt=C(ht),Ut=0;Ut<pt.length;Ut++)if(pt[Ut].key===xt)return pt[Ut].value;return null},getAll:function(ht){var pt=k(this).entries;H(arguments.length,1);for(var xt=C(ht),Ut=[],Zt=0;Zt<pt.length;Zt++)pt[Zt].key===xt&&Nt(Ut,pt[Zt].value);return Ut},has:function(ht){for(var pt=k(this).entries,xt=H(arguments.length,1),Ut=C(ht),Zt=xt<2?void 0:arguments[1],nr=Zt===void 0?Zt:C(Zt),ar=0;ar<pt.length;){var ir=pt[ar++];if(ir.key===Ut&&(nr===void 0||ir.value===nr))return!0}return!1},set:function(ht,pt){var xt=k(this);H(arguments.length,1);for(var Ut=xt.entries,Zt=!1,nr=C(ht),ar=C(pt),ir=0,cr;ir<Ut.length;ir++)cr=Ut[ir],cr.key===nr&&(Zt?_t(Ut,ir--,1):(Zt=!0,cr.value=ar));Zt||Nt(Ut,{key:nr,value:ar}),l||(this.size=Ut.length),xt.updateURL()},sort:function(){var ht=k(this);B(ht.entries,function(pt,xt){return pt.key>xt.key?1:-1}),ht.updateURL()},forEach:function(ht){for(var pt=k(this).entries,xt=T(ht,arguments.length>1?arguments[1]:void 0),Ut=0,Zt;Ut<pt.length;)Zt=pt[Ut++],xt(Zt.value,Zt.key,this)},keys:function(){return new K(this,"keys")},values:function(){return new K(this,"values")},entries:function(){return new K(this,"entries")}},{enumerable:!0}),c(ot,j,ot.entries,{name:"entries"}),c(ot,"toString",function(){return k(this).serialize()},{enumerable:!0}),l&&g(ot,"size",{get:function(){return k(this).entries.length},configurable:!0,enumerable:!0}),p(it,z),r({global:!0,constructor:!0,forced:!v},{URLSearchParams:it}),!v&&O(yt)){var ct=u(Rt.has),rt=u(Rt.set),Dt=function(nt){if(A(nt)){var ht=nt.body,pt;if(R(ht)===z)return pt=nt.headers?new yt(nt.headers):new yt,ct(pt,"content-type")||rt(pt,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),D(nt,{body:$(0,C(ht)),headers:$(0,pt)})}return nt};if(O(gt)&&r({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(ht){return gt(ht,arguments.length>1?Dt(arguments[1]):{})}}),O(lt)){var kt=function(ht){return x(this,Ot),new lt(ht,arguments.length>1?Dt(arguments[1]):{})};Ot.constructor=kt,kt.prototype=Ot,r({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:kt})}}i.exports={URLSearchParams:it,getState:k}},10901:function(i,d,t){var r=t(16142),n=t(11286),e=t(17361),o=t(95486),s=URLSearchParams,u=s.prototype,l=n(u.append),v=n(u.delete),c=n(u.forEach),g=n([].push),y=new s("a=1&a=2&b=3");y.delete("a",1),y.delete("b",void 0),y+""!="a=2"&&r(u,"delete",function(p){var m=arguments.length,S=m<2?void 0:arguments[1];if(m&&S===void 0)return v(this,p);var x=[];c(this,function(D,$){g(x,{key:$,value:D})}),o(m,1);for(var O=e(p),P=e(S),T=0,R=0,N=!1,A=x.length,C;T<A;)C=x[T++],N||C.key===O?(N=!0,v(this,C.key)):R++;for(;R<A;)C=x[R++],C.key===O&&C.value===P||l(this,C.key,C.value)},{enumerable:!0,unsafe:!0})},93944:function(i,d,t){var r=t(16142),n=t(11286),e=t(17361),o=t(95486),s=URLSearchParams,u=s.prototype,l=n(u.getAll),v=n(u.has),c=new s("a=1");(c.has("a",2)||!c.has("a",void 0))&&r(u,"has",function(y){var p=arguments.length,m=p<2?void 0:arguments[1];if(p&&m===void 0)return v(this,y);var S=l(this,y);o(p,1);for(var x=e(m),O=0;O<S.length;)if(S[O++]===x)return!0;return!1},{enumerable:!0,unsafe:!0})},86650:function(i,d,t){t(98812)},79043:function(i,d,t){var r=t(92986),n=t(11286),e=t(85500),o=URLSearchParams.prototype,s=n(o.forEach);r&&!("size"in o)&&e(o,"size",{get:function(){var l=0;return s(this,function(){l++}),l},configurable:!0,enumerable:!0})},20760:function(i,d,t){var r=t(14304),n=t(38941),e=t(72069),o=t(95486),s=t(17361),u=t(91918),l=n("URL"),v=u&&e(function(){l.canParse()}),c=e(function(){return l.canParse.length!==1});r({target:"URL",stat:!0,forced:!v||c},{canParse:function(y){var p=o(arguments.length,1),m=s(y),S=p<2||arguments[1]===void 0?void 0:s(arguments[1]);try{return!!new l(m,S)}catch(x){return!1}}})},81888:function(i,d,t){t(59158);var r=t(14304),n=t(92986),e=t(91918),o=t(34246),s=t(45526),u=t(11286),l=t(16142),v=t(85500),c=t(12833),g=t(94879),y=t(16667),p=t(48258),m=t(22806),S=t(22149).codeAt,x=t(38679),O=t(17361),P=t(78401),T=t(95486),R=t(98812),N=t(82367),A=N.set,C=N.getterFor("URL"),D=R.URLSearchParams,$=R.getState,F=o.URL,L=o.TypeError,G=o.parseInt,H=Math.floor,U=Math.pow,B=u("".charAt),j=u(/./.exec),z=u([].join),Q=u(1 .toString),X=u([].pop),k=u([].push),Z=u("".replace),gt=u([].shift),lt=u("".split),yt=u("".slice),Ot=u("".toLowerCase),Rt=u([].unshift),Wt="Invalid authority",Vt="Invalid scheme",$t="Invalid host",vt="Invalid port",mt=/[a-z]/i,Mt=/[\d+-.a-z]/i,Ft=/\d/,Nt=/^0x/i,Bt=/^[0-7]+$/,qt=/^\d+$/,_t=/^[\da-f]+$/i,Xt=/[\0\t\n\r #%/:<>?@[\\\]^|]/,Lt=/[\0\t\n\r #/:<>?@[\\\]^|]/,Jt=/^[\u0000-\u0020]+/,Yt=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,jt=/[\t\n\r]/g,st,dt=function(Y){var ft=lt(Y,"."),J,V,at,zt,Ct,sr,ur;if(ft.length&&ft[ft.length-1]===""&&ft.length--,J=ft.length,J>4)return Y;for(V=[],at=0;at<J;at++){if(zt=ft[at],zt==="")return Y;if(Ct=10,zt.length>1&&B(zt,0)==="0"&&(Ct=j(Nt,zt)?16:8,zt=yt(zt,Ct===8?1:2)),zt==="")sr=0;else{if(!j(Ct===10?qt:Ct===8?Bt:_t,zt))return Y;sr=G(zt,Ct)}k(V,sr)}for(at=0;at<J;at++)if(sr=V[at],at===J-1){if(sr>=U(256,5-J))return null}else if(sr>255)return null;for(ur=X(V),at=0;at<V.length;at++)ur+=V[at]*U(256,3-at);return ur},_=function(Y){var ft=[0,0,0,0,0,0,0,0],J=0,V=null,at=0,zt,Ct,sr,ur,dr,Dr,ut,lr=function(){return B(Y,at)};if(lr()===":"){if(B(Y,1)!==":")return;at+=2,J++,V=J}for(;lr();){if(J===8)return;if(lr()===":"){if(V!==null)return;at++,J++,V=J;continue}for(zt=Ct=0;Ct<4&&j(_t,lr());)zt=zt*16+G(lr(),16),at++,Ct++;if(lr()==="."){if(Ct===0||(at-=Ct,J>6))return;for(sr=0;lr();){if(ur=null,sr>0)if(lr()==="."&&sr<4)at++;else return;if(!j(Ft,lr()))return;for(;j(Ft,lr());){if(dr=G(lr(),10),ur===null)ur=dr;else{if(ur===0)return;ur=ur*10+dr}if(ur>255)return;at++}ft[J]=ft[J]*256+ur,sr++,(sr===2||sr===4)&&J++}if(sr!==4)return;break}else if(lr()===":"){if(at++,!lr())return}else if(lr())return;ft[J++]=zt}if(V!==null)for(Dr=J-V,J=7;J!==0&&Dr>0;)ut=ft[J],ft[J--]=ft[V+Dr-1],ft[V+--Dr]=ut;else if(J!==8)return;return ft},At=function(Y){for(var ft=null,J=1,V=null,at=0,zt=0;zt<8;zt++)Y[zt]!==0?(at>J&&(ft=V,J=at),V=null,at=0):(V===null&&(V=zt),++at);return at>J?V:ft},Pt=function(Y){var ft,J,V,at;if(typeof Y=="number"){for(ft=[],J=0;J<4;J++)Rt(ft,Y%256),Y=H(Y/256);return z(ft,".")}if(typeof Y=="object"){for(ft="",V=At(Y),J=0;J<8;J++)at&&Y[J]===0||(at&&(at=!1),V===J?(ft+=J?":":"::",at=!0):(ft+=Q(Y[J],16),J<7&&(ft+=":")));return"["+ft+"]"}return Y},It={},St=y({},It,{" ":1,'"':1,"<":1,">":1,"`":1}),er=y({},St,{"#":1,"?":1,"{":1,"}":1}),or=y({},er,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),K=function(Y,ft){var J=S(Y,0);return J>32&&J<127&&!g(ft,Y)?Y:encodeURIComponent(Y)},et={ftp:21,file:null,http:80,https:443,ws:80,wss:443},it=function(Y,ft){var J;return Y.length===2&&j(mt,B(Y,0))&&((J=B(Y,1))===":"||!ft&&J==="|")},ot=function(Y){var ft;return Y.length>1&&it(yt(Y,0,2))&&(Y.length===2||(ft=B(Y,2))==="/"||ft==="\\"||ft==="?"||ft==="#")},ct=function(Y){return Y==="."||Ot(Y)==="%2e"},rt=function(Y){return Y=Ot(Y),Y===".."||Y==="%2e."||Y===".%2e"||Y==="%2e%2e"},Dt={},kt={},nt={},ht={},pt={},xt={},Ut={},Zt={},nr={},ar={},ir={},cr={},Ur={},gn={},bn={},yn={},$r={},Br={},Fn={},Jr={},jr={},fn=function(Y,ft,J){var V=O(Y),at,zt,Ct;if(ft){if(zt=this.parse(V),zt)throw new L(zt);this.searchParams=null}else{if(J!==void 0&&(at=new fn(J,!0)),zt=this.parse(V,null,at),zt)throw new L(zt);Ct=$(new D),Ct.bindURL(this),this.searchParams=Ct}};fn.prototype={type:"URL",parse:function(Y,ft,J){var V=this,at=ft||Dt,zt=0,Ct="",sr=!1,ur=!1,dr=!1,Dr,ut,lr,wr;for(Y=O(Y),ft||(V.scheme="",V.username="",V.password="",V.host=null,V.port=null,V.path=[],V.query=null,V.fragment=null,V.cannotBeABaseURL=!1,Y=Z(Y,Jt,""),Y=Z(Y,Yt,"$1")),Y=Z(Y,jt,""),Dr=p(Y);zt<=Dr.length;){switch(ut=Dr[zt],at){case Dt:if(ut&&j(mt,ut))Ct+=Ot(ut),at=kt;else{if(ft)return Vt;at=nt;continue}break;case kt:if(ut&&(j(Mt,ut)||ut==="+"||ut==="-"||ut==="."))Ct+=Ot(ut);else if(ut===":"){if(ft&&(V.isSpecial()!==g(et,Ct)||Ct==="file"&&(V.includesCredentials()||V.port!==null)||V.scheme==="file"&&!V.host))return;if(V.scheme=Ct,ft){V.isSpecial()&&et[V.scheme]===V.port&&(V.port=null);return}Ct="",V.scheme==="file"?at=gn:V.isSpecial()&&J&&J.scheme===V.scheme?at=ht:V.isSpecial()?at=Zt:Dr[zt+1]==="/"?(at=pt,zt++):(V.cannotBeABaseURL=!0,k(V.path,""),at=Fn)}else{if(ft)return Vt;Ct="",at=nt,zt=0;continue}break;case nt:if(!J||J.cannotBeABaseURL&&ut!=="#")return Vt;if(J.cannotBeABaseURL&&ut==="#"){V.scheme=J.scheme,V.path=m(J.path),V.query=J.query,V.fragment="",V.cannotBeABaseURL=!0,at=jr;break}at=J.scheme==="file"?gn:xt;continue;case ht:if(ut==="/"&&Dr[zt+1]==="/")at=nr,zt++;else{at=xt;continue}break;case pt:if(ut==="/"){at=ar;break}else{at=Br;continue}case xt:if(V.scheme=J.scheme,ut===st)V.username=J.username,V.password=J.password,V.host=J.host,V.port=J.port,V.path=m(J.path),V.query=J.query;else if(ut==="/"||ut==="\\"&&V.isSpecial())at=Ut;else if(ut==="?")V.username=J.username,V.password=J.password,V.host=J.host,V.port=J.port,V.path=m(J.path),V.query="",at=Jr;else if(ut==="#")V.username=J.username,V.password=J.password,V.host=J.host,V.port=J.port,V.path=m(J.path),V.query=J.query,V.fragment="",at=jr;else{V.username=J.username,V.password=J.password,V.host=J.host,V.port=J.port,V.path=m(J.path),V.path.length--,at=Br;continue}break;case Ut:if(V.isSpecial()&&(ut==="/"||ut==="\\"))at=nr;else if(ut==="/")at=ar;else{V.username=J.username,V.password=J.password,V.host=J.host,V.port=J.port,at=Br;continue}break;case Zt:if(at=nr,ut!=="/"||B(Ct,zt+1)!=="/")continue;zt++;break;case nr:if(ut!=="/"&&ut!=="\\"){at=ar;continue}break;case ar:if(ut==="@"){sr&&(Ct="%40"+Ct),sr=!0,lr=p(Ct);for(var mn=0;mn<lr.length;mn++){var Ln=lr[mn];if(Ln===":"&&!dr){dr=!0;continue}var Un=K(Ln,or);dr?V.password+=Un:V.username+=Un}Ct=""}else if(ut===st||ut==="/"||ut==="?"||ut==="#"||ut==="\\"&&V.isSpecial()){if(sr&&Ct==="")return Wt;zt-=p(Ct).length+1,Ct="",at=ir}else Ct+=ut;break;case ir:case cr:if(ft&&V.scheme==="file"){at=yn;continue}else if(ut===":"&&!ur){if(Ct==="")return $t;if(wr=V.parseHost(Ct),wr)return wr;if(Ct="",at=Ur,ft===cr)return}else if(ut===st||ut==="/"||ut==="?"||ut==="#"||ut==="\\"&&V.isSpecial()){if(V.isSpecial()&&Ct==="")return $t;if(ft&&Ct===""&&(V.includesCredentials()||V.port!==null))return;if(wr=V.parseHost(Ct),wr)return wr;if(Ct="",at=$r,ft)return;continue}else ut==="["?ur=!0:ut==="]"&&(ur=!1),Ct+=ut;break;case Ur:if(j(Ft,ut))Ct+=ut;else if(ut===st||ut==="/"||ut==="?"||ut==="#"||ut==="\\"&&V.isSpecial()||ft){if(Ct!==""){var ln=G(Ct,10);if(ln>65535)return vt;V.port=V.isSpecial()&&ln===et[V.scheme]?null:ln,Ct=""}if(ft)return;at=$r;continue}else return vt;break;case gn:if(V.scheme="file",ut==="/"||ut==="\\")at=bn;else if(J&&J.scheme==="file")switch(ut){case st:V.host=J.host,V.path=m(J.path),V.query=J.query;break;case"?":V.host=J.host,V.path=m(J.path),V.query="",at=Jr;break;case"#":V.host=J.host,V.path=m(J.path),V.query=J.query,V.fragment="",at=jr;break;default:ot(z(m(Dr,zt),""))||(V.host=J.host,V.path=m(J.path),V.shortenPath()),at=Br;continue}else{at=Br;continue}break;case bn:if(ut==="/"||ut==="\\"){at=yn;break}J&&J.scheme==="file"&&!ot(z(m(Dr,zt),""))&&(it(J.path[0],!0)?k(V.path,J.path[0]):V.host=J.host),at=Br;continue;case yn:if(ut===st||ut==="/"||ut==="\\"||ut==="?"||ut==="#"){if(!ft&&it(Ct))at=Br;else if(Ct===""){if(V.host="",ft)return;at=$r}else{if(wr=V.parseHost(Ct),wr)return wr;if(V.host==="localhost"&&(V.host=""),ft)return;Ct="",at=$r}continue}else Ct+=ut;break;case $r:if(V.isSpecial()){if(at=Br,ut!=="/"&&ut!=="\\")continue}else if(!ft&&ut==="?")V.query="",at=Jr;else if(!ft&&ut==="#")V.fragment="",at=jr;else if(ut!==st&&(at=Br,ut!=="/"))continue;break;case Br:if(ut===st||ut==="/"||ut==="\\"&&V.isSpecial()||!ft&&(ut==="?"||ut==="#")){if(rt(Ct)?(V.shortenPath(),ut!=="/"&&!(ut==="\\"&&V.isSpecial())&&k(V.path,"")):ct(Ct)?ut!=="/"&&!(ut==="\\"&&V.isSpecial())&&k(V.path,""):(V.scheme==="file"&&!V.path.length&&it(Ct)&&(V.host&&(V.host=""),Ct=B(Ct,0)+":"),k(V.path,Ct)),Ct="",V.scheme==="file"&&(ut===st||ut==="?"||ut==="#"))for(;V.path.length>1&&V.path[0]==="";)gt(V.path);ut==="?"?(V.query="",at=Jr):ut==="#"&&(V.fragment="",at=jr)}else Ct+=K(ut,er);break;case Fn:ut==="?"?(V.query="",at=Jr):ut==="#"?(V.fragment="",at=jr):ut!==st&&(V.path[0]+=K(ut,It));break;case Jr:!ft&&ut==="#"?(V.fragment="",at=jr):ut!==st&&(ut==="'"&&V.isSpecial()?V.query+="%27":ut==="#"?V.query+="%23":V.query+=K(ut,It));break;case jr:ut!==st&&(V.fragment+=K(ut,St));break}zt++}},parseHost:function(Y){var ft,J,V;if(B(Y,0)==="["){if(B(Y,Y.length-1)!=="]"||(ft=_(yt(Y,1,-1)),!ft))return $t;this.host=ft}else if(this.isSpecial()){if(Y=x(Y),j(Xt,Y)||(ft=dt(Y),ft===null))return $t;this.host=ft}else{if(j(Lt,Y))return $t;for(ft="",J=p(Y),V=0;V<J.length;V++)ft+=K(J[V],It);this.host=ft}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme==="file"},includesCredentials:function(){return this.username!==""||this.password!==""},isSpecial:function(){return g(et,this.scheme)},shortenPath:function(){var Y=this.path,ft=Y.length;ft&&(this.scheme!=="file"||ft!==1||!it(Y[0],!0))&&Y.length--},serialize:function(){var Y=this,ft=Y.scheme,J=Y.username,V=Y.password,at=Y.host,zt=Y.port,Ct=Y.path,sr=Y.query,ur=Y.fragment,dr=ft+":";return at!==null?(dr+="//",Y.includesCredentials()&&(dr+=J+(V?":"+V:"")+"@"),dr+=Pt(at),zt!==null&&(dr+=":"+zt)):ft==="file"&&(dr+="//"),dr+=Y.cannotBeABaseURL?Ct[0]:Ct.length?"/"+z(Ct,"/"):"",sr!==null&&(dr+="?"+sr),ur!==null&&(dr+="#"+ur),dr},setHref:function(Y){var ft=this.parse(Y);if(ft)throw new L(ft);this.searchParams.update()},getOrigin:function(){var Y=this.scheme,ft=this.port;if(Y==="blob")try{return new zr(Y.path[0]).origin}catch(J){return"null"}return Y==="file"||!this.isSpecial()?"null":Y+"://"+Pt(this.host)+(ft!==null?":"+ft:"")},getProtocol:function(){return this.scheme+":"},setProtocol:function(Y){this.parse(O(Y)+":",Dt)},getUsername:function(){return this.username},setUsername:function(Y){var ft=p(O(Y));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var J=0;J<ft.length;J++)this.username+=K(ft[J],or)}},getPassword:function(){return this.password},setPassword:function(Y){var ft=p(O(Y));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var J=0;J<ft.length;J++)this.password+=K(ft[J],or)}},getHost:function(){var Y=this.host,ft=this.port;return Y===null?"":ft===null?Pt(Y):Pt(Y)+":"+ft},setHost:function(Y){this.cannotBeABaseURL||this.parse(Y,ir)},getHostname:function(){var Y=this.host;return Y===null?"":Pt(Y)},setHostname:function(Y){this.cannotBeABaseURL||this.parse(Y,cr)},getPort:function(){var Y=this.port;return Y===null?"":O(Y)},setPort:function(Y){this.cannotHaveUsernamePasswordPort()||(Y=O(Y),Y===""?this.port=null:this.parse(Y,Ur))},getPathname:function(){var Y=this.path;return this.cannotBeABaseURL?Y[0]:Y.length?"/"+z(Y,"/"):""},setPathname:function(Y){this.cannotBeABaseURL||(this.path=[],this.parse(Y,$r))},getSearch:function(){var Y=this.query;return Y?"?"+Y:""},setSearch:function(Y){Y=O(Y),Y===""?this.query=null:(B(Y,0)==="?"&&(Y=yt(Y,1)),this.query="",this.parse(Y,Jr)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var Y=this.fragment;return Y?"#"+Y:""},setHash:function(Y){if(Y=O(Y),Y===""){this.fragment=null;return}B(Y,0)==="#"&&(Y=yt(Y,1)),this.fragment="",this.parse(Y,jr)},update:function(){this.query=this.searchParams.serialize()||null}};var zr=function(ft){var J=c(this,mr),V=T(arguments.length,1)>1?arguments[1]:void 0,at=A(J,new fn(ft,!1,V));n||(J.href=at.serialize(),J.origin=at.getOrigin(),J.protocol=at.getProtocol(),J.username=at.getUsername(),J.password=at.getPassword(),J.host=at.getHost(),J.hostname=at.getHostname(),J.port=at.getPort(),J.pathname=at.getPathname(),J.search=at.getSearch(),J.searchParams=at.getSearchParams(),J.hash=at.getHash())},mr=zr.prototype,Nr=function(Y,ft){return{get:function(){return C(this)[Y]()},set:ft&&function(J){return C(this)[ft](J)},configurable:!0,enumerable:!0}};if(n&&(v(mr,"href",Nr("serialize","setHref")),v(mr,"origin",Nr("getOrigin")),v(mr,"protocol",Nr("getProtocol","setProtocol")),v(mr,"username",Nr("getUsername","setUsername")),v(mr,"password",Nr("getPassword","setPassword")),v(mr,"host",Nr("getHost","setHost")),v(mr,"hostname",Nr("getHostname","setHostname")),v(mr,"port",Nr("getPort","setPort")),v(mr,"pathname",Nr("getPathname","setPathname")),v(mr,"search",Nr("getSearch","setSearch")),v(mr,"searchParams",Nr("getSearchParams")),v(mr,"hash",Nr("getHash","setHash"))),l(mr,"toJSON",function(){return C(this).serialize()},{enumerable:!0}),l(mr,"toString",function(){return C(this).serialize()},{enumerable:!0}),F){var pn=F.createObjectURL,$n=F.revokeObjectURL;pn&&l(zr,"createObjectURL",s(pn,F)),$n&&l(zr,"revokeObjectURL",s($n,F))}P(zr,"URL"),r({global:!0,constructor:!0,forced:!e,sham:!n},{URL:zr})},51862:function(i,d,t){t(81888)},24119:function(i,d,t){var r=t(14304),n=t(38941),e=t(95486),o=t(17361),s=t(91918),u=n("URL");r({target:"URL",stat:!0,forced:!s},{parse:function(v){var c=e(arguments.length,1),g=o(v),y=c<2||arguments[1]===void 0?void 0:o(arguments[1]);try{return new u(g,y)}catch(p){return null}}})},97526:function(i,d,t){var r=t(14304),n=t(96499);r({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return n(URL.prototype.toString,this)}})},61969:function(i,d,t){t(40949),t(43657),t(43606),t(15855),t(42026),t(33257),t(59414),t(88344),t(92579),t(94655),t(8565),t(60843),t(65842),t(51595),t(54908),t(81742),t(8720),t(42861),t(27796),t(1341),t(98700),t(65481),t(46509),t(41585),t(84554),t(36619),t(33818),t(64096),t(2209),t(91591),t(74092),t(54703),t(82936),t(48493),t(64730),t(95024),t(35054),t(25460),t(60703),t(90468),t(69581),t(720),t(11042),t(17289),t(24608),t(51644),t(88088),t(46828),t(90088),t(35148),t(86184),t(53983),t(42560),t(88444),t(27839),t(73051),t(9372),t(35473),t(4983),t(6875),t(68575),t(35495),t(32790),t(58594),t(30801),t(90911),t(90429),t(33685),t(60086),t(96049),t(14038),t(55518),t(8894),t(60628),t(56347),t(16864),t(93819),t(11565),t(26668),t(46386),t(35179),t(20150),t(23001),t(40334),t(87457),t(66699),t(17535),t(48157),t(55338),t(6644),t(71332),t(47269),t(25627),t(22090),t(9839),t(15656),t(22091),t(2886),t(25895),t(24228),t(79488),t(75987),t(81555),t(87854),t(35074),t(50946),t(29417),t(80628),t(74375),t(29708),t(93449),t(9111),t(83514),t(15096),t(59590),t(99663),t(89988),t(54427),t(67895),t(57909),t(83938),t(55461),t(97339),t(3670),t(15224),t(45891),t(99910),t(92445),t(21875),t(4383),t(11361),t(13728),t(14885),t(30343),t(22045),t(75e3),t(64658),t(16017),t(84681),t(73421),t(93446),t(31046),t(94645),t(62935),t(62518),t(45130),t(51542),t(43781),t(25738),t(93247),t(41533),t(60225),t(69920),t(89205),t(78546),t(63616),t(16893),t(3676),t(58361),t(7487),t(23958),t(9798),t(2371),t(76185),t(76553),t(93518),t(25227),t(91723),t(57882),t(37796),t(11563),t(26159),t(20962),t(77487),t(6130),t(1354),t(47119),t(31145),t(96773),t(14371),t(18180),t(83147),t(75765),t(86548),t(15282),t(51275),t(91890),t(15089),t(78134),t(56456),t(40735),t(8510),t(70159),t(93087),t(26021),t(93029),t(59158),t(15599),t(18509),t(21579),t(8854),t(57676),t(14527),t(96834),t(52684),t(74980),t(390),t(42794),t(21293),t(18184),t(75012),t(19680),t(4193),t(70641),t(53892),t(95976),t(399),t(72032),t(49442),t(16012),t(9943),t(33128),t(95625),t(90614),t(60120),t(75826),t(25560),t(22571),t(40704),t(36849),t(49191),t(81083),t(27428),t(44884),t(48658),t(71998),t(6116),t(33032),t(80962),t(49381),t(38344),t(65961),t(94153),t(16028),t(20656),t(17063),t(21774),t(51761),t(12317),t(19711),t(41034),t(13313),t(44698),t(7369),t(66178),t(67961),t(8695),t(69997),t(9711),t(3923),t(59728),t(85227),t(56933),t(91490),t(61766),t(85143),t(47005),t(10042),t(37888),t(19431),t(60869),t(50338),t(53059),t(5805),t(50685),t(70649),t(39842),t(82872),t(91401),t(92904),t(28381),t(51862),t(20760),t(24119),t(97526),t(86650),t(10901),t(93944),t(79043),t(75081)}},qr={};function Lr(i){var d=qr[i];if(d!==void 0)return d.exports;var t=qr[i]={exports:{}};return Ce[i].call(t.exports,t,t.exports,Lr),t.exports}(function(){Lr.d=function(i,d){for(var t in d)Lr.o(d,t)&&!Lr.o(i,t)&&Object.defineProperty(i,t,{enumerable:!0,get:d[t]})}})(),function(){Lr.o=function(i,d){return Object.prototype.hasOwnProperty.call(i,d)}}(),Lr(61969);var oe=Lr(68990);return oe=oe.default,oe}()}); diff --git a/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-stanford.pkgd.js b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-stanford.pkgd.js new file mode 100644 index 000000000..0874bb30c --- /dev/null +++ b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-stanford.pkgd.js @@ -0,0 +1,25271 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define("bb", [], factory); + else if(typeof exports === 'object') + exports["bb"] = factory(); + else + root["bb"] = root["bb"] || {}, root["bb"]["plugin"] = root["bb"]["plugin"] || {}, root["bb"]["plugin"]["stanford.pkgd"] = factory(); +})(this, function() { +return /******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ([ +/* 0 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +__webpack_require__(1); +__webpack_require__(97); +__webpack_require__(98); +__webpack_require__(99); +__webpack_require__(100); +__webpack_require__(101); +__webpack_require__(102); +__webpack_require__(103); +__webpack_require__(104); +__webpack_require__(105); +__webpack_require__(106); +__webpack_require__(107); +__webpack_require__(108); +__webpack_require__(109); +__webpack_require__(110); +__webpack_require__(111); +__webpack_require__(124); +__webpack_require__(126); +__webpack_require__(136); +__webpack_require__(137); +__webpack_require__(139); +__webpack_require__(143); +__webpack_require__(146); +__webpack_require__(148); +__webpack_require__(150); +__webpack_require__(151); +__webpack_require__(152); +__webpack_require__(153); +__webpack_require__(155); +__webpack_require__(156); +__webpack_require__(158); +__webpack_require__(159); +__webpack_require__(161); +__webpack_require__(165); +__webpack_require__(166); +__webpack_require__(167); +__webpack_require__(168); +__webpack_require__(173); +__webpack_require__(174); +__webpack_require__(176); +__webpack_require__(177); +__webpack_require__(178); +__webpack_require__(180); +__webpack_require__(184); +__webpack_require__(185); +__webpack_require__(186); +__webpack_require__(187); +__webpack_require__(188); +__webpack_require__(193); +__webpack_require__(195); +__webpack_require__(196); +__webpack_require__(198); +__webpack_require__(201); +__webpack_require__(202); +__webpack_require__(203); +__webpack_require__(204); +__webpack_require__(205); +__webpack_require__(207); +__webpack_require__(217); +__webpack_require__(219); +__webpack_require__(220); +__webpack_require__(222); +__webpack_require__(225); +__webpack_require__(231); +__webpack_require__(232); +__webpack_require__(233); +__webpack_require__(234); +__webpack_require__(235); +__webpack_require__(236); +__webpack_require__(240); +__webpack_require__(241); +__webpack_require__(243); +__webpack_require__(244); +__webpack_require__(245); +__webpack_require__(247); +__webpack_require__(248); +__webpack_require__(249); +__webpack_require__(250); +__webpack_require__(251); +__webpack_require__(256); +__webpack_require__(257); +__webpack_require__(258); +__webpack_require__(259); +__webpack_require__(261); +__webpack_require__(262); +__webpack_require__(263); +__webpack_require__(265); +__webpack_require__(266); +__webpack_require__(267); +__webpack_require__(268); +__webpack_require__(93); +__webpack_require__(269); +__webpack_require__(270); +__webpack_require__(278); +__webpack_require__(280); +__webpack_require__(282); +__webpack_require__(283); +__webpack_require__(284); +__webpack_require__(285); +__webpack_require__(286); +__webpack_require__(288); +__webpack_require__(289); +__webpack_require__(290); +__webpack_require__(291); +__webpack_require__(292); +__webpack_require__(294); +__webpack_require__(295); +__webpack_require__(296); +__webpack_require__(297); +__webpack_require__(298); +__webpack_require__(299); +__webpack_require__(300); +__webpack_require__(301); +__webpack_require__(305); +__webpack_require__(306); +__webpack_require__(308); +__webpack_require__(310); +__webpack_require__(311); +__webpack_require__(312); +__webpack_require__(313); +__webpack_require__(314); +__webpack_require__(316); +__webpack_require__(318); +__webpack_require__(319); +__webpack_require__(320); +__webpack_require__(321); +__webpack_require__(323); +__webpack_require__(324); +__webpack_require__(326); +__webpack_require__(327); +__webpack_require__(328); +__webpack_require__(329); +__webpack_require__(331); +__webpack_require__(332); +__webpack_require__(333); +__webpack_require__(334); +__webpack_require__(335); +__webpack_require__(336); +__webpack_require__(337); +__webpack_require__(338); +__webpack_require__(339); +__webpack_require__(341); +__webpack_require__(342); +__webpack_require__(343); +__webpack_require__(344); +__webpack_require__(345); +__webpack_require__(346); +__webpack_require__(347); +__webpack_require__(348); +__webpack_require__(349); +__webpack_require__(350); +__webpack_require__(351); +__webpack_require__(353); +__webpack_require__(354); +__webpack_require__(355); +__webpack_require__(356); +__webpack_require__(380); +__webpack_require__(381); +__webpack_require__(382); +__webpack_require__(383); +__webpack_require__(384); +__webpack_require__(385); +__webpack_require__(386); +__webpack_require__(387); +__webpack_require__(388); +__webpack_require__(389); +__webpack_require__(391); +__webpack_require__(392); +__webpack_require__(393); +__webpack_require__(394); +__webpack_require__(395); +__webpack_require__(396); +__webpack_require__(397); +__webpack_require__(398); +__webpack_require__(399); +__webpack_require__(400); +__webpack_require__(407); +__webpack_require__(408); +__webpack_require__(410); +__webpack_require__(411); +__webpack_require__(412); +__webpack_require__(413); +__webpack_require__(414); +__webpack_require__(416); +__webpack_require__(426); +__webpack_require__(428); +__webpack_require__(430); +__webpack_require__(432); +__webpack_require__(434); +__webpack_require__(436); +__webpack_require__(438); +__webpack_require__(439); +__webpack_require__(441); +__webpack_require__(444); +__webpack_require__(445); +__webpack_require__(446); +__webpack_require__(447); +__webpack_require__(448); +__webpack_require__(452); +__webpack_require__(453); +__webpack_require__(455); +__webpack_require__(456); +__webpack_require__(457); +__webpack_require__(458); +__webpack_require__(460); +__webpack_require__(461); +__webpack_require__(462); +__webpack_require__(463); +__webpack_require__(464); +__webpack_require__(465); +__webpack_require__(466); +__webpack_require__(468); +__webpack_require__(471); +__webpack_require__(474); +__webpack_require__(477); +__webpack_require__(478); +__webpack_require__(479); +__webpack_require__(480); +__webpack_require__(481); +__webpack_require__(482); +__webpack_require__(483); +__webpack_require__(484); +__webpack_require__(485); +__webpack_require__(486); +__webpack_require__(487); +__webpack_require__(488); +__webpack_require__(489); +__webpack_require__(497); +__webpack_require__(498); +__webpack_require__(499); +__webpack_require__(500); +__webpack_require__(501); +__webpack_require__(502); +__webpack_require__(503); +__webpack_require__(504); +__webpack_require__(505); +__webpack_require__(506); +__webpack_require__(507); +__webpack_require__(508); +__webpack_require__(509); +__webpack_require__(511); +__webpack_require__(512); +__webpack_require__(513); +__webpack_require__(514); +__webpack_require__(515); +__webpack_require__(516); +__webpack_require__(517); +__webpack_require__(518); +__webpack_require__(519); +__webpack_require__(520); +__webpack_require__(521); +__webpack_require__(522); +__webpack_require__(523); +__webpack_require__(524); +__webpack_require__(525); +__webpack_require__(526); +__webpack_require__(527); +__webpack_require__(528); +__webpack_require__(529); +__webpack_require__(530); +__webpack_require__(531); +__webpack_require__(532); +__webpack_require__(533); +__webpack_require__(534); +__webpack_require__(535); +__webpack_require__(536); +__webpack_require__(537); +__webpack_require__(538); +__webpack_require__(541); +__webpack_require__(543); +__webpack_require__(545); +__webpack_require__(546); +__webpack_require__(549); +__webpack_require__(550); +__webpack_require__(552); +__webpack_require__(553); +__webpack_require__(554); +__webpack_require__(558); +__webpack_require__(559); +__webpack_require__(560); +__webpack_require__(561); +__webpack_require__(564); +__webpack_require__(569); +__webpack_require__(570); +__webpack_require__(571); +__webpack_require__(572); +__webpack_require__(573); +__webpack_require__(574); +__webpack_require__(575); + +/* unused reexport */ __webpack_require__(80); + + +/***/ }), +/* 1 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(2); +__webpack_require__(90); +__webpack_require__(92); +__webpack_require__(93); +__webpack_require__(96); + + +/***/ }), +/* 2 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); +var NATIVE_SYMBOL = __webpack_require__(26); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var isPrototypeOf = __webpack_require__(24); +var anObject = __webpack_require__(46); +var toIndexedObject = __webpack_require__(12); +var toPropertyKey = __webpack_require__(18); +var $toString = __webpack_require__(68); +var createPropertyDescriptor = __webpack_require__(11); +var nativeObjectCreate = __webpack_require__(71); +var objectKeys = __webpack_require__(73); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertyNamesExternal = __webpack_require__(75); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var definePropertyModule = __webpack_require__(44); +var definePropertiesModule = __webpack_require__(72); +var propertyIsEnumerableModule = __webpack_require__(10); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var shared = __webpack_require__(34); +var sharedKey = __webpack_require__(53); +var hiddenKeys = __webpack_require__(54); +var uid = __webpack_require__(40); +var wellKnownSymbol = __webpack_require__(33); +var wrappedWellKnownSymbolModule = __webpack_require__(78); +var defineWellKnownSymbol = __webpack_require__(79); +var defineSymbolToPrimitive = __webpack_require__(81); +var setToStringTag = __webpack_require__(82); +var InternalStateModule = __webpack_require__(51); +var $forEach = (__webpack_require__(83).forEach); + +var HIDDEN = sharedKey('hidden'); +var SYMBOL = 'Symbol'; +var PROTOTYPE = 'prototype'; + +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(SYMBOL); + +var ObjectPrototype = Object[PROTOTYPE]; +var $Symbol = globalThis.Symbol; +var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE]; +var RangeError = globalThis.RangeError; +var TypeError = globalThis.TypeError; +var QObject = globalThis.QObject; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; +var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; +var push = uncurryThis([].push); + +var AllSymbols = shared('symbols'); +var ObjectPrototypeSymbols = shared('op-symbols'); +var WellKnownSymbolsStore = shared('wks'); + +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var fallbackDefineProperty = function (O, P, Attributes) { + var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); + if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; + nativeDefineProperty(O, P, Attributes); + if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { + nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); + } +}; + +var setSymbolDescriptor = DESCRIPTORS && fails(function () { + return nativeObjectCreate(nativeDefineProperty({}, 'a', { + get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } + })).a !== 7; +}) ? fallbackDefineProperty : nativeDefineProperty; + +var wrap = function (tag, description) { + var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype); + setInternalState(symbol, { + type: SYMBOL, + tag: tag, + description: description + }); + if (!DESCRIPTORS) symbol.description = description; + return symbol; +}; + +var $defineProperty = function defineProperty(O, P, Attributes) { + if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); + anObject(O); + var key = toPropertyKey(P); + anObject(Attributes); + if (hasOwn(AllSymbols, key)) { + if (!Attributes.enumerable) { + if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null))); + O[HIDDEN][key] = true; + } else { + if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; + Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); + } return setSymbolDescriptor(O, key, Attributes); + } return nativeDefineProperty(O, key, Attributes); +}; + +var $defineProperties = function defineProperties(O, Properties) { + anObject(O); + var properties = toIndexedObject(Properties); + var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); + $forEach(keys, function (key) { + if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]); + }); + return O; +}; + +var $create = function create(O, Properties) { + return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); +}; + +var $propertyIsEnumerable = function propertyIsEnumerable(V) { + var P = toPropertyKey(V); + var enumerable = call(nativePropertyIsEnumerable, this, P); + if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false; + return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P] + ? enumerable : true; +}; + +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { + var it = toIndexedObject(O); + var key = toPropertyKey(P); + if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return; + var descriptor = nativeGetOwnPropertyDescriptor(it, key); + if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) { + descriptor.enumerable = true; + } + return descriptor; +}; + +var $getOwnPropertyNames = function getOwnPropertyNames(O) { + var names = nativeGetOwnPropertyNames(toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key); + }); + return result; +}; + +var $getOwnPropertySymbols = function (O) { + var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; + var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) { + push(result, AllSymbols[key]); + } + }); + return result; +}; + +// `Symbol` constructor +// https://tc39.es/ecma262/#sec-symbol-constructor +if (!NATIVE_SYMBOL) { + $Symbol = function Symbol() { + if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor'); + var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]); + var tag = uid(description); + var setter = function (value) { + var $this = this === undefined ? globalThis : this; + if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value); + if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false; + var descriptor = createPropertyDescriptor(1, value); + try { + setSymbolDescriptor($this, tag, descriptor); + } catch (error) { + if (!(error instanceof RangeError)) throw error; + fallbackDefineProperty($this, tag, descriptor); + } + }; + if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); + return wrap(tag, description); + }; + + SymbolPrototype = $Symbol[PROTOTYPE]; + + defineBuiltIn(SymbolPrototype, 'toString', function toString() { + return getInternalState(this).tag; + }); + + defineBuiltIn($Symbol, 'withoutSetter', function (description) { + return wrap(uid(description), description); + }); + + propertyIsEnumerableModule.f = $propertyIsEnumerable; + definePropertyModule.f = $defineProperty; + definePropertiesModule.f = $defineProperties; + getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; + getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; + getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; + + wrappedWellKnownSymbolModule.f = function (name) { + return wrap(wellKnownSymbol(name), name); + }; + + if (DESCRIPTORS) { + // https://github.com/tc39/proposal-Symbol-description + defineBuiltInAccessor(SymbolPrototype, 'description', { + configurable: true, + get: function description() { + return getInternalState(this).description; + } + }); + if (!IS_PURE) { + defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); + } + } +} + +$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { + Symbol: $Symbol +}); + +$forEach(objectKeys(WellKnownSymbolsStore), function (name) { + defineWellKnownSymbol(name); +}); + +$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { + useSetter: function () { USE_SETTER = true; }, + useSimple: function () { USE_SETTER = false; } +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { + // `Object.create` method + // https://tc39.es/ecma262/#sec-object.create + create: $create, + // `Object.defineProperty` method + // https://tc39.es/ecma262/#sec-object.defineproperty + defineProperty: $defineProperty, + // `Object.defineProperties` method + // https://tc39.es/ecma262/#sec-object.defineproperties + defineProperties: $defineProperties, + // `Object.getOwnPropertyDescriptor` method + // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors + getOwnPropertyDescriptor: $getOwnPropertyDescriptor +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { + // `Object.getOwnPropertyNames` method + // https://tc39.es/ecma262/#sec-object.getownpropertynames + getOwnPropertyNames: $getOwnPropertyNames +}); + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +defineSymbolToPrimitive(); + +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag($Symbol, SYMBOL); + +hiddenKeys[HIDDEN] = true; + + +/***/ }), +/* 3 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var defineGlobalProperty = __webpack_require__(37); +var copyConstructorProperties = __webpack_require__(55); +var isForced = __webpack_require__(67); + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.dontCallGetSet - prevent calling a getter on target + options.name - the .name of the function if it does not match the key +*/ +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = globalThis; + } else if (STATIC) { + target = globalThis[TARGET] || defineGlobalProperty(TARGET, {}); + } else { + target = globalThis[TARGET] && globalThis[TARGET].prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.dontCallGetSet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + defineBuiltIn(target, key, sourceProperty, options); + } +}; + + +/***/ }), +/* 4 */ +/***/ (function(module) { + + +var check = function (it) { + return it && it.Math === Math && it; +}; + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +module.exports = + // eslint-disable-next-line es/no-global-this -- safe + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe + check(typeof self == 'object' && self) || + check(typeof global == 'object' && global) || + check(typeof this == 'object' && this) || + // eslint-disable-next-line no-new-func -- fallback + (function () { return this; })() || Function('return this')(); + + +/***/ }), +/* 5 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var call = __webpack_require__(8); +var propertyIsEnumerableModule = __webpack_require__(10); +var createPropertyDescriptor = __webpack_require__(11); +var toIndexedObject = __webpack_require__(12); +var toPropertyKey = __webpack_require__(18); +var hasOwn = __webpack_require__(38); +var IE8_DOM_DEFINE = __webpack_require__(41); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + + +/***/ }), +/* 6 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +// Detect IE8's incomplete defineProperty implementation +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; +}); + + +/***/ }), +/* 7 */ +/***/ (function(module) { + + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + + +/***/ }), +/* 8 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var call = Function.prototype.call; + +module.exports = NATIVE_BIND ? call.bind(call) : function () { + return call.apply(call, arguments); +}; + + +/***/ }), +/* 9 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-function-prototype-bind -- safe + var test = (function () { /* empty */ }).bind(); + // eslint-disable-next-line no-prototype-builtins -- safe + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + + +/***/ }), +/* 10 */ +/***/ (function(__unused_webpack_module, exports) { + + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); + +// `Object.prototype.propertyIsEnumerable` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + + +/***/ }), +/* 11 */ +/***/ (function(module) { + + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + + +/***/ }), +/* 12 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = __webpack_require__(13); +var requireObjectCoercible = __webpack_require__(16); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + + +/***/ }), +/* 13 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var classof = __webpack_require__(15); + +var $Object = Object; +var split = uncurryThis(''.split); + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +module.exports = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !$Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) === 'String' ? split(it, '') : $Object(it); +} : $Object; + + +/***/ }), +/* 14 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var FunctionPrototype = Function.prototype; +var call = FunctionPrototype.call; +var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); + +module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { + return function () { + return call.apply(fn, arguments); + }; +}; + + +/***/ }), +/* 15 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var toString = uncurryThis({}.toString); +var stringSlice = uncurryThis(''.slice); + +module.exports = function (it) { + return stringSlice(toString(it), 8, -1); +}; + + +/***/ }), +/* 16 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isNullOrUndefined = __webpack_require__(17); + +var $TypeError = TypeError; + +// `RequireObjectCoercible` abstract operation +// https://tc39.es/ecma262/#sec-requireobjectcoercible +module.exports = function (it) { + if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it); + return it; +}; + + +/***/ }), +/* 17 */ +/***/ (function(module) { + + +// we can't use just `it == null` since of `document.all` special case +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec +module.exports = function (it) { + return it === null || it === undefined; +}; + + +/***/ }), +/* 18 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPrimitive = __webpack_require__(19); +var isSymbol = __webpack_require__(22); + +// `ToPropertyKey` abstract operation +// https://tc39.es/ecma262/#sec-topropertykey +module.exports = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : key + ''; +}; + + +/***/ }), +/* 19 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var getMethod = __webpack_require__(29); +var ordinaryToPrimitive = __webpack_require__(32); +var wellKnownSymbol = __webpack_require__(33); + +var $TypeError = TypeError; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + +// `ToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-toprimitive +module.exports = function (input, pref) { + if (!isObject(input) || isSymbol(input)) return input; + var exoticToPrim = getMethod(input, TO_PRIMITIVE); + var result; + if (exoticToPrim) { + if (pref === undefined) pref = 'default'; + result = call(exoticToPrim, input, pref); + if (!isObject(result) || isSymbol(result)) return result; + throw new $TypeError("Can't convert object to primitive value"); + } + if (pref === undefined) pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + + +/***/ }), +/* 20 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); + +module.exports = function (it) { + return typeof it == 'object' ? it !== null : isCallable(it); +}; + + +/***/ }), +/* 21 */ +/***/ (function(module) { + + +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot +var documentAll = typeof document == 'object' && document.all; + +// `IsCallable` abstract operation +// https://tc39.es/ecma262/#sec-iscallable +// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing +module.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) { + return typeof argument == 'function' || argument === documentAll; +} : function (argument) { + return typeof argument == 'function'; +}; + + +/***/ }), +/* 22 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var isPrototypeOf = __webpack_require__(24); +var USE_SYMBOL_AS_UID = __webpack_require__(25); + +var $Object = Object; + +module.exports = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + var $Symbol = getBuiltIn('Symbol'); + return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it)); +}; + + +/***/ }), +/* 23 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); + +var aFunction = function (argument) { + return isCallable(argument) ? argument : undefined; +}; + +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method]; +}; + + +/***/ }), +/* 24 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +module.exports = uncurryThis({}.isPrototypeOf); + + +/***/ }), +/* 25 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-symbol -- required for testing */ +var NATIVE_SYMBOL = __webpack_require__(26); + +module.exports = NATIVE_SYMBOL && + !Symbol.sham && + typeof Symbol.iterator == 'symbol'; + + +/***/ }), +/* 26 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-symbol -- required for testing */ +var V8_VERSION = __webpack_require__(27); +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +var $String = globalThis.String; + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol('symbol detection'); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + + +/***/ }), +/* 27 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var userAgent = __webpack_require__(28); + +var process = globalThis.process; +var Deno = globalThis.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + // in old Chrome, versions of V8 isn't V8 = Chrome / 10 + // but their correct versions are not interesting for us + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} + +// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` +// so check `userAgent` even if `.v8` exists, but 0 +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) version = +match[1]; + } +} + +module.exports = version; + + +/***/ }), +/* 28 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +var navigator = globalThis.navigator; +var userAgent = navigator && navigator.userAgent; + +module.exports = userAgent ? String(userAgent) : ''; + + +/***/ }), +/* 29 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var isNullOrUndefined = __webpack_require__(17); + +// `GetMethod` abstract operation +// https://tc39.es/ecma262/#sec-getmethod +module.exports = function (V, P) { + var func = V[P]; + return isNullOrUndefined(func) ? undefined : aCallable(func); +}; + + +/***/ }), +/* 30 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +// `Assert: IsCallable(argument) is true` +module.exports = function (argument) { + if (isCallable(argument)) return argument; + throw new $TypeError(tryToString(argument) + ' is not a function'); +}; + + +/***/ }), +/* 31 */ +/***/ (function(module) { + + +var $String = String; + +module.exports = function (argument) { + try { + return $String(argument); + } catch (error) { + return 'Object'; + } +}; + + +/***/ }), +/* 32 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); + +var $TypeError = TypeError; + +// `OrdinaryToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-ordinarytoprimitive +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + throw new $TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), +/* 33 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var shared = __webpack_require__(34); +var hasOwn = __webpack_require__(38); +var uid = __webpack_require__(40); +var NATIVE_SYMBOL = __webpack_require__(26); +var USE_SYMBOL_AS_UID = __webpack_require__(25); + +var Symbol = globalThis.Symbol; +var WellKnownSymbolsStore = shared('wks'); +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid; + +module.exports = function (name) { + if (!hasOwn(WellKnownSymbolsStore, name)) { + WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) + ? Symbol[name] + : createWellKnownSymbol('Symbol.' + name); + } return WellKnownSymbolsStore[name]; +}; + + +/***/ }), +/* 34 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var store = __webpack_require__(35); + +module.exports = function (key, value) { + return store[key] || (store[key] = value || {}); +}; + + +/***/ }), +/* 35 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var IS_PURE = __webpack_require__(36); +var globalThis = __webpack_require__(4); +var defineGlobalProperty = __webpack_require__(37); + +var SHARED = '__core-js_shared__'; +var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {}); + +(store.versions || (store.versions = [])).push({ + version: '3.39.0', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)', + license: 'https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE', + source: 'https://github.com/zloirock/core-js' +}); + + +/***/ }), +/* 36 */ +/***/ (function(module) { + + +module.exports = false; + + +/***/ }), +/* 37 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; + +module.exports = function (key, value) { + try { + defineProperty(globalThis, key, { value: value, configurable: true, writable: true }); + } catch (error) { + globalThis[key] = value; + } return value; +}; + + +/***/ }), +/* 38 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toObject = __webpack_require__(39); + +var hasOwnProperty = uncurryThis({}.hasOwnProperty); + +// `HasOwnProperty` abstract operation +// https://tc39.es/ecma262/#sec-hasownproperty +// eslint-disable-next-line es/no-object-hasown -- safe +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + + +/***/ }), +/* 39 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var requireObjectCoercible = __webpack_require__(16); + +var $Object = Object; + +// `ToObject` abstract operation +// https://tc39.es/ecma262/#sec-toobject +module.exports = function (argument) { + return $Object(requireObjectCoercible(argument)); +}; + + +/***/ }), +/* 40 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var id = 0; +var postfix = Math.random(); +var toString = uncurryThis(1.0.toString); + +module.exports = function (key) { + return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); +}; + + +/***/ }), +/* 41 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var createElement = __webpack_require__(42); + +// Thanks to IE8 for its funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a !== 7; +}); + + +/***/ }), +/* 42 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isObject = __webpack_require__(20); + +var document = globalThis.document; +// typeof document.createElement is 'object' in old IE +var EXISTS = isObject(document) && isObject(document.createElement); + +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + + +/***/ }), +/* 43 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var definePropertyModule = __webpack_require__(44); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + + +/***/ }), +/* 44 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var IE8_DOM_DEFINE = __webpack_require__(41); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(45); +var anObject = __webpack_require__(46); +var toPropertyKey = __webpack_require__(18); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var $defineProperty = Object.defineProperty; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var ENUMERABLE = 'enumerable'; +var CONFIGURABLE = 'configurable'; +var WRITABLE = 'writable'; + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { + var current = $getOwnPropertyDescriptor(O, P); + if (current && current[WRITABLE]) { + O[P] = Attributes.value; + Attributes = { + configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], + enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], + writable: false + }; + } + } return $defineProperty(O, P, Attributes); +} : $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return $defineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + + +/***/ }), +/* 45 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); + +// V8 ~ Chrome 36- +// https://bugs.chromium.org/p/v8/issues/detail?id=3334 +module.exports = DESCRIPTORS && fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(function () { /* empty */ }, 'prototype', { + value: 42, + writable: false + }).prototype !== 42; +}); + + +/***/ }), +/* 46 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +var $String = String; +var $TypeError = TypeError; + +// `Assert: Type(argument) is Object` +module.exports = function (argument) { + if (isObject(argument)) return argument; + throw new $TypeError($String(argument) + ' is not an object'); +}; + + +/***/ }), +/* 47 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var definePropertyModule = __webpack_require__(44); +var makeBuiltIn = __webpack_require__(48); +var defineGlobalProperty = __webpack_require__(37); + +module.exports = function (O, key, value, options) { + if (!options) options = {}; + var simple = options.enumerable; + var name = options.name !== undefined ? options.name : key; + if (isCallable(value)) makeBuiltIn(value, name, options); + if (options.global) { + if (simple) O[key] = value; + else defineGlobalProperty(key, value); + } else { + try { + if (!options.unsafe) delete O[key]; + else if (O[key]) simple = true; + } catch (error) { /* empty */ } + if (simple) O[key] = value; + else definePropertyModule.f(O, key, { + value: value, + enumerable: false, + configurable: !options.nonConfigurable, + writable: !options.nonWritable + }); + } return O; +}; + + +/***/ }), +/* 48 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var DESCRIPTORS = __webpack_require__(6); +var CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(49).CONFIGURABLE); +var inspectSource = __webpack_require__(50); +var InternalStateModule = __webpack_require__(51); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var $String = String; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; +var stringSlice = uncurryThis(''.slice); +var replace = uncurryThis(''.replace); +var join = uncurryThis([].join); + +var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () { + return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; +}); + +var TEMPLATE = String(String).split('String'); + +var makeBuiltIn = module.exports = function (value, name, options) { + if (stringSlice($String(name), 0, 7) === 'Symbol(') { + name = '[' + replace($String(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']'; + } + if (options && options.getter) name = 'get ' + name; + if (options && options.setter) name = 'set ' + name; + if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { + if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true }); + else value.name = name; + } + if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { + defineProperty(value, 'length', { value: options.arity }); + } + try { + if (options && hasOwn(options, 'constructor') && options.constructor) { + if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false }); + // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable + } else if (value.prototype) value.prototype = undefined; + } catch (error) { /* empty */ } + var state = enforceInternalState(value); + if (!hasOwn(state, 'source')) { + state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); + } return value; +}; + +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +// eslint-disable-next-line no-extend-native -- required +Function.prototype.toString = makeBuiltIn(function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}, 'toString'); + + +/***/ }), +/* 49 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var hasOwn = __webpack_require__(38); + +var FunctionPrototype = Function.prototype; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; + +var EXISTS = hasOwn(FunctionPrototype, 'name'); +// additional protection from minified / mangled / dropped function names +var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; +var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable)); + +module.exports = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE +}; + + +/***/ }), +/* 50 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var isCallable = __webpack_require__(21); +var store = __webpack_require__(35); + +var functionToString = uncurryThis(Function.toString); + +// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper +if (!isCallable(store.inspectSource)) { + store.inspectSource = function (it) { + return functionToString(it); + }; +} + +module.exports = store.inspectSource; + + +/***/ }), +/* 51 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_WEAK_MAP = __webpack_require__(52); +var globalThis = __webpack_require__(4); +var isObject = __webpack_require__(20); +var createNonEnumerableProperty = __webpack_require__(43); +var hasOwn = __webpack_require__(38); +var shared = __webpack_require__(35); +var sharedKey = __webpack_require__(53); +var hiddenKeys = __webpack_require__(54); + +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var TypeError = globalThis.TypeError; +var WeakMap = globalThis.WeakMap; +var set, get, has; + +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; + +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw new TypeError('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; +}; + +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + /* eslint-disable no-self-assign -- prototype methods protection */ + store.get = store.get; + store.has = store.has; + store.set = store.set; + /* eslint-enable no-self-assign -- prototype methods protection */ + set = function (it, metadata) { + if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + store.set(it, metadata); + return metadata; + }; + get = function (it) { + return store.get(it) || {}; + }; + has = function (it) { + return store.has(it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return hasOwn(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return hasOwn(it, STATE); + }; +} + +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + + +/***/ }), +/* 52 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); + +var WeakMap = globalThis.WeakMap; + +module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap)); + + +/***/ }), +/* 53 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var shared = __webpack_require__(34); +var uid = __webpack_require__(40); + +var keys = shared('keys'); + +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + + +/***/ }), +/* 54 */ +/***/ (function(module) { + + +module.exports = {}; + + +/***/ }), +/* 55 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var ownKeys = __webpack_require__(56); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var definePropertyModule = __webpack_require__(44); + +module.exports = function (target, source, exceptions) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + + +/***/ }), +/* 56 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var anObject = __webpack_require__(46); + +var concat = uncurryThis([].concat); + +// all object keys, includes non-enumerable and symbols +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; +}; + + +/***/ }), +/* 57 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var internalObjectKeys = __webpack_require__(58); +var enumBugKeys = __webpack_require__(65); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + + +/***/ }), +/* 58 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var hasOwn = __webpack_require__(38); +var toIndexedObject = __webpack_require__(12); +var indexOf = (__webpack_require__(59).indexOf); +var hiddenKeys = __webpack_require__(54); + +var push = uncurryThis([].push); + +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); + // Don't enum bug & hidden keys + while (names.length > i) if (hasOwn(O, key = names[i++])) { + ~indexOf(result, key) || push(result, key); + } + return result; +}; + + +/***/ }), +/* 59 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIndexedObject = __webpack_require__(12); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + if (length === 0) return !IS_INCLUDES && -1; + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el !== el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value !== value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +module.exports = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + + +/***/ }), +/* 60 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + + +/***/ }), +/* 61 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var trunc = __webpack_require__(62); + +// `ToIntegerOrInfinity` abstract operation +// https://tc39.es/ecma262/#sec-tointegerorinfinity +module.exports = function (argument) { + var number = +argument; + // eslint-disable-next-line no-self-compare -- NaN check + return number !== number || number === 0 ? 0 : trunc(number); +}; + + +/***/ }), +/* 62 */ +/***/ (function(module) { + + +var ceil = Math.ceil; +var floor = Math.floor; + +// `Math.trunc` method +// https://tc39.es/ecma262/#sec-math.trunc +// eslint-disable-next-line es/no-math-trunc -- safe +module.exports = Math.trunc || function trunc(x) { + var n = +x; + return (n > 0 ? floor : ceil)(n); +}; + + +/***/ }), +/* 63 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toLength = __webpack_require__(64); + +// `LengthOfArrayLike` abstract operation +// https://tc39.es/ecma262/#sec-lengthofarraylike +module.exports = function (obj) { + return toLength(obj.length); +}; + + +/***/ }), +/* 64 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +module.exports = function (argument) { + var len = toIntegerOrInfinity(argument); + return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + + +/***/ }), +/* 65 */ +/***/ (function(module) { + + +// IE8- don't enum bug keys +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + + +/***/ }), +/* 66 */ +/***/ (function(__unused_webpack_module, exports) { + + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe +exports.f = Object.getOwnPropertySymbols; + + +/***/ }), +/* 67 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); + +var replacement = /#|\.prototype\./; + +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value === POLYFILL ? true + : value === NATIVE ? false + : isCallable(detection) ? fails(detection) + : !!detection; +}; + +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; + +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; + +module.exports = isForced; + + +/***/ }), +/* 68 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); + +var $String = String; + +module.exports = function (argument) { + if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); + return $String(argument); +}; + + +/***/ }), +/* 69 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var isCallable = __webpack_require__(21); +var classofRaw = __webpack_require__(15); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Object = Object; + +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } +}; + +// getting tag from ES6+ `Object.prototype.toString` +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result; +}; + + +/***/ }), +/* 70 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG] = 'z'; + +module.exports = String(test) === '[object z]'; + + +/***/ }), +/* 71 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* global ActiveXObject -- old IE, WSH */ +var anObject = __webpack_require__(46); +var definePropertiesModule = __webpack_require__(72); +var enumBugKeys = __webpack_require__(65); +var hiddenKeys = __webpack_require__(54); +var html = __webpack_require__(74); +var documentCreateElement = __webpack_require__(42); +var sharedKey = __webpack_require__(53); + +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); + +var EmptyConstructor = function () { /* empty */ }; + +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; + +// Create object with fake `null` prototype: use ActiveX Object with cleared prototype +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + // eslint-disable-next-line no-useless-assignment -- avoid memory leak + activeXDocument = null; + return temp; +}; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var NullProtoObjectViaIFrame = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + // https://github.com/zloirock/core-js/issues/475 + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; + +// Check for document.domain and active x support +// No need to use active x approach when document.domain is not set +// see https://github.com/es-shims/es5-shim/issues/150 +// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 +// avoid IE GC bug +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { /* ignore */ } + NullProtoObject = typeof document != 'undefined' + ? document.domain && activeXDocument + ? NullProtoObjectViaActiveX(activeXDocument) // old IE + : NullProtoObjectViaIFrame() + : NullProtoObjectViaActiveX(activeXDocument); // WSH + var length = enumBugKeys.length; + while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; + +hiddenKeys[IE_PROTO] = true; + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +// eslint-disable-next-line es/no-object-create -- safe +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = NullProtoObject(); + return Properties === undefined ? result : definePropertiesModule.f(result, Properties); +}; + + +/***/ }), +/* 72 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(45); +var definePropertyModule = __webpack_require__(44); +var anObject = __webpack_require__(46); +var toIndexedObject = __webpack_require__(12); +var objectKeys = __webpack_require__(73); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var props = toIndexedObject(Properties); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]); + return O; +}; + + +/***/ }), +/* 73 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var internalObjectKeys = __webpack_require__(58); +var enumBugKeys = __webpack_require__(65); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +// eslint-disable-next-line es/no-object-keys -- safe +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + + +/***/ }), +/* 74 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); + +module.exports = getBuiltIn('document', 'documentElement'); + + +/***/ }), +/* 75 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-object-getownpropertynames -- safe */ +var classof = __webpack_require__(15); +var toIndexedObject = __webpack_require__(12); +var $getOwnPropertyNames = (__webpack_require__(57).f); +var arraySlice = __webpack_require__(76); + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return $getOwnPropertyNames(it); + } catch (error) { + return arraySlice(windowNames); + } +}; + +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && classof(it) === 'Window' + ? getWindowNames(it) + : $getOwnPropertyNames(toIndexedObject(it)); +}; + + +/***/ }), +/* 76 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +module.exports = uncurryThis([].slice); + + +/***/ }), +/* 77 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var makeBuiltIn = __webpack_require__(48); +var defineProperty = __webpack_require__(44); + +module.exports = function (target, name, descriptor) { + if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true }); + if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true }); + return defineProperty.f(target, name, descriptor); +}; + + +/***/ }), +/* 78 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +exports.f = wellKnownSymbol; + + +/***/ }), +/* 79 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var path = __webpack_require__(80); +var hasOwn = __webpack_require__(38); +var wrappedWellKnownSymbolModule = __webpack_require__(78); +var defineProperty = (__webpack_require__(44).f); + +module.exports = function (NAME) { + var Symbol = path.Symbol || (path.Symbol = {}); + if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, { + value: wrappedWellKnownSymbolModule.f(NAME) + }); +}; + + +/***/ }), +/* 80 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = globalThis; + + +/***/ }), +/* 81 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var getBuiltIn = __webpack_require__(23); +var wellKnownSymbol = __webpack_require__(33); +var defineBuiltIn = __webpack_require__(47); + +module.exports = function () { + var Symbol = getBuiltIn('Symbol'); + var SymbolPrototype = Symbol && Symbol.prototype; + var valueOf = SymbolPrototype && SymbolPrototype.valueOf; + var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + + if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) { + // `Symbol.prototype[@@toPrimitive]` method + // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive + // eslint-disable-next-line no-unused-vars -- required for .length + defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) { + return call(valueOf, this); + }, { arity: 1 }); + } +}; + + +/***/ }), +/* 82 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineProperty = (__webpack_require__(44).f); +var hasOwn = __webpack_require__(38); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +module.exports = function (target, TAG, STATIC) { + if (target && !STATIC) target = target.prototype; + if (target && !hasOwn(target, TO_STRING_TAG)) { + defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG }); + } +}; + + +/***/ }), +/* 83 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var uncurryThis = __webpack_require__(14); +var IndexedObject = __webpack_require__(13); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var arraySpeciesCreate = __webpack_require__(86); + +var push = uncurryThis([].push); + +// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation +var createMethod = function (TYPE) { + var IS_MAP = TYPE === 1; + var IS_FILTER = TYPE === 2; + var IS_SOME = TYPE === 3; + var IS_EVERY = TYPE === 4; + var IS_FIND_INDEX = TYPE === 6; + var IS_FILTER_REJECT = TYPE === 7; + var NO_HOLES = TYPE === 5 || IS_FIND_INDEX; + return function ($this, callbackfn, that, specificCreate) { + var O = toObject($this); + var self = IndexedObject(O); + var length = lengthOfArrayLike(self); + var boundFunction = bind(callbackfn, that); + var index = 0; + var create = specificCreate || arraySpeciesCreate; + var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; + var value, result; + for (;length > index; index++) if (NO_HOLES || index in self) { + value = self[index]; + result = boundFunction(value, index, O); + if (TYPE) { + if (IS_MAP) target[index] = result; // map + else if (result) switch (TYPE) { + case 3: return true; // some + case 5: return value; // find + case 6: return index; // findIndex + case 2: push(target, value); // filter + } else switch (TYPE) { + case 4: return false; // every + case 7: push(target, value); // filterReject + } + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; + }; +}; + +module.exports = { + // `Array.prototype.forEach` method + // https://tc39.es/ecma262/#sec-array.prototype.foreach + forEach: createMethod(0), + // `Array.prototype.map` method + // https://tc39.es/ecma262/#sec-array.prototype.map + map: createMethod(1), + // `Array.prototype.filter` method + // https://tc39.es/ecma262/#sec-array.prototype.filter + filter: createMethod(2), + // `Array.prototype.some` method + // https://tc39.es/ecma262/#sec-array.prototype.some + some: createMethod(3), + // `Array.prototype.every` method + // https://tc39.es/ecma262/#sec-array.prototype.every + every: createMethod(4), + // `Array.prototype.find` method + // https://tc39.es/ecma262/#sec-array.prototype.find + find: createMethod(5), + // `Array.prototype.findIndex` method + // https://tc39.es/ecma262/#sec-array.prototype.findIndex + findIndex: createMethod(6), + // `Array.prototype.filterReject` method + // https://github.com/tc39/proposal-array-filtering + filterReject: createMethod(7) +}; + + +/***/ }), +/* 84 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(85); +var aCallable = __webpack_require__(30); +var NATIVE_BIND = __webpack_require__(9); + +var bind = uncurryThis(uncurryThis.bind); + +// optional / simple context binding +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), +/* 85 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classofRaw = __webpack_require__(15); +var uncurryThis = __webpack_require__(14); + +module.exports = function (fn) { + // Nashorn bug: + // https://github.com/zloirock/core-js/issues/1128 + // https://github.com/zloirock/core-js/issues/1130 + if (classofRaw(fn) === 'Function') return uncurryThis(fn); +}; + + +/***/ }), +/* 86 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arraySpeciesConstructor = __webpack_require__(87); + +// `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray, length) { + return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); +}; + + +/***/ }), +/* 87 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isArray = __webpack_require__(88); +var isConstructor = __webpack_require__(89); +var isObject = __webpack_require__(20); +var wellKnownSymbol = __webpack_require__(33); + +var SPECIES = wellKnownSymbol('species'); +var $Array = Array; + +// a part of `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray) { + var C; + if (isArray(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined; + else if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? $Array : C; +}; + + +/***/ }), +/* 88 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(15); + +// `IsArray` abstract operation +// https://tc39.es/ecma262/#sec-isarray +// eslint-disable-next-line es/no-array-isarray -- safe +module.exports = Array.isArray || function isArray(argument) { + return classof(argument) === 'Array'; +}; + + +/***/ }), +/* 89 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(69); +var getBuiltIn = __webpack_require__(23); +var inspectSource = __webpack_require__(50); + +var noop = function () { /* empty */ }; +var construct = getBuiltIn('Reflect', 'construct'); +var constructorRegExp = /^\s*(?:class|function)\b/; +var exec = uncurryThis(constructorRegExp.exec); +var INCORRECT_TO_STRING = !constructorRegExp.test(noop); + +var isConstructorModern = function isConstructor(argument) { + if (!isCallable(argument)) return false; + try { + construct(noop, [], argument); + return true; + } catch (error) { + return false; + } +}; + +var isConstructorLegacy = function isConstructor(argument) { + if (!isCallable(argument)) return false; + switch (classof(argument)) { + case 'AsyncFunction': + case 'GeneratorFunction': + case 'AsyncGeneratorFunction': return false; + } + try { + // we can't check .prototype since constructors produced by .bind haven't it + // `Function#toString` throws on some built-it function in some legacy engines + // (for example, `DOMQuad` and similar in FF41-) + return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); + } catch (error) { + return true; + } +}; + +isConstructorLegacy.sham = true; + +// `IsConstructor` abstract operation +// https://tc39.es/ecma262/#sec-isconstructor +module.exports = !construct || fails(function () { + var called; + return isConstructorModern(isConstructorModern.call) + || !isConstructorModern(Object) + || !isConstructorModern(function () { called = true; }) + || called; +}) ? isConstructorLegacy : isConstructorModern; + + +/***/ }), +/* 90 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var hasOwn = __webpack_require__(38); +var toString = __webpack_require__(68); +var shared = __webpack_require__(34); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__(91); + +var StringToSymbolRegistry = shared('string-to-symbol-registry'); +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.for` method +// https://tc39.es/ecma262/#sec-symbol.for +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + 'for': function (key) { + var string = toString(key); + if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; + var symbol = getBuiltIn('Symbol')(string); + StringToSymbolRegistry[string] = symbol; + SymbolToStringRegistry[symbol] = string; + return symbol; + } +}); + + +/***/ }), +/* 91 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_SYMBOL = __webpack_require__(26); + +/* eslint-disable es/no-symbol -- safe */ +module.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor; + + +/***/ }), +/* 92 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var hasOwn = __webpack_require__(38); +var isSymbol = __webpack_require__(22); +var tryToString = __webpack_require__(31); +var shared = __webpack_require__(34); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__(91); + +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.keyFor` method +// https://tc39.es/ecma262/#sec-symbol.keyfor +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol'); + if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; + } +}); + + +/***/ }), +/* 93 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var isSymbol = __webpack_require__(22); +var arraySlice = __webpack_require__(76); +var getReplacerFunction = __webpack_require__(95); +var NATIVE_SYMBOL = __webpack_require__(26); + +var $String = String; +var $stringify = getBuiltIn('JSON', 'stringify'); +var exec = uncurryThis(/./.exec); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var replace = uncurryThis(''.replace); +var numberToString = uncurryThis(1.0.toString); + +var tester = /[\uD800-\uDFFF]/g; +var low = /^[\uD800-\uDBFF]$/; +var hi = /^[\uDC00-\uDFFF]$/; + +var WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () { + var symbol = getBuiltIn('Symbol')('stringify detection'); + // MS Edge converts symbol values to JSON as {} + return $stringify([symbol]) !== '[null]' + // WebKit converts symbol values to JSON as null + || $stringify({ a: symbol }) !== '{}' + // V8 throws on boxed symbols + || $stringify(Object(symbol)) !== '{}'; +}); + +// https://github.com/tc39/proposal-well-formed-stringify +var ILL_FORMED_UNICODE = fails(function () { + return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"' + || $stringify('\uDEAD') !== '"\\udead"'; +}); + +var stringifyWithSymbolsFix = function (it, replacer) { + var args = arraySlice(arguments); + var $replacer = getReplacerFunction(replacer); + if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined + args[1] = function (key, value) { + // some old implementations (like WebKit) could pass numbers as keys + if (isCallable($replacer)) value = call($replacer, this, $String(key), value); + if (!isSymbol(value)) return value; + }; + return apply($stringify, null, args); +}; + +var fixIllFormed = function (match, offset, string) { + var prev = charAt(string, offset - 1); + var next = charAt(string, offset + 1); + if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) { + return '\\u' + numberToString(charCodeAt(match, 0), 16); + } return match; +}; + +if ($stringify) { + // `JSON.stringify` method + // https://tc39.es/ecma262/#sec-json.stringify + $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + stringify: function stringify(it, replacer, space) { + var args = arraySlice(arguments); + var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args); + return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result; + } + }); +} + + +/***/ }), +/* 94 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; + +// eslint-disable-next-line es/no-reflect -- safe +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); + + +/***/ }), +/* 95 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var isArray = __webpack_require__(88); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(15); +var toString = __webpack_require__(68); + +var push = uncurryThis([].push); + +module.exports = function (replacer) { + if (isCallable(replacer)) return replacer; + if (!isArray(replacer)) return; + var rawLength = replacer.length; + var keys = []; + for (var i = 0; i < rawLength; i++) { + var element = replacer[i]; + if (typeof element == 'string') push(keys, element); + else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element)); + } + var keysLength = keys.length; + var root = true; + return function (key, value) { + if (root) { + root = false; + return value; + } + if (isArray(this)) return value; + for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value; + }; +}; + + +/***/ }), +/* 96 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var NATIVE_SYMBOL = __webpack_require__(26); +var fails = __webpack_require__(7); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var toObject = __webpack_require__(39); + +// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives +// https://bugs.chromium.org/p/v8/issues/detail?id=3443 +var FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); }); + +// `Object.getOwnPropertySymbols` method +// https://tc39.es/ecma262/#sec-object.getownpropertysymbols +$({ target: 'Object', stat: true, forced: FORCED }, { + getOwnPropertySymbols: function getOwnPropertySymbols(it) { + var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : []; + } +}); + + +/***/ }), +/* 97 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +// `Symbol.prototype.description` getter +// https://tc39.es/ecma262/#sec-symbol.prototype.description + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var hasOwn = __webpack_require__(38); +var isCallable = __webpack_require__(21); +var isPrototypeOf = __webpack_require__(24); +var toString = __webpack_require__(68); +var defineBuiltInAccessor = __webpack_require__(77); +var copyConstructorProperties = __webpack_require__(55); + +var NativeSymbol = globalThis.Symbol; +var SymbolPrototype = NativeSymbol && NativeSymbol.prototype; + +if (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) || + // Safari 12 bug + NativeSymbol().description !== undefined +)) { + var EmptyStringDescriptionStore = {}; + // wrap Symbol constructor for correct work with undefined description + var SymbolWrapper = function Symbol() { + var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]); + var result = isPrototypeOf(SymbolPrototype, this) + // eslint-disable-next-line sonarjs/inconsistent-function-call -- ok + ? new NativeSymbol(description) + // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)' + : description === undefined ? NativeSymbol() : NativeSymbol(description); + if (description === '') EmptyStringDescriptionStore[result] = true; + return result; + }; + + copyConstructorProperties(SymbolWrapper, NativeSymbol); + SymbolWrapper.prototype = SymbolPrototype; + SymbolPrototype.constructor = SymbolWrapper; + + var NATIVE_SYMBOL = String(NativeSymbol('description detection')) === 'Symbol(description detection)'; + var thisSymbolValue = uncurryThis(SymbolPrototype.valueOf); + var symbolDescriptiveString = uncurryThis(SymbolPrototype.toString); + var regexp = /^Symbol\((.*)\)[^)]+$/; + var replace = uncurryThis(''.replace); + var stringSlice = uncurryThis(''.slice); + + defineBuiltInAccessor(SymbolPrototype, 'description', { + configurable: true, + get: function description() { + var symbol = thisSymbolValue(this); + if (hasOwn(EmptyStringDescriptionStore, symbol)) return ''; + var string = symbolDescriptiveString(symbol); + var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1'); + return desc === '' ? undefined : desc; + } + }); + + $({ global: true, constructor: true, forced: true }, { + Symbol: SymbolWrapper + }); +} + + +/***/ }), +/* 98 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.asyncIterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.asynciterator +defineWellKnownSymbol('asyncIterator'); + + +/***/ }), +/* 99 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.hasInstance` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.hasinstance +defineWellKnownSymbol('hasInstance'); + + +/***/ }), +/* 100 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.isConcatSpreadable` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable +defineWellKnownSymbol('isConcatSpreadable'); + + +/***/ }), +/* 101 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.iterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.iterator +defineWellKnownSymbol('iterator'); + + +/***/ }), +/* 102 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.match` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.match +defineWellKnownSymbol('match'); + + +/***/ }), +/* 103 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.matchAll` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.matchall +defineWellKnownSymbol('matchAll'); + + +/***/ }), +/* 104 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.replace` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.replace +defineWellKnownSymbol('replace'); + + +/***/ }), +/* 105 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.search` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.search +defineWellKnownSymbol('search'); + + +/***/ }), +/* 106 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.species` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.species +defineWellKnownSymbol('species'); + + +/***/ }), +/* 107 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.split` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.split +defineWellKnownSymbol('split'); + + +/***/ }), +/* 108 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); +var defineSymbolToPrimitive = __webpack_require__(81); + +// `Symbol.toPrimitive` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.toprimitive +defineWellKnownSymbol('toPrimitive'); + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +defineSymbolToPrimitive(); + + +/***/ }), +/* 109 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var defineWellKnownSymbol = __webpack_require__(79); +var setToStringTag = __webpack_require__(82); + +// `Symbol.toStringTag` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.tostringtag +defineWellKnownSymbol('toStringTag'); + +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag(getBuiltIn('Symbol'), 'Symbol'); + + +/***/ }), +/* 110 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.unscopables` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.unscopables +defineWellKnownSymbol('unscopables'); + + +/***/ }), +/* 111 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-unused-vars -- required for functions `.length` */ +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var wrapErrorConstructorWithCause = __webpack_require__(112); + +var WEB_ASSEMBLY = 'WebAssembly'; +var WebAssembly = globalThis[WEB_ASSEMBLY]; + +// eslint-disable-next-line es/no-error-cause -- feature detection +var FORCED = new Error('e', { cause: 7 }).cause !== 7; + +var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED); + $({ global: true, constructor: true, arity: 1, forced: FORCED }, O); +}; + +var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) { + if (WebAssembly && WebAssembly[ERROR_NAME]) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED); + $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O); + } +}; + +// https://tc39.es/ecma262/#sec-nativeerror +exportGlobalErrorCauseWrapper('Error', function (init) { + return function Error(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('EvalError', function (init) { + return function EvalError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('RangeError', function (init) { + return function RangeError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('ReferenceError', function (init) { + return function ReferenceError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('SyntaxError', function (init) { + return function SyntaxError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('TypeError', function (init) { + return function TypeError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('URIError', function (init) { + return function URIError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('CompileError', function (init) { + return function CompileError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('LinkError', function (init) { + return function LinkError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) { + return function RuntimeError(message) { return apply(init, this, arguments); }; +}); + + +/***/ }), +/* 112 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var hasOwn = __webpack_require__(38); +var createNonEnumerableProperty = __webpack_require__(43); +var isPrototypeOf = __webpack_require__(24); +var setPrototypeOf = __webpack_require__(113); +var copyConstructorProperties = __webpack_require__(55); +var proxyAccessor = __webpack_require__(117); +var inheritIfRequired = __webpack_require__(118); +var normalizeStringArgument = __webpack_require__(119); +var installErrorCause = __webpack_require__(120); +var installErrorStack = __webpack_require__(121); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) { + var STACK_TRACE_LIMIT = 'stackTraceLimit'; + var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1; + var path = FULL_NAME.split('.'); + var ERROR_NAME = path[path.length - 1]; + var OriginalError = getBuiltIn.apply(null, path); + + if (!OriginalError) return; + + var OriginalErrorPrototype = OriginalError.prototype; + + // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006 + if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause; + + if (!FORCED) return OriginalError; + + var BaseError = getBuiltIn('Error'); + + var WrappedError = wrapper(function (a, b) { + var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined); + var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError(); + if (message !== undefined) createNonEnumerableProperty(result, 'message', message); + installErrorStack(result, WrappedError, result.stack, 2); + if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError); + if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]); + return result; + }); + + WrappedError.prototype = OriginalErrorPrototype; + + if (ERROR_NAME !== 'Error') { + if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError); + else copyConstructorProperties(WrappedError, BaseError, { name: true }); + } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) { + proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT); + proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace'); + } + + copyConstructorProperties(WrappedError, OriginalError); + + if (!IS_PURE) try { + // Safari 13- bug: WebAssembly errors does not have a proper `.name` + if (OriginalErrorPrototype.name !== ERROR_NAME) { + createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME); + } + OriginalErrorPrototype.constructor = WrappedError; + } catch (error) { /* empty */ } + + return WrappedError; +}; + + +/***/ }), +/* 113 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-proto -- safe */ +var uncurryThisAccessor = __webpack_require__(114); +var isObject = __webpack_require__(20); +var requireObjectCoercible = __webpack_require__(16); +var aPossiblePrototype = __webpack_require__(115); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +// Works with __proto__ only. Old v8 can't work with null proto objects. +// eslint-disable-next-line es/no-object-setprototypeof -- safe +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set'); + setter(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { /* empty */ } + return function setPrototypeOf(O, proto) { + requireObjectCoercible(O); + aPossiblePrototype(proto); + if (!isObject(O)) return O; + if (CORRECT_SETTER) setter(O, proto); + else O.__proto__ = proto; + return O; + }; +}() : undefined); + + +/***/ }), +/* 114 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); + +module.exports = function (object, key, method) { + try { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method])); + } catch (error) { /* empty */ } +}; + + +/***/ }), +/* 115 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isPossiblePrototype = __webpack_require__(116); + +var $String = String; +var $TypeError = TypeError; + +module.exports = function (argument) { + if (isPossiblePrototype(argument)) return argument; + throw new $TypeError("Can't set " + $String(argument) + ' as a prototype'); +}; + + +/***/ }), +/* 116 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +module.exports = function (argument) { + return isObject(argument) || argument === null; +}; + + +/***/ }), +/* 117 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineProperty = (__webpack_require__(44).f); + +module.exports = function (Target, Source, key) { + key in Target || defineProperty(Target, key, { + configurable: true, + get: function () { return Source[key]; }, + set: function (it) { Source[key] = it; } + }); +}; + + +/***/ }), +/* 118 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var setPrototypeOf = __webpack_require__(113); + +// makes subclassing work correct for wrapped built-ins +module.exports = function ($this, dummy, Wrapper) { + var NewTarget, NewTargetPrototype; + if ( + // it can work only with native `setPrototypeOf` + setPrototypeOf && + // we haven't completely correct pre-ES6 way for getting `new.target`, so use this + isCallable(NewTarget = dummy.constructor) && + NewTarget !== Wrapper && + isObject(NewTargetPrototype = NewTarget.prototype) && + NewTargetPrototype !== Wrapper.prototype + ) setPrototypeOf($this, NewTargetPrototype); + return $this; +}; + + +/***/ }), +/* 119 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toString = __webpack_require__(68); + +module.exports = function (argument, $default) { + return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument); +}; + + +/***/ }), +/* 120 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); +var createNonEnumerableProperty = __webpack_require__(43); + +// `InstallErrorCause` abstract operation +// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause +module.exports = function (O, options) { + if (isObject(options) && 'cause' in options) { + createNonEnumerableProperty(O, 'cause', options.cause); + } +}; + + +/***/ }), +/* 121 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var createNonEnumerableProperty = __webpack_require__(43); +var clearErrorStack = __webpack_require__(122); +var ERROR_STACK_INSTALLABLE = __webpack_require__(123); + +// non-standard V8 +var captureStackTrace = Error.captureStackTrace; + +module.exports = function (error, C, stack, dropEntries) { + if (ERROR_STACK_INSTALLABLE) { + if (captureStackTrace) captureStackTrace(error, C); + else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries)); + } +}; + + +/***/ }), +/* 122 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var $Error = Error; +var replace = uncurryThis(''.replace); + +var TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd'); +// eslint-disable-next-line redos/no-vulnerable, sonarjs/slow-regex -- safe +var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; +var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); + +module.exports = function (stack, dropEntries) { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) { + while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); + } return stack; +}; + + +/***/ }), +/* 123 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = !fails(function () { + var error = new Error('a'); + if (!('stack' in error)) return true; + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); + return error.stack !== 7; +}); + + +/***/ }), +/* 124 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var errorToString = __webpack_require__(125); + +var ErrorPrototype = Error.prototype; + +// `Error.prototype.toString` method fix +// https://tc39.es/ecma262/#sec-error.prototype.tostring +if (ErrorPrototype.toString !== errorToString) { + defineBuiltIn(ErrorPrototype, 'toString', errorToString); +} + + +/***/ }), +/* 125 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var anObject = __webpack_require__(46); +var normalizeStringArgument = __webpack_require__(119); + +var nativeErrorToString = Error.prototype.toString; + +var INCORRECT_TO_STRING = fails(function () { + if (DESCRIPTORS) { + // Chrome 32- incorrectly call accessor + // eslint-disable-next-line es/no-object-create, es/no-object-defineproperty -- safe + var object = Object.create(Object.defineProperty({}, 'name', { get: function () { + return this === object; + } })); + if (nativeErrorToString.call(object) !== 'true') return true; + } + // FF10- does not properly handle non-strings + return nativeErrorToString.call({ message: 1, name: 2 }) !== '2: 1' + // IE8 does not properly handle defaults + || nativeErrorToString.call({}) !== 'Error'; +}); + +module.exports = INCORRECT_TO_STRING ? function toString() { + var O = anObject(this); + var name = normalizeStringArgument(O.name, 'Error'); + var message = normalizeStringArgument(O.message); + return !name ? message : !message ? name : name + ': ' + message; +} : nativeErrorToString; + + +/***/ }), +/* 126 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(127); + + +/***/ }), +/* 127 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isPrototypeOf = __webpack_require__(24); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var copyConstructorProperties = __webpack_require__(55); +var create = __webpack_require__(71); +var createNonEnumerableProperty = __webpack_require__(43); +var createPropertyDescriptor = __webpack_require__(11); +var installErrorCause = __webpack_require__(120); +var installErrorStack = __webpack_require__(121); +var iterate = __webpack_require__(130); +var normalizeStringArgument = __webpack_require__(119); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Error = Error; +var push = [].push; + +var $AggregateError = function AggregateError(errors, message /* , options */) { + var isInstance = isPrototypeOf(AggregateErrorPrototype, this); + var that; + if (setPrototypeOf) { + that = setPrototypeOf(new $Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype); + } else { + that = isInstance ? this : create(AggregateErrorPrototype); + createNonEnumerableProperty(that, TO_STRING_TAG, 'Error'); + } + if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message)); + installErrorStack(that, $AggregateError, that.stack, 1); + if (arguments.length > 2) installErrorCause(that, arguments[2]); + var errorsArray = []; + iterate(errors, push, { that: errorsArray }); + createNonEnumerableProperty(that, 'errors', errorsArray); + return that; +}; + +if (setPrototypeOf) setPrototypeOf($AggregateError, $Error); +else copyConstructorProperties($AggregateError, $Error, { name: true }); + +var AggregateErrorPrototype = $AggregateError.prototype = create($Error.prototype, { + constructor: createPropertyDescriptor(1, $AggregateError), + message: createPropertyDescriptor(1, ''), + name: createPropertyDescriptor(1, 'AggregateError') +}); + +// `AggregateError` constructor +// https://tc39.es/ecma262/#sec-aggregate-error-constructor +$({ global: true, constructor: true, arity: 2 }, { + AggregateError: $AggregateError +}); + + +/***/ }), +/* 128 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var isCallable = __webpack_require__(21); +var toObject = __webpack_require__(39); +var sharedKey = __webpack_require__(53); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +var IE_PROTO = sharedKey('IE_PROTO'); +var $Object = Object; +var ObjectPrototype = $Object.prototype; + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +// eslint-disable-next-line es/no-object-getprototypeof -- safe +module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) { + var object = toObject(O); + if (hasOwn(object, IE_PROTO)) return object[IE_PROTO]; + var constructor = object.constructor; + if (isCallable(constructor) && object instanceof constructor) { + return constructor.prototype; + } return object instanceof $Object ? ObjectPrototype : null; +}; + + +/***/ }), +/* 129 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + // eslint-disable-next-line es/no-object-getprototypeof -- required for testing + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + + +/***/ }), +/* 130 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var tryToString = __webpack_require__(31); +var isArrayIteratorMethod = __webpack_require__(131); +var lengthOfArrayLike = __webpack_require__(63); +var isPrototypeOf = __webpack_require__(24); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var iteratorClose = __webpack_require__(135); + +var $TypeError = TypeError; + +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; + +var ResultPrototype = Result.prototype; + +module.exports = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_RECORD = !!(options && options.IS_RECORD); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = bind(unboundFunction, that); + var iterator, iterFn, index, length, result, next, step; + + var stop = function (condition) { + if (iterator) iteratorClose(iterator, 'normal', condition); + return new Result(true, condition); + }; + + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } return INTERRUPTED ? fn(value, stop) : fn(value); + }; + + if (IS_RECORD) { + iterator = iterable.iterator; + } else if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable'); + // optimisation for array iterators + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { + result = callFn(iterable[index]); + if (result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); + } + iterator = getIterator(iterable, iterFn); + } + + next = IS_RECORD ? iterable.next : iterator.next; + while (!(step = call(next, iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } + if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); +}; + + +/***/ }), +/* 131 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); +var Iterators = __webpack_require__(132); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; + +// check on default Array iterator +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + + +/***/ }), +/* 132 */ +/***/ (function(module) { + + +module.exports = {}; + + +/***/ }), +/* 133 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var tryToString = __webpack_require__(31); +var getIteratorMethod = __webpack_require__(134); + +var $TypeError = TypeError; + +module.exports = function (argument, usingIterator) { + var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; + if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument)); + throw new $TypeError(tryToString(argument) + ' is not iterable'); +}; + + +/***/ }), +/* 134 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); +var getMethod = __webpack_require__(29); +var isNullOrUndefined = __webpack_require__(17); +var Iterators = __webpack_require__(132); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = function (it) { + if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR) + || getMethod(it, '@@iterator') + || Iterators[classof(it)]; +}; + + +/***/ }), +/* 135 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getMethod = __webpack_require__(29); + +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') throw value; + if (innerError) throw innerResult; + anObject(innerResult); + return value; +}; + + +/***/ }), +/* 136 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var fails = __webpack_require__(7); +var wrapErrorConstructorWithCause = __webpack_require__(112); + +var AGGREGATE_ERROR = 'AggregateError'; +var $AggregateError = getBuiltIn(AGGREGATE_ERROR); + +var FORCED = !fails(function () { + return $AggregateError([1]).errors[0] !== 1; +}) && fails(function () { + return $AggregateError([1], AGGREGATE_ERROR, { cause: 7 }).cause !== 7; +}); + +// https://tc39.es/ecma262/#sec-aggregate-error +$({ global: true, constructor: true, arity: 2, forced: FORCED }, { + AggregateError: wrapErrorConstructorWithCause(AGGREGATE_ERROR, function (init) { + // eslint-disable-next-line no-unused-vars -- required for functions `.length` + return function AggregateError(errors, message) { return apply(init, this, arguments); }; + }, FORCED, true) +}); + + +/***/ }), +/* 137 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.at` method +// https://tc39.es/ecma262/#sec-array.prototype.at +$({ target: 'Array', proto: true }, { + at: function at(index) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : O[k]; + } +}); + +addToUnscopables('at'); + + +/***/ }), +/* 138 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); +var create = __webpack_require__(71); +var defineProperty = (__webpack_require__(44).f); + +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; + +// Array.prototype[@@unscopables] +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +if (ArrayPrototype[UNSCOPABLES] === undefined) { + defineProperty(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: create(null) + }); +} + +// add a key to Array.prototype[@@unscopables] +module.exports = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; +}; + + +/***/ }), +/* 139 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isArray = __webpack_require__(88); +var isObject = __webpack_require__(20); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var doesNotExceedSafeInteger = __webpack_require__(140); +var createProperty = __webpack_require__(141); +var arraySpeciesCreate = __webpack_require__(86); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); +var wellKnownSymbol = __webpack_require__(33); +var V8_VERSION = __webpack_require__(27); + +var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); + +// We can't use this feature detection in V8 since it causes +// deoptimization and serious performance degradation +// https://github.com/zloirock/core-js/issues/679 +var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { + var array = []; + array[IS_CONCAT_SPREADABLE] = false; + return array.concat()[0] !== array; +}); + +var isConcatSpreadable = function (O) { + if (!isObject(O)) return false; + var spreadable = O[IS_CONCAT_SPREADABLE]; + return spreadable !== undefined ? !!spreadable : isArray(O); +}; + +var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat'); + +// `Array.prototype.concat` method +// https://tc39.es/ecma262/#sec-array.prototype.concat +// with adding support of @@isConcatSpreadable and @@species +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + concat: function concat(arg) { + var O = toObject(this); + var A = arraySpeciesCreate(O, 0); + var n = 0; + var i, k, length, len, E; + for (i = -1, length = arguments.length; i < length; i++) { + E = i === -1 ? O : arguments[i]; + if (isConcatSpreadable(E)) { + len = lengthOfArrayLike(E); + doesNotExceedSafeInteger(n + len); + for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); + } else { + doesNotExceedSafeInteger(n + 1); + createProperty(A, n++, E); + } + } + A.length = n; + return A; + } +}); + + +/***/ }), +/* 140 */ +/***/ (function(module) { + + +var $TypeError = TypeError; +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991 + +module.exports = function (it) { + if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded'); + return it; +}; + + +/***/ }), +/* 141 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var definePropertyModule = __webpack_require__(44); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = function (object, key, value) { + if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value)); + else object[key] = value; +}; + + +/***/ }), +/* 142 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var V8_VERSION = __webpack_require__(27); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (METHOD_NAME) { + // We can't use this feature detection in V8 since it causes + // deoptimization and serious performance degradation + // https://github.com/zloirock/core-js/issues/677 + return V8_VERSION >= 51 || !fails(function () { + var array = []; + var constructor = array.constructor = {}; + constructor[SPECIES] = function () { + return { foo: 1 }; + }; + return array[METHOD_NAME](Boolean).foo !== 1; + }); +}; + + +/***/ }), +/* 143 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var copyWithin = __webpack_require__(144); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.copyWithin` method +// https://tc39.es/ecma262/#sec-array.prototype.copywithin +$({ target: 'Array', proto: true }, { + copyWithin: copyWithin +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('copyWithin'); + + +/***/ }), +/* 144 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); +var deletePropertyOrThrow = __webpack_require__(145); + +var min = Math.min; + +// `Array.prototype.copyWithin` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.copywithin +// eslint-disable-next-line es/no-array-prototype-copywithin -- safe +module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var to = toAbsoluteIndex(target, len); + var from = toAbsoluteIndex(start, len); + var end = arguments.length > 2 ? arguments[2] : undefined; + var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var inc = 1; + if (from < to && to < from + count) { + inc = -1; + from += count - 1; + to += count - 1; + } + while (count-- > 0) { + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + to += inc; + from += inc; + } return O; +}; + + +/***/ }), +/* 145 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +module.exports = function (O, P) { + if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O)); +}; + + +/***/ }), +/* 146 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $every = (__webpack_require__(83).every); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('every'); + +// `Array.prototype.every` method +// https://tc39.es/ecma262/#sec-array.prototype.every +$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { + every: function every(callbackfn /* , thisArg */) { + return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 147 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call -- required for testing + method.call(null, argument || function () { return 1; }, 1); + }); +}; + + +/***/ }), +/* 148 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fill = __webpack_require__(149); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.fill` method +// https://tc39.es/ecma262/#sec-array.prototype.fill +$({ target: 'Array', proto: true }, { + fill: fill +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('fill'); + + +/***/ }), +/* 149 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.fill` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.fill +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = lengthOfArrayLike(O); + var argumentsLength = arguments.length; + var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); + var end = argumentsLength > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; + return O; +}; + + +/***/ }), +/* 150 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $filter = (__webpack_require__(83).filter); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); + +// `Array.prototype.filter` method +// https://tc39.es/ecma262/#sec-array.prototype.filter +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + filter: function filter(callbackfn /* , thisArg */) { + return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 151 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $find = (__webpack_require__(83).find); +var addToUnscopables = __webpack_require__(138); + +var FIND = 'find'; +var SKIPS_HOLES = true; + +// Shouldn't skip holes +// eslint-disable-next-line es/no-array-prototype-find -- testing +if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.find` method +// https://tc39.es/ecma262/#sec-array.prototype.find +$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { + find: function find(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND); + + +/***/ }), +/* 152 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findIndex = (__webpack_require__(83).findIndex); +var addToUnscopables = __webpack_require__(138); + +var FIND_INDEX = 'findIndex'; +var SKIPS_HOLES = true; + +// Shouldn't skip holes +// eslint-disable-next-line es/no-array-prototype-findindex -- testing +if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.findIndex` method +// https://tc39.es/ecma262/#sec-array.prototype.findindex +$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { + findIndex: function findIndex(callbackfn /* , that = undefined */) { + return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND_INDEX); + + +/***/ }), +/* 153 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findLast = (__webpack_require__(154).findLast); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.findLast` method +// https://tc39.es/ecma262/#sec-array.prototype.findlast +$({ target: 'Array', proto: true }, { + findLast: function findLast(callbackfn /* , that = undefined */) { + return $findLast(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +addToUnscopables('findLast'); + + +/***/ }), +/* 154 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var IndexedObject = __webpack_require__(13); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.{ findLast, findLastIndex }` methods implementation +var createMethod = function (TYPE) { + var IS_FIND_LAST_INDEX = TYPE === 1; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IndexedObject(O); + var index = lengthOfArrayLike(self); + var boundFunction = bind(callbackfn, that); + var value, result; + while (index-- > 0) { + value = self[index]; + result = boundFunction(value, index, O); + if (result) switch (TYPE) { + case 0: return value; // findLast + case 1: return index; // findLastIndex + } + } + return IS_FIND_LAST_INDEX ? -1 : undefined; + }; +}; + +module.exports = { + // `Array.prototype.findLast` method + // https://github.com/tc39/proposal-array-find-from-last + findLast: createMethod(0), + // `Array.prototype.findLastIndex` method + // https://github.com/tc39/proposal-array-find-from-last + findLastIndex: createMethod(1) +}; + + +/***/ }), +/* 155 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findLastIndex = (__webpack_require__(154).findLastIndex); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.findLastIndex` method +// https://tc39.es/ecma262/#sec-array.prototype.findlastindex +$({ target: 'Array', proto: true }, { + findLastIndex: function findLastIndex(callbackfn /* , that = undefined */) { + return $findLastIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +addToUnscopables('findLastIndex'); + + +/***/ }), +/* 156 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var flattenIntoArray = __webpack_require__(157); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); +var arraySpeciesCreate = __webpack_require__(86); + +// `Array.prototype.flat` method +// https://tc39.es/ecma262/#sec-array.prototype.flat +$({ target: 'Array', proto: true }, { + flat: function flat(/* depthArg = 1 */) { + var depthArg = arguments.length ? arguments[0] : undefined; + var O = toObject(this); + var sourceLen = lengthOfArrayLike(O); + var A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg)); + return A; + } +}); + + +/***/ }), +/* 157 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isArray = __webpack_require__(88); +var lengthOfArrayLike = __webpack_require__(63); +var doesNotExceedSafeInteger = __webpack_require__(140); +var bind = __webpack_require__(84); + +// `FlattenIntoArray` abstract operation +// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray +var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? bind(mapper, thisArg) : false; + var element, elementLen; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + if (depth > 0 && isArray(element)) { + elementLen = lengthOfArrayLike(element); + targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1; + } else { + doesNotExceedSafeInteger(targetIndex + 1); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; +}; + +module.exports = flattenIntoArray; + + +/***/ }), +/* 158 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var flattenIntoArray = __webpack_require__(157); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var arraySpeciesCreate = __webpack_require__(86); + +// `Array.prototype.flatMap` method +// https://tc39.es/ecma262/#sec-array.prototype.flatmap +$({ target: 'Array', proto: true }, { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var sourceLen = lengthOfArrayLike(O); + var A; + aCallable(callbackfn); + A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return A; + } +}); + + +/***/ }), +/* 159 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var forEach = __webpack_require__(160); + +// `Array.prototype.forEach` method +// https://tc39.es/ecma262/#sec-array.prototype.foreach +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +$({ target: 'Array', proto: true, forced: [].forEach !== forEach }, { + forEach: forEach +}); + + +/***/ }), +/* 160 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $forEach = (__webpack_require__(83).forEach); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('forEach'); + +// `Array.prototype.forEach` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.foreach +module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +} : [].forEach; + + +/***/ }), +/* 161 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var from = __webpack_require__(162); +var checkCorrectnessOfIteration = __webpack_require__(164); + +var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { + // eslint-disable-next-line es/no-array-from -- required for testing + Array.from(iterable); +}); + +// `Array.from` method +// https://tc39.es/ecma262/#sec-array.from +$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { + from: from +}); + + +/***/ }), +/* 162 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var toObject = __webpack_require__(39); +var callWithSafeIterationClosing = __webpack_require__(163); +var isArrayIteratorMethod = __webpack_require__(131); +var isConstructor = __webpack_require__(89); +var lengthOfArrayLike = __webpack_require__(63); +var createProperty = __webpack_require__(141); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); + +var $Array = Array; + +// `Array.from` method implementation +// https://tc39.es/ecma262/#sec-array.from +module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var IS_CONSTRUCTOR = isConstructor(this); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined); + var iteratorMethod = getIteratorMethod(O); + var index = 0; + var length, result, step, iterator, next, value; + // if the target is not iterable or it's an array with the default iterator - use a simple case + if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) { + result = IS_CONSTRUCTOR ? new this() : []; + iterator = getIterator(O, iteratorMethod); + next = iterator.next; + for (;!(step = call(next, iterator)).done; index++) { + value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; + createProperty(result, index, value); + } + } else { + length = lengthOfArrayLike(O); + result = IS_CONSTRUCTOR ? new this(length) : $Array(length); + for (;length > index; index++) { + value = mapping ? mapfn(O[index], index) : O[index]; + createProperty(result, index, value); + } + } + result.length = index; + return result; +}; + + +/***/ }), +/* 163 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var iteratorClose = __webpack_require__(135); + +// call something on iterator step with safe closing on error +module.exports = function (iterator, fn, value, ENTRIES) { + try { + return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } +}; + + +/***/ }), +/* 164 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var SAFE_CLOSING = false; + +try { + var called = 0; + var iteratorWithReturn = { + next: function () { + return { done: !!called++ }; + }, + 'return': function () { + SAFE_CLOSING = true; + } + }; + iteratorWithReturn[ITERATOR] = function () { + return this; + }; + // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing + Array.from(iteratorWithReturn, function () { throw 2; }); +} catch (error) { /* empty */ } + +module.exports = function (exec, SKIP_CLOSING) { + try { + if (!SKIP_CLOSING && !SAFE_CLOSING) return false; + } catch (error) { return false; } // workaround of old WebKit + `eval` bug + var ITERATION_SUPPORT = false; + try { + var object = {}; + object[ITERATOR] = function () { + return { + next: function () { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { /* empty */ } + return ITERATION_SUPPORT; +}; + + +/***/ }), +/* 165 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $includes = (__webpack_require__(59).includes); +var fails = __webpack_require__(7); +var addToUnscopables = __webpack_require__(138); + +// FF99+ bug +var BROKEN_ON_SPARSE = fails(function () { + // eslint-disable-next-line es/no-array-prototype-includes -- detection + return !Array(1).includes(); +}); + +// `Array.prototype.includes` method +// https://tc39.es/ecma262/#sec-array.prototype.includes +$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, { + includes: function includes(el /* , fromIndex = 0 */) { + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('includes'); + + +/***/ }), +/* 166 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-array-prototype-indexof -- required for testing */ +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var $indexOf = (__webpack_require__(59).indexOf); +var arrayMethodIsStrict = __webpack_require__(147); + +var nativeIndexOf = uncurryThis([].indexOf); + +var NEGATIVE_ZERO = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0; +var FORCED = NEGATIVE_ZERO || !arrayMethodIsStrict('indexOf'); + +// `Array.prototype.indexOf` method +// https://tc39.es/ecma262/#sec-array.prototype.indexof +$({ target: 'Array', proto: true, forced: FORCED }, { + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + var fromIndex = arguments.length > 1 ? arguments[1] : undefined; + return NEGATIVE_ZERO + // convert -0 to +0 + ? nativeIndexOf(this, searchElement, fromIndex) || 0 + : $indexOf(this, searchElement, fromIndex); + } +}); + + +/***/ }), +/* 167 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isArray = __webpack_require__(88); + +// `Array.isArray` method +// https://tc39.es/ecma262/#sec-array.isarray +$({ target: 'Array', stat: true }, { + isArray: isArray +}); + + +/***/ }), +/* 168 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIndexedObject = __webpack_require__(12); +var addToUnscopables = __webpack_require__(138); +var Iterators = __webpack_require__(132); +var InternalStateModule = __webpack_require__(51); +var defineProperty = (__webpack_require__(44).f); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); + +var ARRAY_ITERATOR = 'Array Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); + +// `Array.prototype.entries` method +// https://tc39.es/ecma262/#sec-array.prototype.entries +// `Array.prototype.keys` method +// https://tc39.es/ecma262/#sec-array.prototype.keys +// `Array.prototype.values` method +// https://tc39.es/ecma262/#sec-array.prototype.values +// `Array.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-array.prototype-@@iterator +// `CreateArrayIterator` internal method +// https://tc39.es/ecma262/#sec-createarrayiterator +module.exports = defineIterator(Array, 'Array', function (iterated, kind) { + setInternalState(this, { + type: ARRAY_ITERATOR, + target: toIndexedObject(iterated), // target + index: 0, // next index + kind: kind // kind + }); +// `%ArrayIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next +}, function () { + var state = getInternalState(this); + var target = state.target; + var index = state.index++; + if (!target || index >= target.length) { + state.target = null; + return createIterResultObject(undefined, true); + } + switch (state.kind) { + case 'keys': return createIterResultObject(index, false); + case 'values': return createIterResultObject(target[index], false); + } return createIterResultObject([index, target[index]], false); +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% +// https://tc39.es/ecma262/#sec-createunmappedargumentsobject +// https://tc39.es/ecma262/#sec-createmappedargumentsobject +var values = Iterators.Arguments = Iterators.Array; + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + +// V8 ~ Chrome 45- bug +if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try { + defineProperty(values, 'name', { value: 'values' }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 169 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var IS_PURE = __webpack_require__(36); +var FunctionName = __webpack_require__(49); +var isCallable = __webpack_require__(21); +var createIteratorConstructor = __webpack_require__(170); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var setToStringTag = __webpack_require__(82); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var wellKnownSymbol = __webpack_require__(33); +var Iterators = __webpack_require__(132); +var IteratorsCore = __webpack_require__(171); + +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +var IteratorPrototype = IteratorsCore.IteratorPrototype; +var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; +var ITERATOR = wellKnownSymbol('iterator'); +var KEYS = 'keys'; +var VALUES = 'values'; +var ENTRIES = 'entries'; + +var returnThis = function () { return this; }; + +module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + + var getIterationMethod = function (KIND) { + if (KIND === DEFAULT && defaultIterator) return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND]; + + switch (KIND) { + case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; + case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; + case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; + } + + return function () { return new IteratorConstructor(this); }; + }; + + var TO_STRING_TAG = NAME + ' Iterator'; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] + || IterablePrototype['@@iterator'] + || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + + // fix native + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { + defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + // Set @@toStringTag to native iterators + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; + } + } + + // fix Array.prototype.{ values, @@iterator }.name in V8 / FF + if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) { + if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(IterablePrototype, 'name', VALUES); + } else { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { return call(nativeIterator, this); }; + } + } + + // export additional methods + if (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + defineBuiltIn(IterablePrototype, KEY, methods[KEY]); + } + } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); + } + + // define iterator + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); + } + Iterators[NAME] = defaultIterator; + + return methods; +}; + + +/***/ }), +/* 170 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var setToStringTag = __webpack_require__(82); +var Iterators = __webpack_require__(132); + +var returnThis = function () { return this; }; + +module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { + var TO_STRING_TAG = NAME + ' Iterator'; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; +}; + + +/***/ }), +/* 171 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var create = __webpack_require__(71); +var getPrototypeOf = __webpack_require__(128); +var defineBuiltIn = __webpack_require__(47); +var wellKnownSymbol = __webpack_require__(33); +var IS_PURE = __webpack_require__(36); + +var ITERATOR = wellKnownSymbol('iterator'); +var BUGGY_SAFARI_ITERATORS = false; + +// `%IteratorPrototype%` object +// https://tc39.es/ecma262/#sec-%iteratorprototype%-object +var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; + +/* eslint-disable es/no-array-prototype-keys -- safe */ +if ([].keys) { + arrayIterator = [].keys(); + // Safari 8 has buggy iterators w/o `next` + if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } +} + +var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () { + var test = {}; + // FF44- legacy iterators case + return IteratorPrototype[ITERATOR].call(test) !== test; +}); + +if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; +else if (IS_PURE) IteratorPrototype = create(IteratorPrototype); + +// `%IteratorPrototype%[@@iterator]()` method +// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator +if (!isCallable(IteratorPrototype[ITERATOR])) { + defineBuiltIn(IteratorPrototype, ITERATOR, function () { + return this; + }); +} + +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + + +/***/ }), +/* 172 */ +/***/ (function(module) { + + +// `CreateIterResultObject` abstract operation +// https://tc39.es/ecma262/#sec-createiterresultobject +module.exports = function (value, done) { + return { value: value, done: done }; +}; + + +/***/ }), +/* 173 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var IndexedObject = __webpack_require__(13); +var toIndexedObject = __webpack_require__(12); +var arrayMethodIsStrict = __webpack_require__(147); + +var nativeJoin = uncurryThis([].join); + +var ES3_STRINGS = IndexedObject !== Object; +var FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ','); + +// `Array.prototype.join` method +// https://tc39.es/ecma262/#sec-array.prototype.join +$({ target: 'Array', proto: true, forced: FORCED }, { + join: function join(separator) { + return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator); + } +}); + + +/***/ }), +/* 174 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var lastIndexOf = __webpack_require__(175); + +// `Array.prototype.lastIndexOf` method +// https://tc39.es/ecma262/#sec-array.prototype.lastindexof +// eslint-disable-next-line es/no-array-prototype-lastindexof -- required for testing +$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, { + lastIndexOf: lastIndexOf +}); + + +/***/ }), +/* 175 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-array-prototype-lastindexof -- safe */ +var apply = __webpack_require__(94); +var toIndexedObject = __webpack_require__(12); +var toIntegerOrInfinity = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(63); +var arrayMethodIsStrict = __webpack_require__(147); + +var min = Math.min; +var $lastIndexOf = [].lastIndexOf; +var NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0; +var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf'); +var FORCED = NEGATIVE_ZERO || !STRICT_METHOD; + +// `Array.prototype.lastIndexOf` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.lastindexof +module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { + // convert -0 to +0 + if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0; + var O = toIndexedObject(this); + var length = lengthOfArrayLike(O); + if (length === 0) return -1; + var index = length - 1; + if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1])); + if (index < 0) index = length + index; + for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0; + return -1; +} : $lastIndexOf; + + +/***/ }), +/* 176 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $map = (__webpack_require__(83).map); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map'); + +// `Array.prototype.map` method +// https://tc39.es/ecma262/#sec-array.prototype.map +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 177 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isConstructor = __webpack_require__(89); +var createProperty = __webpack_require__(141); + +var $Array = Array; + +var ISNT_GENERIC = fails(function () { + function F() { /* empty */ } + // eslint-disable-next-line es/no-array-of -- safe + return !($Array.of.call(F) instanceof F); +}); + +// `Array.of` method +// https://tc39.es/ecma262/#sec-array.of +// WebKit Array.of isn't generic +$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, { + of: function of(/* ...args */) { + var index = 0; + var argumentsLength = arguments.length; + var result = new (isConstructor(this) ? this : $Array)(argumentsLength); + while (argumentsLength > index) createProperty(result, index, arguments[index++]); + result.length = argumentsLength; + return result; + } +}); + + +/***/ }), +/* 178 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var doesNotExceedSafeInteger = __webpack_require__(140); +var fails = __webpack_require__(7); + +var INCORRECT_TO_LENGTH = fails(function () { + return [].push.call({ length: 0x100000000 }, 1) !== 4294967297; +}); + +// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError +// https://bugs.chromium.org/p/v8/issues/detail?id=12681 +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).push(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength(); + +// `Array.prototype.push` method +// https://tc39.es/ecma262/#sec-array.prototype.push +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + push: function push(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + doesNotExceedSafeInteger(len + argCount); + for (var i = 0; i < argCount; i++) { + O[len] = arguments[i]; + len++; + } + setArrayLength(O, len); + return len; + } +}); + + +/***/ }), +/* 179 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var isArray = __webpack_require__(88); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Safari < 13 does not throw an error in this case +var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () { + // makes no sense without proper strict mode support + if (this !== undefined) return true; + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).length = 1; + } catch (error) { + return error instanceof TypeError; + } +}(); + +module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) { + if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) { + throw new $TypeError('Cannot set read only .length'); + } return O.length = length; +} : function (O, length) { + return O.length = length; +}; + + +/***/ }), +/* 180 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $reduce = (__webpack_require__(181).left); +var arrayMethodIsStrict = __webpack_require__(147); +var CHROME_VERSION = __webpack_require__(27); +var IS_NODE = __webpack_require__(182); + +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; +var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce'); + +// `Array.prototype.reduce` method +// https://tc39.es/ecma262/#sec-array.prototype.reduce +$({ target: 'Array', proto: true, forced: FORCED }, { + reduce: function reduce(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 181 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var IndexedObject = __webpack_require__(13); +var lengthOfArrayLike = __webpack_require__(63); + +var $TypeError = TypeError; + +var REDUCE_EMPTY = 'Reduce of empty array with no initial value'; + +// `Array.prototype.{ reduce, reduceRight }` methods implementation +var createMethod = function (IS_RIGHT) { + return function (that, callbackfn, argumentsLength, memo) { + var O = toObject(that); + var self = IndexedObject(O); + var length = lengthOfArrayLike(O); + aCallable(callbackfn); + if (length === 0 && argumentsLength < 2) throw new $TypeError(REDUCE_EMPTY); + var index = IS_RIGHT ? length - 1 : 0; + var i = IS_RIGHT ? -1 : 1; + if (argumentsLength < 2) while (true) { + if (index in self) { + memo = self[index]; + index += i; + break; + } + index += i; + if (IS_RIGHT ? index < 0 : length <= index) { + throw new $TypeError(REDUCE_EMPTY); + } + } + for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) { + memo = callbackfn(memo, self[index], index, O); + } + return memo; + }; +}; + +module.exports = { + // `Array.prototype.reduce` method + // https://tc39.es/ecma262/#sec-array.prototype.reduce + left: createMethod(false), + // `Array.prototype.reduceRight` method + // https://tc39.es/ecma262/#sec-array.prototype.reduceright + right: createMethod(true) +}; + + +/***/ }), +/* 182 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var ENVIRONMENT = __webpack_require__(183); + +module.exports = ENVIRONMENT === 'NODE'; + + +/***/ }), +/* 183 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* global Bun, Deno -- detection */ +var globalThis = __webpack_require__(4); +var userAgent = __webpack_require__(28); +var classof = __webpack_require__(15); + +var userAgentStartsWith = function (string) { + return userAgent.slice(0, string.length) === string; +}; + +module.exports = (function () { + if (userAgentStartsWith('Bun/')) return 'BUN'; + if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE'; + if (userAgentStartsWith('Deno/')) return 'DENO'; + if (userAgentStartsWith('Node.js/')) return 'NODE'; + if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN'; + if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO'; + if (classof(globalThis.process) === 'process') return 'NODE'; + if (globalThis.window && globalThis.document) return 'BROWSER'; + return 'REST'; +})(); + + +/***/ }), +/* 184 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $reduceRight = (__webpack_require__(181).right); +var arrayMethodIsStrict = __webpack_require__(147); +var CHROME_VERSION = __webpack_require__(27); +var IS_NODE = __webpack_require__(182); + +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; +var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduceRight'); + +// `Array.prototype.reduceRight` method +// https://tc39.es/ecma262/#sec-array.prototype.reduceright +$({ target: 'Array', proto: true, forced: FORCED }, { + reduceRight: function reduceRight(callbackfn /* , initialValue */) { + return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 185 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var isArray = __webpack_require__(88); + +var nativeReverse = uncurryThis([].reverse); +var test = [1, 2]; + +// `Array.prototype.reverse` method +// https://tc39.es/ecma262/#sec-array.prototype.reverse +// fix for Safari 12.0 bug +// https://bugs.webkit.org/show_bug.cgi?id=188794 +$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, { + reverse: function reverse() { + // eslint-disable-next-line no-self-assign -- dirty hack + if (isArray(this)) this.length = this.length; + return nativeReverse(this); + } +}); + + +/***/ }), +/* 186 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isArray = __webpack_require__(88); +var isConstructor = __webpack_require__(89); +var isObject = __webpack_require__(20); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); +var toIndexedObject = __webpack_require__(12); +var createProperty = __webpack_require__(141); +var wellKnownSymbol = __webpack_require__(33); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); +var nativeSlice = __webpack_require__(76); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); + +var SPECIES = wellKnownSymbol('species'); +var $Array = Array; +var max = Math.max; + +// `Array.prototype.slice` method +// https://tc39.es/ecma262/#sec-array.prototype.slice +// fallback for not array-like ES3 strings and DOM objects +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + slice: function slice(start, end) { + var O = toIndexedObject(this); + var length = lengthOfArrayLike(O); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible + var Constructor, result, n; + if (isArray(O)) { + Constructor = O.constructor; + // cross-realm fallback + if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) { + Constructor = undefined; + } else if (isObject(Constructor)) { + Constructor = Constructor[SPECIES]; + if (Constructor === null) Constructor = undefined; + } + if (Constructor === $Array || Constructor === undefined) { + return nativeSlice(O, k, fin); + } + } + result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0)); + for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); + result.length = n; + return result; + } +}); + + +/***/ }), +/* 187 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $some = (__webpack_require__(83).some); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('some'); + +// `Array.prototype.some` method +// https://tc39.es/ecma262/#sec-array.prototype.some +$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { + some: function some(callbackfn /* , thisArg */) { + return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 188 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var deletePropertyOrThrow = __webpack_require__(145); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); +var internalSort = __webpack_require__(189); +var arrayMethodIsStrict = __webpack_require__(147); +var FF = __webpack_require__(190); +var IE_OR_EDGE = __webpack_require__(191); +var V8 = __webpack_require__(27); +var WEBKIT = __webpack_require__(192); + +var test = []; +var nativeSort = uncurryThis(test.sort); +var push = uncurryThis(test.push); + +// IE8- +var FAILS_ON_UNDEFINED = fails(function () { + test.sort(undefined); +}); +// V8 bug +var FAILS_ON_NULL = fails(function () { + test.sort(null); +}); +// Old WebKit +var STRICT_METHOD = arrayMethodIsStrict('sort'); + +var STABLE_SORT = !fails(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 70; + if (FF && FF > 3) return; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 603; + + var result = ''; + var code, chr, value, index; + + // generate an array with more 512 elements (Chakra and old V8 fails only in this case) + for (code = 65; code < 76; code++) { + chr = String.fromCharCode(code); + + switch (code) { + case 66: case 69: case 70: case 72: value = 3; break; + case 68: case 71: value = 4; break; + default: value = 2; + } + + for (index = 0; index < 47; index++) { + test.push({ k: chr + index, v: value }); + } + } + + test.sort(function (a, b) { return b.v - a.v; }); + + for (index = 0; index < test.length; index++) { + chr = test[index].k.charAt(0); + if (result.charAt(result.length - 1) !== chr) result += chr; + } + + return result !== 'DGBEFHACIJK'; +}); + +var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT; + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (y === undefined) return -1; + if (x === undefined) return 1; + if (comparefn !== undefined) return +comparefn(x, y) || 0; + return toString(x) > toString(y) ? 1 : -1; + }; +}; + +// `Array.prototype.sort` method +// https://tc39.es/ecma262/#sec-array.prototype.sort +$({ target: 'Array', proto: true, forced: FORCED }, { + sort: function sort(comparefn) { + if (comparefn !== undefined) aCallable(comparefn); + + var array = toObject(this); + + if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn); + + var items = []; + var arrayLength = lengthOfArrayLike(array); + var itemsLength, index; + + for (index = 0; index < arrayLength; index++) { + if (index in array) push(items, array[index]); + } + + internalSort(items, getSortCompare(comparefn)); + + itemsLength = lengthOfArrayLike(items); + index = 0; + + while (index < itemsLength) array[index] = items[index++]; + while (index < arrayLength) deletePropertyOrThrow(array, index++); + + return array; + } +}); + + +/***/ }), +/* 189 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arraySlice = __webpack_require__(76); + +var floor = Math.floor; + +var sort = function (array, comparefn) { + var length = array.length; + + if (length < 8) { + // insertion sort + var i = 1; + var element, j; + + while (i < length) { + j = i; + element = array[i]; + while (j && comparefn(array[j - 1], element) > 0) { + array[j] = array[--j]; + } + if (j !== i++) array[j] = element; + } + } else { + // merge sort + var middle = floor(length / 2); + var left = sort(arraySlice(array, 0, middle), comparefn); + var right = sort(arraySlice(array, middle), comparefn); + var llength = left.length; + var rlength = right.length; + var lindex = 0; + var rindex = 0; + + while (lindex < llength || rindex < rlength) { + array[lindex + rindex] = (lindex < llength && rindex < rlength) + ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++] + : lindex < llength ? left[lindex++] : right[rindex++]; + } + } + + return array; +}; + +module.exports = sort; + + +/***/ }), +/* 190 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +var firefox = userAgent.match(/firefox\/(\d+)/i); + +module.exports = !!firefox && +firefox[1]; + + +/***/ }), +/* 191 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var UA = __webpack_require__(28); + +module.exports = /MSIE|Trident/.test(UA); + + +/***/ }), +/* 192 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +var webkit = userAgent.match(/AppleWebKit\/(\d+)\./); + +module.exports = !!webkit && +webkit[1]; + + +/***/ }), +/* 193 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var setSpecies = __webpack_require__(194); + +// `Array[@@species]` getter +// https://tc39.es/ecma262/#sec-get-array-@@species +setSpecies('Array'); + + +/***/ }), +/* 194 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var defineBuiltInAccessor = __webpack_require__(77); +var wellKnownSymbol = __webpack_require__(33); +var DESCRIPTORS = __webpack_require__(6); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (CONSTRUCTOR_NAME) { + var Constructor = getBuiltIn(CONSTRUCTOR_NAME); + + if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { + defineBuiltInAccessor(Constructor, SPECIES, { + configurable: true, + get: function () { return this; } + }); + } +}; + + +/***/ }), +/* 195 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var toIntegerOrInfinity = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var doesNotExceedSafeInteger = __webpack_require__(140); +var arraySpeciesCreate = __webpack_require__(86); +var createProperty = __webpack_require__(141); +var deletePropertyOrThrow = __webpack_require__(145); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice'); + +var max = Math.max; +var min = Math.min; + +// `Array.prototype.splice` method +// https://tc39.es/ecma262/#sec-array.prototype.splice +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + splice: function splice(start, deleteCount /* , ...items */) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.length; + var insertCount, actualDeleteCount, A, k, from, to; + if (argumentsLength === 0) { + insertCount = actualDeleteCount = 0; + } else if (argumentsLength === 1) { + insertCount = 0; + actualDeleteCount = len - actualStart; + } else { + insertCount = argumentsLength - 2; + actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + } + doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); + A = arraySpeciesCreate(O, actualDeleteCount); + for (k = 0; k < actualDeleteCount; k++) { + from = actualStart + k; + if (from in O) createProperty(A, k, O[from]); + } + A.length = actualDeleteCount; + if (insertCount < actualDeleteCount) { + for (k = actualStart; k < len - actualDeleteCount; k++) { + from = k + actualDeleteCount; + to = k + insertCount; + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + } + for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1); + } else if (insertCount > actualDeleteCount) { + for (k = len - actualDeleteCount; k > actualStart; k--) { + from = k + actualDeleteCount - 1; + to = k + insertCount - 1; + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + } + } + for (k = 0; k < insertCount; k++) { + O[k + actualStart] = arguments[k + 2]; + } + setArrayLength(O, len - actualDeleteCount + insertCount); + return A; + } +}); + + +/***/ }), +/* 196 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var arrayToReversed = __webpack_require__(197); +var toIndexedObject = __webpack_require__(12); +var addToUnscopables = __webpack_require__(138); + +var $Array = Array; + +// `Array.prototype.toReversed` method +// https://tc39.es/ecma262/#sec-array.prototype.toreversed +$({ target: 'Array', proto: true }, { + toReversed: function toReversed() { + return arrayToReversed(toIndexedObject(this), $Array); + } +}); + +addToUnscopables('toReversed'); + + +/***/ }), +/* 197 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); + +// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed +// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed +module.exports = function (O, C) { + var len = lengthOfArrayLike(O); + var A = new C(len); + var k = 0; + for (; k < len; k++) A[k] = O[len - k - 1]; + return A; +}; + + +/***/ }), +/* 198 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var toIndexedObject = __webpack_require__(12); +var arrayFromConstructorAndList = __webpack_require__(199); +var getBuiltInPrototypeMethod = __webpack_require__(200); +var addToUnscopables = __webpack_require__(138); + +var $Array = Array; +var sort = uncurryThis(getBuiltInPrototypeMethod('Array', 'sort')); + +// `Array.prototype.toSorted` method +// https://tc39.es/ecma262/#sec-array.prototype.tosorted +$({ target: 'Array', proto: true }, { + toSorted: function toSorted(compareFn) { + if (compareFn !== undefined) aCallable(compareFn); + var O = toIndexedObject(this); + var A = arrayFromConstructorAndList($Array, O); + return sort(A, compareFn); + } +}); + +addToUnscopables('toSorted'); + + +/***/ }), +/* 199 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); + +module.exports = function (Constructor, list, $length) { + var index = 0; + var length = arguments.length > 2 ? $length : lengthOfArrayLike(list); + var result = new Constructor(length); + while (length > index) result[index] = list[index++]; + return result; +}; + + +/***/ }), +/* 200 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = function (CONSTRUCTOR, METHOD) { + var Constructor = globalThis[CONSTRUCTOR]; + var Prototype = Constructor && Constructor.prototype; + return Prototype && Prototype[METHOD]; +}; + + +/***/ }), +/* 201 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var addToUnscopables = __webpack_require__(138); +var doesNotExceedSafeInteger = __webpack_require__(140); +var lengthOfArrayLike = __webpack_require__(63); +var toAbsoluteIndex = __webpack_require__(60); +var toIndexedObject = __webpack_require__(12); +var toIntegerOrInfinity = __webpack_require__(61); + +var $Array = Array; +var max = Math.max; +var min = Math.min; + +// `Array.prototype.toSpliced` method +// https://tc39.es/ecma262/#sec-array.prototype.tospliced +$({ target: 'Array', proto: true }, { + toSpliced: function toSpliced(start, deleteCount /* , ...items */) { + var O = toIndexedObject(this); + var len = lengthOfArrayLike(O); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.length; + var k = 0; + var insertCount, actualDeleteCount, newLen, A; + if (argumentsLength === 0) { + insertCount = actualDeleteCount = 0; + } else if (argumentsLength === 1) { + insertCount = 0; + actualDeleteCount = len - actualStart; + } else { + insertCount = argumentsLength - 2; + actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + } + newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); + A = $Array(newLen); + + for (; k < actualStart; k++) A[k] = O[k]; + for (; k < actualStart + insertCount; k++) A[k] = arguments[k - actualStart + 2]; + for (; k < newLen; k++) A[k] = O[k + actualDeleteCount - insertCount]; + + return A; + } +}); + +addToUnscopables('toSpliced'); + + +/***/ }), +/* 202 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = __webpack_require__(138); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('flat'); + + +/***/ }), +/* 203 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = __webpack_require__(138); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('flatMap'); + + +/***/ }), +/* 204 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var deletePropertyOrThrow = __webpack_require__(145); +var doesNotExceedSafeInteger = __webpack_require__(140); + +// IE8- +var INCORRECT_RESULT = [].unshift(0) !== 1; + +// V8 ~ Chrome < 71 and Safari <= 15.4, FF < 23 throws InternalError +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).unshift(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_RESULT || !properErrorOnNonWritableLength(); + +// `Array.prototype.unshift` method +// https://tc39.es/ecma262/#sec-array.prototype.unshift +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + unshift: function unshift(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + if (argCount) { + doesNotExceedSafeInteger(len + argCount); + var k = len; + while (k--) { + var to = k + argCount; + if (k in O) O[to] = O[k]; + else deletePropertyOrThrow(O, to); + } + for (var j = 0; j < argCount; j++) { + O[j] = arguments[j]; + } + } return setArrayLength(O, len + argCount); + } +}); + + +/***/ }), +/* 205 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var arrayWith = __webpack_require__(206); +var toIndexedObject = __webpack_require__(12); + +var $Array = Array; + +// `Array.prototype.with` method +// https://tc39.es/ecma262/#sec-array.prototype.with +$({ target: 'Array', proto: true }, { + 'with': function (index, value) { + return arrayWith(toIndexedObject(this), $Array, index, value); + } +}); + + +/***/ }), +/* 206 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); + +var $RangeError = RangeError; + +// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with +// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with +module.exports = function (O, C, index, value) { + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex; + if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index'); + var A = new C(len); + var k = 0; + for (; k < len; k++) A[k] = k === actualIndex ? value : O[k]; + return A; +}; + + +/***/ }), +/* 207 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var arrayBufferModule = __webpack_require__(208); +var setSpecies = __webpack_require__(194); + +var ARRAY_BUFFER = 'ArrayBuffer'; +var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER]; +var NativeArrayBuffer = globalThis[ARRAY_BUFFER]; + +// `ArrayBuffer` constructor +// https://tc39.es/ecma262/#sec-arraybuffer-constructor +$({ global: true, constructor: true, forced: NativeArrayBuffer !== ArrayBuffer }, { + ArrayBuffer: ArrayBuffer +}); + +setSpecies(ARRAY_BUFFER); + + +/***/ }), +/* 208 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var DESCRIPTORS = __webpack_require__(6); +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); +var FunctionName = __webpack_require__(49); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var fails = __webpack_require__(7); +var anInstance = __webpack_require__(211); +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); +var toIndex = __webpack_require__(212); +var fround = __webpack_require__(213); +var IEEE754 = __webpack_require__(216); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var arrayFill = __webpack_require__(149); +var arraySlice = __webpack_require__(76); +var inheritIfRequired = __webpack_require__(118); +var copyConstructorProperties = __webpack_require__(55); +var setToStringTag = __webpack_require__(82); +var InternalStateModule = __webpack_require__(51); + +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +var ARRAY_BUFFER = 'ArrayBuffer'; +var DATA_VIEW = 'DataView'; +var PROTOTYPE = 'prototype'; +var WRONG_LENGTH = 'Wrong length'; +var WRONG_INDEX = 'Wrong index'; +var getInternalArrayBufferState = InternalStateModule.getterFor(ARRAY_BUFFER); +var getInternalDataViewState = InternalStateModule.getterFor(DATA_VIEW); +var setInternalState = InternalStateModule.set; +var NativeArrayBuffer = globalThis[ARRAY_BUFFER]; +var $ArrayBuffer = NativeArrayBuffer; +var ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE]; +var $DataView = globalThis[DATA_VIEW]; +var DataViewPrototype = $DataView && $DataView[PROTOTYPE]; +var ObjectPrototype = Object.prototype; +var Array = globalThis.Array; +var RangeError = globalThis.RangeError; +var fill = uncurryThis(arrayFill); +var reverse = uncurryThis([].reverse); + +var packIEEE754 = IEEE754.pack; +var unpackIEEE754 = IEEE754.unpack; + +var packInt8 = function (number) { + return [number & 0xFF]; +}; + +var packInt16 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF]; +}; + +var packInt32 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF]; +}; + +var unpackInt32 = function (buffer) { + return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0]; +}; + +var packFloat32 = function (number) { + return packIEEE754(fround(number), 23, 4); +}; + +var packFloat64 = function (number) { + return packIEEE754(number, 52, 8); +}; + +var addGetter = function (Constructor, key, getInternalState) { + defineBuiltInAccessor(Constructor[PROTOTYPE], key, { + configurable: true, + get: function () { + return getInternalState(this)[key]; + } + }); +}; + +var get = function (view, count, index, isLittleEndian) { + var store = getInternalDataViewState(view); + var intIndex = toIndex(index); + var boolIsLittleEndian = !!isLittleEndian; + if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX); + var bytes = store.bytes; + var start = intIndex + store.byteOffset; + var pack = arraySlice(bytes, start, start + count); + return boolIsLittleEndian ? pack : reverse(pack); +}; + +var set = function (view, count, index, conversion, value, isLittleEndian) { + var store = getInternalDataViewState(view); + var intIndex = toIndex(index); + var pack = conversion(+value); + var boolIsLittleEndian = !!isLittleEndian; + if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX); + var bytes = store.bytes; + var start = intIndex + store.byteOffset; + for (var i = 0; i < count; i++) bytes[start + i] = pack[boolIsLittleEndian ? i : count - i - 1]; +}; + +if (!NATIVE_ARRAY_BUFFER) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, ArrayBufferPrototype); + var byteLength = toIndex(length); + setInternalState(this, { + type: ARRAY_BUFFER, + bytes: fill(Array(byteLength), 0), + byteLength: byteLength + }); + if (!DESCRIPTORS) { + this.byteLength = byteLength; + this.detached = false; + } + }; + + ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE]; + + $DataView = function DataView(buffer, byteOffset, byteLength) { + anInstance(this, DataViewPrototype); + anInstance(buffer, ArrayBufferPrototype); + var bufferState = getInternalArrayBufferState(buffer); + var bufferLength = bufferState.byteLength; + var offset = toIntegerOrInfinity(byteOffset); + if (offset < 0 || offset > bufferLength) throw new RangeError('Wrong offset'); + byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); + if (offset + byteLength > bufferLength) throw new RangeError(WRONG_LENGTH); + setInternalState(this, { + type: DATA_VIEW, + buffer: buffer, + byteLength: byteLength, + byteOffset: offset, + bytes: bufferState.bytes + }); + if (!DESCRIPTORS) { + this.buffer = buffer; + this.byteLength = byteLength; + this.byteOffset = offset; + } + }; + + DataViewPrototype = $DataView[PROTOTYPE]; + + if (DESCRIPTORS) { + addGetter($ArrayBuffer, 'byteLength', getInternalArrayBufferState); + addGetter($DataView, 'buffer', getInternalDataViewState); + addGetter($DataView, 'byteLength', getInternalDataViewState); + addGetter($DataView, 'byteOffset', getInternalDataViewState); + } + + defineBuiltIns(DataViewPrototype, { + getInt8: function getInt8(byteOffset) { + return get(this, 1, byteOffset)[0] << 24 >> 24; + }, + getUint8: function getUint8(byteOffset) { + return get(this, 1, byteOffset)[0]; + }, + getInt16: function getInt16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false); + return (bytes[1] << 8 | bytes[0]) << 16 >> 16; + }, + getUint16: function getUint16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false); + return bytes[1] << 8 | bytes[0]; + }, + getInt32: function getInt32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)); + }, + getUint32: function getUint32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)) >>> 0; + }, + getFloat32: function getFloat32(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false), 23); + }, + getFloat64: function getFloat64(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : false), 52); + }, + setInt8: function setInt8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setUint8: function setUint8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setInt16: function setInt16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false); + }, + setUint16: function setUint16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false); + }, + setInt32: function setInt32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false); + }, + setUint32: function setUint32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false); + }, + setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : false); + }, + setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { + set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : false); + } + }); +} else { + var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER; + /* eslint-disable no-new, sonarjs/inconsistent-function-call -- required for testing */ + if (!fails(function () { + NativeArrayBuffer(1); + }) || !fails(function () { + new NativeArrayBuffer(-1); + }) || fails(function () { + new NativeArrayBuffer(); + new NativeArrayBuffer(1.5); + new NativeArrayBuffer(NaN); + return NativeArrayBuffer.length !== 1 || INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME; + })) { + /* eslint-enable no-new, sonarjs/inconsistent-function-call -- required for testing */ + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, ArrayBufferPrototype); + return inheritIfRequired(new NativeArrayBuffer(toIndex(length)), this, $ArrayBuffer); + }; + + $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype; + + ArrayBufferPrototype.constructor = $ArrayBuffer; + + copyConstructorProperties($ArrayBuffer, NativeArrayBuffer); + } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER); + } + + // WebKit bug - the same parent prototype for typed arrays and data view + if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) { + setPrototypeOf(DataViewPrototype, ObjectPrototype); + } + + // iOS Safari 7.x bug + var testView = new $DataView(new $ArrayBuffer(2)); + var $setInt8 = uncurryThis(DataViewPrototype.setInt8); + testView.setInt8(0, 2147483648); + testView.setInt8(1, 2147483649); + if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, { + setInt8: function setInt8(byteOffset, value) { + $setInt8(this, byteOffset, value << 24 >> 24); + }, + setUint8: function setUint8(byteOffset, value) { + $setInt8(this, byteOffset, value << 24 >> 24); + } + }, { unsafe: true }); +} + +setToStringTag($ArrayBuffer, ARRAY_BUFFER); +setToStringTag($DataView, DATA_VIEW); + +module.exports = { + ArrayBuffer: $ArrayBuffer, + DataView: $DataView +}; + + +/***/ }), +/* 209 */ +/***/ (function(module) { + + +// eslint-disable-next-line es/no-typed-arrays -- safe +module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; + + +/***/ }), +/* 210 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); + +module.exports = function (target, src, options) { + for (var key in src) defineBuiltIn(target, key, src[key], options); + return target; +}; + + +/***/ }), +/* 211 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isPrototypeOf = __webpack_require__(24); + +var $TypeError = TypeError; + +module.exports = function (it, Prototype) { + if (isPrototypeOf(Prototype, it)) return it; + throw new $TypeError('Incorrect invocation'); +}; + + +/***/ }), +/* 212 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); + +var $RangeError = RangeError; + +// `ToIndex` abstract operation +// https://tc39.es/ecma262/#sec-toindex +module.exports = function (it) { + if (it === undefined) return 0; + var number = toIntegerOrInfinity(it); + var length = toLength(number); + if (number !== length) throw new $RangeError('Wrong length or index'); + return length; +}; + + +/***/ }), +/* 213 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var floatRound = __webpack_require__(214); + +var FLOAT32_EPSILON = 1.1920928955078125e-7; // 2 ** -23; +var FLOAT32_MAX_VALUE = 3.4028234663852886e+38; // 2 ** 128 - 2 ** 104 +var FLOAT32_MIN_VALUE = 1.1754943508222875e-38; // 2 ** -126; + +// `Math.fround` method implementation +// https://tc39.es/ecma262/#sec-math.fround +// eslint-disable-next-line es/no-math-fround -- safe +module.exports = Math.fround || function fround(x) { + return floatRound(x, FLOAT32_EPSILON, FLOAT32_MAX_VALUE, FLOAT32_MIN_VALUE); +}; + + +/***/ }), +/* 214 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var sign = __webpack_require__(215); + +var abs = Math.abs; + +var EPSILON = 2.220446049250313e-16; // Number.EPSILON +var INVERSE_EPSILON = 1 / EPSILON; + +var roundTiesToEven = function (n) { + return n + INVERSE_EPSILON - INVERSE_EPSILON; +}; + +module.exports = function (x, FLOAT_EPSILON, FLOAT_MAX_VALUE, FLOAT_MIN_VALUE) { + var n = +x; + var absolute = abs(n); + var s = sign(n); + if (absolute < FLOAT_MIN_VALUE) return s * roundTiesToEven(absolute / FLOAT_MIN_VALUE / FLOAT_EPSILON) * FLOAT_MIN_VALUE * FLOAT_EPSILON; + var a = (1 + FLOAT_EPSILON / EPSILON) * absolute; + var result = a - (a - absolute); + // eslint-disable-next-line no-self-compare -- NaN check + if (result > FLOAT_MAX_VALUE || result !== result) return s * Infinity; + return s * result; +}; + + +/***/ }), +/* 215 */ +/***/ (function(module) { + + +// `Math.sign` method implementation +// https://tc39.es/ecma262/#sec-math.sign +// eslint-disable-next-line es/no-math-sign -- safe +module.exports = Math.sign || function sign(x) { + var n = +x; + // eslint-disable-next-line no-self-compare -- NaN check + return n === 0 || n !== n ? n : n < 0 ? -1 : 1; +}; + + +/***/ }), +/* 216 */ +/***/ (function(module) { + + +// IEEE754 conversions based on https://github.com/feross/ieee754 +var $Array = Array; +var abs = Math.abs; +var pow = Math.pow; +var floor = Math.floor; +var log = Math.log; +var LN2 = Math.LN2; + +var pack = function (number, mantissaLength, bytes) { + var buffer = $Array(bytes); + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0; + var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0; + var index = 0; + var exponent, mantissa, c; + number = abs(number); + // eslint-disable-next-line no-self-compare -- NaN check + if (number !== number || number === Infinity) { + // eslint-disable-next-line no-self-compare -- NaN check + mantissa = number !== number ? 1 : 0; + exponent = eMax; + } else { + exponent = floor(log(number) / LN2); + c = pow(2, -exponent); + if (number * c < 1) { + exponent--; + c *= 2; + } + if (exponent + eBias >= 1) { + number += rt / c; + } else { + number += rt * pow(2, 1 - eBias); + } + if (number * c >= 2) { + exponent++; + c /= 2; + } + if (exponent + eBias >= eMax) { + mantissa = 0; + exponent = eMax; + } else if (exponent + eBias >= 1) { + mantissa = (number * c - 1) * pow(2, mantissaLength); + exponent += eBias; + } else { + mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength); + exponent = 0; + } + } + while (mantissaLength >= 8) { + buffer[index++] = mantissa & 255; + mantissa /= 256; + mantissaLength -= 8; + } + exponent = exponent << mantissaLength | mantissa; + exponentLength += mantissaLength; + while (exponentLength > 0) { + buffer[index++] = exponent & 255; + exponent /= 256; + exponentLength -= 8; + } + buffer[index - 1] |= sign * 128; + return buffer; +}; + +var unpack = function (buffer, mantissaLength) { + var bytes = buffer.length; + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var nBits = exponentLength - 7; + var index = bytes - 1; + var sign = buffer[index--]; + var exponent = sign & 127; + var mantissa; + sign >>= 7; + while (nBits > 0) { + exponent = exponent * 256 + buffer[index--]; + nBits -= 8; + } + mantissa = exponent & (1 << -nBits) - 1; + exponent >>= -nBits; + nBits += mantissaLength; + while (nBits > 0) { + mantissa = mantissa * 256 + buffer[index--]; + nBits -= 8; + } + if (exponent === 0) { + exponent = 1 - eBias; + } else if (exponent === eMax) { + return mantissa ? NaN : sign ? -Infinity : Infinity; + } else { + mantissa += pow(2, mantissaLength); + exponent -= eBias; + } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength); +}; + +module.exports = { + pack: pack, + unpack: unpack +}; + + +/***/ }), +/* 217 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ArrayBufferViewCore = __webpack_require__(218); + +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; + +// `ArrayBuffer.isView` method +// https://tc39.es/ecma262/#sec-arraybuffer.isview +$({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + isView: ArrayBufferViewCore.isView +}); + + +/***/ }), +/* 218 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var classof = __webpack_require__(69); +var tryToString = __webpack_require__(31); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var isPrototypeOf = __webpack_require__(24); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var wellKnownSymbol = __webpack_require__(33); +var uid = __webpack_require__(40); +var InternalStateModule = __webpack_require__(51); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var Int8Array = globalThis.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var Uint8ClampedArray = globalThis.Uint8ClampedArray; +var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; +var TypedArray = Int8Array && getPrototypeOf(Int8Array); +var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype); +var ObjectPrototype = Object.prototype; +var TypeError = globalThis.TypeError; + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); +var TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor'; +// Fixing native typed arrays in Opera Presto crashes the browser, see #595 +var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(globalThis.opera) !== 'Opera'; +var TYPED_ARRAY_TAG_REQUIRED = false; +var NAME, Constructor, Prototype; + +var TypedArrayConstructorsList = { + Int8Array: 1, + Uint8Array: 1, + Uint8ClampedArray: 1, + Int16Array: 2, + Uint16Array: 2, + Int32Array: 4, + Uint32Array: 4, + Float32Array: 4, + Float64Array: 8 +}; + +var BigIntArrayConstructorsList = { + BigInt64Array: 8, + BigUint64Array: 8 +}; + +var isView = function isView(it) { + if (!isObject(it)) return false; + var klass = classof(it); + return klass === 'DataView' + || hasOwn(TypedArrayConstructorsList, klass) + || hasOwn(BigIntArrayConstructorsList, klass); +}; + +var getTypedArrayConstructor = function (it) { + var proto = getPrototypeOf(it); + if (!isObject(proto)) return; + var state = getInternalState(proto); + return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto); +}; + +var isTypedArray = function (it) { + if (!isObject(it)) return false; + var klass = classof(it); + return hasOwn(TypedArrayConstructorsList, klass) + || hasOwn(BigIntArrayConstructorsList, klass); +}; + +var aTypedArray = function (it) { + if (isTypedArray(it)) return it; + throw new TypeError('Target is not a typed array'); +}; + +var aTypedArrayConstructor = function (C) { + if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C; + throw new TypeError(tryToString(C) + ' is not a typed array constructor'); +}; + +var exportTypedArrayMethod = function (KEY, property, forced, options) { + if (!DESCRIPTORS) return; + if (forced) for (var ARRAY in TypedArrayConstructorsList) { + var TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try { + delete TypedArrayConstructor.prototype[KEY]; + } catch (error) { + // old WebKit bug - some methods are non-configurable + try { + TypedArrayConstructor.prototype[KEY] = property; + } catch (error2) { /* empty */ } + } + } + if (!TypedArrayPrototype[KEY] || forced) { + defineBuiltIn(TypedArrayPrototype, KEY, forced ? property + : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options); + } +}; + +var exportTypedArrayStaticMethod = function (KEY, property, forced) { + var ARRAY, TypedArrayConstructor; + if (!DESCRIPTORS) return; + if (setPrototypeOf) { + if (forced) for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try { + delete TypedArrayConstructor[KEY]; + } catch (error) { /* empty */ } + } + if (!TypedArray[KEY] || forced) { + // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable + try { + return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property); + } catch (error) { /* empty */ } + } else return; + } + for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { + defineBuiltIn(TypedArrayConstructor, KEY, property); + } + } +}; + +for (NAME in TypedArrayConstructorsList) { + Constructor = globalThis[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; + else NATIVE_ARRAY_BUFFER_VIEWS = false; +} + +for (NAME in BigIntArrayConstructorsList) { + Constructor = globalThis[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; +} + +// WebKit bug - typed arrays constructors prototype is Object.prototype +if (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) { + // eslint-disable-next-line no-shadow -- safe + TypedArray = function TypedArray() { + throw new TypeError('Incorrect invocation'); + }; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (globalThis[NAME]) setPrototypeOf(globalThis[NAME], TypedArray); + } +} + +if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) { + TypedArrayPrototype = TypedArray.prototype; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (globalThis[NAME]) setPrototypeOf(globalThis[NAME].prototype, TypedArrayPrototype); + } +} + +// WebKit bug - one more object in Uint8ClampedArray prototype chain +if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { + setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); +} + +if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) { + TYPED_ARRAY_TAG_REQUIRED = true; + defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, { + configurable: true, + get: function () { + return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; + } + }); + for (NAME in TypedArrayConstructorsList) if (globalThis[NAME]) { + createNonEnumerableProperty(globalThis[NAME], TYPED_ARRAY_TAG, NAME); + } +} + +module.exports = { + NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, + TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG, + aTypedArray: aTypedArray, + aTypedArrayConstructor: aTypedArrayConstructor, + exportTypedArrayMethod: exportTypedArrayMethod, + exportTypedArrayStaticMethod: exportTypedArrayStaticMethod, + getTypedArrayConstructor: getTypedArrayConstructor, + isView: isView, + isTypedArray: isTypedArray, + TypedArray: TypedArray, + TypedArrayPrototype: TypedArrayPrototype +}; + + +/***/ }), +/* 219 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var fails = __webpack_require__(7); +var ArrayBufferModule = __webpack_require__(208); +var anObject = __webpack_require__(46); +var toAbsoluteIndex = __webpack_require__(60); +var toLength = __webpack_require__(64); + +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var DataView = ArrayBufferModule.DataView; +var DataViewPrototype = DataView.prototype; +var nativeArrayBufferSlice = uncurryThis(ArrayBuffer.prototype.slice); +var getUint8 = uncurryThis(DataViewPrototype.getUint8); +var setUint8 = uncurryThis(DataViewPrototype.setUint8); + +var INCORRECT_SLICE = fails(function () { + return !new ArrayBuffer(2).slice(1, undefined).byteLength; +}); + +// `ArrayBuffer.prototype.slice` method +// https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice +$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, { + slice: function slice(start, end) { + if (nativeArrayBufferSlice && end === undefined) { + return nativeArrayBufferSlice(anObject(this), start); // FF fix + } + var length = anObject(this).byteLength; + var first = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + var result = new ArrayBuffer(toLength(fin - first)); + var viewSource = new DataView(this); + var viewTarget = new DataView(result); + var index = 0; + while (first < fin) { + setUint8(viewTarget, index++, getUint8(viewSource, first++)); + } return result; + } +}); + + +/***/ }), +/* 220 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(221); + + +/***/ }), +/* 221 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ArrayBufferModule = __webpack_require__(208); +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); + +// `DataView` constructor +// https://tc39.es/ecma262/#sec-dataview-constructor +$({ global: true, constructor: true, forced: !NATIVE_ARRAY_BUFFER }, { + DataView: ArrayBufferModule.DataView +}); + + +/***/ }), +/* 222 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var isDetached = __webpack_require__(223); + +var ArrayBufferPrototype = ArrayBuffer.prototype; + +// `ArrayBuffer.prototype.detached` getter +// https://tc39.es/ecma262/#sec-get-arraybuffer.prototype.detached +if (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) { + defineBuiltInAccessor(ArrayBufferPrototype, 'detached', { + configurable: true, + get: function detached() { + return isDetached(this); + } + }); +} + + +/***/ }), +/* 223 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(85); +var arrayBufferByteLength = __webpack_require__(224); + +var ArrayBuffer = globalThis.ArrayBuffer; +var ArrayBufferPrototype = ArrayBuffer && ArrayBuffer.prototype; +var slice = ArrayBufferPrototype && uncurryThis(ArrayBufferPrototype.slice); + +module.exports = function (O) { + if (arrayBufferByteLength(O) !== 0) return false; + if (!slice) return false; + try { + slice(O, 0, 0); + return false; + } catch (error) { + return true; + } +}; + + +/***/ }), +/* 224 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThisAccessor = __webpack_require__(114); +var classof = __webpack_require__(15); + +var ArrayBuffer = globalThis.ArrayBuffer; +var TypeError = globalThis.TypeError; + +// Includes +// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]). +// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception. +module.exports = ArrayBuffer && uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) { + if (classof(O) !== 'ArrayBuffer') throw new TypeError('ArrayBuffer expected'); + return O.byteLength; +}; + + +/***/ }), +/* 225 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $transfer = __webpack_require__(226); + +// `ArrayBuffer.prototype.transfer` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transfer: function transfer() { + return $transfer(this, arguments.length ? arguments[0] : undefined, true); + } +}); + + +/***/ }), +/* 226 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var uncurryThisAccessor = __webpack_require__(114); +var toIndex = __webpack_require__(212); +var notDetached = __webpack_require__(227); +var arrayBufferByteLength = __webpack_require__(224); +var detachTransferable = __webpack_require__(228); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var structuredClone = globalThis.structuredClone; +var ArrayBuffer = globalThis.ArrayBuffer; +var DataView = globalThis.DataView; +var min = Math.min; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataViewPrototype = DataView.prototype; +var slice = uncurryThis(ArrayBufferPrototype.slice); +var isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get'); +var maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get'); +var getInt8 = uncurryThis(DataViewPrototype.getInt8); +var setInt8 = uncurryThis(DataViewPrototype.setInt8); + +module.exports = (PROPER_STRUCTURED_CLONE_TRANSFER || detachTransferable) && function (arrayBuffer, newLength, preserveResizability) { + var byteLength = arrayBufferByteLength(arrayBuffer); + var newByteLength = newLength === undefined ? byteLength : toIndex(newLength); + var fixedLength = !isResizable || !isResizable(arrayBuffer); + var newBuffer; + notDetached(arrayBuffer); + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + arrayBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] }); + if (byteLength === newByteLength && (preserveResizability || fixedLength)) return arrayBuffer; + } + if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) { + newBuffer = slice(arrayBuffer, 0, newByteLength); + } else { + var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(arrayBuffer) } : undefined; + newBuffer = new ArrayBuffer(newByteLength, options); + var a = new DataView(arrayBuffer); + var b = new DataView(newBuffer); + var copyLength = min(newByteLength, byteLength); + for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i)); + } + if (!PROPER_STRUCTURED_CLONE_TRANSFER) detachTransferable(arrayBuffer); + return newBuffer; +}; + + +/***/ }), +/* 227 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isDetached = __webpack_require__(223); + +var $TypeError = TypeError; + +module.exports = function (it) { + if (isDetached(it)) throw new $TypeError('ArrayBuffer is detached'); + return it; +}; + + +/***/ }), +/* 228 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var getBuiltInNodeModule = __webpack_require__(229); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var structuredClone = globalThis.structuredClone; +var $ArrayBuffer = globalThis.ArrayBuffer; +var $MessageChannel = globalThis.MessageChannel; +var detach = false; +var WorkerThreads, channel, buffer, $detach; + +if (PROPER_STRUCTURED_CLONE_TRANSFER) { + detach = function (transferable) { + structuredClone(transferable, { transfer: [transferable] }); + }; +} else if ($ArrayBuffer) try { + if (!$MessageChannel) { + WorkerThreads = getBuiltInNodeModule('worker_threads'); + if (WorkerThreads) $MessageChannel = WorkerThreads.MessageChannel; + } + + if ($MessageChannel) { + channel = new $MessageChannel(); + buffer = new $ArrayBuffer(2); + + $detach = function (transferable) { + channel.port1.postMessage(null, [transferable]); + }; + + if (buffer.byteLength === 2) { + $detach(buffer); + if (buffer.byteLength === 0) detach = $detach; + } + } +} catch (error) { /* empty */ } + +module.exports = detach; + + +/***/ }), +/* 229 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var IS_NODE = __webpack_require__(182); + +module.exports = function (name) { + if (IS_NODE) { + try { + return globalThis.process.getBuiltinModule(name); + } catch (error) { /* empty */ } + try { + // eslint-disable-next-line no-new-func -- safe + return Function('return require("' + name + '")')(); + } catch (error) { /* empty */ } + } +}; + + +/***/ }), +/* 230 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var V8 = __webpack_require__(27); +var ENVIRONMENT = __webpack_require__(183); + +var structuredClone = globalThis.structuredClone; + +module.exports = !!structuredClone && !fails(function () { + // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if ((ENVIRONMENT === 'DENO' && V8 > 92) || (ENVIRONMENT === 'NODE' && V8 > 94) || (ENVIRONMENT === 'BROWSER' && V8 > 97)) return false; + var buffer = new ArrayBuffer(8); + var clone = structuredClone(buffer, { transfer: [buffer] }); + return buffer.byteLength !== 0 || clone.byteLength !== 8; +}); + + +/***/ }), +/* 231 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $transfer = __webpack_require__(226); + +// `ArrayBuffer.prototype.transferToFixedLength` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transferToFixedLength: function transferToFixedLength() { + return $transfer(this, arguments.length ? arguments[0] : undefined, false); + } +}); + + +/***/ }), +/* 232 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); + +// IE8- non-standard case +var FORCED = fails(function () { + // eslint-disable-next-line es/no-date-prototype-getyear-setyear -- detection + return new Date(16e11).getYear() !== 120; +}); + +var getFullYear = uncurryThis(Date.prototype.getFullYear); + +// `Date.prototype.getYear` method +// https://tc39.es/ecma262/#sec-date.prototype.getyear +$({ target: 'Date', proto: true, forced: FORCED }, { + getYear: function getYear() { + return getFullYear(this) - 1900; + } +}); + + +/***/ }), +/* 233 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); + +var $Date = Date; +var thisTimeValue = uncurryThis($Date.prototype.getTime); + +// `Date.now` method +// https://tc39.es/ecma262/#sec-date.now +$({ target: 'Date', stat: true }, { + now: function now() { + return thisTimeValue(new $Date()); + } +}); + + +/***/ }), +/* 234 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); + +var DatePrototype = Date.prototype; +var thisTimeValue = uncurryThis(DatePrototype.getTime); +var setFullYear = uncurryThis(DatePrototype.setFullYear); + +// `Date.prototype.setYear` method +// https://tc39.es/ecma262/#sec-date.prototype.setyear +$({ target: 'Date', proto: true }, { + setYear: function setYear(year) { + // validate + thisTimeValue(this); + var yi = toIntegerOrInfinity(year); + var yyyy = yi >= 0 && yi <= 99 ? yi + 1900 : yi; + return setFullYear(this, yyyy); + } +}); + + +/***/ }), +/* 235 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Date.prototype.toGMTString` method +// https://tc39.es/ecma262/#sec-date.prototype.togmtstring +$({ target: 'Date', proto: true }, { + toGMTString: Date.prototype.toUTCString +}); + + +/***/ }), +/* 236 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toISOString = __webpack_require__(237); + +// `Date.prototype.toISOString` method +// https://tc39.es/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit has a broken implementations +$({ target: 'Date', proto: true, forced: Date.prototype.toISOString !== toISOString }, { + toISOString: toISOString +}); + + +/***/ }), +/* 237 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var padStart = (__webpack_require__(238).start); + +var $RangeError = RangeError; +var $isFinite = isFinite; +var abs = Math.abs; +var DatePrototype = Date.prototype; +var nativeDateToISOString = DatePrototype.toISOString; +var thisTimeValue = uncurryThis(DatePrototype.getTime); +var getUTCDate = uncurryThis(DatePrototype.getUTCDate); +var getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear); +var getUTCHours = uncurryThis(DatePrototype.getUTCHours); +var getUTCMilliseconds = uncurryThis(DatePrototype.getUTCMilliseconds); +var getUTCMinutes = uncurryThis(DatePrototype.getUTCMinutes); +var getUTCMonth = uncurryThis(DatePrototype.getUTCMonth); +var getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds); + +// `Date.prototype.toISOString` method implementation +// https://tc39.es/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit fails here: +module.exports = (fails(function () { + return nativeDateToISOString.call(new Date(-5e13 - 1)) !== '0385-07-25T07:06:39.999Z'; +}) || !fails(function () { + nativeDateToISOString.call(new Date(NaN)); +})) ? function toISOString() { + if (!$isFinite(thisTimeValue(this))) throw new $RangeError('Invalid time value'); + var date = this; + var year = getUTCFullYear(date); + var milliseconds = getUTCMilliseconds(date); + var sign = year < 0 ? '-' : year > 9999 ? '+' : ''; + return sign + padStart(abs(year), sign ? 6 : 4, 0) + + '-' + padStart(getUTCMonth(date) + 1, 2, 0) + + '-' + padStart(getUTCDate(date), 2, 0) + + 'T' + padStart(getUTCHours(date), 2, 0) + + ':' + padStart(getUTCMinutes(date), 2, 0) + + ':' + padStart(getUTCSeconds(date), 2, 0) + + '.' + padStart(milliseconds, 3, 0) + + 'Z'; +} : nativeDateToISOString; + + +/***/ }), +/* 238 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// https://github.com/tc39/proposal-string-pad-start-end +var uncurryThis = __webpack_require__(14); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var $repeat = __webpack_require__(239); +var requireObjectCoercible = __webpack_require__(16); + +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); +var ceil = Math.ceil; + +// `String.prototype.{ padStart, padEnd }` methods implementation +var createMethod = function (IS_END) { + return function ($this, maxLength, fillString) { + var S = toString(requireObjectCoercible($this)); + var intMaxLength = toLength(maxLength); + var stringLength = S.length; + var fillStr = fillString === undefined ? ' ' : toString(fillString); + var fillLen, stringFiller; + if (intMaxLength <= stringLength || fillStr === '') return S; + fillLen = intMaxLength - stringLength; + stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen); + return IS_END ? S + stringFiller : stringFiller + S; + }; +}; + +module.exports = { + // `String.prototype.padStart` method + // https://tc39.es/ecma262/#sec-string.prototype.padstart + start: createMethod(false), + // `String.prototype.padEnd` method + // https://tc39.es/ecma262/#sec-string.prototype.padend + end: createMethod(true) +}; + + +/***/ }), +/* 239 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); + +var $RangeError = RangeError; + +// `String.prototype.repeat` method implementation +// https://tc39.es/ecma262/#sec-string.prototype.repeat +module.exports = function repeat(count) { + var str = toString(requireObjectCoercible(this)); + var result = ''; + var n = toIntegerOrInfinity(count); + if (n < 0 || n === Infinity) throw new $RangeError('Wrong number of repetitions'); + for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str; + return result; +}; + + +/***/ }), +/* 240 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toObject = __webpack_require__(39); +var toPrimitive = __webpack_require__(19); + +var FORCED = fails(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; +}); + +// `Date.prototype.toJSON` method +// https://tc39.es/ecma262/#sec-date.prototype.tojson +$({ target: 'Date', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O, 'number'); + return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); + } +}); + + +/***/ }), +/* 241 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var defineBuiltIn = __webpack_require__(47); +var dateToPrimitive = __webpack_require__(242); +var wellKnownSymbol = __webpack_require__(33); + +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +var DatePrototype = Date.prototype; + +// `Date.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive +if (!hasOwn(DatePrototype, TO_PRIMITIVE)) { + defineBuiltIn(DatePrototype, TO_PRIMITIVE, dateToPrimitive); +} + + +/***/ }), +/* 242 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var ordinaryToPrimitive = __webpack_require__(32); + +var $TypeError = TypeError; + +// `Date.prototype[@@toPrimitive](hint)` method implementation +// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive +module.exports = function (hint) { + anObject(this); + if (hint === 'string' || hint === 'default') hint = 'string'; + else if (hint !== 'number') throw new $TypeError('Incorrect hint'); + return ordinaryToPrimitive(this, hint); +}; + + +/***/ }), +/* 243 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var uncurryThis = __webpack_require__(14); +var defineBuiltIn = __webpack_require__(47); + +var DatePrototype = Date.prototype; +var INVALID_DATE = 'Invalid Date'; +var TO_STRING = 'toString'; +var nativeDateToString = uncurryThis(DatePrototype[TO_STRING]); +var thisTimeValue = uncurryThis(DatePrototype.getTime); + +// `Date.prototype.toString` method +// https://tc39.es/ecma262/#sec-date.prototype.tostring +if (String(new Date(NaN)) !== INVALID_DATE) { + defineBuiltIn(DatePrototype, TO_STRING, function toString() { + var value = thisTimeValue(this); + // eslint-disable-next-line no-self-compare -- NaN check + return value === value ? nativeDateToString(this) : INVALID_DATE; + }); +} + + +/***/ }), +/* 244 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); + +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var exec = uncurryThis(/./.exec); +var numberToString = uncurryThis(1.0.toString); +var toUpperCase = uncurryThis(''.toUpperCase); + +var raw = /[\w*+\-./@]/; + +var hex = function (code, length) { + var result = numberToString(code, 16); + while (result.length < length) result = '0' + result; + return result; +}; + +// `escape` method +// https://tc39.es/ecma262/#sec-escape-string +$({ global: true }, { + escape: function escape(string) { + var str = toString(string); + var result = ''; + var length = str.length; + var index = 0; + var chr, code; + while (index < length) { + chr = charAt(str, index++); + if (exec(raw, chr)) { + result += chr; + } else { + code = charCodeAt(chr, 0); + if (code < 256) { + result += '%' + hex(code, 2); + } else { + result += '%u' + toUpperCase(hex(code, 4)); + } + } + } return result; + } +}); + + +/***/ }), +/* 245 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var bind = __webpack_require__(246); + +// `Function.prototype.bind` method +// https://tc39.es/ecma262/#sec-function.prototype.bind +// eslint-disable-next-line es/no-function-prototype-bind -- detection +$({ target: 'Function', proto: true, forced: Function.bind !== bind }, { + bind: bind +}); + + +/***/ }), +/* 246 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var arraySlice = __webpack_require__(76); +var NATIVE_BIND = __webpack_require__(9); + +var $Function = Function; +var concat = uncurryThis([].concat); +var join = uncurryThis([].join); +var factories = {}; + +var construct = function (C, argsLength, args) { + if (!hasOwn(factories, argsLength)) { + var list = []; + var i = 0; + for (; i < argsLength; i++) list[i] = 'a[' + i + ']'; + factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')'); + } return factories[argsLength](C, args); +}; + +// `Function.prototype.bind` method implementation +// https://tc39.es/ecma262/#sec-function.prototype.bind +// eslint-disable-next-line es/no-function-prototype-bind -- detection +module.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) { + var F = aCallable(this); + var Prototype = F.prototype; + var partArgs = arraySlice(arguments, 1); + var boundFunction = function bound(/* args... */) { + var args = concat(partArgs, arraySlice(arguments)); + return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args); + }; + if (isObject(Prototype)) boundFunction.prototype = Prototype; + return boundFunction; +}; + + +/***/ }), +/* 247 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var definePropertyModule = __webpack_require__(44); +var isPrototypeOf = __webpack_require__(24); +var wellKnownSymbol = __webpack_require__(33); +var makeBuiltIn = __webpack_require__(48); + +var HAS_INSTANCE = wellKnownSymbol('hasInstance'); +var FunctionPrototype = Function.prototype; + +// `Function.prototype[@@hasInstance]` method +// https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance +if (!(HAS_INSTANCE in FunctionPrototype)) { + definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: makeBuiltIn(function (O) { + if (!isCallable(this) || !isObject(O)) return false; + var P = this.prototype; + return isObject(P) ? isPrototypeOf(P, O) : O instanceof this; + }, HAS_INSTANCE) }); +} + + +/***/ }), +/* 248 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var FUNCTION_NAME_EXISTS = (__webpack_require__(49).EXISTS); +var uncurryThis = __webpack_require__(14); +var defineBuiltInAccessor = __webpack_require__(77); + +var FunctionPrototype = Function.prototype; +var functionToString = uncurryThis(FunctionPrototype.toString); +var nameRE = /function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/; +var regExpExec = uncurryThis(nameRE.exec); +var NAME = 'name'; + +// Function instances `.name` property +// https://tc39.es/ecma262/#sec-function-instances-name +if (DESCRIPTORS && !FUNCTION_NAME_EXISTS) { + defineBuiltInAccessor(FunctionPrototype, NAME, { + configurable: true, + get: function () { + try { + return regExpExec(nameRE, functionToString(this))[1]; + } catch (error) { + return ''; + } + } + }); +} + + +/***/ }), +/* 249 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); + +// `globalThis` object +// https://tc39.es/ecma262/#sec-globalthis +$({ global: true, forced: globalThis.globalThis !== globalThis }, { + globalThis: globalThis +}); + + +/***/ }), +/* 250 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var getPrototypeOf = __webpack_require__(128); +var defineBuiltInAccessor = __webpack_require__(77); +var createProperty = __webpack_require__(141); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var wellKnownSymbol = __webpack_require__(33); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var CONSTRUCTOR = 'constructor'; +var ITERATOR = 'Iterator'; +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +var $TypeError = TypeError; +var NativeIterator = globalThis[ITERATOR]; + +// FF56- have non-standard global helper `Iterator` +var FORCED = IS_PURE + || !isCallable(NativeIterator) + || NativeIterator.prototype !== IteratorPrototype + // FF44- non-standard `Iterator` passes previous tests + || !fails(function () { NativeIterator({}); }); + +var IteratorConstructor = function Iterator() { + anInstance(this, IteratorPrototype); + if (getPrototypeOf(this) === IteratorPrototype) throw new $TypeError('Abstract class Iterator not directly constructable'); +}; + +var defineIteratorPrototypeAccessor = function (key, value) { + if (DESCRIPTORS) { + defineBuiltInAccessor(IteratorPrototype, key, { + configurable: true, + get: function () { + return value; + }, + set: function (replacement) { + anObject(this); + if (this === IteratorPrototype) throw new $TypeError("You can't redefine this property"); + if (hasOwn(this, key)) this[key] = replacement; + else createProperty(this, key, replacement); + } + }); + } else IteratorPrototype[key] = value; +}; + +if (!hasOwn(IteratorPrototype, TO_STRING_TAG)) defineIteratorPrototypeAccessor(TO_STRING_TAG, ITERATOR); + +if (FORCED || !hasOwn(IteratorPrototype, CONSTRUCTOR) || IteratorPrototype[CONSTRUCTOR] === Object) { + defineIteratorPrototypeAccessor(CONSTRUCTOR, IteratorConstructor); +} + +IteratorConstructor.prototype = IteratorPrototype; + +// `Iterator` constructor +// https://tc39.es/ecma262/#sec-iterator +$({ global: true, constructor: true, forced: FORCED }, { + Iterator: IteratorConstructor +}); + + +/***/ }), +/* 251 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var notANaN = __webpack_require__(253); +var toPositiveInteger = __webpack_require__(254); +var createIteratorProxy = __webpack_require__(255); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var next = this.next; + var result, done; + while (this.remaining) { + this.remaining--; + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (done) return; + } + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (!done) return result.value; +}); + +// `Iterator.prototype.drop` method +// https://tc39.es/ecma262/#sec-iterator.prototype.drop +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + drop: function drop(limit) { + anObject(this); + var remaining = toPositiveInteger(notANaN(+limit)); + return new IteratorProxy(getIteratorDirect(this), { + remaining: remaining + }); + } +}); + + +/***/ }), +/* 252 */ +/***/ (function(module) { + + +// `GetIteratorDirect(obj)` abstract operation +// https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect +module.exports = function (obj) { + return { + iterator: obj, + next: obj.next, + done: false + }; +}; + + +/***/ }), +/* 253 */ +/***/ (function(module) { + + +var $RangeError = RangeError; + +module.exports = function (it) { + // eslint-disable-next-line no-self-compare -- NaN check + if (it === it) return it; + throw new $RangeError('NaN is not allowed'); +}; + + +/***/ }), +/* 254 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var $RangeError = RangeError; + +module.exports = function (it) { + var result = toIntegerOrInfinity(it); + if (result < 0) throw new $RangeError("The argument can't be less than 0"); + return result; +}; + + +/***/ }), +/* 255 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var create = __webpack_require__(71); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIns = __webpack_require__(210); +var wellKnownSymbol = __webpack_require__(33); +var InternalStateModule = __webpack_require__(51); +var getMethod = __webpack_require__(29); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var createIterResultObject = __webpack_require__(172); +var iteratorClose = __webpack_require__(135); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var ITERATOR_HELPER = 'IteratorHelper'; +var WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator'; +var setInternalState = InternalStateModule.set; + +var createIteratorProxyPrototype = function (IS_ITERATOR) { + var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER); + + return defineBuiltIns(create(IteratorPrototype), { + next: function next() { + var state = getInternalState(this); + // for simplification: + // for `%WrapForValidIteratorPrototype%.next` our `nextHandler` returns `IterResultObject` + // for `%IteratorHelperPrototype%.next` - just a value + if (IS_ITERATOR) return state.nextHandler(); + try { + var result = state.done ? undefined : state.nextHandler(); + return createIterResultObject(result, state.done); + } catch (error) { + state.done = true; + throw error; + } + }, + 'return': function () { + var state = getInternalState(this); + var iterator = state.iterator; + state.done = true; + if (IS_ITERATOR) { + var returnMethod = getMethod(iterator, 'return'); + return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true); + } + if (state.inner) try { + iteratorClose(state.inner.iterator, 'normal'); + } catch (error) { + return iteratorClose(iterator, 'throw', error); + } + if (iterator) iteratorClose(iterator, 'normal'); + return createIterResultObject(undefined, true); + } + }); +}; + +var WrapForValidIteratorPrototype = createIteratorProxyPrototype(true); +var IteratorHelperPrototype = createIteratorProxyPrototype(false); + +createNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper'); + +module.exports = function (nextHandler, IS_ITERATOR) { + var IteratorProxy = function Iterator(record, state) { + if (state) { + state.iterator = record.iterator; + state.next = record.next; + } else state = record; + state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER; + state.nextHandler = nextHandler; + state.counter = 0; + state.done = false; + setInternalState(this, state); + }; + + IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype; + + return IteratorProxy; +}; + + +/***/ }), +/* 256 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.every` method +// https://tc39.es/ecma262/#sec-iterator.prototype.every +$({ target: 'Iterator', proto: true, real: true }, { + every: function every(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return !iterate(record, function (value, stop) { + if (!predicate(value, counter++)) return stop(); + }, { IS_RECORD: true, INTERRUPTED: true }).stopped; + } +}); + + +/***/ }), +/* 257 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var createIteratorProxy = __webpack_require__(255); +var callWithSafeIterationClosing = __webpack_require__(163); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var predicate = this.predicate; + var next = this.next; + var result, done, value; + while (true) { + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (done) return; + value = result.value; + if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) return value; + } +}); + +// `Iterator.prototype.filter` method +// https://tc39.es/ecma262/#sec-iterator.prototype.filter +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + filter: function filter(predicate) { + anObject(this); + aCallable(predicate); + return new IteratorProxy(getIteratorDirect(this), { + predicate: predicate + }); + } +}); + + +/***/ }), +/* 258 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.find` method +// https://tc39.es/ecma262/#sec-iterator.prototype.find +$({ target: 'Iterator', proto: true, real: true }, { + find: function find(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return iterate(record, function (value, stop) { + if (predicate(value, counter++)) return stop(value); + }, { IS_RECORD: true, INTERRUPTED: true }).result; + } +}); + + +/***/ }), +/* 259 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var getIteratorFlattenable = __webpack_require__(260); +var createIteratorProxy = __webpack_require__(255); +var iteratorClose = __webpack_require__(135); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var mapper = this.mapper; + var result, inner; + + while (true) { + if (inner = this.inner) try { + result = anObject(call(inner.next, inner.iterator)); + if (!result.done) return result.value; + this.inner = null; + } catch (error) { iteratorClose(iterator, 'throw', error); } + + result = anObject(call(this.next, iterator)); + + if (this.done = !!result.done) return; + + try { + this.inner = getIteratorFlattenable(mapper(result.value, this.counter++), false); + } catch (error) { iteratorClose(iterator, 'throw', error); } + } +}); + +// `Iterator.prototype.flatMap` method +// https://tc39.es/ecma262/#sec-iterator.prototype.flatmap +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + flatMap: function flatMap(mapper) { + anObject(this); + aCallable(mapper); + return new IteratorProxy(getIteratorDirect(this), { + mapper: mapper, + inner: null + }); + } +}); + + +/***/ }), +/* 260 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var getIteratorMethod = __webpack_require__(134); + +module.exports = function (obj, stringHandling) { + if (!stringHandling || typeof obj !== 'string') anObject(obj); + var method = getIteratorMethod(obj); + return getIteratorDirect(anObject(method !== undefined ? call(method, obj) : obj)); +}; + + +/***/ }), +/* 261 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.forEach` method +// https://tc39.es/ecma262/#sec-iterator.prototype.foreach +$({ target: 'Iterator', proto: true, real: true }, { + forEach: function forEach(fn) { + anObject(this); + aCallable(fn); + var record = getIteratorDirect(this); + var counter = 0; + iterate(record, function (value) { + fn(value, counter++); + }, { IS_RECORD: true }); + } +}); + + +/***/ }), +/* 262 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var toObject = __webpack_require__(39); +var isPrototypeOf = __webpack_require__(24); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var createIteratorProxy = __webpack_require__(255); +var getIteratorFlattenable = __webpack_require__(260); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + return call(this.next, this.iterator); +}, true); + +// `Iterator.from` method +// https://tc39.es/ecma262/#sec-iterator.from +$({ target: 'Iterator', stat: true, forced: IS_PURE }, { + from: function from(O) { + var iteratorRecord = getIteratorFlattenable(typeof O == 'string' ? toObject(O) : O, true); + return isPrototypeOf(IteratorPrototype, iteratorRecord.iterator) + ? iteratorRecord.iterator + : new IteratorProxy(iteratorRecord); + } +}); + + +/***/ }), +/* 263 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var map = __webpack_require__(264); +var IS_PURE = __webpack_require__(36); + +// `Iterator.prototype.map` method +// https://tc39.es/ecma262/#sec-iterator.prototype.map +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + map: map +}); + + +/***/ }), +/* 264 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var createIteratorProxy = __webpack_require__(255); +var callWithSafeIterationClosing = __webpack_require__(163); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var result = anObject(call(this.next, iterator)); + var done = this.done = !!result.done; + if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true); +}); + +// `Iterator.prototype.map` method +// https://github.com/tc39/proposal-iterator-helpers +module.exports = function map(mapper) { + anObject(this); + aCallable(mapper); + return new IteratorProxy(getIteratorDirect(this), { + mapper: mapper + }); +}; + + +/***/ }), +/* 265 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +var $TypeError = TypeError; + +// `Iterator.prototype.reduce` method +// https://tc39.es/ecma262/#sec-iterator.prototype.reduce +$({ target: 'Iterator', proto: true, real: true }, { + reduce: function reduce(reducer /* , initialValue */) { + anObject(this); + aCallable(reducer); + var record = getIteratorDirect(this); + var noInitial = arguments.length < 2; + var accumulator = noInitial ? undefined : arguments[1]; + var counter = 0; + iterate(record, function (value) { + if (noInitial) { + noInitial = false; + accumulator = value; + } else { + accumulator = reducer(accumulator, value, counter); + } + counter++; + }, { IS_RECORD: true }); + if (noInitial) throw new $TypeError('Reduce of empty iterator with no initial value'); + return accumulator; + } +}); + + +/***/ }), +/* 266 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.some` method +// https://tc39.es/ecma262/#sec-iterator.prototype.some +$({ target: 'Iterator', proto: true, real: true }, { + some: function some(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return iterate(record, function (value, stop) { + if (predicate(value, counter++)) return stop(); + }, { IS_RECORD: true, INTERRUPTED: true }).stopped; + } +}); + + +/***/ }), +/* 267 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var notANaN = __webpack_require__(253); +var toPositiveInteger = __webpack_require__(254); +var createIteratorProxy = __webpack_require__(255); +var iteratorClose = __webpack_require__(135); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + if (!this.remaining--) { + this.done = true; + return iteratorClose(iterator, 'normal', undefined); + } + var result = anObject(call(this.next, iterator)); + var done = this.done = !!result.done; + if (!done) return result.value; +}); + +// `Iterator.prototype.take` method +// https://tc39.es/ecma262/#sec-iterator.prototype.take +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + take: function take(limit) { + anObject(this); + var remaining = toPositiveInteger(notANaN(+limit)); + return new IteratorProxy(getIteratorDirect(this), { + remaining: remaining + }); + } +}); + + +/***/ }), +/* 268 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var iterate = __webpack_require__(130); +var getIteratorDirect = __webpack_require__(252); + +var push = [].push; + +// `Iterator.prototype.toArray` method +// https://tc39.es/ecma262/#sec-iterator.prototype.toarray +$({ target: 'Iterator', proto: true, real: true }, { + toArray: function toArray() { + var result = []; + iterate(getIteratorDirect(anObject(this)), push, { that: result, IS_RECORD: true }); + return result; + } +}); + + +/***/ }), +/* 269 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var setToStringTag = __webpack_require__(82); + +// JSON[@@toStringTag] property +// https://tc39.es/ecma262/#sec-json-@@tostringtag +setToStringTag(globalThis.JSON, 'JSON', true); + + +/***/ }), +/* 270 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(271); + + +/***/ }), +/* 271 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionStrong = __webpack_require__(277); + +// `Map` constructor +// https://tc39.es/ecma262/#sec-map-objects +collection('Map', function (init) { + return function Map() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + + +/***/ }), +/* 272 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var defineBuiltIn = __webpack_require__(47); +var InternalMetadataModule = __webpack_require__(273); +var iterate = __webpack_require__(130); +var anInstance = __webpack_require__(211); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var fails = __webpack_require__(7); +var checkCorrectnessOfIteration = __webpack_require__(164); +var setToStringTag = __webpack_require__(82); +var inheritIfRequired = __webpack_require__(118); + +module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { + var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; + var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; + var ADDER = IS_MAP ? 'set' : 'add'; + var NativeConstructor = globalThis[CONSTRUCTOR_NAME]; + var NativePrototype = NativeConstructor && NativeConstructor.prototype; + var Constructor = NativeConstructor; + var exported = {}; + + var fixMethod = function (KEY) { + var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]); + defineBuiltIn(NativePrototype, KEY, + KEY === 'add' ? function add(value) { + uncurriedNativeMethod(this, value === 0 ? 0 : value); + return this; + } : KEY === 'delete' ? function (key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY === 'get' ? function get(key) { + return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY === 'has' ? function has(key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : function set(key, value) { + uncurriedNativeMethod(this, key === 0 ? 0 : key, value); + return this; + } + ); + }; + + var REPLACE = isForced( + CONSTRUCTOR_NAME, + !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () { + new NativeConstructor().entries().next(); + })) + ); + + if (REPLACE) { + // create collection constructor + Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); + InternalMetadataModule.enable(); + } else if (isForced(CONSTRUCTOR_NAME, true)) { + var instance = new Constructor(); + // early implementations not supports chaining + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance; + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); + // most early implementations doesn't supports iterables, most modern - not close it correctly + // eslint-disable-next-line no-new -- required for testing + var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); }); + // for early implementations -0 and +0 not the same + var BUGGY_ZERO = !IS_WEAK && fails(function () { + // V8 ~ Chromium 42- fails only with 5+ elements + var $instance = new NativeConstructor(); + var index = 5; + while (index--) $instance[ADDER](index, index); + return !$instance.has(-0); + }); + + if (!ACCEPT_ITERABLES) { + Constructor = wrapper(function (dummy, iterable) { + anInstance(dummy, NativePrototype); + var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + return that; + }); + Constructor.prototype = NativePrototype; + NativePrototype.constructor = Constructor; + } + + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + + if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); + + // weak collections should not contains .clear method + if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear; + } + + exported[CONSTRUCTOR_NAME] = Constructor; + $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported); + + setToStringTag(Constructor, CONSTRUCTOR_NAME); + + if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); + + return Constructor; +}; + + +/***/ }), +/* 273 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var hiddenKeys = __webpack_require__(54); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var defineProperty = (__webpack_require__(44).f); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertyNamesExternalModule = __webpack_require__(75); +var isExtensible = __webpack_require__(274); +var uid = __webpack_require__(40); +var FREEZING = __webpack_require__(276); + +var REQUIRED = false; +var METADATA = uid('meta'); +var id = 0; + +var setMetadata = function (it) { + defineProperty(it, METADATA, { value: { + objectID: 'O' + id++, // object ID + weakData: {} // weak collections IDs + } }); +}; + +var fastKey = function (it, create) { + // return a primitive with prefix + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!hasOwn(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMetadata(it); + // return object ID + } return it[METADATA].objectID; +}; + +var getWeakData = function (it, create) { + if (!hasOwn(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMetadata(it); + // return the store of weak collections IDs + } return it[METADATA].weakData; +}; + +// add metadata on freeze-family methods calling +var onFreeze = function (it) { + if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it); + return it; +}; + +var enable = function () { + meta.enable = function () { /* empty */ }; + REQUIRED = true; + var getOwnPropertyNames = getOwnPropertyNamesModule.f; + var splice = uncurryThis([].splice); + var test = {}; + test[METADATA] = 1; + + // prevent exposing of metadata key + if (getOwnPropertyNames(test).length) { + getOwnPropertyNamesModule.f = function (it) { + var result = getOwnPropertyNames(it); + for (var i = 0, length = result.length; i < length; i++) { + if (result[i] === METADATA) { + splice(result, i, 1); + break; + } + } return result; + }; + + $({ target: 'Object', stat: true, forced: true }, { + getOwnPropertyNames: getOwnPropertyNamesExternalModule.f + }); + } +}; + +var meta = module.exports = { + enable: enable, + fastKey: fastKey, + getWeakData: getWeakData, + onFreeze: onFreeze +}; + +hiddenKeys[METADATA] = true; + + +/***/ }), +/* 274 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-isextensible -- safe +var $isExtensible = Object.isExtensible; +var FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); }); + +// `Object.isExtensible` method +// https://tc39.es/ecma262/#sec-object.isextensible +module.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) { + if (!isObject(it)) return false; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false; + return $isExtensible ? $isExtensible(it) : true; +} : $isExtensible; + + +/***/ }), +/* 275 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it +var fails = __webpack_require__(7); + +module.exports = fails(function () { + if (typeof ArrayBuffer == 'function') { + var buffer = new ArrayBuffer(8); + // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe + if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 }); + } +}); + + +/***/ }), +/* 276 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing + return Object.isExtensible(Object.preventExtensions({})); +}); + + +/***/ }), +/* 277 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var create = __webpack_require__(71); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var bind = __webpack_require__(84); +var anInstance = __webpack_require__(211); +var isNullOrUndefined = __webpack_require__(17); +var iterate = __webpack_require__(130); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); +var setSpecies = __webpack_require__(194); +var DESCRIPTORS = __webpack_require__(6); +var fastKey = (__webpack_require__(273).fastKey); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + index: create(null), + first: null, + last: null, + size: 0 + }); + if (!DESCRIPTORS) that.size = 0; + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + }); + + var Prototype = Constructor.prototype; + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var entry = getEntry(that, key); + var previous, index; + // change existing entry + if (entry) { + entry.value = value; + // create new entry + } else { + state.last = entry = { + index: index = fastKey(key, true), + key: key, + value: value, + previous: previous = state.last, + next: null, + removed: false + }; + if (!state.first) state.first = entry; + if (previous) previous.next = entry; + if (DESCRIPTORS) state.size++; + else that.size++; + // add to index + if (index !== 'F') state.index[index] = entry; + } return that; + }; + + var getEntry = function (that, key) { + var state = getInternalState(that); + // fast case + var index = fastKey(key); + var entry; + if (index !== 'F') return state.index[index]; + // frozen object case + for (entry = state.first; entry; entry = entry.next) { + if (entry.key === key) return entry; + } + }; + + defineBuiltIns(Prototype, { + // `{ Map, Set }.prototype.clear()` methods + // https://tc39.es/ecma262/#sec-map.prototype.clear + // https://tc39.es/ecma262/#sec-set.prototype.clear + clear: function clear() { + var that = this; + var state = getInternalState(that); + var entry = state.first; + while (entry) { + entry.removed = true; + if (entry.previous) entry.previous = entry.previous.next = null; + entry = entry.next; + } + state.first = state.last = null; + state.index = create(null); + if (DESCRIPTORS) state.size = 0; + else that.size = 0; + }, + // `{ Map, Set }.prototype.delete(key)` methods + // https://tc39.es/ecma262/#sec-map.prototype.delete + // https://tc39.es/ecma262/#sec-set.prototype.delete + 'delete': function (key) { + var that = this; + var state = getInternalState(that); + var entry = getEntry(that, key); + if (entry) { + var next = entry.next; + var prev = entry.previous; + delete state.index[entry.index]; + entry.removed = true; + if (prev) prev.next = next; + if (next) next.previous = prev; + if (state.first === entry) state.first = next; + if (state.last === entry) state.last = prev; + if (DESCRIPTORS) state.size--; + else that.size--; + } return !!entry; + }, + // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods + // https://tc39.es/ecma262/#sec-map.prototype.foreach + // https://tc39.es/ecma262/#sec-set.prototype.foreach + forEach: function forEach(callbackfn /* , that = undefined */) { + var state = getInternalState(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var entry; + while (entry = entry ? entry.next : state.first) { + boundFunction(entry.value, entry.key, this); + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + } + }, + // `{ Map, Set}.prototype.has(key)` methods + // https://tc39.es/ecma262/#sec-map.prototype.has + // https://tc39.es/ecma262/#sec-set.prototype.has + has: function has(key) { + return !!getEntry(this, key); + } + }); + + defineBuiltIns(Prototype, IS_MAP ? { + // `Map.prototype.get(key)` method + // https://tc39.es/ecma262/#sec-map.prototype.get + get: function get(key) { + var entry = getEntry(this, key); + return entry && entry.value; + }, + // `Map.prototype.set(key, value)` method + // https://tc39.es/ecma262/#sec-map.prototype.set + set: function set(key, value) { + return define(this, key === 0 ? 0 : key, value); + } + } : { + // `Set.prototype.add(value)` method + // https://tc39.es/ecma262/#sec-set.prototype.add + add: function add(value) { + return define(this, value = value === 0 ? 0 : value, value); + } + }); + if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', { + configurable: true, + get: function () { + return getInternalState(this).size; + } + }); + return Constructor; + }, + setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) { + var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; + var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); + var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); + // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods + // https://tc39.es/ecma262/#sec-map.prototype.entries + // https://tc39.es/ecma262/#sec-map.prototype.keys + // https://tc39.es/ecma262/#sec-map.prototype.values + // https://tc39.es/ecma262/#sec-map.prototype-@@iterator + // https://tc39.es/ecma262/#sec-set.prototype.entries + // https://tc39.es/ecma262/#sec-set.prototype.keys + // https://tc39.es/ecma262/#sec-set.prototype.values + // https://tc39.es/ecma262/#sec-set.prototype-@@iterator + defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) { + setInternalState(this, { + type: ITERATOR_NAME, + target: iterated, + state: getInternalCollectionState(iterated), + kind: kind, + last: null + }); + }, function () { + var state = getInternalIteratorState(this); + var kind = state.kind; + var entry = state.last; + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + // get next entry + if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { + // or finish the iteration + state.target = null; + return createIterResultObject(undefined, true); + } + // return step by kind + if (kind === 'keys') return createIterResultObject(entry.key, false); + if (kind === 'values') return createIterResultObject(entry.value, false); + return createIterResultObject([entry.key, entry.value], false); + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // `{ Map, Set }.prototype[@@species]` accessors + // https://tc39.es/ecma262/#sec-get-map-@@species + // https://tc39.es/ecma262/#sec-get-set-@@species + setSpecies(CONSTRUCTOR_NAME); + } +}; + + +/***/ }), +/* 278 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var requireObjectCoercible = __webpack_require__(16); +var iterate = __webpack_require__(130); +var MapHelpers = __webpack_require__(279); +var IS_PURE = __webpack_require__(36); +var fails = __webpack_require__(7); + +var Map = MapHelpers.Map; +var has = MapHelpers.has; +var get = MapHelpers.get; +var set = MapHelpers.set; +var push = uncurryThis([].push); + +var DOES_NOT_WORK_WITH_PRIMITIVES = IS_PURE || fails(function () { + return Map.groupBy('ab', function (it) { + return it; + }).get('a').length !== 1; +}); + +// `Map.groupBy` method +// https://tc39.es/ecma262/#sec-map.groupby +$({ target: 'Map', stat: true, forced: IS_PURE || DOES_NOT_WORK_WITH_PRIMITIVES }, { + groupBy: function groupBy(items, callbackfn) { + requireObjectCoercible(items); + aCallable(callbackfn); + var map = new Map(); + var k = 0; + iterate(items, function (value) { + var key = callbackfn(value, k++); + if (!has(map, key)) set(map, key, [value]); + else push(get(map, key), value); + }); + return map; + } +}); + + +/***/ }), +/* 279 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// eslint-disable-next-line es/no-map -- safe +var MapPrototype = Map.prototype; + +module.exports = { + // eslint-disable-next-line es/no-map -- safe + Map: Map, + set: uncurryThis(MapPrototype.set), + get: uncurryThis(MapPrototype.get), + has: uncurryThis(MapPrototype.has), + remove: uncurryThis(MapPrototype['delete']), + proto: MapPrototype +}; + + +/***/ }), +/* 280 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log1p = __webpack_require__(281); + +// eslint-disable-next-line es/no-math-acosh -- required for testing +var $acosh = Math.acosh; +var log = Math.log; +var sqrt = Math.sqrt; +var LN2 = Math.LN2; + +var FORCED = !$acosh + // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 + || Math.floor($acosh(Number.MAX_VALUE)) !== 710 + // Tor Browser bug: Math.acosh(Infinity) -> NaN + || $acosh(Infinity) !== Infinity; + +// `Math.acosh` method +// https://tc39.es/ecma262/#sec-math.acosh +$({ target: 'Math', stat: true, forced: FORCED }, { + acosh: function acosh(x) { + var n = +x; + return n < 1 ? NaN : n > 94906265.62425156 + ? log(n) + LN2 + : log1p(n - 1 + sqrt(n - 1) * sqrt(n + 1)); + } +}); + + +/***/ }), +/* 281 */ +/***/ (function(module) { + + +var log = Math.log; + +// `Math.log1p` method implementation +// https://tc39.es/ecma262/#sec-math.log1p +// eslint-disable-next-line es/no-math-log1p -- safe +module.exports = Math.log1p || function log1p(x) { + var n = +x; + return n > -1e-8 && n < 1e-8 ? n - n * n / 2 : log(1 + n); +}; + + +/***/ }), +/* 282 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-asinh -- required for testing +var $asinh = Math.asinh; +var log = Math.log; +var sqrt = Math.sqrt; + +function asinh(x) { + var n = +x; + return !isFinite(n) || n === 0 ? n : n < 0 ? -asinh(-n) : log(n + sqrt(n * n + 1)); +} + +var FORCED = !($asinh && 1 / $asinh(0) > 0); + +// `Math.asinh` method +// https://tc39.es/ecma262/#sec-math.asinh +// Tor Browser bug: Math.asinh(0) -> -0 +$({ target: 'Math', stat: true, forced: FORCED }, { + asinh: asinh +}); + + +/***/ }), +/* 283 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-atanh -- required for testing +var $atanh = Math.atanh; +var log = Math.log; + +var FORCED = !($atanh && 1 / $atanh(-0) < 0); + +// `Math.atanh` method +// https://tc39.es/ecma262/#sec-math.atanh +// Tor Browser bug: Math.atanh(-0) -> 0 +$({ target: 'Math', stat: true, forced: FORCED }, { + atanh: function atanh(x) { + var n = +x; + return n === 0 ? n : log((1 + n) / (1 - n)) / 2; + } +}); + + +/***/ }), +/* 284 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var sign = __webpack_require__(215); + +var abs = Math.abs; +var pow = Math.pow; + +// `Math.cbrt` method +// https://tc39.es/ecma262/#sec-math.cbrt +$({ target: 'Math', stat: true }, { + cbrt: function cbrt(x) { + var n = +x; + return sign(n) * pow(abs(n), 1 / 3); + } +}); + + +/***/ }), +/* 285 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +var floor = Math.floor; +var log = Math.log; +var LOG2E = Math.LOG2E; + +// `Math.clz32` method +// https://tc39.es/ecma262/#sec-math.clz32 +$({ target: 'Math', stat: true }, { + clz32: function clz32(x) { + var n = x >>> 0; + return n ? 31 - floor(log(n + 0.5) * LOG2E) : 32; + } +}); + + +/***/ }), +/* 286 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +// eslint-disable-next-line es/no-math-cosh -- required for testing +var $cosh = Math.cosh; +var abs = Math.abs; +var E = Math.E; + +var FORCED = !$cosh || $cosh(710) === Infinity; + +// `Math.cosh` method +// https://tc39.es/ecma262/#sec-math.cosh +$({ target: 'Math', stat: true, forced: FORCED }, { + cosh: function cosh(x) { + var t = expm1(abs(x) - 1) + 1; + return (t + 1 / (t * E * E)) * (E / 2); + } +}); + + +/***/ }), +/* 287 */ +/***/ (function(module) { + + +// eslint-disable-next-line es/no-math-expm1 -- safe +var $expm1 = Math.expm1; +var exp = Math.exp; + +// `Math.expm1` method implementation +// https://tc39.es/ecma262/#sec-math.expm1 +module.exports = (!$expm1 + // Old FF bug + // eslint-disable-next-line no-loss-of-precision -- required for old engines + || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 + // Tor Browser bug + || $expm1(-2e-17) !== -2e-17 +) ? function expm1(x) { + var n = +x; + return n === 0 ? n : n > -1e-6 && n < 1e-6 ? n + n * n / 2 : exp(n) - 1; +} : $expm1; + + +/***/ }), +/* 288 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +// `Math.expm1` method +// https://tc39.es/ecma262/#sec-math.expm1 +// eslint-disable-next-line es/no-math-expm1 -- required for testing +$({ target: 'Math', stat: true, forced: expm1 !== Math.expm1 }, { expm1: expm1 }); + + +/***/ }), +/* 289 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fround = __webpack_require__(213); + +// `Math.fround` method +// https://tc39.es/ecma262/#sec-math.fround +$({ target: 'Math', stat: true }, { fround: fround }); + + +/***/ }), +/* 290 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-hypot -- required for testing +var $hypot = Math.hypot; +var abs = Math.abs; +var sqrt = Math.sqrt; + +// Chrome 77 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=9546 +var FORCED = !!$hypot && $hypot(Infinity, NaN) !== Infinity; + +// `Math.hypot` method +// https://tc39.es/ecma262/#sec-math.hypot +$({ target: 'Math', stat: true, arity: 2, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + hypot: function hypot(value1, value2) { + var sum = 0; + var i = 0; + var aLen = arguments.length; + var larg = 0; + var arg, div; + while (i < aLen) { + arg = abs(arguments[i++]); + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; + larg = arg; + } else if (arg > 0) { + div = arg / larg; + sum += div * div; + } else sum += arg; + } + return larg === Infinity ? Infinity : larg * sqrt(sum); + } +}); + + +/***/ }), +/* 291 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-math-imul -- required for testing +var $imul = Math.imul; + +var FORCED = fails(function () { + return $imul(0xFFFFFFFF, 5) !== -5 || $imul.length !== 2; +}); + +// `Math.imul` method +// https://tc39.es/ecma262/#sec-math.imul +// some WebKit versions fails with big numbers, some has wrong arity +$({ target: 'Math', stat: true, forced: FORCED }, { + imul: function imul(x, y) { + var UINT16 = 0xFFFF; + var xn = +x; + var yn = +y; + var xl = UINT16 & xn; + var yl = UINT16 & yn; + return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); + } +}); + + +/***/ }), +/* 292 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log10 = __webpack_require__(293); + +// `Math.log10` method +// https://tc39.es/ecma262/#sec-math.log10 +$({ target: 'Math', stat: true }, { + log10: log10 +}); + + +/***/ }), +/* 293 */ +/***/ (function(module) { + + +var log = Math.log; +var LOG10E = Math.LOG10E; + +// eslint-disable-next-line es/no-math-log10 -- safe +module.exports = Math.log10 || function log10(x) { + return log(x) * LOG10E; +}; + + +/***/ }), +/* 294 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log1p = __webpack_require__(281); + +// `Math.log1p` method +// https://tc39.es/ecma262/#sec-math.log1p +$({ target: 'Math', stat: true }, { log1p: log1p }); + + +/***/ }), +/* 295 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +var log = Math.log; +var LN2 = Math.LN2; + +// `Math.log2` method +// https://tc39.es/ecma262/#sec-math.log2 +$({ target: 'Math', stat: true }, { + log2: function log2(x) { + return log(x) / LN2; + } +}); + + +/***/ }), +/* 296 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var sign = __webpack_require__(215); + +// `Math.sign` method +// https://tc39.es/ecma262/#sec-math.sign +$({ target: 'Math', stat: true }, { + sign: sign +}); + + +/***/ }), +/* 297 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var expm1 = __webpack_require__(287); + +var abs = Math.abs; +var exp = Math.exp; +var E = Math.E; + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-math-sinh -- required for testing + return Math.sinh(-2e-17) !== -2e-17; +}); + +// `Math.sinh` method +// https://tc39.es/ecma262/#sec-math.sinh +// V8 near Chromium 38 has a problem with very small numbers +$({ target: 'Math', stat: true, forced: FORCED }, { + sinh: function sinh(x) { + var n = +x; + return abs(n) < 1 ? (expm1(n) - expm1(-n)) / 2 : (exp(n - 1) - exp(-n - 1)) * (E / 2); + } +}); + + +/***/ }), +/* 298 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +var exp = Math.exp; + +// `Math.tanh` method +// https://tc39.es/ecma262/#sec-math.tanh +$({ target: 'Math', stat: true }, { + tanh: function tanh(x) { + var n = +x; + var a = expm1(n); + var b = expm1(-n); + return a === Infinity ? 1 : b === Infinity ? -1 : (a - b) / (exp(n) + exp(-n)); + } +}); + + +/***/ }), +/* 299 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var setToStringTag = __webpack_require__(82); + +// Math[@@toStringTag] property +// https://tc39.es/ecma262/#sec-math-@@tostringtag +setToStringTag(Math, 'Math', true); + + +/***/ }), +/* 300 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trunc = __webpack_require__(62); + +// `Math.trunc` method +// https://tc39.es/ecma262/#sec-math.trunc +$({ target: 'Math', stat: true }, { + trunc: trunc +}); + + +/***/ }), +/* 301 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var path = __webpack_require__(80); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var hasOwn = __webpack_require__(38); +var inheritIfRequired = __webpack_require__(118); +var isPrototypeOf = __webpack_require__(24); +var isSymbol = __webpack_require__(22); +var toPrimitive = __webpack_require__(19); +var fails = __webpack_require__(7); +var getOwnPropertyNames = (__webpack_require__(57).f); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var defineProperty = (__webpack_require__(44).f); +var thisNumberValue = __webpack_require__(302); +var trim = (__webpack_require__(303).trim); + +var NUMBER = 'Number'; +var NativeNumber = globalThis[NUMBER]; +var PureNumberNamespace = path[NUMBER]; +var NumberPrototype = NativeNumber.prototype; +var TypeError = globalThis.TypeError; +var stringSlice = uncurryThis(''.slice); +var charCodeAt = uncurryThis(''.charCodeAt); + +// `ToNumeric` abstract operation +// https://tc39.es/ecma262/#sec-tonumeric +var toNumeric = function (value) { + var primValue = toPrimitive(value, 'number'); + return typeof primValue == 'bigint' ? primValue : toNumber(primValue); +}; + +// `ToNumber` abstract operation +// https://tc39.es/ecma262/#sec-tonumber +var toNumber = function (argument) { + var it = toPrimitive(argument, 'number'); + var first, third, radix, maxCode, digits, length, index, code; + if (isSymbol(it)) throw new TypeError('Cannot convert a Symbol value to a number'); + if (typeof it == 'string' && it.length > 2) { + it = trim(it); + first = charCodeAt(it, 0); + if (first === 43 || first === 45) { + third = charCodeAt(it, 2); + if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if (first === 48) { + switch (charCodeAt(it, 1)) { + // fast equal of /^0b[01]+$/i + case 66: + case 98: + radix = 2; + maxCode = 49; + break; + // fast equal of /^0o[0-7]+$/i + case 79: + case 111: + radix = 8; + maxCode = 55; + break; + default: + return +it; + } + digits = stringSlice(it, 2); + length = digits.length; + for (index = 0; index < length; index++) { + code = charCodeAt(digits, index); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if (code < 48 || code > maxCode) return NaN; + } return parseInt(digits, radix); + } + } return +it; +}; + +var FORCED = isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1')); + +var calledWithNew = function (dummy) { + // includes check on 1..constructor(foo) case + return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); }); +}; + +// `Number` constructor +// https://tc39.es/ecma262/#sec-number-constructor +var NumberWrapper = function Number(value) { + var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value)); + return calledWithNew(this) ? inheritIfRequired(Object(n), this, NumberWrapper) : n; +}; + +NumberWrapper.prototype = NumberPrototype; +if (FORCED && !IS_PURE) NumberPrototype.constructor = NumberWrapper; + +$({ global: true, constructor: true, wrap: true, forced: FORCED }, { + Number: NumberWrapper +}); + +// Use `internal/copy-constructor-properties` helper in `core-js@4` +var copyConstructorProperties = function (target, source) { + for (var keys = DESCRIPTORS ? getOwnPropertyNames(source) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES2015 (in case, if modules with ES2015 Number statics required before): + 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' + + // ESNext + 'fromString,range' + ).split(','), j = 0, key; keys.length > j; j++) { + if (hasOwn(source, key = keys[j]) && !hasOwn(target, key)) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + +if (IS_PURE && PureNumberNamespace) copyConstructorProperties(path[NUMBER], PureNumberNamespace); +if (FORCED || IS_PURE) copyConstructorProperties(path[NUMBER], NativeNumber); + + +/***/ }), +/* 302 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// `thisNumberValue` abstract operation +// https://tc39.es/ecma262/#sec-thisnumbervalue +module.exports = uncurryThis(1.0.valueOf); + + +/***/ }), +/* 303 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var whitespaces = __webpack_require__(304); + +var replace = uncurryThis(''.replace); +var ltrim = RegExp('^[' + whitespaces + ']+'); +var rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$'); + +// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation +var createMethod = function (TYPE) { + return function ($this) { + var string = toString(requireObjectCoercible($this)); + if (TYPE & 1) string = replace(string, ltrim, ''); + if (TYPE & 2) string = replace(string, rtrim, '$1'); + return string; + }; +}; + +module.exports = { + // `String.prototype.{ trimLeft, trimStart }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimstart + start: createMethod(1), + // `String.prototype.{ trimRight, trimEnd }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimend + end: createMethod(2), + // `String.prototype.trim` method + // https://tc39.es/ecma262/#sec-string.prototype.trim + trim: createMethod(3) +}; + + +/***/ }), +/* 304 */ +/***/ (function(module) { + + +// a string of all valid unicode whitespaces +module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' + + '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + + +/***/ }), +/* 305 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.EPSILON` constant +// https://tc39.es/ecma262/#sec-number.epsilon +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + EPSILON: Math.pow(2, -52) +}); + + +/***/ }), +/* 306 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var numberIsFinite = __webpack_require__(307); + +// `Number.isFinite` method +// https://tc39.es/ecma262/#sec-number.isfinite +$({ target: 'Number', stat: true }, { isFinite: numberIsFinite }); + + +/***/ }), +/* 307 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +var globalIsFinite = globalThis.isFinite; + +// `Number.isFinite` method +// https://tc39.es/ecma262/#sec-number.isfinite +// eslint-disable-next-line es/no-number-isfinite -- safe +module.exports = Number.isFinite || function isFinite(it) { + return typeof it == 'number' && globalIsFinite(it); +}; + + +/***/ }), +/* 308 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isIntegralNumber = __webpack_require__(309); + +// `Number.isInteger` method +// https://tc39.es/ecma262/#sec-number.isinteger +$({ target: 'Number', stat: true }, { + isInteger: isIntegralNumber +}); + + +/***/ }), +/* 309 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +var floor = Math.floor; + +// `IsIntegralNumber` abstract operation +// https://tc39.es/ecma262/#sec-isintegralnumber +// eslint-disable-next-line es/no-number-isinteger -- safe +module.exports = Number.isInteger || function isInteger(it) { + return !isObject(it) && isFinite(it) && floor(it) === it; +}; + + +/***/ }), +/* 310 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.isNaN` method +// https://tc39.es/ecma262/#sec-number.isnan +$({ target: 'Number', stat: true }, { + isNaN: function isNaN(number) { + // eslint-disable-next-line no-self-compare -- NaN check + return number !== number; + } +}); + + +/***/ }), +/* 311 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isIntegralNumber = __webpack_require__(309); + +var abs = Math.abs; + +// `Number.isSafeInteger` method +// https://tc39.es/ecma262/#sec-number.issafeinteger +$({ target: 'Number', stat: true }, { + isSafeInteger: function isSafeInteger(number) { + return isIntegralNumber(number) && abs(number) <= 0x1FFFFFFFFFFFFF; + } +}); + + +/***/ }), +/* 312 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.MAX_SAFE_INTEGER` constant +// https://tc39.es/ecma262/#sec-number.max_safe_integer +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF +}); + + +/***/ }), +/* 313 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.MIN_SAFE_INTEGER` constant +// https://tc39.es/ecma262/#sec-number.min_safe_integer +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF +}); + + +/***/ }), +/* 314 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var parseFloat = __webpack_require__(315); + +// `Number.parseFloat` method +// https://tc39.es/ecma262/#sec-number.parseFloat +// eslint-disable-next-line es/no-number-parsefloat -- required for testing +$({ target: 'Number', stat: true, forced: Number.parseFloat !== parseFloat }, { + parseFloat: parseFloat +}); + + +/***/ }), +/* 315 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var trim = (__webpack_require__(303).trim); +var whitespaces = __webpack_require__(304); + +var charAt = uncurryThis(''.charAt); +var $parseFloat = globalThis.parseFloat; +var Symbol = globalThis.Symbol; +var ITERATOR = Symbol && Symbol.iterator; +var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity + // MS Edge 18- broken with boxed symbols + || (ITERATOR && !fails(function () { $parseFloat(Object(ITERATOR)); })); + +// `parseFloat` method +// https://tc39.es/ecma262/#sec-parsefloat-string +module.exports = FORCED ? function parseFloat(string) { + var trimmedString = trim(toString(string)); + var result = $parseFloat(trimmedString); + return result === 0 && charAt(trimmedString, 0) === '-' ? -0 : result; +} : $parseFloat; + + +/***/ }), +/* 316 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var parseInt = __webpack_require__(317); + +// `Number.parseInt` method +// https://tc39.es/ecma262/#sec-number.parseint +// eslint-disable-next-line es/no-number-parseint -- required for testing +$({ target: 'Number', stat: true, forced: Number.parseInt !== parseInt }, { + parseInt: parseInt +}); + + +/***/ }), +/* 317 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var trim = (__webpack_require__(303).trim); +var whitespaces = __webpack_require__(304); + +var $parseInt = globalThis.parseInt; +var Symbol = globalThis.Symbol; +var ITERATOR = Symbol && Symbol.iterator; +var hex = /^[+-]?0x/i; +var exec = uncurryThis(hex.exec); +var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22 + // MS Edge 18- broken with boxed symbols + || (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); })); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +module.exports = FORCED ? function parseInt(string, radix) { + var S = trim(toString(string)); + return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10)); +} : $parseInt; + + +/***/ }), +/* 318 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var thisNumberValue = __webpack_require__(302); +var $repeat = __webpack_require__(239); +var log10 = __webpack_require__(293); +var fails = __webpack_require__(7); + +var $RangeError = RangeError; +var $String = String; +var $isFinite = isFinite; +var abs = Math.abs; +var floor = Math.floor; +var pow = Math.pow; +var round = Math.round; +var nativeToExponential = uncurryThis(1.0.toExponential); +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); + +// Edge 17- +var ROUNDS_PROPERLY = nativeToExponential(-6.9e-11, 4) === '-6.9000e-11' + // IE11- && Edge 14- + && nativeToExponential(1.255, 2) === '1.25e+0' + // FF86-, V8 ~ Chrome 49-50 + && nativeToExponential(12345, 3) === '1.235e+4' + // FF86-, V8 ~ Chrome 49-50 + && nativeToExponential(25, 0) === '3e+1'; + +// IE8- +var throwsOnInfinityFraction = function () { + return fails(function () { + nativeToExponential(1, Infinity); + }) && fails(function () { + nativeToExponential(1, -Infinity); + }); +}; + +// Safari <11 && FF <50 +var properNonFiniteThisCheck = function () { + return !fails(function () { + nativeToExponential(Infinity, Infinity); + nativeToExponential(NaN, Infinity); + }); +}; + +var FORCED = !ROUNDS_PROPERLY || !throwsOnInfinityFraction() || !properNonFiniteThisCheck(); + +// `Number.prototype.toExponential` method +// https://tc39.es/ecma262/#sec-number.prototype.toexponential +$({ target: 'Number', proto: true, forced: FORCED }, { + toExponential: function toExponential(fractionDigits) { + var x = thisNumberValue(this); + if (fractionDigits === undefined) return nativeToExponential(x); + var f = toIntegerOrInfinity(fractionDigits); + if (!$isFinite(x)) return String(x); + // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation + if (f < 0 || f > 20) throw new $RangeError('Incorrect fraction digits'); + if (ROUNDS_PROPERLY) return nativeToExponential(x, f); + var s = ''; + var m, e, c, d; + if (x < 0) { + s = '-'; + x = -x; + } + if (x === 0) { + e = 0; + m = repeat('0', f + 1); + } else { + // this block is based on https://gist.github.com/SheetJSDev/1100ad56b9f856c95299ed0e068eea08 + // TODO: improve accuracy with big fraction digits + var l = log10(x); + e = floor(l); + var w = pow(10, e - f); + var n = round(x / w); + if (2 * x >= (2 * n + 1) * w) { + n += 1; + } + if (n >= pow(10, f + 1)) { + n /= 10; + e += 1; + } + m = $String(n); + } + if (f !== 0) { + m = stringSlice(m, 0, 1) + '.' + stringSlice(m, 1); + } + if (e === 0) { + c = '+'; + d = '0'; + } else { + c = e > 0 ? '+' : '-'; + d = $String(abs(e)); + } + m += 'e' + c + d; + return s + m; + } +}); + + +/***/ }), +/* 319 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var thisNumberValue = __webpack_require__(302); +var $repeat = __webpack_require__(239); +var fails = __webpack_require__(7); + +var $RangeError = RangeError; +var $String = String; +var floor = Math.floor; +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); +var nativeToFixed = uncurryThis(1.0.toFixed); + +var pow = function (x, n, acc) { + return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); +}; + +var log = function (x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + } return n; +}; + +var multiply = function (data, n, c) { + var index = -1; + var c2 = c; + while (++index < 6) { + c2 += n * data[index]; + data[index] = c2 % 1e7; + c2 = floor(c2 / 1e7); + } +}; + +var divide = function (data, n) { + var index = 6; + var c = 0; + while (--index >= 0) { + c += data[index]; + data[index] = floor(c / n); + c = (c % n) * 1e7; + } +}; + +var dataToString = function (data) { + var index = 6; + var s = ''; + while (--index >= 0) { + if (s !== '' || index === 0 || data[index] !== 0) { + var t = $String(data[index]); + s = s === '' ? t : s + repeat('0', 7 - t.length) + t; + } + } return s; +}; + +var FORCED = fails(function () { + return nativeToFixed(0.00008, 3) !== '0.000' || + nativeToFixed(0.9, 0) !== '1' || + nativeToFixed(1.255, 2) !== '1.25' || + nativeToFixed(1000000000000000128.0, 0) !== '1000000000000000128'; +}) || !fails(function () { + // V8 ~ Android 4.3- + nativeToFixed({}); +}); + +// `Number.prototype.toFixed` method +// https://tc39.es/ecma262/#sec-number.prototype.tofixed +$({ target: 'Number', proto: true, forced: FORCED }, { + toFixed: function toFixed(fractionDigits) { + var number = thisNumberValue(this); + var fractDigits = toIntegerOrInfinity(fractionDigits); + var data = [0, 0, 0, 0, 0, 0]; + var sign = ''; + var result = '0'; + var e, z, j, k; + + // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation + if (fractDigits < 0 || fractDigits > 20) throw new $RangeError('Incorrect fraction digits'); + // eslint-disable-next-line no-self-compare -- NaN check + if (number !== number) return 'NaN'; + if (number <= -1e21 || number >= 1e21) return $String(number); + if (number < 0) { + sign = '-'; + number = -number; + } + if (number > 1e-21) { + e = log(number * pow(2, 69, 1)) - 69; + z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1); + z *= 0x10000000000000; + e = 52 - e; + if (e > 0) { + multiply(data, 0, z); + j = fractDigits; + while (j >= 7) { + multiply(data, 1e7, 0); + j -= 7; + } + multiply(data, pow(10, j, 1), 0); + j = e - 1; + while (j >= 23) { + divide(data, 1 << 23); + j -= 23; + } + divide(data, 1 << j); + multiply(data, 1, 1); + divide(data, 2); + result = dataToString(data); + } else { + multiply(data, 0, z); + multiply(data, 1 << -e, 0); + result = dataToString(data) + repeat('0', fractDigits); + } + } + if (fractDigits > 0) { + k = result.length; + result = sign + (k <= fractDigits + ? '0.' + repeat('0', fractDigits - k) + result + : stringSlice(result, 0, k - fractDigits) + '.' + stringSlice(result, k - fractDigits)); + } else { + result = sign + result; + } return result; + } +}); + + +/***/ }), +/* 320 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var thisNumberValue = __webpack_require__(302); + +var nativeToPrecision = uncurryThis(1.0.toPrecision); + +var FORCED = fails(function () { + // IE7- + return nativeToPrecision(1, undefined) !== '1'; +}) || !fails(function () { + // V8 ~ Android 4.3- + nativeToPrecision({}); +}); + +// `Number.prototype.toPrecision` method +// https://tc39.es/ecma262/#sec-number.prototype.toprecision +$({ target: 'Number', proto: true, forced: FORCED }, { + toPrecision: function toPrecision(precision) { + return precision === undefined + ? nativeToPrecision(thisNumberValue(this)) + : nativeToPrecision(thisNumberValue(this), precision); + } +}); + + +/***/ }), +/* 321 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var assign = __webpack_require__(322); + +// `Object.assign` method +// https://tc39.es/ecma262/#sec-object.assign +// eslint-disable-next-line es/no-object-assign -- required for testing +$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, { + assign: assign +}); + + +/***/ }), +/* 322 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var objectKeys = __webpack_require__(73); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var propertyIsEnumerableModule = __webpack_require__(10); +var toObject = __webpack_require__(39); +var IndexedObject = __webpack_require__(13); + +// eslint-disable-next-line es/no-object-assign -- safe +var $assign = Object.assign; +// eslint-disable-next-line es/no-object-defineproperty -- required for testing +var defineProperty = Object.defineProperty; +var concat = uncurryThis([].concat); + +// `Object.assign` method +// https://tc39.es/ecma262/#sec-object.assign +module.exports = !$assign || fails(function () { + // should have correct order of operations (Edge bug) + if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', { + enumerable: true, + get: function () { + defineProperty(this, 'b', { + value: 3, + enumerable: false + }); + } + }), { b: 2 })).b !== 1) return true; + // should work with symbols and should have deterministic property order (V8 bug) + var A = {}; + var B = {}; + // eslint-disable-next-line es/no-symbol -- safe + var symbol = Symbol('assign detection'); + var alphabet = 'abcdefghijklmnopqrst'; + A[symbol] = 7; + alphabet.split('').forEach(function (chr) { B[chr] = chr; }); + return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` + var T = toObject(target); + var argumentsLength = arguments.length; + var index = 1; + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + var propertyIsEnumerable = propertyIsEnumerableModule.f; + while (argumentsLength > index) { + var S = IndexedObject(arguments[index++]); + var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) { + key = keys[j++]; + if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key]; + } + } return T; +} : $assign; + + +/***/ }), +/* 323 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var create = __webpack_require__(71); + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + create: create +}); + + +/***/ }), +/* 324 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var definePropertyModule = __webpack_require__(44); + +// `Object.prototype.__defineGetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineGetter__: function __defineGetter__(P, getter) { + definePropertyModule.f(toObject(this), P, { get: aCallable(getter), enumerable: true, configurable: true }); + } + }); +} + + +/***/ }), +/* 325 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-undef, no-useless-call, sonarjs/no-reference-error -- required for testing */ +/* eslint-disable es/no-legacy-object-prototype-accessor-methods -- required for testing */ +var IS_PURE = __webpack_require__(36); +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var WEBKIT = __webpack_require__(192); + +// Forced replacement object prototype accessors methods +module.exports = IS_PURE || !fails(function () { + // This feature detection crashes old WebKit + // https://github.com/zloirock/core-js/issues/232 + if (WEBKIT && WEBKIT < 535) return; + var key = Math.random(); + // In FF throws only define methods + __defineSetter__.call(null, key, function () { /* empty */ }); + delete globalThis[key]; +}); + + +/***/ }), +/* 326 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var defineProperties = (__webpack_require__(72).f); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, { + defineProperties: defineProperties +}); + + +/***/ }), +/* 327 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var defineProperty = (__webpack_require__(44).f); + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +// eslint-disable-next-line es/no-object-defineproperty -- safe +$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, { + defineProperty: defineProperty +}); + + +/***/ }), +/* 328 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var definePropertyModule = __webpack_require__(44); + +// `Object.prototype.__defineSetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineSetter__: function __defineSetter__(P, setter) { + definePropertyModule.f(toObject(this), P, { set: aCallable(setter), enumerable: true, configurable: true }); + } + }); +} + + +/***/ }), +/* 329 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $entries = (__webpack_require__(330).entries); + +// `Object.entries` method +// https://tc39.es/ecma262/#sec-object.entries +$({ target: 'Object', stat: true }, { + entries: function entries(O) { + return $entries(O); + } +}); + + +/***/ }), +/* 330 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var objectGetPrototypeOf = __webpack_require__(128); +var objectKeys = __webpack_require__(73); +var toIndexedObject = __webpack_require__(12); +var $propertyIsEnumerable = (__webpack_require__(10).f); + +var propertyIsEnumerable = uncurryThis($propertyIsEnumerable); +var push = uncurryThis([].push); + +// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys +// of `null` prototype objects +var IE_BUG = DESCRIPTORS && fails(function () { + // eslint-disable-next-line es/no-object-create -- safe + var O = Object.create(null); + O[2] = 2; + return !propertyIsEnumerable(O, 2); +}); + +// `Object.{ entries, values }` methods implementation +var createMethod = function (TO_ENTRIES) { + return function (it) { + var O = toIndexedObject(it); + var keys = objectKeys(O); + var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null; + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) { + key = keys[i++]; + if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) { + push(result, TO_ENTRIES ? [key, O[key]] : O[key]); + } + } + return result; + }; +}; + +module.exports = { + // `Object.entries` method + // https://tc39.es/ecma262/#sec-object.entries + entries: createMethod(true), + // `Object.values` method + // https://tc39.es/ecma262/#sec-object.values + values: createMethod(false) +}; + + +/***/ }), +/* 331 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); + +// eslint-disable-next-line es/no-object-freeze -- safe +var $freeze = Object.freeze; +var FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); }); + +// `Object.freeze` method +// https://tc39.es/ecma262/#sec-object.freeze +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + freeze: function freeze(it) { + return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 332 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var createProperty = __webpack_require__(141); + +// `Object.fromEntries` method +// https://tc39.es/ecma262/#sec-object.fromentries +$({ target: 'Object', stat: true }, { + fromEntries: function fromEntries(iterable) { + var obj = {}; + iterate(iterable, function (k, v) { + createProperty(obj, k, v); + }, { AS_ENTRIES: true }); + return obj; + } +}); + + +/***/ }), +/* 333 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toIndexedObject = __webpack_require__(12); +var nativeGetOwnPropertyDescriptor = (__webpack_require__(5).f); +var DESCRIPTORS = __webpack_require__(6); + +var FORCED = !DESCRIPTORS || fails(function () { nativeGetOwnPropertyDescriptor(1); }); + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { + return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key); + } +}); + + +/***/ }), +/* 334 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var ownKeys = __webpack_require__(56); +var toIndexedObject = __webpack_require__(12); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var createProperty = __webpack_require__(141); + +// `Object.getOwnPropertyDescriptors` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIndexedObject(object); + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + var keys = ownKeys(O); + var result = {}; + var index = 0; + var key, descriptor; + while (keys.length > index) { + descriptor = getOwnPropertyDescriptor(O, key = keys[index++]); + if (descriptor !== undefined) createProperty(result, key, descriptor); + } + return result; + } +}); + + +/***/ }), +/* 335 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var getOwnPropertyNames = (__webpack_require__(75).f); + +// eslint-disable-next-line es/no-object-getownpropertynames -- required for testing +var FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); }); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + getOwnPropertyNames: getOwnPropertyNames +}); + + +/***/ }), +/* 336 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toObject = __webpack_require__(39); +var nativeGetPrototypeOf = __webpack_require__(128); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); }); + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(it) { + return nativeGetPrototypeOf(toObject(it)); + } +}); + + + +/***/ }), +/* 337 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var requireObjectCoercible = __webpack_require__(16); +var toPropertyKey = __webpack_require__(18); +var iterate = __webpack_require__(130); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-groupby -- testing +var nativeGroupBy = Object.groupBy; +var create = getBuiltIn('Object', 'create'); +var push = uncurryThis([].push); + +var DOES_NOT_WORK_WITH_PRIMITIVES = !nativeGroupBy || fails(function () { + return nativeGroupBy('ab', function (it) { + return it; + }).a.length !== 1; +}); + +// `Object.groupBy` method +// https://tc39.es/ecma262/#sec-object.groupby +$({ target: 'Object', stat: true, forced: DOES_NOT_WORK_WITH_PRIMITIVES }, { + groupBy: function groupBy(items, callbackfn) { + requireObjectCoercible(items); + aCallable(callbackfn); + var obj = create(null); + var k = 0; + iterate(items, function (value) { + var key = toPropertyKey(callbackfn(value, k++)); + // in some IE versions, `hasOwnProperty` returns incorrect result on integer keys + // but since it's a `null` prototype object, we can safely use `in` + if (key in obj) push(obj[key], value); + else obj[key] = [value]; + }); + return obj; + } +}); + + +/***/ }), +/* 338 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var hasOwn = __webpack_require__(38); + +// `Object.hasOwn` method +// https://tc39.es/ecma262/#sec-object.hasown +$({ target: 'Object', stat: true }, { + hasOwn: hasOwn +}); + + +/***/ }), +/* 339 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var is = __webpack_require__(340); + +// `Object.is` method +// https://tc39.es/ecma262/#sec-object.is +$({ target: 'Object', stat: true }, { + is: is +}); + + +/***/ }), +/* 340 */ +/***/ (function(module) { + + +// `SameValue` abstract operation +// https://tc39.es/ecma262/#sec-samevalue +// eslint-disable-next-line es/no-object-is -- safe +module.exports = Object.is || function is(x, y) { + // eslint-disable-next-line no-self-compare -- NaN check + return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y; +}; + + +/***/ }), +/* 341 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $isExtensible = __webpack_require__(274); + +// `Object.isExtensible` method +// https://tc39.es/ecma262/#sec-object.isextensible +// eslint-disable-next-line es/no-object-isextensible -- safe +$({ target: 'Object', stat: true, forced: Object.isExtensible !== $isExtensible }, { + isExtensible: $isExtensible +}); + + +/***/ }), +/* 342 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-isfrozen -- safe +var $isFrozen = Object.isFrozen; + +var FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isFrozen(1); }); + +// `Object.isFrozen` method +// https://tc39.es/ecma262/#sec-object.isfrozen +$({ target: 'Object', stat: true, forced: FORCED }, { + isFrozen: function isFrozen(it) { + if (!isObject(it)) return true; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true; + return $isFrozen ? $isFrozen(it) : false; + } +}); + + +/***/ }), +/* 343 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-issealed -- safe +var $isSealed = Object.isSealed; + +var FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isSealed(1); }); + +// `Object.isSealed` method +// https://tc39.es/ecma262/#sec-object.issealed +$({ target: 'Object', stat: true, forced: FORCED }, { + isSealed: function isSealed(it) { + if (!isObject(it)) return true; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true; + return $isSealed ? $isSealed(it) : false; + } +}); + + +/***/ }), +/* 344 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var nativeKeys = __webpack_require__(73); +var fails = __webpack_require__(7); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); }); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + keys: function keys(it) { + return nativeKeys(toObject(it)); + } +}); + + +/***/ }), +/* 345 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var toObject = __webpack_require__(39); +var toPropertyKey = __webpack_require__(18); +var getPrototypeOf = __webpack_require__(128); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Object.prototype.__lookupGetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupGetter__: function __lookupGetter__(P) { + var O = toObject(this); + var key = toPropertyKey(P); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.get; + } while (O = getPrototypeOf(O)); + } + }); +} + + +/***/ }), +/* 346 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var toObject = __webpack_require__(39); +var toPropertyKey = __webpack_require__(18); +var getPrototypeOf = __webpack_require__(128); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Object.prototype.__lookupSetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupSetter__: function __lookupSetter__(P) { + var O = toObject(this); + var key = toPropertyKey(P); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.set; + } while (O = getPrototypeOf(O)); + } + }); +} + + +/***/ }), +/* 347 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-preventextensions -- safe +var $preventExtensions = Object.preventExtensions; +var FAILS_ON_PRIMITIVES = fails(function () { $preventExtensions(1); }); + +// `Object.preventExtensions` method +// https://tc39.es/ecma262/#sec-object.preventextensions +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + preventExtensions: function preventExtensions(it) { + return $preventExtensions && isObject(it) ? $preventExtensions(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 348 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var isObject = __webpack_require__(20); +var isPossiblePrototype = __webpack_require__(116); +var toObject = __webpack_require__(39); +var requireObjectCoercible = __webpack_require__(16); + +// eslint-disable-next-line es/no-object-getprototypeof -- safe +var getPrototypeOf = Object.getPrototypeOf; +// eslint-disable-next-line es/no-object-setprototypeof -- safe +var setPrototypeOf = Object.setPrototypeOf; +var ObjectPrototype = Object.prototype; +var PROTO = '__proto__'; + +// `Object.prototype.__proto__` accessor +// https://tc39.es/ecma262/#sec-object.prototype.__proto__ +if (DESCRIPTORS && getPrototypeOf && setPrototypeOf && !(PROTO in ObjectPrototype)) try { + defineBuiltInAccessor(ObjectPrototype, PROTO, { + configurable: true, + get: function __proto__() { + return getPrototypeOf(toObject(this)); + }, + set: function __proto__(proto) { + var O = requireObjectCoercible(this); + if (isPossiblePrototype(proto) && isObject(O)) { + setPrototypeOf(O, proto); + } + } + }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 349 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-seal -- safe +var $seal = Object.seal; +var FAILS_ON_PRIMITIVES = fails(function () { $seal(1); }); + +// `Object.seal` method +// https://tc39.es/ecma262/#sec-object.seal +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + seal: function seal(it) { + return $seal && isObject(it) ? $seal(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 350 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var setPrototypeOf = __webpack_require__(113); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +$({ target: 'Object', stat: true }, { + setPrototypeOf: setPrototypeOf +}); + + +/***/ }), +/* 351 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var defineBuiltIn = __webpack_require__(47); +var toString = __webpack_require__(352); + +// `Object.prototype.toString` method +// https://tc39.es/ecma262/#sec-object.prototype.tostring +if (!TO_STRING_TAG_SUPPORT) { + defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true }); +} + + +/***/ }), +/* 352 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var classof = __webpack_require__(69); + +// `Object.prototype.toString` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.tostring +module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { + return '[object ' + classof(this) + ']'; +}; + + +/***/ }), +/* 353 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $values = (__webpack_require__(330).values); + +// `Object.values` method +// https://tc39.es/ecma262/#sec-object.values +$({ target: 'Object', stat: true }, { + values: function values(O) { + return $values(O); + } +}); + + +/***/ }), +/* 354 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $parseFloat = __webpack_require__(315); + +// `parseFloat` method +// https://tc39.es/ecma262/#sec-parsefloat-string +$({ global: true, forced: parseFloat !== $parseFloat }, { + parseFloat: $parseFloat +}); + + +/***/ }), +/* 355 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $parseInt = __webpack_require__(317); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +$({ global: true, forced: parseInt !== $parseInt }, { + parseInt: $parseInt +}); + + +/***/ }), +/* 356 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(357); +__webpack_require__(373); +__webpack_require__(375); +__webpack_require__(376); +__webpack_require__(377); +__webpack_require__(378); + + +/***/ }), +/* 357 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var IS_NODE = __webpack_require__(182); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var defineBuiltIn = __webpack_require__(47); +var setPrototypeOf = __webpack_require__(113); +var setToStringTag = __webpack_require__(82); +var setSpecies = __webpack_require__(194); +var aCallable = __webpack_require__(30); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var anInstance = __webpack_require__(211); +var speciesConstructor = __webpack_require__(358); +var task = (__webpack_require__(360).set); +var microtask = __webpack_require__(363); +var hostReportErrors = __webpack_require__(368); +var perform = __webpack_require__(369); +var Queue = __webpack_require__(365); +var InternalStateModule = __webpack_require__(51); +var NativePromiseConstructor = __webpack_require__(370); +var PromiseConstructorDetection = __webpack_require__(371); +var newPromiseCapabilityModule = __webpack_require__(372); + +var PROMISE = 'Promise'; +var FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR; +var NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT; +var NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING; +var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); +var setInternalState = InternalStateModule.set; +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var PromiseConstructor = NativePromiseConstructor; +var PromisePrototype = NativePromisePrototype; +var TypeError = globalThis.TypeError; +var document = globalThis.document; +var process = globalThis.process; +var newPromiseCapability = newPromiseCapabilityModule.f; +var newGenericPromiseCapability = newPromiseCapability; + +var DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent); +var UNHANDLED_REJECTION = 'unhandledrejection'; +var REJECTION_HANDLED = 'rejectionhandled'; +var PENDING = 0; +var FULFILLED = 1; +var REJECTED = 2; +var HANDLED = 1; +var UNHANDLED = 2; + +var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && isCallable(then = it.then) ? then : false; +}; + +var callReaction = function (reaction, state) { + var value = state.value; + var ok = state.state === FULFILLED; + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (state.rejection === UNHANDLED) onHandleUnhandled(state); + state.rejection = HANDLED; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // can throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(new TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + call(then, result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (error) { + if (domain && !exited) domain.exit(); + reject(error); + } +}; + +var notify = function (state, isReject) { + if (state.notified) return; + state.notified = true; + microtask(function () { + var reactions = state.reactions; + var reaction; + while (reaction = reactions.get()) { + callReaction(reaction, state); + } + state.notified = false; + if (isReject && !state.rejection) onUnhandled(state); + }); +}; + +var dispatchEvent = function (name, promise, reason) { + var event, handler; + if (DISPATCH_EVENT) { + event = document.createEvent('Event'); + event.promise = promise; + event.reason = reason; + event.initEvent(name, false, true); + globalThis.dispatchEvent(event); + } else event = { promise: promise, reason: reason }; + if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event); + else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); +}; + +var onUnhandled = function (state) { + call(task, globalThis, function () { + var promise = state.facade; + var value = state.value; + var IS_UNHANDLED = isUnhandled(state); + var result; + if (IS_UNHANDLED) { + result = perform(function () { + if (IS_NODE) { + process.emit('unhandledRejection', value, promise); + } else dispatchEvent(UNHANDLED_REJECTION, promise, value); + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; + if (result.error) throw result.value; + } + }); +}; + +var isUnhandled = function (state) { + return state.rejection !== HANDLED && !state.parent; +}; + +var onHandleUnhandled = function (state) { + call(task, globalThis, function () { + var promise = state.facade; + if (IS_NODE) { + process.emit('rejectionHandled', promise); + } else dispatchEvent(REJECTION_HANDLED, promise, state.value); + }); +}; + +var bind = function (fn, state, unwrap) { + return function (value) { + fn(state, value, unwrap); + }; +}; + +var internalReject = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + state.value = value; + state.state = REJECTED; + notify(state, true); +}; + +var internalResolve = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + try { + if (state.facade === value) throw new TypeError("Promise can't be resolved itself"); + var then = isThenable(value); + if (then) { + microtask(function () { + var wrapper = { done: false }; + try { + call(then, value, + bind(internalResolve, wrapper, state), + bind(internalReject, wrapper, state) + ); + } catch (error) { + internalReject(wrapper, error, state); + } + }); + } else { + state.value = value; + state.state = FULFILLED; + notify(state, false); + } + } catch (error) { + internalReject({ done: false }, error, state); + } +}; + +// constructor polyfill +if (FORCED_PROMISE_CONSTRUCTOR) { + // 25.4.3.1 Promise(executor) + PromiseConstructor = function Promise(executor) { + anInstance(this, PromisePrototype); + aCallable(executor); + call(Internal, this); + var state = getInternalPromiseState(this); + try { + executor(bind(internalResolve, state), bind(internalReject, state)); + } catch (error) { + internalReject(state, error); + } + }; + + PromisePrototype = PromiseConstructor.prototype; + + // eslint-disable-next-line no-unused-vars -- required for `.length` + Internal = function Promise(executor) { + setInternalState(this, { + type: PROMISE, + done: false, + notified: false, + parent: false, + reactions: new Queue(), + rejection: false, + state: PENDING, + value: null + }); + }; + + // `Promise.prototype.then` method + // https://tc39.es/ecma262/#sec-promise.prototype.then + Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) { + var state = getInternalPromiseState(this); + var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); + state.parent = true; + reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; + reaction.fail = isCallable(onRejected) && onRejected; + reaction.domain = IS_NODE ? process.domain : undefined; + if (state.state === PENDING) state.reactions.add(reaction); + else microtask(function () { + callReaction(reaction, state); + }); + return reaction.promise; + }); + + OwnPromiseCapability = function () { + var promise = new Internal(); + var state = getInternalPromiseState(promise); + this.promise = promise; + this.resolve = bind(internalResolve, state); + this.reject = bind(internalReject, state); + }; + + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === PromiseConstructor || C === PromiseWrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; + + if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) { + nativeThen = NativePromisePrototype.then; + + if (!NATIVE_PROMISE_SUBCLASSING) { + // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs + defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { + var that = this; + return new PromiseConstructor(function (resolve, reject) { + call(nativeThen, that, resolve, reject); + }).then(onFulfilled, onRejected); + // https://github.com/zloirock/core-js/issues/640 + }, { unsafe: true }); + } + + // make `.constructor === Promise` work for native promise-based APIs + try { + delete NativePromisePrototype.constructor; + } catch (error) { /* empty */ } + + // make `instanceof Promise` work for native promise-based APIs + if (setPrototypeOf) { + setPrototypeOf(NativePromisePrototype, PromisePrototype); + } + } +} + +// `Promise` constructor +// https://tc39.es/ecma262/#sec-promise-executor +$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + Promise: PromiseConstructor +}); + +setToStringTag(PromiseConstructor, PROMISE, false, true); +setSpecies(PROMISE); + + +/***/ }), +/* 358 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var aConstructor = __webpack_require__(359); +var isNullOrUndefined = __webpack_require__(17); +var wellKnownSymbol = __webpack_require__(33); + +var SPECIES = wellKnownSymbol('species'); + +// `SpeciesConstructor` abstract operation +// https://tc39.es/ecma262/#sec-speciesconstructor +module.exports = function (O, defaultConstructor) { + var C = anObject(O).constructor; + var S; + return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S); +}; + + +/***/ }), +/* 359 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isConstructor = __webpack_require__(89); +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +// `Assert: IsConstructor(argument) is true` +module.exports = function (argument) { + if (isConstructor(argument)) return argument; + throw new $TypeError(tryToString(argument) + ' is not a constructor'); +}; + + +/***/ }), +/* 360 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var bind = __webpack_require__(84); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var fails = __webpack_require__(7); +var html = __webpack_require__(74); +var arraySlice = __webpack_require__(76); +var createElement = __webpack_require__(42); +var validateArgumentsLength = __webpack_require__(361); +var IS_IOS = __webpack_require__(362); +var IS_NODE = __webpack_require__(182); + +var set = globalThis.setImmediate; +var clear = globalThis.clearImmediate; +var process = globalThis.process; +var Dispatch = globalThis.Dispatch; +var Function = globalThis.Function; +var MessageChannel = globalThis.MessageChannel; +var String = globalThis.String; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var $location, defer, channel, port; + +fails(function () { + // Deno throws a ReferenceError on `location` access without `--location` flag + $location = globalThis.location; +}); + +var run = function (id) { + if (hasOwn(queue, id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; + +var runner = function (id) { + return function () { + run(id); + }; +}; + +var eventListener = function (event) { + run(event.data); +}; + +var globalPostMessageDefer = function (id) { + // old engines have not location.origin + globalThis.postMessage(String(id), $location.protocol + '//' + $location.host); +}; + +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!set || !clear) { + set = function setImmediate(handler) { + validateArgumentsLength(arguments.length, 1); + var fn = isCallable(handler) ? handler : Function(handler); + var args = arraySlice(arguments, 1); + queue[++counter] = function () { + apply(fn, undefined, args); + }; + defer(counter); + return counter; + }; + clear = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (IS_NODE) { + defer = function (id) { + process.nextTick(runner(id)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(runner(id)); + }; + // Browsers with MessageChannel, includes WebWorkers + // except iOS - https://github.com/zloirock/core-js/issues/624 + } else if (MessageChannel && !IS_IOS) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = eventListener; + defer = bind(port.postMessage, port); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if ( + globalThis.addEventListener && + isCallable(globalThis.postMessage) && + !globalThis.importScripts && + $location && $location.protocol !== 'file:' && + !fails(globalPostMessageDefer) + ) { + defer = globalPostMessageDefer; + globalThis.addEventListener('message', eventListener, false); + // IE8- + } else if (ONREADYSTATECHANGE in createElement('script')) { + defer = function (id) { + html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(runner(id), 0); + }; + } +} + +module.exports = { + set: set, + clear: clear +}; + + +/***/ }), +/* 361 */ +/***/ (function(module) { + + +var $TypeError = TypeError; + +module.exports = function (passed, required) { + if (passed < required) throw new $TypeError('Not enough arguments'); + return passed; +}; + + +/***/ }), +/* 362 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +// eslint-disable-next-line redos/no-vulnerable -- safe +module.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent); + + +/***/ }), +/* 363 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var safeGetBuiltIn = __webpack_require__(364); +var bind = __webpack_require__(84); +var macrotask = (__webpack_require__(360).set); +var Queue = __webpack_require__(365); +var IS_IOS = __webpack_require__(362); +var IS_IOS_PEBBLE = __webpack_require__(366); +var IS_WEBOS_WEBKIT = __webpack_require__(367); +var IS_NODE = __webpack_require__(182); + +var MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver; +var document = globalThis.document; +var process = globalThis.process; +var Promise = globalThis.Promise; +var microtask = safeGetBuiltIn('queueMicrotask'); +var notify, toggle, node, promise, then; + +// modern engines have queueMicrotask method +if (!microtask) { + var queue = new Queue(); + + var flush = function () { + var parent, fn; + if (IS_NODE && (parent = process.domain)) parent.exit(); + while (fn = queue.get()) try { + fn(); + } catch (error) { + if (queue.head) notify(); + throw error; + } + if (parent) parent.enter(); + }; + + // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 + // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898 + if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) { + toggle = true; + node = document.createTextNode(''); + new MutationObserver(flush).observe(node, { characterData: true }); + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + promise = Promise.resolve(undefined); + // workaround of WebKit ~ iOS Safari 10.1 bug + promise.constructor = Promise; + then = bind(promise.then, promise); + notify = function () { + then(flush); + }; + // Node.js without promises + } else if (IS_NODE) { + notify = function () { + process.nextTick(flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessage + // - onreadystatechange + // - setTimeout + } else { + // `webpack` dev server bug on IE global methods - use bind(fn, global) + macrotask = bind(macrotask, globalThis); + notify = function () { + macrotask(flush); + }; + } + + microtask = function (fn) { + if (!queue.head) notify(); + queue.add(fn); + }; +} + +module.exports = microtask; + + +/***/ }), +/* 364 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DESCRIPTORS = __webpack_require__(6); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Avoid NodeJS experimental warning +module.exports = function (name) { + if (!DESCRIPTORS) return globalThis[name]; + var descriptor = getOwnPropertyDescriptor(globalThis, name); + return descriptor && descriptor.value; +}; + + +/***/ }), +/* 365 */ +/***/ (function(module) { + + +var Queue = function () { + this.head = null; + this.tail = null; +}; + +Queue.prototype = { + add: function (item) { + var entry = { item: item, next: null }; + var tail = this.tail; + if (tail) tail.next = entry; + else this.head = entry; + this.tail = entry; + }, + get: function () { + var entry = this.head; + if (entry) { + var next = this.head = entry.next; + if (next === null) this.tail = null; + return entry.item; + } + } +}; + +module.exports = Queue; + + +/***/ }), +/* 366 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +module.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined'; + + +/***/ }), +/* 367 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +module.exports = /web0s(?!.*chrome)/i.test(userAgent); + + +/***/ }), +/* 368 */ +/***/ (function(module) { + + +module.exports = function (a, b) { + try { + // eslint-disable-next-line no-console -- safe + arguments.length === 1 ? console.error(a) : console.error(a, b); + } catch (error) { /* empty */ } +}; + + +/***/ }), +/* 369 */ +/***/ (function(module) { + + +module.exports = function (exec) { + try { + return { error: false, value: exec() }; + } catch (error) { + return { error: true, value: error }; + } +}; + + +/***/ }), +/* 370 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = globalThis.Promise; + + +/***/ }), +/* 371 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var NativePromiseConstructor = __webpack_require__(370); +var isCallable = __webpack_require__(21); +var isForced = __webpack_require__(67); +var inspectSource = __webpack_require__(50); +var wellKnownSymbol = __webpack_require__(33); +var ENVIRONMENT = __webpack_require__(183); +var IS_PURE = __webpack_require__(36); +var V8_VERSION = __webpack_require__(27); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var SPECIES = wellKnownSymbol('species'); +var SUBCLASSING = false; +var NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent); + +var FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () { + var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor); + var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor); + // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // We can't detect it synchronously, so just check versions + if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true; + // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution + if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true; + // We can't use @@species feature detection in V8 since it causes + // deoptimization and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) { + // Detect correctness of subclassing with @@species support + var promise = new NativePromiseConstructor(function (resolve) { resolve(1); }); + var FakePromise = function (exec) { + exec(function () { /* empty */ }, function () { /* empty */ }); + }; + var constructor = promise.constructor = {}; + constructor[SPECIES] = FakePromise; + SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; + if (!SUBCLASSING) return true; + // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test + } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT; +}); + +module.exports = { + CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR, + REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT, + SUBCLASSING: SUBCLASSING +}; + + +/***/ }), +/* 372 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); + +var $TypeError = TypeError; + +var PromiseCapability = function (C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aCallable(resolve); + this.reject = aCallable(reject); +}; + +// `NewPromiseCapability` abstract operation +// https://tc39.es/ecma262/#sec-newpromisecapability +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + + +/***/ }), +/* 373 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.all` method +// https://tc39.es/ecma262/#sec-promise.all +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + all: function all(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call($promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 374 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NativePromiseConstructor = __webpack_require__(370); +var checkCorrectnessOfIteration = __webpack_require__(164); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); + +module.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) { + NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ }); +}); + + +/***/ }), +/* 375 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); +var NativePromiseConstructor = __webpack_require__(370); +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var defineBuiltIn = __webpack_require__(47); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; + +// `Promise.prototype.catch` method +// https://tc39.es/ecma262/#sec-promise.prototype.catch +$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, { + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } +}); + +// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['catch']; + if (NativePromisePrototype['catch'] !== method) { + defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true }); + } +} + + +/***/ }), +/* 376 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.race` method +// https://tc39.es/ecma262/#sec-promise.race +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + race: function race(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + iterate(iterable, function (promise) { + call($promiseResolve, C, promise).then(capability.resolve, reject); + }); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 377 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var newPromiseCapabilityModule = __webpack_require__(372); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); + +// `Promise.reject` method +// https://tc39.es/ecma262/#sec-promise.reject +$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + reject: function reject(r) { + var capability = newPromiseCapabilityModule.f(this); + var capabilityReject = capability.reject; + capabilityReject(r); + return capability.promise; + } +}); + + +/***/ }), +/* 378 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var IS_PURE = __webpack_require__(36); +var NativePromiseConstructor = __webpack_require__(370); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); +var promiseResolve = __webpack_require__(379); + +var PromiseConstructorWrapper = getBuiltIn('Promise'); +var CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR; + +// `Promise.resolve` method +// https://tc39.es/ecma262/#sec-promise.resolve +$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, { + resolve: function resolve(x) { + return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x); + } +}); + + +/***/ }), +/* 379 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var newPromiseCapability = __webpack_require__(372); + +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + + +/***/ }), +/* 380 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.allSettled` method +// https://tc39.es/ecma262/#sec-promise.allsettled +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + allSettled: function allSettled(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'fulfilled', value: value }; + --remaining || resolve(values); + }, function (error) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'rejected', reason: error }; + --remaining || resolve(values); + }); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 381 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var getBuiltIn = __webpack_require__(23); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +var PROMISE_ANY_ERROR = 'No one promise resolved'; + +// `Promise.any` method +// https://tc39.es/ecma262/#sec-promise.any +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + any: function any(iterable) { + var C = this; + var AggregateError = getBuiltIn('AggregateError'); + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var errors = []; + var counter = 0; + var remaining = 1; + var alreadyResolved = false; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyRejected = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyRejected || alreadyResolved) return; + alreadyResolved = true; + resolve(value); + }, function (error) { + if (alreadyRejected || alreadyResolved) return; + alreadyRejected = true; + errors[index] = error; + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + }); + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 382 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var NativePromiseConstructor = __webpack_require__(370); +var fails = __webpack_require__(7); +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var speciesConstructor = __webpack_require__(358); +var promiseResolve = __webpack_require__(379); +var defineBuiltIn = __webpack_require__(47); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; + +// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829 +var NON_GENERIC = !!NativePromiseConstructor && fails(function () { + // eslint-disable-next-line unicorn/no-thenable -- required for testing + NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ }); +}); + +// `Promise.prototype.finally` method +// https://tc39.es/ecma262/#sec-promise.prototype.finally +$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, { + 'finally': function (onFinally) { + var C = speciesConstructor(this, getBuiltIn('Promise')); + var isFunction = isCallable(onFinally); + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); + } +}); + +// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then` +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['finally']; + if (NativePromisePrototype['finally'] !== method) { + defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true }); + } +} + + +/***/ }), +/* 383 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var slice = __webpack_require__(76); +var newPromiseCapabilityModule = __webpack_require__(372); +var aCallable = __webpack_require__(30); +var perform = __webpack_require__(369); + +var Promise = globalThis.Promise; + +var ACCEPT_ARGUMENTS = false; +// Avoiding the use of polyfills of the previous iteration of this proposal +// that does not accept arguments of the callback +var FORCED = !Promise || !Promise['try'] || perform(function () { + Promise['try'](function (argument) { + ACCEPT_ARGUMENTS = argument === 8; + }, 8); +}).error || !ACCEPT_ARGUMENTS; + +// `Promise.try` method +// https://tc39.es/ecma262/#sec-promise.try +$({ target: 'Promise', stat: true, forced: FORCED }, { + 'try': function (callbackfn /* , ...args */) { + var args = arguments.length > 1 ? slice(arguments, 1) : []; + var promiseCapability = newPromiseCapabilityModule.f(this); + var result = perform(function () { + return apply(aCallable(callbackfn), undefined, args); + }); + (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value); + return promiseCapability.promise; + } +}); + + +/***/ }), +/* 384 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var newPromiseCapabilityModule = __webpack_require__(372); + +// `Promise.withResolvers` method +// https://tc39.es/ecma262/#sec-promise.withResolvers +$({ target: 'Promise', stat: true }, { + withResolvers: function withResolvers() { + var promiseCapability = newPromiseCapabilityModule.f(this); + return { + promise: promiseCapability.promise, + resolve: promiseCapability.resolve, + reject: promiseCapability.reject + }; + } +}); + + +/***/ }), +/* 385 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var functionApply = __webpack_require__(94); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var fails = __webpack_require__(7); + +// MS Edge argumentsList argument is optional +var OPTIONAL_ARGUMENTS_LIST = !fails(function () { + // eslint-disable-next-line es/no-reflect -- required for testing + Reflect.apply(function () { /* empty */ }); +}); + +// `Reflect.apply` method +// https://tc39.es/ecma262/#sec-reflect.apply +$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, { + apply: function apply(target, thisArgument, argumentsList) { + return functionApply(aCallable(target), thisArgument, anObject(argumentsList)); + } +}); + + +/***/ }), +/* 386 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var bind = __webpack_require__(246); +var aConstructor = __webpack_require__(359); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var create = __webpack_require__(71); +var fails = __webpack_require__(7); + +var nativeConstruct = getBuiltIn('Reflect', 'construct'); +var ObjectPrototype = Object.prototype; +var push = [].push; + +// `Reflect.construct` method +// https://tc39.es/ecma262/#sec-reflect.construct +// MS Edge supports only 2 arguments and argumentsList argument is optional +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F); +}); + +var ARGS_BUG = !fails(function () { + nativeConstruct(function () { /* empty */ }); +}); + +var FORCED = NEW_TARGET_BUG || ARGS_BUG; + +$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, { + construct: function construct(Target, args /* , newTarget */) { + aConstructor(Target); + anObject(args); + var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]); + if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget); + if (Target === newTarget) { + // w/o altered newTarget, optimization for 0-4 arguments + switch (args.length) { + case 0: return new Target(); + case 1: return new Target(args[0]); + case 2: return new Target(args[0], args[1]); + case 3: return new Target(args[0], args[1], args[2]); + case 4: return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + apply(push, $args, args); + return new (apply(bind, Target, $args))(); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : ObjectPrototype); + var result = apply(Target, instance, args); + return isObject(result) ? result : instance; + } +}); + + +/***/ }), +/* 387 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var anObject = __webpack_require__(46); +var toPropertyKey = __webpack_require__(18); +var definePropertyModule = __webpack_require__(44); +var fails = __webpack_require__(7); + +// MS Edge has broken Reflect.defineProperty - throwing instead of returning false +var ERROR_INSTEAD_OF_FALSE = fails(function () { + // eslint-disable-next-line es/no-reflect -- required for testing + Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 }); +}); + +// `Reflect.defineProperty` method +// https://tc39.es/ecma262/#sec-reflect.defineproperty +$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, { + defineProperty: function defineProperty(target, propertyKey, attributes) { + anObject(target); + var key = toPropertyKey(propertyKey); + anObject(attributes); + try { + definePropertyModule.f(target, key, attributes); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 388 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Reflect.deleteProperty` method +// https://tc39.es/ecma262/#sec-reflect.deleteproperty +$({ target: 'Reflect', stat: true }, { + deleteProperty: function deleteProperty(target, propertyKey) { + var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey); + return descriptor && !descriptor.configurable ? false : delete target[propertyKey]; + } +}); + + +/***/ }), +/* 389 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var isObject = __webpack_require__(20); +var anObject = __webpack_require__(46); +var isDataDescriptor = __webpack_require__(390); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var getPrototypeOf = __webpack_require__(128); + +// `Reflect.get` method +// https://tc39.es/ecma262/#sec-reflect.get +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var descriptor, prototype; + if (anObject(target) === receiver) return target[propertyKey]; + descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey); + if (descriptor) return isDataDescriptor(descriptor) + ? descriptor.value + : descriptor.get === undefined ? undefined : call(descriptor.get, receiver); + if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver); +} + +$({ target: 'Reflect', stat: true }, { + get: get +}); + + +/***/ }), +/* 390 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); + +module.exports = function (descriptor) { + return descriptor !== undefined && (hasOwn(descriptor, 'value') || hasOwn(descriptor, 'writable')); +}; + + +/***/ }), +/* 391 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var anObject = __webpack_require__(46); +var getOwnPropertyDescriptorModule = __webpack_require__(5); + +// `Reflect.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-reflect.getownpropertydescriptor +$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { + return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + } +}); + + +/***/ }), +/* 392 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var objectGetPrototypeOf = __webpack_require__(128); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +// `Reflect.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-reflect.getprototypeof +$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(target) { + return objectGetPrototypeOf(anObject(target)); + } +}); + + +/***/ }), +/* 393 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Reflect.has` method +// https://tc39.es/ecma262/#sec-reflect.has +$({ target: 'Reflect', stat: true }, { + has: function has(target, propertyKey) { + return propertyKey in target; + } +}); + + +/***/ }), +/* 394 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var $isExtensible = __webpack_require__(274); + +// `Reflect.isExtensible` method +// https://tc39.es/ecma262/#sec-reflect.isextensible +$({ target: 'Reflect', stat: true }, { + isExtensible: function isExtensible(target) { + anObject(target); + return $isExtensible(target); + } +}); + + +/***/ }), +/* 395 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ownKeys = __webpack_require__(56); + +// `Reflect.ownKeys` method +// https://tc39.es/ecma262/#sec-reflect.ownkeys +$({ target: 'Reflect', stat: true }, { + ownKeys: ownKeys +}); + + +/***/ }), +/* 396 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var anObject = __webpack_require__(46); +var FREEZING = __webpack_require__(276); + +// `Reflect.preventExtensions` method +// https://tc39.es/ecma262/#sec-reflect.preventextensions +$({ target: 'Reflect', stat: true, sham: !FREEZING }, { + preventExtensions: function preventExtensions(target) { + anObject(target); + try { + var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions'); + if (objectPreventExtensions) objectPreventExtensions(target); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 397 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var isDataDescriptor = __webpack_require__(390); +var fails = __webpack_require__(7); +var definePropertyModule = __webpack_require__(44); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var getPrototypeOf = __webpack_require__(128); +var createPropertyDescriptor = __webpack_require__(11); + +// `Reflect.set` method +// https://tc39.es/ecma262/#sec-reflect.set +function set(target, propertyKey, V /* , receiver */) { + var receiver = arguments.length < 4 ? target : arguments[3]; + var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + var existingDescriptor, prototype, setter; + if (!ownDescriptor) { + if (isObject(prototype = getPrototypeOf(target))) { + return set(prototype, propertyKey, V, receiver); + } + ownDescriptor = createPropertyDescriptor(0); + } + if (isDataDescriptor(ownDescriptor)) { + if (ownDescriptor.writable === false || !isObject(receiver)) return false; + if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) { + if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; + existingDescriptor.value = V; + definePropertyModule.f(receiver, propertyKey, existingDescriptor); + } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V)); + } else { + setter = ownDescriptor.set; + if (setter === undefined) return false; + call(setter, receiver, V); + } return true; +} + +// MS Edge 17-18 Reflect.set allows setting the property to object +// with non-writable property on the prototype +var MS_EDGE_BUG = fails(function () { + var Constructor = function () { /* empty */ }; + var object = definePropertyModule.f(new Constructor(), 'a', { configurable: true }); + // eslint-disable-next-line es/no-reflect -- required for testing + return Reflect.set(Constructor.prototype, 'a', 1, object) !== false; +}); + +$({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, { + set: set +}); + + +/***/ }), +/* 398 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var aPossiblePrototype = __webpack_require__(115); +var objectSetPrototypeOf = __webpack_require__(113); + +// `Reflect.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-reflect.setprototypeof +if (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, { + setPrototypeOf: function setPrototypeOf(target, proto) { + anObject(target); + aPossiblePrototype(proto); + try { + objectSetPrototypeOf(target, proto); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 399 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var setToStringTag = __webpack_require__(82); + +$({ global: true }, { Reflect: {} }); + +// Reflect[@@toStringTag] property +// https://tc39.es/ecma262/#sec-reflect-@@tostringtag +setToStringTag(globalThis.Reflect, 'Reflect', true); + + +/***/ }), +/* 400 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var inheritIfRequired = __webpack_require__(118); +var createNonEnumerableProperty = __webpack_require__(43); +var create = __webpack_require__(71); +var getOwnPropertyNames = (__webpack_require__(57).f); +var isPrototypeOf = __webpack_require__(24); +var isRegExp = __webpack_require__(401); +var toString = __webpack_require__(68); +var getRegExpFlags = __webpack_require__(402); +var stickyHelpers = __webpack_require__(404); +var proxyAccessor = __webpack_require__(117); +var defineBuiltIn = __webpack_require__(47); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var enforceInternalState = (__webpack_require__(51).enforce); +var setSpecies = __webpack_require__(194); +var wellKnownSymbol = __webpack_require__(33); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var UNSUPPORTED_NCG = __webpack_require__(406); + +var MATCH = wellKnownSymbol('match'); +var NativeRegExp = globalThis.RegExp; +var RegExpPrototype = NativeRegExp.prototype; +var SyntaxError = globalThis.SyntaxError; +var exec = uncurryThis(RegExpPrototype.exec); +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var stringIndexOf = uncurryThis(''.indexOf); +var stringSlice = uncurryThis(''.slice); +// TODO: Use only proper RegExpIdentifierName +var IS_NCG = /^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/; +var re1 = /a/g; +var re2 = /a/g; + +// "new" should create a new object, old webkit bug +var CORRECT_NEW = new NativeRegExp(re1) !== re1; + +var MISSED_STICKY = stickyHelpers.MISSED_STICKY; +var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; + +var BASE_FORCED = DESCRIPTORS && + (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () { + re2[MATCH] = false; + // RegExp constructor can alter flags and IsRegExp works correct with @@match + // eslint-disable-next-line sonarjs/inconsistent-function-call -- required for testing + return NativeRegExp(re1) !== re1 || NativeRegExp(re2) === re2 || String(NativeRegExp(re1, 'i')) !== '/a/i'; + })); + +var handleDotAll = function (string) { + var length = string.length; + var index = 0; + var result = ''; + var brackets = false; + var chr; + for (; index <= length; index++) { + chr = charAt(string, index); + if (chr === '\\') { + result += chr + charAt(string, ++index); + continue; + } + if (!brackets && chr === '.') { + result += '[\\s\\S]'; + } else { + if (chr === '[') { + brackets = true; + } else if (chr === ']') { + brackets = false; + } result += chr; + } + } return result; +}; + +var handleNCG = function (string) { + var length = string.length; + var index = 0; + var result = ''; + var named = []; + var names = create(null); + var brackets = false; + var ncg = false; + var groupid = 0; + var groupname = ''; + var chr; + for (; index <= length; index++) { + chr = charAt(string, index); + if (chr === '\\') { + chr += charAt(string, ++index); + } else if (chr === ']') { + brackets = false; + } else if (!brackets) switch (true) { + case chr === '[': + brackets = true; + break; + case chr === '(': + result += chr; + // ignore non-capturing groups + if (stringSlice(string, index + 1, index + 3) === '?:') { + continue; + } + if (exec(IS_NCG, stringSlice(string, index + 1))) { + index += 2; + ncg = true; + } + groupid++; + continue; + case chr === '>' && ncg: + if (groupname === '' || hasOwn(names, groupname)) { + throw new SyntaxError('Invalid capture group name'); + } + names[groupname] = true; + named[named.length] = [groupname, groupid]; + ncg = false; + groupname = ''; + continue; + } + if (ncg) groupname += chr; + else result += chr; + } return [result, named]; +}; + +// `RegExp` constructor +// https://tc39.es/ecma262/#sec-regexp-constructor +if (isForced('RegExp', BASE_FORCED)) { + var RegExpWrapper = function RegExp(pattern, flags) { + var thisIsRegExp = isPrototypeOf(RegExpPrototype, this); + var patternIsRegExp = isRegExp(pattern); + var flagsAreUndefined = flags === undefined; + var groups = []; + var rawPattern = pattern; + var rawFlags, dotAll, sticky, handled, result, state; + + if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) { + return pattern; + } + + if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) { + pattern = pattern.source; + if (flagsAreUndefined) flags = getRegExpFlags(rawPattern); + } + + pattern = pattern === undefined ? '' : toString(pattern); + flags = flags === undefined ? '' : toString(flags); + rawPattern = pattern; + + if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) { + dotAll = !!flags && stringIndexOf(flags, 's') > -1; + if (dotAll) flags = replace(flags, /s/g, ''); + } + + rawFlags = flags; + + if (MISSED_STICKY && 'sticky' in re1) { + sticky = !!flags && stringIndexOf(flags, 'y') > -1; + if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, ''); + } + + if (UNSUPPORTED_NCG) { + handled = handleNCG(pattern); + pattern = handled[0]; + groups = handled[1]; + } + + result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper); + + if (dotAll || sticky || groups.length) { + state = enforceInternalState(result); + if (dotAll) { + state.dotAll = true; + state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags); + } + if (sticky) state.sticky = true; + if (groups.length) state.groups = groups; + } + + if (pattern !== rawPattern) try { + // fails in old engines, but we have no alternatives for unsupported regex syntax + createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern); + } catch (error) { /* empty */ } + + return result; + }; + + for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) { + proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]); + } + + RegExpPrototype.constructor = RegExpWrapper; + RegExpWrapper.prototype = RegExpPrototype; + defineBuiltIn(globalThis, 'RegExp', RegExpWrapper, { constructor: true }); +} + +// https://tc39.es/ecma262/#sec-get-regexp-@@species +setSpecies('RegExp'); + + +/***/ }), +/* 401 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var wellKnownSymbol = __webpack_require__(33); + +var MATCH = wellKnownSymbol('match'); + +// `IsRegExp` abstract operation +// https://tc39.es/ecma262/#sec-isregexp +module.exports = function (it) { + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp'); +}; + + +/***/ }), +/* 402 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var hasOwn = __webpack_require__(38); +var isPrototypeOf = __webpack_require__(24); +var regExpFlags = __webpack_require__(403); + +var RegExpPrototype = RegExp.prototype; + +module.exports = function (R) { + var flags = R.flags; + return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R) + ? call(regExpFlags, R) : flags; +}; + + +/***/ }), +/* 403 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); + +// `RegExp.prototype.flags` getter implementation +// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.hasIndices) result += 'd'; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.dotAll) result += 's'; + if (that.unicode) result += 'u'; + if (that.unicodeSets) result += 'v'; + if (that.sticky) result += 'y'; + return result; +}; + + +/***/ }), +/* 404 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +var UNSUPPORTED_Y = fails(function () { + var re = $RegExp('a', 'y'); + re.lastIndex = 2; + return re.exec('abcd') !== null; +}); + +// UC Browser bug +// https://github.com/zloirock/core-js/issues/1008 +var MISSED_STICKY = UNSUPPORTED_Y || fails(function () { + return !$RegExp('a', 'y').sticky; +}); + +var BROKEN_CARET = UNSUPPORTED_Y || fails(function () { + // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 + var re = $RegExp('^r', 'gy'); + re.lastIndex = 2; + return re.exec('str') !== null; +}); + +module.exports = { + BROKEN_CARET: BROKEN_CARET, + MISSED_STICKY: MISSED_STICKY, + UNSUPPORTED_Y: UNSUPPORTED_Y +}; + + +/***/ }), +/* 405 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +module.exports = fails(function () { + var re = $RegExp('.', 's'); + return !(re.dotAll && re.test('\n') && re.flags === 's'); +}); + + +/***/ }), +/* 406 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +module.exports = fails(function () { + var re = $RegExp('(?<a>b)', 'g'); + return re.exec('b').groups.a !== 'b' || + 'b'.replace(re, '$<a>c') !== 'bc'; +}); + + +/***/ }), +/* 407 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var classof = __webpack_require__(15); +var defineBuiltInAccessor = __webpack_require__(77); +var getInternalState = (__webpack_require__(51).get); + +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; + +// `RegExp.prototype.dotAll` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall +if (DESCRIPTORS && UNSUPPORTED_DOT_ALL) { + defineBuiltInAccessor(RegExpPrototype, 'dotAll', { + configurable: true, + get: function dotAll() { + if (this === RegExpPrototype) return; + // We can't use InternalStateModule.getterFor because + // we don't add metadata for regexps created by a literal. + if (classof(this) === 'RegExp') { + return !!getInternalState(this).dotAll; + } + throw new $TypeError('Incompatible receiver, RegExp required'); + } + }); +} + + +/***/ }), +/* 408 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var exec = __webpack_require__(409); + +// `RegExp.prototype.exec` method +// https://tc39.es/ecma262/#sec-regexp.prototype.exec +$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { + exec: exec +}); + + +/***/ }), +/* 409 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */ +/* eslint-disable regexp/no-useless-quantifier -- testing */ +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var regexpFlags = __webpack_require__(403); +var stickyHelpers = __webpack_require__(404); +var shared = __webpack_require__(34); +var create = __webpack_require__(71); +var getInternalState = (__webpack_require__(51).get); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var UNSUPPORTED_NCG = __webpack_require__(406); + +var nativeReplace = shared('native-string-replace', String.prototype.replace); +var nativeExec = RegExp.prototype.exec; +var patchedExec = nativeExec; +var charAt = uncurryThis(''.charAt); +var indexOf = uncurryThis(''.indexOf); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); + +var UPDATES_LAST_INDEX_WRONG = (function () { + var re1 = /a/; + var re2 = /b*/g; + call(nativeExec, re1, 'a'); + call(nativeExec, re2, 'a'); + return re1.lastIndex !== 0 || re2.lastIndex !== 0; +})(); + +var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET; + +// nonparticipating capturing group, copied from es5-shim's String#split patch. +var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; + +var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG; + +if (PATCH) { + patchedExec = function exec(string) { + var re = this; + var state = getInternalState(re); + var str = toString(string); + var raw = state.raw; + var result, reCopy, lastIndex, match, i, object, group; + + if (raw) { + raw.lastIndex = re.lastIndex; + result = call(patchedExec, raw, str); + re.lastIndex = raw.lastIndex; + return result; + } + + var groups = state.groups; + var sticky = UNSUPPORTED_Y && re.sticky; + var flags = call(regexpFlags, re); + var source = re.source; + var charsAdded = 0; + var strCopy = str; + + if (sticky) { + flags = replace(flags, 'y', ''); + if (indexOf(flags, 'g') === -1) { + flags += 'g'; + } + + strCopy = stringSlice(str, re.lastIndex); + // Support anchored sticky behavior. + if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\n')) { + source = '(?: ' + source + ')'; + strCopy = ' ' + strCopy; + charsAdded++; + } + // ^(? + rx + ) is needed, in combination with some str slicing, to + // simulate the 'y' flag. + reCopy = new RegExp('^(?:' + source + ')', flags); + } + + if (NPCG_INCLUDED) { + reCopy = new RegExp('^' + source + '$(?!\\s)', flags); + } + if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; + + match = call(nativeExec, sticky ? reCopy : re, strCopy); + + if (sticky) { + if (match) { + match.input = stringSlice(match.input, charsAdded); + match[0] = stringSlice(match[0], charsAdded); + match.index = re.lastIndex; + re.lastIndex += match[0].length; + } else re.lastIndex = 0; + } else if (UPDATES_LAST_INDEX_WRONG && match) { + re.lastIndex = re.global ? match.index + match[0].length : lastIndex; + } + if (NPCG_INCLUDED && match && match.length > 1) { + // Fix browsers whose `exec` methods don't consistently return `undefined` + // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/ + call(nativeReplace, match[0], reCopy, function () { + for (i = 1; i < arguments.length - 2; i++) { + if (arguments[i] === undefined) match[i] = undefined; + } + }); + } + + if (match && groups) { + match.groups = object = create(null); + for (i = 0; i < groups.length; i++) { + group = groups[i]; + object[group[0]] = match[group[1]]; + } + } + + return match; + }; +} + +module.exports = patchedExec; + + +/***/ }), +/* 410 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var regExpFlags = __webpack_require__(403); +var fails = __webpack_require__(7); + +// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError +var RegExp = globalThis.RegExp; +var RegExpPrototype = RegExp.prototype; + +var FORCED = DESCRIPTORS && fails(function () { + var INDICES_SUPPORT = true; + try { + RegExp('.', 'd'); + } catch (error) { + INDICES_SUPPORT = false; + } + + var O = {}; + // modern V8 bug + var calls = ''; + var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy'; + + var addGetter = function (key, chr) { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty(O, key, { get: function () { + calls += chr; + return true; + } }); + }; + + var pairs = { + dotAll: 's', + global: 'g', + ignoreCase: 'i', + multiline: 'm', + sticky: 'y' + }; + + if (INDICES_SUPPORT) pairs.hasIndices = 'd'; + + for (var key in pairs) addGetter(key, pairs[key]); + + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var result = Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call(O); + + return result !== expected || calls !== expected; +}); + +// `RegExp.prototype.flags` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags +if (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', { + configurable: true, + get: regExpFlags +}); + + +/***/ }), +/* 411 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var MISSED_STICKY = (__webpack_require__(404).MISSED_STICKY); +var classof = __webpack_require__(15); +var defineBuiltInAccessor = __webpack_require__(77); +var getInternalState = (__webpack_require__(51).get); + +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; + +// `RegExp.prototype.sticky` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky +if (DESCRIPTORS && MISSED_STICKY) { + defineBuiltInAccessor(RegExpPrototype, 'sticky', { + configurable: true, + get: function sticky() { + if (this === RegExpPrototype) return; + // We can't use InternalStateModule.getterFor because + // we don't add metadata for regexps created by a literal. + if (classof(this) === 'RegExp') { + return !!getInternalState(this).sticky; + } + throw new $TypeError('Incompatible receiver, RegExp required'); + } + }); +} + + +/***/ }), +/* 412 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` since it's moved to entry points +__webpack_require__(408); +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var anObject = __webpack_require__(46); +var toString = __webpack_require__(68); + +var DELEGATES_TO_EXEC = function () { + var execCalled = false; + var re = /[ac]/; + re.exec = function () { + execCalled = true; + return /./.exec.apply(this, arguments); + }; + return re.test('abc') === true && execCalled; +}(); + +var nativeTest = /./.test; + +// `RegExp.prototype.test` method +// https://tc39.es/ecma262/#sec-regexp.prototype.test +$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, { + test: function (S) { + var R = anObject(this); + var string = toString(S); + var exec = R.exec; + if (!isCallable(exec)) return call(nativeTest, R, string); + var result = call(exec, R, string); + if (result === null) return false; + anObject(result); + return true; + } +}); + + +/***/ }), +/* 413 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var PROPER_FUNCTION_NAME = (__webpack_require__(49).PROPER); +var defineBuiltIn = __webpack_require__(47); +var anObject = __webpack_require__(46); +var $toString = __webpack_require__(68); +var fails = __webpack_require__(7); +var getRegExpFlags = __webpack_require__(402); + +var TO_STRING = 'toString'; +var RegExpPrototype = RegExp.prototype; +var nativeToString = RegExpPrototype[TO_STRING]; + +var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; }); +// FF44- RegExp#toString has a wrong name +var INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING; + +// `RegExp.prototype.toString` method +// https://tc39.es/ecma262/#sec-regexp.prototype.tostring +if (NOT_GENERIC || INCORRECT_NAME) { + defineBuiltIn(RegExpPrototype, TO_STRING, function toString() { + var R = anObject(this); + var pattern = $toString(R.source); + var flags = $toString(getRegExpFlags(R)); + return '/' + pattern + '/' + flags; + }, { unsafe: true }); +} + + +/***/ }), +/* 414 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(415); + + +/***/ }), +/* 415 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionStrong = __webpack_require__(277); + +// `Set` constructor +// https://tc39.es/ecma262/#sec-set-objects +collection('Set', function (init) { + return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + + +/***/ }), +/* 416 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var difference = __webpack_require__(417); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.difference` method +// https://tc39.es/ecma262/#sec-set.prototype.difference +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, { + difference: difference +}); + + +/***/ }), +/* 417 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var clone = __webpack_require__(420); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); + +var has = SetHelpers.has; +var remove = SetHelpers.remove; + +// `Set.prototype.difference` method +// https://github.com/tc39/proposal-set-methods +module.exports = function difference(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = clone(O); + if (size(O) <= otherRec.size) iterateSet(O, function (e) { + if (otherRec.includes(e)) remove(result, e); + }); + else iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) remove(result, e); + }); + return result; +}; + + +/***/ }), +/* 418 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var has = (__webpack_require__(419).has); + +// Perform ? RequireInternalSlot(M, [[SetData]]) +module.exports = function (it) { + has(it); + return it; +}; + + +/***/ }), +/* 419 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// eslint-disable-next-line es/no-set -- safe +var SetPrototype = Set.prototype; + +module.exports = { + // eslint-disable-next-line es/no-set -- safe + Set: Set, + add: uncurryThis(SetPrototype.add), + has: uncurryThis(SetPrototype.has), + remove: uncurryThis(SetPrototype['delete']), + proto: SetPrototype +}; + + +/***/ }), +/* 420 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var SetHelpers = __webpack_require__(419); +var iterate = __webpack_require__(421); + +var Set = SetHelpers.Set; +var add = SetHelpers.add; + +module.exports = function (set) { + var result = new Set(); + iterate(set, function (it) { + add(result, it); + }); + return result; +}; + + +/***/ }), +/* 421 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var iterateSimple = __webpack_require__(422); +var SetHelpers = __webpack_require__(419); + +var Set = SetHelpers.Set; +var SetPrototype = SetHelpers.proto; +var forEach = uncurryThis(SetPrototype.forEach); +var keys = uncurryThis(SetPrototype.keys); +var next = keys(new Set()).next; + +module.exports = function (set, fn, interruptible) { + return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn); +}; + + +/***/ }), +/* 422 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); + +module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) { + var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator; + var next = record.next; + var step, result; + while (!(step = call(next, iterator)).done) { + result = fn(step.value); + if (result !== undefined) return result; + } +}; + + +/***/ }), +/* 423 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThisAccessor = __webpack_require__(114); +var SetHelpers = __webpack_require__(419); + +module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) { + return set.size; +}; + + +/***/ }), +/* 424 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var call = __webpack_require__(8); +var toIntegerOrInfinity = __webpack_require__(61); +var getIteratorDirect = __webpack_require__(252); + +var INVALID_SIZE = 'Invalid size'; +var $RangeError = RangeError; +var $TypeError = TypeError; +var max = Math.max; + +var SetRecord = function (set, intSize) { + this.set = set; + this.size = max(intSize, 0); + this.has = aCallable(set.has); + this.keys = aCallable(set.keys); +}; + +SetRecord.prototype = { + getIterator: function () { + return getIteratorDirect(anObject(call(this.keys, this.set))); + }, + includes: function (it) { + return call(this.has, this.set, it); + } +}; + +// `GetSetRecord` abstract operation +// https://tc39.es/proposal-set-methods/#sec-getsetrecord +module.exports = function (obj) { + anObject(obj); + var numSize = +obj.size; + // NOTE: If size is undefined, then numSize will be NaN + // eslint-disable-next-line no-self-compare -- NaN check + if (numSize !== numSize) throw new $TypeError(INVALID_SIZE); + var intSize = toIntegerOrInfinity(numSize); + if (intSize < 0) throw new $RangeError(INVALID_SIZE); + return new SetRecord(obj, intSize); +}; + + +/***/ }), +/* 425 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); + +var createSetLike = function (size) { + return { + size: size, + has: function () { + return false; + }, + keys: function () { + return { + next: function () { + return { done: true }; + } + }; + } + }; +}; + +module.exports = function (name) { + var Set = getBuiltIn('Set'); + try { + new Set()[name](createSetLike(0)); + try { + // late spec change, early WebKit ~ Safari 17.0 beta implementation does not pass it + // https://github.com/tc39/proposal-set-methods/pull/88 + new Set()[name](createSetLike(-1)); + return false; + } catch (error2) { + return true; + } + } catch (error) { + return false; + } +}; + + +/***/ }), +/* 426 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var intersection = __webpack_require__(427); +var setMethodAcceptSetLike = __webpack_require__(425); + +var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () { + // eslint-disable-next-line es/no-array-from, es/no-set -- testing + return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2'; +}); + +// `Set.prototype.intersection` method +// https://tc39.es/ecma262/#sec-set.prototype.intersection +$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, { + intersection: intersection +}); + + +/***/ }), +/* 427 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); + +var Set = SetHelpers.Set; +var add = SetHelpers.add; +var has = SetHelpers.has; + +// `Set.prototype.intersection` method +// https://github.com/tc39/proposal-set-methods +module.exports = function intersection(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = new Set(); + + if (size(O) > otherRec.size) { + iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) add(result, e); + }); + } else { + iterateSet(O, function (e) { + if (otherRec.includes(e)) add(result, e); + }); + } + + return result; +}; + + +/***/ }), +/* 428 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isDisjointFrom = __webpack_require__(429); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isDisjointFrom` method +// https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, { + isDisjointFrom: isDisjointFrom +}); + + +/***/ }), +/* 429 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var has = (__webpack_require__(419).has); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); +var iteratorClose = __webpack_require__(135); + +// `Set.prototype.isDisjointFrom` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom +module.exports = function isDisjointFrom(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) <= otherRec.size) return iterateSet(O, function (e) { + if (otherRec.includes(e)) return false; + }, true) !== false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (has(O, e)) return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + + +/***/ }), +/* 430 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isSubsetOf = __webpack_require__(431); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isSubsetOf` method +// https://tc39.es/ecma262/#sec-set.prototype.issubsetof +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, { + isSubsetOf: isSubsetOf +}); + + +/***/ }), +/* 431 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var size = __webpack_require__(423); +var iterate = __webpack_require__(421); +var getSetRecord = __webpack_require__(424); + +// `Set.prototype.isSubsetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf +module.exports = function isSubsetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) > otherRec.size) return false; + return iterate(O, function (e) { + if (!otherRec.includes(e)) return false; + }, true) !== false; +}; + + +/***/ }), +/* 432 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isSupersetOf = __webpack_require__(433); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isSupersetOf` method +// https://tc39.es/ecma262/#sec-set.prototype.issupersetof +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, { + isSupersetOf: isSupersetOf +}); + + +/***/ }), +/* 433 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var has = (__webpack_require__(419).has); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); +var iteratorClose = __webpack_require__(135); + +// `Set.prototype.isSupersetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf +module.exports = function isSupersetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) < otherRec.size) return false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (!has(O, e)) return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + + +/***/ }), +/* 434 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var symmetricDifference = __webpack_require__(435); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.symmetricDifference` method +// https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, { + symmetricDifference: symmetricDifference +}); + + +/***/ }), +/* 435 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var clone = __webpack_require__(420); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); + +var add = SetHelpers.add; +var has = SetHelpers.has; +var remove = SetHelpers.remove; + +// `Set.prototype.symmetricDifference` method +// https://github.com/tc39/proposal-set-methods +module.exports = function symmetricDifference(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (e) { + if (has(O, e)) remove(result, e); + else add(result, e); + }); + return result; +}; + + +/***/ }), +/* 436 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var union = __webpack_require__(437); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.union` method +// https://tc39.es/ecma262/#sec-set.prototype.union +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, { + union: union +}); + + +/***/ }), +/* 437 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var add = (__webpack_require__(419).add); +var clone = __webpack_require__(420); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); + +// `Set.prototype.union` method +// https://github.com/tc39/proposal-set-methods +module.exports = function union(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (it) { + add(result, it); + }); + return result; +}; + + +/***/ }), +/* 438 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); + +var charAt = uncurryThis(''.charAt); + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-string-prototype-at -- safe + return '𠮷'.at(-2) !== '\uD842'; +}); + +// `String.prototype.at` method +// https://tc39.es/ecma262/#sec-string.prototype.at +$({ target: 'String', proto: true, forced: FORCED }, { + at: function at(index) { + var S = toString(requireObjectCoercible(this)); + var len = S.length; + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : charAt(S, k); + } +}); + + +/***/ }), +/* 439 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var codeAt = (__webpack_require__(440).codeAt); + +// `String.prototype.codePointAt` method +// https://tc39.es/ecma262/#sec-string.prototype.codepointat +$({ target: 'String', proto: true }, { + codePointAt: function codePointAt(pos) { + return codeAt(this, pos); + } +}); + + +/***/ }), +/* 440 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); + +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var stringSlice = uncurryThis(''.slice); + +var createMethod = function (CONVERT_TO_STRING) { + return function ($this, pos) { + var S = toString(requireObjectCoercible($this)); + var position = toIntegerOrInfinity(pos); + var size = S.length; + var first, second; + if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; + first = charCodeAt(S, position); + return first < 0xD800 || first > 0xDBFF || position + 1 === size + || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF + ? CONVERT_TO_STRING + ? charAt(S, position) + : first + : CONVERT_TO_STRING + ? stringSlice(S, position, position + 2) + : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; + }; +}; + +module.exports = { + // `String.prototype.codePointAt` method + // https://tc39.es/ecma262/#sec-string.prototype.codepointat + codeAt: createMethod(false), + // `String.prototype.at` method + // https://github.com/mathiasbynens/String.prototype.at + charAt: createMethod(true) +}; + + +/***/ }), +/* 441 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var correctIsRegExpLogic = __webpack_require__(443); +var IS_PURE = __webpack_require__(36); + +var slice = uncurryThis(''.slice); +var min = Math.min; + +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith'); + return descriptor && !descriptor.writable; +}(); + +// `String.prototype.endsWith` method +// https://tc39.es/ecma262/#sec-string.prototype.endswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + endsWith: function endsWith(searchString /* , endPosition = @length */) { + var that = toString(requireObjectCoercible(this)); + notARegExp(searchString); + var endPosition = arguments.length > 1 ? arguments[1] : undefined; + var len = that.length; + var end = endPosition === undefined ? len : min(toLength(endPosition), len); + var search = toString(searchString); + return slice(that, end - search.length, end) === search; + } +}); + + +/***/ }), +/* 442 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isRegExp = __webpack_require__(401); + +var $TypeError = TypeError; + +module.exports = function (it) { + if (isRegExp(it)) { + throw new $TypeError("The method doesn't accept regular expressions"); + } return it; +}; + + +/***/ }), +/* 443 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var MATCH = wellKnownSymbol('match'); + +module.exports = function (METHOD_NAME) { + var regexp = /./; + try { + '/./'[METHOD_NAME](regexp); + } catch (error1) { + try { + regexp[MATCH] = false; + return '/./'[METHOD_NAME](regexp); + } catch (error2) { /* empty */ } + } return false; +}; + + +/***/ }), +/* 444 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toAbsoluteIndex = __webpack_require__(60); + +var $RangeError = RangeError; +var fromCharCode = String.fromCharCode; +// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing +var $fromCodePoint = String.fromCodePoint; +var join = uncurryThis([].join); + +// length should be 1, old FF problem +var INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length !== 1; + +// `String.fromCodePoint` method +// https://tc39.es/ecma262/#sec-string.fromcodepoint +$({ target: 'String', stat: true, arity: 1, forced: INCORRECT_LENGTH }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + fromCodePoint: function fromCodePoint(x) { + var elements = []; + var length = arguments.length; + var i = 0; + var code; + while (length > i) { + code = +arguments[i++]; + if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw new $RangeError(code + ' is not a valid code point'); + elements[i] = code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00); + } return join(elements, ''); + } +}); + + +/***/ }), +/* 445 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var correctIsRegExpLogic = __webpack_require__(443); + +var stringIndexOf = uncurryThis(''.indexOf); + +// `String.prototype.includes` method +// https://tc39.es/ecma262/#sec-string.prototype.includes +$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { + includes: function includes(searchString /* , position = 0 */) { + return !!~stringIndexOf( + toString(requireObjectCoercible(this)), + toString(notARegExp(searchString)), + arguments.length > 1 ? arguments[1] : undefined + ); + } +}); + + +/***/ }), +/* 446 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); + +var charCodeAt = uncurryThis(''.charCodeAt); + +// `String.prototype.isWellFormed` method +// https://tc39.es/ecma262/#sec-string.prototype.iswellformed +$({ target: 'String', proto: true }, { + isWellFormed: function isWellFormed() { + var S = toString(requireObjectCoercible(this)); + var length = S.length; + for (var i = 0; i < length; i++) { + var charCode = charCodeAt(S, i); + // single UTF-16 code unit + if ((charCode & 0xF800) !== 0xD800) continue; + // unpaired surrogate + if (charCode >= 0xDC00 || ++i >= length || (charCodeAt(S, i) & 0xFC00) !== 0xDC00) return false; + } return true; + } +}); + + +/***/ }), +/* 447 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var charAt = (__webpack_require__(440).charAt); +var toString = __webpack_require__(68); +var InternalStateModule = __webpack_require__(51); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); + +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// `String.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-string.prototype-@@iterator +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: toString(iterated), + index: 0 + }); +// `%StringIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return createIterResultObject(undefined, true); + point = charAt(string, index); + state.index += point.length; + return createIterResultObject(point, false); +}); + + +/***/ }), +/* 448 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); +var getMethod = __webpack_require__(29); +var advanceStringIndex = __webpack_require__(450); +var regExpExec = __webpack_require__(451); + +// @@match logic +fixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) { + return [ + // `String.prototype.match` method + // https://tc39.es/ecma262/#sec-string.prototype.match + function match(regexp) { + var O = requireObjectCoercible(this); + var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH); + return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O)); + }, + // `RegExp.prototype[@@match]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@match + function (string) { + var rx = anObject(this); + var S = toString(string); + var res = maybeCallNative(nativeMatch, rx, S); + + if (res.done) return res.value; + + if (!rx.global) return regExpExec(rx, S); + + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + var A = []; + var n = 0; + var result; + while ((result = regExpExec(rx, S)) !== null) { + var matchStr = toString(result[0]); + A[n] = matchStr; + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + n++; + } + return n === 0 ? null : A; + } + ]; +}); + + +/***/ }), +/* 449 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` since it's moved to entry points +__webpack_require__(408); +var call = __webpack_require__(8); +var defineBuiltIn = __webpack_require__(47); +var regexpExec = __webpack_require__(409); +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var createNonEnumerableProperty = __webpack_require__(43); + +var SPECIES = wellKnownSymbol('species'); +var RegExpPrototype = RegExp.prototype; + +module.exports = function (KEY, exec, FORCED, SHAM) { + var SYMBOL = wellKnownSymbol(KEY); + + var DELEGATES_TO_SYMBOL = !fails(function () { + // String methods call symbol-named RegExp methods + var O = {}; + O[SYMBOL] = function () { return 7; }; + return ''[KEY](O) !== 7; + }); + + var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { + // Symbol-named RegExp methods call .exec + var execCalled = false; + var re = /a/; + + if (KEY === 'split') { + // We can't use real regex here since it causes deoptimization + // and serious performance degradation in V8 + // https://github.com/zloirock/core-js/issues/306 + re = {}; + // RegExp[@@split] doesn't call the regex's exec method, but first creates + // a new one. We need to return the patched regex when creating the new one. + re.constructor = {}; + re.constructor[SPECIES] = function () { return re; }; + re.flags = ''; + re[SYMBOL] = /./[SYMBOL]; + } + + re.exec = function () { + execCalled = true; + return null; + }; + + re[SYMBOL](''); + return !execCalled; + }); + + if ( + !DELEGATES_TO_SYMBOL || + !DELEGATES_TO_EXEC || + FORCED + ) { + var nativeRegExpMethod = /./[SYMBOL]; + var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { + var $exec = regexp.exec; + if ($exec === regexpExec || $exec === RegExpPrototype.exec) { + if (DELEGATES_TO_SYMBOL && !forceStringMethod) { + // The native String method already delegates to @@method (this + // polyfilled function), leasing to infinite recursion. + // We avoid it by directly calling the native @@method method. + return { done: true, value: call(nativeRegExpMethod, regexp, str, arg2) }; + } + return { done: true, value: call(nativeMethod, str, regexp, arg2) }; + } + return { done: false }; + }); + + defineBuiltIn(String.prototype, KEY, methods[0]); + defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]); + } + + if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true); +}; + + +/***/ }), +/* 450 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var charAt = (__webpack_require__(440).charAt); + +// `AdvanceStringIndex` abstract operation +// https://tc39.es/ecma262/#sec-advancestringindex +module.exports = function (S, index, unicode) { + return index + (unicode ? charAt(S, index).length : 1); +}; + + +/***/ }), +/* 451 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(15); +var regexpExec = __webpack_require__(409); + +var $TypeError = TypeError; + +// `RegExpExec` abstract operation +// https://tc39.es/ecma262/#sec-regexpexec +module.exports = function (R, S) { + var exec = R.exec; + if (isCallable(exec)) { + var result = call(exec, R, S); + if (result !== null) anObject(result); + return result; + } + if (classof(R) === 'RegExp') return call(regexpExec, R, S); + throw new $TypeError('RegExp#exec called on incompatible receiver'); +}; + + +/***/ }), +/* 452 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-string-prototype-matchall -- safe */ +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(85); +var createIteratorConstructor = __webpack_require__(170); +var createIterResultObject = __webpack_require__(172); +var requireObjectCoercible = __webpack_require__(16); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var classof = __webpack_require__(15); +var isRegExp = __webpack_require__(401); +var getRegExpFlags = __webpack_require__(402); +var getMethod = __webpack_require__(29); +var defineBuiltIn = __webpack_require__(47); +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var speciesConstructor = __webpack_require__(358); +var advanceStringIndex = __webpack_require__(450); +var regExpExec = __webpack_require__(451); +var InternalStateModule = __webpack_require__(51); +var IS_PURE = __webpack_require__(36); + +var MATCH_ALL = wellKnownSymbol('matchAll'); +var REGEXP_STRING = 'RegExp String'; +var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR); +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; +var stringIndexOf = uncurryThis(''.indexOf); +var nativeMatchAll = uncurryThis(''.matchAll); + +var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () { + nativeMatchAll('a', /./); +}); + +var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, $global, fullUnicode) { + setInternalState(this, { + type: REGEXP_STRING_ITERATOR, + regexp: regexp, + string: string, + global: $global, + unicode: fullUnicode, + done: false + }); +}, REGEXP_STRING, function next() { + var state = getInternalState(this); + if (state.done) return createIterResultObject(undefined, true); + var R = state.regexp; + var S = state.string; + var match = regExpExec(R, S); + if (match === null) { + state.done = true; + return createIterResultObject(undefined, true); + } + if (state.global) { + if (toString(match[0]) === '') R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode); + return createIterResultObject(match, false); + } + state.done = true; + return createIterResultObject(match, false); +}); + +var $matchAll = function (string) { + var R = anObject(this); + var S = toString(string); + var C = speciesConstructor(R, RegExp); + var flags = toString(getRegExpFlags(R)); + var matcher, $global, fullUnicode; + matcher = new C(C === RegExp ? R.source : R, flags); + $global = !!~stringIndexOf(flags, 'g'); + fullUnicode = !!~stringIndexOf(flags, 'u'); + matcher.lastIndex = toLength(R.lastIndex); + return new $RegExpStringIterator(matcher, S, $global, fullUnicode); +}; + +// `String.prototype.matchAll` method +// https://tc39.es/ecma262/#sec-string.prototype.matchall +$({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, { + matchAll: function matchAll(regexp) { + var O = requireObjectCoercible(this); + var flags, S, matcher, rx; + if (!isNullOrUndefined(regexp)) { + if (isRegExp(regexp)) { + flags = toString(requireObjectCoercible(getRegExpFlags(regexp))); + if (!~stringIndexOf(flags, 'g')) throw new $TypeError('`.matchAll` does not allow non-global regexes'); + } + if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll(O, regexp); + matcher = getMethod(regexp, MATCH_ALL); + if (matcher === undefined && IS_PURE && classof(regexp) === 'RegExp') matcher = $matchAll; + if (matcher) return call(matcher, regexp, O); + } else if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll(O, regexp); + S = toString(O); + rx = new RegExp(regexp, 'g'); + return IS_PURE ? call($matchAll, rx, S) : rx[MATCH_ALL](S); + } +}); + +IS_PURE || MATCH_ALL in RegExpPrototype || defineBuiltIn(RegExpPrototype, MATCH_ALL, $matchAll); + + +/***/ }), +/* 453 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $padEnd = (__webpack_require__(238).end); +var WEBKIT_BUG = __webpack_require__(454); + +// `String.prototype.padEnd` method +// https://tc39.es/ecma262/#sec-string.prototype.padend +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padEnd: function padEnd(maxLength /* , fillString = ' ' */) { + return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 454 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// https://github.com/zloirock/core-js/issues/280 +var userAgent = __webpack_require__(28); + +module.exports = /Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(userAgent); + + +/***/ }), +/* 455 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $padStart = (__webpack_require__(238).start); +var WEBKIT_BUG = __webpack_require__(454); + +// `String.prototype.padStart` method +// https://tc39.es/ecma262/#sec-string.prototype.padstart +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padStart: function padStart(maxLength /* , fillString = ' ' */) { + return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 456 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIndexedObject = __webpack_require__(12); +var toObject = __webpack_require__(39); +var toString = __webpack_require__(68); +var lengthOfArrayLike = __webpack_require__(63); + +var push = uncurryThis([].push); +var join = uncurryThis([].join); + +// `String.raw` method +// https://tc39.es/ecma262/#sec-string.raw +$({ target: 'String', stat: true }, { + raw: function raw(template) { + var rawTemplate = toIndexedObject(toObject(template).raw); + var literalSegments = lengthOfArrayLike(rawTemplate); + if (!literalSegments) return ''; + var argumentsLength = arguments.length; + var elements = []; + var i = 0; + while (true) { + push(elements, toString(rawTemplate[i++])); + if (i === literalSegments) return join(elements, ''); + if (i < argumentsLength) push(elements, toString(arguments[i])); + } + } +}); + + +/***/ }), +/* 457 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var repeat = __webpack_require__(239); + +// `String.prototype.repeat` method +// https://tc39.es/ecma262/#sec-string.prototype.repeat +$({ target: 'String', proto: true }, { + repeat: repeat +}); + + +/***/ }), +/* 458 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var apply = __webpack_require__(94); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var fails = __webpack_require__(7); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); +var advanceStringIndex = __webpack_require__(450); +var getMethod = __webpack_require__(29); +var getSubstitution = __webpack_require__(459); +var regExpExec = __webpack_require__(451); +var wellKnownSymbol = __webpack_require__(33); + +var REPLACE = wellKnownSymbol('replace'); +var max = Math.max; +var min = Math.min; +var concat = uncurryThis([].concat); +var push = uncurryThis([].push); +var stringIndexOf = uncurryThis(''.indexOf); +var stringSlice = uncurryThis(''.slice); + +var maybeToString = function (it) { + return it === undefined ? it : String(it); +}; + +// IE <= 11 replaces $0 with the whole match, as if it was $& +// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 +var REPLACE_KEEPS_$0 = (function () { + // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing + return 'a'.replace(/./, '$0') === '$0'; +})(); + +// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string +var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () { + if (/./[REPLACE]) { + return /./[REPLACE]('a', '$0') === ''; + } + return false; +})(); + +var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { + var re = /./; + re.exec = function () { + var result = []; + result.groups = { a: '7' }; + return result; + }; + // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive + return ''.replace(re, '$<a>') !== '7'; +}); + +// @@replace logic +fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) { + var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0'; + + return [ + // `String.prototype.replace` method + // https://tc39.es/ecma262/#sec-string.prototype.replace + function replace(searchValue, replaceValue) { + var O = requireObjectCoercible(this); + var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE); + return replacer + ? call(replacer, searchValue, O, replaceValue) + : call(nativeReplace, toString(O), searchValue, replaceValue); + }, + // `RegExp.prototype[@@replace]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace + function (string, replaceValue) { + var rx = anObject(this); + var S = toString(string); + + if ( + typeof replaceValue == 'string' && + stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 && + stringIndexOf(replaceValue, '$<') === -1 + ) { + var res = maybeCallNative(nativeReplace, rx, S, replaceValue); + if (res.done) return res.value; + } + + var functionalReplace = isCallable(replaceValue); + if (!functionalReplace) replaceValue = toString(replaceValue); + + var global = rx.global; + var fullUnicode; + if (global) { + fullUnicode = rx.unicode; + rx.lastIndex = 0; + } + + var results = []; + var result; + while (true) { + result = regExpExec(rx, S); + if (result === null) break; + + push(results, result); + if (!global) break; + + var matchStr = toString(result[0]); + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + } + + var accumulatedResult = ''; + var nextSourcePosition = 0; + for (var i = 0; i < results.length; i++) { + result = results[i]; + + var matched = toString(result[0]); + var position = max(min(toIntegerOrInfinity(result.index), S.length), 0); + var captures = []; + var replacement; + // NOTE: This is equivalent to + // captures = result.slice(1).map(maybeToString) + // but for some reason `nativeSlice.call(result, 1, result.length)` (called in + // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and + // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. + for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j])); + var namedCaptures = result.groups; + if (functionalReplace) { + var replacerArgs = concat([matched], captures, position, S); + if (namedCaptures !== undefined) push(replacerArgs, namedCaptures); + replacement = toString(apply(replaceValue, undefined, replacerArgs)); + } else { + replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); + } + if (position >= nextSourcePosition) { + accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement; + nextSourcePosition = position + matched.length; + } + } + + return accumulatedResult + stringSlice(S, nextSourcePosition); + } + ]; +}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE); + + +/***/ }), +/* 459 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toObject = __webpack_require__(39); + +var floor = Math.floor; +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); +// eslint-disable-next-line redos/no-vulnerable -- safe +var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g; +var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g; + +// `GetSubstitution` abstract operation +// https://tc39.es/ecma262/#sec-getsubstitution +module.exports = function (matched, str, position, captures, namedCaptures, replacement) { + var tailPos = position + matched.length; + var m = captures.length; + var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; + if (namedCaptures !== undefined) { + namedCaptures = toObject(namedCaptures); + symbols = SUBSTITUTION_SYMBOLS; + } + return replace(replacement, symbols, function (match, ch) { + var capture; + switch (charAt(ch, 0)) { + case '$': return '$'; + case '&': return matched; + case '`': return stringSlice(str, 0, position); + case "'": return stringSlice(str, tailPos); + case '<': + capture = namedCaptures[stringSlice(ch, 1, -1)]; + break; + default: // \d\d? + var n = +ch; + if (n === 0) return match; + if (n > m) { + var f = floor(n / 10); + if (f === 0) return match; + if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1); + return match; + } + capture = captures[n - 1]; + } + return capture === undefined ? '' : capture; + }); +}; + + +/***/ }), +/* 460 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var isRegExp = __webpack_require__(401); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var getRegExpFlags = __webpack_require__(402); +var getSubstitution = __webpack_require__(459); +var wellKnownSymbol = __webpack_require__(33); +var IS_PURE = __webpack_require__(36); + +var REPLACE = wellKnownSymbol('replace'); +var $TypeError = TypeError; +var indexOf = uncurryThis(''.indexOf); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); +var max = Math.max; + +// `String.prototype.replaceAll` method +// https://tc39.es/ecma262/#sec-string.prototype.replaceall +$({ target: 'String', proto: true }, { + replaceAll: function replaceAll(searchValue, replaceValue) { + var O = requireObjectCoercible(this); + var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, position, replacement; + var endOfLastMatch = 0; + var result = ''; + if (!isNullOrUndefined(searchValue)) { + IS_REG_EXP = isRegExp(searchValue); + if (IS_REG_EXP) { + flags = toString(requireObjectCoercible(getRegExpFlags(searchValue))); + if (!~indexOf(flags, 'g')) throw new $TypeError('`.replaceAll` does not allow non-global regexes'); + } + replacer = getMethod(searchValue, REPLACE); + if (replacer) return call(replacer, searchValue, O, replaceValue); + if (IS_PURE && IS_REG_EXP) return replace(toString(O), searchValue, replaceValue); + } + string = toString(O); + searchString = toString(searchValue); + functionalReplace = isCallable(replaceValue); + if (!functionalReplace) replaceValue = toString(replaceValue); + searchLength = searchString.length; + advanceBy = max(1, searchLength); + position = indexOf(string, searchString); + while (position !== -1) { + replacement = functionalReplace + ? toString(replaceValue(searchString, position, string)) + : getSubstitution(searchString, string, position, [], undefined, replaceValue); + result += stringSlice(string, endOfLastMatch, position) + replacement; + endOfLastMatch = position + searchLength; + position = position + advanceBy > string.length ? -1 : indexOf(string, searchString, position + advanceBy); + } + if (endOfLastMatch < string.length) { + result += stringSlice(string, endOfLastMatch); + } + return result; + } +}); + + +/***/ }), +/* 461 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var requireObjectCoercible = __webpack_require__(16); +var sameValue = __webpack_require__(340); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var regExpExec = __webpack_require__(451); + +// @@search logic +fixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) { + return [ + // `String.prototype.search` method + // https://tc39.es/ecma262/#sec-string.prototype.search + function search(regexp) { + var O = requireObjectCoercible(this); + var searcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, SEARCH); + return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O)); + }, + // `RegExp.prototype[@@search]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@search + function (string) { + var rx = anObject(this); + var S = toString(string); + var res = maybeCallNative(nativeSearch, rx, S); + + if (res.done) return res.value; + + var previousLastIndex = rx.lastIndex; + if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; + var result = regExpExec(rx, S); + if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; + return result === null ? -1 : result.index; + } + ]; +}); + + +/***/ }), +/* 462 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var requireObjectCoercible = __webpack_require__(16); +var speciesConstructor = __webpack_require__(358); +var advanceStringIndex = __webpack_require__(450); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var regExpExec = __webpack_require__(451); +var stickyHelpers = __webpack_require__(404); +var fails = __webpack_require__(7); + +var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; +var MAX_UINT32 = 0xFFFFFFFF; +var min = Math.min; +var push = uncurryThis([].push); +var stringSlice = uncurryThis(''.slice); + +// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec +// Weex JS has frozen built-in prototypes, so use try / catch wrapper +var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { + // eslint-disable-next-line regexp/no-empty-group -- required for testing + var re = /(?:)/; + var originalExec = re.exec; + re.exec = function () { return originalExec.apply(this, arguments); }; + var result = 'ab'.split(re); + return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; +}); + +var BUGGY = 'abbc'.split(/(b)*/)[1] === 'c' || + // eslint-disable-next-line regexp/no-empty-group -- required for testing + 'test'.split(/(?:)/, -1).length !== 4 || + 'ab'.split(/(?:ab)*/).length !== 2 || + '.'.split(/(.?)(.?)/).length !== 4 || + // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing + '.'.split(/()()/).length > 1 || + ''.split(/.?/).length; + +// @@split logic +fixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) { + var internalSplit = '0'.split(undefined, 0).length ? function (separator, limit) { + return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit); + } : nativeSplit; + + return [ + // `String.prototype.split` method + // https://tc39.es/ecma262/#sec-string.prototype.split + function split(separator, limit) { + var O = requireObjectCoercible(this); + var splitter = isNullOrUndefined(separator) ? undefined : getMethod(separator, SPLIT); + return splitter + ? call(splitter, separator, O, limit) + : call(internalSplit, toString(O), separator, limit); + }, + // `RegExp.prototype[@@split]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@split + // + // NOTE: This cannot be properly polyfilled in engines that don't support + // the 'y' flag. + function (string, limit) { + var rx = anObject(this); + var S = toString(string); + + if (!BUGGY) { + var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit); + if (res.done) return res.value; + } + + var C = speciesConstructor(rx, RegExp); + var unicodeMatching = rx.unicode; + var flags = (rx.ignoreCase ? 'i' : '') + + (rx.multiline ? 'm' : '') + + (rx.unicode ? 'u' : '') + + (UNSUPPORTED_Y ? 'g' : 'y'); + // ^(? + rx + ) is needed, in combination with some S slicing, to + // simulate the 'y' flag. + var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags); + var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; + if (lim === 0) return []; + if (S.length === 0) return regExpExec(splitter, S) === null ? [S] : []; + var p = 0; + var q = 0; + var A = []; + while (q < S.length) { + splitter.lastIndex = UNSUPPORTED_Y ? 0 : q; + var z = regExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S); + var e; + if ( + z === null || + (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p + ) { + q = advanceStringIndex(S, q, unicodeMatching); + } else { + push(A, stringSlice(S, p, q)); + if (A.length === lim) return A; + for (var i = 1; i <= z.length - 1; i++) { + push(A, z[i]); + if (A.length === lim) return A; + } + q = p = e; + } + } + push(A, stringSlice(S, p)); + return A; + } + ]; +}, BUGGY || !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y); + + +/***/ }), +/* 463 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var correctIsRegExpLogic = __webpack_require__(443); +var IS_PURE = __webpack_require__(36); + +var stringSlice = uncurryThis(''.slice); +var min = Math.min; + +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); + return descriptor && !descriptor.writable; +}(); + +// `String.prototype.startsWith` method +// https://tc39.es/ecma262/#sec-string.prototype.startswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = toString(requireObjectCoercible(this)); + notARegExp(searchString); + var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = toString(searchString); + return stringSlice(that, index, index + search.length) === search; + } +}); + + +/***/ }), +/* 464 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); + +var stringSlice = uncurryThis(''.slice); +var max = Math.max; +var min = Math.min; + +// eslint-disable-next-line unicorn/prefer-string-slice -- required for testing +var FORCED = !''.substr || 'ab'.substr(-1) !== 'b'; + +// `String.prototype.substr` method +// https://tc39.es/ecma262/#sec-string.prototype.substr +$({ target: 'String', proto: true, forced: FORCED }, { + substr: function substr(start, length) { + var that = toString(requireObjectCoercible(this)); + var size = that.length; + var intStart = toIntegerOrInfinity(start); + var intLength, intEnd; + if (intStart === Infinity) intStart = 0; + if (intStart < 0) intStart = max(size + intStart, 0); + intLength = length === undefined ? size : toIntegerOrInfinity(length); + if (intLength <= 0 || intLength === Infinity) return ''; + intEnd = min(intStart + intLength, size); + return intStart >= intEnd ? '' : stringSlice(that, intStart, intEnd); + } +}); + + +/***/ }), +/* 465 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); + +var $Array = Array; +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var join = uncurryThis([].join); +// eslint-disable-next-line es/no-string-prototype-towellformed -- safe +var $toWellFormed = ''.toWellFormed; +var REPLACEMENT_CHARACTER = '\uFFFD'; + +// Safari bug +var TO_STRING_CONVERSION_BUG = $toWellFormed && fails(function () { + return call($toWellFormed, 1) !== '1'; +}); + +// `String.prototype.toWellFormed` method +// https://tc39.es/ecma262/#sec-string.prototype.towellformed +$({ target: 'String', proto: true, forced: TO_STRING_CONVERSION_BUG }, { + toWellFormed: function toWellFormed() { + var S = toString(requireObjectCoercible(this)); + if (TO_STRING_CONVERSION_BUG) return call($toWellFormed, S); + var length = S.length; + var result = $Array(length); + for (var i = 0; i < length; i++) { + var charCode = charCodeAt(S, i); + // single UTF-16 code unit + if ((charCode & 0xF800) !== 0xD800) result[i] = charAt(S, i); + // unpaired surrogate + else if (charCode >= 0xDC00 || i + 1 >= length || (charCodeAt(S, i + 1) & 0xFC00) !== 0xDC00) result[i] = REPLACEMENT_CHARACTER; + // surrogate pair + else { + result[i] = charAt(S, i); + result[++i] = charAt(S, i); + } + } return join(result, ''); + } +}); + + +/***/ }), +/* 466 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $trim = (__webpack_require__(303).trim); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.trim` method +// https://tc39.es/ecma262/#sec-string.prototype.trim +$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, { + trim: function trim() { + return $trim(this); + } +}); + + +/***/ }), +/* 467 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var PROPER_FUNCTION_NAME = (__webpack_require__(49).PROPER); +var fails = __webpack_require__(7); +var whitespaces = __webpack_require__(304); + +var non = '\u200B\u0085\u180E'; + +// check that a method works with the correct list +// of whitespaces and has a correct name +module.exports = function (METHOD_NAME) { + return fails(function () { + return !!whitespaces[METHOD_NAME]() + || non[METHOD_NAME]() !== non + || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME); + }); +}; + + +/***/ }), +/* 468 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this line from `core-js@4` +__webpack_require__(469); +var $ = __webpack_require__(3); +var trimEnd = __webpack_require__(470); + +// `String.prototype.trimEnd` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimEnd !== trimEnd }, { + trimEnd: trimEnd +}); + + +/***/ }), +/* 469 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trimEnd = __webpack_require__(470); + +// `String.prototype.trimRight` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe +$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimRight !== trimEnd }, { + trimRight: trimEnd +}); + + +/***/ }), +/* 470 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $trimEnd = (__webpack_require__(303).end); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.{ trimEnd, trimRight }` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// https://tc39.es/ecma262/#String.prototype.trimright +module.exports = forcedStringTrimMethod('trimEnd') ? function trimEnd() { + return $trimEnd(this); +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +} : ''.trimEnd; + + +/***/ }), +/* 471 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this line from `core-js@4` +__webpack_require__(472); +var $ = __webpack_require__(3); +var trimStart = __webpack_require__(473); + +// `String.prototype.trimStart` method +// https://tc39.es/ecma262/#sec-string.prototype.trimstart +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimStart !== trimStart }, { + trimStart: trimStart +}); + + +/***/ }), +/* 472 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trimStart = __webpack_require__(473); + +// `String.prototype.trimLeft` method +// https://tc39.es/ecma262/#sec-string.prototype.trimleft +// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe +$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimLeft !== trimStart }, { + trimLeft: trimStart +}); + + +/***/ }), +/* 473 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $trimStart = (__webpack_require__(303).start); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.{ trimStart, trimLeft }` method +// https://tc39.es/ecma262/#sec-string.prototype.trimstart +// https://tc39.es/ecma262/#String.prototype.trimleft +module.exports = forcedStringTrimMethod('trimStart') ? function trimStart() { + return $trimStart(this); +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +} : ''.trimStart; + + +/***/ }), +/* 474 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.anchor` method +// https://tc39.es/ecma262/#sec-string.prototype.anchor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, { + anchor: function anchor(name) { + return createHTML(this, 'a', 'name', name); + } +}); + + +/***/ }), +/* 475 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); + +var quot = /"/g; +var replace = uncurryThis(''.replace); + +// `CreateHTML` abstract operation +// https://tc39.es/ecma262/#sec-createhtml +module.exports = function (string, tag, attribute, value) { + var S = toString(requireObjectCoercible(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + replace(toString(value), quot, '"') + '"'; + return p1 + '>' + S + '</' + tag + '>'; +}; + + +/***/ }), +/* 476 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +// check the existence of a method, lowercase +// of a tag and escaping quotes in arguments +module.exports = function (METHOD_NAME) { + return fails(function () { + var test = ''[METHOD_NAME]('"'); + return test !== test.toLowerCase() || test.split('"').length > 3; + }); +}; + + +/***/ }), +/* 477 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.big` method +// https://tc39.es/ecma262/#sec-string.prototype.big +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('big') }, { + big: function big() { + return createHTML(this, 'big', '', ''); + } +}); + + +/***/ }), +/* 478 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.blink` method +// https://tc39.es/ecma262/#sec-string.prototype.blink +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('blink') }, { + blink: function blink() { + return createHTML(this, 'blink', '', ''); + } +}); + + +/***/ }), +/* 479 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.bold` method +// https://tc39.es/ecma262/#sec-string.prototype.bold +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, { + bold: function bold() { + return createHTML(this, 'b', '', ''); + } +}); + + +/***/ }), +/* 480 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fixed` method +// https://tc39.es/ecma262/#sec-string.prototype.fixed +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, { + fixed: function fixed() { + return createHTML(this, 'tt', '', ''); + } +}); + + +/***/ }), +/* 481 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fontcolor` method +// https://tc39.es/ecma262/#sec-string.prototype.fontcolor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontcolor') }, { + fontcolor: function fontcolor(color) { + return createHTML(this, 'font', 'color', color); + } +}); + + +/***/ }), +/* 482 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fontsize` method +// https://tc39.es/ecma262/#sec-string.prototype.fontsize +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontsize') }, { + fontsize: function fontsize(size) { + return createHTML(this, 'font', 'size', size); + } +}); + + +/***/ }), +/* 483 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.italics` method +// https://tc39.es/ecma262/#sec-string.prototype.italics +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, { + italics: function italics() { + return createHTML(this, 'i', '', ''); + } +}); + + +/***/ }), +/* 484 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.link` method +// https://tc39.es/ecma262/#sec-string.prototype.link +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, { + link: function link(url) { + return createHTML(this, 'a', 'href', url); + } +}); + + +/***/ }), +/* 485 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.small` method +// https://tc39.es/ecma262/#sec-string.prototype.small +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('small') }, { + small: function small() { + return createHTML(this, 'small', '', ''); + } +}); + + +/***/ }), +/* 486 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.strike` method +// https://tc39.es/ecma262/#sec-string.prototype.strike +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, { + strike: function strike() { + return createHTML(this, 'strike', '', ''); + } +}); + + +/***/ }), +/* 487 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.sub` method +// https://tc39.es/ecma262/#sec-string.prototype.sub +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sub') }, { + sub: function sub() { + return createHTML(this, 'sub', '', ''); + } +}); + + +/***/ }), +/* 488 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.sup` method +// https://tc39.es/ecma262/#sec-string.prototype.sup +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sup') }, { + sup: function sup() { + return createHTML(this, 'sup', '', ''); + } +}); + + +/***/ }), +/* 489 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Float32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Float32', function (init) { + return function Float32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 490 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var DESCRIPTORS = __webpack_require__(6); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); +var ArrayBufferViewCore = __webpack_require__(218); +var ArrayBufferModule = __webpack_require__(208); +var anInstance = __webpack_require__(211); +var createPropertyDescriptor = __webpack_require__(11); +var createNonEnumerableProperty = __webpack_require__(43); +var isIntegralNumber = __webpack_require__(309); +var toLength = __webpack_require__(64); +var toIndex = __webpack_require__(212); +var toOffset = __webpack_require__(492); +var toUint8Clamped = __webpack_require__(493); +var toPropertyKey = __webpack_require__(18); +var hasOwn = __webpack_require__(38); +var classof = __webpack_require__(69); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var create = __webpack_require__(71); +var isPrototypeOf = __webpack_require__(24); +var setPrototypeOf = __webpack_require__(113); +var getOwnPropertyNames = (__webpack_require__(57).f); +var typedArrayFrom = __webpack_require__(494); +var forEach = (__webpack_require__(83).forEach); +var setSpecies = __webpack_require__(194); +var defineBuiltInAccessor = __webpack_require__(77); +var definePropertyModule = __webpack_require__(44); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var arrayFromConstructorAndList = __webpack_require__(199); +var InternalStateModule = __webpack_require__(51); +var inheritIfRequired = __webpack_require__(118); + +var getInternalState = InternalStateModule.get; +var setInternalState = InternalStateModule.set; +var enforceInternalState = InternalStateModule.enforce; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var RangeError = globalThis.RangeError; +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataView = ArrayBufferModule.DataView; +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; +var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG; +var TypedArray = ArrayBufferViewCore.TypedArray; +var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype; +var isTypedArray = ArrayBufferViewCore.isTypedArray; +var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; +var WRONG_LENGTH = 'Wrong length'; + +var addGetter = function (it, key) { + defineBuiltInAccessor(it, key, { + configurable: true, + get: function () { + return getInternalState(this)[key]; + } + }); +}; + +var isArrayBuffer = function (it) { + var klass; + return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) === 'ArrayBuffer' || klass === 'SharedArrayBuffer'; +}; + +var isTypedArrayIndex = function (target, key) { + return isTypedArray(target) + && !isSymbol(key) + && key in target + && isIntegralNumber(+key) + && key >= 0; +}; + +var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) { + key = toPropertyKey(key); + return isTypedArrayIndex(target, key) + ? createPropertyDescriptor(2, target[key]) + : nativeGetOwnPropertyDescriptor(target, key); +}; + +var wrappedDefineProperty = function defineProperty(target, key, descriptor) { + key = toPropertyKey(key); + if (isTypedArrayIndex(target, key) + && isObject(descriptor) + && hasOwn(descriptor, 'value') + && !hasOwn(descriptor, 'get') + && !hasOwn(descriptor, 'set') + // TODO: add validation descriptor w/o calling accessors + && !descriptor.configurable + && (!hasOwn(descriptor, 'writable') || descriptor.writable) + && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable) + ) { + target[key] = descriptor.value; + return target; + } return nativeDefineProperty(target, key, descriptor); +}; + +if (DESCRIPTORS) { + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor; + definePropertyModule.f = wrappedDefineProperty; + addGetter(TypedArrayPrototype, 'buffer'); + addGetter(TypedArrayPrototype, 'byteOffset'); + addGetter(TypedArrayPrototype, 'byteLength'); + addGetter(TypedArrayPrototype, 'length'); + } + + $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor, + defineProperty: wrappedDefineProperty + }); + + module.exports = function (TYPE, wrapper, CLAMPED) { + var BYTES = TYPE.match(/\d+/)[0] / 8; + var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array'; + var GETTER = 'get' + TYPE; + var SETTER = 'set' + TYPE; + var NativeTypedArrayConstructor = globalThis[CONSTRUCTOR_NAME]; + var TypedArrayConstructor = NativeTypedArrayConstructor; + var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype; + var exported = {}; + + var getter = function (that, index) { + var data = getInternalState(that); + return data.view[GETTER](index * BYTES + data.byteOffset, true); + }; + + var setter = function (that, index, value) { + var data = getInternalState(that); + data.view[SETTER](index * BYTES + data.byteOffset, CLAMPED ? toUint8Clamped(value) : value, true); + }; + + var addElement = function (that, index) { + nativeDefineProperty(that, index, { + get: function () { + return getter(this, index); + }, + set: function (value) { + return setter(this, index, value); + }, + enumerable: true + }); + }; + + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + TypedArrayConstructor = wrapper(function (that, data, offset, $length) { + anInstance(that, TypedArrayConstructorPrototype); + var index = 0; + var byteOffset = 0; + var buffer, byteLength, length; + if (!isObject(data)) { + length = toIndex(data); + byteLength = length * BYTES; + buffer = new ArrayBuffer(byteLength); + } else if (isArrayBuffer(data)) { + buffer = data; + byteOffset = toOffset(offset, BYTES); + var $len = data.byteLength; + if ($length === undefined) { + if ($len % BYTES) throw new RangeError(WRONG_LENGTH); + byteLength = $len - byteOffset; + if (byteLength < 0) throw new RangeError(WRONG_LENGTH); + } else { + byteLength = toLength($length) * BYTES; + if (byteLength + byteOffset > $len) throw new RangeError(WRONG_LENGTH); + } + length = byteLength / BYTES; + } else if (isTypedArray(data)) { + return arrayFromConstructorAndList(TypedArrayConstructor, data); + } else { + return call(typedArrayFrom, TypedArrayConstructor, data); + } + setInternalState(that, { + buffer: buffer, + byteOffset: byteOffset, + byteLength: byteLength, + length: length, + view: new DataView(buffer) + }); + while (index < length) addElement(that, index++); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype); + } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) { + TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) { + anInstance(dummy, TypedArrayConstructorPrototype); + return inheritIfRequired(function () { + if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data)); + if (isArrayBuffer(data)) return $length !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length) + : typedArrayOffset !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES)) + : new NativeTypedArrayConstructor(data); + if (isTypedArray(data)) return arrayFromConstructorAndList(TypedArrayConstructor, data); + return call(typedArrayFrom, TypedArrayConstructor, data); + }(), dummy, TypedArrayConstructor); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) { + if (!(key in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]); + } + }); + TypedArrayConstructor.prototype = TypedArrayConstructorPrototype; + } + + if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor); + } + + enforceInternalState(TypedArrayConstructorPrototype).TypedArrayConstructor = TypedArrayConstructor; + + if (TYPED_ARRAY_TAG) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME); + } + + var FORCED = TypedArrayConstructor !== NativeTypedArrayConstructor; + + exported[CONSTRUCTOR_NAME] = TypedArrayConstructor; + + $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported); + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES); + } + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES); + } + + setSpecies(CONSTRUCTOR_NAME); + }; +} else module.exports = function () { /* empty */ }; + + +/***/ }), +/* 491 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-new, sonarjs/inconsistent-function-call -- required for testing */ +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var checkCorrectnessOfIteration = __webpack_require__(164); +var NATIVE_ARRAY_BUFFER_VIEWS = (__webpack_require__(218).NATIVE_ARRAY_BUFFER_VIEWS); + +var ArrayBuffer = globalThis.ArrayBuffer; +var Int8Array = globalThis.Int8Array; + +module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () { + Int8Array(1); +}) || !fails(function () { + new Int8Array(-1); +}) || !checkCorrectnessOfIteration(function (iterable) { + new Int8Array(); + new Int8Array(null); + new Int8Array(1.5); + new Int8Array(iterable); +}, true) || fails(function () { + // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill + return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1; +}); + + +/***/ }), +/* 492 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPositiveInteger = __webpack_require__(254); + +var $RangeError = RangeError; + +module.exports = function (it, BYTES) { + var offset = toPositiveInteger(it); + if (offset % BYTES) throw new $RangeError('Wrong offset'); + return offset; +}; + + +/***/ }), +/* 493 */ +/***/ (function(module) { + + +var round = Math.round; + +module.exports = function (it) { + var value = round(it); + return value < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF; +}; + + +/***/ }), +/* 494 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var aConstructor = __webpack_require__(359); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var isArrayIteratorMethod = __webpack_require__(131); +var isBigIntArray = __webpack_require__(495); +var aTypedArrayConstructor = (__webpack_require__(218).aTypedArrayConstructor); +var toBigInt = __webpack_require__(496); + +module.exports = function from(source /* , mapfn, thisArg */) { + var C = aConstructor(this); + var O = toObject(source); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iteratorMethod = getIteratorMethod(O); + var i, length, result, thisIsBigIntArray, value, step, iterator, next; + if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) { + iterator = getIterator(O, iteratorMethod); + next = iterator.next; + O = []; + while (!(step = call(next, iterator)).done) { + O.push(step.value); + } + } + if (mapping && argumentsLength > 2) { + mapfn = bind(mapfn, arguments[2]); + } + length = lengthOfArrayLike(O); + result = new (aTypedArrayConstructor(C))(length); + thisIsBigIntArray = isBigIntArray(result); + for (i = 0; length > i; i++) { + value = mapping ? mapfn(O[i], i) : O[i]; + // FF30- typed arrays doesn't properly convert objects to typed array values + result[i] = thisIsBigIntArray ? toBigInt(value) : +value; + } + return result; +}; + + +/***/ }), +/* 495 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); + +module.exports = function (it) { + var klass = classof(it); + return klass === 'BigInt64Array' || klass === 'BigUint64Array'; +}; + + +/***/ }), +/* 496 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPrimitive = __webpack_require__(19); + +var $TypeError = TypeError; + +// `ToBigInt` abstract operation +// https://tc39.es/ecma262/#sec-tobigint +module.exports = function (argument) { + var prim = toPrimitive(argument, 'number'); + if (typeof prim == 'number') throw new $TypeError("Can't convert number to bigint"); + // eslint-disable-next-line es/no-bigint -- safe + return BigInt(prim); +}; + + +/***/ }), +/* 497 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Float64Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Float64', function (init) { + return function Float64Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 498 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int8Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int8', function (init) { + return function Int8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 499 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int16Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int16', function (init) { + return function Int16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 500 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int32', function (init) { + return function Int32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 501 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint8Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint8', function (init) { + return function Uint8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 502 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint8ClampedArray` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint8', function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}, true); + + +/***/ }), +/* 503 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint16Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint16', function (init) { + return function Uint16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 504 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint32', function (init) { + return function Uint32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 505 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.at` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.at +exportTypedArrayMethod('at', function at(index) { + var O = aTypedArray(this); + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : O[k]; +}); + + +/***/ }), +/* 506 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var ArrayBufferViewCore = __webpack_require__(218); +var $ArrayCopyWithin = __webpack_require__(144); + +var u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.copyWithin` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin +exportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) { + return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined); +}); + + +/***/ }), +/* 507 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $every = (__webpack_require__(83).every); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.every` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every +exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) { + return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 508 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $fill = __webpack_require__(149); +var toBigInt = __webpack_require__(496); +var classof = __webpack_require__(69); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var slice = uncurryThis(''.slice); + +// V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18 +var CONVERSION_BUG = fails(function () { + var count = 0; + // eslint-disable-next-line es/no-typed-arrays -- safe + new Int8Array(2).fill({ valueOf: function () { return count++; } }); + return count !== 1; +}); + +// `%TypedArray%.prototype.fill` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill +exportTypedArrayMethod('fill', function fill(value /* , start, end */) { + var length = arguments.length; + aTypedArray(this); + var actualValue = slice(classof(this), 0, 3) === 'Big' ? toBigInt(value) : +value; + return call($fill, this, actualValue, length > 1 ? arguments[1] : undefined, length > 2 ? arguments[2] : undefined); +}, CONVERSION_BUG); + + +/***/ }), +/* 509 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $filter = (__webpack_require__(83).filter); +var fromSameTypeAndList = __webpack_require__(510); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.filter` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter +exportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) { + var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return fromSameTypeAndList(this, list); +}); + + +/***/ }), +/* 510 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arrayFromConstructorAndList = __webpack_require__(199); +var getTypedArrayConstructor = (__webpack_require__(218).getTypedArrayConstructor); + +module.exports = function (instance, list) { + return arrayFromConstructorAndList(getTypedArrayConstructor(instance), list); +}; + + +/***/ }), +/* 511 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $find = (__webpack_require__(83).find); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.find` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find +exportTypedArrayMethod('find', function find(predicate /* , thisArg */) { + return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 512 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findIndex = (__webpack_require__(83).findIndex); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex +exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) { + return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 513 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findLast = (__webpack_require__(154).findLast); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findLast` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlast +exportTypedArrayMethod('findLast', function findLast(predicate /* , thisArg */) { + return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 514 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findLastIndex = (__webpack_require__(154).findLastIndex); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findLastIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex +exportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) { + return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 515 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $forEach = (__webpack_require__(83).forEach); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.forEach` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach +exportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) { + $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 516 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); +var exportTypedArrayStaticMethod = (__webpack_require__(218).exportTypedArrayStaticMethod); +var typedArrayFrom = __webpack_require__(494); + +// `%TypedArray%.from` method +// https://tc39.es/ecma262/#sec-%typedarray%.from +exportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + + +/***/ }), +/* 517 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $includes = (__webpack_require__(59).includes); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.includes` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes +exportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) { + return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 518 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $indexOf = (__webpack_require__(59).indexOf); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.indexOf` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof +exportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) { + return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 519 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var ArrayBufferViewCore = __webpack_require__(218); +var ArrayIterators = __webpack_require__(168); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var Uint8Array = globalThis.Uint8Array; +var arrayValues = uncurryThis(ArrayIterators.values); +var arrayKeys = uncurryThis(ArrayIterators.keys); +var arrayEntries = uncurryThis(ArrayIterators.entries); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var TypedArrayPrototype = Uint8Array && Uint8Array.prototype; + +var GENERIC = !fails(function () { + TypedArrayPrototype[ITERATOR].call([1]); +}); + +var ITERATOR_IS_VALUES = !!TypedArrayPrototype + && TypedArrayPrototype.values + && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values + && TypedArrayPrototype.values.name === 'values'; + +var typedArrayValues = function values() { + return arrayValues(aTypedArray(this)); +}; + +// `%TypedArray%.prototype.entries` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries +exportTypedArrayMethod('entries', function entries() { + return arrayEntries(aTypedArray(this)); +}, GENERIC); +// `%TypedArray%.prototype.keys` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys +exportTypedArrayMethod('keys', function keys() { + return arrayKeys(aTypedArray(this)); +}, GENERIC); +// `%TypedArray%.prototype.values` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values +exportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); +// `%TypedArray%.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator +exportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); + + +/***/ }), +/* 520 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var uncurryThis = __webpack_require__(14); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $join = uncurryThis([].join); + +// `%TypedArray%.prototype.join` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join +exportTypedArrayMethod('join', function join(separator) { + return $join(aTypedArray(this), separator); +}); + + +/***/ }), +/* 521 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var apply = __webpack_require__(94); +var $lastIndexOf = __webpack_require__(175); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.lastIndexOf` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof +exportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) { + var length = arguments.length; + return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]); +}); + + +/***/ }), +/* 522 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $map = (__webpack_require__(83).map); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.map` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map +exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) { + return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { + return new (getTypedArrayConstructor(O))(length); + }); +}); + + +/***/ }), +/* 523 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); + +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; +var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod; + +// `%TypedArray%.of` method +// https://tc39.es/ecma262/#sec-%typedarray%.of +exportTypedArrayStaticMethod('of', function of(/* ...items */) { + var index = 0; + var length = arguments.length; + var result = new (aTypedArrayConstructor(this))(length); + while (length > index) result[index] = arguments[index++]; + return result; +}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + + +/***/ }), +/* 524 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $reduce = (__webpack_require__(181).left); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.reduce` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce +exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 525 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $reduceRight = (__webpack_require__(181).right); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.reduceRight` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright +exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 526 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var floor = Math.floor; + +// `%TypedArray%.prototype.reverse` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse +exportTypedArrayMethod('reverse', function reverse() { + var that = this; + var length = aTypedArray(that).length; + var middle = floor(length / 2); + var index = 0; + var value; + while (index < middle) { + value = that[index]; + that[index++] = that[--length]; + that[length] = value; + } return that; +}); + + +/***/ }), +/* 527 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var ArrayBufferViewCore = __webpack_require__(218); +var lengthOfArrayLike = __webpack_require__(63); +var toOffset = __webpack_require__(492); +var toIndexedObject = __webpack_require__(39); +var fails = __webpack_require__(7); + +var RangeError = globalThis.RangeError; +var Int8Array = globalThis.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var $set = Int8ArrayPrototype && Int8ArrayPrototype.set; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + var array = new Uint8ClampedArray(2); + call($set, array, { length: 1, 0: 3 }, 1); + return array[1] !== 3; +}); + +// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other +var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { + var array = new Int8Array(2); + array.set(1); + array.set('2', 1); + return array[0] !== 0 || array[1] !== 2; +}); + +// `%TypedArray%.prototype.set` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set +exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { + aTypedArray(this); + var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); + var src = toIndexedObject(arrayLike); + if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset); + var length = this.length; + var len = lengthOfArrayLike(src); + var index = 0; + if (len + offset > length) throw new RangeError('Wrong length'); + while (index < len) this[offset + index] = src[index++]; +}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + + +/***/ }), +/* 528 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var fails = __webpack_require__(7); +var arraySlice = __webpack_require__(76); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + new Int8Array(1).slice(); +}); + +// `%TypedArray%.prototype.slice` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice +exportTypedArrayMethod('slice', function slice(start, end) { + var list = arraySlice(aTypedArray(this), start, end); + var C = getTypedArrayConstructor(this); + var index = 0; + var length = list.length; + var result = new C(length); + while (length > index) result[index] = list[index++]; + return result; +}, FORCED); + + +/***/ }), +/* 529 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $some = (__webpack_require__(83).some); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.some` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some +exportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) { + return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 530 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(85); +var fails = __webpack_require__(7); +var aCallable = __webpack_require__(30); +var internalSort = __webpack_require__(189); +var ArrayBufferViewCore = __webpack_require__(218); +var FF = __webpack_require__(190); +var IE_OR_EDGE = __webpack_require__(191); +var V8 = __webpack_require__(27); +var WEBKIT = __webpack_require__(192); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var Uint16Array = globalThis.Uint16Array; +var nativeSort = Uint16Array && uncurryThis(Uint16Array.prototype.sort); + +// WebKit +var ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !(fails(function () { + nativeSort(new Uint16Array(2), null); +}) && fails(function () { + nativeSort(new Uint16Array(2), {}); +})); + +var STABLE_SORT = !!nativeSort && !fails(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 74; + if (FF) return FF < 67; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 602; + + var array = new Uint16Array(516); + var expected = Array(516); + var index, mod; + + for (index = 0; index < 516; index++) { + mod = index % 4; + array[index] = 515 - index; + expected[index] = index - 2 * mod + 3; + } + + nativeSort(array, function (a, b) { + return (a / 4 | 0) - (b / 4 | 0); + }); + + for (index = 0; index < 516; index++) { + if (array[index] !== expected[index]) return true; + } +}); + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (comparefn !== undefined) return +comparefn(x, y) || 0; + // eslint-disable-next-line no-self-compare -- NaN check + if (y !== y) return -1; + // eslint-disable-next-line no-self-compare -- NaN check + if (x !== x) return 1; + if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1; + return x > y; + }; +}; + +// `%TypedArray%.prototype.sort` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort +exportTypedArrayMethod('sort', function sort(comparefn) { + if (comparefn !== undefined) aCallable(comparefn); + if (STABLE_SORT) return nativeSort(this, comparefn); + + return internalSort(aTypedArray(this), getSortCompare(comparefn)); +}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS); + + +/***/ }), +/* 531 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var toLength = __webpack_require__(64); +var toAbsoluteIndex = __webpack_require__(60); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.subarray` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray +exportTypedArrayMethod('subarray', function subarray(begin, end) { + var O = aTypedArray(this); + var length = O.length; + var beginIndex = toAbsoluteIndex(begin, length); + var C = getTypedArrayConstructor(O); + return new C( + O.buffer, + O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT, + toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex) + ); +}); + + +/***/ }), +/* 532 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var ArrayBufferViewCore = __webpack_require__(218); +var fails = __webpack_require__(7); +var arraySlice = __webpack_require__(76); + +var Int8Array = globalThis.Int8Array; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $toLocaleString = [].toLocaleString; + +// iOS Safari 6.x fails here +var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () { + $toLocaleString.call(new Int8Array(1)); +}); + +var FORCED = fails(function () { + return [1, 2].toLocaleString() !== new Int8Array([1, 2]).toLocaleString(); +}) || !fails(function () { + Int8Array.prototype.toLocaleString.call([1, 2]); +}); + +// `%TypedArray%.prototype.toLocaleString` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring +exportTypedArrayMethod('toLocaleString', function toLocaleString() { + return apply( + $toLocaleString, + TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this), + arraySlice(arguments) + ); +}, FORCED); + + +/***/ }), +/* 533 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var arrayToReversed = __webpack_require__(197); +var ArrayBufferViewCore = __webpack_require__(218); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; + +// `%TypedArray%.prototype.toReversed` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed +exportTypedArrayMethod('toReversed', function toReversed() { + return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this)); +}); + + +/***/ }), +/* 534 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var arrayFromConstructorAndList = __webpack_require__(199); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort); + +// `%TypedArray%.prototype.toSorted` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted +exportTypedArrayMethod('toSorted', function toSorted(compareFn) { + if (compareFn !== undefined) aCallable(compareFn); + var O = aTypedArray(this); + var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O); + return sort(A, compareFn); +}); + + +/***/ }), +/* 535 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var exportTypedArrayMethod = (__webpack_require__(218).exportTypedArrayMethod); +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); + +var Uint8Array = globalThis.Uint8Array; +var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {}; +var arrayToString = [].toString; +var join = uncurryThis([].join); + +if (fails(function () { arrayToString.call({}); })) { + arrayToString = function toString() { + return join(this); + }; +} + +var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString !== arrayToString; + +// `%TypedArray%.prototype.toString` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring +exportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD); + + +/***/ }), +/* 536 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var arrayWith = __webpack_require__(206); +var ArrayBufferViewCore = __webpack_require__(218); +var isBigIntArray = __webpack_require__(495); +var toIntegerOrInfinity = __webpack_require__(61); +var toBigInt = __webpack_require__(496); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var PROPER_ORDER = !!function () { + try { + // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing + new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } }); + } catch (error) { + // some early implementations, like WebKit, does not follow the final semantic + // https://github.com/tc39/proposal-change-array-by-copy/pull/86 + return error === 8; + } +}(); + +// `%TypedArray%.prototype.with` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with +exportTypedArrayMethod('with', { 'with': function (index, value) { + var O = aTypedArray(this); + var relativeIndex = toIntegerOrInfinity(index); + var actualValue = isBigIntArray(O) ? toBigInt(value) : +value; + return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue); +} }['with'], !PROPER_ORDER); + + +/***/ }), +/* 537 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); + +var fromCharCode = String.fromCharCode; +var charAt = uncurryThis(''.charAt); +var exec = uncurryThis(/./.exec); +var stringSlice = uncurryThis(''.slice); + +var hex2 = /^[\da-f]{2}$/i; +var hex4 = /^[\da-f]{4}$/i; + +// `unescape` method +// https://tc39.es/ecma262/#sec-unescape-string +$({ global: true }, { + unescape: function unescape(string) { + var str = toString(string); + var result = ''; + var length = str.length; + var index = 0; + var chr, part; + while (index < length) { + chr = charAt(str, index++); + if (chr === '%') { + if (charAt(str, index) === 'u') { + part = stringSlice(str, index + 1, index + 5); + if (exec(hex4, part)) { + result += fromCharCode(parseInt(part, 16)); + index += 5; + continue; + } + } else { + part = stringSlice(str, index, index + 2); + if (exec(hex2, part)) { + result += fromCharCode(parseInt(part, 16)); + index += 2; + continue; + } + } + } + result += chr; + } return result; + } +}); + + +/***/ }), +/* 538 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(539); + + +/***/ }), +/* 539 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var FREEZING = __webpack_require__(276); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var defineBuiltIns = __webpack_require__(210); +var InternalMetadataModule = __webpack_require__(273); +var collection = __webpack_require__(272); +var collectionWeak = __webpack_require__(540); +var isObject = __webpack_require__(20); +var enforceInternalState = (__webpack_require__(51).enforce); +var fails = __webpack_require__(7); +var NATIVE_WEAK_MAP = __webpack_require__(52); + +var $Object = Object; +// eslint-disable-next-line es/no-array-isarray -- safe +var isArray = Array.isArray; +// eslint-disable-next-line es/no-object-isextensible -- safe +var isExtensible = $Object.isExtensible; +// eslint-disable-next-line es/no-object-isfrozen -- safe +var isFrozen = $Object.isFrozen; +// eslint-disable-next-line es/no-object-issealed -- safe +var isSealed = $Object.isSealed; +// eslint-disable-next-line es/no-object-freeze -- safe +var freeze = $Object.freeze; +// eslint-disable-next-line es/no-object-seal -- safe +var seal = $Object.seal; + +var IS_IE11 = !globalThis.ActiveXObject && 'ActiveXObject' in globalThis; +var InternalWeakMap; + +var wrapper = function (init) { + return function WeakMap() { + return init(this, arguments.length ? arguments[0] : undefined); + }; +}; + +// `WeakMap` constructor +// https://tc39.es/ecma262/#sec-weakmap-constructor +var $WeakMap = collection('WeakMap', wrapper, collectionWeak); +var WeakMapPrototype = $WeakMap.prototype; +var nativeSet = uncurryThis(WeakMapPrototype.set); + +// Chakra Edge bug: adding frozen arrays to WeakMap unfreeze them +var hasMSEdgeFreezingBug = function () { + return FREEZING && fails(function () { + var frozenArray = freeze([]); + nativeSet(new $WeakMap(), frozenArray, 1); + return !isFrozen(frozenArray); + }); +}; + +// IE11 WeakMap frozen keys fix +// We can't use feature detection because it crash some old IE builds +// https://github.com/zloirock/core-js/issues/485 +if (NATIVE_WEAK_MAP) if (IS_IE11) { + InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true); + InternalMetadataModule.enable(); + var nativeDelete = uncurryThis(WeakMapPrototype['delete']); + var nativeHas = uncurryThis(WeakMapPrototype.has); + var nativeGet = uncurryThis(WeakMapPrototype.get); + defineBuiltIns(WeakMapPrototype, { + 'delete': function (key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeDelete(this, key) || state.frozen['delete'](key); + } return nativeDelete(this, key); + }, + has: function has(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas(this, key) || state.frozen.has(key); + } return nativeHas(this, key); + }, + get: function get(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key); + } return nativeGet(this, key); + }, + set: function set(key, value) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value); + } else nativeSet(this, key, value); + return this; + } + }); +// Chakra Edge frozen keys fix +} else if (hasMSEdgeFreezingBug()) { + defineBuiltIns(WeakMapPrototype, { + set: function set(key, value) { + var arrayIntegrityLevel; + if (isArray(key)) { + if (isFrozen(key)) arrayIntegrityLevel = freeze; + else if (isSealed(key)) arrayIntegrityLevel = seal; + } + nativeSet(this, key, value); + if (arrayIntegrityLevel) arrayIntegrityLevel(key); + return this; + } + }); +} + + +/***/ }), +/* 540 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var defineBuiltIns = __webpack_require__(210); +var getWeakData = (__webpack_require__(273).getWeakData); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var iterate = __webpack_require__(130); +var ArrayIterationModule = __webpack_require__(83); +var hasOwn = __webpack_require__(38); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; +var find = ArrayIterationModule.find; +var findIndex = ArrayIterationModule.findIndex; +var splice = uncurryThis([].splice); +var id = 0; + +// fallback for uncaught frozen keys +var uncaughtFrozenStore = function (state) { + return state.frozen || (state.frozen = new UncaughtFrozenStore()); +}; + +var UncaughtFrozenStore = function () { + this.entries = []; +}; + +var findUncaughtFrozen = function (store, key) { + return find(store.entries, function (it) { + return it[0] === key; + }); +}; + +UncaughtFrozenStore.prototype = { + get: function (key) { + var entry = findUncaughtFrozen(this, key); + if (entry) return entry[1]; + }, + has: function (key) { + return !!findUncaughtFrozen(this, key); + }, + set: function (key, value) { + var entry = findUncaughtFrozen(this, key); + if (entry) entry[1] = value; + else this.entries.push([key, value]); + }, + 'delete': function (key) { + var index = findIndex(this.entries, function (it) { + return it[0] === key; + }); + if (~index) splice(this.entries, index, 1); + return !!~index; + } +}; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + id: id++, + frozen: null + }); + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + }); + + var Prototype = Constructor.prototype; + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var data = getWeakData(anObject(key), true); + if (data === true) uncaughtFrozenStore(state).set(key, value); + else data[state.id] = value; + return that; + }; + + defineBuiltIns(Prototype, { + // `{ WeakMap, WeakSet }.prototype.delete(key)` methods + // https://tc39.es/ecma262/#sec-weakmap.prototype.delete + // https://tc39.es/ecma262/#sec-weakset.prototype.delete + 'delete': function (key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state)['delete'](key); + return data && hasOwn(data, state.id) && delete data[state.id]; + }, + // `{ WeakMap, WeakSet }.prototype.has(key)` methods + // https://tc39.es/ecma262/#sec-weakmap.prototype.has + // https://tc39.es/ecma262/#sec-weakset.prototype.has + has: function has(key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).has(key); + return data && hasOwn(data, state.id); + } + }); + + defineBuiltIns(Prototype, IS_MAP ? { + // `WeakMap.prototype.get(key)` method + // https://tc39.es/ecma262/#sec-weakmap.prototype.get + get: function get(key) { + var state = getInternalState(this); + if (isObject(key)) { + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).get(key); + if (data) return data[state.id]; + } + }, + // `WeakMap.prototype.set(key, value)` method + // https://tc39.es/ecma262/#sec-weakmap.prototype.set + set: function set(key, value) { + return define(this, key, value); + } + } : { + // `WeakSet.prototype.add(value)` method + // https://tc39.es/ecma262/#sec-weakset.prototype.add + add: function add(value) { + return define(this, value, true); + } + }); + + return Constructor; + } +}; + + +/***/ }), +/* 541 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(542); + + +/***/ }), +/* 542 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionWeak = __webpack_require__(540); + +// `WeakSet` constructor +// https://tc39.es/ecma262/#sec-weakset-constructor +collection('WeakSet', function (init) { + return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionWeak); + + +/***/ }), +/* 543 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); +var c2i = (__webpack_require__(544).c2i); + +var disallowed = /[^\d+/a-z]/i; +var whitespaces = /[\t\n\f\r ]+/g; +var finalEq = /[=]{1,2}$/; + +var $atob = getBuiltIn('atob'); +var fromCharCode = String.fromCharCode; +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var exec = uncurryThis(disallowed.exec); + +var BASIC = !!$atob && !fails(function () { + return $atob('aGk=') !== 'hi'; +}); + +var NO_SPACES_IGNORE = BASIC && fails(function () { + return $atob(' ') !== ''; +}); + +var NO_ENCODING_CHECK = BASIC && !fails(function () { + $atob('a'); +}); + +var NO_ARG_RECEIVING_CHECK = BASIC && !fails(function () { + $atob(); +}); + +var WRONG_ARITY = BASIC && $atob.length !== 1; + +var FORCED = !BASIC || NO_SPACES_IGNORE || NO_ENCODING_CHECK || NO_ARG_RECEIVING_CHECK || WRONG_ARITY; + +// `atob` method +// https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob +$({ global: true, bind: true, enumerable: true, forced: FORCED }, { + atob: function atob(data) { + validateArgumentsLength(arguments.length, 1); + // `webpack` dev server bug on IE global methods - use call(fn, global, ...) + if (BASIC && !NO_SPACES_IGNORE && !NO_ENCODING_CHECK) return call($atob, globalThis, data); + var string = replace(toString(data), whitespaces, ''); + var output = ''; + var position = 0; + var bc = 0; + var length, chr, bs; + if (string.length % 4 === 0) { + string = replace(string, finalEq, ''); + } + length = string.length; + if (length % 4 === 1 || exec(disallowed, string)) { + throw new (getBuiltIn('DOMException'))('The string is not correctly encoded', 'InvalidCharacterError'); + } + while (position < length) { + chr = charAt(string, position++); + bs = bc % 4 ? bs * 64 + c2i[chr] : c2i[chr]; + if (bc++ % 4) output += fromCharCode(255 & bs >> (-2 * bc & 6)); + } return output; + } +}); + + +/***/ }), +/* 544 */ +/***/ (function(module) { + + +var commonAlphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; +var base64Alphabet = commonAlphabet + '+/'; +var base64UrlAlphabet = commonAlphabet + '-_'; + +var inverse = function (characters) { + // TODO: use `Object.create(null)` in `core-js@4` + var result = {}; + var index = 0; + for (; index < 64; index++) result[characters.charAt(index)] = index; + return result; +}; + +module.exports = { + i2c: base64Alphabet, + c2i: inverse(base64Alphabet), + i2cUrl: base64UrlAlphabet, + c2iUrl: inverse(base64UrlAlphabet) +}; + + +/***/ }), +/* 545 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); +var i2c = (__webpack_require__(544).i2c); + +var $btoa = getBuiltIn('btoa'); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); + +var BASIC = !!$btoa && !fails(function () { + return $btoa('hi') !== 'aGk='; +}); + +var NO_ARG_RECEIVING_CHECK = BASIC && !fails(function () { + $btoa(); +}); + +var WRONG_ARG_CONVERSION = BASIC && fails(function () { + return $btoa(null) !== 'bnVsbA=='; +}); + +var WRONG_ARITY = BASIC && $btoa.length !== 1; + +// `btoa` method +// https://html.spec.whatwg.org/multipage/webappapis.html#dom-btoa +$({ global: true, bind: true, enumerable: true, forced: !BASIC || NO_ARG_RECEIVING_CHECK || WRONG_ARG_CONVERSION || WRONG_ARITY }, { + btoa: function btoa(data) { + validateArgumentsLength(arguments.length, 1); + // `webpack` dev server bug on IE global methods - use call(fn, global, ...) + if (BASIC) return call($btoa, globalThis, toString(data)); + var string = toString(data); + var output = ''; + var position = 0; + var map = i2c; + var block, charCode; + while (charAt(string, position) || (map = '=', position % 1)) { + charCode = charCodeAt(string, position += 3 / 4); + if (charCode > 0xFF) { + throw new (getBuiltIn('DOMException'))('The string contains characters outside of the Latin1 range', 'InvalidCharacterError'); + } + block = block << 8 | charCode; + output += charAt(map, 63 & block >> 8 - position % 1 * 8); + } return output; + } +}); + + +/***/ }), +/* 546 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DOMIterables = __webpack_require__(547); +var DOMTokenListPrototype = __webpack_require__(548); +var forEach = __webpack_require__(160); +var createNonEnumerableProperty = __webpack_require__(43); + +var handlePrototype = function (CollectionPrototype) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { + createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); + } catch (error) { + CollectionPrototype.forEach = forEach; + } +}; + +for (var COLLECTION_NAME in DOMIterables) { + if (DOMIterables[COLLECTION_NAME]) { + handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype); + } +} + +handlePrototype(DOMTokenListPrototype); + + +/***/ }), +/* 547 */ +/***/ (function(module) { + + +// iterable DOM collections +// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods +module.exports = { + CSSRuleList: 0, + CSSStyleDeclaration: 0, + CSSValueList: 0, + ClientRectList: 0, + DOMRectList: 0, + DOMStringList: 0, + DOMTokenList: 1, + DataTransferItemList: 0, + FileList: 0, + HTMLAllCollection: 0, + HTMLCollection: 0, + HTMLFormElement: 0, + HTMLSelectElement: 0, + MediaList: 0, + MimeTypeArray: 0, + NamedNodeMap: 0, + NodeList: 1, + PaintRequestList: 0, + Plugin: 0, + PluginArray: 0, + SVGLengthList: 0, + SVGNumberList: 0, + SVGPathSegList: 0, + SVGPointList: 0, + SVGStringList: 0, + SVGTransformList: 0, + SourceBufferList: 0, + StyleSheetList: 0, + TextTrackCueList: 0, + TextTrackList: 0, + TouchList: 0 +}; + + +/***/ }), +/* 548 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList` +var documentCreateElement = __webpack_require__(42); + +var classList = documentCreateElement('span').classList; +var DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype; + +module.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype; + + +/***/ }), +/* 549 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DOMIterables = __webpack_require__(547); +var DOMTokenListPrototype = __webpack_require__(548); +var ArrayIteratorMethods = __webpack_require__(168); +var createNonEnumerableProperty = __webpack_require__(43); +var setToStringTag = __webpack_require__(82); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayValues = ArrayIteratorMethods.values; + +var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) { + if (CollectionPrototype) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[ITERATOR] !== ArrayValues) try { + createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); + } catch (error) { + CollectionPrototype[ITERATOR] = ArrayValues; + } + setToStringTag(CollectionPrototype, COLLECTION_NAME, true); + if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { + createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); + } catch (error) { + CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; + } + } + } +}; + +for (var COLLECTION_NAME in DOMIterables) { + handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype, COLLECTION_NAME); +} + +handlePrototype(DOMTokenListPrototype, 'DOMTokenList'); + + +/***/ }), +/* 550 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var getBuiltInNodeModule = __webpack_require__(229); +var fails = __webpack_require__(7); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var defineProperty = (__webpack_require__(44).f); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var hasOwn = __webpack_require__(38); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var errorToString = __webpack_require__(125); +var normalizeStringArgument = __webpack_require__(119); +var DOMExceptionConstants = __webpack_require__(551); +var clearErrorStack = __webpack_require__(122); +var InternalStateModule = __webpack_require__(51); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var DOM_EXCEPTION = 'DOMException'; +var DATA_CLONE_ERR = 'DATA_CLONE_ERR'; +var Error = getBuiltIn('Error'); +// NodeJS < 17.0 does not expose `DOMException` to global +var NativeDOMException = getBuiltIn(DOM_EXCEPTION) || (function () { + try { + // NodeJS < 15.0 does not expose `MessageChannel` to global + var MessageChannel = getBuiltIn('MessageChannel') || getBuiltInNodeModule('worker_threads').MessageChannel; + // eslint-disable-next-line es/no-weak-map, unicorn/require-post-message-target-origin -- safe + new MessageChannel().port1.postMessage(new WeakMap()); + } catch (error) { + if (error.name === DATA_CLONE_ERR && error.code === 25) return error.constructor; + } +})(); +var NativeDOMExceptionPrototype = NativeDOMException && NativeDOMException.prototype; +var ErrorPrototype = Error.prototype; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(DOM_EXCEPTION); +var HAS_STACK = 'stack' in new Error(DOM_EXCEPTION); + +var codeFor = function (name) { + return hasOwn(DOMExceptionConstants, name) && DOMExceptionConstants[name].m ? DOMExceptionConstants[name].c : 0; +}; + +var $DOMException = function DOMException() { + anInstance(this, DOMExceptionPrototype); + var argumentsLength = arguments.length; + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); + var code = codeFor(name); + setInternalState(this, { + type: DOM_EXCEPTION, + name: name, + message: message, + code: code + }); + if (!DESCRIPTORS) { + this.name = name; + this.message = message; + this.code = code; + } + if (HAS_STACK) { + var error = new Error(message); + error.name = DOM_EXCEPTION; + defineProperty(this, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); + } +}; + +var DOMExceptionPrototype = $DOMException.prototype = create(ErrorPrototype); + +var createGetterDescriptor = function (get) { + return { enumerable: true, configurable: true, get: get }; +}; + +var getterFor = function (key) { + return createGetterDescriptor(function () { + return getInternalState(this)[key]; + }); +}; + +if (DESCRIPTORS) { + // `DOMException.prototype.code` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'code', getterFor('code')); + // `DOMException.prototype.message` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'message', getterFor('message')); + // `DOMException.prototype.name` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'name', getterFor('name')); +} + +defineProperty(DOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, $DOMException)); + +// FF36- DOMException is a function, but can't be constructed +var INCORRECT_CONSTRUCTOR = fails(function () { + return !(new NativeDOMException() instanceof Error); +}); + +// Safari 10.1 / Chrome 32- / IE8- DOMException.prototype.toString bugs +var INCORRECT_TO_STRING = INCORRECT_CONSTRUCTOR || fails(function () { + return ErrorPrototype.toString !== errorToString || String(new NativeDOMException(1, 2)) !== '2: 1'; +}); + +// Deno 1.6.3- DOMException.prototype.code just missed +var INCORRECT_CODE = INCORRECT_CONSTRUCTOR || fails(function () { + return new NativeDOMException(1, 'DataCloneError').code !== 25; +}); + +// Deno 1.6.3- DOMException constants just missed +var MISSED_CONSTANTS = INCORRECT_CONSTRUCTOR + || NativeDOMException[DATA_CLONE_ERR] !== 25 + || NativeDOMExceptionPrototype[DATA_CLONE_ERR] !== 25; + +var FORCED_CONSTRUCTOR = IS_PURE ? INCORRECT_TO_STRING || INCORRECT_CODE || MISSED_CONSTANTS : INCORRECT_CONSTRUCTOR; + +// `DOMException` constructor +// https://webidl.spec.whatwg.org/#idl-DOMException +$({ global: true, constructor: true, forced: FORCED_CONSTRUCTOR }, { + DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException +}); + +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION); +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype; + +if (INCORRECT_TO_STRING && (IS_PURE || NativeDOMException === PolyfilledDOMException)) { + defineBuiltIn(PolyfilledDOMExceptionPrototype, 'toString', errorToString); +} + +if (INCORRECT_CODE && DESCRIPTORS && NativeDOMException === PolyfilledDOMException) { + defineBuiltInAccessor(PolyfilledDOMExceptionPrototype, 'code', createGetterDescriptor(function () { + return codeFor(anObject(this).name); + })); +} + +// `DOMException` constants +for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) { + var constant = DOMExceptionConstants[key]; + var constantName = constant.s; + var descriptor = createPropertyDescriptor(6, constant.c); + if (!hasOwn(PolyfilledDOMException, constantName)) { + defineProperty(PolyfilledDOMException, constantName, descriptor); + } + if (!hasOwn(PolyfilledDOMExceptionPrototype, constantName)) { + defineProperty(PolyfilledDOMExceptionPrototype, constantName, descriptor); + } +} + + +/***/ }), +/* 551 */ +/***/ (function(module) { + + +module.exports = { + IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 }, + DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 }, + HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 }, + WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 }, + InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 }, + NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 }, + NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 }, + NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 }, + NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 }, + InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 }, + InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 }, + SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 }, + InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 }, + NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 }, + InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 }, + ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 }, + TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 }, + SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 }, + NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 }, + AbortError: { s: 'ABORT_ERR', c: 20, m: 1 }, + URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 }, + QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 }, + TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 }, + InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 }, + DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 } +}; + + +/***/ }), +/* 552 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var createPropertyDescriptor = __webpack_require__(11); +var defineProperty = (__webpack_require__(44).f); +var hasOwn = __webpack_require__(38); +var anInstance = __webpack_require__(211); +var inheritIfRequired = __webpack_require__(118); +var normalizeStringArgument = __webpack_require__(119); +var DOMExceptionConstants = __webpack_require__(551); +var clearErrorStack = __webpack_require__(122); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var DOM_EXCEPTION = 'DOMException'; +var Error = getBuiltIn('Error'); +var NativeDOMException = getBuiltIn(DOM_EXCEPTION); + +var $DOMException = function DOMException() { + anInstance(this, DOMExceptionPrototype); + var argumentsLength = arguments.length; + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); + var that = new NativeDOMException(message, name); + var error = new Error(message); + error.name = DOM_EXCEPTION; + defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); + inheritIfRequired(that, this, $DOMException); + return that; +}; + +var DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype; + +var ERROR_HAS_STACK = 'stack' in new Error(DOM_EXCEPTION); +var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, DOM_EXCEPTION); + +// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it +// https://github.com/Jarred-Sumner/bun/issues/399 +var BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable); + +var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK; + +// `DOMException` constructor patch for `.stack` where it's required +// https://webidl.spec.whatwg.org/#es-DOMException-specialness +$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic + DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException +}); + +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION); +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype; + +if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) { + if (!IS_PURE) { + defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException)); + } + + for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) { + var constant = DOMExceptionConstants[key]; + var constantName = constant.s; + if (!hasOwn(PolyfilledDOMException, constantName)) { + defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c)); + } + } +} + + +/***/ }), +/* 553 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var setToStringTag = __webpack_require__(82); + +var DOM_EXCEPTION = 'DOMException'; + +// `DOMException.prototype[@@toStringTag]` property +setToStringTag(getBuiltIn(DOM_EXCEPTION), DOM_EXCEPTION); + + +/***/ }), +/* 554 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(555); +__webpack_require__(556); + + +/***/ }), +/* 555 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var clearImmediate = (__webpack_require__(360).clear); + +// `clearImmediate` method +// http://w3c.github.io/setImmediate/#si-clearImmediate +$({ global: true, bind: true, enumerable: true, forced: globalThis.clearImmediate !== clearImmediate }, { + clearImmediate: clearImmediate +}); + + +/***/ }), +/* 556 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var setTask = (__webpack_require__(360).set); +var schedulersFix = __webpack_require__(557); + +// https://github.com/oven-sh/bun/issues/1633 +var setImmediate = globalThis.setImmediate ? schedulersFix(setTask, false) : setTask; + +// `setImmediate` method +// http://w3c.github.io/setImmediate/#si-setImmediate +$({ global: true, bind: true, enumerable: true, forced: globalThis.setImmediate !== setImmediate }, { + setImmediate: setImmediate +}); + + +/***/ }), +/* 557 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var isCallable = __webpack_require__(21); +var ENVIRONMENT = __webpack_require__(183); +var USER_AGENT = __webpack_require__(28); +var arraySlice = __webpack_require__(76); +var validateArgumentsLength = __webpack_require__(361); + +var Function = globalThis.Function; +// dirty IE9- and Bun 0.3.0- checks +var WRAP = /MSIE .\./.test(USER_AGENT) || ENVIRONMENT === 'BUN' && (function () { + var version = globalThis.Bun.version.split('.'); + return version.length < 3 || version[0] === '0' && (version[1] < 3 || version[1] === '3' && version[2] === '0'); +})(); + +// IE9- / Bun 0.3.0- setTimeout / setInterval / setImmediate additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers +// https://github.com/oven-sh/bun/issues/1633 +module.exports = function (scheduler, hasTimeArg) { + var firstParamIndex = hasTimeArg ? 2 : 1; + return WRAP ? function (handler, timeout /* , ...arguments */) { + var boundArgs = validateArgumentsLength(arguments.length, 1) > firstParamIndex; + var fn = isCallable(handler) ? handler : Function(handler); + var params = boundArgs ? arraySlice(arguments, firstParamIndex) : []; + var callback = boundArgs ? function () { + apply(fn, this, params); + } : fn; + return hasTimeArg ? scheduler(callback, timeout) : scheduler(callback); + } : scheduler; +}; + + +/***/ }), +/* 558 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var microtask = __webpack_require__(363); +var aCallable = __webpack_require__(30); +var validateArgumentsLength = __webpack_require__(361); +var fails = __webpack_require__(7); +var DESCRIPTORS = __webpack_require__(6); + +// Bun ~ 1.0.30 bug +// https://github.com/oven-sh/bun/issues/9249 +var WRONG_ARITY = fails(function () { + // getOwnPropertyDescriptor for prevent experimental warning in Node 11 + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + return DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, 'queueMicrotask').value.length !== 1; +}); + +// `queueMicrotask` method +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask +$({ global: true, enumerable: true, dontCallGetSet: true, forced: WRONG_ARITY }, { + queueMicrotask: function queueMicrotask(fn) { + validateArgumentsLength(arguments.length, 1); + microtask(aCallable(fn)); + } +}); + + +/***/ }), +/* 559 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var defineBuiltInAccessor = __webpack_require__(77); +var DESCRIPTORS = __webpack_require__(6); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; +var INCORRECT_VALUE = globalThis.self !== globalThis; + +// `self` getter +// https://html.spec.whatwg.org/multipage/window-object.html#dom-self +try { + if (DESCRIPTORS) { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var descriptor = Object.getOwnPropertyDescriptor(globalThis, 'self'); + // some engines have `self`, but with incorrect descriptor + // https://github.com/denoland/deno/issues/15765 + if (INCORRECT_VALUE || !descriptor || !descriptor.get || !descriptor.enumerable) { + defineBuiltInAccessor(globalThis, 'self', { + get: function self() { + return globalThis; + }, + set: function self(value) { + if (this !== globalThis) throw new $TypeError('Illegal invocation'); + defineProperty(globalThis, 'self', { + value: value, + writable: true, + configurable: true, + enumerable: true + }); + }, + configurable: true, + enumerable: true + }); + } + } else $({ global: true, simple: true, forced: INCORRECT_VALUE }, { + self: globalThis + }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 560 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var IS_PURE = __webpack_require__(36); +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var uid = __webpack_require__(40); +var isCallable = __webpack_require__(21); +var isConstructor = __webpack_require__(89); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var iterate = __webpack_require__(130); +var anObject = __webpack_require__(46); +var classof = __webpack_require__(69); +var hasOwn = __webpack_require__(38); +var createProperty = __webpack_require__(141); +var createNonEnumerableProperty = __webpack_require__(43); +var lengthOfArrayLike = __webpack_require__(63); +var validateArgumentsLength = __webpack_require__(361); +var getRegExpFlags = __webpack_require__(402); +var MapHelpers = __webpack_require__(279); +var SetHelpers = __webpack_require__(419); +var setIterate = __webpack_require__(421); +var detachTransferable = __webpack_require__(228); +var ERROR_STACK_INSTALLABLE = __webpack_require__(123); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var Object = globalThis.Object; +var Array = globalThis.Array; +var Date = globalThis.Date; +var Error = globalThis.Error; +var TypeError = globalThis.TypeError; +var PerformanceMark = globalThis.PerformanceMark; +var DOMException = getBuiltIn('DOMException'); +var Map = MapHelpers.Map; +var mapHas = MapHelpers.has; +var mapGet = MapHelpers.get; +var mapSet = MapHelpers.set; +var Set = SetHelpers.Set; +var setAdd = SetHelpers.add; +var setHas = SetHelpers.has; +var objectKeys = getBuiltIn('Object', 'keys'); +var push = uncurryThis([].push); +var thisBooleanValue = uncurryThis(true.valueOf); +var thisNumberValue = uncurryThis(1.0.valueOf); +var thisStringValue = uncurryThis(''.valueOf); +var thisTimeValue = uncurryThis(Date.prototype.getTime); +var PERFORMANCE_MARK = uid('structuredClone'); +var DATA_CLONE_ERROR = 'DataCloneError'; +var TRANSFERRING = 'Transferring'; + +var checkBasicSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var set1 = new globalThis.Set([7]); + var set2 = structuredCloneImplementation(set1); + var number = structuredCloneImplementation(Object(7)); + return set2 === set1 || !set2.has(7) || !isObject(number) || +number !== 7; + }) && structuredCloneImplementation; +}; + +var checkErrorsCloning = function (structuredCloneImplementation, $Error) { + return !fails(function () { + var error = new $Error(); + var test = structuredCloneImplementation({ a: error, b: error }); + return !(test && test.a === test.b && test.a instanceof $Error && test.a.stack === error.stack); + }); +}; + +// https://github.com/whatwg/html/pull/5749 +var checkNewErrorsCloningSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var test = structuredCloneImplementation(new globalThis.AggregateError([1], PERFORMANCE_MARK, { cause: 3 })); + return test.name !== 'AggregateError' || test.errors[0] !== 1 || test.message !== PERFORMANCE_MARK || test.cause !== 3; + }); +}; + +// FF94+, Safari 15.4+, Chrome 98+, NodeJS 17.0+, Deno 1.13+ +// FF<103 and Safari implementations can't clone errors +// https://bugzilla.mozilla.org/show_bug.cgi?id=1556604 +// FF103 can clone errors, but `.stack` of clone is an empty string +// https://bugzilla.mozilla.org/show_bug.cgi?id=1778762 +// FF104+ fixed it on usual errors, but not on DOMExceptions +// https://bugzilla.mozilla.org/show_bug.cgi?id=1777321 +// Chrome <102 returns `null` if cloned object contains multiple references to one error +// https://bugs.chromium.org/p/v8/issues/detail?id=12542 +// NodeJS implementation can't clone DOMExceptions +// https://github.com/nodejs/node/issues/41038 +// only FF103+ supports new (html/5749) error cloning semantic +var nativeStructuredClone = globalThis.structuredClone; + +var FORCED_REPLACEMENT = IS_PURE + || !checkErrorsCloning(nativeStructuredClone, Error) + || !checkErrorsCloning(nativeStructuredClone, DOMException) + || !checkNewErrorsCloningSemantic(nativeStructuredClone); + +// Chrome 82+, Safari 14.1+, Deno 1.11+ +// Chrome 78-81 implementation swaps `.name` and `.message` of cloned `DOMException` +// Chrome returns `null` if cloned object contains multiple references to one error +// Safari 14.1 implementation doesn't clone some `RegExp` flags, so requires a workaround +// Safari implementation can't clone errors +// Deno 1.2-1.10 implementations too naive +// NodeJS 16.0+ does not have `PerformanceMark` constructor +// NodeJS <17.2 structured cloning implementation from `performance.mark` is too naive +// and can't clone, for example, `RegExp` or some boxed primitives +// https://github.com/nodejs/node/issues/40840 +// no one of those implementations supports new (html/5749) error cloning semantic +var structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) { + return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail; +}); + +var nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark; + +var throwUncloneable = function (type) { + throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR); +}; + +var throwUnpolyfillable = function (type, action) { + throw new DOMException((action || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR); +}; + +var tryNativeRestrictedStructuredClone = function (value, type) { + if (!nativeRestrictedStructuredClone) throwUnpolyfillable(type); + return nativeRestrictedStructuredClone(value); +}; + +var createDataTransfer = function () { + var dataTransfer; + try { + dataTransfer = new globalThis.DataTransfer(); + } catch (error) { + try { + dataTransfer = new globalThis.ClipboardEvent('').clipboardData; + } catch (error2) { /* empty */ } + } + return dataTransfer && dataTransfer.items && dataTransfer.files ? dataTransfer : null; +}; + +var cloneBuffer = function (value, map, $type) { + if (mapHas(map, value)) return mapGet(map, value); + + var type = $type || classof(value); + var clone, length, options, source, target, i; + + if (type === 'SharedArrayBuffer') { + if (nativeRestrictedStructuredClone) clone = nativeRestrictedStructuredClone(value); + // SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original + else clone = value; + } else { + var DataView = globalThis.DataView; + + // `ArrayBuffer#slice` is not available in IE10 + // `ArrayBuffer#slice` and `DataView` are not available in old FF + if (!DataView && !isCallable(value.slice)) throwUnpolyfillable('ArrayBuffer'); + // detached buffers throws in `DataView` and `.slice` + try { + if (isCallable(value.slice) && !value.resizable) { + clone = value.slice(0); + } else { + length = value.byteLength; + options = 'maxByteLength' in value ? { maxByteLength: value.maxByteLength } : undefined; + // eslint-disable-next-line es/no-resizable-and-growable-arraybuffers -- safe + clone = new ArrayBuffer(length, options); + source = new DataView(value); + target = new DataView(clone); + for (i = 0; i < length; i++) { + target.setUint8(i, source.getUint8(i)); + } + } + } catch (error) { + throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR); + } + } + + mapSet(map, value, clone); + + return clone; +}; + +var cloneView = function (value, type, offset, length, map) { + var C = globalThis[type]; + // in some old engines like Safari 9, typeof C is 'object' + // on Uint8ClampedArray or some other constructors + if (!isObject(C)) throwUnpolyfillable(type); + return new C(cloneBuffer(value.buffer, map), offset, length); +}; + +var structuredCloneInternal = function (value, map) { + if (isSymbol(value)) throwUncloneable('Symbol'); + if (!isObject(value)) return value; + // effectively preserves circular references + if (map) { + if (mapHas(map, value)) return mapGet(map, value); + } else map = new Map(); + + var type = classof(value); + var C, name, cloned, dataTransfer, i, length, keys, key; + + switch (type) { + case 'Array': + cloned = Array(lengthOfArrayLike(value)); + break; + case 'Object': + cloned = {}; + break; + case 'Map': + cloned = new Map(); + break; + case 'Set': + cloned = new Set(); + break; + case 'RegExp': + // in this block because of a Safari 14.1 bug + // old FF does not clone regexes passed to the constructor, so get the source and flags directly + cloned = new RegExp(value.source, getRegExpFlags(value)); + break; + case 'Error': + name = value.name; + switch (name) { + case 'AggregateError': + cloned = new (getBuiltIn(name))([]); + break; + case 'EvalError': + case 'RangeError': + case 'ReferenceError': + case 'SuppressedError': + case 'SyntaxError': + case 'TypeError': + case 'URIError': + cloned = new (getBuiltIn(name))(); + break; + case 'CompileError': + case 'LinkError': + case 'RuntimeError': + cloned = new (getBuiltIn('WebAssembly', name))(); + break; + default: + cloned = new Error(); + } + break; + case 'DOMException': + cloned = new DOMException(value.message, value.name); + break; + case 'ArrayBuffer': + case 'SharedArrayBuffer': + cloned = cloneBuffer(value, map, type); + break; + case 'DataView': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float16Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + length = type === 'DataView' ? value.byteLength : value.length; + cloned = cloneView(value, type, value.byteOffset, length, map); + break; + case 'DOMQuad': + try { + cloned = new DOMQuad( + structuredCloneInternal(value.p1, map), + structuredCloneInternal(value.p2, map), + structuredCloneInternal(value.p3, map), + structuredCloneInternal(value.p4, map) + ); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } + break; + case 'File': + if (nativeRestrictedStructuredClone) try { + cloned = nativeRestrictedStructuredClone(value); + // NodeJS 20.0.0 bug, https://github.com/nodejs/node/issues/47612 + if (classof(cloned) !== type) cloned = undefined; + } catch (error) { /* empty */ } + if (!cloned) try { + cloned = new File([value], value.name, value); + } catch (error) { /* empty */ } + if (!cloned) throwUnpolyfillable(type); + break; + case 'FileList': + dataTransfer = createDataTransfer(); + if (dataTransfer) { + for (i = 0, length = lengthOfArrayLike(value); i < length; i++) { + dataTransfer.items.add(structuredCloneInternal(value[i], map)); + } + cloned = dataTransfer.files; + } else cloned = tryNativeRestrictedStructuredClone(value, type); + break; + case 'ImageData': + // Safari 9 ImageData is a constructor, but typeof ImageData is 'object' + try { + cloned = new ImageData( + structuredCloneInternal(value.data, map), + value.width, + value.height, + { colorSpace: value.colorSpace } + ); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } break; + default: + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else switch (type) { + case 'BigInt': + // can be a 3rd party polyfill + cloned = Object(value.valueOf()); + break; + case 'Boolean': + cloned = Object(thisBooleanValue(value)); + break; + case 'Number': + cloned = Object(thisNumberValue(value)); + break; + case 'String': + cloned = Object(thisStringValue(value)); + break; + case 'Date': + cloned = new Date(thisTimeValue(value)); + break; + case 'Blob': + try { + cloned = value.slice(0, value.size, value.type); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMPoint': + case 'DOMPointReadOnly': + C = globalThis[type]; + try { + cloned = C.fromPoint + ? C.fromPoint(value) + : new C(value.x, value.y, value.z, value.w); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMRect': + case 'DOMRectReadOnly': + C = globalThis[type]; + try { + cloned = C.fromRect + ? C.fromRect(value) + : new C(value.x, value.y, value.width, value.height); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMMatrix': + case 'DOMMatrixReadOnly': + C = globalThis[type]; + try { + cloned = C.fromMatrix + ? C.fromMatrix(value) + : new C(value); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone)) throwUnpolyfillable(type); + try { + cloned = value.clone(); + } catch (error) { + throwUncloneable(type); + } break; + case 'CropTarget': + case 'CryptoKey': + case 'FileSystemDirectoryHandle': + case 'FileSystemFileHandle': + case 'FileSystemHandle': + case 'GPUCompilationInfo': + case 'GPUCompilationMessage': + case 'ImageBitmap': + case 'RTCCertificate': + case 'WebAssembly.Module': + throwUnpolyfillable(type); + // break omitted + default: + throwUncloneable(type); + } + } + + mapSet(map, value, cloned); + + switch (type) { + case 'Array': + case 'Object': + keys = objectKeys(value); + for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { + key = keys[i]; + createProperty(cloned, key, structuredCloneInternal(value[key], map)); + } break; + case 'Map': + value.forEach(function (v, k) { + mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map)); + }); + break; + case 'Set': + value.forEach(function (v) { + setAdd(cloned, structuredCloneInternal(v, map)); + }); + break; + case 'Error': + createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map)); + if (hasOwn(value, 'cause')) { + createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map)); + } + if (name === 'AggregateError') { + cloned.errors = structuredCloneInternal(value.errors, map); + } else if (name === 'SuppressedError') { + cloned.error = structuredCloneInternal(value.error, map); + cloned.suppressed = structuredCloneInternal(value.suppressed, map); + } // break omitted + case 'DOMException': + if (ERROR_STACK_INSTALLABLE) { + createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map)); + } + } + + return cloned; +}; + +var tryToTransfer = function (rawTransfer, map) { + if (!isObject(rawTransfer)) throw new TypeError('Transfer option cannot be converted to a sequence'); + + var transfer = []; + + iterate(rawTransfer, function (value) { + push(transfer, anObject(value)); + }); + + var i = 0; + var length = lengthOfArrayLike(transfer); + var buffers = new Set(); + var value, type, C, transferred, canvas, context; + + while (i < length) { + value = transfer[i++]; + + type = classof(value); + + if (type === 'ArrayBuffer' ? setHas(buffers, value) : mapHas(map, value)) { + throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); + } + + if (type === 'ArrayBuffer') { + setAdd(buffers, value); + continue; + } + + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + transferred = nativeStructuredClone(value, { transfer: [value] }); + } else switch (type) { + case 'ImageBitmap': + C = globalThis.OffscreenCanvas; + if (!isConstructor(C)) throwUnpolyfillable(type, TRANSFERRING); + try { + canvas = new C(value.width, value.height); + context = canvas.getContext('bitmaprenderer'); + context.transferFromImageBitmap(value); + transferred = canvas.transferToImageBitmap(); + } catch (error) { /* empty */ } + break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone) || !isCallable(value.close)) throwUnpolyfillable(type, TRANSFERRING); + try { + transferred = value.clone(); + value.close(); + } catch (error) { /* empty */ } + break; + case 'MediaSourceHandle': + case 'MessagePort': + case 'MIDIAccess': + case 'OffscreenCanvas': + case 'ReadableStream': + case 'RTCDataChannel': + case 'TransformStream': + case 'WebTransportReceiveStream': + case 'WebTransportSendStream': + case 'WritableStream': + throwUnpolyfillable(type, TRANSFERRING); + } + + if (transferred === undefined) throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR); + + mapSet(map, value, transferred); + } + + return buffers; +}; + +var detachBuffers = function (buffers) { + setIterate(buffers, function (buffer) { + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + nativeRestrictedStructuredClone(buffer, { transfer: [buffer] }); + } else if (isCallable(buffer.transfer)) { + buffer.transfer(); + } else if (detachTransferable) { + detachTransferable(buffer); + } else { + throwUnpolyfillable('ArrayBuffer', TRANSFERRING); + } + }); +}; + +// `structuredClone` method +// https://html.spec.whatwg.org/multipage/structured-data.html#dom-structuredclone +$({ global: true, enumerable: true, sham: !PROPER_STRUCTURED_CLONE_TRANSFER, forced: FORCED_REPLACEMENT }, { + structuredClone: function structuredClone(value /* , { transfer } */) { + var options = validateArgumentsLength(arguments.length, 1) > 1 && !isNullOrUndefined(arguments[1]) ? anObject(arguments[1]) : undefined; + var transfer = options ? options.transfer : undefined; + var map, buffers; + + if (transfer !== undefined) { + map = new Map(); + buffers = tryToTransfer(transfer, map); + } + + var clone = structuredCloneInternal(value, map); + + // since of an issue with cloning views of transferred buffers, we a forced to detach them later + // https://github.com/zloirock/core-js/issues/1265 + if (buffers) detachBuffers(buffers); + + return clone; + } +}); + + +/***/ }), +/* 561 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(562); +__webpack_require__(563); + + +/***/ }), +/* 562 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var schedulersFix = __webpack_require__(557); + +var setInterval = schedulersFix(globalThis.setInterval, true); + +// Bun / IE9- setInterval additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval +$({ global: true, bind: true, forced: globalThis.setInterval !== setInterval }, { + setInterval: setInterval +}); + + +/***/ }), +/* 563 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var schedulersFix = __webpack_require__(557); + +var setTimeout = schedulersFix(globalThis.setTimeout, true); + +// Bun / IE9- setTimeout additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout +$({ global: true, bind: true, forced: globalThis.setTimeout !== setTimeout }, { + setTimeout: setTimeout +}); + + +/***/ }), +/* 564 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(565); + + +/***/ }), +/* 565 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__(447); +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var USE_NATIVE_URL = __webpack_require__(566); +var globalThis = __webpack_require__(4); +var bind = __webpack_require__(84); +var uncurryThis = __webpack_require__(14); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var anInstance = __webpack_require__(211); +var hasOwn = __webpack_require__(38); +var assign = __webpack_require__(322); +var arrayFrom = __webpack_require__(162); +var arraySlice = __webpack_require__(76); +var codeAt = (__webpack_require__(440).codeAt); +var toASCII = __webpack_require__(567); +var $toString = __webpack_require__(68); +var setToStringTag = __webpack_require__(82); +var validateArgumentsLength = __webpack_require__(361); +var URLSearchParamsModule = __webpack_require__(568); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var getInternalURLState = InternalStateModule.getterFor('URL'); +var URLSearchParams = URLSearchParamsModule.URLSearchParams; +var getInternalSearchParamsState = URLSearchParamsModule.getState; + +var NativeURL = globalThis.URL; +var TypeError = globalThis.TypeError; +var parseInt = globalThis.parseInt; +var floor = Math.floor; +var pow = Math.pow; +var charAt = uncurryThis(''.charAt); +var exec = uncurryThis(/./.exec); +var join = uncurryThis([].join); +var numberToString = uncurryThis(1.0.toString); +var pop = uncurryThis([].pop); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); +var toLowerCase = uncurryThis(''.toLowerCase); +var unshift = uncurryThis([].unshift); + +var INVALID_AUTHORITY = 'Invalid authority'; +var INVALID_SCHEME = 'Invalid scheme'; +var INVALID_HOST = 'Invalid host'; +var INVALID_PORT = 'Invalid port'; + +var ALPHA = /[a-z]/i; +// eslint-disable-next-line regexp/no-obscure-range -- safe +var ALPHANUMERIC = /[\d+-.a-z]/i; +var DIGIT = /\d/; +var HEX_START = /^0x/i; +var OCT = /^[0-7]+$/; +var DEC = /^\d+$/; +var HEX = /^[\da-f]+$/i; +/* eslint-disable regexp/no-control-character -- safe */ +var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/; +var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/; +var LEADING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+/; +var TRAILING_C0_CONTROL_OR_SPACE = /(^|[^\u0000-\u0020])[\u0000-\u0020]+$/; +var TAB_AND_NEW_LINE = /[\t\n\r]/g; +/* eslint-enable regexp/no-control-character -- safe */ +var EOF; + +// https://url.spec.whatwg.org/#ipv4-number-parser +var parseIPv4 = function (input) { + var parts = split(input, '.'); + var partsLength, numbers, index, part, radix, number, ipv4; + if (parts.length && parts[parts.length - 1] === '') { + parts.length--; + } + partsLength = parts.length; + if (partsLength > 4) return input; + numbers = []; + for (index = 0; index < partsLength; index++) { + part = parts[index]; + if (part === '') return input; + radix = 10; + if (part.length > 1 && charAt(part, 0) === '0') { + radix = exec(HEX_START, part) ? 16 : 8; + part = stringSlice(part, radix === 8 ? 1 : 2); + } + if (part === '') { + number = 0; + } else { + if (!exec(radix === 10 ? DEC : radix === 8 ? OCT : HEX, part)) return input; + number = parseInt(part, radix); + } + push(numbers, number); + } + for (index = 0; index < partsLength; index++) { + number = numbers[index]; + if (index === partsLength - 1) { + if (number >= pow(256, 5 - partsLength)) return null; + } else if (number > 255) return null; + } + ipv4 = pop(numbers); + for (index = 0; index < numbers.length; index++) { + ipv4 += numbers[index] * pow(256, 3 - index); + } + return ipv4; +}; + +// https://url.spec.whatwg.org/#concept-ipv6-parser +// eslint-disable-next-line max-statements -- TODO +var parseIPv6 = function (input) { + var address = [0, 0, 0, 0, 0, 0, 0, 0]; + var pieceIndex = 0; + var compress = null; + var pointer = 0; + var value, length, numbersSeen, ipv4Piece, number, swaps, swap; + + var chr = function () { + return charAt(input, pointer); + }; + + if (chr() === ':') { + if (charAt(input, 1) !== ':') return; + pointer += 2; + pieceIndex++; + compress = pieceIndex; + } + while (chr()) { + if (pieceIndex === 8) return; + if (chr() === ':') { + if (compress !== null) return; + pointer++; + pieceIndex++; + compress = pieceIndex; + continue; + } + value = length = 0; + while (length < 4 && exec(HEX, chr())) { + value = value * 16 + parseInt(chr(), 16); + pointer++; + length++; + } + if (chr() === '.') { + if (length === 0) return; + pointer -= length; + if (pieceIndex > 6) return; + numbersSeen = 0; + while (chr()) { + ipv4Piece = null; + if (numbersSeen > 0) { + if (chr() === '.' && numbersSeen < 4) pointer++; + else return; + } + if (!exec(DIGIT, chr())) return; + while (exec(DIGIT, chr())) { + number = parseInt(chr(), 10); + if (ipv4Piece === null) ipv4Piece = number; + else if (ipv4Piece === 0) return; + else ipv4Piece = ipv4Piece * 10 + number; + if (ipv4Piece > 255) return; + pointer++; + } + address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; + numbersSeen++; + if (numbersSeen === 2 || numbersSeen === 4) pieceIndex++; + } + if (numbersSeen !== 4) return; + break; + } else if (chr() === ':') { + pointer++; + if (!chr()) return; + } else if (chr()) return; + address[pieceIndex++] = value; + } + if (compress !== null) { + swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex !== 0 && swaps > 0) { + swap = address[pieceIndex]; + address[pieceIndex--] = address[compress + swaps - 1]; + address[compress + --swaps] = swap; + } + } else if (pieceIndex !== 8) return; + return address; +}; + +var findLongestZeroSequence = function (ipv6) { + var maxIndex = null; + var maxLength = 1; + var currStart = null; + var currLength = 0; + var index = 0; + for (; index < 8; index++) { + if (ipv6[index] !== 0) { + if (currLength > maxLength) { + maxIndex = currStart; + maxLength = currLength; + } + currStart = null; + currLength = 0; + } else { + if (currStart === null) currStart = index; + ++currLength; + } + } + return currLength > maxLength ? currStart : maxIndex; +}; + +// https://url.spec.whatwg.org/#host-serializing +var serializeHost = function (host) { + var result, index, compress, ignore0; + + // ipv4 + if (typeof host == 'number') { + result = []; + for (index = 0; index < 4; index++) { + unshift(result, host % 256); + host = floor(host / 256); + } + return join(result, '.'); + } + + // ipv6 + if (typeof host == 'object') { + result = ''; + compress = findLongestZeroSequence(host); + for (index = 0; index < 8; index++) { + if (ignore0 && host[index] === 0) continue; + if (ignore0) ignore0 = false; + if (compress === index) { + result += index ? ':' : '::'; + ignore0 = true; + } else { + result += numberToString(host[index], 16); + if (index < 7) result += ':'; + } + } + return '[' + result + ']'; + } + + return host; +}; + +var C0ControlPercentEncodeSet = {}; +var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { + ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 +}); +var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { + '#': 1, '?': 1, '{': 1, '}': 1 +}); +var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { + '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 +}); + +var percentEncode = function (chr, set) { + var code = codeAt(chr, 0); + return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr); +}; + +// https://url.spec.whatwg.org/#special-scheme +var specialSchemes = { + ftp: 21, + file: null, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; + +// https://url.spec.whatwg.org/#windows-drive-letter +var isWindowsDriveLetter = function (string, normalized) { + var second; + return string.length === 2 && exec(ALPHA, charAt(string, 0)) + && ((second = charAt(string, 1)) === ':' || (!normalized && second === '|')); +}; + +// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter +var startsWithWindowsDriveLetter = function (string) { + var third; + return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && ( + string.length === 2 || + ((third = charAt(string, 2)) === '/' || third === '\\' || third === '?' || third === '#') + ); +}; + +// https://url.spec.whatwg.org/#single-dot-path-segment +var isSingleDot = function (segment) { + return segment === '.' || toLowerCase(segment) === '%2e'; +}; + +// https://url.spec.whatwg.org/#double-dot-path-segment +var isDoubleDot = function (segment) { + segment = toLowerCase(segment); + return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; +}; + +// States: +var SCHEME_START = {}; +var SCHEME = {}; +var NO_SCHEME = {}; +var SPECIAL_RELATIVE_OR_AUTHORITY = {}; +var PATH_OR_AUTHORITY = {}; +var RELATIVE = {}; +var RELATIVE_SLASH = {}; +var SPECIAL_AUTHORITY_SLASHES = {}; +var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; +var AUTHORITY = {}; +var HOST = {}; +var HOSTNAME = {}; +var PORT = {}; +var FILE = {}; +var FILE_SLASH = {}; +var FILE_HOST = {}; +var PATH_START = {}; +var PATH = {}; +var CANNOT_BE_A_BASE_URL_PATH = {}; +var QUERY = {}; +var FRAGMENT = {}; + +var URLState = function (url, isBase, base) { + var urlString = $toString(url); + var baseState, failure, searchParams; + if (isBase) { + failure = this.parse(urlString); + if (failure) throw new TypeError(failure); + this.searchParams = null; + } else { + if (base !== undefined) baseState = new URLState(base, true); + failure = this.parse(urlString, null, baseState); + if (failure) throw new TypeError(failure); + searchParams = getInternalSearchParamsState(new URLSearchParams()); + searchParams.bindURL(this); + this.searchParams = searchParams; + } +}; + +URLState.prototype = { + type: 'URL', + // https://url.spec.whatwg.org/#url-parsing + // eslint-disable-next-line max-statements -- TODO + parse: function (input, stateOverride, base) { + var url = this; + var state = stateOverride || SCHEME_START; + var pointer = 0; + var buffer = ''; + var seenAt = false; + var seenBracket = false; + var seenPasswordToken = false; + var codePoints, chr, bufferCodePoints, failure; + + input = $toString(input); + + if (!stateOverride) { + url.scheme = ''; + url.username = ''; + url.password = ''; + url.host = null; + url.port = null; + url.path = []; + url.query = null; + url.fragment = null; + url.cannotBeABaseURL = false; + input = replace(input, LEADING_C0_CONTROL_OR_SPACE, ''); + input = replace(input, TRAILING_C0_CONTROL_OR_SPACE, '$1'); + } + + input = replace(input, TAB_AND_NEW_LINE, ''); + + codePoints = arrayFrom(input); + + while (pointer <= codePoints.length) { + chr = codePoints[pointer]; + switch (state) { + case SCHEME_START: + if (chr && exec(ALPHA, chr)) { + buffer += toLowerCase(chr); + state = SCHEME; + } else if (!stateOverride) { + state = NO_SCHEME; + continue; + } else return INVALID_SCHEME; + break; + + case SCHEME: + if (chr && (exec(ALPHANUMERIC, chr) || chr === '+' || chr === '-' || chr === '.')) { + buffer += toLowerCase(chr); + } else if (chr === ':') { + if (stateOverride && ( + (url.isSpecial() !== hasOwn(specialSchemes, buffer)) || + (buffer === 'file' && (url.includesCredentials() || url.port !== null)) || + (url.scheme === 'file' && !url.host) + )) return; + url.scheme = buffer; + if (stateOverride) { + if (url.isSpecial() && specialSchemes[url.scheme] === url.port) url.port = null; + return; + } + buffer = ''; + if (url.scheme === 'file') { + state = FILE; + } else if (url.isSpecial() && base && base.scheme === url.scheme) { + state = SPECIAL_RELATIVE_OR_AUTHORITY; + } else if (url.isSpecial()) { + state = SPECIAL_AUTHORITY_SLASHES; + } else if (codePoints[pointer + 1] === '/') { + state = PATH_OR_AUTHORITY; + pointer++; + } else { + url.cannotBeABaseURL = true; + push(url.path, ''); + state = CANNOT_BE_A_BASE_URL_PATH; + } + } else if (!stateOverride) { + buffer = ''; + state = NO_SCHEME; + pointer = 0; + continue; + } else return INVALID_SCHEME; + break; + + case NO_SCHEME: + if (!base || (base.cannotBeABaseURL && chr !== '#')) return INVALID_SCHEME; + if (base.cannotBeABaseURL && chr === '#') { + url.scheme = base.scheme; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + url.cannotBeABaseURL = true; + state = FRAGMENT; + break; + } + state = base.scheme === 'file' ? FILE : RELATIVE; + continue; + + case SPECIAL_RELATIVE_OR_AUTHORITY: + if (chr === '/' && codePoints[pointer + 1] === '/') { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + pointer++; + } else { + state = RELATIVE; + continue; + } break; + + case PATH_OR_AUTHORITY: + if (chr === '/') { + state = AUTHORITY; + break; + } else { + state = PATH; + continue; + } + + case RELATIVE: + url.scheme = base.scheme; + if (chr === EOF) { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + } else if (chr === '/' || (chr === '\\' && url.isSpecial())) { + state = RELATIVE_SLASH; + } else if (chr === '?') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.path.length--; + state = PATH; + continue; + } break; + + case RELATIVE_SLASH: + if (url.isSpecial() && (chr === '/' || chr === '\\')) { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + } else if (chr === '/') { + state = AUTHORITY; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + state = PATH; + continue; + } break; + + case SPECIAL_AUTHORITY_SLASHES: + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + if (chr !== '/' || charAt(buffer, pointer + 1) !== '/') continue; + pointer++; + break; + + case SPECIAL_AUTHORITY_IGNORE_SLASHES: + if (chr !== '/' && chr !== '\\') { + state = AUTHORITY; + continue; + } break; + + case AUTHORITY: + if (chr === '@') { + if (seenAt) buffer = '%40' + buffer; + seenAt = true; + bufferCodePoints = arrayFrom(buffer); + for (var i = 0; i < bufferCodePoints.length; i++) { + var codePoint = bufferCodePoints[i]; + if (codePoint === ':' && !seenPasswordToken) { + seenPasswordToken = true; + continue; + } + var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); + if (seenPasswordToken) url.password += encodedCodePoints; + else url.username += encodedCodePoints; + } + buffer = ''; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) + ) { + if (seenAt && buffer === '') return INVALID_AUTHORITY; + pointer -= arrayFrom(buffer).length + 1; + buffer = ''; + state = HOST; + } else buffer += chr; + break; + + case HOST: + case HOSTNAME: + if (stateOverride && url.scheme === 'file') { + state = FILE_HOST; + continue; + } else if (chr === ':' && !seenBracket) { + if (buffer === '') return INVALID_HOST; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PORT; + if (stateOverride === HOSTNAME) return; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) + ) { + if (url.isSpecial() && buffer === '') return INVALID_HOST; + if (stateOverride && buffer === '' && (url.includesCredentials() || url.port !== null)) return; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PATH_START; + if (stateOverride) return; + continue; + } else { + if (chr === '[') seenBracket = true; + else if (chr === ']') seenBracket = false; + buffer += chr; + } break; + + case PORT: + if (exec(DIGIT, chr)) { + buffer += chr; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) || + stateOverride + ) { + if (buffer !== '') { + var port = parseInt(buffer, 10); + if (port > 0xFFFF) return INVALID_PORT; + url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port; + buffer = ''; + } + if (stateOverride) return; + state = PATH_START; + continue; + } else return INVALID_PORT; + break; + + case FILE: + url.scheme = 'file'; + if (chr === '/' || chr === '\\') state = FILE_SLASH; + else if (base && base.scheme === 'file') { + switch (chr) { + case EOF: + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + break; + case '?': + url.host = base.host; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + break; + case '#': + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + break; + default: + if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + url.host = base.host; + url.path = arraySlice(base.path); + url.shortenPath(); + } + state = PATH; + continue; + } + } else { + state = PATH; + continue; + } break; + + case FILE_SLASH: + if (chr === '/' || chr === '\\') { + state = FILE_HOST; + break; + } + if (base && base.scheme === 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]); + else url.host = base.host; + } + state = PATH; + continue; + + case FILE_HOST: + if (chr === EOF || chr === '/' || chr === '\\' || chr === '?' || chr === '#') { + if (!stateOverride && isWindowsDriveLetter(buffer)) { + state = PATH; + } else if (buffer === '') { + url.host = ''; + if (stateOverride) return; + state = PATH_START; + } else { + failure = url.parseHost(buffer); + if (failure) return failure; + if (url.host === 'localhost') url.host = ''; + if (stateOverride) return; + buffer = ''; + state = PATH_START; + } continue; + } else buffer += chr; + break; + + case PATH_START: + if (url.isSpecial()) { + state = PATH; + if (chr !== '/' && chr !== '\\') continue; + } else if (!stateOverride && chr === '?') { + url.query = ''; + state = QUERY; + } else if (!stateOverride && chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + state = PATH; + if (chr !== '/') continue; + } break; + + case PATH: + if ( + chr === EOF || chr === '/' || + (chr === '\\' && url.isSpecial()) || + (!stateOverride && (chr === '?' || chr === '#')) + ) { + if (isDoubleDot(buffer)) { + url.shortenPath(); + if (chr !== '/' && !(chr === '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else if (isSingleDot(buffer)) { + if (chr !== '/' && !(chr === '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else { + if (url.scheme === 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { + if (url.host) url.host = ''; + buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter + } + push(url.path, buffer); + } + buffer = ''; + if (url.scheme === 'file' && (chr === EOF || chr === '?' || chr === '#')) { + while (url.path.length > 1 && url.path[0] === '') { + shift(url.path); + } + } + if (chr === '?') { + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } + } else { + buffer += percentEncode(chr, pathPercentEncodeSet); + } break; + + case CANNOT_BE_A_BASE_URL_PATH: + if (chr === '?') { + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet); + } break; + + case QUERY: + if (!stateOverride && chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + if (chr === "'" && url.isSpecial()) url.query += '%27'; + else if (chr === '#') url.query += '%23'; + else url.query += percentEncode(chr, C0ControlPercentEncodeSet); + } break; + + case FRAGMENT: + if (chr !== EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet); + break; + } + + pointer++; + } + }, + // https://url.spec.whatwg.org/#host-parsing + parseHost: function (input) { + var result, codePoints, index; + if (charAt(input, 0) === '[') { + if (charAt(input, input.length - 1) !== ']') return INVALID_HOST; + result = parseIPv6(stringSlice(input, 1, -1)); + if (!result) return INVALID_HOST; + this.host = result; + // opaque host + } else if (!this.isSpecial()) { + if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST; + result = ''; + codePoints = arrayFrom(input); + for (index = 0; index < codePoints.length; index++) { + result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); + } + this.host = result; + } else { + input = toASCII(input); + if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST; + result = parseIPv4(input); + if (result === null) return INVALID_HOST; + this.host = result; + } + }, + // https://url.spec.whatwg.org/#cannot-have-a-username-password-port + cannotHaveUsernamePasswordPort: function () { + return !this.host || this.cannotBeABaseURL || this.scheme === 'file'; + }, + // https://url.spec.whatwg.org/#include-credentials + includesCredentials: function () { + return this.username !== '' || this.password !== ''; + }, + // https://url.spec.whatwg.org/#is-special + isSpecial: function () { + return hasOwn(specialSchemes, this.scheme); + }, + // https://url.spec.whatwg.org/#shorten-a-urls-path + shortenPath: function () { + var path = this.path; + var pathSize = path.length; + if (pathSize && (this.scheme !== 'file' || pathSize !== 1 || !isWindowsDriveLetter(path[0], true))) { + path.length--; + } + }, + // https://url.spec.whatwg.org/#concept-url-serializer + serialize: function () { + var url = this; + var scheme = url.scheme; + var username = url.username; + var password = url.password; + var host = url.host; + var port = url.port; + var path = url.path; + var query = url.query; + var fragment = url.fragment; + var output = scheme + ':'; + if (host !== null) { + output += '//'; + if (url.includesCredentials()) { + output += username + (password ? ':' + password : '') + '@'; + } + output += serializeHost(host); + if (port !== null) output += ':' + port; + } else if (scheme === 'file') output += '//'; + output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + if (query !== null) output += '?' + query; + if (fragment !== null) output += '#' + fragment; + return output; + }, + // https://url.spec.whatwg.org/#dom-url-href + setHref: function (href) { + var failure = this.parse(href); + if (failure) throw new TypeError(failure); + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-origin + getOrigin: function () { + var scheme = this.scheme; + var port = this.port; + if (scheme === 'blob') try { + return new URLConstructor(scheme.path[0]).origin; + } catch (error) { + return 'null'; + } + if (scheme === 'file' || !this.isSpecial()) return 'null'; + return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : ''); + }, + // https://url.spec.whatwg.org/#dom-url-protocol + getProtocol: function () { + return this.scheme + ':'; + }, + setProtocol: function (protocol) { + this.parse($toString(protocol) + ':', SCHEME_START); + }, + // https://url.spec.whatwg.org/#dom-url-username + getUsername: function () { + return this.username; + }, + setUsername: function (username) { + var codePoints = arrayFrom($toString(username)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.username = ''; + for (var i = 0; i < codePoints.length; i++) { + this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-password + getPassword: function () { + return this.password; + }, + setPassword: function (password) { + var codePoints = arrayFrom($toString(password)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.password = ''; + for (var i = 0; i < codePoints.length; i++) { + this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-host + getHost: function () { + var host = this.host; + var port = this.port; + return host === null ? '' + : port === null ? serializeHost(host) + : serializeHost(host) + ':' + port; + }, + setHost: function (host) { + if (this.cannotBeABaseURL) return; + this.parse(host, HOST); + }, + // https://url.spec.whatwg.org/#dom-url-hostname + getHostname: function () { + var host = this.host; + return host === null ? '' : serializeHost(host); + }, + setHostname: function (hostname) { + if (this.cannotBeABaseURL) return; + this.parse(hostname, HOSTNAME); + }, + // https://url.spec.whatwg.org/#dom-url-port + getPort: function () { + var port = this.port; + return port === null ? '' : $toString(port); + }, + setPort: function (port) { + if (this.cannotHaveUsernamePasswordPort()) return; + port = $toString(port); + if (port === '') this.port = null; + else this.parse(port, PORT); + }, + // https://url.spec.whatwg.org/#dom-url-pathname + getPathname: function () { + var path = this.path; + return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + }, + setPathname: function (pathname) { + if (this.cannotBeABaseURL) return; + this.path = []; + this.parse(pathname, PATH_START); + }, + // https://url.spec.whatwg.org/#dom-url-search + getSearch: function () { + var query = this.query; + return query ? '?' + query : ''; + }, + setSearch: function (search) { + search = $toString(search); + if (search === '') { + this.query = null; + } else { + if (charAt(search, 0) === '?') search = stringSlice(search, 1); + this.query = ''; + this.parse(search, QUERY); + } + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-searchparams + getSearchParams: function () { + return this.searchParams.facade; + }, + // https://url.spec.whatwg.org/#dom-url-hash + getHash: function () { + var fragment = this.fragment; + return fragment ? '#' + fragment : ''; + }, + setHash: function (hash) { + hash = $toString(hash); + if (hash === '') { + this.fragment = null; + return; + } + if (charAt(hash, 0) === '#') hash = stringSlice(hash, 1); + this.fragment = ''; + this.parse(hash, FRAGMENT); + }, + update: function () { + this.query = this.searchParams.serialize() || null; + } +}; + +// `URL` constructor +// https://url.spec.whatwg.org/#url-class +var URLConstructor = function URL(url /* , base */) { + var that = anInstance(this, URLPrototype); + var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined; + var state = setInternalState(that, new URLState(url, false, base)); + if (!DESCRIPTORS) { + that.href = state.serialize(); + that.origin = state.getOrigin(); + that.protocol = state.getProtocol(); + that.username = state.getUsername(); + that.password = state.getPassword(); + that.host = state.getHost(); + that.hostname = state.getHostname(); + that.port = state.getPort(); + that.pathname = state.getPathname(); + that.search = state.getSearch(); + that.searchParams = state.getSearchParams(); + that.hash = state.getHash(); + } +}; + +var URLPrototype = URLConstructor.prototype; + +var accessorDescriptor = function (getter, setter) { + return { + get: function () { + return getInternalURLState(this)[getter](); + }, + set: setter && function (value) { + return getInternalURLState(this)[setter](value); + }, + configurable: true, + enumerable: true + }; +}; + +if (DESCRIPTORS) { + // `URL.prototype.href` accessors pair + // https://url.spec.whatwg.org/#dom-url-href + defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref')); + // `URL.prototype.origin` getter + // https://url.spec.whatwg.org/#dom-url-origin + defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin')); + // `URL.prototype.protocol` accessors pair + // https://url.spec.whatwg.org/#dom-url-protocol + defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol')); + // `URL.prototype.username` accessors pair + // https://url.spec.whatwg.org/#dom-url-username + defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername')); + // `URL.prototype.password` accessors pair + // https://url.spec.whatwg.org/#dom-url-password + defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword')); + // `URL.prototype.host` accessors pair + // https://url.spec.whatwg.org/#dom-url-host + defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost')); + // `URL.prototype.hostname` accessors pair + // https://url.spec.whatwg.org/#dom-url-hostname + defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname')); + // `URL.prototype.port` accessors pair + // https://url.spec.whatwg.org/#dom-url-port + defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort')); + // `URL.prototype.pathname` accessors pair + // https://url.spec.whatwg.org/#dom-url-pathname + defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname')); + // `URL.prototype.search` accessors pair + // https://url.spec.whatwg.org/#dom-url-search + defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch')); + // `URL.prototype.searchParams` getter + // https://url.spec.whatwg.org/#dom-url-searchparams + defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams')); + // `URL.prototype.hash` accessors pair + // https://url.spec.whatwg.org/#dom-url-hash + defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash')); +} + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +defineBuiltIn(URLPrototype, 'toJSON', function toJSON() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); + +// `URL.prototype.toString` method +// https://url.spec.whatwg.org/#URL-stringification-behavior +defineBuiltIn(URLPrototype, 'toString', function toString() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); + +if (NativeURL) { + var nativeCreateObjectURL = NativeURL.createObjectURL; + var nativeRevokeObjectURL = NativeURL.revokeObjectURL; + // `URL.createObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL + if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL)); + // `URL.revokeObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL + if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL)); +} + +setToStringTag(URLConstructor, 'URL'); + +$({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { + URL: URLConstructor +}); + + +/***/ }), +/* 566 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = !fails(function () { + // eslint-disable-next-line unicorn/relative-url-style -- required for testing + var url = new URL('b?a=1&b=2&c=3', 'https://a'); + var params = url.searchParams; + var params2 = new URLSearchParams('a=1&a=2&b=3'); + var result = ''; + url.pathname = 'c%20d'; + params.forEach(function (value, key) { + params['delete']('b'); + result += key + value; + }); + params2['delete']('a', 2); + // `undefined` case is a Chromium 117 bug + // https://bugs.chromium.org/p/v8/issues/detail?id=14222 + params2['delete']('b', undefined); + return (IS_PURE && (!url.toJSON || !params2.has('a', 1) || params2.has('a', 2) || !params2.has('a', undefined) || params2.has('b'))) + || (!params.size && (IS_PURE || !DESCRIPTORS)) + || !params.sort + || url.href !== 'https://a/c%20d?a=1&c=3' + || params.get('c') !== '3' + || String(new URLSearchParams('?a=1')) !== 'a=1' + || !params[ITERATOR] + // throws in Edge + || new URL('https://a@b').username !== 'a' + || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' + // not punycoded in Edge + || new URL('https://тест').host !== 'xn--e1aybc' + // not escaped in Chrome 62- + || new URL('https://a#б').hash !== '#%D0%B1' + // fails in Chrome 66- + || result !== 'a1c3' + // throws in Safari + || new URL('https://x', undefined).host !== 'x'; +}); + + +/***/ }), +/* 567 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js +var uncurryThis = __webpack_require__(14); + +var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 +var base = 36; +var tMin = 1; +var tMax = 26; +var skew = 38; +var damp = 700; +var initialBias = 72; +var initialN = 128; // 0x80 +var delimiter = '-'; // '\x2D' +var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars +var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators +var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; +var baseMinusTMin = base - tMin; + +var $RangeError = RangeError; +var exec = uncurryThis(regexSeparators.exec); +var floor = Math.floor; +var fromCharCode = String.fromCharCode; +var charCodeAt = uncurryThis(''.charCodeAt); +var join = uncurryThis([].join); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var split = uncurryThis(''.split); +var toLowerCase = uncurryThis(''.toLowerCase); + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + */ +var ucs2decode = function (string) { + var output = []; + var counter = 0; + var length = string.length; + while (counter < length) { + var value = charCodeAt(string, counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + var extra = charCodeAt(string, counter++); + if ((extra & 0xFC00) === 0xDC00) { // Low surrogate. + push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + push(output, value); + counter--; + } + } else { + push(output, value); + } + } + return output; +}; + +/** + * Converts a digit/integer into a basic code point. + */ +var digitToBasic = function (digit) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + */ +var adapt = function (delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + while (delta > baseMinusTMin * tMax >> 1) { + delta = floor(delta / baseMinusTMin); + k += base; + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + */ +var encode = function (input) { + var output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + var inputLength = input.length; + + // Initialize the state. + var n = initialN; + var delta = 0; + var bias = initialBias; + var i, currentValue; + + // Handle the basic code points. + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < 0x80) { + push(output, fromCharCode(currentValue)); + } + } + + var basicLength = output.length; // number of basic code points. + var handledCPCount = basicLength; // number of code points that have been handled; + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + push(output, delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + // All non-basic code points < n have been handled already. Find the next larger one: + var m = maxInt; + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow. + var handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + throw new $RangeError(OVERFLOW_ERROR); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < n && ++delta > maxInt) { + throw new $RangeError(OVERFLOW_ERROR); + } + if (currentValue === n) { + // Represent delta as a generalized variable-length integer. + var q = delta; + var k = base; + while (true) { + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (q < t) break; + var qMinusT = q - t; + var baseMinusT = base - t; + push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT))); + q = floor(qMinusT / baseMinusT); + k += base; + } + + push(output, fromCharCode(digitToBasic(q))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength); + delta = 0; + handledCPCount++; + } + } + + delta++; + n++; + } + return join(output, ''); +}; + +module.exports = function (input) { + var encoded = []; + var labels = split(replace(toLowerCase(input), regexSeparators, '\u002E'), '.'); + var i, label; + for (i = 0; i < labels.length; i++) { + label = labels[i]; + push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label); + } + return join(encoded, '.'); +}; + + +/***/ }), +/* 568 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__(168); +__webpack_require__(444); +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var safeGetBuiltIn = __webpack_require__(364); +var getBuiltIn = __webpack_require__(23); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var DESCRIPTORS = __webpack_require__(6); +var USE_NATIVE_URL = __webpack_require__(566); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var setToStringTag = __webpack_require__(82); +var createIteratorConstructor = __webpack_require__(170); +var InternalStateModule = __webpack_require__(51); +var anInstance = __webpack_require__(211); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var bind = __webpack_require__(84); +var classof = __webpack_require__(69); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var $toString = __webpack_require__(68); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var createIterResultObject = __webpack_require__(172); +var validateArgumentsLength = __webpack_require__(361); +var wellKnownSymbol = __webpack_require__(33); +var arraySort = __webpack_require__(189); + +var ITERATOR = wellKnownSymbol('iterator'); +var URL_SEARCH_PARAMS = 'URLSearchParams'; +var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); +var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); + +var nativeFetch = safeGetBuiltIn('fetch'); +var NativeRequest = safeGetBuiltIn('Request'); +var Headers = safeGetBuiltIn('Headers'); +var RequestPrototype = NativeRequest && NativeRequest.prototype; +var HeadersPrototype = Headers && Headers.prototype; +var TypeError = globalThis.TypeError; +var encodeURIComponent = globalThis.encodeURIComponent; +var fromCharCode = String.fromCharCode; +var fromCodePoint = getBuiltIn('String', 'fromCodePoint'); +var $parseInt = parseInt; +var charAt = uncurryThis(''.charAt); +var join = uncurryThis([].join); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var splice = uncurryThis([].splice); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); +var exec = uncurryThis(/./.exec); + +var plus = /\+/g; +var FALLBACK_REPLACER = '\uFFFD'; +var VALID_HEX = /^[0-9a-f]+$/i; + +var parseHexOctet = function (string, start) { + var substr = stringSlice(string, start, start + 2); + if (!exec(VALID_HEX, substr)) return NaN; + + return $parseInt(substr, 16); +}; + +var getLeadingOnes = function (octet) { + var count = 0; + for (var mask = 0x80; mask > 0 && (octet & mask) !== 0; mask >>= 1) { + count++; + } + return count; +}; + +var utf8Decode = function (octets) { + var codePoint = null; + + switch (octets.length) { + case 1: + codePoint = octets[0]; + break; + case 2: + codePoint = (octets[0] & 0x1F) << 6 | (octets[1] & 0x3F); + break; + case 3: + codePoint = (octets[0] & 0x0F) << 12 | (octets[1] & 0x3F) << 6 | (octets[2] & 0x3F); + break; + case 4: + codePoint = (octets[0] & 0x07) << 18 | (octets[1] & 0x3F) << 12 | (octets[2] & 0x3F) << 6 | (octets[3] & 0x3F); + break; + } + + return codePoint > 0x10FFFF ? null : codePoint; +}; + +var decode = function (input) { + input = replace(input, plus, ' '); + var length = input.length; + var result = ''; + var i = 0; + + while (i < length) { + var decodedChar = charAt(input, i); + + if (decodedChar === '%') { + if (charAt(input, i + 1) === '%' || i + 3 > length) { + result += '%'; + i++; + continue; + } + + var octet = parseHexOctet(input, i + 1); + + // eslint-disable-next-line no-self-compare -- NaN check + if (octet !== octet) { + result += decodedChar; + i++; + continue; + } + + i += 2; + var byteSequenceLength = getLeadingOnes(octet); + + if (byteSequenceLength === 0) { + decodedChar = fromCharCode(octet); + } else { + if (byteSequenceLength === 1 || byteSequenceLength > 4) { + result += FALLBACK_REPLACER; + i++; + continue; + } + + var octets = [octet]; + var sequenceIndex = 1; + + while (sequenceIndex < byteSequenceLength) { + i++; + if (i + 3 > length || charAt(input, i) !== '%') break; + + var nextByte = parseHexOctet(input, i + 1); + + // eslint-disable-next-line no-self-compare -- NaN check + if (nextByte !== nextByte) { + i += 3; + break; + } + if (nextByte > 191 || nextByte < 128) break; + + push(octets, nextByte); + i += 2; + sequenceIndex++; + } + + if (octets.length !== byteSequenceLength) { + result += FALLBACK_REPLACER; + continue; + } + + var codePoint = utf8Decode(octets); + if (codePoint === null) { + result += FALLBACK_REPLACER; + } else { + decodedChar = fromCodePoint(codePoint); + } + } + } + + result += decodedChar; + i++; + } + + return result; +}; + +var find = /[!'()~]|%20/g; + +var replacements = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+' +}; + +var replacer = function (match) { + return replacements[match]; +}; + +var serialize = function (it) { + return replace(encodeURIComponent(it), find, replacer); +}; + +var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { + setInternalState(this, { + type: URL_SEARCH_PARAMS_ITERATOR, + target: getInternalParamsState(params).entries, + index: 0, + kind: kind + }); +}, URL_SEARCH_PARAMS, function next() { + var state = getInternalIteratorState(this); + var target = state.target; + var index = state.index++; + if (!target || index >= target.length) { + state.target = null; + return createIterResultObject(undefined, true); + } + var entry = target[index]; + switch (state.kind) { + case 'keys': return createIterResultObject(entry.key, false); + case 'values': return createIterResultObject(entry.value, false); + } return createIterResultObject([entry.key, entry.value], false); +}, true); + +var URLSearchParamsState = function (init) { + this.entries = []; + this.url = null; + + if (init !== undefined) { + if (isObject(init)) this.parseObject(init); + else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init)); + } +}; + +URLSearchParamsState.prototype = { + type: URL_SEARCH_PARAMS, + bindURL: function (url) { + this.url = url; + this.update(); + }, + parseObject: function (object) { + var entries = this.entries; + var iteratorMethod = getIteratorMethod(object); + var iterator, next, step, entryIterator, entryNext, first, second; + + if (iteratorMethod) { + iterator = getIterator(object, iteratorMethod); + next = iterator.next; + while (!(step = call(next, iterator)).done) { + entryIterator = getIterator(anObject(step.value)); + entryNext = entryIterator.next; + if ( + (first = call(entryNext, entryIterator)).done || + (second = call(entryNext, entryIterator)).done || + !call(entryNext, entryIterator).done + ) throw new TypeError('Expected sequence with length 2'); + push(entries, { key: $toString(first.value), value: $toString(second.value) }); + } + } else for (var key in object) if (hasOwn(object, key)) { + push(entries, { key: key, value: $toString(object[key]) }); + } + }, + parseQuery: function (query) { + if (query) { + var entries = this.entries; + var attributes = split(query, '&'); + var index = 0; + var attribute, entry; + while (index < attributes.length) { + attribute = attributes[index++]; + if (attribute.length) { + entry = split(attribute, '='); + push(entries, { + key: decode(shift(entry)), + value: decode(join(entry, '=')) + }); + } + } + } + }, + serialize: function () { + var entries = this.entries; + var result = []; + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + push(result, serialize(entry.key) + '=' + serialize(entry.value)); + } return join(result, '&'); + }, + update: function () { + this.entries.length = 0; + this.parseQuery(this.url.query); + }, + updateURL: function () { + if (this.url) this.url.update(); + } +}; + +// `URLSearchParams` constructor +// https://url.spec.whatwg.org/#interface-urlsearchparams +var URLSearchParamsConstructor = function URLSearchParams(/* init */) { + anInstance(this, URLSearchParamsPrototype); + var init = arguments.length > 0 ? arguments[0] : undefined; + var state = setInternalState(this, new URLSearchParamsState(init)); + if (!DESCRIPTORS) this.size = state.entries.length; +}; + +var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; + +defineBuiltIns(URLSearchParamsPrototype, { + // `URLSearchParams.prototype.append` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-append + append: function append(name, value) { + var state = getInternalParamsState(this); + validateArgumentsLength(arguments.length, 2); + push(state.entries, { key: $toString(name), value: $toString(value) }); + if (!DESCRIPTORS) this.length++; + state.updateURL(); + }, + // `URLSearchParams.prototype.delete` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-delete + 'delete': function (name /* , value */) { + var state = getInternalParamsState(this); + var length = validateArgumentsLength(arguments.length, 1); + var entries = state.entries; + var key = $toString(name); + var $value = length < 2 ? undefined : arguments[1]; + var value = $value === undefined ? $value : $toString($value); + var index = 0; + while (index < entries.length) { + var entry = entries[index]; + if (entry.key === key && (value === undefined || entry.value === value)) { + splice(entries, index, 1); + if (value !== undefined) break; + } else index++; + } + if (!DESCRIPTORS) this.size = entries.length; + state.updateURL(); + }, + // `URLSearchParams.prototype.get` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-get + get: function get(name) { + var entries = getInternalParamsState(this).entries; + validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) return entries[index].value; + } + return null; + }, + // `URLSearchParams.prototype.getAll` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-getall + getAll: function getAll(name) { + var entries = getInternalParamsState(this).entries; + validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var result = []; + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) push(result, entries[index].value); + } + return result; + }, + // `URLSearchParams.prototype.has` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-has + has: function has(name /* , value */) { + var entries = getInternalParamsState(this).entries; + var length = validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var $value = length < 2 ? undefined : arguments[1]; + var value = $value === undefined ? $value : $toString($value); + var index = 0; + while (index < entries.length) { + var entry = entries[index++]; + if (entry.key === key && (value === undefined || entry.value === value)) return true; + } + return false; + }, + // `URLSearchParams.prototype.set` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-set + set: function set(name, value) { + var state = getInternalParamsState(this); + validateArgumentsLength(arguments.length, 1); + var entries = state.entries; + var found = false; + var key = $toString(name); + var val = $toString(value); + var index = 0; + var entry; + for (; index < entries.length; index++) { + entry = entries[index]; + if (entry.key === key) { + if (found) splice(entries, index--, 1); + else { + found = true; + entry.value = val; + } + } + } + if (!found) push(entries, { key: key, value: val }); + if (!DESCRIPTORS) this.size = entries.length; + state.updateURL(); + }, + // `URLSearchParams.prototype.sort` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-sort + sort: function sort() { + var state = getInternalParamsState(this); + arraySort(state.entries, function (a, b) { + return a.key > b.key ? 1 : -1; + }); + state.updateURL(); + }, + // `URLSearchParams.prototype.forEach` method + forEach: function forEach(callback /* , thisArg */) { + var entries = getInternalParamsState(this).entries; + var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined); + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + boundFunction(entry.value, entry.key, this); + } + }, + // `URLSearchParams.prototype.keys` method + keys: function keys() { + return new URLSearchParamsIterator(this, 'keys'); + }, + // `URLSearchParams.prototype.values` method + values: function values() { + return new URLSearchParamsIterator(this, 'values'); + }, + // `URLSearchParams.prototype.entries` method + entries: function entries() { + return new URLSearchParamsIterator(this, 'entries'); + } +}, { enumerable: true }); + +// `URLSearchParams.prototype[@@iterator]` method +defineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' }); + +// `URLSearchParams.prototype.toString` method +// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior +defineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() { + return getInternalParamsState(this).serialize(); +}, { enumerable: true }); + +// `URLSearchParams.prototype.size` getter +// https://github.com/whatwg/url/pull/734 +if (DESCRIPTORS) defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + return getInternalParamsState(this).entries.length; + }, + configurable: true, + enumerable: true +}); + +setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); + +$({ global: true, constructor: true, forced: !USE_NATIVE_URL }, { + URLSearchParams: URLSearchParamsConstructor +}); + +// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams` +if (!USE_NATIVE_URL && isCallable(Headers)) { + var headersHas = uncurryThis(HeadersPrototype.has); + var headersSet = uncurryThis(HeadersPrototype.set); + + var wrapRequestOptions = function (init) { + if (isObject(init)) { + var body = init.body; + var headers; + if (classof(body) === URL_SEARCH_PARAMS) { + headers = init.headers ? new Headers(init.headers) : new Headers(); + if (!headersHas(headers, 'content-type')) { + headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); + } + return create(init, { + body: createPropertyDescriptor(0, $toString(body)), + headers: createPropertyDescriptor(0, headers) + }); + } + } return init; + }; + + if (isCallable(nativeFetch)) { + $({ global: true, enumerable: true, dontCallGetSet: true, forced: true }, { + fetch: function fetch(input /* , init */) { + return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + } + }); + } + + if (isCallable(NativeRequest)) { + var RequestConstructor = function Request(input /* , init */) { + anInstance(this, RequestPrototype); + return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + }; + + RequestPrototype.constructor = RequestConstructor; + RequestConstructor.prototype = RequestPrototype; + + $({ global: true, constructor: true, dontCallGetSet: true, forced: true }, { + Request: RequestConstructor + }); + } +} + +module.exports = { + URLSearchParams: URLSearchParamsConstructor, + getState: getInternalParamsState +}; + + +/***/ }), +/* 569 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var fails = __webpack_require__(7); +var validateArgumentsLength = __webpack_require__(361); +var toString = __webpack_require__(68); +var USE_NATIVE_URL = __webpack_require__(566); + +var URL = getBuiltIn('URL'); + +// https://github.com/nodejs/node/issues/47505 +// https://github.com/denoland/deno/issues/18893 +var THROWS_WITHOUT_ARGUMENTS = USE_NATIVE_URL && fails(function () { + URL.canParse(); +}); + +// Bun ~ 1.0.30 bug +// https://github.com/oven-sh/bun/issues/9250 +var WRONG_ARITY = fails(function () { + return URL.canParse.length !== 1; +}); + +// `URL.canParse` method +// https://url.spec.whatwg.org/#dom-url-canparse +$({ target: 'URL', stat: true, forced: !THROWS_WITHOUT_ARGUMENTS || WRONG_ARITY }, { + canParse: function canParse(url) { + var length = validateArgumentsLength(arguments.length, 1); + var urlString = toString(url); + var base = length < 2 || arguments[1] === undefined ? undefined : toString(arguments[1]); + try { + return !!new URL(urlString, base); + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 570 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var validateArgumentsLength = __webpack_require__(361); +var toString = __webpack_require__(68); +var USE_NATIVE_URL = __webpack_require__(566); + +var URL = getBuiltIn('URL'); + +// `URL.parse` method +// https://url.spec.whatwg.org/#dom-url-canparse +$({ target: 'URL', stat: true, forced: !USE_NATIVE_URL }, { + parse: function parse(url) { + var length = validateArgumentsLength(arguments.length, 1); + var urlString = toString(url); + var base = length < 2 || arguments[1] === undefined ? undefined : toString(arguments[1]); + try { + return new URL(urlString, base); + } catch (error) { + return null; + } + } +}); + + +/***/ }), +/* 571 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +$({ target: 'URL', proto: true, enumerable: true }, { + toJSON: function toJSON() { + return call(URL.prototype.toString, this); + } +}); + + +/***/ }), +/* 572 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(568); + + +/***/ }), +/* 573 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); + +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var append = uncurryThis(URLSearchParamsPrototype.append); +var $delete = uncurryThis(URLSearchParamsPrototype['delete']); +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); +var push = uncurryThis([].push); +var params = new $URLSearchParams('a=1&a=2&b=3'); + +params['delete']('a', 1); +// `undefined` case is a Chromium 117 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=14222 +params['delete']('b', undefined); + +if (params + '' !== 'a=2') { + defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) return $delete(this, name); + var entries = []; + forEach(this, function (v, k) { // also validates `this` + push(entries, { key: k, value: v }); + }); + validateArgumentsLength(length, 1); + var key = toString(name); + var value = toString($value); + var index = 0; + var dindex = 0; + var found = false; + var entriesLength = entries.length; + var entry; + while (index < entriesLength) { + entry = entries[index++]; + if (found || entry.key === key) { + found = true; + $delete(this, entry.key); + } else dindex++; + } + while (dindex < entriesLength) { + entry = entries[dindex++]; + if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value); + } + }, { enumerable: true, unsafe: true }); +} + + +/***/ }), +/* 574 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); + +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var getAll = uncurryThis(URLSearchParamsPrototype.getAll); +var $has = uncurryThis(URLSearchParamsPrototype.has); +var params = new $URLSearchParams('a=1'); + +// `undefined` case is a Chromium 117 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=14222 +if (params.has('a', 2) || !params.has('a', undefined)) { + defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) return $has(this, name); + var values = getAll(this, name); // also validates `this` + validateArgumentsLength(length, 1); + var value = toString($value); + var index = 0; + while (index < values.length) { + if (values[index++] === value) return true; + } return false; + }, { enumerable: true, unsafe: true }); +} + + +/***/ }), +/* 575 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var uncurryThis = __webpack_require__(14); +var defineBuiltInAccessor = __webpack_require__(77); + +var URLSearchParamsPrototype = URLSearchParams.prototype; +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); + +// `URLSearchParams.prototype.size` getter +// https://github.com/whatwg/url/pull/734 +if (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) { + defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + var count = 0; + forEach(this, function () { count++; }); + return count; + }, + configurable: true, + enumerable: true + }); +} + + +/***/ }), +/* 576 */, +/* 577 */, +/* 578 */ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "default": function() { return /* binding */ Stanford; } +}); + +;// ./node_modules/d3-color/src/define.js +/* harmony default export */ function src_define(constructor, factory, prototype) { + constructor.prototype = factory.prototype = prototype; + prototype.constructor = constructor; +} +function extend(parent, definition) { + var prototype = Object.create(parent.prototype); + for (var key in definition) prototype[key] = definition[key]; + return prototype; +} + +;// ./node_modules/d3-color/src/color.js + +function Color() { +} +var darker = 0.7; +var brighter = 1 / darker; +var reI = "\\s*([+-]?\\d+)\\s*", reN = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", reP = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", reHex = /^#([0-9a-f]{3,8})$/, reRgbInteger = new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`), reRgbPercent = new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`), reRgbaInteger = new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`), reRgbaPercent = new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`), reHslPercent = new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`), reHslaPercent = new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`); +var named = { + aliceblue: 15792383, + antiquewhite: 16444375, + aqua: 65535, + aquamarine: 8388564, + azure: 15794175, + beige: 16119260, + bisque: 16770244, + black: 0, + blanchedalmond: 16772045, + blue: 255, + blueviolet: 9055202, + brown: 10824234, + burlywood: 14596231, + cadetblue: 6266528, + chartreuse: 8388352, + chocolate: 13789470, + coral: 16744272, + cornflowerblue: 6591981, + cornsilk: 16775388, + crimson: 14423100, + cyan: 65535, + darkblue: 139, + darkcyan: 35723, + darkgoldenrod: 12092939, + darkgray: 11119017, + darkgreen: 25600, + darkgrey: 11119017, + darkkhaki: 12433259, + darkmagenta: 9109643, + darkolivegreen: 5597999, + darkorange: 16747520, + darkorchid: 10040012, + darkred: 9109504, + darksalmon: 15308410, + darkseagreen: 9419919, + darkslateblue: 4734347, + darkslategray: 3100495, + darkslategrey: 3100495, + darkturquoise: 52945, + darkviolet: 9699539, + deeppink: 16716947, + deepskyblue: 49151, + dimgray: 6908265, + dimgrey: 6908265, + dodgerblue: 2003199, + firebrick: 11674146, + floralwhite: 16775920, + forestgreen: 2263842, + fuchsia: 16711935, + gainsboro: 14474460, + ghostwhite: 16316671, + gold: 16766720, + goldenrod: 14329120, + gray: 8421504, + green: 32768, + greenyellow: 11403055, + grey: 8421504, + honeydew: 15794160, + hotpink: 16738740, + indianred: 13458524, + indigo: 4915330, + ivory: 16777200, + khaki: 15787660, + lavender: 15132410, + lavenderblush: 16773365, + lawngreen: 8190976, + lemonchiffon: 16775885, + lightblue: 11393254, + lightcoral: 15761536, + lightcyan: 14745599, + lightgoldenrodyellow: 16448210, + lightgray: 13882323, + lightgreen: 9498256, + lightgrey: 13882323, + lightpink: 16758465, + lightsalmon: 16752762, + lightseagreen: 2142890, + lightskyblue: 8900346, + lightslategray: 7833753, + lightslategrey: 7833753, + lightsteelblue: 11584734, + lightyellow: 16777184, + lime: 65280, + limegreen: 3329330, + linen: 16445670, + magenta: 16711935, + maroon: 8388608, + mediumaquamarine: 6737322, + mediumblue: 205, + mediumorchid: 12211667, + mediumpurple: 9662683, + mediumseagreen: 3978097, + mediumslateblue: 8087790, + mediumspringgreen: 64154, + mediumturquoise: 4772300, + mediumvioletred: 13047173, + midnightblue: 1644912, + mintcream: 16121850, + mistyrose: 16770273, + moccasin: 16770229, + navajowhite: 16768685, + navy: 128, + oldlace: 16643558, + olive: 8421376, + olivedrab: 7048739, + orange: 16753920, + orangered: 16729344, + orchid: 14315734, + palegoldenrod: 15657130, + palegreen: 10025880, + paleturquoise: 11529966, + palevioletred: 14381203, + papayawhip: 16773077, + peachpuff: 16767673, + peru: 13468991, + pink: 16761035, + plum: 14524637, + powderblue: 11591910, + purple: 8388736, + rebeccapurple: 6697881, + red: 16711680, + rosybrown: 12357519, + royalblue: 4286945, + saddlebrown: 9127187, + salmon: 16416882, + sandybrown: 16032864, + seagreen: 3050327, + seashell: 16774638, + sienna: 10506797, + silver: 12632256, + skyblue: 8900331, + slateblue: 6970061, + slategray: 7372944, + slategrey: 7372944, + snow: 16775930, + springgreen: 65407, + steelblue: 4620980, + tan: 13808780, + teal: 32896, + thistle: 14204888, + tomato: 16737095, + turquoise: 4251856, + violet: 15631086, + wheat: 16113331, + white: 16777215, + whitesmoke: 16119285, + yellow: 16776960, + yellowgreen: 10145074 +}; +src_define(Color, color, { + copy(channels) { + return Object.assign(new this.constructor(), this, channels); + }, + displayable() { + return this.rgb().displayable(); + }, + hex: color_formatHex, + // Deprecated! Use color.formatHex. + formatHex: color_formatHex, + formatHex8: color_formatHex8, + formatHsl: color_formatHsl, + formatRgb: color_formatRgb, + toString: color_formatRgb +}); +function color_formatHex() { + return this.rgb().formatHex(); +} +function color_formatHex8() { + return this.rgb().formatHex8(); +} +function color_formatHsl() { + return hslConvert(this).formatHsl(); +} +function color_formatRgb() { + return this.rgb().formatRgb(); +} +function color(format) { + var m, l; + format = (format + "").trim().toLowerCase(); + return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) : l === 3 ? new Rgb(m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, (m & 15) << 4 | m & 15, 1) : l === 8 ? rgba(m >> 24 & 255, m >> 16 & 255, m >> 8 & 255, (m & 255) / 255) : l === 4 ? rgba(m >> 12 & 15 | m >> 8 & 240, m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, ((m & 15) << 4 | m & 15) / 255) : null) : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) : named.hasOwnProperty(format) ? rgbn(named[format]) : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0) : null; +} +function rgbn(n) { + return new Rgb(n >> 16 & 255, n >> 8 & 255, n & 255, 1); +} +function rgba(r, g, b, a) { + if (a <= 0) r = g = b = NaN; + return new Rgb(r, g, b, a); +} +function rgbConvert(o) { + if (!(o instanceof Color)) o = color(o); + if (!o) return new Rgb(); + o = o.rgb(); + return new Rgb(o.r, o.g, o.b, o.opacity); +} +function color_rgb(r, g, b, opacity) { + return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity); +} +function Rgb(r, g, b, opacity) { + this.r = +r; + this.g = +g; + this.b = +b; + this.opacity = +opacity; +} +src_define(Rgb, color_rgb, extend(Color, { + brighter(k) { + k = k == null ? brighter : Math.pow(brighter, k); + return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); + }, + darker(k) { + k = k == null ? darker : Math.pow(darker, k); + return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); + }, + rgb() { + return this; + }, + clamp() { + return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity)); + }, + displayable() { + return -0.5 <= this.r && this.r < 255.5 && (-0.5 <= this.g && this.g < 255.5) && (-0.5 <= this.b && this.b < 255.5) && (0 <= this.opacity && this.opacity <= 1); + }, + hex: rgb_formatHex, + // Deprecated! Use color.formatHex. + formatHex: rgb_formatHex, + formatHex8: rgb_formatHex8, + formatRgb: rgb_formatRgb, + toString: rgb_formatRgb +})); +function rgb_formatHex() { + return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`; +} +function rgb_formatHex8() { + return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`; +} +function rgb_formatRgb() { + const a = clampa(this.opacity); + return `${a === 1 ? "rgb(" : "rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? ")" : `, ${a})`}`; +} +function clampa(opacity) { + return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity)); +} +function clampi(value) { + return Math.max(0, Math.min(255, Math.round(value) || 0)); +} +function hex(value) { + value = clampi(value); + return (value < 16 ? "0" : "") + value.toString(16); +} +function hsla(h, s, l, a) { + if (a <= 0) h = s = l = NaN; + else if (l <= 0 || l >= 1) h = s = NaN; + else if (s <= 0) h = NaN; + return new Hsl(h, s, l, a); +} +function hslConvert(o) { + if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity); + if (!(o instanceof Color)) o = color(o); + if (!o) return new Hsl(); + if (o instanceof Hsl) return o; + o = o.rgb(); + var r = o.r / 255, g = o.g / 255, b = o.b / 255, min = Math.min(r, g, b), max = Math.max(r, g, b), h = NaN, s = max - min, l = (max + min) / 2; + if (s) { + if (r === max) h = (g - b) / s + (g < b) * 6; + else if (g === max) h = (b - r) / s + 2; + else h = (r - g) / s + 4; + s /= l < 0.5 ? max + min : 2 - max - min; + h *= 60; + } else { + s = l > 0 && l < 1 ? 0 : h; + } + return new Hsl(h, s, l, o.opacity); +} +function hsl(h, s, l, opacity) { + return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity); +} +function Hsl(h, s, l, opacity) { + this.h = +h; + this.s = +s; + this.l = +l; + this.opacity = +opacity; +} +src_define(Hsl, hsl, extend(Color, { + brighter(k) { + k = k == null ? brighter : Math.pow(brighter, k); + return new Hsl(this.h, this.s, this.l * k, this.opacity); + }, + darker(k) { + k = k == null ? darker : Math.pow(darker, k); + return new Hsl(this.h, this.s, this.l * k, this.opacity); + }, + rgb() { + var h = this.h % 360 + (this.h < 0) * 360, s = isNaN(h) || isNaN(this.s) ? 0 : this.s, l = this.l, m2 = l + (l < 0.5 ? l : 1 - l) * s, m1 = 2 * l - m2; + return new Rgb( + hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2), + hsl2rgb(h, m1, m2), + hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2), + this.opacity + ); + }, + clamp() { + return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity)); + }, + displayable() { + return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && (0 <= this.l && this.l <= 1) && (0 <= this.opacity && this.opacity <= 1); + }, + formatHsl() { + const a = clampa(this.opacity); + return `${a === 1 ? "hsl(" : "hsla("}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? ")" : `, ${a})`}`; + } +})); +function clamph(value) { + value = (value || 0) % 360; + return value < 0 ? value + 360 : value; +} +function clampt(value) { + return Math.max(0, Math.min(1, value || 0)); +} +function hsl2rgb(h, m1, m2) { + return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255; +} + +;// ./node_modules/d3-interpolate/src/constant.js +/* harmony default export */ var constant = ((x) => () => x); + +;// ./node_modules/d3-interpolate/src/color.js + +function linear(a, d) { + return function(t) { + return a + t * d; + }; +} +function exponential(a, b, y) { + return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) { + return Math.pow(a + t * b, y); + }; +} +function hue(a, b) { + var d = b - a; + return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a); +} +function gamma(y) { + return (y = +y) === 1 ? nogamma : function(a, b) { + return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a); + }; +} +function nogamma(a, b) { + var d = b - a; + return d ? linear(a, d) : constant(isNaN(a) ? b : a); +} + +;// ./node_modules/d3-interpolate/src/hsl.js + + +function hsl_hsl(hue2) { + return function(start, end) { + var h = hue2((start = hsl(start)).h, (end = hsl(end)).h), s = nogamma(start.s, end.s), l = nogamma(start.l, end.l), opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.h = h(t); + start.s = s(t); + start.l = l(t); + start.opacity = opacity(t); + return start + ""; + }; + }; +} +/* harmony default export */ var src_hsl = (hsl_hsl(hue)); +var hslLong = hsl_hsl(nogamma); + +;// ./node_modules/d3-interpolate/src/basis.js +function basis(t1, v0, v1, v2, v3) { + var t2 = t1 * t1, t3 = t2 * t1; + return ((1 - 3 * t1 + 3 * t2 - t3) * v0 + (4 - 6 * t2 + 3 * t3) * v1 + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2 + t3 * v3) / 6; +} +/* harmony default export */ function src_basis(values) { + var n = values.length - 1; + return function(t) { + var i = t <= 0 ? t = 0 : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n), v1 = values[i], v2 = values[i + 1], v0 = i > 0 ? values[i - 1] : 2 * v1 - v2, v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1; + return basis((t - i / n) * n, v0, v1, v2, v3); + }; +} + +;// ./node_modules/d3-interpolate/src/basisClosed.js + +/* harmony default export */ function basisClosed(values) { + var n = values.length; + return function(t) { + var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n), v0 = values[(i + n - 1) % n], v1 = values[i % n], v2 = values[(i + 1) % n], v3 = values[(i + 2) % n]; + return basis((t - i / n) * n, v0, v1, v2, v3); + }; +} + +;// ./node_modules/d3-interpolate/src/rgb.js + + + + +/* harmony default export */ var rgb = ((function rgbGamma(y) { + var color = gamma(y); + function rgb(start, end) { + var r = color((start = color_rgb(start)).r, (end = color_rgb(end)).r), g = color(start.g, end.g), b = color(start.b, end.b), opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.r = r(t); + start.g = g(t); + start.b = b(t); + start.opacity = opacity(t); + return start + ""; + }; + } + rgb.gamma = rgbGamma; + return rgb; +})(1)); +function rgbSpline(spline) { + return function(colors) { + var n = colors.length, r = new Array(n), g = new Array(n), b = new Array(n), i, color; + for (i = 0; i < n; ++i) { + color = color_rgb(colors[i]); + r[i] = color.r || 0; + g[i] = color.g || 0; + b[i] = color.b || 0; + } + r = spline(r); + g = spline(g); + b = spline(b); + color.opacity = 1; + return function(t) { + color.r = r(t); + color.g = g(t); + color.b = b(t); + return color + ""; + }; + }; +} +var rgbBasis = rgbSpline(src_basis); +var rgbBasisClosed = rgbSpline(basisClosed); + +;// ./node_modules/d3-interpolate/src/numberArray.js +/* harmony default export */ function numberArray(a, b) { + if (!b) b = []; + var n = a ? Math.min(b.length, a.length) : 0, c = b.slice(), i; + return function(t) { + for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t; + return c; + }; +} +function isNumberArray(x) { + return ArrayBuffer.isView(x) && !(x instanceof DataView); +} + +;// ./node_modules/d3-interpolate/src/array.js + + +/* harmony default export */ function array(a, b) { + return (isNumberArray(b) ? numberArray : genericArray)(a, b); +} +function genericArray(a, b) { + var nb = b ? b.length : 0, na = a ? Math.min(nb, a.length) : 0, x = new Array(na), c = new Array(nb), i; + for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]); + for (; i < nb; ++i) c[i] = b[i]; + return function(t) { + for (i = 0; i < na; ++i) c[i] = x[i](t); + return c; + }; +} + +;// ./node_modules/d3-interpolate/src/date.js +/* harmony default export */ function date(a, b) { + var d = /* @__PURE__ */ new Date(); + return a = +a, b = +b, function(t) { + return d.setTime(a * (1 - t) + b * t), d; + }; +} + +;// ./node_modules/d3-interpolate/src/number.js +/* harmony default export */ function number(a, b) { + return a = +a, b = +b, function(t) { + return a * (1 - t) + b * t; + }; +} + +;// ./node_modules/d3-interpolate/src/object.js + +/* harmony default export */ function object(a, b) { + var i = {}, c = {}, k; + if (a === null || typeof a !== "object") a = {}; + if (b === null || typeof b !== "object") b = {}; + for (k in b) { + if (k in a) { + i[k] = value(a[k], b[k]); + } else { + c[k] = b[k]; + } + } + return function(t) { + for (k in i) c[k] = i[k](t); + return c; + }; +} + +;// ./node_modules/d3-interpolate/src/string.js + +var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, reB = new RegExp(reA.source, "g"); +function zero(b) { + return function() { + return b; + }; +} +function one(b) { + return function(t) { + return b(t) + ""; + }; +} +/* harmony default export */ function string(a, b) { + var bi = reA.lastIndex = reB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = []; + a = a + "", b = b + ""; + while ((am = reA.exec(a)) && (bm = reB.exec(b))) { + if ((bs = bm.index) > bi) { + bs = b.slice(bi, bs); + if (s[i]) s[i] += bs; + else s[++i] = bs; + } + if ((am = am[0]) === (bm = bm[0])) { + if (s[i]) s[i] += bm; + else s[++i] = bm; + } else { + s[++i] = null; + q.push({ i, x: number(am, bm) }); + } + bi = reB.lastIndex; + } + if (bi < b.length) { + bs = b.slice(bi); + if (s[i]) s[i] += bs; + else s[++i] = bs; + } + return s.length < 2 ? q[0] ? one(q[0].x) : zero(b) : (b = q.length, function(t) { + for (var i2 = 0, o; i2 < b; ++i2) s[(o = q[i2]).i] = o.x(t); + return s.join(""); + }); +} + +;// ./node_modules/d3-interpolate/src/value.js + + + + + + + + + +/* harmony default export */ function value(a, b) { + var t = typeof b, c; + return b == null || t === "boolean" ? constant(b) : (t === "number" ? number : t === "string" ? (c = color(b)) ? (b = c, rgb) : string : b instanceof color ? rgb : b instanceof Date ? date : isNumberArray(b) ? numberArray : Array.isArray(b) ? genericArray : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? object : number)(a, b); +} + +;// ./node_modules/d3-interpolate/src/round.js +/* harmony default export */ function round(a, b) { + return a = +a, b = +b, function(t) { + return Math.round(a * (1 - t) + b * t); + }; +} + +;// ./node_modules/d3-array/src/ascending.js +function ascending(a, b) { + return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; +} + +;// ./node_modules/d3-array/src/descending.js +function descending(a, b) { + return a == null || b == null ? NaN : b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; +} + +;// ./node_modules/d3-array/src/bisector.js + + +function bisector(f) { + let compare1, compare2, delta; + if (f.length !== 2) { + compare1 = ascending; + compare2 = (d, x) => ascending(f(d), x); + delta = (d, x) => f(d) - x; + } else { + compare1 = f === ascending || f === descending ? f : bisector_zero; + compare2 = f; + delta = f; + } + function left(a, x, lo = 0, hi = a.length) { + if (lo < hi) { + if (compare1(x, x) !== 0) return hi; + do { + const mid = lo + hi >>> 1; + if (compare2(a[mid], x) < 0) lo = mid + 1; + else hi = mid; + } while (lo < hi); + } + return lo; + } + function right(a, x, lo = 0, hi = a.length) { + if (lo < hi) { + if (compare1(x, x) !== 0) return hi; + do { + const mid = lo + hi >>> 1; + if (compare2(a[mid], x) <= 0) lo = mid + 1; + else hi = mid; + } while (lo < hi); + } + return lo; + } + function center(a, x, lo = 0, hi = a.length) { + const i = left(a, x, lo, hi - 1); + return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i; + } + return { left, center, right }; +} +function bisector_zero() { + return 0; +} + +;// ./node_modules/d3-array/src/number.js +function number_number(x) { + return x === null ? NaN : +x; +} +function* numbers(values, valueof) { + if (valueof === void 0) { + for (let value of values) { + if (value != null && (value = +value) >= value) { + yield value; + } + } + } else { + let index = -1; + for (let value of values) { + if ((value = valueof(value, ++index, values)) != null && (value = +value) >= value) { + yield value; + } + } + } +} + +;// ./node_modules/d3-array/src/bisect.js + + + +const ascendingBisect = bisector(ascending); +const bisectRight = ascendingBisect.right; +const bisectLeft = ascendingBisect.left; +const bisectCenter = bisector(number_number).center; +/* harmony default export */ var bisect = (bisectRight); + +;// ./node_modules/d3-scale/src/constant.js +function constants(x) { + return function() { + return x; + }; +} + +;// ./node_modules/d3-scale/src/number.js +function src_number_number(x) { + return +x; +} + +;// ./node_modules/d3-scale/src/continuous.js + + + + +var unit = [0, 1]; +function identity(x) { + return x; +} +function normalize(a, b) { + return (b -= a = +a) ? function(x) { + return (x - a) / b; + } : constants(isNaN(b) ? NaN : 0.5); +} +function clamper(a, b) { + var t; + if (a > b) t = a, a = b, b = t; + return function(x) { + return Math.max(a, Math.min(b, x)); + }; +} +function bimap(domain, range, interpolate) { + var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1]; + if (d1 < d0) d0 = normalize(d1, d0), r0 = interpolate(r1, r0); + else d0 = normalize(d0, d1), r0 = interpolate(r0, r1); + return function(x) { + return r0(d0(x)); + }; +} +function polymap(domain, range, interpolate) { + var j = Math.min(domain.length, range.length) - 1, d = new Array(j), r = new Array(j), i = -1; + if (domain[j] < domain[0]) { + domain = domain.slice().reverse(); + range = range.slice().reverse(); + } + while (++i < j) { + d[i] = normalize(domain[i], domain[i + 1]); + r[i] = interpolate(range[i], range[i + 1]); + } + return function(x) { + var i2 = bisect(domain, x, 1, j) - 1; + return r[i2](d[i2](x)); + }; +} +function copy(source, target) { + return target.domain(source.domain()).range(source.range()).interpolate(source.interpolate()).clamp(source.clamp()).unknown(source.unknown()); +} +function transformer() { + var domain = unit, range = unit, interpolate = value, transform, untransform, unknown, clamp = identity, piecewise, output, input; + function rescale() { + var n = Math.min(domain.length, range.length); + if (clamp !== identity) clamp = clamper(domain[0], domain[n - 1]); + piecewise = n > 2 ? polymap : bimap; + output = input = null; + return scale; + } + function scale(x) { + return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x))); + } + scale.invert = function(y) { + return clamp(untransform((input || (input = piecewise(range, domain.map(transform), number)))(y))); + }; + scale.domain = function(_) { + return arguments.length ? (domain = Array.from(_, src_number_number), rescale()) : domain.slice(); + }; + scale.range = function(_) { + return arguments.length ? (range = Array.from(_), rescale()) : range.slice(); + }; + scale.rangeRound = function(_) { + return range = Array.from(_), interpolate = round, rescale(); + }; + scale.clamp = function(_) { + return arguments.length ? (clamp = _ ? true : identity, rescale()) : clamp !== identity; + }; + scale.interpolate = function(_) { + return arguments.length ? (interpolate = _, rescale()) : interpolate; + }; + scale.unknown = function(_) { + return arguments.length ? (unknown = _, scale) : unknown; + }; + return function(t, u) { + transform = t, untransform = u; + return rescale(); + }; +} +function continuous() { + return transformer()(identity, identity); +} + +;// ./node_modules/d3-scale/src/init.js +function initRange(domain, range) { + switch (arguments.length) { + case 0: + break; + case 1: + this.range(domain); + break; + default: + this.range(range).domain(domain); + break; + } + return this; +} +function initInterpolator(domain, interpolator) { + switch (arguments.length) { + case 0: + break; + case 1: { + if (typeof domain === "function") this.interpolator(domain); + else this.range(domain); + break; + } + default: { + this.domain(domain); + if (typeof interpolator === "function") this.interpolator(interpolator); + else this.range(interpolator); + break; + } + } + return this; +} + +;// ./node_modules/d3-array/src/ticks.js +const e10 = Math.sqrt(50), e5 = Math.sqrt(10), e2 = Math.sqrt(2); +function tickSpec(start, stop, count) { + const step = (stop - start) / Math.max(0, count), power = Math.floor(Math.log10(step)), error = step / Math.pow(10, power), factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1; + let i1, i2, inc; + if (power < 0) { + inc = Math.pow(10, -power) / factor; + i1 = Math.round(start * inc); + i2 = Math.round(stop * inc); + if (i1 / inc < start) ++i1; + if (i2 / inc > stop) --i2; + inc = -inc; + } else { + inc = Math.pow(10, power) * factor; + i1 = Math.round(start / inc); + i2 = Math.round(stop / inc); + if (i1 * inc < start) ++i1; + if (i2 * inc > stop) --i2; + } + if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2); + return [i1, i2, inc]; +} +function ticks(start, stop, count) { + stop = +stop, start = +start, count = +count; + if (!(count > 0)) return []; + if (start === stop) return [start]; + const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count); + if (!(i2 >= i1)) return []; + const n = i2 - i1 + 1, ticks2 = new Array(n); + if (reverse) { + if (inc < 0) for (let i = 0; i < n; ++i) ticks2[i] = (i2 - i) / -inc; + else for (let i = 0; i < n; ++i) ticks2[i] = (i2 - i) * inc; + } else { + if (inc < 0) for (let i = 0; i < n; ++i) ticks2[i] = (i1 + i) / -inc; + else for (let i = 0; i < n; ++i) ticks2[i] = (i1 + i) * inc; + } + return ticks2; +} +function tickIncrement(start, stop, count) { + stop = +stop, start = +start, count = +count; + return tickSpec(start, stop, count)[2]; +} +function tickStep(start, stop, count) { + stop = +stop, start = +start, count = +count; + const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count); + return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc); +} + +;// ./node_modules/d3-format/src/formatSpecifier.js +var re = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i; +function formatSpecifier(specifier) { + if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier); + var match; + return new FormatSpecifier({ + fill: match[1], + align: match[2], + sign: match[3], + symbol: match[4], + zero: match[5], + width: match[6], + comma: match[7], + precision: match[8] && match[8].slice(1), + trim: match[9], + type: match[10] + }); +} +formatSpecifier.prototype = FormatSpecifier.prototype; +function FormatSpecifier(specifier) { + this.fill = specifier.fill === void 0 ? " " : specifier.fill + ""; + this.align = specifier.align === void 0 ? ">" : specifier.align + ""; + this.sign = specifier.sign === void 0 ? "-" : specifier.sign + ""; + this.symbol = specifier.symbol === void 0 ? "" : specifier.symbol + ""; + this.zero = !!specifier.zero; + this.width = specifier.width === void 0 ? void 0 : +specifier.width; + this.comma = !!specifier.comma; + this.precision = specifier.precision === void 0 ? void 0 : +specifier.precision; + this.trim = !!specifier.trim; + this.type = specifier.type === void 0 ? "" : specifier.type + ""; +} +FormatSpecifier.prototype.toString = function() { + return this.fill + this.align + this.sign + this.symbol + (this.zero ? "0" : "") + (this.width === void 0 ? "" : Math.max(1, this.width | 0)) + (this.comma ? "," : "") + (this.precision === void 0 ? "" : "." + Math.max(0, this.precision | 0)) + (this.trim ? "~" : "") + this.type; +}; + +;// ./node_modules/d3-format/src/formatDecimal.js +/* harmony default export */ function formatDecimal(x) { + return Math.abs(x = Math.round(x)) >= 1e21 ? x.toLocaleString("en").replace(/,/g, "") : x.toString(10); +} +function formatDecimalParts(x, p) { + if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; + var i, coefficient = x.slice(0, i); + return [ + coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient, + +x.slice(i + 1) + ]; +} + +;// ./node_modules/d3-format/src/exponent.js + +/* harmony default export */ function exponent(x) { + return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN; +} + +;// ./node_modules/d3-format/src/precisionPrefix.js + +/* harmony default export */ function precisionPrefix(step, value) { + return Math.max(0, Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3 - exponent(Math.abs(step))); +} + +;// ./node_modules/d3-format/src/formatGroup.js +/* harmony default export */ function formatGroup(grouping, thousands) { + return function(value, width) { + var i = value.length, t = [], j = 0, g = grouping[0], length = 0; + while (i > 0 && g > 0) { + if (length + g + 1 > width) g = Math.max(1, width - length); + t.push(value.substring(i -= g, i + g)); + if ((length += g + 1) > width) break; + g = grouping[j = (j + 1) % grouping.length]; + } + return t.reverse().join(thousands); + }; +} + +;// ./node_modules/d3-format/src/formatNumerals.js +/* harmony default export */ function formatNumerals(numerals) { + return function(value) { + return value.replace(/[0-9]/g, function(i) { + return numerals[+i]; + }); + }; +} + +;// ./node_modules/d3-format/src/formatTrim.js +/* harmony default export */ function formatTrim(s) { + out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) { + switch (s[i]) { + case ".": + i0 = i1 = i; + break; + case "0": + if (i0 === 0) i0 = i; + i1 = i; + break; + default: + if (!+s[i]) break out; + if (i0 > 0) i0 = 0; + break; + } + } + return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s; +} + +;// ./node_modules/d3-format/src/formatPrefixAuto.js + +var prefixExponent; +/* harmony default export */ function formatPrefixAuto(x, p) { + var d = formatDecimalParts(x, p); + if (!d) return x + ""; + var coefficient = d[0], exponent = d[1], i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1, n = coefficient.length; + return i === n ? coefficient : i > n ? coefficient + new Array(i - n + 1).join("0") : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i) : "0." + new Array(1 - i).join("0") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; +} + +;// ./node_modules/d3-format/src/formatRounded.js + +/* harmony default export */ function formatRounded(x, p) { + var d = formatDecimalParts(x, p); + if (!d) return x + ""; + var coefficient = d[0], exponent = d[1]; + return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1) : coefficient + new Array(exponent - coefficient.length + 2).join("0"); +} + +;// ./node_modules/d3-format/src/formatTypes.js + + + +/* harmony default export */ var formatTypes = ({ + "%": (x, p) => (x * 100).toFixed(p), + "b": (x) => Math.round(x).toString(2), + "c": (x) => x + "", + "d": formatDecimal, + "e": (x, p) => x.toExponential(p), + "f": (x, p) => x.toFixed(p), + "g": (x, p) => x.toPrecision(p), + "o": (x) => Math.round(x).toString(8), + "p": (x, p) => formatRounded(x * 100, p), + "r": formatRounded, + "s": formatPrefixAuto, + "X": (x) => Math.round(x).toString(16).toUpperCase(), + "x": (x) => Math.round(x).toString(16) +}); + +;// ./node_modules/d3-format/src/identity.js +/* harmony default export */ function src_identity(x) { + return x; +} + +;// ./node_modules/d3-format/src/locale.js + + + + + + + + +var map = Array.prototype.map, prefixes = ["y", "z", "a", "f", "p", "n", "\xB5", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y"]; +/* harmony default export */ function locale(locale) { + var group = locale.grouping === void 0 || locale.thousands === void 0 ? src_identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + ""), currencyPrefix = locale.currency === void 0 ? "" : locale.currency[0] + "", currencySuffix = locale.currency === void 0 ? "" : locale.currency[1] + "", decimal = locale.decimal === void 0 ? "." : locale.decimal + "", numerals = locale.numerals === void 0 ? src_identity : formatNumerals(map.call(locale.numerals, String)), percent = locale.percent === void 0 ? "%" : locale.percent + "", minus = locale.minus === void 0 ? "\u2212" : locale.minus + "", nan = locale.nan === void 0 ? "NaN" : locale.nan + ""; + function newFormat(specifier) { + specifier = formatSpecifier(specifier); + var fill = specifier.fill, align = specifier.align, sign = specifier.sign, symbol = specifier.symbol, zero = specifier.zero, width = specifier.width, comma = specifier.comma, precision = specifier.precision, trim = specifier.trim, type = specifier.type; + if (type === "n") comma = true, type = "g"; + else if (!formatTypes[type]) precision === void 0 && (precision = 12), trim = true, type = "g"; + if (zero || fill === "0" && align === "=") zero = true, fill = "0", align = "="; + var prefix = symbol === "$" ? currencyPrefix : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "", suffix = symbol === "$" ? currencySuffix : /[%p]/.test(type) ? percent : ""; + var formatType = formatTypes[type], maybeSuffix = /[defgprs%]/.test(type); + precision = precision === void 0 ? 6 : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision)) : Math.max(0, Math.min(20, precision)); + function format(value) { + var valuePrefix = prefix, valueSuffix = suffix, i, n, c; + if (type === "c") { + valueSuffix = formatType(value) + valueSuffix; + value = ""; + } else { + value = +value; + var valueNegative = value < 0 || 1 / value < 0; + value = isNaN(value) ? nan : formatType(Math.abs(value), precision); + if (trim) value = formatTrim(value); + if (valueNegative && +value === 0 && sign !== "+") valueNegative = false; + valuePrefix = (valueNegative ? sign === "(" ? sign : minus : sign === "-" || sign === "(" ? "" : sign) + valuePrefix; + valueSuffix = (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + valueSuffix + (valueNegative && sign === "(" ? ")" : ""); + if (maybeSuffix) { + i = -1, n = value.length; + while (++i < n) { + if (c = value.charCodeAt(i), 48 > c || c > 57) { + valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix; + value = value.slice(0, i); + break; + } + } + } + } + if (comma && !zero) value = group(value, Infinity); + var length = valuePrefix.length + value.length + valueSuffix.length, padding = length < width ? new Array(width - length + 1).join(fill) : ""; + if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = ""; + switch (align) { + case "<": + value = valuePrefix + value + valueSuffix + padding; + break; + case "=": + value = valuePrefix + padding + value + valueSuffix; + break; + case "^": + value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); + break; + default: + value = padding + valuePrefix + value + valueSuffix; + break; + } + return numerals(value); + } + format.toString = function() { + return specifier + ""; + }; + return format; + } + function formatPrefix(specifier, value) { + var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)), e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3, k = Math.pow(10, -e), prefix = prefixes[8 + e / 3]; + return function(value2) { + return f(k * value2) + prefix; + }; + } + return { + format: newFormat, + formatPrefix + }; +} + +;// ./node_modules/d3-format/src/defaultLocale.js + +var defaultLocale_locale; +var format; +var formatPrefix; +defaultLocale({ + thousands: ",", + grouping: [3], + currency: ["$", ""] +}); +function defaultLocale(definition) { + defaultLocale_locale = locale(definition); + format = defaultLocale_locale.format; + formatPrefix = defaultLocale_locale.formatPrefix; + return defaultLocale_locale; +} + +;// ./node_modules/d3-format/src/precisionRound.js + +/* harmony default export */ function precisionRound(step, max) { + step = Math.abs(step), max = Math.abs(max) - step; + return Math.max(0, exponent(max) - exponent(step)) + 1; +} + +;// ./node_modules/d3-format/src/precisionFixed.js + +/* harmony default export */ function precisionFixed(step) { + return Math.max(0, -exponent(Math.abs(step))); +} + +;// ./node_modules/d3-scale/src/tickFormat.js + + +function tickFormat(start, stop, count, specifier) { + var step = tickStep(start, stop, count), precision; + specifier = formatSpecifier(specifier == null ? ",f" : specifier); + switch (specifier.type) { + case "s": { + var value = Math.max(Math.abs(start), Math.abs(stop)); + if (specifier.precision == null && !isNaN(precision = precisionPrefix(step, value))) specifier.precision = precision; + return formatPrefix(specifier, value); + } + case "": + case "e": + case "g": + case "p": + case "r": { + if (specifier.precision == null && !isNaN(precision = precisionRound(step, Math.max(Math.abs(start), Math.abs(stop))))) specifier.precision = precision - (specifier.type === "e"); + break; + } + case "f": + case "%": { + if (specifier.precision == null && !isNaN(precision = precisionFixed(step))) specifier.precision = precision - (specifier.type === "%") * 2; + break; + } + } + return format(specifier); +} + +;// ./node_modules/d3-scale/src/linear.js + + + + +function linearish(scale) { + var domain = scale.domain; + scale.ticks = function(count) { + var d = domain(); + return ticks(d[0], d[d.length - 1], count == null ? 10 : count); + }; + scale.tickFormat = function(count, specifier) { + var d = domain(); + return tickFormat(d[0], d[d.length - 1], count == null ? 10 : count, specifier); + }; + scale.nice = function(count) { + if (count == null) count = 10; + var d = domain(); + var i0 = 0; + var i1 = d.length - 1; + var start = d[i0]; + var stop = d[i1]; + var prestep; + var step; + var maxIter = 10; + if (stop < start) { + step = start, start = stop, stop = step; + step = i0, i0 = i1, i1 = step; + } + while (maxIter-- > 0) { + step = tickIncrement(start, stop, count); + if (step === prestep) { + d[i0] = start; + d[i1] = stop; + return domain(d); + } else if (step > 0) { + start = Math.floor(start / step) * step; + stop = Math.ceil(stop / step) * step; + } else if (step < 0) { + start = Math.ceil(start * step) / step; + stop = Math.floor(stop * step) / step; + } else { + break; + } + prestep = step; + } + return scale; + }; + return scale; +} +function linear_linear() { + var scale = continuous(); + scale.copy = function() { + return copy(scale, linear_linear()); + }; + initRange.apply(scale, arguments); + return linearish(scale); +} + +;// ./node_modules/d3-scale/src/nice.js +function nice(domain, interval) { + domain = domain.slice(); + var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], t; + if (x1 < x0) { + t = i0, i0 = i1, i1 = t; + t = x0, x0 = x1, x1 = t; + } + domain[i0] = interval.floor(x0); + domain[i1] = interval.ceil(x1); + return domain; +} + +;// ./node_modules/d3-scale/src/log.js + + + + + +function transformLog(x) { + return Math.log(x); +} +function transformExp(x) { + return Math.exp(x); +} +function transformLogn(x) { + return -Math.log(-x); +} +function transformExpn(x) { + return -Math.exp(-x); +} +function pow10(x) { + return isFinite(x) ? +("1e" + x) : x < 0 ? 0 : x; +} +function powp(base) { + return base === 10 ? pow10 : base === Math.E ? Math.exp : (x) => Math.pow(base, x); +} +function logp(base) { + return base === Math.E ? Math.log : base === 10 && Math.log10 || base === 2 && Math.log2 || (base = Math.log(base), (x) => Math.log(x) / base); +} +function reflect(f) { + return (x, k) => -f(-x, k); +} +function loggish(transform) { + const scale = transform(transformLog, transformExp); + const domain = scale.domain; + let base = 10; + let logs; + let pows; + function rescale() { + logs = logp(base), pows = powp(base); + if (domain()[0] < 0) { + logs = reflect(logs), pows = reflect(pows); + transform(transformLogn, transformExpn); + } else { + transform(transformLog, transformExp); + } + return scale; + } + scale.base = function(_) { + return arguments.length ? (base = +_, rescale()) : base; + }; + scale.domain = function(_) { + return arguments.length ? (domain(_), rescale()) : domain(); + }; + scale.ticks = (count) => { + const d = domain(); + let u = d[0]; + let v = d[d.length - 1]; + const r = v < u; + if (r) [u, v] = [v, u]; + let i = logs(u); + let j = logs(v); + let k; + let t; + const n = count == null ? 10 : +count; + let z = []; + if (!(base % 1) && j - i < n) { + i = Math.floor(i), j = Math.ceil(j); + if (u > 0) for (; i <= j; ++i) { + for (k = 1; k < base; ++k) { + t = i < 0 ? k / pows(-i) : k * pows(i); + if (t < u) continue; + if (t > v) break; + z.push(t); + } + } + else for (; i <= j; ++i) { + for (k = base - 1; k >= 1; --k) { + t = i > 0 ? k / pows(-i) : k * pows(i); + if (t < u) continue; + if (t > v) break; + z.push(t); + } + } + if (z.length * 2 < n) z = ticks(u, v, n); + } else { + z = ticks(i, j, Math.min(j - i, n)).map(pows); + } + return r ? z.reverse() : z; + }; + scale.tickFormat = (count, specifier) => { + if (count == null) count = 10; + if (specifier == null) specifier = base === 10 ? "s" : ","; + if (typeof specifier !== "function") { + if (!(base % 1) && (specifier = formatSpecifier(specifier)).precision == null) specifier.trim = true; + specifier = format(specifier); + } + if (count === Infinity) return specifier; + const k = Math.max(1, base * count / scale.ticks().length); + return (d) => { + let i = d / pows(Math.round(logs(d))); + if (i * base < base - 0.5) i *= base; + return i <= k ? specifier(d) : ""; + }; + }; + scale.nice = () => { + return domain(nice(domain(), { + floor: (x) => pows(Math.floor(logs(x))), + ceil: (x) => pows(Math.ceil(logs(x))) + })); + }; + return scale; +} +function log() { + const scale = loggish(transformer()).domain([1, 10]); + scale.copy = () => copy(scale, log()).base(scale.base()); + initRange.apply(scale, arguments); + return scale; +} + +;// ./node_modules/d3-scale/src/symlog.js + + + +function transformSymlog(c) { + return function(x) { + return Math.sign(x) * Math.log1p(Math.abs(x / c)); + }; +} +function transformSymexp(c) { + return function(x) { + return Math.sign(x) * Math.expm1(Math.abs(x)) * c; + }; +} +function symlogish(transform) { + var c = 1, scale = transform(transformSymlog(c), transformSymexp(c)); + scale.constant = function(_) { + return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c; + }; + return linearish(scale); +} +function symlog() { + var scale = symlogish(transformer()); + scale.copy = function() { + return copy(scale, symlog()).constant(scale.constant()); + }; + return initRange.apply(scale, arguments); +} + +;// ./node_modules/d3-scale/src/pow.js + + + +function transformPow(exponent) { + return function(x) { + return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent); + }; +} +function transformSqrt(x) { + return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x); +} +function transformSquare(x) { + return x < 0 ? -x * x : x * x; +} +function powish(transform) { + var scale = transform(identity, identity), exponent = 1; + function rescale() { + return exponent === 1 ? transform(identity, identity) : exponent === 0.5 ? transform(transformSqrt, transformSquare) : transform(transformPow(exponent), transformPow(1 / exponent)); + } + scale.exponent = function(_) { + return arguments.length ? (exponent = +_, rescale()) : exponent; + }; + return linearish(scale); +} +function pow() { + var scale = powish(transformer()); + scale.copy = function() { + return copy(scale, pow()).exponent(scale.exponent()); + }; + initRange.apply(scale, arguments); + return scale; +} +function sqrt() { + return pow.apply(null, arguments).exponent(0.5); +} + +;// ./node_modules/d3-scale/src/sequential.js + + + + + + + +function sequential_transformer() { + var x0 = 0, x1 = 1, t0, t1, k10, transform, interpolator = identity, clamp = false, unknown; + function scale(x) { + return x == null || isNaN(x = +x) ? unknown : interpolator(k10 === 0 ? 0.5 : (x = (transform(x) - t0) * k10, clamp ? Math.max(0, Math.min(1, x)) : x)); + } + scale.domain = function(_) { + return arguments.length ? ([x0, x1] = _, t0 = transform(x0 = +x0), t1 = transform(x1 = +x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0), scale) : [x0, x1]; + }; + scale.clamp = function(_) { + return arguments.length ? (clamp = !!_, scale) : clamp; + }; + scale.interpolator = function(_) { + return arguments.length ? (interpolator = _, scale) : interpolator; + }; + function range(interpolate2) { + return function(_) { + var r0, r1; + return arguments.length ? ([r0, r1] = _, interpolator = interpolate2(r0, r1), scale) : [interpolator(0), interpolator(1)]; + }; + } + scale.range = range(value); + scale.rangeRound = range(round); + scale.unknown = function(_) { + return arguments.length ? (unknown = _, scale) : unknown; + }; + return function(t) { + transform = t, t0 = t(x0), t1 = t(x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0); + return scale; + }; +} +function sequential_copy(source, target) { + return target.domain(source.domain()).interpolator(source.interpolator()).clamp(source.clamp()).unknown(source.unknown()); +} +function sequential() { + var scale = linearish(sequential_transformer()(identity)); + scale.copy = function() { + return sequential_copy(scale, sequential()); + }; + return initInterpolator.apply(scale, arguments); +} +function sequentialLog() { + var scale = loggish(sequential_transformer()).domain([1, 10]); + scale.copy = function() { + return sequential_copy(scale, sequentialLog()).base(scale.base()); + }; + return initInterpolator.apply(scale, arguments); +} +function sequentialSymlog() { + var scale = symlogish(sequential_transformer()); + scale.copy = function() { + return sequential_copy(scale, sequentialSymlog()).constant(scale.constant()); + }; + return initInterpolator.apply(scale, arguments); +} +function sequentialPow() { + var scale = powish(sequential_transformer()); + scale.copy = function() { + return sequential_copy(scale, sequentialPow()).exponent(scale.exponent()); + }; + return initInterpolator.apply(scale, arguments); +} +function sequentialSqrt() { + return sequentialPow.apply(null, arguments).exponent(0.5); +} + +;// ./src/config/classes.ts +var __defProp = Object.defineProperty; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +const $COMMON = { + button: "bb-button", + chart: "bb-chart", + empty: "bb-empty", + main: "bb-main", + target: "bb-target", + EXPANDED: "_expanded_" +}; +const $ARC = { + arc: "bb-arc", + arcLabelLine: "bb-arc-label-line", + arcRange: "bb-arc-range", + arcs: "bb-arcs", + chartArc: "bb-chart-arc", + chartArcs: "bb-chart-arcs", + chartArcsBackground: "bb-chart-arcs-background", + chartArcsTitle: "bb-chart-arcs-title", + needle: "bb-needle" +}; +const $AREA = { + area: "bb-area", + areas: "bb-areas" +}; +const $AXIS = { + axis: "bb-axis", + axisX: "bb-axis-x", + axisXLabel: "bb-axis-x-label", + axisY: "bb-axis-y", + axisY2: "bb-axis-y2", + axisY2Label: "bb-axis-y2-label", + axisYLabel: "bb-axis-y-label", + axisXTooltip: "bb-axis-x-tooltip", + axisYTooltip: "bb-axis-y-tooltip", + axisY2Tooltip: "bb-axis-y2-tooltip" +}; +const $BAR = { + bar: "bb-bar", + bars: "bb-bars", + chartBar: "bb-chart-bar", + chartBars: "bb-chart-bars" +}; +const $CANDLESTICK = { + candlestick: "bb-candlestick", + candlesticks: "bb-candlesticks", + chartCandlestick: "bb-chart-candlestick", + chartCandlesticks: "bb-chart-candlesticks", + valueDown: "bb-value-down", + valueUp: "bb-value-up" +}; +const $CIRCLE = { + chartCircles: "bb-chart-circles", + circle: "bb-circle", + circles: "bb-circles" +}; +const $COLOR = { + colorPattern: "bb-color-pattern", + colorScale: "bb-colorscale" +}; +const $DRAG = { + dragarea: "bb-dragarea", + INCLUDED: "_included_" +}; +const $FUNNEL = { + funnel: "bb-funnel", + chartFunnel: "bb-chart-funnel", + chartFunnels: "bb-chart-funnels", + funnelBackground: "bb-funnel-background" +}; +const $GAUGE = { + chartArcsGaugeMax: "bb-chart-arcs-gauge-max", + chartArcsGaugeMin: "bb-chart-arcs-gauge-min", + chartArcsGaugeUnit: "bb-chart-arcs-gauge-unit", + chartArcsGaugeTitle: "bb-chart-arcs-gauge-title", + gaugeValue: "bb-gauge-value" +}; +const $LEGEND = { + legend: "bb-legend", + legendBackground: "bb-legend-background", + legendItem: "bb-legend-item", + legendItemEvent: "bb-legend-item-event", + legendItemHidden: "bb-legend-item-hidden", + legendItemPoint: "bb-legend-item-point", + legendItemTile: "bb-legend-item-tile" +}; +const $LINE = { + chartLine: "bb-chart-line", + chartLines: "bb-chart-lines", + line: "bb-line", + lines: "bb-lines" +}; +const $EVENT = { + eventRect: "bb-event-rect", + eventRects: "bb-event-rects", + eventRectsMultiple: "bb-event-rects-multiple", + eventRectsSingle: "bb-event-rects-single" +}; +const $FOCUS = { + focused: "bb-focused", + defocused: "bb-defocused", + legendItemFocused: "bb-legend-item-focused", + xgridFocus: "bb-xgrid-focus", + ygridFocus: "bb-ygrid-focus" +}; +const $GRID = { + grid: "bb-grid", + gridLines: "bb-grid-lines", + xgrid: "bb-xgrid", + xgridLine: "bb-xgrid-line", + xgridLines: "bb-xgrid-lines", + xgrids: "bb-xgrids", + ygrid: "bb-ygrid", + ygridLine: "bb-ygrid-line", + ygridLines: "bb-ygrid-lines", + ygrids: "bb-ygrids" +}; +const $LEVEL = { + level: "bb-level", + levels: "bb-levels" +}; +const $RADAR = { + chartRadar: "bb-chart-radar", + chartRadars: "bb-chart-radars" +}; +const $REGION = { + region: "bb-region", + regions: "bb-regions" +}; +const $SELECT = { + selectedCircle: "bb-selected-circle", + selectedCircles: "bb-selected-circles", + SELECTED: "_selected_" +}; +const $SHAPE = { + shape: "bb-shape", + shapes: "bb-shapes" +}; +const $SUBCHART = { + brush: "bb-brush", + subchart: "bb-subchart" +}; +const $TEXT = { + chartText: "bb-chart-text", + chartTexts: "bb-chart-texts", + text: "bb-text", + texts: "bb-texts", + title: "bb-title", + TextOverlapping: "text-overlapping" +}; +const $TOOLTIP = { + tooltip: "bb-tooltip", + tooltipContainer: "bb-tooltip-container", + tooltipName: "bb-tooltip-name" +}; +const $TREEMAP = { + treemap: "bb-treemap", + chartTreemap: "bb-chart-treemap", + chartTreemaps: "bb-chart-treemaps" +}; +const $ZOOM = { + buttonZoomReset: "bb-zoom-reset", + zoomBrush: "bb-zoom-brush" +}; +/* harmony default export */ var classes = (__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, $COMMON), $ARC), $AREA), $AXIS), $BAR), $CANDLESTICK), $CIRCLE), $COLOR), $DRAG), $GAUGE), $LEGEND), $LINE), $EVENT), $FOCUS), $FUNNEL), $GRID), $RADAR), $REGION), $SELECT), $SHAPE), $SUBCHART), $TEXT), $TOOLTIP), $TREEMAP), $ZOOM)); + +;// ./node_modules/d3-dispatch/src/dispatch.js +var noop = { value: () => { +} }; +function dispatch() { + for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) { + if (!(t = arguments[i] + "") || t in _ || /[\s.]/.test(t)) throw new Error("illegal type: " + t); + _[t] = []; + } + return new Dispatch(_); +} +function Dispatch(_) { + this._ = _; +} +function parseTypenames(typenames, types) { + return typenames.trim().split(/^|\s+/).map(function(t) { + var name = "", i = t.indexOf("."); + if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); + if (t && !types.hasOwnProperty(t)) throw new Error("unknown type: " + t); + return { type: t, name }; + }); +} +Dispatch.prototype = dispatch.prototype = { + constructor: Dispatch, + on: function(typename, callback) { + var _ = this._, T = parseTypenames(typename + "", _), t, i = -1, n = T.length; + if (arguments.length < 2) { + while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t; + return; + } + if (callback != null && typeof callback !== "function") throw new Error("invalid callback: " + callback); + while (++i < n) { + if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback); + else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null); + } + return this; + }, + copy: function() { + var copy = {}, _ = this._; + for (var t in _) copy[t] = _[t].slice(); + return new Dispatch(copy); + }, + call: function(type, that) { + if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2]; + if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type); + for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args); + }, + apply: function(type, that, args) { + if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type); + for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args); + } +}; +function get(type, name) { + for (var i = 0, n = type.length, c; i < n; ++i) { + if ((c = type[i]).name === name) { + return c.value; + } + } +} +function set(type, name, callback) { + for (var i = 0, n = type.length; i < n; ++i) { + if (type[i].name === name) { + type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1)); + break; + } + } + if (callback != null) type.push({ name, value: callback }); + return type; +} +/* harmony default export */ var src_dispatch = (dispatch); + +;// ./node_modules/d3-selection/src/selector.js +function none() { +} +/* harmony default export */ function selector(selector) { + return selector == null ? none : function() { + return this.querySelector(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/select.js + + +/* harmony default export */ function selection_select(select) { + if (typeof select !== "function") select = selector(select); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) { + if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) { + if ("__data__" in node) subnode.__data__ = node.__data__; + subgroup[i] = subnode; + } + } + } + return new Selection(subgroups, this._parents); +} + +;// ./node_modules/d3-selection/src/array.js +function array_array(x) { + return x == null ? [] : Array.isArray(x) ? x : Array.from(x); +} + +;// ./node_modules/d3-selection/src/selectorAll.js +function empty() { + return []; +} +/* harmony default export */ function selectorAll(selector) { + return selector == null ? empty : function() { + return this.querySelectorAll(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/selectAll.js + + + +function arrayAll(select) { + return function() { + return array_array(select.apply(this, arguments)); + }; +} +/* harmony default export */ function selectAll(select) { + if (typeof select === "function") select = arrayAll(select); + else select = selectorAll(select); + for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + subgroups.push(select.call(node, node.__data__, i, group)); + parents.push(node); + } + } + } + return new Selection(subgroups, parents); +} + +;// ./node_modules/d3-selection/src/matcher.js +/* harmony default export */ function matcher(selector) { + return function() { + return this.matches(selector); + }; +} +function childMatcher(selector) { + return function(node) { + return node.matches(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/selectChild.js + +var find = Array.prototype.find; +function childFind(match) { + return function() { + return find.call(this.children, match); + }; +} +function childFirst() { + return this.firstElementChild; +} +/* harmony default export */ function selectChild(match) { + return this.select(match == null ? childFirst : childFind(typeof match === "function" ? match : childMatcher(match))); +} + +;// ./node_modules/d3-selection/src/selection/selectChildren.js + +var filter = Array.prototype.filter; +function children() { + return Array.from(this.children); +} +function childrenFilter(match) { + return function() { + return filter.call(this.children, match); + }; +} +/* harmony default export */ function selectChildren(match) { + return this.selectAll(match == null ? children : childrenFilter(typeof match === "function" ? match : childMatcher(match))); +} + +;// ./node_modules/d3-selection/src/selection/filter.js + + +/* harmony default export */ function selection_filter(match) { + if (typeof match !== "function") match = matcher(match); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) { + if ((node = group[i]) && match.call(node, node.__data__, i, group)) { + subgroup.push(node); + } + } + } + return new Selection(subgroups, this._parents); +} + +;// ./node_modules/d3-selection/src/selection/sparse.js +/* harmony default export */ function sparse(update) { + return new Array(update.length); +} + +;// ./node_modules/d3-selection/src/selection/enter.js + + +/* harmony default export */ function enter() { + return new Selection(this._enter || this._groups.map(sparse), this._parents); +} +function EnterNode(parent, datum) { + this.ownerDocument = parent.ownerDocument; + this.namespaceURI = parent.namespaceURI; + this._next = null; + this._parent = parent; + this.__data__ = datum; +} +EnterNode.prototype = { + constructor: EnterNode, + appendChild: function(child) { + return this._parent.insertBefore(child, this._next); + }, + insertBefore: function(child, next) { + return this._parent.insertBefore(child, next); + }, + querySelector: function(selector) { + return this._parent.querySelector(selector); + }, + querySelectorAll: function(selector) { + return this._parent.querySelectorAll(selector); + } +}; + +;// ./node_modules/d3-selection/src/constant.js +/* harmony default export */ function src_constant(x) { + return function() { + return x; + }; +} + +;// ./node_modules/d3-selection/src/selection/data.js + + + +function bindIndex(parent, group, enter, update, exit, data) { + var i = 0, node, groupLength = group.length, dataLength = data.length; + for (; i < dataLength; ++i) { + if (node = group[i]) { + node.__data__ = data[i]; + update[i] = node; + } else { + enter[i] = new EnterNode(parent, data[i]); + } + } + for (; i < groupLength; ++i) { + if (node = group[i]) { + exit[i] = node; + } + } +} +function bindKey(parent, group, enter, update, exit, data, key) { + var i, node, nodeByKeyValue = /* @__PURE__ */ new Map(), groupLength = group.length, dataLength = data.length, keyValues = new Array(groupLength), keyValue; + for (i = 0; i < groupLength; ++i) { + if (node = group[i]) { + keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + ""; + if (nodeByKeyValue.has(keyValue)) { + exit[i] = node; + } else { + nodeByKeyValue.set(keyValue, node); + } + } + } + for (i = 0; i < dataLength; ++i) { + keyValue = key.call(parent, data[i], i, data) + ""; + if (node = nodeByKeyValue.get(keyValue)) { + update[i] = node; + node.__data__ = data[i]; + nodeByKeyValue.delete(keyValue); + } else { + enter[i] = new EnterNode(parent, data[i]); + } + } + for (i = 0; i < groupLength; ++i) { + if ((node = group[i]) && nodeByKeyValue.get(keyValues[i]) === node) { + exit[i] = node; + } + } +} +function datum(node) { + return node.__data__; +} +/* harmony default export */ function data(value, key) { + if (!arguments.length) return Array.from(this, datum); + var bind = key ? bindKey : bindIndex, parents = this._parents, groups = this._groups; + if (typeof value !== "function") value = src_constant(value); + for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) { + var parent = parents[j], group = groups[j], groupLength = group.length, data = arraylike(value.call(parent, parent && parent.__data__, j, parents)), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength); + bind(parent, group, enterGroup, updateGroup, exitGroup, data, key); + for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) { + if (previous = enterGroup[i0]) { + if (i0 >= i1) i1 = i0 + 1; + while (!(next = updateGroup[i1]) && ++i1 < dataLength) ; + previous._next = next || null; + } + } + } + update = new Selection(update, parents); + update._enter = enter; + update._exit = exit; + return update; +} +function arraylike(data) { + return typeof data === "object" && "length" in data ? data : Array.from(data); +} + +;// ./node_modules/d3-selection/src/selection/exit.js + + +/* harmony default export */ function exit() { + return new Selection(this._exit || this._groups.map(sparse), this._parents); +} + +;// ./node_modules/d3-selection/src/selection/join.js +/* harmony default export */ function join(onenter, onupdate, onexit) { + var enter = this.enter(), update = this, exit = this.exit(); + if (typeof onenter === "function") { + enter = onenter(enter); + if (enter) enter = enter.selection(); + } else { + enter = enter.append(onenter + ""); + } + if (onupdate != null) { + update = onupdate(update); + if (update) update = update.selection(); + } + if (onexit == null) exit.remove(); + else onexit(exit); + return enter && update ? enter.merge(update).order() : update; +} + +;// ./node_modules/d3-selection/src/selection/merge.js + +/* harmony default export */ function merge(context) { + var selection = context.selection ? context.selection() : context; + for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { + for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group0[i] || group1[i]) { + merge[i] = node; + } + } + } + for (; j < m0; ++j) { + merges[j] = groups0[j]; + } + return new Selection(merges, this._parents); +} + +;// ./node_modules/d3-selection/src/selection/order.js +/* harmony default export */ function order() { + for (var groups = this._groups, j = -1, m = groups.length; ++j < m; ) { + for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0; ) { + if (node = group[i]) { + if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next); + next = node; + } + } + } + return this; +} + +;// ./node_modules/d3-selection/src/selection/sort.js + +/* harmony default export */ function sort(compare) { + if (!compare) compare = sort_ascending; + function compareNode(a, b) { + return a && b ? compare(a.__data__, b.__data__) : !a - !b; + } + for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group[i]) { + sortgroup[i] = node; + } + } + sortgroup.sort(compareNode); + } + return new Selection(sortgroups, this._parents).order(); +} +function sort_ascending(a, b) { + return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; +} + +;// ./node_modules/d3-selection/src/selection/call.js +/* harmony default export */ function call() { + var callback = arguments[0]; + arguments[0] = this; + callback.apply(null, arguments); + return this; +} + +;// ./node_modules/d3-selection/src/selection/nodes.js +/* harmony default export */ function nodes() { + return Array.from(this); +} + +;// ./node_modules/d3-selection/src/selection/node.js +/* harmony default export */ function node() { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length; i < n; ++i) { + var node = group[i]; + if (node) return node; + } + } + return null; +} + +;// ./node_modules/d3-selection/src/selection/size.js +/* harmony default export */ function size() { + let size = 0; + for (const node of this) ++size; + return size; +} + +;// ./node_modules/d3-selection/src/selection/empty.js +/* harmony default export */ function selection_empty() { + return !this.node(); +} + +;// ./node_modules/d3-selection/src/selection/each.js +/* harmony default export */ function each(callback) { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) { + if (node = group[i]) callback.call(node, node.__data__, i, group); + } + } + return this; +} + +;// ./node_modules/d3-selection/src/namespaces.js +var xhtml = "http://www.w3.org/1999/xhtml"; +/* harmony default export */ var namespaces = ({ + svg: "http://www.w3.org/2000/svg", + xhtml, + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/" +}); + +;// ./node_modules/d3-selection/src/namespace.js + +/* harmony default export */ function namespace(name) { + var prefix = name += "", i = prefix.indexOf(":"); + if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1); + return namespaces.hasOwnProperty(prefix) ? { space: namespaces[prefix], local: name } : name; +} + +;// ./node_modules/d3-selection/src/selection/attr.js + +function attrRemove(name) { + return function() { + this.removeAttribute(name); + }; +} +function attrRemoveNS(fullname) { + return function() { + this.removeAttributeNS(fullname.space, fullname.local); + }; +} +function attrConstant(name, value) { + return function() { + this.setAttribute(name, value); + }; +} +function attrConstantNS(fullname, value) { + return function() { + this.setAttributeNS(fullname.space, fullname.local, value); + }; +} +function attrFunction(name, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.removeAttribute(name); + else this.setAttribute(name, v); + }; +} +function attrFunctionNS(fullname, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.removeAttributeNS(fullname.space, fullname.local); + else this.setAttributeNS(fullname.space, fullname.local, v); + }; +} +/* harmony default export */ function attr(name, value) { + var fullname = namespace(name); + if (arguments.length < 2) { + var node = this.node(); + return fullname.local ? node.getAttributeNS(fullname.space, fullname.local) : node.getAttribute(fullname); + } + return this.each((value == null ? fullname.local ? attrRemoveNS : attrRemove : typeof value === "function" ? fullname.local ? attrFunctionNS : attrFunction : fullname.local ? attrConstantNS : attrConstant)(fullname, value)); +} + +;// ./node_modules/d3-selection/src/window.js +/* harmony default export */ function src_window(node) { + return node.ownerDocument && node.ownerDocument.defaultView || node.document && node || node.defaultView; +} + +;// ./node_modules/d3-selection/src/selection/style.js + +function styleRemove(name) { + return function() { + this.style.removeProperty(name); + }; +} +function styleConstant(name, value, priority) { + return function() { + this.style.setProperty(name, value, priority); + }; +} +function styleFunction(name, value, priority) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.style.removeProperty(name); + else this.style.setProperty(name, v, priority); + }; +} +/* harmony default export */ function style(name, value, priority) { + return arguments.length > 1 ? this.each((value == null ? styleRemove : typeof value === "function" ? styleFunction : styleConstant)(name, value, priority == null ? "" : priority)) : styleValue(this.node(), name); +} +function styleValue(node, name) { + return node.style.getPropertyValue(name) || src_window(node).getComputedStyle(node, null).getPropertyValue(name); +} + +;// ./node_modules/d3-selection/src/selection/property.js +function propertyRemove(name) { + return function() { + delete this[name]; + }; +} +function propertyConstant(name, value) { + return function() { + this[name] = value; + }; +} +function propertyFunction(name, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) delete this[name]; + else this[name] = v; + }; +} +/* harmony default export */ function property(name, value) { + return arguments.length > 1 ? this.each((value == null ? propertyRemove : typeof value === "function" ? propertyFunction : propertyConstant)(name, value)) : this.node()[name]; +} + +;// ./node_modules/d3-selection/src/selection/classed.js +function classArray(string) { + return string.trim().split(/^|\s+/); +} +function classList(node) { + return node.classList || new ClassList(node); +} +function ClassList(node) { + this._node = node; + this._names = classArray(node.getAttribute("class") || ""); +} +ClassList.prototype = { + add: function(name) { + var i = this._names.indexOf(name); + if (i < 0) { + this._names.push(name); + this._node.setAttribute("class", this._names.join(" ")); + } + }, + remove: function(name) { + var i = this._names.indexOf(name); + if (i >= 0) { + this._names.splice(i, 1); + this._node.setAttribute("class", this._names.join(" ")); + } + }, + contains: function(name) { + return this._names.indexOf(name) >= 0; + } +}; +function classedAdd(node, names) { + var list = classList(node), i = -1, n = names.length; + while (++i < n) list.add(names[i]); +} +function classedRemove(node, names) { + var list = classList(node), i = -1, n = names.length; + while (++i < n) list.remove(names[i]); +} +function classedTrue(names) { + return function() { + classedAdd(this, names); + }; +} +function classedFalse(names) { + return function() { + classedRemove(this, names); + }; +} +function classedFunction(names, value) { + return function() { + (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names); + }; +} +/* harmony default export */ function classed(name, value) { + var names = classArray(name + ""); + if (arguments.length < 2) { + var list = classList(this.node()), i = -1, n = names.length; + while (++i < n) if (!list.contains(names[i])) return false; + return true; + } + return this.each((typeof value === "function" ? classedFunction : value ? classedTrue : classedFalse)(names, value)); +} + +;// ./node_modules/d3-selection/src/selection/text.js +function textRemove() { + this.textContent = ""; +} +function textConstant(value) { + return function() { + this.textContent = value; + }; +} +function textFunction(value) { + return function() { + var v = value.apply(this, arguments); + this.textContent = v == null ? "" : v; + }; +} +/* harmony default export */ function selection_text(value) { + return arguments.length ? this.each(value == null ? textRemove : (typeof value === "function" ? textFunction : textConstant)(value)) : this.node().textContent; +} + +;// ./node_modules/d3-selection/src/selection/html.js +function htmlRemove() { + this.innerHTML = ""; +} +function htmlConstant(value) { + return function() { + this.innerHTML = value; + }; +} +function htmlFunction(value) { + return function() { + var v = value.apply(this, arguments); + this.innerHTML = v == null ? "" : v; + }; +} +/* harmony default export */ function html(value) { + return arguments.length ? this.each(value == null ? htmlRemove : (typeof value === "function" ? htmlFunction : htmlConstant)(value)) : this.node().innerHTML; +} + +;// ./node_modules/d3-selection/src/selection/raise.js +function raise() { + if (this.nextSibling) this.parentNode.appendChild(this); +} +/* harmony default export */ function selection_raise() { + return this.each(raise); +} + +;// ./node_modules/d3-selection/src/selection/lower.js +function lower() { + if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild); +} +/* harmony default export */ function selection_lower() { + return this.each(lower); +} + +;// ./node_modules/d3-selection/src/creator.js + + +function creatorInherit(name) { + return function() { + var document = this.ownerDocument, uri = this.namespaceURI; + return uri === xhtml && document.documentElement.namespaceURI === xhtml ? document.createElement(name) : document.createElementNS(uri, name); + }; +} +function creatorFixed(fullname) { + return function() { + return this.ownerDocument.createElementNS(fullname.space, fullname.local); + }; +} +/* harmony default export */ function creator(name) { + var fullname = namespace(name); + return (fullname.local ? creatorFixed : creatorInherit)(fullname); +} + +;// ./node_modules/d3-selection/src/selection/append.js + +/* harmony default export */ function append(name) { + var create = typeof name === "function" ? name : creator(name); + return this.select(function() { + return this.appendChild(create.apply(this, arguments)); + }); +} + +;// ./node_modules/d3-selection/src/selection/insert.js + + +function constantNull() { + return null; +} +/* harmony default export */ function insert(name, before) { + var create = typeof name === "function" ? name : creator(name), select = before == null ? constantNull : typeof before === "function" ? before : selector(before); + return this.select(function() { + return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null); + }); +} + +;// ./node_modules/d3-selection/src/selection/remove.js +function remove() { + var parent = this.parentNode; + if (parent) parent.removeChild(this); +} +/* harmony default export */ function selection_remove() { + return this.each(remove); +} + +;// ./node_modules/d3-selection/src/selection/clone.js +function selection_cloneShallow() { + var clone = this.cloneNode(false), parent = this.parentNode; + return parent ? parent.insertBefore(clone, this.nextSibling) : clone; +} +function selection_cloneDeep() { + var clone = this.cloneNode(true), parent = this.parentNode; + return parent ? parent.insertBefore(clone, this.nextSibling) : clone; +} +/* harmony default export */ function clone(deep) { + return this.select(deep ? selection_cloneDeep : selection_cloneShallow); +} + +;// ./node_modules/d3-selection/src/selection/datum.js +/* harmony default export */ function selection_datum(value) { + return arguments.length ? this.property("__data__", value) : this.node().__data__; +} + +;// ./node_modules/d3-selection/src/selection/on.js +function contextListener(listener) { + return function(event) { + listener.call(this, event, this.__data__); + }; +} +function on_parseTypenames(typenames) { + return typenames.trim().split(/^|\s+/).map(function(t) { + var name = "", i = t.indexOf("."); + if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); + return { type: t, name }; + }); +} +function onRemove(typename) { + return function() { + var on = this.__on; + if (!on) return; + for (var j = 0, i = -1, m = on.length, o; j < m; ++j) { + if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) { + this.removeEventListener(o.type, o.listener, o.options); + } else { + on[++i] = o; + } + } + if (++i) on.length = i; + else delete this.__on; + }; +} +function onAdd(typename, value, options) { + return function() { + var on = this.__on, o, listener = contextListener(value); + if (on) for (var j = 0, m = on.length; j < m; ++j) { + if ((o = on[j]).type === typename.type && o.name === typename.name) { + this.removeEventListener(o.type, o.listener, o.options); + this.addEventListener(o.type, o.listener = listener, o.options = options); + o.value = value; + return; + } + } + this.addEventListener(typename.type, listener, options); + o = { type: typename.type, name: typename.name, value, listener, options }; + if (!on) this.__on = [o]; + else on.push(o); + }; +} +/* harmony default export */ function on(typename, value, options) { + var typenames = on_parseTypenames(typename + ""), i, n = typenames.length, t; + if (arguments.length < 2) { + var on = this.node().__on; + if (on) for (var j = 0, m = on.length, o; j < m; ++j) { + for (i = 0, o = on[j]; i < n; ++i) { + if ((t = typenames[i]).type === o.type && t.name === o.name) { + return o.value; + } + } + } + return; + } + on = value ? onAdd : onRemove; + for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options)); + return this; +} + +;// ./node_modules/d3-selection/src/selection/dispatch.js + +function dispatchEvent(node, type, params) { + var window = src_window(node), event = window.CustomEvent; + if (typeof event === "function") { + event = new event(type, params); + } else { + event = window.document.createEvent("Event"); + if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail; + else event.initEvent(type, false, false); + } + node.dispatchEvent(event); +} +function dispatchConstant(type, params) { + return function() { + return dispatchEvent(this, type, params); + }; +} +function dispatchFunction(type, params) { + return function() { + return dispatchEvent(this, type, params.apply(this, arguments)); + }; +} +/* harmony default export */ function selection_dispatch(type, params) { + return this.each((typeof params === "function" ? dispatchFunction : dispatchConstant)(type, params)); +} + +;// ./node_modules/d3-selection/src/selection/iterator.js +/* harmony default export */ function* iterator() { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) { + if (node = group[i]) yield node; + } + } +} + +;// ./node_modules/d3-selection/src/selection/index.js + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +var root = [null]; +function Selection(groups, parents) { + this._groups = groups; + this._parents = parents; +} +function selection() { + return new Selection([[document.documentElement]], root); +} +function selection_selection() { + return this; +} +Selection.prototype = selection.prototype = { + constructor: Selection, + select: selection_select, + selectAll: selectAll, + selectChild: selectChild, + selectChildren: selectChildren, + filter: selection_filter, + data: data, + enter: enter, + exit: exit, + join: join, + merge: merge, + selection: selection_selection, + order: order, + sort: sort, + call: call, + nodes: nodes, + node: node, + size: size, + empty: selection_empty, + each: each, + attr: attr, + style: style, + property: property, + classed: classed, + text: selection_text, + html: html, + raise: selection_raise, + lower: selection_lower, + append: append, + insert: insert, + remove: selection_remove, + clone: clone, + datum: selection_datum, + on: on, + dispatch: selection_dispatch, + [Symbol.iterator]: iterator +}; +/* harmony default export */ var src_selection = (selection); + +;// ./node_modules/d3-selection/src/select.js + +/* harmony default export */ function src_select(selector) { + return typeof selector === "string" ? new Selection([[document.querySelector(selector)]], [document.documentElement]) : new Selection([[selector]], root); +} + +;// ./node_modules/d3-drag/src/noevent.js +const nonpassive = { passive: false }; +const nonpassivecapture = { capture: true, passive: false }; +function nopropagation(event) { + event.stopImmediatePropagation(); +} +/* harmony default export */ function noevent(event) { + event.preventDefault(); + event.stopImmediatePropagation(); +} + +;// ./node_modules/d3-drag/src/nodrag.js + + +/* harmony default export */ function nodrag(view) { + var root = view.document.documentElement, selection = src_select(view).on("dragstart.drag", noevent, nonpassivecapture); + if ("onselectstart" in root) { + selection.on("selectstart.drag", noevent, nonpassivecapture); + } else { + root.__noselect = root.style.MozUserSelect; + root.style.MozUserSelect = "none"; + } +} +function yesdrag(view, noclick) { + var root = view.document.documentElement, selection = src_select(view).on("dragstart.drag", null); + if (noclick) { + selection.on("click.drag", noevent, nonpassivecapture); + setTimeout(function() { + selection.on("click.drag", null); + }, 0); + } + if ("onselectstart" in root) { + selection.on("selectstart.drag", null); + } else { + root.style.MozUserSelect = root.__noselect; + delete root.__noselect; + } +} + +;// ./node_modules/d3-selection/src/sourceEvent.js +/* harmony default export */ function sourceEvent(event) { + let sourceEvent; + while (sourceEvent = event.sourceEvent) event = sourceEvent; + return event; +} + +;// ./node_modules/d3-selection/src/pointer.js + +/* harmony default export */ function src_pointer(event, node) { + event = sourceEvent(event); + if (node === void 0) node = event.currentTarget; + if (node) { + var svg = node.ownerSVGElement || node; + if (svg.createSVGPoint) { + var point = svg.createSVGPoint(); + point.x = event.clientX, point.y = event.clientY; + point = point.matrixTransform(node.getScreenCTM().inverse()); + return [point.x, point.y]; + } + if (node.getBoundingClientRect) { + var rect = node.getBoundingClientRect(); + return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop]; + } + } + return [event.pageX, event.pageY]; +} + +;// ./node_modules/d3-timer/src/timer.js +var timer_frame = 0, timeout = 0, interval = 0, pokeDelay = 1e3, taskHead, taskTail, clockLast = 0, clockNow = 0, clockSkew = 0, clock = typeof performance === "object" && performance.now ? performance : Date, setFrame = typeof window === "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { + setTimeout(f, 17); +}; +function now() { + return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew); +} +function clearNow() { + clockNow = 0; +} +function Timer() { + this._call = this._time = this._next = null; +} +Timer.prototype = timer.prototype = { + constructor: Timer, + restart: function(callback, delay, time) { + if (typeof callback !== "function") throw new TypeError("callback is not a function"); + time = (time == null ? now() : +time) + (delay == null ? 0 : +delay); + if (!this._next && taskTail !== this) { + if (taskTail) taskTail._next = this; + else taskHead = this; + taskTail = this; + } + this._call = callback; + this._time = time; + sleep(); + }, + stop: function() { + if (this._call) { + this._call = null; + this._time = Infinity; + sleep(); + } + } +}; +function timer(callback, delay, time) { + var t = new Timer(); + t.restart(callback, delay, time); + return t; +} +function timerFlush() { + now(); + ++timer_frame; + var t = taskHead, e; + while (t) { + if ((e = clockNow - t._time) >= 0) t._call.call(void 0, e); + t = t._next; + } + --timer_frame; +} +function wake() { + clockNow = (clockLast = clock.now()) + clockSkew; + timer_frame = timeout = 0; + try { + timerFlush(); + } finally { + timer_frame = 0; + nap(); + clockNow = 0; + } +} +function poke() { + var now2 = clock.now(), delay = now2 - clockLast; + if (delay > pokeDelay) clockSkew -= delay, clockLast = now2; +} +function nap() { + var t0, t1 = taskHead, t2, time = Infinity; + while (t1) { + if (t1._call) { + if (time > t1._time) time = t1._time; + t0 = t1, t1 = t1._next; + } else { + t2 = t1._next, t1._next = null; + t1 = t0 ? t0._next = t2 : taskHead = t2; + } + } + taskTail = t0; + sleep(time); +} +function sleep(time) { + if (timer_frame) return; + if (timeout) timeout = clearTimeout(timeout); + var delay = time - clockNow; + if (delay > 24) { + if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew); + if (interval) interval = clearInterval(interval); + } else { + if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay); + timer_frame = 1, setFrame(wake); + } +} + +;// ./node_modules/d3-timer/src/timeout.js + +/* harmony default export */ function src_timeout(callback, delay, time) { + var t = new Timer(); + delay = delay == null ? 0 : +delay; + t.restart((elapsed) => { + t.stop(); + callback(elapsed + delay); + }, delay, time); + return t; +} + +;// ./node_modules/d3-transition/src/transition/schedule.js + + +var emptyOn = src_dispatch("start", "end", "cancel", "interrupt"); +var emptyTween = []; +var CREATED = 0; +var SCHEDULED = 1; +var STARTING = 2; +var STARTED = 3; +var RUNNING = 4; +var ENDING = 5; +var ENDED = 6; +/* harmony default export */ function schedule(node, name, id, index, group, timing) { + var schedules = node.__transition; + if (!schedules) node.__transition = {}; + else if (id in schedules) return; + create(node, id, { + name, + index, + // For context during callback. + group, + // For context during callback. + on: emptyOn, + tween: emptyTween, + time: timing.time, + delay: timing.delay, + duration: timing.duration, + ease: timing.ease, + timer: null, + state: CREATED + }); +} +function init(node, id) { + var schedule = schedule_get(node, id); + if (schedule.state > CREATED) throw new Error("too late; already scheduled"); + return schedule; +} +function schedule_set(node, id) { + var schedule = schedule_get(node, id); + if (schedule.state > STARTED) throw new Error("too late; already running"); + return schedule; +} +function schedule_get(node, id) { + var schedule = node.__transition; + if (!schedule || !(schedule = schedule[id])) throw new Error("transition not found"); + return schedule; +} +function create(node, id, self) { + var schedules = node.__transition, tween; + schedules[id] = self; + self.timer = timer(schedule, 0, self.time); + function schedule(elapsed) { + self.state = SCHEDULED; + self.timer.restart(start, self.delay, self.time); + if (self.delay <= elapsed) start(elapsed - self.delay); + } + function start(elapsed) { + var i, j, n, o; + if (self.state !== SCHEDULED) return stop(); + for (i in schedules) { + o = schedules[i]; + if (o.name !== self.name) continue; + if (o.state === STARTED) return src_timeout(start); + if (o.state === RUNNING) { + o.state = ENDED; + o.timer.stop(); + o.on.call("interrupt", node, node.__data__, o.index, o.group); + delete schedules[i]; + } else if (+i < id) { + o.state = ENDED; + o.timer.stop(); + o.on.call("cancel", node, node.__data__, o.index, o.group); + delete schedules[i]; + } + } + src_timeout(function() { + if (self.state === STARTED) { + self.state = RUNNING; + self.timer.restart(tick, self.delay, self.time); + tick(elapsed); + } + }); + self.state = STARTING; + self.on.call("start", node, node.__data__, self.index, self.group); + if (self.state !== STARTING) return; + self.state = STARTED; + tween = new Array(n = self.tween.length); + for (i = 0, j = -1; i < n; ++i) { + if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) { + tween[++j] = o; + } + } + tween.length = j + 1; + } + function tick(elapsed) { + var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1), i = -1, n = tween.length; + while (++i < n) { + tween[i].call(node, t); + } + if (self.state === ENDING) { + self.on.call("end", node, node.__data__, self.index, self.group); + stop(); + } + } + function stop() { + self.state = ENDED; + self.timer.stop(); + delete schedules[id]; + for (var i in schedules) return; + delete node.__transition; + } +} + +;// ./node_modules/d3-transition/src/interrupt.js + +/* harmony default export */ function interrupt(node, name) { + var schedules = node.__transition, schedule, active, empty = true, i; + if (!schedules) return; + name = name == null ? null : name + ""; + for (i in schedules) { + if ((schedule = schedules[i]).name !== name) { + empty = false; + continue; + } + active = schedule.state > STARTING && schedule.state < ENDING; + schedule.state = ENDED; + schedule.timer.stop(); + schedule.on.call(active ? "interrupt" : "cancel", node, node.__data__, schedule.index, schedule.group); + delete schedules[i]; + } + if (empty) delete node.__transition; +} + +;// ./node_modules/d3-transition/src/selection/interrupt.js + +/* harmony default export */ function selection_interrupt(name) { + return this.each(function() { + interrupt(this, name); + }); +} + +;// ./node_modules/d3-interpolate/src/transform/decompose.js +var degrees = 180 / Math.PI; +var decompose_identity = { + translateX: 0, + translateY: 0, + rotate: 0, + skewX: 0, + scaleX: 1, + scaleY: 1 +}; +/* harmony default export */ function decompose(a, b, c, d, e, f) { + var scaleX, scaleY, skewX; + if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX; + if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX; + if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY; + if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX; + return { + translateX: e, + translateY: f, + rotate: Math.atan2(b, a) * degrees, + skewX: Math.atan(skewX) * degrees, + scaleX, + scaleY + }; +} + +;// ./node_modules/d3-interpolate/src/transform/parse.js + +var svgNode; +function parseCss(value) { + const m = new (typeof DOMMatrix === "function" ? DOMMatrix : WebKitCSSMatrix)(value + ""); + return m.isIdentity ? decompose_identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f); +} +function parseSvg(value) { + if (value == null) return decompose_identity; + if (!svgNode) svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g"); + svgNode.setAttribute("transform", value); + if (!(value = svgNode.transform.baseVal.consolidate())) return decompose_identity; + value = value.matrix; + return decompose(value.a, value.b, value.c, value.d, value.e, value.f); +} + +;// ./node_modules/d3-interpolate/src/transform/index.js + + +function interpolateTransform(parse, pxComma, pxParen, degParen) { + function pop(s) { + return s.length ? s.pop() + " " : ""; + } + function translate(xa, ya, xb, yb, s, q) { + if (xa !== xb || ya !== yb) { + var i = s.push("translate(", null, pxComma, null, pxParen); + q.push({ i: i - 4, x: number(xa, xb) }, { i: i - 2, x: number(ya, yb) }); + } else if (xb || yb) { + s.push("translate(" + xb + pxComma + yb + pxParen); + } + } + function rotate(a, b, s, q) { + if (a !== b) { + if (a - b > 180) b += 360; + else if (b - a > 180) a += 360; + q.push({ i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: number(a, b) }); + } else if (b) { + s.push(pop(s) + "rotate(" + b + degParen); + } + } + function skewX(a, b, s, q) { + if (a !== b) { + q.push({ i: s.push(pop(s) + "skewX(", null, degParen) - 2, x: number(a, b) }); + } else if (b) { + s.push(pop(s) + "skewX(" + b + degParen); + } + } + function scale(xa, ya, xb, yb, s, q) { + if (xa !== xb || ya !== yb) { + var i = s.push(pop(s) + "scale(", null, ",", null, ")"); + q.push({ i: i - 4, x: number(xa, xb) }, { i: i - 2, x: number(ya, yb) }); + } else if (xb !== 1 || yb !== 1) { + s.push(pop(s) + "scale(" + xb + "," + yb + ")"); + } + } + return function(a, b) { + var s = [], q = []; + a = parse(a), b = parse(b); + translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q); + rotate(a.rotate, b.rotate, s, q); + skewX(a.skewX, b.skewX, s, q); + scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q); + a = b = null; + return function(t) { + var i = -1, n = q.length, o; + while (++i < n) s[(o = q[i]).i] = o.x(t); + return s.join(""); + }; + }; +} +var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)"); +var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")"); + +;// ./node_modules/d3-transition/src/transition/tween.js + +function tweenRemove(id, name) { + var tween0, tween1; + return function() { + var schedule = schedule_set(this, id), tween = schedule.tween; + if (tween !== tween0) { + tween1 = tween0 = tween; + for (var i = 0, n = tween1.length; i < n; ++i) { + if (tween1[i].name === name) { + tween1 = tween1.slice(); + tween1.splice(i, 1); + break; + } + } + } + schedule.tween = tween1; + }; +} +function tweenFunction(id, name, value) { + var tween0, tween1; + if (typeof value !== "function") throw new Error(); + return function() { + var schedule = schedule_set(this, id), tween = schedule.tween; + if (tween !== tween0) { + tween1 = (tween0 = tween).slice(); + for (var t = { name, value }, i = 0, n = tween1.length; i < n; ++i) { + if (tween1[i].name === name) { + tween1[i] = t; + break; + } + } + if (i === n) tween1.push(t); + } + schedule.tween = tween1; + }; +} +/* harmony default export */ function tween(name, value) { + var id = this._id; + name += ""; + if (arguments.length < 2) { + var tween = schedule_get(this.node(), id).tween; + for (var i = 0, n = tween.length, t; i < n; ++i) { + if ((t = tween[i]).name === name) { + return t.value; + } + } + return null; + } + return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value)); +} +function tweenValue(transition, name, value) { + var id = transition._id; + transition.each(function() { + var schedule = schedule_set(this, id); + (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments); + }); + return function(node) { + return schedule_get(node, id).value[name]; + }; +} + +;// ./node_modules/d3-transition/src/transition/interpolate.js + + +/* harmony default export */ function interpolate(a, b) { + var c; + return (typeof b === "number" ? number : b instanceof color ? rgb : (c = color(b)) ? (b = c, rgb) : string)(a, b); +} + +;// ./node_modules/d3-transition/src/transition/attr.js + + + + +function attr_attrRemove(name) { + return function() { + this.removeAttribute(name); + }; +} +function attr_attrRemoveNS(fullname) { + return function() { + this.removeAttributeNS(fullname.space, fullname.local); + }; +} +function attr_attrConstant(name, interpolate2, value1) { + var string00, string1 = value1 + "", interpolate0; + return function() { + var string0 = this.getAttribute(name); + return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1); + }; +} +function attr_attrConstantNS(fullname, interpolate2, value1) { + var string00, string1 = value1 + "", interpolate0; + return function() { + var string0 = this.getAttributeNS(fullname.space, fullname.local); + return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1); + }; +} +function attr_attrFunction(name, interpolate2, value) { + var string00, string10, interpolate0; + return function() { + var string0, value1 = value(this), string1; + if (value1 == null) return void this.removeAttribute(name); + string0 = this.getAttribute(name); + string1 = value1 + ""; + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1)); + }; +} +function attr_attrFunctionNS(fullname, interpolate2, value) { + var string00, string10, interpolate0; + return function() { + var string0, value1 = value(this), string1; + if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local); + string0 = this.getAttributeNS(fullname.space, fullname.local); + string1 = value1 + ""; + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1)); + }; +} +/* harmony default export */ function transition_attr(name, value) { + var fullname = namespace(name), i = fullname === "transform" ? interpolateTransformSvg : interpolate; + return this.attrTween(name, typeof value === "function" ? (fullname.local ? attr_attrFunctionNS : attr_attrFunction)(fullname, i, tweenValue(this, "attr." + name, value)) : value == null ? (fullname.local ? attr_attrRemoveNS : attr_attrRemove)(fullname) : (fullname.local ? attr_attrConstantNS : attr_attrConstant)(fullname, i, value)); +} + +;// ./node_modules/d3-transition/src/transition/attrTween.js + +function attrInterpolate(name, i) { + return function(t) { + this.setAttribute(name, i.call(this, t)); + }; +} +function attrInterpolateNS(fullname, i) { + return function(t) { + this.setAttributeNS(fullname.space, fullname.local, i.call(this, t)); + }; +} +function attrTweenNS(fullname, value) { + var t0, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i); + return t0; + } + tween._value = value; + return tween; +} +function attrTween(name, value) { + var t0, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i); + return t0; + } + tween._value = value; + return tween; +} +/* harmony default export */ function transition_attrTween(name, value) { + var key = "attr." + name; + if (arguments.length < 2) return (key = this.tween(key)) && key._value; + if (value == null) return this.tween(key, null); + if (typeof value !== "function") throw new Error(); + var fullname = namespace(name); + return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value)); +} + +;// ./node_modules/d3-transition/src/transition/delay.js + +function delayFunction(id, value) { + return function() { + init(this, id).delay = +value.apply(this, arguments); + }; +} +function delayConstant(id, value) { + return value = +value, function() { + init(this, id).delay = value; + }; +} +/* harmony default export */ function delay(value) { + var id = this._id; + return arguments.length ? this.each((typeof value === "function" ? delayFunction : delayConstant)(id, value)) : schedule_get(this.node(), id).delay; +} + +;// ./node_modules/d3-transition/src/transition/duration.js + +function durationFunction(id, value) { + return function() { + schedule_set(this, id).duration = +value.apply(this, arguments); + }; +} +function durationConstant(id, value) { + return value = +value, function() { + schedule_set(this, id).duration = value; + }; +} +/* harmony default export */ function duration(value) { + var id = this._id; + return arguments.length ? this.each((typeof value === "function" ? durationFunction : durationConstant)(id, value)) : schedule_get(this.node(), id).duration; +} + +;// ./node_modules/d3-transition/src/transition/ease.js + +function easeConstant(id, value) { + if (typeof value !== "function") throw new Error(); + return function() { + schedule_set(this, id).ease = value; + }; +} +/* harmony default export */ function ease(value) { + var id = this._id; + return arguments.length ? this.each(easeConstant(id, value)) : schedule_get(this.node(), id).ease; +} + +;// ./node_modules/d3-transition/src/transition/easeVarying.js + +function easeVarying(id, value) { + return function() { + var v = value.apply(this, arguments); + if (typeof v !== "function") throw new Error(); + schedule_set(this, id).ease = v; + }; +} +/* harmony default export */ function transition_easeVarying(value) { + if (typeof value !== "function") throw new Error(); + return this.each(easeVarying(this._id, value)); +} + +;// ./node_modules/d3-transition/src/transition/filter.js + + +/* harmony default export */ function transition_filter(match) { + if (typeof match !== "function") match = matcher(match); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) { + if ((node = group[i]) && match.call(node, node.__data__, i, group)) { + subgroup.push(node); + } + } + } + return new Transition(subgroups, this._parents, this._name, this._id); +} + +;// ./node_modules/d3-transition/src/transition/merge.js + +/* harmony default export */ function transition_merge(transition) { + if (transition._id !== this._id) throw new Error(); + for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { + for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group0[i] || group1[i]) { + merge[i] = node; + } + } + } + for (; j < m0; ++j) { + merges[j] = groups0[j]; + } + return new Transition(merges, this._parents, this._name, this._id); +} + +;// ./node_modules/d3-transition/src/transition/on.js + +function start(name) { + return (name + "").trim().split(/^|\s+/).every(function(t) { + var i = t.indexOf("."); + if (i >= 0) t = t.slice(0, i); + return !t || t === "start"; + }); +} +function onFunction(id, name, listener) { + var on0, on1, sit = start(name) ? init : schedule_set; + return function() { + var schedule = sit(this, id), on = schedule.on; + if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener); + schedule.on = on1; + }; +} +/* harmony default export */ function transition_on(name, listener) { + var id = this._id; + return arguments.length < 2 ? schedule_get(this.node(), id).on.on(name) : this.each(onFunction(id, name, listener)); +} + +;// ./node_modules/d3-transition/src/transition/remove.js +function removeFunction(id) { + return function() { + var parent = this.parentNode; + for (var i in this.__transition) if (+i !== id) return; + if (parent) parent.removeChild(this); + }; +} +/* harmony default export */ function transition_remove() { + return this.on("end.remove", removeFunction(this._id)); +} + +;// ./node_modules/d3-transition/src/transition/select.js + + + +/* harmony default export */ function transition_select(select) { + var name = this._name, id = this._id; + if (typeof select !== "function") select = selector(select); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) { + if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) { + if ("__data__" in node) subnode.__data__ = node.__data__; + subgroup[i] = subnode; + schedule(subgroup[i], name, id, i, subgroup, schedule_get(node, id)); + } + } + } + return new Transition(subgroups, this._parents, name, id); +} + +;// ./node_modules/d3-transition/src/transition/selectAll.js + + + +/* harmony default export */ function transition_selectAll(select) { + var name = this._name, id = this._id; + if (typeof select !== "function") select = selectorAll(select); + for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + for (var children = select.call(node, node.__data__, i, group), child, inherit = schedule_get(node, id), k = 0, l = children.length; k < l; ++k) { + if (child = children[k]) { + schedule(child, name, id, k, children, inherit); + } + } + subgroups.push(children); + parents.push(node); + } + } + } + return new Transition(subgroups, parents, name, id); +} + +;// ./node_modules/d3-transition/src/transition/selection.js + +var selection_Selection = src_selection.prototype.constructor; +/* harmony default export */ function transition_selection() { + return new selection_Selection(this._groups, this._parents); +} + +;// ./node_modules/d3-transition/src/transition/style.js + + + + + +function styleNull(name, interpolate2) { + var string00, string10, interpolate0; + return function() { + var string0 = styleValue(this, name), string1 = (this.style.removeProperty(name), styleValue(this, name)); + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, string10 = string1); + }; +} +function style_styleRemove(name) { + return function() { + this.style.removeProperty(name); + }; +} +function style_styleConstant(name, interpolate2, value1) { + var string00, string1 = value1 + "", interpolate0; + return function() { + var string0 = styleValue(this, name); + return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1); + }; +} +function style_styleFunction(name, interpolate2, value) { + var string00, string10, interpolate0; + return function() { + var string0 = styleValue(this, name), value1 = value(this), string1 = value1 + ""; + if (value1 == null) string1 = value1 = (this.style.removeProperty(name), styleValue(this, name)); + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1)); + }; +} +function styleMaybeRemove(id, name) { + var on0, on1, listener0, key = "style." + name, event = "end." + key, remove; + return function() { + var schedule = schedule_set(this, id), on = schedule.on, listener = schedule.value[key] == null ? remove || (remove = style_styleRemove(name)) : void 0; + if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener); + schedule.on = on1; + }; +} +/* harmony default export */ function transition_style(name, value, priority) { + var i = (name += "") === "transform" ? interpolateTransformCss : interpolate; + return value == null ? this.styleTween(name, styleNull(name, i)).on("end.style." + name, style_styleRemove(name)) : typeof value === "function" ? this.styleTween(name, style_styleFunction(name, i, tweenValue(this, "style." + name, value))).each(styleMaybeRemove(this._id, name)) : this.styleTween(name, style_styleConstant(name, i, value), priority).on("end.style." + name, null); +} + +;// ./node_modules/d3-transition/src/transition/styleTween.js +function styleInterpolate(name, i, priority) { + return function(t) { + this.style.setProperty(name, i.call(this, t), priority); + }; +} +function styleTween(name, value, priority) { + var t, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority); + return t; + } + tween._value = value; + return tween; +} +/* harmony default export */ function transition_styleTween(name, value, priority) { + var key = "style." + (name += ""); + if (arguments.length < 2) return (key = this.tween(key)) && key._value; + if (value == null) return this.tween(key, null); + if (typeof value !== "function") throw new Error(); + return this.tween(key, styleTween(name, value, priority == null ? "" : priority)); +} + +;// ./node_modules/d3-transition/src/transition/text.js + +function text_textConstant(value) { + return function() { + this.textContent = value; + }; +} +function text_textFunction(value) { + return function() { + var value1 = value(this); + this.textContent = value1 == null ? "" : value1; + }; +} +/* harmony default export */ function transition_text(value) { + return this.tween("text", typeof value === "function" ? text_textFunction(tweenValue(this, "text", value)) : text_textConstant(value == null ? "" : value + "")); +} + +;// ./node_modules/d3-transition/src/transition/textTween.js +function textInterpolate(i) { + return function(t) { + this.textContent = i.call(this, t); + }; +} +function textTween(value) { + var t0, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t0 = (i0 = i) && textInterpolate(i); + return t0; + } + tween._value = value; + return tween; +} +/* harmony default export */ function transition_textTween(value) { + var key = "text"; + if (arguments.length < 1) return (key = this.tween(key)) && key._value; + if (value == null) return this.tween(key, null); + if (typeof value !== "function") throw new Error(); + return this.tween(key, textTween(value)); +} + +;// ./node_modules/d3-transition/src/transition/transition.js + + +/* harmony default export */ function transition() { + var name = this._name, id0 = this._id, id1 = newId(); + for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + var inherit = schedule_get(node, id0); + schedule(node, name, id1, i, group, { + time: inherit.time + inherit.delay + inherit.duration, + delay: 0, + duration: inherit.duration, + ease: inherit.ease + }); + } + } + } + return new Transition(groups, this._parents, name, id1); +} + +;// ./node_modules/d3-transition/src/transition/end.js + +/* harmony default export */ function end() { + var on0, on1, that = this, id = that._id, size = that.size(); + return new Promise(function(resolve, reject) { + var cancel = { value: reject }, end = { value: function() { + if (--size === 0) resolve(); + } }; + that.each(function() { + var schedule = schedule_set(this, id), on = schedule.on; + if (on !== on0) { + on1 = (on0 = on).copy(); + on1._.cancel.push(cancel); + on1._.interrupt.push(cancel); + on1._.end.push(end); + } + schedule.on = on1; + }); + if (size === 0) resolve(); + }); +} + +;// ./node_modules/d3-transition/src/transition/index.js + + + + + + + + + + + + + + + + + + + + + +var id = 0; +function Transition(groups, parents, name, id2) { + this._groups = groups; + this._parents = parents; + this._name = name; + this._id = id2; +} +function transition_transition(name) { + return src_selection().transition(name); +} +function newId() { + return ++id; +} +var selection_prototype = src_selection.prototype; +Transition.prototype = transition_transition.prototype = { + constructor: Transition, + select: transition_select, + selectAll: transition_selectAll, + selectChild: selection_prototype.selectChild, + selectChildren: selection_prototype.selectChildren, + filter: transition_filter, + merge: transition_merge, + selection: transition_selection, + transition: transition, + call: selection_prototype.call, + nodes: selection_prototype.nodes, + node: selection_prototype.node, + size: selection_prototype.size, + empty: selection_prototype.empty, + each: selection_prototype.each, + on: transition_on, + attr: transition_attr, + attrTween: transition_attrTween, + style: transition_style, + styleTween: transition_styleTween, + text: transition_text, + textTween: transition_textTween, + remove: transition_remove, + tween: tween, + delay: delay, + duration: duration, + ease: ease, + easeVarying: transition_easeVarying, + end: end, + [Symbol.iterator]: selection_prototype[Symbol.iterator] +}; + +;// ./node_modules/d3-ease/src/cubic.js +function cubicIn(t) { + return t * t * t; +} +function cubicOut(t) { + return --t * t * t + 1; +} +function cubicInOut(t) { + return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2; +} + +;// ./node_modules/d3-transition/src/selection/transition.js + + + + +var defaultTiming = { + time: null, + // Set on use. + delay: 0, + duration: 250, + ease: cubicInOut +}; +function inherit(node, id) { + var timing; + while (!(timing = node.__transition) || !(timing = timing[id])) { + if (!(node = node.parentNode)) { + throw new Error(`transition ${id} not found`); + } + } + return timing; +} +/* harmony default export */ function selection_transition(name) { + var id, timing; + if (name instanceof Transition) { + id = name._id, name = name._name; + } else { + id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + ""; + } + for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + schedule(node, name, id, i, group, timing || inherit(node, id)); + } + } + } + return new Transition(groups, this._parents, name, id); +} + +;// ./node_modules/d3-transition/src/selection/index.js + + + +src_selection.prototype.interrupt = selection_interrupt; +src_selection.prototype.transition = selection_transition; + +;// ./node_modules/d3-transition/src/index.js + + + + + +;// ./node_modules/d3-brush/src/constant.js +/* harmony default export */ var d3_brush_src_constant = ((x) => () => x); + +;// ./node_modules/d3-brush/src/event.js +function BrushEvent(type, { + sourceEvent, + target, + selection, + mode, + dispatch +}) { + Object.defineProperties(this, { + type: { value: type, enumerable: true, configurable: true }, + sourceEvent: { value: sourceEvent, enumerable: true, configurable: true }, + target: { value: target, enumerable: true, configurable: true }, + selection: { value: selection, enumerable: true, configurable: true }, + mode: { value: mode, enumerable: true, configurable: true }, + _: { value: dispatch } + }); +} + +;// ./node_modules/d3-brush/src/noevent.js +function noevent_nopropagation(event) { + event.stopImmediatePropagation(); +} +/* harmony default export */ function src_noevent(event) { + event.preventDefault(); + event.stopImmediatePropagation(); +} + +;// ./node_modules/d3-brush/src/brush.js + + + + + + + + +var MODE_DRAG = { name: "drag" }, MODE_SPACE = { name: "space" }, MODE_HANDLE = { name: "handle" }, MODE_CENTER = { name: "center" }; +const { abs, max, min } = Math; +function number1(e) { + return [+e[0], +e[1]]; +} +function number2(e) { + return [number1(e[0]), number1(e[1])]; +} +var X = { + name: "x", + handles: ["w", "e"].map(type), + input: function(x, e) { + return x == null ? null : [[+x[0], e[0][1]], [+x[1], e[1][1]]]; + }, + output: function(xy) { + return xy && [xy[0][0], xy[1][0]]; + } +}; +var Y = { + name: "y", + handles: ["n", "s"].map(type), + input: function(y, e) { + return y == null ? null : [[e[0][0], +y[0]], [e[1][0], +y[1]]]; + }, + output: function(xy) { + return xy && [xy[0][1], xy[1][1]]; + } +}; +var XY = { + name: "xy", + handles: ["n", "w", "e", "s", "nw", "ne", "sw", "se"].map(type), + input: function(xy) { + return xy == null ? null : number2(xy); + }, + output: function(xy) { + return xy; + } +}; +var cursors = { + overlay: "crosshair", + selection: "move", + n: "ns-resize", + e: "ew-resize", + s: "ns-resize", + w: "ew-resize", + nw: "nwse-resize", + ne: "nesw-resize", + se: "nwse-resize", + sw: "nesw-resize" +}; +var flipX = { + e: "w", + w: "e", + nw: "ne", + ne: "nw", + se: "sw", + sw: "se" +}; +var flipY = { + n: "s", + s: "n", + nw: "sw", + ne: "se", + se: "ne", + sw: "nw" +}; +var signsX = { + overlay: 1, + selection: 1, + n: null, + e: 1, + s: null, + w: -1, + nw: -1, + ne: 1, + se: 1, + sw: -1 +}; +var signsY = { + overlay: 1, + selection: 1, + n: -1, + e: null, + s: 1, + w: null, + nw: -1, + ne: -1, + se: 1, + sw: 1 +}; +function type(t) { + return { type: t }; +} +function defaultFilter(event) { + return !event.ctrlKey && !event.button; +} +function defaultExtent() { + var svg = this.ownerSVGElement || this; + if (svg.hasAttribute("viewBox")) { + svg = svg.viewBox.baseVal; + return [[svg.x, svg.y], [svg.x + svg.width, svg.y + svg.height]]; + } + return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]]; +} +function defaultTouchable() { + return navigator.maxTouchPoints || "ontouchstart" in this; +} +function local(node) { + while (!node.__brush) if (!(node = node.parentNode)) return; + return node.__brush; +} +function brush_empty(extent) { + return extent[0][0] === extent[1][0] || extent[0][1] === extent[1][1]; +} +function brushSelection(node) { + var state = node.__brush; + return state ? state.dim.output(state.selection) : null; +} +function brushX() { + return brush_brush(X); +} +function brushY() { + return brush_brush(Y); +} +/* harmony default export */ function brush() { + return brush_brush(XY); +} +function brush_brush(dim) { + var extent = defaultExtent, filter = defaultFilter, touchable = defaultTouchable, keys = true, listeners = src_dispatch("start", "brush", "end"), handleSize = 6, touchending; + function brush2(group) { + var overlay = group.property("__brush", initialize).selectAll(".overlay").data([type("overlay")]); + overlay.enter().append("rect").attr("class", "overlay").attr("pointer-events", "all").attr("cursor", cursors.overlay).merge(overlay).each(function() { + var extent2 = local(this).extent; + src_select(this).attr("x", extent2[0][0]).attr("y", extent2[0][1]).attr("width", extent2[1][0] - extent2[0][0]).attr("height", extent2[1][1] - extent2[0][1]); + }); + group.selectAll(".selection").data([type("selection")]).enter().append("rect").attr("class", "selection").attr("cursor", cursors.selection).attr("fill", "#777").attr("fill-opacity", 0.3).attr("stroke", "#fff").attr("shape-rendering", "crispEdges"); + var handle = group.selectAll(".handle").data(dim.handles, function(d) { + return d.type; + }); + handle.exit().remove(); + handle.enter().append("rect").attr("class", function(d) { + return "handle handle--" + d.type; + }).attr("cursor", function(d) { + return cursors[d.type]; + }); + group.each(redraw).attr("fill", "none").attr("pointer-events", "all").on("mousedown.brush", started).filter(touchable).on("touchstart.brush", started).on("touchmove.brush", touchmoved).on("touchend.brush touchcancel.brush", touchended).style("touch-action", "none").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)"); + } + brush2.move = function(group, selection, event) { + if (group.tween) { + group.on("start.brush", function(event2) { + emitter(this, arguments).beforestart().start(event2); + }).on("interrupt.brush end.brush", function(event2) { + emitter(this, arguments).end(event2); + }).tween("brush", function() { + var that = this, state = that.__brush, emit = emitter(that, arguments), selection0 = state.selection, selection1 = dim.input(typeof selection === "function" ? selection.apply(this, arguments) : selection, state.extent), i = value(selection0, selection1); + function tween(t) { + state.selection = t === 1 && selection1 === null ? null : i(t); + redraw.call(that); + emit.brush(); + } + return selection0 !== null && selection1 !== null ? tween : tween(1); + }); + } else { + group.each(function() { + var that = this, args = arguments, state = that.__brush, selection1 = dim.input(typeof selection === "function" ? selection.apply(that, args) : selection, state.extent), emit = emitter(that, args).beforestart(); + interrupt(that); + state.selection = selection1 === null ? null : selection1; + redraw.call(that); + emit.start(event).brush(event).end(event); + }); + } + }; + brush2.clear = function(group, event) { + brush2.move(group, null, event); + }; + function redraw() { + var group = src_select(this), selection = local(this).selection; + if (selection) { + group.selectAll(".selection").style("display", null).attr("x", selection[0][0]).attr("y", selection[0][1]).attr("width", selection[1][0] - selection[0][0]).attr("height", selection[1][1] - selection[0][1]); + group.selectAll(".handle").style("display", null).attr("x", function(d) { + return d.type[d.type.length - 1] === "e" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; + }).attr("y", function(d) { + return d.type[0] === "s" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; + }).attr("width", function(d) { + return d.type === "n" || d.type === "s" ? selection[1][0] - selection[0][0] + handleSize : handleSize; + }).attr("height", function(d) { + return d.type === "e" || d.type === "w" ? selection[1][1] - selection[0][1] + handleSize : handleSize; + }); + } else { + group.selectAll(".selection,.handle").style("display", "none").attr("x", null).attr("y", null).attr("width", null).attr("height", null); + } + } + function emitter(that, args, clean) { + var emit = that.__brush.emitter; + return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean); + } + function Emitter(that, args, clean) { + this.that = that; + this.args = args; + this.state = that.__brush; + this.active = 0; + this.clean = clean; + } + Emitter.prototype = { + beforestart: function() { + if (++this.active === 1) this.state.emitter = this, this.starting = true; + return this; + }, + start: function(event, mode) { + if (this.starting) this.starting = false, this.emit("start", event, mode); + else this.emit("brush", event); + return this; + }, + brush: function(event, mode) { + this.emit("brush", event, mode); + return this; + }, + end: function(event, mode) { + if (--this.active === 0) delete this.state.emitter, this.emit("end", event, mode); + return this; + }, + emit: function(type2, event, mode) { + var d = src_select(this.that).datum(); + listeners.call( + type2, + this.that, + new BrushEvent(type2, { + sourceEvent: event, + target: brush2, + selection: dim.output(this.state.selection), + mode, + dispatch: listeners + }), + d + ); + } + }; + function started(event) { + if (touchending && !event.touches) return; + if (!filter.apply(this, arguments)) return; + var that = this, type2 = event.target.__data__.type, mode = (keys && event.metaKey ? type2 = "overlay" : type2) === "selection" ? MODE_DRAG : keys && event.altKey ? MODE_CENTER : MODE_HANDLE, signX = dim === Y ? null : signsX[type2], signY = dim === X ? null : signsY[type2], state = local(that), extent2 = state.extent, selection = state.selection, W = extent2[0][0], w0, w1, N = extent2[0][1], n0, n1, E = extent2[1][0], e0, e1, S = extent2[1][1], s0, s1, dx = 0, dy = 0, moving, shifting = signX && signY && keys && event.shiftKey, lockX, lockY, points = Array.from(event.touches || [event], (t) => { + const i = t.identifier; + t = src_pointer(t, that); + t.point0 = t.slice(); + t.identifier = i; + return t; + }); + interrupt(that); + var emit = emitter(that, arguments, true).beforestart(); + if (type2 === "overlay") { + if (selection) moving = true; + const pts = [points[0], points[1] || points[0]]; + state.selection = selection = [[ + w0 = dim === Y ? W : min(pts[0][0], pts[1][0]), + n0 = dim === X ? N : min(pts[0][1], pts[1][1]) + ], [ + e0 = dim === Y ? E : max(pts[0][0], pts[1][0]), + s0 = dim === X ? S : max(pts[0][1], pts[1][1]) + ]]; + if (points.length > 1) move(event); + } else { + w0 = selection[0][0]; + n0 = selection[0][1]; + e0 = selection[1][0]; + s0 = selection[1][1]; + } + w1 = w0; + n1 = n0; + e1 = e0; + s1 = s0; + var group = src_select(that).attr("pointer-events", "none"); + var overlay = group.selectAll(".overlay").attr("cursor", cursors[type2]); + if (event.touches) { + emit.moved = moved; + emit.ended = ended; + } else { + var view = src_select(event.view).on("mousemove.brush", moved, true).on("mouseup.brush", ended, true); + if (keys) view.on("keydown.brush", keydowned, true).on("keyup.brush", keyupped, true); + nodrag(event.view); + } + redraw.call(that); + emit.start(event, mode.name); + function moved(event2) { + for (const p of event2.changedTouches || [event2]) { + for (const d of points) + if (d.identifier === p.identifier) d.cur = src_pointer(p, that); + } + if (shifting && !lockX && !lockY && points.length === 1) { + const point = points[0]; + if (abs(point.cur[0] - point[0]) > abs(point.cur[1] - point[1])) + lockY = true; + else + lockX = true; + } + for (const point of points) + if (point.cur) point[0] = point.cur[0], point[1] = point.cur[1]; + moving = true; + src_noevent(event2); + move(event2); + } + function move(event2) { + const point = points[0], point0 = point.point0; + var t; + dx = point[0] - point0[0]; + dy = point[1] - point0[1]; + switch (mode) { + case MODE_SPACE: + case MODE_DRAG: { + if (signX) dx = max(W - w0, min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx; + if (signY) dy = max(N - n0, min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy; + break; + } + case MODE_HANDLE: { + if (points[1]) { + if (signX) w1 = max(W, min(E, points[0][0])), e1 = max(W, min(E, points[1][0])), signX = 1; + if (signY) n1 = max(N, min(S, points[0][1])), s1 = max(N, min(S, points[1][1])), signY = 1; + } else { + if (signX < 0) dx = max(W - w0, min(E - w0, dx)), w1 = w0 + dx, e1 = e0; + else if (signX > 0) dx = max(W - e0, min(E - e0, dx)), w1 = w0, e1 = e0 + dx; + if (signY < 0) dy = max(N - n0, min(S - n0, dy)), n1 = n0 + dy, s1 = s0; + else if (signY > 0) dy = max(N - s0, min(S - s0, dy)), n1 = n0, s1 = s0 + dy; + } + break; + } + case MODE_CENTER: { + if (signX) w1 = max(W, min(E, w0 - dx * signX)), e1 = max(W, min(E, e0 + dx * signX)); + if (signY) n1 = max(N, min(S, n0 - dy * signY)), s1 = max(N, min(S, s0 + dy * signY)); + break; + } + } + if (e1 < w1) { + signX *= -1; + t = w0, w0 = e0, e0 = t; + t = w1, w1 = e1, e1 = t; + if (type2 in flipX) overlay.attr("cursor", cursors[type2 = flipX[type2]]); + } + if (s1 < n1) { + signY *= -1; + t = n0, n0 = s0, s0 = t; + t = n1, n1 = s1, s1 = t; + if (type2 in flipY) overlay.attr("cursor", cursors[type2 = flipY[type2]]); + } + if (state.selection) selection = state.selection; + if (lockX) w1 = selection[0][0], e1 = selection[1][0]; + if (lockY) n1 = selection[0][1], s1 = selection[1][1]; + if (selection[0][0] !== w1 || selection[0][1] !== n1 || selection[1][0] !== e1 || selection[1][1] !== s1) { + state.selection = [[w1, n1], [e1, s1]]; + redraw.call(that); + emit.brush(event2, mode.name); + } + } + function ended(event2) { + noevent_nopropagation(event2); + if (event2.touches) { + if (event2.touches.length) return; + if (touchending) clearTimeout(touchending); + touchending = setTimeout(function() { + touchending = null; + }, 500); + } else { + yesdrag(event2.view, moving); + view.on("keydown.brush keyup.brush mousemove.brush mouseup.brush", null); + } + group.attr("pointer-events", "all"); + overlay.attr("cursor", cursors.overlay); + if (state.selection) selection = state.selection; + if (brush_empty(selection)) state.selection = null, redraw.call(that); + emit.end(event2, mode.name); + } + function keydowned(event2) { + switch (event2.keyCode) { + case 16: { + shifting = signX && signY; + break; + } + case 18: { + if (mode === MODE_HANDLE) { + if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX; + if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY; + mode = MODE_CENTER; + move(event2); + } + break; + } + case 32: { + if (mode === MODE_HANDLE || mode === MODE_CENTER) { + if (signX < 0) e0 = e1 - dx; + else if (signX > 0) w0 = w1 - dx; + if (signY < 0) s0 = s1 - dy; + else if (signY > 0) n0 = n1 - dy; + mode = MODE_SPACE; + overlay.attr("cursor", cursors.selection); + move(event2); + } + break; + } + default: + return; + } + src_noevent(event2); + } + function keyupped(event2) { + switch (event2.keyCode) { + case 16: { + if (shifting) { + lockX = lockY = shifting = false; + move(event2); + } + break; + } + case 18: { + if (mode === MODE_CENTER) { + if (signX < 0) e0 = e1; + else if (signX > 0) w0 = w1; + if (signY < 0) s0 = s1; + else if (signY > 0) n0 = n1; + mode = MODE_HANDLE; + move(event2); + } + break; + } + case 32: { + if (mode === MODE_SPACE) { + if (event2.altKey) { + if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX; + if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY; + mode = MODE_CENTER; + } else { + if (signX < 0) e0 = e1; + else if (signX > 0) w0 = w1; + if (signY < 0) s0 = s1; + else if (signY > 0) n0 = n1; + mode = MODE_HANDLE; + } + overlay.attr("cursor", cursors[type2]); + move(event2); + } + break; + } + default: + return; + } + src_noevent(event2); + } + } + function touchmoved(event) { + emitter(this, arguments).moved(event); + } + function touchended(event) { + emitter(this, arguments).ended(event); + } + function initialize() { + var state = this.__brush || { selection: null }; + state.extent = number2(extent.apply(this, arguments)); + state.dim = dim; + return state; + } + brush2.extent = function(_) { + return arguments.length ? (extent = typeof _ === "function" ? _ : d3_brush_src_constant(number2(_)), brush2) : extent; + }; + brush2.filter = function(_) { + return arguments.length ? (filter = typeof _ === "function" ? _ : d3_brush_src_constant(!!_), brush2) : filter; + }; + brush2.touchable = function(_) { + return arguments.length ? (touchable = typeof _ === "function" ? _ : d3_brush_src_constant(!!_), brush2) : touchable; + }; + brush2.handleSize = function(_) { + return arguments.length ? (handleSize = +_, brush2) : handleSize; + }; + brush2.keyModifiers = function(_) { + return arguments.length ? (keys = !!_, brush2) : keys; + }; + brush2.on = function() { + var value = listeners.on.apply(listeners, arguments); + return value === listeners ? brush2 : value; + }; + return brush2; +} + +;// ./node_modules/d3-brush/src/index.js + + +;// ./src/module/browser.ts +function getGlobal() { + return typeof globalThis === "object" && globalThis !== null && globalThis.Object === Object && globalThis || typeof global === "object" && global !== null && global.Object === Object && global || typeof self === "object" && self !== null && self.Object === Object && self || Function("return this")(); +} +function getFallback(w) { + const hasRAF = typeof (w == null ? void 0 : w.requestAnimationFrame) === "function" && typeof (w == null ? void 0 : w.cancelAnimationFrame) === "function"; + const hasRIC = typeof (w == null ? void 0 : w.requestIdleCallback) === "function" && typeof (w == null ? void 0 : w.cancelIdleCallback) === "function"; + const request = (cb) => setTimeout(cb, 1); + const cancel = (id) => clearTimeout(id); + return [ + hasRAF ? w.requestAnimationFrame : request, + hasRAF ? w.cancelAnimationFrame : cancel, + hasRIC ? w.requestIdleCallback : request, + hasRIC ? w.cancelIdleCallback : cancel + ]; +} +const win = getGlobal(); +const doc = win == null ? void 0 : win.document; +const [ + requestAnimationFrame, + cancelAnimationFrame, + requestIdleCallback, + cancelIdleCallback +] = getFallback(win); + + +;// ./src/module/util.ts +var util_defProp = Object.defineProperty; +var util_getOwnPropSymbols = Object.getOwnPropertySymbols; +var util_hasOwnProp = Object.prototype.hasOwnProperty; +var util_propIsEnum = Object.prototype.propertyIsEnumerable; +var util_defNormalProp = (obj, key, value) => key in obj ? util_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var util_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (util_hasOwnProp.call(b, prop)) + util_defNormalProp(a, prop, b[prop]); + if (util_getOwnPropSymbols) + for (var prop of util_getOwnPropSymbols(b)) { + if (util_propIsEnum.call(b, prop)) + util_defNormalProp(a, prop, b[prop]); + } + return a; +}; + + + + +const isValue = (v) => v || v === 0; +const isFunction = (v) => typeof v === "function"; +const isString = (v) => typeof v === "string"; +const isNumber = (v) => typeof v === "number"; +const isUndefined = (v) => typeof v === "undefined"; +const isDefined = (v) => typeof v !== "undefined"; +const isBoolean = (v) => typeof v === "boolean"; +const ceil10 = (v) => Math.ceil(v / 10) * 10; +const asHalfPixel = (n) => Math.ceil(n) + 0.5; +const diffDomain = (d) => d[1] - d[0]; +const isObjectType = (v) => typeof v === "object"; +const isEmpty = (o) => isUndefined(o) || o === null || isString(o) && o.length === 0 || isObjectType(o) && !(o instanceof Date) && Object.keys(o).length === 0 || isNumber(o) && isNaN(o); +const notEmpty = (o) => !isEmpty(o); +const isArray = (arr) => Array.isArray(arr); +const isObject = (obj) => obj && !(obj == null ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); +function getOption(options, key, defaultValue) { + return isDefined(options[key]) ? options[key] : defaultValue; +} +function hasValue(dict, value) { + let found = false; + Object.keys(dict).forEach((key) => dict[key] === value && (found = true)); + return found; +} +function callFn(fn, thisArg, ...args) { + const isFn = isFunction(fn); + isFn && fn.call(thisArg, ...args); + return isFn; +} +function endall(transition, cb) { + let n = 0; + const end = function(...args) { + !--n && cb.apply(this, ...args); + }; + if ("duration" in transition) { + transition.each(() => ++n).on("end", end); + } else { + ++n; + transition.call(end); + } +} +function sanitize(str) { + return isString(str) ? str.replace(/<(script|img)?/ig, "<").replace(/(script)?>/ig, ">") : str; +} +function setTextValue(node, text, dy = [-1, 1], toMiddle = false) { + if (!node || !isString(text)) { + return; + } + if (text.indexOf("\n") === -1) { + node.text(text); + } else { + const diff = [node.text(), text].map((v) => v.replace(/[\s\n]/g, "")); + if (diff[0] !== diff[1]) { + const multiline = text.split("\n"); + const len = toMiddle ? multiline.length - 1 : 1; + node.html(""); + multiline.forEach((v, i) => { + node.append("tspan").attr("x", 0).attr("dy", `${i === 0 ? dy[0] * len : dy[1]}em`).text(v); + }); + } + } +} +function getRectSegList(path) { + const { x, y, width, height } = path.getBBox(); + return [ + { x, y: y + height }, + // seg0 + { x, y }, + // seg1 + { x: x + width, y }, + // seg2 + { x: x + width, y: y + height } + // seg3 + ]; +} +function getPathBox(path) { + const { width, height } = path.getBoundingClientRect(); + const items = getRectSegList(path); + const x = items[0].x; + const y = Math.min(items[0].y, items[1].y); + return { + x, + y, + width, + height + }; +} +function getPointer(event, element) { + var _a; + const touches = event && ((_a = event.touches || event.sourceEvent && event.sourceEvent.touches) == null ? void 0 : _a[0]); + let pointer = [0, 0]; + try { + pointer = src_pointer(touches || event, element); + } catch (e) { + } + return pointer.map((v) => isNaN(v) ? 0 : v); +} +function getBrushSelection(ctx) { + const { event, $el } = ctx; + const main = $el.subchart.main || $el.main; + let selection; + if (event && event.type === "brush") { + selection = event.selection; + } else if (main && (selection = main.select(".bb-brush").node())) { + selection = brushSelection(selection); + } + return selection; +} +function getBoundingRect(node) { + const needEvaluate = !("rect" in node) || "rect" in node && node.hasAttribute("width") && node.rect.width !== +node.getAttribute("width"); + return needEvaluate ? node.rect = node.getBoundingClientRect() : node.rect; +} +function getRandom(asStr = true, min = 0, max = 1e4) { + const crpt = win.crypto || win.msCrypto; + const rand = crpt ? min + crpt.getRandomValues(new Uint32Array(1))[0] % (max - min + 1) : Math.floor(Math.random() * (max - min) + min); + return asStr ? String(rand) : rand; +} +function findIndex(arr, v, start, end, isRotated) { + if (start > end) { + return -1; + } + const mid = Math.floor((start + end) / 2); + let { x, w = 0 } = arr[mid]; + if (isRotated) { + x = arr[mid].y; + w = arr[mid].h; + } + if (v >= x && v <= x + w) { + return mid; + } + return v < x ? findIndex(arr, v, start, mid - 1, isRotated) : findIndex(arr, v, mid + 1, end, isRotated); +} +function brushEmpty(ctx) { + const selection = getBrushSelection(ctx); + if (selection) { + return selection[0] === selection[1]; + } + return true; +} +function deepClone(...objectN) { + const clone = (v) => { + if (isObject(v) && v.constructor) { + const r = new v.constructor(); + for (const k in v) { + r[k] = clone(v[k]); + } + return r; + } + return v; + }; + return objectN.map((v) => clone(v)).reduce((a, c) => util_spreadValues(util_spreadValues({}, a), c)); +} +function util_extend(target = {}, source) { + if (isArray(source)) { + source.forEach((v) => util_extend(target, v)); + } + for (const p in source) { + if (/^\d+$/.test(p) || p in target) { + continue; + } + target[p] = source[p]; + } + return target; +} +const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1); +function camelize(str, separator = "-") { + return str.split(separator).map((v, i) => i ? v.charAt(0).toUpperCase() + v.slice(1).toLowerCase() : v.toLowerCase()).join(""); +} +const toArray = (v) => [].slice.call(v); +function addCssRules(style, selector, prop) { + const { rootSelector = "", sheet } = style; + const getSelector = (s) => s.replace(/\s?(bb-)/g, ".$1").replace(/\.+/g, "."); + const rule = `${rootSelector} ${getSelector(selector)} {${prop.join(";")}}`; + return sheet[sheet.insertRule ? "insertRule" : "addRule"]( + rule, + sheet.cssRules.length + ); +} +function getCssRules(styleSheets) { + let rules = []; + styleSheets.forEach((sheet) => { + var _a; + try { + if (sheet.cssRules && sheet.cssRules.length) { + rules = rules.concat(toArray(sheet.cssRules)); + } + } catch (e) { + (_a = win.console) == null ? void 0 : _a.warn(`Error while reading rules from ${sheet.href}: ${e.toString()}`); + } + }); + return rules; +} +function getScrollPosition(node) { + var _a, _b, _c, _d, _e, _f; + return { + x: ((_b = (_a = win.pageXOffset) != null ? _a : win.scrollX) != null ? _b : 0) + ((_c = node.scrollLeft) != null ? _c : 0), + y: ((_e = (_d = win.pageYOffset) != null ? _d : win.scrollY) != null ? _e : 0) + ((_f = node.scrollTop) != null ? _f : 0) + }; +} +function getTransformCTM(node, x = 0, y = 0, inverse = true) { + const point = new DOMPoint(x, y); + const screen = node.getScreenCTM(); + const res = point.matrixTransform( + inverse ? screen == null ? void 0 : screen.inverse() : screen + ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; +} +function getTranslation(node) { + const transform = node ? node.transform : null; + const baseVal = transform && transform.baseVal; + return baseVal && baseVal.numberOfItems ? baseVal.getItem(0).matrix : { a: 0, b: 0, c: 0, d: 0, e: 0, f: 0 }; +} +function getUnique(data) { + const isDate = data[0] instanceof Date; + const d = (isDate ? data.map(Number) : data).filter((v, i, self) => self.indexOf(v) === i); + return isDate ? d.map((v) => new Date(v)) : d; +} +function mergeArray(arr) { + return arr && arr.length ? arr.reduce((p, c) => p.concat(c)) : []; +} +function mergeObj(target, ...objectN) { + if (!objectN.length || objectN.length === 1 && !objectN[0]) { + return target; + } + const source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach((key) => { + const value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj(target, ...objectN); +} +function sortValue(data, isAsc = true) { + let fn; + if (data[0] instanceof Date) { + fn = isAsc ? (a, b) => a - b : (a, b) => b - a; + } else { + if (isAsc && !data.every(isNaN)) { + fn = (a, b) => a - b; + } else if (!isAsc) { + fn = (a, b) => a > b && -1 || a < b && 1 || a === b && 0; + } + } + return data.concat().sort(fn); +} +function getMinMax(type, data) { + let res = data.filter((v) => notEmpty(v)); + if (res.length) { + if (isNumber(res[0])) { + res = Math[type](...res); + } else if (res[0] instanceof Date) { + res = sortValue(res, type === "min")[0]; + } + } else { + res = void 0; + } + return res; +} +const getRange = (start, end, step = 1) => { + const res = []; + const n = Math.max(0, Math.ceil((end - start) / step)) | 0; + for (let i = start; i < n; i++) { + res.push(start + i * step); + } + return res; +}; +const emulateEvent = { + mouse: (() => { + const getParams = () => ({ + bubbles: false, + cancelable: false, + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0 + }); + try { + new MouseEvent("t"); + return (el, eventType, params = getParams()) => { + el.dispatchEvent(new MouseEvent(eventType, params)); + }; + } catch (e) { + return (el, eventType, params = getParams()) => { + const mouseEvent = doc.createEvent("MouseEvent"); + mouseEvent.initMouseEvent( + eventType, + params.bubbles, + params.cancelable, + win, + 0, + // the event's mouse click count + params.screenX, + params.screenY, + params.clientX, + params.clientY, + false, + false, + false, + false, + 0, + null + ); + el.dispatchEvent(mouseEvent); + }; + } + })(), + touch: (el, eventType, params) => { + const touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}; +function tplProcess(tpl, data) { + let res = tpl; + for (const x in data) { + res = res.replace(new RegExp(`{=${x}}`, "g"), data[x]); + } + return res; +} +function parseDate(date) { + var _a; + let parsedDate; + if (date instanceof Date) { + parsedDate = date; + } else if (isString(date)) { + const { config, format } = this; + parsedDate = (_a = format.dataTime(config.data_xFormat)(date)) != null ? _a : new Date(date); + } else if (isNumber(date) && !isNaN(date)) { + parsedDate = /* @__PURE__ */ new Date(+date); + } + if (!parsedDate || isNaN(+parsedDate)) { + console && console.error && console.error(`Failed to parse x '${date}' to Date object`); + } + return parsedDate; +} +function hasViewBox(svg) { + const attr = svg.attr("viewBox"); + return attr ? /(\d+(\.\d+)?){3}/.test(attr) : false; +} +function hasStyle(node, condition, all = false) { + const isD3Node = !!node.node; + let has = false; + for (const [key, value] of Object.entries(condition)) { + has = isD3Node ? node.style(key) === value : node.style[key] === value; + if (all === false && has) { + break; + } + } + return has; +} +function isTabVisible() { + var _a, _b; + return ((_a = doc) == null ? void 0 : _a.hidden) === false || ((_b = doc) == null ? void 0 : _b.visibilityState) === "visible"; +} +function convertInputType(mouse, touch) { + const { DocumentTouch, matchMedia, navigator } = win; + const hasPointerCoarse = matchMedia == null ? void 0 : matchMedia("(pointer:coarse)").matches; + let hasTouch = false; + if (touch) { + if (navigator && "maxTouchPoints" in navigator) { + hasTouch = navigator.maxTouchPoints > 0; + } else if ("ontouchmove" in win || DocumentTouch && doc instanceof DocumentTouch) { + hasTouch = true; + } else { + if (hasPointerCoarse) { + hasTouch = true; + } else { + const UA = navigator.userAgent; + hasTouch = /\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(UA) || /\b(Android|Windows Phone|iPad|iPod)\b/i.test(UA); + } + } + } + const hasMouse = mouse && !hasPointerCoarse && (matchMedia == null ? void 0 : matchMedia("(pointer:fine)").matches); + return hasMouse && "mouse" || hasTouch && "touch" || "mouse"; +} +function runUntil(fn, conditionFn) { + if (conditionFn() === false) { + requestAnimationFrame(() => runUntil(fn, conditionFn)); + } else { + fn(); + } +} + +;// ./src/config/config.ts + +function loadConfig(config) { + const thisConfig = this.config; + let target; + let keys; + let read; + const find = () => { + const key = keys.shift(); + if (key && target && isObjectType(target) && key in target) { + target = target[key]; + return find(); + } else if (!key) { + return target; + } + return void 0; + }; + Object.keys(thisConfig).forEach((key) => { + target = config; + keys = key.split("_"); + read = find(); + if (isDefined(read)) { + thisConfig[key] = read; + } + }); + if (this.api) { + this.state.orgConfig = config; + } +} + +;// ./src/Plugin/Plugin.ts +var Plugin_defProp = Object.defineProperty; +var Plugin_defNormalProp = (obj, key, value) => key in obj ? Plugin_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => Plugin_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); +class Plugin { + /** + * Constructor + * @param {Any} options config option object + * @private + */ + constructor(options = {}) { + __publicField(this, "$$"); + __publicField(this, "options"); + this.options = options; + } + /** + * Lifecycle hook for 'beforeInit' phase. + * @private + */ + $beforeInit() { + } + /** + * Lifecycle hook for 'init' phase. + * @private + */ + $init() { + } + /** + * Lifecycle hook for 'afterInit' phase. + * @private + */ + $afterInit() { + } + /** + * Lifecycle hook for 'redraw' phase. + * @private + */ + $redraw() { + } + /** + * Lifecycle hook for 'willDestroy' phase. + * @private + */ + $willDestroy() { + Object.keys(this).forEach((key) => { + this[key] = null; + delete this[key]; + }); + } +} +__publicField(Plugin, "version", "3.14.2"); + +;// ./node_modules/d3-axis/src/identity.js +/* harmony default export */ function d3_axis_src_identity(x) { + return x; +} + +;// ./node_modules/d3-axis/src/axis.js + +var axis_top = 1, right = 2, bottom = 3, left = 4, epsilon = 1e-6; +function translateX(x) { + return "translate(" + x + ",0)"; +} +function translateY(y) { + return "translate(0," + y + ")"; +} +function axis_number(scale) { + return (d) => +scale(d); +} +function center(scale, offset) { + offset = Math.max(0, scale.bandwidth() - offset * 2) / 2; + if (scale.round()) offset = Math.round(offset); + return (d) => +scale(d) + offset; +} +function entering() { + return !this.__axis; +} +function axis(orient, scale) { + var tickArguments = [], tickValues = null, tickFormat = null, tickSizeInner = 6, tickSizeOuter = 6, tickPadding = 3, offset = typeof window !== "undefined" && window.devicePixelRatio > 1 ? 0 : 0.5, k = orient === axis_top || orient === left ? -1 : 1, x = orient === left || orient === right ? "x" : "y", transform = orient === axis_top || orient === bottom ? translateX : translateY; + function axis2(context) { + var values = tickValues == null ? scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain() : tickValues, format = tickFormat == null ? scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : d3_axis_src_identity : tickFormat, spacing = Math.max(tickSizeInner, 0) + tickPadding, range = scale.range(), range0 = +range[0] + offset, range1 = +range[range.length - 1] + offset, position = (scale.bandwidth ? center : axis_number)(scale.copy(), offset), selection = context.selection ? context.selection() : context, path = selection.selectAll(".domain").data([null]), tick = selection.selectAll(".tick").data(values, scale).order(), tickExit = tick.exit(), tickEnter = tick.enter().append("g").attr("class", "tick"), line = tick.select("line"), text = tick.select("text"); + path = path.merge(path.enter().insert("path", ".tick").attr("class", "domain").attr("stroke", "currentColor")); + tick = tick.merge(tickEnter); + line = line.merge(tickEnter.append("line").attr("stroke", "currentColor").attr(x + "2", k * tickSizeInner)); + text = text.merge(tickEnter.append("text").attr("fill", "currentColor").attr(x, k * spacing).attr("dy", orient === axis_top ? "0em" : orient === bottom ? "0.71em" : "0.32em")); + if (context !== selection) { + path = path.transition(context); + tick = tick.transition(context); + line = line.transition(context); + text = text.transition(context); + tickExit = tickExit.transition(context).attr("opacity", epsilon).attr("transform", function(d) { + return isFinite(d = position(d)) ? transform(d + offset) : this.getAttribute("transform"); + }); + tickEnter.attr("opacity", epsilon).attr("transform", function(d) { + var p = this.parentNode.__axis; + return transform((p && isFinite(p = p(d)) ? p : position(d)) + offset); + }); + } + tickExit.remove(); + path.attr("d", orient === left || orient === right ? tickSizeOuter ? "M" + k * tickSizeOuter + "," + range0 + "H" + offset + "V" + range1 + "H" + k * tickSizeOuter : "M" + offset + "," + range0 + "V" + range1 : tickSizeOuter ? "M" + range0 + "," + k * tickSizeOuter + "V" + offset + "H" + range1 + "V" + k * tickSizeOuter : "M" + range0 + "," + offset + "H" + range1); + tick.attr("opacity", 1).attr("transform", function(d) { + return transform(position(d) + offset); + }); + line.attr(x + "2", k * tickSizeInner); + text.attr(x, k * spacing).text(format); + selection.filter(entering).attr("fill", "none").attr("font-size", 10).attr("font-family", "sans-serif").attr("text-anchor", orient === right ? "start" : orient === left ? "end" : "middle"); + selection.each(function() { + this.__axis = position; + }); + } + axis2.scale = function(_) { + return arguments.length ? (scale = _, axis2) : scale; + }; + axis2.ticks = function() { + return tickArguments = Array.from(arguments), axis2; + }; + axis2.tickArguments = function(_) { + return arguments.length ? (tickArguments = _ == null ? [] : Array.from(_), axis2) : tickArguments.slice(); + }; + axis2.tickValues = function(_) { + return arguments.length ? (tickValues = _ == null ? null : Array.from(_), axis2) : tickValues && tickValues.slice(); + }; + axis2.tickFormat = function(_) { + return arguments.length ? (tickFormat = _, axis2) : tickFormat; + }; + axis2.tickSize = function(_) { + return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis2) : tickSizeInner; + }; + axis2.tickSizeInner = function(_) { + return arguments.length ? (tickSizeInner = +_, axis2) : tickSizeInner; + }; + axis2.tickSizeOuter = function(_) { + return arguments.length ? (tickSizeOuter = +_, axis2) : tickSizeOuter; + }; + axis2.tickPadding = function(_) { + return arguments.length ? (tickPadding = +_, axis2) : tickPadding; + }; + axis2.offset = function(_) { + return arguments.length ? (offset = +_, axis2) : offset; + }; + return axis2; +} +function axisTop(scale) { + return axis(axis_top, scale); +} +function axisRight(scale) { + return axis(right, scale); +} +function axisBottom(scale) { + return axis(bottom, scale); +} +function axisLeft(scale) { + return axis(left, scale); +} + +;// ./src/Plugin/stanford/classes.ts +/* harmony default export */ var stanford_classes = ({ + colorScale: "bb-colorscale", + stanfordElements: "bb-stanford-elements", + stanfordLine: "bb-stanford-line", + stanfordLines: "bb-stanford-lines", + stanfordRegion: "bb-stanford-region", + stanfordRegions: "bb-stanford-regions" +}); + +;// ./src/Plugin/stanford/ColorScale.ts +var ColorScale_defProp = Object.defineProperty; +var ColorScale_defNormalProp = (obj, key, value) => key in obj ? ColorScale_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var ColorScale_publicField = (obj, key, value) => ColorScale_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + + +class ColorScale { + constructor(owner) { + ColorScale_publicField(this, "owner"); + ColorScale_publicField(this, "colorScale"); + this.owner = owner; + } + drawColorScale() { + const { $$, config } = this.owner; + const target = $$.data.targets[0]; + const height = $$.state.height - config.padding_bottom - config.padding_top; + const barWidth = config.scale_width; + const barHeight = 5; + const points = getRange(config.padding_bottom, height, barHeight); + const inverseScale = sequential(target.colors).domain([points[points.length - 1], points[0]]); + if (this.colorScale) { + this.colorScale.remove(); + } + this.colorScale = $$.$el.svg.append("g").attr("width", 50).attr("height", height).attr("class", stanford_classes.colorScale); + this.colorScale.append("g").attr("transform", `translate(0, ${config.padding_top})`).selectAll("bars").data(points).enter().append("rect").attr("y", (d, i) => i * barHeight).attr("x", 0).attr("width", barWidth).attr("height", barHeight).attr("fill", (d) => inverseScale(d)); + const axisScale = symlog().domain([target.minEpochs, target.maxEpochs]).range([ + points[0] + config.padding_top + points[points.length - 1] + barHeight - 1, + points[0] + config.padding_top + ]); + const legendAxis = axisRight(axisScale); + const scaleFormat = config.scale_format; + if (scaleFormat === "pow10") { + legendAxis.tickValues([1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7]); + } else if (isFunction(scaleFormat)) { + legendAxis.tickFormat(scaleFormat); + } else { + legendAxis.tickFormat(format("d")); + } + const axis = this.colorScale.append("g").attr("class", "legend axis").attr("transform", `translate(${barWidth},0)`).call(legendAxis); + if (scaleFormat === "pow10") { + axis.selectAll(".tick text").text(null).filter((d) => d / Math.pow(10, Math.ceil(Math.log(d) / Math.LN10 - 1e-12)) === 1).text(10).append("tspan").attr("dy", "-.7em").text((d) => Math.round(Math.log(d) / Math.LN10)); + } + this.colorScale.attr( + "transform", + `translate(${$$.state.current.width - this.xForColorScale()}, 0)` + ); + } + xForColorScale() { + return this.owner.config.padding_right + this.colorScale.node().getBBox().width; + } + getColorScalePadding() { + return this.xForColorScale() + this.owner.config.padding_left + 20; + } +} + +;// ./src/Plugin/stanford/util.ts + +function pointInRegion(point, region) { + const x = point.x; + const y = point.value; + let inside = false; + for (let i = 0, j = region.length - 1; i < region.length; j = i++) { + const xi = region[i].x; + const yi = region[i].y; + const xj = region[j].x; + const yj = region[j].y; + const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi; + if (intersect) { + inside = !inside; + } + } + return inside; +} +function compareEpochs(a, b) { + if (a.epochs < b.epochs) { + return -1; + } + if (a.epochs > b.epochs) { + return 1; + } + return 0; +} +function getRegionArea(points) { + let area = 0; + let point1; + let point2; + for (let i = 0, l = points.length, j = l - 1; i < l; j = i, i++) { + point1 = points[i]; + point2 = points[j]; + area += point1.x * point2.y; + area -= point1.y * point2.x; + } + area /= 2; + return area; +} +function getCentroid(points) { + const area = getRegionArea(points); + let x = 0; + let y = 0; + let f; + for (let i = 0, l = points.length, j = l - 1; i < l; j = i, i++) { + const point1 = points[i]; + const point2 = points[j]; + f = point1.x * point2.y - point2.x * point1.y; + x += (point1.x + point2.x) * f; + y += (point1.y + point2.y) * f; + } + f = area * 6; + return { + x: x / f, + y: y / f + }; +} + + +;// ./src/Plugin/stanford/Elements.ts +var Elements_defProp = Object.defineProperty; +var Elements_defNormalProp = (obj, key, value) => key in obj ? Elements_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var Elements_publicField = (obj, key, value) => Elements_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + +class Elements { + constructor(owner) { + Elements_publicField(this, "owner"); + this.owner = owner; + const elements = owner.$$.$el.main.select(".bb-chart").append("g").attr("class", stanford_classes.stanfordElements); + elements.append("g").attr("class", stanford_classes.stanfordLines); + elements.append("g").attr("class", stanford_classes.stanfordRegions); + } + updateStanfordLines(duration) { + const { $$ } = this.owner; + const { config, $el: { main } } = $$; + const isRotated = config.axis_rotated; + const xvCustom = this.xvCustom.bind($$); + const yvCustom = this.yvCustom.bind($$); + const stanfordLine = main.select(`.${stanford_classes.stanfordLines}`).style("shape-rendering", "geometricprecision").selectAll(`.${stanford_classes.stanfordLine}`).data(this.owner.config.lines); + stanfordLine.exit().transition().duration(duration).style("opacity", "0").remove(); + const stanfordLineEnter = stanfordLine.enter().append("g"); + stanfordLineEnter.append("line").style("opacity", "0"); + stanfordLineEnter.merge(stanfordLine).attr("class", (d) => stanford_classes.stanfordLine + (d.class ? ` ${d.class}` : "")).select("line").transition().duration(duration).attr("x1", (d) => { + const v = isRotated ? yvCustom(d, "y1") : xvCustom(d, "x1"); + return v; + }).attr("x2", (d) => isRotated ? yvCustom(d, "y2") : xvCustom(d, "x2")).attr("y1", (d) => { + const v = isRotated ? xvCustom(d, "x1") : yvCustom(d, "y1"); + return v; + }).attr("y2", (d) => isRotated ? xvCustom(d, "x2") : yvCustom(d, "y2")).transition().style("opacity", null); + } + updateStanfordRegions(duration) { + const { $$ } = this.owner; + const { config, $el: { main } } = $$; + const isRotated = config.axis_rotated; + const xvCustom = this.xvCustom.bind($$); + const yvCustom = this.yvCustom.bind($$); + const countPointsInRegion = this.owner.countEpochsInRegion.bind($$); + let stanfordRegion = main.select(`.${stanford_classes.stanfordRegions}`).selectAll(`.${stanford_classes.stanfordRegion}`).data(this.owner.config.regions); + stanfordRegion.exit().transition().duration(duration).style("opacity", "0").remove(); + const stanfordRegionEnter = stanfordRegion.enter().append("g"); + stanfordRegionEnter.append("polygon").style("opacity", "0"); + stanfordRegionEnter.append("text").attr("transform", isRotated ? "rotate(-90)" : "").style("opacity", "0"); + stanfordRegion = stanfordRegionEnter.merge(stanfordRegion); + stanfordRegion.attr("class", (d) => stanford_classes.stanfordRegion + (d.class ? ` ${d.class}` : "")).select("polygon").transition().duration(duration).attr("points", (d) => d.points.map( + (value) => [ + isRotated ? yvCustom(value, "y") : xvCustom(value, "x"), + isRotated ? xvCustom(value, "x") : yvCustom(value, "y") + ].join(",") + ).join(" ")).transition().style("opacity", (d) => String(d.opacity ? d.opacity : 0.2)); + stanfordRegion.select("text").transition().duration(duration).attr( + "x", + (d) => isRotated ? yvCustom(getCentroid(d.points), "y") : xvCustom(getCentroid(d.points), "x") + ).attr( + "y", + (d) => isRotated ? xvCustom(getCentroid(d.points), "x") : yvCustom(getCentroid(d.points), "y") + ).text((d) => { + if (d.text) { + const { value, percentage } = countPointsInRegion(d.points); + return d.text(value, percentage); + } + return ""; + }).attr("text-anchor", "middle").attr("dominant-baseline", "middle").transition().style("opacity", null); + } + updateStanfordElements(duration = 0) { + this.updateStanfordLines(duration); + this.updateStanfordRegions(duration); + } + xvCustom(d, xyValue) { + const $$ = this; + const { axis, config } = $$; + let value = xyValue ? d[xyValue] : $$.getBaseValue(d); + if (axis.isTimeSeries()) { + value = parseDate.call($$, value); + } else if (axis.isCategorized() && isString(value)) { + value = config.axis_x_categories.indexOf(d.value); + } + return $$.scale.x(value); + } + yvCustom(d, xyValue) { + const $$ = this; + const yScale = d.axis && d.axis === "y2" ? $$.scale.y2 : $$.scale.y; + const value = xyValue ? d[xyValue] : $$.getBaseValue(d); + return yScale(value); + } +} + +;// ./src/Plugin/stanford/Options.ts +class Options { + constructor() { + return { + /** + * Set the color of the color scale. This function receives a value between 0 and 1, and should return a color. + * @name colors + * @memberof plugin-stanford + * @type {Function} + * @default undefined + * @example + * colors: d3.interpolateHslLong( + * d3.hsl(250, 1, 0.5), d3.hsl(0, 1, 0.5) + * ) + */ + colors: void 0, + /** + * Specify the key of epochs values in the data. + * @name epochs + * @memberof plugin-stanford + * @type {Array} + * @default [] + * @example + * epochs: [ 1, 1, 2, 2, ... ] + */ + epochs: [], + /** + * Show additional lines anywhere on the chart. + * - Each line object should consist with following options: + * + * | Key | Type | Description | + * | --- | --- | --- | + * | x1 | Number | Starting position on the x axis | + * | y1 | Number | Starting position on the y axis | + * | x2 | Number | Ending position on the x axis | + * | y2 | Number | Ending position on the y axis | + * | class | String | Optional value. Set a custom css class to this line. | + * @type {Array} + * @memberof plugin-stanford + * @default [] + * @example + * lines: [ + * { x1: 0, y1: 0, x2: 65, y2: 65, class: "line1" }, + * { x1: 0, x2: 65, y1: 40, y2: 40, class: "line2" } + * ] + */ + lines: [], + /** + * Set scale values + * @name scale + * @memberof plugin-stanford + * @type {object} + * @property {object} [scale] scale object + * @property {number} [scale.min=undefined] Minimum value of the color scale. Default: lowest value in epochs + * @property {number} [scale.max=undefined] Maximum value of the color scale. Default: highest value in epochs + * @property {number} [scale.width=20] Width of the color scale + * @property {string|Function} [scale.format=undefined] Format of the axis of the color scale. Use 'pow10' to format as powers of 10 or a custom function. Example: d3.format("d") + * @example + * scale: { + * max: 10000, + * min: 1, + * width: 500, + * + * // specify 'pow10' to format as powers of 10 + * format: "pow10", + * + * // or specify a format function + * format: function(x) { + * return x +"%"; + * } + * }, + */ + scale_min: void 0, + scale_max: void 0, + scale_width: 20, + scale_format: void 0, + /** + * The padding for color scale element + * @name padding + * @memberof plugin-stanford + * @type {object} + * @property {object} [padding] padding object + * @property {number} [padding.top=0] Top padding value. + * @property {number} [padding.right=0] Right padding value. + * @property {number} [padding.bottom=0] Bottom padding value. + * @property {number} [padding.left=0] Left padding value. + * @example + * padding: { + * top: 15, + * right: 0, + * bottom: 0, + * left: 0 + * }, + */ + padding_top: 0, + padding_right: 0, + padding_bottom: 0, + padding_left: 0, + /** + * Show additional regions anywhere on the chart. + * - Each region object should consist with following options: + * + * | Key | Type | Default | Attributes | Description | + * | --- | --- | --- | --- | --- | + * | points | Array | | | Accepts a group of objects that has x and y.<br>These points should be added in a counter-clockwise fashion to make a closed polygon. | + * | opacity | Number | `0.2` | <optional> | Sets the opacity of the region as value between 0 and 1 | + * | text | Function | | <optional> | This function receives a value and percentage of the number of epochs in this region.<br>Return a string to place text in the middle of the region. | + * | class | String | | <optional> | Se a custom css class to this region, use the fill property in css to set a background color. | + * @name regions + * @memberof plugin-stanford + * @type {Array} + * @default [] + * @example + * regions: [ + * { + * points: [ // add points counter-clockwise + * { x: 0, y: 0 }, + * { x: 40, y: 40 }, + * { x: 0, y: 40 }, + * ], + * text: function (value, percentage) { + * return `Normal Operations: ${value} (${percentage}%)`; + * }, + * opacity: 0.2, // 0 to 1 + * class: "test-polygon1" + * }, + * ... + * ] + */ + regions: [] + }; + } +} + +;// ./src/Plugin/stanford/index.ts +var stanford_defProp = Object.defineProperty; +var stanford_defNormalProp = (obj, key, value) => key in obj ? stanford_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var stanford_publicField = (obj, key, value) => stanford_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + + + + + + + +class Stanford extends Plugin { + constructor(options) { + super(options); + stanford_publicField(this, "config"); + stanford_publicField(this, "colorScale"); + stanford_publicField(this, "elements"); + this.config = new Options(); + return this; + } + $beforeInit() { + const { $$ } = this; + $$.config.data_xSort = false; + $$.isMultipleX = () => true; + $$.showGridFocus = () => { + }; + $$.labelishData = (d) => d.values; + $$.opacityForCircle = () => 1; + const getCurrentPadding = $$.getCurrentPadding.bind($$); + $$.getCurrentPadding = () => { + const padding = getCurrentPadding(); + padding.right += this.colorScale ? this.colorScale.getColorScalePadding() : 0; + return padding; + }; + } + $init() { + const { $$ } = this; + loadConfig.call(this, this.options); + $$.color = this.getStanfordPointColor.bind($$); + this.colorScale = new ColorScale(this); + this.elements = new Elements(this); + this.convertData(); + this.initStanfordData(); + this.setStanfordTooltip(); + this.colorScale.drawColorScale(); + $$.right += this.colorScale ? this.colorScale.getColorScalePadding() : 0; + this.$redraw(); + } + $redraw(duration) { + var _a, _b; + (_a = this.colorScale) == null ? void 0 : _a.drawColorScale(); + (_b = this.elements) == null ? void 0 : _b.updateStanfordElements(duration); + } + getOptions() { + return new Options(); + } + convertData() { + const data = this.$$.data.targets; + const epochs = this.options.epochs; + data.forEach((d) => { + d.values.forEach((v, i) => { + v.epochs = epochs[i]; + }); + d.minEpochs = void 0; + d.maxEpochs = void 0; + d.colors = void 0; + d.colorscale = void 0; + }); + } + initStanfordData() { + const { config } = this; + const target = this.$$.data.targets[0]; + target.values.sort(compareEpochs); + const epochs = target.values.map((a) => a.epochs); + target.minEpochs = !isNaN(config.scale_min) ? config.scale_min : Math.min(...epochs); + target.maxEpochs = !isNaN(config.scale_max) ? config.scale_max : Math.max(...epochs); + target.colors = isFunction(config.colors) ? config.colors : hslLong(hsl(250, 1, 0.5), hsl(0, 1, 0.5)); + target.colorscale = sequentialLog(target.colors).domain([target.minEpochs, target.maxEpochs]); + } + getStanfordPointColor(d) { + const target = this.data.targets[0]; + return target.colorscale(d.epochs); + } + setStanfordTooltip() { + const { config } = this.$$; + if (isEmpty(config.tooltip_contents)) { + config.tooltip_contents = function(d, defaultTitleFormat, defaultValueFormat, color) { + const { data_x } = config; + let html = `<table class="${$TOOLTIP.tooltip}"><tbody>`; + d.forEach((v) => { + const { id = "", value = 0, epochs = 0, x = "" } = v; + html += `<tr> + <th>${data_x || ""}</th> + <th class="value">${defaultTitleFormat(x)}</th> + </tr> + <tr> + <th>${v.id}</th> + <th class="value">${defaultValueFormat(value)}</th> + </tr> + <tr class="${$TOOLTIP.tooltipName}-${id}"> + <td class="name"><span style="background-color:${color(v)}"></span>Epochs</td> + <td class="value">${defaultValueFormat(epochs)}</td> + </tr>`; + }); + return `${html}</tbody></table>`; + }; + } + } + countEpochsInRegion(region) { + const $$ = this; + const target = $$.data.targets[0]; + const total = target.values.reduce( + (accumulator, currentValue) => accumulator + Number(currentValue.epochs), + 0 + ); + const value = target.values.reduce((accumulator, currentValue) => { + if (pointInRegion(currentValue, region)) { + return accumulator + Number(currentValue.epochs); + } + return accumulator; + }, 0); + return { + value, + percentage: value !== 0 ? +(value / total * 100).toFixed(1) : 0 + }; + } +} + + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module used 'module' so it can't be inlined +/******/ __webpack_require__(0); +/******/ var __webpack_exports__ = __webpack_require__(578); +/******/ __webpack_exports__ = __webpack_exports__["default"]; +/******/ +/******/ return __webpack_exports__; +/******/ })() +; +}); \ No newline at end of file diff --git a/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-stanford.pkgd.min.js b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-stanford.pkgd.min.js new file mode 100644 index 000000000..c249d6c31 --- /dev/null +++ b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-stanford.pkgd.min.js @@ -0,0 +1,27 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */(function(qr,Gr){typeof exports=="object"&&typeof module=="object"?module.exports=Gr():typeof define=="function"&&define.amd?define("bb",[],Gr):typeof exports=="object"?exports.bb=Gr():(qr.bb=qr.bb||{},qr.bb.plugin=qr.bb.plugin||{},qr.bb.plugin["stanford.pkgd"]=Gr())})(this,function(){return function(){"use strict";var Ne={33539:function(u,h,t){t.d(h,{default:function(){return mf}});function n(r,o,l){r.prototype=o.prototype=l,l.constructor=r}function e(r,o){var l=Object.create(r.prototype);for(var g in o)l[g]=o[g];return l}function a(){}var s=.7,i=1/s,f="\\s*([+-]?\\d+)\\s*",c="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",v="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",d=/^#([0-9a-f]{3,8})$/,p=new RegExp(`^rgb\\(${f},${f},${f}\\)$`),y=new RegExp(`^rgb\\(${v},${v},${v}\\)$`),m=new RegExp(`^rgba\\(${f},${f},${f},${c}\\)$`),S=new RegExp(`^rgba\\(${v},${v},${v},${c}\\)$`),I=new RegExp(`^hsl\\(${c},${v},${v}\\)$`),E=new RegExp(`^hsla\\(${c},${v},${v},${c}\\)$`),R={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};n(a,A,{copy(r){return Object.assign(new this.constructor,this,r)},displayable(){return this.rgb().displayable()},hex:N,formatHex:N,formatHex8:P,formatHsl:C,formatRgb:b,toString:b});function N(){return this.rgb().formatHex()}function P(){return this.rgb().formatHex8()}function C(){return q(this).formatHsl()}function b(){return this.rgb().formatRgb()}function A(r){var o,l;return r=(r+"").trim().toLowerCase(),(o=d.exec(r))?(l=o[1].length,o=parseInt(o[1],16),l===6?M(o):l===3?new j(o>>8&15|o>>4&240,o>>4&15|o&240,(o&15)<<4|o&15,1):l===8?F(o>>24&255,o>>16&255,o>>8&255,(o&255)/255):l===4?F(o>>12&15|o>>8&240,o>>8&15|o>>4&240,o>>4&15|o&240,((o&15)<<4|o&15)/255):null):(o=p.exec(r))?new j(o[1],o[2],o[3],1):(o=y.exec(r))?new j(o[1]*255/100,o[2]*255/100,o[3]*255/100,1):(o=m.exec(r))?F(o[1],o[2],o[3],o[4]):(o=S.exec(r))?F(o[1]*255/100,o[2]*255/100,o[3]*255/100,o[4]):(o=I.exec(r))?tt(o[1],o[2]/100,o[3]/100,1):(o=E.exec(r))?tt(o[1],o[2]/100,o[3]/100,o[4]):R.hasOwnProperty(r)?M(R[r]):r==="transparent"?new j(NaN,NaN,NaN,0):null}function M(r){return new j(r>>16&255,r>>8&255,r&255,1)}function F(r,o,l,g){return g<=0&&(r=o=l=NaN),new j(r,o,l,g)}function B(r){return r instanceof a||(r=A(r)),r?(r=r.rgb(),new j(r.r,r.g,r.b,r.opacity)):new j}function U(r,o,l,g){return arguments.length===1?B(r):new j(r,o,l,g==null?1:g)}function j(r,o,l,g){this.r=+r,this.g=+o,this.b=+l,this.opacity=+g}n(j,U,e(a,{brighter(r){return r=r==null?i:Math.pow(i,r),new j(this.r*r,this.g*r,this.b*r,this.opacity)},darker(r){return r=r==null?s:Math.pow(s,r),new j(this.r*r,this.g*r,this.b*r,this.opacity)},rgb(){return this},clamp(){return new j(V(this.r),V(this.g),V(this.b),G(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:W,formatHex:W,formatHex8:z,formatRgb:w,toString:w}));function W(){return`#${X(this.r)}${X(this.g)}${X(this.b)}`}function z(){return`#${X(this.r)}${X(this.g)}${X(this.b)}${X((isNaN(this.opacity)?1:this.opacity)*255)}`}function w(){const r=G(this.opacity);return`${r===1?"rgb(":"rgba("}${V(this.r)}, ${V(this.g)}, ${V(this.b)}${r===1?")":`, ${r})`}`}function G(r){return isNaN(r)?1:Math.max(0,Math.min(1,r))}function V(r){return Math.max(0,Math.min(255,Math.round(r)||0))}function X(r){return r=V(r),(r<16?"0":"")+r.toString(16)}function tt(r,o,l,g){return g<=0?r=o=l=NaN:l<=0||l>=1?r=o=NaN:o<=0&&(r=NaN),new Z(r,o,l,g)}function q(r){if(r instanceof Z)return new Z(r.h,r.s,r.l,r.opacity);if(r instanceof a||(r=A(r)),!r)return new Z;if(r instanceof Z)return r;r=r.rgb();var o=r.r/255,l=r.g/255,g=r.b/255,x=Math.min(o,l,g),O=Math.max(o,l,g),T=NaN,D=O-x,$=(O+x)/2;return D?(o===O?T=(l-g)/D+(l<g)*6:l===O?T=(g-o)/D+2:T=(o-l)/D+4,D/=$<.5?O+x:2-O-x,T*=60):D=$>0&&$<1?0:T,new Z(T,D,$,r.opacity)}function rt(r,o,l,g){return arguments.length===1?q(r):new Z(r,o,l,g==null?1:g)}function Z(r,o,l,g){this.h=+r,this.s=+o,this.l=+l,this.opacity=+g}n(Z,rt,e(a,{brighter(r){return r=r==null?i:Math.pow(i,r),new Z(this.h,this.s,this.l*r,this.opacity)},darker(r){return r=r==null?s:Math.pow(s,r),new Z(this.h,this.s,this.l*r,this.opacity)},rgb(){var r=this.h%360+(this.h<0)*360,o=isNaN(r)||isNaN(this.s)?0:this.s,l=this.l,g=l+(l<.5?l:1-l)*o,x=2*l-g;return new j(xt(r>=240?r-240:r+120,x,g),xt(r,x,g),xt(r<120?r+240:r-120,x,g),this.opacity)},clamp(){return new Z(mt(this.h),ht(this.s),ht(this.l),G(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const r=G(this.opacity);return`${r===1?"hsl(":"hsla("}${mt(this.h)}, ${ht(this.s)*100}%, ${ht(this.l)*100}%${r===1?")":`, ${r})`}`}}));function mt(r){return r=(r||0)%360,r<0?r+360:r}function ht(r){return Math.max(0,Math.min(1,r||0))}function xt(r,o,l){return(r<60?o+(l-o)*r/60:r<180?l:r<240?o+(l-o)*(240-r)/60:o)*255}var Rt=r=>()=>r;function Nt(r,o){return function(l){return r+l*o}}function Jt(r,o,l){return r=Math.pow(r,l),o=Math.pow(o,l)-r,l=1/l,function(g){return Math.pow(r+g*o,l)}}function Xt(r,o){var l=o-r;return l?Nt(r,l>180||l<-180?l-360*Math.round(l/360):l):Rt(isNaN(r)?o:r)}function jt(r){return(r=+r)==1?vt:function(o,l){return l-o?Jt(o,l,r):Rt(isNaN(o)?l:o)}}function vt(r,o){var l=o-r;return l?Nt(r,l):Rt(isNaN(r)?o:r)}function Et(r){return function(o,l){var g=r((o=rt(o)).h,(l=rt(l)).h),x=vt(o.s,l.s),O=vt(o.l,l.l),T=vt(o.opacity,l.opacity);return function(D){return o.h=g(D),o.s=x(D),o.l=O(D),o.opacity=T(D),o+""}}}var $t=Et(Xt),Bt=Et(vt);function Ft(r,o,l,g,x){var O=r*r,T=O*r;return((1-3*r+3*O-T)*o+(4-6*O+3*T)*l+(1+3*r+3*O-3*T)*g+T*x)/6}function Vt(r){var o=r.length-1;return function(l){var g=l<=0?l=0:l>=1?(l=1,o-1):Math.floor(l*o),x=r[g],O=r[g+1],T=g>0?r[g-1]:2*x-O,D=g<o-1?r[g+2]:2*O-x;return Ft((l-g/o)*o,T,x,O,D)}}function nr(r){var o=r.length;return function(l){var g=Math.floor(((l%=1)<0?++l:l)*o),x=r[(g+o-1)%o],O=r[g%o],T=r[(g+1)%o],D=r[(g+2)%o];return Ft((l-g/o)*o,x,O,T,D)}}var tr=function r(o){var l=jt(o);function g(x,O){var T=l((x=U(x)).r,(O=U(O)).r),D=l(x.g,O.g),$=l(x.b,O.b),L=vt(x.opacity,O.opacity);return function(H){return x.r=T(H),x.g=D(H),x.b=$(H),x.opacity=L(H),x+""}}return g.gamma=r,g}(1);function Zt(r){return function(o){var l=o.length,g=new Array(l),x=new Array(l),O=new Array(l),T,D;for(T=0;T<l;++T)D=U(o[T]),g[T]=D.r||0,x[T]=D.g||0,O[T]=D.b||0;return g=r(g),x=r(x),O=r(O),D.opacity=1,function($){return D.r=g($),D.g=x($),D.b=O($),D+""}}}var Ht=Zt(Vt),rr=Zt(nr);function Qt(r,o){return(isNumberArray(o)?numberArray:wt)(r,o)}function wt(r,o){var l=o?o.length:0,g=r?Math.min(l,r.length):0,x=new Array(g),O=new Array(l),T;for(T=0;T<g;++T)x[T]=ot(r[T],o[T]);for(;T<l;++T)O[T]=o[T];return function(D){for(T=0;T<g;++T)O[T]=x[T](D);return O}}function ft(r,o){var l=new Date;return r=+r,o=+o,function(g){return l.setTime(r*(1-g)+o*g),l}}function ct(r,o){return r=+r,o=+o,function(l){return r*(1-l)+o*l}}function nt(r,o){var l={},g={},x;(r===null||typeof r!="object")&&(r={}),(o===null||typeof o!="object")&&(o={});for(x in o)x in r?l[x]=ot(r[x],o[x]):g[x]=o[x];return function(O){for(x in l)g[x]=l[x](O);return g}}var Mt=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,bt=new RegExp(Mt.source,"g");function At(r){return function(){return r}}function Tt(r){return function(o){return r(o)+""}}function ur(r,o){var l=Mt.lastIndex=bt.lastIndex=0,g,x,O,T=-1,D=[],$=[];for(r=r+"",o=o+"";(g=Mt.exec(r))&&(x=bt.exec(o));)(O=x.index)>l&&(O=o.slice(l,O),D[T]?D[T]+=O:D[++T]=O),(g=g[0])===(x=x[0])?D[T]?D[T]+=x:D[++T]=x:(D[++T]=null,$.push({i:T,x:ct(g,x)})),l=bt.lastIndex;return l<o.length&&(O=o.slice(l),D[T]?D[T]+=O:D[++T]=O),D.length<2?$[0]?Tt($[0].x):At(o):(o=$.length,function(L){for(var H=0,K;H<o;++H)D[(K=$[H]).i]=K.x(L);return D.join("")})}function vr(r,o){o||(o=[]);var l=r?Math.min(o.length,r.length):0,g=o.slice(),x;return function(O){for(x=0;x<l;++x)g[x]=r[x]*(1-O)+o[x]*O;return g}}function Q(r){return ArrayBuffer.isView(r)&&!(r instanceof DataView)}function ot(r,o){var l=typeof o,g;return o==null||l==="boolean"?Rt(o):(l==="number"?ct:l==="string"?(g=A(o))?(o=g,tr):ur:o instanceof A?tr:o instanceof Date?ft:Q(o)?vr:Array.isArray(o)?wt:typeof o.valueOf!="function"&&typeof o.toString!="function"||isNaN(o)?nt:ct)(r,o)}function lt(r,o){return r=+r,o=+o,function(l){return Math.round(r*(1-l)+o*l)}}function st(r,o){return r==null||o==null?NaN:r<o?-1:r>o?1:r>=o?0:NaN}function yt(r,o){return r==null||o==null?NaN:o<r?-1:o>r?1:o>=r?0:NaN}function at(r){let o,l,g;r.length!==2?(o=st,l=(D,$)=>st(r(D),$),g=(D,$)=>r(D)-$):(o=r===st||r===yt?r:Lt,l=r,g=r);function x(D,$,L=0,H=D.length){if(L<H){if(o($,$)!==0)return H;do{const K=L+H>>>1;l(D[K],$)<0?L=K+1:H=K}while(L<H)}return L}function O(D,$,L=0,H=D.length){if(L<H){if(o($,$)!==0)return H;do{const K=L+H>>>1;l(D[K],$)<=0?L=K+1:H=K}while(L<H)}return L}function T(D,$,L=0,H=D.length){const K=x(D,$,L,H-1);return K>L&&g(D[K-1],$)>-g(D[K],$)?K-1:K}return{left:x,center:T,right:O}}function Lt(){return 0}function er(r){return r===null?NaN:+r}function*it(r,o){if(o===void 0)for(let l of r)l!=null&&(l=+l)>=l&&(yield l);else{let l=-1;for(let g of r)(g=o(g,++l,r))!=null&&(g=+g)>=g&&(yield g)}}const St=at(st),It=St.right,Ot=St.left,Wt=at(er).center;var _t=It;function ir(r){return function(){return r}}function lr(r){return+r}var mr=[0,1];function dr(r){return r}function Lr(r,o){return(o-=r=+r)?function(l){return(l-r)/o}:ir(isNaN(o)?NaN:.5)}function dn(r,o){var l;return r>o&&(l=r,r=o,o=l),function(g){return Math.max(r,Math.min(o,g))}}function Nn(r,o,l){var g=r[0],x=r[1],O=o[0],T=o[1];return x<g?(g=Lr(x,g),O=l(T,O)):(g=Lr(g,x),O=l(O,T)),function(D){return O(g(D))}}function hn(r,o,l){var g=Math.min(r.length,o.length)-1,x=new Array(g),O=new Array(g),T=-1;for(r[g]<r[0]&&(r=r.slice().reverse(),o=o.slice().reverse());++T<g;)x[T]=Lr(r[T],r[T+1]),O[T]=l(o[T],o[T+1]);return function(D){var $=_t(r,D,1,g)-1;return O[$](x[$](D))}}function _r(r,o){return o.domain(r.domain()).range(r.range()).interpolate(r.interpolate()).clamp(r.clamp()).unknown(r.unknown())}function jr(){var r=mr,o=mr,l=ot,g,x,O,T=dr,D,$,L;function H(){var _=Math.min(r.length,o.length);return T!==dr&&(T=dn(r[0],r[_-1])),D=_>2?hn:Nn,$=L=null,K}function K(_){return _==null||isNaN(_=+_)?O:($||($=D(r.map(g),o,l)))(g(T(_)))}return K.invert=function(_){return T(x((L||(L=D(o,r.map(g),ct)))(_)))},K.domain=function(_){return arguments.length?(r=Array.from(_,lr),H()):r.slice()},K.range=function(_){return arguments.length?(o=Array.from(_),H()):o.slice()},K.rangeRound=function(_){return o=Array.from(_),l=lt,H()},K.clamp=function(_){return arguments.length?(T=_?!0:dr,H()):T!==dr},K.interpolate=function(_){return arguments.length?(l=_,H()):l},K.unknown=function(_){return arguments.length?(O=_,K):O},function(_,et){return g=_,x=et,H()}}function ee(){return jr()(dr,dr)}function Jr(r,o){switch(arguments.length){case 0:break;case 1:this.range(r);break;default:this.range(o).domain(r);break}return this}function Vr(r,o){switch(arguments.length){case 0:break;case 1:{typeof r=="function"?this.interpolator(r):this.range(r);break}default:{this.domain(r),typeof o=="function"?this.interpolator(o):this.range(o);break}}return this}const gn=Math.sqrt(50),tn=Math.sqrt(10),Mr=Math.sqrt(2);function br(r,o,l){const g=(o-r)/Math.max(0,l),x=Math.floor(Math.log10(g)),O=g/Math.pow(10,x),T=O>=gn?10:O>=tn?5:O>=Mr?2:1;let D,$,L;return x<0?(L=Math.pow(10,-x)/T,D=Math.round(r*L),$=Math.round(o*L),D/L<r&&++D,$/L>o&&--$,L=-L):(L=Math.pow(10,x)*T,D=Math.round(r/L),$=Math.round(o/L),D*L<r&&++D,$*L>o&&--$),$<D&&.5<=l&&l<2?br(r,o,l*2):[D,$,L]}function an(r,o,l){if(o=+o,r=+r,l=+l,!(l>0))return[];if(r===o)return[r];const g=o<r,[x,O,T]=g?br(o,r,l):br(r,o,l);if(!(O>=x))return[];const D=O-x+1,$=new Array(D);if(g)if(T<0)for(let L=0;L<D;++L)$[L]=(O-L)/-T;else for(let L=0;L<D;++L)$[L]=(O-L)*T;else if(T<0)for(let L=0;L<D;++L)$[L]=(x+L)/-T;else for(let L=0;L<D;++L)$[L]=(x+L)*T;return $}function on(r,o,l){return o=+o,r=+r,l=+l,br(r,o,l)[2]}function J(r,o,l){o=+o,r=+r,l=+l;const g=o<r,x=g?on(o,r,l):on(r,o,l);return(g?-1:1)*(x<0?1/-x:x)}var gt=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function k(r){if(!(o=gt.exec(r)))throw new Error("invalid format: "+r);var o;return new Y({fill:o[1],align:o[2],sign:o[3],symbol:o[4],zero:o[5],width:o[6],comma:o[7],precision:o[8]&&o[8].slice(1),trim:o[9],type:o[10]})}k.prototype=Y.prototype;function Y(r){this.fill=r.fill===void 0?" ":r.fill+"",this.align=r.align===void 0?">":r.align+"",this.sign=r.sign===void 0?"-":r.sign+"",this.symbol=r.symbol===void 0?"":r.symbol+"",this.zero=!!r.zero,this.width=r.width===void 0?void 0:+r.width,this.comma=!!r.comma,this.precision=r.precision===void 0?void 0:+r.precision,this.trim=!!r.trim,this.type=r.type===void 0?"":r.type+""}Y.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function ut(r){return Math.abs(r=Math.round(r))>=1e21?r.toLocaleString("en").replace(/,/g,""):r.toString(10)}function Kt(r,o){if((l=(r=o?r.toExponential(o-1):r.toExponential()).indexOf("e"))<0)return null;var l,g=r.slice(0,l);return[g.length>1?g[0]+g.slice(2):g,+r.slice(l+1)]}function Pt(r){return r=Kt(Math.abs(r)),r?r[1]:NaN}function xr(r,o){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Pt(o)/3)))*3-Pt(Math.abs(r)))}function Or(r,o){return function(l,g){for(var x=l.length,O=[],T=0,D=r[0],$=0;x>0&&D>0&&($+D+1>g&&(D=Math.max(1,g-$)),O.push(l.substring(x-=D,x+D)),!(($+=D+1)>g));)D=r[T=(T+1)%r.length];return O.reverse().join(o)}}function Rr(r){return function(o){return o.replace(/[0-9]/g,function(l){return r[+l]})}}function Ur(r){t:for(var o=r.length,l=1,g=-1,x;l<o;++l)switch(r[l]){case".":g=x=l;break;case"0":g===0&&(g=l),x=l;break;default:if(!+r[l])break t;g>0&&(g=0);break}return g>0?r.slice(0,g)+r.slice(x+1):r}var dt;function Tr(r,o){var l=Kt(r,o);if(!l)return r+"";var g=l[0],x=l[1],O=x-(dt=Math.max(-8,Math.min(8,Math.floor(x/3)))*3)+1,T=g.length;return O===T?g:O>T?g+new Array(O-T+1).join("0"):O>0?g.slice(0,O)+"."+g.slice(O):"0."+new Array(1-O).join("0")+Kt(r,Math.max(0,o+O-1))[0]}function Hr(r,o){var l=Kt(r,o);if(!l)return r+"";var g=l[0],x=l[1];return x<0?"0."+new Array(-x).join("0")+g:g.length>x+1?g.slice(0,x+1)+"."+g.slice(x+1):g+new Array(x-g.length+2).join("0")}var sn={"%":(r,o)=>(r*100).toFixed(o),b:r=>Math.round(r).toString(2),c:r=>r+"",d:ut,e:(r,o)=>r.toExponential(o),f:(r,o)=>r.toFixed(o),g:(r,o)=>r.toPrecision(o),o:r=>Math.round(r).toString(8),p:(r,o)=>Hr(r*100,o),r:Hr,s:Tr,X:r=>Math.round(r).toString(16).toUpperCase(),x:r=>Math.round(r).toString(16)};function pn(r){return r}var yn=Array.prototype.map,un=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function Ba(r){var o=r.grouping===void 0||r.thousands===void 0?pn:Or(yn.call(r.grouping,Number),r.thousands+""),l=r.currency===void 0?"":r.currency[0]+"",g=r.currency===void 0?"":r.currency[1]+"",x=r.decimal===void 0?".":r.decimal+"",O=r.numerals===void 0?pn:Rr(yn.call(r.numerals,String)),T=r.percent===void 0?"%":r.percent+"",D=r.minus===void 0?"\u2212":r.minus+"",$=r.nan===void 0?"NaN":r.nan+"";function L(K){K=k(K);var _=K.fill,et=K.align,zt=K.sign,or=K.symbol,pt=K.zero,Ct=K.width,Gt=K.comma,Dt=K.precision,kt=K.trim,Yt=K.type;Yt==="n"?(Gt=!0,Yt="g"):sn[Yt]||(Dt===void 0&&(Dt=12),kt=!0,Yt="g"),(pt||_==="0"&&et==="=")&&(pt=!0,_="0",et="=");var pr=or==="$"?l:or==="#"&&/[boxX]/.test(Yt)?"0"+Yt.toLowerCase():"",Sr=or==="$"?g:/[%p]/.test(Yt)?T:"",cr=sn[Yt],Nr=/[defgprs%]/.test(Yt);Dt=Dt===void 0?6:/[gprs]/.test(Yt)?Math.max(1,Math.min(21,Dt)):Math.max(0,Math.min(20,Dt));function sr(Ut){var gr=pr,ar=Sr,yr,Yr,Er;if(Yt==="c")ar=cr(Ut)+ar,Ut="";else{Ut=+Ut;var Ir=Ut<0||1/Ut<0;if(Ut=isNaN(Ut)?$:cr(Math.abs(Ut),Dt),kt&&(Ut=Ur(Ut)),Ir&&+Ut==0&&zt!=="+"&&(Ir=!1),gr=(Ir?zt==="("?zt:D:zt==="-"||zt==="("?"":zt)+gr,ar=(Yt==="s"?un[8+dt/3]:"")+ar+(Ir&&zt==="("?")":""),Nr){for(yr=-1,Yr=Ut.length;++yr<Yr;)if(Er=Ut.charCodeAt(yr),48>Er||Er>57){ar=(Er===46?x+Ut.slice(yr+1):Ut.slice(yr))+ar,Ut=Ut.slice(0,yr);break}}}Gt&&!pt&&(Ut=o(Ut,1/0));var wr=gr.length+Ut.length+ar.length,fr=wr<Ct?new Array(Ct-wr+1).join(_):"";switch(Gt&&pt&&(Ut=o(fr+Ut,fr.length?Ct-ar.length:1/0),fr=""),et){case"<":Ut=gr+Ut+ar+fr;break;case"=":Ut=gr+fr+Ut+ar;break;case"^":Ut=fr.slice(0,wr=fr.length>>1)+gr+Ut+ar+fr.slice(wr);break;default:Ut=fr+gr+Ut+ar;break}return O(Ut)}return sr.toString=function(){return K+""},sr}function H(K,_){var et=L((K=k(K),K.type="f",K)),zt=Math.max(-8,Math.min(8,Math.floor(Pt(_)/3)))*3,or=Math.pow(10,-zt),pt=un[8+zt/3];return function(Ct){return et(or*Ct)+pt}}return{format:L,formatPrefix:H}}var Mn,bn,Me;ja({thousands:",",grouping:[3],currency:["$",""]});function ja(r){return Mn=Ba(r),bn=Mn.format,Me=Mn.formatPrefix,Mn}function wa(r,o){return r=Math.abs(r),o=Math.abs(o)-r,Math.max(0,Pt(o)-Pt(r))+1}function Ga(r){return Math.max(0,-Pt(Math.abs(r)))}function Va(r,o,l,g){var x=J(r,o,l),O;switch(g=k(g==null?",f":g),g.type){case"s":{var T=Math.max(Math.abs(r),Math.abs(o));return g.precision==null&&!isNaN(O=xr(x,T))&&(g.precision=O),Me(g,T)}case"":case"e":case"g":case"p":case"r":{g.precision==null&&!isNaN(O=wa(x,Math.max(Math.abs(r),Math.abs(o))))&&(g.precision=O-(g.type==="e"));break}case"f":case"%":{g.precision==null&&!isNaN(O=Ga(x))&&(g.precision=O-(g.type==="%")*2);break}}return bn(g)}function ae(r){var o=r.domain;return r.ticks=function(l){var g=o();return an(g[0],g[g.length-1],l==null?10:l)},r.tickFormat=function(l,g){var x=o();return Va(x[0],x[x.length-1],l==null?10:l,g)},r.nice=function(l){l==null&&(l=10);var g=o(),x=0,O=g.length-1,T=g[x],D=g[O],$,L,H=10;for(D<T&&(L=T,T=D,D=L,L=x,x=O,O=L);H-- >0;){if(L=on(T,D,l),L===$)return g[x]=T,g[O]=D,o(g);if(L>0)T=Math.floor(T/L)*L,D=Math.ceil(D/L)*L;else if(L<0)T=Math.ceil(T*L)/L,D=Math.floor(D*L)/L;else break;$=L}return r},r}function Ha(){var r=continuous();return r.copy=function(){return copy(r,Ha())},initRange.apply(r,arguments),ae(r)}function Wa(r,o){r=r.slice();var l=0,g=r.length-1,x=r[l],O=r[g],T;return O<x&&(T=l,l=g,g=T,T=x,x=O,O=T),r[l]=o.floor(x),r[g]=o.ceil(O),r}function be(r){return Math.log(r)}function De(r){return Math.exp(r)}function za(r){return-Math.log(-r)}function Ya(r){return-Math.exp(-r)}function Ka(r){return isFinite(r)?+("1e"+r):r<0?0:r}function Xa(r){return r===10?Ka:r===Math.E?Math.exp:o=>Math.pow(r,o)}function Ja(r){return r===Math.E?Math.log:r===10&&Math.log10||r===2&&Math.log2||(r=Math.log(r),o=>Math.log(o)/r)}function Fe(r){return(o,l)=>-r(-o,l)}function $e(r){const o=r(be,De),l=o.domain;let g=10,x,O;function T(){return x=Ja(g),O=Xa(g),l()[0]<0?(x=Fe(x),O=Fe(O),r(za,Ya)):r(be,De),o}return o.base=function(D){return arguments.length?(g=+D,T()):g},o.domain=function(D){return arguments.length?(l(D),T()):l()},o.ticks=D=>{const $=l();let L=$[0],H=$[$.length-1];const K=H<L;K&&([L,H]=[H,L]);let _=x(L),et=x(H),zt,or;const pt=D==null?10:+D;let Ct=[];if(!(g%1)&&et-_<pt){if(_=Math.floor(_),et=Math.ceil(et),L>0){for(;_<=et;++_)for(zt=1;zt<g;++zt)if(or=_<0?zt/O(-_):zt*O(_),!(or<L)){if(or>H)break;Ct.push(or)}}else for(;_<=et;++_)for(zt=g-1;zt>=1;--zt)if(or=_>0?zt/O(-_):zt*O(_),!(or<L)){if(or>H)break;Ct.push(or)}Ct.length*2<pt&&(Ct=an(L,H,pt))}else Ct=an(_,et,Math.min(et-_,pt)).map(O);return K?Ct.reverse():Ct},o.tickFormat=(D,$)=>{if(D==null&&(D=10),$==null&&($=g===10?"s":","),typeof $!="function"&&(!(g%1)&&($=k($)).precision==null&&($.trim=!0),$=bn($)),D===1/0)return $;const L=Math.max(1,g*D/o.ticks().length);return H=>{let K=H/O(Math.round(x(H)));return K*g<g-.5&&(K*=g),K<=L?$(H):""}},o.nice=()=>l(Wa(l(),{floor:D=>O(Math.floor(x(D))),ceil:D=>O(Math.ceil(x(D)))})),o}function Qa(){const r=$e(transformer()).domain([1,10]);return r.copy=()=>copy(r,Qa()).base(r.base()),initRange.apply(r,arguments),r}function Dn(){var r=0,o=1,l,g,x,O,T=dr,D=!1,$;function L(K){return K==null||isNaN(K=+K)?$:T(x===0?.5:(K=(O(K)-l)*x,D?Math.max(0,Math.min(1,K)):K))}L.domain=function(K){return arguments.length?([r,o]=K,l=O(r=+r),g=O(o=+o),x=l===g?0:1/(g-l),L):[r,o]},L.clamp=function(K){return arguments.length?(D=!!K,L):D},L.interpolator=function(K){return arguments.length?(T=K,L):T};function H(K){return function(_){var et,zt;return arguments.length?([et,zt]=_,T=K(et,zt),L):[T(0),T(1)]}}return L.range=H(ot),L.rangeRound=H(lt),L.unknown=function(K){return arguments.length?($=K,L):$},function(K){return O=K,l=K(r),g=K(o),x=l===g?0:1/(g-l),L}}function Fn(r,o){return o.domain(r.domain()).interpolator(r.interpolator()).clamp(r.clamp()).unknown(r.unknown())}function Le(){var r=ae(Dn()(dr));return r.copy=function(){return Fn(r,Le())},Vr.apply(r,arguments)}function Ue(){var r=$e(Dn()).domain([1,10]);return r.copy=function(){return Fn(r,Ue()).base(r.base())},Vr.apply(r,arguments)}function Za(){var r=symlogish(Dn());return r.copy=function(){return Fn(r,Za()).constant(r.constant())},initInterpolator.apply(r,arguments)}function Be(){var r=powish(Dn());return r.copy=function(){return Fn(r,Be()).exponent(r.exponent())},initInterpolator.apply(r,arguments)}function Ef(){return Be.apply(null,arguments).exponent(.5)}var ka=Object.defineProperty,je=Object.getOwnPropertySymbols,qa=Object.prototype.hasOwnProperty,_a=Object.prototype.propertyIsEnumerable,we=(r,o,l)=>o in r?ka(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,hr=(r,o)=>{for(var l in o||(o={}))qa.call(o,l)&&we(r,l,o[l]);if(je)for(var l of je(o))_a.call(o,l)&&we(r,l,o[l]);return r};const to={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},ro={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},no={area:"bb-area",areas:"bb-areas"},eo={axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},ao={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},oo={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},so={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},io={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},uo={dragarea:"bb-dragarea",INCLUDED:"_included_"},fo={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},lo={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},co={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},vo={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},ho={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},go={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},po={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},If={level:"bb-level",levels:"bb-levels"},yo={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},mo={region:"bb-region",regions:"bb-regions"},xo={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},So={shape:"bb-shape",shapes:"bb-shapes"},Eo={brush:"bb-brush",subchart:"bb-subchart"},Io={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},oe={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},Oo={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},To={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var Of=hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr({},to),ro),no),eo),ao),oo),so),io),uo),lo),co),vo),ho),go),fo),po),yo),mo),xo),So),Eo),Io),oe),Oo),To);function Ro(){}function se(r){return r==null?Ro:function(){return this.querySelector(r)}}function Ao(r){typeof r!="function"&&(r=se(r));for(var o=this._groups,l=o.length,g=new Array(l),x=0;x<l;++x)for(var O=o[x],T=O.length,D=g[x]=new Array(T),$,L,H=0;H<T;++H)($=O[H])&&(L=r.call($,$.__data__,H,O))&&("__data__"in $&&(L.__data__=$.__data__),D[H]=L);return new Wr(g,this._parents)}function Po(r){return r==null?[]:Array.isArray(r)?r:Array.from(r)}function Co(){return[]}function Ge(r){return r==null?Co:function(){return this.querySelectorAll(r)}}function No(r){return function(){return Po(r.apply(this,arguments))}}function Mo(r){typeof r=="function"?r=No(r):r=Ge(r);for(var o=this._groups,l=o.length,g=[],x=[],O=0;O<l;++O)for(var T=o[O],D=T.length,$,L=0;L<D;++L)($=T[L])&&(g.push(r.call($,$.__data__,L,T)),x.push($));return new Wr(g,x)}function Ve(r){return function(){return this.matches(r)}}function He(r){return function(o){return o.matches(r)}}var bo=Array.prototype.find;function Do(r){return function(){return bo.call(this.children,r)}}function Fo(){return this.firstElementChild}function $o(r){return this.select(r==null?Fo:Do(typeof r=="function"?r:He(r)))}var Lo=Array.prototype.filter;function Uo(){return Array.from(this.children)}function Bo(r){return function(){return Lo.call(this.children,r)}}function jo(r){return this.selectAll(r==null?Uo:Bo(typeof r=="function"?r:He(r)))}function wo(r){typeof r!="function"&&(r=Ve(r));for(var o=this._groups,l=o.length,g=new Array(l),x=0;x<l;++x)for(var O=o[x],T=O.length,D=g[x]=[],$,L=0;L<T;++L)($=O[L])&&r.call($,$.__data__,L,O)&&D.push($);return new Wr(g,this._parents)}function We(r){return new Array(r.length)}function Go(){return new Wr(this._enter||this._groups.map(We),this._parents)}function $n(r,o){this.ownerDocument=r.ownerDocument,this.namespaceURI=r.namespaceURI,this._next=null,this._parent=r,this.__data__=o}$n.prototype={constructor:$n,appendChild:function(r){return this._parent.insertBefore(r,this._next)},insertBefore:function(r,o){return this._parent.insertBefore(r,o)},querySelector:function(r){return this._parent.querySelector(r)},querySelectorAll:function(r){return this._parent.querySelectorAll(r)}};function Vo(r){return function(){return r}}function Ho(r,o,l,g,x,O){for(var T=0,D,$=o.length,L=O.length;T<L;++T)(D=o[T])?(D.__data__=O[T],g[T]=D):l[T]=new $n(r,O[T]);for(;T<$;++T)(D=o[T])&&(x[T]=D)}function Wo(r,o,l,g,x,O,T){var D,$,L=new Map,H=o.length,K=O.length,_=new Array(H),et;for(D=0;D<H;++D)($=o[D])&&(_[D]=et=T.call($,$.__data__,D,o)+"",L.has(et)?x[D]=$:L.set(et,$));for(D=0;D<K;++D)et=T.call(r,O[D],D,O)+"",($=L.get(et))?(g[D]=$,$.__data__=O[D],L.delete(et)):l[D]=new $n(r,O[D]);for(D=0;D<H;++D)($=o[D])&&L.get(_[D])===$&&(x[D]=$)}function zo(r){return r.__data__}function Yo(r,o){if(!arguments.length)return Array.from(this,zo);var l=o?Wo:Ho,g=this._parents,x=this._groups;typeof r!="function"&&(r=Vo(r));for(var O=x.length,T=new Array(O),D=new Array(O),$=new Array(O),L=0;L<O;++L){var H=g[L],K=x[L],_=K.length,et=Ko(r.call(H,H&&H.__data__,L,g)),zt=et.length,or=D[L]=new Array(zt),pt=T[L]=new Array(zt),Ct=$[L]=new Array(_);l(H,K,or,pt,Ct,et,o);for(var Gt=0,Dt=0,kt,Yt;Gt<zt;++Gt)if(kt=or[Gt]){for(Gt>=Dt&&(Dt=Gt+1);!(Yt=pt[Dt])&&++Dt<zt;);kt._next=Yt||null}}return T=new Wr(T,g),T._enter=D,T._exit=$,T}function Ko(r){return typeof r=="object"&&"length"in r?r:Array.from(r)}function Xo(){return new Wr(this._exit||this._groups.map(We),this._parents)}function Jo(r,o,l){var g=this.enter(),x=this,O=this.exit();return typeof r=="function"?(g=r(g),g&&(g=g.selection())):g=g.append(r+""),o!=null&&(x=o(x),x&&(x=x.selection())),l==null?O.remove():l(O),g&&x?g.merge(x).order():x}function Qo(r){for(var o=r.selection?r.selection():r,l=this._groups,g=o._groups,x=l.length,O=g.length,T=Math.min(x,O),D=new Array(x),$=0;$<T;++$)for(var L=l[$],H=g[$],K=L.length,_=D[$]=new Array(K),et,zt=0;zt<K;++zt)(et=L[zt]||H[zt])&&(_[zt]=et);for(;$<x;++$)D[$]=l[$];return new Wr(D,this._parents)}function Zo(){for(var r=this._groups,o=-1,l=r.length;++o<l;)for(var g=r[o],x=g.length-1,O=g[x],T;--x>=0;)(T=g[x])&&(O&&T.compareDocumentPosition(O)^4&&O.parentNode.insertBefore(T,O),O=T);return this}function ko(r){r||(r=qo);function o(K,_){return K&&_?r(K.__data__,_.__data__):!K-!_}for(var l=this._groups,g=l.length,x=new Array(g),O=0;O<g;++O){for(var T=l[O],D=T.length,$=x[O]=new Array(D),L,H=0;H<D;++H)(L=T[H])&&($[H]=L);$.sort(o)}return new Wr(x,this._parents).order()}function qo(r,o){return r<o?-1:r>o?1:r>=o?0:NaN}function _o(){var r=arguments[0];return arguments[0]=this,r.apply(null,arguments),this}function ts(){return Array.from(this)}function rs(){for(var r=this._groups,o=0,l=r.length;o<l;++o)for(var g=r[o],x=0,O=g.length;x<O;++x){var T=g[x];if(T)return T}return null}function ns(){let r=0;for(const o of this)++r;return r}function es(){return!this.node()}function as(r){for(var o=this._groups,l=0,g=o.length;l<g;++l)for(var x=o[l],O=0,T=x.length,D;O<T;++O)(D=x[O])&&r.call(D,D.__data__,O,x);return this}var ie="http://www.w3.org/1999/xhtml",ze={svg:"http://www.w3.org/2000/svg",xhtml:ie,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Ln(r){var o=r+="",l=o.indexOf(":");return l>=0&&(o=r.slice(0,l))!=="xmlns"&&(r=r.slice(l+1)),ze.hasOwnProperty(o)?{space:ze[o],local:r}:r}function os(r){return function(){this.removeAttribute(r)}}function ss(r){return function(){this.removeAttributeNS(r.space,r.local)}}function is(r,o){return function(){this.setAttribute(r,o)}}function us(r,o){return function(){this.setAttributeNS(r.space,r.local,o)}}function fs(r,o){return function(){var l=o.apply(this,arguments);l==null?this.removeAttribute(r):this.setAttribute(r,l)}}function ls(r,o){return function(){var l=o.apply(this,arguments);l==null?this.removeAttributeNS(r.space,r.local):this.setAttributeNS(r.space,r.local,l)}}function cs(r,o){var l=Ln(r);if(arguments.length<2){var g=this.node();return l.local?g.getAttributeNS(l.space,l.local):g.getAttribute(l)}return this.each((o==null?l.local?ss:os:typeof o=="function"?l.local?ls:fs:l.local?us:is)(l,o))}function Ye(r){return r.ownerDocument&&r.ownerDocument.defaultView||r.document&&r||r.defaultView}function vs(r){return function(){this.style.removeProperty(r)}}function ds(r,o,l){return function(){this.style.setProperty(r,o,l)}}function hs(r,o,l){return function(){var g=o.apply(this,arguments);g==null?this.style.removeProperty(r):this.style.setProperty(r,g,l)}}function gs(r,o,l){return arguments.length>1?this.each((o==null?vs:typeof o=="function"?hs:ds)(r,o,l==null?"":l)):fn(this.node(),r)}function fn(r,o){return r.style.getPropertyValue(o)||Ye(r).getComputedStyle(r,null).getPropertyValue(o)}function ps(r){return function(){delete this[r]}}function ys(r,o){return function(){this[r]=o}}function ms(r,o){return function(){var l=o.apply(this,arguments);l==null?delete this[r]:this[r]=l}}function xs(r,o){return arguments.length>1?this.each((o==null?ps:typeof o=="function"?ms:ys)(r,o)):this.node()[r]}function Ke(r){return r.trim().split(/^|\s+/)}function ue(r){return r.classList||new Xe(r)}function Xe(r){this._node=r,this._names=Ke(r.getAttribute("class")||"")}Xe.prototype={add:function(r){var o=this._names.indexOf(r);o<0&&(this._names.push(r),this._node.setAttribute("class",this._names.join(" ")))},remove:function(r){var o=this._names.indexOf(r);o>=0&&(this._names.splice(o,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(r){return this._names.indexOf(r)>=0}};function Je(r,o){for(var l=ue(r),g=-1,x=o.length;++g<x;)l.add(o[g])}function Qe(r,o){for(var l=ue(r),g=-1,x=o.length;++g<x;)l.remove(o[g])}function Ss(r){return function(){Je(this,r)}}function Es(r){return function(){Qe(this,r)}}function Is(r,o){return function(){(o.apply(this,arguments)?Je:Qe)(this,r)}}function Os(r,o){var l=Ke(r+"");if(arguments.length<2){for(var g=ue(this.node()),x=-1,O=l.length;++x<O;)if(!g.contains(l[x]))return!1;return!0}return this.each((typeof o=="function"?Is:o?Ss:Es)(l,o))}function Ts(){this.textContent=""}function Rs(r){return function(){this.textContent=r}}function As(r){return function(){var o=r.apply(this,arguments);this.textContent=o==null?"":o}}function Ps(r){return arguments.length?this.each(r==null?Ts:(typeof r=="function"?As:Rs)(r)):this.node().textContent}function Cs(){this.innerHTML=""}function Ns(r){return function(){this.innerHTML=r}}function Ms(r){return function(){var o=r.apply(this,arguments);this.innerHTML=o==null?"":o}}function bs(r){return arguments.length?this.each(r==null?Cs:(typeof r=="function"?Ms:Ns)(r)):this.node().innerHTML}function Ds(){this.nextSibling&&this.parentNode.appendChild(this)}function Fs(){return this.each(Ds)}function $s(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Ls(){return this.each($s)}function Us(r){return function(){var o=this.ownerDocument,l=this.namespaceURI;return l===ie&&o.documentElement.namespaceURI===ie?o.createElement(r):o.createElementNS(l,r)}}function Bs(r){return function(){return this.ownerDocument.createElementNS(r.space,r.local)}}function Ze(r){var o=Ln(r);return(o.local?Bs:Us)(o)}function js(r){var o=typeof r=="function"?r:Ze(r);return this.select(function(){return this.appendChild(o.apply(this,arguments))})}function ws(){return null}function Gs(r,o){var l=typeof r=="function"?r:Ze(r),g=o==null?ws:typeof o=="function"?o:se(o);return this.select(function(){return this.insertBefore(l.apply(this,arguments),g.apply(this,arguments)||null)})}function Vs(){var r=this.parentNode;r&&r.removeChild(this)}function Hs(){return this.each(Vs)}function Ws(){var r=this.cloneNode(!1),o=this.parentNode;return o?o.insertBefore(r,this.nextSibling):r}function zs(){var r=this.cloneNode(!0),o=this.parentNode;return o?o.insertBefore(r,this.nextSibling):r}function Ys(r){return this.select(r?zs:Ws)}function Ks(r){return arguments.length?this.property("__data__",r):this.node().__data__}function Xs(r){return function(o){r.call(this,o,this.__data__)}}function Js(r){return r.trim().split(/^|\s+/).map(function(o){var l="",g=o.indexOf(".");return g>=0&&(l=o.slice(g+1),o=o.slice(0,g)),{type:o,name:l}})}function Qs(r){return function(){var o=this.__on;if(o){for(var l=0,g=-1,x=o.length,O;l<x;++l)O=o[l],(!r.type||O.type===r.type)&&O.name===r.name?this.removeEventListener(O.type,O.listener,O.options):o[++g]=O;++g?o.length=g:delete this.__on}}}function Zs(r,o,l){return function(){var g=this.__on,x,O=Xs(o);if(g){for(var T=0,D=g.length;T<D;++T)if((x=g[T]).type===r.type&&x.name===r.name){this.removeEventListener(x.type,x.listener,x.options),this.addEventListener(x.type,x.listener=O,x.options=l),x.value=o;return}}this.addEventListener(r.type,O,l),x={type:r.type,name:r.name,value:o,listener:O,options:l},g?g.push(x):this.__on=[x]}}function ks(r,o,l){var g=Js(r+""),x,O=g.length,T;if(arguments.length<2){var D=this.node().__on;if(D){for(var $=0,L=D.length,H;$<L;++$)for(x=0,H=D[$];x<O;++x)if((T=g[x]).type===H.type&&T.name===H.name)return H.value}return}for(D=o?Zs:Qs,x=0;x<O;++x)this.each(D(g[x],o,l));return this}function ke(r,o,l){var g=Ye(r),x=g.CustomEvent;typeof x=="function"?x=new x(o,l):(x=g.document.createEvent("Event"),l?(x.initEvent(o,l.bubbles,l.cancelable),x.detail=l.detail):x.initEvent(o,!1,!1)),r.dispatchEvent(x)}function qs(r,o){return function(){return ke(this,r,o)}}function _s(r,o){return function(){return ke(this,r,o.apply(this,arguments))}}function ti(r,o){return this.each((typeof o=="function"?_s:qs)(r,o))}function*ri(){for(var r=this._groups,o=0,l=r.length;o<l;++o)for(var g=r[o],x=0,O=g.length,T;x<O;++x)(T=g[x])&&(yield T)}var ni=[null];function Wr(r,o){this._groups=r,this._parents=o}function qe(){return new Wr([[document.documentElement]],ni)}function ei(){return this}Wr.prototype=qe.prototype={constructor:Wr,select:Ao,selectAll:Mo,selectChild:$o,selectChildren:jo,filter:wo,data:Yo,enter:Go,exit:Xo,join:Jo,merge:Qo,selection:ei,order:Zo,sort:ko,call:_o,nodes:ts,node:rs,size:ns,empty:es,each:as,attr:cs,style:gs,property:xs,classed:Os,text:Ps,html:bs,raise:Fs,lower:Ls,append:js,insert:Gs,remove:Hs,clone:Ys,datum:Ks,on:ks,dispatch:ti,[Symbol.iterator]:ri};var mn=qe,ai={value:()=>{}};function _e(){for(var r=0,o=arguments.length,l={},g;r<o;++r){if(!(g=arguments[r]+"")||g in l||/[\s.]/.test(g))throw new Error("illegal type: "+g);l[g]=[]}return new Un(l)}function Un(r){this._=r}function oi(r,o){return r.trim().split(/^|\s+/).map(function(l){var g="",x=l.indexOf(".");if(x>=0&&(g=l.slice(x+1),l=l.slice(0,x)),l&&!o.hasOwnProperty(l))throw new Error("unknown type: "+l);return{type:l,name:g}})}Un.prototype=_e.prototype={constructor:Un,on:function(r,o){var l=this._,g=oi(r+"",l),x,O=-1,T=g.length;if(arguments.length<2){for(;++O<T;)if((x=(r=g[O]).type)&&(x=si(l[x],r.name)))return x;return}if(o!=null&&typeof o!="function")throw new Error("invalid callback: "+o);for(;++O<T;)if(x=(r=g[O]).type)l[x]=ta(l[x],r.name,o);else if(o==null)for(x in l)l[x]=ta(l[x],r.name,null);return this},copy:function(){var r={},o=this._;for(var l in o)r[l]=o[l].slice();return new Un(r)},call:function(r,o){if((x=arguments.length-2)>0)for(var l=new Array(x),g=0,x,O;g<x;++g)l[g]=arguments[g+2];if(!this._.hasOwnProperty(r))throw new Error("unknown type: "+r);for(O=this._[r],g=0,x=O.length;g<x;++g)O[g].value.apply(o,l)},apply:function(r,o,l){if(!this._.hasOwnProperty(r))throw new Error("unknown type: "+r);for(var g=this._[r],x=0,O=g.length;x<O;++x)g[x].value.apply(o,l)}};function si(r,o){for(var l=0,g=r.length,x;l<g;++l)if((x=r[l]).name===o)return x.value}function ta(r,o,l){for(var g=0,x=r.length;g<x;++g)if(r[g].name===o){r[g]=ai,r=r.slice(0,g).concat(r.slice(g+1));break}return l!=null&&r.push({name:o,value:l}),r}var ii=_e,ln=0,xn=0,Sn=0,ra=1e3,Bn,En,jn=0,nn=0,wn=0,In=typeof performance=="object"&&performance.now?performance:Date,na=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(r){setTimeout(r,17)};function fe(){return nn||(na(ui),nn=In.now()+wn)}function ui(){nn=0}function Gn(){this._call=this._time=this._next=null}Gn.prototype=ea.prototype={constructor:Gn,restart:function(r,o,l){if(typeof r!="function")throw new TypeError("callback is not a function");l=(l==null?fe():+l)+(o==null?0:+o),!this._next&&En!==this&&(En?En._next=this:Bn=this,En=this),this._call=r,this._time=l,le()},stop:function(){this._call&&(this._call=null,this._time=1/0,le())}};function ea(r,o,l){var g=new Gn;return g.restart(r,o,l),g}function fi(){fe(),++ln;for(var r=Bn,o;r;)(o=nn-r._time)>=0&&r._call.call(void 0,o),r=r._next;--ln}function aa(){nn=(jn=In.now())+wn,ln=xn=0;try{fi()}finally{ln=0,ci(),nn=0}}function li(){var r=In.now(),o=r-jn;o>ra&&(wn-=o,jn=r)}function ci(){for(var r,o=Bn,l,g=1/0;o;)o._call?(g>o._time&&(g=o._time),r=o,o=o._next):(l=o._next,o._next=null,o=r?r._next=l:Bn=l);En=r,le(g)}function le(r){if(!ln){xn&&(xn=clearTimeout(xn));var o=r-nn;o>24?(r<1/0&&(xn=setTimeout(aa,r-In.now()-wn)),Sn&&(Sn=clearInterval(Sn))):(Sn||(jn=In.now(),Sn=setInterval(li,ra)),ln=1,na(aa))}}function oa(r,o,l){var g=new Gn;return o=o==null?0:+o,g.restart(x=>{g.stop(),r(x+o)},o,l),g}var vi=ii("start","end","cancel","interrupt"),di=[],sa=0,ia=1,ce=2,Vn=3,ua=4,ve=5,Hn=6;function Wn(r,o,l,g,x,O){var T=r.__transition;if(!T)r.__transition={};else if(l in T)return;hi(r,l,{name:o,index:g,group:x,on:vi,tween:di,time:O.time,delay:O.delay,duration:O.duration,ease:O.ease,timer:null,state:sa})}function de(r,o){var l=zr(r,o);if(l.state>sa)throw new Error("too late; already scheduled");return l}function Kr(r,o){var l=zr(r,o);if(l.state>Vn)throw new Error("too late; already running");return l}function zr(r,o){var l=r.__transition;if(!l||!(l=l[o]))throw new Error("transition not found");return l}function hi(r,o,l){var g=r.__transition,x;g[o]=l,l.timer=ea(O,0,l.time);function O(L){l.state=ia,l.timer.restart(T,l.delay,l.time),l.delay<=L&&T(L-l.delay)}function T(L){var H,K,_,et;if(l.state!==ia)return $();for(H in g)if(et=g[H],et.name===l.name){if(et.state===Vn)return oa(T);et.state===ua?(et.state=Hn,et.timer.stop(),et.on.call("interrupt",r,r.__data__,et.index,et.group),delete g[H]):+H<o&&(et.state=Hn,et.timer.stop(),et.on.call("cancel",r,r.__data__,et.index,et.group),delete g[H])}if(oa(function(){l.state===Vn&&(l.state=ua,l.timer.restart(D,l.delay,l.time),D(L))}),l.state=ce,l.on.call("start",r,r.__data__,l.index,l.group),l.state===ce){for(l.state=Vn,x=new Array(_=l.tween.length),H=0,K=-1;H<_;++H)(et=l.tween[H].value.call(r,r.__data__,l.index,l.group))&&(x[++K]=et);x.length=K+1}}function D(L){for(var H=L<l.duration?l.ease.call(null,L/l.duration):(l.timer.restart($),l.state=ve,1),K=-1,_=x.length;++K<_;)x[K].call(r,H);l.state===ve&&(l.on.call("end",r,r.__data__,l.index,l.group),$())}function $(){l.state=Hn,l.timer.stop(),delete g[o];for(var L in g)return;delete r.__transition}}function gi(r,o){var l=r.__transition,g,x,O=!0,T;if(l){o=o==null?null:o+"";for(T in l){if((g=l[T]).name!==o){O=!1;continue}x=g.state>ce&&g.state<ve,g.state=Hn,g.timer.stop(),g.on.call(x?"interrupt":"cancel",r,r.__data__,g.index,g.group),delete l[T]}O&&delete r.__transition}}function pi(r){return this.each(function(){gi(this,r)})}var fa=180/Math.PI,he={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function la(r,o,l,g,x,O){var T,D,$;return(T=Math.sqrt(r*r+o*o))&&(r/=T,o/=T),($=r*l+o*g)&&(l-=r*$,g-=o*$),(D=Math.sqrt(l*l+g*g))&&(l/=D,g/=D,$/=D),r*g<o*l&&(r=-r,o=-o,$=-$,T=-T),{translateX:x,translateY:O,rotate:Math.atan2(o,r)*fa,skewX:Math.atan($)*fa,scaleX:T,scaleY:D}}var zn;function yi(r){const o=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(r+"");return o.isIdentity?he:la(o.a,o.b,o.c,o.d,o.e,o.f)}function mi(r){return r==null||(zn||(zn=document.createElementNS("http://www.w3.org/2000/svg","g")),zn.setAttribute("transform",r),!(r=zn.transform.baseVal.consolidate()))?he:(r=r.matrix,la(r.a,r.b,r.c,r.d,r.e,r.f))}function ca(r,o,l,g){function x(L){return L.length?L.pop()+" ":""}function O(L,H,K,_,et,zt){if(L!==K||H!==_){var or=et.push("translate(",null,o,null,l);zt.push({i:or-4,x:ct(L,K)},{i:or-2,x:ct(H,_)})}else(K||_)&&et.push("translate("+K+o+_+l)}function T(L,H,K,_){L!==H?(L-H>180?H+=360:H-L>180&&(L+=360),_.push({i:K.push(x(K)+"rotate(",null,g)-2,x:ct(L,H)})):H&&K.push(x(K)+"rotate("+H+g)}function D(L,H,K,_){L!==H?_.push({i:K.push(x(K)+"skewX(",null,g)-2,x:ct(L,H)}):H&&K.push(x(K)+"skewX("+H+g)}function $(L,H,K,_,et,zt){if(L!==K||H!==_){var or=et.push(x(et)+"scale(",null,",",null,")");zt.push({i:or-4,x:ct(L,K)},{i:or-2,x:ct(H,_)})}else(K!==1||_!==1)&&et.push(x(et)+"scale("+K+","+_+")")}return function(L,H){var K=[],_=[];return L=r(L),H=r(H),O(L.translateX,L.translateY,H.translateX,H.translateY,K,_),T(L.rotate,H.rotate,K,_),D(L.skewX,H.skewX,K,_),$(L.scaleX,L.scaleY,H.scaleX,H.scaleY,K,_),L=H=null,function(et){for(var zt=-1,or=_.length,pt;++zt<or;)K[(pt=_[zt]).i]=pt.x(et);return K.join("")}}}var xi=ca(yi,"px, ","px)","deg)"),Si=ca(mi,", ",")",")");function Ei(r,o){var l,g;return function(){var x=Kr(this,r),O=x.tween;if(O!==l){g=l=O;for(var T=0,D=g.length;T<D;++T)if(g[T].name===o){g=g.slice(),g.splice(T,1);break}}x.tween=g}}function Ii(r,o,l){var g,x;if(typeof l!="function")throw new Error;return function(){var O=Kr(this,r),T=O.tween;if(T!==g){x=(g=T).slice();for(var D={name:o,value:l},$=0,L=x.length;$<L;++$)if(x[$].name===o){x[$]=D;break}$===L&&x.push(D)}O.tween=x}}function Oi(r,o){var l=this._id;if(r+="",arguments.length<2){for(var g=zr(this.node(),l).tween,x=0,O=g.length,T;x<O;++x)if((T=g[x]).name===r)return T.value;return null}return this.each((o==null?Ei:Ii)(l,r,o))}function ge(r,o,l){var g=r._id;return r.each(function(){var x=Kr(this,g);(x.value||(x.value={}))[o]=l.apply(this,arguments)}),function(x){return zr(x,g).value[o]}}function va(r,o){var l;return(typeof o=="number"?ct:o instanceof A?tr:(l=A(o))?(o=l,tr):ur)(r,o)}function Ti(r){return function(){this.removeAttribute(r)}}function Ri(r){return function(){this.removeAttributeNS(r.space,r.local)}}function Ai(r,o,l){var g,x=l+"",O;return function(){var T=this.getAttribute(r);return T===x?null:T===g?O:O=o(g=T,l)}}function Pi(r,o,l){var g,x=l+"",O;return function(){var T=this.getAttributeNS(r.space,r.local);return T===x?null:T===g?O:O=o(g=T,l)}}function Ci(r,o,l){var g,x,O;return function(){var T,D=l(this),$;return D==null?void this.removeAttribute(r):(T=this.getAttribute(r),$=D+"",T===$?null:T===g&&$===x?O:(x=$,O=o(g=T,D)))}}function Ni(r,o,l){var g,x,O;return function(){var T,D=l(this),$;return D==null?void this.removeAttributeNS(r.space,r.local):(T=this.getAttributeNS(r.space,r.local),$=D+"",T===$?null:T===g&&$===x?O:(x=$,O=o(g=T,D)))}}function Mi(r,o){var l=Ln(r),g=l==="transform"?Si:va;return this.attrTween(r,typeof o=="function"?(l.local?Ni:Ci)(l,g,ge(this,"attr."+r,o)):o==null?(l.local?Ri:Ti)(l):(l.local?Pi:Ai)(l,g,o))}function bi(r,o){return function(l){this.setAttribute(r,o.call(this,l))}}function Di(r,o){return function(l){this.setAttributeNS(r.space,r.local,o.call(this,l))}}function Fi(r,o){var l,g;function x(){var O=o.apply(this,arguments);return O!==g&&(l=(g=O)&&Di(r,O)),l}return x._value=o,x}function $i(r,o){var l,g;function x(){var O=o.apply(this,arguments);return O!==g&&(l=(g=O)&&bi(r,O)),l}return x._value=o,x}function Li(r,o){var l="attr."+r;if(arguments.length<2)return(l=this.tween(l))&&l._value;if(o==null)return this.tween(l,null);if(typeof o!="function")throw new Error;var g=Ln(r);return this.tween(l,(g.local?Fi:$i)(g,o))}function Ui(r,o){return function(){de(this,r).delay=+o.apply(this,arguments)}}function Bi(r,o){return o=+o,function(){de(this,r).delay=o}}function ji(r){var o=this._id;return arguments.length?this.each((typeof r=="function"?Ui:Bi)(o,r)):zr(this.node(),o).delay}function wi(r,o){return function(){Kr(this,r).duration=+o.apply(this,arguments)}}function Gi(r,o){return o=+o,function(){Kr(this,r).duration=o}}function Vi(r){var o=this._id;return arguments.length?this.each((typeof r=="function"?wi:Gi)(o,r)):zr(this.node(),o).duration}function Hi(r,o){if(typeof o!="function")throw new Error;return function(){Kr(this,r).ease=o}}function Wi(r){var o=this._id;return arguments.length?this.each(Hi(o,r)):zr(this.node(),o).ease}function zi(r,o){return function(){var l=o.apply(this,arguments);if(typeof l!="function")throw new Error;Kr(this,r).ease=l}}function Yi(r){if(typeof r!="function")throw new Error;return this.each(zi(this._id,r))}function Ki(r){typeof r!="function"&&(r=Ve(r));for(var o=this._groups,l=o.length,g=new Array(l),x=0;x<l;++x)for(var O=o[x],T=O.length,D=g[x]=[],$,L=0;L<T;++L)($=O[L])&&r.call($,$.__data__,L,O)&&D.push($);return new Qr(g,this._parents,this._name,this._id)}function Xi(r){if(r._id!==this._id)throw new Error;for(var o=this._groups,l=r._groups,g=o.length,x=l.length,O=Math.min(g,x),T=new Array(g),D=0;D<O;++D)for(var $=o[D],L=l[D],H=$.length,K=T[D]=new Array(H),_,et=0;et<H;++et)(_=$[et]||L[et])&&(K[et]=_);for(;D<g;++D)T[D]=o[D];return new Qr(T,this._parents,this._name,this._id)}function Ji(r){return(r+"").trim().split(/^|\s+/).every(function(o){var l=o.indexOf(".");return l>=0&&(o=o.slice(0,l)),!o||o==="start"})}function Qi(r,o,l){var g,x,O=Ji(o)?de:Kr;return function(){var T=O(this,r),D=T.on;D!==g&&(x=(g=D).copy()).on(o,l),T.on=x}}function Zi(r,o){var l=this._id;return arguments.length<2?zr(this.node(),l).on.on(r):this.each(Qi(l,r,o))}function ki(r){return function(){var o=this.parentNode;for(var l in this.__transition)if(+l!==r)return;o&&o.removeChild(this)}}function qi(){return this.on("end.remove",ki(this._id))}function _i(r){var o=this._name,l=this._id;typeof r!="function"&&(r=se(r));for(var g=this._groups,x=g.length,O=new Array(x),T=0;T<x;++T)for(var D=g[T],$=D.length,L=O[T]=new Array($),H,K,_=0;_<$;++_)(H=D[_])&&(K=r.call(H,H.__data__,_,D))&&("__data__"in H&&(K.__data__=H.__data__),L[_]=K,Wn(L[_],o,l,_,L,zr(H,l)));return new Qr(O,this._parents,o,l)}function tu(r){var o=this._name,l=this._id;typeof r!="function"&&(r=Ge(r));for(var g=this._groups,x=g.length,O=[],T=[],D=0;D<x;++D)for(var $=g[D],L=$.length,H,K=0;K<L;++K)if(H=$[K]){for(var _=r.call(H,H.__data__,K,$),et,zt=zr(H,l),or=0,pt=_.length;or<pt;++or)(et=_[or])&&Wn(et,o,l,or,_,zt);O.push(_),T.push(H)}return new Qr(O,T,o,l)}var ru=mn.prototype.constructor;function nu(){return new ru(this._groups,this._parents)}function eu(r,o){var l,g,x;return function(){var O=fn(this,r),T=(this.style.removeProperty(r),fn(this,r));return O===T?null:O===l&&T===g?x:x=o(l=O,g=T)}}function da(r){return function(){this.style.removeProperty(r)}}function au(r,o,l){var g,x=l+"",O;return function(){var T=fn(this,r);return T===x?null:T===g?O:O=o(g=T,l)}}function ou(r,o,l){var g,x,O;return function(){var T=fn(this,r),D=l(this),$=D+"";return D==null&&($=D=(this.style.removeProperty(r),fn(this,r))),T===$?null:T===g&&$===x?O:(x=$,O=o(g=T,D))}}function su(r,o){var l,g,x,O="style."+o,T="end."+O,D;return function(){var $=Kr(this,r),L=$.on,H=$.value[O]==null?D||(D=da(o)):void 0;(L!==l||x!==H)&&(g=(l=L).copy()).on(T,x=H),$.on=g}}function iu(r,o,l){var g=(r+="")=="transform"?xi:va;return o==null?this.styleTween(r,eu(r,g)).on("end.style."+r,da(r)):typeof o=="function"?this.styleTween(r,ou(r,g,ge(this,"style."+r,o))).each(su(this._id,r)):this.styleTween(r,au(r,g,o),l).on("end.style."+r,null)}function uu(r,o,l){return function(g){this.style.setProperty(r,o.call(this,g),l)}}function fu(r,o,l){var g,x;function O(){var T=o.apply(this,arguments);return T!==x&&(g=(x=T)&&uu(r,T,l)),g}return O._value=o,O}function lu(r,o,l){var g="style."+(r+="");if(arguments.length<2)return(g=this.tween(g))&&g._value;if(o==null)return this.tween(g,null);if(typeof o!="function")throw new Error;return this.tween(g,fu(r,o,l==null?"":l))}function cu(r){return function(){this.textContent=r}}function vu(r){return function(){var o=r(this);this.textContent=o==null?"":o}}function du(r){return this.tween("text",typeof r=="function"?vu(ge(this,"text",r)):cu(r==null?"":r+""))}function hu(r){return function(o){this.textContent=r.call(this,o)}}function gu(r){var o,l;function g(){var x=r.apply(this,arguments);return x!==l&&(o=(l=x)&&hu(x)),o}return g._value=r,g}function pu(r){var o="text";if(arguments.length<1)return(o=this.tween(o))&&o._value;if(r==null)return this.tween(o,null);if(typeof r!="function")throw new Error;return this.tween(o,gu(r))}function yu(){for(var r=this._name,o=this._id,l=ha(),g=this._groups,x=g.length,O=0;O<x;++O)for(var T=g[O],D=T.length,$,L=0;L<D;++L)if($=T[L]){var H=zr($,o);Wn($,r,l,L,T,{time:H.time+H.delay+H.duration,delay:0,duration:H.duration,ease:H.ease})}return new Qr(g,this._parents,r,l)}function mu(){var r,o,l=this,g=l._id,x=l.size();return new Promise(function(O,T){var D={value:T},$={value:function(){--x===0&&O()}};l.each(function(){var L=Kr(this,g),H=L.on;H!==r&&(o=(r=H).copy(),o._.cancel.push(D),o._.interrupt.push(D),o._.end.push($)),L.on=o}),x===0&&O()})}var xu=0;function Qr(r,o,l,g){this._groups=r,this._parents=o,this._name=l,this._id=g}function Su(r){return mn().transition(r)}function ha(){return++xu}var Zr=mn.prototype;Qr.prototype=Su.prototype={constructor:Qr,select:_i,selectAll:tu,selectChild:Zr.selectChild,selectChildren:Zr.selectChildren,filter:Ki,merge:Xi,selection:nu,transition:yu,call:Zr.call,nodes:Zr.nodes,node:Zr.node,size:Zr.size,empty:Zr.empty,each:Zr.each,on:Zi,attr:Mi,attrTween:Li,style:iu,styleTween:lu,text:du,textTween:pu,remove:qi,tween:Oi,delay:ji,duration:Vi,ease:Wi,easeVarying:Yi,end:mu,[Symbol.iterator]:Zr[Symbol.iterator]};function Tf(r){return r*r*r}function Rf(r){return--r*r*r+1}function Eu(r){return((r*=2)<=1?r*r*r:(r-=2)*r*r+2)/2}var Iu={time:null,delay:0,duration:250,ease:Eu};function Ou(r,o){for(var l;!(l=r.__transition)||!(l=l[o]);)if(!(r=r.parentNode))throw new Error(`transition ${o} not found`);return l}function Tu(r){var o,l;r instanceof Qr?(o=r._id,r=r._name):(o=ha(),(l=Iu).time=fe(),r=r==null?null:r+"");for(var g=this._groups,x=g.length,O=0;O<x;++O)for(var T=g[O],D=T.length,$,L=0;L<D;++L)($=T[L])&&Wn($,r,o,L,T,l||Ou($,o));return new Qr(g,this._parents,r,o)}mn.prototype.interrupt=pi,mn.prototype.transition=Tu;var ga={name:"drag"},pe={name:"space"},cn={name:"handle"},vn={name:"center"};const{abs:pa,max:Fr,min:$r}=Math;function ya(r){return[+r[0],+r[1]]}function ye(r){return[ya(r[0]),ya(r[1])]}var Yn={name:"x",handles:["w","e"].map(On),input:function(r,o){return r==null?null:[[+r[0],o[0][1]],[+r[1],o[1][1]]]},output:function(r){return r&&[r[0][0],r[1][0]]}},Kn={name:"y",handles:["n","s"].map(On),input:function(r,o){return r==null?null:[[o[0][0],+r[0]],[o[1][0],+r[1]]]},output:function(r){return r&&[r[0][1],r[1][1]]}},Ru={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(On),input:function(r){return r==null?null:ye(r)},output:function(r){return r}},kr={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},ma={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},xa={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},Au={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},Pu={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function On(r){return{type:r}}function Cu(r){return!r.ctrlKey&&!r.button}function Nu(){var r=this.ownerSVGElement||this;return r.hasAttribute("viewBox")?(r=r.viewBox.baseVal,[[r.x,r.y],[r.x+r.width,r.y+r.height]]):[[0,0],[r.width.baseVal.value,r.height.baseVal.value]]}function Mu(){return navigator.maxTouchPoints||"ontouchstart"in this}function me(r){for(;!r.__brush;)if(!(r=r.parentNode))return;return r.__brush}function bu(r){return r[0][0]===r[1][0]||r[0][1]===r[1][1]}function Af(r){var o=r.__brush;return o?o.dim.output(o.selection):null}function Pf(){return xe(Yn)}function Cf(){return xe(Kn)}function Nf(){return xe(Ru)}function xe(r){var o=Nu,l=Cu,g=Mu,x=!0,O=dispatch("start","brush","end"),T=6,D;function $(pt){var Ct=pt.property("__brush",or).selectAll(".overlay").data([On("overlay")]);Ct.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",kr.overlay).merge(Ct).each(function(){var Dt=me(this).extent;select(this).attr("x",Dt[0][0]).attr("y",Dt[0][1]).attr("width",Dt[1][0]-Dt[0][0]).attr("height",Dt[1][1]-Dt[0][1])}),pt.selectAll(".selection").data([On("selection")]).enter().append("rect").attr("class","selection").attr("cursor",kr.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var Gt=pt.selectAll(".handle").data(r.handles,function(Dt){return Dt.type});Gt.exit().remove(),Gt.enter().append("rect").attr("class",function(Dt){return"handle handle--"+Dt.type}).attr("cursor",function(Dt){return kr[Dt.type]}),pt.each(L).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",_).filter(g).on("touchstart.brush",_).on("touchmove.brush",et).on("touchend.brush touchcancel.brush",zt).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}$.move=function(pt,Ct,Gt){pt.tween?pt.on("start.brush",function(Dt){H(this,arguments).beforestart().start(Dt)}).on("interrupt.brush end.brush",function(Dt){H(this,arguments).end(Dt)}).tween("brush",function(){var Dt=this,kt=Dt.__brush,Yt=H(Dt,arguments),pr=kt.selection,Sr=r.input(typeof Ct=="function"?Ct.apply(this,arguments):Ct,kt.extent),cr=interpolate(pr,Sr);function Nr(sr){kt.selection=sr===1&&Sr===null?null:cr(sr),L.call(Dt),Yt.brush()}return pr!==null&&Sr!==null?Nr:Nr(1)}):pt.each(function(){var Dt=this,kt=arguments,Yt=Dt.__brush,pr=r.input(typeof Ct=="function"?Ct.apply(Dt,kt):Ct,Yt.extent),Sr=H(Dt,kt).beforestart();interrupt(Dt),Yt.selection=pr===null?null:pr,L.call(Dt),Sr.start(Gt).brush(Gt).end(Gt)})},$.clear=function(pt,Ct){$.move(pt,null,Ct)};function L(){var pt=select(this),Ct=me(this).selection;Ct?(pt.selectAll(".selection").style("display",null).attr("x",Ct[0][0]).attr("y",Ct[0][1]).attr("width",Ct[1][0]-Ct[0][0]).attr("height",Ct[1][1]-Ct[0][1]),pt.selectAll(".handle").style("display",null).attr("x",function(Gt){return Gt.type[Gt.type.length-1]==="e"?Ct[1][0]-T/2:Ct[0][0]-T/2}).attr("y",function(Gt){return Gt.type[0]==="s"?Ct[1][1]-T/2:Ct[0][1]-T/2}).attr("width",function(Gt){return Gt.type==="n"||Gt.type==="s"?Ct[1][0]-Ct[0][0]+T:T}).attr("height",function(Gt){return Gt.type==="e"||Gt.type==="w"?Ct[1][1]-Ct[0][1]+T:T})):pt.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function H(pt,Ct,Gt){var Dt=pt.__brush.emitter;return Dt&&(!Gt||!Dt.clean)?Dt:new K(pt,Ct,Gt)}function K(pt,Ct,Gt){this.that=pt,this.args=Ct,this.state=pt.__brush,this.active=0,this.clean=Gt}K.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(pt,Ct){return this.starting?(this.starting=!1,this.emit("start",pt,Ct)):this.emit("brush",pt),this},brush:function(pt,Ct){return this.emit("brush",pt,Ct),this},end:function(pt,Ct){return--this.active===0&&(delete this.state.emitter,this.emit("end",pt,Ct)),this},emit:function(pt,Ct,Gt){var Dt=select(this.that).datum();O.call(pt,this.that,new BrushEvent(pt,{sourceEvent:Ct,target:$,selection:r.output(this.state.selection),mode:Gt,dispatch:O}),Dt)}};function _(pt){if(D&&!pt.touches||!l.apply(this,arguments))return;var Ct=this,Gt=pt.target.__data__.type,Dt=(x&&pt.metaKey?Gt="overlay":Gt)==="selection"?ga:x&&pt.altKey?vn:cn,kt=r===Kn?null:Au[Gt],Yt=r===Yn?null:Pu[Gt],pr=me(Ct),Sr=pr.extent,cr=pr.selection,Nr=Sr[0][0],sr,Ut,gr=Sr[0][1],ar,yr,Yr=Sr[1][0],Er,Ir,wr=Sr[1][1],fr,Dr,Ar=0,Pr=0,Ce,_n=kt&&Yt&&x&&pt.shiftKey,te,re,Br=Array.from(pt.touches||[pt],qt=>{const Cr=qt.identifier;return qt=pointer(qt,Ct),qt.point0=qt.slice(),qt.identifier=Cr,qt});interrupt(Ct);var An=H(Ct,arguments,!0).beforestart();if(Gt==="overlay"){cr&&(Ce=!0);const qt=[Br[0],Br[1]||Br[0]];pr.selection=cr=[[sr=r===Kn?Nr:$r(qt[0][0],qt[1][0]),ar=r===Yn?gr:$r(qt[0][1],qt[1][1])],[Er=r===Kn?Yr:Fr(qt[0][0],qt[1][0]),fr=r===Yn?wr:Fr(qt[0][1],qt[1][1])]],Br.length>1&&en(pt)}else sr=cr[0][0],ar=cr[0][1],Er=cr[1][0],fr=cr[1][1];Ut=sr,yr=ar,Ir=Er,Dr=fr;var Fa=select(Ct).attr("pointer-events","none"),Pn=Fa.selectAll(".overlay").attr("cursor",kr[Gt]);if(pt.touches)An.moved=La,An.ended=Ua;else{var $a=select(pt.view).on("mousemove.brush",La,!0).on("mouseup.brush",Ua,!0);x&&$a.on("keydown.brush",xf,!0).on("keyup.brush",Sf,!0),dragDisable(pt.view)}L.call(Ct),An.start(pt,Dt.name);function La(qt){for(const Cr of qt.changedTouches||[qt])for(const Cn of Br)Cn.identifier===Cr.identifier&&(Cn.cur=pointer(Cr,Ct));if(_n&&!te&&!re&&Br.length===1){const Cr=Br[0];pa(Cr.cur[0]-Cr[0])>pa(Cr.cur[1]-Cr[1])?re=!0:te=!0}for(const Cr of Br)Cr.cur&&(Cr[0]=Cr.cur[0],Cr[1]=Cr.cur[1]);Ce=!0,noevent(qt),en(qt)}function en(qt){const Cr=Br[0],Cn=Cr.point0;var rn;switch(Ar=Cr[0]-Cn[0],Pr=Cr[1]-Cn[1],Dt){case pe:case ga:{kt&&(Ar=Fr(Nr-sr,$r(Yr-Er,Ar)),Ut=sr+Ar,Ir=Er+Ar),Yt&&(Pr=Fr(gr-ar,$r(wr-fr,Pr)),yr=ar+Pr,Dr=fr+Pr);break}case cn:{Br[1]?(kt&&(Ut=Fr(Nr,$r(Yr,Br[0][0])),Ir=Fr(Nr,$r(Yr,Br[1][0])),kt=1),Yt&&(yr=Fr(gr,$r(wr,Br[0][1])),Dr=Fr(gr,$r(wr,Br[1][1])),Yt=1)):(kt<0?(Ar=Fr(Nr-sr,$r(Yr-sr,Ar)),Ut=sr+Ar,Ir=Er):kt>0&&(Ar=Fr(Nr-Er,$r(Yr-Er,Ar)),Ut=sr,Ir=Er+Ar),Yt<0?(Pr=Fr(gr-ar,$r(wr-ar,Pr)),yr=ar+Pr,Dr=fr):Yt>0&&(Pr=Fr(gr-fr,$r(wr-fr,Pr)),yr=ar,Dr=fr+Pr));break}case vn:{kt&&(Ut=Fr(Nr,$r(Yr,sr-Ar*kt)),Ir=Fr(Nr,$r(Yr,Er+Ar*kt))),Yt&&(yr=Fr(gr,$r(wr,ar-Pr*Yt)),Dr=Fr(gr,$r(wr,fr+Pr*Yt)));break}}Ir<Ut&&(kt*=-1,rn=sr,sr=Er,Er=rn,rn=Ut,Ut=Ir,Ir=rn,Gt in ma&&Pn.attr("cursor",kr[Gt=ma[Gt]])),Dr<yr&&(Yt*=-1,rn=ar,ar=fr,fr=rn,rn=yr,yr=Dr,Dr=rn,Gt in xa&&Pn.attr("cursor",kr[Gt=xa[Gt]])),pr.selection&&(cr=pr.selection),te&&(Ut=cr[0][0],Ir=cr[1][0]),re&&(yr=cr[0][1],Dr=cr[1][1]),(cr[0][0]!==Ut||cr[0][1]!==yr||cr[1][0]!==Ir||cr[1][1]!==Dr)&&(pr.selection=[[Ut,yr],[Ir,Dr]],L.call(Ct),An.brush(qt,Dt.name))}function Ua(qt){if(nopropagation(qt),qt.touches){if(qt.touches.length)return;D&&clearTimeout(D),D=setTimeout(function(){D=null},500)}else dragEnable(qt.view,Ce),$a.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);Fa.attr("pointer-events","all"),Pn.attr("cursor",kr.overlay),pr.selection&&(cr=pr.selection),bu(cr)&&(pr.selection=null,L.call(Ct)),An.end(qt,Dt.name)}function xf(qt){switch(qt.keyCode){case 16:{_n=kt&&Yt;break}case 18:{Dt===cn&&(kt&&(Er=Ir-Ar*kt,sr=Ut+Ar*kt),Yt&&(fr=Dr-Pr*Yt,ar=yr+Pr*Yt),Dt=vn,en(qt));break}case 32:{(Dt===cn||Dt===vn)&&(kt<0?Er=Ir-Ar:kt>0&&(sr=Ut-Ar),Yt<0?fr=Dr-Pr:Yt>0&&(ar=yr-Pr),Dt=pe,Pn.attr("cursor",kr.selection),en(qt));break}default:return}noevent(qt)}function Sf(qt){switch(qt.keyCode){case 16:{_n&&(te=re=_n=!1,en(qt));break}case 18:{Dt===vn&&(kt<0?Er=Ir:kt>0&&(sr=Ut),Yt<0?fr=Dr:Yt>0&&(ar=yr),Dt=cn,en(qt));break}case 32:{Dt===pe&&(qt.altKey?(kt&&(Er=Ir-Ar*kt,sr=Ut+Ar*kt),Yt&&(fr=Dr-Pr*Yt,ar=yr+Pr*Yt),Dt=vn):(kt<0?Er=Ir:kt>0&&(sr=Ut),Yt<0?fr=Dr:Yt>0&&(ar=yr),Dt=cn),Pn.attr("cursor",kr[Gt]),en(qt));break}default:return}noevent(qt)}}function et(pt){H(this,arguments).moved(pt)}function zt(pt){H(this,arguments).ended(pt)}function or(){var pt=this.__brush||{selection:null};return pt.extent=ye(o.apply(this,arguments)),pt.dim=r,pt}return $.extent=function(pt){return arguments.length?(o=typeof pt=="function"?pt:constant(ye(pt)),$):o},$.filter=function(pt){return arguments.length?(l=typeof pt=="function"?pt:constant(!!pt),$):l},$.touchable=function(pt){return arguments.length?(g=typeof pt=="function"?pt:constant(!!pt),$):g},$.handleSize=function(pt){return arguments.length?(T=+pt,$):T},$.keyModifiers=function(pt){return arguments.length?(x=!!pt,$):x},$.on=function(){var pt=O.on.apply(O,arguments);return pt===O?$:pt},$}function Du(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function Fu(r){const o=typeof(r==null?void 0:r.requestAnimationFrame)=="function"&&typeof(r==null?void 0:r.cancelAnimationFrame)=="function",l=typeof(r==null?void 0:r.requestIdleCallback)=="function"&&typeof(r==null?void 0:r.cancelIdleCallback)=="function",g=O=>setTimeout(O,1),x=O=>clearTimeout(O);return[o?r.requestAnimationFrame:g,o?r.cancelAnimationFrame:x,l?r.requestIdleCallback:g,l?r.cancelIdleCallback:x]}const Xn=Du(),$u=Xn==null?void 0:Xn.document,[Mf,bf,Df,Ff]=Fu(Xn);var Lu=Object.defineProperty,Sa=Object.getOwnPropertySymbols,Uu=Object.prototype.hasOwnProperty,Bu=Object.prototype.propertyIsEnumerable,Ea=(r,o,l)=>o in r?Lu(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,Ia=(r,o)=>{for(var l in o||(o={}))Uu.call(o,l)&&Ea(r,l,o[l]);if(Sa)for(var l of Sa(o))Bu.call(o,l)&&Ea(r,l,o[l]);return r};const $f=r=>r||r===0,Se=r=>typeof r=="function",Tn=r=>typeof r=="string",Ee=r=>typeof r=="number",ju=r=>typeof r=="undefined",Oa=r=>typeof r!="undefined",Lf=r=>typeof r=="boolean",Uf=r=>Math.ceil(r/10)*10,Bf=r=>Math.ceil(r)+.5,jf=r=>r[1]-r[0],Ie=r=>typeof r=="object",Ta=r=>ju(r)||r===null||Tn(r)&&r.length===0||Ie(r)&&!(r instanceof Date)&&Object.keys(r).length===0||Ee(r)&&isNaN(r),wu=r=>!Ta(r),Oe=r=>Array.isArray(r),Jn=r=>r&&!(r!=null&&r.nodeType)&&Ie(r)&&!Oe(r);function wf(r,o,l){return Oa(r[o])?r[o]:l}function Gf(r,o){let l=!1;return Object.keys(r).forEach(g=>r[g]===o&&(l=!0)),l}function Vf(r,o,...l){const g=Se(r);return g&&r.call(o,...l),g}function Hf(r,o){let l=0;const g=function(...x){!--l&&o.apply(this,...x)};"duration"in r?r.each(()=>++l).on("end",g):(++l,r.call(g))}function Wf(r){return Tn(r)?r.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):r}function zf(r,o,l=[-1,1],g=!1){if(!(!r||!Tn(o)))if(o.indexOf(` +`)===-1)r.text(o);else{const x=[r.text(),o].map(O=>O.replace(/[\s\n]/g,""));if(x[0]!==x[1]){const O=o.split(` +`),T=g?O.length-1:1;r.html(""),O.forEach((D,$)=>{r.append("tspan").attr("x",0).attr("dy",`${$===0?l[0]*T:l[1]}em`).text(D)})}}}function Gu(r){const{x:o,y:l,width:g,height:x}=r.getBBox();return[{x:o,y:l+x},{x:o,y:l},{x:o+g,y:l},{x:o+g,y:l+x}]}function Yf(r){const{width:o,height:l}=r.getBoundingClientRect(),g=Gu(r),x=g[0].x,O=Math.min(g[0].y,g[1].y);return{x,y:O,width:o,height:l}}function Kf(r,o){var l;const g=r&&((l=r.touches||r.sourceEvent&&r.sourceEvent.touches)==null?void 0:l[0]);let x=[0,0];try{x=d3Pointer(g||r,o)}catch(O){}return x.map(O=>isNaN(O)?0:O)}function Vu(r){const{event:o,$el:l}=r,g=l.subchart.main||l.main;let x;return o&&o.type==="brush"?x=o.selection:g&&(x=g.select(".bb-brush").node())&&(x=d3BrushSelection(x)),x}function Xf(r){return!("rect"in r)||"rect"in r&&r.hasAttribute("width")&&r.rect.width!==+r.getAttribute("width")?r.rect=r.getBoundingClientRect():r.rect}function Jf(r=!0,o=0,l=1e4){const g=window.crypto||window.msCrypto,x=g?o+g.getRandomValues(new Uint32Array(1))[0]%(l-o+1):Math.floor(Math.random()*(l-o)+o);return r?String(x):x}function Ra(r,o,l,g,x){if(l>g)return-1;const O=Math.floor((l+g)/2);let{x:T,w:D=0}=r[O];return x&&(T=r[O].y,D=r[O].h),o>=T&&o<=T+D?O:o<T?Ra(r,o,l,O-1,x):Ra(r,o,O+1,g,x)}function Qf(r){const o=Vu(r);return o?o[0]===o[1]:!0}function Zf(...r){const o=l=>{if(Jn(l)&&l.constructor){const g=new l.constructor;for(const x in l)g[x]=o(l[x]);return g}return l};return r.map(l=>o(l)).reduce((l,g)=>Ia(Ia({},l),g))}function Hu(r={},o){Oe(o)&&o.forEach(l=>Hu(r,l));for(const l in o)/^\d+$/.test(l)||l in r||(r[l]=o[l]);return r}const kf=r=>r.charAt(0).toUpperCase()+r.slice(1);function qf(r,o="-"){return r.split(o).map((l,g)=>g?l.charAt(0).toUpperCase()+l.slice(1).toLowerCase():l.toLowerCase()).join("")}const Wu=r=>[].slice.call(r);function _f(r,o,l){const{rootSelector:g="",sheet:x}=r,T=`${g} ${(D=>D.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(o)} {${l.join(";")}}`;return x[x.insertRule?"insertRule":"addRule"](T,x.cssRules.length)}function tl(r){let o=[];return r.forEach(l=>{var g;try{l.cssRules&&l.cssRules.length&&(o=o.concat(Wu(l.cssRules)))}catch(x){(g=window.console)==null||g.warn(`Error while reading rules from ${l.href}: ${x.toString()}`)}}),o}function rl(r){var o,l,g,x,O,T;return{x:((l=(o=window.pageXOffset)!=null?o:window.scrollX)!=null?l:0)+((g=r.scrollLeft)!=null?g:0),y:((O=(x=window.pageYOffset)!=null?x:window.scrollY)!=null?O:0)+((T=r.scrollTop)!=null?T:0)}}function nl(r,o=0,l=0,g=!0){const x=new DOMPoint(o,l),O=r.getScreenCTM(),T=x.matrixTransform(g?O==null?void 0:O.inverse():O);if(g===!1){const D=r.getBoundingClientRect();T.x-=D.x,T.y-=D.y}return T}function el(r){const o=r?r.transform:null,l=o&&o.baseVal;return l&&l.numberOfItems?l.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function al(r){const o=r[0]instanceof Date,l=(o?r.map(Number):r).filter((g,x,O)=>O.indexOf(g)===x);return o?l.map(g=>new Date(g)):l}function ol(r){return r&&r.length?r.reduce((o,l)=>o.concat(l)):[]}function Te(r,...o){if(!o.length||o.length===1&&!o[0])return r;const l=o.shift();return Jn(r)&&Jn(l)&&Object.keys(l).forEach(g=>{const x=l[g];Jn(x)?(!r[g]&&(r[g]={}),r[g]=Te(r[g],x)):r[g]=Oe(x)?x.concat():x}),Te(r,...o)}function zu(r,o=!0){let l;return r[0]instanceof Date?l=o?(g,x)=>g-x:(g,x)=>x-g:o&&!r.every(isNaN)?l=(g,x)=>g-x:o||(l=(g,x)=>g>x&&-1||g<x&&1||g===x&&0),r.concat().sort(l)}function sl(r,o){let l=o.filter(g=>wu(g));return l.length?Ee(l[0])?l=Math[r](...l):l[0]instanceof Date&&(l=zu(l,r==="min")[0]):l=void 0,l}const Yu=(r,o,l=1)=>{const g=[],x=Math.max(0,Math.ceil((o-r)/l))|0;for(let O=r;O<x;O++)g.push(r+O*l);return g},il={mouse:(()=>{const r=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(o,l,g=r())=>{o.dispatchEvent(new MouseEvent(l,g))}}catch(o){return(l,g,x=r())=>{const O=$u.createEvent("MouseEvent");O.initMouseEvent(g,x.bubbles,x.cancelable,Xn,0,x.screenX,x.screenY,x.clientX,x.clientY,!1,!1,!1,!1,0,null),l.dispatchEvent(O)}}})(),touch:(r,o,l)=>{const g=new Touch(Te({identifier:Date.now(),target:r,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},l));r.dispatchEvent(new TouchEvent(o,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[g],targetTouches:[],changedTouches:[g]}))}};function ul(r,o){let l=r;for(const g in o)l=l.replace(new RegExp(`{=${g}}`,"g"),o[g]);return l}function Ku(r){var o;let l;if(r instanceof Date)l=r;else if(Tn(r)){const{config:g,format:x}=this;l=(o=x.dataTime(g.data_xFormat)(r))!=null?o:new Date(r)}else Ee(r)&&!isNaN(r)&&(l=new Date(+r));return(!l||isNaN(+l))&&console&&console.error&&console.error(`Failed to parse x '${r}' to Date object`),l}function fl(r){const o=r.attr("viewBox");return o?/(\d+(\.\d+)?){3}/.test(o):!1}function ll(r,o,l=!1){const g=!!r.node;let x=!1;for(const[O,T]of Object.entries(o))if(x=g?r.style(O)===T:r.style[O]===T,l===!1&&x)break;return x}function cl(){var r,o;return((r=document)==null?void 0:r.hidden)===!1||((o=document)==null?void 0:o.visibilityState)==="visible"}function vl(r,o){const{DocumentTouch:l,matchMedia:g,navigator:x}=window,O=g==null?void 0:g("(pointer:coarse)").matches;let T=!1;if(o)if(x&&"maxTouchPoints"in x)T=x.maxTouchPoints>0;else if("ontouchmove"in window||l&&document instanceof l)T=!0;else if(O)T=!0;else{const $=x.userAgent;T=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test($)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test($)}return r&&!O&&(g==null?void 0:g("(pointer:fine)").matches)&&"mouse"||T&&"touch"||"mouse"}function Xu(r,o){o()===!1?requestAnimationFrame(()=>Xu(r,o)):r()}function Ju(r){const o=this.config;let l,g,x;const O=()=>{const T=g.shift();if(T&&l&&Ie(l)&&T in l)return l=l[T],O();if(!T)return l};Object.keys(o).forEach(T=>{l=r,g=T.split("_"),x=O(),Oa(x)&&(o[T]=x)}),this.api&&(this.state.orgConfig=r)}var Qu=Object.defineProperty,Zu=(r,o,l)=>o in r?Qu(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,Re=(r,o,l)=>Zu(r,typeof o!="symbol"?o+"":o,l);class Aa{constructor(o={}){Re(this,"$$"),Re(this,"options"),this.options=o}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(o=>{this[o]=null,delete this[o]})}}Re(Aa,"version","3.14.2");function ku(r){return r}var Qn=1,Zn=2,Ae=3,Rn=4,Pa=1e-6;function qu(r){return"translate("+r+",0)"}function _u(r){return"translate(0,"+r+")"}function tf(r){return o=>+r(o)}function rf(r,o){return o=Math.max(0,r.bandwidth()-o*2)/2,r.round()&&(o=Math.round(o)),l=>+r(l)+o}function nf(){return!this.__axis}function kn(r,o){var l=[],g=null,x=null,O=6,T=6,D=3,$=typeof window!="undefined"&&window.devicePixelRatio>1?0:.5,L=r===Qn||r===Rn?-1:1,H=r===Rn||r===Zn?"x":"y",K=r===Qn||r===Ae?qu:_u;function _(et){var zt=g==null?o.ticks?o.ticks.apply(o,l):o.domain():g,or=x==null?o.tickFormat?o.tickFormat.apply(o,l):ku:x,pt=Math.max(O,0)+D,Ct=o.range(),Gt=+Ct[0]+$,Dt=+Ct[Ct.length-1]+$,kt=(o.bandwidth?rf:tf)(o.copy(),$),Yt=et.selection?et.selection():et,pr=Yt.selectAll(".domain").data([null]),Sr=Yt.selectAll(".tick").data(zt,o).order(),cr=Sr.exit(),Nr=Sr.enter().append("g").attr("class","tick"),sr=Sr.select("line"),Ut=Sr.select("text");pr=pr.merge(pr.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),Sr=Sr.merge(Nr),sr=sr.merge(Nr.append("line").attr("stroke","currentColor").attr(H+"2",L*O)),Ut=Ut.merge(Nr.append("text").attr("fill","currentColor").attr(H,L*pt).attr("dy",r===Qn?"0em":r===Ae?"0.71em":"0.32em")),et!==Yt&&(pr=pr.transition(et),Sr=Sr.transition(et),sr=sr.transition(et),Ut=Ut.transition(et),cr=cr.transition(et).attr("opacity",Pa).attr("transform",function(gr){return isFinite(gr=kt(gr))?K(gr+$):this.getAttribute("transform")}),Nr.attr("opacity",Pa).attr("transform",function(gr){var ar=this.parentNode.__axis;return K((ar&&isFinite(ar=ar(gr))?ar:kt(gr))+$)})),cr.remove(),pr.attr("d",r===Rn||r===Zn?T?"M"+L*T+","+Gt+"H"+$+"V"+Dt+"H"+L*T:"M"+$+","+Gt+"V"+Dt:T?"M"+Gt+","+L*T+"V"+$+"H"+Dt+"V"+L*T:"M"+Gt+","+$+"H"+Dt),Sr.attr("opacity",1).attr("transform",function(gr){return K(kt(gr)+$)}),sr.attr(H+"2",L*O),Ut.attr(H,L*pt).text(or),Yt.filter(nf).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",r===Zn?"start":r===Rn?"end":"middle"),Yt.each(function(){this.__axis=kt})}return _.scale=function(et){return arguments.length?(o=et,_):o},_.ticks=function(){return l=Array.from(arguments),_},_.tickArguments=function(et){return arguments.length?(l=et==null?[]:Array.from(et),_):l.slice()},_.tickValues=function(et){return arguments.length?(g=et==null?null:Array.from(et),_):g&&g.slice()},_.tickFormat=function(et){return arguments.length?(x=et,_):x},_.tickSize=function(et){return arguments.length?(O=T=+et,_):O},_.tickSizeInner=function(et){return arguments.length?(O=+et,_):O},_.tickSizeOuter=function(et){return arguments.length?(T=+et,_):T},_.tickPadding=function(et){return arguments.length?(D=+et,_):D},_.offset=function(et){return arguments.length?($=+et,_):$},_}function dl(r){return kn(Qn,r)}function ef(r){return kn(Zn,r)}function hl(r){return kn(Ae,r)}function gl(r){return kn(Rn,r)}function Ca(r){return function(o){return Math.sign(o)*Math.log1p(Math.abs(o/r))}}function Na(r){return function(o){return Math.sign(o)*Math.expm1(Math.abs(o))*r}}function af(r){var o=1,l=r(Ca(o),Na(o));return l.constant=function(g){return arguments.length?r(Ca(o=+g),Na(o)):o},ae(l)}function Ma(){var r=af(jr());return r.copy=function(){return _r(r,Ma()).constant(r.constant())},Jr.apply(r,arguments)}var Xr={colorScale:"bb-colorscale",stanfordElements:"bb-stanford-elements",stanfordLine:"bb-stanford-line",stanfordLines:"bb-stanford-lines",stanfordRegion:"bb-stanford-region",stanfordRegions:"bb-stanford-regions"},of=Object.defineProperty,sf=(r,o,l)=>o in r?of(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,ba=(r,o,l)=>sf(r,typeof o!="symbol"?o+"":o,l);class uf{constructor(o){ba(this,"owner"),ba(this,"colorScale"),this.owner=o}drawColorScale(){const{$$:o,config:l}=this.owner,g=o.data.targets[0],x=o.state.height-l.padding_bottom-l.padding_top,O=l.scale_width,T=5,D=Yu(l.padding_bottom,x,T),$=Le(g.colors).domain([D[D.length-1],D[0]]);this.colorScale&&this.colorScale.remove(),this.colorScale=o.$el.svg.append("g").attr("width",50).attr("height",x).attr("class",Xr.colorScale),this.colorScale.append("g").attr("transform",`translate(0, ${l.padding_top})`).selectAll("bars").data(D).enter().append("rect").attr("y",(et,zt)=>zt*T).attr("x",0).attr("width",O).attr("height",T).attr("fill",et=>$(et));const L=Ma().domain([g.minEpochs,g.maxEpochs]).range([D[0]+l.padding_top+D[D.length-1]+T-1,D[0]+l.padding_top]),H=ef(L),K=l.scale_format;K==="pow10"?H.tickValues([1,10,100,1e3,1e4,1e5,1e6,1e7]):Se(K)?H.tickFormat(K):H.tickFormat(bn("d"));const _=this.colorScale.append("g").attr("class","legend axis").attr("transform",`translate(${O},0)`).call(H);K==="pow10"&&_.selectAll(".tick text").text(null).filter(et=>et/Math.pow(10,Math.ceil(Math.log(et)/Math.LN10-1e-12))===1).text(10).append("tspan").attr("dy","-.7em").text(et=>Math.round(Math.log(et)/Math.LN10)),this.colorScale.attr("transform",`translate(${o.state.current.width-this.xForColorScale()}, 0)`)}xForColorScale(){return this.owner.config.padding_right+this.colorScale.node().getBBox().width}getColorScalePadding(){return this.xForColorScale()+this.owner.config.padding_left+20}}function ff(r,o){const l=r.x,g=r.value;let x=!1;for(let O=0,T=o.length-1;O<o.length;T=O++){const D=o[O].x,$=o[O].y,L=o[T].x,H=o[T].y;$>g!=H>g&&l<(L-D)*(g-$)/(H-$)+D&&(x=!x)}return x}function lf(r,o){return r.epochs<o.epochs?-1:r.epochs>o.epochs?1:0}function cf(r){let o=0,l,g;for(let x=0,O=r.length,T=O-1;x<O;T=x,x++)l=r[x],g=r[T],o+=l.x*g.y,o-=l.y*g.x;return o/=2,o}function qn(r){const o=cf(r);let l=0,g=0,x;for(let O=0,T=r.length,D=T-1;O<T;D=O,O++){const $=r[O],L=r[D];x=$.x*L.y-L.x*$.y,l+=($.x+L.x)*x,g+=($.y+L.y)*x}return x=o*6,{x:l/x,y:g/x}}var vf=Object.defineProperty,df=(r,o,l)=>o in r?vf(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,hf=(r,o,l)=>df(r,typeof o!="symbol"?o+"":o,l);class gf{constructor(o){hf(this,"owner"),this.owner=o;const l=o.$$.$el.main.select(".bb-chart").append("g").attr("class",Xr.stanfordElements);l.append("g").attr("class",Xr.stanfordLines),l.append("g").attr("class",Xr.stanfordRegions)}updateStanfordLines(o){const{$$:l}=this.owner,{config:g,$el:{main:x}}=l,O=g.axis_rotated,T=this.xvCustom.bind(l),D=this.yvCustom.bind(l),$=x.select(`.${Xr.stanfordLines}`).style("shape-rendering","geometricprecision").selectAll(`.${Xr.stanfordLine}`).data(this.owner.config.lines);$.exit().transition().duration(o).style("opacity","0").remove();const L=$.enter().append("g");L.append("line").style("opacity","0"),L.merge($).attr("class",H=>Xr.stanfordLine+(H.class?` ${H.class}`:"")).select("line").transition().duration(o).attr("x1",H=>O?D(H,"y1"):T(H,"x1")).attr("x2",H=>O?D(H,"y2"):T(H,"x2")).attr("y1",H=>O?T(H,"x1"):D(H,"y1")).attr("y2",H=>O?T(H,"x2"):D(H,"y2")).transition().style("opacity",null)}updateStanfordRegions(o){const{$$:l}=this.owner,{config:g,$el:{main:x}}=l,O=g.axis_rotated,T=this.xvCustom.bind(l),D=this.yvCustom.bind(l),$=this.owner.countEpochsInRegion.bind(l);let L=x.select(`.${Xr.stanfordRegions}`).selectAll(`.${Xr.stanfordRegion}`).data(this.owner.config.regions);L.exit().transition().duration(o).style("opacity","0").remove();const H=L.enter().append("g");H.append("polygon").style("opacity","0"),H.append("text").attr("transform",O?"rotate(-90)":"").style("opacity","0"),L=H.merge(L),L.attr("class",K=>Xr.stanfordRegion+(K.class?` ${K.class}`:"")).select("polygon").transition().duration(o).attr("points",K=>K.points.map(_=>[O?D(_,"y"):T(_,"x"),O?T(_,"x"):D(_,"y")].join(",")).join(" ")).transition().style("opacity",K=>String(K.opacity?K.opacity:.2)),L.select("text").transition().duration(o).attr("x",K=>O?D(qn(K.points),"y"):T(qn(K.points),"x")).attr("y",K=>O?T(qn(K.points),"x"):D(qn(K.points),"y")).text(K=>{if(K.text){const{value:_,percentage:et}=$(K.points);return K.text(_,et)}return""}).attr("text-anchor","middle").attr("dominant-baseline","middle").transition().style("opacity",null)}updateStanfordElements(o=0){this.updateStanfordLines(o),this.updateStanfordRegions(o)}xvCustom(o,l){const g=this,{axis:x,config:O}=g;let T=l?o[l]:g.getBaseValue(o);return x.isTimeSeries()?T=Ku.call(g,T):x.isCategorized()&&Tn(T)&&(T=O.axis_x_categories.indexOf(o.value)),g.scale.x(T)}yvCustom(o,l){const g=this,x=o.axis&&o.axis==="y2"?g.scale.y2:g.scale.y,O=l?o[l]:g.getBaseValue(o);return x(O)}}class Da{constructor(){return{colors:void 0,epochs:[],lines:[],scale_min:void 0,scale_max:void 0,scale_width:20,scale_format:void 0,padding_top:0,padding_right:0,padding_bottom:0,padding_left:0,regions:[]}}}var pf=Object.defineProperty,yf=(r,o,l)=>o in r?pf(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,Pe=(r,o,l)=>yf(r,typeof o!="symbol"?o+"":o,l);class mf extends Aa{constructor(o){return super(o),Pe(this,"config"),Pe(this,"colorScale"),Pe(this,"elements"),this.config=new Da,this}$beforeInit(){const{$$:o}=this;o.config.data_xSort=!1,o.isMultipleX=()=>!0,o.showGridFocus=()=>{},o.labelishData=g=>g.values,o.opacityForCircle=()=>1;const l=o.getCurrentPadding.bind(o);o.getCurrentPadding=()=>{const g=l();return g.right+=this.colorScale?this.colorScale.getColorScalePadding():0,g}}$init(){const{$$:o}=this;Ju.call(this,this.options),o.color=this.getStanfordPointColor.bind(o),this.colorScale=new uf(this),this.elements=new gf(this),this.convertData(),this.initStanfordData(),this.setStanfordTooltip(),this.colorScale.drawColorScale(),o.right+=this.colorScale?this.colorScale.getColorScalePadding():0,this.$redraw()}$redraw(o){var l,g;(l=this.colorScale)==null||l.drawColorScale(),(g=this.elements)==null||g.updateStanfordElements(o)}getOptions(){return new Da}convertData(){const o=this.$$.data.targets,l=this.options.epochs;o.forEach(g=>{g.values.forEach((x,O)=>{x.epochs=l[O]}),g.minEpochs=void 0,g.maxEpochs=void 0,g.colors=void 0,g.colorscale=void 0})}initStanfordData(){const{config:o}=this,l=this.$$.data.targets[0];l.values.sort(lf);const g=l.values.map(x=>x.epochs);l.minEpochs=isNaN(o.scale_min)?Math.min(...g):o.scale_min,l.maxEpochs=isNaN(o.scale_max)?Math.max(...g):o.scale_max,l.colors=Se(o.colors)?o.colors:Bt(rt(250,1,.5),rt(0,1,.5)),l.colorscale=Ue(l.colors).domain([l.minEpochs,l.maxEpochs])}getStanfordPointColor(o){return this.data.targets[0].colorscale(o.epochs)}setStanfordTooltip(){const{config:o}=this.$$;Ta(o.tooltip_contents)&&(o.tooltip_contents=function(l,g,x,O){const{data_x:T}=o;let D=`<table class="${oe.tooltip}"><tbody>`;return l.forEach($=>{const{id:L="",value:H=0,epochs:K=0,x:_=""}=$;D+=`<tr> + <th>${T||""}</th> + <th class="value">${g(_)}</th> + </tr> + <tr> + <th>${$.id}</th> + <th class="value">${x(H)}</th> + </tr> + <tr class="${oe.tooltipName}-${L}"> + <td class="name"><span style="background-color:${O($)}"></span>Epochs</td> + <td class="value">${x(K)}</td> + </tr>`}),`${D}</tbody></table>`})}countEpochsInRegion(o){const g=this.data.targets[0],x=g.values.reduce((T,D)=>T+Number(D.epochs),0),O=g.values.reduce((T,D)=>ff(D,o)?T+Number(D.epochs):T,0);return{value:O,percentage:O!==0?+(O/x*100).toFixed(1):0}}}},85156:function(u,h,t){var n=t(23583),e=t(82453),a=TypeError;u.exports=function(s){if(n(s))return s;throw new a(e(s)+" is not a function")}},80042:function(u,h,t){var n=t(11051),e=t(82453),a=TypeError;u.exports=function(s){if(n(s))return s;throw new a(e(s)+" is not a constructor")}},53408:function(u,h,t){var n=t(52427),e=String,a=TypeError;u.exports=function(s){if(n(s))return s;throw new a("Can't set "+e(s)+" as a prototype")}},76602:function(u,h,t){var n=t(172).has;u.exports=function(e){return n(e),e}},23811:function(u,h,t){var n=t(18565),e=t(5406),a=t(7831).f,s=n("unscopables"),i=Array.prototype;i[s]===void 0&&a(i,s,{configurable:!0,value:e(null)}),u.exports=function(f){i[s][f]=!0}},24487:function(u,h,t){var n=t(22149).charAt;u.exports=function(e,a,s){return a+(s?n(e,a).length:1)}},12833:function(u,h,t){var n=t(95307),e=TypeError;u.exports=function(a,s){if(n(s,a))return a;throw new e("Incorrect invocation")}},25001:function(u,h,t){var n=t(37540),e=String,a=TypeError;u.exports=function(s){if(n(s))return s;throw new a(e(s)+" is not an object")}},3237:function(u){u.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},58360:function(u,h,t){var n=t(34246),e=t(84756),a=t(14274),s=n.ArrayBuffer,i=n.TypeError;u.exports=s&&e(s.prototype,"byteLength","get")||function(f){if(a(f)!=="ArrayBuffer")throw new i("ArrayBuffer expected");return f.byteLength}},30736:function(u,h,t){var n=t(34246),e=t(77422),a=t(58360),s=n.ArrayBuffer,i=s&&s.prototype,f=i&&e(i.slice);u.exports=function(c){if(a(c)!==0||!f)return!1;try{return f(c,0,0),!1}catch(v){return!0}}},72058:function(u,h,t){var n=t(72069);u.exports=n(function(){if(typeof ArrayBuffer=="function"){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}})},83843:function(u,h,t){var n=t(30736),e=TypeError;u.exports=function(a){if(n(a))throw new e("ArrayBuffer is detached");return a}},65006:function(u,h,t){var n=t(34246),e=t(11286),a=t(84756),s=t(9450),i=t(83843),f=t(58360),c=t(63741),v=t(99050),d=n.structuredClone,p=n.ArrayBuffer,y=n.DataView,m=Math.min,S=p.prototype,I=y.prototype,E=e(S.slice),R=a(S,"resizable","get"),N=a(S,"maxByteLength","get"),P=e(I.getInt8),C=e(I.setInt8);u.exports=(v||c)&&function(b,A,M){var F=f(b),B=A===void 0?F:s(A),U=!R||!R(b),j;if(i(b),v&&(b=d(b,{transfer:[b]}),F===B&&(M||U)))return b;if(F>=B&&(!M||U))j=E(b,0,B);else{var W=M&&!U&&N?{maxByteLength:N(b)}:void 0;j=new p(B,W);for(var z=new y(b),w=new y(j),G=m(B,F),V=0;V<G;V++)C(w,V,P(z,V))}return v||c(b),j}},88037:function(u,h,t){var n=t(3237),e=t(92986),a=t(34246),s=t(23583),i=t(37540),f=t(94879),c=t(9205),v=t(82453),d=t(90809),p=t(16142),y=t(85500),m=t(95307),S=t(26313),I=t(15861),E=t(18565),R=t(36374),N=t(82367),P=N.enforce,C=N.get,b=a.Int8Array,A=b&&b.prototype,M=a.Uint8ClampedArray,F=M&&M.prototype,B=b&&S(b),U=A&&S(A),j=Object.prototype,W=a.TypeError,z=E("toStringTag"),w=R("TYPED_ARRAY_TAG"),G="TypedArrayConstructor",V=n&&!!I&&c(a.opera)!=="Opera",X=!1,tt,q,rt,Z={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},mt={BigInt64Array:8,BigUint64Array:8},ht=function(Et){if(!i(Et))return!1;var $t=c(Et);return $t==="DataView"||f(Z,$t)||f(mt,$t)},xt=function(vt){var Et=S(vt);if(i(Et)){var $t=C(Et);return $t&&f($t,G)?$t[G]:xt(Et)}},Rt=function(vt){if(!i(vt))return!1;var Et=c(vt);return f(Z,Et)||f(mt,Et)},Nt=function(vt){if(Rt(vt))return vt;throw new W("Target is not a typed array")},Jt=function(vt){if(s(vt)&&(!I||m(B,vt)))return vt;throw new W(v(vt)+" is not a typed array constructor")},Xt=function(vt,Et,$t,Bt){if(e){if($t)for(var Ft in Z){var Vt=a[Ft];if(Vt&&f(Vt.prototype,vt))try{delete Vt.prototype[vt]}catch(nr){try{Vt.prototype[vt]=Et}catch(tr){}}}(!U[vt]||$t)&&p(U,vt,$t?Et:V&&A[vt]||Et,Bt)}},jt=function(vt,Et,$t){var Bt,Ft;if(e){if(I){if($t){for(Bt in Z)if(Ft=a[Bt],Ft&&f(Ft,vt))try{delete Ft[vt]}catch(Vt){}}if(!B[vt]||$t)try{return p(B,vt,$t?Et:V&&B[vt]||Et)}catch(Vt){}else return}for(Bt in Z)Ft=a[Bt],Ft&&(!Ft[vt]||$t)&&p(Ft,vt,Et)}};for(tt in Z)q=a[tt],rt=q&&q.prototype,rt?P(rt)[G]=q:V=!1;for(tt in mt)q=a[tt],rt=q&&q.prototype,rt&&(P(rt)[G]=q);if((!V||!s(B)||B===Function.prototype)&&(B=function(){throw new W("Incorrect invocation")},V))for(tt in Z)a[tt]&&I(a[tt],B);if((!V||!U||U===j)&&(U=B.prototype,V))for(tt in Z)a[tt]&&I(a[tt].prototype,U);if(V&&S(F)!==U&&I(F,U),e&&!f(U,z)){X=!0,y(U,z,{configurable:!0,get:function(){return i(this)?this[w]:void 0}});for(tt in Z)a[tt]&&d(a[tt],w,tt)}u.exports={NATIVE_ARRAY_BUFFER_VIEWS:V,TYPED_ARRAY_TAG:X&&w,aTypedArray:Nt,aTypedArrayConstructor:Jt,exportTypedArrayMethod:Xt,exportTypedArrayStaticMethod:jt,getTypedArrayConstructor:xt,isView:ht,isTypedArray:Rt,TypedArray:B,TypedArrayPrototype:U}},17468:function(u,h,t){var n=t(34246),e=t(11286),a=t(92986),s=t(3237),i=t(86588),f=t(90809),c=t(85500),v=t(2725),d=t(72069),p=t(12833),y=t(12105),m=t(45344),S=t(9450),I=t(93279),E=t(25212),R=t(26313),N=t(15861),P=t(43011),C=t(22806),b=t(32345),A=t(93706),M=t(78401),F=t(82367),B=i.PROPER,U=i.CONFIGURABLE,j="ArrayBuffer",W="DataView",z="prototype",w="Wrong length",G="Wrong index",V=F.getterFor(j),X=F.getterFor(W),tt=F.set,q=n[j],rt=q,Z=rt&&rt[z],mt=n[W],ht=mt&&mt[z],xt=Object.prototype,Rt=n.Array,Nt=n.RangeError,Jt=e(P),Xt=e([].reverse),jt=E.pack,vt=E.unpack,Et=function(ft){return[ft&255]},$t=function(ft){return[ft&255,ft>>8&255]},Bt=function(ft){return[ft&255,ft>>8&255,ft>>16&255,ft>>24&255]},Ft=function(ft){return ft[3]<<24|ft[2]<<16|ft[1]<<8|ft[0]},Vt=function(ft){return jt(I(ft),23,4)},nr=function(ft){return jt(ft,52,8)},tr=function(ft,ct,nt){c(ft[z],ct,{configurable:!0,get:function(){return nt(this)[ct]}})},Zt=function(ft,ct,nt,Mt){var bt=X(ft),At=S(nt),Tt=!!Mt;if(At+ct>bt.byteLength)throw new Nt(G);var ur=bt.bytes,vr=At+bt.byteOffset,Q=C(ur,vr,vr+ct);return Tt?Q:Xt(Q)},Ht=function(ft,ct,nt,Mt,bt,At){var Tt=X(ft),ur=S(nt),vr=Mt(+bt),Q=!!At;if(ur+ct>Tt.byteLength)throw new Nt(G);for(var ot=Tt.bytes,lt=ur+Tt.byteOffset,st=0;st<ct;st++)ot[lt+st]=vr[Q?st:ct-st-1]};if(!s)rt=function(ct){p(this,Z);var nt=S(ct);tt(this,{type:j,bytes:Jt(Rt(nt),0),byteLength:nt}),a||(this.byteLength=nt,this.detached=!1)},Z=rt[z],mt=function(ct,nt,Mt){p(this,ht),p(ct,Z);var bt=V(ct),At=bt.byteLength,Tt=y(nt);if(Tt<0||Tt>At)throw new Nt("Wrong offset");if(Mt=Mt===void 0?At-Tt:m(Mt),Tt+Mt>At)throw new Nt(w);tt(this,{type:W,buffer:ct,byteLength:Mt,byteOffset:Tt,bytes:bt.bytes}),a||(this.buffer=ct,this.byteLength=Mt,this.byteOffset=Tt)},ht=mt[z],a&&(tr(rt,"byteLength",V),tr(mt,"buffer",X),tr(mt,"byteLength",X),tr(mt,"byteOffset",X)),v(ht,{getInt8:function(ct){return Zt(this,1,ct)[0]<<24>>24},getUint8:function(ct){return Zt(this,1,ct)[0]},getInt16:function(ct){var nt=Zt(this,2,ct,arguments.length>1?arguments[1]:!1);return(nt[1]<<8|nt[0])<<16>>16},getUint16:function(ct){var nt=Zt(this,2,ct,arguments.length>1?arguments[1]:!1);return nt[1]<<8|nt[0]},getInt32:function(ct){return Ft(Zt(this,4,ct,arguments.length>1?arguments[1]:!1))},getUint32:function(ct){return Ft(Zt(this,4,ct,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(ct){return vt(Zt(this,4,ct,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(ct){return vt(Zt(this,8,ct,arguments.length>1?arguments[1]:!1),52)},setInt8:function(ct,nt){Ht(this,1,ct,Et,nt)},setUint8:function(ct,nt){Ht(this,1,ct,Et,nt)},setInt16:function(ct,nt){Ht(this,2,ct,$t,nt,arguments.length>2?arguments[2]:!1)},setUint16:function(ct,nt){Ht(this,2,ct,$t,nt,arguments.length>2?arguments[2]:!1)},setInt32:function(ct,nt){Ht(this,4,ct,Bt,nt,arguments.length>2?arguments[2]:!1)},setUint32:function(ct,nt){Ht(this,4,ct,Bt,nt,arguments.length>2?arguments[2]:!1)},setFloat32:function(ct,nt){Ht(this,4,ct,Vt,nt,arguments.length>2?arguments[2]:!1)},setFloat64:function(ct,nt){Ht(this,8,ct,nr,nt,arguments.length>2?arguments[2]:!1)}});else{var rr=B&&q.name!==j;!d(function(){q(1)})||!d(function(){new q(-1)})||d(function(){return new q,new q(1.5),new q(NaN),q.length!==1||rr&&!U})?(rt=function(ct){return p(this,Z),b(new q(S(ct)),this,rt)},rt[z]=Z,Z.constructor=rt,A(rt,q)):rr&&U&&f(q,"name",j),N&&R(ht)!==xt&&N(ht,xt);var Qt=new mt(new rt(2)),wt=e(ht.setInt8);Qt.setInt8(0,2147483648),Qt.setInt8(1,2147483649),(Qt.getInt8(0)||!Qt.getInt8(1))&&v(ht,{setInt8:function(ct,nt){wt(this,ct,nt<<24>>24)},setUint8:function(ct,nt){wt(this,ct,nt<<24>>24)}},{unsafe:!0})}M(rt,j),M(mt,W),u.exports={ArrayBuffer:rt,DataView:mt}},81499:function(u,h,t){var n=t(49671),e=t(4652),a=t(82628),s=t(12384),i=Math.min;u.exports=[].copyWithin||function(c,v){var d=n(this),p=a(d),y=e(c,p),m=e(v,p),S=arguments.length>2?arguments[2]:void 0,I=i((S===void 0?p:e(S,p))-m,p-y),E=1;for(m<y&&y<m+I&&(E=-1,m+=I-1,y+=I-1);I-- >0;)m in d?d[y]=d[m]:s(d,y),y+=E,m+=E;return d}},43011:function(u,h,t){var n=t(49671),e=t(4652),a=t(82628);u.exports=function(i){for(var f=n(this),c=a(f),v=arguments.length,d=e(v>1?arguments[1]:void 0,c),p=v>2?arguments[2]:void 0,y=p===void 0?c:e(p,c);y>d;)f[d++]=i;return f}},13349:function(u,h,t){var n=t(66655).forEach,e=t(6148),a=e("forEach");u.exports=a?[].forEach:function(i){return n(this,i,arguments.length>1?arguments[1]:void 0)}},5220:function(u,h,t){var n=t(82628);u.exports=function(e,a,s){for(var i=0,f=arguments.length>2?s:n(a),c=new e(f);f>i;)c[i]=a[i++];return c}},48258:function(u,h,t){var n=t(45526),e=t(96499),a=t(49671),s=t(39969),i=t(48199),f=t(11051),c=t(82628),v=t(84082),d=t(90619),p=t(81077),y=Array;u.exports=function(S){var I=a(S),E=f(this),R=arguments.length,N=R>1?arguments[1]:void 0,P=N!==void 0;P&&(N=n(N,R>2?arguments[2]:void 0));var C=p(I),b=0,A,M,F,B,U,j;if(C&&!(this===y&&i(C)))for(M=E?new this:[],B=d(I,C),U=B.next;!(F=e(U,B)).done;b++)j=P?s(B,N,[F.value,b],!0):F.value,v(M,b,j);else for(A=c(I),M=E?new this(A):y(A);A>b;b++)j=P?N(I[b],b):I[b],v(M,b,j);return M.length=b,M}},94319:function(u,h,t){var n=t(36859),e=t(4652),a=t(82628),s=function(i){return function(f,c,v){var d=n(f),p=a(d);if(p===0)return!i&&-1;var y=e(v,p),m;if(i&&c!==c){for(;p>y;)if(m=d[y++],m!==m)return!0}else for(;p>y;y++)if((i||y in d)&&d[y]===c)return i||y||0;return!i&&-1}};u.exports={includes:s(!0),indexOf:s(!1)}},73849:function(u,h,t){var n=t(45526),e=t(72181),a=t(49671),s=t(82628),i=function(f){var c=f===1;return function(v,d,p){for(var y=a(v),m=e(y),S=s(m),I=n(d,p),E,R;S-- >0;)if(E=m[S],R=I(E,S,y),R)switch(f){case 0:return E;case 1:return S}return c?-1:void 0}};u.exports={findLast:i(0),findLastIndex:i(1)}},66655:function(u,h,t){var n=t(45526),e=t(11286),a=t(72181),s=t(49671),i=t(82628),f=t(62083),c=e([].push),v=function(d){var p=d===1,y=d===2,m=d===3,S=d===4,I=d===6,E=d===7,R=d===5||I;return function(N,P,C,b){for(var A=s(N),M=a(A),F=i(M),B=n(P,C),U=0,j=b||f,W=p?j(N,F):y||E?j(N,0):void 0,z,w;F>U;U++)if((R||U in M)&&(z=M[U],w=B(z,U,A),d))if(p)W[U]=w;else if(w)switch(d){case 3:return!0;case 5:return z;case 6:return U;case 2:c(W,z)}else switch(d){case 4:return!1;case 7:c(W,z)}return I?-1:m||S?S:W}};u.exports={forEach:v(0),map:v(1),filter:v(2),some:v(3),every:v(4),find:v(5),findIndex:v(6),filterReject:v(7)}},58465:function(u,h,t){var n=t(66543),e=t(36859),a=t(12105),s=t(82628),i=t(6148),f=Math.min,c=[].lastIndexOf,v=!!c&&1/[1].lastIndexOf(1,-0)<0,d=i("lastIndexOf"),p=v||!d;u.exports=p?function(m){if(v)return n(c,this,arguments)||0;var S=e(this),I=s(S);if(I===0)return-1;var E=I-1;for(arguments.length>1&&(E=f(E,a(arguments[1]))),E<0&&(E=I+E);E>=0;E--)if(E in S&&S[E]===m)return E||0;return-1}:c},52183:function(u,h,t){var n=t(72069),e=t(18565),a=t(44241),s=e("species");u.exports=function(i){return a>=51||!n(function(){var f=[],c=f.constructor={};return c[s]=function(){return{foo:1}},f[i](Boolean).foo!==1})}},6148:function(u,h,t){var n=t(72069);u.exports=function(e,a){var s=[][e];return!!s&&n(function(){s.call(null,a||function(){return 1},1)})}},97264:function(u,h,t){var n=t(85156),e=t(49671),a=t(72181),s=t(82628),i=TypeError,f="Reduce of empty array with no initial value",c=function(v){return function(d,p,y,m){var S=e(d),I=a(S),E=s(S);if(n(p),E===0&&y<2)throw new i(f);var R=v?E-1:0,N=v?-1:1;if(y<2)for(;;){if(R in I){m=I[R],R+=N;break}if(R+=N,v?R<0:E<=R)throw new i(f)}for(;v?R>=0:E>R;R+=N)R in I&&(m=p(m,I[R],R,S));return m}};u.exports={left:c(!1),right:c(!0)}},2213:function(u,h,t){var n=t(92986),e=t(3438),a=TypeError,s=Object.getOwnPropertyDescriptor,i=n&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(f){return f instanceof TypeError}}();u.exports=i?function(f,c){if(e(f)&&!s(f,"length").writable)throw new a("Cannot set read only .length");return f.length=c}:function(f,c){return f.length=c}},22806:function(u,h,t){var n=t(11286);u.exports=n([].slice)},13270:function(u,h,t){var n=t(22806),e=Math.floor,a=function(s,i){var f=s.length;if(f<8)for(var c=1,v,d;c<f;){for(d=c,v=s[c];d&&i(s[d-1],v)>0;)s[d]=s[--d];d!==c++&&(s[d]=v)}else for(var p=e(f/2),y=a(n(s,0,p),i),m=a(n(s,p),i),S=y.length,I=m.length,E=0,R=0;E<S||R<I;)s[E+R]=E<S&&R<I?i(y[E],m[R])<=0?y[E++]:m[R++]:E<S?y[E++]:m[R++];return s};u.exports=a},37555:function(u,h,t){var n=t(3438),e=t(11051),a=t(37540),s=t(18565),i=s("species"),f=Array;u.exports=function(c){var v;return n(c)&&(v=c.constructor,e(v)&&(v===f||n(v.prototype))?v=void 0:a(v)&&(v=v[i],v===null&&(v=void 0))),v===void 0?f:v}},62083:function(u,h,t){var n=t(37555);u.exports=function(e,a){return new(n(e))(a===0?0:a)}},61638:function(u,h,t){var n=t(82628);u.exports=function(e,a){for(var s=n(e),i=new a(s),f=0;f<s;f++)i[f]=e[s-f-1];return i}},72302:function(u,h,t){var n=t(82628),e=t(12105),a=RangeError;u.exports=function(s,i,f,c){var v=n(s),d=e(f),p=d<0?v+d:d;if(p>=v||p<0)throw new a("Incorrect index");for(var y=new i(v),m=0;m<v;m++)y[m]=m===p?c:s[m];return y}},6210:function(u){var h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t=h+"+/",n=h+"-_",e=function(a){for(var s={},i=0;i<64;i++)s[a.charAt(i)]=i;return s};u.exports={i2c:t,c2i:e(t),i2cUrl:n,c2iUrl:e(n)}},39969:function(u,h,t){var n=t(25001),e=t(99797);u.exports=function(a,s,i,f){try{return f?s(n(i)[0],i[1]):s(i)}catch(c){e(a,"throw",c)}}},97494:function(u,h,t){var n=t(18565),e=n("iterator"),a=!1;try{var s=0,i={next:function(){return{done:!!s++}},return:function(){a=!0}};i[e]=function(){return this},Array.from(i,function(){throw 2})}catch(f){}u.exports=function(f,c){try{if(!c&&!a)return!1}catch(p){return!1}var v=!1;try{var d={};d[e]=function(){return{next:function(){return{done:v=!0}}}},f(d)}catch(p){}return v}},14274:function(u,h,t){var n=t(11286),e=n({}.toString),a=n("".slice);u.exports=function(s){return a(e(s),8,-1)}},9205:function(u,h,t){var n=t(67878),e=t(23583),a=t(14274),s=t(18565),i=s("toStringTag"),f=Object,c=a(function(){return arguments}())==="Arguments",v=function(d,p){try{return d[p]}catch(y){}};u.exports=n?a:function(d){var p,y,m;return d===void 0?"Undefined":d===null?"Null":typeof(y=v(p=f(d),i))=="string"?y:c?a(p):(m=a(p))==="Object"&&e(p.callee)?"Arguments":m}},34440:function(u,h,t){var n=t(5406),e=t(85500),a=t(2725),s=t(45526),i=t(12833),f=t(5683),c=t(55902),v=t(10218),d=t(10659),p=t(36167),y=t(92986),m=t(31853).fastKey,S=t(82367),I=S.set,E=S.getterFor;u.exports={getConstructor:function(R,N,P,C){var b=R(function(U,j){i(U,A),I(U,{type:N,index:n(null),first:null,last:null,size:0}),y||(U.size=0),f(j)||c(j,U[C],{that:U,AS_ENTRIES:P})}),A=b.prototype,M=E(N),F=function(U,j,W){var z=M(U),w=B(U,j),G,V;return w?w.value=W:(z.last=w={index:V=m(j,!0),key:j,value:W,previous:G=z.last,next:null,removed:!1},z.first||(z.first=w),G&&(G.next=w),y?z.size++:U.size++,V!=="F"&&(z.index[V]=w)),U},B=function(U,j){var W=M(U),z=m(j),w;if(z!=="F")return W.index[z];for(w=W.first;w;w=w.next)if(w.key===j)return w};return a(A,{clear:function(){for(var j=this,W=M(j),z=W.first;z;)z.removed=!0,z.previous&&(z.previous=z.previous.next=null),z=z.next;W.first=W.last=null,W.index=n(null),y?W.size=0:j.size=0},delete:function(U){var j=this,W=M(j),z=B(j,U);if(z){var w=z.next,G=z.previous;delete W.index[z.index],z.removed=!0,G&&(G.next=w),w&&(w.previous=G),W.first===z&&(W.first=w),W.last===z&&(W.last=G),y?W.size--:j.size--}return!!z},forEach:function(j){for(var W=M(this),z=s(j,arguments.length>1?arguments[1]:void 0),w;w=w?w.next:W.first;)for(z(w.value,w.key,this);w&&w.removed;)w=w.previous},has:function(j){return!!B(this,j)}}),a(A,P?{get:function(j){var W=B(this,j);return W&&W.value},set:function(j,W){return F(this,j===0?0:j,W)}}:{add:function(j){return F(this,j=j===0?0:j,j)}}),y&&e(A,"size",{configurable:!0,get:function(){return M(this).size}}),b},setStrong:function(R,N,P){var C=N+" Iterator",b=E(N),A=E(C);v(R,N,function(M,F){I(this,{type:C,target:M,state:b(M),kind:F,last:null})},function(){for(var M=A(this),F=M.kind,B=M.last;B&&B.removed;)B=B.previous;return!M.target||!(M.last=B=B?B.next:M.state.first)?(M.target=null,d(void 0,!0)):d(F==="keys"?B.key:F==="values"?B.value:[B.key,B.value],!1)},P?"entries":"values",!P,!0),p(N)}}},94667:function(u,h,t){var n=t(11286),e=t(2725),a=t(31853).getWeakData,s=t(12833),i=t(25001),f=t(5683),c=t(37540),v=t(55902),d=t(66655),p=t(94879),y=t(82367),m=y.set,S=y.getterFor,I=d.find,E=d.findIndex,R=n([].splice),N=0,P=function(A){return A.frozen||(A.frozen=new C)},C=function(){this.entries=[]},b=function(A,M){return I(A.entries,function(F){return F[0]===M})};C.prototype={get:function(A){var M=b(this,A);if(M)return M[1]},has:function(A){return!!b(this,A)},set:function(A,M){var F=b(this,A);F?F[1]=M:this.entries.push([A,M])},delete:function(A){var M=E(this.entries,function(F){return F[0]===A});return~M&&R(this.entries,M,1),!!~M}},u.exports={getConstructor:function(A,M,F,B){var U=A(function(w,G){s(w,j),m(w,{type:M,id:N++,frozen:null}),f(G)||v(G,w[B],{that:w,AS_ENTRIES:F})}),j=U.prototype,W=S(M),z=function(w,G,V){var X=W(w),tt=a(i(G),!0);return tt===!0?P(X).set(G,V):tt[X.id]=V,w};return e(j,{delete:function(w){var G=W(this);if(!c(w))return!1;var V=a(w);return V===!0?P(G).delete(w):V&&p(V,G.id)&&delete V[G.id]},has:function(G){var V=W(this);if(!c(G))return!1;var X=a(G);return X===!0?P(V).has(G):X&&p(X,V.id)}}),e(j,F?{get:function(G){var V=W(this);if(c(G)){var X=a(G);if(X===!0)return P(V).get(G);if(X)return X[V.id]}},set:function(G,V){return z(this,G,V)}}:{add:function(G){return z(this,G,!0)}}),U}}},89378:function(u,h,t){var n=t(14304),e=t(34246),a=t(11286),s=t(13278),i=t(16142),f=t(31853),c=t(55902),v=t(12833),d=t(23583),p=t(5683),y=t(37540),m=t(72069),S=t(97494),I=t(78401),E=t(32345);u.exports=function(R,N,P){var C=R.indexOf("Map")!==-1,b=R.indexOf("Weak")!==-1,A=C?"set":"add",M=e[R],F=M&&M.prototype,B=M,U={},j=function(tt){var q=a(F[tt]);i(F,tt,tt==="add"?function(Z){return q(this,Z===0?0:Z),this}:tt==="delete"?function(rt){return b&&!y(rt)?!1:q(this,rt===0?0:rt)}:tt==="get"?function(Z){return b&&!y(Z)?void 0:q(this,Z===0?0:Z)}:tt==="has"?function(Z){return b&&!y(Z)?!1:q(this,Z===0?0:Z)}:function(Z,mt){return q(this,Z===0?0:Z,mt),this})},W=s(R,!d(M)||!(b||F.forEach&&!m(function(){new M().entries().next()})));if(W)B=P.getConstructor(N,R,C,A),f.enable();else if(s(R,!0)){var z=new B,w=z[A](b?{}:-0,1)!==z,G=m(function(){z.has(1)}),V=S(function(tt){new M(tt)}),X=!b&&m(function(){for(var tt=new M,q=5;q--;)tt[A](q,q);return!tt.has(-0)});V||(B=N(function(tt,q){v(tt,F);var rt=E(new M,tt,B);return p(q)||c(q,rt[A],{that:rt,AS_ENTRIES:C}),rt}),B.prototype=F,F.constructor=B),(G||X)&&(j("delete"),j("has"),C&&j("get")),(X||w)&&j(A),b&&F.clear&&delete F.clear}return U[R]=B,n({global:!0,constructor:!0,forced:B!==M},U),I(B,R),b||P.setStrong(B,R,C),B}},93706:function(u,h,t){var n=t(94879),e=t(16885),a=t(71349),s=t(7831);u.exports=function(i,f,c){for(var v=e(f),d=s.f,p=a.f,y=0;y<v.length;y++){var m=v[y];!n(i,m)&&!(c&&n(c,m))&&d(i,m,p(f,m))}}},8790:function(u,h,t){var n=t(18565),e=n("match");u.exports=function(a){var s=/./;try{"/./"[a](s)}catch(i){try{return s[e]=!1,"/./"[a](s)}catch(f){}}return!1}},87501:function(u,h,t){var n=t(72069);u.exports=!n(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})},68422:function(u,h,t){var n=t(11286),e=t(2068),a=t(17361),s=/"/g,i=n("".replace);u.exports=function(f,c,v,d){var p=a(e(f)),y="<"+c;return v!==""&&(y+=" "+v+'="'+i(a(d),s,""")+'"'),y+">"+p+"</"+c+">"}},10659:function(u){u.exports=function(h,t){return{value:h,done:t}}},90809:function(u,h,t){var n=t(92986),e=t(7831),a=t(18526);u.exports=n?function(s,i,f){return e.f(s,i,a(1,f))}:function(s,i,f){return s[i]=f,s}},18526:function(u){u.exports=function(h,t){return{enumerable:!(h&1),configurable:!(h&2),writable:!(h&4),value:t}}},84082:function(u,h,t){var n=t(92986),e=t(7831),a=t(18526);u.exports=function(s,i,f){n?e.f(s,i,a(0,f)):s[i]=f}},11890:function(u,h,t){var n=t(11286),e=t(72069),a=t(61607).start,s=RangeError,i=isFinite,f=Math.abs,c=Date.prototype,v=c.toISOString,d=n(c.getTime),p=n(c.getUTCDate),y=n(c.getUTCFullYear),m=n(c.getUTCHours),S=n(c.getUTCMilliseconds),I=n(c.getUTCMinutes),E=n(c.getUTCMonth),R=n(c.getUTCSeconds);u.exports=e(function(){return v.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!e(function(){v.call(new Date(NaN))})?function(){if(!i(d(this)))throw new s("Invalid time value");var P=this,C=y(P),b=S(P),A=C<0?"-":C>9999?"+":"";return A+a(f(C),A?6:4,0)+"-"+a(E(P)+1,2,0)+"-"+a(p(P),2,0)+"T"+a(m(P),2,0)+":"+a(I(P),2,0)+":"+a(R(P),2,0)+"."+a(b,3,0)+"Z"}:v},84306:function(u,h,t){var n=t(25001),e=t(2064),a=TypeError;u.exports=function(s){if(n(this),s==="string"||s==="default")s="string";else if(s!=="number")throw new a("Incorrect hint");return e(this,s)}},85500:function(u,h,t){var n=t(13749),e=t(7831);u.exports=function(a,s,i){return i.get&&n(i.get,s,{getter:!0}),i.set&&n(i.set,s,{setter:!0}),e.f(a,s,i)}},16142:function(u,h,t){var n=t(23583),e=t(7831),a=t(13749),s=t(36003);u.exports=function(i,f,c,v){v||(v={});var d=v.enumerable,p=v.name!==void 0?v.name:f;if(n(c)&&a(c,p,v),v.global)d?i[f]=c:s(f,c);else{try{v.unsafe?i[f]&&(d=!0):delete i[f]}catch(y){}d?i[f]=c:e.f(i,f,{value:c,enumerable:!1,configurable:!v.nonConfigurable,writable:!v.nonWritable})}return i}},2725:function(u,h,t){var n=t(16142);u.exports=function(e,a,s){for(var i in a)n(e,i,a[i],s);return e}},36003:function(u,h,t){var n=t(34246),e=Object.defineProperty;u.exports=function(a,s){try{e(n,a,{value:s,configurable:!0,writable:!0})}catch(i){n[a]=s}return s}},12384:function(u,h,t){var n=t(82453),e=TypeError;u.exports=function(a,s){if(!delete a[s])throw new e("Cannot delete property "+n(s)+" of "+n(a))}},92986:function(u,h,t){var n=t(72069);u.exports=!n(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},63741:function(u,h,t){var n=t(34246),e=t(81191),a=t(99050),s=n.structuredClone,i=n.ArrayBuffer,f=n.MessageChannel,c=!1,v,d,p,y;if(a)c=function(m){s(m,{transfer:[m]})};else if(i)try{f||(v=e("worker_threads"),v&&(f=v.MessageChannel)),f&&(d=new f,p=new i(2),y=function(m){d.port1.postMessage(null,[m])},p.byteLength===2&&(y(p),p.byteLength===0&&(c=y)))}catch(m){}u.exports=c},85501:function(u,h,t){var n=t(34246),e=t(37540),a=n.document,s=e(a)&&e(a.createElement);u.exports=function(i){return s?a.createElement(i):{}}},20095:function(u){var h=TypeError,t=9007199254740991;u.exports=function(n){if(n>t)throw h("Maximum allowed index exceeded");return n}},74408:function(u){u.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},93014:function(u){u.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},39882:function(u,h,t){var n=t(85501),e=n("span").classList,a=e&&e.constructor&&e.constructor.prototype;u.exports=a===Object.prototype?void 0:a},75785:function(u){u.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},507:function(u,h,t){var n=t(18257),e=n.match(/firefox\/(\d+)/i);u.exports=!!e&&+e[1]},17417:function(u,h,t){var n=t(18257);u.exports=/MSIE|Trident/.test(n)},7307:function(u,h,t){var n=t(18257);u.exports=/ipad|iphone|ipod/i.test(n)&&typeof Pebble!="undefined"},5286:function(u,h,t){var n=t(18257);u.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(n)},91707:function(u,h,t){var n=t(21501);u.exports=n==="NODE"},67722:function(u,h,t){var n=t(18257);u.exports=/web0s(?!.*chrome)/i.test(n)},18257:function(u,h,t){var n=t(34246),e=n.navigator,a=e&&e.userAgent;u.exports=a?String(a):""},44241:function(u,h,t){var n=t(34246),e=t(18257),a=n.process,s=n.Deno,i=a&&a.versions||s&&s.version,f=i&&i.v8,c,v;f&&(c=f.split("."),v=c[0]>0&&c[0]<4?1:+(c[0]+c[1])),!v&&e&&(c=e.match(/Edge\/(\d+)/),(!c||c[1]>=74)&&(c=e.match(/Chrome\/(\d+)/),c&&(v=+c[1]))),u.exports=v},66577:function(u,h,t){var n=t(18257),e=n.match(/AppleWebKit\/(\d+)\./);u.exports=!!e&&+e[1]},21501:function(u,h,t){var n=t(34246),e=t(18257),a=t(14274),s=function(i){return e.slice(0,i.length)===i};u.exports=function(){return s("Bun/")?"BUN":s("Cloudflare-Workers")?"CLOUDFLARE":s("Deno/")?"DENO":s("Node.js/")?"NODE":n.Bun&&typeof Bun.version=="string"?"BUN":n.Deno&&typeof Deno.version=="object"?"DENO":a(n.process)==="process"?"NODE":n.window&&n.document?"BROWSER":"REST"}()},40851:function(u,h,t){var n=t(11286),e=Error,a=n("".replace),s=function(c){return String(new e(c).stack)}("zxcasd"),i=/\n\s*at [^:]*:[^\n]*/,f=i.test(s);u.exports=function(c,v){if(f&&typeof c=="string"&&!e.prepareStackTrace)for(;v--;)c=a(c,i,"");return c}},97077:function(u,h,t){var n=t(90809),e=t(40851),a=t(16929),s=Error.captureStackTrace;u.exports=function(i,f,c,v){a&&(s?s(i,f):n(i,"stack",e(c,v)))}},16929:function(u,h,t){var n=t(72069),e=t(18526);u.exports=!n(function(){var a=new Error("a");return"stack"in a?(Object.defineProperty(a,"stack",e(1,7)),a.stack!==7):!0})},58434:function(u,h,t){var n=t(92986),e=t(72069),a=t(25001),s=t(15453),i=Error.prototype.toString,f=e(function(){if(n){var c=Object.create(Object.defineProperty({},"name",{get:function(){return this===c}}));if(i.call(c)!=="true")return!0}return i.call({message:1,name:2})!=="2: 1"||i.call({})!=="Error"});u.exports=f?function(){var v=a(this),d=s(v.name,"Error"),p=s(v.message);return d?p?d+": "+p:d:p}:i},14304:function(u,h,t){var n=t(34246),e=t(71349).f,a=t(90809),s=t(16142),i=t(36003),f=t(93706),c=t(13278);u.exports=function(v,d){var p=v.target,y=v.global,m=v.stat,S,I,E,R,N,P;if(y?I=n:m?I=n[p]||i(p,{}):I=n[p]&&n[p].prototype,I)for(E in d){if(N=d[E],v.dontCallGetSet?(P=e(I,E),R=P&&P.value):R=I[E],S=c(y?E:p+(m?".":"#")+E,v.forced),!S&&R!==void 0){if(typeof N==typeof R)continue;f(N,R)}(v.sham||R&&R.sham)&&a(N,"sham",!0),s(I,E,N,v)}}},72069:function(u){u.exports=function(h){try{return!!h()}catch(t){return!0}}},63194:function(u,h,t){t(31145);var n=t(96499),e=t(16142),a=t(44381),s=t(72069),i=t(18565),f=t(90809),c=i("species"),v=RegExp.prototype;u.exports=function(d,p,y,m){var S=i(d),I=!s(function(){var P={};return P[S]=function(){return 7},""[d](P)!==7}),E=I&&!s(function(){var P=!1,C=/a/;return d==="split"&&(C={},C.constructor={},C.constructor[c]=function(){return C},C.flags="",C[S]=/./[S]),C.exec=function(){return P=!0,null},C[S](""),!P});if(!I||!E||y){var R=/./[S],N=p(S,""[d],function(P,C,b,A,M){var F=C.exec;return F===a||F===v.exec?I&&!M?{done:!0,value:n(R,C,b,A)}:{done:!0,value:n(P,b,C,A)}:{done:!1}});e(String.prototype,d,N[0]),e(v,S,N[1])}m&&f(v[S],"sham",!0)}},53149:function(u,h,t){var n=t(3438),e=t(82628),a=t(20095),s=t(45526),i=function(f,c,v,d,p,y,m,S){for(var I=p,E=0,R=m?s(m,S):!1,N,P;E<d;)E in v&&(N=R?R(v[E],E,c):v[E],y>0&&n(N)?(P=e(N),I=i(f,c,N,P,I,y-1)-1):(a(I+1),f[I]=N),I++),E++;return I};u.exports=i},27534:function(u,h,t){var n=t(72069);u.exports=!n(function(){return Object.isExtensible(Object.preventExtensions({}))})},66543:function(u,h,t){var n=t(87878),e=Function.prototype,a=e.apply,s=e.call;u.exports=typeof Reflect=="object"&&Reflect.apply||(n?s.bind(a):function(){return s.apply(a,arguments)})},45526:function(u,h,t){var n=t(77422),e=t(85156),a=t(87878),s=n(n.bind);u.exports=function(i,f){return e(i),f===void 0?i:a?s(i,f):function(){return i.apply(f,arguments)}}},87878:function(u,h,t){var n=t(72069);u.exports=!n(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")})},91384:function(u,h,t){var n=t(11286),e=t(85156),a=t(37540),s=t(94879),i=t(22806),f=t(87878),c=Function,v=n([].concat),d=n([].join),p={},y=function(m,S,I){if(!s(p,S)){for(var E=[],R=0;R<S;R++)E[R]="a["+R+"]";p[S]=c("C,a","return new C("+d(E,",")+")")}return p[S](m,I)};u.exports=f?c.bind:function(S){var I=e(this),E=I.prototype,R=i(arguments,1),N=function(){var C=v(R,i(arguments));return this instanceof N?y(I,C.length,C):I.apply(S,C)};return a(E)&&(N.prototype=E),N}},96499:function(u,h,t){var n=t(87878),e=Function.prototype.call;u.exports=n?e.bind(e):function(){return e.apply(e,arguments)}},86588:function(u,h,t){var n=t(92986),e=t(94879),a=Function.prototype,s=n&&Object.getOwnPropertyDescriptor,i=e(a,"name"),f=i&&function(){}.name==="something",c=i&&(!n||n&&s(a,"name").configurable);u.exports={EXISTS:i,PROPER:f,CONFIGURABLE:c}},84756:function(u,h,t){var n=t(11286),e=t(85156);u.exports=function(a,s,i){try{return n(e(Object.getOwnPropertyDescriptor(a,s)[i]))}catch(f){}}},77422:function(u,h,t){var n=t(14274),e=t(11286);u.exports=function(a){if(n(a)==="Function")return e(a)}},11286:function(u,h,t){var n=t(87878),e=Function.prototype,a=e.call,s=n&&e.bind.bind(a,a);u.exports=n?s:function(i){return function(){return a.apply(i,arguments)}}},81191:function(u,h,t){var n=t(34246),e=t(91707);u.exports=function(a){if(e){try{return n.process.getBuiltinModule(a)}catch(s){}try{return Function('return require("'+a+'")')()}catch(s){}}}},65470:function(u,h,t){var n=t(34246);u.exports=function(e,a){var s=n[e],i=s&&s.prototype;return i&&i[a]}},38941:function(u,h,t){var n=t(34246),e=t(23583),a=function(s){return e(s)?s:void 0};u.exports=function(s,i){return arguments.length<2?a(n[s]):n[s]&&n[s][i]}},10613:function(u){u.exports=function(h){return{iterator:h,next:h.next,done:!1}}},12124:function(u,h,t){var n=t(96499),e=t(25001),a=t(10613),s=t(81077);u.exports=function(i,f){(!f||typeof i!="string")&&e(i);var c=s(i);return a(e(c!==void 0?n(c,i):i))}},81077:function(u,h,t){var n=t(9205),e=t(10512),a=t(5683),s=t(29107),i=t(18565),f=i("iterator");u.exports=function(c){if(!a(c))return e(c,f)||e(c,"@@iterator")||s[n(c)]}},90619:function(u,h,t){var n=t(96499),e=t(85156),a=t(25001),s=t(82453),i=t(81077),f=TypeError;u.exports=function(c,v){var d=arguments.length<2?i(c):v;if(e(d))return a(n(d,c));throw new f(s(c)+" is not iterable")}},10443:function(u,h,t){var n=t(11286),e=t(3438),a=t(23583),s=t(14274),i=t(17361),f=n([].push);u.exports=function(c){if(a(c))return c;if(e(c)){for(var v=c.length,d=[],p=0;p<v;p++){var y=c[p];typeof y=="string"?f(d,y):(typeof y=="number"||s(y)==="Number"||s(y)==="String")&&f(d,i(y))}var m=d.length,S=!0;return function(I,E){if(S)return S=!1,E;if(e(this))return E;for(var R=0;R<m;R++)if(d[R]===I)return E}}}},10512:function(u,h,t){var n=t(85156),e=t(5683);u.exports=function(a,s){var i=a[s];return e(i)?void 0:n(i)}},65263:function(u,h,t){var n=t(85156),e=t(25001),a=t(96499),s=t(12105),i=t(10613),f="Invalid size",c=RangeError,v=TypeError,d=Math.max,p=function(y,m){this.set=y,this.size=d(m,0),this.has=n(y.has),this.keys=n(y.keys)};p.prototype={getIterator:function(){return i(e(a(this.keys,this.set)))},includes:function(y){return a(this.has,this.set,y)}},u.exports=function(y){e(y);var m=+y.size;if(m!==m)throw new v(f);var S=s(m);if(S<0)throw new c(f);return new p(y,S)}},38368:function(u,h,t){var n=t(11286),e=t(49671),a=Math.floor,s=n("".charAt),i=n("".replace),f=n("".slice),c=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,v=/\$([$&'`]|\d{1,2})/g;u.exports=function(d,p,y,m,S,I){var E=y+d.length,R=m.length,N=v;return S!==void 0&&(S=e(S),N=c),i(I,N,function(P,C){var b;switch(s(C,0)){case"$":return"$";case"&":return d;case"`":return f(p,0,y);case"'":return f(p,E);case"<":b=S[f(C,1,-1)];break;default:var A=+C;if(A===0)return P;if(A>R){var M=a(A/10);return M===0?P:M<=R?m[M-1]===void 0?s(C,1):m[M-1]+s(C,1):P}b=m[A-1]}return b===void 0?"":b})}},34246:function(u){var h=function(t){return t&&t.Math===Math&&t};u.exports=h(typeof globalThis=="object"&&globalThis)||h(typeof window=="object"&&window)||h(typeof self=="object"&&self)||h(typeof global=="object"&&global)||h(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},94879:function(u,h,t){var n=t(11286),e=t(49671),a=n({}.hasOwnProperty);u.exports=Object.hasOwn||function(i,f){return a(e(i),f)}},19423:function(u){u.exports={}},99095:function(u){u.exports=function(h,t){try{arguments.length===1?console.error(h):console.error(h,t)}catch(n){}}},96439:function(u,h,t){var n=t(38941);u.exports=n("document","documentElement")},52515:function(u,h,t){var n=t(92986),e=t(72069),a=t(85501);u.exports=!n&&!e(function(){return Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a!==7})},25212:function(u){var h=Array,t=Math.abs,n=Math.pow,e=Math.floor,a=Math.log,s=Math.LN2,i=function(c,v,d){var p=h(d),y=d*8-v-1,m=(1<<y)-1,S=m>>1,I=v===23?n(2,-24)-n(2,-77):0,E=c<0||c===0&&1/c<0?1:0,R=0,N,P,C;for(c=t(c),c!==c||c===1/0?(P=c!==c?1:0,N=m):(N=e(a(c)/s),C=n(2,-N),c*C<1&&(N--,C*=2),N+S>=1?c+=I/C:c+=I*n(2,1-S),c*C>=2&&(N++,C/=2),N+S>=m?(P=0,N=m):N+S>=1?(P=(c*C-1)*n(2,v),N+=S):(P=c*n(2,S-1)*n(2,v),N=0));v>=8;)p[R++]=P&255,P/=256,v-=8;for(N=N<<v|P,y+=v;y>0;)p[R++]=N&255,N/=256,y-=8;return p[R-1]|=E*128,p},f=function(c,v){var d=c.length,p=d*8-v-1,y=(1<<p)-1,m=y>>1,S=p-7,I=d-1,E=c[I--],R=E&127,N;for(E>>=7;S>0;)R=R*256+c[I--],S-=8;for(N=R&(1<<-S)-1,R>>=-S,S+=v;S>0;)N=N*256+c[I--],S-=8;if(R===0)R=1-m;else{if(R===y)return N?NaN:E?-1/0:1/0;N+=n(2,v),R-=m}return(E?-1:1)*N*n(2,R-v)};u.exports={pack:i,unpack:f}},72181:function(u,h,t){var n=t(11286),e=t(72069),a=t(14274),s=Object,i=n("".split);u.exports=e(function(){return!s("z").propertyIsEnumerable(0)})?function(f){return a(f)==="String"?i(f,""):s(f)}:s},32345:function(u,h,t){var n=t(23583),e=t(37540),a=t(15861);u.exports=function(s,i,f){var c,v;return a&&n(c=i.constructor)&&c!==f&&e(v=c.prototype)&&v!==f.prototype&&a(s,v),s}},84352:function(u,h,t){var n=t(11286),e=t(23583),a=t(70443),s=n(Function.toString);e(a.inspectSource)||(a.inspectSource=function(i){return s(i)}),u.exports=a.inspectSource},31486:function(u,h,t){var n=t(37540),e=t(90809);u.exports=function(a,s){n(s)&&"cause"in s&&e(a,"cause",s.cause)}},31853:function(u,h,t){var n=t(14304),e=t(11286),a=t(19423),s=t(37540),i=t(94879),f=t(7831).f,c=t(83258),v=t(92880),d=t(28174),p=t(36374),y=t(27534),m=!1,S=p("meta"),I=0,E=function(A){f(A,S,{value:{objectID:"O"+I++,weakData:{}}})},R=function(A,M){if(!s(A))return typeof A=="symbol"?A:(typeof A=="string"?"S":"P")+A;if(!i(A,S)){if(!d(A))return"F";if(!M)return"E";E(A)}return A[S].objectID},N=function(A,M){if(!i(A,S)){if(!d(A))return!0;if(!M)return!1;E(A)}return A[S].weakData},P=function(A){return y&&m&&d(A)&&!i(A,S)&&E(A),A},C=function(){b.enable=function(){},m=!0;var A=c.f,M=e([].splice),F={};F[S]=1,A(F).length&&(c.f=function(B){for(var U=A(B),j=0,W=U.length;j<W;j++)if(U[j]===S){M(U,j,1);break}return U},n({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:v.f}))},b=u.exports={enable:C,fastKey:R,getWeakData:N,onFreeze:P};a[S]=!0},82367:function(u,h,t){var n=t(42960),e=t(34246),a=t(37540),s=t(90809),i=t(94879),f=t(70443),c=t(44869),v=t(19423),d="Object already initialized",p=e.TypeError,y=e.WeakMap,m,S,I,E=function(C){return I(C)?S(C):m(C,{})},R=function(C){return function(b){var A;if(!a(b)||(A=S(b)).type!==C)throw new p("Incompatible receiver, "+C+" required");return A}};if(n||f.state){var N=f.state||(f.state=new y);N.get=N.get,N.has=N.has,N.set=N.set,m=function(C,b){if(N.has(C))throw new p(d);return b.facade=C,N.set(C,b),b},S=function(C){return N.get(C)||{}},I=function(C){return N.has(C)}}else{var P=c("state");v[P]=!0,m=function(C,b){if(i(C,P))throw new p(d);return b.facade=C,s(C,P,b),b},S=function(C){return i(C,P)?C[P]:{}},I=function(C){return i(C,P)}}u.exports={set:m,get:S,has:I,enforce:E,getterFor:R}},48199:function(u,h,t){var n=t(18565),e=t(29107),a=n("iterator"),s=Array.prototype;u.exports=function(i){return i!==void 0&&(e.Array===i||s[a]===i)}},3438:function(u,h,t){var n=t(14274);u.exports=Array.isArray||function(a){return n(a)==="Array"}},77129:function(u,h,t){var n=t(9205);u.exports=function(e){var a=n(e);return a==="BigInt64Array"||a==="BigUint64Array"}},23583:function(u){var h=typeof document=="object"&&document.all;u.exports=typeof h=="undefined"&&h!==void 0?function(t){return typeof t=="function"||t===h}:function(t){return typeof t=="function"}},11051:function(u,h,t){var n=t(11286),e=t(72069),a=t(23583),s=t(9205),i=t(38941),f=t(84352),c=function(){},v=i("Reflect","construct"),d=/^\s*(?:class|function)\b/,p=n(d.exec),y=!d.test(c),m=function(E){if(!a(E))return!1;try{return v(c,[],E),!0}catch(R){return!1}},S=function(E){if(!a(E))return!1;switch(s(E)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return y||!!p(d,f(E))}catch(R){return!0}};S.sham=!0,u.exports=!v||e(function(){var I;return m(m.call)||!m(Object)||!m(function(){I=!0})||I})?S:m},69745:function(u,h,t){var n=t(94879);u.exports=function(e){return e!==void 0&&(n(e,"value")||n(e,"writable"))}},13278:function(u,h,t){var n=t(72069),e=t(23583),a=/#|\.prototype\./,s=function(d,p){var y=f[i(d)];return y===v?!0:y===c?!1:e(p)?n(p):!!p},i=s.normalize=function(d){return String(d).replace(a,".").toLowerCase()},f=s.data={},c=s.NATIVE="N",v=s.POLYFILL="P";u.exports=s},613:function(u,h,t){var n=t(37540),e=Math.floor;u.exports=Number.isInteger||function(s){return!n(s)&&isFinite(s)&&e(s)===s}},5683:function(u){u.exports=function(h){return h==null}},37540:function(u,h,t){var n=t(23583);u.exports=function(e){return typeof e=="object"?e!==null:n(e)}},52427:function(u,h,t){var n=t(37540);u.exports=function(e){return n(e)||e===null}},70457:function(u){u.exports=!1},11566:function(u,h,t){var n=t(37540),e=t(14274),a=t(18565),s=a("match");u.exports=function(i){var f;return n(i)&&((f=i[s])!==void 0?!!f:e(i)==="RegExp")}},491:function(u,h,t){var n=t(38941),e=t(23583),a=t(95307),s=t(50234),i=Object;u.exports=s?function(f){return typeof f=="symbol"}:function(f){var c=n("Symbol");return e(c)&&a(c.prototype,i(f))}},9573:function(u,h,t){var n=t(96499);u.exports=function(e,a,s){for(var i=s?e:e.iterator,f=e.next,c,v;!(c=n(f,i)).done;)if(v=a(c.value),v!==void 0)return v}},55902:function(u,h,t){var n=t(45526),e=t(96499),a=t(25001),s=t(82453),i=t(48199),f=t(82628),c=t(95307),v=t(90619),d=t(81077),p=t(99797),y=TypeError,m=function(I,E){this.stopped=I,this.result=E},S=m.prototype;u.exports=function(I,E,R){var N=R&&R.that,P=!!(R&&R.AS_ENTRIES),C=!!(R&&R.IS_RECORD),b=!!(R&&R.IS_ITERATOR),A=!!(R&&R.INTERRUPTED),M=n(E,N),F,B,U,j,W,z,w,G=function(X){return F&&p(F,"normal",X),new m(!0,X)},V=function(X){return P?(a(X),A?M(X[0],X[1],G):M(X[0],X[1])):A?M(X,G):M(X)};if(C)F=I.iterator;else if(b)F=I;else{if(B=d(I),!B)throw new y(s(I)+" is not iterable");if(i(B)){for(U=0,j=f(I);j>U;U++)if(W=V(I[U]),W&&c(S,W))return W;return new m(!1)}F=v(I,B)}for(z=C?I.next:F.next;!(w=e(z,F)).done;){try{W=V(w.value)}catch(X){p(F,"throw",X)}if(typeof W=="object"&&W&&c(S,W))return W}return new m(!1)}},99797:function(u,h,t){var n=t(96499),e=t(25001),a=t(10512);u.exports=function(s,i,f){var c,v;e(s);try{if(c=a(s,"return"),!c){if(i==="throw")throw f;return f}c=n(c,s)}catch(d){v=!0,c=d}if(i==="throw")throw f;if(v)throw c;return e(c),f}},26820:function(u,h,t){var n=t(24519).IteratorPrototype,e=t(5406),a=t(18526),s=t(78401),i=t(29107),f=function(){return this};u.exports=function(c,v,d,p){var y=v+" Iterator";return c.prototype=e(n,{next:a(+!p,d)}),s(c,y,!1,!0),i[y]=f,c}},44736:function(u,h,t){var n=t(96499),e=t(5406),a=t(90809),s=t(2725),i=t(18565),f=t(82367),c=t(10512),v=t(24519).IteratorPrototype,d=t(10659),p=t(99797),y=i("toStringTag"),m="IteratorHelper",S="WrapForValidIterator",I=f.set,E=function(P){var C=f.getterFor(P?S:m);return s(e(v),{next:function(){var A=C(this);if(P)return A.nextHandler();try{var M=A.done?void 0:A.nextHandler();return d(M,A.done)}catch(F){throw A.done=!0,F}},return:function(){var b=C(this),A=b.iterator;if(b.done=!0,P){var M=c(A,"return");return M?n(M,A):d(void 0,!0)}if(b.inner)try{p(b.inner.iterator,"normal")}catch(F){return p(A,"throw",F)}return A&&p(A,"normal"),d(void 0,!0)}})},R=E(!0),N=E(!1);a(N,y,"Iterator Helper"),u.exports=function(P,C){var b=function(M,F){F?(F.iterator=M.iterator,F.next=M.next):F=M,F.type=C?S:m,F.nextHandler=P,F.counter=0,F.done=!1,I(this,F)};return b.prototype=C?R:N,b}},10218:function(u,h,t){var n=t(14304),e=t(96499),a=t(70457),s=t(86588),i=t(23583),f=t(26820),c=t(26313),v=t(15861),d=t(78401),p=t(90809),y=t(16142),m=t(18565),S=t(29107),I=t(24519),E=s.PROPER,R=s.CONFIGURABLE,N=I.IteratorPrototype,P=I.BUGGY_SAFARI_ITERATORS,C=m("iterator"),b="keys",A="values",M="entries",F=function(){return this};u.exports=function(B,U,j,W,z,w,G){f(j,U,W);var V=function(Nt){if(Nt===z&&Z)return Z;if(!P&&Nt&&Nt in q)return q[Nt];switch(Nt){case b:return function(){return new j(this,Nt)};case A:return function(){return new j(this,Nt)};case M:return function(){return new j(this,Nt)}}return function(){return new j(this)}},X=U+" Iterator",tt=!1,q=B.prototype,rt=q[C]||q["@@iterator"]||z&&q[z],Z=!P&&rt||V(z),mt=U==="Array"&&q.entries||rt,ht,xt,Rt;if(mt&&(ht=c(mt.call(new B)),ht!==Object.prototype&&ht.next&&(!a&&c(ht)!==N&&(v?v(ht,N):i(ht[C])||y(ht,C,F)),d(ht,X,!0,!0),a&&(S[X]=F))),E&&z===A&&rt&&rt.name!==A&&(!a&&R?p(q,"name",A):(tt=!0,Z=function(){return e(rt,this)})),z)if(xt={values:V(A),keys:w?Z:V(b),entries:V(M)},G)for(Rt in xt)(P||tt||!(Rt in q))&&y(q,Rt,xt[Rt]);else n({target:U,proto:!0,forced:P||tt},xt);return(!a||G)&&q[C]!==Z&&y(q,C,Z,{name:z}),S[U]=Z,xt}},96191:function(u,h,t){var n=t(96499),e=t(85156),a=t(25001),s=t(10613),i=t(44736),f=t(39969),c=i(function(){var v=this.iterator,d=a(n(this.next,v)),p=this.done=!!d.done;if(!p)return f(v,this.mapper,[d.value,this.counter++],!0)});u.exports=function(d){return a(this),e(d),new c(s(this),{mapper:d})}},24519:function(u,h,t){var n=t(72069),e=t(23583),a=t(37540),s=t(5406),i=t(26313),f=t(16142),c=t(18565),v=t(70457),d=c("iterator"),p=!1,y,m,S;[].keys&&(S=[].keys(),"next"in S?(m=i(i(S)),m!==Object.prototype&&(y=m)):p=!0);var I=!a(y)||n(function(){var E={};return y[d].call(E)!==E});I?y={}:v&&(y=s(y)),e(y[d])||f(y,d,function(){return this}),u.exports={IteratorPrototype:y,BUGGY_SAFARI_ITERATORS:p}},29107:function(u){u.exports={}},82628:function(u,h,t){var n=t(45344);u.exports=function(e){return n(e.length)}},13749:function(u,h,t){var n=t(11286),e=t(72069),a=t(23583),s=t(94879),i=t(92986),f=t(86588).CONFIGURABLE,c=t(84352),v=t(82367),d=v.enforce,p=v.get,y=String,m=Object.defineProperty,S=n("".slice),I=n("".replace),E=n([].join),R=i&&!e(function(){return m(function(){},"length",{value:8}).length!==8}),N=String(String).split("String"),P=u.exports=function(C,b,A){S(y(b),0,7)==="Symbol("&&(b="["+I(y(b),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),A&&A.getter&&(b="get "+b),A&&A.setter&&(b="set "+b),(!s(C,"name")||f&&C.name!==b)&&(i?m(C,"name",{value:b,configurable:!0}):C.name=b),R&&A&&s(A,"arity")&&C.length!==A.arity&&m(C,"length",{value:A.arity});try{A&&s(A,"constructor")&&A.constructor?i&&m(C,"prototype",{writable:!1}):C.prototype&&(C.prototype=void 0)}catch(F){}var M=d(C);return s(M,"source")||(M.source=E(N,typeof b=="string"?b:"")),C};Function.prototype.toString=P(function(){return a(this)&&p(this).source||c(this)},"toString")},1774:function(u,h,t){var n=t(11286),e=Map.prototype;u.exports={Map,set:n(e.set),get:n(e.get),has:n(e.has),remove:n(e.delete),proto:e}},98940:function(u){var h=Math.expm1,t=Math.exp;u.exports=!h||h(10)>22025.465794806718||h(10)<22025.465794806718||h(-2e-17)!==-2e-17?function(e){var a=+e;return a===0?a:a>-1e-6&&a<1e-6?a+a*a/2:t(a)-1}:h},10418:function(u,h,t){var n=t(93976),e=Math.abs,a=2220446049250313e-31,s=1/a,i=function(f){return f+s-s};u.exports=function(f,c,v,d){var p=+f,y=e(p),m=n(p);if(y<d)return m*i(y/d/c)*d*c;var S=(1+c/a)*y,I=S-(S-y);return I>v||I!==I?m*(1/0):m*I}},93279:function(u,h,t){var n=t(10418),e=11920928955078125e-23,a=34028234663852886e22,s=11754943508222875e-54;u.exports=Math.fround||function(f){return n(f,e,a,s)}},41942:function(u){var h=Math.log,t=Math.LOG10E;u.exports=Math.log10||function(e){return h(e)*t}},49366:function(u){var h=Math.log;u.exports=Math.log1p||function(n){var e=+n;return e>-1e-8&&e<1e-8?e-e*e/2:h(1+e)}},93976:function(u){u.exports=Math.sign||function(t){var n=+t;return n===0||n!==n?n:n<0?-1:1}},22459:function(u){var h=Math.ceil,t=Math.floor;u.exports=Math.trunc||function(e){var a=+e;return(a>0?t:h)(a)}},9709:function(u,h,t){var n=t(34246),e=t(28167),a=t(45526),s=t(23115).set,i=t(76895),f=t(5286),c=t(7307),v=t(67722),d=t(91707),p=n.MutationObserver||n.WebKitMutationObserver,y=n.document,m=n.process,S=n.Promise,I=e("queueMicrotask"),E,R,N,P,C;if(!I){var b=new i,A=function(){var M,F;for(d&&(M=m.domain)&&M.exit();F=b.get();)try{F()}catch(B){throw b.head&&E(),B}M&&M.enter()};!f&&!d&&!v&&p&&y?(R=!0,N=y.createTextNode(""),new p(A).observe(N,{characterData:!0}),E=function(){N.data=R=!R}):!c&&S&&S.resolve?(P=S.resolve(void 0),P.constructor=S,C=a(P.then,P),E=function(){C(A)}):d?E=function(){m.nextTick(A)}:(s=a(s,n),E=function(){s(A)}),I=function(M){b.head||E(),b.add(M)}}u.exports=I},24649:function(u,h,t){var n=t(85156),e=TypeError,a=function(s){var i,f;this.promise=new s(function(c,v){if(i!==void 0||f!==void 0)throw new e("Bad Promise constructor");i=c,f=v}),this.resolve=n(i),this.reject=n(f)};u.exports.f=function(s){return new a(s)}},15453:function(u,h,t){var n=t(17361);u.exports=function(e,a){return e===void 0?arguments.length<2?"":a:n(e)}},93483:function(u){var h=RangeError;u.exports=function(t){if(t===t)return t;throw new h("NaN is not allowed")}},92337:function(u,h,t){var n=t(11566),e=TypeError;u.exports=function(a){if(n(a))throw new e("The method doesn't accept regular expressions");return a}},98074:function(u,h,t){var n=t(34246),e=n.isFinite;u.exports=Number.isFinite||function(s){return typeof s=="number"&&e(s)}},25838:function(u,h,t){var n=t(34246),e=t(72069),a=t(11286),s=t(17361),i=t(85900).trim,f=t(77082),c=a("".charAt),v=n.parseFloat,d=n.Symbol,p=d&&d.iterator,y=1/v(f+"-0")!==-1/0||p&&!e(function(){v(Object(p))});u.exports=y?function(S){var I=i(s(S)),E=v(I);return E===0&&c(I,0)==="-"?-0:E}:v},23009:function(u,h,t){var n=t(34246),e=t(72069),a=t(11286),s=t(17361),i=t(85900).trim,f=t(77082),c=n.parseInt,v=n.Symbol,d=v&&v.iterator,p=/^[+-]?0x/i,y=a(p.exec),m=c(f+"08")!==8||c(f+"0x16")!==22||d&&!e(function(){c(Object(d))});u.exports=m?function(I,E){var R=i(s(I));return c(R,E>>>0||(y(p,R)?16:10))}:c},16667:function(u,h,t){var n=t(92986),e=t(11286),a=t(96499),s=t(72069),i=t(18350),f=t(24943),c=t(79591),v=t(49671),d=t(72181),p=Object.assign,y=Object.defineProperty,m=e([].concat);u.exports=!p||s(function(){if(n&&p({b:1},p(y({},"a",{enumerable:!0,get:function(){y(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var S={},I={},E=Symbol("assign detection"),R="abcdefghijklmnopqrst";return S[E]=7,R.split("").forEach(function(N){I[N]=N}),p({},S)[E]!==7||i(p({},I)).join("")!==R})?function(I,E){for(var R=v(I),N=arguments.length,P=1,C=f.f,b=c.f;N>P;)for(var A=d(arguments[P++]),M=C?m(i(A),C(A)):i(A),F=M.length,B=0,U;F>B;)U=M[B++],(!n||a(b,A,U))&&(R[U]=A[U]);return R}:p},5406:function(u,h,t){var n=t(25001),e=t(61963),a=t(75785),s=t(19423),i=t(96439),f=t(85501),c=t(44869),v=">",d="<",p="prototype",y="script",m=c("IE_PROTO"),S=function(){},I=function(C){return d+y+v+C+d+"/"+y+v},E=function(C){C.write(I("")),C.close();var b=C.parentWindow.Object;return C=null,b},R=function(){var C=f("iframe"),b="java"+y+":",A;return C.style.display="none",i.appendChild(C),C.src=String(b),A=C.contentWindow.document,A.open(),A.write(I("document.F=Object")),A.close(),A.F},N,P=function(){try{N=new ActiveXObject("htmlfile")}catch(b){}P=typeof document!="undefined"?document.domain&&N?E(N):R():E(N);for(var C=a.length;C--;)delete P[p][a[C]];return P()};s[m]=!0,u.exports=Object.create||function(b,A){var M;return b!==null?(S[p]=n(b),M=new S,S[p]=null,M[m]=b):M=P(),A===void 0?M:e.f(M,A)}},61963:function(u,h,t){var n=t(92986),e=t(356),a=t(7831),s=t(25001),i=t(36859),f=t(18350);h.f=n&&!e?Object.defineProperties:function(v,d){s(v);for(var p=i(d),y=f(d),m=y.length,S=0,I;m>S;)a.f(v,I=y[S++],p[I]);return v}},7831:function(u,h,t){var n=t(92986),e=t(52515),a=t(356),s=t(25001),i=t(50035),f=TypeError,c=Object.defineProperty,v=Object.getOwnPropertyDescriptor,d="enumerable",p="configurable",y="writable";h.f=n?a?function(S,I,E){if(s(S),I=i(I),s(E),typeof S=="function"&&I==="prototype"&&"value"in E&&y in E&&!E[y]){var R=v(S,I);R&&R[y]&&(S[I]=E.value,E={configurable:p in E?E[p]:R[p],enumerable:d in E?E[d]:R[d],writable:!1})}return c(S,I,E)}:c:function(S,I,E){if(s(S),I=i(I),s(E),e)try{return c(S,I,E)}catch(R){}if("get"in E||"set"in E)throw new f("Accessors not supported");return"value"in E&&(S[I]=E.value),S}},71349:function(u,h,t){var n=t(92986),e=t(96499),a=t(79591),s=t(18526),i=t(36859),f=t(50035),c=t(94879),v=t(52515),d=Object.getOwnPropertyDescriptor;h.f=n?d:function(y,m){if(y=i(y),m=f(m),v)try{return d(y,m)}catch(S){}if(c(y,m))return s(!e(a.f,y,m),y[m])}},92880:function(u,h,t){var n=t(14274),e=t(36859),a=t(83258).f,s=t(22806),i=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],f=function(c){try{return a(c)}catch(v){return s(i)}};u.exports.f=function(v){return i&&n(v)==="Window"?f(v):a(e(v))}},83258:function(u,h,t){var n=t(6242),e=t(75785),a=e.concat("length","prototype");h.f=Object.getOwnPropertyNames||function(i){return n(i,a)}},24943:function(u,h){h.f=Object.getOwnPropertySymbols},26313:function(u,h,t){var n=t(94879),e=t(23583),a=t(49671),s=t(44869),i=t(87501),f=s("IE_PROTO"),c=Object,v=c.prototype;u.exports=i?c.getPrototypeOf:function(d){var p=a(d);if(n(p,f))return p[f];var y=p.constructor;return e(y)&&p instanceof y?y.prototype:p instanceof c?v:null}},28174:function(u,h,t){var n=t(72069),e=t(37540),a=t(14274),s=t(72058),i=Object.isExtensible,f=n(function(){i(1)});u.exports=f||s?function(v){return!e(v)||s&&a(v)==="ArrayBuffer"?!1:i?i(v):!0}:i},95307:function(u,h,t){var n=t(11286);u.exports=n({}.isPrototypeOf)},6242:function(u,h,t){var n=t(11286),e=t(94879),a=t(36859),s=t(94319).indexOf,i=t(19423),f=n([].push);u.exports=function(c,v){var d=a(c),p=0,y=[],m;for(m in d)!e(i,m)&&e(d,m)&&f(y,m);for(;v.length>p;)e(d,m=v[p++])&&(~s(y,m)||f(y,m));return y}},18350:function(u,h,t){var n=t(6242),e=t(75785);u.exports=Object.keys||function(s){return n(s,e)}},79591:function(u,h){var t={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,e=n&&!t.call({1:2},1);h.f=e?function(s){var i=n(this,s);return!!i&&i.enumerable}:t},57629:function(u,h,t){var n=t(70457),e=t(34246),a=t(72069),s=t(66577);u.exports=n||!a(function(){if(!(s&&s<535)){var i=Math.random();__defineSetter__.call(null,i,function(){}),delete e[i]}})},15861:function(u,h,t){var n=t(84756),e=t(37540),a=t(2068),s=t(53408);u.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var i=!1,f={},c;try{c=n(Object.prototype,"__proto__","set"),c(f,[]),i=f instanceof Array}catch(v){}return function(d,p){return a(d),s(p),e(d)&&(i?c(d,p):d.__proto__=p),d}}():void 0)},8511:function(u,h,t){var n=t(92986),e=t(72069),a=t(11286),s=t(26313),i=t(18350),f=t(36859),c=t(79591).f,v=a(c),d=a([].push),p=n&&e(function(){var m=Object.create(null);return m[2]=2,!v(m,2)}),y=function(m){return function(S){for(var I=f(S),E=i(I),R=p&&s(I)===null,N=E.length,P=0,C=[],b;N>P;)b=E[P++],(!n||(R?b in I:v(I,b)))&&d(C,m?[b,I[b]]:I[b]);return C}};u.exports={entries:y(!0),values:y(!1)}},60105:function(u,h,t){var n=t(67878),e=t(9205);u.exports=n?{}.toString:function(){return"[object "+e(this)+"]"}},2064:function(u,h,t){var n=t(96499),e=t(23583),a=t(37540),s=TypeError;u.exports=function(i,f){var c,v;if(f==="string"&&e(c=i.toString)&&!a(v=n(c,i))||e(c=i.valueOf)&&!a(v=n(c,i))||f!=="string"&&e(c=i.toString)&&!a(v=n(c,i)))return v;throw new s("Can't convert object to primitive value")}},16885:function(u,h,t){var n=t(38941),e=t(11286),a=t(83258),s=t(24943),i=t(25001),f=e([].concat);u.exports=n("Reflect","ownKeys")||function(v){var d=a.f(i(v)),p=s.f;return p?f(d,p(v)):d}},75081:function(u,h,t){var n=t(34246);u.exports=n},67805:function(u){u.exports=function(h){try{return{error:!1,value:h()}}catch(t){return{error:!0,value:t}}}},37130:function(u,h,t){var n=t(34246),e=t(98844),a=t(23583),s=t(13278),i=t(84352),f=t(18565),c=t(21501),v=t(70457),d=t(44241),p=e&&e.prototype,y=f("species"),m=!1,S=a(n.PromiseRejectionEvent),I=s("Promise",function(){var E=i(e),R=E!==String(e);if(!R&&d===66||v&&!(p.catch&&p.finally))return!0;if(!d||d<51||!/native code/.test(E)){var N=new e(function(b){b(1)}),P=function(b){b(function(){},function(){})},C=N.constructor={};if(C[y]=P,m=N.then(function(){})instanceof P,!m)return!0}return!R&&(c==="BROWSER"||c==="DENO")&&!S});u.exports={CONSTRUCTOR:I,REJECTION_EVENT:S,SUBCLASSING:m}},98844:function(u,h,t){var n=t(34246);u.exports=n.Promise},87408:function(u,h,t){var n=t(25001),e=t(37540),a=t(24649);u.exports=function(s,i){if(n(s),e(i)&&i.constructor===s)return i;var f=a.f(s),c=f.resolve;return c(i),f.promise}},26035:function(u,h,t){var n=t(98844),e=t(97494),a=t(37130).CONSTRUCTOR;u.exports=a||!e(function(s){n.all(s).then(void 0,function(){})})},2594:function(u,h,t){var n=t(7831).f;u.exports=function(e,a,s){s in e||n(e,s,{configurable:!0,get:function(){return a[s]},set:function(i){a[s]=i}})}},76895:function(u){var h=function(){this.head=null,this.tail=null};h.prototype={add:function(t){var n={item:t,next:null},e=this.tail;e?e.next=n:this.head=n,this.tail=n},get:function(){var t=this.head;if(t){var n=this.head=t.next;return n===null&&(this.tail=null),t.item}}},u.exports=h},33064:function(u,h,t){var n=t(96499),e=t(25001),a=t(23583),s=t(14274),i=t(44381),f=TypeError;u.exports=function(c,v){var d=c.exec;if(a(d)){var p=n(d,c,v);return p!==null&&e(p),p}if(s(c)==="RegExp")return n(i,c,v);throw new f("RegExp#exec called on incompatible receiver")}},44381:function(u,h,t){var n=t(96499),e=t(11286),a=t(17361),s=t(29833),i=t(39807),f=t(96731),c=t(5406),v=t(82367).get,d=t(76769),p=t(85220),y=f("native-string-replace",String.prototype.replace),m=RegExp.prototype.exec,S=m,I=e("".charAt),E=e("".indexOf),R=e("".replace),N=e("".slice),P=function(){var M=/a/,F=/b*/g;return n(m,M,"a"),n(m,F,"a"),M.lastIndex!==0||F.lastIndex!==0}(),C=i.BROKEN_CARET,b=/()??/.exec("")[1]!==void 0,A=P||b||C||d||p;A&&(S=function(F){var B=this,U=v(B),j=a(F),W=U.raw,z,w,G,V,X,tt,q;if(W)return W.lastIndex=B.lastIndex,z=n(S,W,j),B.lastIndex=W.lastIndex,z;var rt=U.groups,Z=C&&B.sticky,mt=n(s,B),ht=B.source,xt=0,Rt=j;if(Z&&(mt=R(mt,"y",""),E(mt,"g")===-1&&(mt+="g"),Rt=N(j,B.lastIndex),B.lastIndex>0&&(!B.multiline||B.multiline&&I(j,B.lastIndex-1)!==` +`)&&(ht="(?: "+ht+")",Rt=" "+Rt,xt++),w=new RegExp("^(?:"+ht+")",mt)),b&&(w=new RegExp("^"+ht+"$(?!\\s)",mt)),P&&(G=B.lastIndex),V=n(m,Z?w:B,Rt),Z?V?(V.input=N(V.input,xt),V[0]=N(V[0],xt),V.index=B.lastIndex,B.lastIndex+=V[0].length):B.lastIndex=0:P&&V&&(B.lastIndex=B.global?V.index+V[0].length:G),b&&V&&V.length>1&&n(y,V[0],w,function(){for(X=1;X<arguments.length-2;X++)arguments[X]===void 0&&(V[X]=void 0)}),V&&rt)for(V.groups=tt=c(null),X=0;X<rt.length;X++)q=rt[X],tt[q[0]]=V[q[1]];return V}),u.exports=S},29833:function(u,h,t){var n=t(25001);u.exports=function(){var e=n(this),a="";return e.hasIndices&&(a+="d"),e.global&&(a+="g"),e.ignoreCase&&(a+="i"),e.multiline&&(a+="m"),e.dotAll&&(a+="s"),e.unicode&&(a+="u"),e.unicodeSets&&(a+="v"),e.sticky&&(a+="y"),a}},54932:function(u,h,t){var n=t(96499),e=t(94879),a=t(95307),s=t(29833),i=RegExp.prototype;u.exports=function(f){var c=f.flags;return c===void 0&&!("flags"in i)&&!e(f,"flags")&&a(i,f)?n(s,f):c}},39807:function(u,h,t){var n=t(72069),e=t(34246),a=e.RegExp,s=n(function(){var c=a("a","y");return c.lastIndex=2,c.exec("abcd")!==null}),i=s||n(function(){return!a("a","y").sticky}),f=s||n(function(){var c=a("^r","gy");return c.lastIndex=2,c.exec("str")!==null});u.exports={BROKEN_CARET:f,MISSED_STICKY:i,UNSUPPORTED_Y:s}},76769:function(u,h,t){var n=t(72069),e=t(34246),a=e.RegExp;u.exports=n(function(){var s=a(".","s");return!(s.dotAll&&s.test(` +`)&&s.flags==="s")})},85220:function(u,h,t){var n=t(72069),e=t(34246),a=e.RegExp;u.exports=n(function(){var s=a("(?<a>b)","g");return s.exec("b").groups.a!=="b"||"b".replace(s,"$<a>c")!=="bc"})},2068:function(u,h,t){var n=t(5683),e=TypeError;u.exports=function(a){if(n(a))throw new e("Can't call method on "+a);return a}},28167:function(u,h,t){var n=t(34246),e=t(92986),a=Object.getOwnPropertyDescriptor;u.exports=function(s){if(!e)return n[s];var i=a(n,s);return i&&i.value}},13944:function(u){u.exports=Object.is||function(t,n){return t===n?t!==0||1/t===1/n:t!==t&&n!==n}},9934:function(u,h,t){var n=t(34246),e=t(66543),a=t(23583),s=t(21501),i=t(18257),f=t(22806),c=t(95486),v=n.Function,d=/MSIE .\./.test(i)||s==="BUN"&&function(){var p=n.Bun.version.split(".");return p.length<3||p[0]==="0"&&(p[1]<3||p[1]==="3"&&p[2]==="0")}();u.exports=function(p,y){var m=y?2:1;return d?function(S,I){var E=c(arguments.length,1)>m,R=a(S)?S:v(S),N=E?f(arguments,m):[],P=E?function(){e(R,this,N)}:R;return y?p(P,I):p(P)}:p}},48348:function(u,h,t){var n=t(172),e=t(35051),a=n.Set,s=n.add;u.exports=function(i){var f=new a;return e(i,function(c){s(f,c)}),f}},41754:function(u,h,t){var n=t(76602),e=t(172),a=t(48348),s=t(17768),i=t(65263),f=t(35051),c=t(9573),v=e.has,d=e.remove;u.exports=function(y){var m=n(this),S=i(y),I=a(m);return s(m)<=S.size?f(m,function(E){S.includes(E)&&d(I,E)}):c(S.getIterator(),function(E){v(m,E)&&d(I,E)}),I}},172:function(u,h,t){var n=t(11286),e=Set.prototype;u.exports={Set,add:n(e.add),has:n(e.has),remove:n(e.delete),proto:e}},92292:function(u,h,t){var n=t(76602),e=t(172),a=t(17768),s=t(65263),i=t(35051),f=t(9573),c=e.Set,v=e.add,d=e.has;u.exports=function(y){var m=n(this),S=s(y),I=new c;return a(m)>S.size?f(S.getIterator(),function(E){d(m,E)&&v(I,E)}):i(m,function(E){S.includes(E)&&v(I,E)}),I}},47391:function(u,h,t){var n=t(76602),e=t(172).has,a=t(17768),s=t(65263),i=t(35051),f=t(9573),c=t(99797);u.exports=function(d){var p=n(this),y=s(d);if(a(p)<=y.size)return i(p,function(S){if(y.includes(S))return!1},!0)!==!1;var m=y.getIterator();return f(m,function(S){if(e(p,S))return c(m,"normal",!1)})!==!1}},75492:function(u,h,t){var n=t(76602),e=t(17768),a=t(35051),s=t(65263);u.exports=function(f){var c=n(this),v=s(f);return e(c)>v.size?!1:a(c,function(d){if(!v.includes(d))return!1},!0)!==!1}},1333:function(u,h,t){var n=t(76602),e=t(172).has,a=t(17768),s=t(65263),i=t(9573),f=t(99797);u.exports=function(v){var d=n(this),p=s(v);if(a(d)<p.size)return!1;var y=p.getIterator();return i(y,function(m){if(!e(d,m))return f(y,"normal",!1)})!==!1}},35051:function(u,h,t){var n=t(11286),e=t(9573),a=t(172),s=a.Set,i=a.proto,f=n(i.forEach),c=n(i.keys),v=c(new s).next;u.exports=function(d,p,y){return y?e({iterator:c(d),next:v},p):f(d,p)}},94118:function(u,h,t){var n=t(38941),e=function(a){return{size:a,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}};u.exports=function(a){var s=n("Set");try{new s()[a](e(0));try{return new s()[a](e(-1)),!1}catch(i){return!0}}catch(i){return!1}}},17768:function(u,h,t){var n=t(84756),e=t(172);u.exports=n(e.proto,"size","get")||function(a){return a.size}},36167:function(u,h,t){var n=t(38941),e=t(85500),a=t(18565),s=t(92986),i=a("species");u.exports=function(f){var c=n(f);s&&c&&!c[i]&&e(c,i,{configurable:!0,get:function(){return this}})}},64680:function(u,h,t){var n=t(76602),e=t(172),a=t(48348),s=t(65263),i=t(9573),f=e.add,c=e.has,v=e.remove;u.exports=function(p){var y=n(this),m=s(p).getIterator(),S=a(y);return i(m,function(I){c(y,I)?v(S,I):f(S,I)}),S}},78401:function(u,h,t){var n=t(7831).f,e=t(94879),a=t(18565),s=a("toStringTag");u.exports=function(i,f,c){i&&!c&&(i=i.prototype),i&&!e(i,s)&&n(i,s,{configurable:!0,value:f})}},70402:function(u,h,t){var n=t(76602),e=t(172).add,a=t(48348),s=t(65263),i=t(9573);u.exports=function(c){var v=n(this),d=s(c).getIterator(),p=a(v);return i(d,function(y){e(p,y)}),p}},44869:function(u,h,t){var n=t(96731),e=t(36374),a=n("keys");u.exports=function(s){return a[s]||(a[s]=e(s))}},70443:function(u,h,t){var n=t(70457),e=t(34246),a=t(36003),s="__core-js_shared__",i=u.exports=e[s]||a(s,{});(i.versions||(i.versions=[])).push({version:"3.39.0",mode:n?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE",source:"https://github.com/zloirock/core-js"})},96731:function(u,h,t){var n=t(70443);u.exports=function(e,a){return n[e]||(n[e]=a||{})}},16887:function(u,h,t){var n=t(25001),e=t(80042),a=t(5683),s=t(18565),i=s("species");u.exports=function(f,c){var v=n(f).constructor,d;return v===void 0||a(d=n(v)[i])?c:e(d)}},5287:function(u,h,t){var n=t(72069);u.exports=function(e){return n(function(){var a=""[e]('"');return a!==a.toLowerCase()||a.split('"').length>3})}},22149:function(u,h,t){var n=t(11286),e=t(12105),a=t(17361),s=t(2068),i=n("".charAt),f=n("".charCodeAt),c=n("".slice),v=function(d){return function(p,y){var m=a(s(p)),S=e(y),I=m.length,E,R;return S<0||S>=I?d?"":void 0:(E=f(m,S),E<55296||E>56319||S+1===I||(R=f(m,S+1))<56320||R>57343?d?i(m,S):E:d?c(m,S,S+2):(E-55296<<10)+(R-56320)+65536)}};u.exports={codeAt:v(!1),charAt:v(!0)}},36945:function(u,h,t){var n=t(18257);u.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(n)},61607:function(u,h,t){var n=t(11286),e=t(45344),a=t(17361),s=t(79719),i=t(2068),f=n(s),c=n("".slice),v=Math.ceil,d=function(p){return function(y,m,S){var I=a(i(y)),E=e(m),R=I.length,N=S===void 0?" ":a(S),P,C;return E<=R||N===""?I:(P=E-R,C=f(N,v(P/N.length)),C.length>P&&(C=c(C,0,P)),p?I+C:C+I)}};u.exports={start:d(!1),end:d(!0)}},38679:function(u,h,t){var n=t(11286),e=2147483647,a=36,s=1,i=26,f=38,c=700,v=72,d=128,p="-",y=/[^\0-\u007E]/,m=/[.\u3002\uFF0E\uFF61]/g,S="Overflow: input needs wider integers to process",I=a-s,E=RangeError,R=n(m.exec),N=Math.floor,P=String.fromCharCode,C=n("".charCodeAt),b=n([].join),A=n([].push),M=n("".replace),F=n("".split),B=n("".toLowerCase),U=function(w){for(var G=[],V=0,X=w.length;V<X;){var tt=C(w,V++);if(tt>=55296&&tt<=56319&&V<X){var q=C(w,V++);(q&64512)===56320?A(G,((tt&1023)<<10)+(q&1023)+65536):(A(G,tt),V--)}else A(G,tt)}return G},j=function(w){return w+22+75*(w<26)},W=function(w,G,V){var X=0;for(w=V?N(w/c):w>>1,w+=N(w/G);w>I*i>>1;)w=N(w/I),X+=a;return N(X+(I+1)*w/(w+f))},z=function(w){var G=[];w=U(w);var V=w.length,X=d,tt=0,q=v,rt,Z;for(rt=0;rt<w.length;rt++)Z=w[rt],Z<128&&A(G,P(Z));var mt=G.length,ht=mt;for(mt&&A(G,p);ht<V;){var xt=e;for(rt=0;rt<w.length;rt++)Z=w[rt],Z>=X&&Z<xt&&(xt=Z);var Rt=ht+1;if(xt-X>N((e-tt)/Rt))throw new E(S);for(tt+=(xt-X)*Rt,X=xt,rt=0;rt<w.length;rt++){if(Z=w[rt],Z<X&&++tt>e)throw new E(S);if(Z===X){for(var Nt=tt,Jt=a;;){var Xt=Jt<=q?s:Jt>=q+i?i:Jt-q;if(Nt<Xt)break;var jt=Nt-Xt,vt=a-Xt;A(G,P(j(Xt+jt%vt))),Nt=N(jt/vt),Jt+=a}A(G,P(j(Nt))),q=W(tt,Rt,ht===mt),tt=0,ht++}}tt++,X++}return b(G,"")};u.exports=function(w){var G=[],V=F(M(B(w),m,"."),"."),X,tt;for(X=0;X<V.length;X++)tt=V[X],A(G,R(y,tt)?"xn--"+z(tt):tt);return b(G,".")}},79719:function(u,h,t){var n=t(12105),e=t(17361),a=t(2068),s=RangeError;u.exports=function(f){var c=e(a(this)),v="",d=n(f);if(d<0||d===1/0)throw new s("Wrong number of repetitions");for(;d>0;(d>>>=1)&&(c+=c))d&1&&(v+=c);return v}},75176:function(u,h,t){var n=t(85900).end,e=t(33328);u.exports=e("trimEnd")?function(){return n(this)}:"".trimEnd},33328:function(u,h,t){var n=t(86588).PROPER,e=t(72069),a=t(77082),s="\u200B\x85\u180E";u.exports=function(i){return e(function(){return!!a[i]()||s[i]()!==s||n&&a[i].name!==i})}},83481:function(u,h,t){var n=t(85900).start,e=t(33328);u.exports=e("trimStart")?function(){return n(this)}:"".trimStart},85900:function(u,h,t){var n=t(11286),e=t(2068),a=t(17361),s=t(77082),i=n("".replace),f=RegExp("^["+s+"]+"),c=RegExp("(^|[^"+s+"])["+s+"]+$"),v=function(d){return function(p){var y=a(e(p));return d&1&&(y=i(y,f,"")),d&2&&(y=i(y,c,"$1")),y}};u.exports={start:v(1),end:v(2),trim:v(3)}},99050:function(u,h,t){var n=t(34246),e=t(72069),a=t(44241),s=t(21501),i=n.structuredClone;u.exports=!!i&&!e(function(){if(s==="DENO"&&a>92||s==="NODE"&&a>94||s==="BROWSER"&&a>97)return!1;var f=new ArrayBuffer(8),c=i(f,{transfer:[f]});return f.byteLength!==0||c.byteLength!==8})},39729:function(u,h,t){var n=t(44241),e=t(72069),a=t(34246),s=a.String;u.exports=!!Object.getOwnPropertySymbols&&!e(function(){var i=Symbol("symbol detection");return!s(i)||!(Object(i)instanceof Symbol)||!Symbol.sham&&n&&n<41})},60796:function(u,h,t){var n=t(96499),e=t(38941),a=t(18565),s=t(16142);u.exports=function(){var i=e("Symbol"),f=i&&i.prototype,c=f&&f.valueOf,v=a("toPrimitive");f&&!f[v]&&s(f,v,function(d){return n(c,this)},{arity:1})}},61190:function(u,h,t){var n=t(39729);u.exports=n&&!!Symbol.for&&!!Symbol.keyFor},23115:function(u,h,t){var n=t(34246),e=t(66543),a=t(45526),s=t(23583),i=t(94879),f=t(72069),c=t(96439),v=t(22806),d=t(85501),p=t(95486),y=t(5286),m=t(91707),S=n.setImmediate,I=n.clearImmediate,E=n.process,R=n.Dispatch,N=n.Function,P=n.MessageChannel,C=n.String,b=0,A={},M="onreadystatechange",F,B,U,j;f(function(){F=n.location});var W=function(V){if(i(A,V)){var X=A[V];delete A[V],X()}},z=function(V){return function(){W(V)}},w=function(V){W(V.data)},G=function(V){n.postMessage(C(V),F.protocol+"//"+F.host)};(!S||!I)&&(S=function(X){p(arguments.length,1);var tt=s(X)?X:N(X),q=v(arguments,1);return A[++b]=function(){e(tt,void 0,q)},B(b),b},I=function(X){delete A[X]},m?B=function(V){E.nextTick(z(V))}:R&&R.now?B=function(V){R.now(z(V))}:P&&!y?(U=new P,j=U.port2,U.port1.onmessage=w,B=a(j.postMessage,j)):n.addEventListener&&s(n.postMessage)&&!n.importScripts&&F&&F.protocol!=="file:"&&!f(G)?(B=G,n.addEventListener("message",w,!1)):M in d("script")?B=function(V){c.appendChild(d("script"))[M]=function(){c.removeChild(this),W(V)}}:B=function(V){setTimeout(z(V),0)}),u.exports={set:S,clear:I}},34338:function(u,h,t){var n=t(11286);u.exports=n(1 .valueOf)},4652:function(u,h,t){var n=t(12105),e=Math.max,a=Math.min;u.exports=function(s,i){var f=n(s);return f<0?e(f+i,0):a(f,i)}},11344:function(u,h,t){var n=t(89935),e=TypeError;u.exports=function(a){var s=n(a,"number");if(typeof s=="number")throw new e("Can't convert number to bigint");return BigInt(s)}},9450:function(u,h,t){var n=t(12105),e=t(45344),a=RangeError;u.exports=function(s){if(s===void 0)return 0;var i=n(s),f=e(i);if(i!==f)throw new a("Wrong length or index");return f}},36859:function(u,h,t){var n=t(72181),e=t(2068);u.exports=function(a){return n(e(a))}},12105:function(u,h,t){var n=t(22459);u.exports=function(e){var a=+e;return a!==a||a===0?0:n(a)}},45344:function(u,h,t){var n=t(12105),e=Math.min;u.exports=function(a){var s=n(a);return s>0?e(s,9007199254740991):0}},49671:function(u,h,t){var n=t(2068),e=Object;u.exports=function(a){return e(n(a))}},58143:function(u,h,t){var n=t(98072),e=RangeError;u.exports=function(a,s){var i=n(a);if(i%s)throw new e("Wrong offset");return i}},98072:function(u,h,t){var n=t(12105),e=RangeError;u.exports=function(a){var s=n(a);if(s<0)throw new e("The argument can't be less than 0");return s}},89935:function(u,h,t){var n=t(96499),e=t(37540),a=t(491),s=t(10512),i=t(2064),f=t(18565),c=TypeError,v=f("toPrimitive");u.exports=function(d,p){if(!e(d)||a(d))return d;var y=s(d,v),m;if(y){if(p===void 0&&(p="default"),m=n(y,d,p),!e(m)||a(m))return m;throw new c("Can't convert object to primitive value")}return p===void 0&&(p="number"),i(d,p)}},50035:function(u,h,t){var n=t(89935),e=t(491);u.exports=function(a){var s=n(a,"string");return e(s)?s:s+""}},67878:function(u,h,t){var n=t(18565),e=n("toStringTag"),a={};a[e]="z",u.exports=String(a)==="[object z]"},17361:function(u,h,t){var n=t(9205),e=String;u.exports=function(a){if(n(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return e(a)}},76517:function(u){var h=Math.round;u.exports=function(t){var n=h(t);return n<0?0:n>255?255:n&255}},82453:function(u){var h=String;u.exports=function(t){try{return h(t)}catch(n){return"Object"}}},80357:function(u,h,t){var n=t(14304),e=t(34246),a=t(96499),s=t(92986),i=t(46868),f=t(88037),c=t(17468),v=t(12833),d=t(18526),p=t(90809),y=t(613),m=t(45344),S=t(9450),I=t(58143),E=t(76517),R=t(50035),N=t(94879),P=t(9205),C=t(37540),b=t(491),A=t(5406),M=t(95307),F=t(15861),B=t(83258).f,U=t(66169),j=t(66655).forEach,W=t(36167),z=t(85500),w=t(7831),G=t(71349),V=t(5220),X=t(82367),tt=t(32345),q=X.get,rt=X.set,Z=X.enforce,mt=w.f,ht=G.f,xt=e.RangeError,Rt=c.ArrayBuffer,Nt=Rt.prototype,Jt=c.DataView,Xt=f.NATIVE_ARRAY_BUFFER_VIEWS,jt=f.TYPED_ARRAY_TAG,vt=f.TypedArray,Et=f.TypedArrayPrototype,$t=f.isTypedArray,Bt="BYTES_PER_ELEMENT",Ft="Wrong length",Vt=function(rr,Qt){z(rr,Qt,{configurable:!0,get:function(){return q(this)[Qt]}})},nr=function(rr){var Qt;return M(Nt,rr)||(Qt=P(rr))==="ArrayBuffer"||Qt==="SharedArrayBuffer"},tr=function(rr,Qt){return $t(rr)&&!b(Qt)&&Qt in rr&&y(+Qt)&&Qt>=0},Zt=function(Qt,wt){return wt=R(wt),tr(Qt,wt)?d(2,Qt[wt]):ht(Qt,wt)},Ht=function(Qt,wt,ft){return wt=R(wt),tr(Qt,wt)&&C(ft)&&N(ft,"value")&&!N(ft,"get")&&!N(ft,"set")&&!ft.configurable&&(!N(ft,"writable")||ft.writable)&&(!N(ft,"enumerable")||ft.enumerable)?(Qt[wt]=ft.value,Qt):mt(Qt,wt,ft)};s?(Xt||(G.f=Zt,w.f=Ht,Vt(Et,"buffer"),Vt(Et,"byteOffset"),Vt(Et,"byteLength"),Vt(Et,"length")),n({target:"Object",stat:!0,forced:!Xt},{getOwnPropertyDescriptor:Zt,defineProperty:Ht}),u.exports=function(rr,Qt,wt){var ft=rr.match(/\d+/)[0]/8,ct=rr+(wt?"Clamped":"")+"Array",nt="get"+rr,Mt="set"+rr,bt=e[ct],At=bt,Tt=At&&At.prototype,ur={},vr=function(st,yt){var at=q(st);return at.view[nt](yt*ft+at.byteOffset,!0)},Q=function(st,yt,at){var Lt=q(st);Lt.view[Mt](yt*ft+Lt.byteOffset,wt?E(at):at,!0)},ot=function(st,yt){mt(st,yt,{get:function(){return vr(this,yt)},set:function(at){return Q(this,yt,at)},enumerable:!0})};Xt?i&&(At=Qt(function(st,yt,at,Lt){return v(st,Tt),tt(function(){return C(yt)?nr(yt)?Lt!==void 0?new bt(yt,I(at,ft),Lt):at!==void 0?new bt(yt,I(at,ft)):new bt(yt):$t(yt)?V(At,yt):a(U,At,yt):new bt(S(yt))}(),st,At)}),F&&F(At,vt),j(B(bt),function(st){st in At||p(At,st,bt[st])}),At.prototype=Tt):(At=Qt(function(st,yt,at,Lt){v(st,Tt);var er=0,it=0,St,It,Ot;if(!C(yt))Ot=S(yt),It=Ot*ft,St=new Rt(It);else if(nr(yt)){St=yt,it=I(at,ft);var Wt=yt.byteLength;if(Lt===void 0){if(Wt%ft)throw new xt(Ft);if(It=Wt-it,It<0)throw new xt(Ft)}else if(It=m(Lt)*ft,It+it>Wt)throw new xt(Ft);Ot=It/ft}else return $t(yt)?V(At,yt):a(U,At,yt);for(rt(st,{buffer:St,byteOffset:it,byteLength:It,length:Ot,view:new Jt(St)});er<Ot;)ot(st,er++)}),F&&F(At,vt),Tt=At.prototype=A(Et)),Tt.constructor!==At&&p(Tt,"constructor",At),Z(Tt).TypedArrayConstructor=At,jt&&p(Tt,jt,ct);var lt=At!==bt;ur[ct]=At,n({global:!0,constructor:!0,forced:lt,sham:!Xt},ur),Bt in At||p(At,Bt,ft),Bt in Tt||p(Tt,Bt,ft),W(ct)}):u.exports=function(){}},46868:function(u,h,t){var n=t(34246),e=t(72069),a=t(97494),s=t(88037).NATIVE_ARRAY_BUFFER_VIEWS,i=n.ArrayBuffer,f=n.Int8Array;u.exports=!s||!e(function(){f(1)})||!e(function(){new f(-1)})||!a(function(c){new f,new f(null),new f(1.5),new f(c)},!0)||e(function(){return new f(new i(2),1,void 0).length!==1})},39954:function(u,h,t){var n=t(5220),e=t(88037).getTypedArrayConstructor;u.exports=function(a,s){return n(e(a),s)}},66169:function(u,h,t){var n=t(45526),e=t(96499),a=t(80042),s=t(49671),i=t(82628),f=t(90619),c=t(81077),v=t(48199),d=t(77129),p=t(88037).aTypedArrayConstructor,y=t(11344);u.exports=function(S){var I=a(this),E=s(S),R=arguments.length,N=R>1?arguments[1]:void 0,P=N!==void 0,C=c(E),b,A,M,F,B,U,j,W;if(C&&!v(C))for(j=f(E,C),W=j.next,E=[];!(U=e(W,j)).done;)E.push(U.value);for(P&&R>2&&(N=n(N,arguments[2])),A=i(E),M=new(p(I))(A),F=d(M),b=0;A>b;b++)B=P?N(E[b],b):E[b],M[b]=F?y(B):+B;return M}},36374:function(u,h,t){var n=t(11286),e=0,a=Math.random(),s=n(1 .toString);u.exports=function(i){return"Symbol("+(i===void 0?"":i)+")_"+s(++e+a,36)}},91918:function(u,h,t){var n=t(72069),e=t(18565),a=t(92986),s=t(70457),i=e("iterator");u.exports=!n(function(){var f=new URL("b?a=1&b=2&c=3","https://a"),c=f.searchParams,v=new URLSearchParams("a=1&a=2&b=3"),d="";return f.pathname="c%20d",c.forEach(function(p,y){c.delete("b"),d+=y+p}),v.delete("a",2),v.delete("b",void 0),s&&(!f.toJSON||!v.has("a",1)||v.has("a",2)||!v.has("a",void 0)||v.has("b"))||!c.size&&(s||!a)||!c.sort||f.href!=="https://a/c%20d?a=1&c=3"||c.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!c[i]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("https://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("https://a#\u0431").hash!=="#%D0%B1"||d!=="a1c3"||new URL("https://x",void 0).host!=="x"})},50234:function(u,h,t){var n=t(39729);u.exports=n&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},356:function(u,h,t){var n=t(92986),e=t(72069);u.exports=n&&e(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},95486:function(u){var h=TypeError;u.exports=function(t,n){if(t<n)throw new h("Not enough arguments");return t}},42960:function(u,h,t){var n=t(34246),e=t(23583),a=n.WeakMap;u.exports=e(a)&&/native code/.test(String(a))},83749:function(u,h,t){var n=t(75081),e=t(94879),a=t(56529),s=t(7831).f;u.exports=function(i){var f=n.Symbol||(n.Symbol={});e(f,i)||s(f,i,{value:a.f(i)})}},56529:function(u,h,t){var n=t(18565);h.f=n},18565:function(u,h,t){var n=t(34246),e=t(96731),a=t(94879),s=t(36374),i=t(39729),f=t(50234),c=n.Symbol,v=e("wks"),d=f?c.for||c:c&&c.withoutSetter||s;u.exports=function(p){return a(v,p)||(v[p]=i&&a(c,p)?c[p]:d("Symbol."+p)),v[p]}},77082:function(u){u.exports=` +\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`},70003:function(u,h,t){var n=t(38941),e=t(94879),a=t(90809),s=t(95307),i=t(15861),f=t(93706),c=t(2594),v=t(32345),d=t(15453),p=t(31486),y=t(97077),m=t(92986),S=t(70457);u.exports=function(I,E,R,N){var P="stackTraceLimit",C=N?2:1,b=I.split("."),A=b[b.length-1],M=n.apply(null,b);if(M){var F=M.prototype;if(!S&&e(F,"cause")&&delete F.cause,!R)return M;var B=n("Error"),U=E(function(j,W){var z=d(N?W:j,void 0),w=N?new M(j):new M;return z!==void 0&&a(w,"message",z),y(w,U,w.stack,2),this&&s(F,this)&&v(w,this,U),arguments.length>C&&p(w,arguments[C]),w});if(U.prototype=F,A!=="Error"?i?i(U,B):f(U,B,{name:!0}):m&&P in M&&(c(U,M,P),c(U,M,"prepareStackTrace")),f(U,M),!S)try{F.name!==A&&a(F,"name",A),F.constructor=U}catch(j){}return U}}},27796:function(u,h,t){var n=t(14304),e=t(38941),a=t(66543),s=t(72069),i=t(70003),f="AggregateError",c=e(f),v=!s(function(){return c([1]).errors[0]!==1})&&s(function(){return c([1],f,{cause:7}).cause!==7});n({global:!0,constructor:!0,arity:2,forced:v},{AggregateError:i(f,function(d){return function(y,m){return a(d,this,arguments)}},v,!0)})},85647:function(u,h,t){var n=t(14304),e=t(95307),a=t(26313),s=t(15861),i=t(93706),f=t(5406),c=t(90809),v=t(18526),d=t(31486),p=t(97077),y=t(55902),m=t(15453),S=t(18565),I=S("toStringTag"),E=Error,R=[].push,N=function(b,A){var M=e(P,this),F;s?F=s(new E,M?a(this):P):(F=M?this:f(P),c(F,I,"Error")),A!==void 0&&c(F,"message",m(A)),p(F,N,F.stack,1),arguments.length>2&&d(F,arguments[2]);var B=[];return y(b,R,{that:B}),c(F,"errors",B),F};s?s(N,E):i(N,E,{name:!0});var P=N.prototype=f(E.prototype,{constructor:v(1,N),message:v(1,""),name:v(1,"AggregateError")});n({global:!0,constructor:!0,arity:2},{AggregateError:N})},42861:function(u,h,t){t(85647)},35473:function(u,h,t){var n=t(14304),e=t(34246),a=t(17468),s=t(36167),i="ArrayBuffer",f=a[i],c=e[i];n({global:!0,constructor:!0,forced:c!==f},{ArrayBuffer:f}),s(i)},35495:function(u,h,t){var n=t(92986),e=t(85500),a=t(30736),s=ArrayBuffer.prototype;n&&!("detached"in s)&&e(s,"detached",{configurable:!0,get:function(){return a(this)}})},4983:function(u,h,t){var n=t(14304),e=t(88037),a=e.NATIVE_ARRAY_BUFFER_VIEWS;n({target:"ArrayBuffer",stat:!0,forced:!a},{isView:e.isView})},6875:function(u,h,t){var n=t(14304),e=t(77422),a=t(72069),s=t(17468),i=t(25001),f=t(4652),c=t(45344),v=s.ArrayBuffer,d=s.DataView,p=d.prototype,y=e(v.prototype.slice),m=e(p.getUint8),S=e(p.setUint8),I=a(function(){return!new v(2).slice(1,void 0).byteLength});n({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:I},{slice:function(R,N){if(y&&N===void 0)return y(i(this),R);for(var P=i(this).byteLength,C=f(R,P),b=f(N===void 0?P:N,P),A=new v(c(b-C)),M=new d(this),F=new d(A),B=0;C<b;)S(F,B++,m(M,C++));return A}})},58594:function(u,h,t){var n=t(14304),e=t(65006);e&&n({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return e(this,arguments.length?arguments[0]:void 0,!1)}})},32790:function(u,h,t){var n=t(14304),e=t(65006);e&&n({target:"ArrayBuffer",proto:!0},{transfer:function(){return e(this,arguments.length?arguments[0]:void 0,!0)}})},1341:function(u,h,t){var n=t(14304),e=t(49671),a=t(82628),s=t(12105),i=t(23811);n({target:"Array",proto:!0},{at:function(c){var v=e(this),d=a(v),p=s(c),y=p>=0?p:d+p;return y<0||y>=d?void 0:v[y]}}),i("at")},98700:function(u,h,t){var n=t(14304),e=t(72069),a=t(3438),s=t(37540),i=t(49671),f=t(82628),c=t(20095),v=t(84082),d=t(62083),p=t(52183),y=t(18565),m=t(44241),S=y("isConcatSpreadable"),I=m>=51||!e(function(){var N=[];return N[S]=!1,N.concat()[0]!==N}),E=function(N){if(!s(N))return!1;var P=N[S];return P!==void 0?!!P:a(N)},R=!I||!p("concat");n({target:"Array",proto:!0,arity:1,forced:R},{concat:function(P){var C=i(this),b=d(C,0),A=0,M,F,B,U,j;for(M=-1,B=arguments.length;M<B;M++)if(j=M===-1?C:arguments[M],E(j))for(U=f(j),c(A+U),F=0;F<U;F++,A++)F in j&&v(b,A,j[F]);else c(A+1),v(b,A++,j);return b.length=A,b}})},65481:function(u,h,t){var n=t(14304),e=t(81499),a=t(23811);n({target:"Array",proto:!0},{copyWithin:e}),a("copyWithin")},46509:function(u,h,t){var n=t(14304),e=t(66655).every,a=t(6148),s=a("every");n({target:"Array",proto:!0,forced:!s},{every:function(f){return e(this,f,arguments.length>1?arguments[1]:void 0)}})},41585:function(u,h,t){var n=t(14304),e=t(43011),a=t(23811);n({target:"Array",proto:!0},{fill:e}),a("fill")},84554:function(u,h,t){var n=t(14304),e=t(66655).filter,a=t(52183),s=a("filter");n({target:"Array",proto:!0,forced:!s},{filter:function(f){return e(this,f,arguments.length>1?arguments[1]:void 0)}})},33818:function(u,h,t){var n=t(14304),e=t(66655).findIndex,a=t(23811),s="findIndex",i=!0;s in[]&&Array(1)[s](function(){i=!1}),n({target:"Array",proto:!0,forced:i},{findIndex:function(c){return e(this,c,arguments.length>1?arguments[1]:void 0)}}),a(s)},2209:function(u,h,t){var n=t(14304),e=t(73849).findLastIndex,a=t(23811);n({target:"Array",proto:!0},{findLastIndex:function(i){return e(this,i,arguments.length>1?arguments[1]:void 0)}}),a("findLastIndex")},64096:function(u,h,t){var n=t(14304),e=t(73849).findLast,a=t(23811);n({target:"Array",proto:!0},{findLast:function(i){return e(this,i,arguments.length>1?arguments[1]:void 0)}}),a("findLast")},36619:function(u,h,t){var n=t(14304),e=t(66655).find,a=t(23811),s="find",i=!0;s in[]&&Array(1)[s](function(){i=!1}),n({target:"Array",proto:!0,forced:i},{find:function(c){return e(this,c,arguments.length>1?arguments[1]:void 0)}}),a(s)},74092:function(u,h,t){var n=t(14304),e=t(53149),a=t(85156),s=t(49671),i=t(82628),f=t(62083);n({target:"Array",proto:!0},{flatMap:function(v){var d=s(this),p=i(d),y;return a(v),y=f(d,0),y.length=e(y,d,d,p,0,1,v,arguments.length>1?arguments[1]:void 0),y}})},91591:function(u,h,t){var n=t(14304),e=t(53149),a=t(49671),s=t(82628),i=t(12105),f=t(62083);n({target:"Array",proto:!0},{flat:function(){var v=arguments.length?arguments[0]:void 0,d=a(this),p=s(d),y=f(d,0);return y.length=e(y,d,d,p,0,v===void 0?1:i(v)),y}})},54703:function(u,h,t){var n=t(14304),e=t(13349);n({target:"Array",proto:!0,forced:[].forEach!==e},{forEach:e})},82936:function(u,h,t){var n=t(14304),e=t(48258),a=t(97494),s=!a(function(i){Array.from(i)});n({target:"Array",stat:!0,forced:s},{from:e})},48493:function(u,h,t){var n=t(14304),e=t(94319).includes,a=t(72069),s=t(23811),i=a(function(){return!Array(1).includes()});n({target:"Array",proto:!0,forced:i},{includes:function(c){return e(this,c,arguments.length>1?arguments[1]:void 0)}}),s("includes")},64730:function(u,h,t){var n=t(14304),e=t(77422),a=t(94319).indexOf,s=t(6148),i=e([].indexOf),f=!!i&&1/i([1],1,-0)<0,c=f||!s("indexOf");n({target:"Array",proto:!0,forced:c},{indexOf:function(d){var p=arguments.length>1?arguments[1]:void 0;return f?i(this,d,p)||0:a(this,d,p)}})},95024:function(u,h,t){var n=t(14304),e=t(3438);n({target:"Array",stat:!0},{isArray:e})},35054:function(u,h,t){var n=t(36859),e=t(23811),a=t(29107),s=t(82367),i=t(7831).f,f=t(10218),c=t(10659),v=t(70457),d=t(92986),p="Array Iterator",y=s.set,m=s.getterFor(p);u.exports=f(Array,"Array",function(I,E){y(this,{type:p,target:n(I),index:0,kind:E})},function(){var I=m(this),E=I.target,R=I.index++;if(!E||R>=E.length)return I.target=null,c(void 0,!0);switch(I.kind){case"keys":return c(R,!1);case"values":return c(E[R],!1)}return c([R,E[R]],!1)},"values");var S=a.Arguments=a.Array;if(e("keys"),e("values"),e("entries"),!v&&d&&S.name!=="values")try{i(S,"name",{value:"values"})}catch(I){}},25460:function(u,h,t){var n=t(14304),e=t(11286),a=t(72181),s=t(36859),i=t(6148),f=e([].join),c=a!==Object,v=c||!i("join",",");n({target:"Array",proto:!0,forced:v},{join:function(p){return f(s(this),p===void 0?",":p)}})},60703:function(u,h,t){var n=t(14304),e=t(58465);n({target:"Array",proto:!0,forced:e!==[].lastIndexOf},{lastIndexOf:e})},90468:function(u,h,t){var n=t(14304),e=t(66655).map,a=t(52183),s=a("map");n({target:"Array",proto:!0,forced:!s},{map:function(f){return e(this,f,arguments.length>1?arguments[1]:void 0)}})},69581:function(u,h,t){var n=t(14304),e=t(72069),a=t(11051),s=t(84082),i=Array,f=e(function(){function c(){}return!(i.of.call(c)instanceof c)});n({target:"Array",stat:!0,forced:f},{of:function(){for(var v=0,d=arguments.length,p=new(a(this)?this:i)(d);d>v;)s(p,v,arguments[v++]);return p.length=d,p}})},720:function(u,h,t){var n=t(14304),e=t(49671),a=t(82628),s=t(2213),i=t(20095),f=t(72069),c=f(function(){return[].push.call({length:4294967296},1)!==4294967297}),v=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(p){return p instanceof TypeError}},d=c||!v();n({target:"Array",proto:!0,arity:1,forced:d},{push:function(y){var m=e(this),S=a(m),I=arguments.length;i(S+I);for(var E=0;E<I;E++)m[S]=arguments[E],S++;return s(m,S),S}})},17289:function(u,h,t){var n=t(14304),e=t(97264).right,a=t(6148),s=t(44241),i=t(91707),f=!i&&s>79&&s<83,c=f||!a("reduceRight");n({target:"Array",proto:!0,forced:c},{reduceRight:function(d){return e(this,d,arguments.length,arguments.length>1?arguments[1]:void 0)}})},11042:function(u,h,t){var n=t(14304),e=t(97264).left,a=t(6148),s=t(44241),i=t(91707),f=!i&&s>79&&s<83,c=f||!a("reduce");n({target:"Array",proto:!0,forced:c},{reduce:function(d){var p=arguments.length;return e(this,d,p,p>1?arguments[1]:void 0)}})},24608:function(u,h,t){var n=t(14304),e=t(11286),a=t(3438),s=e([].reverse),i=[1,2];n({target:"Array",proto:!0,forced:String(i)===String(i.reverse())},{reverse:function(){return a(this)&&(this.length=this.length),s(this)}})},51644:function(u,h,t){var n=t(14304),e=t(3438),a=t(11051),s=t(37540),i=t(4652),f=t(82628),c=t(36859),v=t(84082),d=t(18565),p=t(52183),y=t(22806),m=p("slice"),S=d("species"),I=Array,E=Math.max;n({target:"Array",proto:!0,forced:!m},{slice:function(N,P){var C=c(this),b=f(C),A=i(N,b),M=i(P===void 0?b:P,b),F,B,U;if(e(C)&&(F=C.constructor,a(F)&&(F===I||e(F.prototype))?F=void 0:s(F)&&(F=F[S],F===null&&(F=void 0)),F===I||F===void 0))return y(C,A,M);for(B=new(F===void 0?I:F)(E(M-A,0)),U=0;A<M;A++,U++)A in C&&v(B,U,C[A]);return B.length=U,B}})},88088:function(u,h,t){var n=t(14304),e=t(66655).some,a=t(6148),s=a("some");n({target:"Array",proto:!0,forced:!s},{some:function(f){return e(this,f,arguments.length>1?arguments[1]:void 0)}})},46828:function(u,h,t){var n=t(14304),e=t(11286),a=t(85156),s=t(49671),i=t(82628),f=t(12384),c=t(17361),v=t(72069),d=t(13270),p=t(6148),y=t(507),m=t(17417),S=t(44241),I=t(66577),E=[],R=e(E.sort),N=e(E.push),P=v(function(){E.sort(void 0)}),C=v(function(){E.sort(null)}),b=p("sort"),A=!v(function(){if(S)return S<70;if(!(y&&y>3)){if(m)return!0;if(I)return I<603;var B="",U,j,W,z;for(U=65;U<76;U++){switch(j=String.fromCharCode(U),U){case 66:case 69:case 70:case 72:W=3;break;case 68:case 71:W=4;break;default:W=2}for(z=0;z<47;z++)E.push({k:j+z,v:W})}for(E.sort(function(w,G){return G.v-w.v}),z=0;z<E.length;z++)j=E[z].k.charAt(0),B.charAt(B.length-1)!==j&&(B+=j);return B!=="DGBEFHACIJK"}}),M=P||!C||!b||!A,F=function(B){return function(U,j){return j===void 0?-1:U===void 0?1:B!==void 0?+B(U,j)||0:c(U)>c(j)?1:-1}};n({target:"Array",proto:!0,forced:M},{sort:function(U){U!==void 0&&a(U);var j=s(this);if(A)return U===void 0?R(j):R(j,U);var W=[],z=i(j),w,G;for(G=0;G<z;G++)G in j&&N(W,j[G]);for(d(W,F(U)),w=i(W),G=0;G<w;)j[G]=W[G++];for(;G<z;)f(j,G++);return j}})},90088:function(u,h,t){var n=t(36167);n("Array")},35148:function(u,h,t){var n=t(14304),e=t(49671),a=t(4652),s=t(12105),i=t(82628),f=t(2213),c=t(20095),v=t(62083),d=t(84082),p=t(12384),y=t(52183),m=y("splice"),S=Math.max,I=Math.min;n({target:"Array",proto:!0,forced:!m},{splice:function(R,N){var P=e(this),C=i(P),b=a(R,C),A=arguments.length,M,F,B,U,j,W;for(A===0?M=F=0:A===1?(M=0,F=C-b):(M=A-2,F=I(S(s(N),0),C-b)),c(C+M-F),B=v(P,F),U=0;U<F;U++)j=b+U,j in P&&d(B,U,P[j]);if(B.length=F,M<F){for(U=b;U<C-F;U++)j=U+F,W=U+M,j in P?P[W]=P[j]:p(P,W);for(U=C;U>C-F+M;U--)p(P,U-1)}else if(M>F)for(U=C-F;U>b;U--)j=U+F-1,W=U+M-1,j in P?P[W]=P[j]:p(P,W);for(U=0;U<M;U++)P[U+b]=arguments[U+2];return f(P,C-F+M),B}})},86184:function(u,h,t){var n=t(14304),e=t(61638),a=t(36859),s=t(23811),i=Array;n({target:"Array",proto:!0},{toReversed:function(){return e(a(this),i)}}),s("toReversed")},53983:function(u,h,t){var n=t(14304),e=t(11286),a=t(85156),s=t(36859),i=t(5220),f=t(65470),c=t(23811),v=Array,d=e(f("Array","sort"));n({target:"Array",proto:!0},{toSorted:function(y){y!==void 0&&a(y);var m=s(this),S=i(v,m);return d(S,y)}}),c("toSorted")},42560:function(u,h,t){var n=t(14304),e=t(23811),a=t(20095),s=t(82628),i=t(4652),f=t(36859),c=t(12105),v=Array,d=Math.max,p=Math.min;n({target:"Array",proto:!0},{toSpliced:function(m,S){var I=f(this),E=s(I),R=i(m,E),N=arguments.length,P=0,C,b,A,M;for(N===0?C=b=0:N===1?(C=0,b=E-R):(C=N-2,b=p(d(c(S),0),E-R)),A=a(E+C-b),M=v(A);P<R;P++)M[P]=I[P];for(;P<R+C;P++)M[P]=arguments[P-R+2];for(;P<A;P++)M[P]=I[P+b-C];return M}}),e("toSpliced")},27839:function(u,h,t){var n=t(23811);n("flatMap")},88444:function(u,h,t){var n=t(23811);n("flat")},73051:function(u,h,t){var n=t(14304),e=t(49671),a=t(82628),s=t(2213),i=t(12384),f=t(20095),c=[].unshift(0)!==1,v=function(){try{Object.defineProperty([],"length",{writable:!1}).unshift()}catch(p){return p instanceof TypeError}},d=c||!v();n({target:"Array",proto:!0,arity:1,forced:d},{unshift:function(y){var m=e(this),S=a(m),I=arguments.length;if(I){f(S+I);for(var E=S;E--;){var R=E+I;E in m?m[R]=m[E]:i(m,R)}for(var N=0;N<I;N++)m[N]=arguments[N]}return s(m,S+I)}})},9372:function(u,h,t){var n=t(14304),e=t(72302),a=t(36859),s=Array;n({target:"Array",proto:!0},{with:function(i,f){return e(a(this),s,i,f)}})},77885:function(u,h,t){var n=t(14304),e=t(17468),a=t(3237);n({global:!0,constructor:!0,forced:!a},{DataView:e.DataView})},68575:function(u,h,t){t(77885)},30801:function(u,h,t){var n=t(14304),e=t(11286),a=t(72069),s=a(function(){return new Date(16e11).getYear()!==120}),i=e(Date.prototype.getFullYear);n({target:"Date",proto:!0,forced:s},{getYear:function(){return i(this)-1900}})},90911:function(u,h,t){var n=t(14304),e=t(11286),a=Date,s=e(a.prototype.getTime);n({target:"Date",stat:!0},{now:function(){return s(new a)}})},90429:function(u,h,t){var n=t(14304),e=t(11286),a=t(12105),s=Date.prototype,i=e(s.getTime),f=e(s.setFullYear);n({target:"Date",proto:!0},{setYear:function(v){i(this);var d=a(v),p=d>=0&&d<=99?d+1900:d;return f(this,p)}})},33685:function(u,h,t){var n=t(14304);n({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString})},60086:function(u,h,t){var n=t(14304),e=t(11890);n({target:"Date",proto:!0,forced:Date.prototype.toISOString!==e},{toISOString:e})},96049:function(u,h,t){var n=t(14304),e=t(72069),a=t(49671),s=t(89935),i=e(function(){return new Date(NaN).toJSON()!==null||Date.prototype.toJSON.call({toISOString:function(){return 1}})!==1});n({target:"Date",proto:!0,arity:1,forced:i},{toJSON:function(c){var v=a(this),d=s(v,"number");return typeof d=="number"&&!isFinite(d)?null:v.toISOString()}})},14038:function(u,h,t){var n=t(94879),e=t(16142),a=t(84306),s=t(18565),i=s("toPrimitive"),f=Date.prototype;n(f,i)||e(f,i,a)},55518:function(u,h,t){var n=t(11286),e=t(16142),a=Date.prototype,s="Invalid Date",i="toString",f=n(a[i]),c=n(a.getTime);String(new Date(NaN))!==s&&e(a,i,function(){var d=c(this);return d===d?f(this):s})},81742:function(u,h,t){var n=t(14304),e=t(34246),a=t(66543),s=t(70003),i="WebAssembly",f=e[i],c=new Error("e",{cause:7}).cause!==7,v=function(p,y){var m={};m[p]=s(p,y,c),n({global:!0,constructor:!0,arity:1,forced:c},m)},d=function(p,y){if(f&&f[p]){var m={};m[p]=s(i+"."+p,y,c),n({target:i,stat:!0,constructor:!0,arity:1,forced:c},m)}};v("Error",function(p){return function(m){return a(p,this,arguments)}}),v("EvalError",function(p){return function(m){return a(p,this,arguments)}}),v("RangeError",function(p){return function(m){return a(p,this,arguments)}}),v("ReferenceError",function(p){return function(m){return a(p,this,arguments)}}),v("SyntaxError",function(p){return function(m){return a(p,this,arguments)}}),v("TypeError",function(p){return function(m){return a(p,this,arguments)}}),v("URIError",function(p){return function(m){return a(p,this,arguments)}}),d("CompileError",function(p){return function(m){return a(p,this,arguments)}}),d("LinkError",function(p){return function(m){return a(p,this,arguments)}}),d("RuntimeError",function(p){return function(m){return a(p,this,arguments)}})},8720:function(u,h,t){var n=t(16142),e=t(58434),a=Error.prototype;a.toString!==e&&n(a,"toString",e)},8894:function(u,h,t){var n=t(14304),e=t(11286),a=t(17361),s=e("".charAt),i=e("".charCodeAt),f=e(/./.exec),c=e(1 .toString),v=e("".toUpperCase),d=/[\w*+\-./@]/,p=function(y,m){for(var S=c(y,16);S.length<m;)S="0"+S;return S};n({global:!0},{escape:function(m){for(var S=a(m),I="",E=S.length,R=0,N,P;R<E;)N=s(S,R++),f(d,N)?I+=N:(P=i(N,0),P<256?I+="%"+p(P,2):I+="%u"+v(p(P,4)));return I}})},60628:function(u,h,t){var n=t(14304),e=t(91384);n({target:"Function",proto:!0,forced:Function.bind!==e},{bind:e})},56347:function(u,h,t){var n=t(23583),e=t(37540),a=t(7831),s=t(95307),i=t(18565),f=t(13749),c=i("hasInstance"),v=Function.prototype;c in v||a.f(v,c,{value:f(function(d){if(!n(this)||!e(d))return!1;var p=this.prototype;return e(p)?s(p,d):d instanceof this},c)})},16864:function(u,h,t){var n=t(92986),e=t(86588).EXISTS,a=t(11286),s=t(85500),i=Function.prototype,f=a(i.toString),c=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,v=a(c.exec),d="name";n&&!e&&s(i,d,{configurable:!0,get:function(){try{return v(c,f(this))[1]}catch(p){return""}}})},93819:function(u,h,t){var n=t(14304),e=t(34246);n({global:!0,forced:e.globalThis!==e},{globalThis:e})},11565:function(u,h,t){var n=t(14304),e=t(34246),a=t(12833),s=t(25001),i=t(23583),f=t(26313),c=t(85500),v=t(84082),d=t(72069),p=t(94879),y=t(18565),m=t(24519).IteratorPrototype,S=t(92986),I=t(70457),E="constructor",R="Iterator",N=y("toStringTag"),P=TypeError,C=e[R],b=I||!i(C)||C.prototype!==m||!d(function(){C({})}),A=function(){if(a(this,m),f(this)===m)throw new P("Abstract class Iterator not directly constructable")},M=function(F,B){S?c(m,F,{configurable:!0,get:function(){return B},set:function(U){if(s(this),this===m)throw new P("You can't redefine this property");p(this,F)?this[F]=U:v(this,F,U)}}):m[F]=B};p(m,N)||M(N,R),(b||!p(m,E)||m[E]===Object)&&M(E,A),A.prototype=m,n({global:!0,constructor:!0,forced:b},{Iterator:A})},26668:function(u,h,t){var n=t(14304),e=t(96499),a=t(25001),s=t(10613),i=t(93483),f=t(98072),c=t(44736),v=t(70457),d=c(function(){for(var p=this.iterator,y=this.next,m,S;this.remaining;)if(this.remaining--,m=a(e(y,p)),S=this.done=!!m.done,S)return;if(m=a(e(y,p)),S=this.done=!!m.done,!S)return m.value});n({target:"Iterator",proto:!0,real:!0,forced:v},{drop:function(y){a(this);var m=f(i(+y));return new d(s(this),{remaining:m})}})},46386:function(u,h,t){var n=t(14304),e=t(55902),a=t(85156),s=t(25001),i=t(10613);n({target:"Iterator",proto:!0,real:!0},{every:function(c){s(this),a(c);var v=i(this),d=0;return!e(v,function(p,y){if(!c(p,d++))return y()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},35179:function(u,h,t){var n=t(14304),e=t(96499),a=t(85156),s=t(25001),i=t(10613),f=t(44736),c=t(39969),v=t(70457),d=f(function(){for(var p=this.iterator,y=this.predicate,m=this.next,S,I,E;;){if(S=s(e(m,p)),I=this.done=!!S.done,I)return;if(E=S.value,c(p,y,[E,this.counter++],!0))return E}});n({target:"Iterator",proto:!0,real:!0,forced:v},{filter:function(y){return s(this),a(y),new d(i(this),{predicate:y})}})},20150:function(u,h,t){var n=t(14304),e=t(55902),a=t(85156),s=t(25001),i=t(10613);n({target:"Iterator",proto:!0,real:!0},{find:function(c){s(this),a(c);var v=i(this),d=0;return e(v,function(p,y){if(c(p,d++))return y(p)},{IS_RECORD:!0,INTERRUPTED:!0}).result}})},23001:function(u,h,t){var n=t(14304),e=t(96499),a=t(85156),s=t(25001),i=t(10613),f=t(12124),c=t(44736),v=t(99797),d=t(70457),p=c(function(){for(var y=this.iterator,m=this.mapper,S,I;;){if(I=this.inner)try{if(S=s(e(I.next,I.iterator)),!S.done)return S.value;this.inner=null}catch(E){v(y,"throw",E)}if(S=s(e(this.next,y)),this.done=!!S.done)return;try{this.inner=f(m(S.value,this.counter++),!1)}catch(E){v(y,"throw",E)}}});n({target:"Iterator",proto:!0,real:!0,forced:d},{flatMap:function(m){return s(this),a(m),new p(i(this),{mapper:m,inner:null})}})},40334:function(u,h,t){var n=t(14304),e=t(55902),a=t(85156),s=t(25001),i=t(10613);n({target:"Iterator",proto:!0,real:!0},{forEach:function(c){s(this),a(c);var v=i(this),d=0;e(v,function(p){c(p,d++)},{IS_RECORD:!0})}})},87457:function(u,h,t){var n=t(14304),e=t(96499),a=t(49671),s=t(95307),i=t(24519).IteratorPrototype,f=t(44736),c=t(12124),v=t(70457),d=f(function(){return e(this.next,this.iterator)},!0);n({target:"Iterator",stat:!0,forced:v},{from:function(y){var m=c(typeof y=="string"?a(y):y,!0);return s(i,m.iterator)?m.iterator:new d(m)}})},66699:function(u,h,t){var n=t(14304),e=t(96191),a=t(70457);n({target:"Iterator",proto:!0,real:!0,forced:a},{map:e})},17535:function(u,h,t){var n=t(14304),e=t(55902),a=t(85156),s=t(25001),i=t(10613),f=TypeError;n({target:"Iterator",proto:!0,real:!0},{reduce:function(v){s(this),a(v);var d=i(this),p=arguments.length<2,y=p?void 0:arguments[1],m=0;if(e(d,function(S){p?(p=!1,y=S):y=v(y,S,m),m++},{IS_RECORD:!0}),p)throw new f("Reduce of empty iterator with no initial value");return y}})},48157:function(u,h,t){var n=t(14304),e=t(55902),a=t(85156),s=t(25001),i=t(10613);n({target:"Iterator",proto:!0,real:!0},{some:function(c){s(this),a(c);var v=i(this),d=0;return e(v,function(p,y){if(c(p,d++))return y()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},55338:function(u,h,t){var n=t(14304),e=t(96499),a=t(25001),s=t(10613),i=t(93483),f=t(98072),c=t(44736),v=t(99797),d=t(70457),p=c(function(){var y=this.iterator;if(!this.remaining--)return this.done=!0,v(y,"normal",void 0);var m=a(e(this.next,y)),S=this.done=!!m.done;if(!S)return m.value});n({target:"Iterator",proto:!0,real:!0,forced:d},{take:function(m){a(this);var S=f(i(+m));return new p(s(this),{remaining:S})}})},6644:function(u,h,t){var n=t(14304),e=t(25001),a=t(55902),s=t(10613),i=[].push;n({target:"Iterator",proto:!0,real:!0},{toArray:function(){var c=[];return a(s(e(this)),i,{that:c,IS_RECORD:!0}),c}})},71332:function(u,h,t){var n=t(14304),e=t(38941),a=t(66543),s=t(96499),i=t(11286),f=t(72069),c=t(23583),v=t(491),d=t(22806),p=t(10443),y=t(39729),m=String,S=e("JSON","stringify"),I=i(/./.exec),E=i("".charAt),R=i("".charCodeAt),N=i("".replace),P=i(1 .toString),C=/[\uD800-\uDFFF]/g,b=/^[\uD800-\uDBFF]$/,A=/^[\uDC00-\uDFFF]$/,M=!y||f(function(){var j=e("Symbol")("stringify detection");return S([j])!=="[null]"||S({a:j})!=="{}"||S(Object(j))!=="{}"}),F=f(function(){return S("\uDF06\uD834")!=='"\\udf06\\ud834"'||S("\uDEAD")!=='"\\udead"'}),B=function(j,W){var z=d(arguments),w=p(W);if(!(!c(w)&&(j===void 0||v(j))))return z[1]=function(G,V){if(c(w)&&(V=s(w,this,m(G),V)),!v(V))return V},a(S,null,z)},U=function(j,W,z){var w=E(z,W-1),G=E(z,W+1);return I(b,j)&&!I(A,G)||I(A,j)&&!I(b,w)?"\\u"+P(R(j,0),16):j};S&&n({target:"JSON",stat:!0,arity:3,forced:M||F},{stringify:function(W,z,w){var G=d(arguments),V=a(M?B:S,null,G);return F&&typeof V=="string"?N(V,C,U):V}})},47269:function(u,h,t){var n=t(34246),e=t(78401);e(n.JSON,"JSON",!0)},87777:function(u,h,t){var n=t(89378),e=t(34440);n("Map",function(a){return function(){return a(this,arguments.length?arguments[0]:void 0)}},e)},22090:function(u,h,t){var n=t(14304),e=t(11286),a=t(85156),s=t(2068),i=t(55902),f=t(1774),c=t(70457),v=t(72069),d=f.Map,p=f.has,y=f.get,m=f.set,S=e([].push),I=c||v(function(){return d.groupBy("ab",function(E){return E}).get("a").length!==1});n({target:"Map",stat:!0,forced:c||I},{groupBy:function(R,N){s(R),a(N);var P=new d,C=0;return i(R,function(b){var A=N(b,C++);p(P,A)?S(y(P,A),b):m(P,A,[b])}),P}})},25627:function(u,h,t){t(87777)},9839:function(u,h,t){var n=t(14304),e=t(49366),a=Math.acosh,s=Math.log,i=Math.sqrt,f=Math.LN2,c=!a||Math.floor(a(Number.MAX_VALUE))!==710||a(1/0)!==1/0;n({target:"Math",stat:!0,forced:c},{acosh:function(d){var p=+d;return p<1?NaN:p>9490626562425156e-8?s(p)+f:e(p-1+i(p-1)*i(p+1))}})},15656:function(u,h,t){var n=t(14304),e=Math.asinh,a=Math.log,s=Math.sqrt;function i(c){var v=+c;return!isFinite(v)||v===0?v:v<0?-i(-v):a(v+s(v*v+1))}var f=!(e&&1/e(0)>0);n({target:"Math",stat:!0,forced:f},{asinh:i})},22091:function(u,h,t){var n=t(14304),e=Math.atanh,a=Math.log,s=!(e&&1/e(-0)<0);n({target:"Math",stat:!0,forced:s},{atanh:function(f){var c=+f;return c===0?c:a((1+c)/(1-c))/2}})},2886:function(u,h,t){var n=t(14304),e=t(93976),a=Math.abs,s=Math.pow;n({target:"Math",stat:!0},{cbrt:function(f){var c=+f;return e(c)*s(a(c),.3333333333333333)}})},25895:function(u,h,t){var n=t(14304),e=Math.floor,a=Math.log,s=Math.LOG2E;n({target:"Math",stat:!0},{clz32:function(f){var c=f>>>0;return c?31-e(a(c+.5)*s):32}})},24228:function(u,h,t){var n=t(14304),e=t(98940),a=Math.cosh,s=Math.abs,i=Math.E,f=!a||a(710)===1/0;n({target:"Math",stat:!0,forced:f},{cosh:function(v){var d=e(s(v)-1)+1;return(d+1/(d*i*i))*(i/2)}})},79488:function(u,h,t){var n=t(14304),e=t(98940);n({target:"Math",stat:!0,forced:e!==Math.expm1},{expm1:e})},75987:function(u,h,t){var n=t(14304),e=t(93279);n({target:"Math",stat:!0},{fround:e})},81555:function(u,h,t){var n=t(14304),e=Math.hypot,a=Math.abs,s=Math.sqrt,i=!!e&&e(1/0,NaN)!==1/0;n({target:"Math",stat:!0,arity:2,forced:i},{hypot:function(c,v){for(var d=0,p=0,y=arguments.length,m=0,S,I;p<y;)S=a(arguments[p++]),m<S?(I=m/S,d=d*I*I+1,m=S):S>0?(I=S/m,d+=I*I):d+=S;return m===1/0?1/0:m*s(d)}})},87854:function(u,h,t){var n=t(14304),e=t(72069),a=Math.imul,s=e(function(){return a(4294967295,5)!==-5||a.length!==2});n({target:"Math",stat:!0,forced:s},{imul:function(f,c){var v=65535,d=+f,p=+c,y=v&d,m=v&p;return 0|y*m+((v&d>>>16)*m+y*(v&p>>>16)<<16>>>0)}})},35074:function(u,h,t){var n=t(14304),e=t(41942);n({target:"Math",stat:!0},{log10:e})},50946:function(u,h,t){var n=t(14304),e=t(49366);n({target:"Math",stat:!0},{log1p:e})},29417:function(u,h,t){var n=t(14304),e=Math.log,a=Math.LN2;n({target:"Math",stat:!0},{log2:function(i){return e(i)/a}})},80628:function(u,h,t){var n=t(14304),e=t(93976);n({target:"Math",stat:!0},{sign:e})},74375:function(u,h,t){var n=t(14304),e=t(72069),a=t(98940),s=Math.abs,i=Math.exp,f=Math.E,c=e(function(){return Math.sinh(-2e-17)!==-2e-17});n({target:"Math",stat:!0,forced:c},{sinh:function(d){var p=+d;return s(p)<1?(a(p)-a(-p))/2:(i(p-1)-i(-p-1))*(f/2)}})},29708:function(u,h,t){var n=t(14304),e=t(98940),a=Math.exp;n({target:"Math",stat:!0},{tanh:function(i){var f=+i,c=e(f),v=e(-f);return c===1/0?1:v===1/0?-1:(c-v)/(a(f)+a(-f))}})},93449:function(u,h,t){var n=t(78401);n(Math,"Math",!0)},9111:function(u,h,t){var n=t(14304),e=t(22459);n({target:"Math",stat:!0},{trunc:e})},83514:function(u,h,t){var n=t(14304),e=t(70457),a=t(92986),s=t(34246),i=t(75081),f=t(11286),c=t(13278),v=t(94879),d=t(32345),p=t(95307),y=t(491),m=t(89935),S=t(72069),I=t(83258).f,E=t(71349).f,R=t(7831).f,N=t(34338),P=t(85900).trim,C="Number",b=s[C],A=i[C],M=b.prototype,F=s.TypeError,B=f("".slice),U=f("".charCodeAt),j=function(X){var tt=m(X,"number");return typeof tt=="bigint"?tt:W(tt)},W=function(X){var tt=m(X,"number"),q,rt,Z,mt,ht,xt,Rt,Nt;if(y(tt))throw new F("Cannot convert a Symbol value to a number");if(typeof tt=="string"&&tt.length>2){if(tt=P(tt),q=U(tt,0),q===43||q===45){if(rt=U(tt,2),rt===88||rt===120)return NaN}else if(q===48){switch(U(tt,1)){case 66:case 98:Z=2,mt=49;break;case 79:case 111:Z=8,mt=55;break;default:return+tt}for(ht=B(tt,2),xt=ht.length,Rt=0;Rt<xt;Rt++)if(Nt=U(ht,Rt),Nt<48||Nt>mt)return NaN;return parseInt(ht,Z)}}return+tt},z=c(C,!b(" 0o1")||!b("0b1")||b("+0x1")),w=function(X){return p(M,X)&&S(function(){N(X)})},G=function(tt){var q=arguments.length<1?0:b(j(tt));return w(this)?d(Object(q),this,G):q};G.prototype=M,z&&!e&&(M.constructor=G),n({global:!0,constructor:!0,wrap:!0,forced:z},{Number:G});var V=function(X,tt){for(var q=a?I(tt):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),rt=0,Z;q.length>rt;rt++)v(tt,Z=q[rt])&&!v(X,Z)&&R(X,Z,E(tt,Z))};e&&A&&V(i[C],A),(z||e)&&V(i[C],b)},15096:function(u,h,t){var n=t(14304);n({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},59590:function(u,h,t){var n=t(14304),e=t(98074);n({target:"Number",stat:!0},{isFinite:e})},99663:function(u,h,t){var n=t(14304),e=t(613);n({target:"Number",stat:!0},{isInteger:e})},89988:function(u,h,t){var n=t(14304);n({target:"Number",stat:!0},{isNaN:function(a){return a!==a}})},54427:function(u,h,t){var n=t(14304),e=t(613),a=Math.abs;n({target:"Number",stat:!0},{isSafeInteger:function(i){return e(i)&&a(i)<=9007199254740991}})},67895:function(u,h,t){var n=t(14304);n({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},57909:function(u,h,t){var n=t(14304);n({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},83938:function(u,h,t){var n=t(14304),e=t(25838);n({target:"Number",stat:!0,forced:Number.parseFloat!==e},{parseFloat:e})},55461:function(u,h,t){var n=t(14304),e=t(23009);n({target:"Number",stat:!0,forced:Number.parseInt!==e},{parseInt:e})},97339:function(u,h,t){var n=t(14304),e=t(11286),a=t(12105),s=t(34338),i=t(79719),f=t(41942),c=t(72069),v=RangeError,d=String,p=isFinite,y=Math.abs,m=Math.floor,S=Math.pow,I=Math.round,E=e(1 .toExponential),R=e(i),N=e("".slice),P=E(-69e-12,4)==="-6.9000e-11"&&E(1.255,2)==="1.25e+0"&&E(12345,3)==="1.235e+4"&&E(25,0)==="3e+1",C=function(){return c(function(){E(1,1/0)})&&c(function(){E(1,-1/0)})},b=function(){return!c(function(){E(1/0,1/0),E(NaN,1/0)})},A=!P||!C()||!b();n({target:"Number",proto:!0,forced:A},{toExponential:function(F){var B=s(this);if(F===void 0)return E(B);var U=a(F);if(!p(B))return String(B);if(U<0||U>20)throw new v("Incorrect fraction digits");if(P)return E(B,U);var j="",W,z,w,G;if(B<0&&(j="-",B=-B),B===0)z=0,W=R("0",U+1);else{var V=f(B);z=m(V);var X=S(10,z-U),tt=I(B/X);2*B>=(2*tt+1)*X&&(tt+=1),tt>=S(10,U+1)&&(tt/=10,z+=1),W=d(tt)}return U!==0&&(W=N(W,0,1)+"."+N(W,1)),z===0?(w="+",G="0"):(w=z>0?"+":"-",G=d(y(z))),W+="e"+w+G,j+W}})},3670:function(u,h,t){var n=t(14304),e=t(11286),a=t(12105),s=t(34338),i=t(79719),f=t(72069),c=RangeError,v=String,d=Math.floor,p=e(i),y=e("".slice),m=e(1 .toFixed),S=function(C,b,A){return b===0?A:b%2===1?S(C,b-1,A*C):S(C*C,b/2,A)},I=function(C){for(var b=0,A=C;A>=4096;)b+=12,A/=4096;for(;A>=2;)b+=1,A/=2;return b},E=function(C,b,A){for(var M=-1,F=A;++M<6;)F+=b*C[M],C[M]=F%1e7,F=d(F/1e7)},R=function(C,b){for(var A=6,M=0;--A>=0;)M+=C[A],C[A]=d(M/b),M=M%b*1e7},N=function(C){for(var b=6,A="";--b>=0;)if(A!==""||b===0||C[b]!==0){var M=v(C[b]);A=A===""?M:A+p("0",7-M.length)+M}return A},P=f(function(){return m(8e-5,3)!=="0.000"||m(.9,0)!=="1"||m(1.255,2)!=="1.25"||m(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!f(function(){m({})});n({target:"Number",proto:!0,forced:P},{toFixed:function(b){var A=s(this),M=a(b),F=[0,0,0,0,0,0],B="",U="0",j,W,z,w;if(M<0||M>20)throw new c("Incorrect fraction digits");if(A!==A)return"NaN";if(A<=-1e21||A>=1e21)return v(A);if(A<0&&(B="-",A=-A),A>1e-21)if(j=I(A*S(2,69,1))-69,W=j<0?A*S(2,-j,1):A/S(2,j,1),W*=4503599627370496,j=52-j,j>0){for(E(F,0,W),z=M;z>=7;)E(F,1e7,0),z-=7;for(E(F,S(10,z,1),0),z=j-1;z>=23;)R(F,8388608),z-=23;R(F,1<<z),E(F,1,1),R(F,2),U=N(F)}else E(F,0,W),E(F,1<<-j,0),U=N(F)+p("0",M);return M>0?(w=U.length,U=B+(w<=M?"0."+p("0",M-w)+U:y(U,0,w-M)+"."+y(U,w-M))):U=B+U,U}})},15224:function(u,h,t){var n=t(14304),e=t(11286),a=t(72069),s=t(34338),i=e(1 .toPrecision),f=a(function(){return i(1,void 0)!=="1"})||!a(function(){i({})});n({target:"Number",proto:!0,forced:f},{toPrecision:function(v){return v===void 0?i(s(this)):i(s(this),v)}})},45891:function(u,h,t){var n=t(14304),e=t(16667);n({target:"Object",stat:!0,arity:2,forced:Object.assign!==e},{assign:e})},99910:function(u,h,t){var n=t(14304),e=t(92986),a=t(5406);n({target:"Object",stat:!0,sham:!e},{create:a})},92445:function(u,h,t){var n=t(14304),e=t(92986),a=t(57629),s=t(85156),i=t(49671),f=t(7831);e&&n({target:"Object",proto:!0,forced:a},{__defineGetter__:function(v,d){f.f(i(this),v,{get:s(d),enumerable:!0,configurable:!0})}})},21875:function(u,h,t){var n=t(14304),e=t(92986),a=t(61963).f;n({target:"Object",stat:!0,forced:Object.defineProperties!==a,sham:!e},{defineProperties:a})},4383:function(u,h,t){var n=t(14304),e=t(92986),a=t(7831).f;n({target:"Object",stat:!0,forced:Object.defineProperty!==a,sham:!e},{defineProperty:a})},11361:function(u,h,t){var n=t(14304),e=t(92986),a=t(57629),s=t(85156),i=t(49671),f=t(7831);e&&n({target:"Object",proto:!0,forced:a},{__defineSetter__:function(v,d){f.f(i(this),v,{set:s(d),enumerable:!0,configurable:!0})}})},13728:function(u,h,t){var n=t(14304),e=t(8511).entries;n({target:"Object",stat:!0},{entries:function(s){return e(s)}})},14885:function(u,h,t){var n=t(14304),e=t(27534),a=t(72069),s=t(37540),i=t(31853).onFreeze,f=Object.freeze,c=a(function(){f(1)});n({target:"Object",stat:!0,forced:c,sham:!e},{freeze:function(d){return f&&s(d)?f(i(d)):d}})},30343:function(u,h,t){var n=t(14304),e=t(55902),a=t(84082);n({target:"Object",stat:!0},{fromEntries:function(i){var f={};return e(i,function(c,v){a(f,c,v)},{AS_ENTRIES:!0}),f}})},22045:function(u,h,t){var n=t(14304),e=t(72069),a=t(36859),s=t(71349).f,i=t(92986),f=!i||e(function(){s(1)});n({target:"Object",stat:!0,forced:f,sham:!i},{getOwnPropertyDescriptor:function(v,d){return s(a(v),d)}})},75e3:function(u,h,t){var n=t(14304),e=t(92986),a=t(16885),s=t(36859),i=t(71349),f=t(84082);n({target:"Object",stat:!0,sham:!e},{getOwnPropertyDescriptors:function(v){for(var d=s(v),p=i.f,y=a(d),m={},S=0,I,E;y.length>S;)E=p(d,I=y[S++]),E!==void 0&&f(m,I,E);return m}})},64658:function(u,h,t){var n=t(14304),e=t(72069),a=t(92880).f,s=e(function(){return!Object.getOwnPropertyNames(1)});n({target:"Object",stat:!0,forced:s},{getOwnPropertyNames:a})},45223:function(u,h,t){var n=t(14304),e=t(39729),a=t(72069),s=t(24943),i=t(49671),f=!e||a(function(){s.f(1)});n({target:"Object",stat:!0,forced:f},{getOwnPropertySymbols:function(v){var d=s.f;return d?d(i(v)):[]}})},16017:function(u,h,t){var n=t(14304),e=t(72069),a=t(49671),s=t(26313),i=t(87501),f=e(function(){s(1)});n({target:"Object",stat:!0,forced:f,sham:!i},{getPrototypeOf:function(v){return s(a(v))}})},84681:function(u,h,t){var n=t(14304),e=t(38941),a=t(11286),s=t(85156),i=t(2068),f=t(50035),c=t(55902),v=t(72069),d=Object.groupBy,p=e("Object","create"),y=a([].push),m=!d||v(function(){return d("ab",function(S){return S}).a.length!==1});n({target:"Object",stat:!0,forced:m},{groupBy:function(I,E){i(I),s(E);var R=p(null),N=0;return c(I,function(P){var C=f(E(P,N++));C in R?y(R[C],P):R[C]=[P]}),R}})},73421:function(u,h,t){var n=t(14304),e=t(94879);n({target:"Object",stat:!0},{hasOwn:e})},31046:function(u,h,t){var n=t(14304),e=t(28174);n({target:"Object",stat:!0,forced:Object.isExtensible!==e},{isExtensible:e})},94645:function(u,h,t){var n=t(14304),e=t(72069),a=t(37540),s=t(14274),i=t(72058),f=Object.isFrozen,c=i||e(function(){f(1)});n({target:"Object",stat:!0,forced:c},{isFrozen:function(d){return!a(d)||i&&s(d)==="ArrayBuffer"?!0:f?f(d):!1}})},62935:function(u,h,t){var n=t(14304),e=t(72069),a=t(37540),s=t(14274),i=t(72058),f=Object.isSealed,c=i||e(function(){f(1)});n({target:"Object",stat:!0,forced:c},{isSealed:function(d){return!a(d)||i&&s(d)==="ArrayBuffer"?!0:f?f(d):!1}})},93446:function(u,h,t){var n=t(14304),e=t(13944);n({target:"Object",stat:!0},{is:e})},62518:function(u,h,t){var n=t(14304),e=t(49671),a=t(18350),s=t(72069),i=s(function(){a(1)});n({target:"Object",stat:!0,forced:i},{keys:function(c){return a(e(c))}})},45130:function(u,h,t){var n=t(14304),e=t(92986),a=t(57629),s=t(49671),i=t(50035),f=t(26313),c=t(71349).f;e&&n({target:"Object",proto:!0,forced:a},{__lookupGetter__:function(d){var p=s(this),y=i(d),m;do if(m=c(p,y))return m.get;while(p=f(p))}})},51542:function(u,h,t){var n=t(14304),e=t(92986),a=t(57629),s=t(49671),i=t(50035),f=t(26313),c=t(71349).f;e&&n({target:"Object",proto:!0,forced:a},{__lookupSetter__:function(d){var p=s(this),y=i(d),m;do if(m=c(p,y))return m.set;while(p=f(p))}})},43781:function(u,h,t){var n=t(14304),e=t(37540),a=t(31853).onFreeze,s=t(27534),i=t(72069),f=Object.preventExtensions,c=i(function(){f(1)});n({target:"Object",stat:!0,forced:c,sham:!s},{preventExtensions:function(d){return f&&e(d)?f(a(d)):d}})},25738:function(u,h,t){var n=t(92986),e=t(85500),a=t(37540),s=t(52427),i=t(49671),f=t(2068),c=Object.getPrototypeOf,v=Object.setPrototypeOf,d=Object.prototype,p="__proto__";if(n&&c&&v&&!(p in d))try{e(d,p,{configurable:!0,get:function(){return c(i(this))},set:function(m){var S=f(this);s(m)&&a(S)&&v(S,m)}})}catch(y){}},93247:function(u,h,t){var n=t(14304),e=t(37540),a=t(31853).onFreeze,s=t(27534),i=t(72069),f=Object.seal,c=i(function(){f(1)});n({target:"Object",stat:!0,forced:c,sham:!s},{seal:function(d){return f&&e(d)?f(a(d)):d}})},41533:function(u,h,t){var n=t(14304),e=t(15861);n({target:"Object",stat:!0},{setPrototypeOf:e})},60225:function(u,h,t){var n=t(67878),e=t(16142),a=t(60105);n||e(Object.prototype,"toString",a,{unsafe:!0})},69920:function(u,h,t){var n=t(14304),e=t(8511).values;n({target:"Object",stat:!0},{values:function(s){return e(s)}})},89205:function(u,h,t){var n=t(14304),e=t(25838);n({global:!0,forced:parseFloat!==e},{parseFloat:e})},78546:function(u,h,t){var n=t(14304),e=t(23009);n({global:!0,forced:parseInt!==e},{parseInt:e})},16893:function(u,h,t){var n=t(14304),e=t(96499),a=t(85156),s=t(24649),i=t(67805),f=t(55902),c=t(26035);n({target:"Promise",stat:!0,forced:c},{allSettled:function(d){var p=this,y=s.f(p),m=y.resolve,S=y.reject,I=i(function(){var E=a(p.resolve),R=[],N=0,P=1;f(d,function(C){var b=N++,A=!1;P++,e(E,p,C).then(function(M){A||(A=!0,R[b]={status:"fulfilled",value:M},--P||m(R))},function(M){A||(A=!0,R[b]={status:"rejected",reason:M},--P||m(R))})}),--P||m(R)});return I.error&&S(I.value),y.promise}})},11733:function(u,h,t){var n=t(14304),e=t(96499),a=t(85156),s=t(24649),i=t(67805),f=t(55902),c=t(26035);n({target:"Promise",stat:!0,forced:c},{all:function(d){var p=this,y=s.f(p),m=y.resolve,S=y.reject,I=i(function(){var E=a(p.resolve),R=[],N=0,P=1;f(d,function(C){var b=N++,A=!1;P++,e(E,p,C).then(function(M){A||(A=!0,R[b]=M,--P||m(R))},S)}),--P||m(R)});return I.error&&S(I.value),y.promise}})},3676:function(u,h,t){var n=t(14304),e=t(96499),a=t(85156),s=t(38941),i=t(24649),f=t(67805),c=t(55902),v=t(26035),d="No one promise resolved";n({target:"Promise",stat:!0,forced:v},{any:function(y){var m=this,S=s("AggregateError"),I=i.f(m),E=I.resolve,R=I.reject,N=f(function(){var P=a(m.resolve),C=[],b=0,A=1,M=!1;c(y,function(F){var B=b++,U=!1;A++,e(P,m,F).then(function(j){U||M||(M=!0,E(j))},function(j){U||M||(U=!0,C[B]=j,--A||R(new S(C,d)))})}),--A||R(new S(C,d))});return N.error&&R(N.value),I.promise}})},14013:function(u,h,t){var n=t(14304),e=t(70457),a=t(37130).CONSTRUCTOR,s=t(98844),i=t(38941),f=t(23583),c=t(16142),v=s&&s.prototype;if(n({target:"Promise",proto:!0,forced:a,real:!0},{catch:function(p){return this.then(void 0,p)}}),!e&&f(s)){var d=i("Promise").prototype.catch;v.catch!==d&&c(v,"catch",d,{unsafe:!0})}},20238:function(u,h,t){var n=t(14304),e=t(70457),a=t(91707),s=t(34246),i=t(96499),f=t(16142),c=t(15861),v=t(78401),d=t(36167),p=t(85156),y=t(23583),m=t(37540),S=t(12833),I=t(16887),E=t(23115).set,R=t(9709),N=t(99095),P=t(67805),C=t(76895),b=t(82367),A=t(98844),M=t(37130),F=t(24649),B="Promise",U=M.CONSTRUCTOR,j=M.REJECTION_EVENT,W=M.SUBCLASSING,z=b.getterFor(B),w=b.set,G=A&&A.prototype,V=A,X=G,tt=s.TypeError,q=s.document,rt=s.process,Z=F.f,mt=Z,ht=!!(q&&q.createEvent&&s.dispatchEvent),xt="unhandledrejection",Rt="rejectionhandled",Nt=0,Jt=1,Xt=2,jt=1,vt=2,Et,$t,Bt,Ft,Vt=function(nt){var Mt;return m(nt)&&y(Mt=nt.then)?Mt:!1},nr=function(nt,Mt){var bt=Mt.value,At=Mt.state===Jt,Tt=At?nt.ok:nt.fail,ur=nt.resolve,vr=nt.reject,Q=nt.domain,ot,lt,st;try{Tt?(At||(Mt.rejection===vt&&Qt(Mt),Mt.rejection=jt),Tt===!0?ot=bt:(Q&&Q.enter(),ot=Tt(bt),Q&&(Q.exit(),st=!0)),ot===nt.promise?vr(new tt("Promise-chain cycle")):(lt=Vt(ot))?i(lt,ot,ur,vr):ur(ot)):vr(bt)}catch(yt){Q&&!st&&Q.exit(),vr(yt)}},tr=function(nt,Mt){nt.notified||(nt.notified=!0,R(function(){for(var bt=nt.reactions,At;At=bt.get();)nr(At,nt);nt.notified=!1,Mt&&!nt.rejection&&Ht(nt)}))},Zt=function(nt,Mt,bt){var At,Tt;ht?(At=q.createEvent("Event"),At.promise=Mt,At.reason=bt,At.initEvent(nt,!1,!0),s.dispatchEvent(At)):At={promise:Mt,reason:bt},!j&&(Tt=s["on"+nt])?Tt(At):nt===xt&&N("Unhandled promise rejection",bt)},Ht=function(nt){i(E,s,function(){var Mt=nt.facade,bt=nt.value,At=rr(nt),Tt;if(At&&(Tt=P(function(){a?rt.emit("unhandledRejection",bt,Mt):Zt(xt,Mt,bt)}),nt.rejection=a||rr(nt)?vt:jt,Tt.error))throw Tt.value})},rr=function(nt){return nt.rejection!==jt&&!nt.parent},Qt=function(nt){i(E,s,function(){var Mt=nt.facade;a?rt.emit("rejectionHandled",Mt):Zt(Rt,Mt,nt.value)})},wt=function(nt,Mt,bt){return function(At){nt(Mt,At,bt)}},ft=function(nt,Mt,bt){nt.done||(nt.done=!0,bt&&(nt=bt),nt.value=Mt,nt.state=Xt,tr(nt,!0))},ct=function(nt,Mt,bt){if(!nt.done){nt.done=!0,bt&&(nt=bt);try{if(nt.facade===Mt)throw new tt("Promise can't be resolved itself");var At=Vt(Mt);At?R(function(){var Tt={done:!1};try{i(At,Mt,wt(ct,Tt,nt),wt(ft,Tt,nt))}catch(ur){ft(Tt,ur,nt)}}):(nt.value=Mt,nt.state=Jt,tr(nt,!1))}catch(Tt){ft({done:!1},Tt,nt)}}};if(U&&(V=function(Mt){S(this,X),p(Mt),i(Et,this);var bt=z(this);try{Mt(wt(ct,bt),wt(ft,bt))}catch(At){ft(bt,At)}},X=V.prototype,Et=function(Mt){w(this,{type:B,done:!1,notified:!1,parent:!1,reactions:new C,rejection:!1,state:Nt,value:null})},Et.prototype=f(X,"then",function(Mt,bt){var At=z(this),Tt=Z(I(this,V));return At.parent=!0,Tt.ok=y(Mt)?Mt:!0,Tt.fail=y(bt)&&bt,Tt.domain=a?rt.domain:void 0,At.state===Nt?At.reactions.add(Tt):R(function(){nr(Tt,At)}),Tt.promise}),$t=function(){var nt=new Et,Mt=z(nt);this.promise=nt,this.resolve=wt(ct,Mt),this.reject=wt(ft,Mt)},F.f=Z=function(nt){return nt===V||nt===Bt?new $t(nt):mt(nt)},!e&&y(A)&&G!==Object.prototype)){Ft=G.then,W||f(G,"then",function(Mt,bt){var At=this;return new V(function(Tt,ur){i(Ft,At,Tt,ur)}).then(Mt,bt)},{unsafe:!0});try{delete G.constructor}catch(nt){}c&&c(G,X)}n({global:!0,constructor:!0,wrap:!0,forced:U},{Promise:V}),v(V,B,!1,!0),d(B)},58361:function(u,h,t){var n=t(14304),e=t(70457),a=t(98844),s=t(72069),i=t(38941),f=t(23583),c=t(16887),v=t(87408),d=t(16142),p=a&&a.prototype,y=!!a&&s(function(){p.finally.call({then:function(){}},function(){})});if(n({target:"Promise",proto:!0,real:!0,forced:y},{finally:function(S){var I=c(this,i("Promise")),E=f(S);return this.then(E?function(R){return v(I,S()).then(function(){return R})}:S,E?function(R){return v(I,S()).then(function(){throw R})}:S)}}),!e&&f(a)){var m=i("Promise").prototype.finally;p.finally!==m&&d(p,"finally",m,{unsafe:!0})}},63616:function(u,h,t){t(20238),t(11733),t(14013),t(3037),t(36027),t(97282)},3037:function(u,h,t){var n=t(14304),e=t(96499),a=t(85156),s=t(24649),i=t(67805),f=t(55902),c=t(26035);n({target:"Promise",stat:!0,forced:c},{race:function(d){var p=this,y=s.f(p),m=y.reject,S=i(function(){var I=a(p.resolve);f(d,function(E){e(I,p,E).then(y.resolve,m)})});return S.error&&m(S.value),y.promise}})},36027:function(u,h,t){var n=t(14304),e=t(24649),a=t(37130).CONSTRUCTOR;n({target:"Promise",stat:!0,forced:a},{reject:function(i){var f=e.f(this),c=f.reject;return c(i),f.promise}})},97282:function(u,h,t){var n=t(14304),e=t(38941),a=t(70457),s=t(98844),i=t(37130).CONSTRUCTOR,f=t(87408),c=e("Promise"),v=a&&!i;n({target:"Promise",stat:!0,forced:a||i},{resolve:function(p){return f(v&&this===c?s:this,p)}})},7487:function(u,h,t){var n=t(14304),e=t(34246),a=t(66543),s=t(22806),i=t(24649),f=t(85156),c=t(67805),v=e.Promise,d=!1,p=!v||!v.try||c(function(){v.try(function(y){d=y===8},8)}).error||!d;n({target:"Promise",stat:!0,forced:p},{try:function(y){var m=arguments.length>1?s(arguments,1):[],S=i.f(this),I=c(function(){return a(f(y),void 0,m)});return(I.error?S.reject:S.resolve)(I.value),S.promise}})},23958:function(u,h,t){var n=t(14304),e=t(24649);n({target:"Promise",stat:!0},{withResolvers:function(){var s=e.f(this);return{promise:s.promise,resolve:s.resolve,reject:s.reject}}})},9798:function(u,h,t){var n=t(14304),e=t(66543),a=t(85156),s=t(25001),i=t(72069),f=!i(function(){Reflect.apply(function(){})});n({target:"Reflect",stat:!0,forced:f},{apply:function(v,d,p){return e(a(v),d,s(p))}})},2371:function(u,h,t){var n=t(14304),e=t(38941),a=t(66543),s=t(91384),i=t(80042),f=t(25001),c=t(37540),v=t(5406),d=t(72069),p=e("Reflect","construct"),y=Object.prototype,m=[].push,S=d(function(){function R(){}return!(p(function(){},[],R)instanceof R)}),I=!d(function(){p(function(){})}),E=S||I;n({target:"Reflect",stat:!0,forced:E,sham:E},{construct:function(N,P){i(N),f(P);var C=arguments.length<3?N:i(arguments[2]);if(I&&!S)return p(N,P,C);if(N===C){switch(P.length){case 0:return new N;case 1:return new N(P[0]);case 2:return new N(P[0],P[1]);case 3:return new N(P[0],P[1],P[2]);case 4:return new N(P[0],P[1],P[2],P[3])}var b=[null];return a(m,b,P),new(a(s,N,b))}var A=C.prototype,M=v(c(A)?A:y),F=a(N,M,P);return c(F)?F:M}})},76185:function(u,h,t){var n=t(14304),e=t(92986),a=t(25001),s=t(50035),i=t(7831),f=t(72069),c=f(function(){Reflect.defineProperty(i.f({},1,{value:1}),1,{value:2})});n({target:"Reflect",stat:!0,forced:c,sham:!e},{defineProperty:function(d,p,y){a(d);var m=s(p);a(y);try{return i.f(d,m,y),!0}catch(S){return!1}}})},76553:function(u,h,t){var n=t(14304),e=t(25001),a=t(71349).f;n({target:"Reflect",stat:!0},{deleteProperty:function(i,f){var c=a(e(i),f);return c&&!c.configurable?!1:delete i[f]}})},25227:function(u,h,t){var n=t(14304),e=t(92986),a=t(25001),s=t(71349);n({target:"Reflect",stat:!0,sham:!e},{getOwnPropertyDescriptor:function(f,c){return s.f(a(f),c)}})},91723:function(u,h,t){var n=t(14304),e=t(25001),a=t(26313),s=t(87501);n({target:"Reflect",stat:!0,sham:!s},{getPrototypeOf:function(f){return a(e(f))}})},93518:function(u,h,t){var n=t(14304),e=t(96499),a=t(37540),s=t(25001),i=t(69745),f=t(71349),c=t(26313);function v(d,p){var y=arguments.length<3?d:arguments[2],m,S;if(s(d)===y)return d[p];if(m=f.f(d,p),m)return i(m)?m.value:m.get===void 0?void 0:e(m.get,y);if(a(S=c(d)))return v(S,p,y)}n({target:"Reflect",stat:!0},{get:v})},57882:function(u,h,t){var n=t(14304);n({target:"Reflect",stat:!0},{has:function(a,s){return s in a}})},37796:function(u,h,t){var n=t(14304),e=t(25001),a=t(28174);n({target:"Reflect",stat:!0},{isExtensible:function(i){return e(i),a(i)}})},11563:function(u,h,t){var n=t(14304),e=t(16885);n({target:"Reflect",stat:!0},{ownKeys:e})},26159:function(u,h,t){var n=t(14304),e=t(38941),a=t(25001),s=t(27534);n({target:"Reflect",stat:!0,sham:!s},{preventExtensions:function(f){a(f);try{var c=e("Object","preventExtensions");return c&&c(f),!0}catch(v){return!1}}})},77487:function(u,h,t){var n=t(14304),e=t(25001),a=t(53408),s=t(15861);s&&n({target:"Reflect",stat:!0},{setPrototypeOf:function(f,c){e(f),a(c);try{return s(f,c),!0}catch(v){return!1}}})},20962:function(u,h,t){var n=t(14304),e=t(96499),a=t(25001),s=t(37540),i=t(69745),f=t(72069),c=t(7831),v=t(71349),d=t(26313),p=t(18526);function y(S,I,E){var R=arguments.length<4?S:arguments[3],N=v.f(a(S),I),P,C,b;if(!N){if(s(C=d(S)))return y(C,I,E,R);N=p(0)}if(i(N)){if(N.writable===!1||!s(R))return!1;if(P=v.f(R,I)){if(P.get||P.set||P.writable===!1)return!1;P.value=E,c.f(R,I,P)}else c.f(R,I,p(0,E))}else{if(b=N.set,b===void 0)return!1;e(b,R,E)}return!0}var m=f(function(){var S=function(){},I=c.f(new S,"a",{configurable:!0});return Reflect.set(S.prototype,"a",1,I)!==!1});n({target:"Reflect",stat:!0,forced:m},{set:y})},6130:function(u,h,t){var n=t(14304),e=t(34246),a=t(78401);n({global:!0},{Reflect:{}}),a(e.Reflect,"Reflect",!0)},1354:function(u,h,t){var n=t(92986),e=t(34246),a=t(11286),s=t(13278),i=t(32345),f=t(90809),c=t(5406),v=t(83258).f,d=t(95307),p=t(11566),y=t(17361),m=t(54932),S=t(39807),I=t(2594),E=t(16142),R=t(72069),N=t(94879),P=t(82367).enforce,C=t(36167),b=t(18565),A=t(76769),M=t(85220),F=b("match"),B=e.RegExp,U=B.prototype,j=e.SyntaxError,W=a(U.exec),z=a("".charAt),w=a("".replace),G=a("".indexOf),V=a("".slice),X=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,tt=/a/g,q=/a/g,rt=new B(tt)!==tt,Z=S.MISSED_STICKY,mt=S.UNSUPPORTED_Y,ht=n&&(!rt||Z||A||M||R(function(){return q[F]=!1,B(tt)!==tt||B(q)===q||String(B(tt,"i"))!=="/a/i"})),xt=function(jt){for(var vt=jt.length,Et=0,$t="",Bt=!1,Ft;Et<=vt;Et++){if(Ft=z(jt,Et),Ft==="\\"){$t+=Ft+z(jt,++Et);continue}!Bt&&Ft==="."?$t+="[\\s\\S]":(Ft==="["?Bt=!0:Ft==="]"&&(Bt=!1),$t+=Ft)}return $t},Rt=function(jt){for(var vt=jt.length,Et=0,$t="",Bt=[],Ft=c(null),Vt=!1,nr=!1,tr=0,Zt="",Ht;Et<=vt;Et++){if(Ht=z(jt,Et),Ht==="\\")Ht+=z(jt,++Et);else if(Ht==="]")Vt=!1;else if(!Vt)switch(!0){case Ht==="[":Vt=!0;break;case Ht==="(":if($t+=Ht,V(jt,Et+1,Et+3)==="?:")continue;W(X,V(jt,Et+1))&&(Et+=2,nr=!0),tr++;continue;case(Ht===">"&&nr):if(Zt===""||N(Ft,Zt))throw new j("Invalid capture group name");Ft[Zt]=!0,Bt[Bt.length]=[Zt,tr],nr=!1,Zt="";continue}nr?Zt+=Ht:$t+=Ht}return[$t,Bt]};if(s("RegExp",ht)){for(var Nt=function(vt,Et){var $t=d(U,this),Bt=p(vt),Ft=Et===void 0,Vt=[],nr=vt,tr,Zt,Ht,rr,Qt,wt;if(!$t&&Bt&&Ft&&vt.constructor===Nt)return vt;if((Bt||d(U,vt))&&(vt=vt.source,Ft&&(Et=m(nr))),vt=vt===void 0?"":y(vt),Et=Et===void 0?"":y(Et),nr=vt,A&&"dotAll"in tt&&(Zt=!!Et&&G(Et,"s")>-1,Zt&&(Et=w(Et,/s/g,""))),tr=Et,Z&&"sticky"in tt&&(Ht=!!Et&&G(Et,"y")>-1,Ht&&mt&&(Et=w(Et,/y/g,""))),M&&(rr=Rt(vt),vt=rr[0],Vt=rr[1]),Qt=i(B(vt,Et),$t?this:U,Nt),(Zt||Ht||Vt.length)&&(wt=P(Qt),Zt&&(wt.dotAll=!0,wt.raw=Nt(xt(vt),tr)),Ht&&(wt.sticky=!0),Vt.length&&(wt.groups=Vt)),vt!==nr)try{f(Qt,"source",nr===""?"(?:)":nr)}catch(ft){}return Qt},Jt=v(B),Xt=0;Jt.length>Xt;)I(Nt,B,Jt[Xt++]);U.constructor=Nt,Nt.prototype=U,E(e,"RegExp",Nt,{constructor:!0})}C("RegExp")},47119:function(u,h,t){var n=t(92986),e=t(76769),a=t(14274),s=t(85500),i=t(82367).get,f=RegExp.prototype,c=TypeError;n&&e&&s(f,"dotAll",{configurable:!0,get:function(){if(this!==f){if(a(this)==="RegExp")return!!i(this).dotAll;throw new c("Incompatible receiver, RegExp required")}}})},31145:function(u,h,t){var n=t(14304),e=t(44381);n({target:"RegExp",proto:!0,forced:/./.exec!==e},{exec:e})},96773:function(u,h,t){var n=t(34246),e=t(92986),a=t(85500),s=t(29833),i=t(72069),f=n.RegExp,c=f.prototype,v=e&&i(function(){var d=!0;try{f(".","d")}catch(N){d=!1}var p={},y="",m=d?"dgimsy":"gimsy",S=function(N,P){Object.defineProperty(p,N,{get:function(){return y+=P,!0}})},I={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};d&&(I.hasIndices="d");for(var E in I)S(E,I[E]);var R=Object.getOwnPropertyDescriptor(c,"flags").get.call(p);return R!==m||y!==m});v&&a(c,"flags",{configurable:!0,get:s})},14371:function(u,h,t){var n=t(92986),e=t(39807).MISSED_STICKY,a=t(14274),s=t(85500),i=t(82367).get,f=RegExp.prototype,c=TypeError;n&&e&&s(f,"sticky",{configurable:!0,get:function(){if(this!==f){if(a(this)==="RegExp")return!!i(this).sticky;throw new c("Incompatible receiver, RegExp required")}}})},18180:function(u,h,t){t(31145);var n=t(14304),e=t(96499),a=t(23583),s=t(25001),i=t(17361),f=function(){var v=!1,d=/[ac]/;return d.exec=function(){return v=!0,/./.exec.apply(this,arguments)},d.test("abc")===!0&&v}(),c=/./.test;n({target:"RegExp",proto:!0,forced:!f},{test:function(v){var d=s(this),p=i(v),y=d.exec;if(!a(y))return e(c,d,p);var m=e(y,d,p);return m===null?!1:(s(m),!0)}})},83147:function(u,h,t){var n=t(86588).PROPER,e=t(16142),a=t(25001),s=t(17361),i=t(72069),f=t(54932),c="toString",v=RegExp.prototype,d=v[c],p=i(function(){return d.call({source:"a",flags:"b"})!=="/a/b"}),y=n&&d.name!==c;(p||y)&&e(v,c,function(){var S=a(this),I=s(S.source),E=s(f(S));return"/"+I+"/"+E},{unsafe:!0})},6583:function(u,h,t){var n=t(89378),e=t(34440);n("Set",function(a){return function(){return a(this,arguments.length?arguments[0]:void 0)}},e)},86548:function(u,h,t){var n=t(14304),e=t(41754),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("difference")},{difference:e})},15282:function(u,h,t){var n=t(14304),e=t(72069),a=t(92292),s=t(94118),i=!s("intersection")||e(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});n({target:"Set",proto:!0,real:!0,forced:i},{intersection:a})},51275:function(u,h,t){var n=t(14304),e=t(47391),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("isDisjointFrom")},{isDisjointFrom:e})},91890:function(u,h,t){var n=t(14304),e=t(75492),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("isSubsetOf")},{isSubsetOf:e})},15089:function(u,h,t){var n=t(14304),e=t(1333),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("isSupersetOf")},{isSupersetOf:e})},75765:function(u,h,t){t(6583)},78134:function(u,h,t){var n=t(14304),e=t(64680),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("symmetricDifference")},{symmetricDifference:e})},56456:function(u,h,t){var n=t(14304),e=t(70402),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("union")},{union:e})},70641:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("anchor")},{anchor:function(i){return e(this,"a","name",i)}})},40735:function(u,h,t){var n=t(14304),e=t(11286),a=t(2068),s=t(12105),i=t(17361),f=t(72069),c=e("".charAt),v=f(function(){return"\u{20BB7}".at(-2)!=="\uD842"});n({target:"String",proto:!0,forced:v},{at:function(p){var y=i(a(this)),m=y.length,S=s(p),I=S>=0?S:m+S;return I<0||I>=m?void 0:c(y,I)}})},53892:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("big")},{big:function(){return e(this,"big","","")}})},95976:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("blink")},{blink:function(){return e(this,"blink","","")}})},399:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("bold")},{bold:function(){return e(this,"b","","")}})},8510:function(u,h,t){var n=t(14304),e=t(22149).codeAt;n({target:"String",proto:!0},{codePointAt:function(s){return e(this,s)}})},70159:function(u,h,t){var n=t(14304),e=t(77422),a=t(71349).f,s=t(45344),i=t(17361),f=t(92337),c=t(2068),v=t(8790),d=t(70457),p=e("".slice),y=Math.min,m=v("endsWith"),S=!d&&!m&&!!function(){var I=a(String.prototype,"endsWith");return I&&!I.writable}();n({target:"String",proto:!0,forced:!S&&!m},{endsWith:function(E){var R=i(c(this));f(E);var N=arguments.length>1?arguments[1]:void 0,P=R.length,C=N===void 0?P:y(s(N),P),b=i(E);return p(R,C-b.length,C)===b}})},72032:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("fixed")},{fixed:function(){return e(this,"tt","","")}})},49442:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("fontcolor")},{fontcolor:function(i){return e(this,"font","color",i)}})},16012:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("fontsize")},{fontsize:function(i){return e(this,"font","size",i)}})},93087:function(u,h,t){var n=t(14304),e=t(11286),a=t(4652),s=RangeError,i=String.fromCharCode,f=String.fromCodePoint,c=e([].join),v=!!f&&f.length!==1;n({target:"String",stat:!0,arity:1,forced:v},{fromCodePoint:function(p){for(var y=[],m=arguments.length,S=0,I;m>S;){if(I=+arguments[S++],a(I,1114111)!==I)throw new s(I+" is not a valid code point");y[S]=I<65536?i(I):i(((I-=65536)>>10)+55296,I%1024+56320)}return c(y,"")}})},26021:function(u,h,t){var n=t(14304),e=t(11286),a=t(92337),s=t(2068),i=t(17361),f=t(8790),c=e("".indexOf);n({target:"String",proto:!0,forced:!f("includes")},{includes:function(d){return!!~c(i(s(this)),i(a(d)),arguments.length>1?arguments[1]:void 0)}})},93029:function(u,h,t){var n=t(14304),e=t(11286),a=t(2068),s=t(17361),i=e("".charCodeAt);n({target:"String",proto:!0},{isWellFormed:function(){for(var c=s(a(this)),v=c.length,d=0;d<v;d++){var p=i(c,d);if((p&63488)===55296&&(p>=56320||++d>=v||(i(c,d)&64512)!==56320))return!1}return!0}})},9943:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("italics")},{italics:function(){return e(this,"i","","")}})},59158:function(u,h,t){var n=t(22149).charAt,e=t(17361),a=t(82367),s=t(10218),i=t(10659),f="String Iterator",c=a.set,v=a.getterFor(f);s(String,"String",function(d){c(this,{type:f,string:e(d),index:0})},function(){var p=v(this),y=p.string,m=p.index,S;return m>=y.length?i(void 0,!0):(S=n(y,m),p.index+=S.length,i(S,!1))})},33128:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("link")},{link:function(i){return e(this,"a","href",i)}})},18509:function(u,h,t){var n=t(14304),e=t(96499),a=t(77422),s=t(26820),i=t(10659),f=t(2068),c=t(45344),v=t(17361),d=t(25001),p=t(5683),y=t(14274),m=t(11566),S=t(54932),I=t(10512),E=t(16142),R=t(72069),N=t(18565),P=t(16887),C=t(24487),b=t(33064),A=t(82367),M=t(70457),F=N("matchAll"),B="RegExp String",U=B+" Iterator",j=A.set,W=A.getterFor(U),z=RegExp.prototype,w=TypeError,G=a("".indexOf),V=a("".matchAll),X=!!V&&!R(function(){V("a",/./)}),tt=s(function(Z,mt,ht,xt){j(this,{type:U,regexp:Z,string:mt,global:ht,unicode:xt,done:!1})},B,function(){var Z=W(this);if(Z.done)return i(void 0,!0);var mt=Z.regexp,ht=Z.string,xt=b(mt,ht);return xt===null?(Z.done=!0,i(void 0,!0)):Z.global?(v(xt[0])===""&&(mt.lastIndex=C(ht,c(mt.lastIndex),Z.unicode)),i(xt,!1)):(Z.done=!0,i(xt,!1))}),q=function(rt){var Z=d(this),mt=v(rt),ht=P(Z,RegExp),xt=v(S(Z)),Rt,Nt,Jt;return Rt=new ht(ht===RegExp?Z.source:Z,xt),Nt=!!~G(xt,"g"),Jt=!!~G(xt,"u"),Rt.lastIndex=c(Z.lastIndex),new tt(Rt,mt,Nt,Jt)};n({target:"String",proto:!0,forced:X},{matchAll:function(Z){var mt=f(this),ht,xt,Rt,Nt;if(p(Z)){if(X)return V(mt,Z)}else{if(m(Z)&&(ht=v(f(S(Z))),!~G(ht,"g")))throw new w("`.matchAll` does not allow non-global regexes");if(X)return V(mt,Z);if(Rt=I(Z,F),Rt===void 0&&M&&y(Z)==="RegExp"&&(Rt=q),Rt)return e(Rt,Z,mt)}return xt=v(mt),Nt=new RegExp(Z,"g"),M?e(q,Nt,xt):Nt[F](xt)}}),M||F in z||E(z,F,q)},15599:function(u,h,t){var n=t(96499),e=t(63194),a=t(25001),s=t(5683),i=t(45344),f=t(17361),c=t(2068),v=t(10512),d=t(24487),p=t(33064);e("match",function(y,m,S){return[function(E){var R=c(this),N=s(E)?void 0:v(E,y);return N?n(N,E,R):new RegExp(E)[y](f(R))},function(I){var E=a(this),R=f(I),N=S(m,E,R);if(N.done)return N.value;if(!E.global)return p(E,R);var P=E.unicode;E.lastIndex=0;for(var C=[],b=0,A;(A=p(E,R))!==null;){var M=f(A[0]);C[b]=M,M===""&&(E.lastIndex=d(R,i(E.lastIndex),P)),b++}return b===0?null:C}]})},21579:function(u,h,t){var n=t(14304),e=t(61607).end,a=t(36945);n({target:"String",proto:!0,forced:a},{padEnd:function(i){return e(this,i,arguments.length>1?arguments[1]:void 0)}})},8854:function(u,h,t){var n=t(14304),e=t(61607).start,a=t(36945);n({target:"String",proto:!0,forced:a},{padStart:function(i){return e(this,i,arguments.length>1?arguments[1]:void 0)}})},57676:function(u,h,t){var n=t(14304),e=t(11286),a=t(36859),s=t(49671),i=t(17361),f=t(82628),c=e([].push),v=e([].join);n({target:"String",stat:!0},{raw:function(p){var y=a(s(p).raw),m=f(y);if(!m)return"";for(var S=arguments.length,I=[],E=0;;){if(c(I,i(y[E++])),E===m)return v(I,"");E<S&&c(I,i(arguments[E]))}}})},14527:function(u,h,t){var n=t(14304),e=t(79719);n({target:"String",proto:!0},{repeat:e})},52684:function(u,h,t){var n=t(14304),e=t(96499),a=t(11286),s=t(2068),i=t(23583),f=t(5683),c=t(11566),v=t(17361),d=t(10512),p=t(54932),y=t(38368),m=t(18565),S=t(70457),I=m("replace"),E=TypeError,R=a("".indexOf),N=a("".replace),P=a("".slice),C=Math.max;n({target:"String",proto:!0},{replaceAll:function(A,M){var F=s(this),B,U,j,W,z,w,G,V,X,tt,q=0,rt="";if(!f(A)){if(B=c(A),B&&(U=v(s(p(A))),!~R(U,"g")))throw new E("`.replaceAll` does not allow non-global regexes");if(j=d(A,I),j)return e(j,A,F,M);if(S&&B)return N(v(F),A,M)}for(W=v(F),z=v(A),w=i(M),w||(M=v(M)),G=z.length,V=C(1,G),X=R(W,z);X!==-1;)tt=w?v(M(z,X,W)):y(z,W,X,[],void 0,M),rt+=P(W,q,X)+tt,q=X+G,X=X+V>W.length?-1:R(W,z,X+V);return q<W.length&&(rt+=P(W,q)),rt}})},96834:function(u,h,t){var n=t(66543),e=t(96499),a=t(11286),s=t(63194),i=t(72069),f=t(25001),c=t(23583),v=t(5683),d=t(12105),p=t(45344),y=t(17361),m=t(2068),S=t(24487),I=t(10512),E=t(38368),R=t(33064),N=t(18565),P=N("replace"),C=Math.max,b=Math.min,A=a([].concat),M=a([].push),F=a("".indexOf),B=a("".slice),U=function(w){return w===void 0?w:String(w)},j=function(){return"a".replace(/./,"$0")==="$0"}(),W=function(){return/./[P]?/./[P]("a","$0")==="":!1}(),z=!i(function(){var w=/./;return w.exec=function(){var G=[];return G.groups={a:"7"},G},"".replace(w,"$<a>")!=="7"});s("replace",function(w,G,V){var X=W?"$":"$0";return[function(q,rt){var Z=m(this),mt=v(q)?void 0:I(q,P);return mt?e(mt,q,Z,rt):e(G,y(Z),q,rt)},function(tt,q){var rt=f(this),Z=y(tt);if(typeof q=="string"&&F(q,X)===-1&&F(q,"$<")===-1){var mt=V(G,rt,Z,q);if(mt.done)return mt.value}var ht=c(q);ht||(q=y(q));var xt=rt.global,Rt;xt&&(Rt=rt.unicode,rt.lastIndex=0);for(var Nt=[],Jt;Jt=R(rt,Z),!(Jt===null||(M(Nt,Jt),!xt));){var Xt=y(Jt[0]);Xt===""&&(rt.lastIndex=S(Z,p(rt.lastIndex),Rt))}for(var jt="",vt=0,Et=0;Et<Nt.length;Et++){Jt=Nt[Et];for(var $t=y(Jt[0]),Bt=C(b(d(Jt.index),Z.length),0),Ft=[],Vt,nr=1;nr<Jt.length;nr++)M(Ft,U(Jt[nr]));var tr=Jt.groups;if(ht){var Zt=A([$t],Ft,Bt,Z);tr!==void 0&&M(Zt,tr),Vt=y(n(q,void 0,Zt))}else Vt=E($t,Z,Bt,Ft,tr,q);Bt>=vt&&(jt+=B(Z,vt,Bt)+Vt,vt=Bt+$t.length)}return jt+B(Z,vt)}]},!z||!j||W)},74980:function(u,h,t){var n=t(96499),e=t(63194),a=t(25001),s=t(5683),i=t(2068),f=t(13944),c=t(17361),v=t(10512),d=t(33064);e("search",function(p,y,m){return[function(I){var E=i(this),R=s(I)?void 0:v(I,p);return R?n(R,I,E):new RegExp(I)[p](c(E))},function(S){var I=a(this),E=c(S),R=m(y,I,E);if(R.done)return R.value;var N=I.lastIndex;f(N,0)||(I.lastIndex=0);var P=d(I,E);return f(I.lastIndex,N)||(I.lastIndex=N),P===null?-1:P.index}]})},95625:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("small")},{small:function(){return e(this,"small","","")}})},390:function(u,h,t){var n=t(96499),e=t(11286),a=t(63194),s=t(25001),i=t(5683),f=t(2068),c=t(16887),v=t(24487),d=t(45344),p=t(17361),y=t(10512),m=t(33064),S=t(39807),I=t(72069),E=S.UNSUPPORTED_Y,R=4294967295,N=Math.min,P=e([].push),C=e("".slice),b=!I(function(){var M=/(?:)/,F=M.exec;M.exec=function(){return F.apply(this,arguments)};var B="ab".split(M);return B.length!==2||B[0]!=="a"||B[1]!=="b"}),A="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;a("split",function(M,F,B){var U="0".split(void 0,0).length?function(j,W){return j===void 0&&W===0?[]:n(F,this,j,W)}:F;return[function(W,z){var w=f(this),G=i(W)?void 0:y(W,M);return G?n(G,W,w,z):n(U,p(w),W,z)},function(j,W){var z=s(this),w=p(j);if(!A){var G=B(U,z,w,W,U!==F);if(G.done)return G.value}var V=c(z,RegExp),X=z.unicode,tt=(z.ignoreCase?"i":"")+(z.multiline?"m":"")+(z.unicode?"u":"")+(E?"g":"y"),q=new V(E?"^(?:"+z.source+")":z,tt),rt=W===void 0?R:W>>>0;if(rt===0)return[];if(w.length===0)return m(q,w)===null?[w]:[];for(var Z=0,mt=0,ht=[];mt<w.length;){q.lastIndex=E?0:mt;var xt=m(q,E?C(w,mt):w),Rt;if(xt===null||(Rt=N(d(q.lastIndex+(E?mt:0)),w.length))===Z)mt=v(w,mt,X);else{if(P(ht,C(w,Z,mt)),ht.length===rt)return ht;for(var Nt=1;Nt<=xt.length-1;Nt++)if(P(ht,xt[Nt]),ht.length===rt)return ht;mt=Z=Rt}}return P(ht,C(w,Z)),ht}]},A||!b,E)},42794:function(u,h,t){var n=t(14304),e=t(77422),a=t(71349).f,s=t(45344),i=t(17361),f=t(92337),c=t(2068),v=t(8790),d=t(70457),p=e("".slice),y=Math.min,m=v("startsWith"),S=!d&&!m&&!!function(){var I=a(String.prototype,"startsWith");return I&&!I.writable}();n({target:"String",proto:!0,forced:!S&&!m},{startsWith:function(E){var R=i(c(this));f(E);var N=s(y(arguments.length>1?arguments[1]:void 0,R.length)),P=i(E);return p(R,N,N+P.length)===P}})},90614:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("strike")},{strike:function(){return e(this,"strike","","")}})},60120:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("sub")},{sub:function(){return e(this,"sub","","")}})},21293:function(u,h,t){var n=t(14304),e=t(11286),a=t(2068),s=t(12105),i=t(17361),f=e("".slice),c=Math.max,v=Math.min,d=!"".substr||"ab".substr(-1)!=="b";n({target:"String",proto:!0,forced:d},{substr:function(y,m){var S=i(a(this)),I=S.length,E=s(y),R,N;return E===1/0&&(E=0),E<0&&(E=c(I+E,0)),R=m===void 0?I:s(m),R<=0||R===1/0?"":(N=v(E+R,I),E>=N?"":f(S,E,N))}})},75826:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("sup")},{sup:function(){return e(this,"sup","","")}})},18184:function(u,h,t){var n=t(14304),e=t(96499),a=t(11286),s=t(2068),i=t(17361),f=t(72069),c=Array,v=a("".charAt),d=a("".charCodeAt),p=a([].join),y="".toWellFormed,m="\uFFFD",S=y&&f(function(){return e(y,1)!=="1"});n({target:"String",proto:!0,forced:S},{toWellFormed:function(){var E=i(s(this));if(S)return e(y,E);for(var R=E.length,N=c(R),P=0;P<R;P++){var C=d(E,P);(C&63488)!==55296?N[P]=v(E,P):C>=56320||P+1>=R||(d(E,P+1)&64512)!==56320?N[P]=m:(N[P]=v(E,P),N[++P]=v(E,P))}return p(N,"")}})},19680:function(u,h,t){t(23283);var n=t(14304),e=t(75176);n({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==e},{trimEnd:e})},12272:function(u,h,t){var n=t(14304),e=t(83481);n({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==e},{trimLeft:e})},23283:function(u,h,t){var n=t(14304),e=t(75176);n({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==e},{trimRight:e})},4193:function(u,h,t){t(12272);var n=t(14304),e=t(83481);n({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==e},{trimStart:e})},75012:function(u,h,t){var n=t(14304),e=t(85900).trim,a=t(33328);n({target:"String",proto:!0,forced:a("trim")},{trim:function(){return e(this)}})},43606:function(u,h,t){var n=t(83749);n("asyncIterator")},51767:function(u,h,t){var n=t(14304),e=t(34246),a=t(96499),s=t(11286),i=t(70457),f=t(92986),c=t(39729),v=t(72069),d=t(94879),p=t(95307),y=t(25001),m=t(36859),S=t(50035),I=t(17361),E=t(18526),R=t(5406),N=t(18350),P=t(83258),C=t(92880),b=t(24943),A=t(71349),M=t(7831),F=t(61963),B=t(79591),U=t(16142),j=t(85500),W=t(96731),z=t(44869),w=t(19423),G=t(36374),V=t(18565),X=t(56529),tt=t(83749),q=t(60796),rt=t(78401),Z=t(82367),mt=t(66655).forEach,ht=z("hidden"),xt="Symbol",Rt="prototype",Nt=Z.set,Jt=Z.getterFor(xt),Xt=Object[Rt],jt=e.Symbol,vt=jt&&jt[Rt],Et=e.RangeError,$t=e.TypeError,Bt=e.QObject,Ft=A.f,Vt=M.f,nr=C.f,tr=B.f,Zt=s([].push),Ht=W("symbols"),rr=W("op-symbols"),Qt=W("wks"),wt=!Bt||!Bt[Rt]||!Bt[Rt].findChild,ft=function(ot,lt,st){var yt=Ft(Xt,lt);yt&&delete Xt[lt],Vt(ot,lt,st),yt&&ot!==Xt&&Vt(Xt,lt,yt)},ct=f&&v(function(){return R(Vt({},"a",{get:function(){return Vt(this,"a",{value:7}).a}})).a!==7})?ft:Vt,nt=function(ot,lt){var st=Ht[ot]=R(vt);return Nt(st,{type:xt,tag:ot,description:lt}),f||(st.description=lt),st},Mt=function(lt,st,yt){lt===Xt&&Mt(rr,st,yt),y(lt);var at=S(st);return y(yt),d(Ht,at)?(yt.enumerable?(d(lt,ht)&<[ht][at]&&(lt[ht][at]=!1),yt=R(yt,{enumerable:E(0,!1)})):(d(lt,ht)||Vt(lt,ht,E(1,R(null))),lt[ht][at]=!0),ct(lt,at,yt)):Vt(lt,at,yt)},bt=function(lt,st){y(lt);var yt=m(st),at=N(yt).concat(Q(yt));return mt(at,function(Lt){(!f||a(Tt,yt,Lt))&&Mt(lt,Lt,yt[Lt])}),lt},At=function(lt,st){return st===void 0?R(lt):bt(R(lt),st)},Tt=function(lt){var st=S(lt),yt=a(tr,this,st);return this===Xt&&d(Ht,st)&&!d(rr,st)?!1:yt||!d(this,st)||!d(Ht,st)||d(this,ht)&&this[ht][st]?yt:!0},ur=function(lt,st){var yt=m(lt),at=S(st);if(!(yt===Xt&&d(Ht,at)&&!d(rr,at))){var Lt=Ft(yt,at);return Lt&&d(Ht,at)&&!(d(yt,ht)&&yt[ht][at])&&(Lt.enumerable=!0),Lt}},vr=function(lt){var st=nr(m(lt)),yt=[];return mt(st,function(at){!d(Ht,at)&&!d(w,at)&&Zt(yt,at)}),yt},Q=function(ot){var lt=ot===Xt,st=nr(lt?rr:m(ot)),yt=[];return mt(st,function(at){d(Ht,at)&&(!lt||d(Xt,at))&&Zt(yt,Ht[at])}),yt};c||(jt=function(){if(p(vt,this))throw new $t("Symbol is not a constructor");var lt=!arguments.length||arguments[0]===void 0?void 0:I(arguments[0]),st=G(lt),yt=function(at){var Lt=this===void 0?e:this;Lt===Xt&&a(yt,rr,at),d(Lt,ht)&&d(Lt[ht],st)&&(Lt[ht][st]=!1);var er=E(1,at);try{ct(Lt,st,er)}catch(it){if(!(it instanceof Et))throw it;ft(Lt,st,er)}};return f&&wt&&ct(Xt,st,{configurable:!0,set:yt}),nt(st,lt)},vt=jt[Rt],U(vt,"toString",function(){return Jt(this).tag}),U(jt,"withoutSetter",function(ot){return nt(G(ot),ot)}),B.f=Tt,M.f=Mt,F.f=bt,A.f=ur,P.f=C.f=vr,b.f=Q,X.f=function(ot){return nt(V(ot),ot)},f&&(j(vt,"description",{configurable:!0,get:function(){return Jt(this).description}}),i||U(Xt,"propertyIsEnumerable",Tt,{unsafe:!0}))),n({global:!0,constructor:!0,wrap:!0,forced:!c,sham:!c},{Symbol:jt}),mt(N(Qt),function(ot){tt(ot)}),n({target:xt,stat:!0,forced:!c},{useSetter:function(){wt=!0},useSimple:function(){wt=!1}}),n({target:"Object",stat:!0,forced:!c,sham:!f},{create:At,defineProperty:Mt,defineProperties:bt,getOwnPropertyDescriptor:ur}),n({target:"Object",stat:!0,forced:!c},{getOwnPropertyNames:vr}),q(),rt(jt,xt),w[ht]=!0},43657:function(u,h,t){var n=t(14304),e=t(92986),a=t(34246),s=t(11286),i=t(94879),f=t(23583),c=t(95307),v=t(17361),d=t(85500),p=t(93706),y=a.Symbol,m=y&&y.prototype;if(e&&f(y)&&(!("description"in m)||y().description!==void 0)){var S={},I=function(){var M=arguments.length<1||arguments[0]===void 0?void 0:v(arguments[0]),F=c(m,this)?new y(M):M===void 0?y():y(M);return M===""&&(S[F]=!0),F};p(I,y),I.prototype=m,m.constructor=I;var E=String(y("description detection"))==="Symbol(description detection)",R=s(m.valueOf),N=s(m.toString),P=/^Symbol\((.*)\)[^)]+$/,C=s("".replace),b=s("".slice);d(m,"description",{configurable:!0,get:function(){var M=R(this);if(i(S,M))return"";var F=N(M),B=E?b(F,7,-1):C(F,P,"$1");return B===""?void 0:B}}),n({global:!0,constructor:!0,forced:!0},{Symbol:I})}},20872:function(u,h,t){var n=t(14304),e=t(38941),a=t(94879),s=t(17361),i=t(96731),f=t(61190),c=i("string-to-symbol-registry"),v=i("symbol-to-string-registry");n({target:"Symbol",stat:!0,forced:!f},{for:function(d){var p=s(d);if(a(c,p))return c[p];var y=e("Symbol")(p);return c[p]=y,v[y]=p,y}})},15855:function(u,h,t){var n=t(83749);n("hasInstance")},42026:function(u,h,t){var n=t(83749);n("isConcatSpreadable")},33257:function(u,h,t){var n=t(83749);n("iterator")},40949:function(u,h,t){t(51767),t(20872),t(94762),t(71332),t(45223)},94762:function(u,h,t){var n=t(14304),e=t(94879),a=t(491),s=t(82453),i=t(96731),f=t(61190),c=i("symbol-to-string-registry");n({target:"Symbol",stat:!0,forced:!f},{keyFor:function(d){if(!a(d))throw new TypeError(s(d)+" is not a symbol");if(e(c,d))return c[d]}})},88344:function(u,h,t){var n=t(83749);n("matchAll")},59414:function(u,h,t){var n=t(83749);n("match")},92579:function(u,h,t){var n=t(83749);n("replace")},94655:function(u,h,t){var n=t(83749);n("search")},8565:function(u,h,t){var n=t(83749);n("species")},60843:function(u,h,t){var n=t(83749);n("split")},65842:function(u,h,t){var n=t(83749),e=t(60796);n("toPrimitive"),e()},51595:function(u,h,t){var n=t(38941),e=t(83749),a=t(78401);e("toStringTag"),a(n("Symbol"),"Symbol")},54908:function(u,h,t){var n=t(83749);n("unscopables")},71998:function(u,h,t){var n=t(88037),e=t(82628),a=t(12105),s=n.aTypedArray,i=n.exportTypedArrayMethod;i("at",function(c){var v=s(this),d=e(v),p=a(c),y=p>=0?p:d+p;return y<0||y>=d?void 0:v[y]})},6116:function(u,h,t){var n=t(11286),e=t(88037),a=t(81499),s=n(a),i=e.aTypedArray,f=e.exportTypedArrayMethod;f("copyWithin",function(v,d){return s(i(this),v,d,arguments.length>2?arguments[2]:void 0)})},33032:function(u,h,t){var n=t(88037),e=t(66655).every,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("every",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},80962:function(u,h,t){var n=t(88037),e=t(43011),a=t(11344),s=t(9205),i=t(96499),f=t(11286),c=t(72069),v=n.aTypedArray,d=n.exportTypedArrayMethod,p=f("".slice),y=c(function(){var m=0;return new Int8Array(2).fill({valueOf:function(){return m++}}),m!==1});d("fill",function(S){var I=arguments.length;v(this);var E=p(s(this),0,3)==="Big"?a(S):+S;return i(e,this,E,I>1?arguments[1]:void 0,I>2?arguments[2]:void 0)},y)},49381:function(u,h,t){var n=t(88037),e=t(66655).filter,a=t(39954),s=n.aTypedArray,i=n.exportTypedArrayMethod;i("filter",function(c){var v=e(s(this),c,arguments.length>1?arguments[1]:void 0);return a(this,v)})},65961:function(u,h,t){var n=t(88037),e=t(66655).findIndex,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("findIndex",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},16028:function(u,h,t){var n=t(88037),e=t(73849).findLastIndex,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("findLastIndex",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},94153:function(u,h,t){var n=t(88037),e=t(73849).findLast,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("findLast",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},38344:function(u,h,t){var n=t(88037),e=t(66655).find,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("find",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},25560:function(u,h,t){var n=t(80357);n("Float32",function(e){return function(s,i,f){return e(this,s,i,f)}})},22571:function(u,h,t){var n=t(80357);n("Float64",function(e){return function(s,i,f){return e(this,s,i,f)}})},20656:function(u,h,t){var n=t(88037),e=t(66655).forEach,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("forEach",function(f){e(a(this),f,arguments.length>1?arguments[1]:void 0)})},17063:function(u,h,t){var n=t(46868),e=t(88037).exportTypedArrayStaticMethod,a=t(66169);e("from",a,n)},21774:function(u,h,t){var n=t(88037),e=t(94319).includes,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("includes",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},51761:function(u,h,t){var n=t(88037),e=t(94319).indexOf,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("indexOf",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},36849:function(u,h,t){var n=t(80357);n("Int16",function(e){return function(s,i,f){return e(this,s,i,f)}})},49191:function(u,h,t){var n=t(80357);n("Int32",function(e){return function(s,i,f){return e(this,s,i,f)}})},40704:function(u,h,t){var n=t(80357);n("Int8",function(e){return function(s,i,f){return e(this,s,i,f)}})},12317:function(u,h,t){var n=t(34246),e=t(72069),a=t(11286),s=t(88037),i=t(35054),f=t(18565),c=f("iterator"),v=n.Uint8Array,d=a(i.values),p=a(i.keys),y=a(i.entries),m=s.aTypedArray,S=s.exportTypedArrayMethod,I=v&&v.prototype,E=!e(function(){I[c].call([1])}),R=!!I&&I.values&&I[c]===I.values&&I.values.name==="values",N=function(){return d(m(this))};S("entries",function(){return y(m(this))},E),S("keys",function(){return p(m(this))},E),S("values",N,E||!R,{name:"values"}),S(c,N,E||!R,{name:"values"})},19711:function(u,h,t){var n=t(88037),e=t(11286),a=n.aTypedArray,s=n.exportTypedArrayMethod,i=e([].join);s("join",function(c){return i(a(this),c)})},41034:function(u,h,t){var n=t(88037),e=t(66543),a=t(58465),s=n.aTypedArray,i=n.exportTypedArrayMethod;i("lastIndexOf",function(c){var v=arguments.length;return e(a,s(this),v>1?[c,arguments[1]]:[c])})},13313:function(u,h,t){var n=t(88037),e=t(66655).map,a=n.aTypedArray,s=n.getTypedArrayConstructor,i=n.exportTypedArrayMethod;i("map",function(c){return e(a(this),c,arguments.length>1?arguments[1]:void 0,function(v,d){return new(s(v))(d)})})},44698:function(u,h,t){var n=t(88037),e=t(46868),a=n.aTypedArrayConstructor,s=n.exportTypedArrayStaticMethod;s("of",function(){for(var f=0,c=arguments.length,v=new(a(this))(c);c>f;)v[f]=arguments[f++];return v},e)},66178:function(u,h,t){var n=t(88037),e=t(97264).right,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("reduceRight",function(f){var c=arguments.length;return e(a(this),f,c,c>1?arguments[1]:void 0)})},7369:function(u,h,t){var n=t(88037),e=t(97264).left,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("reduce",function(f){var c=arguments.length;return e(a(this),f,c,c>1?arguments[1]:void 0)})},67961:function(u,h,t){var n=t(88037),e=n.aTypedArray,a=n.exportTypedArrayMethod,s=Math.floor;a("reverse",function(){for(var f=this,c=e(f).length,v=s(c/2),d=0,p;d<v;)p=f[d],f[d++]=f[--c],f[c]=p;return f})},8695:function(u,h,t){var n=t(34246),e=t(96499),a=t(88037),s=t(82628),i=t(58143),f=t(49671),c=t(72069),v=n.RangeError,d=n.Int8Array,p=d&&d.prototype,y=p&&p.set,m=a.aTypedArray,S=a.exportTypedArrayMethod,I=!c(function(){var R=new Uint8ClampedArray(2);return e(y,R,{length:1,0:3},1),R[1]!==3}),E=I&&a.NATIVE_ARRAY_BUFFER_VIEWS&&c(function(){var R=new d(2);return R.set(1),R.set("2",1),R[0]!==0||R[1]!==2});S("set",function(N){m(this);var P=i(arguments.length>1?arguments[1]:void 0,1),C=f(N);if(I)return e(y,this,C,P);var b=this.length,A=s(C),M=0;if(A+P>b)throw new v("Wrong length");for(;M<A;)this[P+M]=C[M++]},!I||E)},69997:function(u,h,t){var n=t(88037),e=t(72069),a=t(22806),s=n.aTypedArray,i=n.getTypedArrayConstructor,f=n.exportTypedArrayMethod,c=e(function(){new Int8Array(1).slice()});f("slice",function(d,p){for(var y=a(s(this),d,p),m=i(this),S=0,I=y.length,E=new m(I);I>S;)E[S]=y[S++];return E},c)},9711:function(u,h,t){var n=t(88037),e=t(66655).some,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("some",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},3923:function(u,h,t){var n=t(34246),e=t(77422),a=t(72069),s=t(85156),i=t(13270),f=t(88037),c=t(507),v=t(17417),d=t(44241),p=t(66577),y=f.aTypedArray,m=f.exportTypedArrayMethod,S=n.Uint16Array,I=S&&e(S.prototype.sort),E=!!I&&!(a(function(){I(new S(2),null)})&&a(function(){I(new S(2),{})})),R=!!I&&!a(function(){if(d)return d<74;if(c)return c<67;if(v)return!0;if(p)return p<602;var P=new S(516),C=Array(516),b,A;for(b=0;b<516;b++)A=b%4,P[b]=515-b,C[b]=b-2*A+3;for(I(P,function(M,F){return(M/4|0)-(F/4|0)}),b=0;b<516;b++)if(P[b]!==C[b])return!0}),N=function(P){return function(C,b){return P!==void 0?+P(C,b)||0:b!==b?-1:C!==C?1:C===0&&b===0?1/C>0&&1/b<0?1:-1:C>b}};m("sort",function(C){return C!==void 0&&s(C),R?I(this,C):i(y(this),N(C))},!R||E)},59728:function(u,h,t){var n=t(88037),e=t(45344),a=t(4652),s=n.aTypedArray,i=n.getTypedArrayConstructor,f=n.exportTypedArrayMethod;f("subarray",function(v,d){var p=s(this),y=p.length,m=a(v,y),S=i(p);return new S(p.buffer,p.byteOffset+m*p.BYTES_PER_ELEMENT,e((d===void 0?y:a(d,y))-m))})},85227:function(u,h,t){var n=t(34246),e=t(66543),a=t(88037),s=t(72069),i=t(22806),f=n.Int8Array,c=a.aTypedArray,v=a.exportTypedArrayMethod,d=[].toLocaleString,p=!!f&&s(function(){d.call(new f(1))}),y=s(function(){return[1,2].toLocaleString()!==new f([1,2]).toLocaleString()})||!s(function(){f.prototype.toLocaleString.call([1,2])});v("toLocaleString",function(){return e(d,p?i(c(this)):c(this),i(arguments))},y)},56933:function(u,h,t){var n=t(61638),e=t(88037),a=e.aTypedArray,s=e.exportTypedArrayMethod,i=e.getTypedArrayConstructor;s("toReversed",function(){return n(a(this),i(this))})},91490:function(u,h,t){var n=t(88037),e=t(11286),a=t(85156),s=t(5220),i=n.aTypedArray,f=n.getTypedArrayConstructor,c=n.exportTypedArrayMethod,v=e(n.TypedArrayPrototype.sort);c("toSorted",function(p){p!==void 0&&a(p);var y=i(this),m=s(f(y),y);return v(m,p)})},61766:function(u,h,t){var n=t(88037).exportTypedArrayMethod,e=t(72069),a=t(34246),s=t(11286),i=a.Uint8Array,f=i&&i.prototype||{},c=[].toString,v=s([].join);e(function(){c.call({})})&&(c=function(){return v(this)});var d=f.toString!==c;n("toString",c,d)},44884:function(u,h,t){var n=t(80357);n("Uint16",function(e){return function(s,i,f){return e(this,s,i,f)}})},48658:function(u,h,t){var n=t(80357);n("Uint32",function(e){return function(s,i,f){return e(this,s,i,f)}})},81083:function(u,h,t){var n=t(80357);n("Uint8",function(e){return function(s,i,f){return e(this,s,i,f)}})},27428:function(u,h,t){var n=t(80357);n("Uint8",function(e){return function(s,i,f){return e(this,s,i,f)}},!0)},85143:function(u,h,t){var n=t(72302),e=t(88037),a=t(77129),s=t(12105),i=t(11344),f=e.aTypedArray,c=e.getTypedArrayConstructor,v=e.exportTypedArrayMethod,d=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(p){return p===8}}();v("with",function(p,y){var m=f(this),S=s(p),I=a(m)?i(y):+y;return n(m,c(m),S,I)},!d)},47005:function(u,h,t){var n=t(14304),e=t(11286),a=t(17361),s=String.fromCharCode,i=e("".charAt),f=e(/./.exec),c=e("".slice),v=/^[\da-f]{2}$/i,d=/^[\da-f]{4}$/i;n({global:!0},{unescape:function(y){for(var m=a(y),S="",I=m.length,E=0,R,N;E<I;){if(R=i(m,E++),R==="%"){if(i(m,E)==="u"){if(N=c(m,E+1,E+5),f(d,N)){S+=s(parseInt(N,16)),E+=5;continue}}else if(N=c(m,E,E+2),f(v,N)){S+=s(parseInt(N,16)),E+=2;continue}}S+=R}return S}})},21084:function(u,h,t){var n=t(27534),e=t(34246),a=t(11286),s=t(2725),i=t(31853),f=t(89378),c=t(94667),v=t(37540),d=t(82367).enforce,p=t(72069),y=t(42960),m=Object,S=Array.isArray,I=m.isExtensible,E=m.isFrozen,R=m.isSealed,N=m.freeze,P=m.seal,C=!e.ActiveXObject&&"ActiveXObject"in e,b,A=function(w){return function(){return w(this,arguments.length?arguments[0]:void 0)}},M=f("WeakMap",A,c),F=M.prototype,B=a(F.set),U=function(){return n&&p(function(){var w=N([]);return B(new M,w,1),!E(w)})};if(y)if(C){b=c.getConstructor(A,"WeakMap",!0),i.enable();var j=a(F.delete),W=a(F.has),z=a(F.get);s(F,{delete:function(w){if(v(w)&&!I(w)){var G=d(this);return G.frozen||(G.frozen=new b),j(this,w)||G.frozen.delete(w)}return j(this,w)},has:function(G){if(v(G)&&!I(G)){var V=d(this);return V.frozen||(V.frozen=new b),W(this,G)||V.frozen.has(G)}return W(this,G)},get:function(G){if(v(G)&&!I(G)){var V=d(this);return V.frozen||(V.frozen=new b),W(this,G)?z(this,G):V.frozen.get(G)}return z(this,G)},set:function(G,V){if(v(G)&&!I(G)){var X=d(this);X.frozen||(X.frozen=new b),W(this,G)?B(this,G,V):X.frozen.set(G,V)}else B(this,G,V);return this}})}else U()&&s(F,{set:function(G,V){var X;return S(G)&&(E(G)?X=N:R(G)&&(X=P)),B(this,G,V),X&&X(G),this}})},10042:function(u,h,t){t(21084)},58990:function(u,h,t){var n=t(89378),e=t(94667);n("WeakSet",function(a){return function(){return a(this,arguments.length?arguments[0]:void 0)}},e)},37888:function(u,h,t){t(58990)},19431:function(u,h,t){var n=t(14304),e=t(34246),a=t(38941),s=t(11286),i=t(96499),f=t(72069),c=t(17361),v=t(95486),d=t(6210).c2i,p=/[^\d+/a-z]/i,y=/[\t\n\f\r ]+/g,m=/[=]{1,2}$/,S=a("atob"),I=String.fromCharCode,E=s("".charAt),R=s("".replace),N=s(p.exec),P=!!S&&!f(function(){return S("aGk=")!=="hi"}),C=P&&f(function(){return S(" ")!==""}),b=P&&!f(function(){S("a")}),A=P&&!f(function(){S()}),M=P&&S.length!==1,F=!P||C||b||A||M;n({global:!0,bind:!0,enumerable:!0,forced:F},{atob:function(U){if(v(arguments.length,1),P&&!C&&!b)return i(S,e,U);var j=R(c(U),y,""),W="",z=0,w=0,G,V,X;if(j.length%4===0&&(j=R(j,m,"")),G=j.length,G%4===1||N(p,j))throw new(a("DOMException"))("The string is not correctly encoded","InvalidCharacterError");for(;z<G;)V=E(j,z++),X=w%4?X*64+d[V]:d[V],w++%4&&(W+=I(255&X>>(-2*w&6)));return W}})},60869:function(u,h,t){var n=t(14304),e=t(34246),a=t(38941),s=t(11286),i=t(96499),f=t(72069),c=t(17361),v=t(95486),d=t(6210).i2c,p=a("btoa"),y=s("".charAt),m=s("".charCodeAt),S=!!p&&!f(function(){return p("hi")!=="aGk="}),I=S&&!f(function(){p()}),E=S&&f(function(){return p(null)!=="bnVsbA=="}),R=S&&p.length!==1;n({global:!0,bind:!0,enumerable:!0,forced:!S||I||E||R},{btoa:function(P){if(v(arguments.length,1),S)return i(p,e,c(P));for(var C=c(P),b="",A=0,M=d,F,B;y(C,A)||(M="=",A%1);){if(B=m(C,A+=.75),B>255)throw new(a("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");F=F<<8|B,b+=y(M,63&F>>8-A%1*8)}return b}})},66722:function(u,h,t){var n=t(14304),e=t(34246),a=t(23115).clear;n({global:!0,bind:!0,enumerable:!0,forced:e.clearImmediate!==a},{clearImmediate:a})},50338:function(u,h,t){var n=t(34246),e=t(93014),a=t(39882),s=t(13349),i=t(90809),f=function(v){if(v&&v.forEach!==s)try{i(v,"forEach",s)}catch(d){v.forEach=s}};for(var c in e)e[c]&&f(n[c]&&n[c].prototype);f(a)},53059:function(u,h,t){var n=t(34246),e=t(93014),a=t(39882),s=t(35054),i=t(90809),f=t(78401),c=t(18565),v=c("iterator"),d=s.values,p=function(m,S){if(m){if(m[v]!==d)try{i(m,v,d)}catch(E){m[v]=d}if(f(m,S,!0),e[S]){for(var I in s)if(m[I]!==s[I])try{i(m,I,s[I])}catch(E){m[I]=s[I]}}}};for(var y in e)p(n[y]&&n[y].prototype,y);p(a,"DOMTokenList")},5805:function(u,h,t){var n=t(14304),e=t(38941),a=t(81191),s=t(72069),i=t(5406),f=t(18526),c=t(7831).f,v=t(16142),d=t(85500),p=t(94879),y=t(12833),m=t(25001),S=t(58434),I=t(15453),E=t(74408),R=t(40851),N=t(82367),P=t(92986),C=t(70457),b="DOMException",A="DATA_CLONE_ERR",M=e("Error"),F=e(b)||function(){try{var vt=e("MessageChannel")||a("worker_threads").MessageChannel;new vt().port1.postMessage(new WeakMap)}catch(Et){if(Et.name===A&&Et.code===25)return Et.constructor}}(),B=F&&F.prototype,U=M.prototype,j=N.set,W=N.getterFor(b),z="stack"in new M(b),w=function(vt){return p(E,vt)&&E[vt].m?E[vt].c:0},G=function(){y(this,V);var Et=arguments.length,$t=I(Et<1?void 0:arguments[0]),Bt=I(Et<2?void 0:arguments[1],"Error"),Ft=w(Bt);if(j(this,{type:b,name:Bt,message:$t,code:Ft}),P||(this.name=Bt,this.message=$t,this.code=Ft),z){var Vt=new M($t);Vt.name=b,c(this,"stack",f(1,R(Vt.stack,1)))}},V=G.prototype=i(U),X=function(vt){return{enumerable:!0,configurable:!0,get:vt}},tt=function(vt){return X(function(){return W(this)[vt]})};P&&(d(V,"code",tt("code")),d(V,"message",tt("message")),d(V,"name",tt("name"))),c(V,"constructor",f(1,G));var q=s(function(){return!(new F instanceof M)}),rt=q||s(function(){return U.toString!==S||String(new F(1,2))!=="2: 1"}),Z=q||s(function(){return new F(1,"DataCloneError").code!==25}),mt=q||F[A]!==25||B[A]!==25,ht=C?rt||Z||mt:q;n({global:!0,constructor:!0,forced:ht},{DOMException:ht?G:F});var xt=e(b),Rt=xt.prototype;rt&&(C||F===xt)&&v(Rt,"toString",S),Z&&P&&F===xt&&d(Rt,"code",X(function(){return w(m(this).name)}));for(var Nt in E)if(p(E,Nt)){var Jt=E[Nt],Xt=Jt.s,jt=f(6,Jt.c);p(xt,Xt)||c(xt,Xt,jt),p(Rt,Xt)||c(Rt,Xt,jt)}},50685:function(u,h,t){var n=t(14304),e=t(34246),a=t(38941),s=t(18526),i=t(7831).f,f=t(94879),c=t(12833),v=t(32345),d=t(15453),p=t(74408),y=t(40851),m=t(92986),S=t(70457),I="DOMException",E=a("Error"),R=a(I),N=function(){c(this,P);var G=arguments.length,V=d(G<1?void 0:arguments[0]),X=d(G<2?void 0:arguments[1],"Error"),tt=new R(V,X),q=new E(V);return q.name=I,i(tt,"stack",s(1,y(q.stack,1))),v(tt,this,N),tt},P=N.prototype=R.prototype,C="stack"in new E(I),b="stack"in new R(1,2),A=R&&m&&Object.getOwnPropertyDescriptor(e,I),M=!!A&&!(A.writable&&A.configurable),F=C&&!M&&!b;n({global:!0,constructor:!0,forced:S||F},{DOMException:F?N:R});var B=a(I),U=B.prototype;if(U.constructor!==B){S||i(U,"constructor",s(1,B));for(var j in p)if(f(p,j)){var W=p[j],z=W.s;f(B,z)||i(B,z,s(6,W.c))}}},70649:function(u,h,t){var n=t(38941),e=t(78401),a="DOMException";e(n(a),a)},39842:function(u,h,t){t(66722),t(8235)},82872:function(u,h,t){var n=t(14304),e=t(34246),a=t(9709),s=t(85156),i=t(95486),f=t(72069),c=t(92986),v=f(function(){return c&&Object.getOwnPropertyDescriptor(e,"queueMicrotask").value.length!==1});n({global:!0,enumerable:!0,dontCallGetSet:!0,forced:v},{queueMicrotask:function(p){i(arguments.length,1),a(s(p))}})},91401:function(u,h,t){var n=t(14304),e=t(34246),a=t(85500),s=t(92986),i=TypeError,f=Object.defineProperty,c=e.self!==e;try{if(s){var v=Object.getOwnPropertyDescriptor(e,"self");(c||!v||!v.get||!v.enumerable)&&a(e,"self",{get:function(){return e},set:function(p){if(this!==e)throw new i("Illegal invocation");f(e,"self",{value:p,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else n({global:!0,simple:!0,forced:c},{self:e})}catch(d){}},8235:function(u,h,t){var n=t(14304),e=t(34246),a=t(23115).set,s=t(9934),i=e.setImmediate?s(a,!1):a;n({global:!0,bind:!0,enumerable:!0,forced:e.setImmediate!==i},{setImmediate:i})},63981:function(u,h,t){var n=t(14304),e=t(34246),a=t(9934),s=a(e.setInterval,!0);n({global:!0,bind:!0,forced:e.setInterval!==s},{setInterval:s})},23913:function(u,h,t){var n=t(14304),e=t(34246),a=t(9934),s=a(e.setTimeout,!0);n({global:!0,bind:!0,forced:e.setTimeout!==s},{setTimeout:s})},92904:function(u,h,t){var n=t(70457),e=t(14304),a=t(34246),s=t(38941),i=t(11286),f=t(72069),c=t(36374),v=t(23583),d=t(11051),p=t(5683),y=t(37540),m=t(491),S=t(55902),I=t(25001),E=t(9205),R=t(94879),N=t(84082),P=t(90809),C=t(82628),b=t(95486),A=t(54932),M=t(1774),F=t(172),B=t(35051),U=t(63741),j=t(16929),W=t(99050),z=a.Object,w=a.Array,G=a.Date,V=a.Error,X=a.TypeError,tt=a.PerformanceMark,q=s("DOMException"),rt=M.Map,Z=M.has,mt=M.get,ht=M.set,xt=F.Set,Rt=F.add,Nt=F.has,Jt=s("Object","keys"),Xt=i([].push),jt=i((!0).valueOf),vt=i(1 .valueOf),Et=i("".valueOf),$t=i(G.prototype.getTime),Bt=c("structuredClone"),Ft="DataCloneError",Vt="Transferring",nr=function(Q){return!f(function(){var ot=new a.Set([7]),lt=Q(ot),st=Q(z(7));return lt===ot||!lt.has(7)||!y(st)||+st!=7})&&Q},tr=function(Q,ot){return!f(function(){var lt=new ot,st=Q({a:lt,b:lt});return!(st&&st.a===st.b&&st.a instanceof ot&&st.a.stack===lt.stack)})},Zt=function(Q){return!f(function(){var ot=Q(new a.AggregateError([1],Bt,{cause:3}));return ot.name!=="AggregateError"||ot.errors[0]!==1||ot.message!==Bt||ot.cause!==3})},Ht=a.structuredClone,rr=n||!tr(Ht,V)||!tr(Ht,q)||!Zt(Ht),Qt=!Ht&&nr(function(Q){return new tt(Bt,{detail:Q}).detail}),wt=nr(Ht)||Qt,ft=function(Q){throw new q("Uncloneable type: "+Q,Ft)},ct=function(Q,ot){throw new q((ot||"Cloning")+" of "+Q+" cannot be properly polyfilled in this engine",Ft)},nt=function(Q,ot){return wt||ct(ot),wt(Q)},Mt=function(){var Q;try{Q=new a.DataTransfer}catch(ot){try{Q=new a.ClipboardEvent("").clipboardData}catch(lt){}}return Q&&Q.items&&Q.files?Q:null},bt=function(Q,ot,lt){if(Z(ot,Q))return mt(ot,Q);var st=lt||E(Q),yt,at,Lt,er,it,St;if(st==="SharedArrayBuffer")wt?yt=wt(Q):yt=Q;else{var It=a.DataView;!It&&!v(Q.slice)&&ct("ArrayBuffer");try{if(v(Q.slice)&&!Q.resizable)yt=Q.slice(0);else for(at=Q.byteLength,Lt=("maxByteLength"in Q)?{maxByteLength:Q.maxByteLength}:void 0,yt=new ArrayBuffer(at,Lt),er=new It(Q),it=new It(yt),St=0;St<at;St++)it.setUint8(St,er.getUint8(St))}catch(Ot){throw new q("ArrayBuffer is detached",Ft)}}return ht(ot,Q,yt),yt},At=function(Q,ot,lt,st,yt){var at=a[ot];return y(at)||ct(ot),new at(bt(Q.buffer,yt),lt,st)},Tt=function(Q,ot){if(m(Q)&&ft("Symbol"),!y(Q))return Q;if(ot){if(Z(ot,Q))return mt(ot,Q)}else ot=new rt;var lt=E(Q),st,yt,at,Lt,er,it,St,It;switch(lt){case"Array":at=w(C(Q));break;case"Object":at={};break;case"Map":at=new rt;break;case"Set":at=new xt;break;case"RegExp":at=new RegExp(Q.source,A(Q));break;case"Error":switch(yt=Q.name,yt){case"AggregateError":at=new(s(yt))([]);break;case"EvalError":case"RangeError":case"ReferenceError":case"SuppressedError":case"SyntaxError":case"TypeError":case"URIError":at=new(s(yt));break;case"CompileError":case"LinkError":case"RuntimeError":at=new(s("WebAssembly",yt));break;default:at=new V}break;case"DOMException":at=new q(Q.message,Q.name);break;case"ArrayBuffer":case"SharedArrayBuffer":at=bt(Q,ot,lt);break;case"DataView":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float16Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":it=lt==="DataView"?Q.byteLength:Q.length,at=At(Q,lt,Q.byteOffset,it,ot);break;case"DOMQuad":try{at=new DOMQuad(Tt(Q.p1,ot),Tt(Q.p2,ot),Tt(Q.p3,ot),Tt(Q.p4,ot))}catch(Ot){at=nt(Q,lt)}break;case"File":if(wt)try{at=wt(Q),E(at)!==lt&&(at=void 0)}catch(Ot){}if(!at)try{at=new File([Q],Q.name,Q)}catch(Ot){}at||ct(lt);break;case"FileList":if(Lt=Mt(),Lt){for(er=0,it=C(Q);er<it;er++)Lt.items.add(Tt(Q[er],ot));at=Lt.files}else at=nt(Q,lt);break;case"ImageData":try{at=new ImageData(Tt(Q.data,ot),Q.width,Q.height,{colorSpace:Q.colorSpace})}catch(Ot){at=nt(Q,lt)}break;default:if(wt)at=wt(Q);else switch(lt){case"BigInt":at=z(Q.valueOf());break;case"Boolean":at=z(jt(Q));break;case"Number":at=z(vt(Q));break;case"String":at=z(Et(Q));break;case"Date":at=new G($t(Q));break;case"Blob":try{at=Q.slice(0,Q.size,Q.type)}catch(Ot){ct(lt)}break;case"DOMPoint":case"DOMPointReadOnly":st=a[lt];try{at=st.fromPoint?st.fromPoint(Q):new st(Q.x,Q.y,Q.z,Q.w)}catch(Ot){ct(lt)}break;case"DOMRect":case"DOMRectReadOnly":st=a[lt];try{at=st.fromRect?st.fromRect(Q):new st(Q.x,Q.y,Q.width,Q.height)}catch(Ot){ct(lt)}break;case"DOMMatrix":case"DOMMatrixReadOnly":st=a[lt];try{at=st.fromMatrix?st.fromMatrix(Q):new st(Q)}catch(Ot){ct(lt)}break;case"AudioData":case"VideoFrame":v(Q.clone)||ct(lt);try{at=Q.clone()}catch(Ot){ft(lt)}break;case"CropTarget":case"CryptoKey":case"FileSystemDirectoryHandle":case"FileSystemFileHandle":case"FileSystemHandle":case"GPUCompilationInfo":case"GPUCompilationMessage":case"ImageBitmap":case"RTCCertificate":case"WebAssembly.Module":ct(lt);default:ft(lt)}}switch(ht(ot,Q,at),lt){case"Array":case"Object":for(St=Jt(Q),er=0,it=C(St);er<it;er++)It=St[er],N(at,It,Tt(Q[It],ot));break;case"Map":Q.forEach(function(Ot,Wt){ht(at,Tt(Wt,ot),Tt(Ot,ot))});break;case"Set":Q.forEach(function(Ot){Rt(at,Tt(Ot,ot))});break;case"Error":P(at,"message",Tt(Q.message,ot)),R(Q,"cause")&&P(at,"cause",Tt(Q.cause,ot)),yt==="AggregateError"?at.errors=Tt(Q.errors,ot):yt==="SuppressedError"&&(at.error=Tt(Q.error,ot),at.suppressed=Tt(Q.suppressed,ot));case"DOMException":j&&P(at,"stack",Tt(Q.stack,ot))}return at},ur=function(Q,ot){if(!y(Q))throw new X("Transfer option cannot be converted to a sequence");var lt=[];S(Q,function(Wt){Xt(lt,I(Wt))});for(var st=0,yt=C(lt),at=new xt,Lt,er,it,St,It,Ot;st<yt;){if(Lt=lt[st++],er=E(Lt),er==="ArrayBuffer"?Nt(at,Lt):Z(ot,Lt))throw new q("Duplicate transferable",Ft);if(er==="ArrayBuffer"){Rt(at,Lt);continue}if(W)St=Ht(Lt,{transfer:[Lt]});else switch(er){case"ImageBitmap":it=a.OffscreenCanvas,d(it)||ct(er,Vt);try{It=new it(Lt.width,Lt.height),Ot=It.getContext("bitmaprenderer"),Ot.transferFromImageBitmap(Lt),St=It.transferToImageBitmap()}catch(Wt){}break;case"AudioData":case"VideoFrame":(!v(Lt.clone)||!v(Lt.close))&&ct(er,Vt);try{St=Lt.clone(),Lt.close()}catch(Wt){}break;case"MediaSourceHandle":case"MessagePort":case"MIDIAccess":case"OffscreenCanvas":case"ReadableStream":case"RTCDataChannel":case"TransformStream":case"WebTransportReceiveStream":case"WebTransportSendStream":case"WritableStream":ct(er,Vt)}if(St===void 0)throw new q("This object cannot be transferred: "+er,Ft);ht(ot,Lt,St)}return at},vr=function(Q){B(Q,function(ot){W?wt(ot,{transfer:[ot]}):v(ot.transfer)?ot.transfer():U?U(ot):ct("ArrayBuffer",Vt)})};e({global:!0,enumerable:!0,sham:!W,forced:rr},{structuredClone:function(ot){var lt=b(arguments.length,1)>1&&!p(arguments[1])?I(arguments[1]):void 0,st=lt?lt.transfer:void 0,yt,at;st!==void 0&&(yt=new rt,at=ur(st,yt));var Lt=Tt(ot,yt);return at&&vr(at),Lt}})},28381:function(u,h,t){t(63981),t(23913)},98812:function(u,h,t){t(35054),t(93087);var n=t(14304),e=t(34246),a=t(28167),s=t(38941),i=t(96499),f=t(11286),c=t(92986),v=t(91918),d=t(16142),p=t(85500),y=t(2725),m=t(78401),S=t(26820),I=t(82367),E=t(12833),R=t(23583),N=t(94879),P=t(45526),C=t(9205),b=t(25001),A=t(37540),M=t(17361),F=t(5406),B=t(18526),U=t(90619),j=t(81077),W=t(10659),z=t(95486),w=t(18565),G=t(13270),V=w("iterator"),X="URLSearchParams",tt=X+"Iterator",q=I.set,rt=I.getterFor(X),Z=I.getterFor(tt),mt=a("fetch"),ht=a("Request"),xt=a("Headers"),Rt=ht&&ht.prototype,Nt=xt&&xt.prototype,Jt=e.TypeError,Xt=e.encodeURIComponent,jt=String.fromCharCode,vt=s("String","fromCodePoint"),Et=parseInt,$t=f("".charAt),Bt=f([].join),Ft=f([].push),Vt=f("".replace),nr=f([].shift),tr=f([].splice),Zt=f("".split),Ht=f("".slice),rr=f(/./.exec),Qt=/\+/g,wt="\uFFFD",ft=/^[0-9a-f]+$/i,ct=function(it,St){var It=Ht(it,St,St+2);return rr(ft,It)?Et(It,16):NaN},nt=function(it){for(var St=0,It=128;It>0&&it&It;It>>=1)St++;return St},Mt=function(it){var St=null;switch(it.length){case 1:St=it[0];break;case 2:St=(it[0]&31)<<6|it[1]&63;break;case 3:St=(it[0]&15)<<12|(it[1]&63)<<6|it[2]&63;break;case 4:St=(it[0]&7)<<18|(it[1]&63)<<12|(it[2]&63)<<6|it[3]&63;break}return St>1114111?null:St},bt=function(it){it=Vt(it,Qt," ");for(var St=it.length,It="",Ot=0;Ot<St;){var Wt=$t(it,Ot);if(Wt==="%"){if($t(it,Ot+1)==="%"||Ot+3>St){It+="%",Ot++;continue}var _t=ct(it,Ot+1);if(_t!==_t){It+=Wt,Ot++;continue}Ot+=2;var ir=nt(_t);if(ir===0)Wt=jt(_t);else{if(ir===1||ir>4){It+=wt,Ot++;continue}for(var lr=[_t],mr=1;mr<ir&&(Ot++,!(Ot+3>St||$t(it,Ot)!=="%"));){var dr=ct(it,Ot+1);if(dr!==dr){Ot+=3;break}if(dr>191||dr<128)break;Ft(lr,dr),Ot+=2,mr++}if(lr.length!==ir){It+=wt;continue}var Lr=Mt(lr);Lr===null?It+=wt:Wt=vt(Lr)}}It+=Wt,Ot++}return It},At=/[!'()~]|%20/g,Tt={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},ur=function(it){return Tt[it]},vr=function(it){return Vt(Xt(it),At,ur)},Q=S(function(St,It){q(this,{type:tt,target:rt(St).entries,index:0,kind:It})},X,function(){var St=Z(this),It=St.target,Ot=St.index++;if(!It||Ot>=It.length)return St.target=null,W(void 0,!0);var Wt=It[Ot];switch(St.kind){case"keys":return W(Wt.key,!1);case"values":return W(Wt.value,!1)}return W([Wt.key,Wt.value],!1)},!0),ot=function(it){this.entries=[],this.url=null,it!==void 0&&(A(it)?this.parseObject(it):this.parseQuery(typeof it=="string"?$t(it,0)==="?"?Ht(it,1):it:M(it)))};ot.prototype={type:X,bindURL:function(it){this.url=it,this.update()},parseObject:function(it){var St=this.entries,It=j(it),Ot,Wt,_t,ir,lr,mr,dr;if(It)for(Ot=U(it,It),Wt=Ot.next;!(_t=i(Wt,Ot)).done;){if(ir=U(b(_t.value)),lr=ir.next,(mr=i(lr,ir)).done||(dr=i(lr,ir)).done||!i(lr,ir).done)throw new Jt("Expected sequence with length 2");Ft(St,{key:M(mr.value),value:M(dr.value)})}else for(var Lr in it)N(it,Lr)&&Ft(St,{key:Lr,value:M(it[Lr])})},parseQuery:function(it){if(it)for(var St=this.entries,It=Zt(it,"&"),Ot=0,Wt,_t;Ot<It.length;)Wt=It[Ot++],Wt.length&&(_t=Zt(Wt,"="),Ft(St,{key:bt(nr(_t)),value:bt(Bt(_t,"="))}))},serialize:function(){for(var it=this.entries,St=[],It=0,Ot;It<it.length;)Ot=it[It++],Ft(St,vr(Ot.key)+"="+vr(Ot.value));return Bt(St,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var lt=function(){E(this,st);var St=arguments.length>0?arguments[0]:void 0,It=q(this,new ot(St));c||(this.size=It.entries.length)},st=lt.prototype;if(y(st,{append:function(St,It){var Ot=rt(this);z(arguments.length,2),Ft(Ot.entries,{key:M(St),value:M(It)}),c||this.length++,Ot.updateURL()},delete:function(it){for(var St=rt(this),It=z(arguments.length,1),Ot=St.entries,Wt=M(it),_t=It<2?void 0:arguments[1],ir=_t===void 0?_t:M(_t),lr=0;lr<Ot.length;){var mr=Ot[lr];if(mr.key===Wt&&(ir===void 0||mr.value===ir)){if(tr(Ot,lr,1),ir!==void 0)break}else lr++}c||(this.size=Ot.length),St.updateURL()},get:function(St){var It=rt(this).entries;z(arguments.length,1);for(var Ot=M(St),Wt=0;Wt<It.length;Wt++)if(It[Wt].key===Ot)return It[Wt].value;return null},getAll:function(St){var It=rt(this).entries;z(arguments.length,1);for(var Ot=M(St),Wt=[],_t=0;_t<It.length;_t++)It[_t].key===Ot&&Ft(Wt,It[_t].value);return Wt},has:function(St){for(var It=rt(this).entries,Ot=z(arguments.length,1),Wt=M(St),_t=Ot<2?void 0:arguments[1],ir=_t===void 0?_t:M(_t),lr=0;lr<It.length;){var mr=It[lr++];if(mr.key===Wt&&(ir===void 0||mr.value===ir))return!0}return!1},set:function(St,It){var Ot=rt(this);z(arguments.length,1);for(var Wt=Ot.entries,_t=!1,ir=M(St),lr=M(It),mr=0,dr;mr<Wt.length;mr++)dr=Wt[mr],dr.key===ir&&(_t?tr(Wt,mr--,1):(_t=!0,dr.value=lr));_t||Ft(Wt,{key:ir,value:lr}),c||(this.size=Wt.length),Ot.updateURL()},sort:function(){var St=rt(this);G(St.entries,function(It,Ot){return It.key>Ot.key?1:-1}),St.updateURL()},forEach:function(St){for(var It=rt(this).entries,Ot=P(St,arguments.length>1?arguments[1]:void 0),Wt=0,_t;Wt<It.length;)_t=It[Wt++],Ot(_t.value,_t.key,this)},keys:function(){return new Q(this,"keys")},values:function(){return new Q(this,"values")},entries:function(){return new Q(this,"entries")}},{enumerable:!0}),d(st,V,st.entries,{name:"entries"}),d(st,"toString",function(){return rt(this).serialize()},{enumerable:!0}),c&&p(st,"size",{get:function(){return rt(this).entries.length},configurable:!0,enumerable:!0}),m(lt,X),n({global:!0,constructor:!0,forced:!v},{URLSearchParams:lt}),!v&&R(xt)){var yt=f(Nt.has),at=f(Nt.set),Lt=function(it){if(A(it)){var St=it.body,It;if(C(St)===X)return It=it.headers?new xt(it.headers):new xt,yt(It,"content-type")||at(It,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),F(it,{body:B(0,M(St)),headers:B(0,It)})}return it};if(R(mt)&&n({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(St){return mt(St,arguments.length>1?Lt(arguments[1]):{})}}),R(ht)){var er=function(St){return E(this,Rt),new ht(St,arguments.length>1?Lt(arguments[1]):{})};Rt.constructor=er,er.prototype=Rt,n({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:er})}}u.exports={URLSearchParams:lt,getState:rt}},10901:function(u,h,t){var n=t(16142),e=t(11286),a=t(17361),s=t(95486),i=URLSearchParams,f=i.prototype,c=e(f.append),v=e(f.delete),d=e(f.forEach),p=e([].push),y=new i("a=1&a=2&b=3");y.delete("a",1),y.delete("b",void 0),y+""!="a=2"&&n(f,"delete",function(m){var S=arguments.length,I=S<2?void 0:arguments[1];if(S&&I===void 0)return v(this,m);var E=[];d(this,function(F,B){p(E,{key:B,value:F})}),s(S,1);for(var R=a(m),N=a(I),P=0,C=0,b=!1,A=E.length,M;P<A;)M=E[P++],b||M.key===R?(b=!0,v(this,M.key)):C++;for(;C<A;)M=E[C++],M.key===R&&M.value===N||c(this,M.key,M.value)},{enumerable:!0,unsafe:!0})},93944:function(u,h,t){var n=t(16142),e=t(11286),a=t(17361),s=t(95486),i=URLSearchParams,f=i.prototype,c=e(f.getAll),v=e(f.has),d=new i("a=1");(d.has("a",2)||!d.has("a",void 0))&&n(f,"has",function(y){var m=arguments.length,S=m<2?void 0:arguments[1];if(m&&S===void 0)return v(this,y);var I=c(this,y);s(m,1);for(var E=a(S),R=0;R<I.length;)if(I[R++]===E)return!0;return!1},{enumerable:!0,unsafe:!0})},86650:function(u,h,t){t(98812)},79043:function(u,h,t){var n=t(92986),e=t(11286),a=t(85500),s=URLSearchParams.prototype,i=e(s.forEach);n&&!("size"in s)&&a(s,"size",{get:function(){var c=0;return i(this,function(){c++}),c},configurable:!0,enumerable:!0})},20760:function(u,h,t){var n=t(14304),e=t(38941),a=t(72069),s=t(95486),i=t(17361),f=t(91918),c=e("URL"),v=f&&a(function(){c.canParse()}),d=a(function(){return c.canParse.length!==1});n({target:"URL",stat:!0,forced:!v||d},{canParse:function(y){var m=s(arguments.length,1),S=i(y),I=m<2||arguments[1]===void 0?void 0:i(arguments[1]);try{return!!new c(S,I)}catch(E){return!1}}})},81888:function(u,h,t){t(59158);var n=t(14304),e=t(92986),a=t(91918),s=t(34246),i=t(45526),f=t(11286),c=t(16142),v=t(85500),d=t(12833),p=t(94879),y=t(16667),m=t(48258),S=t(22806),I=t(22149).codeAt,E=t(38679),R=t(17361),N=t(78401),P=t(95486),C=t(98812),b=t(82367),A=b.set,M=b.getterFor("URL"),F=C.URLSearchParams,B=C.getState,U=s.URL,j=s.TypeError,W=s.parseInt,z=Math.floor,w=Math.pow,G=f("".charAt),V=f(/./.exec),X=f([].join),tt=f(1 .toString),q=f([].pop),rt=f([].push),Z=f("".replace),mt=f([].shift),ht=f("".split),xt=f("".slice),Rt=f("".toLowerCase),Nt=f([].unshift),Jt="Invalid authority",Xt="Invalid scheme",jt="Invalid host",vt="Invalid port",Et=/[a-z]/i,$t=/[\d+-.a-z]/i,Bt=/\d/,Ft=/^0x/i,Vt=/^[0-7]+$/,nr=/^\d+$/,tr=/^[\da-f]+$/i,Zt=/[\0\t\n\r #%/:<>?@[\\\]^|]/,Ht=/[\0\t\n\r #/:<>?@[\\\]^|]/,rr=/^[\u0000-\u0020]+/,Qt=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,wt=/[\t\n\r]/g,ft,ct=function(J){var gt=ht(J,"."),k,Y,ut,Kt,Pt,xr,Or;if(gt.length&>[gt.length-1]===""&>.length--,k=gt.length,k>4)return J;for(Y=[],ut=0;ut<k;ut++){if(Kt=gt[ut],Kt==="")return J;if(Pt=10,Kt.length>1&&G(Kt,0)==="0"&&(Pt=V(Ft,Kt)?16:8,Kt=xt(Kt,Pt===8?1:2)),Kt==="")xr=0;else{if(!V(Pt===10?nr:Pt===8?Vt:tr,Kt))return J;xr=W(Kt,Pt)}rt(Y,xr)}for(ut=0;ut<k;ut++)if(xr=Y[ut],ut===k-1){if(xr>=w(256,5-k))return null}else if(xr>255)return null;for(Or=q(Y),ut=0;ut<Y.length;ut++)Or+=Y[ut]*w(256,3-ut);return Or},nt=function(J){var gt=[0,0,0,0,0,0,0,0],k=0,Y=null,ut=0,Kt,Pt,xr,Or,Rr,Ur,dt,Tr=function(){return G(J,ut)};if(Tr()===":"){if(G(J,1)!==":")return;ut+=2,k++,Y=k}for(;Tr();){if(k===8)return;if(Tr()===":"){if(Y!==null)return;ut++,k++,Y=k;continue}for(Kt=Pt=0;Pt<4&&V(tr,Tr());)Kt=Kt*16+W(Tr(),16),ut++,Pt++;if(Tr()==="."){if(Pt===0||(ut-=Pt,k>6))return;for(xr=0;Tr();){if(Or=null,xr>0)if(Tr()==="."&&xr<4)ut++;else return;if(!V(Bt,Tr()))return;for(;V(Bt,Tr());){if(Rr=W(Tr(),10),Or===null)Or=Rr;else{if(Or===0)return;Or=Or*10+Rr}if(Or>255)return;ut++}gt[k]=gt[k]*256+Or,xr++,(xr===2||xr===4)&&k++}if(xr!==4)return;break}else if(Tr()===":"){if(ut++,!Tr())return}else if(Tr())return;gt[k++]=Kt}if(Y!==null)for(Ur=k-Y,k=7;k!==0&&Ur>0;)dt=gt[k],gt[k--]=gt[Y+Ur-1],gt[Y+--Ur]=dt;else if(k!==8)return;return gt},Mt=function(J){for(var gt=null,k=1,Y=null,ut=0,Kt=0;Kt<8;Kt++)J[Kt]!==0?(ut>k&&(gt=Y,k=ut),Y=null,ut=0):(Y===null&&(Y=Kt),++ut);return ut>k?Y:gt},bt=function(J){var gt,k,Y,ut;if(typeof J=="number"){for(gt=[],k=0;k<4;k++)Nt(gt,J%256),J=z(J/256);return X(gt,".")}if(typeof J=="object"){for(gt="",Y=Mt(J),k=0;k<8;k++)ut&&J[k]===0||(ut&&(ut=!1),Y===k?(gt+=k?":":"::",ut=!0):(gt+=tt(J[k],16),k<7&&(gt+=":")));return"["+gt+"]"}return J},At={},Tt=y({},At,{" ":1,'"':1,"<":1,">":1,"`":1}),ur=y({},Tt,{"#":1,"?":1,"{":1,"}":1}),vr=y({},ur,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Q=function(J,gt){var k=I(J,0);return k>32&&k<127&&!p(gt,J)?J:encodeURIComponent(J)},ot={ftp:21,file:null,http:80,https:443,ws:80,wss:443},lt=function(J,gt){var k;return J.length===2&&V(Et,G(J,0))&&((k=G(J,1))===":"||!gt&&k==="|")},st=function(J){var gt;return J.length>1&<(xt(J,0,2))&&(J.length===2||(gt=G(J,2))==="/"||gt==="\\"||gt==="?"||gt==="#")},yt=function(J){return J==="."||Rt(J)==="%2e"},at=function(J){return J=Rt(J),J===".."||J==="%2e."||J===".%2e"||J==="%2e%2e"},Lt={},er={},it={},St={},It={},Ot={},Wt={},_t={},ir={},lr={},mr={},dr={},Lr={},dn={},Nn={},hn={},_r={},jr={},ee={},Jr={},Vr={},gn=function(J,gt,k){var Y=R(J),ut,Kt,Pt;if(gt){if(Kt=this.parse(Y),Kt)throw new j(Kt);this.searchParams=null}else{if(k!==void 0&&(ut=new gn(k,!0)),Kt=this.parse(Y,null,ut),Kt)throw new j(Kt);Pt=B(new F),Pt.bindURL(this),this.searchParams=Pt}};gn.prototype={type:"URL",parse:function(J,gt,k){var Y=this,ut=gt||Lt,Kt=0,Pt="",xr=!1,Or=!1,Rr=!1,Ur,dt,Tr,Hr;for(J=R(J),gt||(Y.scheme="",Y.username="",Y.password="",Y.host=null,Y.port=null,Y.path=[],Y.query=null,Y.fragment=null,Y.cannotBeABaseURL=!1,J=Z(J,rr,""),J=Z(J,Qt,"$1")),J=Z(J,wt,""),Ur=m(J);Kt<=Ur.length;){switch(dt=Ur[Kt],ut){case Lt:if(dt&&V(Et,dt))Pt+=Rt(dt),ut=er;else{if(gt)return Xt;ut=it;continue}break;case er:if(dt&&(V($t,dt)||dt==="+"||dt==="-"||dt==="."))Pt+=Rt(dt);else if(dt===":"){if(gt&&(Y.isSpecial()!==p(ot,Pt)||Pt==="file"&&(Y.includesCredentials()||Y.port!==null)||Y.scheme==="file"&&!Y.host))return;if(Y.scheme=Pt,gt){Y.isSpecial()&&ot[Y.scheme]===Y.port&&(Y.port=null);return}Pt="",Y.scheme==="file"?ut=dn:Y.isSpecial()&&k&&k.scheme===Y.scheme?ut=St:Y.isSpecial()?ut=_t:Ur[Kt+1]==="/"?(ut=It,Kt++):(Y.cannotBeABaseURL=!0,rt(Y.path,""),ut=ee)}else{if(gt)return Xt;Pt="",ut=it,Kt=0;continue}break;case it:if(!k||k.cannotBeABaseURL&&dt!=="#")return Xt;if(k.cannotBeABaseURL&&dt==="#"){Y.scheme=k.scheme,Y.path=S(k.path),Y.query=k.query,Y.fragment="",Y.cannotBeABaseURL=!0,ut=Vr;break}ut=k.scheme==="file"?dn:Ot;continue;case St:if(dt==="/"&&Ur[Kt+1]==="/")ut=ir,Kt++;else{ut=Ot;continue}break;case It:if(dt==="/"){ut=lr;break}else{ut=jr;continue}case Ot:if(Y.scheme=k.scheme,dt===ft)Y.username=k.username,Y.password=k.password,Y.host=k.host,Y.port=k.port,Y.path=S(k.path),Y.query=k.query;else if(dt==="/"||dt==="\\"&&Y.isSpecial())ut=Wt;else if(dt==="?")Y.username=k.username,Y.password=k.password,Y.host=k.host,Y.port=k.port,Y.path=S(k.path),Y.query="",ut=Jr;else if(dt==="#")Y.username=k.username,Y.password=k.password,Y.host=k.host,Y.port=k.port,Y.path=S(k.path),Y.query=k.query,Y.fragment="",ut=Vr;else{Y.username=k.username,Y.password=k.password,Y.host=k.host,Y.port=k.port,Y.path=S(k.path),Y.path.length--,ut=jr;continue}break;case Wt:if(Y.isSpecial()&&(dt==="/"||dt==="\\"))ut=ir;else if(dt==="/")ut=lr;else{Y.username=k.username,Y.password=k.password,Y.host=k.host,Y.port=k.port,ut=jr;continue}break;case _t:if(ut=ir,dt!=="/"||G(Pt,Kt+1)!=="/")continue;Kt++;break;case ir:if(dt!=="/"&&dt!=="\\"){ut=lr;continue}break;case lr:if(dt==="@"){xr&&(Pt="%40"+Pt),xr=!0,Tr=m(Pt);for(var sn=0;sn<Tr.length;sn++){var pn=Tr[sn];if(pn===":"&&!Rr){Rr=!0;continue}var yn=Q(pn,vr);Rr?Y.password+=yn:Y.username+=yn}Pt=""}else if(dt===ft||dt==="/"||dt==="?"||dt==="#"||dt==="\\"&&Y.isSpecial()){if(xr&&Pt==="")return Jt;Kt-=m(Pt).length+1,Pt="",ut=mr}else Pt+=dt;break;case mr:case dr:if(gt&&Y.scheme==="file"){ut=hn;continue}else if(dt===":"&&!Or){if(Pt==="")return jt;if(Hr=Y.parseHost(Pt),Hr)return Hr;if(Pt="",ut=Lr,gt===dr)return}else if(dt===ft||dt==="/"||dt==="?"||dt==="#"||dt==="\\"&&Y.isSpecial()){if(Y.isSpecial()&&Pt==="")return jt;if(gt&&Pt===""&&(Y.includesCredentials()||Y.port!==null))return;if(Hr=Y.parseHost(Pt),Hr)return Hr;if(Pt="",ut=_r,gt)return;continue}else dt==="["?Or=!0:dt==="]"&&(Or=!1),Pt+=dt;break;case Lr:if(V(Bt,dt))Pt+=dt;else if(dt===ft||dt==="/"||dt==="?"||dt==="#"||dt==="\\"&&Y.isSpecial()||gt){if(Pt!==""){var un=W(Pt,10);if(un>65535)return vt;Y.port=Y.isSpecial()&&un===ot[Y.scheme]?null:un,Pt=""}if(gt)return;ut=_r;continue}else return vt;break;case dn:if(Y.scheme="file",dt==="/"||dt==="\\")ut=Nn;else if(k&&k.scheme==="file")switch(dt){case ft:Y.host=k.host,Y.path=S(k.path),Y.query=k.query;break;case"?":Y.host=k.host,Y.path=S(k.path),Y.query="",ut=Jr;break;case"#":Y.host=k.host,Y.path=S(k.path),Y.query=k.query,Y.fragment="",ut=Vr;break;default:st(X(S(Ur,Kt),""))||(Y.host=k.host,Y.path=S(k.path),Y.shortenPath()),ut=jr;continue}else{ut=jr;continue}break;case Nn:if(dt==="/"||dt==="\\"){ut=hn;break}k&&k.scheme==="file"&&!st(X(S(Ur,Kt),""))&&(lt(k.path[0],!0)?rt(Y.path,k.path[0]):Y.host=k.host),ut=jr;continue;case hn:if(dt===ft||dt==="/"||dt==="\\"||dt==="?"||dt==="#"){if(!gt&<(Pt))ut=jr;else if(Pt===""){if(Y.host="",gt)return;ut=_r}else{if(Hr=Y.parseHost(Pt),Hr)return Hr;if(Y.host==="localhost"&&(Y.host=""),gt)return;Pt="",ut=_r}continue}else Pt+=dt;break;case _r:if(Y.isSpecial()){if(ut=jr,dt!=="/"&&dt!=="\\")continue}else if(!gt&&dt==="?")Y.query="",ut=Jr;else if(!gt&&dt==="#")Y.fragment="",ut=Vr;else if(dt!==ft&&(ut=jr,dt!=="/"))continue;break;case jr:if(dt===ft||dt==="/"||dt==="\\"&&Y.isSpecial()||!gt&&(dt==="?"||dt==="#")){if(at(Pt)?(Y.shortenPath(),dt!=="/"&&!(dt==="\\"&&Y.isSpecial())&&rt(Y.path,"")):yt(Pt)?dt!=="/"&&!(dt==="\\"&&Y.isSpecial())&&rt(Y.path,""):(Y.scheme==="file"&&!Y.path.length&<(Pt)&&(Y.host&&(Y.host=""),Pt=G(Pt,0)+":"),rt(Y.path,Pt)),Pt="",Y.scheme==="file"&&(dt===ft||dt==="?"||dt==="#"))for(;Y.path.length>1&&Y.path[0]==="";)mt(Y.path);dt==="?"?(Y.query="",ut=Jr):dt==="#"&&(Y.fragment="",ut=Vr)}else Pt+=Q(dt,ur);break;case ee:dt==="?"?(Y.query="",ut=Jr):dt==="#"?(Y.fragment="",ut=Vr):dt!==ft&&(Y.path[0]+=Q(dt,At));break;case Jr:!gt&&dt==="#"?(Y.fragment="",ut=Vr):dt!==ft&&(dt==="'"&&Y.isSpecial()?Y.query+="%27":dt==="#"?Y.query+="%23":Y.query+=Q(dt,At));break;case Vr:dt!==ft&&(Y.fragment+=Q(dt,Tt));break}Kt++}},parseHost:function(J){var gt,k,Y;if(G(J,0)==="["){if(G(J,J.length-1)!=="]"||(gt=nt(xt(J,1,-1)),!gt))return jt;this.host=gt}else if(this.isSpecial()){if(J=E(J),V(Zt,J)||(gt=ct(J),gt===null))return jt;this.host=gt}else{if(V(Ht,J))return jt;for(gt="",k=m(J),Y=0;Y<k.length;Y++)gt+=Q(k[Y],At);this.host=gt}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme==="file"},includesCredentials:function(){return this.username!==""||this.password!==""},isSpecial:function(){return p(ot,this.scheme)},shortenPath:function(){var J=this.path,gt=J.length;gt&&(this.scheme!=="file"||gt!==1||!lt(J[0],!0))&&J.length--},serialize:function(){var J=this,gt=J.scheme,k=J.username,Y=J.password,ut=J.host,Kt=J.port,Pt=J.path,xr=J.query,Or=J.fragment,Rr=gt+":";return ut!==null?(Rr+="//",J.includesCredentials()&&(Rr+=k+(Y?":"+Y:"")+"@"),Rr+=bt(ut),Kt!==null&&(Rr+=":"+Kt)):gt==="file"&&(Rr+="//"),Rr+=J.cannotBeABaseURL?Pt[0]:Pt.length?"/"+X(Pt,"/"):"",xr!==null&&(Rr+="?"+xr),Or!==null&&(Rr+="#"+Or),Rr},setHref:function(J){var gt=this.parse(J);if(gt)throw new j(gt);this.searchParams.update()},getOrigin:function(){var J=this.scheme,gt=this.port;if(J==="blob")try{return new tn(J.path[0]).origin}catch(k){return"null"}return J==="file"||!this.isSpecial()?"null":J+"://"+bt(this.host)+(gt!==null?":"+gt:"")},getProtocol:function(){return this.scheme+":"},setProtocol:function(J){this.parse(R(J)+":",Lt)},getUsername:function(){return this.username},setUsername:function(J){var gt=m(R(J));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var k=0;k<gt.length;k++)this.username+=Q(gt[k],vr)}},getPassword:function(){return this.password},setPassword:function(J){var gt=m(R(J));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var k=0;k<gt.length;k++)this.password+=Q(gt[k],vr)}},getHost:function(){var J=this.host,gt=this.port;return J===null?"":gt===null?bt(J):bt(J)+":"+gt},setHost:function(J){this.cannotBeABaseURL||this.parse(J,mr)},getHostname:function(){var J=this.host;return J===null?"":bt(J)},setHostname:function(J){this.cannotBeABaseURL||this.parse(J,dr)},getPort:function(){var J=this.port;return J===null?"":R(J)},setPort:function(J){this.cannotHaveUsernamePasswordPort()||(J=R(J),J===""?this.port=null:this.parse(J,Lr))},getPathname:function(){var J=this.path;return this.cannotBeABaseURL?J[0]:J.length?"/"+X(J,"/"):""},setPathname:function(J){this.cannotBeABaseURL||(this.path=[],this.parse(J,_r))},getSearch:function(){var J=this.query;return J?"?"+J:""},setSearch:function(J){J=R(J),J===""?this.query=null:(G(J,0)==="?"&&(J=xt(J,1)),this.query="",this.parse(J,Jr)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var J=this.fragment;return J?"#"+J:""},setHash:function(J){if(J=R(J),J===""){this.fragment=null;return}G(J,0)==="#"&&(J=xt(J,1)),this.fragment="",this.parse(J,Vr)},update:function(){this.query=this.searchParams.serialize()||null}};var tn=function(gt){var k=d(this,Mr),Y=P(arguments.length,1)>1?arguments[1]:void 0,ut=A(k,new gn(gt,!1,Y));e||(k.href=ut.serialize(),k.origin=ut.getOrigin(),k.protocol=ut.getProtocol(),k.username=ut.getUsername(),k.password=ut.getPassword(),k.host=ut.getHost(),k.hostname=ut.getHostname(),k.port=ut.getPort(),k.pathname=ut.getPathname(),k.search=ut.getSearch(),k.searchParams=ut.getSearchParams(),k.hash=ut.getHash())},Mr=tn.prototype,br=function(J,gt){return{get:function(){return M(this)[J]()},set:gt&&function(k){return M(this)[gt](k)},configurable:!0,enumerable:!0}};if(e&&(v(Mr,"href",br("serialize","setHref")),v(Mr,"origin",br("getOrigin")),v(Mr,"protocol",br("getProtocol","setProtocol")),v(Mr,"username",br("getUsername","setUsername")),v(Mr,"password",br("getPassword","setPassword")),v(Mr,"host",br("getHost","setHost")),v(Mr,"hostname",br("getHostname","setHostname")),v(Mr,"port",br("getPort","setPort")),v(Mr,"pathname",br("getPathname","setPathname")),v(Mr,"search",br("getSearch","setSearch")),v(Mr,"searchParams",br("getSearchParams")),v(Mr,"hash",br("getHash","setHash"))),c(Mr,"toJSON",function(){return M(this).serialize()},{enumerable:!0}),c(Mr,"toString",function(){return M(this).serialize()},{enumerable:!0}),U){var an=U.createObjectURL,on=U.revokeObjectURL;an&&c(tn,"createObjectURL",i(an,U)),on&&c(tn,"revokeObjectURL",i(on,U))}N(tn,"URL"),n({global:!0,constructor:!0,forced:!a,sham:!e},{URL:tn})},51862:function(u,h,t){t(81888)},24119:function(u,h,t){var n=t(14304),e=t(38941),a=t(95486),s=t(17361),i=t(91918),f=e("URL");n({target:"URL",stat:!0,forced:!i},{parse:function(v){var d=a(arguments.length,1),p=s(v),y=d<2||arguments[1]===void 0?void 0:s(arguments[1]);try{return new f(p,y)}catch(m){return null}}})},97526:function(u,h,t){var n=t(14304),e=t(96499);n({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return e(URL.prototype.toString,this)}})},61969:function(u,h,t){t(40949),t(43657),t(43606),t(15855),t(42026),t(33257),t(59414),t(88344),t(92579),t(94655),t(8565),t(60843),t(65842),t(51595),t(54908),t(81742),t(8720),t(42861),t(27796),t(1341),t(98700),t(65481),t(46509),t(41585),t(84554),t(36619),t(33818),t(64096),t(2209),t(91591),t(74092),t(54703),t(82936),t(48493),t(64730),t(95024),t(35054),t(25460),t(60703),t(90468),t(69581),t(720),t(11042),t(17289),t(24608),t(51644),t(88088),t(46828),t(90088),t(35148),t(86184),t(53983),t(42560),t(88444),t(27839),t(73051),t(9372),t(35473),t(4983),t(6875),t(68575),t(35495),t(32790),t(58594),t(30801),t(90911),t(90429),t(33685),t(60086),t(96049),t(14038),t(55518),t(8894),t(60628),t(56347),t(16864),t(93819),t(11565),t(26668),t(46386),t(35179),t(20150),t(23001),t(40334),t(87457),t(66699),t(17535),t(48157),t(55338),t(6644),t(71332),t(47269),t(25627),t(22090),t(9839),t(15656),t(22091),t(2886),t(25895),t(24228),t(79488),t(75987),t(81555),t(87854),t(35074),t(50946),t(29417),t(80628),t(74375),t(29708),t(93449),t(9111),t(83514),t(15096),t(59590),t(99663),t(89988),t(54427),t(67895),t(57909),t(83938),t(55461),t(97339),t(3670),t(15224),t(45891),t(99910),t(92445),t(21875),t(4383),t(11361),t(13728),t(14885),t(30343),t(22045),t(75e3),t(64658),t(16017),t(84681),t(73421),t(93446),t(31046),t(94645),t(62935),t(62518),t(45130),t(51542),t(43781),t(25738),t(93247),t(41533),t(60225),t(69920),t(89205),t(78546),t(63616),t(16893),t(3676),t(58361),t(7487),t(23958),t(9798),t(2371),t(76185),t(76553),t(93518),t(25227),t(91723),t(57882),t(37796),t(11563),t(26159),t(20962),t(77487),t(6130),t(1354),t(47119),t(31145),t(96773),t(14371),t(18180),t(83147),t(75765),t(86548),t(15282),t(51275),t(91890),t(15089),t(78134),t(56456),t(40735),t(8510),t(70159),t(93087),t(26021),t(93029),t(59158),t(15599),t(18509),t(21579),t(8854),t(57676),t(14527),t(96834),t(52684),t(74980),t(390),t(42794),t(21293),t(18184),t(75012),t(19680),t(4193),t(70641),t(53892),t(95976),t(399),t(72032),t(49442),t(16012),t(9943),t(33128),t(95625),t(90614),t(60120),t(75826),t(25560),t(22571),t(40704),t(36849),t(49191),t(81083),t(27428),t(44884),t(48658),t(71998),t(6116),t(33032),t(80962),t(49381),t(38344),t(65961),t(94153),t(16028),t(20656),t(17063),t(21774),t(51761),t(12317),t(19711),t(41034),t(13313),t(44698),t(7369),t(66178),t(67961),t(8695),t(69997),t(9711),t(3923),t(59728),t(85227),t(56933),t(91490),t(61766),t(85143),t(47005),t(10042),t(37888),t(19431),t(60869),t(50338),t(53059),t(5805),t(50685),t(70649),t(39842),t(82872),t(91401),t(92904),t(28381),t(51862),t(20760),t(24119),t(97526),t(86650),t(10901),t(93944),t(79043),t(75081)}},qr={};function Gr(u){var h=qr[u];if(h!==void 0)return h.exports;var t=qr[u]={exports:{}};return Ne[u].call(t.exports,t,t.exports,Gr),t.exports}(function(){Gr.d=function(u,h){for(var t in h)Gr.o(h,t)&&!Gr.o(u,t)&&Object.defineProperty(u,t,{enumerable:!0,get:h[t]})}})(),function(){Gr.o=function(u,h){return Object.prototype.hasOwnProperty.call(u,h)}}(),Gr(61969);var ne=Gr(33539);return ne=ne.default,ne}()}); diff --git a/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-tableview.pkgd.js b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-tableview.pkgd.js new file mode 100644 index 000000000..ba20c2442 --- /dev/null +++ b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-tableview.pkgd.js @@ -0,0 +1,23848 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define("bb", [], factory); + else if(typeof exports === 'object') + exports["bb"] = factory(); + else + root["bb"] = root["bb"] || {}, root["bb"]["plugin"] = root["bb"]["plugin"] || {}, root["bb"]["plugin"]["tableview.pkgd"] = factory(); +})(this, function() { +return /******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ([ +/* 0 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +__webpack_require__(1); +__webpack_require__(97); +__webpack_require__(98); +__webpack_require__(99); +__webpack_require__(100); +__webpack_require__(101); +__webpack_require__(102); +__webpack_require__(103); +__webpack_require__(104); +__webpack_require__(105); +__webpack_require__(106); +__webpack_require__(107); +__webpack_require__(108); +__webpack_require__(109); +__webpack_require__(110); +__webpack_require__(111); +__webpack_require__(124); +__webpack_require__(126); +__webpack_require__(136); +__webpack_require__(137); +__webpack_require__(139); +__webpack_require__(143); +__webpack_require__(146); +__webpack_require__(148); +__webpack_require__(150); +__webpack_require__(151); +__webpack_require__(152); +__webpack_require__(153); +__webpack_require__(155); +__webpack_require__(156); +__webpack_require__(158); +__webpack_require__(159); +__webpack_require__(161); +__webpack_require__(165); +__webpack_require__(166); +__webpack_require__(167); +__webpack_require__(168); +__webpack_require__(173); +__webpack_require__(174); +__webpack_require__(176); +__webpack_require__(177); +__webpack_require__(178); +__webpack_require__(180); +__webpack_require__(184); +__webpack_require__(185); +__webpack_require__(186); +__webpack_require__(187); +__webpack_require__(188); +__webpack_require__(193); +__webpack_require__(195); +__webpack_require__(196); +__webpack_require__(198); +__webpack_require__(201); +__webpack_require__(202); +__webpack_require__(203); +__webpack_require__(204); +__webpack_require__(205); +__webpack_require__(207); +__webpack_require__(217); +__webpack_require__(219); +__webpack_require__(220); +__webpack_require__(222); +__webpack_require__(225); +__webpack_require__(231); +__webpack_require__(232); +__webpack_require__(233); +__webpack_require__(234); +__webpack_require__(235); +__webpack_require__(236); +__webpack_require__(240); +__webpack_require__(241); +__webpack_require__(243); +__webpack_require__(244); +__webpack_require__(245); +__webpack_require__(247); +__webpack_require__(248); +__webpack_require__(249); +__webpack_require__(250); +__webpack_require__(251); +__webpack_require__(256); +__webpack_require__(257); +__webpack_require__(258); +__webpack_require__(259); +__webpack_require__(261); +__webpack_require__(262); +__webpack_require__(263); +__webpack_require__(265); +__webpack_require__(266); +__webpack_require__(267); +__webpack_require__(268); +__webpack_require__(93); +__webpack_require__(269); +__webpack_require__(270); +__webpack_require__(278); +__webpack_require__(280); +__webpack_require__(282); +__webpack_require__(283); +__webpack_require__(284); +__webpack_require__(285); +__webpack_require__(286); +__webpack_require__(288); +__webpack_require__(289); +__webpack_require__(290); +__webpack_require__(291); +__webpack_require__(292); +__webpack_require__(294); +__webpack_require__(295); +__webpack_require__(296); +__webpack_require__(297); +__webpack_require__(298); +__webpack_require__(299); +__webpack_require__(300); +__webpack_require__(301); +__webpack_require__(305); +__webpack_require__(306); +__webpack_require__(308); +__webpack_require__(310); +__webpack_require__(311); +__webpack_require__(312); +__webpack_require__(313); +__webpack_require__(314); +__webpack_require__(316); +__webpack_require__(318); +__webpack_require__(319); +__webpack_require__(320); +__webpack_require__(321); +__webpack_require__(323); +__webpack_require__(324); +__webpack_require__(326); +__webpack_require__(327); +__webpack_require__(328); +__webpack_require__(329); +__webpack_require__(331); +__webpack_require__(332); +__webpack_require__(333); +__webpack_require__(334); +__webpack_require__(335); +__webpack_require__(336); +__webpack_require__(337); +__webpack_require__(338); +__webpack_require__(339); +__webpack_require__(341); +__webpack_require__(342); +__webpack_require__(343); +__webpack_require__(344); +__webpack_require__(345); +__webpack_require__(346); +__webpack_require__(347); +__webpack_require__(348); +__webpack_require__(349); +__webpack_require__(350); +__webpack_require__(351); +__webpack_require__(353); +__webpack_require__(354); +__webpack_require__(355); +__webpack_require__(356); +__webpack_require__(380); +__webpack_require__(381); +__webpack_require__(382); +__webpack_require__(383); +__webpack_require__(384); +__webpack_require__(385); +__webpack_require__(386); +__webpack_require__(387); +__webpack_require__(388); +__webpack_require__(389); +__webpack_require__(391); +__webpack_require__(392); +__webpack_require__(393); +__webpack_require__(394); +__webpack_require__(395); +__webpack_require__(396); +__webpack_require__(397); +__webpack_require__(398); +__webpack_require__(399); +__webpack_require__(400); +__webpack_require__(407); +__webpack_require__(408); +__webpack_require__(410); +__webpack_require__(411); +__webpack_require__(412); +__webpack_require__(413); +__webpack_require__(414); +__webpack_require__(416); +__webpack_require__(426); +__webpack_require__(428); +__webpack_require__(430); +__webpack_require__(432); +__webpack_require__(434); +__webpack_require__(436); +__webpack_require__(438); +__webpack_require__(439); +__webpack_require__(441); +__webpack_require__(444); +__webpack_require__(445); +__webpack_require__(446); +__webpack_require__(447); +__webpack_require__(448); +__webpack_require__(452); +__webpack_require__(453); +__webpack_require__(455); +__webpack_require__(456); +__webpack_require__(457); +__webpack_require__(458); +__webpack_require__(460); +__webpack_require__(461); +__webpack_require__(462); +__webpack_require__(463); +__webpack_require__(464); +__webpack_require__(465); +__webpack_require__(466); +__webpack_require__(468); +__webpack_require__(471); +__webpack_require__(474); +__webpack_require__(477); +__webpack_require__(478); +__webpack_require__(479); +__webpack_require__(480); +__webpack_require__(481); +__webpack_require__(482); +__webpack_require__(483); +__webpack_require__(484); +__webpack_require__(485); +__webpack_require__(486); +__webpack_require__(487); +__webpack_require__(488); +__webpack_require__(489); +__webpack_require__(497); +__webpack_require__(498); +__webpack_require__(499); +__webpack_require__(500); +__webpack_require__(501); +__webpack_require__(502); +__webpack_require__(503); +__webpack_require__(504); +__webpack_require__(505); +__webpack_require__(506); +__webpack_require__(507); +__webpack_require__(508); +__webpack_require__(509); +__webpack_require__(511); +__webpack_require__(512); +__webpack_require__(513); +__webpack_require__(514); +__webpack_require__(515); +__webpack_require__(516); +__webpack_require__(517); +__webpack_require__(518); +__webpack_require__(519); +__webpack_require__(520); +__webpack_require__(521); +__webpack_require__(522); +__webpack_require__(523); +__webpack_require__(524); +__webpack_require__(525); +__webpack_require__(526); +__webpack_require__(527); +__webpack_require__(528); +__webpack_require__(529); +__webpack_require__(530); +__webpack_require__(531); +__webpack_require__(532); +__webpack_require__(533); +__webpack_require__(534); +__webpack_require__(535); +__webpack_require__(536); +__webpack_require__(537); +__webpack_require__(538); +__webpack_require__(541); +__webpack_require__(543); +__webpack_require__(545); +__webpack_require__(546); +__webpack_require__(549); +__webpack_require__(550); +__webpack_require__(552); +__webpack_require__(553); +__webpack_require__(554); +__webpack_require__(558); +__webpack_require__(559); +__webpack_require__(560); +__webpack_require__(561); +__webpack_require__(564); +__webpack_require__(569); +__webpack_require__(570); +__webpack_require__(571); +__webpack_require__(572); +__webpack_require__(573); +__webpack_require__(574); +__webpack_require__(575); + +/* unused reexport */ __webpack_require__(80); + + +/***/ }), +/* 1 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(2); +__webpack_require__(90); +__webpack_require__(92); +__webpack_require__(93); +__webpack_require__(96); + + +/***/ }), +/* 2 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); +var NATIVE_SYMBOL = __webpack_require__(26); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var isPrototypeOf = __webpack_require__(24); +var anObject = __webpack_require__(46); +var toIndexedObject = __webpack_require__(12); +var toPropertyKey = __webpack_require__(18); +var $toString = __webpack_require__(68); +var createPropertyDescriptor = __webpack_require__(11); +var nativeObjectCreate = __webpack_require__(71); +var objectKeys = __webpack_require__(73); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertyNamesExternal = __webpack_require__(75); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var definePropertyModule = __webpack_require__(44); +var definePropertiesModule = __webpack_require__(72); +var propertyIsEnumerableModule = __webpack_require__(10); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var shared = __webpack_require__(34); +var sharedKey = __webpack_require__(53); +var hiddenKeys = __webpack_require__(54); +var uid = __webpack_require__(40); +var wellKnownSymbol = __webpack_require__(33); +var wrappedWellKnownSymbolModule = __webpack_require__(78); +var defineWellKnownSymbol = __webpack_require__(79); +var defineSymbolToPrimitive = __webpack_require__(81); +var setToStringTag = __webpack_require__(82); +var InternalStateModule = __webpack_require__(51); +var $forEach = (__webpack_require__(83).forEach); + +var HIDDEN = sharedKey('hidden'); +var SYMBOL = 'Symbol'; +var PROTOTYPE = 'prototype'; + +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(SYMBOL); + +var ObjectPrototype = Object[PROTOTYPE]; +var $Symbol = globalThis.Symbol; +var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE]; +var RangeError = globalThis.RangeError; +var TypeError = globalThis.TypeError; +var QObject = globalThis.QObject; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; +var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; +var push = uncurryThis([].push); + +var AllSymbols = shared('symbols'); +var ObjectPrototypeSymbols = shared('op-symbols'); +var WellKnownSymbolsStore = shared('wks'); + +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var fallbackDefineProperty = function (O, P, Attributes) { + var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); + if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; + nativeDefineProperty(O, P, Attributes); + if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { + nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); + } +}; + +var setSymbolDescriptor = DESCRIPTORS && fails(function () { + return nativeObjectCreate(nativeDefineProperty({}, 'a', { + get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } + })).a !== 7; +}) ? fallbackDefineProperty : nativeDefineProperty; + +var wrap = function (tag, description) { + var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype); + setInternalState(symbol, { + type: SYMBOL, + tag: tag, + description: description + }); + if (!DESCRIPTORS) symbol.description = description; + return symbol; +}; + +var $defineProperty = function defineProperty(O, P, Attributes) { + if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); + anObject(O); + var key = toPropertyKey(P); + anObject(Attributes); + if (hasOwn(AllSymbols, key)) { + if (!Attributes.enumerable) { + if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null))); + O[HIDDEN][key] = true; + } else { + if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; + Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); + } return setSymbolDescriptor(O, key, Attributes); + } return nativeDefineProperty(O, key, Attributes); +}; + +var $defineProperties = function defineProperties(O, Properties) { + anObject(O); + var properties = toIndexedObject(Properties); + var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); + $forEach(keys, function (key) { + if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]); + }); + return O; +}; + +var $create = function create(O, Properties) { + return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); +}; + +var $propertyIsEnumerable = function propertyIsEnumerable(V) { + var P = toPropertyKey(V); + var enumerable = call(nativePropertyIsEnumerable, this, P); + if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false; + return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P] + ? enumerable : true; +}; + +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { + var it = toIndexedObject(O); + var key = toPropertyKey(P); + if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return; + var descriptor = nativeGetOwnPropertyDescriptor(it, key); + if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) { + descriptor.enumerable = true; + } + return descriptor; +}; + +var $getOwnPropertyNames = function getOwnPropertyNames(O) { + var names = nativeGetOwnPropertyNames(toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key); + }); + return result; +}; + +var $getOwnPropertySymbols = function (O) { + var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; + var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) { + push(result, AllSymbols[key]); + } + }); + return result; +}; + +// `Symbol` constructor +// https://tc39.es/ecma262/#sec-symbol-constructor +if (!NATIVE_SYMBOL) { + $Symbol = function Symbol() { + if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor'); + var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]); + var tag = uid(description); + var setter = function (value) { + var $this = this === undefined ? globalThis : this; + if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value); + if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false; + var descriptor = createPropertyDescriptor(1, value); + try { + setSymbolDescriptor($this, tag, descriptor); + } catch (error) { + if (!(error instanceof RangeError)) throw error; + fallbackDefineProperty($this, tag, descriptor); + } + }; + if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); + return wrap(tag, description); + }; + + SymbolPrototype = $Symbol[PROTOTYPE]; + + defineBuiltIn(SymbolPrototype, 'toString', function toString() { + return getInternalState(this).tag; + }); + + defineBuiltIn($Symbol, 'withoutSetter', function (description) { + return wrap(uid(description), description); + }); + + propertyIsEnumerableModule.f = $propertyIsEnumerable; + definePropertyModule.f = $defineProperty; + definePropertiesModule.f = $defineProperties; + getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; + getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; + getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; + + wrappedWellKnownSymbolModule.f = function (name) { + return wrap(wellKnownSymbol(name), name); + }; + + if (DESCRIPTORS) { + // https://github.com/tc39/proposal-Symbol-description + defineBuiltInAccessor(SymbolPrototype, 'description', { + configurable: true, + get: function description() { + return getInternalState(this).description; + } + }); + if (!IS_PURE) { + defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); + } + } +} + +$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { + Symbol: $Symbol +}); + +$forEach(objectKeys(WellKnownSymbolsStore), function (name) { + defineWellKnownSymbol(name); +}); + +$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { + useSetter: function () { USE_SETTER = true; }, + useSimple: function () { USE_SETTER = false; } +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { + // `Object.create` method + // https://tc39.es/ecma262/#sec-object.create + create: $create, + // `Object.defineProperty` method + // https://tc39.es/ecma262/#sec-object.defineproperty + defineProperty: $defineProperty, + // `Object.defineProperties` method + // https://tc39.es/ecma262/#sec-object.defineproperties + defineProperties: $defineProperties, + // `Object.getOwnPropertyDescriptor` method + // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors + getOwnPropertyDescriptor: $getOwnPropertyDescriptor +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { + // `Object.getOwnPropertyNames` method + // https://tc39.es/ecma262/#sec-object.getownpropertynames + getOwnPropertyNames: $getOwnPropertyNames +}); + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +defineSymbolToPrimitive(); + +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag($Symbol, SYMBOL); + +hiddenKeys[HIDDEN] = true; + + +/***/ }), +/* 3 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var defineGlobalProperty = __webpack_require__(37); +var copyConstructorProperties = __webpack_require__(55); +var isForced = __webpack_require__(67); + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.dontCallGetSet - prevent calling a getter on target + options.name - the .name of the function if it does not match the key +*/ +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = globalThis; + } else if (STATIC) { + target = globalThis[TARGET] || defineGlobalProperty(TARGET, {}); + } else { + target = globalThis[TARGET] && globalThis[TARGET].prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.dontCallGetSet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + defineBuiltIn(target, key, sourceProperty, options); + } +}; + + +/***/ }), +/* 4 */ +/***/ (function(module) { + + +var check = function (it) { + return it && it.Math === Math && it; +}; + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +module.exports = + // eslint-disable-next-line es/no-global-this -- safe + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe + check(typeof self == 'object' && self) || + check(typeof global == 'object' && global) || + check(typeof this == 'object' && this) || + // eslint-disable-next-line no-new-func -- fallback + (function () { return this; })() || Function('return this')(); + + +/***/ }), +/* 5 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var call = __webpack_require__(8); +var propertyIsEnumerableModule = __webpack_require__(10); +var createPropertyDescriptor = __webpack_require__(11); +var toIndexedObject = __webpack_require__(12); +var toPropertyKey = __webpack_require__(18); +var hasOwn = __webpack_require__(38); +var IE8_DOM_DEFINE = __webpack_require__(41); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + + +/***/ }), +/* 6 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +// Detect IE8's incomplete defineProperty implementation +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; +}); + + +/***/ }), +/* 7 */ +/***/ (function(module) { + + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + + +/***/ }), +/* 8 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var call = Function.prototype.call; + +module.exports = NATIVE_BIND ? call.bind(call) : function () { + return call.apply(call, arguments); +}; + + +/***/ }), +/* 9 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-function-prototype-bind -- safe + var test = (function () { /* empty */ }).bind(); + // eslint-disable-next-line no-prototype-builtins -- safe + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + + +/***/ }), +/* 10 */ +/***/ (function(__unused_webpack_module, exports) { + + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); + +// `Object.prototype.propertyIsEnumerable` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + + +/***/ }), +/* 11 */ +/***/ (function(module) { + + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + + +/***/ }), +/* 12 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = __webpack_require__(13); +var requireObjectCoercible = __webpack_require__(16); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + + +/***/ }), +/* 13 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var classof = __webpack_require__(15); + +var $Object = Object; +var split = uncurryThis(''.split); + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +module.exports = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !$Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) === 'String' ? split(it, '') : $Object(it); +} : $Object; + + +/***/ }), +/* 14 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var FunctionPrototype = Function.prototype; +var call = FunctionPrototype.call; +var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); + +module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { + return function () { + return call.apply(fn, arguments); + }; +}; + + +/***/ }), +/* 15 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var toString = uncurryThis({}.toString); +var stringSlice = uncurryThis(''.slice); + +module.exports = function (it) { + return stringSlice(toString(it), 8, -1); +}; + + +/***/ }), +/* 16 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isNullOrUndefined = __webpack_require__(17); + +var $TypeError = TypeError; + +// `RequireObjectCoercible` abstract operation +// https://tc39.es/ecma262/#sec-requireobjectcoercible +module.exports = function (it) { + if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it); + return it; +}; + + +/***/ }), +/* 17 */ +/***/ (function(module) { + + +// we can't use just `it == null` since of `document.all` special case +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec +module.exports = function (it) { + return it === null || it === undefined; +}; + + +/***/ }), +/* 18 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPrimitive = __webpack_require__(19); +var isSymbol = __webpack_require__(22); + +// `ToPropertyKey` abstract operation +// https://tc39.es/ecma262/#sec-topropertykey +module.exports = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : key + ''; +}; + + +/***/ }), +/* 19 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var getMethod = __webpack_require__(29); +var ordinaryToPrimitive = __webpack_require__(32); +var wellKnownSymbol = __webpack_require__(33); + +var $TypeError = TypeError; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + +// `ToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-toprimitive +module.exports = function (input, pref) { + if (!isObject(input) || isSymbol(input)) return input; + var exoticToPrim = getMethod(input, TO_PRIMITIVE); + var result; + if (exoticToPrim) { + if (pref === undefined) pref = 'default'; + result = call(exoticToPrim, input, pref); + if (!isObject(result) || isSymbol(result)) return result; + throw new $TypeError("Can't convert object to primitive value"); + } + if (pref === undefined) pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + + +/***/ }), +/* 20 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); + +module.exports = function (it) { + return typeof it == 'object' ? it !== null : isCallable(it); +}; + + +/***/ }), +/* 21 */ +/***/ (function(module) { + + +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot +var documentAll = typeof document == 'object' && document.all; + +// `IsCallable` abstract operation +// https://tc39.es/ecma262/#sec-iscallable +// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing +module.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) { + return typeof argument == 'function' || argument === documentAll; +} : function (argument) { + return typeof argument == 'function'; +}; + + +/***/ }), +/* 22 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var isPrototypeOf = __webpack_require__(24); +var USE_SYMBOL_AS_UID = __webpack_require__(25); + +var $Object = Object; + +module.exports = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + var $Symbol = getBuiltIn('Symbol'); + return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it)); +}; + + +/***/ }), +/* 23 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); + +var aFunction = function (argument) { + return isCallable(argument) ? argument : undefined; +}; + +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method]; +}; + + +/***/ }), +/* 24 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +module.exports = uncurryThis({}.isPrototypeOf); + + +/***/ }), +/* 25 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-symbol -- required for testing */ +var NATIVE_SYMBOL = __webpack_require__(26); + +module.exports = NATIVE_SYMBOL && + !Symbol.sham && + typeof Symbol.iterator == 'symbol'; + + +/***/ }), +/* 26 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-symbol -- required for testing */ +var V8_VERSION = __webpack_require__(27); +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +var $String = globalThis.String; + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol('symbol detection'); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + + +/***/ }), +/* 27 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var userAgent = __webpack_require__(28); + +var process = globalThis.process; +var Deno = globalThis.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + // in old Chrome, versions of V8 isn't V8 = Chrome / 10 + // but their correct versions are not interesting for us + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} + +// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` +// so check `userAgent` even if `.v8` exists, but 0 +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) version = +match[1]; + } +} + +module.exports = version; + + +/***/ }), +/* 28 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +var navigator = globalThis.navigator; +var userAgent = navigator && navigator.userAgent; + +module.exports = userAgent ? String(userAgent) : ''; + + +/***/ }), +/* 29 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var isNullOrUndefined = __webpack_require__(17); + +// `GetMethod` abstract operation +// https://tc39.es/ecma262/#sec-getmethod +module.exports = function (V, P) { + var func = V[P]; + return isNullOrUndefined(func) ? undefined : aCallable(func); +}; + + +/***/ }), +/* 30 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +// `Assert: IsCallable(argument) is true` +module.exports = function (argument) { + if (isCallable(argument)) return argument; + throw new $TypeError(tryToString(argument) + ' is not a function'); +}; + + +/***/ }), +/* 31 */ +/***/ (function(module) { + + +var $String = String; + +module.exports = function (argument) { + try { + return $String(argument); + } catch (error) { + return 'Object'; + } +}; + + +/***/ }), +/* 32 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); + +var $TypeError = TypeError; + +// `OrdinaryToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-ordinarytoprimitive +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + throw new $TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), +/* 33 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var shared = __webpack_require__(34); +var hasOwn = __webpack_require__(38); +var uid = __webpack_require__(40); +var NATIVE_SYMBOL = __webpack_require__(26); +var USE_SYMBOL_AS_UID = __webpack_require__(25); + +var Symbol = globalThis.Symbol; +var WellKnownSymbolsStore = shared('wks'); +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid; + +module.exports = function (name) { + if (!hasOwn(WellKnownSymbolsStore, name)) { + WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) + ? Symbol[name] + : createWellKnownSymbol('Symbol.' + name); + } return WellKnownSymbolsStore[name]; +}; + + +/***/ }), +/* 34 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var store = __webpack_require__(35); + +module.exports = function (key, value) { + return store[key] || (store[key] = value || {}); +}; + + +/***/ }), +/* 35 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var IS_PURE = __webpack_require__(36); +var globalThis = __webpack_require__(4); +var defineGlobalProperty = __webpack_require__(37); + +var SHARED = '__core-js_shared__'; +var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {}); + +(store.versions || (store.versions = [])).push({ + version: '3.39.0', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)', + license: 'https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE', + source: 'https://github.com/zloirock/core-js' +}); + + +/***/ }), +/* 36 */ +/***/ (function(module) { + + +module.exports = false; + + +/***/ }), +/* 37 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; + +module.exports = function (key, value) { + try { + defineProperty(globalThis, key, { value: value, configurable: true, writable: true }); + } catch (error) { + globalThis[key] = value; + } return value; +}; + + +/***/ }), +/* 38 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toObject = __webpack_require__(39); + +var hasOwnProperty = uncurryThis({}.hasOwnProperty); + +// `HasOwnProperty` abstract operation +// https://tc39.es/ecma262/#sec-hasownproperty +// eslint-disable-next-line es/no-object-hasown -- safe +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + + +/***/ }), +/* 39 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var requireObjectCoercible = __webpack_require__(16); + +var $Object = Object; + +// `ToObject` abstract operation +// https://tc39.es/ecma262/#sec-toobject +module.exports = function (argument) { + return $Object(requireObjectCoercible(argument)); +}; + + +/***/ }), +/* 40 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var id = 0; +var postfix = Math.random(); +var toString = uncurryThis(1.0.toString); + +module.exports = function (key) { + return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); +}; + + +/***/ }), +/* 41 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var createElement = __webpack_require__(42); + +// Thanks to IE8 for its funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a !== 7; +}); + + +/***/ }), +/* 42 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isObject = __webpack_require__(20); + +var document = globalThis.document; +// typeof document.createElement is 'object' in old IE +var EXISTS = isObject(document) && isObject(document.createElement); + +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + + +/***/ }), +/* 43 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var definePropertyModule = __webpack_require__(44); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + + +/***/ }), +/* 44 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var IE8_DOM_DEFINE = __webpack_require__(41); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(45); +var anObject = __webpack_require__(46); +var toPropertyKey = __webpack_require__(18); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var $defineProperty = Object.defineProperty; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var ENUMERABLE = 'enumerable'; +var CONFIGURABLE = 'configurable'; +var WRITABLE = 'writable'; + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { + var current = $getOwnPropertyDescriptor(O, P); + if (current && current[WRITABLE]) { + O[P] = Attributes.value; + Attributes = { + configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], + enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], + writable: false + }; + } + } return $defineProperty(O, P, Attributes); +} : $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return $defineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + + +/***/ }), +/* 45 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); + +// V8 ~ Chrome 36- +// https://bugs.chromium.org/p/v8/issues/detail?id=3334 +module.exports = DESCRIPTORS && fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(function () { /* empty */ }, 'prototype', { + value: 42, + writable: false + }).prototype !== 42; +}); + + +/***/ }), +/* 46 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +var $String = String; +var $TypeError = TypeError; + +// `Assert: Type(argument) is Object` +module.exports = function (argument) { + if (isObject(argument)) return argument; + throw new $TypeError($String(argument) + ' is not an object'); +}; + + +/***/ }), +/* 47 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var definePropertyModule = __webpack_require__(44); +var makeBuiltIn = __webpack_require__(48); +var defineGlobalProperty = __webpack_require__(37); + +module.exports = function (O, key, value, options) { + if (!options) options = {}; + var simple = options.enumerable; + var name = options.name !== undefined ? options.name : key; + if (isCallable(value)) makeBuiltIn(value, name, options); + if (options.global) { + if (simple) O[key] = value; + else defineGlobalProperty(key, value); + } else { + try { + if (!options.unsafe) delete O[key]; + else if (O[key]) simple = true; + } catch (error) { /* empty */ } + if (simple) O[key] = value; + else definePropertyModule.f(O, key, { + value: value, + enumerable: false, + configurable: !options.nonConfigurable, + writable: !options.nonWritable + }); + } return O; +}; + + +/***/ }), +/* 48 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var DESCRIPTORS = __webpack_require__(6); +var CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(49).CONFIGURABLE); +var inspectSource = __webpack_require__(50); +var InternalStateModule = __webpack_require__(51); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var $String = String; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; +var stringSlice = uncurryThis(''.slice); +var replace = uncurryThis(''.replace); +var join = uncurryThis([].join); + +var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () { + return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; +}); + +var TEMPLATE = String(String).split('String'); + +var makeBuiltIn = module.exports = function (value, name, options) { + if (stringSlice($String(name), 0, 7) === 'Symbol(') { + name = '[' + replace($String(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']'; + } + if (options && options.getter) name = 'get ' + name; + if (options && options.setter) name = 'set ' + name; + if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { + if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true }); + else value.name = name; + } + if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { + defineProperty(value, 'length', { value: options.arity }); + } + try { + if (options && hasOwn(options, 'constructor') && options.constructor) { + if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false }); + // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable + } else if (value.prototype) value.prototype = undefined; + } catch (error) { /* empty */ } + var state = enforceInternalState(value); + if (!hasOwn(state, 'source')) { + state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); + } return value; +}; + +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +// eslint-disable-next-line no-extend-native -- required +Function.prototype.toString = makeBuiltIn(function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}, 'toString'); + + +/***/ }), +/* 49 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var hasOwn = __webpack_require__(38); + +var FunctionPrototype = Function.prototype; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; + +var EXISTS = hasOwn(FunctionPrototype, 'name'); +// additional protection from minified / mangled / dropped function names +var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; +var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable)); + +module.exports = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE +}; + + +/***/ }), +/* 50 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var isCallable = __webpack_require__(21); +var store = __webpack_require__(35); + +var functionToString = uncurryThis(Function.toString); + +// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper +if (!isCallable(store.inspectSource)) { + store.inspectSource = function (it) { + return functionToString(it); + }; +} + +module.exports = store.inspectSource; + + +/***/ }), +/* 51 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_WEAK_MAP = __webpack_require__(52); +var globalThis = __webpack_require__(4); +var isObject = __webpack_require__(20); +var createNonEnumerableProperty = __webpack_require__(43); +var hasOwn = __webpack_require__(38); +var shared = __webpack_require__(35); +var sharedKey = __webpack_require__(53); +var hiddenKeys = __webpack_require__(54); + +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var TypeError = globalThis.TypeError; +var WeakMap = globalThis.WeakMap; +var set, get, has; + +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; + +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw new TypeError('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; +}; + +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + /* eslint-disable no-self-assign -- prototype methods protection */ + store.get = store.get; + store.has = store.has; + store.set = store.set; + /* eslint-enable no-self-assign -- prototype methods protection */ + set = function (it, metadata) { + if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + store.set(it, metadata); + return metadata; + }; + get = function (it) { + return store.get(it) || {}; + }; + has = function (it) { + return store.has(it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return hasOwn(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return hasOwn(it, STATE); + }; +} + +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + + +/***/ }), +/* 52 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); + +var WeakMap = globalThis.WeakMap; + +module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap)); + + +/***/ }), +/* 53 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var shared = __webpack_require__(34); +var uid = __webpack_require__(40); + +var keys = shared('keys'); + +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + + +/***/ }), +/* 54 */ +/***/ (function(module) { + + +module.exports = {}; + + +/***/ }), +/* 55 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var ownKeys = __webpack_require__(56); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var definePropertyModule = __webpack_require__(44); + +module.exports = function (target, source, exceptions) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + + +/***/ }), +/* 56 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var anObject = __webpack_require__(46); + +var concat = uncurryThis([].concat); + +// all object keys, includes non-enumerable and symbols +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; +}; + + +/***/ }), +/* 57 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var internalObjectKeys = __webpack_require__(58); +var enumBugKeys = __webpack_require__(65); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + + +/***/ }), +/* 58 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var hasOwn = __webpack_require__(38); +var toIndexedObject = __webpack_require__(12); +var indexOf = (__webpack_require__(59).indexOf); +var hiddenKeys = __webpack_require__(54); + +var push = uncurryThis([].push); + +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); + // Don't enum bug & hidden keys + while (names.length > i) if (hasOwn(O, key = names[i++])) { + ~indexOf(result, key) || push(result, key); + } + return result; +}; + + +/***/ }), +/* 59 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIndexedObject = __webpack_require__(12); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + if (length === 0) return !IS_INCLUDES && -1; + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el !== el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value !== value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +module.exports = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + + +/***/ }), +/* 60 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + + +/***/ }), +/* 61 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var trunc = __webpack_require__(62); + +// `ToIntegerOrInfinity` abstract operation +// https://tc39.es/ecma262/#sec-tointegerorinfinity +module.exports = function (argument) { + var number = +argument; + // eslint-disable-next-line no-self-compare -- NaN check + return number !== number || number === 0 ? 0 : trunc(number); +}; + + +/***/ }), +/* 62 */ +/***/ (function(module) { + + +var ceil = Math.ceil; +var floor = Math.floor; + +// `Math.trunc` method +// https://tc39.es/ecma262/#sec-math.trunc +// eslint-disable-next-line es/no-math-trunc -- safe +module.exports = Math.trunc || function trunc(x) { + var n = +x; + return (n > 0 ? floor : ceil)(n); +}; + + +/***/ }), +/* 63 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toLength = __webpack_require__(64); + +// `LengthOfArrayLike` abstract operation +// https://tc39.es/ecma262/#sec-lengthofarraylike +module.exports = function (obj) { + return toLength(obj.length); +}; + + +/***/ }), +/* 64 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +module.exports = function (argument) { + var len = toIntegerOrInfinity(argument); + return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + + +/***/ }), +/* 65 */ +/***/ (function(module) { + + +// IE8- don't enum bug keys +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + + +/***/ }), +/* 66 */ +/***/ (function(__unused_webpack_module, exports) { + + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe +exports.f = Object.getOwnPropertySymbols; + + +/***/ }), +/* 67 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); + +var replacement = /#|\.prototype\./; + +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value === POLYFILL ? true + : value === NATIVE ? false + : isCallable(detection) ? fails(detection) + : !!detection; +}; + +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; + +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; + +module.exports = isForced; + + +/***/ }), +/* 68 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); + +var $String = String; + +module.exports = function (argument) { + if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); + return $String(argument); +}; + + +/***/ }), +/* 69 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var isCallable = __webpack_require__(21); +var classofRaw = __webpack_require__(15); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Object = Object; + +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } +}; + +// getting tag from ES6+ `Object.prototype.toString` +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result; +}; + + +/***/ }), +/* 70 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG] = 'z'; + +module.exports = String(test) === '[object z]'; + + +/***/ }), +/* 71 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* global ActiveXObject -- old IE, WSH */ +var anObject = __webpack_require__(46); +var definePropertiesModule = __webpack_require__(72); +var enumBugKeys = __webpack_require__(65); +var hiddenKeys = __webpack_require__(54); +var html = __webpack_require__(74); +var documentCreateElement = __webpack_require__(42); +var sharedKey = __webpack_require__(53); + +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); + +var EmptyConstructor = function () { /* empty */ }; + +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; + +// Create object with fake `null` prototype: use ActiveX Object with cleared prototype +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + // eslint-disable-next-line no-useless-assignment -- avoid memory leak + activeXDocument = null; + return temp; +}; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var NullProtoObjectViaIFrame = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + // https://github.com/zloirock/core-js/issues/475 + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; + +// Check for document.domain and active x support +// No need to use active x approach when document.domain is not set +// see https://github.com/es-shims/es5-shim/issues/150 +// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 +// avoid IE GC bug +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { /* ignore */ } + NullProtoObject = typeof document != 'undefined' + ? document.domain && activeXDocument + ? NullProtoObjectViaActiveX(activeXDocument) // old IE + : NullProtoObjectViaIFrame() + : NullProtoObjectViaActiveX(activeXDocument); // WSH + var length = enumBugKeys.length; + while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; + +hiddenKeys[IE_PROTO] = true; + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +// eslint-disable-next-line es/no-object-create -- safe +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = NullProtoObject(); + return Properties === undefined ? result : definePropertiesModule.f(result, Properties); +}; + + +/***/ }), +/* 72 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(45); +var definePropertyModule = __webpack_require__(44); +var anObject = __webpack_require__(46); +var toIndexedObject = __webpack_require__(12); +var objectKeys = __webpack_require__(73); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var props = toIndexedObject(Properties); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]); + return O; +}; + + +/***/ }), +/* 73 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var internalObjectKeys = __webpack_require__(58); +var enumBugKeys = __webpack_require__(65); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +// eslint-disable-next-line es/no-object-keys -- safe +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + + +/***/ }), +/* 74 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); + +module.exports = getBuiltIn('document', 'documentElement'); + + +/***/ }), +/* 75 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-object-getownpropertynames -- safe */ +var classof = __webpack_require__(15); +var toIndexedObject = __webpack_require__(12); +var $getOwnPropertyNames = (__webpack_require__(57).f); +var arraySlice = __webpack_require__(76); + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return $getOwnPropertyNames(it); + } catch (error) { + return arraySlice(windowNames); + } +}; + +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && classof(it) === 'Window' + ? getWindowNames(it) + : $getOwnPropertyNames(toIndexedObject(it)); +}; + + +/***/ }), +/* 76 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +module.exports = uncurryThis([].slice); + + +/***/ }), +/* 77 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var makeBuiltIn = __webpack_require__(48); +var defineProperty = __webpack_require__(44); + +module.exports = function (target, name, descriptor) { + if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true }); + if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true }); + return defineProperty.f(target, name, descriptor); +}; + + +/***/ }), +/* 78 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +exports.f = wellKnownSymbol; + + +/***/ }), +/* 79 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var path = __webpack_require__(80); +var hasOwn = __webpack_require__(38); +var wrappedWellKnownSymbolModule = __webpack_require__(78); +var defineProperty = (__webpack_require__(44).f); + +module.exports = function (NAME) { + var Symbol = path.Symbol || (path.Symbol = {}); + if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, { + value: wrappedWellKnownSymbolModule.f(NAME) + }); +}; + + +/***/ }), +/* 80 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = globalThis; + + +/***/ }), +/* 81 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var getBuiltIn = __webpack_require__(23); +var wellKnownSymbol = __webpack_require__(33); +var defineBuiltIn = __webpack_require__(47); + +module.exports = function () { + var Symbol = getBuiltIn('Symbol'); + var SymbolPrototype = Symbol && Symbol.prototype; + var valueOf = SymbolPrototype && SymbolPrototype.valueOf; + var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + + if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) { + // `Symbol.prototype[@@toPrimitive]` method + // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive + // eslint-disable-next-line no-unused-vars -- required for .length + defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) { + return call(valueOf, this); + }, { arity: 1 }); + } +}; + + +/***/ }), +/* 82 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineProperty = (__webpack_require__(44).f); +var hasOwn = __webpack_require__(38); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +module.exports = function (target, TAG, STATIC) { + if (target && !STATIC) target = target.prototype; + if (target && !hasOwn(target, TO_STRING_TAG)) { + defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG }); + } +}; + + +/***/ }), +/* 83 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var uncurryThis = __webpack_require__(14); +var IndexedObject = __webpack_require__(13); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var arraySpeciesCreate = __webpack_require__(86); + +var push = uncurryThis([].push); + +// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation +var createMethod = function (TYPE) { + var IS_MAP = TYPE === 1; + var IS_FILTER = TYPE === 2; + var IS_SOME = TYPE === 3; + var IS_EVERY = TYPE === 4; + var IS_FIND_INDEX = TYPE === 6; + var IS_FILTER_REJECT = TYPE === 7; + var NO_HOLES = TYPE === 5 || IS_FIND_INDEX; + return function ($this, callbackfn, that, specificCreate) { + var O = toObject($this); + var self = IndexedObject(O); + var length = lengthOfArrayLike(self); + var boundFunction = bind(callbackfn, that); + var index = 0; + var create = specificCreate || arraySpeciesCreate; + var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; + var value, result; + for (;length > index; index++) if (NO_HOLES || index in self) { + value = self[index]; + result = boundFunction(value, index, O); + if (TYPE) { + if (IS_MAP) target[index] = result; // map + else if (result) switch (TYPE) { + case 3: return true; // some + case 5: return value; // find + case 6: return index; // findIndex + case 2: push(target, value); // filter + } else switch (TYPE) { + case 4: return false; // every + case 7: push(target, value); // filterReject + } + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; + }; +}; + +module.exports = { + // `Array.prototype.forEach` method + // https://tc39.es/ecma262/#sec-array.prototype.foreach + forEach: createMethod(0), + // `Array.prototype.map` method + // https://tc39.es/ecma262/#sec-array.prototype.map + map: createMethod(1), + // `Array.prototype.filter` method + // https://tc39.es/ecma262/#sec-array.prototype.filter + filter: createMethod(2), + // `Array.prototype.some` method + // https://tc39.es/ecma262/#sec-array.prototype.some + some: createMethod(3), + // `Array.prototype.every` method + // https://tc39.es/ecma262/#sec-array.prototype.every + every: createMethod(4), + // `Array.prototype.find` method + // https://tc39.es/ecma262/#sec-array.prototype.find + find: createMethod(5), + // `Array.prototype.findIndex` method + // https://tc39.es/ecma262/#sec-array.prototype.findIndex + findIndex: createMethod(6), + // `Array.prototype.filterReject` method + // https://github.com/tc39/proposal-array-filtering + filterReject: createMethod(7) +}; + + +/***/ }), +/* 84 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(85); +var aCallable = __webpack_require__(30); +var NATIVE_BIND = __webpack_require__(9); + +var bind = uncurryThis(uncurryThis.bind); + +// optional / simple context binding +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), +/* 85 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classofRaw = __webpack_require__(15); +var uncurryThis = __webpack_require__(14); + +module.exports = function (fn) { + // Nashorn bug: + // https://github.com/zloirock/core-js/issues/1128 + // https://github.com/zloirock/core-js/issues/1130 + if (classofRaw(fn) === 'Function') return uncurryThis(fn); +}; + + +/***/ }), +/* 86 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arraySpeciesConstructor = __webpack_require__(87); + +// `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray, length) { + return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); +}; + + +/***/ }), +/* 87 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isArray = __webpack_require__(88); +var isConstructor = __webpack_require__(89); +var isObject = __webpack_require__(20); +var wellKnownSymbol = __webpack_require__(33); + +var SPECIES = wellKnownSymbol('species'); +var $Array = Array; + +// a part of `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray) { + var C; + if (isArray(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined; + else if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? $Array : C; +}; + + +/***/ }), +/* 88 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(15); + +// `IsArray` abstract operation +// https://tc39.es/ecma262/#sec-isarray +// eslint-disable-next-line es/no-array-isarray -- safe +module.exports = Array.isArray || function isArray(argument) { + return classof(argument) === 'Array'; +}; + + +/***/ }), +/* 89 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(69); +var getBuiltIn = __webpack_require__(23); +var inspectSource = __webpack_require__(50); + +var noop = function () { /* empty */ }; +var construct = getBuiltIn('Reflect', 'construct'); +var constructorRegExp = /^\s*(?:class|function)\b/; +var exec = uncurryThis(constructorRegExp.exec); +var INCORRECT_TO_STRING = !constructorRegExp.test(noop); + +var isConstructorModern = function isConstructor(argument) { + if (!isCallable(argument)) return false; + try { + construct(noop, [], argument); + return true; + } catch (error) { + return false; + } +}; + +var isConstructorLegacy = function isConstructor(argument) { + if (!isCallable(argument)) return false; + switch (classof(argument)) { + case 'AsyncFunction': + case 'GeneratorFunction': + case 'AsyncGeneratorFunction': return false; + } + try { + // we can't check .prototype since constructors produced by .bind haven't it + // `Function#toString` throws on some built-it function in some legacy engines + // (for example, `DOMQuad` and similar in FF41-) + return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); + } catch (error) { + return true; + } +}; + +isConstructorLegacy.sham = true; + +// `IsConstructor` abstract operation +// https://tc39.es/ecma262/#sec-isconstructor +module.exports = !construct || fails(function () { + var called; + return isConstructorModern(isConstructorModern.call) + || !isConstructorModern(Object) + || !isConstructorModern(function () { called = true; }) + || called; +}) ? isConstructorLegacy : isConstructorModern; + + +/***/ }), +/* 90 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var hasOwn = __webpack_require__(38); +var toString = __webpack_require__(68); +var shared = __webpack_require__(34); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__(91); + +var StringToSymbolRegistry = shared('string-to-symbol-registry'); +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.for` method +// https://tc39.es/ecma262/#sec-symbol.for +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + 'for': function (key) { + var string = toString(key); + if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; + var symbol = getBuiltIn('Symbol')(string); + StringToSymbolRegistry[string] = symbol; + SymbolToStringRegistry[symbol] = string; + return symbol; + } +}); + + +/***/ }), +/* 91 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_SYMBOL = __webpack_require__(26); + +/* eslint-disable es/no-symbol -- safe */ +module.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor; + + +/***/ }), +/* 92 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var hasOwn = __webpack_require__(38); +var isSymbol = __webpack_require__(22); +var tryToString = __webpack_require__(31); +var shared = __webpack_require__(34); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__(91); + +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.keyFor` method +// https://tc39.es/ecma262/#sec-symbol.keyfor +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol'); + if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; + } +}); + + +/***/ }), +/* 93 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var isSymbol = __webpack_require__(22); +var arraySlice = __webpack_require__(76); +var getReplacerFunction = __webpack_require__(95); +var NATIVE_SYMBOL = __webpack_require__(26); + +var $String = String; +var $stringify = getBuiltIn('JSON', 'stringify'); +var exec = uncurryThis(/./.exec); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var replace = uncurryThis(''.replace); +var numberToString = uncurryThis(1.0.toString); + +var tester = /[\uD800-\uDFFF]/g; +var low = /^[\uD800-\uDBFF]$/; +var hi = /^[\uDC00-\uDFFF]$/; + +var WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () { + var symbol = getBuiltIn('Symbol')('stringify detection'); + // MS Edge converts symbol values to JSON as {} + return $stringify([symbol]) !== '[null]' + // WebKit converts symbol values to JSON as null + || $stringify({ a: symbol }) !== '{}' + // V8 throws on boxed symbols + || $stringify(Object(symbol)) !== '{}'; +}); + +// https://github.com/tc39/proposal-well-formed-stringify +var ILL_FORMED_UNICODE = fails(function () { + return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"' + || $stringify('\uDEAD') !== '"\\udead"'; +}); + +var stringifyWithSymbolsFix = function (it, replacer) { + var args = arraySlice(arguments); + var $replacer = getReplacerFunction(replacer); + if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined + args[1] = function (key, value) { + // some old implementations (like WebKit) could pass numbers as keys + if (isCallable($replacer)) value = call($replacer, this, $String(key), value); + if (!isSymbol(value)) return value; + }; + return apply($stringify, null, args); +}; + +var fixIllFormed = function (match, offset, string) { + var prev = charAt(string, offset - 1); + var next = charAt(string, offset + 1); + if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) { + return '\\u' + numberToString(charCodeAt(match, 0), 16); + } return match; +}; + +if ($stringify) { + // `JSON.stringify` method + // https://tc39.es/ecma262/#sec-json.stringify + $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + stringify: function stringify(it, replacer, space) { + var args = arraySlice(arguments); + var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args); + return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result; + } + }); +} + + +/***/ }), +/* 94 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; + +// eslint-disable-next-line es/no-reflect -- safe +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); + + +/***/ }), +/* 95 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var isArray = __webpack_require__(88); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(15); +var toString = __webpack_require__(68); + +var push = uncurryThis([].push); + +module.exports = function (replacer) { + if (isCallable(replacer)) return replacer; + if (!isArray(replacer)) return; + var rawLength = replacer.length; + var keys = []; + for (var i = 0; i < rawLength; i++) { + var element = replacer[i]; + if (typeof element == 'string') push(keys, element); + else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element)); + } + var keysLength = keys.length; + var root = true; + return function (key, value) { + if (root) { + root = false; + return value; + } + if (isArray(this)) return value; + for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value; + }; +}; + + +/***/ }), +/* 96 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var NATIVE_SYMBOL = __webpack_require__(26); +var fails = __webpack_require__(7); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var toObject = __webpack_require__(39); + +// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives +// https://bugs.chromium.org/p/v8/issues/detail?id=3443 +var FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); }); + +// `Object.getOwnPropertySymbols` method +// https://tc39.es/ecma262/#sec-object.getownpropertysymbols +$({ target: 'Object', stat: true, forced: FORCED }, { + getOwnPropertySymbols: function getOwnPropertySymbols(it) { + var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : []; + } +}); + + +/***/ }), +/* 97 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +// `Symbol.prototype.description` getter +// https://tc39.es/ecma262/#sec-symbol.prototype.description + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var hasOwn = __webpack_require__(38); +var isCallable = __webpack_require__(21); +var isPrototypeOf = __webpack_require__(24); +var toString = __webpack_require__(68); +var defineBuiltInAccessor = __webpack_require__(77); +var copyConstructorProperties = __webpack_require__(55); + +var NativeSymbol = globalThis.Symbol; +var SymbolPrototype = NativeSymbol && NativeSymbol.prototype; + +if (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) || + // Safari 12 bug + NativeSymbol().description !== undefined +)) { + var EmptyStringDescriptionStore = {}; + // wrap Symbol constructor for correct work with undefined description + var SymbolWrapper = function Symbol() { + var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]); + var result = isPrototypeOf(SymbolPrototype, this) + // eslint-disable-next-line sonarjs/inconsistent-function-call -- ok + ? new NativeSymbol(description) + // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)' + : description === undefined ? NativeSymbol() : NativeSymbol(description); + if (description === '') EmptyStringDescriptionStore[result] = true; + return result; + }; + + copyConstructorProperties(SymbolWrapper, NativeSymbol); + SymbolWrapper.prototype = SymbolPrototype; + SymbolPrototype.constructor = SymbolWrapper; + + var NATIVE_SYMBOL = String(NativeSymbol('description detection')) === 'Symbol(description detection)'; + var thisSymbolValue = uncurryThis(SymbolPrototype.valueOf); + var symbolDescriptiveString = uncurryThis(SymbolPrototype.toString); + var regexp = /^Symbol\((.*)\)[^)]+$/; + var replace = uncurryThis(''.replace); + var stringSlice = uncurryThis(''.slice); + + defineBuiltInAccessor(SymbolPrototype, 'description', { + configurable: true, + get: function description() { + var symbol = thisSymbolValue(this); + if (hasOwn(EmptyStringDescriptionStore, symbol)) return ''; + var string = symbolDescriptiveString(symbol); + var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1'); + return desc === '' ? undefined : desc; + } + }); + + $({ global: true, constructor: true, forced: true }, { + Symbol: SymbolWrapper + }); +} + + +/***/ }), +/* 98 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.asyncIterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.asynciterator +defineWellKnownSymbol('asyncIterator'); + + +/***/ }), +/* 99 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.hasInstance` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.hasinstance +defineWellKnownSymbol('hasInstance'); + + +/***/ }), +/* 100 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.isConcatSpreadable` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable +defineWellKnownSymbol('isConcatSpreadable'); + + +/***/ }), +/* 101 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.iterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.iterator +defineWellKnownSymbol('iterator'); + + +/***/ }), +/* 102 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.match` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.match +defineWellKnownSymbol('match'); + + +/***/ }), +/* 103 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.matchAll` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.matchall +defineWellKnownSymbol('matchAll'); + + +/***/ }), +/* 104 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.replace` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.replace +defineWellKnownSymbol('replace'); + + +/***/ }), +/* 105 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.search` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.search +defineWellKnownSymbol('search'); + + +/***/ }), +/* 106 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.species` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.species +defineWellKnownSymbol('species'); + + +/***/ }), +/* 107 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.split` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.split +defineWellKnownSymbol('split'); + + +/***/ }), +/* 108 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); +var defineSymbolToPrimitive = __webpack_require__(81); + +// `Symbol.toPrimitive` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.toprimitive +defineWellKnownSymbol('toPrimitive'); + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +defineSymbolToPrimitive(); + + +/***/ }), +/* 109 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var defineWellKnownSymbol = __webpack_require__(79); +var setToStringTag = __webpack_require__(82); + +// `Symbol.toStringTag` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.tostringtag +defineWellKnownSymbol('toStringTag'); + +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag(getBuiltIn('Symbol'), 'Symbol'); + + +/***/ }), +/* 110 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.unscopables` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.unscopables +defineWellKnownSymbol('unscopables'); + + +/***/ }), +/* 111 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-unused-vars -- required for functions `.length` */ +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var wrapErrorConstructorWithCause = __webpack_require__(112); + +var WEB_ASSEMBLY = 'WebAssembly'; +var WebAssembly = globalThis[WEB_ASSEMBLY]; + +// eslint-disable-next-line es/no-error-cause -- feature detection +var FORCED = new Error('e', { cause: 7 }).cause !== 7; + +var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED); + $({ global: true, constructor: true, arity: 1, forced: FORCED }, O); +}; + +var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) { + if (WebAssembly && WebAssembly[ERROR_NAME]) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED); + $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O); + } +}; + +// https://tc39.es/ecma262/#sec-nativeerror +exportGlobalErrorCauseWrapper('Error', function (init) { + return function Error(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('EvalError', function (init) { + return function EvalError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('RangeError', function (init) { + return function RangeError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('ReferenceError', function (init) { + return function ReferenceError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('SyntaxError', function (init) { + return function SyntaxError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('TypeError', function (init) { + return function TypeError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('URIError', function (init) { + return function URIError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('CompileError', function (init) { + return function CompileError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('LinkError', function (init) { + return function LinkError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) { + return function RuntimeError(message) { return apply(init, this, arguments); }; +}); + + +/***/ }), +/* 112 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var hasOwn = __webpack_require__(38); +var createNonEnumerableProperty = __webpack_require__(43); +var isPrototypeOf = __webpack_require__(24); +var setPrototypeOf = __webpack_require__(113); +var copyConstructorProperties = __webpack_require__(55); +var proxyAccessor = __webpack_require__(117); +var inheritIfRequired = __webpack_require__(118); +var normalizeStringArgument = __webpack_require__(119); +var installErrorCause = __webpack_require__(120); +var installErrorStack = __webpack_require__(121); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) { + var STACK_TRACE_LIMIT = 'stackTraceLimit'; + var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1; + var path = FULL_NAME.split('.'); + var ERROR_NAME = path[path.length - 1]; + var OriginalError = getBuiltIn.apply(null, path); + + if (!OriginalError) return; + + var OriginalErrorPrototype = OriginalError.prototype; + + // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006 + if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause; + + if (!FORCED) return OriginalError; + + var BaseError = getBuiltIn('Error'); + + var WrappedError = wrapper(function (a, b) { + var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined); + var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError(); + if (message !== undefined) createNonEnumerableProperty(result, 'message', message); + installErrorStack(result, WrappedError, result.stack, 2); + if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError); + if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]); + return result; + }); + + WrappedError.prototype = OriginalErrorPrototype; + + if (ERROR_NAME !== 'Error') { + if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError); + else copyConstructorProperties(WrappedError, BaseError, { name: true }); + } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) { + proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT); + proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace'); + } + + copyConstructorProperties(WrappedError, OriginalError); + + if (!IS_PURE) try { + // Safari 13- bug: WebAssembly errors does not have a proper `.name` + if (OriginalErrorPrototype.name !== ERROR_NAME) { + createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME); + } + OriginalErrorPrototype.constructor = WrappedError; + } catch (error) { /* empty */ } + + return WrappedError; +}; + + +/***/ }), +/* 113 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-proto -- safe */ +var uncurryThisAccessor = __webpack_require__(114); +var isObject = __webpack_require__(20); +var requireObjectCoercible = __webpack_require__(16); +var aPossiblePrototype = __webpack_require__(115); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +// Works with __proto__ only. Old v8 can't work with null proto objects. +// eslint-disable-next-line es/no-object-setprototypeof -- safe +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set'); + setter(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { /* empty */ } + return function setPrototypeOf(O, proto) { + requireObjectCoercible(O); + aPossiblePrototype(proto); + if (!isObject(O)) return O; + if (CORRECT_SETTER) setter(O, proto); + else O.__proto__ = proto; + return O; + }; +}() : undefined); + + +/***/ }), +/* 114 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); + +module.exports = function (object, key, method) { + try { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method])); + } catch (error) { /* empty */ } +}; + + +/***/ }), +/* 115 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isPossiblePrototype = __webpack_require__(116); + +var $String = String; +var $TypeError = TypeError; + +module.exports = function (argument) { + if (isPossiblePrototype(argument)) return argument; + throw new $TypeError("Can't set " + $String(argument) + ' as a prototype'); +}; + + +/***/ }), +/* 116 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +module.exports = function (argument) { + return isObject(argument) || argument === null; +}; + + +/***/ }), +/* 117 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineProperty = (__webpack_require__(44).f); + +module.exports = function (Target, Source, key) { + key in Target || defineProperty(Target, key, { + configurable: true, + get: function () { return Source[key]; }, + set: function (it) { Source[key] = it; } + }); +}; + + +/***/ }), +/* 118 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var setPrototypeOf = __webpack_require__(113); + +// makes subclassing work correct for wrapped built-ins +module.exports = function ($this, dummy, Wrapper) { + var NewTarget, NewTargetPrototype; + if ( + // it can work only with native `setPrototypeOf` + setPrototypeOf && + // we haven't completely correct pre-ES6 way for getting `new.target`, so use this + isCallable(NewTarget = dummy.constructor) && + NewTarget !== Wrapper && + isObject(NewTargetPrototype = NewTarget.prototype) && + NewTargetPrototype !== Wrapper.prototype + ) setPrototypeOf($this, NewTargetPrototype); + return $this; +}; + + +/***/ }), +/* 119 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toString = __webpack_require__(68); + +module.exports = function (argument, $default) { + return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument); +}; + + +/***/ }), +/* 120 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); +var createNonEnumerableProperty = __webpack_require__(43); + +// `InstallErrorCause` abstract operation +// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause +module.exports = function (O, options) { + if (isObject(options) && 'cause' in options) { + createNonEnumerableProperty(O, 'cause', options.cause); + } +}; + + +/***/ }), +/* 121 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var createNonEnumerableProperty = __webpack_require__(43); +var clearErrorStack = __webpack_require__(122); +var ERROR_STACK_INSTALLABLE = __webpack_require__(123); + +// non-standard V8 +var captureStackTrace = Error.captureStackTrace; + +module.exports = function (error, C, stack, dropEntries) { + if (ERROR_STACK_INSTALLABLE) { + if (captureStackTrace) captureStackTrace(error, C); + else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries)); + } +}; + + +/***/ }), +/* 122 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var $Error = Error; +var replace = uncurryThis(''.replace); + +var TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd'); +// eslint-disable-next-line redos/no-vulnerable, sonarjs/slow-regex -- safe +var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; +var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); + +module.exports = function (stack, dropEntries) { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) { + while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); + } return stack; +}; + + +/***/ }), +/* 123 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = !fails(function () { + var error = new Error('a'); + if (!('stack' in error)) return true; + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); + return error.stack !== 7; +}); + + +/***/ }), +/* 124 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var errorToString = __webpack_require__(125); + +var ErrorPrototype = Error.prototype; + +// `Error.prototype.toString` method fix +// https://tc39.es/ecma262/#sec-error.prototype.tostring +if (ErrorPrototype.toString !== errorToString) { + defineBuiltIn(ErrorPrototype, 'toString', errorToString); +} + + +/***/ }), +/* 125 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var anObject = __webpack_require__(46); +var normalizeStringArgument = __webpack_require__(119); + +var nativeErrorToString = Error.prototype.toString; + +var INCORRECT_TO_STRING = fails(function () { + if (DESCRIPTORS) { + // Chrome 32- incorrectly call accessor + // eslint-disable-next-line es/no-object-create, es/no-object-defineproperty -- safe + var object = Object.create(Object.defineProperty({}, 'name', { get: function () { + return this === object; + } })); + if (nativeErrorToString.call(object) !== 'true') return true; + } + // FF10- does not properly handle non-strings + return nativeErrorToString.call({ message: 1, name: 2 }) !== '2: 1' + // IE8 does not properly handle defaults + || nativeErrorToString.call({}) !== 'Error'; +}); + +module.exports = INCORRECT_TO_STRING ? function toString() { + var O = anObject(this); + var name = normalizeStringArgument(O.name, 'Error'); + var message = normalizeStringArgument(O.message); + return !name ? message : !message ? name : name + ': ' + message; +} : nativeErrorToString; + + +/***/ }), +/* 126 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(127); + + +/***/ }), +/* 127 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isPrototypeOf = __webpack_require__(24); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var copyConstructorProperties = __webpack_require__(55); +var create = __webpack_require__(71); +var createNonEnumerableProperty = __webpack_require__(43); +var createPropertyDescriptor = __webpack_require__(11); +var installErrorCause = __webpack_require__(120); +var installErrorStack = __webpack_require__(121); +var iterate = __webpack_require__(130); +var normalizeStringArgument = __webpack_require__(119); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Error = Error; +var push = [].push; + +var $AggregateError = function AggregateError(errors, message /* , options */) { + var isInstance = isPrototypeOf(AggregateErrorPrototype, this); + var that; + if (setPrototypeOf) { + that = setPrototypeOf(new $Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype); + } else { + that = isInstance ? this : create(AggregateErrorPrototype); + createNonEnumerableProperty(that, TO_STRING_TAG, 'Error'); + } + if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message)); + installErrorStack(that, $AggregateError, that.stack, 1); + if (arguments.length > 2) installErrorCause(that, arguments[2]); + var errorsArray = []; + iterate(errors, push, { that: errorsArray }); + createNonEnumerableProperty(that, 'errors', errorsArray); + return that; +}; + +if (setPrototypeOf) setPrototypeOf($AggregateError, $Error); +else copyConstructorProperties($AggregateError, $Error, { name: true }); + +var AggregateErrorPrototype = $AggregateError.prototype = create($Error.prototype, { + constructor: createPropertyDescriptor(1, $AggregateError), + message: createPropertyDescriptor(1, ''), + name: createPropertyDescriptor(1, 'AggregateError') +}); + +// `AggregateError` constructor +// https://tc39.es/ecma262/#sec-aggregate-error-constructor +$({ global: true, constructor: true, arity: 2 }, { + AggregateError: $AggregateError +}); + + +/***/ }), +/* 128 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var isCallable = __webpack_require__(21); +var toObject = __webpack_require__(39); +var sharedKey = __webpack_require__(53); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +var IE_PROTO = sharedKey('IE_PROTO'); +var $Object = Object; +var ObjectPrototype = $Object.prototype; + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +// eslint-disable-next-line es/no-object-getprototypeof -- safe +module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) { + var object = toObject(O); + if (hasOwn(object, IE_PROTO)) return object[IE_PROTO]; + var constructor = object.constructor; + if (isCallable(constructor) && object instanceof constructor) { + return constructor.prototype; + } return object instanceof $Object ? ObjectPrototype : null; +}; + + +/***/ }), +/* 129 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + // eslint-disable-next-line es/no-object-getprototypeof -- required for testing + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + + +/***/ }), +/* 130 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var tryToString = __webpack_require__(31); +var isArrayIteratorMethod = __webpack_require__(131); +var lengthOfArrayLike = __webpack_require__(63); +var isPrototypeOf = __webpack_require__(24); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var iteratorClose = __webpack_require__(135); + +var $TypeError = TypeError; + +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; + +var ResultPrototype = Result.prototype; + +module.exports = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_RECORD = !!(options && options.IS_RECORD); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = bind(unboundFunction, that); + var iterator, iterFn, index, length, result, next, step; + + var stop = function (condition) { + if (iterator) iteratorClose(iterator, 'normal', condition); + return new Result(true, condition); + }; + + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } return INTERRUPTED ? fn(value, stop) : fn(value); + }; + + if (IS_RECORD) { + iterator = iterable.iterator; + } else if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable'); + // optimisation for array iterators + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { + result = callFn(iterable[index]); + if (result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); + } + iterator = getIterator(iterable, iterFn); + } + + next = IS_RECORD ? iterable.next : iterator.next; + while (!(step = call(next, iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } + if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); +}; + + +/***/ }), +/* 131 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); +var Iterators = __webpack_require__(132); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; + +// check on default Array iterator +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + + +/***/ }), +/* 132 */ +/***/ (function(module) { + + +module.exports = {}; + + +/***/ }), +/* 133 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var tryToString = __webpack_require__(31); +var getIteratorMethod = __webpack_require__(134); + +var $TypeError = TypeError; + +module.exports = function (argument, usingIterator) { + var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; + if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument)); + throw new $TypeError(tryToString(argument) + ' is not iterable'); +}; + + +/***/ }), +/* 134 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); +var getMethod = __webpack_require__(29); +var isNullOrUndefined = __webpack_require__(17); +var Iterators = __webpack_require__(132); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = function (it) { + if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR) + || getMethod(it, '@@iterator') + || Iterators[classof(it)]; +}; + + +/***/ }), +/* 135 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getMethod = __webpack_require__(29); + +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') throw value; + if (innerError) throw innerResult; + anObject(innerResult); + return value; +}; + + +/***/ }), +/* 136 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var fails = __webpack_require__(7); +var wrapErrorConstructorWithCause = __webpack_require__(112); + +var AGGREGATE_ERROR = 'AggregateError'; +var $AggregateError = getBuiltIn(AGGREGATE_ERROR); + +var FORCED = !fails(function () { + return $AggregateError([1]).errors[0] !== 1; +}) && fails(function () { + return $AggregateError([1], AGGREGATE_ERROR, { cause: 7 }).cause !== 7; +}); + +// https://tc39.es/ecma262/#sec-aggregate-error +$({ global: true, constructor: true, arity: 2, forced: FORCED }, { + AggregateError: wrapErrorConstructorWithCause(AGGREGATE_ERROR, function (init) { + // eslint-disable-next-line no-unused-vars -- required for functions `.length` + return function AggregateError(errors, message) { return apply(init, this, arguments); }; + }, FORCED, true) +}); + + +/***/ }), +/* 137 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.at` method +// https://tc39.es/ecma262/#sec-array.prototype.at +$({ target: 'Array', proto: true }, { + at: function at(index) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : O[k]; + } +}); + +addToUnscopables('at'); + + +/***/ }), +/* 138 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); +var create = __webpack_require__(71); +var defineProperty = (__webpack_require__(44).f); + +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; + +// Array.prototype[@@unscopables] +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +if (ArrayPrototype[UNSCOPABLES] === undefined) { + defineProperty(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: create(null) + }); +} + +// add a key to Array.prototype[@@unscopables] +module.exports = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; +}; + + +/***/ }), +/* 139 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isArray = __webpack_require__(88); +var isObject = __webpack_require__(20); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var doesNotExceedSafeInteger = __webpack_require__(140); +var createProperty = __webpack_require__(141); +var arraySpeciesCreate = __webpack_require__(86); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); +var wellKnownSymbol = __webpack_require__(33); +var V8_VERSION = __webpack_require__(27); + +var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); + +// We can't use this feature detection in V8 since it causes +// deoptimization and serious performance degradation +// https://github.com/zloirock/core-js/issues/679 +var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { + var array = []; + array[IS_CONCAT_SPREADABLE] = false; + return array.concat()[0] !== array; +}); + +var isConcatSpreadable = function (O) { + if (!isObject(O)) return false; + var spreadable = O[IS_CONCAT_SPREADABLE]; + return spreadable !== undefined ? !!spreadable : isArray(O); +}; + +var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat'); + +// `Array.prototype.concat` method +// https://tc39.es/ecma262/#sec-array.prototype.concat +// with adding support of @@isConcatSpreadable and @@species +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + concat: function concat(arg) { + var O = toObject(this); + var A = arraySpeciesCreate(O, 0); + var n = 0; + var i, k, length, len, E; + for (i = -1, length = arguments.length; i < length; i++) { + E = i === -1 ? O : arguments[i]; + if (isConcatSpreadable(E)) { + len = lengthOfArrayLike(E); + doesNotExceedSafeInteger(n + len); + for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); + } else { + doesNotExceedSafeInteger(n + 1); + createProperty(A, n++, E); + } + } + A.length = n; + return A; + } +}); + + +/***/ }), +/* 140 */ +/***/ (function(module) { + + +var $TypeError = TypeError; +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991 + +module.exports = function (it) { + if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded'); + return it; +}; + + +/***/ }), +/* 141 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var definePropertyModule = __webpack_require__(44); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = function (object, key, value) { + if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value)); + else object[key] = value; +}; + + +/***/ }), +/* 142 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var V8_VERSION = __webpack_require__(27); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (METHOD_NAME) { + // We can't use this feature detection in V8 since it causes + // deoptimization and serious performance degradation + // https://github.com/zloirock/core-js/issues/677 + return V8_VERSION >= 51 || !fails(function () { + var array = []; + var constructor = array.constructor = {}; + constructor[SPECIES] = function () { + return { foo: 1 }; + }; + return array[METHOD_NAME](Boolean).foo !== 1; + }); +}; + + +/***/ }), +/* 143 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var copyWithin = __webpack_require__(144); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.copyWithin` method +// https://tc39.es/ecma262/#sec-array.prototype.copywithin +$({ target: 'Array', proto: true }, { + copyWithin: copyWithin +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('copyWithin'); + + +/***/ }), +/* 144 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); +var deletePropertyOrThrow = __webpack_require__(145); + +var min = Math.min; + +// `Array.prototype.copyWithin` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.copywithin +// eslint-disable-next-line es/no-array-prototype-copywithin -- safe +module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var to = toAbsoluteIndex(target, len); + var from = toAbsoluteIndex(start, len); + var end = arguments.length > 2 ? arguments[2] : undefined; + var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var inc = 1; + if (from < to && to < from + count) { + inc = -1; + from += count - 1; + to += count - 1; + } + while (count-- > 0) { + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + to += inc; + from += inc; + } return O; +}; + + +/***/ }), +/* 145 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +module.exports = function (O, P) { + if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O)); +}; + + +/***/ }), +/* 146 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $every = (__webpack_require__(83).every); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('every'); + +// `Array.prototype.every` method +// https://tc39.es/ecma262/#sec-array.prototype.every +$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { + every: function every(callbackfn /* , thisArg */) { + return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 147 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call -- required for testing + method.call(null, argument || function () { return 1; }, 1); + }); +}; + + +/***/ }), +/* 148 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fill = __webpack_require__(149); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.fill` method +// https://tc39.es/ecma262/#sec-array.prototype.fill +$({ target: 'Array', proto: true }, { + fill: fill +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('fill'); + + +/***/ }), +/* 149 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.fill` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.fill +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = lengthOfArrayLike(O); + var argumentsLength = arguments.length; + var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); + var end = argumentsLength > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; + return O; +}; + + +/***/ }), +/* 150 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $filter = (__webpack_require__(83).filter); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); + +// `Array.prototype.filter` method +// https://tc39.es/ecma262/#sec-array.prototype.filter +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + filter: function filter(callbackfn /* , thisArg */) { + return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 151 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $find = (__webpack_require__(83).find); +var addToUnscopables = __webpack_require__(138); + +var FIND = 'find'; +var SKIPS_HOLES = true; + +// Shouldn't skip holes +// eslint-disable-next-line es/no-array-prototype-find -- testing +if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.find` method +// https://tc39.es/ecma262/#sec-array.prototype.find +$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { + find: function find(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND); + + +/***/ }), +/* 152 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findIndex = (__webpack_require__(83).findIndex); +var addToUnscopables = __webpack_require__(138); + +var FIND_INDEX = 'findIndex'; +var SKIPS_HOLES = true; + +// Shouldn't skip holes +// eslint-disable-next-line es/no-array-prototype-findindex -- testing +if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.findIndex` method +// https://tc39.es/ecma262/#sec-array.prototype.findindex +$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { + findIndex: function findIndex(callbackfn /* , that = undefined */) { + return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND_INDEX); + + +/***/ }), +/* 153 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findLast = (__webpack_require__(154).findLast); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.findLast` method +// https://tc39.es/ecma262/#sec-array.prototype.findlast +$({ target: 'Array', proto: true }, { + findLast: function findLast(callbackfn /* , that = undefined */) { + return $findLast(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +addToUnscopables('findLast'); + + +/***/ }), +/* 154 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var IndexedObject = __webpack_require__(13); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.{ findLast, findLastIndex }` methods implementation +var createMethod = function (TYPE) { + var IS_FIND_LAST_INDEX = TYPE === 1; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IndexedObject(O); + var index = lengthOfArrayLike(self); + var boundFunction = bind(callbackfn, that); + var value, result; + while (index-- > 0) { + value = self[index]; + result = boundFunction(value, index, O); + if (result) switch (TYPE) { + case 0: return value; // findLast + case 1: return index; // findLastIndex + } + } + return IS_FIND_LAST_INDEX ? -1 : undefined; + }; +}; + +module.exports = { + // `Array.prototype.findLast` method + // https://github.com/tc39/proposal-array-find-from-last + findLast: createMethod(0), + // `Array.prototype.findLastIndex` method + // https://github.com/tc39/proposal-array-find-from-last + findLastIndex: createMethod(1) +}; + + +/***/ }), +/* 155 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findLastIndex = (__webpack_require__(154).findLastIndex); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.findLastIndex` method +// https://tc39.es/ecma262/#sec-array.prototype.findlastindex +$({ target: 'Array', proto: true }, { + findLastIndex: function findLastIndex(callbackfn /* , that = undefined */) { + return $findLastIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +addToUnscopables('findLastIndex'); + + +/***/ }), +/* 156 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var flattenIntoArray = __webpack_require__(157); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); +var arraySpeciesCreate = __webpack_require__(86); + +// `Array.prototype.flat` method +// https://tc39.es/ecma262/#sec-array.prototype.flat +$({ target: 'Array', proto: true }, { + flat: function flat(/* depthArg = 1 */) { + var depthArg = arguments.length ? arguments[0] : undefined; + var O = toObject(this); + var sourceLen = lengthOfArrayLike(O); + var A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg)); + return A; + } +}); + + +/***/ }), +/* 157 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isArray = __webpack_require__(88); +var lengthOfArrayLike = __webpack_require__(63); +var doesNotExceedSafeInteger = __webpack_require__(140); +var bind = __webpack_require__(84); + +// `FlattenIntoArray` abstract operation +// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray +var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? bind(mapper, thisArg) : false; + var element, elementLen; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + if (depth > 0 && isArray(element)) { + elementLen = lengthOfArrayLike(element); + targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1; + } else { + doesNotExceedSafeInteger(targetIndex + 1); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; +}; + +module.exports = flattenIntoArray; + + +/***/ }), +/* 158 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var flattenIntoArray = __webpack_require__(157); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var arraySpeciesCreate = __webpack_require__(86); + +// `Array.prototype.flatMap` method +// https://tc39.es/ecma262/#sec-array.prototype.flatmap +$({ target: 'Array', proto: true }, { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var sourceLen = lengthOfArrayLike(O); + var A; + aCallable(callbackfn); + A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return A; + } +}); + + +/***/ }), +/* 159 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var forEach = __webpack_require__(160); + +// `Array.prototype.forEach` method +// https://tc39.es/ecma262/#sec-array.prototype.foreach +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +$({ target: 'Array', proto: true, forced: [].forEach !== forEach }, { + forEach: forEach +}); + + +/***/ }), +/* 160 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $forEach = (__webpack_require__(83).forEach); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('forEach'); + +// `Array.prototype.forEach` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.foreach +module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +} : [].forEach; + + +/***/ }), +/* 161 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var from = __webpack_require__(162); +var checkCorrectnessOfIteration = __webpack_require__(164); + +var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { + // eslint-disable-next-line es/no-array-from -- required for testing + Array.from(iterable); +}); + +// `Array.from` method +// https://tc39.es/ecma262/#sec-array.from +$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { + from: from +}); + + +/***/ }), +/* 162 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var toObject = __webpack_require__(39); +var callWithSafeIterationClosing = __webpack_require__(163); +var isArrayIteratorMethod = __webpack_require__(131); +var isConstructor = __webpack_require__(89); +var lengthOfArrayLike = __webpack_require__(63); +var createProperty = __webpack_require__(141); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); + +var $Array = Array; + +// `Array.from` method implementation +// https://tc39.es/ecma262/#sec-array.from +module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var IS_CONSTRUCTOR = isConstructor(this); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined); + var iteratorMethod = getIteratorMethod(O); + var index = 0; + var length, result, step, iterator, next, value; + // if the target is not iterable or it's an array with the default iterator - use a simple case + if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) { + result = IS_CONSTRUCTOR ? new this() : []; + iterator = getIterator(O, iteratorMethod); + next = iterator.next; + for (;!(step = call(next, iterator)).done; index++) { + value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; + createProperty(result, index, value); + } + } else { + length = lengthOfArrayLike(O); + result = IS_CONSTRUCTOR ? new this(length) : $Array(length); + for (;length > index; index++) { + value = mapping ? mapfn(O[index], index) : O[index]; + createProperty(result, index, value); + } + } + result.length = index; + return result; +}; + + +/***/ }), +/* 163 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var iteratorClose = __webpack_require__(135); + +// call something on iterator step with safe closing on error +module.exports = function (iterator, fn, value, ENTRIES) { + try { + return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } +}; + + +/***/ }), +/* 164 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var SAFE_CLOSING = false; + +try { + var called = 0; + var iteratorWithReturn = { + next: function () { + return { done: !!called++ }; + }, + 'return': function () { + SAFE_CLOSING = true; + } + }; + iteratorWithReturn[ITERATOR] = function () { + return this; + }; + // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing + Array.from(iteratorWithReturn, function () { throw 2; }); +} catch (error) { /* empty */ } + +module.exports = function (exec, SKIP_CLOSING) { + try { + if (!SKIP_CLOSING && !SAFE_CLOSING) return false; + } catch (error) { return false; } // workaround of old WebKit + `eval` bug + var ITERATION_SUPPORT = false; + try { + var object = {}; + object[ITERATOR] = function () { + return { + next: function () { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { /* empty */ } + return ITERATION_SUPPORT; +}; + + +/***/ }), +/* 165 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $includes = (__webpack_require__(59).includes); +var fails = __webpack_require__(7); +var addToUnscopables = __webpack_require__(138); + +// FF99+ bug +var BROKEN_ON_SPARSE = fails(function () { + // eslint-disable-next-line es/no-array-prototype-includes -- detection + return !Array(1).includes(); +}); + +// `Array.prototype.includes` method +// https://tc39.es/ecma262/#sec-array.prototype.includes +$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, { + includes: function includes(el /* , fromIndex = 0 */) { + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('includes'); + + +/***/ }), +/* 166 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-array-prototype-indexof -- required for testing */ +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var $indexOf = (__webpack_require__(59).indexOf); +var arrayMethodIsStrict = __webpack_require__(147); + +var nativeIndexOf = uncurryThis([].indexOf); + +var NEGATIVE_ZERO = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0; +var FORCED = NEGATIVE_ZERO || !arrayMethodIsStrict('indexOf'); + +// `Array.prototype.indexOf` method +// https://tc39.es/ecma262/#sec-array.prototype.indexof +$({ target: 'Array', proto: true, forced: FORCED }, { + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + var fromIndex = arguments.length > 1 ? arguments[1] : undefined; + return NEGATIVE_ZERO + // convert -0 to +0 + ? nativeIndexOf(this, searchElement, fromIndex) || 0 + : $indexOf(this, searchElement, fromIndex); + } +}); + + +/***/ }), +/* 167 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isArray = __webpack_require__(88); + +// `Array.isArray` method +// https://tc39.es/ecma262/#sec-array.isarray +$({ target: 'Array', stat: true }, { + isArray: isArray +}); + + +/***/ }), +/* 168 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIndexedObject = __webpack_require__(12); +var addToUnscopables = __webpack_require__(138); +var Iterators = __webpack_require__(132); +var InternalStateModule = __webpack_require__(51); +var defineProperty = (__webpack_require__(44).f); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); + +var ARRAY_ITERATOR = 'Array Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); + +// `Array.prototype.entries` method +// https://tc39.es/ecma262/#sec-array.prototype.entries +// `Array.prototype.keys` method +// https://tc39.es/ecma262/#sec-array.prototype.keys +// `Array.prototype.values` method +// https://tc39.es/ecma262/#sec-array.prototype.values +// `Array.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-array.prototype-@@iterator +// `CreateArrayIterator` internal method +// https://tc39.es/ecma262/#sec-createarrayiterator +module.exports = defineIterator(Array, 'Array', function (iterated, kind) { + setInternalState(this, { + type: ARRAY_ITERATOR, + target: toIndexedObject(iterated), // target + index: 0, // next index + kind: kind // kind + }); +// `%ArrayIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next +}, function () { + var state = getInternalState(this); + var target = state.target; + var index = state.index++; + if (!target || index >= target.length) { + state.target = null; + return createIterResultObject(undefined, true); + } + switch (state.kind) { + case 'keys': return createIterResultObject(index, false); + case 'values': return createIterResultObject(target[index], false); + } return createIterResultObject([index, target[index]], false); +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% +// https://tc39.es/ecma262/#sec-createunmappedargumentsobject +// https://tc39.es/ecma262/#sec-createmappedargumentsobject +var values = Iterators.Arguments = Iterators.Array; + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + +// V8 ~ Chrome 45- bug +if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try { + defineProperty(values, 'name', { value: 'values' }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 169 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var IS_PURE = __webpack_require__(36); +var FunctionName = __webpack_require__(49); +var isCallable = __webpack_require__(21); +var createIteratorConstructor = __webpack_require__(170); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var setToStringTag = __webpack_require__(82); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var wellKnownSymbol = __webpack_require__(33); +var Iterators = __webpack_require__(132); +var IteratorsCore = __webpack_require__(171); + +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +var IteratorPrototype = IteratorsCore.IteratorPrototype; +var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; +var ITERATOR = wellKnownSymbol('iterator'); +var KEYS = 'keys'; +var VALUES = 'values'; +var ENTRIES = 'entries'; + +var returnThis = function () { return this; }; + +module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + + var getIterationMethod = function (KIND) { + if (KIND === DEFAULT && defaultIterator) return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND]; + + switch (KIND) { + case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; + case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; + case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; + } + + return function () { return new IteratorConstructor(this); }; + }; + + var TO_STRING_TAG = NAME + ' Iterator'; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] + || IterablePrototype['@@iterator'] + || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + + // fix native + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { + defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + // Set @@toStringTag to native iterators + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; + } + } + + // fix Array.prototype.{ values, @@iterator }.name in V8 / FF + if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) { + if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(IterablePrototype, 'name', VALUES); + } else { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { return call(nativeIterator, this); }; + } + } + + // export additional methods + if (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + defineBuiltIn(IterablePrototype, KEY, methods[KEY]); + } + } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); + } + + // define iterator + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); + } + Iterators[NAME] = defaultIterator; + + return methods; +}; + + +/***/ }), +/* 170 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var setToStringTag = __webpack_require__(82); +var Iterators = __webpack_require__(132); + +var returnThis = function () { return this; }; + +module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { + var TO_STRING_TAG = NAME + ' Iterator'; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; +}; + + +/***/ }), +/* 171 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var create = __webpack_require__(71); +var getPrototypeOf = __webpack_require__(128); +var defineBuiltIn = __webpack_require__(47); +var wellKnownSymbol = __webpack_require__(33); +var IS_PURE = __webpack_require__(36); + +var ITERATOR = wellKnownSymbol('iterator'); +var BUGGY_SAFARI_ITERATORS = false; + +// `%IteratorPrototype%` object +// https://tc39.es/ecma262/#sec-%iteratorprototype%-object +var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; + +/* eslint-disable es/no-array-prototype-keys -- safe */ +if ([].keys) { + arrayIterator = [].keys(); + // Safari 8 has buggy iterators w/o `next` + if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } +} + +var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () { + var test = {}; + // FF44- legacy iterators case + return IteratorPrototype[ITERATOR].call(test) !== test; +}); + +if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; +else if (IS_PURE) IteratorPrototype = create(IteratorPrototype); + +// `%IteratorPrototype%[@@iterator]()` method +// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator +if (!isCallable(IteratorPrototype[ITERATOR])) { + defineBuiltIn(IteratorPrototype, ITERATOR, function () { + return this; + }); +} + +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + + +/***/ }), +/* 172 */ +/***/ (function(module) { + + +// `CreateIterResultObject` abstract operation +// https://tc39.es/ecma262/#sec-createiterresultobject +module.exports = function (value, done) { + return { value: value, done: done }; +}; + + +/***/ }), +/* 173 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var IndexedObject = __webpack_require__(13); +var toIndexedObject = __webpack_require__(12); +var arrayMethodIsStrict = __webpack_require__(147); + +var nativeJoin = uncurryThis([].join); + +var ES3_STRINGS = IndexedObject !== Object; +var FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ','); + +// `Array.prototype.join` method +// https://tc39.es/ecma262/#sec-array.prototype.join +$({ target: 'Array', proto: true, forced: FORCED }, { + join: function join(separator) { + return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator); + } +}); + + +/***/ }), +/* 174 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var lastIndexOf = __webpack_require__(175); + +// `Array.prototype.lastIndexOf` method +// https://tc39.es/ecma262/#sec-array.prototype.lastindexof +// eslint-disable-next-line es/no-array-prototype-lastindexof -- required for testing +$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, { + lastIndexOf: lastIndexOf +}); + + +/***/ }), +/* 175 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-array-prototype-lastindexof -- safe */ +var apply = __webpack_require__(94); +var toIndexedObject = __webpack_require__(12); +var toIntegerOrInfinity = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(63); +var arrayMethodIsStrict = __webpack_require__(147); + +var min = Math.min; +var $lastIndexOf = [].lastIndexOf; +var NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0; +var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf'); +var FORCED = NEGATIVE_ZERO || !STRICT_METHOD; + +// `Array.prototype.lastIndexOf` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.lastindexof +module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { + // convert -0 to +0 + if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0; + var O = toIndexedObject(this); + var length = lengthOfArrayLike(O); + if (length === 0) return -1; + var index = length - 1; + if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1])); + if (index < 0) index = length + index; + for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0; + return -1; +} : $lastIndexOf; + + +/***/ }), +/* 176 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $map = (__webpack_require__(83).map); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map'); + +// `Array.prototype.map` method +// https://tc39.es/ecma262/#sec-array.prototype.map +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 177 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isConstructor = __webpack_require__(89); +var createProperty = __webpack_require__(141); + +var $Array = Array; + +var ISNT_GENERIC = fails(function () { + function F() { /* empty */ } + // eslint-disable-next-line es/no-array-of -- safe + return !($Array.of.call(F) instanceof F); +}); + +// `Array.of` method +// https://tc39.es/ecma262/#sec-array.of +// WebKit Array.of isn't generic +$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, { + of: function of(/* ...args */) { + var index = 0; + var argumentsLength = arguments.length; + var result = new (isConstructor(this) ? this : $Array)(argumentsLength); + while (argumentsLength > index) createProperty(result, index, arguments[index++]); + result.length = argumentsLength; + return result; + } +}); + + +/***/ }), +/* 178 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var doesNotExceedSafeInteger = __webpack_require__(140); +var fails = __webpack_require__(7); + +var INCORRECT_TO_LENGTH = fails(function () { + return [].push.call({ length: 0x100000000 }, 1) !== 4294967297; +}); + +// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError +// https://bugs.chromium.org/p/v8/issues/detail?id=12681 +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).push(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength(); + +// `Array.prototype.push` method +// https://tc39.es/ecma262/#sec-array.prototype.push +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + push: function push(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + doesNotExceedSafeInteger(len + argCount); + for (var i = 0; i < argCount; i++) { + O[len] = arguments[i]; + len++; + } + setArrayLength(O, len); + return len; + } +}); + + +/***/ }), +/* 179 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var isArray = __webpack_require__(88); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Safari < 13 does not throw an error in this case +var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () { + // makes no sense without proper strict mode support + if (this !== undefined) return true; + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).length = 1; + } catch (error) { + return error instanceof TypeError; + } +}(); + +module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) { + if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) { + throw new $TypeError('Cannot set read only .length'); + } return O.length = length; +} : function (O, length) { + return O.length = length; +}; + + +/***/ }), +/* 180 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $reduce = (__webpack_require__(181).left); +var arrayMethodIsStrict = __webpack_require__(147); +var CHROME_VERSION = __webpack_require__(27); +var IS_NODE = __webpack_require__(182); + +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; +var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce'); + +// `Array.prototype.reduce` method +// https://tc39.es/ecma262/#sec-array.prototype.reduce +$({ target: 'Array', proto: true, forced: FORCED }, { + reduce: function reduce(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 181 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var IndexedObject = __webpack_require__(13); +var lengthOfArrayLike = __webpack_require__(63); + +var $TypeError = TypeError; + +var REDUCE_EMPTY = 'Reduce of empty array with no initial value'; + +// `Array.prototype.{ reduce, reduceRight }` methods implementation +var createMethod = function (IS_RIGHT) { + return function (that, callbackfn, argumentsLength, memo) { + var O = toObject(that); + var self = IndexedObject(O); + var length = lengthOfArrayLike(O); + aCallable(callbackfn); + if (length === 0 && argumentsLength < 2) throw new $TypeError(REDUCE_EMPTY); + var index = IS_RIGHT ? length - 1 : 0; + var i = IS_RIGHT ? -1 : 1; + if (argumentsLength < 2) while (true) { + if (index in self) { + memo = self[index]; + index += i; + break; + } + index += i; + if (IS_RIGHT ? index < 0 : length <= index) { + throw new $TypeError(REDUCE_EMPTY); + } + } + for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) { + memo = callbackfn(memo, self[index], index, O); + } + return memo; + }; +}; + +module.exports = { + // `Array.prototype.reduce` method + // https://tc39.es/ecma262/#sec-array.prototype.reduce + left: createMethod(false), + // `Array.prototype.reduceRight` method + // https://tc39.es/ecma262/#sec-array.prototype.reduceright + right: createMethod(true) +}; + + +/***/ }), +/* 182 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var ENVIRONMENT = __webpack_require__(183); + +module.exports = ENVIRONMENT === 'NODE'; + + +/***/ }), +/* 183 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* global Bun, Deno -- detection */ +var globalThis = __webpack_require__(4); +var userAgent = __webpack_require__(28); +var classof = __webpack_require__(15); + +var userAgentStartsWith = function (string) { + return userAgent.slice(0, string.length) === string; +}; + +module.exports = (function () { + if (userAgentStartsWith('Bun/')) return 'BUN'; + if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE'; + if (userAgentStartsWith('Deno/')) return 'DENO'; + if (userAgentStartsWith('Node.js/')) return 'NODE'; + if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN'; + if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO'; + if (classof(globalThis.process) === 'process') return 'NODE'; + if (globalThis.window && globalThis.document) return 'BROWSER'; + return 'REST'; +})(); + + +/***/ }), +/* 184 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $reduceRight = (__webpack_require__(181).right); +var arrayMethodIsStrict = __webpack_require__(147); +var CHROME_VERSION = __webpack_require__(27); +var IS_NODE = __webpack_require__(182); + +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; +var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduceRight'); + +// `Array.prototype.reduceRight` method +// https://tc39.es/ecma262/#sec-array.prototype.reduceright +$({ target: 'Array', proto: true, forced: FORCED }, { + reduceRight: function reduceRight(callbackfn /* , initialValue */) { + return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 185 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var isArray = __webpack_require__(88); + +var nativeReverse = uncurryThis([].reverse); +var test = [1, 2]; + +// `Array.prototype.reverse` method +// https://tc39.es/ecma262/#sec-array.prototype.reverse +// fix for Safari 12.0 bug +// https://bugs.webkit.org/show_bug.cgi?id=188794 +$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, { + reverse: function reverse() { + // eslint-disable-next-line no-self-assign -- dirty hack + if (isArray(this)) this.length = this.length; + return nativeReverse(this); + } +}); + + +/***/ }), +/* 186 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isArray = __webpack_require__(88); +var isConstructor = __webpack_require__(89); +var isObject = __webpack_require__(20); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); +var toIndexedObject = __webpack_require__(12); +var createProperty = __webpack_require__(141); +var wellKnownSymbol = __webpack_require__(33); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); +var nativeSlice = __webpack_require__(76); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); + +var SPECIES = wellKnownSymbol('species'); +var $Array = Array; +var max = Math.max; + +// `Array.prototype.slice` method +// https://tc39.es/ecma262/#sec-array.prototype.slice +// fallback for not array-like ES3 strings and DOM objects +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + slice: function slice(start, end) { + var O = toIndexedObject(this); + var length = lengthOfArrayLike(O); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible + var Constructor, result, n; + if (isArray(O)) { + Constructor = O.constructor; + // cross-realm fallback + if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) { + Constructor = undefined; + } else if (isObject(Constructor)) { + Constructor = Constructor[SPECIES]; + if (Constructor === null) Constructor = undefined; + } + if (Constructor === $Array || Constructor === undefined) { + return nativeSlice(O, k, fin); + } + } + result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0)); + for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); + result.length = n; + return result; + } +}); + + +/***/ }), +/* 187 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $some = (__webpack_require__(83).some); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('some'); + +// `Array.prototype.some` method +// https://tc39.es/ecma262/#sec-array.prototype.some +$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { + some: function some(callbackfn /* , thisArg */) { + return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 188 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var deletePropertyOrThrow = __webpack_require__(145); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); +var internalSort = __webpack_require__(189); +var arrayMethodIsStrict = __webpack_require__(147); +var FF = __webpack_require__(190); +var IE_OR_EDGE = __webpack_require__(191); +var V8 = __webpack_require__(27); +var WEBKIT = __webpack_require__(192); + +var test = []; +var nativeSort = uncurryThis(test.sort); +var push = uncurryThis(test.push); + +// IE8- +var FAILS_ON_UNDEFINED = fails(function () { + test.sort(undefined); +}); +// V8 bug +var FAILS_ON_NULL = fails(function () { + test.sort(null); +}); +// Old WebKit +var STRICT_METHOD = arrayMethodIsStrict('sort'); + +var STABLE_SORT = !fails(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 70; + if (FF && FF > 3) return; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 603; + + var result = ''; + var code, chr, value, index; + + // generate an array with more 512 elements (Chakra and old V8 fails only in this case) + for (code = 65; code < 76; code++) { + chr = String.fromCharCode(code); + + switch (code) { + case 66: case 69: case 70: case 72: value = 3; break; + case 68: case 71: value = 4; break; + default: value = 2; + } + + for (index = 0; index < 47; index++) { + test.push({ k: chr + index, v: value }); + } + } + + test.sort(function (a, b) { return b.v - a.v; }); + + for (index = 0; index < test.length; index++) { + chr = test[index].k.charAt(0); + if (result.charAt(result.length - 1) !== chr) result += chr; + } + + return result !== 'DGBEFHACIJK'; +}); + +var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT; + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (y === undefined) return -1; + if (x === undefined) return 1; + if (comparefn !== undefined) return +comparefn(x, y) || 0; + return toString(x) > toString(y) ? 1 : -1; + }; +}; + +// `Array.prototype.sort` method +// https://tc39.es/ecma262/#sec-array.prototype.sort +$({ target: 'Array', proto: true, forced: FORCED }, { + sort: function sort(comparefn) { + if (comparefn !== undefined) aCallable(comparefn); + + var array = toObject(this); + + if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn); + + var items = []; + var arrayLength = lengthOfArrayLike(array); + var itemsLength, index; + + for (index = 0; index < arrayLength; index++) { + if (index in array) push(items, array[index]); + } + + internalSort(items, getSortCompare(comparefn)); + + itemsLength = lengthOfArrayLike(items); + index = 0; + + while (index < itemsLength) array[index] = items[index++]; + while (index < arrayLength) deletePropertyOrThrow(array, index++); + + return array; + } +}); + + +/***/ }), +/* 189 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arraySlice = __webpack_require__(76); + +var floor = Math.floor; + +var sort = function (array, comparefn) { + var length = array.length; + + if (length < 8) { + // insertion sort + var i = 1; + var element, j; + + while (i < length) { + j = i; + element = array[i]; + while (j && comparefn(array[j - 1], element) > 0) { + array[j] = array[--j]; + } + if (j !== i++) array[j] = element; + } + } else { + // merge sort + var middle = floor(length / 2); + var left = sort(arraySlice(array, 0, middle), comparefn); + var right = sort(arraySlice(array, middle), comparefn); + var llength = left.length; + var rlength = right.length; + var lindex = 0; + var rindex = 0; + + while (lindex < llength || rindex < rlength) { + array[lindex + rindex] = (lindex < llength && rindex < rlength) + ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++] + : lindex < llength ? left[lindex++] : right[rindex++]; + } + } + + return array; +}; + +module.exports = sort; + + +/***/ }), +/* 190 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +var firefox = userAgent.match(/firefox\/(\d+)/i); + +module.exports = !!firefox && +firefox[1]; + + +/***/ }), +/* 191 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var UA = __webpack_require__(28); + +module.exports = /MSIE|Trident/.test(UA); + + +/***/ }), +/* 192 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +var webkit = userAgent.match(/AppleWebKit\/(\d+)\./); + +module.exports = !!webkit && +webkit[1]; + + +/***/ }), +/* 193 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var setSpecies = __webpack_require__(194); + +// `Array[@@species]` getter +// https://tc39.es/ecma262/#sec-get-array-@@species +setSpecies('Array'); + + +/***/ }), +/* 194 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var defineBuiltInAccessor = __webpack_require__(77); +var wellKnownSymbol = __webpack_require__(33); +var DESCRIPTORS = __webpack_require__(6); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (CONSTRUCTOR_NAME) { + var Constructor = getBuiltIn(CONSTRUCTOR_NAME); + + if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { + defineBuiltInAccessor(Constructor, SPECIES, { + configurable: true, + get: function () { return this; } + }); + } +}; + + +/***/ }), +/* 195 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var toIntegerOrInfinity = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var doesNotExceedSafeInteger = __webpack_require__(140); +var arraySpeciesCreate = __webpack_require__(86); +var createProperty = __webpack_require__(141); +var deletePropertyOrThrow = __webpack_require__(145); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice'); + +var max = Math.max; +var min = Math.min; + +// `Array.prototype.splice` method +// https://tc39.es/ecma262/#sec-array.prototype.splice +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + splice: function splice(start, deleteCount /* , ...items */) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.length; + var insertCount, actualDeleteCount, A, k, from, to; + if (argumentsLength === 0) { + insertCount = actualDeleteCount = 0; + } else if (argumentsLength === 1) { + insertCount = 0; + actualDeleteCount = len - actualStart; + } else { + insertCount = argumentsLength - 2; + actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + } + doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); + A = arraySpeciesCreate(O, actualDeleteCount); + for (k = 0; k < actualDeleteCount; k++) { + from = actualStart + k; + if (from in O) createProperty(A, k, O[from]); + } + A.length = actualDeleteCount; + if (insertCount < actualDeleteCount) { + for (k = actualStart; k < len - actualDeleteCount; k++) { + from = k + actualDeleteCount; + to = k + insertCount; + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + } + for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1); + } else if (insertCount > actualDeleteCount) { + for (k = len - actualDeleteCount; k > actualStart; k--) { + from = k + actualDeleteCount - 1; + to = k + insertCount - 1; + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + } + } + for (k = 0; k < insertCount; k++) { + O[k + actualStart] = arguments[k + 2]; + } + setArrayLength(O, len - actualDeleteCount + insertCount); + return A; + } +}); + + +/***/ }), +/* 196 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var arrayToReversed = __webpack_require__(197); +var toIndexedObject = __webpack_require__(12); +var addToUnscopables = __webpack_require__(138); + +var $Array = Array; + +// `Array.prototype.toReversed` method +// https://tc39.es/ecma262/#sec-array.prototype.toreversed +$({ target: 'Array', proto: true }, { + toReversed: function toReversed() { + return arrayToReversed(toIndexedObject(this), $Array); + } +}); + +addToUnscopables('toReversed'); + + +/***/ }), +/* 197 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); + +// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed +// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed +module.exports = function (O, C) { + var len = lengthOfArrayLike(O); + var A = new C(len); + var k = 0; + for (; k < len; k++) A[k] = O[len - k - 1]; + return A; +}; + + +/***/ }), +/* 198 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var toIndexedObject = __webpack_require__(12); +var arrayFromConstructorAndList = __webpack_require__(199); +var getBuiltInPrototypeMethod = __webpack_require__(200); +var addToUnscopables = __webpack_require__(138); + +var $Array = Array; +var sort = uncurryThis(getBuiltInPrototypeMethod('Array', 'sort')); + +// `Array.prototype.toSorted` method +// https://tc39.es/ecma262/#sec-array.prototype.tosorted +$({ target: 'Array', proto: true }, { + toSorted: function toSorted(compareFn) { + if (compareFn !== undefined) aCallable(compareFn); + var O = toIndexedObject(this); + var A = arrayFromConstructorAndList($Array, O); + return sort(A, compareFn); + } +}); + +addToUnscopables('toSorted'); + + +/***/ }), +/* 199 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); + +module.exports = function (Constructor, list, $length) { + var index = 0; + var length = arguments.length > 2 ? $length : lengthOfArrayLike(list); + var result = new Constructor(length); + while (length > index) result[index] = list[index++]; + return result; +}; + + +/***/ }), +/* 200 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = function (CONSTRUCTOR, METHOD) { + var Constructor = globalThis[CONSTRUCTOR]; + var Prototype = Constructor && Constructor.prototype; + return Prototype && Prototype[METHOD]; +}; + + +/***/ }), +/* 201 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var addToUnscopables = __webpack_require__(138); +var doesNotExceedSafeInteger = __webpack_require__(140); +var lengthOfArrayLike = __webpack_require__(63); +var toAbsoluteIndex = __webpack_require__(60); +var toIndexedObject = __webpack_require__(12); +var toIntegerOrInfinity = __webpack_require__(61); + +var $Array = Array; +var max = Math.max; +var min = Math.min; + +// `Array.prototype.toSpliced` method +// https://tc39.es/ecma262/#sec-array.prototype.tospliced +$({ target: 'Array', proto: true }, { + toSpliced: function toSpliced(start, deleteCount /* , ...items */) { + var O = toIndexedObject(this); + var len = lengthOfArrayLike(O); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.length; + var k = 0; + var insertCount, actualDeleteCount, newLen, A; + if (argumentsLength === 0) { + insertCount = actualDeleteCount = 0; + } else if (argumentsLength === 1) { + insertCount = 0; + actualDeleteCount = len - actualStart; + } else { + insertCount = argumentsLength - 2; + actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + } + newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); + A = $Array(newLen); + + for (; k < actualStart; k++) A[k] = O[k]; + for (; k < actualStart + insertCount; k++) A[k] = arguments[k - actualStart + 2]; + for (; k < newLen; k++) A[k] = O[k + actualDeleteCount - insertCount]; + + return A; + } +}); + +addToUnscopables('toSpliced'); + + +/***/ }), +/* 202 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = __webpack_require__(138); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('flat'); + + +/***/ }), +/* 203 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = __webpack_require__(138); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('flatMap'); + + +/***/ }), +/* 204 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var deletePropertyOrThrow = __webpack_require__(145); +var doesNotExceedSafeInteger = __webpack_require__(140); + +// IE8- +var INCORRECT_RESULT = [].unshift(0) !== 1; + +// V8 ~ Chrome < 71 and Safari <= 15.4, FF < 23 throws InternalError +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).unshift(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_RESULT || !properErrorOnNonWritableLength(); + +// `Array.prototype.unshift` method +// https://tc39.es/ecma262/#sec-array.prototype.unshift +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + unshift: function unshift(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + if (argCount) { + doesNotExceedSafeInteger(len + argCount); + var k = len; + while (k--) { + var to = k + argCount; + if (k in O) O[to] = O[k]; + else deletePropertyOrThrow(O, to); + } + for (var j = 0; j < argCount; j++) { + O[j] = arguments[j]; + } + } return setArrayLength(O, len + argCount); + } +}); + + +/***/ }), +/* 205 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var arrayWith = __webpack_require__(206); +var toIndexedObject = __webpack_require__(12); + +var $Array = Array; + +// `Array.prototype.with` method +// https://tc39.es/ecma262/#sec-array.prototype.with +$({ target: 'Array', proto: true }, { + 'with': function (index, value) { + return arrayWith(toIndexedObject(this), $Array, index, value); + } +}); + + +/***/ }), +/* 206 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); + +var $RangeError = RangeError; + +// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with +// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with +module.exports = function (O, C, index, value) { + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex; + if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index'); + var A = new C(len); + var k = 0; + for (; k < len; k++) A[k] = k === actualIndex ? value : O[k]; + return A; +}; + + +/***/ }), +/* 207 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var arrayBufferModule = __webpack_require__(208); +var setSpecies = __webpack_require__(194); + +var ARRAY_BUFFER = 'ArrayBuffer'; +var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER]; +var NativeArrayBuffer = globalThis[ARRAY_BUFFER]; + +// `ArrayBuffer` constructor +// https://tc39.es/ecma262/#sec-arraybuffer-constructor +$({ global: true, constructor: true, forced: NativeArrayBuffer !== ArrayBuffer }, { + ArrayBuffer: ArrayBuffer +}); + +setSpecies(ARRAY_BUFFER); + + +/***/ }), +/* 208 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var DESCRIPTORS = __webpack_require__(6); +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); +var FunctionName = __webpack_require__(49); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var fails = __webpack_require__(7); +var anInstance = __webpack_require__(211); +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); +var toIndex = __webpack_require__(212); +var fround = __webpack_require__(213); +var IEEE754 = __webpack_require__(216); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var arrayFill = __webpack_require__(149); +var arraySlice = __webpack_require__(76); +var inheritIfRequired = __webpack_require__(118); +var copyConstructorProperties = __webpack_require__(55); +var setToStringTag = __webpack_require__(82); +var InternalStateModule = __webpack_require__(51); + +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +var ARRAY_BUFFER = 'ArrayBuffer'; +var DATA_VIEW = 'DataView'; +var PROTOTYPE = 'prototype'; +var WRONG_LENGTH = 'Wrong length'; +var WRONG_INDEX = 'Wrong index'; +var getInternalArrayBufferState = InternalStateModule.getterFor(ARRAY_BUFFER); +var getInternalDataViewState = InternalStateModule.getterFor(DATA_VIEW); +var setInternalState = InternalStateModule.set; +var NativeArrayBuffer = globalThis[ARRAY_BUFFER]; +var $ArrayBuffer = NativeArrayBuffer; +var ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE]; +var $DataView = globalThis[DATA_VIEW]; +var DataViewPrototype = $DataView && $DataView[PROTOTYPE]; +var ObjectPrototype = Object.prototype; +var Array = globalThis.Array; +var RangeError = globalThis.RangeError; +var fill = uncurryThis(arrayFill); +var reverse = uncurryThis([].reverse); + +var packIEEE754 = IEEE754.pack; +var unpackIEEE754 = IEEE754.unpack; + +var packInt8 = function (number) { + return [number & 0xFF]; +}; + +var packInt16 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF]; +}; + +var packInt32 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF]; +}; + +var unpackInt32 = function (buffer) { + return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0]; +}; + +var packFloat32 = function (number) { + return packIEEE754(fround(number), 23, 4); +}; + +var packFloat64 = function (number) { + return packIEEE754(number, 52, 8); +}; + +var addGetter = function (Constructor, key, getInternalState) { + defineBuiltInAccessor(Constructor[PROTOTYPE], key, { + configurable: true, + get: function () { + return getInternalState(this)[key]; + } + }); +}; + +var get = function (view, count, index, isLittleEndian) { + var store = getInternalDataViewState(view); + var intIndex = toIndex(index); + var boolIsLittleEndian = !!isLittleEndian; + if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX); + var bytes = store.bytes; + var start = intIndex + store.byteOffset; + var pack = arraySlice(bytes, start, start + count); + return boolIsLittleEndian ? pack : reverse(pack); +}; + +var set = function (view, count, index, conversion, value, isLittleEndian) { + var store = getInternalDataViewState(view); + var intIndex = toIndex(index); + var pack = conversion(+value); + var boolIsLittleEndian = !!isLittleEndian; + if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX); + var bytes = store.bytes; + var start = intIndex + store.byteOffset; + for (var i = 0; i < count; i++) bytes[start + i] = pack[boolIsLittleEndian ? i : count - i - 1]; +}; + +if (!NATIVE_ARRAY_BUFFER) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, ArrayBufferPrototype); + var byteLength = toIndex(length); + setInternalState(this, { + type: ARRAY_BUFFER, + bytes: fill(Array(byteLength), 0), + byteLength: byteLength + }); + if (!DESCRIPTORS) { + this.byteLength = byteLength; + this.detached = false; + } + }; + + ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE]; + + $DataView = function DataView(buffer, byteOffset, byteLength) { + anInstance(this, DataViewPrototype); + anInstance(buffer, ArrayBufferPrototype); + var bufferState = getInternalArrayBufferState(buffer); + var bufferLength = bufferState.byteLength; + var offset = toIntegerOrInfinity(byteOffset); + if (offset < 0 || offset > bufferLength) throw new RangeError('Wrong offset'); + byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); + if (offset + byteLength > bufferLength) throw new RangeError(WRONG_LENGTH); + setInternalState(this, { + type: DATA_VIEW, + buffer: buffer, + byteLength: byteLength, + byteOffset: offset, + bytes: bufferState.bytes + }); + if (!DESCRIPTORS) { + this.buffer = buffer; + this.byteLength = byteLength; + this.byteOffset = offset; + } + }; + + DataViewPrototype = $DataView[PROTOTYPE]; + + if (DESCRIPTORS) { + addGetter($ArrayBuffer, 'byteLength', getInternalArrayBufferState); + addGetter($DataView, 'buffer', getInternalDataViewState); + addGetter($DataView, 'byteLength', getInternalDataViewState); + addGetter($DataView, 'byteOffset', getInternalDataViewState); + } + + defineBuiltIns(DataViewPrototype, { + getInt8: function getInt8(byteOffset) { + return get(this, 1, byteOffset)[0] << 24 >> 24; + }, + getUint8: function getUint8(byteOffset) { + return get(this, 1, byteOffset)[0]; + }, + getInt16: function getInt16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false); + return (bytes[1] << 8 | bytes[0]) << 16 >> 16; + }, + getUint16: function getUint16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false); + return bytes[1] << 8 | bytes[0]; + }, + getInt32: function getInt32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)); + }, + getUint32: function getUint32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)) >>> 0; + }, + getFloat32: function getFloat32(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false), 23); + }, + getFloat64: function getFloat64(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : false), 52); + }, + setInt8: function setInt8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setUint8: function setUint8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setInt16: function setInt16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false); + }, + setUint16: function setUint16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false); + }, + setInt32: function setInt32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false); + }, + setUint32: function setUint32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false); + }, + setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : false); + }, + setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { + set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : false); + } + }); +} else { + var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER; + /* eslint-disable no-new, sonarjs/inconsistent-function-call -- required for testing */ + if (!fails(function () { + NativeArrayBuffer(1); + }) || !fails(function () { + new NativeArrayBuffer(-1); + }) || fails(function () { + new NativeArrayBuffer(); + new NativeArrayBuffer(1.5); + new NativeArrayBuffer(NaN); + return NativeArrayBuffer.length !== 1 || INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME; + })) { + /* eslint-enable no-new, sonarjs/inconsistent-function-call -- required for testing */ + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, ArrayBufferPrototype); + return inheritIfRequired(new NativeArrayBuffer(toIndex(length)), this, $ArrayBuffer); + }; + + $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype; + + ArrayBufferPrototype.constructor = $ArrayBuffer; + + copyConstructorProperties($ArrayBuffer, NativeArrayBuffer); + } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER); + } + + // WebKit bug - the same parent prototype for typed arrays and data view + if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) { + setPrototypeOf(DataViewPrototype, ObjectPrototype); + } + + // iOS Safari 7.x bug + var testView = new $DataView(new $ArrayBuffer(2)); + var $setInt8 = uncurryThis(DataViewPrototype.setInt8); + testView.setInt8(0, 2147483648); + testView.setInt8(1, 2147483649); + if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, { + setInt8: function setInt8(byteOffset, value) { + $setInt8(this, byteOffset, value << 24 >> 24); + }, + setUint8: function setUint8(byteOffset, value) { + $setInt8(this, byteOffset, value << 24 >> 24); + } + }, { unsafe: true }); +} + +setToStringTag($ArrayBuffer, ARRAY_BUFFER); +setToStringTag($DataView, DATA_VIEW); + +module.exports = { + ArrayBuffer: $ArrayBuffer, + DataView: $DataView +}; + + +/***/ }), +/* 209 */ +/***/ (function(module) { + + +// eslint-disable-next-line es/no-typed-arrays -- safe +module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; + + +/***/ }), +/* 210 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); + +module.exports = function (target, src, options) { + for (var key in src) defineBuiltIn(target, key, src[key], options); + return target; +}; + + +/***/ }), +/* 211 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isPrototypeOf = __webpack_require__(24); + +var $TypeError = TypeError; + +module.exports = function (it, Prototype) { + if (isPrototypeOf(Prototype, it)) return it; + throw new $TypeError('Incorrect invocation'); +}; + + +/***/ }), +/* 212 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); + +var $RangeError = RangeError; + +// `ToIndex` abstract operation +// https://tc39.es/ecma262/#sec-toindex +module.exports = function (it) { + if (it === undefined) return 0; + var number = toIntegerOrInfinity(it); + var length = toLength(number); + if (number !== length) throw new $RangeError('Wrong length or index'); + return length; +}; + + +/***/ }), +/* 213 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var floatRound = __webpack_require__(214); + +var FLOAT32_EPSILON = 1.1920928955078125e-7; // 2 ** -23; +var FLOAT32_MAX_VALUE = 3.4028234663852886e+38; // 2 ** 128 - 2 ** 104 +var FLOAT32_MIN_VALUE = 1.1754943508222875e-38; // 2 ** -126; + +// `Math.fround` method implementation +// https://tc39.es/ecma262/#sec-math.fround +// eslint-disable-next-line es/no-math-fround -- safe +module.exports = Math.fround || function fround(x) { + return floatRound(x, FLOAT32_EPSILON, FLOAT32_MAX_VALUE, FLOAT32_MIN_VALUE); +}; + + +/***/ }), +/* 214 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var sign = __webpack_require__(215); + +var abs = Math.abs; + +var EPSILON = 2.220446049250313e-16; // Number.EPSILON +var INVERSE_EPSILON = 1 / EPSILON; + +var roundTiesToEven = function (n) { + return n + INVERSE_EPSILON - INVERSE_EPSILON; +}; + +module.exports = function (x, FLOAT_EPSILON, FLOAT_MAX_VALUE, FLOAT_MIN_VALUE) { + var n = +x; + var absolute = abs(n); + var s = sign(n); + if (absolute < FLOAT_MIN_VALUE) return s * roundTiesToEven(absolute / FLOAT_MIN_VALUE / FLOAT_EPSILON) * FLOAT_MIN_VALUE * FLOAT_EPSILON; + var a = (1 + FLOAT_EPSILON / EPSILON) * absolute; + var result = a - (a - absolute); + // eslint-disable-next-line no-self-compare -- NaN check + if (result > FLOAT_MAX_VALUE || result !== result) return s * Infinity; + return s * result; +}; + + +/***/ }), +/* 215 */ +/***/ (function(module) { + + +// `Math.sign` method implementation +// https://tc39.es/ecma262/#sec-math.sign +// eslint-disable-next-line es/no-math-sign -- safe +module.exports = Math.sign || function sign(x) { + var n = +x; + // eslint-disable-next-line no-self-compare -- NaN check + return n === 0 || n !== n ? n : n < 0 ? -1 : 1; +}; + + +/***/ }), +/* 216 */ +/***/ (function(module) { + + +// IEEE754 conversions based on https://github.com/feross/ieee754 +var $Array = Array; +var abs = Math.abs; +var pow = Math.pow; +var floor = Math.floor; +var log = Math.log; +var LN2 = Math.LN2; + +var pack = function (number, mantissaLength, bytes) { + var buffer = $Array(bytes); + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0; + var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0; + var index = 0; + var exponent, mantissa, c; + number = abs(number); + // eslint-disable-next-line no-self-compare -- NaN check + if (number !== number || number === Infinity) { + // eslint-disable-next-line no-self-compare -- NaN check + mantissa = number !== number ? 1 : 0; + exponent = eMax; + } else { + exponent = floor(log(number) / LN2); + c = pow(2, -exponent); + if (number * c < 1) { + exponent--; + c *= 2; + } + if (exponent + eBias >= 1) { + number += rt / c; + } else { + number += rt * pow(2, 1 - eBias); + } + if (number * c >= 2) { + exponent++; + c /= 2; + } + if (exponent + eBias >= eMax) { + mantissa = 0; + exponent = eMax; + } else if (exponent + eBias >= 1) { + mantissa = (number * c - 1) * pow(2, mantissaLength); + exponent += eBias; + } else { + mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength); + exponent = 0; + } + } + while (mantissaLength >= 8) { + buffer[index++] = mantissa & 255; + mantissa /= 256; + mantissaLength -= 8; + } + exponent = exponent << mantissaLength | mantissa; + exponentLength += mantissaLength; + while (exponentLength > 0) { + buffer[index++] = exponent & 255; + exponent /= 256; + exponentLength -= 8; + } + buffer[index - 1] |= sign * 128; + return buffer; +}; + +var unpack = function (buffer, mantissaLength) { + var bytes = buffer.length; + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var nBits = exponentLength - 7; + var index = bytes - 1; + var sign = buffer[index--]; + var exponent = sign & 127; + var mantissa; + sign >>= 7; + while (nBits > 0) { + exponent = exponent * 256 + buffer[index--]; + nBits -= 8; + } + mantissa = exponent & (1 << -nBits) - 1; + exponent >>= -nBits; + nBits += mantissaLength; + while (nBits > 0) { + mantissa = mantissa * 256 + buffer[index--]; + nBits -= 8; + } + if (exponent === 0) { + exponent = 1 - eBias; + } else if (exponent === eMax) { + return mantissa ? NaN : sign ? -Infinity : Infinity; + } else { + mantissa += pow(2, mantissaLength); + exponent -= eBias; + } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength); +}; + +module.exports = { + pack: pack, + unpack: unpack +}; + + +/***/ }), +/* 217 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ArrayBufferViewCore = __webpack_require__(218); + +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; + +// `ArrayBuffer.isView` method +// https://tc39.es/ecma262/#sec-arraybuffer.isview +$({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + isView: ArrayBufferViewCore.isView +}); + + +/***/ }), +/* 218 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var classof = __webpack_require__(69); +var tryToString = __webpack_require__(31); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var isPrototypeOf = __webpack_require__(24); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var wellKnownSymbol = __webpack_require__(33); +var uid = __webpack_require__(40); +var InternalStateModule = __webpack_require__(51); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var Int8Array = globalThis.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var Uint8ClampedArray = globalThis.Uint8ClampedArray; +var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; +var TypedArray = Int8Array && getPrototypeOf(Int8Array); +var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype); +var ObjectPrototype = Object.prototype; +var TypeError = globalThis.TypeError; + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); +var TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor'; +// Fixing native typed arrays in Opera Presto crashes the browser, see #595 +var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(globalThis.opera) !== 'Opera'; +var TYPED_ARRAY_TAG_REQUIRED = false; +var NAME, Constructor, Prototype; + +var TypedArrayConstructorsList = { + Int8Array: 1, + Uint8Array: 1, + Uint8ClampedArray: 1, + Int16Array: 2, + Uint16Array: 2, + Int32Array: 4, + Uint32Array: 4, + Float32Array: 4, + Float64Array: 8 +}; + +var BigIntArrayConstructorsList = { + BigInt64Array: 8, + BigUint64Array: 8 +}; + +var isView = function isView(it) { + if (!isObject(it)) return false; + var klass = classof(it); + return klass === 'DataView' + || hasOwn(TypedArrayConstructorsList, klass) + || hasOwn(BigIntArrayConstructorsList, klass); +}; + +var getTypedArrayConstructor = function (it) { + var proto = getPrototypeOf(it); + if (!isObject(proto)) return; + var state = getInternalState(proto); + return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto); +}; + +var isTypedArray = function (it) { + if (!isObject(it)) return false; + var klass = classof(it); + return hasOwn(TypedArrayConstructorsList, klass) + || hasOwn(BigIntArrayConstructorsList, klass); +}; + +var aTypedArray = function (it) { + if (isTypedArray(it)) return it; + throw new TypeError('Target is not a typed array'); +}; + +var aTypedArrayConstructor = function (C) { + if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C; + throw new TypeError(tryToString(C) + ' is not a typed array constructor'); +}; + +var exportTypedArrayMethod = function (KEY, property, forced, options) { + if (!DESCRIPTORS) return; + if (forced) for (var ARRAY in TypedArrayConstructorsList) { + var TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try { + delete TypedArrayConstructor.prototype[KEY]; + } catch (error) { + // old WebKit bug - some methods are non-configurable + try { + TypedArrayConstructor.prototype[KEY] = property; + } catch (error2) { /* empty */ } + } + } + if (!TypedArrayPrototype[KEY] || forced) { + defineBuiltIn(TypedArrayPrototype, KEY, forced ? property + : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options); + } +}; + +var exportTypedArrayStaticMethod = function (KEY, property, forced) { + var ARRAY, TypedArrayConstructor; + if (!DESCRIPTORS) return; + if (setPrototypeOf) { + if (forced) for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try { + delete TypedArrayConstructor[KEY]; + } catch (error) { /* empty */ } + } + if (!TypedArray[KEY] || forced) { + // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable + try { + return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property); + } catch (error) { /* empty */ } + } else return; + } + for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { + defineBuiltIn(TypedArrayConstructor, KEY, property); + } + } +}; + +for (NAME in TypedArrayConstructorsList) { + Constructor = globalThis[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; + else NATIVE_ARRAY_BUFFER_VIEWS = false; +} + +for (NAME in BigIntArrayConstructorsList) { + Constructor = globalThis[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; +} + +// WebKit bug - typed arrays constructors prototype is Object.prototype +if (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) { + // eslint-disable-next-line no-shadow -- safe + TypedArray = function TypedArray() { + throw new TypeError('Incorrect invocation'); + }; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (globalThis[NAME]) setPrototypeOf(globalThis[NAME], TypedArray); + } +} + +if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) { + TypedArrayPrototype = TypedArray.prototype; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (globalThis[NAME]) setPrototypeOf(globalThis[NAME].prototype, TypedArrayPrototype); + } +} + +// WebKit bug - one more object in Uint8ClampedArray prototype chain +if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { + setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); +} + +if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) { + TYPED_ARRAY_TAG_REQUIRED = true; + defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, { + configurable: true, + get: function () { + return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; + } + }); + for (NAME in TypedArrayConstructorsList) if (globalThis[NAME]) { + createNonEnumerableProperty(globalThis[NAME], TYPED_ARRAY_TAG, NAME); + } +} + +module.exports = { + NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, + TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG, + aTypedArray: aTypedArray, + aTypedArrayConstructor: aTypedArrayConstructor, + exportTypedArrayMethod: exportTypedArrayMethod, + exportTypedArrayStaticMethod: exportTypedArrayStaticMethod, + getTypedArrayConstructor: getTypedArrayConstructor, + isView: isView, + isTypedArray: isTypedArray, + TypedArray: TypedArray, + TypedArrayPrototype: TypedArrayPrototype +}; + + +/***/ }), +/* 219 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var fails = __webpack_require__(7); +var ArrayBufferModule = __webpack_require__(208); +var anObject = __webpack_require__(46); +var toAbsoluteIndex = __webpack_require__(60); +var toLength = __webpack_require__(64); + +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var DataView = ArrayBufferModule.DataView; +var DataViewPrototype = DataView.prototype; +var nativeArrayBufferSlice = uncurryThis(ArrayBuffer.prototype.slice); +var getUint8 = uncurryThis(DataViewPrototype.getUint8); +var setUint8 = uncurryThis(DataViewPrototype.setUint8); + +var INCORRECT_SLICE = fails(function () { + return !new ArrayBuffer(2).slice(1, undefined).byteLength; +}); + +// `ArrayBuffer.prototype.slice` method +// https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice +$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, { + slice: function slice(start, end) { + if (nativeArrayBufferSlice && end === undefined) { + return nativeArrayBufferSlice(anObject(this), start); // FF fix + } + var length = anObject(this).byteLength; + var first = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + var result = new ArrayBuffer(toLength(fin - first)); + var viewSource = new DataView(this); + var viewTarget = new DataView(result); + var index = 0; + while (first < fin) { + setUint8(viewTarget, index++, getUint8(viewSource, first++)); + } return result; + } +}); + + +/***/ }), +/* 220 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(221); + + +/***/ }), +/* 221 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ArrayBufferModule = __webpack_require__(208); +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); + +// `DataView` constructor +// https://tc39.es/ecma262/#sec-dataview-constructor +$({ global: true, constructor: true, forced: !NATIVE_ARRAY_BUFFER }, { + DataView: ArrayBufferModule.DataView +}); + + +/***/ }), +/* 222 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var isDetached = __webpack_require__(223); + +var ArrayBufferPrototype = ArrayBuffer.prototype; + +// `ArrayBuffer.prototype.detached` getter +// https://tc39.es/ecma262/#sec-get-arraybuffer.prototype.detached +if (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) { + defineBuiltInAccessor(ArrayBufferPrototype, 'detached', { + configurable: true, + get: function detached() { + return isDetached(this); + } + }); +} + + +/***/ }), +/* 223 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(85); +var arrayBufferByteLength = __webpack_require__(224); + +var ArrayBuffer = globalThis.ArrayBuffer; +var ArrayBufferPrototype = ArrayBuffer && ArrayBuffer.prototype; +var slice = ArrayBufferPrototype && uncurryThis(ArrayBufferPrototype.slice); + +module.exports = function (O) { + if (arrayBufferByteLength(O) !== 0) return false; + if (!slice) return false; + try { + slice(O, 0, 0); + return false; + } catch (error) { + return true; + } +}; + + +/***/ }), +/* 224 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThisAccessor = __webpack_require__(114); +var classof = __webpack_require__(15); + +var ArrayBuffer = globalThis.ArrayBuffer; +var TypeError = globalThis.TypeError; + +// Includes +// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]). +// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception. +module.exports = ArrayBuffer && uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) { + if (classof(O) !== 'ArrayBuffer') throw new TypeError('ArrayBuffer expected'); + return O.byteLength; +}; + + +/***/ }), +/* 225 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $transfer = __webpack_require__(226); + +// `ArrayBuffer.prototype.transfer` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transfer: function transfer() { + return $transfer(this, arguments.length ? arguments[0] : undefined, true); + } +}); + + +/***/ }), +/* 226 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var uncurryThisAccessor = __webpack_require__(114); +var toIndex = __webpack_require__(212); +var notDetached = __webpack_require__(227); +var arrayBufferByteLength = __webpack_require__(224); +var detachTransferable = __webpack_require__(228); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var structuredClone = globalThis.structuredClone; +var ArrayBuffer = globalThis.ArrayBuffer; +var DataView = globalThis.DataView; +var min = Math.min; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataViewPrototype = DataView.prototype; +var slice = uncurryThis(ArrayBufferPrototype.slice); +var isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get'); +var maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get'); +var getInt8 = uncurryThis(DataViewPrototype.getInt8); +var setInt8 = uncurryThis(DataViewPrototype.setInt8); + +module.exports = (PROPER_STRUCTURED_CLONE_TRANSFER || detachTransferable) && function (arrayBuffer, newLength, preserveResizability) { + var byteLength = arrayBufferByteLength(arrayBuffer); + var newByteLength = newLength === undefined ? byteLength : toIndex(newLength); + var fixedLength = !isResizable || !isResizable(arrayBuffer); + var newBuffer; + notDetached(arrayBuffer); + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + arrayBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] }); + if (byteLength === newByteLength && (preserveResizability || fixedLength)) return arrayBuffer; + } + if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) { + newBuffer = slice(arrayBuffer, 0, newByteLength); + } else { + var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(arrayBuffer) } : undefined; + newBuffer = new ArrayBuffer(newByteLength, options); + var a = new DataView(arrayBuffer); + var b = new DataView(newBuffer); + var copyLength = min(newByteLength, byteLength); + for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i)); + } + if (!PROPER_STRUCTURED_CLONE_TRANSFER) detachTransferable(arrayBuffer); + return newBuffer; +}; + + +/***/ }), +/* 227 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isDetached = __webpack_require__(223); + +var $TypeError = TypeError; + +module.exports = function (it) { + if (isDetached(it)) throw new $TypeError('ArrayBuffer is detached'); + return it; +}; + + +/***/ }), +/* 228 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var getBuiltInNodeModule = __webpack_require__(229); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var structuredClone = globalThis.structuredClone; +var $ArrayBuffer = globalThis.ArrayBuffer; +var $MessageChannel = globalThis.MessageChannel; +var detach = false; +var WorkerThreads, channel, buffer, $detach; + +if (PROPER_STRUCTURED_CLONE_TRANSFER) { + detach = function (transferable) { + structuredClone(transferable, { transfer: [transferable] }); + }; +} else if ($ArrayBuffer) try { + if (!$MessageChannel) { + WorkerThreads = getBuiltInNodeModule('worker_threads'); + if (WorkerThreads) $MessageChannel = WorkerThreads.MessageChannel; + } + + if ($MessageChannel) { + channel = new $MessageChannel(); + buffer = new $ArrayBuffer(2); + + $detach = function (transferable) { + channel.port1.postMessage(null, [transferable]); + }; + + if (buffer.byteLength === 2) { + $detach(buffer); + if (buffer.byteLength === 0) detach = $detach; + } + } +} catch (error) { /* empty */ } + +module.exports = detach; + + +/***/ }), +/* 229 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var IS_NODE = __webpack_require__(182); + +module.exports = function (name) { + if (IS_NODE) { + try { + return globalThis.process.getBuiltinModule(name); + } catch (error) { /* empty */ } + try { + // eslint-disable-next-line no-new-func -- safe + return Function('return require("' + name + '")')(); + } catch (error) { /* empty */ } + } +}; + + +/***/ }), +/* 230 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var V8 = __webpack_require__(27); +var ENVIRONMENT = __webpack_require__(183); + +var structuredClone = globalThis.structuredClone; + +module.exports = !!structuredClone && !fails(function () { + // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if ((ENVIRONMENT === 'DENO' && V8 > 92) || (ENVIRONMENT === 'NODE' && V8 > 94) || (ENVIRONMENT === 'BROWSER' && V8 > 97)) return false; + var buffer = new ArrayBuffer(8); + var clone = structuredClone(buffer, { transfer: [buffer] }); + return buffer.byteLength !== 0 || clone.byteLength !== 8; +}); + + +/***/ }), +/* 231 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $transfer = __webpack_require__(226); + +// `ArrayBuffer.prototype.transferToFixedLength` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transferToFixedLength: function transferToFixedLength() { + return $transfer(this, arguments.length ? arguments[0] : undefined, false); + } +}); + + +/***/ }), +/* 232 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); + +// IE8- non-standard case +var FORCED = fails(function () { + // eslint-disable-next-line es/no-date-prototype-getyear-setyear -- detection + return new Date(16e11).getYear() !== 120; +}); + +var getFullYear = uncurryThis(Date.prototype.getFullYear); + +// `Date.prototype.getYear` method +// https://tc39.es/ecma262/#sec-date.prototype.getyear +$({ target: 'Date', proto: true, forced: FORCED }, { + getYear: function getYear() { + return getFullYear(this) - 1900; + } +}); + + +/***/ }), +/* 233 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); + +var $Date = Date; +var thisTimeValue = uncurryThis($Date.prototype.getTime); + +// `Date.now` method +// https://tc39.es/ecma262/#sec-date.now +$({ target: 'Date', stat: true }, { + now: function now() { + return thisTimeValue(new $Date()); + } +}); + + +/***/ }), +/* 234 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); + +var DatePrototype = Date.prototype; +var thisTimeValue = uncurryThis(DatePrototype.getTime); +var setFullYear = uncurryThis(DatePrototype.setFullYear); + +// `Date.prototype.setYear` method +// https://tc39.es/ecma262/#sec-date.prototype.setyear +$({ target: 'Date', proto: true }, { + setYear: function setYear(year) { + // validate + thisTimeValue(this); + var yi = toIntegerOrInfinity(year); + var yyyy = yi >= 0 && yi <= 99 ? yi + 1900 : yi; + return setFullYear(this, yyyy); + } +}); + + +/***/ }), +/* 235 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Date.prototype.toGMTString` method +// https://tc39.es/ecma262/#sec-date.prototype.togmtstring +$({ target: 'Date', proto: true }, { + toGMTString: Date.prototype.toUTCString +}); + + +/***/ }), +/* 236 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toISOString = __webpack_require__(237); + +// `Date.prototype.toISOString` method +// https://tc39.es/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit has a broken implementations +$({ target: 'Date', proto: true, forced: Date.prototype.toISOString !== toISOString }, { + toISOString: toISOString +}); + + +/***/ }), +/* 237 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var padStart = (__webpack_require__(238).start); + +var $RangeError = RangeError; +var $isFinite = isFinite; +var abs = Math.abs; +var DatePrototype = Date.prototype; +var nativeDateToISOString = DatePrototype.toISOString; +var thisTimeValue = uncurryThis(DatePrototype.getTime); +var getUTCDate = uncurryThis(DatePrototype.getUTCDate); +var getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear); +var getUTCHours = uncurryThis(DatePrototype.getUTCHours); +var getUTCMilliseconds = uncurryThis(DatePrototype.getUTCMilliseconds); +var getUTCMinutes = uncurryThis(DatePrototype.getUTCMinutes); +var getUTCMonth = uncurryThis(DatePrototype.getUTCMonth); +var getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds); + +// `Date.prototype.toISOString` method implementation +// https://tc39.es/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit fails here: +module.exports = (fails(function () { + return nativeDateToISOString.call(new Date(-5e13 - 1)) !== '0385-07-25T07:06:39.999Z'; +}) || !fails(function () { + nativeDateToISOString.call(new Date(NaN)); +})) ? function toISOString() { + if (!$isFinite(thisTimeValue(this))) throw new $RangeError('Invalid time value'); + var date = this; + var year = getUTCFullYear(date); + var milliseconds = getUTCMilliseconds(date); + var sign = year < 0 ? '-' : year > 9999 ? '+' : ''; + return sign + padStart(abs(year), sign ? 6 : 4, 0) + + '-' + padStart(getUTCMonth(date) + 1, 2, 0) + + '-' + padStart(getUTCDate(date), 2, 0) + + 'T' + padStart(getUTCHours(date), 2, 0) + + ':' + padStart(getUTCMinutes(date), 2, 0) + + ':' + padStart(getUTCSeconds(date), 2, 0) + + '.' + padStart(milliseconds, 3, 0) + + 'Z'; +} : nativeDateToISOString; + + +/***/ }), +/* 238 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// https://github.com/tc39/proposal-string-pad-start-end +var uncurryThis = __webpack_require__(14); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var $repeat = __webpack_require__(239); +var requireObjectCoercible = __webpack_require__(16); + +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); +var ceil = Math.ceil; + +// `String.prototype.{ padStart, padEnd }` methods implementation +var createMethod = function (IS_END) { + return function ($this, maxLength, fillString) { + var S = toString(requireObjectCoercible($this)); + var intMaxLength = toLength(maxLength); + var stringLength = S.length; + var fillStr = fillString === undefined ? ' ' : toString(fillString); + var fillLen, stringFiller; + if (intMaxLength <= stringLength || fillStr === '') return S; + fillLen = intMaxLength - stringLength; + stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen); + return IS_END ? S + stringFiller : stringFiller + S; + }; +}; + +module.exports = { + // `String.prototype.padStart` method + // https://tc39.es/ecma262/#sec-string.prototype.padstart + start: createMethod(false), + // `String.prototype.padEnd` method + // https://tc39.es/ecma262/#sec-string.prototype.padend + end: createMethod(true) +}; + + +/***/ }), +/* 239 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); + +var $RangeError = RangeError; + +// `String.prototype.repeat` method implementation +// https://tc39.es/ecma262/#sec-string.prototype.repeat +module.exports = function repeat(count) { + var str = toString(requireObjectCoercible(this)); + var result = ''; + var n = toIntegerOrInfinity(count); + if (n < 0 || n === Infinity) throw new $RangeError('Wrong number of repetitions'); + for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str; + return result; +}; + + +/***/ }), +/* 240 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toObject = __webpack_require__(39); +var toPrimitive = __webpack_require__(19); + +var FORCED = fails(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; +}); + +// `Date.prototype.toJSON` method +// https://tc39.es/ecma262/#sec-date.prototype.tojson +$({ target: 'Date', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O, 'number'); + return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); + } +}); + + +/***/ }), +/* 241 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var defineBuiltIn = __webpack_require__(47); +var dateToPrimitive = __webpack_require__(242); +var wellKnownSymbol = __webpack_require__(33); + +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +var DatePrototype = Date.prototype; + +// `Date.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive +if (!hasOwn(DatePrototype, TO_PRIMITIVE)) { + defineBuiltIn(DatePrototype, TO_PRIMITIVE, dateToPrimitive); +} + + +/***/ }), +/* 242 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var ordinaryToPrimitive = __webpack_require__(32); + +var $TypeError = TypeError; + +// `Date.prototype[@@toPrimitive](hint)` method implementation +// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive +module.exports = function (hint) { + anObject(this); + if (hint === 'string' || hint === 'default') hint = 'string'; + else if (hint !== 'number') throw new $TypeError('Incorrect hint'); + return ordinaryToPrimitive(this, hint); +}; + + +/***/ }), +/* 243 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var uncurryThis = __webpack_require__(14); +var defineBuiltIn = __webpack_require__(47); + +var DatePrototype = Date.prototype; +var INVALID_DATE = 'Invalid Date'; +var TO_STRING = 'toString'; +var nativeDateToString = uncurryThis(DatePrototype[TO_STRING]); +var thisTimeValue = uncurryThis(DatePrototype.getTime); + +// `Date.prototype.toString` method +// https://tc39.es/ecma262/#sec-date.prototype.tostring +if (String(new Date(NaN)) !== INVALID_DATE) { + defineBuiltIn(DatePrototype, TO_STRING, function toString() { + var value = thisTimeValue(this); + // eslint-disable-next-line no-self-compare -- NaN check + return value === value ? nativeDateToString(this) : INVALID_DATE; + }); +} + + +/***/ }), +/* 244 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); + +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var exec = uncurryThis(/./.exec); +var numberToString = uncurryThis(1.0.toString); +var toUpperCase = uncurryThis(''.toUpperCase); + +var raw = /[\w*+\-./@]/; + +var hex = function (code, length) { + var result = numberToString(code, 16); + while (result.length < length) result = '0' + result; + return result; +}; + +// `escape` method +// https://tc39.es/ecma262/#sec-escape-string +$({ global: true }, { + escape: function escape(string) { + var str = toString(string); + var result = ''; + var length = str.length; + var index = 0; + var chr, code; + while (index < length) { + chr = charAt(str, index++); + if (exec(raw, chr)) { + result += chr; + } else { + code = charCodeAt(chr, 0); + if (code < 256) { + result += '%' + hex(code, 2); + } else { + result += '%u' + toUpperCase(hex(code, 4)); + } + } + } return result; + } +}); + + +/***/ }), +/* 245 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var bind = __webpack_require__(246); + +// `Function.prototype.bind` method +// https://tc39.es/ecma262/#sec-function.prototype.bind +// eslint-disable-next-line es/no-function-prototype-bind -- detection +$({ target: 'Function', proto: true, forced: Function.bind !== bind }, { + bind: bind +}); + + +/***/ }), +/* 246 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var arraySlice = __webpack_require__(76); +var NATIVE_BIND = __webpack_require__(9); + +var $Function = Function; +var concat = uncurryThis([].concat); +var join = uncurryThis([].join); +var factories = {}; + +var construct = function (C, argsLength, args) { + if (!hasOwn(factories, argsLength)) { + var list = []; + var i = 0; + for (; i < argsLength; i++) list[i] = 'a[' + i + ']'; + factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')'); + } return factories[argsLength](C, args); +}; + +// `Function.prototype.bind` method implementation +// https://tc39.es/ecma262/#sec-function.prototype.bind +// eslint-disable-next-line es/no-function-prototype-bind -- detection +module.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) { + var F = aCallable(this); + var Prototype = F.prototype; + var partArgs = arraySlice(arguments, 1); + var boundFunction = function bound(/* args... */) { + var args = concat(partArgs, arraySlice(arguments)); + return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args); + }; + if (isObject(Prototype)) boundFunction.prototype = Prototype; + return boundFunction; +}; + + +/***/ }), +/* 247 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var definePropertyModule = __webpack_require__(44); +var isPrototypeOf = __webpack_require__(24); +var wellKnownSymbol = __webpack_require__(33); +var makeBuiltIn = __webpack_require__(48); + +var HAS_INSTANCE = wellKnownSymbol('hasInstance'); +var FunctionPrototype = Function.prototype; + +// `Function.prototype[@@hasInstance]` method +// https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance +if (!(HAS_INSTANCE in FunctionPrototype)) { + definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: makeBuiltIn(function (O) { + if (!isCallable(this) || !isObject(O)) return false; + var P = this.prototype; + return isObject(P) ? isPrototypeOf(P, O) : O instanceof this; + }, HAS_INSTANCE) }); +} + + +/***/ }), +/* 248 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var FUNCTION_NAME_EXISTS = (__webpack_require__(49).EXISTS); +var uncurryThis = __webpack_require__(14); +var defineBuiltInAccessor = __webpack_require__(77); + +var FunctionPrototype = Function.prototype; +var functionToString = uncurryThis(FunctionPrototype.toString); +var nameRE = /function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/; +var regExpExec = uncurryThis(nameRE.exec); +var NAME = 'name'; + +// Function instances `.name` property +// https://tc39.es/ecma262/#sec-function-instances-name +if (DESCRIPTORS && !FUNCTION_NAME_EXISTS) { + defineBuiltInAccessor(FunctionPrototype, NAME, { + configurable: true, + get: function () { + try { + return regExpExec(nameRE, functionToString(this))[1]; + } catch (error) { + return ''; + } + } + }); +} + + +/***/ }), +/* 249 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); + +// `globalThis` object +// https://tc39.es/ecma262/#sec-globalthis +$({ global: true, forced: globalThis.globalThis !== globalThis }, { + globalThis: globalThis +}); + + +/***/ }), +/* 250 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var getPrototypeOf = __webpack_require__(128); +var defineBuiltInAccessor = __webpack_require__(77); +var createProperty = __webpack_require__(141); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var wellKnownSymbol = __webpack_require__(33); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var CONSTRUCTOR = 'constructor'; +var ITERATOR = 'Iterator'; +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +var $TypeError = TypeError; +var NativeIterator = globalThis[ITERATOR]; + +// FF56- have non-standard global helper `Iterator` +var FORCED = IS_PURE + || !isCallable(NativeIterator) + || NativeIterator.prototype !== IteratorPrototype + // FF44- non-standard `Iterator` passes previous tests + || !fails(function () { NativeIterator({}); }); + +var IteratorConstructor = function Iterator() { + anInstance(this, IteratorPrototype); + if (getPrototypeOf(this) === IteratorPrototype) throw new $TypeError('Abstract class Iterator not directly constructable'); +}; + +var defineIteratorPrototypeAccessor = function (key, value) { + if (DESCRIPTORS) { + defineBuiltInAccessor(IteratorPrototype, key, { + configurable: true, + get: function () { + return value; + }, + set: function (replacement) { + anObject(this); + if (this === IteratorPrototype) throw new $TypeError("You can't redefine this property"); + if (hasOwn(this, key)) this[key] = replacement; + else createProperty(this, key, replacement); + } + }); + } else IteratorPrototype[key] = value; +}; + +if (!hasOwn(IteratorPrototype, TO_STRING_TAG)) defineIteratorPrototypeAccessor(TO_STRING_TAG, ITERATOR); + +if (FORCED || !hasOwn(IteratorPrototype, CONSTRUCTOR) || IteratorPrototype[CONSTRUCTOR] === Object) { + defineIteratorPrototypeAccessor(CONSTRUCTOR, IteratorConstructor); +} + +IteratorConstructor.prototype = IteratorPrototype; + +// `Iterator` constructor +// https://tc39.es/ecma262/#sec-iterator +$({ global: true, constructor: true, forced: FORCED }, { + Iterator: IteratorConstructor +}); + + +/***/ }), +/* 251 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var notANaN = __webpack_require__(253); +var toPositiveInteger = __webpack_require__(254); +var createIteratorProxy = __webpack_require__(255); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var next = this.next; + var result, done; + while (this.remaining) { + this.remaining--; + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (done) return; + } + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (!done) return result.value; +}); + +// `Iterator.prototype.drop` method +// https://tc39.es/ecma262/#sec-iterator.prototype.drop +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + drop: function drop(limit) { + anObject(this); + var remaining = toPositiveInteger(notANaN(+limit)); + return new IteratorProxy(getIteratorDirect(this), { + remaining: remaining + }); + } +}); + + +/***/ }), +/* 252 */ +/***/ (function(module) { + + +// `GetIteratorDirect(obj)` abstract operation +// https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect +module.exports = function (obj) { + return { + iterator: obj, + next: obj.next, + done: false + }; +}; + + +/***/ }), +/* 253 */ +/***/ (function(module) { + + +var $RangeError = RangeError; + +module.exports = function (it) { + // eslint-disable-next-line no-self-compare -- NaN check + if (it === it) return it; + throw new $RangeError('NaN is not allowed'); +}; + + +/***/ }), +/* 254 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var $RangeError = RangeError; + +module.exports = function (it) { + var result = toIntegerOrInfinity(it); + if (result < 0) throw new $RangeError("The argument can't be less than 0"); + return result; +}; + + +/***/ }), +/* 255 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var create = __webpack_require__(71); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIns = __webpack_require__(210); +var wellKnownSymbol = __webpack_require__(33); +var InternalStateModule = __webpack_require__(51); +var getMethod = __webpack_require__(29); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var createIterResultObject = __webpack_require__(172); +var iteratorClose = __webpack_require__(135); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var ITERATOR_HELPER = 'IteratorHelper'; +var WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator'; +var setInternalState = InternalStateModule.set; + +var createIteratorProxyPrototype = function (IS_ITERATOR) { + var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER); + + return defineBuiltIns(create(IteratorPrototype), { + next: function next() { + var state = getInternalState(this); + // for simplification: + // for `%WrapForValidIteratorPrototype%.next` our `nextHandler` returns `IterResultObject` + // for `%IteratorHelperPrototype%.next` - just a value + if (IS_ITERATOR) return state.nextHandler(); + try { + var result = state.done ? undefined : state.nextHandler(); + return createIterResultObject(result, state.done); + } catch (error) { + state.done = true; + throw error; + } + }, + 'return': function () { + var state = getInternalState(this); + var iterator = state.iterator; + state.done = true; + if (IS_ITERATOR) { + var returnMethod = getMethod(iterator, 'return'); + return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true); + } + if (state.inner) try { + iteratorClose(state.inner.iterator, 'normal'); + } catch (error) { + return iteratorClose(iterator, 'throw', error); + } + if (iterator) iteratorClose(iterator, 'normal'); + return createIterResultObject(undefined, true); + } + }); +}; + +var WrapForValidIteratorPrototype = createIteratorProxyPrototype(true); +var IteratorHelperPrototype = createIteratorProxyPrototype(false); + +createNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper'); + +module.exports = function (nextHandler, IS_ITERATOR) { + var IteratorProxy = function Iterator(record, state) { + if (state) { + state.iterator = record.iterator; + state.next = record.next; + } else state = record; + state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER; + state.nextHandler = nextHandler; + state.counter = 0; + state.done = false; + setInternalState(this, state); + }; + + IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype; + + return IteratorProxy; +}; + + +/***/ }), +/* 256 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.every` method +// https://tc39.es/ecma262/#sec-iterator.prototype.every +$({ target: 'Iterator', proto: true, real: true }, { + every: function every(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return !iterate(record, function (value, stop) { + if (!predicate(value, counter++)) return stop(); + }, { IS_RECORD: true, INTERRUPTED: true }).stopped; + } +}); + + +/***/ }), +/* 257 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var createIteratorProxy = __webpack_require__(255); +var callWithSafeIterationClosing = __webpack_require__(163); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var predicate = this.predicate; + var next = this.next; + var result, done, value; + while (true) { + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (done) return; + value = result.value; + if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) return value; + } +}); + +// `Iterator.prototype.filter` method +// https://tc39.es/ecma262/#sec-iterator.prototype.filter +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + filter: function filter(predicate) { + anObject(this); + aCallable(predicate); + return new IteratorProxy(getIteratorDirect(this), { + predicate: predicate + }); + } +}); + + +/***/ }), +/* 258 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.find` method +// https://tc39.es/ecma262/#sec-iterator.prototype.find +$({ target: 'Iterator', proto: true, real: true }, { + find: function find(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return iterate(record, function (value, stop) { + if (predicate(value, counter++)) return stop(value); + }, { IS_RECORD: true, INTERRUPTED: true }).result; + } +}); + + +/***/ }), +/* 259 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var getIteratorFlattenable = __webpack_require__(260); +var createIteratorProxy = __webpack_require__(255); +var iteratorClose = __webpack_require__(135); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var mapper = this.mapper; + var result, inner; + + while (true) { + if (inner = this.inner) try { + result = anObject(call(inner.next, inner.iterator)); + if (!result.done) return result.value; + this.inner = null; + } catch (error) { iteratorClose(iterator, 'throw', error); } + + result = anObject(call(this.next, iterator)); + + if (this.done = !!result.done) return; + + try { + this.inner = getIteratorFlattenable(mapper(result.value, this.counter++), false); + } catch (error) { iteratorClose(iterator, 'throw', error); } + } +}); + +// `Iterator.prototype.flatMap` method +// https://tc39.es/ecma262/#sec-iterator.prototype.flatmap +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + flatMap: function flatMap(mapper) { + anObject(this); + aCallable(mapper); + return new IteratorProxy(getIteratorDirect(this), { + mapper: mapper, + inner: null + }); + } +}); + + +/***/ }), +/* 260 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var getIteratorMethod = __webpack_require__(134); + +module.exports = function (obj, stringHandling) { + if (!stringHandling || typeof obj !== 'string') anObject(obj); + var method = getIteratorMethod(obj); + return getIteratorDirect(anObject(method !== undefined ? call(method, obj) : obj)); +}; + + +/***/ }), +/* 261 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.forEach` method +// https://tc39.es/ecma262/#sec-iterator.prototype.foreach +$({ target: 'Iterator', proto: true, real: true }, { + forEach: function forEach(fn) { + anObject(this); + aCallable(fn); + var record = getIteratorDirect(this); + var counter = 0; + iterate(record, function (value) { + fn(value, counter++); + }, { IS_RECORD: true }); + } +}); + + +/***/ }), +/* 262 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var toObject = __webpack_require__(39); +var isPrototypeOf = __webpack_require__(24); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var createIteratorProxy = __webpack_require__(255); +var getIteratorFlattenable = __webpack_require__(260); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + return call(this.next, this.iterator); +}, true); + +// `Iterator.from` method +// https://tc39.es/ecma262/#sec-iterator.from +$({ target: 'Iterator', stat: true, forced: IS_PURE }, { + from: function from(O) { + var iteratorRecord = getIteratorFlattenable(typeof O == 'string' ? toObject(O) : O, true); + return isPrototypeOf(IteratorPrototype, iteratorRecord.iterator) + ? iteratorRecord.iterator + : new IteratorProxy(iteratorRecord); + } +}); + + +/***/ }), +/* 263 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var map = __webpack_require__(264); +var IS_PURE = __webpack_require__(36); + +// `Iterator.prototype.map` method +// https://tc39.es/ecma262/#sec-iterator.prototype.map +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + map: map +}); + + +/***/ }), +/* 264 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var createIteratorProxy = __webpack_require__(255); +var callWithSafeIterationClosing = __webpack_require__(163); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var result = anObject(call(this.next, iterator)); + var done = this.done = !!result.done; + if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true); +}); + +// `Iterator.prototype.map` method +// https://github.com/tc39/proposal-iterator-helpers +module.exports = function map(mapper) { + anObject(this); + aCallable(mapper); + return new IteratorProxy(getIteratorDirect(this), { + mapper: mapper + }); +}; + + +/***/ }), +/* 265 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +var $TypeError = TypeError; + +// `Iterator.prototype.reduce` method +// https://tc39.es/ecma262/#sec-iterator.prototype.reduce +$({ target: 'Iterator', proto: true, real: true }, { + reduce: function reduce(reducer /* , initialValue */) { + anObject(this); + aCallable(reducer); + var record = getIteratorDirect(this); + var noInitial = arguments.length < 2; + var accumulator = noInitial ? undefined : arguments[1]; + var counter = 0; + iterate(record, function (value) { + if (noInitial) { + noInitial = false; + accumulator = value; + } else { + accumulator = reducer(accumulator, value, counter); + } + counter++; + }, { IS_RECORD: true }); + if (noInitial) throw new $TypeError('Reduce of empty iterator with no initial value'); + return accumulator; + } +}); + + +/***/ }), +/* 266 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.some` method +// https://tc39.es/ecma262/#sec-iterator.prototype.some +$({ target: 'Iterator', proto: true, real: true }, { + some: function some(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return iterate(record, function (value, stop) { + if (predicate(value, counter++)) return stop(); + }, { IS_RECORD: true, INTERRUPTED: true }).stopped; + } +}); + + +/***/ }), +/* 267 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var notANaN = __webpack_require__(253); +var toPositiveInteger = __webpack_require__(254); +var createIteratorProxy = __webpack_require__(255); +var iteratorClose = __webpack_require__(135); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + if (!this.remaining--) { + this.done = true; + return iteratorClose(iterator, 'normal', undefined); + } + var result = anObject(call(this.next, iterator)); + var done = this.done = !!result.done; + if (!done) return result.value; +}); + +// `Iterator.prototype.take` method +// https://tc39.es/ecma262/#sec-iterator.prototype.take +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + take: function take(limit) { + anObject(this); + var remaining = toPositiveInteger(notANaN(+limit)); + return new IteratorProxy(getIteratorDirect(this), { + remaining: remaining + }); + } +}); + + +/***/ }), +/* 268 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var iterate = __webpack_require__(130); +var getIteratorDirect = __webpack_require__(252); + +var push = [].push; + +// `Iterator.prototype.toArray` method +// https://tc39.es/ecma262/#sec-iterator.prototype.toarray +$({ target: 'Iterator', proto: true, real: true }, { + toArray: function toArray() { + var result = []; + iterate(getIteratorDirect(anObject(this)), push, { that: result, IS_RECORD: true }); + return result; + } +}); + + +/***/ }), +/* 269 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var setToStringTag = __webpack_require__(82); + +// JSON[@@toStringTag] property +// https://tc39.es/ecma262/#sec-json-@@tostringtag +setToStringTag(globalThis.JSON, 'JSON', true); + + +/***/ }), +/* 270 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(271); + + +/***/ }), +/* 271 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionStrong = __webpack_require__(277); + +// `Map` constructor +// https://tc39.es/ecma262/#sec-map-objects +collection('Map', function (init) { + return function Map() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + + +/***/ }), +/* 272 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var defineBuiltIn = __webpack_require__(47); +var InternalMetadataModule = __webpack_require__(273); +var iterate = __webpack_require__(130); +var anInstance = __webpack_require__(211); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var fails = __webpack_require__(7); +var checkCorrectnessOfIteration = __webpack_require__(164); +var setToStringTag = __webpack_require__(82); +var inheritIfRequired = __webpack_require__(118); + +module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { + var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; + var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; + var ADDER = IS_MAP ? 'set' : 'add'; + var NativeConstructor = globalThis[CONSTRUCTOR_NAME]; + var NativePrototype = NativeConstructor && NativeConstructor.prototype; + var Constructor = NativeConstructor; + var exported = {}; + + var fixMethod = function (KEY) { + var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]); + defineBuiltIn(NativePrototype, KEY, + KEY === 'add' ? function add(value) { + uncurriedNativeMethod(this, value === 0 ? 0 : value); + return this; + } : KEY === 'delete' ? function (key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY === 'get' ? function get(key) { + return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY === 'has' ? function has(key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : function set(key, value) { + uncurriedNativeMethod(this, key === 0 ? 0 : key, value); + return this; + } + ); + }; + + var REPLACE = isForced( + CONSTRUCTOR_NAME, + !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () { + new NativeConstructor().entries().next(); + })) + ); + + if (REPLACE) { + // create collection constructor + Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); + InternalMetadataModule.enable(); + } else if (isForced(CONSTRUCTOR_NAME, true)) { + var instance = new Constructor(); + // early implementations not supports chaining + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance; + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); + // most early implementations doesn't supports iterables, most modern - not close it correctly + // eslint-disable-next-line no-new -- required for testing + var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); }); + // for early implementations -0 and +0 not the same + var BUGGY_ZERO = !IS_WEAK && fails(function () { + // V8 ~ Chromium 42- fails only with 5+ elements + var $instance = new NativeConstructor(); + var index = 5; + while (index--) $instance[ADDER](index, index); + return !$instance.has(-0); + }); + + if (!ACCEPT_ITERABLES) { + Constructor = wrapper(function (dummy, iterable) { + anInstance(dummy, NativePrototype); + var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + return that; + }); + Constructor.prototype = NativePrototype; + NativePrototype.constructor = Constructor; + } + + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + + if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); + + // weak collections should not contains .clear method + if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear; + } + + exported[CONSTRUCTOR_NAME] = Constructor; + $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported); + + setToStringTag(Constructor, CONSTRUCTOR_NAME); + + if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); + + return Constructor; +}; + + +/***/ }), +/* 273 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var hiddenKeys = __webpack_require__(54); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var defineProperty = (__webpack_require__(44).f); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertyNamesExternalModule = __webpack_require__(75); +var isExtensible = __webpack_require__(274); +var uid = __webpack_require__(40); +var FREEZING = __webpack_require__(276); + +var REQUIRED = false; +var METADATA = uid('meta'); +var id = 0; + +var setMetadata = function (it) { + defineProperty(it, METADATA, { value: { + objectID: 'O' + id++, // object ID + weakData: {} // weak collections IDs + } }); +}; + +var fastKey = function (it, create) { + // return a primitive with prefix + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!hasOwn(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMetadata(it); + // return object ID + } return it[METADATA].objectID; +}; + +var getWeakData = function (it, create) { + if (!hasOwn(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMetadata(it); + // return the store of weak collections IDs + } return it[METADATA].weakData; +}; + +// add metadata on freeze-family methods calling +var onFreeze = function (it) { + if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it); + return it; +}; + +var enable = function () { + meta.enable = function () { /* empty */ }; + REQUIRED = true; + var getOwnPropertyNames = getOwnPropertyNamesModule.f; + var splice = uncurryThis([].splice); + var test = {}; + test[METADATA] = 1; + + // prevent exposing of metadata key + if (getOwnPropertyNames(test).length) { + getOwnPropertyNamesModule.f = function (it) { + var result = getOwnPropertyNames(it); + for (var i = 0, length = result.length; i < length; i++) { + if (result[i] === METADATA) { + splice(result, i, 1); + break; + } + } return result; + }; + + $({ target: 'Object', stat: true, forced: true }, { + getOwnPropertyNames: getOwnPropertyNamesExternalModule.f + }); + } +}; + +var meta = module.exports = { + enable: enable, + fastKey: fastKey, + getWeakData: getWeakData, + onFreeze: onFreeze +}; + +hiddenKeys[METADATA] = true; + + +/***/ }), +/* 274 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-isextensible -- safe +var $isExtensible = Object.isExtensible; +var FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); }); + +// `Object.isExtensible` method +// https://tc39.es/ecma262/#sec-object.isextensible +module.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) { + if (!isObject(it)) return false; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false; + return $isExtensible ? $isExtensible(it) : true; +} : $isExtensible; + + +/***/ }), +/* 275 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it +var fails = __webpack_require__(7); + +module.exports = fails(function () { + if (typeof ArrayBuffer == 'function') { + var buffer = new ArrayBuffer(8); + // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe + if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 }); + } +}); + + +/***/ }), +/* 276 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing + return Object.isExtensible(Object.preventExtensions({})); +}); + + +/***/ }), +/* 277 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var create = __webpack_require__(71); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var bind = __webpack_require__(84); +var anInstance = __webpack_require__(211); +var isNullOrUndefined = __webpack_require__(17); +var iterate = __webpack_require__(130); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); +var setSpecies = __webpack_require__(194); +var DESCRIPTORS = __webpack_require__(6); +var fastKey = (__webpack_require__(273).fastKey); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + index: create(null), + first: null, + last: null, + size: 0 + }); + if (!DESCRIPTORS) that.size = 0; + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + }); + + var Prototype = Constructor.prototype; + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var entry = getEntry(that, key); + var previous, index; + // change existing entry + if (entry) { + entry.value = value; + // create new entry + } else { + state.last = entry = { + index: index = fastKey(key, true), + key: key, + value: value, + previous: previous = state.last, + next: null, + removed: false + }; + if (!state.first) state.first = entry; + if (previous) previous.next = entry; + if (DESCRIPTORS) state.size++; + else that.size++; + // add to index + if (index !== 'F') state.index[index] = entry; + } return that; + }; + + var getEntry = function (that, key) { + var state = getInternalState(that); + // fast case + var index = fastKey(key); + var entry; + if (index !== 'F') return state.index[index]; + // frozen object case + for (entry = state.first; entry; entry = entry.next) { + if (entry.key === key) return entry; + } + }; + + defineBuiltIns(Prototype, { + // `{ Map, Set }.prototype.clear()` methods + // https://tc39.es/ecma262/#sec-map.prototype.clear + // https://tc39.es/ecma262/#sec-set.prototype.clear + clear: function clear() { + var that = this; + var state = getInternalState(that); + var entry = state.first; + while (entry) { + entry.removed = true; + if (entry.previous) entry.previous = entry.previous.next = null; + entry = entry.next; + } + state.first = state.last = null; + state.index = create(null); + if (DESCRIPTORS) state.size = 0; + else that.size = 0; + }, + // `{ Map, Set }.prototype.delete(key)` methods + // https://tc39.es/ecma262/#sec-map.prototype.delete + // https://tc39.es/ecma262/#sec-set.prototype.delete + 'delete': function (key) { + var that = this; + var state = getInternalState(that); + var entry = getEntry(that, key); + if (entry) { + var next = entry.next; + var prev = entry.previous; + delete state.index[entry.index]; + entry.removed = true; + if (prev) prev.next = next; + if (next) next.previous = prev; + if (state.first === entry) state.first = next; + if (state.last === entry) state.last = prev; + if (DESCRIPTORS) state.size--; + else that.size--; + } return !!entry; + }, + // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods + // https://tc39.es/ecma262/#sec-map.prototype.foreach + // https://tc39.es/ecma262/#sec-set.prototype.foreach + forEach: function forEach(callbackfn /* , that = undefined */) { + var state = getInternalState(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var entry; + while (entry = entry ? entry.next : state.first) { + boundFunction(entry.value, entry.key, this); + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + } + }, + // `{ Map, Set}.prototype.has(key)` methods + // https://tc39.es/ecma262/#sec-map.prototype.has + // https://tc39.es/ecma262/#sec-set.prototype.has + has: function has(key) { + return !!getEntry(this, key); + } + }); + + defineBuiltIns(Prototype, IS_MAP ? { + // `Map.prototype.get(key)` method + // https://tc39.es/ecma262/#sec-map.prototype.get + get: function get(key) { + var entry = getEntry(this, key); + return entry && entry.value; + }, + // `Map.prototype.set(key, value)` method + // https://tc39.es/ecma262/#sec-map.prototype.set + set: function set(key, value) { + return define(this, key === 0 ? 0 : key, value); + } + } : { + // `Set.prototype.add(value)` method + // https://tc39.es/ecma262/#sec-set.prototype.add + add: function add(value) { + return define(this, value = value === 0 ? 0 : value, value); + } + }); + if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', { + configurable: true, + get: function () { + return getInternalState(this).size; + } + }); + return Constructor; + }, + setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) { + var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; + var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); + var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); + // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods + // https://tc39.es/ecma262/#sec-map.prototype.entries + // https://tc39.es/ecma262/#sec-map.prototype.keys + // https://tc39.es/ecma262/#sec-map.prototype.values + // https://tc39.es/ecma262/#sec-map.prototype-@@iterator + // https://tc39.es/ecma262/#sec-set.prototype.entries + // https://tc39.es/ecma262/#sec-set.prototype.keys + // https://tc39.es/ecma262/#sec-set.prototype.values + // https://tc39.es/ecma262/#sec-set.prototype-@@iterator + defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) { + setInternalState(this, { + type: ITERATOR_NAME, + target: iterated, + state: getInternalCollectionState(iterated), + kind: kind, + last: null + }); + }, function () { + var state = getInternalIteratorState(this); + var kind = state.kind; + var entry = state.last; + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + // get next entry + if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { + // or finish the iteration + state.target = null; + return createIterResultObject(undefined, true); + } + // return step by kind + if (kind === 'keys') return createIterResultObject(entry.key, false); + if (kind === 'values') return createIterResultObject(entry.value, false); + return createIterResultObject([entry.key, entry.value], false); + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // `{ Map, Set }.prototype[@@species]` accessors + // https://tc39.es/ecma262/#sec-get-map-@@species + // https://tc39.es/ecma262/#sec-get-set-@@species + setSpecies(CONSTRUCTOR_NAME); + } +}; + + +/***/ }), +/* 278 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var requireObjectCoercible = __webpack_require__(16); +var iterate = __webpack_require__(130); +var MapHelpers = __webpack_require__(279); +var IS_PURE = __webpack_require__(36); +var fails = __webpack_require__(7); + +var Map = MapHelpers.Map; +var has = MapHelpers.has; +var get = MapHelpers.get; +var set = MapHelpers.set; +var push = uncurryThis([].push); + +var DOES_NOT_WORK_WITH_PRIMITIVES = IS_PURE || fails(function () { + return Map.groupBy('ab', function (it) { + return it; + }).get('a').length !== 1; +}); + +// `Map.groupBy` method +// https://tc39.es/ecma262/#sec-map.groupby +$({ target: 'Map', stat: true, forced: IS_PURE || DOES_NOT_WORK_WITH_PRIMITIVES }, { + groupBy: function groupBy(items, callbackfn) { + requireObjectCoercible(items); + aCallable(callbackfn); + var map = new Map(); + var k = 0; + iterate(items, function (value) { + var key = callbackfn(value, k++); + if (!has(map, key)) set(map, key, [value]); + else push(get(map, key), value); + }); + return map; + } +}); + + +/***/ }), +/* 279 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// eslint-disable-next-line es/no-map -- safe +var MapPrototype = Map.prototype; + +module.exports = { + // eslint-disable-next-line es/no-map -- safe + Map: Map, + set: uncurryThis(MapPrototype.set), + get: uncurryThis(MapPrototype.get), + has: uncurryThis(MapPrototype.has), + remove: uncurryThis(MapPrototype['delete']), + proto: MapPrototype +}; + + +/***/ }), +/* 280 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log1p = __webpack_require__(281); + +// eslint-disable-next-line es/no-math-acosh -- required for testing +var $acosh = Math.acosh; +var log = Math.log; +var sqrt = Math.sqrt; +var LN2 = Math.LN2; + +var FORCED = !$acosh + // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 + || Math.floor($acosh(Number.MAX_VALUE)) !== 710 + // Tor Browser bug: Math.acosh(Infinity) -> NaN + || $acosh(Infinity) !== Infinity; + +// `Math.acosh` method +// https://tc39.es/ecma262/#sec-math.acosh +$({ target: 'Math', stat: true, forced: FORCED }, { + acosh: function acosh(x) { + var n = +x; + return n < 1 ? NaN : n > 94906265.62425156 + ? log(n) + LN2 + : log1p(n - 1 + sqrt(n - 1) * sqrt(n + 1)); + } +}); + + +/***/ }), +/* 281 */ +/***/ (function(module) { + + +var log = Math.log; + +// `Math.log1p` method implementation +// https://tc39.es/ecma262/#sec-math.log1p +// eslint-disable-next-line es/no-math-log1p -- safe +module.exports = Math.log1p || function log1p(x) { + var n = +x; + return n > -1e-8 && n < 1e-8 ? n - n * n / 2 : log(1 + n); +}; + + +/***/ }), +/* 282 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-asinh -- required for testing +var $asinh = Math.asinh; +var log = Math.log; +var sqrt = Math.sqrt; + +function asinh(x) { + var n = +x; + return !isFinite(n) || n === 0 ? n : n < 0 ? -asinh(-n) : log(n + sqrt(n * n + 1)); +} + +var FORCED = !($asinh && 1 / $asinh(0) > 0); + +// `Math.asinh` method +// https://tc39.es/ecma262/#sec-math.asinh +// Tor Browser bug: Math.asinh(0) -> -0 +$({ target: 'Math', stat: true, forced: FORCED }, { + asinh: asinh +}); + + +/***/ }), +/* 283 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-atanh -- required for testing +var $atanh = Math.atanh; +var log = Math.log; + +var FORCED = !($atanh && 1 / $atanh(-0) < 0); + +// `Math.atanh` method +// https://tc39.es/ecma262/#sec-math.atanh +// Tor Browser bug: Math.atanh(-0) -> 0 +$({ target: 'Math', stat: true, forced: FORCED }, { + atanh: function atanh(x) { + var n = +x; + return n === 0 ? n : log((1 + n) / (1 - n)) / 2; + } +}); + + +/***/ }), +/* 284 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var sign = __webpack_require__(215); + +var abs = Math.abs; +var pow = Math.pow; + +// `Math.cbrt` method +// https://tc39.es/ecma262/#sec-math.cbrt +$({ target: 'Math', stat: true }, { + cbrt: function cbrt(x) { + var n = +x; + return sign(n) * pow(abs(n), 1 / 3); + } +}); + + +/***/ }), +/* 285 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +var floor = Math.floor; +var log = Math.log; +var LOG2E = Math.LOG2E; + +// `Math.clz32` method +// https://tc39.es/ecma262/#sec-math.clz32 +$({ target: 'Math', stat: true }, { + clz32: function clz32(x) { + var n = x >>> 0; + return n ? 31 - floor(log(n + 0.5) * LOG2E) : 32; + } +}); + + +/***/ }), +/* 286 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +// eslint-disable-next-line es/no-math-cosh -- required for testing +var $cosh = Math.cosh; +var abs = Math.abs; +var E = Math.E; + +var FORCED = !$cosh || $cosh(710) === Infinity; + +// `Math.cosh` method +// https://tc39.es/ecma262/#sec-math.cosh +$({ target: 'Math', stat: true, forced: FORCED }, { + cosh: function cosh(x) { + var t = expm1(abs(x) - 1) + 1; + return (t + 1 / (t * E * E)) * (E / 2); + } +}); + + +/***/ }), +/* 287 */ +/***/ (function(module) { + + +// eslint-disable-next-line es/no-math-expm1 -- safe +var $expm1 = Math.expm1; +var exp = Math.exp; + +// `Math.expm1` method implementation +// https://tc39.es/ecma262/#sec-math.expm1 +module.exports = (!$expm1 + // Old FF bug + // eslint-disable-next-line no-loss-of-precision -- required for old engines + || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 + // Tor Browser bug + || $expm1(-2e-17) !== -2e-17 +) ? function expm1(x) { + var n = +x; + return n === 0 ? n : n > -1e-6 && n < 1e-6 ? n + n * n / 2 : exp(n) - 1; +} : $expm1; + + +/***/ }), +/* 288 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +// `Math.expm1` method +// https://tc39.es/ecma262/#sec-math.expm1 +// eslint-disable-next-line es/no-math-expm1 -- required for testing +$({ target: 'Math', stat: true, forced: expm1 !== Math.expm1 }, { expm1: expm1 }); + + +/***/ }), +/* 289 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fround = __webpack_require__(213); + +// `Math.fround` method +// https://tc39.es/ecma262/#sec-math.fround +$({ target: 'Math', stat: true }, { fround: fround }); + + +/***/ }), +/* 290 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-hypot -- required for testing +var $hypot = Math.hypot; +var abs = Math.abs; +var sqrt = Math.sqrt; + +// Chrome 77 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=9546 +var FORCED = !!$hypot && $hypot(Infinity, NaN) !== Infinity; + +// `Math.hypot` method +// https://tc39.es/ecma262/#sec-math.hypot +$({ target: 'Math', stat: true, arity: 2, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + hypot: function hypot(value1, value2) { + var sum = 0; + var i = 0; + var aLen = arguments.length; + var larg = 0; + var arg, div; + while (i < aLen) { + arg = abs(arguments[i++]); + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; + larg = arg; + } else if (arg > 0) { + div = arg / larg; + sum += div * div; + } else sum += arg; + } + return larg === Infinity ? Infinity : larg * sqrt(sum); + } +}); + + +/***/ }), +/* 291 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-math-imul -- required for testing +var $imul = Math.imul; + +var FORCED = fails(function () { + return $imul(0xFFFFFFFF, 5) !== -5 || $imul.length !== 2; +}); + +// `Math.imul` method +// https://tc39.es/ecma262/#sec-math.imul +// some WebKit versions fails with big numbers, some has wrong arity +$({ target: 'Math', stat: true, forced: FORCED }, { + imul: function imul(x, y) { + var UINT16 = 0xFFFF; + var xn = +x; + var yn = +y; + var xl = UINT16 & xn; + var yl = UINT16 & yn; + return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); + } +}); + + +/***/ }), +/* 292 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log10 = __webpack_require__(293); + +// `Math.log10` method +// https://tc39.es/ecma262/#sec-math.log10 +$({ target: 'Math', stat: true }, { + log10: log10 +}); + + +/***/ }), +/* 293 */ +/***/ (function(module) { + + +var log = Math.log; +var LOG10E = Math.LOG10E; + +// eslint-disable-next-line es/no-math-log10 -- safe +module.exports = Math.log10 || function log10(x) { + return log(x) * LOG10E; +}; + + +/***/ }), +/* 294 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log1p = __webpack_require__(281); + +// `Math.log1p` method +// https://tc39.es/ecma262/#sec-math.log1p +$({ target: 'Math', stat: true }, { log1p: log1p }); + + +/***/ }), +/* 295 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +var log = Math.log; +var LN2 = Math.LN2; + +// `Math.log2` method +// https://tc39.es/ecma262/#sec-math.log2 +$({ target: 'Math', stat: true }, { + log2: function log2(x) { + return log(x) / LN2; + } +}); + + +/***/ }), +/* 296 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var sign = __webpack_require__(215); + +// `Math.sign` method +// https://tc39.es/ecma262/#sec-math.sign +$({ target: 'Math', stat: true }, { + sign: sign +}); + + +/***/ }), +/* 297 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var expm1 = __webpack_require__(287); + +var abs = Math.abs; +var exp = Math.exp; +var E = Math.E; + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-math-sinh -- required for testing + return Math.sinh(-2e-17) !== -2e-17; +}); + +// `Math.sinh` method +// https://tc39.es/ecma262/#sec-math.sinh +// V8 near Chromium 38 has a problem with very small numbers +$({ target: 'Math', stat: true, forced: FORCED }, { + sinh: function sinh(x) { + var n = +x; + return abs(n) < 1 ? (expm1(n) - expm1(-n)) / 2 : (exp(n - 1) - exp(-n - 1)) * (E / 2); + } +}); + + +/***/ }), +/* 298 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +var exp = Math.exp; + +// `Math.tanh` method +// https://tc39.es/ecma262/#sec-math.tanh +$({ target: 'Math', stat: true }, { + tanh: function tanh(x) { + var n = +x; + var a = expm1(n); + var b = expm1(-n); + return a === Infinity ? 1 : b === Infinity ? -1 : (a - b) / (exp(n) + exp(-n)); + } +}); + + +/***/ }), +/* 299 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var setToStringTag = __webpack_require__(82); + +// Math[@@toStringTag] property +// https://tc39.es/ecma262/#sec-math-@@tostringtag +setToStringTag(Math, 'Math', true); + + +/***/ }), +/* 300 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trunc = __webpack_require__(62); + +// `Math.trunc` method +// https://tc39.es/ecma262/#sec-math.trunc +$({ target: 'Math', stat: true }, { + trunc: trunc +}); + + +/***/ }), +/* 301 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var path = __webpack_require__(80); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var hasOwn = __webpack_require__(38); +var inheritIfRequired = __webpack_require__(118); +var isPrototypeOf = __webpack_require__(24); +var isSymbol = __webpack_require__(22); +var toPrimitive = __webpack_require__(19); +var fails = __webpack_require__(7); +var getOwnPropertyNames = (__webpack_require__(57).f); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var defineProperty = (__webpack_require__(44).f); +var thisNumberValue = __webpack_require__(302); +var trim = (__webpack_require__(303).trim); + +var NUMBER = 'Number'; +var NativeNumber = globalThis[NUMBER]; +var PureNumberNamespace = path[NUMBER]; +var NumberPrototype = NativeNumber.prototype; +var TypeError = globalThis.TypeError; +var stringSlice = uncurryThis(''.slice); +var charCodeAt = uncurryThis(''.charCodeAt); + +// `ToNumeric` abstract operation +// https://tc39.es/ecma262/#sec-tonumeric +var toNumeric = function (value) { + var primValue = toPrimitive(value, 'number'); + return typeof primValue == 'bigint' ? primValue : toNumber(primValue); +}; + +// `ToNumber` abstract operation +// https://tc39.es/ecma262/#sec-tonumber +var toNumber = function (argument) { + var it = toPrimitive(argument, 'number'); + var first, third, radix, maxCode, digits, length, index, code; + if (isSymbol(it)) throw new TypeError('Cannot convert a Symbol value to a number'); + if (typeof it == 'string' && it.length > 2) { + it = trim(it); + first = charCodeAt(it, 0); + if (first === 43 || first === 45) { + third = charCodeAt(it, 2); + if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if (first === 48) { + switch (charCodeAt(it, 1)) { + // fast equal of /^0b[01]+$/i + case 66: + case 98: + radix = 2; + maxCode = 49; + break; + // fast equal of /^0o[0-7]+$/i + case 79: + case 111: + radix = 8; + maxCode = 55; + break; + default: + return +it; + } + digits = stringSlice(it, 2); + length = digits.length; + for (index = 0; index < length; index++) { + code = charCodeAt(digits, index); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if (code < 48 || code > maxCode) return NaN; + } return parseInt(digits, radix); + } + } return +it; +}; + +var FORCED = isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1')); + +var calledWithNew = function (dummy) { + // includes check on 1..constructor(foo) case + return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); }); +}; + +// `Number` constructor +// https://tc39.es/ecma262/#sec-number-constructor +var NumberWrapper = function Number(value) { + var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value)); + return calledWithNew(this) ? inheritIfRequired(Object(n), this, NumberWrapper) : n; +}; + +NumberWrapper.prototype = NumberPrototype; +if (FORCED && !IS_PURE) NumberPrototype.constructor = NumberWrapper; + +$({ global: true, constructor: true, wrap: true, forced: FORCED }, { + Number: NumberWrapper +}); + +// Use `internal/copy-constructor-properties` helper in `core-js@4` +var copyConstructorProperties = function (target, source) { + for (var keys = DESCRIPTORS ? getOwnPropertyNames(source) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES2015 (in case, if modules with ES2015 Number statics required before): + 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' + + // ESNext + 'fromString,range' + ).split(','), j = 0, key; keys.length > j; j++) { + if (hasOwn(source, key = keys[j]) && !hasOwn(target, key)) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + +if (IS_PURE && PureNumberNamespace) copyConstructorProperties(path[NUMBER], PureNumberNamespace); +if (FORCED || IS_PURE) copyConstructorProperties(path[NUMBER], NativeNumber); + + +/***/ }), +/* 302 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// `thisNumberValue` abstract operation +// https://tc39.es/ecma262/#sec-thisnumbervalue +module.exports = uncurryThis(1.0.valueOf); + + +/***/ }), +/* 303 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var whitespaces = __webpack_require__(304); + +var replace = uncurryThis(''.replace); +var ltrim = RegExp('^[' + whitespaces + ']+'); +var rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$'); + +// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation +var createMethod = function (TYPE) { + return function ($this) { + var string = toString(requireObjectCoercible($this)); + if (TYPE & 1) string = replace(string, ltrim, ''); + if (TYPE & 2) string = replace(string, rtrim, '$1'); + return string; + }; +}; + +module.exports = { + // `String.prototype.{ trimLeft, trimStart }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimstart + start: createMethod(1), + // `String.prototype.{ trimRight, trimEnd }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimend + end: createMethod(2), + // `String.prototype.trim` method + // https://tc39.es/ecma262/#sec-string.prototype.trim + trim: createMethod(3) +}; + + +/***/ }), +/* 304 */ +/***/ (function(module) { + + +// a string of all valid unicode whitespaces +module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' + + '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + + +/***/ }), +/* 305 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.EPSILON` constant +// https://tc39.es/ecma262/#sec-number.epsilon +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + EPSILON: Math.pow(2, -52) +}); + + +/***/ }), +/* 306 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var numberIsFinite = __webpack_require__(307); + +// `Number.isFinite` method +// https://tc39.es/ecma262/#sec-number.isfinite +$({ target: 'Number', stat: true }, { isFinite: numberIsFinite }); + + +/***/ }), +/* 307 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +var globalIsFinite = globalThis.isFinite; + +// `Number.isFinite` method +// https://tc39.es/ecma262/#sec-number.isfinite +// eslint-disable-next-line es/no-number-isfinite -- safe +module.exports = Number.isFinite || function isFinite(it) { + return typeof it == 'number' && globalIsFinite(it); +}; + + +/***/ }), +/* 308 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isIntegralNumber = __webpack_require__(309); + +// `Number.isInteger` method +// https://tc39.es/ecma262/#sec-number.isinteger +$({ target: 'Number', stat: true }, { + isInteger: isIntegralNumber +}); + + +/***/ }), +/* 309 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +var floor = Math.floor; + +// `IsIntegralNumber` abstract operation +// https://tc39.es/ecma262/#sec-isintegralnumber +// eslint-disable-next-line es/no-number-isinteger -- safe +module.exports = Number.isInteger || function isInteger(it) { + return !isObject(it) && isFinite(it) && floor(it) === it; +}; + + +/***/ }), +/* 310 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.isNaN` method +// https://tc39.es/ecma262/#sec-number.isnan +$({ target: 'Number', stat: true }, { + isNaN: function isNaN(number) { + // eslint-disable-next-line no-self-compare -- NaN check + return number !== number; + } +}); + + +/***/ }), +/* 311 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isIntegralNumber = __webpack_require__(309); + +var abs = Math.abs; + +// `Number.isSafeInteger` method +// https://tc39.es/ecma262/#sec-number.issafeinteger +$({ target: 'Number', stat: true }, { + isSafeInteger: function isSafeInteger(number) { + return isIntegralNumber(number) && abs(number) <= 0x1FFFFFFFFFFFFF; + } +}); + + +/***/ }), +/* 312 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.MAX_SAFE_INTEGER` constant +// https://tc39.es/ecma262/#sec-number.max_safe_integer +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF +}); + + +/***/ }), +/* 313 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.MIN_SAFE_INTEGER` constant +// https://tc39.es/ecma262/#sec-number.min_safe_integer +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF +}); + + +/***/ }), +/* 314 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var parseFloat = __webpack_require__(315); + +// `Number.parseFloat` method +// https://tc39.es/ecma262/#sec-number.parseFloat +// eslint-disable-next-line es/no-number-parsefloat -- required for testing +$({ target: 'Number', stat: true, forced: Number.parseFloat !== parseFloat }, { + parseFloat: parseFloat +}); + + +/***/ }), +/* 315 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var trim = (__webpack_require__(303).trim); +var whitespaces = __webpack_require__(304); + +var charAt = uncurryThis(''.charAt); +var $parseFloat = globalThis.parseFloat; +var Symbol = globalThis.Symbol; +var ITERATOR = Symbol && Symbol.iterator; +var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity + // MS Edge 18- broken with boxed symbols + || (ITERATOR && !fails(function () { $parseFloat(Object(ITERATOR)); })); + +// `parseFloat` method +// https://tc39.es/ecma262/#sec-parsefloat-string +module.exports = FORCED ? function parseFloat(string) { + var trimmedString = trim(toString(string)); + var result = $parseFloat(trimmedString); + return result === 0 && charAt(trimmedString, 0) === '-' ? -0 : result; +} : $parseFloat; + + +/***/ }), +/* 316 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var parseInt = __webpack_require__(317); + +// `Number.parseInt` method +// https://tc39.es/ecma262/#sec-number.parseint +// eslint-disable-next-line es/no-number-parseint -- required for testing +$({ target: 'Number', stat: true, forced: Number.parseInt !== parseInt }, { + parseInt: parseInt +}); + + +/***/ }), +/* 317 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var trim = (__webpack_require__(303).trim); +var whitespaces = __webpack_require__(304); + +var $parseInt = globalThis.parseInt; +var Symbol = globalThis.Symbol; +var ITERATOR = Symbol && Symbol.iterator; +var hex = /^[+-]?0x/i; +var exec = uncurryThis(hex.exec); +var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22 + // MS Edge 18- broken with boxed symbols + || (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); })); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +module.exports = FORCED ? function parseInt(string, radix) { + var S = trim(toString(string)); + return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10)); +} : $parseInt; + + +/***/ }), +/* 318 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var thisNumberValue = __webpack_require__(302); +var $repeat = __webpack_require__(239); +var log10 = __webpack_require__(293); +var fails = __webpack_require__(7); + +var $RangeError = RangeError; +var $String = String; +var $isFinite = isFinite; +var abs = Math.abs; +var floor = Math.floor; +var pow = Math.pow; +var round = Math.round; +var nativeToExponential = uncurryThis(1.0.toExponential); +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); + +// Edge 17- +var ROUNDS_PROPERLY = nativeToExponential(-6.9e-11, 4) === '-6.9000e-11' + // IE11- && Edge 14- + && nativeToExponential(1.255, 2) === '1.25e+0' + // FF86-, V8 ~ Chrome 49-50 + && nativeToExponential(12345, 3) === '1.235e+4' + // FF86-, V8 ~ Chrome 49-50 + && nativeToExponential(25, 0) === '3e+1'; + +// IE8- +var throwsOnInfinityFraction = function () { + return fails(function () { + nativeToExponential(1, Infinity); + }) && fails(function () { + nativeToExponential(1, -Infinity); + }); +}; + +// Safari <11 && FF <50 +var properNonFiniteThisCheck = function () { + return !fails(function () { + nativeToExponential(Infinity, Infinity); + nativeToExponential(NaN, Infinity); + }); +}; + +var FORCED = !ROUNDS_PROPERLY || !throwsOnInfinityFraction() || !properNonFiniteThisCheck(); + +// `Number.prototype.toExponential` method +// https://tc39.es/ecma262/#sec-number.prototype.toexponential +$({ target: 'Number', proto: true, forced: FORCED }, { + toExponential: function toExponential(fractionDigits) { + var x = thisNumberValue(this); + if (fractionDigits === undefined) return nativeToExponential(x); + var f = toIntegerOrInfinity(fractionDigits); + if (!$isFinite(x)) return String(x); + // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation + if (f < 0 || f > 20) throw new $RangeError('Incorrect fraction digits'); + if (ROUNDS_PROPERLY) return nativeToExponential(x, f); + var s = ''; + var m, e, c, d; + if (x < 0) { + s = '-'; + x = -x; + } + if (x === 0) { + e = 0; + m = repeat('0', f + 1); + } else { + // this block is based on https://gist.github.com/SheetJSDev/1100ad56b9f856c95299ed0e068eea08 + // TODO: improve accuracy with big fraction digits + var l = log10(x); + e = floor(l); + var w = pow(10, e - f); + var n = round(x / w); + if (2 * x >= (2 * n + 1) * w) { + n += 1; + } + if (n >= pow(10, f + 1)) { + n /= 10; + e += 1; + } + m = $String(n); + } + if (f !== 0) { + m = stringSlice(m, 0, 1) + '.' + stringSlice(m, 1); + } + if (e === 0) { + c = '+'; + d = '0'; + } else { + c = e > 0 ? '+' : '-'; + d = $String(abs(e)); + } + m += 'e' + c + d; + return s + m; + } +}); + + +/***/ }), +/* 319 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var thisNumberValue = __webpack_require__(302); +var $repeat = __webpack_require__(239); +var fails = __webpack_require__(7); + +var $RangeError = RangeError; +var $String = String; +var floor = Math.floor; +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); +var nativeToFixed = uncurryThis(1.0.toFixed); + +var pow = function (x, n, acc) { + return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); +}; + +var log = function (x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + } return n; +}; + +var multiply = function (data, n, c) { + var index = -1; + var c2 = c; + while (++index < 6) { + c2 += n * data[index]; + data[index] = c2 % 1e7; + c2 = floor(c2 / 1e7); + } +}; + +var divide = function (data, n) { + var index = 6; + var c = 0; + while (--index >= 0) { + c += data[index]; + data[index] = floor(c / n); + c = (c % n) * 1e7; + } +}; + +var dataToString = function (data) { + var index = 6; + var s = ''; + while (--index >= 0) { + if (s !== '' || index === 0 || data[index] !== 0) { + var t = $String(data[index]); + s = s === '' ? t : s + repeat('0', 7 - t.length) + t; + } + } return s; +}; + +var FORCED = fails(function () { + return nativeToFixed(0.00008, 3) !== '0.000' || + nativeToFixed(0.9, 0) !== '1' || + nativeToFixed(1.255, 2) !== '1.25' || + nativeToFixed(1000000000000000128.0, 0) !== '1000000000000000128'; +}) || !fails(function () { + // V8 ~ Android 4.3- + nativeToFixed({}); +}); + +// `Number.prototype.toFixed` method +// https://tc39.es/ecma262/#sec-number.prototype.tofixed +$({ target: 'Number', proto: true, forced: FORCED }, { + toFixed: function toFixed(fractionDigits) { + var number = thisNumberValue(this); + var fractDigits = toIntegerOrInfinity(fractionDigits); + var data = [0, 0, 0, 0, 0, 0]; + var sign = ''; + var result = '0'; + var e, z, j, k; + + // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation + if (fractDigits < 0 || fractDigits > 20) throw new $RangeError('Incorrect fraction digits'); + // eslint-disable-next-line no-self-compare -- NaN check + if (number !== number) return 'NaN'; + if (number <= -1e21 || number >= 1e21) return $String(number); + if (number < 0) { + sign = '-'; + number = -number; + } + if (number > 1e-21) { + e = log(number * pow(2, 69, 1)) - 69; + z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1); + z *= 0x10000000000000; + e = 52 - e; + if (e > 0) { + multiply(data, 0, z); + j = fractDigits; + while (j >= 7) { + multiply(data, 1e7, 0); + j -= 7; + } + multiply(data, pow(10, j, 1), 0); + j = e - 1; + while (j >= 23) { + divide(data, 1 << 23); + j -= 23; + } + divide(data, 1 << j); + multiply(data, 1, 1); + divide(data, 2); + result = dataToString(data); + } else { + multiply(data, 0, z); + multiply(data, 1 << -e, 0); + result = dataToString(data) + repeat('0', fractDigits); + } + } + if (fractDigits > 0) { + k = result.length; + result = sign + (k <= fractDigits + ? '0.' + repeat('0', fractDigits - k) + result + : stringSlice(result, 0, k - fractDigits) + '.' + stringSlice(result, k - fractDigits)); + } else { + result = sign + result; + } return result; + } +}); + + +/***/ }), +/* 320 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var thisNumberValue = __webpack_require__(302); + +var nativeToPrecision = uncurryThis(1.0.toPrecision); + +var FORCED = fails(function () { + // IE7- + return nativeToPrecision(1, undefined) !== '1'; +}) || !fails(function () { + // V8 ~ Android 4.3- + nativeToPrecision({}); +}); + +// `Number.prototype.toPrecision` method +// https://tc39.es/ecma262/#sec-number.prototype.toprecision +$({ target: 'Number', proto: true, forced: FORCED }, { + toPrecision: function toPrecision(precision) { + return precision === undefined + ? nativeToPrecision(thisNumberValue(this)) + : nativeToPrecision(thisNumberValue(this), precision); + } +}); + + +/***/ }), +/* 321 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var assign = __webpack_require__(322); + +// `Object.assign` method +// https://tc39.es/ecma262/#sec-object.assign +// eslint-disable-next-line es/no-object-assign -- required for testing +$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, { + assign: assign +}); + + +/***/ }), +/* 322 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var objectKeys = __webpack_require__(73); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var propertyIsEnumerableModule = __webpack_require__(10); +var toObject = __webpack_require__(39); +var IndexedObject = __webpack_require__(13); + +// eslint-disable-next-line es/no-object-assign -- safe +var $assign = Object.assign; +// eslint-disable-next-line es/no-object-defineproperty -- required for testing +var defineProperty = Object.defineProperty; +var concat = uncurryThis([].concat); + +// `Object.assign` method +// https://tc39.es/ecma262/#sec-object.assign +module.exports = !$assign || fails(function () { + // should have correct order of operations (Edge bug) + if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', { + enumerable: true, + get: function () { + defineProperty(this, 'b', { + value: 3, + enumerable: false + }); + } + }), { b: 2 })).b !== 1) return true; + // should work with symbols and should have deterministic property order (V8 bug) + var A = {}; + var B = {}; + // eslint-disable-next-line es/no-symbol -- safe + var symbol = Symbol('assign detection'); + var alphabet = 'abcdefghijklmnopqrst'; + A[symbol] = 7; + alphabet.split('').forEach(function (chr) { B[chr] = chr; }); + return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` + var T = toObject(target); + var argumentsLength = arguments.length; + var index = 1; + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + var propertyIsEnumerable = propertyIsEnumerableModule.f; + while (argumentsLength > index) { + var S = IndexedObject(arguments[index++]); + var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) { + key = keys[j++]; + if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key]; + } + } return T; +} : $assign; + + +/***/ }), +/* 323 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var create = __webpack_require__(71); + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + create: create +}); + + +/***/ }), +/* 324 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var definePropertyModule = __webpack_require__(44); + +// `Object.prototype.__defineGetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineGetter__: function __defineGetter__(P, getter) { + definePropertyModule.f(toObject(this), P, { get: aCallable(getter), enumerable: true, configurable: true }); + } + }); +} + + +/***/ }), +/* 325 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-undef, no-useless-call, sonarjs/no-reference-error -- required for testing */ +/* eslint-disable es/no-legacy-object-prototype-accessor-methods -- required for testing */ +var IS_PURE = __webpack_require__(36); +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var WEBKIT = __webpack_require__(192); + +// Forced replacement object prototype accessors methods +module.exports = IS_PURE || !fails(function () { + // This feature detection crashes old WebKit + // https://github.com/zloirock/core-js/issues/232 + if (WEBKIT && WEBKIT < 535) return; + var key = Math.random(); + // In FF throws only define methods + __defineSetter__.call(null, key, function () { /* empty */ }); + delete globalThis[key]; +}); + + +/***/ }), +/* 326 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var defineProperties = (__webpack_require__(72).f); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, { + defineProperties: defineProperties +}); + + +/***/ }), +/* 327 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var defineProperty = (__webpack_require__(44).f); + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +// eslint-disable-next-line es/no-object-defineproperty -- safe +$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, { + defineProperty: defineProperty +}); + + +/***/ }), +/* 328 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var definePropertyModule = __webpack_require__(44); + +// `Object.prototype.__defineSetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineSetter__: function __defineSetter__(P, setter) { + definePropertyModule.f(toObject(this), P, { set: aCallable(setter), enumerable: true, configurable: true }); + } + }); +} + + +/***/ }), +/* 329 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $entries = (__webpack_require__(330).entries); + +// `Object.entries` method +// https://tc39.es/ecma262/#sec-object.entries +$({ target: 'Object', stat: true }, { + entries: function entries(O) { + return $entries(O); + } +}); + + +/***/ }), +/* 330 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var objectGetPrototypeOf = __webpack_require__(128); +var objectKeys = __webpack_require__(73); +var toIndexedObject = __webpack_require__(12); +var $propertyIsEnumerable = (__webpack_require__(10).f); + +var propertyIsEnumerable = uncurryThis($propertyIsEnumerable); +var push = uncurryThis([].push); + +// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys +// of `null` prototype objects +var IE_BUG = DESCRIPTORS && fails(function () { + // eslint-disable-next-line es/no-object-create -- safe + var O = Object.create(null); + O[2] = 2; + return !propertyIsEnumerable(O, 2); +}); + +// `Object.{ entries, values }` methods implementation +var createMethod = function (TO_ENTRIES) { + return function (it) { + var O = toIndexedObject(it); + var keys = objectKeys(O); + var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null; + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) { + key = keys[i++]; + if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) { + push(result, TO_ENTRIES ? [key, O[key]] : O[key]); + } + } + return result; + }; +}; + +module.exports = { + // `Object.entries` method + // https://tc39.es/ecma262/#sec-object.entries + entries: createMethod(true), + // `Object.values` method + // https://tc39.es/ecma262/#sec-object.values + values: createMethod(false) +}; + + +/***/ }), +/* 331 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); + +// eslint-disable-next-line es/no-object-freeze -- safe +var $freeze = Object.freeze; +var FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); }); + +// `Object.freeze` method +// https://tc39.es/ecma262/#sec-object.freeze +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + freeze: function freeze(it) { + return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 332 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var createProperty = __webpack_require__(141); + +// `Object.fromEntries` method +// https://tc39.es/ecma262/#sec-object.fromentries +$({ target: 'Object', stat: true }, { + fromEntries: function fromEntries(iterable) { + var obj = {}; + iterate(iterable, function (k, v) { + createProperty(obj, k, v); + }, { AS_ENTRIES: true }); + return obj; + } +}); + + +/***/ }), +/* 333 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toIndexedObject = __webpack_require__(12); +var nativeGetOwnPropertyDescriptor = (__webpack_require__(5).f); +var DESCRIPTORS = __webpack_require__(6); + +var FORCED = !DESCRIPTORS || fails(function () { nativeGetOwnPropertyDescriptor(1); }); + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { + return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key); + } +}); + + +/***/ }), +/* 334 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var ownKeys = __webpack_require__(56); +var toIndexedObject = __webpack_require__(12); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var createProperty = __webpack_require__(141); + +// `Object.getOwnPropertyDescriptors` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIndexedObject(object); + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + var keys = ownKeys(O); + var result = {}; + var index = 0; + var key, descriptor; + while (keys.length > index) { + descriptor = getOwnPropertyDescriptor(O, key = keys[index++]); + if (descriptor !== undefined) createProperty(result, key, descriptor); + } + return result; + } +}); + + +/***/ }), +/* 335 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var getOwnPropertyNames = (__webpack_require__(75).f); + +// eslint-disable-next-line es/no-object-getownpropertynames -- required for testing +var FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); }); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + getOwnPropertyNames: getOwnPropertyNames +}); + + +/***/ }), +/* 336 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toObject = __webpack_require__(39); +var nativeGetPrototypeOf = __webpack_require__(128); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); }); + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(it) { + return nativeGetPrototypeOf(toObject(it)); + } +}); + + + +/***/ }), +/* 337 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var requireObjectCoercible = __webpack_require__(16); +var toPropertyKey = __webpack_require__(18); +var iterate = __webpack_require__(130); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-groupby -- testing +var nativeGroupBy = Object.groupBy; +var create = getBuiltIn('Object', 'create'); +var push = uncurryThis([].push); + +var DOES_NOT_WORK_WITH_PRIMITIVES = !nativeGroupBy || fails(function () { + return nativeGroupBy('ab', function (it) { + return it; + }).a.length !== 1; +}); + +// `Object.groupBy` method +// https://tc39.es/ecma262/#sec-object.groupby +$({ target: 'Object', stat: true, forced: DOES_NOT_WORK_WITH_PRIMITIVES }, { + groupBy: function groupBy(items, callbackfn) { + requireObjectCoercible(items); + aCallable(callbackfn); + var obj = create(null); + var k = 0; + iterate(items, function (value) { + var key = toPropertyKey(callbackfn(value, k++)); + // in some IE versions, `hasOwnProperty` returns incorrect result on integer keys + // but since it's a `null` prototype object, we can safely use `in` + if (key in obj) push(obj[key], value); + else obj[key] = [value]; + }); + return obj; + } +}); + + +/***/ }), +/* 338 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var hasOwn = __webpack_require__(38); + +// `Object.hasOwn` method +// https://tc39.es/ecma262/#sec-object.hasown +$({ target: 'Object', stat: true }, { + hasOwn: hasOwn +}); + + +/***/ }), +/* 339 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var is = __webpack_require__(340); + +// `Object.is` method +// https://tc39.es/ecma262/#sec-object.is +$({ target: 'Object', stat: true }, { + is: is +}); + + +/***/ }), +/* 340 */ +/***/ (function(module) { + + +// `SameValue` abstract operation +// https://tc39.es/ecma262/#sec-samevalue +// eslint-disable-next-line es/no-object-is -- safe +module.exports = Object.is || function is(x, y) { + // eslint-disable-next-line no-self-compare -- NaN check + return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y; +}; + + +/***/ }), +/* 341 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $isExtensible = __webpack_require__(274); + +// `Object.isExtensible` method +// https://tc39.es/ecma262/#sec-object.isextensible +// eslint-disable-next-line es/no-object-isextensible -- safe +$({ target: 'Object', stat: true, forced: Object.isExtensible !== $isExtensible }, { + isExtensible: $isExtensible +}); + + +/***/ }), +/* 342 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-isfrozen -- safe +var $isFrozen = Object.isFrozen; + +var FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isFrozen(1); }); + +// `Object.isFrozen` method +// https://tc39.es/ecma262/#sec-object.isfrozen +$({ target: 'Object', stat: true, forced: FORCED }, { + isFrozen: function isFrozen(it) { + if (!isObject(it)) return true; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true; + return $isFrozen ? $isFrozen(it) : false; + } +}); + + +/***/ }), +/* 343 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-issealed -- safe +var $isSealed = Object.isSealed; + +var FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isSealed(1); }); + +// `Object.isSealed` method +// https://tc39.es/ecma262/#sec-object.issealed +$({ target: 'Object', stat: true, forced: FORCED }, { + isSealed: function isSealed(it) { + if (!isObject(it)) return true; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true; + return $isSealed ? $isSealed(it) : false; + } +}); + + +/***/ }), +/* 344 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var nativeKeys = __webpack_require__(73); +var fails = __webpack_require__(7); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); }); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + keys: function keys(it) { + return nativeKeys(toObject(it)); + } +}); + + +/***/ }), +/* 345 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var toObject = __webpack_require__(39); +var toPropertyKey = __webpack_require__(18); +var getPrototypeOf = __webpack_require__(128); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Object.prototype.__lookupGetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupGetter__: function __lookupGetter__(P) { + var O = toObject(this); + var key = toPropertyKey(P); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.get; + } while (O = getPrototypeOf(O)); + } + }); +} + + +/***/ }), +/* 346 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var toObject = __webpack_require__(39); +var toPropertyKey = __webpack_require__(18); +var getPrototypeOf = __webpack_require__(128); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Object.prototype.__lookupSetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupSetter__: function __lookupSetter__(P) { + var O = toObject(this); + var key = toPropertyKey(P); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.set; + } while (O = getPrototypeOf(O)); + } + }); +} + + +/***/ }), +/* 347 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-preventextensions -- safe +var $preventExtensions = Object.preventExtensions; +var FAILS_ON_PRIMITIVES = fails(function () { $preventExtensions(1); }); + +// `Object.preventExtensions` method +// https://tc39.es/ecma262/#sec-object.preventextensions +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + preventExtensions: function preventExtensions(it) { + return $preventExtensions && isObject(it) ? $preventExtensions(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 348 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var isObject = __webpack_require__(20); +var isPossiblePrototype = __webpack_require__(116); +var toObject = __webpack_require__(39); +var requireObjectCoercible = __webpack_require__(16); + +// eslint-disable-next-line es/no-object-getprototypeof -- safe +var getPrototypeOf = Object.getPrototypeOf; +// eslint-disable-next-line es/no-object-setprototypeof -- safe +var setPrototypeOf = Object.setPrototypeOf; +var ObjectPrototype = Object.prototype; +var PROTO = '__proto__'; + +// `Object.prototype.__proto__` accessor +// https://tc39.es/ecma262/#sec-object.prototype.__proto__ +if (DESCRIPTORS && getPrototypeOf && setPrototypeOf && !(PROTO in ObjectPrototype)) try { + defineBuiltInAccessor(ObjectPrototype, PROTO, { + configurable: true, + get: function __proto__() { + return getPrototypeOf(toObject(this)); + }, + set: function __proto__(proto) { + var O = requireObjectCoercible(this); + if (isPossiblePrototype(proto) && isObject(O)) { + setPrototypeOf(O, proto); + } + } + }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 349 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-seal -- safe +var $seal = Object.seal; +var FAILS_ON_PRIMITIVES = fails(function () { $seal(1); }); + +// `Object.seal` method +// https://tc39.es/ecma262/#sec-object.seal +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + seal: function seal(it) { + return $seal && isObject(it) ? $seal(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 350 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var setPrototypeOf = __webpack_require__(113); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +$({ target: 'Object', stat: true }, { + setPrototypeOf: setPrototypeOf +}); + + +/***/ }), +/* 351 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var defineBuiltIn = __webpack_require__(47); +var toString = __webpack_require__(352); + +// `Object.prototype.toString` method +// https://tc39.es/ecma262/#sec-object.prototype.tostring +if (!TO_STRING_TAG_SUPPORT) { + defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true }); +} + + +/***/ }), +/* 352 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var classof = __webpack_require__(69); + +// `Object.prototype.toString` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.tostring +module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { + return '[object ' + classof(this) + ']'; +}; + + +/***/ }), +/* 353 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $values = (__webpack_require__(330).values); + +// `Object.values` method +// https://tc39.es/ecma262/#sec-object.values +$({ target: 'Object', stat: true }, { + values: function values(O) { + return $values(O); + } +}); + + +/***/ }), +/* 354 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $parseFloat = __webpack_require__(315); + +// `parseFloat` method +// https://tc39.es/ecma262/#sec-parsefloat-string +$({ global: true, forced: parseFloat !== $parseFloat }, { + parseFloat: $parseFloat +}); + + +/***/ }), +/* 355 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $parseInt = __webpack_require__(317); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +$({ global: true, forced: parseInt !== $parseInt }, { + parseInt: $parseInt +}); + + +/***/ }), +/* 356 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(357); +__webpack_require__(373); +__webpack_require__(375); +__webpack_require__(376); +__webpack_require__(377); +__webpack_require__(378); + + +/***/ }), +/* 357 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var IS_NODE = __webpack_require__(182); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var defineBuiltIn = __webpack_require__(47); +var setPrototypeOf = __webpack_require__(113); +var setToStringTag = __webpack_require__(82); +var setSpecies = __webpack_require__(194); +var aCallable = __webpack_require__(30); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var anInstance = __webpack_require__(211); +var speciesConstructor = __webpack_require__(358); +var task = (__webpack_require__(360).set); +var microtask = __webpack_require__(363); +var hostReportErrors = __webpack_require__(368); +var perform = __webpack_require__(369); +var Queue = __webpack_require__(365); +var InternalStateModule = __webpack_require__(51); +var NativePromiseConstructor = __webpack_require__(370); +var PromiseConstructorDetection = __webpack_require__(371); +var newPromiseCapabilityModule = __webpack_require__(372); + +var PROMISE = 'Promise'; +var FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR; +var NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT; +var NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING; +var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); +var setInternalState = InternalStateModule.set; +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var PromiseConstructor = NativePromiseConstructor; +var PromisePrototype = NativePromisePrototype; +var TypeError = globalThis.TypeError; +var document = globalThis.document; +var process = globalThis.process; +var newPromiseCapability = newPromiseCapabilityModule.f; +var newGenericPromiseCapability = newPromiseCapability; + +var DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent); +var UNHANDLED_REJECTION = 'unhandledrejection'; +var REJECTION_HANDLED = 'rejectionhandled'; +var PENDING = 0; +var FULFILLED = 1; +var REJECTED = 2; +var HANDLED = 1; +var UNHANDLED = 2; + +var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && isCallable(then = it.then) ? then : false; +}; + +var callReaction = function (reaction, state) { + var value = state.value; + var ok = state.state === FULFILLED; + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (state.rejection === UNHANDLED) onHandleUnhandled(state); + state.rejection = HANDLED; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // can throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(new TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + call(then, result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (error) { + if (domain && !exited) domain.exit(); + reject(error); + } +}; + +var notify = function (state, isReject) { + if (state.notified) return; + state.notified = true; + microtask(function () { + var reactions = state.reactions; + var reaction; + while (reaction = reactions.get()) { + callReaction(reaction, state); + } + state.notified = false; + if (isReject && !state.rejection) onUnhandled(state); + }); +}; + +var dispatchEvent = function (name, promise, reason) { + var event, handler; + if (DISPATCH_EVENT) { + event = document.createEvent('Event'); + event.promise = promise; + event.reason = reason; + event.initEvent(name, false, true); + globalThis.dispatchEvent(event); + } else event = { promise: promise, reason: reason }; + if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event); + else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); +}; + +var onUnhandled = function (state) { + call(task, globalThis, function () { + var promise = state.facade; + var value = state.value; + var IS_UNHANDLED = isUnhandled(state); + var result; + if (IS_UNHANDLED) { + result = perform(function () { + if (IS_NODE) { + process.emit('unhandledRejection', value, promise); + } else dispatchEvent(UNHANDLED_REJECTION, promise, value); + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; + if (result.error) throw result.value; + } + }); +}; + +var isUnhandled = function (state) { + return state.rejection !== HANDLED && !state.parent; +}; + +var onHandleUnhandled = function (state) { + call(task, globalThis, function () { + var promise = state.facade; + if (IS_NODE) { + process.emit('rejectionHandled', promise); + } else dispatchEvent(REJECTION_HANDLED, promise, state.value); + }); +}; + +var bind = function (fn, state, unwrap) { + return function (value) { + fn(state, value, unwrap); + }; +}; + +var internalReject = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + state.value = value; + state.state = REJECTED; + notify(state, true); +}; + +var internalResolve = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + try { + if (state.facade === value) throw new TypeError("Promise can't be resolved itself"); + var then = isThenable(value); + if (then) { + microtask(function () { + var wrapper = { done: false }; + try { + call(then, value, + bind(internalResolve, wrapper, state), + bind(internalReject, wrapper, state) + ); + } catch (error) { + internalReject(wrapper, error, state); + } + }); + } else { + state.value = value; + state.state = FULFILLED; + notify(state, false); + } + } catch (error) { + internalReject({ done: false }, error, state); + } +}; + +// constructor polyfill +if (FORCED_PROMISE_CONSTRUCTOR) { + // 25.4.3.1 Promise(executor) + PromiseConstructor = function Promise(executor) { + anInstance(this, PromisePrototype); + aCallable(executor); + call(Internal, this); + var state = getInternalPromiseState(this); + try { + executor(bind(internalResolve, state), bind(internalReject, state)); + } catch (error) { + internalReject(state, error); + } + }; + + PromisePrototype = PromiseConstructor.prototype; + + // eslint-disable-next-line no-unused-vars -- required for `.length` + Internal = function Promise(executor) { + setInternalState(this, { + type: PROMISE, + done: false, + notified: false, + parent: false, + reactions: new Queue(), + rejection: false, + state: PENDING, + value: null + }); + }; + + // `Promise.prototype.then` method + // https://tc39.es/ecma262/#sec-promise.prototype.then + Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) { + var state = getInternalPromiseState(this); + var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); + state.parent = true; + reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; + reaction.fail = isCallable(onRejected) && onRejected; + reaction.domain = IS_NODE ? process.domain : undefined; + if (state.state === PENDING) state.reactions.add(reaction); + else microtask(function () { + callReaction(reaction, state); + }); + return reaction.promise; + }); + + OwnPromiseCapability = function () { + var promise = new Internal(); + var state = getInternalPromiseState(promise); + this.promise = promise; + this.resolve = bind(internalResolve, state); + this.reject = bind(internalReject, state); + }; + + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === PromiseConstructor || C === PromiseWrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; + + if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) { + nativeThen = NativePromisePrototype.then; + + if (!NATIVE_PROMISE_SUBCLASSING) { + // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs + defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { + var that = this; + return new PromiseConstructor(function (resolve, reject) { + call(nativeThen, that, resolve, reject); + }).then(onFulfilled, onRejected); + // https://github.com/zloirock/core-js/issues/640 + }, { unsafe: true }); + } + + // make `.constructor === Promise` work for native promise-based APIs + try { + delete NativePromisePrototype.constructor; + } catch (error) { /* empty */ } + + // make `instanceof Promise` work for native promise-based APIs + if (setPrototypeOf) { + setPrototypeOf(NativePromisePrototype, PromisePrototype); + } + } +} + +// `Promise` constructor +// https://tc39.es/ecma262/#sec-promise-executor +$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + Promise: PromiseConstructor +}); + +setToStringTag(PromiseConstructor, PROMISE, false, true); +setSpecies(PROMISE); + + +/***/ }), +/* 358 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var aConstructor = __webpack_require__(359); +var isNullOrUndefined = __webpack_require__(17); +var wellKnownSymbol = __webpack_require__(33); + +var SPECIES = wellKnownSymbol('species'); + +// `SpeciesConstructor` abstract operation +// https://tc39.es/ecma262/#sec-speciesconstructor +module.exports = function (O, defaultConstructor) { + var C = anObject(O).constructor; + var S; + return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S); +}; + + +/***/ }), +/* 359 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isConstructor = __webpack_require__(89); +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +// `Assert: IsConstructor(argument) is true` +module.exports = function (argument) { + if (isConstructor(argument)) return argument; + throw new $TypeError(tryToString(argument) + ' is not a constructor'); +}; + + +/***/ }), +/* 360 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var bind = __webpack_require__(84); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var fails = __webpack_require__(7); +var html = __webpack_require__(74); +var arraySlice = __webpack_require__(76); +var createElement = __webpack_require__(42); +var validateArgumentsLength = __webpack_require__(361); +var IS_IOS = __webpack_require__(362); +var IS_NODE = __webpack_require__(182); + +var set = globalThis.setImmediate; +var clear = globalThis.clearImmediate; +var process = globalThis.process; +var Dispatch = globalThis.Dispatch; +var Function = globalThis.Function; +var MessageChannel = globalThis.MessageChannel; +var String = globalThis.String; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var $location, defer, channel, port; + +fails(function () { + // Deno throws a ReferenceError on `location` access without `--location` flag + $location = globalThis.location; +}); + +var run = function (id) { + if (hasOwn(queue, id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; + +var runner = function (id) { + return function () { + run(id); + }; +}; + +var eventListener = function (event) { + run(event.data); +}; + +var globalPostMessageDefer = function (id) { + // old engines have not location.origin + globalThis.postMessage(String(id), $location.protocol + '//' + $location.host); +}; + +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!set || !clear) { + set = function setImmediate(handler) { + validateArgumentsLength(arguments.length, 1); + var fn = isCallable(handler) ? handler : Function(handler); + var args = arraySlice(arguments, 1); + queue[++counter] = function () { + apply(fn, undefined, args); + }; + defer(counter); + return counter; + }; + clear = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (IS_NODE) { + defer = function (id) { + process.nextTick(runner(id)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(runner(id)); + }; + // Browsers with MessageChannel, includes WebWorkers + // except iOS - https://github.com/zloirock/core-js/issues/624 + } else if (MessageChannel && !IS_IOS) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = eventListener; + defer = bind(port.postMessage, port); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if ( + globalThis.addEventListener && + isCallable(globalThis.postMessage) && + !globalThis.importScripts && + $location && $location.protocol !== 'file:' && + !fails(globalPostMessageDefer) + ) { + defer = globalPostMessageDefer; + globalThis.addEventListener('message', eventListener, false); + // IE8- + } else if (ONREADYSTATECHANGE in createElement('script')) { + defer = function (id) { + html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(runner(id), 0); + }; + } +} + +module.exports = { + set: set, + clear: clear +}; + + +/***/ }), +/* 361 */ +/***/ (function(module) { + + +var $TypeError = TypeError; + +module.exports = function (passed, required) { + if (passed < required) throw new $TypeError('Not enough arguments'); + return passed; +}; + + +/***/ }), +/* 362 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +// eslint-disable-next-line redos/no-vulnerable -- safe +module.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent); + + +/***/ }), +/* 363 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var safeGetBuiltIn = __webpack_require__(364); +var bind = __webpack_require__(84); +var macrotask = (__webpack_require__(360).set); +var Queue = __webpack_require__(365); +var IS_IOS = __webpack_require__(362); +var IS_IOS_PEBBLE = __webpack_require__(366); +var IS_WEBOS_WEBKIT = __webpack_require__(367); +var IS_NODE = __webpack_require__(182); + +var MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver; +var document = globalThis.document; +var process = globalThis.process; +var Promise = globalThis.Promise; +var microtask = safeGetBuiltIn('queueMicrotask'); +var notify, toggle, node, promise, then; + +// modern engines have queueMicrotask method +if (!microtask) { + var queue = new Queue(); + + var flush = function () { + var parent, fn; + if (IS_NODE && (parent = process.domain)) parent.exit(); + while (fn = queue.get()) try { + fn(); + } catch (error) { + if (queue.head) notify(); + throw error; + } + if (parent) parent.enter(); + }; + + // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 + // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898 + if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) { + toggle = true; + node = document.createTextNode(''); + new MutationObserver(flush).observe(node, { characterData: true }); + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + promise = Promise.resolve(undefined); + // workaround of WebKit ~ iOS Safari 10.1 bug + promise.constructor = Promise; + then = bind(promise.then, promise); + notify = function () { + then(flush); + }; + // Node.js without promises + } else if (IS_NODE) { + notify = function () { + process.nextTick(flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessage + // - onreadystatechange + // - setTimeout + } else { + // `webpack` dev server bug on IE global methods - use bind(fn, global) + macrotask = bind(macrotask, globalThis); + notify = function () { + macrotask(flush); + }; + } + + microtask = function (fn) { + if (!queue.head) notify(); + queue.add(fn); + }; +} + +module.exports = microtask; + + +/***/ }), +/* 364 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DESCRIPTORS = __webpack_require__(6); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Avoid NodeJS experimental warning +module.exports = function (name) { + if (!DESCRIPTORS) return globalThis[name]; + var descriptor = getOwnPropertyDescriptor(globalThis, name); + return descriptor && descriptor.value; +}; + + +/***/ }), +/* 365 */ +/***/ (function(module) { + + +var Queue = function () { + this.head = null; + this.tail = null; +}; + +Queue.prototype = { + add: function (item) { + var entry = { item: item, next: null }; + var tail = this.tail; + if (tail) tail.next = entry; + else this.head = entry; + this.tail = entry; + }, + get: function () { + var entry = this.head; + if (entry) { + var next = this.head = entry.next; + if (next === null) this.tail = null; + return entry.item; + } + } +}; + +module.exports = Queue; + + +/***/ }), +/* 366 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +module.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined'; + + +/***/ }), +/* 367 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +module.exports = /web0s(?!.*chrome)/i.test(userAgent); + + +/***/ }), +/* 368 */ +/***/ (function(module) { + + +module.exports = function (a, b) { + try { + // eslint-disable-next-line no-console -- safe + arguments.length === 1 ? console.error(a) : console.error(a, b); + } catch (error) { /* empty */ } +}; + + +/***/ }), +/* 369 */ +/***/ (function(module) { + + +module.exports = function (exec) { + try { + return { error: false, value: exec() }; + } catch (error) { + return { error: true, value: error }; + } +}; + + +/***/ }), +/* 370 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = globalThis.Promise; + + +/***/ }), +/* 371 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var NativePromiseConstructor = __webpack_require__(370); +var isCallable = __webpack_require__(21); +var isForced = __webpack_require__(67); +var inspectSource = __webpack_require__(50); +var wellKnownSymbol = __webpack_require__(33); +var ENVIRONMENT = __webpack_require__(183); +var IS_PURE = __webpack_require__(36); +var V8_VERSION = __webpack_require__(27); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var SPECIES = wellKnownSymbol('species'); +var SUBCLASSING = false; +var NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent); + +var FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () { + var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor); + var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor); + // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // We can't detect it synchronously, so just check versions + if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true; + // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution + if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true; + // We can't use @@species feature detection in V8 since it causes + // deoptimization and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) { + // Detect correctness of subclassing with @@species support + var promise = new NativePromiseConstructor(function (resolve) { resolve(1); }); + var FakePromise = function (exec) { + exec(function () { /* empty */ }, function () { /* empty */ }); + }; + var constructor = promise.constructor = {}; + constructor[SPECIES] = FakePromise; + SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; + if (!SUBCLASSING) return true; + // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test + } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT; +}); + +module.exports = { + CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR, + REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT, + SUBCLASSING: SUBCLASSING +}; + + +/***/ }), +/* 372 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); + +var $TypeError = TypeError; + +var PromiseCapability = function (C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aCallable(resolve); + this.reject = aCallable(reject); +}; + +// `NewPromiseCapability` abstract operation +// https://tc39.es/ecma262/#sec-newpromisecapability +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + + +/***/ }), +/* 373 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.all` method +// https://tc39.es/ecma262/#sec-promise.all +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + all: function all(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call($promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 374 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NativePromiseConstructor = __webpack_require__(370); +var checkCorrectnessOfIteration = __webpack_require__(164); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); + +module.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) { + NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ }); +}); + + +/***/ }), +/* 375 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); +var NativePromiseConstructor = __webpack_require__(370); +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var defineBuiltIn = __webpack_require__(47); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; + +// `Promise.prototype.catch` method +// https://tc39.es/ecma262/#sec-promise.prototype.catch +$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, { + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } +}); + +// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['catch']; + if (NativePromisePrototype['catch'] !== method) { + defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true }); + } +} + + +/***/ }), +/* 376 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.race` method +// https://tc39.es/ecma262/#sec-promise.race +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + race: function race(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + iterate(iterable, function (promise) { + call($promiseResolve, C, promise).then(capability.resolve, reject); + }); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 377 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var newPromiseCapabilityModule = __webpack_require__(372); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); + +// `Promise.reject` method +// https://tc39.es/ecma262/#sec-promise.reject +$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + reject: function reject(r) { + var capability = newPromiseCapabilityModule.f(this); + var capabilityReject = capability.reject; + capabilityReject(r); + return capability.promise; + } +}); + + +/***/ }), +/* 378 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var IS_PURE = __webpack_require__(36); +var NativePromiseConstructor = __webpack_require__(370); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); +var promiseResolve = __webpack_require__(379); + +var PromiseConstructorWrapper = getBuiltIn('Promise'); +var CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR; + +// `Promise.resolve` method +// https://tc39.es/ecma262/#sec-promise.resolve +$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, { + resolve: function resolve(x) { + return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x); + } +}); + + +/***/ }), +/* 379 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var newPromiseCapability = __webpack_require__(372); + +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + + +/***/ }), +/* 380 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.allSettled` method +// https://tc39.es/ecma262/#sec-promise.allsettled +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + allSettled: function allSettled(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'fulfilled', value: value }; + --remaining || resolve(values); + }, function (error) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'rejected', reason: error }; + --remaining || resolve(values); + }); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 381 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var getBuiltIn = __webpack_require__(23); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +var PROMISE_ANY_ERROR = 'No one promise resolved'; + +// `Promise.any` method +// https://tc39.es/ecma262/#sec-promise.any +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + any: function any(iterable) { + var C = this; + var AggregateError = getBuiltIn('AggregateError'); + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var errors = []; + var counter = 0; + var remaining = 1; + var alreadyResolved = false; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyRejected = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyRejected || alreadyResolved) return; + alreadyResolved = true; + resolve(value); + }, function (error) { + if (alreadyRejected || alreadyResolved) return; + alreadyRejected = true; + errors[index] = error; + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + }); + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 382 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var NativePromiseConstructor = __webpack_require__(370); +var fails = __webpack_require__(7); +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var speciesConstructor = __webpack_require__(358); +var promiseResolve = __webpack_require__(379); +var defineBuiltIn = __webpack_require__(47); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; + +// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829 +var NON_GENERIC = !!NativePromiseConstructor && fails(function () { + // eslint-disable-next-line unicorn/no-thenable -- required for testing + NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ }); +}); + +// `Promise.prototype.finally` method +// https://tc39.es/ecma262/#sec-promise.prototype.finally +$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, { + 'finally': function (onFinally) { + var C = speciesConstructor(this, getBuiltIn('Promise')); + var isFunction = isCallable(onFinally); + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); + } +}); + +// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then` +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['finally']; + if (NativePromisePrototype['finally'] !== method) { + defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true }); + } +} + + +/***/ }), +/* 383 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var slice = __webpack_require__(76); +var newPromiseCapabilityModule = __webpack_require__(372); +var aCallable = __webpack_require__(30); +var perform = __webpack_require__(369); + +var Promise = globalThis.Promise; + +var ACCEPT_ARGUMENTS = false; +// Avoiding the use of polyfills of the previous iteration of this proposal +// that does not accept arguments of the callback +var FORCED = !Promise || !Promise['try'] || perform(function () { + Promise['try'](function (argument) { + ACCEPT_ARGUMENTS = argument === 8; + }, 8); +}).error || !ACCEPT_ARGUMENTS; + +// `Promise.try` method +// https://tc39.es/ecma262/#sec-promise.try +$({ target: 'Promise', stat: true, forced: FORCED }, { + 'try': function (callbackfn /* , ...args */) { + var args = arguments.length > 1 ? slice(arguments, 1) : []; + var promiseCapability = newPromiseCapabilityModule.f(this); + var result = perform(function () { + return apply(aCallable(callbackfn), undefined, args); + }); + (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value); + return promiseCapability.promise; + } +}); + + +/***/ }), +/* 384 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var newPromiseCapabilityModule = __webpack_require__(372); + +// `Promise.withResolvers` method +// https://tc39.es/ecma262/#sec-promise.withResolvers +$({ target: 'Promise', stat: true }, { + withResolvers: function withResolvers() { + var promiseCapability = newPromiseCapabilityModule.f(this); + return { + promise: promiseCapability.promise, + resolve: promiseCapability.resolve, + reject: promiseCapability.reject + }; + } +}); + + +/***/ }), +/* 385 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var functionApply = __webpack_require__(94); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var fails = __webpack_require__(7); + +// MS Edge argumentsList argument is optional +var OPTIONAL_ARGUMENTS_LIST = !fails(function () { + // eslint-disable-next-line es/no-reflect -- required for testing + Reflect.apply(function () { /* empty */ }); +}); + +// `Reflect.apply` method +// https://tc39.es/ecma262/#sec-reflect.apply +$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, { + apply: function apply(target, thisArgument, argumentsList) { + return functionApply(aCallable(target), thisArgument, anObject(argumentsList)); + } +}); + + +/***/ }), +/* 386 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var bind = __webpack_require__(246); +var aConstructor = __webpack_require__(359); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var create = __webpack_require__(71); +var fails = __webpack_require__(7); + +var nativeConstruct = getBuiltIn('Reflect', 'construct'); +var ObjectPrototype = Object.prototype; +var push = [].push; + +// `Reflect.construct` method +// https://tc39.es/ecma262/#sec-reflect.construct +// MS Edge supports only 2 arguments and argumentsList argument is optional +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F); +}); + +var ARGS_BUG = !fails(function () { + nativeConstruct(function () { /* empty */ }); +}); + +var FORCED = NEW_TARGET_BUG || ARGS_BUG; + +$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, { + construct: function construct(Target, args /* , newTarget */) { + aConstructor(Target); + anObject(args); + var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]); + if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget); + if (Target === newTarget) { + // w/o altered newTarget, optimization for 0-4 arguments + switch (args.length) { + case 0: return new Target(); + case 1: return new Target(args[0]); + case 2: return new Target(args[0], args[1]); + case 3: return new Target(args[0], args[1], args[2]); + case 4: return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + apply(push, $args, args); + return new (apply(bind, Target, $args))(); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : ObjectPrototype); + var result = apply(Target, instance, args); + return isObject(result) ? result : instance; + } +}); + + +/***/ }), +/* 387 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var anObject = __webpack_require__(46); +var toPropertyKey = __webpack_require__(18); +var definePropertyModule = __webpack_require__(44); +var fails = __webpack_require__(7); + +// MS Edge has broken Reflect.defineProperty - throwing instead of returning false +var ERROR_INSTEAD_OF_FALSE = fails(function () { + // eslint-disable-next-line es/no-reflect -- required for testing + Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 }); +}); + +// `Reflect.defineProperty` method +// https://tc39.es/ecma262/#sec-reflect.defineproperty +$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, { + defineProperty: function defineProperty(target, propertyKey, attributes) { + anObject(target); + var key = toPropertyKey(propertyKey); + anObject(attributes); + try { + definePropertyModule.f(target, key, attributes); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 388 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Reflect.deleteProperty` method +// https://tc39.es/ecma262/#sec-reflect.deleteproperty +$({ target: 'Reflect', stat: true }, { + deleteProperty: function deleteProperty(target, propertyKey) { + var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey); + return descriptor && !descriptor.configurable ? false : delete target[propertyKey]; + } +}); + + +/***/ }), +/* 389 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var isObject = __webpack_require__(20); +var anObject = __webpack_require__(46); +var isDataDescriptor = __webpack_require__(390); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var getPrototypeOf = __webpack_require__(128); + +// `Reflect.get` method +// https://tc39.es/ecma262/#sec-reflect.get +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var descriptor, prototype; + if (anObject(target) === receiver) return target[propertyKey]; + descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey); + if (descriptor) return isDataDescriptor(descriptor) + ? descriptor.value + : descriptor.get === undefined ? undefined : call(descriptor.get, receiver); + if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver); +} + +$({ target: 'Reflect', stat: true }, { + get: get +}); + + +/***/ }), +/* 390 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); + +module.exports = function (descriptor) { + return descriptor !== undefined && (hasOwn(descriptor, 'value') || hasOwn(descriptor, 'writable')); +}; + + +/***/ }), +/* 391 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var anObject = __webpack_require__(46); +var getOwnPropertyDescriptorModule = __webpack_require__(5); + +// `Reflect.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-reflect.getownpropertydescriptor +$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { + return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + } +}); + + +/***/ }), +/* 392 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var objectGetPrototypeOf = __webpack_require__(128); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +// `Reflect.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-reflect.getprototypeof +$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(target) { + return objectGetPrototypeOf(anObject(target)); + } +}); + + +/***/ }), +/* 393 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Reflect.has` method +// https://tc39.es/ecma262/#sec-reflect.has +$({ target: 'Reflect', stat: true }, { + has: function has(target, propertyKey) { + return propertyKey in target; + } +}); + + +/***/ }), +/* 394 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var $isExtensible = __webpack_require__(274); + +// `Reflect.isExtensible` method +// https://tc39.es/ecma262/#sec-reflect.isextensible +$({ target: 'Reflect', stat: true }, { + isExtensible: function isExtensible(target) { + anObject(target); + return $isExtensible(target); + } +}); + + +/***/ }), +/* 395 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ownKeys = __webpack_require__(56); + +// `Reflect.ownKeys` method +// https://tc39.es/ecma262/#sec-reflect.ownkeys +$({ target: 'Reflect', stat: true }, { + ownKeys: ownKeys +}); + + +/***/ }), +/* 396 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var anObject = __webpack_require__(46); +var FREEZING = __webpack_require__(276); + +// `Reflect.preventExtensions` method +// https://tc39.es/ecma262/#sec-reflect.preventextensions +$({ target: 'Reflect', stat: true, sham: !FREEZING }, { + preventExtensions: function preventExtensions(target) { + anObject(target); + try { + var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions'); + if (objectPreventExtensions) objectPreventExtensions(target); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 397 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var isDataDescriptor = __webpack_require__(390); +var fails = __webpack_require__(7); +var definePropertyModule = __webpack_require__(44); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var getPrototypeOf = __webpack_require__(128); +var createPropertyDescriptor = __webpack_require__(11); + +// `Reflect.set` method +// https://tc39.es/ecma262/#sec-reflect.set +function set(target, propertyKey, V /* , receiver */) { + var receiver = arguments.length < 4 ? target : arguments[3]; + var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + var existingDescriptor, prototype, setter; + if (!ownDescriptor) { + if (isObject(prototype = getPrototypeOf(target))) { + return set(prototype, propertyKey, V, receiver); + } + ownDescriptor = createPropertyDescriptor(0); + } + if (isDataDescriptor(ownDescriptor)) { + if (ownDescriptor.writable === false || !isObject(receiver)) return false; + if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) { + if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; + existingDescriptor.value = V; + definePropertyModule.f(receiver, propertyKey, existingDescriptor); + } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V)); + } else { + setter = ownDescriptor.set; + if (setter === undefined) return false; + call(setter, receiver, V); + } return true; +} + +// MS Edge 17-18 Reflect.set allows setting the property to object +// with non-writable property on the prototype +var MS_EDGE_BUG = fails(function () { + var Constructor = function () { /* empty */ }; + var object = definePropertyModule.f(new Constructor(), 'a', { configurable: true }); + // eslint-disable-next-line es/no-reflect -- required for testing + return Reflect.set(Constructor.prototype, 'a', 1, object) !== false; +}); + +$({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, { + set: set +}); + + +/***/ }), +/* 398 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var aPossiblePrototype = __webpack_require__(115); +var objectSetPrototypeOf = __webpack_require__(113); + +// `Reflect.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-reflect.setprototypeof +if (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, { + setPrototypeOf: function setPrototypeOf(target, proto) { + anObject(target); + aPossiblePrototype(proto); + try { + objectSetPrototypeOf(target, proto); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 399 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var setToStringTag = __webpack_require__(82); + +$({ global: true }, { Reflect: {} }); + +// Reflect[@@toStringTag] property +// https://tc39.es/ecma262/#sec-reflect-@@tostringtag +setToStringTag(globalThis.Reflect, 'Reflect', true); + + +/***/ }), +/* 400 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var inheritIfRequired = __webpack_require__(118); +var createNonEnumerableProperty = __webpack_require__(43); +var create = __webpack_require__(71); +var getOwnPropertyNames = (__webpack_require__(57).f); +var isPrototypeOf = __webpack_require__(24); +var isRegExp = __webpack_require__(401); +var toString = __webpack_require__(68); +var getRegExpFlags = __webpack_require__(402); +var stickyHelpers = __webpack_require__(404); +var proxyAccessor = __webpack_require__(117); +var defineBuiltIn = __webpack_require__(47); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var enforceInternalState = (__webpack_require__(51).enforce); +var setSpecies = __webpack_require__(194); +var wellKnownSymbol = __webpack_require__(33); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var UNSUPPORTED_NCG = __webpack_require__(406); + +var MATCH = wellKnownSymbol('match'); +var NativeRegExp = globalThis.RegExp; +var RegExpPrototype = NativeRegExp.prototype; +var SyntaxError = globalThis.SyntaxError; +var exec = uncurryThis(RegExpPrototype.exec); +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var stringIndexOf = uncurryThis(''.indexOf); +var stringSlice = uncurryThis(''.slice); +// TODO: Use only proper RegExpIdentifierName +var IS_NCG = /^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/; +var re1 = /a/g; +var re2 = /a/g; + +// "new" should create a new object, old webkit bug +var CORRECT_NEW = new NativeRegExp(re1) !== re1; + +var MISSED_STICKY = stickyHelpers.MISSED_STICKY; +var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; + +var BASE_FORCED = DESCRIPTORS && + (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () { + re2[MATCH] = false; + // RegExp constructor can alter flags and IsRegExp works correct with @@match + // eslint-disable-next-line sonarjs/inconsistent-function-call -- required for testing + return NativeRegExp(re1) !== re1 || NativeRegExp(re2) === re2 || String(NativeRegExp(re1, 'i')) !== '/a/i'; + })); + +var handleDotAll = function (string) { + var length = string.length; + var index = 0; + var result = ''; + var brackets = false; + var chr; + for (; index <= length; index++) { + chr = charAt(string, index); + if (chr === '\\') { + result += chr + charAt(string, ++index); + continue; + } + if (!brackets && chr === '.') { + result += '[\\s\\S]'; + } else { + if (chr === '[') { + brackets = true; + } else if (chr === ']') { + brackets = false; + } result += chr; + } + } return result; +}; + +var handleNCG = function (string) { + var length = string.length; + var index = 0; + var result = ''; + var named = []; + var names = create(null); + var brackets = false; + var ncg = false; + var groupid = 0; + var groupname = ''; + var chr; + for (; index <= length; index++) { + chr = charAt(string, index); + if (chr === '\\') { + chr += charAt(string, ++index); + } else if (chr === ']') { + brackets = false; + } else if (!brackets) switch (true) { + case chr === '[': + brackets = true; + break; + case chr === '(': + result += chr; + // ignore non-capturing groups + if (stringSlice(string, index + 1, index + 3) === '?:') { + continue; + } + if (exec(IS_NCG, stringSlice(string, index + 1))) { + index += 2; + ncg = true; + } + groupid++; + continue; + case chr === '>' && ncg: + if (groupname === '' || hasOwn(names, groupname)) { + throw new SyntaxError('Invalid capture group name'); + } + names[groupname] = true; + named[named.length] = [groupname, groupid]; + ncg = false; + groupname = ''; + continue; + } + if (ncg) groupname += chr; + else result += chr; + } return [result, named]; +}; + +// `RegExp` constructor +// https://tc39.es/ecma262/#sec-regexp-constructor +if (isForced('RegExp', BASE_FORCED)) { + var RegExpWrapper = function RegExp(pattern, flags) { + var thisIsRegExp = isPrototypeOf(RegExpPrototype, this); + var patternIsRegExp = isRegExp(pattern); + var flagsAreUndefined = flags === undefined; + var groups = []; + var rawPattern = pattern; + var rawFlags, dotAll, sticky, handled, result, state; + + if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) { + return pattern; + } + + if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) { + pattern = pattern.source; + if (flagsAreUndefined) flags = getRegExpFlags(rawPattern); + } + + pattern = pattern === undefined ? '' : toString(pattern); + flags = flags === undefined ? '' : toString(flags); + rawPattern = pattern; + + if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) { + dotAll = !!flags && stringIndexOf(flags, 's') > -1; + if (dotAll) flags = replace(flags, /s/g, ''); + } + + rawFlags = flags; + + if (MISSED_STICKY && 'sticky' in re1) { + sticky = !!flags && stringIndexOf(flags, 'y') > -1; + if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, ''); + } + + if (UNSUPPORTED_NCG) { + handled = handleNCG(pattern); + pattern = handled[0]; + groups = handled[1]; + } + + result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper); + + if (dotAll || sticky || groups.length) { + state = enforceInternalState(result); + if (dotAll) { + state.dotAll = true; + state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags); + } + if (sticky) state.sticky = true; + if (groups.length) state.groups = groups; + } + + if (pattern !== rawPattern) try { + // fails in old engines, but we have no alternatives for unsupported regex syntax + createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern); + } catch (error) { /* empty */ } + + return result; + }; + + for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) { + proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]); + } + + RegExpPrototype.constructor = RegExpWrapper; + RegExpWrapper.prototype = RegExpPrototype; + defineBuiltIn(globalThis, 'RegExp', RegExpWrapper, { constructor: true }); +} + +// https://tc39.es/ecma262/#sec-get-regexp-@@species +setSpecies('RegExp'); + + +/***/ }), +/* 401 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var wellKnownSymbol = __webpack_require__(33); + +var MATCH = wellKnownSymbol('match'); + +// `IsRegExp` abstract operation +// https://tc39.es/ecma262/#sec-isregexp +module.exports = function (it) { + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp'); +}; + + +/***/ }), +/* 402 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var hasOwn = __webpack_require__(38); +var isPrototypeOf = __webpack_require__(24); +var regExpFlags = __webpack_require__(403); + +var RegExpPrototype = RegExp.prototype; + +module.exports = function (R) { + var flags = R.flags; + return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R) + ? call(regExpFlags, R) : flags; +}; + + +/***/ }), +/* 403 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); + +// `RegExp.prototype.flags` getter implementation +// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.hasIndices) result += 'd'; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.dotAll) result += 's'; + if (that.unicode) result += 'u'; + if (that.unicodeSets) result += 'v'; + if (that.sticky) result += 'y'; + return result; +}; + + +/***/ }), +/* 404 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +var UNSUPPORTED_Y = fails(function () { + var re = $RegExp('a', 'y'); + re.lastIndex = 2; + return re.exec('abcd') !== null; +}); + +// UC Browser bug +// https://github.com/zloirock/core-js/issues/1008 +var MISSED_STICKY = UNSUPPORTED_Y || fails(function () { + return !$RegExp('a', 'y').sticky; +}); + +var BROKEN_CARET = UNSUPPORTED_Y || fails(function () { + // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 + var re = $RegExp('^r', 'gy'); + re.lastIndex = 2; + return re.exec('str') !== null; +}); + +module.exports = { + BROKEN_CARET: BROKEN_CARET, + MISSED_STICKY: MISSED_STICKY, + UNSUPPORTED_Y: UNSUPPORTED_Y +}; + + +/***/ }), +/* 405 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +module.exports = fails(function () { + var re = $RegExp('.', 's'); + return !(re.dotAll && re.test('\n') && re.flags === 's'); +}); + + +/***/ }), +/* 406 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +module.exports = fails(function () { + var re = $RegExp('(?<a>b)', 'g'); + return re.exec('b').groups.a !== 'b' || + 'b'.replace(re, '$<a>c') !== 'bc'; +}); + + +/***/ }), +/* 407 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var classof = __webpack_require__(15); +var defineBuiltInAccessor = __webpack_require__(77); +var getInternalState = (__webpack_require__(51).get); + +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; + +// `RegExp.prototype.dotAll` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall +if (DESCRIPTORS && UNSUPPORTED_DOT_ALL) { + defineBuiltInAccessor(RegExpPrototype, 'dotAll', { + configurable: true, + get: function dotAll() { + if (this === RegExpPrototype) return; + // We can't use InternalStateModule.getterFor because + // we don't add metadata for regexps created by a literal. + if (classof(this) === 'RegExp') { + return !!getInternalState(this).dotAll; + } + throw new $TypeError('Incompatible receiver, RegExp required'); + } + }); +} + + +/***/ }), +/* 408 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var exec = __webpack_require__(409); + +// `RegExp.prototype.exec` method +// https://tc39.es/ecma262/#sec-regexp.prototype.exec +$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { + exec: exec +}); + + +/***/ }), +/* 409 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */ +/* eslint-disable regexp/no-useless-quantifier -- testing */ +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var regexpFlags = __webpack_require__(403); +var stickyHelpers = __webpack_require__(404); +var shared = __webpack_require__(34); +var create = __webpack_require__(71); +var getInternalState = (__webpack_require__(51).get); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var UNSUPPORTED_NCG = __webpack_require__(406); + +var nativeReplace = shared('native-string-replace', String.prototype.replace); +var nativeExec = RegExp.prototype.exec; +var patchedExec = nativeExec; +var charAt = uncurryThis(''.charAt); +var indexOf = uncurryThis(''.indexOf); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); + +var UPDATES_LAST_INDEX_WRONG = (function () { + var re1 = /a/; + var re2 = /b*/g; + call(nativeExec, re1, 'a'); + call(nativeExec, re2, 'a'); + return re1.lastIndex !== 0 || re2.lastIndex !== 0; +})(); + +var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET; + +// nonparticipating capturing group, copied from es5-shim's String#split patch. +var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; + +var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG; + +if (PATCH) { + patchedExec = function exec(string) { + var re = this; + var state = getInternalState(re); + var str = toString(string); + var raw = state.raw; + var result, reCopy, lastIndex, match, i, object, group; + + if (raw) { + raw.lastIndex = re.lastIndex; + result = call(patchedExec, raw, str); + re.lastIndex = raw.lastIndex; + return result; + } + + var groups = state.groups; + var sticky = UNSUPPORTED_Y && re.sticky; + var flags = call(regexpFlags, re); + var source = re.source; + var charsAdded = 0; + var strCopy = str; + + if (sticky) { + flags = replace(flags, 'y', ''); + if (indexOf(flags, 'g') === -1) { + flags += 'g'; + } + + strCopy = stringSlice(str, re.lastIndex); + // Support anchored sticky behavior. + if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\n')) { + source = '(?: ' + source + ')'; + strCopy = ' ' + strCopy; + charsAdded++; + } + // ^(? + rx + ) is needed, in combination with some str slicing, to + // simulate the 'y' flag. + reCopy = new RegExp('^(?:' + source + ')', flags); + } + + if (NPCG_INCLUDED) { + reCopy = new RegExp('^' + source + '$(?!\\s)', flags); + } + if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; + + match = call(nativeExec, sticky ? reCopy : re, strCopy); + + if (sticky) { + if (match) { + match.input = stringSlice(match.input, charsAdded); + match[0] = stringSlice(match[0], charsAdded); + match.index = re.lastIndex; + re.lastIndex += match[0].length; + } else re.lastIndex = 0; + } else if (UPDATES_LAST_INDEX_WRONG && match) { + re.lastIndex = re.global ? match.index + match[0].length : lastIndex; + } + if (NPCG_INCLUDED && match && match.length > 1) { + // Fix browsers whose `exec` methods don't consistently return `undefined` + // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/ + call(nativeReplace, match[0], reCopy, function () { + for (i = 1; i < arguments.length - 2; i++) { + if (arguments[i] === undefined) match[i] = undefined; + } + }); + } + + if (match && groups) { + match.groups = object = create(null); + for (i = 0; i < groups.length; i++) { + group = groups[i]; + object[group[0]] = match[group[1]]; + } + } + + return match; + }; +} + +module.exports = patchedExec; + + +/***/ }), +/* 410 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var regExpFlags = __webpack_require__(403); +var fails = __webpack_require__(7); + +// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError +var RegExp = globalThis.RegExp; +var RegExpPrototype = RegExp.prototype; + +var FORCED = DESCRIPTORS && fails(function () { + var INDICES_SUPPORT = true; + try { + RegExp('.', 'd'); + } catch (error) { + INDICES_SUPPORT = false; + } + + var O = {}; + // modern V8 bug + var calls = ''; + var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy'; + + var addGetter = function (key, chr) { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty(O, key, { get: function () { + calls += chr; + return true; + } }); + }; + + var pairs = { + dotAll: 's', + global: 'g', + ignoreCase: 'i', + multiline: 'm', + sticky: 'y' + }; + + if (INDICES_SUPPORT) pairs.hasIndices = 'd'; + + for (var key in pairs) addGetter(key, pairs[key]); + + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var result = Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call(O); + + return result !== expected || calls !== expected; +}); + +// `RegExp.prototype.flags` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags +if (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', { + configurable: true, + get: regExpFlags +}); + + +/***/ }), +/* 411 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var MISSED_STICKY = (__webpack_require__(404).MISSED_STICKY); +var classof = __webpack_require__(15); +var defineBuiltInAccessor = __webpack_require__(77); +var getInternalState = (__webpack_require__(51).get); + +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; + +// `RegExp.prototype.sticky` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky +if (DESCRIPTORS && MISSED_STICKY) { + defineBuiltInAccessor(RegExpPrototype, 'sticky', { + configurable: true, + get: function sticky() { + if (this === RegExpPrototype) return; + // We can't use InternalStateModule.getterFor because + // we don't add metadata for regexps created by a literal. + if (classof(this) === 'RegExp') { + return !!getInternalState(this).sticky; + } + throw new $TypeError('Incompatible receiver, RegExp required'); + } + }); +} + + +/***/ }), +/* 412 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` since it's moved to entry points +__webpack_require__(408); +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var anObject = __webpack_require__(46); +var toString = __webpack_require__(68); + +var DELEGATES_TO_EXEC = function () { + var execCalled = false; + var re = /[ac]/; + re.exec = function () { + execCalled = true; + return /./.exec.apply(this, arguments); + }; + return re.test('abc') === true && execCalled; +}(); + +var nativeTest = /./.test; + +// `RegExp.prototype.test` method +// https://tc39.es/ecma262/#sec-regexp.prototype.test +$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, { + test: function (S) { + var R = anObject(this); + var string = toString(S); + var exec = R.exec; + if (!isCallable(exec)) return call(nativeTest, R, string); + var result = call(exec, R, string); + if (result === null) return false; + anObject(result); + return true; + } +}); + + +/***/ }), +/* 413 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var PROPER_FUNCTION_NAME = (__webpack_require__(49).PROPER); +var defineBuiltIn = __webpack_require__(47); +var anObject = __webpack_require__(46); +var $toString = __webpack_require__(68); +var fails = __webpack_require__(7); +var getRegExpFlags = __webpack_require__(402); + +var TO_STRING = 'toString'; +var RegExpPrototype = RegExp.prototype; +var nativeToString = RegExpPrototype[TO_STRING]; + +var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; }); +// FF44- RegExp#toString has a wrong name +var INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING; + +// `RegExp.prototype.toString` method +// https://tc39.es/ecma262/#sec-regexp.prototype.tostring +if (NOT_GENERIC || INCORRECT_NAME) { + defineBuiltIn(RegExpPrototype, TO_STRING, function toString() { + var R = anObject(this); + var pattern = $toString(R.source); + var flags = $toString(getRegExpFlags(R)); + return '/' + pattern + '/' + flags; + }, { unsafe: true }); +} + + +/***/ }), +/* 414 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(415); + + +/***/ }), +/* 415 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionStrong = __webpack_require__(277); + +// `Set` constructor +// https://tc39.es/ecma262/#sec-set-objects +collection('Set', function (init) { + return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + + +/***/ }), +/* 416 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var difference = __webpack_require__(417); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.difference` method +// https://tc39.es/ecma262/#sec-set.prototype.difference +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, { + difference: difference +}); + + +/***/ }), +/* 417 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var clone = __webpack_require__(420); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); + +var has = SetHelpers.has; +var remove = SetHelpers.remove; + +// `Set.prototype.difference` method +// https://github.com/tc39/proposal-set-methods +module.exports = function difference(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = clone(O); + if (size(O) <= otherRec.size) iterateSet(O, function (e) { + if (otherRec.includes(e)) remove(result, e); + }); + else iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) remove(result, e); + }); + return result; +}; + + +/***/ }), +/* 418 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var has = (__webpack_require__(419).has); + +// Perform ? RequireInternalSlot(M, [[SetData]]) +module.exports = function (it) { + has(it); + return it; +}; + + +/***/ }), +/* 419 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// eslint-disable-next-line es/no-set -- safe +var SetPrototype = Set.prototype; + +module.exports = { + // eslint-disable-next-line es/no-set -- safe + Set: Set, + add: uncurryThis(SetPrototype.add), + has: uncurryThis(SetPrototype.has), + remove: uncurryThis(SetPrototype['delete']), + proto: SetPrototype +}; + + +/***/ }), +/* 420 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var SetHelpers = __webpack_require__(419); +var iterate = __webpack_require__(421); + +var Set = SetHelpers.Set; +var add = SetHelpers.add; + +module.exports = function (set) { + var result = new Set(); + iterate(set, function (it) { + add(result, it); + }); + return result; +}; + + +/***/ }), +/* 421 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var iterateSimple = __webpack_require__(422); +var SetHelpers = __webpack_require__(419); + +var Set = SetHelpers.Set; +var SetPrototype = SetHelpers.proto; +var forEach = uncurryThis(SetPrototype.forEach); +var keys = uncurryThis(SetPrototype.keys); +var next = keys(new Set()).next; + +module.exports = function (set, fn, interruptible) { + return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn); +}; + + +/***/ }), +/* 422 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); + +module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) { + var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator; + var next = record.next; + var step, result; + while (!(step = call(next, iterator)).done) { + result = fn(step.value); + if (result !== undefined) return result; + } +}; + + +/***/ }), +/* 423 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThisAccessor = __webpack_require__(114); +var SetHelpers = __webpack_require__(419); + +module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) { + return set.size; +}; + + +/***/ }), +/* 424 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var call = __webpack_require__(8); +var toIntegerOrInfinity = __webpack_require__(61); +var getIteratorDirect = __webpack_require__(252); + +var INVALID_SIZE = 'Invalid size'; +var $RangeError = RangeError; +var $TypeError = TypeError; +var max = Math.max; + +var SetRecord = function (set, intSize) { + this.set = set; + this.size = max(intSize, 0); + this.has = aCallable(set.has); + this.keys = aCallable(set.keys); +}; + +SetRecord.prototype = { + getIterator: function () { + return getIteratorDirect(anObject(call(this.keys, this.set))); + }, + includes: function (it) { + return call(this.has, this.set, it); + } +}; + +// `GetSetRecord` abstract operation +// https://tc39.es/proposal-set-methods/#sec-getsetrecord +module.exports = function (obj) { + anObject(obj); + var numSize = +obj.size; + // NOTE: If size is undefined, then numSize will be NaN + // eslint-disable-next-line no-self-compare -- NaN check + if (numSize !== numSize) throw new $TypeError(INVALID_SIZE); + var intSize = toIntegerOrInfinity(numSize); + if (intSize < 0) throw new $RangeError(INVALID_SIZE); + return new SetRecord(obj, intSize); +}; + + +/***/ }), +/* 425 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); + +var createSetLike = function (size) { + return { + size: size, + has: function () { + return false; + }, + keys: function () { + return { + next: function () { + return { done: true }; + } + }; + } + }; +}; + +module.exports = function (name) { + var Set = getBuiltIn('Set'); + try { + new Set()[name](createSetLike(0)); + try { + // late spec change, early WebKit ~ Safari 17.0 beta implementation does not pass it + // https://github.com/tc39/proposal-set-methods/pull/88 + new Set()[name](createSetLike(-1)); + return false; + } catch (error2) { + return true; + } + } catch (error) { + return false; + } +}; + + +/***/ }), +/* 426 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var intersection = __webpack_require__(427); +var setMethodAcceptSetLike = __webpack_require__(425); + +var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () { + // eslint-disable-next-line es/no-array-from, es/no-set -- testing + return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2'; +}); + +// `Set.prototype.intersection` method +// https://tc39.es/ecma262/#sec-set.prototype.intersection +$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, { + intersection: intersection +}); + + +/***/ }), +/* 427 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); + +var Set = SetHelpers.Set; +var add = SetHelpers.add; +var has = SetHelpers.has; + +// `Set.prototype.intersection` method +// https://github.com/tc39/proposal-set-methods +module.exports = function intersection(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = new Set(); + + if (size(O) > otherRec.size) { + iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) add(result, e); + }); + } else { + iterateSet(O, function (e) { + if (otherRec.includes(e)) add(result, e); + }); + } + + return result; +}; + + +/***/ }), +/* 428 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isDisjointFrom = __webpack_require__(429); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isDisjointFrom` method +// https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, { + isDisjointFrom: isDisjointFrom +}); + + +/***/ }), +/* 429 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var has = (__webpack_require__(419).has); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); +var iteratorClose = __webpack_require__(135); + +// `Set.prototype.isDisjointFrom` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom +module.exports = function isDisjointFrom(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) <= otherRec.size) return iterateSet(O, function (e) { + if (otherRec.includes(e)) return false; + }, true) !== false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (has(O, e)) return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + + +/***/ }), +/* 430 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isSubsetOf = __webpack_require__(431); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isSubsetOf` method +// https://tc39.es/ecma262/#sec-set.prototype.issubsetof +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, { + isSubsetOf: isSubsetOf +}); + + +/***/ }), +/* 431 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var size = __webpack_require__(423); +var iterate = __webpack_require__(421); +var getSetRecord = __webpack_require__(424); + +// `Set.prototype.isSubsetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf +module.exports = function isSubsetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) > otherRec.size) return false; + return iterate(O, function (e) { + if (!otherRec.includes(e)) return false; + }, true) !== false; +}; + + +/***/ }), +/* 432 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isSupersetOf = __webpack_require__(433); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isSupersetOf` method +// https://tc39.es/ecma262/#sec-set.prototype.issupersetof +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, { + isSupersetOf: isSupersetOf +}); + + +/***/ }), +/* 433 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var has = (__webpack_require__(419).has); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); +var iteratorClose = __webpack_require__(135); + +// `Set.prototype.isSupersetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf +module.exports = function isSupersetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) < otherRec.size) return false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (!has(O, e)) return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + + +/***/ }), +/* 434 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var symmetricDifference = __webpack_require__(435); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.symmetricDifference` method +// https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, { + symmetricDifference: symmetricDifference +}); + + +/***/ }), +/* 435 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var clone = __webpack_require__(420); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); + +var add = SetHelpers.add; +var has = SetHelpers.has; +var remove = SetHelpers.remove; + +// `Set.prototype.symmetricDifference` method +// https://github.com/tc39/proposal-set-methods +module.exports = function symmetricDifference(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (e) { + if (has(O, e)) remove(result, e); + else add(result, e); + }); + return result; +}; + + +/***/ }), +/* 436 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var union = __webpack_require__(437); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.union` method +// https://tc39.es/ecma262/#sec-set.prototype.union +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, { + union: union +}); + + +/***/ }), +/* 437 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var add = (__webpack_require__(419).add); +var clone = __webpack_require__(420); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); + +// `Set.prototype.union` method +// https://github.com/tc39/proposal-set-methods +module.exports = function union(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (it) { + add(result, it); + }); + return result; +}; + + +/***/ }), +/* 438 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); + +var charAt = uncurryThis(''.charAt); + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-string-prototype-at -- safe + return '𠮷'.at(-2) !== '\uD842'; +}); + +// `String.prototype.at` method +// https://tc39.es/ecma262/#sec-string.prototype.at +$({ target: 'String', proto: true, forced: FORCED }, { + at: function at(index) { + var S = toString(requireObjectCoercible(this)); + var len = S.length; + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : charAt(S, k); + } +}); + + +/***/ }), +/* 439 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var codeAt = (__webpack_require__(440).codeAt); + +// `String.prototype.codePointAt` method +// https://tc39.es/ecma262/#sec-string.prototype.codepointat +$({ target: 'String', proto: true }, { + codePointAt: function codePointAt(pos) { + return codeAt(this, pos); + } +}); + + +/***/ }), +/* 440 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); + +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var stringSlice = uncurryThis(''.slice); + +var createMethod = function (CONVERT_TO_STRING) { + return function ($this, pos) { + var S = toString(requireObjectCoercible($this)); + var position = toIntegerOrInfinity(pos); + var size = S.length; + var first, second; + if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; + first = charCodeAt(S, position); + return first < 0xD800 || first > 0xDBFF || position + 1 === size + || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF + ? CONVERT_TO_STRING + ? charAt(S, position) + : first + : CONVERT_TO_STRING + ? stringSlice(S, position, position + 2) + : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; + }; +}; + +module.exports = { + // `String.prototype.codePointAt` method + // https://tc39.es/ecma262/#sec-string.prototype.codepointat + codeAt: createMethod(false), + // `String.prototype.at` method + // https://github.com/mathiasbynens/String.prototype.at + charAt: createMethod(true) +}; + + +/***/ }), +/* 441 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var correctIsRegExpLogic = __webpack_require__(443); +var IS_PURE = __webpack_require__(36); + +var slice = uncurryThis(''.slice); +var min = Math.min; + +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith'); + return descriptor && !descriptor.writable; +}(); + +// `String.prototype.endsWith` method +// https://tc39.es/ecma262/#sec-string.prototype.endswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + endsWith: function endsWith(searchString /* , endPosition = @length */) { + var that = toString(requireObjectCoercible(this)); + notARegExp(searchString); + var endPosition = arguments.length > 1 ? arguments[1] : undefined; + var len = that.length; + var end = endPosition === undefined ? len : min(toLength(endPosition), len); + var search = toString(searchString); + return slice(that, end - search.length, end) === search; + } +}); + + +/***/ }), +/* 442 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isRegExp = __webpack_require__(401); + +var $TypeError = TypeError; + +module.exports = function (it) { + if (isRegExp(it)) { + throw new $TypeError("The method doesn't accept regular expressions"); + } return it; +}; + + +/***/ }), +/* 443 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var MATCH = wellKnownSymbol('match'); + +module.exports = function (METHOD_NAME) { + var regexp = /./; + try { + '/./'[METHOD_NAME](regexp); + } catch (error1) { + try { + regexp[MATCH] = false; + return '/./'[METHOD_NAME](regexp); + } catch (error2) { /* empty */ } + } return false; +}; + + +/***/ }), +/* 444 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toAbsoluteIndex = __webpack_require__(60); + +var $RangeError = RangeError; +var fromCharCode = String.fromCharCode; +// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing +var $fromCodePoint = String.fromCodePoint; +var join = uncurryThis([].join); + +// length should be 1, old FF problem +var INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length !== 1; + +// `String.fromCodePoint` method +// https://tc39.es/ecma262/#sec-string.fromcodepoint +$({ target: 'String', stat: true, arity: 1, forced: INCORRECT_LENGTH }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + fromCodePoint: function fromCodePoint(x) { + var elements = []; + var length = arguments.length; + var i = 0; + var code; + while (length > i) { + code = +arguments[i++]; + if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw new $RangeError(code + ' is not a valid code point'); + elements[i] = code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00); + } return join(elements, ''); + } +}); + + +/***/ }), +/* 445 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var correctIsRegExpLogic = __webpack_require__(443); + +var stringIndexOf = uncurryThis(''.indexOf); + +// `String.prototype.includes` method +// https://tc39.es/ecma262/#sec-string.prototype.includes +$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { + includes: function includes(searchString /* , position = 0 */) { + return !!~stringIndexOf( + toString(requireObjectCoercible(this)), + toString(notARegExp(searchString)), + arguments.length > 1 ? arguments[1] : undefined + ); + } +}); + + +/***/ }), +/* 446 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); + +var charCodeAt = uncurryThis(''.charCodeAt); + +// `String.prototype.isWellFormed` method +// https://tc39.es/ecma262/#sec-string.prototype.iswellformed +$({ target: 'String', proto: true }, { + isWellFormed: function isWellFormed() { + var S = toString(requireObjectCoercible(this)); + var length = S.length; + for (var i = 0; i < length; i++) { + var charCode = charCodeAt(S, i); + // single UTF-16 code unit + if ((charCode & 0xF800) !== 0xD800) continue; + // unpaired surrogate + if (charCode >= 0xDC00 || ++i >= length || (charCodeAt(S, i) & 0xFC00) !== 0xDC00) return false; + } return true; + } +}); + + +/***/ }), +/* 447 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var charAt = (__webpack_require__(440).charAt); +var toString = __webpack_require__(68); +var InternalStateModule = __webpack_require__(51); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); + +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// `String.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-string.prototype-@@iterator +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: toString(iterated), + index: 0 + }); +// `%StringIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return createIterResultObject(undefined, true); + point = charAt(string, index); + state.index += point.length; + return createIterResultObject(point, false); +}); + + +/***/ }), +/* 448 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); +var getMethod = __webpack_require__(29); +var advanceStringIndex = __webpack_require__(450); +var regExpExec = __webpack_require__(451); + +// @@match logic +fixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) { + return [ + // `String.prototype.match` method + // https://tc39.es/ecma262/#sec-string.prototype.match + function match(regexp) { + var O = requireObjectCoercible(this); + var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH); + return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O)); + }, + // `RegExp.prototype[@@match]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@match + function (string) { + var rx = anObject(this); + var S = toString(string); + var res = maybeCallNative(nativeMatch, rx, S); + + if (res.done) return res.value; + + if (!rx.global) return regExpExec(rx, S); + + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + var A = []; + var n = 0; + var result; + while ((result = regExpExec(rx, S)) !== null) { + var matchStr = toString(result[0]); + A[n] = matchStr; + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + n++; + } + return n === 0 ? null : A; + } + ]; +}); + + +/***/ }), +/* 449 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` since it's moved to entry points +__webpack_require__(408); +var call = __webpack_require__(8); +var defineBuiltIn = __webpack_require__(47); +var regexpExec = __webpack_require__(409); +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var createNonEnumerableProperty = __webpack_require__(43); + +var SPECIES = wellKnownSymbol('species'); +var RegExpPrototype = RegExp.prototype; + +module.exports = function (KEY, exec, FORCED, SHAM) { + var SYMBOL = wellKnownSymbol(KEY); + + var DELEGATES_TO_SYMBOL = !fails(function () { + // String methods call symbol-named RegExp methods + var O = {}; + O[SYMBOL] = function () { return 7; }; + return ''[KEY](O) !== 7; + }); + + var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { + // Symbol-named RegExp methods call .exec + var execCalled = false; + var re = /a/; + + if (KEY === 'split') { + // We can't use real regex here since it causes deoptimization + // and serious performance degradation in V8 + // https://github.com/zloirock/core-js/issues/306 + re = {}; + // RegExp[@@split] doesn't call the regex's exec method, but first creates + // a new one. We need to return the patched regex when creating the new one. + re.constructor = {}; + re.constructor[SPECIES] = function () { return re; }; + re.flags = ''; + re[SYMBOL] = /./[SYMBOL]; + } + + re.exec = function () { + execCalled = true; + return null; + }; + + re[SYMBOL](''); + return !execCalled; + }); + + if ( + !DELEGATES_TO_SYMBOL || + !DELEGATES_TO_EXEC || + FORCED + ) { + var nativeRegExpMethod = /./[SYMBOL]; + var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { + var $exec = regexp.exec; + if ($exec === regexpExec || $exec === RegExpPrototype.exec) { + if (DELEGATES_TO_SYMBOL && !forceStringMethod) { + // The native String method already delegates to @@method (this + // polyfilled function), leasing to infinite recursion. + // We avoid it by directly calling the native @@method method. + return { done: true, value: call(nativeRegExpMethod, regexp, str, arg2) }; + } + return { done: true, value: call(nativeMethod, str, regexp, arg2) }; + } + return { done: false }; + }); + + defineBuiltIn(String.prototype, KEY, methods[0]); + defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]); + } + + if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true); +}; + + +/***/ }), +/* 450 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var charAt = (__webpack_require__(440).charAt); + +// `AdvanceStringIndex` abstract operation +// https://tc39.es/ecma262/#sec-advancestringindex +module.exports = function (S, index, unicode) { + return index + (unicode ? charAt(S, index).length : 1); +}; + + +/***/ }), +/* 451 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(15); +var regexpExec = __webpack_require__(409); + +var $TypeError = TypeError; + +// `RegExpExec` abstract operation +// https://tc39.es/ecma262/#sec-regexpexec +module.exports = function (R, S) { + var exec = R.exec; + if (isCallable(exec)) { + var result = call(exec, R, S); + if (result !== null) anObject(result); + return result; + } + if (classof(R) === 'RegExp') return call(regexpExec, R, S); + throw new $TypeError('RegExp#exec called on incompatible receiver'); +}; + + +/***/ }), +/* 452 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-string-prototype-matchall -- safe */ +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(85); +var createIteratorConstructor = __webpack_require__(170); +var createIterResultObject = __webpack_require__(172); +var requireObjectCoercible = __webpack_require__(16); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var classof = __webpack_require__(15); +var isRegExp = __webpack_require__(401); +var getRegExpFlags = __webpack_require__(402); +var getMethod = __webpack_require__(29); +var defineBuiltIn = __webpack_require__(47); +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var speciesConstructor = __webpack_require__(358); +var advanceStringIndex = __webpack_require__(450); +var regExpExec = __webpack_require__(451); +var InternalStateModule = __webpack_require__(51); +var IS_PURE = __webpack_require__(36); + +var MATCH_ALL = wellKnownSymbol('matchAll'); +var REGEXP_STRING = 'RegExp String'; +var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR); +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; +var stringIndexOf = uncurryThis(''.indexOf); +var nativeMatchAll = uncurryThis(''.matchAll); + +var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () { + nativeMatchAll('a', /./); +}); + +var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, $global, fullUnicode) { + setInternalState(this, { + type: REGEXP_STRING_ITERATOR, + regexp: regexp, + string: string, + global: $global, + unicode: fullUnicode, + done: false + }); +}, REGEXP_STRING, function next() { + var state = getInternalState(this); + if (state.done) return createIterResultObject(undefined, true); + var R = state.regexp; + var S = state.string; + var match = regExpExec(R, S); + if (match === null) { + state.done = true; + return createIterResultObject(undefined, true); + } + if (state.global) { + if (toString(match[0]) === '') R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode); + return createIterResultObject(match, false); + } + state.done = true; + return createIterResultObject(match, false); +}); + +var $matchAll = function (string) { + var R = anObject(this); + var S = toString(string); + var C = speciesConstructor(R, RegExp); + var flags = toString(getRegExpFlags(R)); + var matcher, $global, fullUnicode; + matcher = new C(C === RegExp ? R.source : R, flags); + $global = !!~stringIndexOf(flags, 'g'); + fullUnicode = !!~stringIndexOf(flags, 'u'); + matcher.lastIndex = toLength(R.lastIndex); + return new $RegExpStringIterator(matcher, S, $global, fullUnicode); +}; + +// `String.prototype.matchAll` method +// https://tc39.es/ecma262/#sec-string.prototype.matchall +$({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, { + matchAll: function matchAll(regexp) { + var O = requireObjectCoercible(this); + var flags, S, matcher, rx; + if (!isNullOrUndefined(regexp)) { + if (isRegExp(regexp)) { + flags = toString(requireObjectCoercible(getRegExpFlags(regexp))); + if (!~stringIndexOf(flags, 'g')) throw new $TypeError('`.matchAll` does not allow non-global regexes'); + } + if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll(O, regexp); + matcher = getMethod(regexp, MATCH_ALL); + if (matcher === undefined && IS_PURE && classof(regexp) === 'RegExp') matcher = $matchAll; + if (matcher) return call(matcher, regexp, O); + } else if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll(O, regexp); + S = toString(O); + rx = new RegExp(regexp, 'g'); + return IS_PURE ? call($matchAll, rx, S) : rx[MATCH_ALL](S); + } +}); + +IS_PURE || MATCH_ALL in RegExpPrototype || defineBuiltIn(RegExpPrototype, MATCH_ALL, $matchAll); + + +/***/ }), +/* 453 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $padEnd = (__webpack_require__(238).end); +var WEBKIT_BUG = __webpack_require__(454); + +// `String.prototype.padEnd` method +// https://tc39.es/ecma262/#sec-string.prototype.padend +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padEnd: function padEnd(maxLength /* , fillString = ' ' */) { + return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 454 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// https://github.com/zloirock/core-js/issues/280 +var userAgent = __webpack_require__(28); + +module.exports = /Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(userAgent); + + +/***/ }), +/* 455 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $padStart = (__webpack_require__(238).start); +var WEBKIT_BUG = __webpack_require__(454); + +// `String.prototype.padStart` method +// https://tc39.es/ecma262/#sec-string.prototype.padstart +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padStart: function padStart(maxLength /* , fillString = ' ' */) { + return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 456 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIndexedObject = __webpack_require__(12); +var toObject = __webpack_require__(39); +var toString = __webpack_require__(68); +var lengthOfArrayLike = __webpack_require__(63); + +var push = uncurryThis([].push); +var join = uncurryThis([].join); + +// `String.raw` method +// https://tc39.es/ecma262/#sec-string.raw +$({ target: 'String', stat: true }, { + raw: function raw(template) { + var rawTemplate = toIndexedObject(toObject(template).raw); + var literalSegments = lengthOfArrayLike(rawTemplate); + if (!literalSegments) return ''; + var argumentsLength = arguments.length; + var elements = []; + var i = 0; + while (true) { + push(elements, toString(rawTemplate[i++])); + if (i === literalSegments) return join(elements, ''); + if (i < argumentsLength) push(elements, toString(arguments[i])); + } + } +}); + + +/***/ }), +/* 457 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var repeat = __webpack_require__(239); + +// `String.prototype.repeat` method +// https://tc39.es/ecma262/#sec-string.prototype.repeat +$({ target: 'String', proto: true }, { + repeat: repeat +}); + + +/***/ }), +/* 458 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var apply = __webpack_require__(94); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var fails = __webpack_require__(7); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); +var advanceStringIndex = __webpack_require__(450); +var getMethod = __webpack_require__(29); +var getSubstitution = __webpack_require__(459); +var regExpExec = __webpack_require__(451); +var wellKnownSymbol = __webpack_require__(33); + +var REPLACE = wellKnownSymbol('replace'); +var max = Math.max; +var min = Math.min; +var concat = uncurryThis([].concat); +var push = uncurryThis([].push); +var stringIndexOf = uncurryThis(''.indexOf); +var stringSlice = uncurryThis(''.slice); + +var maybeToString = function (it) { + return it === undefined ? it : String(it); +}; + +// IE <= 11 replaces $0 with the whole match, as if it was $& +// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 +var REPLACE_KEEPS_$0 = (function () { + // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing + return 'a'.replace(/./, '$0') === '$0'; +})(); + +// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string +var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () { + if (/./[REPLACE]) { + return /./[REPLACE]('a', '$0') === ''; + } + return false; +})(); + +var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { + var re = /./; + re.exec = function () { + var result = []; + result.groups = { a: '7' }; + return result; + }; + // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive + return ''.replace(re, '$<a>') !== '7'; +}); + +// @@replace logic +fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) { + var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0'; + + return [ + // `String.prototype.replace` method + // https://tc39.es/ecma262/#sec-string.prototype.replace + function replace(searchValue, replaceValue) { + var O = requireObjectCoercible(this); + var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE); + return replacer + ? call(replacer, searchValue, O, replaceValue) + : call(nativeReplace, toString(O), searchValue, replaceValue); + }, + // `RegExp.prototype[@@replace]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace + function (string, replaceValue) { + var rx = anObject(this); + var S = toString(string); + + if ( + typeof replaceValue == 'string' && + stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 && + stringIndexOf(replaceValue, '$<') === -1 + ) { + var res = maybeCallNative(nativeReplace, rx, S, replaceValue); + if (res.done) return res.value; + } + + var functionalReplace = isCallable(replaceValue); + if (!functionalReplace) replaceValue = toString(replaceValue); + + var global = rx.global; + var fullUnicode; + if (global) { + fullUnicode = rx.unicode; + rx.lastIndex = 0; + } + + var results = []; + var result; + while (true) { + result = regExpExec(rx, S); + if (result === null) break; + + push(results, result); + if (!global) break; + + var matchStr = toString(result[0]); + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + } + + var accumulatedResult = ''; + var nextSourcePosition = 0; + for (var i = 0; i < results.length; i++) { + result = results[i]; + + var matched = toString(result[0]); + var position = max(min(toIntegerOrInfinity(result.index), S.length), 0); + var captures = []; + var replacement; + // NOTE: This is equivalent to + // captures = result.slice(1).map(maybeToString) + // but for some reason `nativeSlice.call(result, 1, result.length)` (called in + // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and + // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. + for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j])); + var namedCaptures = result.groups; + if (functionalReplace) { + var replacerArgs = concat([matched], captures, position, S); + if (namedCaptures !== undefined) push(replacerArgs, namedCaptures); + replacement = toString(apply(replaceValue, undefined, replacerArgs)); + } else { + replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); + } + if (position >= nextSourcePosition) { + accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement; + nextSourcePosition = position + matched.length; + } + } + + return accumulatedResult + stringSlice(S, nextSourcePosition); + } + ]; +}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE); + + +/***/ }), +/* 459 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toObject = __webpack_require__(39); + +var floor = Math.floor; +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); +// eslint-disable-next-line redos/no-vulnerable -- safe +var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g; +var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g; + +// `GetSubstitution` abstract operation +// https://tc39.es/ecma262/#sec-getsubstitution +module.exports = function (matched, str, position, captures, namedCaptures, replacement) { + var tailPos = position + matched.length; + var m = captures.length; + var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; + if (namedCaptures !== undefined) { + namedCaptures = toObject(namedCaptures); + symbols = SUBSTITUTION_SYMBOLS; + } + return replace(replacement, symbols, function (match, ch) { + var capture; + switch (charAt(ch, 0)) { + case '$': return '$'; + case '&': return matched; + case '`': return stringSlice(str, 0, position); + case "'": return stringSlice(str, tailPos); + case '<': + capture = namedCaptures[stringSlice(ch, 1, -1)]; + break; + default: // \d\d? + var n = +ch; + if (n === 0) return match; + if (n > m) { + var f = floor(n / 10); + if (f === 0) return match; + if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1); + return match; + } + capture = captures[n - 1]; + } + return capture === undefined ? '' : capture; + }); +}; + + +/***/ }), +/* 460 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var isRegExp = __webpack_require__(401); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var getRegExpFlags = __webpack_require__(402); +var getSubstitution = __webpack_require__(459); +var wellKnownSymbol = __webpack_require__(33); +var IS_PURE = __webpack_require__(36); + +var REPLACE = wellKnownSymbol('replace'); +var $TypeError = TypeError; +var indexOf = uncurryThis(''.indexOf); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); +var max = Math.max; + +// `String.prototype.replaceAll` method +// https://tc39.es/ecma262/#sec-string.prototype.replaceall +$({ target: 'String', proto: true }, { + replaceAll: function replaceAll(searchValue, replaceValue) { + var O = requireObjectCoercible(this); + var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, position, replacement; + var endOfLastMatch = 0; + var result = ''; + if (!isNullOrUndefined(searchValue)) { + IS_REG_EXP = isRegExp(searchValue); + if (IS_REG_EXP) { + flags = toString(requireObjectCoercible(getRegExpFlags(searchValue))); + if (!~indexOf(flags, 'g')) throw new $TypeError('`.replaceAll` does not allow non-global regexes'); + } + replacer = getMethod(searchValue, REPLACE); + if (replacer) return call(replacer, searchValue, O, replaceValue); + if (IS_PURE && IS_REG_EXP) return replace(toString(O), searchValue, replaceValue); + } + string = toString(O); + searchString = toString(searchValue); + functionalReplace = isCallable(replaceValue); + if (!functionalReplace) replaceValue = toString(replaceValue); + searchLength = searchString.length; + advanceBy = max(1, searchLength); + position = indexOf(string, searchString); + while (position !== -1) { + replacement = functionalReplace + ? toString(replaceValue(searchString, position, string)) + : getSubstitution(searchString, string, position, [], undefined, replaceValue); + result += stringSlice(string, endOfLastMatch, position) + replacement; + endOfLastMatch = position + searchLength; + position = position + advanceBy > string.length ? -1 : indexOf(string, searchString, position + advanceBy); + } + if (endOfLastMatch < string.length) { + result += stringSlice(string, endOfLastMatch); + } + return result; + } +}); + + +/***/ }), +/* 461 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var requireObjectCoercible = __webpack_require__(16); +var sameValue = __webpack_require__(340); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var regExpExec = __webpack_require__(451); + +// @@search logic +fixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) { + return [ + // `String.prototype.search` method + // https://tc39.es/ecma262/#sec-string.prototype.search + function search(regexp) { + var O = requireObjectCoercible(this); + var searcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, SEARCH); + return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O)); + }, + // `RegExp.prototype[@@search]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@search + function (string) { + var rx = anObject(this); + var S = toString(string); + var res = maybeCallNative(nativeSearch, rx, S); + + if (res.done) return res.value; + + var previousLastIndex = rx.lastIndex; + if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; + var result = regExpExec(rx, S); + if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; + return result === null ? -1 : result.index; + } + ]; +}); + + +/***/ }), +/* 462 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var requireObjectCoercible = __webpack_require__(16); +var speciesConstructor = __webpack_require__(358); +var advanceStringIndex = __webpack_require__(450); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var regExpExec = __webpack_require__(451); +var stickyHelpers = __webpack_require__(404); +var fails = __webpack_require__(7); + +var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; +var MAX_UINT32 = 0xFFFFFFFF; +var min = Math.min; +var push = uncurryThis([].push); +var stringSlice = uncurryThis(''.slice); + +// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec +// Weex JS has frozen built-in prototypes, so use try / catch wrapper +var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { + // eslint-disable-next-line regexp/no-empty-group -- required for testing + var re = /(?:)/; + var originalExec = re.exec; + re.exec = function () { return originalExec.apply(this, arguments); }; + var result = 'ab'.split(re); + return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; +}); + +var BUGGY = 'abbc'.split(/(b)*/)[1] === 'c' || + // eslint-disable-next-line regexp/no-empty-group -- required for testing + 'test'.split(/(?:)/, -1).length !== 4 || + 'ab'.split(/(?:ab)*/).length !== 2 || + '.'.split(/(.?)(.?)/).length !== 4 || + // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing + '.'.split(/()()/).length > 1 || + ''.split(/.?/).length; + +// @@split logic +fixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) { + var internalSplit = '0'.split(undefined, 0).length ? function (separator, limit) { + return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit); + } : nativeSplit; + + return [ + // `String.prototype.split` method + // https://tc39.es/ecma262/#sec-string.prototype.split + function split(separator, limit) { + var O = requireObjectCoercible(this); + var splitter = isNullOrUndefined(separator) ? undefined : getMethod(separator, SPLIT); + return splitter + ? call(splitter, separator, O, limit) + : call(internalSplit, toString(O), separator, limit); + }, + // `RegExp.prototype[@@split]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@split + // + // NOTE: This cannot be properly polyfilled in engines that don't support + // the 'y' flag. + function (string, limit) { + var rx = anObject(this); + var S = toString(string); + + if (!BUGGY) { + var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit); + if (res.done) return res.value; + } + + var C = speciesConstructor(rx, RegExp); + var unicodeMatching = rx.unicode; + var flags = (rx.ignoreCase ? 'i' : '') + + (rx.multiline ? 'm' : '') + + (rx.unicode ? 'u' : '') + + (UNSUPPORTED_Y ? 'g' : 'y'); + // ^(? + rx + ) is needed, in combination with some S slicing, to + // simulate the 'y' flag. + var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags); + var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; + if (lim === 0) return []; + if (S.length === 0) return regExpExec(splitter, S) === null ? [S] : []; + var p = 0; + var q = 0; + var A = []; + while (q < S.length) { + splitter.lastIndex = UNSUPPORTED_Y ? 0 : q; + var z = regExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S); + var e; + if ( + z === null || + (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p + ) { + q = advanceStringIndex(S, q, unicodeMatching); + } else { + push(A, stringSlice(S, p, q)); + if (A.length === lim) return A; + for (var i = 1; i <= z.length - 1; i++) { + push(A, z[i]); + if (A.length === lim) return A; + } + q = p = e; + } + } + push(A, stringSlice(S, p)); + return A; + } + ]; +}, BUGGY || !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y); + + +/***/ }), +/* 463 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var correctIsRegExpLogic = __webpack_require__(443); +var IS_PURE = __webpack_require__(36); + +var stringSlice = uncurryThis(''.slice); +var min = Math.min; + +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); + return descriptor && !descriptor.writable; +}(); + +// `String.prototype.startsWith` method +// https://tc39.es/ecma262/#sec-string.prototype.startswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = toString(requireObjectCoercible(this)); + notARegExp(searchString); + var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = toString(searchString); + return stringSlice(that, index, index + search.length) === search; + } +}); + + +/***/ }), +/* 464 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); + +var stringSlice = uncurryThis(''.slice); +var max = Math.max; +var min = Math.min; + +// eslint-disable-next-line unicorn/prefer-string-slice -- required for testing +var FORCED = !''.substr || 'ab'.substr(-1) !== 'b'; + +// `String.prototype.substr` method +// https://tc39.es/ecma262/#sec-string.prototype.substr +$({ target: 'String', proto: true, forced: FORCED }, { + substr: function substr(start, length) { + var that = toString(requireObjectCoercible(this)); + var size = that.length; + var intStart = toIntegerOrInfinity(start); + var intLength, intEnd; + if (intStart === Infinity) intStart = 0; + if (intStart < 0) intStart = max(size + intStart, 0); + intLength = length === undefined ? size : toIntegerOrInfinity(length); + if (intLength <= 0 || intLength === Infinity) return ''; + intEnd = min(intStart + intLength, size); + return intStart >= intEnd ? '' : stringSlice(that, intStart, intEnd); + } +}); + + +/***/ }), +/* 465 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); + +var $Array = Array; +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var join = uncurryThis([].join); +// eslint-disable-next-line es/no-string-prototype-towellformed -- safe +var $toWellFormed = ''.toWellFormed; +var REPLACEMENT_CHARACTER = '\uFFFD'; + +// Safari bug +var TO_STRING_CONVERSION_BUG = $toWellFormed && fails(function () { + return call($toWellFormed, 1) !== '1'; +}); + +// `String.prototype.toWellFormed` method +// https://tc39.es/ecma262/#sec-string.prototype.towellformed +$({ target: 'String', proto: true, forced: TO_STRING_CONVERSION_BUG }, { + toWellFormed: function toWellFormed() { + var S = toString(requireObjectCoercible(this)); + if (TO_STRING_CONVERSION_BUG) return call($toWellFormed, S); + var length = S.length; + var result = $Array(length); + for (var i = 0; i < length; i++) { + var charCode = charCodeAt(S, i); + // single UTF-16 code unit + if ((charCode & 0xF800) !== 0xD800) result[i] = charAt(S, i); + // unpaired surrogate + else if (charCode >= 0xDC00 || i + 1 >= length || (charCodeAt(S, i + 1) & 0xFC00) !== 0xDC00) result[i] = REPLACEMENT_CHARACTER; + // surrogate pair + else { + result[i] = charAt(S, i); + result[++i] = charAt(S, i); + } + } return join(result, ''); + } +}); + + +/***/ }), +/* 466 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $trim = (__webpack_require__(303).trim); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.trim` method +// https://tc39.es/ecma262/#sec-string.prototype.trim +$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, { + trim: function trim() { + return $trim(this); + } +}); + + +/***/ }), +/* 467 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var PROPER_FUNCTION_NAME = (__webpack_require__(49).PROPER); +var fails = __webpack_require__(7); +var whitespaces = __webpack_require__(304); + +var non = '\u200B\u0085\u180E'; + +// check that a method works with the correct list +// of whitespaces and has a correct name +module.exports = function (METHOD_NAME) { + return fails(function () { + return !!whitespaces[METHOD_NAME]() + || non[METHOD_NAME]() !== non + || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME); + }); +}; + + +/***/ }), +/* 468 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this line from `core-js@4` +__webpack_require__(469); +var $ = __webpack_require__(3); +var trimEnd = __webpack_require__(470); + +// `String.prototype.trimEnd` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimEnd !== trimEnd }, { + trimEnd: trimEnd +}); + + +/***/ }), +/* 469 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trimEnd = __webpack_require__(470); + +// `String.prototype.trimRight` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe +$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimRight !== trimEnd }, { + trimRight: trimEnd +}); + + +/***/ }), +/* 470 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $trimEnd = (__webpack_require__(303).end); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.{ trimEnd, trimRight }` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// https://tc39.es/ecma262/#String.prototype.trimright +module.exports = forcedStringTrimMethod('trimEnd') ? function trimEnd() { + return $trimEnd(this); +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +} : ''.trimEnd; + + +/***/ }), +/* 471 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this line from `core-js@4` +__webpack_require__(472); +var $ = __webpack_require__(3); +var trimStart = __webpack_require__(473); + +// `String.prototype.trimStart` method +// https://tc39.es/ecma262/#sec-string.prototype.trimstart +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimStart !== trimStart }, { + trimStart: trimStart +}); + + +/***/ }), +/* 472 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trimStart = __webpack_require__(473); + +// `String.prototype.trimLeft` method +// https://tc39.es/ecma262/#sec-string.prototype.trimleft +// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe +$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimLeft !== trimStart }, { + trimLeft: trimStart +}); + + +/***/ }), +/* 473 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $trimStart = (__webpack_require__(303).start); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.{ trimStart, trimLeft }` method +// https://tc39.es/ecma262/#sec-string.prototype.trimstart +// https://tc39.es/ecma262/#String.prototype.trimleft +module.exports = forcedStringTrimMethod('trimStart') ? function trimStart() { + return $trimStart(this); +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +} : ''.trimStart; + + +/***/ }), +/* 474 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.anchor` method +// https://tc39.es/ecma262/#sec-string.prototype.anchor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, { + anchor: function anchor(name) { + return createHTML(this, 'a', 'name', name); + } +}); + + +/***/ }), +/* 475 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); + +var quot = /"/g; +var replace = uncurryThis(''.replace); + +// `CreateHTML` abstract operation +// https://tc39.es/ecma262/#sec-createhtml +module.exports = function (string, tag, attribute, value) { + var S = toString(requireObjectCoercible(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + replace(toString(value), quot, '"') + '"'; + return p1 + '>' + S + '</' + tag + '>'; +}; + + +/***/ }), +/* 476 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +// check the existence of a method, lowercase +// of a tag and escaping quotes in arguments +module.exports = function (METHOD_NAME) { + return fails(function () { + var test = ''[METHOD_NAME]('"'); + return test !== test.toLowerCase() || test.split('"').length > 3; + }); +}; + + +/***/ }), +/* 477 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.big` method +// https://tc39.es/ecma262/#sec-string.prototype.big +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('big') }, { + big: function big() { + return createHTML(this, 'big', '', ''); + } +}); + + +/***/ }), +/* 478 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.blink` method +// https://tc39.es/ecma262/#sec-string.prototype.blink +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('blink') }, { + blink: function blink() { + return createHTML(this, 'blink', '', ''); + } +}); + + +/***/ }), +/* 479 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.bold` method +// https://tc39.es/ecma262/#sec-string.prototype.bold +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, { + bold: function bold() { + return createHTML(this, 'b', '', ''); + } +}); + + +/***/ }), +/* 480 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fixed` method +// https://tc39.es/ecma262/#sec-string.prototype.fixed +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, { + fixed: function fixed() { + return createHTML(this, 'tt', '', ''); + } +}); + + +/***/ }), +/* 481 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fontcolor` method +// https://tc39.es/ecma262/#sec-string.prototype.fontcolor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontcolor') }, { + fontcolor: function fontcolor(color) { + return createHTML(this, 'font', 'color', color); + } +}); + + +/***/ }), +/* 482 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fontsize` method +// https://tc39.es/ecma262/#sec-string.prototype.fontsize +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontsize') }, { + fontsize: function fontsize(size) { + return createHTML(this, 'font', 'size', size); + } +}); + + +/***/ }), +/* 483 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.italics` method +// https://tc39.es/ecma262/#sec-string.prototype.italics +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, { + italics: function italics() { + return createHTML(this, 'i', '', ''); + } +}); + + +/***/ }), +/* 484 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.link` method +// https://tc39.es/ecma262/#sec-string.prototype.link +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, { + link: function link(url) { + return createHTML(this, 'a', 'href', url); + } +}); + + +/***/ }), +/* 485 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.small` method +// https://tc39.es/ecma262/#sec-string.prototype.small +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('small') }, { + small: function small() { + return createHTML(this, 'small', '', ''); + } +}); + + +/***/ }), +/* 486 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.strike` method +// https://tc39.es/ecma262/#sec-string.prototype.strike +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, { + strike: function strike() { + return createHTML(this, 'strike', '', ''); + } +}); + + +/***/ }), +/* 487 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.sub` method +// https://tc39.es/ecma262/#sec-string.prototype.sub +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sub') }, { + sub: function sub() { + return createHTML(this, 'sub', '', ''); + } +}); + + +/***/ }), +/* 488 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.sup` method +// https://tc39.es/ecma262/#sec-string.prototype.sup +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sup') }, { + sup: function sup() { + return createHTML(this, 'sup', '', ''); + } +}); + + +/***/ }), +/* 489 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Float32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Float32', function (init) { + return function Float32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 490 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var DESCRIPTORS = __webpack_require__(6); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); +var ArrayBufferViewCore = __webpack_require__(218); +var ArrayBufferModule = __webpack_require__(208); +var anInstance = __webpack_require__(211); +var createPropertyDescriptor = __webpack_require__(11); +var createNonEnumerableProperty = __webpack_require__(43); +var isIntegralNumber = __webpack_require__(309); +var toLength = __webpack_require__(64); +var toIndex = __webpack_require__(212); +var toOffset = __webpack_require__(492); +var toUint8Clamped = __webpack_require__(493); +var toPropertyKey = __webpack_require__(18); +var hasOwn = __webpack_require__(38); +var classof = __webpack_require__(69); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var create = __webpack_require__(71); +var isPrototypeOf = __webpack_require__(24); +var setPrototypeOf = __webpack_require__(113); +var getOwnPropertyNames = (__webpack_require__(57).f); +var typedArrayFrom = __webpack_require__(494); +var forEach = (__webpack_require__(83).forEach); +var setSpecies = __webpack_require__(194); +var defineBuiltInAccessor = __webpack_require__(77); +var definePropertyModule = __webpack_require__(44); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var arrayFromConstructorAndList = __webpack_require__(199); +var InternalStateModule = __webpack_require__(51); +var inheritIfRequired = __webpack_require__(118); + +var getInternalState = InternalStateModule.get; +var setInternalState = InternalStateModule.set; +var enforceInternalState = InternalStateModule.enforce; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var RangeError = globalThis.RangeError; +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataView = ArrayBufferModule.DataView; +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; +var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG; +var TypedArray = ArrayBufferViewCore.TypedArray; +var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype; +var isTypedArray = ArrayBufferViewCore.isTypedArray; +var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; +var WRONG_LENGTH = 'Wrong length'; + +var addGetter = function (it, key) { + defineBuiltInAccessor(it, key, { + configurable: true, + get: function () { + return getInternalState(this)[key]; + } + }); +}; + +var isArrayBuffer = function (it) { + var klass; + return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) === 'ArrayBuffer' || klass === 'SharedArrayBuffer'; +}; + +var isTypedArrayIndex = function (target, key) { + return isTypedArray(target) + && !isSymbol(key) + && key in target + && isIntegralNumber(+key) + && key >= 0; +}; + +var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) { + key = toPropertyKey(key); + return isTypedArrayIndex(target, key) + ? createPropertyDescriptor(2, target[key]) + : nativeGetOwnPropertyDescriptor(target, key); +}; + +var wrappedDefineProperty = function defineProperty(target, key, descriptor) { + key = toPropertyKey(key); + if (isTypedArrayIndex(target, key) + && isObject(descriptor) + && hasOwn(descriptor, 'value') + && !hasOwn(descriptor, 'get') + && !hasOwn(descriptor, 'set') + // TODO: add validation descriptor w/o calling accessors + && !descriptor.configurable + && (!hasOwn(descriptor, 'writable') || descriptor.writable) + && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable) + ) { + target[key] = descriptor.value; + return target; + } return nativeDefineProperty(target, key, descriptor); +}; + +if (DESCRIPTORS) { + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor; + definePropertyModule.f = wrappedDefineProperty; + addGetter(TypedArrayPrototype, 'buffer'); + addGetter(TypedArrayPrototype, 'byteOffset'); + addGetter(TypedArrayPrototype, 'byteLength'); + addGetter(TypedArrayPrototype, 'length'); + } + + $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor, + defineProperty: wrappedDefineProperty + }); + + module.exports = function (TYPE, wrapper, CLAMPED) { + var BYTES = TYPE.match(/\d+/)[0] / 8; + var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array'; + var GETTER = 'get' + TYPE; + var SETTER = 'set' + TYPE; + var NativeTypedArrayConstructor = globalThis[CONSTRUCTOR_NAME]; + var TypedArrayConstructor = NativeTypedArrayConstructor; + var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype; + var exported = {}; + + var getter = function (that, index) { + var data = getInternalState(that); + return data.view[GETTER](index * BYTES + data.byteOffset, true); + }; + + var setter = function (that, index, value) { + var data = getInternalState(that); + data.view[SETTER](index * BYTES + data.byteOffset, CLAMPED ? toUint8Clamped(value) : value, true); + }; + + var addElement = function (that, index) { + nativeDefineProperty(that, index, { + get: function () { + return getter(this, index); + }, + set: function (value) { + return setter(this, index, value); + }, + enumerable: true + }); + }; + + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + TypedArrayConstructor = wrapper(function (that, data, offset, $length) { + anInstance(that, TypedArrayConstructorPrototype); + var index = 0; + var byteOffset = 0; + var buffer, byteLength, length; + if (!isObject(data)) { + length = toIndex(data); + byteLength = length * BYTES; + buffer = new ArrayBuffer(byteLength); + } else if (isArrayBuffer(data)) { + buffer = data; + byteOffset = toOffset(offset, BYTES); + var $len = data.byteLength; + if ($length === undefined) { + if ($len % BYTES) throw new RangeError(WRONG_LENGTH); + byteLength = $len - byteOffset; + if (byteLength < 0) throw new RangeError(WRONG_LENGTH); + } else { + byteLength = toLength($length) * BYTES; + if (byteLength + byteOffset > $len) throw new RangeError(WRONG_LENGTH); + } + length = byteLength / BYTES; + } else if (isTypedArray(data)) { + return arrayFromConstructorAndList(TypedArrayConstructor, data); + } else { + return call(typedArrayFrom, TypedArrayConstructor, data); + } + setInternalState(that, { + buffer: buffer, + byteOffset: byteOffset, + byteLength: byteLength, + length: length, + view: new DataView(buffer) + }); + while (index < length) addElement(that, index++); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype); + } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) { + TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) { + anInstance(dummy, TypedArrayConstructorPrototype); + return inheritIfRequired(function () { + if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data)); + if (isArrayBuffer(data)) return $length !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length) + : typedArrayOffset !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES)) + : new NativeTypedArrayConstructor(data); + if (isTypedArray(data)) return arrayFromConstructorAndList(TypedArrayConstructor, data); + return call(typedArrayFrom, TypedArrayConstructor, data); + }(), dummy, TypedArrayConstructor); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) { + if (!(key in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]); + } + }); + TypedArrayConstructor.prototype = TypedArrayConstructorPrototype; + } + + if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor); + } + + enforceInternalState(TypedArrayConstructorPrototype).TypedArrayConstructor = TypedArrayConstructor; + + if (TYPED_ARRAY_TAG) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME); + } + + var FORCED = TypedArrayConstructor !== NativeTypedArrayConstructor; + + exported[CONSTRUCTOR_NAME] = TypedArrayConstructor; + + $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported); + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES); + } + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES); + } + + setSpecies(CONSTRUCTOR_NAME); + }; +} else module.exports = function () { /* empty */ }; + + +/***/ }), +/* 491 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-new, sonarjs/inconsistent-function-call -- required for testing */ +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var checkCorrectnessOfIteration = __webpack_require__(164); +var NATIVE_ARRAY_BUFFER_VIEWS = (__webpack_require__(218).NATIVE_ARRAY_BUFFER_VIEWS); + +var ArrayBuffer = globalThis.ArrayBuffer; +var Int8Array = globalThis.Int8Array; + +module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () { + Int8Array(1); +}) || !fails(function () { + new Int8Array(-1); +}) || !checkCorrectnessOfIteration(function (iterable) { + new Int8Array(); + new Int8Array(null); + new Int8Array(1.5); + new Int8Array(iterable); +}, true) || fails(function () { + // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill + return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1; +}); + + +/***/ }), +/* 492 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPositiveInteger = __webpack_require__(254); + +var $RangeError = RangeError; + +module.exports = function (it, BYTES) { + var offset = toPositiveInteger(it); + if (offset % BYTES) throw new $RangeError('Wrong offset'); + return offset; +}; + + +/***/ }), +/* 493 */ +/***/ (function(module) { + + +var round = Math.round; + +module.exports = function (it) { + var value = round(it); + return value < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF; +}; + + +/***/ }), +/* 494 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var aConstructor = __webpack_require__(359); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var isArrayIteratorMethod = __webpack_require__(131); +var isBigIntArray = __webpack_require__(495); +var aTypedArrayConstructor = (__webpack_require__(218).aTypedArrayConstructor); +var toBigInt = __webpack_require__(496); + +module.exports = function from(source /* , mapfn, thisArg */) { + var C = aConstructor(this); + var O = toObject(source); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iteratorMethod = getIteratorMethod(O); + var i, length, result, thisIsBigIntArray, value, step, iterator, next; + if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) { + iterator = getIterator(O, iteratorMethod); + next = iterator.next; + O = []; + while (!(step = call(next, iterator)).done) { + O.push(step.value); + } + } + if (mapping && argumentsLength > 2) { + mapfn = bind(mapfn, arguments[2]); + } + length = lengthOfArrayLike(O); + result = new (aTypedArrayConstructor(C))(length); + thisIsBigIntArray = isBigIntArray(result); + for (i = 0; length > i; i++) { + value = mapping ? mapfn(O[i], i) : O[i]; + // FF30- typed arrays doesn't properly convert objects to typed array values + result[i] = thisIsBigIntArray ? toBigInt(value) : +value; + } + return result; +}; + + +/***/ }), +/* 495 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); + +module.exports = function (it) { + var klass = classof(it); + return klass === 'BigInt64Array' || klass === 'BigUint64Array'; +}; + + +/***/ }), +/* 496 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPrimitive = __webpack_require__(19); + +var $TypeError = TypeError; + +// `ToBigInt` abstract operation +// https://tc39.es/ecma262/#sec-tobigint +module.exports = function (argument) { + var prim = toPrimitive(argument, 'number'); + if (typeof prim == 'number') throw new $TypeError("Can't convert number to bigint"); + // eslint-disable-next-line es/no-bigint -- safe + return BigInt(prim); +}; + + +/***/ }), +/* 497 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Float64Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Float64', function (init) { + return function Float64Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 498 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int8Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int8', function (init) { + return function Int8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 499 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int16Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int16', function (init) { + return function Int16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 500 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int32', function (init) { + return function Int32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 501 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint8Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint8', function (init) { + return function Uint8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 502 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint8ClampedArray` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint8', function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}, true); + + +/***/ }), +/* 503 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint16Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint16', function (init) { + return function Uint16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 504 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint32', function (init) { + return function Uint32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 505 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.at` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.at +exportTypedArrayMethod('at', function at(index) { + var O = aTypedArray(this); + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : O[k]; +}); + + +/***/ }), +/* 506 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var ArrayBufferViewCore = __webpack_require__(218); +var $ArrayCopyWithin = __webpack_require__(144); + +var u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.copyWithin` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin +exportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) { + return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined); +}); + + +/***/ }), +/* 507 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $every = (__webpack_require__(83).every); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.every` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every +exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) { + return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 508 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $fill = __webpack_require__(149); +var toBigInt = __webpack_require__(496); +var classof = __webpack_require__(69); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var slice = uncurryThis(''.slice); + +// V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18 +var CONVERSION_BUG = fails(function () { + var count = 0; + // eslint-disable-next-line es/no-typed-arrays -- safe + new Int8Array(2).fill({ valueOf: function () { return count++; } }); + return count !== 1; +}); + +// `%TypedArray%.prototype.fill` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill +exportTypedArrayMethod('fill', function fill(value /* , start, end */) { + var length = arguments.length; + aTypedArray(this); + var actualValue = slice(classof(this), 0, 3) === 'Big' ? toBigInt(value) : +value; + return call($fill, this, actualValue, length > 1 ? arguments[1] : undefined, length > 2 ? arguments[2] : undefined); +}, CONVERSION_BUG); + + +/***/ }), +/* 509 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $filter = (__webpack_require__(83).filter); +var fromSameTypeAndList = __webpack_require__(510); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.filter` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter +exportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) { + var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return fromSameTypeAndList(this, list); +}); + + +/***/ }), +/* 510 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arrayFromConstructorAndList = __webpack_require__(199); +var getTypedArrayConstructor = (__webpack_require__(218).getTypedArrayConstructor); + +module.exports = function (instance, list) { + return arrayFromConstructorAndList(getTypedArrayConstructor(instance), list); +}; + + +/***/ }), +/* 511 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $find = (__webpack_require__(83).find); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.find` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find +exportTypedArrayMethod('find', function find(predicate /* , thisArg */) { + return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 512 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findIndex = (__webpack_require__(83).findIndex); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex +exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) { + return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 513 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findLast = (__webpack_require__(154).findLast); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findLast` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlast +exportTypedArrayMethod('findLast', function findLast(predicate /* , thisArg */) { + return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 514 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findLastIndex = (__webpack_require__(154).findLastIndex); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findLastIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex +exportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) { + return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 515 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $forEach = (__webpack_require__(83).forEach); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.forEach` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach +exportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) { + $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 516 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); +var exportTypedArrayStaticMethod = (__webpack_require__(218).exportTypedArrayStaticMethod); +var typedArrayFrom = __webpack_require__(494); + +// `%TypedArray%.from` method +// https://tc39.es/ecma262/#sec-%typedarray%.from +exportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + + +/***/ }), +/* 517 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $includes = (__webpack_require__(59).includes); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.includes` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes +exportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) { + return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 518 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $indexOf = (__webpack_require__(59).indexOf); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.indexOf` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof +exportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) { + return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 519 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var ArrayBufferViewCore = __webpack_require__(218); +var ArrayIterators = __webpack_require__(168); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var Uint8Array = globalThis.Uint8Array; +var arrayValues = uncurryThis(ArrayIterators.values); +var arrayKeys = uncurryThis(ArrayIterators.keys); +var arrayEntries = uncurryThis(ArrayIterators.entries); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var TypedArrayPrototype = Uint8Array && Uint8Array.prototype; + +var GENERIC = !fails(function () { + TypedArrayPrototype[ITERATOR].call([1]); +}); + +var ITERATOR_IS_VALUES = !!TypedArrayPrototype + && TypedArrayPrototype.values + && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values + && TypedArrayPrototype.values.name === 'values'; + +var typedArrayValues = function values() { + return arrayValues(aTypedArray(this)); +}; + +// `%TypedArray%.prototype.entries` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries +exportTypedArrayMethod('entries', function entries() { + return arrayEntries(aTypedArray(this)); +}, GENERIC); +// `%TypedArray%.prototype.keys` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys +exportTypedArrayMethod('keys', function keys() { + return arrayKeys(aTypedArray(this)); +}, GENERIC); +// `%TypedArray%.prototype.values` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values +exportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); +// `%TypedArray%.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator +exportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); + + +/***/ }), +/* 520 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var uncurryThis = __webpack_require__(14); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $join = uncurryThis([].join); + +// `%TypedArray%.prototype.join` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join +exportTypedArrayMethod('join', function join(separator) { + return $join(aTypedArray(this), separator); +}); + + +/***/ }), +/* 521 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var apply = __webpack_require__(94); +var $lastIndexOf = __webpack_require__(175); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.lastIndexOf` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof +exportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) { + var length = arguments.length; + return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]); +}); + + +/***/ }), +/* 522 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $map = (__webpack_require__(83).map); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.map` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map +exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) { + return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { + return new (getTypedArrayConstructor(O))(length); + }); +}); + + +/***/ }), +/* 523 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); + +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; +var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod; + +// `%TypedArray%.of` method +// https://tc39.es/ecma262/#sec-%typedarray%.of +exportTypedArrayStaticMethod('of', function of(/* ...items */) { + var index = 0; + var length = arguments.length; + var result = new (aTypedArrayConstructor(this))(length); + while (length > index) result[index] = arguments[index++]; + return result; +}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + + +/***/ }), +/* 524 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $reduce = (__webpack_require__(181).left); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.reduce` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce +exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 525 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $reduceRight = (__webpack_require__(181).right); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.reduceRight` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright +exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 526 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var floor = Math.floor; + +// `%TypedArray%.prototype.reverse` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse +exportTypedArrayMethod('reverse', function reverse() { + var that = this; + var length = aTypedArray(that).length; + var middle = floor(length / 2); + var index = 0; + var value; + while (index < middle) { + value = that[index]; + that[index++] = that[--length]; + that[length] = value; + } return that; +}); + + +/***/ }), +/* 527 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var ArrayBufferViewCore = __webpack_require__(218); +var lengthOfArrayLike = __webpack_require__(63); +var toOffset = __webpack_require__(492); +var toIndexedObject = __webpack_require__(39); +var fails = __webpack_require__(7); + +var RangeError = globalThis.RangeError; +var Int8Array = globalThis.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var $set = Int8ArrayPrototype && Int8ArrayPrototype.set; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + var array = new Uint8ClampedArray(2); + call($set, array, { length: 1, 0: 3 }, 1); + return array[1] !== 3; +}); + +// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other +var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { + var array = new Int8Array(2); + array.set(1); + array.set('2', 1); + return array[0] !== 0 || array[1] !== 2; +}); + +// `%TypedArray%.prototype.set` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set +exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { + aTypedArray(this); + var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); + var src = toIndexedObject(arrayLike); + if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset); + var length = this.length; + var len = lengthOfArrayLike(src); + var index = 0; + if (len + offset > length) throw new RangeError('Wrong length'); + while (index < len) this[offset + index] = src[index++]; +}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + + +/***/ }), +/* 528 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var fails = __webpack_require__(7); +var arraySlice = __webpack_require__(76); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + new Int8Array(1).slice(); +}); + +// `%TypedArray%.prototype.slice` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice +exportTypedArrayMethod('slice', function slice(start, end) { + var list = arraySlice(aTypedArray(this), start, end); + var C = getTypedArrayConstructor(this); + var index = 0; + var length = list.length; + var result = new C(length); + while (length > index) result[index] = list[index++]; + return result; +}, FORCED); + + +/***/ }), +/* 529 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $some = (__webpack_require__(83).some); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.some` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some +exportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) { + return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 530 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(85); +var fails = __webpack_require__(7); +var aCallable = __webpack_require__(30); +var internalSort = __webpack_require__(189); +var ArrayBufferViewCore = __webpack_require__(218); +var FF = __webpack_require__(190); +var IE_OR_EDGE = __webpack_require__(191); +var V8 = __webpack_require__(27); +var WEBKIT = __webpack_require__(192); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var Uint16Array = globalThis.Uint16Array; +var nativeSort = Uint16Array && uncurryThis(Uint16Array.prototype.sort); + +// WebKit +var ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !(fails(function () { + nativeSort(new Uint16Array(2), null); +}) && fails(function () { + nativeSort(new Uint16Array(2), {}); +})); + +var STABLE_SORT = !!nativeSort && !fails(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 74; + if (FF) return FF < 67; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 602; + + var array = new Uint16Array(516); + var expected = Array(516); + var index, mod; + + for (index = 0; index < 516; index++) { + mod = index % 4; + array[index] = 515 - index; + expected[index] = index - 2 * mod + 3; + } + + nativeSort(array, function (a, b) { + return (a / 4 | 0) - (b / 4 | 0); + }); + + for (index = 0; index < 516; index++) { + if (array[index] !== expected[index]) return true; + } +}); + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (comparefn !== undefined) return +comparefn(x, y) || 0; + // eslint-disable-next-line no-self-compare -- NaN check + if (y !== y) return -1; + // eslint-disable-next-line no-self-compare -- NaN check + if (x !== x) return 1; + if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1; + return x > y; + }; +}; + +// `%TypedArray%.prototype.sort` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort +exportTypedArrayMethod('sort', function sort(comparefn) { + if (comparefn !== undefined) aCallable(comparefn); + if (STABLE_SORT) return nativeSort(this, comparefn); + + return internalSort(aTypedArray(this), getSortCompare(comparefn)); +}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS); + + +/***/ }), +/* 531 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var toLength = __webpack_require__(64); +var toAbsoluteIndex = __webpack_require__(60); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.subarray` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray +exportTypedArrayMethod('subarray', function subarray(begin, end) { + var O = aTypedArray(this); + var length = O.length; + var beginIndex = toAbsoluteIndex(begin, length); + var C = getTypedArrayConstructor(O); + return new C( + O.buffer, + O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT, + toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex) + ); +}); + + +/***/ }), +/* 532 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var ArrayBufferViewCore = __webpack_require__(218); +var fails = __webpack_require__(7); +var arraySlice = __webpack_require__(76); + +var Int8Array = globalThis.Int8Array; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $toLocaleString = [].toLocaleString; + +// iOS Safari 6.x fails here +var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () { + $toLocaleString.call(new Int8Array(1)); +}); + +var FORCED = fails(function () { + return [1, 2].toLocaleString() !== new Int8Array([1, 2]).toLocaleString(); +}) || !fails(function () { + Int8Array.prototype.toLocaleString.call([1, 2]); +}); + +// `%TypedArray%.prototype.toLocaleString` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring +exportTypedArrayMethod('toLocaleString', function toLocaleString() { + return apply( + $toLocaleString, + TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this), + arraySlice(arguments) + ); +}, FORCED); + + +/***/ }), +/* 533 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var arrayToReversed = __webpack_require__(197); +var ArrayBufferViewCore = __webpack_require__(218); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; + +// `%TypedArray%.prototype.toReversed` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed +exportTypedArrayMethod('toReversed', function toReversed() { + return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this)); +}); + + +/***/ }), +/* 534 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var arrayFromConstructorAndList = __webpack_require__(199); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort); + +// `%TypedArray%.prototype.toSorted` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted +exportTypedArrayMethod('toSorted', function toSorted(compareFn) { + if (compareFn !== undefined) aCallable(compareFn); + var O = aTypedArray(this); + var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O); + return sort(A, compareFn); +}); + + +/***/ }), +/* 535 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var exportTypedArrayMethod = (__webpack_require__(218).exportTypedArrayMethod); +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); + +var Uint8Array = globalThis.Uint8Array; +var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {}; +var arrayToString = [].toString; +var join = uncurryThis([].join); + +if (fails(function () { arrayToString.call({}); })) { + arrayToString = function toString() { + return join(this); + }; +} + +var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString !== arrayToString; + +// `%TypedArray%.prototype.toString` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring +exportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD); + + +/***/ }), +/* 536 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var arrayWith = __webpack_require__(206); +var ArrayBufferViewCore = __webpack_require__(218); +var isBigIntArray = __webpack_require__(495); +var toIntegerOrInfinity = __webpack_require__(61); +var toBigInt = __webpack_require__(496); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var PROPER_ORDER = !!function () { + try { + // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing + new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } }); + } catch (error) { + // some early implementations, like WebKit, does not follow the final semantic + // https://github.com/tc39/proposal-change-array-by-copy/pull/86 + return error === 8; + } +}(); + +// `%TypedArray%.prototype.with` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with +exportTypedArrayMethod('with', { 'with': function (index, value) { + var O = aTypedArray(this); + var relativeIndex = toIntegerOrInfinity(index); + var actualValue = isBigIntArray(O) ? toBigInt(value) : +value; + return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue); +} }['with'], !PROPER_ORDER); + + +/***/ }), +/* 537 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); + +var fromCharCode = String.fromCharCode; +var charAt = uncurryThis(''.charAt); +var exec = uncurryThis(/./.exec); +var stringSlice = uncurryThis(''.slice); + +var hex2 = /^[\da-f]{2}$/i; +var hex4 = /^[\da-f]{4}$/i; + +// `unescape` method +// https://tc39.es/ecma262/#sec-unescape-string +$({ global: true }, { + unescape: function unescape(string) { + var str = toString(string); + var result = ''; + var length = str.length; + var index = 0; + var chr, part; + while (index < length) { + chr = charAt(str, index++); + if (chr === '%') { + if (charAt(str, index) === 'u') { + part = stringSlice(str, index + 1, index + 5); + if (exec(hex4, part)) { + result += fromCharCode(parseInt(part, 16)); + index += 5; + continue; + } + } else { + part = stringSlice(str, index, index + 2); + if (exec(hex2, part)) { + result += fromCharCode(parseInt(part, 16)); + index += 2; + continue; + } + } + } + result += chr; + } return result; + } +}); + + +/***/ }), +/* 538 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(539); + + +/***/ }), +/* 539 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var FREEZING = __webpack_require__(276); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var defineBuiltIns = __webpack_require__(210); +var InternalMetadataModule = __webpack_require__(273); +var collection = __webpack_require__(272); +var collectionWeak = __webpack_require__(540); +var isObject = __webpack_require__(20); +var enforceInternalState = (__webpack_require__(51).enforce); +var fails = __webpack_require__(7); +var NATIVE_WEAK_MAP = __webpack_require__(52); + +var $Object = Object; +// eslint-disable-next-line es/no-array-isarray -- safe +var isArray = Array.isArray; +// eslint-disable-next-line es/no-object-isextensible -- safe +var isExtensible = $Object.isExtensible; +// eslint-disable-next-line es/no-object-isfrozen -- safe +var isFrozen = $Object.isFrozen; +// eslint-disable-next-line es/no-object-issealed -- safe +var isSealed = $Object.isSealed; +// eslint-disable-next-line es/no-object-freeze -- safe +var freeze = $Object.freeze; +// eslint-disable-next-line es/no-object-seal -- safe +var seal = $Object.seal; + +var IS_IE11 = !globalThis.ActiveXObject && 'ActiveXObject' in globalThis; +var InternalWeakMap; + +var wrapper = function (init) { + return function WeakMap() { + return init(this, arguments.length ? arguments[0] : undefined); + }; +}; + +// `WeakMap` constructor +// https://tc39.es/ecma262/#sec-weakmap-constructor +var $WeakMap = collection('WeakMap', wrapper, collectionWeak); +var WeakMapPrototype = $WeakMap.prototype; +var nativeSet = uncurryThis(WeakMapPrototype.set); + +// Chakra Edge bug: adding frozen arrays to WeakMap unfreeze them +var hasMSEdgeFreezingBug = function () { + return FREEZING && fails(function () { + var frozenArray = freeze([]); + nativeSet(new $WeakMap(), frozenArray, 1); + return !isFrozen(frozenArray); + }); +}; + +// IE11 WeakMap frozen keys fix +// We can't use feature detection because it crash some old IE builds +// https://github.com/zloirock/core-js/issues/485 +if (NATIVE_WEAK_MAP) if (IS_IE11) { + InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true); + InternalMetadataModule.enable(); + var nativeDelete = uncurryThis(WeakMapPrototype['delete']); + var nativeHas = uncurryThis(WeakMapPrototype.has); + var nativeGet = uncurryThis(WeakMapPrototype.get); + defineBuiltIns(WeakMapPrototype, { + 'delete': function (key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeDelete(this, key) || state.frozen['delete'](key); + } return nativeDelete(this, key); + }, + has: function has(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas(this, key) || state.frozen.has(key); + } return nativeHas(this, key); + }, + get: function get(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key); + } return nativeGet(this, key); + }, + set: function set(key, value) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value); + } else nativeSet(this, key, value); + return this; + } + }); +// Chakra Edge frozen keys fix +} else if (hasMSEdgeFreezingBug()) { + defineBuiltIns(WeakMapPrototype, { + set: function set(key, value) { + var arrayIntegrityLevel; + if (isArray(key)) { + if (isFrozen(key)) arrayIntegrityLevel = freeze; + else if (isSealed(key)) arrayIntegrityLevel = seal; + } + nativeSet(this, key, value); + if (arrayIntegrityLevel) arrayIntegrityLevel(key); + return this; + } + }); +} + + +/***/ }), +/* 540 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var defineBuiltIns = __webpack_require__(210); +var getWeakData = (__webpack_require__(273).getWeakData); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var iterate = __webpack_require__(130); +var ArrayIterationModule = __webpack_require__(83); +var hasOwn = __webpack_require__(38); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; +var find = ArrayIterationModule.find; +var findIndex = ArrayIterationModule.findIndex; +var splice = uncurryThis([].splice); +var id = 0; + +// fallback for uncaught frozen keys +var uncaughtFrozenStore = function (state) { + return state.frozen || (state.frozen = new UncaughtFrozenStore()); +}; + +var UncaughtFrozenStore = function () { + this.entries = []; +}; + +var findUncaughtFrozen = function (store, key) { + return find(store.entries, function (it) { + return it[0] === key; + }); +}; + +UncaughtFrozenStore.prototype = { + get: function (key) { + var entry = findUncaughtFrozen(this, key); + if (entry) return entry[1]; + }, + has: function (key) { + return !!findUncaughtFrozen(this, key); + }, + set: function (key, value) { + var entry = findUncaughtFrozen(this, key); + if (entry) entry[1] = value; + else this.entries.push([key, value]); + }, + 'delete': function (key) { + var index = findIndex(this.entries, function (it) { + return it[0] === key; + }); + if (~index) splice(this.entries, index, 1); + return !!~index; + } +}; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + id: id++, + frozen: null + }); + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + }); + + var Prototype = Constructor.prototype; + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var data = getWeakData(anObject(key), true); + if (data === true) uncaughtFrozenStore(state).set(key, value); + else data[state.id] = value; + return that; + }; + + defineBuiltIns(Prototype, { + // `{ WeakMap, WeakSet }.prototype.delete(key)` methods + // https://tc39.es/ecma262/#sec-weakmap.prototype.delete + // https://tc39.es/ecma262/#sec-weakset.prototype.delete + 'delete': function (key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state)['delete'](key); + return data && hasOwn(data, state.id) && delete data[state.id]; + }, + // `{ WeakMap, WeakSet }.prototype.has(key)` methods + // https://tc39.es/ecma262/#sec-weakmap.prototype.has + // https://tc39.es/ecma262/#sec-weakset.prototype.has + has: function has(key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).has(key); + return data && hasOwn(data, state.id); + } + }); + + defineBuiltIns(Prototype, IS_MAP ? { + // `WeakMap.prototype.get(key)` method + // https://tc39.es/ecma262/#sec-weakmap.prototype.get + get: function get(key) { + var state = getInternalState(this); + if (isObject(key)) { + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).get(key); + if (data) return data[state.id]; + } + }, + // `WeakMap.prototype.set(key, value)` method + // https://tc39.es/ecma262/#sec-weakmap.prototype.set + set: function set(key, value) { + return define(this, key, value); + } + } : { + // `WeakSet.prototype.add(value)` method + // https://tc39.es/ecma262/#sec-weakset.prototype.add + add: function add(value) { + return define(this, value, true); + } + }); + + return Constructor; + } +}; + + +/***/ }), +/* 541 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(542); + + +/***/ }), +/* 542 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionWeak = __webpack_require__(540); + +// `WeakSet` constructor +// https://tc39.es/ecma262/#sec-weakset-constructor +collection('WeakSet', function (init) { + return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionWeak); + + +/***/ }), +/* 543 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); +var c2i = (__webpack_require__(544).c2i); + +var disallowed = /[^\d+/a-z]/i; +var whitespaces = /[\t\n\f\r ]+/g; +var finalEq = /[=]{1,2}$/; + +var $atob = getBuiltIn('atob'); +var fromCharCode = String.fromCharCode; +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var exec = uncurryThis(disallowed.exec); + +var BASIC = !!$atob && !fails(function () { + return $atob('aGk=') !== 'hi'; +}); + +var NO_SPACES_IGNORE = BASIC && fails(function () { + return $atob(' ') !== ''; +}); + +var NO_ENCODING_CHECK = BASIC && !fails(function () { + $atob('a'); +}); + +var NO_ARG_RECEIVING_CHECK = BASIC && !fails(function () { + $atob(); +}); + +var WRONG_ARITY = BASIC && $atob.length !== 1; + +var FORCED = !BASIC || NO_SPACES_IGNORE || NO_ENCODING_CHECK || NO_ARG_RECEIVING_CHECK || WRONG_ARITY; + +// `atob` method +// https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob +$({ global: true, bind: true, enumerable: true, forced: FORCED }, { + atob: function atob(data) { + validateArgumentsLength(arguments.length, 1); + // `webpack` dev server bug on IE global methods - use call(fn, global, ...) + if (BASIC && !NO_SPACES_IGNORE && !NO_ENCODING_CHECK) return call($atob, globalThis, data); + var string = replace(toString(data), whitespaces, ''); + var output = ''; + var position = 0; + var bc = 0; + var length, chr, bs; + if (string.length % 4 === 0) { + string = replace(string, finalEq, ''); + } + length = string.length; + if (length % 4 === 1 || exec(disallowed, string)) { + throw new (getBuiltIn('DOMException'))('The string is not correctly encoded', 'InvalidCharacterError'); + } + while (position < length) { + chr = charAt(string, position++); + bs = bc % 4 ? bs * 64 + c2i[chr] : c2i[chr]; + if (bc++ % 4) output += fromCharCode(255 & bs >> (-2 * bc & 6)); + } return output; + } +}); + + +/***/ }), +/* 544 */ +/***/ (function(module) { + + +var commonAlphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; +var base64Alphabet = commonAlphabet + '+/'; +var base64UrlAlphabet = commonAlphabet + '-_'; + +var inverse = function (characters) { + // TODO: use `Object.create(null)` in `core-js@4` + var result = {}; + var index = 0; + for (; index < 64; index++) result[characters.charAt(index)] = index; + return result; +}; + +module.exports = { + i2c: base64Alphabet, + c2i: inverse(base64Alphabet), + i2cUrl: base64UrlAlphabet, + c2iUrl: inverse(base64UrlAlphabet) +}; + + +/***/ }), +/* 545 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); +var i2c = (__webpack_require__(544).i2c); + +var $btoa = getBuiltIn('btoa'); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); + +var BASIC = !!$btoa && !fails(function () { + return $btoa('hi') !== 'aGk='; +}); + +var NO_ARG_RECEIVING_CHECK = BASIC && !fails(function () { + $btoa(); +}); + +var WRONG_ARG_CONVERSION = BASIC && fails(function () { + return $btoa(null) !== 'bnVsbA=='; +}); + +var WRONG_ARITY = BASIC && $btoa.length !== 1; + +// `btoa` method +// https://html.spec.whatwg.org/multipage/webappapis.html#dom-btoa +$({ global: true, bind: true, enumerable: true, forced: !BASIC || NO_ARG_RECEIVING_CHECK || WRONG_ARG_CONVERSION || WRONG_ARITY }, { + btoa: function btoa(data) { + validateArgumentsLength(arguments.length, 1); + // `webpack` dev server bug on IE global methods - use call(fn, global, ...) + if (BASIC) return call($btoa, globalThis, toString(data)); + var string = toString(data); + var output = ''; + var position = 0; + var map = i2c; + var block, charCode; + while (charAt(string, position) || (map = '=', position % 1)) { + charCode = charCodeAt(string, position += 3 / 4); + if (charCode > 0xFF) { + throw new (getBuiltIn('DOMException'))('The string contains characters outside of the Latin1 range', 'InvalidCharacterError'); + } + block = block << 8 | charCode; + output += charAt(map, 63 & block >> 8 - position % 1 * 8); + } return output; + } +}); + + +/***/ }), +/* 546 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DOMIterables = __webpack_require__(547); +var DOMTokenListPrototype = __webpack_require__(548); +var forEach = __webpack_require__(160); +var createNonEnumerableProperty = __webpack_require__(43); + +var handlePrototype = function (CollectionPrototype) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { + createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); + } catch (error) { + CollectionPrototype.forEach = forEach; + } +}; + +for (var COLLECTION_NAME in DOMIterables) { + if (DOMIterables[COLLECTION_NAME]) { + handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype); + } +} + +handlePrototype(DOMTokenListPrototype); + + +/***/ }), +/* 547 */ +/***/ (function(module) { + + +// iterable DOM collections +// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods +module.exports = { + CSSRuleList: 0, + CSSStyleDeclaration: 0, + CSSValueList: 0, + ClientRectList: 0, + DOMRectList: 0, + DOMStringList: 0, + DOMTokenList: 1, + DataTransferItemList: 0, + FileList: 0, + HTMLAllCollection: 0, + HTMLCollection: 0, + HTMLFormElement: 0, + HTMLSelectElement: 0, + MediaList: 0, + MimeTypeArray: 0, + NamedNodeMap: 0, + NodeList: 1, + PaintRequestList: 0, + Plugin: 0, + PluginArray: 0, + SVGLengthList: 0, + SVGNumberList: 0, + SVGPathSegList: 0, + SVGPointList: 0, + SVGStringList: 0, + SVGTransformList: 0, + SourceBufferList: 0, + StyleSheetList: 0, + TextTrackCueList: 0, + TextTrackList: 0, + TouchList: 0 +}; + + +/***/ }), +/* 548 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList` +var documentCreateElement = __webpack_require__(42); + +var classList = documentCreateElement('span').classList; +var DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype; + +module.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype; + + +/***/ }), +/* 549 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DOMIterables = __webpack_require__(547); +var DOMTokenListPrototype = __webpack_require__(548); +var ArrayIteratorMethods = __webpack_require__(168); +var createNonEnumerableProperty = __webpack_require__(43); +var setToStringTag = __webpack_require__(82); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayValues = ArrayIteratorMethods.values; + +var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) { + if (CollectionPrototype) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[ITERATOR] !== ArrayValues) try { + createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); + } catch (error) { + CollectionPrototype[ITERATOR] = ArrayValues; + } + setToStringTag(CollectionPrototype, COLLECTION_NAME, true); + if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { + createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); + } catch (error) { + CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; + } + } + } +}; + +for (var COLLECTION_NAME in DOMIterables) { + handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype, COLLECTION_NAME); +} + +handlePrototype(DOMTokenListPrototype, 'DOMTokenList'); + + +/***/ }), +/* 550 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var getBuiltInNodeModule = __webpack_require__(229); +var fails = __webpack_require__(7); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var defineProperty = (__webpack_require__(44).f); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var hasOwn = __webpack_require__(38); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var errorToString = __webpack_require__(125); +var normalizeStringArgument = __webpack_require__(119); +var DOMExceptionConstants = __webpack_require__(551); +var clearErrorStack = __webpack_require__(122); +var InternalStateModule = __webpack_require__(51); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var DOM_EXCEPTION = 'DOMException'; +var DATA_CLONE_ERR = 'DATA_CLONE_ERR'; +var Error = getBuiltIn('Error'); +// NodeJS < 17.0 does not expose `DOMException` to global +var NativeDOMException = getBuiltIn(DOM_EXCEPTION) || (function () { + try { + // NodeJS < 15.0 does not expose `MessageChannel` to global + var MessageChannel = getBuiltIn('MessageChannel') || getBuiltInNodeModule('worker_threads').MessageChannel; + // eslint-disable-next-line es/no-weak-map, unicorn/require-post-message-target-origin -- safe + new MessageChannel().port1.postMessage(new WeakMap()); + } catch (error) { + if (error.name === DATA_CLONE_ERR && error.code === 25) return error.constructor; + } +})(); +var NativeDOMExceptionPrototype = NativeDOMException && NativeDOMException.prototype; +var ErrorPrototype = Error.prototype; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(DOM_EXCEPTION); +var HAS_STACK = 'stack' in new Error(DOM_EXCEPTION); + +var codeFor = function (name) { + return hasOwn(DOMExceptionConstants, name) && DOMExceptionConstants[name].m ? DOMExceptionConstants[name].c : 0; +}; + +var $DOMException = function DOMException() { + anInstance(this, DOMExceptionPrototype); + var argumentsLength = arguments.length; + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); + var code = codeFor(name); + setInternalState(this, { + type: DOM_EXCEPTION, + name: name, + message: message, + code: code + }); + if (!DESCRIPTORS) { + this.name = name; + this.message = message; + this.code = code; + } + if (HAS_STACK) { + var error = new Error(message); + error.name = DOM_EXCEPTION; + defineProperty(this, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); + } +}; + +var DOMExceptionPrototype = $DOMException.prototype = create(ErrorPrototype); + +var createGetterDescriptor = function (get) { + return { enumerable: true, configurable: true, get: get }; +}; + +var getterFor = function (key) { + return createGetterDescriptor(function () { + return getInternalState(this)[key]; + }); +}; + +if (DESCRIPTORS) { + // `DOMException.prototype.code` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'code', getterFor('code')); + // `DOMException.prototype.message` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'message', getterFor('message')); + // `DOMException.prototype.name` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'name', getterFor('name')); +} + +defineProperty(DOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, $DOMException)); + +// FF36- DOMException is a function, but can't be constructed +var INCORRECT_CONSTRUCTOR = fails(function () { + return !(new NativeDOMException() instanceof Error); +}); + +// Safari 10.1 / Chrome 32- / IE8- DOMException.prototype.toString bugs +var INCORRECT_TO_STRING = INCORRECT_CONSTRUCTOR || fails(function () { + return ErrorPrototype.toString !== errorToString || String(new NativeDOMException(1, 2)) !== '2: 1'; +}); + +// Deno 1.6.3- DOMException.prototype.code just missed +var INCORRECT_CODE = INCORRECT_CONSTRUCTOR || fails(function () { + return new NativeDOMException(1, 'DataCloneError').code !== 25; +}); + +// Deno 1.6.3- DOMException constants just missed +var MISSED_CONSTANTS = INCORRECT_CONSTRUCTOR + || NativeDOMException[DATA_CLONE_ERR] !== 25 + || NativeDOMExceptionPrototype[DATA_CLONE_ERR] !== 25; + +var FORCED_CONSTRUCTOR = IS_PURE ? INCORRECT_TO_STRING || INCORRECT_CODE || MISSED_CONSTANTS : INCORRECT_CONSTRUCTOR; + +// `DOMException` constructor +// https://webidl.spec.whatwg.org/#idl-DOMException +$({ global: true, constructor: true, forced: FORCED_CONSTRUCTOR }, { + DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException +}); + +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION); +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype; + +if (INCORRECT_TO_STRING && (IS_PURE || NativeDOMException === PolyfilledDOMException)) { + defineBuiltIn(PolyfilledDOMExceptionPrototype, 'toString', errorToString); +} + +if (INCORRECT_CODE && DESCRIPTORS && NativeDOMException === PolyfilledDOMException) { + defineBuiltInAccessor(PolyfilledDOMExceptionPrototype, 'code', createGetterDescriptor(function () { + return codeFor(anObject(this).name); + })); +} + +// `DOMException` constants +for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) { + var constant = DOMExceptionConstants[key]; + var constantName = constant.s; + var descriptor = createPropertyDescriptor(6, constant.c); + if (!hasOwn(PolyfilledDOMException, constantName)) { + defineProperty(PolyfilledDOMException, constantName, descriptor); + } + if (!hasOwn(PolyfilledDOMExceptionPrototype, constantName)) { + defineProperty(PolyfilledDOMExceptionPrototype, constantName, descriptor); + } +} + + +/***/ }), +/* 551 */ +/***/ (function(module) { + + +module.exports = { + IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 }, + DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 }, + HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 }, + WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 }, + InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 }, + NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 }, + NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 }, + NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 }, + NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 }, + InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 }, + InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 }, + SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 }, + InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 }, + NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 }, + InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 }, + ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 }, + TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 }, + SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 }, + NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 }, + AbortError: { s: 'ABORT_ERR', c: 20, m: 1 }, + URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 }, + QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 }, + TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 }, + InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 }, + DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 } +}; + + +/***/ }), +/* 552 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var createPropertyDescriptor = __webpack_require__(11); +var defineProperty = (__webpack_require__(44).f); +var hasOwn = __webpack_require__(38); +var anInstance = __webpack_require__(211); +var inheritIfRequired = __webpack_require__(118); +var normalizeStringArgument = __webpack_require__(119); +var DOMExceptionConstants = __webpack_require__(551); +var clearErrorStack = __webpack_require__(122); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var DOM_EXCEPTION = 'DOMException'; +var Error = getBuiltIn('Error'); +var NativeDOMException = getBuiltIn(DOM_EXCEPTION); + +var $DOMException = function DOMException() { + anInstance(this, DOMExceptionPrototype); + var argumentsLength = arguments.length; + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); + var that = new NativeDOMException(message, name); + var error = new Error(message); + error.name = DOM_EXCEPTION; + defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); + inheritIfRequired(that, this, $DOMException); + return that; +}; + +var DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype; + +var ERROR_HAS_STACK = 'stack' in new Error(DOM_EXCEPTION); +var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, DOM_EXCEPTION); + +// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it +// https://github.com/Jarred-Sumner/bun/issues/399 +var BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable); + +var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK; + +// `DOMException` constructor patch for `.stack` where it's required +// https://webidl.spec.whatwg.org/#es-DOMException-specialness +$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic + DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException +}); + +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION); +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype; + +if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) { + if (!IS_PURE) { + defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException)); + } + + for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) { + var constant = DOMExceptionConstants[key]; + var constantName = constant.s; + if (!hasOwn(PolyfilledDOMException, constantName)) { + defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c)); + } + } +} + + +/***/ }), +/* 553 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var setToStringTag = __webpack_require__(82); + +var DOM_EXCEPTION = 'DOMException'; + +// `DOMException.prototype[@@toStringTag]` property +setToStringTag(getBuiltIn(DOM_EXCEPTION), DOM_EXCEPTION); + + +/***/ }), +/* 554 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(555); +__webpack_require__(556); + + +/***/ }), +/* 555 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var clearImmediate = (__webpack_require__(360).clear); + +// `clearImmediate` method +// http://w3c.github.io/setImmediate/#si-clearImmediate +$({ global: true, bind: true, enumerable: true, forced: globalThis.clearImmediate !== clearImmediate }, { + clearImmediate: clearImmediate +}); + + +/***/ }), +/* 556 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var setTask = (__webpack_require__(360).set); +var schedulersFix = __webpack_require__(557); + +// https://github.com/oven-sh/bun/issues/1633 +var setImmediate = globalThis.setImmediate ? schedulersFix(setTask, false) : setTask; + +// `setImmediate` method +// http://w3c.github.io/setImmediate/#si-setImmediate +$({ global: true, bind: true, enumerable: true, forced: globalThis.setImmediate !== setImmediate }, { + setImmediate: setImmediate +}); + + +/***/ }), +/* 557 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var isCallable = __webpack_require__(21); +var ENVIRONMENT = __webpack_require__(183); +var USER_AGENT = __webpack_require__(28); +var arraySlice = __webpack_require__(76); +var validateArgumentsLength = __webpack_require__(361); + +var Function = globalThis.Function; +// dirty IE9- and Bun 0.3.0- checks +var WRAP = /MSIE .\./.test(USER_AGENT) || ENVIRONMENT === 'BUN' && (function () { + var version = globalThis.Bun.version.split('.'); + return version.length < 3 || version[0] === '0' && (version[1] < 3 || version[1] === '3' && version[2] === '0'); +})(); + +// IE9- / Bun 0.3.0- setTimeout / setInterval / setImmediate additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers +// https://github.com/oven-sh/bun/issues/1633 +module.exports = function (scheduler, hasTimeArg) { + var firstParamIndex = hasTimeArg ? 2 : 1; + return WRAP ? function (handler, timeout /* , ...arguments */) { + var boundArgs = validateArgumentsLength(arguments.length, 1) > firstParamIndex; + var fn = isCallable(handler) ? handler : Function(handler); + var params = boundArgs ? arraySlice(arguments, firstParamIndex) : []; + var callback = boundArgs ? function () { + apply(fn, this, params); + } : fn; + return hasTimeArg ? scheduler(callback, timeout) : scheduler(callback); + } : scheduler; +}; + + +/***/ }), +/* 558 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var microtask = __webpack_require__(363); +var aCallable = __webpack_require__(30); +var validateArgumentsLength = __webpack_require__(361); +var fails = __webpack_require__(7); +var DESCRIPTORS = __webpack_require__(6); + +// Bun ~ 1.0.30 bug +// https://github.com/oven-sh/bun/issues/9249 +var WRONG_ARITY = fails(function () { + // getOwnPropertyDescriptor for prevent experimental warning in Node 11 + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + return DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, 'queueMicrotask').value.length !== 1; +}); + +// `queueMicrotask` method +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask +$({ global: true, enumerable: true, dontCallGetSet: true, forced: WRONG_ARITY }, { + queueMicrotask: function queueMicrotask(fn) { + validateArgumentsLength(arguments.length, 1); + microtask(aCallable(fn)); + } +}); + + +/***/ }), +/* 559 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var defineBuiltInAccessor = __webpack_require__(77); +var DESCRIPTORS = __webpack_require__(6); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; +var INCORRECT_VALUE = globalThis.self !== globalThis; + +// `self` getter +// https://html.spec.whatwg.org/multipage/window-object.html#dom-self +try { + if (DESCRIPTORS) { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var descriptor = Object.getOwnPropertyDescriptor(globalThis, 'self'); + // some engines have `self`, but with incorrect descriptor + // https://github.com/denoland/deno/issues/15765 + if (INCORRECT_VALUE || !descriptor || !descriptor.get || !descriptor.enumerable) { + defineBuiltInAccessor(globalThis, 'self', { + get: function self() { + return globalThis; + }, + set: function self(value) { + if (this !== globalThis) throw new $TypeError('Illegal invocation'); + defineProperty(globalThis, 'self', { + value: value, + writable: true, + configurable: true, + enumerable: true + }); + }, + configurable: true, + enumerable: true + }); + } + } else $({ global: true, simple: true, forced: INCORRECT_VALUE }, { + self: globalThis + }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 560 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var IS_PURE = __webpack_require__(36); +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var uid = __webpack_require__(40); +var isCallable = __webpack_require__(21); +var isConstructor = __webpack_require__(89); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var iterate = __webpack_require__(130); +var anObject = __webpack_require__(46); +var classof = __webpack_require__(69); +var hasOwn = __webpack_require__(38); +var createProperty = __webpack_require__(141); +var createNonEnumerableProperty = __webpack_require__(43); +var lengthOfArrayLike = __webpack_require__(63); +var validateArgumentsLength = __webpack_require__(361); +var getRegExpFlags = __webpack_require__(402); +var MapHelpers = __webpack_require__(279); +var SetHelpers = __webpack_require__(419); +var setIterate = __webpack_require__(421); +var detachTransferable = __webpack_require__(228); +var ERROR_STACK_INSTALLABLE = __webpack_require__(123); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var Object = globalThis.Object; +var Array = globalThis.Array; +var Date = globalThis.Date; +var Error = globalThis.Error; +var TypeError = globalThis.TypeError; +var PerformanceMark = globalThis.PerformanceMark; +var DOMException = getBuiltIn('DOMException'); +var Map = MapHelpers.Map; +var mapHas = MapHelpers.has; +var mapGet = MapHelpers.get; +var mapSet = MapHelpers.set; +var Set = SetHelpers.Set; +var setAdd = SetHelpers.add; +var setHas = SetHelpers.has; +var objectKeys = getBuiltIn('Object', 'keys'); +var push = uncurryThis([].push); +var thisBooleanValue = uncurryThis(true.valueOf); +var thisNumberValue = uncurryThis(1.0.valueOf); +var thisStringValue = uncurryThis(''.valueOf); +var thisTimeValue = uncurryThis(Date.prototype.getTime); +var PERFORMANCE_MARK = uid('structuredClone'); +var DATA_CLONE_ERROR = 'DataCloneError'; +var TRANSFERRING = 'Transferring'; + +var checkBasicSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var set1 = new globalThis.Set([7]); + var set2 = structuredCloneImplementation(set1); + var number = structuredCloneImplementation(Object(7)); + return set2 === set1 || !set2.has(7) || !isObject(number) || +number !== 7; + }) && structuredCloneImplementation; +}; + +var checkErrorsCloning = function (structuredCloneImplementation, $Error) { + return !fails(function () { + var error = new $Error(); + var test = structuredCloneImplementation({ a: error, b: error }); + return !(test && test.a === test.b && test.a instanceof $Error && test.a.stack === error.stack); + }); +}; + +// https://github.com/whatwg/html/pull/5749 +var checkNewErrorsCloningSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var test = structuredCloneImplementation(new globalThis.AggregateError([1], PERFORMANCE_MARK, { cause: 3 })); + return test.name !== 'AggregateError' || test.errors[0] !== 1 || test.message !== PERFORMANCE_MARK || test.cause !== 3; + }); +}; + +// FF94+, Safari 15.4+, Chrome 98+, NodeJS 17.0+, Deno 1.13+ +// FF<103 and Safari implementations can't clone errors +// https://bugzilla.mozilla.org/show_bug.cgi?id=1556604 +// FF103 can clone errors, but `.stack` of clone is an empty string +// https://bugzilla.mozilla.org/show_bug.cgi?id=1778762 +// FF104+ fixed it on usual errors, but not on DOMExceptions +// https://bugzilla.mozilla.org/show_bug.cgi?id=1777321 +// Chrome <102 returns `null` if cloned object contains multiple references to one error +// https://bugs.chromium.org/p/v8/issues/detail?id=12542 +// NodeJS implementation can't clone DOMExceptions +// https://github.com/nodejs/node/issues/41038 +// only FF103+ supports new (html/5749) error cloning semantic +var nativeStructuredClone = globalThis.structuredClone; + +var FORCED_REPLACEMENT = IS_PURE + || !checkErrorsCloning(nativeStructuredClone, Error) + || !checkErrorsCloning(nativeStructuredClone, DOMException) + || !checkNewErrorsCloningSemantic(nativeStructuredClone); + +// Chrome 82+, Safari 14.1+, Deno 1.11+ +// Chrome 78-81 implementation swaps `.name` and `.message` of cloned `DOMException` +// Chrome returns `null` if cloned object contains multiple references to one error +// Safari 14.1 implementation doesn't clone some `RegExp` flags, so requires a workaround +// Safari implementation can't clone errors +// Deno 1.2-1.10 implementations too naive +// NodeJS 16.0+ does not have `PerformanceMark` constructor +// NodeJS <17.2 structured cloning implementation from `performance.mark` is too naive +// and can't clone, for example, `RegExp` or some boxed primitives +// https://github.com/nodejs/node/issues/40840 +// no one of those implementations supports new (html/5749) error cloning semantic +var structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) { + return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail; +}); + +var nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark; + +var throwUncloneable = function (type) { + throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR); +}; + +var throwUnpolyfillable = function (type, action) { + throw new DOMException((action || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR); +}; + +var tryNativeRestrictedStructuredClone = function (value, type) { + if (!nativeRestrictedStructuredClone) throwUnpolyfillable(type); + return nativeRestrictedStructuredClone(value); +}; + +var createDataTransfer = function () { + var dataTransfer; + try { + dataTransfer = new globalThis.DataTransfer(); + } catch (error) { + try { + dataTransfer = new globalThis.ClipboardEvent('').clipboardData; + } catch (error2) { /* empty */ } + } + return dataTransfer && dataTransfer.items && dataTransfer.files ? dataTransfer : null; +}; + +var cloneBuffer = function (value, map, $type) { + if (mapHas(map, value)) return mapGet(map, value); + + var type = $type || classof(value); + var clone, length, options, source, target, i; + + if (type === 'SharedArrayBuffer') { + if (nativeRestrictedStructuredClone) clone = nativeRestrictedStructuredClone(value); + // SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original + else clone = value; + } else { + var DataView = globalThis.DataView; + + // `ArrayBuffer#slice` is not available in IE10 + // `ArrayBuffer#slice` and `DataView` are not available in old FF + if (!DataView && !isCallable(value.slice)) throwUnpolyfillable('ArrayBuffer'); + // detached buffers throws in `DataView` and `.slice` + try { + if (isCallable(value.slice) && !value.resizable) { + clone = value.slice(0); + } else { + length = value.byteLength; + options = 'maxByteLength' in value ? { maxByteLength: value.maxByteLength } : undefined; + // eslint-disable-next-line es/no-resizable-and-growable-arraybuffers -- safe + clone = new ArrayBuffer(length, options); + source = new DataView(value); + target = new DataView(clone); + for (i = 0; i < length; i++) { + target.setUint8(i, source.getUint8(i)); + } + } + } catch (error) { + throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR); + } + } + + mapSet(map, value, clone); + + return clone; +}; + +var cloneView = function (value, type, offset, length, map) { + var C = globalThis[type]; + // in some old engines like Safari 9, typeof C is 'object' + // on Uint8ClampedArray or some other constructors + if (!isObject(C)) throwUnpolyfillable(type); + return new C(cloneBuffer(value.buffer, map), offset, length); +}; + +var structuredCloneInternal = function (value, map) { + if (isSymbol(value)) throwUncloneable('Symbol'); + if (!isObject(value)) return value; + // effectively preserves circular references + if (map) { + if (mapHas(map, value)) return mapGet(map, value); + } else map = new Map(); + + var type = classof(value); + var C, name, cloned, dataTransfer, i, length, keys, key; + + switch (type) { + case 'Array': + cloned = Array(lengthOfArrayLike(value)); + break; + case 'Object': + cloned = {}; + break; + case 'Map': + cloned = new Map(); + break; + case 'Set': + cloned = new Set(); + break; + case 'RegExp': + // in this block because of a Safari 14.1 bug + // old FF does not clone regexes passed to the constructor, so get the source and flags directly + cloned = new RegExp(value.source, getRegExpFlags(value)); + break; + case 'Error': + name = value.name; + switch (name) { + case 'AggregateError': + cloned = new (getBuiltIn(name))([]); + break; + case 'EvalError': + case 'RangeError': + case 'ReferenceError': + case 'SuppressedError': + case 'SyntaxError': + case 'TypeError': + case 'URIError': + cloned = new (getBuiltIn(name))(); + break; + case 'CompileError': + case 'LinkError': + case 'RuntimeError': + cloned = new (getBuiltIn('WebAssembly', name))(); + break; + default: + cloned = new Error(); + } + break; + case 'DOMException': + cloned = new DOMException(value.message, value.name); + break; + case 'ArrayBuffer': + case 'SharedArrayBuffer': + cloned = cloneBuffer(value, map, type); + break; + case 'DataView': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float16Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + length = type === 'DataView' ? value.byteLength : value.length; + cloned = cloneView(value, type, value.byteOffset, length, map); + break; + case 'DOMQuad': + try { + cloned = new DOMQuad( + structuredCloneInternal(value.p1, map), + structuredCloneInternal(value.p2, map), + structuredCloneInternal(value.p3, map), + structuredCloneInternal(value.p4, map) + ); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } + break; + case 'File': + if (nativeRestrictedStructuredClone) try { + cloned = nativeRestrictedStructuredClone(value); + // NodeJS 20.0.0 bug, https://github.com/nodejs/node/issues/47612 + if (classof(cloned) !== type) cloned = undefined; + } catch (error) { /* empty */ } + if (!cloned) try { + cloned = new File([value], value.name, value); + } catch (error) { /* empty */ } + if (!cloned) throwUnpolyfillable(type); + break; + case 'FileList': + dataTransfer = createDataTransfer(); + if (dataTransfer) { + for (i = 0, length = lengthOfArrayLike(value); i < length; i++) { + dataTransfer.items.add(structuredCloneInternal(value[i], map)); + } + cloned = dataTransfer.files; + } else cloned = tryNativeRestrictedStructuredClone(value, type); + break; + case 'ImageData': + // Safari 9 ImageData is a constructor, but typeof ImageData is 'object' + try { + cloned = new ImageData( + structuredCloneInternal(value.data, map), + value.width, + value.height, + { colorSpace: value.colorSpace } + ); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } break; + default: + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else switch (type) { + case 'BigInt': + // can be a 3rd party polyfill + cloned = Object(value.valueOf()); + break; + case 'Boolean': + cloned = Object(thisBooleanValue(value)); + break; + case 'Number': + cloned = Object(thisNumberValue(value)); + break; + case 'String': + cloned = Object(thisStringValue(value)); + break; + case 'Date': + cloned = new Date(thisTimeValue(value)); + break; + case 'Blob': + try { + cloned = value.slice(0, value.size, value.type); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMPoint': + case 'DOMPointReadOnly': + C = globalThis[type]; + try { + cloned = C.fromPoint + ? C.fromPoint(value) + : new C(value.x, value.y, value.z, value.w); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMRect': + case 'DOMRectReadOnly': + C = globalThis[type]; + try { + cloned = C.fromRect + ? C.fromRect(value) + : new C(value.x, value.y, value.width, value.height); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMMatrix': + case 'DOMMatrixReadOnly': + C = globalThis[type]; + try { + cloned = C.fromMatrix + ? C.fromMatrix(value) + : new C(value); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone)) throwUnpolyfillable(type); + try { + cloned = value.clone(); + } catch (error) { + throwUncloneable(type); + } break; + case 'CropTarget': + case 'CryptoKey': + case 'FileSystemDirectoryHandle': + case 'FileSystemFileHandle': + case 'FileSystemHandle': + case 'GPUCompilationInfo': + case 'GPUCompilationMessage': + case 'ImageBitmap': + case 'RTCCertificate': + case 'WebAssembly.Module': + throwUnpolyfillable(type); + // break omitted + default: + throwUncloneable(type); + } + } + + mapSet(map, value, cloned); + + switch (type) { + case 'Array': + case 'Object': + keys = objectKeys(value); + for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { + key = keys[i]; + createProperty(cloned, key, structuredCloneInternal(value[key], map)); + } break; + case 'Map': + value.forEach(function (v, k) { + mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map)); + }); + break; + case 'Set': + value.forEach(function (v) { + setAdd(cloned, structuredCloneInternal(v, map)); + }); + break; + case 'Error': + createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map)); + if (hasOwn(value, 'cause')) { + createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map)); + } + if (name === 'AggregateError') { + cloned.errors = structuredCloneInternal(value.errors, map); + } else if (name === 'SuppressedError') { + cloned.error = structuredCloneInternal(value.error, map); + cloned.suppressed = structuredCloneInternal(value.suppressed, map); + } // break omitted + case 'DOMException': + if (ERROR_STACK_INSTALLABLE) { + createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map)); + } + } + + return cloned; +}; + +var tryToTransfer = function (rawTransfer, map) { + if (!isObject(rawTransfer)) throw new TypeError('Transfer option cannot be converted to a sequence'); + + var transfer = []; + + iterate(rawTransfer, function (value) { + push(transfer, anObject(value)); + }); + + var i = 0; + var length = lengthOfArrayLike(transfer); + var buffers = new Set(); + var value, type, C, transferred, canvas, context; + + while (i < length) { + value = transfer[i++]; + + type = classof(value); + + if (type === 'ArrayBuffer' ? setHas(buffers, value) : mapHas(map, value)) { + throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); + } + + if (type === 'ArrayBuffer') { + setAdd(buffers, value); + continue; + } + + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + transferred = nativeStructuredClone(value, { transfer: [value] }); + } else switch (type) { + case 'ImageBitmap': + C = globalThis.OffscreenCanvas; + if (!isConstructor(C)) throwUnpolyfillable(type, TRANSFERRING); + try { + canvas = new C(value.width, value.height); + context = canvas.getContext('bitmaprenderer'); + context.transferFromImageBitmap(value); + transferred = canvas.transferToImageBitmap(); + } catch (error) { /* empty */ } + break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone) || !isCallable(value.close)) throwUnpolyfillable(type, TRANSFERRING); + try { + transferred = value.clone(); + value.close(); + } catch (error) { /* empty */ } + break; + case 'MediaSourceHandle': + case 'MessagePort': + case 'MIDIAccess': + case 'OffscreenCanvas': + case 'ReadableStream': + case 'RTCDataChannel': + case 'TransformStream': + case 'WebTransportReceiveStream': + case 'WebTransportSendStream': + case 'WritableStream': + throwUnpolyfillable(type, TRANSFERRING); + } + + if (transferred === undefined) throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR); + + mapSet(map, value, transferred); + } + + return buffers; +}; + +var detachBuffers = function (buffers) { + setIterate(buffers, function (buffer) { + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + nativeRestrictedStructuredClone(buffer, { transfer: [buffer] }); + } else if (isCallable(buffer.transfer)) { + buffer.transfer(); + } else if (detachTransferable) { + detachTransferable(buffer); + } else { + throwUnpolyfillable('ArrayBuffer', TRANSFERRING); + } + }); +}; + +// `structuredClone` method +// https://html.spec.whatwg.org/multipage/structured-data.html#dom-structuredclone +$({ global: true, enumerable: true, sham: !PROPER_STRUCTURED_CLONE_TRANSFER, forced: FORCED_REPLACEMENT }, { + structuredClone: function structuredClone(value /* , { transfer } */) { + var options = validateArgumentsLength(arguments.length, 1) > 1 && !isNullOrUndefined(arguments[1]) ? anObject(arguments[1]) : undefined; + var transfer = options ? options.transfer : undefined; + var map, buffers; + + if (transfer !== undefined) { + map = new Map(); + buffers = tryToTransfer(transfer, map); + } + + var clone = structuredCloneInternal(value, map); + + // since of an issue with cloning views of transferred buffers, we a forced to detach them later + // https://github.com/zloirock/core-js/issues/1265 + if (buffers) detachBuffers(buffers); + + return clone; + } +}); + + +/***/ }), +/* 561 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(562); +__webpack_require__(563); + + +/***/ }), +/* 562 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var schedulersFix = __webpack_require__(557); + +var setInterval = schedulersFix(globalThis.setInterval, true); + +// Bun / IE9- setInterval additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval +$({ global: true, bind: true, forced: globalThis.setInterval !== setInterval }, { + setInterval: setInterval +}); + + +/***/ }), +/* 563 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var schedulersFix = __webpack_require__(557); + +var setTimeout = schedulersFix(globalThis.setTimeout, true); + +// Bun / IE9- setTimeout additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout +$({ global: true, bind: true, forced: globalThis.setTimeout !== setTimeout }, { + setTimeout: setTimeout +}); + + +/***/ }), +/* 564 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(565); + + +/***/ }), +/* 565 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__(447); +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var USE_NATIVE_URL = __webpack_require__(566); +var globalThis = __webpack_require__(4); +var bind = __webpack_require__(84); +var uncurryThis = __webpack_require__(14); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var anInstance = __webpack_require__(211); +var hasOwn = __webpack_require__(38); +var assign = __webpack_require__(322); +var arrayFrom = __webpack_require__(162); +var arraySlice = __webpack_require__(76); +var codeAt = (__webpack_require__(440).codeAt); +var toASCII = __webpack_require__(567); +var $toString = __webpack_require__(68); +var setToStringTag = __webpack_require__(82); +var validateArgumentsLength = __webpack_require__(361); +var URLSearchParamsModule = __webpack_require__(568); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var getInternalURLState = InternalStateModule.getterFor('URL'); +var URLSearchParams = URLSearchParamsModule.URLSearchParams; +var getInternalSearchParamsState = URLSearchParamsModule.getState; + +var NativeURL = globalThis.URL; +var TypeError = globalThis.TypeError; +var parseInt = globalThis.parseInt; +var floor = Math.floor; +var pow = Math.pow; +var charAt = uncurryThis(''.charAt); +var exec = uncurryThis(/./.exec); +var join = uncurryThis([].join); +var numberToString = uncurryThis(1.0.toString); +var pop = uncurryThis([].pop); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); +var toLowerCase = uncurryThis(''.toLowerCase); +var unshift = uncurryThis([].unshift); + +var INVALID_AUTHORITY = 'Invalid authority'; +var INVALID_SCHEME = 'Invalid scheme'; +var INVALID_HOST = 'Invalid host'; +var INVALID_PORT = 'Invalid port'; + +var ALPHA = /[a-z]/i; +// eslint-disable-next-line regexp/no-obscure-range -- safe +var ALPHANUMERIC = /[\d+-.a-z]/i; +var DIGIT = /\d/; +var HEX_START = /^0x/i; +var OCT = /^[0-7]+$/; +var DEC = /^\d+$/; +var HEX = /^[\da-f]+$/i; +/* eslint-disable regexp/no-control-character -- safe */ +var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/; +var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/; +var LEADING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+/; +var TRAILING_C0_CONTROL_OR_SPACE = /(^|[^\u0000-\u0020])[\u0000-\u0020]+$/; +var TAB_AND_NEW_LINE = /[\t\n\r]/g; +/* eslint-enable regexp/no-control-character -- safe */ +var EOF; + +// https://url.spec.whatwg.org/#ipv4-number-parser +var parseIPv4 = function (input) { + var parts = split(input, '.'); + var partsLength, numbers, index, part, radix, number, ipv4; + if (parts.length && parts[parts.length - 1] === '') { + parts.length--; + } + partsLength = parts.length; + if (partsLength > 4) return input; + numbers = []; + for (index = 0; index < partsLength; index++) { + part = parts[index]; + if (part === '') return input; + radix = 10; + if (part.length > 1 && charAt(part, 0) === '0') { + radix = exec(HEX_START, part) ? 16 : 8; + part = stringSlice(part, radix === 8 ? 1 : 2); + } + if (part === '') { + number = 0; + } else { + if (!exec(radix === 10 ? DEC : radix === 8 ? OCT : HEX, part)) return input; + number = parseInt(part, radix); + } + push(numbers, number); + } + for (index = 0; index < partsLength; index++) { + number = numbers[index]; + if (index === partsLength - 1) { + if (number >= pow(256, 5 - partsLength)) return null; + } else if (number > 255) return null; + } + ipv4 = pop(numbers); + for (index = 0; index < numbers.length; index++) { + ipv4 += numbers[index] * pow(256, 3 - index); + } + return ipv4; +}; + +// https://url.spec.whatwg.org/#concept-ipv6-parser +// eslint-disable-next-line max-statements -- TODO +var parseIPv6 = function (input) { + var address = [0, 0, 0, 0, 0, 0, 0, 0]; + var pieceIndex = 0; + var compress = null; + var pointer = 0; + var value, length, numbersSeen, ipv4Piece, number, swaps, swap; + + var chr = function () { + return charAt(input, pointer); + }; + + if (chr() === ':') { + if (charAt(input, 1) !== ':') return; + pointer += 2; + pieceIndex++; + compress = pieceIndex; + } + while (chr()) { + if (pieceIndex === 8) return; + if (chr() === ':') { + if (compress !== null) return; + pointer++; + pieceIndex++; + compress = pieceIndex; + continue; + } + value = length = 0; + while (length < 4 && exec(HEX, chr())) { + value = value * 16 + parseInt(chr(), 16); + pointer++; + length++; + } + if (chr() === '.') { + if (length === 0) return; + pointer -= length; + if (pieceIndex > 6) return; + numbersSeen = 0; + while (chr()) { + ipv4Piece = null; + if (numbersSeen > 0) { + if (chr() === '.' && numbersSeen < 4) pointer++; + else return; + } + if (!exec(DIGIT, chr())) return; + while (exec(DIGIT, chr())) { + number = parseInt(chr(), 10); + if (ipv4Piece === null) ipv4Piece = number; + else if (ipv4Piece === 0) return; + else ipv4Piece = ipv4Piece * 10 + number; + if (ipv4Piece > 255) return; + pointer++; + } + address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; + numbersSeen++; + if (numbersSeen === 2 || numbersSeen === 4) pieceIndex++; + } + if (numbersSeen !== 4) return; + break; + } else if (chr() === ':') { + pointer++; + if (!chr()) return; + } else if (chr()) return; + address[pieceIndex++] = value; + } + if (compress !== null) { + swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex !== 0 && swaps > 0) { + swap = address[pieceIndex]; + address[pieceIndex--] = address[compress + swaps - 1]; + address[compress + --swaps] = swap; + } + } else if (pieceIndex !== 8) return; + return address; +}; + +var findLongestZeroSequence = function (ipv6) { + var maxIndex = null; + var maxLength = 1; + var currStart = null; + var currLength = 0; + var index = 0; + for (; index < 8; index++) { + if (ipv6[index] !== 0) { + if (currLength > maxLength) { + maxIndex = currStart; + maxLength = currLength; + } + currStart = null; + currLength = 0; + } else { + if (currStart === null) currStart = index; + ++currLength; + } + } + return currLength > maxLength ? currStart : maxIndex; +}; + +// https://url.spec.whatwg.org/#host-serializing +var serializeHost = function (host) { + var result, index, compress, ignore0; + + // ipv4 + if (typeof host == 'number') { + result = []; + for (index = 0; index < 4; index++) { + unshift(result, host % 256); + host = floor(host / 256); + } + return join(result, '.'); + } + + // ipv6 + if (typeof host == 'object') { + result = ''; + compress = findLongestZeroSequence(host); + for (index = 0; index < 8; index++) { + if (ignore0 && host[index] === 0) continue; + if (ignore0) ignore0 = false; + if (compress === index) { + result += index ? ':' : '::'; + ignore0 = true; + } else { + result += numberToString(host[index], 16); + if (index < 7) result += ':'; + } + } + return '[' + result + ']'; + } + + return host; +}; + +var C0ControlPercentEncodeSet = {}; +var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { + ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 +}); +var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { + '#': 1, '?': 1, '{': 1, '}': 1 +}); +var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { + '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 +}); + +var percentEncode = function (chr, set) { + var code = codeAt(chr, 0); + return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr); +}; + +// https://url.spec.whatwg.org/#special-scheme +var specialSchemes = { + ftp: 21, + file: null, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; + +// https://url.spec.whatwg.org/#windows-drive-letter +var isWindowsDriveLetter = function (string, normalized) { + var second; + return string.length === 2 && exec(ALPHA, charAt(string, 0)) + && ((second = charAt(string, 1)) === ':' || (!normalized && second === '|')); +}; + +// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter +var startsWithWindowsDriveLetter = function (string) { + var third; + return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && ( + string.length === 2 || + ((third = charAt(string, 2)) === '/' || third === '\\' || third === '?' || third === '#') + ); +}; + +// https://url.spec.whatwg.org/#single-dot-path-segment +var isSingleDot = function (segment) { + return segment === '.' || toLowerCase(segment) === '%2e'; +}; + +// https://url.spec.whatwg.org/#double-dot-path-segment +var isDoubleDot = function (segment) { + segment = toLowerCase(segment); + return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; +}; + +// States: +var SCHEME_START = {}; +var SCHEME = {}; +var NO_SCHEME = {}; +var SPECIAL_RELATIVE_OR_AUTHORITY = {}; +var PATH_OR_AUTHORITY = {}; +var RELATIVE = {}; +var RELATIVE_SLASH = {}; +var SPECIAL_AUTHORITY_SLASHES = {}; +var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; +var AUTHORITY = {}; +var HOST = {}; +var HOSTNAME = {}; +var PORT = {}; +var FILE = {}; +var FILE_SLASH = {}; +var FILE_HOST = {}; +var PATH_START = {}; +var PATH = {}; +var CANNOT_BE_A_BASE_URL_PATH = {}; +var QUERY = {}; +var FRAGMENT = {}; + +var URLState = function (url, isBase, base) { + var urlString = $toString(url); + var baseState, failure, searchParams; + if (isBase) { + failure = this.parse(urlString); + if (failure) throw new TypeError(failure); + this.searchParams = null; + } else { + if (base !== undefined) baseState = new URLState(base, true); + failure = this.parse(urlString, null, baseState); + if (failure) throw new TypeError(failure); + searchParams = getInternalSearchParamsState(new URLSearchParams()); + searchParams.bindURL(this); + this.searchParams = searchParams; + } +}; + +URLState.prototype = { + type: 'URL', + // https://url.spec.whatwg.org/#url-parsing + // eslint-disable-next-line max-statements -- TODO + parse: function (input, stateOverride, base) { + var url = this; + var state = stateOverride || SCHEME_START; + var pointer = 0; + var buffer = ''; + var seenAt = false; + var seenBracket = false; + var seenPasswordToken = false; + var codePoints, chr, bufferCodePoints, failure; + + input = $toString(input); + + if (!stateOverride) { + url.scheme = ''; + url.username = ''; + url.password = ''; + url.host = null; + url.port = null; + url.path = []; + url.query = null; + url.fragment = null; + url.cannotBeABaseURL = false; + input = replace(input, LEADING_C0_CONTROL_OR_SPACE, ''); + input = replace(input, TRAILING_C0_CONTROL_OR_SPACE, '$1'); + } + + input = replace(input, TAB_AND_NEW_LINE, ''); + + codePoints = arrayFrom(input); + + while (pointer <= codePoints.length) { + chr = codePoints[pointer]; + switch (state) { + case SCHEME_START: + if (chr && exec(ALPHA, chr)) { + buffer += toLowerCase(chr); + state = SCHEME; + } else if (!stateOverride) { + state = NO_SCHEME; + continue; + } else return INVALID_SCHEME; + break; + + case SCHEME: + if (chr && (exec(ALPHANUMERIC, chr) || chr === '+' || chr === '-' || chr === '.')) { + buffer += toLowerCase(chr); + } else if (chr === ':') { + if (stateOverride && ( + (url.isSpecial() !== hasOwn(specialSchemes, buffer)) || + (buffer === 'file' && (url.includesCredentials() || url.port !== null)) || + (url.scheme === 'file' && !url.host) + )) return; + url.scheme = buffer; + if (stateOverride) { + if (url.isSpecial() && specialSchemes[url.scheme] === url.port) url.port = null; + return; + } + buffer = ''; + if (url.scheme === 'file') { + state = FILE; + } else if (url.isSpecial() && base && base.scheme === url.scheme) { + state = SPECIAL_RELATIVE_OR_AUTHORITY; + } else if (url.isSpecial()) { + state = SPECIAL_AUTHORITY_SLASHES; + } else if (codePoints[pointer + 1] === '/') { + state = PATH_OR_AUTHORITY; + pointer++; + } else { + url.cannotBeABaseURL = true; + push(url.path, ''); + state = CANNOT_BE_A_BASE_URL_PATH; + } + } else if (!stateOverride) { + buffer = ''; + state = NO_SCHEME; + pointer = 0; + continue; + } else return INVALID_SCHEME; + break; + + case NO_SCHEME: + if (!base || (base.cannotBeABaseURL && chr !== '#')) return INVALID_SCHEME; + if (base.cannotBeABaseURL && chr === '#') { + url.scheme = base.scheme; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + url.cannotBeABaseURL = true; + state = FRAGMENT; + break; + } + state = base.scheme === 'file' ? FILE : RELATIVE; + continue; + + case SPECIAL_RELATIVE_OR_AUTHORITY: + if (chr === '/' && codePoints[pointer + 1] === '/') { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + pointer++; + } else { + state = RELATIVE; + continue; + } break; + + case PATH_OR_AUTHORITY: + if (chr === '/') { + state = AUTHORITY; + break; + } else { + state = PATH; + continue; + } + + case RELATIVE: + url.scheme = base.scheme; + if (chr === EOF) { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + } else if (chr === '/' || (chr === '\\' && url.isSpecial())) { + state = RELATIVE_SLASH; + } else if (chr === '?') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.path.length--; + state = PATH; + continue; + } break; + + case RELATIVE_SLASH: + if (url.isSpecial() && (chr === '/' || chr === '\\')) { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + } else if (chr === '/') { + state = AUTHORITY; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + state = PATH; + continue; + } break; + + case SPECIAL_AUTHORITY_SLASHES: + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + if (chr !== '/' || charAt(buffer, pointer + 1) !== '/') continue; + pointer++; + break; + + case SPECIAL_AUTHORITY_IGNORE_SLASHES: + if (chr !== '/' && chr !== '\\') { + state = AUTHORITY; + continue; + } break; + + case AUTHORITY: + if (chr === '@') { + if (seenAt) buffer = '%40' + buffer; + seenAt = true; + bufferCodePoints = arrayFrom(buffer); + for (var i = 0; i < bufferCodePoints.length; i++) { + var codePoint = bufferCodePoints[i]; + if (codePoint === ':' && !seenPasswordToken) { + seenPasswordToken = true; + continue; + } + var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); + if (seenPasswordToken) url.password += encodedCodePoints; + else url.username += encodedCodePoints; + } + buffer = ''; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) + ) { + if (seenAt && buffer === '') return INVALID_AUTHORITY; + pointer -= arrayFrom(buffer).length + 1; + buffer = ''; + state = HOST; + } else buffer += chr; + break; + + case HOST: + case HOSTNAME: + if (stateOverride && url.scheme === 'file') { + state = FILE_HOST; + continue; + } else if (chr === ':' && !seenBracket) { + if (buffer === '') return INVALID_HOST; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PORT; + if (stateOverride === HOSTNAME) return; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) + ) { + if (url.isSpecial() && buffer === '') return INVALID_HOST; + if (stateOverride && buffer === '' && (url.includesCredentials() || url.port !== null)) return; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PATH_START; + if (stateOverride) return; + continue; + } else { + if (chr === '[') seenBracket = true; + else if (chr === ']') seenBracket = false; + buffer += chr; + } break; + + case PORT: + if (exec(DIGIT, chr)) { + buffer += chr; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) || + stateOverride + ) { + if (buffer !== '') { + var port = parseInt(buffer, 10); + if (port > 0xFFFF) return INVALID_PORT; + url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port; + buffer = ''; + } + if (stateOverride) return; + state = PATH_START; + continue; + } else return INVALID_PORT; + break; + + case FILE: + url.scheme = 'file'; + if (chr === '/' || chr === '\\') state = FILE_SLASH; + else if (base && base.scheme === 'file') { + switch (chr) { + case EOF: + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + break; + case '?': + url.host = base.host; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + break; + case '#': + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + break; + default: + if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + url.host = base.host; + url.path = arraySlice(base.path); + url.shortenPath(); + } + state = PATH; + continue; + } + } else { + state = PATH; + continue; + } break; + + case FILE_SLASH: + if (chr === '/' || chr === '\\') { + state = FILE_HOST; + break; + } + if (base && base.scheme === 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]); + else url.host = base.host; + } + state = PATH; + continue; + + case FILE_HOST: + if (chr === EOF || chr === '/' || chr === '\\' || chr === '?' || chr === '#') { + if (!stateOverride && isWindowsDriveLetter(buffer)) { + state = PATH; + } else if (buffer === '') { + url.host = ''; + if (stateOverride) return; + state = PATH_START; + } else { + failure = url.parseHost(buffer); + if (failure) return failure; + if (url.host === 'localhost') url.host = ''; + if (stateOverride) return; + buffer = ''; + state = PATH_START; + } continue; + } else buffer += chr; + break; + + case PATH_START: + if (url.isSpecial()) { + state = PATH; + if (chr !== '/' && chr !== '\\') continue; + } else if (!stateOverride && chr === '?') { + url.query = ''; + state = QUERY; + } else if (!stateOverride && chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + state = PATH; + if (chr !== '/') continue; + } break; + + case PATH: + if ( + chr === EOF || chr === '/' || + (chr === '\\' && url.isSpecial()) || + (!stateOverride && (chr === '?' || chr === '#')) + ) { + if (isDoubleDot(buffer)) { + url.shortenPath(); + if (chr !== '/' && !(chr === '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else if (isSingleDot(buffer)) { + if (chr !== '/' && !(chr === '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else { + if (url.scheme === 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { + if (url.host) url.host = ''; + buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter + } + push(url.path, buffer); + } + buffer = ''; + if (url.scheme === 'file' && (chr === EOF || chr === '?' || chr === '#')) { + while (url.path.length > 1 && url.path[0] === '') { + shift(url.path); + } + } + if (chr === '?') { + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } + } else { + buffer += percentEncode(chr, pathPercentEncodeSet); + } break; + + case CANNOT_BE_A_BASE_URL_PATH: + if (chr === '?') { + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet); + } break; + + case QUERY: + if (!stateOverride && chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + if (chr === "'" && url.isSpecial()) url.query += '%27'; + else if (chr === '#') url.query += '%23'; + else url.query += percentEncode(chr, C0ControlPercentEncodeSet); + } break; + + case FRAGMENT: + if (chr !== EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet); + break; + } + + pointer++; + } + }, + // https://url.spec.whatwg.org/#host-parsing + parseHost: function (input) { + var result, codePoints, index; + if (charAt(input, 0) === '[') { + if (charAt(input, input.length - 1) !== ']') return INVALID_HOST; + result = parseIPv6(stringSlice(input, 1, -1)); + if (!result) return INVALID_HOST; + this.host = result; + // opaque host + } else if (!this.isSpecial()) { + if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST; + result = ''; + codePoints = arrayFrom(input); + for (index = 0; index < codePoints.length; index++) { + result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); + } + this.host = result; + } else { + input = toASCII(input); + if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST; + result = parseIPv4(input); + if (result === null) return INVALID_HOST; + this.host = result; + } + }, + // https://url.spec.whatwg.org/#cannot-have-a-username-password-port + cannotHaveUsernamePasswordPort: function () { + return !this.host || this.cannotBeABaseURL || this.scheme === 'file'; + }, + // https://url.spec.whatwg.org/#include-credentials + includesCredentials: function () { + return this.username !== '' || this.password !== ''; + }, + // https://url.spec.whatwg.org/#is-special + isSpecial: function () { + return hasOwn(specialSchemes, this.scheme); + }, + // https://url.spec.whatwg.org/#shorten-a-urls-path + shortenPath: function () { + var path = this.path; + var pathSize = path.length; + if (pathSize && (this.scheme !== 'file' || pathSize !== 1 || !isWindowsDriveLetter(path[0], true))) { + path.length--; + } + }, + // https://url.spec.whatwg.org/#concept-url-serializer + serialize: function () { + var url = this; + var scheme = url.scheme; + var username = url.username; + var password = url.password; + var host = url.host; + var port = url.port; + var path = url.path; + var query = url.query; + var fragment = url.fragment; + var output = scheme + ':'; + if (host !== null) { + output += '//'; + if (url.includesCredentials()) { + output += username + (password ? ':' + password : '') + '@'; + } + output += serializeHost(host); + if (port !== null) output += ':' + port; + } else if (scheme === 'file') output += '//'; + output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + if (query !== null) output += '?' + query; + if (fragment !== null) output += '#' + fragment; + return output; + }, + // https://url.spec.whatwg.org/#dom-url-href + setHref: function (href) { + var failure = this.parse(href); + if (failure) throw new TypeError(failure); + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-origin + getOrigin: function () { + var scheme = this.scheme; + var port = this.port; + if (scheme === 'blob') try { + return new URLConstructor(scheme.path[0]).origin; + } catch (error) { + return 'null'; + } + if (scheme === 'file' || !this.isSpecial()) return 'null'; + return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : ''); + }, + // https://url.spec.whatwg.org/#dom-url-protocol + getProtocol: function () { + return this.scheme + ':'; + }, + setProtocol: function (protocol) { + this.parse($toString(protocol) + ':', SCHEME_START); + }, + // https://url.spec.whatwg.org/#dom-url-username + getUsername: function () { + return this.username; + }, + setUsername: function (username) { + var codePoints = arrayFrom($toString(username)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.username = ''; + for (var i = 0; i < codePoints.length; i++) { + this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-password + getPassword: function () { + return this.password; + }, + setPassword: function (password) { + var codePoints = arrayFrom($toString(password)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.password = ''; + for (var i = 0; i < codePoints.length; i++) { + this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-host + getHost: function () { + var host = this.host; + var port = this.port; + return host === null ? '' + : port === null ? serializeHost(host) + : serializeHost(host) + ':' + port; + }, + setHost: function (host) { + if (this.cannotBeABaseURL) return; + this.parse(host, HOST); + }, + // https://url.spec.whatwg.org/#dom-url-hostname + getHostname: function () { + var host = this.host; + return host === null ? '' : serializeHost(host); + }, + setHostname: function (hostname) { + if (this.cannotBeABaseURL) return; + this.parse(hostname, HOSTNAME); + }, + // https://url.spec.whatwg.org/#dom-url-port + getPort: function () { + var port = this.port; + return port === null ? '' : $toString(port); + }, + setPort: function (port) { + if (this.cannotHaveUsernamePasswordPort()) return; + port = $toString(port); + if (port === '') this.port = null; + else this.parse(port, PORT); + }, + // https://url.spec.whatwg.org/#dom-url-pathname + getPathname: function () { + var path = this.path; + return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + }, + setPathname: function (pathname) { + if (this.cannotBeABaseURL) return; + this.path = []; + this.parse(pathname, PATH_START); + }, + // https://url.spec.whatwg.org/#dom-url-search + getSearch: function () { + var query = this.query; + return query ? '?' + query : ''; + }, + setSearch: function (search) { + search = $toString(search); + if (search === '') { + this.query = null; + } else { + if (charAt(search, 0) === '?') search = stringSlice(search, 1); + this.query = ''; + this.parse(search, QUERY); + } + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-searchparams + getSearchParams: function () { + return this.searchParams.facade; + }, + // https://url.spec.whatwg.org/#dom-url-hash + getHash: function () { + var fragment = this.fragment; + return fragment ? '#' + fragment : ''; + }, + setHash: function (hash) { + hash = $toString(hash); + if (hash === '') { + this.fragment = null; + return; + } + if (charAt(hash, 0) === '#') hash = stringSlice(hash, 1); + this.fragment = ''; + this.parse(hash, FRAGMENT); + }, + update: function () { + this.query = this.searchParams.serialize() || null; + } +}; + +// `URL` constructor +// https://url.spec.whatwg.org/#url-class +var URLConstructor = function URL(url /* , base */) { + var that = anInstance(this, URLPrototype); + var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined; + var state = setInternalState(that, new URLState(url, false, base)); + if (!DESCRIPTORS) { + that.href = state.serialize(); + that.origin = state.getOrigin(); + that.protocol = state.getProtocol(); + that.username = state.getUsername(); + that.password = state.getPassword(); + that.host = state.getHost(); + that.hostname = state.getHostname(); + that.port = state.getPort(); + that.pathname = state.getPathname(); + that.search = state.getSearch(); + that.searchParams = state.getSearchParams(); + that.hash = state.getHash(); + } +}; + +var URLPrototype = URLConstructor.prototype; + +var accessorDescriptor = function (getter, setter) { + return { + get: function () { + return getInternalURLState(this)[getter](); + }, + set: setter && function (value) { + return getInternalURLState(this)[setter](value); + }, + configurable: true, + enumerable: true + }; +}; + +if (DESCRIPTORS) { + // `URL.prototype.href` accessors pair + // https://url.spec.whatwg.org/#dom-url-href + defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref')); + // `URL.prototype.origin` getter + // https://url.spec.whatwg.org/#dom-url-origin + defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin')); + // `URL.prototype.protocol` accessors pair + // https://url.spec.whatwg.org/#dom-url-protocol + defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol')); + // `URL.prototype.username` accessors pair + // https://url.spec.whatwg.org/#dom-url-username + defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername')); + // `URL.prototype.password` accessors pair + // https://url.spec.whatwg.org/#dom-url-password + defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword')); + // `URL.prototype.host` accessors pair + // https://url.spec.whatwg.org/#dom-url-host + defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost')); + // `URL.prototype.hostname` accessors pair + // https://url.spec.whatwg.org/#dom-url-hostname + defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname')); + // `URL.prototype.port` accessors pair + // https://url.spec.whatwg.org/#dom-url-port + defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort')); + // `URL.prototype.pathname` accessors pair + // https://url.spec.whatwg.org/#dom-url-pathname + defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname')); + // `URL.prototype.search` accessors pair + // https://url.spec.whatwg.org/#dom-url-search + defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch')); + // `URL.prototype.searchParams` getter + // https://url.spec.whatwg.org/#dom-url-searchparams + defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams')); + // `URL.prototype.hash` accessors pair + // https://url.spec.whatwg.org/#dom-url-hash + defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash')); +} + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +defineBuiltIn(URLPrototype, 'toJSON', function toJSON() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); + +// `URL.prototype.toString` method +// https://url.spec.whatwg.org/#URL-stringification-behavior +defineBuiltIn(URLPrototype, 'toString', function toString() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); + +if (NativeURL) { + var nativeCreateObjectURL = NativeURL.createObjectURL; + var nativeRevokeObjectURL = NativeURL.revokeObjectURL; + // `URL.createObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL + if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL)); + // `URL.revokeObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL + if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL)); +} + +setToStringTag(URLConstructor, 'URL'); + +$({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { + URL: URLConstructor +}); + + +/***/ }), +/* 566 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = !fails(function () { + // eslint-disable-next-line unicorn/relative-url-style -- required for testing + var url = new URL('b?a=1&b=2&c=3', 'https://a'); + var params = url.searchParams; + var params2 = new URLSearchParams('a=1&a=2&b=3'); + var result = ''; + url.pathname = 'c%20d'; + params.forEach(function (value, key) { + params['delete']('b'); + result += key + value; + }); + params2['delete']('a', 2); + // `undefined` case is a Chromium 117 bug + // https://bugs.chromium.org/p/v8/issues/detail?id=14222 + params2['delete']('b', undefined); + return (IS_PURE && (!url.toJSON || !params2.has('a', 1) || params2.has('a', 2) || !params2.has('a', undefined) || params2.has('b'))) + || (!params.size && (IS_PURE || !DESCRIPTORS)) + || !params.sort + || url.href !== 'https://a/c%20d?a=1&c=3' + || params.get('c') !== '3' + || String(new URLSearchParams('?a=1')) !== 'a=1' + || !params[ITERATOR] + // throws in Edge + || new URL('https://a@b').username !== 'a' + || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' + // not punycoded in Edge + || new URL('https://тест').host !== 'xn--e1aybc' + // not escaped in Chrome 62- + || new URL('https://a#б').hash !== '#%D0%B1' + // fails in Chrome 66- + || result !== 'a1c3' + // throws in Safari + || new URL('https://x', undefined).host !== 'x'; +}); + + +/***/ }), +/* 567 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js +var uncurryThis = __webpack_require__(14); + +var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 +var base = 36; +var tMin = 1; +var tMax = 26; +var skew = 38; +var damp = 700; +var initialBias = 72; +var initialN = 128; // 0x80 +var delimiter = '-'; // '\x2D' +var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars +var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators +var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; +var baseMinusTMin = base - tMin; + +var $RangeError = RangeError; +var exec = uncurryThis(regexSeparators.exec); +var floor = Math.floor; +var fromCharCode = String.fromCharCode; +var charCodeAt = uncurryThis(''.charCodeAt); +var join = uncurryThis([].join); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var split = uncurryThis(''.split); +var toLowerCase = uncurryThis(''.toLowerCase); + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + */ +var ucs2decode = function (string) { + var output = []; + var counter = 0; + var length = string.length; + while (counter < length) { + var value = charCodeAt(string, counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + var extra = charCodeAt(string, counter++); + if ((extra & 0xFC00) === 0xDC00) { // Low surrogate. + push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + push(output, value); + counter--; + } + } else { + push(output, value); + } + } + return output; +}; + +/** + * Converts a digit/integer into a basic code point. + */ +var digitToBasic = function (digit) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + */ +var adapt = function (delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + while (delta > baseMinusTMin * tMax >> 1) { + delta = floor(delta / baseMinusTMin); + k += base; + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + */ +var encode = function (input) { + var output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + var inputLength = input.length; + + // Initialize the state. + var n = initialN; + var delta = 0; + var bias = initialBias; + var i, currentValue; + + // Handle the basic code points. + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < 0x80) { + push(output, fromCharCode(currentValue)); + } + } + + var basicLength = output.length; // number of basic code points. + var handledCPCount = basicLength; // number of code points that have been handled; + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + push(output, delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + // All non-basic code points < n have been handled already. Find the next larger one: + var m = maxInt; + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow. + var handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + throw new $RangeError(OVERFLOW_ERROR); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < n && ++delta > maxInt) { + throw new $RangeError(OVERFLOW_ERROR); + } + if (currentValue === n) { + // Represent delta as a generalized variable-length integer. + var q = delta; + var k = base; + while (true) { + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (q < t) break; + var qMinusT = q - t; + var baseMinusT = base - t; + push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT))); + q = floor(qMinusT / baseMinusT); + k += base; + } + + push(output, fromCharCode(digitToBasic(q))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength); + delta = 0; + handledCPCount++; + } + } + + delta++; + n++; + } + return join(output, ''); +}; + +module.exports = function (input) { + var encoded = []; + var labels = split(replace(toLowerCase(input), regexSeparators, '\u002E'), '.'); + var i, label; + for (i = 0; i < labels.length; i++) { + label = labels[i]; + push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label); + } + return join(encoded, '.'); +}; + + +/***/ }), +/* 568 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__(168); +__webpack_require__(444); +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var safeGetBuiltIn = __webpack_require__(364); +var getBuiltIn = __webpack_require__(23); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var DESCRIPTORS = __webpack_require__(6); +var USE_NATIVE_URL = __webpack_require__(566); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var setToStringTag = __webpack_require__(82); +var createIteratorConstructor = __webpack_require__(170); +var InternalStateModule = __webpack_require__(51); +var anInstance = __webpack_require__(211); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var bind = __webpack_require__(84); +var classof = __webpack_require__(69); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var $toString = __webpack_require__(68); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var createIterResultObject = __webpack_require__(172); +var validateArgumentsLength = __webpack_require__(361); +var wellKnownSymbol = __webpack_require__(33); +var arraySort = __webpack_require__(189); + +var ITERATOR = wellKnownSymbol('iterator'); +var URL_SEARCH_PARAMS = 'URLSearchParams'; +var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); +var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); + +var nativeFetch = safeGetBuiltIn('fetch'); +var NativeRequest = safeGetBuiltIn('Request'); +var Headers = safeGetBuiltIn('Headers'); +var RequestPrototype = NativeRequest && NativeRequest.prototype; +var HeadersPrototype = Headers && Headers.prototype; +var TypeError = globalThis.TypeError; +var encodeURIComponent = globalThis.encodeURIComponent; +var fromCharCode = String.fromCharCode; +var fromCodePoint = getBuiltIn('String', 'fromCodePoint'); +var $parseInt = parseInt; +var charAt = uncurryThis(''.charAt); +var join = uncurryThis([].join); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var splice = uncurryThis([].splice); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); +var exec = uncurryThis(/./.exec); + +var plus = /\+/g; +var FALLBACK_REPLACER = '\uFFFD'; +var VALID_HEX = /^[0-9a-f]+$/i; + +var parseHexOctet = function (string, start) { + var substr = stringSlice(string, start, start + 2); + if (!exec(VALID_HEX, substr)) return NaN; + + return $parseInt(substr, 16); +}; + +var getLeadingOnes = function (octet) { + var count = 0; + for (var mask = 0x80; mask > 0 && (octet & mask) !== 0; mask >>= 1) { + count++; + } + return count; +}; + +var utf8Decode = function (octets) { + var codePoint = null; + + switch (octets.length) { + case 1: + codePoint = octets[0]; + break; + case 2: + codePoint = (octets[0] & 0x1F) << 6 | (octets[1] & 0x3F); + break; + case 3: + codePoint = (octets[0] & 0x0F) << 12 | (octets[1] & 0x3F) << 6 | (octets[2] & 0x3F); + break; + case 4: + codePoint = (octets[0] & 0x07) << 18 | (octets[1] & 0x3F) << 12 | (octets[2] & 0x3F) << 6 | (octets[3] & 0x3F); + break; + } + + return codePoint > 0x10FFFF ? null : codePoint; +}; + +var decode = function (input) { + input = replace(input, plus, ' '); + var length = input.length; + var result = ''; + var i = 0; + + while (i < length) { + var decodedChar = charAt(input, i); + + if (decodedChar === '%') { + if (charAt(input, i + 1) === '%' || i + 3 > length) { + result += '%'; + i++; + continue; + } + + var octet = parseHexOctet(input, i + 1); + + // eslint-disable-next-line no-self-compare -- NaN check + if (octet !== octet) { + result += decodedChar; + i++; + continue; + } + + i += 2; + var byteSequenceLength = getLeadingOnes(octet); + + if (byteSequenceLength === 0) { + decodedChar = fromCharCode(octet); + } else { + if (byteSequenceLength === 1 || byteSequenceLength > 4) { + result += FALLBACK_REPLACER; + i++; + continue; + } + + var octets = [octet]; + var sequenceIndex = 1; + + while (sequenceIndex < byteSequenceLength) { + i++; + if (i + 3 > length || charAt(input, i) !== '%') break; + + var nextByte = parseHexOctet(input, i + 1); + + // eslint-disable-next-line no-self-compare -- NaN check + if (nextByte !== nextByte) { + i += 3; + break; + } + if (nextByte > 191 || nextByte < 128) break; + + push(octets, nextByte); + i += 2; + sequenceIndex++; + } + + if (octets.length !== byteSequenceLength) { + result += FALLBACK_REPLACER; + continue; + } + + var codePoint = utf8Decode(octets); + if (codePoint === null) { + result += FALLBACK_REPLACER; + } else { + decodedChar = fromCodePoint(codePoint); + } + } + } + + result += decodedChar; + i++; + } + + return result; +}; + +var find = /[!'()~]|%20/g; + +var replacements = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+' +}; + +var replacer = function (match) { + return replacements[match]; +}; + +var serialize = function (it) { + return replace(encodeURIComponent(it), find, replacer); +}; + +var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { + setInternalState(this, { + type: URL_SEARCH_PARAMS_ITERATOR, + target: getInternalParamsState(params).entries, + index: 0, + kind: kind + }); +}, URL_SEARCH_PARAMS, function next() { + var state = getInternalIteratorState(this); + var target = state.target; + var index = state.index++; + if (!target || index >= target.length) { + state.target = null; + return createIterResultObject(undefined, true); + } + var entry = target[index]; + switch (state.kind) { + case 'keys': return createIterResultObject(entry.key, false); + case 'values': return createIterResultObject(entry.value, false); + } return createIterResultObject([entry.key, entry.value], false); +}, true); + +var URLSearchParamsState = function (init) { + this.entries = []; + this.url = null; + + if (init !== undefined) { + if (isObject(init)) this.parseObject(init); + else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init)); + } +}; + +URLSearchParamsState.prototype = { + type: URL_SEARCH_PARAMS, + bindURL: function (url) { + this.url = url; + this.update(); + }, + parseObject: function (object) { + var entries = this.entries; + var iteratorMethod = getIteratorMethod(object); + var iterator, next, step, entryIterator, entryNext, first, second; + + if (iteratorMethod) { + iterator = getIterator(object, iteratorMethod); + next = iterator.next; + while (!(step = call(next, iterator)).done) { + entryIterator = getIterator(anObject(step.value)); + entryNext = entryIterator.next; + if ( + (first = call(entryNext, entryIterator)).done || + (second = call(entryNext, entryIterator)).done || + !call(entryNext, entryIterator).done + ) throw new TypeError('Expected sequence with length 2'); + push(entries, { key: $toString(first.value), value: $toString(second.value) }); + } + } else for (var key in object) if (hasOwn(object, key)) { + push(entries, { key: key, value: $toString(object[key]) }); + } + }, + parseQuery: function (query) { + if (query) { + var entries = this.entries; + var attributes = split(query, '&'); + var index = 0; + var attribute, entry; + while (index < attributes.length) { + attribute = attributes[index++]; + if (attribute.length) { + entry = split(attribute, '='); + push(entries, { + key: decode(shift(entry)), + value: decode(join(entry, '=')) + }); + } + } + } + }, + serialize: function () { + var entries = this.entries; + var result = []; + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + push(result, serialize(entry.key) + '=' + serialize(entry.value)); + } return join(result, '&'); + }, + update: function () { + this.entries.length = 0; + this.parseQuery(this.url.query); + }, + updateURL: function () { + if (this.url) this.url.update(); + } +}; + +// `URLSearchParams` constructor +// https://url.spec.whatwg.org/#interface-urlsearchparams +var URLSearchParamsConstructor = function URLSearchParams(/* init */) { + anInstance(this, URLSearchParamsPrototype); + var init = arguments.length > 0 ? arguments[0] : undefined; + var state = setInternalState(this, new URLSearchParamsState(init)); + if (!DESCRIPTORS) this.size = state.entries.length; +}; + +var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; + +defineBuiltIns(URLSearchParamsPrototype, { + // `URLSearchParams.prototype.append` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-append + append: function append(name, value) { + var state = getInternalParamsState(this); + validateArgumentsLength(arguments.length, 2); + push(state.entries, { key: $toString(name), value: $toString(value) }); + if (!DESCRIPTORS) this.length++; + state.updateURL(); + }, + // `URLSearchParams.prototype.delete` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-delete + 'delete': function (name /* , value */) { + var state = getInternalParamsState(this); + var length = validateArgumentsLength(arguments.length, 1); + var entries = state.entries; + var key = $toString(name); + var $value = length < 2 ? undefined : arguments[1]; + var value = $value === undefined ? $value : $toString($value); + var index = 0; + while (index < entries.length) { + var entry = entries[index]; + if (entry.key === key && (value === undefined || entry.value === value)) { + splice(entries, index, 1); + if (value !== undefined) break; + } else index++; + } + if (!DESCRIPTORS) this.size = entries.length; + state.updateURL(); + }, + // `URLSearchParams.prototype.get` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-get + get: function get(name) { + var entries = getInternalParamsState(this).entries; + validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) return entries[index].value; + } + return null; + }, + // `URLSearchParams.prototype.getAll` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-getall + getAll: function getAll(name) { + var entries = getInternalParamsState(this).entries; + validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var result = []; + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) push(result, entries[index].value); + } + return result; + }, + // `URLSearchParams.prototype.has` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-has + has: function has(name /* , value */) { + var entries = getInternalParamsState(this).entries; + var length = validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var $value = length < 2 ? undefined : arguments[1]; + var value = $value === undefined ? $value : $toString($value); + var index = 0; + while (index < entries.length) { + var entry = entries[index++]; + if (entry.key === key && (value === undefined || entry.value === value)) return true; + } + return false; + }, + // `URLSearchParams.prototype.set` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-set + set: function set(name, value) { + var state = getInternalParamsState(this); + validateArgumentsLength(arguments.length, 1); + var entries = state.entries; + var found = false; + var key = $toString(name); + var val = $toString(value); + var index = 0; + var entry; + for (; index < entries.length; index++) { + entry = entries[index]; + if (entry.key === key) { + if (found) splice(entries, index--, 1); + else { + found = true; + entry.value = val; + } + } + } + if (!found) push(entries, { key: key, value: val }); + if (!DESCRIPTORS) this.size = entries.length; + state.updateURL(); + }, + // `URLSearchParams.prototype.sort` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-sort + sort: function sort() { + var state = getInternalParamsState(this); + arraySort(state.entries, function (a, b) { + return a.key > b.key ? 1 : -1; + }); + state.updateURL(); + }, + // `URLSearchParams.prototype.forEach` method + forEach: function forEach(callback /* , thisArg */) { + var entries = getInternalParamsState(this).entries; + var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined); + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + boundFunction(entry.value, entry.key, this); + } + }, + // `URLSearchParams.prototype.keys` method + keys: function keys() { + return new URLSearchParamsIterator(this, 'keys'); + }, + // `URLSearchParams.prototype.values` method + values: function values() { + return new URLSearchParamsIterator(this, 'values'); + }, + // `URLSearchParams.prototype.entries` method + entries: function entries() { + return new URLSearchParamsIterator(this, 'entries'); + } +}, { enumerable: true }); + +// `URLSearchParams.prototype[@@iterator]` method +defineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' }); + +// `URLSearchParams.prototype.toString` method +// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior +defineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() { + return getInternalParamsState(this).serialize(); +}, { enumerable: true }); + +// `URLSearchParams.prototype.size` getter +// https://github.com/whatwg/url/pull/734 +if (DESCRIPTORS) defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + return getInternalParamsState(this).entries.length; + }, + configurable: true, + enumerable: true +}); + +setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); + +$({ global: true, constructor: true, forced: !USE_NATIVE_URL }, { + URLSearchParams: URLSearchParamsConstructor +}); + +// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams` +if (!USE_NATIVE_URL && isCallable(Headers)) { + var headersHas = uncurryThis(HeadersPrototype.has); + var headersSet = uncurryThis(HeadersPrototype.set); + + var wrapRequestOptions = function (init) { + if (isObject(init)) { + var body = init.body; + var headers; + if (classof(body) === URL_SEARCH_PARAMS) { + headers = init.headers ? new Headers(init.headers) : new Headers(); + if (!headersHas(headers, 'content-type')) { + headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); + } + return create(init, { + body: createPropertyDescriptor(0, $toString(body)), + headers: createPropertyDescriptor(0, headers) + }); + } + } return init; + }; + + if (isCallable(nativeFetch)) { + $({ global: true, enumerable: true, dontCallGetSet: true, forced: true }, { + fetch: function fetch(input /* , init */) { + return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + } + }); + } + + if (isCallable(NativeRequest)) { + var RequestConstructor = function Request(input /* , init */) { + anInstance(this, RequestPrototype); + return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + }; + + RequestPrototype.constructor = RequestConstructor; + RequestConstructor.prototype = RequestPrototype; + + $({ global: true, constructor: true, dontCallGetSet: true, forced: true }, { + Request: RequestConstructor + }); + } +} + +module.exports = { + URLSearchParams: URLSearchParamsConstructor, + getState: getInternalParamsState +}; + + +/***/ }), +/* 569 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var fails = __webpack_require__(7); +var validateArgumentsLength = __webpack_require__(361); +var toString = __webpack_require__(68); +var USE_NATIVE_URL = __webpack_require__(566); + +var URL = getBuiltIn('URL'); + +// https://github.com/nodejs/node/issues/47505 +// https://github.com/denoland/deno/issues/18893 +var THROWS_WITHOUT_ARGUMENTS = USE_NATIVE_URL && fails(function () { + URL.canParse(); +}); + +// Bun ~ 1.0.30 bug +// https://github.com/oven-sh/bun/issues/9250 +var WRONG_ARITY = fails(function () { + return URL.canParse.length !== 1; +}); + +// `URL.canParse` method +// https://url.spec.whatwg.org/#dom-url-canparse +$({ target: 'URL', stat: true, forced: !THROWS_WITHOUT_ARGUMENTS || WRONG_ARITY }, { + canParse: function canParse(url) { + var length = validateArgumentsLength(arguments.length, 1); + var urlString = toString(url); + var base = length < 2 || arguments[1] === undefined ? undefined : toString(arguments[1]); + try { + return !!new URL(urlString, base); + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 570 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var validateArgumentsLength = __webpack_require__(361); +var toString = __webpack_require__(68); +var USE_NATIVE_URL = __webpack_require__(566); + +var URL = getBuiltIn('URL'); + +// `URL.parse` method +// https://url.spec.whatwg.org/#dom-url-canparse +$({ target: 'URL', stat: true, forced: !USE_NATIVE_URL }, { + parse: function parse(url) { + var length = validateArgumentsLength(arguments.length, 1); + var urlString = toString(url); + var base = length < 2 || arguments[1] === undefined ? undefined : toString(arguments[1]); + try { + return new URL(urlString, base); + } catch (error) { + return null; + } + } +}); + + +/***/ }), +/* 571 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +$({ target: 'URL', proto: true, enumerable: true }, { + toJSON: function toJSON() { + return call(URL.prototype.toString, this); + } +}); + + +/***/ }), +/* 572 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(568); + + +/***/ }), +/* 573 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); + +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var append = uncurryThis(URLSearchParamsPrototype.append); +var $delete = uncurryThis(URLSearchParamsPrototype['delete']); +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); +var push = uncurryThis([].push); +var params = new $URLSearchParams('a=1&a=2&b=3'); + +params['delete']('a', 1); +// `undefined` case is a Chromium 117 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=14222 +params['delete']('b', undefined); + +if (params + '' !== 'a=2') { + defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) return $delete(this, name); + var entries = []; + forEach(this, function (v, k) { // also validates `this` + push(entries, { key: k, value: v }); + }); + validateArgumentsLength(length, 1); + var key = toString(name); + var value = toString($value); + var index = 0; + var dindex = 0; + var found = false; + var entriesLength = entries.length; + var entry; + while (index < entriesLength) { + entry = entries[index++]; + if (found || entry.key === key) { + found = true; + $delete(this, entry.key); + } else dindex++; + } + while (dindex < entriesLength) { + entry = entries[dindex++]; + if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value); + } + }, { enumerable: true, unsafe: true }); +} + + +/***/ }), +/* 574 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); + +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var getAll = uncurryThis(URLSearchParamsPrototype.getAll); +var $has = uncurryThis(URLSearchParamsPrototype.has); +var params = new $URLSearchParams('a=1'); + +// `undefined` case is a Chromium 117 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=14222 +if (params.has('a', 2) || !params.has('a', undefined)) { + defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) return $has(this, name); + var values = getAll(this, name); // also validates `this` + validateArgumentsLength(length, 1); + var value = toString($value); + var index = 0; + while (index < values.length) { + if (values[index++] === value) return true; + } return false; + }, { enumerable: true, unsafe: true }); +} + + +/***/ }), +/* 575 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var uncurryThis = __webpack_require__(14); +var defineBuiltInAccessor = __webpack_require__(77); + +var URLSearchParamsPrototype = URLSearchParams.prototype; +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); + +// `URLSearchParams.prototype.size` getter +// https://github.com/whatwg/url/pull/734 +if (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) { + defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + var count = 0; + forEach(this, function () { count++; }); + return count; + }, + configurable: true, + enumerable: true + }); +} + + +/***/ }), +/* 576 */, +/* 577 */, +/* 578 */, +/* 579 */ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "default": function() { return /* binding */ TableView; } +}); + +;// ./node_modules/d3-dispatch/src/dispatch.js +var noop = { value: () => { +} }; +function dispatch() { + for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) { + if (!(t = arguments[i] + "") || t in _ || /[\s.]/.test(t)) throw new Error("illegal type: " + t); + _[t] = []; + } + return new Dispatch(_); +} +function Dispatch(_) { + this._ = _; +} +function parseTypenames(typenames, types) { + return typenames.trim().split(/^|\s+/).map(function(t) { + var name = "", i = t.indexOf("."); + if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); + if (t && !types.hasOwnProperty(t)) throw new Error("unknown type: " + t); + return { type: t, name }; + }); +} +Dispatch.prototype = dispatch.prototype = { + constructor: Dispatch, + on: function(typename, callback) { + var _ = this._, T = parseTypenames(typename + "", _), t, i = -1, n = T.length; + if (arguments.length < 2) { + while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t; + return; + } + if (callback != null && typeof callback !== "function") throw new Error("invalid callback: " + callback); + while (++i < n) { + if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback); + else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null); + } + return this; + }, + copy: function() { + var copy = {}, _ = this._; + for (var t in _) copy[t] = _[t].slice(); + return new Dispatch(copy); + }, + call: function(type, that) { + if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2]; + if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type); + for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args); + }, + apply: function(type, that, args) { + if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type); + for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args); + } +}; +function get(type, name) { + for (var i = 0, n = type.length, c; i < n; ++i) { + if ((c = type[i]).name === name) { + return c.value; + } + } +} +function set(type, name, callback) { + for (var i = 0, n = type.length; i < n; ++i) { + if (type[i].name === name) { + type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1)); + break; + } + } + if (callback != null) type.push({ name, value: callback }); + return type; +} +/* harmony default export */ var src_dispatch = (dispatch); + +;// ./node_modules/d3-selection/src/selector.js +function none() { +} +/* harmony default export */ function selector(selector) { + return selector == null ? none : function() { + return this.querySelector(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/select.js + + +/* harmony default export */ function selection_select(select) { + if (typeof select !== "function") select = selector(select); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) { + if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) { + if ("__data__" in node) subnode.__data__ = node.__data__; + subgroup[i] = subnode; + } + } + } + return new Selection(subgroups, this._parents); +} + +;// ./node_modules/d3-selection/src/array.js +function array(x) { + return x == null ? [] : Array.isArray(x) ? x : Array.from(x); +} + +;// ./node_modules/d3-selection/src/selectorAll.js +function empty() { + return []; +} +/* harmony default export */ function selectorAll(selector) { + return selector == null ? empty : function() { + return this.querySelectorAll(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/selectAll.js + + + +function arrayAll(select) { + return function() { + return array(select.apply(this, arguments)); + }; +} +/* harmony default export */ function selectAll(select) { + if (typeof select === "function") select = arrayAll(select); + else select = selectorAll(select); + for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + subgroups.push(select.call(node, node.__data__, i, group)); + parents.push(node); + } + } + } + return new Selection(subgroups, parents); +} + +;// ./node_modules/d3-selection/src/matcher.js +/* harmony default export */ function matcher(selector) { + return function() { + return this.matches(selector); + }; +} +function childMatcher(selector) { + return function(node) { + return node.matches(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/selectChild.js + +var find = Array.prototype.find; +function childFind(match) { + return function() { + return find.call(this.children, match); + }; +} +function childFirst() { + return this.firstElementChild; +} +/* harmony default export */ function selectChild(match) { + return this.select(match == null ? childFirst : childFind(typeof match === "function" ? match : childMatcher(match))); +} + +;// ./node_modules/d3-selection/src/selection/selectChildren.js + +var filter = Array.prototype.filter; +function children() { + return Array.from(this.children); +} +function childrenFilter(match) { + return function() { + return filter.call(this.children, match); + }; +} +/* harmony default export */ function selectChildren(match) { + return this.selectAll(match == null ? children : childrenFilter(typeof match === "function" ? match : childMatcher(match))); +} + +;// ./node_modules/d3-selection/src/selection/filter.js + + +/* harmony default export */ function selection_filter(match) { + if (typeof match !== "function") match = matcher(match); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) { + if ((node = group[i]) && match.call(node, node.__data__, i, group)) { + subgroup.push(node); + } + } + } + return new Selection(subgroups, this._parents); +} + +;// ./node_modules/d3-selection/src/selection/sparse.js +/* harmony default export */ function sparse(update) { + return new Array(update.length); +} + +;// ./node_modules/d3-selection/src/selection/enter.js + + +/* harmony default export */ function enter() { + return new Selection(this._enter || this._groups.map(sparse), this._parents); +} +function EnterNode(parent, datum) { + this.ownerDocument = parent.ownerDocument; + this.namespaceURI = parent.namespaceURI; + this._next = null; + this._parent = parent; + this.__data__ = datum; +} +EnterNode.prototype = { + constructor: EnterNode, + appendChild: function(child) { + return this._parent.insertBefore(child, this._next); + }, + insertBefore: function(child, next) { + return this._parent.insertBefore(child, next); + }, + querySelector: function(selector) { + return this._parent.querySelector(selector); + }, + querySelectorAll: function(selector) { + return this._parent.querySelectorAll(selector); + } +}; + +;// ./node_modules/d3-selection/src/constant.js +/* harmony default export */ function constant(x) { + return function() { + return x; + }; +} + +;// ./node_modules/d3-selection/src/selection/data.js + + + +function bindIndex(parent, group, enter, update, exit, data) { + var i = 0, node, groupLength = group.length, dataLength = data.length; + for (; i < dataLength; ++i) { + if (node = group[i]) { + node.__data__ = data[i]; + update[i] = node; + } else { + enter[i] = new EnterNode(parent, data[i]); + } + } + for (; i < groupLength; ++i) { + if (node = group[i]) { + exit[i] = node; + } + } +} +function bindKey(parent, group, enter, update, exit, data, key) { + var i, node, nodeByKeyValue = /* @__PURE__ */ new Map(), groupLength = group.length, dataLength = data.length, keyValues = new Array(groupLength), keyValue; + for (i = 0; i < groupLength; ++i) { + if (node = group[i]) { + keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + ""; + if (nodeByKeyValue.has(keyValue)) { + exit[i] = node; + } else { + nodeByKeyValue.set(keyValue, node); + } + } + } + for (i = 0; i < dataLength; ++i) { + keyValue = key.call(parent, data[i], i, data) + ""; + if (node = nodeByKeyValue.get(keyValue)) { + update[i] = node; + node.__data__ = data[i]; + nodeByKeyValue.delete(keyValue); + } else { + enter[i] = new EnterNode(parent, data[i]); + } + } + for (i = 0; i < groupLength; ++i) { + if ((node = group[i]) && nodeByKeyValue.get(keyValues[i]) === node) { + exit[i] = node; + } + } +} +function datum(node) { + return node.__data__; +} +/* harmony default export */ function data(value, key) { + if (!arguments.length) return Array.from(this, datum); + var bind = key ? bindKey : bindIndex, parents = this._parents, groups = this._groups; + if (typeof value !== "function") value = constant(value); + for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) { + var parent = parents[j], group = groups[j], groupLength = group.length, data = arraylike(value.call(parent, parent && parent.__data__, j, parents)), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength); + bind(parent, group, enterGroup, updateGroup, exitGroup, data, key); + for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) { + if (previous = enterGroup[i0]) { + if (i0 >= i1) i1 = i0 + 1; + while (!(next = updateGroup[i1]) && ++i1 < dataLength) ; + previous._next = next || null; + } + } + } + update = new Selection(update, parents); + update._enter = enter; + update._exit = exit; + return update; +} +function arraylike(data) { + return typeof data === "object" && "length" in data ? data : Array.from(data); +} + +;// ./node_modules/d3-selection/src/selection/exit.js + + +/* harmony default export */ function exit() { + return new Selection(this._exit || this._groups.map(sparse), this._parents); +} + +;// ./node_modules/d3-selection/src/selection/join.js +/* harmony default export */ function join(onenter, onupdate, onexit) { + var enter = this.enter(), update = this, exit = this.exit(); + if (typeof onenter === "function") { + enter = onenter(enter); + if (enter) enter = enter.selection(); + } else { + enter = enter.append(onenter + ""); + } + if (onupdate != null) { + update = onupdate(update); + if (update) update = update.selection(); + } + if (onexit == null) exit.remove(); + else onexit(exit); + return enter && update ? enter.merge(update).order() : update; +} + +;// ./node_modules/d3-selection/src/selection/merge.js + +/* harmony default export */ function merge(context) { + var selection = context.selection ? context.selection() : context; + for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { + for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group0[i] || group1[i]) { + merge[i] = node; + } + } + } + for (; j < m0; ++j) { + merges[j] = groups0[j]; + } + return new Selection(merges, this._parents); +} + +;// ./node_modules/d3-selection/src/selection/order.js +/* harmony default export */ function order() { + for (var groups = this._groups, j = -1, m = groups.length; ++j < m; ) { + for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0; ) { + if (node = group[i]) { + if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next); + next = node; + } + } + } + return this; +} + +;// ./node_modules/d3-selection/src/selection/sort.js + +/* harmony default export */ function sort(compare) { + if (!compare) compare = ascending; + function compareNode(a, b) { + return a && b ? compare(a.__data__, b.__data__) : !a - !b; + } + for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group[i]) { + sortgroup[i] = node; + } + } + sortgroup.sort(compareNode); + } + return new Selection(sortgroups, this._parents).order(); +} +function ascending(a, b) { + return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; +} + +;// ./node_modules/d3-selection/src/selection/call.js +/* harmony default export */ function call() { + var callback = arguments[0]; + arguments[0] = this; + callback.apply(null, arguments); + return this; +} + +;// ./node_modules/d3-selection/src/selection/nodes.js +/* harmony default export */ function nodes() { + return Array.from(this); +} + +;// ./node_modules/d3-selection/src/selection/node.js +/* harmony default export */ function node() { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length; i < n; ++i) { + var node = group[i]; + if (node) return node; + } + } + return null; +} + +;// ./node_modules/d3-selection/src/selection/size.js +/* harmony default export */ function size() { + let size = 0; + for (const node of this) ++size; + return size; +} + +;// ./node_modules/d3-selection/src/selection/empty.js +/* harmony default export */ function selection_empty() { + return !this.node(); +} + +;// ./node_modules/d3-selection/src/selection/each.js +/* harmony default export */ function each(callback) { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) { + if (node = group[i]) callback.call(node, node.__data__, i, group); + } + } + return this; +} + +;// ./node_modules/d3-selection/src/namespaces.js +var xhtml = "http://www.w3.org/1999/xhtml"; +/* harmony default export */ var namespaces = ({ + svg: "http://www.w3.org/2000/svg", + xhtml, + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/" +}); + +;// ./node_modules/d3-selection/src/namespace.js + +/* harmony default export */ function namespace(name) { + var prefix = name += "", i = prefix.indexOf(":"); + if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1); + return namespaces.hasOwnProperty(prefix) ? { space: namespaces[prefix], local: name } : name; +} + +;// ./node_modules/d3-selection/src/selection/attr.js + +function attrRemove(name) { + return function() { + this.removeAttribute(name); + }; +} +function attrRemoveNS(fullname) { + return function() { + this.removeAttributeNS(fullname.space, fullname.local); + }; +} +function attrConstant(name, value) { + return function() { + this.setAttribute(name, value); + }; +} +function attrConstantNS(fullname, value) { + return function() { + this.setAttributeNS(fullname.space, fullname.local, value); + }; +} +function attrFunction(name, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.removeAttribute(name); + else this.setAttribute(name, v); + }; +} +function attrFunctionNS(fullname, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.removeAttributeNS(fullname.space, fullname.local); + else this.setAttributeNS(fullname.space, fullname.local, v); + }; +} +/* harmony default export */ function attr(name, value) { + var fullname = namespace(name); + if (arguments.length < 2) { + var node = this.node(); + return fullname.local ? node.getAttributeNS(fullname.space, fullname.local) : node.getAttribute(fullname); + } + return this.each((value == null ? fullname.local ? attrRemoveNS : attrRemove : typeof value === "function" ? fullname.local ? attrFunctionNS : attrFunction : fullname.local ? attrConstantNS : attrConstant)(fullname, value)); +} + +;// ./node_modules/d3-selection/src/window.js +/* harmony default export */ function src_window(node) { + return node.ownerDocument && node.ownerDocument.defaultView || node.document && node || node.defaultView; +} + +;// ./node_modules/d3-selection/src/selection/style.js + +function styleRemove(name) { + return function() { + this.style.removeProperty(name); + }; +} +function styleConstant(name, value, priority) { + return function() { + this.style.setProperty(name, value, priority); + }; +} +function styleFunction(name, value, priority) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.style.removeProperty(name); + else this.style.setProperty(name, v, priority); + }; +} +/* harmony default export */ function style(name, value, priority) { + return arguments.length > 1 ? this.each((value == null ? styleRemove : typeof value === "function" ? styleFunction : styleConstant)(name, value, priority == null ? "" : priority)) : styleValue(this.node(), name); +} +function styleValue(node, name) { + return node.style.getPropertyValue(name) || src_window(node).getComputedStyle(node, null).getPropertyValue(name); +} + +;// ./node_modules/d3-selection/src/selection/property.js +function propertyRemove(name) { + return function() { + delete this[name]; + }; +} +function propertyConstant(name, value) { + return function() { + this[name] = value; + }; +} +function propertyFunction(name, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) delete this[name]; + else this[name] = v; + }; +} +/* harmony default export */ function property(name, value) { + return arguments.length > 1 ? this.each((value == null ? propertyRemove : typeof value === "function" ? propertyFunction : propertyConstant)(name, value)) : this.node()[name]; +} + +;// ./node_modules/d3-selection/src/selection/classed.js +function classArray(string) { + return string.trim().split(/^|\s+/); +} +function classList(node) { + return node.classList || new ClassList(node); +} +function ClassList(node) { + this._node = node; + this._names = classArray(node.getAttribute("class") || ""); +} +ClassList.prototype = { + add: function(name) { + var i = this._names.indexOf(name); + if (i < 0) { + this._names.push(name); + this._node.setAttribute("class", this._names.join(" ")); + } + }, + remove: function(name) { + var i = this._names.indexOf(name); + if (i >= 0) { + this._names.splice(i, 1); + this._node.setAttribute("class", this._names.join(" ")); + } + }, + contains: function(name) { + return this._names.indexOf(name) >= 0; + } +}; +function classedAdd(node, names) { + var list = classList(node), i = -1, n = names.length; + while (++i < n) list.add(names[i]); +} +function classedRemove(node, names) { + var list = classList(node), i = -1, n = names.length; + while (++i < n) list.remove(names[i]); +} +function classedTrue(names) { + return function() { + classedAdd(this, names); + }; +} +function classedFalse(names) { + return function() { + classedRemove(this, names); + }; +} +function classedFunction(names, value) { + return function() { + (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names); + }; +} +/* harmony default export */ function classed(name, value) { + var names = classArray(name + ""); + if (arguments.length < 2) { + var list = classList(this.node()), i = -1, n = names.length; + while (++i < n) if (!list.contains(names[i])) return false; + return true; + } + return this.each((typeof value === "function" ? classedFunction : value ? classedTrue : classedFalse)(names, value)); +} + +;// ./node_modules/d3-selection/src/selection/text.js +function textRemove() { + this.textContent = ""; +} +function textConstant(value) { + return function() { + this.textContent = value; + }; +} +function textFunction(value) { + return function() { + var v = value.apply(this, arguments); + this.textContent = v == null ? "" : v; + }; +} +/* harmony default export */ function selection_text(value) { + return arguments.length ? this.each(value == null ? textRemove : (typeof value === "function" ? textFunction : textConstant)(value)) : this.node().textContent; +} + +;// ./node_modules/d3-selection/src/selection/html.js +function htmlRemove() { + this.innerHTML = ""; +} +function htmlConstant(value) { + return function() { + this.innerHTML = value; + }; +} +function htmlFunction(value) { + return function() { + var v = value.apply(this, arguments); + this.innerHTML = v == null ? "" : v; + }; +} +/* harmony default export */ function html(value) { + return arguments.length ? this.each(value == null ? htmlRemove : (typeof value === "function" ? htmlFunction : htmlConstant)(value)) : this.node().innerHTML; +} + +;// ./node_modules/d3-selection/src/selection/raise.js +function raise() { + if (this.nextSibling) this.parentNode.appendChild(this); +} +/* harmony default export */ function selection_raise() { + return this.each(raise); +} + +;// ./node_modules/d3-selection/src/selection/lower.js +function lower() { + if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild); +} +/* harmony default export */ function selection_lower() { + return this.each(lower); +} + +;// ./node_modules/d3-selection/src/creator.js + + +function creatorInherit(name) { + return function() { + var document = this.ownerDocument, uri = this.namespaceURI; + return uri === xhtml && document.documentElement.namespaceURI === xhtml ? document.createElement(name) : document.createElementNS(uri, name); + }; +} +function creatorFixed(fullname) { + return function() { + return this.ownerDocument.createElementNS(fullname.space, fullname.local); + }; +} +/* harmony default export */ function creator(name) { + var fullname = namespace(name); + return (fullname.local ? creatorFixed : creatorInherit)(fullname); +} + +;// ./node_modules/d3-selection/src/selection/append.js + +/* harmony default export */ function append(name) { + var create = typeof name === "function" ? name : creator(name); + return this.select(function() { + return this.appendChild(create.apply(this, arguments)); + }); +} + +;// ./node_modules/d3-selection/src/selection/insert.js + + +function constantNull() { + return null; +} +/* harmony default export */ function insert(name, before) { + var create = typeof name === "function" ? name : creator(name), select = before == null ? constantNull : typeof before === "function" ? before : selector(before); + return this.select(function() { + return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null); + }); +} + +;// ./node_modules/d3-selection/src/selection/remove.js +function remove() { + var parent = this.parentNode; + if (parent) parent.removeChild(this); +} +/* harmony default export */ function selection_remove() { + return this.each(remove); +} + +;// ./node_modules/d3-selection/src/selection/clone.js +function selection_cloneShallow() { + var clone = this.cloneNode(false), parent = this.parentNode; + return parent ? parent.insertBefore(clone, this.nextSibling) : clone; +} +function selection_cloneDeep() { + var clone = this.cloneNode(true), parent = this.parentNode; + return parent ? parent.insertBefore(clone, this.nextSibling) : clone; +} +/* harmony default export */ function clone(deep) { + return this.select(deep ? selection_cloneDeep : selection_cloneShallow); +} + +;// ./node_modules/d3-selection/src/selection/datum.js +/* harmony default export */ function selection_datum(value) { + return arguments.length ? this.property("__data__", value) : this.node().__data__; +} + +;// ./node_modules/d3-selection/src/selection/on.js +function contextListener(listener) { + return function(event) { + listener.call(this, event, this.__data__); + }; +} +function on_parseTypenames(typenames) { + return typenames.trim().split(/^|\s+/).map(function(t) { + var name = "", i = t.indexOf("."); + if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); + return { type: t, name }; + }); +} +function onRemove(typename) { + return function() { + var on = this.__on; + if (!on) return; + for (var j = 0, i = -1, m = on.length, o; j < m; ++j) { + if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) { + this.removeEventListener(o.type, o.listener, o.options); + } else { + on[++i] = o; + } + } + if (++i) on.length = i; + else delete this.__on; + }; +} +function onAdd(typename, value, options) { + return function() { + var on = this.__on, o, listener = contextListener(value); + if (on) for (var j = 0, m = on.length; j < m; ++j) { + if ((o = on[j]).type === typename.type && o.name === typename.name) { + this.removeEventListener(o.type, o.listener, o.options); + this.addEventListener(o.type, o.listener = listener, o.options = options); + o.value = value; + return; + } + } + this.addEventListener(typename.type, listener, options); + o = { type: typename.type, name: typename.name, value, listener, options }; + if (!on) this.__on = [o]; + else on.push(o); + }; +} +/* harmony default export */ function on(typename, value, options) { + var typenames = on_parseTypenames(typename + ""), i, n = typenames.length, t; + if (arguments.length < 2) { + var on = this.node().__on; + if (on) for (var j = 0, m = on.length, o; j < m; ++j) { + for (i = 0, o = on[j]; i < n; ++i) { + if ((t = typenames[i]).type === o.type && t.name === o.name) { + return o.value; + } + } + } + return; + } + on = value ? onAdd : onRemove; + for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options)); + return this; +} + +;// ./node_modules/d3-selection/src/selection/dispatch.js + +function dispatchEvent(node, type, params) { + var window = src_window(node), event = window.CustomEvent; + if (typeof event === "function") { + event = new event(type, params); + } else { + event = window.document.createEvent("Event"); + if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail; + else event.initEvent(type, false, false); + } + node.dispatchEvent(event); +} +function dispatchConstant(type, params) { + return function() { + return dispatchEvent(this, type, params); + }; +} +function dispatchFunction(type, params) { + return function() { + return dispatchEvent(this, type, params.apply(this, arguments)); + }; +} +/* harmony default export */ function selection_dispatch(type, params) { + return this.each((typeof params === "function" ? dispatchFunction : dispatchConstant)(type, params)); +} + +;// ./node_modules/d3-selection/src/selection/iterator.js +/* harmony default export */ function* iterator() { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) { + if (node = group[i]) yield node; + } + } +} + +;// ./node_modules/d3-selection/src/selection/index.js + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +var root = [null]; +function Selection(groups, parents) { + this._groups = groups; + this._parents = parents; +} +function selection() { + return new Selection([[document.documentElement]], root); +} +function selection_selection() { + return this; +} +Selection.prototype = selection.prototype = { + constructor: Selection, + select: selection_select, + selectAll: selectAll, + selectChild: selectChild, + selectChildren: selectChildren, + filter: selection_filter, + data: data, + enter: enter, + exit: exit, + join: join, + merge: merge, + selection: selection_selection, + order: order, + sort: sort, + call: call, + nodes: nodes, + node: node, + size: size, + empty: selection_empty, + each: each, + attr: attr, + style: style, + property: property, + classed: classed, + text: selection_text, + html: html, + raise: selection_raise, + lower: selection_lower, + append: append, + insert: insert, + remove: selection_remove, + clone: clone, + datum: selection_datum, + on: on, + dispatch: selection_dispatch, + [Symbol.iterator]: iterator +}; +/* harmony default export */ var src_selection = (selection); + +;// ./node_modules/d3-selection/src/select.js + +/* harmony default export */ function src_select(selector) { + return typeof selector === "string" ? new Selection([[document.querySelector(selector)]], [document.documentElement]) : new Selection([[selector]], root); +} + +;// ./node_modules/d3-drag/src/noevent.js +const nonpassive = { passive: false }; +const nonpassivecapture = { capture: true, passive: false }; +function nopropagation(event) { + event.stopImmediatePropagation(); +} +/* harmony default export */ function noevent(event) { + event.preventDefault(); + event.stopImmediatePropagation(); +} + +;// ./node_modules/d3-drag/src/nodrag.js + + +/* harmony default export */ function nodrag(view) { + var root = view.document.documentElement, selection = src_select(view).on("dragstart.drag", noevent, nonpassivecapture); + if ("onselectstart" in root) { + selection.on("selectstart.drag", noevent, nonpassivecapture); + } else { + root.__noselect = root.style.MozUserSelect; + root.style.MozUserSelect = "none"; + } +} +function yesdrag(view, noclick) { + var root = view.document.documentElement, selection = src_select(view).on("dragstart.drag", null); + if (noclick) { + selection.on("click.drag", noevent, nonpassivecapture); + setTimeout(function() { + selection.on("click.drag", null); + }, 0); + } + if ("onselectstart" in root) { + selection.on("selectstart.drag", null); + } else { + root.style.MozUserSelect = root.__noselect; + delete root.__noselect; + } +} + +;// ./node_modules/d3-color/src/define.js +/* harmony default export */ function src_define(constructor, factory, prototype) { + constructor.prototype = factory.prototype = prototype; + prototype.constructor = constructor; +} +function extend(parent, definition) { + var prototype = Object.create(parent.prototype); + for (var key in definition) prototype[key] = definition[key]; + return prototype; +} + +;// ./node_modules/d3-color/src/color.js + +function Color() { +} +var darker = 0.7; +var brighter = 1 / darker; +var reI = "\\s*([+-]?\\d+)\\s*", reN = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", reP = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", reHex = /^#([0-9a-f]{3,8})$/, reRgbInteger = new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`), reRgbPercent = new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`), reRgbaInteger = new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`), reRgbaPercent = new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`), reHslPercent = new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`), reHslaPercent = new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`); +var named = { + aliceblue: 15792383, + antiquewhite: 16444375, + aqua: 65535, + aquamarine: 8388564, + azure: 15794175, + beige: 16119260, + bisque: 16770244, + black: 0, + blanchedalmond: 16772045, + blue: 255, + blueviolet: 9055202, + brown: 10824234, + burlywood: 14596231, + cadetblue: 6266528, + chartreuse: 8388352, + chocolate: 13789470, + coral: 16744272, + cornflowerblue: 6591981, + cornsilk: 16775388, + crimson: 14423100, + cyan: 65535, + darkblue: 139, + darkcyan: 35723, + darkgoldenrod: 12092939, + darkgray: 11119017, + darkgreen: 25600, + darkgrey: 11119017, + darkkhaki: 12433259, + darkmagenta: 9109643, + darkolivegreen: 5597999, + darkorange: 16747520, + darkorchid: 10040012, + darkred: 9109504, + darksalmon: 15308410, + darkseagreen: 9419919, + darkslateblue: 4734347, + darkslategray: 3100495, + darkslategrey: 3100495, + darkturquoise: 52945, + darkviolet: 9699539, + deeppink: 16716947, + deepskyblue: 49151, + dimgray: 6908265, + dimgrey: 6908265, + dodgerblue: 2003199, + firebrick: 11674146, + floralwhite: 16775920, + forestgreen: 2263842, + fuchsia: 16711935, + gainsboro: 14474460, + ghostwhite: 16316671, + gold: 16766720, + goldenrod: 14329120, + gray: 8421504, + green: 32768, + greenyellow: 11403055, + grey: 8421504, + honeydew: 15794160, + hotpink: 16738740, + indianred: 13458524, + indigo: 4915330, + ivory: 16777200, + khaki: 15787660, + lavender: 15132410, + lavenderblush: 16773365, + lawngreen: 8190976, + lemonchiffon: 16775885, + lightblue: 11393254, + lightcoral: 15761536, + lightcyan: 14745599, + lightgoldenrodyellow: 16448210, + lightgray: 13882323, + lightgreen: 9498256, + lightgrey: 13882323, + lightpink: 16758465, + lightsalmon: 16752762, + lightseagreen: 2142890, + lightskyblue: 8900346, + lightslategray: 7833753, + lightslategrey: 7833753, + lightsteelblue: 11584734, + lightyellow: 16777184, + lime: 65280, + limegreen: 3329330, + linen: 16445670, + magenta: 16711935, + maroon: 8388608, + mediumaquamarine: 6737322, + mediumblue: 205, + mediumorchid: 12211667, + mediumpurple: 9662683, + mediumseagreen: 3978097, + mediumslateblue: 8087790, + mediumspringgreen: 64154, + mediumturquoise: 4772300, + mediumvioletred: 13047173, + midnightblue: 1644912, + mintcream: 16121850, + mistyrose: 16770273, + moccasin: 16770229, + navajowhite: 16768685, + navy: 128, + oldlace: 16643558, + olive: 8421376, + olivedrab: 7048739, + orange: 16753920, + orangered: 16729344, + orchid: 14315734, + palegoldenrod: 15657130, + palegreen: 10025880, + paleturquoise: 11529966, + palevioletred: 14381203, + papayawhip: 16773077, + peachpuff: 16767673, + peru: 13468991, + pink: 16761035, + plum: 14524637, + powderblue: 11591910, + purple: 8388736, + rebeccapurple: 6697881, + red: 16711680, + rosybrown: 12357519, + royalblue: 4286945, + saddlebrown: 9127187, + salmon: 16416882, + sandybrown: 16032864, + seagreen: 3050327, + seashell: 16774638, + sienna: 10506797, + silver: 12632256, + skyblue: 8900331, + slateblue: 6970061, + slategray: 7372944, + slategrey: 7372944, + snow: 16775930, + springgreen: 65407, + steelblue: 4620980, + tan: 13808780, + teal: 32896, + thistle: 14204888, + tomato: 16737095, + turquoise: 4251856, + violet: 15631086, + wheat: 16113331, + white: 16777215, + whitesmoke: 16119285, + yellow: 16776960, + yellowgreen: 10145074 +}; +src_define(Color, color, { + copy(channels) { + return Object.assign(new this.constructor(), this, channels); + }, + displayable() { + return this.rgb().displayable(); + }, + hex: color_formatHex, + // Deprecated! Use color.formatHex. + formatHex: color_formatHex, + formatHex8: color_formatHex8, + formatHsl: color_formatHsl, + formatRgb: color_formatRgb, + toString: color_formatRgb +}); +function color_formatHex() { + return this.rgb().formatHex(); +} +function color_formatHex8() { + return this.rgb().formatHex8(); +} +function color_formatHsl() { + return hslConvert(this).formatHsl(); +} +function color_formatRgb() { + return this.rgb().formatRgb(); +} +function color(format) { + var m, l; + format = (format + "").trim().toLowerCase(); + return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) : l === 3 ? new Rgb(m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, (m & 15) << 4 | m & 15, 1) : l === 8 ? rgba(m >> 24 & 255, m >> 16 & 255, m >> 8 & 255, (m & 255) / 255) : l === 4 ? rgba(m >> 12 & 15 | m >> 8 & 240, m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, ((m & 15) << 4 | m & 15) / 255) : null) : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) : named.hasOwnProperty(format) ? rgbn(named[format]) : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0) : null; +} +function rgbn(n) { + return new Rgb(n >> 16 & 255, n >> 8 & 255, n & 255, 1); +} +function rgba(r, g, b, a) { + if (a <= 0) r = g = b = NaN; + return new Rgb(r, g, b, a); +} +function rgbConvert(o) { + if (!(o instanceof Color)) o = color(o); + if (!o) return new Rgb(); + o = o.rgb(); + return new Rgb(o.r, o.g, o.b, o.opacity); +} +function color_rgb(r, g, b, opacity) { + return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity); +} +function Rgb(r, g, b, opacity) { + this.r = +r; + this.g = +g; + this.b = +b; + this.opacity = +opacity; +} +src_define(Rgb, color_rgb, extend(Color, { + brighter(k) { + k = k == null ? brighter : Math.pow(brighter, k); + return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); + }, + darker(k) { + k = k == null ? darker : Math.pow(darker, k); + return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); + }, + rgb() { + return this; + }, + clamp() { + return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity)); + }, + displayable() { + return -0.5 <= this.r && this.r < 255.5 && (-0.5 <= this.g && this.g < 255.5) && (-0.5 <= this.b && this.b < 255.5) && (0 <= this.opacity && this.opacity <= 1); + }, + hex: rgb_formatHex, + // Deprecated! Use color.formatHex. + formatHex: rgb_formatHex, + formatHex8: rgb_formatHex8, + formatRgb: rgb_formatRgb, + toString: rgb_formatRgb +})); +function rgb_formatHex() { + return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`; +} +function rgb_formatHex8() { + return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`; +} +function rgb_formatRgb() { + const a = clampa(this.opacity); + return `${a === 1 ? "rgb(" : "rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? ")" : `, ${a})`}`; +} +function clampa(opacity) { + return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity)); +} +function clampi(value) { + return Math.max(0, Math.min(255, Math.round(value) || 0)); +} +function hex(value) { + value = clampi(value); + return (value < 16 ? "0" : "") + value.toString(16); +} +function hsla(h, s, l, a) { + if (a <= 0) h = s = l = NaN; + else if (l <= 0 || l >= 1) h = s = NaN; + else if (s <= 0) h = NaN; + return new Hsl(h, s, l, a); +} +function hslConvert(o) { + if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity); + if (!(o instanceof Color)) o = color(o); + if (!o) return new Hsl(); + if (o instanceof Hsl) return o; + o = o.rgb(); + var r = o.r / 255, g = o.g / 255, b = o.b / 255, min = Math.min(r, g, b), max = Math.max(r, g, b), h = NaN, s = max - min, l = (max + min) / 2; + if (s) { + if (r === max) h = (g - b) / s + (g < b) * 6; + else if (g === max) h = (b - r) / s + 2; + else h = (r - g) / s + 4; + s /= l < 0.5 ? max + min : 2 - max - min; + h *= 60; + } else { + s = l > 0 && l < 1 ? 0 : h; + } + return new Hsl(h, s, l, o.opacity); +} +function hsl(h, s, l, opacity) { + return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity); +} +function Hsl(h, s, l, opacity) { + this.h = +h; + this.s = +s; + this.l = +l; + this.opacity = +opacity; +} +src_define(Hsl, hsl, extend(Color, { + brighter(k) { + k = k == null ? brighter : Math.pow(brighter, k); + return new Hsl(this.h, this.s, this.l * k, this.opacity); + }, + darker(k) { + k = k == null ? darker : Math.pow(darker, k); + return new Hsl(this.h, this.s, this.l * k, this.opacity); + }, + rgb() { + var h = this.h % 360 + (this.h < 0) * 360, s = isNaN(h) || isNaN(this.s) ? 0 : this.s, l = this.l, m2 = l + (l < 0.5 ? l : 1 - l) * s, m1 = 2 * l - m2; + return new Rgb( + hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2), + hsl2rgb(h, m1, m2), + hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2), + this.opacity + ); + }, + clamp() { + return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity)); + }, + displayable() { + return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && (0 <= this.l && this.l <= 1) && (0 <= this.opacity && this.opacity <= 1); + }, + formatHsl() { + const a = clampa(this.opacity); + return `${a === 1 ? "hsl(" : "hsla("}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? ")" : `, ${a})`}`; + } +})); +function clamph(value) { + value = (value || 0) % 360; + return value < 0 ? value + 360 : value; +} +function clampt(value) { + return Math.max(0, Math.min(1, value || 0)); +} +function hsl2rgb(h, m1, m2) { + return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255; +} + +;// ./node_modules/d3-interpolate/src/basis.js +function basis(t1, v0, v1, v2, v3) { + var t2 = t1 * t1, t3 = t2 * t1; + return ((1 - 3 * t1 + 3 * t2 - t3) * v0 + (4 - 6 * t2 + 3 * t3) * v1 + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2 + t3 * v3) / 6; +} +/* harmony default export */ function src_basis(values) { + var n = values.length - 1; + return function(t) { + var i = t <= 0 ? t = 0 : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n), v1 = values[i], v2 = values[i + 1], v0 = i > 0 ? values[i - 1] : 2 * v1 - v2, v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1; + return basis((t - i / n) * n, v0, v1, v2, v3); + }; +} + +;// ./node_modules/d3-interpolate/src/basisClosed.js + +/* harmony default export */ function basisClosed(values) { + var n = values.length; + return function(t) { + var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n), v0 = values[(i + n - 1) % n], v1 = values[i % n], v2 = values[(i + 1) % n], v3 = values[(i + 2) % n]; + return basis((t - i / n) * n, v0, v1, v2, v3); + }; +} + +;// ./node_modules/d3-interpolate/src/constant.js +/* harmony default export */ var src_constant = ((x) => () => x); + +;// ./node_modules/d3-interpolate/src/color.js + +function linear(a, d) { + return function(t) { + return a + t * d; + }; +} +function exponential(a, b, y) { + return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) { + return Math.pow(a + t * b, y); + }; +} +function hue(a, b) { + var d = b - a; + return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : src_constant(isNaN(a) ? b : a); +} +function gamma(y) { + return (y = +y) === 1 ? nogamma : function(a, b) { + return b - a ? exponential(a, b, y) : src_constant(isNaN(a) ? b : a); + }; +} +function nogamma(a, b) { + var d = b - a; + return d ? linear(a, d) : src_constant(isNaN(a) ? b : a); +} + +;// ./node_modules/d3-interpolate/src/rgb.js + + + + +/* harmony default export */ var rgb = ((function rgbGamma(y) { + var color = gamma(y); + function rgb(start, end) { + var r = color((start = color_rgb(start)).r, (end = color_rgb(end)).r), g = color(start.g, end.g), b = color(start.b, end.b), opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.r = r(t); + start.g = g(t); + start.b = b(t); + start.opacity = opacity(t); + return start + ""; + }; + } + rgb.gamma = rgbGamma; + return rgb; +})(1)); +function rgbSpline(spline) { + return function(colors) { + var n = colors.length, r = new Array(n), g = new Array(n), b = new Array(n), i, color; + for (i = 0; i < n; ++i) { + color = color_rgb(colors[i]); + r[i] = color.r || 0; + g[i] = color.g || 0; + b[i] = color.b || 0; + } + r = spline(r); + g = spline(g); + b = spline(b); + color.opacity = 1; + return function(t) { + color.r = r(t); + color.g = g(t); + color.b = b(t); + return color + ""; + }; + }; +} +var rgbBasis = rgbSpline(src_basis); +var rgbBasisClosed = rgbSpline(basisClosed); + +;// ./node_modules/d3-interpolate/src/numberArray.js +/* harmony default export */ function numberArray(a, b) { + if (!b) b = []; + var n = a ? Math.min(b.length, a.length) : 0, c = b.slice(), i; + return function(t) { + for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t; + return c; + }; +} +function isNumberArray(x) { + return ArrayBuffer.isView(x) && !(x instanceof DataView); +} + +;// ./node_modules/d3-interpolate/src/array.js + + +/* harmony default export */ function src_array(a, b) { + return (isNumberArray(b) ? numberArray : genericArray)(a, b); +} +function genericArray(a, b) { + var nb = b ? b.length : 0, na = a ? Math.min(nb, a.length) : 0, x = new Array(na), c = new Array(nb), i; + for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]); + for (; i < nb; ++i) c[i] = b[i]; + return function(t) { + for (i = 0; i < na; ++i) c[i] = x[i](t); + return c; + }; +} + +;// ./node_modules/d3-interpolate/src/date.js +/* harmony default export */ function date(a, b) { + var d = /* @__PURE__ */ new Date(); + return a = +a, b = +b, function(t) { + return d.setTime(a * (1 - t) + b * t), d; + }; +} + +;// ./node_modules/d3-interpolate/src/number.js +/* harmony default export */ function number(a, b) { + return a = +a, b = +b, function(t) { + return a * (1 - t) + b * t; + }; +} + +;// ./node_modules/d3-interpolate/src/object.js + +/* harmony default export */ function object(a, b) { + var i = {}, c = {}, k; + if (a === null || typeof a !== "object") a = {}; + if (b === null || typeof b !== "object") b = {}; + for (k in b) { + if (k in a) { + i[k] = value(a[k], b[k]); + } else { + c[k] = b[k]; + } + } + return function(t) { + for (k in i) c[k] = i[k](t); + return c; + }; +} + +;// ./node_modules/d3-interpolate/src/string.js + +var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, reB = new RegExp(reA.source, "g"); +function zero(b) { + return function() { + return b; + }; +} +function one(b) { + return function(t) { + return b(t) + ""; + }; +} +/* harmony default export */ function string(a, b) { + var bi = reA.lastIndex = reB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = []; + a = a + "", b = b + ""; + while ((am = reA.exec(a)) && (bm = reB.exec(b))) { + if ((bs = bm.index) > bi) { + bs = b.slice(bi, bs); + if (s[i]) s[i] += bs; + else s[++i] = bs; + } + if ((am = am[0]) === (bm = bm[0])) { + if (s[i]) s[i] += bm; + else s[++i] = bm; + } else { + s[++i] = null; + q.push({ i, x: number(am, bm) }); + } + bi = reB.lastIndex; + } + if (bi < b.length) { + bs = b.slice(bi); + if (s[i]) s[i] += bs; + else s[++i] = bs; + } + return s.length < 2 ? q[0] ? one(q[0].x) : zero(b) : (b = q.length, function(t) { + for (var i2 = 0, o; i2 < b; ++i2) s[(o = q[i2]).i] = o.x(t); + return s.join(""); + }); +} + +;// ./node_modules/d3-interpolate/src/value.js + + + + + + + + + +/* harmony default export */ function value(a, b) { + var t = typeof b, c; + return b == null || t === "boolean" ? src_constant(b) : (t === "number" ? number : t === "string" ? (c = color(b)) ? (b = c, rgb) : string : b instanceof color ? rgb : b instanceof Date ? date : isNumberArray(b) ? numberArray : Array.isArray(b) ? genericArray : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? object : number)(a, b); +} + +;// ./node_modules/d3-selection/src/sourceEvent.js +/* harmony default export */ function sourceEvent(event) { + let sourceEvent; + while (sourceEvent = event.sourceEvent) event = sourceEvent; + return event; +} + +;// ./node_modules/d3-selection/src/pointer.js + +/* harmony default export */ function src_pointer(event, node) { + event = sourceEvent(event); + if (node === void 0) node = event.currentTarget; + if (node) { + var svg = node.ownerSVGElement || node; + if (svg.createSVGPoint) { + var point = svg.createSVGPoint(); + point.x = event.clientX, point.y = event.clientY; + point = point.matrixTransform(node.getScreenCTM().inverse()); + return [point.x, point.y]; + } + if (node.getBoundingClientRect) { + var rect = node.getBoundingClientRect(); + return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop]; + } + } + return [event.pageX, event.pageY]; +} + +;// ./node_modules/d3-timer/src/timer.js +var timer_frame = 0, timeout = 0, interval = 0, pokeDelay = 1e3, taskHead, taskTail, clockLast = 0, clockNow = 0, clockSkew = 0, clock = typeof performance === "object" && performance.now ? performance : Date, setFrame = typeof window === "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { + setTimeout(f, 17); +}; +function now() { + return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew); +} +function clearNow() { + clockNow = 0; +} +function Timer() { + this._call = this._time = this._next = null; +} +Timer.prototype = timer.prototype = { + constructor: Timer, + restart: function(callback, delay, time) { + if (typeof callback !== "function") throw new TypeError("callback is not a function"); + time = (time == null ? now() : +time) + (delay == null ? 0 : +delay); + if (!this._next && taskTail !== this) { + if (taskTail) taskTail._next = this; + else taskHead = this; + taskTail = this; + } + this._call = callback; + this._time = time; + sleep(); + }, + stop: function() { + if (this._call) { + this._call = null; + this._time = Infinity; + sleep(); + } + } +}; +function timer(callback, delay, time) { + var t = new Timer(); + t.restart(callback, delay, time); + return t; +} +function timerFlush() { + now(); + ++timer_frame; + var t = taskHead, e; + while (t) { + if ((e = clockNow - t._time) >= 0) t._call.call(void 0, e); + t = t._next; + } + --timer_frame; +} +function wake() { + clockNow = (clockLast = clock.now()) + clockSkew; + timer_frame = timeout = 0; + try { + timerFlush(); + } finally { + timer_frame = 0; + nap(); + clockNow = 0; + } +} +function poke() { + var now2 = clock.now(), delay = now2 - clockLast; + if (delay > pokeDelay) clockSkew -= delay, clockLast = now2; +} +function nap() { + var t0, t1 = taskHead, t2, time = Infinity; + while (t1) { + if (t1._call) { + if (time > t1._time) time = t1._time; + t0 = t1, t1 = t1._next; + } else { + t2 = t1._next, t1._next = null; + t1 = t0 ? t0._next = t2 : taskHead = t2; + } + } + taskTail = t0; + sleep(time); +} +function sleep(time) { + if (timer_frame) return; + if (timeout) timeout = clearTimeout(timeout); + var delay = time - clockNow; + if (delay > 24) { + if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew); + if (interval) interval = clearInterval(interval); + } else { + if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay); + timer_frame = 1, setFrame(wake); + } +} + +;// ./node_modules/d3-timer/src/timeout.js + +/* harmony default export */ function src_timeout(callback, delay, time) { + var t = new Timer(); + delay = delay == null ? 0 : +delay; + t.restart((elapsed) => { + t.stop(); + callback(elapsed + delay); + }, delay, time); + return t; +} + +;// ./node_modules/d3-transition/src/transition/schedule.js + + +var emptyOn = src_dispatch("start", "end", "cancel", "interrupt"); +var emptyTween = []; +var CREATED = 0; +var SCHEDULED = 1; +var STARTING = 2; +var STARTED = 3; +var RUNNING = 4; +var ENDING = 5; +var ENDED = 6; +/* harmony default export */ function schedule(node, name, id, index, group, timing) { + var schedules = node.__transition; + if (!schedules) node.__transition = {}; + else if (id in schedules) return; + create(node, id, { + name, + index, + // For context during callback. + group, + // For context during callback. + on: emptyOn, + tween: emptyTween, + time: timing.time, + delay: timing.delay, + duration: timing.duration, + ease: timing.ease, + timer: null, + state: CREATED + }); +} +function init(node, id) { + var schedule = schedule_get(node, id); + if (schedule.state > CREATED) throw new Error("too late; already scheduled"); + return schedule; +} +function schedule_set(node, id) { + var schedule = schedule_get(node, id); + if (schedule.state > STARTED) throw new Error("too late; already running"); + return schedule; +} +function schedule_get(node, id) { + var schedule = node.__transition; + if (!schedule || !(schedule = schedule[id])) throw new Error("transition not found"); + return schedule; +} +function create(node, id, self) { + var schedules = node.__transition, tween; + schedules[id] = self; + self.timer = timer(schedule, 0, self.time); + function schedule(elapsed) { + self.state = SCHEDULED; + self.timer.restart(start, self.delay, self.time); + if (self.delay <= elapsed) start(elapsed - self.delay); + } + function start(elapsed) { + var i, j, n, o; + if (self.state !== SCHEDULED) return stop(); + for (i in schedules) { + o = schedules[i]; + if (o.name !== self.name) continue; + if (o.state === STARTED) return src_timeout(start); + if (o.state === RUNNING) { + o.state = ENDED; + o.timer.stop(); + o.on.call("interrupt", node, node.__data__, o.index, o.group); + delete schedules[i]; + } else if (+i < id) { + o.state = ENDED; + o.timer.stop(); + o.on.call("cancel", node, node.__data__, o.index, o.group); + delete schedules[i]; + } + } + src_timeout(function() { + if (self.state === STARTED) { + self.state = RUNNING; + self.timer.restart(tick, self.delay, self.time); + tick(elapsed); + } + }); + self.state = STARTING; + self.on.call("start", node, node.__data__, self.index, self.group); + if (self.state !== STARTING) return; + self.state = STARTED; + tween = new Array(n = self.tween.length); + for (i = 0, j = -1; i < n; ++i) { + if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) { + tween[++j] = o; + } + } + tween.length = j + 1; + } + function tick(elapsed) { + var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1), i = -1, n = tween.length; + while (++i < n) { + tween[i].call(node, t); + } + if (self.state === ENDING) { + self.on.call("end", node, node.__data__, self.index, self.group); + stop(); + } + } + function stop() { + self.state = ENDED; + self.timer.stop(); + delete schedules[id]; + for (var i in schedules) return; + delete node.__transition; + } +} + +;// ./node_modules/d3-transition/src/interrupt.js + +/* harmony default export */ function interrupt(node, name) { + var schedules = node.__transition, schedule, active, empty = true, i; + if (!schedules) return; + name = name == null ? null : name + ""; + for (i in schedules) { + if ((schedule = schedules[i]).name !== name) { + empty = false; + continue; + } + active = schedule.state > STARTING && schedule.state < ENDING; + schedule.state = ENDED; + schedule.timer.stop(); + schedule.on.call(active ? "interrupt" : "cancel", node, node.__data__, schedule.index, schedule.group); + delete schedules[i]; + } + if (empty) delete node.__transition; +} + +;// ./node_modules/d3-transition/src/selection/interrupt.js + +/* harmony default export */ function selection_interrupt(name) { + return this.each(function() { + interrupt(this, name); + }); +} + +;// ./node_modules/d3-interpolate/src/transform/decompose.js +var degrees = 180 / Math.PI; +var identity = { + translateX: 0, + translateY: 0, + rotate: 0, + skewX: 0, + scaleX: 1, + scaleY: 1 +}; +/* harmony default export */ function decompose(a, b, c, d, e, f) { + var scaleX, scaleY, skewX; + if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX; + if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX; + if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY; + if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX; + return { + translateX: e, + translateY: f, + rotate: Math.atan2(b, a) * degrees, + skewX: Math.atan(skewX) * degrees, + scaleX, + scaleY + }; +} + +;// ./node_modules/d3-interpolate/src/transform/parse.js + +var svgNode; +function parseCss(value) { + const m = new (typeof DOMMatrix === "function" ? DOMMatrix : WebKitCSSMatrix)(value + ""); + return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f); +} +function parseSvg(value) { + if (value == null) return identity; + if (!svgNode) svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g"); + svgNode.setAttribute("transform", value); + if (!(value = svgNode.transform.baseVal.consolidate())) return identity; + value = value.matrix; + return decompose(value.a, value.b, value.c, value.d, value.e, value.f); +} + +;// ./node_modules/d3-interpolate/src/transform/index.js + + +function interpolateTransform(parse, pxComma, pxParen, degParen) { + function pop(s) { + return s.length ? s.pop() + " " : ""; + } + function translate(xa, ya, xb, yb, s, q) { + if (xa !== xb || ya !== yb) { + var i = s.push("translate(", null, pxComma, null, pxParen); + q.push({ i: i - 4, x: number(xa, xb) }, { i: i - 2, x: number(ya, yb) }); + } else if (xb || yb) { + s.push("translate(" + xb + pxComma + yb + pxParen); + } + } + function rotate(a, b, s, q) { + if (a !== b) { + if (a - b > 180) b += 360; + else if (b - a > 180) a += 360; + q.push({ i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: number(a, b) }); + } else if (b) { + s.push(pop(s) + "rotate(" + b + degParen); + } + } + function skewX(a, b, s, q) { + if (a !== b) { + q.push({ i: s.push(pop(s) + "skewX(", null, degParen) - 2, x: number(a, b) }); + } else if (b) { + s.push(pop(s) + "skewX(" + b + degParen); + } + } + function scale(xa, ya, xb, yb, s, q) { + if (xa !== xb || ya !== yb) { + var i = s.push(pop(s) + "scale(", null, ",", null, ")"); + q.push({ i: i - 4, x: number(xa, xb) }, { i: i - 2, x: number(ya, yb) }); + } else if (xb !== 1 || yb !== 1) { + s.push(pop(s) + "scale(" + xb + "," + yb + ")"); + } + } + return function(a, b) { + var s = [], q = []; + a = parse(a), b = parse(b); + translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q); + rotate(a.rotate, b.rotate, s, q); + skewX(a.skewX, b.skewX, s, q); + scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q); + a = b = null; + return function(t) { + var i = -1, n = q.length, o; + while (++i < n) s[(o = q[i]).i] = o.x(t); + return s.join(""); + }; + }; +} +var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)"); +var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")"); + +;// ./node_modules/d3-transition/src/transition/tween.js + +function tweenRemove(id, name) { + var tween0, tween1; + return function() { + var schedule = schedule_set(this, id), tween = schedule.tween; + if (tween !== tween0) { + tween1 = tween0 = tween; + for (var i = 0, n = tween1.length; i < n; ++i) { + if (tween1[i].name === name) { + tween1 = tween1.slice(); + tween1.splice(i, 1); + break; + } + } + } + schedule.tween = tween1; + }; +} +function tweenFunction(id, name, value) { + var tween0, tween1; + if (typeof value !== "function") throw new Error(); + return function() { + var schedule = schedule_set(this, id), tween = schedule.tween; + if (tween !== tween0) { + tween1 = (tween0 = tween).slice(); + for (var t = { name, value }, i = 0, n = tween1.length; i < n; ++i) { + if (tween1[i].name === name) { + tween1[i] = t; + break; + } + } + if (i === n) tween1.push(t); + } + schedule.tween = tween1; + }; +} +/* harmony default export */ function tween(name, value) { + var id = this._id; + name += ""; + if (arguments.length < 2) { + var tween = schedule_get(this.node(), id).tween; + for (var i = 0, n = tween.length, t; i < n; ++i) { + if ((t = tween[i]).name === name) { + return t.value; + } + } + return null; + } + return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value)); +} +function tweenValue(transition, name, value) { + var id = transition._id; + transition.each(function() { + var schedule = schedule_set(this, id); + (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments); + }); + return function(node) { + return schedule_get(node, id).value[name]; + }; +} + +;// ./node_modules/d3-transition/src/transition/interpolate.js + + +/* harmony default export */ function interpolate(a, b) { + var c; + return (typeof b === "number" ? number : b instanceof color ? rgb : (c = color(b)) ? (b = c, rgb) : string)(a, b); +} + +;// ./node_modules/d3-transition/src/transition/attr.js + + + + +function attr_attrRemove(name) { + return function() { + this.removeAttribute(name); + }; +} +function attr_attrRemoveNS(fullname) { + return function() { + this.removeAttributeNS(fullname.space, fullname.local); + }; +} +function attr_attrConstant(name, interpolate2, value1) { + var string00, string1 = value1 + "", interpolate0; + return function() { + var string0 = this.getAttribute(name); + return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1); + }; +} +function attr_attrConstantNS(fullname, interpolate2, value1) { + var string00, string1 = value1 + "", interpolate0; + return function() { + var string0 = this.getAttributeNS(fullname.space, fullname.local); + return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1); + }; +} +function attr_attrFunction(name, interpolate2, value) { + var string00, string10, interpolate0; + return function() { + var string0, value1 = value(this), string1; + if (value1 == null) return void this.removeAttribute(name); + string0 = this.getAttribute(name); + string1 = value1 + ""; + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1)); + }; +} +function attr_attrFunctionNS(fullname, interpolate2, value) { + var string00, string10, interpolate0; + return function() { + var string0, value1 = value(this), string1; + if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local); + string0 = this.getAttributeNS(fullname.space, fullname.local); + string1 = value1 + ""; + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1)); + }; +} +/* harmony default export */ function transition_attr(name, value) { + var fullname = namespace(name), i = fullname === "transform" ? interpolateTransformSvg : interpolate; + return this.attrTween(name, typeof value === "function" ? (fullname.local ? attr_attrFunctionNS : attr_attrFunction)(fullname, i, tweenValue(this, "attr." + name, value)) : value == null ? (fullname.local ? attr_attrRemoveNS : attr_attrRemove)(fullname) : (fullname.local ? attr_attrConstantNS : attr_attrConstant)(fullname, i, value)); +} + +;// ./node_modules/d3-transition/src/transition/attrTween.js + +function attrInterpolate(name, i) { + return function(t) { + this.setAttribute(name, i.call(this, t)); + }; +} +function attrInterpolateNS(fullname, i) { + return function(t) { + this.setAttributeNS(fullname.space, fullname.local, i.call(this, t)); + }; +} +function attrTweenNS(fullname, value) { + var t0, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i); + return t0; + } + tween._value = value; + return tween; +} +function attrTween(name, value) { + var t0, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i); + return t0; + } + tween._value = value; + return tween; +} +/* harmony default export */ function transition_attrTween(name, value) { + var key = "attr." + name; + if (arguments.length < 2) return (key = this.tween(key)) && key._value; + if (value == null) return this.tween(key, null); + if (typeof value !== "function") throw new Error(); + var fullname = namespace(name); + return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value)); +} + +;// ./node_modules/d3-transition/src/transition/delay.js + +function delayFunction(id, value) { + return function() { + init(this, id).delay = +value.apply(this, arguments); + }; +} +function delayConstant(id, value) { + return value = +value, function() { + init(this, id).delay = value; + }; +} +/* harmony default export */ function delay(value) { + var id = this._id; + return arguments.length ? this.each((typeof value === "function" ? delayFunction : delayConstant)(id, value)) : schedule_get(this.node(), id).delay; +} + +;// ./node_modules/d3-transition/src/transition/duration.js + +function durationFunction(id, value) { + return function() { + schedule_set(this, id).duration = +value.apply(this, arguments); + }; +} +function durationConstant(id, value) { + return value = +value, function() { + schedule_set(this, id).duration = value; + }; +} +/* harmony default export */ function duration(value) { + var id = this._id; + return arguments.length ? this.each((typeof value === "function" ? durationFunction : durationConstant)(id, value)) : schedule_get(this.node(), id).duration; +} + +;// ./node_modules/d3-transition/src/transition/ease.js + +function easeConstant(id, value) { + if (typeof value !== "function") throw new Error(); + return function() { + schedule_set(this, id).ease = value; + }; +} +/* harmony default export */ function ease(value) { + var id = this._id; + return arguments.length ? this.each(easeConstant(id, value)) : schedule_get(this.node(), id).ease; +} + +;// ./node_modules/d3-transition/src/transition/easeVarying.js + +function easeVarying(id, value) { + return function() { + var v = value.apply(this, arguments); + if (typeof v !== "function") throw new Error(); + schedule_set(this, id).ease = v; + }; +} +/* harmony default export */ function transition_easeVarying(value) { + if (typeof value !== "function") throw new Error(); + return this.each(easeVarying(this._id, value)); +} + +;// ./node_modules/d3-transition/src/transition/filter.js + + +/* harmony default export */ function transition_filter(match) { + if (typeof match !== "function") match = matcher(match); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) { + if ((node = group[i]) && match.call(node, node.__data__, i, group)) { + subgroup.push(node); + } + } + } + return new Transition(subgroups, this._parents, this._name, this._id); +} + +;// ./node_modules/d3-transition/src/transition/merge.js + +/* harmony default export */ function transition_merge(transition) { + if (transition._id !== this._id) throw new Error(); + for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { + for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group0[i] || group1[i]) { + merge[i] = node; + } + } + } + for (; j < m0; ++j) { + merges[j] = groups0[j]; + } + return new Transition(merges, this._parents, this._name, this._id); +} + +;// ./node_modules/d3-transition/src/transition/on.js + +function start(name) { + return (name + "").trim().split(/^|\s+/).every(function(t) { + var i = t.indexOf("."); + if (i >= 0) t = t.slice(0, i); + return !t || t === "start"; + }); +} +function onFunction(id, name, listener) { + var on0, on1, sit = start(name) ? init : schedule_set; + return function() { + var schedule = sit(this, id), on = schedule.on; + if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener); + schedule.on = on1; + }; +} +/* harmony default export */ function transition_on(name, listener) { + var id = this._id; + return arguments.length < 2 ? schedule_get(this.node(), id).on.on(name) : this.each(onFunction(id, name, listener)); +} + +;// ./node_modules/d3-transition/src/transition/remove.js +function removeFunction(id) { + return function() { + var parent = this.parentNode; + for (var i in this.__transition) if (+i !== id) return; + if (parent) parent.removeChild(this); + }; +} +/* harmony default export */ function transition_remove() { + return this.on("end.remove", removeFunction(this._id)); +} + +;// ./node_modules/d3-transition/src/transition/select.js + + + +/* harmony default export */ function transition_select(select) { + var name = this._name, id = this._id; + if (typeof select !== "function") select = selector(select); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) { + if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) { + if ("__data__" in node) subnode.__data__ = node.__data__; + subgroup[i] = subnode; + schedule(subgroup[i], name, id, i, subgroup, schedule_get(node, id)); + } + } + } + return new Transition(subgroups, this._parents, name, id); +} + +;// ./node_modules/d3-transition/src/transition/selectAll.js + + + +/* harmony default export */ function transition_selectAll(select) { + var name = this._name, id = this._id; + if (typeof select !== "function") select = selectorAll(select); + for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + for (var children = select.call(node, node.__data__, i, group), child, inherit = schedule_get(node, id), k = 0, l = children.length; k < l; ++k) { + if (child = children[k]) { + schedule(child, name, id, k, children, inherit); + } + } + subgroups.push(children); + parents.push(node); + } + } + } + return new Transition(subgroups, parents, name, id); +} + +;// ./node_modules/d3-transition/src/transition/selection.js + +var selection_Selection = src_selection.prototype.constructor; +/* harmony default export */ function transition_selection() { + return new selection_Selection(this._groups, this._parents); +} + +;// ./node_modules/d3-transition/src/transition/style.js + + + + + +function styleNull(name, interpolate2) { + var string00, string10, interpolate0; + return function() { + var string0 = styleValue(this, name), string1 = (this.style.removeProperty(name), styleValue(this, name)); + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, string10 = string1); + }; +} +function style_styleRemove(name) { + return function() { + this.style.removeProperty(name); + }; +} +function style_styleConstant(name, interpolate2, value1) { + var string00, string1 = value1 + "", interpolate0; + return function() { + var string0 = styleValue(this, name); + return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1); + }; +} +function style_styleFunction(name, interpolate2, value) { + var string00, string10, interpolate0; + return function() { + var string0 = styleValue(this, name), value1 = value(this), string1 = value1 + ""; + if (value1 == null) string1 = value1 = (this.style.removeProperty(name), styleValue(this, name)); + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1)); + }; +} +function styleMaybeRemove(id, name) { + var on0, on1, listener0, key = "style." + name, event = "end." + key, remove; + return function() { + var schedule = schedule_set(this, id), on = schedule.on, listener = schedule.value[key] == null ? remove || (remove = style_styleRemove(name)) : void 0; + if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener); + schedule.on = on1; + }; +} +/* harmony default export */ function transition_style(name, value, priority) { + var i = (name += "") === "transform" ? interpolateTransformCss : interpolate; + return value == null ? this.styleTween(name, styleNull(name, i)).on("end.style." + name, style_styleRemove(name)) : typeof value === "function" ? this.styleTween(name, style_styleFunction(name, i, tweenValue(this, "style." + name, value))).each(styleMaybeRemove(this._id, name)) : this.styleTween(name, style_styleConstant(name, i, value), priority).on("end.style." + name, null); +} + +;// ./node_modules/d3-transition/src/transition/styleTween.js +function styleInterpolate(name, i, priority) { + return function(t) { + this.style.setProperty(name, i.call(this, t), priority); + }; +} +function styleTween(name, value, priority) { + var t, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority); + return t; + } + tween._value = value; + return tween; +} +/* harmony default export */ function transition_styleTween(name, value, priority) { + var key = "style." + (name += ""); + if (arguments.length < 2) return (key = this.tween(key)) && key._value; + if (value == null) return this.tween(key, null); + if (typeof value !== "function") throw new Error(); + return this.tween(key, styleTween(name, value, priority == null ? "" : priority)); +} + +;// ./node_modules/d3-transition/src/transition/text.js + +function text_textConstant(value) { + return function() { + this.textContent = value; + }; +} +function text_textFunction(value) { + return function() { + var value1 = value(this); + this.textContent = value1 == null ? "" : value1; + }; +} +/* harmony default export */ function transition_text(value) { + return this.tween("text", typeof value === "function" ? text_textFunction(tweenValue(this, "text", value)) : text_textConstant(value == null ? "" : value + "")); +} + +;// ./node_modules/d3-transition/src/transition/textTween.js +function textInterpolate(i) { + return function(t) { + this.textContent = i.call(this, t); + }; +} +function textTween(value) { + var t0, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t0 = (i0 = i) && textInterpolate(i); + return t0; + } + tween._value = value; + return tween; +} +/* harmony default export */ function transition_textTween(value) { + var key = "text"; + if (arguments.length < 1) return (key = this.tween(key)) && key._value; + if (value == null) return this.tween(key, null); + if (typeof value !== "function") throw new Error(); + return this.tween(key, textTween(value)); +} + +;// ./node_modules/d3-transition/src/transition/transition.js + + +/* harmony default export */ function transition() { + var name = this._name, id0 = this._id, id1 = newId(); + for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + var inherit = schedule_get(node, id0); + schedule(node, name, id1, i, group, { + time: inherit.time + inherit.delay + inherit.duration, + delay: 0, + duration: inherit.duration, + ease: inherit.ease + }); + } + } + } + return new Transition(groups, this._parents, name, id1); +} + +;// ./node_modules/d3-transition/src/transition/end.js + +/* harmony default export */ function end() { + var on0, on1, that = this, id = that._id, size = that.size(); + return new Promise(function(resolve, reject) { + var cancel = { value: reject }, end = { value: function() { + if (--size === 0) resolve(); + } }; + that.each(function() { + var schedule = schedule_set(this, id), on = schedule.on; + if (on !== on0) { + on1 = (on0 = on).copy(); + on1._.cancel.push(cancel); + on1._.interrupt.push(cancel); + on1._.end.push(end); + } + schedule.on = on1; + }); + if (size === 0) resolve(); + }); +} + +;// ./node_modules/d3-transition/src/transition/index.js + + + + + + + + + + + + + + + + + + + + + +var id = 0; +function Transition(groups, parents, name, id2) { + this._groups = groups; + this._parents = parents; + this._name = name; + this._id = id2; +} +function transition_transition(name) { + return src_selection().transition(name); +} +function newId() { + return ++id; +} +var selection_prototype = src_selection.prototype; +Transition.prototype = transition_transition.prototype = { + constructor: Transition, + select: transition_select, + selectAll: transition_selectAll, + selectChild: selection_prototype.selectChild, + selectChildren: selection_prototype.selectChildren, + filter: transition_filter, + merge: transition_merge, + selection: transition_selection, + transition: transition, + call: selection_prototype.call, + nodes: selection_prototype.nodes, + node: selection_prototype.node, + size: selection_prototype.size, + empty: selection_prototype.empty, + each: selection_prototype.each, + on: transition_on, + attr: transition_attr, + attrTween: transition_attrTween, + style: transition_style, + styleTween: transition_styleTween, + text: transition_text, + textTween: transition_textTween, + remove: transition_remove, + tween: tween, + delay: delay, + duration: duration, + ease: ease, + easeVarying: transition_easeVarying, + end: end, + [Symbol.iterator]: selection_prototype[Symbol.iterator] +}; + +;// ./node_modules/d3-ease/src/cubic.js +function cubicIn(t) { + return t * t * t; +} +function cubicOut(t) { + return --t * t * t + 1; +} +function cubicInOut(t) { + return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2; +} + +;// ./node_modules/d3-transition/src/selection/transition.js + + + + +var defaultTiming = { + time: null, + // Set on use. + delay: 0, + duration: 250, + ease: cubicInOut +}; +function inherit(node, id) { + var timing; + while (!(timing = node.__transition) || !(timing = timing[id])) { + if (!(node = node.parentNode)) { + throw new Error(`transition ${id} not found`); + } + } + return timing; +} +/* harmony default export */ function selection_transition(name) { + var id, timing; + if (name instanceof Transition) { + id = name._id, name = name._name; + } else { + id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + ""; + } + for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + schedule(node, name, id, i, group, timing || inherit(node, id)); + } + } + } + return new Transition(groups, this._parents, name, id); +} + +;// ./node_modules/d3-transition/src/selection/index.js + + + +src_selection.prototype.interrupt = selection_interrupt; +src_selection.prototype.transition = selection_transition; + +;// ./node_modules/d3-transition/src/index.js + + + + + +;// ./node_modules/d3-brush/src/constant.js +/* harmony default export */ var d3_brush_src_constant = ((x) => () => x); + +;// ./node_modules/d3-brush/src/event.js +function BrushEvent(type, { + sourceEvent, + target, + selection, + mode, + dispatch +}) { + Object.defineProperties(this, { + type: { value: type, enumerable: true, configurable: true }, + sourceEvent: { value: sourceEvent, enumerable: true, configurable: true }, + target: { value: target, enumerable: true, configurable: true }, + selection: { value: selection, enumerable: true, configurable: true }, + mode: { value: mode, enumerable: true, configurable: true }, + _: { value: dispatch } + }); +} + +;// ./node_modules/d3-brush/src/noevent.js +function noevent_nopropagation(event) { + event.stopImmediatePropagation(); +} +/* harmony default export */ function src_noevent(event) { + event.preventDefault(); + event.stopImmediatePropagation(); +} + +;// ./node_modules/d3-brush/src/brush.js + + + + + + + + +var MODE_DRAG = { name: "drag" }, MODE_SPACE = { name: "space" }, MODE_HANDLE = { name: "handle" }, MODE_CENTER = { name: "center" }; +const { abs, max, min } = Math; +function number1(e) { + return [+e[0], +e[1]]; +} +function number2(e) { + return [number1(e[0]), number1(e[1])]; +} +var X = { + name: "x", + handles: ["w", "e"].map(type), + input: function(x, e) { + return x == null ? null : [[+x[0], e[0][1]], [+x[1], e[1][1]]]; + }, + output: function(xy) { + return xy && [xy[0][0], xy[1][0]]; + } +}; +var Y = { + name: "y", + handles: ["n", "s"].map(type), + input: function(y, e) { + return y == null ? null : [[e[0][0], +y[0]], [e[1][0], +y[1]]]; + }, + output: function(xy) { + return xy && [xy[0][1], xy[1][1]]; + } +}; +var XY = { + name: "xy", + handles: ["n", "w", "e", "s", "nw", "ne", "sw", "se"].map(type), + input: function(xy) { + return xy == null ? null : number2(xy); + }, + output: function(xy) { + return xy; + } +}; +var cursors = { + overlay: "crosshair", + selection: "move", + n: "ns-resize", + e: "ew-resize", + s: "ns-resize", + w: "ew-resize", + nw: "nwse-resize", + ne: "nesw-resize", + se: "nwse-resize", + sw: "nesw-resize" +}; +var flipX = { + e: "w", + w: "e", + nw: "ne", + ne: "nw", + se: "sw", + sw: "se" +}; +var flipY = { + n: "s", + s: "n", + nw: "sw", + ne: "se", + se: "ne", + sw: "nw" +}; +var signsX = { + overlay: 1, + selection: 1, + n: null, + e: 1, + s: null, + w: -1, + nw: -1, + ne: 1, + se: 1, + sw: -1 +}; +var signsY = { + overlay: 1, + selection: 1, + n: -1, + e: null, + s: 1, + w: null, + nw: -1, + ne: -1, + se: 1, + sw: 1 +}; +function type(t) { + return { type: t }; +} +function defaultFilter(event) { + return !event.ctrlKey && !event.button; +} +function defaultExtent() { + var svg = this.ownerSVGElement || this; + if (svg.hasAttribute("viewBox")) { + svg = svg.viewBox.baseVal; + return [[svg.x, svg.y], [svg.x + svg.width, svg.y + svg.height]]; + } + return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]]; +} +function defaultTouchable() { + return navigator.maxTouchPoints || "ontouchstart" in this; +} +function local(node) { + while (!node.__brush) if (!(node = node.parentNode)) return; + return node.__brush; +} +function brush_empty(extent) { + return extent[0][0] === extent[1][0] || extent[0][1] === extent[1][1]; +} +function brushSelection(node) { + var state = node.__brush; + return state ? state.dim.output(state.selection) : null; +} +function brushX() { + return brush_brush(X); +} +function brushY() { + return brush_brush(Y); +} +/* harmony default export */ function brush() { + return brush_brush(XY); +} +function brush_brush(dim) { + var extent = defaultExtent, filter = defaultFilter, touchable = defaultTouchable, keys = true, listeners = src_dispatch("start", "brush", "end"), handleSize = 6, touchending; + function brush2(group) { + var overlay = group.property("__brush", initialize).selectAll(".overlay").data([type("overlay")]); + overlay.enter().append("rect").attr("class", "overlay").attr("pointer-events", "all").attr("cursor", cursors.overlay).merge(overlay).each(function() { + var extent2 = local(this).extent; + src_select(this).attr("x", extent2[0][0]).attr("y", extent2[0][1]).attr("width", extent2[1][0] - extent2[0][0]).attr("height", extent2[1][1] - extent2[0][1]); + }); + group.selectAll(".selection").data([type("selection")]).enter().append("rect").attr("class", "selection").attr("cursor", cursors.selection).attr("fill", "#777").attr("fill-opacity", 0.3).attr("stroke", "#fff").attr("shape-rendering", "crispEdges"); + var handle = group.selectAll(".handle").data(dim.handles, function(d) { + return d.type; + }); + handle.exit().remove(); + handle.enter().append("rect").attr("class", function(d) { + return "handle handle--" + d.type; + }).attr("cursor", function(d) { + return cursors[d.type]; + }); + group.each(redraw).attr("fill", "none").attr("pointer-events", "all").on("mousedown.brush", started).filter(touchable).on("touchstart.brush", started).on("touchmove.brush", touchmoved).on("touchend.brush touchcancel.brush", touchended).style("touch-action", "none").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)"); + } + brush2.move = function(group, selection, event) { + if (group.tween) { + group.on("start.brush", function(event2) { + emitter(this, arguments).beforestart().start(event2); + }).on("interrupt.brush end.brush", function(event2) { + emitter(this, arguments).end(event2); + }).tween("brush", function() { + var that = this, state = that.__brush, emit = emitter(that, arguments), selection0 = state.selection, selection1 = dim.input(typeof selection === "function" ? selection.apply(this, arguments) : selection, state.extent), i = value(selection0, selection1); + function tween(t) { + state.selection = t === 1 && selection1 === null ? null : i(t); + redraw.call(that); + emit.brush(); + } + return selection0 !== null && selection1 !== null ? tween : tween(1); + }); + } else { + group.each(function() { + var that = this, args = arguments, state = that.__brush, selection1 = dim.input(typeof selection === "function" ? selection.apply(that, args) : selection, state.extent), emit = emitter(that, args).beforestart(); + interrupt(that); + state.selection = selection1 === null ? null : selection1; + redraw.call(that); + emit.start(event).brush(event).end(event); + }); + } + }; + brush2.clear = function(group, event) { + brush2.move(group, null, event); + }; + function redraw() { + var group = src_select(this), selection = local(this).selection; + if (selection) { + group.selectAll(".selection").style("display", null).attr("x", selection[0][0]).attr("y", selection[0][1]).attr("width", selection[1][0] - selection[0][0]).attr("height", selection[1][1] - selection[0][1]); + group.selectAll(".handle").style("display", null).attr("x", function(d) { + return d.type[d.type.length - 1] === "e" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; + }).attr("y", function(d) { + return d.type[0] === "s" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; + }).attr("width", function(d) { + return d.type === "n" || d.type === "s" ? selection[1][0] - selection[0][0] + handleSize : handleSize; + }).attr("height", function(d) { + return d.type === "e" || d.type === "w" ? selection[1][1] - selection[0][1] + handleSize : handleSize; + }); + } else { + group.selectAll(".selection,.handle").style("display", "none").attr("x", null).attr("y", null).attr("width", null).attr("height", null); + } + } + function emitter(that, args, clean) { + var emit = that.__brush.emitter; + return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean); + } + function Emitter(that, args, clean) { + this.that = that; + this.args = args; + this.state = that.__brush; + this.active = 0; + this.clean = clean; + } + Emitter.prototype = { + beforestart: function() { + if (++this.active === 1) this.state.emitter = this, this.starting = true; + return this; + }, + start: function(event, mode) { + if (this.starting) this.starting = false, this.emit("start", event, mode); + else this.emit("brush", event); + return this; + }, + brush: function(event, mode) { + this.emit("brush", event, mode); + return this; + }, + end: function(event, mode) { + if (--this.active === 0) delete this.state.emitter, this.emit("end", event, mode); + return this; + }, + emit: function(type2, event, mode) { + var d = src_select(this.that).datum(); + listeners.call( + type2, + this.that, + new BrushEvent(type2, { + sourceEvent: event, + target: brush2, + selection: dim.output(this.state.selection), + mode, + dispatch: listeners + }), + d + ); + } + }; + function started(event) { + if (touchending && !event.touches) return; + if (!filter.apply(this, arguments)) return; + var that = this, type2 = event.target.__data__.type, mode = (keys && event.metaKey ? type2 = "overlay" : type2) === "selection" ? MODE_DRAG : keys && event.altKey ? MODE_CENTER : MODE_HANDLE, signX = dim === Y ? null : signsX[type2], signY = dim === X ? null : signsY[type2], state = local(that), extent2 = state.extent, selection = state.selection, W = extent2[0][0], w0, w1, N = extent2[0][1], n0, n1, E = extent2[1][0], e0, e1, S = extent2[1][1], s0, s1, dx = 0, dy = 0, moving, shifting = signX && signY && keys && event.shiftKey, lockX, lockY, points = Array.from(event.touches || [event], (t) => { + const i = t.identifier; + t = src_pointer(t, that); + t.point0 = t.slice(); + t.identifier = i; + return t; + }); + interrupt(that); + var emit = emitter(that, arguments, true).beforestart(); + if (type2 === "overlay") { + if (selection) moving = true; + const pts = [points[0], points[1] || points[0]]; + state.selection = selection = [[ + w0 = dim === Y ? W : min(pts[0][0], pts[1][0]), + n0 = dim === X ? N : min(pts[0][1], pts[1][1]) + ], [ + e0 = dim === Y ? E : max(pts[0][0], pts[1][0]), + s0 = dim === X ? S : max(pts[0][1], pts[1][1]) + ]]; + if (points.length > 1) move(event); + } else { + w0 = selection[0][0]; + n0 = selection[0][1]; + e0 = selection[1][0]; + s0 = selection[1][1]; + } + w1 = w0; + n1 = n0; + e1 = e0; + s1 = s0; + var group = src_select(that).attr("pointer-events", "none"); + var overlay = group.selectAll(".overlay").attr("cursor", cursors[type2]); + if (event.touches) { + emit.moved = moved; + emit.ended = ended; + } else { + var view = src_select(event.view).on("mousemove.brush", moved, true).on("mouseup.brush", ended, true); + if (keys) view.on("keydown.brush", keydowned, true).on("keyup.brush", keyupped, true); + nodrag(event.view); + } + redraw.call(that); + emit.start(event, mode.name); + function moved(event2) { + for (const p of event2.changedTouches || [event2]) { + for (const d of points) + if (d.identifier === p.identifier) d.cur = src_pointer(p, that); + } + if (shifting && !lockX && !lockY && points.length === 1) { + const point = points[0]; + if (abs(point.cur[0] - point[0]) > abs(point.cur[1] - point[1])) + lockY = true; + else + lockX = true; + } + for (const point of points) + if (point.cur) point[0] = point.cur[0], point[1] = point.cur[1]; + moving = true; + src_noevent(event2); + move(event2); + } + function move(event2) { + const point = points[0], point0 = point.point0; + var t; + dx = point[0] - point0[0]; + dy = point[1] - point0[1]; + switch (mode) { + case MODE_SPACE: + case MODE_DRAG: { + if (signX) dx = max(W - w0, min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx; + if (signY) dy = max(N - n0, min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy; + break; + } + case MODE_HANDLE: { + if (points[1]) { + if (signX) w1 = max(W, min(E, points[0][0])), e1 = max(W, min(E, points[1][0])), signX = 1; + if (signY) n1 = max(N, min(S, points[0][1])), s1 = max(N, min(S, points[1][1])), signY = 1; + } else { + if (signX < 0) dx = max(W - w0, min(E - w0, dx)), w1 = w0 + dx, e1 = e0; + else if (signX > 0) dx = max(W - e0, min(E - e0, dx)), w1 = w0, e1 = e0 + dx; + if (signY < 0) dy = max(N - n0, min(S - n0, dy)), n1 = n0 + dy, s1 = s0; + else if (signY > 0) dy = max(N - s0, min(S - s0, dy)), n1 = n0, s1 = s0 + dy; + } + break; + } + case MODE_CENTER: { + if (signX) w1 = max(W, min(E, w0 - dx * signX)), e1 = max(W, min(E, e0 + dx * signX)); + if (signY) n1 = max(N, min(S, n0 - dy * signY)), s1 = max(N, min(S, s0 + dy * signY)); + break; + } + } + if (e1 < w1) { + signX *= -1; + t = w0, w0 = e0, e0 = t; + t = w1, w1 = e1, e1 = t; + if (type2 in flipX) overlay.attr("cursor", cursors[type2 = flipX[type2]]); + } + if (s1 < n1) { + signY *= -1; + t = n0, n0 = s0, s0 = t; + t = n1, n1 = s1, s1 = t; + if (type2 in flipY) overlay.attr("cursor", cursors[type2 = flipY[type2]]); + } + if (state.selection) selection = state.selection; + if (lockX) w1 = selection[0][0], e1 = selection[1][0]; + if (lockY) n1 = selection[0][1], s1 = selection[1][1]; + if (selection[0][0] !== w1 || selection[0][1] !== n1 || selection[1][0] !== e1 || selection[1][1] !== s1) { + state.selection = [[w1, n1], [e1, s1]]; + redraw.call(that); + emit.brush(event2, mode.name); + } + } + function ended(event2) { + noevent_nopropagation(event2); + if (event2.touches) { + if (event2.touches.length) return; + if (touchending) clearTimeout(touchending); + touchending = setTimeout(function() { + touchending = null; + }, 500); + } else { + yesdrag(event2.view, moving); + view.on("keydown.brush keyup.brush mousemove.brush mouseup.brush", null); + } + group.attr("pointer-events", "all"); + overlay.attr("cursor", cursors.overlay); + if (state.selection) selection = state.selection; + if (brush_empty(selection)) state.selection = null, redraw.call(that); + emit.end(event2, mode.name); + } + function keydowned(event2) { + switch (event2.keyCode) { + case 16: { + shifting = signX && signY; + break; + } + case 18: { + if (mode === MODE_HANDLE) { + if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX; + if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY; + mode = MODE_CENTER; + move(event2); + } + break; + } + case 32: { + if (mode === MODE_HANDLE || mode === MODE_CENTER) { + if (signX < 0) e0 = e1 - dx; + else if (signX > 0) w0 = w1 - dx; + if (signY < 0) s0 = s1 - dy; + else if (signY > 0) n0 = n1 - dy; + mode = MODE_SPACE; + overlay.attr("cursor", cursors.selection); + move(event2); + } + break; + } + default: + return; + } + src_noevent(event2); + } + function keyupped(event2) { + switch (event2.keyCode) { + case 16: { + if (shifting) { + lockX = lockY = shifting = false; + move(event2); + } + break; + } + case 18: { + if (mode === MODE_CENTER) { + if (signX < 0) e0 = e1; + else if (signX > 0) w0 = w1; + if (signY < 0) s0 = s1; + else if (signY > 0) n0 = n1; + mode = MODE_HANDLE; + move(event2); + } + break; + } + case 32: { + if (mode === MODE_SPACE) { + if (event2.altKey) { + if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX; + if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY; + mode = MODE_CENTER; + } else { + if (signX < 0) e0 = e1; + else if (signX > 0) w0 = w1; + if (signY < 0) s0 = s1; + else if (signY > 0) n0 = n1; + mode = MODE_HANDLE; + } + overlay.attr("cursor", cursors[type2]); + move(event2); + } + break; + } + default: + return; + } + src_noevent(event2); + } + } + function touchmoved(event) { + emitter(this, arguments).moved(event); + } + function touchended(event) { + emitter(this, arguments).ended(event); + } + function initialize() { + var state = this.__brush || { selection: null }; + state.extent = number2(extent.apply(this, arguments)); + state.dim = dim; + return state; + } + brush2.extent = function(_) { + return arguments.length ? (extent = typeof _ === "function" ? _ : d3_brush_src_constant(number2(_)), brush2) : extent; + }; + brush2.filter = function(_) { + return arguments.length ? (filter = typeof _ === "function" ? _ : d3_brush_src_constant(!!_), brush2) : filter; + }; + brush2.touchable = function(_) { + return arguments.length ? (touchable = typeof _ === "function" ? _ : d3_brush_src_constant(!!_), brush2) : touchable; + }; + brush2.handleSize = function(_) { + return arguments.length ? (handleSize = +_, brush2) : handleSize; + }; + brush2.keyModifiers = function(_) { + return arguments.length ? (keys = !!_, brush2) : keys; + }; + brush2.on = function() { + var value = listeners.on.apply(listeners, arguments); + return value === listeners ? brush2 : value; + }; + return brush2; +} + +;// ./node_modules/d3-brush/src/index.js + + +;// ./src/module/browser.ts +function getGlobal() { + return typeof globalThis === "object" && globalThis !== null && globalThis.Object === Object && globalThis || typeof global === "object" && global !== null && global.Object === Object && global || typeof self === "object" && self !== null && self.Object === Object && self || Function("return this")(); +} +function getFallback(w) { + const hasRAF = typeof (w == null ? void 0 : w.requestAnimationFrame) === "function" && typeof (w == null ? void 0 : w.cancelAnimationFrame) === "function"; + const hasRIC = typeof (w == null ? void 0 : w.requestIdleCallback) === "function" && typeof (w == null ? void 0 : w.cancelIdleCallback) === "function"; + const request = (cb) => setTimeout(cb, 1); + const cancel = (id) => clearTimeout(id); + return [ + hasRAF ? w.requestAnimationFrame : request, + hasRAF ? w.cancelAnimationFrame : cancel, + hasRIC ? w.requestIdleCallback : request, + hasRIC ? w.cancelIdleCallback : cancel + ]; +} +const win = getGlobal(); +const doc = win == null ? void 0 : win.document; +const [ + requestAnimationFrame, + cancelAnimationFrame, + requestIdleCallback, + cancelIdleCallback +] = getFallback(win); + + +;// ./src/module/util.ts +var __defProp = Object.defineProperty; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; + + + + +const isValue = (v) => v || v === 0; +const isFunction = (v) => typeof v === "function"; +const isString = (v) => typeof v === "string"; +const isNumber = (v) => typeof v === "number"; +const isUndefined = (v) => typeof v === "undefined"; +const isDefined = (v) => typeof v !== "undefined"; +const isBoolean = (v) => typeof v === "boolean"; +const ceil10 = (v) => Math.ceil(v / 10) * 10; +const asHalfPixel = (n) => Math.ceil(n) + 0.5; +const diffDomain = (d) => d[1] - d[0]; +const isObjectType = (v) => typeof v === "object"; +const isEmpty = (o) => isUndefined(o) || o === null || isString(o) && o.length === 0 || isObjectType(o) && !(o instanceof Date) && Object.keys(o).length === 0 || isNumber(o) && isNaN(o); +const notEmpty = (o) => !isEmpty(o); +const isArray = (arr) => Array.isArray(arr); +const isObject = (obj) => obj && !(obj == null ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); +function getOption(options, key, defaultValue) { + return isDefined(options[key]) ? options[key] : defaultValue; +} +function hasValue(dict, value) { + let found = false; + Object.keys(dict).forEach((key) => dict[key] === value && (found = true)); + return found; +} +function callFn(fn, thisArg, ...args) { + const isFn = isFunction(fn); + isFn && fn.call(thisArg, ...args); + return isFn; +} +function endall(transition, cb) { + let n = 0; + const end = function(...args) { + !--n && cb.apply(this, ...args); + }; + if ("duration" in transition) { + transition.each(() => ++n).on("end", end); + } else { + ++n; + transition.call(end); + } +} +function sanitize(str) { + return isString(str) ? str.replace(/<(script|img)?/ig, "<").replace(/(script)?>/ig, ">") : str; +} +function setTextValue(node, text, dy = [-1, 1], toMiddle = false) { + if (!node || !isString(text)) { + return; + } + if (text.indexOf("\n") === -1) { + node.text(text); + } else { + const diff = [node.text(), text].map((v) => v.replace(/[\s\n]/g, "")); + if (diff[0] !== diff[1]) { + const multiline = text.split("\n"); + const len = toMiddle ? multiline.length - 1 : 1; + node.html(""); + multiline.forEach((v, i) => { + node.append("tspan").attr("x", 0).attr("dy", `${i === 0 ? dy[0] * len : dy[1]}em`).text(v); + }); + } + } +} +function getRectSegList(path) { + const { x, y, width, height } = path.getBBox(); + return [ + { x, y: y + height }, + // seg0 + { x, y }, + // seg1 + { x: x + width, y }, + // seg2 + { x: x + width, y: y + height } + // seg3 + ]; +} +function getPathBox(path) { + const { width, height } = path.getBoundingClientRect(); + const items = getRectSegList(path); + const x = items[0].x; + const y = Math.min(items[0].y, items[1].y); + return { + x, + y, + width, + height + }; +} +function getPointer(event, element) { + var _a; + const touches = event && ((_a = event.touches || event.sourceEvent && event.sourceEvent.touches) == null ? void 0 : _a[0]); + let pointer = [0, 0]; + try { + pointer = src_pointer(touches || event, element); + } catch (e) { + } + return pointer.map((v) => isNaN(v) ? 0 : v); +} +function getBrushSelection(ctx) { + const { event, $el } = ctx; + const main = $el.subchart.main || $el.main; + let selection; + if (event && event.type === "brush") { + selection = event.selection; + } else if (main && (selection = main.select(".bb-brush").node())) { + selection = brushSelection(selection); + } + return selection; +} +function getBoundingRect(node) { + const needEvaluate = !("rect" in node) || "rect" in node && node.hasAttribute("width") && node.rect.width !== +node.getAttribute("width"); + return needEvaluate ? node.rect = node.getBoundingClientRect() : node.rect; +} +function getRandom(asStr = true, min = 0, max = 1e4) { + const crpt = win.crypto || win.msCrypto; + const rand = crpt ? min + crpt.getRandomValues(new Uint32Array(1))[0] % (max - min + 1) : Math.floor(Math.random() * (max - min) + min); + return asStr ? String(rand) : rand; +} +function findIndex(arr, v, start, end, isRotated) { + if (start > end) { + return -1; + } + const mid = Math.floor((start + end) / 2); + let { x, w = 0 } = arr[mid]; + if (isRotated) { + x = arr[mid].y; + w = arr[mid].h; + } + if (v >= x && v <= x + w) { + return mid; + } + return v < x ? findIndex(arr, v, start, mid - 1, isRotated) : findIndex(arr, v, mid + 1, end, isRotated); +} +function brushEmpty(ctx) { + const selection = getBrushSelection(ctx); + if (selection) { + return selection[0] === selection[1]; + } + return true; +} +function deepClone(...objectN) { + const clone = (v) => { + if (isObject(v) && v.constructor) { + const r = new v.constructor(); + for (const k in v) { + r[k] = clone(v[k]); + } + return r; + } + return v; + }; + return objectN.map((v) => clone(v)).reduce((a, c) => __spreadValues(__spreadValues({}, a), c)); +} +function util_extend(target = {}, source) { + if (isArray(source)) { + source.forEach((v) => util_extend(target, v)); + } + for (const p in source) { + if (/^\d+$/.test(p) || p in target) { + continue; + } + target[p] = source[p]; + } + return target; +} +const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1); +function camelize(str, separator = "-") { + return str.split(separator).map((v, i) => i ? v.charAt(0).toUpperCase() + v.slice(1).toLowerCase() : v.toLowerCase()).join(""); +} +const toArray = (v) => [].slice.call(v); +function addCssRules(style, selector, prop) { + const { rootSelector = "", sheet } = style; + const getSelector = (s) => s.replace(/\s?(bb-)/g, ".$1").replace(/\.+/g, "."); + const rule = `${rootSelector} ${getSelector(selector)} {${prop.join(";")}}`; + return sheet[sheet.insertRule ? "insertRule" : "addRule"]( + rule, + sheet.cssRules.length + ); +} +function getCssRules(styleSheets) { + let rules = []; + styleSheets.forEach((sheet) => { + var _a; + try { + if (sheet.cssRules && sheet.cssRules.length) { + rules = rules.concat(toArray(sheet.cssRules)); + } + } catch (e) { + (_a = win.console) == null ? void 0 : _a.warn(`Error while reading rules from ${sheet.href}: ${e.toString()}`); + } + }); + return rules; +} +function getScrollPosition(node) { + var _a, _b, _c, _d, _e, _f; + return { + x: ((_b = (_a = win.pageXOffset) != null ? _a : win.scrollX) != null ? _b : 0) + ((_c = node.scrollLeft) != null ? _c : 0), + y: ((_e = (_d = win.pageYOffset) != null ? _d : win.scrollY) != null ? _e : 0) + ((_f = node.scrollTop) != null ? _f : 0) + }; +} +function getTransformCTM(node, x = 0, y = 0, inverse = true) { + const point = new DOMPoint(x, y); + const screen = node.getScreenCTM(); + const res = point.matrixTransform( + inverse ? screen == null ? void 0 : screen.inverse() : screen + ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; +} +function getTranslation(node) { + const transform = node ? node.transform : null; + const baseVal = transform && transform.baseVal; + return baseVal && baseVal.numberOfItems ? baseVal.getItem(0).matrix : { a: 0, b: 0, c: 0, d: 0, e: 0, f: 0 }; +} +function getUnique(data) { + const isDate = data[0] instanceof Date; + const d = (isDate ? data.map(Number) : data).filter((v, i, self) => self.indexOf(v) === i); + return isDate ? d.map((v) => new Date(v)) : d; +} +function mergeArray(arr) { + return arr && arr.length ? arr.reduce((p, c) => p.concat(c)) : []; +} +function mergeObj(target, ...objectN) { + if (!objectN.length || objectN.length === 1 && !objectN[0]) { + return target; + } + const source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach((key) => { + const value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj(target, ...objectN); +} +function sortValue(data, isAsc = true) { + let fn; + if (data[0] instanceof Date) { + fn = isAsc ? (a, b) => a - b : (a, b) => b - a; + } else { + if (isAsc && !data.every(isNaN)) { + fn = (a, b) => a - b; + } else if (!isAsc) { + fn = (a, b) => a > b && -1 || a < b && 1 || a === b && 0; + } + } + return data.concat().sort(fn); +} +function getMinMax(type, data) { + let res = data.filter((v) => notEmpty(v)); + if (res.length) { + if (isNumber(res[0])) { + res = Math[type](...res); + } else if (res[0] instanceof Date) { + res = sortValue(res, type === "min")[0]; + } + } else { + res = void 0; + } + return res; +} +const getRange = (start, end, step = 1) => { + const res = []; + const n = Math.max(0, Math.ceil((end - start) / step)) | 0; + for (let i = start; i < n; i++) { + res.push(start + i * step); + } + return res; +}; +const emulateEvent = { + mouse: (() => { + const getParams = () => ({ + bubbles: false, + cancelable: false, + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0 + }); + try { + new MouseEvent("t"); + return (el, eventType, params = getParams()) => { + el.dispatchEvent(new MouseEvent(eventType, params)); + }; + } catch (e) { + return (el, eventType, params = getParams()) => { + const mouseEvent = doc.createEvent("MouseEvent"); + mouseEvent.initMouseEvent( + eventType, + params.bubbles, + params.cancelable, + win, + 0, + // the event's mouse click count + params.screenX, + params.screenY, + params.clientX, + params.clientY, + false, + false, + false, + false, + 0, + null + ); + el.dispatchEvent(mouseEvent); + }; + } + })(), + touch: (el, eventType, params) => { + const touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}; +function tplProcess(tpl, data) { + let res = tpl; + for (const x in data) { + res = res.replace(new RegExp(`{=${x}}`, "g"), data[x]); + } + return res; +} +function parseDate(date) { + var _a; + let parsedDate; + if (date instanceof Date) { + parsedDate = date; + } else if (isString(date)) { + const { config, format } = this; + parsedDate = (_a = format.dataTime(config.data_xFormat)(date)) != null ? _a : new Date(date); + } else if (isNumber(date) && !isNaN(date)) { + parsedDate = /* @__PURE__ */ new Date(+date); + } + if (!parsedDate || isNaN(+parsedDate)) { + console && console.error && console.error(`Failed to parse x '${date}' to Date object`); + } + return parsedDate; +} +function hasViewBox(svg) { + const attr = svg.attr("viewBox"); + return attr ? /(\d+(\.\d+)?){3}/.test(attr) : false; +} +function hasStyle(node, condition, all = false) { + const isD3Node = !!node.node; + let has = false; + for (const [key, value] of Object.entries(condition)) { + has = isD3Node ? node.style(key) === value : node.style[key] === value; + if (all === false && has) { + break; + } + } + return has; +} +function isTabVisible() { + var _a, _b; + return ((_a = doc) == null ? void 0 : _a.hidden) === false || ((_b = doc) == null ? void 0 : _b.visibilityState) === "visible"; +} +function convertInputType(mouse, touch) { + const { DocumentTouch, matchMedia, navigator } = win; + const hasPointerCoarse = matchMedia == null ? void 0 : matchMedia("(pointer:coarse)").matches; + let hasTouch = false; + if (touch) { + if (navigator && "maxTouchPoints" in navigator) { + hasTouch = navigator.maxTouchPoints > 0; + } else if ("ontouchmove" in win || DocumentTouch && doc instanceof DocumentTouch) { + hasTouch = true; + } else { + if (hasPointerCoarse) { + hasTouch = true; + } else { + const UA = navigator.userAgent; + hasTouch = /\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(UA) || /\b(Android|Windows Phone|iPad|iPod)\b/i.test(UA); + } + } + } + const hasMouse = mouse && !hasPointerCoarse && (matchMedia == null ? void 0 : matchMedia("(pointer:fine)").matches); + return hasMouse && "mouse" || hasTouch && "touch" || "mouse"; +} +function runUntil(fn, conditionFn) { + if (conditionFn() === false) { + requestAnimationFrame(() => runUntil(fn, conditionFn)); + } else { + fn(); + } +} + +;// ./src/config/config.ts + +function loadConfig(config) { + const thisConfig = this.config; + let target; + let keys; + let read; + const find = () => { + const key = keys.shift(); + if (key && target && isObjectType(target) && key in target) { + target = target[key]; + return find(); + } else if (!key) { + return target; + } + return void 0; + }; + Object.keys(thisConfig).forEach((key) => { + target = config; + keys = key.split("_"); + read = find(); + if (isDefined(read)) { + thisConfig[key] = read; + } + }); + if (this.api) { + this.state.orgConfig = config; + } +} + +;// ./src/Plugin/Plugin.ts +var Plugin_defProp = Object.defineProperty; +var Plugin_defNormalProp = (obj, key, value) => key in obj ? Plugin_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => Plugin_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); +class Plugin { + /** + * Constructor + * @param {Any} options config option object + * @private + */ + constructor(options = {}) { + __publicField(this, "$$"); + __publicField(this, "options"); + this.options = options; + } + /** + * Lifecycle hook for 'beforeInit' phase. + * @private + */ + $beforeInit() { + } + /** + * Lifecycle hook for 'init' phase. + * @private + */ + $init() { + } + /** + * Lifecycle hook for 'afterInit' phase. + * @private + */ + $afterInit() { + } + /** + * Lifecycle hook for 'redraw' phase. + * @private + */ + $redraw() { + } + /** + * Lifecycle hook for 'willDestroy' phase. + * @private + */ + $willDestroy() { + Object.keys(this).forEach((key) => { + this[key] = null; + delete this[key]; + }); + } +} +__publicField(Plugin, "version", "3.14.2"); + +;// ./src/Plugin/tableview/const.ts + +const defaultStyle = { + id: "__tableview-style__", + class: "bb-tableview", + rule: `.bb-tableview { + border-collapse:collapse; + border-spacing:0; + background:#fff; + min-width:100%; + margin-top:10px; + font-family:sans-serif; + font-size:.9em; + } + .bb-tableview tr:hover { + background:#eef7ff; + } + .bb-tableview thead tr { + background:#f8f8f8; + } + .bb-tableview caption,.bb-tableview td,.bb-tableview th { + text-align: center; + border:1px solid silver; + padding:.5em; + } + .bb-tableview caption { + font-size:1.1em; + font-weight:700; + margin-bottom: -1px; + }` +}; +const tpl = { + body: `<caption>{=title}</caption> + <thead><tr>{=thead}</tr></thead> + <tbody>{=tbody}</tbody>`, + thead: `<th scope="col">{=title}</th>`, + tbodyHeader: `<th scope="row">{=value}</th>`, + tbody: `<td>{=value}</td>` +}; + +;// ./src/Plugin/tableview/Options.ts +class Options { + constructor() { + return { + /** + * Set tableview holder selector. + * - **NOTE:** If not set, will append new holder element dynamically right after chart element. + * @name selector + * @memberof plugin-tableview + * @type {string} + * @default undefined + * @example + * selector: "#table-holder" + */ + selector: void 0, + /** + * Set category title text + * @name categoryTitle + * @memberof plugin-tableview + * @type {string} + * @default "Category" + * @example + * categoryTitle: "#table-holder" + */ + categoryTitle: "Category", + /** + * Set category text format function. + * @name categoryFormat + * @memberof plugin-tableview + * @type {Function} + * @returns {string} + * @default function(v) { // will return formatted value according x Axis type }} + * @example + * categoryFormat: "#table-holder" + */ + categoryFormat: function(v) { + let category = v; + if (this.$$.axis.isCategorized()) { + category = this.$$.categoryName(v); + } else if (this.$$.axis.isTimeSeries()) { + category = v.toLocaleDateString(); + } + return category; + }, + /** + * Set tableview holder class name. + * @name class + * @memberof plugin-tableview + * @type {string} + * @default undefined + * @example + * class: "table-class-name" + */ + class: void 0, + /** + * Set to apply default style(`.bb-tableview`) to tableview element. + * @name style + * @memberof plugin-tableview + * @type {boolean} + * @default true + * @example + * style: false + */ + style: true, + /** + * Set tableview title text. + * - **NOTE:** If set [title.text](https://naver.github.io/billboard.js/release/latest/doc/Options.html#.title), will be used when this option value is empty. + * @name title + * @memberof plugin-tableview + * @type {string} + * @default undefined + * @example + * title: "Table Title Text" + */ + title: void 0, + /** + * Update tableview from data visibility update(ex. legend toggle). + * @name updateOnToggle + * @memberof plugin-tableview + * @type {boolean} + * @default true + * @example + * legendToggleUpdate: false + */ + updateOnToggle: true, + /** + * Set how null value to be shown. + * @name nullString + * @memberof plugin-tableview + * @type {string} + * @default "-" + * @example + * nullString: "N/A" + */ + nullString: "-" + }; + } +} + +;// ./src/Plugin/tableview/index.ts +var tableview_defProp = Object.defineProperty; +var __defProps = Object.defineProperties; +var __getOwnPropDescs = Object.getOwnPropertyDescriptors; +var tableview_getOwnPropSymbols = Object.getOwnPropertySymbols; +var tableview_hasOwnProp = Object.prototype.hasOwnProperty; +var tableview_propIsEnum = Object.prototype.propertyIsEnumerable; +var tableview_defNormalProp = (obj, key, value) => key in obj ? tableview_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var tableview_spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (tableview_hasOwnProp.call(b, prop)) + tableview_defNormalProp(a, prop, b[prop]); + if (tableview_getOwnPropSymbols) + for (var prop of tableview_getOwnPropSymbols(b)) { + if (tableview_propIsEnum.call(b, prop)) + tableview_defNormalProp(a, prop, b[prop]); + } + return a; +}; +var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); +var tableview_publicField = (obj, key, value) => tableview_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + + +class TableView extends Plugin { + constructor(options) { + super(options); + tableview_publicField(this, "config"); + tableview_publicField(this, "element"); + this.config = new Options(); + return this; + } + $beforeInit() { + loadConfig.call(this, this.options); + } + $init() { + const { class: className, selector, style } = this.config; + let element = document.querySelector( + selector || `.${className || defaultStyle.class}` + ); + if (!element) { + const chart = this.$$.$el.chart.node(); + element = document.createElement("table"); + chart.parentNode.insertBefore(element, chart.nextSibling); + } + if (element.tagName !== "TABLE") { + const table = document.createElement("table"); + element.appendChild(table); + element = table; + } + if (style && !document.getElementById(defaultStyle.id)) { + const s = document.createElement("style"); + s.id = defaultStyle.id; + s.innerHTML = defaultStyle.rule; + (document.head || document.getElementsByTagName("head")[0]).appendChild(s); + } + element.classList.add(...[style && defaultStyle.class, className].filter(Boolean)); + this.element = element; + } + /** + * Generate table + * @private + */ + generateTable() { + const { $$, config, element } = this; + const dataToShow = $$.filterTargetsToShow($$.data.targets); + let thead = tplProcess(tpl.thead, { + title: dataToShow.length ? this.config.categoryTitle : "" + }); + let tbody = ""; + const rows = []; + dataToShow.forEach((v) => { + thead += tplProcess(tpl.thead, { title: v.id }); + v.values.forEach((d, i) => { + if (!rows[i]) { + rows[i] = [d.x]; + } + rows[i].push(d.value); + }); + }); + rows.forEach((v) => { + tbody += `<tr>${v.map( + (d, i) => tplProcess(i ? tpl.tbody : tpl.tbodyHeader, { + value: i === 0 ? config.categoryFormat.bind(this)(d) : isNumber(d) ? d.toLocaleString() : config.nullString + }) + ).join("")}</tr>`; + }); + const rx = /(<\/?(script|img)[^>]*>|<[^>]+><\/[^>]+>)/ig; + const r = tplProcess(tpl.body, __spreadProps(tableview_spreadValues({}, config), { + title: config.title || $$.config.title_text || "", + thead, + tbody + })).replace(rx, ""); + element.innerHTML = r; + } + $redraw() { + const { state } = this.$$; + const doNotUpdate = state.resizing || !this.config.updateOnToggle && state.toggling; + !doNotUpdate && this.generateTable(); + } + $willDestroy() { + var _a, _b; + (_a = this.element.parentNode) == null ? void 0 : _a.removeChild(this.element); + if (this.$$.charts.length === 1) { + const s = document.getElementById(defaultStyle.id); + (_b = s == null ? void 0 : s.parentNode) == null ? void 0 : _b.removeChild(s); + } + } +} + + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module used 'module' so it can't be inlined +/******/ __webpack_require__(0); +/******/ var __webpack_exports__ = __webpack_require__(579); +/******/ __webpack_exports__ = __webpack_exports__["default"]; +/******/ +/******/ return __webpack_exports__; +/******/ })() +; +}); \ No newline at end of file diff --git a/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-tableview.pkgd.min.js b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-tableview.pkgd.min.js new file mode 100644 index 000000000..027f43b6e --- /dev/null +++ b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-tableview.pkgd.min.js @@ -0,0 +1,42 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */(function(kr,$r){typeof exports=="object"&&typeof module=="object"?module.exports=$r():typeof define=="function"&&define.amd?define("bb",[],$r):typeof exports=="object"?exports.bb=$r():(kr.bb=kr.bb||{},kr.bb.plugin=kr.bb.plugin||{},kr.bb.plugin["tableview.pkgd"]=$r())})(this,function(){return function(){"use strict";var Ae={72611:function(i,d,t){t.d(d,{default:function(){return bs}});function r(){}function n(a){return a==null?r:function(){return this.querySelector(a)}}function e(a){typeof a!="function"&&(a=n(a));for(var l=this._groups,h=l.length,E=new Array(h),I=0;I<h;++I)for(var D=l[I],L=D.length,V=E[I]=new Array(L),z,_,tt=0;tt<L;++tt)(z=D[tt])&&(_=a.call(z,z.__data__,tt,D))&&("__data__"in z&&(_.__data__=z.__data__),V[tt]=_);return new Lt(E,this._parents)}function o(a){return a==null?[]:Array.isArray(a)?a:Array.from(a)}function s(){return[]}function u(a){return a==null?s:function(){return this.querySelectorAll(a)}}function f(a){return function(){return o(a.apply(this,arguments))}}function v(a){typeof a=="function"?a=f(a):a=u(a);for(var l=this._groups,h=l.length,E=[],I=[],D=0;D<h;++D)for(var L=l[D],V=L.length,z,_=0;_<V;++_)(z=L[_])&&(E.push(a.call(z,z.__data__,_,L)),I.push(z));return new Lt(E,I)}function c(a){return function(){return this.matches(a)}}function g(a){return function(l){return l.matches(a)}}var y=Array.prototype.find;function p(a){return function(){return y.call(this.children,a)}}function m(){return this.firstElementChild}function S(a){return this.select(a==null?m:p(typeof a=="function"?a:g(a)))}var x=Array.prototype.filter;function O(){return Array.from(this.children)}function P(a){return function(){return x.call(this.children,a)}}function T(a){return this.selectAll(a==null?O:P(typeof a=="function"?a:g(a)))}function R(a){typeof a!="function"&&(a=c(a));for(var l=this._groups,h=l.length,E=new Array(h),I=0;I<h;++I)for(var D=l[I],L=D.length,V=E[I]=[],z,_=0;_<L;++_)(z=D[_])&&a.call(z,z.__data__,_,D)&&V.push(z);return new Lt(E,this._parents)}function N(a){return new Array(a.length)}function A(){return new Lt(this._enter||this._groups.map(N),this._parents)}function C(a,l){this.ownerDocument=a.ownerDocument,this.namespaceURI=a.namespaceURI,this._next=null,this._parent=a,this.__data__=l}C.prototype={constructor:C,appendChild:function(a){return this._parent.insertBefore(a,this._next)},insertBefore:function(a,l){return this._parent.insertBefore(a,l)},querySelector:function(a){return this._parent.querySelector(a)},querySelectorAll:function(a){return this._parent.querySelectorAll(a)}};function M(a){return function(){return a}}function $(a,l,h,E,I,D){for(var L=0,V,z=l.length,_=D.length;L<_;++L)(V=l[L])?(V.__data__=D[L],E[L]=V):h[L]=new C(a,D[L]);for(;L<z;++L)(V=l[L])&&(I[L]=V)}function F(a,l,h,E,I,D,L){var V,z,_=new Map,tt=l.length,Rt=D.length,Mt=new Array(tt),Wt;for(V=0;V<tt;++V)(z=l[V])&&(Mt[V]=Wt=L.call(z,z.__data__,V,l)+"",_.has(Wt)?I[V]=z:_.set(Wt,z));for(V=0;V<Rt;++V)Wt=L.call(a,D[V],V,D)+"",(z=_.get(Wt))?(E[V]=z,z.__data__=D[V],_.delete(Wt)):h[V]=new C(a,D[V]);for(V=0;V<tt;++V)(z=l[V])&&_.get(Mt[V])===z&&(I[V]=z)}function U(a){return a.__data__}function w(a,l){if(!arguments.length)return Array.from(this,U);var h=l?F:$,E=this._parents,I=this._groups;typeof a!="function"&&(a=M(a));for(var D=I.length,L=new Array(D),V=new Array(D),z=new Array(D),_=0;_<D;++_){var tt=E[_],Rt=I[_],Mt=Rt.length,Wt=G(a.call(tt,tt&&tt.__data__,_,E)),fr=Wt.length,xr=V[_]=new Array(fr),Et=L[_]=new Array(fr),Ht=z[_]=new Array(Mt);h(tt,Rt,xr,Et,Ht,Wt,l);for(var Yt=0,Gt=0,tr,rr;Yt<fr;++Yt)if(tr=xr[Yt]){for(Yt>=Gt&&(Gt=Yt+1);!(rr=Et[Gt])&&++Gt<fr;);tr._next=rr||null}}return L=new Lt(L,E),L._enter=V,L._exit=z,L}function G(a){return typeof a=="object"&&"length"in a?a:Array.from(a)}function B(){return new Lt(this._exit||this._groups.map(N),this._parents)}function b(a,l,h){var E=this.enter(),I=this,D=this.exit();return typeof a=="function"?(E=a(E),E&&(E=E.selection())):E=E.append(a+""),l!=null&&(I=l(I),I&&(I=I.selection())),h==null?D.remove():h(D),E&&I?E.merge(I).order():I}function j(a){for(var l=a.selection?a.selection():a,h=this._groups,E=l._groups,I=h.length,D=E.length,L=Math.min(I,D),V=new Array(I),z=0;z<L;++z)for(var _=h[z],tt=E[z],Rt=_.length,Mt=V[z]=new Array(Rt),Wt,fr=0;fr<Rt;++fr)(Wt=_[fr]||tt[fr])&&(Mt[fr]=Wt);for(;z<I;++z)V[z]=h[z];return new Lt(V,this._parents)}function W(){for(var a=this._groups,l=-1,h=a.length;++l<h;)for(var E=a[l],I=E.length-1,D=E[I],L;--I>=0;)(L=E[I])&&(D&&L.compareDocumentPosition(D)^4&&D.parentNode.insertBefore(L,D),D=L);return this}function Q(a){a||(a=X);function l(Rt,Mt){return Rt&&Mt?a(Rt.__data__,Mt.__data__):!Rt-!Mt}for(var h=this._groups,E=h.length,I=new Array(E),D=0;D<E;++D){for(var L=h[D],V=L.length,z=I[D]=new Array(V),_,tt=0;tt<V;++tt)(_=L[tt])&&(z[tt]=_);z.sort(l)}return new Lt(I,this._parents).order()}function X(a,l){return a<l?-1:a>l?1:a>=l?0:NaN}function k(){var a=arguments[0];return arguments[0]=this,a.apply(null,arguments),this}function Z(){return Array.from(this)}function ht(){for(var a=this._groups,l=0,h=a.length;l<h;++l)for(var E=a[l],I=0,D=E.length;I<D;++I){var L=E[I];if(L)return L}return null}function lt(){let a=0;for(const l of this)++a;return a}function pt(){return!this.node()}function Ot(a){for(var l=this._groups,h=0,E=l.length;h<E;++h)for(var I=l[h],D=0,L=I.length,V;D<L;++D)(V=I[D])&&a.call(V,V.__data__,D,I);return this}var Tt="http://www.w3.org/1999/xhtml",Kt={svg:"http://www.w3.org/2000/svg",xhtml:Tt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Vt(a){var l=a+="",h=l.indexOf(":");return h>=0&&(l=a.slice(0,h))!=="xmlns"&&(a=a.slice(h+1)),Kt.hasOwnProperty(l)?{space:Kt[l],local:a}:a}function Ut(a){return function(){this.removeAttribute(a)}}function vt(a){return function(){this.removeAttributeNS(a.space,a.local)}}function mt(a,l){return function(){this.setAttribute(a,l)}}function Dt(a,l){return function(){this.setAttributeNS(a.space,a.local,l)}}function $t(a,l){return function(){var h=l.apply(this,arguments);h==null?this.removeAttribute(a):this.setAttribute(a,h)}}function Nt(a,l){return function(){var h=l.apply(this,arguments);h==null?this.removeAttributeNS(a.space,a.local):this.setAttributeNS(a.space,a.local,h)}}function jt(a,l){var h=Vt(a);if(arguments.length<2){var E=this.node();return h.local?E.getAttributeNS(h.space,h.local):E.getAttribute(h)}return this.each((l==null?h.local?vt:Ut:typeof l=="function"?h.local?Nt:$t:h.local?Dt:mt)(h,l))}function kt(a){return a.ownerDocument&&a.ownerDocument.defaultView||a.document&&a||a.defaultView}function _t(a){return function(){this.style.removeProperty(a)}}function Xt(a,l,h){return function(){this.style.setProperty(a,l,h)}}function Bt(a,l,h){return function(){var E=l.apply(this,arguments);E==null?this.style.removeProperty(a):this.style.setProperty(a,E,h)}}function Qt(a,l,h){return arguments.length>1?this.each((l==null?_t:typeof l=="function"?Bt:Xt)(a,l,h==null?"":h)):zt(this.node(),a)}function zt(a,l){return a.style.getPropertyValue(l)||kt(a).getComputedStyle(a,null).getPropertyValue(l)}function wt(a){return function(){delete this[a]}}function st(a,l){return function(){this[a]=l}}function dt(a,l){return function(){var h=l.apply(this,arguments);h==null?delete this[a]:this[a]=h}}function q(a,l){return arguments.length>1?this.each((l==null?wt:typeof l=="function"?dt:st)(a,l)):this.node()[a]}function At(a){return a.trim().split(/^|\s+/)}function Pt(a){return a.classList||new It(a)}function It(a){this._node=a,this._names=At(a.getAttribute("class")||"")}It.prototype={add:function(a){var l=this._names.indexOf(a);l<0&&(this._names.push(a),this._node.setAttribute("class",this._names.join(" ")))},remove:function(a){var l=this._names.indexOf(a);l>=0&&(this._names.splice(l,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(a){return this._names.indexOf(a)>=0}};function St(a,l){for(var h=Pt(a),E=-1,I=l.length;++E<I;)h.add(l[E])}function er(a,l){for(var h=Pt(a),E=-1,I=l.length;++E<I;)h.remove(l[E])}function or(a){return function(){St(this,a)}}function Y(a){return function(){er(this,a)}}function et(a,l){return function(){(l.apply(this,arguments)?St:er)(this,a)}}function ut(a,l){var h=At(a+"");if(arguments.length<2){for(var E=Pt(this.node()),I=-1,D=h.length;++I<D;)if(!E.contains(h[I]))return!1;return!0}return this.each((typeof l=="function"?et:l?or:Y)(h,l))}function ot(){this.textContent=""}function ct(a){return function(){this.textContent=a}}function rt(a){return function(){var l=a.apply(this,arguments);this.textContent=l==null?"":l}}function Ft(a){return arguments.length?this.each(a==null?ot:(typeof a=="function"?rt:ct)(a)):this.node().textContent}function qt(){this.innerHTML=""}function nt(a){return function(){this.innerHTML=a}}function gt(a){return function(){var l=a.apply(this,arguments);this.innerHTML=l==null?"":l}}function yt(a){return arguments.length?this.each(a==null?qt:(typeof a=="function"?gt:nt)(a)):this.node().innerHTML}function xt(){this.nextSibling&&this.parentNode.appendChild(this)}function bt(){return this.each(xt)}function Zt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function nr(){return this.each(Zt)}function ar(a){return function(){var l=this.ownerDocument,h=this.namespaceURI;return h===Tt&&l.documentElement.namespaceURI===Tt?l.createElement(a):l.createElementNS(h,a)}}function ur(a){return function(){return this.ownerDocument.createElementNS(a.space,a.local)}}function cr(a){var l=Vt(a);return(l.local?ur:ar)(l)}function Ur(a){var l=typeof a=="function"?a:cr(a);return this.select(function(){return this.appendChild(l.apply(this,arguments))})}function gn(){return null}function Dn(a,l){var h=typeof a=="function"?a:cr(a),E=l==null?gn:typeof l=="function"?l:n(l);return this.select(function(){return this.insertBefore(h.apply(this,arguments),E.apply(this,arguments)||null)})}function yn(){var a=this.parentNode;a&&a.removeChild(this)}function qr(){return this.each(yn)}function Br(){var a=this.cloneNode(!1),l=this.parentNode;return l?l.insertBefore(a,this.nextSibling):a}function Fn(){var a=this.cloneNode(!0),l=this.parentNode;return l?l.insertBefore(a,this.nextSibling):a}function Kr(a){return this.select(a?Fn:Br)}function br(a){return arguments.length?this.property("__data__",a):this.node().__data__}function pn(a){return function(l){a.call(this,l,this.__data__)}}function _r(a){return a.trim().split(/^|\s+/).map(function(l){var h="",E=l.indexOf(".");return E>=0&&(h=l.slice(E+1),l=l.slice(0,E)),{type:l,name:h}})}function mr(a){return function(){var l=this.__on;if(l){for(var h=0,E=-1,I=l.length,D;h<I;++h)D=l[h],(!a.type||D.type===a.type)&&D.name===a.name?this.removeEventListener(D.type,D.listener,D.options):l[++E]=D;++E?l.length=E:delete this.__on}}}function Dr(a,l,h){return function(){var E=this.__on,I,D=pn(l);if(E){for(var L=0,V=E.length;L<V;++L)if((I=E[L]).type===a.type&&I.name===a.name){this.removeEventListener(I.type,I.listener,I.options),this.addEventListener(I.type,I.listener=D,I.options=h),I.value=l;return}}this.addEventListener(a.type,D,h),I={type:a.type,name:a.name,value:l,listener:D,options:h},E?E.push(I):this.__on=[I]}}function Ln(a,l,h){var E=_r(a+""),I,D=E.length,L;if(arguments.length<2){var V=this.node().__on;if(V){for(var z=0,_=V.length,tt;z<_;++z)for(I=0,tt=V[z];I<D;++I)if((L=E[I]).type===tt.type&&L.name===tt.name)return tt.value}return}for(V=l?Dr:mr,I=0;I<D;++I)this.each(V(E[I],l,h));return this}function mn(a,l,h){var E=kt(a),I=E.CustomEvent;typeof I=="function"?I=new I(l,h):(I=E.document.createEvent("Event"),h?(I.initEvent(l,h.bubbles,h.cancelable),I.detail=h.detail):I.initEvent(l,!1,!1)),a.dispatchEvent(I)}function K(a,l){return function(){return mn(this,a,l)}}function ft(a,l){return function(){return mn(this,a,l.apply(this,arguments))}}function J(a,l){return this.each((typeof l=="function"?ft:K)(a,l))}function*H(){for(var a=this._groups,l=0,h=a.length;l<h;++l)for(var E=a[l],I=0,D=E.length,L;I<D;++I)(L=E[I])&&(yield L)}var at=[null];function Lt(a,l){this._groups=a,this._parents=l}function Ct(){return new Lt([[document.documentElement]],at)}function ir(){return this}Lt.prototype=Ct.prototype={constructor:Lt,select:e,selectAll:v,selectChild:S,selectChildren:T,filter:R,data:w,enter:A,exit:B,join:b,merge:j,selection:ir,order:W,sort:Q,call:k,nodes:Z,node:ht,size:lt,empty:pt,each:Ot,attr:jt,style:Qt,property:q,classed:ut,text:Ft,html:yt,raise:bt,lower:nr,append:Ur,insert:Dn,remove:qr,clone:Kr,datum:br,on:Ln,dispatch:J,[Symbol.iterator]:H};var sr=Ct,dr={value:()=>{}};function Nr(){for(var a=0,l=arguments.length,h={},E;a<l;++a){if(!(E=arguments[a]+"")||E in h||/[\s.]/.test(E))throw new Error("illegal type: "+E);h[E]=[]}return new it(h)}function it(a){this._=a}function lr(a,l){return a.trim().split(/^|\s+/).map(function(h){var E="",I=h.indexOf(".");if(I>=0&&(E=h.slice(I+1),h=h.slice(0,I)),h&&!l.hasOwnProperty(h))throw new Error("unknown type: "+h);return{type:h,name:E}})}it.prototype=Nr.prototype={constructor:it,on:function(a,l){var h=this._,E=lr(a+"",h),I,D=-1,L=E.length;if(arguments.length<2){for(;++D<L;)if((I=(a=E[D]).type)&&(I=jr(h[I],a.name)))return I;return}if(l!=null&&typeof l!="function")throw new Error("invalid callback: "+l);for(;++D<L;)if(I=(a=E[D]).type)h[I]=ln(h[I],a.name,l);else if(l==null)for(I in h)h[I]=ln(h[I],a.name,null);return this},copy:function(){var a={},l=this._;for(var h in l)a[h]=l[h].slice();return new it(a)},call:function(a,l){if((I=arguments.length-2)>0)for(var h=new Array(I),E=0,I,D;E<I;++E)h[E]=arguments[E+2];if(!this._.hasOwnProperty(a))throw new Error("unknown type: "+a);for(D=this._[a],E=0,I=D.length;E<I;++E)D[E].value.apply(l,h)},apply:function(a,l,h){if(!this._.hasOwnProperty(a))throw new Error("unknown type: "+a);for(var E=this._[a],I=0,D=E.length;I<D;++I)E[I].value.apply(l,h)}};function jr(a,l){for(var h=0,E=a.length,I;h<E;++h)if((I=a[h]).name===l)return I.value}function ln(a,l,h){for(var E=0,I=a.length;E<I;++E)if(a[E].name===l){a[E]=dr,a=a.slice(0,E).concat(a.slice(E+1));break}return h!=null&&a.push({name:l,value:h}),a}var $n=Nr,Yr=0,Xr=0,xn=0,Pe=1e3,Un,Sn,Bn=0,on=0,bn=0,En=typeof performance=="object"&&performance.now?performance:Date,Ce=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(a){setTimeout(a,17)};function oe(){return on||(Ce(Sa),on=En.now()+bn)}function Sa(){on=0}function jn(){this._call=this._time=this._next=null}jn.prototype=Ne.prototype={constructor:jn,restart:function(a,l,h){if(typeof a!="function")throw new TypeError("callback is not a function");h=(h==null?oe():+h)+(l==null?0:+l),!this._next&&Sn!==this&&(Sn?Sn._next=this:Un=this,Sn=this),this._call=a,this._time=h,se()},stop:function(){this._call&&(this._call=null,this._time=1/0,se())}};function Ne(a,l,h){var E=new jn;return E.restart(a,l,h),E}function Ea(){oe(),++Yr;for(var a=Un,l;a;)(l=on-a._time)>=0&&a._call.call(void 0,l),a=a._next;--Yr}function Me(){on=(Bn=En.now())+bn,Yr=Xr=0;try{Ea()}finally{Yr=0,Oa(),on=0}}function Ia(){var a=En.now(),l=a-Bn;l>Pe&&(bn-=l,Bn=a)}function Oa(){for(var a,l=Un,h,E=1/0;l;)l._call?(E>l._time&&(E=l._time),a=l,l=l._next):(h=l._next,l._next=null,l=a?a._next=h:Un=h);Sn=a,se(E)}function se(a){if(!Yr){Xr&&(Xr=clearTimeout(Xr));var l=a-on;l>24?(a<1/0&&(Xr=setTimeout(Me,a-En.now()-bn)),xn&&(xn=clearInterval(xn))):(xn||(Bn=En.now(),xn=setInterval(Ia,Pe)),Yr=1,Ce(Me))}}function De(a,l,h){var E=new jn;return l=l==null?0:+l,E.restart(I=>{E.stop(),a(I+l)},l,h),E}var Ta=$n("start","end","cancel","interrupt"),Ra=[],Fe=0,Le=1,ie=2,wn=3,$e=4,ue=5,Gn=6;function Vn(a,l,h,E,I,D){var L=a.__transition;if(!L)a.__transition={};else if(h in L)return;Aa(a,h,{name:l,index:E,group:I,on:Ta,tween:Ra,time:D.time,delay:D.delay,duration:D.duration,ease:D.ease,timer:null,state:Fe})}function fe(a,l){var h=wr(a,l);if(h.state>Fe)throw new Error("too late; already scheduled");return h}function Hr(a,l){var h=wr(a,l);if(h.state>wn)throw new Error("too late; already running");return h}function wr(a,l){var h=a.__transition;if(!h||!(h=h[l]))throw new Error("transition not found");return h}function Aa(a,l,h){var E=a.__transition,I;E[l]=h,h.timer=Ne(D,0,h.time);function D(_){h.state=Le,h.timer.restart(L,h.delay,h.time),h.delay<=_&&L(_-h.delay)}function L(_){var tt,Rt,Mt,Wt;if(h.state!==Le)return z();for(tt in E)if(Wt=E[tt],Wt.name===h.name){if(Wt.state===wn)return De(L);Wt.state===$e?(Wt.state=Gn,Wt.timer.stop(),Wt.on.call("interrupt",a,a.__data__,Wt.index,Wt.group),delete E[tt]):+tt<l&&(Wt.state=Gn,Wt.timer.stop(),Wt.on.call("cancel",a,a.__data__,Wt.index,Wt.group),delete E[tt])}if(De(function(){h.state===wn&&(h.state=$e,h.timer.restart(V,h.delay,h.time),V(_))}),h.state=ie,h.on.call("start",a,a.__data__,h.index,h.group),h.state===ie){for(h.state=wn,I=new Array(Mt=h.tween.length),tt=0,Rt=-1;tt<Mt;++tt)(Wt=h.tween[tt].value.call(a,a.__data__,h.index,h.group))&&(I[++Rt]=Wt);I.length=Rt+1}}function V(_){for(var tt=_<h.duration?h.ease.call(null,_/h.duration):(h.timer.restart(z),h.state=ue,1),Rt=-1,Mt=I.length;++Rt<Mt;)I[Rt].call(a,tt);h.state===ue&&(h.on.call("end",a,a.__data__,h.index,h.group),z())}function z(){h.state=Gn,h.timer.stop(),delete E[l];for(var _ in E)return;delete a.__transition}}function Pa(a,l){var h=a.__transition,E,I,D=!0,L;if(h){l=l==null?null:l+"";for(L in h){if((E=h[L]).name!==l){D=!1;continue}I=E.state>ie&&E.state<ue,E.state=Gn,E.timer.stop(),E.on.call(I?"interrupt":"cancel",a,a.__data__,E.index,E.group),delete h[L]}D&&delete a.__transition}}function Ca(a){return this.each(function(){Pa(this,a)})}function tn(a,l){return a=+a,l=+l,function(h){return a*(1-h)+l*h}}var Ue=180/Math.PI,le={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Be(a,l,h,E,I,D){var L,V,z;return(L=Math.sqrt(a*a+l*l))&&(a/=L,l/=L),(z=a*h+l*E)&&(h-=a*z,E-=l*z),(V=Math.sqrt(h*h+E*E))&&(h/=V,E/=V,z/=V),a*E<l*h&&(a=-a,l=-l,z=-z,L=-L),{translateX:I,translateY:D,rotate:Math.atan2(l,a)*Ue,skewX:Math.atan(z)*Ue,scaleX:L,scaleY:V}}var Hn;function Na(a){const l=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(a+"");return l.isIdentity?le:Be(l.a,l.b,l.c,l.d,l.e,l.f)}function Ma(a){return a==null||(Hn||(Hn=document.createElementNS("http://www.w3.org/2000/svg","g")),Hn.setAttribute("transform",a),!(a=Hn.transform.baseVal.consolidate()))?le:(a=a.matrix,Be(a.a,a.b,a.c,a.d,a.e,a.f))}function be(a,l,h,E){function I(_){return _.length?_.pop()+" ":""}function D(_,tt,Rt,Mt,Wt,fr){if(_!==Rt||tt!==Mt){var xr=Wt.push("translate(",null,l,null,h);fr.push({i:xr-4,x:tn(_,Rt)},{i:xr-2,x:tn(tt,Mt)})}else(Rt||Mt)&&Wt.push("translate("+Rt+l+Mt+h)}function L(_,tt,Rt,Mt){_!==tt?(_-tt>180?tt+=360:tt-_>180&&(_+=360),Mt.push({i:Rt.push(I(Rt)+"rotate(",null,E)-2,x:tn(_,tt)})):tt&&Rt.push(I(Rt)+"rotate("+tt+E)}function V(_,tt,Rt,Mt){_!==tt?Mt.push({i:Rt.push(I(Rt)+"skewX(",null,E)-2,x:tn(_,tt)}):tt&&Rt.push(I(Rt)+"skewX("+tt+E)}function z(_,tt,Rt,Mt,Wt,fr){if(_!==Rt||tt!==Mt){var xr=Wt.push(I(Wt)+"scale(",null,",",null,")");fr.push({i:xr-4,x:tn(_,Rt)},{i:xr-2,x:tn(tt,Mt)})}else(Rt!==1||Mt!==1)&&Wt.push(I(Wt)+"scale("+Rt+","+Mt+")")}return function(_,tt){var Rt=[],Mt=[];return _=a(_),tt=a(tt),D(_.translateX,_.translateY,tt.translateX,tt.translateY,Rt,Mt),L(_.rotate,tt.rotate,Rt,Mt),V(_.skewX,tt.skewX,Rt,Mt),z(_.scaleX,_.scaleY,tt.scaleX,tt.scaleY,Rt,Mt),_=tt=null,function(Wt){for(var fr=-1,xr=Mt.length,Et;++fr<xr;)Rt[(Et=Mt[fr]).i]=Et.x(Wt);return Rt.join("")}}}var Da=be(Na,"px, ","px)","deg)"),Fa=be(Ma,", ",")",")");function La(a,l){var h,E;return function(){var I=Hr(this,a),D=I.tween;if(D!==h){E=h=D;for(var L=0,V=E.length;L<V;++L)if(E[L].name===l){E=E.slice(),E.splice(L,1);break}}I.tween=E}}function $a(a,l,h){var E,I;if(typeof h!="function")throw new Error;return function(){var D=Hr(this,a),L=D.tween;if(L!==E){I=(E=L).slice();for(var V={name:l,value:h},z=0,_=I.length;z<_;++z)if(I[z].name===l){I[z]=V;break}z===_&&I.push(V)}D.tween=I}}function Ua(a,l){var h=this._id;if(a+="",arguments.length<2){for(var E=wr(this.node(),h).tween,I=0,D=E.length,L;I<D;++I)if((L=E[I]).name===a)return L.value;return null}return this.each((l==null?La:$a)(h,a,l))}function ve(a,l,h){var E=a._id;return a.each(function(){var I=Hr(this,E);(I.value||(I.value={}))[l]=h.apply(this,arguments)}),function(I){return wr(I,E).value[l]}}function ce(a,l,h){a.prototype=l.prototype=h,h.constructor=a}function je(a,l){var h=Object.create(a.prototype);for(var E in l)h[E]=l[E];return h}function In(){}var On=.7,Wn=1/On,vn="\\s*([+-]?\\d+)\\s*",Tn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Wr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Ba=/^#([0-9a-f]{3,8})$/,ba=new RegExp(`^rgb\\(${vn},${vn},${vn}\\)$`),ja=new RegExp(`^rgb\\(${Wr},${Wr},${Wr}\\)$`),wa=new RegExp(`^rgba\\(${vn},${vn},${vn},${Tn}\\)$`),Ga=new RegExp(`^rgba\\(${Wr},${Wr},${Wr},${Tn}\\)$`),Va=new RegExp(`^hsl\\(${Tn},${Wr},${Wr}\\)$`),Ha=new RegExp(`^hsla\\(${Tn},${Wr},${Wr},${Tn}\\)$`),we={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ce(In,Rn,{copy(a){return Object.assign(new this.constructor,this,a)},displayable(){return this.rgb().displayable()},hex:Ge,formatHex:Ge,formatHex8:Wa,formatHsl:za,formatRgb:Ve,toString:Ve});function Ge(){return this.rgb().formatHex()}function Wa(){return this.rgb().formatHex8()}function za(){return Ye(this).formatHsl()}function Ve(){return this.rgb().formatRgb()}function Rn(a){var l,h;return a=(a+"").trim().toLowerCase(),(l=Ba.exec(a))?(h=l[1].length,l=parseInt(l[1],16),h===6?He(l):h===3?new Fr(l>>8&15|l>>4&240,l>>4&15|l&240,(l&15)<<4|l&15,1):h===8?zn(l>>24&255,l>>16&255,l>>8&255,(l&255)/255):h===4?zn(l>>12&15|l>>8&240,l>>8&15|l>>4&240,l>>4&15|l&240,((l&15)<<4|l&15)/255):null):(l=ba.exec(a))?new Fr(l[1],l[2],l[3],1):(l=ja.exec(a))?new Fr(l[1]*255/100,l[2]*255/100,l[3]*255/100,1):(l=wa.exec(a))?zn(l[1],l[2],l[3],l[4]):(l=Ga.exec(a))?zn(l[1]*255/100,l[2]*255/100,l[3]*255/100,l[4]):(l=Va.exec(a))?Ke(l[1],l[2]/100,l[3]/100,1):(l=Ha.exec(a))?Ke(l[1],l[2]/100,l[3]/100,l[4]):we.hasOwnProperty(a)?He(we[a]):a==="transparent"?new Fr(NaN,NaN,NaN,0):null}function He(a){return new Fr(a>>16&255,a>>8&255,a&255,1)}function zn(a,l,h,E){return E<=0&&(a=l=h=NaN),new Fr(a,l,h,E)}function Ka(a){return a instanceof In||(a=Rn(a)),a?(a=a.rgb(),new Fr(a.r,a.g,a.b,a.opacity)):new Fr}function Kn(a,l,h,E){return arguments.length===1?Ka(a):new Fr(a,l,h,E==null?1:E)}function Fr(a,l,h,E){this.r=+a,this.g=+l,this.b=+h,this.opacity=+E}ce(Fr,Kn,je(In,{brighter(a){return a=a==null?Wn:Math.pow(Wn,a),new Fr(this.r*a,this.g*a,this.b*a,this.opacity)},darker(a){return a=a==null?On:Math.pow(On,a),new Fr(this.r*a,this.g*a,this.b*a,this.opacity)},rgb(){return this},clamp(){return new Fr(sn(this.r),sn(this.g),sn(this.b),Yn(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:We,formatHex:We,formatHex8:Ya,formatRgb:ze,toString:ze}));function We(){return`#${un(this.r)}${un(this.g)}${un(this.b)}`}function Ya(){return`#${un(this.r)}${un(this.g)}${un(this.b)}${un((isNaN(this.opacity)?1:this.opacity)*255)}`}function ze(){const a=Yn(this.opacity);return`${a===1?"rgb(":"rgba("}${sn(this.r)}, ${sn(this.g)}, ${sn(this.b)}${a===1?")":`, ${a})`}`}function Yn(a){return isNaN(a)?1:Math.max(0,Math.min(1,a))}function sn(a){return Math.max(0,Math.min(255,Math.round(a)||0))}function un(a){return a=sn(a),(a<16?"0":"")+a.toString(16)}function Ke(a,l,h,E){return E<=0?a=l=h=NaN:h<=0||h>=1?a=l=NaN:l<=0&&(a=NaN),new Gr(a,l,h,E)}function Ye(a){if(a instanceof Gr)return new Gr(a.h,a.s,a.l,a.opacity);if(a instanceof In||(a=Rn(a)),!a)return new Gr;if(a instanceof Gr)return a;a=a.rgb();var l=a.r/255,h=a.g/255,E=a.b/255,I=Math.min(l,h,E),D=Math.max(l,h,E),L=NaN,V=D-I,z=(D+I)/2;return V?(l===D?L=(h-E)/V+(h<E)*6:h===D?L=(E-l)/V+2:L=(l-h)/V+4,V/=z<.5?D+I:2-D-I,L*=60):V=z>0&&z<1?0:L,new Gr(L,V,z,a.opacity)}function Xa(a,l,h,E){return arguments.length===1?Ye(a):new Gr(a,l,h,E==null?1:E)}function Gr(a,l,h,E){this.h=+a,this.s=+l,this.l=+h,this.opacity=+E}ce(Gr,Xa,je(In,{brighter(a){return a=a==null?Wn:Math.pow(Wn,a),new Gr(this.h,this.s,this.l*a,this.opacity)},darker(a){return a=a==null?On:Math.pow(On,a),new Gr(this.h,this.s,this.l*a,this.opacity)},rgb(){var a=this.h%360+(this.h<0)*360,l=isNaN(a)||isNaN(this.s)?0:this.s,h=this.l,E=h+(h<.5?h:1-h)*l,I=2*h-E;return new Fr(de(a>=240?a-240:a+120,I,E),de(a,I,E),de(a<120?a+240:a-120,I,E),this.opacity)},clamp(){return new Gr(Xe(this.h),Xn(this.s),Xn(this.l),Yn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const a=Yn(this.opacity);return`${a===1?"hsl(":"hsla("}${Xe(this.h)}, ${Xn(this.s)*100}%, ${Xn(this.l)*100}%${a===1?")":`, ${a})`}`}}));function Xe(a){return a=(a||0)%360,a<0?a+360:a}function Xn(a){return Math.max(0,Math.min(1,a||0))}function de(a,l,h){return(a<60?l+(h-l)*a/60:a<180?h:a<240?l+(h-l)*(240-a)/60:l)*255}function Je(a,l,h,E,I){var D=a*a,L=D*a;return((1-3*a+3*D-L)*l+(4-6*D+3*L)*h+(1+3*a+3*D-3*L)*E+L*I)/6}function Ja(a){var l=a.length-1;return function(h){var E=h<=0?h=0:h>=1?(h=1,l-1):Math.floor(h*l),I=a[E],D=a[E+1],L=E>0?a[E-1]:2*I-D,V=E<l-1?a[E+2]:2*D-I;return Je((h-E/l)*l,L,I,D,V)}}function Qa(a){var l=a.length;return function(h){var E=Math.floor(((h%=1)<0?++h:h)*l),I=a[(E+l-1)%l],D=a[E%l],L=a[(E+1)%l],V=a[(E+2)%l];return Je((h-E/l)*l,I,D,L,V)}}var Qe=a=>()=>a;function Ze(a,l){return function(h){return a+h*l}}function Za(a,l,h){return a=Math.pow(a,h),l=Math.pow(l,h)-a,h=1/h,function(E){return Math.pow(a+E*l,h)}}function Gs(a,l){var h=l-a;return h?Ze(a,h>180||h<-180?h-360*Math.round(h/360):h):constant(isNaN(a)?l:a)}function ka(a){return(a=+a)==1?ke:function(l,h){return h-l?Za(l,h,a):Qe(isNaN(l)?h:l)}}function ke(a,l){var h=l-a;return h?Ze(a,h):Qe(isNaN(a)?l:a)}var qe=function a(l){var h=ka(l);function E(I,D){var L=h((I=Kn(I)).r,(D=Kn(D)).r),V=h(I.g,D.g),z=h(I.b,D.b),_=ke(I.opacity,D.opacity);return function(tt){return I.r=L(tt),I.g=V(tt),I.b=z(tt),I.opacity=_(tt),I+""}}return E.gamma=a,E}(1);function _e(a){return function(l){var h=l.length,E=new Array(h),I=new Array(h),D=new Array(h),L,V;for(L=0;L<h;++L)V=Kn(l[L]),E[L]=V.r||0,I[L]=V.g||0,D[L]=V.b||0;return E=a(E),I=a(I),D=a(D),V.opacity=1,function(z){return V.r=E(z),V.g=I(z),V.b=D(z),V+""}}}var Vs=_e(Ja),Hs=_e(Qa),he=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ge=new RegExp(he.source,"g");function qa(a){return function(){return a}}function _a(a){return function(l){return a(l)+""}}function to(a,l){var h=he.lastIndex=ge.lastIndex=0,E,I,D,L=-1,V=[],z=[];for(a=a+"",l=l+"";(E=he.exec(a))&&(I=ge.exec(l));)(D=I.index)>h&&(D=l.slice(h,D),V[L]?V[L]+=D:V[++L]=D),(E=E[0])===(I=I[0])?V[L]?V[L]+=I:V[++L]=I:(V[++L]=null,z.push({i:L,x:tn(E,I)})),h=ge.lastIndex;return h<l.length&&(D=l.slice(h),V[L]?V[L]+=D:V[++L]=D),V.length<2?z[0]?_a(z[0].x):qa(l):(l=z.length,function(_){for(var tt=0,Rt;tt<l;++tt)V[(Rt=z[tt]).i]=Rt.x(_);return V.join("")})}function ta(a,l){var h;return(typeof l=="number"?tn:l instanceof Rn?qe:(h=Rn(l))?(l=h,qe):to)(a,l)}function ro(a){return function(){this.removeAttribute(a)}}function no(a){return function(){this.removeAttributeNS(a.space,a.local)}}function eo(a,l,h){var E,I=h+"",D;return function(){var L=this.getAttribute(a);return L===I?null:L===E?D:D=l(E=L,h)}}function ao(a,l,h){var E,I=h+"",D;return function(){var L=this.getAttributeNS(a.space,a.local);return L===I?null:L===E?D:D=l(E=L,h)}}function oo(a,l,h){var E,I,D;return function(){var L,V=h(this),z;return V==null?void this.removeAttribute(a):(L=this.getAttribute(a),z=V+"",L===z?null:L===E&&z===I?D:(I=z,D=l(E=L,V)))}}function so(a,l,h){var E,I,D;return function(){var L,V=h(this),z;return V==null?void this.removeAttributeNS(a.space,a.local):(L=this.getAttributeNS(a.space,a.local),z=V+"",L===z?null:L===E&&z===I?D:(I=z,D=l(E=L,V)))}}function io(a,l){var h=Vt(a),E=h==="transform"?Fa:ta;return this.attrTween(a,typeof l=="function"?(h.local?so:oo)(h,E,ve(this,"attr."+a,l)):l==null?(h.local?no:ro)(h):(h.local?ao:eo)(h,E,l))}function uo(a,l){return function(h){this.setAttribute(a,l.call(this,h))}}function fo(a,l){return function(h){this.setAttributeNS(a.space,a.local,l.call(this,h))}}function lo(a,l){var h,E;function I(){var D=l.apply(this,arguments);return D!==E&&(h=(E=D)&&fo(a,D)),h}return I._value=l,I}function vo(a,l){var h,E;function I(){var D=l.apply(this,arguments);return D!==E&&(h=(E=D)&&uo(a,D)),h}return I._value=l,I}function co(a,l){var h="attr."+a;if(arguments.length<2)return(h=this.tween(h))&&h._value;if(l==null)return this.tween(h,null);if(typeof l!="function")throw new Error;var E=Vt(a);return this.tween(h,(E.local?lo:vo)(E,l))}function ho(a,l){return function(){fe(this,a).delay=+l.apply(this,arguments)}}function go(a,l){return l=+l,function(){fe(this,a).delay=l}}function yo(a){var l=this._id;return arguments.length?this.each((typeof a=="function"?ho:go)(l,a)):wr(this.node(),l).delay}function po(a,l){return function(){Hr(this,a).duration=+l.apply(this,arguments)}}function mo(a,l){return l=+l,function(){Hr(this,a).duration=l}}function xo(a){var l=this._id;return arguments.length?this.each((typeof a=="function"?po:mo)(l,a)):wr(this.node(),l).duration}function So(a,l){if(typeof l!="function")throw new Error;return function(){Hr(this,a).ease=l}}function Eo(a){var l=this._id;return arguments.length?this.each(So(l,a)):wr(this.node(),l).ease}function Io(a,l){return function(){var h=l.apply(this,arguments);if(typeof h!="function")throw new Error;Hr(this,a).ease=h}}function Oo(a){if(typeof a!="function")throw new Error;return this.each(Io(this._id,a))}function To(a){typeof a!="function"&&(a=c(a));for(var l=this._groups,h=l.length,E=new Array(h),I=0;I<h;++I)for(var D=l[I],L=D.length,V=E[I]=[],z,_=0;_<L;++_)(z=D[_])&&a.call(z,z.__data__,_,D)&&V.push(z);return new Jr(E,this._parents,this._name,this._id)}function Ro(a){if(a._id!==this._id)throw new Error;for(var l=this._groups,h=a._groups,E=l.length,I=h.length,D=Math.min(E,I),L=new Array(E),V=0;V<D;++V)for(var z=l[V],_=h[V],tt=z.length,Rt=L[V]=new Array(tt),Mt,Wt=0;Wt<tt;++Wt)(Mt=z[Wt]||_[Wt])&&(Rt[Wt]=Mt);for(;V<E;++V)L[V]=l[V];return new Jr(L,this._parents,this._name,this._id)}function Ao(a){return(a+"").trim().split(/^|\s+/).every(function(l){var h=l.indexOf(".");return h>=0&&(l=l.slice(0,h)),!l||l==="start"})}function Po(a,l,h){var E,I,D=Ao(l)?fe:Hr;return function(){var L=D(this,a),V=L.on;V!==E&&(I=(E=V).copy()).on(l,h),L.on=I}}function Co(a,l){var h=this._id;return arguments.length<2?wr(this.node(),h).on.on(a):this.each(Po(h,a,l))}function No(a){return function(){var l=this.parentNode;for(var h in this.__transition)if(+h!==a)return;l&&l.removeChild(this)}}function Mo(){return this.on("end.remove",No(this._id))}function Do(a){var l=this._name,h=this._id;typeof a!="function"&&(a=n(a));for(var E=this._groups,I=E.length,D=new Array(I),L=0;L<I;++L)for(var V=E[L],z=V.length,_=D[L]=new Array(z),tt,Rt,Mt=0;Mt<z;++Mt)(tt=V[Mt])&&(Rt=a.call(tt,tt.__data__,Mt,V))&&("__data__"in tt&&(Rt.__data__=tt.__data__),_[Mt]=Rt,Vn(_[Mt],l,h,Mt,_,wr(tt,h)));return new Jr(D,this._parents,l,h)}function Fo(a){var l=this._name,h=this._id;typeof a!="function"&&(a=u(a));for(var E=this._groups,I=E.length,D=[],L=[],V=0;V<I;++V)for(var z=E[V],_=z.length,tt,Rt=0;Rt<_;++Rt)if(tt=z[Rt]){for(var Mt=a.call(tt,tt.__data__,Rt,z),Wt,fr=wr(tt,h),xr=0,Et=Mt.length;xr<Et;++xr)(Wt=Mt[xr])&&Vn(Wt,l,h,xr,Mt,fr);D.push(Mt),L.push(tt)}return new Jr(D,L,l,h)}var Lo=sr.prototype.constructor;function $o(){return new Lo(this._groups,this._parents)}function Uo(a,l){var h,E,I;return function(){var D=zt(this,a),L=(this.style.removeProperty(a),zt(this,a));return D===L?null:D===h&&L===E?I:I=l(h=D,E=L)}}function ra(a){return function(){this.style.removeProperty(a)}}function Bo(a,l,h){var E,I=h+"",D;return function(){var L=zt(this,a);return L===I?null:L===E?D:D=l(E=L,h)}}function bo(a,l,h){var E,I,D;return function(){var L=zt(this,a),V=h(this),z=V+"";return V==null&&(z=V=(this.style.removeProperty(a),zt(this,a))),L===z?null:L===E&&z===I?D:(I=z,D=l(E=L,V))}}function jo(a,l){var h,E,I,D="style."+l,L="end."+D,V;return function(){var z=Hr(this,a),_=z.on,tt=z.value[D]==null?V||(V=ra(l)):void 0;(_!==h||I!==tt)&&(E=(h=_).copy()).on(L,I=tt),z.on=E}}function wo(a,l,h){var E=(a+="")=="transform"?Da:ta;return l==null?this.styleTween(a,Uo(a,E)).on("end.style."+a,ra(a)):typeof l=="function"?this.styleTween(a,bo(a,E,ve(this,"style."+a,l))).each(jo(this._id,a)):this.styleTween(a,Bo(a,E,l),h).on("end.style."+a,null)}function Go(a,l,h){return function(E){this.style.setProperty(a,l.call(this,E),h)}}function Vo(a,l,h){var E,I;function D(){var L=l.apply(this,arguments);return L!==I&&(E=(I=L)&&Go(a,L,h)),E}return D._value=l,D}function Ho(a,l,h){var E="style."+(a+="");if(arguments.length<2)return(E=this.tween(E))&&E._value;if(l==null)return this.tween(E,null);if(typeof l!="function")throw new Error;return this.tween(E,Vo(a,l,h==null?"":h))}function Wo(a){return function(){this.textContent=a}}function zo(a){return function(){var l=a(this);this.textContent=l==null?"":l}}function Ko(a){return this.tween("text",typeof a=="function"?zo(ve(this,"text",a)):Wo(a==null?"":a+""))}function Yo(a){return function(l){this.textContent=a.call(this,l)}}function Xo(a){var l,h;function E(){var I=a.apply(this,arguments);return I!==h&&(l=(h=I)&&Yo(I)),l}return E._value=a,E}function Jo(a){var l="text";if(arguments.length<1)return(l=this.tween(l))&&l._value;if(a==null)return this.tween(l,null);if(typeof a!="function")throw new Error;return this.tween(l,Xo(a))}function Qo(){for(var a=this._name,l=this._id,h=na(),E=this._groups,I=E.length,D=0;D<I;++D)for(var L=E[D],V=L.length,z,_=0;_<V;++_)if(z=L[_]){var tt=wr(z,l);Vn(z,a,h,_,L,{time:tt.time+tt.delay+tt.duration,delay:0,duration:tt.duration,ease:tt.ease})}return new Jr(E,this._parents,a,h)}function Zo(){var a,l,h=this,E=h._id,I=h.size();return new Promise(function(D,L){var V={value:L},z={value:function(){--I===0&&D()}};h.each(function(){var _=Hr(this,E),tt=_.on;tt!==a&&(l=(a=tt).copy(),l._.cancel.push(V),l._.interrupt.push(V),l._.end.push(z)),_.on=l}),I===0&&D()})}var ko=0;function Jr(a,l,h,E){this._groups=a,this._parents=l,this._name=h,this._id=E}function qo(a){return sr().transition(a)}function na(){return++ko}var Qr=sr.prototype;Jr.prototype=qo.prototype={constructor:Jr,select:Do,selectAll:Fo,selectChild:Qr.selectChild,selectChildren:Qr.selectChildren,filter:To,merge:Ro,selection:$o,transition:Qo,call:Qr.call,nodes:Qr.nodes,node:Qr.node,size:Qr.size,empty:Qr.empty,each:Qr.each,on:Co,attr:io,attrTween:co,style:wo,styleTween:Ho,text:Ko,textTween:Jo,remove:Mo,tween:Ua,delay:yo,duration:xo,ease:Eo,easeVarying:Oo,end:Zo,[Symbol.iterator]:Qr[Symbol.iterator]};function Ws(a){return a*a*a}function zs(a){return--a*a*a+1}function _o(a){return((a*=2)<=1?a*a*a:(a-=2)*a*a+2)/2}var ts={time:null,delay:0,duration:250,ease:_o};function rs(a,l){for(var h;!(h=a.__transition)||!(h=h[l]);)if(!(a=a.parentNode))throw new Error(`transition ${l} not found`);return h}function ns(a){var l,h;a instanceof Jr?(l=a._id,a=a._name):(l=na(),(h=ts).time=oe(),a=a==null?null:a+"");for(var E=this._groups,I=E.length,D=0;D<I;++D)for(var L=E[D],V=L.length,z,_=0;_<V;++_)(z=L[_])&&Vn(z,a,l,_,L,h||rs(z,l));return new Jr(E,this._parents,a,l)}sr.prototype.interrupt=Ca,sr.prototype.transition=ns;var ea={name:"drag"},ye={name:"space"},cn={name:"handle"},dn={name:"center"};const{abs:aa,max:Pr,min:Cr}=Math;function oa(a){return[+a[0],+a[1]]}function pe(a){return[oa(a[0]),oa(a[1])]}var Jn={name:"x",handles:["w","e"].map(An),input:function(a,l){return a==null?null:[[+a[0],l[0][1]],[+a[1],l[1][1]]]},output:function(a){return a&&[a[0][0],a[1][0]]}},Qn={name:"y",handles:["n","s"].map(An),input:function(a,l){return a==null?null:[[l[0][0],+a[0]],[l[1][0],+a[1]]]},output:function(a){return a&&[a[0][1],a[1][1]]}},es={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(An),input:function(a){return a==null?null:pe(a)},output:function(a){return a}},Zr={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},sa={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},ia={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},as={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},os={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function An(a){return{type:a}}function ss(a){return!a.ctrlKey&&!a.button}function is(){var a=this.ownerSVGElement||this;return a.hasAttribute("viewBox")?(a=a.viewBox.baseVal,[[a.x,a.y],[a.x+a.width,a.y+a.height]]):[[0,0],[a.width.baseVal.value,a.height.baseVal.value]]}function us(){return navigator.maxTouchPoints||"ontouchstart"in this}function me(a){for(;!a.__brush;)if(!(a=a.parentNode))return;return a.__brush}function fs(a){return a[0][0]===a[1][0]||a[0][1]===a[1][1]}function Ks(a){var l=a.__brush;return l?l.dim.output(l.selection):null}function Ys(){return xe(Jn)}function Xs(){return xe(Qn)}function Js(){return xe(es)}function xe(a){var l=is,h=ss,E=us,I=!0,D=dispatch("start","brush","end"),L=6,V;function z(Et){var Ht=Et.property("__brush",xr).selectAll(".overlay").data([An("overlay")]);Ht.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",Zr.overlay).merge(Ht).each(function(){var Gt=me(this).extent;select(this).attr("x",Gt[0][0]).attr("y",Gt[0][1]).attr("width",Gt[1][0]-Gt[0][0]).attr("height",Gt[1][1]-Gt[0][1])}),Et.selectAll(".selection").data([An("selection")]).enter().append("rect").attr("class","selection").attr("cursor",Zr.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var Yt=Et.selectAll(".handle").data(a.handles,function(Gt){return Gt.type});Yt.exit().remove(),Yt.enter().append("rect").attr("class",function(Gt){return"handle handle--"+Gt.type}).attr("cursor",function(Gt){return Zr[Gt.type]}),Et.each(_).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",Mt).filter(E).on("touchstart.brush",Mt).on("touchmove.brush",Wt).on("touchend.brush touchcancel.brush",fr).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}z.move=function(Et,Ht,Yt){Et.tween?Et.on("start.brush",function(Gt){tt(this,arguments).beforestart().start(Gt)}).on("interrupt.brush end.brush",function(Gt){tt(this,arguments).end(Gt)}).tween("brush",function(){var Gt=this,tr=Gt.__brush,rr=tt(Gt,arguments),Mr=tr.selection,zr=a.input(typeof Ht=="function"?Ht.apply(this,arguments):Ht,tr.extent),hr=interpolate(Mr,zr);function Vr(vr){tr.selection=vr===1&&zr===null?null:hr(vr),_.call(Gt),rr.brush()}return Mr!==null&&zr!==null?Vr:Vr(1)}):Et.each(function(){var Gt=this,tr=arguments,rr=Gt.__brush,Mr=a.input(typeof Ht=="function"?Ht.apply(Gt,tr):Ht,rr.extent),zr=tt(Gt,tr).beforestart();interrupt(Gt),rr.selection=Mr===null?null:Mr,_.call(Gt),zr.start(Yt).brush(Yt).end(Yt)})},z.clear=function(Et,Ht){z.move(Et,null,Ht)};function _(){var Et=select(this),Ht=me(this).selection;Ht?(Et.selectAll(".selection").style("display",null).attr("x",Ht[0][0]).attr("y",Ht[0][1]).attr("width",Ht[1][0]-Ht[0][0]).attr("height",Ht[1][1]-Ht[0][1]),Et.selectAll(".handle").style("display",null).attr("x",function(Yt){return Yt.type[Yt.type.length-1]==="e"?Ht[1][0]-L/2:Ht[0][0]-L/2}).attr("y",function(Yt){return Yt.type[0]==="s"?Ht[1][1]-L/2:Ht[0][1]-L/2}).attr("width",function(Yt){return Yt.type==="n"||Yt.type==="s"?Ht[1][0]-Ht[0][0]+L:L}).attr("height",function(Yt){return Yt.type==="e"||Yt.type==="w"?Ht[1][1]-Ht[0][1]+L:L})):Et.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function tt(Et,Ht,Yt){var Gt=Et.__brush.emitter;return Gt&&(!Yt||!Gt.clean)?Gt:new Rt(Et,Ht,Yt)}function Rt(Et,Ht,Yt){this.that=Et,this.args=Ht,this.state=Et.__brush,this.active=0,this.clean=Yt}Rt.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(Et,Ht){return this.starting?(this.starting=!1,this.emit("start",Et,Ht)):this.emit("brush",Et),this},brush:function(Et,Ht){return this.emit("brush",Et,Ht),this},end:function(Et,Ht){return--this.active===0&&(delete this.state.emitter,this.emit("end",Et,Ht)),this},emit:function(Et,Ht,Yt){var Gt=select(this.that).datum();D.call(Et,this.that,new BrushEvent(Et,{sourceEvent:Ht,target:z,selection:a.output(this.state.selection),mode:Yt,dispatch:D}),Gt)}};function Mt(Et){if(V&&!Et.touches||!h.apply(this,arguments))return;var Ht=this,Yt=Et.target.__data__.type,Gt=(I&&Et.metaKey?Yt="overlay":Yt)==="selection"?ea:I&&Et.altKey?dn:cn,tr=a===Qn?null:as[Yt],rr=a===Jn?null:os[Yt],Mr=me(Ht),zr=Mr.extent,hr=Mr.selection,Vr=zr[0][0],vr,Sr,rn=zr[0][1],Er,Ir,nn=zr[1][0],Or,Tr,en=zr[1][1],Rr,Ar,gr=0,yr=0,Re,re=tr&&rr&&I&&Et.shiftKey,ne,ee,Lr=Array.from(Et.touches||[Et],Jt=>{const pr=Jt.identifier;return Jt=pointer(Jt,Ht),Jt.point0=Jt.slice(),Jt.identifier=pr,Jt});interrupt(Ht);var Cn=tt(Ht,arguments,!0).beforestart();if(Yt==="overlay"){hr&&(Re=!0);const Jt=[Lr[0],Lr[1]||Lr[0]];Mr.selection=hr=[[vr=a===Qn?Vr:Cr(Jt[0][0],Jt[1][0]),Er=a===Jn?rn:Cr(Jt[0][1],Jt[1][1])],[Or=a===Qn?nn:Pr(Jt[0][0],Jt[1][0]),Rr=a===Jn?en:Pr(Jt[0][1],Jt[1][1])]],Lr.length>1&&fn(Et)}else vr=hr[0][0],Er=hr[0][1],Or=hr[1][0],Rr=hr[1][1];Sr=vr,Ir=Er,Tr=Or,Ar=Rr;var ya=select(Ht).attr("pointer-events","none"),Nn=ya.selectAll(".overlay").attr("cursor",Zr[Yt]);if(Et.touches)Cn.moved=ma,Cn.ended=xa;else{var pa=select(Et.view).on("mousemove.brush",ma,!0).on("mouseup.brush",xa,!0);I&&pa.on("keydown.brush",js,!0).on("keyup.brush",ws,!0),dragDisable(Et.view)}_.call(Ht),Cn.start(Et,Gt.name);function ma(Jt){for(const pr of Jt.changedTouches||[Jt])for(const Mn of Lr)Mn.identifier===pr.identifier&&(Mn.cur=pointer(pr,Ht));if(re&&!ne&&!ee&&Lr.length===1){const pr=Lr[0];aa(pr.cur[0]-pr[0])>aa(pr.cur[1]-pr[1])?ee=!0:ne=!0}for(const pr of Lr)pr.cur&&(pr[0]=pr.cur[0],pr[1]=pr.cur[1]);Re=!0,noevent(Jt),fn(Jt)}function fn(Jt){const pr=Lr[0],Mn=pr.point0;var an;switch(gr=pr[0]-Mn[0],yr=pr[1]-Mn[1],Gt){case ye:case ea:{tr&&(gr=Pr(Vr-vr,Cr(nn-Or,gr)),Sr=vr+gr,Tr=Or+gr),rr&&(yr=Pr(rn-Er,Cr(en-Rr,yr)),Ir=Er+yr,Ar=Rr+yr);break}case cn:{Lr[1]?(tr&&(Sr=Pr(Vr,Cr(nn,Lr[0][0])),Tr=Pr(Vr,Cr(nn,Lr[1][0])),tr=1),rr&&(Ir=Pr(rn,Cr(en,Lr[0][1])),Ar=Pr(rn,Cr(en,Lr[1][1])),rr=1)):(tr<0?(gr=Pr(Vr-vr,Cr(nn-vr,gr)),Sr=vr+gr,Tr=Or):tr>0&&(gr=Pr(Vr-Or,Cr(nn-Or,gr)),Sr=vr,Tr=Or+gr),rr<0?(yr=Pr(rn-Er,Cr(en-Er,yr)),Ir=Er+yr,Ar=Rr):rr>0&&(yr=Pr(rn-Rr,Cr(en-Rr,yr)),Ir=Er,Ar=Rr+yr));break}case dn:{tr&&(Sr=Pr(Vr,Cr(nn,vr-gr*tr)),Tr=Pr(Vr,Cr(nn,Or+gr*tr))),rr&&(Ir=Pr(rn,Cr(en,Er-yr*rr)),Ar=Pr(rn,Cr(en,Rr+yr*rr)));break}}Tr<Sr&&(tr*=-1,an=vr,vr=Or,Or=an,an=Sr,Sr=Tr,Tr=an,Yt in sa&&Nn.attr("cursor",Zr[Yt=sa[Yt]])),Ar<Ir&&(rr*=-1,an=Er,Er=Rr,Rr=an,an=Ir,Ir=Ar,Ar=an,Yt in ia&&Nn.attr("cursor",Zr[Yt=ia[Yt]])),Mr.selection&&(hr=Mr.selection),ne&&(Sr=hr[0][0],Tr=hr[1][0]),ee&&(Ir=hr[0][1],Ar=hr[1][1]),(hr[0][0]!==Sr||hr[0][1]!==Ir||hr[1][0]!==Tr||hr[1][1]!==Ar)&&(Mr.selection=[[Sr,Ir],[Tr,Ar]],_.call(Ht),Cn.brush(Jt,Gt.name))}function xa(Jt){if(nopropagation(Jt),Jt.touches){if(Jt.touches.length)return;V&&clearTimeout(V),V=setTimeout(function(){V=null},500)}else dragEnable(Jt.view,Re),pa.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);ya.attr("pointer-events","all"),Nn.attr("cursor",Zr.overlay),Mr.selection&&(hr=Mr.selection),fs(hr)&&(Mr.selection=null,_.call(Ht)),Cn.end(Jt,Gt.name)}function js(Jt){switch(Jt.keyCode){case 16:{re=tr&&rr;break}case 18:{Gt===cn&&(tr&&(Or=Tr-gr*tr,vr=Sr+gr*tr),rr&&(Rr=Ar-yr*rr,Er=Ir+yr*rr),Gt=dn,fn(Jt));break}case 32:{(Gt===cn||Gt===dn)&&(tr<0?Or=Tr-gr:tr>0&&(vr=Sr-gr),rr<0?Rr=Ar-yr:rr>0&&(Er=Ir-yr),Gt=ye,Nn.attr("cursor",Zr.selection),fn(Jt));break}default:return}noevent(Jt)}function ws(Jt){switch(Jt.keyCode){case 16:{re&&(ne=ee=re=!1,fn(Jt));break}case 18:{Gt===dn&&(tr<0?Or=Tr:tr>0&&(vr=Sr),rr<0?Rr=Ar:rr>0&&(Er=Ir),Gt=cn,fn(Jt));break}case 32:{Gt===ye&&(Jt.altKey?(tr&&(Or=Tr-gr*tr,vr=Sr+gr*tr),rr&&(Rr=Ar-yr*rr,Er=Ir+yr*rr),Gt=dn):(tr<0?Or=Tr:tr>0&&(vr=Sr),rr<0?Rr=Ar:rr>0&&(Er=Ir),Gt=cn),Nn.attr("cursor",Zr[Yt]),fn(Jt));break}default:return}noevent(Jt)}}function Wt(Et){tt(this,arguments).moved(Et)}function fr(Et){tt(this,arguments).ended(Et)}function xr(){var Et=this.__brush||{selection:null};return Et.extent=pe(l.apply(this,arguments)),Et.dim=a,Et}return z.extent=function(Et){return arguments.length?(l=typeof Et=="function"?Et:constant(pe(Et)),z):l},z.filter=function(Et){return arguments.length?(h=typeof Et=="function"?Et:constant(!!Et),z):h},z.touchable=function(Et){return arguments.length?(E=typeof Et=="function"?Et:constant(!!Et),z):E},z.handleSize=function(Et){return arguments.length?(L=+Et,z):L},z.keyModifiers=function(Et){return arguments.length?(I=!!Et,z):I},z.on=function(){var Et=D.on.apply(D,arguments);return Et===D?z:Et},z}function ls(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function vs(a){const l=typeof(a==null?void 0:a.requestAnimationFrame)=="function"&&typeof(a==null?void 0:a.cancelAnimationFrame)=="function",h=typeof(a==null?void 0:a.requestIdleCallback)=="function"&&typeof(a==null?void 0:a.cancelIdleCallback)=="function",E=D=>setTimeout(D,1),I=D=>clearTimeout(D);return[l?a.requestAnimationFrame:E,l?a.cancelAnimationFrame:I,h?a.requestIdleCallback:E,h?a.cancelIdleCallback:I]}const Zn=ls(),cs=Zn==null?void 0:Zn.document,[Qs,Zs,ks,qs]=vs(Zn);var ds=Object.defineProperty,ua=Object.getOwnPropertySymbols,hs=Object.prototype.hasOwnProperty,gs=Object.prototype.propertyIsEnumerable,fa=(a,l,h)=>l in a?ds(a,l,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[l]=h,la=(a,l)=>{for(var h in l||(l={}))hs.call(l,h)&&fa(a,h,l[h]);if(ua)for(var h of ua(l))gs.call(l,h)&&fa(a,h,l[h]);return a};const _s=a=>a||a===0,ys=a=>typeof a=="function",kn=a=>typeof a=="string",qn=a=>typeof a=="number",ps=a=>typeof a=="undefined",va=a=>typeof a!="undefined",ti=a=>typeof a=="boolean",ri=a=>Math.ceil(a/10)*10,ni=a=>Math.ceil(a)+.5,ei=a=>a[1]-a[0],Se=a=>typeof a=="object",ms=a=>ps(a)||a===null||kn(a)&&a.length===0||Se(a)&&!(a instanceof Date)&&Object.keys(a).length===0||qn(a)&&isNaN(a),xs=a=>!ms(a),Ee=a=>Array.isArray(a),_n=a=>a&&!(a!=null&&a.nodeType)&&Se(a)&&!Ee(a);function ai(a,l,h){return va(a[l])?a[l]:h}function oi(a,l){let h=!1;return Object.keys(a).forEach(E=>a[E]===l&&(h=!0)),h}function si(a,l,...h){const E=ys(a);return E&&a.call(l,...h),E}function ii(a,l){let h=0;const E=function(...I){!--h&&l.apply(this,...I)};"duration"in a?a.each(()=>++h).on("end",E):(++h,a.call(E))}function ui(a){return kn(a)?a.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):a}function fi(a,l,h=[-1,1],E=!1){if(!(!a||!kn(l)))if(l.indexOf(` +`)===-1)a.text(l);else{const I=[a.text(),l].map(D=>D.replace(/[\s\n]/g,""));if(I[0]!==I[1]){const D=l.split(` +`),L=E?D.length-1:1;a.html(""),D.forEach((V,z)=>{a.append("tspan").attr("x",0).attr("dy",`${z===0?h[0]*L:h[1]}em`).text(V)})}}}function Ss(a){const{x:l,y:h,width:E,height:I}=a.getBBox();return[{x:l,y:h+I},{x:l,y:h},{x:l+E,y:h},{x:l+E,y:h+I}]}function li(a){const{width:l,height:h}=a.getBoundingClientRect(),E=Ss(a),I=E[0].x,D=Math.min(E[0].y,E[1].y);return{x:I,y:D,width:l,height:h}}function vi(a,l){var h;const E=a&&((h=a.touches||a.sourceEvent&&a.sourceEvent.touches)==null?void 0:h[0]);let I=[0,0];try{I=d3Pointer(E||a,l)}catch(D){}return I.map(D=>isNaN(D)?0:D)}function Es(a){const{event:l,$el:h}=a,E=h.subchart.main||h.main;let I;return l&&l.type==="brush"?I=l.selection:E&&(I=E.select(".bb-brush").node())&&(I=d3BrushSelection(I)),I}function ci(a){return!("rect"in a)||"rect"in a&&a.hasAttribute("width")&&a.rect.width!==+a.getAttribute("width")?a.rect=a.getBoundingClientRect():a.rect}function di(a=!0,l=0,h=1e4){const E=window.crypto||window.msCrypto,I=E?l+E.getRandomValues(new Uint32Array(1))[0]%(h-l+1):Math.floor(Math.random()*(h-l)+l);return a?String(I):I}function ca(a,l,h,E,I){if(h>E)return-1;const D=Math.floor((h+E)/2);let{x:L,w:V=0}=a[D];return I&&(L=a[D].y,V=a[D].h),l>=L&&l<=L+V?D:l<L?ca(a,l,h,D-1,I):ca(a,l,D+1,E,I)}function hi(a){const l=Es(a);return l?l[0]===l[1]:!0}function gi(...a){const l=h=>{if(_n(h)&&h.constructor){const E=new h.constructor;for(const I in h)E[I]=l(h[I]);return E}return h};return a.map(h=>l(h)).reduce((h,E)=>la(la({},h),E))}function Is(a={},l){Ee(l)&&l.forEach(h=>Is(a,h));for(const h in l)/^\d+$/.test(h)||h in a||(a[h]=l[h]);return a}const yi=a=>a.charAt(0).toUpperCase()+a.slice(1);function pi(a,l="-"){return a.split(l).map((h,E)=>E?h.charAt(0).toUpperCase()+h.slice(1).toLowerCase():h.toLowerCase()).join("")}const Os=a=>[].slice.call(a);function mi(a,l,h){const{rootSelector:E="",sheet:I}=a,L=`${E} ${(V=>V.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(l)} {${h.join(";")}}`;return I[I.insertRule?"insertRule":"addRule"](L,I.cssRules.length)}function xi(a){let l=[];return a.forEach(h=>{var E;try{h.cssRules&&h.cssRules.length&&(l=l.concat(Os(h.cssRules)))}catch(I){(E=window.console)==null||E.warn(`Error while reading rules from ${h.href}: ${I.toString()}`)}}),l}function Si(a){var l,h,E,I,D,L;return{x:((h=(l=window.pageXOffset)!=null?l:window.scrollX)!=null?h:0)+((E=a.scrollLeft)!=null?E:0),y:((D=(I=window.pageYOffset)!=null?I:window.scrollY)!=null?D:0)+((L=a.scrollTop)!=null?L:0)}}function Ei(a,l=0,h=0,E=!0){const I=new DOMPoint(l,h),D=a.getScreenCTM(),L=I.matrixTransform(E?D==null?void 0:D.inverse():D);if(E===!1){const V=a.getBoundingClientRect();L.x-=V.x,L.y-=V.y}return L}function Ii(a){const l=a?a.transform:null,h=l&&l.baseVal;return h&&h.numberOfItems?h.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function Oi(a){const l=a[0]instanceof Date,h=(l?a.map(Number):a).filter((E,I,D)=>D.indexOf(E)===I);return l?h.map(E=>new Date(E)):h}function Ti(a){return a&&a.length?a.reduce((l,h)=>l.concat(h)):[]}function Ie(a,...l){if(!l.length||l.length===1&&!l[0])return a;const h=l.shift();return _n(a)&&_n(h)&&Object.keys(h).forEach(E=>{const I=h[E];_n(I)?(!a[E]&&(a[E]={}),a[E]=Ie(a[E],I)):a[E]=Ee(I)?I.concat():I}),Ie(a,...l)}function Ts(a,l=!0){let h;return a[0]instanceof Date?h=l?(E,I)=>E-I:(E,I)=>I-E:l&&!a.every(isNaN)?h=(E,I)=>E-I:l||(h=(E,I)=>E>I&&-1||E<I&&1||E===I&&0),a.concat().sort(h)}function Ri(a,l){let h=l.filter(E=>xs(E));return h.length?qn(h[0])?h=Math[a](...h):h[0]instanceof Date&&(h=Ts(h,a==="min")[0]):h=void 0,h}const Ai=(a,l,h=1)=>{const E=[],I=Math.max(0,Math.ceil((l-a)/h))|0;for(let D=a;D<I;D++)E.push(a+D*h);return E},Pi={mouse:(()=>{const a=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(l,h,E=a())=>{l.dispatchEvent(new MouseEvent(h,E))}}catch(l){return(h,E,I=a())=>{const D=cs.createEvent("MouseEvent");D.initMouseEvent(E,I.bubbles,I.cancelable,Zn,0,I.screenX,I.screenY,I.clientX,I.clientY,!1,!1,!1,!1,0,null),h.dispatchEvent(D)}}})(),touch:(a,l,h)=>{const E=new Touch(Ie({identifier:Date.now(),target:a,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},h));a.dispatchEvent(new TouchEvent(l,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[E],targetTouches:[],changedTouches:[E]}))}};function te(a,l){let h=a;for(const E in l)h=h.replace(new RegExp(`{=${E}}`,"g"),l[E]);return h}function Ci(a){var l;let h;if(a instanceof Date)h=a;else if(kn(a)){const{config:E,format:I}=this;h=(l=I.dataTime(E.data_xFormat)(a))!=null?l:new Date(a)}else qn(a)&&!isNaN(a)&&(h=new Date(+a));return(!h||isNaN(+h))&&console&&console.error&&console.error(`Failed to parse x '${a}' to Date object`),h}function Ni(a){const l=a.attr("viewBox");return l?/(\d+(\.\d+)?){3}/.test(l):!1}function Mi(a,l,h=!1){const E=!!a.node;let I=!1;for(const[D,L]of Object.entries(l))if(I=E?a.style(D)===L:a.style[D]===L,h===!1&&I)break;return I}function Di(){var a,l;return((a=document)==null?void 0:a.hidden)===!1||((l=document)==null?void 0:l.visibilityState)==="visible"}function Fi(a,l){const{DocumentTouch:h,matchMedia:E,navigator:I}=window,D=E==null?void 0:E("(pointer:coarse)").matches;let L=!1;if(l)if(I&&"maxTouchPoints"in I)L=I.maxTouchPoints>0;else if("ontouchmove"in window||h&&document instanceof h)L=!0;else if(D)L=!0;else{const z=I.userAgent;L=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(z)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(z)}return a&&!D&&(E==null?void 0:E("(pointer:fine)").matches)&&"mouse"||L&&"touch"||"mouse"}function Rs(a,l){l()===!1?requestAnimationFrame(()=>Rs(a,l)):a()}function As(a){const l=this.config;let h,E,I;const D=()=>{const L=E.shift();if(L&&h&&Se(h)&&L in h)return h=h[L],D();if(!L)return h};Object.keys(l).forEach(L=>{h=a,E=L.split("_"),I=D(),va(I)&&(l[L]=I)}),this.api&&(this.state.orgConfig=a)}var Ps=Object.defineProperty,Cs=(a,l,h)=>l in a?Ps(a,l,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[l]=h,Oe=(a,l,h)=>Cs(a,typeof l!="symbol"?l+"":l,h);class da{constructor(l={}){Oe(this,"$$"),Oe(this,"options"),this.options=l}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(l=>{this[l]=null,delete this[l]})}}Oe(da,"version","3.14.2");const hn={id:"__tableview-style__",class:"bb-tableview",rule:`.bb-tableview { + border-collapse:collapse; + border-spacing:0; + background:#fff; + min-width:100%; + margin-top:10px; + font-family:sans-serif; + font-size:.9em; + } + .bb-tableview tr:hover { + background:#eef7ff; + } + .bb-tableview thead tr { + background:#f8f8f8; + } + .bb-tableview caption,.bb-tableview td,.bb-tableview th { + text-align: center; + border:1px solid silver; + padding:.5em; + } + .bb-tableview caption { + font-size:1.1em; + font-weight:700; + margin-bottom: -1px; + }`},Pn={body:`<caption>{=title}</caption> + <thead><tr>{=thead}</tr></thead> + <tbody>{=tbody}</tbody>`,thead:'<th scope="col">{=title}</th>',tbodyHeader:'<th scope="row">{=value}</th>',tbody:"<td>{=value}</td>"};class Ns{constructor(){return{selector:void 0,categoryTitle:"Category",categoryFormat:function(l){let h=l;return this.$$.axis.isCategorized()?h=this.$$.categoryName(l):this.$$.axis.isTimeSeries()&&(h=l.toLocaleDateString()),h},class:void 0,style:!0,title:void 0,updateOnToggle:!0,nullString:"-"}}}var Ms=Object.defineProperty,Ds=Object.defineProperties,Fs=Object.getOwnPropertyDescriptors,ha=Object.getOwnPropertySymbols,Ls=Object.prototype.hasOwnProperty,$s=Object.prototype.propertyIsEnumerable,Te=(a,l,h)=>l in a?Ms(a,l,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[l]=h,Us=(a,l)=>{for(var h in l||(l={}))Ls.call(l,h)&&Te(a,h,l[h]);if(ha)for(var h of ha(l))$s.call(l,h)&&Te(a,h,l[h]);return a},Bs=(a,l)=>Ds(a,Fs(l)),ga=(a,l,h)=>Te(a,typeof l!="symbol"?l+"":l,h);class bs extends da{constructor(l){return super(l),ga(this,"config"),ga(this,"element"),this.config=new Ns,this}$beforeInit(){As.call(this,this.options)}$init(){const{class:l,selector:h,style:E}=this.config;let I=document.querySelector(h||`.${l||hn.class}`);if(!I){const D=this.$$.$el.chart.node();I=document.createElement("table"),D.parentNode.insertBefore(I,D.nextSibling)}if(I.tagName!=="TABLE"){const D=document.createElement("table");I.appendChild(D),I=D}if(E&&!document.getElementById(hn.id)){const D=document.createElement("style");D.id=hn.id,D.innerHTML=hn.rule,(document.head||document.getElementsByTagName("head")[0]).appendChild(D)}I.classList.add(...[E&&hn.class,l].filter(Boolean)),this.element=I}generateTable(){const{$$:l,config:h,element:E}=this,I=l.filterTargetsToShow(l.data.targets);let D=te(Pn.thead,{title:I.length?this.config.categoryTitle:""}),L="";const V=[];I.forEach(tt=>{D+=te(Pn.thead,{title:tt.id}),tt.values.forEach((Rt,Mt)=>{V[Mt]||(V[Mt]=[Rt.x]),V[Mt].push(Rt.value)})}),V.forEach(tt=>{L+=`<tr>${tt.map((Rt,Mt)=>te(Mt?Pn.tbody:Pn.tbodyHeader,{value:Mt===0?h.categoryFormat.bind(this)(Rt):qn(Rt)?Rt.toLocaleString():h.nullString})).join("")}</tr>`});const z=/(<\/?(script|img)[^>]*>|<[^>]+><\/[^>]+>)/ig,_=te(Pn.body,Bs(Us({},h),{title:h.title||l.config.title_text||"",thead:D,tbody:L})).replace(z,"");E.innerHTML=_}$redraw(){const{state:l}=this.$$;!(l.resizing||!this.config.updateOnToggle&&l.toggling)&&this.generateTable()}$willDestroy(){var l,h;if((l=this.element.parentNode)==null||l.removeChild(this.element),this.$$.charts.length===1){const E=document.getElementById(hn.id);(h=E==null?void 0:E.parentNode)==null||h.removeChild(E)}}}},85156:function(i,d,t){var r=t(23583),n=t(82453),e=TypeError;i.exports=function(o){if(r(o))return o;throw new e(n(o)+" is not a function")}},80042:function(i,d,t){var r=t(11051),n=t(82453),e=TypeError;i.exports=function(o){if(r(o))return o;throw new e(n(o)+" is not a constructor")}},53408:function(i,d,t){var r=t(52427),n=String,e=TypeError;i.exports=function(o){if(r(o))return o;throw new e("Can't set "+n(o)+" as a prototype")}},76602:function(i,d,t){var r=t(172).has;i.exports=function(n){return r(n),n}},23811:function(i,d,t){var r=t(18565),n=t(5406),e=t(7831).f,o=r("unscopables"),s=Array.prototype;s[o]===void 0&&e(s,o,{configurable:!0,value:n(null)}),i.exports=function(u){s[o][u]=!0}},24487:function(i,d,t){var r=t(22149).charAt;i.exports=function(n,e,o){return e+(o?r(n,e).length:1)}},12833:function(i,d,t){var r=t(95307),n=TypeError;i.exports=function(e,o){if(r(o,e))return e;throw new n("Incorrect invocation")}},25001:function(i,d,t){var r=t(37540),n=String,e=TypeError;i.exports=function(o){if(r(o))return o;throw new e(n(o)+" is not an object")}},3237:function(i){i.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},58360:function(i,d,t){var r=t(34246),n=t(84756),e=t(14274),o=r.ArrayBuffer,s=r.TypeError;i.exports=o&&n(o.prototype,"byteLength","get")||function(u){if(e(u)!=="ArrayBuffer")throw new s("ArrayBuffer expected");return u.byteLength}},30736:function(i,d,t){var r=t(34246),n=t(77422),e=t(58360),o=r.ArrayBuffer,s=o&&o.prototype,u=s&&n(s.slice);i.exports=function(f){if(e(f)!==0||!u)return!1;try{return u(f,0,0),!1}catch(v){return!0}}},72058:function(i,d,t){var r=t(72069);i.exports=r(function(){if(typeof ArrayBuffer=="function"){var n=new ArrayBuffer(8);Object.isExtensible(n)&&Object.defineProperty(n,"a",{value:8})}})},83843:function(i,d,t){var r=t(30736),n=TypeError;i.exports=function(e){if(r(e))throw new n("ArrayBuffer is detached");return e}},65006:function(i,d,t){var r=t(34246),n=t(11286),e=t(84756),o=t(9450),s=t(83843),u=t(58360),f=t(63741),v=t(99050),c=r.structuredClone,g=r.ArrayBuffer,y=r.DataView,p=Math.min,m=g.prototype,S=y.prototype,x=n(m.slice),O=e(m,"resizable","get"),P=e(m,"maxByteLength","get"),T=n(S.getInt8),R=n(S.setInt8);i.exports=(v||f)&&function(N,A,C){var M=u(N),$=A===void 0?M:o(A),F=!O||!O(N),U;if(s(N),v&&(N=c(N,{transfer:[N]}),M===$&&(C||F)))return N;if(M>=$&&(!C||F))U=x(N,0,$);else{var w=C&&!F&&P?{maxByteLength:P(N)}:void 0;U=new g($,w);for(var G=new y(N),B=new y(U),b=p($,M),j=0;j<b;j++)R(B,j,T(G,j))}return v||f(N),U}},88037:function(i,d,t){var r=t(3237),n=t(92986),e=t(34246),o=t(23583),s=t(37540),u=t(94879),f=t(9205),v=t(82453),c=t(90809),g=t(16142),y=t(85500),p=t(95307),m=t(26313),S=t(15861),x=t(18565),O=t(36374),P=t(82367),T=P.enforce,R=P.get,N=e.Int8Array,A=N&&N.prototype,C=e.Uint8ClampedArray,M=C&&C.prototype,$=N&&m(N),F=A&&m(A),U=Object.prototype,w=e.TypeError,G=x("toStringTag"),B=O("TYPED_ARRAY_TAG"),b="TypedArrayConstructor",j=r&&!!S&&f(e.opera)!=="Opera",W=!1,Q,X,k,Z={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},ht={BigInt64Array:8,BigUint64Array:8},lt=function(mt){if(!s(mt))return!1;var Dt=f(mt);return Dt==="DataView"||u(Z,Dt)||u(ht,Dt)},pt=function(vt){var mt=m(vt);if(s(mt)){var Dt=R(mt);return Dt&&u(Dt,b)?Dt[b]:pt(mt)}},Ot=function(vt){if(!s(vt))return!1;var mt=f(vt);return u(Z,mt)||u(ht,mt)},Tt=function(vt){if(Ot(vt))return vt;throw new w("Target is not a typed array")},Kt=function(vt){if(o(vt)&&(!S||p($,vt)))return vt;throw new w(v(vt)+" is not a typed array constructor")},Vt=function(vt,mt,Dt,$t){if(n){if(Dt)for(var Nt in Z){var jt=e[Nt];if(jt&&u(jt.prototype,vt))try{delete jt.prototype[vt]}catch(kt){try{jt.prototype[vt]=mt}catch(_t){}}}(!F[vt]||Dt)&&g(F,vt,Dt?mt:j&&A[vt]||mt,$t)}},Ut=function(vt,mt,Dt){var $t,Nt;if(n){if(S){if(Dt){for($t in Z)if(Nt=e[$t],Nt&&u(Nt,vt))try{delete Nt[vt]}catch(jt){}}if(!$[vt]||Dt)try{return g($,vt,Dt?mt:j&&$[vt]||mt)}catch(jt){}else return}for($t in Z)Nt=e[$t],Nt&&(!Nt[vt]||Dt)&&g(Nt,vt,mt)}};for(Q in Z)X=e[Q],k=X&&X.prototype,k?T(k)[b]=X:j=!1;for(Q in ht)X=e[Q],k=X&&X.prototype,k&&(T(k)[b]=X);if((!j||!o($)||$===Function.prototype)&&($=function(){throw new w("Incorrect invocation")},j))for(Q in Z)e[Q]&&S(e[Q],$);if((!j||!F||F===U)&&(F=$.prototype,j))for(Q in Z)e[Q]&&S(e[Q].prototype,F);if(j&&m(M)!==F&&S(M,F),n&&!u(F,G)){W=!0,y(F,G,{configurable:!0,get:function(){return s(this)?this[B]:void 0}});for(Q in Z)e[Q]&&c(e[Q],B,Q)}i.exports={NATIVE_ARRAY_BUFFER_VIEWS:j,TYPED_ARRAY_TAG:W&&B,aTypedArray:Tt,aTypedArrayConstructor:Kt,exportTypedArrayMethod:Vt,exportTypedArrayStaticMethod:Ut,getTypedArrayConstructor:pt,isView:lt,isTypedArray:Ot,TypedArray:$,TypedArrayPrototype:F}},17468:function(i,d,t){var r=t(34246),n=t(11286),e=t(92986),o=t(3237),s=t(86588),u=t(90809),f=t(85500),v=t(2725),c=t(72069),g=t(12833),y=t(12105),p=t(45344),m=t(9450),S=t(93279),x=t(25212),O=t(26313),P=t(15861),T=t(43011),R=t(22806),N=t(32345),A=t(93706),C=t(78401),M=t(82367),$=s.PROPER,F=s.CONFIGURABLE,U="ArrayBuffer",w="DataView",G="prototype",B="Wrong length",b="Wrong index",j=M.getterFor(U),W=M.getterFor(w),Q=M.set,X=r[U],k=X,Z=k&&k[G],ht=r[w],lt=ht&&ht[G],pt=Object.prototype,Ot=r.Array,Tt=r.RangeError,Kt=n(T),Vt=n([].reverse),Ut=x.pack,vt=x.unpack,mt=function(st){return[st&255]},Dt=function(st){return[st&255,st>>8&255]},$t=function(st){return[st&255,st>>8&255,st>>16&255,st>>24&255]},Nt=function(st){return st[3]<<24|st[2]<<16|st[1]<<8|st[0]},jt=function(st){return Ut(S(st),23,4)},kt=function(st){return Ut(st,52,8)},_t=function(st,dt,q){f(st[G],dt,{configurable:!0,get:function(){return q(this)[dt]}})},Xt=function(st,dt,q,At){var Pt=W(st),It=m(q),St=!!At;if(It+dt>Pt.byteLength)throw new Tt(b);var er=Pt.bytes,or=It+Pt.byteOffset,Y=R(er,or,or+dt);return St?Y:Vt(Y)},Bt=function(st,dt,q,At,Pt,It){var St=W(st),er=m(q),or=At(+Pt),Y=!!It;if(er+dt>St.byteLength)throw new Tt(b);for(var et=St.bytes,ut=er+St.byteOffset,ot=0;ot<dt;ot++)et[ut+ot]=or[Y?ot:dt-ot-1]};if(!o)k=function(dt){g(this,Z);var q=m(dt);Q(this,{type:U,bytes:Kt(Ot(q),0),byteLength:q}),e||(this.byteLength=q,this.detached=!1)},Z=k[G],ht=function(dt,q,At){g(this,lt),g(dt,Z);var Pt=j(dt),It=Pt.byteLength,St=y(q);if(St<0||St>It)throw new Tt("Wrong offset");if(At=At===void 0?It-St:p(At),St+At>It)throw new Tt(B);Q(this,{type:w,buffer:dt,byteLength:At,byteOffset:St,bytes:Pt.bytes}),e||(this.buffer=dt,this.byteLength=At,this.byteOffset=St)},lt=ht[G],e&&(_t(k,"byteLength",j),_t(ht,"buffer",W),_t(ht,"byteLength",W),_t(ht,"byteOffset",W)),v(lt,{getInt8:function(dt){return Xt(this,1,dt)[0]<<24>>24},getUint8:function(dt){return Xt(this,1,dt)[0]},getInt16:function(dt){var q=Xt(this,2,dt,arguments.length>1?arguments[1]:!1);return(q[1]<<8|q[0])<<16>>16},getUint16:function(dt){var q=Xt(this,2,dt,arguments.length>1?arguments[1]:!1);return q[1]<<8|q[0]},getInt32:function(dt){return Nt(Xt(this,4,dt,arguments.length>1?arguments[1]:!1))},getUint32:function(dt){return Nt(Xt(this,4,dt,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(dt){return vt(Xt(this,4,dt,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(dt){return vt(Xt(this,8,dt,arguments.length>1?arguments[1]:!1),52)},setInt8:function(dt,q){Bt(this,1,dt,mt,q)},setUint8:function(dt,q){Bt(this,1,dt,mt,q)},setInt16:function(dt,q){Bt(this,2,dt,Dt,q,arguments.length>2?arguments[2]:!1)},setUint16:function(dt,q){Bt(this,2,dt,Dt,q,arguments.length>2?arguments[2]:!1)},setInt32:function(dt,q){Bt(this,4,dt,$t,q,arguments.length>2?arguments[2]:!1)},setUint32:function(dt,q){Bt(this,4,dt,$t,q,arguments.length>2?arguments[2]:!1)},setFloat32:function(dt,q){Bt(this,4,dt,jt,q,arguments.length>2?arguments[2]:!1)},setFloat64:function(dt,q){Bt(this,8,dt,kt,q,arguments.length>2?arguments[2]:!1)}});else{var Qt=$&&X.name!==U;!c(function(){X(1)})||!c(function(){new X(-1)})||c(function(){return new X,new X(1.5),new X(NaN),X.length!==1||Qt&&!F})?(k=function(dt){return g(this,Z),N(new X(m(dt)),this,k)},k[G]=Z,Z.constructor=k,A(k,X)):Qt&&F&&u(X,"name",U),P&&O(lt)!==pt&&P(lt,pt);var zt=new ht(new k(2)),wt=n(lt.setInt8);zt.setInt8(0,2147483648),zt.setInt8(1,2147483649),(zt.getInt8(0)||!zt.getInt8(1))&&v(lt,{setInt8:function(dt,q){wt(this,dt,q<<24>>24)},setUint8:function(dt,q){wt(this,dt,q<<24>>24)}},{unsafe:!0})}C(k,U),C(ht,w),i.exports={ArrayBuffer:k,DataView:ht}},81499:function(i,d,t){var r=t(49671),n=t(4652),e=t(82628),o=t(12384),s=Math.min;i.exports=[].copyWithin||function(f,v){var c=r(this),g=e(c),y=n(f,g),p=n(v,g),m=arguments.length>2?arguments[2]:void 0,S=s((m===void 0?g:n(m,g))-p,g-y),x=1;for(p<y&&y<p+S&&(x=-1,p+=S-1,y+=S-1);S-- >0;)p in c?c[y]=c[p]:o(c,y),y+=x,p+=x;return c}},43011:function(i,d,t){var r=t(49671),n=t(4652),e=t(82628);i.exports=function(s){for(var u=r(this),f=e(u),v=arguments.length,c=n(v>1?arguments[1]:void 0,f),g=v>2?arguments[2]:void 0,y=g===void 0?f:n(g,f);y>c;)u[c++]=s;return u}},13349:function(i,d,t){var r=t(66655).forEach,n=t(6148),e=n("forEach");i.exports=e?[].forEach:function(s){return r(this,s,arguments.length>1?arguments[1]:void 0)}},5220:function(i,d,t){var r=t(82628);i.exports=function(n,e,o){for(var s=0,u=arguments.length>2?o:r(e),f=new n(u);u>s;)f[s]=e[s++];return f}},48258:function(i,d,t){var r=t(45526),n=t(96499),e=t(49671),o=t(39969),s=t(48199),u=t(11051),f=t(82628),v=t(84082),c=t(90619),g=t(81077),y=Array;i.exports=function(m){var S=e(m),x=u(this),O=arguments.length,P=O>1?arguments[1]:void 0,T=P!==void 0;T&&(P=r(P,O>2?arguments[2]:void 0));var R=g(S),N=0,A,C,M,$,F,U;if(R&&!(this===y&&s(R)))for(C=x?new this:[],$=c(S,R),F=$.next;!(M=n(F,$)).done;N++)U=T?o($,P,[M.value,N],!0):M.value,v(C,N,U);else for(A=f(S),C=x?new this(A):y(A);A>N;N++)U=T?P(S[N],N):S[N],v(C,N,U);return C.length=N,C}},94319:function(i,d,t){var r=t(36859),n=t(4652),e=t(82628),o=function(s){return function(u,f,v){var c=r(u),g=e(c);if(g===0)return!s&&-1;var y=n(v,g),p;if(s&&f!==f){for(;g>y;)if(p=c[y++],p!==p)return!0}else for(;g>y;y++)if((s||y in c)&&c[y]===f)return s||y||0;return!s&&-1}};i.exports={includes:o(!0),indexOf:o(!1)}},73849:function(i,d,t){var r=t(45526),n=t(72181),e=t(49671),o=t(82628),s=function(u){var f=u===1;return function(v,c,g){for(var y=e(v),p=n(y),m=o(p),S=r(c,g),x,O;m-- >0;)if(x=p[m],O=S(x,m,y),O)switch(u){case 0:return x;case 1:return m}return f?-1:void 0}};i.exports={findLast:s(0),findLastIndex:s(1)}},66655:function(i,d,t){var r=t(45526),n=t(11286),e=t(72181),o=t(49671),s=t(82628),u=t(62083),f=n([].push),v=function(c){var g=c===1,y=c===2,p=c===3,m=c===4,S=c===6,x=c===7,O=c===5||S;return function(P,T,R,N){for(var A=o(P),C=e(A),M=s(C),$=r(T,R),F=0,U=N||u,w=g?U(P,M):y||x?U(P,0):void 0,G,B;M>F;F++)if((O||F in C)&&(G=C[F],B=$(G,F,A),c))if(g)w[F]=B;else if(B)switch(c){case 3:return!0;case 5:return G;case 6:return F;case 2:f(w,G)}else switch(c){case 4:return!1;case 7:f(w,G)}return S?-1:p||m?m:w}};i.exports={forEach:v(0),map:v(1),filter:v(2),some:v(3),every:v(4),find:v(5),findIndex:v(6),filterReject:v(7)}},58465:function(i,d,t){var r=t(66543),n=t(36859),e=t(12105),o=t(82628),s=t(6148),u=Math.min,f=[].lastIndexOf,v=!!f&&1/[1].lastIndexOf(1,-0)<0,c=s("lastIndexOf"),g=v||!c;i.exports=g?function(p){if(v)return r(f,this,arguments)||0;var m=n(this),S=o(m);if(S===0)return-1;var x=S-1;for(arguments.length>1&&(x=u(x,e(arguments[1]))),x<0&&(x=S+x);x>=0;x--)if(x in m&&m[x]===p)return x||0;return-1}:f},52183:function(i,d,t){var r=t(72069),n=t(18565),e=t(44241),o=n("species");i.exports=function(s){return e>=51||!r(function(){var u=[],f=u.constructor={};return f[o]=function(){return{foo:1}},u[s](Boolean).foo!==1})}},6148:function(i,d,t){var r=t(72069);i.exports=function(n,e){var o=[][n];return!!o&&r(function(){o.call(null,e||function(){return 1},1)})}},97264:function(i,d,t){var r=t(85156),n=t(49671),e=t(72181),o=t(82628),s=TypeError,u="Reduce of empty array with no initial value",f=function(v){return function(c,g,y,p){var m=n(c),S=e(m),x=o(m);if(r(g),x===0&&y<2)throw new s(u);var O=v?x-1:0,P=v?-1:1;if(y<2)for(;;){if(O in S){p=S[O],O+=P;break}if(O+=P,v?O<0:x<=O)throw new s(u)}for(;v?O>=0:x>O;O+=P)O in S&&(p=g(p,S[O],O,m));return p}};i.exports={left:f(!1),right:f(!0)}},2213:function(i,d,t){var r=t(92986),n=t(3438),e=TypeError,o=Object.getOwnPropertyDescriptor,s=r&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(u){return u instanceof TypeError}}();i.exports=s?function(u,f){if(n(u)&&!o(u,"length").writable)throw new e("Cannot set read only .length");return u.length=f}:function(u,f){return u.length=f}},22806:function(i,d,t){var r=t(11286);i.exports=r([].slice)},13270:function(i,d,t){var r=t(22806),n=Math.floor,e=function(o,s){var u=o.length;if(u<8)for(var f=1,v,c;f<u;){for(c=f,v=o[f];c&&s(o[c-1],v)>0;)o[c]=o[--c];c!==f++&&(o[c]=v)}else for(var g=n(u/2),y=e(r(o,0,g),s),p=e(r(o,g),s),m=y.length,S=p.length,x=0,O=0;x<m||O<S;)o[x+O]=x<m&&O<S?s(y[x],p[O])<=0?y[x++]:p[O++]:x<m?y[x++]:p[O++];return o};i.exports=e},37555:function(i,d,t){var r=t(3438),n=t(11051),e=t(37540),o=t(18565),s=o("species"),u=Array;i.exports=function(f){var v;return r(f)&&(v=f.constructor,n(v)&&(v===u||r(v.prototype))?v=void 0:e(v)&&(v=v[s],v===null&&(v=void 0))),v===void 0?u:v}},62083:function(i,d,t){var r=t(37555);i.exports=function(n,e){return new(r(n))(e===0?0:e)}},61638:function(i,d,t){var r=t(82628);i.exports=function(n,e){for(var o=r(n),s=new e(o),u=0;u<o;u++)s[u]=n[o-u-1];return s}},72302:function(i,d,t){var r=t(82628),n=t(12105),e=RangeError;i.exports=function(o,s,u,f){var v=r(o),c=n(u),g=c<0?v+c:c;if(g>=v||g<0)throw new e("Incorrect index");for(var y=new s(v),p=0;p<v;p++)y[p]=p===g?f:o[p];return y}},6210:function(i){var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t=d+"+/",r=d+"-_",n=function(e){for(var o={},s=0;s<64;s++)o[e.charAt(s)]=s;return o};i.exports={i2c:t,c2i:n(t),i2cUrl:r,c2iUrl:n(r)}},39969:function(i,d,t){var r=t(25001),n=t(99797);i.exports=function(e,o,s,u){try{return u?o(r(s)[0],s[1]):o(s)}catch(f){n(e,"throw",f)}}},97494:function(i,d,t){var r=t(18565),n=r("iterator"),e=!1;try{var o=0,s={next:function(){return{done:!!o++}},return:function(){e=!0}};s[n]=function(){return this},Array.from(s,function(){throw 2})}catch(u){}i.exports=function(u,f){try{if(!f&&!e)return!1}catch(g){return!1}var v=!1;try{var c={};c[n]=function(){return{next:function(){return{done:v=!0}}}},u(c)}catch(g){}return v}},14274:function(i,d,t){var r=t(11286),n=r({}.toString),e=r("".slice);i.exports=function(o){return e(n(o),8,-1)}},9205:function(i,d,t){var r=t(67878),n=t(23583),e=t(14274),o=t(18565),s=o("toStringTag"),u=Object,f=e(function(){return arguments}())==="Arguments",v=function(c,g){try{return c[g]}catch(y){}};i.exports=r?e:function(c){var g,y,p;return c===void 0?"Undefined":c===null?"Null":typeof(y=v(g=u(c),s))=="string"?y:f?e(g):(p=e(g))==="Object"&&n(g.callee)?"Arguments":p}},34440:function(i,d,t){var r=t(5406),n=t(85500),e=t(2725),o=t(45526),s=t(12833),u=t(5683),f=t(55902),v=t(10218),c=t(10659),g=t(36167),y=t(92986),p=t(31853).fastKey,m=t(82367),S=m.set,x=m.getterFor;i.exports={getConstructor:function(O,P,T,R){var N=O(function(F,U){s(F,A),S(F,{type:P,index:r(null),first:null,last:null,size:0}),y||(F.size=0),u(U)||f(U,F[R],{that:F,AS_ENTRIES:T})}),A=N.prototype,C=x(P),M=function(F,U,w){var G=C(F),B=$(F,U),b,j;return B?B.value=w:(G.last=B={index:j=p(U,!0),key:U,value:w,previous:b=G.last,next:null,removed:!1},G.first||(G.first=B),b&&(b.next=B),y?G.size++:F.size++,j!=="F"&&(G.index[j]=B)),F},$=function(F,U){var w=C(F),G=p(U),B;if(G!=="F")return w.index[G];for(B=w.first;B;B=B.next)if(B.key===U)return B};return e(A,{clear:function(){for(var U=this,w=C(U),G=w.first;G;)G.removed=!0,G.previous&&(G.previous=G.previous.next=null),G=G.next;w.first=w.last=null,w.index=r(null),y?w.size=0:U.size=0},delete:function(F){var U=this,w=C(U),G=$(U,F);if(G){var B=G.next,b=G.previous;delete w.index[G.index],G.removed=!0,b&&(b.next=B),B&&(B.previous=b),w.first===G&&(w.first=B),w.last===G&&(w.last=b),y?w.size--:U.size--}return!!G},forEach:function(U){for(var w=C(this),G=o(U,arguments.length>1?arguments[1]:void 0),B;B=B?B.next:w.first;)for(G(B.value,B.key,this);B&&B.removed;)B=B.previous},has:function(U){return!!$(this,U)}}),e(A,T?{get:function(U){var w=$(this,U);return w&&w.value},set:function(U,w){return M(this,U===0?0:U,w)}}:{add:function(U){return M(this,U=U===0?0:U,U)}}),y&&n(A,"size",{configurable:!0,get:function(){return C(this).size}}),N},setStrong:function(O,P,T){var R=P+" Iterator",N=x(P),A=x(R);v(O,P,function(C,M){S(this,{type:R,target:C,state:N(C),kind:M,last:null})},function(){for(var C=A(this),M=C.kind,$=C.last;$&&$.removed;)$=$.previous;return!C.target||!(C.last=$=$?$.next:C.state.first)?(C.target=null,c(void 0,!0)):c(M==="keys"?$.key:M==="values"?$.value:[$.key,$.value],!1)},T?"entries":"values",!T,!0),g(P)}}},94667:function(i,d,t){var r=t(11286),n=t(2725),e=t(31853).getWeakData,o=t(12833),s=t(25001),u=t(5683),f=t(37540),v=t(55902),c=t(66655),g=t(94879),y=t(82367),p=y.set,m=y.getterFor,S=c.find,x=c.findIndex,O=r([].splice),P=0,T=function(A){return A.frozen||(A.frozen=new R)},R=function(){this.entries=[]},N=function(A,C){return S(A.entries,function(M){return M[0]===C})};R.prototype={get:function(A){var C=N(this,A);if(C)return C[1]},has:function(A){return!!N(this,A)},set:function(A,C){var M=N(this,A);M?M[1]=C:this.entries.push([A,C])},delete:function(A){var C=x(this.entries,function(M){return M[0]===A});return~C&&O(this.entries,C,1),!!~C}},i.exports={getConstructor:function(A,C,M,$){var F=A(function(B,b){o(B,U),p(B,{type:C,id:P++,frozen:null}),u(b)||v(b,B[$],{that:B,AS_ENTRIES:M})}),U=F.prototype,w=m(C),G=function(B,b,j){var W=w(B),Q=e(s(b),!0);return Q===!0?T(W).set(b,j):Q[W.id]=j,B};return n(U,{delete:function(B){var b=w(this);if(!f(B))return!1;var j=e(B);return j===!0?T(b).delete(B):j&&g(j,b.id)&&delete j[b.id]},has:function(b){var j=w(this);if(!f(b))return!1;var W=e(b);return W===!0?T(j).has(b):W&&g(W,j.id)}}),n(U,M?{get:function(b){var j=w(this);if(f(b)){var W=e(b);if(W===!0)return T(j).get(b);if(W)return W[j.id]}},set:function(b,j){return G(this,b,j)}}:{add:function(b){return G(this,b,!0)}}),F}}},89378:function(i,d,t){var r=t(14304),n=t(34246),e=t(11286),o=t(13278),s=t(16142),u=t(31853),f=t(55902),v=t(12833),c=t(23583),g=t(5683),y=t(37540),p=t(72069),m=t(97494),S=t(78401),x=t(32345);i.exports=function(O,P,T){var R=O.indexOf("Map")!==-1,N=O.indexOf("Weak")!==-1,A=R?"set":"add",C=n[O],M=C&&C.prototype,$=C,F={},U=function(Q){var X=e(M[Q]);s(M,Q,Q==="add"?function(Z){return X(this,Z===0?0:Z),this}:Q==="delete"?function(k){return N&&!y(k)?!1:X(this,k===0?0:k)}:Q==="get"?function(Z){return N&&!y(Z)?void 0:X(this,Z===0?0:Z)}:Q==="has"?function(Z){return N&&!y(Z)?!1:X(this,Z===0?0:Z)}:function(Z,ht){return X(this,Z===0?0:Z,ht),this})},w=o(O,!c(C)||!(N||M.forEach&&!p(function(){new C().entries().next()})));if(w)$=T.getConstructor(P,O,R,A),u.enable();else if(o(O,!0)){var G=new $,B=G[A](N?{}:-0,1)!==G,b=p(function(){G.has(1)}),j=m(function(Q){new C(Q)}),W=!N&&p(function(){for(var Q=new C,X=5;X--;)Q[A](X,X);return!Q.has(-0)});j||($=P(function(Q,X){v(Q,M);var k=x(new C,Q,$);return g(X)||f(X,k[A],{that:k,AS_ENTRIES:R}),k}),$.prototype=M,M.constructor=$),(b||W)&&(U("delete"),U("has"),R&&U("get")),(W||B)&&U(A),N&&M.clear&&delete M.clear}return F[O]=$,r({global:!0,constructor:!0,forced:$!==C},F),S($,O),N||T.setStrong($,O,R),$}},93706:function(i,d,t){var r=t(94879),n=t(16885),e=t(71349),o=t(7831);i.exports=function(s,u,f){for(var v=n(u),c=o.f,g=e.f,y=0;y<v.length;y++){var p=v[y];!r(s,p)&&!(f&&r(f,p))&&c(s,p,g(u,p))}}},8790:function(i,d,t){var r=t(18565),n=r("match");i.exports=function(e){var o=/./;try{"/./"[e](o)}catch(s){try{return o[n]=!1,"/./"[e](o)}catch(u){}}return!1}},87501:function(i,d,t){var r=t(72069);i.exports=!r(function(){function n(){}return n.prototype.constructor=null,Object.getPrototypeOf(new n)!==n.prototype})},68422:function(i,d,t){var r=t(11286),n=t(2068),e=t(17361),o=/"/g,s=r("".replace);i.exports=function(u,f,v,c){var g=e(n(u)),y="<"+f;return v!==""&&(y+=" "+v+'="'+s(e(c),o,""")+'"'),y+">"+g+"</"+f+">"}},10659:function(i){i.exports=function(d,t){return{value:d,done:t}}},90809:function(i,d,t){var r=t(92986),n=t(7831),e=t(18526);i.exports=r?function(o,s,u){return n.f(o,s,e(1,u))}:function(o,s,u){return o[s]=u,o}},18526:function(i){i.exports=function(d,t){return{enumerable:!(d&1),configurable:!(d&2),writable:!(d&4),value:t}}},84082:function(i,d,t){var r=t(92986),n=t(7831),e=t(18526);i.exports=function(o,s,u){r?n.f(o,s,e(0,u)):o[s]=u}},11890:function(i,d,t){var r=t(11286),n=t(72069),e=t(61607).start,o=RangeError,s=isFinite,u=Math.abs,f=Date.prototype,v=f.toISOString,c=r(f.getTime),g=r(f.getUTCDate),y=r(f.getUTCFullYear),p=r(f.getUTCHours),m=r(f.getUTCMilliseconds),S=r(f.getUTCMinutes),x=r(f.getUTCMonth),O=r(f.getUTCSeconds);i.exports=n(function(){return v.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!n(function(){v.call(new Date(NaN))})?function(){if(!s(c(this)))throw new o("Invalid time value");var T=this,R=y(T),N=m(T),A=R<0?"-":R>9999?"+":"";return A+e(u(R),A?6:4,0)+"-"+e(x(T)+1,2,0)+"-"+e(g(T),2,0)+"T"+e(p(T),2,0)+":"+e(S(T),2,0)+":"+e(O(T),2,0)+"."+e(N,3,0)+"Z"}:v},84306:function(i,d,t){var r=t(25001),n=t(2064),e=TypeError;i.exports=function(o){if(r(this),o==="string"||o==="default")o="string";else if(o!=="number")throw new e("Incorrect hint");return n(this,o)}},85500:function(i,d,t){var r=t(13749),n=t(7831);i.exports=function(e,o,s){return s.get&&r(s.get,o,{getter:!0}),s.set&&r(s.set,o,{setter:!0}),n.f(e,o,s)}},16142:function(i,d,t){var r=t(23583),n=t(7831),e=t(13749),o=t(36003);i.exports=function(s,u,f,v){v||(v={});var c=v.enumerable,g=v.name!==void 0?v.name:u;if(r(f)&&e(f,g,v),v.global)c?s[u]=f:o(u,f);else{try{v.unsafe?s[u]&&(c=!0):delete s[u]}catch(y){}c?s[u]=f:n.f(s,u,{value:f,enumerable:!1,configurable:!v.nonConfigurable,writable:!v.nonWritable})}return s}},2725:function(i,d,t){var r=t(16142);i.exports=function(n,e,o){for(var s in e)r(n,s,e[s],o);return n}},36003:function(i,d,t){var r=t(34246),n=Object.defineProperty;i.exports=function(e,o){try{n(r,e,{value:o,configurable:!0,writable:!0})}catch(s){r[e]=o}return o}},12384:function(i,d,t){var r=t(82453),n=TypeError;i.exports=function(e,o){if(!delete e[o])throw new n("Cannot delete property "+r(o)+" of "+r(e))}},92986:function(i,d,t){var r=t(72069);i.exports=!r(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},63741:function(i,d,t){var r=t(34246),n=t(81191),e=t(99050),o=r.structuredClone,s=r.ArrayBuffer,u=r.MessageChannel,f=!1,v,c,g,y;if(e)f=function(p){o(p,{transfer:[p]})};else if(s)try{u||(v=n("worker_threads"),v&&(u=v.MessageChannel)),u&&(c=new u,g=new s(2),y=function(p){c.port1.postMessage(null,[p])},g.byteLength===2&&(y(g),g.byteLength===0&&(f=y)))}catch(p){}i.exports=f},85501:function(i,d,t){var r=t(34246),n=t(37540),e=r.document,o=n(e)&&n(e.createElement);i.exports=function(s){return o?e.createElement(s):{}}},20095:function(i){var d=TypeError,t=9007199254740991;i.exports=function(r){if(r>t)throw d("Maximum allowed index exceeded");return r}},74408:function(i){i.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},93014:function(i){i.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},39882:function(i,d,t){var r=t(85501),n=r("span").classList,e=n&&n.constructor&&n.constructor.prototype;i.exports=e===Object.prototype?void 0:e},75785:function(i){i.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},507:function(i,d,t){var r=t(18257),n=r.match(/firefox\/(\d+)/i);i.exports=!!n&&+n[1]},17417:function(i,d,t){var r=t(18257);i.exports=/MSIE|Trident/.test(r)},7307:function(i,d,t){var r=t(18257);i.exports=/ipad|iphone|ipod/i.test(r)&&typeof Pebble!="undefined"},5286:function(i,d,t){var r=t(18257);i.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(r)},91707:function(i,d,t){var r=t(21501);i.exports=r==="NODE"},67722:function(i,d,t){var r=t(18257);i.exports=/web0s(?!.*chrome)/i.test(r)},18257:function(i,d,t){var r=t(34246),n=r.navigator,e=n&&n.userAgent;i.exports=e?String(e):""},44241:function(i,d,t){var r=t(34246),n=t(18257),e=r.process,o=r.Deno,s=e&&e.versions||o&&o.version,u=s&&s.v8,f,v;u&&(f=u.split("."),v=f[0]>0&&f[0]<4?1:+(f[0]+f[1])),!v&&n&&(f=n.match(/Edge\/(\d+)/),(!f||f[1]>=74)&&(f=n.match(/Chrome\/(\d+)/),f&&(v=+f[1]))),i.exports=v},66577:function(i,d,t){var r=t(18257),n=r.match(/AppleWebKit\/(\d+)\./);i.exports=!!n&&+n[1]},21501:function(i,d,t){var r=t(34246),n=t(18257),e=t(14274),o=function(s){return n.slice(0,s.length)===s};i.exports=function(){return o("Bun/")?"BUN":o("Cloudflare-Workers")?"CLOUDFLARE":o("Deno/")?"DENO":o("Node.js/")?"NODE":r.Bun&&typeof Bun.version=="string"?"BUN":r.Deno&&typeof Deno.version=="object"?"DENO":e(r.process)==="process"?"NODE":r.window&&r.document?"BROWSER":"REST"}()},40851:function(i,d,t){var r=t(11286),n=Error,e=r("".replace),o=function(f){return String(new n(f).stack)}("zxcasd"),s=/\n\s*at [^:]*:[^\n]*/,u=s.test(o);i.exports=function(f,v){if(u&&typeof f=="string"&&!n.prepareStackTrace)for(;v--;)f=e(f,s,"");return f}},97077:function(i,d,t){var r=t(90809),n=t(40851),e=t(16929),o=Error.captureStackTrace;i.exports=function(s,u,f,v){e&&(o?o(s,u):r(s,"stack",n(f,v)))}},16929:function(i,d,t){var r=t(72069),n=t(18526);i.exports=!r(function(){var e=new Error("a");return"stack"in e?(Object.defineProperty(e,"stack",n(1,7)),e.stack!==7):!0})},58434:function(i,d,t){var r=t(92986),n=t(72069),e=t(25001),o=t(15453),s=Error.prototype.toString,u=n(function(){if(r){var f=Object.create(Object.defineProperty({},"name",{get:function(){return this===f}}));if(s.call(f)!=="true")return!0}return s.call({message:1,name:2})!=="2: 1"||s.call({})!=="Error"});i.exports=u?function(){var v=e(this),c=o(v.name,"Error"),g=o(v.message);return c?g?c+": "+g:c:g}:s},14304:function(i,d,t){var r=t(34246),n=t(71349).f,e=t(90809),o=t(16142),s=t(36003),u=t(93706),f=t(13278);i.exports=function(v,c){var g=v.target,y=v.global,p=v.stat,m,S,x,O,P,T;if(y?S=r:p?S=r[g]||s(g,{}):S=r[g]&&r[g].prototype,S)for(x in c){if(P=c[x],v.dontCallGetSet?(T=n(S,x),O=T&&T.value):O=S[x],m=f(y?x:g+(p?".":"#")+x,v.forced),!m&&O!==void 0){if(typeof P==typeof O)continue;u(P,O)}(v.sham||O&&O.sham)&&e(P,"sham",!0),o(S,x,P,v)}}},72069:function(i){i.exports=function(d){try{return!!d()}catch(t){return!0}}},63194:function(i,d,t){t(31145);var r=t(96499),n=t(16142),e=t(44381),o=t(72069),s=t(18565),u=t(90809),f=s("species"),v=RegExp.prototype;i.exports=function(c,g,y,p){var m=s(c),S=!o(function(){var T={};return T[m]=function(){return 7},""[c](T)!==7}),x=S&&!o(function(){var T=!1,R=/a/;return c==="split"&&(R={},R.constructor={},R.constructor[f]=function(){return R},R.flags="",R[m]=/./[m]),R.exec=function(){return T=!0,null},R[m](""),!T});if(!S||!x||y){var O=/./[m],P=g(m,""[c],function(T,R,N,A,C){var M=R.exec;return M===e||M===v.exec?S&&!C?{done:!0,value:r(O,R,N,A)}:{done:!0,value:r(T,N,R,A)}:{done:!1}});n(String.prototype,c,P[0]),n(v,m,P[1])}p&&u(v[m],"sham",!0)}},53149:function(i,d,t){var r=t(3438),n=t(82628),e=t(20095),o=t(45526),s=function(u,f,v,c,g,y,p,m){for(var S=g,x=0,O=p?o(p,m):!1,P,T;x<c;)x in v&&(P=O?O(v[x],x,f):v[x],y>0&&r(P)?(T=n(P),S=s(u,f,P,T,S,y-1)-1):(e(S+1),u[S]=P),S++),x++;return S};i.exports=s},27534:function(i,d,t){var r=t(72069);i.exports=!r(function(){return Object.isExtensible(Object.preventExtensions({}))})},66543:function(i,d,t){var r=t(87878),n=Function.prototype,e=n.apply,o=n.call;i.exports=typeof Reflect=="object"&&Reflect.apply||(r?o.bind(e):function(){return o.apply(e,arguments)})},45526:function(i,d,t){var r=t(77422),n=t(85156),e=t(87878),o=r(r.bind);i.exports=function(s,u){return n(s),u===void 0?s:e?o(s,u):function(){return s.apply(u,arguments)}}},87878:function(i,d,t){var r=t(72069);i.exports=!r(function(){var n=function(){}.bind();return typeof n!="function"||n.hasOwnProperty("prototype")})},91384:function(i,d,t){var r=t(11286),n=t(85156),e=t(37540),o=t(94879),s=t(22806),u=t(87878),f=Function,v=r([].concat),c=r([].join),g={},y=function(p,m,S){if(!o(g,m)){for(var x=[],O=0;O<m;O++)x[O]="a["+O+"]";g[m]=f("C,a","return new C("+c(x,",")+")")}return g[m](p,S)};i.exports=u?f.bind:function(m){var S=n(this),x=S.prototype,O=s(arguments,1),P=function(){var R=v(O,s(arguments));return this instanceof P?y(S,R.length,R):S.apply(m,R)};return e(x)&&(P.prototype=x),P}},96499:function(i,d,t){var r=t(87878),n=Function.prototype.call;i.exports=r?n.bind(n):function(){return n.apply(n,arguments)}},86588:function(i,d,t){var r=t(92986),n=t(94879),e=Function.prototype,o=r&&Object.getOwnPropertyDescriptor,s=n(e,"name"),u=s&&function(){}.name==="something",f=s&&(!r||r&&o(e,"name").configurable);i.exports={EXISTS:s,PROPER:u,CONFIGURABLE:f}},84756:function(i,d,t){var r=t(11286),n=t(85156);i.exports=function(e,o,s){try{return r(n(Object.getOwnPropertyDescriptor(e,o)[s]))}catch(u){}}},77422:function(i,d,t){var r=t(14274),n=t(11286);i.exports=function(e){if(r(e)==="Function")return n(e)}},11286:function(i,d,t){var r=t(87878),n=Function.prototype,e=n.call,o=r&&n.bind.bind(e,e);i.exports=r?o:function(s){return function(){return e.apply(s,arguments)}}},81191:function(i,d,t){var r=t(34246),n=t(91707);i.exports=function(e){if(n){try{return r.process.getBuiltinModule(e)}catch(o){}try{return Function('return require("'+e+'")')()}catch(o){}}}},65470:function(i,d,t){var r=t(34246);i.exports=function(n,e){var o=r[n],s=o&&o.prototype;return s&&s[e]}},38941:function(i,d,t){var r=t(34246),n=t(23583),e=function(o){return n(o)?o:void 0};i.exports=function(o,s){return arguments.length<2?e(r[o]):r[o]&&r[o][s]}},10613:function(i){i.exports=function(d){return{iterator:d,next:d.next,done:!1}}},12124:function(i,d,t){var r=t(96499),n=t(25001),e=t(10613),o=t(81077);i.exports=function(s,u){(!u||typeof s!="string")&&n(s);var f=o(s);return e(n(f!==void 0?r(f,s):s))}},81077:function(i,d,t){var r=t(9205),n=t(10512),e=t(5683),o=t(29107),s=t(18565),u=s("iterator");i.exports=function(f){if(!e(f))return n(f,u)||n(f,"@@iterator")||o[r(f)]}},90619:function(i,d,t){var r=t(96499),n=t(85156),e=t(25001),o=t(82453),s=t(81077),u=TypeError;i.exports=function(f,v){var c=arguments.length<2?s(f):v;if(n(c))return e(r(c,f));throw new u(o(f)+" is not iterable")}},10443:function(i,d,t){var r=t(11286),n=t(3438),e=t(23583),o=t(14274),s=t(17361),u=r([].push);i.exports=function(f){if(e(f))return f;if(n(f)){for(var v=f.length,c=[],g=0;g<v;g++){var y=f[g];typeof y=="string"?u(c,y):(typeof y=="number"||o(y)==="Number"||o(y)==="String")&&u(c,s(y))}var p=c.length,m=!0;return function(S,x){if(m)return m=!1,x;if(n(this))return x;for(var O=0;O<p;O++)if(c[O]===S)return x}}}},10512:function(i,d,t){var r=t(85156),n=t(5683);i.exports=function(e,o){var s=e[o];return n(s)?void 0:r(s)}},65263:function(i,d,t){var r=t(85156),n=t(25001),e=t(96499),o=t(12105),s=t(10613),u="Invalid size",f=RangeError,v=TypeError,c=Math.max,g=function(y,p){this.set=y,this.size=c(p,0),this.has=r(y.has),this.keys=r(y.keys)};g.prototype={getIterator:function(){return s(n(e(this.keys,this.set)))},includes:function(y){return e(this.has,this.set,y)}},i.exports=function(y){n(y);var p=+y.size;if(p!==p)throw new v(u);var m=o(p);if(m<0)throw new f(u);return new g(y,m)}},38368:function(i,d,t){var r=t(11286),n=t(49671),e=Math.floor,o=r("".charAt),s=r("".replace),u=r("".slice),f=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,v=/\$([$&'`]|\d{1,2})/g;i.exports=function(c,g,y,p,m,S){var x=y+c.length,O=p.length,P=v;return m!==void 0&&(m=n(m),P=f),s(S,P,function(T,R){var N;switch(o(R,0)){case"$":return"$";case"&":return c;case"`":return u(g,0,y);case"'":return u(g,x);case"<":N=m[u(R,1,-1)];break;default:var A=+R;if(A===0)return T;if(A>O){var C=e(A/10);return C===0?T:C<=O?p[C-1]===void 0?o(R,1):p[C-1]+o(R,1):T}N=p[A-1]}return N===void 0?"":N})}},34246:function(i){var d=function(t){return t&&t.Math===Math&&t};i.exports=d(typeof globalThis=="object"&&globalThis)||d(typeof window=="object"&&window)||d(typeof self=="object"&&self)||d(typeof global=="object"&&global)||d(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},94879:function(i,d,t){var r=t(11286),n=t(49671),e=r({}.hasOwnProperty);i.exports=Object.hasOwn||function(s,u){return e(n(s),u)}},19423:function(i){i.exports={}},99095:function(i){i.exports=function(d,t){try{arguments.length===1?console.error(d):console.error(d,t)}catch(r){}}},96439:function(i,d,t){var r=t(38941);i.exports=r("document","documentElement")},52515:function(i,d,t){var r=t(92986),n=t(72069),e=t(85501);i.exports=!r&&!n(function(){return Object.defineProperty(e("div"),"a",{get:function(){return 7}}).a!==7})},25212:function(i){var d=Array,t=Math.abs,r=Math.pow,n=Math.floor,e=Math.log,o=Math.LN2,s=function(f,v,c){var g=d(c),y=c*8-v-1,p=(1<<y)-1,m=p>>1,S=v===23?r(2,-24)-r(2,-77):0,x=f<0||f===0&&1/f<0?1:0,O=0,P,T,R;for(f=t(f),f!==f||f===1/0?(T=f!==f?1:0,P=p):(P=n(e(f)/o),R=r(2,-P),f*R<1&&(P--,R*=2),P+m>=1?f+=S/R:f+=S*r(2,1-m),f*R>=2&&(P++,R/=2),P+m>=p?(T=0,P=p):P+m>=1?(T=(f*R-1)*r(2,v),P+=m):(T=f*r(2,m-1)*r(2,v),P=0));v>=8;)g[O++]=T&255,T/=256,v-=8;for(P=P<<v|T,y+=v;y>0;)g[O++]=P&255,P/=256,y-=8;return g[O-1]|=x*128,g},u=function(f,v){var c=f.length,g=c*8-v-1,y=(1<<g)-1,p=y>>1,m=g-7,S=c-1,x=f[S--],O=x&127,P;for(x>>=7;m>0;)O=O*256+f[S--],m-=8;for(P=O&(1<<-m)-1,O>>=-m,m+=v;m>0;)P=P*256+f[S--],m-=8;if(O===0)O=1-p;else{if(O===y)return P?NaN:x?-1/0:1/0;P+=r(2,v),O-=p}return(x?-1:1)*P*r(2,O-v)};i.exports={pack:s,unpack:u}},72181:function(i,d,t){var r=t(11286),n=t(72069),e=t(14274),o=Object,s=r("".split);i.exports=n(function(){return!o("z").propertyIsEnumerable(0)})?function(u){return e(u)==="String"?s(u,""):o(u)}:o},32345:function(i,d,t){var r=t(23583),n=t(37540),e=t(15861);i.exports=function(o,s,u){var f,v;return e&&r(f=s.constructor)&&f!==u&&n(v=f.prototype)&&v!==u.prototype&&e(o,v),o}},84352:function(i,d,t){var r=t(11286),n=t(23583),e=t(70443),o=r(Function.toString);n(e.inspectSource)||(e.inspectSource=function(s){return o(s)}),i.exports=e.inspectSource},31486:function(i,d,t){var r=t(37540),n=t(90809);i.exports=function(e,o){r(o)&&"cause"in o&&n(e,"cause",o.cause)}},31853:function(i,d,t){var r=t(14304),n=t(11286),e=t(19423),o=t(37540),s=t(94879),u=t(7831).f,f=t(83258),v=t(92880),c=t(28174),g=t(36374),y=t(27534),p=!1,m=g("meta"),S=0,x=function(A){u(A,m,{value:{objectID:"O"+S++,weakData:{}}})},O=function(A,C){if(!o(A))return typeof A=="symbol"?A:(typeof A=="string"?"S":"P")+A;if(!s(A,m)){if(!c(A))return"F";if(!C)return"E";x(A)}return A[m].objectID},P=function(A,C){if(!s(A,m)){if(!c(A))return!0;if(!C)return!1;x(A)}return A[m].weakData},T=function(A){return y&&p&&c(A)&&!s(A,m)&&x(A),A},R=function(){N.enable=function(){},p=!0;var A=f.f,C=n([].splice),M={};M[m]=1,A(M).length&&(f.f=function($){for(var F=A($),U=0,w=F.length;U<w;U++)if(F[U]===m){C(F,U,1);break}return F},r({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:v.f}))},N=i.exports={enable:R,fastKey:O,getWeakData:P,onFreeze:T};e[m]=!0},82367:function(i,d,t){var r=t(42960),n=t(34246),e=t(37540),o=t(90809),s=t(94879),u=t(70443),f=t(44869),v=t(19423),c="Object already initialized",g=n.TypeError,y=n.WeakMap,p,m,S,x=function(R){return S(R)?m(R):p(R,{})},O=function(R){return function(N){var A;if(!e(N)||(A=m(N)).type!==R)throw new g("Incompatible receiver, "+R+" required");return A}};if(r||u.state){var P=u.state||(u.state=new y);P.get=P.get,P.has=P.has,P.set=P.set,p=function(R,N){if(P.has(R))throw new g(c);return N.facade=R,P.set(R,N),N},m=function(R){return P.get(R)||{}},S=function(R){return P.has(R)}}else{var T=f("state");v[T]=!0,p=function(R,N){if(s(R,T))throw new g(c);return N.facade=R,o(R,T,N),N},m=function(R){return s(R,T)?R[T]:{}},S=function(R){return s(R,T)}}i.exports={set:p,get:m,has:S,enforce:x,getterFor:O}},48199:function(i,d,t){var r=t(18565),n=t(29107),e=r("iterator"),o=Array.prototype;i.exports=function(s){return s!==void 0&&(n.Array===s||o[e]===s)}},3438:function(i,d,t){var r=t(14274);i.exports=Array.isArray||function(e){return r(e)==="Array"}},77129:function(i,d,t){var r=t(9205);i.exports=function(n){var e=r(n);return e==="BigInt64Array"||e==="BigUint64Array"}},23583:function(i){var d=typeof document=="object"&&document.all;i.exports=typeof d=="undefined"&&d!==void 0?function(t){return typeof t=="function"||t===d}:function(t){return typeof t=="function"}},11051:function(i,d,t){var r=t(11286),n=t(72069),e=t(23583),o=t(9205),s=t(38941),u=t(84352),f=function(){},v=s("Reflect","construct"),c=/^\s*(?:class|function)\b/,g=r(c.exec),y=!c.test(f),p=function(x){if(!e(x))return!1;try{return v(f,[],x),!0}catch(O){return!1}},m=function(x){if(!e(x))return!1;switch(o(x)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return y||!!g(c,u(x))}catch(O){return!0}};m.sham=!0,i.exports=!v||n(function(){var S;return p(p.call)||!p(Object)||!p(function(){S=!0})||S})?m:p},69745:function(i,d,t){var r=t(94879);i.exports=function(n){return n!==void 0&&(r(n,"value")||r(n,"writable"))}},13278:function(i,d,t){var r=t(72069),n=t(23583),e=/#|\.prototype\./,o=function(c,g){var y=u[s(c)];return y===v?!0:y===f?!1:n(g)?r(g):!!g},s=o.normalize=function(c){return String(c).replace(e,".").toLowerCase()},u=o.data={},f=o.NATIVE="N",v=o.POLYFILL="P";i.exports=o},613:function(i,d,t){var r=t(37540),n=Math.floor;i.exports=Number.isInteger||function(o){return!r(o)&&isFinite(o)&&n(o)===o}},5683:function(i){i.exports=function(d){return d==null}},37540:function(i,d,t){var r=t(23583);i.exports=function(n){return typeof n=="object"?n!==null:r(n)}},52427:function(i,d,t){var r=t(37540);i.exports=function(n){return r(n)||n===null}},70457:function(i){i.exports=!1},11566:function(i,d,t){var r=t(37540),n=t(14274),e=t(18565),o=e("match");i.exports=function(s){var u;return r(s)&&((u=s[o])!==void 0?!!u:n(s)==="RegExp")}},491:function(i,d,t){var r=t(38941),n=t(23583),e=t(95307),o=t(50234),s=Object;i.exports=o?function(u){return typeof u=="symbol"}:function(u){var f=r("Symbol");return n(f)&&e(f.prototype,s(u))}},9573:function(i,d,t){var r=t(96499);i.exports=function(n,e,o){for(var s=o?n:n.iterator,u=n.next,f,v;!(f=r(u,s)).done;)if(v=e(f.value),v!==void 0)return v}},55902:function(i,d,t){var r=t(45526),n=t(96499),e=t(25001),o=t(82453),s=t(48199),u=t(82628),f=t(95307),v=t(90619),c=t(81077),g=t(99797),y=TypeError,p=function(S,x){this.stopped=S,this.result=x},m=p.prototype;i.exports=function(S,x,O){var P=O&&O.that,T=!!(O&&O.AS_ENTRIES),R=!!(O&&O.IS_RECORD),N=!!(O&&O.IS_ITERATOR),A=!!(O&&O.INTERRUPTED),C=r(x,P),M,$,F,U,w,G,B,b=function(W){return M&&g(M,"normal",W),new p(!0,W)},j=function(W){return T?(e(W),A?C(W[0],W[1],b):C(W[0],W[1])):A?C(W,b):C(W)};if(R)M=S.iterator;else if(N)M=S;else{if($=c(S),!$)throw new y(o(S)+" is not iterable");if(s($)){for(F=0,U=u(S);U>F;F++)if(w=j(S[F]),w&&f(m,w))return w;return new p(!1)}M=v(S,$)}for(G=R?S.next:M.next;!(B=n(G,M)).done;){try{w=j(B.value)}catch(W){g(M,"throw",W)}if(typeof w=="object"&&w&&f(m,w))return w}return new p(!1)}},99797:function(i,d,t){var r=t(96499),n=t(25001),e=t(10512);i.exports=function(o,s,u){var f,v;n(o);try{if(f=e(o,"return"),!f){if(s==="throw")throw u;return u}f=r(f,o)}catch(c){v=!0,f=c}if(s==="throw")throw u;if(v)throw f;return n(f),u}},26820:function(i,d,t){var r=t(24519).IteratorPrototype,n=t(5406),e=t(18526),o=t(78401),s=t(29107),u=function(){return this};i.exports=function(f,v,c,g){var y=v+" Iterator";return f.prototype=n(r,{next:e(+!g,c)}),o(f,y,!1,!0),s[y]=u,f}},44736:function(i,d,t){var r=t(96499),n=t(5406),e=t(90809),o=t(2725),s=t(18565),u=t(82367),f=t(10512),v=t(24519).IteratorPrototype,c=t(10659),g=t(99797),y=s("toStringTag"),p="IteratorHelper",m="WrapForValidIterator",S=u.set,x=function(T){var R=u.getterFor(T?m:p);return o(n(v),{next:function(){var A=R(this);if(T)return A.nextHandler();try{var C=A.done?void 0:A.nextHandler();return c(C,A.done)}catch(M){throw A.done=!0,M}},return:function(){var N=R(this),A=N.iterator;if(N.done=!0,T){var C=f(A,"return");return C?r(C,A):c(void 0,!0)}if(N.inner)try{g(N.inner.iterator,"normal")}catch(M){return g(A,"throw",M)}return A&&g(A,"normal"),c(void 0,!0)}})},O=x(!0),P=x(!1);e(P,y,"Iterator Helper"),i.exports=function(T,R){var N=function(C,M){M?(M.iterator=C.iterator,M.next=C.next):M=C,M.type=R?m:p,M.nextHandler=T,M.counter=0,M.done=!1,S(this,M)};return N.prototype=R?O:P,N}},10218:function(i,d,t){var r=t(14304),n=t(96499),e=t(70457),o=t(86588),s=t(23583),u=t(26820),f=t(26313),v=t(15861),c=t(78401),g=t(90809),y=t(16142),p=t(18565),m=t(29107),S=t(24519),x=o.PROPER,O=o.CONFIGURABLE,P=S.IteratorPrototype,T=S.BUGGY_SAFARI_ITERATORS,R=p("iterator"),N="keys",A="values",C="entries",M=function(){return this};i.exports=function($,F,U,w,G,B,b){u(U,F,w);var j=function(Tt){if(Tt===G&&Z)return Z;if(!T&&Tt&&Tt in X)return X[Tt];switch(Tt){case N:return function(){return new U(this,Tt)};case A:return function(){return new U(this,Tt)};case C:return function(){return new U(this,Tt)}}return function(){return new U(this)}},W=F+" Iterator",Q=!1,X=$.prototype,k=X[R]||X["@@iterator"]||G&&X[G],Z=!T&&k||j(G),ht=F==="Array"&&X.entries||k,lt,pt,Ot;if(ht&&(lt=f(ht.call(new $)),lt!==Object.prototype&<.next&&(!e&&f(lt)!==P&&(v?v(lt,P):s(lt[R])||y(lt,R,M)),c(lt,W,!0,!0),e&&(m[W]=M))),x&&G===A&&k&&k.name!==A&&(!e&&O?g(X,"name",A):(Q=!0,Z=function(){return n(k,this)})),G)if(pt={values:j(A),keys:B?Z:j(N),entries:j(C)},b)for(Ot in pt)(T||Q||!(Ot in X))&&y(X,Ot,pt[Ot]);else r({target:F,proto:!0,forced:T||Q},pt);return(!e||b)&&X[R]!==Z&&y(X,R,Z,{name:G}),m[F]=Z,pt}},96191:function(i,d,t){var r=t(96499),n=t(85156),e=t(25001),o=t(10613),s=t(44736),u=t(39969),f=s(function(){var v=this.iterator,c=e(r(this.next,v)),g=this.done=!!c.done;if(!g)return u(v,this.mapper,[c.value,this.counter++],!0)});i.exports=function(c){return e(this),n(c),new f(o(this),{mapper:c})}},24519:function(i,d,t){var r=t(72069),n=t(23583),e=t(37540),o=t(5406),s=t(26313),u=t(16142),f=t(18565),v=t(70457),c=f("iterator"),g=!1,y,p,m;[].keys&&(m=[].keys(),"next"in m?(p=s(s(m)),p!==Object.prototype&&(y=p)):g=!0);var S=!e(y)||r(function(){var x={};return y[c].call(x)!==x});S?y={}:v&&(y=o(y)),n(y[c])||u(y,c,function(){return this}),i.exports={IteratorPrototype:y,BUGGY_SAFARI_ITERATORS:g}},29107:function(i){i.exports={}},82628:function(i,d,t){var r=t(45344);i.exports=function(n){return r(n.length)}},13749:function(i,d,t){var r=t(11286),n=t(72069),e=t(23583),o=t(94879),s=t(92986),u=t(86588).CONFIGURABLE,f=t(84352),v=t(82367),c=v.enforce,g=v.get,y=String,p=Object.defineProperty,m=r("".slice),S=r("".replace),x=r([].join),O=s&&!n(function(){return p(function(){},"length",{value:8}).length!==8}),P=String(String).split("String"),T=i.exports=function(R,N,A){m(y(N),0,7)==="Symbol("&&(N="["+S(y(N),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),A&&A.getter&&(N="get "+N),A&&A.setter&&(N="set "+N),(!o(R,"name")||u&&R.name!==N)&&(s?p(R,"name",{value:N,configurable:!0}):R.name=N),O&&A&&o(A,"arity")&&R.length!==A.arity&&p(R,"length",{value:A.arity});try{A&&o(A,"constructor")&&A.constructor?s&&p(R,"prototype",{writable:!1}):R.prototype&&(R.prototype=void 0)}catch(M){}var C=c(R);return o(C,"source")||(C.source=x(P,typeof N=="string"?N:"")),R};Function.prototype.toString=T(function(){return e(this)&&g(this).source||f(this)},"toString")},1774:function(i,d,t){var r=t(11286),n=Map.prototype;i.exports={Map,set:r(n.set),get:r(n.get),has:r(n.has),remove:r(n.delete),proto:n}},98940:function(i){var d=Math.expm1,t=Math.exp;i.exports=!d||d(10)>22025.465794806718||d(10)<22025.465794806718||d(-2e-17)!==-2e-17?function(n){var e=+n;return e===0?e:e>-1e-6&&e<1e-6?e+e*e/2:t(e)-1}:d},10418:function(i,d,t){var r=t(93976),n=Math.abs,e=2220446049250313e-31,o=1/e,s=function(u){return u+o-o};i.exports=function(u,f,v,c){var g=+u,y=n(g),p=r(g);if(y<c)return p*s(y/c/f)*c*f;var m=(1+f/e)*y,S=m-(m-y);return S>v||S!==S?p*(1/0):p*S}},93279:function(i,d,t){var r=t(10418),n=11920928955078125e-23,e=34028234663852886e22,o=11754943508222875e-54;i.exports=Math.fround||function(u){return r(u,n,e,o)}},41942:function(i){var d=Math.log,t=Math.LOG10E;i.exports=Math.log10||function(n){return d(n)*t}},49366:function(i){var d=Math.log;i.exports=Math.log1p||function(r){var n=+r;return n>-1e-8&&n<1e-8?n-n*n/2:d(1+n)}},93976:function(i){i.exports=Math.sign||function(t){var r=+t;return r===0||r!==r?r:r<0?-1:1}},22459:function(i){var d=Math.ceil,t=Math.floor;i.exports=Math.trunc||function(n){var e=+n;return(e>0?t:d)(e)}},9709:function(i,d,t){var r=t(34246),n=t(28167),e=t(45526),o=t(23115).set,s=t(76895),u=t(5286),f=t(7307),v=t(67722),c=t(91707),g=r.MutationObserver||r.WebKitMutationObserver,y=r.document,p=r.process,m=r.Promise,S=n("queueMicrotask"),x,O,P,T,R;if(!S){var N=new s,A=function(){var C,M;for(c&&(C=p.domain)&&C.exit();M=N.get();)try{M()}catch($){throw N.head&&x(),$}C&&C.enter()};!u&&!c&&!v&&g&&y?(O=!0,P=y.createTextNode(""),new g(A).observe(P,{characterData:!0}),x=function(){P.data=O=!O}):!f&&m&&m.resolve?(T=m.resolve(void 0),T.constructor=m,R=e(T.then,T),x=function(){R(A)}):c?x=function(){p.nextTick(A)}:(o=e(o,r),x=function(){o(A)}),S=function(C){N.head||x(),N.add(C)}}i.exports=S},24649:function(i,d,t){var r=t(85156),n=TypeError,e=function(o){var s,u;this.promise=new o(function(f,v){if(s!==void 0||u!==void 0)throw new n("Bad Promise constructor");s=f,u=v}),this.resolve=r(s),this.reject=r(u)};i.exports.f=function(o){return new e(o)}},15453:function(i,d,t){var r=t(17361);i.exports=function(n,e){return n===void 0?arguments.length<2?"":e:r(n)}},93483:function(i){var d=RangeError;i.exports=function(t){if(t===t)return t;throw new d("NaN is not allowed")}},92337:function(i,d,t){var r=t(11566),n=TypeError;i.exports=function(e){if(r(e))throw new n("The method doesn't accept regular expressions");return e}},98074:function(i,d,t){var r=t(34246),n=r.isFinite;i.exports=Number.isFinite||function(o){return typeof o=="number"&&n(o)}},25838:function(i,d,t){var r=t(34246),n=t(72069),e=t(11286),o=t(17361),s=t(85900).trim,u=t(77082),f=e("".charAt),v=r.parseFloat,c=r.Symbol,g=c&&c.iterator,y=1/v(u+"-0")!==-1/0||g&&!n(function(){v(Object(g))});i.exports=y?function(m){var S=s(o(m)),x=v(S);return x===0&&f(S,0)==="-"?-0:x}:v},23009:function(i,d,t){var r=t(34246),n=t(72069),e=t(11286),o=t(17361),s=t(85900).trim,u=t(77082),f=r.parseInt,v=r.Symbol,c=v&&v.iterator,g=/^[+-]?0x/i,y=e(g.exec),p=f(u+"08")!==8||f(u+"0x16")!==22||c&&!n(function(){f(Object(c))});i.exports=p?function(S,x){var O=s(o(S));return f(O,x>>>0||(y(g,O)?16:10))}:f},16667:function(i,d,t){var r=t(92986),n=t(11286),e=t(96499),o=t(72069),s=t(18350),u=t(24943),f=t(79591),v=t(49671),c=t(72181),g=Object.assign,y=Object.defineProperty,p=n([].concat);i.exports=!g||o(function(){if(r&&g({b:1},g(y({},"a",{enumerable:!0,get:function(){y(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var m={},S={},x=Symbol("assign detection"),O="abcdefghijklmnopqrst";return m[x]=7,O.split("").forEach(function(P){S[P]=P}),g({},m)[x]!==7||s(g({},S)).join("")!==O})?function(S,x){for(var O=v(S),P=arguments.length,T=1,R=u.f,N=f.f;P>T;)for(var A=c(arguments[T++]),C=R?p(s(A),R(A)):s(A),M=C.length,$=0,F;M>$;)F=C[$++],(!r||e(N,A,F))&&(O[F]=A[F]);return O}:g},5406:function(i,d,t){var r=t(25001),n=t(61963),e=t(75785),o=t(19423),s=t(96439),u=t(85501),f=t(44869),v=">",c="<",g="prototype",y="script",p=f("IE_PROTO"),m=function(){},S=function(R){return c+y+v+R+c+"/"+y+v},x=function(R){R.write(S("")),R.close();var N=R.parentWindow.Object;return R=null,N},O=function(){var R=u("iframe"),N="java"+y+":",A;return R.style.display="none",s.appendChild(R),R.src=String(N),A=R.contentWindow.document,A.open(),A.write(S("document.F=Object")),A.close(),A.F},P,T=function(){try{P=new ActiveXObject("htmlfile")}catch(N){}T=typeof document!="undefined"?document.domain&&P?x(P):O():x(P);for(var R=e.length;R--;)delete T[g][e[R]];return T()};o[p]=!0,i.exports=Object.create||function(N,A){var C;return N!==null?(m[g]=r(N),C=new m,m[g]=null,C[p]=N):C=T(),A===void 0?C:n.f(C,A)}},61963:function(i,d,t){var r=t(92986),n=t(356),e=t(7831),o=t(25001),s=t(36859),u=t(18350);d.f=r&&!n?Object.defineProperties:function(v,c){o(v);for(var g=s(c),y=u(c),p=y.length,m=0,S;p>m;)e.f(v,S=y[m++],g[S]);return v}},7831:function(i,d,t){var r=t(92986),n=t(52515),e=t(356),o=t(25001),s=t(50035),u=TypeError,f=Object.defineProperty,v=Object.getOwnPropertyDescriptor,c="enumerable",g="configurable",y="writable";d.f=r?e?function(m,S,x){if(o(m),S=s(S),o(x),typeof m=="function"&&S==="prototype"&&"value"in x&&y in x&&!x[y]){var O=v(m,S);O&&O[y]&&(m[S]=x.value,x={configurable:g in x?x[g]:O[g],enumerable:c in x?x[c]:O[c],writable:!1})}return f(m,S,x)}:f:function(m,S,x){if(o(m),S=s(S),o(x),n)try{return f(m,S,x)}catch(O){}if("get"in x||"set"in x)throw new u("Accessors not supported");return"value"in x&&(m[S]=x.value),m}},71349:function(i,d,t){var r=t(92986),n=t(96499),e=t(79591),o=t(18526),s=t(36859),u=t(50035),f=t(94879),v=t(52515),c=Object.getOwnPropertyDescriptor;d.f=r?c:function(y,p){if(y=s(y),p=u(p),v)try{return c(y,p)}catch(m){}if(f(y,p))return o(!n(e.f,y,p),y[p])}},92880:function(i,d,t){var r=t(14274),n=t(36859),e=t(83258).f,o=t(22806),s=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(f){try{return e(f)}catch(v){return o(s)}};i.exports.f=function(v){return s&&r(v)==="Window"?u(v):e(n(v))}},83258:function(i,d,t){var r=t(6242),n=t(75785),e=n.concat("length","prototype");d.f=Object.getOwnPropertyNames||function(s){return r(s,e)}},24943:function(i,d){d.f=Object.getOwnPropertySymbols},26313:function(i,d,t){var r=t(94879),n=t(23583),e=t(49671),o=t(44869),s=t(87501),u=o("IE_PROTO"),f=Object,v=f.prototype;i.exports=s?f.getPrototypeOf:function(c){var g=e(c);if(r(g,u))return g[u];var y=g.constructor;return n(y)&&g instanceof y?y.prototype:g instanceof f?v:null}},28174:function(i,d,t){var r=t(72069),n=t(37540),e=t(14274),o=t(72058),s=Object.isExtensible,u=r(function(){s(1)});i.exports=u||o?function(v){return!n(v)||o&&e(v)==="ArrayBuffer"?!1:s?s(v):!0}:s},95307:function(i,d,t){var r=t(11286);i.exports=r({}.isPrototypeOf)},6242:function(i,d,t){var r=t(11286),n=t(94879),e=t(36859),o=t(94319).indexOf,s=t(19423),u=r([].push);i.exports=function(f,v){var c=e(f),g=0,y=[],p;for(p in c)!n(s,p)&&n(c,p)&&u(y,p);for(;v.length>g;)n(c,p=v[g++])&&(~o(y,p)||u(y,p));return y}},18350:function(i,d,t){var r=t(6242),n=t(75785);i.exports=Object.keys||function(o){return r(o,n)}},79591:function(i,d){var t={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,n=r&&!t.call({1:2},1);d.f=n?function(o){var s=r(this,o);return!!s&&s.enumerable}:t},57629:function(i,d,t){var r=t(70457),n=t(34246),e=t(72069),o=t(66577);i.exports=r||!e(function(){if(!(o&&o<535)){var s=Math.random();__defineSetter__.call(null,s,function(){}),delete n[s]}})},15861:function(i,d,t){var r=t(84756),n=t(37540),e=t(2068),o=t(53408);i.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var s=!1,u={},f;try{f=r(Object.prototype,"__proto__","set"),f(u,[]),s=u instanceof Array}catch(v){}return function(c,g){return e(c),o(g),n(c)&&(s?f(c,g):c.__proto__=g),c}}():void 0)},8511:function(i,d,t){var r=t(92986),n=t(72069),e=t(11286),o=t(26313),s=t(18350),u=t(36859),f=t(79591).f,v=e(f),c=e([].push),g=r&&n(function(){var p=Object.create(null);return p[2]=2,!v(p,2)}),y=function(p){return function(m){for(var S=u(m),x=s(S),O=g&&o(S)===null,P=x.length,T=0,R=[],N;P>T;)N=x[T++],(!r||(O?N in S:v(S,N)))&&c(R,p?[N,S[N]]:S[N]);return R}};i.exports={entries:y(!0),values:y(!1)}},60105:function(i,d,t){var r=t(67878),n=t(9205);i.exports=r?{}.toString:function(){return"[object "+n(this)+"]"}},2064:function(i,d,t){var r=t(96499),n=t(23583),e=t(37540),o=TypeError;i.exports=function(s,u){var f,v;if(u==="string"&&n(f=s.toString)&&!e(v=r(f,s))||n(f=s.valueOf)&&!e(v=r(f,s))||u!=="string"&&n(f=s.toString)&&!e(v=r(f,s)))return v;throw new o("Can't convert object to primitive value")}},16885:function(i,d,t){var r=t(38941),n=t(11286),e=t(83258),o=t(24943),s=t(25001),u=n([].concat);i.exports=r("Reflect","ownKeys")||function(v){var c=e.f(s(v)),g=o.f;return g?u(c,g(v)):c}},75081:function(i,d,t){var r=t(34246);i.exports=r},67805:function(i){i.exports=function(d){try{return{error:!1,value:d()}}catch(t){return{error:!0,value:t}}}},37130:function(i,d,t){var r=t(34246),n=t(98844),e=t(23583),o=t(13278),s=t(84352),u=t(18565),f=t(21501),v=t(70457),c=t(44241),g=n&&n.prototype,y=u("species"),p=!1,m=e(r.PromiseRejectionEvent),S=o("Promise",function(){var x=s(n),O=x!==String(n);if(!O&&c===66||v&&!(g.catch&&g.finally))return!0;if(!c||c<51||!/native code/.test(x)){var P=new n(function(N){N(1)}),T=function(N){N(function(){},function(){})},R=P.constructor={};if(R[y]=T,p=P.then(function(){})instanceof T,!p)return!0}return!O&&(f==="BROWSER"||f==="DENO")&&!m});i.exports={CONSTRUCTOR:S,REJECTION_EVENT:m,SUBCLASSING:p}},98844:function(i,d,t){var r=t(34246);i.exports=r.Promise},87408:function(i,d,t){var r=t(25001),n=t(37540),e=t(24649);i.exports=function(o,s){if(r(o),n(s)&&s.constructor===o)return s;var u=e.f(o),f=u.resolve;return f(s),u.promise}},26035:function(i,d,t){var r=t(98844),n=t(97494),e=t(37130).CONSTRUCTOR;i.exports=e||!n(function(o){r.all(o).then(void 0,function(){})})},2594:function(i,d,t){var r=t(7831).f;i.exports=function(n,e,o){o in n||r(n,o,{configurable:!0,get:function(){return e[o]},set:function(s){e[o]=s}})}},76895:function(i){var d=function(){this.head=null,this.tail=null};d.prototype={add:function(t){var r={item:t,next:null},n=this.tail;n?n.next=r:this.head=r,this.tail=r},get:function(){var t=this.head;if(t){var r=this.head=t.next;return r===null&&(this.tail=null),t.item}}},i.exports=d},33064:function(i,d,t){var r=t(96499),n=t(25001),e=t(23583),o=t(14274),s=t(44381),u=TypeError;i.exports=function(f,v){var c=f.exec;if(e(c)){var g=r(c,f,v);return g!==null&&n(g),g}if(o(f)==="RegExp")return r(s,f,v);throw new u("RegExp#exec called on incompatible receiver")}},44381:function(i,d,t){var r=t(96499),n=t(11286),e=t(17361),o=t(29833),s=t(39807),u=t(96731),f=t(5406),v=t(82367).get,c=t(76769),g=t(85220),y=u("native-string-replace",String.prototype.replace),p=RegExp.prototype.exec,m=p,S=n("".charAt),x=n("".indexOf),O=n("".replace),P=n("".slice),T=function(){var C=/a/,M=/b*/g;return r(p,C,"a"),r(p,M,"a"),C.lastIndex!==0||M.lastIndex!==0}(),R=s.BROKEN_CARET,N=/()??/.exec("")[1]!==void 0,A=T||N||R||c||g;A&&(m=function(M){var $=this,F=v($),U=e(M),w=F.raw,G,B,b,j,W,Q,X;if(w)return w.lastIndex=$.lastIndex,G=r(m,w,U),$.lastIndex=w.lastIndex,G;var k=F.groups,Z=R&&$.sticky,ht=r(o,$),lt=$.source,pt=0,Ot=U;if(Z&&(ht=O(ht,"y",""),x(ht,"g")===-1&&(ht+="g"),Ot=P(U,$.lastIndex),$.lastIndex>0&&(!$.multiline||$.multiline&&S(U,$.lastIndex-1)!==` +`)&&(lt="(?: "+lt+")",Ot=" "+Ot,pt++),B=new RegExp("^(?:"+lt+")",ht)),N&&(B=new RegExp("^"+lt+"$(?!\\s)",ht)),T&&(b=$.lastIndex),j=r(p,Z?B:$,Ot),Z?j?(j.input=P(j.input,pt),j[0]=P(j[0],pt),j.index=$.lastIndex,$.lastIndex+=j[0].length):$.lastIndex=0:T&&j&&($.lastIndex=$.global?j.index+j[0].length:b),N&&j&&j.length>1&&r(y,j[0],B,function(){for(W=1;W<arguments.length-2;W++)arguments[W]===void 0&&(j[W]=void 0)}),j&&k)for(j.groups=Q=f(null),W=0;W<k.length;W++)X=k[W],Q[X[0]]=j[X[1]];return j}),i.exports=m},29833:function(i,d,t){var r=t(25001);i.exports=function(){var n=r(this),e="";return n.hasIndices&&(e+="d"),n.global&&(e+="g"),n.ignoreCase&&(e+="i"),n.multiline&&(e+="m"),n.dotAll&&(e+="s"),n.unicode&&(e+="u"),n.unicodeSets&&(e+="v"),n.sticky&&(e+="y"),e}},54932:function(i,d,t){var r=t(96499),n=t(94879),e=t(95307),o=t(29833),s=RegExp.prototype;i.exports=function(u){var f=u.flags;return f===void 0&&!("flags"in s)&&!n(u,"flags")&&e(s,u)?r(o,u):f}},39807:function(i,d,t){var r=t(72069),n=t(34246),e=n.RegExp,o=r(function(){var f=e("a","y");return f.lastIndex=2,f.exec("abcd")!==null}),s=o||r(function(){return!e("a","y").sticky}),u=o||r(function(){var f=e("^r","gy");return f.lastIndex=2,f.exec("str")!==null});i.exports={BROKEN_CARET:u,MISSED_STICKY:s,UNSUPPORTED_Y:o}},76769:function(i,d,t){var r=t(72069),n=t(34246),e=n.RegExp;i.exports=r(function(){var o=e(".","s");return!(o.dotAll&&o.test(` +`)&&o.flags==="s")})},85220:function(i,d,t){var r=t(72069),n=t(34246),e=n.RegExp;i.exports=r(function(){var o=e("(?<a>b)","g");return o.exec("b").groups.a!=="b"||"b".replace(o,"$<a>c")!=="bc"})},2068:function(i,d,t){var r=t(5683),n=TypeError;i.exports=function(e){if(r(e))throw new n("Can't call method on "+e);return e}},28167:function(i,d,t){var r=t(34246),n=t(92986),e=Object.getOwnPropertyDescriptor;i.exports=function(o){if(!n)return r[o];var s=e(r,o);return s&&s.value}},13944:function(i){i.exports=Object.is||function(t,r){return t===r?t!==0||1/t===1/r:t!==t&&r!==r}},9934:function(i,d,t){var r=t(34246),n=t(66543),e=t(23583),o=t(21501),s=t(18257),u=t(22806),f=t(95486),v=r.Function,c=/MSIE .\./.test(s)||o==="BUN"&&function(){var g=r.Bun.version.split(".");return g.length<3||g[0]==="0"&&(g[1]<3||g[1]==="3"&&g[2]==="0")}();i.exports=function(g,y){var p=y?2:1;return c?function(m,S){var x=f(arguments.length,1)>p,O=e(m)?m:v(m),P=x?u(arguments,p):[],T=x?function(){n(O,this,P)}:O;return y?g(T,S):g(T)}:g}},48348:function(i,d,t){var r=t(172),n=t(35051),e=r.Set,o=r.add;i.exports=function(s){var u=new e;return n(s,function(f){o(u,f)}),u}},41754:function(i,d,t){var r=t(76602),n=t(172),e=t(48348),o=t(17768),s=t(65263),u=t(35051),f=t(9573),v=n.has,c=n.remove;i.exports=function(y){var p=r(this),m=s(y),S=e(p);return o(p)<=m.size?u(p,function(x){m.includes(x)&&c(S,x)}):f(m.getIterator(),function(x){v(p,x)&&c(S,x)}),S}},172:function(i,d,t){var r=t(11286),n=Set.prototype;i.exports={Set,add:r(n.add),has:r(n.has),remove:r(n.delete),proto:n}},92292:function(i,d,t){var r=t(76602),n=t(172),e=t(17768),o=t(65263),s=t(35051),u=t(9573),f=n.Set,v=n.add,c=n.has;i.exports=function(y){var p=r(this),m=o(y),S=new f;return e(p)>m.size?u(m.getIterator(),function(x){c(p,x)&&v(S,x)}):s(p,function(x){m.includes(x)&&v(S,x)}),S}},47391:function(i,d,t){var r=t(76602),n=t(172).has,e=t(17768),o=t(65263),s=t(35051),u=t(9573),f=t(99797);i.exports=function(c){var g=r(this),y=o(c);if(e(g)<=y.size)return s(g,function(m){if(y.includes(m))return!1},!0)!==!1;var p=y.getIterator();return u(p,function(m){if(n(g,m))return f(p,"normal",!1)})!==!1}},75492:function(i,d,t){var r=t(76602),n=t(17768),e=t(35051),o=t(65263);i.exports=function(u){var f=r(this),v=o(u);return n(f)>v.size?!1:e(f,function(c){if(!v.includes(c))return!1},!0)!==!1}},1333:function(i,d,t){var r=t(76602),n=t(172).has,e=t(17768),o=t(65263),s=t(9573),u=t(99797);i.exports=function(v){var c=r(this),g=o(v);if(e(c)<g.size)return!1;var y=g.getIterator();return s(y,function(p){if(!n(c,p))return u(y,"normal",!1)})!==!1}},35051:function(i,d,t){var r=t(11286),n=t(9573),e=t(172),o=e.Set,s=e.proto,u=r(s.forEach),f=r(s.keys),v=f(new o).next;i.exports=function(c,g,y){return y?n({iterator:f(c),next:v},g):u(c,g)}},94118:function(i,d,t){var r=t(38941),n=function(e){return{size:e,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}};i.exports=function(e){var o=r("Set");try{new o()[e](n(0));try{return new o()[e](n(-1)),!1}catch(s){return!0}}catch(s){return!1}}},17768:function(i,d,t){var r=t(84756),n=t(172);i.exports=r(n.proto,"size","get")||function(e){return e.size}},36167:function(i,d,t){var r=t(38941),n=t(85500),e=t(18565),o=t(92986),s=e("species");i.exports=function(u){var f=r(u);o&&f&&!f[s]&&n(f,s,{configurable:!0,get:function(){return this}})}},64680:function(i,d,t){var r=t(76602),n=t(172),e=t(48348),o=t(65263),s=t(9573),u=n.add,f=n.has,v=n.remove;i.exports=function(g){var y=r(this),p=o(g).getIterator(),m=e(y);return s(p,function(S){f(y,S)?v(m,S):u(m,S)}),m}},78401:function(i,d,t){var r=t(7831).f,n=t(94879),e=t(18565),o=e("toStringTag");i.exports=function(s,u,f){s&&!f&&(s=s.prototype),s&&!n(s,o)&&r(s,o,{configurable:!0,value:u})}},70402:function(i,d,t){var r=t(76602),n=t(172).add,e=t(48348),o=t(65263),s=t(9573);i.exports=function(f){var v=r(this),c=o(f).getIterator(),g=e(v);return s(c,function(y){n(g,y)}),g}},44869:function(i,d,t){var r=t(96731),n=t(36374),e=r("keys");i.exports=function(o){return e[o]||(e[o]=n(o))}},70443:function(i,d,t){var r=t(70457),n=t(34246),e=t(36003),o="__core-js_shared__",s=i.exports=n[o]||e(o,{});(s.versions||(s.versions=[])).push({version:"3.39.0",mode:r?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE",source:"https://github.com/zloirock/core-js"})},96731:function(i,d,t){var r=t(70443);i.exports=function(n,e){return r[n]||(r[n]=e||{})}},16887:function(i,d,t){var r=t(25001),n=t(80042),e=t(5683),o=t(18565),s=o("species");i.exports=function(u,f){var v=r(u).constructor,c;return v===void 0||e(c=r(v)[s])?f:n(c)}},5287:function(i,d,t){var r=t(72069);i.exports=function(n){return r(function(){var e=""[n]('"');return e!==e.toLowerCase()||e.split('"').length>3})}},22149:function(i,d,t){var r=t(11286),n=t(12105),e=t(17361),o=t(2068),s=r("".charAt),u=r("".charCodeAt),f=r("".slice),v=function(c){return function(g,y){var p=e(o(g)),m=n(y),S=p.length,x,O;return m<0||m>=S?c?"":void 0:(x=u(p,m),x<55296||x>56319||m+1===S||(O=u(p,m+1))<56320||O>57343?c?s(p,m):x:c?f(p,m,m+2):(x-55296<<10)+(O-56320)+65536)}};i.exports={codeAt:v(!1),charAt:v(!0)}},36945:function(i,d,t){var r=t(18257);i.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(r)},61607:function(i,d,t){var r=t(11286),n=t(45344),e=t(17361),o=t(79719),s=t(2068),u=r(o),f=r("".slice),v=Math.ceil,c=function(g){return function(y,p,m){var S=e(s(y)),x=n(p),O=S.length,P=m===void 0?" ":e(m),T,R;return x<=O||P===""?S:(T=x-O,R=u(P,v(T/P.length)),R.length>T&&(R=f(R,0,T)),g?S+R:R+S)}};i.exports={start:c(!1),end:c(!0)}},38679:function(i,d,t){var r=t(11286),n=2147483647,e=36,o=1,s=26,u=38,f=700,v=72,c=128,g="-",y=/[^\0-\u007E]/,p=/[.\u3002\uFF0E\uFF61]/g,m="Overflow: input needs wider integers to process",S=e-o,x=RangeError,O=r(p.exec),P=Math.floor,T=String.fromCharCode,R=r("".charCodeAt),N=r([].join),A=r([].push),C=r("".replace),M=r("".split),$=r("".toLowerCase),F=function(B){for(var b=[],j=0,W=B.length;j<W;){var Q=R(B,j++);if(Q>=55296&&Q<=56319&&j<W){var X=R(B,j++);(X&64512)===56320?A(b,((Q&1023)<<10)+(X&1023)+65536):(A(b,Q),j--)}else A(b,Q)}return b},U=function(B){return B+22+75*(B<26)},w=function(B,b,j){var W=0;for(B=j?P(B/f):B>>1,B+=P(B/b);B>S*s>>1;)B=P(B/S),W+=e;return P(W+(S+1)*B/(B+u))},G=function(B){var b=[];B=F(B);var j=B.length,W=c,Q=0,X=v,k,Z;for(k=0;k<B.length;k++)Z=B[k],Z<128&&A(b,T(Z));var ht=b.length,lt=ht;for(ht&&A(b,g);lt<j;){var pt=n;for(k=0;k<B.length;k++)Z=B[k],Z>=W&&Z<pt&&(pt=Z);var Ot=lt+1;if(pt-W>P((n-Q)/Ot))throw new x(m);for(Q+=(pt-W)*Ot,W=pt,k=0;k<B.length;k++){if(Z=B[k],Z<W&&++Q>n)throw new x(m);if(Z===W){for(var Tt=Q,Kt=e;;){var Vt=Kt<=X?o:Kt>=X+s?s:Kt-X;if(Tt<Vt)break;var Ut=Tt-Vt,vt=e-Vt;A(b,T(U(Vt+Ut%vt))),Tt=P(Ut/vt),Kt+=e}A(b,T(U(Tt))),X=w(Q,Ot,lt===ht),Q=0,lt++}}Q++,W++}return N(b,"")};i.exports=function(B){var b=[],j=M(C($(B),p,"."),"."),W,Q;for(W=0;W<j.length;W++)Q=j[W],A(b,O(y,Q)?"xn--"+G(Q):Q);return N(b,".")}},79719:function(i,d,t){var r=t(12105),n=t(17361),e=t(2068),o=RangeError;i.exports=function(u){var f=n(e(this)),v="",c=r(u);if(c<0||c===1/0)throw new o("Wrong number of repetitions");for(;c>0;(c>>>=1)&&(f+=f))c&1&&(v+=f);return v}},75176:function(i,d,t){var r=t(85900).end,n=t(33328);i.exports=n("trimEnd")?function(){return r(this)}:"".trimEnd},33328:function(i,d,t){var r=t(86588).PROPER,n=t(72069),e=t(77082),o="\u200B\x85\u180E";i.exports=function(s){return n(function(){return!!e[s]()||o[s]()!==o||r&&e[s].name!==s})}},83481:function(i,d,t){var r=t(85900).start,n=t(33328);i.exports=n("trimStart")?function(){return r(this)}:"".trimStart},85900:function(i,d,t){var r=t(11286),n=t(2068),e=t(17361),o=t(77082),s=r("".replace),u=RegExp("^["+o+"]+"),f=RegExp("(^|[^"+o+"])["+o+"]+$"),v=function(c){return function(g){var y=e(n(g));return c&1&&(y=s(y,u,"")),c&2&&(y=s(y,f,"$1")),y}};i.exports={start:v(1),end:v(2),trim:v(3)}},99050:function(i,d,t){var r=t(34246),n=t(72069),e=t(44241),o=t(21501),s=r.structuredClone;i.exports=!!s&&!n(function(){if(o==="DENO"&&e>92||o==="NODE"&&e>94||o==="BROWSER"&&e>97)return!1;var u=new ArrayBuffer(8),f=s(u,{transfer:[u]});return u.byteLength!==0||f.byteLength!==8})},39729:function(i,d,t){var r=t(44241),n=t(72069),e=t(34246),o=e.String;i.exports=!!Object.getOwnPropertySymbols&&!n(function(){var s=Symbol("symbol detection");return!o(s)||!(Object(s)instanceof Symbol)||!Symbol.sham&&r&&r<41})},60796:function(i,d,t){var r=t(96499),n=t(38941),e=t(18565),o=t(16142);i.exports=function(){var s=n("Symbol"),u=s&&s.prototype,f=u&&u.valueOf,v=e("toPrimitive");u&&!u[v]&&o(u,v,function(c){return r(f,this)},{arity:1})}},61190:function(i,d,t){var r=t(39729);i.exports=r&&!!Symbol.for&&!!Symbol.keyFor},23115:function(i,d,t){var r=t(34246),n=t(66543),e=t(45526),o=t(23583),s=t(94879),u=t(72069),f=t(96439),v=t(22806),c=t(85501),g=t(95486),y=t(5286),p=t(91707),m=r.setImmediate,S=r.clearImmediate,x=r.process,O=r.Dispatch,P=r.Function,T=r.MessageChannel,R=r.String,N=0,A={},C="onreadystatechange",M,$,F,U;u(function(){M=r.location});var w=function(j){if(s(A,j)){var W=A[j];delete A[j],W()}},G=function(j){return function(){w(j)}},B=function(j){w(j.data)},b=function(j){r.postMessage(R(j),M.protocol+"//"+M.host)};(!m||!S)&&(m=function(W){g(arguments.length,1);var Q=o(W)?W:P(W),X=v(arguments,1);return A[++N]=function(){n(Q,void 0,X)},$(N),N},S=function(W){delete A[W]},p?$=function(j){x.nextTick(G(j))}:O&&O.now?$=function(j){O.now(G(j))}:T&&!y?(F=new T,U=F.port2,F.port1.onmessage=B,$=e(U.postMessage,U)):r.addEventListener&&o(r.postMessage)&&!r.importScripts&&M&&M.protocol!=="file:"&&!u(b)?($=b,r.addEventListener("message",B,!1)):C in c("script")?$=function(j){f.appendChild(c("script"))[C]=function(){f.removeChild(this),w(j)}}:$=function(j){setTimeout(G(j),0)}),i.exports={set:m,clear:S}},34338:function(i,d,t){var r=t(11286);i.exports=r(1 .valueOf)},4652:function(i,d,t){var r=t(12105),n=Math.max,e=Math.min;i.exports=function(o,s){var u=r(o);return u<0?n(u+s,0):e(u,s)}},11344:function(i,d,t){var r=t(89935),n=TypeError;i.exports=function(e){var o=r(e,"number");if(typeof o=="number")throw new n("Can't convert number to bigint");return BigInt(o)}},9450:function(i,d,t){var r=t(12105),n=t(45344),e=RangeError;i.exports=function(o){if(o===void 0)return 0;var s=r(o),u=n(s);if(s!==u)throw new e("Wrong length or index");return u}},36859:function(i,d,t){var r=t(72181),n=t(2068);i.exports=function(e){return r(n(e))}},12105:function(i,d,t){var r=t(22459);i.exports=function(n){var e=+n;return e!==e||e===0?0:r(e)}},45344:function(i,d,t){var r=t(12105),n=Math.min;i.exports=function(e){var o=r(e);return o>0?n(o,9007199254740991):0}},49671:function(i,d,t){var r=t(2068),n=Object;i.exports=function(e){return n(r(e))}},58143:function(i,d,t){var r=t(98072),n=RangeError;i.exports=function(e,o){var s=r(e);if(s%o)throw new n("Wrong offset");return s}},98072:function(i,d,t){var r=t(12105),n=RangeError;i.exports=function(e){var o=r(e);if(o<0)throw new n("The argument can't be less than 0");return o}},89935:function(i,d,t){var r=t(96499),n=t(37540),e=t(491),o=t(10512),s=t(2064),u=t(18565),f=TypeError,v=u("toPrimitive");i.exports=function(c,g){if(!n(c)||e(c))return c;var y=o(c,v),p;if(y){if(g===void 0&&(g="default"),p=r(y,c,g),!n(p)||e(p))return p;throw new f("Can't convert object to primitive value")}return g===void 0&&(g="number"),s(c,g)}},50035:function(i,d,t){var r=t(89935),n=t(491);i.exports=function(e){var o=r(e,"string");return n(o)?o:o+""}},67878:function(i,d,t){var r=t(18565),n=r("toStringTag"),e={};e[n]="z",i.exports=String(e)==="[object z]"},17361:function(i,d,t){var r=t(9205),n=String;i.exports=function(e){if(r(e)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return n(e)}},76517:function(i){var d=Math.round;i.exports=function(t){var r=d(t);return r<0?0:r>255?255:r&255}},82453:function(i){var d=String;i.exports=function(t){try{return d(t)}catch(r){return"Object"}}},80357:function(i,d,t){var r=t(14304),n=t(34246),e=t(96499),o=t(92986),s=t(46868),u=t(88037),f=t(17468),v=t(12833),c=t(18526),g=t(90809),y=t(613),p=t(45344),m=t(9450),S=t(58143),x=t(76517),O=t(50035),P=t(94879),T=t(9205),R=t(37540),N=t(491),A=t(5406),C=t(95307),M=t(15861),$=t(83258).f,F=t(66169),U=t(66655).forEach,w=t(36167),G=t(85500),B=t(7831),b=t(71349),j=t(5220),W=t(82367),Q=t(32345),X=W.get,k=W.set,Z=W.enforce,ht=B.f,lt=b.f,pt=n.RangeError,Ot=f.ArrayBuffer,Tt=Ot.prototype,Kt=f.DataView,Vt=u.NATIVE_ARRAY_BUFFER_VIEWS,Ut=u.TYPED_ARRAY_TAG,vt=u.TypedArray,mt=u.TypedArrayPrototype,Dt=u.isTypedArray,$t="BYTES_PER_ELEMENT",Nt="Wrong length",jt=function(Qt,zt){G(Qt,zt,{configurable:!0,get:function(){return X(this)[zt]}})},kt=function(Qt){var zt;return C(Tt,Qt)||(zt=T(Qt))==="ArrayBuffer"||zt==="SharedArrayBuffer"},_t=function(Qt,zt){return Dt(Qt)&&!N(zt)&&zt in Qt&&y(+zt)&&zt>=0},Xt=function(zt,wt){return wt=O(wt),_t(zt,wt)?c(2,zt[wt]):lt(zt,wt)},Bt=function(zt,wt,st){return wt=O(wt),_t(zt,wt)&&R(st)&&P(st,"value")&&!P(st,"get")&&!P(st,"set")&&!st.configurable&&(!P(st,"writable")||st.writable)&&(!P(st,"enumerable")||st.enumerable)?(zt[wt]=st.value,zt):ht(zt,wt,st)};o?(Vt||(b.f=Xt,B.f=Bt,jt(mt,"buffer"),jt(mt,"byteOffset"),jt(mt,"byteLength"),jt(mt,"length")),r({target:"Object",stat:!0,forced:!Vt},{getOwnPropertyDescriptor:Xt,defineProperty:Bt}),i.exports=function(Qt,zt,wt){var st=Qt.match(/\d+/)[0]/8,dt=Qt+(wt?"Clamped":"")+"Array",q="get"+Qt,At="set"+Qt,Pt=n[dt],It=Pt,St=It&&It.prototype,er={},or=function(ot,ct){var rt=X(ot);return rt.view[q](ct*st+rt.byteOffset,!0)},Y=function(ot,ct,rt){var Ft=X(ot);Ft.view[At](ct*st+Ft.byteOffset,wt?x(rt):rt,!0)},et=function(ot,ct){ht(ot,ct,{get:function(){return or(this,ct)},set:function(rt){return Y(this,ct,rt)},enumerable:!0})};Vt?s&&(It=zt(function(ot,ct,rt,Ft){return v(ot,St),Q(function(){return R(ct)?kt(ct)?Ft!==void 0?new Pt(ct,S(rt,st),Ft):rt!==void 0?new Pt(ct,S(rt,st)):new Pt(ct):Dt(ct)?j(It,ct):e(F,It,ct):new Pt(m(ct))}(),ot,It)}),M&&M(It,vt),U($(Pt),function(ot){ot in It||g(It,ot,Pt[ot])}),It.prototype=St):(It=zt(function(ot,ct,rt,Ft){v(ot,St);var qt=0,nt=0,gt,yt,xt;if(!R(ct))xt=m(ct),yt=xt*st,gt=new Ot(yt);else if(kt(ct)){gt=ct,nt=S(rt,st);var bt=ct.byteLength;if(Ft===void 0){if(bt%st)throw new pt(Nt);if(yt=bt-nt,yt<0)throw new pt(Nt)}else if(yt=p(Ft)*st,yt+nt>bt)throw new pt(Nt);xt=yt/st}else return Dt(ct)?j(It,ct):e(F,It,ct);for(k(ot,{buffer:gt,byteOffset:nt,byteLength:yt,length:xt,view:new Kt(gt)});qt<xt;)et(ot,qt++)}),M&&M(It,vt),St=It.prototype=A(mt)),St.constructor!==It&&g(St,"constructor",It),Z(St).TypedArrayConstructor=It,Ut&&g(St,Ut,dt);var ut=It!==Pt;er[dt]=It,r({global:!0,constructor:!0,forced:ut,sham:!Vt},er),$t in It||g(It,$t,st),$t in St||g(St,$t,st),w(dt)}):i.exports=function(){}},46868:function(i,d,t){var r=t(34246),n=t(72069),e=t(97494),o=t(88037).NATIVE_ARRAY_BUFFER_VIEWS,s=r.ArrayBuffer,u=r.Int8Array;i.exports=!o||!n(function(){u(1)})||!n(function(){new u(-1)})||!e(function(f){new u,new u(null),new u(1.5),new u(f)},!0)||n(function(){return new u(new s(2),1,void 0).length!==1})},39954:function(i,d,t){var r=t(5220),n=t(88037).getTypedArrayConstructor;i.exports=function(e,o){return r(n(e),o)}},66169:function(i,d,t){var r=t(45526),n=t(96499),e=t(80042),o=t(49671),s=t(82628),u=t(90619),f=t(81077),v=t(48199),c=t(77129),g=t(88037).aTypedArrayConstructor,y=t(11344);i.exports=function(m){var S=e(this),x=o(m),O=arguments.length,P=O>1?arguments[1]:void 0,T=P!==void 0,R=f(x),N,A,C,M,$,F,U,w;if(R&&!v(R))for(U=u(x,R),w=U.next,x=[];!(F=n(w,U)).done;)x.push(F.value);for(T&&O>2&&(P=r(P,arguments[2])),A=s(x),C=new(g(S))(A),M=c(C),N=0;A>N;N++)$=T?P(x[N],N):x[N],C[N]=M?y($):+$;return C}},36374:function(i,d,t){var r=t(11286),n=0,e=Math.random(),o=r(1 .toString);i.exports=function(s){return"Symbol("+(s===void 0?"":s)+")_"+o(++n+e,36)}},91918:function(i,d,t){var r=t(72069),n=t(18565),e=t(92986),o=t(70457),s=n("iterator");i.exports=!r(function(){var u=new URL("b?a=1&b=2&c=3","https://a"),f=u.searchParams,v=new URLSearchParams("a=1&a=2&b=3"),c="";return u.pathname="c%20d",f.forEach(function(g,y){f.delete("b"),c+=y+g}),v.delete("a",2),v.delete("b",void 0),o&&(!u.toJSON||!v.has("a",1)||v.has("a",2)||!v.has("a",void 0)||v.has("b"))||!f.size&&(o||!e)||!f.sort||u.href!=="https://a/c%20d?a=1&c=3"||f.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!f[s]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("https://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("https://a#\u0431").hash!=="#%D0%B1"||c!=="a1c3"||new URL("https://x",void 0).host!=="x"})},50234:function(i,d,t){var r=t(39729);i.exports=r&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},356:function(i,d,t){var r=t(92986),n=t(72069);i.exports=r&&n(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},95486:function(i){var d=TypeError;i.exports=function(t,r){if(t<r)throw new d("Not enough arguments");return t}},42960:function(i,d,t){var r=t(34246),n=t(23583),e=r.WeakMap;i.exports=n(e)&&/native code/.test(String(e))},83749:function(i,d,t){var r=t(75081),n=t(94879),e=t(56529),o=t(7831).f;i.exports=function(s){var u=r.Symbol||(r.Symbol={});n(u,s)||o(u,s,{value:e.f(s)})}},56529:function(i,d,t){var r=t(18565);d.f=r},18565:function(i,d,t){var r=t(34246),n=t(96731),e=t(94879),o=t(36374),s=t(39729),u=t(50234),f=r.Symbol,v=n("wks"),c=u?f.for||f:f&&f.withoutSetter||o;i.exports=function(g){return e(v,g)||(v[g]=s&&e(f,g)?f[g]:c("Symbol."+g)),v[g]}},77082:function(i){i.exports=` +\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`},70003:function(i,d,t){var r=t(38941),n=t(94879),e=t(90809),o=t(95307),s=t(15861),u=t(93706),f=t(2594),v=t(32345),c=t(15453),g=t(31486),y=t(97077),p=t(92986),m=t(70457);i.exports=function(S,x,O,P){var T="stackTraceLimit",R=P?2:1,N=S.split("."),A=N[N.length-1],C=r.apply(null,N);if(C){var M=C.prototype;if(!m&&n(M,"cause")&&delete M.cause,!O)return C;var $=r("Error"),F=x(function(U,w){var G=c(P?w:U,void 0),B=P?new C(U):new C;return G!==void 0&&e(B,"message",G),y(B,F,B.stack,2),this&&o(M,this)&&v(B,this,F),arguments.length>R&&g(B,arguments[R]),B});if(F.prototype=M,A!=="Error"?s?s(F,$):u(F,$,{name:!0}):p&&T in C&&(f(F,C,T),f(F,C,"prepareStackTrace")),u(F,C),!m)try{M.name!==A&&e(M,"name",A),M.constructor=F}catch(U){}return F}}},27796:function(i,d,t){var r=t(14304),n=t(38941),e=t(66543),o=t(72069),s=t(70003),u="AggregateError",f=n(u),v=!o(function(){return f([1]).errors[0]!==1})&&o(function(){return f([1],u,{cause:7}).cause!==7});r({global:!0,constructor:!0,arity:2,forced:v},{AggregateError:s(u,function(c){return function(y,p){return e(c,this,arguments)}},v,!0)})},85647:function(i,d,t){var r=t(14304),n=t(95307),e=t(26313),o=t(15861),s=t(93706),u=t(5406),f=t(90809),v=t(18526),c=t(31486),g=t(97077),y=t(55902),p=t(15453),m=t(18565),S=m("toStringTag"),x=Error,O=[].push,P=function(N,A){var C=n(T,this),M;o?M=o(new x,C?e(this):T):(M=C?this:u(T),f(M,S,"Error")),A!==void 0&&f(M,"message",p(A)),g(M,P,M.stack,1),arguments.length>2&&c(M,arguments[2]);var $=[];return y(N,O,{that:$}),f(M,"errors",$),M};o?o(P,x):s(P,x,{name:!0});var T=P.prototype=u(x.prototype,{constructor:v(1,P),message:v(1,""),name:v(1,"AggregateError")});r({global:!0,constructor:!0,arity:2},{AggregateError:P})},42861:function(i,d,t){t(85647)},35473:function(i,d,t){var r=t(14304),n=t(34246),e=t(17468),o=t(36167),s="ArrayBuffer",u=e[s],f=n[s];r({global:!0,constructor:!0,forced:f!==u},{ArrayBuffer:u}),o(s)},35495:function(i,d,t){var r=t(92986),n=t(85500),e=t(30736),o=ArrayBuffer.prototype;r&&!("detached"in o)&&n(o,"detached",{configurable:!0,get:function(){return e(this)}})},4983:function(i,d,t){var r=t(14304),n=t(88037),e=n.NATIVE_ARRAY_BUFFER_VIEWS;r({target:"ArrayBuffer",stat:!0,forced:!e},{isView:n.isView})},6875:function(i,d,t){var r=t(14304),n=t(77422),e=t(72069),o=t(17468),s=t(25001),u=t(4652),f=t(45344),v=o.ArrayBuffer,c=o.DataView,g=c.prototype,y=n(v.prototype.slice),p=n(g.getUint8),m=n(g.setUint8),S=e(function(){return!new v(2).slice(1,void 0).byteLength});r({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:S},{slice:function(O,P){if(y&&P===void 0)return y(s(this),O);for(var T=s(this).byteLength,R=u(O,T),N=u(P===void 0?T:P,T),A=new v(f(N-R)),C=new c(this),M=new c(A),$=0;R<N;)m(M,$++,p(C,R++));return A}})},58594:function(i,d,t){var r=t(14304),n=t(65006);n&&r({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return n(this,arguments.length?arguments[0]:void 0,!1)}})},32790:function(i,d,t){var r=t(14304),n=t(65006);n&&r({target:"ArrayBuffer",proto:!0},{transfer:function(){return n(this,arguments.length?arguments[0]:void 0,!0)}})},1341:function(i,d,t){var r=t(14304),n=t(49671),e=t(82628),o=t(12105),s=t(23811);r({target:"Array",proto:!0},{at:function(f){var v=n(this),c=e(v),g=o(f),y=g>=0?g:c+g;return y<0||y>=c?void 0:v[y]}}),s("at")},98700:function(i,d,t){var r=t(14304),n=t(72069),e=t(3438),o=t(37540),s=t(49671),u=t(82628),f=t(20095),v=t(84082),c=t(62083),g=t(52183),y=t(18565),p=t(44241),m=y("isConcatSpreadable"),S=p>=51||!n(function(){var P=[];return P[m]=!1,P.concat()[0]!==P}),x=function(P){if(!o(P))return!1;var T=P[m];return T!==void 0?!!T:e(P)},O=!S||!g("concat");r({target:"Array",proto:!0,arity:1,forced:O},{concat:function(T){var R=s(this),N=c(R,0),A=0,C,M,$,F,U;for(C=-1,$=arguments.length;C<$;C++)if(U=C===-1?R:arguments[C],x(U))for(F=u(U),f(A+F),M=0;M<F;M++,A++)M in U&&v(N,A,U[M]);else f(A+1),v(N,A++,U);return N.length=A,N}})},65481:function(i,d,t){var r=t(14304),n=t(81499),e=t(23811);r({target:"Array",proto:!0},{copyWithin:n}),e("copyWithin")},46509:function(i,d,t){var r=t(14304),n=t(66655).every,e=t(6148),o=e("every");r({target:"Array",proto:!0,forced:!o},{every:function(u){return n(this,u,arguments.length>1?arguments[1]:void 0)}})},41585:function(i,d,t){var r=t(14304),n=t(43011),e=t(23811);r({target:"Array",proto:!0},{fill:n}),e("fill")},84554:function(i,d,t){var r=t(14304),n=t(66655).filter,e=t(52183),o=e("filter");r({target:"Array",proto:!0,forced:!o},{filter:function(u){return n(this,u,arguments.length>1?arguments[1]:void 0)}})},33818:function(i,d,t){var r=t(14304),n=t(66655).findIndex,e=t(23811),o="findIndex",s=!0;o in[]&&Array(1)[o](function(){s=!1}),r({target:"Array",proto:!0,forced:s},{findIndex:function(f){return n(this,f,arguments.length>1?arguments[1]:void 0)}}),e(o)},2209:function(i,d,t){var r=t(14304),n=t(73849).findLastIndex,e=t(23811);r({target:"Array",proto:!0},{findLastIndex:function(s){return n(this,s,arguments.length>1?arguments[1]:void 0)}}),e("findLastIndex")},64096:function(i,d,t){var r=t(14304),n=t(73849).findLast,e=t(23811);r({target:"Array",proto:!0},{findLast:function(s){return n(this,s,arguments.length>1?arguments[1]:void 0)}}),e("findLast")},36619:function(i,d,t){var r=t(14304),n=t(66655).find,e=t(23811),o="find",s=!0;o in[]&&Array(1)[o](function(){s=!1}),r({target:"Array",proto:!0,forced:s},{find:function(f){return n(this,f,arguments.length>1?arguments[1]:void 0)}}),e(o)},74092:function(i,d,t){var r=t(14304),n=t(53149),e=t(85156),o=t(49671),s=t(82628),u=t(62083);r({target:"Array",proto:!0},{flatMap:function(v){var c=o(this),g=s(c),y;return e(v),y=u(c,0),y.length=n(y,c,c,g,0,1,v,arguments.length>1?arguments[1]:void 0),y}})},91591:function(i,d,t){var r=t(14304),n=t(53149),e=t(49671),o=t(82628),s=t(12105),u=t(62083);r({target:"Array",proto:!0},{flat:function(){var v=arguments.length?arguments[0]:void 0,c=e(this),g=o(c),y=u(c,0);return y.length=n(y,c,c,g,0,v===void 0?1:s(v)),y}})},54703:function(i,d,t){var r=t(14304),n=t(13349);r({target:"Array",proto:!0,forced:[].forEach!==n},{forEach:n})},82936:function(i,d,t){var r=t(14304),n=t(48258),e=t(97494),o=!e(function(s){Array.from(s)});r({target:"Array",stat:!0,forced:o},{from:n})},48493:function(i,d,t){var r=t(14304),n=t(94319).includes,e=t(72069),o=t(23811),s=e(function(){return!Array(1).includes()});r({target:"Array",proto:!0,forced:s},{includes:function(f){return n(this,f,arguments.length>1?arguments[1]:void 0)}}),o("includes")},64730:function(i,d,t){var r=t(14304),n=t(77422),e=t(94319).indexOf,o=t(6148),s=n([].indexOf),u=!!s&&1/s([1],1,-0)<0,f=u||!o("indexOf");r({target:"Array",proto:!0,forced:f},{indexOf:function(c){var g=arguments.length>1?arguments[1]:void 0;return u?s(this,c,g)||0:e(this,c,g)}})},95024:function(i,d,t){var r=t(14304),n=t(3438);r({target:"Array",stat:!0},{isArray:n})},35054:function(i,d,t){var r=t(36859),n=t(23811),e=t(29107),o=t(82367),s=t(7831).f,u=t(10218),f=t(10659),v=t(70457),c=t(92986),g="Array Iterator",y=o.set,p=o.getterFor(g);i.exports=u(Array,"Array",function(S,x){y(this,{type:g,target:r(S),index:0,kind:x})},function(){var S=p(this),x=S.target,O=S.index++;if(!x||O>=x.length)return S.target=null,f(void 0,!0);switch(S.kind){case"keys":return f(O,!1);case"values":return f(x[O],!1)}return f([O,x[O]],!1)},"values");var m=e.Arguments=e.Array;if(n("keys"),n("values"),n("entries"),!v&&c&&m.name!=="values")try{s(m,"name",{value:"values"})}catch(S){}},25460:function(i,d,t){var r=t(14304),n=t(11286),e=t(72181),o=t(36859),s=t(6148),u=n([].join),f=e!==Object,v=f||!s("join",",");r({target:"Array",proto:!0,forced:v},{join:function(g){return u(o(this),g===void 0?",":g)}})},60703:function(i,d,t){var r=t(14304),n=t(58465);r({target:"Array",proto:!0,forced:n!==[].lastIndexOf},{lastIndexOf:n})},90468:function(i,d,t){var r=t(14304),n=t(66655).map,e=t(52183),o=e("map");r({target:"Array",proto:!0,forced:!o},{map:function(u){return n(this,u,arguments.length>1?arguments[1]:void 0)}})},69581:function(i,d,t){var r=t(14304),n=t(72069),e=t(11051),o=t(84082),s=Array,u=n(function(){function f(){}return!(s.of.call(f)instanceof f)});r({target:"Array",stat:!0,forced:u},{of:function(){for(var v=0,c=arguments.length,g=new(e(this)?this:s)(c);c>v;)o(g,v,arguments[v++]);return g.length=c,g}})},720:function(i,d,t){var r=t(14304),n=t(49671),e=t(82628),o=t(2213),s=t(20095),u=t(72069),f=u(function(){return[].push.call({length:4294967296},1)!==4294967297}),v=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(g){return g instanceof TypeError}},c=f||!v();r({target:"Array",proto:!0,arity:1,forced:c},{push:function(y){var p=n(this),m=e(p),S=arguments.length;s(m+S);for(var x=0;x<S;x++)p[m]=arguments[x],m++;return o(p,m),m}})},17289:function(i,d,t){var r=t(14304),n=t(97264).right,e=t(6148),o=t(44241),s=t(91707),u=!s&&o>79&&o<83,f=u||!e("reduceRight");r({target:"Array",proto:!0,forced:f},{reduceRight:function(c){return n(this,c,arguments.length,arguments.length>1?arguments[1]:void 0)}})},11042:function(i,d,t){var r=t(14304),n=t(97264).left,e=t(6148),o=t(44241),s=t(91707),u=!s&&o>79&&o<83,f=u||!e("reduce");r({target:"Array",proto:!0,forced:f},{reduce:function(c){var g=arguments.length;return n(this,c,g,g>1?arguments[1]:void 0)}})},24608:function(i,d,t){var r=t(14304),n=t(11286),e=t(3438),o=n([].reverse),s=[1,2];r({target:"Array",proto:!0,forced:String(s)===String(s.reverse())},{reverse:function(){return e(this)&&(this.length=this.length),o(this)}})},51644:function(i,d,t){var r=t(14304),n=t(3438),e=t(11051),o=t(37540),s=t(4652),u=t(82628),f=t(36859),v=t(84082),c=t(18565),g=t(52183),y=t(22806),p=g("slice"),m=c("species"),S=Array,x=Math.max;r({target:"Array",proto:!0,forced:!p},{slice:function(P,T){var R=f(this),N=u(R),A=s(P,N),C=s(T===void 0?N:T,N),M,$,F;if(n(R)&&(M=R.constructor,e(M)&&(M===S||n(M.prototype))?M=void 0:o(M)&&(M=M[m],M===null&&(M=void 0)),M===S||M===void 0))return y(R,A,C);for($=new(M===void 0?S:M)(x(C-A,0)),F=0;A<C;A++,F++)A in R&&v($,F,R[A]);return $.length=F,$}})},88088:function(i,d,t){var r=t(14304),n=t(66655).some,e=t(6148),o=e("some");r({target:"Array",proto:!0,forced:!o},{some:function(u){return n(this,u,arguments.length>1?arguments[1]:void 0)}})},46828:function(i,d,t){var r=t(14304),n=t(11286),e=t(85156),o=t(49671),s=t(82628),u=t(12384),f=t(17361),v=t(72069),c=t(13270),g=t(6148),y=t(507),p=t(17417),m=t(44241),S=t(66577),x=[],O=n(x.sort),P=n(x.push),T=v(function(){x.sort(void 0)}),R=v(function(){x.sort(null)}),N=g("sort"),A=!v(function(){if(m)return m<70;if(!(y&&y>3)){if(p)return!0;if(S)return S<603;var $="",F,U,w,G;for(F=65;F<76;F++){switch(U=String.fromCharCode(F),F){case 66:case 69:case 70:case 72:w=3;break;case 68:case 71:w=4;break;default:w=2}for(G=0;G<47;G++)x.push({k:U+G,v:w})}for(x.sort(function(B,b){return b.v-B.v}),G=0;G<x.length;G++)U=x[G].k.charAt(0),$.charAt($.length-1)!==U&&($+=U);return $!=="DGBEFHACIJK"}}),C=T||!R||!N||!A,M=function($){return function(F,U){return U===void 0?-1:F===void 0?1:$!==void 0?+$(F,U)||0:f(F)>f(U)?1:-1}};r({target:"Array",proto:!0,forced:C},{sort:function(F){F!==void 0&&e(F);var U=o(this);if(A)return F===void 0?O(U):O(U,F);var w=[],G=s(U),B,b;for(b=0;b<G;b++)b in U&&P(w,U[b]);for(c(w,M(F)),B=s(w),b=0;b<B;)U[b]=w[b++];for(;b<G;)u(U,b++);return U}})},90088:function(i,d,t){var r=t(36167);r("Array")},35148:function(i,d,t){var r=t(14304),n=t(49671),e=t(4652),o=t(12105),s=t(82628),u=t(2213),f=t(20095),v=t(62083),c=t(84082),g=t(12384),y=t(52183),p=y("splice"),m=Math.max,S=Math.min;r({target:"Array",proto:!0,forced:!p},{splice:function(O,P){var T=n(this),R=s(T),N=e(O,R),A=arguments.length,C,M,$,F,U,w;for(A===0?C=M=0:A===1?(C=0,M=R-N):(C=A-2,M=S(m(o(P),0),R-N)),f(R+C-M),$=v(T,M),F=0;F<M;F++)U=N+F,U in T&&c($,F,T[U]);if($.length=M,C<M){for(F=N;F<R-M;F++)U=F+M,w=F+C,U in T?T[w]=T[U]:g(T,w);for(F=R;F>R-M+C;F--)g(T,F-1)}else if(C>M)for(F=R-M;F>N;F--)U=F+M-1,w=F+C-1,U in T?T[w]=T[U]:g(T,w);for(F=0;F<C;F++)T[F+N]=arguments[F+2];return u(T,R-M+C),$}})},86184:function(i,d,t){var r=t(14304),n=t(61638),e=t(36859),o=t(23811),s=Array;r({target:"Array",proto:!0},{toReversed:function(){return n(e(this),s)}}),o("toReversed")},53983:function(i,d,t){var r=t(14304),n=t(11286),e=t(85156),o=t(36859),s=t(5220),u=t(65470),f=t(23811),v=Array,c=n(u("Array","sort"));r({target:"Array",proto:!0},{toSorted:function(y){y!==void 0&&e(y);var p=o(this),m=s(v,p);return c(m,y)}}),f("toSorted")},42560:function(i,d,t){var r=t(14304),n=t(23811),e=t(20095),o=t(82628),s=t(4652),u=t(36859),f=t(12105),v=Array,c=Math.max,g=Math.min;r({target:"Array",proto:!0},{toSpliced:function(p,m){var S=u(this),x=o(S),O=s(p,x),P=arguments.length,T=0,R,N,A,C;for(P===0?R=N=0:P===1?(R=0,N=x-O):(R=P-2,N=g(c(f(m),0),x-O)),A=e(x+R-N),C=v(A);T<O;T++)C[T]=S[T];for(;T<O+R;T++)C[T]=arguments[T-O+2];for(;T<A;T++)C[T]=S[T+N-R];return C}}),n("toSpliced")},27839:function(i,d,t){var r=t(23811);r("flatMap")},88444:function(i,d,t){var r=t(23811);r("flat")},73051:function(i,d,t){var r=t(14304),n=t(49671),e=t(82628),o=t(2213),s=t(12384),u=t(20095),f=[].unshift(0)!==1,v=function(){try{Object.defineProperty([],"length",{writable:!1}).unshift()}catch(g){return g instanceof TypeError}},c=f||!v();r({target:"Array",proto:!0,arity:1,forced:c},{unshift:function(y){var p=n(this),m=e(p),S=arguments.length;if(S){u(m+S);for(var x=m;x--;){var O=x+S;x in p?p[O]=p[x]:s(p,O)}for(var P=0;P<S;P++)p[P]=arguments[P]}return o(p,m+S)}})},9372:function(i,d,t){var r=t(14304),n=t(72302),e=t(36859),o=Array;r({target:"Array",proto:!0},{with:function(s,u){return n(e(this),o,s,u)}})},77885:function(i,d,t){var r=t(14304),n=t(17468),e=t(3237);r({global:!0,constructor:!0,forced:!e},{DataView:n.DataView})},68575:function(i,d,t){t(77885)},30801:function(i,d,t){var r=t(14304),n=t(11286),e=t(72069),o=e(function(){return new Date(16e11).getYear()!==120}),s=n(Date.prototype.getFullYear);r({target:"Date",proto:!0,forced:o},{getYear:function(){return s(this)-1900}})},90911:function(i,d,t){var r=t(14304),n=t(11286),e=Date,o=n(e.prototype.getTime);r({target:"Date",stat:!0},{now:function(){return o(new e)}})},90429:function(i,d,t){var r=t(14304),n=t(11286),e=t(12105),o=Date.prototype,s=n(o.getTime),u=n(o.setFullYear);r({target:"Date",proto:!0},{setYear:function(v){s(this);var c=e(v),g=c>=0&&c<=99?c+1900:c;return u(this,g)}})},33685:function(i,d,t){var r=t(14304);r({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString})},60086:function(i,d,t){var r=t(14304),n=t(11890);r({target:"Date",proto:!0,forced:Date.prototype.toISOString!==n},{toISOString:n})},96049:function(i,d,t){var r=t(14304),n=t(72069),e=t(49671),o=t(89935),s=n(function(){return new Date(NaN).toJSON()!==null||Date.prototype.toJSON.call({toISOString:function(){return 1}})!==1});r({target:"Date",proto:!0,arity:1,forced:s},{toJSON:function(f){var v=e(this),c=o(v,"number");return typeof c=="number"&&!isFinite(c)?null:v.toISOString()}})},14038:function(i,d,t){var r=t(94879),n=t(16142),e=t(84306),o=t(18565),s=o("toPrimitive"),u=Date.prototype;r(u,s)||n(u,s,e)},55518:function(i,d,t){var r=t(11286),n=t(16142),e=Date.prototype,o="Invalid Date",s="toString",u=r(e[s]),f=r(e.getTime);String(new Date(NaN))!==o&&n(e,s,function(){var c=f(this);return c===c?u(this):o})},81742:function(i,d,t){var r=t(14304),n=t(34246),e=t(66543),o=t(70003),s="WebAssembly",u=n[s],f=new Error("e",{cause:7}).cause!==7,v=function(g,y){var p={};p[g]=o(g,y,f),r({global:!0,constructor:!0,arity:1,forced:f},p)},c=function(g,y){if(u&&u[g]){var p={};p[g]=o(s+"."+g,y,f),r({target:s,stat:!0,constructor:!0,arity:1,forced:f},p)}};v("Error",function(g){return function(p){return e(g,this,arguments)}}),v("EvalError",function(g){return function(p){return e(g,this,arguments)}}),v("RangeError",function(g){return function(p){return e(g,this,arguments)}}),v("ReferenceError",function(g){return function(p){return e(g,this,arguments)}}),v("SyntaxError",function(g){return function(p){return e(g,this,arguments)}}),v("TypeError",function(g){return function(p){return e(g,this,arguments)}}),v("URIError",function(g){return function(p){return e(g,this,arguments)}}),c("CompileError",function(g){return function(p){return e(g,this,arguments)}}),c("LinkError",function(g){return function(p){return e(g,this,arguments)}}),c("RuntimeError",function(g){return function(p){return e(g,this,arguments)}})},8720:function(i,d,t){var r=t(16142),n=t(58434),e=Error.prototype;e.toString!==n&&r(e,"toString",n)},8894:function(i,d,t){var r=t(14304),n=t(11286),e=t(17361),o=n("".charAt),s=n("".charCodeAt),u=n(/./.exec),f=n(1 .toString),v=n("".toUpperCase),c=/[\w*+\-./@]/,g=function(y,p){for(var m=f(y,16);m.length<p;)m="0"+m;return m};r({global:!0},{escape:function(p){for(var m=e(p),S="",x=m.length,O=0,P,T;O<x;)P=o(m,O++),u(c,P)?S+=P:(T=s(P,0),T<256?S+="%"+g(T,2):S+="%u"+v(g(T,4)));return S}})},60628:function(i,d,t){var r=t(14304),n=t(91384);r({target:"Function",proto:!0,forced:Function.bind!==n},{bind:n})},56347:function(i,d,t){var r=t(23583),n=t(37540),e=t(7831),o=t(95307),s=t(18565),u=t(13749),f=s("hasInstance"),v=Function.prototype;f in v||e.f(v,f,{value:u(function(c){if(!r(this)||!n(c))return!1;var g=this.prototype;return n(g)?o(g,c):c instanceof this},f)})},16864:function(i,d,t){var r=t(92986),n=t(86588).EXISTS,e=t(11286),o=t(85500),s=Function.prototype,u=e(s.toString),f=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,v=e(f.exec),c="name";r&&!n&&o(s,c,{configurable:!0,get:function(){try{return v(f,u(this))[1]}catch(g){return""}}})},93819:function(i,d,t){var r=t(14304),n=t(34246);r({global:!0,forced:n.globalThis!==n},{globalThis:n})},11565:function(i,d,t){var r=t(14304),n=t(34246),e=t(12833),o=t(25001),s=t(23583),u=t(26313),f=t(85500),v=t(84082),c=t(72069),g=t(94879),y=t(18565),p=t(24519).IteratorPrototype,m=t(92986),S=t(70457),x="constructor",O="Iterator",P=y("toStringTag"),T=TypeError,R=n[O],N=S||!s(R)||R.prototype!==p||!c(function(){R({})}),A=function(){if(e(this,p),u(this)===p)throw new T("Abstract class Iterator not directly constructable")},C=function(M,$){m?f(p,M,{configurable:!0,get:function(){return $},set:function(F){if(o(this),this===p)throw new T("You can't redefine this property");g(this,M)?this[M]=F:v(this,M,F)}}):p[M]=$};g(p,P)||C(P,O),(N||!g(p,x)||p[x]===Object)&&C(x,A),A.prototype=p,r({global:!0,constructor:!0,forced:N},{Iterator:A})},26668:function(i,d,t){var r=t(14304),n=t(96499),e=t(25001),o=t(10613),s=t(93483),u=t(98072),f=t(44736),v=t(70457),c=f(function(){for(var g=this.iterator,y=this.next,p,m;this.remaining;)if(this.remaining--,p=e(n(y,g)),m=this.done=!!p.done,m)return;if(p=e(n(y,g)),m=this.done=!!p.done,!m)return p.value});r({target:"Iterator",proto:!0,real:!0,forced:v},{drop:function(y){e(this);var p=u(s(+y));return new c(o(this),{remaining:p})}})},46386:function(i,d,t){var r=t(14304),n=t(55902),e=t(85156),o=t(25001),s=t(10613);r({target:"Iterator",proto:!0,real:!0},{every:function(f){o(this),e(f);var v=s(this),c=0;return!n(v,function(g,y){if(!f(g,c++))return y()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},35179:function(i,d,t){var r=t(14304),n=t(96499),e=t(85156),o=t(25001),s=t(10613),u=t(44736),f=t(39969),v=t(70457),c=u(function(){for(var g=this.iterator,y=this.predicate,p=this.next,m,S,x;;){if(m=o(n(p,g)),S=this.done=!!m.done,S)return;if(x=m.value,f(g,y,[x,this.counter++],!0))return x}});r({target:"Iterator",proto:!0,real:!0,forced:v},{filter:function(y){return o(this),e(y),new c(s(this),{predicate:y})}})},20150:function(i,d,t){var r=t(14304),n=t(55902),e=t(85156),o=t(25001),s=t(10613);r({target:"Iterator",proto:!0,real:!0},{find:function(f){o(this),e(f);var v=s(this),c=0;return n(v,function(g,y){if(f(g,c++))return y(g)},{IS_RECORD:!0,INTERRUPTED:!0}).result}})},23001:function(i,d,t){var r=t(14304),n=t(96499),e=t(85156),o=t(25001),s=t(10613),u=t(12124),f=t(44736),v=t(99797),c=t(70457),g=f(function(){for(var y=this.iterator,p=this.mapper,m,S;;){if(S=this.inner)try{if(m=o(n(S.next,S.iterator)),!m.done)return m.value;this.inner=null}catch(x){v(y,"throw",x)}if(m=o(n(this.next,y)),this.done=!!m.done)return;try{this.inner=u(p(m.value,this.counter++),!1)}catch(x){v(y,"throw",x)}}});r({target:"Iterator",proto:!0,real:!0,forced:c},{flatMap:function(p){return o(this),e(p),new g(s(this),{mapper:p,inner:null})}})},40334:function(i,d,t){var r=t(14304),n=t(55902),e=t(85156),o=t(25001),s=t(10613);r({target:"Iterator",proto:!0,real:!0},{forEach:function(f){o(this),e(f);var v=s(this),c=0;n(v,function(g){f(g,c++)},{IS_RECORD:!0})}})},87457:function(i,d,t){var r=t(14304),n=t(96499),e=t(49671),o=t(95307),s=t(24519).IteratorPrototype,u=t(44736),f=t(12124),v=t(70457),c=u(function(){return n(this.next,this.iterator)},!0);r({target:"Iterator",stat:!0,forced:v},{from:function(y){var p=f(typeof y=="string"?e(y):y,!0);return o(s,p.iterator)?p.iterator:new c(p)}})},66699:function(i,d,t){var r=t(14304),n=t(96191),e=t(70457);r({target:"Iterator",proto:!0,real:!0,forced:e},{map:n})},17535:function(i,d,t){var r=t(14304),n=t(55902),e=t(85156),o=t(25001),s=t(10613),u=TypeError;r({target:"Iterator",proto:!0,real:!0},{reduce:function(v){o(this),e(v);var c=s(this),g=arguments.length<2,y=g?void 0:arguments[1],p=0;if(n(c,function(m){g?(g=!1,y=m):y=v(y,m,p),p++},{IS_RECORD:!0}),g)throw new u("Reduce of empty iterator with no initial value");return y}})},48157:function(i,d,t){var r=t(14304),n=t(55902),e=t(85156),o=t(25001),s=t(10613);r({target:"Iterator",proto:!0,real:!0},{some:function(f){o(this),e(f);var v=s(this),c=0;return n(v,function(g,y){if(f(g,c++))return y()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},55338:function(i,d,t){var r=t(14304),n=t(96499),e=t(25001),o=t(10613),s=t(93483),u=t(98072),f=t(44736),v=t(99797),c=t(70457),g=f(function(){var y=this.iterator;if(!this.remaining--)return this.done=!0,v(y,"normal",void 0);var p=e(n(this.next,y)),m=this.done=!!p.done;if(!m)return p.value});r({target:"Iterator",proto:!0,real:!0,forced:c},{take:function(p){e(this);var m=u(s(+p));return new g(o(this),{remaining:m})}})},6644:function(i,d,t){var r=t(14304),n=t(25001),e=t(55902),o=t(10613),s=[].push;r({target:"Iterator",proto:!0,real:!0},{toArray:function(){var f=[];return e(o(n(this)),s,{that:f,IS_RECORD:!0}),f}})},71332:function(i,d,t){var r=t(14304),n=t(38941),e=t(66543),o=t(96499),s=t(11286),u=t(72069),f=t(23583),v=t(491),c=t(22806),g=t(10443),y=t(39729),p=String,m=n("JSON","stringify"),S=s(/./.exec),x=s("".charAt),O=s("".charCodeAt),P=s("".replace),T=s(1 .toString),R=/[\uD800-\uDFFF]/g,N=/^[\uD800-\uDBFF]$/,A=/^[\uDC00-\uDFFF]$/,C=!y||u(function(){var U=n("Symbol")("stringify detection");return m([U])!=="[null]"||m({a:U})!=="{}"||m(Object(U))!=="{}"}),M=u(function(){return m("\uDF06\uD834")!=='"\\udf06\\ud834"'||m("\uDEAD")!=='"\\udead"'}),$=function(U,w){var G=c(arguments),B=g(w);if(!(!f(B)&&(U===void 0||v(U))))return G[1]=function(b,j){if(f(B)&&(j=o(B,this,p(b),j)),!v(j))return j},e(m,null,G)},F=function(U,w,G){var B=x(G,w-1),b=x(G,w+1);return S(N,U)&&!S(A,b)||S(A,U)&&!S(N,B)?"\\u"+T(O(U,0),16):U};m&&r({target:"JSON",stat:!0,arity:3,forced:C||M},{stringify:function(w,G,B){var b=c(arguments),j=e(C?$:m,null,b);return M&&typeof j=="string"?P(j,R,F):j}})},47269:function(i,d,t){var r=t(34246),n=t(78401);n(r.JSON,"JSON",!0)},87777:function(i,d,t){var r=t(89378),n=t(34440);r("Map",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},n)},22090:function(i,d,t){var r=t(14304),n=t(11286),e=t(85156),o=t(2068),s=t(55902),u=t(1774),f=t(70457),v=t(72069),c=u.Map,g=u.has,y=u.get,p=u.set,m=n([].push),S=f||v(function(){return c.groupBy("ab",function(x){return x}).get("a").length!==1});r({target:"Map",stat:!0,forced:f||S},{groupBy:function(O,P){o(O),e(P);var T=new c,R=0;return s(O,function(N){var A=P(N,R++);g(T,A)?m(y(T,A),N):p(T,A,[N])}),T}})},25627:function(i,d,t){t(87777)},9839:function(i,d,t){var r=t(14304),n=t(49366),e=Math.acosh,o=Math.log,s=Math.sqrt,u=Math.LN2,f=!e||Math.floor(e(Number.MAX_VALUE))!==710||e(1/0)!==1/0;r({target:"Math",stat:!0,forced:f},{acosh:function(c){var g=+c;return g<1?NaN:g>9490626562425156e-8?o(g)+u:n(g-1+s(g-1)*s(g+1))}})},15656:function(i,d,t){var r=t(14304),n=Math.asinh,e=Math.log,o=Math.sqrt;function s(f){var v=+f;return!isFinite(v)||v===0?v:v<0?-s(-v):e(v+o(v*v+1))}var u=!(n&&1/n(0)>0);r({target:"Math",stat:!0,forced:u},{asinh:s})},22091:function(i,d,t){var r=t(14304),n=Math.atanh,e=Math.log,o=!(n&&1/n(-0)<0);r({target:"Math",stat:!0,forced:o},{atanh:function(u){var f=+u;return f===0?f:e((1+f)/(1-f))/2}})},2886:function(i,d,t){var r=t(14304),n=t(93976),e=Math.abs,o=Math.pow;r({target:"Math",stat:!0},{cbrt:function(u){var f=+u;return n(f)*o(e(f),.3333333333333333)}})},25895:function(i,d,t){var r=t(14304),n=Math.floor,e=Math.log,o=Math.LOG2E;r({target:"Math",stat:!0},{clz32:function(u){var f=u>>>0;return f?31-n(e(f+.5)*o):32}})},24228:function(i,d,t){var r=t(14304),n=t(98940),e=Math.cosh,o=Math.abs,s=Math.E,u=!e||e(710)===1/0;r({target:"Math",stat:!0,forced:u},{cosh:function(v){var c=n(o(v)-1)+1;return(c+1/(c*s*s))*(s/2)}})},79488:function(i,d,t){var r=t(14304),n=t(98940);r({target:"Math",stat:!0,forced:n!==Math.expm1},{expm1:n})},75987:function(i,d,t){var r=t(14304),n=t(93279);r({target:"Math",stat:!0},{fround:n})},81555:function(i,d,t){var r=t(14304),n=Math.hypot,e=Math.abs,o=Math.sqrt,s=!!n&&n(1/0,NaN)!==1/0;r({target:"Math",stat:!0,arity:2,forced:s},{hypot:function(f,v){for(var c=0,g=0,y=arguments.length,p=0,m,S;g<y;)m=e(arguments[g++]),p<m?(S=p/m,c=c*S*S+1,p=m):m>0?(S=m/p,c+=S*S):c+=m;return p===1/0?1/0:p*o(c)}})},87854:function(i,d,t){var r=t(14304),n=t(72069),e=Math.imul,o=n(function(){return e(4294967295,5)!==-5||e.length!==2});r({target:"Math",stat:!0,forced:o},{imul:function(u,f){var v=65535,c=+u,g=+f,y=v&c,p=v&g;return 0|y*p+((v&c>>>16)*p+y*(v&g>>>16)<<16>>>0)}})},35074:function(i,d,t){var r=t(14304),n=t(41942);r({target:"Math",stat:!0},{log10:n})},50946:function(i,d,t){var r=t(14304),n=t(49366);r({target:"Math",stat:!0},{log1p:n})},29417:function(i,d,t){var r=t(14304),n=Math.log,e=Math.LN2;r({target:"Math",stat:!0},{log2:function(s){return n(s)/e}})},80628:function(i,d,t){var r=t(14304),n=t(93976);r({target:"Math",stat:!0},{sign:n})},74375:function(i,d,t){var r=t(14304),n=t(72069),e=t(98940),o=Math.abs,s=Math.exp,u=Math.E,f=n(function(){return Math.sinh(-2e-17)!==-2e-17});r({target:"Math",stat:!0,forced:f},{sinh:function(c){var g=+c;return o(g)<1?(e(g)-e(-g))/2:(s(g-1)-s(-g-1))*(u/2)}})},29708:function(i,d,t){var r=t(14304),n=t(98940),e=Math.exp;r({target:"Math",stat:!0},{tanh:function(s){var u=+s,f=n(u),v=n(-u);return f===1/0?1:v===1/0?-1:(f-v)/(e(u)+e(-u))}})},93449:function(i,d,t){var r=t(78401);r(Math,"Math",!0)},9111:function(i,d,t){var r=t(14304),n=t(22459);r({target:"Math",stat:!0},{trunc:n})},83514:function(i,d,t){var r=t(14304),n=t(70457),e=t(92986),o=t(34246),s=t(75081),u=t(11286),f=t(13278),v=t(94879),c=t(32345),g=t(95307),y=t(491),p=t(89935),m=t(72069),S=t(83258).f,x=t(71349).f,O=t(7831).f,P=t(34338),T=t(85900).trim,R="Number",N=o[R],A=s[R],C=N.prototype,M=o.TypeError,$=u("".slice),F=u("".charCodeAt),U=function(W){var Q=p(W,"number");return typeof Q=="bigint"?Q:w(Q)},w=function(W){var Q=p(W,"number"),X,k,Z,ht,lt,pt,Ot,Tt;if(y(Q))throw new M("Cannot convert a Symbol value to a number");if(typeof Q=="string"&&Q.length>2){if(Q=T(Q),X=F(Q,0),X===43||X===45){if(k=F(Q,2),k===88||k===120)return NaN}else if(X===48){switch(F(Q,1)){case 66:case 98:Z=2,ht=49;break;case 79:case 111:Z=8,ht=55;break;default:return+Q}for(lt=$(Q,2),pt=lt.length,Ot=0;Ot<pt;Ot++)if(Tt=F(lt,Ot),Tt<48||Tt>ht)return NaN;return parseInt(lt,Z)}}return+Q},G=f(R,!N(" 0o1")||!N("0b1")||N("+0x1")),B=function(W){return g(C,W)&&m(function(){P(W)})},b=function(Q){var X=arguments.length<1?0:N(U(Q));return B(this)?c(Object(X),this,b):X};b.prototype=C,G&&!n&&(C.constructor=b),r({global:!0,constructor:!0,wrap:!0,forced:G},{Number:b});var j=function(W,Q){for(var X=e?S(Q):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),k=0,Z;X.length>k;k++)v(Q,Z=X[k])&&!v(W,Z)&&O(W,Z,x(Q,Z))};n&&A&&j(s[R],A),(G||n)&&j(s[R],N)},15096:function(i,d,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},59590:function(i,d,t){var r=t(14304),n=t(98074);r({target:"Number",stat:!0},{isFinite:n})},99663:function(i,d,t){var r=t(14304),n=t(613);r({target:"Number",stat:!0},{isInteger:n})},89988:function(i,d,t){var r=t(14304);r({target:"Number",stat:!0},{isNaN:function(e){return e!==e}})},54427:function(i,d,t){var r=t(14304),n=t(613),e=Math.abs;r({target:"Number",stat:!0},{isSafeInteger:function(s){return n(s)&&e(s)<=9007199254740991}})},67895:function(i,d,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},57909:function(i,d,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},83938:function(i,d,t){var r=t(14304),n=t(25838);r({target:"Number",stat:!0,forced:Number.parseFloat!==n},{parseFloat:n})},55461:function(i,d,t){var r=t(14304),n=t(23009);r({target:"Number",stat:!0,forced:Number.parseInt!==n},{parseInt:n})},97339:function(i,d,t){var r=t(14304),n=t(11286),e=t(12105),o=t(34338),s=t(79719),u=t(41942),f=t(72069),v=RangeError,c=String,g=isFinite,y=Math.abs,p=Math.floor,m=Math.pow,S=Math.round,x=n(1 .toExponential),O=n(s),P=n("".slice),T=x(-69e-12,4)==="-6.9000e-11"&&x(1.255,2)==="1.25e+0"&&x(12345,3)==="1.235e+4"&&x(25,0)==="3e+1",R=function(){return f(function(){x(1,1/0)})&&f(function(){x(1,-1/0)})},N=function(){return!f(function(){x(1/0,1/0),x(NaN,1/0)})},A=!T||!R()||!N();r({target:"Number",proto:!0,forced:A},{toExponential:function(M){var $=o(this);if(M===void 0)return x($);var F=e(M);if(!g($))return String($);if(F<0||F>20)throw new v("Incorrect fraction digits");if(T)return x($,F);var U="",w,G,B,b;if($<0&&(U="-",$=-$),$===0)G=0,w=O("0",F+1);else{var j=u($);G=p(j);var W=m(10,G-F),Q=S($/W);2*$>=(2*Q+1)*W&&(Q+=1),Q>=m(10,F+1)&&(Q/=10,G+=1),w=c(Q)}return F!==0&&(w=P(w,0,1)+"."+P(w,1)),G===0?(B="+",b="0"):(B=G>0?"+":"-",b=c(y(G))),w+="e"+B+b,U+w}})},3670:function(i,d,t){var r=t(14304),n=t(11286),e=t(12105),o=t(34338),s=t(79719),u=t(72069),f=RangeError,v=String,c=Math.floor,g=n(s),y=n("".slice),p=n(1 .toFixed),m=function(R,N,A){return N===0?A:N%2===1?m(R,N-1,A*R):m(R*R,N/2,A)},S=function(R){for(var N=0,A=R;A>=4096;)N+=12,A/=4096;for(;A>=2;)N+=1,A/=2;return N},x=function(R,N,A){for(var C=-1,M=A;++C<6;)M+=N*R[C],R[C]=M%1e7,M=c(M/1e7)},O=function(R,N){for(var A=6,C=0;--A>=0;)C+=R[A],R[A]=c(C/N),C=C%N*1e7},P=function(R){for(var N=6,A="";--N>=0;)if(A!==""||N===0||R[N]!==0){var C=v(R[N]);A=A===""?C:A+g("0",7-C.length)+C}return A},T=u(function(){return p(8e-5,3)!=="0.000"||p(.9,0)!=="1"||p(1.255,2)!=="1.25"||p(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!u(function(){p({})});r({target:"Number",proto:!0,forced:T},{toFixed:function(N){var A=o(this),C=e(N),M=[0,0,0,0,0,0],$="",F="0",U,w,G,B;if(C<0||C>20)throw new f("Incorrect fraction digits");if(A!==A)return"NaN";if(A<=-1e21||A>=1e21)return v(A);if(A<0&&($="-",A=-A),A>1e-21)if(U=S(A*m(2,69,1))-69,w=U<0?A*m(2,-U,1):A/m(2,U,1),w*=4503599627370496,U=52-U,U>0){for(x(M,0,w),G=C;G>=7;)x(M,1e7,0),G-=7;for(x(M,m(10,G,1),0),G=U-1;G>=23;)O(M,8388608),G-=23;O(M,1<<G),x(M,1,1),O(M,2),F=P(M)}else x(M,0,w),x(M,1<<-U,0),F=P(M)+g("0",C);return C>0?(B=F.length,F=$+(B<=C?"0."+g("0",C-B)+F:y(F,0,B-C)+"."+y(F,B-C))):F=$+F,F}})},15224:function(i,d,t){var r=t(14304),n=t(11286),e=t(72069),o=t(34338),s=n(1 .toPrecision),u=e(function(){return s(1,void 0)!=="1"})||!e(function(){s({})});r({target:"Number",proto:!0,forced:u},{toPrecision:function(v){return v===void 0?s(o(this)):s(o(this),v)}})},45891:function(i,d,t){var r=t(14304),n=t(16667);r({target:"Object",stat:!0,arity:2,forced:Object.assign!==n},{assign:n})},99910:function(i,d,t){var r=t(14304),n=t(92986),e=t(5406);r({target:"Object",stat:!0,sham:!n},{create:e})},92445:function(i,d,t){var r=t(14304),n=t(92986),e=t(57629),o=t(85156),s=t(49671),u=t(7831);n&&r({target:"Object",proto:!0,forced:e},{__defineGetter__:function(v,c){u.f(s(this),v,{get:o(c),enumerable:!0,configurable:!0})}})},21875:function(i,d,t){var r=t(14304),n=t(92986),e=t(61963).f;r({target:"Object",stat:!0,forced:Object.defineProperties!==e,sham:!n},{defineProperties:e})},4383:function(i,d,t){var r=t(14304),n=t(92986),e=t(7831).f;r({target:"Object",stat:!0,forced:Object.defineProperty!==e,sham:!n},{defineProperty:e})},11361:function(i,d,t){var r=t(14304),n=t(92986),e=t(57629),o=t(85156),s=t(49671),u=t(7831);n&&r({target:"Object",proto:!0,forced:e},{__defineSetter__:function(v,c){u.f(s(this),v,{set:o(c),enumerable:!0,configurable:!0})}})},13728:function(i,d,t){var r=t(14304),n=t(8511).entries;r({target:"Object",stat:!0},{entries:function(o){return n(o)}})},14885:function(i,d,t){var r=t(14304),n=t(27534),e=t(72069),o=t(37540),s=t(31853).onFreeze,u=Object.freeze,f=e(function(){u(1)});r({target:"Object",stat:!0,forced:f,sham:!n},{freeze:function(c){return u&&o(c)?u(s(c)):c}})},30343:function(i,d,t){var r=t(14304),n=t(55902),e=t(84082);r({target:"Object",stat:!0},{fromEntries:function(s){var u={};return n(s,function(f,v){e(u,f,v)},{AS_ENTRIES:!0}),u}})},22045:function(i,d,t){var r=t(14304),n=t(72069),e=t(36859),o=t(71349).f,s=t(92986),u=!s||n(function(){o(1)});r({target:"Object",stat:!0,forced:u,sham:!s},{getOwnPropertyDescriptor:function(v,c){return o(e(v),c)}})},75e3:function(i,d,t){var r=t(14304),n=t(92986),e=t(16885),o=t(36859),s=t(71349),u=t(84082);r({target:"Object",stat:!0,sham:!n},{getOwnPropertyDescriptors:function(v){for(var c=o(v),g=s.f,y=e(c),p={},m=0,S,x;y.length>m;)x=g(c,S=y[m++]),x!==void 0&&u(p,S,x);return p}})},64658:function(i,d,t){var r=t(14304),n=t(72069),e=t(92880).f,o=n(function(){return!Object.getOwnPropertyNames(1)});r({target:"Object",stat:!0,forced:o},{getOwnPropertyNames:e})},45223:function(i,d,t){var r=t(14304),n=t(39729),e=t(72069),o=t(24943),s=t(49671),u=!n||e(function(){o.f(1)});r({target:"Object",stat:!0,forced:u},{getOwnPropertySymbols:function(v){var c=o.f;return c?c(s(v)):[]}})},16017:function(i,d,t){var r=t(14304),n=t(72069),e=t(49671),o=t(26313),s=t(87501),u=n(function(){o(1)});r({target:"Object",stat:!0,forced:u,sham:!s},{getPrototypeOf:function(v){return o(e(v))}})},84681:function(i,d,t){var r=t(14304),n=t(38941),e=t(11286),o=t(85156),s=t(2068),u=t(50035),f=t(55902),v=t(72069),c=Object.groupBy,g=n("Object","create"),y=e([].push),p=!c||v(function(){return c("ab",function(m){return m}).a.length!==1});r({target:"Object",stat:!0,forced:p},{groupBy:function(S,x){s(S),o(x);var O=g(null),P=0;return f(S,function(T){var R=u(x(T,P++));R in O?y(O[R],T):O[R]=[T]}),O}})},73421:function(i,d,t){var r=t(14304),n=t(94879);r({target:"Object",stat:!0},{hasOwn:n})},31046:function(i,d,t){var r=t(14304),n=t(28174);r({target:"Object",stat:!0,forced:Object.isExtensible!==n},{isExtensible:n})},94645:function(i,d,t){var r=t(14304),n=t(72069),e=t(37540),o=t(14274),s=t(72058),u=Object.isFrozen,f=s||n(function(){u(1)});r({target:"Object",stat:!0,forced:f},{isFrozen:function(c){return!e(c)||s&&o(c)==="ArrayBuffer"?!0:u?u(c):!1}})},62935:function(i,d,t){var r=t(14304),n=t(72069),e=t(37540),o=t(14274),s=t(72058),u=Object.isSealed,f=s||n(function(){u(1)});r({target:"Object",stat:!0,forced:f},{isSealed:function(c){return!e(c)||s&&o(c)==="ArrayBuffer"?!0:u?u(c):!1}})},93446:function(i,d,t){var r=t(14304),n=t(13944);r({target:"Object",stat:!0},{is:n})},62518:function(i,d,t){var r=t(14304),n=t(49671),e=t(18350),o=t(72069),s=o(function(){e(1)});r({target:"Object",stat:!0,forced:s},{keys:function(f){return e(n(f))}})},45130:function(i,d,t){var r=t(14304),n=t(92986),e=t(57629),o=t(49671),s=t(50035),u=t(26313),f=t(71349).f;n&&r({target:"Object",proto:!0,forced:e},{__lookupGetter__:function(c){var g=o(this),y=s(c),p;do if(p=f(g,y))return p.get;while(g=u(g))}})},51542:function(i,d,t){var r=t(14304),n=t(92986),e=t(57629),o=t(49671),s=t(50035),u=t(26313),f=t(71349).f;n&&r({target:"Object",proto:!0,forced:e},{__lookupSetter__:function(c){var g=o(this),y=s(c),p;do if(p=f(g,y))return p.set;while(g=u(g))}})},43781:function(i,d,t){var r=t(14304),n=t(37540),e=t(31853).onFreeze,o=t(27534),s=t(72069),u=Object.preventExtensions,f=s(function(){u(1)});r({target:"Object",stat:!0,forced:f,sham:!o},{preventExtensions:function(c){return u&&n(c)?u(e(c)):c}})},25738:function(i,d,t){var r=t(92986),n=t(85500),e=t(37540),o=t(52427),s=t(49671),u=t(2068),f=Object.getPrototypeOf,v=Object.setPrototypeOf,c=Object.prototype,g="__proto__";if(r&&f&&v&&!(g in c))try{n(c,g,{configurable:!0,get:function(){return f(s(this))},set:function(p){var m=u(this);o(p)&&e(m)&&v(m,p)}})}catch(y){}},93247:function(i,d,t){var r=t(14304),n=t(37540),e=t(31853).onFreeze,o=t(27534),s=t(72069),u=Object.seal,f=s(function(){u(1)});r({target:"Object",stat:!0,forced:f,sham:!o},{seal:function(c){return u&&n(c)?u(e(c)):c}})},41533:function(i,d,t){var r=t(14304),n=t(15861);r({target:"Object",stat:!0},{setPrototypeOf:n})},60225:function(i,d,t){var r=t(67878),n=t(16142),e=t(60105);r||n(Object.prototype,"toString",e,{unsafe:!0})},69920:function(i,d,t){var r=t(14304),n=t(8511).values;r({target:"Object",stat:!0},{values:function(o){return n(o)}})},89205:function(i,d,t){var r=t(14304),n=t(25838);r({global:!0,forced:parseFloat!==n},{parseFloat:n})},78546:function(i,d,t){var r=t(14304),n=t(23009);r({global:!0,forced:parseInt!==n},{parseInt:n})},16893:function(i,d,t){var r=t(14304),n=t(96499),e=t(85156),o=t(24649),s=t(67805),u=t(55902),f=t(26035);r({target:"Promise",stat:!0,forced:f},{allSettled:function(c){var g=this,y=o.f(g),p=y.resolve,m=y.reject,S=s(function(){var x=e(g.resolve),O=[],P=0,T=1;u(c,function(R){var N=P++,A=!1;T++,n(x,g,R).then(function(C){A||(A=!0,O[N]={status:"fulfilled",value:C},--T||p(O))},function(C){A||(A=!0,O[N]={status:"rejected",reason:C},--T||p(O))})}),--T||p(O)});return S.error&&m(S.value),y.promise}})},11733:function(i,d,t){var r=t(14304),n=t(96499),e=t(85156),o=t(24649),s=t(67805),u=t(55902),f=t(26035);r({target:"Promise",stat:!0,forced:f},{all:function(c){var g=this,y=o.f(g),p=y.resolve,m=y.reject,S=s(function(){var x=e(g.resolve),O=[],P=0,T=1;u(c,function(R){var N=P++,A=!1;T++,n(x,g,R).then(function(C){A||(A=!0,O[N]=C,--T||p(O))},m)}),--T||p(O)});return S.error&&m(S.value),y.promise}})},3676:function(i,d,t){var r=t(14304),n=t(96499),e=t(85156),o=t(38941),s=t(24649),u=t(67805),f=t(55902),v=t(26035),c="No one promise resolved";r({target:"Promise",stat:!0,forced:v},{any:function(y){var p=this,m=o("AggregateError"),S=s.f(p),x=S.resolve,O=S.reject,P=u(function(){var T=e(p.resolve),R=[],N=0,A=1,C=!1;f(y,function(M){var $=N++,F=!1;A++,n(T,p,M).then(function(U){F||C||(C=!0,x(U))},function(U){F||C||(F=!0,R[$]=U,--A||O(new m(R,c)))})}),--A||O(new m(R,c))});return P.error&&O(P.value),S.promise}})},14013:function(i,d,t){var r=t(14304),n=t(70457),e=t(37130).CONSTRUCTOR,o=t(98844),s=t(38941),u=t(23583),f=t(16142),v=o&&o.prototype;if(r({target:"Promise",proto:!0,forced:e,real:!0},{catch:function(g){return this.then(void 0,g)}}),!n&&u(o)){var c=s("Promise").prototype.catch;v.catch!==c&&f(v,"catch",c,{unsafe:!0})}},20238:function(i,d,t){var r=t(14304),n=t(70457),e=t(91707),o=t(34246),s=t(96499),u=t(16142),f=t(15861),v=t(78401),c=t(36167),g=t(85156),y=t(23583),p=t(37540),m=t(12833),S=t(16887),x=t(23115).set,O=t(9709),P=t(99095),T=t(67805),R=t(76895),N=t(82367),A=t(98844),C=t(37130),M=t(24649),$="Promise",F=C.CONSTRUCTOR,U=C.REJECTION_EVENT,w=C.SUBCLASSING,G=N.getterFor($),B=N.set,b=A&&A.prototype,j=A,W=b,Q=o.TypeError,X=o.document,k=o.process,Z=M.f,ht=Z,lt=!!(X&&X.createEvent&&o.dispatchEvent),pt="unhandledrejection",Ot="rejectionhandled",Tt=0,Kt=1,Vt=2,Ut=1,vt=2,mt,Dt,$t,Nt,jt=function(q){var At;return p(q)&&y(At=q.then)?At:!1},kt=function(q,At){var Pt=At.value,It=At.state===Kt,St=It?q.ok:q.fail,er=q.resolve,or=q.reject,Y=q.domain,et,ut,ot;try{St?(It||(At.rejection===vt&&zt(At),At.rejection=Ut),St===!0?et=Pt:(Y&&Y.enter(),et=St(Pt),Y&&(Y.exit(),ot=!0)),et===q.promise?or(new Q("Promise-chain cycle")):(ut=jt(et))?s(ut,et,er,or):er(et)):or(Pt)}catch(ct){Y&&!ot&&Y.exit(),or(ct)}},_t=function(q,At){q.notified||(q.notified=!0,O(function(){for(var Pt=q.reactions,It;It=Pt.get();)kt(It,q);q.notified=!1,At&&!q.rejection&&Bt(q)}))},Xt=function(q,At,Pt){var It,St;lt?(It=X.createEvent("Event"),It.promise=At,It.reason=Pt,It.initEvent(q,!1,!0),o.dispatchEvent(It)):It={promise:At,reason:Pt},!U&&(St=o["on"+q])?St(It):q===pt&&P("Unhandled promise rejection",Pt)},Bt=function(q){s(x,o,function(){var At=q.facade,Pt=q.value,It=Qt(q),St;if(It&&(St=T(function(){e?k.emit("unhandledRejection",Pt,At):Xt(pt,At,Pt)}),q.rejection=e||Qt(q)?vt:Ut,St.error))throw St.value})},Qt=function(q){return q.rejection!==Ut&&!q.parent},zt=function(q){s(x,o,function(){var At=q.facade;e?k.emit("rejectionHandled",At):Xt(Ot,At,q.value)})},wt=function(q,At,Pt){return function(It){q(At,It,Pt)}},st=function(q,At,Pt){q.done||(q.done=!0,Pt&&(q=Pt),q.value=At,q.state=Vt,_t(q,!0))},dt=function(q,At,Pt){if(!q.done){q.done=!0,Pt&&(q=Pt);try{if(q.facade===At)throw new Q("Promise can't be resolved itself");var It=jt(At);It?O(function(){var St={done:!1};try{s(It,At,wt(dt,St,q),wt(st,St,q))}catch(er){st(St,er,q)}}):(q.value=At,q.state=Kt,_t(q,!1))}catch(St){st({done:!1},St,q)}}};if(F&&(j=function(At){m(this,W),g(At),s(mt,this);var Pt=G(this);try{At(wt(dt,Pt),wt(st,Pt))}catch(It){st(Pt,It)}},W=j.prototype,mt=function(At){B(this,{type:$,done:!1,notified:!1,parent:!1,reactions:new R,rejection:!1,state:Tt,value:null})},mt.prototype=u(W,"then",function(At,Pt){var It=G(this),St=Z(S(this,j));return It.parent=!0,St.ok=y(At)?At:!0,St.fail=y(Pt)&&Pt,St.domain=e?k.domain:void 0,It.state===Tt?It.reactions.add(St):O(function(){kt(St,It)}),St.promise}),Dt=function(){var q=new mt,At=G(q);this.promise=q,this.resolve=wt(dt,At),this.reject=wt(st,At)},M.f=Z=function(q){return q===j||q===$t?new Dt(q):ht(q)},!n&&y(A)&&b!==Object.prototype)){Nt=b.then,w||u(b,"then",function(At,Pt){var It=this;return new j(function(St,er){s(Nt,It,St,er)}).then(At,Pt)},{unsafe:!0});try{delete b.constructor}catch(q){}f&&f(b,W)}r({global:!0,constructor:!0,wrap:!0,forced:F},{Promise:j}),v(j,$,!1,!0),c($)},58361:function(i,d,t){var r=t(14304),n=t(70457),e=t(98844),o=t(72069),s=t(38941),u=t(23583),f=t(16887),v=t(87408),c=t(16142),g=e&&e.prototype,y=!!e&&o(function(){g.finally.call({then:function(){}},function(){})});if(r({target:"Promise",proto:!0,real:!0,forced:y},{finally:function(m){var S=f(this,s("Promise")),x=u(m);return this.then(x?function(O){return v(S,m()).then(function(){return O})}:m,x?function(O){return v(S,m()).then(function(){throw O})}:m)}}),!n&&u(e)){var p=s("Promise").prototype.finally;g.finally!==p&&c(g,"finally",p,{unsafe:!0})}},63616:function(i,d,t){t(20238),t(11733),t(14013),t(3037),t(36027),t(97282)},3037:function(i,d,t){var r=t(14304),n=t(96499),e=t(85156),o=t(24649),s=t(67805),u=t(55902),f=t(26035);r({target:"Promise",stat:!0,forced:f},{race:function(c){var g=this,y=o.f(g),p=y.reject,m=s(function(){var S=e(g.resolve);u(c,function(x){n(S,g,x).then(y.resolve,p)})});return m.error&&p(m.value),y.promise}})},36027:function(i,d,t){var r=t(14304),n=t(24649),e=t(37130).CONSTRUCTOR;r({target:"Promise",stat:!0,forced:e},{reject:function(s){var u=n.f(this),f=u.reject;return f(s),u.promise}})},97282:function(i,d,t){var r=t(14304),n=t(38941),e=t(70457),o=t(98844),s=t(37130).CONSTRUCTOR,u=t(87408),f=n("Promise"),v=e&&!s;r({target:"Promise",stat:!0,forced:e||s},{resolve:function(g){return u(v&&this===f?o:this,g)}})},7487:function(i,d,t){var r=t(14304),n=t(34246),e=t(66543),o=t(22806),s=t(24649),u=t(85156),f=t(67805),v=n.Promise,c=!1,g=!v||!v.try||f(function(){v.try(function(y){c=y===8},8)}).error||!c;r({target:"Promise",stat:!0,forced:g},{try:function(y){var p=arguments.length>1?o(arguments,1):[],m=s.f(this),S=f(function(){return e(u(y),void 0,p)});return(S.error?m.reject:m.resolve)(S.value),m.promise}})},23958:function(i,d,t){var r=t(14304),n=t(24649);r({target:"Promise",stat:!0},{withResolvers:function(){var o=n.f(this);return{promise:o.promise,resolve:o.resolve,reject:o.reject}}})},9798:function(i,d,t){var r=t(14304),n=t(66543),e=t(85156),o=t(25001),s=t(72069),u=!s(function(){Reflect.apply(function(){})});r({target:"Reflect",stat:!0,forced:u},{apply:function(v,c,g){return n(e(v),c,o(g))}})},2371:function(i,d,t){var r=t(14304),n=t(38941),e=t(66543),o=t(91384),s=t(80042),u=t(25001),f=t(37540),v=t(5406),c=t(72069),g=n("Reflect","construct"),y=Object.prototype,p=[].push,m=c(function(){function O(){}return!(g(function(){},[],O)instanceof O)}),S=!c(function(){g(function(){})}),x=m||S;r({target:"Reflect",stat:!0,forced:x,sham:x},{construct:function(P,T){s(P),u(T);var R=arguments.length<3?P:s(arguments[2]);if(S&&!m)return g(P,T,R);if(P===R){switch(T.length){case 0:return new P;case 1:return new P(T[0]);case 2:return new P(T[0],T[1]);case 3:return new P(T[0],T[1],T[2]);case 4:return new P(T[0],T[1],T[2],T[3])}var N=[null];return e(p,N,T),new(e(o,P,N))}var A=R.prototype,C=v(f(A)?A:y),M=e(P,C,T);return f(M)?M:C}})},76185:function(i,d,t){var r=t(14304),n=t(92986),e=t(25001),o=t(50035),s=t(7831),u=t(72069),f=u(function(){Reflect.defineProperty(s.f({},1,{value:1}),1,{value:2})});r({target:"Reflect",stat:!0,forced:f,sham:!n},{defineProperty:function(c,g,y){e(c);var p=o(g);e(y);try{return s.f(c,p,y),!0}catch(m){return!1}}})},76553:function(i,d,t){var r=t(14304),n=t(25001),e=t(71349).f;r({target:"Reflect",stat:!0},{deleteProperty:function(s,u){var f=e(n(s),u);return f&&!f.configurable?!1:delete s[u]}})},25227:function(i,d,t){var r=t(14304),n=t(92986),e=t(25001),o=t(71349);r({target:"Reflect",stat:!0,sham:!n},{getOwnPropertyDescriptor:function(u,f){return o.f(e(u),f)}})},91723:function(i,d,t){var r=t(14304),n=t(25001),e=t(26313),o=t(87501);r({target:"Reflect",stat:!0,sham:!o},{getPrototypeOf:function(u){return e(n(u))}})},93518:function(i,d,t){var r=t(14304),n=t(96499),e=t(37540),o=t(25001),s=t(69745),u=t(71349),f=t(26313);function v(c,g){var y=arguments.length<3?c:arguments[2],p,m;if(o(c)===y)return c[g];if(p=u.f(c,g),p)return s(p)?p.value:p.get===void 0?void 0:n(p.get,y);if(e(m=f(c)))return v(m,g,y)}r({target:"Reflect",stat:!0},{get:v})},57882:function(i,d,t){var r=t(14304);r({target:"Reflect",stat:!0},{has:function(e,o){return o in e}})},37796:function(i,d,t){var r=t(14304),n=t(25001),e=t(28174);r({target:"Reflect",stat:!0},{isExtensible:function(s){return n(s),e(s)}})},11563:function(i,d,t){var r=t(14304),n=t(16885);r({target:"Reflect",stat:!0},{ownKeys:n})},26159:function(i,d,t){var r=t(14304),n=t(38941),e=t(25001),o=t(27534);r({target:"Reflect",stat:!0,sham:!o},{preventExtensions:function(u){e(u);try{var f=n("Object","preventExtensions");return f&&f(u),!0}catch(v){return!1}}})},77487:function(i,d,t){var r=t(14304),n=t(25001),e=t(53408),o=t(15861);o&&r({target:"Reflect",stat:!0},{setPrototypeOf:function(u,f){n(u),e(f);try{return o(u,f),!0}catch(v){return!1}}})},20962:function(i,d,t){var r=t(14304),n=t(96499),e=t(25001),o=t(37540),s=t(69745),u=t(72069),f=t(7831),v=t(71349),c=t(26313),g=t(18526);function y(m,S,x){var O=arguments.length<4?m:arguments[3],P=v.f(e(m),S),T,R,N;if(!P){if(o(R=c(m)))return y(R,S,x,O);P=g(0)}if(s(P)){if(P.writable===!1||!o(O))return!1;if(T=v.f(O,S)){if(T.get||T.set||T.writable===!1)return!1;T.value=x,f.f(O,S,T)}else f.f(O,S,g(0,x))}else{if(N=P.set,N===void 0)return!1;n(N,O,x)}return!0}var p=u(function(){var m=function(){},S=f.f(new m,"a",{configurable:!0});return Reflect.set(m.prototype,"a",1,S)!==!1});r({target:"Reflect",stat:!0,forced:p},{set:y})},6130:function(i,d,t){var r=t(14304),n=t(34246),e=t(78401);r({global:!0},{Reflect:{}}),e(n.Reflect,"Reflect",!0)},1354:function(i,d,t){var r=t(92986),n=t(34246),e=t(11286),o=t(13278),s=t(32345),u=t(90809),f=t(5406),v=t(83258).f,c=t(95307),g=t(11566),y=t(17361),p=t(54932),m=t(39807),S=t(2594),x=t(16142),O=t(72069),P=t(94879),T=t(82367).enforce,R=t(36167),N=t(18565),A=t(76769),C=t(85220),M=N("match"),$=n.RegExp,F=$.prototype,U=n.SyntaxError,w=e(F.exec),G=e("".charAt),B=e("".replace),b=e("".indexOf),j=e("".slice),W=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,Q=/a/g,X=/a/g,k=new $(Q)!==Q,Z=m.MISSED_STICKY,ht=m.UNSUPPORTED_Y,lt=r&&(!k||Z||A||C||O(function(){return X[M]=!1,$(Q)!==Q||$(X)===X||String($(Q,"i"))!=="/a/i"})),pt=function(Ut){for(var vt=Ut.length,mt=0,Dt="",$t=!1,Nt;mt<=vt;mt++){if(Nt=G(Ut,mt),Nt==="\\"){Dt+=Nt+G(Ut,++mt);continue}!$t&&Nt==="."?Dt+="[\\s\\S]":(Nt==="["?$t=!0:Nt==="]"&&($t=!1),Dt+=Nt)}return Dt},Ot=function(Ut){for(var vt=Ut.length,mt=0,Dt="",$t=[],Nt=f(null),jt=!1,kt=!1,_t=0,Xt="",Bt;mt<=vt;mt++){if(Bt=G(Ut,mt),Bt==="\\")Bt+=G(Ut,++mt);else if(Bt==="]")jt=!1;else if(!jt)switch(!0){case Bt==="[":jt=!0;break;case Bt==="(":if(Dt+=Bt,j(Ut,mt+1,mt+3)==="?:")continue;w(W,j(Ut,mt+1))&&(mt+=2,kt=!0),_t++;continue;case(Bt===">"&&kt):if(Xt===""||P(Nt,Xt))throw new U("Invalid capture group name");Nt[Xt]=!0,$t[$t.length]=[Xt,_t],kt=!1,Xt="";continue}kt?Xt+=Bt:Dt+=Bt}return[Dt,$t]};if(o("RegExp",lt)){for(var Tt=function(vt,mt){var Dt=c(F,this),$t=g(vt),Nt=mt===void 0,jt=[],kt=vt,_t,Xt,Bt,Qt,zt,wt;if(!Dt&&$t&&Nt&&vt.constructor===Tt)return vt;if(($t||c(F,vt))&&(vt=vt.source,Nt&&(mt=p(kt))),vt=vt===void 0?"":y(vt),mt=mt===void 0?"":y(mt),kt=vt,A&&"dotAll"in Q&&(Xt=!!mt&&b(mt,"s")>-1,Xt&&(mt=B(mt,/s/g,""))),_t=mt,Z&&"sticky"in Q&&(Bt=!!mt&&b(mt,"y")>-1,Bt&&ht&&(mt=B(mt,/y/g,""))),C&&(Qt=Ot(vt),vt=Qt[0],jt=Qt[1]),zt=s($(vt,mt),Dt?this:F,Tt),(Xt||Bt||jt.length)&&(wt=T(zt),Xt&&(wt.dotAll=!0,wt.raw=Tt(pt(vt),_t)),Bt&&(wt.sticky=!0),jt.length&&(wt.groups=jt)),vt!==kt)try{u(zt,"source",kt===""?"(?:)":kt)}catch(st){}return zt},Kt=v($),Vt=0;Kt.length>Vt;)S(Tt,$,Kt[Vt++]);F.constructor=Tt,Tt.prototype=F,x(n,"RegExp",Tt,{constructor:!0})}R("RegExp")},47119:function(i,d,t){var r=t(92986),n=t(76769),e=t(14274),o=t(85500),s=t(82367).get,u=RegExp.prototype,f=TypeError;r&&n&&o(u,"dotAll",{configurable:!0,get:function(){if(this!==u){if(e(this)==="RegExp")return!!s(this).dotAll;throw new f("Incompatible receiver, RegExp required")}}})},31145:function(i,d,t){var r=t(14304),n=t(44381);r({target:"RegExp",proto:!0,forced:/./.exec!==n},{exec:n})},96773:function(i,d,t){var r=t(34246),n=t(92986),e=t(85500),o=t(29833),s=t(72069),u=r.RegExp,f=u.prototype,v=n&&s(function(){var c=!0;try{u(".","d")}catch(P){c=!1}var g={},y="",p=c?"dgimsy":"gimsy",m=function(P,T){Object.defineProperty(g,P,{get:function(){return y+=T,!0}})},S={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};c&&(S.hasIndices="d");for(var x in S)m(x,S[x]);var O=Object.getOwnPropertyDescriptor(f,"flags").get.call(g);return O!==p||y!==p});v&&e(f,"flags",{configurable:!0,get:o})},14371:function(i,d,t){var r=t(92986),n=t(39807).MISSED_STICKY,e=t(14274),o=t(85500),s=t(82367).get,u=RegExp.prototype,f=TypeError;r&&n&&o(u,"sticky",{configurable:!0,get:function(){if(this!==u){if(e(this)==="RegExp")return!!s(this).sticky;throw new f("Incompatible receiver, RegExp required")}}})},18180:function(i,d,t){t(31145);var r=t(14304),n=t(96499),e=t(23583),o=t(25001),s=t(17361),u=function(){var v=!1,c=/[ac]/;return c.exec=function(){return v=!0,/./.exec.apply(this,arguments)},c.test("abc")===!0&&v}(),f=/./.test;r({target:"RegExp",proto:!0,forced:!u},{test:function(v){var c=o(this),g=s(v),y=c.exec;if(!e(y))return n(f,c,g);var p=n(y,c,g);return p===null?!1:(o(p),!0)}})},83147:function(i,d,t){var r=t(86588).PROPER,n=t(16142),e=t(25001),o=t(17361),s=t(72069),u=t(54932),f="toString",v=RegExp.prototype,c=v[f],g=s(function(){return c.call({source:"a",flags:"b"})!=="/a/b"}),y=r&&c.name!==f;(g||y)&&n(v,f,function(){var m=e(this),S=o(m.source),x=o(u(m));return"/"+S+"/"+x},{unsafe:!0})},6583:function(i,d,t){var r=t(89378),n=t(34440);r("Set",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},n)},86548:function(i,d,t){var r=t(14304),n=t(41754),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("difference")},{difference:n})},15282:function(i,d,t){var r=t(14304),n=t(72069),e=t(92292),o=t(94118),s=!o("intersection")||n(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});r({target:"Set",proto:!0,real:!0,forced:s},{intersection:e})},51275:function(i,d,t){var r=t(14304),n=t(47391),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("isDisjointFrom")},{isDisjointFrom:n})},91890:function(i,d,t){var r=t(14304),n=t(75492),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("isSubsetOf")},{isSubsetOf:n})},15089:function(i,d,t){var r=t(14304),n=t(1333),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("isSupersetOf")},{isSupersetOf:n})},75765:function(i,d,t){t(6583)},78134:function(i,d,t){var r=t(14304),n=t(64680),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("symmetricDifference")},{symmetricDifference:n})},56456:function(i,d,t){var r=t(14304),n=t(70402),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("union")},{union:n})},70641:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("anchor")},{anchor:function(s){return n(this,"a","name",s)}})},40735:function(i,d,t){var r=t(14304),n=t(11286),e=t(2068),o=t(12105),s=t(17361),u=t(72069),f=n("".charAt),v=u(function(){return"\u{20BB7}".at(-2)!=="\uD842"});r({target:"String",proto:!0,forced:v},{at:function(g){var y=s(e(this)),p=y.length,m=o(g),S=m>=0?m:p+m;return S<0||S>=p?void 0:f(y,S)}})},53892:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("big")},{big:function(){return n(this,"big","","")}})},95976:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("blink")},{blink:function(){return n(this,"blink","","")}})},399:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("bold")},{bold:function(){return n(this,"b","","")}})},8510:function(i,d,t){var r=t(14304),n=t(22149).codeAt;r({target:"String",proto:!0},{codePointAt:function(o){return n(this,o)}})},70159:function(i,d,t){var r=t(14304),n=t(77422),e=t(71349).f,o=t(45344),s=t(17361),u=t(92337),f=t(2068),v=t(8790),c=t(70457),g=n("".slice),y=Math.min,p=v("endsWith"),m=!c&&!p&&!!function(){var S=e(String.prototype,"endsWith");return S&&!S.writable}();r({target:"String",proto:!0,forced:!m&&!p},{endsWith:function(x){var O=s(f(this));u(x);var P=arguments.length>1?arguments[1]:void 0,T=O.length,R=P===void 0?T:y(o(P),T),N=s(x);return g(O,R-N.length,R)===N}})},72032:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("fixed")},{fixed:function(){return n(this,"tt","","")}})},49442:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("fontcolor")},{fontcolor:function(s){return n(this,"font","color",s)}})},16012:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("fontsize")},{fontsize:function(s){return n(this,"font","size",s)}})},93087:function(i,d,t){var r=t(14304),n=t(11286),e=t(4652),o=RangeError,s=String.fromCharCode,u=String.fromCodePoint,f=n([].join),v=!!u&&u.length!==1;r({target:"String",stat:!0,arity:1,forced:v},{fromCodePoint:function(g){for(var y=[],p=arguments.length,m=0,S;p>m;){if(S=+arguments[m++],e(S,1114111)!==S)throw new o(S+" is not a valid code point");y[m]=S<65536?s(S):s(((S-=65536)>>10)+55296,S%1024+56320)}return f(y,"")}})},26021:function(i,d,t){var r=t(14304),n=t(11286),e=t(92337),o=t(2068),s=t(17361),u=t(8790),f=n("".indexOf);r({target:"String",proto:!0,forced:!u("includes")},{includes:function(c){return!!~f(s(o(this)),s(e(c)),arguments.length>1?arguments[1]:void 0)}})},93029:function(i,d,t){var r=t(14304),n=t(11286),e=t(2068),o=t(17361),s=n("".charCodeAt);r({target:"String",proto:!0},{isWellFormed:function(){for(var f=o(e(this)),v=f.length,c=0;c<v;c++){var g=s(f,c);if((g&63488)===55296&&(g>=56320||++c>=v||(s(f,c)&64512)!==56320))return!1}return!0}})},9943:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("italics")},{italics:function(){return n(this,"i","","")}})},59158:function(i,d,t){var r=t(22149).charAt,n=t(17361),e=t(82367),o=t(10218),s=t(10659),u="String Iterator",f=e.set,v=e.getterFor(u);o(String,"String",function(c){f(this,{type:u,string:n(c),index:0})},function(){var g=v(this),y=g.string,p=g.index,m;return p>=y.length?s(void 0,!0):(m=r(y,p),g.index+=m.length,s(m,!1))})},33128:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("link")},{link:function(s){return n(this,"a","href",s)}})},18509:function(i,d,t){var r=t(14304),n=t(96499),e=t(77422),o=t(26820),s=t(10659),u=t(2068),f=t(45344),v=t(17361),c=t(25001),g=t(5683),y=t(14274),p=t(11566),m=t(54932),S=t(10512),x=t(16142),O=t(72069),P=t(18565),T=t(16887),R=t(24487),N=t(33064),A=t(82367),C=t(70457),M=P("matchAll"),$="RegExp String",F=$+" Iterator",U=A.set,w=A.getterFor(F),G=RegExp.prototype,B=TypeError,b=e("".indexOf),j=e("".matchAll),W=!!j&&!O(function(){j("a",/./)}),Q=o(function(Z,ht,lt,pt){U(this,{type:F,regexp:Z,string:ht,global:lt,unicode:pt,done:!1})},$,function(){var Z=w(this);if(Z.done)return s(void 0,!0);var ht=Z.regexp,lt=Z.string,pt=N(ht,lt);return pt===null?(Z.done=!0,s(void 0,!0)):Z.global?(v(pt[0])===""&&(ht.lastIndex=R(lt,f(ht.lastIndex),Z.unicode)),s(pt,!1)):(Z.done=!0,s(pt,!1))}),X=function(k){var Z=c(this),ht=v(k),lt=T(Z,RegExp),pt=v(m(Z)),Ot,Tt,Kt;return Ot=new lt(lt===RegExp?Z.source:Z,pt),Tt=!!~b(pt,"g"),Kt=!!~b(pt,"u"),Ot.lastIndex=f(Z.lastIndex),new Q(Ot,ht,Tt,Kt)};r({target:"String",proto:!0,forced:W},{matchAll:function(Z){var ht=u(this),lt,pt,Ot,Tt;if(g(Z)){if(W)return j(ht,Z)}else{if(p(Z)&&(lt=v(u(m(Z))),!~b(lt,"g")))throw new B("`.matchAll` does not allow non-global regexes");if(W)return j(ht,Z);if(Ot=S(Z,M),Ot===void 0&&C&&y(Z)==="RegExp"&&(Ot=X),Ot)return n(Ot,Z,ht)}return pt=v(ht),Tt=new RegExp(Z,"g"),C?n(X,Tt,pt):Tt[M](pt)}}),C||M in G||x(G,M,X)},15599:function(i,d,t){var r=t(96499),n=t(63194),e=t(25001),o=t(5683),s=t(45344),u=t(17361),f=t(2068),v=t(10512),c=t(24487),g=t(33064);n("match",function(y,p,m){return[function(x){var O=f(this),P=o(x)?void 0:v(x,y);return P?r(P,x,O):new RegExp(x)[y](u(O))},function(S){var x=e(this),O=u(S),P=m(p,x,O);if(P.done)return P.value;if(!x.global)return g(x,O);var T=x.unicode;x.lastIndex=0;for(var R=[],N=0,A;(A=g(x,O))!==null;){var C=u(A[0]);R[N]=C,C===""&&(x.lastIndex=c(O,s(x.lastIndex),T)),N++}return N===0?null:R}]})},21579:function(i,d,t){var r=t(14304),n=t(61607).end,e=t(36945);r({target:"String",proto:!0,forced:e},{padEnd:function(s){return n(this,s,arguments.length>1?arguments[1]:void 0)}})},8854:function(i,d,t){var r=t(14304),n=t(61607).start,e=t(36945);r({target:"String",proto:!0,forced:e},{padStart:function(s){return n(this,s,arguments.length>1?arguments[1]:void 0)}})},57676:function(i,d,t){var r=t(14304),n=t(11286),e=t(36859),o=t(49671),s=t(17361),u=t(82628),f=n([].push),v=n([].join);r({target:"String",stat:!0},{raw:function(g){var y=e(o(g).raw),p=u(y);if(!p)return"";for(var m=arguments.length,S=[],x=0;;){if(f(S,s(y[x++])),x===p)return v(S,"");x<m&&f(S,s(arguments[x]))}}})},14527:function(i,d,t){var r=t(14304),n=t(79719);r({target:"String",proto:!0},{repeat:n})},52684:function(i,d,t){var r=t(14304),n=t(96499),e=t(11286),o=t(2068),s=t(23583),u=t(5683),f=t(11566),v=t(17361),c=t(10512),g=t(54932),y=t(38368),p=t(18565),m=t(70457),S=p("replace"),x=TypeError,O=e("".indexOf),P=e("".replace),T=e("".slice),R=Math.max;r({target:"String",proto:!0},{replaceAll:function(A,C){var M=o(this),$,F,U,w,G,B,b,j,W,Q,X=0,k="";if(!u(A)){if($=f(A),$&&(F=v(o(g(A))),!~O(F,"g")))throw new x("`.replaceAll` does not allow non-global regexes");if(U=c(A,S),U)return n(U,A,M,C);if(m&&$)return P(v(M),A,C)}for(w=v(M),G=v(A),B=s(C),B||(C=v(C)),b=G.length,j=R(1,b),W=O(w,G);W!==-1;)Q=B?v(C(G,W,w)):y(G,w,W,[],void 0,C),k+=T(w,X,W)+Q,X=W+b,W=W+j>w.length?-1:O(w,G,W+j);return X<w.length&&(k+=T(w,X)),k}})},96834:function(i,d,t){var r=t(66543),n=t(96499),e=t(11286),o=t(63194),s=t(72069),u=t(25001),f=t(23583),v=t(5683),c=t(12105),g=t(45344),y=t(17361),p=t(2068),m=t(24487),S=t(10512),x=t(38368),O=t(33064),P=t(18565),T=P("replace"),R=Math.max,N=Math.min,A=e([].concat),C=e([].push),M=e("".indexOf),$=e("".slice),F=function(B){return B===void 0?B:String(B)},U=function(){return"a".replace(/./,"$0")==="$0"}(),w=function(){return/./[T]?/./[T]("a","$0")==="":!1}(),G=!s(function(){var B=/./;return B.exec=function(){var b=[];return b.groups={a:"7"},b},"".replace(B,"$<a>")!=="7"});o("replace",function(B,b,j){var W=w?"$":"$0";return[function(X,k){var Z=p(this),ht=v(X)?void 0:S(X,T);return ht?n(ht,X,Z,k):n(b,y(Z),X,k)},function(Q,X){var k=u(this),Z=y(Q);if(typeof X=="string"&&M(X,W)===-1&&M(X,"$<")===-1){var ht=j(b,k,Z,X);if(ht.done)return ht.value}var lt=f(X);lt||(X=y(X));var pt=k.global,Ot;pt&&(Ot=k.unicode,k.lastIndex=0);for(var Tt=[],Kt;Kt=O(k,Z),!(Kt===null||(C(Tt,Kt),!pt));){var Vt=y(Kt[0]);Vt===""&&(k.lastIndex=m(Z,g(k.lastIndex),Ot))}for(var Ut="",vt=0,mt=0;mt<Tt.length;mt++){Kt=Tt[mt];for(var Dt=y(Kt[0]),$t=R(N(c(Kt.index),Z.length),0),Nt=[],jt,kt=1;kt<Kt.length;kt++)C(Nt,F(Kt[kt]));var _t=Kt.groups;if(lt){var Xt=A([Dt],Nt,$t,Z);_t!==void 0&&C(Xt,_t),jt=y(r(X,void 0,Xt))}else jt=x(Dt,Z,$t,Nt,_t,X);$t>=vt&&(Ut+=$(Z,vt,$t)+jt,vt=$t+Dt.length)}return Ut+$(Z,vt)}]},!G||!U||w)},74980:function(i,d,t){var r=t(96499),n=t(63194),e=t(25001),o=t(5683),s=t(2068),u=t(13944),f=t(17361),v=t(10512),c=t(33064);n("search",function(g,y,p){return[function(S){var x=s(this),O=o(S)?void 0:v(S,g);return O?r(O,S,x):new RegExp(S)[g](f(x))},function(m){var S=e(this),x=f(m),O=p(y,S,x);if(O.done)return O.value;var P=S.lastIndex;u(P,0)||(S.lastIndex=0);var T=c(S,x);return u(S.lastIndex,P)||(S.lastIndex=P),T===null?-1:T.index}]})},95625:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("small")},{small:function(){return n(this,"small","","")}})},390:function(i,d,t){var r=t(96499),n=t(11286),e=t(63194),o=t(25001),s=t(5683),u=t(2068),f=t(16887),v=t(24487),c=t(45344),g=t(17361),y=t(10512),p=t(33064),m=t(39807),S=t(72069),x=m.UNSUPPORTED_Y,O=4294967295,P=Math.min,T=n([].push),R=n("".slice),N=!S(function(){var C=/(?:)/,M=C.exec;C.exec=function(){return M.apply(this,arguments)};var $="ab".split(C);return $.length!==2||$[0]!=="a"||$[1]!=="b"}),A="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;e("split",function(C,M,$){var F="0".split(void 0,0).length?function(U,w){return U===void 0&&w===0?[]:r(M,this,U,w)}:M;return[function(w,G){var B=u(this),b=s(w)?void 0:y(w,C);return b?r(b,w,B,G):r(F,g(B),w,G)},function(U,w){var G=o(this),B=g(U);if(!A){var b=$(F,G,B,w,F!==M);if(b.done)return b.value}var j=f(G,RegExp),W=G.unicode,Q=(G.ignoreCase?"i":"")+(G.multiline?"m":"")+(G.unicode?"u":"")+(x?"g":"y"),X=new j(x?"^(?:"+G.source+")":G,Q),k=w===void 0?O:w>>>0;if(k===0)return[];if(B.length===0)return p(X,B)===null?[B]:[];for(var Z=0,ht=0,lt=[];ht<B.length;){X.lastIndex=x?0:ht;var pt=p(X,x?R(B,ht):B),Ot;if(pt===null||(Ot=P(c(X.lastIndex+(x?ht:0)),B.length))===Z)ht=v(B,ht,W);else{if(T(lt,R(B,Z,ht)),lt.length===k)return lt;for(var Tt=1;Tt<=pt.length-1;Tt++)if(T(lt,pt[Tt]),lt.length===k)return lt;ht=Z=Ot}}return T(lt,R(B,Z)),lt}]},A||!N,x)},42794:function(i,d,t){var r=t(14304),n=t(77422),e=t(71349).f,o=t(45344),s=t(17361),u=t(92337),f=t(2068),v=t(8790),c=t(70457),g=n("".slice),y=Math.min,p=v("startsWith"),m=!c&&!p&&!!function(){var S=e(String.prototype,"startsWith");return S&&!S.writable}();r({target:"String",proto:!0,forced:!m&&!p},{startsWith:function(x){var O=s(f(this));u(x);var P=o(y(arguments.length>1?arguments[1]:void 0,O.length)),T=s(x);return g(O,P,P+T.length)===T}})},90614:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("strike")},{strike:function(){return n(this,"strike","","")}})},60120:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("sub")},{sub:function(){return n(this,"sub","","")}})},21293:function(i,d,t){var r=t(14304),n=t(11286),e=t(2068),o=t(12105),s=t(17361),u=n("".slice),f=Math.max,v=Math.min,c=!"".substr||"ab".substr(-1)!=="b";r({target:"String",proto:!0,forced:c},{substr:function(y,p){var m=s(e(this)),S=m.length,x=o(y),O,P;return x===1/0&&(x=0),x<0&&(x=f(S+x,0)),O=p===void 0?S:o(p),O<=0||O===1/0?"":(P=v(x+O,S),x>=P?"":u(m,x,P))}})},75826:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("sup")},{sup:function(){return n(this,"sup","","")}})},18184:function(i,d,t){var r=t(14304),n=t(96499),e=t(11286),o=t(2068),s=t(17361),u=t(72069),f=Array,v=e("".charAt),c=e("".charCodeAt),g=e([].join),y="".toWellFormed,p="\uFFFD",m=y&&u(function(){return n(y,1)!=="1"});r({target:"String",proto:!0,forced:m},{toWellFormed:function(){var x=s(o(this));if(m)return n(y,x);for(var O=x.length,P=f(O),T=0;T<O;T++){var R=c(x,T);(R&63488)!==55296?P[T]=v(x,T):R>=56320||T+1>=O||(c(x,T+1)&64512)!==56320?P[T]=p:(P[T]=v(x,T),P[++T]=v(x,T))}return g(P,"")}})},19680:function(i,d,t){t(23283);var r=t(14304),n=t(75176);r({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==n},{trimEnd:n})},12272:function(i,d,t){var r=t(14304),n=t(83481);r({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==n},{trimLeft:n})},23283:function(i,d,t){var r=t(14304),n=t(75176);r({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==n},{trimRight:n})},4193:function(i,d,t){t(12272);var r=t(14304),n=t(83481);r({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==n},{trimStart:n})},75012:function(i,d,t){var r=t(14304),n=t(85900).trim,e=t(33328);r({target:"String",proto:!0,forced:e("trim")},{trim:function(){return n(this)}})},43606:function(i,d,t){var r=t(83749);r("asyncIterator")},51767:function(i,d,t){var r=t(14304),n=t(34246),e=t(96499),o=t(11286),s=t(70457),u=t(92986),f=t(39729),v=t(72069),c=t(94879),g=t(95307),y=t(25001),p=t(36859),m=t(50035),S=t(17361),x=t(18526),O=t(5406),P=t(18350),T=t(83258),R=t(92880),N=t(24943),A=t(71349),C=t(7831),M=t(61963),$=t(79591),F=t(16142),U=t(85500),w=t(96731),G=t(44869),B=t(19423),b=t(36374),j=t(18565),W=t(56529),Q=t(83749),X=t(60796),k=t(78401),Z=t(82367),ht=t(66655).forEach,lt=G("hidden"),pt="Symbol",Ot="prototype",Tt=Z.set,Kt=Z.getterFor(pt),Vt=Object[Ot],Ut=n.Symbol,vt=Ut&&Ut[Ot],mt=n.RangeError,Dt=n.TypeError,$t=n.QObject,Nt=A.f,jt=C.f,kt=R.f,_t=$.f,Xt=o([].push),Bt=w("symbols"),Qt=w("op-symbols"),zt=w("wks"),wt=!$t||!$t[Ot]||!$t[Ot].findChild,st=function(et,ut,ot){var ct=Nt(Vt,ut);ct&&delete Vt[ut],jt(et,ut,ot),ct&&et!==Vt&&jt(Vt,ut,ct)},dt=u&&v(function(){return O(jt({},"a",{get:function(){return jt(this,"a",{value:7}).a}})).a!==7})?st:jt,q=function(et,ut){var ot=Bt[et]=O(vt);return Tt(ot,{type:pt,tag:et,description:ut}),u||(ot.description=ut),ot},At=function(ut,ot,ct){ut===Vt&&At(Qt,ot,ct),y(ut);var rt=m(ot);return y(ct),c(Bt,rt)?(ct.enumerable?(c(ut,lt)&&ut[lt][rt]&&(ut[lt][rt]=!1),ct=O(ct,{enumerable:x(0,!1)})):(c(ut,lt)||jt(ut,lt,x(1,O(null))),ut[lt][rt]=!0),dt(ut,rt,ct)):jt(ut,rt,ct)},Pt=function(ut,ot){y(ut);var ct=p(ot),rt=P(ct).concat(Y(ct));return ht(rt,function(Ft){(!u||e(St,ct,Ft))&&At(ut,Ft,ct[Ft])}),ut},It=function(ut,ot){return ot===void 0?O(ut):Pt(O(ut),ot)},St=function(ut){var ot=m(ut),ct=e(_t,this,ot);return this===Vt&&c(Bt,ot)&&!c(Qt,ot)?!1:ct||!c(this,ot)||!c(Bt,ot)||c(this,lt)&&this[lt][ot]?ct:!0},er=function(ut,ot){var ct=p(ut),rt=m(ot);if(!(ct===Vt&&c(Bt,rt)&&!c(Qt,rt))){var Ft=Nt(ct,rt);return Ft&&c(Bt,rt)&&!(c(ct,lt)&&ct[lt][rt])&&(Ft.enumerable=!0),Ft}},or=function(ut){var ot=kt(p(ut)),ct=[];return ht(ot,function(rt){!c(Bt,rt)&&!c(B,rt)&&Xt(ct,rt)}),ct},Y=function(et){var ut=et===Vt,ot=kt(ut?Qt:p(et)),ct=[];return ht(ot,function(rt){c(Bt,rt)&&(!ut||c(Vt,rt))&&Xt(ct,Bt[rt])}),ct};f||(Ut=function(){if(g(vt,this))throw new Dt("Symbol is not a constructor");var ut=!arguments.length||arguments[0]===void 0?void 0:S(arguments[0]),ot=b(ut),ct=function(rt){var Ft=this===void 0?n:this;Ft===Vt&&e(ct,Qt,rt),c(Ft,lt)&&c(Ft[lt],ot)&&(Ft[lt][ot]=!1);var qt=x(1,rt);try{dt(Ft,ot,qt)}catch(nt){if(!(nt instanceof mt))throw nt;st(Ft,ot,qt)}};return u&&wt&&dt(Vt,ot,{configurable:!0,set:ct}),q(ot,ut)},vt=Ut[Ot],F(vt,"toString",function(){return Kt(this).tag}),F(Ut,"withoutSetter",function(et){return q(b(et),et)}),$.f=St,C.f=At,M.f=Pt,A.f=er,T.f=R.f=or,N.f=Y,W.f=function(et){return q(j(et),et)},u&&(U(vt,"description",{configurable:!0,get:function(){return Kt(this).description}}),s||F(Vt,"propertyIsEnumerable",St,{unsafe:!0}))),r({global:!0,constructor:!0,wrap:!0,forced:!f,sham:!f},{Symbol:Ut}),ht(P(zt),function(et){Q(et)}),r({target:pt,stat:!0,forced:!f},{useSetter:function(){wt=!0},useSimple:function(){wt=!1}}),r({target:"Object",stat:!0,forced:!f,sham:!u},{create:It,defineProperty:At,defineProperties:Pt,getOwnPropertyDescriptor:er}),r({target:"Object",stat:!0,forced:!f},{getOwnPropertyNames:or}),X(),k(Ut,pt),B[lt]=!0},43657:function(i,d,t){var r=t(14304),n=t(92986),e=t(34246),o=t(11286),s=t(94879),u=t(23583),f=t(95307),v=t(17361),c=t(85500),g=t(93706),y=e.Symbol,p=y&&y.prototype;if(n&&u(y)&&(!("description"in p)||y().description!==void 0)){var m={},S=function(){var C=arguments.length<1||arguments[0]===void 0?void 0:v(arguments[0]),M=f(p,this)?new y(C):C===void 0?y():y(C);return C===""&&(m[M]=!0),M};g(S,y),S.prototype=p,p.constructor=S;var x=String(y("description detection"))==="Symbol(description detection)",O=o(p.valueOf),P=o(p.toString),T=/^Symbol\((.*)\)[^)]+$/,R=o("".replace),N=o("".slice);c(p,"description",{configurable:!0,get:function(){var C=O(this);if(s(m,C))return"";var M=P(C),$=x?N(M,7,-1):R(M,T,"$1");return $===""?void 0:$}}),r({global:!0,constructor:!0,forced:!0},{Symbol:S})}},20872:function(i,d,t){var r=t(14304),n=t(38941),e=t(94879),o=t(17361),s=t(96731),u=t(61190),f=s("string-to-symbol-registry"),v=s("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!u},{for:function(c){var g=o(c);if(e(f,g))return f[g];var y=n("Symbol")(g);return f[g]=y,v[y]=g,y}})},15855:function(i,d,t){var r=t(83749);r("hasInstance")},42026:function(i,d,t){var r=t(83749);r("isConcatSpreadable")},33257:function(i,d,t){var r=t(83749);r("iterator")},40949:function(i,d,t){t(51767),t(20872),t(94762),t(71332),t(45223)},94762:function(i,d,t){var r=t(14304),n=t(94879),e=t(491),o=t(82453),s=t(96731),u=t(61190),f=s("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!u},{keyFor:function(c){if(!e(c))throw new TypeError(o(c)+" is not a symbol");if(n(f,c))return f[c]}})},88344:function(i,d,t){var r=t(83749);r("matchAll")},59414:function(i,d,t){var r=t(83749);r("match")},92579:function(i,d,t){var r=t(83749);r("replace")},94655:function(i,d,t){var r=t(83749);r("search")},8565:function(i,d,t){var r=t(83749);r("species")},60843:function(i,d,t){var r=t(83749);r("split")},65842:function(i,d,t){var r=t(83749),n=t(60796);r("toPrimitive"),n()},51595:function(i,d,t){var r=t(38941),n=t(83749),e=t(78401);n("toStringTag"),e(r("Symbol"),"Symbol")},54908:function(i,d,t){var r=t(83749);r("unscopables")},71998:function(i,d,t){var r=t(88037),n=t(82628),e=t(12105),o=r.aTypedArray,s=r.exportTypedArrayMethod;s("at",function(f){var v=o(this),c=n(v),g=e(f),y=g>=0?g:c+g;return y<0||y>=c?void 0:v[y]})},6116:function(i,d,t){var r=t(11286),n=t(88037),e=t(81499),o=r(e),s=n.aTypedArray,u=n.exportTypedArrayMethod;u("copyWithin",function(v,c){return o(s(this),v,c,arguments.length>2?arguments[2]:void 0)})},33032:function(i,d,t){var r=t(88037),n=t(66655).every,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("every",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},80962:function(i,d,t){var r=t(88037),n=t(43011),e=t(11344),o=t(9205),s=t(96499),u=t(11286),f=t(72069),v=r.aTypedArray,c=r.exportTypedArrayMethod,g=u("".slice),y=f(function(){var p=0;return new Int8Array(2).fill({valueOf:function(){return p++}}),p!==1});c("fill",function(m){var S=arguments.length;v(this);var x=g(o(this),0,3)==="Big"?e(m):+m;return s(n,this,x,S>1?arguments[1]:void 0,S>2?arguments[2]:void 0)},y)},49381:function(i,d,t){var r=t(88037),n=t(66655).filter,e=t(39954),o=r.aTypedArray,s=r.exportTypedArrayMethod;s("filter",function(f){var v=n(o(this),f,arguments.length>1?arguments[1]:void 0);return e(this,v)})},65961:function(i,d,t){var r=t(88037),n=t(66655).findIndex,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("findIndex",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},16028:function(i,d,t){var r=t(88037),n=t(73849).findLastIndex,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("findLastIndex",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},94153:function(i,d,t){var r=t(88037),n=t(73849).findLast,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("findLast",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},38344:function(i,d,t){var r=t(88037),n=t(66655).find,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("find",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},25560:function(i,d,t){var r=t(80357);r("Float32",function(n){return function(o,s,u){return n(this,o,s,u)}})},22571:function(i,d,t){var r=t(80357);r("Float64",function(n){return function(o,s,u){return n(this,o,s,u)}})},20656:function(i,d,t){var r=t(88037),n=t(66655).forEach,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("forEach",function(u){n(e(this),u,arguments.length>1?arguments[1]:void 0)})},17063:function(i,d,t){var r=t(46868),n=t(88037).exportTypedArrayStaticMethod,e=t(66169);n("from",e,r)},21774:function(i,d,t){var r=t(88037),n=t(94319).includes,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("includes",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},51761:function(i,d,t){var r=t(88037),n=t(94319).indexOf,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("indexOf",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},36849:function(i,d,t){var r=t(80357);r("Int16",function(n){return function(o,s,u){return n(this,o,s,u)}})},49191:function(i,d,t){var r=t(80357);r("Int32",function(n){return function(o,s,u){return n(this,o,s,u)}})},40704:function(i,d,t){var r=t(80357);r("Int8",function(n){return function(o,s,u){return n(this,o,s,u)}})},12317:function(i,d,t){var r=t(34246),n=t(72069),e=t(11286),o=t(88037),s=t(35054),u=t(18565),f=u("iterator"),v=r.Uint8Array,c=e(s.values),g=e(s.keys),y=e(s.entries),p=o.aTypedArray,m=o.exportTypedArrayMethod,S=v&&v.prototype,x=!n(function(){S[f].call([1])}),O=!!S&&S.values&&S[f]===S.values&&S.values.name==="values",P=function(){return c(p(this))};m("entries",function(){return y(p(this))},x),m("keys",function(){return g(p(this))},x),m("values",P,x||!O,{name:"values"}),m(f,P,x||!O,{name:"values"})},19711:function(i,d,t){var r=t(88037),n=t(11286),e=r.aTypedArray,o=r.exportTypedArrayMethod,s=n([].join);o("join",function(f){return s(e(this),f)})},41034:function(i,d,t){var r=t(88037),n=t(66543),e=t(58465),o=r.aTypedArray,s=r.exportTypedArrayMethod;s("lastIndexOf",function(f){var v=arguments.length;return n(e,o(this),v>1?[f,arguments[1]]:[f])})},13313:function(i,d,t){var r=t(88037),n=t(66655).map,e=r.aTypedArray,o=r.getTypedArrayConstructor,s=r.exportTypedArrayMethod;s("map",function(f){return n(e(this),f,arguments.length>1?arguments[1]:void 0,function(v,c){return new(o(v))(c)})})},44698:function(i,d,t){var r=t(88037),n=t(46868),e=r.aTypedArrayConstructor,o=r.exportTypedArrayStaticMethod;o("of",function(){for(var u=0,f=arguments.length,v=new(e(this))(f);f>u;)v[u]=arguments[u++];return v},n)},66178:function(i,d,t){var r=t(88037),n=t(97264).right,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("reduceRight",function(u){var f=arguments.length;return n(e(this),u,f,f>1?arguments[1]:void 0)})},7369:function(i,d,t){var r=t(88037),n=t(97264).left,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("reduce",function(u){var f=arguments.length;return n(e(this),u,f,f>1?arguments[1]:void 0)})},67961:function(i,d,t){var r=t(88037),n=r.aTypedArray,e=r.exportTypedArrayMethod,o=Math.floor;e("reverse",function(){for(var u=this,f=n(u).length,v=o(f/2),c=0,g;c<v;)g=u[c],u[c++]=u[--f],u[f]=g;return u})},8695:function(i,d,t){var r=t(34246),n=t(96499),e=t(88037),o=t(82628),s=t(58143),u=t(49671),f=t(72069),v=r.RangeError,c=r.Int8Array,g=c&&c.prototype,y=g&&g.set,p=e.aTypedArray,m=e.exportTypedArrayMethod,S=!f(function(){var O=new Uint8ClampedArray(2);return n(y,O,{length:1,0:3},1),O[1]!==3}),x=S&&e.NATIVE_ARRAY_BUFFER_VIEWS&&f(function(){var O=new c(2);return O.set(1),O.set("2",1),O[0]!==0||O[1]!==2});m("set",function(P){p(this);var T=s(arguments.length>1?arguments[1]:void 0,1),R=u(P);if(S)return n(y,this,R,T);var N=this.length,A=o(R),C=0;if(A+T>N)throw new v("Wrong length");for(;C<A;)this[T+C]=R[C++]},!S||x)},69997:function(i,d,t){var r=t(88037),n=t(72069),e=t(22806),o=r.aTypedArray,s=r.getTypedArrayConstructor,u=r.exportTypedArrayMethod,f=n(function(){new Int8Array(1).slice()});u("slice",function(c,g){for(var y=e(o(this),c,g),p=s(this),m=0,S=y.length,x=new p(S);S>m;)x[m]=y[m++];return x},f)},9711:function(i,d,t){var r=t(88037),n=t(66655).some,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("some",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},3923:function(i,d,t){var r=t(34246),n=t(77422),e=t(72069),o=t(85156),s=t(13270),u=t(88037),f=t(507),v=t(17417),c=t(44241),g=t(66577),y=u.aTypedArray,p=u.exportTypedArrayMethod,m=r.Uint16Array,S=m&&n(m.prototype.sort),x=!!S&&!(e(function(){S(new m(2),null)})&&e(function(){S(new m(2),{})})),O=!!S&&!e(function(){if(c)return c<74;if(f)return f<67;if(v)return!0;if(g)return g<602;var T=new m(516),R=Array(516),N,A;for(N=0;N<516;N++)A=N%4,T[N]=515-N,R[N]=N-2*A+3;for(S(T,function(C,M){return(C/4|0)-(M/4|0)}),N=0;N<516;N++)if(T[N]!==R[N])return!0}),P=function(T){return function(R,N){return T!==void 0?+T(R,N)||0:N!==N?-1:R!==R?1:R===0&&N===0?1/R>0&&1/N<0?1:-1:R>N}};p("sort",function(R){return R!==void 0&&o(R),O?S(this,R):s(y(this),P(R))},!O||x)},59728:function(i,d,t){var r=t(88037),n=t(45344),e=t(4652),o=r.aTypedArray,s=r.getTypedArrayConstructor,u=r.exportTypedArrayMethod;u("subarray",function(v,c){var g=o(this),y=g.length,p=e(v,y),m=s(g);return new m(g.buffer,g.byteOffset+p*g.BYTES_PER_ELEMENT,n((c===void 0?y:e(c,y))-p))})},85227:function(i,d,t){var r=t(34246),n=t(66543),e=t(88037),o=t(72069),s=t(22806),u=r.Int8Array,f=e.aTypedArray,v=e.exportTypedArrayMethod,c=[].toLocaleString,g=!!u&&o(function(){c.call(new u(1))}),y=o(function(){return[1,2].toLocaleString()!==new u([1,2]).toLocaleString()})||!o(function(){u.prototype.toLocaleString.call([1,2])});v("toLocaleString",function(){return n(c,g?s(f(this)):f(this),s(arguments))},y)},56933:function(i,d,t){var r=t(61638),n=t(88037),e=n.aTypedArray,o=n.exportTypedArrayMethod,s=n.getTypedArrayConstructor;o("toReversed",function(){return r(e(this),s(this))})},91490:function(i,d,t){var r=t(88037),n=t(11286),e=t(85156),o=t(5220),s=r.aTypedArray,u=r.getTypedArrayConstructor,f=r.exportTypedArrayMethod,v=n(r.TypedArrayPrototype.sort);f("toSorted",function(g){g!==void 0&&e(g);var y=s(this),p=o(u(y),y);return v(p,g)})},61766:function(i,d,t){var r=t(88037).exportTypedArrayMethod,n=t(72069),e=t(34246),o=t(11286),s=e.Uint8Array,u=s&&s.prototype||{},f=[].toString,v=o([].join);n(function(){f.call({})})&&(f=function(){return v(this)});var c=u.toString!==f;r("toString",f,c)},44884:function(i,d,t){var r=t(80357);r("Uint16",function(n){return function(o,s,u){return n(this,o,s,u)}})},48658:function(i,d,t){var r=t(80357);r("Uint32",function(n){return function(o,s,u){return n(this,o,s,u)}})},81083:function(i,d,t){var r=t(80357);r("Uint8",function(n){return function(o,s,u){return n(this,o,s,u)}})},27428:function(i,d,t){var r=t(80357);r("Uint8",function(n){return function(o,s,u){return n(this,o,s,u)}},!0)},85143:function(i,d,t){var r=t(72302),n=t(88037),e=t(77129),o=t(12105),s=t(11344),u=n.aTypedArray,f=n.getTypedArrayConstructor,v=n.exportTypedArrayMethod,c=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(g){return g===8}}();v("with",function(g,y){var p=u(this),m=o(g),S=e(p)?s(y):+y;return r(p,f(p),m,S)},!c)},47005:function(i,d,t){var r=t(14304),n=t(11286),e=t(17361),o=String.fromCharCode,s=n("".charAt),u=n(/./.exec),f=n("".slice),v=/^[\da-f]{2}$/i,c=/^[\da-f]{4}$/i;r({global:!0},{unescape:function(y){for(var p=e(y),m="",S=p.length,x=0,O,P;x<S;){if(O=s(p,x++),O==="%"){if(s(p,x)==="u"){if(P=f(p,x+1,x+5),u(c,P)){m+=o(parseInt(P,16)),x+=5;continue}}else if(P=f(p,x,x+2),u(v,P)){m+=o(parseInt(P,16)),x+=2;continue}}m+=O}return m}})},21084:function(i,d,t){var r=t(27534),n=t(34246),e=t(11286),o=t(2725),s=t(31853),u=t(89378),f=t(94667),v=t(37540),c=t(82367).enforce,g=t(72069),y=t(42960),p=Object,m=Array.isArray,S=p.isExtensible,x=p.isFrozen,O=p.isSealed,P=p.freeze,T=p.seal,R=!n.ActiveXObject&&"ActiveXObject"in n,N,A=function(B){return function(){return B(this,arguments.length?arguments[0]:void 0)}},C=u("WeakMap",A,f),M=C.prototype,$=e(M.set),F=function(){return r&&g(function(){var B=P([]);return $(new C,B,1),!x(B)})};if(y)if(R){N=f.getConstructor(A,"WeakMap",!0),s.enable();var U=e(M.delete),w=e(M.has),G=e(M.get);o(M,{delete:function(B){if(v(B)&&!S(B)){var b=c(this);return b.frozen||(b.frozen=new N),U(this,B)||b.frozen.delete(B)}return U(this,B)},has:function(b){if(v(b)&&!S(b)){var j=c(this);return j.frozen||(j.frozen=new N),w(this,b)||j.frozen.has(b)}return w(this,b)},get:function(b){if(v(b)&&!S(b)){var j=c(this);return j.frozen||(j.frozen=new N),w(this,b)?G(this,b):j.frozen.get(b)}return G(this,b)},set:function(b,j){if(v(b)&&!S(b)){var W=c(this);W.frozen||(W.frozen=new N),w(this,b)?$(this,b,j):W.frozen.set(b,j)}else $(this,b,j);return this}})}else F()&&o(M,{set:function(b,j){var W;return m(b)&&(x(b)?W=P:O(b)&&(W=T)),$(this,b,j),W&&W(b),this}})},10042:function(i,d,t){t(21084)},58990:function(i,d,t){var r=t(89378),n=t(94667);r("WeakSet",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},n)},37888:function(i,d,t){t(58990)},19431:function(i,d,t){var r=t(14304),n=t(34246),e=t(38941),o=t(11286),s=t(96499),u=t(72069),f=t(17361),v=t(95486),c=t(6210).c2i,g=/[^\d+/a-z]/i,y=/[\t\n\f\r ]+/g,p=/[=]{1,2}$/,m=e("atob"),S=String.fromCharCode,x=o("".charAt),O=o("".replace),P=o(g.exec),T=!!m&&!u(function(){return m("aGk=")!=="hi"}),R=T&&u(function(){return m(" ")!==""}),N=T&&!u(function(){m("a")}),A=T&&!u(function(){m()}),C=T&&m.length!==1,M=!T||R||N||A||C;r({global:!0,bind:!0,enumerable:!0,forced:M},{atob:function(F){if(v(arguments.length,1),T&&!R&&!N)return s(m,n,F);var U=O(f(F),y,""),w="",G=0,B=0,b,j,W;if(U.length%4===0&&(U=O(U,p,"")),b=U.length,b%4===1||P(g,U))throw new(e("DOMException"))("The string is not correctly encoded","InvalidCharacterError");for(;G<b;)j=x(U,G++),W=B%4?W*64+c[j]:c[j],B++%4&&(w+=S(255&W>>(-2*B&6)));return w}})},60869:function(i,d,t){var r=t(14304),n=t(34246),e=t(38941),o=t(11286),s=t(96499),u=t(72069),f=t(17361),v=t(95486),c=t(6210).i2c,g=e("btoa"),y=o("".charAt),p=o("".charCodeAt),m=!!g&&!u(function(){return g("hi")!=="aGk="}),S=m&&!u(function(){g()}),x=m&&u(function(){return g(null)!=="bnVsbA=="}),O=m&&g.length!==1;r({global:!0,bind:!0,enumerable:!0,forced:!m||S||x||O},{btoa:function(T){if(v(arguments.length,1),m)return s(g,n,f(T));for(var R=f(T),N="",A=0,C=c,M,$;y(R,A)||(C="=",A%1);){if($=p(R,A+=.75),$>255)throw new(e("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");M=M<<8|$,N+=y(C,63&M>>8-A%1*8)}return N}})},66722:function(i,d,t){var r=t(14304),n=t(34246),e=t(23115).clear;r({global:!0,bind:!0,enumerable:!0,forced:n.clearImmediate!==e},{clearImmediate:e})},50338:function(i,d,t){var r=t(34246),n=t(93014),e=t(39882),o=t(13349),s=t(90809),u=function(v){if(v&&v.forEach!==o)try{s(v,"forEach",o)}catch(c){v.forEach=o}};for(var f in n)n[f]&&u(r[f]&&r[f].prototype);u(e)},53059:function(i,d,t){var r=t(34246),n=t(93014),e=t(39882),o=t(35054),s=t(90809),u=t(78401),f=t(18565),v=f("iterator"),c=o.values,g=function(p,m){if(p){if(p[v]!==c)try{s(p,v,c)}catch(x){p[v]=c}if(u(p,m,!0),n[m]){for(var S in o)if(p[S]!==o[S])try{s(p,S,o[S])}catch(x){p[S]=o[S]}}}};for(var y in n)g(r[y]&&r[y].prototype,y);g(e,"DOMTokenList")},5805:function(i,d,t){var r=t(14304),n=t(38941),e=t(81191),o=t(72069),s=t(5406),u=t(18526),f=t(7831).f,v=t(16142),c=t(85500),g=t(94879),y=t(12833),p=t(25001),m=t(58434),S=t(15453),x=t(74408),O=t(40851),P=t(82367),T=t(92986),R=t(70457),N="DOMException",A="DATA_CLONE_ERR",C=n("Error"),M=n(N)||function(){try{var vt=n("MessageChannel")||e("worker_threads").MessageChannel;new vt().port1.postMessage(new WeakMap)}catch(mt){if(mt.name===A&&mt.code===25)return mt.constructor}}(),$=M&&M.prototype,F=C.prototype,U=P.set,w=P.getterFor(N),G="stack"in new C(N),B=function(vt){return g(x,vt)&&x[vt].m?x[vt].c:0},b=function(){y(this,j);var mt=arguments.length,Dt=S(mt<1?void 0:arguments[0]),$t=S(mt<2?void 0:arguments[1],"Error"),Nt=B($t);if(U(this,{type:N,name:$t,message:Dt,code:Nt}),T||(this.name=$t,this.message=Dt,this.code=Nt),G){var jt=new C(Dt);jt.name=N,f(this,"stack",u(1,O(jt.stack,1)))}},j=b.prototype=s(F),W=function(vt){return{enumerable:!0,configurable:!0,get:vt}},Q=function(vt){return W(function(){return w(this)[vt]})};T&&(c(j,"code",Q("code")),c(j,"message",Q("message")),c(j,"name",Q("name"))),f(j,"constructor",u(1,b));var X=o(function(){return!(new M instanceof C)}),k=X||o(function(){return F.toString!==m||String(new M(1,2))!=="2: 1"}),Z=X||o(function(){return new M(1,"DataCloneError").code!==25}),ht=X||M[A]!==25||$[A]!==25,lt=R?k||Z||ht:X;r({global:!0,constructor:!0,forced:lt},{DOMException:lt?b:M});var pt=n(N),Ot=pt.prototype;k&&(R||M===pt)&&v(Ot,"toString",m),Z&&T&&M===pt&&c(Ot,"code",W(function(){return B(p(this).name)}));for(var Tt in x)if(g(x,Tt)){var Kt=x[Tt],Vt=Kt.s,Ut=u(6,Kt.c);g(pt,Vt)||f(pt,Vt,Ut),g(Ot,Vt)||f(Ot,Vt,Ut)}},50685:function(i,d,t){var r=t(14304),n=t(34246),e=t(38941),o=t(18526),s=t(7831).f,u=t(94879),f=t(12833),v=t(32345),c=t(15453),g=t(74408),y=t(40851),p=t(92986),m=t(70457),S="DOMException",x=e("Error"),O=e(S),P=function(){f(this,T);var b=arguments.length,j=c(b<1?void 0:arguments[0]),W=c(b<2?void 0:arguments[1],"Error"),Q=new O(j,W),X=new x(j);return X.name=S,s(Q,"stack",o(1,y(X.stack,1))),v(Q,this,P),Q},T=P.prototype=O.prototype,R="stack"in new x(S),N="stack"in new O(1,2),A=O&&p&&Object.getOwnPropertyDescriptor(n,S),C=!!A&&!(A.writable&&A.configurable),M=R&&!C&&!N;r({global:!0,constructor:!0,forced:m||M},{DOMException:M?P:O});var $=e(S),F=$.prototype;if(F.constructor!==$){m||s(F,"constructor",o(1,$));for(var U in g)if(u(g,U)){var w=g[U],G=w.s;u($,G)||s($,G,o(6,w.c))}}},70649:function(i,d,t){var r=t(38941),n=t(78401),e="DOMException";n(r(e),e)},39842:function(i,d,t){t(66722),t(8235)},82872:function(i,d,t){var r=t(14304),n=t(34246),e=t(9709),o=t(85156),s=t(95486),u=t(72069),f=t(92986),v=u(function(){return f&&Object.getOwnPropertyDescriptor(n,"queueMicrotask").value.length!==1});r({global:!0,enumerable:!0,dontCallGetSet:!0,forced:v},{queueMicrotask:function(g){s(arguments.length,1),e(o(g))}})},91401:function(i,d,t){var r=t(14304),n=t(34246),e=t(85500),o=t(92986),s=TypeError,u=Object.defineProperty,f=n.self!==n;try{if(o){var v=Object.getOwnPropertyDescriptor(n,"self");(f||!v||!v.get||!v.enumerable)&&e(n,"self",{get:function(){return n},set:function(g){if(this!==n)throw new s("Illegal invocation");u(n,"self",{value:g,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else r({global:!0,simple:!0,forced:f},{self:n})}catch(c){}},8235:function(i,d,t){var r=t(14304),n=t(34246),e=t(23115).set,o=t(9934),s=n.setImmediate?o(e,!1):e;r({global:!0,bind:!0,enumerable:!0,forced:n.setImmediate!==s},{setImmediate:s})},63981:function(i,d,t){var r=t(14304),n=t(34246),e=t(9934),o=e(n.setInterval,!0);r({global:!0,bind:!0,forced:n.setInterval!==o},{setInterval:o})},23913:function(i,d,t){var r=t(14304),n=t(34246),e=t(9934),o=e(n.setTimeout,!0);r({global:!0,bind:!0,forced:n.setTimeout!==o},{setTimeout:o})},92904:function(i,d,t){var r=t(70457),n=t(14304),e=t(34246),o=t(38941),s=t(11286),u=t(72069),f=t(36374),v=t(23583),c=t(11051),g=t(5683),y=t(37540),p=t(491),m=t(55902),S=t(25001),x=t(9205),O=t(94879),P=t(84082),T=t(90809),R=t(82628),N=t(95486),A=t(54932),C=t(1774),M=t(172),$=t(35051),F=t(63741),U=t(16929),w=t(99050),G=e.Object,B=e.Array,b=e.Date,j=e.Error,W=e.TypeError,Q=e.PerformanceMark,X=o("DOMException"),k=C.Map,Z=C.has,ht=C.get,lt=C.set,pt=M.Set,Ot=M.add,Tt=M.has,Kt=o("Object","keys"),Vt=s([].push),Ut=s((!0).valueOf),vt=s(1 .valueOf),mt=s("".valueOf),Dt=s(b.prototype.getTime),$t=f("structuredClone"),Nt="DataCloneError",jt="Transferring",kt=function(Y){return!u(function(){var et=new e.Set([7]),ut=Y(et),ot=Y(G(7));return ut===et||!ut.has(7)||!y(ot)||+ot!=7})&&Y},_t=function(Y,et){return!u(function(){var ut=new et,ot=Y({a:ut,b:ut});return!(ot&&ot.a===ot.b&&ot.a instanceof et&&ot.a.stack===ut.stack)})},Xt=function(Y){return!u(function(){var et=Y(new e.AggregateError([1],$t,{cause:3}));return et.name!=="AggregateError"||et.errors[0]!==1||et.message!==$t||et.cause!==3})},Bt=e.structuredClone,Qt=r||!_t(Bt,j)||!_t(Bt,X)||!Xt(Bt),zt=!Bt&&kt(function(Y){return new Q($t,{detail:Y}).detail}),wt=kt(Bt)||zt,st=function(Y){throw new X("Uncloneable type: "+Y,Nt)},dt=function(Y,et){throw new X((et||"Cloning")+" of "+Y+" cannot be properly polyfilled in this engine",Nt)},q=function(Y,et){return wt||dt(et),wt(Y)},At=function(){var Y;try{Y=new e.DataTransfer}catch(et){try{Y=new e.ClipboardEvent("").clipboardData}catch(ut){}}return Y&&Y.items&&Y.files?Y:null},Pt=function(Y,et,ut){if(Z(et,Y))return ht(et,Y);var ot=ut||x(Y),ct,rt,Ft,qt,nt,gt;if(ot==="SharedArrayBuffer")wt?ct=wt(Y):ct=Y;else{var yt=e.DataView;!yt&&!v(Y.slice)&&dt("ArrayBuffer");try{if(v(Y.slice)&&!Y.resizable)ct=Y.slice(0);else for(rt=Y.byteLength,Ft=("maxByteLength"in Y)?{maxByteLength:Y.maxByteLength}:void 0,ct=new ArrayBuffer(rt,Ft),qt=new yt(Y),nt=new yt(ct),gt=0;gt<rt;gt++)nt.setUint8(gt,qt.getUint8(gt))}catch(xt){throw new X("ArrayBuffer is detached",Nt)}}return lt(et,Y,ct),ct},It=function(Y,et,ut,ot,ct){var rt=e[et];return y(rt)||dt(et),new rt(Pt(Y.buffer,ct),ut,ot)},St=function(Y,et){if(p(Y)&&st("Symbol"),!y(Y))return Y;if(et){if(Z(et,Y))return ht(et,Y)}else et=new k;var ut=x(Y),ot,ct,rt,Ft,qt,nt,gt,yt;switch(ut){case"Array":rt=B(R(Y));break;case"Object":rt={};break;case"Map":rt=new k;break;case"Set":rt=new pt;break;case"RegExp":rt=new RegExp(Y.source,A(Y));break;case"Error":switch(ct=Y.name,ct){case"AggregateError":rt=new(o(ct))([]);break;case"EvalError":case"RangeError":case"ReferenceError":case"SuppressedError":case"SyntaxError":case"TypeError":case"URIError":rt=new(o(ct));break;case"CompileError":case"LinkError":case"RuntimeError":rt=new(o("WebAssembly",ct));break;default:rt=new j}break;case"DOMException":rt=new X(Y.message,Y.name);break;case"ArrayBuffer":case"SharedArrayBuffer":rt=Pt(Y,et,ut);break;case"DataView":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float16Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":nt=ut==="DataView"?Y.byteLength:Y.length,rt=It(Y,ut,Y.byteOffset,nt,et);break;case"DOMQuad":try{rt=new DOMQuad(St(Y.p1,et),St(Y.p2,et),St(Y.p3,et),St(Y.p4,et))}catch(xt){rt=q(Y,ut)}break;case"File":if(wt)try{rt=wt(Y),x(rt)!==ut&&(rt=void 0)}catch(xt){}if(!rt)try{rt=new File([Y],Y.name,Y)}catch(xt){}rt||dt(ut);break;case"FileList":if(Ft=At(),Ft){for(qt=0,nt=R(Y);qt<nt;qt++)Ft.items.add(St(Y[qt],et));rt=Ft.files}else rt=q(Y,ut);break;case"ImageData":try{rt=new ImageData(St(Y.data,et),Y.width,Y.height,{colorSpace:Y.colorSpace})}catch(xt){rt=q(Y,ut)}break;default:if(wt)rt=wt(Y);else switch(ut){case"BigInt":rt=G(Y.valueOf());break;case"Boolean":rt=G(Ut(Y));break;case"Number":rt=G(vt(Y));break;case"String":rt=G(mt(Y));break;case"Date":rt=new b(Dt(Y));break;case"Blob":try{rt=Y.slice(0,Y.size,Y.type)}catch(xt){dt(ut)}break;case"DOMPoint":case"DOMPointReadOnly":ot=e[ut];try{rt=ot.fromPoint?ot.fromPoint(Y):new ot(Y.x,Y.y,Y.z,Y.w)}catch(xt){dt(ut)}break;case"DOMRect":case"DOMRectReadOnly":ot=e[ut];try{rt=ot.fromRect?ot.fromRect(Y):new ot(Y.x,Y.y,Y.width,Y.height)}catch(xt){dt(ut)}break;case"DOMMatrix":case"DOMMatrixReadOnly":ot=e[ut];try{rt=ot.fromMatrix?ot.fromMatrix(Y):new ot(Y)}catch(xt){dt(ut)}break;case"AudioData":case"VideoFrame":v(Y.clone)||dt(ut);try{rt=Y.clone()}catch(xt){st(ut)}break;case"CropTarget":case"CryptoKey":case"FileSystemDirectoryHandle":case"FileSystemFileHandle":case"FileSystemHandle":case"GPUCompilationInfo":case"GPUCompilationMessage":case"ImageBitmap":case"RTCCertificate":case"WebAssembly.Module":dt(ut);default:st(ut)}}switch(lt(et,Y,rt),ut){case"Array":case"Object":for(gt=Kt(Y),qt=0,nt=R(gt);qt<nt;qt++)yt=gt[qt],P(rt,yt,St(Y[yt],et));break;case"Map":Y.forEach(function(xt,bt){lt(rt,St(bt,et),St(xt,et))});break;case"Set":Y.forEach(function(xt){Ot(rt,St(xt,et))});break;case"Error":T(rt,"message",St(Y.message,et)),O(Y,"cause")&&T(rt,"cause",St(Y.cause,et)),ct==="AggregateError"?rt.errors=St(Y.errors,et):ct==="SuppressedError"&&(rt.error=St(Y.error,et),rt.suppressed=St(Y.suppressed,et));case"DOMException":U&&T(rt,"stack",St(Y.stack,et))}return rt},er=function(Y,et){if(!y(Y))throw new W("Transfer option cannot be converted to a sequence");var ut=[];m(Y,function(bt){Vt(ut,S(bt))});for(var ot=0,ct=R(ut),rt=new pt,Ft,qt,nt,gt,yt,xt;ot<ct;){if(Ft=ut[ot++],qt=x(Ft),qt==="ArrayBuffer"?Tt(rt,Ft):Z(et,Ft))throw new X("Duplicate transferable",Nt);if(qt==="ArrayBuffer"){Ot(rt,Ft);continue}if(w)gt=Bt(Ft,{transfer:[Ft]});else switch(qt){case"ImageBitmap":nt=e.OffscreenCanvas,c(nt)||dt(qt,jt);try{yt=new nt(Ft.width,Ft.height),xt=yt.getContext("bitmaprenderer"),xt.transferFromImageBitmap(Ft),gt=yt.transferToImageBitmap()}catch(bt){}break;case"AudioData":case"VideoFrame":(!v(Ft.clone)||!v(Ft.close))&&dt(qt,jt);try{gt=Ft.clone(),Ft.close()}catch(bt){}break;case"MediaSourceHandle":case"MessagePort":case"MIDIAccess":case"OffscreenCanvas":case"ReadableStream":case"RTCDataChannel":case"TransformStream":case"WebTransportReceiveStream":case"WebTransportSendStream":case"WritableStream":dt(qt,jt)}if(gt===void 0)throw new X("This object cannot be transferred: "+qt,Nt);lt(et,Ft,gt)}return rt},or=function(Y){$(Y,function(et){w?wt(et,{transfer:[et]}):v(et.transfer)?et.transfer():F?F(et):dt("ArrayBuffer",jt)})};n({global:!0,enumerable:!0,sham:!w,forced:Qt},{structuredClone:function(et){var ut=N(arguments.length,1)>1&&!g(arguments[1])?S(arguments[1]):void 0,ot=ut?ut.transfer:void 0,ct,rt;ot!==void 0&&(ct=new k,rt=er(ot,ct));var Ft=St(et,ct);return rt&&or(rt),Ft}})},28381:function(i,d,t){t(63981),t(23913)},98812:function(i,d,t){t(35054),t(93087);var r=t(14304),n=t(34246),e=t(28167),o=t(38941),s=t(96499),u=t(11286),f=t(92986),v=t(91918),c=t(16142),g=t(85500),y=t(2725),p=t(78401),m=t(26820),S=t(82367),x=t(12833),O=t(23583),P=t(94879),T=t(45526),R=t(9205),N=t(25001),A=t(37540),C=t(17361),M=t(5406),$=t(18526),F=t(90619),U=t(81077),w=t(10659),G=t(95486),B=t(18565),b=t(13270),j=B("iterator"),W="URLSearchParams",Q=W+"Iterator",X=S.set,k=S.getterFor(W),Z=S.getterFor(Q),ht=e("fetch"),lt=e("Request"),pt=e("Headers"),Ot=lt&<.prototype,Tt=pt&&pt.prototype,Kt=n.TypeError,Vt=n.encodeURIComponent,Ut=String.fromCharCode,vt=o("String","fromCodePoint"),mt=parseInt,Dt=u("".charAt),$t=u([].join),Nt=u([].push),jt=u("".replace),kt=u([].shift),_t=u([].splice),Xt=u("".split),Bt=u("".slice),Qt=u(/./.exec),zt=/\+/g,wt="\uFFFD",st=/^[0-9a-f]+$/i,dt=function(nt,gt){var yt=Bt(nt,gt,gt+2);return Qt(st,yt)?mt(yt,16):NaN},q=function(nt){for(var gt=0,yt=128;yt>0&&nt&yt;yt>>=1)gt++;return gt},At=function(nt){var gt=null;switch(nt.length){case 1:gt=nt[0];break;case 2:gt=(nt[0]&31)<<6|nt[1]&63;break;case 3:gt=(nt[0]&15)<<12|(nt[1]&63)<<6|nt[2]&63;break;case 4:gt=(nt[0]&7)<<18|(nt[1]&63)<<12|(nt[2]&63)<<6|nt[3]&63;break}return gt>1114111?null:gt},Pt=function(nt){nt=jt(nt,zt," ");for(var gt=nt.length,yt="",xt=0;xt<gt;){var bt=Dt(nt,xt);if(bt==="%"){if(Dt(nt,xt+1)==="%"||xt+3>gt){yt+="%",xt++;continue}var Zt=dt(nt,xt+1);if(Zt!==Zt){yt+=bt,xt++;continue}xt+=2;var nr=q(Zt);if(nr===0)bt=Ut(Zt);else{if(nr===1||nr>4){yt+=wt,xt++;continue}for(var ar=[Zt],ur=1;ur<nr&&(xt++,!(xt+3>gt||Dt(nt,xt)!=="%"));){var cr=dt(nt,xt+1);if(cr!==cr){xt+=3;break}if(cr>191||cr<128)break;Nt(ar,cr),xt+=2,ur++}if(ar.length!==nr){yt+=wt;continue}var Ur=At(ar);Ur===null?yt+=wt:bt=vt(Ur)}}yt+=bt,xt++}return yt},It=/[!'()~]|%20/g,St={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},er=function(nt){return St[nt]},or=function(nt){return jt(Vt(nt),It,er)},Y=m(function(gt,yt){X(this,{type:Q,target:k(gt).entries,index:0,kind:yt})},W,function(){var gt=Z(this),yt=gt.target,xt=gt.index++;if(!yt||xt>=yt.length)return gt.target=null,w(void 0,!0);var bt=yt[xt];switch(gt.kind){case"keys":return w(bt.key,!1);case"values":return w(bt.value,!1)}return w([bt.key,bt.value],!1)},!0),et=function(nt){this.entries=[],this.url=null,nt!==void 0&&(A(nt)?this.parseObject(nt):this.parseQuery(typeof nt=="string"?Dt(nt,0)==="?"?Bt(nt,1):nt:C(nt)))};et.prototype={type:W,bindURL:function(nt){this.url=nt,this.update()},parseObject:function(nt){var gt=this.entries,yt=U(nt),xt,bt,Zt,nr,ar,ur,cr;if(yt)for(xt=F(nt,yt),bt=xt.next;!(Zt=s(bt,xt)).done;){if(nr=F(N(Zt.value)),ar=nr.next,(ur=s(ar,nr)).done||(cr=s(ar,nr)).done||!s(ar,nr).done)throw new Kt("Expected sequence with length 2");Nt(gt,{key:C(ur.value),value:C(cr.value)})}else for(var Ur in nt)P(nt,Ur)&&Nt(gt,{key:Ur,value:C(nt[Ur])})},parseQuery:function(nt){if(nt)for(var gt=this.entries,yt=Xt(nt,"&"),xt=0,bt,Zt;xt<yt.length;)bt=yt[xt++],bt.length&&(Zt=Xt(bt,"="),Nt(gt,{key:Pt(kt(Zt)),value:Pt($t(Zt,"="))}))},serialize:function(){for(var nt=this.entries,gt=[],yt=0,xt;yt<nt.length;)xt=nt[yt++],Nt(gt,or(xt.key)+"="+or(xt.value));return $t(gt,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var ut=function(){x(this,ot);var gt=arguments.length>0?arguments[0]:void 0,yt=X(this,new et(gt));f||(this.size=yt.entries.length)},ot=ut.prototype;if(y(ot,{append:function(gt,yt){var xt=k(this);G(arguments.length,2),Nt(xt.entries,{key:C(gt),value:C(yt)}),f||this.length++,xt.updateURL()},delete:function(nt){for(var gt=k(this),yt=G(arguments.length,1),xt=gt.entries,bt=C(nt),Zt=yt<2?void 0:arguments[1],nr=Zt===void 0?Zt:C(Zt),ar=0;ar<xt.length;){var ur=xt[ar];if(ur.key===bt&&(nr===void 0||ur.value===nr)){if(_t(xt,ar,1),nr!==void 0)break}else ar++}f||(this.size=xt.length),gt.updateURL()},get:function(gt){var yt=k(this).entries;G(arguments.length,1);for(var xt=C(gt),bt=0;bt<yt.length;bt++)if(yt[bt].key===xt)return yt[bt].value;return null},getAll:function(gt){var yt=k(this).entries;G(arguments.length,1);for(var xt=C(gt),bt=[],Zt=0;Zt<yt.length;Zt++)yt[Zt].key===xt&&Nt(bt,yt[Zt].value);return bt},has:function(gt){for(var yt=k(this).entries,xt=G(arguments.length,1),bt=C(gt),Zt=xt<2?void 0:arguments[1],nr=Zt===void 0?Zt:C(Zt),ar=0;ar<yt.length;){var ur=yt[ar++];if(ur.key===bt&&(nr===void 0||ur.value===nr))return!0}return!1},set:function(gt,yt){var xt=k(this);G(arguments.length,1);for(var bt=xt.entries,Zt=!1,nr=C(gt),ar=C(yt),ur=0,cr;ur<bt.length;ur++)cr=bt[ur],cr.key===nr&&(Zt?_t(bt,ur--,1):(Zt=!0,cr.value=ar));Zt||Nt(bt,{key:nr,value:ar}),f||(this.size=bt.length),xt.updateURL()},sort:function(){var gt=k(this);b(gt.entries,function(yt,xt){return yt.key>xt.key?1:-1}),gt.updateURL()},forEach:function(gt){for(var yt=k(this).entries,xt=T(gt,arguments.length>1?arguments[1]:void 0),bt=0,Zt;bt<yt.length;)Zt=yt[bt++],xt(Zt.value,Zt.key,this)},keys:function(){return new Y(this,"keys")},values:function(){return new Y(this,"values")},entries:function(){return new Y(this,"entries")}},{enumerable:!0}),c(ot,j,ot.entries,{name:"entries"}),c(ot,"toString",function(){return k(this).serialize()},{enumerable:!0}),f&&g(ot,"size",{get:function(){return k(this).entries.length},configurable:!0,enumerable:!0}),p(ut,W),r({global:!0,constructor:!0,forced:!v},{URLSearchParams:ut}),!v&&O(pt)){var ct=u(Tt.has),rt=u(Tt.set),Ft=function(nt){if(A(nt)){var gt=nt.body,yt;if(R(gt)===W)return yt=nt.headers?new pt(nt.headers):new pt,ct(yt,"content-type")||rt(yt,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),M(nt,{body:$(0,C(gt)),headers:$(0,yt)})}return nt};if(O(ht)&&r({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(gt){return ht(gt,arguments.length>1?Ft(arguments[1]):{})}}),O(lt)){var qt=function(gt){return x(this,Ot),new lt(gt,arguments.length>1?Ft(arguments[1]):{})};Ot.constructor=qt,qt.prototype=Ot,r({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:qt})}}i.exports={URLSearchParams:ut,getState:k}},10901:function(i,d,t){var r=t(16142),n=t(11286),e=t(17361),o=t(95486),s=URLSearchParams,u=s.prototype,f=n(u.append),v=n(u.delete),c=n(u.forEach),g=n([].push),y=new s("a=1&a=2&b=3");y.delete("a",1),y.delete("b",void 0),y+""!="a=2"&&r(u,"delete",function(p){var m=arguments.length,S=m<2?void 0:arguments[1];if(m&&S===void 0)return v(this,p);var x=[];c(this,function(M,$){g(x,{key:$,value:M})}),o(m,1);for(var O=e(p),P=e(S),T=0,R=0,N=!1,A=x.length,C;T<A;)C=x[T++],N||C.key===O?(N=!0,v(this,C.key)):R++;for(;R<A;)C=x[R++],C.key===O&&C.value===P||f(this,C.key,C.value)},{enumerable:!0,unsafe:!0})},93944:function(i,d,t){var r=t(16142),n=t(11286),e=t(17361),o=t(95486),s=URLSearchParams,u=s.prototype,f=n(u.getAll),v=n(u.has),c=new s("a=1");(c.has("a",2)||!c.has("a",void 0))&&r(u,"has",function(y){var p=arguments.length,m=p<2?void 0:arguments[1];if(p&&m===void 0)return v(this,y);var S=f(this,y);o(p,1);for(var x=e(m),O=0;O<S.length;)if(S[O++]===x)return!0;return!1},{enumerable:!0,unsafe:!0})},86650:function(i,d,t){t(98812)},79043:function(i,d,t){var r=t(92986),n=t(11286),e=t(85500),o=URLSearchParams.prototype,s=n(o.forEach);r&&!("size"in o)&&e(o,"size",{get:function(){var f=0;return s(this,function(){f++}),f},configurable:!0,enumerable:!0})},20760:function(i,d,t){var r=t(14304),n=t(38941),e=t(72069),o=t(95486),s=t(17361),u=t(91918),f=n("URL"),v=u&&e(function(){f.canParse()}),c=e(function(){return f.canParse.length!==1});r({target:"URL",stat:!0,forced:!v||c},{canParse:function(y){var p=o(arguments.length,1),m=s(y),S=p<2||arguments[1]===void 0?void 0:s(arguments[1]);try{return!!new f(m,S)}catch(x){return!1}}})},81888:function(i,d,t){t(59158);var r=t(14304),n=t(92986),e=t(91918),o=t(34246),s=t(45526),u=t(11286),f=t(16142),v=t(85500),c=t(12833),g=t(94879),y=t(16667),p=t(48258),m=t(22806),S=t(22149).codeAt,x=t(38679),O=t(17361),P=t(78401),T=t(95486),R=t(98812),N=t(82367),A=N.set,C=N.getterFor("URL"),M=R.URLSearchParams,$=R.getState,F=o.URL,U=o.TypeError,w=o.parseInt,G=Math.floor,B=Math.pow,b=u("".charAt),j=u(/./.exec),W=u([].join),Q=u(1 .toString),X=u([].pop),k=u([].push),Z=u("".replace),ht=u([].shift),lt=u("".split),pt=u("".slice),Ot=u("".toLowerCase),Tt=u([].unshift),Kt="Invalid authority",Vt="Invalid scheme",Ut="Invalid host",vt="Invalid port",mt=/[a-z]/i,Dt=/[\d+-.a-z]/i,$t=/\d/,Nt=/^0x/i,jt=/^[0-7]+$/,kt=/^\d+$/,_t=/^[\da-f]+$/i,Xt=/[\0\t\n\r #%/:<>?@[\\\]^|]/,Bt=/[\0\t\n\r #/:<>?@[\\\]^|]/,Qt=/^[\u0000-\u0020]+/,zt=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,wt=/[\t\n\r]/g,st,dt=function(K){var ft=lt(K,"."),J,H,at,Lt,Ct,ir,sr;if(ft.length&&ft[ft.length-1]===""&&ft.length--,J=ft.length,J>4)return K;for(H=[],at=0;at<J;at++){if(Lt=ft[at],Lt==="")return K;if(Ct=10,Lt.length>1&&b(Lt,0)==="0"&&(Ct=j(Nt,Lt)?16:8,Lt=pt(Lt,Ct===8?1:2)),Lt==="")ir=0;else{if(!j(Ct===10?kt:Ct===8?jt:_t,Lt))return K;ir=w(Lt,Ct)}k(H,ir)}for(at=0;at<J;at++)if(ir=H[at],at===J-1){if(ir>=B(256,5-J))return null}else if(ir>255)return null;for(sr=X(H),at=0;at<H.length;at++)sr+=H[at]*B(256,3-at);return sr},q=function(K){var ft=[0,0,0,0,0,0,0,0],J=0,H=null,at=0,Lt,Ct,ir,sr,dr,Nr,it,lr=function(){return b(K,at)};if(lr()===":"){if(b(K,1)!==":")return;at+=2,J++,H=J}for(;lr();){if(J===8)return;if(lr()===":"){if(H!==null)return;at++,J++,H=J;continue}for(Lt=Ct=0;Ct<4&&j(_t,lr());)Lt=Lt*16+w(lr(),16),at++,Ct++;if(lr()==="."){if(Ct===0||(at-=Ct,J>6))return;for(ir=0;lr();){if(sr=null,ir>0)if(lr()==="."&&ir<4)at++;else return;if(!j($t,lr()))return;for(;j($t,lr());){if(dr=w(lr(),10),sr===null)sr=dr;else{if(sr===0)return;sr=sr*10+dr}if(sr>255)return;at++}ft[J]=ft[J]*256+sr,ir++,(ir===2||ir===4)&&J++}if(ir!==4)return;break}else if(lr()===":"){if(at++,!lr())return}else if(lr())return;ft[J++]=Lt}if(H!==null)for(Nr=J-H,J=7;J!==0&&Nr>0;)it=ft[J],ft[J--]=ft[H+Nr-1],ft[H+--Nr]=it;else if(J!==8)return;return ft},At=function(K){for(var ft=null,J=1,H=null,at=0,Lt=0;Lt<8;Lt++)K[Lt]!==0?(at>J&&(ft=H,J=at),H=null,at=0):(H===null&&(H=Lt),++at);return at>J?H:ft},Pt=function(K){var ft,J,H,at;if(typeof K=="number"){for(ft=[],J=0;J<4;J++)Tt(ft,K%256),K=G(K/256);return W(ft,".")}if(typeof K=="object"){for(ft="",H=At(K),J=0;J<8;J++)at&&K[J]===0||(at&&(at=!1),H===J?(ft+=J?":":"::",at=!0):(ft+=Q(K[J],16),J<7&&(ft+=":")));return"["+ft+"]"}return K},It={},St=y({},It,{" ":1,'"':1,"<":1,">":1,"`":1}),er=y({},St,{"#":1,"?":1,"{":1,"}":1}),or=y({},er,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Y=function(K,ft){var J=S(K,0);return J>32&&J<127&&!g(ft,K)?K:encodeURIComponent(K)},et={ftp:21,file:null,http:80,https:443,ws:80,wss:443},ut=function(K,ft){var J;return K.length===2&&j(mt,b(K,0))&&((J=b(K,1))===":"||!ft&&J==="|")},ot=function(K){var ft;return K.length>1&&ut(pt(K,0,2))&&(K.length===2||(ft=b(K,2))==="/"||ft==="\\"||ft==="?"||ft==="#")},ct=function(K){return K==="."||Ot(K)==="%2e"},rt=function(K){return K=Ot(K),K===".."||K==="%2e."||K===".%2e"||K==="%2e%2e"},Ft={},qt={},nt={},gt={},yt={},xt={},bt={},Zt={},nr={},ar={},ur={},cr={},Ur={},gn={},Dn={},yn={},qr={},Br={},Fn={},Kr={},br={},pn=function(K,ft,J){var H=O(K),at,Lt,Ct;if(ft){if(Lt=this.parse(H),Lt)throw new U(Lt);this.searchParams=null}else{if(J!==void 0&&(at=new pn(J,!0)),Lt=this.parse(H,null,at),Lt)throw new U(Lt);Ct=$(new M),Ct.bindURL(this),this.searchParams=Ct}};pn.prototype={type:"URL",parse:function(K,ft,J){var H=this,at=ft||Ft,Lt=0,Ct="",ir=!1,sr=!1,dr=!1,Nr,it,lr,jr;for(K=O(K),ft||(H.scheme="",H.username="",H.password="",H.host=null,H.port=null,H.path=[],H.query=null,H.fragment=null,H.cannotBeABaseURL=!1,K=Z(K,Qt,""),K=Z(K,zt,"$1")),K=Z(K,wt,""),Nr=p(K);Lt<=Nr.length;){switch(it=Nr[Lt],at){case Ft:if(it&&j(mt,it))Ct+=Ot(it),at=qt;else{if(ft)return Vt;at=nt;continue}break;case qt:if(it&&(j(Dt,it)||it==="+"||it==="-"||it==="."))Ct+=Ot(it);else if(it===":"){if(ft&&(H.isSpecial()!==g(et,Ct)||Ct==="file"&&(H.includesCredentials()||H.port!==null)||H.scheme==="file"&&!H.host))return;if(H.scheme=Ct,ft){H.isSpecial()&&et[H.scheme]===H.port&&(H.port=null);return}Ct="",H.scheme==="file"?at=gn:H.isSpecial()&&J&&J.scheme===H.scheme?at=gt:H.isSpecial()?at=Zt:Nr[Lt+1]==="/"?(at=yt,Lt++):(H.cannotBeABaseURL=!0,k(H.path,""),at=Fn)}else{if(ft)return Vt;Ct="",at=nt,Lt=0;continue}break;case nt:if(!J||J.cannotBeABaseURL&&it!=="#")return Vt;if(J.cannotBeABaseURL&&it==="#"){H.scheme=J.scheme,H.path=m(J.path),H.query=J.query,H.fragment="",H.cannotBeABaseURL=!0,at=br;break}at=J.scheme==="file"?gn:xt;continue;case gt:if(it==="/"&&Nr[Lt+1]==="/")at=nr,Lt++;else{at=xt;continue}break;case yt:if(it==="/"){at=ar;break}else{at=Br;continue}case xt:if(H.scheme=J.scheme,it===st)H.username=J.username,H.password=J.password,H.host=J.host,H.port=J.port,H.path=m(J.path),H.query=J.query;else if(it==="/"||it==="\\"&&H.isSpecial())at=bt;else if(it==="?")H.username=J.username,H.password=J.password,H.host=J.host,H.port=J.port,H.path=m(J.path),H.query="",at=Kr;else if(it==="#")H.username=J.username,H.password=J.password,H.host=J.host,H.port=J.port,H.path=m(J.path),H.query=J.query,H.fragment="",at=br;else{H.username=J.username,H.password=J.password,H.host=J.host,H.port=J.port,H.path=m(J.path),H.path.length--,at=Br;continue}break;case bt:if(H.isSpecial()&&(it==="/"||it==="\\"))at=nr;else if(it==="/")at=ar;else{H.username=J.username,H.password=J.password,H.host=J.host,H.port=J.port,at=Br;continue}break;case Zt:if(at=nr,it!=="/"||b(Ct,Lt+1)!=="/")continue;Lt++;break;case nr:if(it!=="/"&&it!=="\\"){at=ar;continue}break;case ar:if(it==="@"){ir&&(Ct="%40"+Ct),ir=!0,lr=p(Ct);for(var ln=0;ln<lr.length;ln++){var $n=lr[ln];if($n===":"&&!dr){dr=!0;continue}var Yr=Y($n,or);dr?H.password+=Yr:H.username+=Yr}Ct=""}else if(it===st||it==="/"||it==="?"||it==="#"||it==="\\"&&H.isSpecial()){if(ir&&Ct==="")return Kt;Lt-=p(Ct).length+1,Ct="",at=ur}else Ct+=it;break;case ur:case cr:if(ft&&H.scheme==="file"){at=yn;continue}else if(it===":"&&!sr){if(Ct==="")return Ut;if(jr=H.parseHost(Ct),jr)return jr;if(Ct="",at=Ur,ft===cr)return}else if(it===st||it==="/"||it==="?"||it==="#"||it==="\\"&&H.isSpecial()){if(H.isSpecial()&&Ct==="")return Ut;if(ft&&Ct===""&&(H.includesCredentials()||H.port!==null))return;if(jr=H.parseHost(Ct),jr)return jr;if(Ct="",at=qr,ft)return;continue}else it==="["?sr=!0:it==="]"&&(sr=!1),Ct+=it;break;case Ur:if(j($t,it))Ct+=it;else if(it===st||it==="/"||it==="?"||it==="#"||it==="\\"&&H.isSpecial()||ft){if(Ct!==""){var Xr=w(Ct,10);if(Xr>65535)return vt;H.port=H.isSpecial()&&Xr===et[H.scheme]?null:Xr,Ct=""}if(ft)return;at=qr;continue}else return vt;break;case gn:if(H.scheme="file",it==="/"||it==="\\")at=Dn;else if(J&&J.scheme==="file")switch(it){case st:H.host=J.host,H.path=m(J.path),H.query=J.query;break;case"?":H.host=J.host,H.path=m(J.path),H.query="",at=Kr;break;case"#":H.host=J.host,H.path=m(J.path),H.query=J.query,H.fragment="",at=br;break;default:ot(W(m(Nr,Lt),""))||(H.host=J.host,H.path=m(J.path),H.shortenPath()),at=Br;continue}else{at=Br;continue}break;case Dn:if(it==="/"||it==="\\"){at=yn;break}J&&J.scheme==="file"&&!ot(W(m(Nr,Lt),""))&&(ut(J.path[0],!0)?k(H.path,J.path[0]):H.host=J.host),at=Br;continue;case yn:if(it===st||it==="/"||it==="\\"||it==="?"||it==="#"){if(!ft&&ut(Ct))at=Br;else if(Ct===""){if(H.host="",ft)return;at=qr}else{if(jr=H.parseHost(Ct),jr)return jr;if(H.host==="localhost"&&(H.host=""),ft)return;Ct="",at=qr}continue}else Ct+=it;break;case qr:if(H.isSpecial()){if(at=Br,it!=="/"&&it!=="\\")continue}else if(!ft&&it==="?")H.query="",at=Kr;else if(!ft&&it==="#")H.fragment="",at=br;else if(it!==st&&(at=Br,it!=="/"))continue;break;case Br:if(it===st||it==="/"||it==="\\"&&H.isSpecial()||!ft&&(it==="?"||it==="#")){if(rt(Ct)?(H.shortenPath(),it!=="/"&&!(it==="\\"&&H.isSpecial())&&k(H.path,"")):ct(Ct)?it!=="/"&&!(it==="\\"&&H.isSpecial())&&k(H.path,""):(H.scheme==="file"&&!H.path.length&&ut(Ct)&&(H.host&&(H.host=""),Ct=b(Ct,0)+":"),k(H.path,Ct)),Ct="",H.scheme==="file"&&(it===st||it==="?"||it==="#"))for(;H.path.length>1&&H.path[0]==="";)ht(H.path);it==="?"?(H.query="",at=Kr):it==="#"&&(H.fragment="",at=br)}else Ct+=Y(it,er);break;case Fn:it==="?"?(H.query="",at=Kr):it==="#"?(H.fragment="",at=br):it!==st&&(H.path[0]+=Y(it,It));break;case Kr:!ft&&it==="#"?(H.fragment="",at=br):it!==st&&(it==="'"&&H.isSpecial()?H.query+="%27":it==="#"?H.query+="%23":H.query+=Y(it,It));break;case br:it!==st&&(H.fragment+=Y(it,St));break}Lt++}},parseHost:function(K){var ft,J,H;if(b(K,0)==="["){if(b(K,K.length-1)!=="]"||(ft=q(pt(K,1,-1)),!ft))return Ut;this.host=ft}else if(this.isSpecial()){if(K=x(K),j(Xt,K)||(ft=dt(K),ft===null))return Ut;this.host=ft}else{if(j(Bt,K))return Ut;for(ft="",J=p(K),H=0;H<J.length;H++)ft+=Y(J[H],It);this.host=ft}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme==="file"},includesCredentials:function(){return this.username!==""||this.password!==""},isSpecial:function(){return g(et,this.scheme)},shortenPath:function(){var K=this.path,ft=K.length;ft&&(this.scheme!=="file"||ft!==1||!ut(K[0],!0))&&K.length--},serialize:function(){var K=this,ft=K.scheme,J=K.username,H=K.password,at=K.host,Lt=K.port,Ct=K.path,ir=K.query,sr=K.fragment,dr=ft+":";return at!==null?(dr+="//",K.includesCredentials()&&(dr+=J+(H?":"+H:"")+"@"),dr+=Pt(at),Lt!==null&&(dr+=":"+Lt)):ft==="file"&&(dr+="//"),dr+=K.cannotBeABaseURL?Ct[0]:Ct.length?"/"+W(Ct,"/"):"",ir!==null&&(dr+="?"+ir),sr!==null&&(dr+="#"+sr),dr},setHref:function(K){var ft=this.parse(K);if(ft)throw new U(ft);this.searchParams.update()},getOrigin:function(){var K=this.scheme,ft=this.port;if(K==="blob")try{return new _r(K.path[0]).origin}catch(J){return"null"}return K==="file"||!this.isSpecial()?"null":K+"://"+Pt(this.host)+(ft!==null?":"+ft:"")},getProtocol:function(){return this.scheme+":"},setProtocol:function(K){this.parse(O(K)+":",Ft)},getUsername:function(){return this.username},setUsername:function(K){var ft=p(O(K));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var J=0;J<ft.length;J++)this.username+=Y(ft[J],or)}},getPassword:function(){return this.password},setPassword:function(K){var ft=p(O(K));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var J=0;J<ft.length;J++)this.password+=Y(ft[J],or)}},getHost:function(){var K=this.host,ft=this.port;return K===null?"":ft===null?Pt(K):Pt(K)+":"+ft},setHost:function(K){this.cannotBeABaseURL||this.parse(K,ur)},getHostname:function(){var K=this.host;return K===null?"":Pt(K)},setHostname:function(K){this.cannotBeABaseURL||this.parse(K,cr)},getPort:function(){var K=this.port;return K===null?"":O(K)},setPort:function(K){this.cannotHaveUsernamePasswordPort()||(K=O(K),K===""?this.port=null:this.parse(K,Ur))},getPathname:function(){var K=this.path;return this.cannotBeABaseURL?K[0]:K.length?"/"+W(K,"/"):""},setPathname:function(K){this.cannotBeABaseURL||(this.path=[],this.parse(K,qr))},getSearch:function(){var K=this.query;return K?"?"+K:""},setSearch:function(K){K=O(K),K===""?this.query=null:(b(K,0)==="?"&&(K=pt(K,1)),this.query="",this.parse(K,Kr)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var K=this.fragment;return K?"#"+K:""},setHash:function(K){if(K=O(K),K===""){this.fragment=null;return}b(K,0)==="#"&&(K=pt(K,1)),this.fragment="",this.parse(K,br)},update:function(){this.query=this.searchParams.serialize()||null}};var _r=function(ft){var J=c(this,mr),H=T(arguments.length,1)>1?arguments[1]:void 0,at=A(J,new pn(ft,!1,H));n||(J.href=at.serialize(),J.origin=at.getOrigin(),J.protocol=at.getProtocol(),J.username=at.getUsername(),J.password=at.getPassword(),J.host=at.getHost(),J.hostname=at.getHostname(),J.port=at.getPort(),J.pathname=at.getPathname(),J.search=at.getSearch(),J.searchParams=at.getSearchParams(),J.hash=at.getHash())},mr=_r.prototype,Dr=function(K,ft){return{get:function(){return C(this)[K]()},set:ft&&function(J){return C(this)[ft](J)},configurable:!0,enumerable:!0}};if(n&&(v(mr,"href",Dr("serialize","setHref")),v(mr,"origin",Dr("getOrigin")),v(mr,"protocol",Dr("getProtocol","setProtocol")),v(mr,"username",Dr("getUsername","setUsername")),v(mr,"password",Dr("getPassword","setPassword")),v(mr,"host",Dr("getHost","setHost")),v(mr,"hostname",Dr("getHostname","setHostname")),v(mr,"port",Dr("getPort","setPort")),v(mr,"pathname",Dr("getPathname","setPathname")),v(mr,"search",Dr("getSearch","setSearch")),v(mr,"searchParams",Dr("getSearchParams")),v(mr,"hash",Dr("getHash","setHash"))),f(mr,"toJSON",function(){return C(this).serialize()},{enumerable:!0}),f(mr,"toString",function(){return C(this).serialize()},{enumerable:!0}),F){var Ln=F.createObjectURL,mn=F.revokeObjectURL;Ln&&f(_r,"createObjectURL",s(Ln,F)),mn&&f(_r,"revokeObjectURL",s(mn,F))}P(_r,"URL"),r({global:!0,constructor:!0,forced:!e,sham:!n},{URL:_r})},51862:function(i,d,t){t(81888)},24119:function(i,d,t){var r=t(14304),n=t(38941),e=t(95486),o=t(17361),s=t(91918),u=n("URL");r({target:"URL",stat:!0,forced:!s},{parse:function(v){var c=e(arguments.length,1),g=o(v),y=c<2||arguments[1]===void 0?void 0:o(arguments[1]);try{return new u(g,y)}catch(p){return null}}})},97526:function(i,d,t){var r=t(14304),n=t(96499);r({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return n(URL.prototype.toString,this)}})},61969:function(i,d,t){t(40949),t(43657),t(43606),t(15855),t(42026),t(33257),t(59414),t(88344),t(92579),t(94655),t(8565),t(60843),t(65842),t(51595),t(54908),t(81742),t(8720),t(42861),t(27796),t(1341),t(98700),t(65481),t(46509),t(41585),t(84554),t(36619),t(33818),t(64096),t(2209),t(91591),t(74092),t(54703),t(82936),t(48493),t(64730),t(95024),t(35054),t(25460),t(60703),t(90468),t(69581),t(720),t(11042),t(17289),t(24608),t(51644),t(88088),t(46828),t(90088),t(35148),t(86184),t(53983),t(42560),t(88444),t(27839),t(73051),t(9372),t(35473),t(4983),t(6875),t(68575),t(35495),t(32790),t(58594),t(30801),t(90911),t(90429),t(33685),t(60086),t(96049),t(14038),t(55518),t(8894),t(60628),t(56347),t(16864),t(93819),t(11565),t(26668),t(46386),t(35179),t(20150),t(23001),t(40334),t(87457),t(66699),t(17535),t(48157),t(55338),t(6644),t(71332),t(47269),t(25627),t(22090),t(9839),t(15656),t(22091),t(2886),t(25895),t(24228),t(79488),t(75987),t(81555),t(87854),t(35074),t(50946),t(29417),t(80628),t(74375),t(29708),t(93449),t(9111),t(83514),t(15096),t(59590),t(99663),t(89988),t(54427),t(67895),t(57909),t(83938),t(55461),t(97339),t(3670),t(15224),t(45891),t(99910),t(92445),t(21875),t(4383),t(11361),t(13728),t(14885),t(30343),t(22045),t(75e3),t(64658),t(16017),t(84681),t(73421),t(93446),t(31046),t(94645),t(62935),t(62518),t(45130),t(51542),t(43781),t(25738),t(93247),t(41533),t(60225),t(69920),t(89205),t(78546),t(63616),t(16893),t(3676),t(58361),t(7487),t(23958),t(9798),t(2371),t(76185),t(76553),t(93518),t(25227),t(91723),t(57882),t(37796),t(11563),t(26159),t(20962),t(77487),t(6130),t(1354),t(47119),t(31145),t(96773),t(14371),t(18180),t(83147),t(75765),t(86548),t(15282),t(51275),t(91890),t(15089),t(78134),t(56456),t(40735),t(8510),t(70159),t(93087),t(26021),t(93029),t(59158),t(15599),t(18509),t(21579),t(8854),t(57676),t(14527),t(96834),t(52684),t(74980),t(390),t(42794),t(21293),t(18184),t(75012),t(19680),t(4193),t(70641),t(53892),t(95976),t(399),t(72032),t(49442),t(16012),t(9943),t(33128),t(95625),t(90614),t(60120),t(75826),t(25560),t(22571),t(40704),t(36849),t(49191),t(81083),t(27428),t(44884),t(48658),t(71998),t(6116),t(33032),t(80962),t(49381),t(38344),t(65961),t(94153),t(16028),t(20656),t(17063),t(21774),t(51761),t(12317),t(19711),t(41034),t(13313),t(44698),t(7369),t(66178),t(67961),t(8695),t(69997),t(9711),t(3923),t(59728),t(85227),t(56933),t(91490),t(61766),t(85143),t(47005),t(10042),t(37888),t(19431),t(60869),t(50338),t(53059),t(5805),t(50685),t(70649),t(39842),t(82872),t(91401),t(92904),t(28381),t(51862),t(20760),t(24119),t(97526),t(86650),t(10901),t(93944),t(79043),t(75081)}},kr={};function $r(i){var d=kr[i];if(d!==void 0)return d.exports;var t=kr[i]={exports:{}};return Ae[i].call(t.exports,t,t.exports,$r),t.exports}(function(){$r.d=function(i,d){for(var t in d)$r.o(d,t)&&!$r.o(i,t)&&Object.defineProperty(i,t,{enumerable:!0,get:d[t]})}})(),function(){$r.o=function(i,d){return Object.prototype.hasOwnProperty.call(i,d)}}(),$r(61969);var ae=$r(72611);return ae=ae.default,ae}()}); diff --git a/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-textoverlap.pkgd.js b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-textoverlap.pkgd.js new file mode 100644 index 000000000..16e991e08 --- /dev/null +++ b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-textoverlap.pkgd.js @@ -0,0 +1,27147 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define("bb", [], factory); + else if(typeof exports === 'object') + exports["bb"] = factory(); + else + root["bb"] = root["bb"] || {}, root["bb"]["plugin"] = root["bb"]["plugin"] || {}, root["bb"]["plugin"]["textoverlap.pkgd"] = factory(); +})(this, function() { +return /******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ([ +/* 0 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +__webpack_require__(1); +__webpack_require__(97); +__webpack_require__(98); +__webpack_require__(99); +__webpack_require__(100); +__webpack_require__(101); +__webpack_require__(102); +__webpack_require__(103); +__webpack_require__(104); +__webpack_require__(105); +__webpack_require__(106); +__webpack_require__(107); +__webpack_require__(108); +__webpack_require__(109); +__webpack_require__(110); +__webpack_require__(111); +__webpack_require__(124); +__webpack_require__(126); +__webpack_require__(136); +__webpack_require__(137); +__webpack_require__(139); +__webpack_require__(143); +__webpack_require__(146); +__webpack_require__(148); +__webpack_require__(150); +__webpack_require__(151); +__webpack_require__(152); +__webpack_require__(153); +__webpack_require__(155); +__webpack_require__(156); +__webpack_require__(158); +__webpack_require__(159); +__webpack_require__(161); +__webpack_require__(165); +__webpack_require__(166); +__webpack_require__(167); +__webpack_require__(168); +__webpack_require__(173); +__webpack_require__(174); +__webpack_require__(176); +__webpack_require__(177); +__webpack_require__(178); +__webpack_require__(180); +__webpack_require__(184); +__webpack_require__(185); +__webpack_require__(186); +__webpack_require__(187); +__webpack_require__(188); +__webpack_require__(193); +__webpack_require__(195); +__webpack_require__(196); +__webpack_require__(198); +__webpack_require__(201); +__webpack_require__(202); +__webpack_require__(203); +__webpack_require__(204); +__webpack_require__(205); +__webpack_require__(207); +__webpack_require__(217); +__webpack_require__(219); +__webpack_require__(220); +__webpack_require__(222); +__webpack_require__(225); +__webpack_require__(231); +__webpack_require__(232); +__webpack_require__(233); +__webpack_require__(234); +__webpack_require__(235); +__webpack_require__(236); +__webpack_require__(240); +__webpack_require__(241); +__webpack_require__(243); +__webpack_require__(244); +__webpack_require__(245); +__webpack_require__(247); +__webpack_require__(248); +__webpack_require__(249); +__webpack_require__(250); +__webpack_require__(251); +__webpack_require__(256); +__webpack_require__(257); +__webpack_require__(258); +__webpack_require__(259); +__webpack_require__(261); +__webpack_require__(262); +__webpack_require__(263); +__webpack_require__(265); +__webpack_require__(266); +__webpack_require__(267); +__webpack_require__(268); +__webpack_require__(93); +__webpack_require__(269); +__webpack_require__(270); +__webpack_require__(278); +__webpack_require__(280); +__webpack_require__(282); +__webpack_require__(283); +__webpack_require__(284); +__webpack_require__(285); +__webpack_require__(286); +__webpack_require__(288); +__webpack_require__(289); +__webpack_require__(290); +__webpack_require__(291); +__webpack_require__(292); +__webpack_require__(294); +__webpack_require__(295); +__webpack_require__(296); +__webpack_require__(297); +__webpack_require__(298); +__webpack_require__(299); +__webpack_require__(300); +__webpack_require__(301); +__webpack_require__(305); +__webpack_require__(306); +__webpack_require__(308); +__webpack_require__(310); +__webpack_require__(311); +__webpack_require__(312); +__webpack_require__(313); +__webpack_require__(314); +__webpack_require__(316); +__webpack_require__(318); +__webpack_require__(319); +__webpack_require__(320); +__webpack_require__(321); +__webpack_require__(323); +__webpack_require__(324); +__webpack_require__(326); +__webpack_require__(327); +__webpack_require__(328); +__webpack_require__(329); +__webpack_require__(331); +__webpack_require__(332); +__webpack_require__(333); +__webpack_require__(334); +__webpack_require__(335); +__webpack_require__(336); +__webpack_require__(337); +__webpack_require__(338); +__webpack_require__(339); +__webpack_require__(341); +__webpack_require__(342); +__webpack_require__(343); +__webpack_require__(344); +__webpack_require__(345); +__webpack_require__(346); +__webpack_require__(347); +__webpack_require__(348); +__webpack_require__(349); +__webpack_require__(350); +__webpack_require__(351); +__webpack_require__(353); +__webpack_require__(354); +__webpack_require__(355); +__webpack_require__(356); +__webpack_require__(380); +__webpack_require__(381); +__webpack_require__(382); +__webpack_require__(383); +__webpack_require__(384); +__webpack_require__(385); +__webpack_require__(386); +__webpack_require__(387); +__webpack_require__(388); +__webpack_require__(389); +__webpack_require__(391); +__webpack_require__(392); +__webpack_require__(393); +__webpack_require__(394); +__webpack_require__(395); +__webpack_require__(396); +__webpack_require__(397); +__webpack_require__(398); +__webpack_require__(399); +__webpack_require__(400); +__webpack_require__(407); +__webpack_require__(408); +__webpack_require__(410); +__webpack_require__(411); +__webpack_require__(412); +__webpack_require__(413); +__webpack_require__(414); +__webpack_require__(416); +__webpack_require__(426); +__webpack_require__(428); +__webpack_require__(430); +__webpack_require__(432); +__webpack_require__(434); +__webpack_require__(436); +__webpack_require__(438); +__webpack_require__(439); +__webpack_require__(441); +__webpack_require__(444); +__webpack_require__(445); +__webpack_require__(446); +__webpack_require__(447); +__webpack_require__(448); +__webpack_require__(452); +__webpack_require__(453); +__webpack_require__(455); +__webpack_require__(456); +__webpack_require__(457); +__webpack_require__(458); +__webpack_require__(460); +__webpack_require__(461); +__webpack_require__(462); +__webpack_require__(463); +__webpack_require__(464); +__webpack_require__(465); +__webpack_require__(466); +__webpack_require__(468); +__webpack_require__(471); +__webpack_require__(474); +__webpack_require__(477); +__webpack_require__(478); +__webpack_require__(479); +__webpack_require__(480); +__webpack_require__(481); +__webpack_require__(482); +__webpack_require__(483); +__webpack_require__(484); +__webpack_require__(485); +__webpack_require__(486); +__webpack_require__(487); +__webpack_require__(488); +__webpack_require__(489); +__webpack_require__(497); +__webpack_require__(498); +__webpack_require__(499); +__webpack_require__(500); +__webpack_require__(501); +__webpack_require__(502); +__webpack_require__(503); +__webpack_require__(504); +__webpack_require__(505); +__webpack_require__(506); +__webpack_require__(507); +__webpack_require__(508); +__webpack_require__(509); +__webpack_require__(511); +__webpack_require__(512); +__webpack_require__(513); +__webpack_require__(514); +__webpack_require__(515); +__webpack_require__(516); +__webpack_require__(517); +__webpack_require__(518); +__webpack_require__(519); +__webpack_require__(520); +__webpack_require__(521); +__webpack_require__(522); +__webpack_require__(523); +__webpack_require__(524); +__webpack_require__(525); +__webpack_require__(526); +__webpack_require__(527); +__webpack_require__(528); +__webpack_require__(529); +__webpack_require__(530); +__webpack_require__(531); +__webpack_require__(532); +__webpack_require__(533); +__webpack_require__(534); +__webpack_require__(535); +__webpack_require__(536); +__webpack_require__(537); +__webpack_require__(538); +__webpack_require__(541); +__webpack_require__(543); +__webpack_require__(545); +__webpack_require__(546); +__webpack_require__(549); +__webpack_require__(550); +__webpack_require__(552); +__webpack_require__(553); +__webpack_require__(554); +__webpack_require__(558); +__webpack_require__(559); +__webpack_require__(560); +__webpack_require__(561); +__webpack_require__(564); +__webpack_require__(569); +__webpack_require__(570); +__webpack_require__(571); +__webpack_require__(572); +__webpack_require__(573); +__webpack_require__(574); +__webpack_require__(575); + +/* unused reexport */ __webpack_require__(80); + + +/***/ }), +/* 1 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(2); +__webpack_require__(90); +__webpack_require__(92); +__webpack_require__(93); +__webpack_require__(96); + + +/***/ }), +/* 2 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); +var NATIVE_SYMBOL = __webpack_require__(26); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var isPrototypeOf = __webpack_require__(24); +var anObject = __webpack_require__(46); +var toIndexedObject = __webpack_require__(12); +var toPropertyKey = __webpack_require__(18); +var $toString = __webpack_require__(68); +var createPropertyDescriptor = __webpack_require__(11); +var nativeObjectCreate = __webpack_require__(71); +var objectKeys = __webpack_require__(73); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertyNamesExternal = __webpack_require__(75); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var definePropertyModule = __webpack_require__(44); +var definePropertiesModule = __webpack_require__(72); +var propertyIsEnumerableModule = __webpack_require__(10); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var shared = __webpack_require__(34); +var sharedKey = __webpack_require__(53); +var hiddenKeys = __webpack_require__(54); +var uid = __webpack_require__(40); +var wellKnownSymbol = __webpack_require__(33); +var wrappedWellKnownSymbolModule = __webpack_require__(78); +var defineWellKnownSymbol = __webpack_require__(79); +var defineSymbolToPrimitive = __webpack_require__(81); +var setToStringTag = __webpack_require__(82); +var InternalStateModule = __webpack_require__(51); +var $forEach = (__webpack_require__(83).forEach); + +var HIDDEN = sharedKey('hidden'); +var SYMBOL = 'Symbol'; +var PROTOTYPE = 'prototype'; + +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(SYMBOL); + +var ObjectPrototype = Object[PROTOTYPE]; +var $Symbol = globalThis.Symbol; +var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE]; +var RangeError = globalThis.RangeError; +var TypeError = globalThis.TypeError; +var QObject = globalThis.QObject; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; +var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; +var push = uncurryThis([].push); + +var AllSymbols = shared('symbols'); +var ObjectPrototypeSymbols = shared('op-symbols'); +var WellKnownSymbolsStore = shared('wks'); + +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var fallbackDefineProperty = function (O, P, Attributes) { + var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); + if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; + nativeDefineProperty(O, P, Attributes); + if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { + nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); + } +}; + +var setSymbolDescriptor = DESCRIPTORS && fails(function () { + return nativeObjectCreate(nativeDefineProperty({}, 'a', { + get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } + })).a !== 7; +}) ? fallbackDefineProperty : nativeDefineProperty; + +var wrap = function (tag, description) { + var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype); + setInternalState(symbol, { + type: SYMBOL, + tag: tag, + description: description + }); + if (!DESCRIPTORS) symbol.description = description; + return symbol; +}; + +var $defineProperty = function defineProperty(O, P, Attributes) { + if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); + anObject(O); + var key = toPropertyKey(P); + anObject(Attributes); + if (hasOwn(AllSymbols, key)) { + if (!Attributes.enumerable) { + if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null))); + O[HIDDEN][key] = true; + } else { + if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; + Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); + } return setSymbolDescriptor(O, key, Attributes); + } return nativeDefineProperty(O, key, Attributes); +}; + +var $defineProperties = function defineProperties(O, Properties) { + anObject(O); + var properties = toIndexedObject(Properties); + var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); + $forEach(keys, function (key) { + if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]); + }); + return O; +}; + +var $create = function create(O, Properties) { + return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); +}; + +var $propertyIsEnumerable = function propertyIsEnumerable(V) { + var P = toPropertyKey(V); + var enumerable = call(nativePropertyIsEnumerable, this, P); + if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false; + return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P] + ? enumerable : true; +}; + +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { + var it = toIndexedObject(O); + var key = toPropertyKey(P); + if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return; + var descriptor = nativeGetOwnPropertyDescriptor(it, key); + if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) { + descriptor.enumerable = true; + } + return descriptor; +}; + +var $getOwnPropertyNames = function getOwnPropertyNames(O) { + var names = nativeGetOwnPropertyNames(toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key); + }); + return result; +}; + +var $getOwnPropertySymbols = function (O) { + var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; + var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) { + push(result, AllSymbols[key]); + } + }); + return result; +}; + +// `Symbol` constructor +// https://tc39.es/ecma262/#sec-symbol-constructor +if (!NATIVE_SYMBOL) { + $Symbol = function Symbol() { + if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor'); + var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]); + var tag = uid(description); + var setter = function (value) { + var $this = this === undefined ? globalThis : this; + if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value); + if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false; + var descriptor = createPropertyDescriptor(1, value); + try { + setSymbolDescriptor($this, tag, descriptor); + } catch (error) { + if (!(error instanceof RangeError)) throw error; + fallbackDefineProperty($this, tag, descriptor); + } + }; + if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); + return wrap(tag, description); + }; + + SymbolPrototype = $Symbol[PROTOTYPE]; + + defineBuiltIn(SymbolPrototype, 'toString', function toString() { + return getInternalState(this).tag; + }); + + defineBuiltIn($Symbol, 'withoutSetter', function (description) { + return wrap(uid(description), description); + }); + + propertyIsEnumerableModule.f = $propertyIsEnumerable; + definePropertyModule.f = $defineProperty; + definePropertiesModule.f = $defineProperties; + getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; + getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; + getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; + + wrappedWellKnownSymbolModule.f = function (name) { + return wrap(wellKnownSymbol(name), name); + }; + + if (DESCRIPTORS) { + // https://github.com/tc39/proposal-Symbol-description + defineBuiltInAccessor(SymbolPrototype, 'description', { + configurable: true, + get: function description() { + return getInternalState(this).description; + } + }); + if (!IS_PURE) { + defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); + } + } +} + +$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { + Symbol: $Symbol +}); + +$forEach(objectKeys(WellKnownSymbolsStore), function (name) { + defineWellKnownSymbol(name); +}); + +$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { + useSetter: function () { USE_SETTER = true; }, + useSimple: function () { USE_SETTER = false; } +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { + // `Object.create` method + // https://tc39.es/ecma262/#sec-object.create + create: $create, + // `Object.defineProperty` method + // https://tc39.es/ecma262/#sec-object.defineproperty + defineProperty: $defineProperty, + // `Object.defineProperties` method + // https://tc39.es/ecma262/#sec-object.defineproperties + defineProperties: $defineProperties, + // `Object.getOwnPropertyDescriptor` method + // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors + getOwnPropertyDescriptor: $getOwnPropertyDescriptor +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { + // `Object.getOwnPropertyNames` method + // https://tc39.es/ecma262/#sec-object.getownpropertynames + getOwnPropertyNames: $getOwnPropertyNames +}); + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +defineSymbolToPrimitive(); + +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag($Symbol, SYMBOL); + +hiddenKeys[HIDDEN] = true; + + +/***/ }), +/* 3 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var defineGlobalProperty = __webpack_require__(37); +var copyConstructorProperties = __webpack_require__(55); +var isForced = __webpack_require__(67); + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.dontCallGetSet - prevent calling a getter on target + options.name - the .name of the function if it does not match the key +*/ +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = globalThis; + } else if (STATIC) { + target = globalThis[TARGET] || defineGlobalProperty(TARGET, {}); + } else { + target = globalThis[TARGET] && globalThis[TARGET].prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.dontCallGetSet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + defineBuiltIn(target, key, sourceProperty, options); + } +}; + + +/***/ }), +/* 4 */ +/***/ (function(module) { + + +var check = function (it) { + return it && it.Math === Math && it; +}; + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +module.exports = + // eslint-disable-next-line es/no-global-this -- safe + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe + check(typeof self == 'object' && self) || + check(typeof global == 'object' && global) || + check(typeof this == 'object' && this) || + // eslint-disable-next-line no-new-func -- fallback + (function () { return this; })() || Function('return this')(); + + +/***/ }), +/* 5 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var call = __webpack_require__(8); +var propertyIsEnumerableModule = __webpack_require__(10); +var createPropertyDescriptor = __webpack_require__(11); +var toIndexedObject = __webpack_require__(12); +var toPropertyKey = __webpack_require__(18); +var hasOwn = __webpack_require__(38); +var IE8_DOM_DEFINE = __webpack_require__(41); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + + +/***/ }), +/* 6 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +// Detect IE8's incomplete defineProperty implementation +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7; +}); + + +/***/ }), +/* 7 */ +/***/ (function(module) { + + +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + + +/***/ }), +/* 8 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var call = Function.prototype.call; + +module.exports = NATIVE_BIND ? call.bind(call) : function () { + return call.apply(call, arguments); +}; + + +/***/ }), +/* 9 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-function-prototype-bind -- safe + var test = (function () { /* empty */ }).bind(); + // eslint-disable-next-line no-prototype-builtins -- safe + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + + +/***/ }), +/* 10 */ +/***/ (function(__unused_webpack_module, exports) { + + +var $propertyIsEnumerable = {}.propertyIsEnumerable; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); + +// `Object.prototype.propertyIsEnumerable` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : $propertyIsEnumerable; + + +/***/ }), +/* 11 */ +/***/ (function(module) { + + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + + +/***/ }), +/* 12 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = __webpack_require__(13); +var requireObjectCoercible = __webpack_require__(16); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + + +/***/ }), +/* 13 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var classof = __webpack_require__(15); + +var $Object = Object; +var split = uncurryThis(''.split); + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +module.exports = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !$Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) === 'String' ? split(it, '') : $Object(it); +} : $Object; + + +/***/ }), +/* 14 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var FunctionPrototype = Function.prototype; +var call = FunctionPrototype.call; +var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call); + +module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) { + return function () { + return call.apply(fn, arguments); + }; +}; + + +/***/ }), +/* 15 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var toString = uncurryThis({}.toString); +var stringSlice = uncurryThis(''.slice); + +module.exports = function (it) { + return stringSlice(toString(it), 8, -1); +}; + + +/***/ }), +/* 16 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isNullOrUndefined = __webpack_require__(17); + +var $TypeError = TypeError; + +// `RequireObjectCoercible` abstract operation +// https://tc39.es/ecma262/#sec-requireobjectcoercible +module.exports = function (it) { + if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it); + return it; +}; + + +/***/ }), +/* 17 */ +/***/ (function(module) { + + +// we can't use just `it == null` since of `document.all` special case +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec +module.exports = function (it) { + return it === null || it === undefined; +}; + + +/***/ }), +/* 18 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPrimitive = __webpack_require__(19); +var isSymbol = __webpack_require__(22); + +// `ToPropertyKey` abstract operation +// https://tc39.es/ecma262/#sec-topropertykey +module.exports = function (argument) { + var key = toPrimitive(argument, 'string'); + return isSymbol(key) ? key : key + ''; +}; + + +/***/ }), +/* 19 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var getMethod = __webpack_require__(29); +var ordinaryToPrimitive = __webpack_require__(32); +var wellKnownSymbol = __webpack_require__(33); + +var $TypeError = TypeError; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + +// `ToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-toprimitive +module.exports = function (input, pref) { + if (!isObject(input) || isSymbol(input)) return input; + var exoticToPrim = getMethod(input, TO_PRIMITIVE); + var result; + if (exoticToPrim) { + if (pref === undefined) pref = 'default'; + result = call(exoticToPrim, input, pref); + if (!isObject(result) || isSymbol(result)) return result; + throw new $TypeError("Can't convert object to primitive value"); + } + if (pref === undefined) pref = 'number'; + return ordinaryToPrimitive(input, pref); +}; + + +/***/ }), +/* 20 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); + +module.exports = function (it) { + return typeof it == 'object' ? it !== null : isCallable(it); +}; + + +/***/ }), +/* 21 */ +/***/ (function(module) { + + +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot +var documentAll = typeof document == 'object' && document.all; + +// `IsCallable` abstract operation +// https://tc39.es/ecma262/#sec-iscallable +// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing +module.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) { + return typeof argument == 'function' || argument === documentAll; +} : function (argument) { + return typeof argument == 'function'; +}; + + +/***/ }), +/* 22 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var isPrototypeOf = __webpack_require__(24); +var USE_SYMBOL_AS_UID = __webpack_require__(25); + +var $Object = Object; + +module.exports = USE_SYMBOL_AS_UID ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + var $Symbol = getBuiltIn('Symbol'); + return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it)); +}; + + +/***/ }), +/* 23 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); + +var aFunction = function (argument) { + return isCallable(argument) ? argument : undefined; +}; + +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method]; +}; + + +/***/ }), +/* 24 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +module.exports = uncurryThis({}.isPrototypeOf); + + +/***/ }), +/* 25 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-symbol -- required for testing */ +var NATIVE_SYMBOL = __webpack_require__(26); + +module.exports = NATIVE_SYMBOL && + !Symbol.sham && + typeof Symbol.iterator == 'symbol'; + + +/***/ }), +/* 26 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-symbol -- required for testing */ +var V8_VERSION = __webpack_require__(27); +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +var $String = globalThis.String; + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol('symbol detection'); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + + +/***/ }), +/* 27 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var userAgent = __webpack_require__(28); + +var process = globalThis.process; +var Deno = globalThis.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + // in old Chrome, versions of V8 isn't V8 = Chrome / 10 + // but their correct versions are not interesting for us + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} + +// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` +// so check `userAgent` even if `.v8` exists, but 0 +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) version = +match[1]; + } +} + +module.exports = version; + + +/***/ }), +/* 28 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +var navigator = globalThis.navigator; +var userAgent = navigator && navigator.userAgent; + +module.exports = userAgent ? String(userAgent) : ''; + + +/***/ }), +/* 29 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var isNullOrUndefined = __webpack_require__(17); + +// `GetMethod` abstract operation +// https://tc39.es/ecma262/#sec-getmethod +module.exports = function (V, P) { + var func = V[P]; + return isNullOrUndefined(func) ? undefined : aCallable(func); +}; + + +/***/ }), +/* 30 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +// `Assert: IsCallable(argument) is true` +module.exports = function (argument) { + if (isCallable(argument)) return argument; + throw new $TypeError(tryToString(argument) + ' is not a function'); +}; + + +/***/ }), +/* 31 */ +/***/ (function(module) { + + +var $String = String; + +module.exports = function (argument) { + try { + return $String(argument); + } catch (error) { + return 'Object'; + } +}; + + +/***/ }), +/* 32 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); + +var $TypeError = TypeError; + +// `OrdinaryToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-ordinarytoprimitive +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + throw new $TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), +/* 33 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var shared = __webpack_require__(34); +var hasOwn = __webpack_require__(38); +var uid = __webpack_require__(40); +var NATIVE_SYMBOL = __webpack_require__(26); +var USE_SYMBOL_AS_UID = __webpack_require__(25); + +var Symbol = globalThis.Symbol; +var WellKnownSymbolsStore = shared('wks'); +var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid; + +module.exports = function (name) { + if (!hasOwn(WellKnownSymbolsStore, name)) { + WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) + ? Symbol[name] + : createWellKnownSymbol('Symbol.' + name); + } return WellKnownSymbolsStore[name]; +}; + + +/***/ }), +/* 34 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var store = __webpack_require__(35); + +module.exports = function (key, value) { + return store[key] || (store[key] = value || {}); +}; + + +/***/ }), +/* 35 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var IS_PURE = __webpack_require__(36); +var globalThis = __webpack_require__(4); +var defineGlobalProperty = __webpack_require__(37); + +var SHARED = '__core-js_shared__'; +var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {}); + +(store.versions || (store.versions = [])).push({ + version: '3.39.0', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)', + license: 'https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE', + source: 'https://github.com/zloirock/core-js' +}); + + +/***/ }), +/* 36 */ +/***/ (function(module) { + + +module.exports = false; + + +/***/ }), +/* 37 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; + +module.exports = function (key, value) { + try { + defineProperty(globalThis, key, { value: value, configurable: true, writable: true }); + } catch (error) { + globalThis[key] = value; + } return value; +}; + + +/***/ }), +/* 38 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toObject = __webpack_require__(39); + +var hasOwnProperty = uncurryThis({}.hasOwnProperty); + +// `HasOwnProperty` abstract operation +// https://tc39.es/ecma262/#sec-hasownproperty +// eslint-disable-next-line es/no-object-hasown -- safe +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + + +/***/ }), +/* 39 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var requireObjectCoercible = __webpack_require__(16); + +var $Object = Object; + +// `ToObject` abstract operation +// https://tc39.es/ecma262/#sec-toobject +module.exports = function (argument) { + return $Object(requireObjectCoercible(argument)); +}; + + +/***/ }), +/* 40 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var id = 0; +var postfix = Math.random(); +var toString = uncurryThis(1.0.toString); + +module.exports = function (key) { + return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); +}; + + +/***/ }), +/* 41 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var createElement = __webpack_require__(42); + +// Thanks to IE8 for its funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a !== 7; +}); + + +/***/ }), +/* 42 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isObject = __webpack_require__(20); + +var document = globalThis.document; +// typeof document.createElement is 'object' in old IE +var EXISTS = isObject(document) && isObject(document.createElement); + +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + + +/***/ }), +/* 43 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var definePropertyModule = __webpack_require__(44); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + + +/***/ }), +/* 44 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var IE8_DOM_DEFINE = __webpack_require__(41); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(45); +var anObject = __webpack_require__(46); +var toPropertyKey = __webpack_require__(18); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var $defineProperty = Object.defineProperty; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var ENUMERABLE = 'enumerable'; +var CONFIGURABLE = 'configurable'; +var WRITABLE = 'writable'; + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { + var current = $getOwnPropertyDescriptor(O, P); + if (current && current[WRITABLE]) { + O[P] = Attributes.value; + Attributes = { + configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE], + enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], + writable: false + }; + } + } return $defineProperty(O, P, Attributes); +} : $defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPropertyKey(P); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return $defineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + + +/***/ }), +/* 45 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); + +// V8 ~ Chrome 36- +// https://bugs.chromium.org/p/v8/issues/detail?id=3334 +module.exports = DESCRIPTORS && fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(function () { /* empty */ }, 'prototype', { + value: 42, + writable: false + }).prototype !== 42; +}); + + +/***/ }), +/* 46 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +var $String = String; +var $TypeError = TypeError; + +// `Assert: Type(argument) is Object` +module.exports = function (argument) { + if (isObject(argument)) return argument; + throw new $TypeError($String(argument) + ' is not an object'); +}; + + +/***/ }), +/* 47 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var definePropertyModule = __webpack_require__(44); +var makeBuiltIn = __webpack_require__(48); +var defineGlobalProperty = __webpack_require__(37); + +module.exports = function (O, key, value, options) { + if (!options) options = {}; + var simple = options.enumerable; + var name = options.name !== undefined ? options.name : key; + if (isCallable(value)) makeBuiltIn(value, name, options); + if (options.global) { + if (simple) O[key] = value; + else defineGlobalProperty(key, value); + } else { + try { + if (!options.unsafe) delete O[key]; + else if (O[key]) simple = true; + } catch (error) { /* empty */ } + if (simple) O[key] = value; + else definePropertyModule.f(O, key, { + value: value, + enumerable: false, + configurable: !options.nonConfigurable, + writable: !options.nonWritable + }); + } return O; +}; + + +/***/ }), +/* 48 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var DESCRIPTORS = __webpack_require__(6); +var CONFIGURABLE_FUNCTION_NAME = (__webpack_require__(49).CONFIGURABLE); +var inspectSource = __webpack_require__(50); +var InternalStateModule = __webpack_require__(51); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var $String = String; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; +var stringSlice = uncurryThis(''.slice); +var replace = uncurryThis(''.replace); +var join = uncurryThis([].join); + +var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () { + return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; +}); + +var TEMPLATE = String(String).split('String'); + +var makeBuiltIn = module.exports = function (value, name, options) { + if (stringSlice($String(name), 0, 7) === 'Symbol(') { + name = '[' + replace($String(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']'; + } + if (options && options.getter) name = 'get ' + name; + if (options && options.setter) name = 'set ' + name; + if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { + if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true }); + else value.name = name; + } + if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { + defineProperty(value, 'length', { value: options.arity }); + } + try { + if (options && hasOwn(options, 'constructor') && options.constructor) { + if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false }); + // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable + } else if (value.prototype) value.prototype = undefined; + } catch (error) { /* empty */ } + var state = enforceInternalState(value); + if (!hasOwn(state, 'source')) { + state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); + } return value; +}; + +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +// eslint-disable-next-line no-extend-native -- required +Function.prototype.toString = makeBuiltIn(function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}, 'toString'); + + +/***/ }), +/* 49 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var hasOwn = __webpack_require__(38); + +var FunctionPrototype = Function.prototype; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; + +var EXISTS = hasOwn(FunctionPrototype, 'name'); +// additional protection from minified / mangled / dropped function names +var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; +var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable)); + +module.exports = { + EXISTS: EXISTS, + PROPER: PROPER, + CONFIGURABLE: CONFIGURABLE +}; + + +/***/ }), +/* 50 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var isCallable = __webpack_require__(21); +var store = __webpack_require__(35); + +var functionToString = uncurryThis(Function.toString); + +// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper +if (!isCallable(store.inspectSource)) { + store.inspectSource = function (it) { + return functionToString(it); + }; +} + +module.exports = store.inspectSource; + + +/***/ }), +/* 51 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_WEAK_MAP = __webpack_require__(52); +var globalThis = __webpack_require__(4); +var isObject = __webpack_require__(20); +var createNonEnumerableProperty = __webpack_require__(43); +var hasOwn = __webpack_require__(38); +var shared = __webpack_require__(35); +var sharedKey = __webpack_require__(53); +var hiddenKeys = __webpack_require__(54); + +var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; +var TypeError = globalThis.TypeError; +var WeakMap = globalThis.WeakMap; +var set, get, has; + +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; + +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw new TypeError('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; +}; + +if (NATIVE_WEAK_MAP || shared.state) { + var store = shared.state || (shared.state = new WeakMap()); + /* eslint-disable no-self-assign -- prototype methods protection */ + store.get = store.get; + store.has = store.has; + store.set = store.set; + /* eslint-enable no-self-assign -- prototype methods protection */ + set = function (it, metadata) { + if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + store.set(it, metadata); + return metadata; + }; + get = function (it) { + return store.get(it) || {}; + }; + has = function (it) { + return store.has(it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); + metadata.facade = it; + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return hasOwn(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return hasOwn(it, STATE); + }; +} + +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + + +/***/ }), +/* 52 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); + +var WeakMap = globalThis.WeakMap; + +module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap)); + + +/***/ }), +/* 53 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var shared = __webpack_require__(34); +var uid = __webpack_require__(40); + +var keys = shared('keys'); + +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + + +/***/ }), +/* 54 */ +/***/ (function(module) { + + +module.exports = {}; + + +/***/ }), +/* 55 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var ownKeys = __webpack_require__(56); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var definePropertyModule = __webpack_require__(44); + +module.exports = function (target, source, exceptions) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + + +/***/ }), +/* 56 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var anObject = __webpack_require__(46); + +var concat = uncurryThis([].concat); + +// all object keys, includes non-enumerable and symbols +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; +}; + + +/***/ }), +/* 57 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var internalObjectKeys = __webpack_require__(58); +var enumBugKeys = __webpack_require__(65); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + + +/***/ }), +/* 58 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var hasOwn = __webpack_require__(38); +var toIndexedObject = __webpack_require__(12); +var indexOf = (__webpack_require__(59).indexOf); +var hiddenKeys = __webpack_require__(54); + +var push = uncurryThis([].push); + +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); + // Don't enum bug & hidden keys + while (names.length > i) if (hasOwn(O, key = names[i++])) { + ~indexOf(result, key) || push(result, key); + } + return result; +}; + + +/***/ }), +/* 59 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIndexedObject = __webpack_require__(12); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + if (length === 0) return !IS_INCLUDES && -1; + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el !== el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value !== value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +module.exports = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + + +/***/ }), +/* 60 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + + +/***/ }), +/* 61 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var trunc = __webpack_require__(62); + +// `ToIntegerOrInfinity` abstract operation +// https://tc39.es/ecma262/#sec-tointegerorinfinity +module.exports = function (argument) { + var number = +argument; + // eslint-disable-next-line no-self-compare -- NaN check + return number !== number || number === 0 ? 0 : trunc(number); +}; + + +/***/ }), +/* 62 */ +/***/ (function(module) { + + +var ceil = Math.ceil; +var floor = Math.floor; + +// `Math.trunc` method +// https://tc39.es/ecma262/#sec-math.trunc +// eslint-disable-next-line es/no-math-trunc -- safe +module.exports = Math.trunc || function trunc(x) { + var n = +x; + return (n > 0 ? floor : ceil)(n); +}; + + +/***/ }), +/* 63 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toLength = __webpack_require__(64); + +// `LengthOfArrayLike` abstract operation +// https://tc39.es/ecma262/#sec-lengthofarraylike +module.exports = function (obj) { + return toLength(obj.length); +}; + + +/***/ }), +/* 64 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +module.exports = function (argument) { + var len = toIntegerOrInfinity(argument); + return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + + +/***/ }), +/* 65 */ +/***/ (function(module) { + + +// IE8- don't enum bug keys +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + + +/***/ }), +/* 66 */ +/***/ (function(__unused_webpack_module, exports) { + + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe +exports.f = Object.getOwnPropertySymbols; + + +/***/ }), +/* 67 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); + +var replacement = /#|\.prototype\./; + +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value === POLYFILL ? true + : value === NATIVE ? false + : isCallable(detection) ? fails(detection) + : !!detection; +}; + +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; + +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; + +module.exports = isForced; + + +/***/ }), +/* 68 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); + +var $String = String; + +module.exports = function (argument) { + if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); + return $String(argument); +}; + + +/***/ }), +/* 69 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var isCallable = __webpack_require__(21); +var classofRaw = __webpack_require__(15); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Object = Object; + +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } +}; + +// getting tag from ES6+ `Object.prototype.toString` +module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result; +}; + + +/***/ }), +/* 70 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG] = 'z'; + +module.exports = String(test) === '[object z]'; + + +/***/ }), +/* 71 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* global ActiveXObject -- old IE, WSH */ +var anObject = __webpack_require__(46); +var definePropertiesModule = __webpack_require__(72); +var enumBugKeys = __webpack_require__(65); +var hiddenKeys = __webpack_require__(54); +var html = __webpack_require__(74); +var documentCreateElement = __webpack_require__(42); +var sharedKey = __webpack_require__(53); + +var GT = '>'; +var LT = '<'; +var PROTOTYPE = 'prototype'; +var SCRIPT = 'script'; +var IE_PROTO = sharedKey('IE_PROTO'); + +var EmptyConstructor = function () { /* empty */ }; + +var scriptTag = function (content) { + return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; +}; + +// Create object with fake `null` prototype: use ActiveX Object with cleared prototype +var NullProtoObjectViaActiveX = function (activeXDocument) { + activeXDocument.write(scriptTag('')); + activeXDocument.close(); + var temp = activeXDocument.parentWindow.Object; + // eslint-disable-next-line no-useless-assignment -- avoid memory leak + activeXDocument = null; + return temp; +}; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var NullProtoObjectViaIFrame = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = documentCreateElement('iframe'); + var JS = 'java' + SCRIPT + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + // https://github.com/zloirock/core-js/issues/475 + iframe.src = String(JS); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(scriptTag('document.F=Object')); + iframeDocument.close(); + return iframeDocument.F; +}; + +// Check for document.domain and active x support +// No need to use active x approach when document.domain is not set +// see https://github.com/es-shims/es5-shim/issues/150 +// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 +// avoid IE GC bug +var activeXDocument; +var NullProtoObject = function () { + try { + activeXDocument = new ActiveXObject('htmlfile'); + } catch (error) { /* ignore */ } + NullProtoObject = typeof document != 'undefined' + ? document.domain && activeXDocument + ? NullProtoObjectViaActiveX(activeXDocument) // old IE + : NullProtoObjectViaIFrame() + : NullProtoObjectViaActiveX(activeXDocument); // WSH + var length = enumBugKeys.length; + while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; + return NullProtoObject(); +}; + +hiddenKeys[IE_PROTO] = true; + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +// eslint-disable-next-line es/no-object-create -- safe +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + EmptyConstructor[PROTOTYPE] = anObject(O); + result = new EmptyConstructor(); + EmptyConstructor[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = NullProtoObject(); + return Properties === undefined ? result : definePropertiesModule.f(result, Properties); +}; + + +/***/ }), +/* 72 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(45); +var definePropertyModule = __webpack_require__(44); +var anObject = __webpack_require__(46); +var toIndexedObject = __webpack_require__(12); +var objectKeys = __webpack_require__(73); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var props = toIndexedObject(Properties); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]); + return O; +}; + + +/***/ }), +/* 73 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var internalObjectKeys = __webpack_require__(58); +var enumBugKeys = __webpack_require__(65); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +// eslint-disable-next-line es/no-object-keys -- safe +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + + +/***/ }), +/* 74 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); + +module.exports = getBuiltIn('document', 'documentElement'); + + +/***/ }), +/* 75 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-object-getownpropertynames -- safe */ +var classof = __webpack_require__(15); +var toIndexedObject = __webpack_require__(12); +var $getOwnPropertyNames = (__webpack_require__(57).f); +var arraySlice = __webpack_require__(76); + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return $getOwnPropertyNames(it); + } catch (error) { + return arraySlice(windowNames); + } +}; + +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && classof(it) === 'Window' + ? getWindowNames(it) + : $getOwnPropertyNames(toIndexedObject(it)); +}; + + +/***/ }), +/* 76 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +module.exports = uncurryThis([].slice); + + +/***/ }), +/* 77 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var makeBuiltIn = __webpack_require__(48); +var defineProperty = __webpack_require__(44); + +module.exports = function (target, name, descriptor) { + if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true }); + if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true }); + return defineProperty.f(target, name, descriptor); +}; + + +/***/ }), +/* 78 */ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +exports.f = wellKnownSymbol; + + +/***/ }), +/* 79 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var path = __webpack_require__(80); +var hasOwn = __webpack_require__(38); +var wrappedWellKnownSymbolModule = __webpack_require__(78); +var defineProperty = (__webpack_require__(44).f); + +module.exports = function (NAME) { + var Symbol = path.Symbol || (path.Symbol = {}); + if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, { + value: wrappedWellKnownSymbolModule.f(NAME) + }); +}; + + +/***/ }), +/* 80 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = globalThis; + + +/***/ }), +/* 81 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var getBuiltIn = __webpack_require__(23); +var wellKnownSymbol = __webpack_require__(33); +var defineBuiltIn = __webpack_require__(47); + +module.exports = function () { + var Symbol = getBuiltIn('Symbol'); + var SymbolPrototype = Symbol && Symbol.prototype; + var valueOf = SymbolPrototype && SymbolPrototype.valueOf; + var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); + + if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) { + // `Symbol.prototype[@@toPrimitive]` method + // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive + // eslint-disable-next-line no-unused-vars -- required for .length + defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) { + return call(valueOf, this); + }, { arity: 1 }); + } +}; + + +/***/ }), +/* 82 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineProperty = (__webpack_require__(44).f); +var hasOwn = __webpack_require__(38); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +module.exports = function (target, TAG, STATIC) { + if (target && !STATIC) target = target.prototype; + if (target && !hasOwn(target, TO_STRING_TAG)) { + defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG }); + } +}; + + +/***/ }), +/* 83 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var uncurryThis = __webpack_require__(14); +var IndexedObject = __webpack_require__(13); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var arraySpeciesCreate = __webpack_require__(86); + +var push = uncurryThis([].push); + +// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation +var createMethod = function (TYPE) { + var IS_MAP = TYPE === 1; + var IS_FILTER = TYPE === 2; + var IS_SOME = TYPE === 3; + var IS_EVERY = TYPE === 4; + var IS_FIND_INDEX = TYPE === 6; + var IS_FILTER_REJECT = TYPE === 7; + var NO_HOLES = TYPE === 5 || IS_FIND_INDEX; + return function ($this, callbackfn, that, specificCreate) { + var O = toObject($this); + var self = IndexedObject(O); + var length = lengthOfArrayLike(self); + var boundFunction = bind(callbackfn, that); + var index = 0; + var create = specificCreate || arraySpeciesCreate; + var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; + var value, result; + for (;length > index; index++) if (NO_HOLES || index in self) { + value = self[index]; + result = boundFunction(value, index, O); + if (TYPE) { + if (IS_MAP) target[index] = result; // map + else if (result) switch (TYPE) { + case 3: return true; // some + case 5: return value; // find + case 6: return index; // findIndex + case 2: push(target, value); // filter + } else switch (TYPE) { + case 4: return false; // every + case 7: push(target, value); // filterReject + } + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; + }; +}; + +module.exports = { + // `Array.prototype.forEach` method + // https://tc39.es/ecma262/#sec-array.prototype.foreach + forEach: createMethod(0), + // `Array.prototype.map` method + // https://tc39.es/ecma262/#sec-array.prototype.map + map: createMethod(1), + // `Array.prototype.filter` method + // https://tc39.es/ecma262/#sec-array.prototype.filter + filter: createMethod(2), + // `Array.prototype.some` method + // https://tc39.es/ecma262/#sec-array.prototype.some + some: createMethod(3), + // `Array.prototype.every` method + // https://tc39.es/ecma262/#sec-array.prototype.every + every: createMethod(4), + // `Array.prototype.find` method + // https://tc39.es/ecma262/#sec-array.prototype.find + find: createMethod(5), + // `Array.prototype.findIndex` method + // https://tc39.es/ecma262/#sec-array.prototype.findIndex + findIndex: createMethod(6), + // `Array.prototype.filterReject` method + // https://github.com/tc39/proposal-array-filtering + filterReject: createMethod(7) +}; + + +/***/ }), +/* 84 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(85); +var aCallable = __webpack_require__(30); +var NATIVE_BIND = __webpack_require__(9); + +var bind = uncurryThis(uncurryThis.bind); + +// optional / simple context binding +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), +/* 85 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classofRaw = __webpack_require__(15); +var uncurryThis = __webpack_require__(14); + +module.exports = function (fn) { + // Nashorn bug: + // https://github.com/zloirock/core-js/issues/1128 + // https://github.com/zloirock/core-js/issues/1130 + if (classofRaw(fn) === 'Function') return uncurryThis(fn); +}; + + +/***/ }), +/* 86 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arraySpeciesConstructor = __webpack_require__(87); + +// `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray, length) { + return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); +}; + + +/***/ }), +/* 87 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isArray = __webpack_require__(88); +var isConstructor = __webpack_require__(89); +var isObject = __webpack_require__(20); +var wellKnownSymbol = __webpack_require__(33); + +var SPECIES = wellKnownSymbol('species'); +var $Array = Array; + +// a part of `ArraySpeciesCreate` abstract operation +// https://tc39.es/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray) { + var C; + if (isArray(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined; + else if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? $Array : C; +}; + + +/***/ }), +/* 88 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(15); + +// `IsArray` abstract operation +// https://tc39.es/ecma262/#sec-isarray +// eslint-disable-next-line es/no-array-isarray -- safe +module.exports = Array.isArray || function isArray(argument) { + return classof(argument) === 'Array'; +}; + + +/***/ }), +/* 89 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(69); +var getBuiltIn = __webpack_require__(23); +var inspectSource = __webpack_require__(50); + +var noop = function () { /* empty */ }; +var construct = getBuiltIn('Reflect', 'construct'); +var constructorRegExp = /^\s*(?:class|function)\b/; +var exec = uncurryThis(constructorRegExp.exec); +var INCORRECT_TO_STRING = !constructorRegExp.test(noop); + +var isConstructorModern = function isConstructor(argument) { + if (!isCallable(argument)) return false; + try { + construct(noop, [], argument); + return true; + } catch (error) { + return false; + } +}; + +var isConstructorLegacy = function isConstructor(argument) { + if (!isCallable(argument)) return false; + switch (classof(argument)) { + case 'AsyncFunction': + case 'GeneratorFunction': + case 'AsyncGeneratorFunction': return false; + } + try { + // we can't check .prototype since constructors produced by .bind haven't it + // `Function#toString` throws on some built-it function in some legacy engines + // (for example, `DOMQuad` and similar in FF41-) + return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); + } catch (error) { + return true; + } +}; + +isConstructorLegacy.sham = true; + +// `IsConstructor` abstract operation +// https://tc39.es/ecma262/#sec-isconstructor +module.exports = !construct || fails(function () { + var called; + return isConstructorModern(isConstructorModern.call) + || !isConstructorModern(Object) + || !isConstructorModern(function () { called = true; }) + || called; +}) ? isConstructorLegacy : isConstructorModern; + + +/***/ }), +/* 90 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var hasOwn = __webpack_require__(38); +var toString = __webpack_require__(68); +var shared = __webpack_require__(34); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__(91); + +var StringToSymbolRegistry = shared('string-to-symbol-registry'); +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.for` method +// https://tc39.es/ecma262/#sec-symbol.for +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + 'for': function (key) { + var string = toString(key); + if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; + var symbol = getBuiltIn('Symbol')(string); + StringToSymbolRegistry[string] = symbol; + SymbolToStringRegistry[symbol] = string; + return symbol; + } +}); + + +/***/ }), +/* 91 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_SYMBOL = __webpack_require__(26); + +/* eslint-disable es/no-symbol -- safe */ +module.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor; + + +/***/ }), +/* 92 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var hasOwn = __webpack_require__(38); +var isSymbol = __webpack_require__(22); +var tryToString = __webpack_require__(31); +var shared = __webpack_require__(34); +var NATIVE_SYMBOL_REGISTRY = __webpack_require__(91); + +var SymbolToStringRegistry = shared('symbol-to-string-registry'); + +// `Symbol.keyFor` method +// https://tc39.es/ecma262/#sec-symbol.keyfor +$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, { + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol'); + if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; + } +}); + + +/***/ }), +/* 93 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var isSymbol = __webpack_require__(22); +var arraySlice = __webpack_require__(76); +var getReplacerFunction = __webpack_require__(95); +var NATIVE_SYMBOL = __webpack_require__(26); + +var $String = String; +var $stringify = getBuiltIn('JSON', 'stringify'); +var exec = uncurryThis(/./.exec); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var replace = uncurryThis(''.replace); +var numberToString = uncurryThis(1.0.toString); + +var tester = /[\uD800-\uDFFF]/g; +var low = /^[\uD800-\uDBFF]$/; +var hi = /^[\uDC00-\uDFFF]$/; + +var WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () { + var symbol = getBuiltIn('Symbol')('stringify detection'); + // MS Edge converts symbol values to JSON as {} + return $stringify([symbol]) !== '[null]' + // WebKit converts symbol values to JSON as null + || $stringify({ a: symbol }) !== '{}' + // V8 throws on boxed symbols + || $stringify(Object(symbol)) !== '{}'; +}); + +// https://github.com/tc39/proposal-well-formed-stringify +var ILL_FORMED_UNICODE = fails(function () { + return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"' + || $stringify('\uDEAD') !== '"\\udead"'; +}); + +var stringifyWithSymbolsFix = function (it, replacer) { + var args = arraySlice(arguments); + var $replacer = getReplacerFunction(replacer); + if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined + args[1] = function (key, value) { + // some old implementations (like WebKit) could pass numbers as keys + if (isCallable($replacer)) value = call($replacer, this, $String(key), value); + if (!isSymbol(value)) return value; + }; + return apply($stringify, null, args); +}; + +var fixIllFormed = function (match, offset, string) { + var prev = charAt(string, offset - 1); + var next = charAt(string, offset + 1); + if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) { + return '\\u' + numberToString(charCodeAt(match, 0), 16); + } return match; +}; + +if ($stringify) { + // `JSON.stringify` method + // https://tc39.es/ecma262/#sec-json.stringify + $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + stringify: function stringify(it, replacer, space) { + var args = arraySlice(arguments); + var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args); + return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result; + } + }); +} + + +/***/ }), +/* 94 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_BIND = __webpack_require__(9); + +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; + +// eslint-disable-next-line es/no-reflect -- safe +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); + + +/***/ }), +/* 95 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var isArray = __webpack_require__(88); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(15); +var toString = __webpack_require__(68); + +var push = uncurryThis([].push); + +module.exports = function (replacer) { + if (isCallable(replacer)) return replacer; + if (!isArray(replacer)) return; + var rawLength = replacer.length; + var keys = []; + for (var i = 0; i < rawLength; i++) { + var element = replacer[i]; + if (typeof element == 'string') push(keys, element); + else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element)); + } + var keysLength = keys.length; + var root = true; + return function (key, value) { + if (root) { + root = false; + return value; + } + if (isArray(this)) return value; + for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value; + }; +}; + + +/***/ }), +/* 96 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var NATIVE_SYMBOL = __webpack_require__(26); +var fails = __webpack_require__(7); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var toObject = __webpack_require__(39); + +// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives +// https://bugs.chromium.org/p/v8/issues/detail?id=3443 +var FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); }); + +// `Object.getOwnPropertySymbols` method +// https://tc39.es/ecma262/#sec-object.getownpropertysymbols +$({ target: 'Object', stat: true, forced: FORCED }, { + getOwnPropertySymbols: function getOwnPropertySymbols(it) { + var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : []; + } +}); + + +/***/ }), +/* 97 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + +// `Symbol.prototype.description` getter +// https://tc39.es/ecma262/#sec-symbol.prototype.description + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var hasOwn = __webpack_require__(38); +var isCallable = __webpack_require__(21); +var isPrototypeOf = __webpack_require__(24); +var toString = __webpack_require__(68); +var defineBuiltInAccessor = __webpack_require__(77); +var copyConstructorProperties = __webpack_require__(55); + +var NativeSymbol = globalThis.Symbol; +var SymbolPrototype = NativeSymbol && NativeSymbol.prototype; + +if (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) || + // Safari 12 bug + NativeSymbol().description !== undefined +)) { + var EmptyStringDescriptionStore = {}; + // wrap Symbol constructor for correct work with undefined description + var SymbolWrapper = function Symbol() { + var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]); + var result = isPrototypeOf(SymbolPrototype, this) + // eslint-disable-next-line sonarjs/inconsistent-function-call -- ok + ? new NativeSymbol(description) + // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)' + : description === undefined ? NativeSymbol() : NativeSymbol(description); + if (description === '') EmptyStringDescriptionStore[result] = true; + return result; + }; + + copyConstructorProperties(SymbolWrapper, NativeSymbol); + SymbolWrapper.prototype = SymbolPrototype; + SymbolPrototype.constructor = SymbolWrapper; + + var NATIVE_SYMBOL = String(NativeSymbol('description detection')) === 'Symbol(description detection)'; + var thisSymbolValue = uncurryThis(SymbolPrototype.valueOf); + var symbolDescriptiveString = uncurryThis(SymbolPrototype.toString); + var regexp = /^Symbol\((.*)\)[^)]+$/; + var replace = uncurryThis(''.replace); + var stringSlice = uncurryThis(''.slice); + + defineBuiltInAccessor(SymbolPrototype, 'description', { + configurable: true, + get: function description() { + var symbol = thisSymbolValue(this); + if (hasOwn(EmptyStringDescriptionStore, symbol)) return ''; + var string = symbolDescriptiveString(symbol); + var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1'); + return desc === '' ? undefined : desc; + } + }); + + $({ global: true, constructor: true, forced: true }, { + Symbol: SymbolWrapper + }); +} + + +/***/ }), +/* 98 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.asyncIterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.asynciterator +defineWellKnownSymbol('asyncIterator'); + + +/***/ }), +/* 99 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.hasInstance` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.hasinstance +defineWellKnownSymbol('hasInstance'); + + +/***/ }), +/* 100 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.isConcatSpreadable` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable +defineWellKnownSymbol('isConcatSpreadable'); + + +/***/ }), +/* 101 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.iterator` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.iterator +defineWellKnownSymbol('iterator'); + + +/***/ }), +/* 102 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.match` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.match +defineWellKnownSymbol('match'); + + +/***/ }), +/* 103 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.matchAll` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.matchall +defineWellKnownSymbol('matchAll'); + + +/***/ }), +/* 104 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.replace` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.replace +defineWellKnownSymbol('replace'); + + +/***/ }), +/* 105 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.search` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.search +defineWellKnownSymbol('search'); + + +/***/ }), +/* 106 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.species` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.species +defineWellKnownSymbol('species'); + + +/***/ }), +/* 107 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.split` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.split +defineWellKnownSymbol('split'); + + +/***/ }), +/* 108 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); +var defineSymbolToPrimitive = __webpack_require__(81); + +// `Symbol.toPrimitive` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.toprimitive +defineWellKnownSymbol('toPrimitive'); + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive +defineSymbolToPrimitive(); + + +/***/ }), +/* 109 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var defineWellKnownSymbol = __webpack_require__(79); +var setToStringTag = __webpack_require__(82); + +// `Symbol.toStringTag` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.tostringtag +defineWellKnownSymbol('toStringTag'); + +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag(getBuiltIn('Symbol'), 'Symbol'); + + +/***/ }), +/* 110 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineWellKnownSymbol = __webpack_require__(79); + +// `Symbol.unscopables` well-known symbol +// https://tc39.es/ecma262/#sec-symbol.unscopables +defineWellKnownSymbol('unscopables'); + + +/***/ }), +/* 111 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-unused-vars -- required for functions `.length` */ +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var wrapErrorConstructorWithCause = __webpack_require__(112); + +var WEB_ASSEMBLY = 'WebAssembly'; +var WebAssembly = globalThis[WEB_ASSEMBLY]; + +// eslint-disable-next-line es/no-error-cause -- feature detection +var FORCED = new Error('e', { cause: 7 }).cause !== 7; + +var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED); + $({ global: true, constructor: true, arity: 1, forced: FORCED }, O); +}; + +var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) { + if (WebAssembly && WebAssembly[ERROR_NAME]) { + var O = {}; + O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED); + $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O); + } +}; + +// https://tc39.es/ecma262/#sec-nativeerror +exportGlobalErrorCauseWrapper('Error', function (init) { + return function Error(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('EvalError', function (init) { + return function EvalError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('RangeError', function (init) { + return function RangeError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('ReferenceError', function (init) { + return function ReferenceError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('SyntaxError', function (init) { + return function SyntaxError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('TypeError', function (init) { + return function TypeError(message) { return apply(init, this, arguments); }; +}); +exportGlobalErrorCauseWrapper('URIError', function (init) { + return function URIError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('CompileError', function (init) { + return function CompileError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('LinkError', function (init) { + return function LinkError(message) { return apply(init, this, arguments); }; +}); +exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) { + return function RuntimeError(message) { return apply(init, this, arguments); }; +}); + + +/***/ }), +/* 112 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var hasOwn = __webpack_require__(38); +var createNonEnumerableProperty = __webpack_require__(43); +var isPrototypeOf = __webpack_require__(24); +var setPrototypeOf = __webpack_require__(113); +var copyConstructorProperties = __webpack_require__(55); +var proxyAccessor = __webpack_require__(117); +var inheritIfRequired = __webpack_require__(118); +var normalizeStringArgument = __webpack_require__(119); +var installErrorCause = __webpack_require__(120); +var installErrorStack = __webpack_require__(121); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) { + var STACK_TRACE_LIMIT = 'stackTraceLimit'; + var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1; + var path = FULL_NAME.split('.'); + var ERROR_NAME = path[path.length - 1]; + var OriginalError = getBuiltIn.apply(null, path); + + if (!OriginalError) return; + + var OriginalErrorPrototype = OriginalError.prototype; + + // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006 + if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause; + + if (!FORCED) return OriginalError; + + var BaseError = getBuiltIn('Error'); + + var WrappedError = wrapper(function (a, b) { + var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined); + var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError(); + if (message !== undefined) createNonEnumerableProperty(result, 'message', message); + installErrorStack(result, WrappedError, result.stack, 2); + if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError); + if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]); + return result; + }); + + WrappedError.prototype = OriginalErrorPrototype; + + if (ERROR_NAME !== 'Error') { + if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError); + else copyConstructorProperties(WrappedError, BaseError, { name: true }); + } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) { + proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT); + proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace'); + } + + copyConstructorProperties(WrappedError, OriginalError); + + if (!IS_PURE) try { + // Safari 13- bug: WebAssembly errors does not have a proper `.name` + if (OriginalErrorPrototype.name !== ERROR_NAME) { + createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME); + } + OriginalErrorPrototype.constructor = WrappedError; + } catch (error) { /* empty */ } + + return WrappedError; +}; + + +/***/ }), +/* 113 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-proto -- safe */ +var uncurryThisAccessor = __webpack_require__(114); +var isObject = __webpack_require__(20); +var requireObjectCoercible = __webpack_require__(16); +var aPossiblePrototype = __webpack_require__(115); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +// Works with __proto__ only. Old v8 can't work with null proto objects. +// eslint-disable-next-line es/no-object-setprototypeof -- safe +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set'); + setter(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { /* empty */ } + return function setPrototypeOf(O, proto) { + requireObjectCoercible(O); + aPossiblePrototype(proto); + if (!isObject(O)) return O; + if (CORRECT_SETTER) setter(O, proto); + else O.__proto__ = proto; + return O; + }; +}() : undefined); + + +/***/ }), +/* 114 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); + +module.exports = function (object, key, method) { + try { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method])); + } catch (error) { /* empty */ } +}; + + +/***/ }), +/* 115 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isPossiblePrototype = __webpack_require__(116); + +var $String = String; +var $TypeError = TypeError; + +module.exports = function (argument) { + if (isPossiblePrototype(argument)) return argument; + throw new $TypeError("Can't set " + $String(argument) + ' as a prototype'); +}; + + +/***/ }), +/* 116 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +module.exports = function (argument) { + return isObject(argument) || argument === null; +}; + + +/***/ }), +/* 117 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineProperty = (__webpack_require__(44).f); + +module.exports = function (Target, Source, key) { + key in Target || defineProperty(Target, key, { + configurable: true, + get: function () { return Source[key]; }, + set: function (it) { Source[key] = it; } + }); +}; + + +/***/ }), +/* 118 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var setPrototypeOf = __webpack_require__(113); + +// makes subclassing work correct for wrapped built-ins +module.exports = function ($this, dummy, Wrapper) { + var NewTarget, NewTargetPrototype; + if ( + // it can work only with native `setPrototypeOf` + setPrototypeOf && + // we haven't completely correct pre-ES6 way for getting `new.target`, so use this + isCallable(NewTarget = dummy.constructor) && + NewTarget !== Wrapper && + isObject(NewTargetPrototype = NewTarget.prototype) && + NewTargetPrototype !== Wrapper.prototype + ) setPrototypeOf($this, NewTargetPrototype); + return $this; +}; + + +/***/ }), +/* 119 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toString = __webpack_require__(68); + +module.exports = function (argument, $default) { + return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument); +}; + + +/***/ }), +/* 120 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); +var createNonEnumerableProperty = __webpack_require__(43); + +// `InstallErrorCause` abstract operation +// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause +module.exports = function (O, options) { + if (isObject(options) && 'cause' in options) { + createNonEnumerableProperty(O, 'cause', options.cause); + } +}; + + +/***/ }), +/* 121 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var createNonEnumerableProperty = __webpack_require__(43); +var clearErrorStack = __webpack_require__(122); +var ERROR_STACK_INSTALLABLE = __webpack_require__(123); + +// non-standard V8 +var captureStackTrace = Error.captureStackTrace; + +module.exports = function (error, C, stack, dropEntries) { + if (ERROR_STACK_INSTALLABLE) { + if (captureStackTrace) captureStackTrace(error, C); + else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries)); + } +}; + + +/***/ }), +/* 122 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +var $Error = Error; +var replace = uncurryThis(''.replace); + +var TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd'); +// eslint-disable-next-line redos/no-vulnerable, sonarjs/slow-regex -- safe +var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; +var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); + +module.exports = function (stack, dropEntries) { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) { + while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); + } return stack; +}; + + +/***/ }), +/* 123 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = !fails(function () { + var error = new Error('a'); + if (!('stack' in error)) return true; + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7)); + return error.stack !== 7; +}); + + +/***/ }), +/* 124 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var errorToString = __webpack_require__(125); + +var ErrorPrototype = Error.prototype; + +// `Error.prototype.toString` method fix +// https://tc39.es/ecma262/#sec-error.prototype.tostring +if (ErrorPrototype.toString !== errorToString) { + defineBuiltIn(ErrorPrototype, 'toString', errorToString); +} + + +/***/ }), +/* 125 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var anObject = __webpack_require__(46); +var normalizeStringArgument = __webpack_require__(119); + +var nativeErrorToString = Error.prototype.toString; + +var INCORRECT_TO_STRING = fails(function () { + if (DESCRIPTORS) { + // Chrome 32- incorrectly call accessor + // eslint-disable-next-line es/no-object-create, es/no-object-defineproperty -- safe + var object = Object.create(Object.defineProperty({}, 'name', { get: function () { + return this === object; + } })); + if (nativeErrorToString.call(object) !== 'true') return true; + } + // FF10- does not properly handle non-strings + return nativeErrorToString.call({ message: 1, name: 2 }) !== '2: 1' + // IE8 does not properly handle defaults + || nativeErrorToString.call({}) !== 'Error'; +}); + +module.exports = INCORRECT_TO_STRING ? function toString() { + var O = anObject(this); + var name = normalizeStringArgument(O.name, 'Error'); + var message = normalizeStringArgument(O.message); + return !name ? message : !message ? name : name + ': ' + message; +} : nativeErrorToString; + + +/***/ }), +/* 126 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(127); + + +/***/ }), +/* 127 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isPrototypeOf = __webpack_require__(24); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var copyConstructorProperties = __webpack_require__(55); +var create = __webpack_require__(71); +var createNonEnumerableProperty = __webpack_require__(43); +var createPropertyDescriptor = __webpack_require__(11); +var installErrorCause = __webpack_require__(120); +var installErrorStack = __webpack_require__(121); +var iterate = __webpack_require__(130); +var normalizeStringArgument = __webpack_require__(119); +var wellKnownSymbol = __webpack_require__(33); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var $Error = Error; +var push = [].push; + +var $AggregateError = function AggregateError(errors, message /* , options */) { + var isInstance = isPrototypeOf(AggregateErrorPrototype, this); + var that; + if (setPrototypeOf) { + that = setPrototypeOf(new $Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype); + } else { + that = isInstance ? this : create(AggregateErrorPrototype); + createNonEnumerableProperty(that, TO_STRING_TAG, 'Error'); + } + if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message)); + installErrorStack(that, $AggregateError, that.stack, 1); + if (arguments.length > 2) installErrorCause(that, arguments[2]); + var errorsArray = []; + iterate(errors, push, { that: errorsArray }); + createNonEnumerableProperty(that, 'errors', errorsArray); + return that; +}; + +if (setPrototypeOf) setPrototypeOf($AggregateError, $Error); +else copyConstructorProperties($AggregateError, $Error, { name: true }); + +var AggregateErrorPrototype = $AggregateError.prototype = create($Error.prototype, { + constructor: createPropertyDescriptor(1, $AggregateError), + message: createPropertyDescriptor(1, ''), + name: createPropertyDescriptor(1, 'AggregateError') +}); + +// `AggregateError` constructor +// https://tc39.es/ecma262/#sec-aggregate-error-constructor +$({ global: true, constructor: true, arity: 2 }, { + AggregateError: $AggregateError +}); + + +/***/ }), +/* 128 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var isCallable = __webpack_require__(21); +var toObject = __webpack_require__(39); +var sharedKey = __webpack_require__(53); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +var IE_PROTO = sharedKey('IE_PROTO'); +var $Object = Object; +var ObjectPrototype = $Object.prototype; + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +// eslint-disable-next-line es/no-object-getprototypeof -- safe +module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) { + var object = toObject(O); + if (hasOwn(object, IE_PROTO)) return object[IE_PROTO]; + var constructor = object.constructor; + if (isCallable(constructor) && object instanceof constructor) { + return constructor.prototype; + } return object instanceof $Object ? ObjectPrototype : null; +}; + + +/***/ }), +/* 129 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + // eslint-disable-next-line es/no-object-getprototypeof -- required for testing + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + + +/***/ }), +/* 130 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var tryToString = __webpack_require__(31); +var isArrayIteratorMethod = __webpack_require__(131); +var lengthOfArrayLike = __webpack_require__(63); +var isPrototypeOf = __webpack_require__(24); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var iteratorClose = __webpack_require__(135); + +var $TypeError = TypeError; + +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; + +var ResultPrototype = Result.prototype; + +module.exports = function (iterable, unboundFunction, options) { + var that = options && options.that; + var AS_ENTRIES = !!(options && options.AS_ENTRIES); + var IS_RECORD = !!(options && options.IS_RECORD); + var IS_ITERATOR = !!(options && options.IS_ITERATOR); + var INTERRUPTED = !!(options && options.INTERRUPTED); + var fn = bind(unboundFunction, that); + var iterator, iterFn, index, length, result, next, step; + + var stop = function (condition) { + if (iterator) iteratorClose(iterator, 'normal', condition); + return new Result(true, condition); + }; + + var callFn = function (value) { + if (AS_ENTRIES) { + anObject(value); + return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); + } return INTERRUPTED ? fn(value, stop) : fn(value); + }; + + if (IS_RECORD) { + iterator = iterable.iterator; + } else if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable'); + // optimisation for array iterators + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { + result = callFn(iterable[index]); + if (result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); + } + iterator = getIterator(iterable, iterFn); + } + + next = IS_RECORD ? iterable.next : iterator.next; + while (!(step = call(next, iterator)).done) { + try { + result = callFn(step.value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } + if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result; + } return new Result(false); +}; + + +/***/ }), +/* 131 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); +var Iterators = __webpack_require__(132); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; + +// check on default Array iterator +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + + +/***/ }), +/* 132 */ +/***/ (function(module) { + + +module.exports = {}; + + +/***/ }), +/* 133 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var tryToString = __webpack_require__(31); +var getIteratorMethod = __webpack_require__(134); + +var $TypeError = TypeError; + +module.exports = function (argument, usingIterator) { + var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; + if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument)); + throw new $TypeError(tryToString(argument) + ' is not iterable'); +}; + + +/***/ }), +/* 134 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); +var getMethod = __webpack_require__(29); +var isNullOrUndefined = __webpack_require__(17); +var Iterators = __webpack_require__(132); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = function (it) { + if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR) + || getMethod(it, '@@iterator') + || Iterators[classof(it)]; +}; + + +/***/ }), +/* 135 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getMethod = __webpack_require__(29); + +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') throw value; + if (innerError) throw innerResult; + anObject(innerResult); + return value; +}; + + +/***/ }), +/* 136 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var fails = __webpack_require__(7); +var wrapErrorConstructorWithCause = __webpack_require__(112); + +var AGGREGATE_ERROR = 'AggregateError'; +var $AggregateError = getBuiltIn(AGGREGATE_ERROR); + +var FORCED = !fails(function () { + return $AggregateError([1]).errors[0] !== 1; +}) && fails(function () { + return $AggregateError([1], AGGREGATE_ERROR, { cause: 7 }).cause !== 7; +}); + +// https://tc39.es/ecma262/#sec-aggregate-error +$({ global: true, constructor: true, arity: 2, forced: FORCED }, { + AggregateError: wrapErrorConstructorWithCause(AGGREGATE_ERROR, function (init) { + // eslint-disable-next-line no-unused-vars -- required for functions `.length` + return function AggregateError(errors, message) { return apply(init, this, arguments); }; + }, FORCED, true) +}); + + +/***/ }), +/* 137 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.at` method +// https://tc39.es/ecma262/#sec-array.prototype.at +$({ target: 'Array', proto: true }, { + at: function at(index) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : O[k]; + } +}); + +addToUnscopables('at'); + + +/***/ }), +/* 138 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); +var create = __webpack_require__(71); +var defineProperty = (__webpack_require__(44).f); + +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; + +// Array.prototype[@@unscopables] +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +if (ArrayPrototype[UNSCOPABLES] === undefined) { + defineProperty(ArrayPrototype, UNSCOPABLES, { + configurable: true, + value: create(null) + }); +} + +// add a key to Array.prototype[@@unscopables] +module.exports = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; +}; + + +/***/ }), +/* 139 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isArray = __webpack_require__(88); +var isObject = __webpack_require__(20); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var doesNotExceedSafeInteger = __webpack_require__(140); +var createProperty = __webpack_require__(141); +var arraySpeciesCreate = __webpack_require__(86); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); +var wellKnownSymbol = __webpack_require__(33); +var V8_VERSION = __webpack_require__(27); + +var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); + +// We can't use this feature detection in V8 since it causes +// deoptimization and serious performance degradation +// https://github.com/zloirock/core-js/issues/679 +var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { + var array = []; + array[IS_CONCAT_SPREADABLE] = false; + return array.concat()[0] !== array; +}); + +var isConcatSpreadable = function (O) { + if (!isObject(O)) return false; + var spreadable = O[IS_CONCAT_SPREADABLE]; + return spreadable !== undefined ? !!spreadable : isArray(O); +}; + +var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat'); + +// `Array.prototype.concat` method +// https://tc39.es/ecma262/#sec-array.prototype.concat +// with adding support of @@isConcatSpreadable and @@species +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + concat: function concat(arg) { + var O = toObject(this); + var A = arraySpeciesCreate(O, 0); + var n = 0; + var i, k, length, len, E; + for (i = -1, length = arguments.length; i < length; i++) { + E = i === -1 ? O : arguments[i]; + if (isConcatSpreadable(E)) { + len = lengthOfArrayLike(E); + doesNotExceedSafeInteger(n + len); + for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); + } else { + doesNotExceedSafeInteger(n + 1); + createProperty(A, n++, E); + } + } + A.length = n; + return A; + } +}); + + +/***/ }), +/* 140 */ +/***/ (function(module) { + + +var $TypeError = TypeError; +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991 + +module.exports = function (it) { + if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded'); + return it; +}; + + +/***/ }), +/* 141 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var definePropertyModule = __webpack_require__(44); +var createPropertyDescriptor = __webpack_require__(11); + +module.exports = function (object, key, value) { + if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value)); + else object[key] = value; +}; + + +/***/ }), +/* 142 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var V8_VERSION = __webpack_require__(27); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (METHOD_NAME) { + // We can't use this feature detection in V8 since it causes + // deoptimization and serious performance degradation + // https://github.com/zloirock/core-js/issues/677 + return V8_VERSION >= 51 || !fails(function () { + var array = []; + var constructor = array.constructor = {}; + constructor[SPECIES] = function () { + return { foo: 1 }; + }; + return array[METHOD_NAME](Boolean).foo !== 1; + }); +}; + + +/***/ }), +/* 143 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var copyWithin = __webpack_require__(144); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.copyWithin` method +// https://tc39.es/ecma262/#sec-array.prototype.copywithin +$({ target: 'Array', proto: true }, { + copyWithin: copyWithin +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('copyWithin'); + + +/***/ }), +/* 144 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); +var deletePropertyOrThrow = __webpack_require__(145); + +var min = Math.min; + +// `Array.prototype.copyWithin` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.copywithin +// eslint-disable-next-line es/no-array-prototype-copywithin -- safe +module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var to = toAbsoluteIndex(target, len); + var from = toAbsoluteIndex(start, len); + var end = arguments.length > 2 ? arguments[2] : undefined; + var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var inc = 1; + if (from < to && to < from + count) { + inc = -1; + from += count - 1; + to += count - 1; + } + while (count-- > 0) { + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + to += inc; + from += inc; + } return O; +}; + + +/***/ }), +/* 145 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +module.exports = function (O, P) { + if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O)); +}; + + +/***/ }), +/* 146 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $every = (__webpack_require__(83).every); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('every'); + +// `Array.prototype.every` method +// https://tc39.es/ecma262/#sec-array.prototype.every +$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { + every: function every(callbackfn /* , thisArg */) { + return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 147 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call -- required for testing + method.call(null, argument || function () { return 1; }, 1); + }); +}; + + +/***/ }), +/* 148 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fill = __webpack_require__(149); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.fill` method +// https://tc39.es/ecma262/#sec-array.prototype.fill +$({ target: 'Array', proto: true }, { + fill: fill +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('fill'); + + +/***/ }), +/* 149 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.fill` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.fill +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = lengthOfArrayLike(O); + var argumentsLength = arguments.length; + var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); + var end = argumentsLength > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; + return O; +}; + + +/***/ }), +/* 150 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $filter = (__webpack_require__(83).filter); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); + +// `Array.prototype.filter` method +// https://tc39.es/ecma262/#sec-array.prototype.filter +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + filter: function filter(callbackfn /* , thisArg */) { + return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 151 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $find = (__webpack_require__(83).find); +var addToUnscopables = __webpack_require__(138); + +var FIND = 'find'; +var SKIPS_HOLES = true; + +// Shouldn't skip holes +// eslint-disable-next-line es/no-array-prototype-find -- testing +if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.find` method +// https://tc39.es/ecma262/#sec-array.prototype.find +$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { + find: function find(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND); + + +/***/ }), +/* 152 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findIndex = (__webpack_require__(83).findIndex); +var addToUnscopables = __webpack_require__(138); + +var FIND_INDEX = 'findIndex'; +var SKIPS_HOLES = true; + +// Shouldn't skip holes +// eslint-disable-next-line es/no-array-prototype-findindex -- testing +if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.findIndex` method +// https://tc39.es/ecma262/#sec-array.prototype.findindex +$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { + findIndex: function findIndex(callbackfn /* , that = undefined */) { + return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND_INDEX); + + +/***/ }), +/* 153 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findLast = (__webpack_require__(154).findLast); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.findLast` method +// https://tc39.es/ecma262/#sec-array.prototype.findlast +$({ target: 'Array', proto: true }, { + findLast: function findLast(callbackfn /* , that = undefined */) { + return $findLast(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +addToUnscopables('findLast'); + + +/***/ }), +/* 154 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var IndexedObject = __webpack_require__(13); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); + +// `Array.prototype.{ findLast, findLastIndex }` methods implementation +var createMethod = function (TYPE) { + var IS_FIND_LAST_INDEX = TYPE === 1; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IndexedObject(O); + var index = lengthOfArrayLike(self); + var boundFunction = bind(callbackfn, that); + var value, result; + while (index-- > 0) { + value = self[index]; + result = boundFunction(value, index, O); + if (result) switch (TYPE) { + case 0: return value; // findLast + case 1: return index; // findLastIndex + } + } + return IS_FIND_LAST_INDEX ? -1 : undefined; + }; +}; + +module.exports = { + // `Array.prototype.findLast` method + // https://github.com/tc39/proposal-array-find-from-last + findLast: createMethod(0), + // `Array.prototype.findLastIndex` method + // https://github.com/tc39/proposal-array-find-from-last + findLastIndex: createMethod(1) +}; + + +/***/ }), +/* 155 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $findLastIndex = (__webpack_require__(154).findLastIndex); +var addToUnscopables = __webpack_require__(138); + +// `Array.prototype.findLastIndex` method +// https://tc39.es/ecma262/#sec-array.prototype.findlastindex +$({ target: 'Array', proto: true }, { + findLastIndex: function findLastIndex(callbackfn /* , that = undefined */) { + return $findLastIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +addToUnscopables('findLastIndex'); + + +/***/ }), +/* 156 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var flattenIntoArray = __webpack_require__(157); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); +var arraySpeciesCreate = __webpack_require__(86); + +// `Array.prototype.flat` method +// https://tc39.es/ecma262/#sec-array.prototype.flat +$({ target: 'Array', proto: true }, { + flat: function flat(/* depthArg = 1 */) { + var depthArg = arguments.length ? arguments[0] : undefined; + var O = toObject(this); + var sourceLen = lengthOfArrayLike(O); + var A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg)); + return A; + } +}); + + +/***/ }), +/* 157 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isArray = __webpack_require__(88); +var lengthOfArrayLike = __webpack_require__(63); +var doesNotExceedSafeInteger = __webpack_require__(140); +var bind = __webpack_require__(84); + +// `FlattenIntoArray` abstract operation +// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray +var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? bind(mapper, thisArg) : false; + var element, elementLen; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + if (depth > 0 && isArray(element)) { + elementLen = lengthOfArrayLike(element); + targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1; + } else { + doesNotExceedSafeInteger(targetIndex + 1); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; +}; + +module.exports = flattenIntoArray; + + +/***/ }), +/* 158 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var flattenIntoArray = __webpack_require__(157); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var arraySpeciesCreate = __webpack_require__(86); + +// `Array.prototype.flatMap` method +// https://tc39.es/ecma262/#sec-array.prototype.flatmap +$({ target: 'Array', proto: true }, { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var sourceLen = lengthOfArrayLike(O); + var A; + aCallable(callbackfn); + A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return A; + } +}); + + +/***/ }), +/* 159 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var forEach = __webpack_require__(160); + +// `Array.prototype.forEach` method +// https://tc39.es/ecma262/#sec-array.prototype.foreach +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +$({ target: 'Array', proto: true, forced: [].forEach !== forEach }, { + forEach: forEach +}); + + +/***/ }), +/* 160 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $forEach = (__webpack_require__(83).forEach); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('forEach'); + +// `Array.prototype.forEach` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.foreach +module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); +// eslint-disable-next-line es/no-array-prototype-foreach -- safe +} : [].forEach; + + +/***/ }), +/* 161 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var from = __webpack_require__(162); +var checkCorrectnessOfIteration = __webpack_require__(164); + +var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { + // eslint-disable-next-line es/no-array-from -- required for testing + Array.from(iterable); +}); + +// `Array.from` method +// https://tc39.es/ecma262/#sec-array.from +$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { + from: from +}); + + +/***/ }), +/* 162 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var toObject = __webpack_require__(39); +var callWithSafeIterationClosing = __webpack_require__(163); +var isArrayIteratorMethod = __webpack_require__(131); +var isConstructor = __webpack_require__(89); +var lengthOfArrayLike = __webpack_require__(63); +var createProperty = __webpack_require__(141); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); + +var $Array = Array; + +// `Array.from` method implementation +// https://tc39.es/ecma262/#sec-array.from +module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var IS_CONSTRUCTOR = isConstructor(this); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined); + var iteratorMethod = getIteratorMethod(O); + var index = 0; + var length, result, step, iterator, next, value; + // if the target is not iterable or it's an array with the default iterator - use a simple case + if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) { + result = IS_CONSTRUCTOR ? new this() : []; + iterator = getIterator(O, iteratorMethod); + next = iterator.next; + for (;!(step = call(next, iterator)).done; index++) { + value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; + createProperty(result, index, value); + } + } else { + length = lengthOfArrayLike(O); + result = IS_CONSTRUCTOR ? new this(length) : $Array(length); + for (;length > index; index++) { + value = mapping ? mapfn(O[index], index) : O[index]; + createProperty(result, index, value); + } + } + result.length = index; + return result; +}; + + +/***/ }), +/* 163 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var iteratorClose = __webpack_require__(135); + +// call something on iterator step with safe closing on error +module.exports = function (iterator, fn, value, ENTRIES) { + try { + return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); + } catch (error) { + iteratorClose(iterator, 'throw', error); + } +}; + + +/***/ }), +/* 164 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var SAFE_CLOSING = false; + +try { + var called = 0; + var iteratorWithReturn = { + next: function () { + return { done: !!called++ }; + }, + 'return': function () { + SAFE_CLOSING = true; + } + }; + iteratorWithReturn[ITERATOR] = function () { + return this; + }; + // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing + Array.from(iteratorWithReturn, function () { throw 2; }); +} catch (error) { /* empty */ } + +module.exports = function (exec, SKIP_CLOSING) { + try { + if (!SKIP_CLOSING && !SAFE_CLOSING) return false; + } catch (error) { return false; } // workaround of old WebKit + `eval` bug + var ITERATION_SUPPORT = false; + try { + var object = {}; + object[ITERATOR] = function () { + return { + next: function () { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { /* empty */ } + return ITERATION_SUPPORT; +}; + + +/***/ }), +/* 165 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $includes = (__webpack_require__(59).includes); +var fails = __webpack_require__(7); +var addToUnscopables = __webpack_require__(138); + +// FF99+ bug +var BROKEN_ON_SPARSE = fails(function () { + // eslint-disable-next-line es/no-array-prototype-includes -- detection + return !Array(1).includes(); +}); + +// `Array.prototype.includes` method +// https://tc39.es/ecma262/#sec-array.prototype.includes +$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, { + includes: function includes(el /* , fromIndex = 0 */) { + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('includes'); + + +/***/ }), +/* 166 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-array-prototype-indexof -- required for testing */ +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var $indexOf = (__webpack_require__(59).indexOf); +var arrayMethodIsStrict = __webpack_require__(147); + +var nativeIndexOf = uncurryThis([].indexOf); + +var NEGATIVE_ZERO = !!nativeIndexOf && 1 / nativeIndexOf([1], 1, -0) < 0; +var FORCED = NEGATIVE_ZERO || !arrayMethodIsStrict('indexOf'); + +// `Array.prototype.indexOf` method +// https://tc39.es/ecma262/#sec-array.prototype.indexof +$({ target: 'Array', proto: true, forced: FORCED }, { + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + var fromIndex = arguments.length > 1 ? arguments[1] : undefined; + return NEGATIVE_ZERO + // convert -0 to +0 + ? nativeIndexOf(this, searchElement, fromIndex) || 0 + : $indexOf(this, searchElement, fromIndex); + } +}); + + +/***/ }), +/* 167 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isArray = __webpack_require__(88); + +// `Array.isArray` method +// https://tc39.es/ecma262/#sec-array.isarray +$({ target: 'Array', stat: true }, { + isArray: isArray +}); + + +/***/ }), +/* 168 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIndexedObject = __webpack_require__(12); +var addToUnscopables = __webpack_require__(138); +var Iterators = __webpack_require__(132); +var InternalStateModule = __webpack_require__(51); +var defineProperty = (__webpack_require__(44).f); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); + +var ARRAY_ITERATOR = 'Array Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); + +// `Array.prototype.entries` method +// https://tc39.es/ecma262/#sec-array.prototype.entries +// `Array.prototype.keys` method +// https://tc39.es/ecma262/#sec-array.prototype.keys +// `Array.prototype.values` method +// https://tc39.es/ecma262/#sec-array.prototype.values +// `Array.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-array.prototype-@@iterator +// `CreateArrayIterator` internal method +// https://tc39.es/ecma262/#sec-createarrayiterator +module.exports = defineIterator(Array, 'Array', function (iterated, kind) { + setInternalState(this, { + type: ARRAY_ITERATOR, + target: toIndexedObject(iterated), // target + index: 0, // next index + kind: kind // kind + }); +// `%ArrayIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next +}, function () { + var state = getInternalState(this); + var target = state.target; + var index = state.index++; + if (!target || index >= target.length) { + state.target = null; + return createIterResultObject(undefined, true); + } + switch (state.kind) { + case 'keys': return createIterResultObject(index, false); + case 'values': return createIterResultObject(target[index], false); + } return createIterResultObject([index, target[index]], false); +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% +// https://tc39.es/ecma262/#sec-createunmappedargumentsobject +// https://tc39.es/ecma262/#sec-createmappedargumentsobject +var values = Iterators.Arguments = Iterators.Array; + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + +// V8 ~ Chrome 45- bug +if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try { + defineProperty(values, 'name', { value: 'values' }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 169 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var IS_PURE = __webpack_require__(36); +var FunctionName = __webpack_require__(49); +var isCallable = __webpack_require__(21); +var createIteratorConstructor = __webpack_require__(170); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var setToStringTag = __webpack_require__(82); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var wellKnownSymbol = __webpack_require__(33); +var Iterators = __webpack_require__(132); +var IteratorsCore = __webpack_require__(171); + +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +var IteratorPrototype = IteratorsCore.IteratorPrototype; +var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; +var ITERATOR = wellKnownSymbol('iterator'); +var KEYS = 'keys'; +var VALUES = 'values'; +var ENTRIES = 'entries'; + +var returnThis = function () { return this; }; + +module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + + var getIterationMethod = function (KIND) { + if (KIND === DEFAULT && defaultIterator) return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND]; + + switch (KIND) { + case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; + case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; + case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; + } + + return function () { return new IteratorConstructor(this); }; + }; + + var TO_STRING_TAG = NAME + ' Iterator'; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] + || IterablePrototype['@@iterator'] + || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + + // fix native + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { + defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + // Set @@toStringTag to native iterators + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; + } + } + + // fix Array.prototype.{ values, @@iterator }.name in V8 / FF + if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) { + if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(IterablePrototype, 'name', VALUES); + } else { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { return call(nativeIterator, this); }; + } + } + + // export additional methods + if (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + defineBuiltIn(IterablePrototype, KEY, methods[KEY]); + } + } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); + } + + // define iterator + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); + } + Iterators[NAME] = defaultIterator; + + return methods; +}; + + +/***/ }), +/* 170 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var setToStringTag = __webpack_require__(82); +var Iterators = __webpack_require__(132); + +var returnThis = function () { return this; }; + +module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) { + var TO_STRING_TAG = NAME + ' Iterator'; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; +}; + + +/***/ }), +/* 171 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var create = __webpack_require__(71); +var getPrototypeOf = __webpack_require__(128); +var defineBuiltIn = __webpack_require__(47); +var wellKnownSymbol = __webpack_require__(33); +var IS_PURE = __webpack_require__(36); + +var ITERATOR = wellKnownSymbol('iterator'); +var BUGGY_SAFARI_ITERATORS = false; + +// `%IteratorPrototype%` object +// https://tc39.es/ecma262/#sec-%iteratorprototype%-object +var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; + +/* eslint-disable es/no-array-prototype-keys -- safe */ +if ([].keys) { + arrayIterator = [].keys(); + // Safari 8 has buggy iterators w/o `next` + if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } +} + +var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () { + var test = {}; + // FF44- legacy iterators case + return IteratorPrototype[ITERATOR].call(test) !== test; +}); + +if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; +else if (IS_PURE) IteratorPrototype = create(IteratorPrototype); + +// `%IteratorPrototype%[@@iterator]()` method +// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator +if (!isCallable(IteratorPrototype[ITERATOR])) { + defineBuiltIn(IteratorPrototype, ITERATOR, function () { + return this; + }); +} + +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + + +/***/ }), +/* 172 */ +/***/ (function(module) { + + +// `CreateIterResultObject` abstract operation +// https://tc39.es/ecma262/#sec-createiterresultobject +module.exports = function (value, done) { + return { value: value, done: done }; +}; + + +/***/ }), +/* 173 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var IndexedObject = __webpack_require__(13); +var toIndexedObject = __webpack_require__(12); +var arrayMethodIsStrict = __webpack_require__(147); + +var nativeJoin = uncurryThis([].join); + +var ES3_STRINGS = IndexedObject !== Object; +var FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ','); + +// `Array.prototype.join` method +// https://tc39.es/ecma262/#sec-array.prototype.join +$({ target: 'Array', proto: true, forced: FORCED }, { + join: function join(separator) { + return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator); + } +}); + + +/***/ }), +/* 174 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var lastIndexOf = __webpack_require__(175); + +// `Array.prototype.lastIndexOf` method +// https://tc39.es/ecma262/#sec-array.prototype.lastindexof +// eslint-disable-next-line es/no-array-prototype-lastindexof -- required for testing +$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, { + lastIndexOf: lastIndexOf +}); + + +/***/ }), +/* 175 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-array-prototype-lastindexof -- safe */ +var apply = __webpack_require__(94); +var toIndexedObject = __webpack_require__(12); +var toIntegerOrInfinity = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(63); +var arrayMethodIsStrict = __webpack_require__(147); + +var min = Math.min; +var $lastIndexOf = [].lastIndexOf; +var NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0; +var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf'); +var FORCED = NEGATIVE_ZERO || !STRICT_METHOD; + +// `Array.prototype.lastIndexOf` method implementation +// https://tc39.es/ecma262/#sec-array.prototype.lastindexof +module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { + // convert -0 to +0 + if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0; + var O = toIndexedObject(this); + var length = lengthOfArrayLike(O); + if (length === 0) return -1; + var index = length - 1; + if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1])); + if (index < 0) index = length + index; + for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0; + return -1; +} : $lastIndexOf; + + +/***/ }), +/* 176 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $map = (__webpack_require__(83).map); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map'); + +// `Array.prototype.map` method +// https://tc39.es/ecma262/#sec-array.prototype.map +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 177 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isConstructor = __webpack_require__(89); +var createProperty = __webpack_require__(141); + +var $Array = Array; + +var ISNT_GENERIC = fails(function () { + function F() { /* empty */ } + // eslint-disable-next-line es/no-array-of -- safe + return !($Array.of.call(F) instanceof F); +}); + +// `Array.of` method +// https://tc39.es/ecma262/#sec-array.of +// WebKit Array.of isn't generic +$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, { + of: function of(/* ...args */) { + var index = 0; + var argumentsLength = arguments.length; + var result = new (isConstructor(this) ? this : $Array)(argumentsLength); + while (argumentsLength > index) createProperty(result, index, arguments[index++]); + result.length = argumentsLength; + return result; + } +}); + + +/***/ }), +/* 178 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var doesNotExceedSafeInteger = __webpack_require__(140); +var fails = __webpack_require__(7); + +var INCORRECT_TO_LENGTH = fails(function () { + return [].push.call({ length: 0x100000000 }, 1) !== 4294967297; +}); + +// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError +// https://bugs.chromium.org/p/v8/issues/detail?id=12681 +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).push(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength(); + +// `Array.prototype.push` method +// https://tc39.es/ecma262/#sec-array.prototype.push +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + push: function push(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + doesNotExceedSafeInteger(len + argCount); + for (var i = 0; i < argCount; i++) { + O[len] = arguments[i]; + len++; + } + setArrayLength(O, len); + return len; + } +}); + + +/***/ }), +/* 179 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var isArray = __webpack_require__(88); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Safari < 13 does not throw an error in this case +var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () { + // makes no sense without proper strict mode support + if (this !== undefined) return true; + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).length = 1; + } catch (error) { + return error instanceof TypeError; + } +}(); + +module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) { + if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) { + throw new $TypeError('Cannot set read only .length'); + } return O.length = length; +} : function (O, length) { + return O.length = length; +}; + + +/***/ }), +/* 180 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $reduce = (__webpack_require__(181).left); +var arrayMethodIsStrict = __webpack_require__(147); +var CHROME_VERSION = __webpack_require__(27); +var IS_NODE = __webpack_require__(182); + +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; +var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce'); + +// `Array.prototype.reduce` method +// https://tc39.es/ecma262/#sec-array.prototype.reduce +$({ target: 'Array', proto: true, forced: FORCED }, { + reduce: function reduce(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 181 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var IndexedObject = __webpack_require__(13); +var lengthOfArrayLike = __webpack_require__(63); + +var $TypeError = TypeError; + +var REDUCE_EMPTY = 'Reduce of empty array with no initial value'; + +// `Array.prototype.{ reduce, reduceRight }` methods implementation +var createMethod = function (IS_RIGHT) { + return function (that, callbackfn, argumentsLength, memo) { + var O = toObject(that); + var self = IndexedObject(O); + var length = lengthOfArrayLike(O); + aCallable(callbackfn); + if (length === 0 && argumentsLength < 2) throw new $TypeError(REDUCE_EMPTY); + var index = IS_RIGHT ? length - 1 : 0; + var i = IS_RIGHT ? -1 : 1; + if (argumentsLength < 2) while (true) { + if (index in self) { + memo = self[index]; + index += i; + break; + } + index += i; + if (IS_RIGHT ? index < 0 : length <= index) { + throw new $TypeError(REDUCE_EMPTY); + } + } + for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) { + memo = callbackfn(memo, self[index], index, O); + } + return memo; + }; +}; + +module.exports = { + // `Array.prototype.reduce` method + // https://tc39.es/ecma262/#sec-array.prototype.reduce + left: createMethod(false), + // `Array.prototype.reduceRight` method + // https://tc39.es/ecma262/#sec-array.prototype.reduceright + right: createMethod(true) +}; + + +/***/ }), +/* 182 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var ENVIRONMENT = __webpack_require__(183); + +module.exports = ENVIRONMENT === 'NODE'; + + +/***/ }), +/* 183 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* global Bun, Deno -- detection */ +var globalThis = __webpack_require__(4); +var userAgent = __webpack_require__(28); +var classof = __webpack_require__(15); + +var userAgentStartsWith = function (string) { + return userAgent.slice(0, string.length) === string; +}; + +module.exports = (function () { + if (userAgentStartsWith('Bun/')) return 'BUN'; + if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE'; + if (userAgentStartsWith('Deno/')) return 'DENO'; + if (userAgentStartsWith('Node.js/')) return 'NODE'; + if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN'; + if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO'; + if (classof(globalThis.process) === 'process') return 'NODE'; + if (globalThis.window && globalThis.document) return 'BROWSER'; + return 'REST'; +})(); + + +/***/ }), +/* 184 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $reduceRight = (__webpack_require__(181).right); +var arrayMethodIsStrict = __webpack_require__(147); +var CHROME_VERSION = __webpack_require__(27); +var IS_NODE = __webpack_require__(182); + +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; +var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduceRight'); + +// `Array.prototype.reduceRight` method +// https://tc39.es/ecma262/#sec-array.prototype.reduceright +$({ target: 'Array', proto: true, forced: FORCED }, { + reduceRight: function reduceRight(callbackfn /* , initialValue */) { + return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 185 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var isArray = __webpack_require__(88); + +var nativeReverse = uncurryThis([].reverse); +var test = [1, 2]; + +// `Array.prototype.reverse` method +// https://tc39.es/ecma262/#sec-array.prototype.reverse +// fix for Safari 12.0 bug +// https://bugs.webkit.org/show_bug.cgi?id=188794 +$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, { + reverse: function reverse() { + // eslint-disable-next-line no-self-assign -- dirty hack + if (isArray(this)) this.length = this.length; + return nativeReverse(this); + } +}); + + +/***/ }), +/* 186 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isArray = __webpack_require__(88); +var isConstructor = __webpack_require__(89); +var isObject = __webpack_require__(20); +var toAbsoluteIndex = __webpack_require__(60); +var lengthOfArrayLike = __webpack_require__(63); +var toIndexedObject = __webpack_require__(12); +var createProperty = __webpack_require__(141); +var wellKnownSymbol = __webpack_require__(33); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); +var nativeSlice = __webpack_require__(76); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); + +var SPECIES = wellKnownSymbol('species'); +var $Array = Array; +var max = Math.max; + +// `Array.prototype.slice` method +// https://tc39.es/ecma262/#sec-array.prototype.slice +// fallback for not array-like ES3 strings and DOM objects +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + slice: function slice(start, end) { + var O = toIndexedObject(this); + var length = lengthOfArrayLike(O); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible + var Constructor, result, n; + if (isArray(O)) { + Constructor = O.constructor; + // cross-realm fallback + if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) { + Constructor = undefined; + } else if (isObject(Constructor)) { + Constructor = Constructor[SPECIES]; + if (Constructor === null) Constructor = undefined; + } + if (Constructor === $Array || Constructor === undefined) { + return nativeSlice(O, k, fin); + } + } + result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0)); + for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); + result.length = n; + return result; + } +}); + + +/***/ }), +/* 187 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $some = (__webpack_require__(83).some); +var arrayMethodIsStrict = __webpack_require__(147); + +var STRICT_METHOD = arrayMethodIsStrict('some'); + +// `Array.prototype.some` method +// https://tc39.es/ecma262/#sec-array.prototype.some +$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { + some: function some(callbackfn /* , thisArg */) { + return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 188 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var deletePropertyOrThrow = __webpack_require__(145); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); +var internalSort = __webpack_require__(189); +var arrayMethodIsStrict = __webpack_require__(147); +var FF = __webpack_require__(190); +var IE_OR_EDGE = __webpack_require__(191); +var V8 = __webpack_require__(27); +var WEBKIT = __webpack_require__(192); + +var test = []; +var nativeSort = uncurryThis(test.sort); +var push = uncurryThis(test.push); + +// IE8- +var FAILS_ON_UNDEFINED = fails(function () { + test.sort(undefined); +}); +// V8 bug +var FAILS_ON_NULL = fails(function () { + test.sort(null); +}); +// Old WebKit +var STRICT_METHOD = arrayMethodIsStrict('sort'); + +var STABLE_SORT = !fails(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 70; + if (FF && FF > 3) return; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 603; + + var result = ''; + var code, chr, value, index; + + // generate an array with more 512 elements (Chakra and old V8 fails only in this case) + for (code = 65; code < 76; code++) { + chr = String.fromCharCode(code); + + switch (code) { + case 66: case 69: case 70: case 72: value = 3; break; + case 68: case 71: value = 4; break; + default: value = 2; + } + + for (index = 0; index < 47; index++) { + test.push({ k: chr + index, v: value }); + } + } + + test.sort(function (a, b) { return b.v - a.v; }); + + for (index = 0; index < test.length; index++) { + chr = test[index].k.charAt(0); + if (result.charAt(result.length - 1) !== chr) result += chr; + } + + return result !== 'DGBEFHACIJK'; +}); + +var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT; + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (y === undefined) return -1; + if (x === undefined) return 1; + if (comparefn !== undefined) return +comparefn(x, y) || 0; + return toString(x) > toString(y) ? 1 : -1; + }; +}; + +// `Array.prototype.sort` method +// https://tc39.es/ecma262/#sec-array.prototype.sort +$({ target: 'Array', proto: true, forced: FORCED }, { + sort: function sort(comparefn) { + if (comparefn !== undefined) aCallable(comparefn); + + var array = toObject(this); + + if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn); + + var items = []; + var arrayLength = lengthOfArrayLike(array); + var itemsLength, index; + + for (index = 0; index < arrayLength; index++) { + if (index in array) push(items, array[index]); + } + + internalSort(items, getSortCompare(comparefn)); + + itemsLength = lengthOfArrayLike(items); + index = 0; + + while (index < itemsLength) array[index] = items[index++]; + while (index < arrayLength) deletePropertyOrThrow(array, index++); + + return array; + } +}); + + +/***/ }), +/* 189 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arraySlice = __webpack_require__(76); + +var floor = Math.floor; + +var sort = function (array, comparefn) { + var length = array.length; + + if (length < 8) { + // insertion sort + var i = 1; + var element, j; + + while (i < length) { + j = i; + element = array[i]; + while (j && comparefn(array[j - 1], element) > 0) { + array[j] = array[--j]; + } + if (j !== i++) array[j] = element; + } + } else { + // merge sort + var middle = floor(length / 2); + var left = sort(arraySlice(array, 0, middle), comparefn); + var right = sort(arraySlice(array, middle), comparefn); + var llength = left.length; + var rlength = right.length; + var lindex = 0; + var rindex = 0; + + while (lindex < llength || rindex < rlength) { + array[lindex + rindex] = (lindex < llength && rindex < rlength) + ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++] + : lindex < llength ? left[lindex++] : right[rindex++]; + } + } + + return array; +}; + +module.exports = sort; + + +/***/ }), +/* 190 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +var firefox = userAgent.match(/firefox\/(\d+)/i); + +module.exports = !!firefox && +firefox[1]; + + +/***/ }), +/* 191 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var UA = __webpack_require__(28); + +module.exports = /MSIE|Trident/.test(UA); + + +/***/ }), +/* 192 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +var webkit = userAgent.match(/AppleWebKit\/(\d+)\./); + +module.exports = !!webkit && +webkit[1]; + + +/***/ }), +/* 193 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var setSpecies = __webpack_require__(194); + +// `Array[@@species]` getter +// https://tc39.es/ecma262/#sec-get-array-@@species +setSpecies('Array'); + + +/***/ }), +/* 194 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var defineBuiltInAccessor = __webpack_require__(77); +var wellKnownSymbol = __webpack_require__(33); +var DESCRIPTORS = __webpack_require__(6); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (CONSTRUCTOR_NAME) { + var Constructor = getBuiltIn(CONSTRUCTOR_NAME); + + if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { + defineBuiltInAccessor(Constructor, SPECIES, { + configurable: true, + get: function () { return this; } + }); + } +}; + + +/***/ }), +/* 195 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var toAbsoluteIndex = __webpack_require__(60); +var toIntegerOrInfinity = __webpack_require__(61); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var doesNotExceedSafeInteger = __webpack_require__(140); +var arraySpeciesCreate = __webpack_require__(86); +var createProperty = __webpack_require__(141); +var deletePropertyOrThrow = __webpack_require__(145); +var arrayMethodHasSpeciesSupport = __webpack_require__(142); + +var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice'); + +var max = Math.max; +var min = Math.min; + +// `Array.prototype.splice` method +// https://tc39.es/ecma262/#sec-array.prototype.splice +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { + splice: function splice(start, deleteCount /* , ...items */) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.length; + var insertCount, actualDeleteCount, A, k, from, to; + if (argumentsLength === 0) { + insertCount = actualDeleteCount = 0; + } else if (argumentsLength === 1) { + insertCount = 0; + actualDeleteCount = len - actualStart; + } else { + insertCount = argumentsLength - 2; + actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + } + doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); + A = arraySpeciesCreate(O, actualDeleteCount); + for (k = 0; k < actualDeleteCount; k++) { + from = actualStart + k; + if (from in O) createProperty(A, k, O[from]); + } + A.length = actualDeleteCount; + if (insertCount < actualDeleteCount) { + for (k = actualStart; k < len - actualDeleteCount; k++) { + from = k + actualDeleteCount; + to = k + insertCount; + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + } + for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1); + } else if (insertCount > actualDeleteCount) { + for (k = len - actualDeleteCount; k > actualStart; k--) { + from = k + actualDeleteCount - 1; + to = k + insertCount - 1; + if (from in O) O[to] = O[from]; + else deletePropertyOrThrow(O, to); + } + } + for (k = 0; k < insertCount; k++) { + O[k + actualStart] = arguments[k + 2]; + } + setArrayLength(O, len - actualDeleteCount + insertCount); + return A; + } +}); + + +/***/ }), +/* 196 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var arrayToReversed = __webpack_require__(197); +var toIndexedObject = __webpack_require__(12); +var addToUnscopables = __webpack_require__(138); + +var $Array = Array; + +// `Array.prototype.toReversed` method +// https://tc39.es/ecma262/#sec-array.prototype.toreversed +$({ target: 'Array', proto: true }, { + toReversed: function toReversed() { + return arrayToReversed(toIndexedObject(this), $Array); + } +}); + +addToUnscopables('toReversed'); + + +/***/ }), +/* 197 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); + +// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed +// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed +module.exports = function (O, C) { + var len = lengthOfArrayLike(O); + var A = new C(len); + var k = 0; + for (; k < len; k++) A[k] = O[len - k - 1]; + return A; +}; + + +/***/ }), +/* 198 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var toIndexedObject = __webpack_require__(12); +var arrayFromConstructorAndList = __webpack_require__(199); +var getBuiltInPrototypeMethod = __webpack_require__(200); +var addToUnscopables = __webpack_require__(138); + +var $Array = Array; +var sort = uncurryThis(getBuiltInPrototypeMethod('Array', 'sort')); + +// `Array.prototype.toSorted` method +// https://tc39.es/ecma262/#sec-array.prototype.tosorted +$({ target: 'Array', proto: true }, { + toSorted: function toSorted(compareFn) { + if (compareFn !== undefined) aCallable(compareFn); + var O = toIndexedObject(this); + var A = arrayFromConstructorAndList($Array, O); + return sort(A, compareFn); + } +}); + +addToUnscopables('toSorted'); + + +/***/ }), +/* 199 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); + +module.exports = function (Constructor, list, $length) { + var index = 0; + var length = arguments.length > 2 ? $length : lengthOfArrayLike(list); + var result = new Constructor(length); + while (length > index) result[index] = list[index++]; + return result; +}; + + +/***/ }), +/* 200 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = function (CONSTRUCTOR, METHOD) { + var Constructor = globalThis[CONSTRUCTOR]; + var Prototype = Constructor && Constructor.prototype; + return Prototype && Prototype[METHOD]; +}; + + +/***/ }), +/* 201 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var addToUnscopables = __webpack_require__(138); +var doesNotExceedSafeInteger = __webpack_require__(140); +var lengthOfArrayLike = __webpack_require__(63); +var toAbsoluteIndex = __webpack_require__(60); +var toIndexedObject = __webpack_require__(12); +var toIntegerOrInfinity = __webpack_require__(61); + +var $Array = Array; +var max = Math.max; +var min = Math.min; + +// `Array.prototype.toSpliced` method +// https://tc39.es/ecma262/#sec-array.prototype.tospliced +$({ target: 'Array', proto: true }, { + toSpliced: function toSpliced(start, deleteCount /* , ...items */) { + var O = toIndexedObject(this); + var len = lengthOfArrayLike(O); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.length; + var k = 0; + var insertCount, actualDeleteCount, newLen, A; + if (argumentsLength === 0) { + insertCount = actualDeleteCount = 0; + } else if (argumentsLength === 1) { + insertCount = 0; + actualDeleteCount = len - actualStart; + } else { + insertCount = argumentsLength - 2; + actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart); + } + newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount); + A = $Array(newLen); + + for (; k < actualStart; k++) A[k] = O[k]; + for (; k < actualStart + insertCount; k++) A[k] = arguments[k - actualStart + 2]; + for (; k < newLen; k++) A[k] = O[k + actualDeleteCount - insertCount]; + + return A; + } +}); + +addToUnscopables('toSpliced'); + + +/***/ }), +/* 202 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = __webpack_require__(138); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('flat'); + + +/***/ }), +/* 203 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = __webpack_require__(138); + +// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('flatMap'); + + +/***/ }), +/* 204 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var setArrayLength = __webpack_require__(179); +var deletePropertyOrThrow = __webpack_require__(145); +var doesNotExceedSafeInteger = __webpack_require__(140); + +// IE8- +var INCORRECT_RESULT = [].unshift(0) !== 1; + +// V8 ~ Chrome < 71 and Safari <= 15.4, FF < 23 throws InternalError +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).unshift(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_RESULT || !properErrorOnNonWritableLength(); + +// `Array.prototype.unshift` method +// https://tc39.es/ecma262/#sec-array.prototype.unshift +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + unshift: function unshift(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + if (argCount) { + doesNotExceedSafeInteger(len + argCount); + var k = len; + while (k--) { + var to = k + argCount; + if (k in O) O[to] = O[k]; + else deletePropertyOrThrow(O, to); + } + for (var j = 0; j < argCount; j++) { + O[j] = arguments[j]; + } + } return setArrayLength(O, len + argCount); + } +}); + + +/***/ }), +/* 205 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var arrayWith = __webpack_require__(206); +var toIndexedObject = __webpack_require__(12); + +var $Array = Array; + +// `Array.prototype.with` method +// https://tc39.es/ecma262/#sec-array.prototype.with +$({ target: 'Array', proto: true }, { + 'with': function (index, value) { + return arrayWith(toIndexedObject(this), $Array, index, value); + } +}); + + +/***/ }), +/* 206 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); + +var $RangeError = RangeError; + +// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with +// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with +module.exports = function (O, C, index, value) { + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex; + if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index'); + var A = new C(len); + var k = 0; + for (; k < len; k++) A[k] = k === actualIndex ? value : O[k]; + return A; +}; + + +/***/ }), +/* 207 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var arrayBufferModule = __webpack_require__(208); +var setSpecies = __webpack_require__(194); + +var ARRAY_BUFFER = 'ArrayBuffer'; +var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER]; +var NativeArrayBuffer = globalThis[ARRAY_BUFFER]; + +// `ArrayBuffer` constructor +// https://tc39.es/ecma262/#sec-arraybuffer-constructor +$({ global: true, constructor: true, forced: NativeArrayBuffer !== ArrayBuffer }, { + ArrayBuffer: ArrayBuffer +}); + +setSpecies(ARRAY_BUFFER); + + +/***/ }), +/* 208 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var DESCRIPTORS = __webpack_require__(6); +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); +var FunctionName = __webpack_require__(49); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var fails = __webpack_require__(7); +var anInstance = __webpack_require__(211); +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); +var toIndex = __webpack_require__(212); +var fround = __webpack_require__(213); +var IEEE754 = __webpack_require__(216); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var arrayFill = __webpack_require__(149); +var arraySlice = __webpack_require__(76); +var inheritIfRequired = __webpack_require__(118); +var copyConstructorProperties = __webpack_require__(55); +var setToStringTag = __webpack_require__(82); +var InternalStateModule = __webpack_require__(51); + +var PROPER_FUNCTION_NAME = FunctionName.PROPER; +var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; +var ARRAY_BUFFER = 'ArrayBuffer'; +var DATA_VIEW = 'DataView'; +var PROTOTYPE = 'prototype'; +var WRONG_LENGTH = 'Wrong length'; +var WRONG_INDEX = 'Wrong index'; +var getInternalArrayBufferState = InternalStateModule.getterFor(ARRAY_BUFFER); +var getInternalDataViewState = InternalStateModule.getterFor(DATA_VIEW); +var setInternalState = InternalStateModule.set; +var NativeArrayBuffer = globalThis[ARRAY_BUFFER]; +var $ArrayBuffer = NativeArrayBuffer; +var ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE]; +var $DataView = globalThis[DATA_VIEW]; +var DataViewPrototype = $DataView && $DataView[PROTOTYPE]; +var ObjectPrototype = Object.prototype; +var Array = globalThis.Array; +var RangeError = globalThis.RangeError; +var fill = uncurryThis(arrayFill); +var reverse = uncurryThis([].reverse); + +var packIEEE754 = IEEE754.pack; +var unpackIEEE754 = IEEE754.unpack; + +var packInt8 = function (number) { + return [number & 0xFF]; +}; + +var packInt16 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF]; +}; + +var packInt32 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF]; +}; + +var unpackInt32 = function (buffer) { + return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0]; +}; + +var packFloat32 = function (number) { + return packIEEE754(fround(number), 23, 4); +}; + +var packFloat64 = function (number) { + return packIEEE754(number, 52, 8); +}; + +var addGetter = function (Constructor, key, getInternalState) { + defineBuiltInAccessor(Constructor[PROTOTYPE], key, { + configurable: true, + get: function () { + return getInternalState(this)[key]; + } + }); +}; + +var get = function (view, count, index, isLittleEndian) { + var store = getInternalDataViewState(view); + var intIndex = toIndex(index); + var boolIsLittleEndian = !!isLittleEndian; + if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX); + var bytes = store.bytes; + var start = intIndex + store.byteOffset; + var pack = arraySlice(bytes, start, start + count); + return boolIsLittleEndian ? pack : reverse(pack); +}; + +var set = function (view, count, index, conversion, value, isLittleEndian) { + var store = getInternalDataViewState(view); + var intIndex = toIndex(index); + var pack = conversion(+value); + var boolIsLittleEndian = !!isLittleEndian; + if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX); + var bytes = store.bytes; + var start = intIndex + store.byteOffset; + for (var i = 0; i < count; i++) bytes[start + i] = pack[boolIsLittleEndian ? i : count - i - 1]; +}; + +if (!NATIVE_ARRAY_BUFFER) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, ArrayBufferPrototype); + var byteLength = toIndex(length); + setInternalState(this, { + type: ARRAY_BUFFER, + bytes: fill(Array(byteLength), 0), + byteLength: byteLength + }); + if (!DESCRIPTORS) { + this.byteLength = byteLength; + this.detached = false; + } + }; + + ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE]; + + $DataView = function DataView(buffer, byteOffset, byteLength) { + anInstance(this, DataViewPrototype); + anInstance(buffer, ArrayBufferPrototype); + var bufferState = getInternalArrayBufferState(buffer); + var bufferLength = bufferState.byteLength; + var offset = toIntegerOrInfinity(byteOffset); + if (offset < 0 || offset > bufferLength) throw new RangeError('Wrong offset'); + byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); + if (offset + byteLength > bufferLength) throw new RangeError(WRONG_LENGTH); + setInternalState(this, { + type: DATA_VIEW, + buffer: buffer, + byteLength: byteLength, + byteOffset: offset, + bytes: bufferState.bytes + }); + if (!DESCRIPTORS) { + this.buffer = buffer; + this.byteLength = byteLength; + this.byteOffset = offset; + } + }; + + DataViewPrototype = $DataView[PROTOTYPE]; + + if (DESCRIPTORS) { + addGetter($ArrayBuffer, 'byteLength', getInternalArrayBufferState); + addGetter($DataView, 'buffer', getInternalDataViewState); + addGetter($DataView, 'byteLength', getInternalDataViewState); + addGetter($DataView, 'byteOffset', getInternalDataViewState); + } + + defineBuiltIns(DataViewPrototype, { + getInt8: function getInt8(byteOffset) { + return get(this, 1, byteOffset)[0] << 24 >> 24; + }, + getUint8: function getUint8(byteOffset) { + return get(this, 1, byteOffset)[0]; + }, + getInt16: function getInt16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false); + return (bytes[1] << 8 | bytes[0]) << 16 >> 16; + }, + getUint16: function getUint16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false); + return bytes[1] << 8 | bytes[0]; + }, + getInt32: function getInt32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)); + }, + getUint32: function getUint32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)) >>> 0; + }, + getFloat32: function getFloat32(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false), 23); + }, + getFloat64: function getFloat64(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : false), 52); + }, + setInt8: function setInt8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setUint8: function setUint8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setInt16: function setInt16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false); + }, + setUint16: function setUint16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false); + }, + setInt32: function setInt32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false); + }, + setUint32: function setUint32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false); + }, + setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : false); + }, + setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { + set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : false); + } + }); +} else { + var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER; + /* eslint-disable no-new, sonarjs/inconsistent-function-call -- required for testing */ + if (!fails(function () { + NativeArrayBuffer(1); + }) || !fails(function () { + new NativeArrayBuffer(-1); + }) || fails(function () { + new NativeArrayBuffer(); + new NativeArrayBuffer(1.5); + new NativeArrayBuffer(NaN); + return NativeArrayBuffer.length !== 1 || INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME; + })) { + /* eslint-enable no-new, sonarjs/inconsistent-function-call -- required for testing */ + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, ArrayBufferPrototype); + return inheritIfRequired(new NativeArrayBuffer(toIndex(length)), this, $ArrayBuffer); + }; + + $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype; + + ArrayBufferPrototype.constructor = $ArrayBuffer; + + copyConstructorProperties($ArrayBuffer, NativeArrayBuffer); + } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) { + createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER); + } + + // WebKit bug - the same parent prototype for typed arrays and data view + if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) { + setPrototypeOf(DataViewPrototype, ObjectPrototype); + } + + // iOS Safari 7.x bug + var testView = new $DataView(new $ArrayBuffer(2)); + var $setInt8 = uncurryThis(DataViewPrototype.setInt8); + testView.setInt8(0, 2147483648); + testView.setInt8(1, 2147483649); + if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, { + setInt8: function setInt8(byteOffset, value) { + $setInt8(this, byteOffset, value << 24 >> 24); + }, + setUint8: function setUint8(byteOffset, value) { + $setInt8(this, byteOffset, value << 24 >> 24); + } + }, { unsafe: true }); +} + +setToStringTag($ArrayBuffer, ARRAY_BUFFER); +setToStringTag($DataView, DATA_VIEW); + +module.exports = { + ArrayBuffer: $ArrayBuffer, + DataView: $DataView +}; + + +/***/ }), +/* 209 */ +/***/ (function(module) { + + +// eslint-disable-next-line es/no-typed-arrays -- safe +module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; + + +/***/ }), +/* 210 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); + +module.exports = function (target, src, options) { + for (var key in src) defineBuiltIn(target, key, src[key], options); + return target; +}; + + +/***/ }), +/* 211 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isPrototypeOf = __webpack_require__(24); + +var $TypeError = TypeError; + +module.exports = function (it, Prototype) { + if (isPrototypeOf(Prototype, it)) return it; + throw new $TypeError('Incorrect invocation'); +}; + + +/***/ }), +/* 212 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); + +var $RangeError = RangeError; + +// `ToIndex` abstract operation +// https://tc39.es/ecma262/#sec-toindex +module.exports = function (it) { + if (it === undefined) return 0; + var number = toIntegerOrInfinity(it); + var length = toLength(number); + if (number !== length) throw new $RangeError('Wrong length or index'); + return length; +}; + + +/***/ }), +/* 213 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var floatRound = __webpack_require__(214); + +var FLOAT32_EPSILON = 1.1920928955078125e-7; // 2 ** -23; +var FLOAT32_MAX_VALUE = 3.4028234663852886e+38; // 2 ** 128 - 2 ** 104 +var FLOAT32_MIN_VALUE = 1.1754943508222875e-38; // 2 ** -126; + +// `Math.fround` method implementation +// https://tc39.es/ecma262/#sec-math.fround +// eslint-disable-next-line es/no-math-fround -- safe +module.exports = Math.fround || function fround(x) { + return floatRound(x, FLOAT32_EPSILON, FLOAT32_MAX_VALUE, FLOAT32_MIN_VALUE); +}; + + +/***/ }), +/* 214 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var sign = __webpack_require__(215); + +var abs = Math.abs; + +var EPSILON = 2.220446049250313e-16; // Number.EPSILON +var INVERSE_EPSILON = 1 / EPSILON; + +var roundTiesToEven = function (n) { + return n + INVERSE_EPSILON - INVERSE_EPSILON; +}; + +module.exports = function (x, FLOAT_EPSILON, FLOAT_MAX_VALUE, FLOAT_MIN_VALUE) { + var n = +x; + var absolute = abs(n); + var s = sign(n); + if (absolute < FLOAT_MIN_VALUE) return s * roundTiesToEven(absolute / FLOAT_MIN_VALUE / FLOAT_EPSILON) * FLOAT_MIN_VALUE * FLOAT_EPSILON; + var a = (1 + FLOAT_EPSILON / EPSILON) * absolute; + var result = a - (a - absolute); + // eslint-disable-next-line no-self-compare -- NaN check + if (result > FLOAT_MAX_VALUE || result !== result) return s * Infinity; + return s * result; +}; + + +/***/ }), +/* 215 */ +/***/ (function(module) { + + +// `Math.sign` method implementation +// https://tc39.es/ecma262/#sec-math.sign +// eslint-disable-next-line es/no-math-sign -- safe +module.exports = Math.sign || function sign(x) { + var n = +x; + // eslint-disable-next-line no-self-compare -- NaN check + return n === 0 || n !== n ? n : n < 0 ? -1 : 1; +}; + + +/***/ }), +/* 216 */ +/***/ (function(module) { + + +// IEEE754 conversions based on https://github.com/feross/ieee754 +var $Array = Array; +var abs = Math.abs; +var pow = Math.pow; +var floor = Math.floor; +var log = Math.log; +var LN2 = Math.LN2; + +var pack = function (number, mantissaLength, bytes) { + var buffer = $Array(bytes); + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0; + var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0; + var index = 0; + var exponent, mantissa, c; + number = abs(number); + // eslint-disable-next-line no-self-compare -- NaN check + if (number !== number || number === Infinity) { + // eslint-disable-next-line no-self-compare -- NaN check + mantissa = number !== number ? 1 : 0; + exponent = eMax; + } else { + exponent = floor(log(number) / LN2); + c = pow(2, -exponent); + if (number * c < 1) { + exponent--; + c *= 2; + } + if (exponent + eBias >= 1) { + number += rt / c; + } else { + number += rt * pow(2, 1 - eBias); + } + if (number * c >= 2) { + exponent++; + c /= 2; + } + if (exponent + eBias >= eMax) { + mantissa = 0; + exponent = eMax; + } else if (exponent + eBias >= 1) { + mantissa = (number * c - 1) * pow(2, mantissaLength); + exponent += eBias; + } else { + mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength); + exponent = 0; + } + } + while (mantissaLength >= 8) { + buffer[index++] = mantissa & 255; + mantissa /= 256; + mantissaLength -= 8; + } + exponent = exponent << mantissaLength | mantissa; + exponentLength += mantissaLength; + while (exponentLength > 0) { + buffer[index++] = exponent & 255; + exponent /= 256; + exponentLength -= 8; + } + buffer[index - 1] |= sign * 128; + return buffer; +}; + +var unpack = function (buffer, mantissaLength) { + var bytes = buffer.length; + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var nBits = exponentLength - 7; + var index = bytes - 1; + var sign = buffer[index--]; + var exponent = sign & 127; + var mantissa; + sign >>= 7; + while (nBits > 0) { + exponent = exponent * 256 + buffer[index--]; + nBits -= 8; + } + mantissa = exponent & (1 << -nBits) - 1; + exponent >>= -nBits; + nBits += mantissaLength; + while (nBits > 0) { + mantissa = mantissa * 256 + buffer[index--]; + nBits -= 8; + } + if (exponent === 0) { + exponent = 1 - eBias; + } else if (exponent === eMax) { + return mantissa ? NaN : sign ? -Infinity : Infinity; + } else { + mantissa += pow(2, mantissaLength); + exponent -= eBias; + } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength); +}; + +module.exports = { + pack: pack, + unpack: unpack +}; + + +/***/ }), +/* 217 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ArrayBufferViewCore = __webpack_require__(218); + +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; + +// `ArrayBuffer.isView` method +// https://tc39.es/ecma262/#sec-arraybuffer.isview +$({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + isView: ArrayBufferViewCore.isView +}); + + +/***/ }), +/* 218 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var classof = __webpack_require__(69); +var tryToString = __webpack_require__(31); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var isPrototypeOf = __webpack_require__(24); +var getPrototypeOf = __webpack_require__(128); +var setPrototypeOf = __webpack_require__(113); +var wellKnownSymbol = __webpack_require__(33); +var uid = __webpack_require__(40); +var InternalStateModule = __webpack_require__(51); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var Int8Array = globalThis.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var Uint8ClampedArray = globalThis.Uint8ClampedArray; +var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; +var TypedArray = Int8Array && getPrototypeOf(Int8Array); +var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype); +var ObjectPrototype = Object.prototype; +var TypeError = globalThis.TypeError; + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); +var TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor'; +// Fixing native typed arrays in Opera Presto crashes the browser, see #595 +var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(globalThis.opera) !== 'Opera'; +var TYPED_ARRAY_TAG_REQUIRED = false; +var NAME, Constructor, Prototype; + +var TypedArrayConstructorsList = { + Int8Array: 1, + Uint8Array: 1, + Uint8ClampedArray: 1, + Int16Array: 2, + Uint16Array: 2, + Int32Array: 4, + Uint32Array: 4, + Float32Array: 4, + Float64Array: 8 +}; + +var BigIntArrayConstructorsList = { + BigInt64Array: 8, + BigUint64Array: 8 +}; + +var isView = function isView(it) { + if (!isObject(it)) return false; + var klass = classof(it); + return klass === 'DataView' + || hasOwn(TypedArrayConstructorsList, klass) + || hasOwn(BigIntArrayConstructorsList, klass); +}; + +var getTypedArrayConstructor = function (it) { + var proto = getPrototypeOf(it); + if (!isObject(proto)) return; + var state = getInternalState(proto); + return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto); +}; + +var isTypedArray = function (it) { + if (!isObject(it)) return false; + var klass = classof(it); + return hasOwn(TypedArrayConstructorsList, klass) + || hasOwn(BigIntArrayConstructorsList, klass); +}; + +var aTypedArray = function (it) { + if (isTypedArray(it)) return it; + throw new TypeError('Target is not a typed array'); +}; + +var aTypedArrayConstructor = function (C) { + if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C; + throw new TypeError(tryToString(C) + ' is not a typed array constructor'); +}; + +var exportTypedArrayMethod = function (KEY, property, forced, options) { + if (!DESCRIPTORS) return; + if (forced) for (var ARRAY in TypedArrayConstructorsList) { + var TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try { + delete TypedArrayConstructor.prototype[KEY]; + } catch (error) { + // old WebKit bug - some methods are non-configurable + try { + TypedArrayConstructor.prototype[KEY] = property; + } catch (error2) { /* empty */ } + } + } + if (!TypedArrayPrototype[KEY] || forced) { + defineBuiltIn(TypedArrayPrototype, KEY, forced ? property + : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options); + } +}; + +var exportTypedArrayStaticMethod = function (KEY, property, forced) { + var ARRAY, TypedArrayConstructor; + if (!DESCRIPTORS) return; + if (setPrototypeOf) { + if (forced) for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try { + delete TypedArrayConstructor[KEY]; + } catch (error) { /* empty */ } + } + if (!TypedArray[KEY] || forced) { + // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable + try { + return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property); + } catch (error) { /* empty */ } + } else return; + } + for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = globalThis[ARRAY]; + if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { + defineBuiltIn(TypedArrayConstructor, KEY, property); + } + } +}; + +for (NAME in TypedArrayConstructorsList) { + Constructor = globalThis[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; + else NATIVE_ARRAY_BUFFER_VIEWS = false; +} + +for (NAME in BigIntArrayConstructorsList) { + Constructor = globalThis[NAME]; + Prototype = Constructor && Constructor.prototype; + if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor; +} + +// WebKit bug - typed arrays constructors prototype is Object.prototype +if (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) { + // eslint-disable-next-line no-shadow -- safe + TypedArray = function TypedArray() { + throw new TypeError('Incorrect invocation'); + }; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (globalThis[NAME]) setPrototypeOf(globalThis[NAME], TypedArray); + } +} + +if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) { + TypedArrayPrototype = TypedArray.prototype; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (globalThis[NAME]) setPrototypeOf(globalThis[NAME].prototype, TypedArrayPrototype); + } +} + +// WebKit bug - one more object in Uint8ClampedArray prototype chain +if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { + setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); +} + +if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) { + TYPED_ARRAY_TAG_REQUIRED = true; + defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, { + configurable: true, + get: function () { + return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; + } + }); + for (NAME in TypedArrayConstructorsList) if (globalThis[NAME]) { + createNonEnumerableProperty(globalThis[NAME], TYPED_ARRAY_TAG, NAME); + } +} + +module.exports = { + NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, + TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG, + aTypedArray: aTypedArray, + aTypedArrayConstructor: aTypedArrayConstructor, + exportTypedArrayMethod: exportTypedArrayMethod, + exportTypedArrayStaticMethod: exportTypedArrayStaticMethod, + getTypedArrayConstructor: getTypedArrayConstructor, + isView: isView, + isTypedArray: isTypedArray, + TypedArray: TypedArray, + TypedArrayPrototype: TypedArrayPrototype +}; + + +/***/ }), +/* 219 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var fails = __webpack_require__(7); +var ArrayBufferModule = __webpack_require__(208); +var anObject = __webpack_require__(46); +var toAbsoluteIndex = __webpack_require__(60); +var toLength = __webpack_require__(64); + +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var DataView = ArrayBufferModule.DataView; +var DataViewPrototype = DataView.prototype; +var nativeArrayBufferSlice = uncurryThis(ArrayBuffer.prototype.slice); +var getUint8 = uncurryThis(DataViewPrototype.getUint8); +var setUint8 = uncurryThis(DataViewPrototype.setUint8); + +var INCORRECT_SLICE = fails(function () { + return !new ArrayBuffer(2).slice(1, undefined).byteLength; +}); + +// `ArrayBuffer.prototype.slice` method +// https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice +$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, { + slice: function slice(start, end) { + if (nativeArrayBufferSlice && end === undefined) { + return nativeArrayBufferSlice(anObject(this), start); // FF fix + } + var length = anObject(this).byteLength; + var first = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + var result = new ArrayBuffer(toLength(fin - first)); + var viewSource = new DataView(this); + var viewTarget = new DataView(result); + var index = 0; + while (first < fin) { + setUint8(viewTarget, index++, getUint8(viewSource, first++)); + } return result; + } +}); + + +/***/ }), +/* 220 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(221); + + +/***/ }), +/* 221 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ArrayBufferModule = __webpack_require__(208); +var NATIVE_ARRAY_BUFFER = __webpack_require__(209); + +// `DataView` constructor +// https://tc39.es/ecma262/#sec-dataview-constructor +$({ global: true, constructor: true, forced: !NATIVE_ARRAY_BUFFER }, { + DataView: ArrayBufferModule.DataView +}); + + +/***/ }), +/* 222 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var isDetached = __webpack_require__(223); + +var ArrayBufferPrototype = ArrayBuffer.prototype; + +// `ArrayBuffer.prototype.detached` getter +// https://tc39.es/ecma262/#sec-get-arraybuffer.prototype.detached +if (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) { + defineBuiltInAccessor(ArrayBufferPrototype, 'detached', { + configurable: true, + get: function detached() { + return isDetached(this); + } + }); +} + + +/***/ }), +/* 223 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(85); +var arrayBufferByteLength = __webpack_require__(224); + +var ArrayBuffer = globalThis.ArrayBuffer; +var ArrayBufferPrototype = ArrayBuffer && ArrayBuffer.prototype; +var slice = ArrayBufferPrototype && uncurryThis(ArrayBufferPrototype.slice); + +module.exports = function (O) { + if (arrayBufferByteLength(O) !== 0) return false; + if (!slice) return false; + try { + slice(O, 0, 0); + return false; + } catch (error) { + return true; + } +}; + + +/***/ }), +/* 224 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThisAccessor = __webpack_require__(114); +var classof = __webpack_require__(15); + +var ArrayBuffer = globalThis.ArrayBuffer; +var TypeError = globalThis.TypeError; + +// Includes +// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]). +// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception. +module.exports = ArrayBuffer && uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) { + if (classof(O) !== 'ArrayBuffer') throw new TypeError('ArrayBuffer expected'); + return O.byteLength; +}; + + +/***/ }), +/* 225 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $transfer = __webpack_require__(226); + +// `ArrayBuffer.prototype.transfer` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transfer: function transfer() { + return $transfer(this, arguments.length ? arguments[0] : undefined, true); + } +}); + + +/***/ }), +/* 226 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var uncurryThisAccessor = __webpack_require__(114); +var toIndex = __webpack_require__(212); +var notDetached = __webpack_require__(227); +var arrayBufferByteLength = __webpack_require__(224); +var detachTransferable = __webpack_require__(228); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var structuredClone = globalThis.structuredClone; +var ArrayBuffer = globalThis.ArrayBuffer; +var DataView = globalThis.DataView; +var min = Math.min; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataViewPrototype = DataView.prototype; +var slice = uncurryThis(ArrayBufferPrototype.slice); +var isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get'); +var maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get'); +var getInt8 = uncurryThis(DataViewPrototype.getInt8); +var setInt8 = uncurryThis(DataViewPrototype.setInt8); + +module.exports = (PROPER_STRUCTURED_CLONE_TRANSFER || detachTransferable) && function (arrayBuffer, newLength, preserveResizability) { + var byteLength = arrayBufferByteLength(arrayBuffer); + var newByteLength = newLength === undefined ? byteLength : toIndex(newLength); + var fixedLength = !isResizable || !isResizable(arrayBuffer); + var newBuffer; + notDetached(arrayBuffer); + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + arrayBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] }); + if (byteLength === newByteLength && (preserveResizability || fixedLength)) return arrayBuffer; + } + if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) { + newBuffer = slice(arrayBuffer, 0, newByteLength); + } else { + var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(arrayBuffer) } : undefined; + newBuffer = new ArrayBuffer(newByteLength, options); + var a = new DataView(arrayBuffer); + var b = new DataView(newBuffer); + var copyLength = min(newByteLength, byteLength); + for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i)); + } + if (!PROPER_STRUCTURED_CLONE_TRANSFER) detachTransferable(arrayBuffer); + return newBuffer; +}; + + +/***/ }), +/* 227 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isDetached = __webpack_require__(223); + +var $TypeError = TypeError; + +module.exports = function (it) { + if (isDetached(it)) throw new $TypeError('ArrayBuffer is detached'); + return it; +}; + + +/***/ }), +/* 228 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var getBuiltInNodeModule = __webpack_require__(229); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var structuredClone = globalThis.structuredClone; +var $ArrayBuffer = globalThis.ArrayBuffer; +var $MessageChannel = globalThis.MessageChannel; +var detach = false; +var WorkerThreads, channel, buffer, $detach; + +if (PROPER_STRUCTURED_CLONE_TRANSFER) { + detach = function (transferable) { + structuredClone(transferable, { transfer: [transferable] }); + }; +} else if ($ArrayBuffer) try { + if (!$MessageChannel) { + WorkerThreads = getBuiltInNodeModule('worker_threads'); + if (WorkerThreads) $MessageChannel = WorkerThreads.MessageChannel; + } + + if ($MessageChannel) { + channel = new $MessageChannel(); + buffer = new $ArrayBuffer(2); + + $detach = function (transferable) { + channel.port1.postMessage(null, [transferable]); + }; + + if (buffer.byteLength === 2) { + $detach(buffer); + if (buffer.byteLength === 0) detach = $detach; + } + } +} catch (error) { /* empty */ } + +module.exports = detach; + + +/***/ }), +/* 229 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var IS_NODE = __webpack_require__(182); + +module.exports = function (name) { + if (IS_NODE) { + try { + return globalThis.process.getBuiltinModule(name); + } catch (error) { /* empty */ } + try { + // eslint-disable-next-line no-new-func -- safe + return Function('return require("' + name + '")')(); + } catch (error) { /* empty */ } + } +}; + + +/***/ }), +/* 230 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var V8 = __webpack_require__(27); +var ENVIRONMENT = __webpack_require__(183); + +var structuredClone = globalThis.structuredClone; + +module.exports = !!structuredClone && !fails(function () { + // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if ((ENVIRONMENT === 'DENO' && V8 > 92) || (ENVIRONMENT === 'NODE' && V8 > 94) || (ENVIRONMENT === 'BROWSER' && V8 > 97)) return false; + var buffer = new ArrayBuffer(8); + var clone = structuredClone(buffer, { transfer: [buffer] }); + return buffer.byteLength !== 0 || clone.byteLength !== 8; +}); + + +/***/ }), +/* 231 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $transfer = __webpack_require__(226); + +// `ArrayBuffer.prototype.transferToFixedLength` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transferToFixedLength: function transferToFixedLength() { + return $transfer(this, arguments.length ? arguments[0] : undefined, false); + } +}); + + +/***/ }), +/* 232 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); + +// IE8- non-standard case +var FORCED = fails(function () { + // eslint-disable-next-line es/no-date-prototype-getyear-setyear -- detection + return new Date(16e11).getYear() !== 120; +}); + +var getFullYear = uncurryThis(Date.prototype.getFullYear); + +// `Date.prototype.getYear` method +// https://tc39.es/ecma262/#sec-date.prototype.getyear +$({ target: 'Date', proto: true, forced: FORCED }, { + getYear: function getYear() { + return getFullYear(this) - 1900; + } +}); + + +/***/ }), +/* 233 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); + +var $Date = Date; +var thisTimeValue = uncurryThis($Date.prototype.getTime); + +// `Date.now` method +// https://tc39.es/ecma262/#sec-date.now +$({ target: 'Date', stat: true }, { + now: function now() { + return thisTimeValue(new $Date()); + } +}); + + +/***/ }), +/* 234 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); + +var DatePrototype = Date.prototype; +var thisTimeValue = uncurryThis(DatePrototype.getTime); +var setFullYear = uncurryThis(DatePrototype.setFullYear); + +// `Date.prototype.setYear` method +// https://tc39.es/ecma262/#sec-date.prototype.setyear +$({ target: 'Date', proto: true }, { + setYear: function setYear(year) { + // validate + thisTimeValue(this); + var yi = toIntegerOrInfinity(year); + var yyyy = yi >= 0 && yi <= 99 ? yi + 1900 : yi; + return setFullYear(this, yyyy); + } +}); + + +/***/ }), +/* 235 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Date.prototype.toGMTString` method +// https://tc39.es/ecma262/#sec-date.prototype.togmtstring +$({ target: 'Date', proto: true }, { + toGMTString: Date.prototype.toUTCString +}); + + +/***/ }), +/* 236 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toISOString = __webpack_require__(237); + +// `Date.prototype.toISOString` method +// https://tc39.es/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit has a broken implementations +$({ target: 'Date', proto: true, forced: Date.prototype.toISOString !== toISOString }, { + toISOString: toISOString +}); + + +/***/ }), +/* 237 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var padStart = (__webpack_require__(238).start); + +var $RangeError = RangeError; +var $isFinite = isFinite; +var abs = Math.abs; +var DatePrototype = Date.prototype; +var nativeDateToISOString = DatePrototype.toISOString; +var thisTimeValue = uncurryThis(DatePrototype.getTime); +var getUTCDate = uncurryThis(DatePrototype.getUTCDate); +var getUTCFullYear = uncurryThis(DatePrototype.getUTCFullYear); +var getUTCHours = uncurryThis(DatePrototype.getUTCHours); +var getUTCMilliseconds = uncurryThis(DatePrototype.getUTCMilliseconds); +var getUTCMinutes = uncurryThis(DatePrototype.getUTCMinutes); +var getUTCMonth = uncurryThis(DatePrototype.getUTCMonth); +var getUTCSeconds = uncurryThis(DatePrototype.getUTCSeconds); + +// `Date.prototype.toISOString` method implementation +// https://tc39.es/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit fails here: +module.exports = (fails(function () { + return nativeDateToISOString.call(new Date(-5e13 - 1)) !== '0385-07-25T07:06:39.999Z'; +}) || !fails(function () { + nativeDateToISOString.call(new Date(NaN)); +})) ? function toISOString() { + if (!$isFinite(thisTimeValue(this))) throw new $RangeError('Invalid time value'); + var date = this; + var year = getUTCFullYear(date); + var milliseconds = getUTCMilliseconds(date); + var sign = year < 0 ? '-' : year > 9999 ? '+' : ''; + return sign + padStart(abs(year), sign ? 6 : 4, 0) + + '-' + padStart(getUTCMonth(date) + 1, 2, 0) + + '-' + padStart(getUTCDate(date), 2, 0) + + 'T' + padStart(getUTCHours(date), 2, 0) + + ':' + padStart(getUTCMinutes(date), 2, 0) + + ':' + padStart(getUTCSeconds(date), 2, 0) + + '.' + padStart(milliseconds, 3, 0) + + 'Z'; +} : nativeDateToISOString; + + +/***/ }), +/* 238 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// https://github.com/tc39/proposal-string-pad-start-end +var uncurryThis = __webpack_require__(14); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var $repeat = __webpack_require__(239); +var requireObjectCoercible = __webpack_require__(16); + +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); +var ceil = Math.ceil; + +// `String.prototype.{ padStart, padEnd }` methods implementation +var createMethod = function (IS_END) { + return function ($this, maxLength, fillString) { + var S = toString(requireObjectCoercible($this)); + var intMaxLength = toLength(maxLength); + var stringLength = S.length; + var fillStr = fillString === undefined ? ' ' : toString(fillString); + var fillLen, stringFiller; + if (intMaxLength <= stringLength || fillStr === '') return S; + fillLen = intMaxLength - stringLength; + stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen); + return IS_END ? S + stringFiller : stringFiller + S; + }; +}; + +module.exports = { + // `String.prototype.padStart` method + // https://tc39.es/ecma262/#sec-string.prototype.padstart + start: createMethod(false), + // `String.prototype.padEnd` method + // https://tc39.es/ecma262/#sec-string.prototype.padend + end: createMethod(true) +}; + + +/***/ }), +/* 239 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); + +var $RangeError = RangeError; + +// `String.prototype.repeat` method implementation +// https://tc39.es/ecma262/#sec-string.prototype.repeat +module.exports = function repeat(count) { + var str = toString(requireObjectCoercible(this)); + var result = ''; + var n = toIntegerOrInfinity(count); + if (n < 0 || n === Infinity) throw new $RangeError('Wrong number of repetitions'); + for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str; + return result; +}; + + +/***/ }), +/* 240 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toObject = __webpack_require__(39); +var toPrimitive = __webpack_require__(19); + +var FORCED = fails(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; +}); + +// `Date.prototype.toJSON` method +// https://tc39.es/ecma262/#sec-date.prototype.tojson +$({ target: 'Date', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O, 'number'); + return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); + } +}); + + +/***/ }), +/* 241 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); +var defineBuiltIn = __webpack_require__(47); +var dateToPrimitive = __webpack_require__(242); +var wellKnownSymbol = __webpack_require__(33); + +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +var DatePrototype = Date.prototype; + +// `Date.prototype[@@toPrimitive]` method +// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive +if (!hasOwn(DatePrototype, TO_PRIMITIVE)) { + defineBuiltIn(DatePrototype, TO_PRIMITIVE, dateToPrimitive); +} + + +/***/ }), +/* 242 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var ordinaryToPrimitive = __webpack_require__(32); + +var $TypeError = TypeError; + +// `Date.prototype[@@toPrimitive](hint)` method implementation +// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive +module.exports = function (hint) { + anObject(this); + if (hint === 'string' || hint === 'default') hint = 'string'; + else if (hint !== 'number') throw new $TypeError('Incorrect hint'); + return ordinaryToPrimitive(this, hint); +}; + + +/***/ }), +/* 243 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var uncurryThis = __webpack_require__(14); +var defineBuiltIn = __webpack_require__(47); + +var DatePrototype = Date.prototype; +var INVALID_DATE = 'Invalid Date'; +var TO_STRING = 'toString'; +var nativeDateToString = uncurryThis(DatePrototype[TO_STRING]); +var thisTimeValue = uncurryThis(DatePrototype.getTime); + +// `Date.prototype.toString` method +// https://tc39.es/ecma262/#sec-date.prototype.tostring +if (String(new Date(NaN)) !== INVALID_DATE) { + defineBuiltIn(DatePrototype, TO_STRING, function toString() { + var value = thisTimeValue(this); + // eslint-disable-next-line no-self-compare -- NaN check + return value === value ? nativeDateToString(this) : INVALID_DATE; + }); +} + + +/***/ }), +/* 244 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); + +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var exec = uncurryThis(/./.exec); +var numberToString = uncurryThis(1.0.toString); +var toUpperCase = uncurryThis(''.toUpperCase); + +var raw = /[\w*+\-./@]/; + +var hex = function (code, length) { + var result = numberToString(code, 16); + while (result.length < length) result = '0' + result; + return result; +}; + +// `escape` method +// https://tc39.es/ecma262/#sec-escape-string +$({ global: true }, { + escape: function escape(string) { + var str = toString(string); + var result = ''; + var length = str.length; + var index = 0; + var chr, code; + while (index < length) { + chr = charAt(str, index++); + if (exec(raw, chr)) { + result += chr; + } else { + code = charCodeAt(chr, 0); + if (code < 256) { + result += '%' + hex(code, 2); + } else { + result += '%u' + toUpperCase(hex(code, 4)); + } + } + } return result; + } +}); + + +/***/ }), +/* 245 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var bind = __webpack_require__(246); + +// `Function.prototype.bind` method +// https://tc39.es/ecma262/#sec-function.prototype.bind +// eslint-disable-next-line es/no-function-prototype-bind -- detection +$({ target: 'Function', proto: true, forced: Function.bind !== bind }, { + bind: bind +}); + + +/***/ }), +/* 246 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var arraySlice = __webpack_require__(76); +var NATIVE_BIND = __webpack_require__(9); + +var $Function = Function; +var concat = uncurryThis([].concat); +var join = uncurryThis([].join); +var factories = {}; + +var construct = function (C, argsLength, args) { + if (!hasOwn(factories, argsLength)) { + var list = []; + var i = 0; + for (; i < argsLength; i++) list[i] = 'a[' + i + ']'; + factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')'); + } return factories[argsLength](C, args); +}; + +// `Function.prototype.bind` method implementation +// https://tc39.es/ecma262/#sec-function.prototype.bind +// eslint-disable-next-line es/no-function-prototype-bind -- detection +module.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) { + var F = aCallable(this); + var Prototype = F.prototype; + var partArgs = arraySlice(arguments, 1); + var boundFunction = function bound(/* args... */) { + var args = concat(partArgs, arraySlice(arguments)); + return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args); + }; + if (isObject(Prototype)) boundFunction.prototype = Prototype; + return boundFunction; +}; + + +/***/ }), +/* 247 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var definePropertyModule = __webpack_require__(44); +var isPrototypeOf = __webpack_require__(24); +var wellKnownSymbol = __webpack_require__(33); +var makeBuiltIn = __webpack_require__(48); + +var HAS_INSTANCE = wellKnownSymbol('hasInstance'); +var FunctionPrototype = Function.prototype; + +// `Function.prototype[@@hasInstance]` method +// https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance +if (!(HAS_INSTANCE in FunctionPrototype)) { + definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: makeBuiltIn(function (O) { + if (!isCallable(this) || !isObject(O)) return false; + var P = this.prototype; + return isObject(P) ? isPrototypeOf(P, O) : O instanceof this; + }, HAS_INSTANCE) }); +} + + +/***/ }), +/* 248 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var FUNCTION_NAME_EXISTS = (__webpack_require__(49).EXISTS); +var uncurryThis = __webpack_require__(14); +var defineBuiltInAccessor = __webpack_require__(77); + +var FunctionPrototype = Function.prototype; +var functionToString = uncurryThis(FunctionPrototype.toString); +var nameRE = /function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/; +var regExpExec = uncurryThis(nameRE.exec); +var NAME = 'name'; + +// Function instances `.name` property +// https://tc39.es/ecma262/#sec-function-instances-name +if (DESCRIPTORS && !FUNCTION_NAME_EXISTS) { + defineBuiltInAccessor(FunctionPrototype, NAME, { + configurable: true, + get: function () { + try { + return regExpExec(nameRE, functionToString(this))[1]; + } catch (error) { + return ''; + } + } + }); +} + + +/***/ }), +/* 249 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); + +// `globalThis` object +// https://tc39.es/ecma262/#sec-globalthis +$({ global: true, forced: globalThis.globalThis !== globalThis }, { + globalThis: globalThis +}); + + +/***/ }), +/* 250 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var getPrototypeOf = __webpack_require__(128); +var defineBuiltInAccessor = __webpack_require__(77); +var createProperty = __webpack_require__(141); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var wellKnownSymbol = __webpack_require__(33); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var CONSTRUCTOR = 'constructor'; +var ITERATOR = 'Iterator'; +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +var $TypeError = TypeError; +var NativeIterator = globalThis[ITERATOR]; + +// FF56- have non-standard global helper `Iterator` +var FORCED = IS_PURE + || !isCallable(NativeIterator) + || NativeIterator.prototype !== IteratorPrototype + // FF44- non-standard `Iterator` passes previous tests + || !fails(function () { NativeIterator({}); }); + +var IteratorConstructor = function Iterator() { + anInstance(this, IteratorPrototype); + if (getPrototypeOf(this) === IteratorPrototype) throw new $TypeError('Abstract class Iterator not directly constructable'); +}; + +var defineIteratorPrototypeAccessor = function (key, value) { + if (DESCRIPTORS) { + defineBuiltInAccessor(IteratorPrototype, key, { + configurable: true, + get: function () { + return value; + }, + set: function (replacement) { + anObject(this); + if (this === IteratorPrototype) throw new $TypeError("You can't redefine this property"); + if (hasOwn(this, key)) this[key] = replacement; + else createProperty(this, key, replacement); + } + }); + } else IteratorPrototype[key] = value; +}; + +if (!hasOwn(IteratorPrototype, TO_STRING_TAG)) defineIteratorPrototypeAccessor(TO_STRING_TAG, ITERATOR); + +if (FORCED || !hasOwn(IteratorPrototype, CONSTRUCTOR) || IteratorPrototype[CONSTRUCTOR] === Object) { + defineIteratorPrototypeAccessor(CONSTRUCTOR, IteratorConstructor); +} + +IteratorConstructor.prototype = IteratorPrototype; + +// `Iterator` constructor +// https://tc39.es/ecma262/#sec-iterator +$({ global: true, constructor: true, forced: FORCED }, { + Iterator: IteratorConstructor +}); + + +/***/ }), +/* 251 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var notANaN = __webpack_require__(253); +var toPositiveInteger = __webpack_require__(254); +var createIteratorProxy = __webpack_require__(255); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var next = this.next; + var result, done; + while (this.remaining) { + this.remaining--; + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (done) return; + } + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (!done) return result.value; +}); + +// `Iterator.prototype.drop` method +// https://tc39.es/ecma262/#sec-iterator.prototype.drop +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + drop: function drop(limit) { + anObject(this); + var remaining = toPositiveInteger(notANaN(+limit)); + return new IteratorProxy(getIteratorDirect(this), { + remaining: remaining + }); + } +}); + + +/***/ }), +/* 252 */ +/***/ (function(module) { + + +// `GetIteratorDirect(obj)` abstract operation +// https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect +module.exports = function (obj) { + return { + iterator: obj, + next: obj.next, + done: false + }; +}; + + +/***/ }), +/* 253 */ +/***/ (function(module) { + + +var $RangeError = RangeError; + +module.exports = function (it) { + // eslint-disable-next-line no-self-compare -- NaN check + if (it === it) return it; + throw new $RangeError('NaN is not allowed'); +}; + + +/***/ }), +/* 254 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toIntegerOrInfinity = __webpack_require__(61); + +var $RangeError = RangeError; + +module.exports = function (it) { + var result = toIntegerOrInfinity(it); + if (result < 0) throw new $RangeError("The argument can't be less than 0"); + return result; +}; + + +/***/ }), +/* 255 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var create = __webpack_require__(71); +var createNonEnumerableProperty = __webpack_require__(43); +var defineBuiltIns = __webpack_require__(210); +var wellKnownSymbol = __webpack_require__(33); +var InternalStateModule = __webpack_require__(51); +var getMethod = __webpack_require__(29); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var createIterResultObject = __webpack_require__(172); +var iteratorClose = __webpack_require__(135); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var ITERATOR_HELPER = 'IteratorHelper'; +var WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator'; +var setInternalState = InternalStateModule.set; + +var createIteratorProxyPrototype = function (IS_ITERATOR) { + var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER); + + return defineBuiltIns(create(IteratorPrototype), { + next: function next() { + var state = getInternalState(this); + // for simplification: + // for `%WrapForValidIteratorPrototype%.next` our `nextHandler` returns `IterResultObject` + // for `%IteratorHelperPrototype%.next` - just a value + if (IS_ITERATOR) return state.nextHandler(); + try { + var result = state.done ? undefined : state.nextHandler(); + return createIterResultObject(result, state.done); + } catch (error) { + state.done = true; + throw error; + } + }, + 'return': function () { + var state = getInternalState(this); + var iterator = state.iterator; + state.done = true; + if (IS_ITERATOR) { + var returnMethod = getMethod(iterator, 'return'); + return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true); + } + if (state.inner) try { + iteratorClose(state.inner.iterator, 'normal'); + } catch (error) { + return iteratorClose(iterator, 'throw', error); + } + if (iterator) iteratorClose(iterator, 'normal'); + return createIterResultObject(undefined, true); + } + }); +}; + +var WrapForValidIteratorPrototype = createIteratorProxyPrototype(true); +var IteratorHelperPrototype = createIteratorProxyPrototype(false); + +createNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper'); + +module.exports = function (nextHandler, IS_ITERATOR) { + var IteratorProxy = function Iterator(record, state) { + if (state) { + state.iterator = record.iterator; + state.next = record.next; + } else state = record; + state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER; + state.nextHandler = nextHandler; + state.counter = 0; + state.done = false; + setInternalState(this, state); + }; + + IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype; + + return IteratorProxy; +}; + + +/***/ }), +/* 256 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.every` method +// https://tc39.es/ecma262/#sec-iterator.prototype.every +$({ target: 'Iterator', proto: true, real: true }, { + every: function every(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return !iterate(record, function (value, stop) { + if (!predicate(value, counter++)) return stop(); + }, { IS_RECORD: true, INTERRUPTED: true }).stopped; + } +}); + + +/***/ }), +/* 257 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var createIteratorProxy = __webpack_require__(255); +var callWithSafeIterationClosing = __webpack_require__(163); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var predicate = this.predicate; + var next = this.next; + var result, done, value; + while (true) { + result = anObject(call(next, iterator)); + done = this.done = !!result.done; + if (done) return; + value = result.value; + if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) return value; + } +}); + +// `Iterator.prototype.filter` method +// https://tc39.es/ecma262/#sec-iterator.prototype.filter +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + filter: function filter(predicate) { + anObject(this); + aCallable(predicate); + return new IteratorProxy(getIteratorDirect(this), { + predicate: predicate + }); + } +}); + + +/***/ }), +/* 258 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.find` method +// https://tc39.es/ecma262/#sec-iterator.prototype.find +$({ target: 'Iterator', proto: true, real: true }, { + find: function find(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return iterate(record, function (value, stop) { + if (predicate(value, counter++)) return stop(value); + }, { IS_RECORD: true, INTERRUPTED: true }).result; + } +}); + + +/***/ }), +/* 259 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var getIteratorFlattenable = __webpack_require__(260); +var createIteratorProxy = __webpack_require__(255); +var iteratorClose = __webpack_require__(135); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var mapper = this.mapper; + var result, inner; + + while (true) { + if (inner = this.inner) try { + result = anObject(call(inner.next, inner.iterator)); + if (!result.done) return result.value; + this.inner = null; + } catch (error) { iteratorClose(iterator, 'throw', error); } + + result = anObject(call(this.next, iterator)); + + if (this.done = !!result.done) return; + + try { + this.inner = getIteratorFlattenable(mapper(result.value, this.counter++), false); + } catch (error) { iteratorClose(iterator, 'throw', error); } + } +}); + +// `Iterator.prototype.flatMap` method +// https://tc39.es/ecma262/#sec-iterator.prototype.flatmap +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + flatMap: function flatMap(mapper) { + anObject(this); + aCallable(mapper); + return new IteratorProxy(getIteratorDirect(this), { + mapper: mapper, + inner: null + }); + } +}); + + +/***/ }), +/* 260 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var getIteratorMethod = __webpack_require__(134); + +module.exports = function (obj, stringHandling) { + if (!stringHandling || typeof obj !== 'string') anObject(obj); + var method = getIteratorMethod(obj); + return getIteratorDirect(anObject(method !== undefined ? call(method, obj) : obj)); +}; + + +/***/ }), +/* 261 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.forEach` method +// https://tc39.es/ecma262/#sec-iterator.prototype.foreach +$({ target: 'Iterator', proto: true, real: true }, { + forEach: function forEach(fn) { + anObject(this); + aCallable(fn); + var record = getIteratorDirect(this); + var counter = 0; + iterate(record, function (value) { + fn(value, counter++); + }, { IS_RECORD: true }); + } +}); + + +/***/ }), +/* 262 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var toObject = __webpack_require__(39); +var isPrototypeOf = __webpack_require__(24); +var IteratorPrototype = (__webpack_require__(171).IteratorPrototype); +var createIteratorProxy = __webpack_require__(255); +var getIteratorFlattenable = __webpack_require__(260); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + return call(this.next, this.iterator); +}, true); + +// `Iterator.from` method +// https://tc39.es/ecma262/#sec-iterator.from +$({ target: 'Iterator', stat: true, forced: IS_PURE }, { + from: function from(O) { + var iteratorRecord = getIteratorFlattenable(typeof O == 'string' ? toObject(O) : O, true); + return isPrototypeOf(IteratorPrototype, iteratorRecord.iterator) + ? iteratorRecord.iterator + : new IteratorProxy(iteratorRecord); + } +}); + + +/***/ }), +/* 263 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var map = __webpack_require__(264); +var IS_PURE = __webpack_require__(36); + +// `Iterator.prototype.map` method +// https://tc39.es/ecma262/#sec-iterator.prototype.map +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + map: map +}); + + +/***/ }), +/* 264 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var createIteratorProxy = __webpack_require__(255); +var callWithSafeIterationClosing = __webpack_require__(163); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + var result = anObject(call(this.next, iterator)); + var done = this.done = !!result.done; + if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true); +}); + +// `Iterator.prototype.map` method +// https://github.com/tc39/proposal-iterator-helpers +module.exports = function map(mapper) { + anObject(this); + aCallable(mapper); + return new IteratorProxy(getIteratorDirect(this), { + mapper: mapper + }); +}; + + +/***/ }), +/* 265 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +var $TypeError = TypeError; + +// `Iterator.prototype.reduce` method +// https://tc39.es/ecma262/#sec-iterator.prototype.reduce +$({ target: 'Iterator', proto: true, real: true }, { + reduce: function reduce(reducer /* , initialValue */) { + anObject(this); + aCallable(reducer); + var record = getIteratorDirect(this); + var noInitial = arguments.length < 2; + var accumulator = noInitial ? undefined : arguments[1]; + var counter = 0; + iterate(record, function (value) { + if (noInitial) { + noInitial = false; + accumulator = value; + } else { + accumulator = reducer(accumulator, value, counter); + } + counter++; + }, { IS_RECORD: true }); + if (noInitial) throw new $TypeError('Reduce of empty iterator with no initial value'); + return accumulator; + } +}); + + +/***/ }), +/* 266 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); + +// `Iterator.prototype.some` method +// https://tc39.es/ecma262/#sec-iterator.prototype.some +$({ target: 'Iterator', proto: true, real: true }, { + some: function some(predicate) { + anObject(this); + aCallable(predicate); + var record = getIteratorDirect(this); + var counter = 0; + return iterate(record, function (value, stop) { + if (predicate(value, counter++)) return stop(); + }, { IS_RECORD: true, INTERRUPTED: true }).stopped; + } +}); + + +/***/ }), +/* 267 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var getIteratorDirect = __webpack_require__(252); +var notANaN = __webpack_require__(253); +var toPositiveInteger = __webpack_require__(254); +var createIteratorProxy = __webpack_require__(255); +var iteratorClose = __webpack_require__(135); +var IS_PURE = __webpack_require__(36); + +var IteratorProxy = createIteratorProxy(function () { + var iterator = this.iterator; + if (!this.remaining--) { + this.done = true; + return iteratorClose(iterator, 'normal', undefined); + } + var result = anObject(call(this.next, iterator)); + var done = this.done = !!result.done; + if (!done) return result.value; +}); + +// `Iterator.prototype.take` method +// https://tc39.es/ecma262/#sec-iterator.prototype.take +$({ target: 'Iterator', proto: true, real: true, forced: IS_PURE }, { + take: function take(limit) { + anObject(this); + var remaining = toPositiveInteger(notANaN(+limit)); + return new IteratorProxy(getIteratorDirect(this), { + remaining: remaining + }); + } +}); + + +/***/ }), +/* 268 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var iterate = __webpack_require__(130); +var getIteratorDirect = __webpack_require__(252); + +var push = [].push; + +// `Iterator.prototype.toArray` method +// https://tc39.es/ecma262/#sec-iterator.prototype.toarray +$({ target: 'Iterator', proto: true, real: true }, { + toArray: function toArray() { + var result = []; + iterate(getIteratorDirect(anObject(this)), push, { that: result, IS_RECORD: true }); + return result; + } +}); + + +/***/ }), +/* 269 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var setToStringTag = __webpack_require__(82); + +// JSON[@@toStringTag] property +// https://tc39.es/ecma262/#sec-json-@@tostringtag +setToStringTag(globalThis.JSON, 'JSON', true); + + +/***/ }), +/* 270 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(271); + + +/***/ }), +/* 271 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionStrong = __webpack_require__(277); + +// `Map` constructor +// https://tc39.es/ecma262/#sec-map-objects +collection('Map', function (init) { + return function Map() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + + +/***/ }), +/* 272 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var defineBuiltIn = __webpack_require__(47); +var InternalMetadataModule = __webpack_require__(273); +var iterate = __webpack_require__(130); +var anInstance = __webpack_require__(211); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var fails = __webpack_require__(7); +var checkCorrectnessOfIteration = __webpack_require__(164); +var setToStringTag = __webpack_require__(82); +var inheritIfRequired = __webpack_require__(118); + +module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { + var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; + var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; + var ADDER = IS_MAP ? 'set' : 'add'; + var NativeConstructor = globalThis[CONSTRUCTOR_NAME]; + var NativePrototype = NativeConstructor && NativeConstructor.prototype; + var Constructor = NativeConstructor; + var exported = {}; + + var fixMethod = function (KEY) { + var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]); + defineBuiltIn(NativePrototype, KEY, + KEY === 'add' ? function add(value) { + uncurriedNativeMethod(this, value === 0 ? 0 : value); + return this; + } : KEY === 'delete' ? function (key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY === 'get' ? function get(key) { + return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : KEY === 'has' ? function has(key) { + return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); + } : function set(key, value) { + uncurriedNativeMethod(this, key === 0 ? 0 : key, value); + return this; + } + ); + }; + + var REPLACE = isForced( + CONSTRUCTOR_NAME, + !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () { + new NativeConstructor().entries().next(); + })) + ); + + if (REPLACE) { + // create collection constructor + Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); + InternalMetadataModule.enable(); + } else if (isForced(CONSTRUCTOR_NAME, true)) { + var instance = new Constructor(); + // early implementations not supports chaining + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance; + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); + // most early implementations doesn't supports iterables, most modern - not close it correctly + // eslint-disable-next-line no-new -- required for testing + var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); }); + // for early implementations -0 and +0 not the same + var BUGGY_ZERO = !IS_WEAK && fails(function () { + // V8 ~ Chromium 42- fails only with 5+ elements + var $instance = new NativeConstructor(); + var index = 5; + while (index--) $instance[ADDER](index, index); + return !$instance.has(-0); + }); + + if (!ACCEPT_ITERABLES) { + Constructor = wrapper(function (dummy, iterable) { + anInstance(dummy, NativePrototype); + var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + return that; + }); + Constructor.prototype = NativePrototype; + NativePrototype.constructor = Constructor; + } + + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + + if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); + + // weak collections should not contains .clear method + if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear; + } + + exported[CONSTRUCTOR_NAME] = Constructor; + $({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported); + + setToStringTag(Constructor, CONSTRUCTOR_NAME); + + if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); + + return Constructor; +}; + + +/***/ }), +/* 273 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var hiddenKeys = __webpack_require__(54); +var isObject = __webpack_require__(20); +var hasOwn = __webpack_require__(38); +var defineProperty = (__webpack_require__(44).f); +var getOwnPropertyNamesModule = __webpack_require__(57); +var getOwnPropertyNamesExternalModule = __webpack_require__(75); +var isExtensible = __webpack_require__(274); +var uid = __webpack_require__(40); +var FREEZING = __webpack_require__(276); + +var REQUIRED = false; +var METADATA = uid('meta'); +var id = 0; + +var setMetadata = function (it) { + defineProperty(it, METADATA, { value: { + objectID: 'O' + id++, // object ID + weakData: {} // weak collections IDs + } }); +}; + +var fastKey = function (it, create) { + // return a primitive with prefix + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!hasOwn(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMetadata(it); + // return object ID + } return it[METADATA].objectID; +}; + +var getWeakData = function (it, create) { + if (!hasOwn(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMetadata(it); + // return the store of weak collections IDs + } return it[METADATA].weakData; +}; + +// add metadata on freeze-family methods calling +var onFreeze = function (it) { + if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it); + return it; +}; + +var enable = function () { + meta.enable = function () { /* empty */ }; + REQUIRED = true; + var getOwnPropertyNames = getOwnPropertyNamesModule.f; + var splice = uncurryThis([].splice); + var test = {}; + test[METADATA] = 1; + + // prevent exposing of metadata key + if (getOwnPropertyNames(test).length) { + getOwnPropertyNamesModule.f = function (it) { + var result = getOwnPropertyNames(it); + for (var i = 0, length = result.length; i < length; i++) { + if (result[i] === METADATA) { + splice(result, i, 1); + break; + } + } return result; + }; + + $({ target: 'Object', stat: true, forced: true }, { + getOwnPropertyNames: getOwnPropertyNamesExternalModule.f + }); + } +}; + +var meta = module.exports = { + enable: enable, + fastKey: fastKey, + getWeakData: getWeakData, + onFreeze: onFreeze +}; + +hiddenKeys[METADATA] = true; + + +/***/ }), +/* 274 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-isextensible -- safe +var $isExtensible = Object.isExtensible; +var FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); }); + +// `Object.isExtensible` method +// https://tc39.es/ecma262/#sec-object.isextensible +module.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) { + if (!isObject(it)) return false; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return false; + return $isExtensible ? $isExtensible(it) : true; +} : $isExtensible; + + +/***/ }), +/* 275 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it +var fails = __webpack_require__(7); + +module.exports = fails(function () { + if (typeof ArrayBuffer == 'function') { + var buffer = new ArrayBuffer(8); + // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe + if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 }); + } +}); + + +/***/ }), +/* 276 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing + return Object.isExtensible(Object.preventExtensions({})); +}); + + +/***/ }), +/* 277 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var create = __webpack_require__(71); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var bind = __webpack_require__(84); +var anInstance = __webpack_require__(211); +var isNullOrUndefined = __webpack_require__(17); +var iterate = __webpack_require__(130); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); +var setSpecies = __webpack_require__(194); +var DESCRIPTORS = __webpack_require__(6); +var fastKey = (__webpack_require__(273).fastKey); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + index: create(null), + first: null, + last: null, + size: 0 + }); + if (!DESCRIPTORS) that.size = 0; + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + }); + + var Prototype = Constructor.prototype; + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var entry = getEntry(that, key); + var previous, index; + // change existing entry + if (entry) { + entry.value = value; + // create new entry + } else { + state.last = entry = { + index: index = fastKey(key, true), + key: key, + value: value, + previous: previous = state.last, + next: null, + removed: false + }; + if (!state.first) state.first = entry; + if (previous) previous.next = entry; + if (DESCRIPTORS) state.size++; + else that.size++; + // add to index + if (index !== 'F') state.index[index] = entry; + } return that; + }; + + var getEntry = function (that, key) { + var state = getInternalState(that); + // fast case + var index = fastKey(key); + var entry; + if (index !== 'F') return state.index[index]; + // frozen object case + for (entry = state.first; entry; entry = entry.next) { + if (entry.key === key) return entry; + } + }; + + defineBuiltIns(Prototype, { + // `{ Map, Set }.prototype.clear()` methods + // https://tc39.es/ecma262/#sec-map.prototype.clear + // https://tc39.es/ecma262/#sec-set.prototype.clear + clear: function clear() { + var that = this; + var state = getInternalState(that); + var entry = state.first; + while (entry) { + entry.removed = true; + if (entry.previous) entry.previous = entry.previous.next = null; + entry = entry.next; + } + state.first = state.last = null; + state.index = create(null); + if (DESCRIPTORS) state.size = 0; + else that.size = 0; + }, + // `{ Map, Set }.prototype.delete(key)` methods + // https://tc39.es/ecma262/#sec-map.prototype.delete + // https://tc39.es/ecma262/#sec-set.prototype.delete + 'delete': function (key) { + var that = this; + var state = getInternalState(that); + var entry = getEntry(that, key); + if (entry) { + var next = entry.next; + var prev = entry.previous; + delete state.index[entry.index]; + entry.removed = true; + if (prev) prev.next = next; + if (next) next.previous = prev; + if (state.first === entry) state.first = next; + if (state.last === entry) state.last = prev; + if (DESCRIPTORS) state.size--; + else that.size--; + } return !!entry; + }, + // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods + // https://tc39.es/ecma262/#sec-map.prototype.foreach + // https://tc39.es/ecma262/#sec-set.prototype.foreach + forEach: function forEach(callbackfn /* , that = undefined */) { + var state = getInternalState(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var entry; + while (entry = entry ? entry.next : state.first) { + boundFunction(entry.value, entry.key, this); + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + } + }, + // `{ Map, Set}.prototype.has(key)` methods + // https://tc39.es/ecma262/#sec-map.prototype.has + // https://tc39.es/ecma262/#sec-set.prototype.has + has: function has(key) { + return !!getEntry(this, key); + } + }); + + defineBuiltIns(Prototype, IS_MAP ? { + // `Map.prototype.get(key)` method + // https://tc39.es/ecma262/#sec-map.prototype.get + get: function get(key) { + var entry = getEntry(this, key); + return entry && entry.value; + }, + // `Map.prototype.set(key, value)` method + // https://tc39.es/ecma262/#sec-map.prototype.set + set: function set(key, value) { + return define(this, key === 0 ? 0 : key, value); + } + } : { + // `Set.prototype.add(value)` method + // https://tc39.es/ecma262/#sec-set.prototype.add + add: function add(value) { + return define(this, value = value === 0 ? 0 : value, value); + } + }); + if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', { + configurable: true, + get: function () { + return getInternalState(this).size; + } + }); + return Constructor; + }, + setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) { + var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; + var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); + var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); + // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods + // https://tc39.es/ecma262/#sec-map.prototype.entries + // https://tc39.es/ecma262/#sec-map.prototype.keys + // https://tc39.es/ecma262/#sec-map.prototype.values + // https://tc39.es/ecma262/#sec-map.prototype-@@iterator + // https://tc39.es/ecma262/#sec-set.prototype.entries + // https://tc39.es/ecma262/#sec-set.prototype.keys + // https://tc39.es/ecma262/#sec-set.prototype.values + // https://tc39.es/ecma262/#sec-set.prototype-@@iterator + defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) { + setInternalState(this, { + type: ITERATOR_NAME, + target: iterated, + state: getInternalCollectionState(iterated), + kind: kind, + last: null + }); + }, function () { + var state = getInternalIteratorState(this); + var kind = state.kind; + var entry = state.last; + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + // get next entry + if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { + // or finish the iteration + state.target = null; + return createIterResultObject(undefined, true); + } + // return step by kind + if (kind === 'keys') return createIterResultObject(entry.key, false); + if (kind === 'values') return createIterResultObject(entry.value, false); + return createIterResultObject([entry.key, entry.value], false); + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // `{ Map, Set }.prototype[@@species]` accessors + // https://tc39.es/ecma262/#sec-get-map-@@species + // https://tc39.es/ecma262/#sec-get-set-@@species + setSpecies(CONSTRUCTOR_NAME); + } +}; + + +/***/ }), +/* 278 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var requireObjectCoercible = __webpack_require__(16); +var iterate = __webpack_require__(130); +var MapHelpers = __webpack_require__(279); +var IS_PURE = __webpack_require__(36); +var fails = __webpack_require__(7); + +var Map = MapHelpers.Map; +var has = MapHelpers.has; +var get = MapHelpers.get; +var set = MapHelpers.set; +var push = uncurryThis([].push); + +var DOES_NOT_WORK_WITH_PRIMITIVES = IS_PURE || fails(function () { + return Map.groupBy('ab', function (it) { + return it; + }).get('a').length !== 1; +}); + +// `Map.groupBy` method +// https://tc39.es/ecma262/#sec-map.groupby +$({ target: 'Map', stat: true, forced: IS_PURE || DOES_NOT_WORK_WITH_PRIMITIVES }, { + groupBy: function groupBy(items, callbackfn) { + requireObjectCoercible(items); + aCallable(callbackfn); + var map = new Map(); + var k = 0; + iterate(items, function (value) { + var key = callbackfn(value, k++); + if (!has(map, key)) set(map, key, [value]); + else push(get(map, key), value); + }); + return map; + } +}); + + +/***/ }), +/* 279 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// eslint-disable-next-line es/no-map -- safe +var MapPrototype = Map.prototype; + +module.exports = { + // eslint-disable-next-line es/no-map -- safe + Map: Map, + set: uncurryThis(MapPrototype.set), + get: uncurryThis(MapPrototype.get), + has: uncurryThis(MapPrototype.has), + remove: uncurryThis(MapPrototype['delete']), + proto: MapPrototype +}; + + +/***/ }), +/* 280 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log1p = __webpack_require__(281); + +// eslint-disable-next-line es/no-math-acosh -- required for testing +var $acosh = Math.acosh; +var log = Math.log; +var sqrt = Math.sqrt; +var LN2 = Math.LN2; + +var FORCED = !$acosh + // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 + || Math.floor($acosh(Number.MAX_VALUE)) !== 710 + // Tor Browser bug: Math.acosh(Infinity) -> NaN + || $acosh(Infinity) !== Infinity; + +// `Math.acosh` method +// https://tc39.es/ecma262/#sec-math.acosh +$({ target: 'Math', stat: true, forced: FORCED }, { + acosh: function acosh(x) { + var n = +x; + return n < 1 ? NaN : n > 94906265.62425156 + ? log(n) + LN2 + : log1p(n - 1 + sqrt(n - 1) * sqrt(n + 1)); + } +}); + + +/***/ }), +/* 281 */ +/***/ (function(module) { + + +var log = Math.log; + +// `Math.log1p` method implementation +// https://tc39.es/ecma262/#sec-math.log1p +// eslint-disable-next-line es/no-math-log1p -- safe +module.exports = Math.log1p || function log1p(x) { + var n = +x; + return n > -1e-8 && n < 1e-8 ? n - n * n / 2 : log(1 + n); +}; + + +/***/ }), +/* 282 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-asinh -- required for testing +var $asinh = Math.asinh; +var log = Math.log; +var sqrt = Math.sqrt; + +function asinh(x) { + var n = +x; + return !isFinite(n) || n === 0 ? n : n < 0 ? -asinh(-n) : log(n + sqrt(n * n + 1)); +} + +var FORCED = !($asinh && 1 / $asinh(0) > 0); + +// `Math.asinh` method +// https://tc39.es/ecma262/#sec-math.asinh +// Tor Browser bug: Math.asinh(0) -> -0 +$({ target: 'Math', stat: true, forced: FORCED }, { + asinh: asinh +}); + + +/***/ }), +/* 283 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-atanh -- required for testing +var $atanh = Math.atanh; +var log = Math.log; + +var FORCED = !($atanh && 1 / $atanh(-0) < 0); + +// `Math.atanh` method +// https://tc39.es/ecma262/#sec-math.atanh +// Tor Browser bug: Math.atanh(-0) -> 0 +$({ target: 'Math', stat: true, forced: FORCED }, { + atanh: function atanh(x) { + var n = +x; + return n === 0 ? n : log((1 + n) / (1 - n)) / 2; + } +}); + + +/***/ }), +/* 284 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var sign = __webpack_require__(215); + +var abs = Math.abs; +var pow = Math.pow; + +// `Math.cbrt` method +// https://tc39.es/ecma262/#sec-math.cbrt +$({ target: 'Math', stat: true }, { + cbrt: function cbrt(x) { + var n = +x; + return sign(n) * pow(abs(n), 1 / 3); + } +}); + + +/***/ }), +/* 285 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +var floor = Math.floor; +var log = Math.log; +var LOG2E = Math.LOG2E; + +// `Math.clz32` method +// https://tc39.es/ecma262/#sec-math.clz32 +$({ target: 'Math', stat: true }, { + clz32: function clz32(x) { + var n = x >>> 0; + return n ? 31 - floor(log(n + 0.5) * LOG2E) : 32; + } +}); + + +/***/ }), +/* 286 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +// eslint-disable-next-line es/no-math-cosh -- required for testing +var $cosh = Math.cosh; +var abs = Math.abs; +var E = Math.E; + +var FORCED = !$cosh || $cosh(710) === Infinity; + +// `Math.cosh` method +// https://tc39.es/ecma262/#sec-math.cosh +$({ target: 'Math', stat: true, forced: FORCED }, { + cosh: function cosh(x) { + var t = expm1(abs(x) - 1) + 1; + return (t + 1 / (t * E * E)) * (E / 2); + } +}); + + +/***/ }), +/* 287 */ +/***/ (function(module) { + + +// eslint-disable-next-line es/no-math-expm1 -- safe +var $expm1 = Math.expm1; +var exp = Math.exp; + +// `Math.expm1` method implementation +// https://tc39.es/ecma262/#sec-math.expm1 +module.exports = (!$expm1 + // Old FF bug + // eslint-disable-next-line no-loss-of-precision -- required for old engines + || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 + // Tor Browser bug + || $expm1(-2e-17) !== -2e-17 +) ? function expm1(x) { + var n = +x; + return n === 0 ? n : n > -1e-6 && n < 1e-6 ? n + n * n / 2 : exp(n) - 1; +} : $expm1; + + +/***/ }), +/* 288 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +// `Math.expm1` method +// https://tc39.es/ecma262/#sec-math.expm1 +// eslint-disable-next-line es/no-math-expm1 -- required for testing +$({ target: 'Math', stat: true, forced: expm1 !== Math.expm1 }, { expm1: expm1 }); + + +/***/ }), +/* 289 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fround = __webpack_require__(213); + +// `Math.fround` method +// https://tc39.es/ecma262/#sec-math.fround +$({ target: 'Math', stat: true }, { fround: fround }); + + +/***/ }), +/* 290 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// eslint-disable-next-line es/no-math-hypot -- required for testing +var $hypot = Math.hypot; +var abs = Math.abs; +var sqrt = Math.sqrt; + +// Chrome 77 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=9546 +var FORCED = !!$hypot && $hypot(Infinity, NaN) !== Infinity; + +// `Math.hypot` method +// https://tc39.es/ecma262/#sec-math.hypot +$({ target: 'Math', stat: true, arity: 2, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + hypot: function hypot(value1, value2) { + var sum = 0; + var i = 0; + var aLen = arguments.length; + var larg = 0; + var arg, div; + while (i < aLen) { + arg = abs(arguments[i++]); + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; + larg = arg; + } else if (arg > 0) { + div = arg / larg; + sum += div * div; + } else sum += arg; + } + return larg === Infinity ? Infinity : larg * sqrt(sum); + } +}); + + +/***/ }), +/* 291 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-math-imul -- required for testing +var $imul = Math.imul; + +var FORCED = fails(function () { + return $imul(0xFFFFFFFF, 5) !== -5 || $imul.length !== 2; +}); + +// `Math.imul` method +// https://tc39.es/ecma262/#sec-math.imul +// some WebKit versions fails with big numbers, some has wrong arity +$({ target: 'Math', stat: true, forced: FORCED }, { + imul: function imul(x, y) { + var UINT16 = 0xFFFF; + var xn = +x; + var yn = +y; + var xl = UINT16 & xn; + var yl = UINT16 & yn; + return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); + } +}); + + +/***/ }), +/* 292 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log10 = __webpack_require__(293); + +// `Math.log10` method +// https://tc39.es/ecma262/#sec-math.log10 +$({ target: 'Math', stat: true }, { + log10: log10 +}); + + +/***/ }), +/* 293 */ +/***/ (function(module) { + + +var log = Math.log; +var LOG10E = Math.LOG10E; + +// eslint-disable-next-line es/no-math-log10 -- safe +module.exports = Math.log10 || function log10(x) { + return log(x) * LOG10E; +}; + + +/***/ }), +/* 294 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var log1p = __webpack_require__(281); + +// `Math.log1p` method +// https://tc39.es/ecma262/#sec-math.log1p +$({ target: 'Math', stat: true }, { log1p: log1p }); + + +/***/ }), +/* 295 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +var log = Math.log; +var LN2 = Math.LN2; + +// `Math.log2` method +// https://tc39.es/ecma262/#sec-math.log2 +$({ target: 'Math', stat: true }, { + log2: function log2(x) { + return log(x) / LN2; + } +}); + + +/***/ }), +/* 296 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var sign = __webpack_require__(215); + +// `Math.sign` method +// https://tc39.es/ecma262/#sec-math.sign +$({ target: 'Math', stat: true }, { + sign: sign +}); + + +/***/ }), +/* 297 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var expm1 = __webpack_require__(287); + +var abs = Math.abs; +var exp = Math.exp; +var E = Math.E; + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-math-sinh -- required for testing + return Math.sinh(-2e-17) !== -2e-17; +}); + +// `Math.sinh` method +// https://tc39.es/ecma262/#sec-math.sinh +// V8 near Chromium 38 has a problem with very small numbers +$({ target: 'Math', stat: true, forced: FORCED }, { + sinh: function sinh(x) { + var n = +x; + return abs(n) < 1 ? (expm1(n) - expm1(-n)) / 2 : (exp(n - 1) - exp(-n - 1)) * (E / 2); + } +}); + + +/***/ }), +/* 298 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var expm1 = __webpack_require__(287); + +var exp = Math.exp; + +// `Math.tanh` method +// https://tc39.es/ecma262/#sec-math.tanh +$({ target: 'Math', stat: true }, { + tanh: function tanh(x) { + var n = +x; + var a = expm1(n); + var b = expm1(-n); + return a === Infinity ? 1 : b === Infinity ? -1 : (a - b) / (exp(n) + exp(-n)); + } +}); + + +/***/ }), +/* 299 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var setToStringTag = __webpack_require__(82); + +// Math[@@toStringTag] property +// https://tc39.es/ecma262/#sec-math-@@tostringtag +setToStringTag(Math, 'Math', true); + + +/***/ }), +/* 300 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trunc = __webpack_require__(62); + +// `Math.trunc` method +// https://tc39.es/ecma262/#sec-math.trunc +$({ target: 'Math', stat: true }, { + trunc: trunc +}); + + +/***/ }), +/* 301 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var path = __webpack_require__(80); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var hasOwn = __webpack_require__(38); +var inheritIfRequired = __webpack_require__(118); +var isPrototypeOf = __webpack_require__(24); +var isSymbol = __webpack_require__(22); +var toPrimitive = __webpack_require__(19); +var fails = __webpack_require__(7); +var getOwnPropertyNames = (__webpack_require__(57).f); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var defineProperty = (__webpack_require__(44).f); +var thisNumberValue = __webpack_require__(302); +var trim = (__webpack_require__(303).trim); + +var NUMBER = 'Number'; +var NativeNumber = globalThis[NUMBER]; +var PureNumberNamespace = path[NUMBER]; +var NumberPrototype = NativeNumber.prototype; +var TypeError = globalThis.TypeError; +var stringSlice = uncurryThis(''.slice); +var charCodeAt = uncurryThis(''.charCodeAt); + +// `ToNumeric` abstract operation +// https://tc39.es/ecma262/#sec-tonumeric +var toNumeric = function (value) { + var primValue = toPrimitive(value, 'number'); + return typeof primValue == 'bigint' ? primValue : toNumber(primValue); +}; + +// `ToNumber` abstract operation +// https://tc39.es/ecma262/#sec-tonumber +var toNumber = function (argument) { + var it = toPrimitive(argument, 'number'); + var first, third, radix, maxCode, digits, length, index, code; + if (isSymbol(it)) throw new TypeError('Cannot convert a Symbol value to a number'); + if (typeof it == 'string' && it.length > 2) { + it = trim(it); + first = charCodeAt(it, 0); + if (first === 43 || first === 45) { + third = charCodeAt(it, 2); + if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if (first === 48) { + switch (charCodeAt(it, 1)) { + // fast equal of /^0b[01]+$/i + case 66: + case 98: + radix = 2; + maxCode = 49; + break; + // fast equal of /^0o[0-7]+$/i + case 79: + case 111: + radix = 8; + maxCode = 55; + break; + default: + return +it; + } + digits = stringSlice(it, 2); + length = digits.length; + for (index = 0; index < length; index++) { + code = charCodeAt(digits, index); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if (code < 48 || code > maxCode) return NaN; + } return parseInt(digits, radix); + } + } return +it; +}; + +var FORCED = isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1')); + +var calledWithNew = function (dummy) { + // includes check on 1..constructor(foo) case + return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); }); +}; + +// `Number` constructor +// https://tc39.es/ecma262/#sec-number-constructor +var NumberWrapper = function Number(value) { + var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value)); + return calledWithNew(this) ? inheritIfRequired(Object(n), this, NumberWrapper) : n; +}; + +NumberWrapper.prototype = NumberPrototype; +if (FORCED && !IS_PURE) NumberPrototype.constructor = NumberWrapper; + +$({ global: true, constructor: true, wrap: true, forced: FORCED }, { + Number: NumberWrapper +}); + +// Use `internal/copy-constructor-properties` helper in `core-js@4` +var copyConstructorProperties = function (target, source) { + for (var keys = DESCRIPTORS ? getOwnPropertyNames(source) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES2015 (in case, if modules with ES2015 Number statics required before): + 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' + + // ESNext + 'fromString,range' + ).split(','), j = 0, key; keys.length > j; j++) { + if (hasOwn(source, key = keys[j]) && !hasOwn(target, key)) { + defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } + } +}; + +if (IS_PURE && PureNumberNamespace) copyConstructorProperties(path[NUMBER], PureNumberNamespace); +if (FORCED || IS_PURE) copyConstructorProperties(path[NUMBER], NativeNumber); + + +/***/ }), +/* 302 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// `thisNumberValue` abstract operation +// https://tc39.es/ecma262/#sec-thisnumbervalue +module.exports = uncurryThis(1.0.valueOf); + + +/***/ }), +/* 303 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var whitespaces = __webpack_require__(304); + +var replace = uncurryThis(''.replace); +var ltrim = RegExp('^[' + whitespaces + ']+'); +var rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$'); + +// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation +var createMethod = function (TYPE) { + return function ($this) { + var string = toString(requireObjectCoercible($this)); + if (TYPE & 1) string = replace(string, ltrim, ''); + if (TYPE & 2) string = replace(string, rtrim, '$1'); + return string; + }; +}; + +module.exports = { + // `String.prototype.{ trimLeft, trimStart }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimstart + start: createMethod(1), + // `String.prototype.{ trimRight, trimEnd }` methods + // https://tc39.es/ecma262/#sec-string.prototype.trimend + end: createMethod(2), + // `String.prototype.trim` method + // https://tc39.es/ecma262/#sec-string.prototype.trim + trim: createMethod(3) +}; + + +/***/ }), +/* 304 */ +/***/ (function(module) { + + +// a string of all valid unicode whitespaces +module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' + + '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + + +/***/ }), +/* 305 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.EPSILON` constant +// https://tc39.es/ecma262/#sec-number.epsilon +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + EPSILON: Math.pow(2, -52) +}); + + +/***/ }), +/* 306 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var numberIsFinite = __webpack_require__(307); + +// `Number.isFinite` method +// https://tc39.es/ecma262/#sec-number.isfinite +$({ target: 'Number', stat: true }, { isFinite: numberIsFinite }); + + +/***/ }), +/* 307 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +var globalIsFinite = globalThis.isFinite; + +// `Number.isFinite` method +// https://tc39.es/ecma262/#sec-number.isfinite +// eslint-disable-next-line es/no-number-isfinite -- safe +module.exports = Number.isFinite || function isFinite(it) { + return typeof it == 'number' && globalIsFinite(it); +}; + + +/***/ }), +/* 308 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isIntegralNumber = __webpack_require__(309); + +// `Number.isInteger` method +// https://tc39.es/ecma262/#sec-number.isinteger +$({ target: 'Number', stat: true }, { + isInteger: isIntegralNumber +}); + + +/***/ }), +/* 309 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); + +var floor = Math.floor; + +// `IsIntegralNumber` abstract operation +// https://tc39.es/ecma262/#sec-isintegralnumber +// eslint-disable-next-line es/no-number-isinteger -- safe +module.exports = Number.isInteger || function isInteger(it) { + return !isObject(it) && isFinite(it) && floor(it) === it; +}; + + +/***/ }), +/* 310 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.isNaN` method +// https://tc39.es/ecma262/#sec-number.isnan +$({ target: 'Number', stat: true }, { + isNaN: function isNaN(number) { + // eslint-disable-next-line no-self-compare -- NaN check + return number !== number; + } +}); + + +/***/ }), +/* 311 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isIntegralNumber = __webpack_require__(309); + +var abs = Math.abs; + +// `Number.isSafeInteger` method +// https://tc39.es/ecma262/#sec-number.issafeinteger +$({ target: 'Number', stat: true }, { + isSafeInteger: function isSafeInteger(number) { + return isIntegralNumber(number) && abs(number) <= 0x1FFFFFFFFFFFFF; + } +}); + + +/***/ }), +/* 312 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.MAX_SAFE_INTEGER` constant +// https://tc39.es/ecma262/#sec-number.max_safe_integer +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF +}); + + +/***/ }), +/* 313 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Number.MIN_SAFE_INTEGER` constant +// https://tc39.es/ecma262/#sec-number.min_safe_integer +$({ target: 'Number', stat: true, nonConfigurable: true, nonWritable: true }, { + MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF +}); + + +/***/ }), +/* 314 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var parseFloat = __webpack_require__(315); + +// `Number.parseFloat` method +// https://tc39.es/ecma262/#sec-number.parseFloat +// eslint-disable-next-line es/no-number-parsefloat -- required for testing +$({ target: 'Number', stat: true, forced: Number.parseFloat !== parseFloat }, { + parseFloat: parseFloat +}); + + +/***/ }), +/* 315 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var trim = (__webpack_require__(303).trim); +var whitespaces = __webpack_require__(304); + +var charAt = uncurryThis(''.charAt); +var $parseFloat = globalThis.parseFloat; +var Symbol = globalThis.Symbol; +var ITERATOR = Symbol && Symbol.iterator; +var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity + // MS Edge 18- broken with boxed symbols + || (ITERATOR && !fails(function () { $parseFloat(Object(ITERATOR)); })); + +// `parseFloat` method +// https://tc39.es/ecma262/#sec-parsefloat-string +module.exports = FORCED ? function parseFloat(string) { + var trimmedString = trim(toString(string)); + var result = $parseFloat(trimmedString); + return result === 0 && charAt(trimmedString, 0) === '-' ? -0 : result; +} : $parseFloat; + + +/***/ }), +/* 316 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var parseInt = __webpack_require__(317); + +// `Number.parseInt` method +// https://tc39.es/ecma262/#sec-number.parseint +// eslint-disable-next-line es/no-number-parseint -- required for testing +$({ target: 'Number', stat: true, forced: Number.parseInt !== parseInt }, { + parseInt: parseInt +}); + + +/***/ }), +/* 317 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var trim = (__webpack_require__(303).trim); +var whitespaces = __webpack_require__(304); + +var $parseInt = globalThis.parseInt; +var Symbol = globalThis.Symbol; +var ITERATOR = Symbol && Symbol.iterator; +var hex = /^[+-]?0x/i; +var exec = uncurryThis(hex.exec); +var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22 + // MS Edge 18- broken with boxed symbols + || (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); })); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +module.exports = FORCED ? function parseInt(string, radix) { + var S = trim(toString(string)); + return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10)); +} : $parseInt; + + +/***/ }), +/* 318 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var thisNumberValue = __webpack_require__(302); +var $repeat = __webpack_require__(239); +var log10 = __webpack_require__(293); +var fails = __webpack_require__(7); + +var $RangeError = RangeError; +var $String = String; +var $isFinite = isFinite; +var abs = Math.abs; +var floor = Math.floor; +var pow = Math.pow; +var round = Math.round; +var nativeToExponential = uncurryThis(1.0.toExponential); +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); + +// Edge 17- +var ROUNDS_PROPERLY = nativeToExponential(-6.9e-11, 4) === '-6.9000e-11' + // IE11- && Edge 14- + && nativeToExponential(1.255, 2) === '1.25e+0' + // FF86-, V8 ~ Chrome 49-50 + && nativeToExponential(12345, 3) === '1.235e+4' + // FF86-, V8 ~ Chrome 49-50 + && nativeToExponential(25, 0) === '3e+1'; + +// IE8- +var throwsOnInfinityFraction = function () { + return fails(function () { + nativeToExponential(1, Infinity); + }) && fails(function () { + nativeToExponential(1, -Infinity); + }); +}; + +// Safari <11 && FF <50 +var properNonFiniteThisCheck = function () { + return !fails(function () { + nativeToExponential(Infinity, Infinity); + nativeToExponential(NaN, Infinity); + }); +}; + +var FORCED = !ROUNDS_PROPERLY || !throwsOnInfinityFraction() || !properNonFiniteThisCheck(); + +// `Number.prototype.toExponential` method +// https://tc39.es/ecma262/#sec-number.prototype.toexponential +$({ target: 'Number', proto: true, forced: FORCED }, { + toExponential: function toExponential(fractionDigits) { + var x = thisNumberValue(this); + if (fractionDigits === undefined) return nativeToExponential(x); + var f = toIntegerOrInfinity(fractionDigits); + if (!$isFinite(x)) return String(x); + // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation + if (f < 0 || f > 20) throw new $RangeError('Incorrect fraction digits'); + if (ROUNDS_PROPERLY) return nativeToExponential(x, f); + var s = ''; + var m, e, c, d; + if (x < 0) { + s = '-'; + x = -x; + } + if (x === 0) { + e = 0; + m = repeat('0', f + 1); + } else { + // this block is based on https://gist.github.com/SheetJSDev/1100ad56b9f856c95299ed0e068eea08 + // TODO: improve accuracy with big fraction digits + var l = log10(x); + e = floor(l); + var w = pow(10, e - f); + var n = round(x / w); + if (2 * x >= (2 * n + 1) * w) { + n += 1; + } + if (n >= pow(10, f + 1)) { + n /= 10; + e += 1; + } + m = $String(n); + } + if (f !== 0) { + m = stringSlice(m, 0, 1) + '.' + stringSlice(m, 1); + } + if (e === 0) { + c = '+'; + d = '0'; + } else { + c = e > 0 ? '+' : '-'; + d = $String(abs(e)); + } + m += 'e' + c + d; + return s + m; + } +}); + + +/***/ }), +/* 319 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var thisNumberValue = __webpack_require__(302); +var $repeat = __webpack_require__(239); +var fails = __webpack_require__(7); + +var $RangeError = RangeError; +var $String = String; +var floor = Math.floor; +var repeat = uncurryThis($repeat); +var stringSlice = uncurryThis(''.slice); +var nativeToFixed = uncurryThis(1.0.toFixed); + +var pow = function (x, n, acc) { + return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); +}; + +var log = function (x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + } return n; +}; + +var multiply = function (data, n, c) { + var index = -1; + var c2 = c; + while (++index < 6) { + c2 += n * data[index]; + data[index] = c2 % 1e7; + c2 = floor(c2 / 1e7); + } +}; + +var divide = function (data, n) { + var index = 6; + var c = 0; + while (--index >= 0) { + c += data[index]; + data[index] = floor(c / n); + c = (c % n) * 1e7; + } +}; + +var dataToString = function (data) { + var index = 6; + var s = ''; + while (--index >= 0) { + if (s !== '' || index === 0 || data[index] !== 0) { + var t = $String(data[index]); + s = s === '' ? t : s + repeat('0', 7 - t.length) + t; + } + } return s; +}; + +var FORCED = fails(function () { + return nativeToFixed(0.00008, 3) !== '0.000' || + nativeToFixed(0.9, 0) !== '1' || + nativeToFixed(1.255, 2) !== '1.25' || + nativeToFixed(1000000000000000128.0, 0) !== '1000000000000000128'; +}) || !fails(function () { + // V8 ~ Android 4.3- + nativeToFixed({}); +}); + +// `Number.prototype.toFixed` method +// https://tc39.es/ecma262/#sec-number.prototype.tofixed +$({ target: 'Number', proto: true, forced: FORCED }, { + toFixed: function toFixed(fractionDigits) { + var number = thisNumberValue(this); + var fractDigits = toIntegerOrInfinity(fractionDigits); + var data = [0, 0, 0, 0, 0, 0]; + var sign = ''; + var result = '0'; + var e, z, j, k; + + // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation + if (fractDigits < 0 || fractDigits > 20) throw new $RangeError('Incorrect fraction digits'); + // eslint-disable-next-line no-self-compare -- NaN check + if (number !== number) return 'NaN'; + if (number <= -1e21 || number >= 1e21) return $String(number); + if (number < 0) { + sign = '-'; + number = -number; + } + if (number > 1e-21) { + e = log(number * pow(2, 69, 1)) - 69; + z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1); + z *= 0x10000000000000; + e = 52 - e; + if (e > 0) { + multiply(data, 0, z); + j = fractDigits; + while (j >= 7) { + multiply(data, 1e7, 0); + j -= 7; + } + multiply(data, pow(10, j, 1), 0); + j = e - 1; + while (j >= 23) { + divide(data, 1 << 23); + j -= 23; + } + divide(data, 1 << j); + multiply(data, 1, 1); + divide(data, 2); + result = dataToString(data); + } else { + multiply(data, 0, z); + multiply(data, 1 << -e, 0); + result = dataToString(data) + repeat('0', fractDigits); + } + } + if (fractDigits > 0) { + k = result.length; + result = sign + (k <= fractDigits + ? '0.' + repeat('0', fractDigits - k) + result + : stringSlice(result, 0, k - fractDigits) + '.' + stringSlice(result, k - fractDigits)); + } else { + result = sign + result; + } return result; + } +}); + + +/***/ }), +/* 320 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var thisNumberValue = __webpack_require__(302); + +var nativeToPrecision = uncurryThis(1.0.toPrecision); + +var FORCED = fails(function () { + // IE7- + return nativeToPrecision(1, undefined) !== '1'; +}) || !fails(function () { + // V8 ~ Android 4.3- + nativeToPrecision({}); +}); + +// `Number.prototype.toPrecision` method +// https://tc39.es/ecma262/#sec-number.prototype.toprecision +$({ target: 'Number', proto: true, forced: FORCED }, { + toPrecision: function toPrecision(precision) { + return precision === undefined + ? nativeToPrecision(thisNumberValue(this)) + : nativeToPrecision(thisNumberValue(this), precision); + } +}); + + +/***/ }), +/* 321 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var assign = __webpack_require__(322); + +// `Object.assign` method +// https://tc39.es/ecma262/#sec-object.assign +// eslint-disable-next-line es/no-object-assign -- required for testing +$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, { + assign: assign +}); + + +/***/ }), +/* 322 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var objectKeys = __webpack_require__(73); +var getOwnPropertySymbolsModule = __webpack_require__(66); +var propertyIsEnumerableModule = __webpack_require__(10); +var toObject = __webpack_require__(39); +var IndexedObject = __webpack_require__(13); + +// eslint-disable-next-line es/no-object-assign -- safe +var $assign = Object.assign; +// eslint-disable-next-line es/no-object-defineproperty -- required for testing +var defineProperty = Object.defineProperty; +var concat = uncurryThis([].concat); + +// `Object.assign` method +// https://tc39.es/ecma262/#sec-object.assign +module.exports = !$assign || fails(function () { + // should have correct order of operations (Edge bug) + if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', { + enumerable: true, + get: function () { + defineProperty(this, 'b', { + value: 3, + enumerable: false + }); + } + }), { b: 2 })).b !== 1) return true; + // should work with symbols and should have deterministic property order (V8 bug) + var A = {}; + var B = {}; + // eslint-disable-next-line es/no-symbol -- safe + var symbol = Symbol('assign detection'); + var alphabet = 'abcdefghijklmnopqrst'; + A[symbol] = 7; + alphabet.split('').forEach(function (chr) { B[chr] = chr; }); + return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` + var T = toObject(target); + var argumentsLength = arguments.length; + var index = 1; + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + var propertyIsEnumerable = propertyIsEnumerableModule.f; + while (argumentsLength > index) { + var S = IndexedObject(arguments[index++]); + var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) { + key = keys[j++]; + if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key]; + } + } return T; +} : $assign; + + +/***/ }), +/* 323 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var create = __webpack_require__(71); + +// `Object.create` method +// https://tc39.es/ecma262/#sec-object.create +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + create: create +}); + + +/***/ }), +/* 324 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var definePropertyModule = __webpack_require__(44); + +// `Object.prototype.__defineGetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineGetter__: function __defineGetter__(P, getter) { + definePropertyModule.f(toObject(this), P, { get: aCallable(getter), enumerable: true, configurable: true }); + } + }); +} + + +/***/ }), +/* 325 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-undef, no-useless-call, sonarjs/no-reference-error -- required for testing */ +/* eslint-disable es/no-legacy-object-prototype-accessor-methods -- required for testing */ +var IS_PURE = __webpack_require__(36); +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var WEBKIT = __webpack_require__(192); + +// Forced replacement object prototype accessors methods +module.exports = IS_PURE || !fails(function () { + // This feature detection crashes old WebKit + // https://github.com/zloirock/core-js/issues/232 + if (WEBKIT && WEBKIT < 535) return; + var key = Math.random(); + // In FF throws only define methods + __defineSetter__.call(null, key, function () { /* empty */ }); + delete globalThis[key]; +}); + + +/***/ }), +/* 326 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var defineProperties = (__webpack_require__(72).f); + +// `Object.defineProperties` method +// https://tc39.es/ecma262/#sec-object.defineproperties +// eslint-disable-next-line es/no-object-defineproperties -- safe +$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, { + defineProperties: defineProperties +}); + + +/***/ }), +/* 327 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var defineProperty = (__webpack_require__(44).f); + +// `Object.defineProperty` method +// https://tc39.es/ecma262/#sec-object.defineproperty +// eslint-disable-next-line es/no-object-defineproperty -- safe +$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, { + defineProperty: defineProperty +}); + + +/***/ }), +/* 328 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var aCallable = __webpack_require__(30); +var toObject = __webpack_require__(39); +var definePropertyModule = __webpack_require__(44); + +// `Object.prototype.__defineSetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineSetter__: function __defineSetter__(P, setter) { + definePropertyModule.f(toObject(this), P, { set: aCallable(setter), enumerable: true, configurable: true }); + } + }); +} + + +/***/ }), +/* 329 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $entries = (__webpack_require__(330).entries); + +// `Object.entries` method +// https://tc39.es/ecma262/#sec-object.entries +$({ target: 'Object', stat: true }, { + entries: function entries(O) { + return $entries(O); + } +}); + + +/***/ }), +/* 330 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var objectGetPrototypeOf = __webpack_require__(128); +var objectKeys = __webpack_require__(73); +var toIndexedObject = __webpack_require__(12); +var $propertyIsEnumerable = (__webpack_require__(10).f); + +var propertyIsEnumerable = uncurryThis($propertyIsEnumerable); +var push = uncurryThis([].push); + +// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys +// of `null` prototype objects +var IE_BUG = DESCRIPTORS && fails(function () { + // eslint-disable-next-line es/no-object-create -- safe + var O = Object.create(null); + O[2] = 2; + return !propertyIsEnumerable(O, 2); +}); + +// `Object.{ entries, values }` methods implementation +var createMethod = function (TO_ENTRIES) { + return function (it) { + var O = toIndexedObject(it); + var keys = objectKeys(O); + var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null; + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) { + key = keys[i++]; + if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) { + push(result, TO_ENTRIES ? [key, O[key]] : O[key]); + } + } + return result; + }; +}; + +module.exports = { + // `Object.entries` method + // https://tc39.es/ecma262/#sec-object.entries + entries: createMethod(true), + // `Object.values` method + // https://tc39.es/ecma262/#sec-object.values + values: createMethod(false) +}; + + +/***/ }), +/* 331 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); + +// eslint-disable-next-line es/no-object-freeze -- safe +var $freeze = Object.freeze; +var FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); }); + +// `Object.freeze` method +// https://tc39.es/ecma262/#sec-object.freeze +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + freeze: function freeze(it) { + return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 332 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var iterate = __webpack_require__(130); +var createProperty = __webpack_require__(141); + +// `Object.fromEntries` method +// https://tc39.es/ecma262/#sec-object.fromentries +$({ target: 'Object', stat: true }, { + fromEntries: function fromEntries(iterable) { + var obj = {}; + iterate(iterable, function (k, v) { + createProperty(obj, k, v); + }, { AS_ENTRIES: true }); + return obj; + } +}); + + +/***/ }), +/* 333 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toIndexedObject = __webpack_require__(12); +var nativeGetOwnPropertyDescriptor = (__webpack_require__(5).f); +var DESCRIPTORS = __webpack_require__(6); + +var FORCED = !DESCRIPTORS || fails(function () { nativeGetOwnPropertyDescriptor(1); }); + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { + return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key); + } +}); + + +/***/ }), +/* 334 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var ownKeys = __webpack_require__(56); +var toIndexedObject = __webpack_require__(12); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var createProperty = __webpack_require__(141); + +// `Object.getOwnPropertyDescriptors` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIndexedObject(object); + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + var keys = ownKeys(O); + var result = {}; + var index = 0; + var key, descriptor; + while (keys.length > index) { + descriptor = getOwnPropertyDescriptor(O, key = keys[index++]); + if (descriptor !== undefined) createProperty(result, key, descriptor); + } + return result; + } +}); + + +/***/ }), +/* 335 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var getOwnPropertyNames = (__webpack_require__(75).f); + +// eslint-disable-next-line es/no-object-getownpropertynames -- required for testing +var FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); }); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + getOwnPropertyNames: getOwnPropertyNames +}); + + +/***/ }), +/* 336 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var toObject = __webpack_require__(39); +var nativeGetPrototypeOf = __webpack_require__(128); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); }); + +// `Object.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.getprototypeof +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(it) { + return nativeGetPrototypeOf(toObject(it)); + } +}); + + + +/***/ }), +/* 337 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var requireObjectCoercible = __webpack_require__(16); +var toPropertyKey = __webpack_require__(18); +var iterate = __webpack_require__(130); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-groupby -- testing +var nativeGroupBy = Object.groupBy; +var create = getBuiltIn('Object', 'create'); +var push = uncurryThis([].push); + +var DOES_NOT_WORK_WITH_PRIMITIVES = !nativeGroupBy || fails(function () { + return nativeGroupBy('ab', function (it) { + return it; + }).a.length !== 1; +}); + +// `Object.groupBy` method +// https://tc39.es/ecma262/#sec-object.groupby +$({ target: 'Object', stat: true, forced: DOES_NOT_WORK_WITH_PRIMITIVES }, { + groupBy: function groupBy(items, callbackfn) { + requireObjectCoercible(items); + aCallable(callbackfn); + var obj = create(null); + var k = 0; + iterate(items, function (value) { + var key = toPropertyKey(callbackfn(value, k++)); + // in some IE versions, `hasOwnProperty` returns incorrect result on integer keys + // but since it's a `null` prototype object, we can safely use `in` + if (key in obj) push(obj[key], value); + else obj[key] = [value]; + }); + return obj; + } +}); + + +/***/ }), +/* 338 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var hasOwn = __webpack_require__(38); + +// `Object.hasOwn` method +// https://tc39.es/ecma262/#sec-object.hasown +$({ target: 'Object', stat: true }, { + hasOwn: hasOwn +}); + + +/***/ }), +/* 339 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var is = __webpack_require__(340); + +// `Object.is` method +// https://tc39.es/ecma262/#sec-object.is +$({ target: 'Object', stat: true }, { + is: is +}); + + +/***/ }), +/* 340 */ +/***/ (function(module) { + + +// `SameValue` abstract operation +// https://tc39.es/ecma262/#sec-samevalue +// eslint-disable-next-line es/no-object-is -- safe +module.exports = Object.is || function is(x, y) { + // eslint-disable-next-line no-self-compare -- NaN check + return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y; +}; + + +/***/ }), +/* 341 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $isExtensible = __webpack_require__(274); + +// `Object.isExtensible` method +// https://tc39.es/ecma262/#sec-object.isextensible +// eslint-disable-next-line es/no-object-isextensible -- safe +$({ target: 'Object', stat: true, forced: Object.isExtensible !== $isExtensible }, { + isExtensible: $isExtensible +}); + + +/***/ }), +/* 342 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-isfrozen -- safe +var $isFrozen = Object.isFrozen; + +var FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isFrozen(1); }); + +// `Object.isFrozen` method +// https://tc39.es/ecma262/#sec-object.isfrozen +$({ target: 'Object', stat: true, forced: FORCED }, { + isFrozen: function isFrozen(it) { + if (!isObject(it)) return true; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true; + return $isFrozen ? $isFrozen(it) : false; + } +}); + + +/***/ }), +/* 343 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(275); + +// eslint-disable-next-line es/no-object-issealed -- safe +var $isSealed = Object.isSealed; + +var FORCED = ARRAY_BUFFER_NON_EXTENSIBLE || fails(function () { $isSealed(1); }); + +// `Object.isSealed` method +// https://tc39.es/ecma262/#sec-object.issealed +$({ target: 'Object', stat: true, forced: FORCED }, { + isSealed: function isSealed(it) { + if (!isObject(it)) return true; + if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) === 'ArrayBuffer') return true; + return $isSealed ? $isSealed(it) : false; + } +}); + + +/***/ }), +/* 344 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var toObject = __webpack_require__(39); +var nativeKeys = __webpack_require__(73); +var fails = __webpack_require__(7); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); }); + +// `Object.keys` method +// https://tc39.es/ecma262/#sec-object.keys +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + keys: function keys(it) { + return nativeKeys(toObject(it)); + } +}); + + +/***/ }), +/* 345 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var toObject = __webpack_require__(39); +var toPropertyKey = __webpack_require__(18); +var getPrototypeOf = __webpack_require__(128); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Object.prototype.__lookupGetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__lookupGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupGetter__: function __lookupGetter__(P) { + var O = toObject(this); + var key = toPropertyKey(P); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.get; + } while (O = getPrototypeOf(O)); + } + }); +} + + +/***/ }), +/* 346 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var FORCED = __webpack_require__(325); +var toObject = __webpack_require__(39); +var toPropertyKey = __webpack_require__(18); +var getPrototypeOf = __webpack_require__(128); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Object.prototype.__lookupSetter__` method +// https://tc39.es/ecma262/#sec-object.prototype.__lookupSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupSetter__: function __lookupSetter__(P) { + var O = toObject(this); + var key = toPropertyKey(P); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.set; + } while (O = getPrototypeOf(O)); + } + }); +} + + +/***/ }), +/* 347 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-preventextensions -- safe +var $preventExtensions = Object.preventExtensions; +var FAILS_ON_PRIMITIVES = fails(function () { $preventExtensions(1); }); + +// `Object.preventExtensions` method +// https://tc39.es/ecma262/#sec-object.preventextensions +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + preventExtensions: function preventExtensions(it) { + return $preventExtensions && isObject(it) ? $preventExtensions(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 348 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var isObject = __webpack_require__(20); +var isPossiblePrototype = __webpack_require__(116); +var toObject = __webpack_require__(39); +var requireObjectCoercible = __webpack_require__(16); + +// eslint-disable-next-line es/no-object-getprototypeof -- safe +var getPrototypeOf = Object.getPrototypeOf; +// eslint-disable-next-line es/no-object-setprototypeof -- safe +var setPrototypeOf = Object.setPrototypeOf; +var ObjectPrototype = Object.prototype; +var PROTO = '__proto__'; + +// `Object.prototype.__proto__` accessor +// https://tc39.es/ecma262/#sec-object.prototype.__proto__ +if (DESCRIPTORS && getPrototypeOf && setPrototypeOf && !(PROTO in ObjectPrototype)) try { + defineBuiltInAccessor(ObjectPrototype, PROTO, { + configurable: true, + get: function __proto__() { + return getPrototypeOf(toObject(this)); + }, + set: function __proto__(proto) { + var O = requireObjectCoercible(this); + if (isPossiblePrototype(proto) && isObject(O)) { + setPrototypeOf(O, proto); + } + } + }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 349 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isObject = __webpack_require__(20); +var onFreeze = (__webpack_require__(273).onFreeze); +var FREEZING = __webpack_require__(276); +var fails = __webpack_require__(7); + +// eslint-disable-next-line es/no-object-seal -- safe +var $seal = Object.seal; +var FAILS_ON_PRIMITIVES = fails(function () { $seal(1); }); + +// `Object.seal` method +// https://tc39.es/ecma262/#sec-object.seal +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + seal: function seal(it) { + return $seal && isObject(it) ? $seal(onFreeze(it)) : it; + } +}); + + +/***/ }), +/* 350 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var setPrototypeOf = __webpack_require__(113); + +// `Object.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-object.setprototypeof +$({ target: 'Object', stat: true }, { + setPrototypeOf: setPrototypeOf +}); + + +/***/ }), +/* 351 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var defineBuiltIn = __webpack_require__(47); +var toString = __webpack_require__(352); + +// `Object.prototype.toString` method +// https://tc39.es/ecma262/#sec-object.prototype.tostring +if (!TO_STRING_TAG_SUPPORT) { + defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true }); +} + + +/***/ }), +/* 352 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var TO_STRING_TAG_SUPPORT = __webpack_require__(70); +var classof = __webpack_require__(69); + +// `Object.prototype.toString` method implementation +// https://tc39.es/ecma262/#sec-object.prototype.tostring +module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { + return '[object ' + classof(this) + ']'; +}; + + +/***/ }), +/* 353 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $values = (__webpack_require__(330).values); + +// `Object.values` method +// https://tc39.es/ecma262/#sec-object.values +$({ target: 'Object', stat: true }, { + values: function values(O) { + return $values(O); + } +}); + + +/***/ }), +/* 354 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $parseFloat = __webpack_require__(315); + +// `parseFloat` method +// https://tc39.es/ecma262/#sec-parsefloat-string +$({ global: true, forced: parseFloat !== $parseFloat }, { + parseFloat: $parseFloat +}); + + +/***/ }), +/* 355 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $parseInt = __webpack_require__(317); + +// `parseInt` method +// https://tc39.es/ecma262/#sec-parseint-string-radix +$({ global: true, forced: parseInt !== $parseInt }, { + parseInt: $parseInt +}); + + +/***/ }), +/* 356 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(357); +__webpack_require__(373); +__webpack_require__(375); +__webpack_require__(376); +__webpack_require__(377); +__webpack_require__(378); + + +/***/ }), +/* 357 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var IS_NODE = __webpack_require__(182); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var defineBuiltIn = __webpack_require__(47); +var setPrototypeOf = __webpack_require__(113); +var setToStringTag = __webpack_require__(82); +var setSpecies = __webpack_require__(194); +var aCallable = __webpack_require__(30); +var isCallable = __webpack_require__(21); +var isObject = __webpack_require__(20); +var anInstance = __webpack_require__(211); +var speciesConstructor = __webpack_require__(358); +var task = (__webpack_require__(360).set); +var microtask = __webpack_require__(363); +var hostReportErrors = __webpack_require__(368); +var perform = __webpack_require__(369); +var Queue = __webpack_require__(365); +var InternalStateModule = __webpack_require__(51); +var NativePromiseConstructor = __webpack_require__(370); +var PromiseConstructorDetection = __webpack_require__(371); +var newPromiseCapabilityModule = __webpack_require__(372); + +var PROMISE = 'Promise'; +var FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR; +var NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT; +var NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING; +var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); +var setInternalState = InternalStateModule.set; +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var PromiseConstructor = NativePromiseConstructor; +var PromisePrototype = NativePromisePrototype; +var TypeError = globalThis.TypeError; +var document = globalThis.document; +var process = globalThis.process; +var newPromiseCapability = newPromiseCapabilityModule.f; +var newGenericPromiseCapability = newPromiseCapability; + +var DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent); +var UNHANDLED_REJECTION = 'unhandledrejection'; +var REJECTION_HANDLED = 'rejectionhandled'; +var PENDING = 0; +var FULFILLED = 1; +var REJECTED = 2; +var HANDLED = 1; +var UNHANDLED = 2; + +var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && isCallable(then = it.then) ? then : false; +}; + +var callReaction = function (reaction, state) { + var value = state.value; + var ok = state.state === FULFILLED; + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (state.rejection === UNHANDLED) onHandleUnhandled(state); + state.rejection = HANDLED; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // can throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(new TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + call(then, result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (error) { + if (domain && !exited) domain.exit(); + reject(error); + } +}; + +var notify = function (state, isReject) { + if (state.notified) return; + state.notified = true; + microtask(function () { + var reactions = state.reactions; + var reaction; + while (reaction = reactions.get()) { + callReaction(reaction, state); + } + state.notified = false; + if (isReject && !state.rejection) onUnhandled(state); + }); +}; + +var dispatchEvent = function (name, promise, reason) { + var event, handler; + if (DISPATCH_EVENT) { + event = document.createEvent('Event'); + event.promise = promise; + event.reason = reason; + event.initEvent(name, false, true); + globalThis.dispatchEvent(event); + } else event = { promise: promise, reason: reason }; + if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event); + else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); +}; + +var onUnhandled = function (state) { + call(task, globalThis, function () { + var promise = state.facade; + var value = state.value; + var IS_UNHANDLED = isUnhandled(state); + var result; + if (IS_UNHANDLED) { + result = perform(function () { + if (IS_NODE) { + process.emit('unhandledRejection', value, promise); + } else dispatchEvent(UNHANDLED_REJECTION, promise, value); + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; + if (result.error) throw result.value; + } + }); +}; + +var isUnhandled = function (state) { + return state.rejection !== HANDLED && !state.parent; +}; + +var onHandleUnhandled = function (state) { + call(task, globalThis, function () { + var promise = state.facade; + if (IS_NODE) { + process.emit('rejectionHandled', promise); + } else dispatchEvent(REJECTION_HANDLED, promise, state.value); + }); +}; + +var bind = function (fn, state, unwrap) { + return function (value) { + fn(state, value, unwrap); + }; +}; + +var internalReject = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + state.value = value; + state.state = REJECTED; + notify(state, true); +}; + +var internalResolve = function (state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + try { + if (state.facade === value) throw new TypeError("Promise can't be resolved itself"); + var then = isThenable(value); + if (then) { + microtask(function () { + var wrapper = { done: false }; + try { + call(then, value, + bind(internalResolve, wrapper, state), + bind(internalReject, wrapper, state) + ); + } catch (error) { + internalReject(wrapper, error, state); + } + }); + } else { + state.value = value; + state.state = FULFILLED; + notify(state, false); + } + } catch (error) { + internalReject({ done: false }, error, state); + } +}; + +// constructor polyfill +if (FORCED_PROMISE_CONSTRUCTOR) { + // 25.4.3.1 Promise(executor) + PromiseConstructor = function Promise(executor) { + anInstance(this, PromisePrototype); + aCallable(executor); + call(Internal, this); + var state = getInternalPromiseState(this); + try { + executor(bind(internalResolve, state), bind(internalReject, state)); + } catch (error) { + internalReject(state, error); + } + }; + + PromisePrototype = PromiseConstructor.prototype; + + // eslint-disable-next-line no-unused-vars -- required for `.length` + Internal = function Promise(executor) { + setInternalState(this, { + type: PROMISE, + done: false, + notified: false, + parent: false, + reactions: new Queue(), + rejection: false, + state: PENDING, + value: null + }); + }; + + // `Promise.prototype.then` method + // https://tc39.es/ecma262/#sec-promise.prototype.then + Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) { + var state = getInternalPromiseState(this); + var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); + state.parent = true; + reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; + reaction.fail = isCallable(onRejected) && onRejected; + reaction.domain = IS_NODE ? process.domain : undefined; + if (state.state === PENDING) state.reactions.add(reaction); + else microtask(function () { + callReaction(reaction, state); + }); + return reaction.promise; + }); + + OwnPromiseCapability = function () { + var promise = new Internal(); + var state = getInternalPromiseState(promise); + this.promise = promise; + this.resolve = bind(internalResolve, state); + this.reject = bind(internalReject, state); + }; + + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === PromiseConstructor || C === PromiseWrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; + + if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) { + nativeThen = NativePromisePrototype.then; + + if (!NATIVE_PROMISE_SUBCLASSING) { + // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs + defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { + var that = this; + return new PromiseConstructor(function (resolve, reject) { + call(nativeThen, that, resolve, reject); + }).then(onFulfilled, onRejected); + // https://github.com/zloirock/core-js/issues/640 + }, { unsafe: true }); + } + + // make `.constructor === Promise` work for native promise-based APIs + try { + delete NativePromisePrototype.constructor; + } catch (error) { /* empty */ } + + // make `instanceof Promise` work for native promise-based APIs + if (setPrototypeOf) { + setPrototypeOf(NativePromisePrototype, PromisePrototype); + } + } +} + +// `Promise` constructor +// https://tc39.es/ecma262/#sec-promise-executor +$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + Promise: PromiseConstructor +}); + +setToStringTag(PromiseConstructor, PROMISE, false, true); +setSpecies(PROMISE); + + +/***/ }), +/* 358 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var aConstructor = __webpack_require__(359); +var isNullOrUndefined = __webpack_require__(17); +var wellKnownSymbol = __webpack_require__(33); + +var SPECIES = wellKnownSymbol('species'); + +// `SpeciesConstructor` abstract operation +// https://tc39.es/ecma262/#sec-speciesconstructor +module.exports = function (O, defaultConstructor) { + var C = anObject(O).constructor; + var S; + return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S); +}; + + +/***/ }), +/* 359 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isConstructor = __webpack_require__(89); +var tryToString = __webpack_require__(31); + +var $TypeError = TypeError; + +// `Assert: IsConstructor(argument) is true` +module.exports = function (argument) { + if (isConstructor(argument)) return argument; + throw new $TypeError(tryToString(argument) + ' is not a constructor'); +}; + + +/***/ }), +/* 360 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var bind = __webpack_require__(84); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var fails = __webpack_require__(7); +var html = __webpack_require__(74); +var arraySlice = __webpack_require__(76); +var createElement = __webpack_require__(42); +var validateArgumentsLength = __webpack_require__(361); +var IS_IOS = __webpack_require__(362); +var IS_NODE = __webpack_require__(182); + +var set = globalThis.setImmediate; +var clear = globalThis.clearImmediate; +var process = globalThis.process; +var Dispatch = globalThis.Dispatch; +var Function = globalThis.Function; +var MessageChannel = globalThis.MessageChannel; +var String = globalThis.String; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var $location, defer, channel, port; + +fails(function () { + // Deno throws a ReferenceError on `location` access without `--location` flag + $location = globalThis.location; +}); + +var run = function (id) { + if (hasOwn(queue, id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; + +var runner = function (id) { + return function () { + run(id); + }; +}; + +var eventListener = function (event) { + run(event.data); +}; + +var globalPostMessageDefer = function (id) { + // old engines have not location.origin + globalThis.postMessage(String(id), $location.protocol + '//' + $location.host); +}; + +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!set || !clear) { + set = function setImmediate(handler) { + validateArgumentsLength(arguments.length, 1); + var fn = isCallable(handler) ? handler : Function(handler); + var args = arraySlice(arguments, 1); + queue[++counter] = function () { + apply(fn, undefined, args); + }; + defer(counter); + return counter; + }; + clear = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (IS_NODE) { + defer = function (id) { + process.nextTick(runner(id)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(runner(id)); + }; + // Browsers with MessageChannel, includes WebWorkers + // except iOS - https://github.com/zloirock/core-js/issues/624 + } else if (MessageChannel && !IS_IOS) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = eventListener; + defer = bind(port.postMessage, port); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if ( + globalThis.addEventListener && + isCallable(globalThis.postMessage) && + !globalThis.importScripts && + $location && $location.protocol !== 'file:' && + !fails(globalPostMessageDefer) + ) { + defer = globalPostMessageDefer; + globalThis.addEventListener('message', eventListener, false); + // IE8- + } else if (ONREADYSTATECHANGE in createElement('script')) { + defer = function (id) { + html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(runner(id), 0); + }; + } +} + +module.exports = { + set: set, + clear: clear +}; + + +/***/ }), +/* 361 */ +/***/ (function(module) { + + +var $TypeError = TypeError; + +module.exports = function (passed, required) { + if (passed < required) throw new $TypeError('Not enough arguments'); + return passed; +}; + + +/***/ }), +/* 362 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +// eslint-disable-next-line redos/no-vulnerable -- safe +module.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent); + + +/***/ }), +/* 363 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var safeGetBuiltIn = __webpack_require__(364); +var bind = __webpack_require__(84); +var macrotask = (__webpack_require__(360).set); +var Queue = __webpack_require__(365); +var IS_IOS = __webpack_require__(362); +var IS_IOS_PEBBLE = __webpack_require__(366); +var IS_WEBOS_WEBKIT = __webpack_require__(367); +var IS_NODE = __webpack_require__(182); + +var MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver; +var document = globalThis.document; +var process = globalThis.process; +var Promise = globalThis.Promise; +var microtask = safeGetBuiltIn('queueMicrotask'); +var notify, toggle, node, promise, then; + +// modern engines have queueMicrotask method +if (!microtask) { + var queue = new Queue(); + + var flush = function () { + var parent, fn; + if (IS_NODE && (parent = process.domain)) parent.exit(); + while (fn = queue.get()) try { + fn(); + } catch (error) { + if (queue.head) notify(); + throw error; + } + if (parent) parent.enter(); + }; + + // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 + // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898 + if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) { + toggle = true; + node = document.createTextNode(''); + new MutationObserver(flush).observe(node, { characterData: true }); + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + promise = Promise.resolve(undefined); + // workaround of WebKit ~ iOS Safari 10.1 bug + promise.constructor = Promise; + then = bind(promise.then, promise); + notify = function () { + then(flush); + }; + // Node.js without promises + } else if (IS_NODE) { + notify = function () { + process.nextTick(flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessage + // - onreadystatechange + // - setTimeout + } else { + // `webpack` dev server bug on IE global methods - use bind(fn, global) + macrotask = bind(macrotask, globalThis); + notify = function () { + macrotask(flush); + }; + } + + microtask = function (fn) { + if (!queue.head) notify(); + queue.add(fn); + }; +} + +module.exports = microtask; + + +/***/ }), +/* 364 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DESCRIPTORS = __webpack_require__(6); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Avoid NodeJS experimental warning +module.exports = function (name) { + if (!DESCRIPTORS) return globalThis[name]; + var descriptor = getOwnPropertyDescriptor(globalThis, name); + return descriptor && descriptor.value; +}; + + +/***/ }), +/* 365 */ +/***/ (function(module) { + + +var Queue = function () { + this.head = null; + this.tail = null; +}; + +Queue.prototype = { + add: function (item) { + var entry = { item: item, next: null }; + var tail = this.tail; + if (tail) tail.next = entry; + else this.head = entry; + this.tail = entry; + }, + get: function () { + var entry = this.head; + if (entry) { + var next = this.head = entry.next; + if (next === null) this.tail = null; + return entry.item; + } + } +}; + +module.exports = Queue; + + +/***/ }), +/* 366 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +module.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined'; + + +/***/ }), +/* 367 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var userAgent = __webpack_require__(28); + +module.exports = /web0s(?!.*chrome)/i.test(userAgent); + + +/***/ }), +/* 368 */ +/***/ (function(module) { + + +module.exports = function (a, b) { + try { + // eslint-disable-next-line no-console -- safe + arguments.length === 1 ? console.error(a) : console.error(a, b); + } catch (error) { /* empty */ } +}; + + +/***/ }), +/* 369 */ +/***/ (function(module) { + + +module.exports = function (exec) { + try { + return { error: false, value: exec() }; + } catch (error) { + return { error: true, value: error }; + } +}; + + +/***/ }), +/* 370 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); + +module.exports = globalThis.Promise; + + +/***/ }), +/* 371 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var NativePromiseConstructor = __webpack_require__(370); +var isCallable = __webpack_require__(21); +var isForced = __webpack_require__(67); +var inspectSource = __webpack_require__(50); +var wellKnownSymbol = __webpack_require__(33); +var ENVIRONMENT = __webpack_require__(183); +var IS_PURE = __webpack_require__(36); +var V8_VERSION = __webpack_require__(27); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; +var SPECIES = wellKnownSymbol('species'); +var SUBCLASSING = false; +var NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent); + +var FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () { + var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor); + var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor); + // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // We can't detect it synchronously, so just check versions + if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true; + // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution + if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true; + // We can't use @@species feature detection in V8 since it causes + // deoptimization and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) { + // Detect correctness of subclassing with @@species support + var promise = new NativePromiseConstructor(function (resolve) { resolve(1); }); + var FakePromise = function (exec) { + exec(function () { /* empty */ }, function () { /* empty */ }); + }; + var constructor = promise.constructor = {}; + constructor[SPECIES] = FakePromise; + SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; + if (!SUBCLASSING) return true; + // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test + } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT; +}); + +module.exports = { + CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR, + REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT, + SUBCLASSING: SUBCLASSING +}; + + +/***/ }), +/* 372 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); + +var $TypeError = TypeError; + +var PromiseCapability = function (C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aCallable(resolve); + this.reject = aCallable(reject); +}; + +// `NewPromiseCapability` abstract operation +// https://tc39.es/ecma262/#sec-newpromisecapability +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + + +/***/ }), +/* 373 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.all` method +// https://tc39.es/ecma262/#sec-promise.all +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + all: function all(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call($promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 374 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var NativePromiseConstructor = __webpack_require__(370); +var checkCorrectnessOfIteration = __webpack_require__(164); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); + +module.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) { + NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ }); +}); + + +/***/ }), +/* 375 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); +var NativePromiseConstructor = __webpack_require__(370); +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var defineBuiltIn = __webpack_require__(47); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; + +// `Promise.prototype.catch` method +// https://tc39.es/ecma262/#sec-promise.prototype.catch +$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, { + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } +}); + +// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['catch']; + if (NativePromisePrototype['catch'] !== method) { + defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true }); + } +} + + +/***/ }), +/* 376 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.race` method +// https://tc39.es/ecma262/#sec-promise.race +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + race: function race(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aCallable(C.resolve); + iterate(iterable, function (promise) { + call($promiseResolve, C, promise).then(capability.resolve, reject); + }); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 377 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var newPromiseCapabilityModule = __webpack_require__(372); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); + +// `Promise.reject` method +// https://tc39.es/ecma262/#sec-promise.reject +$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, { + reject: function reject(r) { + var capability = newPromiseCapabilityModule.f(this); + var capabilityReject = capability.reject; + capabilityReject(r); + return capability.promise; + } +}); + + +/***/ }), +/* 378 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var IS_PURE = __webpack_require__(36); +var NativePromiseConstructor = __webpack_require__(370); +var FORCED_PROMISE_CONSTRUCTOR = (__webpack_require__(371).CONSTRUCTOR); +var promiseResolve = __webpack_require__(379); + +var PromiseConstructorWrapper = getBuiltIn('Promise'); +var CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR; + +// `Promise.resolve` method +// https://tc39.es/ecma262/#sec-promise.resolve +$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, { + resolve: function resolve(x) { + return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x); + } +}); + + +/***/ }), +/* 379 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var newPromiseCapability = __webpack_require__(372); + +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + + +/***/ }), +/* 380 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +// `Promise.allSettled` method +// https://tc39.es/ecma262/#sec-promise.allsettled +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + allSettled: function allSettled(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'fulfilled', value: value }; + --remaining || resolve(values); + }, function (error) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'rejected', reason: error }; + --remaining || resolve(values); + }); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 381 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var aCallable = __webpack_require__(30); +var getBuiltIn = __webpack_require__(23); +var newPromiseCapabilityModule = __webpack_require__(372); +var perform = __webpack_require__(369); +var iterate = __webpack_require__(130); +var PROMISE_STATICS_INCORRECT_ITERATION = __webpack_require__(374); + +var PROMISE_ANY_ERROR = 'No one promise resolved'; + +// `Promise.any` method +// https://tc39.es/ecma262/#sec-promise.any +$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, { + any: function any(iterable) { + var C = this; + var AggregateError = getBuiltIn('AggregateError'); + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aCallable(C.resolve); + var errors = []; + var counter = 0; + var remaining = 1; + var alreadyResolved = false; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyRejected = false; + remaining++; + call(promiseResolve, C, promise).then(function (value) { + if (alreadyRejected || alreadyResolved) return; + alreadyResolved = true; + resolve(value); + }, function (error) { + if (alreadyRejected || alreadyResolved) return; + alreadyRejected = true; + errors[index] = error; + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + }); + --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR)); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + + +/***/ }), +/* 382 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var IS_PURE = __webpack_require__(36); +var NativePromiseConstructor = __webpack_require__(370); +var fails = __webpack_require__(7); +var getBuiltIn = __webpack_require__(23); +var isCallable = __webpack_require__(21); +var speciesConstructor = __webpack_require__(358); +var promiseResolve = __webpack_require__(379); +var defineBuiltIn = __webpack_require__(47); + +var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype; + +// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829 +var NON_GENERIC = !!NativePromiseConstructor && fails(function () { + // eslint-disable-next-line unicorn/no-thenable -- required for testing + NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ }); +}); + +// `Promise.prototype.finally` method +// https://tc39.es/ecma262/#sec-promise.prototype.finally +$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, { + 'finally': function (onFinally) { + var C = speciesConstructor(this, getBuiltIn('Promise')); + var isFunction = isCallable(onFinally); + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); + } +}); + +// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then` +if (!IS_PURE && isCallable(NativePromiseConstructor)) { + var method = getBuiltIn('Promise').prototype['finally']; + if (NativePromisePrototype['finally'] !== method) { + defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true }); + } +} + + +/***/ }), +/* 383 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var slice = __webpack_require__(76); +var newPromiseCapabilityModule = __webpack_require__(372); +var aCallable = __webpack_require__(30); +var perform = __webpack_require__(369); + +var Promise = globalThis.Promise; + +var ACCEPT_ARGUMENTS = false; +// Avoiding the use of polyfills of the previous iteration of this proposal +// that does not accept arguments of the callback +var FORCED = !Promise || !Promise['try'] || perform(function () { + Promise['try'](function (argument) { + ACCEPT_ARGUMENTS = argument === 8; + }, 8); +}).error || !ACCEPT_ARGUMENTS; + +// `Promise.try` method +// https://tc39.es/ecma262/#sec-promise.try +$({ target: 'Promise', stat: true, forced: FORCED }, { + 'try': function (callbackfn /* , ...args */) { + var args = arguments.length > 1 ? slice(arguments, 1) : []; + var promiseCapability = newPromiseCapabilityModule.f(this); + var result = perform(function () { + return apply(aCallable(callbackfn), undefined, args); + }); + (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value); + return promiseCapability.promise; + } +}); + + +/***/ }), +/* 384 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var newPromiseCapabilityModule = __webpack_require__(372); + +// `Promise.withResolvers` method +// https://tc39.es/ecma262/#sec-promise.withResolvers +$({ target: 'Promise', stat: true }, { + withResolvers: function withResolvers() { + var promiseCapability = newPromiseCapabilityModule.f(this); + return { + promise: promiseCapability.promise, + resolve: promiseCapability.resolve, + reject: promiseCapability.reject + }; + } +}); + + +/***/ }), +/* 385 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var functionApply = __webpack_require__(94); +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var fails = __webpack_require__(7); + +// MS Edge argumentsList argument is optional +var OPTIONAL_ARGUMENTS_LIST = !fails(function () { + // eslint-disable-next-line es/no-reflect -- required for testing + Reflect.apply(function () { /* empty */ }); +}); + +// `Reflect.apply` method +// https://tc39.es/ecma262/#sec-reflect.apply +$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, { + apply: function apply(target, thisArgument, argumentsList) { + return functionApply(aCallable(target), thisArgument, anObject(argumentsList)); + } +}); + + +/***/ }), +/* 386 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var apply = __webpack_require__(94); +var bind = __webpack_require__(246); +var aConstructor = __webpack_require__(359); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var create = __webpack_require__(71); +var fails = __webpack_require__(7); + +var nativeConstruct = getBuiltIn('Reflect', 'construct'); +var ObjectPrototype = Object.prototype; +var push = [].push; + +// `Reflect.construct` method +// https://tc39.es/ecma262/#sec-reflect.construct +// MS Edge supports only 2 arguments and argumentsList argument is optional +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F); +}); + +var ARGS_BUG = !fails(function () { + nativeConstruct(function () { /* empty */ }); +}); + +var FORCED = NEW_TARGET_BUG || ARGS_BUG; + +$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, { + construct: function construct(Target, args /* , newTarget */) { + aConstructor(Target); + anObject(args); + var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]); + if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget); + if (Target === newTarget) { + // w/o altered newTarget, optimization for 0-4 arguments + switch (args.length) { + case 0: return new Target(); + case 1: return new Target(args[0]); + case 2: return new Target(args[0], args[1]); + case 3: return new Target(args[0], args[1], args[2]); + case 4: return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + apply(push, $args, args); + return new (apply(bind, Target, $args))(); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : ObjectPrototype); + var result = apply(Target, instance, args); + return isObject(result) ? result : instance; + } +}); + + +/***/ }), +/* 387 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var anObject = __webpack_require__(46); +var toPropertyKey = __webpack_require__(18); +var definePropertyModule = __webpack_require__(44); +var fails = __webpack_require__(7); + +// MS Edge has broken Reflect.defineProperty - throwing instead of returning false +var ERROR_INSTEAD_OF_FALSE = fails(function () { + // eslint-disable-next-line es/no-reflect -- required for testing + Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 }); +}); + +// `Reflect.defineProperty` method +// https://tc39.es/ecma262/#sec-reflect.defineproperty +$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, { + defineProperty: function defineProperty(target, propertyKey, attributes) { + anObject(target); + var key = toPropertyKey(propertyKey); + anObject(attributes); + try { + definePropertyModule.f(target, key, attributes); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 388 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); + +// `Reflect.deleteProperty` method +// https://tc39.es/ecma262/#sec-reflect.deleteproperty +$({ target: 'Reflect', stat: true }, { + deleteProperty: function deleteProperty(target, propertyKey) { + var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey); + return descriptor && !descriptor.configurable ? false : delete target[propertyKey]; + } +}); + + +/***/ }), +/* 389 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var isObject = __webpack_require__(20); +var anObject = __webpack_require__(46); +var isDataDescriptor = __webpack_require__(390); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var getPrototypeOf = __webpack_require__(128); + +// `Reflect.get` method +// https://tc39.es/ecma262/#sec-reflect.get +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var descriptor, prototype; + if (anObject(target) === receiver) return target[propertyKey]; + descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey); + if (descriptor) return isDataDescriptor(descriptor) + ? descriptor.value + : descriptor.get === undefined ? undefined : call(descriptor.get, receiver); + if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver); +} + +$({ target: 'Reflect', stat: true }, { + get: get +}); + + +/***/ }), +/* 390 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var hasOwn = __webpack_require__(38); + +module.exports = function (descriptor) { + return descriptor !== undefined && (hasOwn(descriptor, 'value') || hasOwn(descriptor, 'writable')); +}; + + +/***/ }), +/* 391 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var anObject = __webpack_require__(46); +var getOwnPropertyDescriptorModule = __webpack_require__(5); + +// `Reflect.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-reflect.getownpropertydescriptor +$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { + return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + } +}); + + +/***/ }), +/* 392 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var objectGetPrototypeOf = __webpack_require__(128); +var CORRECT_PROTOTYPE_GETTER = __webpack_require__(129); + +// `Reflect.getPrototypeOf` method +// https://tc39.es/ecma262/#sec-reflect.getprototypeof +$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(target) { + return objectGetPrototypeOf(anObject(target)); + } +}); + + +/***/ }), +/* 393 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); + +// `Reflect.has` method +// https://tc39.es/ecma262/#sec-reflect.has +$({ target: 'Reflect', stat: true }, { + has: function has(target, propertyKey) { + return propertyKey in target; + } +}); + + +/***/ }), +/* 394 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var $isExtensible = __webpack_require__(274); + +// `Reflect.isExtensible` method +// https://tc39.es/ecma262/#sec-reflect.isextensible +$({ target: 'Reflect', stat: true }, { + isExtensible: function isExtensible(target) { + anObject(target); + return $isExtensible(target); + } +}); + + +/***/ }), +/* 395 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var ownKeys = __webpack_require__(56); + +// `Reflect.ownKeys` method +// https://tc39.es/ecma262/#sec-reflect.ownkeys +$({ target: 'Reflect', stat: true }, { + ownKeys: ownKeys +}); + + +/***/ }), +/* 396 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var anObject = __webpack_require__(46); +var FREEZING = __webpack_require__(276); + +// `Reflect.preventExtensions` method +// https://tc39.es/ecma262/#sec-reflect.preventextensions +$({ target: 'Reflect', stat: true, sham: !FREEZING }, { + preventExtensions: function preventExtensions(target) { + anObject(target); + try { + var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions'); + if (objectPreventExtensions) objectPreventExtensions(target); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 397 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var isDataDescriptor = __webpack_require__(390); +var fails = __webpack_require__(7); +var definePropertyModule = __webpack_require__(44); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var getPrototypeOf = __webpack_require__(128); +var createPropertyDescriptor = __webpack_require__(11); + +// `Reflect.set` method +// https://tc39.es/ecma262/#sec-reflect.set +function set(target, propertyKey, V /* , receiver */) { + var receiver = arguments.length < 4 ? target : arguments[3]; + var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + var existingDescriptor, prototype, setter; + if (!ownDescriptor) { + if (isObject(prototype = getPrototypeOf(target))) { + return set(prototype, propertyKey, V, receiver); + } + ownDescriptor = createPropertyDescriptor(0); + } + if (isDataDescriptor(ownDescriptor)) { + if (ownDescriptor.writable === false || !isObject(receiver)) return false; + if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) { + if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; + existingDescriptor.value = V; + definePropertyModule.f(receiver, propertyKey, existingDescriptor); + } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V)); + } else { + setter = ownDescriptor.set; + if (setter === undefined) return false; + call(setter, receiver, V); + } return true; +} + +// MS Edge 17-18 Reflect.set allows setting the property to object +// with non-writable property on the prototype +var MS_EDGE_BUG = fails(function () { + var Constructor = function () { /* empty */ }; + var object = definePropertyModule.f(new Constructor(), 'a', { configurable: true }); + // eslint-disable-next-line es/no-reflect -- required for testing + return Reflect.set(Constructor.prototype, 'a', 1, object) !== false; +}); + +$({ target: 'Reflect', stat: true, forced: MS_EDGE_BUG }, { + set: set +}); + + +/***/ }), +/* 398 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var anObject = __webpack_require__(46); +var aPossiblePrototype = __webpack_require__(115); +var objectSetPrototypeOf = __webpack_require__(113); + +// `Reflect.setPrototypeOf` method +// https://tc39.es/ecma262/#sec-reflect.setprototypeof +if (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, { + setPrototypeOf: function setPrototypeOf(target, proto) { + anObject(target); + aPossiblePrototype(proto); + try { + objectSetPrototypeOf(target, proto); + return true; + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 399 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var setToStringTag = __webpack_require__(82); + +$({ global: true }, { Reflect: {} }); + +// Reflect[@@toStringTag] property +// https://tc39.es/ecma262/#sec-reflect-@@tostringtag +setToStringTag(globalThis.Reflect, 'Reflect', true); + + +/***/ }), +/* 400 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var isForced = __webpack_require__(67); +var inheritIfRequired = __webpack_require__(118); +var createNonEnumerableProperty = __webpack_require__(43); +var create = __webpack_require__(71); +var getOwnPropertyNames = (__webpack_require__(57).f); +var isPrototypeOf = __webpack_require__(24); +var isRegExp = __webpack_require__(401); +var toString = __webpack_require__(68); +var getRegExpFlags = __webpack_require__(402); +var stickyHelpers = __webpack_require__(404); +var proxyAccessor = __webpack_require__(117); +var defineBuiltIn = __webpack_require__(47); +var fails = __webpack_require__(7); +var hasOwn = __webpack_require__(38); +var enforceInternalState = (__webpack_require__(51).enforce); +var setSpecies = __webpack_require__(194); +var wellKnownSymbol = __webpack_require__(33); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var UNSUPPORTED_NCG = __webpack_require__(406); + +var MATCH = wellKnownSymbol('match'); +var NativeRegExp = globalThis.RegExp; +var RegExpPrototype = NativeRegExp.prototype; +var SyntaxError = globalThis.SyntaxError; +var exec = uncurryThis(RegExpPrototype.exec); +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var stringIndexOf = uncurryThis(''.indexOf); +var stringSlice = uncurryThis(''.slice); +// TODO: Use only proper RegExpIdentifierName +var IS_NCG = /^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/; +var re1 = /a/g; +var re2 = /a/g; + +// "new" should create a new object, old webkit bug +var CORRECT_NEW = new NativeRegExp(re1) !== re1; + +var MISSED_STICKY = stickyHelpers.MISSED_STICKY; +var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; + +var BASE_FORCED = DESCRIPTORS && + (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () { + re2[MATCH] = false; + // RegExp constructor can alter flags and IsRegExp works correct with @@match + // eslint-disable-next-line sonarjs/inconsistent-function-call -- required for testing + return NativeRegExp(re1) !== re1 || NativeRegExp(re2) === re2 || String(NativeRegExp(re1, 'i')) !== '/a/i'; + })); + +var handleDotAll = function (string) { + var length = string.length; + var index = 0; + var result = ''; + var brackets = false; + var chr; + for (; index <= length; index++) { + chr = charAt(string, index); + if (chr === '\\') { + result += chr + charAt(string, ++index); + continue; + } + if (!brackets && chr === '.') { + result += '[\\s\\S]'; + } else { + if (chr === '[') { + brackets = true; + } else if (chr === ']') { + brackets = false; + } result += chr; + } + } return result; +}; + +var handleNCG = function (string) { + var length = string.length; + var index = 0; + var result = ''; + var named = []; + var names = create(null); + var brackets = false; + var ncg = false; + var groupid = 0; + var groupname = ''; + var chr; + for (; index <= length; index++) { + chr = charAt(string, index); + if (chr === '\\') { + chr += charAt(string, ++index); + } else if (chr === ']') { + brackets = false; + } else if (!brackets) switch (true) { + case chr === '[': + brackets = true; + break; + case chr === '(': + result += chr; + // ignore non-capturing groups + if (stringSlice(string, index + 1, index + 3) === '?:') { + continue; + } + if (exec(IS_NCG, stringSlice(string, index + 1))) { + index += 2; + ncg = true; + } + groupid++; + continue; + case chr === '>' && ncg: + if (groupname === '' || hasOwn(names, groupname)) { + throw new SyntaxError('Invalid capture group name'); + } + names[groupname] = true; + named[named.length] = [groupname, groupid]; + ncg = false; + groupname = ''; + continue; + } + if (ncg) groupname += chr; + else result += chr; + } return [result, named]; +}; + +// `RegExp` constructor +// https://tc39.es/ecma262/#sec-regexp-constructor +if (isForced('RegExp', BASE_FORCED)) { + var RegExpWrapper = function RegExp(pattern, flags) { + var thisIsRegExp = isPrototypeOf(RegExpPrototype, this); + var patternIsRegExp = isRegExp(pattern); + var flagsAreUndefined = flags === undefined; + var groups = []; + var rawPattern = pattern; + var rawFlags, dotAll, sticky, handled, result, state; + + if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) { + return pattern; + } + + if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) { + pattern = pattern.source; + if (flagsAreUndefined) flags = getRegExpFlags(rawPattern); + } + + pattern = pattern === undefined ? '' : toString(pattern); + flags = flags === undefined ? '' : toString(flags); + rawPattern = pattern; + + if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) { + dotAll = !!flags && stringIndexOf(flags, 's') > -1; + if (dotAll) flags = replace(flags, /s/g, ''); + } + + rawFlags = flags; + + if (MISSED_STICKY && 'sticky' in re1) { + sticky = !!flags && stringIndexOf(flags, 'y') > -1; + if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, ''); + } + + if (UNSUPPORTED_NCG) { + handled = handleNCG(pattern); + pattern = handled[0]; + groups = handled[1]; + } + + result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper); + + if (dotAll || sticky || groups.length) { + state = enforceInternalState(result); + if (dotAll) { + state.dotAll = true; + state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags); + } + if (sticky) state.sticky = true; + if (groups.length) state.groups = groups; + } + + if (pattern !== rawPattern) try { + // fails in old engines, but we have no alternatives for unsupported regex syntax + createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern); + } catch (error) { /* empty */ } + + return result; + }; + + for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) { + proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]); + } + + RegExpPrototype.constructor = RegExpWrapper; + RegExpWrapper.prototype = RegExpPrototype; + defineBuiltIn(globalThis, 'RegExp', RegExpWrapper, { constructor: true }); +} + +// https://tc39.es/ecma262/#sec-get-regexp-@@species +setSpecies('RegExp'); + + +/***/ }), +/* 401 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isObject = __webpack_require__(20); +var classof = __webpack_require__(15); +var wellKnownSymbol = __webpack_require__(33); + +var MATCH = wellKnownSymbol('match'); + +// `IsRegExp` abstract operation +// https://tc39.es/ecma262/#sec-isregexp +module.exports = function (it) { + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp'); +}; + + +/***/ }), +/* 402 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var hasOwn = __webpack_require__(38); +var isPrototypeOf = __webpack_require__(24); +var regExpFlags = __webpack_require__(403); + +var RegExpPrototype = RegExp.prototype; + +module.exports = function (R) { + var flags = R.flags; + return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R) + ? call(regExpFlags, R) : flags; +}; + + +/***/ }), +/* 403 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var anObject = __webpack_require__(46); + +// `RegExp.prototype.flags` getter implementation +// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.hasIndices) result += 'd'; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.dotAll) result += 's'; + if (that.unicode) result += 'u'; + if (that.unicodeSets) result += 'v'; + if (that.sticky) result += 'y'; + return result; +}; + + +/***/ }), +/* 404 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +var UNSUPPORTED_Y = fails(function () { + var re = $RegExp('a', 'y'); + re.lastIndex = 2; + return re.exec('abcd') !== null; +}); + +// UC Browser bug +// https://github.com/zloirock/core-js/issues/1008 +var MISSED_STICKY = UNSUPPORTED_Y || fails(function () { + return !$RegExp('a', 'y').sticky; +}); + +var BROKEN_CARET = UNSUPPORTED_Y || fails(function () { + // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 + var re = $RegExp('^r', 'gy'); + re.lastIndex = 2; + return re.exec('str') !== null; +}); + +module.exports = { + BROKEN_CARET: BROKEN_CARET, + MISSED_STICKY: MISSED_STICKY, + UNSUPPORTED_Y: UNSUPPORTED_Y +}; + + +/***/ }), +/* 405 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +module.exports = fails(function () { + var re = $RegExp('.', 's'); + return !(re.dotAll && re.test('\n') && re.flags === 's'); +}); + + +/***/ }), +/* 406 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); + +// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError +var $RegExp = globalThis.RegExp; + +module.exports = fails(function () { + var re = $RegExp('(?<a>b)', 'g'); + return re.exec('b').groups.a !== 'b' || + 'b'.replace(re, '$<a>c') !== 'bc'; +}); + + +/***/ }), +/* 407 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var classof = __webpack_require__(15); +var defineBuiltInAccessor = __webpack_require__(77); +var getInternalState = (__webpack_require__(51).get); + +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; + +// `RegExp.prototype.dotAll` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall +if (DESCRIPTORS && UNSUPPORTED_DOT_ALL) { + defineBuiltInAccessor(RegExpPrototype, 'dotAll', { + configurable: true, + get: function dotAll() { + if (this === RegExpPrototype) return; + // We can't use InternalStateModule.getterFor because + // we don't add metadata for regexps created by a literal. + if (classof(this) === 'RegExp') { + return !!getInternalState(this).dotAll; + } + throw new $TypeError('Incompatible receiver, RegExp required'); + } + }); +} + + +/***/ }), +/* 408 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var exec = __webpack_require__(409); + +// `RegExp.prototype.exec` method +// https://tc39.es/ecma262/#sec-regexp.prototype.exec +$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { + exec: exec +}); + + +/***/ }), +/* 409 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */ +/* eslint-disable regexp/no-useless-quantifier -- testing */ +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var regexpFlags = __webpack_require__(403); +var stickyHelpers = __webpack_require__(404); +var shared = __webpack_require__(34); +var create = __webpack_require__(71); +var getInternalState = (__webpack_require__(51).get); +var UNSUPPORTED_DOT_ALL = __webpack_require__(405); +var UNSUPPORTED_NCG = __webpack_require__(406); + +var nativeReplace = shared('native-string-replace', String.prototype.replace); +var nativeExec = RegExp.prototype.exec; +var patchedExec = nativeExec; +var charAt = uncurryThis(''.charAt); +var indexOf = uncurryThis(''.indexOf); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); + +var UPDATES_LAST_INDEX_WRONG = (function () { + var re1 = /a/; + var re2 = /b*/g; + call(nativeExec, re1, 'a'); + call(nativeExec, re2, 'a'); + return re1.lastIndex !== 0 || re2.lastIndex !== 0; +})(); + +var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET; + +// nonparticipating capturing group, copied from es5-shim's String#split patch. +var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; + +var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG; + +if (PATCH) { + patchedExec = function exec(string) { + var re = this; + var state = getInternalState(re); + var str = toString(string); + var raw = state.raw; + var result, reCopy, lastIndex, match, i, object, group; + + if (raw) { + raw.lastIndex = re.lastIndex; + result = call(patchedExec, raw, str); + re.lastIndex = raw.lastIndex; + return result; + } + + var groups = state.groups; + var sticky = UNSUPPORTED_Y && re.sticky; + var flags = call(regexpFlags, re); + var source = re.source; + var charsAdded = 0; + var strCopy = str; + + if (sticky) { + flags = replace(flags, 'y', ''); + if (indexOf(flags, 'g') === -1) { + flags += 'g'; + } + + strCopy = stringSlice(str, re.lastIndex); + // Support anchored sticky behavior. + if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\n')) { + source = '(?: ' + source + ')'; + strCopy = ' ' + strCopy; + charsAdded++; + } + // ^(? + rx + ) is needed, in combination with some str slicing, to + // simulate the 'y' flag. + reCopy = new RegExp('^(?:' + source + ')', flags); + } + + if (NPCG_INCLUDED) { + reCopy = new RegExp('^' + source + '$(?!\\s)', flags); + } + if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; + + match = call(nativeExec, sticky ? reCopy : re, strCopy); + + if (sticky) { + if (match) { + match.input = stringSlice(match.input, charsAdded); + match[0] = stringSlice(match[0], charsAdded); + match.index = re.lastIndex; + re.lastIndex += match[0].length; + } else re.lastIndex = 0; + } else if (UPDATES_LAST_INDEX_WRONG && match) { + re.lastIndex = re.global ? match.index + match[0].length : lastIndex; + } + if (NPCG_INCLUDED && match && match.length > 1) { + // Fix browsers whose `exec` methods don't consistently return `undefined` + // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/ + call(nativeReplace, match[0], reCopy, function () { + for (i = 1; i < arguments.length - 2; i++) { + if (arguments[i] === undefined) match[i] = undefined; + } + }); + } + + if (match && groups) { + match.groups = object = create(null); + for (i = 0; i < groups.length; i++) { + group = groups[i]; + object[group[0]] = match[group[1]]; + } + } + + return match; + }; +} + +module.exports = patchedExec; + + +/***/ }), +/* 410 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DESCRIPTORS = __webpack_require__(6); +var defineBuiltInAccessor = __webpack_require__(77); +var regExpFlags = __webpack_require__(403); +var fails = __webpack_require__(7); + +// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError +var RegExp = globalThis.RegExp; +var RegExpPrototype = RegExp.prototype; + +var FORCED = DESCRIPTORS && fails(function () { + var INDICES_SUPPORT = true; + try { + RegExp('.', 'd'); + } catch (error) { + INDICES_SUPPORT = false; + } + + var O = {}; + // modern V8 bug + var calls = ''; + var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy'; + + var addGetter = function (key, chr) { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty(O, key, { get: function () { + calls += chr; + return true; + } }); + }; + + var pairs = { + dotAll: 's', + global: 'g', + ignoreCase: 'i', + multiline: 'm', + sticky: 'y' + }; + + if (INDICES_SUPPORT) pairs.hasIndices = 'd'; + + for (var key in pairs) addGetter(key, pairs[key]); + + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var result = Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call(O); + + return result !== expected || calls !== expected; +}); + +// `RegExp.prototype.flags` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags +if (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', { + configurable: true, + get: regExpFlags +}); + + +/***/ }), +/* 411 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var MISSED_STICKY = (__webpack_require__(404).MISSED_STICKY); +var classof = __webpack_require__(15); +var defineBuiltInAccessor = __webpack_require__(77); +var getInternalState = (__webpack_require__(51).get); + +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; + +// `RegExp.prototype.sticky` getter +// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky +if (DESCRIPTORS && MISSED_STICKY) { + defineBuiltInAccessor(RegExpPrototype, 'sticky', { + configurable: true, + get: function sticky() { + if (this === RegExpPrototype) return; + // We can't use InternalStateModule.getterFor because + // we don't add metadata for regexps created by a literal. + if (classof(this) === 'RegExp') { + return !!getInternalState(this).sticky; + } + throw new $TypeError('Incompatible receiver, RegExp required'); + } + }); +} + + +/***/ }), +/* 412 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` since it's moved to entry points +__webpack_require__(408); +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var isCallable = __webpack_require__(21); +var anObject = __webpack_require__(46); +var toString = __webpack_require__(68); + +var DELEGATES_TO_EXEC = function () { + var execCalled = false; + var re = /[ac]/; + re.exec = function () { + execCalled = true; + return /./.exec.apply(this, arguments); + }; + return re.test('abc') === true && execCalled; +}(); + +var nativeTest = /./.test; + +// `RegExp.prototype.test` method +// https://tc39.es/ecma262/#sec-regexp.prototype.test +$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, { + test: function (S) { + var R = anObject(this); + var string = toString(S); + var exec = R.exec; + if (!isCallable(exec)) return call(nativeTest, R, string); + var result = call(exec, R, string); + if (result === null) return false; + anObject(result); + return true; + } +}); + + +/***/ }), +/* 413 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var PROPER_FUNCTION_NAME = (__webpack_require__(49).PROPER); +var defineBuiltIn = __webpack_require__(47); +var anObject = __webpack_require__(46); +var $toString = __webpack_require__(68); +var fails = __webpack_require__(7); +var getRegExpFlags = __webpack_require__(402); + +var TO_STRING = 'toString'; +var RegExpPrototype = RegExp.prototype; +var nativeToString = RegExpPrototype[TO_STRING]; + +var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; }); +// FF44- RegExp#toString has a wrong name +var INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING; + +// `RegExp.prototype.toString` method +// https://tc39.es/ecma262/#sec-regexp.prototype.tostring +if (NOT_GENERIC || INCORRECT_NAME) { + defineBuiltIn(RegExpPrototype, TO_STRING, function toString() { + var R = anObject(this); + var pattern = $toString(R.source); + var flags = $toString(getRegExpFlags(R)); + return '/' + pattern + '/' + flags; + }, { unsafe: true }); +} + + +/***/ }), +/* 414 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(415); + + +/***/ }), +/* 415 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionStrong = __webpack_require__(277); + +// `Set` constructor +// https://tc39.es/ecma262/#sec-set-objects +collection('Set', function (init) { + return function Set() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + + +/***/ }), +/* 416 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var difference = __webpack_require__(417); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.difference` method +// https://tc39.es/ecma262/#sec-set.prototype.difference +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, { + difference: difference +}); + + +/***/ }), +/* 417 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var clone = __webpack_require__(420); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); + +var has = SetHelpers.has; +var remove = SetHelpers.remove; + +// `Set.prototype.difference` method +// https://github.com/tc39/proposal-set-methods +module.exports = function difference(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = clone(O); + if (size(O) <= otherRec.size) iterateSet(O, function (e) { + if (otherRec.includes(e)) remove(result, e); + }); + else iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) remove(result, e); + }); + return result; +}; + + +/***/ }), +/* 418 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var has = (__webpack_require__(419).has); + +// Perform ? RequireInternalSlot(M, [[SetData]]) +module.exports = function (it) { + has(it); + return it; +}; + + +/***/ }), +/* 419 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); + +// eslint-disable-next-line es/no-set -- safe +var SetPrototype = Set.prototype; + +module.exports = { + // eslint-disable-next-line es/no-set -- safe + Set: Set, + add: uncurryThis(SetPrototype.add), + has: uncurryThis(SetPrototype.has), + remove: uncurryThis(SetPrototype['delete']), + proto: SetPrototype +}; + + +/***/ }), +/* 420 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var SetHelpers = __webpack_require__(419); +var iterate = __webpack_require__(421); + +var Set = SetHelpers.Set; +var add = SetHelpers.add; + +module.exports = function (set) { + var result = new Set(); + iterate(set, function (it) { + add(result, it); + }); + return result; +}; + + +/***/ }), +/* 421 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var iterateSimple = __webpack_require__(422); +var SetHelpers = __webpack_require__(419); + +var Set = SetHelpers.Set; +var SetPrototype = SetHelpers.proto; +var forEach = uncurryThis(SetPrototype.forEach); +var keys = uncurryThis(SetPrototype.keys); +var next = keys(new Set()).next; + +module.exports = function (set, fn, interruptible) { + return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn); +}; + + +/***/ }), +/* 422 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); + +module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) { + var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator; + var next = record.next; + var step, result; + while (!(step = call(next, iterator)).done) { + result = fn(step.value); + if (result !== undefined) return result; + } +}; + + +/***/ }), +/* 423 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThisAccessor = __webpack_require__(114); +var SetHelpers = __webpack_require__(419); + +module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) { + return set.size; +}; + + +/***/ }), +/* 424 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aCallable = __webpack_require__(30); +var anObject = __webpack_require__(46); +var call = __webpack_require__(8); +var toIntegerOrInfinity = __webpack_require__(61); +var getIteratorDirect = __webpack_require__(252); + +var INVALID_SIZE = 'Invalid size'; +var $RangeError = RangeError; +var $TypeError = TypeError; +var max = Math.max; + +var SetRecord = function (set, intSize) { + this.set = set; + this.size = max(intSize, 0); + this.has = aCallable(set.has); + this.keys = aCallable(set.keys); +}; + +SetRecord.prototype = { + getIterator: function () { + return getIteratorDirect(anObject(call(this.keys, this.set))); + }, + includes: function (it) { + return call(this.has, this.set, it); + } +}; + +// `GetSetRecord` abstract operation +// https://tc39.es/proposal-set-methods/#sec-getsetrecord +module.exports = function (obj) { + anObject(obj); + var numSize = +obj.size; + // NOTE: If size is undefined, then numSize will be NaN + // eslint-disable-next-line no-self-compare -- NaN check + if (numSize !== numSize) throw new $TypeError(INVALID_SIZE); + var intSize = toIntegerOrInfinity(numSize); + if (intSize < 0) throw new $RangeError(INVALID_SIZE); + return new SetRecord(obj, intSize); +}; + + +/***/ }), +/* 425 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); + +var createSetLike = function (size) { + return { + size: size, + has: function () { + return false; + }, + keys: function () { + return { + next: function () { + return { done: true }; + } + }; + } + }; +}; + +module.exports = function (name) { + var Set = getBuiltIn('Set'); + try { + new Set()[name](createSetLike(0)); + try { + // late spec change, early WebKit ~ Safari 17.0 beta implementation does not pass it + // https://github.com/tc39/proposal-set-methods/pull/88 + new Set()[name](createSetLike(-1)); + return false; + } catch (error2) { + return true; + } + } catch (error) { + return false; + } +}; + + +/***/ }), +/* 426 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var fails = __webpack_require__(7); +var intersection = __webpack_require__(427); +var setMethodAcceptSetLike = __webpack_require__(425); + +var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () { + // eslint-disable-next-line es/no-array-from, es/no-set -- testing + return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2'; +}); + +// `Set.prototype.intersection` method +// https://tc39.es/ecma262/#sec-set.prototype.intersection +$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, { + intersection: intersection +}); + + +/***/ }), +/* 427 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); + +var Set = SetHelpers.Set; +var add = SetHelpers.add; +var has = SetHelpers.has; + +// `Set.prototype.intersection` method +// https://github.com/tc39/proposal-set-methods +module.exports = function intersection(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + var result = new Set(); + + if (size(O) > otherRec.size) { + iterateSimple(otherRec.getIterator(), function (e) { + if (has(O, e)) add(result, e); + }); + } else { + iterateSet(O, function (e) { + if (otherRec.includes(e)) add(result, e); + }); + } + + return result; +}; + + +/***/ }), +/* 428 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isDisjointFrom = __webpack_require__(429); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isDisjointFrom` method +// https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, { + isDisjointFrom: isDisjointFrom +}); + + +/***/ }), +/* 429 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var has = (__webpack_require__(419).has); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSet = __webpack_require__(421); +var iterateSimple = __webpack_require__(422); +var iteratorClose = __webpack_require__(135); + +// `Set.prototype.isDisjointFrom` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom +module.exports = function isDisjointFrom(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) <= otherRec.size) return iterateSet(O, function (e) { + if (otherRec.includes(e)) return false; + }, true) !== false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (has(O, e)) return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + + +/***/ }), +/* 430 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isSubsetOf = __webpack_require__(431); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isSubsetOf` method +// https://tc39.es/ecma262/#sec-set.prototype.issubsetof +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, { + isSubsetOf: isSubsetOf +}); + + +/***/ }), +/* 431 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var size = __webpack_require__(423); +var iterate = __webpack_require__(421); +var getSetRecord = __webpack_require__(424); + +// `Set.prototype.isSubsetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf +module.exports = function isSubsetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) > otherRec.size) return false; + return iterate(O, function (e) { + if (!otherRec.includes(e)) return false; + }, true) !== false; +}; + + +/***/ }), +/* 432 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var isSupersetOf = __webpack_require__(433); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.isSupersetOf` method +// https://tc39.es/ecma262/#sec-set.prototype.issupersetof +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, { + isSupersetOf: isSupersetOf +}); + + +/***/ }), +/* 433 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var has = (__webpack_require__(419).has); +var size = __webpack_require__(423); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); +var iteratorClose = __webpack_require__(135); + +// `Set.prototype.isSupersetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf +module.exports = function isSupersetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) < otherRec.size) return false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (!has(O, e)) return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + + +/***/ }), +/* 434 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var symmetricDifference = __webpack_require__(435); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.symmetricDifference` method +// https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, { + symmetricDifference: symmetricDifference +}); + + +/***/ }), +/* 435 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var SetHelpers = __webpack_require__(419); +var clone = __webpack_require__(420); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); + +var add = SetHelpers.add; +var has = SetHelpers.has; +var remove = SetHelpers.remove; + +// `Set.prototype.symmetricDifference` method +// https://github.com/tc39/proposal-set-methods +module.exports = function symmetricDifference(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (e) { + if (has(O, e)) remove(result, e); + else add(result, e); + }); + return result; +}; + + +/***/ }), +/* 436 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var union = __webpack_require__(437); +var setMethodAcceptSetLike = __webpack_require__(425); + +// `Set.prototype.union` method +// https://tc39.es/ecma262/#sec-set.prototype.union +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, { + union: union +}); + + +/***/ }), +/* 437 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var aSet = __webpack_require__(418); +var add = (__webpack_require__(419).add); +var clone = __webpack_require__(420); +var getSetRecord = __webpack_require__(424); +var iterateSimple = __webpack_require__(422); + +// `Set.prototype.union` method +// https://github.com/tc39/proposal-set-methods +module.exports = function union(other) { + var O = aSet(this); + var keysIter = getSetRecord(other).getIterator(); + var result = clone(O); + iterateSimple(keysIter, function (it) { + add(result, it); + }); + return result; +}; + + +/***/ }), +/* 438 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); + +var charAt = uncurryThis(''.charAt); + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-string-prototype-at -- safe + return '𠮷'.at(-2) !== '\uD842'; +}); + +// `String.prototype.at` method +// https://tc39.es/ecma262/#sec-string.prototype.at +$({ target: 'String', proto: true, forced: FORCED }, { + at: function at(index) { + var S = toString(requireObjectCoercible(this)); + var len = S.length; + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : charAt(S, k); + } +}); + + +/***/ }), +/* 439 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var codeAt = (__webpack_require__(440).codeAt); + +// `String.prototype.codePointAt` method +// https://tc39.es/ecma262/#sec-string.prototype.codepointat +$({ target: 'String', proto: true }, { + codePointAt: function codePointAt(pos) { + return codeAt(this, pos); + } +}); + + +/***/ }), +/* 440 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); + +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var stringSlice = uncurryThis(''.slice); + +var createMethod = function (CONVERT_TO_STRING) { + return function ($this, pos) { + var S = toString(requireObjectCoercible($this)); + var position = toIntegerOrInfinity(pos); + var size = S.length; + var first, second; + if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; + first = charCodeAt(S, position); + return first < 0xD800 || first > 0xDBFF || position + 1 === size + || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF + ? CONVERT_TO_STRING + ? charAt(S, position) + : first + : CONVERT_TO_STRING + ? stringSlice(S, position, position + 2) + : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; + }; +}; + +module.exports = { + // `String.prototype.codePointAt` method + // https://tc39.es/ecma262/#sec-string.prototype.codepointat + codeAt: createMethod(false), + // `String.prototype.at` method + // https://github.com/mathiasbynens/String.prototype.at + charAt: createMethod(true) +}; + + +/***/ }), +/* 441 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var correctIsRegExpLogic = __webpack_require__(443); +var IS_PURE = __webpack_require__(36); + +var slice = uncurryThis(''.slice); +var min = Math.min; + +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith'); + return descriptor && !descriptor.writable; +}(); + +// `String.prototype.endsWith` method +// https://tc39.es/ecma262/#sec-string.prototype.endswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + endsWith: function endsWith(searchString /* , endPosition = @length */) { + var that = toString(requireObjectCoercible(this)); + notARegExp(searchString); + var endPosition = arguments.length > 1 ? arguments[1] : undefined; + var len = that.length; + var end = endPosition === undefined ? len : min(toLength(endPosition), len); + var search = toString(searchString); + return slice(that, end - search.length, end) === search; + } +}); + + +/***/ }), +/* 442 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var isRegExp = __webpack_require__(401); + +var $TypeError = TypeError; + +module.exports = function (it) { + if (isRegExp(it)) { + throw new $TypeError("The method doesn't accept regular expressions"); + } return it; +}; + + +/***/ }), +/* 443 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var wellKnownSymbol = __webpack_require__(33); + +var MATCH = wellKnownSymbol('match'); + +module.exports = function (METHOD_NAME) { + var regexp = /./; + try { + '/./'[METHOD_NAME](regexp); + } catch (error1) { + try { + regexp[MATCH] = false; + return '/./'[METHOD_NAME](regexp); + } catch (error2) { /* empty */ } + } return false; +}; + + +/***/ }), +/* 444 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toAbsoluteIndex = __webpack_require__(60); + +var $RangeError = RangeError; +var fromCharCode = String.fromCharCode; +// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing +var $fromCodePoint = String.fromCodePoint; +var join = uncurryThis([].join); + +// length should be 1, old FF problem +var INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length !== 1; + +// `String.fromCodePoint` method +// https://tc39.es/ecma262/#sec-string.fromcodepoint +$({ target: 'String', stat: true, arity: 1, forced: INCORRECT_LENGTH }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + fromCodePoint: function fromCodePoint(x) { + var elements = []; + var length = arguments.length; + var i = 0; + var code; + while (length > i) { + code = +arguments[i++]; + if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw new $RangeError(code + ' is not a valid code point'); + elements[i] = code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00); + } return join(elements, ''); + } +}); + + +/***/ }), +/* 445 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var correctIsRegExpLogic = __webpack_require__(443); + +var stringIndexOf = uncurryThis(''.indexOf); + +// `String.prototype.includes` method +// https://tc39.es/ecma262/#sec-string.prototype.includes +$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { + includes: function includes(searchString /* , position = 0 */) { + return !!~stringIndexOf( + toString(requireObjectCoercible(this)), + toString(notARegExp(searchString)), + arguments.length > 1 ? arguments[1] : undefined + ); + } +}); + + +/***/ }), +/* 446 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); + +var charCodeAt = uncurryThis(''.charCodeAt); + +// `String.prototype.isWellFormed` method +// https://tc39.es/ecma262/#sec-string.prototype.iswellformed +$({ target: 'String', proto: true }, { + isWellFormed: function isWellFormed() { + var S = toString(requireObjectCoercible(this)); + var length = S.length; + for (var i = 0; i < length; i++) { + var charCode = charCodeAt(S, i); + // single UTF-16 code unit + if ((charCode & 0xF800) !== 0xD800) continue; + // unpaired surrogate + if (charCode >= 0xDC00 || ++i >= length || (charCodeAt(S, i) & 0xFC00) !== 0xDC00) return false; + } return true; + } +}); + + +/***/ }), +/* 447 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var charAt = (__webpack_require__(440).charAt); +var toString = __webpack_require__(68); +var InternalStateModule = __webpack_require__(51); +var defineIterator = __webpack_require__(169); +var createIterResultObject = __webpack_require__(172); + +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// `String.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-string.prototype-@@iterator +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: toString(iterated), + index: 0 + }); +// `%StringIteratorPrototype%.next` method +// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return createIterResultObject(undefined, true); + point = charAt(string, index); + state.index += point.length; + return createIterResultObject(point, false); +}); + + +/***/ }), +/* 448 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); +var getMethod = __webpack_require__(29); +var advanceStringIndex = __webpack_require__(450); +var regExpExec = __webpack_require__(451); + +// @@match logic +fixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) { + return [ + // `String.prototype.match` method + // https://tc39.es/ecma262/#sec-string.prototype.match + function match(regexp) { + var O = requireObjectCoercible(this); + var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH); + return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O)); + }, + // `RegExp.prototype[@@match]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@match + function (string) { + var rx = anObject(this); + var S = toString(string); + var res = maybeCallNative(nativeMatch, rx, S); + + if (res.done) return res.value; + + if (!rx.global) return regExpExec(rx, S); + + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + var A = []; + var n = 0; + var result; + while ((result = regExpExec(rx, S)) !== null) { + var matchStr = toString(result[0]); + A[n] = matchStr; + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + n++; + } + return n === 0 ? null : A; + } + ]; +}); + + +/***/ }), +/* 449 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove from `core-js@4` since it's moved to entry points +__webpack_require__(408); +var call = __webpack_require__(8); +var defineBuiltIn = __webpack_require__(47); +var regexpExec = __webpack_require__(409); +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var createNonEnumerableProperty = __webpack_require__(43); + +var SPECIES = wellKnownSymbol('species'); +var RegExpPrototype = RegExp.prototype; + +module.exports = function (KEY, exec, FORCED, SHAM) { + var SYMBOL = wellKnownSymbol(KEY); + + var DELEGATES_TO_SYMBOL = !fails(function () { + // String methods call symbol-named RegExp methods + var O = {}; + O[SYMBOL] = function () { return 7; }; + return ''[KEY](O) !== 7; + }); + + var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { + // Symbol-named RegExp methods call .exec + var execCalled = false; + var re = /a/; + + if (KEY === 'split') { + // We can't use real regex here since it causes deoptimization + // and serious performance degradation in V8 + // https://github.com/zloirock/core-js/issues/306 + re = {}; + // RegExp[@@split] doesn't call the regex's exec method, but first creates + // a new one. We need to return the patched regex when creating the new one. + re.constructor = {}; + re.constructor[SPECIES] = function () { return re; }; + re.flags = ''; + re[SYMBOL] = /./[SYMBOL]; + } + + re.exec = function () { + execCalled = true; + return null; + }; + + re[SYMBOL](''); + return !execCalled; + }); + + if ( + !DELEGATES_TO_SYMBOL || + !DELEGATES_TO_EXEC || + FORCED + ) { + var nativeRegExpMethod = /./[SYMBOL]; + var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { + var $exec = regexp.exec; + if ($exec === regexpExec || $exec === RegExpPrototype.exec) { + if (DELEGATES_TO_SYMBOL && !forceStringMethod) { + // The native String method already delegates to @@method (this + // polyfilled function), leasing to infinite recursion. + // We avoid it by directly calling the native @@method method. + return { done: true, value: call(nativeRegExpMethod, regexp, str, arg2) }; + } + return { done: true, value: call(nativeMethod, str, regexp, arg2) }; + } + return { done: false }; + }); + + defineBuiltIn(String.prototype, KEY, methods[0]); + defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]); + } + + if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true); +}; + + +/***/ }), +/* 450 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var charAt = (__webpack_require__(440).charAt); + +// `AdvanceStringIndex` abstract operation +// https://tc39.es/ecma262/#sec-advancestringindex +module.exports = function (S, index, unicode) { + return index + (unicode ? charAt(S, index).length : 1); +}; + + +/***/ }), +/* 451 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var classof = __webpack_require__(15); +var regexpExec = __webpack_require__(409); + +var $TypeError = TypeError; + +// `RegExpExec` abstract operation +// https://tc39.es/ecma262/#sec-regexpexec +module.exports = function (R, S) { + var exec = R.exec; + if (isCallable(exec)) { + var result = call(exec, R, S); + if (result !== null) anObject(result); + return result; + } + if (classof(R) === 'RegExp') return call(regexpExec, R, S); + throw new $TypeError('RegExp#exec called on incompatible receiver'); +}; + + +/***/ }), +/* 452 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable es/no-string-prototype-matchall -- safe */ +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(85); +var createIteratorConstructor = __webpack_require__(170); +var createIterResultObject = __webpack_require__(172); +var requireObjectCoercible = __webpack_require__(16); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var classof = __webpack_require__(15); +var isRegExp = __webpack_require__(401); +var getRegExpFlags = __webpack_require__(402); +var getMethod = __webpack_require__(29); +var defineBuiltIn = __webpack_require__(47); +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var speciesConstructor = __webpack_require__(358); +var advanceStringIndex = __webpack_require__(450); +var regExpExec = __webpack_require__(451); +var InternalStateModule = __webpack_require__(51); +var IS_PURE = __webpack_require__(36); + +var MATCH_ALL = wellKnownSymbol('matchAll'); +var REGEXP_STRING = 'RegExp String'; +var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR); +var RegExpPrototype = RegExp.prototype; +var $TypeError = TypeError; +var stringIndexOf = uncurryThis(''.indexOf); +var nativeMatchAll = uncurryThis(''.matchAll); + +var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () { + nativeMatchAll('a', /./); +}); + +var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, $global, fullUnicode) { + setInternalState(this, { + type: REGEXP_STRING_ITERATOR, + regexp: regexp, + string: string, + global: $global, + unicode: fullUnicode, + done: false + }); +}, REGEXP_STRING, function next() { + var state = getInternalState(this); + if (state.done) return createIterResultObject(undefined, true); + var R = state.regexp; + var S = state.string; + var match = regExpExec(R, S); + if (match === null) { + state.done = true; + return createIterResultObject(undefined, true); + } + if (state.global) { + if (toString(match[0]) === '') R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode); + return createIterResultObject(match, false); + } + state.done = true; + return createIterResultObject(match, false); +}); + +var $matchAll = function (string) { + var R = anObject(this); + var S = toString(string); + var C = speciesConstructor(R, RegExp); + var flags = toString(getRegExpFlags(R)); + var matcher, $global, fullUnicode; + matcher = new C(C === RegExp ? R.source : R, flags); + $global = !!~stringIndexOf(flags, 'g'); + fullUnicode = !!~stringIndexOf(flags, 'u'); + matcher.lastIndex = toLength(R.lastIndex); + return new $RegExpStringIterator(matcher, S, $global, fullUnicode); +}; + +// `String.prototype.matchAll` method +// https://tc39.es/ecma262/#sec-string.prototype.matchall +$({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, { + matchAll: function matchAll(regexp) { + var O = requireObjectCoercible(this); + var flags, S, matcher, rx; + if (!isNullOrUndefined(regexp)) { + if (isRegExp(regexp)) { + flags = toString(requireObjectCoercible(getRegExpFlags(regexp))); + if (!~stringIndexOf(flags, 'g')) throw new $TypeError('`.matchAll` does not allow non-global regexes'); + } + if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll(O, regexp); + matcher = getMethod(regexp, MATCH_ALL); + if (matcher === undefined && IS_PURE && classof(regexp) === 'RegExp') matcher = $matchAll; + if (matcher) return call(matcher, regexp, O); + } else if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll(O, regexp); + S = toString(O); + rx = new RegExp(regexp, 'g'); + return IS_PURE ? call($matchAll, rx, S) : rx[MATCH_ALL](S); + } +}); + +IS_PURE || MATCH_ALL in RegExpPrototype || defineBuiltIn(RegExpPrototype, MATCH_ALL, $matchAll); + + +/***/ }), +/* 453 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $padEnd = (__webpack_require__(238).end); +var WEBKIT_BUG = __webpack_require__(454); + +// `String.prototype.padEnd` method +// https://tc39.es/ecma262/#sec-string.prototype.padend +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padEnd: function padEnd(maxLength /* , fillString = ' ' */) { + return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 454 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// https://github.com/zloirock/core-js/issues/280 +var userAgent = __webpack_require__(28); + +module.exports = /Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(userAgent); + + +/***/ }), +/* 455 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $padStart = (__webpack_require__(238).start); +var WEBKIT_BUG = __webpack_require__(454); + +// `String.prototype.padStart` method +// https://tc39.es/ecma262/#sec-string.prototype.padstart +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padStart: function padStart(maxLength /* , fillString = ' ' */) { + return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), +/* 456 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toIndexedObject = __webpack_require__(12); +var toObject = __webpack_require__(39); +var toString = __webpack_require__(68); +var lengthOfArrayLike = __webpack_require__(63); + +var push = uncurryThis([].push); +var join = uncurryThis([].join); + +// `String.raw` method +// https://tc39.es/ecma262/#sec-string.raw +$({ target: 'String', stat: true }, { + raw: function raw(template) { + var rawTemplate = toIndexedObject(toObject(template).raw); + var literalSegments = lengthOfArrayLike(rawTemplate); + if (!literalSegments) return ''; + var argumentsLength = arguments.length; + var elements = []; + var i = 0; + while (true) { + push(elements, toString(rawTemplate[i++])); + if (i === literalSegments) return join(elements, ''); + if (i < argumentsLength) push(elements, toString(arguments[i])); + } + } +}); + + +/***/ }), +/* 457 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var repeat = __webpack_require__(239); + +// `String.prototype.repeat` method +// https://tc39.es/ecma262/#sec-string.prototype.repeat +$({ target: 'String', proto: true }, { + repeat: repeat +}); + + +/***/ }), +/* 458 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var apply = __webpack_require__(94); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var fails = __webpack_require__(7); +var anObject = __webpack_require__(46); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var toIntegerOrInfinity = __webpack_require__(61); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var requireObjectCoercible = __webpack_require__(16); +var advanceStringIndex = __webpack_require__(450); +var getMethod = __webpack_require__(29); +var getSubstitution = __webpack_require__(459); +var regExpExec = __webpack_require__(451); +var wellKnownSymbol = __webpack_require__(33); + +var REPLACE = wellKnownSymbol('replace'); +var max = Math.max; +var min = Math.min; +var concat = uncurryThis([].concat); +var push = uncurryThis([].push); +var stringIndexOf = uncurryThis(''.indexOf); +var stringSlice = uncurryThis(''.slice); + +var maybeToString = function (it) { + return it === undefined ? it : String(it); +}; + +// IE <= 11 replaces $0 with the whole match, as if it was $& +// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 +var REPLACE_KEEPS_$0 = (function () { + // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing + return 'a'.replace(/./, '$0') === '$0'; +})(); + +// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string +var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () { + if (/./[REPLACE]) { + return /./[REPLACE]('a', '$0') === ''; + } + return false; +})(); + +var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { + var re = /./; + re.exec = function () { + var result = []; + result.groups = { a: '7' }; + return result; + }; + // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive + return ''.replace(re, '$<a>') !== '7'; +}); + +// @@replace logic +fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) { + var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0'; + + return [ + // `String.prototype.replace` method + // https://tc39.es/ecma262/#sec-string.prototype.replace + function replace(searchValue, replaceValue) { + var O = requireObjectCoercible(this); + var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE); + return replacer + ? call(replacer, searchValue, O, replaceValue) + : call(nativeReplace, toString(O), searchValue, replaceValue); + }, + // `RegExp.prototype[@@replace]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace + function (string, replaceValue) { + var rx = anObject(this); + var S = toString(string); + + if ( + typeof replaceValue == 'string' && + stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 && + stringIndexOf(replaceValue, '$<') === -1 + ) { + var res = maybeCallNative(nativeReplace, rx, S, replaceValue); + if (res.done) return res.value; + } + + var functionalReplace = isCallable(replaceValue); + if (!functionalReplace) replaceValue = toString(replaceValue); + + var global = rx.global; + var fullUnicode; + if (global) { + fullUnicode = rx.unicode; + rx.lastIndex = 0; + } + + var results = []; + var result; + while (true) { + result = regExpExec(rx, S); + if (result === null) break; + + push(results, result); + if (!global) break; + + var matchStr = toString(result[0]); + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + } + + var accumulatedResult = ''; + var nextSourcePosition = 0; + for (var i = 0; i < results.length; i++) { + result = results[i]; + + var matched = toString(result[0]); + var position = max(min(toIntegerOrInfinity(result.index), S.length), 0); + var captures = []; + var replacement; + // NOTE: This is equivalent to + // captures = result.slice(1).map(maybeToString) + // but for some reason `nativeSlice.call(result, 1, result.length)` (called in + // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and + // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. + for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j])); + var namedCaptures = result.groups; + if (functionalReplace) { + var replacerArgs = concat([matched], captures, position, S); + if (namedCaptures !== undefined) push(replacerArgs, namedCaptures); + replacement = toString(apply(replaceValue, undefined, replacerArgs)); + } else { + replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); + } + if (position >= nextSourcePosition) { + accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement; + nextSourcePosition = position + matched.length; + } + } + + return accumulatedResult + stringSlice(S, nextSourcePosition); + } + ]; +}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE); + + +/***/ }), +/* 459 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var toObject = __webpack_require__(39); + +var floor = Math.floor; +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); +// eslint-disable-next-line redos/no-vulnerable -- safe +var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g; +var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g; + +// `GetSubstitution` abstract operation +// https://tc39.es/ecma262/#sec-getsubstitution +module.exports = function (matched, str, position, captures, namedCaptures, replacement) { + var tailPos = position + matched.length; + var m = captures.length; + var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; + if (namedCaptures !== undefined) { + namedCaptures = toObject(namedCaptures); + symbols = SUBSTITUTION_SYMBOLS; + } + return replace(replacement, symbols, function (match, ch) { + var capture; + switch (charAt(ch, 0)) { + case '$': return '$'; + case '&': return matched; + case '`': return stringSlice(str, 0, position); + case "'": return stringSlice(str, tailPos); + case '<': + capture = namedCaptures[stringSlice(ch, 1, -1)]; + break; + default: // \d\d? + var n = +ch; + if (n === 0) return match; + if (n > m) { + var f = floor(n / 10); + if (f === 0) return match; + if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1); + return match; + } + capture = captures[n - 1]; + } + return capture === undefined ? '' : capture; + }); +}; + + +/***/ }), +/* 460 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var isCallable = __webpack_require__(21); +var isNullOrUndefined = __webpack_require__(17); +var isRegExp = __webpack_require__(401); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var getRegExpFlags = __webpack_require__(402); +var getSubstitution = __webpack_require__(459); +var wellKnownSymbol = __webpack_require__(33); +var IS_PURE = __webpack_require__(36); + +var REPLACE = wellKnownSymbol('replace'); +var $TypeError = TypeError; +var indexOf = uncurryThis(''.indexOf); +var replace = uncurryThis(''.replace); +var stringSlice = uncurryThis(''.slice); +var max = Math.max; + +// `String.prototype.replaceAll` method +// https://tc39.es/ecma262/#sec-string.prototype.replaceall +$({ target: 'String', proto: true }, { + replaceAll: function replaceAll(searchValue, replaceValue) { + var O = requireObjectCoercible(this); + var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, position, replacement; + var endOfLastMatch = 0; + var result = ''; + if (!isNullOrUndefined(searchValue)) { + IS_REG_EXP = isRegExp(searchValue); + if (IS_REG_EXP) { + flags = toString(requireObjectCoercible(getRegExpFlags(searchValue))); + if (!~indexOf(flags, 'g')) throw new $TypeError('`.replaceAll` does not allow non-global regexes'); + } + replacer = getMethod(searchValue, REPLACE); + if (replacer) return call(replacer, searchValue, O, replaceValue); + if (IS_PURE && IS_REG_EXP) return replace(toString(O), searchValue, replaceValue); + } + string = toString(O); + searchString = toString(searchValue); + functionalReplace = isCallable(replaceValue); + if (!functionalReplace) replaceValue = toString(replaceValue); + searchLength = searchString.length; + advanceBy = max(1, searchLength); + position = indexOf(string, searchString); + while (position !== -1) { + replacement = functionalReplace + ? toString(replaceValue(searchString, position, string)) + : getSubstitution(searchString, string, position, [], undefined, replaceValue); + result += stringSlice(string, endOfLastMatch, position) + replacement; + endOfLastMatch = position + searchLength; + position = position + advanceBy > string.length ? -1 : indexOf(string, searchString, position + advanceBy); + } + if (endOfLastMatch < string.length) { + result += stringSlice(string, endOfLastMatch); + } + return result; + } +}); + + +/***/ }), +/* 461 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var requireObjectCoercible = __webpack_require__(16); +var sameValue = __webpack_require__(340); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var regExpExec = __webpack_require__(451); + +// @@search logic +fixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) { + return [ + // `String.prototype.search` method + // https://tc39.es/ecma262/#sec-string.prototype.search + function search(regexp) { + var O = requireObjectCoercible(this); + var searcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, SEARCH); + return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O)); + }, + // `RegExp.prototype[@@search]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@search + function (string) { + var rx = anObject(this); + var S = toString(string); + var res = maybeCallNative(nativeSearch, rx, S); + + if (res.done) return res.value; + + var previousLastIndex = rx.lastIndex; + if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; + var result = regExpExec(rx, S); + if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; + return result === null ? -1 : result.index; + } + ]; +}); + + +/***/ }), +/* 462 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fixRegExpWellKnownSymbolLogic = __webpack_require__(449); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var requireObjectCoercible = __webpack_require__(16); +var speciesConstructor = __webpack_require__(358); +var advanceStringIndex = __webpack_require__(450); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var getMethod = __webpack_require__(29); +var regExpExec = __webpack_require__(451); +var stickyHelpers = __webpack_require__(404); +var fails = __webpack_require__(7); + +var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y; +var MAX_UINT32 = 0xFFFFFFFF; +var min = Math.min; +var push = uncurryThis([].push); +var stringSlice = uncurryThis(''.slice); + +// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec +// Weex JS has frozen built-in prototypes, so use try / catch wrapper +var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { + // eslint-disable-next-line regexp/no-empty-group -- required for testing + var re = /(?:)/; + var originalExec = re.exec; + re.exec = function () { return originalExec.apply(this, arguments); }; + var result = 'ab'.split(re); + return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; +}); + +var BUGGY = 'abbc'.split(/(b)*/)[1] === 'c' || + // eslint-disable-next-line regexp/no-empty-group -- required for testing + 'test'.split(/(?:)/, -1).length !== 4 || + 'ab'.split(/(?:ab)*/).length !== 2 || + '.'.split(/(.?)(.?)/).length !== 4 || + // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing + '.'.split(/()()/).length > 1 || + ''.split(/.?/).length; + +// @@split logic +fixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) { + var internalSplit = '0'.split(undefined, 0).length ? function (separator, limit) { + return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit); + } : nativeSplit; + + return [ + // `String.prototype.split` method + // https://tc39.es/ecma262/#sec-string.prototype.split + function split(separator, limit) { + var O = requireObjectCoercible(this); + var splitter = isNullOrUndefined(separator) ? undefined : getMethod(separator, SPLIT); + return splitter + ? call(splitter, separator, O, limit) + : call(internalSplit, toString(O), separator, limit); + }, + // `RegExp.prototype[@@split]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@split + // + // NOTE: This cannot be properly polyfilled in engines that don't support + // the 'y' flag. + function (string, limit) { + var rx = anObject(this); + var S = toString(string); + + if (!BUGGY) { + var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit); + if (res.done) return res.value; + } + + var C = speciesConstructor(rx, RegExp); + var unicodeMatching = rx.unicode; + var flags = (rx.ignoreCase ? 'i' : '') + + (rx.multiline ? 'm' : '') + + (rx.unicode ? 'u' : '') + + (UNSUPPORTED_Y ? 'g' : 'y'); + // ^(? + rx + ) is needed, in combination with some S slicing, to + // simulate the 'y' flag. + var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags); + var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; + if (lim === 0) return []; + if (S.length === 0) return regExpExec(splitter, S) === null ? [S] : []; + var p = 0; + var q = 0; + var A = []; + while (q < S.length) { + splitter.lastIndex = UNSUPPORTED_Y ? 0 : q; + var z = regExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S); + var e; + if ( + z === null || + (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p + ) { + q = advanceStringIndex(S, q, unicodeMatching); + } else { + push(A, stringSlice(S, p, q)); + if (A.length === lim) return A; + for (var i = 1; i <= z.length - 1; i++) { + push(A, z[i]); + if (A.length === lim) return A; + } + q = p = e; + } + } + push(A, stringSlice(S, p)); + return A; + } + ]; +}, BUGGY || !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y); + + +/***/ }), +/* 463 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(85); +var getOwnPropertyDescriptor = (__webpack_require__(5).f); +var toLength = __webpack_require__(64); +var toString = __webpack_require__(68); +var notARegExp = __webpack_require__(442); +var requireObjectCoercible = __webpack_require__(16); +var correctIsRegExpLogic = __webpack_require__(443); +var IS_PURE = __webpack_require__(36); + +var stringSlice = uncurryThis(''.slice); +var min = Math.min; + +var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith'); +// https://github.com/zloirock/core-js/pull/702 +var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () { + var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith'); + return descriptor && !descriptor.writable; +}(); + +// `String.prototype.startsWith` method +// https://tc39.es/ecma262/#sec-string.prototype.startswith +$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = toString(requireObjectCoercible(this)); + notARegExp(searchString); + var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = toString(searchString); + return stringSlice(that, index, index + search.length) === search; + } +}); + + +/***/ }), +/* 464 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toIntegerOrInfinity = __webpack_require__(61); +var toString = __webpack_require__(68); + +var stringSlice = uncurryThis(''.slice); +var max = Math.max; +var min = Math.min; + +// eslint-disable-next-line unicorn/prefer-string-slice -- required for testing +var FORCED = !''.substr || 'ab'.substr(-1) !== 'b'; + +// `String.prototype.substr` method +// https://tc39.es/ecma262/#sec-string.prototype.substr +$({ target: 'String', proto: true, forced: FORCED }, { + substr: function substr(start, length) { + var that = toString(requireObjectCoercible(this)); + var size = that.length; + var intStart = toIntegerOrInfinity(start); + var intLength, intEnd; + if (intStart === Infinity) intStart = 0; + if (intStart < 0) intStart = max(size + intStart, 0); + intLength = length === undefined ? size : toIntegerOrInfinity(length); + if (intLength <= 0 || intLength === Infinity) return ''; + intEnd = min(intStart + intLength, size); + return intStart >= intEnd ? '' : stringSlice(that, intStart, intEnd); + } +}); + + +/***/ }), +/* 465 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); +var fails = __webpack_require__(7); + +var $Array = Array; +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); +var join = uncurryThis([].join); +// eslint-disable-next-line es/no-string-prototype-towellformed -- safe +var $toWellFormed = ''.toWellFormed; +var REPLACEMENT_CHARACTER = '\uFFFD'; + +// Safari bug +var TO_STRING_CONVERSION_BUG = $toWellFormed && fails(function () { + return call($toWellFormed, 1) !== '1'; +}); + +// `String.prototype.toWellFormed` method +// https://tc39.es/ecma262/#sec-string.prototype.towellformed +$({ target: 'String', proto: true, forced: TO_STRING_CONVERSION_BUG }, { + toWellFormed: function toWellFormed() { + var S = toString(requireObjectCoercible(this)); + if (TO_STRING_CONVERSION_BUG) return call($toWellFormed, S); + var length = S.length; + var result = $Array(length); + for (var i = 0; i < length; i++) { + var charCode = charCodeAt(S, i); + // single UTF-16 code unit + if ((charCode & 0xF800) !== 0xD800) result[i] = charAt(S, i); + // unpaired surrogate + else if (charCode >= 0xDC00 || i + 1 >= length || (charCodeAt(S, i + 1) & 0xFC00) !== 0xDC00) result[i] = REPLACEMENT_CHARACTER; + // surrogate pair + else { + result[i] = charAt(S, i); + result[++i] = charAt(S, i); + } + } return join(result, ''); + } +}); + + +/***/ }), +/* 466 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var $trim = (__webpack_require__(303).trim); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.trim` method +// https://tc39.es/ecma262/#sec-string.prototype.trim +$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, { + trim: function trim() { + return $trim(this); + } +}); + + +/***/ }), +/* 467 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var PROPER_FUNCTION_NAME = (__webpack_require__(49).PROPER); +var fails = __webpack_require__(7); +var whitespaces = __webpack_require__(304); + +var non = '\u200B\u0085\u180E'; + +// check that a method works with the correct list +// of whitespaces and has a correct name +module.exports = function (METHOD_NAME) { + return fails(function () { + return !!whitespaces[METHOD_NAME]() + || non[METHOD_NAME]() !== non + || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME); + }); +}; + + +/***/ }), +/* 468 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this line from `core-js@4` +__webpack_require__(469); +var $ = __webpack_require__(3); +var trimEnd = __webpack_require__(470); + +// `String.prototype.trimEnd` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimEnd !== trimEnd }, { + trimEnd: trimEnd +}); + + +/***/ }), +/* 469 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trimEnd = __webpack_require__(470); + +// `String.prototype.trimRight` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe +$({ target: 'String', proto: true, name: 'trimEnd', forced: ''.trimRight !== trimEnd }, { + trimRight: trimEnd +}); + + +/***/ }), +/* 470 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $trimEnd = (__webpack_require__(303).end); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.{ trimEnd, trimRight }` method +// https://tc39.es/ecma262/#sec-string.prototype.trimend +// https://tc39.es/ecma262/#String.prototype.trimright +module.exports = forcedStringTrimMethod('trimEnd') ? function trimEnd() { + return $trimEnd(this); +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +} : ''.trimEnd; + + +/***/ }), +/* 471 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this line from `core-js@4` +__webpack_require__(472); +var $ = __webpack_require__(3); +var trimStart = __webpack_require__(473); + +// `String.prototype.trimStart` method +// https://tc39.es/ecma262/#sec-string.prototype.trimstart +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimStart !== trimStart }, { + trimStart: trimStart +}); + + +/***/ }), +/* 472 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var trimStart = __webpack_require__(473); + +// `String.prototype.trimLeft` method +// https://tc39.es/ecma262/#sec-string.prototype.trimleft +// eslint-disable-next-line es/no-string-prototype-trimleft-trimright -- safe +$({ target: 'String', proto: true, name: 'trimStart', forced: ''.trimLeft !== trimStart }, { + trimLeft: trimStart +}); + + +/***/ }), +/* 473 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $trimStart = (__webpack_require__(303).start); +var forcedStringTrimMethod = __webpack_require__(467); + +// `String.prototype.{ trimStart, trimLeft }` method +// https://tc39.es/ecma262/#sec-string.prototype.trimstart +// https://tc39.es/ecma262/#String.prototype.trimleft +module.exports = forcedStringTrimMethod('trimStart') ? function trimStart() { + return $trimStart(this); +// eslint-disable-next-line es/no-string-prototype-trimstart-trimend -- safe +} : ''.trimStart; + + +/***/ }), +/* 474 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.anchor` method +// https://tc39.es/ecma262/#sec-string.prototype.anchor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, { + anchor: function anchor(name) { + return createHTML(this, 'a', 'name', name); + } +}); + + +/***/ }), +/* 475 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var requireObjectCoercible = __webpack_require__(16); +var toString = __webpack_require__(68); + +var quot = /"/g; +var replace = uncurryThis(''.replace); + +// `CreateHTML` abstract operation +// https://tc39.es/ecma262/#sec-createhtml +module.exports = function (string, tag, attribute, value) { + var S = toString(requireObjectCoercible(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + replace(toString(value), quot, '"') + '"'; + return p1 + '>' + S + '</' + tag + '>'; +}; + + +/***/ }), +/* 476 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); + +// check the existence of a method, lowercase +// of a tag and escaping quotes in arguments +module.exports = function (METHOD_NAME) { + return fails(function () { + var test = ''[METHOD_NAME]('"'); + return test !== test.toLowerCase() || test.split('"').length > 3; + }); +}; + + +/***/ }), +/* 477 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.big` method +// https://tc39.es/ecma262/#sec-string.prototype.big +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('big') }, { + big: function big() { + return createHTML(this, 'big', '', ''); + } +}); + + +/***/ }), +/* 478 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.blink` method +// https://tc39.es/ecma262/#sec-string.prototype.blink +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('blink') }, { + blink: function blink() { + return createHTML(this, 'blink', '', ''); + } +}); + + +/***/ }), +/* 479 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.bold` method +// https://tc39.es/ecma262/#sec-string.prototype.bold +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, { + bold: function bold() { + return createHTML(this, 'b', '', ''); + } +}); + + +/***/ }), +/* 480 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fixed` method +// https://tc39.es/ecma262/#sec-string.prototype.fixed +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, { + fixed: function fixed() { + return createHTML(this, 'tt', '', ''); + } +}); + + +/***/ }), +/* 481 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fontcolor` method +// https://tc39.es/ecma262/#sec-string.prototype.fontcolor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontcolor') }, { + fontcolor: function fontcolor(color) { + return createHTML(this, 'font', 'color', color); + } +}); + + +/***/ }), +/* 482 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.fontsize` method +// https://tc39.es/ecma262/#sec-string.prototype.fontsize +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontsize') }, { + fontsize: function fontsize(size) { + return createHTML(this, 'font', 'size', size); + } +}); + + +/***/ }), +/* 483 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.italics` method +// https://tc39.es/ecma262/#sec-string.prototype.italics +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, { + italics: function italics() { + return createHTML(this, 'i', '', ''); + } +}); + + +/***/ }), +/* 484 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.link` method +// https://tc39.es/ecma262/#sec-string.prototype.link +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, { + link: function link(url) { + return createHTML(this, 'a', 'href', url); + } +}); + + +/***/ }), +/* 485 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.small` method +// https://tc39.es/ecma262/#sec-string.prototype.small +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('small') }, { + small: function small() { + return createHTML(this, 'small', '', ''); + } +}); + + +/***/ }), +/* 486 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.strike` method +// https://tc39.es/ecma262/#sec-string.prototype.strike +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, { + strike: function strike() { + return createHTML(this, 'strike', '', ''); + } +}); + + +/***/ }), +/* 487 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.sub` method +// https://tc39.es/ecma262/#sec-string.prototype.sub +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sub') }, { + sub: function sub() { + return createHTML(this, 'sub', '', ''); + } +}); + + +/***/ }), +/* 488 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var createHTML = __webpack_require__(475); +var forcedStringHTMLMethod = __webpack_require__(476); + +// `String.prototype.sup` method +// https://tc39.es/ecma262/#sec-string.prototype.sup +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sup') }, { + sup: function sup() { + return createHTML(this, 'sup', '', ''); + } +}); + + +/***/ }), +/* 489 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Float32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Float32', function (init) { + return function Float32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 490 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var DESCRIPTORS = __webpack_require__(6); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); +var ArrayBufferViewCore = __webpack_require__(218); +var ArrayBufferModule = __webpack_require__(208); +var anInstance = __webpack_require__(211); +var createPropertyDescriptor = __webpack_require__(11); +var createNonEnumerableProperty = __webpack_require__(43); +var isIntegralNumber = __webpack_require__(309); +var toLength = __webpack_require__(64); +var toIndex = __webpack_require__(212); +var toOffset = __webpack_require__(492); +var toUint8Clamped = __webpack_require__(493); +var toPropertyKey = __webpack_require__(18); +var hasOwn = __webpack_require__(38); +var classof = __webpack_require__(69); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var create = __webpack_require__(71); +var isPrototypeOf = __webpack_require__(24); +var setPrototypeOf = __webpack_require__(113); +var getOwnPropertyNames = (__webpack_require__(57).f); +var typedArrayFrom = __webpack_require__(494); +var forEach = (__webpack_require__(83).forEach); +var setSpecies = __webpack_require__(194); +var defineBuiltInAccessor = __webpack_require__(77); +var definePropertyModule = __webpack_require__(44); +var getOwnPropertyDescriptorModule = __webpack_require__(5); +var arrayFromConstructorAndList = __webpack_require__(199); +var InternalStateModule = __webpack_require__(51); +var inheritIfRequired = __webpack_require__(118); + +var getInternalState = InternalStateModule.get; +var setInternalState = InternalStateModule.set; +var enforceInternalState = InternalStateModule.enforce; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var RangeError = globalThis.RangeError; +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataView = ArrayBufferModule.DataView; +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; +var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG; +var TypedArray = ArrayBufferViewCore.TypedArray; +var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype; +var isTypedArray = ArrayBufferViewCore.isTypedArray; +var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; +var WRONG_LENGTH = 'Wrong length'; + +var addGetter = function (it, key) { + defineBuiltInAccessor(it, key, { + configurable: true, + get: function () { + return getInternalState(this)[key]; + } + }); +}; + +var isArrayBuffer = function (it) { + var klass; + return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) === 'ArrayBuffer' || klass === 'SharedArrayBuffer'; +}; + +var isTypedArrayIndex = function (target, key) { + return isTypedArray(target) + && !isSymbol(key) + && key in target + && isIntegralNumber(+key) + && key >= 0; +}; + +var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) { + key = toPropertyKey(key); + return isTypedArrayIndex(target, key) + ? createPropertyDescriptor(2, target[key]) + : nativeGetOwnPropertyDescriptor(target, key); +}; + +var wrappedDefineProperty = function defineProperty(target, key, descriptor) { + key = toPropertyKey(key); + if (isTypedArrayIndex(target, key) + && isObject(descriptor) + && hasOwn(descriptor, 'value') + && !hasOwn(descriptor, 'get') + && !hasOwn(descriptor, 'set') + // TODO: add validation descriptor w/o calling accessors + && !descriptor.configurable + && (!hasOwn(descriptor, 'writable') || descriptor.writable) + && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable) + ) { + target[key] = descriptor.value; + return target; + } return nativeDefineProperty(target, key, descriptor); +}; + +if (DESCRIPTORS) { + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor; + definePropertyModule.f = wrappedDefineProperty; + addGetter(TypedArrayPrototype, 'buffer'); + addGetter(TypedArrayPrototype, 'byteOffset'); + addGetter(TypedArrayPrototype, 'byteLength'); + addGetter(TypedArrayPrototype, 'length'); + } + + $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor, + defineProperty: wrappedDefineProperty + }); + + module.exports = function (TYPE, wrapper, CLAMPED) { + var BYTES = TYPE.match(/\d+/)[0] / 8; + var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array'; + var GETTER = 'get' + TYPE; + var SETTER = 'set' + TYPE; + var NativeTypedArrayConstructor = globalThis[CONSTRUCTOR_NAME]; + var TypedArrayConstructor = NativeTypedArrayConstructor; + var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype; + var exported = {}; + + var getter = function (that, index) { + var data = getInternalState(that); + return data.view[GETTER](index * BYTES + data.byteOffset, true); + }; + + var setter = function (that, index, value) { + var data = getInternalState(that); + data.view[SETTER](index * BYTES + data.byteOffset, CLAMPED ? toUint8Clamped(value) : value, true); + }; + + var addElement = function (that, index) { + nativeDefineProperty(that, index, { + get: function () { + return getter(this, index); + }, + set: function (value) { + return setter(this, index, value); + }, + enumerable: true + }); + }; + + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + TypedArrayConstructor = wrapper(function (that, data, offset, $length) { + anInstance(that, TypedArrayConstructorPrototype); + var index = 0; + var byteOffset = 0; + var buffer, byteLength, length; + if (!isObject(data)) { + length = toIndex(data); + byteLength = length * BYTES; + buffer = new ArrayBuffer(byteLength); + } else if (isArrayBuffer(data)) { + buffer = data; + byteOffset = toOffset(offset, BYTES); + var $len = data.byteLength; + if ($length === undefined) { + if ($len % BYTES) throw new RangeError(WRONG_LENGTH); + byteLength = $len - byteOffset; + if (byteLength < 0) throw new RangeError(WRONG_LENGTH); + } else { + byteLength = toLength($length) * BYTES; + if (byteLength + byteOffset > $len) throw new RangeError(WRONG_LENGTH); + } + length = byteLength / BYTES; + } else if (isTypedArray(data)) { + return arrayFromConstructorAndList(TypedArrayConstructor, data); + } else { + return call(typedArrayFrom, TypedArrayConstructor, data); + } + setInternalState(that, { + buffer: buffer, + byteOffset: byteOffset, + byteLength: byteLength, + length: length, + view: new DataView(buffer) + }); + while (index < length) addElement(that, index++); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype); + } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) { + TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) { + anInstance(dummy, TypedArrayConstructorPrototype); + return inheritIfRequired(function () { + if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data)); + if (isArrayBuffer(data)) return $length !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length) + : typedArrayOffset !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES)) + : new NativeTypedArrayConstructor(data); + if (isTypedArray(data)) return arrayFromConstructorAndList(TypedArrayConstructor, data); + return call(typedArrayFrom, TypedArrayConstructor, data); + }(), dummy, TypedArrayConstructor); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) { + if (!(key in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]); + } + }); + TypedArrayConstructor.prototype = TypedArrayConstructorPrototype; + } + + if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor); + } + + enforceInternalState(TypedArrayConstructorPrototype).TypedArrayConstructor = TypedArrayConstructor; + + if (TYPED_ARRAY_TAG) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME); + } + + var FORCED = TypedArrayConstructor !== NativeTypedArrayConstructor; + + exported[CONSTRUCTOR_NAME] = TypedArrayConstructor; + + $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported); + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES); + } + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES); + } + + setSpecies(CONSTRUCTOR_NAME); + }; +} else module.exports = function () { /* empty */ }; + + +/***/ }), +/* 491 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +/* eslint-disable no-new, sonarjs/inconsistent-function-call -- required for testing */ +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var checkCorrectnessOfIteration = __webpack_require__(164); +var NATIVE_ARRAY_BUFFER_VIEWS = (__webpack_require__(218).NATIVE_ARRAY_BUFFER_VIEWS); + +var ArrayBuffer = globalThis.ArrayBuffer; +var Int8Array = globalThis.Int8Array; + +module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () { + Int8Array(1); +}) || !fails(function () { + new Int8Array(-1); +}) || !checkCorrectnessOfIteration(function (iterable) { + new Int8Array(); + new Int8Array(null); + new Int8Array(1.5); + new Int8Array(iterable); +}, true) || fails(function () { + // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill + return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1; +}); + + +/***/ }), +/* 492 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPositiveInteger = __webpack_require__(254); + +var $RangeError = RangeError; + +module.exports = function (it, BYTES) { + var offset = toPositiveInteger(it); + if (offset % BYTES) throw new $RangeError('Wrong offset'); + return offset; +}; + + +/***/ }), +/* 493 */ +/***/ (function(module) { + + +var round = Math.round; + +module.exports = function (it) { + var value = round(it); + return value < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF; +}; + + +/***/ }), +/* 494 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var bind = __webpack_require__(84); +var call = __webpack_require__(8); +var aConstructor = __webpack_require__(359); +var toObject = __webpack_require__(39); +var lengthOfArrayLike = __webpack_require__(63); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var isArrayIteratorMethod = __webpack_require__(131); +var isBigIntArray = __webpack_require__(495); +var aTypedArrayConstructor = (__webpack_require__(218).aTypedArrayConstructor); +var toBigInt = __webpack_require__(496); + +module.exports = function from(source /* , mapfn, thisArg */) { + var C = aConstructor(this); + var O = toObject(source); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iteratorMethod = getIteratorMethod(O); + var i, length, result, thisIsBigIntArray, value, step, iterator, next; + if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) { + iterator = getIterator(O, iteratorMethod); + next = iterator.next; + O = []; + while (!(step = call(next, iterator)).done) { + O.push(step.value); + } + } + if (mapping && argumentsLength > 2) { + mapfn = bind(mapfn, arguments[2]); + } + length = lengthOfArrayLike(O); + result = new (aTypedArrayConstructor(C))(length); + thisIsBigIntArray = isBigIntArray(result); + for (i = 0; length > i; i++) { + value = mapping ? mapfn(O[i], i) : O[i]; + // FF30- typed arrays doesn't properly convert objects to typed array values + result[i] = thisIsBigIntArray ? toBigInt(value) : +value; + } + return result; +}; + + +/***/ }), +/* 495 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var classof = __webpack_require__(69); + +module.exports = function (it) { + var klass = classof(it); + return klass === 'BigInt64Array' || klass === 'BigUint64Array'; +}; + + +/***/ }), +/* 496 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var toPrimitive = __webpack_require__(19); + +var $TypeError = TypeError; + +// `ToBigInt` abstract operation +// https://tc39.es/ecma262/#sec-tobigint +module.exports = function (argument) { + var prim = toPrimitive(argument, 'number'); + if (typeof prim == 'number') throw new $TypeError("Can't convert number to bigint"); + // eslint-disable-next-line es/no-bigint -- safe + return BigInt(prim); +}; + + +/***/ }), +/* 497 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Float64Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Float64', function (init) { + return function Float64Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 498 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int8Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int8', function (init) { + return function Int8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 499 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int16Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int16', function (init) { + return function Int16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 500 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Int32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Int32', function (init) { + return function Int32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 501 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint8Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint8', function (init) { + return function Uint8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 502 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint8ClampedArray` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint8', function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}, true); + + +/***/ }), +/* 503 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint16Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint16', function (init) { + return function Uint16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 504 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var createTypedArrayConstructor = __webpack_require__(490); + +// `Uint32Array` constructor +// https://tc39.es/ecma262/#sec-typedarray-objects +createTypedArrayConstructor('Uint32', function (init) { + return function Uint32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + + +/***/ }), +/* 505 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var lengthOfArrayLike = __webpack_require__(63); +var toIntegerOrInfinity = __webpack_require__(61); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.at` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.at +exportTypedArrayMethod('at', function at(index) { + var O = aTypedArray(this); + var len = lengthOfArrayLike(O); + var relativeIndex = toIntegerOrInfinity(index); + var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; + return (k < 0 || k >= len) ? undefined : O[k]; +}); + + +/***/ }), +/* 506 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var ArrayBufferViewCore = __webpack_require__(218); +var $ArrayCopyWithin = __webpack_require__(144); + +var u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.copyWithin` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin +exportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) { + return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined); +}); + + +/***/ }), +/* 507 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $every = (__webpack_require__(83).every); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.every` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every +exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) { + return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 508 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $fill = __webpack_require__(149); +var toBigInt = __webpack_require__(496); +var classof = __webpack_require__(69); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var slice = uncurryThis(''.slice); + +// V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18 +var CONVERSION_BUG = fails(function () { + var count = 0; + // eslint-disable-next-line es/no-typed-arrays -- safe + new Int8Array(2).fill({ valueOf: function () { return count++; } }); + return count !== 1; +}); + +// `%TypedArray%.prototype.fill` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill +exportTypedArrayMethod('fill', function fill(value /* , start, end */) { + var length = arguments.length; + aTypedArray(this); + var actualValue = slice(classof(this), 0, 3) === 'Big' ? toBigInt(value) : +value; + return call($fill, this, actualValue, length > 1 ? arguments[1] : undefined, length > 2 ? arguments[2] : undefined); +}, CONVERSION_BUG); + + +/***/ }), +/* 509 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $filter = (__webpack_require__(83).filter); +var fromSameTypeAndList = __webpack_require__(510); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.filter` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter +exportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) { + var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return fromSameTypeAndList(this, list); +}); + + +/***/ }), +/* 510 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var arrayFromConstructorAndList = __webpack_require__(199); +var getTypedArrayConstructor = (__webpack_require__(218).getTypedArrayConstructor); + +module.exports = function (instance, list) { + return arrayFromConstructorAndList(getTypedArrayConstructor(instance), list); +}; + + +/***/ }), +/* 511 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $find = (__webpack_require__(83).find); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.find` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find +exportTypedArrayMethod('find', function find(predicate /* , thisArg */) { + return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 512 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findIndex = (__webpack_require__(83).findIndex); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex +exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) { + return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 513 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findLast = (__webpack_require__(154).findLast); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findLast` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlast +exportTypedArrayMethod('findLast', function findLast(predicate /* , thisArg */) { + return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 514 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $findLastIndex = (__webpack_require__(154).findLastIndex); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findLastIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex +exportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) { + return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 515 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $forEach = (__webpack_require__(83).forEach); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.forEach` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach +exportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) { + $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 516 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); +var exportTypedArrayStaticMethod = (__webpack_require__(218).exportTypedArrayStaticMethod); +var typedArrayFrom = __webpack_require__(494); + +// `%TypedArray%.from` method +// https://tc39.es/ecma262/#sec-%typedarray%.from +exportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + + +/***/ }), +/* 517 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $includes = (__webpack_require__(59).includes); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.includes` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes +exportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) { + return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 518 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $indexOf = (__webpack_require__(59).indexOf); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.indexOf` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof +exportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) { + return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 519 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var fails = __webpack_require__(7); +var uncurryThis = __webpack_require__(14); +var ArrayBufferViewCore = __webpack_require__(218); +var ArrayIterators = __webpack_require__(168); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var Uint8Array = globalThis.Uint8Array; +var arrayValues = uncurryThis(ArrayIterators.values); +var arrayKeys = uncurryThis(ArrayIterators.keys); +var arrayEntries = uncurryThis(ArrayIterators.entries); +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var TypedArrayPrototype = Uint8Array && Uint8Array.prototype; + +var GENERIC = !fails(function () { + TypedArrayPrototype[ITERATOR].call([1]); +}); + +var ITERATOR_IS_VALUES = !!TypedArrayPrototype + && TypedArrayPrototype.values + && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values + && TypedArrayPrototype.values.name === 'values'; + +var typedArrayValues = function values() { + return arrayValues(aTypedArray(this)); +}; + +// `%TypedArray%.prototype.entries` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries +exportTypedArrayMethod('entries', function entries() { + return arrayEntries(aTypedArray(this)); +}, GENERIC); +// `%TypedArray%.prototype.keys` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys +exportTypedArrayMethod('keys', function keys() { + return arrayKeys(aTypedArray(this)); +}, GENERIC); +// `%TypedArray%.prototype.values` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values +exportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); +// `%TypedArray%.prototype[@@iterator]` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator +exportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' }); + + +/***/ }), +/* 520 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var uncurryThis = __webpack_require__(14); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $join = uncurryThis([].join); + +// `%TypedArray%.prototype.join` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join +exportTypedArrayMethod('join', function join(separator) { + return $join(aTypedArray(this), separator); +}); + + +/***/ }), +/* 521 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var apply = __webpack_require__(94); +var $lastIndexOf = __webpack_require__(175); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.lastIndexOf` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof +exportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) { + var length = arguments.length; + return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]); +}); + + +/***/ }), +/* 522 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $map = (__webpack_require__(83).map); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.map` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map +exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) { + return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { + return new (getTypedArrayConstructor(O))(length); + }); +}); + + +/***/ }), +/* 523 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(491); + +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; +var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod; + +// `%TypedArray%.of` method +// https://tc39.es/ecma262/#sec-%typedarray%.of +exportTypedArrayStaticMethod('of', function of(/* ...items */) { + var index = 0; + var length = arguments.length; + var result = new (aTypedArrayConstructor(this))(length); + while (length > index) result[index] = arguments[index++]; + return result; +}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + + +/***/ }), +/* 524 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $reduce = (__webpack_require__(181).left); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.reduce` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce +exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 525 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $reduceRight = (__webpack_require__(181).right); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.reduceRight` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright +exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 526 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var floor = Math.floor; + +// `%TypedArray%.prototype.reverse` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse +exportTypedArrayMethod('reverse', function reverse() { + var that = this; + var length = aTypedArray(that).length; + var middle = floor(length / 2); + var index = 0; + var value; + while (index < middle) { + value = that[index]; + that[index++] = that[--length]; + that[length] = value; + } return that; +}); + + +/***/ }), +/* 527 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var call = __webpack_require__(8); +var ArrayBufferViewCore = __webpack_require__(218); +var lengthOfArrayLike = __webpack_require__(63); +var toOffset = __webpack_require__(492); +var toIndexedObject = __webpack_require__(39); +var fails = __webpack_require__(7); + +var RangeError = globalThis.RangeError; +var Int8Array = globalThis.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var $set = Int8ArrayPrototype && Int8ArrayPrototype.set; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + var array = new Uint8ClampedArray(2); + call($set, array, { length: 1, 0: 3 }, 1); + return array[1] !== 3; +}); + +// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other +var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { + var array = new Int8Array(2); + array.set(1); + array.set('2', 1); + return array[0] !== 0 || array[1] !== 2; +}); + +// `%TypedArray%.prototype.set` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set +exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { + aTypedArray(this); + var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); + var src = toIndexedObject(arrayLike); + if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset); + var length = this.length; + var len = lengthOfArrayLike(src); + var index = 0; + if (len + offset > length) throw new RangeError('Wrong length'); + while (index < len) this[offset + index] = src[index++]; +}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + + +/***/ }), +/* 528 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var fails = __webpack_require__(7); +var arraySlice = __webpack_require__(76); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var FORCED = fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + new Int8Array(1).slice(); +}); + +// `%TypedArray%.prototype.slice` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice +exportTypedArrayMethod('slice', function slice(start, end) { + var list = arraySlice(aTypedArray(this), start, end); + var C = getTypedArrayConstructor(this); + var index = 0; + var length = list.length; + var result = new C(length); + while (length > index) result[index] = list[index++]; + return result; +}, FORCED); + + +/***/ }), +/* 529 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var $some = (__webpack_require__(83).some); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.some` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some +exportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) { + return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), +/* 530 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(85); +var fails = __webpack_require__(7); +var aCallable = __webpack_require__(30); +var internalSort = __webpack_require__(189); +var ArrayBufferViewCore = __webpack_require__(218); +var FF = __webpack_require__(190); +var IE_OR_EDGE = __webpack_require__(191); +var V8 = __webpack_require__(27); +var WEBKIT = __webpack_require__(192); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var Uint16Array = globalThis.Uint16Array; +var nativeSort = Uint16Array && uncurryThis(Uint16Array.prototype.sort); + +// WebKit +var ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !(fails(function () { + nativeSort(new Uint16Array(2), null); +}) && fails(function () { + nativeSort(new Uint16Array(2), {}); +})); + +var STABLE_SORT = !!nativeSort && !fails(function () { + // feature detection can be too slow, so check engines versions + if (V8) return V8 < 74; + if (FF) return FF < 67; + if (IE_OR_EDGE) return true; + if (WEBKIT) return WEBKIT < 602; + + var array = new Uint16Array(516); + var expected = Array(516); + var index, mod; + + for (index = 0; index < 516; index++) { + mod = index % 4; + array[index] = 515 - index; + expected[index] = index - 2 * mod + 3; + } + + nativeSort(array, function (a, b) { + return (a / 4 | 0) - (b / 4 | 0); + }); + + for (index = 0; index < 516; index++) { + if (array[index] !== expected[index]) return true; + } +}); + +var getSortCompare = function (comparefn) { + return function (x, y) { + if (comparefn !== undefined) return +comparefn(x, y) || 0; + // eslint-disable-next-line no-self-compare -- NaN check + if (y !== y) return -1; + // eslint-disable-next-line no-self-compare -- NaN check + if (x !== x) return 1; + if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1; + return x > y; + }; +}; + +// `%TypedArray%.prototype.sort` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort +exportTypedArrayMethod('sort', function sort(comparefn) { + if (comparefn !== undefined) aCallable(comparefn); + if (STABLE_SORT) return nativeSort(this, comparefn); + + return internalSort(aTypedArray(this), getSortCompare(comparefn)); +}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS); + + +/***/ }), +/* 531 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var toLength = __webpack_require__(64); +var toAbsoluteIndex = __webpack_require__(60); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.subarray` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray +exportTypedArrayMethod('subarray', function subarray(begin, end) { + var O = aTypedArray(this); + var length = O.length; + var beginIndex = toAbsoluteIndex(begin, length); + var C = getTypedArrayConstructor(O); + return new C( + O.buffer, + O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT, + toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex) + ); +}); + + +/***/ }), +/* 532 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var ArrayBufferViewCore = __webpack_require__(218); +var fails = __webpack_require__(7); +var arraySlice = __webpack_require__(76); + +var Int8Array = globalThis.Int8Array; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var $toLocaleString = [].toLocaleString; + +// iOS Safari 6.x fails here +var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () { + $toLocaleString.call(new Int8Array(1)); +}); + +var FORCED = fails(function () { + return [1, 2].toLocaleString() !== new Int8Array([1, 2]).toLocaleString(); +}) || !fails(function () { + Int8Array.prototype.toLocaleString.call([1, 2]); +}); + +// `%TypedArray%.prototype.toLocaleString` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring +exportTypedArrayMethod('toLocaleString', function toLocaleString() { + return apply( + $toLocaleString, + TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this), + arraySlice(arguments) + ); +}, FORCED); + + +/***/ }), +/* 533 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var arrayToReversed = __webpack_require__(197); +var ArrayBufferViewCore = __webpack_require__(218); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; + +// `%TypedArray%.prototype.toReversed` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed +exportTypedArrayMethod('toReversed', function toReversed() { + return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this)); +}); + + +/***/ }), +/* 534 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var ArrayBufferViewCore = __webpack_require__(218); +var uncurryThis = __webpack_require__(14); +var aCallable = __webpack_require__(30); +var arrayFromConstructorAndList = __webpack_require__(199); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort); + +// `%TypedArray%.prototype.toSorted` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted +exportTypedArrayMethod('toSorted', function toSorted(compareFn) { + if (compareFn !== undefined) aCallable(compareFn); + var O = aTypedArray(this); + var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O); + return sort(A, compareFn); +}); + + +/***/ }), +/* 535 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var exportTypedArrayMethod = (__webpack_require__(218).exportTypedArrayMethod); +var fails = __webpack_require__(7); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); + +var Uint8Array = globalThis.Uint8Array; +var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {}; +var arrayToString = [].toString; +var join = uncurryThis([].join); + +if (fails(function () { arrayToString.call({}); })) { + arrayToString = function toString() { + return join(this); + }; +} + +var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString !== arrayToString; + +// `%TypedArray%.prototype.toString` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring +exportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD); + + +/***/ }), +/* 536 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var arrayWith = __webpack_require__(206); +var ArrayBufferViewCore = __webpack_require__(218); +var isBigIntArray = __webpack_require__(495); +var toIntegerOrInfinity = __webpack_require__(61); +var toBigInt = __webpack_require__(496); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var PROPER_ORDER = !!function () { + try { + // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing + new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } }); + } catch (error) { + // some early implementations, like WebKit, does not follow the final semantic + // https://github.com/tc39/proposal-change-array-by-copy/pull/86 + return error === 8; + } +}(); + +// `%TypedArray%.prototype.with` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with +exportTypedArrayMethod('with', { 'with': function (index, value) { + var O = aTypedArray(this); + var relativeIndex = toIntegerOrInfinity(index); + var actualValue = isBigIntArray(O) ? toBigInt(value) : +value; + return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue); +} }['with'], !PROPER_ORDER); + + +/***/ }), +/* 537 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); + +var fromCharCode = String.fromCharCode; +var charAt = uncurryThis(''.charAt); +var exec = uncurryThis(/./.exec); +var stringSlice = uncurryThis(''.slice); + +var hex2 = /^[\da-f]{2}$/i; +var hex4 = /^[\da-f]{4}$/i; + +// `unescape` method +// https://tc39.es/ecma262/#sec-unescape-string +$({ global: true }, { + unescape: function unescape(string) { + var str = toString(string); + var result = ''; + var length = str.length; + var index = 0; + var chr, part; + while (index < length) { + chr = charAt(str, index++); + if (chr === '%') { + if (charAt(str, index) === 'u') { + part = stringSlice(str, index + 1, index + 5); + if (exec(hex4, part)) { + result += fromCharCode(parseInt(part, 16)); + index += 5; + continue; + } + } else { + part = stringSlice(str, index, index + 2); + if (exec(hex2, part)) { + result += fromCharCode(parseInt(part, 16)); + index += 2; + continue; + } + } + } + result += chr; + } return result; + } +}); + + +/***/ }), +/* 538 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(539); + + +/***/ }), +/* 539 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var FREEZING = __webpack_require__(276); +var globalThis = __webpack_require__(4); +var uncurryThis = __webpack_require__(14); +var defineBuiltIns = __webpack_require__(210); +var InternalMetadataModule = __webpack_require__(273); +var collection = __webpack_require__(272); +var collectionWeak = __webpack_require__(540); +var isObject = __webpack_require__(20); +var enforceInternalState = (__webpack_require__(51).enforce); +var fails = __webpack_require__(7); +var NATIVE_WEAK_MAP = __webpack_require__(52); + +var $Object = Object; +// eslint-disable-next-line es/no-array-isarray -- safe +var isArray = Array.isArray; +// eslint-disable-next-line es/no-object-isextensible -- safe +var isExtensible = $Object.isExtensible; +// eslint-disable-next-line es/no-object-isfrozen -- safe +var isFrozen = $Object.isFrozen; +// eslint-disable-next-line es/no-object-issealed -- safe +var isSealed = $Object.isSealed; +// eslint-disable-next-line es/no-object-freeze -- safe +var freeze = $Object.freeze; +// eslint-disable-next-line es/no-object-seal -- safe +var seal = $Object.seal; + +var IS_IE11 = !globalThis.ActiveXObject && 'ActiveXObject' in globalThis; +var InternalWeakMap; + +var wrapper = function (init) { + return function WeakMap() { + return init(this, arguments.length ? arguments[0] : undefined); + }; +}; + +// `WeakMap` constructor +// https://tc39.es/ecma262/#sec-weakmap-constructor +var $WeakMap = collection('WeakMap', wrapper, collectionWeak); +var WeakMapPrototype = $WeakMap.prototype; +var nativeSet = uncurryThis(WeakMapPrototype.set); + +// Chakra Edge bug: adding frozen arrays to WeakMap unfreeze them +var hasMSEdgeFreezingBug = function () { + return FREEZING && fails(function () { + var frozenArray = freeze([]); + nativeSet(new $WeakMap(), frozenArray, 1); + return !isFrozen(frozenArray); + }); +}; + +// IE11 WeakMap frozen keys fix +// We can't use feature detection because it crash some old IE builds +// https://github.com/zloirock/core-js/issues/485 +if (NATIVE_WEAK_MAP) if (IS_IE11) { + InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true); + InternalMetadataModule.enable(); + var nativeDelete = uncurryThis(WeakMapPrototype['delete']); + var nativeHas = uncurryThis(WeakMapPrototype.has); + var nativeGet = uncurryThis(WeakMapPrototype.get); + defineBuiltIns(WeakMapPrototype, { + 'delete': function (key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeDelete(this, key) || state.frozen['delete'](key); + } return nativeDelete(this, key); + }, + has: function has(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas(this, key) || state.frozen.has(key); + } return nativeHas(this, key); + }, + get: function get(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key); + } return nativeGet(this, key); + }, + set: function set(key, value) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceInternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value); + } else nativeSet(this, key, value); + return this; + } + }); +// Chakra Edge frozen keys fix +} else if (hasMSEdgeFreezingBug()) { + defineBuiltIns(WeakMapPrototype, { + set: function set(key, value) { + var arrayIntegrityLevel; + if (isArray(key)) { + if (isFrozen(key)) arrayIntegrityLevel = freeze; + else if (isSealed(key)) arrayIntegrityLevel = seal; + } + nativeSet(this, key, value); + if (arrayIntegrityLevel) arrayIntegrityLevel(key); + return this; + } + }); +} + + +/***/ }), +/* 540 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var uncurryThis = __webpack_require__(14); +var defineBuiltIns = __webpack_require__(210); +var getWeakData = (__webpack_require__(273).getWeakData); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var iterate = __webpack_require__(130); +var ArrayIterationModule = __webpack_require__(83); +var hasOwn = __webpack_require__(38); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; +var find = ArrayIterationModule.find; +var findIndex = ArrayIterationModule.findIndex; +var splice = uncurryThis([].splice); +var id = 0; + +// fallback for uncaught frozen keys +var uncaughtFrozenStore = function (state) { + return state.frozen || (state.frozen = new UncaughtFrozenStore()); +}; + +var UncaughtFrozenStore = function () { + this.entries = []; +}; + +var findUncaughtFrozen = function (store, key) { + return find(store.entries, function (it) { + return it[0] === key; + }); +}; + +UncaughtFrozenStore.prototype = { + get: function (key) { + var entry = findUncaughtFrozen(this, key); + if (entry) return entry[1]; + }, + has: function (key) { + return !!findUncaughtFrozen(this, key); + }, + set: function (key, value) { + var entry = findUncaughtFrozen(this, key); + if (entry) entry[1] = value; + else this.entries.push([key, value]); + }, + 'delete': function (key) { + var index = findIndex(this.entries, function (it) { + return it[0] === key; + }); + if (~index) splice(this.entries, index, 1); + return !!~index; + } +}; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var Constructor = wrapper(function (that, iterable) { + anInstance(that, Prototype); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + id: id++, + frozen: null + }); + if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); + }); + + var Prototype = Constructor.prototype; + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var data = getWeakData(anObject(key), true); + if (data === true) uncaughtFrozenStore(state).set(key, value); + else data[state.id] = value; + return that; + }; + + defineBuiltIns(Prototype, { + // `{ WeakMap, WeakSet }.prototype.delete(key)` methods + // https://tc39.es/ecma262/#sec-weakmap.prototype.delete + // https://tc39.es/ecma262/#sec-weakset.prototype.delete + 'delete': function (key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state)['delete'](key); + return data && hasOwn(data, state.id) && delete data[state.id]; + }, + // `{ WeakMap, WeakSet }.prototype.has(key)` methods + // https://tc39.es/ecma262/#sec-weakmap.prototype.has + // https://tc39.es/ecma262/#sec-weakset.prototype.has + has: function has(key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).has(key); + return data && hasOwn(data, state.id); + } + }); + + defineBuiltIns(Prototype, IS_MAP ? { + // `WeakMap.prototype.get(key)` method + // https://tc39.es/ecma262/#sec-weakmap.prototype.get + get: function get(key) { + var state = getInternalState(this); + if (isObject(key)) { + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).get(key); + if (data) return data[state.id]; + } + }, + // `WeakMap.prototype.set(key, value)` method + // https://tc39.es/ecma262/#sec-weakmap.prototype.set + set: function set(key, value) { + return define(this, key, value); + } + } : { + // `WeakSet.prototype.add(value)` method + // https://tc39.es/ecma262/#sec-weakset.prototype.add + add: function add(value) { + return define(this, value, true); + } + }); + + return Constructor; + } +}; + + +/***/ }), +/* 541 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(542); + + +/***/ }), +/* 542 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var collection = __webpack_require__(272); +var collectionWeak = __webpack_require__(540); + +// `WeakSet` constructor +// https://tc39.es/ecma262/#sec-weakset-constructor +collection('WeakSet', function (init) { + return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); }; +}, collectionWeak); + + +/***/ }), +/* 543 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); +var c2i = (__webpack_require__(544).c2i); + +var disallowed = /[^\d+/a-z]/i; +var whitespaces = /[\t\n\f\r ]+/g; +var finalEq = /[=]{1,2}$/; + +var $atob = getBuiltIn('atob'); +var fromCharCode = String.fromCharCode; +var charAt = uncurryThis(''.charAt); +var replace = uncurryThis(''.replace); +var exec = uncurryThis(disallowed.exec); + +var BASIC = !!$atob && !fails(function () { + return $atob('aGk=') !== 'hi'; +}); + +var NO_SPACES_IGNORE = BASIC && fails(function () { + return $atob(' ') !== ''; +}); + +var NO_ENCODING_CHECK = BASIC && !fails(function () { + $atob('a'); +}); + +var NO_ARG_RECEIVING_CHECK = BASIC && !fails(function () { + $atob(); +}); + +var WRONG_ARITY = BASIC && $atob.length !== 1; + +var FORCED = !BASIC || NO_SPACES_IGNORE || NO_ENCODING_CHECK || NO_ARG_RECEIVING_CHECK || WRONG_ARITY; + +// `atob` method +// https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob +$({ global: true, bind: true, enumerable: true, forced: FORCED }, { + atob: function atob(data) { + validateArgumentsLength(arguments.length, 1); + // `webpack` dev server bug on IE global methods - use call(fn, global, ...) + if (BASIC && !NO_SPACES_IGNORE && !NO_ENCODING_CHECK) return call($atob, globalThis, data); + var string = replace(toString(data), whitespaces, ''); + var output = ''; + var position = 0; + var bc = 0; + var length, chr, bs; + if (string.length % 4 === 0) { + string = replace(string, finalEq, ''); + } + length = string.length; + if (length % 4 === 1 || exec(disallowed, string)) { + throw new (getBuiltIn('DOMException'))('The string is not correctly encoded', 'InvalidCharacterError'); + } + while (position < length) { + chr = charAt(string, position++); + bs = bc % 4 ? bs * 64 + c2i[chr] : c2i[chr]; + if (bc++ % 4) output += fromCharCode(255 & bs >> (-2 * bc & 6)); + } return output; + } +}); + + +/***/ }), +/* 544 */ +/***/ (function(module) { + + +var commonAlphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; +var base64Alphabet = commonAlphabet + '+/'; +var base64UrlAlphabet = commonAlphabet + '-_'; + +var inverse = function (characters) { + // TODO: use `Object.create(null)` in `core-js@4` + var result = {}; + var index = 0; + for (; index < 64; index++) result[characters.charAt(index)] = index; + return result; +}; + +module.exports = { + i2c: base64Alphabet, + c2i: inverse(base64Alphabet), + i2cUrl: base64UrlAlphabet, + c2iUrl: inverse(base64UrlAlphabet) +}; + + +/***/ }), +/* 545 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var call = __webpack_require__(8); +var fails = __webpack_require__(7); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); +var i2c = (__webpack_require__(544).i2c); + +var $btoa = getBuiltIn('btoa'); +var charAt = uncurryThis(''.charAt); +var charCodeAt = uncurryThis(''.charCodeAt); + +var BASIC = !!$btoa && !fails(function () { + return $btoa('hi') !== 'aGk='; +}); + +var NO_ARG_RECEIVING_CHECK = BASIC && !fails(function () { + $btoa(); +}); + +var WRONG_ARG_CONVERSION = BASIC && fails(function () { + return $btoa(null) !== 'bnVsbA=='; +}); + +var WRONG_ARITY = BASIC && $btoa.length !== 1; + +// `btoa` method +// https://html.spec.whatwg.org/multipage/webappapis.html#dom-btoa +$({ global: true, bind: true, enumerable: true, forced: !BASIC || NO_ARG_RECEIVING_CHECK || WRONG_ARG_CONVERSION || WRONG_ARITY }, { + btoa: function btoa(data) { + validateArgumentsLength(arguments.length, 1); + // `webpack` dev server bug on IE global methods - use call(fn, global, ...) + if (BASIC) return call($btoa, globalThis, toString(data)); + var string = toString(data); + var output = ''; + var position = 0; + var map = i2c; + var block, charCode; + while (charAt(string, position) || (map = '=', position % 1)) { + charCode = charCodeAt(string, position += 3 / 4); + if (charCode > 0xFF) { + throw new (getBuiltIn('DOMException'))('The string contains characters outside of the Latin1 range', 'InvalidCharacterError'); + } + block = block << 8 | charCode; + output += charAt(map, 63 & block >> 8 - position % 1 * 8); + } return output; + } +}); + + +/***/ }), +/* 546 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DOMIterables = __webpack_require__(547); +var DOMTokenListPrototype = __webpack_require__(548); +var forEach = __webpack_require__(160); +var createNonEnumerableProperty = __webpack_require__(43); + +var handlePrototype = function (CollectionPrototype) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { + createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); + } catch (error) { + CollectionPrototype.forEach = forEach; + } +}; + +for (var COLLECTION_NAME in DOMIterables) { + if (DOMIterables[COLLECTION_NAME]) { + handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype); + } +} + +handlePrototype(DOMTokenListPrototype); + + +/***/ }), +/* 547 */ +/***/ (function(module) { + + +// iterable DOM collections +// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods +module.exports = { + CSSRuleList: 0, + CSSStyleDeclaration: 0, + CSSValueList: 0, + ClientRectList: 0, + DOMRectList: 0, + DOMStringList: 0, + DOMTokenList: 1, + DataTransferItemList: 0, + FileList: 0, + HTMLAllCollection: 0, + HTMLCollection: 0, + HTMLFormElement: 0, + HTMLSelectElement: 0, + MediaList: 0, + MimeTypeArray: 0, + NamedNodeMap: 0, + NodeList: 1, + PaintRequestList: 0, + Plugin: 0, + PluginArray: 0, + SVGLengthList: 0, + SVGNumberList: 0, + SVGPathSegList: 0, + SVGPointList: 0, + SVGStringList: 0, + SVGTransformList: 0, + SourceBufferList: 0, + StyleSheetList: 0, + TextTrackCueList: 0, + TextTrackList: 0, + TouchList: 0 +}; + + +/***/ }), +/* 548 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList` +var documentCreateElement = __webpack_require__(42); + +var classList = documentCreateElement('span').classList; +var DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype; + +module.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype; + + +/***/ }), +/* 549 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var DOMIterables = __webpack_require__(547); +var DOMTokenListPrototype = __webpack_require__(548); +var ArrayIteratorMethods = __webpack_require__(168); +var createNonEnumerableProperty = __webpack_require__(43); +var setToStringTag = __webpack_require__(82); +var wellKnownSymbol = __webpack_require__(33); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayValues = ArrayIteratorMethods.values; + +var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) { + if (CollectionPrototype) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[ITERATOR] !== ArrayValues) try { + createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); + } catch (error) { + CollectionPrototype[ITERATOR] = ArrayValues; + } + setToStringTag(CollectionPrototype, COLLECTION_NAME, true); + if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { + createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); + } catch (error) { + CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; + } + } + } +}; + +for (var COLLECTION_NAME in DOMIterables) { + handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype, COLLECTION_NAME); +} + +handlePrototype(DOMTokenListPrototype, 'DOMTokenList'); + + +/***/ }), +/* 550 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var getBuiltInNodeModule = __webpack_require__(229); +var fails = __webpack_require__(7); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var defineProperty = (__webpack_require__(44).f); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var hasOwn = __webpack_require__(38); +var anInstance = __webpack_require__(211); +var anObject = __webpack_require__(46); +var errorToString = __webpack_require__(125); +var normalizeStringArgument = __webpack_require__(119); +var DOMExceptionConstants = __webpack_require__(551); +var clearErrorStack = __webpack_require__(122); +var InternalStateModule = __webpack_require__(51); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var DOM_EXCEPTION = 'DOMException'; +var DATA_CLONE_ERR = 'DATA_CLONE_ERR'; +var Error = getBuiltIn('Error'); +// NodeJS < 17.0 does not expose `DOMException` to global +var NativeDOMException = getBuiltIn(DOM_EXCEPTION) || (function () { + try { + // NodeJS < 15.0 does not expose `MessageChannel` to global + var MessageChannel = getBuiltIn('MessageChannel') || getBuiltInNodeModule('worker_threads').MessageChannel; + // eslint-disable-next-line es/no-weak-map, unicorn/require-post-message-target-origin -- safe + new MessageChannel().port1.postMessage(new WeakMap()); + } catch (error) { + if (error.name === DATA_CLONE_ERR && error.code === 25) return error.constructor; + } +})(); +var NativeDOMExceptionPrototype = NativeDOMException && NativeDOMException.prototype; +var ErrorPrototype = Error.prototype; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(DOM_EXCEPTION); +var HAS_STACK = 'stack' in new Error(DOM_EXCEPTION); + +var codeFor = function (name) { + return hasOwn(DOMExceptionConstants, name) && DOMExceptionConstants[name].m ? DOMExceptionConstants[name].c : 0; +}; + +var $DOMException = function DOMException() { + anInstance(this, DOMExceptionPrototype); + var argumentsLength = arguments.length; + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); + var code = codeFor(name); + setInternalState(this, { + type: DOM_EXCEPTION, + name: name, + message: message, + code: code + }); + if (!DESCRIPTORS) { + this.name = name; + this.message = message; + this.code = code; + } + if (HAS_STACK) { + var error = new Error(message); + error.name = DOM_EXCEPTION; + defineProperty(this, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); + } +}; + +var DOMExceptionPrototype = $DOMException.prototype = create(ErrorPrototype); + +var createGetterDescriptor = function (get) { + return { enumerable: true, configurable: true, get: get }; +}; + +var getterFor = function (key) { + return createGetterDescriptor(function () { + return getInternalState(this)[key]; + }); +}; + +if (DESCRIPTORS) { + // `DOMException.prototype.code` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'code', getterFor('code')); + // `DOMException.prototype.message` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'message', getterFor('message')); + // `DOMException.prototype.name` getter + defineBuiltInAccessor(DOMExceptionPrototype, 'name', getterFor('name')); +} + +defineProperty(DOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, $DOMException)); + +// FF36- DOMException is a function, but can't be constructed +var INCORRECT_CONSTRUCTOR = fails(function () { + return !(new NativeDOMException() instanceof Error); +}); + +// Safari 10.1 / Chrome 32- / IE8- DOMException.prototype.toString bugs +var INCORRECT_TO_STRING = INCORRECT_CONSTRUCTOR || fails(function () { + return ErrorPrototype.toString !== errorToString || String(new NativeDOMException(1, 2)) !== '2: 1'; +}); + +// Deno 1.6.3- DOMException.prototype.code just missed +var INCORRECT_CODE = INCORRECT_CONSTRUCTOR || fails(function () { + return new NativeDOMException(1, 'DataCloneError').code !== 25; +}); + +// Deno 1.6.3- DOMException constants just missed +var MISSED_CONSTANTS = INCORRECT_CONSTRUCTOR + || NativeDOMException[DATA_CLONE_ERR] !== 25 + || NativeDOMExceptionPrototype[DATA_CLONE_ERR] !== 25; + +var FORCED_CONSTRUCTOR = IS_PURE ? INCORRECT_TO_STRING || INCORRECT_CODE || MISSED_CONSTANTS : INCORRECT_CONSTRUCTOR; + +// `DOMException` constructor +// https://webidl.spec.whatwg.org/#idl-DOMException +$({ global: true, constructor: true, forced: FORCED_CONSTRUCTOR }, { + DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException +}); + +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION); +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype; + +if (INCORRECT_TO_STRING && (IS_PURE || NativeDOMException === PolyfilledDOMException)) { + defineBuiltIn(PolyfilledDOMExceptionPrototype, 'toString', errorToString); +} + +if (INCORRECT_CODE && DESCRIPTORS && NativeDOMException === PolyfilledDOMException) { + defineBuiltInAccessor(PolyfilledDOMExceptionPrototype, 'code', createGetterDescriptor(function () { + return codeFor(anObject(this).name); + })); +} + +// `DOMException` constants +for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) { + var constant = DOMExceptionConstants[key]; + var constantName = constant.s; + var descriptor = createPropertyDescriptor(6, constant.c); + if (!hasOwn(PolyfilledDOMException, constantName)) { + defineProperty(PolyfilledDOMException, constantName, descriptor); + } + if (!hasOwn(PolyfilledDOMExceptionPrototype, constantName)) { + defineProperty(PolyfilledDOMExceptionPrototype, constantName, descriptor); + } +} + + +/***/ }), +/* 551 */ +/***/ (function(module) { + + +module.exports = { + IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 }, + DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 }, + HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 }, + WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 }, + InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 }, + NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 }, + NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 }, + NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 }, + NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 }, + InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 }, + InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 }, + SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 }, + InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 }, + NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 }, + InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 }, + ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 }, + TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 }, + SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 }, + NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 }, + AbortError: { s: 'ABORT_ERR', c: 20, m: 1 }, + URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 }, + QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 }, + TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 }, + InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 }, + DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 } +}; + + +/***/ }), +/* 552 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var createPropertyDescriptor = __webpack_require__(11); +var defineProperty = (__webpack_require__(44).f); +var hasOwn = __webpack_require__(38); +var anInstance = __webpack_require__(211); +var inheritIfRequired = __webpack_require__(118); +var normalizeStringArgument = __webpack_require__(119); +var DOMExceptionConstants = __webpack_require__(551); +var clearErrorStack = __webpack_require__(122); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var DOM_EXCEPTION = 'DOMException'; +var Error = getBuiltIn('Error'); +var NativeDOMException = getBuiltIn(DOM_EXCEPTION); + +var $DOMException = function DOMException() { + anInstance(this, DOMExceptionPrototype); + var argumentsLength = arguments.length; + var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]); + var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error'); + var that = new NativeDOMException(message, name); + var error = new Error(message); + error.name = DOM_EXCEPTION; + defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1))); + inheritIfRequired(that, this, $DOMException); + return that; +}; + +var DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype; + +var ERROR_HAS_STACK = 'stack' in new Error(DOM_EXCEPTION); +var DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, DOM_EXCEPTION); + +// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it +// https://github.com/Jarred-Sumner/bun/issues/399 +var BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable); + +var FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK; + +// `DOMException` constructor patch for `.stack` where it's required +// https://webidl.spec.whatwg.org/#es-DOMException-specialness +$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic + DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException +}); + +var PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION); +var PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype; + +if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) { + if (!IS_PURE) { + defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException)); + } + + for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) { + var constant = DOMExceptionConstants[key]; + var constantName = constant.s; + if (!hasOwn(PolyfilledDOMException, constantName)) { + defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c)); + } + } +} + + +/***/ }), +/* 553 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var getBuiltIn = __webpack_require__(23); +var setToStringTag = __webpack_require__(82); + +var DOM_EXCEPTION = 'DOMException'; + +// `DOMException.prototype[@@toStringTag]` property +setToStringTag(getBuiltIn(DOM_EXCEPTION), DOM_EXCEPTION); + + +/***/ }), +/* 554 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(555); +__webpack_require__(556); + + +/***/ }), +/* 555 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var clearImmediate = (__webpack_require__(360).clear); + +// `clearImmediate` method +// http://w3c.github.io/setImmediate/#si-clearImmediate +$({ global: true, bind: true, enumerable: true, forced: globalThis.clearImmediate !== clearImmediate }, { + clearImmediate: clearImmediate +}); + + +/***/ }), +/* 556 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var setTask = (__webpack_require__(360).set); +var schedulersFix = __webpack_require__(557); + +// https://github.com/oven-sh/bun/issues/1633 +var setImmediate = globalThis.setImmediate ? schedulersFix(setTask, false) : setTask; + +// `setImmediate` method +// http://w3c.github.io/setImmediate/#si-setImmediate +$({ global: true, bind: true, enumerable: true, forced: globalThis.setImmediate !== setImmediate }, { + setImmediate: setImmediate +}); + + +/***/ }), +/* 557 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var globalThis = __webpack_require__(4); +var apply = __webpack_require__(94); +var isCallable = __webpack_require__(21); +var ENVIRONMENT = __webpack_require__(183); +var USER_AGENT = __webpack_require__(28); +var arraySlice = __webpack_require__(76); +var validateArgumentsLength = __webpack_require__(361); + +var Function = globalThis.Function; +// dirty IE9- and Bun 0.3.0- checks +var WRAP = /MSIE .\./.test(USER_AGENT) || ENVIRONMENT === 'BUN' && (function () { + var version = globalThis.Bun.version.split('.'); + return version.length < 3 || version[0] === '0' && (version[1] < 3 || version[1] === '3' && version[2] === '0'); +})(); + +// IE9- / Bun 0.3.0- setTimeout / setInterval / setImmediate additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers +// https://github.com/oven-sh/bun/issues/1633 +module.exports = function (scheduler, hasTimeArg) { + var firstParamIndex = hasTimeArg ? 2 : 1; + return WRAP ? function (handler, timeout /* , ...arguments */) { + var boundArgs = validateArgumentsLength(arguments.length, 1) > firstParamIndex; + var fn = isCallable(handler) ? handler : Function(handler); + var params = boundArgs ? arraySlice(arguments, firstParamIndex) : []; + var callback = boundArgs ? function () { + apply(fn, this, params); + } : fn; + return hasTimeArg ? scheduler(callback, timeout) : scheduler(callback); + } : scheduler; +}; + + +/***/ }), +/* 558 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var microtask = __webpack_require__(363); +var aCallable = __webpack_require__(30); +var validateArgumentsLength = __webpack_require__(361); +var fails = __webpack_require__(7); +var DESCRIPTORS = __webpack_require__(6); + +// Bun ~ 1.0.30 bug +// https://github.com/oven-sh/bun/issues/9249 +var WRONG_ARITY = fails(function () { + // getOwnPropertyDescriptor for prevent experimental warning in Node 11 + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + return DESCRIPTORS && Object.getOwnPropertyDescriptor(globalThis, 'queueMicrotask').value.length !== 1; +}); + +// `queueMicrotask` method +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask +$({ global: true, enumerable: true, dontCallGetSet: true, forced: WRONG_ARITY }, { + queueMicrotask: function queueMicrotask(fn) { + validateArgumentsLength(arguments.length, 1); + microtask(aCallable(fn)); + } +}); + + +/***/ }), +/* 559 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var defineBuiltInAccessor = __webpack_require__(77); +var DESCRIPTORS = __webpack_require__(6); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; +var INCORRECT_VALUE = globalThis.self !== globalThis; + +// `self` getter +// https://html.spec.whatwg.org/multipage/window-object.html#dom-self +try { + if (DESCRIPTORS) { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var descriptor = Object.getOwnPropertyDescriptor(globalThis, 'self'); + // some engines have `self`, but with incorrect descriptor + // https://github.com/denoland/deno/issues/15765 + if (INCORRECT_VALUE || !descriptor || !descriptor.get || !descriptor.enumerable) { + defineBuiltInAccessor(globalThis, 'self', { + get: function self() { + return globalThis; + }, + set: function self(value) { + if (this !== globalThis) throw new $TypeError('Illegal invocation'); + defineProperty(globalThis, 'self', { + value: value, + writable: true, + configurable: true, + enumerable: true + }); + }, + configurable: true, + enumerable: true + }); + } + } else $({ global: true, simple: true, forced: INCORRECT_VALUE }, { + self: globalThis + }); +} catch (error) { /* empty */ } + + +/***/ }), +/* 560 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var IS_PURE = __webpack_require__(36); +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var getBuiltIn = __webpack_require__(23); +var uncurryThis = __webpack_require__(14); +var fails = __webpack_require__(7); +var uid = __webpack_require__(40); +var isCallable = __webpack_require__(21); +var isConstructor = __webpack_require__(89); +var isNullOrUndefined = __webpack_require__(17); +var isObject = __webpack_require__(20); +var isSymbol = __webpack_require__(22); +var iterate = __webpack_require__(130); +var anObject = __webpack_require__(46); +var classof = __webpack_require__(69); +var hasOwn = __webpack_require__(38); +var createProperty = __webpack_require__(141); +var createNonEnumerableProperty = __webpack_require__(43); +var lengthOfArrayLike = __webpack_require__(63); +var validateArgumentsLength = __webpack_require__(361); +var getRegExpFlags = __webpack_require__(402); +var MapHelpers = __webpack_require__(279); +var SetHelpers = __webpack_require__(419); +var setIterate = __webpack_require__(421); +var detachTransferable = __webpack_require__(228); +var ERROR_STACK_INSTALLABLE = __webpack_require__(123); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__(230); + +var Object = globalThis.Object; +var Array = globalThis.Array; +var Date = globalThis.Date; +var Error = globalThis.Error; +var TypeError = globalThis.TypeError; +var PerformanceMark = globalThis.PerformanceMark; +var DOMException = getBuiltIn('DOMException'); +var Map = MapHelpers.Map; +var mapHas = MapHelpers.has; +var mapGet = MapHelpers.get; +var mapSet = MapHelpers.set; +var Set = SetHelpers.Set; +var setAdd = SetHelpers.add; +var setHas = SetHelpers.has; +var objectKeys = getBuiltIn('Object', 'keys'); +var push = uncurryThis([].push); +var thisBooleanValue = uncurryThis(true.valueOf); +var thisNumberValue = uncurryThis(1.0.valueOf); +var thisStringValue = uncurryThis(''.valueOf); +var thisTimeValue = uncurryThis(Date.prototype.getTime); +var PERFORMANCE_MARK = uid('structuredClone'); +var DATA_CLONE_ERROR = 'DataCloneError'; +var TRANSFERRING = 'Transferring'; + +var checkBasicSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var set1 = new globalThis.Set([7]); + var set2 = structuredCloneImplementation(set1); + var number = structuredCloneImplementation(Object(7)); + return set2 === set1 || !set2.has(7) || !isObject(number) || +number !== 7; + }) && structuredCloneImplementation; +}; + +var checkErrorsCloning = function (structuredCloneImplementation, $Error) { + return !fails(function () { + var error = new $Error(); + var test = structuredCloneImplementation({ a: error, b: error }); + return !(test && test.a === test.b && test.a instanceof $Error && test.a.stack === error.stack); + }); +}; + +// https://github.com/whatwg/html/pull/5749 +var checkNewErrorsCloningSemantic = function (structuredCloneImplementation) { + return !fails(function () { + var test = structuredCloneImplementation(new globalThis.AggregateError([1], PERFORMANCE_MARK, { cause: 3 })); + return test.name !== 'AggregateError' || test.errors[0] !== 1 || test.message !== PERFORMANCE_MARK || test.cause !== 3; + }); +}; + +// FF94+, Safari 15.4+, Chrome 98+, NodeJS 17.0+, Deno 1.13+ +// FF<103 and Safari implementations can't clone errors +// https://bugzilla.mozilla.org/show_bug.cgi?id=1556604 +// FF103 can clone errors, but `.stack` of clone is an empty string +// https://bugzilla.mozilla.org/show_bug.cgi?id=1778762 +// FF104+ fixed it on usual errors, but not on DOMExceptions +// https://bugzilla.mozilla.org/show_bug.cgi?id=1777321 +// Chrome <102 returns `null` if cloned object contains multiple references to one error +// https://bugs.chromium.org/p/v8/issues/detail?id=12542 +// NodeJS implementation can't clone DOMExceptions +// https://github.com/nodejs/node/issues/41038 +// only FF103+ supports new (html/5749) error cloning semantic +var nativeStructuredClone = globalThis.structuredClone; + +var FORCED_REPLACEMENT = IS_PURE + || !checkErrorsCloning(nativeStructuredClone, Error) + || !checkErrorsCloning(nativeStructuredClone, DOMException) + || !checkNewErrorsCloningSemantic(nativeStructuredClone); + +// Chrome 82+, Safari 14.1+, Deno 1.11+ +// Chrome 78-81 implementation swaps `.name` and `.message` of cloned `DOMException` +// Chrome returns `null` if cloned object contains multiple references to one error +// Safari 14.1 implementation doesn't clone some `RegExp` flags, so requires a workaround +// Safari implementation can't clone errors +// Deno 1.2-1.10 implementations too naive +// NodeJS 16.0+ does not have `PerformanceMark` constructor +// NodeJS <17.2 structured cloning implementation from `performance.mark` is too naive +// and can't clone, for example, `RegExp` or some boxed primitives +// https://github.com/nodejs/node/issues/40840 +// no one of those implementations supports new (html/5749) error cloning semantic +var structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) { + return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail; +}); + +var nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark; + +var throwUncloneable = function (type) { + throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR); +}; + +var throwUnpolyfillable = function (type, action) { + throw new DOMException((action || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR); +}; + +var tryNativeRestrictedStructuredClone = function (value, type) { + if (!nativeRestrictedStructuredClone) throwUnpolyfillable(type); + return nativeRestrictedStructuredClone(value); +}; + +var createDataTransfer = function () { + var dataTransfer; + try { + dataTransfer = new globalThis.DataTransfer(); + } catch (error) { + try { + dataTransfer = new globalThis.ClipboardEvent('').clipboardData; + } catch (error2) { /* empty */ } + } + return dataTransfer && dataTransfer.items && dataTransfer.files ? dataTransfer : null; +}; + +var cloneBuffer = function (value, map, $type) { + if (mapHas(map, value)) return mapGet(map, value); + + var type = $type || classof(value); + var clone, length, options, source, target, i; + + if (type === 'SharedArrayBuffer') { + if (nativeRestrictedStructuredClone) clone = nativeRestrictedStructuredClone(value); + // SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original + else clone = value; + } else { + var DataView = globalThis.DataView; + + // `ArrayBuffer#slice` is not available in IE10 + // `ArrayBuffer#slice` and `DataView` are not available in old FF + if (!DataView && !isCallable(value.slice)) throwUnpolyfillable('ArrayBuffer'); + // detached buffers throws in `DataView` and `.slice` + try { + if (isCallable(value.slice) && !value.resizable) { + clone = value.slice(0); + } else { + length = value.byteLength; + options = 'maxByteLength' in value ? { maxByteLength: value.maxByteLength } : undefined; + // eslint-disable-next-line es/no-resizable-and-growable-arraybuffers -- safe + clone = new ArrayBuffer(length, options); + source = new DataView(value); + target = new DataView(clone); + for (i = 0; i < length; i++) { + target.setUint8(i, source.getUint8(i)); + } + } + } catch (error) { + throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR); + } + } + + mapSet(map, value, clone); + + return clone; +}; + +var cloneView = function (value, type, offset, length, map) { + var C = globalThis[type]; + // in some old engines like Safari 9, typeof C is 'object' + // on Uint8ClampedArray or some other constructors + if (!isObject(C)) throwUnpolyfillable(type); + return new C(cloneBuffer(value.buffer, map), offset, length); +}; + +var structuredCloneInternal = function (value, map) { + if (isSymbol(value)) throwUncloneable('Symbol'); + if (!isObject(value)) return value; + // effectively preserves circular references + if (map) { + if (mapHas(map, value)) return mapGet(map, value); + } else map = new Map(); + + var type = classof(value); + var C, name, cloned, dataTransfer, i, length, keys, key; + + switch (type) { + case 'Array': + cloned = Array(lengthOfArrayLike(value)); + break; + case 'Object': + cloned = {}; + break; + case 'Map': + cloned = new Map(); + break; + case 'Set': + cloned = new Set(); + break; + case 'RegExp': + // in this block because of a Safari 14.1 bug + // old FF does not clone regexes passed to the constructor, so get the source and flags directly + cloned = new RegExp(value.source, getRegExpFlags(value)); + break; + case 'Error': + name = value.name; + switch (name) { + case 'AggregateError': + cloned = new (getBuiltIn(name))([]); + break; + case 'EvalError': + case 'RangeError': + case 'ReferenceError': + case 'SuppressedError': + case 'SyntaxError': + case 'TypeError': + case 'URIError': + cloned = new (getBuiltIn(name))(); + break; + case 'CompileError': + case 'LinkError': + case 'RuntimeError': + cloned = new (getBuiltIn('WebAssembly', name))(); + break; + default: + cloned = new Error(); + } + break; + case 'DOMException': + cloned = new DOMException(value.message, value.name); + break; + case 'ArrayBuffer': + case 'SharedArrayBuffer': + cloned = cloneBuffer(value, map, type); + break; + case 'DataView': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float16Array': + case 'Float32Array': + case 'Float64Array': + case 'BigInt64Array': + case 'BigUint64Array': + length = type === 'DataView' ? value.byteLength : value.length; + cloned = cloneView(value, type, value.byteOffset, length, map); + break; + case 'DOMQuad': + try { + cloned = new DOMQuad( + structuredCloneInternal(value.p1, map), + structuredCloneInternal(value.p2, map), + structuredCloneInternal(value.p3, map), + structuredCloneInternal(value.p4, map) + ); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } + break; + case 'File': + if (nativeRestrictedStructuredClone) try { + cloned = nativeRestrictedStructuredClone(value); + // NodeJS 20.0.0 bug, https://github.com/nodejs/node/issues/47612 + if (classof(cloned) !== type) cloned = undefined; + } catch (error) { /* empty */ } + if (!cloned) try { + cloned = new File([value], value.name, value); + } catch (error) { /* empty */ } + if (!cloned) throwUnpolyfillable(type); + break; + case 'FileList': + dataTransfer = createDataTransfer(); + if (dataTransfer) { + for (i = 0, length = lengthOfArrayLike(value); i < length; i++) { + dataTransfer.items.add(structuredCloneInternal(value[i], map)); + } + cloned = dataTransfer.files; + } else cloned = tryNativeRestrictedStructuredClone(value, type); + break; + case 'ImageData': + // Safari 9 ImageData is a constructor, but typeof ImageData is 'object' + try { + cloned = new ImageData( + structuredCloneInternal(value.data, map), + value.width, + value.height, + { colorSpace: value.colorSpace } + ); + } catch (error) { + cloned = tryNativeRestrictedStructuredClone(value, type); + } break; + default: + if (nativeRestrictedStructuredClone) { + cloned = nativeRestrictedStructuredClone(value); + } else switch (type) { + case 'BigInt': + // can be a 3rd party polyfill + cloned = Object(value.valueOf()); + break; + case 'Boolean': + cloned = Object(thisBooleanValue(value)); + break; + case 'Number': + cloned = Object(thisNumberValue(value)); + break; + case 'String': + cloned = Object(thisStringValue(value)); + break; + case 'Date': + cloned = new Date(thisTimeValue(value)); + break; + case 'Blob': + try { + cloned = value.slice(0, value.size, value.type); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMPoint': + case 'DOMPointReadOnly': + C = globalThis[type]; + try { + cloned = C.fromPoint + ? C.fromPoint(value) + : new C(value.x, value.y, value.z, value.w); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMRect': + case 'DOMRectReadOnly': + C = globalThis[type]; + try { + cloned = C.fromRect + ? C.fromRect(value) + : new C(value.x, value.y, value.width, value.height); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'DOMMatrix': + case 'DOMMatrixReadOnly': + C = globalThis[type]; + try { + cloned = C.fromMatrix + ? C.fromMatrix(value) + : new C(value); + } catch (error) { + throwUnpolyfillable(type); + } break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone)) throwUnpolyfillable(type); + try { + cloned = value.clone(); + } catch (error) { + throwUncloneable(type); + } break; + case 'CropTarget': + case 'CryptoKey': + case 'FileSystemDirectoryHandle': + case 'FileSystemFileHandle': + case 'FileSystemHandle': + case 'GPUCompilationInfo': + case 'GPUCompilationMessage': + case 'ImageBitmap': + case 'RTCCertificate': + case 'WebAssembly.Module': + throwUnpolyfillable(type); + // break omitted + default: + throwUncloneable(type); + } + } + + mapSet(map, value, cloned); + + switch (type) { + case 'Array': + case 'Object': + keys = objectKeys(value); + for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) { + key = keys[i]; + createProperty(cloned, key, structuredCloneInternal(value[key], map)); + } break; + case 'Map': + value.forEach(function (v, k) { + mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map)); + }); + break; + case 'Set': + value.forEach(function (v) { + setAdd(cloned, structuredCloneInternal(v, map)); + }); + break; + case 'Error': + createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map)); + if (hasOwn(value, 'cause')) { + createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map)); + } + if (name === 'AggregateError') { + cloned.errors = structuredCloneInternal(value.errors, map); + } else if (name === 'SuppressedError') { + cloned.error = structuredCloneInternal(value.error, map); + cloned.suppressed = structuredCloneInternal(value.suppressed, map); + } // break omitted + case 'DOMException': + if (ERROR_STACK_INSTALLABLE) { + createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map)); + } + } + + return cloned; +}; + +var tryToTransfer = function (rawTransfer, map) { + if (!isObject(rawTransfer)) throw new TypeError('Transfer option cannot be converted to a sequence'); + + var transfer = []; + + iterate(rawTransfer, function (value) { + push(transfer, anObject(value)); + }); + + var i = 0; + var length = lengthOfArrayLike(transfer); + var buffers = new Set(); + var value, type, C, transferred, canvas, context; + + while (i < length) { + value = transfer[i++]; + + type = classof(value); + + if (type === 'ArrayBuffer' ? setHas(buffers, value) : mapHas(map, value)) { + throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR); + } + + if (type === 'ArrayBuffer') { + setAdd(buffers, value); + continue; + } + + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + transferred = nativeStructuredClone(value, { transfer: [value] }); + } else switch (type) { + case 'ImageBitmap': + C = globalThis.OffscreenCanvas; + if (!isConstructor(C)) throwUnpolyfillable(type, TRANSFERRING); + try { + canvas = new C(value.width, value.height); + context = canvas.getContext('bitmaprenderer'); + context.transferFromImageBitmap(value); + transferred = canvas.transferToImageBitmap(); + } catch (error) { /* empty */ } + break; + case 'AudioData': + case 'VideoFrame': + if (!isCallable(value.clone) || !isCallable(value.close)) throwUnpolyfillable(type, TRANSFERRING); + try { + transferred = value.clone(); + value.close(); + } catch (error) { /* empty */ } + break; + case 'MediaSourceHandle': + case 'MessagePort': + case 'MIDIAccess': + case 'OffscreenCanvas': + case 'ReadableStream': + case 'RTCDataChannel': + case 'TransformStream': + case 'WebTransportReceiveStream': + case 'WebTransportSendStream': + case 'WritableStream': + throwUnpolyfillable(type, TRANSFERRING); + } + + if (transferred === undefined) throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR); + + mapSet(map, value, transferred); + } + + return buffers; +}; + +var detachBuffers = function (buffers) { + setIterate(buffers, function (buffer) { + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + nativeRestrictedStructuredClone(buffer, { transfer: [buffer] }); + } else if (isCallable(buffer.transfer)) { + buffer.transfer(); + } else if (detachTransferable) { + detachTransferable(buffer); + } else { + throwUnpolyfillable('ArrayBuffer', TRANSFERRING); + } + }); +}; + +// `structuredClone` method +// https://html.spec.whatwg.org/multipage/structured-data.html#dom-structuredclone +$({ global: true, enumerable: true, sham: !PROPER_STRUCTURED_CLONE_TRANSFER, forced: FORCED_REPLACEMENT }, { + structuredClone: function structuredClone(value /* , { transfer } */) { + var options = validateArgumentsLength(arguments.length, 1) > 1 && !isNullOrUndefined(arguments[1]) ? anObject(arguments[1]) : undefined; + var transfer = options ? options.transfer : undefined; + var map, buffers; + + if (transfer !== undefined) { + map = new Map(); + buffers = tryToTransfer(transfer, map); + } + + var clone = structuredCloneInternal(value, map); + + // since of an issue with cloning views of transferred buffers, we a forced to detach them later + // https://github.com/zloirock/core-js/issues/1265 + if (buffers) detachBuffers(buffers); + + return clone; + } +}); + + +/***/ }), +/* 561 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's split to modules listed below +__webpack_require__(562); +__webpack_require__(563); + + +/***/ }), +/* 562 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var schedulersFix = __webpack_require__(557); + +var setInterval = schedulersFix(globalThis.setInterval, true); + +// Bun / IE9- setInterval additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval +$({ global: true, bind: true, forced: globalThis.setInterval !== setInterval }, { + setInterval: setInterval +}); + + +/***/ }), +/* 563 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var schedulersFix = __webpack_require__(557); + +var setTimeout = schedulersFix(globalThis.setTimeout, true); + +// Bun / IE9- setTimeout additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout +$({ global: true, bind: true, forced: globalThis.setTimeout !== setTimeout }, { + setTimeout: setTimeout +}); + + +/***/ }), +/* 564 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(565); + + +/***/ }), +/* 565 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__(447); +var $ = __webpack_require__(3); +var DESCRIPTORS = __webpack_require__(6); +var USE_NATIVE_URL = __webpack_require__(566); +var globalThis = __webpack_require__(4); +var bind = __webpack_require__(84); +var uncurryThis = __webpack_require__(14); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var anInstance = __webpack_require__(211); +var hasOwn = __webpack_require__(38); +var assign = __webpack_require__(322); +var arrayFrom = __webpack_require__(162); +var arraySlice = __webpack_require__(76); +var codeAt = (__webpack_require__(440).codeAt); +var toASCII = __webpack_require__(567); +var $toString = __webpack_require__(68); +var setToStringTag = __webpack_require__(82); +var validateArgumentsLength = __webpack_require__(361); +var URLSearchParamsModule = __webpack_require__(568); +var InternalStateModule = __webpack_require__(51); + +var setInternalState = InternalStateModule.set; +var getInternalURLState = InternalStateModule.getterFor('URL'); +var URLSearchParams = URLSearchParamsModule.URLSearchParams; +var getInternalSearchParamsState = URLSearchParamsModule.getState; + +var NativeURL = globalThis.URL; +var TypeError = globalThis.TypeError; +var parseInt = globalThis.parseInt; +var floor = Math.floor; +var pow = Math.pow; +var charAt = uncurryThis(''.charAt); +var exec = uncurryThis(/./.exec); +var join = uncurryThis([].join); +var numberToString = uncurryThis(1.0.toString); +var pop = uncurryThis([].pop); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); +var toLowerCase = uncurryThis(''.toLowerCase); +var unshift = uncurryThis([].unshift); + +var INVALID_AUTHORITY = 'Invalid authority'; +var INVALID_SCHEME = 'Invalid scheme'; +var INVALID_HOST = 'Invalid host'; +var INVALID_PORT = 'Invalid port'; + +var ALPHA = /[a-z]/i; +// eslint-disable-next-line regexp/no-obscure-range -- safe +var ALPHANUMERIC = /[\d+-.a-z]/i; +var DIGIT = /\d/; +var HEX_START = /^0x/i; +var OCT = /^[0-7]+$/; +var DEC = /^\d+$/; +var HEX = /^[\da-f]+$/i; +/* eslint-disable regexp/no-control-character -- safe */ +var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/; +var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/; +var LEADING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+/; +var TRAILING_C0_CONTROL_OR_SPACE = /(^|[^\u0000-\u0020])[\u0000-\u0020]+$/; +var TAB_AND_NEW_LINE = /[\t\n\r]/g; +/* eslint-enable regexp/no-control-character -- safe */ +var EOF; + +// https://url.spec.whatwg.org/#ipv4-number-parser +var parseIPv4 = function (input) { + var parts = split(input, '.'); + var partsLength, numbers, index, part, radix, number, ipv4; + if (parts.length && parts[parts.length - 1] === '') { + parts.length--; + } + partsLength = parts.length; + if (partsLength > 4) return input; + numbers = []; + for (index = 0; index < partsLength; index++) { + part = parts[index]; + if (part === '') return input; + radix = 10; + if (part.length > 1 && charAt(part, 0) === '0') { + radix = exec(HEX_START, part) ? 16 : 8; + part = stringSlice(part, radix === 8 ? 1 : 2); + } + if (part === '') { + number = 0; + } else { + if (!exec(radix === 10 ? DEC : radix === 8 ? OCT : HEX, part)) return input; + number = parseInt(part, radix); + } + push(numbers, number); + } + for (index = 0; index < partsLength; index++) { + number = numbers[index]; + if (index === partsLength - 1) { + if (number >= pow(256, 5 - partsLength)) return null; + } else if (number > 255) return null; + } + ipv4 = pop(numbers); + for (index = 0; index < numbers.length; index++) { + ipv4 += numbers[index] * pow(256, 3 - index); + } + return ipv4; +}; + +// https://url.spec.whatwg.org/#concept-ipv6-parser +// eslint-disable-next-line max-statements -- TODO +var parseIPv6 = function (input) { + var address = [0, 0, 0, 0, 0, 0, 0, 0]; + var pieceIndex = 0; + var compress = null; + var pointer = 0; + var value, length, numbersSeen, ipv4Piece, number, swaps, swap; + + var chr = function () { + return charAt(input, pointer); + }; + + if (chr() === ':') { + if (charAt(input, 1) !== ':') return; + pointer += 2; + pieceIndex++; + compress = pieceIndex; + } + while (chr()) { + if (pieceIndex === 8) return; + if (chr() === ':') { + if (compress !== null) return; + pointer++; + pieceIndex++; + compress = pieceIndex; + continue; + } + value = length = 0; + while (length < 4 && exec(HEX, chr())) { + value = value * 16 + parseInt(chr(), 16); + pointer++; + length++; + } + if (chr() === '.') { + if (length === 0) return; + pointer -= length; + if (pieceIndex > 6) return; + numbersSeen = 0; + while (chr()) { + ipv4Piece = null; + if (numbersSeen > 0) { + if (chr() === '.' && numbersSeen < 4) pointer++; + else return; + } + if (!exec(DIGIT, chr())) return; + while (exec(DIGIT, chr())) { + number = parseInt(chr(), 10); + if (ipv4Piece === null) ipv4Piece = number; + else if (ipv4Piece === 0) return; + else ipv4Piece = ipv4Piece * 10 + number; + if (ipv4Piece > 255) return; + pointer++; + } + address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; + numbersSeen++; + if (numbersSeen === 2 || numbersSeen === 4) pieceIndex++; + } + if (numbersSeen !== 4) return; + break; + } else if (chr() === ':') { + pointer++; + if (!chr()) return; + } else if (chr()) return; + address[pieceIndex++] = value; + } + if (compress !== null) { + swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex !== 0 && swaps > 0) { + swap = address[pieceIndex]; + address[pieceIndex--] = address[compress + swaps - 1]; + address[compress + --swaps] = swap; + } + } else if (pieceIndex !== 8) return; + return address; +}; + +var findLongestZeroSequence = function (ipv6) { + var maxIndex = null; + var maxLength = 1; + var currStart = null; + var currLength = 0; + var index = 0; + for (; index < 8; index++) { + if (ipv6[index] !== 0) { + if (currLength > maxLength) { + maxIndex = currStart; + maxLength = currLength; + } + currStart = null; + currLength = 0; + } else { + if (currStart === null) currStart = index; + ++currLength; + } + } + return currLength > maxLength ? currStart : maxIndex; +}; + +// https://url.spec.whatwg.org/#host-serializing +var serializeHost = function (host) { + var result, index, compress, ignore0; + + // ipv4 + if (typeof host == 'number') { + result = []; + for (index = 0; index < 4; index++) { + unshift(result, host % 256); + host = floor(host / 256); + } + return join(result, '.'); + } + + // ipv6 + if (typeof host == 'object') { + result = ''; + compress = findLongestZeroSequence(host); + for (index = 0; index < 8; index++) { + if (ignore0 && host[index] === 0) continue; + if (ignore0) ignore0 = false; + if (compress === index) { + result += index ? ':' : '::'; + ignore0 = true; + } else { + result += numberToString(host[index], 16); + if (index < 7) result += ':'; + } + } + return '[' + result + ']'; + } + + return host; +}; + +var C0ControlPercentEncodeSet = {}; +var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { + ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 +}); +var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { + '#': 1, '?': 1, '{': 1, '}': 1 +}); +var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { + '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 +}); + +var percentEncode = function (chr, set) { + var code = codeAt(chr, 0); + return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr); +}; + +// https://url.spec.whatwg.org/#special-scheme +var specialSchemes = { + ftp: 21, + file: null, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; + +// https://url.spec.whatwg.org/#windows-drive-letter +var isWindowsDriveLetter = function (string, normalized) { + var second; + return string.length === 2 && exec(ALPHA, charAt(string, 0)) + && ((second = charAt(string, 1)) === ':' || (!normalized && second === '|')); +}; + +// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter +var startsWithWindowsDriveLetter = function (string) { + var third; + return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && ( + string.length === 2 || + ((third = charAt(string, 2)) === '/' || third === '\\' || third === '?' || third === '#') + ); +}; + +// https://url.spec.whatwg.org/#single-dot-path-segment +var isSingleDot = function (segment) { + return segment === '.' || toLowerCase(segment) === '%2e'; +}; + +// https://url.spec.whatwg.org/#double-dot-path-segment +var isDoubleDot = function (segment) { + segment = toLowerCase(segment); + return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; +}; + +// States: +var SCHEME_START = {}; +var SCHEME = {}; +var NO_SCHEME = {}; +var SPECIAL_RELATIVE_OR_AUTHORITY = {}; +var PATH_OR_AUTHORITY = {}; +var RELATIVE = {}; +var RELATIVE_SLASH = {}; +var SPECIAL_AUTHORITY_SLASHES = {}; +var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; +var AUTHORITY = {}; +var HOST = {}; +var HOSTNAME = {}; +var PORT = {}; +var FILE = {}; +var FILE_SLASH = {}; +var FILE_HOST = {}; +var PATH_START = {}; +var PATH = {}; +var CANNOT_BE_A_BASE_URL_PATH = {}; +var QUERY = {}; +var FRAGMENT = {}; + +var URLState = function (url, isBase, base) { + var urlString = $toString(url); + var baseState, failure, searchParams; + if (isBase) { + failure = this.parse(urlString); + if (failure) throw new TypeError(failure); + this.searchParams = null; + } else { + if (base !== undefined) baseState = new URLState(base, true); + failure = this.parse(urlString, null, baseState); + if (failure) throw new TypeError(failure); + searchParams = getInternalSearchParamsState(new URLSearchParams()); + searchParams.bindURL(this); + this.searchParams = searchParams; + } +}; + +URLState.prototype = { + type: 'URL', + // https://url.spec.whatwg.org/#url-parsing + // eslint-disable-next-line max-statements -- TODO + parse: function (input, stateOverride, base) { + var url = this; + var state = stateOverride || SCHEME_START; + var pointer = 0; + var buffer = ''; + var seenAt = false; + var seenBracket = false; + var seenPasswordToken = false; + var codePoints, chr, bufferCodePoints, failure; + + input = $toString(input); + + if (!stateOverride) { + url.scheme = ''; + url.username = ''; + url.password = ''; + url.host = null; + url.port = null; + url.path = []; + url.query = null; + url.fragment = null; + url.cannotBeABaseURL = false; + input = replace(input, LEADING_C0_CONTROL_OR_SPACE, ''); + input = replace(input, TRAILING_C0_CONTROL_OR_SPACE, '$1'); + } + + input = replace(input, TAB_AND_NEW_LINE, ''); + + codePoints = arrayFrom(input); + + while (pointer <= codePoints.length) { + chr = codePoints[pointer]; + switch (state) { + case SCHEME_START: + if (chr && exec(ALPHA, chr)) { + buffer += toLowerCase(chr); + state = SCHEME; + } else if (!stateOverride) { + state = NO_SCHEME; + continue; + } else return INVALID_SCHEME; + break; + + case SCHEME: + if (chr && (exec(ALPHANUMERIC, chr) || chr === '+' || chr === '-' || chr === '.')) { + buffer += toLowerCase(chr); + } else if (chr === ':') { + if (stateOverride && ( + (url.isSpecial() !== hasOwn(specialSchemes, buffer)) || + (buffer === 'file' && (url.includesCredentials() || url.port !== null)) || + (url.scheme === 'file' && !url.host) + )) return; + url.scheme = buffer; + if (stateOverride) { + if (url.isSpecial() && specialSchemes[url.scheme] === url.port) url.port = null; + return; + } + buffer = ''; + if (url.scheme === 'file') { + state = FILE; + } else if (url.isSpecial() && base && base.scheme === url.scheme) { + state = SPECIAL_RELATIVE_OR_AUTHORITY; + } else if (url.isSpecial()) { + state = SPECIAL_AUTHORITY_SLASHES; + } else if (codePoints[pointer + 1] === '/') { + state = PATH_OR_AUTHORITY; + pointer++; + } else { + url.cannotBeABaseURL = true; + push(url.path, ''); + state = CANNOT_BE_A_BASE_URL_PATH; + } + } else if (!stateOverride) { + buffer = ''; + state = NO_SCHEME; + pointer = 0; + continue; + } else return INVALID_SCHEME; + break; + + case NO_SCHEME: + if (!base || (base.cannotBeABaseURL && chr !== '#')) return INVALID_SCHEME; + if (base.cannotBeABaseURL && chr === '#') { + url.scheme = base.scheme; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + url.cannotBeABaseURL = true; + state = FRAGMENT; + break; + } + state = base.scheme === 'file' ? FILE : RELATIVE; + continue; + + case SPECIAL_RELATIVE_OR_AUTHORITY: + if (chr === '/' && codePoints[pointer + 1] === '/') { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + pointer++; + } else { + state = RELATIVE; + continue; + } break; + + case PATH_OR_AUTHORITY: + if (chr === '/') { + state = AUTHORITY; + break; + } else { + state = PATH; + continue; + } + + case RELATIVE: + url.scheme = base.scheme; + if (chr === EOF) { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + } else if (chr === '/' || (chr === '\\' && url.isSpecial())) { + state = RELATIVE_SLASH; + } else if (chr === '?') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = arraySlice(base.path); + url.path.length--; + state = PATH; + continue; + } break; + + case RELATIVE_SLASH: + if (url.isSpecial() && (chr === '/' || chr === '\\')) { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + } else if (chr === '/') { + state = AUTHORITY; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + state = PATH; + continue; + } break; + + case SPECIAL_AUTHORITY_SLASHES: + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + if (chr !== '/' || charAt(buffer, pointer + 1) !== '/') continue; + pointer++; + break; + + case SPECIAL_AUTHORITY_IGNORE_SLASHES: + if (chr !== '/' && chr !== '\\') { + state = AUTHORITY; + continue; + } break; + + case AUTHORITY: + if (chr === '@') { + if (seenAt) buffer = '%40' + buffer; + seenAt = true; + bufferCodePoints = arrayFrom(buffer); + for (var i = 0; i < bufferCodePoints.length; i++) { + var codePoint = bufferCodePoints[i]; + if (codePoint === ':' && !seenPasswordToken) { + seenPasswordToken = true; + continue; + } + var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); + if (seenPasswordToken) url.password += encodedCodePoints; + else url.username += encodedCodePoints; + } + buffer = ''; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) + ) { + if (seenAt && buffer === '') return INVALID_AUTHORITY; + pointer -= arrayFrom(buffer).length + 1; + buffer = ''; + state = HOST; + } else buffer += chr; + break; + + case HOST: + case HOSTNAME: + if (stateOverride && url.scheme === 'file') { + state = FILE_HOST; + continue; + } else if (chr === ':' && !seenBracket) { + if (buffer === '') return INVALID_HOST; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PORT; + if (stateOverride === HOSTNAME) return; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) + ) { + if (url.isSpecial() && buffer === '') return INVALID_HOST; + if (stateOverride && buffer === '' && (url.includesCredentials() || url.port !== null)) return; + failure = url.parseHost(buffer); + if (failure) return failure; + buffer = ''; + state = PATH_START; + if (stateOverride) return; + continue; + } else { + if (chr === '[') seenBracket = true; + else if (chr === ']') seenBracket = false; + buffer += chr; + } break; + + case PORT: + if (exec(DIGIT, chr)) { + buffer += chr; + } else if ( + chr === EOF || chr === '/' || chr === '?' || chr === '#' || + (chr === '\\' && url.isSpecial()) || + stateOverride + ) { + if (buffer !== '') { + var port = parseInt(buffer, 10); + if (port > 0xFFFF) return INVALID_PORT; + url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port; + buffer = ''; + } + if (stateOverride) return; + state = PATH_START; + continue; + } else return INVALID_PORT; + break; + + case FILE: + url.scheme = 'file'; + if (chr === '/' || chr === '\\') state = FILE_SLASH; + else if (base && base.scheme === 'file') { + switch (chr) { + case EOF: + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + break; + case '?': + url.host = base.host; + url.path = arraySlice(base.path); + url.query = ''; + state = QUERY; + break; + case '#': + url.host = base.host; + url.path = arraySlice(base.path); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + break; + default: + if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + url.host = base.host; + url.path = arraySlice(base.path); + url.shortenPath(); + } + state = PATH; + continue; + } + } else { + state = PATH; + continue; + } break; + + case FILE_SLASH: + if (chr === '/' || chr === '\\') { + state = FILE_HOST; + break; + } + if (base && base.scheme === 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) { + if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]); + else url.host = base.host; + } + state = PATH; + continue; + + case FILE_HOST: + if (chr === EOF || chr === '/' || chr === '\\' || chr === '?' || chr === '#') { + if (!stateOverride && isWindowsDriveLetter(buffer)) { + state = PATH; + } else if (buffer === '') { + url.host = ''; + if (stateOverride) return; + state = PATH_START; + } else { + failure = url.parseHost(buffer); + if (failure) return failure; + if (url.host === 'localhost') url.host = ''; + if (stateOverride) return; + buffer = ''; + state = PATH_START; + } continue; + } else buffer += chr; + break; + + case PATH_START: + if (url.isSpecial()) { + state = PATH; + if (chr !== '/' && chr !== '\\') continue; + } else if (!stateOverride && chr === '?') { + url.query = ''; + state = QUERY; + } else if (!stateOverride && chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + state = PATH; + if (chr !== '/') continue; + } break; + + case PATH: + if ( + chr === EOF || chr === '/' || + (chr === '\\' && url.isSpecial()) || + (!stateOverride && (chr === '?' || chr === '#')) + ) { + if (isDoubleDot(buffer)) { + url.shortenPath(); + if (chr !== '/' && !(chr === '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else if (isSingleDot(buffer)) { + if (chr !== '/' && !(chr === '\\' && url.isSpecial())) { + push(url.path, ''); + } + } else { + if (url.scheme === 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { + if (url.host) url.host = ''; + buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter + } + push(url.path, buffer); + } + buffer = ''; + if (url.scheme === 'file' && (chr === EOF || chr === '?' || chr === '#')) { + while (url.path.length > 1 && url.path[0] === '') { + shift(url.path); + } + } + if (chr === '?') { + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } + } else { + buffer += percentEncode(chr, pathPercentEncodeSet); + } break; + + case CANNOT_BE_A_BASE_URL_PATH: + if (chr === '?') { + url.query = ''; + state = QUERY; + } else if (chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet); + } break; + + case QUERY: + if (!stateOverride && chr === '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (chr !== EOF) { + if (chr === "'" && url.isSpecial()) url.query += '%27'; + else if (chr === '#') url.query += '%23'; + else url.query += percentEncode(chr, C0ControlPercentEncodeSet); + } break; + + case FRAGMENT: + if (chr !== EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet); + break; + } + + pointer++; + } + }, + // https://url.spec.whatwg.org/#host-parsing + parseHost: function (input) { + var result, codePoints, index; + if (charAt(input, 0) === '[') { + if (charAt(input, input.length - 1) !== ']') return INVALID_HOST; + result = parseIPv6(stringSlice(input, 1, -1)); + if (!result) return INVALID_HOST; + this.host = result; + // opaque host + } else if (!this.isSpecial()) { + if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST; + result = ''; + codePoints = arrayFrom(input); + for (index = 0; index < codePoints.length; index++) { + result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); + } + this.host = result; + } else { + input = toASCII(input); + if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST; + result = parseIPv4(input); + if (result === null) return INVALID_HOST; + this.host = result; + } + }, + // https://url.spec.whatwg.org/#cannot-have-a-username-password-port + cannotHaveUsernamePasswordPort: function () { + return !this.host || this.cannotBeABaseURL || this.scheme === 'file'; + }, + // https://url.spec.whatwg.org/#include-credentials + includesCredentials: function () { + return this.username !== '' || this.password !== ''; + }, + // https://url.spec.whatwg.org/#is-special + isSpecial: function () { + return hasOwn(specialSchemes, this.scheme); + }, + // https://url.spec.whatwg.org/#shorten-a-urls-path + shortenPath: function () { + var path = this.path; + var pathSize = path.length; + if (pathSize && (this.scheme !== 'file' || pathSize !== 1 || !isWindowsDriveLetter(path[0], true))) { + path.length--; + } + }, + // https://url.spec.whatwg.org/#concept-url-serializer + serialize: function () { + var url = this; + var scheme = url.scheme; + var username = url.username; + var password = url.password; + var host = url.host; + var port = url.port; + var path = url.path; + var query = url.query; + var fragment = url.fragment; + var output = scheme + ':'; + if (host !== null) { + output += '//'; + if (url.includesCredentials()) { + output += username + (password ? ':' + password : '') + '@'; + } + output += serializeHost(host); + if (port !== null) output += ':' + port; + } else if (scheme === 'file') output += '//'; + output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + if (query !== null) output += '?' + query; + if (fragment !== null) output += '#' + fragment; + return output; + }, + // https://url.spec.whatwg.org/#dom-url-href + setHref: function (href) { + var failure = this.parse(href); + if (failure) throw new TypeError(failure); + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-origin + getOrigin: function () { + var scheme = this.scheme; + var port = this.port; + if (scheme === 'blob') try { + return new URLConstructor(scheme.path[0]).origin; + } catch (error) { + return 'null'; + } + if (scheme === 'file' || !this.isSpecial()) return 'null'; + return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : ''); + }, + // https://url.spec.whatwg.org/#dom-url-protocol + getProtocol: function () { + return this.scheme + ':'; + }, + setProtocol: function (protocol) { + this.parse($toString(protocol) + ':', SCHEME_START); + }, + // https://url.spec.whatwg.org/#dom-url-username + getUsername: function () { + return this.username; + }, + setUsername: function (username) { + var codePoints = arrayFrom($toString(username)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.username = ''; + for (var i = 0; i < codePoints.length; i++) { + this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-password + getPassword: function () { + return this.password; + }, + setPassword: function (password) { + var codePoints = arrayFrom($toString(password)); + if (this.cannotHaveUsernamePasswordPort()) return; + this.password = ''; + for (var i = 0; i < codePoints.length; i++) { + this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }, + // https://url.spec.whatwg.org/#dom-url-host + getHost: function () { + var host = this.host; + var port = this.port; + return host === null ? '' + : port === null ? serializeHost(host) + : serializeHost(host) + ':' + port; + }, + setHost: function (host) { + if (this.cannotBeABaseURL) return; + this.parse(host, HOST); + }, + // https://url.spec.whatwg.org/#dom-url-hostname + getHostname: function () { + var host = this.host; + return host === null ? '' : serializeHost(host); + }, + setHostname: function (hostname) { + if (this.cannotBeABaseURL) return; + this.parse(hostname, HOSTNAME); + }, + // https://url.spec.whatwg.org/#dom-url-port + getPort: function () { + var port = this.port; + return port === null ? '' : $toString(port); + }, + setPort: function (port) { + if (this.cannotHaveUsernamePasswordPort()) return; + port = $toString(port); + if (port === '') this.port = null; + else this.parse(port, PORT); + }, + // https://url.spec.whatwg.org/#dom-url-pathname + getPathname: function () { + var path = this.path; + return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : ''; + }, + setPathname: function (pathname) { + if (this.cannotBeABaseURL) return; + this.path = []; + this.parse(pathname, PATH_START); + }, + // https://url.spec.whatwg.org/#dom-url-search + getSearch: function () { + var query = this.query; + return query ? '?' + query : ''; + }, + setSearch: function (search) { + search = $toString(search); + if (search === '') { + this.query = null; + } else { + if (charAt(search, 0) === '?') search = stringSlice(search, 1); + this.query = ''; + this.parse(search, QUERY); + } + this.searchParams.update(); + }, + // https://url.spec.whatwg.org/#dom-url-searchparams + getSearchParams: function () { + return this.searchParams.facade; + }, + // https://url.spec.whatwg.org/#dom-url-hash + getHash: function () { + var fragment = this.fragment; + return fragment ? '#' + fragment : ''; + }, + setHash: function (hash) { + hash = $toString(hash); + if (hash === '') { + this.fragment = null; + return; + } + if (charAt(hash, 0) === '#') hash = stringSlice(hash, 1); + this.fragment = ''; + this.parse(hash, FRAGMENT); + }, + update: function () { + this.query = this.searchParams.serialize() || null; + } +}; + +// `URL` constructor +// https://url.spec.whatwg.org/#url-class +var URLConstructor = function URL(url /* , base */) { + var that = anInstance(this, URLPrototype); + var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined; + var state = setInternalState(that, new URLState(url, false, base)); + if (!DESCRIPTORS) { + that.href = state.serialize(); + that.origin = state.getOrigin(); + that.protocol = state.getProtocol(); + that.username = state.getUsername(); + that.password = state.getPassword(); + that.host = state.getHost(); + that.hostname = state.getHostname(); + that.port = state.getPort(); + that.pathname = state.getPathname(); + that.search = state.getSearch(); + that.searchParams = state.getSearchParams(); + that.hash = state.getHash(); + } +}; + +var URLPrototype = URLConstructor.prototype; + +var accessorDescriptor = function (getter, setter) { + return { + get: function () { + return getInternalURLState(this)[getter](); + }, + set: setter && function (value) { + return getInternalURLState(this)[setter](value); + }, + configurable: true, + enumerable: true + }; +}; + +if (DESCRIPTORS) { + // `URL.prototype.href` accessors pair + // https://url.spec.whatwg.org/#dom-url-href + defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref')); + // `URL.prototype.origin` getter + // https://url.spec.whatwg.org/#dom-url-origin + defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin')); + // `URL.prototype.protocol` accessors pair + // https://url.spec.whatwg.org/#dom-url-protocol + defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol')); + // `URL.prototype.username` accessors pair + // https://url.spec.whatwg.org/#dom-url-username + defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername')); + // `URL.prototype.password` accessors pair + // https://url.spec.whatwg.org/#dom-url-password + defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword')); + // `URL.prototype.host` accessors pair + // https://url.spec.whatwg.org/#dom-url-host + defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost')); + // `URL.prototype.hostname` accessors pair + // https://url.spec.whatwg.org/#dom-url-hostname + defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname')); + // `URL.prototype.port` accessors pair + // https://url.spec.whatwg.org/#dom-url-port + defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort')); + // `URL.prototype.pathname` accessors pair + // https://url.spec.whatwg.org/#dom-url-pathname + defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname')); + // `URL.prototype.search` accessors pair + // https://url.spec.whatwg.org/#dom-url-search + defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch')); + // `URL.prototype.searchParams` getter + // https://url.spec.whatwg.org/#dom-url-searchparams + defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams')); + // `URL.prototype.hash` accessors pair + // https://url.spec.whatwg.org/#dom-url-hash + defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash')); +} + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +defineBuiltIn(URLPrototype, 'toJSON', function toJSON() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); + +// `URL.prototype.toString` method +// https://url.spec.whatwg.org/#URL-stringification-behavior +defineBuiltIn(URLPrototype, 'toString', function toString() { + return getInternalURLState(this).serialize(); +}, { enumerable: true }); + +if (NativeURL) { + var nativeCreateObjectURL = NativeURL.createObjectURL; + var nativeRevokeObjectURL = NativeURL.revokeObjectURL; + // `URL.createObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL + if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL)); + // `URL.revokeObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL + if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL)); +} + +setToStringTag(URLConstructor, 'URL'); + +$({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { + URL: URLConstructor +}); + + +/***/ }), +/* 566 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +var fails = __webpack_require__(7); +var wellKnownSymbol = __webpack_require__(33); +var DESCRIPTORS = __webpack_require__(6); +var IS_PURE = __webpack_require__(36); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = !fails(function () { + // eslint-disable-next-line unicorn/relative-url-style -- required for testing + var url = new URL('b?a=1&b=2&c=3', 'https://a'); + var params = url.searchParams; + var params2 = new URLSearchParams('a=1&a=2&b=3'); + var result = ''; + url.pathname = 'c%20d'; + params.forEach(function (value, key) { + params['delete']('b'); + result += key + value; + }); + params2['delete']('a', 2); + // `undefined` case is a Chromium 117 bug + // https://bugs.chromium.org/p/v8/issues/detail?id=14222 + params2['delete']('b', undefined); + return (IS_PURE && (!url.toJSON || !params2.has('a', 1) || params2.has('a', 2) || !params2.has('a', undefined) || params2.has('b'))) + || (!params.size && (IS_PURE || !DESCRIPTORS)) + || !params.sort + || url.href !== 'https://a/c%20d?a=1&c=3' + || params.get('c') !== '3' + || String(new URLSearchParams('?a=1')) !== 'a=1' + || !params[ITERATOR] + // throws in Edge + || new URL('https://a@b').username !== 'a' + || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' + // not punycoded in Edge + || new URL('https://тест').host !== 'xn--e1aybc' + // not escaped in Chrome 62- + || new URL('https://a#б').hash !== '#%D0%B1' + // fails in Chrome 66- + || result !== 'a1c3' + // throws in Safari + || new URL('https://x', undefined).host !== 'x'; +}); + + +/***/ }), +/* 567 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js +var uncurryThis = __webpack_require__(14); + +var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 +var base = 36; +var tMin = 1; +var tMax = 26; +var skew = 38; +var damp = 700; +var initialBias = 72; +var initialN = 128; // 0x80 +var delimiter = '-'; // '\x2D' +var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars +var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators +var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; +var baseMinusTMin = base - tMin; + +var $RangeError = RangeError; +var exec = uncurryThis(regexSeparators.exec); +var floor = Math.floor; +var fromCharCode = String.fromCharCode; +var charCodeAt = uncurryThis(''.charCodeAt); +var join = uncurryThis([].join); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var split = uncurryThis(''.split); +var toLowerCase = uncurryThis(''.toLowerCase); + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + */ +var ucs2decode = function (string) { + var output = []; + var counter = 0; + var length = string.length; + while (counter < length) { + var value = charCodeAt(string, counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + var extra = charCodeAt(string, counter++); + if ((extra & 0xFC00) === 0xDC00) { // Low surrogate. + push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + push(output, value); + counter--; + } + } else { + push(output, value); + } + } + return output; +}; + +/** + * Converts a digit/integer into a basic code point. + */ +var digitToBasic = function (digit) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + */ +var adapt = function (delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + while (delta > baseMinusTMin * tMax >> 1) { + delta = floor(delta / baseMinusTMin); + k += base; + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + */ +var encode = function (input) { + var output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + var inputLength = input.length; + + // Initialize the state. + var n = initialN; + var delta = 0; + var bias = initialBias; + var i, currentValue; + + // Handle the basic code points. + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < 0x80) { + push(output, fromCharCode(currentValue)); + } + } + + var basicLength = output.length; // number of basic code points. + var handledCPCount = basicLength; // number of code points that have been handled; + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + push(output, delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + // All non-basic code points < n have been handled already. Find the next larger one: + var m = maxInt; + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow. + var handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + throw new $RangeError(OVERFLOW_ERROR); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < n && ++delta > maxInt) { + throw new $RangeError(OVERFLOW_ERROR); + } + if (currentValue === n) { + // Represent delta as a generalized variable-length integer. + var q = delta; + var k = base; + while (true) { + var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (q < t) break; + var qMinusT = q - t; + var baseMinusT = base - t; + push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT))); + q = floor(qMinusT / baseMinusT); + k += base; + } + + push(output, fromCharCode(digitToBasic(q))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength); + delta = 0; + handledCPCount++; + } + } + + delta++; + n++; + } + return join(output, ''); +}; + +module.exports = function (input) { + var encoded = []; + var labels = split(replace(toLowerCase(input), regexSeparators, '\u002E'), '.'); + var i, label; + for (i = 0; i < labels.length; i++) { + label = labels[i]; + push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label); + } + return join(encoded, '.'); +}; + + +/***/ }), +/* 568 */ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +__webpack_require__(168); +__webpack_require__(444); +var $ = __webpack_require__(3); +var globalThis = __webpack_require__(4); +var safeGetBuiltIn = __webpack_require__(364); +var getBuiltIn = __webpack_require__(23); +var call = __webpack_require__(8); +var uncurryThis = __webpack_require__(14); +var DESCRIPTORS = __webpack_require__(6); +var USE_NATIVE_URL = __webpack_require__(566); +var defineBuiltIn = __webpack_require__(47); +var defineBuiltInAccessor = __webpack_require__(77); +var defineBuiltIns = __webpack_require__(210); +var setToStringTag = __webpack_require__(82); +var createIteratorConstructor = __webpack_require__(170); +var InternalStateModule = __webpack_require__(51); +var anInstance = __webpack_require__(211); +var isCallable = __webpack_require__(21); +var hasOwn = __webpack_require__(38); +var bind = __webpack_require__(84); +var classof = __webpack_require__(69); +var anObject = __webpack_require__(46); +var isObject = __webpack_require__(20); +var $toString = __webpack_require__(68); +var create = __webpack_require__(71); +var createPropertyDescriptor = __webpack_require__(11); +var getIterator = __webpack_require__(133); +var getIteratorMethod = __webpack_require__(134); +var createIterResultObject = __webpack_require__(172); +var validateArgumentsLength = __webpack_require__(361); +var wellKnownSymbol = __webpack_require__(33); +var arraySort = __webpack_require__(189); + +var ITERATOR = wellKnownSymbol('iterator'); +var URL_SEARCH_PARAMS = 'URLSearchParams'; +var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); +var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); + +var nativeFetch = safeGetBuiltIn('fetch'); +var NativeRequest = safeGetBuiltIn('Request'); +var Headers = safeGetBuiltIn('Headers'); +var RequestPrototype = NativeRequest && NativeRequest.prototype; +var HeadersPrototype = Headers && Headers.prototype; +var TypeError = globalThis.TypeError; +var encodeURIComponent = globalThis.encodeURIComponent; +var fromCharCode = String.fromCharCode; +var fromCodePoint = getBuiltIn('String', 'fromCodePoint'); +var $parseInt = parseInt; +var charAt = uncurryThis(''.charAt); +var join = uncurryThis([].join); +var push = uncurryThis([].push); +var replace = uncurryThis(''.replace); +var shift = uncurryThis([].shift); +var splice = uncurryThis([].splice); +var split = uncurryThis(''.split); +var stringSlice = uncurryThis(''.slice); +var exec = uncurryThis(/./.exec); + +var plus = /\+/g; +var FALLBACK_REPLACER = '\uFFFD'; +var VALID_HEX = /^[0-9a-f]+$/i; + +var parseHexOctet = function (string, start) { + var substr = stringSlice(string, start, start + 2); + if (!exec(VALID_HEX, substr)) return NaN; + + return $parseInt(substr, 16); +}; + +var getLeadingOnes = function (octet) { + var count = 0; + for (var mask = 0x80; mask > 0 && (octet & mask) !== 0; mask >>= 1) { + count++; + } + return count; +}; + +var utf8Decode = function (octets) { + var codePoint = null; + + switch (octets.length) { + case 1: + codePoint = octets[0]; + break; + case 2: + codePoint = (octets[0] & 0x1F) << 6 | (octets[1] & 0x3F); + break; + case 3: + codePoint = (octets[0] & 0x0F) << 12 | (octets[1] & 0x3F) << 6 | (octets[2] & 0x3F); + break; + case 4: + codePoint = (octets[0] & 0x07) << 18 | (octets[1] & 0x3F) << 12 | (octets[2] & 0x3F) << 6 | (octets[3] & 0x3F); + break; + } + + return codePoint > 0x10FFFF ? null : codePoint; +}; + +var decode = function (input) { + input = replace(input, plus, ' '); + var length = input.length; + var result = ''; + var i = 0; + + while (i < length) { + var decodedChar = charAt(input, i); + + if (decodedChar === '%') { + if (charAt(input, i + 1) === '%' || i + 3 > length) { + result += '%'; + i++; + continue; + } + + var octet = parseHexOctet(input, i + 1); + + // eslint-disable-next-line no-self-compare -- NaN check + if (octet !== octet) { + result += decodedChar; + i++; + continue; + } + + i += 2; + var byteSequenceLength = getLeadingOnes(octet); + + if (byteSequenceLength === 0) { + decodedChar = fromCharCode(octet); + } else { + if (byteSequenceLength === 1 || byteSequenceLength > 4) { + result += FALLBACK_REPLACER; + i++; + continue; + } + + var octets = [octet]; + var sequenceIndex = 1; + + while (sequenceIndex < byteSequenceLength) { + i++; + if (i + 3 > length || charAt(input, i) !== '%') break; + + var nextByte = parseHexOctet(input, i + 1); + + // eslint-disable-next-line no-self-compare -- NaN check + if (nextByte !== nextByte) { + i += 3; + break; + } + if (nextByte > 191 || nextByte < 128) break; + + push(octets, nextByte); + i += 2; + sequenceIndex++; + } + + if (octets.length !== byteSequenceLength) { + result += FALLBACK_REPLACER; + continue; + } + + var codePoint = utf8Decode(octets); + if (codePoint === null) { + result += FALLBACK_REPLACER; + } else { + decodedChar = fromCodePoint(codePoint); + } + } + } + + result += decodedChar; + i++; + } + + return result; +}; + +var find = /[!'()~]|%20/g; + +var replacements = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+' +}; + +var replacer = function (match) { + return replacements[match]; +}; + +var serialize = function (it) { + return replace(encodeURIComponent(it), find, replacer); +}; + +var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { + setInternalState(this, { + type: URL_SEARCH_PARAMS_ITERATOR, + target: getInternalParamsState(params).entries, + index: 0, + kind: kind + }); +}, URL_SEARCH_PARAMS, function next() { + var state = getInternalIteratorState(this); + var target = state.target; + var index = state.index++; + if (!target || index >= target.length) { + state.target = null; + return createIterResultObject(undefined, true); + } + var entry = target[index]; + switch (state.kind) { + case 'keys': return createIterResultObject(entry.key, false); + case 'values': return createIterResultObject(entry.value, false); + } return createIterResultObject([entry.key, entry.value], false); +}, true); + +var URLSearchParamsState = function (init) { + this.entries = []; + this.url = null; + + if (init !== undefined) { + if (isObject(init)) this.parseObject(init); + else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init)); + } +}; + +URLSearchParamsState.prototype = { + type: URL_SEARCH_PARAMS, + bindURL: function (url) { + this.url = url; + this.update(); + }, + parseObject: function (object) { + var entries = this.entries; + var iteratorMethod = getIteratorMethod(object); + var iterator, next, step, entryIterator, entryNext, first, second; + + if (iteratorMethod) { + iterator = getIterator(object, iteratorMethod); + next = iterator.next; + while (!(step = call(next, iterator)).done) { + entryIterator = getIterator(anObject(step.value)); + entryNext = entryIterator.next; + if ( + (first = call(entryNext, entryIterator)).done || + (second = call(entryNext, entryIterator)).done || + !call(entryNext, entryIterator).done + ) throw new TypeError('Expected sequence with length 2'); + push(entries, { key: $toString(first.value), value: $toString(second.value) }); + } + } else for (var key in object) if (hasOwn(object, key)) { + push(entries, { key: key, value: $toString(object[key]) }); + } + }, + parseQuery: function (query) { + if (query) { + var entries = this.entries; + var attributes = split(query, '&'); + var index = 0; + var attribute, entry; + while (index < attributes.length) { + attribute = attributes[index++]; + if (attribute.length) { + entry = split(attribute, '='); + push(entries, { + key: decode(shift(entry)), + value: decode(join(entry, '=')) + }); + } + } + } + }, + serialize: function () { + var entries = this.entries; + var result = []; + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + push(result, serialize(entry.key) + '=' + serialize(entry.value)); + } return join(result, '&'); + }, + update: function () { + this.entries.length = 0; + this.parseQuery(this.url.query); + }, + updateURL: function () { + if (this.url) this.url.update(); + } +}; + +// `URLSearchParams` constructor +// https://url.spec.whatwg.org/#interface-urlsearchparams +var URLSearchParamsConstructor = function URLSearchParams(/* init */) { + anInstance(this, URLSearchParamsPrototype); + var init = arguments.length > 0 ? arguments[0] : undefined; + var state = setInternalState(this, new URLSearchParamsState(init)); + if (!DESCRIPTORS) this.size = state.entries.length; +}; + +var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; + +defineBuiltIns(URLSearchParamsPrototype, { + // `URLSearchParams.prototype.append` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-append + append: function append(name, value) { + var state = getInternalParamsState(this); + validateArgumentsLength(arguments.length, 2); + push(state.entries, { key: $toString(name), value: $toString(value) }); + if (!DESCRIPTORS) this.length++; + state.updateURL(); + }, + // `URLSearchParams.prototype.delete` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-delete + 'delete': function (name /* , value */) { + var state = getInternalParamsState(this); + var length = validateArgumentsLength(arguments.length, 1); + var entries = state.entries; + var key = $toString(name); + var $value = length < 2 ? undefined : arguments[1]; + var value = $value === undefined ? $value : $toString($value); + var index = 0; + while (index < entries.length) { + var entry = entries[index]; + if (entry.key === key && (value === undefined || entry.value === value)) { + splice(entries, index, 1); + if (value !== undefined) break; + } else index++; + } + if (!DESCRIPTORS) this.size = entries.length; + state.updateURL(); + }, + // `URLSearchParams.prototype.get` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-get + get: function get(name) { + var entries = getInternalParamsState(this).entries; + validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) return entries[index].value; + } + return null; + }, + // `URLSearchParams.prototype.getAll` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-getall + getAll: function getAll(name) { + var entries = getInternalParamsState(this).entries; + validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var result = []; + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) push(result, entries[index].value); + } + return result; + }, + // `URLSearchParams.prototype.has` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-has + has: function has(name /* , value */) { + var entries = getInternalParamsState(this).entries; + var length = validateArgumentsLength(arguments.length, 1); + var key = $toString(name); + var $value = length < 2 ? undefined : arguments[1]; + var value = $value === undefined ? $value : $toString($value); + var index = 0; + while (index < entries.length) { + var entry = entries[index++]; + if (entry.key === key && (value === undefined || entry.value === value)) return true; + } + return false; + }, + // `URLSearchParams.prototype.set` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-set + set: function set(name, value) { + var state = getInternalParamsState(this); + validateArgumentsLength(arguments.length, 1); + var entries = state.entries; + var found = false; + var key = $toString(name); + var val = $toString(value); + var index = 0; + var entry; + for (; index < entries.length; index++) { + entry = entries[index]; + if (entry.key === key) { + if (found) splice(entries, index--, 1); + else { + found = true; + entry.value = val; + } + } + } + if (!found) push(entries, { key: key, value: val }); + if (!DESCRIPTORS) this.size = entries.length; + state.updateURL(); + }, + // `URLSearchParams.prototype.sort` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-sort + sort: function sort() { + var state = getInternalParamsState(this); + arraySort(state.entries, function (a, b) { + return a.key > b.key ? 1 : -1; + }); + state.updateURL(); + }, + // `URLSearchParams.prototype.forEach` method + forEach: function forEach(callback /* , thisArg */) { + var entries = getInternalParamsState(this).entries; + var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined); + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + boundFunction(entry.value, entry.key, this); + } + }, + // `URLSearchParams.prototype.keys` method + keys: function keys() { + return new URLSearchParamsIterator(this, 'keys'); + }, + // `URLSearchParams.prototype.values` method + values: function values() { + return new URLSearchParamsIterator(this, 'values'); + }, + // `URLSearchParams.prototype.entries` method + entries: function entries() { + return new URLSearchParamsIterator(this, 'entries'); + } +}, { enumerable: true }); + +// `URLSearchParams.prototype[@@iterator]` method +defineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' }); + +// `URLSearchParams.prototype.toString` method +// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior +defineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() { + return getInternalParamsState(this).serialize(); +}, { enumerable: true }); + +// `URLSearchParams.prototype.size` getter +// https://github.com/whatwg/url/pull/734 +if (DESCRIPTORS) defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + return getInternalParamsState(this).entries.length; + }, + configurable: true, + enumerable: true +}); + +setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); + +$({ global: true, constructor: true, forced: !USE_NATIVE_URL }, { + URLSearchParams: URLSearchParamsConstructor +}); + +// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams` +if (!USE_NATIVE_URL && isCallable(Headers)) { + var headersHas = uncurryThis(HeadersPrototype.has); + var headersSet = uncurryThis(HeadersPrototype.set); + + var wrapRequestOptions = function (init) { + if (isObject(init)) { + var body = init.body; + var headers; + if (classof(body) === URL_SEARCH_PARAMS) { + headers = init.headers ? new Headers(init.headers) : new Headers(); + if (!headersHas(headers, 'content-type')) { + headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); + } + return create(init, { + body: createPropertyDescriptor(0, $toString(body)), + headers: createPropertyDescriptor(0, headers) + }); + } + } return init; + }; + + if (isCallable(nativeFetch)) { + $({ global: true, enumerable: true, dontCallGetSet: true, forced: true }, { + fetch: function fetch(input /* , init */) { + return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + } + }); + } + + if (isCallable(NativeRequest)) { + var RequestConstructor = function Request(input /* , init */) { + anInstance(this, RequestPrototype); + return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {}); + }; + + RequestPrototype.constructor = RequestConstructor; + RequestConstructor.prototype = RequestPrototype; + + $({ global: true, constructor: true, dontCallGetSet: true, forced: true }, { + Request: RequestConstructor + }); + } +} + +module.exports = { + URLSearchParams: URLSearchParamsConstructor, + getState: getInternalParamsState +}; + + +/***/ }), +/* 569 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var fails = __webpack_require__(7); +var validateArgumentsLength = __webpack_require__(361); +var toString = __webpack_require__(68); +var USE_NATIVE_URL = __webpack_require__(566); + +var URL = getBuiltIn('URL'); + +// https://github.com/nodejs/node/issues/47505 +// https://github.com/denoland/deno/issues/18893 +var THROWS_WITHOUT_ARGUMENTS = USE_NATIVE_URL && fails(function () { + URL.canParse(); +}); + +// Bun ~ 1.0.30 bug +// https://github.com/oven-sh/bun/issues/9250 +var WRONG_ARITY = fails(function () { + return URL.canParse.length !== 1; +}); + +// `URL.canParse` method +// https://url.spec.whatwg.org/#dom-url-canparse +$({ target: 'URL', stat: true, forced: !THROWS_WITHOUT_ARGUMENTS || WRONG_ARITY }, { + canParse: function canParse(url) { + var length = validateArgumentsLength(arguments.length, 1); + var urlString = toString(url); + var base = length < 2 || arguments[1] === undefined ? undefined : toString(arguments[1]); + try { + return !!new URL(urlString, base); + } catch (error) { + return false; + } + } +}); + + +/***/ }), +/* 570 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var getBuiltIn = __webpack_require__(23); +var validateArgumentsLength = __webpack_require__(361); +var toString = __webpack_require__(68); +var USE_NATIVE_URL = __webpack_require__(566); + +var URL = getBuiltIn('URL'); + +// `URL.parse` method +// https://url.spec.whatwg.org/#dom-url-canparse +$({ target: 'URL', stat: true, forced: !USE_NATIVE_URL }, { + parse: function parse(url) { + var length = validateArgumentsLength(arguments.length, 1); + var urlString = toString(url); + var base = length < 2 || arguments[1] === undefined ? undefined : toString(arguments[1]); + try { + return new URL(urlString, base); + } catch (error) { + return null; + } + } +}); + + +/***/ }), +/* 571 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var $ = __webpack_require__(3); +var call = __webpack_require__(8); + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +$({ target: 'URL', proto: true, enumerable: true }, { + toJSON: function toJSON() { + return call(URL.prototype.toString, this); + } +}); + + +/***/ }), +/* 572 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +// TODO: Remove this module from `core-js@4` since it's replaced to module below +__webpack_require__(568); + + +/***/ }), +/* 573 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); + +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var append = uncurryThis(URLSearchParamsPrototype.append); +var $delete = uncurryThis(URLSearchParamsPrototype['delete']); +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); +var push = uncurryThis([].push); +var params = new $URLSearchParams('a=1&a=2&b=3'); + +params['delete']('a', 1); +// `undefined` case is a Chromium 117 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=14222 +params['delete']('b', undefined); + +if (params + '' !== 'a=2') { + defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) return $delete(this, name); + var entries = []; + forEach(this, function (v, k) { // also validates `this` + push(entries, { key: k, value: v }); + }); + validateArgumentsLength(length, 1); + var key = toString(name); + var value = toString($value); + var index = 0; + var dindex = 0; + var found = false; + var entriesLength = entries.length; + var entry; + while (index < entriesLength) { + entry = entries[index++]; + if (found || entry.key === key) { + found = true; + $delete(this, entry.key); + } else dindex++; + } + while (dindex < entriesLength) { + entry = entries[dindex++]; + if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value); + } + }, { enumerable: true, unsafe: true }); +} + + +/***/ }), +/* 574 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var defineBuiltIn = __webpack_require__(47); +var uncurryThis = __webpack_require__(14); +var toString = __webpack_require__(68); +var validateArgumentsLength = __webpack_require__(361); + +var $URLSearchParams = URLSearchParams; +var URLSearchParamsPrototype = $URLSearchParams.prototype; +var getAll = uncurryThis(URLSearchParamsPrototype.getAll); +var $has = uncurryThis(URLSearchParamsPrototype.has); +var params = new $URLSearchParams('a=1'); + +// `undefined` case is a Chromium 117 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=14222 +if (params.has('a', 2) || !params.has('a', undefined)) { + defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) { + var length = arguments.length; + var $value = length < 2 ? undefined : arguments[1]; + if (length && $value === undefined) return $has(this, name); + var values = getAll(this, name); // also validates `this` + validateArgumentsLength(length, 1); + var value = toString($value); + var index = 0; + while (index < values.length) { + if (values[index++] === value) return true; + } return false; + }, { enumerable: true, unsafe: true }); +} + + +/***/ }), +/* 575 */ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + +var DESCRIPTORS = __webpack_require__(6); +var uncurryThis = __webpack_require__(14); +var defineBuiltInAccessor = __webpack_require__(77); + +var URLSearchParamsPrototype = URLSearchParams.prototype; +var forEach = uncurryThis(URLSearchParamsPrototype.forEach); + +// `URLSearchParams.prototype.size` getter +// https://github.com/whatwg/url/pull/734 +if (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) { + defineBuiltInAccessor(URLSearchParamsPrototype, 'size', { + get: function size() { + var count = 0; + forEach(this, function () { count++; }); + return count; + }, + configurable: true, + enumerable: true + }); +} + + +/***/ }), +/* 576 */, +/* 577 */, +/* 578 */, +/* 579 */, +/* 580 */ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + + +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + "default": function() { return /* binding */ TextOverlap; } +}); + +;// ./node_modules/robust-predicates/esm/util.js +const epsilon = 1.1102230246251565e-16; +const splitter = 134217729; +const resulterrbound = (3 + 8 * epsilon) * epsilon; + +// fast_expansion_sum_zeroelim routine from oritinal code +function sum(elen, e, flen, f, h) { + let Q, Qnew, hh, bvirt; + let enow = e[0]; + let fnow = f[0]; + let eindex = 0; + let findex = 0; + if ((fnow > enow) === (fnow > -enow)) { + Q = enow; + enow = e[++eindex]; + } else { + Q = fnow; + fnow = f[++findex]; + } + let hindex = 0; + if (eindex < elen && findex < flen) { + if ((fnow > enow) === (fnow > -enow)) { + Qnew = enow + Q; + hh = Q - (Qnew - enow); + enow = e[++eindex]; + } else { + Qnew = fnow + Q; + hh = Q - (Qnew - fnow); + fnow = f[++findex]; + } + Q = Qnew; + if (hh !== 0) { + h[hindex++] = hh; + } + while (eindex < elen && findex < flen) { + if ((fnow > enow) === (fnow > -enow)) { + Qnew = Q + enow; + bvirt = Qnew - Q; + hh = Q - (Qnew - bvirt) + (enow - bvirt); + enow = e[++eindex]; + } else { + Qnew = Q + fnow; + bvirt = Qnew - Q; + hh = Q - (Qnew - bvirt) + (fnow - bvirt); + fnow = f[++findex]; + } + Q = Qnew; + if (hh !== 0) { + h[hindex++] = hh; + } + } + } + while (eindex < elen) { + Qnew = Q + enow; + bvirt = Qnew - Q; + hh = Q - (Qnew - bvirt) + (enow - bvirt); + enow = e[++eindex]; + Q = Qnew; + if (hh !== 0) { + h[hindex++] = hh; + } + } + while (findex < flen) { + Qnew = Q + fnow; + bvirt = Qnew - Q; + hh = Q - (Qnew - bvirt) + (fnow - bvirt); + fnow = f[++findex]; + Q = Qnew; + if (hh !== 0) { + h[hindex++] = hh; + } + } + if (Q !== 0 || hindex === 0) { + h[hindex++] = Q; + } + return hindex; +} + +function sum_three(alen, a, blen, b, clen, c, tmp, out) { + return sum(sum(alen, a, blen, b, tmp), tmp, clen, c, out); +} + +// scale_expansion_zeroelim routine from oritinal code +function scale(elen, e, b, h) { + let Q, sum, hh, product1, product0; + let bvirt, c, ahi, alo, bhi, blo; + + c = splitter * b; + bhi = c - (c - b); + blo = b - bhi; + let enow = e[0]; + Q = enow * b; + c = splitter * enow; + ahi = c - (c - enow); + alo = enow - ahi; + hh = alo * blo - (Q - ahi * bhi - alo * bhi - ahi * blo); + let hindex = 0; + if (hh !== 0) { + h[hindex++] = hh; + } + for (let i = 1; i < elen; i++) { + enow = e[i]; + product1 = enow * b; + c = splitter * enow; + ahi = c - (c - enow); + alo = enow - ahi; + product0 = alo * blo - (product1 - ahi * bhi - alo * bhi - ahi * blo); + sum = Q + product0; + bvirt = sum - Q; + hh = Q - (sum - bvirt) + (product0 - bvirt); + if (hh !== 0) { + h[hindex++] = hh; + } + Q = product1 + sum; + hh = sum - (Q - product1); + if (hh !== 0) { + h[hindex++] = hh; + } + } + if (Q !== 0 || hindex === 0) { + h[hindex++] = Q; + } + return hindex; +} + +function negate(elen, e) { + for (let i = 0; i < elen; i++) e[i] = -e[i]; + return elen; +} + +function estimate(elen, e) { + let Q = e[0]; + for (let i = 1; i < elen; i++) Q += e[i]; + return Q; +} + +function vec(n) { + return new Float64Array(n); +} + +;// ./node_modules/robust-predicates/esm/orient2d.js + + +const ccwerrboundA = (3 + 16 * epsilon) * epsilon; +const ccwerrboundB = (2 + 12 * epsilon) * epsilon; +const ccwerrboundC = (9 + 64 * epsilon) * epsilon * epsilon; + +const B = vec(4); +const C1 = vec(8); +const C2 = vec(12); +const D = vec(16); +const u = vec(4); + +function orient2dadapt(ax, ay, bx, by, cx, cy, detsum) { + let acxtail, acytail, bcxtail, bcytail; + let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0, u3; + + const acx = ax - cx; + const bcx = bx - cx; + const acy = ay - cy; + const bcy = by - cy; + + s1 = acx * bcy; + c = splitter * acx; + ahi = c - (c - acx); + alo = acx - ahi; + c = splitter * bcy; + bhi = c - (c - bcy); + blo = bcy - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = acy * bcx; + c = splitter * acy; + ahi = c - (c - acy); + alo = acy - ahi; + c = splitter * bcx; + bhi = c - (c - bcx); + blo = bcx - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + B[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + B[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + B[2] = _j - (u3 - bvirt) + (_i - bvirt); + B[3] = u3; + + let det = estimate(4, B); + let errbound = ccwerrboundB * detsum; + if (det >= errbound || -det >= errbound) { + return det; + } + + bvirt = ax - acx; + acxtail = ax - (acx + bvirt) + (bvirt - cx); + bvirt = bx - bcx; + bcxtail = bx - (bcx + bvirt) + (bvirt - cx); + bvirt = ay - acy; + acytail = ay - (acy + bvirt) + (bvirt - cy); + bvirt = by - bcy; + bcytail = by - (bcy + bvirt) + (bvirt - cy); + + if (acxtail === 0 && acytail === 0 && bcxtail === 0 && bcytail === 0) { + return det; + } + + errbound = ccwerrboundC * detsum + resulterrbound * Math.abs(det); + det += (acx * bcytail + bcy * acxtail) - (acy * bcxtail + bcx * acytail); + if (det >= errbound || -det >= errbound) return det; + + s1 = acxtail * bcy; + c = splitter * acxtail; + ahi = c - (c - acxtail); + alo = acxtail - ahi; + c = splitter * bcy; + bhi = c - (c - bcy); + blo = bcy - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = acytail * bcx; + c = splitter * acytail; + ahi = c - (c - acytail); + alo = acytail - ahi; + c = splitter * bcx; + bhi = c - (c - bcx); + blo = bcx - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + u[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + u[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + u[2] = _j - (u3 - bvirt) + (_i - bvirt); + u[3] = u3; + const C1len = sum(4, B, 4, u, C1); + + s1 = acx * bcytail; + c = splitter * acx; + ahi = c - (c - acx); + alo = acx - ahi; + c = splitter * bcytail; + bhi = c - (c - bcytail); + blo = bcytail - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = acy * bcxtail; + c = splitter * acy; + ahi = c - (c - acy); + alo = acy - ahi; + c = splitter * bcxtail; + bhi = c - (c - bcxtail); + blo = bcxtail - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + u[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + u[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + u[2] = _j - (u3 - bvirt) + (_i - bvirt); + u[3] = u3; + const C2len = sum(C1len, C1, 4, u, C2); + + s1 = acxtail * bcytail; + c = splitter * acxtail; + ahi = c - (c - acxtail); + alo = acxtail - ahi; + c = splitter * bcytail; + bhi = c - (c - bcytail); + blo = bcytail - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = acytail * bcxtail; + c = splitter * acytail; + ahi = c - (c - acytail); + alo = acytail - ahi; + c = splitter * bcxtail; + bhi = c - (c - bcxtail); + blo = bcxtail - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + u[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + u[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + u[2] = _j - (u3 - bvirt) + (_i - bvirt); + u[3] = u3; + const Dlen = sum(C2len, C2, 4, u, D); + + return D[Dlen - 1]; +} + +function orient2d(ax, ay, bx, by, cx, cy) { + const detleft = (ay - cy) * (bx - cx); + const detright = (ax - cx) * (by - cy); + const det = detleft - detright; + + const detsum = Math.abs(detleft + detright); + if (Math.abs(det) >= ccwerrboundA * detsum) return det; + + return -orient2dadapt(ax, ay, bx, by, cx, cy, detsum); +} + +function orient2dfast(ax, ay, bx, by, cx, cy) { + return (ay - cy) * (bx - cx) - (ax - cx) * (by - cy); +} + +;// ./node_modules/robust-predicates/esm/orient3d.js + + +const o3derrboundA = (7 + 56 * epsilon) * epsilon; +const o3derrboundB = (3 + 28 * epsilon) * epsilon; +const o3derrboundC = (26 + 288 * epsilon) * epsilon * epsilon; + +const bc = vec(4); +const ca = vec(4); +const ab = vec(4); +const at_b = vec(4); +const at_c = vec(4); +const bt_c = vec(4); +const bt_a = vec(4); +const ct_a = vec(4); +const ct_b = vec(4); +const bct = vec(8); +const cat = vec(8); +const abt = vec(8); +const orient3d_u = vec(4); + +const _8 = vec(8); +const _8b = vec(8); +const _16 = vec(8); +const _12 = vec(12); + +let fin = vec(192); +let fin2 = vec(192); + +function finadd(finlen, alen, a) { + finlen = sum(finlen, fin, alen, a, fin2); + const tmp = fin; fin = fin2; fin2 = tmp; + return finlen; +} + +function tailinit(xtail, ytail, ax, ay, bx, by, a, b) { + let bvirt, c, ahi, alo, bhi, blo, _i, _j, _k, _0, s1, s0, t1, t0, u3, negate; + if (xtail === 0) { + if (ytail === 0) { + a[0] = 0; + b[0] = 0; + return 1; + } else { + negate = -ytail; + s1 = negate * ax; + c = splitter * negate; + ahi = c - (c - negate); + alo = negate - ahi; + c = splitter * ax; + bhi = c - (c - ax); + blo = ax - bhi; + a[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + a[1] = s1; + s1 = ytail * bx; + c = splitter * ytail; + ahi = c - (c - ytail); + alo = ytail - ahi; + c = splitter * bx; + bhi = c - (c - bx); + blo = bx - bhi; + b[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + b[1] = s1; + return 2; + } + } else { + if (ytail === 0) { + s1 = xtail * ay; + c = splitter * xtail; + ahi = c - (c - xtail); + alo = xtail - ahi; + c = splitter * ay; + bhi = c - (c - ay); + blo = ay - bhi; + a[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + a[1] = s1; + negate = -xtail; + s1 = negate * by; + c = splitter * negate; + ahi = c - (c - negate); + alo = negate - ahi; + c = splitter * by; + bhi = c - (c - by); + blo = by - bhi; + b[0] = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + b[1] = s1; + return 2; + } else { + s1 = xtail * ay; + c = splitter * xtail; + ahi = c - (c - xtail); + alo = xtail - ahi; + c = splitter * ay; + bhi = c - (c - ay); + blo = ay - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = ytail * ax; + c = splitter * ytail; + ahi = c - (c - ytail); + alo = ytail - ahi; + c = splitter * ax; + bhi = c - (c - ax); + blo = ax - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + a[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + a[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + a[2] = _j - (u3 - bvirt) + (_i - bvirt); + a[3] = u3; + s1 = ytail * bx; + c = splitter * ytail; + ahi = c - (c - ytail); + alo = ytail - ahi; + c = splitter * bx; + bhi = c - (c - bx); + blo = bx - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = xtail * by; + c = splitter * xtail; + ahi = c - (c - xtail); + alo = xtail - ahi; + c = splitter * by; + bhi = c - (c - by); + blo = by - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + b[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + b[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + b[2] = _j - (u3 - bvirt) + (_i - bvirt); + b[3] = u3; + return 4; + } + } +} + +function tailadd(finlen, a, b, k, z) { + let bvirt, c, ahi, alo, bhi, blo, _i, _j, _k, _0, s1, s0, u3; + s1 = a * b; + c = splitter * a; + ahi = c - (c - a); + alo = a - ahi; + c = splitter * b; + bhi = c - (c - b); + blo = b - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + c = splitter * k; + bhi = c - (c - k); + blo = k - bhi; + _i = s0 * k; + c = splitter * s0; + ahi = c - (c - s0); + alo = s0 - ahi; + orient3d_u[0] = alo * blo - (_i - ahi * bhi - alo * bhi - ahi * blo); + _j = s1 * k; + c = splitter * s1; + ahi = c - (c - s1); + alo = s1 - ahi; + _0 = alo * blo - (_j - ahi * bhi - alo * bhi - ahi * blo); + _k = _i + _0; + bvirt = _k - _i; + orient3d_u[1] = _i - (_k - bvirt) + (_0 - bvirt); + u3 = _j + _k; + orient3d_u[2] = _k - (u3 - _j); + orient3d_u[3] = u3; + finlen = finadd(finlen, 4, orient3d_u); + if (z !== 0) { + c = splitter * z; + bhi = c - (c - z); + blo = z - bhi; + _i = s0 * z; + c = splitter * s0; + ahi = c - (c - s0); + alo = s0 - ahi; + orient3d_u[0] = alo * blo - (_i - ahi * bhi - alo * bhi - ahi * blo); + _j = s1 * z; + c = splitter * s1; + ahi = c - (c - s1); + alo = s1 - ahi; + _0 = alo * blo - (_j - ahi * bhi - alo * bhi - ahi * blo); + _k = _i + _0; + bvirt = _k - _i; + orient3d_u[1] = _i - (_k - bvirt) + (_0 - bvirt); + u3 = _j + _k; + orient3d_u[2] = _k - (u3 - _j); + orient3d_u[3] = u3; + finlen = finadd(finlen, 4, orient3d_u); + } + return finlen; +} + +function orient3dadapt(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, permanent) { + let finlen; + let adxtail, bdxtail, cdxtail; + let adytail, bdytail, cdytail; + let adztail, bdztail, cdztail; + let bvirt, c, ahi, alo, bhi, blo, _i, _j, _k, _0, s1, s0, t1, t0, u3; + + const adx = ax - dx; + const bdx = bx - dx; + const cdx = cx - dx; + const ady = ay - dy; + const bdy = by - dy; + const cdy = cy - dy; + const adz = az - dz; + const bdz = bz - dz; + const cdz = cz - dz; + + s1 = bdx * cdy; + c = splitter * bdx; + ahi = c - (c - bdx); + alo = bdx - ahi; + c = splitter * cdy; + bhi = c - (c - cdy); + blo = cdy - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = cdx * bdy; + c = splitter * cdx; + ahi = c - (c - cdx); + alo = cdx - ahi; + c = splitter * bdy; + bhi = c - (c - bdy); + blo = bdy - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + bc[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + bc[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + bc[2] = _j - (u3 - bvirt) + (_i - bvirt); + bc[3] = u3; + s1 = cdx * ady; + c = splitter * cdx; + ahi = c - (c - cdx); + alo = cdx - ahi; + c = splitter * ady; + bhi = c - (c - ady); + blo = ady - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = adx * cdy; + c = splitter * adx; + ahi = c - (c - adx); + alo = adx - ahi; + c = splitter * cdy; + bhi = c - (c - cdy); + blo = cdy - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + ca[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + ca[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + ca[2] = _j - (u3 - bvirt) + (_i - bvirt); + ca[3] = u3; + s1 = adx * bdy; + c = splitter * adx; + ahi = c - (c - adx); + alo = adx - ahi; + c = splitter * bdy; + bhi = c - (c - bdy); + blo = bdy - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = bdx * ady; + c = splitter * bdx; + ahi = c - (c - bdx); + alo = bdx - ahi; + c = splitter * ady; + bhi = c - (c - ady); + blo = ady - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + ab[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + ab[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + ab[2] = _j - (u3 - bvirt) + (_i - bvirt); + ab[3] = u3; + + finlen = sum( + sum( + scale(4, bc, adz, _8), _8, + scale(4, ca, bdz, _8b), _8b, _16), _16, + scale(4, ab, cdz, _8), _8, fin); + + let det = estimate(finlen, fin); + let errbound = o3derrboundB * permanent; + if (det >= errbound || -det >= errbound) { + return det; + } + + bvirt = ax - adx; + adxtail = ax - (adx + bvirt) + (bvirt - dx); + bvirt = bx - bdx; + bdxtail = bx - (bdx + bvirt) + (bvirt - dx); + bvirt = cx - cdx; + cdxtail = cx - (cdx + bvirt) + (bvirt - dx); + bvirt = ay - ady; + adytail = ay - (ady + bvirt) + (bvirt - dy); + bvirt = by - bdy; + bdytail = by - (bdy + bvirt) + (bvirt - dy); + bvirt = cy - cdy; + cdytail = cy - (cdy + bvirt) + (bvirt - dy); + bvirt = az - adz; + adztail = az - (adz + bvirt) + (bvirt - dz); + bvirt = bz - bdz; + bdztail = bz - (bdz + bvirt) + (bvirt - dz); + bvirt = cz - cdz; + cdztail = cz - (cdz + bvirt) + (bvirt - dz); + + if (adxtail === 0 && bdxtail === 0 && cdxtail === 0 && + adytail === 0 && bdytail === 0 && cdytail === 0 && + adztail === 0 && bdztail === 0 && cdztail === 0) { + return det; + } + + errbound = o3derrboundC * permanent + resulterrbound * Math.abs(det); + det += + adz * (bdx * cdytail + cdy * bdxtail - (bdy * cdxtail + cdx * bdytail)) + adztail * (bdx * cdy - bdy * cdx) + + bdz * (cdx * adytail + ady * cdxtail - (cdy * adxtail + adx * cdytail)) + bdztail * (cdx * ady - cdy * adx) + + cdz * (adx * bdytail + bdy * adxtail - (ady * bdxtail + bdx * adytail)) + cdztail * (adx * bdy - ady * bdx); + if (det >= errbound || -det >= errbound) { + return det; + } + + const at_len = tailinit(adxtail, adytail, bdx, bdy, cdx, cdy, at_b, at_c); + const bt_len = tailinit(bdxtail, bdytail, cdx, cdy, adx, ady, bt_c, bt_a); + const ct_len = tailinit(cdxtail, cdytail, adx, ady, bdx, bdy, ct_a, ct_b); + + const bctlen = sum(bt_len, bt_c, ct_len, ct_b, bct); + finlen = finadd(finlen, scale(bctlen, bct, adz, _16), _16); + + const catlen = sum(ct_len, ct_a, at_len, at_c, cat); + finlen = finadd(finlen, scale(catlen, cat, bdz, _16), _16); + + const abtlen = sum(at_len, at_b, bt_len, bt_a, abt); + finlen = finadd(finlen, scale(abtlen, abt, cdz, _16), _16); + + if (adztail !== 0) { + finlen = finadd(finlen, scale(4, bc, adztail, _12), _12); + finlen = finadd(finlen, scale(bctlen, bct, adztail, _16), _16); + } + if (bdztail !== 0) { + finlen = finadd(finlen, scale(4, ca, bdztail, _12), _12); + finlen = finadd(finlen, scale(catlen, cat, bdztail, _16), _16); + } + if (cdztail !== 0) { + finlen = finadd(finlen, scale(4, ab, cdztail, _12), _12); + finlen = finadd(finlen, scale(abtlen, abt, cdztail, _16), _16); + } + + if (adxtail !== 0) { + if (bdytail !== 0) { + finlen = tailadd(finlen, adxtail, bdytail, cdz, cdztail); + } + if (cdytail !== 0) { + finlen = tailadd(finlen, -adxtail, cdytail, bdz, bdztail); + } + } + if (bdxtail !== 0) { + if (cdytail !== 0) { + finlen = tailadd(finlen, bdxtail, cdytail, adz, adztail); + } + if (adytail !== 0) { + finlen = tailadd(finlen, -bdxtail, adytail, cdz, cdztail); + } + } + if (cdxtail !== 0) { + if (adytail !== 0) { + finlen = tailadd(finlen, cdxtail, adytail, bdz, bdztail); + } + if (bdytail !== 0) { + finlen = tailadd(finlen, -cdxtail, bdytail, adz, adztail); + } + } + + return fin[finlen - 1]; +} + +function orient3d(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz) { + const adx = ax - dx; + const bdx = bx - dx; + const cdx = cx - dx; + const ady = ay - dy; + const bdy = by - dy; + const cdy = cy - dy; + const adz = az - dz; + const bdz = bz - dz; + const cdz = cz - dz; + + const bdxcdy = bdx * cdy; + const cdxbdy = cdx * bdy; + + const cdxady = cdx * ady; + const adxcdy = adx * cdy; + + const adxbdy = adx * bdy; + const bdxady = bdx * ady; + + const det = + adz * (bdxcdy - cdxbdy) + + bdz * (cdxady - adxcdy) + + cdz * (adxbdy - bdxady); + + const permanent = + (Math.abs(bdxcdy) + Math.abs(cdxbdy)) * Math.abs(adz) + + (Math.abs(cdxady) + Math.abs(adxcdy)) * Math.abs(bdz) + + (Math.abs(adxbdy) + Math.abs(bdxady)) * Math.abs(cdz); + + const errbound = o3derrboundA * permanent; + if (det > errbound || -det > errbound) { + return det; + } + + return orient3dadapt(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, permanent); +} + +function orient3dfast(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz) { + const adx = ax - dx; + const bdx = bx - dx; + const cdx = cx - dx; + const ady = ay - dy; + const bdy = by - dy; + const cdy = cy - dy; + const adz = az - dz; + const bdz = bz - dz; + const cdz = cz - dz; + + return adx * (bdy * cdz - bdz * cdy) + + bdx * (cdy * adz - cdz * ady) + + cdx * (ady * bdz - adz * bdy); +} + +;// ./node_modules/robust-predicates/esm/incircle.js + + +const iccerrboundA = (10 + 96 * epsilon) * epsilon; +const iccerrboundB = (4 + 48 * epsilon) * epsilon; +const iccerrboundC = (44 + 576 * epsilon) * epsilon * epsilon; + +const incircle_bc = vec(4); +const incircle_ca = vec(4); +const incircle_ab = vec(4); +const aa = vec(4); +const bb = vec(4); +const cc = vec(4); +const incircle_u = vec(4); +const v = vec(4); +const axtbc = vec(8); +const aytbc = vec(8); +const bxtca = vec(8); +const bytca = vec(8); +const cxtab = vec(8); +const cytab = vec(8); +const incircle_abt = vec(8); +const incircle_bct = vec(8); +const incircle_cat = vec(8); +const abtt = vec(4); +const bctt = vec(4); +const catt = vec(4); + +const incircle_8 = vec(8); +const incircle_16 = vec(16); +const _16b = vec(16); +const _16c = vec(16); +const _32 = vec(32); +const _32b = vec(32); +const _48 = vec(48); +const _64 = vec(64); + +let incircle_fin = vec(1152); +let incircle_fin2 = vec(1152); + +function incircle_finadd(finlen, a, alen) { + finlen = sum(finlen, incircle_fin, a, alen, incircle_fin2); + const tmp = incircle_fin; incircle_fin = incircle_fin2; incircle_fin2 = tmp; + return finlen; +} + +function incircleadapt(ax, ay, bx, by, cx, cy, dx, dy, permanent) { + let finlen; + let adxtail, bdxtail, cdxtail, adytail, bdytail, cdytail; + let axtbclen, aytbclen, bxtcalen, bytcalen, cxtablen, cytablen; + let abtlen, bctlen, catlen; + let abttlen, bcttlen, cattlen; + let n1, n0; + + let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0, u3; + + const adx = ax - dx; + const bdx = bx - dx; + const cdx = cx - dx; + const ady = ay - dy; + const bdy = by - dy; + const cdy = cy - dy; + + s1 = bdx * cdy; + c = splitter * bdx; + ahi = c - (c - bdx); + alo = bdx - ahi; + c = splitter * cdy; + bhi = c - (c - cdy); + blo = cdy - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = cdx * bdy; + c = splitter * cdx; + ahi = c - (c - cdx); + alo = cdx - ahi; + c = splitter * bdy; + bhi = c - (c - bdy); + blo = bdy - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + incircle_bc[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + incircle_bc[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + incircle_bc[2] = _j - (u3 - bvirt) + (_i - bvirt); + incircle_bc[3] = u3; + s1 = cdx * ady; + c = splitter * cdx; + ahi = c - (c - cdx); + alo = cdx - ahi; + c = splitter * ady; + bhi = c - (c - ady); + blo = ady - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = adx * cdy; + c = splitter * adx; + ahi = c - (c - adx); + alo = adx - ahi; + c = splitter * cdy; + bhi = c - (c - cdy); + blo = cdy - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + incircle_ca[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + incircle_ca[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + incircle_ca[2] = _j - (u3 - bvirt) + (_i - bvirt); + incircle_ca[3] = u3; + s1 = adx * bdy; + c = splitter * adx; + ahi = c - (c - adx); + alo = adx - ahi; + c = splitter * bdy; + bhi = c - (c - bdy); + blo = bdy - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = bdx * ady; + c = splitter * bdx; + ahi = c - (c - bdx); + alo = bdx - ahi; + c = splitter * ady; + bhi = c - (c - ady); + blo = ady - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + incircle_ab[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + incircle_ab[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + incircle_ab[2] = _j - (u3 - bvirt) + (_i - bvirt); + incircle_ab[3] = u3; + + finlen = sum( + sum( + sum( + scale(scale(4, incircle_bc, adx, incircle_8), incircle_8, adx, incircle_16), incircle_16, + scale(scale(4, incircle_bc, ady, incircle_8), incircle_8, ady, _16b), _16b, _32), _32, + sum( + scale(scale(4, incircle_ca, bdx, incircle_8), incircle_8, bdx, incircle_16), incircle_16, + scale(scale(4, incircle_ca, bdy, incircle_8), incircle_8, bdy, _16b), _16b, _32b), _32b, _64), _64, + sum( + scale(scale(4, incircle_ab, cdx, incircle_8), incircle_8, cdx, incircle_16), incircle_16, + scale(scale(4, incircle_ab, cdy, incircle_8), incircle_8, cdy, _16b), _16b, _32), _32, incircle_fin); + + let det = estimate(finlen, incircle_fin); + let errbound = iccerrboundB * permanent; + if (det >= errbound || -det >= errbound) { + return det; + } + + bvirt = ax - adx; + adxtail = ax - (adx + bvirt) + (bvirt - dx); + bvirt = ay - ady; + adytail = ay - (ady + bvirt) + (bvirt - dy); + bvirt = bx - bdx; + bdxtail = bx - (bdx + bvirt) + (bvirt - dx); + bvirt = by - bdy; + bdytail = by - (bdy + bvirt) + (bvirt - dy); + bvirt = cx - cdx; + cdxtail = cx - (cdx + bvirt) + (bvirt - dx); + bvirt = cy - cdy; + cdytail = cy - (cdy + bvirt) + (bvirt - dy); + if (adxtail === 0 && bdxtail === 0 && cdxtail === 0 && adytail === 0 && bdytail === 0 && cdytail === 0) { + return det; + } + + errbound = iccerrboundC * permanent + resulterrbound * Math.abs(det); + det += ((adx * adx + ady * ady) * ((bdx * cdytail + cdy * bdxtail) - (bdy * cdxtail + cdx * bdytail)) + + 2 * (adx * adxtail + ady * adytail) * (bdx * cdy - bdy * cdx)) + + ((bdx * bdx + bdy * bdy) * ((cdx * adytail + ady * cdxtail) - (cdy * adxtail + adx * cdytail)) + + 2 * (bdx * bdxtail + bdy * bdytail) * (cdx * ady - cdy * adx)) + + ((cdx * cdx + cdy * cdy) * ((adx * bdytail + bdy * adxtail) - (ady * bdxtail + bdx * adytail)) + + 2 * (cdx * cdxtail + cdy * cdytail) * (adx * bdy - ady * bdx)); + + if (det >= errbound || -det >= errbound) { + return det; + } + + if (bdxtail !== 0 || bdytail !== 0 || cdxtail !== 0 || cdytail !== 0) { + s1 = adx * adx; + c = splitter * adx; + ahi = c - (c - adx); + alo = adx - ahi; + s0 = alo * alo - (s1 - ahi * ahi - (ahi + ahi) * alo); + t1 = ady * ady; + c = splitter * ady; + ahi = c - (c - ady); + alo = ady - ahi; + t0 = alo * alo - (t1 - ahi * ahi - (ahi + ahi) * alo); + _i = s0 + t0; + bvirt = _i - s0; + aa[0] = s0 - (_i - bvirt) + (t0 - bvirt); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 + t1; + bvirt = _i - _0; + aa[1] = _0 - (_i - bvirt) + (t1 - bvirt); + u3 = _j + _i; + bvirt = u3 - _j; + aa[2] = _j - (u3 - bvirt) + (_i - bvirt); + aa[3] = u3; + } + if (cdxtail !== 0 || cdytail !== 0 || adxtail !== 0 || adytail !== 0) { + s1 = bdx * bdx; + c = splitter * bdx; + ahi = c - (c - bdx); + alo = bdx - ahi; + s0 = alo * alo - (s1 - ahi * ahi - (ahi + ahi) * alo); + t1 = bdy * bdy; + c = splitter * bdy; + ahi = c - (c - bdy); + alo = bdy - ahi; + t0 = alo * alo - (t1 - ahi * ahi - (ahi + ahi) * alo); + _i = s0 + t0; + bvirt = _i - s0; + bb[0] = s0 - (_i - bvirt) + (t0 - bvirt); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 + t1; + bvirt = _i - _0; + bb[1] = _0 - (_i - bvirt) + (t1 - bvirt); + u3 = _j + _i; + bvirt = u3 - _j; + bb[2] = _j - (u3 - bvirt) + (_i - bvirt); + bb[3] = u3; + } + if (adxtail !== 0 || adytail !== 0 || bdxtail !== 0 || bdytail !== 0) { + s1 = cdx * cdx; + c = splitter * cdx; + ahi = c - (c - cdx); + alo = cdx - ahi; + s0 = alo * alo - (s1 - ahi * ahi - (ahi + ahi) * alo); + t1 = cdy * cdy; + c = splitter * cdy; + ahi = c - (c - cdy); + alo = cdy - ahi; + t0 = alo * alo - (t1 - ahi * ahi - (ahi + ahi) * alo); + _i = s0 + t0; + bvirt = _i - s0; + cc[0] = s0 - (_i - bvirt) + (t0 - bvirt); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 + t1; + bvirt = _i - _0; + cc[1] = _0 - (_i - bvirt) + (t1 - bvirt); + u3 = _j + _i; + bvirt = u3 - _j; + cc[2] = _j - (u3 - bvirt) + (_i - bvirt); + cc[3] = u3; + } + + if (adxtail !== 0) { + axtbclen = scale(4, incircle_bc, adxtail, axtbc); + finlen = incircle_finadd(finlen, sum_three( + scale(axtbclen, axtbc, 2 * adx, incircle_16), incircle_16, + scale(scale(4, cc, adxtail, incircle_8), incircle_8, bdy, _16b), _16b, + scale(scale(4, bb, adxtail, incircle_8), incircle_8, -cdy, _16c), _16c, _32, _48), _48); + } + if (adytail !== 0) { + aytbclen = scale(4, incircle_bc, adytail, aytbc); + finlen = incircle_finadd(finlen, sum_three( + scale(aytbclen, aytbc, 2 * ady, incircle_16), incircle_16, + scale(scale(4, bb, adytail, incircle_8), incircle_8, cdx, _16b), _16b, + scale(scale(4, cc, adytail, incircle_8), incircle_8, -bdx, _16c), _16c, _32, _48), _48); + } + if (bdxtail !== 0) { + bxtcalen = scale(4, incircle_ca, bdxtail, bxtca); + finlen = incircle_finadd(finlen, sum_three( + scale(bxtcalen, bxtca, 2 * bdx, incircle_16), incircle_16, + scale(scale(4, aa, bdxtail, incircle_8), incircle_8, cdy, _16b), _16b, + scale(scale(4, cc, bdxtail, incircle_8), incircle_8, -ady, _16c), _16c, _32, _48), _48); + } + if (bdytail !== 0) { + bytcalen = scale(4, incircle_ca, bdytail, bytca); + finlen = incircle_finadd(finlen, sum_three( + scale(bytcalen, bytca, 2 * bdy, incircle_16), incircle_16, + scale(scale(4, cc, bdytail, incircle_8), incircle_8, adx, _16b), _16b, + scale(scale(4, aa, bdytail, incircle_8), incircle_8, -cdx, _16c), _16c, _32, _48), _48); + } + if (cdxtail !== 0) { + cxtablen = scale(4, incircle_ab, cdxtail, cxtab); + finlen = incircle_finadd(finlen, sum_three( + scale(cxtablen, cxtab, 2 * cdx, incircle_16), incircle_16, + scale(scale(4, bb, cdxtail, incircle_8), incircle_8, ady, _16b), _16b, + scale(scale(4, aa, cdxtail, incircle_8), incircle_8, -bdy, _16c), _16c, _32, _48), _48); + } + if (cdytail !== 0) { + cytablen = scale(4, incircle_ab, cdytail, cytab); + finlen = incircle_finadd(finlen, sum_three( + scale(cytablen, cytab, 2 * cdy, incircle_16), incircle_16, + scale(scale(4, aa, cdytail, incircle_8), incircle_8, bdx, _16b), _16b, + scale(scale(4, bb, cdytail, incircle_8), incircle_8, -adx, _16c), _16c, _32, _48), _48); + } + + if (adxtail !== 0 || adytail !== 0) { + if (bdxtail !== 0 || bdytail !== 0 || cdxtail !== 0 || cdytail !== 0) { + s1 = bdxtail * cdy; + c = splitter * bdxtail; + ahi = c - (c - bdxtail); + alo = bdxtail - ahi; + c = splitter * cdy; + bhi = c - (c - cdy); + blo = cdy - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = bdx * cdytail; + c = splitter * bdx; + ahi = c - (c - bdx); + alo = bdx - ahi; + c = splitter * cdytail; + bhi = c - (c - cdytail); + blo = cdytail - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 + t0; + bvirt = _i - s0; + incircle_u[0] = s0 - (_i - bvirt) + (t0 - bvirt); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 + t1; + bvirt = _i - _0; + incircle_u[1] = _0 - (_i - bvirt) + (t1 - bvirt); + u3 = _j + _i; + bvirt = u3 - _j; + incircle_u[2] = _j - (u3 - bvirt) + (_i - bvirt); + incircle_u[3] = u3; + s1 = cdxtail * -bdy; + c = splitter * cdxtail; + ahi = c - (c - cdxtail); + alo = cdxtail - ahi; + c = splitter * -bdy; + bhi = c - (c - -bdy); + blo = -bdy - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = cdx * -bdytail; + c = splitter * cdx; + ahi = c - (c - cdx); + alo = cdx - ahi; + c = splitter * -bdytail; + bhi = c - (c - -bdytail); + blo = -bdytail - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 + t0; + bvirt = _i - s0; + v[0] = s0 - (_i - bvirt) + (t0 - bvirt); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 + t1; + bvirt = _i - _0; + v[1] = _0 - (_i - bvirt) + (t1 - bvirt); + u3 = _j + _i; + bvirt = u3 - _j; + v[2] = _j - (u3 - bvirt) + (_i - bvirt); + v[3] = u3; + bctlen = sum(4, incircle_u, 4, v, incircle_bct); + s1 = bdxtail * cdytail; + c = splitter * bdxtail; + ahi = c - (c - bdxtail); + alo = bdxtail - ahi; + c = splitter * cdytail; + bhi = c - (c - cdytail); + blo = cdytail - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = cdxtail * bdytail; + c = splitter * cdxtail; + ahi = c - (c - cdxtail); + alo = cdxtail - ahi; + c = splitter * bdytail; + bhi = c - (c - bdytail); + blo = bdytail - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + bctt[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + bctt[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + bctt[2] = _j - (u3 - bvirt) + (_i - bvirt); + bctt[3] = u3; + bcttlen = 4; + } else { + incircle_bct[0] = 0; + bctlen = 1; + bctt[0] = 0; + bcttlen = 1; + } + if (adxtail !== 0) { + const len = scale(bctlen, incircle_bct, adxtail, _16c); + finlen = incircle_finadd(finlen, sum( + scale(axtbclen, axtbc, adxtail, incircle_16), incircle_16, + scale(len, _16c, 2 * adx, _32), _32, _48), _48); + + const len2 = scale(bcttlen, bctt, adxtail, incircle_8); + finlen = incircle_finadd(finlen, sum_three( + scale(len2, incircle_8, 2 * adx, incircle_16), incircle_16, + scale(len2, incircle_8, adxtail, _16b), _16b, + scale(len, _16c, adxtail, _32), _32, _32b, _64), _64); + + if (bdytail !== 0) { + finlen = incircle_finadd(finlen, scale(scale(4, cc, adxtail, incircle_8), incircle_8, bdytail, incircle_16), incircle_16); + } + if (cdytail !== 0) { + finlen = incircle_finadd(finlen, scale(scale(4, bb, -adxtail, incircle_8), incircle_8, cdytail, incircle_16), incircle_16); + } + } + if (adytail !== 0) { + const len = scale(bctlen, incircle_bct, adytail, _16c); + finlen = incircle_finadd(finlen, sum( + scale(aytbclen, aytbc, adytail, incircle_16), incircle_16, + scale(len, _16c, 2 * ady, _32), _32, _48), _48); + + const len2 = scale(bcttlen, bctt, adytail, incircle_8); + finlen = incircle_finadd(finlen, sum_three( + scale(len2, incircle_8, 2 * ady, incircle_16), incircle_16, + scale(len2, incircle_8, adytail, _16b), _16b, + scale(len, _16c, adytail, _32), _32, _32b, _64), _64); + } + } + if (bdxtail !== 0 || bdytail !== 0) { + if (cdxtail !== 0 || cdytail !== 0 || adxtail !== 0 || adytail !== 0) { + s1 = cdxtail * ady; + c = splitter * cdxtail; + ahi = c - (c - cdxtail); + alo = cdxtail - ahi; + c = splitter * ady; + bhi = c - (c - ady); + blo = ady - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = cdx * adytail; + c = splitter * cdx; + ahi = c - (c - cdx); + alo = cdx - ahi; + c = splitter * adytail; + bhi = c - (c - adytail); + blo = adytail - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 + t0; + bvirt = _i - s0; + incircle_u[0] = s0 - (_i - bvirt) + (t0 - bvirt); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 + t1; + bvirt = _i - _0; + incircle_u[1] = _0 - (_i - bvirt) + (t1 - bvirt); + u3 = _j + _i; + bvirt = u3 - _j; + incircle_u[2] = _j - (u3 - bvirt) + (_i - bvirt); + incircle_u[3] = u3; + n1 = -cdy; + n0 = -cdytail; + s1 = adxtail * n1; + c = splitter * adxtail; + ahi = c - (c - adxtail); + alo = adxtail - ahi; + c = splitter * n1; + bhi = c - (c - n1); + blo = n1 - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = adx * n0; + c = splitter * adx; + ahi = c - (c - adx); + alo = adx - ahi; + c = splitter * n0; + bhi = c - (c - n0); + blo = n0 - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 + t0; + bvirt = _i - s0; + v[0] = s0 - (_i - bvirt) + (t0 - bvirt); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 + t1; + bvirt = _i - _0; + v[1] = _0 - (_i - bvirt) + (t1 - bvirt); + u3 = _j + _i; + bvirt = u3 - _j; + v[2] = _j - (u3 - bvirt) + (_i - bvirt); + v[3] = u3; + catlen = sum(4, incircle_u, 4, v, incircle_cat); + s1 = cdxtail * adytail; + c = splitter * cdxtail; + ahi = c - (c - cdxtail); + alo = cdxtail - ahi; + c = splitter * adytail; + bhi = c - (c - adytail); + blo = adytail - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = adxtail * cdytail; + c = splitter * adxtail; + ahi = c - (c - adxtail); + alo = adxtail - ahi; + c = splitter * cdytail; + bhi = c - (c - cdytail); + blo = cdytail - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + catt[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + catt[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + catt[2] = _j - (u3 - bvirt) + (_i - bvirt); + catt[3] = u3; + cattlen = 4; + } else { + incircle_cat[0] = 0; + catlen = 1; + catt[0] = 0; + cattlen = 1; + } + if (bdxtail !== 0) { + const len = scale(catlen, incircle_cat, bdxtail, _16c); + finlen = incircle_finadd(finlen, sum( + scale(bxtcalen, bxtca, bdxtail, incircle_16), incircle_16, + scale(len, _16c, 2 * bdx, _32), _32, _48), _48); + + const len2 = scale(cattlen, catt, bdxtail, incircle_8); + finlen = incircle_finadd(finlen, sum_three( + scale(len2, incircle_8, 2 * bdx, incircle_16), incircle_16, + scale(len2, incircle_8, bdxtail, _16b), _16b, + scale(len, _16c, bdxtail, _32), _32, _32b, _64), _64); + + if (cdytail !== 0) { + finlen = incircle_finadd(finlen, scale(scale(4, aa, bdxtail, incircle_8), incircle_8, cdytail, incircle_16), incircle_16); + } + if (adytail !== 0) { + finlen = incircle_finadd(finlen, scale(scale(4, cc, -bdxtail, incircle_8), incircle_8, adytail, incircle_16), incircle_16); + } + } + if (bdytail !== 0) { + const len = scale(catlen, incircle_cat, bdytail, _16c); + finlen = incircle_finadd(finlen, sum( + scale(bytcalen, bytca, bdytail, incircle_16), incircle_16, + scale(len, _16c, 2 * bdy, _32), _32, _48), _48); + + const len2 = scale(cattlen, catt, bdytail, incircle_8); + finlen = incircle_finadd(finlen, sum_three( + scale(len2, incircle_8, 2 * bdy, incircle_16), incircle_16, + scale(len2, incircle_8, bdytail, _16b), _16b, + scale(len, _16c, bdytail, _32), _32, _32b, _64), _64); + } + } + if (cdxtail !== 0 || cdytail !== 0) { + if (adxtail !== 0 || adytail !== 0 || bdxtail !== 0 || bdytail !== 0) { + s1 = adxtail * bdy; + c = splitter * adxtail; + ahi = c - (c - adxtail); + alo = adxtail - ahi; + c = splitter * bdy; + bhi = c - (c - bdy); + blo = bdy - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = adx * bdytail; + c = splitter * adx; + ahi = c - (c - adx); + alo = adx - ahi; + c = splitter * bdytail; + bhi = c - (c - bdytail); + blo = bdytail - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 + t0; + bvirt = _i - s0; + incircle_u[0] = s0 - (_i - bvirt) + (t0 - bvirt); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 + t1; + bvirt = _i - _0; + incircle_u[1] = _0 - (_i - bvirt) + (t1 - bvirt); + u3 = _j + _i; + bvirt = u3 - _j; + incircle_u[2] = _j - (u3 - bvirt) + (_i - bvirt); + incircle_u[3] = u3; + n1 = -ady; + n0 = -adytail; + s1 = bdxtail * n1; + c = splitter * bdxtail; + ahi = c - (c - bdxtail); + alo = bdxtail - ahi; + c = splitter * n1; + bhi = c - (c - n1); + blo = n1 - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = bdx * n0; + c = splitter * bdx; + ahi = c - (c - bdx); + alo = bdx - ahi; + c = splitter * n0; + bhi = c - (c - n0); + blo = n0 - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 + t0; + bvirt = _i - s0; + v[0] = s0 - (_i - bvirt) + (t0 - bvirt); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 + t1; + bvirt = _i - _0; + v[1] = _0 - (_i - bvirt) + (t1 - bvirt); + u3 = _j + _i; + bvirt = u3 - _j; + v[2] = _j - (u3 - bvirt) + (_i - bvirt); + v[3] = u3; + abtlen = sum(4, incircle_u, 4, v, incircle_abt); + s1 = adxtail * bdytail; + c = splitter * adxtail; + ahi = c - (c - adxtail); + alo = adxtail - ahi; + c = splitter * bdytail; + bhi = c - (c - bdytail); + blo = bdytail - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = bdxtail * adytail; + c = splitter * bdxtail; + ahi = c - (c - bdxtail); + alo = bdxtail - ahi; + c = splitter * adytail; + bhi = c - (c - adytail); + blo = adytail - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + abtt[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + abtt[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + abtt[2] = _j - (u3 - bvirt) + (_i - bvirt); + abtt[3] = u3; + abttlen = 4; + } else { + incircle_abt[0] = 0; + abtlen = 1; + abtt[0] = 0; + abttlen = 1; + } + if (cdxtail !== 0) { + const len = scale(abtlen, incircle_abt, cdxtail, _16c); + finlen = incircle_finadd(finlen, sum( + scale(cxtablen, cxtab, cdxtail, incircle_16), incircle_16, + scale(len, _16c, 2 * cdx, _32), _32, _48), _48); + + const len2 = scale(abttlen, abtt, cdxtail, incircle_8); + finlen = incircle_finadd(finlen, sum_three( + scale(len2, incircle_8, 2 * cdx, incircle_16), incircle_16, + scale(len2, incircle_8, cdxtail, _16b), _16b, + scale(len, _16c, cdxtail, _32), _32, _32b, _64), _64); + + if (adytail !== 0) { + finlen = incircle_finadd(finlen, scale(scale(4, bb, cdxtail, incircle_8), incircle_8, adytail, incircle_16), incircle_16); + } + if (bdytail !== 0) { + finlen = incircle_finadd(finlen, scale(scale(4, aa, -cdxtail, incircle_8), incircle_8, bdytail, incircle_16), incircle_16); + } + } + if (cdytail !== 0) { + const len = scale(abtlen, incircle_abt, cdytail, _16c); + finlen = incircle_finadd(finlen, sum( + scale(cytablen, cytab, cdytail, incircle_16), incircle_16, + scale(len, _16c, 2 * cdy, _32), _32, _48), _48); + + const len2 = scale(abttlen, abtt, cdytail, incircle_8); + finlen = incircle_finadd(finlen, sum_three( + scale(len2, incircle_8, 2 * cdy, incircle_16), incircle_16, + scale(len2, incircle_8, cdytail, _16b), _16b, + scale(len, _16c, cdytail, _32), _32, _32b, _64), _64); + } + } + + return incircle_fin[finlen - 1]; +} + +function incircle(ax, ay, bx, by, cx, cy, dx, dy) { + const adx = ax - dx; + const bdx = bx - dx; + const cdx = cx - dx; + const ady = ay - dy; + const bdy = by - dy; + const cdy = cy - dy; + + const bdxcdy = bdx * cdy; + const cdxbdy = cdx * bdy; + const alift = adx * adx + ady * ady; + + const cdxady = cdx * ady; + const adxcdy = adx * cdy; + const blift = bdx * bdx + bdy * bdy; + + const adxbdy = adx * bdy; + const bdxady = bdx * ady; + const clift = cdx * cdx + cdy * cdy; + + const det = + alift * (bdxcdy - cdxbdy) + + blift * (cdxady - adxcdy) + + clift * (adxbdy - bdxady); + + const permanent = + (Math.abs(bdxcdy) + Math.abs(cdxbdy)) * alift + + (Math.abs(cdxady) + Math.abs(adxcdy)) * blift + + (Math.abs(adxbdy) + Math.abs(bdxady)) * clift; + + const errbound = iccerrboundA * permanent; + + if (det > errbound || -det > errbound) { + return det; + } + return incircleadapt(ax, ay, bx, by, cx, cy, dx, dy, permanent); +} + +function incirclefast(ax, ay, bx, by, cx, cy, dx, dy) { + const adx = ax - dx; + const ady = ay - dy; + const bdx = bx - dx; + const bdy = by - dy; + const cdx = cx - dx; + const cdy = cy - dy; + + const abdet = adx * bdy - bdx * ady; + const bcdet = bdx * cdy - cdx * bdy; + const cadet = cdx * ady - adx * cdy; + const alift = adx * adx + ady * ady; + const blift = bdx * bdx + bdy * bdy; + const clift = cdx * cdx + cdy * cdy; + + return alift * bcdet + blift * cadet + clift * abdet; +} + +;// ./node_modules/robust-predicates/esm/insphere.js + + +const isperrboundA = (16 + 224 * epsilon) * epsilon; +const isperrboundB = (5 + 72 * epsilon) * epsilon; +const isperrboundC = (71 + 1408 * epsilon) * epsilon * epsilon; + +const insphere_ab = vec(4); +const insphere_bc = vec(4); +const cd = vec(4); +const de = vec(4); +const ea = vec(4); +const ac = vec(4); +const bd = vec(4); +const ce = vec(4); +const da = vec(4); +const eb = vec(4); + +const abc = vec(24); +const bcd = vec(24); +const cde = vec(24); +const dea = vec(24); +const eab = vec(24); +const abd = vec(24); +const bce = vec(24); +const cda = vec(24); +const deb = vec(24); +const eac = vec(24); + +const adet = vec(1152); +const bdet = vec(1152); +const cdet = vec(1152); +const ddet = vec(1152); +const edet = vec(1152); +const abdet = vec(2304); +const cddet = vec(2304); +const cdedet = vec(3456); +const deter = vec(5760); + +const insphere_8 = vec(8); +const insphere_8b = vec(8); +const _8c = vec(8); +const insphere_16 = vec(16); +const _24 = vec(24); +const insphere_48 = vec(48); +const _48b = vec(48); +const _96 = vec(96); +const _192 = vec(192); +const _384x = vec(384); +const _384y = vec(384); +const _384z = vec(384); +const _768 = vec(768); + +function sum_three_scale(a, b, c, az, bz, cz, out) { + return sum_three( + scale(4, a, az, insphere_8), insphere_8, + scale(4, b, bz, insphere_8b), insphere_8b, + scale(4, c, cz, _8c), _8c, insphere_16, out); +} + +function liftexact(alen, a, blen, b, clen, c, dlen, d, x, y, z, out) { + const len = sum( + sum(alen, a, blen, b, insphere_48), insphere_48, + negate(sum(clen, c, dlen, d, _48b), _48b), _48b, _96); + + return sum_three( + scale(scale(len, _96, x, _192), _192, x, _384x), _384x, + scale(scale(len, _96, y, _192), _192, y, _384y), _384y, + scale(scale(len, _96, z, _192), _192, z, _384z), _384z, _768, out); +} + +function insphereexact(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez) { + let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0, u3; + + s1 = ax * by; + c = splitter * ax; + ahi = c - (c - ax); + alo = ax - ahi; + c = splitter * by; + bhi = c - (c - by); + blo = by - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = bx * ay; + c = splitter * bx; + ahi = c - (c - bx); + alo = bx - ahi; + c = splitter * ay; + bhi = c - (c - ay); + blo = ay - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + insphere_ab[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + insphere_ab[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + insphere_ab[2] = _j - (u3 - bvirt) + (_i - bvirt); + insphere_ab[3] = u3; + s1 = bx * cy; + c = splitter * bx; + ahi = c - (c - bx); + alo = bx - ahi; + c = splitter * cy; + bhi = c - (c - cy); + blo = cy - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = cx * by; + c = splitter * cx; + ahi = c - (c - cx); + alo = cx - ahi; + c = splitter * by; + bhi = c - (c - by); + blo = by - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + insphere_bc[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + insphere_bc[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + insphere_bc[2] = _j - (u3 - bvirt) + (_i - bvirt); + insphere_bc[3] = u3; + s1 = cx * dy; + c = splitter * cx; + ahi = c - (c - cx); + alo = cx - ahi; + c = splitter * dy; + bhi = c - (c - dy); + blo = dy - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = dx * cy; + c = splitter * dx; + ahi = c - (c - dx); + alo = dx - ahi; + c = splitter * cy; + bhi = c - (c - cy); + blo = cy - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + cd[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + cd[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + cd[2] = _j - (u3 - bvirt) + (_i - bvirt); + cd[3] = u3; + s1 = dx * ey; + c = splitter * dx; + ahi = c - (c - dx); + alo = dx - ahi; + c = splitter * ey; + bhi = c - (c - ey); + blo = ey - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = ex * dy; + c = splitter * ex; + ahi = c - (c - ex); + alo = ex - ahi; + c = splitter * dy; + bhi = c - (c - dy); + blo = dy - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + de[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + de[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + de[2] = _j - (u3 - bvirt) + (_i - bvirt); + de[3] = u3; + s1 = ex * ay; + c = splitter * ex; + ahi = c - (c - ex); + alo = ex - ahi; + c = splitter * ay; + bhi = c - (c - ay); + blo = ay - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = ax * ey; + c = splitter * ax; + ahi = c - (c - ax); + alo = ax - ahi; + c = splitter * ey; + bhi = c - (c - ey); + blo = ey - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + ea[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + ea[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + ea[2] = _j - (u3 - bvirt) + (_i - bvirt); + ea[3] = u3; + s1 = ax * cy; + c = splitter * ax; + ahi = c - (c - ax); + alo = ax - ahi; + c = splitter * cy; + bhi = c - (c - cy); + blo = cy - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = cx * ay; + c = splitter * cx; + ahi = c - (c - cx); + alo = cx - ahi; + c = splitter * ay; + bhi = c - (c - ay); + blo = ay - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + ac[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + ac[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + ac[2] = _j - (u3 - bvirt) + (_i - bvirt); + ac[3] = u3; + s1 = bx * dy; + c = splitter * bx; + ahi = c - (c - bx); + alo = bx - ahi; + c = splitter * dy; + bhi = c - (c - dy); + blo = dy - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = dx * by; + c = splitter * dx; + ahi = c - (c - dx); + alo = dx - ahi; + c = splitter * by; + bhi = c - (c - by); + blo = by - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + bd[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + bd[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + bd[2] = _j - (u3 - bvirt) + (_i - bvirt); + bd[3] = u3; + s1 = cx * ey; + c = splitter * cx; + ahi = c - (c - cx); + alo = cx - ahi; + c = splitter * ey; + bhi = c - (c - ey); + blo = ey - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = ex * cy; + c = splitter * ex; + ahi = c - (c - ex); + alo = ex - ahi; + c = splitter * cy; + bhi = c - (c - cy); + blo = cy - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + ce[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + ce[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + ce[2] = _j - (u3 - bvirt) + (_i - bvirt); + ce[3] = u3; + s1 = dx * ay; + c = splitter * dx; + ahi = c - (c - dx); + alo = dx - ahi; + c = splitter * ay; + bhi = c - (c - ay); + blo = ay - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = ax * dy; + c = splitter * ax; + ahi = c - (c - ax); + alo = ax - ahi; + c = splitter * dy; + bhi = c - (c - dy); + blo = dy - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + da[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + da[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + da[2] = _j - (u3 - bvirt) + (_i - bvirt); + da[3] = u3; + s1 = ex * by; + c = splitter * ex; + ahi = c - (c - ex); + alo = ex - ahi; + c = splitter * by; + bhi = c - (c - by); + blo = by - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = bx * ey; + c = splitter * bx; + ahi = c - (c - bx); + alo = bx - ahi; + c = splitter * ey; + bhi = c - (c - ey); + blo = ey - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + eb[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + eb[1] = _0 - (_i + bvirt) + (bvirt - t1); + u3 = _j + _i; + bvirt = u3 - _j; + eb[2] = _j - (u3 - bvirt) + (_i - bvirt); + eb[3] = u3; + + const abclen = sum_three_scale(insphere_ab, insphere_bc, ac, cz, az, -bz, abc); + const bcdlen = sum_three_scale(insphere_bc, cd, bd, dz, bz, -cz, bcd); + const cdelen = sum_three_scale(cd, de, ce, ez, cz, -dz, cde); + const dealen = sum_three_scale(de, ea, da, az, dz, -ez, dea); + const eablen = sum_three_scale(ea, insphere_ab, eb, bz, ez, -az, eab); + const abdlen = sum_three_scale(insphere_ab, bd, da, dz, az, bz, abd); + const bcelen = sum_three_scale(insphere_bc, ce, eb, ez, bz, cz, bce); + const cdalen = sum_three_scale(cd, da, ac, az, cz, dz, cda); + const deblen = sum_three_scale(de, eb, bd, bz, dz, ez, deb); + const eaclen = sum_three_scale(ea, ac, ce, cz, ez, az, eac); + + const deterlen = sum_three( + liftexact(cdelen, cde, bcelen, bce, deblen, deb, bcdlen, bcd, ax, ay, az, adet), adet, + liftexact(dealen, dea, cdalen, cda, eaclen, eac, cdelen, cde, bx, by, bz, bdet), bdet, + sum_three( + liftexact(eablen, eab, deblen, deb, abdlen, abd, dealen, dea, cx, cy, cz, cdet), cdet, + liftexact(abclen, abc, eaclen, eac, bcelen, bce, eablen, eab, dx, dy, dz, ddet), ddet, + liftexact(bcdlen, bcd, abdlen, abd, cdalen, cda, abclen, abc, ex, ey, ez, edet), edet, cddet, cdedet), cdedet, abdet, deter); + + return deter[deterlen - 1]; +} + +const xdet = vec(96); +const ydet = vec(96); +const zdet = vec(96); +const insphere_fin = vec(1152); + +function liftadapt(a, b, c, az, bz, cz, x, y, z, out) { + const len = sum_three_scale(a, b, c, az, bz, cz, _24); + return sum_three( + scale(scale(len, _24, x, insphere_48), insphere_48, x, xdet), xdet, + scale(scale(len, _24, y, insphere_48), insphere_48, y, ydet), ydet, + scale(scale(len, _24, z, insphere_48), insphere_48, z, zdet), zdet, _192, out); +} + +function insphereadapt(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez, permanent) { + let ab3, bc3, cd3, da3, ac3, bd3; + + let aextail, bextail, cextail, dextail; + let aeytail, beytail, ceytail, deytail; + let aeztail, beztail, ceztail, deztail; + + let bvirt, c, ahi, alo, bhi, blo, _i, _j, _0, s1, s0, t1, t0; + + const aex = ax - ex; + const bex = bx - ex; + const cex = cx - ex; + const dex = dx - ex; + const aey = ay - ey; + const bey = by - ey; + const cey = cy - ey; + const dey = dy - ey; + const aez = az - ez; + const bez = bz - ez; + const cez = cz - ez; + const dez = dz - ez; + + s1 = aex * bey; + c = splitter * aex; + ahi = c - (c - aex); + alo = aex - ahi; + c = splitter * bey; + bhi = c - (c - bey); + blo = bey - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = bex * aey; + c = splitter * bex; + ahi = c - (c - bex); + alo = bex - ahi; + c = splitter * aey; + bhi = c - (c - aey); + blo = aey - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + insphere_ab[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + insphere_ab[1] = _0 - (_i + bvirt) + (bvirt - t1); + ab3 = _j + _i; + bvirt = ab3 - _j; + insphere_ab[2] = _j - (ab3 - bvirt) + (_i - bvirt); + insphere_ab[3] = ab3; + s1 = bex * cey; + c = splitter * bex; + ahi = c - (c - bex); + alo = bex - ahi; + c = splitter * cey; + bhi = c - (c - cey); + blo = cey - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = cex * bey; + c = splitter * cex; + ahi = c - (c - cex); + alo = cex - ahi; + c = splitter * bey; + bhi = c - (c - bey); + blo = bey - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + insphere_bc[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + insphere_bc[1] = _0 - (_i + bvirt) + (bvirt - t1); + bc3 = _j + _i; + bvirt = bc3 - _j; + insphere_bc[2] = _j - (bc3 - bvirt) + (_i - bvirt); + insphere_bc[3] = bc3; + s1 = cex * dey; + c = splitter * cex; + ahi = c - (c - cex); + alo = cex - ahi; + c = splitter * dey; + bhi = c - (c - dey); + blo = dey - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = dex * cey; + c = splitter * dex; + ahi = c - (c - dex); + alo = dex - ahi; + c = splitter * cey; + bhi = c - (c - cey); + blo = cey - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + cd[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + cd[1] = _0 - (_i + bvirt) + (bvirt - t1); + cd3 = _j + _i; + bvirt = cd3 - _j; + cd[2] = _j - (cd3 - bvirt) + (_i - bvirt); + cd[3] = cd3; + s1 = dex * aey; + c = splitter * dex; + ahi = c - (c - dex); + alo = dex - ahi; + c = splitter * aey; + bhi = c - (c - aey); + blo = aey - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = aex * dey; + c = splitter * aex; + ahi = c - (c - aex); + alo = aex - ahi; + c = splitter * dey; + bhi = c - (c - dey); + blo = dey - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + da[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + da[1] = _0 - (_i + bvirt) + (bvirt - t1); + da3 = _j + _i; + bvirt = da3 - _j; + da[2] = _j - (da3 - bvirt) + (_i - bvirt); + da[3] = da3; + s1 = aex * cey; + c = splitter * aex; + ahi = c - (c - aex); + alo = aex - ahi; + c = splitter * cey; + bhi = c - (c - cey); + blo = cey - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = cex * aey; + c = splitter * cex; + ahi = c - (c - cex); + alo = cex - ahi; + c = splitter * aey; + bhi = c - (c - aey); + blo = aey - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + ac[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + ac[1] = _0 - (_i + bvirt) + (bvirt - t1); + ac3 = _j + _i; + bvirt = ac3 - _j; + ac[2] = _j - (ac3 - bvirt) + (_i - bvirt); + ac[3] = ac3; + s1 = bex * dey; + c = splitter * bex; + ahi = c - (c - bex); + alo = bex - ahi; + c = splitter * dey; + bhi = c - (c - dey); + blo = dey - bhi; + s0 = alo * blo - (s1 - ahi * bhi - alo * bhi - ahi * blo); + t1 = dex * bey; + c = splitter * dex; + ahi = c - (c - dex); + alo = dex - ahi; + c = splitter * bey; + bhi = c - (c - bey); + blo = bey - bhi; + t0 = alo * blo - (t1 - ahi * bhi - alo * bhi - ahi * blo); + _i = s0 - t0; + bvirt = s0 - _i; + bd[0] = s0 - (_i + bvirt) + (bvirt - t0); + _j = s1 + _i; + bvirt = _j - s1; + _0 = s1 - (_j - bvirt) + (_i - bvirt); + _i = _0 - t1; + bvirt = _0 - _i; + bd[1] = _0 - (_i + bvirt) + (bvirt - t1); + bd3 = _j + _i; + bvirt = bd3 - _j; + bd[2] = _j - (bd3 - bvirt) + (_i - bvirt); + bd[3] = bd3; + + const finlen = sum( + sum( + negate(liftadapt(insphere_bc, cd, bd, dez, bez, -cez, aex, aey, aez, adet), adet), adet, + liftadapt(cd, da, ac, aez, cez, dez, bex, bey, bez, bdet), bdet, abdet), abdet, + sum( + negate(liftadapt(da, insphere_ab, bd, bez, dez, aez, cex, cey, cez, cdet), cdet), cdet, + liftadapt(insphere_ab, insphere_bc, ac, cez, aez, -bez, dex, dey, dez, ddet), ddet, cddet), cddet, insphere_fin); + + let det = estimate(finlen, insphere_fin); + let errbound = isperrboundB * permanent; + if (det >= errbound || -det >= errbound) { + return det; + } + + bvirt = ax - aex; + aextail = ax - (aex + bvirt) + (bvirt - ex); + bvirt = ay - aey; + aeytail = ay - (aey + bvirt) + (bvirt - ey); + bvirt = az - aez; + aeztail = az - (aez + bvirt) + (bvirt - ez); + bvirt = bx - bex; + bextail = bx - (bex + bvirt) + (bvirt - ex); + bvirt = by - bey; + beytail = by - (bey + bvirt) + (bvirt - ey); + bvirt = bz - bez; + beztail = bz - (bez + bvirt) + (bvirt - ez); + bvirt = cx - cex; + cextail = cx - (cex + bvirt) + (bvirt - ex); + bvirt = cy - cey; + ceytail = cy - (cey + bvirt) + (bvirt - ey); + bvirt = cz - cez; + ceztail = cz - (cez + bvirt) + (bvirt - ez); + bvirt = dx - dex; + dextail = dx - (dex + bvirt) + (bvirt - ex); + bvirt = dy - dey; + deytail = dy - (dey + bvirt) + (bvirt - ey); + bvirt = dz - dez; + deztail = dz - (dez + bvirt) + (bvirt - ez); + if (aextail === 0 && aeytail === 0 && aeztail === 0 && + bextail === 0 && beytail === 0 && beztail === 0 && + cextail === 0 && ceytail === 0 && ceztail === 0 && + dextail === 0 && deytail === 0 && deztail === 0) { + return det; + } + + errbound = isperrboundC * permanent + resulterrbound * Math.abs(det); + + const abeps = (aex * beytail + bey * aextail) - (aey * bextail + bex * aeytail); + const bceps = (bex * ceytail + cey * bextail) - (bey * cextail + cex * beytail); + const cdeps = (cex * deytail + dey * cextail) - (cey * dextail + dex * ceytail); + const daeps = (dex * aeytail + aey * dextail) - (dey * aextail + aex * deytail); + const aceps = (aex * ceytail + cey * aextail) - (aey * cextail + cex * aeytail); + const bdeps = (bex * deytail + dey * bextail) - (bey * dextail + dex * beytail); + det += + (((bex * bex + bey * bey + bez * bez) * ((cez * daeps + dez * aceps + aez * cdeps) + + (ceztail * da3 + deztail * ac3 + aeztail * cd3)) + (dex * dex + dey * dey + dez * dez) * + ((aez * bceps - bez * aceps + cez * abeps) + (aeztail * bc3 - beztail * ac3 + ceztail * ab3))) - + ((aex * aex + aey * aey + aez * aez) * ((bez * cdeps - cez * bdeps + dez * bceps) + + (beztail * cd3 - ceztail * bd3 + deztail * bc3)) + (cex * cex + cey * cey + cez * cez) * + ((dez * abeps + aez * bdeps + bez * daeps) + (deztail * ab3 + aeztail * bd3 + beztail * da3)))) + + 2 * (((bex * bextail + bey * beytail + bez * beztail) * (cez * da3 + dez * ac3 + aez * cd3) + + (dex * dextail + dey * deytail + dez * deztail) * (aez * bc3 - bez * ac3 + cez * ab3)) - + ((aex * aextail + aey * aeytail + aez * aeztail) * (bez * cd3 - cez * bd3 + dez * bc3) + + (cex * cextail + cey * ceytail + cez * ceztail) * (dez * ab3 + aez * bd3 + bez * da3))); + + if (det >= errbound || -det >= errbound) { + return det; + } + + return insphereexact(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez); +} + +function insphere(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez) { + const aex = ax - ex; + const bex = bx - ex; + const cex = cx - ex; + const dex = dx - ex; + const aey = ay - ey; + const bey = by - ey; + const cey = cy - ey; + const dey = dy - ey; + const aez = az - ez; + const bez = bz - ez; + const cez = cz - ez; + const dez = dz - ez; + + const aexbey = aex * bey; + const bexaey = bex * aey; + const ab = aexbey - bexaey; + const bexcey = bex * cey; + const cexbey = cex * bey; + const bc = bexcey - cexbey; + const cexdey = cex * dey; + const dexcey = dex * cey; + const cd = cexdey - dexcey; + const dexaey = dex * aey; + const aexdey = aex * dey; + const da = dexaey - aexdey; + const aexcey = aex * cey; + const cexaey = cex * aey; + const ac = aexcey - cexaey; + const bexdey = bex * dey; + const dexbey = dex * bey; + const bd = bexdey - dexbey; + + const alift = aex * aex + aey * aey + aez * aez; + const blift = bex * bex + bey * bey + bez * bez; + const clift = cex * cex + cey * cey + cez * cez; + const dlift = dex * dex + dey * dey + dez * dez; + + const det = + (clift * (dez * ab + aez * bd + bez * da) - dlift * (aez * bc - bez * ac + cez * ab)) + + (alift * (bez * cd - cez * bd + dez * bc) - blift * (cez * da + dez * ac + aez * cd)); + + const aezplus = Math.abs(aez); + const bezplus = Math.abs(bez); + const cezplus = Math.abs(cez); + const dezplus = Math.abs(dez); + const aexbeyplus = Math.abs(aexbey) + Math.abs(bexaey); + const bexceyplus = Math.abs(bexcey) + Math.abs(cexbey); + const cexdeyplus = Math.abs(cexdey) + Math.abs(dexcey); + const dexaeyplus = Math.abs(dexaey) + Math.abs(aexdey); + const aexceyplus = Math.abs(aexcey) + Math.abs(cexaey); + const bexdeyplus = Math.abs(bexdey) + Math.abs(dexbey); + const permanent = + (cexdeyplus * bezplus + bexdeyplus * cezplus + bexceyplus * dezplus) * alift + + (dexaeyplus * cezplus + aexceyplus * dezplus + cexdeyplus * aezplus) * blift + + (aexbeyplus * dezplus + bexdeyplus * aezplus + dexaeyplus * bezplus) * clift + + (bexceyplus * aezplus + aexceyplus * bezplus + aexbeyplus * cezplus) * dlift; + + const errbound = isperrboundA * permanent; + if (det > errbound || -det > errbound) { + return det; + } + return -insphereadapt(ax, ay, az, bx, by, bz, cx, cy, cz, dx, dy, dz, ex, ey, ez, permanent); +} + +function inspherefast(pax, pay, paz, pbx, pby, pbz, pcx, pcy, pcz, pdx, pdy, pdz, pex, pey, pez) { + const aex = pax - pex; + const bex = pbx - pex; + const cex = pcx - pex; + const dex = pdx - pex; + const aey = pay - pey; + const bey = pby - pey; + const cey = pcy - pey; + const dey = pdy - pey; + const aez = paz - pez; + const bez = pbz - pez; + const cez = pcz - pez; + const dez = pdz - pez; + + const ab = aex * bey - bex * aey; + const bc = bex * cey - cex * bey; + const cd = cex * dey - dex * cey; + const da = dex * aey - aex * dey; + const ac = aex * cey - cex * aey; + const bd = bex * dey - dex * bey; + + const abc = aez * bc - bez * ac + cez * ab; + const bcd = bez * cd - cez * bd + dez * bc; + const cda = cez * da + dez * ac + aez * cd; + const dab = dez * ab + aez * bd + bez * da; + + const alift = aex * aex + aey * aey + aez * aez; + const blift = bex * bex + bey * bey + bez * bez; + const clift = cex * cex + cey * cey + cez * cez; + const dlift = dex * dex + dey * dey + dez * dez; + + return (clift * dab - dlift * abc) + (alift * bcd - blift * cda); +} + +;// ./node_modules/robust-predicates/index.js + + + + + + +;// ./node_modules/delaunator/index.js + +const EPSILON = Math.pow(2, -52); +const EDGE_STACK = new Uint32Array(512); + + + +class Delaunator { + + static from(points, getX = defaultGetX, getY = defaultGetY) { + const n = points.length; + const coords = new Float64Array(n * 2); + + for (let i = 0; i < n; i++) { + const p = points[i]; + coords[2 * i] = getX(p); + coords[2 * i + 1] = getY(p); + } + + return new Delaunator(coords); + } + + constructor(coords) { + const n = coords.length >> 1; + if (n > 0 && typeof coords[0] !== 'number') throw new Error('Expected coords to contain numbers.'); + + this.coords = coords; + + // arrays that will store the triangulation graph + const maxTriangles = Math.max(2 * n - 5, 0); + this._triangles = new Uint32Array(maxTriangles * 3); + this._halfedges = new Int32Array(maxTriangles * 3); + + // temporary arrays for tracking the edges of the advancing convex hull + this._hashSize = Math.ceil(Math.sqrt(n)); + this._hullPrev = new Uint32Array(n); // edge to prev edge + this._hullNext = new Uint32Array(n); // edge to next edge + this._hullTri = new Uint32Array(n); // edge to adjacent triangle + this._hullHash = new Int32Array(this._hashSize); // angular edge hash + + // temporary arrays for sorting points + this._ids = new Uint32Array(n); + this._dists = new Float64Array(n); + + this.update(); + } + + update() { + const {coords, _hullPrev: hullPrev, _hullNext: hullNext, _hullTri: hullTri, _hullHash: hullHash} = this; + const n = coords.length >> 1; + + // populate an array of point indices; calculate input data bbox + let minX = Infinity; + let minY = Infinity; + let maxX = -Infinity; + let maxY = -Infinity; + + for (let i = 0; i < n; i++) { + const x = coords[2 * i]; + const y = coords[2 * i + 1]; + if (x < minX) minX = x; + if (y < minY) minY = y; + if (x > maxX) maxX = x; + if (y > maxY) maxY = y; + this._ids[i] = i; + } + const cx = (minX + maxX) / 2; + const cy = (minY + maxY) / 2; + + let i0, i1, i2; + + // pick a seed point close to the center + for (let i = 0, minDist = Infinity; i < n; i++) { + const d = dist(cx, cy, coords[2 * i], coords[2 * i + 1]); + if (d < minDist) { + i0 = i; + minDist = d; + } + } + const i0x = coords[2 * i0]; + const i0y = coords[2 * i0 + 1]; + + // find the point closest to the seed + for (let i = 0, minDist = Infinity; i < n; i++) { + if (i === i0) continue; + const d = dist(i0x, i0y, coords[2 * i], coords[2 * i + 1]); + if (d < minDist && d > 0) { + i1 = i; + minDist = d; + } + } + let i1x = coords[2 * i1]; + let i1y = coords[2 * i1 + 1]; + + let minRadius = Infinity; + + // find the third point which forms the smallest circumcircle with the first two + for (let i = 0; i < n; i++) { + if (i === i0 || i === i1) continue; + const r = circumradius(i0x, i0y, i1x, i1y, coords[2 * i], coords[2 * i + 1]); + if (r < minRadius) { + i2 = i; + minRadius = r; + } + } + let i2x = coords[2 * i2]; + let i2y = coords[2 * i2 + 1]; + + if (minRadius === Infinity) { + // order collinear points by dx (or dy if all x are identical) + // and return the list as a hull + for (let i = 0; i < n; i++) { + this._dists[i] = (coords[2 * i] - coords[0]) || (coords[2 * i + 1] - coords[1]); + } + quicksort(this._ids, this._dists, 0, n - 1); + const hull = new Uint32Array(n); + let j = 0; + for (let i = 0, d0 = -Infinity; i < n; i++) { + const id = this._ids[i]; + const d = this._dists[id]; + if (d > d0) { + hull[j++] = id; + d0 = d; + } + } + this.hull = hull.subarray(0, j); + this.triangles = new Uint32Array(0); + this.halfedges = new Uint32Array(0); + return; + } + + // swap the order of the seed points for counter-clockwise orientation + if (orient2d(i0x, i0y, i1x, i1y, i2x, i2y) < 0) { + const i = i1; + const x = i1x; + const y = i1y; + i1 = i2; + i1x = i2x; + i1y = i2y; + i2 = i; + i2x = x; + i2y = y; + } + + const center = circumcenter(i0x, i0y, i1x, i1y, i2x, i2y); + this._cx = center.x; + this._cy = center.y; + + for (let i = 0; i < n; i++) { + this._dists[i] = dist(coords[2 * i], coords[2 * i + 1], center.x, center.y); + } + + // sort the points by distance from the seed triangle circumcenter + quicksort(this._ids, this._dists, 0, n - 1); + + // set up the seed triangle as the starting hull + this._hullStart = i0; + let hullSize = 3; + + hullNext[i0] = hullPrev[i2] = i1; + hullNext[i1] = hullPrev[i0] = i2; + hullNext[i2] = hullPrev[i1] = i0; + + hullTri[i0] = 0; + hullTri[i1] = 1; + hullTri[i2] = 2; + + hullHash.fill(-1); + hullHash[this._hashKey(i0x, i0y)] = i0; + hullHash[this._hashKey(i1x, i1y)] = i1; + hullHash[this._hashKey(i2x, i2y)] = i2; + + this.trianglesLen = 0; + this._addTriangle(i0, i1, i2, -1, -1, -1); + + for (let k = 0, xp, yp; k < this._ids.length; k++) { + const i = this._ids[k]; + const x = coords[2 * i]; + const y = coords[2 * i + 1]; + + // skip near-duplicate points + if (k > 0 && Math.abs(x - xp) <= EPSILON && Math.abs(y - yp) <= EPSILON) continue; + xp = x; + yp = y; + + // skip seed triangle points + if (i === i0 || i === i1 || i === i2) continue; + + // find a visible edge on the convex hull using edge hash + let start = 0; + for (let j = 0, key = this._hashKey(x, y); j < this._hashSize; j++) { + start = hullHash[(key + j) % this._hashSize]; + if (start !== -1 && start !== hullNext[start]) break; + } + + start = hullPrev[start]; + let e = start, q; + while (q = hullNext[e], orient2d(x, y, coords[2 * e], coords[2 * e + 1], coords[2 * q], coords[2 * q + 1]) >= 0) { + e = q; + if (e === start) { + e = -1; + break; + } + } + if (e === -1) continue; // likely a near-duplicate point; skip it + + // add the first triangle from the point + let t = this._addTriangle(e, i, hullNext[e], -1, -1, hullTri[e]); + + // recursively flip triangles from the point until they satisfy the Delaunay condition + hullTri[i] = this._legalize(t + 2); + hullTri[e] = t; // keep track of boundary triangles on the hull + hullSize++; + + // walk forward through the hull, adding more triangles and flipping recursively + let n = hullNext[e]; + while (q = hullNext[n], orient2d(x, y, coords[2 * n], coords[2 * n + 1], coords[2 * q], coords[2 * q + 1]) < 0) { + t = this._addTriangle(n, i, q, hullTri[i], -1, hullTri[n]); + hullTri[i] = this._legalize(t + 2); + hullNext[n] = n; // mark as removed + hullSize--; + n = q; + } + + // walk backward from the other side, adding more triangles and flipping + if (e === start) { + while (q = hullPrev[e], orient2d(x, y, coords[2 * q], coords[2 * q + 1], coords[2 * e], coords[2 * e + 1]) < 0) { + t = this._addTriangle(q, i, e, -1, hullTri[e], hullTri[q]); + this._legalize(t + 2); + hullTri[q] = t; + hullNext[e] = e; // mark as removed + hullSize--; + e = q; + } + } + + // update the hull indices + this._hullStart = hullPrev[i] = e; + hullNext[e] = hullPrev[n] = i; + hullNext[i] = n; + + // save the two new edges in the hash table + hullHash[this._hashKey(x, y)] = i; + hullHash[this._hashKey(coords[2 * e], coords[2 * e + 1])] = e; + } + + this.hull = new Uint32Array(hullSize); + for (let i = 0, e = this._hullStart; i < hullSize; i++) { + this.hull[i] = e; + e = hullNext[e]; + } + + // trim typed triangle mesh arrays + this.triangles = this._triangles.subarray(0, this.trianglesLen); + this.halfedges = this._halfedges.subarray(0, this.trianglesLen); + } + + _hashKey(x, y) { + return Math.floor(pseudoAngle(x - this._cx, y - this._cy) * this._hashSize) % this._hashSize; + } + + _legalize(a) { + const {_triangles: triangles, _halfedges: halfedges, coords} = this; + + let i = 0; + let ar = 0; + + // recursion eliminated with a fixed-size stack + while (true) { + const b = halfedges[a]; + + /* if the pair of triangles doesn't satisfy the Delaunay condition + * (p1 is inside the circumcircle of [p0, pl, pr]), flip them, + * then do the same check/flip recursively for the new pair of triangles + * + * pl pl + * /||\ / \ + * al/ || \bl al/ \a + * / || \ / \ + * / a||b \ flip /___ar___\ + * p0\ || /p1 => p0\---bl---/p1 + * \ || / \ / + * ar\ || /br b\ /br + * \||/ \ / + * pr pr + */ + const a0 = a - a % 3; + ar = a0 + (a + 2) % 3; + + if (b === -1) { // convex hull edge + if (i === 0) break; + a = EDGE_STACK[--i]; + continue; + } + + const b0 = b - b % 3; + const al = a0 + (a + 1) % 3; + const bl = b0 + (b + 2) % 3; + + const p0 = triangles[ar]; + const pr = triangles[a]; + const pl = triangles[al]; + const p1 = triangles[bl]; + + const illegal = inCircle( + coords[2 * p0], coords[2 * p0 + 1], + coords[2 * pr], coords[2 * pr + 1], + coords[2 * pl], coords[2 * pl + 1], + coords[2 * p1], coords[2 * p1 + 1]); + + if (illegal) { + triangles[a] = p1; + triangles[b] = p0; + + const hbl = halfedges[bl]; + + // edge swapped on the other side of the hull (rare); fix the halfedge reference + if (hbl === -1) { + let e = this._hullStart; + do { + if (this._hullTri[e] === bl) { + this._hullTri[e] = a; + break; + } + e = this._hullPrev[e]; + } while (e !== this._hullStart); + } + this._link(a, hbl); + this._link(b, halfedges[ar]); + this._link(ar, bl); + + const br = b0 + (b + 1) % 3; + + // don't worry about hitting the cap: it can only happen on extremely degenerate input + if (i < EDGE_STACK.length) { + EDGE_STACK[i++] = br; + } + } else { + if (i === 0) break; + a = EDGE_STACK[--i]; + } + } + + return ar; + } + + _link(a, b) { + this._halfedges[a] = b; + if (b !== -1) this._halfedges[b] = a; + } + + // add a new triangle given vertex indices and adjacent half-edge ids + _addTriangle(i0, i1, i2, a, b, c) { + const t = this.trianglesLen; + + this._triangles[t] = i0; + this._triangles[t + 1] = i1; + this._triangles[t + 2] = i2; + + this._link(t, a); + this._link(t + 1, b); + this._link(t + 2, c); + + this.trianglesLen += 3; + + return t; + } +} + +// monotonically increases with real angle, but doesn't need expensive trigonometry +function pseudoAngle(dx, dy) { + const p = dx / (Math.abs(dx) + Math.abs(dy)); + return (dy > 0 ? 3 - p : 1 + p) / 4; // [0..1] +} + +function dist(ax, ay, bx, by) { + const dx = ax - bx; + const dy = ay - by; + return dx * dx + dy * dy; +} + +function inCircle(ax, ay, bx, by, cx, cy, px, py) { + const dx = ax - px; + const dy = ay - py; + const ex = bx - px; + const ey = by - py; + const fx = cx - px; + const fy = cy - py; + + const ap = dx * dx + dy * dy; + const bp = ex * ex + ey * ey; + const cp = fx * fx + fy * fy; + + return dx * (ey * cp - bp * fy) - + dy * (ex * cp - bp * fx) + + ap * (ex * fy - ey * fx) < 0; +} + +function circumradius(ax, ay, bx, by, cx, cy) { + const dx = bx - ax; + const dy = by - ay; + const ex = cx - ax; + const ey = cy - ay; + + const bl = dx * dx + dy * dy; + const cl = ex * ex + ey * ey; + const d = 0.5 / (dx * ey - dy * ex); + + const x = (ey * bl - dy * cl) * d; + const y = (dx * cl - ex * bl) * d; + + return x * x + y * y; +} + +function circumcenter(ax, ay, bx, by, cx, cy) { + const dx = bx - ax; + const dy = by - ay; + const ex = cx - ax; + const ey = cy - ay; + + const bl = dx * dx + dy * dy; + const cl = ex * ex + ey * ey; + const d = 0.5 / (dx * ey - dy * ex); + + const x = ax + (ey * bl - dy * cl) * d; + const y = ay + (dx * cl - ex * bl) * d; + + return {x, y}; +} + +function quicksort(ids, dists, left, right) { + if (right - left <= 20) { + for (let i = left + 1; i <= right; i++) { + const temp = ids[i]; + const tempDist = dists[temp]; + let j = i - 1; + while (j >= left && dists[ids[j]] > tempDist) ids[j + 1] = ids[j--]; + ids[j + 1] = temp; + } + } else { + const median = (left + right) >> 1; + let i = left + 1; + let j = right; + swap(ids, median, i); + if (dists[ids[left]] > dists[ids[right]]) swap(ids, left, right); + if (dists[ids[i]] > dists[ids[right]]) swap(ids, i, right); + if (dists[ids[left]] > dists[ids[i]]) swap(ids, left, i); + + const temp = ids[i]; + const tempDist = dists[temp]; + while (true) { + do i++; while (dists[ids[i]] < tempDist); + do j--; while (dists[ids[j]] > tempDist); + if (j < i) break; + swap(ids, i, j); + } + ids[left + 1] = ids[j]; + ids[j] = temp; + + if (right - i + 1 >= j - left) { + quicksort(ids, dists, i, right); + quicksort(ids, dists, left, j - 1); + } else { + quicksort(ids, dists, left, j - 1); + quicksort(ids, dists, i, right); + } + } +} + +function swap(arr, i, j) { + const tmp = arr[i]; + arr[i] = arr[j]; + arr[j] = tmp; +} + +function defaultGetX(p) { + return p[0]; +} +function defaultGetY(p) { + return p[1]; +} + +;// ./node_modules/d3-delaunay/src/path.js +const path_epsilon = 1e-6; +class Path { + constructor() { + this._x0 = this._y0 = // start of current subpath + this._x1 = this._y1 = null; + this._ = ""; + } + moveTo(x, y) { + this._ += `M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}`; + } + closePath() { + if (this._x1 !== null) { + this._x1 = this._x0, this._y1 = this._y0; + this._ += "Z"; + } + } + lineTo(x, y) { + this._ += `L${this._x1 = +x},${this._y1 = +y}`; + } + arc(x, y, r) { + x = +x, y = +y, r = +r; + const x0 = x + r; + const y0 = y; + if (r < 0) throw new Error("negative radius"); + if (this._x1 === null) this._ += `M${x0},${y0}`; + else if (Math.abs(this._x1 - x0) > path_epsilon || Math.abs(this._y1 - y0) > path_epsilon) this._ += "L" + x0 + "," + y0; + if (!r) return; + this._ += `A${r},${r},0,1,1,${x - r},${y}A${r},${r},0,1,1,${this._x1 = x0},${this._y1 = y0}`; + } + rect(x, y, w, h) { + this._ += `M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}h${+w}v${+h}h${-w}Z`; + } + value() { + return this._ || null; + } +} + +;// ./node_modules/d3-delaunay/src/polygon.js +class Polygon { + constructor() { + this._ = []; + } + moveTo(x, y) { + this._.push([x, y]); + } + closePath() { + this._.push(this._[0].slice()); + } + lineTo(x, y) { + this._.push([x, y]); + } + value() { + return this._.length ? this._ : null; + } +} + +;// ./node_modules/d3-delaunay/src/voronoi.js + + +class Voronoi { + constructor(delaunay, [xmin, ymin, xmax, ymax] = [0, 0, 960, 500]) { + if (!((xmax = +xmax) >= (xmin = +xmin)) || !((ymax = +ymax) >= (ymin = +ymin))) throw new Error("invalid bounds"); + this.delaunay = delaunay; + this._circumcenters = new Float64Array(delaunay.points.length * 2); + this.vectors = new Float64Array(delaunay.points.length * 2); + this.xmax = xmax, this.xmin = xmin; + this.ymax = ymax, this.ymin = ymin; + this._init(); + } + update() { + this.delaunay.update(); + this._init(); + return this; + } + _init() { + const { delaunay: { points, hull, triangles }, vectors } = this; + let bx, by; + const circumcenters = this.circumcenters = this._circumcenters.subarray(0, triangles.length / 3 * 2); + for (let i = 0, j = 0, n = triangles.length, x, y; i < n; i += 3, j += 2) { + const t1 = triangles[i] * 2; + const t2 = triangles[i + 1] * 2; + const t3 = triangles[i + 2] * 2; + const x12 = points[t1]; + const y12 = points[t1 + 1]; + const x2 = points[t2]; + const y2 = points[t2 + 1]; + const x3 = points[t3]; + const y3 = points[t3 + 1]; + const dx = x2 - x12; + const dy = y2 - y12; + const ex = x3 - x12; + const ey = y3 - y12; + const ab = (dx * ey - dy * ex) * 2; + if (Math.abs(ab) < 1e-9) { + if (bx === void 0) { + bx = by = 0; + for (const i2 of hull) bx += points[i2 * 2], by += points[i2 * 2 + 1]; + bx /= hull.length, by /= hull.length; + } + const a = 1e9 * Math.sign((bx - x12) * ey - (by - y12) * ex); + x = (x12 + x3) / 2 - a * ey; + y = (y12 + y3) / 2 + a * ex; + } else { + const d = 1 / ab; + const bl = dx * dx + dy * dy; + const cl = ex * ex + ey * ey; + x = x12 + (ey * bl - dy * cl) * d; + y = y12 + (dx * cl - ex * bl) * d; + } + circumcenters[j] = x; + circumcenters[j + 1] = y; + } + let h = hull[hull.length - 1]; + let p0, p1 = h * 4; + let x0, x1 = points[2 * h]; + let y0, y1 = points[2 * h + 1]; + vectors.fill(0); + for (let i = 0; i < hull.length; ++i) { + h = hull[i]; + p0 = p1, x0 = x1, y0 = y1; + p1 = h * 4, x1 = points[2 * h], y1 = points[2 * h + 1]; + vectors[p0 + 2] = vectors[p1] = y0 - y1; + vectors[p0 + 3] = vectors[p1 + 1] = x1 - x0; + } + } + render(context) { + const buffer = context == null ? context = new Path() : void 0; + const { delaunay: { halfedges, inedges, hull }, circumcenters, vectors } = this; + if (hull.length <= 1) return null; + for (let i = 0, n = halfedges.length; i < n; ++i) { + const j = halfedges[i]; + if (j < i) continue; + const ti = Math.floor(i / 3) * 2; + const tj = Math.floor(j / 3) * 2; + const xi = circumcenters[ti]; + const yi = circumcenters[ti + 1]; + const xj = circumcenters[tj]; + const yj = circumcenters[tj + 1]; + this._renderSegment(xi, yi, xj, yj, context); + } + let h0, h1 = hull[hull.length - 1]; + for (let i = 0; i < hull.length; ++i) { + h0 = h1, h1 = hull[i]; + const t = Math.floor(inedges[h1] / 3) * 2; + const x = circumcenters[t]; + const y = circumcenters[t + 1]; + const v = h0 * 4; + const p = this._project(x, y, vectors[v + 2], vectors[v + 3]); + if (p) this._renderSegment(x, y, p[0], p[1], context); + } + return buffer && buffer.value(); + } + renderBounds(context) { + const buffer = context == null ? context = new Path() : void 0; + context.rect(this.xmin, this.ymin, this.xmax - this.xmin, this.ymax - this.ymin); + return buffer && buffer.value(); + } + renderCell(i, context) { + const buffer = context == null ? context = new Path() : void 0; + const points = this._clip(i); + if (points === null || !points.length) return; + context.moveTo(points[0], points[1]); + let n = points.length; + while (points[0] === points[n - 2] && points[1] === points[n - 1] && n > 1) n -= 2; + for (let i2 = 2; i2 < n; i2 += 2) { + if (points[i2] !== points[i2 - 2] || points[i2 + 1] !== points[i2 - 1]) + context.lineTo(points[i2], points[i2 + 1]); + } + context.closePath(); + return buffer && buffer.value(); + } + *cellPolygons() { + const { delaunay: { points } } = this; + for (let i = 0, n = points.length / 2; i < n; ++i) { + const cell = this.cellPolygon(i); + if (cell) cell.index = i, yield cell; + } + } + cellPolygon(i) { + const polygon = new Polygon(); + this.renderCell(i, polygon); + return polygon.value(); + } + _renderSegment(x0, y0, x1, y1, context) { + let S; + const c0 = this._regioncode(x0, y0); + const c1 = this._regioncode(x1, y1); + if (c0 === 0 && c1 === 0) { + context.moveTo(x0, y0); + context.lineTo(x1, y1); + } else if (S = this._clipSegment(x0, y0, x1, y1, c0, c1)) { + context.moveTo(S[0], S[1]); + context.lineTo(S[2], S[3]); + } + } + contains(i, x, y) { + if ((x = +x, x !== x) || (y = +y, y !== y)) return false; + return this.delaunay._step(i, x, y) === i; + } + *neighbors(i) { + const ci = this._clip(i); + if (ci) for (const j of this.delaunay.neighbors(i)) { + const cj = this._clip(j); + if (cj) loop: for (let ai = 0, li = ci.length; ai < li; ai += 2) { + for (let aj = 0, lj = cj.length; aj < lj; aj += 2) { + if (ci[ai] === cj[aj] && ci[ai + 1] === cj[aj + 1] && ci[(ai + 2) % li] === cj[(aj + lj - 2) % lj] && ci[(ai + 3) % li] === cj[(aj + lj - 1) % lj]) { + yield j; + break loop; + } + } + } + } + } + _cell(i) { + const { circumcenters, delaunay: { inedges, halfedges, triangles } } = this; + const e0 = inedges[i]; + if (e0 === -1) return null; + const points = []; + let e = e0; + do { + const t = Math.floor(e / 3); + points.push(circumcenters[t * 2], circumcenters[t * 2 + 1]); + e = e % 3 === 2 ? e - 2 : e + 1; + if (triangles[e] !== i) break; + e = halfedges[e]; + } while (e !== e0 && e !== -1); + return points; + } + _clip(i) { + if (i === 0 && this.delaunay.hull.length === 1) { + return [this.xmax, this.ymin, this.xmax, this.ymax, this.xmin, this.ymax, this.xmin, this.ymin]; + } + const points = this._cell(i); + if (points === null) return null; + const { vectors: V } = this; + const v = i * 4; + return this._simplify(V[v] || V[v + 1] ? this._clipInfinite(i, points, V[v], V[v + 1], V[v + 2], V[v + 3]) : this._clipFinite(i, points)); + } + _clipFinite(i, points) { + const n = points.length; + let P = null; + let x0, y0, x1 = points[n - 2], y1 = points[n - 1]; + let c0, c1 = this._regioncode(x1, y1); + let e0, e1 = 0; + for (let j = 0; j < n; j += 2) { + x0 = x1, y0 = y1, x1 = points[j], y1 = points[j + 1]; + c0 = c1, c1 = this._regioncode(x1, y1); + if (c0 === 0 && c1 === 0) { + e0 = e1, e1 = 0; + if (P) P.push(x1, y1); + else P = [x1, y1]; + } else { + let S, sx0, sy0, sx1, sy1; + if (c0 === 0) { + if ((S = this._clipSegment(x0, y0, x1, y1, c0, c1)) === null) continue; + [sx0, sy0, sx1, sy1] = S; + } else { + if ((S = this._clipSegment(x1, y1, x0, y0, c1, c0)) === null) continue; + [sx1, sy1, sx0, sy0] = S; + e0 = e1, e1 = this._edgecode(sx0, sy0); + if (e0 && e1) this._edge(i, e0, e1, P, P.length); + if (P) P.push(sx0, sy0); + else P = [sx0, sy0]; + } + e0 = e1, e1 = this._edgecode(sx1, sy1); + if (e0 && e1) this._edge(i, e0, e1, P, P.length); + if (P) P.push(sx1, sy1); + else P = [sx1, sy1]; + } + } + if (P) { + e0 = e1, e1 = this._edgecode(P[0], P[1]); + if (e0 && e1) this._edge(i, e0, e1, P, P.length); + } else if (this.contains(i, (this.xmin + this.xmax) / 2, (this.ymin + this.ymax) / 2)) { + return [this.xmax, this.ymin, this.xmax, this.ymax, this.xmin, this.ymax, this.xmin, this.ymin]; + } + return P; + } + _clipSegment(x0, y0, x1, y1, c0, c1) { + const flip = c0 < c1; + if (flip) [x0, y0, x1, y1, c0, c1] = [x1, y1, x0, y0, c1, c0]; + while (true) { + if (c0 === 0 && c1 === 0) return flip ? [x1, y1, x0, y0] : [x0, y0, x1, y1]; + if (c0 & c1) return null; + let x, y, c = c0 || c1; + if (c & 8) x = x0 + (x1 - x0) * (this.ymax - y0) / (y1 - y0), y = this.ymax; + else if (c & 4) x = x0 + (x1 - x0) * (this.ymin - y0) / (y1 - y0), y = this.ymin; + else if (c & 2) y = y0 + (y1 - y0) * (this.xmax - x0) / (x1 - x0), x = this.xmax; + else y = y0 + (y1 - y0) * (this.xmin - x0) / (x1 - x0), x = this.xmin; + if (c0) x0 = x, y0 = y, c0 = this._regioncode(x0, y0); + else x1 = x, y1 = y, c1 = this._regioncode(x1, y1); + } + } + _clipInfinite(i, points, vx0, vy0, vxn, vyn) { + let P = Array.from(points), p; + if (p = this._project(P[0], P[1], vx0, vy0)) P.unshift(p[0], p[1]); + if (p = this._project(P[P.length - 2], P[P.length - 1], vxn, vyn)) P.push(p[0], p[1]); + if (P = this._clipFinite(i, P)) { + for (let j = 0, n = P.length, c0, c1 = this._edgecode(P[n - 2], P[n - 1]); j < n; j += 2) { + c0 = c1, c1 = this._edgecode(P[j], P[j + 1]); + if (c0 && c1) j = this._edge(i, c0, c1, P, j), n = P.length; + } + } else if (this.contains(i, (this.xmin + this.xmax) / 2, (this.ymin + this.ymax) / 2)) { + P = [this.xmin, this.ymin, this.xmax, this.ymin, this.xmax, this.ymax, this.xmin, this.ymax]; + } + return P; + } + _edge(i, e0, e1, P, j) { + while (e0 !== e1) { + let x, y; + switch (e0) { + case 5: + e0 = 4; + continue; + case 4: + e0 = 6, x = this.xmax, y = this.ymin; + break; + case 6: + e0 = 2; + continue; + case 2: + e0 = 10, x = this.xmax, y = this.ymax; + break; + case 10: + e0 = 8; + continue; + case 8: + e0 = 9, x = this.xmin, y = this.ymax; + break; + case 9: + e0 = 1; + continue; + case 1: + e0 = 5, x = this.xmin, y = this.ymin; + break; + } + if ((P[j] !== x || P[j + 1] !== y) && this.contains(i, x, y)) { + P.splice(j, 0, x, y), j += 2; + } + } + return j; + } + _project(x0, y0, vx, vy) { + let t = Infinity, c, x, y; + if (vy < 0) { + if (y0 <= this.ymin) return null; + if ((c = (this.ymin - y0) / vy) < t) y = this.ymin, x = x0 + (t = c) * vx; + } else if (vy > 0) { + if (y0 >= this.ymax) return null; + if ((c = (this.ymax - y0) / vy) < t) y = this.ymax, x = x0 + (t = c) * vx; + } + if (vx > 0) { + if (x0 >= this.xmax) return null; + if ((c = (this.xmax - x0) / vx) < t) x = this.xmax, y = y0 + (t = c) * vy; + } else if (vx < 0) { + if (x0 <= this.xmin) return null; + if ((c = (this.xmin - x0) / vx) < t) x = this.xmin, y = y0 + (t = c) * vy; + } + return [x, y]; + } + _edgecode(x, y) { + return (x === this.xmin ? 1 : x === this.xmax ? 2 : 0) | (y === this.ymin ? 4 : y === this.ymax ? 8 : 0); + } + _regioncode(x, y) { + return (x < this.xmin ? 1 : x > this.xmax ? 2 : 0) | (y < this.ymin ? 4 : y > this.ymax ? 8 : 0); + } + _simplify(P) { + if (P && P.length > 4) { + for (let i = 0; i < P.length; i += 2) { + const j = (i + 2) % P.length, k = (i + 4) % P.length; + if (P[i] === P[j] && P[j] === P[k] || P[i + 1] === P[j + 1] && P[j + 1] === P[k + 1]) { + P.splice(j, 2), i -= 2; + } + } + if (!P.length) P = null; + } + return P; + } +} + +;// ./node_modules/d3-delaunay/src/delaunay.js + + + + +const tau = 2 * Math.PI, pow = Math.pow; +function pointX(p) { + return p[0]; +} +function pointY(p) { + return p[1]; +} +function collinear(d) { + const { triangles, coords } = d; + for (let i = 0; i < triangles.length; i += 3) { + const a = 2 * triangles[i], b = 2 * triangles[i + 1], c = 2 * triangles[i + 2], cross = (coords[c] - coords[a]) * (coords[b + 1] - coords[a + 1]) - (coords[b] - coords[a]) * (coords[c + 1] - coords[a + 1]); + if (cross > 1e-10) return false; + } + return true; +} +function jitter(x, y, r) { + return [x + Math.sin(x + y) * r, y + Math.cos(x - y) * r]; +} +class Delaunay { + static from(points, fx = pointX, fy = pointY, that) { + return new Delaunay("length" in points ? flatArray(points, fx, fy, that) : Float64Array.from(flatIterable(points, fx, fy, that))); + } + constructor(points) { + this._delaunator = new Delaunator(points); + this.inedges = new Int32Array(points.length / 2); + this._hullIndex = new Int32Array(points.length / 2); + this.points = this._delaunator.coords; + this._init(); + } + update() { + this._delaunator.update(); + this._init(); + return this; + } + _init() { + const d = this._delaunator, points = this.points; + if (d.hull && d.hull.length > 2 && collinear(d)) { + this.collinear = Int32Array.from({ length: points.length / 2 }, (_, i) => i).sort((i, j) => points[2 * i] - points[2 * j] || points[2 * i + 1] - points[2 * j + 1]); + const e = this.collinear[0], f = this.collinear[this.collinear.length - 1], bounds = [points[2 * e], points[2 * e + 1], points[2 * f], points[2 * f + 1]], r = 1e-8 * Math.hypot(bounds[3] - bounds[1], bounds[2] - bounds[0]); + for (let i = 0, n = points.length / 2; i < n; ++i) { + const p = jitter(points[2 * i], points[2 * i + 1], r); + points[2 * i] = p[0]; + points[2 * i + 1] = p[1]; + } + this._delaunator = new Delaunator(points); + } else { + delete this.collinear; + } + const halfedges = this.halfedges = this._delaunator.halfedges; + const hull = this.hull = this._delaunator.hull; + const triangles = this.triangles = this._delaunator.triangles; + const inedges = this.inedges.fill(-1); + const hullIndex = this._hullIndex.fill(-1); + for (let e = 0, n = halfedges.length; e < n; ++e) { + const p = triangles[e % 3 === 2 ? e - 2 : e + 1]; + if (halfedges[e] === -1 || inedges[p] === -1) inedges[p] = e; + } + for (let i = 0, n = hull.length; i < n; ++i) { + hullIndex[hull[i]] = i; + } + if (hull.length <= 2 && hull.length > 0) { + this.triangles = new Int32Array(3).fill(-1); + this.halfedges = new Int32Array(3).fill(-1); + this.triangles[0] = hull[0]; + inedges[hull[0]] = 1; + if (hull.length === 2) { + inedges[hull[1]] = 0; + this.triangles[1] = hull[1]; + this.triangles[2] = hull[1]; + } + } + } + voronoi(bounds) { + return new Voronoi(this, bounds); + } + *neighbors(i) { + const { inedges, hull, _hullIndex, halfedges, triangles, collinear: collinear2 } = this; + if (collinear2) { + const l = collinear2.indexOf(i); + if (l > 0) yield collinear2[l - 1]; + if (l < collinear2.length - 1) yield collinear2[l + 1]; + return; + } + const e0 = inedges[i]; + if (e0 === -1) return; + let e = e0, p0 = -1; + do { + yield p0 = triangles[e]; + e = e % 3 === 2 ? e - 2 : e + 1; + if (triangles[e] !== i) return; + e = halfedges[e]; + if (e === -1) { + const p = hull[(_hullIndex[i] + 1) % hull.length]; + if (p !== p0) yield p; + return; + } + } while (e !== e0); + } + find(x, y, i = 0) { + if ((x = +x, x !== x) || (y = +y, y !== y)) return -1; + const i0 = i; + let c; + while ((c = this._step(i, x, y)) >= 0 && c !== i && c !== i0) i = c; + return c; + } + _step(i, x, y) { + const { inedges, hull, _hullIndex, halfedges, triangles, points } = this; + if (inedges[i] === -1 || !points.length) return (i + 1) % (points.length >> 1); + let c = i; + let dc = pow(x - points[i * 2], 2) + pow(y - points[i * 2 + 1], 2); + const e0 = inedges[i]; + let e = e0; + do { + let t = triangles[e]; + const dt = pow(x - points[t * 2], 2) + pow(y - points[t * 2 + 1], 2); + if (dt < dc) dc = dt, c = t; + e = e % 3 === 2 ? e - 2 : e + 1; + if (triangles[e] !== i) break; + e = halfedges[e]; + if (e === -1) { + e = hull[(_hullIndex[i] + 1) % hull.length]; + if (e !== t) { + if (pow(x - points[e * 2], 2) + pow(y - points[e * 2 + 1], 2) < dc) return e; + } + break; + } + } while (e !== e0); + return c; + } + render(context) { + const buffer = context == null ? context = new Path() : void 0; + const { points, halfedges, triangles } = this; + for (let i = 0, n = halfedges.length; i < n; ++i) { + const j = halfedges[i]; + if (j < i) continue; + const ti = triangles[i] * 2; + const tj = triangles[j] * 2; + context.moveTo(points[ti], points[ti + 1]); + context.lineTo(points[tj], points[tj + 1]); + } + this.renderHull(context); + return buffer && buffer.value(); + } + renderPoints(context, r) { + if (r === void 0 && (!context || typeof context.moveTo !== "function")) r = context, context = null; + r = r == void 0 ? 2 : +r; + const buffer = context == null ? context = new Path() : void 0; + const { points } = this; + for (let i = 0, n = points.length; i < n; i += 2) { + const x = points[i], y = points[i + 1]; + context.moveTo(x + r, y); + context.arc(x, y, r, 0, tau); + } + return buffer && buffer.value(); + } + renderHull(context) { + const buffer = context == null ? context = new Path() : void 0; + const { hull, points } = this; + const h = hull[0] * 2, n = hull.length; + context.moveTo(points[h], points[h + 1]); + for (let i = 1; i < n; ++i) { + const h2 = 2 * hull[i]; + context.lineTo(points[h2], points[h2 + 1]); + } + context.closePath(); + return buffer && buffer.value(); + } + hullPolygon() { + const polygon = new Polygon(); + this.renderHull(polygon); + return polygon.value(); + } + renderTriangle(i, context) { + const buffer = context == null ? context = new Path() : void 0; + const { points, triangles } = this; + const t0 = triangles[i *= 3] * 2; + const t1 = triangles[i + 1] * 2; + const t2 = triangles[i + 2] * 2; + context.moveTo(points[t0], points[t0 + 1]); + context.lineTo(points[t1], points[t1 + 1]); + context.lineTo(points[t2], points[t2 + 1]); + context.closePath(); + return buffer && buffer.value(); + } + *trianglePolygons() { + const { triangles } = this; + for (let i = 0, n = triangles.length / 3; i < n; ++i) { + yield this.trianglePolygon(i); + } + } + trianglePolygon(i) { + const polygon = new Polygon(); + this.renderTriangle(i, polygon); + return polygon.value(); + } +} +function flatArray(points, fx, fy, that) { + const n = points.length; + const array = new Float64Array(n * 2); + for (let i = 0; i < n; ++i) { + const p = points[i]; + array[i * 2] = fx.call(that, p, i, points); + array[i * 2 + 1] = fy.call(that, p, i, points); + } + return array; +} +function* flatIterable(points, fx, fy, that) { + let i = 0; + for (const p of points) { + yield fx.call(that, p, i, points); + yield fy.call(that, p, i, points); + ++i; + } +} + +;// ./node_modules/d3-polygon/src/centroid.js +/* harmony default export */ function centroid(polygon) { + var i = -1, n = polygon.length, x = 0, y = 0, a, b = polygon[n - 1], c, k = 0; + while (++i < n) { + a = b; + b = polygon[i]; + k += c = a[0] * b[1] - b[0] * a[1]; + x += (a[0] + b[0]) * c; + y += (a[1] + b[1]) * c; + } + return k *= 3, [x / k, y / k]; +} + +;// ./node_modules/d3-polygon/src/area.js +/* harmony default export */ function src_area(polygon) { + var i = -1, n = polygon.length, a, b = polygon[n - 1], area = 0; + while (++i < n) { + a = b; + b = polygon[i]; + area += a[1] * b[0] - a[0] * b[1]; + } + return area / 2; +} + +;// ./node_modules/d3-dispatch/src/dispatch.js +var noop = { value: () => { +} }; +function dispatch() { + for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) { + if (!(t = arguments[i] + "") || t in _ || /[\s.]/.test(t)) throw new Error("illegal type: " + t); + _[t] = []; + } + return new Dispatch(_); +} +function Dispatch(_) { + this._ = _; +} +function parseTypenames(typenames, types) { + return typenames.trim().split(/^|\s+/).map(function(t) { + var name = "", i = t.indexOf("."); + if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); + if (t && !types.hasOwnProperty(t)) throw new Error("unknown type: " + t); + return { type: t, name }; + }); +} +Dispatch.prototype = dispatch.prototype = { + constructor: Dispatch, + on: function(typename, callback) { + var _ = this._, T = parseTypenames(typename + "", _), t, i = -1, n = T.length; + if (arguments.length < 2) { + while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t; + return; + } + if (callback != null && typeof callback !== "function") throw new Error("invalid callback: " + callback); + while (++i < n) { + if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback); + else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null); + } + return this; + }, + copy: function() { + var copy = {}, _ = this._; + for (var t in _) copy[t] = _[t].slice(); + return new Dispatch(copy); + }, + call: function(type, that) { + if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2]; + if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type); + for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args); + }, + apply: function(type, that, args) { + if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type); + for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args); + } +}; +function get(type, name) { + for (var i = 0, n = type.length, c; i < n; ++i) { + if ((c = type[i]).name === name) { + return c.value; + } + } +} +function set(type, name, callback) { + for (var i = 0, n = type.length; i < n; ++i) { + if (type[i].name === name) { + type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1)); + break; + } + } + if (callback != null) type.push({ name, value: callback }); + return type; +} +/* harmony default export */ var src_dispatch = (dispatch); + +;// ./node_modules/d3-selection/src/selector.js +function none() { +} +/* harmony default export */ function selector(selector) { + return selector == null ? none : function() { + return this.querySelector(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/select.js + + +/* harmony default export */ function selection_select(select) { + if (typeof select !== "function") select = selector(select); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) { + if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) { + if ("__data__" in node) subnode.__data__ = node.__data__; + subgroup[i] = subnode; + } + } + } + return new Selection(subgroups, this._parents); +} + +;// ./node_modules/d3-selection/src/array.js +function array(x) { + return x == null ? [] : Array.isArray(x) ? x : Array.from(x); +} + +;// ./node_modules/d3-selection/src/selectorAll.js +function empty() { + return []; +} +/* harmony default export */ function selectorAll(selector) { + return selector == null ? empty : function() { + return this.querySelectorAll(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/selectAll.js + + + +function arrayAll(select) { + return function() { + return array(select.apply(this, arguments)); + }; +} +/* harmony default export */ function selectAll(select) { + if (typeof select === "function") select = arrayAll(select); + else select = selectorAll(select); + for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + subgroups.push(select.call(node, node.__data__, i, group)); + parents.push(node); + } + } + } + return new Selection(subgroups, parents); +} + +;// ./node_modules/d3-selection/src/matcher.js +/* harmony default export */ function matcher(selector) { + return function() { + return this.matches(selector); + }; +} +function childMatcher(selector) { + return function(node) { + return node.matches(selector); + }; +} + +;// ./node_modules/d3-selection/src/selection/selectChild.js + +var find = Array.prototype.find; +function childFind(match) { + return function() { + return find.call(this.children, match); + }; +} +function childFirst() { + return this.firstElementChild; +} +/* harmony default export */ function selectChild(match) { + return this.select(match == null ? childFirst : childFind(typeof match === "function" ? match : childMatcher(match))); +} + +;// ./node_modules/d3-selection/src/selection/selectChildren.js + +var filter = Array.prototype.filter; +function children() { + return Array.from(this.children); +} +function childrenFilter(match) { + return function() { + return filter.call(this.children, match); + }; +} +/* harmony default export */ function selectChildren(match) { + return this.selectAll(match == null ? children : childrenFilter(typeof match === "function" ? match : childMatcher(match))); +} + +;// ./node_modules/d3-selection/src/selection/filter.js + + +/* harmony default export */ function selection_filter(match) { + if (typeof match !== "function") match = matcher(match); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) { + if ((node = group[i]) && match.call(node, node.__data__, i, group)) { + subgroup.push(node); + } + } + } + return new Selection(subgroups, this._parents); +} + +;// ./node_modules/d3-selection/src/selection/sparse.js +/* harmony default export */ function sparse(update) { + return new Array(update.length); +} + +;// ./node_modules/d3-selection/src/selection/enter.js + + +/* harmony default export */ function enter() { + return new Selection(this._enter || this._groups.map(sparse), this._parents); +} +function EnterNode(parent, datum) { + this.ownerDocument = parent.ownerDocument; + this.namespaceURI = parent.namespaceURI; + this._next = null; + this._parent = parent; + this.__data__ = datum; +} +EnterNode.prototype = { + constructor: EnterNode, + appendChild: function(child) { + return this._parent.insertBefore(child, this._next); + }, + insertBefore: function(child, next) { + return this._parent.insertBefore(child, next); + }, + querySelector: function(selector) { + return this._parent.querySelector(selector); + }, + querySelectorAll: function(selector) { + return this._parent.querySelectorAll(selector); + } +}; + +;// ./node_modules/d3-selection/src/constant.js +/* harmony default export */ function constant(x) { + return function() { + return x; + }; +} + +;// ./node_modules/d3-selection/src/selection/data.js + + + +function bindIndex(parent, group, enter, update, exit, data) { + var i = 0, node, groupLength = group.length, dataLength = data.length; + for (; i < dataLength; ++i) { + if (node = group[i]) { + node.__data__ = data[i]; + update[i] = node; + } else { + enter[i] = new EnterNode(parent, data[i]); + } + } + for (; i < groupLength; ++i) { + if (node = group[i]) { + exit[i] = node; + } + } +} +function bindKey(parent, group, enter, update, exit, data, key) { + var i, node, nodeByKeyValue = /* @__PURE__ */ new Map(), groupLength = group.length, dataLength = data.length, keyValues = new Array(groupLength), keyValue; + for (i = 0; i < groupLength; ++i) { + if (node = group[i]) { + keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + ""; + if (nodeByKeyValue.has(keyValue)) { + exit[i] = node; + } else { + nodeByKeyValue.set(keyValue, node); + } + } + } + for (i = 0; i < dataLength; ++i) { + keyValue = key.call(parent, data[i], i, data) + ""; + if (node = nodeByKeyValue.get(keyValue)) { + update[i] = node; + node.__data__ = data[i]; + nodeByKeyValue.delete(keyValue); + } else { + enter[i] = new EnterNode(parent, data[i]); + } + } + for (i = 0; i < groupLength; ++i) { + if ((node = group[i]) && nodeByKeyValue.get(keyValues[i]) === node) { + exit[i] = node; + } + } +} +function datum(node) { + return node.__data__; +} +/* harmony default export */ function data(value, key) { + if (!arguments.length) return Array.from(this, datum); + var bind = key ? bindKey : bindIndex, parents = this._parents, groups = this._groups; + if (typeof value !== "function") value = constant(value); + for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) { + var parent = parents[j], group = groups[j], groupLength = group.length, data = arraylike(value.call(parent, parent && parent.__data__, j, parents)), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength); + bind(parent, group, enterGroup, updateGroup, exitGroup, data, key); + for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) { + if (previous = enterGroup[i0]) { + if (i0 >= i1) i1 = i0 + 1; + while (!(next = updateGroup[i1]) && ++i1 < dataLength) ; + previous._next = next || null; + } + } + } + update = new Selection(update, parents); + update._enter = enter; + update._exit = exit; + return update; +} +function arraylike(data) { + return typeof data === "object" && "length" in data ? data : Array.from(data); +} + +;// ./node_modules/d3-selection/src/selection/exit.js + + +/* harmony default export */ function exit() { + return new Selection(this._exit || this._groups.map(sparse), this._parents); +} + +;// ./node_modules/d3-selection/src/selection/join.js +/* harmony default export */ function join(onenter, onupdate, onexit) { + var enter = this.enter(), update = this, exit = this.exit(); + if (typeof onenter === "function") { + enter = onenter(enter); + if (enter) enter = enter.selection(); + } else { + enter = enter.append(onenter + ""); + } + if (onupdate != null) { + update = onupdate(update); + if (update) update = update.selection(); + } + if (onexit == null) exit.remove(); + else onexit(exit); + return enter && update ? enter.merge(update).order() : update; +} + +;// ./node_modules/d3-selection/src/selection/merge.js + +/* harmony default export */ function merge(context) { + var selection = context.selection ? context.selection() : context; + for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { + for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group0[i] || group1[i]) { + merge[i] = node; + } + } + } + for (; j < m0; ++j) { + merges[j] = groups0[j]; + } + return new Selection(merges, this._parents); +} + +;// ./node_modules/d3-selection/src/selection/order.js +/* harmony default export */ function order() { + for (var groups = this._groups, j = -1, m = groups.length; ++j < m; ) { + for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0; ) { + if (node = group[i]) { + if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next); + next = node; + } + } + } + return this; +} + +;// ./node_modules/d3-selection/src/selection/sort.js + +/* harmony default export */ function sort(compare) { + if (!compare) compare = ascending; + function compareNode(a, b) { + return a && b ? compare(a.__data__, b.__data__) : !a - !b; + } + for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group[i]) { + sortgroup[i] = node; + } + } + sortgroup.sort(compareNode); + } + return new Selection(sortgroups, this._parents).order(); +} +function ascending(a, b) { + return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; +} + +;// ./node_modules/d3-selection/src/selection/call.js +/* harmony default export */ function call() { + var callback = arguments[0]; + arguments[0] = this; + callback.apply(null, arguments); + return this; +} + +;// ./node_modules/d3-selection/src/selection/nodes.js +/* harmony default export */ function nodes() { + return Array.from(this); +} + +;// ./node_modules/d3-selection/src/selection/node.js +/* harmony default export */ function node() { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length; i < n; ++i) { + var node = group[i]; + if (node) return node; + } + } + return null; +} + +;// ./node_modules/d3-selection/src/selection/size.js +/* harmony default export */ function size() { + let size = 0; + for (const node of this) ++size; + return size; +} + +;// ./node_modules/d3-selection/src/selection/empty.js +/* harmony default export */ function selection_empty() { + return !this.node(); +} + +;// ./node_modules/d3-selection/src/selection/each.js +/* harmony default export */ function each(callback) { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) { + if (node = group[i]) callback.call(node, node.__data__, i, group); + } + } + return this; +} + +;// ./node_modules/d3-selection/src/namespaces.js +var xhtml = "http://www.w3.org/1999/xhtml"; +/* harmony default export */ var namespaces = ({ + svg: "http://www.w3.org/2000/svg", + xhtml, + xlink: "http://www.w3.org/1999/xlink", + xml: "http://www.w3.org/XML/1998/namespace", + xmlns: "http://www.w3.org/2000/xmlns/" +}); + +;// ./node_modules/d3-selection/src/namespace.js + +/* harmony default export */ function namespace(name) { + var prefix = name += "", i = prefix.indexOf(":"); + if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1); + return namespaces.hasOwnProperty(prefix) ? { space: namespaces[prefix], local: name } : name; +} + +;// ./node_modules/d3-selection/src/selection/attr.js + +function attrRemove(name) { + return function() { + this.removeAttribute(name); + }; +} +function attrRemoveNS(fullname) { + return function() { + this.removeAttributeNS(fullname.space, fullname.local); + }; +} +function attrConstant(name, value) { + return function() { + this.setAttribute(name, value); + }; +} +function attrConstantNS(fullname, value) { + return function() { + this.setAttributeNS(fullname.space, fullname.local, value); + }; +} +function attrFunction(name, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.removeAttribute(name); + else this.setAttribute(name, v); + }; +} +function attrFunctionNS(fullname, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.removeAttributeNS(fullname.space, fullname.local); + else this.setAttributeNS(fullname.space, fullname.local, v); + }; +} +/* harmony default export */ function attr(name, value) { + var fullname = namespace(name); + if (arguments.length < 2) { + var node = this.node(); + return fullname.local ? node.getAttributeNS(fullname.space, fullname.local) : node.getAttribute(fullname); + } + return this.each((value == null ? fullname.local ? attrRemoveNS : attrRemove : typeof value === "function" ? fullname.local ? attrFunctionNS : attrFunction : fullname.local ? attrConstantNS : attrConstant)(fullname, value)); +} + +;// ./node_modules/d3-selection/src/window.js +/* harmony default export */ function src_window(node) { + return node.ownerDocument && node.ownerDocument.defaultView || node.document && node || node.defaultView; +} + +;// ./node_modules/d3-selection/src/selection/style.js + +function styleRemove(name) { + return function() { + this.style.removeProperty(name); + }; +} +function styleConstant(name, value, priority) { + return function() { + this.style.setProperty(name, value, priority); + }; +} +function styleFunction(name, value, priority) { + return function() { + var v = value.apply(this, arguments); + if (v == null) this.style.removeProperty(name); + else this.style.setProperty(name, v, priority); + }; +} +/* harmony default export */ function style(name, value, priority) { + return arguments.length > 1 ? this.each((value == null ? styleRemove : typeof value === "function" ? styleFunction : styleConstant)(name, value, priority == null ? "" : priority)) : styleValue(this.node(), name); +} +function styleValue(node, name) { + return node.style.getPropertyValue(name) || src_window(node).getComputedStyle(node, null).getPropertyValue(name); +} + +;// ./node_modules/d3-selection/src/selection/property.js +function propertyRemove(name) { + return function() { + delete this[name]; + }; +} +function propertyConstant(name, value) { + return function() { + this[name] = value; + }; +} +function propertyFunction(name, value) { + return function() { + var v = value.apply(this, arguments); + if (v == null) delete this[name]; + else this[name] = v; + }; +} +/* harmony default export */ function property(name, value) { + return arguments.length > 1 ? this.each((value == null ? propertyRemove : typeof value === "function" ? propertyFunction : propertyConstant)(name, value)) : this.node()[name]; +} + +;// ./node_modules/d3-selection/src/selection/classed.js +function classArray(string) { + return string.trim().split(/^|\s+/); +} +function classList(node) { + return node.classList || new ClassList(node); +} +function ClassList(node) { + this._node = node; + this._names = classArray(node.getAttribute("class") || ""); +} +ClassList.prototype = { + add: function(name) { + var i = this._names.indexOf(name); + if (i < 0) { + this._names.push(name); + this._node.setAttribute("class", this._names.join(" ")); + } + }, + remove: function(name) { + var i = this._names.indexOf(name); + if (i >= 0) { + this._names.splice(i, 1); + this._node.setAttribute("class", this._names.join(" ")); + } + }, + contains: function(name) { + return this._names.indexOf(name) >= 0; + } +}; +function classedAdd(node, names) { + var list = classList(node), i = -1, n = names.length; + while (++i < n) list.add(names[i]); +} +function classedRemove(node, names) { + var list = classList(node), i = -1, n = names.length; + while (++i < n) list.remove(names[i]); +} +function classedTrue(names) { + return function() { + classedAdd(this, names); + }; +} +function classedFalse(names) { + return function() { + classedRemove(this, names); + }; +} +function classedFunction(names, value) { + return function() { + (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names); + }; +} +/* harmony default export */ function classed(name, value) { + var names = classArray(name + ""); + if (arguments.length < 2) { + var list = classList(this.node()), i = -1, n = names.length; + while (++i < n) if (!list.contains(names[i])) return false; + return true; + } + return this.each((typeof value === "function" ? classedFunction : value ? classedTrue : classedFalse)(names, value)); +} + +;// ./node_modules/d3-selection/src/selection/text.js +function textRemove() { + this.textContent = ""; +} +function textConstant(value) { + return function() { + this.textContent = value; + }; +} +function textFunction(value) { + return function() { + var v = value.apply(this, arguments); + this.textContent = v == null ? "" : v; + }; +} +/* harmony default export */ function selection_text(value) { + return arguments.length ? this.each(value == null ? textRemove : (typeof value === "function" ? textFunction : textConstant)(value)) : this.node().textContent; +} + +;// ./node_modules/d3-selection/src/selection/html.js +function htmlRemove() { + this.innerHTML = ""; +} +function htmlConstant(value) { + return function() { + this.innerHTML = value; + }; +} +function htmlFunction(value) { + return function() { + var v = value.apply(this, arguments); + this.innerHTML = v == null ? "" : v; + }; +} +/* harmony default export */ function html(value) { + return arguments.length ? this.each(value == null ? htmlRemove : (typeof value === "function" ? htmlFunction : htmlConstant)(value)) : this.node().innerHTML; +} + +;// ./node_modules/d3-selection/src/selection/raise.js +function raise() { + if (this.nextSibling) this.parentNode.appendChild(this); +} +/* harmony default export */ function selection_raise() { + return this.each(raise); +} + +;// ./node_modules/d3-selection/src/selection/lower.js +function lower() { + if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild); +} +/* harmony default export */ function selection_lower() { + return this.each(lower); +} + +;// ./node_modules/d3-selection/src/creator.js + + +function creatorInherit(name) { + return function() { + var document = this.ownerDocument, uri = this.namespaceURI; + return uri === xhtml && document.documentElement.namespaceURI === xhtml ? document.createElement(name) : document.createElementNS(uri, name); + }; +} +function creatorFixed(fullname) { + return function() { + return this.ownerDocument.createElementNS(fullname.space, fullname.local); + }; +} +/* harmony default export */ function creator(name) { + var fullname = namespace(name); + return (fullname.local ? creatorFixed : creatorInherit)(fullname); +} + +;// ./node_modules/d3-selection/src/selection/append.js + +/* harmony default export */ function append(name) { + var create = typeof name === "function" ? name : creator(name); + return this.select(function() { + return this.appendChild(create.apply(this, arguments)); + }); +} + +;// ./node_modules/d3-selection/src/selection/insert.js + + +function constantNull() { + return null; +} +/* harmony default export */ function insert(name, before) { + var create = typeof name === "function" ? name : creator(name), select = before == null ? constantNull : typeof before === "function" ? before : selector(before); + return this.select(function() { + return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null); + }); +} + +;// ./node_modules/d3-selection/src/selection/remove.js +function remove() { + var parent = this.parentNode; + if (parent) parent.removeChild(this); +} +/* harmony default export */ function selection_remove() { + return this.each(remove); +} + +;// ./node_modules/d3-selection/src/selection/clone.js +function selection_cloneShallow() { + var clone = this.cloneNode(false), parent = this.parentNode; + return parent ? parent.insertBefore(clone, this.nextSibling) : clone; +} +function selection_cloneDeep() { + var clone = this.cloneNode(true), parent = this.parentNode; + return parent ? parent.insertBefore(clone, this.nextSibling) : clone; +} +/* harmony default export */ function clone(deep) { + return this.select(deep ? selection_cloneDeep : selection_cloneShallow); +} + +;// ./node_modules/d3-selection/src/selection/datum.js +/* harmony default export */ function selection_datum(value) { + return arguments.length ? this.property("__data__", value) : this.node().__data__; +} + +;// ./node_modules/d3-selection/src/selection/on.js +function contextListener(listener) { + return function(event) { + listener.call(this, event, this.__data__); + }; +} +function on_parseTypenames(typenames) { + return typenames.trim().split(/^|\s+/).map(function(t) { + var name = "", i = t.indexOf("."); + if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i); + return { type: t, name }; + }); +} +function onRemove(typename) { + return function() { + var on = this.__on; + if (!on) return; + for (var j = 0, i = -1, m = on.length, o; j < m; ++j) { + if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) { + this.removeEventListener(o.type, o.listener, o.options); + } else { + on[++i] = o; + } + } + if (++i) on.length = i; + else delete this.__on; + }; +} +function onAdd(typename, value, options) { + return function() { + var on = this.__on, o, listener = contextListener(value); + if (on) for (var j = 0, m = on.length; j < m; ++j) { + if ((o = on[j]).type === typename.type && o.name === typename.name) { + this.removeEventListener(o.type, o.listener, o.options); + this.addEventListener(o.type, o.listener = listener, o.options = options); + o.value = value; + return; + } + } + this.addEventListener(typename.type, listener, options); + o = { type: typename.type, name: typename.name, value, listener, options }; + if (!on) this.__on = [o]; + else on.push(o); + }; +} +/* harmony default export */ function on(typename, value, options) { + var typenames = on_parseTypenames(typename + ""), i, n = typenames.length, t; + if (arguments.length < 2) { + var on = this.node().__on; + if (on) for (var j = 0, m = on.length, o; j < m; ++j) { + for (i = 0, o = on[j]; i < n; ++i) { + if ((t = typenames[i]).type === o.type && t.name === o.name) { + return o.value; + } + } + } + return; + } + on = value ? onAdd : onRemove; + for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options)); + return this; +} + +;// ./node_modules/d3-selection/src/selection/dispatch.js + +function dispatchEvent(node, type, params) { + var window = src_window(node), event = window.CustomEvent; + if (typeof event === "function") { + event = new event(type, params); + } else { + event = window.document.createEvent("Event"); + if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail; + else event.initEvent(type, false, false); + } + node.dispatchEvent(event); +} +function dispatchConstant(type, params) { + return function() { + return dispatchEvent(this, type, params); + }; +} +function dispatchFunction(type, params) { + return function() { + return dispatchEvent(this, type, params.apply(this, arguments)); + }; +} +/* harmony default export */ function selection_dispatch(type, params) { + return this.each((typeof params === "function" ? dispatchFunction : dispatchConstant)(type, params)); +} + +;// ./node_modules/d3-selection/src/selection/iterator.js +/* harmony default export */ function* iterator() { + for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) { + for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) { + if (node = group[i]) yield node; + } + } +} + +;// ./node_modules/d3-selection/src/selection/index.js + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +var root = [null]; +function Selection(groups, parents) { + this._groups = groups; + this._parents = parents; +} +function selection() { + return new Selection([[document.documentElement]], root); +} +function selection_selection() { + return this; +} +Selection.prototype = selection.prototype = { + constructor: Selection, + select: selection_select, + selectAll: selectAll, + selectChild: selectChild, + selectChildren: selectChildren, + filter: selection_filter, + data: data, + enter: enter, + exit: exit, + join: join, + merge: merge, + selection: selection_selection, + order: order, + sort: sort, + call: call, + nodes: nodes, + node: node, + size: size, + empty: selection_empty, + each: each, + attr: attr, + style: style, + property: property, + classed: classed, + text: selection_text, + html: html, + raise: selection_raise, + lower: selection_lower, + append: append, + insert: insert, + remove: selection_remove, + clone: clone, + datum: selection_datum, + on: on, + dispatch: selection_dispatch, + [Symbol.iterator]: iterator +}; +/* harmony default export */ var src_selection = (selection); + +;// ./node_modules/d3-selection/src/select.js + +/* harmony default export */ function src_select(selector) { + return typeof selector === "string" ? new Selection([[document.querySelector(selector)]], [document.documentElement]) : new Selection([[selector]], root); +} + +;// ./node_modules/d3-drag/src/noevent.js +const nonpassive = { passive: false }; +const nonpassivecapture = { capture: true, passive: false }; +function nopropagation(event) { + event.stopImmediatePropagation(); +} +/* harmony default export */ function noevent(event) { + event.preventDefault(); + event.stopImmediatePropagation(); +} + +;// ./node_modules/d3-drag/src/nodrag.js + + +/* harmony default export */ function nodrag(view) { + var root = view.document.documentElement, selection = src_select(view).on("dragstart.drag", noevent, nonpassivecapture); + if ("onselectstart" in root) { + selection.on("selectstart.drag", noevent, nonpassivecapture); + } else { + root.__noselect = root.style.MozUserSelect; + root.style.MozUserSelect = "none"; + } +} +function yesdrag(view, noclick) { + var root = view.document.documentElement, selection = src_select(view).on("dragstart.drag", null); + if (noclick) { + selection.on("click.drag", noevent, nonpassivecapture); + setTimeout(function() { + selection.on("click.drag", null); + }, 0); + } + if ("onselectstart" in root) { + selection.on("selectstart.drag", null); + } else { + root.style.MozUserSelect = root.__noselect; + delete root.__noselect; + } +} + +;// ./node_modules/d3-color/src/define.js +/* harmony default export */ function src_define(constructor, factory, prototype) { + constructor.prototype = factory.prototype = prototype; + prototype.constructor = constructor; +} +function extend(parent, definition) { + var prototype = Object.create(parent.prototype); + for (var key in definition) prototype[key] = definition[key]; + return prototype; +} + +;// ./node_modules/d3-color/src/color.js + +function Color() { +} +var darker = 0.7; +var brighter = 1 / darker; +var reI = "\\s*([+-]?\\d+)\\s*", reN = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", reP = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", reHex = /^#([0-9a-f]{3,8})$/, reRgbInteger = new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`), reRgbPercent = new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`), reRgbaInteger = new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`), reRgbaPercent = new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`), reHslPercent = new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`), reHslaPercent = new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`); +var named = { + aliceblue: 15792383, + antiquewhite: 16444375, + aqua: 65535, + aquamarine: 8388564, + azure: 15794175, + beige: 16119260, + bisque: 16770244, + black: 0, + blanchedalmond: 16772045, + blue: 255, + blueviolet: 9055202, + brown: 10824234, + burlywood: 14596231, + cadetblue: 6266528, + chartreuse: 8388352, + chocolate: 13789470, + coral: 16744272, + cornflowerblue: 6591981, + cornsilk: 16775388, + crimson: 14423100, + cyan: 65535, + darkblue: 139, + darkcyan: 35723, + darkgoldenrod: 12092939, + darkgray: 11119017, + darkgreen: 25600, + darkgrey: 11119017, + darkkhaki: 12433259, + darkmagenta: 9109643, + darkolivegreen: 5597999, + darkorange: 16747520, + darkorchid: 10040012, + darkred: 9109504, + darksalmon: 15308410, + darkseagreen: 9419919, + darkslateblue: 4734347, + darkslategray: 3100495, + darkslategrey: 3100495, + darkturquoise: 52945, + darkviolet: 9699539, + deeppink: 16716947, + deepskyblue: 49151, + dimgray: 6908265, + dimgrey: 6908265, + dodgerblue: 2003199, + firebrick: 11674146, + floralwhite: 16775920, + forestgreen: 2263842, + fuchsia: 16711935, + gainsboro: 14474460, + ghostwhite: 16316671, + gold: 16766720, + goldenrod: 14329120, + gray: 8421504, + green: 32768, + greenyellow: 11403055, + grey: 8421504, + honeydew: 15794160, + hotpink: 16738740, + indianred: 13458524, + indigo: 4915330, + ivory: 16777200, + khaki: 15787660, + lavender: 15132410, + lavenderblush: 16773365, + lawngreen: 8190976, + lemonchiffon: 16775885, + lightblue: 11393254, + lightcoral: 15761536, + lightcyan: 14745599, + lightgoldenrodyellow: 16448210, + lightgray: 13882323, + lightgreen: 9498256, + lightgrey: 13882323, + lightpink: 16758465, + lightsalmon: 16752762, + lightseagreen: 2142890, + lightskyblue: 8900346, + lightslategray: 7833753, + lightslategrey: 7833753, + lightsteelblue: 11584734, + lightyellow: 16777184, + lime: 65280, + limegreen: 3329330, + linen: 16445670, + magenta: 16711935, + maroon: 8388608, + mediumaquamarine: 6737322, + mediumblue: 205, + mediumorchid: 12211667, + mediumpurple: 9662683, + mediumseagreen: 3978097, + mediumslateblue: 8087790, + mediumspringgreen: 64154, + mediumturquoise: 4772300, + mediumvioletred: 13047173, + midnightblue: 1644912, + mintcream: 16121850, + mistyrose: 16770273, + moccasin: 16770229, + navajowhite: 16768685, + navy: 128, + oldlace: 16643558, + olive: 8421376, + olivedrab: 7048739, + orange: 16753920, + orangered: 16729344, + orchid: 14315734, + palegoldenrod: 15657130, + palegreen: 10025880, + paleturquoise: 11529966, + palevioletred: 14381203, + papayawhip: 16773077, + peachpuff: 16767673, + peru: 13468991, + pink: 16761035, + plum: 14524637, + powderblue: 11591910, + purple: 8388736, + rebeccapurple: 6697881, + red: 16711680, + rosybrown: 12357519, + royalblue: 4286945, + saddlebrown: 9127187, + salmon: 16416882, + sandybrown: 16032864, + seagreen: 3050327, + seashell: 16774638, + sienna: 10506797, + silver: 12632256, + skyblue: 8900331, + slateblue: 6970061, + slategray: 7372944, + slategrey: 7372944, + snow: 16775930, + springgreen: 65407, + steelblue: 4620980, + tan: 13808780, + teal: 32896, + thistle: 14204888, + tomato: 16737095, + turquoise: 4251856, + violet: 15631086, + wheat: 16113331, + white: 16777215, + whitesmoke: 16119285, + yellow: 16776960, + yellowgreen: 10145074 +}; +src_define(Color, color, { + copy(channels) { + return Object.assign(new this.constructor(), this, channels); + }, + displayable() { + return this.rgb().displayable(); + }, + hex: color_formatHex, + // Deprecated! Use color.formatHex. + formatHex: color_formatHex, + formatHex8: color_formatHex8, + formatHsl: color_formatHsl, + formatRgb: color_formatRgb, + toString: color_formatRgb +}); +function color_formatHex() { + return this.rgb().formatHex(); +} +function color_formatHex8() { + return this.rgb().formatHex8(); +} +function color_formatHsl() { + return hslConvert(this).formatHsl(); +} +function color_formatRgb() { + return this.rgb().formatRgb(); +} +function color(format) { + var m, l; + format = (format + "").trim().toLowerCase(); + return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) : l === 3 ? new Rgb(m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, (m & 15) << 4 | m & 15, 1) : l === 8 ? rgba(m >> 24 & 255, m >> 16 & 255, m >> 8 & 255, (m & 255) / 255) : l === 4 ? rgba(m >> 12 & 15 | m >> 8 & 240, m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, ((m & 15) << 4 | m & 15) / 255) : null) : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) : named.hasOwnProperty(format) ? rgbn(named[format]) : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0) : null; +} +function rgbn(n) { + return new Rgb(n >> 16 & 255, n >> 8 & 255, n & 255, 1); +} +function rgba(r, g, b, a) { + if (a <= 0) r = g = b = NaN; + return new Rgb(r, g, b, a); +} +function rgbConvert(o) { + if (!(o instanceof Color)) o = color(o); + if (!o) return new Rgb(); + o = o.rgb(); + return new Rgb(o.r, o.g, o.b, o.opacity); +} +function color_rgb(r, g, b, opacity) { + return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity); +} +function Rgb(r, g, b, opacity) { + this.r = +r; + this.g = +g; + this.b = +b; + this.opacity = +opacity; +} +src_define(Rgb, color_rgb, extend(Color, { + brighter(k) { + k = k == null ? brighter : Math.pow(brighter, k); + return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); + }, + darker(k) { + k = k == null ? darker : Math.pow(darker, k); + return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity); + }, + rgb() { + return this; + }, + clamp() { + return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity)); + }, + displayable() { + return -0.5 <= this.r && this.r < 255.5 && (-0.5 <= this.g && this.g < 255.5) && (-0.5 <= this.b && this.b < 255.5) && (0 <= this.opacity && this.opacity <= 1); + }, + hex: rgb_formatHex, + // Deprecated! Use color.formatHex. + formatHex: rgb_formatHex, + formatHex8: rgb_formatHex8, + formatRgb: rgb_formatRgb, + toString: rgb_formatRgb +})); +function rgb_formatHex() { + return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`; +} +function rgb_formatHex8() { + return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`; +} +function rgb_formatRgb() { + const a = clampa(this.opacity); + return `${a === 1 ? "rgb(" : "rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? ")" : `, ${a})`}`; +} +function clampa(opacity) { + return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity)); +} +function clampi(value) { + return Math.max(0, Math.min(255, Math.round(value) || 0)); +} +function hex(value) { + value = clampi(value); + return (value < 16 ? "0" : "") + value.toString(16); +} +function hsla(h, s, l, a) { + if (a <= 0) h = s = l = NaN; + else if (l <= 0 || l >= 1) h = s = NaN; + else if (s <= 0) h = NaN; + return new Hsl(h, s, l, a); +} +function hslConvert(o) { + if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity); + if (!(o instanceof Color)) o = color(o); + if (!o) return new Hsl(); + if (o instanceof Hsl) return o; + o = o.rgb(); + var r = o.r / 255, g = o.g / 255, b = o.b / 255, min = Math.min(r, g, b), max = Math.max(r, g, b), h = NaN, s = max - min, l = (max + min) / 2; + if (s) { + if (r === max) h = (g - b) / s + (g < b) * 6; + else if (g === max) h = (b - r) / s + 2; + else h = (r - g) / s + 4; + s /= l < 0.5 ? max + min : 2 - max - min; + h *= 60; + } else { + s = l > 0 && l < 1 ? 0 : h; + } + return new Hsl(h, s, l, o.opacity); +} +function hsl(h, s, l, opacity) { + return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity); +} +function Hsl(h, s, l, opacity) { + this.h = +h; + this.s = +s; + this.l = +l; + this.opacity = +opacity; +} +src_define(Hsl, hsl, extend(Color, { + brighter(k) { + k = k == null ? brighter : Math.pow(brighter, k); + return new Hsl(this.h, this.s, this.l * k, this.opacity); + }, + darker(k) { + k = k == null ? darker : Math.pow(darker, k); + return new Hsl(this.h, this.s, this.l * k, this.opacity); + }, + rgb() { + var h = this.h % 360 + (this.h < 0) * 360, s = isNaN(h) || isNaN(this.s) ? 0 : this.s, l = this.l, m2 = l + (l < 0.5 ? l : 1 - l) * s, m1 = 2 * l - m2; + return new Rgb( + hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2), + hsl2rgb(h, m1, m2), + hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2), + this.opacity + ); + }, + clamp() { + return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity)); + }, + displayable() { + return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && (0 <= this.l && this.l <= 1) && (0 <= this.opacity && this.opacity <= 1); + }, + formatHsl() { + const a = clampa(this.opacity); + return `${a === 1 ? "hsl(" : "hsla("}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? ")" : `, ${a})`}`; + } +})); +function clamph(value) { + value = (value || 0) % 360; + return value < 0 ? value + 360 : value; +} +function clampt(value) { + return Math.max(0, Math.min(1, value || 0)); +} +function hsl2rgb(h, m1, m2) { + return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255; +} + +;// ./node_modules/d3-interpolate/src/basis.js +function basis(t1, v0, v1, v2, v3) { + var t2 = t1 * t1, t3 = t2 * t1; + return ((1 - 3 * t1 + 3 * t2 - t3) * v0 + (4 - 6 * t2 + 3 * t3) * v1 + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2 + t3 * v3) / 6; +} +/* harmony default export */ function src_basis(values) { + var n = values.length - 1; + return function(t) { + var i = t <= 0 ? t = 0 : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n), v1 = values[i], v2 = values[i + 1], v0 = i > 0 ? values[i - 1] : 2 * v1 - v2, v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1; + return basis((t - i / n) * n, v0, v1, v2, v3); + }; +} + +;// ./node_modules/d3-interpolate/src/basisClosed.js + +/* harmony default export */ function basisClosed(values) { + var n = values.length; + return function(t) { + var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n), v0 = values[(i + n - 1) % n], v1 = values[i % n], v2 = values[(i + 1) % n], v3 = values[(i + 2) % n]; + return basis((t - i / n) * n, v0, v1, v2, v3); + }; +} + +;// ./node_modules/d3-interpolate/src/constant.js +/* harmony default export */ var src_constant = ((x) => () => x); + +;// ./node_modules/d3-interpolate/src/color.js + +function linear(a, d) { + return function(t) { + return a + t * d; + }; +} +function exponential(a, b, y) { + return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) { + return Math.pow(a + t * b, y); + }; +} +function hue(a, b) { + var d = b - a; + return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : src_constant(isNaN(a) ? b : a); +} +function gamma(y) { + return (y = +y) === 1 ? nogamma : function(a, b) { + return b - a ? exponential(a, b, y) : src_constant(isNaN(a) ? b : a); + }; +} +function nogamma(a, b) { + var d = b - a; + return d ? linear(a, d) : src_constant(isNaN(a) ? b : a); +} + +;// ./node_modules/d3-interpolate/src/rgb.js + + + + +/* harmony default export */ var rgb = ((function rgbGamma(y) { + var color = gamma(y); + function rgb(start, end) { + var r = color((start = color_rgb(start)).r, (end = color_rgb(end)).r), g = color(start.g, end.g), b = color(start.b, end.b), opacity = nogamma(start.opacity, end.opacity); + return function(t) { + start.r = r(t); + start.g = g(t); + start.b = b(t); + start.opacity = opacity(t); + return start + ""; + }; + } + rgb.gamma = rgbGamma; + return rgb; +})(1)); +function rgbSpline(spline) { + return function(colors) { + var n = colors.length, r = new Array(n), g = new Array(n), b = new Array(n), i, color; + for (i = 0; i < n; ++i) { + color = color_rgb(colors[i]); + r[i] = color.r || 0; + g[i] = color.g || 0; + b[i] = color.b || 0; + } + r = spline(r); + g = spline(g); + b = spline(b); + color.opacity = 1; + return function(t) { + color.r = r(t); + color.g = g(t); + color.b = b(t); + return color + ""; + }; + }; +} +var rgbBasis = rgbSpline(src_basis); +var rgbBasisClosed = rgbSpline(basisClosed); + +;// ./node_modules/d3-interpolate/src/numberArray.js +/* harmony default export */ function numberArray(a, b) { + if (!b) b = []; + var n = a ? Math.min(b.length, a.length) : 0, c = b.slice(), i; + return function(t) { + for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t; + return c; + }; +} +function isNumberArray(x) { + return ArrayBuffer.isView(x) && !(x instanceof DataView); +} + +;// ./node_modules/d3-interpolate/src/array.js + + +/* harmony default export */ function src_array(a, b) { + return (isNumberArray(b) ? numberArray : genericArray)(a, b); +} +function genericArray(a, b) { + var nb = b ? b.length : 0, na = a ? Math.min(nb, a.length) : 0, x = new Array(na), c = new Array(nb), i; + for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]); + for (; i < nb; ++i) c[i] = b[i]; + return function(t) { + for (i = 0; i < na; ++i) c[i] = x[i](t); + return c; + }; +} + +;// ./node_modules/d3-interpolate/src/date.js +/* harmony default export */ function date(a, b) { + var d = /* @__PURE__ */ new Date(); + return a = +a, b = +b, function(t) { + return d.setTime(a * (1 - t) + b * t), d; + }; +} + +;// ./node_modules/d3-interpolate/src/number.js +/* harmony default export */ function number(a, b) { + return a = +a, b = +b, function(t) { + return a * (1 - t) + b * t; + }; +} + +;// ./node_modules/d3-interpolate/src/object.js + +/* harmony default export */ function object(a, b) { + var i = {}, c = {}, k; + if (a === null || typeof a !== "object") a = {}; + if (b === null || typeof b !== "object") b = {}; + for (k in b) { + if (k in a) { + i[k] = value(a[k], b[k]); + } else { + c[k] = b[k]; + } + } + return function(t) { + for (k in i) c[k] = i[k](t); + return c; + }; +} + +;// ./node_modules/d3-interpolate/src/string.js + +var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, reB = new RegExp(reA.source, "g"); +function zero(b) { + return function() { + return b; + }; +} +function one(b) { + return function(t) { + return b(t) + ""; + }; +} +/* harmony default export */ function string(a, b) { + var bi = reA.lastIndex = reB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = []; + a = a + "", b = b + ""; + while ((am = reA.exec(a)) && (bm = reB.exec(b))) { + if ((bs = bm.index) > bi) { + bs = b.slice(bi, bs); + if (s[i]) s[i] += bs; + else s[++i] = bs; + } + if ((am = am[0]) === (bm = bm[0])) { + if (s[i]) s[i] += bm; + else s[++i] = bm; + } else { + s[++i] = null; + q.push({ i, x: number(am, bm) }); + } + bi = reB.lastIndex; + } + if (bi < b.length) { + bs = b.slice(bi); + if (s[i]) s[i] += bs; + else s[++i] = bs; + } + return s.length < 2 ? q[0] ? one(q[0].x) : zero(b) : (b = q.length, function(t) { + for (var i2 = 0, o; i2 < b; ++i2) s[(o = q[i2]).i] = o.x(t); + return s.join(""); + }); +} + +;// ./node_modules/d3-interpolate/src/value.js + + + + + + + + + +/* harmony default export */ function value(a, b) { + var t = typeof b, c; + return b == null || t === "boolean" ? src_constant(b) : (t === "number" ? number : t === "string" ? (c = color(b)) ? (b = c, rgb) : string : b instanceof color ? rgb : b instanceof Date ? date : isNumberArray(b) ? numberArray : Array.isArray(b) ? genericArray : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? object : number)(a, b); +} + +;// ./node_modules/d3-selection/src/sourceEvent.js +/* harmony default export */ function sourceEvent(event) { + let sourceEvent; + while (sourceEvent = event.sourceEvent) event = sourceEvent; + return event; +} + +;// ./node_modules/d3-selection/src/pointer.js + +/* harmony default export */ function src_pointer(event, node) { + event = sourceEvent(event); + if (node === void 0) node = event.currentTarget; + if (node) { + var svg = node.ownerSVGElement || node; + if (svg.createSVGPoint) { + var point = svg.createSVGPoint(); + point.x = event.clientX, point.y = event.clientY; + point = point.matrixTransform(node.getScreenCTM().inverse()); + return [point.x, point.y]; + } + if (node.getBoundingClientRect) { + var rect = node.getBoundingClientRect(); + return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop]; + } + } + return [event.pageX, event.pageY]; +} + +;// ./node_modules/d3-timer/src/timer.js +var timer_frame = 0, timeout = 0, interval = 0, pokeDelay = 1e3, taskHead, taskTail, clockLast = 0, clockNow = 0, clockSkew = 0, clock = typeof performance === "object" && performance.now ? performance : Date, setFrame = typeof window === "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { + setTimeout(f, 17); +}; +function now() { + return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew); +} +function clearNow() { + clockNow = 0; +} +function Timer() { + this._call = this._time = this._next = null; +} +Timer.prototype = timer.prototype = { + constructor: Timer, + restart: function(callback, delay, time) { + if (typeof callback !== "function") throw new TypeError("callback is not a function"); + time = (time == null ? now() : +time) + (delay == null ? 0 : +delay); + if (!this._next && taskTail !== this) { + if (taskTail) taskTail._next = this; + else taskHead = this; + taskTail = this; + } + this._call = callback; + this._time = time; + sleep(); + }, + stop: function() { + if (this._call) { + this._call = null; + this._time = Infinity; + sleep(); + } + } +}; +function timer(callback, delay, time) { + var t = new Timer(); + t.restart(callback, delay, time); + return t; +} +function timerFlush() { + now(); + ++timer_frame; + var t = taskHead, e; + while (t) { + if ((e = clockNow - t._time) >= 0) t._call.call(void 0, e); + t = t._next; + } + --timer_frame; +} +function wake() { + clockNow = (clockLast = clock.now()) + clockSkew; + timer_frame = timeout = 0; + try { + timerFlush(); + } finally { + timer_frame = 0; + nap(); + clockNow = 0; + } +} +function poke() { + var now2 = clock.now(), delay = now2 - clockLast; + if (delay > pokeDelay) clockSkew -= delay, clockLast = now2; +} +function nap() { + var t0, t1 = taskHead, t2, time = Infinity; + while (t1) { + if (t1._call) { + if (time > t1._time) time = t1._time; + t0 = t1, t1 = t1._next; + } else { + t2 = t1._next, t1._next = null; + t1 = t0 ? t0._next = t2 : taskHead = t2; + } + } + taskTail = t0; + sleep(time); +} +function sleep(time) { + if (timer_frame) return; + if (timeout) timeout = clearTimeout(timeout); + var delay = time - clockNow; + if (delay > 24) { + if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew); + if (interval) interval = clearInterval(interval); + } else { + if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay); + timer_frame = 1, setFrame(wake); + } +} + +;// ./node_modules/d3-timer/src/timeout.js + +/* harmony default export */ function src_timeout(callback, delay, time) { + var t = new Timer(); + delay = delay == null ? 0 : +delay; + t.restart((elapsed) => { + t.stop(); + callback(elapsed + delay); + }, delay, time); + return t; +} + +;// ./node_modules/d3-transition/src/transition/schedule.js + + +var emptyOn = src_dispatch("start", "end", "cancel", "interrupt"); +var emptyTween = []; +var CREATED = 0; +var SCHEDULED = 1; +var STARTING = 2; +var STARTED = 3; +var RUNNING = 4; +var ENDING = 5; +var ENDED = 6; +/* harmony default export */ function schedule(node, name, id, index, group, timing) { + var schedules = node.__transition; + if (!schedules) node.__transition = {}; + else if (id in schedules) return; + create(node, id, { + name, + index, + // For context during callback. + group, + // For context during callback. + on: emptyOn, + tween: emptyTween, + time: timing.time, + delay: timing.delay, + duration: timing.duration, + ease: timing.ease, + timer: null, + state: CREATED + }); +} +function init(node, id) { + var schedule = schedule_get(node, id); + if (schedule.state > CREATED) throw new Error("too late; already scheduled"); + return schedule; +} +function schedule_set(node, id) { + var schedule = schedule_get(node, id); + if (schedule.state > STARTED) throw new Error("too late; already running"); + return schedule; +} +function schedule_get(node, id) { + var schedule = node.__transition; + if (!schedule || !(schedule = schedule[id])) throw new Error("transition not found"); + return schedule; +} +function create(node, id, self) { + var schedules = node.__transition, tween; + schedules[id] = self; + self.timer = timer(schedule, 0, self.time); + function schedule(elapsed) { + self.state = SCHEDULED; + self.timer.restart(start, self.delay, self.time); + if (self.delay <= elapsed) start(elapsed - self.delay); + } + function start(elapsed) { + var i, j, n, o; + if (self.state !== SCHEDULED) return stop(); + for (i in schedules) { + o = schedules[i]; + if (o.name !== self.name) continue; + if (o.state === STARTED) return src_timeout(start); + if (o.state === RUNNING) { + o.state = ENDED; + o.timer.stop(); + o.on.call("interrupt", node, node.__data__, o.index, o.group); + delete schedules[i]; + } else if (+i < id) { + o.state = ENDED; + o.timer.stop(); + o.on.call("cancel", node, node.__data__, o.index, o.group); + delete schedules[i]; + } + } + src_timeout(function() { + if (self.state === STARTED) { + self.state = RUNNING; + self.timer.restart(tick, self.delay, self.time); + tick(elapsed); + } + }); + self.state = STARTING; + self.on.call("start", node, node.__data__, self.index, self.group); + if (self.state !== STARTING) return; + self.state = STARTED; + tween = new Array(n = self.tween.length); + for (i = 0, j = -1; i < n; ++i) { + if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) { + tween[++j] = o; + } + } + tween.length = j + 1; + } + function tick(elapsed) { + var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1), i = -1, n = tween.length; + while (++i < n) { + tween[i].call(node, t); + } + if (self.state === ENDING) { + self.on.call("end", node, node.__data__, self.index, self.group); + stop(); + } + } + function stop() { + self.state = ENDED; + self.timer.stop(); + delete schedules[id]; + for (var i in schedules) return; + delete node.__transition; + } +} + +;// ./node_modules/d3-transition/src/interrupt.js + +/* harmony default export */ function interrupt(node, name) { + var schedules = node.__transition, schedule, active, empty = true, i; + if (!schedules) return; + name = name == null ? null : name + ""; + for (i in schedules) { + if ((schedule = schedules[i]).name !== name) { + empty = false; + continue; + } + active = schedule.state > STARTING && schedule.state < ENDING; + schedule.state = ENDED; + schedule.timer.stop(); + schedule.on.call(active ? "interrupt" : "cancel", node, node.__data__, schedule.index, schedule.group); + delete schedules[i]; + } + if (empty) delete node.__transition; +} + +;// ./node_modules/d3-transition/src/selection/interrupt.js + +/* harmony default export */ function selection_interrupt(name) { + return this.each(function() { + interrupt(this, name); + }); +} + +;// ./node_modules/d3-interpolate/src/transform/decompose.js +var degrees = 180 / Math.PI; +var identity = { + translateX: 0, + translateY: 0, + rotate: 0, + skewX: 0, + scaleX: 1, + scaleY: 1 +}; +/* harmony default export */ function decompose(a, b, c, d, e, f) { + var scaleX, scaleY, skewX; + if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX; + if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX; + if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY; + if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX; + return { + translateX: e, + translateY: f, + rotate: Math.atan2(b, a) * degrees, + skewX: Math.atan(skewX) * degrees, + scaleX, + scaleY + }; +} + +;// ./node_modules/d3-interpolate/src/transform/parse.js + +var svgNode; +function parseCss(value) { + const m = new (typeof DOMMatrix === "function" ? DOMMatrix : WebKitCSSMatrix)(value + ""); + return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f); +} +function parseSvg(value) { + if (value == null) return identity; + if (!svgNode) svgNode = document.createElementNS("http://www.w3.org/2000/svg", "g"); + svgNode.setAttribute("transform", value); + if (!(value = svgNode.transform.baseVal.consolidate())) return identity; + value = value.matrix; + return decompose(value.a, value.b, value.c, value.d, value.e, value.f); +} + +;// ./node_modules/d3-interpolate/src/transform/index.js + + +function interpolateTransform(parse, pxComma, pxParen, degParen) { + function pop(s) { + return s.length ? s.pop() + " " : ""; + } + function translate(xa, ya, xb, yb, s, q) { + if (xa !== xb || ya !== yb) { + var i = s.push("translate(", null, pxComma, null, pxParen); + q.push({ i: i - 4, x: number(xa, xb) }, { i: i - 2, x: number(ya, yb) }); + } else if (xb || yb) { + s.push("translate(" + xb + pxComma + yb + pxParen); + } + } + function rotate(a, b, s, q) { + if (a !== b) { + if (a - b > 180) b += 360; + else if (b - a > 180) a += 360; + q.push({ i: s.push(pop(s) + "rotate(", null, degParen) - 2, x: number(a, b) }); + } else if (b) { + s.push(pop(s) + "rotate(" + b + degParen); + } + } + function skewX(a, b, s, q) { + if (a !== b) { + q.push({ i: s.push(pop(s) + "skewX(", null, degParen) - 2, x: number(a, b) }); + } else if (b) { + s.push(pop(s) + "skewX(" + b + degParen); + } + } + function scale(xa, ya, xb, yb, s, q) { + if (xa !== xb || ya !== yb) { + var i = s.push(pop(s) + "scale(", null, ",", null, ")"); + q.push({ i: i - 4, x: number(xa, xb) }, { i: i - 2, x: number(ya, yb) }); + } else if (xb !== 1 || yb !== 1) { + s.push(pop(s) + "scale(" + xb + "," + yb + ")"); + } + } + return function(a, b) { + var s = [], q = []; + a = parse(a), b = parse(b); + translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q); + rotate(a.rotate, b.rotate, s, q); + skewX(a.skewX, b.skewX, s, q); + scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q); + a = b = null; + return function(t) { + var i = -1, n = q.length, o; + while (++i < n) s[(o = q[i]).i] = o.x(t); + return s.join(""); + }; + }; +} +var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)"); +var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")"); + +;// ./node_modules/d3-transition/src/transition/tween.js + +function tweenRemove(id, name) { + var tween0, tween1; + return function() { + var schedule = schedule_set(this, id), tween = schedule.tween; + if (tween !== tween0) { + tween1 = tween0 = tween; + for (var i = 0, n = tween1.length; i < n; ++i) { + if (tween1[i].name === name) { + tween1 = tween1.slice(); + tween1.splice(i, 1); + break; + } + } + } + schedule.tween = tween1; + }; +} +function tweenFunction(id, name, value) { + var tween0, tween1; + if (typeof value !== "function") throw new Error(); + return function() { + var schedule = schedule_set(this, id), tween = schedule.tween; + if (tween !== tween0) { + tween1 = (tween0 = tween).slice(); + for (var t = { name, value }, i = 0, n = tween1.length; i < n; ++i) { + if (tween1[i].name === name) { + tween1[i] = t; + break; + } + } + if (i === n) tween1.push(t); + } + schedule.tween = tween1; + }; +} +/* harmony default export */ function tween(name, value) { + var id = this._id; + name += ""; + if (arguments.length < 2) { + var tween = schedule_get(this.node(), id).tween; + for (var i = 0, n = tween.length, t; i < n; ++i) { + if ((t = tween[i]).name === name) { + return t.value; + } + } + return null; + } + return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value)); +} +function tweenValue(transition, name, value) { + var id = transition._id; + transition.each(function() { + var schedule = schedule_set(this, id); + (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments); + }); + return function(node) { + return schedule_get(node, id).value[name]; + }; +} + +;// ./node_modules/d3-transition/src/transition/interpolate.js + + +/* harmony default export */ function interpolate(a, b) { + var c; + return (typeof b === "number" ? number : b instanceof color ? rgb : (c = color(b)) ? (b = c, rgb) : string)(a, b); +} + +;// ./node_modules/d3-transition/src/transition/attr.js + + + + +function attr_attrRemove(name) { + return function() { + this.removeAttribute(name); + }; +} +function attr_attrRemoveNS(fullname) { + return function() { + this.removeAttributeNS(fullname.space, fullname.local); + }; +} +function attr_attrConstant(name, interpolate2, value1) { + var string00, string1 = value1 + "", interpolate0; + return function() { + var string0 = this.getAttribute(name); + return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1); + }; +} +function attr_attrConstantNS(fullname, interpolate2, value1) { + var string00, string1 = value1 + "", interpolate0; + return function() { + var string0 = this.getAttributeNS(fullname.space, fullname.local); + return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1); + }; +} +function attr_attrFunction(name, interpolate2, value) { + var string00, string10, interpolate0; + return function() { + var string0, value1 = value(this), string1; + if (value1 == null) return void this.removeAttribute(name); + string0 = this.getAttribute(name); + string1 = value1 + ""; + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1)); + }; +} +function attr_attrFunctionNS(fullname, interpolate2, value) { + var string00, string10, interpolate0; + return function() { + var string0, value1 = value(this), string1; + if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local); + string0 = this.getAttributeNS(fullname.space, fullname.local); + string1 = value1 + ""; + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1)); + }; +} +/* harmony default export */ function transition_attr(name, value) { + var fullname = namespace(name), i = fullname === "transform" ? interpolateTransformSvg : interpolate; + return this.attrTween(name, typeof value === "function" ? (fullname.local ? attr_attrFunctionNS : attr_attrFunction)(fullname, i, tweenValue(this, "attr." + name, value)) : value == null ? (fullname.local ? attr_attrRemoveNS : attr_attrRemove)(fullname) : (fullname.local ? attr_attrConstantNS : attr_attrConstant)(fullname, i, value)); +} + +;// ./node_modules/d3-transition/src/transition/attrTween.js + +function attrInterpolate(name, i) { + return function(t) { + this.setAttribute(name, i.call(this, t)); + }; +} +function attrInterpolateNS(fullname, i) { + return function(t) { + this.setAttributeNS(fullname.space, fullname.local, i.call(this, t)); + }; +} +function attrTweenNS(fullname, value) { + var t0, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i); + return t0; + } + tween._value = value; + return tween; +} +function attrTween(name, value) { + var t0, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i); + return t0; + } + tween._value = value; + return tween; +} +/* harmony default export */ function transition_attrTween(name, value) { + var key = "attr." + name; + if (arguments.length < 2) return (key = this.tween(key)) && key._value; + if (value == null) return this.tween(key, null); + if (typeof value !== "function") throw new Error(); + var fullname = namespace(name); + return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value)); +} + +;// ./node_modules/d3-transition/src/transition/delay.js + +function delayFunction(id, value) { + return function() { + init(this, id).delay = +value.apply(this, arguments); + }; +} +function delayConstant(id, value) { + return value = +value, function() { + init(this, id).delay = value; + }; +} +/* harmony default export */ function delay(value) { + var id = this._id; + return arguments.length ? this.each((typeof value === "function" ? delayFunction : delayConstant)(id, value)) : schedule_get(this.node(), id).delay; +} + +;// ./node_modules/d3-transition/src/transition/duration.js + +function durationFunction(id, value) { + return function() { + schedule_set(this, id).duration = +value.apply(this, arguments); + }; +} +function durationConstant(id, value) { + return value = +value, function() { + schedule_set(this, id).duration = value; + }; +} +/* harmony default export */ function duration(value) { + var id = this._id; + return arguments.length ? this.each((typeof value === "function" ? durationFunction : durationConstant)(id, value)) : schedule_get(this.node(), id).duration; +} + +;// ./node_modules/d3-transition/src/transition/ease.js + +function easeConstant(id, value) { + if (typeof value !== "function") throw new Error(); + return function() { + schedule_set(this, id).ease = value; + }; +} +/* harmony default export */ function ease(value) { + var id = this._id; + return arguments.length ? this.each(easeConstant(id, value)) : schedule_get(this.node(), id).ease; +} + +;// ./node_modules/d3-transition/src/transition/easeVarying.js + +function easeVarying(id, value) { + return function() { + var v = value.apply(this, arguments); + if (typeof v !== "function") throw new Error(); + schedule_set(this, id).ease = v; + }; +} +/* harmony default export */ function transition_easeVarying(value) { + if (typeof value !== "function") throw new Error(); + return this.each(easeVarying(this._id, value)); +} + +;// ./node_modules/d3-transition/src/transition/filter.js + + +/* harmony default export */ function transition_filter(match) { + if (typeof match !== "function") match = matcher(match); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) { + if ((node = group[i]) && match.call(node, node.__data__, i, group)) { + subgroup.push(node); + } + } + } + return new Transition(subgroups, this._parents, this._name, this._id); +} + +;// ./node_modules/d3-transition/src/transition/merge.js + +/* harmony default export */ function transition_merge(transition) { + if (transition._id !== this._id) throw new Error(); + for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) { + for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) { + if (node = group0[i] || group1[i]) { + merge[i] = node; + } + } + } + for (; j < m0; ++j) { + merges[j] = groups0[j]; + } + return new Transition(merges, this._parents, this._name, this._id); +} + +;// ./node_modules/d3-transition/src/transition/on.js + +function start(name) { + return (name + "").trim().split(/^|\s+/).every(function(t) { + var i = t.indexOf("."); + if (i >= 0) t = t.slice(0, i); + return !t || t === "start"; + }); +} +function onFunction(id, name, listener) { + var on0, on1, sit = start(name) ? init : schedule_set; + return function() { + var schedule = sit(this, id), on = schedule.on; + if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener); + schedule.on = on1; + }; +} +/* harmony default export */ function transition_on(name, listener) { + var id = this._id; + return arguments.length < 2 ? schedule_get(this.node(), id).on.on(name) : this.each(onFunction(id, name, listener)); +} + +;// ./node_modules/d3-transition/src/transition/remove.js +function removeFunction(id) { + return function() { + var parent = this.parentNode; + for (var i in this.__transition) if (+i !== id) return; + if (parent) parent.removeChild(this); + }; +} +/* harmony default export */ function transition_remove() { + return this.on("end.remove", removeFunction(this._id)); +} + +;// ./node_modules/d3-transition/src/transition/select.js + + + +/* harmony default export */ function transition_select(select) { + var name = this._name, id = this._id; + if (typeof select !== "function") select = selector(select); + for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) { + if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) { + if ("__data__" in node) subnode.__data__ = node.__data__; + subgroup[i] = subnode; + schedule(subgroup[i], name, id, i, subgroup, schedule_get(node, id)); + } + } + } + return new Transition(subgroups, this._parents, name, id); +} + +;// ./node_modules/d3-transition/src/transition/selectAll.js + + + +/* harmony default export */ function transition_selectAll(select) { + var name = this._name, id = this._id; + if (typeof select !== "function") select = selectorAll(select); + for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + for (var children = select.call(node, node.__data__, i, group), child, inherit = schedule_get(node, id), k = 0, l = children.length; k < l; ++k) { + if (child = children[k]) { + schedule(child, name, id, k, children, inherit); + } + } + subgroups.push(children); + parents.push(node); + } + } + } + return new Transition(subgroups, parents, name, id); +} + +;// ./node_modules/d3-transition/src/transition/selection.js + +var selection_Selection = src_selection.prototype.constructor; +/* harmony default export */ function transition_selection() { + return new selection_Selection(this._groups, this._parents); +} + +;// ./node_modules/d3-transition/src/transition/style.js + + + + + +function styleNull(name, interpolate2) { + var string00, string10, interpolate0; + return function() { + var string0 = styleValue(this, name), string1 = (this.style.removeProperty(name), styleValue(this, name)); + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, string10 = string1); + }; +} +function style_styleRemove(name) { + return function() { + this.style.removeProperty(name); + }; +} +function style_styleConstant(name, interpolate2, value1) { + var string00, string1 = value1 + "", interpolate0; + return function() { + var string0 = styleValue(this, name); + return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate2(string00 = string0, value1); + }; +} +function style_styleFunction(name, interpolate2, value) { + var string00, string10, interpolate0; + return function() { + var string0 = styleValue(this, name), value1 = value(this), string1 = value1 + ""; + if (value1 == null) string1 = value1 = (this.style.removeProperty(name), styleValue(this, name)); + return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate2(string00 = string0, value1)); + }; +} +function styleMaybeRemove(id, name) { + var on0, on1, listener0, key = "style." + name, event = "end." + key, remove; + return function() { + var schedule = schedule_set(this, id), on = schedule.on, listener = schedule.value[key] == null ? remove || (remove = style_styleRemove(name)) : void 0; + if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener); + schedule.on = on1; + }; +} +/* harmony default export */ function transition_style(name, value, priority) { + var i = (name += "") === "transform" ? interpolateTransformCss : interpolate; + return value == null ? this.styleTween(name, styleNull(name, i)).on("end.style." + name, style_styleRemove(name)) : typeof value === "function" ? this.styleTween(name, style_styleFunction(name, i, tweenValue(this, "style." + name, value))).each(styleMaybeRemove(this._id, name)) : this.styleTween(name, style_styleConstant(name, i, value), priority).on("end.style." + name, null); +} + +;// ./node_modules/d3-transition/src/transition/styleTween.js +function styleInterpolate(name, i, priority) { + return function(t) { + this.style.setProperty(name, i.call(this, t), priority); + }; +} +function styleTween(name, value, priority) { + var t, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority); + return t; + } + tween._value = value; + return tween; +} +/* harmony default export */ function transition_styleTween(name, value, priority) { + var key = "style." + (name += ""); + if (arguments.length < 2) return (key = this.tween(key)) && key._value; + if (value == null) return this.tween(key, null); + if (typeof value !== "function") throw new Error(); + return this.tween(key, styleTween(name, value, priority == null ? "" : priority)); +} + +;// ./node_modules/d3-transition/src/transition/text.js + +function text_textConstant(value) { + return function() { + this.textContent = value; + }; +} +function text_textFunction(value) { + return function() { + var value1 = value(this); + this.textContent = value1 == null ? "" : value1; + }; +} +/* harmony default export */ function transition_text(value) { + return this.tween("text", typeof value === "function" ? text_textFunction(tweenValue(this, "text", value)) : text_textConstant(value == null ? "" : value + "")); +} + +;// ./node_modules/d3-transition/src/transition/textTween.js +function textInterpolate(i) { + return function(t) { + this.textContent = i.call(this, t); + }; +} +function textTween(value) { + var t0, i0; + function tween() { + var i = value.apply(this, arguments); + if (i !== i0) t0 = (i0 = i) && textInterpolate(i); + return t0; + } + tween._value = value; + return tween; +} +/* harmony default export */ function transition_textTween(value) { + var key = "text"; + if (arguments.length < 1) return (key = this.tween(key)) && key._value; + if (value == null) return this.tween(key, null); + if (typeof value !== "function") throw new Error(); + return this.tween(key, textTween(value)); +} + +;// ./node_modules/d3-transition/src/transition/transition.js + + +/* harmony default export */ function transition() { + var name = this._name, id0 = this._id, id1 = newId(); + for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + var inherit = schedule_get(node, id0); + schedule(node, name, id1, i, group, { + time: inherit.time + inherit.delay + inherit.duration, + delay: 0, + duration: inherit.duration, + ease: inherit.ease + }); + } + } + } + return new Transition(groups, this._parents, name, id1); +} + +;// ./node_modules/d3-transition/src/transition/end.js + +/* harmony default export */ function end() { + var on0, on1, that = this, id = that._id, size = that.size(); + return new Promise(function(resolve, reject) { + var cancel = { value: reject }, end = { value: function() { + if (--size === 0) resolve(); + } }; + that.each(function() { + var schedule = schedule_set(this, id), on = schedule.on; + if (on !== on0) { + on1 = (on0 = on).copy(); + on1._.cancel.push(cancel); + on1._.interrupt.push(cancel); + on1._.end.push(end); + } + schedule.on = on1; + }); + if (size === 0) resolve(); + }); +} + +;// ./node_modules/d3-transition/src/transition/index.js + + + + + + + + + + + + + + + + + + + + + +var id = 0; +function Transition(groups, parents, name, id2) { + this._groups = groups; + this._parents = parents; + this._name = name; + this._id = id2; +} +function transition_transition(name) { + return src_selection().transition(name); +} +function newId() { + return ++id; +} +var selection_prototype = src_selection.prototype; +Transition.prototype = transition_transition.prototype = { + constructor: Transition, + select: transition_select, + selectAll: transition_selectAll, + selectChild: selection_prototype.selectChild, + selectChildren: selection_prototype.selectChildren, + filter: transition_filter, + merge: transition_merge, + selection: transition_selection, + transition: transition, + call: selection_prototype.call, + nodes: selection_prototype.nodes, + node: selection_prototype.node, + size: selection_prototype.size, + empty: selection_prototype.empty, + each: selection_prototype.each, + on: transition_on, + attr: transition_attr, + attrTween: transition_attrTween, + style: transition_style, + styleTween: transition_styleTween, + text: transition_text, + textTween: transition_textTween, + remove: transition_remove, + tween: tween, + delay: delay, + duration: duration, + ease: ease, + easeVarying: transition_easeVarying, + end: end, + [Symbol.iterator]: selection_prototype[Symbol.iterator] +}; + +;// ./node_modules/d3-ease/src/cubic.js +function cubicIn(t) { + return t * t * t; +} +function cubicOut(t) { + return --t * t * t + 1; +} +function cubicInOut(t) { + return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2; +} + +;// ./node_modules/d3-transition/src/selection/transition.js + + + + +var defaultTiming = { + time: null, + // Set on use. + delay: 0, + duration: 250, + ease: cubicInOut +}; +function inherit(node, id) { + var timing; + while (!(timing = node.__transition) || !(timing = timing[id])) { + if (!(node = node.parentNode)) { + throw new Error(`transition ${id} not found`); + } + } + return timing; +} +/* harmony default export */ function selection_transition(name) { + var id, timing; + if (name instanceof Transition) { + id = name._id, name = name._name; + } else { + id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + ""; + } + for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) { + for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) { + if (node = group[i]) { + schedule(node, name, id, i, group, timing || inherit(node, id)); + } + } + } + return new Transition(groups, this._parents, name, id); +} + +;// ./node_modules/d3-transition/src/selection/index.js + + + +src_selection.prototype.interrupt = selection_interrupt; +src_selection.prototype.transition = selection_transition; + +;// ./node_modules/d3-transition/src/index.js + + + + + +;// ./node_modules/d3-brush/src/constant.js +/* harmony default export */ var d3_brush_src_constant = ((x) => () => x); + +;// ./node_modules/d3-brush/src/event.js +function BrushEvent(type, { + sourceEvent, + target, + selection, + mode, + dispatch +}) { + Object.defineProperties(this, { + type: { value: type, enumerable: true, configurable: true }, + sourceEvent: { value: sourceEvent, enumerable: true, configurable: true }, + target: { value: target, enumerable: true, configurable: true }, + selection: { value: selection, enumerable: true, configurable: true }, + mode: { value: mode, enumerable: true, configurable: true }, + _: { value: dispatch } + }); +} + +;// ./node_modules/d3-brush/src/noevent.js +function noevent_nopropagation(event) { + event.stopImmediatePropagation(); +} +/* harmony default export */ function src_noevent(event) { + event.preventDefault(); + event.stopImmediatePropagation(); +} + +;// ./node_modules/d3-brush/src/brush.js + + + + + + + + +var MODE_DRAG = { name: "drag" }, MODE_SPACE = { name: "space" }, MODE_HANDLE = { name: "handle" }, MODE_CENTER = { name: "center" }; +const { abs, max, min } = Math; +function number1(e) { + return [+e[0], +e[1]]; +} +function number2(e) { + return [number1(e[0]), number1(e[1])]; +} +var X = { + name: "x", + handles: ["w", "e"].map(type), + input: function(x, e) { + return x == null ? null : [[+x[0], e[0][1]], [+x[1], e[1][1]]]; + }, + output: function(xy) { + return xy && [xy[0][0], xy[1][0]]; + } +}; +var Y = { + name: "y", + handles: ["n", "s"].map(type), + input: function(y, e) { + return y == null ? null : [[e[0][0], +y[0]], [e[1][0], +y[1]]]; + }, + output: function(xy) { + return xy && [xy[0][1], xy[1][1]]; + } +}; +var XY = { + name: "xy", + handles: ["n", "w", "e", "s", "nw", "ne", "sw", "se"].map(type), + input: function(xy) { + return xy == null ? null : number2(xy); + }, + output: function(xy) { + return xy; + } +}; +var cursors = { + overlay: "crosshair", + selection: "move", + n: "ns-resize", + e: "ew-resize", + s: "ns-resize", + w: "ew-resize", + nw: "nwse-resize", + ne: "nesw-resize", + se: "nwse-resize", + sw: "nesw-resize" +}; +var flipX = { + e: "w", + w: "e", + nw: "ne", + ne: "nw", + se: "sw", + sw: "se" +}; +var flipY = { + n: "s", + s: "n", + nw: "sw", + ne: "se", + se: "ne", + sw: "nw" +}; +var signsX = { + overlay: 1, + selection: 1, + n: null, + e: 1, + s: null, + w: -1, + nw: -1, + ne: 1, + se: 1, + sw: -1 +}; +var signsY = { + overlay: 1, + selection: 1, + n: -1, + e: null, + s: 1, + w: null, + nw: -1, + ne: -1, + se: 1, + sw: 1 +}; +function type(t) { + return { type: t }; +} +function defaultFilter(event) { + return !event.ctrlKey && !event.button; +} +function defaultExtent() { + var svg = this.ownerSVGElement || this; + if (svg.hasAttribute("viewBox")) { + svg = svg.viewBox.baseVal; + return [[svg.x, svg.y], [svg.x + svg.width, svg.y + svg.height]]; + } + return [[0, 0], [svg.width.baseVal.value, svg.height.baseVal.value]]; +} +function defaultTouchable() { + return navigator.maxTouchPoints || "ontouchstart" in this; +} +function local(node) { + while (!node.__brush) if (!(node = node.parentNode)) return; + return node.__brush; +} +function brush_empty(extent) { + return extent[0][0] === extent[1][0] || extent[0][1] === extent[1][1]; +} +function brushSelection(node) { + var state = node.__brush; + return state ? state.dim.output(state.selection) : null; +} +function brushX() { + return brush_brush(X); +} +function brushY() { + return brush_brush(Y); +} +/* harmony default export */ function brush() { + return brush_brush(XY); +} +function brush_brush(dim) { + var extent = defaultExtent, filter = defaultFilter, touchable = defaultTouchable, keys = true, listeners = src_dispatch("start", "brush", "end"), handleSize = 6, touchending; + function brush2(group) { + var overlay = group.property("__brush", initialize).selectAll(".overlay").data([type("overlay")]); + overlay.enter().append("rect").attr("class", "overlay").attr("pointer-events", "all").attr("cursor", cursors.overlay).merge(overlay).each(function() { + var extent2 = local(this).extent; + src_select(this).attr("x", extent2[0][0]).attr("y", extent2[0][1]).attr("width", extent2[1][0] - extent2[0][0]).attr("height", extent2[1][1] - extent2[0][1]); + }); + group.selectAll(".selection").data([type("selection")]).enter().append("rect").attr("class", "selection").attr("cursor", cursors.selection).attr("fill", "#777").attr("fill-opacity", 0.3).attr("stroke", "#fff").attr("shape-rendering", "crispEdges"); + var handle = group.selectAll(".handle").data(dim.handles, function(d) { + return d.type; + }); + handle.exit().remove(); + handle.enter().append("rect").attr("class", function(d) { + return "handle handle--" + d.type; + }).attr("cursor", function(d) { + return cursors[d.type]; + }); + group.each(redraw).attr("fill", "none").attr("pointer-events", "all").on("mousedown.brush", started).filter(touchable).on("touchstart.brush", started).on("touchmove.brush", touchmoved).on("touchend.brush touchcancel.brush", touchended).style("touch-action", "none").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)"); + } + brush2.move = function(group, selection, event) { + if (group.tween) { + group.on("start.brush", function(event2) { + emitter(this, arguments).beforestart().start(event2); + }).on("interrupt.brush end.brush", function(event2) { + emitter(this, arguments).end(event2); + }).tween("brush", function() { + var that = this, state = that.__brush, emit = emitter(that, arguments), selection0 = state.selection, selection1 = dim.input(typeof selection === "function" ? selection.apply(this, arguments) : selection, state.extent), i = value(selection0, selection1); + function tween(t) { + state.selection = t === 1 && selection1 === null ? null : i(t); + redraw.call(that); + emit.brush(); + } + return selection0 !== null && selection1 !== null ? tween : tween(1); + }); + } else { + group.each(function() { + var that = this, args = arguments, state = that.__brush, selection1 = dim.input(typeof selection === "function" ? selection.apply(that, args) : selection, state.extent), emit = emitter(that, args).beforestart(); + interrupt(that); + state.selection = selection1 === null ? null : selection1; + redraw.call(that); + emit.start(event).brush(event).end(event); + }); + } + }; + brush2.clear = function(group, event) { + brush2.move(group, null, event); + }; + function redraw() { + var group = src_select(this), selection = local(this).selection; + if (selection) { + group.selectAll(".selection").style("display", null).attr("x", selection[0][0]).attr("y", selection[0][1]).attr("width", selection[1][0] - selection[0][0]).attr("height", selection[1][1] - selection[0][1]); + group.selectAll(".handle").style("display", null).attr("x", function(d) { + return d.type[d.type.length - 1] === "e" ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2; + }).attr("y", function(d) { + return d.type[0] === "s" ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2; + }).attr("width", function(d) { + return d.type === "n" || d.type === "s" ? selection[1][0] - selection[0][0] + handleSize : handleSize; + }).attr("height", function(d) { + return d.type === "e" || d.type === "w" ? selection[1][1] - selection[0][1] + handleSize : handleSize; + }); + } else { + group.selectAll(".selection,.handle").style("display", "none").attr("x", null).attr("y", null).attr("width", null).attr("height", null); + } + } + function emitter(that, args, clean) { + var emit = that.__brush.emitter; + return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean); + } + function Emitter(that, args, clean) { + this.that = that; + this.args = args; + this.state = that.__brush; + this.active = 0; + this.clean = clean; + } + Emitter.prototype = { + beforestart: function() { + if (++this.active === 1) this.state.emitter = this, this.starting = true; + return this; + }, + start: function(event, mode) { + if (this.starting) this.starting = false, this.emit("start", event, mode); + else this.emit("brush", event); + return this; + }, + brush: function(event, mode) { + this.emit("brush", event, mode); + return this; + }, + end: function(event, mode) { + if (--this.active === 0) delete this.state.emitter, this.emit("end", event, mode); + return this; + }, + emit: function(type2, event, mode) { + var d = src_select(this.that).datum(); + listeners.call( + type2, + this.that, + new BrushEvent(type2, { + sourceEvent: event, + target: brush2, + selection: dim.output(this.state.selection), + mode, + dispatch: listeners + }), + d + ); + } + }; + function started(event) { + if (touchending && !event.touches) return; + if (!filter.apply(this, arguments)) return; + var that = this, type2 = event.target.__data__.type, mode = (keys && event.metaKey ? type2 = "overlay" : type2) === "selection" ? MODE_DRAG : keys && event.altKey ? MODE_CENTER : MODE_HANDLE, signX = dim === Y ? null : signsX[type2], signY = dim === X ? null : signsY[type2], state = local(that), extent2 = state.extent, selection = state.selection, W = extent2[0][0], w0, w1, N = extent2[0][1], n0, n1, E = extent2[1][0], e0, e1, S = extent2[1][1], s0, s1, dx = 0, dy = 0, moving, shifting = signX && signY && keys && event.shiftKey, lockX, lockY, points = Array.from(event.touches || [event], (t) => { + const i = t.identifier; + t = src_pointer(t, that); + t.point0 = t.slice(); + t.identifier = i; + return t; + }); + interrupt(that); + var emit = emitter(that, arguments, true).beforestart(); + if (type2 === "overlay") { + if (selection) moving = true; + const pts = [points[0], points[1] || points[0]]; + state.selection = selection = [[ + w0 = dim === Y ? W : min(pts[0][0], pts[1][0]), + n0 = dim === X ? N : min(pts[0][1], pts[1][1]) + ], [ + e0 = dim === Y ? E : max(pts[0][0], pts[1][0]), + s0 = dim === X ? S : max(pts[0][1], pts[1][1]) + ]]; + if (points.length > 1) move(event); + } else { + w0 = selection[0][0]; + n0 = selection[0][1]; + e0 = selection[1][0]; + s0 = selection[1][1]; + } + w1 = w0; + n1 = n0; + e1 = e0; + s1 = s0; + var group = src_select(that).attr("pointer-events", "none"); + var overlay = group.selectAll(".overlay").attr("cursor", cursors[type2]); + if (event.touches) { + emit.moved = moved; + emit.ended = ended; + } else { + var view = src_select(event.view).on("mousemove.brush", moved, true).on("mouseup.brush", ended, true); + if (keys) view.on("keydown.brush", keydowned, true).on("keyup.brush", keyupped, true); + nodrag(event.view); + } + redraw.call(that); + emit.start(event, mode.name); + function moved(event2) { + for (const p of event2.changedTouches || [event2]) { + for (const d of points) + if (d.identifier === p.identifier) d.cur = src_pointer(p, that); + } + if (shifting && !lockX && !lockY && points.length === 1) { + const point = points[0]; + if (abs(point.cur[0] - point[0]) > abs(point.cur[1] - point[1])) + lockY = true; + else + lockX = true; + } + for (const point of points) + if (point.cur) point[0] = point.cur[0], point[1] = point.cur[1]; + moving = true; + src_noevent(event2); + move(event2); + } + function move(event2) { + const point = points[0], point0 = point.point0; + var t; + dx = point[0] - point0[0]; + dy = point[1] - point0[1]; + switch (mode) { + case MODE_SPACE: + case MODE_DRAG: { + if (signX) dx = max(W - w0, min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx; + if (signY) dy = max(N - n0, min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy; + break; + } + case MODE_HANDLE: { + if (points[1]) { + if (signX) w1 = max(W, min(E, points[0][0])), e1 = max(W, min(E, points[1][0])), signX = 1; + if (signY) n1 = max(N, min(S, points[0][1])), s1 = max(N, min(S, points[1][1])), signY = 1; + } else { + if (signX < 0) dx = max(W - w0, min(E - w0, dx)), w1 = w0 + dx, e1 = e0; + else if (signX > 0) dx = max(W - e0, min(E - e0, dx)), w1 = w0, e1 = e0 + dx; + if (signY < 0) dy = max(N - n0, min(S - n0, dy)), n1 = n0 + dy, s1 = s0; + else if (signY > 0) dy = max(N - s0, min(S - s0, dy)), n1 = n0, s1 = s0 + dy; + } + break; + } + case MODE_CENTER: { + if (signX) w1 = max(W, min(E, w0 - dx * signX)), e1 = max(W, min(E, e0 + dx * signX)); + if (signY) n1 = max(N, min(S, n0 - dy * signY)), s1 = max(N, min(S, s0 + dy * signY)); + break; + } + } + if (e1 < w1) { + signX *= -1; + t = w0, w0 = e0, e0 = t; + t = w1, w1 = e1, e1 = t; + if (type2 in flipX) overlay.attr("cursor", cursors[type2 = flipX[type2]]); + } + if (s1 < n1) { + signY *= -1; + t = n0, n0 = s0, s0 = t; + t = n1, n1 = s1, s1 = t; + if (type2 in flipY) overlay.attr("cursor", cursors[type2 = flipY[type2]]); + } + if (state.selection) selection = state.selection; + if (lockX) w1 = selection[0][0], e1 = selection[1][0]; + if (lockY) n1 = selection[0][1], s1 = selection[1][1]; + if (selection[0][0] !== w1 || selection[0][1] !== n1 || selection[1][0] !== e1 || selection[1][1] !== s1) { + state.selection = [[w1, n1], [e1, s1]]; + redraw.call(that); + emit.brush(event2, mode.name); + } + } + function ended(event2) { + noevent_nopropagation(event2); + if (event2.touches) { + if (event2.touches.length) return; + if (touchending) clearTimeout(touchending); + touchending = setTimeout(function() { + touchending = null; + }, 500); + } else { + yesdrag(event2.view, moving); + view.on("keydown.brush keyup.brush mousemove.brush mouseup.brush", null); + } + group.attr("pointer-events", "all"); + overlay.attr("cursor", cursors.overlay); + if (state.selection) selection = state.selection; + if (brush_empty(selection)) state.selection = null, redraw.call(that); + emit.end(event2, mode.name); + } + function keydowned(event2) { + switch (event2.keyCode) { + case 16: { + shifting = signX && signY; + break; + } + case 18: { + if (mode === MODE_HANDLE) { + if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX; + if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY; + mode = MODE_CENTER; + move(event2); + } + break; + } + case 32: { + if (mode === MODE_HANDLE || mode === MODE_CENTER) { + if (signX < 0) e0 = e1 - dx; + else if (signX > 0) w0 = w1 - dx; + if (signY < 0) s0 = s1 - dy; + else if (signY > 0) n0 = n1 - dy; + mode = MODE_SPACE; + overlay.attr("cursor", cursors.selection); + move(event2); + } + break; + } + default: + return; + } + src_noevent(event2); + } + function keyupped(event2) { + switch (event2.keyCode) { + case 16: { + if (shifting) { + lockX = lockY = shifting = false; + move(event2); + } + break; + } + case 18: { + if (mode === MODE_CENTER) { + if (signX < 0) e0 = e1; + else if (signX > 0) w0 = w1; + if (signY < 0) s0 = s1; + else if (signY > 0) n0 = n1; + mode = MODE_HANDLE; + move(event2); + } + break; + } + case 32: { + if (mode === MODE_SPACE) { + if (event2.altKey) { + if (signX) e0 = e1 - dx * signX, w0 = w1 + dx * signX; + if (signY) s0 = s1 - dy * signY, n0 = n1 + dy * signY; + mode = MODE_CENTER; + } else { + if (signX < 0) e0 = e1; + else if (signX > 0) w0 = w1; + if (signY < 0) s0 = s1; + else if (signY > 0) n0 = n1; + mode = MODE_HANDLE; + } + overlay.attr("cursor", cursors[type2]); + move(event2); + } + break; + } + default: + return; + } + src_noevent(event2); + } + } + function touchmoved(event) { + emitter(this, arguments).moved(event); + } + function touchended(event) { + emitter(this, arguments).ended(event); + } + function initialize() { + var state = this.__brush || { selection: null }; + state.extent = number2(extent.apply(this, arguments)); + state.dim = dim; + return state; + } + brush2.extent = function(_) { + return arguments.length ? (extent = typeof _ === "function" ? _ : d3_brush_src_constant(number2(_)), brush2) : extent; + }; + brush2.filter = function(_) { + return arguments.length ? (filter = typeof _ === "function" ? _ : d3_brush_src_constant(!!_), brush2) : filter; + }; + brush2.touchable = function(_) { + return arguments.length ? (touchable = typeof _ === "function" ? _ : d3_brush_src_constant(!!_), brush2) : touchable; + }; + brush2.handleSize = function(_) { + return arguments.length ? (handleSize = +_, brush2) : handleSize; + }; + brush2.keyModifiers = function(_) { + return arguments.length ? (keys = !!_, brush2) : keys; + }; + brush2.on = function() { + var value = listeners.on.apply(listeners, arguments); + return value === listeners ? brush2 : value; + }; + return brush2; +} + +;// ./node_modules/d3-brush/src/index.js + + +;// ./src/module/browser.ts +function getGlobal() { + return typeof globalThis === "object" && globalThis !== null && globalThis.Object === Object && globalThis || typeof global === "object" && global !== null && global.Object === Object && global || typeof self === "object" && self !== null && self.Object === Object && self || Function("return this")(); +} +function getFallback(w) { + const hasRAF = typeof (w == null ? void 0 : w.requestAnimationFrame) === "function" && typeof (w == null ? void 0 : w.cancelAnimationFrame) === "function"; + const hasRIC = typeof (w == null ? void 0 : w.requestIdleCallback) === "function" && typeof (w == null ? void 0 : w.cancelIdleCallback) === "function"; + const request = (cb) => setTimeout(cb, 1); + const cancel = (id) => clearTimeout(id); + return [ + hasRAF ? w.requestAnimationFrame : request, + hasRAF ? w.cancelAnimationFrame : cancel, + hasRIC ? w.requestIdleCallback : request, + hasRIC ? w.cancelIdleCallback : cancel + ]; +} +const win = getGlobal(); +const doc = win == null ? void 0 : win.document; +const [ + requestAnimationFrame, + cancelAnimationFrame, + requestIdleCallback, + cancelIdleCallback +] = getFallback(win); + + +;// ./src/module/util.ts +var __defProp = Object.defineProperty; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; + + + + +const isValue = (v) => v || v === 0; +const isFunction = (v) => typeof v === "function"; +const isString = (v) => typeof v === "string"; +const isNumber = (v) => typeof v === "number"; +const isUndefined = (v) => typeof v === "undefined"; +const isDefined = (v) => typeof v !== "undefined"; +const isBoolean = (v) => typeof v === "boolean"; +const ceil10 = (v) => Math.ceil(v / 10) * 10; +const asHalfPixel = (n) => Math.ceil(n) + 0.5; +const diffDomain = (d) => d[1] - d[0]; +const isObjectType = (v) => typeof v === "object"; +const isEmpty = (o) => isUndefined(o) || o === null || isString(o) && o.length === 0 || isObjectType(o) && !(o instanceof Date) && Object.keys(o).length === 0 || isNumber(o) && isNaN(o); +const notEmpty = (o) => !isEmpty(o); +const isArray = (arr) => Array.isArray(arr); +const isObject = (obj) => obj && !(obj == null ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); +function getOption(options, key, defaultValue) { + return isDefined(options[key]) ? options[key] : defaultValue; +} +function hasValue(dict, value) { + let found = false; + Object.keys(dict).forEach((key) => dict[key] === value && (found = true)); + return found; +} +function callFn(fn, thisArg, ...args) { + const isFn = isFunction(fn); + isFn && fn.call(thisArg, ...args); + return isFn; +} +function endall(transition, cb) { + let n = 0; + const end = function(...args) { + !--n && cb.apply(this, ...args); + }; + if ("duration" in transition) { + transition.each(() => ++n).on("end", end); + } else { + ++n; + transition.call(end); + } +} +function sanitize(str) { + return isString(str) ? str.replace(/<(script|img)?/ig, "<").replace(/(script)?>/ig, ">") : str; +} +function setTextValue(node, text, dy = [-1, 1], toMiddle = false) { + if (!node || !isString(text)) { + return; + } + if (text.indexOf("\n") === -1) { + node.text(text); + } else { + const diff = [node.text(), text].map((v) => v.replace(/[\s\n]/g, "")); + if (diff[0] !== diff[1]) { + const multiline = text.split("\n"); + const len = toMiddle ? multiline.length - 1 : 1; + node.html(""); + multiline.forEach((v, i) => { + node.append("tspan").attr("x", 0).attr("dy", `${i === 0 ? dy[0] * len : dy[1]}em`).text(v); + }); + } + } +} +function getRectSegList(path) { + const { x, y, width, height } = path.getBBox(); + return [ + { x, y: y + height }, + // seg0 + { x, y }, + // seg1 + { x: x + width, y }, + // seg2 + { x: x + width, y: y + height } + // seg3 + ]; +} +function getPathBox(path) { + const { width, height } = path.getBoundingClientRect(); + const items = getRectSegList(path); + const x = items[0].x; + const y = Math.min(items[0].y, items[1].y); + return { + x, + y, + width, + height + }; +} +function getPointer(event, element) { + var _a; + const touches = event && ((_a = event.touches || event.sourceEvent && event.sourceEvent.touches) == null ? void 0 : _a[0]); + let pointer = [0, 0]; + try { + pointer = src_pointer(touches || event, element); + } catch (e) { + } + return pointer.map((v) => isNaN(v) ? 0 : v); +} +function getBrushSelection(ctx) { + const { event, $el } = ctx; + const main = $el.subchart.main || $el.main; + let selection; + if (event && event.type === "brush") { + selection = event.selection; + } else if (main && (selection = main.select(".bb-brush").node())) { + selection = brushSelection(selection); + } + return selection; +} +function getBoundingRect(node) { + const needEvaluate = !("rect" in node) || "rect" in node && node.hasAttribute("width") && node.rect.width !== +node.getAttribute("width"); + return needEvaluate ? node.rect = node.getBoundingClientRect() : node.rect; +} +function getRandom(asStr = true, min = 0, max = 1e4) { + const crpt = win.crypto || win.msCrypto; + const rand = crpt ? min + crpt.getRandomValues(new Uint32Array(1))[0] % (max - min + 1) : Math.floor(Math.random() * (max - min) + min); + return asStr ? String(rand) : rand; +} +function findIndex(arr, v, start, end, isRotated) { + if (start > end) { + return -1; + } + const mid = Math.floor((start + end) / 2); + let { x, w = 0 } = arr[mid]; + if (isRotated) { + x = arr[mid].y; + w = arr[mid].h; + } + if (v >= x && v <= x + w) { + return mid; + } + return v < x ? findIndex(arr, v, start, mid - 1, isRotated) : findIndex(arr, v, mid + 1, end, isRotated); +} +function brushEmpty(ctx) { + const selection = getBrushSelection(ctx); + if (selection) { + return selection[0] === selection[1]; + } + return true; +} +function deepClone(...objectN) { + const clone = (v) => { + if (isObject(v) && v.constructor) { + const r = new v.constructor(); + for (const k in v) { + r[k] = clone(v[k]); + } + return r; + } + return v; + }; + return objectN.map((v) => clone(v)).reduce((a, c) => __spreadValues(__spreadValues({}, a), c)); +} +function util_extend(target = {}, source) { + if (isArray(source)) { + source.forEach((v) => util_extend(target, v)); + } + for (const p in source) { + if (/^\d+$/.test(p) || p in target) { + continue; + } + target[p] = source[p]; + } + return target; +} +const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1); +function camelize(str, separator = "-") { + return str.split(separator).map((v, i) => i ? v.charAt(0).toUpperCase() + v.slice(1).toLowerCase() : v.toLowerCase()).join(""); +} +const toArray = (v) => [].slice.call(v); +function addCssRules(style, selector, prop) { + const { rootSelector = "", sheet } = style; + const getSelector = (s) => s.replace(/\s?(bb-)/g, ".$1").replace(/\.+/g, "."); + const rule = `${rootSelector} ${getSelector(selector)} {${prop.join(";")}}`; + return sheet[sheet.insertRule ? "insertRule" : "addRule"]( + rule, + sheet.cssRules.length + ); +} +function getCssRules(styleSheets) { + let rules = []; + styleSheets.forEach((sheet) => { + var _a; + try { + if (sheet.cssRules && sheet.cssRules.length) { + rules = rules.concat(toArray(sheet.cssRules)); + } + } catch (e) { + (_a = win.console) == null ? void 0 : _a.warn(`Error while reading rules from ${sheet.href}: ${e.toString()}`); + } + }); + return rules; +} +function getScrollPosition(node) { + var _a, _b, _c, _d, _e, _f; + return { + x: ((_b = (_a = win.pageXOffset) != null ? _a : win.scrollX) != null ? _b : 0) + ((_c = node.scrollLeft) != null ? _c : 0), + y: ((_e = (_d = win.pageYOffset) != null ? _d : win.scrollY) != null ? _e : 0) + ((_f = node.scrollTop) != null ? _f : 0) + }; +} +function getTransformCTM(node, x = 0, y = 0, inverse = true) { + const point = new DOMPoint(x, y); + const screen = node.getScreenCTM(); + const res = point.matrixTransform( + inverse ? screen == null ? void 0 : screen.inverse() : screen + ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; +} +function getTranslation(node) { + const transform = node ? node.transform : null; + const baseVal = transform && transform.baseVal; + return baseVal && baseVal.numberOfItems ? baseVal.getItem(0).matrix : { a: 0, b: 0, c: 0, d: 0, e: 0, f: 0 }; +} +function getUnique(data) { + const isDate = data[0] instanceof Date; + const d = (isDate ? data.map(Number) : data).filter((v, i, self) => self.indexOf(v) === i); + return isDate ? d.map((v) => new Date(v)) : d; +} +function mergeArray(arr) { + return arr && arr.length ? arr.reduce((p, c) => p.concat(c)) : []; +} +function mergeObj(target, ...objectN) { + if (!objectN.length || objectN.length === 1 && !objectN[0]) { + return target; + } + const source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach((key) => { + const value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj(target, ...objectN); +} +function sortValue(data, isAsc = true) { + let fn; + if (data[0] instanceof Date) { + fn = isAsc ? (a, b) => a - b : (a, b) => b - a; + } else { + if (isAsc && !data.every(isNaN)) { + fn = (a, b) => a - b; + } else if (!isAsc) { + fn = (a, b) => a > b && -1 || a < b && 1 || a === b && 0; + } + } + return data.concat().sort(fn); +} +function getMinMax(type, data) { + let res = data.filter((v) => notEmpty(v)); + if (res.length) { + if (isNumber(res[0])) { + res = Math[type](...res); + } else if (res[0] instanceof Date) { + res = sortValue(res, type === "min")[0]; + } + } else { + res = void 0; + } + return res; +} +const getRange = (start, end, step = 1) => { + const res = []; + const n = Math.max(0, Math.ceil((end - start) / step)) | 0; + for (let i = start; i < n; i++) { + res.push(start + i * step); + } + return res; +}; +const emulateEvent = { + mouse: (() => { + const getParams = () => ({ + bubbles: false, + cancelable: false, + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0 + }); + try { + new MouseEvent("t"); + return (el, eventType, params = getParams()) => { + el.dispatchEvent(new MouseEvent(eventType, params)); + }; + } catch (e) { + return (el, eventType, params = getParams()) => { + const mouseEvent = doc.createEvent("MouseEvent"); + mouseEvent.initMouseEvent( + eventType, + params.bubbles, + params.cancelable, + win, + 0, + // the event's mouse click count + params.screenX, + params.screenY, + params.clientX, + params.clientY, + false, + false, + false, + false, + 0, + null + ); + el.dispatchEvent(mouseEvent); + }; + } + })(), + touch: (el, eventType, params) => { + const touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}; +function tplProcess(tpl, data) { + let res = tpl; + for (const x in data) { + res = res.replace(new RegExp(`{=${x}}`, "g"), data[x]); + } + return res; +} +function parseDate(date) { + var _a; + let parsedDate; + if (date instanceof Date) { + parsedDate = date; + } else if (isString(date)) { + const { config, format } = this; + parsedDate = (_a = format.dataTime(config.data_xFormat)(date)) != null ? _a : new Date(date); + } else if (isNumber(date) && !isNaN(date)) { + parsedDate = /* @__PURE__ */ new Date(+date); + } + if (!parsedDate || isNaN(+parsedDate)) { + console && console.error && console.error(`Failed to parse x '${date}' to Date object`); + } + return parsedDate; +} +function hasViewBox(svg) { + const attr = svg.attr("viewBox"); + return attr ? /(\d+(\.\d+)?){3}/.test(attr) : false; +} +function hasStyle(node, condition, all = false) { + const isD3Node = !!node.node; + let has = false; + for (const [key, value] of Object.entries(condition)) { + has = isD3Node ? node.style(key) === value : node.style[key] === value; + if (all === false && has) { + break; + } + } + return has; +} +function isTabVisible() { + var _a, _b; + return ((_a = doc) == null ? void 0 : _a.hidden) === false || ((_b = doc) == null ? void 0 : _b.visibilityState) === "visible"; +} +function convertInputType(mouse, touch) { + const { DocumentTouch, matchMedia, navigator } = win; + const hasPointerCoarse = matchMedia == null ? void 0 : matchMedia("(pointer:coarse)").matches; + let hasTouch = false; + if (touch) { + if (navigator && "maxTouchPoints" in navigator) { + hasTouch = navigator.maxTouchPoints > 0; + } else if ("ontouchmove" in win || DocumentTouch && doc instanceof DocumentTouch) { + hasTouch = true; + } else { + if (hasPointerCoarse) { + hasTouch = true; + } else { + const UA = navigator.userAgent; + hasTouch = /\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(UA) || /\b(Android|Windows Phone|iPad|iPod)\b/i.test(UA); + } + } + } + const hasMouse = mouse && !hasPointerCoarse && (matchMedia == null ? void 0 : matchMedia("(pointer:fine)").matches); + return hasMouse && "mouse" || hasTouch && "touch" || "mouse"; +} +function runUntil(fn, conditionFn) { + if (conditionFn() === false) { + requestAnimationFrame(() => runUntil(fn, conditionFn)); + } else { + fn(); + } +} + +;// ./src/config/config.ts + +function loadConfig(config) { + const thisConfig = this.config; + let target; + let keys; + let read; + const find = () => { + const key = keys.shift(); + if (key && target && isObjectType(target) && key in target) { + target = target[key]; + return find(); + } else if (!key) { + return target; + } + return void 0; + }; + Object.keys(thisConfig).forEach((key) => { + target = config; + keys = key.split("_"); + read = find(); + if (isDefined(read)) { + thisConfig[key] = read; + } + }); + if (this.api) { + this.state.orgConfig = config; + } +} + +;// ./src/Plugin/Plugin.ts +var Plugin_defProp = Object.defineProperty; +var Plugin_defNormalProp = (obj, key, value) => key in obj ? Plugin_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __publicField = (obj, key, value) => Plugin_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); +class Plugin { + /** + * Constructor + * @param {Any} options config option object + * @private + */ + constructor(options = {}) { + __publicField(this, "$$"); + __publicField(this, "options"); + this.options = options; + } + /** + * Lifecycle hook for 'beforeInit' phase. + * @private + */ + $beforeInit() { + } + /** + * Lifecycle hook for 'init' phase. + * @private + */ + $init() { + } + /** + * Lifecycle hook for 'afterInit' phase. + * @private + */ + $afterInit() { + } + /** + * Lifecycle hook for 'redraw' phase. + * @private + */ + $redraw() { + } + /** + * Lifecycle hook for 'willDestroy' phase. + * @private + */ + $willDestroy() { + Object.keys(this).forEach((key) => { + this[key] = null; + delete this[key]; + }); + } +} +__publicField(Plugin, "version", "3.14.2"); + +;// ./src/Plugin/textoverlap/Options.ts +class Options { + constructor() { + return { + /** + * Selector string for target text nodes within chart element. + * - **NOTE:** If no value is given, defaults to data label text elements. + * @name selector + * @memberof plugin-textoverlap + * @type {string} + * @default undefined + * @example + * // selector for data label text nodes + * selector: ".bb-texts text" + */ + selector: void 0, + /** + * Extent of label overlap prevention. + * @name extent + * @memberof plugin-textoverlap + * @type {number} + * @default 1 + * @example + * extent: 1 + */ + extent: 1, + /** + * Minimum area needed to show a data label. + * @name area + * @memberof plugin-textoverlap + * @type {number} + * @default 0 + * @example + * area: 0 + */ + area: 0 + }; + } +} + +;// ./src/Plugin/textoverlap/index.ts +var textoverlap_defProp = Object.defineProperty; +var textoverlap_defNormalProp = (obj, key, value) => key in obj ? textoverlap_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var textoverlap_publicField = (obj, key, value) => textoverlap_defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + + + + + +class TextOverlap extends Plugin { + constructor(options) { + super(options); + textoverlap_publicField(this, "config"); + this.config = new Options(); + return this; + } + $init() { + loadConfig.call(this, this.options); + } + $redraw() { + const { $$: { $el }, config: { selector } } = this; + const text = selector ? $el.main.selectAll(selector) : $el.text; + !text.empty() && this.preventLabelOverlap(text); + } + /** + * Generates the voronoi layout for data labels + * @param {Array} points Indices values + * @returns {object} Voronoi layout points and corresponding Data points + * @private + */ + generateVoronoi(points) { + const { $$ } = this; + const { scale } = $$; + const [min, max] = ["x", "y"].map((v) => scale[v].domain()); + [min[1], max[0]] = [max[0], min[1]]; + return Delaunay.from(points).voronoi([ + ...min, + ...max + ]); + } + /** + * Set text label's position to preventg overlap. + * @param {d3Selection} text target text selection + * @private + */ + preventLabelOverlap(text) { + const { extent, area } = this.config; + const points = text.data().map((v) => [v.index, v.value]); + const voronoi = this.generateVoronoi(points); + let i = 0; + text.each(function() { + const cell = voronoi.cellPolygon(i); + if (cell && this) { + const [x, y] = points[i]; + const [cx, cy] = centroid(cell); + const polygonArea = Math.abs(src_area(cell)); + const angle = Math.round(Math.atan2(cy - y, cx - x) / Math.PI * 2); + const xTranslate = extent * (angle === 0 ? 1 : -1); + const yTranslate = angle === -1 ? -extent : extent + 5; + const txtAnchor = Math.abs(angle) === 1 ? "middle" : angle === 0 ? "start" : "end"; + this.style.display = polygonArea < area ? "none" : ""; + this.setAttribute("text-anchor", txtAnchor); + this.setAttribute("dy", `0.${angle === 1 ? 71 : 35}em`); + this.setAttribute("transform", `translate(${xTranslate}, ${yTranslate})`); + } + i++; + }); + } +} + + +/***/ }) +/******/ ]); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module used 'module' so it can't be inlined +/******/ __webpack_require__(0); +/******/ var __webpack_exports__ = __webpack_require__(580); +/******/ __webpack_exports__ = __webpack_exports__["default"]; +/******/ +/******/ return __webpack_exports__; +/******/ })() +; +}); \ No newline at end of file diff --git a/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-textoverlap.pkgd.min.js b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-textoverlap.pkgd.min.js new file mode 100644 index 000000000..dbdf821c3 --- /dev/null +++ b/release/3.14.2/dist/plugin/pkgd/billboardjs-plugin-textoverlap.pkgd.min.js @@ -0,0 +1,16 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + * @requires billboard.js + * @summary billboard.js plugin + */(function(On,fn){typeof exports=="object"&&typeof module=="object"?module.exports=fn():typeof define=="function"&&define.amd?define("bb",[],fn):typeof exports=="object"?exports.bb=fn():(On.bb=On.bb||{},On.bb.plugin=On.bb.plugin||{},On.bb.plugin["textoverlap.pkgd"]=fn())})(this,function(){return function(){"use strict";var ia={65908:function(l,p,t){t.d(p,{default:function(){return Kl}});const r=11102230246251565e-32,e=134217729,o=(3+8*r)*r;function s(n,a,i,d,g){let S,x,A,P,R=a[0],C=d[0],j=0,U=0;C>R==C>-R?(S=R,R=a[++j]):(S=C,C=d[++U]);let L=0;if(j<n&&U<i)for(C>R==C>-R?(x=R+S,A=S-(x-R),R=a[++j]):(x=C+S,A=S-(x-C),C=d[++U]),S=x,A!==0&&(g[L++]=A);j<n&&U<i;)C>R==C>-R?(x=S+R,P=x-S,A=S-(x-P)+(R-P),R=a[++j]):(x=S+C,P=x-S,A=S-(x-P)+(C-P),C=d[++U]),S=x,A!==0&&(g[L++]=A);for(;j<n;)x=S+R,P=x-S,A=S-(x-P)+(R-P),R=a[++j],S=x,A!==0&&(g[L++]=A);for(;U<i;)x=S+C,P=x-S,A=S-(x-P)+(C-P),C=d[++U],S=x,A!==0&&(g[L++]=A);return(S!==0||L===0)&&(g[L++]=S),L}function u(n,a,i,d,g,S,x,A){return s(s(n,a,i,d,x),x,g,S,A)}function f(n,a,i,d){let g,S,x,A,P,R,C,j,U,L,Z;C=e*i,L=C-(C-i),Z=i-L;let b=a[0];g=b*i,C=e*b,j=C-(C-b),U=b-j,x=U*Z-(g-j*L-U*L-j*Z);let G=0;x!==0&&(d[G++]=x);for(let W=1;W<n;W++)b=a[W],A=b*i,C=e*b,j=C-(C-b),U=b-j,P=U*Z-(A-j*L-U*L-j*Z),S=g+P,R=S-g,x=g-(S-R)+(P-R),x!==0&&(d[G++]=x),g=A+S,x=S-(g-A),x!==0&&(d[G++]=x);return(g!==0||G===0)&&(d[G++]=g),G}function c(n,a){for(let i=0;i<n;i++)a[i]=-a[i];return n}function h(n,a){let i=a[0];for(let d=1;d<n;d++)i+=a[d];return i}function v(n){return new Float64Array(n)}const y=(3+16*r)*r,m=(2+12*r)*r,E=(9+64*r)*r*r,I=v(4),O=v(8),T=v(12),N=v(16),M=v(4);function F(n,a,i,d,g,S,x){let A,P,R,C,j,U,L,Z,b,G,W,Q,J,ut,rt,xt,it,vt;const ft=n-g,St=i-g,Rt=a-S,Mt=d-S;ut=ft*Mt,U=e*ft,L=U-(U-ft),Z=ft-L,U=e*Mt,b=U-(U-Mt),G=Mt-b,rt=Z*G-(ut-L*b-Z*b-L*G),xt=Rt*St,U=e*Rt,L=U-(U-Rt),Z=Rt-L,U=e*St,b=U-(U-St),G=St-b,it=Z*G-(xt-L*b-Z*b-L*G),W=rt-it,j=rt-W,I[0]=rt-(W+j)+(j-it),Q=ut+W,j=Q-ut,J=ut-(Q-j)+(W-j),W=J-xt,j=J-W,I[1]=J-(W+j)+(j-xt),vt=Q+W,j=vt-Q,I[2]=Q-(vt-j)+(W-j),I[3]=vt;let Vt=h(4,I),V=m*x;if(Vt>=V||-Vt>=V||(j=n-ft,A=n-(ft+j)+(j-g),j=i-St,R=i-(St+j)+(j-g),j=a-Rt,P=a-(Rt+j)+(j-S),j=d-Mt,C=d-(Mt+j)+(j-S),A===0&&P===0&&R===0&&C===0)||(V=E*x+o*Math.abs(Vt),Vt+=ft*C+Mt*A-(Rt*R+St*P),Vt>=V||-Vt>=V))return Vt;ut=A*Mt,U=e*A,L=U-(U-A),Z=A-L,U=e*Mt,b=U-(U-Mt),G=Mt-b,rt=Z*G-(ut-L*b-Z*b-L*G),xt=P*St,U=e*P,L=U-(U-P),Z=P-L,U=e*St,b=U-(U-St),G=St-b,it=Z*G-(xt-L*b-Z*b-L*G),W=rt-it,j=rt-W,M[0]=rt-(W+j)+(j-it),Q=ut+W,j=Q-ut,J=ut-(Q-j)+(W-j),W=J-xt,j=J-W,M[1]=J-(W+j)+(j-xt),vt=Q+W,j=vt-Q,M[2]=Q-(vt-j)+(W-j),M[3]=vt;const _=s(4,I,4,M,O);ut=ft*C,U=e*ft,L=U-(U-ft),Z=ft-L,U=e*C,b=U-(U-C),G=C-b,rt=Z*G-(ut-L*b-Z*b-L*G),xt=Rt*R,U=e*Rt,L=U-(U-Rt),Z=Rt-L,U=e*R,b=U-(U-R),G=R-b,it=Z*G-(xt-L*b-Z*b-L*G),W=rt-it,j=rt-W,M[0]=rt-(W+j)+(j-it),Q=ut+W,j=Q-ut,J=ut-(Q-j)+(W-j),W=J-xt,j=J-W,M[1]=J-(W+j)+(j-xt),vt=Q+W,j=vt-Q,M[2]=Q-(vt-j)+(W-j),M[3]=vt;const q=s(_,O,4,M,T);ut=A*C,U=e*A,L=U-(U-A),Z=A-L,U=e*C,b=U-(U-C),G=C-b,rt=Z*G-(ut-L*b-Z*b-L*G),xt=P*R,U=e*P,L=U-(U-P),Z=P-L,U=e*R,b=U-(U-R),G=R-b,it=Z*G-(xt-L*b-Z*b-L*G),W=rt-it,j=rt-W,M[0]=rt-(W+j)+(j-it),Q=ut+W,j=Q-ut,J=ut-(Q-j)+(W-j),W=J-xt,j=J-W,M[1]=J-(W+j)+(j-xt),vt=Q+W,j=vt-Q,M[2]=Q-(vt-j)+(W-j),M[3]=vt;const dt=s(q,T,4,M,N);return N[dt-1]}function D(n,a,i,d,g,S){const x=(a-S)*(i-g),A=(n-g)*(d-S),P=x-A,R=Math.abs(x+A);return Math.abs(P)>=y*R?P:-F(n,a,i,d,g,S,R)}function w(n,a,i,d,g,S){return(a-S)*(i-g)-(n-g)*(d-S)}const $=(7+56*r)*r,B=(3+28*r)*r,H=(26+288*r)*r*r,X=v(4),Y=v(4),k=v(4),ot=v(4),st=v(4),tt=v(4),et=v(4),at=v(4),gt=v(4),Pt=v(8),Ot=v(8),Nt=v(8),It=v(4),qt=v(8),Qt=v(8),Jt=v(8),er=v(12);let ir=v(192),Ar=v(192);function xr(n,a,i){n=sum(n,ir,a,i,Ar);const d=ir;return ir=Ar,Ar=d,n}function Er(n,a,i,d,g,S,x,A){let P,R,C,j,U,L,Z,b,G,W,Q,J,ut,rt,xt,it;return n===0?a===0?(x[0]=0,A[0]=0,1):(it=-a,Q=it*i,R=splitter*it,C=R-(R-it),j=it-C,R=splitter*i,U=R-(R-i),L=i-U,x[0]=j*L-(Q-C*U-j*U-C*L),x[1]=Q,Q=a*g,R=splitter*a,C=R-(R-a),j=a-C,R=splitter*g,U=R-(R-g),L=g-U,A[0]=j*L-(Q-C*U-j*U-C*L),A[1]=Q,2):a===0?(Q=n*d,R=splitter*n,C=R-(R-n),j=n-C,R=splitter*d,U=R-(R-d),L=d-U,x[0]=j*L-(Q-C*U-j*U-C*L),x[1]=Q,it=-n,Q=it*S,R=splitter*it,C=R-(R-it),j=it-C,R=splitter*S,U=R-(R-S),L=S-U,A[0]=j*L-(Q-C*U-j*U-C*L),A[1]=Q,2):(Q=n*d,R=splitter*n,C=R-(R-n),j=n-C,R=splitter*d,U=R-(R-d),L=d-U,J=j*L-(Q-C*U-j*U-C*L),ut=a*i,R=splitter*a,C=R-(R-a),j=a-C,R=splitter*i,U=R-(R-i),L=i-U,rt=j*L-(ut-C*U-j*U-C*L),Z=J-rt,P=J-Z,x[0]=J-(Z+P)+(P-rt),b=Q+Z,P=b-Q,W=Q-(b-P)+(Z-P),Z=W-ut,P=W-Z,x[1]=W-(Z+P)+(P-ut),xt=b+Z,P=xt-b,x[2]=b-(xt-P)+(Z-P),x[3]=xt,Q=a*g,R=splitter*a,C=R-(R-a),j=a-C,R=splitter*g,U=R-(R-g),L=g-U,J=j*L-(Q-C*U-j*U-C*L),ut=n*S,R=splitter*n,C=R-(R-n),j=n-C,R=splitter*S,U=R-(R-S),L=S-U,rt=j*L-(ut-C*U-j*U-C*L),Z=J-rt,P=J-Z,A[0]=J-(Z+P)+(P-rt),b=Q+Z,P=b-Q,W=Q-(b-P)+(Z-P),Z=W-ut,P=W-Z,A[1]=W-(Z+P)+(P-ut),xt=b+Z,P=xt-b,A[2]=b-(xt-P)+(Z-P),A[3]=xt,4)}function Yt(n,a,i,d,g){let S,x,A,P,R,C,j,U,L,Z,b,G,W;return b=a*i,x=splitter*a,A=x-(x-a),P=a-A,x=splitter*i,R=x-(x-i),C=i-R,G=P*C-(b-A*R-P*R-A*C),x=splitter*d,R=x-(x-d),C=d-R,j=G*d,x=splitter*G,A=x-(x-G),P=G-A,It[0]=P*C-(j-A*R-P*R-A*C),U=b*d,x=splitter*b,A=x-(x-b),P=b-A,Z=P*C-(U-A*R-P*R-A*C),L=j+Z,S=L-j,It[1]=j-(L-S)+(Z-S),W=U+L,It[2]=L-(W-U),It[3]=W,n=xr(n,4,It),g!==0&&(x=splitter*g,R=x-(x-g),C=g-R,j=G*g,x=splitter*G,A=x-(x-G),P=G-A,It[0]=P*C-(j-A*R-P*R-A*C),U=b*g,x=splitter*b,A=x-(x-b),P=b-A,Z=P*C-(U-A*R-P*R-A*C),L=j+Z,S=L-j,It[1]=j-(L-S)+(Z-S),W=U+L,It[2]=L-(W-U),It[3]=W,n=xr(n,4,It)),n}function tr(n,a,i,d,g,S,x,A,P,R,C,j,U){let L,Z,b,G,W,Q,J,ut,rt,xt,it,vt,ft,St,Rt,Mt,Vt,V,_,q,dt,K,nt,z,ct;const pt=n-R,Tt=d-R,Et=x-R,Lt=a-C,Zt=g-C,Dt=A-C,nr=i-j,or=S-j,sr=P-j;dt=Tt*Dt,vt=splitter*Tt,ft=vt-(vt-Tt),St=Tt-ft,vt=splitter*Dt,Rt=vt-(vt-Dt),Mt=Dt-Rt,K=St*Mt-(dt-ft*Rt-St*Rt-ft*Mt),nt=Et*Zt,vt=splitter*Et,ft=vt-(vt-Et),St=Et-ft,vt=splitter*Zt,Rt=vt-(vt-Zt),Mt=Zt-Rt,z=St*Mt-(nt-ft*Rt-St*Rt-ft*Mt),Vt=K-z,it=K-Vt,X[0]=K-(Vt+it)+(it-z),V=dt+Vt,it=V-dt,q=dt-(V-it)+(Vt-it),Vt=q-nt,it=q-Vt,X[1]=q-(Vt+it)+(it-nt),ct=V+Vt,it=ct-V,X[2]=V-(ct-it)+(Vt-it),X[3]=ct,dt=Et*Lt,vt=splitter*Et,ft=vt-(vt-Et),St=Et-ft,vt=splitter*Lt,Rt=vt-(vt-Lt),Mt=Lt-Rt,K=St*Mt-(dt-ft*Rt-St*Rt-ft*Mt),nt=pt*Dt,vt=splitter*pt,ft=vt-(vt-pt),St=pt-ft,vt=splitter*Dt,Rt=vt-(vt-Dt),Mt=Dt-Rt,z=St*Mt-(nt-ft*Rt-St*Rt-ft*Mt),Vt=K-z,it=K-Vt,Y[0]=K-(Vt+it)+(it-z),V=dt+Vt,it=V-dt,q=dt-(V-it)+(Vt-it),Vt=q-nt,it=q-Vt,Y[1]=q-(Vt+it)+(it-nt),ct=V+Vt,it=ct-V,Y[2]=V-(ct-it)+(Vt-it),Y[3]=ct,dt=pt*Zt,vt=splitter*pt,ft=vt-(vt-pt),St=pt-ft,vt=splitter*Zt,Rt=vt-(vt-Zt),Mt=Zt-Rt,K=St*Mt-(dt-ft*Rt-St*Rt-ft*Mt),nt=Tt*Lt,vt=splitter*Tt,ft=vt-(vt-Tt),St=Tt-ft,vt=splitter*Lt,Rt=vt-(vt-Lt),Mt=Lt-Rt,z=St*Mt-(nt-ft*Rt-St*Rt-ft*Mt),Vt=K-z,it=K-Vt,k[0]=K-(Vt+it)+(it-z),V=dt+Vt,it=V-dt,q=dt-(V-it)+(Vt-it),Vt=q-nt,it=q-Vt,k[1]=q-(Vt+it)+(it-nt),ct=V+Vt,it=ct-V,k[2]=V-(ct-it)+(Vt-it),k[3]=ct,L=sum(sum(scale(4,X,nr,qt),qt,scale(4,Y,or,Qt),Qt,Jt),Jt,scale(4,k,sr,qt),qt,ir);let ur=estimate(L,ir),lr=B*U;if(ur>=lr||-ur>=lr||(it=n-pt,Z=n-(pt+it)+(it-R),it=d-Tt,b=d-(Tt+it)+(it-R),it=x-Et,G=x-(Et+it)+(it-R),it=a-Lt,W=a-(Lt+it)+(it-C),it=g-Zt,Q=g-(Zt+it)+(it-C),it=A-Dt,J=A-(Dt+it)+(it-C),it=i-nr,ut=i-(nr+it)+(it-j),it=S-or,rt=S-(or+it)+(it-j),it=P-sr,xt=P-(sr+it)+(it-j),Z===0&&b===0&&G===0&&W===0&&Q===0&&J===0&&ut===0&&rt===0&&xt===0)||(lr=H*U+resulterrbound*Math.abs(ur),ur+=nr*(Tt*J+Dt*b-(Zt*G+Et*Q))+ut*(Tt*Dt-Zt*Et)+or*(Et*W+Lt*G-(Dt*Z+pt*J))+rt*(Et*Lt-Dt*pt)+sr*(pt*Q+Zt*Z-(Lt*b+Tt*W))+xt*(pt*Zt-Lt*Tt),ur>=lr||-ur>=lr))return ur;const fr=Er(Z,W,Tt,Zt,Et,Dt,ot,st),$r=Er(b,Q,Et,Dt,pt,Lt,tt,et),br=Er(G,J,pt,Lt,Tt,Zt,at,gt),Nr=sum($r,tt,br,gt,Pt);L=xr(L,scale(Nr,Pt,nr,Jt),Jt);const _t=sum(br,at,fr,st,Ot);L=xr(L,scale(_t,Ot,or,Jt),Jt);const Dr=sum(fr,ot,$r,et,Nt);return L=xr(L,scale(Dr,Nt,sr,Jt),Jt),ut!==0&&(L=xr(L,scale(4,X,ut,er),er),L=xr(L,scale(Nr,Pt,ut,Jt),Jt)),rt!==0&&(L=xr(L,scale(4,Y,rt,er),er),L=xr(L,scale(_t,Ot,rt,Jt),Jt)),xt!==0&&(L=xr(L,scale(4,k,xt,er),er),L=xr(L,scale(Dr,Nt,xt,Jt),Jt)),Z!==0&&(Q!==0&&(L=Yt(L,Z,Q,sr,xt)),J!==0&&(L=Yt(L,-Z,J,or,rt))),b!==0&&(J!==0&&(L=Yt(L,b,J,nr,ut)),W!==0&&(L=Yt(L,-b,W,sr,xt))),G!==0&&(W!==0&&(L=Yt(L,G,W,or,rt)),Q!==0&&(L=Yt(L,-G,Q,nr,ut))),ir[L-1]}function Sr(n,a,i,d,g,S,x,A,P,R,C,j){const U=n-R,L=d-R,Z=x-R,b=a-C,G=g-C,W=A-C,Q=i-j,J=S-j,ut=P-j,rt=L*W,xt=Z*G,it=Z*b,vt=U*W,ft=U*G,St=L*b,Rt=Q*(rt-xt)+J*(it-vt)+ut*(ft-St),Mt=(Math.abs(rt)+Math.abs(xt))*Math.abs(Q)+(Math.abs(it)+Math.abs(vt))*Math.abs(J)+(Math.abs(ft)+Math.abs(St))*Math.abs(ut),Vt=$*Mt;return Rt>Vt||-Rt>Vt?Rt:tr(n,a,i,d,g,S,x,A,P,R,C,j,Mt)}function Ir(n,a,i,d,g,S,x,A,P,R,C,j){const U=n-R,L=d-R,Z=x-R,b=a-C,G=g-C,W=A-C,Q=i-j,J=S-j,ut=P-j;return U*(G*ut-J*W)+L*(W*Q-ut*b)+Z*(b*J-Q*G)}const pr=(10+96*r)*r,Or=(4+48*r)*r,Ur=(44+576*r)*r*r,Lr=v(4),Pr=v(4),mr=v(4),Mr=v(4),Tr=v(4),yr=v(4),bt=v(4),Ht=v(4),Ft=v(8),cr=v(8),vr=v(8),ar=v(8),rr=v(8),jr=v(8),wr=v(8),yt=v(8),jt=v(8),Gt=v(4),Bt=v(4),zt=v(4),lt=v(8),Ut=v(16),gr=v(16),Ct=v(16),$t=v(32),kt=v(32),Wt=v(48),dr=v(64);let Fr=v(1152),Br=v(1152);function Rr(n,a,i){n=sum(n,Fr,a,i,Br);const d=Fr;return Fr=Br,Br=d,n}function Qr(n,a,i,d,g,S,x,A,P){let R,C,j,U,L,Z,b,G,W,Q,J,ut,rt,xt,it,vt,ft,St,Rt,Mt,Vt,V,_,q,dt,K,nt,z,ct,pt,Tt,Et,Lt,Zt,Dt;const nr=n-x,or=i-x,sr=g-x,ur=a-A,lr=d-A,fr=S-A;Tt=or*fr,_=splitter*or,q=_-(_-or),dt=or-q,_=splitter*fr,K=_-(_-fr),nt=fr-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=sr*lr,_=splitter*sr,q=_-(_-sr),dt=sr-q,_=splitter*lr,K=_-(_-lr),nt=lr-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et-Zt,V=Et-z,Lr[0]=Et-(z+V)+(V-Zt),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt-Lt,V=pt-z,Lr[1]=pt-(z+V)+(V-Lt),Dt=ct+z,V=Dt-ct,Lr[2]=ct-(Dt-V)+(z-V),Lr[3]=Dt,Tt=sr*ur,_=splitter*sr,q=_-(_-sr),dt=sr-q,_=splitter*ur,K=_-(_-ur),nt=ur-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=nr*fr,_=splitter*nr,q=_-(_-nr),dt=nr-q,_=splitter*fr,K=_-(_-fr),nt=fr-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et-Zt,V=Et-z,Pr[0]=Et-(z+V)+(V-Zt),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt-Lt,V=pt-z,Pr[1]=pt-(z+V)+(V-Lt),Dt=ct+z,V=Dt-ct,Pr[2]=ct-(Dt-V)+(z-V),Pr[3]=Dt,Tt=nr*lr,_=splitter*nr,q=_-(_-nr),dt=nr-q,_=splitter*lr,K=_-(_-lr),nt=lr-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=or*ur,_=splitter*or,q=_-(_-or),dt=or-q,_=splitter*ur,K=_-(_-ur),nt=ur-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et-Zt,V=Et-z,mr[0]=Et-(z+V)+(V-Zt),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt-Lt,V=pt-z,mr[1]=pt-(z+V)+(V-Lt),Dt=ct+z,V=Dt-ct,mr[2]=ct-(Dt-V)+(z-V),mr[3]=Dt,R=sum(sum(sum(scale(scale(4,Lr,nr,lt),lt,nr,Ut),Ut,scale(scale(4,Lr,ur,lt),lt,ur,gr),gr,$t),$t,sum(scale(scale(4,Pr,or,lt),lt,or,Ut),Ut,scale(scale(4,Pr,lr,lt),lt,lr,gr),gr,kt),kt,dr),dr,sum(scale(scale(4,mr,sr,lt),lt,sr,Ut),Ut,scale(scale(4,mr,fr,lt),lt,fr,gr),gr,$t),$t,Fr);let $r=estimate(R,Fr),br=Or*P;if($r>=br||-$r>=br||(V=n-nr,C=n-(nr+V)+(V-x),V=a-ur,L=a-(ur+V)+(V-A),V=i-or,j=i-(or+V)+(V-x),V=d-lr,Z=d-(lr+V)+(V-A),V=g-sr,U=g-(sr+V)+(V-x),V=S-fr,b=S-(fr+V)+(V-A),C===0&&j===0&&U===0&&L===0&&Z===0&&b===0)||(br=Ur*P+resulterrbound*Math.abs($r),$r+=(nr*nr+ur*ur)*(or*b+fr*j-(lr*U+sr*Z))+2*(nr*C+ur*L)*(or*fr-lr*sr)+((or*or+lr*lr)*(sr*L+ur*U-(fr*C+nr*b))+2*(or*j+lr*Z)*(sr*ur-fr*nr))+((sr*sr+fr*fr)*(nr*Z+lr*C-(ur*j+or*L))+2*(sr*U+fr*b)*(nr*lr-ur*or)),$r>=br||-$r>=br))return $r;if((j!==0||Z!==0||U!==0||b!==0)&&(Tt=nr*nr,_=splitter*nr,q=_-(_-nr),dt=nr-q,Et=dt*dt-(Tt-q*q-(q+q)*dt),Lt=ur*ur,_=splitter*ur,q=_-(_-ur),dt=ur-q,Zt=dt*dt-(Lt-q*q-(q+q)*dt),z=Et+Zt,V=z-Et,Mr[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,Mr[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,Mr[2]=ct-(Dt-V)+(z-V),Mr[3]=Dt),(U!==0||b!==0||C!==0||L!==0)&&(Tt=or*or,_=splitter*or,q=_-(_-or),dt=or-q,Et=dt*dt-(Tt-q*q-(q+q)*dt),Lt=lr*lr,_=splitter*lr,q=_-(_-lr),dt=lr-q,Zt=dt*dt-(Lt-q*q-(q+q)*dt),z=Et+Zt,V=z-Et,Tr[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,Tr[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,Tr[2]=ct-(Dt-V)+(z-V),Tr[3]=Dt),(C!==0||L!==0||j!==0||Z!==0)&&(Tt=sr*sr,_=splitter*sr,q=_-(_-sr),dt=sr-q,Et=dt*dt-(Tt-q*q-(q+q)*dt),Lt=fr*fr,_=splitter*fr,q=_-(_-fr),dt=fr-q,Zt=dt*dt-(Lt-q*q-(q+q)*dt),z=Et+Zt,V=z-Et,yr[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,yr[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,yr[2]=ct-(Dt-V)+(z-V),yr[3]=Dt),C!==0&&(G=scale(4,Lr,C,Ft),R=Rr(R,sum_three(scale(G,Ft,2*nr,Ut),Ut,scale(scale(4,yr,C,lt),lt,lr,gr),gr,scale(scale(4,Tr,C,lt),lt,-fr,Ct),Ct,$t,Wt),Wt)),L!==0&&(W=scale(4,Lr,L,cr),R=Rr(R,sum_three(scale(W,cr,2*ur,Ut),Ut,scale(scale(4,Tr,L,lt),lt,sr,gr),gr,scale(scale(4,yr,L,lt),lt,-or,Ct),Ct,$t,Wt),Wt)),j!==0&&(Q=scale(4,Pr,j,vr),R=Rr(R,sum_three(scale(Q,vr,2*or,Ut),Ut,scale(scale(4,Mr,j,lt),lt,fr,gr),gr,scale(scale(4,yr,j,lt),lt,-ur,Ct),Ct,$t,Wt),Wt)),Z!==0&&(J=scale(4,Pr,Z,ar),R=Rr(R,sum_three(scale(J,ar,2*lr,Ut),Ut,scale(scale(4,yr,Z,lt),lt,nr,gr),gr,scale(scale(4,Mr,Z,lt),lt,-sr,Ct),Ct,$t,Wt),Wt)),U!==0&&(ut=scale(4,mr,U,rr),R=Rr(R,sum_three(scale(ut,rr,2*sr,Ut),Ut,scale(scale(4,Tr,U,lt),lt,ur,gr),gr,scale(scale(4,Mr,U,lt),lt,-lr,Ct),Ct,$t,Wt),Wt)),b!==0&&(rt=scale(4,mr,b,jr),R=Rr(R,sum_three(scale(rt,jr,2*fr,Ut),Ut,scale(scale(4,Mr,b,lt),lt,or,gr),gr,scale(scale(4,Tr,b,lt),lt,-nr,Ct),Ct,$t,Wt),Wt)),C!==0||L!==0){if(j!==0||Z!==0||U!==0||b!==0?(Tt=j*fr,_=splitter*j,q=_-(_-j),dt=j-q,_=splitter*fr,K=_-(_-fr),nt=fr-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=or*b,_=splitter*or,q=_-(_-or),dt=or-q,_=splitter*b,K=_-(_-b),nt=b-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et+Zt,V=z-Et,bt[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,bt[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,bt[2]=ct-(Dt-V)+(z-V),bt[3]=Dt,Tt=U*-lr,_=splitter*U,q=_-(_-U),dt=U-q,_=splitter*-lr,K=_-(_- -lr),nt=-lr-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=sr*-Z,_=splitter*sr,q=_-(_-sr),dt=sr-q,_=splitter*-Z,K=_-(_- -Z),nt=-Z-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et+Zt,V=z-Et,Ht[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,Ht[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,Ht[2]=ct-(Dt-V)+(z-V),Ht[3]=Dt,it=sum(4,bt,4,Ht,yt),Tt=j*b,_=splitter*j,q=_-(_-j),dt=j-q,_=splitter*b,K=_-(_-b),nt=b-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=U*Z,_=splitter*U,q=_-(_-U),dt=U-q,_=splitter*Z,K=_-(_-Z),nt=Z-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et-Zt,V=Et-z,Bt[0]=Et-(z+V)+(V-Zt),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt-Lt,V=pt-z,Bt[1]=pt-(z+V)+(V-Lt),Dt=ct+z,V=Dt-ct,Bt[2]=ct-(Dt-V)+(z-V),Bt[3]=Dt,St=4):(yt[0]=0,it=1,Bt[0]=0,St=1),C!==0){const Nr=scale(it,yt,C,Ct);R=Rr(R,sum(scale(G,Ft,C,Ut),Ut,scale(Nr,Ct,2*nr,$t),$t,Wt),Wt);const _t=scale(St,Bt,C,lt);R=Rr(R,sum_three(scale(_t,lt,2*nr,Ut),Ut,scale(_t,lt,C,gr),gr,scale(Nr,Ct,C,$t),$t,kt,dr),dr),Z!==0&&(R=Rr(R,scale(scale(4,yr,C,lt),lt,Z,Ut),Ut)),b!==0&&(R=Rr(R,scale(scale(4,Tr,-C,lt),lt,b,Ut),Ut))}if(L!==0){const Nr=scale(it,yt,L,Ct);R=Rr(R,sum(scale(W,cr,L,Ut),Ut,scale(Nr,Ct,2*ur,$t),$t,Wt),Wt);const _t=scale(St,Bt,L,lt);R=Rr(R,sum_three(scale(_t,lt,2*ur,Ut),Ut,scale(_t,lt,L,gr),gr,scale(Nr,Ct,L,$t),$t,kt,dr),dr)}}if(j!==0||Z!==0){if(U!==0||b!==0||C!==0||L!==0?(Tt=U*ur,_=splitter*U,q=_-(_-U),dt=U-q,_=splitter*ur,K=_-(_-ur),nt=ur-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=sr*L,_=splitter*sr,q=_-(_-sr),dt=sr-q,_=splitter*L,K=_-(_-L),nt=L-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et+Zt,V=z-Et,bt[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,bt[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,bt[2]=ct-(Dt-V)+(z-V),bt[3]=Dt,Mt=-fr,Vt=-b,Tt=C*Mt,_=splitter*C,q=_-(_-C),dt=C-q,_=splitter*Mt,K=_-(_-Mt),nt=Mt-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=nr*Vt,_=splitter*nr,q=_-(_-nr),dt=nr-q,_=splitter*Vt,K=_-(_-Vt),nt=Vt-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et+Zt,V=z-Et,Ht[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,Ht[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,Ht[2]=ct-(Dt-V)+(z-V),Ht[3]=Dt,vt=sum(4,bt,4,Ht,jt),Tt=U*L,_=splitter*U,q=_-(_-U),dt=U-q,_=splitter*L,K=_-(_-L),nt=L-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=C*b,_=splitter*C,q=_-(_-C),dt=C-q,_=splitter*b,K=_-(_-b),nt=b-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et-Zt,V=Et-z,zt[0]=Et-(z+V)+(V-Zt),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt-Lt,V=pt-z,zt[1]=pt-(z+V)+(V-Lt),Dt=ct+z,V=Dt-ct,zt[2]=ct-(Dt-V)+(z-V),zt[3]=Dt,Rt=4):(jt[0]=0,vt=1,zt[0]=0,Rt=1),j!==0){const Nr=scale(vt,jt,j,Ct);R=Rr(R,sum(scale(Q,vr,j,Ut),Ut,scale(Nr,Ct,2*or,$t),$t,Wt),Wt);const _t=scale(Rt,zt,j,lt);R=Rr(R,sum_three(scale(_t,lt,2*or,Ut),Ut,scale(_t,lt,j,gr),gr,scale(Nr,Ct,j,$t),$t,kt,dr),dr),b!==0&&(R=Rr(R,scale(scale(4,Mr,j,lt),lt,b,Ut),Ut)),L!==0&&(R=Rr(R,scale(scale(4,yr,-j,lt),lt,L,Ut),Ut))}if(Z!==0){const Nr=scale(vt,jt,Z,Ct);R=Rr(R,sum(scale(J,ar,Z,Ut),Ut,scale(Nr,Ct,2*lr,$t),$t,Wt),Wt);const _t=scale(Rt,zt,Z,lt);R=Rr(R,sum_three(scale(_t,lt,2*lr,Ut),Ut,scale(_t,lt,Z,gr),gr,scale(Nr,Ct,Z,$t),$t,kt,dr),dr)}}if(U!==0||b!==0){if(C!==0||L!==0||j!==0||Z!==0?(Tt=C*lr,_=splitter*C,q=_-(_-C),dt=C-q,_=splitter*lr,K=_-(_-lr),nt=lr-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=nr*Z,_=splitter*nr,q=_-(_-nr),dt=nr-q,_=splitter*Z,K=_-(_-Z),nt=Z-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et+Zt,V=z-Et,bt[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,bt[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,bt[2]=ct-(Dt-V)+(z-V),bt[3]=Dt,Mt=-ur,Vt=-L,Tt=j*Mt,_=splitter*j,q=_-(_-j),dt=j-q,_=splitter*Mt,K=_-(_-Mt),nt=Mt-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=or*Vt,_=splitter*or,q=_-(_-or),dt=or-q,_=splitter*Vt,K=_-(_-Vt),nt=Vt-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et+Zt,V=z-Et,Ht[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,Ht[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,Ht[2]=ct-(Dt-V)+(z-V),Ht[3]=Dt,xt=sum(4,bt,4,Ht,wr),Tt=C*Z,_=splitter*C,q=_-(_-C),dt=C-q,_=splitter*Z,K=_-(_-Z),nt=Z-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=j*L,_=splitter*j,q=_-(_-j),dt=j-q,_=splitter*L,K=_-(_-L),nt=L-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et-Zt,V=Et-z,Gt[0]=Et-(z+V)+(V-Zt),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt-Lt,V=pt-z,Gt[1]=pt-(z+V)+(V-Lt),Dt=ct+z,V=Dt-ct,Gt[2]=ct-(Dt-V)+(z-V),Gt[3]=Dt,ft=4):(wr[0]=0,xt=1,Gt[0]=0,ft=1),U!==0){const Nr=scale(xt,wr,U,Ct);R=Rr(R,sum(scale(ut,rr,U,Ut),Ut,scale(Nr,Ct,2*sr,$t),$t,Wt),Wt);const _t=scale(ft,Gt,U,lt);R=Rr(R,sum_three(scale(_t,lt,2*sr,Ut),Ut,scale(_t,lt,U,gr),gr,scale(Nr,Ct,U,$t),$t,kt,dr),dr),L!==0&&(R=Rr(R,scale(scale(4,Tr,U,lt),lt,L,Ut),Ut)),Z!==0&&(R=Rr(R,scale(scale(4,Mr,-U,lt),lt,Z,Ut),Ut))}if(b!==0){const Nr=scale(xt,wr,b,Ct);R=Rr(R,sum(scale(rt,jr,b,Ut),Ut,scale(Nr,Ct,2*fr,$t),$t,Wt),Wt);const _t=scale(ft,Gt,b,lt);R=Rr(R,sum_three(scale(_t,lt,2*fr,Ut),Ut,scale(_t,lt,b,gr),gr,scale(Nr,Ct,b,$t),$t,kt,dr),dr)}}return Fr[R-1]}function tn(n,a,i,d,g,S,x,A){const P=n-x,R=i-x,C=g-x,j=a-A,U=d-A,L=S-A,Z=R*L,b=C*U,G=P*P+j*j,W=C*j,Q=P*L,J=R*R+U*U,ut=P*U,rt=R*j,xt=C*C+L*L,it=G*(Z-b)+J*(W-Q)+xt*(ut-rt),vt=(Math.abs(Z)+Math.abs(b))*G+(Math.abs(W)+Math.abs(Q))*J+(Math.abs(ut)+Math.abs(rt))*xt,ft=pr*vt;return it>ft||-it>ft?it:Qr(n,a,i,d,g,S,x,A,vt)}function dn(n,a,i,d,g,S,x,A){const P=n-x,R=a-A,C=i-x,j=d-A,U=g-x,L=S-A,Z=P*j-C*R,b=C*L-U*j,G=U*R-P*L,W=P*P+R*R,Q=C*C+j*j,J=U*U+L*L;return W*b+Q*G+J*Z}const Kn=(16+224*r)*r,oe=(5+72*r)*r,Yn=(71+1408*r)*r*r,Zr=v(4),Wr=v(4),an=v(4),un=v(4),rn=v(4),nn=v(4),kr=v(4),Yr=v(4),Vr=v(4),mn=v(4),$n=v(24),mt=v(24),Xt=v(24),At=v(24),ht=v(24),wt=v(24),Cr=v(24),hr=v(24),Hr=v(24),zr=v(24),Xr=v(1152),en=v(1152),Kt=v(1152),Jr=v(1152),cn=v(1152),Cn=v(2304),bn=v(2304),zn=v(3456),Un=v(5760),ua=v(8),la=v(8),fa=v(8),No=v(16),se=v(24),An=v(48),$e=v(48),ie=v(96),Nn=v(192),ca=v(384),va=v(384),da=v(384),Mo=v(768);function hn(n,a,i,d,g,S,x){return sum_three(scale(4,n,d,ua),ua,scale(4,a,g,la),la,scale(4,i,S,fa),fa,No,x)}function Xn(n,a,i,d,g,S,x,A,P,R,C,j){const U=sum(sum(n,a,i,d,An),An,negate(sum(g,S,x,A,$e),$e),$e,ie);return sum_three(scale(scale(U,ie,P,Nn),Nn,P,ca),ca,scale(scale(U,ie,R,Nn),Nn,R,va),va,scale(scale(U,ie,C,Nn),Nn,C,da),da,Mo,j)}function Do(n,a,i,d,g,S,x,A,P,R,C,j,U,L,Z){let b,G,W,Q,J,ut,rt,xt,it,vt,ft,St,Rt,Mt;vt=n*g,G=splitter*n,W=G-(G-n),Q=n-W,G=splitter*g,J=G-(G-g),ut=g-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=d*a,G=splitter*d,W=G-(G-d),Q=d-W,G=splitter*a,J=G-(G-a),ut=a-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,Zr[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,Zr[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,Zr[2]=xt-(Mt-b)+(rt-b),Zr[3]=Mt,vt=d*A,G=splitter*d,W=G-(G-d),Q=d-W,G=splitter*A,J=G-(G-A),ut=A-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=x*g,G=splitter*x,W=G-(G-x),Q=x-W,G=splitter*g,J=G-(G-g),ut=g-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,Wr[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,Wr[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,Wr[2]=xt-(Mt-b)+(rt-b),Wr[3]=Mt,vt=x*C,G=splitter*x,W=G-(G-x),Q=x-W,G=splitter*C,J=G-(G-C),ut=C-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=R*A,G=splitter*R,W=G-(G-R),Q=R-W,G=splitter*A,J=G-(G-A),ut=A-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,an[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,an[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,an[2]=xt-(Mt-b)+(rt-b),an[3]=Mt,vt=R*L,G=splitter*R,W=G-(G-R),Q=R-W,G=splitter*L,J=G-(G-L),ut=L-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=U*C,G=splitter*U,W=G-(G-U),Q=U-W,G=splitter*C,J=G-(G-C),ut=C-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,un[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,un[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,un[2]=xt-(Mt-b)+(rt-b),un[3]=Mt,vt=U*a,G=splitter*U,W=G-(G-U),Q=U-W,G=splitter*a,J=G-(G-a),ut=a-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=n*L,G=splitter*n,W=G-(G-n),Q=n-W,G=splitter*L,J=G-(G-L),ut=L-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,rn[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,rn[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,rn[2]=xt-(Mt-b)+(rt-b),rn[3]=Mt,vt=n*A,G=splitter*n,W=G-(G-n),Q=n-W,G=splitter*A,J=G-(G-A),ut=A-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=x*a,G=splitter*x,W=G-(G-x),Q=x-W,G=splitter*a,J=G-(G-a),ut=a-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,nn[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,nn[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,nn[2]=xt-(Mt-b)+(rt-b),nn[3]=Mt,vt=d*C,G=splitter*d,W=G-(G-d),Q=d-W,G=splitter*C,J=G-(G-C),ut=C-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=R*g,G=splitter*R,W=G-(G-R),Q=R-W,G=splitter*g,J=G-(G-g),ut=g-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,kr[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,kr[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,kr[2]=xt-(Mt-b)+(rt-b),kr[3]=Mt,vt=x*L,G=splitter*x,W=G-(G-x),Q=x-W,G=splitter*L,J=G-(G-L),ut=L-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=U*A,G=splitter*U,W=G-(G-U),Q=U-W,G=splitter*A,J=G-(G-A),ut=A-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,Yr[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,Yr[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,Yr[2]=xt-(Mt-b)+(rt-b),Yr[3]=Mt,vt=R*a,G=splitter*R,W=G-(G-R),Q=R-W,G=splitter*a,J=G-(G-a),ut=a-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=n*C,G=splitter*n,W=G-(G-n),Q=n-W,G=splitter*C,J=G-(G-C),ut=C-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,Vr[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,Vr[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,Vr[2]=xt-(Mt-b)+(rt-b),Vr[3]=Mt,vt=U*g,G=splitter*U,W=G-(G-U),Q=U-W,G=splitter*g,J=G-(G-g),ut=g-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=d*L,G=splitter*d,W=G-(G-d),Q=d-W,G=splitter*L,J=G-(G-L),ut=L-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,mn[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,mn[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,mn[2]=xt-(Mt-b)+(rt-b),mn[3]=Mt;const Vt=hn(Zr,Wr,nn,P,i,-S,$n),V=hn(Wr,an,kr,j,S,-P,mt),_=hn(an,un,Yr,Z,P,-j,Xt),q=hn(un,rn,Vr,i,j,-Z,At),dt=hn(rn,Zr,mn,S,Z,-i,ht),K=hn(Zr,kr,Vr,j,i,S,wt),nt=hn(Wr,Yr,mn,Z,S,P,Cr),z=hn(an,Vr,nn,i,P,j,hr),ct=hn(un,mn,kr,S,j,Z,Hr),pt=hn(rn,nn,Yr,P,Z,i,zr),Tt=sum_three(Xn(_,Xt,nt,Cr,ct,Hr,V,mt,n,a,i,Xr),Xr,Xn(q,At,z,hr,pt,zr,_,Xt,d,g,S,en),en,sum_three(Xn(dt,ht,ct,Hr,K,wt,q,At,x,A,P,Kt),Kt,Xn(Vt,$n,pt,zr,nt,Cr,dt,ht,R,C,j,Jr),Jr,Xn(V,mt,K,wt,z,hr,Vt,$n,U,L,Z,cn),cn,bn,zn),zn,Cn,Un);return Un[Tt-1]}const ha=v(96),ga=v(96),pa=v(96),ya=v(1152);function ue(n,a,i,d,g,S,x,A,P,R){const C=hn(n,a,i,d,g,S,se);return sum_three(scale(scale(C,se,x,An),An,x,ha),ha,scale(scale(C,se,A,An),An,A,ga),ga,scale(scale(C,se,P,An),An,P,pa),pa,Nn,R)}function Fo(n,a,i,d,g,S,x,A,P,R,C,j,U,L,Z,b){let G,W,Q,J,ut,rt,xt,it,vt,ft,St,Rt,Mt,Vt,V,_,q,dt,K,nt,z,ct,pt,Tt,Et,Lt,Zt,Dt,nr,or,sr;const ur=n-U,lr=d-U,fr=x-U,$r=R-U,br=a-L,Nr=g-L,_t=A-L,Dr=C-L,Kr=i-Z,Gr=S-Z,qr=P-Z,_r=j-Z;Dt=ur*Nr,nt=splitter*ur,z=nt-(nt-ur),ct=ur-z,nt=splitter*Nr,pt=nt-(nt-Nr),Tt=Nr-pt,nr=ct*Tt-(Dt-z*pt-ct*pt-z*Tt),or=lr*br,nt=splitter*lr,z=nt-(nt-lr),ct=lr-z,nt=splitter*br,pt=nt-(nt-br),Tt=br-pt,sr=ct*Tt-(or-z*pt-ct*pt-z*Tt),Et=nr-sr,K=nr-Et,Zr[0]=nr-(Et+K)+(K-sr),Lt=Dt+Et,K=Lt-Dt,Zt=Dt-(Lt-K)+(Et-K),Et=Zt-or,K=Zt-Et,Zr[1]=Zt-(Et+K)+(K-or),G=Lt+Et,K=G-Lt,Zr[2]=Lt-(G-K)+(Et-K),Zr[3]=G,Dt=lr*_t,nt=splitter*lr,z=nt-(nt-lr),ct=lr-z,nt=splitter*_t,pt=nt-(nt-_t),Tt=_t-pt,nr=ct*Tt-(Dt-z*pt-ct*pt-z*Tt),or=fr*Nr,nt=splitter*fr,z=nt-(nt-fr),ct=fr-z,nt=splitter*Nr,pt=nt-(nt-Nr),Tt=Nr-pt,sr=ct*Tt-(or-z*pt-ct*pt-z*Tt),Et=nr-sr,K=nr-Et,Wr[0]=nr-(Et+K)+(K-sr),Lt=Dt+Et,K=Lt-Dt,Zt=Dt-(Lt-K)+(Et-K),Et=Zt-or,K=Zt-Et,Wr[1]=Zt-(Et+K)+(K-or),W=Lt+Et,K=W-Lt,Wr[2]=Lt-(W-K)+(Et-K),Wr[3]=W,Dt=fr*Dr,nt=splitter*fr,z=nt-(nt-fr),ct=fr-z,nt=splitter*Dr,pt=nt-(nt-Dr),Tt=Dr-pt,nr=ct*Tt-(Dt-z*pt-ct*pt-z*Tt),or=$r*_t,nt=splitter*$r,z=nt-(nt-$r),ct=$r-z,nt=splitter*_t,pt=nt-(nt-_t),Tt=_t-pt,sr=ct*Tt-(or-z*pt-ct*pt-z*Tt),Et=nr-sr,K=nr-Et,an[0]=nr-(Et+K)+(K-sr),Lt=Dt+Et,K=Lt-Dt,Zt=Dt-(Lt-K)+(Et-K),Et=Zt-or,K=Zt-Et,an[1]=Zt-(Et+K)+(K-or),Q=Lt+Et,K=Q-Lt,an[2]=Lt-(Q-K)+(Et-K),an[3]=Q,Dt=$r*br,nt=splitter*$r,z=nt-(nt-$r),ct=$r-z,nt=splitter*br,pt=nt-(nt-br),Tt=br-pt,nr=ct*Tt-(Dt-z*pt-ct*pt-z*Tt),or=ur*Dr,nt=splitter*ur,z=nt-(nt-ur),ct=ur-z,nt=splitter*Dr,pt=nt-(nt-Dr),Tt=Dr-pt,sr=ct*Tt-(or-z*pt-ct*pt-z*Tt),Et=nr-sr,K=nr-Et,Vr[0]=nr-(Et+K)+(K-sr),Lt=Dt+Et,K=Lt-Dt,Zt=Dt-(Lt-K)+(Et-K),Et=Zt-or,K=Zt-Et,Vr[1]=Zt-(Et+K)+(K-or),J=Lt+Et,K=J-Lt,Vr[2]=Lt-(J-K)+(Et-K),Vr[3]=J,Dt=ur*_t,nt=splitter*ur,z=nt-(nt-ur),ct=ur-z,nt=splitter*_t,pt=nt-(nt-_t),Tt=_t-pt,nr=ct*Tt-(Dt-z*pt-ct*pt-z*Tt),or=fr*br,nt=splitter*fr,z=nt-(nt-fr),ct=fr-z,nt=splitter*br,pt=nt-(nt-br),Tt=br-pt,sr=ct*Tt-(or-z*pt-ct*pt-z*Tt),Et=nr-sr,K=nr-Et,nn[0]=nr-(Et+K)+(K-sr),Lt=Dt+Et,K=Lt-Dt,Zt=Dt-(Lt-K)+(Et-K),Et=Zt-or,K=Zt-Et,nn[1]=Zt-(Et+K)+(K-or),ut=Lt+Et,K=ut-Lt,nn[2]=Lt-(ut-K)+(Et-K),nn[3]=ut,Dt=lr*Dr,nt=splitter*lr,z=nt-(nt-lr),ct=lr-z,nt=splitter*Dr,pt=nt-(nt-Dr),Tt=Dr-pt,nr=ct*Tt-(Dt-z*pt-ct*pt-z*Tt),or=$r*Nr,nt=splitter*$r,z=nt-(nt-$r),ct=$r-z,nt=splitter*Nr,pt=nt-(nt-Nr),Tt=Nr-pt,sr=ct*Tt-(or-z*pt-ct*pt-z*Tt),Et=nr-sr,K=nr-Et,kr[0]=nr-(Et+K)+(K-sr),Lt=Dt+Et,K=Lt-Dt,Zt=Dt-(Lt-K)+(Et-K),Et=Zt-or,K=Zt-Et,kr[1]=Zt-(Et+K)+(K-or),rt=Lt+Et,K=rt-Lt,kr[2]=Lt-(rt-K)+(Et-K),kr[3]=rt;const Fe=sum(sum(negate(ue(Wr,an,kr,_r,Gr,-qr,ur,br,Kr,Xr),Xr),Xr,ue(an,Vr,nn,Kr,qr,_r,lr,Nr,Gr,en),en,Cn),Cn,sum(negate(ue(Vr,Zr,kr,Gr,_r,Kr,fr,_t,qr,Kt),Kt),Kt,ue(Zr,Wr,nn,qr,Kr,-Gr,$r,Dr,_r,Jr),Jr,bn),bn,ya);let vn=estimate(Fe,ya),Pn=oe*b;if(vn>=Pn||-vn>=Pn||(K=n-ur,xt=n-(ur+K)+(K-U),K=a-br,St=a-(br+K)+(K-L),K=i-Kr,V=i-(Kr+K)+(K-Z),K=d-lr,it=d-(lr+K)+(K-U),K=g-Nr,Rt=g-(Nr+K)+(K-L),K=S-Gr,_=S-(Gr+K)+(K-Z),K=x-fr,vt=x-(fr+K)+(K-U),K=A-_t,Mt=A-(_t+K)+(K-L),K=P-qr,q=P-(qr+K)+(K-Z),K=R-$r,ft=R-($r+K)+(K-U),K=C-Dr,Vt=C-(Dr+K)+(K-L),K=j-_r,dt=j-(_r+K)+(K-Z),xt===0&&St===0&&V===0&&it===0&&Rt===0&&_===0&&vt===0&&Mt===0&&q===0&&ft===0&&Vt===0&&dt===0))return vn;Pn=Yn*b+resulterrbound*Math.abs(vn);const To=ur*Rt+Nr*xt-(br*it+lr*St),Oo=lr*Mt+_t*it-(Nr*vt+fr*Rt),Ao=fr*Vt+Dr*vt-(_t*ft+$r*Mt),Ro=$r*St+br*ft-(Dr*xt+ur*Vt),Po=ur*Mt+_t*xt-(br*vt+fr*St),Co=lr*Vt+Dr*it-(Nr*ft+$r*Rt);return vn+=(lr*lr+Nr*Nr+Gr*Gr)*(qr*Ro+_r*Po+Kr*Ao+(q*J+dt*ut+V*Q))+($r*$r+Dr*Dr+_r*_r)*(Kr*Oo-Gr*Po+qr*To+(V*W-_*ut+q*G))-((ur*ur+br*br+Kr*Kr)*(Gr*Ao-qr*Co+_r*Oo+(_*Q-q*rt+dt*W))+(fr*fr+_t*_t+qr*qr)*(_r*To+Kr*Co+Gr*Ro+(dt*G+V*rt+_*J)))+2*((lr*it+Nr*Rt+Gr*_)*(qr*J+_r*ut+Kr*Q)+($r*ft+Dr*Vt+_r*dt)*(Kr*W-Gr*ut+qr*G)-((ur*xt+br*St+Kr*V)*(Gr*Q-qr*rt+_r*W)+(fr*vt+_t*Mt+qr*q)*(_r*G+Kr*rt+Gr*J))),vn>=Pn||-vn>=Pn?vn:Do(n,a,i,d,g,S,x,A,P,R,C,j,U,L,Z)}function Yl(n,a,i,d,g,S,x,A,P,R,C,j,U,L,Z){const b=n-U,G=d-U,W=x-U,Q=R-U,J=a-L,ut=g-L,rt=A-L,xt=C-L,it=i-Z,vt=S-Z,ft=P-Z,St=j-Z,Rt=b*ut,Mt=G*J,Vt=Rt-Mt,V=G*rt,_=W*ut,q=V-_,dt=W*xt,K=Q*rt,nt=dt-K,z=Q*J,ct=b*xt,pt=z-ct,Tt=b*rt,Et=W*J,Lt=Tt-Et,Zt=G*xt,Dt=Q*ut,nr=Zt-Dt,or=b*b+J*J+it*it,sr=G*G+ut*ut+vt*vt,ur=W*W+rt*rt+ft*ft,lr=Q*Q+xt*xt+St*St,fr=ur*(St*Vt+it*nr+vt*pt)-lr*(it*q-vt*Lt+ft*Vt)+(or*(vt*nt-ft*nr+St*q)-sr*(ft*pt+St*Lt+it*nt)),$r=Math.abs(it),br=Math.abs(vt),Nr=Math.abs(ft),_t=Math.abs(St),Dr=Math.abs(Rt)+Math.abs(Mt),Kr=Math.abs(V)+Math.abs(_),Gr=Math.abs(dt)+Math.abs(K),qr=Math.abs(z)+Math.abs(ct),_r=Math.abs(Tt)+Math.abs(Et),Fe=Math.abs(Zt)+Math.abs(Dt),vn=(Gr*br+Fe*Nr+Kr*_t)*or+(qr*Nr+_r*_t+Gr*$r)*sr+(Dr*_t+Fe*$r+qr*br)*ur+(Kr*$r+_r*br+Dr*Nr)*lr,Pn=Kn*vn;return fr>Pn||-fr>Pn?fr:-Fo(n,a,i,d,g,S,x,A,P,R,C,j,U,L,Z,vn)}function zl(n,a,i,d,g,S,x,A,P,R,C,j,U,L,Z){const b=n-U,G=d-U,W=x-U,Q=R-U,J=a-L,ut=g-L,rt=A-L,xt=C-L,it=i-Z,vt=S-Z,ft=P-Z,St=j-Z,Rt=b*ut-G*J,Mt=G*rt-W*ut,Vt=W*xt-Q*rt,V=Q*J-b*xt,_=b*rt-W*J,q=G*xt-Q*ut,dt=it*Mt-vt*_+ft*Rt,K=vt*Vt-ft*q+St*Mt,nt=ft*V+St*_+it*Vt,z=St*Rt+it*q+vt*V,ct=b*b+J*J+it*it,pt=G*G+ut*ut+vt*vt,Tt=W*W+rt*rt+ft*ft,Et=Q*Q+xt*xt+St*St;return Tt*z-Et*dt+(ct*K-pt*nt)}const ma=Math.pow(2,-52),le=new Uint32Array(512);class fe{static from(a,i=Bo,d=jo){const g=a.length,S=new Float64Array(g*2);for(let x=0;x<g;x++){const A=a[x];S[2*x]=i(A),S[2*x+1]=d(A)}return new fe(S)}constructor(a){const i=a.length>>1;if(i>0&&typeof a[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=a;const d=Math.max(2*i-5,0);this._triangles=new Uint32Array(d*3),this._halfedges=new Int32Array(d*3),this._hashSize=Math.ceil(Math.sqrt(i)),this._hullPrev=new Uint32Array(i),this._hullNext=new Uint32Array(i),this._hullTri=new Uint32Array(i),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(i),this._dists=new Float64Array(i),this.update()}update(){const{coords:a,_hullPrev:i,_hullNext:d,_hullTri:g,_hullHash:S}=this,x=a.length>>1;let A=1/0,P=1/0,R=-1/0,C=-1/0;for(let ft=0;ft<x;ft++){const St=a[2*ft],Rt=a[2*ft+1];St<A&&(A=St),Rt<P&&(P=Rt),St>R&&(R=St),Rt>C&&(C=Rt),this._ids[ft]=ft}const j=(A+R)/2,U=(P+C)/2;let L,Z,b;for(let ft=0,St=1/0;ft<x;ft++){const Rt=be(j,U,a[2*ft],a[2*ft+1]);Rt<St&&(L=ft,St=Rt)}const G=a[2*L],W=a[2*L+1];for(let ft=0,St=1/0;ft<x;ft++){if(ft===L)continue;const Rt=be(G,W,a[2*ft],a[2*ft+1]);Rt<St&&Rt>0&&(Z=ft,St=Rt)}let Q=a[2*Z],J=a[2*Z+1],ut=1/0;for(let ft=0;ft<x;ft++){if(ft===L||ft===Z)continue;const St=bo(G,W,Q,J,a[2*ft],a[2*ft+1]);St<ut&&(b=ft,ut=St)}let rt=a[2*b],xt=a[2*b+1];if(ut===1/0){for(let Rt=0;Rt<x;Rt++)this._dists[Rt]=a[2*Rt]-a[0]||a[2*Rt+1]-a[1];Bn(this._ids,this._dists,0,x-1);const ft=new Uint32Array(x);let St=0;for(let Rt=0,Mt=-1/0;Rt<x;Rt++){const Vt=this._ids[Rt],V=this._dists[Vt];V>Mt&&(ft[St++]=Vt,Mt=V)}this.hull=ft.subarray(0,St),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(D(G,W,Q,J,rt,xt)<0){const ft=Z,St=Q,Rt=J;Z=b,Q=rt,J=xt,b=ft,rt=St,xt=Rt}const it=Uo(G,W,Q,J,rt,xt);this._cx=it.x,this._cy=it.y;for(let ft=0;ft<x;ft++)this._dists[ft]=be(a[2*ft],a[2*ft+1],it.x,it.y);Bn(this._ids,this._dists,0,x-1),this._hullStart=L;let vt=3;d[L]=i[b]=Z,d[Z]=i[L]=b,d[b]=i[Z]=L,g[L]=0,g[Z]=1,g[b]=2,S.fill(-1),S[this._hashKey(G,W)]=L,S[this._hashKey(Q,J)]=Z,S[this._hashKey(rt,xt)]=b,this.trianglesLen=0,this._addTriangle(L,Z,b,-1,-1,-1);for(let ft=0,St,Rt;ft<this._ids.length;ft++){const Mt=this._ids[ft],Vt=a[2*Mt],V=a[2*Mt+1];if(ft>0&&Math.abs(Vt-St)<=ma&&Math.abs(V-Rt)<=ma||(St=Vt,Rt=V,Mt===L||Mt===Z||Mt===b))continue;let _=0;for(let z=0,ct=this._hashKey(Vt,V);z<this._hashSize&&(_=S[(ct+z)%this._hashSize],!(_!==-1&&_!==d[_]));z++);_=i[_];let q=_,dt;for(;dt=d[q],D(Vt,V,a[2*q],a[2*q+1],a[2*dt],a[2*dt+1])>=0;)if(q=dt,q===_){q=-1;break}if(q===-1)continue;let K=this._addTriangle(q,Mt,d[q],-1,-1,g[q]);g[Mt]=this._legalize(K+2),g[q]=K,vt++;let nt=d[q];for(;dt=d[nt],D(Vt,V,a[2*nt],a[2*nt+1],a[2*dt],a[2*dt+1])<0;)K=this._addTriangle(nt,Mt,dt,g[Mt],-1,g[nt]),g[Mt]=this._legalize(K+2),d[nt]=nt,vt--,nt=dt;if(q===_)for(;dt=i[q],D(Vt,V,a[2*dt],a[2*dt+1],a[2*q],a[2*q+1])<0;)K=this._addTriangle(dt,Mt,q,-1,g[q],g[dt]),this._legalize(K+2),g[dt]=K,d[q]=q,vt--,q=dt;this._hullStart=i[Mt]=q,d[q]=i[nt]=Mt,d[Mt]=nt,S[this._hashKey(Vt,V)]=Mt,S[this._hashKey(a[2*q],a[2*q+1])]=q}this.hull=new Uint32Array(vt);for(let ft=0,St=this._hullStart;ft<vt;ft++)this.hull[ft]=St,St=d[St];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(a,i){return Math.floor(Lo(a-this._cx,i-this._cy)*this._hashSize)%this._hashSize}_legalize(a){const{_triangles:i,_halfedges:d,coords:g}=this;let S=0,x=0;for(;;){const A=d[a],P=a-a%3;if(x=P+(a+2)%3,A===-1){if(S===0)break;a=le[--S];continue}const R=A-A%3,C=P+(a+1)%3,j=R+(A+2)%3,U=i[x],L=i[a],Z=i[C],b=i[j];if($o(g[2*U],g[2*U+1],g[2*L],g[2*L+1],g[2*Z],g[2*Z+1],g[2*b],g[2*b+1])){i[a]=b,i[A]=U;const W=d[j];if(W===-1){let J=this._hullStart;do{if(this._hullTri[J]===j){this._hullTri[J]=a;break}J=this._hullPrev[J]}while(J!==this._hullStart)}this._link(a,W),this._link(A,d[x]),this._link(x,j);const Q=R+(A+1)%3;S<le.length&&(le[S++]=Q)}else{if(S===0)break;a=le[--S]}}return x}_link(a,i){this._halfedges[a]=i,i!==-1&&(this._halfedges[i]=a)}_addTriangle(a,i,d,g,S,x){const A=this.trianglesLen;return this._triangles[A]=a,this._triangles[A+1]=i,this._triangles[A+2]=d,this._link(A,g),this._link(A+1,S),this._link(A+2,x),this.trianglesLen+=3,A}}function Lo(n,a){const i=n/(Math.abs(n)+Math.abs(a));return(a>0?3-i:1+i)/4}function be(n,a,i,d){const g=n-i,S=a-d;return g*g+S*S}function $o(n,a,i,d,g,S,x,A){const P=n-x,R=a-A,C=i-x,j=d-A,U=g-x,L=S-A,Z=P*P+R*R,b=C*C+j*j,G=U*U+L*L;return P*(j*G-b*L)-R*(C*G-b*U)+Z*(C*L-j*U)<0}function bo(n,a,i,d,g,S){const x=i-n,A=d-a,P=g-n,R=S-a,C=x*x+A*A,j=P*P+R*R,U=.5/(x*R-A*P),L=(R*C-A*j)*U,Z=(x*j-P*C)*U;return L*L+Z*Z}function Uo(n,a,i,d,g,S){const x=i-n,A=d-a,P=g-n,R=S-a,C=x*x+A*A,j=P*P+R*R,U=.5/(x*R-A*P),L=n+(R*C-A*j)*U,Z=a+(x*j-P*C)*U;return{x:L,y:Z}}function Bn(n,a,i,d){if(d-i<=20)for(let g=i+1;g<=d;g++){const S=n[g],x=a[S];let A=g-1;for(;A>=i&&a[n[A]]>x;)n[A+1]=n[A--];n[A+1]=S}else{const g=i+d>>1;let S=i+1,x=d;Jn(n,g,S),a[n[i]]>a[n[d]]&&Jn(n,i,d),a[n[S]]>a[n[d]]&&Jn(n,S,d),a[n[i]]>a[n[S]]&&Jn(n,i,S);const A=n[S],P=a[A];for(;;){do S++;while(a[n[S]]<P);do x--;while(a[n[x]]>P);if(x<S)break;Jn(n,S,x)}n[i+1]=n[x],n[x]=A,d-S+1>=x-i?(Bn(n,a,S,d),Bn(n,a,i,x-1)):(Bn(n,a,i,x-1),Bn(n,a,S,d))}}function Jn(n,a,i){const d=n[a];n[a]=n[i],n[i]=d}function Bo(n){return n[0]}function jo(n){return n[1]}const xa=1e-6;class Mn{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(a,i){this._+=`M${this._x0=this._x1=+a},${this._y0=this._y1=+i}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(a,i){this._+=`L${this._x1=+a},${this._y1=+i}`}arc(a,i,d){a=+a,i=+i,d=+d;const g=a+d,S=i;if(d<0)throw new Error("negative radius");this._x1===null?this._+=`M${g},${S}`:(Math.abs(this._x1-g)>xa||Math.abs(this._y1-S)>xa)&&(this._+="L"+g+","+S),d&&(this._+=`A${d},${d},0,1,1,${a-d},${i}A${d},${d},0,1,1,${this._x1=g},${this._y1=S}`)}rect(a,i,d,g){this._+=`M${this._x0=this._x1=+a},${this._y0=this._y1=+i}h${+d}v${+g}h${-d}Z`}value(){return this._||null}}class Ue{constructor(){this._=[]}moveTo(a,i){this._.push([a,i])}closePath(){this._.push(this._[0].slice())}lineTo(a,i){this._.push([a,i])}value(){return this._.length?this._:null}}class wo{constructor(a,[i,d,g,S]=[0,0,960,500]){if(!((g=+g)>=(i=+i))||!((S=+S)>=(d=+d)))throw new Error("invalid bounds");this.delaunay=a,this._circumcenters=new Float64Array(a.points.length*2),this.vectors=new Float64Array(a.points.length*2),this.xmax=g,this.xmin=i,this.ymax=S,this.ymin=d,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:a,hull:i,triangles:d},vectors:g}=this;let S,x;const A=this.circumcenters=this._circumcenters.subarray(0,d.length/3*2);for(let b=0,G=0,W=d.length,Q,J;b<W;b+=3,G+=2){const ut=d[b]*2,rt=d[b+1]*2,xt=d[b+2]*2,it=a[ut],vt=a[ut+1],ft=a[rt],St=a[rt+1],Rt=a[xt],Mt=a[xt+1],Vt=ft-it,V=St-vt,_=Rt-it,q=Mt-vt,dt=(Vt*q-V*_)*2;if(Math.abs(dt)<1e-9){if(S===void 0){S=x=0;for(const nt of i)S+=a[nt*2],x+=a[nt*2+1];S/=i.length,x/=i.length}const K=1e9*Math.sign((S-it)*q-(x-vt)*_);Q=(it+Rt)/2-K*q,J=(vt+Mt)/2+K*_}else{const K=1/dt,nt=Vt*Vt+V*V,z=_*_+q*q;Q=it+(q*nt-V*z)*K,J=vt+(Vt*z-_*nt)*K}A[G]=Q,A[G+1]=J}let P=i[i.length-1],R,C=P*4,j,U=a[2*P],L,Z=a[2*P+1];g.fill(0);for(let b=0;b<i.length;++b)P=i[b],R=C,j=U,L=Z,C=P*4,U=a[2*P],Z=a[2*P+1],g[R+2]=g[C]=L-Z,g[R+3]=g[C+1]=U-j}render(a){const i=a==null?a=new Mn:void 0,{delaunay:{halfedges:d,inedges:g,hull:S},circumcenters:x,vectors:A}=this;if(S.length<=1)return null;for(let C=0,j=d.length;C<j;++C){const U=d[C];if(U<C)continue;const L=Math.floor(C/3)*2,Z=Math.floor(U/3)*2,b=x[L],G=x[L+1],W=x[Z],Q=x[Z+1];this._renderSegment(b,G,W,Q,a)}let P,R=S[S.length-1];for(let C=0;C<S.length;++C){P=R,R=S[C];const j=Math.floor(g[R]/3)*2,U=x[j],L=x[j+1],Z=P*4,b=this._project(U,L,A[Z+2],A[Z+3]);b&&this._renderSegment(U,L,b[0],b[1],a)}return i&&i.value()}renderBounds(a){const i=a==null?a=new Mn:void 0;return a.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),i&&i.value()}renderCell(a,i){const d=i==null?i=new Mn:void 0,g=this._clip(a);if(g===null||!g.length)return;i.moveTo(g[0],g[1]);let S=g.length;for(;g[0]===g[S-2]&&g[1]===g[S-1]&&S>1;)S-=2;for(let x=2;x<S;x+=2)(g[x]!==g[x-2]||g[x+1]!==g[x-1])&&i.lineTo(g[x],g[x+1]);return i.closePath(),d&&d.value()}*cellPolygons(){const{delaunay:{points:a}}=this;for(let i=0,d=a.length/2;i<d;++i){const g=this.cellPolygon(i);g&&(g.index=i,yield g)}}cellPolygon(a){const i=new Ue;return this.renderCell(a,i),i.value()}_renderSegment(a,i,d,g,S){let x;const A=this._regioncode(a,i),P=this._regioncode(d,g);A===0&&P===0?(S.moveTo(a,i),S.lineTo(d,g)):(x=this._clipSegment(a,i,d,g,A,P))&&(S.moveTo(x[0],x[1]),S.lineTo(x[2],x[3]))}contains(a,i,d){return i=+i,i!==i||(d=+d,d!==d)?!1:this.delaunay._step(a,i,d)===a}*neighbors(a){const i=this._clip(a);if(i)for(const d of this.delaunay.neighbors(a)){const g=this._clip(d);if(g){t:for(let S=0,x=i.length;S<x;S+=2)for(let A=0,P=g.length;A<P;A+=2)if(i[S]===g[A]&&i[S+1]===g[A+1]&&i[(S+2)%x]===g[(A+P-2)%P]&&i[(S+3)%x]===g[(A+P-1)%P]){yield d;break t}}}}_cell(a){const{circumcenters:i,delaunay:{inedges:d,halfedges:g,triangles:S}}=this,x=d[a];if(x===-1)return null;const A=[];let P=x;do{const R=Math.floor(P/3);if(A.push(i[R*2],i[R*2+1]),P=P%3===2?P-2:P+1,S[P]!==a)break;P=g[P]}while(P!==x&&P!==-1);return A}_clip(a){if(a===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];const i=this._cell(a);if(i===null)return null;const{vectors:d}=this,g=a*4;return this._simplify(d[g]||d[g+1]?this._clipInfinite(a,i,d[g],d[g+1],d[g+2],d[g+3]):this._clipFinite(a,i))}_clipFinite(a,i){const d=i.length;let g=null,S,x,A=i[d-2],P=i[d-1],R,C=this._regioncode(A,P),j,U=0;for(let L=0;L<d;L+=2)if(S=A,x=P,A=i[L],P=i[L+1],R=C,C=this._regioncode(A,P),R===0&&C===0)j=U,U=0,g?g.push(A,P):g=[A,P];else{let Z,b,G,W,Q;if(R===0){if((Z=this._clipSegment(S,x,A,P,R,C))===null)continue;[b,G,W,Q]=Z}else{if((Z=this._clipSegment(A,P,S,x,C,R))===null)continue;[W,Q,b,G]=Z,j=U,U=this._edgecode(b,G),j&&U&&this._edge(a,j,U,g,g.length),g?g.push(b,G):g=[b,G]}j=U,U=this._edgecode(W,Q),j&&U&&this._edge(a,j,U,g,g.length),g?g.push(W,Q):g=[W,Q]}if(g)j=U,U=this._edgecode(g[0],g[1]),j&&U&&this._edge(a,j,U,g,g.length);else if(this.contains(a,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return g}_clipSegment(a,i,d,g,S,x){const A=S<x;for(A&&([a,i,d,g,S,x]=[d,g,a,i,x,S]);;){if(S===0&&x===0)return A?[d,g,a,i]:[a,i,d,g];if(S&x)return null;let P,R,C=S||x;C&8?(P=a+(d-a)*(this.ymax-i)/(g-i),R=this.ymax):C&4?(P=a+(d-a)*(this.ymin-i)/(g-i),R=this.ymin):C&2?(R=i+(g-i)*(this.xmax-a)/(d-a),P=this.xmax):(R=i+(g-i)*(this.xmin-a)/(d-a),P=this.xmin),S?(a=P,i=R,S=this._regioncode(a,i)):(d=P,g=R,x=this._regioncode(d,g))}}_clipInfinite(a,i,d,g,S,x){let A=Array.from(i),P;if((P=this._project(A[0],A[1],d,g))&&A.unshift(P[0],P[1]),(P=this._project(A[A.length-2],A[A.length-1],S,x))&&A.push(P[0],P[1]),A=this._clipFinite(a,A))for(let R=0,C=A.length,j,U=this._edgecode(A[C-2],A[C-1]);R<C;R+=2)j=U,U=this._edgecode(A[R],A[R+1]),j&&U&&(R=this._edge(a,j,U,A,R),C=A.length);else this.contains(a,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(A=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return A}_edge(a,i,d,g,S){for(;i!==d;){let x,A;switch(i){case 5:i=4;continue;case 4:i=6,x=this.xmax,A=this.ymin;break;case 6:i=2;continue;case 2:i=10,x=this.xmax,A=this.ymax;break;case 10:i=8;continue;case 8:i=9,x=this.xmin,A=this.ymax;break;case 9:i=1;continue;case 1:i=5,x=this.xmin,A=this.ymin;break}(g[S]!==x||g[S+1]!==A)&&this.contains(a,x,A)&&(g.splice(S,0,x,A),S+=2)}return S}_project(a,i,d,g){let S=1/0,x,A,P;if(g<0){if(i<=this.ymin)return null;(x=(this.ymin-i)/g)<S&&(P=this.ymin,A=a+(S=x)*d)}else if(g>0){if(i>=this.ymax)return null;(x=(this.ymax-i)/g)<S&&(P=this.ymax,A=a+(S=x)*d)}if(d>0){if(a>=this.xmax)return null;(x=(this.xmax-a)/d)<S&&(A=this.xmax,P=i+(S=x)*g)}else if(d<0){if(a<=this.xmin)return null;(x=(this.xmin-a)/d)<S&&(A=this.xmin,P=i+(S=x)*g)}return[A,P]}_edgecode(a,i){return(a===this.xmin?1:a===this.xmax?2:0)|(i===this.ymin?4:i===this.ymax?8:0)}_regioncode(a,i){return(a<this.xmin?1:a>this.xmax?2:0)|(i<this.ymin?4:i>this.ymax?8:0)}_simplify(a){if(a&&a.length>4){for(let i=0;i<a.length;i+=2){const d=(i+2)%a.length,g=(i+4)%a.length;(a[i]===a[d]&&a[d]===a[g]||a[i+1]===a[d+1]&&a[d+1]===a[g+1])&&(a.splice(d,2),i-=2)}a.length||(a=null)}return a}}const Go=2*Math.PI,jn=Math.pow;function Vo(n){return n[0]}function Ho(n){return n[1]}function Wo(n){const{triangles:a,coords:i}=n;for(let d=0;d<a.length;d+=3){const g=2*a[d],S=2*a[d+1],x=2*a[d+2];if((i[x]-i[g])*(i[S+1]-i[g+1])-(i[S]-i[g])*(i[x+1]-i[g+1])>1e-10)return!1}return!0}function Ko(n,a,i){return[n+Math.sin(n+a)*i,a+Math.cos(n-a)*i]}class Be{static from(a,i=Vo,d=Ho,g){return new Be("length"in a?Yo(a,i,d,g):Float64Array.from(zo(a,i,d,g)))}constructor(a){this._delaunator=new fe(a),this.inedges=new Int32Array(a.length/2),this._hullIndex=new Int32Array(a.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){const a=this._delaunator,i=this.points;if(a.hull&&a.hull.length>2&&Wo(a)){this.collinear=Int32Array.from({length:i.length/2},(U,L)=>L).sort((U,L)=>i[2*U]-i[2*L]||i[2*U+1]-i[2*L+1]);const P=this.collinear[0],R=this.collinear[this.collinear.length-1],C=[i[2*P],i[2*P+1],i[2*R],i[2*R+1]],j=1e-8*Math.hypot(C[3]-C[1],C[2]-C[0]);for(let U=0,L=i.length/2;U<L;++U){const Z=Ko(i[2*U],i[2*U+1],j);i[2*U]=Z[0],i[2*U+1]=Z[1]}this._delaunator=new fe(i)}else delete this.collinear;const d=this.halfedges=this._delaunator.halfedges,g=this.hull=this._delaunator.hull,S=this.triangles=this._delaunator.triangles,x=this.inedges.fill(-1),A=this._hullIndex.fill(-1);for(let P=0,R=d.length;P<R;++P){const C=S[P%3===2?P-2:P+1];(d[P]===-1||x[C]===-1)&&(x[C]=P)}for(let P=0,R=g.length;P<R;++P)A[g[P]]=P;g.length<=2&&g.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=g[0],x[g[0]]=1,g.length===2&&(x[g[1]]=0,this.triangles[1]=g[1],this.triangles[2]=g[1]))}voronoi(a){return new wo(this,a)}*neighbors(a){const{inedges:i,hull:d,_hullIndex:g,halfedges:S,triangles:x,collinear:A}=this;if(A){const j=A.indexOf(a);j>0&&(yield A[j-1]),j<A.length-1&&(yield A[j+1]);return}const P=i[a];if(P===-1)return;let R=P,C=-1;do{if(yield C=x[R],R=R%3===2?R-2:R+1,x[R]!==a)return;if(R=S[R],R===-1){const j=d[(g[a]+1)%d.length];j!==C&&(yield j);return}}while(R!==P)}find(a,i,d=0){if(a=+a,a!==a||(i=+i,i!==i))return-1;const g=d;let S;for(;(S=this._step(d,a,i))>=0&&S!==d&&S!==g;)d=S;return S}_step(a,i,d){const{inedges:g,hull:S,_hullIndex:x,halfedges:A,triangles:P,points:R}=this;if(g[a]===-1||!R.length)return(a+1)%(R.length>>1);let C=a,j=jn(i-R[a*2],2)+jn(d-R[a*2+1],2);const U=g[a];let L=U;do{let Z=P[L];const b=jn(i-R[Z*2],2)+jn(d-R[Z*2+1],2);if(b<j&&(j=b,C=Z),L=L%3===2?L-2:L+1,P[L]!==a)break;if(L=A[L],L===-1){if(L=S[(x[a]+1)%S.length],L!==Z&&jn(i-R[L*2],2)+jn(d-R[L*2+1],2)<j)return L;break}}while(L!==U);return C}render(a){const i=a==null?a=new Mn:void 0,{points:d,halfedges:g,triangles:S}=this;for(let x=0,A=g.length;x<A;++x){const P=g[x];if(P<x)continue;const R=S[x]*2,C=S[P]*2;a.moveTo(d[R],d[R+1]),a.lineTo(d[C],d[C+1])}return this.renderHull(a),i&&i.value()}renderPoints(a,i){i===void 0&&(!a||typeof a.moveTo!="function")&&(i=a,a=null),i=i==null?2:+i;const d=a==null?a=new Mn:void 0,{points:g}=this;for(let S=0,x=g.length;S<x;S+=2){const A=g[S],P=g[S+1];a.moveTo(A+i,P),a.arc(A,P,i,0,Go)}return d&&d.value()}renderHull(a){const i=a==null?a=new Mn:void 0,{hull:d,points:g}=this,S=d[0]*2,x=d.length;a.moveTo(g[S],g[S+1]);for(let A=1;A<x;++A){const P=2*d[A];a.lineTo(g[P],g[P+1])}return a.closePath(),i&&i.value()}hullPolygon(){const a=new Ue;return this.renderHull(a),a.value()}renderTriangle(a,i){const d=i==null?i=new Mn:void 0,{points:g,triangles:S}=this,x=S[a*=3]*2,A=S[a+1]*2,P=S[a+2]*2;return i.moveTo(g[x],g[x+1]),i.lineTo(g[A],g[A+1]),i.lineTo(g[P],g[P+1]),i.closePath(),d&&d.value()}*trianglePolygons(){const{triangles:a}=this;for(let i=0,d=a.length/3;i<d;++i)yield this.trianglePolygon(i)}trianglePolygon(a){const i=new Ue;return this.renderTriangle(a,i),i.value()}}function Yo(n,a,i,d){const g=n.length,S=new Float64Array(g*2);for(let x=0;x<g;++x){const A=n[x];S[x*2]=a.call(d,A,x,n),S[x*2+1]=i.call(d,A,x,n)}return S}function*zo(n,a,i,d){let g=0;for(const S of n)yield a.call(d,S,g,n),yield i.call(d,S,g,n),++g}function Xo(n){for(var a=-1,i=n.length,d=0,g=0,S,x=n[i-1],A,P=0;++a<i;)S=x,x=n[a],P+=A=S[0]*x[1]-x[0]*S[1],d+=(S[0]+x[0])*A,g+=(S[1]+x[1])*A;return P*=3,[d/P,g/P]}function Jo(n){for(var a=-1,i=n.length,d,g=n[i-1],S=0;++a<i;)d=g,g=n[a],S+=d[1]*g[0]-d[0]*g[1];return S/2}function Qo(){}function je(n){return n==null?Qo:function(){return this.querySelector(n)}}function Zo(n){typeof n!="function"&&(n=je(n));for(var a=this._groups,i=a.length,d=new Array(i),g=0;g<i;++g)for(var S=a[g],x=S.length,A=d[g]=new Array(x),P,R,C=0;C<x;++C)(P=S[C])&&(R=n.call(P,P.__data__,C,S))&&("__data__"in P&&(R.__data__=P.__data__),A[C]=R);return new gn(d,this._parents)}function ko(n){return n==null?[]:Array.isArray(n)?n:Array.from(n)}function qo(){return[]}function Sa(n){return n==null?qo:function(){return this.querySelectorAll(n)}}function _o(n){return function(){return ko(n.apply(this,arguments))}}function ts(n){typeof n=="function"?n=_o(n):n=Sa(n);for(var a=this._groups,i=a.length,d=[],g=[],S=0;S<i;++S)for(var x=a[S],A=x.length,P,R=0;R<A;++R)(P=x[R])&&(d.push(n.call(P,P.__data__,R,x)),g.push(P));return new gn(d,g)}function Ea(n){return function(){return this.matches(n)}}function Ia(n){return function(a){return a.matches(n)}}var rs=Array.prototype.find;function ns(n){return function(){return rs.call(this.children,n)}}function es(){return this.firstElementChild}function as(n){return this.select(n==null?es:ns(typeof n=="function"?n:Ia(n)))}var os=Array.prototype.filter;function ss(){return Array.from(this.children)}function is(n){return function(){return os.call(this.children,n)}}function us(n){return this.selectAll(n==null?ss:is(typeof n=="function"?n:Ia(n)))}function ls(n){typeof n!="function"&&(n=Ea(n));for(var a=this._groups,i=a.length,d=new Array(i),g=0;g<i;++g)for(var S=a[g],x=S.length,A=d[g]=[],P,R=0;R<x;++R)(P=S[R])&&n.call(P,P.__data__,R,S)&&A.push(P);return new gn(d,this._parents)}function Ta(n){return new Array(n.length)}function fs(){return new gn(this._enter||this._groups.map(Ta),this._parents)}function ce(n,a){this.ownerDocument=n.ownerDocument,this.namespaceURI=n.namespaceURI,this._next=null,this._parent=n,this.__data__=a}ce.prototype={constructor:ce,appendChild:function(n){return this._parent.insertBefore(n,this._next)},insertBefore:function(n,a){return this._parent.insertBefore(n,a)},querySelector:function(n){return this._parent.querySelector(n)},querySelectorAll:function(n){return this._parent.querySelectorAll(n)}};function cs(n){return function(){return n}}function vs(n,a,i,d,g,S){for(var x=0,A,P=a.length,R=S.length;x<R;++x)(A=a[x])?(A.__data__=S[x],d[x]=A):i[x]=new ce(n,S[x]);for(;x<P;++x)(A=a[x])&&(g[x]=A)}function ds(n,a,i,d,g,S,x){var A,P,R=new Map,C=a.length,j=S.length,U=new Array(C),L;for(A=0;A<C;++A)(P=a[A])&&(U[A]=L=x.call(P,P.__data__,A,a)+"",R.has(L)?g[A]=P:R.set(L,P));for(A=0;A<j;++A)L=x.call(n,S[A],A,S)+"",(P=R.get(L))?(d[A]=P,P.__data__=S[A],R.delete(L)):i[A]=new ce(n,S[A]);for(A=0;A<C;++A)(P=a[A])&&R.get(U[A])===P&&(g[A]=P)}function hs(n){return n.__data__}function gs(n,a){if(!arguments.length)return Array.from(this,hs);var i=a?ds:vs,d=this._parents,g=this._groups;typeof n!="function"&&(n=cs(n));for(var S=g.length,x=new Array(S),A=new Array(S),P=new Array(S),R=0;R<S;++R){var C=d[R],j=g[R],U=j.length,L=ps(n.call(C,C&&C.__data__,R,d)),Z=L.length,b=A[R]=new Array(Z),G=x[R]=new Array(Z),W=P[R]=new Array(U);i(C,j,b,G,W,L,a);for(var Q=0,J=0,ut,rt;Q<Z;++Q)if(ut=b[Q]){for(Q>=J&&(J=Q+1);!(rt=G[J])&&++J<Z;);ut._next=rt||null}}return x=new gn(x,d),x._enter=A,x._exit=P,x}function ps(n){return typeof n=="object"&&"length"in n?n:Array.from(n)}function ys(){return new gn(this._exit||this._groups.map(Ta),this._parents)}function ms(n,a,i){var d=this.enter(),g=this,S=this.exit();return typeof n=="function"?(d=n(d),d&&(d=d.selection())):d=d.append(n+""),a!=null&&(g=a(g),g&&(g=g.selection())),i==null?S.remove():i(S),d&&g?d.merge(g).order():g}function xs(n){for(var a=n.selection?n.selection():n,i=this._groups,d=a._groups,g=i.length,S=d.length,x=Math.min(g,S),A=new Array(g),P=0;P<x;++P)for(var R=i[P],C=d[P],j=R.length,U=A[P]=new Array(j),L,Z=0;Z<j;++Z)(L=R[Z]||C[Z])&&(U[Z]=L);for(;P<g;++P)A[P]=i[P];return new gn(A,this._parents)}function Ss(){for(var n=this._groups,a=-1,i=n.length;++a<i;)for(var d=n[a],g=d.length-1,S=d[g],x;--g>=0;)(x=d[g])&&(S&&x.compareDocumentPosition(S)^4&&S.parentNode.insertBefore(x,S),S=x);return this}function Es(n){n||(n=Is);function a(j,U){return j&&U?n(j.__data__,U.__data__):!j-!U}for(var i=this._groups,d=i.length,g=new Array(d),S=0;S<d;++S){for(var x=i[S],A=x.length,P=g[S]=new Array(A),R,C=0;C<A;++C)(R=x[C])&&(P[C]=R);P.sort(a)}return new gn(g,this._parents).order()}function Is(n,a){return n<a?-1:n>a?1:n>=a?0:NaN}function Ts(){var n=arguments[0];return arguments[0]=this,n.apply(null,arguments),this}function Os(){return Array.from(this)}function As(){for(var n=this._groups,a=0,i=n.length;a<i;++a)for(var d=n[a],g=0,S=d.length;g<S;++g){var x=d[g];if(x)return x}return null}function Rs(){let n=0;for(const a of this)++n;return n}function Ps(){return!this.node()}function Cs(n){for(var a=this._groups,i=0,d=a.length;i<d;++i)for(var g=a[i],S=0,x=g.length,A;S<x;++S)(A=g[S])&&n.call(A,A.__data__,S,g);return this}var we="http://www.w3.org/1999/xhtml",Oa={svg:"http://www.w3.org/2000/svg",xhtml:we,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function ve(n){var a=n+="",i=a.indexOf(":");return i>=0&&(a=n.slice(0,i))!=="xmlns"&&(n=n.slice(i+1)),Oa.hasOwnProperty(a)?{space:Oa[a],local:n}:n}function Ns(n){return function(){this.removeAttribute(n)}}function Ms(n){return function(){this.removeAttributeNS(n.space,n.local)}}function Ds(n,a){return function(){this.setAttribute(n,a)}}function Fs(n,a){return function(){this.setAttributeNS(n.space,n.local,a)}}function Ls(n,a){return function(){var i=a.apply(this,arguments);i==null?this.removeAttribute(n):this.setAttribute(n,i)}}function $s(n,a){return function(){var i=a.apply(this,arguments);i==null?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,i)}}function bs(n,a){var i=ve(n);if(arguments.length<2){var d=this.node();return i.local?d.getAttributeNS(i.space,i.local):d.getAttribute(i)}return this.each((a==null?i.local?Ms:Ns:typeof a=="function"?i.local?$s:Ls:i.local?Fs:Ds)(i,a))}function Aa(n){return n.ownerDocument&&n.ownerDocument.defaultView||n.document&&n||n.defaultView}function Us(n){return function(){this.style.removeProperty(n)}}function Bs(n,a,i){return function(){this.style.setProperty(n,a,i)}}function js(n,a,i){return function(){var d=a.apply(this,arguments);d==null?this.style.removeProperty(n):this.style.setProperty(n,d,i)}}function ws(n,a,i){return arguments.length>1?this.each((a==null?Us:typeof a=="function"?js:Bs)(n,a,i==null?"":i)):wn(this.node(),n)}function wn(n,a){return n.style.getPropertyValue(a)||Aa(n).getComputedStyle(n,null).getPropertyValue(a)}function Gs(n){return function(){delete this[n]}}function Vs(n,a){return function(){this[n]=a}}function Hs(n,a){return function(){var i=a.apply(this,arguments);i==null?delete this[n]:this[n]=i}}function Ws(n,a){return arguments.length>1?this.each((a==null?Gs:typeof a=="function"?Hs:Vs)(n,a)):this.node()[n]}function Ra(n){return n.trim().split(/^|\s+/)}function Ge(n){return n.classList||new Pa(n)}function Pa(n){this._node=n,this._names=Ra(n.getAttribute("class")||"")}Pa.prototype={add:function(n){var a=this._names.indexOf(n);a<0&&(this._names.push(n),this._node.setAttribute("class",this._names.join(" ")))},remove:function(n){var a=this._names.indexOf(n);a>=0&&(this._names.splice(a,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(n){return this._names.indexOf(n)>=0}};function Ca(n,a){for(var i=Ge(n),d=-1,g=a.length;++d<g;)i.add(a[d])}function Na(n,a){for(var i=Ge(n),d=-1,g=a.length;++d<g;)i.remove(a[d])}function Ks(n){return function(){Ca(this,n)}}function Ys(n){return function(){Na(this,n)}}function zs(n,a){return function(){(a.apply(this,arguments)?Ca:Na)(this,n)}}function Xs(n,a){var i=Ra(n+"");if(arguments.length<2){for(var d=Ge(this.node()),g=-1,S=i.length;++g<S;)if(!d.contains(i[g]))return!1;return!0}return this.each((typeof a=="function"?zs:a?Ks:Ys)(i,a))}function Js(){this.textContent=""}function Qs(n){return function(){this.textContent=n}}function Zs(n){return function(){var a=n.apply(this,arguments);this.textContent=a==null?"":a}}function ks(n){return arguments.length?this.each(n==null?Js:(typeof n=="function"?Zs:Qs)(n)):this.node().textContent}function qs(){this.innerHTML=""}function _s(n){return function(){this.innerHTML=n}}function ti(n){return function(){var a=n.apply(this,arguments);this.innerHTML=a==null?"":a}}function ri(n){return arguments.length?this.each(n==null?qs:(typeof n=="function"?ti:_s)(n)):this.node().innerHTML}function ni(){this.nextSibling&&this.parentNode.appendChild(this)}function ei(){return this.each(ni)}function ai(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function oi(){return this.each(ai)}function si(n){return function(){var a=this.ownerDocument,i=this.namespaceURI;return i===we&&a.documentElement.namespaceURI===we?a.createElement(n):a.createElementNS(i,n)}}function ii(n){return function(){return this.ownerDocument.createElementNS(n.space,n.local)}}function Ma(n){var a=ve(n);return(a.local?ii:si)(a)}function ui(n){var a=typeof n=="function"?n:Ma(n);return this.select(function(){return this.appendChild(a.apply(this,arguments))})}function li(){return null}function fi(n,a){var i=typeof n=="function"?n:Ma(n),d=a==null?li:typeof a=="function"?a:je(a);return this.select(function(){return this.insertBefore(i.apply(this,arguments),d.apply(this,arguments)||null)})}function ci(){var n=this.parentNode;n&&n.removeChild(this)}function vi(){return this.each(ci)}function di(){var n=this.cloneNode(!1),a=this.parentNode;return a?a.insertBefore(n,this.nextSibling):n}function hi(){var n=this.cloneNode(!0),a=this.parentNode;return a?a.insertBefore(n,this.nextSibling):n}function gi(n){return this.select(n?hi:di)}function pi(n){return arguments.length?this.property("__data__",n):this.node().__data__}function yi(n){return function(a){n.call(this,a,this.__data__)}}function mi(n){return n.trim().split(/^|\s+/).map(function(a){var i="",d=a.indexOf(".");return d>=0&&(i=a.slice(d+1),a=a.slice(0,d)),{type:a,name:i}})}function xi(n){return function(){var a=this.__on;if(a){for(var i=0,d=-1,g=a.length,S;i<g;++i)S=a[i],(!n.type||S.type===n.type)&&S.name===n.name?this.removeEventListener(S.type,S.listener,S.options):a[++d]=S;++d?a.length=d:delete this.__on}}}function Si(n,a,i){return function(){var d=this.__on,g,S=yi(a);if(d){for(var x=0,A=d.length;x<A;++x)if((g=d[x]).type===n.type&&g.name===n.name){this.removeEventListener(g.type,g.listener,g.options),this.addEventListener(g.type,g.listener=S,g.options=i),g.value=a;return}}this.addEventListener(n.type,S,i),g={type:n.type,name:n.name,value:a,listener:S,options:i},d?d.push(g):this.__on=[g]}}function Ei(n,a,i){var d=mi(n+""),g,S=d.length,x;if(arguments.length<2){var A=this.node().__on;if(A){for(var P=0,R=A.length,C;P<R;++P)for(g=0,C=A[P];g<S;++g)if((x=d[g]).type===C.type&&x.name===C.name)return C.value}return}for(A=a?Si:xi,g=0;g<S;++g)this.each(A(d[g],a,i));return this}function Da(n,a,i){var d=Aa(n),g=d.CustomEvent;typeof g=="function"?g=new g(a,i):(g=d.document.createEvent("Event"),i?(g.initEvent(a,i.bubbles,i.cancelable),g.detail=i.detail):g.initEvent(a,!1,!1)),n.dispatchEvent(g)}function Ii(n,a){return function(){return Da(this,n,a)}}function Ti(n,a){return function(){return Da(this,n,a.apply(this,arguments))}}function Oi(n,a){return this.each((typeof a=="function"?Ti:Ii)(n,a))}function*Ai(){for(var n=this._groups,a=0,i=n.length;a<i;++a)for(var d=n[a],g=0,S=d.length,x;g<S;++g)(x=d[g])&&(yield x)}var Ri=[null];function gn(n,a){this._groups=n,this._parents=a}function Fa(){return new gn([[document.documentElement]],Ri)}function Pi(){return this}gn.prototype=Fa.prototype={constructor:gn,select:Zo,selectAll:ts,selectChild:as,selectChildren:us,filter:ls,data:gs,enter:fs,exit:ys,join:ms,merge:xs,selection:Pi,order:Ss,sort:Es,call:Ts,nodes:Os,node:As,size:Rs,empty:Ps,each:Cs,attr:bs,style:ws,property:Ws,classed:Xs,text:ks,html:ri,raise:ei,lower:oi,append:ui,insert:fi,remove:vi,clone:gi,datum:pi,on:Ei,dispatch:Oi,[Symbol.iterator]:Ai};var Qn=Fa,Ci={value:()=>{}};function La(){for(var n=0,a=arguments.length,i={},d;n<a;++n){if(!(d=arguments[n]+"")||d in i||/[\s.]/.test(d))throw new Error("illegal type: "+d);i[d]=[]}return new de(i)}function de(n){this._=n}function Ni(n,a){return n.trim().split(/^|\s+/).map(function(i){var d="",g=i.indexOf(".");if(g>=0&&(d=i.slice(g+1),i=i.slice(0,g)),i&&!a.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:d}})}de.prototype=La.prototype={constructor:de,on:function(n,a){var i=this._,d=Ni(n+"",i),g,S=-1,x=d.length;if(arguments.length<2){for(;++S<x;)if((g=(n=d[S]).type)&&(g=Mi(i[g],n.name)))return g;return}if(a!=null&&typeof a!="function")throw new Error("invalid callback: "+a);for(;++S<x;)if(g=(n=d[S]).type)i[g]=$a(i[g],n.name,a);else if(a==null)for(g in i)i[g]=$a(i[g],n.name,null);return this},copy:function(){var n={},a=this._;for(var i in a)n[i]=a[i].slice();return new de(n)},call:function(n,a){if((g=arguments.length-2)>0)for(var i=new Array(g),d=0,g,S;d<g;++d)i[d]=arguments[d+2];if(!this._.hasOwnProperty(n))throw new Error("unknown type: "+n);for(S=this._[n],d=0,g=S.length;d<g;++d)S[d].value.apply(a,i)},apply:function(n,a,i){if(!this._.hasOwnProperty(n))throw new Error("unknown type: "+n);for(var d=this._[n],g=0,S=d.length;g<S;++g)d[g].value.apply(a,i)}};function Mi(n,a){for(var i=0,d=n.length,g;i<d;++i)if((g=n[i]).name===a)return g.value}function $a(n,a,i){for(var d=0,g=n.length;d<g;++d)if(n[d].name===a){n[d]=Ci,n=n.slice(0,d).concat(n.slice(d+1));break}return i!=null&&n.push({name:a,value:i}),n}var Di=La,Gn=0,Zn=0,kn=0,ba=1e3,he,qn,ge=0,Dn=0,pe=0,_n=typeof performance=="object"&&performance.now?performance:Date,Ua=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(n){setTimeout(n,17)};function Ve(){return Dn||(Ua(Fi),Dn=_n.now()+pe)}function Fi(){Dn=0}function ye(){this._call=this._time=this._next=null}ye.prototype=Ba.prototype={constructor:ye,restart:function(n,a,i){if(typeof n!="function")throw new TypeError("callback is not a function");i=(i==null?Ve():+i)+(a==null?0:+a),!this._next&&qn!==this&&(qn?qn._next=this:he=this,qn=this),this._call=n,this._time=i,He()},stop:function(){this._call&&(this._call=null,this._time=1/0,He())}};function Ba(n,a,i){var d=new ye;return d.restart(n,a,i),d}function Li(){Ve(),++Gn;for(var n=he,a;n;)(a=Dn-n._time)>=0&&n._call.call(void 0,a),n=n._next;--Gn}function ja(){Dn=(ge=_n.now())+pe,Gn=Zn=0;try{Li()}finally{Gn=0,bi(),Dn=0}}function $i(){var n=_n.now(),a=n-ge;a>ba&&(pe-=a,ge=n)}function bi(){for(var n,a=he,i,d=1/0;a;)a._call?(d>a._time&&(d=a._time),n=a,a=a._next):(i=a._next,a._next=null,a=n?n._next=i:he=i);qn=n,He(d)}function He(n){if(!Gn){Zn&&(Zn=clearTimeout(Zn));var a=n-Dn;a>24?(n<1/0&&(Zn=setTimeout(ja,n-_n.now()-pe)),kn&&(kn=clearInterval(kn))):(kn||(ge=_n.now(),kn=setInterval($i,ba)),Gn=1,Ua(ja))}}function wa(n,a,i){var d=new ye;return a=a==null?0:+a,d.restart(g=>{d.stop(),n(g+a)},a,i),d}var Ui=Di("start","end","cancel","interrupt"),Bi=[],Ga=0,Va=1,We=2,me=3,Ha=4,Ke=5,xe=6;function Se(n,a,i,d,g,S){var x=n.__transition;if(!x)n.__transition={};else if(i in x)return;ji(n,i,{name:a,index:d,group:g,on:Ui,tween:Bi,time:S.time,delay:S.delay,duration:S.duration,ease:S.ease,timer:null,state:Ga})}function Ye(n,a){var i=pn(n,a);if(i.state>Ga)throw new Error("too late; already scheduled");return i}function xn(n,a){var i=pn(n,a);if(i.state>me)throw new Error("too late; already running");return i}function pn(n,a){var i=n.__transition;if(!i||!(i=i[a]))throw new Error("transition not found");return i}function ji(n,a,i){var d=n.__transition,g;d[a]=i,i.timer=Ba(S,0,i.time);function S(R){i.state=Va,i.timer.restart(x,i.delay,i.time),i.delay<=R&&x(R-i.delay)}function x(R){var C,j,U,L;if(i.state!==Va)return P();for(C in d)if(L=d[C],L.name===i.name){if(L.state===me)return wa(x);L.state===Ha?(L.state=xe,L.timer.stop(),L.on.call("interrupt",n,n.__data__,L.index,L.group),delete d[C]):+C<a&&(L.state=xe,L.timer.stop(),L.on.call("cancel",n,n.__data__,L.index,L.group),delete d[C])}if(wa(function(){i.state===me&&(i.state=Ha,i.timer.restart(A,i.delay,i.time),A(R))}),i.state=We,i.on.call("start",n,n.__data__,i.index,i.group),i.state===We){for(i.state=me,g=new Array(U=i.tween.length),C=0,j=-1;C<U;++C)(L=i.tween[C].value.call(n,n.__data__,i.index,i.group))&&(g[++j]=L);g.length=j+1}}function A(R){for(var C=R<i.duration?i.ease.call(null,R/i.duration):(i.timer.restart(P),i.state=Ke,1),j=-1,U=g.length;++j<U;)g[j].call(n,C);i.state===Ke&&(i.on.call("end",n,n.__data__,i.index,i.group),P())}function P(){i.state=xe,i.timer.stop(),delete d[a];for(var R in d)return;delete n.__transition}}function wi(n,a){var i=n.__transition,d,g,S=!0,x;if(i){a=a==null?null:a+"";for(x in i){if((d=i[x]).name!==a){S=!1;continue}g=d.state>We&&d.state<Ke,d.state=xe,d.timer.stop(),d.on.call(g?"interrupt":"cancel",n,n.__data__,d.index,d.group),delete i[x]}S&&delete n.__transition}}function Gi(n){return this.each(function(){wi(this,n)})}function Rn(n,a){return n=+n,a=+a,function(i){return n*(1-i)+a*i}}var Wa=180/Math.PI,ze={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Ka(n,a,i,d,g,S){var x,A,P;return(x=Math.sqrt(n*n+a*a))&&(n/=x,a/=x),(P=n*i+a*d)&&(i-=n*P,d-=a*P),(A=Math.sqrt(i*i+d*d))&&(i/=A,d/=A,P/=A),n*d<a*i&&(n=-n,a=-a,P=-P,x=-x),{translateX:g,translateY:S,rotate:Math.atan2(a,n)*Wa,skewX:Math.atan(P)*Wa,scaleX:x,scaleY:A}}var Ee;function Vi(n){const a=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(n+"");return a.isIdentity?ze:Ka(a.a,a.b,a.c,a.d,a.e,a.f)}function Hi(n){return n==null||(Ee||(Ee=document.createElementNS("http://www.w3.org/2000/svg","g")),Ee.setAttribute("transform",n),!(n=Ee.transform.baseVal.consolidate()))?ze:(n=n.matrix,Ka(n.a,n.b,n.c,n.d,n.e,n.f))}function Ya(n,a,i,d){function g(R){return R.length?R.pop()+" ":""}function S(R,C,j,U,L,Z){if(R!==j||C!==U){var b=L.push("translate(",null,a,null,i);Z.push({i:b-4,x:Rn(R,j)},{i:b-2,x:Rn(C,U)})}else(j||U)&&L.push("translate("+j+a+U+i)}function x(R,C,j,U){R!==C?(R-C>180?C+=360:C-R>180&&(R+=360),U.push({i:j.push(g(j)+"rotate(",null,d)-2,x:Rn(R,C)})):C&&j.push(g(j)+"rotate("+C+d)}function A(R,C,j,U){R!==C?U.push({i:j.push(g(j)+"skewX(",null,d)-2,x:Rn(R,C)}):C&&j.push(g(j)+"skewX("+C+d)}function P(R,C,j,U,L,Z){if(R!==j||C!==U){var b=L.push(g(L)+"scale(",null,",",null,")");Z.push({i:b-4,x:Rn(R,j)},{i:b-2,x:Rn(C,U)})}else(j!==1||U!==1)&&L.push(g(L)+"scale("+j+","+U+")")}return function(R,C){var j=[],U=[];return R=n(R),C=n(C),S(R.translateX,R.translateY,C.translateX,C.translateY,j,U),x(R.rotate,C.rotate,j,U),A(R.skewX,C.skewX,j,U),P(R.scaleX,R.scaleY,C.scaleX,C.scaleY,j,U),R=C=null,function(L){for(var Z=-1,b=U.length,G;++Z<b;)j[(G=U[Z]).i]=G.x(L);return j.join("")}}}var Wi=Ya(Vi,"px, ","px)","deg)"),Ki=Ya(Hi,", ",")",")");function Yi(n,a){var i,d;return function(){var g=xn(this,n),S=g.tween;if(S!==i){d=i=S;for(var x=0,A=d.length;x<A;++x)if(d[x].name===a){d=d.slice(),d.splice(x,1);break}}g.tween=d}}function zi(n,a,i){var d,g;if(typeof i!="function")throw new Error;return function(){var S=xn(this,n),x=S.tween;if(x!==d){g=(d=x).slice();for(var A={name:a,value:i},P=0,R=g.length;P<R;++P)if(g[P].name===a){g[P]=A;break}P===R&&g.push(A)}S.tween=g}}function Xi(n,a){var i=this._id;if(n+="",arguments.length<2){for(var d=pn(this.node(),i).tween,g=0,S=d.length,x;g<S;++g)if((x=d[g]).name===n)return x.value;return null}return this.each((a==null?Yi:zi)(i,n,a))}function Xe(n,a,i){var d=n._id;return n.each(function(){var g=xn(this,d);(g.value||(g.value={}))[a]=i.apply(this,arguments)}),function(g){return pn(g,d).value[a]}}function Je(n,a,i){n.prototype=a.prototype=i,i.constructor=n}function za(n,a){var i=Object.create(n.prototype);for(var d in a)i[d]=a[d];return i}function te(){}var re=.7,Ie=1/re,Vn="\\s*([+-]?\\d+)\\s*",ne="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Sn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Ji=/^#([0-9a-f]{3,8})$/,Qi=new RegExp(`^rgb\\(${Vn},${Vn},${Vn}\\)$`),Zi=new RegExp(`^rgb\\(${Sn},${Sn},${Sn}\\)$`),ki=new RegExp(`^rgba\\(${Vn},${Vn},${Vn},${ne}\\)$`),qi=new RegExp(`^rgba\\(${Sn},${Sn},${Sn},${ne}\\)$`),_i=new RegExp(`^hsl\\(${ne},${Sn},${Sn}\\)$`),tu=new RegExp(`^hsla\\(${ne},${Sn},${Sn},${ne}\\)$`),Xa={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Je(te,ee,{copy(n){return Object.assign(new this.constructor,this,n)},displayable(){return this.rgb().displayable()},hex:Ja,formatHex:Ja,formatHex8:ru,formatHsl:nu,formatRgb:Qa,toString:Qa});function Ja(){return this.rgb().formatHex()}function ru(){return this.rgb().formatHex8()}function nu(){return to(this).formatHsl()}function Qa(){return this.rgb().formatRgb()}function ee(n){var a,i;return n=(n+"").trim().toLowerCase(),(a=Ji.exec(n))?(i=a[1].length,a=parseInt(a[1],16),i===6?Za(a):i===3?new ln(a>>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):i===8?Te(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):i===4?Te(a>>12&15|a>>8&240,a>>8&15|a>>4&240,a>>4&15|a&240,((a&15)<<4|a&15)/255):null):(a=Qi.exec(n))?new ln(a[1],a[2],a[3],1):(a=Zi.exec(n))?new ln(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=ki.exec(n))?Te(a[1],a[2],a[3],a[4]):(a=qi.exec(n))?Te(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=_i.exec(n))?_a(a[1],a[2]/100,a[3]/100,1):(a=tu.exec(n))?_a(a[1],a[2]/100,a[3]/100,a[4]):Xa.hasOwnProperty(n)?Za(Xa[n]):n==="transparent"?new ln(NaN,NaN,NaN,0):null}function Za(n){return new ln(n>>16&255,n>>8&255,n&255,1)}function Te(n,a,i,d){return d<=0&&(n=a=i=NaN),new ln(n,a,i,d)}function eu(n){return n instanceof te||(n=ee(n)),n?(n=n.rgb(),new ln(n.r,n.g,n.b,n.opacity)):new ln}function Oe(n,a,i,d){return arguments.length===1?eu(n):new ln(n,a,i,d==null?1:d)}function ln(n,a,i,d){this.r=+n,this.g=+a,this.b=+i,this.opacity=+d}Je(ln,Oe,za(te,{brighter(n){return n=n==null?Ie:Math.pow(Ie,n),new ln(this.r*n,this.g*n,this.b*n,this.opacity)},darker(n){return n=n==null?re:Math.pow(re,n),new ln(this.r*n,this.g*n,this.b*n,this.opacity)},rgb(){return this},clamp(){return new ln(Fn(this.r),Fn(this.g),Fn(this.b),Ae(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ka,formatHex:ka,formatHex8:au,formatRgb:qa,toString:qa}));function ka(){return`#${Ln(this.r)}${Ln(this.g)}${Ln(this.b)}`}function au(){return`#${Ln(this.r)}${Ln(this.g)}${Ln(this.b)}${Ln((isNaN(this.opacity)?1:this.opacity)*255)}`}function qa(){const n=Ae(this.opacity);return`${n===1?"rgb(":"rgba("}${Fn(this.r)}, ${Fn(this.g)}, ${Fn(this.b)}${n===1?")":`, ${n})`}`}function Ae(n){return isNaN(n)?1:Math.max(0,Math.min(1,n))}function Fn(n){return Math.max(0,Math.min(255,Math.round(n)||0))}function Ln(n){return n=Fn(n),(n<16?"0":"")+n.toString(16)}function _a(n,a,i,d){return d<=0?n=a=i=NaN:i<=0||i>=1?n=a=NaN:a<=0&&(n=NaN),new yn(n,a,i,d)}function to(n){if(n instanceof yn)return new yn(n.h,n.s,n.l,n.opacity);if(n instanceof te||(n=ee(n)),!n)return new yn;if(n instanceof yn)return n;n=n.rgb();var a=n.r/255,i=n.g/255,d=n.b/255,g=Math.min(a,i,d),S=Math.max(a,i,d),x=NaN,A=S-g,P=(S+g)/2;return A?(a===S?x=(i-d)/A+(i<d)*6:i===S?x=(d-a)/A+2:x=(a-i)/A+4,A/=P<.5?S+g:2-S-g,x*=60):A=P>0&&P<1?0:x,new yn(x,A,P,n.opacity)}function ou(n,a,i,d){return arguments.length===1?to(n):new yn(n,a,i,d==null?1:d)}function yn(n,a,i,d){this.h=+n,this.s=+a,this.l=+i,this.opacity=+d}Je(yn,ou,za(te,{brighter(n){return n=n==null?Ie:Math.pow(Ie,n),new yn(this.h,this.s,this.l*n,this.opacity)},darker(n){return n=n==null?re:Math.pow(re,n),new yn(this.h,this.s,this.l*n,this.opacity)},rgb(){var n=this.h%360+(this.h<0)*360,a=isNaN(n)||isNaN(this.s)?0:this.s,i=this.l,d=i+(i<.5?i:1-i)*a,g=2*i-d;return new ln(Qe(n>=240?n-240:n+120,g,d),Qe(n,g,d),Qe(n<120?n+240:n-120,g,d),this.opacity)},clamp(){return new yn(ro(this.h),Re(this.s),Re(this.l),Ae(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const n=Ae(this.opacity);return`${n===1?"hsl(":"hsla("}${ro(this.h)}, ${Re(this.s)*100}%, ${Re(this.l)*100}%${n===1?")":`, ${n})`}`}}));function ro(n){return n=(n||0)%360,n<0?n+360:n}function Re(n){return Math.max(0,Math.min(1,n||0))}function Qe(n,a,i){return(n<60?a+(i-a)*n/60:n<180?i:n<240?a+(i-a)*(240-n)/60:a)*255}function no(n,a,i,d,g){var S=n*n,x=S*n;return((1-3*n+3*S-x)*a+(4-6*S+3*x)*i+(1+3*n+3*S-3*x)*d+x*g)/6}function su(n){var a=n.length-1;return function(i){var d=i<=0?i=0:i>=1?(i=1,a-1):Math.floor(i*a),g=n[d],S=n[d+1],x=d>0?n[d-1]:2*g-S,A=d<a-1?n[d+2]:2*S-g;return no((i-d/a)*a,x,g,S,A)}}function iu(n){var a=n.length;return function(i){var d=Math.floor(((i%=1)<0?++i:i)*a),g=n[(d+a-1)%a],S=n[d%a],x=n[(d+1)%a],A=n[(d+2)%a];return no((i-d/a)*a,g,S,x,A)}}var eo=n=>()=>n;function ao(n,a){return function(i){return n+i*a}}function uu(n,a,i){return n=Math.pow(n,i),a=Math.pow(a,i)-n,i=1/i,function(d){return Math.pow(n+d*a,i)}}function Xl(n,a){var i=a-n;return i?ao(n,i>180||i<-180?i-360*Math.round(i/360):i):constant(isNaN(n)?a:n)}function lu(n){return(n=+n)==1?oo:function(a,i){return i-a?uu(a,i,n):eo(isNaN(a)?i:a)}}function oo(n,a){var i=a-n;return i?ao(n,i):eo(isNaN(n)?a:n)}var so=function n(a){var i=lu(a);function d(g,S){var x=i((g=Oe(g)).r,(S=Oe(S)).r),A=i(g.g,S.g),P=i(g.b,S.b),R=oo(g.opacity,S.opacity);return function(C){return g.r=x(C),g.g=A(C),g.b=P(C),g.opacity=R(C),g+""}}return d.gamma=n,d}(1);function io(n){return function(a){var i=a.length,d=new Array(i),g=new Array(i),S=new Array(i),x,A;for(x=0;x<i;++x)A=Oe(a[x]),d[x]=A.r||0,g[x]=A.g||0,S[x]=A.b||0;return d=n(d),g=n(g),S=n(S),A.opacity=1,function(P){return A.r=d(P),A.g=g(P),A.b=S(P),A+""}}}var Jl=io(su),Ql=io(iu),Ze=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ke=new RegExp(Ze.source,"g");function fu(n){return function(){return n}}function cu(n){return function(a){return n(a)+""}}function vu(n,a){var i=Ze.lastIndex=ke.lastIndex=0,d,g,S,x=-1,A=[],P=[];for(n=n+"",a=a+"";(d=Ze.exec(n))&&(g=ke.exec(a));)(S=g.index)>i&&(S=a.slice(i,S),A[x]?A[x]+=S:A[++x]=S),(d=d[0])===(g=g[0])?A[x]?A[x]+=g:A[++x]=g:(A[++x]=null,P.push({i:x,x:Rn(d,g)})),i=ke.lastIndex;return i<a.length&&(S=a.slice(i),A[x]?A[x]+=S:A[++x]=S),A.length<2?P[0]?cu(P[0].x):fu(a):(a=P.length,function(R){for(var C=0,j;C<a;++C)A[(j=P[C]).i]=j.x(R);return A.join("")})}function uo(n,a){var i;return(typeof a=="number"?Rn:a instanceof ee?so:(i=ee(a))?(a=i,so):vu)(n,a)}function du(n){return function(){this.removeAttribute(n)}}function hu(n){return function(){this.removeAttributeNS(n.space,n.local)}}function gu(n,a,i){var d,g=i+"",S;return function(){var x=this.getAttribute(n);return x===g?null:x===d?S:S=a(d=x,i)}}function pu(n,a,i){var d,g=i+"",S;return function(){var x=this.getAttributeNS(n.space,n.local);return x===g?null:x===d?S:S=a(d=x,i)}}function yu(n,a,i){var d,g,S;return function(){var x,A=i(this),P;return A==null?void this.removeAttribute(n):(x=this.getAttribute(n),P=A+"",x===P?null:x===d&&P===g?S:(g=P,S=a(d=x,A)))}}function mu(n,a,i){var d,g,S;return function(){var x,A=i(this),P;return A==null?void this.removeAttributeNS(n.space,n.local):(x=this.getAttributeNS(n.space,n.local),P=A+"",x===P?null:x===d&&P===g?S:(g=P,S=a(d=x,A)))}}function xu(n,a){var i=ve(n),d=i==="transform"?Ki:uo;return this.attrTween(n,typeof a=="function"?(i.local?mu:yu)(i,d,Xe(this,"attr."+n,a)):a==null?(i.local?hu:du)(i):(i.local?pu:gu)(i,d,a))}function Su(n,a){return function(i){this.setAttribute(n,a.call(this,i))}}function Eu(n,a){return function(i){this.setAttributeNS(n.space,n.local,a.call(this,i))}}function Iu(n,a){var i,d;function g(){var S=a.apply(this,arguments);return S!==d&&(i=(d=S)&&Eu(n,S)),i}return g._value=a,g}function Tu(n,a){var i,d;function g(){var S=a.apply(this,arguments);return S!==d&&(i=(d=S)&&Su(n,S)),i}return g._value=a,g}function Ou(n,a){var i="attr."+n;if(arguments.length<2)return(i=this.tween(i))&&i._value;if(a==null)return this.tween(i,null);if(typeof a!="function")throw new Error;var d=ve(n);return this.tween(i,(d.local?Iu:Tu)(d,a))}function Au(n,a){return function(){Ye(this,n).delay=+a.apply(this,arguments)}}function Ru(n,a){return a=+a,function(){Ye(this,n).delay=a}}function Pu(n){var a=this._id;return arguments.length?this.each((typeof n=="function"?Au:Ru)(a,n)):pn(this.node(),a).delay}function Cu(n,a){return function(){xn(this,n).duration=+a.apply(this,arguments)}}function Nu(n,a){return a=+a,function(){xn(this,n).duration=a}}function Mu(n){var a=this._id;return arguments.length?this.each((typeof n=="function"?Cu:Nu)(a,n)):pn(this.node(),a).duration}function Du(n,a){if(typeof a!="function")throw new Error;return function(){xn(this,n).ease=a}}function Fu(n){var a=this._id;return arguments.length?this.each(Du(a,n)):pn(this.node(),a).ease}function Lu(n,a){return function(){var i=a.apply(this,arguments);if(typeof i!="function")throw new Error;xn(this,n).ease=i}}function $u(n){if(typeof n!="function")throw new Error;return this.each(Lu(this._id,n))}function bu(n){typeof n!="function"&&(n=Ea(n));for(var a=this._groups,i=a.length,d=new Array(i),g=0;g<i;++g)for(var S=a[g],x=S.length,A=d[g]=[],P,R=0;R<x;++R)(P=S[R])&&n.call(P,P.__data__,R,S)&&A.push(P);return new En(d,this._parents,this._name,this._id)}function Uu(n){if(n._id!==this._id)throw new Error;for(var a=this._groups,i=n._groups,d=a.length,g=i.length,S=Math.min(d,g),x=new Array(d),A=0;A<S;++A)for(var P=a[A],R=i[A],C=P.length,j=x[A]=new Array(C),U,L=0;L<C;++L)(U=P[L]||R[L])&&(j[L]=U);for(;A<d;++A)x[A]=a[A];return new En(x,this._parents,this._name,this._id)}function Bu(n){return(n+"").trim().split(/^|\s+/).every(function(a){var i=a.indexOf(".");return i>=0&&(a=a.slice(0,i)),!a||a==="start"})}function ju(n,a,i){var d,g,S=Bu(a)?Ye:xn;return function(){var x=S(this,n),A=x.on;A!==d&&(g=(d=A).copy()).on(a,i),x.on=g}}function wu(n,a){var i=this._id;return arguments.length<2?pn(this.node(),i).on.on(n):this.each(ju(i,n,a))}function Gu(n){return function(){var a=this.parentNode;for(var i in this.__transition)if(+i!==n)return;a&&a.removeChild(this)}}function Vu(){return this.on("end.remove",Gu(this._id))}function Hu(n){var a=this._name,i=this._id;typeof n!="function"&&(n=je(n));for(var d=this._groups,g=d.length,S=new Array(g),x=0;x<g;++x)for(var A=d[x],P=A.length,R=S[x]=new Array(P),C,j,U=0;U<P;++U)(C=A[U])&&(j=n.call(C,C.__data__,U,A))&&("__data__"in C&&(j.__data__=C.__data__),R[U]=j,Se(R[U],a,i,U,R,pn(C,i)));return new En(S,this._parents,a,i)}function Wu(n){var a=this._name,i=this._id;typeof n!="function"&&(n=Sa(n));for(var d=this._groups,g=d.length,S=[],x=[],A=0;A<g;++A)for(var P=d[A],R=P.length,C,j=0;j<R;++j)if(C=P[j]){for(var U=n.call(C,C.__data__,j,P),L,Z=pn(C,i),b=0,G=U.length;b<G;++b)(L=U[b])&&Se(L,a,i,b,U,Z);S.push(U),x.push(C)}return new En(S,x,a,i)}var Ku=Qn.prototype.constructor;function Yu(){return new Ku(this._groups,this._parents)}function zu(n,a){var i,d,g;return function(){var S=wn(this,n),x=(this.style.removeProperty(n),wn(this,n));return S===x?null:S===i&&x===d?g:g=a(i=S,d=x)}}function lo(n){return function(){this.style.removeProperty(n)}}function Xu(n,a,i){var d,g=i+"",S;return function(){var x=wn(this,n);return x===g?null:x===d?S:S=a(d=x,i)}}function Ju(n,a,i){var d,g,S;return function(){var x=wn(this,n),A=i(this),P=A+"";return A==null&&(P=A=(this.style.removeProperty(n),wn(this,n))),x===P?null:x===d&&P===g?S:(g=P,S=a(d=x,A))}}function Qu(n,a){var i,d,g,S="style."+a,x="end."+S,A;return function(){var P=xn(this,n),R=P.on,C=P.value[S]==null?A||(A=lo(a)):void 0;(R!==i||g!==C)&&(d=(i=R).copy()).on(x,g=C),P.on=d}}function Zu(n,a,i){var d=(n+="")=="transform"?Wi:uo;return a==null?this.styleTween(n,zu(n,d)).on("end.style."+n,lo(n)):typeof a=="function"?this.styleTween(n,Ju(n,d,Xe(this,"style."+n,a))).each(Qu(this._id,n)):this.styleTween(n,Xu(n,d,a),i).on("end.style."+n,null)}function ku(n,a,i){return function(d){this.style.setProperty(n,a.call(this,d),i)}}function qu(n,a,i){var d,g;function S(){var x=a.apply(this,arguments);return x!==g&&(d=(g=x)&&ku(n,x,i)),d}return S._value=a,S}function _u(n,a,i){var d="style."+(n+="");if(arguments.length<2)return(d=this.tween(d))&&d._value;if(a==null)return this.tween(d,null);if(typeof a!="function")throw new Error;return this.tween(d,qu(n,a,i==null?"":i))}function tl(n){return function(){this.textContent=n}}function rl(n){return function(){var a=n(this);this.textContent=a==null?"":a}}function nl(n){return this.tween("text",typeof n=="function"?rl(Xe(this,"text",n)):tl(n==null?"":n+""))}function el(n){return function(a){this.textContent=n.call(this,a)}}function al(n){var a,i;function d(){var g=n.apply(this,arguments);return g!==i&&(a=(i=g)&&el(g)),a}return d._value=n,d}function ol(n){var a="text";if(arguments.length<1)return(a=this.tween(a))&&a._value;if(n==null)return this.tween(a,null);if(typeof n!="function")throw new Error;return this.tween(a,al(n))}function sl(){for(var n=this._name,a=this._id,i=fo(),d=this._groups,g=d.length,S=0;S<g;++S)for(var x=d[S],A=x.length,P,R=0;R<A;++R)if(P=x[R]){var C=pn(P,a);Se(P,n,i,R,x,{time:C.time+C.delay+C.duration,delay:0,duration:C.duration,ease:C.ease})}return new En(d,this._parents,n,i)}function il(){var n,a,i=this,d=i._id,g=i.size();return new Promise(function(S,x){var A={value:x},P={value:function(){--g===0&&S()}};i.each(function(){var R=xn(this,d),C=R.on;C!==n&&(a=(n=C).copy(),a._.cancel.push(A),a._.interrupt.push(A),a._.end.push(P)),R.on=a}),g===0&&S()})}var ul=0;function En(n,a,i,d){this._groups=n,this._parents=a,this._name=i,this._id=d}function ll(n){return Qn().transition(n)}function fo(){return++ul}var In=Qn.prototype;En.prototype=ll.prototype={constructor:En,select:Hu,selectAll:Wu,selectChild:In.selectChild,selectChildren:In.selectChildren,filter:bu,merge:Uu,selection:Yu,transition:sl,call:In.call,nodes:In.nodes,node:In.node,size:In.size,empty:In.empty,each:In.each,on:wu,attr:xu,attrTween:Ou,style:Zu,styleTween:_u,text:nl,textTween:ol,remove:Vu,tween:Xi,delay:Pu,duration:Mu,ease:Fu,easeVarying:$u,end:il,[Symbol.iterator]:In[Symbol.iterator]};function Zl(n){return n*n*n}function kl(n){return--n*n*n+1}function fl(n){return((n*=2)<=1?n*n*n:(n-=2)*n*n+2)/2}var cl={time:null,delay:0,duration:250,ease:fl};function vl(n,a){for(var i;!(i=n.__transition)||!(i=i[a]);)if(!(n=n.parentNode))throw new Error(`transition ${a} not found`);return i}function dl(n){var a,i;n instanceof En?(a=n._id,n=n._name):(a=fo(),(i=cl).time=Ve(),n=n==null?null:n+"");for(var d=this._groups,g=d.length,S=0;S<g;++S)for(var x=d[S],A=x.length,P,R=0;R<A;++R)(P=x[R])&&Se(P,n,a,R,x,i||vl(P,a));return new En(d,this._parents,n,a)}Qn.prototype.interrupt=Gi,Qn.prototype.transition=dl;var co={name:"drag"},qe={name:"space"},Hn={name:"handle"},Wn={name:"center"};const{abs:vo,max:on,min:sn}=Math;function ho(n){return[+n[0],+n[1]]}function _e(n){return[ho(n[0]),ho(n[1])]}var Pe={name:"x",handles:["w","e"].map(ae),input:function(n,a){return n==null?null:[[+n[0],a[0][1]],[+n[1],a[1][1]]]},output:function(n){return n&&[n[0][0],n[1][0]]}},Ce={name:"y",handles:["n","s"].map(ae),input:function(n,a){return n==null?null:[[a[0][0],+n[0]],[a[1][0],+n[1]]]},output:function(n){return n&&[n[0][1],n[1][1]]}},hl={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(ae),input:function(n){return n==null?null:_e(n)},output:function(n){return n}},Tn={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},go={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},po={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},gl={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},pl={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function ae(n){return{type:n}}function yl(n){return!n.ctrlKey&&!n.button}function ml(){var n=this.ownerSVGElement||this;return n.hasAttribute("viewBox")?(n=n.viewBox.baseVal,[[n.x,n.y],[n.x+n.width,n.y+n.height]]):[[0,0],[n.width.baseVal.value,n.height.baseVal.value]]}function xl(){return navigator.maxTouchPoints||"ontouchstart"in this}function ta(n){for(;!n.__brush;)if(!(n=n.parentNode))return;return n.__brush}function Sl(n){return n[0][0]===n[1][0]||n[0][1]===n[1][1]}function ql(n){var a=n.__brush;return a?a.dim.output(a.selection):null}function _l(){return ra(Pe)}function tf(){return ra(Ce)}function rf(){return ra(hl)}function ra(n){var a=ml,i=yl,d=xl,g=!0,S=dispatch("start","brush","end"),x=6,A;function P(G){var W=G.property("__brush",b).selectAll(".overlay").data([ae("overlay")]);W.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",Tn.overlay).merge(W).each(function(){var J=ta(this).extent;select(this).attr("x",J[0][0]).attr("y",J[0][1]).attr("width",J[1][0]-J[0][0]).attr("height",J[1][1]-J[0][1])}),G.selectAll(".selection").data([ae("selection")]).enter().append("rect").attr("class","selection").attr("cursor",Tn.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var Q=G.selectAll(".handle").data(n.handles,function(J){return J.type});Q.exit().remove(),Q.enter().append("rect").attr("class",function(J){return"handle handle--"+J.type}).attr("cursor",function(J){return Tn[J.type]}),G.each(R).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",U).filter(d).on("touchstart.brush",U).on("touchmove.brush",L).on("touchend.brush touchcancel.brush",Z).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}P.move=function(G,W,Q){G.tween?G.on("start.brush",function(J){C(this,arguments).beforestart().start(J)}).on("interrupt.brush end.brush",function(J){C(this,arguments).end(J)}).tween("brush",function(){var J=this,ut=J.__brush,rt=C(J,arguments),xt=ut.selection,it=n.input(typeof W=="function"?W.apply(this,arguments):W,ut.extent),vt=interpolate(xt,it);function ft(St){ut.selection=St===1&&it===null?null:vt(St),R.call(J),rt.brush()}return xt!==null&&it!==null?ft:ft(1)}):G.each(function(){var J=this,ut=arguments,rt=J.__brush,xt=n.input(typeof W=="function"?W.apply(J,ut):W,rt.extent),it=C(J,ut).beforestart();interrupt(J),rt.selection=xt===null?null:xt,R.call(J),it.start(Q).brush(Q).end(Q)})},P.clear=function(G,W){P.move(G,null,W)};function R(){var G=select(this),W=ta(this).selection;W?(G.selectAll(".selection").style("display",null).attr("x",W[0][0]).attr("y",W[0][1]).attr("width",W[1][0]-W[0][0]).attr("height",W[1][1]-W[0][1]),G.selectAll(".handle").style("display",null).attr("x",function(Q){return Q.type[Q.type.length-1]==="e"?W[1][0]-x/2:W[0][0]-x/2}).attr("y",function(Q){return Q.type[0]==="s"?W[1][1]-x/2:W[0][1]-x/2}).attr("width",function(Q){return Q.type==="n"||Q.type==="s"?W[1][0]-W[0][0]+x:x}).attr("height",function(Q){return Q.type==="e"||Q.type==="w"?W[1][1]-W[0][1]+x:x})):G.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function C(G,W,Q){var J=G.__brush.emitter;return J&&(!Q||!J.clean)?J:new j(G,W,Q)}function j(G,W,Q){this.that=G,this.args=W,this.state=G.__brush,this.active=0,this.clean=Q}j.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(G,W){return this.starting?(this.starting=!1,this.emit("start",G,W)):this.emit("brush",G),this},brush:function(G,W){return this.emit("brush",G,W),this},end:function(G,W){return--this.active===0&&(delete this.state.emitter,this.emit("end",G,W)),this},emit:function(G,W,Q){var J=select(this.that).datum();S.call(G,this.that,new BrushEvent(G,{sourceEvent:W,target:P,selection:n.output(this.state.selection),mode:Q,dispatch:S}),J)}};function U(G){if(A&&!G.touches||!i.apply(this,arguments))return;var W=this,Q=G.target.__data__.type,J=(g&&G.metaKey?Q="overlay":Q)==="selection"?co:g&&G.altKey?Wn:Hn,ut=n===Ce?null:gl[Q],rt=n===Pe?null:pl[Q],xt=ta(W),it=xt.extent,vt=xt.selection,ft=it[0][0],St,Rt,Mt=it[0][1],Vt,V,_=it[1][0],q,dt,K=it[1][1],nt,z,ct=0,pt=0,Tt,Et=ut&&rt&&g&&G.shiftKey,Lt,Zt,Dt=Array.from(G.touches||[G],_t=>{const Dr=_t.identifier;return _t=pointer(_t,W),_t.point0=_t.slice(),_t.identifier=Dr,_t});interrupt(W);var nr=C(W,arguments,!0).beforestart();if(Q==="overlay"){vt&&(Tt=!0);const _t=[Dt[0],Dt[1]||Dt[0]];xt.selection=vt=[[St=n===Ce?ft:sn(_t[0][0],_t[1][0]),Vt=n===Pe?Mt:sn(_t[0][1],_t[1][1])],[q=n===Ce?_:on(_t[0][0],_t[1][0]),nt=n===Pe?K:on(_t[0][1],_t[1][1])]],Dt.length>1&&fr(G)}else St=vt[0][0],Vt=vt[0][1],q=vt[1][0],nt=vt[1][1];Rt=St,V=Vt,dt=q,z=nt;var or=select(W).attr("pointer-events","none"),sr=or.selectAll(".overlay").attr("cursor",Tn[Q]);if(G.touches)nr.moved=lr,nr.ended=$r;else{var ur=select(G.view).on("mousemove.brush",lr,!0).on("mouseup.brush",$r,!0);g&&ur.on("keydown.brush",br,!0).on("keyup.brush",Nr,!0),dragDisable(G.view)}R.call(W),nr.start(G,J.name);function lr(_t){for(const Dr of _t.changedTouches||[_t])for(const Kr of Dt)Kr.identifier===Dr.identifier&&(Kr.cur=pointer(Dr,W));if(Et&&!Lt&&!Zt&&Dt.length===1){const Dr=Dt[0];vo(Dr.cur[0]-Dr[0])>vo(Dr.cur[1]-Dr[1])?Zt=!0:Lt=!0}for(const Dr of Dt)Dr.cur&&(Dr[0]=Dr.cur[0],Dr[1]=Dr.cur[1]);Tt=!0,noevent(_t),fr(_t)}function fr(_t){const Dr=Dt[0],Kr=Dr.point0;var Gr;switch(ct=Dr[0]-Kr[0],pt=Dr[1]-Kr[1],J){case qe:case co:{ut&&(ct=on(ft-St,sn(_-q,ct)),Rt=St+ct,dt=q+ct),rt&&(pt=on(Mt-Vt,sn(K-nt,pt)),V=Vt+pt,z=nt+pt);break}case Hn:{Dt[1]?(ut&&(Rt=on(ft,sn(_,Dt[0][0])),dt=on(ft,sn(_,Dt[1][0])),ut=1),rt&&(V=on(Mt,sn(K,Dt[0][1])),z=on(Mt,sn(K,Dt[1][1])),rt=1)):(ut<0?(ct=on(ft-St,sn(_-St,ct)),Rt=St+ct,dt=q):ut>0&&(ct=on(ft-q,sn(_-q,ct)),Rt=St,dt=q+ct),rt<0?(pt=on(Mt-Vt,sn(K-Vt,pt)),V=Vt+pt,z=nt):rt>0&&(pt=on(Mt-nt,sn(K-nt,pt)),V=Vt,z=nt+pt));break}case Wn:{ut&&(Rt=on(ft,sn(_,St-ct*ut)),dt=on(ft,sn(_,q+ct*ut))),rt&&(V=on(Mt,sn(K,Vt-pt*rt)),z=on(Mt,sn(K,nt+pt*rt)));break}}dt<Rt&&(ut*=-1,Gr=St,St=q,q=Gr,Gr=Rt,Rt=dt,dt=Gr,Q in go&&sr.attr("cursor",Tn[Q=go[Q]])),z<V&&(rt*=-1,Gr=Vt,Vt=nt,nt=Gr,Gr=V,V=z,z=Gr,Q in po&&sr.attr("cursor",Tn[Q=po[Q]])),xt.selection&&(vt=xt.selection),Lt&&(Rt=vt[0][0],dt=vt[1][0]),Zt&&(V=vt[0][1],z=vt[1][1]),(vt[0][0]!==Rt||vt[0][1]!==V||vt[1][0]!==dt||vt[1][1]!==z)&&(xt.selection=[[Rt,V],[dt,z]],R.call(W),nr.brush(_t,J.name))}function $r(_t){if(nopropagation(_t),_t.touches){if(_t.touches.length)return;A&&clearTimeout(A),A=setTimeout(function(){A=null},500)}else dragEnable(_t.view,Tt),ur.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);or.attr("pointer-events","all"),sr.attr("cursor",Tn.overlay),xt.selection&&(vt=xt.selection),Sl(vt)&&(xt.selection=null,R.call(W)),nr.end(_t,J.name)}function br(_t){switch(_t.keyCode){case 16:{Et=ut&&rt;break}case 18:{J===Hn&&(ut&&(q=dt-ct*ut,St=Rt+ct*ut),rt&&(nt=z-pt*rt,Vt=V+pt*rt),J=Wn,fr(_t));break}case 32:{(J===Hn||J===Wn)&&(ut<0?q=dt-ct:ut>0&&(St=Rt-ct),rt<0?nt=z-pt:rt>0&&(Vt=V-pt),J=qe,sr.attr("cursor",Tn.selection),fr(_t));break}default:return}noevent(_t)}function Nr(_t){switch(_t.keyCode){case 16:{Et&&(Lt=Zt=Et=!1,fr(_t));break}case 18:{J===Wn&&(ut<0?q=dt:ut>0&&(St=Rt),rt<0?nt=z:rt>0&&(Vt=V),J=Hn,fr(_t));break}case 32:{J===qe&&(_t.altKey?(ut&&(q=dt-ct*ut,St=Rt+ct*ut),rt&&(nt=z-pt*rt,Vt=V+pt*rt),J=Wn):(ut<0?q=dt:ut>0&&(St=Rt),rt<0?nt=z:rt>0&&(Vt=V),J=Hn),sr.attr("cursor",Tn[Q]),fr(_t));break}default:return}noevent(_t)}}function L(G){C(this,arguments).moved(G)}function Z(G){C(this,arguments).ended(G)}function b(){var G=this.__brush||{selection:null};return G.extent=_e(a.apply(this,arguments)),G.dim=n,G}return P.extent=function(G){return arguments.length?(a=typeof G=="function"?G:constant(_e(G)),P):a},P.filter=function(G){return arguments.length?(i=typeof G=="function"?G:constant(!!G),P):i},P.touchable=function(G){return arguments.length?(d=typeof G=="function"?G:constant(!!G),P):d},P.handleSize=function(G){return arguments.length?(x=+G,P):x},P.keyModifiers=function(G){return arguments.length?(g=!!G,P):g},P.on=function(){var G=S.on.apply(S,arguments);return G===S?P:G},P}function El(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function Il(n){const a=typeof(n==null?void 0:n.requestAnimationFrame)=="function"&&typeof(n==null?void 0:n.cancelAnimationFrame)=="function",i=typeof(n==null?void 0:n.requestIdleCallback)=="function"&&typeof(n==null?void 0:n.cancelIdleCallback)=="function",d=S=>setTimeout(S,1),g=S=>clearTimeout(S);return[a?n.requestAnimationFrame:d,a?n.cancelAnimationFrame:g,i?n.requestIdleCallback:d,i?n.cancelIdleCallback:g]}const Ne=El(),Tl=Ne==null?void 0:Ne.document,[nf,ef,af,of]=Il(Ne);var Ol=Object.defineProperty,yo=Object.getOwnPropertySymbols,Al=Object.prototype.hasOwnProperty,Rl=Object.prototype.propertyIsEnumerable,mo=(n,a,i)=>a in n?Ol(n,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[a]=i,xo=(n,a)=>{for(var i in a||(a={}))Al.call(a,i)&&mo(n,i,a[i]);if(yo)for(var i of yo(a))Rl.call(a,i)&&mo(n,i,a[i]);return n};const sf=n=>n||n===0,Pl=n=>typeof n=="function",Me=n=>typeof n=="string",na=n=>typeof n=="number",Cl=n=>typeof n=="undefined",So=n=>typeof n!="undefined",uf=n=>typeof n=="boolean",lf=n=>Math.ceil(n/10)*10,ff=n=>Math.ceil(n)+.5,cf=n=>n[1]-n[0],ea=n=>typeof n=="object",Nl=n=>Cl(n)||n===null||Me(n)&&n.length===0||ea(n)&&!(n instanceof Date)&&Object.keys(n).length===0||na(n)&&isNaN(n),Ml=n=>!Nl(n),aa=n=>Array.isArray(n),De=n=>n&&!(n!=null&&n.nodeType)&&ea(n)&&!aa(n);function vf(n,a,i){return So(n[a])?n[a]:i}function df(n,a){let i=!1;return Object.keys(n).forEach(d=>n[d]===a&&(i=!0)),i}function hf(n,a,...i){const d=Pl(n);return d&&n.call(a,...i),d}function gf(n,a){let i=0;const d=function(...g){!--i&&a.apply(this,...g)};"duration"in n?n.each(()=>++i).on("end",d):(++i,n.call(d))}function pf(n){return Me(n)?n.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):n}function yf(n,a,i=[-1,1],d=!1){if(!(!n||!Me(a)))if(a.indexOf(` +`)===-1)n.text(a);else{const g=[n.text(),a].map(S=>S.replace(/[\s\n]/g,""));if(g[0]!==g[1]){const S=a.split(` +`),x=d?S.length-1:1;n.html(""),S.forEach((A,P)=>{n.append("tspan").attr("x",0).attr("dy",`${P===0?i[0]*x:i[1]}em`).text(A)})}}}function Dl(n){const{x:a,y:i,width:d,height:g}=n.getBBox();return[{x:a,y:i+g},{x:a,y:i},{x:a+d,y:i},{x:a+d,y:i+g}]}function mf(n){const{width:a,height:i}=n.getBoundingClientRect(),d=Dl(n),g=d[0].x,S=Math.min(d[0].y,d[1].y);return{x:g,y:S,width:a,height:i}}function xf(n,a){var i;const d=n&&((i=n.touches||n.sourceEvent&&n.sourceEvent.touches)==null?void 0:i[0]);let g=[0,0];try{g=d3Pointer(d||n,a)}catch(S){}return g.map(S=>isNaN(S)?0:S)}function Fl(n){const{event:a,$el:i}=n,d=i.subchart.main||i.main;let g;return a&&a.type==="brush"?g=a.selection:d&&(g=d.select(".bb-brush").node())&&(g=d3BrushSelection(g)),g}function Sf(n){return!("rect"in n)||"rect"in n&&n.hasAttribute("width")&&n.rect.width!==+n.getAttribute("width")?n.rect=n.getBoundingClientRect():n.rect}function Ef(n=!0,a=0,i=1e4){const d=window.crypto||window.msCrypto,g=d?a+d.getRandomValues(new Uint32Array(1))[0]%(i-a+1):Math.floor(Math.random()*(i-a)+a);return n?String(g):g}function Eo(n,a,i,d,g){if(i>d)return-1;const S=Math.floor((i+d)/2);let{x,w:A=0}=n[S];return g&&(x=n[S].y,A=n[S].h),a>=x&&a<=x+A?S:a<x?Eo(n,a,i,S-1,g):Eo(n,a,S+1,d,g)}function If(n){const a=Fl(n);return a?a[0]===a[1]:!0}function Tf(...n){const a=i=>{if(De(i)&&i.constructor){const d=new i.constructor;for(const g in i)d[g]=a(i[g]);return d}return i};return n.map(i=>a(i)).reduce((i,d)=>xo(xo({},i),d))}function Ll(n={},a){aa(a)&&a.forEach(i=>Ll(n,i));for(const i in a)/^\d+$/.test(i)||i in n||(n[i]=a[i]);return n}const Of=n=>n.charAt(0).toUpperCase()+n.slice(1);function Af(n,a="-"){return n.split(a).map((i,d)=>d?i.charAt(0).toUpperCase()+i.slice(1).toLowerCase():i.toLowerCase()).join("")}const $l=n=>[].slice.call(n);function Rf(n,a,i){const{rootSelector:d="",sheet:g}=n,x=`${d} ${(A=>A.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(a)} {${i.join(";")}}`;return g[g.insertRule?"insertRule":"addRule"](x,g.cssRules.length)}function Pf(n){let a=[];return n.forEach(i=>{var d;try{i.cssRules&&i.cssRules.length&&(a=a.concat($l(i.cssRules)))}catch(g){(d=window.console)==null||d.warn(`Error while reading rules from ${i.href}: ${g.toString()}`)}}),a}function Cf(n){var a,i,d,g,S,x;return{x:((i=(a=window.pageXOffset)!=null?a:window.scrollX)!=null?i:0)+((d=n.scrollLeft)!=null?d:0),y:((S=(g=window.pageYOffset)!=null?g:window.scrollY)!=null?S:0)+((x=n.scrollTop)!=null?x:0)}}function Nf(n,a=0,i=0,d=!0){const g=new DOMPoint(a,i),S=n.getScreenCTM(),x=g.matrixTransform(d?S==null?void 0:S.inverse():S);if(d===!1){const A=n.getBoundingClientRect();x.x-=A.x,x.y-=A.y}return x}function Mf(n){const a=n?n.transform:null,i=a&&a.baseVal;return i&&i.numberOfItems?i.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function Df(n){const a=n[0]instanceof Date,i=(a?n.map(Number):n).filter((d,g,S)=>S.indexOf(d)===g);return a?i.map(d=>new Date(d)):i}function Ff(n){return n&&n.length?n.reduce((a,i)=>a.concat(i)):[]}function oa(n,...a){if(!a.length||a.length===1&&!a[0])return n;const i=a.shift();return De(n)&&De(i)&&Object.keys(i).forEach(d=>{const g=i[d];De(g)?(!n[d]&&(n[d]={}),n[d]=oa(n[d],g)):n[d]=aa(g)?g.concat():g}),oa(n,...a)}function bl(n,a=!0){let i;return n[0]instanceof Date?i=a?(d,g)=>d-g:(d,g)=>g-d:a&&!n.every(isNaN)?i=(d,g)=>d-g:a||(i=(d,g)=>d>g&&-1||d<g&&1||d===g&&0),n.concat().sort(i)}function Lf(n,a){let i=a.filter(d=>Ml(d));return i.length?na(i[0])?i=Math[n](...i):i[0]instanceof Date&&(i=bl(i,n==="min")[0]):i=void 0,i}const $f=(n,a,i=1)=>{const d=[],g=Math.max(0,Math.ceil((a-n)/i))|0;for(let S=n;S<g;S++)d.push(n+S*i);return d},bf={mouse:(()=>{const n=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(a,i,d=n())=>{a.dispatchEvent(new MouseEvent(i,d))}}catch(a){return(i,d,g=n())=>{const S=Tl.createEvent("MouseEvent");S.initMouseEvent(d,g.bubbles,g.cancelable,Ne,0,g.screenX,g.screenY,g.clientX,g.clientY,!1,!1,!1,!1,0,null),i.dispatchEvent(S)}}})(),touch:(n,a,i)=>{const d=new Touch(oa({identifier:Date.now(),target:n,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},i));n.dispatchEvent(new TouchEvent(a,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[d],targetTouches:[],changedTouches:[d]}))}};function Uf(n,a){let i=n;for(const d in a)i=i.replace(new RegExp(`{=${d}}`,"g"),a[d]);return i}function Bf(n){var a;let i;if(n instanceof Date)i=n;else if(Me(n)){const{config:d,format:g}=this;i=(a=g.dataTime(d.data_xFormat)(n))!=null?a:new Date(n)}else na(n)&&!isNaN(n)&&(i=new Date(+n));return(!i||isNaN(+i))&&console&&console.error&&console.error(`Failed to parse x '${n}' to Date object`),i}function jf(n){const a=n.attr("viewBox");return a?/(\d+(\.\d+)?){3}/.test(a):!1}function wf(n,a,i=!1){const d=!!n.node;let g=!1;for(const[S,x]of Object.entries(a))if(g=d?n.style(S)===x:n.style[S]===x,i===!1&&g)break;return g}function Gf(){var n,a;return((n=document)==null?void 0:n.hidden)===!1||((a=document)==null?void 0:a.visibilityState)==="visible"}function Vf(n,a){const{DocumentTouch:i,matchMedia:d,navigator:g}=window,S=d==null?void 0:d("(pointer:coarse)").matches;let x=!1;if(a)if(g&&"maxTouchPoints"in g)x=g.maxTouchPoints>0;else if("ontouchmove"in window||i&&document instanceof i)x=!0;else if(S)x=!0;else{const P=g.userAgent;x=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(P)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(P)}return n&&!S&&(d==null?void 0:d("(pointer:fine)").matches)&&"mouse"||x&&"touch"||"mouse"}function Ul(n,a){a()===!1?requestAnimationFrame(()=>Ul(n,a)):n()}function Bl(n){const a=this.config;let i,d,g;const S=()=>{const x=d.shift();if(x&&i&&ea(i)&&x in i)return i=i[x],S();if(!x)return i};Object.keys(a).forEach(x=>{i=n,d=x.split("_"),g=S(),So(g)&&(a[x]=g)}),this.api&&(this.state.orgConfig=n)}var jl=Object.defineProperty,wl=(n,a,i)=>a in n?jl(n,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[a]=i,sa=(n,a,i)=>wl(n,typeof a!="symbol"?a+"":a,i);class Io{constructor(a={}){sa(this,"$$"),sa(this,"options"),this.options=a}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(a=>{this[a]=null,delete this[a]})}}sa(Io,"version","3.14.2");class Gl{constructor(){return{selector:void 0,extent:1,area:0}}}var Vl=Object.defineProperty,Hl=(n,a,i)=>a in n?Vl(n,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[a]=i,Wl=(n,a,i)=>Hl(n,typeof a!="symbol"?a+"":a,i);class Kl extends Io{constructor(a){return super(a),Wl(this,"config"),this.config=new Gl,this}$init(){Bl.call(this,this.options)}$redraw(){const{$$:{$el:a},config:{selector:i}}=this,d=i?a.main.selectAll(i):a.text;!d.empty()&&this.preventLabelOverlap(d)}generateVoronoi(a){const{$$:i}=this,{scale:d}=i,[g,S]=["x","y"].map(x=>d[x].domain());return[g[1],S[0]]=[S[0],g[1]],Be.from(a).voronoi([...g,...S])}preventLabelOverlap(a){const{extent:i,area:d}=this.config,g=a.data().map(A=>[A.index,A.value]),S=this.generateVoronoi(g);let x=0;a.each(function(){const A=S.cellPolygon(x);if(A&&this){const[P,R]=g[x],[C,j]=Xo(A),U=Math.abs(Jo(A)),L=Math.round(Math.atan2(j-R,C-P)/Math.PI*2),Z=i*(L===0?1:-1),b=L===-1?-i:i+5,G=Math.abs(L)===1?"middle":L===0?"start":"end";this.style.display=U<d?"none":"",this.setAttribute("text-anchor",G),this.setAttribute("dy",`0.${L===1?71:35}em`),this.setAttribute("transform",`translate(${Z}, ${b})`)}x++})}}},85156:function(l,p,t){var r=t(23583),e=t(82453),o=TypeError;l.exports=function(s){if(r(s))return s;throw new o(e(s)+" is not a function")}},80042:function(l,p,t){var r=t(11051),e=t(82453),o=TypeError;l.exports=function(s){if(r(s))return s;throw new o(e(s)+" is not a constructor")}},53408:function(l,p,t){var r=t(52427),e=String,o=TypeError;l.exports=function(s){if(r(s))return s;throw new o("Can't set "+e(s)+" as a prototype")}},76602:function(l,p,t){var r=t(172).has;l.exports=function(e){return r(e),e}},23811:function(l,p,t){var r=t(18565),e=t(5406),o=t(7831).f,s=r("unscopables"),u=Array.prototype;u[s]===void 0&&o(u,s,{configurable:!0,value:e(null)}),l.exports=function(f){u[s][f]=!0}},24487:function(l,p,t){var r=t(22149).charAt;l.exports=function(e,o,s){return o+(s?r(e,o).length:1)}},12833:function(l,p,t){var r=t(95307),e=TypeError;l.exports=function(o,s){if(r(s,o))return o;throw new e("Incorrect invocation")}},25001:function(l,p,t){var r=t(37540),e=String,o=TypeError;l.exports=function(s){if(r(s))return s;throw new o(e(s)+" is not an object")}},3237:function(l){l.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},58360:function(l,p,t){var r=t(34246),e=t(84756),o=t(14274),s=r.ArrayBuffer,u=r.TypeError;l.exports=s&&e(s.prototype,"byteLength","get")||function(f){if(o(f)!=="ArrayBuffer")throw new u("ArrayBuffer expected");return f.byteLength}},30736:function(l,p,t){var r=t(34246),e=t(77422),o=t(58360),s=r.ArrayBuffer,u=s&&s.prototype,f=u&&e(u.slice);l.exports=function(c){if(o(c)!==0||!f)return!1;try{return f(c,0,0),!1}catch(h){return!0}}},72058:function(l,p,t){var r=t(72069);l.exports=r(function(){if(typeof ArrayBuffer=="function"){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}})},83843:function(l,p,t){var r=t(30736),e=TypeError;l.exports=function(o){if(r(o))throw new e("ArrayBuffer is detached");return o}},65006:function(l,p,t){var r=t(34246),e=t(11286),o=t(84756),s=t(9450),u=t(83843),f=t(58360),c=t(63741),h=t(99050),v=r.structuredClone,y=r.ArrayBuffer,m=r.DataView,E=Math.min,I=y.prototype,O=m.prototype,T=e(I.slice),N=o(I,"resizable","get"),M=o(I,"maxByteLength","get"),F=e(O.getInt8),D=e(O.setInt8);l.exports=(h||c)&&function(w,$,B){var H=f(w),X=$===void 0?H:s($),Y=!N||!N(w),k;if(u(w),h&&(w=v(w,{transfer:[w]}),H===X&&(B||Y)))return w;if(H>=X&&(!B||Y))k=T(w,0,X);else{var ot=B&&!Y&&M?{maxByteLength:M(w)}:void 0;k=new y(X,ot);for(var st=new m(w),tt=new m(k),et=E(X,H),at=0;at<et;at++)D(tt,at,F(st,at))}return h||c(w),k}},88037:function(l,p,t){var r=t(3237),e=t(92986),o=t(34246),s=t(23583),u=t(37540),f=t(94879),c=t(9205),h=t(82453),v=t(90809),y=t(16142),m=t(85500),E=t(95307),I=t(26313),O=t(15861),T=t(18565),N=t(36374),M=t(82367),F=M.enforce,D=M.get,w=o.Int8Array,$=w&&w.prototype,B=o.Uint8ClampedArray,H=B&&B.prototype,X=w&&I(w),Y=$&&I($),k=Object.prototype,ot=o.TypeError,st=T("toStringTag"),tt=N("TYPED_ARRAY_TAG"),et="TypedArrayConstructor",at=r&&!!O&&c(o.opera)!=="Opera",gt=!1,Pt,Ot,Nt,It={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},qt={BigInt64Array:8,BigUint64Array:8},Qt=function(tr){if(!u(tr))return!1;var Sr=c(tr);return Sr==="DataView"||f(It,Sr)||f(qt,Sr)},Jt=function(Yt){var tr=I(Yt);if(u(tr)){var Sr=D(tr);return Sr&&f(Sr,et)?Sr[et]:Jt(tr)}},er=function(Yt){if(!u(Yt))return!1;var tr=c(Yt);return f(It,tr)||f(qt,tr)},ir=function(Yt){if(er(Yt))return Yt;throw new ot("Target is not a typed array")},Ar=function(Yt){if(s(Yt)&&(!O||E(X,Yt)))return Yt;throw new ot(h(Yt)+" is not a typed array constructor")},xr=function(Yt,tr,Sr,Ir){if(e){if(Sr)for(var pr in It){var Or=o[pr];if(Or&&f(Or.prototype,Yt))try{delete Or.prototype[Yt]}catch(Ur){try{Or.prototype[Yt]=tr}catch(Lr){}}}(!Y[Yt]||Sr)&&y(Y,Yt,Sr?tr:at&&$[Yt]||tr,Ir)}},Er=function(Yt,tr,Sr){var Ir,pr;if(e){if(O){if(Sr){for(Ir in It)if(pr=o[Ir],pr&&f(pr,Yt))try{delete pr[Yt]}catch(Or){}}if(!X[Yt]||Sr)try{return y(X,Yt,Sr?tr:at&&X[Yt]||tr)}catch(Or){}else return}for(Ir in It)pr=o[Ir],pr&&(!pr[Yt]||Sr)&&y(pr,Yt,tr)}};for(Pt in It)Ot=o[Pt],Nt=Ot&&Ot.prototype,Nt?F(Nt)[et]=Ot:at=!1;for(Pt in qt)Ot=o[Pt],Nt=Ot&&Ot.prototype,Nt&&(F(Nt)[et]=Ot);if((!at||!s(X)||X===Function.prototype)&&(X=function(){throw new ot("Incorrect invocation")},at))for(Pt in It)o[Pt]&&O(o[Pt],X);if((!at||!Y||Y===k)&&(Y=X.prototype,at))for(Pt in It)o[Pt]&&O(o[Pt].prototype,Y);if(at&&I(H)!==Y&&O(H,Y),e&&!f(Y,st)){gt=!0,m(Y,st,{configurable:!0,get:function(){return u(this)?this[tt]:void 0}});for(Pt in It)o[Pt]&&v(o[Pt],tt,Pt)}l.exports={NATIVE_ARRAY_BUFFER_VIEWS:at,TYPED_ARRAY_TAG:gt&&tt,aTypedArray:ir,aTypedArrayConstructor:Ar,exportTypedArrayMethod:xr,exportTypedArrayStaticMethod:Er,getTypedArrayConstructor:Jt,isView:Qt,isTypedArray:er,TypedArray:X,TypedArrayPrototype:Y}},17468:function(l,p,t){var r=t(34246),e=t(11286),o=t(92986),s=t(3237),u=t(86588),f=t(90809),c=t(85500),h=t(2725),v=t(72069),y=t(12833),m=t(12105),E=t(45344),I=t(9450),O=t(93279),T=t(25212),N=t(26313),M=t(15861),F=t(43011),D=t(22806),w=t(32345),$=t(93706),B=t(78401),H=t(82367),X=u.PROPER,Y=u.CONFIGURABLE,k="ArrayBuffer",ot="DataView",st="prototype",tt="Wrong length",et="Wrong index",at=H.getterFor(k),gt=H.getterFor(ot),Pt=H.set,Ot=r[k],Nt=Ot,It=Nt&&Nt[st],qt=r[ot],Qt=qt&&qt[st],Jt=Object.prototype,er=r.Array,ir=r.RangeError,Ar=e(F),xr=e([].reverse),Er=T.pack,Yt=T.unpack,tr=function(bt){return[bt&255]},Sr=function(bt){return[bt&255,bt>>8&255]},Ir=function(bt){return[bt&255,bt>>8&255,bt>>16&255,bt>>24&255]},pr=function(bt){return bt[3]<<24|bt[2]<<16|bt[1]<<8|bt[0]},Or=function(bt){return Er(O(bt),23,4)},Ur=function(bt){return Er(bt,52,8)},Lr=function(bt,Ht,Ft){c(bt[st],Ht,{configurable:!0,get:function(){return Ft(this)[Ht]}})},Pr=function(bt,Ht,Ft,cr){var vr=gt(bt),ar=I(Ft),rr=!!cr;if(ar+Ht>vr.byteLength)throw new ir(et);var jr=vr.bytes,wr=ar+vr.byteOffset,yt=D(jr,wr,wr+Ht);return rr?yt:xr(yt)},mr=function(bt,Ht,Ft,cr,vr,ar){var rr=gt(bt),jr=I(Ft),wr=cr(+vr),yt=!!ar;if(jr+Ht>rr.byteLength)throw new ir(et);for(var jt=rr.bytes,Gt=jr+rr.byteOffset,Bt=0;Bt<Ht;Bt++)jt[Gt+Bt]=wr[yt?Bt:Ht-Bt-1]};if(!s)Nt=function(Ht){y(this,It);var Ft=I(Ht);Pt(this,{type:k,bytes:Ar(er(Ft),0),byteLength:Ft}),o||(this.byteLength=Ft,this.detached=!1)},It=Nt[st],qt=function(Ht,Ft,cr){y(this,Qt),y(Ht,It);var vr=at(Ht),ar=vr.byteLength,rr=m(Ft);if(rr<0||rr>ar)throw new ir("Wrong offset");if(cr=cr===void 0?ar-rr:E(cr),rr+cr>ar)throw new ir(tt);Pt(this,{type:ot,buffer:Ht,byteLength:cr,byteOffset:rr,bytes:vr.bytes}),o||(this.buffer=Ht,this.byteLength=cr,this.byteOffset=rr)},Qt=qt[st],o&&(Lr(Nt,"byteLength",at),Lr(qt,"buffer",gt),Lr(qt,"byteLength",gt),Lr(qt,"byteOffset",gt)),h(Qt,{getInt8:function(Ht){return Pr(this,1,Ht)[0]<<24>>24},getUint8:function(Ht){return Pr(this,1,Ht)[0]},getInt16:function(Ht){var Ft=Pr(this,2,Ht,arguments.length>1?arguments[1]:!1);return(Ft[1]<<8|Ft[0])<<16>>16},getUint16:function(Ht){var Ft=Pr(this,2,Ht,arguments.length>1?arguments[1]:!1);return Ft[1]<<8|Ft[0]},getInt32:function(Ht){return pr(Pr(this,4,Ht,arguments.length>1?arguments[1]:!1))},getUint32:function(Ht){return pr(Pr(this,4,Ht,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(Ht){return Yt(Pr(this,4,Ht,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(Ht){return Yt(Pr(this,8,Ht,arguments.length>1?arguments[1]:!1),52)},setInt8:function(Ht,Ft){mr(this,1,Ht,tr,Ft)},setUint8:function(Ht,Ft){mr(this,1,Ht,tr,Ft)},setInt16:function(Ht,Ft){mr(this,2,Ht,Sr,Ft,arguments.length>2?arguments[2]:!1)},setUint16:function(Ht,Ft){mr(this,2,Ht,Sr,Ft,arguments.length>2?arguments[2]:!1)},setInt32:function(Ht,Ft){mr(this,4,Ht,Ir,Ft,arguments.length>2?arguments[2]:!1)},setUint32:function(Ht,Ft){mr(this,4,Ht,Ir,Ft,arguments.length>2?arguments[2]:!1)},setFloat32:function(Ht,Ft){mr(this,4,Ht,Or,Ft,arguments.length>2?arguments[2]:!1)},setFloat64:function(Ht,Ft){mr(this,8,Ht,Ur,Ft,arguments.length>2?arguments[2]:!1)}});else{var Mr=X&&Ot.name!==k;!v(function(){Ot(1)})||!v(function(){new Ot(-1)})||v(function(){return new Ot,new Ot(1.5),new Ot(NaN),Ot.length!==1||Mr&&!Y})?(Nt=function(Ht){return y(this,It),w(new Ot(I(Ht)),this,Nt)},Nt[st]=It,It.constructor=Nt,$(Nt,Ot)):Mr&&Y&&f(Ot,"name",k),M&&N(Qt)!==Jt&&M(Qt,Jt);var Tr=new qt(new Nt(2)),yr=e(Qt.setInt8);Tr.setInt8(0,2147483648),Tr.setInt8(1,2147483649),(Tr.getInt8(0)||!Tr.getInt8(1))&&h(Qt,{setInt8:function(Ht,Ft){yr(this,Ht,Ft<<24>>24)},setUint8:function(Ht,Ft){yr(this,Ht,Ft<<24>>24)}},{unsafe:!0})}B(Nt,k),B(qt,ot),l.exports={ArrayBuffer:Nt,DataView:qt}},81499:function(l,p,t){var r=t(49671),e=t(4652),o=t(82628),s=t(12384),u=Math.min;l.exports=[].copyWithin||function(c,h){var v=r(this),y=o(v),m=e(c,y),E=e(h,y),I=arguments.length>2?arguments[2]:void 0,O=u((I===void 0?y:e(I,y))-E,y-m),T=1;for(E<m&&m<E+O&&(T=-1,E+=O-1,m+=O-1);O-- >0;)E in v?v[m]=v[E]:s(v,m),m+=T,E+=T;return v}},43011:function(l,p,t){var r=t(49671),e=t(4652),o=t(82628);l.exports=function(u){for(var f=r(this),c=o(f),h=arguments.length,v=e(h>1?arguments[1]:void 0,c),y=h>2?arguments[2]:void 0,m=y===void 0?c:e(y,c);m>v;)f[v++]=u;return f}},13349:function(l,p,t){var r=t(66655).forEach,e=t(6148),o=e("forEach");l.exports=o?[].forEach:function(u){return r(this,u,arguments.length>1?arguments[1]:void 0)}},5220:function(l,p,t){var r=t(82628);l.exports=function(e,o,s){for(var u=0,f=arguments.length>2?s:r(o),c=new e(f);f>u;)c[u]=o[u++];return c}},48258:function(l,p,t){var r=t(45526),e=t(96499),o=t(49671),s=t(39969),u=t(48199),f=t(11051),c=t(82628),h=t(84082),v=t(90619),y=t(81077),m=Array;l.exports=function(I){var O=o(I),T=f(this),N=arguments.length,M=N>1?arguments[1]:void 0,F=M!==void 0;F&&(M=r(M,N>2?arguments[2]:void 0));var D=y(O),w=0,$,B,H,X,Y,k;if(D&&!(this===m&&u(D)))for(B=T?new this:[],X=v(O,D),Y=X.next;!(H=e(Y,X)).done;w++)k=F?s(X,M,[H.value,w],!0):H.value,h(B,w,k);else for($=c(O),B=T?new this($):m($);$>w;w++)k=F?M(O[w],w):O[w],h(B,w,k);return B.length=w,B}},94319:function(l,p,t){var r=t(36859),e=t(4652),o=t(82628),s=function(u){return function(f,c,h){var v=r(f),y=o(v);if(y===0)return!u&&-1;var m=e(h,y),E;if(u&&c!==c){for(;y>m;)if(E=v[m++],E!==E)return!0}else for(;y>m;m++)if((u||m in v)&&v[m]===c)return u||m||0;return!u&&-1}};l.exports={includes:s(!0),indexOf:s(!1)}},73849:function(l,p,t){var r=t(45526),e=t(72181),o=t(49671),s=t(82628),u=function(f){var c=f===1;return function(h,v,y){for(var m=o(h),E=e(m),I=s(E),O=r(v,y),T,N;I-- >0;)if(T=E[I],N=O(T,I,m),N)switch(f){case 0:return T;case 1:return I}return c?-1:void 0}};l.exports={findLast:u(0),findLastIndex:u(1)}},66655:function(l,p,t){var r=t(45526),e=t(11286),o=t(72181),s=t(49671),u=t(82628),f=t(62083),c=e([].push),h=function(v){var y=v===1,m=v===2,E=v===3,I=v===4,O=v===6,T=v===7,N=v===5||O;return function(M,F,D,w){for(var $=s(M),B=o($),H=u(B),X=r(F,D),Y=0,k=w||f,ot=y?k(M,H):m||T?k(M,0):void 0,st,tt;H>Y;Y++)if((N||Y in B)&&(st=B[Y],tt=X(st,Y,$),v))if(y)ot[Y]=tt;else if(tt)switch(v){case 3:return!0;case 5:return st;case 6:return Y;case 2:c(ot,st)}else switch(v){case 4:return!1;case 7:c(ot,st)}return O?-1:E||I?I:ot}};l.exports={forEach:h(0),map:h(1),filter:h(2),some:h(3),every:h(4),find:h(5),findIndex:h(6),filterReject:h(7)}},58465:function(l,p,t){var r=t(66543),e=t(36859),o=t(12105),s=t(82628),u=t(6148),f=Math.min,c=[].lastIndexOf,h=!!c&&1/[1].lastIndexOf(1,-0)<0,v=u("lastIndexOf"),y=h||!v;l.exports=y?function(E){if(h)return r(c,this,arguments)||0;var I=e(this),O=s(I);if(O===0)return-1;var T=O-1;for(arguments.length>1&&(T=f(T,o(arguments[1]))),T<0&&(T=O+T);T>=0;T--)if(T in I&&I[T]===E)return T||0;return-1}:c},52183:function(l,p,t){var r=t(72069),e=t(18565),o=t(44241),s=e("species");l.exports=function(u){return o>=51||!r(function(){var f=[],c=f.constructor={};return c[s]=function(){return{foo:1}},f[u](Boolean).foo!==1})}},6148:function(l,p,t){var r=t(72069);l.exports=function(e,o){var s=[][e];return!!s&&r(function(){s.call(null,o||function(){return 1},1)})}},97264:function(l,p,t){var r=t(85156),e=t(49671),o=t(72181),s=t(82628),u=TypeError,f="Reduce of empty array with no initial value",c=function(h){return function(v,y,m,E){var I=e(v),O=o(I),T=s(I);if(r(y),T===0&&m<2)throw new u(f);var N=h?T-1:0,M=h?-1:1;if(m<2)for(;;){if(N in O){E=O[N],N+=M;break}if(N+=M,h?N<0:T<=N)throw new u(f)}for(;h?N>=0:T>N;N+=M)N in O&&(E=y(E,O[N],N,I));return E}};l.exports={left:c(!1),right:c(!0)}},2213:function(l,p,t){var r=t(92986),e=t(3438),o=TypeError,s=Object.getOwnPropertyDescriptor,u=r&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(f){return f instanceof TypeError}}();l.exports=u?function(f,c){if(e(f)&&!s(f,"length").writable)throw new o("Cannot set read only .length");return f.length=c}:function(f,c){return f.length=c}},22806:function(l,p,t){var r=t(11286);l.exports=r([].slice)},13270:function(l,p,t){var r=t(22806),e=Math.floor,o=function(s,u){var f=s.length;if(f<8)for(var c=1,h,v;c<f;){for(v=c,h=s[c];v&&u(s[v-1],h)>0;)s[v]=s[--v];v!==c++&&(s[v]=h)}else for(var y=e(f/2),m=o(r(s,0,y),u),E=o(r(s,y),u),I=m.length,O=E.length,T=0,N=0;T<I||N<O;)s[T+N]=T<I&&N<O?u(m[T],E[N])<=0?m[T++]:E[N++]:T<I?m[T++]:E[N++];return s};l.exports=o},37555:function(l,p,t){var r=t(3438),e=t(11051),o=t(37540),s=t(18565),u=s("species"),f=Array;l.exports=function(c){var h;return r(c)&&(h=c.constructor,e(h)&&(h===f||r(h.prototype))?h=void 0:o(h)&&(h=h[u],h===null&&(h=void 0))),h===void 0?f:h}},62083:function(l,p,t){var r=t(37555);l.exports=function(e,o){return new(r(e))(o===0?0:o)}},61638:function(l,p,t){var r=t(82628);l.exports=function(e,o){for(var s=r(e),u=new o(s),f=0;f<s;f++)u[f]=e[s-f-1];return u}},72302:function(l,p,t){var r=t(82628),e=t(12105),o=RangeError;l.exports=function(s,u,f,c){var h=r(s),v=e(f),y=v<0?h+v:v;if(y>=h||y<0)throw new o("Incorrect index");for(var m=new u(h),E=0;E<h;E++)m[E]=E===y?c:s[E];return m}},6210:function(l){var p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t=p+"+/",r=p+"-_",e=function(o){for(var s={},u=0;u<64;u++)s[o.charAt(u)]=u;return s};l.exports={i2c:t,c2i:e(t),i2cUrl:r,c2iUrl:e(r)}},39969:function(l,p,t){var r=t(25001),e=t(99797);l.exports=function(o,s,u,f){try{return f?s(r(u)[0],u[1]):s(u)}catch(c){e(o,"throw",c)}}},97494:function(l,p,t){var r=t(18565),e=r("iterator"),o=!1;try{var s=0,u={next:function(){return{done:!!s++}},return:function(){o=!0}};u[e]=function(){return this},Array.from(u,function(){throw 2})}catch(f){}l.exports=function(f,c){try{if(!c&&!o)return!1}catch(y){return!1}var h=!1;try{var v={};v[e]=function(){return{next:function(){return{done:h=!0}}}},f(v)}catch(y){}return h}},14274:function(l,p,t){var r=t(11286),e=r({}.toString),o=r("".slice);l.exports=function(s){return o(e(s),8,-1)}},9205:function(l,p,t){var r=t(67878),e=t(23583),o=t(14274),s=t(18565),u=s("toStringTag"),f=Object,c=o(function(){return arguments}())==="Arguments",h=function(v,y){try{return v[y]}catch(m){}};l.exports=r?o:function(v){var y,m,E;return v===void 0?"Undefined":v===null?"Null":typeof(m=h(y=f(v),u))=="string"?m:c?o(y):(E=o(y))==="Object"&&e(y.callee)?"Arguments":E}},34440:function(l,p,t){var r=t(5406),e=t(85500),o=t(2725),s=t(45526),u=t(12833),f=t(5683),c=t(55902),h=t(10218),v=t(10659),y=t(36167),m=t(92986),E=t(31853).fastKey,I=t(82367),O=I.set,T=I.getterFor;l.exports={getConstructor:function(N,M,F,D){var w=N(function(Y,k){u(Y,$),O(Y,{type:M,index:r(null),first:null,last:null,size:0}),m||(Y.size=0),f(k)||c(k,Y[D],{that:Y,AS_ENTRIES:F})}),$=w.prototype,B=T(M),H=function(Y,k,ot){var st=B(Y),tt=X(Y,k),et,at;return tt?tt.value=ot:(st.last=tt={index:at=E(k,!0),key:k,value:ot,previous:et=st.last,next:null,removed:!1},st.first||(st.first=tt),et&&(et.next=tt),m?st.size++:Y.size++,at!=="F"&&(st.index[at]=tt)),Y},X=function(Y,k){var ot=B(Y),st=E(k),tt;if(st!=="F")return ot.index[st];for(tt=ot.first;tt;tt=tt.next)if(tt.key===k)return tt};return o($,{clear:function(){for(var k=this,ot=B(k),st=ot.first;st;)st.removed=!0,st.previous&&(st.previous=st.previous.next=null),st=st.next;ot.first=ot.last=null,ot.index=r(null),m?ot.size=0:k.size=0},delete:function(Y){var k=this,ot=B(k),st=X(k,Y);if(st){var tt=st.next,et=st.previous;delete ot.index[st.index],st.removed=!0,et&&(et.next=tt),tt&&(tt.previous=et),ot.first===st&&(ot.first=tt),ot.last===st&&(ot.last=et),m?ot.size--:k.size--}return!!st},forEach:function(k){for(var ot=B(this),st=s(k,arguments.length>1?arguments[1]:void 0),tt;tt=tt?tt.next:ot.first;)for(st(tt.value,tt.key,this);tt&&tt.removed;)tt=tt.previous},has:function(k){return!!X(this,k)}}),o($,F?{get:function(k){var ot=X(this,k);return ot&&ot.value},set:function(k,ot){return H(this,k===0?0:k,ot)}}:{add:function(k){return H(this,k=k===0?0:k,k)}}),m&&e($,"size",{configurable:!0,get:function(){return B(this).size}}),w},setStrong:function(N,M,F){var D=M+" Iterator",w=T(M),$=T(D);h(N,M,function(B,H){O(this,{type:D,target:B,state:w(B),kind:H,last:null})},function(){for(var B=$(this),H=B.kind,X=B.last;X&&X.removed;)X=X.previous;return!B.target||!(B.last=X=X?X.next:B.state.first)?(B.target=null,v(void 0,!0)):v(H==="keys"?X.key:H==="values"?X.value:[X.key,X.value],!1)},F?"entries":"values",!F,!0),y(M)}}},94667:function(l,p,t){var r=t(11286),e=t(2725),o=t(31853).getWeakData,s=t(12833),u=t(25001),f=t(5683),c=t(37540),h=t(55902),v=t(66655),y=t(94879),m=t(82367),E=m.set,I=m.getterFor,O=v.find,T=v.findIndex,N=r([].splice),M=0,F=function($){return $.frozen||($.frozen=new D)},D=function(){this.entries=[]},w=function($,B){return O($.entries,function(H){return H[0]===B})};D.prototype={get:function($){var B=w(this,$);if(B)return B[1]},has:function($){return!!w(this,$)},set:function($,B){var H=w(this,$);H?H[1]=B:this.entries.push([$,B])},delete:function($){var B=T(this.entries,function(H){return H[0]===$});return~B&&N(this.entries,B,1),!!~B}},l.exports={getConstructor:function($,B,H,X){var Y=$(function(tt,et){s(tt,k),E(tt,{type:B,id:M++,frozen:null}),f(et)||h(et,tt[X],{that:tt,AS_ENTRIES:H})}),k=Y.prototype,ot=I(B),st=function(tt,et,at){var gt=ot(tt),Pt=o(u(et),!0);return Pt===!0?F(gt).set(et,at):Pt[gt.id]=at,tt};return e(k,{delete:function(tt){var et=ot(this);if(!c(tt))return!1;var at=o(tt);return at===!0?F(et).delete(tt):at&&y(at,et.id)&&delete at[et.id]},has:function(et){var at=ot(this);if(!c(et))return!1;var gt=o(et);return gt===!0?F(at).has(et):gt&&y(gt,at.id)}}),e(k,H?{get:function(et){var at=ot(this);if(c(et)){var gt=o(et);if(gt===!0)return F(at).get(et);if(gt)return gt[at.id]}},set:function(et,at){return st(this,et,at)}}:{add:function(et){return st(this,et,!0)}}),Y}}},89378:function(l,p,t){var r=t(14304),e=t(34246),o=t(11286),s=t(13278),u=t(16142),f=t(31853),c=t(55902),h=t(12833),v=t(23583),y=t(5683),m=t(37540),E=t(72069),I=t(97494),O=t(78401),T=t(32345);l.exports=function(N,M,F){var D=N.indexOf("Map")!==-1,w=N.indexOf("Weak")!==-1,$=D?"set":"add",B=e[N],H=B&&B.prototype,X=B,Y={},k=function(Pt){var Ot=o(H[Pt]);u(H,Pt,Pt==="add"?function(It){return Ot(this,It===0?0:It),this}:Pt==="delete"?function(Nt){return w&&!m(Nt)?!1:Ot(this,Nt===0?0:Nt)}:Pt==="get"?function(It){return w&&!m(It)?void 0:Ot(this,It===0?0:It)}:Pt==="has"?function(It){return w&&!m(It)?!1:Ot(this,It===0?0:It)}:function(It,qt){return Ot(this,It===0?0:It,qt),this})},ot=s(N,!v(B)||!(w||H.forEach&&!E(function(){new B().entries().next()})));if(ot)X=F.getConstructor(M,N,D,$),f.enable();else if(s(N,!0)){var st=new X,tt=st[$](w?{}:-0,1)!==st,et=E(function(){st.has(1)}),at=I(function(Pt){new B(Pt)}),gt=!w&&E(function(){for(var Pt=new B,Ot=5;Ot--;)Pt[$](Ot,Ot);return!Pt.has(-0)});at||(X=M(function(Pt,Ot){h(Pt,H);var Nt=T(new B,Pt,X);return y(Ot)||c(Ot,Nt[$],{that:Nt,AS_ENTRIES:D}),Nt}),X.prototype=H,H.constructor=X),(et||gt)&&(k("delete"),k("has"),D&&k("get")),(gt||tt)&&k($),w&&H.clear&&delete H.clear}return Y[N]=X,r({global:!0,constructor:!0,forced:X!==B},Y),O(X,N),w||F.setStrong(X,N,D),X}},93706:function(l,p,t){var r=t(94879),e=t(16885),o=t(71349),s=t(7831);l.exports=function(u,f,c){for(var h=e(f),v=s.f,y=o.f,m=0;m<h.length;m++){var E=h[m];!r(u,E)&&!(c&&r(c,E))&&v(u,E,y(f,E))}}},8790:function(l,p,t){var r=t(18565),e=r("match");l.exports=function(o){var s=/./;try{"/./"[o](s)}catch(u){try{return s[e]=!1,"/./"[o](s)}catch(f){}}return!1}},87501:function(l,p,t){var r=t(72069);l.exports=!r(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})},68422:function(l,p,t){var r=t(11286),e=t(2068),o=t(17361),s=/"/g,u=r("".replace);l.exports=function(f,c,h,v){var y=o(e(f)),m="<"+c;return h!==""&&(m+=" "+h+'="'+u(o(v),s,""")+'"'),m+">"+y+"</"+c+">"}},10659:function(l){l.exports=function(p,t){return{value:p,done:t}}},90809:function(l,p,t){var r=t(92986),e=t(7831),o=t(18526);l.exports=r?function(s,u,f){return e.f(s,u,o(1,f))}:function(s,u,f){return s[u]=f,s}},18526:function(l){l.exports=function(p,t){return{enumerable:!(p&1),configurable:!(p&2),writable:!(p&4),value:t}}},84082:function(l,p,t){var r=t(92986),e=t(7831),o=t(18526);l.exports=function(s,u,f){r?e.f(s,u,o(0,f)):s[u]=f}},11890:function(l,p,t){var r=t(11286),e=t(72069),o=t(61607).start,s=RangeError,u=isFinite,f=Math.abs,c=Date.prototype,h=c.toISOString,v=r(c.getTime),y=r(c.getUTCDate),m=r(c.getUTCFullYear),E=r(c.getUTCHours),I=r(c.getUTCMilliseconds),O=r(c.getUTCMinutes),T=r(c.getUTCMonth),N=r(c.getUTCSeconds);l.exports=e(function(){return h.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!e(function(){h.call(new Date(NaN))})?function(){if(!u(v(this)))throw new s("Invalid time value");var F=this,D=m(F),w=I(F),$=D<0?"-":D>9999?"+":"";return $+o(f(D),$?6:4,0)+"-"+o(T(F)+1,2,0)+"-"+o(y(F),2,0)+"T"+o(E(F),2,0)+":"+o(O(F),2,0)+":"+o(N(F),2,0)+"."+o(w,3,0)+"Z"}:h},84306:function(l,p,t){var r=t(25001),e=t(2064),o=TypeError;l.exports=function(s){if(r(this),s==="string"||s==="default")s="string";else if(s!=="number")throw new o("Incorrect hint");return e(this,s)}},85500:function(l,p,t){var r=t(13749),e=t(7831);l.exports=function(o,s,u){return u.get&&r(u.get,s,{getter:!0}),u.set&&r(u.set,s,{setter:!0}),e.f(o,s,u)}},16142:function(l,p,t){var r=t(23583),e=t(7831),o=t(13749),s=t(36003);l.exports=function(u,f,c,h){h||(h={});var v=h.enumerable,y=h.name!==void 0?h.name:f;if(r(c)&&o(c,y,h),h.global)v?u[f]=c:s(f,c);else{try{h.unsafe?u[f]&&(v=!0):delete u[f]}catch(m){}v?u[f]=c:e.f(u,f,{value:c,enumerable:!1,configurable:!h.nonConfigurable,writable:!h.nonWritable})}return u}},2725:function(l,p,t){var r=t(16142);l.exports=function(e,o,s){for(var u in o)r(e,u,o[u],s);return e}},36003:function(l,p,t){var r=t(34246),e=Object.defineProperty;l.exports=function(o,s){try{e(r,o,{value:s,configurable:!0,writable:!0})}catch(u){r[o]=s}return s}},12384:function(l,p,t){var r=t(82453),e=TypeError;l.exports=function(o,s){if(!delete o[s])throw new e("Cannot delete property "+r(s)+" of "+r(o))}},92986:function(l,p,t){var r=t(72069);l.exports=!r(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},63741:function(l,p,t){var r=t(34246),e=t(81191),o=t(99050),s=r.structuredClone,u=r.ArrayBuffer,f=r.MessageChannel,c=!1,h,v,y,m;if(o)c=function(E){s(E,{transfer:[E]})};else if(u)try{f||(h=e("worker_threads"),h&&(f=h.MessageChannel)),f&&(v=new f,y=new u(2),m=function(E){v.port1.postMessage(null,[E])},y.byteLength===2&&(m(y),y.byteLength===0&&(c=m)))}catch(E){}l.exports=c},85501:function(l,p,t){var r=t(34246),e=t(37540),o=r.document,s=e(o)&&e(o.createElement);l.exports=function(u){return s?o.createElement(u):{}}},20095:function(l){var p=TypeError,t=9007199254740991;l.exports=function(r){if(r>t)throw p("Maximum allowed index exceeded");return r}},74408:function(l){l.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},93014:function(l){l.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},39882:function(l,p,t){var r=t(85501),e=r("span").classList,o=e&&e.constructor&&e.constructor.prototype;l.exports=o===Object.prototype?void 0:o},75785:function(l){l.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},507:function(l,p,t){var r=t(18257),e=r.match(/firefox\/(\d+)/i);l.exports=!!e&&+e[1]},17417:function(l,p,t){var r=t(18257);l.exports=/MSIE|Trident/.test(r)},7307:function(l,p,t){var r=t(18257);l.exports=/ipad|iphone|ipod/i.test(r)&&typeof Pebble!="undefined"},5286:function(l,p,t){var r=t(18257);l.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(r)},91707:function(l,p,t){var r=t(21501);l.exports=r==="NODE"},67722:function(l,p,t){var r=t(18257);l.exports=/web0s(?!.*chrome)/i.test(r)},18257:function(l,p,t){var r=t(34246),e=r.navigator,o=e&&e.userAgent;l.exports=o?String(o):""},44241:function(l,p,t){var r=t(34246),e=t(18257),o=r.process,s=r.Deno,u=o&&o.versions||s&&s.version,f=u&&u.v8,c,h;f&&(c=f.split("."),h=c[0]>0&&c[0]<4?1:+(c[0]+c[1])),!h&&e&&(c=e.match(/Edge\/(\d+)/),(!c||c[1]>=74)&&(c=e.match(/Chrome\/(\d+)/),c&&(h=+c[1]))),l.exports=h},66577:function(l,p,t){var r=t(18257),e=r.match(/AppleWebKit\/(\d+)\./);l.exports=!!e&&+e[1]},21501:function(l,p,t){var r=t(34246),e=t(18257),o=t(14274),s=function(u){return e.slice(0,u.length)===u};l.exports=function(){return s("Bun/")?"BUN":s("Cloudflare-Workers")?"CLOUDFLARE":s("Deno/")?"DENO":s("Node.js/")?"NODE":r.Bun&&typeof Bun.version=="string"?"BUN":r.Deno&&typeof Deno.version=="object"?"DENO":o(r.process)==="process"?"NODE":r.window&&r.document?"BROWSER":"REST"}()},40851:function(l,p,t){var r=t(11286),e=Error,o=r("".replace),s=function(c){return String(new e(c).stack)}("zxcasd"),u=/\n\s*at [^:]*:[^\n]*/,f=u.test(s);l.exports=function(c,h){if(f&&typeof c=="string"&&!e.prepareStackTrace)for(;h--;)c=o(c,u,"");return c}},97077:function(l,p,t){var r=t(90809),e=t(40851),o=t(16929),s=Error.captureStackTrace;l.exports=function(u,f,c,h){o&&(s?s(u,f):r(u,"stack",e(c,h)))}},16929:function(l,p,t){var r=t(72069),e=t(18526);l.exports=!r(function(){var o=new Error("a");return"stack"in o?(Object.defineProperty(o,"stack",e(1,7)),o.stack!==7):!0})},58434:function(l,p,t){var r=t(92986),e=t(72069),o=t(25001),s=t(15453),u=Error.prototype.toString,f=e(function(){if(r){var c=Object.create(Object.defineProperty({},"name",{get:function(){return this===c}}));if(u.call(c)!=="true")return!0}return u.call({message:1,name:2})!=="2: 1"||u.call({})!=="Error"});l.exports=f?function(){var h=o(this),v=s(h.name,"Error"),y=s(h.message);return v?y?v+": "+y:v:y}:u},14304:function(l,p,t){var r=t(34246),e=t(71349).f,o=t(90809),s=t(16142),u=t(36003),f=t(93706),c=t(13278);l.exports=function(h,v){var y=h.target,m=h.global,E=h.stat,I,O,T,N,M,F;if(m?O=r:E?O=r[y]||u(y,{}):O=r[y]&&r[y].prototype,O)for(T in v){if(M=v[T],h.dontCallGetSet?(F=e(O,T),N=F&&F.value):N=O[T],I=c(m?T:y+(E?".":"#")+T,h.forced),!I&&N!==void 0){if(typeof M==typeof N)continue;f(M,N)}(h.sham||N&&N.sham)&&o(M,"sham",!0),s(O,T,M,h)}}},72069:function(l){l.exports=function(p){try{return!!p()}catch(t){return!0}}},63194:function(l,p,t){t(31145);var r=t(96499),e=t(16142),o=t(44381),s=t(72069),u=t(18565),f=t(90809),c=u("species"),h=RegExp.prototype;l.exports=function(v,y,m,E){var I=u(v),O=!s(function(){var F={};return F[I]=function(){return 7},""[v](F)!==7}),T=O&&!s(function(){var F=!1,D=/a/;return v==="split"&&(D={},D.constructor={},D.constructor[c]=function(){return D},D.flags="",D[I]=/./[I]),D.exec=function(){return F=!0,null},D[I](""),!F});if(!O||!T||m){var N=/./[I],M=y(I,""[v],function(F,D,w,$,B){var H=D.exec;return H===o||H===h.exec?O&&!B?{done:!0,value:r(N,D,w,$)}:{done:!0,value:r(F,w,D,$)}:{done:!1}});e(String.prototype,v,M[0]),e(h,I,M[1])}E&&f(h[I],"sham",!0)}},53149:function(l,p,t){var r=t(3438),e=t(82628),o=t(20095),s=t(45526),u=function(f,c,h,v,y,m,E,I){for(var O=y,T=0,N=E?s(E,I):!1,M,F;T<v;)T in h&&(M=N?N(h[T],T,c):h[T],m>0&&r(M)?(F=e(M),O=u(f,c,M,F,O,m-1)-1):(o(O+1),f[O]=M),O++),T++;return O};l.exports=u},27534:function(l,p,t){var r=t(72069);l.exports=!r(function(){return Object.isExtensible(Object.preventExtensions({}))})},66543:function(l,p,t){var r=t(87878),e=Function.prototype,o=e.apply,s=e.call;l.exports=typeof Reflect=="object"&&Reflect.apply||(r?s.bind(o):function(){return s.apply(o,arguments)})},45526:function(l,p,t){var r=t(77422),e=t(85156),o=t(87878),s=r(r.bind);l.exports=function(u,f){return e(u),f===void 0?u:o?s(u,f):function(){return u.apply(f,arguments)}}},87878:function(l,p,t){var r=t(72069);l.exports=!r(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")})},91384:function(l,p,t){var r=t(11286),e=t(85156),o=t(37540),s=t(94879),u=t(22806),f=t(87878),c=Function,h=r([].concat),v=r([].join),y={},m=function(E,I,O){if(!s(y,I)){for(var T=[],N=0;N<I;N++)T[N]="a["+N+"]";y[I]=c("C,a","return new C("+v(T,",")+")")}return y[I](E,O)};l.exports=f?c.bind:function(I){var O=e(this),T=O.prototype,N=u(arguments,1),M=function(){var D=h(N,u(arguments));return this instanceof M?m(O,D.length,D):O.apply(I,D)};return o(T)&&(M.prototype=T),M}},96499:function(l,p,t){var r=t(87878),e=Function.prototype.call;l.exports=r?e.bind(e):function(){return e.apply(e,arguments)}},86588:function(l,p,t){var r=t(92986),e=t(94879),o=Function.prototype,s=r&&Object.getOwnPropertyDescriptor,u=e(o,"name"),f=u&&function(){}.name==="something",c=u&&(!r||r&&s(o,"name").configurable);l.exports={EXISTS:u,PROPER:f,CONFIGURABLE:c}},84756:function(l,p,t){var r=t(11286),e=t(85156);l.exports=function(o,s,u){try{return r(e(Object.getOwnPropertyDescriptor(o,s)[u]))}catch(f){}}},77422:function(l,p,t){var r=t(14274),e=t(11286);l.exports=function(o){if(r(o)==="Function")return e(o)}},11286:function(l,p,t){var r=t(87878),e=Function.prototype,o=e.call,s=r&&e.bind.bind(o,o);l.exports=r?s:function(u){return function(){return o.apply(u,arguments)}}},81191:function(l,p,t){var r=t(34246),e=t(91707);l.exports=function(o){if(e){try{return r.process.getBuiltinModule(o)}catch(s){}try{return Function('return require("'+o+'")')()}catch(s){}}}},65470:function(l,p,t){var r=t(34246);l.exports=function(e,o){var s=r[e],u=s&&s.prototype;return u&&u[o]}},38941:function(l,p,t){var r=t(34246),e=t(23583),o=function(s){return e(s)?s:void 0};l.exports=function(s,u){return arguments.length<2?o(r[s]):r[s]&&r[s][u]}},10613:function(l){l.exports=function(p){return{iterator:p,next:p.next,done:!1}}},12124:function(l,p,t){var r=t(96499),e=t(25001),o=t(10613),s=t(81077);l.exports=function(u,f){(!f||typeof u!="string")&&e(u);var c=s(u);return o(e(c!==void 0?r(c,u):u))}},81077:function(l,p,t){var r=t(9205),e=t(10512),o=t(5683),s=t(29107),u=t(18565),f=u("iterator");l.exports=function(c){if(!o(c))return e(c,f)||e(c,"@@iterator")||s[r(c)]}},90619:function(l,p,t){var r=t(96499),e=t(85156),o=t(25001),s=t(82453),u=t(81077),f=TypeError;l.exports=function(c,h){var v=arguments.length<2?u(c):h;if(e(v))return o(r(v,c));throw new f(s(c)+" is not iterable")}},10443:function(l,p,t){var r=t(11286),e=t(3438),o=t(23583),s=t(14274),u=t(17361),f=r([].push);l.exports=function(c){if(o(c))return c;if(e(c)){for(var h=c.length,v=[],y=0;y<h;y++){var m=c[y];typeof m=="string"?f(v,m):(typeof m=="number"||s(m)==="Number"||s(m)==="String")&&f(v,u(m))}var E=v.length,I=!0;return function(O,T){if(I)return I=!1,T;if(e(this))return T;for(var N=0;N<E;N++)if(v[N]===O)return T}}}},10512:function(l,p,t){var r=t(85156),e=t(5683);l.exports=function(o,s){var u=o[s];return e(u)?void 0:r(u)}},65263:function(l,p,t){var r=t(85156),e=t(25001),o=t(96499),s=t(12105),u=t(10613),f="Invalid size",c=RangeError,h=TypeError,v=Math.max,y=function(m,E){this.set=m,this.size=v(E,0),this.has=r(m.has),this.keys=r(m.keys)};y.prototype={getIterator:function(){return u(e(o(this.keys,this.set)))},includes:function(m){return o(this.has,this.set,m)}},l.exports=function(m){e(m);var E=+m.size;if(E!==E)throw new h(f);var I=s(E);if(I<0)throw new c(f);return new y(m,I)}},38368:function(l,p,t){var r=t(11286),e=t(49671),o=Math.floor,s=r("".charAt),u=r("".replace),f=r("".slice),c=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,h=/\$([$&'`]|\d{1,2})/g;l.exports=function(v,y,m,E,I,O){var T=m+v.length,N=E.length,M=h;return I!==void 0&&(I=e(I),M=c),u(O,M,function(F,D){var w;switch(s(D,0)){case"$":return"$";case"&":return v;case"`":return f(y,0,m);case"'":return f(y,T);case"<":w=I[f(D,1,-1)];break;default:var $=+D;if($===0)return F;if($>N){var B=o($/10);return B===0?F:B<=N?E[B-1]===void 0?s(D,1):E[B-1]+s(D,1):F}w=E[$-1]}return w===void 0?"":w})}},34246:function(l){var p=function(t){return t&&t.Math===Math&&t};l.exports=p(typeof globalThis=="object"&&globalThis)||p(typeof window=="object"&&window)||p(typeof self=="object"&&self)||p(typeof global=="object"&&global)||p(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},94879:function(l,p,t){var r=t(11286),e=t(49671),o=r({}.hasOwnProperty);l.exports=Object.hasOwn||function(u,f){return o(e(u),f)}},19423:function(l){l.exports={}},99095:function(l){l.exports=function(p,t){try{arguments.length===1?console.error(p):console.error(p,t)}catch(r){}}},96439:function(l,p,t){var r=t(38941);l.exports=r("document","documentElement")},52515:function(l,p,t){var r=t(92986),e=t(72069),o=t(85501);l.exports=!r&&!e(function(){return Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a!==7})},25212:function(l){var p=Array,t=Math.abs,r=Math.pow,e=Math.floor,o=Math.log,s=Math.LN2,u=function(c,h,v){var y=p(v),m=v*8-h-1,E=(1<<m)-1,I=E>>1,O=h===23?r(2,-24)-r(2,-77):0,T=c<0||c===0&&1/c<0?1:0,N=0,M,F,D;for(c=t(c),c!==c||c===1/0?(F=c!==c?1:0,M=E):(M=e(o(c)/s),D=r(2,-M),c*D<1&&(M--,D*=2),M+I>=1?c+=O/D:c+=O*r(2,1-I),c*D>=2&&(M++,D/=2),M+I>=E?(F=0,M=E):M+I>=1?(F=(c*D-1)*r(2,h),M+=I):(F=c*r(2,I-1)*r(2,h),M=0));h>=8;)y[N++]=F&255,F/=256,h-=8;for(M=M<<h|F,m+=h;m>0;)y[N++]=M&255,M/=256,m-=8;return y[N-1]|=T*128,y},f=function(c,h){var v=c.length,y=v*8-h-1,m=(1<<y)-1,E=m>>1,I=y-7,O=v-1,T=c[O--],N=T&127,M;for(T>>=7;I>0;)N=N*256+c[O--],I-=8;for(M=N&(1<<-I)-1,N>>=-I,I+=h;I>0;)M=M*256+c[O--],I-=8;if(N===0)N=1-E;else{if(N===m)return M?NaN:T?-1/0:1/0;M+=r(2,h),N-=E}return(T?-1:1)*M*r(2,N-h)};l.exports={pack:u,unpack:f}},72181:function(l,p,t){var r=t(11286),e=t(72069),o=t(14274),s=Object,u=r("".split);l.exports=e(function(){return!s("z").propertyIsEnumerable(0)})?function(f){return o(f)==="String"?u(f,""):s(f)}:s},32345:function(l,p,t){var r=t(23583),e=t(37540),o=t(15861);l.exports=function(s,u,f){var c,h;return o&&r(c=u.constructor)&&c!==f&&e(h=c.prototype)&&h!==f.prototype&&o(s,h),s}},84352:function(l,p,t){var r=t(11286),e=t(23583),o=t(70443),s=r(Function.toString);e(o.inspectSource)||(o.inspectSource=function(u){return s(u)}),l.exports=o.inspectSource},31486:function(l,p,t){var r=t(37540),e=t(90809);l.exports=function(o,s){r(s)&&"cause"in s&&e(o,"cause",s.cause)}},31853:function(l,p,t){var r=t(14304),e=t(11286),o=t(19423),s=t(37540),u=t(94879),f=t(7831).f,c=t(83258),h=t(92880),v=t(28174),y=t(36374),m=t(27534),E=!1,I=y("meta"),O=0,T=function($){f($,I,{value:{objectID:"O"+O++,weakData:{}}})},N=function($,B){if(!s($))return typeof $=="symbol"?$:(typeof $=="string"?"S":"P")+$;if(!u($,I)){if(!v($))return"F";if(!B)return"E";T($)}return $[I].objectID},M=function($,B){if(!u($,I)){if(!v($))return!0;if(!B)return!1;T($)}return $[I].weakData},F=function($){return m&&E&&v($)&&!u($,I)&&T($),$},D=function(){w.enable=function(){},E=!0;var $=c.f,B=e([].splice),H={};H[I]=1,$(H).length&&(c.f=function(X){for(var Y=$(X),k=0,ot=Y.length;k<ot;k++)if(Y[k]===I){B(Y,k,1);break}return Y},r({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:h.f}))},w=l.exports={enable:D,fastKey:N,getWeakData:M,onFreeze:F};o[I]=!0},82367:function(l,p,t){var r=t(42960),e=t(34246),o=t(37540),s=t(90809),u=t(94879),f=t(70443),c=t(44869),h=t(19423),v="Object already initialized",y=e.TypeError,m=e.WeakMap,E,I,O,T=function(D){return O(D)?I(D):E(D,{})},N=function(D){return function(w){var $;if(!o(w)||($=I(w)).type!==D)throw new y("Incompatible receiver, "+D+" required");return $}};if(r||f.state){var M=f.state||(f.state=new m);M.get=M.get,M.has=M.has,M.set=M.set,E=function(D,w){if(M.has(D))throw new y(v);return w.facade=D,M.set(D,w),w},I=function(D){return M.get(D)||{}},O=function(D){return M.has(D)}}else{var F=c("state");h[F]=!0,E=function(D,w){if(u(D,F))throw new y(v);return w.facade=D,s(D,F,w),w},I=function(D){return u(D,F)?D[F]:{}},O=function(D){return u(D,F)}}l.exports={set:E,get:I,has:O,enforce:T,getterFor:N}},48199:function(l,p,t){var r=t(18565),e=t(29107),o=r("iterator"),s=Array.prototype;l.exports=function(u){return u!==void 0&&(e.Array===u||s[o]===u)}},3438:function(l,p,t){var r=t(14274);l.exports=Array.isArray||function(o){return r(o)==="Array"}},77129:function(l,p,t){var r=t(9205);l.exports=function(e){var o=r(e);return o==="BigInt64Array"||o==="BigUint64Array"}},23583:function(l){var p=typeof document=="object"&&document.all;l.exports=typeof p=="undefined"&&p!==void 0?function(t){return typeof t=="function"||t===p}:function(t){return typeof t=="function"}},11051:function(l,p,t){var r=t(11286),e=t(72069),o=t(23583),s=t(9205),u=t(38941),f=t(84352),c=function(){},h=u("Reflect","construct"),v=/^\s*(?:class|function)\b/,y=r(v.exec),m=!v.test(c),E=function(T){if(!o(T))return!1;try{return h(c,[],T),!0}catch(N){return!1}},I=function(T){if(!o(T))return!1;switch(s(T)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return m||!!y(v,f(T))}catch(N){return!0}};I.sham=!0,l.exports=!h||e(function(){var O;return E(E.call)||!E(Object)||!E(function(){O=!0})||O})?I:E},69745:function(l,p,t){var r=t(94879);l.exports=function(e){return e!==void 0&&(r(e,"value")||r(e,"writable"))}},13278:function(l,p,t){var r=t(72069),e=t(23583),o=/#|\.prototype\./,s=function(v,y){var m=f[u(v)];return m===h?!0:m===c?!1:e(y)?r(y):!!y},u=s.normalize=function(v){return String(v).replace(o,".").toLowerCase()},f=s.data={},c=s.NATIVE="N",h=s.POLYFILL="P";l.exports=s},613:function(l,p,t){var r=t(37540),e=Math.floor;l.exports=Number.isInteger||function(s){return!r(s)&&isFinite(s)&&e(s)===s}},5683:function(l){l.exports=function(p){return p==null}},37540:function(l,p,t){var r=t(23583);l.exports=function(e){return typeof e=="object"?e!==null:r(e)}},52427:function(l,p,t){var r=t(37540);l.exports=function(e){return r(e)||e===null}},70457:function(l){l.exports=!1},11566:function(l,p,t){var r=t(37540),e=t(14274),o=t(18565),s=o("match");l.exports=function(u){var f;return r(u)&&((f=u[s])!==void 0?!!f:e(u)==="RegExp")}},491:function(l,p,t){var r=t(38941),e=t(23583),o=t(95307),s=t(50234),u=Object;l.exports=s?function(f){return typeof f=="symbol"}:function(f){var c=r("Symbol");return e(c)&&o(c.prototype,u(f))}},9573:function(l,p,t){var r=t(96499);l.exports=function(e,o,s){for(var u=s?e:e.iterator,f=e.next,c,h;!(c=r(f,u)).done;)if(h=o(c.value),h!==void 0)return h}},55902:function(l,p,t){var r=t(45526),e=t(96499),o=t(25001),s=t(82453),u=t(48199),f=t(82628),c=t(95307),h=t(90619),v=t(81077),y=t(99797),m=TypeError,E=function(O,T){this.stopped=O,this.result=T},I=E.prototype;l.exports=function(O,T,N){var M=N&&N.that,F=!!(N&&N.AS_ENTRIES),D=!!(N&&N.IS_RECORD),w=!!(N&&N.IS_ITERATOR),$=!!(N&&N.INTERRUPTED),B=r(T,M),H,X,Y,k,ot,st,tt,et=function(gt){return H&&y(H,"normal",gt),new E(!0,gt)},at=function(gt){return F?(o(gt),$?B(gt[0],gt[1],et):B(gt[0],gt[1])):$?B(gt,et):B(gt)};if(D)H=O.iterator;else if(w)H=O;else{if(X=v(O),!X)throw new m(s(O)+" is not iterable");if(u(X)){for(Y=0,k=f(O);k>Y;Y++)if(ot=at(O[Y]),ot&&c(I,ot))return ot;return new E(!1)}H=h(O,X)}for(st=D?O.next:H.next;!(tt=e(st,H)).done;){try{ot=at(tt.value)}catch(gt){y(H,"throw",gt)}if(typeof ot=="object"&&ot&&c(I,ot))return ot}return new E(!1)}},99797:function(l,p,t){var r=t(96499),e=t(25001),o=t(10512);l.exports=function(s,u,f){var c,h;e(s);try{if(c=o(s,"return"),!c){if(u==="throw")throw f;return f}c=r(c,s)}catch(v){h=!0,c=v}if(u==="throw")throw f;if(h)throw c;return e(c),f}},26820:function(l,p,t){var r=t(24519).IteratorPrototype,e=t(5406),o=t(18526),s=t(78401),u=t(29107),f=function(){return this};l.exports=function(c,h,v,y){var m=h+" Iterator";return c.prototype=e(r,{next:o(+!y,v)}),s(c,m,!1,!0),u[m]=f,c}},44736:function(l,p,t){var r=t(96499),e=t(5406),o=t(90809),s=t(2725),u=t(18565),f=t(82367),c=t(10512),h=t(24519).IteratorPrototype,v=t(10659),y=t(99797),m=u("toStringTag"),E="IteratorHelper",I="WrapForValidIterator",O=f.set,T=function(F){var D=f.getterFor(F?I:E);return s(e(h),{next:function(){var $=D(this);if(F)return $.nextHandler();try{var B=$.done?void 0:$.nextHandler();return v(B,$.done)}catch(H){throw $.done=!0,H}},return:function(){var w=D(this),$=w.iterator;if(w.done=!0,F){var B=c($,"return");return B?r(B,$):v(void 0,!0)}if(w.inner)try{y(w.inner.iterator,"normal")}catch(H){return y($,"throw",H)}return $&&y($,"normal"),v(void 0,!0)}})},N=T(!0),M=T(!1);o(M,m,"Iterator Helper"),l.exports=function(F,D){var w=function(B,H){H?(H.iterator=B.iterator,H.next=B.next):H=B,H.type=D?I:E,H.nextHandler=F,H.counter=0,H.done=!1,O(this,H)};return w.prototype=D?N:M,w}},10218:function(l,p,t){var r=t(14304),e=t(96499),o=t(70457),s=t(86588),u=t(23583),f=t(26820),c=t(26313),h=t(15861),v=t(78401),y=t(90809),m=t(16142),E=t(18565),I=t(29107),O=t(24519),T=s.PROPER,N=s.CONFIGURABLE,M=O.IteratorPrototype,F=O.BUGGY_SAFARI_ITERATORS,D=E("iterator"),w="keys",$="values",B="entries",H=function(){return this};l.exports=function(X,Y,k,ot,st,tt,et){f(k,Y,ot);var at=function(ir){if(ir===st&&It)return It;if(!F&&ir&&ir in Ot)return Ot[ir];switch(ir){case w:return function(){return new k(this,ir)};case $:return function(){return new k(this,ir)};case B:return function(){return new k(this,ir)}}return function(){return new k(this)}},gt=Y+" Iterator",Pt=!1,Ot=X.prototype,Nt=Ot[D]||Ot["@@iterator"]||st&&Ot[st],It=!F&&Nt||at(st),qt=Y==="Array"&&Ot.entries||Nt,Qt,Jt,er;if(qt&&(Qt=c(qt.call(new X)),Qt!==Object.prototype&&Qt.next&&(!o&&c(Qt)!==M&&(h?h(Qt,M):u(Qt[D])||m(Qt,D,H)),v(Qt,gt,!0,!0),o&&(I[gt]=H))),T&&st===$&&Nt&&Nt.name!==$&&(!o&&N?y(Ot,"name",$):(Pt=!0,It=function(){return e(Nt,this)})),st)if(Jt={values:at($),keys:tt?It:at(w),entries:at(B)},et)for(er in Jt)(F||Pt||!(er in Ot))&&m(Ot,er,Jt[er]);else r({target:Y,proto:!0,forced:F||Pt},Jt);return(!o||et)&&Ot[D]!==It&&m(Ot,D,It,{name:st}),I[Y]=It,Jt}},96191:function(l,p,t){var r=t(96499),e=t(85156),o=t(25001),s=t(10613),u=t(44736),f=t(39969),c=u(function(){var h=this.iterator,v=o(r(this.next,h)),y=this.done=!!v.done;if(!y)return f(h,this.mapper,[v.value,this.counter++],!0)});l.exports=function(v){return o(this),e(v),new c(s(this),{mapper:v})}},24519:function(l,p,t){var r=t(72069),e=t(23583),o=t(37540),s=t(5406),u=t(26313),f=t(16142),c=t(18565),h=t(70457),v=c("iterator"),y=!1,m,E,I;[].keys&&(I=[].keys(),"next"in I?(E=u(u(I)),E!==Object.prototype&&(m=E)):y=!0);var O=!o(m)||r(function(){var T={};return m[v].call(T)!==T});O?m={}:h&&(m=s(m)),e(m[v])||f(m,v,function(){return this}),l.exports={IteratorPrototype:m,BUGGY_SAFARI_ITERATORS:y}},29107:function(l){l.exports={}},82628:function(l,p,t){var r=t(45344);l.exports=function(e){return r(e.length)}},13749:function(l,p,t){var r=t(11286),e=t(72069),o=t(23583),s=t(94879),u=t(92986),f=t(86588).CONFIGURABLE,c=t(84352),h=t(82367),v=h.enforce,y=h.get,m=String,E=Object.defineProperty,I=r("".slice),O=r("".replace),T=r([].join),N=u&&!e(function(){return E(function(){},"length",{value:8}).length!==8}),M=String(String).split("String"),F=l.exports=function(D,w,$){I(m(w),0,7)==="Symbol("&&(w="["+O(m(w),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),$&&$.getter&&(w="get "+w),$&&$.setter&&(w="set "+w),(!s(D,"name")||f&&D.name!==w)&&(u?E(D,"name",{value:w,configurable:!0}):D.name=w),N&&$&&s($,"arity")&&D.length!==$.arity&&E(D,"length",{value:$.arity});try{$&&s($,"constructor")&&$.constructor?u&&E(D,"prototype",{writable:!1}):D.prototype&&(D.prototype=void 0)}catch(H){}var B=v(D);return s(B,"source")||(B.source=T(M,typeof w=="string"?w:"")),D};Function.prototype.toString=F(function(){return o(this)&&y(this).source||c(this)},"toString")},1774:function(l,p,t){var r=t(11286),e=Map.prototype;l.exports={Map,set:r(e.set),get:r(e.get),has:r(e.has),remove:r(e.delete),proto:e}},98940:function(l){var p=Math.expm1,t=Math.exp;l.exports=!p||p(10)>22025.465794806718||p(10)<22025.465794806718||p(-2e-17)!==-2e-17?function(e){var o=+e;return o===0?o:o>-1e-6&&o<1e-6?o+o*o/2:t(o)-1}:p},10418:function(l,p,t){var r=t(93976),e=Math.abs,o=2220446049250313e-31,s=1/o,u=function(f){return f+s-s};l.exports=function(f,c,h,v){var y=+f,m=e(y),E=r(y);if(m<v)return E*u(m/v/c)*v*c;var I=(1+c/o)*m,O=I-(I-m);return O>h||O!==O?E*(1/0):E*O}},93279:function(l,p,t){var r=t(10418),e=11920928955078125e-23,o=34028234663852886e22,s=11754943508222875e-54;l.exports=Math.fround||function(f){return r(f,e,o,s)}},41942:function(l){var p=Math.log,t=Math.LOG10E;l.exports=Math.log10||function(e){return p(e)*t}},49366:function(l){var p=Math.log;l.exports=Math.log1p||function(r){var e=+r;return e>-1e-8&&e<1e-8?e-e*e/2:p(1+e)}},93976:function(l){l.exports=Math.sign||function(t){var r=+t;return r===0||r!==r?r:r<0?-1:1}},22459:function(l){var p=Math.ceil,t=Math.floor;l.exports=Math.trunc||function(e){var o=+e;return(o>0?t:p)(o)}},9709:function(l,p,t){var r=t(34246),e=t(28167),o=t(45526),s=t(23115).set,u=t(76895),f=t(5286),c=t(7307),h=t(67722),v=t(91707),y=r.MutationObserver||r.WebKitMutationObserver,m=r.document,E=r.process,I=r.Promise,O=e("queueMicrotask"),T,N,M,F,D;if(!O){var w=new u,$=function(){var B,H;for(v&&(B=E.domain)&&B.exit();H=w.get();)try{H()}catch(X){throw w.head&&T(),X}B&&B.enter()};!f&&!v&&!h&&y&&m?(N=!0,M=m.createTextNode(""),new y($).observe(M,{characterData:!0}),T=function(){M.data=N=!N}):!c&&I&&I.resolve?(F=I.resolve(void 0),F.constructor=I,D=o(F.then,F),T=function(){D($)}):v?T=function(){E.nextTick($)}:(s=o(s,r),T=function(){s($)}),O=function(B){w.head||T(),w.add(B)}}l.exports=O},24649:function(l,p,t){var r=t(85156),e=TypeError,o=function(s){var u,f;this.promise=new s(function(c,h){if(u!==void 0||f!==void 0)throw new e("Bad Promise constructor");u=c,f=h}),this.resolve=r(u),this.reject=r(f)};l.exports.f=function(s){return new o(s)}},15453:function(l,p,t){var r=t(17361);l.exports=function(e,o){return e===void 0?arguments.length<2?"":o:r(e)}},93483:function(l){var p=RangeError;l.exports=function(t){if(t===t)return t;throw new p("NaN is not allowed")}},92337:function(l,p,t){var r=t(11566),e=TypeError;l.exports=function(o){if(r(o))throw new e("The method doesn't accept regular expressions");return o}},98074:function(l,p,t){var r=t(34246),e=r.isFinite;l.exports=Number.isFinite||function(s){return typeof s=="number"&&e(s)}},25838:function(l,p,t){var r=t(34246),e=t(72069),o=t(11286),s=t(17361),u=t(85900).trim,f=t(77082),c=o("".charAt),h=r.parseFloat,v=r.Symbol,y=v&&v.iterator,m=1/h(f+"-0")!==-1/0||y&&!e(function(){h(Object(y))});l.exports=m?function(I){var O=u(s(I)),T=h(O);return T===0&&c(O,0)==="-"?-0:T}:h},23009:function(l,p,t){var r=t(34246),e=t(72069),o=t(11286),s=t(17361),u=t(85900).trim,f=t(77082),c=r.parseInt,h=r.Symbol,v=h&&h.iterator,y=/^[+-]?0x/i,m=o(y.exec),E=c(f+"08")!==8||c(f+"0x16")!==22||v&&!e(function(){c(Object(v))});l.exports=E?function(O,T){var N=u(s(O));return c(N,T>>>0||(m(y,N)?16:10))}:c},16667:function(l,p,t){var r=t(92986),e=t(11286),o=t(96499),s=t(72069),u=t(18350),f=t(24943),c=t(79591),h=t(49671),v=t(72181),y=Object.assign,m=Object.defineProperty,E=e([].concat);l.exports=!y||s(function(){if(r&&y({b:1},y(m({},"a",{enumerable:!0,get:function(){m(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var I={},O={},T=Symbol("assign detection"),N="abcdefghijklmnopqrst";return I[T]=7,N.split("").forEach(function(M){O[M]=M}),y({},I)[T]!==7||u(y({},O)).join("")!==N})?function(O,T){for(var N=h(O),M=arguments.length,F=1,D=f.f,w=c.f;M>F;)for(var $=v(arguments[F++]),B=D?E(u($),D($)):u($),H=B.length,X=0,Y;H>X;)Y=B[X++],(!r||o(w,$,Y))&&(N[Y]=$[Y]);return N}:y},5406:function(l,p,t){var r=t(25001),e=t(61963),o=t(75785),s=t(19423),u=t(96439),f=t(85501),c=t(44869),h=">",v="<",y="prototype",m="script",E=c("IE_PROTO"),I=function(){},O=function(D){return v+m+h+D+v+"/"+m+h},T=function(D){D.write(O("")),D.close();var w=D.parentWindow.Object;return D=null,w},N=function(){var D=f("iframe"),w="java"+m+":",$;return D.style.display="none",u.appendChild(D),D.src=String(w),$=D.contentWindow.document,$.open(),$.write(O("document.F=Object")),$.close(),$.F},M,F=function(){try{M=new ActiveXObject("htmlfile")}catch(w){}F=typeof document!="undefined"?document.domain&&M?T(M):N():T(M);for(var D=o.length;D--;)delete F[y][o[D]];return F()};s[E]=!0,l.exports=Object.create||function(w,$){var B;return w!==null?(I[y]=r(w),B=new I,I[y]=null,B[E]=w):B=F(),$===void 0?B:e.f(B,$)}},61963:function(l,p,t){var r=t(92986),e=t(356),o=t(7831),s=t(25001),u=t(36859),f=t(18350);p.f=r&&!e?Object.defineProperties:function(h,v){s(h);for(var y=u(v),m=f(v),E=m.length,I=0,O;E>I;)o.f(h,O=m[I++],y[O]);return h}},7831:function(l,p,t){var r=t(92986),e=t(52515),o=t(356),s=t(25001),u=t(50035),f=TypeError,c=Object.defineProperty,h=Object.getOwnPropertyDescriptor,v="enumerable",y="configurable",m="writable";p.f=r?o?function(I,O,T){if(s(I),O=u(O),s(T),typeof I=="function"&&O==="prototype"&&"value"in T&&m in T&&!T[m]){var N=h(I,O);N&&N[m]&&(I[O]=T.value,T={configurable:y in T?T[y]:N[y],enumerable:v in T?T[v]:N[v],writable:!1})}return c(I,O,T)}:c:function(I,O,T){if(s(I),O=u(O),s(T),e)try{return c(I,O,T)}catch(N){}if("get"in T||"set"in T)throw new f("Accessors not supported");return"value"in T&&(I[O]=T.value),I}},71349:function(l,p,t){var r=t(92986),e=t(96499),o=t(79591),s=t(18526),u=t(36859),f=t(50035),c=t(94879),h=t(52515),v=Object.getOwnPropertyDescriptor;p.f=r?v:function(m,E){if(m=u(m),E=f(E),h)try{return v(m,E)}catch(I){}if(c(m,E))return s(!e(o.f,m,E),m[E])}},92880:function(l,p,t){var r=t(14274),e=t(36859),o=t(83258).f,s=t(22806),u=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],f=function(c){try{return o(c)}catch(h){return s(u)}};l.exports.f=function(h){return u&&r(h)==="Window"?f(h):o(e(h))}},83258:function(l,p,t){var r=t(6242),e=t(75785),o=e.concat("length","prototype");p.f=Object.getOwnPropertyNames||function(u){return r(u,o)}},24943:function(l,p){p.f=Object.getOwnPropertySymbols},26313:function(l,p,t){var r=t(94879),e=t(23583),o=t(49671),s=t(44869),u=t(87501),f=s("IE_PROTO"),c=Object,h=c.prototype;l.exports=u?c.getPrototypeOf:function(v){var y=o(v);if(r(y,f))return y[f];var m=y.constructor;return e(m)&&y instanceof m?m.prototype:y instanceof c?h:null}},28174:function(l,p,t){var r=t(72069),e=t(37540),o=t(14274),s=t(72058),u=Object.isExtensible,f=r(function(){u(1)});l.exports=f||s?function(h){return!e(h)||s&&o(h)==="ArrayBuffer"?!1:u?u(h):!0}:u},95307:function(l,p,t){var r=t(11286);l.exports=r({}.isPrototypeOf)},6242:function(l,p,t){var r=t(11286),e=t(94879),o=t(36859),s=t(94319).indexOf,u=t(19423),f=r([].push);l.exports=function(c,h){var v=o(c),y=0,m=[],E;for(E in v)!e(u,E)&&e(v,E)&&f(m,E);for(;h.length>y;)e(v,E=h[y++])&&(~s(m,E)||f(m,E));return m}},18350:function(l,p,t){var r=t(6242),e=t(75785);l.exports=Object.keys||function(s){return r(s,e)}},79591:function(l,p){var t={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,e=r&&!t.call({1:2},1);p.f=e?function(s){var u=r(this,s);return!!u&&u.enumerable}:t},57629:function(l,p,t){var r=t(70457),e=t(34246),o=t(72069),s=t(66577);l.exports=r||!o(function(){if(!(s&&s<535)){var u=Math.random();__defineSetter__.call(null,u,function(){}),delete e[u]}})},15861:function(l,p,t){var r=t(84756),e=t(37540),o=t(2068),s=t(53408);l.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var u=!1,f={},c;try{c=r(Object.prototype,"__proto__","set"),c(f,[]),u=f instanceof Array}catch(h){}return function(v,y){return o(v),s(y),e(v)&&(u?c(v,y):v.__proto__=y),v}}():void 0)},8511:function(l,p,t){var r=t(92986),e=t(72069),o=t(11286),s=t(26313),u=t(18350),f=t(36859),c=t(79591).f,h=o(c),v=o([].push),y=r&&e(function(){var E=Object.create(null);return E[2]=2,!h(E,2)}),m=function(E){return function(I){for(var O=f(I),T=u(O),N=y&&s(O)===null,M=T.length,F=0,D=[],w;M>F;)w=T[F++],(!r||(N?w in O:h(O,w)))&&v(D,E?[w,O[w]]:O[w]);return D}};l.exports={entries:m(!0),values:m(!1)}},60105:function(l,p,t){var r=t(67878),e=t(9205);l.exports=r?{}.toString:function(){return"[object "+e(this)+"]"}},2064:function(l,p,t){var r=t(96499),e=t(23583),o=t(37540),s=TypeError;l.exports=function(u,f){var c,h;if(f==="string"&&e(c=u.toString)&&!o(h=r(c,u))||e(c=u.valueOf)&&!o(h=r(c,u))||f!=="string"&&e(c=u.toString)&&!o(h=r(c,u)))return h;throw new s("Can't convert object to primitive value")}},16885:function(l,p,t){var r=t(38941),e=t(11286),o=t(83258),s=t(24943),u=t(25001),f=e([].concat);l.exports=r("Reflect","ownKeys")||function(h){var v=o.f(u(h)),y=s.f;return y?f(v,y(h)):v}},75081:function(l,p,t){var r=t(34246);l.exports=r},67805:function(l){l.exports=function(p){try{return{error:!1,value:p()}}catch(t){return{error:!0,value:t}}}},37130:function(l,p,t){var r=t(34246),e=t(98844),o=t(23583),s=t(13278),u=t(84352),f=t(18565),c=t(21501),h=t(70457),v=t(44241),y=e&&e.prototype,m=f("species"),E=!1,I=o(r.PromiseRejectionEvent),O=s("Promise",function(){var T=u(e),N=T!==String(e);if(!N&&v===66||h&&!(y.catch&&y.finally))return!0;if(!v||v<51||!/native code/.test(T)){var M=new e(function(w){w(1)}),F=function(w){w(function(){},function(){})},D=M.constructor={};if(D[m]=F,E=M.then(function(){})instanceof F,!E)return!0}return!N&&(c==="BROWSER"||c==="DENO")&&!I});l.exports={CONSTRUCTOR:O,REJECTION_EVENT:I,SUBCLASSING:E}},98844:function(l,p,t){var r=t(34246);l.exports=r.Promise},87408:function(l,p,t){var r=t(25001),e=t(37540),o=t(24649);l.exports=function(s,u){if(r(s),e(u)&&u.constructor===s)return u;var f=o.f(s),c=f.resolve;return c(u),f.promise}},26035:function(l,p,t){var r=t(98844),e=t(97494),o=t(37130).CONSTRUCTOR;l.exports=o||!e(function(s){r.all(s).then(void 0,function(){})})},2594:function(l,p,t){var r=t(7831).f;l.exports=function(e,o,s){s in e||r(e,s,{configurable:!0,get:function(){return o[s]},set:function(u){o[s]=u}})}},76895:function(l){var p=function(){this.head=null,this.tail=null};p.prototype={add:function(t){var r={item:t,next:null},e=this.tail;e?e.next=r:this.head=r,this.tail=r},get:function(){var t=this.head;if(t){var r=this.head=t.next;return r===null&&(this.tail=null),t.item}}},l.exports=p},33064:function(l,p,t){var r=t(96499),e=t(25001),o=t(23583),s=t(14274),u=t(44381),f=TypeError;l.exports=function(c,h){var v=c.exec;if(o(v)){var y=r(v,c,h);return y!==null&&e(y),y}if(s(c)==="RegExp")return r(u,c,h);throw new f("RegExp#exec called on incompatible receiver")}},44381:function(l,p,t){var r=t(96499),e=t(11286),o=t(17361),s=t(29833),u=t(39807),f=t(96731),c=t(5406),h=t(82367).get,v=t(76769),y=t(85220),m=f("native-string-replace",String.prototype.replace),E=RegExp.prototype.exec,I=E,O=e("".charAt),T=e("".indexOf),N=e("".replace),M=e("".slice),F=function(){var B=/a/,H=/b*/g;return r(E,B,"a"),r(E,H,"a"),B.lastIndex!==0||H.lastIndex!==0}(),D=u.BROKEN_CARET,w=/()??/.exec("")[1]!==void 0,$=F||w||D||v||y;$&&(I=function(H){var X=this,Y=h(X),k=o(H),ot=Y.raw,st,tt,et,at,gt,Pt,Ot;if(ot)return ot.lastIndex=X.lastIndex,st=r(I,ot,k),X.lastIndex=ot.lastIndex,st;var Nt=Y.groups,It=D&&X.sticky,qt=r(s,X),Qt=X.source,Jt=0,er=k;if(It&&(qt=N(qt,"y",""),T(qt,"g")===-1&&(qt+="g"),er=M(k,X.lastIndex),X.lastIndex>0&&(!X.multiline||X.multiline&&O(k,X.lastIndex-1)!==` +`)&&(Qt="(?: "+Qt+")",er=" "+er,Jt++),tt=new RegExp("^(?:"+Qt+")",qt)),w&&(tt=new RegExp("^"+Qt+"$(?!\\s)",qt)),F&&(et=X.lastIndex),at=r(E,It?tt:X,er),It?at?(at.input=M(at.input,Jt),at[0]=M(at[0],Jt),at.index=X.lastIndex,X.lastIndex+=at[0].length):X.lastIndex=0:F&&at&&(X.lastIndex=X.global?at.index+at[0].length:et),w&&at&&at.length>1&&r(m,at[0],tt,function(){for(gt=1;gt<arguments.length-2;gt++)arguments[gt]===void 0&&(at[gt]=void 0)}),at&&Nt)for(at.groups=Pt=c(null),gt=0;gt<Nt.length;gt++)Ot=Nt[gt],Pt[Ot[0]]=at[Ot[1]];return at}),l.exports=I},29833:function(l,p,t){var r=t(25001);l.exports=function(){var e=r(this),o="";return e.hasIndices&&(o+="d"),e.global&&(o+="g"),e.ignoreCase&&(o+="i"),e.multiline&&(o+="m"),e.dotAll&&(o+="s"),e.unicode&&(o+="u"),e.unicodeSets&&(o+="v"),e.sticky&&(o+="y"),o}},54932:function(l,p,t){var r=t(96499),e=t(94879),o=t(95307),s=t(29833),u=RegExp.prototype;l.exports=function(f){var c=f.flags;return c===void 0&&!("flags"in u)&&!e(f,"flags")&&o(u,f)?r(s,f):c}},39807:function(l,p,t){var r=t(72069),e=t(34246),o=e.RegExp,s=r(function(){var c=o("a","y");return c.lastIndex=2,c.exec("abcd")!==null}),u=s||r(function(){return!o("a","y").sticky}),f=s||r(function(){var c=o("^r","gy");return c.lastIndex=2,c.exec("str")!==null});l.exports={BROKEN_CARET:f,MISSED_STICKY:u,UNSUPPORTED_Y:s}},76769:function(l,p,t){var r=t(72069),e=t(34246),o=e.RegExp;l.exports=r(function(){var s=o(".","s");return!(s.dotAll&&s.test(` +`)&&s.flags==="s")})},85220:function(l,p,t){var r=t(72069),e=t(34246),o=e.RegExp;l.exports=r(function(){var s=o("(?<a>b)","g");return s.exec("b").groups.a!=="b"||"b".replace(s,"$<a>c")!=="bc"})},2068:function(l,p,t){var r=t(5683),e=TypeError;l.exports=function(o){if(r(o))throw new e("Can't call method on "+o);return o}},28167:function(l,p,t){var r=t(34246),e=t(92986),o=Object.getOwnPropertyDescriptor;l.exports=function(s){if(!e)return r[s];var u=o(r,s);return u&&u.value}},13944:function(l){l.exports=Object.is||function(t,r){return t===r?t!==0||1/t===1/r:t!==t&&r!==r}},9934:function(l,p,t){var r=t(34246),e=t(66543),o=t(23583),s=t(21501),u=t(18257),f=t(22806),c=t(95486),h=r.Function,v=/MSIE .\./.test(u)||s==="BUN"&&function(){var y=r.Bun.version.split(".");return y.length<3||y[0]==="0"&&(y[1]<3||y[1]==="3"&&y[2]==="0")}();l.exports=function(y,m){var E=m?2:1;return v?function(I,O){var T=c(arguments.length,1)>E,N=o(I)?I:h(I),M=T?f(arguments,E):[],F=T?function(){e(N,this,M)}:N;return m?y(F,O):y(F)}:y}},48348:function(l,p,t){var r=t(172),e=t(35051),o=r.Set,s=r.add;l.exports=function(u){var f=new o;return e(u,function(c){s(f,c)}),f}},41754:function(l,p,t){var r=t(76602),e=t(172),o=t(48348),s=t(17768),u=t(65263),f=t(35051),c=t(9573),h=e.has,v=e.remove;l.exports=function(m){var E=r(this),I=u(m),O=o(E);return s(E)<=I.size?f(E,function(T){I.includes(T)&&v(O,T)}):c(I.getIterator(),function(T){h(E,T)&&v(O,T)}),O}},172:function(l,p,t){var r=t(11286),e=Set.prototype;l.exports={Set,add:r(e.add),has:r(e.has),remove:r(e.delete),proto:e}},92292:function(l,p,t){var r=t(76602),e=t(172),o=t(17768),s=t(65263),u=t(35051),f=t(9573),c=e.Set,h=e.add,v=e.has;l.exports=function(m){var E=r(this),I=s(m),O=new c;return o(E)>I.size?f(I.getIterator(),function(T){v(E,T)&&h(O,T)}):u(E,function(T){I.includes(T)&&h(O,T)}),O}},47391:function(l,p,t){var r=t(76602),e=t(172).has,o=t(17768),s=t(65263),u=t(35051),f=t(9573),c=t(99797);l.exports=function(v){var y=r(this),m=s(v);if(o(y)<=m.size)return u(y,function(I){if(m.includes(I))return!1},!0)!==!1;var E=m.getIterator();return f(E,function(I){if(e(y,I))return c(E,"normal",!1)})!==!1}},75492:function(l,p,t){var r=t(76602),e=t(17768),o=t(35051),s=t(65263);l.exports=function(f){var c=r(this),h=s(f);return e(c)>h.size?!1:o(c,function(v){if(!h.includes(v))return!1},!0)!==!1}},1333:function(l,p,t){var r=t(76602),e=t(172).has,o=t(17768),s=t(65263),u=t(9573),f=t(99797);l.exports=function(h){var v=r(this),y=s(h);if(o(v)<y.size)return!1;var m=y.getIterator();return u(m,function(E){if(!e(v,E))return f(m,"normal",!1)})!==!1}},35051:function(l,p,t){var r=t(11286),e=t(9573),o=t(172),s=o.Set,u=o.proto,f=r(u.forEach),c=r(u.keys),h=c(new s).next;l.exports=function(v,y,m){return m?e({iterator:c(v),next:h},y):f(v,y)}},94118:function(l,p,t){var r=t(38941),e=function(o){return{size:o,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}};l.exports=function(o){var s=r("Set");try{new s()[o](e(0));try{return new s()[o](e(-1)),!1}catch(u){return!0}}catch(u){return!1}}},17768:function(l,p,t){var r=t(84756),e=t(172);l.exports=r(e.proto,"size","get")||function(o){return o.size}},36167:function(l,p,t){var r=t(38941),e=t(85500),o=t(18565),s=t(92986),u=o("species");l.exports=function(f){var c=r(f);s&&c&&!c[u]&&e(c,u,{configurable:!0,get:function(){return this}})}},64680:function(l,p,t){var r=t(76602),e=t(172),o=t(48348),s=t(65263),u=t(9573),f=e.add,c=e.has,h=e.remove;l.exports=function(y){var m=r(this),E=s(y).getIterator(),I=o(m);return u(E,function(O){c(m,O)?h(I,O):f(I,O)}),I}},78401:function(l,p,t){var r=t(7831).f,e=t(94879),o=t(18565),s=o("toStringTag");l.exports=function(u,f,c){u&&!c&&(u=u.prototype),u&&!e(u,s)&&r(u,s,{configurable:!0,value:f})}},70402:function(l,p,t){var r=t(76602),e=t(172).add,o=t(48348),s=t(65263),u=t(9573);l.exports=function(c){var h=r(this),v=s(c).getIterator(),y=o(h);return u(v,function(m){e(y,m)}),y}},44869:function(l,p,t){var r=t(96731),e=t(36374),o=r("keys");l.exports=function(s){return o[s]||(o[s]=e(s))}},70443:function(l,p,t){var r=t(70457),e=t(34246),o=t(36003),s="__core-js_shared__",u=l.exports=e[s]||o(s,{});(u.versions||(u.versions=[])).push({version:"3.39.0",mode:r?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE",source:"https://github.com/zloirock/core-js"})},96731:function(l,p,t){var r=t(70443);l.exports=function(e,o){return r[e]||(r[e]=o||{})}},16887:function(l,p,t){var r=t(25001),e=t(80042),o=t(5683),s=t(18565),u=s("species");l.exports=function(f,c){var h=r(f).constructor,v;return h===void 0||o(v=r(h)[u])?c:e(v)}},5287:function(l,p,t){var r=t(72069);l.exports=function(e){return r(function(){var o=""[e]('"');return o!==o.toLowerCase()||o.split('"').length>3})}},22149:function(l,p,t){var r=t(11286),e=t(12105),o=t(17361),s=t(2068),u=r("".charAt),f=r("".charCodeAt),c=r("".slice),h=function(v){return function(y,m){var E=o(s(y)),I=e(m),O=E.length,T,N;return I<0||I>=O?v?"":void 0:(T=f(E,I),T<55296||T>56319||I+1===O||(N=f(E,I+1))<56320||N>57343?v?u(E,I):T:v?c(E,I,I+2):(T-55296<<10)+(N-56320)+65536)}};l.exports={codeAt:h(!1),charAt:h(!0)}},36945:function(l,p,t){var r=t(18257);l.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(r)},61607:function(l,p,t){var r=t(11286),e=t(45344),o=t(17361),s=t(79719),u=t(2068),f=r(s),c=r("".slice),h=Math.ceil,v=function(y){return function(m,E,I){var O=o(u(m)),T=e(E),N=O.length,M=I===void 0?" ":o(I),F,D;return T<=N||M===""?O:(F=T-N,D=f(M,h(F/M.length)),D.length>F&&(D=c(D,0,F)),y?O+D:D+O)}};l.exports={start:v(!1),end:v(!0)}},38679:function(l,p,t){var r=t(11286),e=2147483647,o=36,s=1,u=26,f=38,c=700,h=72,v=128,y="-",m=/[^\0-\u007E]/,E=/[.\u3002\uFF0E\uFF61]/g,I="Overflow: input needs wider integers to process",O=o-s,T=RangeError,N=r(E.exec),M=Math.floor,F=String.fromCharCode,D=r("".charCodeAt),w=r([].join),$=r([].push),B=r("".replace),H=r("".split),X=r("".toLowerCase),Y=function(tt){for(var et=[],at=0,gt=tt.length;at<gt;){var Pt=D(tt,at++);if(Pt>=55296&&Pt<=56319&&at<gt){var Ot=D(tt,at++);(Ot&64512)===56320?$(et,((Pt&1023)<<10)+(Ot&1023)+65536):($(et,Pt),at--)}else $(et,Pt)}return et},k=function(tt){return tt+22+75*(tt<26)},ot=function(tt,et,at){var gt=0;for(tt=at?M(tt/c):tt>>1,tt+=M(tt/et);tt>O*u>>1;)tt=M(tt/O),gt+=o;return M(gt+(O+1)*tt/(tt+f))},st=function(tt){var et=[];tt=Y(tt);var at=tt.length,gt=v,Pt=0,Ot=h,Nt,It;for(Nt=0;Nt<tt.length;Nt++)It=tt[Nt],It<128&&$(et,F(It));var qt=et.length,Qt=qt;for(qt&&$(et,y);Qt<at;){var Jt=e;for(Nt=0;Nt<tt.length;Nt++)It=tt[Nt],It>=gt&&It<Jt&&(Jt=It);var er=Qt+1;if(Jt-gt>M((e-Pt)/er))throw new T(I);for(Pt+=(Jt-gt)*er,gt=Jt,Nt=0;Nt<tt.length;Nt++){if(It=tt[Nt],It<gt&&++Pt>e)throw new T(I);if(It===gt){for(var ir=Pt,Ar=o;;){var xr=Ar<=Ot?s:Ar>=Ot+u?u:Ar-Ot;if(ir<xr)break;var Er=ir-xr,Yt=o-xr;$(et,F(k(xr+Er%Yt))),ir=M(Er/Yt),Ar+=o}$(et,F(k(ir))),Ot=ot(Pt,er,Qt===qt),Pt=0,Qt++}}Pt++,gt++}return w(et,"")};l.exports=function(tt){var et=[],at=H(B(X(tt),E,"."),"."),gt,Pt;for(gt=0;gt<at.length;gt++)Pt=at[gt],$(et,N(m,Pt)?"xn--"+st(Pt):Pt);return w(et,".")}},79719:function(l,p,t){var r=t(12105),e=t(17361),o=t(2068),s=RangeError;l.exports=function(f){var c=e(o(this)),h="",v=r(f);if(v<0||v===1/0)throw new s("Wrong number of repetitions");for(;v>0;(v>>>=1)&&(c+=c))v&1&&(h+=c);return h}},75176:function(l,p,t){var r=t(85900).end,e=t(33328);l.exports=e("trimEnd")?function(){return r(this)}:"".trimEnd},33328:function(l,p,t){var r=t(86588).PROPER,e=t(72069),o=t(77082),s="\u200B\x85\u180E";l.exports=function(u){return e(function(){return!!o[u]()||s[u]()!==s||r&&o[u].name!==u})}},83481:function(l,p,t){var r=t(85900).start,e=t(33328);l.exports=e("trimStart")?function(){return r(this)}:"".trimStart},85900:function(l,p,t){var r=t(11286),e=t(2068),o=t(17361),s=t(77082),u=r("".replace),f=RegExp("^["+s+"]+"),c=RegExp("(^|[^"+s+"])["+s+"]+$"),h=function(v){return function(y){var m=o(e(y));return v&1&&(m=u(m,f,"")),v&2&&(m=u(m,c,"$1")),m}};l.exports={start:h(1),end:h(2),trim:h(3)}},99050:function(l,p,t){var r=t(34246),e=t(72069),o=t(44241),s=t(21501),u=r.structuredClone;l.exports=!!u&&!e(function(){if(s==="DENO"&&o>92||s==="NODE"&&o>94||s==="BROWSER"&&o>97)return!1;var f=new ArrayBuffer(8),c=u(f,{transfer:[f]});return f.byteLength!==0||c.byteLength!==8})},39729:function(l,p,t){var r=t(44241),e=t(72069),o=t(34246),s=o.String;l.exports=!!Object.getOwnPropertySymbols&&!e(function(){var u=Symbol("symbol detection");return!s(u)||!(Object(u)instanceof Symbol)||!Symbol.sham&&r&&r<41})},60796:function(l,p,t){var r=t(96499),e=t(38941),o=t(18565),s=t(16142);l.exports=function(){var u=e("Symbol"),f=u&&u.prototype,c=f&&f.valueOf,h=o("toPrimitive");f&&!f[h]&&s(f,h,function(v){return r(c,this)},{arity:1})}},61190:function(l,p,t){var r=t(39729);l.exports=r&&!!Symbol.for&&!!Symbol.keyFor},23115:function(l,p,t){var r=t(34246),e=t(66543),o=t(45526),s=t(23583),u=t(94879),f=t(72069),c=t(96439),h=t(22806),v=t(85501),y=t(95486),m=t(5286),E=t(91707),I=r.setImmediate,O=r.clearImmediate,T=r.process,N=r.Dispatch,M=r.Function,F=r.MessageChannel,D=r.String,w=0,$={},B="onreadystatechange",H,X,Y,k;f(function(){H=r.location});var ot=function(at){if(u($,at)){var gt=$[at];delete $[at],gt()}},st=function(at){return function(){ot(at)}},tt=function(at){ot(at.data)},et=function(at){r.postMessage(D(at),H.protocol+"//"+H.host)};(!I||!O)&&(I=function(gt){y(arguments.length,1);var Pt=s(gt)?gt:M(gt),Ot=h(arguments,1);return $[++w]=function(){e(Pt,void 0,Ot)},X(w),w},O=function(gt){delete $[gt]},E?X=function(at){T.nextTick(st(at))}:N&&N.now?X=function(at){N.now(st(at))}:F&&!m?(Y=new F,k=Y.port2,Y.port1.onmessage=tt,X=o(k.postMessage,k)):r.addEventListener&&s(r.postMessage)&&!r.importScripts&&H&&H.protocol!=="file:"&&!f(et)?(X=et,r.addEventListener("message",tt,!1)):B in v("script")?X=function(at){c.appendChild(v("script"))[B]=function(){c.removeChild(this),ot(at)}}:X=function(at){setTimeout(st(at),0)}),l.exports={set:I,clear:O}},34338:function(l,p,t){var r=t(11286);l.exports=r(1 .valueOf)},4652:function(l,p,t){var r=t(12105),e=Math.max,o=Math.min;l.exports=function(s,u){var f=r(s);return f<0?e(f+u,0):o(f,u)}},11344:function(l,p,t){var r=t(89935),e=TypeError;l.exports=function(o){var s=r(o,"number");if(typeof s=="number")throw new e("Can't convert number to bigint");return BigInt(s)}},9450:function(l,p,t){var r=t(12105),e=t(45344),o=RangeError;l.exports=function(s){if(s===void 0)return 0;var u=r(s),f=e(u);if(u!==f)throw new o("Wrong length or index");return f}},36859:function(l,p,t){var r=t(72181),e=t(2068);l.exports=function(o){return r(e(o))}},12105:function(l,p,t){var r=t(22459);l.exports=function(e){var o=+e;return o!==o||o===0?0:r(o)}},45344:function(l,p,t){var r=t(12105),e=Math.min;l.exports=function(o){var s=r(o);return s>0?e(s,9007199254740991):0}},49671:function(l,p,t){var r=t(2068),e=Object;l.exports=function(o){return e(r(o))}},58143:function(l,p,t){var r=t(98072),e=RangeError;l.exports=function(o,s){var u=r(o);if(u%s)throw new e("Wrong offset");return u}},98072:function(l,p,t){var r=t(12105),e=RangeError;l.exports=function(o){var s=r(o);if(s<0)throw new e("The argument can't be less than 0");return s}},89935:function(l,p,t){var r=t(96499),e=t(37540),o=t(491),s=t(10512),u=t(2064),f=t(18565),c=TypeError,h=f("toPrimitive");l.exports=function(v,y){if(!e(v)||o(v))return v;var m=s(v,h),E;if(m){if(y===void 0&&(y="default"),E=r(m,v,y),!e(E)||o(E))return E;throw new c("Can't convert object to primitive value")}return y===void 0&&(y="number"),u(v,y)}},50035:function(l,p,t){var r=t(89935),e=t(491);l.exports=function(o){var s=r(o,"string");return e(s)?s:s+""}},67878:function(l,p,t){var r=t(18565),e=r("toStringTag"),o={};o[e]="z",l.exports=String(o)==="[object z]"},17361:function(l,p,t){var r=t(9205),e=String;l.exports=function(o){if(r(o)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return e(o)}},76517:function(l){var p=Math.round;l.exports=function(t){var r=p(t);return r<0?0:r>255?255:r&255}},82453:function(l){var p=String;l.exports=function(t){try{return p(t)}catch(r){return"Object"}}},80357:function(l,p,t){var r=t(14304),e=t(34246),o=t(96499),s=t(92986),u=t(46868),f=t(88037),c=t(17468),h=t(12833),v=t(18526),y=t(90809),m=t(613),E=t(45344),I=t(9450),O=t(58143),T=t(76517),N=t(50035),M=t(94879),F=t(9205),D=t(37540),w=t(491),$=t(5406),B=t(95307),H=t(15861),X=t(83258).f,Y=t(66169),k=t(66655).forEach,ot=t(36167),st=t(85500),tt=t(7831),et=t(71349),at=t(5220),gt=t(82367),Pt=t(32345),Ot=gt.get,Nt=gt.set,It=gt.enforce,qt=tt.f,Qt=et.f,Jt=e.RangeError,er=c.ArrayBuffer,ir=er.prototype,Ar=c.DataView,xr=f.NATIVE_ARRAY_BUFFER_VIEWS,Er=f.TYPED_ARRAY_TAG,Yt=f.TypedArray,tr=f.TypedArrayPrototype,Sr=f.isTypedArray,Ir="BYTES_PER_ELEMENT",pr="Wrong length",Or=function(Mr,Tr){st(Mr,Tr,{configurable:!0,get:function(){return Ot(this)[Tr]}})},Ur=function(Mr){var Tr;return B(ir,Mr)||(Tr=F(Mr))==="ArrayBuffer"||Tr==="SharedArrayBuffer"},Lr=function(Mr,Tr){return Sr(Mr)&&!w(Tr)&&Tr in Mr&&m(+Tr)&&Tr>=0},Pr=function(Tr,yr){return yr=N(yr),Lr(Tr,yr)?v(2,Tr[yr]):Qt(Tr,yr)},mr=function(Tr,yr,bt){return yr=N(yr),Lr(Tr,yr)&&D(bt)&&M(bt,"value")&&!M(bt,"get")&&!M(bt,"set")&&!bt.configurable&&(!M(bt,"writable")||bt.writable)&&(!M(bt,"enumerable")||bt.enumerable)?(Tr[yr]=bt.value,Tr):qt(Tr,yr,bt)};s?(xr||(et.f=Pr,tt.f=mr,Or(tr,"buffer"),Or(tr,"byteOffset"),Or(tr,"byteLength"),Or(tr,"length")),r({target:"Object",stat:!0,forced:!xr},{getOwnPropertyDescriptor:Pr,defineProperty:mr}),l.exports=function(Mr,Tr,yr){var bt=Mr.match(/\d+/)[0]/8,Ht=Mr+(yr?"Clamped":"")+"Array",Ft="get"+Mr,cr="set"+Mr,vr=e[Ht],ar=vr,rr=ar&&ar.prototype,jr={},wr=function(Bt,zt){var lt=Ot(Bt);return lt.view[Ft](zt*bt+lt.byteOffset,!0)},yt=function(Bt,zt,lt){var Ut=Ot(Bt);Ut.view[cr](zt*bt+Ut.byteOffset,yr?T(lt):lt,!0)},jt=function(Bt,zt){qt(Bt,zt,{get:function(){return wr(this,zt)},set:function(lt){return yt(this,zt,lt)},enumerable:!0})};xr?u&&(ar=Tr(function(Bt,zt,lt,Ut){return h(Bt,rr),Pt(function(){return D(zt)?Ur(zt)?Ut!==void 0?new vr(zt,O(lt,bt),Ut):lt!==void 0?new vr(zt,O(lt,bt)):new vr(zt):Sr(zt)?at(ar,zt):o(Y,ar,zt):new vr(I(zt))}(),Bt,ar)}),H&&H(ar,Yt),k(X(vr),function(Bt){Bt in ar||y(ar,Bt,vr[Bt])}),ar.prototype=rr):(ar=Tr(function(Bt,zt,lt,Ut){h(Bt,rr);var gr=0,Ct=0,$t,kt,Wt;if(!D(zt))Wt=I(zt),kt=Wt*bt,$t=new er(kt);else if(Ur(zt)){$t=zt,Ct=O(lt,bt);var dr=zt.byteLength;if(Ut===void 0){if(dr%bt)throw new Jt(pr);if(kt=dr-Ct,kt<0)throw new Jt(pr)}else if(kt=E(Ut)*bt,kt+Ct>dr)throw new Jt(pr);Wt=kt/bt}else return Sr(zt)?at(ar,zt):o(Y,ar,zt);for(Nt(Bt,{buffer:$t,byteOffset:Ct,byteLength:kt,length:Wt,view:new Ar($t)});gr<Wt;)jt(Bt,gr++)}),H&&H(ar,Yt),rr=ar.prototype=$(tr)),rr.constructor!==ar&&y(rr,"constructor",ar),It(rr).TypedArrayConstructor=ar,Er&&y(rr,Er,Ht);var Gt=ar!==vr;jr[Ht]=ar,r({global:!0,constructor:!0,forced:Gt,sham:!xr},jr),Ir in ar||y(ar,Ir,bt),Ir in rr||y(rr,Ir,bt),ot(Ht)}):l.exports=function(){}},46868:function(l,p,t){var r=t(34246),e=t(72069),o=t(97494),s=t(88037).NATIVE_ARRAY_BUFFER_VIEWS,u=r.ArrayBuffer,f=r.Int8Array;l.exports=!s||!e(function(){f(1)})||!e(function(){new f(-1)})||!o(function(c){new f,new f(null),new f(1.5),new f(c)},!0)||e(function(){return new f(new u(2),1,void 0).length!==1})},39954:function(l,p,t){var r=t(5220),e=t(88037).getTypedArrayConstructor;l.exports=function(o,s){return r(e(o),s)}},66169:function(l,p,t){var r=t(45526),e=t(96499),o=t(80042),s=t(49671),u=t(82628),f=t(90619),c=t(81077),h=t(48199),v=t(77129),y=t(88037).aTypedArrayConstructor,m=t(11344);l.exports=function(I){var O=o(this),T=s(I),N=arguments.length,M=N>1?arguments[1]:void 0,F=M!==void 0,D=c(T),w,$,B,H,X,Y,k,ot;if(D&&!h(D))for(k=f(T,D),ot=k.next,T=[];!(Y=e(ot,k)).done;)T.push(Y.value);for(F&&N>2&&(M=r(M,arguments[2])),$=u(T),B=new(y(O))($),H=v(B),w=0;$>w;w++)X=F?M(T[w],w):T[w],B[w]=H?m(X):+X;return B}},36374:function(l,p,t){var r=t(11286),e=0,o=Math.random(),s=r(1 .toString);l.exports=function(u){return"Symbol("+(u===void 0?"":u)+")_"+s(++e+o,36)}},91918:function(l,p,t){var r=t(72069),e=t(18565),o=t(92986),s=t(70457),u=e("iterator");l.exports=!r(function(){var f=new URL("b?a=1&b=2&c=3","https://a"),c=f.searchParams,h=new URLSearchParams("a=1&a=2&b=3"),v="";return f.pathname="c%20d",c.forEach(function(y,m){c.delete("b"),v+=m+y}),h.delete("a",2),h.delete("b",void 0),s&&(!f.toJSON||!h.has("a",1)||h.has("a",2)||!h.has("a",void 0)||h.has("b"))||!c.size&&(s||!o)||!c.sort||f.href!=="https://a/c%20d?a=1&c=3"||c.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!c[u]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("https://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("https://a#\u0431").hash!=="#%D0%B1"||v!=="a1c3"||new URL("https://x",void 0).host!=="x"})},50234:function(l,p,t){var r=t(39729);l.exports=r&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},356:function(l,p,t){var r=t(92986),e=t(72069);l.exports=r&&e(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},95486:function(l){var p=TypeError;l.exports=function(t,r){if(t<r)throw new p("Not enough arguments");return t}},42960:function(l,p,t){var r=t(34246),e=t(23583),o=r.WeakMap;l.exports=e(o)&&/native code/.test(String(o))},83749:function(l,p,t){var r=t(75081),e=t(94879),o=t(56529),s=t(7831).f;l.exports=function(u){var f=r.Symbol||(r.Symbol={});e(f,u)||s(f,u,{value:o.f(u)})}},56529:function(l,p,t){var r=t(18565);p.f=r},18565:function(l,p,t){var r=t(34246),e=t(96731),o=t(94879),s=t(36374),u=t(39729),f=t(50234),c=r.Symbol,h=e("wks"),v=f?c.for||c:c&&c.withoutSetter||s;l.exports=function(y){return o(h,y)||(h[y]=u&&o(c,y)?c[y]:v("Symbol."+y)),h[y]}},77082:function(l){l.exports=` +\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`},70003:function(l,p,t){var r=t(38941),e=t(94879),o=t(90809),s=t(95307),u=t(15861),f=t(93706),c=t(2594),h=t(32345),v=t(15453),y=t(31486),m=t(97077),E=t(92986),I=t(70457);l.exports=function(O,T,N,M){var F="stackTraceLimit",D=M?2:1,w=O.split("."),$=w[w.length-1],B=r.apply(null,w);if(B){var H=B.prototype;if(!I&&e(H,"cause")&&delete H.cause,!N)return B;var X=r("Error"),Y=T(function(k,ot){var st=v(M?ot:k,void 0),tt=M?new B(k):new B;return st!==void 0&&o(tt,"message",st),m(tt,Y,tt.stack,2),this&&s(H,this)&&h(tt,this,Y),arguments.length>D&&y(tt,arguments[D]),tt});if(Y.prototype=H,$!=="Error"?u?u(Y,X):f(Y,X,{name:!0}):E&&F in B&&(c(Y,B,F),c(Y,B,"prepareStackTrace")),f(Y,B),!I)try{H.name!==$&&o(H,"name",$),H.constructor=Y}catch(k){}return Y}}},27796:function(l,p,t){var r=t(14304),e=t(38941),o=t(66543),s=t(72069),u=t(70003),f="AggregateError",c=e(f),h=!s(function(){return c([1]).errors[0]!==1})&&s(function(){return c([1],f,{cause:7}).cause!==7});r({global:!0,constructor:!0,arity:2,forced:h},{AggregateError:u(f,function(v){return function(m,E){return o(v,this,arguments)}},h,!0)})},85647:function(l,p,t){var r=t(14304),e=t(95307),o=t(26313),s=t(15861),u=t(93706),f=t(5406),c=t(90809),h=t(18526),v=t(31486),y=t(97077),m=t(55902),E=t(15453),I=t(18565),O=I("toStringTag"),T=Error,N=[].push,M=function(w,$){var B=e(F,this),H;s?H=s(new T,B?o(this):F):(H=B?this:f(F),c(H,O,"Error")),$!==void 0&&c(H,"message",E($)),y(H,M,H.stack,1),arguments.length>2&&v(H,arguments[2]);var X=[];return m(w,N,{that:X}),c(H,"errors",X),H};s?s(M,T):u(M,T,{name:!0});var F=M.prototype=f(T.prototype,{constructor:h(1,M),message:h(1,""),name:h(1,"AggregateError")});r({global:!0,constructor:!0,arity:2},{AggregateError:M})},42861:function(l,p,t){t(85647)},35473:function(l,p,t){var r=t(14304),e=t(34246),o=t(17468),s=t(36167),u="ArrayBuffer",f=o[u],c=e[u];r({global:!0,constructor:!0,forced:c!==f},{ArrayBuffer:f}),s(u)},35495:function(l,p,t){var r=t(92986),e=t(85500),o=t(30736),s=ArrayBuffer.prototype;r&&!("detached"in s)&&e(s,"detached",{configurable:!0,get:function(){return o(this)}})},4983:function(l,p,t){var r=t(14304),e=t(88037),o=e.NATIVE_ARRAY_BUFFER_VIEWS;r({target:"ArrayBuffer",stat:!0,forced:!o},{isView:e.isView})},6875:function(l,p,t){var r=t(14304),e=t(77422),o=t(72069),s=t(17468),u=t(25001),f=t(4652),c=t(45344),h=s.ArrayBuffer,v=s.DataView,y=v.prototype,m=e(h.prototype.slice),E=e(y.getUint8),I=e(y.setUint8),O=o(function(){return!new h(2).slice(1,void 0).byteLength});r({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:O},{slice:function(N,M){if(m&&M===void 0)return m(u(this),N);for(var F=u(this).byteLength,D=f(N,F),w=f(M===void 0?F:M,F),$=new h(c(w-D)),B=new v(this),H=new v($),X=0;D<w;)I(H,X++,E(B,D++));return $}})},58594:function(l,p,t){var r=t(14304),e=t(65006);e&&r({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return e(this,arguments.length?arguments[0]:void 0,!1)}})},32790:function(l,p,t){var r=t(14304),e=t(65006);e&&r({target:"ArrayBuffer",proto:!0},{transfer:function(){return e(this,arguments.length?arguments[0]:void 0,!0)}})},1341:function(l,p,t){var r=t(14304),e=t(49671),o=t(82628),s=t(12105),u=t(23811);r({target:"Array",proto:!0},{at:function(c){var h=e(this),v=o(h),y=s(c),m=y>=0?y:v+y;return m<0||m>=v?void 0:h[m]}}),u("at")},98700:function(l,p,t){var r=t(14304),e=t(72069),o=t(3438),s=t(37540),u=t(49671),f=t(82628),c=t(20095),h=t(84082),v=t(62083),y=t(52183),m=t(18565),E=t(44241),I=m("isConcatSpreadable"),O=E>=51||!e(function(){var M=[];return M[I]=!1,M.concat()[0]!==M}),T=function(M){if(!s(M))return!1;var F=M[I];return F!==void 0?!!F:o(M)},N=!O||!y("concat");r({target:"Array",proto:!0,arity:1,forced:N},{concat:function(F){var D=u(this),w=v(D,0),$=0,B,H,X,Y,k;for(B=-1,X=arguments.length;B<X;B++)if(k=B===-1?D:arguments[B],T(k))for(Y=f(k),c($+Y),H=0;H<Y;H++,$++)H in k&&h(w,$,k[H]);else c($+1),h(w,$++,k);return w.length=$,w}})},65481:function(l,p,t){var r=t(14304),e=t(81499),o=t(23811);r({target:"Array",proto:!0},{copyWithin:e}),o("copyWithin")},46509:function(l,p,t){var r=t(14304),e=t(66655).every,o=t(6148),s=o("every");r({target:"Array",proto:!0,forced:!s},{every:function(f){return e(this,f,arguments.length>1?arguments[1]:void 0)}})},41585:function(l,p,t){var r=t(14304),e=t(43011),o=t(23811);r({target:"Array",proto:!0},{fill:e}),o("fill")},84554:function(l,p,t){var r=t(14304),e=t(66655).filter,o=t(52183),s=o("filter");r({target:"Array",proto:!0,forced:!s},{filter:function(f){return e(this,f,arguments.length>1?arguments[1]:void 0)}})},33818:function(l,p,t){var r=t(14304),e=t(66655).findIndex,o=t(23811),s="findIndex",u=!0;s in[]&&Array(1)[s](function(){u=!1}),r({target:"Array",proto:!0,forced:u},{findIndex:function(c){return e(this,c,arguments.length>1?arguments[1]:void 0)}}),o(s)},2209:function(l,p,t){var r=t(14304),e=t(73849).findLastIndex,o=t(23811);r({target:"Array",proto:!0},{findLastIndex:function(u){return e(this,u,arguments.length>1?arguments[1]:void 0)}}),o("findLastIndex")},64096:function(l,p,t){var r=t(14304),e=t(73849).findLast,o=t(23811);r({target:"Array",proto:!0},{findLast:function(u){return e(this,u,arguments.length>1?arguments[1]:void 0)}}),o("findLast")},36619:function(l,p,t){var r=t(14304),e=t(66655).find,o=t(23811),s="find",u=!0;s in[]&&Array(1)[s](function(){u=!1}),r({target:"Array",proto:!0,forced:u},{find:function(c){return e(this,c,arguments.length>1?arguments[1]:void 0)}}),o(s)},74092:function(l,p,t){var r=t(14304),e=t(53149),o=t(85156),s=t(49671),u=t(82628),f=t(62083);r({target:"Array",proto:!0},{flatMap:function(h){var v=s(this),y=u(v),m;return o(h),m=f(v,0),m.length=e(m,v,v,y,0,1,h,arguments.length>1?arguments[1]:void 0),m}})},91591:function(l,p,t){var r=t(14304),e=t(53149),o=t(49671),s=t(82628),u=t(12105),f=t(62083);r({target:"Array",proto:!0},{flat:function(){var h=arguments.length?arguments[0]:void 0,v=o(this),y=s(v),m=f(v,0);return m.length=e(m,v,v,y,0,h===void 0?1:u(h)),m}})},54703:function(l,p,t){var r=t(14304),e=t(13349);r({target:"Array",proto:!0,forced:[].forEach!==e},{forEach:e})},82936:function(l,p,t){var r=t(14304),e=t(48258),o=t(97494),s=!o(function(u){Array.from(u)});r({target:"Array",stat:!0,forced:s},{from:e})},48493:function(l,p,t){var r=t(14304),e=t(94319).includes,o=t(72069),s=t(23811),u=o(function(){return!Array(1).includes()});r({target:"Array",proto:!0,forced:u},{includes:function(c){return e(this,c,arguments.length>1?arguments[1]:void 0)}}),s("includes")},64730:function(l,p,t){var r=t(14304),e=t(77422),o=t(94319).indexOf,s=t(6148),u=e([].indexOf),f=!!u&&1/u([1],1,-0)<0,c=f||!s("indexOf");r({target:"Array",proto:!0,forced:c},{indexOf:function(v){var y=arguments.length>1?arguments[1]:void 0;return f?u(this,v,y)||0:o(this,v,y)}})},95024:function(l,p,t){var r=t(14304),e=t(3438);r({target:"Array",stat:!0},{isArray:e})},35054:function(l,p,t){var r=t(36859),e=t(23811),o=t(29107),s=t(82367),u=t(7831).f,f=t(10218),c=t(10659),h=t(70457),v=t(92986),y="Array Iterator",m=s.set,E=s.getterFor(y);l.exports=f(Array,"Array",function(O,T){m(this,{type:y,target:r(O),index:0,kind:T})},function(){var O=E(this),T=O.target,N=O.index++;if(!T||N>=T.length)return O.target=null,c(void 0,!0);switch(O.kind){case"keys":return c(N,!1);case"values":return c(T[N],!1)}return c([N,T[N]],!1)},"values");var I=o.Arguments=o.Array;if(e("keys"),e("values"),e("entries"),!h&&v&&I.name!=="values")try{u(I,"name",{value:"values"})}catch(O){}},25460:function(l,p,t){var r=t(14304),e=t(11286),o=t(72181),s=t(36859),u=t(6148),f=e([].join),c=o!==Object,h=c||!u("join",",");r({target:"Array",proto:!0,forced:h},{join:function(y){return f(s(this),y===void 0?",":y)}})},60703:function(l,p,t){var r=t(14304),e=t(58465);r({target:"Array",proto:!0,forced:e!==[].lastIndexOf},{lastIndexOf:e})},90468:function(l,p,t){var r=t(14304),e=t(66655).map,o=t(52183),s=o("map");r({target:"Array",proto:!0,forced:!s},{map:function(f){return e(this,f,arguments.length>1?arguments[1]:void 0)}})},69581:function(l,p,t){var r=t(14304),e=t(72069),o=t(11051),s=t(84082),u=Array,f=e(function(){function c(){}return!(u.of.call(c)instanceof c)});r({target:"Array",stat:!0,forced:f},{of:function(){for(var h=0,v=arguments.length,y=new(o(this)?this:u)(v);v>h;)s(y,h,arguments[h++]);return y.length=v,y}})},720:function(l,p,t){var r=t(14304),e=t(49671),o=t(82628),s=t(2213),u=t(20095),f=t(72069),c=f(function(){return[].push.call({length:4294967296},1)!==4294967297}),h=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(y){return y instanceof TypeError}},v=c||!h();r({target:"Array",proto:!0,arity:1,forced:v},{push:function(m){var E=e(this),I=o(E),O=arguments.length;u(I+O);for(var T=0;T<O;T++)E[I]=arguments[T],I++;return s(E,I),I}})},17289:function(l,p,t){var r=t(14304),e=t(97264).right,o=t(6148),s=t(44241),u=t(91707),f=!u&&s>79&&s<83,c=f||!o("reduceRight");r({target:"Array",proto:!0,forced:c},{reduceRight:function(v){return e(this,v,arguments.length,arguments.length>1?arguments[1]:void 0)}})},11042:function(l,p,t){var r=t(14304),e=t(97264).left,o=t(6148),s=t(44241),u=t(91707),f=!u&&s>79&&s<83,c=f||!o("reduce");r({target:"Array",proto:!0,forced:c},{reduce:function(v){var y=arguments.length;return e(this,v,y,y>1?arguments[1]:void 0)}})},24608:function(l,p,t){var r=t(14304),e=t(11286),o=t(3438),s=e([].reverse),u=[1,2];r({target:"Array",proto:!0,forced:String(u)===String(u.reverse())},{reverse:function(){return o(this)&&(this.length=this.length),s(this)}})},51644:function(l,p,t){var r=t(14304),e=t(3438),o=t(11051),s=t(37540),u=t(4652),f=t(82628),c=t(36859),h=t(84082),v=t(18565),y=t(52183),m=t(22806),E=y("slice"),I=v("species"),O=Array,T=Math.max;r({target:"Array",proto:!0,forced:!E},{slice:function(M,F){var D=c(this),w=f(D),$=u(M,w),B=u(F===void 0?w:F,w),H,X,Y;if(e(D)&&(H=D.constructor,o(H)&&(H===O||e(H.prototype))?H=void 0:s(H)&&(H=H[I],H===null&&(H=void 0)),H===O||H===void 0))return m(D,$,B);for(X=new(H===void 0?O:H)(T(B-$,0)),Y=0;$<B;$++,Y++)$ in D&&h(X,Y,D[$]);return X.length=Y,X}})},88088:function(l,p,t){var r=t(14304),e=t(66655).some,o=t(6148),s=o("some");r({target:"Array",proto:!0,forced:!s},{some:function(f){return e(this,f,arguments.length>1?arguments[1]:void 0)}})},46828:function(l,p,t){var r=t(14304),e=t(11286),o=t(85156),s=t(49671),u=t(82628),f=t(12384),c=t(17361),h=t(72069),v=t(13270),y=t(6148),m=t(507),E=t(17417),I=t(44241),O=t(66577),T=[],N=e(T.sort),M=e(T.push),F=h(function(){T.sort(void 0)}),D=h(function(){T.sort(null)}),w=y("sort"),$=!h(function(){if(I)return I<70;if(!(m&&m>3)){if(E)return!0;if(O)return O<603;var X="",Y,k,ot,st;for(Y=65;Y<76;Y++){switch(k=String.fromCharCode(Y),Y){case 66:case 69:case 70:case 72:ot=3;break;case 68:case 71:ot=4;break;default:ot=2}for(st=0;st<47;st++)T.push({k:k+st,v:ot})}for(T.sort(function(tt,et){return et.v-tt.v}),st=0;st<T.length;st++)k=T[st].k.charAt(0),X.charAt(X.length-1)!==k&&(X+=k);return X!=="DGBEFHACIJK"}}),B=F||!D||!w||!$,H=function(X){return function(Y,k){return k===void 0?-1:Y===void 0?1:X!==void 0?+X(Y,k)||0:c(Y)>c(k)?1:-1}};r({target:"Array",proto:!0,forced:B},{sort:function(Y){Y!==void 0&&o(Y);var k=s(this);if($)return Y===void 0?N(k):N(k,Y);var ot=[],st=u(k),tt,et;for(et=0;et<st;et++)et in k&&M(ot,k[et]);for(v(ot,H(Y)),tt=u(ot),et=0;et<tt;)k[et]=ot[et++];for(;et<st;)f(k,et++);return k}})},90088:function(l,p,t){var r=t(36167);r("Array")},35148:function(l,p,t){var r=t(14304),e=t(49671),o=t(4652),s=t(12105),u=t(82628),f=t(2213),c=t(20095),h=t(62083),v=t(84082),y=t(12384),m=t(52183),E=m("splice"),I=Math.max,O=Math.min;r({target:"Array",proto:!0,forced:!E},{splice:function(N,M){var F=e(this),D=u(F),w=o(N,D),$=arguments.length,B,H,X,Y,k,ot;for($===0?B=H=0:$===1?(B=0,H=D-w):(B=$-2,H=O(I(s(M),0),D-w)),c(D+B-H),X=h(F,H),Y=0;Y<H;Y++)k=w+Y,k in F&&v(X,Y,F[k]);if(X.length=H,B<H){for(Y=w;Y<D-H;Y++)k=Y+H,ot=Y+B,k in F?F[ot]=F[k]:y(F,ot);for(Y=D;Y>D-H+B;Y--)y(F,Y-1)}else if(B>H)for(Y=D-H;Y>w;Y--)k=Y+H-1,ot=Y+B-1,k in F?F[ot]=F[k]:y(F,ot);for(Y=0;Y<B;Y++)F[Y+w]=arguments[Y+2];return f(F,D-H+B),X}})},86184:function(l,p,t){var r=t(14304),e=t(61638),o=t(36859),s=t(23811),u=Array;r({target:"Array",proto:!0},{toReversed:function(){return e(o(this),u)}}),s("toReversed")},53983:function(l,p,t){var r=t(14304),e=t(11286),o=t(85156),s=t(36859),u=t(5220),f=t(65470),c=t(23811),h=Array,v=e(f("Array","sort"));r({target:"Array",proto:!0},{toSorted:function(m){m!==void 0&&o(m);var E=s(this),I=u(h,E);return v(I,m)}}),c("toSorted")},42560:function(l,p,t){var r=t(14304),e=t(23811),o=t(20095),s=t(82628),u=t(4652),f=t(36859),c=t(12105),h=Array,v=Math.max,y=Math.min;r({target:"Array",proto:!0},{toSpliced:function(E,I){var O=f(this),T=s(O),N=u(E,T),M=arguments.length,F=0,D,w,$,B;for(M===0?D=w=0:M===1?(D=0,w=T-N):(D=M-2,w=y(v(c(I),0),T-N)),$=o(T+D-w),B=h($);F<N;F++)B[F]=O[F];for(;F<N+D;F++)B[F]=arguments[F-N+2];for(;F<$;F++)B[F]=O[F+w-D];return B}}),e("toSpliced")},27839:function(l,p,t){var r=t(23811);r("flatMap")},88444:function(l,p,t){var r=t(23811);r("flat")},73051:function(l,p,t){var r=t(14304),e=t(49671),o=t(82628),s=t(2213),u=t(12384),f=t(20095),c=[].unshift(0)!==1,h=function(){try{Object.defineProperty([],"length",{writable:!1}).unshift()}catch(y){return y instanceof TypeError}},v=c||!h();r({target:"Array",proto:!0,arity:1,forced:v},{unshift:function(m){var E=e(this),I=o(E),O=arguments.length;if(O){f(I+O);for(var T=I;T--;){var N=T+O;T in E?E[N]=E[T]:u(E,N)}for(var M=0;M<O;M++)E[M]=arguments[M]}return s(E,I+O)}})},9372:function(l,p,t){var r=t(14304),e=t(72302),o=t(36859),s=Array;r({target:"Array",proto:!0},{with:function(u,f){return e(o(this),s,u,f)}})},77885:function(l,p,t){var r=t(14304),e=t(17468),o=t(3237);r({global:!0,constructor:!0,forced:!o},{DataView:e.DataView})},68575:function(l,p,t){t(77885)},30801:function(l,p,t){var r=t(14304),e=t(11286),o=t(72069),s=o(function(){return new Date(16e11).getYear()!==120}),u=e(Date.prototype.getFullYear);r({target:"Date",proto:!0,forced:s},{getYear:function(){return u(this)-1900}})},90911:function(l,p,t){var r=t(14304),e=t(11286),o=Date,s=e(o.prototype.getTime);r({target:"Date",stat:!0},{now:function(){return s(new o)}})},90429:function(l,p,t){var r=t(14304),e=t(11286),o=t(12105),s=Date.prototype,u=e(s.getTime),f=e(s.setFullYear);r({target:"Date",proto:!0},{setYear:function(h){u(this);var v=o(h),y=v>=0&&v<=99?v+1900:v;return f(this,y)}})},33685:function(l,p,t){var r=t(14304);r({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString})},60086:function(l,p,t){var r=t(14304),e=t(11890);r({target:"Date",proto:!0,forced:Date.prototype.toISOString!==e},{toISOString:e})},96049:function(l,p,t){var r=t(14304),e=t(72069),o=t(49671),s=t(89935),u=e(function(){return new Date(NaN).toJSON()!==null||Date.prototype.toJSON.call({toISOString:function(){return 1}})!==1});r({target:"Date",proto:!0,arity:1,forced:u},{toJSON:function(c){var h=o(this),v=s(h,"number");return typeof v=="number"&&!isFinite(v)?null:h.toISOString()}})},14038:function(l,p,t){var r=t(94879),e=t(16142),o=t(84306),s=t(18565),u=s("toPrimitive"),f=Date.prototype;r(f,u)||e(f,u,o)},55518:function(l,p,t){var r=t(11286),e=t(16142),o=Date.prototype,s="Invalid Date",u="toString",f=r(o[u]),c=r(o.getTime);String(new Date(NaN))!==s&&e(o,u,function(){var v=c(this);return v===v?f(this):s})},81742:function(l,p,t){var r=t(14304),e=t(34246),o=t(66543),s=t(70003),u="WebAssembly",f=e[u],c=new Error("e",{cause:7}).cause!==7,h=function(y,m){var E={};E[y]=s(y,m,c),r({global:!0,constructor:!0,arity:1,forced:c},E)},v=function(y,m){if(f&&f[y]){var E={};E[y]=s(u+"."+y,m,c),r({target:u,stat:!0,constructor:!0,arity:1,forced:c},E)}};h("Error",function(y){return function(E){return o(y,this,arguments)}}),h("EvalError",function(y){return function(E){return o(y,this,arguments)}}),h("RangeError",function(y){return function(E){return o(y,this,arguments)}}),h("ReferenceError",function(y){return function(E){return o(y,this,arguments)}}),h("SyntaxError",function(y){return function(E){return o(y,this,arguments)}}),h("TypeError",function(y){return function(E){return o(y,this,arguments)}}),h("URIError",function(y){return function(E){return o(y,this,arguments)}}),v("CompileError",function(y){return function(E){return o(y,this,arguments)}}),v("LinkError",function(y){return function(E){return o(y,this,arguments)}}),v("RuntimeError",function(y){return function(E){return o(y,this,arguments)}})},8720:function(l,p,t){var r=t(16142),e=t(58434),o=Error.prototype;o.toString!==e&&r(o,"toString",e)},8894:function(l,p,t){var r=t(14304),e=t(11286),o=t(17361),s=e("".charAt),u=e("".charCodeAt),f=e(/./.exec),c=e(1 .toString),h=e("".toUpperCase),v=/[\w*+\-./@]/,y=function(m,E){for(var I=c(m,16);I.length<E;)I="0"+I;return I};r({global:!0},{escape:function(E){for(var I=o(E),O="",T=I.length,N=0,M,F;N<T;)M=s(I,N++),f(v,M)?O+=M:(F=u(M,0),F<256?O+="%"+y(F,2):O+="%u"+h(y(F,4)));return O}})},60628:function(l,p,t){var r=t(14304),e=t(91384);r({target:"Function",proto:!0,forced:Function.bind!==e},{bind:e})},56347:function(l,p,t){var r=t(23583),e=t(37540),o=t(7831),s=t(95307),u=t(18565),f=t(13749),c=u("hasInstance"),h=Function.prototype;c in h||o.f(h,c,{value:f(function(v){if(!r(this)||!e(v))return!1;var y=this.prototype;return e(y)?s(y,v):v instanceof this},c)})},16864:function(l,p,t){var r=t(92986),e=t(86588).EXISTS,o=t(11286),s=t(85500),u=Function.prototype,f=o(u.toString),c=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,h=o(c.exec),v="name";r&&!e&&s(u,v,{configurable:!0,get:function(){try{return h(c,f(this))[1]}catch(y){return""}}})},93819:function(l,p,t){var r=t(14304),e=t(34246);r({global:!0,forced:e.globalThis!==e},{globalThis:e})},11565:function(l,p,t){var r=t(14304),e=t(34246),o=t(12833),s=t(25001),u=t(23583),f=t(26313),c=t(85500),h=t(84082),v=t(72069),y=t(94879),m=t(18565),E=t(24519).IteratorPrototype,I=t(92986),O=t(70457),T="constructor",N="Iterator",M=m("toStringTag"),F=TypeError,D=e[N],w=O||!u(D)||D.prototype!==E||!v(function(){D({})}),$=function(){if(o(this,E),f(this)===E)throw new F("Abstract class Iterator not directly constructable")},B=function(H,X){I?c(E,H,{configurable:!0,get:function(){return X},set:function(Y){if(s(this),this===E)throw new F("You can't redefine this property");y(this,H)?this[H]=Y:h(this,H,Y)}}):E[H]=X};y(E,M)||B(M,N),(w||!y(E,T)||E[T]===Object)&&B(T,$),$.prototype=E,r({global:!0,constructor:!0,forced:w},{Iterator:$})},26668:function(l,p,t){var r=t(14304),e=t(96499),o=t(25001),s=t(10613),u=t(93483),f=t(98072),c=t(44736),h=t(70457),v=c(function(){for(var y=this.iterator,m=this.next,E,I;this.remaining;)if(this.remaining--,E=o(e(m,y)),I=this.done=!!E.done,I)return;if(E=o(e(m,y)),I=this.done=!!E.done,!I)return E.value});r({target:"Iterator",proto:!0,real:!0,forced:h},{drop:function(m){o(this);var E=f(u(+m));return new v(s(this),{remaining:E})}})},46386:function(l,p,t){var r=t(14304),e=t(55902),o=t(85156),s=t(25001),u=t(10613);r({target:"Iterator",proto:!0,real:!0},{every:function(c){s(this),o(c);var h=u(this),v=0;return!e(h,function(y,m){if(!c(y,v++))return m()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},35179:function(l,p,t){var r=t(14304),e=t(96499),o=t(85156),s=t(25001),u=t(10613),f=t(44736),c=t(39969),h=t(70457),v=f(function(){for(var y=this.iterator,m=this.predicate,E=this.next,I,O,T;;){if(I=s(e(E,y)),O=this.done=!!I.done,O)return;if(T=I.value,c(y,m,[T,this.counter++],!0))return T}});r({target:"Iterator",proto:!0,real:!0,forced:h},{filter:function(m){return s(this),o(m),new v(u(this),{predicate:m})}})},20150:function(l,p,t){var r=t(14304),e=t(55902),o=t(85156),s=t(25001),u=t(10613);r({target:"Iterator",proto:!0,real:!0},{find:function(c){s(this),o(c);var h=u(this),v=0;return e(h,function(y,m){if(c(y,v++))return m(y)},{IS_RECORD:!0,INTERRUPTED:!0}).result}})},23001:function(l,p,t){var r=t(14304),e=t(96499),o=t(85156),s=t(25001),u=t(10613),f=t(12124),c=t(44736),h=t(99797),v=t(70457),y=c(function(){for(var m=this.iterator,E=this.mapper,I,O;;){if(O=this.inner)try{if(I=s(e(O.next,O.iterator)),!I.done)return I.value;this.inner=null}catch(T){h(m,"throw",T)}if(I=s(e(this.next,m)),this.done=!!I.done)return;try{this.inner=f(E(I.value,this.counter++),!1)}catch(T){h(m,"throw",T)}}});r({target:"Iterator",proto:!0,real:!0,forced:v},{flatMap:function(E){return s(this),o(E),new y(u(this),{mapper:E,inner:null})}})},40334:function(l,p,t){var r=t(14304),e=t(55902),o=t(85156),s=t(25001),u=t(10613);r({target:"Iterator",proto:!0,real:!0},{forEach:function(c){s(this),o(c);var h=u(this),v=0;e(h,function(y){c(y,v++)},{IS_RECORD:!0})}})},87457:function(l,p,t){var r=t(14304),e=t(96499),o=t(49671),s=t(95307),u=t(24519).IteratorPrototype,f=t(44736),c=t(12124),h=t(70457),v=f(function(){return e(this.next,this.iterator)},!0);r({target:"Iterator",stat:!0,forced:h},{from:function(m){var E=c(typeof m=="string"?o(m):m,!0);return s(u,E.iterator)?E.iterator:new v(E)}})},66699:function(l,p,t){var r=t(14304),e=t(96191),o=t(70457);r({target:"Iterator",proto:!0,real:!0,forced:o},{map:e})},17535:function(l,p,t){var r=t(14304),e=t(55902),o=t(85156),s=t(25001),u=t(10613),f=TypeError;r({target:"Iterator",proto:!0,real:!0},{reduce:function(h){s(this),o(h);var v=u(this),y=arguments.length<2,m=y?void 0:arguments[1],E=0;if(e(v,function(I){y?(y=!1,m=I):m=h(m,I,E),E++},{IS_RECORD:!0}),y)throw new f("Reduce of empty iterator with no initial value");return m}})},48157:function(l,p,t){var r=t(14304),e=t(55902),o=t(85156),s=t(25001),u=t(10613);r({target:"Iterator",proto:!0,real:!0},{some:function(c){s(this),o(c);var h=u(this),v=0;return e(h,function(y,m){if(c(y,v++))return m()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},55338:function(l,p,t){var r=t(14304),e=t(96499),o=t(25001),s=t(10613),u=t(93483),f=t(98072),c=t(44736),h=t(99797),v=t(70457),y=c(function(){var m=this.iterator;if(!this.remaining--)return this.done=!0,h(m,"normal",void 0);var E=o(e(this.next,m)),I=this.done=!!E.done;if(!I)return E.value});r({target:"Iterator",proto:!0,real:!0,forced:v},{take:function(E){o(this);var I=f(u(+E));return new y(s(this),{remaining:I})}})},6644:function(l,p,t){var r=t(14304),e=t(25001),o=t(55902),s=t(10613),u=[].push;r({target:"Iterator",proto:!0,real:!0},{toArray:function(){var c=[];return o(s(e(this)),u,{that:c,IS_RECORD:!0}),c}})},71332:function(l,p,t){var r=t(14304),e=t(38941),o=t(66543),s=t(96499),u=t(11286),f=t(72069),c=t(23583),h=t(491),v=t(22806),y=t(10443),m=t(39729),E=String,I=e("JSON","stringify"),O=u(/./.exec),T=u("".charAt),N=u("".charCodeAt),M=u("".replace),F=u(1 .toString),D=/[\uD800-\uDFFF]/g,w=/^[\uD800-\uDBFF]$/,$=/^[\uDC00-\uDFFF]$/,B=!m||f(function(){var k=e("Symbol")("stringify detection");return I([k])!=="[null]"||I({a:k})!=="{}"||I(Object(k))!=="{}"}),H=f(function(){return I("\uDF06\uD834")!=='"\\udf06\\ud834"'||I("\uDEAD")!=='"\\udead"'}),X=function(k,ot){var st=v(arguments),tt=y(ot);if(!(!c(tt)&&(k===void 0||h(k))))return st[1]=function(et,at){if(c(tt)&&(at=s(tt,this,E(et),at)),!h(at))return at},o(I,null,st)},Y=function(k,ot,st){var tt=T(st,ot-1),et=T(st,ot+1);return O(w,k)&&!O($,et)||O($,k)&&!O(w,tt)?"\\u"+F(N(k,0),16):k};I&&r({target:"JSON",stat:!0,arity:3,forced:B||H},{stringify:function(ot,st,tt){var et=v(arguments),at=o(B?X:I,null,et);return H&&typeof at=="string"?M(at,D,Y):at}})},47269:function(l,p,t){var r=t(34246),e=t(78401);e(r.JSON,"JSON",!0)},87777:function(l,p,t){var r=t(89378),e=t(34440);r("Map",function(o){return function(){return o(this,arguments.length?arguments[0]:void 0)}},e)},22090:function(l,p,t){var r=t(14304),e=t(11286),o=t(85156),s=t(2068),u=t(55902),f=t(1774),c=t(70457),h=t(72069),v=f.Map,y=f.has,m=f.get,E=f.set,I=e([].push),O=c||h(function(){return v.groupBy("ab",function(T){return T}).get("a").length!==1});r({target:"Map",stat:!0,forced:c||O},{groupBy:function(N,M){s(N),o(M);var F=new v,D=0;return u(N,function(w){var $=M(w,D++);y(F,$)?I(m(F,$),w):E(F,$,[w])}),F}})},25627:function(l,p,t){t(87777)},9839:function(l,p,t){var r=t(14304),e=t(49366),o=Math.acosh,s=Math.log,u=Math.sqrt,f=Math.LN2,c=!o||Math.floor(o(Number.MAX_VALUE))!==710||o(1/0)!==1/0;r({target:"Math",stat:!0,forced:c},{acosh:function(v){var y=+v;return y<1?NaN:y>9490626562425156e-8?s(y)+f:e(y-1+u(y-1)*u(y+1))}})},15656:function(l,p,t){var r=t(14304),e=Math.asinh,o=Math.log,s=Math.sqrt;function u(c){var h=+c;return!isFinite(h)||h===0?h:h<0?-u(-h):o(h+s(h*h+1))}var f=!(e&&1/e(0)>0);r({target:"Math",stat:!0,forced:f},{asinh:u})},22091:function(l,p,t){var r=t(14304),e=Math.atanh,o=Math.log,s=!(e&&1/e(-0)<0);r({target:"Math",stat:!0,forced:s},{atanh:function(f){var c=+f;return c===0?c:o((1+c)/(1-c))/2}})},2886:function(l,p,t){var r=t(14304),e=t(93976),o=Math.abs,s=Math.pow;r({target:"Math",stat:!0},{cbrt:function(f){var c=+f;return e(c)*s(o(c),.3333333333333333)}})},25895:function(l,p,t){var r=t(14304),e=Math.floor,o=Math.log,s=Math.LOG2E;r({target:"Math",stat:!0},{clz32:function(f){var c=f>>>0;return c?31-e(o(c+.5)*s):32}})},24228:function(l,p,t){var r=t(14304),e=t(98940),o=Math.cosh,s=Math.abs,u=Math.E,f=!o||o(710)===1/0;r({target:"Math",stat:!0,forced:f},{cosh:function(h){var v=e(s(h)-1)+1;return(v+1/(v*u*u))*(u/2)}})},79488:function(l,p,t){var r=t(14304),e=t(98940);r({target:"Math",stat:!0,forced:e!==Math.expm1},{expm1:e})},75987:function(l,p,t){var r=t(14304),e=t(93279);r({target:"Math",stat:!0},{fround:e})},81555:function(l,p,t){var r=t(14304),e=Math.hypot,o=Math.abs,s=Math.sqrt,u=!!e&&e(1/0,NaN)!==1/0;r({target:"Math",stat:!0,arity:2,forced:u},{hypot:function(c,h){for(var v=0,y=0,m=arguments.length,E=0,I,O;y<m;)I=o(arguments[y++]),E<I?(O=E/I,v=v*O*O+1,E=I):I>0?(O=I/E,v+=O*O):v+=I;return E===1/0?1/0:E*s(v)}})},87854:function(l,p,t){var r=t(14304),e=t(72069),o=Math.imul,s=e(function(){return o(4294967295,5)!==-5||o.length!==2});r({target:"Math",stat:!0,forced:s},{imul:function(f,c){var h=65535,v=+f,y=+c,m=h&v,E=h&y;return 0|m*E+((h&v>>>16)*E+m*(h&y>>>16)<<16>>>0)}})},35074:function(l,p,t){var r=t(14304),e=t(41942);r({target:"Math",stat:!0},{log10:e})},50946:function(l,p,t){var r=t(14304),e=t(49366);r({target:"Math",stat:!0},{log1p:e})},29417:function(l,p,t){var r=t(14304),e=Math.log,o=Math.LN2;r({target:"Math",stat:!0},{log2:function(u){return e(u)/o}})},80628:function(l,p,t){var r=t(14304),e=t(93976);r({target:"Math",stat:!0},{sign:e})},74375:function(l,p,t){var r=t(14304),e=t(72069),o=t(98940),s=Math.abs,u=Math.exp,f=Math.E,c=e(function(){return Math.sinh(-2e-17)!==-2e-17});r({target:"Math",stat:!0,forced:c},{sinh:function(v){var y=+v;return s(y)<1?(o(y)-o(-y))/2:(u(y-1)-u(-y-1))*(f/2)}})},29708:function(l,p,t){var r=t(14304),e=t(98940),o=Math.exp;r({target:"Math",stat:!0},{tanh:function(u){var f=+u,c=e(f),h=e(-f);return c===1/0?1:h===1/0?-1:(c-h)/(o(f)+o(-f))}})},93449:function(l,p,t){var r=t(78401);r(Math,"Math",!0)},9111:function(l,p,t){var r=t(14304),e=t(22459);r({target:"Math",stat:!0},{trunc:e})},83514:function(l,p,t){var r=t(14304),e=t(70457),o=t(92986),s=t(34246),u=t(75081),f=t(11286),c=t(13278),h=t(94879),v=t(32345),y=t(95307),m=t(491),E=t(89935),I=t(72069),O=t(83258).f,T=t(71349).f,N=t(7831).f,M=t(34338),F=t(85900).trim,D="Number",w=s[D],$=u[D],B=w.prototype,H=s.TypeError,X=f("".slice),Y=f("".charCodeAt),k=function(gt){var Pt=E(gt,"number");return typeof Pt=="bigint"?Pt:ot(Pt)},ot=function(gt){var Pt=E(gt,"number"),Ot,Nt,It,qt,Qt,Jt,er,ir;if(m(Pt))throw new H("Cannot convert a Symbol value to a number");if(typeof Pt=="string"&&Pt.length>2){if(Pt=F(Pt),Ot=Y(Pt,0),Ot===43||Ot===45){if(Nt=Y(Pt,2),Nt===88||Nt===120)return NaN}else if(Ot===48){switch(Y(Pt,1)){case 66:case 98:It=2,qt=49;break;case 79:case 111:It=8,qt=55;break;default:return+Pt}for(Qt=X(Pt,2),Jt=Qt.length,er=0;er<Jt;er++)if(ir=Y(Qt,er),ir<48||ir>qt)return NaN;return parseInt(Qt,It)}}return+Pt},st=c(D,!w(" 0o1")||!w("0b1")||w("+0x1")),tt=function(gt){return y(B,gt)&&I(function(){M(gt)})},et=function(Pt){var Ot=arguments.length<1?0:w(k(Pt));return tt(this)?v(Object(Ot),this,et):Ot};et.prototype=B,st&&!e&&(B.constructor=et),r({global:!0,constructor:!0,wrap:!0,forced:st},{Number:et});var at=function(gt,Pt){for(var Ot=o?O(Pt):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),Nt=0,It;Ot.length>Nt;Nt++)h(Pt,It=Ot[Nt])&&!h(gt,It)&&N(gt,It,T(Pt,It))};e&&$&&at(u[D],$),(st||e)&&at(u[D],w)},15096:function(l,p,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},59590:function(l,p,t){var r=t(14304),e=t(98074);r({target:"Number",stat:!0},{isFinite:e})},99663:function(l,p,t){var r=t(14304),e=t(613);r({target:"Number",stat:!0},{isInteger:e})},89988:function(l,p,t){var r=t(14304);r({target:"Number",stat:!0},{isNaN:function(o){return o!==o}})},54427:function(l,p,t){var r=t(14304),e=t(613),o=Math.abs;r({target:"Number",stat:!0},{isSafeInteger:function(u){return e(u)&&o(u)<=9007199254740991}})},67895:function(l,p,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},57909:function(l,p,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},83938:function(l,p,t){var r=t(14304),e=t(25838);r({target:"Number",stat:!0,forced:Number.parseFloat!==e},{parseFloat:e})},55461:function(l,p,t){var r=t(14304),e=t(23009);r({target:"Number",stat:!0,forced:Number.parseInt!==e},{parseInt:e})},97339:function(l,p,t){var r=t(14304),e=t(11286),o=t(12105),s=t(34338),u=t(79719),f=t(41942),c=t(72069),h=RangeError,v=String,y=isFinite,m=Math.abs,E=Math.floor,I=Math.pow,O=Math.round,T=e(1 .toExponential),N=e(u),M=e("".slice),F=T(-69e-12,4)==="-6.9000e-11"&&T(1.255,2)==="1.25e+0"&&T(12345,3)==="1.235e+4"&&T(25,0)==="3e+1",D=function(){return c(function(){T(1,1/0)})&&c(function(){T(1,-1/0)})},w=function(){return!c(function(){T(1/0,1/0),T(NaN,1/0)})},$=!F||!D()||!w();r({target:"Number",proto:!0,forced:$},{toExponential:function(H){var X=s(this);if(H===void 0)return T(X);var Y=o(H);if(!y(X))return String(X);if(Y<0||Y>20)throw new h("Incorrect fraction digits");if(F)return T(X,Y);var k="",ot,st,tt,et;if(X<0&&(k="-",X=-X),X===0)st=0,ot=N("0",Y+1);else{var at=f(X);st=E(at);var gt=I(10,st-Y),Pt=O(X/gt);2*X>=(2*Pt+1)*gt&&(Pt+=1),Pt>=I(10,Y+1)&&(Pt/=10,st+=1),ot=v(Pt)}return Y!==0&&(ot=M(ot,0,1)+"."+M(ot,1)),st===0?(tt="+",et="0"):(tt=st>0?"+":"-",et=v(m(st))),ot+="e"+tt+et,k+ot}})},3670:function(l,p,t){var r=t(14304),e=t(11286),o=t(12105),s=t(34338),u=t(79719),f=t(72069),c=RangeError,h=String,v=Math.floor,y=e(u),m=e("".slice),E=e(1 .toFixed),I=function(D,w,$){return w===0?$:w%2===1?I(D,w-1,$*D):I(D*D,w/2,$)},O=function(D){for(var w=0,$=D;$>=4096;)w+=12,$/=4096;for(;$>=2;)w+=1,$/=2;return w},T=function(D,w,$){for(var B=-1,H=$;++B<6;)H+=w*D[B],D[B]=H%1e7,H=v(H/1e7)},N=function(D,w){for(var $=6,B=0;--$>=0;)B+=D[$],D[$]=v(B/w),B=B%w*1e7},M=function(D){for(var w=6,$="";--w>=0;)if($!==""||w===0||D[w]!==0){var B=h(D[w]);$=$===""?B:$+y("0",7-B.length)+B}return $},F=f(function(){return E(8e-5,3)!=="0.000"||E(.9,0)!=="1"||E(1.255,2)!=="1.25"||E(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!f(function(){E({})});r({target:"Number",proto:!0,forced:F},{toFixed:function(w){var $=s(this),B=o(w),H=[0,0,0,0,0,0],X="",Y="0",k,ot,st,tt;if(B<0||B>20)throw new c("Incorrect fraction digits");if($!==$)return"NaN";if($<=-1e21||$>=1e21)return h($);if($<0&&(X="-",$=-$),$>1e-21)if(k=O($*I(2,69,1))-69,ot=k<0?$*I(2,-k,1):$/I(2,k,1),ot*=4503599627370496,k=52-k,k>0){for(T(H,0,ot),st=B;st>=7;)T(H,1e7,0),st-=7;for(T(H,I(10,st,1),0),st=k-1;st>=23;)N(H,8388608),st-=23;N(H,1<<st),T(H,1,1),N(H,2),Y=M(H)}else T(H,0,ot),T(H,1<<-k,0),Y=M(H)+y("0",B);return B>0?(tt=Y.length,Y=X+(tt<=B?"0."+y("0",B-tt)+Y:m(Y,0,tt-B)+"."+m(Y,tt-B))):Y=X+Y,Y}})},15224:function(l,p,t){var r=t(14304),e=t(11286),o=t(72069),s=t(34338),u=e(1 .toPrecision),f=o(function(){return u(1,void 0)!=="1"})||!o(function(){u({})});r({target:"Number",proto:!0,forced:f},{toPrecision:function(h){return h===void 0?u(s(this)):u(s(this),h)}})},45891:function(l,p,t){var r=t(14304),e=t(16667);r({target:"Object",stat:!0,arity:2,forced:Object.assign!==e},{assign:e})},99910:function(l,p,t){var r=t(14304),e=t(92986),o=t(5406);r({target:"Object",stat:!0,sham:!e},{create:o})},92445:function(l,p,t){var r=t(14304),e=t(92986),o=t(57629),s=t(85156),u=t(49671),f=t(7831);e&&r({target:"Object",proto:!0,forced:o},{__defineGetter__:function(h,v){f.f(u(this),h,{get:s(v),enumerable:!0,configurable:!0})}})},21875:function(l,p,t){var r=t(14304),e=t(92986),o=t(61963).f;r({target:"Object",stat:!0,forced:Object.defineProperties!==o,sham:!e},{defineProperties:o})},4383:function(l,p,t){var r=t(14304),e=t(92986),o=t(7831).f;r({target:"Object",stat:!0,forced:Object.defineProperty!==o,sham:!e},{defineProperty:o})},11361:function(l,p,t){var r=t(14304),e=t(92986),o=t(57629),s=t(85156),u=t(49671),f=t(7831);e&&r({target:"Object",proto:!0,forced:o},{__defineSetter__:function(h,v){f.f(u(this),h,{set:s(v),enumerable:!0,configurable:!0})}})},13728:function(l,p,t){var r=t(14304),e=t(8511).entries;r({target:"Object",stat:!0},{entries:function(s){return e(s)}})},14885:function(l,p,t){var r=t(14304),e=t(27534),o=t(72069),s=t(37540),u=t(31853).onFreeze,f=Object.freeze,c=o(function(){f(1)});r({target:"Object",stat:!0,forced:c,sham:!e},{freeze:function(v){return f&&s(v)?f(u(v)):v}})},30343:function(l,p,t){var r=t(14304),e=t(55902),o=t(84082);r({target:"Object",stat:!0},{fromEntries:function(u){var f={};return e(u,function(c,h){o(f,c,h)},{AS_ENTRIES:!0}),f}})},22045:function(l,p,t){var r=t(14304),e=t(72069),o=t(36859),s=t(71349).f,u=t(92986),f=!u||e(function(){s(1)});r({target:"Object",stat:!0,forced:f,sham:!u},{getOwnPropertyDescriptor:function(h,v){return s(o(h),v)}})},75e3:function(l,p,t){var r=t(14304),e=t(92986),o=t(16885),s=t(36859),u=t(71349),f=t(84082);r({target:"Object",stat:!0,sham:!e},{getOwnPropertyDescriptors:function(h){for(var v=s(h),y=u.f,m=o(v),E={},I=0,O,T;m.length>I;)T=y(v,O=m[I++]),T!==void 0&&f(E,O,T);return E}})},64658:function(l,p,t){var r=t(14304),e=t(72069),o=t(92880).f,s=e(function(){return!Object.getOwnPropertyNames(1)});r({target:"Object",stat:!0,forced:s},{getOwnPropertyNames:o})},45223:function(l,p,t){var r=t(14304),e=t(39729),o=t(72069),s=t(24943),u=t(49671),f=!e||o(function(){s.f(1)});r({target:"Object",stat:!0,forced:f},{getOwnPropertySymbols:function(h){var v=s.f;return v?v(u(h)):[]}})},16017:function(l,p,t){var r=t(14304),e=t(72069),o=t(49671),s=t(26313),u=t(87501),f=e(function(){s(1)});r({target:"Object",stat:!0,forced:f,sham:!u},{getPrototypeOf:function(h){return s(o(h))}})},84681:function(l,p,t){var r=t(14304),e=t(38941),o=t(11286),s=t(85156),u=t(2068),f=t(50035),c=t(55902),h=t(72069),v=Object.groupBy,y=e("Object","create"),m=o([].push),E=!v||h(function(){return v("ab",function(I){return I}).a.length!==1});r({target:"Object",stat:!0,forced:E},{groupBy:function(O,T){u(O),s(T);var N=y(null),M=0;return c(O,function(F){var D=f(T(F,M++));D in N?m(N[D],F):N[D]=[F]}),N}})},73421:function(l,p,t){var r=t(14304),e=t(94879);r({target:"Object",stat:!0},{hasOwn:e})},31046:function(l,p,t){var r=t(14304),e=t(28174);r({target:"Object",stat:!0,forced:Object.isExtensible!==e},{isExtensible:e})},94645:function(l,p,t){var r=t(14304),e=t(72069),o=t(37540),s=t(14274),u=t(72058),f=Object.isFrozen,c=u||e(function(){f(1)});r({target:"Object",stat:!0,forced:c},{isFrozen:function(v){return!o(v)||u&&s(v)==="ArrayBuffer"?!0:f?f(v):!1}})},62935:function(l,p,t){var r=t(14304),e=t(72069),o=t(37540),s=t(14274),u=t(72058),f=Object.isSealed,c=u||e(function(){f(1)});r({target:"Object",stat:!0,forced:c},{isSealed:function(v){return!o(v)||u&&s(v)==="ArrayBuffer"?!0:f?f(v):!1}})},93446:function(l,p,t){var r=t(14304),e=t(13944);r({target:"Object",stat:!0},{is:e})},62518:function(l,p,t){var r=t(14304),e=t(49671),o=t(18350),s=t(72069),u=s(function(){o(1)});r({target:"Object",stat:!0,forced:u},{keys:function(c){return o(e(c))}})},45130:function(l,p,t){var r=t(14304),e=t(92986),o=t(57629),s=t(49671),u=t(50035),f=t(26313),c=t(71349).f;e&&r({target:"Object",proto:!0,forced:o},{__lookupGetter__:function(v){var y=s(this),m=u(v),E;do if(E=c(y,m))return E.get;while(y=f(y))}})},51542:function(l,p,t){var r=t(14304),e=t(92986),o=t(57629),s=t(49671),u=t(50035),f=t(26313),c=t(71349).f;e&&r({target:"Object",proto:!0,forced:o},{__lookupSetter__:function(v){var y=s(this),m=u(v),E;do if(E=c(y,m))return E.set;while(y=f(y))}})},43781:function(l,p,t){var r=t(14304),e=t(37540),o=t(31853).onFreeze,s=t(27534),u=t(72069),f=Object.preventExtensions,c=u(function(){f(1)});r({target:"Object",stat:!0,forced:c,sham:!s},{preventExtensions:function(v){return f&&e(v)?f(o(v)):v}})},25738:function(l,p,t){var r=t(92986),e=t(85500),o=t(37540),s=t(52427),u=t(49671),f=t(2068),c=Object.getPrototypeOf,h=Object.setPrototypeOf,v=Object.prototype,y="__proto__";if(r&&c&&h&&!(y in v))try{e(v,y,{configurable:!0,get:function(){return c(u(this))},set:function(E){var I=f(this);s(E)&&o(I)&&h(I,E)}})}catch(m){}},93247:function(l,p,t){var r=t(14304),e=t(37540),o=t(31853).onFreeze,s=t(27534),u=t(72069),f=Object.seal,c=u(function(){f(1)});r({target:"Object",stat:!0,forced:c,sham:!s},{seal:function(v){return f&&e(v)?f(o(v)):v}})},41533:function(l,p,t){var r=t(14304),e=t(15861);r({target:"Object",stat:!0},{setPrototypeOf:e})},60225:function(l,p,t){var r=t(67878),e=t(16142),o=t(60105);r||e(Object.prototype,"toString",o,{unsafe:!0})},69920:function(l,p,t){var r=t(14304),e=t(8511).values;r({target:"Object",stat:!0},{values:function(s){return e(s)}})},89205:function(l,p,t){var r=t(14304),e=t(25838);r({global:!0,forced:parseFloat!==e},{parseFloat:e})},78546:function(l,p,t){var r=t(14304),e=t(23009);r({global:!0,forced:parseInt!==e},{parseInt:e})},16893:function(l,p,t){var r=t(14304),e=t(96499),o=t(85156),s=t(24649),u=t(67805),f=t(55902),c=t(26035);r({target:"Promise",stat:!0,forced:c},{allSettled:function(v){var y=this,m=s.f(y),E=m.resolve,I=m.reject,O=u(function(){var T=o(y.resolve),N=[],M=0,F=1;f(v,function(D){var w=M++,$=!1;F++,e(T,y,D).then(function(B){$||($=!0,N[w]={status:"fulfilled",value:B},--F||E(N))},function(B){$||($=!0,N[w]={status:"rejected",reason:B},--F||E(N))})}),--F||E(N)});return O.error&&I(O.value),m.promise}})},11733:function(l,p,t){var r=t(14304),e=t(96499),o=t(85156),s=t(24649),u=t(67805),f=t(55902),c=t(26035);r({target:"Promise",stat:!0,forced:c},{all:function(v){var y=this,m=s.f(y),E=m.resolve,I=m.reject,O=u(function(){var T=o(y.resolve),N=[],M=0,F=1;f(v,function(D){var w=M++,$=!1;F++,e(T,y,D).then(function(B){$||($=!0,N[w]=B,--F||E(N))},I)}),--F||E(N)});return O.error&&I(O.value),m.promise}})},3676:function(l,p,t){var r=t(14304),e=t(96499),o=t(85156),s=t(38941),u=t(24649),f=t(67805),c=t(55902),h=t(26035),v="No one promise resolved";r({target:"Promise",stat:!0,forced:h},{any:function(m){var E=this,I=s("AggregateError"),O=u.f(E),T=O.resolve,N=O.reject,M=f(function(){var F=o(E.resolve),D=[],w=0,$=1,B=!1;c(m,function(H){var X=w++,Y=!1;$++,e(F,E,H).then(function(k){Y||B||(B=!0,T(k))},function(k){Y||B||(Y=!0,D[X]=k,--$||N(new I(D,v)))})}),--$||N(new I(D,v))});return M.error&&N(M.value),O.promise}})},14013:function(l,p,t){var r=t(14304),e=t(70457),o=t(37130).CONSTRUCTOR,s=t(98844),u=t(38941),f=t(23583),c=t(16142),h=s&&s.prototype;if(r({target:"Promise",proto:!0,forced:o,real:!0},{catch:function(y){return this.then(void 0,y)}}),!e&&f(s)){var v=u("Promise").prototype.catch;h.catch!==v&&c(h,"catch",v,{unsafe:!0})}},20238:function(l,p,t){var r=t(14304),e=t(70457),o=t(91707),s=t(34246),u=t(96499),f=t(16142),c=t(15861),h=t(78401),v=t(36167),y=t(85156),m=t(23583),E=t(37540),I=t(12833),O=t(16887),T=t(23115).set,N=t(9709),M=t(99095),F=t(67805),D=t(76895),w=t(82367),$=t(98844),B=t(37130),H=t(24649),X="Promise",Y=B.CONSTRUCTOR,k=B.REJECTION_EVENT,ot=B.SUBCLASSING,st=w.getterFor(X),tt=w.set,et=$&&$.prototype,at=$,gt=et,Pt=s.TypeError,Ot=s.document,Nt=s.process,It=H.f,qt=It,Qt=!!(Ot&&Ot.createEvent&&s.dispatchEvent),Jt="unhandledrejection",er="rejectionhandled",ir=0,Ar=1,xr=2,Er=1,Yt=2,tr,Sr,Ir,pr,Or=function(Ft){var cr;return E(Ft)&&m(cr=Ft.then)?cr:!1},Ur=function(Ft,cr){var vr=cr.value,ar=cr.state===Ar,rr=ar?Ft.ok:Ft.fail,jr=Ft.resolve,wr=Ft.reject,yt=Ft.domain,jt,Gt,Bt;try{rr?(ar||(cr.rejection===Yt&&Tr(cr),cr.rejection=Er),rr===!0?jt=vr:(yt&&yt.enter(),jt=rr(vr),yt&&(yt.exit(),Bt=!0)),jt===Ft.promise?wr(new Pt("Promise-chain cycle")):(Gt=Or(jt))?u(Gt,jt,jr,wr):jr(jt)):wr(vr)}catch(zt){yt&&!Bt&&yt.exit(),wr(zt)}},Lr=function(Ft,cr){Ft.notified||(Ft.notified=!0,N(function(){for(var vr=Ft.reactions,ar;ar=vr.get();)Ur(ar,Ft);Ft.notified=!1,cr&&!Ft.rejection&&mr(Ft)}))},Pr=function(Ft,cr,vr){var ar,rr;Qt?(ar=Ot.createEvent("Event"),ar.promise=cr,ar.reason=vr,ar.initEvent(Ft,!1,!0),s.dispatchEvent(ar)):ar={promise:cr,reason:vr},!k&&(rr=s["on"+Ft])?rr(ar):Ft===Jt&&M("Unhandled promise rejection",vr)},mr=function(Ft){u(T,s,function(){var cr=Ft.facade,vr=Ft.value,ar=Mr(Ft),rr;if(ar&&(rr=F(function(){o?Nt.emit("unhandledRejection",vr,cr):Pr(Jt,cr,vr)}),Ft.rejection=o||Mr(Ft)?Yt:Er,rr.error))throw rr.value})},Mr=function(Ft){return Ft.rejection!==Er&&!Ft.parent},Tr=function(Ft){u(T,s,function(){var cr=Ft.facade;o?Nt.emit("rejectionHandled",cr):Pr(er,cr,Ft.value)})},yr=function(Ft,cr,vr){return function(ar){Ft(cr,ar,vr)}},bt=function(Ft,cr,vr){Ft.done||(Ft.done=!0,vr&&(Ft=vr),Ft.value=cr,Ft.state=xr,Lr(Ft,!0))},Ht=function(Ft,cr,vr){if(!Ft.done){Ft.done=!0,vr&&(Ft=vr);try{if(Ft.facade===cr)throw new Pt("Promise can't be resolved itself");var ar=Or(cr);ar?N(function(){var rr={done:!1};try{u(ar,cr,yr(Ht,rr,Ft),yr(bt,rr,Ft))}catch(jr){bt(rr,jr,Ft)}}):(Ft.value=cr,Ft.state=Ar,Lr(Ft,!1))}catch(rr){bt({done:!1},rr,Ft)}}};if(Y&&(at=function(cr){I(this,gt),y(cr),u(tr,this);var vr=st(this);try{cr(yr(Ht,vr),yr(bt,vr))}catch(ar){bt(vr,ar)}},gt=at.prototype,tr=function(cr){tt(this,{type:X,done:!1,notified:!1,parent:!1,reactions:new D,rejection:!1,state:ir,value:null})},tr.prototype=f(gt,"then",function(cr,vr){var ar=st(this),rr=It(O(this,at));return ar.parent=!0,rr.ok=m(cr)?cr:!0,rr.fail=m(vr)&&vr,rr.domain=o?Nt.domain:void 0,ar.state===ir?ar.reactions.add(rr):N(function(){Ur(rr,ar)}),rr.promise}),Sr=function(){var Ft=new tr,cr=st(Ft);this.promise=Ft,this.resolve=yr(Ht,cr),this.reject=yr(bt,cr)},H.f=It=function(Ft){return Ft===at||Ft===Ir?new Sr(Ft):qt(Ft)},!e&&m($)&&et!==Object.prototype)){pr=et.then,ot||f(et,"then",function(cr,vr){var ar=this;return new at(function(rr,jr){u(pr,ar,rr,jr)}).then(cr,vr)},{unsafe:!0});try{delete et.constructor}catch(Ft){}c&&c(et,gt)}r({global:!0,constructor:!0,wrap:!0,forced:Y},{Promise:at}),h(at,X,!1,!0),v(X)},58361:function(l,p,t){var r=t(14304),e=t(70457),o=t(98844),s=t(72069),u=t(38941),f=t(23583),c=t(16887),h=t(87408),v=t(16142),y=o&&o.prototype,m=!!o&&s(function(){y.finally.call({then:function(){}},function(){})});if(r({target:"Promise",proto:!0,real:!0,forced:m},{finally:function(I){var O=c(this,u("Promise")),T=f(I);return this.then(T?function(N){return h(O,I()).then(function(){return N})}:I,T?function(N){return h(O,I()).then(function(){throw N})}:I)}}),!e&&f(o)){var E=u("Promise").prototype.finally;y.finally!==E&&v(y,"finally",E,{unsafe:!0})}},63616:function(l,p,t){t(20238),t(11733),t(14013),t(3037),t(36027),t(97282)},3037:function(l,p,t){var r=t(14304),e=t(96499),o=t(85156),s=t(24649),u=t(67805),f=t(55902),c=t(26035);r({target:"Promise",stat:!0,forced:c},{race:function(v){var y=this,m=s.f(y),E=m.reject,I=u(function(){var O=o(y.resolve);f(v,function(T){e(O,y,T).then(m.resolve,E)})});return I.error&&E(I.value),m.promise}})},36027:function(l,p,t){var r=t(14304),e=t(24649),o=t(37130).CONSTRUCTOR;r({target:"Promise",stat:!0,forced:o},{reject:function(u){var f=e.f(this),c=f.reject;return c(u),f.promise}})},97282:function(l,p,t){var r=t(14304),e=t(38941),o=t(70457),s=t(98844),u=t(37130).CONSTRUCTOR,f=t(87408),c=e("Promise"),h=o&&!u;r({target:"Promise",stat:!0,forced:o||u},{resolve:function(y){return f(h&&this===c?s:this,y)}})},7487:function(l,p,t){var r=t(14304),e=t(34246),o=t(66543),s=t(22806),u=t(24649),f=t(85156),c=t(67805),h=e.Promise,v=!1,y=!h||!h.try||c(function(){h.try(function(m){v=m===8},8)}).error||!v;r({target:"Promise",stat:!0,forced:y},{try:function(m){var E=arguments.length>1?s(arguments,1):[],I=u.f(this),O=c(function(){return o(f(m),void 0,E)});return(O.error?I.reject:I.resolve)(O.value),I.promise}})},23958:function(l,p,t){var r=t(14304),e=t(24649);r({target:"Promise",stat:!0},{withResolvers:function(){var s=e.f(this);return{promise:s.promise,resolve:s.resolve,reject:s.reject}}})},9798:function(l,p,t){var r=t(14304),e=t(66543),o=t(85156),s=t(25001),u=t(72069),f=!u(function(){Reflect.apply(function(){})});r({target:"Reflect",stat:!0,forced:f},{apply:function(h,v,y){return e(o(h),v,s(y))}})},2371:function(l,p,t){var r=t(14304),e=t(38941),o=t(66543),s=t(91384),u=t(80042),f=t(25001),c=t(37540),h=t(5406),v=t(72069),y=e("Reflect","construct"),m=Object.prototype,E=[].push,I=v(function(){function N(){}return!(y(function(){},[],N)instanceof N)}),O=!v(function(){y(function(){})}),T=I||O;r({target:"Reflect",stat:!0,forced:T,sham:T},{construct:function(M,F){u(M),f(F);var D=arguments.length<3?M:u(arguments[2]);if(O&&!I)return y(M,F,D);if(M===D){switch(F.length){case 0:return new M;case 1:return new M(F[0]);case 2:return new M(F[0],F[1]);case 3:return new M(F[0],F[1],F[2]);case 4:return new M(F[0],F[1],F[2],F[3])}var w=[null];return o(E,w,F),new(o(s,M,w))}var $=D.prototype,B=h(c($)?$:m),H=o(M,B,F);return c(H)?H:B}})},76185:function(l,p,t){var r=t(14304),e=t(92986),o=t(25001),s=t(50035),u=t(7831),f=t(72069),c=f(function(){Reflect.defineProperty(u.f({},1,{value:1}),1,{value:2})});r({target:"Reflect",stat:!0,forced:c,sham:!e},{defineProperty:function(v,y,m){o(v);var E=s(y);o(m);try{return u.f(v,E,m),!0}catch(I){return!1}}})},76553:function(l,p,t){var r=t(14304),e=t(25001),o=t(71349).f;r({target:"Reflect",stat:!0},{deleteProperty:function(u,f){var c=o(e(u),f);return c&&!c.configurable?!1:delete u[f]}})},25227:function(l,p,t){var r=t(14304),e=t(92986),o=t(25001),s=t(71349);r({target:"Reflect",stat:!0,sham:!e},{getOwnPropertyDescriptor:function(f,c){return s.f(o(f),c)}})},91723:function(l,p,t){var r=t(14304),e=t(25001),o=t(26313),s=t(87501);r({target:"Reflect",stat:!0,sham:!s},{getPrototypeOf:function(f){return o(e(f))}})},93518:function(l,p,t){var r=t(14304),e=t(96499),o=t(37540),s=t(25001),u=t(69745),f=t(71349),c=t(26313);function h(v,y){var m=arguments.length<3?v:arguments[2],E,I;if(s(v)===m)return v[y];if(E=f.f(v,y),E)return u(E)?E.value:E.get===void 0?void 0:e(E.get,m);if(o(I=c(v)))return h(I,y,m)}r({target:"Reflect",stat:!0},{get:h})},57882:function(l,p,t){var r=t(14304);r({target:"Reflect",stat:!0},{has:function(o,s){return s in o}})},37796:function(l,p,t){var r=t(14304),e=t(25001),o=t(28174);r({target:"Reflect",stat:!0},{isExtensible:function(u){return e(u),o(u)}})},11563:function(l,p,t){var r=t(14304),e=t(16885);r({target:"Reflect",stat:!0},{ownKeys:e})},26159:function(l,p,t){var r=t(14304),e=t(38941),o=t(25001),s=t(27534);r({target:"Reflect",stat:!0,sham:!s},{preventExtensions:function(f){o(f);try{var c=e("Object","preventExtensions");return c&&c(f),!0}catch(h){return!1}}})},77487:function(l,p,t){var r=t(14304),e=t(25001),o=t(53408),s=t(15861);s&&r({target:"Reflect",stat:!0},{setPrototypeOf:function(f,c){e(f),o(c);try{return s(f,c),!0}catch(h){return!1}}})},20962:function(l,p,t){var r=t(14304),e=t(96499),o=t(25001),s=t(37540),u=t(69745),f=t(72069),c=t(7831),h=t(71349),v=t(26313),y=t(18526);function m(I,O,T){var N=arguments.length<4?I:arguments[3],M=h.f(o(I),O),F,D,w;if(!M){if(s(D=v(I)))return m(D,O,T,N);M=y(0)}if(u(M)){if(M.writable===!1||!s(N))return!1;if(F=h.f(N,O)){if(F.get||F.set||F.writable===!1)return!1;F.value=T,c.f(N,O,F)}else c.f(N,O,y(0,T))}else{if(w=M.set,w===void 0)return!1;e(w,N,T)}return!0}var E=f(function(){var I=function(){},O=c.f(new I,"a",{configurable:!0});return Reflect.set(I.prototype,"a",1,O)!==!1});r({target:"Reflect",stat:!0,forced:E},{set:m})},6130:function(l,p,t){var r=t(14304),e=t(34246),o=t(78401);r({global:!0},{Reflect:{}}),o(e.Reflect,"Reflect",!0)},1354:function(l,p,t){var r=t(92986),e=t(34246),o=t(11286),s=t(13278),u=t(32345),f=t(90809),c=t(5406),h=t(83258).f,v=t(95307),y=t(11566),m=t(17361),E=t(54932),I=t(39807),O=t(2594),T=t(16142),N=t(72069),M=t(94879),F=t(82367).enforce,D=t(36167),w=t(18565),$=t(76769),B=t(85220),H=w("match"),X=e.RegExp,Y=X.prototype,k=e.SyntaxError,ot=o(Y.exec),st=o("".charAt),tt=o("".replace),et=o("".indexOf),at=o("".slice),gt=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,Pt=/a/g,Ot=/a/g,Nt=new X(Pt)!==Pt,It=I.MISSED_STICKY,qt=I.UNSUPPORTED_Y,Qt=r&&(!Nt||It||$||B||N(function(){return Ot[H]=!1,X(Pt)!==Pt||X(Ot)===Ot||String(X(Pt,"i"))!=="/a/i"})),Jt=function(Er){for(var Yt=Er.length,tr=0,Sr="",Ir=!1,pr;tr<=Yt;tr++){if(pr=st(Er,tr),pr==="\\"){Sr+=pr+st(Er,++tr);continue}!Ir&&pr==="."?Sr+="[\\s\\S]":(pr==="["?Ir=!0:pr==="]"&&(Ir=!1),Sr+=pr)}return Sr},er=function(Er){for(var Yt=Er.length,tr=0,Sr="",Ir=[],pr=c(null),Or=!1,Ur=!1,Lr=0,Pr="",mr;tr<=Yt;tr++){if(mr=st(Er,tr),mr==="\\")mr+=st(Er,++tr);else if(mr==="]")Or=!1;else if(!Or)switch(!0){case mr==="[":Or=!0;break;case mr==="(":if(Sr+=mr,at(Er,tr+1,tr+3)==="?:")continue;ot(gt,at(Er,tr+1))&&(tr+=2,Ur=!0),Lr++;continue;case(mr===">"&&Ur):if(Pr===""||M(pr,Pr))throw new k("Invalid capture group name");pr[Pr]=!0,Ir[Ir.length]=[Pr,Lr],Ur=!1,Pr="";continue}Ur?Pr+=mr:Sr+=mr}return[Sr,Ir]};if(s("RegExp",Qt)){for(var ir=function(Yt,tr){var Sr=v(Y,this),Ir=y(Yt),pr=tr===void 0,Or=[],Ur=Yt,Lr,Pr,mr,Mr,Tr,yr;if(!Sr&&Ir&&pr&&Yt.constructor===ir)return Yt;if((Ir||v(Y,Yt))&&(Yt=Yt.source,pr&&(tr=E(Ur))),Yt=Yt===void 0?"":m(Yt),tr=tr===void 0?"":m(tr),Ur=Yt,$&&"dotAll"in Pt&&(Pr=!!tr&&et(tr,"s")>-1,Pr&&(tr=tt(tr,/s/g,""))),Lr=tr,It&&"sticky"in Pt&&(mr=!!tr&&et(tr,"y")>-1,mr&&qt&&(tr=tt(tr,/y/g,""))),B&&(Mr=er(Yt),Yt=Mr[0],Or=Mr[1]),Tr=u(X(Yt,tr),Sr?this:Y,ir),(Pr||mr||Or.length)&&(yr=F(Tr),Pr&&(yr.dotAll=!0,yr.raw=ir(Jt(Yt),Lr)),mr&&(yr.sticky=!0),Or.length&&(yr.groups=Or)),Yt!==Ur)try{f(Tr,"source",Ur===""?"(?:)":Ur)}catch(bt){}return Tr},Ar=h(X),xr=0;Ar.length>xr;)O(ir,X,Ar[xr++]);Y.constructor=ir,ir.prototype=Y,T(e,"RegExp",ir,{constructor:!0})}D("RegExp")},47119:function(l,p,t){var r=t(92986),e=t(76769),o=t(14274),s=t(85500),u=t(82367).get,f=RegExp.prototype,c=TypeError;r&&e&&s(f,"dotAll",{configurable:!0,get:function(){if(this!==f){if(o(this)==="RegExp")return!!u(this).dotAll;throw new c("Incompatible receiver, RegExp required")}}})},31145:function(l,p,t){var r=t(14304),e=t(44381);r({target:"RegExp",proto:!0,forced:/./.exec!==e},{exec:e})},96773:function(l,p,t){var r=t(34246),e=t(92986),o=t(85500),s=t(29833),u=t(72069),f=r.RegExp,c=f.prototype,h=e&&u(function(){var v=!0;try{f(".","d")}catch(M){v=!1}var y={},m="",E=v?"dgimsy":"gimsy",I=function(M,F){Object.defineProperty(y,M,{get:function(){return m+=F,!0}})},O={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};v&&(O.hasIndices="d");for(var T in O)I(T,O[T]);var N=Object.getOwnPropertyDescriptor(c,"flags").get.call(y);return N!==E||m!==E});h&&o(c,"flags",{configurable:!0,get:s})},14371:function(l,p,t){var r=t(92986),e=t(39807).MISSED_STICKY,o=t(14274),s=t(85500),u=t(82367).get,f=RegExp.prototype,c=TypeError;r&&e&&s(f,"sticky",{configurable:!0,get:function(){if(this!==f){if(o(this)==="RegExp")return!!u(this).sticky;throw new c("Incompatible receiver, RegExp required")}}})},18180:function(l,p,t){t(31145);var r=t(14304),e=t(96499),o=t(23583),s=t(25001),u=t(17361),f=function(){var h=!1,v=/[ac]/;return v.exec=function(){return h=!0,/./.exec.apply(this,arguments)},v.test("abc")===!0&&h}(),c=/./.test;r({target:"RegExp",proto:!0,forced:!f},{test:function(h){var v=s(this),y=u(h),m=v.exec;if(!o(m))return e(c,v,y);var E=e(m,v,y);return E===null?!1:(s(E),!0)}})},83147:function(l,p,t){var r=t(86588).PROPER,e=t(16142),o=t(25001),s=t(17361),u=t(72069),f=t(54932),c="toString",h=RegExp.prototype,v=h[c],y=u(function(){return v.call({source:"a",flags:"b"})!=="/a/b"}),m=r&&v.name!==c;(y||m)&&e(h,c,function(){var I=o(this),O=s(I.source),T=s(f(I));return"/"+O+"/"+T},{unsafe:!0})},6583:function(l,p,t){var r=t(89378),e=t(34440);r("Set",function(o){return function(){return o(this,arguments.length?arguments[0]:void 0)}},e)},86548:function(l,p,t){var r=t(14304),e=t(41754),o=t(94118);r({target:"Set",proto:!0,real:!0,forced:!o("difference")},{difference:e})},15282:function(l,p,t){var r=t(14304),e=t(72069),o=t(92292),s=t(94118),u=!s("intersection")||e(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});r({target:"Set",proto:!0,real:!0,forced:u},{intersection:o})},51275:function(l,p,t){var r=t(14304),e=t(47391),o=t(94118);r({target:"Set",proto:!0,real:!0,forced:!o("isDisjointFrom")},{isDisjointFrom:e})},91890:function(l,p,t){var r=t(14304),e=t(75492),o=t(94118);r({target:"Set",proto:!0,real:!0,forced:!o("isSubsetOf")},{isSubsetOf:e})},15089:function(l,p,t){var r=t(14304),e=t(1333),o=t(94118);r({target:"Set",proto:!0,real:!0,forced:!o("isSupersetOf")},{isSupersetOf:e})},75765:function(l,p,t){t(6583)},78134:function(l,p,t){var r=t(14304),e=t(64680),o=t(94118);r({target:"Set",proto:!0,real:!0,forced:!o("symmetricDifference")},{symmetricDifference:e})},56456:function(l,p,t){var r=t(14304),e=t(70402),o=t(94118);r({target:"Set",proto:!0,real:!0,forced:!o("union")},{union:e})},70641:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("anchor")},{anchor:function(u){return e(this,"a","name",u)}})},40735:function(l,p,t){var r=t(14304),e=t(11286),o=t(2068),s=t(12105),u=t(17361),f=t(72069),c=e("".charAt),h=f(function(){return"\u{20BB7}".at(-2)!=="\uD842"});r({target:"String",proto:!0,forced:h},{at:function(y){var m=u(o(this)),E=m.length,I=s(y),O=I>=0?I:E+I;return O<0||O>=E?void 0:c(m,O)}})},53892:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("big")},{big:function(){return e(this,"big","","")}})},95976:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("blink")},{blink:function(){return e(this,"blink","","")}})},399:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("bold")},{bold:function(){return e(this,"b","","")}})},8510:function(l,p,t){var r=t(14304),e=t(22149).codeAt;r({target:"String",proto:!0},{codePointAt:function(s){return e(this,s)}})},70159:function(l,p,t){var r=t(14304),e=t(77422),o=t(71349).f,s=t(45344),u=t(17361),f=t(92337),c=t(2068),h=t(8790),v=t(70457),y=e("".slice),m=Math.min,E=h("endsWith"),I=!v&&!E&&!!function(){var O=o(String.prototype,"endsWith");return O&&!O.writable}();r({target:"String",proto:!0,forced:!I&&!E},{endsWith:function(T){var N=u(c(this));f(T);var M=arguments.length>1?arguments[1]:void 0,F=N.length,D=M===void 0?F:m(s(M),F),w=u(T);return y(N,D-w.length,D)===w}})},72032:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("fixed")},{fixed:function(){return e(this,"tt","","")}})},49442:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("fontcolor")},{fontcolor:function(u){return e(this,"font","color",u)}})},16012:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("fontsize")},{fontsize:function(u){return e(this,"font","size",u)}})},93087:function(l,p,t){var r=t(14304),e=t(11286),o=t(4652),s=RangeError,u=String.fromCharCode,f=String.fromCodePoint,c=e([].join),h=!!f&&f.length!==1;r({target:"String",stat:!0,arity:1,forced:h},{fromCodePoint:function(y){for(var m=[],E=arguments.length,I=0,O;E>I;){if(O=+arguments[I++],o(O,1114111)!==O)throw new s(O+" is not a valid code point");m[I]=O<65536?u(O):u(((O-=65536)>>10)+55296,O%1024+56320)}return c(m,"")}})},26021:function(l,p,t){var r=t(14304),e=t(11286),o=t(92337),s=t(2068),u=t(17361),f=t(8790),c=e("".indexOf);r({target:"String",proto:!0,forced:!f("includes")},{includes:function(v){return!!~c(u(s(this)),u(o(v)),arguments.length>1?arguments[1]:void 0)}})},93029:function(l,p,t){var r=t(14304),e=t(11286),o=t(2068),s=t(17361),u=e("".charCodeAt);r({target:"String",proto:!0},{isWellFormed:function(){for(var c=s(o(this)),h=c.length,v=0;v<h;v++){var y=u(c,v);if((y&63488)===55296&&(y>=56320||++v>=h||(u(c,v)&64512)!==56320))return!1}return!0}})},9943:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("italics")},{italics:function(){return e(this,"i","","")}})},59158:function(l,p,t){var r=t(22149).charAt,e=t(17361),o=t(82367),s=t(10218),u=t(10659),f="String Iterator",c=o.set,h=o.getterFor(f);s(String,"String",function(v){c(this,{type:f,string:e(v),index:0})},function(){var y=h(this),m=y.string,E=y.index,I;return E>=m.length?u(void 0,!0):(I=r(m,E),y.index+=I.length,u(I,!1))})},33128:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("link")},{link:function(u){return e(this,"a","href",u)}})},18509:function(l,p,t){var r=t(14304),e=t(96499),o=t(77422),s=t(26820),u=t(10659),f=t(2068),c=t(45344),h=t(17361),v=t(25001),y=t(5683),m=t(14274),E=t(11566),I=t(54932),O=t(10512),T=t(16142),N=t(72069),M=t(18565),F=t(16887),D=t(24487),w=t(33064),$=t(82367),B=t(70457),H=M("matchAll"),X="RegExp String",Y=X+" Iterator",k=$.set,ot=$.getterFor(Y),st=RegExp.prototype,tt=TypeError,et=o("".indexOf),at=o("".matchAll),gt=!!at&&!N(function(){at("a",/./)}),Pt=s(function(It,qt,Qt,Jt){k(this,{type:Y,regexp:It,string:qt,global:Qt,unicode:Jt,done:!1})},X,function(){var It=ot(this);if(It.done)return u(void 0,!0);var qt=It.regexp,Qt=It.string,Jt=w(qt,Qt);return Jt===null?(It.done=!0,u(void 0,!0)):It.global?(h(Jt[0])===""&&(qt.lastIndex=D(Qt,c(qt.lastIndex),It.unicode)),u(Jt,!1)):(It.done=!0,u(Jt,!1))}),Ot=function(Nt){var It=v(this),qt=h(Nt),Qt=F(It,RegExp),Jt=h(I(It)),er,ir,Ar;return er=new Qt(Qt===RegExp?It.source:It,Jt),ir=!!~et(Jt,"g"),Ar=!!~et(Jt,"u"),er.lastIndex=c(It.lastIndex),new Pt(er,qt,ir,Ar)};r({target:"String",proto:!0,forced:gt},{matchAll:function(It){var qt=f(this),Qt,Jt,er,ir;if(y(It)){if(gt)return at(qt,It)}else{if(E(It)&&(Qt=h(f(I(It))),!~et(Qt,"g")))throw new tt("`.matchAll` does not allow non-global regexes");if(gt)return at(qt,It);if(er=O(It,H),er===void 0&&B&&m(It)==="RegExp"&&(er=Ot),er)return e(er,It,qt)}return Jt=h(qt),ir=new RegExp(It,"g"),B?e(Ot,ir,Jt):ir[H](Jt)}}),B||H in st||T(st,H,Ot)},15599:function(l,p,t){var r=t(96499),e=t(63194),o=t(25001),s=t(5683),u=t(45344),f=t(17361),c=t(2068),h=t(10512),v=t(24487),y=t(33064);e("match",function(m,E,I){return[function(T){var N=c(this),M=s(T)?void 0:h(T,m);return M?r(M,T,N):new RegExp(T)[m](f(N))},function(O){var T=o(this),N=f(O),M=I(E,T,N);if(M.done)return M.value;if(!T.global)return y(T,N);var F=T.unicode;T.lastIndex=0;for(var D=[],w=0,$;($=y(T,N))!==null;){var B=f($[0]);D[w]=B,B===""&&(T.lastIndex=v(N,u(T.lastIndex),F)),w++}return w===0?null:D}]})},21579:function(l,p,t){var r=t(14304),e=t(61607).end,o=t(36945);r({target:"String",proto:!0,forced:o},{padEnd:function(u){return e(this,u,arguments.length>1?arguments[1]:void 0)}})},8854:function(l,p,t){var r=t(14304),e=t(61607).start,o=t(36945);r({target:"String",proto:!0,forced:o},{padStart:function(u){return e(this,u,arguments.length>1?arguments[1]:void 0)}})},57676:function(l,p,t){var r=t(14304),e=t(11286),o=t(36859),s=t(49671),u=t(17361),f=t(82628),c=e([].push),h=e([].join);r({target:"String",stat:!0},{raw:function(y){var m=o(s(y).raw),E=f(m);if(!E)return"";for(var I=arguments.length,O=[],T=0;;){if(c(O,u(m[T++])),T===E)return h(O,"");T<I&&c(O,u(arguments[T]))}}})},14527:function(l,p,t){var r=t(14304),e=t(79719);r({target:"String",proto:!0},{repeat:e})},52684:function(l,p,t){var r=t(14304),e=t(96499),o=t(11286),s=t(2068),u=t(23583),f=t(5683),c=t(11566),h=t(17361),v=t(10512),y=t(54932),m=t(38368),E=t(18565),I=t(70457),O=E("replace"),T=TypeError,N=o("".indexOf),M=o("".replace),F=o("".slice),D=Math.max;r({target:"String",proto:!0},{replaceAll:function($,B){var H=s(this),X,Y,k,ot,st,tt,et,at,gt,Pt,Ot=0,Nt="";if(!f($)){if(X=c($),X&&(Y=h(s(y($))),!~N(Y,"g")))throw new T("`.replaceAll` does not allow non-global regexes");if(k=v($,O),k)return e(k,$,H,B);if(I&&X)return M(h(H),$,B)}for(ot=h(H),st=h($),tt=u(B),tt||(B=h(B)),et=st.length,at=D(1,et),gt=N(ot,st);gt!==-1;)Pt=tt?h(B(st,gt,ot)):m(st,ot,gt,[],void 0,B),Nt+=F(ot,Ot,gt)+Pt,Ot=gt+et,gt=gt+at>ot.length?-1:N(ot,st,gt+at);return Ot<ot.length&&(Nt+=F(ot,Ot)),Nt}})},96834:function(l,p,t){var r=t(66543),e=t(96499),o=t(11286),s=t(63194),u=t(72069),f=t(25001),c=t(23583),h=t(5683),v=t(12105),y=t(45344),m=t(17361),E=t(2068),I=t(24487),O=t(10512),T=t(38368),N=t(33064),M=t(18565),F=M("replace"),D=Math.max,w=Math.min,$=o([].concat),B=o([].push),H=o("".indexOf),X=o("".slice),Y=function(tt){return tt===void 0?tt:String(tt)},k=function(){return"a".replace(/./,"$0")==="$0"}(),ot=function(){return/./[F]?/./[F]("a","$0")==="":!1}(),st=!u(function(){var tt=/./;return tt.exec=function(){var et=[];return et.groups={a:"7"},et},"".replace(tt,"$<a>")!=="7"});s("replace",function(tt,et,at){var gt=ot?"$":"$0";return[function(Ot,Nt){var It=E(this),qt=h(Ot)?void 0:O(Ot,F);return qt?e(qt,Ot,It,Nt):e(et,m(It),Ot,Nt)},function(Pt,Ot){var Nt=f(this),It=m(Pt);if(typeof Ot=="string"&&H(Ot,gt)===-1&&H(Ot,"$<")===-1){var qt=at(et,Nt,It,Ot);if(qt.done)return qt.value}var Qt=c(Ot);Qt||(Ot=m(Ot));var Jt=Nt.global,er;Jt&&(er=Nt.unicode,Nt.lastIndex=0);for(var ir=[],Ar;Ar=N(Nt,It),!(Ar===null||(B(ir,Ar),!Jt));){var xr=m(Ar[0]);xr===""&&(Nt.lastIndex=I(It,y(Nt.lastIndex),er))}for(var Er="",Yt=0,tr=0;tr<ir.length;tr++){Ar=ir[tr];for(var Sr=m(Ar[0]),Ir=D(w(v(Ar.index),It.length),0),pr=[],Or,Ur=1;Ur<Ar.length;Ur++)B(pr,Y(Ar[Ur]));var Lr=Ar.groups;if(Qt){var Pr=$([Sr],pr,Ir,It);Lr!==void 0&&B(Pr,Lr),Or=m(r(Ot,void 0,Pr))}else Or=T(Sr,It,Ir,pr,Lr,Ot);Ir>=Yt&&(Er+=X(It,Yt,Ir)+Or,Yt=Ir+Sr.length)}return Er+X(It,Yt)}]},!st||!k||ot)},74980:function(l,p,t){var r=t(96499),e=t(63194),o=t(25001),s=t(5683),u=t(2068),f=t(13944),c=t(17361),h=t(10512),v=t(33064);e("search",function(y,m,E){return[function(O){var T=u(this),N=s(O)?void 0:h(O,y);return N?r(N,O,T):new RegExp(O)[y](c(T))},function(I){var O=o(this),T=c(I),N=E(m,O,T);if(N.done)return N.value;var M=O.lastIndex;f(M,0)||(O.lastIndex=0);var F=v(O,T);return f(O.lastIndex,M)||(O.lastIndex=M),F===null?-1:F.index}]})},95625:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("small")},{small:function(){return e(this,"small","","")}})},390:function(l,p,t){var r=t(96499),e=t(11286),o=t(63194),s=t(25001),u=t(5683),f=t(2068),c=t(16887),h=t(24487),v=t(45344),y=t(17361),m=t(10512),E=t(33064),I=t(39807),O=t(72069),T=I.UNSUPPORTED_Y,N=4294967295,M=Math.min,F=e([].push),D=e("".slice),w=!O(function(){var B=/(?:)/,H=B.exec;B.exec=function(){return H.apply(this,arguments)};var X="ab".split(B);return X.length!==2||X[0]!=="a"||X[1]!=="b"}),$="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;o("split",function(B,H,X){var Y="0".split(void 0,0).length?function(k,ot){return k===void 0&&ot===0?[]:r(H,this,k,ot)}:H;return[function(ot,st){var tt=f(this),et=u(ot)?void 0:m(ot,B);return et?r(et,ot,tt,st):r(Y,y(tt),ot,st)},function(k,ot){var st=s(this),tt=y(k);if(!$){var et=X(Y,st,tt,ot,Y!==H);if(et.done)return et.value}var at=c(st,RegExp),gt=st.unicode,Pt=(st.ignoreCase?"i":"")+(st.multiline?"m":"")+(st.unicode?"u":"")+(T?"g":"y"),Ot=new at(T?"^(?:"+st.source+")":st,Pt),Nt=ot===void 0?N:ot>>>0;if(Nt===0)return[];if(tt.length===0)return E(Ot,tt)===null?[tt]:[];for(var It=0,qt=0,Qt=[];qt<tt.length;){Ot.lastIndex=T?0:qt;var Jt=E(Ot,T?D(tt,qt):tt),er;if(Jt===null||(er=M(v(Ot.lastIndex+(T?qt:0)),tt.length))===It)qt=h(tt,qt,gt);else{if(F(Qt,D(tt,It,qt)),Qt.length===Nt)return Qt;for(var ir=1;ir<=Jt.length-1;ir++)if(F(Qt,Jt[ir]),Qt.length===Nt)return Qt;qt=It=er}}return F(Qt,D(tt,It)),Qt}]},$||!w,T)},42794:function(l,p,t){var r=t(14304),e=t(77422),o=t(71349).f,s=t(45344),u=t(17361),f=t(92337),c=t(2068),h=t(8790),v=t(70457),y=e("".slice),m=Math.min,E=h("startsWith"),I=!v&&!E&&!!function(){var O=o(String.prototype,"startsWith");return O&&!O.writable}();r({target:"String",proto:!0,forced:!I&&!E},{startsWith:function(T){var N=u(c(this));f(T);var M=s(m(arguments.length>1?arguments[1]:void 0,N.length)),F=u(T);return y(N,M,M+F.length)===F}})},90614:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("strike")},{strike:function(){return e(this,"strike","","")}})},60120:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("sub")},{sub:function(){return e(this,"sub","","")}})},21293:function(l,p,t){var r=t(14304),e=t(11286),o=t(2068),s=t(12105),u=t(17361),f=e("".slice),c=Math.max,h=Math.min,v=!"".substr||"ab".substr(-1)!=="b";r({target:"String",proto:!0,forced:v},{substr:function(m,E){var I=u(o(this)),O=I.length,T=s(m),N,M;return T===1/0&&(T=0),T<0&&(T=c(O+T,0)),N=E===void 0?O:s(E),N<=0||N===1/0?"":(M=h(T+N,O),T>=M?"":f(I,T,M))}})},75826:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("sup")},{sup:function(){return e(this,"sup","","")}})},18184:function(l,p,t){var r=t(14304),e=t(96499),o=t(11286),s=t(2068),u=t(17361),f=t(72069),c=Array,h=o("".charAt),v=o("".charCodeAt),y=o([].join),m="".toWellFormed,E="\uFFFD",I=m&&f(function(){return e(m,1)!=="1"});r({target:"String",proto:!0,forced:I},{toWellFormed:function(){var T=u(s(this));if(I)return e(m,T);for(var N=T.length,M=c(N),F=0;F<N;F++){var D=v(T,F);(D&63488)!==55296?M[F]=h(T,F):D>=56320||F+1>=N||(v(T,F+1)&64512)!==56320?M[F]=E:(M[F]=h(T,F),M[++F]=h(T,F))}return y(M,"")}})},19680:function(l,p,t){t(23283);var r=t(14304),e=t(75176);r({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==e},{trimEnd:e})},12272:function(l,p,t){var r=t(14304),e=t(83481);r({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==e},{trimLeft:e})},23283:function(l,p,t){var r=t(14304),e=t(75176);r({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==e},{trimRight:e})},4193:function(l,p,t){t(12272);var r=t(14304),e=t(83481);r({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==e},{trimStart:e})},75012:function(l,p,t){var r=t(14304),e=t(85900).trim,o=t(33328);r({target:"String",proto:!0,forced:o("trim")},{trim:function(){return e(this)}})},43606:function(l,p,t){var r=t(83749);r("asyncIterator")},51767:function(l,p,t){var r=t(14304),e=t(34246),o=t(96499),s=t(11286),u=t(70457),f=t(92986),c=t(39729),h=t(72069),v=t(94879),y=t(95307),m=t(25001),E=t(36859),I=t(50035),O=t(17361),T=t(18526),N=t(5406),M=t(18350),F=t(83258),D=t(92880),w=t(24943),$=t(71349),B=t(7831),H=t(61963),X=t(79591),Y=t(16142),k=t(85500),ot=t(96731),st=t(44869),tt=t(19423),et=t(36374),at=t(18565),gt=t(56529),Pt=t(83749),Ot=t(60796),Nt=t(78401),It=t(82367),qt=t(66655).forEach,Qt=st("hidden"),Jt="Symbol",er="prototype",ir=It.set,Ar=It.getterFor(Jt),xr=Object[er],Er=e.Symbol,Yt=Er&&Er[er],tr=e.RangeError,Sr=e.TypeError,Ir=e.QObject,pr=$.f,Or=B.f,Ur=D.f,Lr=X.f,Pr=s([].push),mr=ot("symbols"),Mr=ot("op-symbols"),Tr=ot("wks"),yr=!Ir||!Ir[er]||!Ir[er].findChild,bt=function(jt,Gt,Bt){var zt=pr(xr,Gt);zt&&delete xr[Gt],Or(jt,Gt,Bt),zt&&jt!==xr&&Or(xr,Gt,zt)},Ht=f&&h(function(){return N(Or({},"a",{get:function(){return Or(this,"a",{value:7}).a}})).a!==7})?bt:Or,Ft=function(jt,Gt){var Bt=mr[jt]=N(Yt);return ir(Bt,{type:Jt,tag:jt,description:Gt}),f||(Bt.description=Gt),Bt},cr=function(Gt,Bt,zt){Gt===xr&&cr(Mr,Bt,zt),m(Gt);var lt=I(Bt);return m(zt),v(mr,lt)?(zt.enumerable?(v(Gt,Qt)&&Gt[Qt][lt]&&(Gt[Qt][lt]=!1),zt=N(zt,{enumerable:T(0,!1)})):(v(Gt,Qt)||Or(Gt,Qt,T(1,N(null))),Gt[Qt][lt]=!0),Ht(Gt,lt,zt)):Or(Gt,lt,zt)},vr=function(Gt,Bt){m(Gt);var zt=E(Bt),lt=M(zt).concat(yt(zt));return qt(lt,function(Ut){(!f||o(rr,zt,Ut))&&cr(Gt,Ut,zt[Ut])}),Gt},ar=function(Gt,Bt){return Bt===void 0?N(Gt):vr(N(Gt),Bt)},rr=function(Gt){var Bt=I(Gt),zt=o(Lr,this,Bt);return this===xr&&v(mr,Bt)&&!v(Mr,Bt)?!1:zt||!v(this,Bt)||!v(mr,Bt)||v(this,Qt)&&this[Qt][Bt]?zt:!0},jr=function(Gt,Bt){var zt=E(Gt),lt=I(Bt);if(!(zt===xr&&v(mr,lt)&&!v(Mr,lt))){var Ut=pr(zt,lt);return Ut&&v(mr,lt)&&!(v(zt,Qt)&&zt[Qt][lt])&&(Ut.enumerable=!0),Ut}},wr=function(Gt){var Bt=Ur(E(Gt)),zt=[];return qt(Bt,function(lt){!v(mr,lt)&&!v(tt,lt)&&Pr(zt,lt)}),zt},yt=function(jt){var Gt=jt===xr,Bt=Ur(Gt?Mr:E(jt)),zt=[];return qt(Bt,function(lt){v(mr,lt)&&(!Gt||v(xr,lt))&&Pr(zt,mr[lt])}),zt};c||(Er=function(){if(y(Yt,this))throw new Sr("Symbol is not a constructor");var Gt=!arguments.length||arguments[0]===void 0?void 0:O(arguments[0]),Bt=et(Gt),zt=function(lt){var Ut=this===void 0?e:this;Ut===xr&&o(zt,Mr,lt),v(Ut,Qt)&&v(Ut[Qt],Bt)&&(Ut[Qt][Bt]=!1);var gr=T(1,lt);try{Ht(Ut,Bt,gr)}catch(Ct){if(!(Ct instanceof tr))throw Ct;bt(Ut,Bt,gr)}};return f&&yr&&Ht(xr,Bt,{configurable:!0,set:zt}),Ft(Bt,Gt)},Yt=Er[er],Y(Yt,"toString",function(){return Ar(this).tag}),Y(Er,"withoutSetter",function(jt){return Ft(et(jt),jt)}),X.f=rr,B.f=cr,H.f=vr,$.f=jr,F.f=D.f=wr,w.f=yt,gt.f=function(jt){return Ft(at(jt),jt)},f&&(k(Yt,"description",{configurable:!0,get:function(){return Ar(this).description}}),u||Y(xr,"propertyIsEnumerable",rr,{unsafe:!0}))),r({global:!0,constructor:!0,wrap:!0,forced:!c,sham:!c},{Symbol:Er}),qt(M(Tr),function(jt){Pt(jt)}),r({target:Jt,stat:!0,forced:!c},{useSetter:function(){yr=!0},useSimple:function(){yr=!1}}),r({target:"Object",stat:!0,forced:!c,sham:!f},{create:ar,defineProperty:cr,defineProperties:vr,getOwnPropertyDescriptor:jr}),r({target:"Object",stat:!0,forced:!c},{getOwnPropertyNames:wr}),Ot(),Nt(Er,Jt),tt[Qt]=!0},43657:function(l,p,t){var r=t(14304),e=t(92986),o=t(34246),s=t(11286),u=t(94879),f=t(23583),c=t(95307),h=t(17361),v=t(85500),y=t(93706),m=o.Symbol,E=m&&m.prototype;if(e&&f(m)&&(!("description"in E)||m().description!==void 0)){var I={},O=function(){var B=arguments.length<1||arguments[0]===void 0?void 0:h(arguments[0]),H=c(E,this)?new m(B):B===void 0?m():m(B);return B===""&&(I[H]=!0),H};y(O,m),O.prototype=E,E.constructor=O;var T=String(m("description detection"))==="Symbol(description detection)",N=s(E.valueOf),M=s(E.toString),F=/^Symbol\((.*)\)[^)]+$/,D=s("".replace),w=s("".slice);v(E,"description",{configurable:!0,get:function(){var B=N(this);if(u(I,B))return"";var H=M(B),X=T?w(H,7,-1):D(H,F,"$1");return X===""?void 0:X}}),r({global:!0,constructor:!0,forced:!0},{Symbol:O})}},20872:function(l,p,t){var r=t(14304),e=t(38941),o=t(94879),s=t(17361),u=t(96731),f=t(61190),c=u("string-to-symbol-registry"),h=u("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!f},{for:function(v){var y=s(v);if(o(c,y))return c[y];var m=e("Symbol")(y);return c[y]=m,h[m]=y,m}})},15855:function(l,p,t){var r=t(83749);r("hasInstance")},42026:function(l,p,t){var r=t(83749);r("isConcatSpreadable")},33257:function(l,p,t){var r=t(83749);r("iterator")},40949:function(l,p,t){t(51767),t(20872),t(94762),t(71332),t(45223)},94762:function(l,p,t){var r=t(14304),e=t(94879),o=t(491),s=t(82453),u=t(96731),f=t(61190),c=u("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!f},{keyFor:function(v){if(!o(v))throw new TypeError(s(v)+" is not a symbol");if(e(c,v))return c[v]}})},88344:function(l,p,t){var r=t(83749);r("matchAll")},59414:function(l,p,t){var r=t(83749);r("match")},92579:function(l,p,t){var r=t(83749);r("replace")},94655:function(l,p,t){var r=t(83749);r("search")},8565:function(l,p,t){var r=t(83749);r("species")},60843:function(l,p,t){var r=t(83749);r("split")},65842:function(l,p,t){var r=t(83749),e=t(60796);r("toPrimitive"),e()},51595:function(l,p,t){var r=t(38941),e=t(83749),o=t(78401);e("toStringTag"),o(r("Symbol"),"Symbol")},54908:function(l,p,t){var r=t(83749);r("unscopables")},71998:function(l,p,t){var r=t(88037),e=t(82628),o=t(12105),s=r.aTypedArray,u=r.exportTypedArrayMethod;u("at",function(c){var h=s(this),v=e(h),y=o(c),m=y>=0?y:v+y;return m<0||m>=v?void 0:h[m]})},6116:function(l,p,t){var r=t(11286),e=t(88037),o=t(81499),s=r(o),u=e.aTypedArray,f=e.exportTypedArrayMethod;f("copyWithin",function(h,v){return s(u(this),h,v,arguments.length>2?arguments[2]:void 0)})},33032:function(l,p,t){var r=t(88037),e=t(66655).every,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("every",function(f){return e(o(this),f,arguments.length>1?arguments[1]:void 0)})},80962:function(l,p,t){var r=t(88037),e=t(43011),o=t(11344),s=t(9205),u=t(96499),f=t(11286),c=t(72069),h=r.aTypedArray,v=r.exportTypedArrayMethod,y=f("".slice),m=c(function(){var E=0;return new Int8Array(2).fill({valueOf:function(){return E++}}),E!==1});v("fill",function(I){var O=arguments.length;h(this);var T=y(s(this),0,3)==="Big"?o(I):+I;return u(e,this,T,O>1?arguments[1]:void 0,O>2?arguments[2]:void 0)},m)},49381:function(l,p,t){var r=t(88037),e=t(66655).filter,o=t(39954),s=r.aTypedArray,u=r.exportTypedArrayMethod;u("filter",function(c){var h=e(s(this),c,arguments.length>1?arguments[1]:void 0);return o(this,h)})},65961:function(l,p,t){var r=t(88037),e=t(66655).findIndex,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("findIndex",function(f){return e(o(this),f,arguments.length>1?arguments[1]:void 0)})},16028:function(l,p,t){var r=t(88037),e=t(73849).findLastIndex,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("findLastIndex",function(f){return e(o(this),f,arguments.length>1?arguments[1]:void 0)})},94153:function(l,p,t){var r=t(88037),e=t(73849).findLast,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("findLast",function(f){return e(o(this),f,arguments.length>1?arguments[1]:void 0)})},38344:function(l,p,t){var r=t(88037),e=t(66655).find,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("find",function(f){return e(o(this),f,arguments.length>1?arguments[1]:void 0)})},25560:function(l,p,t){var r=t(80357);r("Float32",function(e){return function(s,u,f){return e(this,s,u,f)}})},22571:function(l,p,t){var r=t(80357);r("Float64",function(e){return function(s,u,f){return e(this,s,u,f)}})},20656:function(l,p,t){var r=t(88037),e=t(66655).forEach,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("forEach",function(f){e(o(this),f,arguments.length>1?arguments[1]:void 0)})},17063:function(l,p,t){var r=t(46868),e=t(88037).exportTypedArrayStaticMethod,o=t(66169);e("from",o,r)},21774:function(l,p,t){var r=t(88037),e=t(94319).includes,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("includes",function(f){return e(o(this),f,arguments.length>1?arguments[1]:void 0)})},51761:function(l,p,t){var r=t(88037),e=t(94319).indexOf,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("indexOf",function(f){return e(o(this),f,arguments.length>1?arguments[1]:void 0)})},36849:function(l,p,t){var r=t(80357);r("Int16",function(e){return function(s,u,f){return e(this,s,u,f)}})},49191:function(l,p,t){var r=t(80357);r("Int32",function(e){return function(s,u,f){return e(this,s,u,f)}})},40704:function(l,p,t){var r=t(80357);r("Int8",function(e){return function(s,u,f){return e(this,s,u,f)}})},12317:function(l,p,t){var r=t(34246),e=t(72069),o=t(11286),s=t(88037),u=t(35054),f=t(18565),c=f("iterator"),h=r.Uint8Array,v=o(u.values),y=o(u.keys),m=o(u.entries),E=s.aTypedArray,I=s.exportTypedArrayMethod,O=h&&h.prototype,T=!e(function(){O[c].call([1])}),N=!!O&&O.values&&O[c]===O.values&&O.values.name==="values",M=function(){return v(E(this))};I("entries",function(){return m(E(this))},T),I("keys",function(){return y(E(this))},T),I("values",M,T||!N,{name:"values"}),I(c,M,T||!N,{name:"values"})},19711:function(l,p,t){var r=t(88037),e=t(11286),o=r.aTypedArray,s=r.exportTypedArrayMethod,u=e([].join);s("join",function(c){return u(o(this),c)})},41034:function(l,p,t){var r=t(88037),e=t(66543),o=t(58465),s=r.aTypedArray,u=r.exportTypedArrayMethod;u("lastIndexOf",function(c){var h=arguments.length;return e(o,s(this),h>1?[c,arguments[1]]:[c])})},13313:function(l,p,t){var r=t(88037),e=t(66655).map,o=r.aTypedArray,s=r.getTypedArrayConstructor,u=r.exportTypedArrayMethod;u("map",function(c){return e(o(this),c,arguments.length>1?arguments[1]:void 0,function(h,v){return new(s(h))(v)})})},44698:function(l,p,t){var r=t(88037),e=t(46868),o=r.aTypedArrayConstructor,s=r.exportTypedArrayStaticMethod;s("of",function(){for(var f=0,c=arguments.length,h=new(o(this))(c);c>f;)h[f]=arguments[f++];return h},e)},66178:function(l,p,t){var r=t(88037),e=t(97264).right,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("reduceRight",function(f){var c=arguments.length;return e(o(this),f,c,c>1?arguments[1]:void 0)})},7369:function(l,p,t){var r=t(88037),e=t(97264).left,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("reduce",function(f){var c=arguments.length;return e(o(this),f,c,c>1?arguments[1]:void 0)})},67961:function(l,p,t){var r=t(88037),e=r.aTypedArray,o=r.exportTypedArrayMethod,s=Math.floor;o("reverse",function(){for(var f=this,c=e(f).length,h=s(c/2),v=0,y;v<h;)y=f[v],f[v++]=f[--c],f[c]=y;return f})},8695:function(l,p,t){var r=t(34246),e=t(96499),o=t(88037),s=t(82628),u=t(58143),f=t(49671),c=t(72069),h=r.RangeError,v=r.Int8Array,y=v&&v.prototype,m=y&&y.set,E=o.aTypedArray,I=o.exportTypedArrayMethod,O=!c(function(){var N=new Uint8ClampedArray(2);return e(m,N,{length:1,0:3},1),N[1]!==3}),T=O&&o.NATIVE_ARRAY_BUFFER_VIEWS&&c(function(){var N=new v(2);return N.set(1),N.set("2",1),N[0]!==0||N[1]!==2});I("set",function(M){E(this);var F=u(arguments.length>1?arguments[1]:void 0,1),D=f(M);if(O)return e(m,this,D,F);var w=this.length,$=s(D),B=0;if($+F>w)throw new h("Wrong length");for(;B<$;)this[F+B]=D[B++]},!O||T)},69997:function(l,p,t){var r=t(88037),e=t(72069),o=t(22806),s=r.aTypedArray,u=r.getTypedArrayConstructor,f=r.exportTypedArrayMethod,c=e(function(){new Int8Array(1).slice()});f("slice",function(v,y){for(var m=o(s(this),v,y),E=u(this),I=0,O=m.length,T=new E(O);O>I;)T[I]=m[I++];return T},c)},9711:function(l,p,t){var r=t(88037),e=t(66655).some,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("some",function(f){return e(o(this),f,arguments.length>1?arguments[1]:void 0)})},3923:function(l,p,t){var r=t(34246),e=t(77422),o=t(72069),s=t(85156),u=t(13270),f=t(88037),c=t(507),h=t(17417),v=t(44241),y=t(66577),m=f.aTypedArray,E=f.exportTypedArrayMethod,I=r.Uint16Array,O=I&&e(I.prototype.sort),T=!!O&&!(o(function(){O(new I(2),null)})&&o(function(){O(new I(2),{})})),N=!!O&&!o(function(){if(v)return v<74;if(c)return c<67;if(h)return!0;if(y)return y<602;var F=new I(516),D=Array(516),w,$;for(w=0;w<516;w++)$=w%4,F[w]=515-w,D[w]=w-2*$+3;for(O(F,function(B,H){return(B/4|0)-(H/4|0)}),w=0;w<516;w++)if(F[w]!==D[w])return!0}),M=function(F){return function(D,w){return F!==void 0?+F(D,w)||0:w!==w?-1:D!==D?1:D===0&&w===0?1/D>0&&1/w<0?1:-1:D>w}};E("sort",function(D){return D!==void 0&&s(D),N?O(this,D):u(m(this),M(D))},!N||T)},59728:function(l,p,t){var r=t(88037),e=t(45344),o=t(4652),s=r.aTypedArray,u=r.getTypedArrayConstructor,f=r.exportTypedArrayMethod;f("subarray",function(h,v){var y=s(this),m=y.length,E=o(h,m),I=u(y);return new I(y.buffer,y.byteOffset+E*y.BYTES_PER_ELEMENT,e((v===void 0?m:o(v,m))-E))})},85227:function(l,p,t){var r=t(34246),e=t(66543),o=t(88037),s=t(72069),u=t(22806),f=r.Int8Array,c=o.aTypedArray,h=o.exportTypedArrayMethod,v=[].toLocaleString,y=!!f&&s(function(){v.call(new f(1))}),m=s(function(){return[1,2].toLocaleString()!==new f([1,2]).toLocaleString()})||!s(function(){f.prototype.toLocaleString.call([1,2])});h("toLocaleString",function(){return e(v,y?u(c(this)):c(this),u(arguments))},m)},56933:function(l,p,t){var r=t(61638),e=t(88037),o=e.aTypedArray,s=e.exportTypedArrayMethod,u=e.getTypedArrayConstructor;s("toReversed",function(){return r(o(this),u(this))})},91490:function(l,p,t){var r=t(88037),e=t(11286),o=t(85156),s=t(5220),u=r.aTypedArray,f=r.getTypedArrayConstructor,c=r.exportTypedArrayMethod,h=e(r.TypedArrayPrototype.sort);c("toSorted",function(y){y!==void 0&&o(y);var m=u(this),E=s(f(m),m);return h(E,y)})},61766:function(l,p,t){var r=t(88037).exportTypedArrayMethod,e=t(72069),o=t(34246),s=t(11286),u=o.Uint8Array,f=u&&u.prototype||{},c=[].toString,h=s([].join);e(function(){c.call({})})&&(c=function(){return h(this)});var v=f.toString!==c;r("toString",c,v)},44884:function(l,p,t){var r=t(80357);r("Uint16",function(e){return function(s,u,f){return e(this,s,u,f)}})},48658:function(l,p,t){var r=t(80357);r("Uint32",function(e){return function(s,u,f){return e(this,s,u,f)}})},81083:function(l,p,t){var r=t(80357);r("Uint8",function(e){return function(s,u,f){return e(this,s,u,f)}})},27428:function(l,p,t){var r=t(80357);r("Uint8",function(e){return function(s,u,f){return e(this,s,u,f)}},!0)},85143:function(l,p,t){var r=t(72302),e=t(88037),o=t(77129),s=t(12105),u=t(11344),f=e.aTypedArray,c=e.getTypedArrayConstructor,h=e.exportTypedArrayMethod,v=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(y){return y===8}}();h("with",function(y,m){var E=f(this),I=s(y),O=o(E)?u(m):+m;return r(E,c(E),I,O)},!v)},47005:function(l,p,t){var r=t(14304),e=t(11286),o=t(17361),s=String.fromCharCode,u=e("".charAt),f=e(/./.exec),c=e("".slice),h=/^[\da-f]{2}$/i,v=/^[\da-f]{4}$/i;r({global:!0},{unescape:function(m){for(var E=o(m),I="",O=E.length,T=0,N,M;T<O;){if(N=u(E,T++),N==="%"){if(u(E,T)==="u"){if(M=c(E,T+1,T+5),f(v,M)){I+=s(parseInt(M,16)),T+=5;continue}}else if(M=c(E,T,T+2),f(h,M)){I+=s(parseInt(M,16)),T+=2;continue}}I+=N}return I}})},21084:function(l,p,t){var r=t(27534),e=t(34246),o=t(11286),s=t(2725),u=t(31853),f=t(89378),c=t(94667),h=t(37540),v=t(82367).enforce,y=t(72069),m=t(42960),E=Object,I=Array.isArray,O=E.isExtensible,T=E.isFrozen,N=E.isSealed,M=E.freeze,F=E.seal,D=!e.ActiveXObject&&"ActiveXObject"in e,w,$=function(tt){return function(){return tt(this,arguments.length?arguments[0]:void 0)}},B=f("WeakMap",$,c),H=B.prototype,X=o(H.set),Y=function(){return r&&y(function(){var tt=M([]);return X(new B,tt,1),!T(tt)})};if(m)if(D){w=c.getConstructor($,"WeakMap",!0),u.enable();var k=o(H.delete),ot=o(H.has),st=o(H.get);s(H,{delete:function(tt){if(h(tt)&&!O(tt)){var et=v(this);return et.frozen||(et.frozen=new w),k(this,tt)||et.frozen.delete(tt)}return k(this,tt)},has:function(et){if(h(et)&&!O(et)){var at=v(this);return at.frozen||(at.frozen=new w),ot(this,et)||at.frozen.has(et)}return ot(this,et)},get:function(et){if(h(et)&&!O(et)){var at=v(this);return at.frozen||(at.frozen=new w),ot(this,et)?st(this,et):at.frozen.get(et)}return st(this,et)},set:function(et,at){if(h(et)&&!O(et)){var gt=v(this);gt.frozen||(gt.frozen=new w),ot(this,et)?X(this,et,at):gt.frozen.set(et,at)}else X(this,et,at);return this}})}else Y()&&s(H,{set:function(et,at){var gt;return I(et)&&(T(et)?gt=M:N(et)&&(gt=F)),X(this,et,at),gt&>(et),this}})},10042:function(l,p,t){t(21084)},58990:function(l,p,t){var r=t(89378),e=t(94667);r("WeakSet",function(o){return function(){return o(this,arguments.length?arguments[0]:void 0)}},e)},37888:function(l,p,t){t(58990)},19431:function(l,p,t){var r=t(14304),e=t(34246),o=t(38941),s=t(11286),u=t(96499),f=t(72069),c=t(17361),h=t(95486),v=t(6210).c2i,y=/[^\d+/a-z]/i,m=/[\t\n\f\r ]+/g,E=/[=]{1,2}$/,I=o("atob"),O=String.fromCharCode,T=s("".charAt),N=s("".replace),M=s(y.exec),F=!!I&&!f(function(){return I("aGk=")!=="hi"}),D=F&&f(function(){return I(" ")!==""}),w=F&&!f(function(){I("a")}),$=F&&!f(function(){I()}),B=F&&I.length!==1,H=!F||D||w||$||B;r({global:!0,bind:!0,enumerable:!0,forced:H},{atob:function(Y){if(h(arguments.length,1),F&&!D&&!w)return u(I,e,Y);var k=N(c(Y),m,""),ot="",st=0,tt=0,et,at,gt;if(k.length%4===0&&(k=N(k,E,"")),et=k.length,et%4===1||M(y,k))throw new(o("DOMException"))("The string is not correctly encoded","InvalidCharacterError");for(;st<et;)at=T(k,st++),gt=tt%4?gt*64+v[at]:v[at],tt++%4&&(ot+=O(255>>>(-2*tt&6)));return ot}})},60869:function(l,p,t){var r=t(14304),e=t(34246),o=t(38941),s=t(11286),u=t(96499),f=t(72069),c=t(17361),h=t(95486),v=t(6210).i2c,y=o("btoa"),m=s("".charAt),E=s("".charCodeAt),I=!!y&&!f(function(){return y("hi")!=="aGk="}),O=I&&!f(function(){y()}),T=I&&f(function(){return y(null)!=="bnVsbA=="}),N=I&&y.length!==1;r({global:!0,bind:!0,enumerable:!0,forced:!I||O||T||N},{btoa:function(F){if(h(arguments.length,1),I)return u(y,e,c(F));for(var D=c(F),w="",$=0,B=v,H,X;m(D,$)||(B="=",$%1);){if(X=E(D,$+=.75),X>255)throw new(o("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");H=H<<8|X,w+=m(B,63&H>>8-$%1*8)}return w}})},66722:function(l,p,t){var r=t(14304),e=t(34246),o=t(23115).clear;r({global:!0,bind:!0,enumerable:!0,forced:e.clearImmediate!==o},{clearImmediate:o})},50338:function(l,p,t){var r=t(34246),e=t(93014),o=t(39882),s=t(13349),u=t(90809),f=function(h){if(h&&h.forEach!==s)try{u(h,"forEach",s)}catch(v){h.forEach=s}};for(var c in e)e[c]&&f(r[c]&&r[c].prototype);f(o)},53059:function(l,p,t){var r=t(34246),e=t(93014),o=t(39882),s=t(35054),u=t(90809),f=t(78401),c=t(18565),h=c("iterator"),v=s.values,y=function(E,I){if(E){if(E[h]!==v)try{u(E,h,v)}catch(T){E[h]=v}if(f(E,I,!0),e[I]){for(var O in s)if(E[O]!==s[O])try{u(E,O,s[O])}catch(T){E[O]=s[O]}}}};for(var m in e)y(r[m]&&r[m].prototype,m);y(o,"DOMTokenList")},5805:function(l,p,t){var r=t(14304),e=t(38941),o=t(81191),s=t(72069),u=t(5406),f=t(18526),c=t(7831).f,h=t(16142),v=t(85500),y=t(94879),m=t(12833),E=t(25001),I=t(58434),O=t(15453),T=t(74408),N=t(40851),M=t(82367),F=t(92986),D=t(70457),w="DOMException",$="DATA_CLONE_ERR",B=e("Error"),H=e(w)||function(){try{var Yt=e("MessageChannel")||o("worker_threads").MessageChannel;new Yt().port1.postMessage(new WeakMap)}catch(tr){if(tr.name===$&&tr.code===25)return tr.constructor}}(),X=H&&H.prototype,Y=B.prototype,k=M.set,ot=M.getterFor(w),st="stack"in new B(w),tt=function(Yt){return y(T,Yt)&&T[Yt].m?T[Yt].c:0},et=function(){m(this,at);var tr=arguments.length,Sr=O(tr<1?void 0:arguments[0]),Ir=O(tr<2?void 0:arguments[1],"Error"),pr=tt(Ir);if(k(this,{type:w,name:Ir,message:Sr,code:pr}),F||(this.name=Ir,this.message=Sr,this.code=pr),st){var Or=new B(Sr);Or.name=w,c(this,"stack",f(1,N(Or.stack,1)))}},at=et.prototype=u(Y),gt=function(Yt){return{enumerable:!0,configurable:!0,get:Yt}},Pt=function(Yt){return gt(function(){return ot(this)[Yt]})};F&&(v(at,"code",Pt("code")),v(at,"message",Pt("message")),v(at,"name",Pt("name"))),c(at,"constructor",f(1,et));var Ot=s(function(){return!(new H instanceof B)}),Nt=Ot||s(function(){return Y.toString!==I||String(new H(1,2))!=="2: 1"}),It=Ot||s(function(){return new H(1,"DataCloneError").code!==25}),qt=Ot||H[$]!==25||X[$]!==25,Qt=D?Nt||It||qt:Ot;r({global:!0,constructor:!0,forced:Qt},{DOMException:Qt?et:H});var Jt=e(w),er=Jt.prototype;Nt&&(D||H===Jt)&&h(er,"toString",I),It&&F&&H===Jt&&v(er,"code",gt(function(){return tt(E(this).name)}));for(var ir in T)if(y(T,ir)){var Ar=T[ir],xr=Ar.s,Er=f(6,Ar.c);y(Jt,xr)||c(Jt,xr,Er),y(er,xr)||c(er,xr,Er)}},50685:function(l,p,t){var r=t(14304),e=t(34246),o=t(38941),s=t(18526),u=t(7831).f,f=t(94879),c=t(12833),h=t(32345),v=t(15453),y=t(74408),m=t(40851),E=t(92986),I=t(70457),O="DOMException",T=o("Error"),N=o(O),M=function(){c(this,F);var et=arguments.length,at=v(et<1?void 0:arguments[0]),gt=v(et<2?void 0:arguments[1],"Error"),Pt=new N(at,gt),Ot=new T(at);return Ot.name=O,u(Pt,"stack",s(1,m(Ot.stack,1))),h(Pt,this,M),Pt},F=M.prototype=N.prototype,D="stack"in new T(O),w="stack"in new N(1,2),$=N&&E&&Object.getOwnPropertyDescriptor(e,O),B=!!$&&!($.writable&&$.configurable),H=D&&!B&&!w;r({global:!0,constructor:!0,forced:I||H},{DOMException:H?M:N});var X=o(O),Y=X.prototype;if(Y.constructor!==X){I||u(Y,"constructor",s(1,X));for(var k in y)if(f(y,k)){var ot=y[k],st=ot.s;f(X,st)||u(X,st,s(6,ot.c))}}},70649:function(l,p,t){var r=t(38941),e=t(78401),o="DOMException";e(r(o),o)},39842:function(l,p,t){t(66722),t(8235)},82872:function(l,p,t){var r=t(14304),e=t(34246),o=t(9709),s=t(85156),u=t(95486),f=t(72069),c=t(92986),h=f(function(){return c&&Object.getOwnPropertyDescriptor(e,"queueMicrotask").value.length!==1});r({global:!0,enumerable:!0,dontCallGetSet:!0,forced:h},{queueMicrotask:function(y){u(arguments.length,1),o(s(y))}})},91401:function(l,p,t){var r=t(14304),e=t(34246),o=t(85500),s=t(92986),u=TypeError,f=Object.defineProperty,c=e.self!==e;try{if(s){var h=Object.getOwnPropertyDescriptor(e,"self");(c||!h||!h.get||!h.enumerable)&&o(e,"self",{get:function(){return e},set:function(y){if(this!==e)throw new u("Illegal invocation");f(e,"self",{value:y,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else r({global:!0,simple:!0,forced:c},{self:e})}catch(v){}},8235:function(l,p,t){var r=t(14304),e=t(34246),o=t(23115).set,s=t(9934),u=e.setImmediate?s(o,!1):o;r({global:!0,bind:!0,enumerable:!0,forced:e.setImmediate!==u},{setImmediate:u})},63981:function(l,p,t){var r=t(14304),e=t(34246),o=t(9934),s=o(e.setInterval,!0);r({global:!0,bind:!0,forced:e.setInterval!==s},{setInterval:s})},23913:function(l,p,t){var r=t(14304),e=t(34246),o=t(9934),s=o(e.setTimeout,!0);r({global:!0,bind:!0,forced:e.setTimeout!==s},{setTimeout:s})},92904:function(l,p,t){var r=t(70457),e=t(14304),o=t(34246),s=t(38941),u=t(11286),f=t(72069),c=t(36374),h=t(23583),v=t(11051),y=t(5683),m=t(37540),E=t(491),I=t(55902),O=t(25001),T=t(9205),N=t(94879),M=t(84082),F=t(90809),D=t(82628),w=t(95486),$=t(54932),B=t(1774),H=t(172),X=t(35051),Y=t(63741),k=t(16929),ot=t(99050),st=o.Object,tt=o.Array,et=o.Date,at=o.Error,gt=o.TypeError,Pt=o.PerformanceMark,Ot=s("DOMException"),Nt=B.Map,It=B.has,qt=B.get,Qt=B.set,Jt=H.Set,er=H.add,ir=H.has,Ar=s("Object","keys"),xr=u([].push),Er=u((!0).valueOf),Yt=u(1 .valueOf),tr=u("".valueOf),Sr=u(et.prototype.getTime),Ir=c("structuredClone"),pr="DataCloneError",Or="Transferring",Ur=function(yt){return!f(function(){var jt=new o.Set([7]),Gt=yt(jt),Bt=yt(st(7));return Gt===jt||!Gt.has(7)||!m(Bt)||+Bt!=7})&&yt},Lr=function(yt,jt){return!f(function(){var Gt=new jt,Bt=yt({a:Gt,b:Gt});return!(Bt&&Bt.a===Bt.b&&Bt.a instanceof jt&&Bt.a.stack===Gt.stack)})},Pr=function(yt){return!f(function(){var jt=yt(new o.AggregateError([1],Ir,{cause:3}));return jt.name!=="AggregateError"||jt.errors[0]!==1||jt.message!==Ir||jt.cause!==3})},mr=o.structuredClone,Mr=r||!Lr(mr,at)||!Lr(mr,Ot)||!Pr(mr),Tr=!mr&&Ur(function(yt){return new Pt(Ir,{detail:yt}).detail}),yr=Ur(mr)||Tr,bt=function(yt){throw new Ot("Uncloneable type: "+yt,pr)},Ht=function(yt,jt){throw new Ot((jt||"Cloning")+" of "+yt+" cannot be properly polyfilled in this engine",pr)},Ft=function(yt,jt){return yr||Ht(jt),yr(yt)},cr=function(){var yt;try{yt=new o.DataTransfer}catch(jt){try{yt=new o.ClipboardEvent("").clipboardData}catch(Gt){}}return yt&&yt.items&&yt.files?yt:null},vr=function(yt,jt,Gt){if(It(jt,yt))return qt(jt,yt);var Bt=Gt||T(yt),zt,lt,Ut,gr,Ct,$t;if(Bt==="SharedArrayBuffer")yr?zt=yr(yt):zt=yt;else{var kt=o.DataView;!kt&&!h(yt.slice)&&Ht("ArrayBuffer");try{if(h(yt.slice)&&!yt.resizable)zt=yt.slice(0);else for(lt=yt.byteLength,Ut=("maxByteLength"in yt)?{maxByteLength:yt.maxByteLength}:void 0,zt=new ArrayBuffer(lt,Ut),gr=new kt(yt),Ct=new kt(zt),$t=0;$t<lt;$t++)Ct.setUint8($t,gr.getUint8($t))}catch(Wt){throw new Ot("ArrayBuffer is detached",pr)}}return Qt(jt,yt,zt),zt},ar=function(yt,jt,Gt,Bt,zt){var lt=o[jt];return m(lt)||Ht(jt),new lt(vr(yt.buffer,zt),Gt,Bt)},rr=function(yt,jt){if(E(yt)&&bt("Symbol"),!m(yt))return yt;if(jt){if(It(jt,yt))return qt(jt,yt)}else jt=new Nt;var Gt=T(yt),Bt,zt,lt,Ut,gr,Ct,$t,kt;switch(Gt){case"Array":lt=tt(D(yt));break;case"Object":lt={};break;case"Map":lt=new Nt;break;case"Set":lt=new Jt;break;case"RegExp":lt=new RegExp(yt.source,$(yt));break;case"Error":switch(zt=yt.name,zt){case"AggregateError":lt=new(s(zt))([]);break;case"EvalError":case"RangeError":case"ReferenceError":case"SuppressedError":case"SyntaxError":case"TypeError":case"URIError":lt=new(s(zt));break;case"CompileError":case"LinkError":case"RuntimeError":lt=new(s("WebAssembly",zt));break;default:lt=new at}break;case"DOMException":lt=new Ot(yt.message,yt.name);break;case"ArrayBuffer":case"SharedArrayBuffer":lt=vr(yt,jt,Gt);break;case"DataView":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float16Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":Ct=Gt==="DataView"?yt.byteLength:yt.length,lt=ar(yt,Gt,yt.byteOffset,Ct,jt);break;case"DOMQuad":try{lt=new DOMQuad(rr(yt.p1,jt),rr(yt.p2,jt),rr(yt.p3,jt),rr(yt.p4,jt))}catch(Wt){lt=Ft(yt,Gt)}break;case"File":if(yr)try{lt=yr(yt),T(lt)!==Gt&&(lt=void 0)}catch(Wt){}if(!lt)try{lt=new File([yt],yt.name,yt)}catch(Wt){}lt||Ht(Gt);break;case"FileList":if(Ut=cr(),Ut){for(gr=0,Ct=D(yt);gr<Ct;gr++)Ut.items.add(rr(yt[gr],jt));lt=Ut.files}else lt=Ft(yt,Gt);break;case"ImageData":try{lt=new ImageData(rr(yt.data,jt),yt.width,yt.height,{colorSpace:yt.colorSpace})}catch(Wt){lt=Ft(yt,Gt)}break;default:if(yr)lt=yr(yt);else switch(Gt){case"BigInt":lt=st(yt.valueOf());break;case"Boolean":lt=st(Er(yt));break;case"Number":lt=st(Yt(yt));break;case"String":lt=st(tr(yt));break;case"Date":lt=new et(Sr(yt));break;case"Blob":try{lt=yt.slice(0,yt.size,yt.type)}catch(Wt){Ht(Gt)}break;case"DOMPoint":case"DOMPointReadOnly":Bt=o[Gt];try{lt=Bt.fromPoint?Bt.fromPoint(yt):new Bt(yt.x,yt.y,yt.z,yt.w)}catch(Wt){Ht(Gt)}break;case"DOMRect":case"DOMRectReadOnly":Bt=o[Gt];try{lt=Bt.fromRect?Bt.fromRect(yt):new Bt(yt.x,yt.y,yt.width,yt.height)}catch(Wt){Ht(Gt)}break;case"DOMMatrix":case"DOMMatrixReadOnly":Bt=o[Gt];try{lt=Bt.fromMatrix?Bt.fromMatrix(yt):new Bt(yt)}catch(Wt){Ht(Gt)}break;case"AudioData":case"VideoFrame":h(yt.clone)||Ht(Gt);try{lt=yt.clone()}catch(Wt){bt(Gt)}break;case"CropTarget":case"CryptoKey":case"FileSystemDirectoryHandle":case"FileSystemFileHandle":case"FileSystemHandle":case"GPUCompilationInfo":case"GPUCompilationMessage":case"ImageBitmap":case"RTCCertificate":case"WebAssembly.Module":Ht(Gt);default:bt(Gt)}}switch(Qt(jt,yt,lt),Gt){case"Array":case"Object":for($t=Ar(yt),gr=0,Ct=D($t);gr<Ct;gr++)kt=$t[gr],M(lt,kt,rr(yt[kt],jt));break;case"Map":yt.forEach(function(Wt,dr){Qt(lt,rr(dr,jt),rr(Wt,jt))});break;case"Set":yt.forEach(function(Wt){er(lt,rr(Wt,jt))});break;case"Error":F(lt,"message",rr(yt.message,jt)),N(yt,"cause")&&F(lt,"cause",rr(yt.cause,jt)),zt==="AggregateError"?lt.errors=rr(yt.errors,jt):zt==="SuppressedError"&&(lt.error=rr(yt.error,jt),lt.suppressed=rr(yt.suppressed,jt));case"DOMException":k&&F(lt,"stack",rr(yt.stack,jt))}return lt},jr=function(yt,jt){if(!m(yt))throw new gt("Transfer option cannot be converted to a sequence");var Gt=[];I(yt,function(dr){xr(Gt,O(dr))});for(var Bt=0,zt=D(Gt),lt=new Jt,Ut,gr,Ct,$t,kt,Wt;Bt<zt;){if(Ut=Gt[Bt++],gr=T(Ut),gr==="ArrayBuffer"?ir(lt,Ut):It(jt,Ut))throw new Ot("Duplicate transferable",pr);if(gr==="ArrayBuffer"){er(lt,Ut);continue}if(ot)$t=mr(Ut,{transfer:[Ut]});else switch(gr){case"ImageBitmap":Ct=o.OffscreenCanvas,v(Ct)||Ht(gr,Or);try{kt=new Ct(Ut.width,Ut.height),Wt=kt.getContext("bitmaprenderer"),Wt.transferFromImageBitmap(Ut),$t=kt.transferToImageBitmap()}catch(dr){}break;case"AudioData":case"VideoFrame":(!h(Ut.clone)||!h(Ut.close))&&Ht(gr,Or);try{$t=Ut.clone(),Ut.close()}catch(dr){}break;case"MediaSourceHandle":case"MessagePort":case"MIDIAccess":case"OffscreenCanvas":case"ReadableStream":case"RTCDataChannel":case"TransformStream":case"WebTransportReceiveStream":case"WebTransportSendStream":case"WritableStream":Ht(gr,Or)}if($t===void 0)throw new Ot("This object cannot be transferred: "+gr,pr);Qt(jt,Ut,$t)}return lt},wr=function(yt){X(yt,function(jt){ot?yr(jt,{transfer:[jt]}):h(jt.transfer)?jt.transfer():Y?Y(jt):Ht("ArrayBuffer",Or)})};e({global:!0,enumerable:!0,sham:!ot,forced:Mr},{structuredClone:function(jt){var Gt=w(arguments.length,1)>1&&!y(arguments[1])?O(arguments[1]):void 0,Bt=Gt?Gt.transfer:void 0,zt,lt;Bt!==void 0&&(zt=new Nt,lt=jr(Bt,zt));var Ut=rr(jt,zt);return lt&&wr(lt),Ut}})},28381:function(l,p,t){t(63981),t(23913)},98812:function(l,p,t){t(35054),t(93087);var r=t(14304),e=t(34246),o=t(28167),s=t(38941),u=t(96499),f=t(11286),c=t(92986),h=t(91918),v=t(16142),y=t(85500),m=t(2725),E=t(78401),I=t(26820),O=t(82367),T=t(12833),N=t(23583),M=t(94879),F=t(45526),D=t(9205),w=t(25001),$=t(37540),B=t(17361),H=t(5406),X=t(18526),Y=t(90619),k=t(81077),ot=t(10659),st=t(95486),tt=t(18565),et=t(13270),at=tt("iterator"),gt="URLSearchParams",Pt=gt+"Iterator",Ot=O.set,Nt=O.getterFor(gt),It=O.getterFor(Pt),qt=o("fetch"),Qt=o("Request"),Jt=o("Headers"),er=Qt&&Qt.prototype,ir=Jt&&Jt.prototype,Ar=e.TypeError,xr=e.encodeURIComponent,Er=String.fromCharCode,Yt=s("String","fromCodePoint"),tr=parseInt,Sr=f("".charAt),Ir=f([].join),pr=f([].push),Or=f("".replace),Ur=f([].shift),Lr=f([].splice),Pr=f("".split),mr=f("".slice),Mr=f(/./.exec),Tr=/\+/g,yr="\uFFFD",bt=/^[0-9a-f]+$/i,Ht=function(Ct,$t){var kt=mr(Ct,$t,$t+2);return Mr(bt,kt)?tr(kt,16):NaN},Ft=function(Ct){for(var $t=0,kt=128;kt>0&&Ct&kt;kt>>=1)$t++;return $t},cr=function(Ct){var $t=null;switch(Ct.length){case 1:$t=Ct[0];break;case 2:$t=(Ct[0]&31)<<6|Ct[1]&63;break;case 3:$t=(Ct[0]&15)<<12|(Ct[1]&63)<<6|Ct[2]&63;break;case 4:$t=(Ct[0]&7)<<18|(Ct[1]&63)<<12|(Ct[2]&63)<<6|Ct[3]&63;break}return $t>1114111?null:$t},vr=function(Ct){Ct=Or(Ct,Tr," ");for(var $t=Ct.length,kt="",Wt=0;Wt<$t;){var dr=Sr(Ct,Wt);if(dr==="%"){if(Sr(Ct,Wt+1)==="%"||Wt+3>$t){kt+="%",Wt++;continue}var Fr=Ht(Ct,Wt+1);if(Fr!==Fr){kt+=dr,Wt++;continue}Wt+=2;var Br=Ft(Fr);if(Br===0)dr=Er(Fr);else{if(Br===1||Br>4){kt+=yr,Wt++;continue}for(var Rr=[Fr],Qr=1;Qr<Br&&(Wt++,!(Wt+3>$t||Sr(Ct,Wt)!=="%"));){var tn=Ht(Ct,Wt+1);if(tn!==tn){Wt+=3;break}if(tn>191||tn<128)break;pr(Rr,tn),Wt+=2,Qr++}if(Rr.length!==Br){kt+=yr;continue}var dn=cr(Rr);dn===null?kt+=yr:dr=Yt(dn)}}kt+=dr,Wt++}return kt},ar=/[!'()~]|%20/g,rr={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},jr=function(Ct){return rr[Ct]},wr=function(Ct){return Or(xr(Ct),ar,jr)},yt=I(function($t,kt){Ot(this,{type:Pt,target:Nt($t).entries,index:0,kind:kt})},gt,function(){var $t=It(this),kt=$t.target,Wt=$t.index++;if(!kt||Wt>=kt.length)return $t.target=null,ot(void 0,!0);var dr=kt[Wt];switch($t.kind){case"keys":return ot(dr.key,!1);case"values":return ot(dr.value,!1)}return ot([dr.key,dr.value],!1)},!0),jt=function(Ct){this.entries=[],this.url=null,Ct!==void 0&&($(Ct)?this.parseObject(Ct):this.parseQuery(typeof Ct=="string"?Sr(Ct,0)==="?"?mr(Ct,1):Ct:B(Ct)))};jt.prototype={type:gt,bindURL:function(Ct){this.url=Ct,this.update()},parseObject:function(Ct){var $t=this.entries,kt=k(Ct),Wt,dr,Fr,Br,Rr,Qr,tn;if(kt)for(Wt=Y(Ct,kt),dr=Wt.next;!(Fr=u(dr,Wt)).done;){if(Br=Y(w(Fr.value)),Rr=Br.next,(Qr=u(Rr,Br)).done||(tn=u(Rr,Br)).done||!u(Rr,Br).done)throw new Ar("Expected sequence with length 2");pr($t,{key:B(Qr.value),value:B(tn.value)})}else for(var dn in Ct)M(Ct,dn)&&pr($t,{key:dn,value:B(Ct[dn])})},parseQuery:function(Ct){if(Ct)for(var $t=this.entries,kt=Pr(Ct,"&"),Wt=0,dr,Fr;Wt<kt.length;)dr=kt[Wt++],dr.length&&(Fr=Pr(dr,"="),pr($t,{key:vr(Ur(Fr)),value:vr(Ir(Fr,"="))}))},serialize:function(){for(var Ct=this.entries,$t=[],kt=0,Wt;kt<Ct.length;)Wt=Ct[kt++],pr($t,wr(Wt.key)+"="+wr(Wt.value));return Ir($t,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var Gt=function(){T(this,Bt);var $t=arguments.length>0?arguments[0]:void 0,kt=Ot(this,new jt($t));c||(this.size=kt.entries.length)},Bt=Gt.prototype;if(m(Bt,{append:function($t,kt){var Wt=Nt(this);st(arguments.length,2),pr(Wt.entries,{key:B($t),value:B(kt)}),c||this.length++,Wt.updateURL()},delete:function(Ct){for(var $t=Nt(this),kt=st(arguments.length,1),Wt=$t.entries,dr=B(Ct),Fr=kt<2?void 0:arguments[1],Br=Fr===void 0?Fr:B(Fr),Rr=0;Rr<Wt.length;){var Qr=Wt[Rr];if(Qr.key===dr&&(Br===void 0||Qr.value===Br)){if(Lr(Wt,Rr,1),Br!==void 0)break}else Rr++}c||(this.size=Wt.length),$t.updateURL()},get:function($t){var kt=Nt(this).entries;st(arguments.length,1);for(var Wt=B($t),dr=0;dr<kt.length;dr++)if(kt[dr].key===Wt)return kt[dr].value;return null},getAll:function($t){var kt=Nt(this).entries;st(arguments.length,1);for(var Wt=B($t),dr=[],Fr=0;Fr<kt.length;Fr++)kt[Fr].key===Wt&&pr(dr,kt[Fr].value);return dr},has:function($t){for(var kt=Nt(this).entries,Wt=st(arguments.length,1),dr=B($t),Fr=Wt<2?void 0:arguments[1],Br=Fr===void 0?Fr:B(Fr),Rr=0;Rr<kt.length;){var Qr=kt[Rr++];if(Qr.key===dr&&(Br===void 0||Qr.value===Br))return!0}return!1},set:function($t,kt){var Wt=Nt(this);st(arguments.length,1);for(var dr=Wt.entries,Fr=!1,Br=B($t),Rr=B(kt),Qr=0,tn;Qr<dr.length;Qr++)tn=dr[Qr],tn.key===Br&&(Fr?Lr(dr,Qr--,1):(Fr=!0,tn.value=Rr));Fr||pr(dr,{key:Br,value:Rr}),c||(this.size=dr.length),Wt.updateURL()},sort:function(){var $t=Nt(this);et($t.entries,function(kt,Wt){return kt.key>Wt.key?1:-1}),$t.updateURL()},forEach:function($t){for(var kt=Nt(this).entries,Wt=F($t,arguments.length>1?arguments[1]:void 0),dr=0,Fr;dr<kt.length;)Fr=kt[dr++],Wt(Fr.value,Fr.key,this)},keys:function(){return new yt(this,"keys")},values:function(){return new yt(this,"values")},entries:function(){return new yt(this,"entries")}},{enumerable:!0}),v(Bt,at,Bt.entries,{name:"entries"}),v(Bt,"toString",function(){return Nt(this).serialize()},{enumerable:!0}),c&&y(Bt,"size",{get:function(){return Nt(this).entries.length},configurable:!0,enumerable:!0}),E(Gt,gt),r({global:!0,constructor:!0,forced:!h},{URLSearchParams:Gt}),!h&&N(Jt)){var zt=f(ir.has),lt=f(ir.set),Ut=function(Ct){if($(Ct)){var $t=Ct.body,kt;if(D($t)===gt)return kt=Ct.headers?new Jt(Ct.headers):new Jt,zt(kt,"content-type")||lt(kt,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),H(Ct,{body:X(0,B($t)),headers:X(0,kt)})}return Ct};if(N(qt)&&r({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function($t){return qt($t,arguments.length>1?Ut(arguments[1]):{})}}),N(Qt)){var gr=function($t){return T(this,er),new Qt($t,arguments.length>1?Ut(arguments[1]):{})};er.constructor=gr,gr.prototype=er,r({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:gr})}}l.exports={URLSearchParams:Gt,getState:Nt}},10901:function(l,p,t){var r=t(16142),e=t(11286),o=t(17361),s=t(95486),u=URLSearchParams,f=u.prototype,c=e(f.append),h=e(f.delete),v=e(f.forEach),y=e([].push),m=new u("a=1&a=2&b=3");m.delete("a",1),m.delete("b",void 0),m+""!="a=2"&&r(f,"delete",function(E){var I=arguments.length,O=I<2?void 0:arguments[1];if(I&&O===void 0)return h(this,E);var T=[];v(this,function(H,X){y(T,{key:X,value:H})}),s(I,1);for(var N=o(E),M=o(O),F=0,D=0,w=!1,$=T.length,B;F<$;)B=T[F++],w||B.key===N?(w=!0,h(this,B.key)):D++;for(;D<$;)B=T[D++],B.key===N&&B.value===M||c(this,B.key,B.value)},{enumerable:!0,unsafe:!0})},93944:function(l,p,t){var r=t(16142),e=t(11286),o=t(17361),s=t(95486),u=URLSearchParams,f=u.prototype,c=e(f.getAll),h=e(f.has),v=new u("a=1");(v.has("a",2)||!v.has("a",void 0))&&r(f,"has",function(m){var E=arguments.length,I=E<2?void 0:arguments[1];if(E&&I===void 0)return h(this,m);var O=c(this,m);s(E,1);for(var T=o(I),N=0;N<O.length;)if(O[N++]===T)return!0;return!1},{enumerable:!0,unsafe:!0})},86650:function(l,p,t){t(98812)},79043:function(l,p,t){var r=t(92986),e=t(11286),o=t(85500),s=URLSearchParams.prototype,u=e(s.forEach);r&&!("size"in s)&&o(s,"size",{get:function(){var c=0;return u(this,function(){c++}),c},configurable:!0,enumerable:!0})},20760:function(l,p,t){var r=t(14304),e=t(38941),o=t(72069),s=t(95486),u=t(17361),f=t(91918),c=e("URL"),h=f&&o(function(){c.canParse()}),v=o(function(){return c.canParse.length!==1});r({target:"URL",stat:!0,forced:!h||v},{canParse:function(m){var E=s(arguments.length,1),I=u(m),O=E<2||arguments[1]===void 0?void 0:u(arguments[1]);try{return!!new c(I,O)}catch(T){return!1}}})},81888:function(l,p,t){t(59158);var r=t(14304),e=t(92986),o=t(91918),s=t(34246),u=t(45526),f=t(11286),c=t(16142),h=t(85500),v=t(12833),y=t(94879),m=t(16667),E=t(48258),I=t(22806),O=t(22149).codeAt,T=t(38679),N=t(17361),M=t(78401),F=t(95486),D=t(98812),w=t(82367),$=w.set,B=w.getterFor("URL"),H=D.URLSearchParams,X=D.getState,Y=s.URL,k=s.TypeError,ot=s.parseInt,st=Math.floor,tt=Math.pow,et=f("".charAt),at=f(/./.exec),gt=f([].join),Pt=f(1 .toString),Ot=f([].pop),Nt=f([].push),It=f("".replace),qt=f([].shift),Qt=f("".split),Jt=f("".slice),er=f("".toLowerCase),ir=f([].unshift),Ar="Invalid authority",xr="Invalid scheme",Er="Invalid host",Yt="Invalid port",tr=/[a-z]/i,Sr=/[\d+-.a-z]/i,Ir=/\d/,pr=/^0x/i,Or=/^[0-7]+$/,Ur=/^\d+$/,Lr=/^[\da-f]+$/i,Pr=/[\0\t\n\r #%/:<>?@[\\\]^|]/,mr=/[\0\t\n\r #/:<>?@[\\\]^|]/,Mr=/^[\u0000-\u0020]+/,Tr=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,yr=/[\t\n\r]/g,bt,Ht=function(mt){var Xt=Qt(mt,"."),At,ht,wt,Cr,hr,Hr,zr;if(Xt.length&&Xt[Xt.length-1]===""&&Xt.length--,At=Xt.length,At>4)return mt;for(ht=[],wt=0;wt<At;wt++){if(Cr=Xt[wt],Cr==="")return mt;if(hr=10,Cr.length>1&&et(Cr,0)==="0"&&(hr=at(pr,Cr)?16:8,Cr=Jt(Cr,hr===8?1:2)),Cr==="")Hr=0;else{if(!at(hr===10?Ur:hr===8?Or:Lr,Cr))return mt;Hr=ot(Cr,hr)}Nt(ht,Hr)}for(wt=0;wt<At;wt++)if(Hr=ht[wt],wt===At-1){if(Hr>=tt(256,5-At))return null}else if(Hr>255)return null;for(zr=Ot(ht),wt=0;wt<ht.length;wt++)zr+=ht[wt]*tt(256,3-wt);return zr},Ft=function(mt){var Xt=[0,0,0,0,0,0,0,0],At=0,ht=null,wt=0,Cr,hr,Hr,zr,Xr,en,Kt,Jr=function(){return et(mt,wt)};if(Jr()===":"){if(et(mt,1)!==":")return;wt+=2,At++,ht=At}for(;Jr();){if(At===8)return;if(Jr()===":"){if(ht!==null)return;wt++,At++,ht=At;continue}for(Cr=hr=0;hr<4&&at(Lr,Jr());)Cr=Cr*16+ot(Jr(),16),wt++,hr++;if(Jr()==="."){if(hr===0||(wt-=hr,At>6))return;for(Hr=0;Jr();){if(zr=null,Hr>0)if(Jr()==="."&&Hr<4)wt++;else return;if(!at(Ir,Jr()))return;for(;at(Ir,Jr());){if(Xr=ot(Jr(),10),zr===null)zr=Xr;else{if(zr===0)return;zr=zr*10+Xr}if(zr>255)return;wt++}Xt[At]=Xt[At]*256+zr,Hr++,(Hr===2||Hr===4)&&At++}if(Hr!==4)return;break}else if(Jr()===":"){if(wt++,!Jr())return}else if(Jr())return;Xt[At++]=Cr}if(ht!==null)for(en=At-ht,At=7;At!==0&&en>0;)Kt=Xt[At],Xt[At--]=Xt[ht+en-1],Xt[ht+--en]=Kt;else if(At!==8)return;return Xt},cr=function(mt){for(var Xt=null,At=1,ht=null,wt=0,Cr=0;Cr<8;Cr++)mt[Cr]!==0?(wt>At&&(Xt=ht,At=wt),ht=null,wt=0):(ht===null&&(ht=Cr),++wt);return wt>At?ht:Xt},vr=function(mt){var Xt,At,ht,wt;if(typeof mt=="number"){for(Xt=[],At=0;At<4;At++)ir(Xt,mt%256),mt=st(mt/256);return gt(Xt,".")}if(typeof mt=="object"){for(Xt="",ht=cr(mt),At=0;At<8;At++)wt&&mt[At]===0||(wt&&(wt=!1),ht===At?(Xt+=At?":":"::",wt=!0):(Xt+=Pt(mt[At],16),At<7&&(Xt+=":")));return"["+Xt+"]"}return mt},ar={},rr=m({},ar,{" ":1,'"':1,"<":1,">":1,"`":1}),jr=m({},rr,{"#":1,"?":1,"{":1,"}":1}),wr=m({},jr,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),yt=function(mt,Xt){var At=O(mt,0);return At>32&&At<127&&!y(Xt,mt)?mt:encodeURIComponent(mt)},jt={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Gt=function(mt,Xt){var At;return mt.length===2&&at(tr,et(mt,0))&&((At=et(mt,1))===":"||!Xt&&At==="|")},Bt=function(mt){var Xt;return mt.length>1&&Gt(Jt(mt,0,2))&&(mt.length===2||(Xt=et(mt,2))==="/"||Xt==="\\"||Xt==="?"||Xt==="#")},zt=function(mt){return mt==="."||er(mt)==="%2e"},lt=function(mt){return mt=er(mt),mt===".."||mt==="%2e."||mt===".%2e"||mt==="%2e%2e"},Ut={},gr={},Ct={},$t={},kt={},Wt={},dr={},Fr={},Br={},Rr={},Qr={},tn={},dn={},Kn={},oe={},Yn={},Zr={},Wr={},an={},un={},rn={},nn=function(mt,Xt,At){var ht=N(mt),wt,Cr,hr;if(Xt){if(Cr=this.parse(ht),Cr)throw new k(Cr);this.searchParams=null}else{if(At!==void 0&&(wt=new nn(At,!0)),Cr=this.parse(ht,null,wt),Cr)throw new k(Cr);hr=X(new H),hr.bindURL(this),this.searchParams=hr}};nn.prototype={type:"URL",parse:function(mt,Xt,At){var ht=this,wt=Xt||Ut,Cr=0,hr="",Hr=!1,zr=!1,Xr=!1,en,Kt,Jr,cn;for(mt=N(mt),Xt||(ht.scheme="",ht.username="",ht.password="",ht.host=null,ht.port=null,ht.path=[],ht.query=null,ht.fragment=null,ht.cannotBeABaseURL=!1,mt=It(mt,Mr,""),mt=It(mt,Tr,"$1")),mt=It(mt,yr,""),en=E(mt);Cr<=en.length;){switch(Kt=en[Cr],wt){case Ut:if(Kt&&at(tr,Kt))hr+=er(Kt),wt=gr;else{if(Xt)return xr;wt=Ct;continue}break;case gr:if(Kt&&(at(Sr,Kt)||Kt==="+"||Kt==="-"||Kt==="."))hr+=er(Kt);else if(Kt===":"){if(Xt&&(ht.isSpecial()!==y(jt,hr)||hr==="file"&&(ht.includesCredentials()||ht.port!==null)||ht.scheme==="file"&&!ht.host))return;if(ht.scheme=hr,Xt){ht.isSpecial()&&jt[ht.scheme]===ht.port&&(ht.port=null);return}hr="",ht.scheme==="file"?wt=Kn:ht.isSpecial()&&At&&At.scheme===ht.scheme?wt=$t:ht.isSpecial()?wt=Fr:en[Cr+1]==="/"?(wt=kt,Cr++):(ht.cannotBeABaseURL=!0,Nt(ht.path,""),wt=an)}else{if(Xt)return xr;hr="",wt=Ct,Cr=0;continue}break;case Ct:if(!At||At.cannotBeABaseURL&&Kt!=="#")return xr;if(At.cannotBeABaseURL&&Kt==="#"){ht.scheme=At.scheme,ht.path=I(At.path),ht.query=At.query,ht.fragment="",ht.cannotBeABaseURL=!0,wt=rn;break}wt=At.scheme==="file"?Kn:Wt;continue;case $t:if(Kt==="/"&&en[Cr+1]==="/")wt=Br,Cr++;else{wt=Wt;continue}break;case kt:if(Kt==="/"){wt=Rr;break}else{wt=Wr;continue}case Wt:if(ht.scheme=At.scheme,Kt===bt)ht.username=At.username,ht.password=At.password,ht.host=At.host,ht.port=At.port,ht.path=I(At.path),ht.query=At.query;else if(Kt==="/"||Kt==="\\"&&ht.isSpecial())wt=dr;else if(Kt==="?")ht.username=At.username,ht.password=At.password,ht.host=At.host,ht.port=At.port,ht.path=I(At.path),ht.query="",wt=un;else if(Kt==="#")ht.username=At.username,ht.password=At.password,ht.host=At.host,ht.port=At.port,ht.path=I(At.path),ht.query=At.query,ht.fragment="",wt=rn;else{ht.username=At.username,ht.password=At.password,ht.host=At.host,ht.port=At.port,ht.path=I(At.path),ht.path.length--,wt=Wr;continue}break;case dr:if(ht.isSpecial()&&(Kt==="/"||Kt==="\\"))wt=Br;else if(Kt==="/")wt=Rr;else{ht.username=At.username,ht.password=At.password,ht.host=At.host,ht.port=At.port,wt=Wr;continue}break;case Fr:if(wt=Br,Kt!=="/"||et(hr,Cr+1)!=="/")continue;Cr++;break;case Br:if(Kt!=="/"&&Kt!=="\\"){wt=Rr;continue}break;case Rr:if(Kt==="@"){Hr&&(hr="%40"+hr),Hr=!0,Jr=E(hr);for(var Cn=0;Cn<Jr.length;Cn++){var bn=Jr[Cn];if(bn===":"&&!Xr){Xr=!0;continue}var zn=yt(bn,wr);Xr?ht.password+=zn:ht.username+=zn}hr=""}else if(Kt===bt||Kt==="/"||Kt==="?"||Kt==="#"||Kt==="\\"&&ht.isSpecial()){if(Hr&&hr==="")return Ar;Cr-=E(hr).length+1,hr="",wt=Qr}else hr+=Kt;break;case Qr:case tn:if(Xt&&ht.scheme==="file"){wt=Yn;continue}else if(Kt===":"&&!zr){if(hr==="")return Er;if(cn=ht.parseHost(hr),cn)return cn;if(hr="",wt=dn,Xt===tn)return}else if(Kt===bt||Kt==="/"||Kt==="?"||Kt==="#"||Kt==="\\"&&ht.isSpecial()){if(ht.isSpecial()&&hr==="")return Er;if(Xt&&hr===""&&(ht.includesCredentials()||ht.port!==null))return;if(cn=ht.parseHost(hr),cn)return cn;if(hr="",wt=Zr,Xt)return;continue}else Kt==="["?zr=!0:Kt==="]"&&(zr=!1),hr+=Kt;break;case dn:if(at(Ir,Kt))hr+=Kt;else if(Kt===bt||Kt==="/"||Kt==="?"||Kt==="#"||Kt==="\\"&&ht.isSpecial()||Xt){if(hr!==""){var Un=ot(hr,10);if(Un>65535)return Yt;ht.port=ht.isSpecial()&&Un===jt[ht.scheme]?null:Un,hr=""}if(Xt)return;wt=Zr;continue}else return Yt;break;case Kn:if(ht.scheme="file",Kt==="/"||Kt==="\\")wt=oe;else if(At&&At.scheme==="file")switch(Kt){case bt:ht.host=At.host,ht.path=I(At.path),ht.query=At.query;break;case"?":ht.host=At.host,ht.path=I(At.path),ht.query="",wt=un;break;case"#":ht.host=At.host,ht.path=I(At.path),ht.query=At.query,ht.fragment="",wt=rn;break;default:Bt(gt(I(en,Cr),""))||(ht.host=At.host,ht.path=I(At.path),ht.shortenPath()),wt=Wr;continue}else{wt=Wr;continue}break;case oe:if(Kt==="/"||Kt==="\\"){wt=Yn;break}At&&At.scheme==="file"&&!Bt(gt(I(en,Cr),""))&&(Gt(At.path[0],!0)?Nt(ht.path,At.path[0]):ht.host=At.host),wt=Wr;continue;case Yn:if(Kt===bt||Kt==="/"||Kt==="\\"||Kt==="?"||Kt==="#"){if(!Xt&&Gt(hr))wt=Wr;else if(hr===""){if(ht.host="",Xt)return;wt=Zr}else{if(cn=ht.parseHost(hr),cn)return cn;if(ht.host==="localhost"&&(ht.host=""),Xt)return;hr="",wt=Zr}continue}else hr+=Kt;break;case Zr:if(ht.isSpecial()){if(wt=Wr,Kt!=="/"&&Kt!=="\\")continue}else if(!Xt&&Kt==="?")ht.query="",wt=un;else if(!Xt&&Kt==="#")ht.fragment="",wt=rn;else if(Kt!==bt&&(wt=Wr,Kt!=="/"))continue;break;case Wr:if(Kt===bt||Kt==="/"||Kt==="\\"&&ht.isSpecial()||!Xt&&(Kt==="?"||Kt==="#")){if(lt(hr)?(ht.shortenPath(),Kt!=="/"&&!(Kt==="\\"&&ht.isSpecial())&&Nt(ht.path,"")):zt(hr)?Kt!=="/"&&!(Kt==="\\"&&ht.isSpecial())&&Nt(ht.path,""):(ht.scheme==="file"&&!ht.path.length&&Gt(hr)&&(ht.host&&(ht.host=""),hr=et(hr,0)+":"),Nt(ht.path,hr)),hr="",ht.scheme==="file"&&(Kt===bt||Kt==="?"||Kt==="#"))for(;ht.path.length>1&&ht.path[0]==="";)qt(ht.path);Kt==="?"?(ht.query="",wt=un):Kt==="#"&&(ht.fragment="",wt=rn)}else hr+=yt(Kt,jr);break;case an:Kt==="?"?(ht.query="",wt=un):Kt==="#"?(ht.fragment="",wt=rn):Kt!==bt&&(ht.path[0]+=yt(Kt,ar));break;case un:!Xt&&Kt==="#"?(ht.fragment="",wt=rn):Kt!==bt&&(Kt==="'"&&ht.isSpecial()?ht.query+="%27":Kt==="#"?ht.query+="%23":ht.query+=yt(Kt,ar));break;case rn:Kt!==bt&&(ht.fragment+=yt(Kt,rr));break}Cr++}},parseHost:function(mt){var Xt,At,ht;if(et(mt,0)==="["){if(et(mt,mt.length-1)!=="]"||(Xt=Ft(Jt(mt,1,-1)),!Xt))return Er;this.host=Xt}else if(this.isSpecial()){if(mt=T(mt),at(Pr,mt)||(Xt=Ht(mt),Xt===null))return Er;this.host=Xt}else{if(at(mr,mt))return Er;for(Xt="",At=E(mt),ht=0;ht<At.length;ht++)Xt+=yt(At[ht],ar);this.host=Xt}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme==="file"},includesCredentials:function(){return this.username!==""||this.password!==""},isSpecial:function(){return y(jt,this.scheme)},shortenPath:function(){var mt=this.path,Xt=mt.length;Xt&&(this.scheme!=="file"||Xt!==1||!Gt(mt[0],!0))&&mt.length--},serialize:function(){var mt=this,Xt=mt.scheme,At=mt.username,ht=mt.password,wt=mt.host,Cr=mt.port,hr=mt.path,Hr=mt.query,zr=mt.fragment,Xr=Xt+":";return wt!==null?(Xr+="//",mt.includesCredentials()&&(Xr+=At+(ht?":"+ht:"")+"@"),Xr+=vr(wt),Cr!==null&&(Xr+=":"+Cr)):Xt==="file"&&(Xr+="//"),Xr+=mt.cannotBeABaseURL?hr[0]:hr.length?"/"+gt(hr,"/"):"",Hr!==null&&(Xr+="?"+Hr),zr!==null&&(Xr+="#"+zr),Xr},setHref:function(mt){var Xt=this.parse(mt);if(Xt)throw new k(Xt);this.searchParams.update()},getOrigin:function(){var mt=this.scheme,Xt=this.port;if(mt==="blob")try{return new kr(mt.path[0]).origin}catch(At){return"null"}return mt==="file"||!this.isSpecial()?"null":mt+"://"+vr(this.host)+(Xt!==null?":"+Xt:"")},getProtocol:function(){return this.scheme+":"},setProtocol:function(mt){this.parse(N(mt)+":",Ut)},getUsername:function(){return this.username},setUsername:function(mt){var Xt=E(N(mt));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var At=0;At<Xt.length;At++)this.username+=yt(Xt[At],wr)}},getPassword:function(){return this.password},setPassword:function(mt){var Xt=E(N(mt));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var At=0;At<Xt.length;At++)this.password+=yt(Xt[At],wr)}},getHost:function(){var mt=this.host,Xt=this.port;return mt===null?"":Xt===null?vr(mt):vr(mt)+":"+Xt},setHost:function(mt){this.cannotBeABaseURL||this.parse(mt,Qr)},getHostname:function(){var mt=this.host;return mt===null?"":vr(mt)},setHostname:function(mt){this.cannotBeABaseURL||this.parse(mt,tn)},getPort:function(){var mt=this.port;return mt===null?"":N(mt)},setPort:function(mt){this.cannotHaveUsernamePasswordPort()||(mt=N(mt),mt===""?this.port=null:this.parse(mt,dn))},getPathname:function(){var mt=this.path;return this.cannotBeABaseURL?mt[0]:mt.length?"/"+gt(mt,"/"):""},setPathname:function(mt){this.cannotBeABaseURL||(this.path=[],this.parse(mt,Zr))},getSearch:function(){var mt=this.query;return mt?"?"+mt:""},setSearch:function(mt){mt=N(mt),mt===""?this.query=null:(et(mt,0)==="?"&&(mt=Jt(mt,1)),this.query="",this.parse(mt,un)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var mt=this.fragment;return mt?"#"+mt:""},setHash:function(mt){if(mt=N(mt),mt===""){this.fragment=null;return}et(mt,0)==="#"&&(mt=Jt(mt,1)),this.fragment="",this.parse(mt,rn)},update:function(){this.query=this.searchParams.serialize()||null}};var kr=function(Xt){var At=v(this,Yr),ht=F(arguments.length,1)>1?arguments[1]:void 0,wt=$(At,new nn(Xt,!1,ht));e||(At.href=wt.serialize(),At.origin=wt.getOrigin(),At.protocol=wt.getProtocol(),At.username=wt.getUsername(),At.password=wt.getPassword(),At.host=wt.getHost(),At.hostname=wt.getHostname(),At.port=wt.getPort(),At.pathname=wt.getPathname(),At.search=wt.getSearch(),At.searchParams=wt.getSearchParams(),At.hash=wt.getHash())},Yr=kr.prototype,Vr=function(mt,Xt){return{get:function(){return B(this)[mt]()},set:Xt&&function(At){return B(this)[Xt](At)},configurable:!0,enumerable:!0}};if(e&&(h(Yr,"href",Vr("serialize","setHref")),h(Yr,"origin",Vr("getOrigin")),h(Yr,"protocol",Vr("getProtocol","setProtocol")),h(Yr,"username",Vr("getUsername","setUsername")),h(Yr,"password",Vr("getPassword","setPassword")),h(Yr,"host",Vr("getHost","setHost")),h(Yr,"hostname",Vr("getHostname","setHostname")),h(Yr,"port",Vr("getPort","setPort")),h(Yr,"pathname",Vr("getPathname","setPathname")),h(Yr,"search",Vr("getSearch","setSearch")),h(Yr,"searchParams",Vr("getSearchParams")),h(Yr,"hash",Vr("getHash","setHash"))),c(Yr,"toJSON",function(){return B(this).serialize()},{enumerable:!0}),c(Yr,"toString",function(){return B(this).serialize()},{enumerable:!0}),Y){var mn=Y.createObjectURL,$n=Y.revokeObjectURL;mn&&c(kr,"createObjectURL",u(mn,Y)),$n&&c(kr,"revokeObjectURL",u($n,Y))}M(kr,"URL"),r({global:!0,constructor:!0,forced:!o,sham:!e},{URL:kr})},51862:function(l,p,t){t(81888)},24119:function(l,p,t){var r=t(14304),e=t(38941),o=t(95486),s=t(17361),u=t(91918),f=e("URL");r({target:"URL",stat:!0,forced:!u},{parse:function(h){var v=o(arguments.length,1),y=s(h),m=v<2||arguments[1]===void 0?void 0:s(arguments[1]);try{return new f(y,m)}catch(E){return null}}})},97526:function(l,p,t){var r=t(14304),e=t(96499);r({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return e(URL.prototype.toString,this)}})},61969:function(l,p,t){t(40949),t(43657),t(43606),t(15855),t(42026),t(33257),t(59414),t(88344),t(92579),t(94655),t(8565),t(60843),t(65842),t(51595),t(54908),t(81742),t(8720),t(42861),t(27796),t(1341),t(98700),t(65481),t(46509),t(41585),t(84554),t(36619),t(33818),t(64096),t(2209),t(91591),t(74092),t(54703),t(82936),t(48493),t(64730),t(95024),t(35054),t(25460),t(60703),t(90468),t(69581),t(720),t(11042),t(17289),t(24608),t(51644),t(88088),t(46828),t(90088),t(35148),t(86184),t(53983),t(42560),t(88444),t(27839),t(73051),t(9372),t(35473),t(4983),t(6875),t(68575),t(35495),t(32790),t(58594),t(30801),t(90911),t(90429),t(33685),t(60086),t(96049),t(14038),t(55518),t(8894),t(60628),t(56347),t(16864),t(93819),t(11565),t(26668),t(46386),t(35179),t(20150),t(23001),t(40334),t(87457),t(66699),t(17535),t(48157),t(55338),t(6644),t(71332),t(47269),t(25627),t(22090),t(9839),t(15656),t(22091),t(2886),t(25895),t(24228),t(79488),t(75987),t(81555),t(87854),t(35074),t(50946),t(29417),t(80628),t(74375),t(29708),t(93449),t(9111),t(83514),t(15096),t(59590),t(99663),t(89988),t(54427),t(67895),t(57909),t(83938),t(55461),t(97339),t(3670),t(15224),t(45891),t(99910),t(92445),t(21875),t(4383),t(11361),t(13728),t(14885),t(30343),t(22045),t(75e3),t(64658),t(16017),t(84681),t(73421),t(93446),t(31046),t(94645),t(62935),t(62518),t(45130),t(51542),t(43781),t(25738),t(93247),t(41533),t(60225),t(69920),t(89205),t(78546),t(63616),t(16893),t(3676),t(58361),t(7487),t(23958),t(9798),t(2371),t(76185),t(76553),t(93518),t(25227),t(91723),t(57882),t(37796),t(11563),t(26159),t(20962),t(77487),t(6130),t(1354),t(47119),t(31145),t(96773),t(14371),t(18180),t(83147),t(75765),t(86548),t(15282),t(51275),t(91890),t(15089),t(78134),t(56456),t(40735),t(8510),t(70159),t(93087),t(26021),t(93029),t(59158),t(15599),t(18509),t(21579),t(8854),t(57676),t(14527),t(96834),t(52684),t(74980),t(390),t(42794),t(21293),t(18184),t(75012),t(19680),t(4193),t(70641),t(53892),t(95976),t(399),t(72032),t(49442),t(16012),t(9943),t(33128),t(95625),t(90614),t(60120),t(75826),t(25560),t(22571),t(40704),t(36849),t(49191),t(81083),t(27428),t(44884),t(48658),t(71998),t(6116),t(33032),t(80962),t(49381),t(38344),t(65961),t(94153),t(16028),t(20656),t(17063),t(21774),t(51761),t(12317),t(19711),t(41034),t(13313),t(44698),t(7369),t(66178),t(67961),t(8695),t(69997),t(9711),t(3923),t(59728),t(85227),t(56933),t(91490),t(61766),t(85143),t(47005),t(10042),t(37888),t(19431),t(60869),t(50338),t(53059),t(5805),t(50685),t(70649),t(39842),t(82872),t(91401),t(92904),t(28381),t(51862),t(20760),t(24119),t(97526),t(86650),t(10901),t(93944),t(79043),t(75081)}},On={};function fn(l){var p=On[l];if(p!==void 0)return p.exports;var t=On[l]={exports:{}};return ia[l].call(t.exports,t,t.exports,fn),t.exports}(function(){fn.d=function(l,p){for(var t in p)fn.o(p,t)&&!fn.o(l,t)&&Object.defineProperty(l,t,{enumerable:!0,get:p[t]})}})(),function(){fn.o=function(l,p){return Object.prototype.hasOwnProperty.call(l,p)}}(),fn(61969);var Le=fn(65908);return Le=Le.default,Le}()}); diff --git a/release/3.14.2/dist/theme/dark.css b/release/3.14.2/dist/theme/dark.css new file mode 100644 index 000000000..e4a86dbd0 --- /dev/null +++ b/release/3.14.2/dist/theme/dark.css @@ -0,0 +1,376 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + */ +/*-- Dark Theme --*/ +/*-- Default color pattern --*/ +.bb-color-pattern { + background-image: url("#4a7fff;#b02c2c;#1ca46c;#b47300;#49baf3;#ed7e13;#cfaa00;#a6cd19;#dccb52;#f5d194;"); +} + +/*-- Chart --*/ +.bb svg { + font-size: 12px; + font-family: Helvetica, Arial, sans-serif, "nanumgothic", "Dotum"; + line-height: 1; +} +.bb path, .bb line { + fill: none; + stroke: #8d9cab; +} +.bb text, .bb .bb-button { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + fill: #8d9cab; + font-size: 11px; +} + +.bb-legend-item-title, +.bb-xgrid-focus, +.bb-ygrid-focus, +.bb-ygrid, +.bb-line { + shape-rendering: crispEdges; +} + +.bb-chart-arcs .bb-needle { + fill: #8d9cab; +} + +/*-- Funnel --*/ +.bb-chart-funnels path { + stroke-width: 0; +} +.bb-chart-funnels + .bb-chart-texts text { + fill: #fff; +} + +/*-- Axis --*/ +.bb-axis { + shape-rendering: crispEdges; +} +.bb-axis .bb-axis-x-tooltip, .bb-axis .bb-axis-y-tooltip, .bb-axis .bb-axis-y2-tooltip { + font-size: 0.9em; + fill: #fff; + white-space: nowrap; +} + +.bb-axis-y text, .bb-axis-y2 text { + fill: #8d9cab; +} + +.bb-event-rects { + fill-opacity: 1 !important; +} +.bb-event-rects .bb-event-rect { + fill: transparent; +} +.bb-event-rects .bb-event-rect._active_ { + fill: rgba(39, 201, 3, 0.05); +} + +.tick._active_ text { + fill: #00c83c !important; +} + +/*-- Grid --*/ +.bb-grid { + pointer-events: none; +} +.bb-grid line { + stroke: #5c666e; +} + +.bb-xgrid-focus line, .bb-ygrid-focus line { + stroke: #ccd9e6; +} + +/*-- Text on Chart --*/ +.bb-text.bb-empty { + fill: #8d9cab; +} + +/*-- Line --*/ +.bb-line { + stroke-width: 1px; +} + +/*-- Point --*/ +.bb-circle._expanded_ { + stroke-width: 2px; + stroke: 8d9cab; +} + +rect.bb-circle._expanded_, use.bb-circle._expanded_ { + stroke-width: 1px; +} + +/*-- Subchart --*/ +.selection { + stroke: none; + fill: #ccd9e6; +} + +.bb-selected-circle { + fill: #ccd9e6; + stroke-width: 2px; +} + +/*-- Bar --*/ +.bb-bar { + stroke-width: 0.5px; +} +.bb-bar._expanded_ { + fill-opacity: 0.75; +} + +/*-- Candlestick --*/ +.bb-candlestick { + stroke-width: 1px; +} +.bb-candlestick._expanded_ { + fill-opacity: 0.75; +} + +/*-- Focus --*/ +.bb-target.bb-focused, .bb-circles.bb-focused { + opacity: 1; +} +.bb-target.bb-focused path.bb-line, .bb-target.bb-focused path.bb-step, .bb-circles.bb-focused path.bb-line, .bb-circles.bb-focused path.bb-step { + stroke-width: 2px; +} +.bb-target.bb-defocused, .bb-circles.bb-defocused { + opacity: 0.5 !important; +} +.bb-target.bb-defocused .text-overlapping, .bb-circles.bb-defocused .text-overlapping { + opacity: 0.05 !important; +} + +/*-- Region --*/ +.bb-region { + fill: steelblue; +} +.bb-region rect { + fill-opacity: 0.5; +} +.bb-region.selected rect { + fill: rgb(39, 201, 3); +} + +/*-- Zoom region --*/ +.bb-zoom-brush { + fill-opacity: 0.25; + fill: #ccd9e6; +} + +/*-- Brush --*/ +.bb-brush .extent { + fill-opacity: 0.5; +} + +/*-- Select - Drag --*/ +/*-- Legend --*/ +.bb-legend-item { + user-select: none; +} +.bb-legend-item line { + stroke-width: 10px; + stroke-dasharray: 3px; +} +.bb-legend-item text { + transform: translateY(-1px); +} + +.bb-legend-item-hidden { + opacity: 0.5; +} + +.bb-legend-background { + opacity: 0.75; + stroke: lightgray; + stroke-width: 1; +} + +/*-- Title --*/ +.bb-title { + font-size: 14px; +} + +/*-- Treemap --*/ +.bb-chart-treemaps rect { + stroke: #8d9cab; + stroke-width: 1px; +} + +/*-- Tooltip --*/ +.bb-tooltip-container { + z-index: 10; + font-family: Helvetica, Arial, sans-serif, "nanumgothic", "Dotum"; + user-select: none; +} + +.bb-tooltip { + border-collapse: separate; + border-spacing: 0; + empty-cells: show; + border: 1px solid #828181; + border-radius: 5px; + background-color: #000; + text-align: left; + font-size: 11px; + color: #fff; + white-space: nowrap; +} +.bb-tooltip th { + font-size: 12px; + padding: 4px 8px; + text-align: left; + border-bottom: solid 1px #828181; +} +.bb-tooltip td { + padding: 4px 6px; +} +.bb-tooltip td:first-child { + padding-left: 8px; +} +.bb-tooltip td:last-child { + padding-right: 8px; +} +.bb-tooltip td > span, .bb-tooltip td > svg { + display: inline-block; + width: 7px; + height: 7px; + margin: -1px 6px 0 0; + vertical-align: middle; +} +.bb-tooltip td.value { + border-left: 1px solid transparent; + text-align: right; +} +.bb-tooltip .bb-tooltip-title { + display: inline-block; + color: #aaa; + line-height: 20px; +} +.bb-tooltip .bb-tooltip-detail table { + border-collapse: collapse; + border-spacing: 0; +} +.bb-tooltip .bb-tooltip-detail .bb-tooltip-name, .bb-tooltip .bb-tooltip-detail .bb-tooltip-value { + font-size: 11px; + line-height: 13px; + padding: 4px 0 3px; + color: #444; + text-align: left; + font-weight: normal; +} +.bb-tooltip .bb-tooltip-detail .bb-tooltip-value { + padding-left: 5px; + font-weight: 800; + font-size: 12px; +} + +/*-- Area --*/ +.bb-area { + stroke-width: 0; + opacity: 0.5; +} + +/*-- Arc --*/ +.bb-chart-arcs-title { + dominant-baseline: middle; + font-size: 1.3em; +} + +text.bb-chart-arcs-gauge-title { + dominant-baseline: middle; + font-size: 2.7em; +} + +.bb-chart-arcs { + /*-- Polar --*/ +} +.bb-chart-arcs .bb-chart-arcs-background { + fill: #3f3f3f; + stroke: none; +} +.bb-chart-arcs .bb-chart-arcs-gauge-unit { + fill: #828181; + font-size: 16px; +} +.bb-chart-arcs .bb-chart-arcs-gauge-min, .bb-chart-arcs .bb-chart-arcs-gauge-max { + fill: #777; +} +.bb-chart-arcs .bb-chart-arcs-title { + font-size: 16px !important; + fill: #b6c2ce; + font-weight: 600; +} +.bb-chart-arcs path.empty { + fill: #eaeaea; + stroke-width: 0; +} +.bb-chart-arcs .bb-levels circle { + fill: none; + stroke: #848282; + stroke-width: 0.5px; +} +.bb-chart-arcs .bb-levels text { + fill: #848282; +} + +.bb-chart-arc .bb-gauge-value { + fill: #b6c2ce; +} +.bb-chart-arc rect { + stroke: #8d9cab; + stroke-width: 1; +} +.bb-chart-arc text { + fill: #fff; + font-size: 13px; +} + +/*-- Radar --*/ +.bb-chart-radars .bb-levels polygon { + fill: none; + stroke: #848282; + stroke-width: 0.5px; +} +.bb-chart-radars .bb-levels text { + fill: #848282; +} +.bb-chart-radars .bb-axis line { + stroke: #848282; + stroke-width: 0.5px; +} +.bb-chart-radars .bb-axis text { + font-size: 1.15em; + cursor: default; +} +.bb-chart-radars .bb-shapes polygon { + fill-opacity: 0.2; + stroke-width: 1px; +} + +/*-- Button --*/ +.bb-button { + position: absolute; + top: 10px; + right: 10px; +} +.bb-button .bb-zoom-reset { + border: solid 1px #ccc; + background-color: #000; + color: #fff; + padding: 5px; + border-radius: 5px; + cursor: pointer; +} diff --git a/release/3.14.2/dist/theme/dark.min.css b/release/3.14.2/dist/theme/dark.min.css new file mode 100644 index 000000000..fd08f5c41 --- /dev/null +++ b/release/3.14.2/dist/theme/dark.min.css @@ -0,0 +1,9 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + */.bb-color-pattern{background-image:url(#4a7fff;#b02c2c;#1ca46c;#b47300;#49baf3;#ed7e13;#cfaa00;#a6cd19;#dccb52;#f5d194;)}.bb svg{font-size:12px;font-family:Helvetica,Arial,sans-serif,nanumgothic,Dotum;line-height:1}.bb path,.bb line{fill:none;stroke:#8d9cab}.bb text,.bb .bb-button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:#8d9cab;font-size:11px}.bb-legend-item-title,.bb-xgrid-focus,.bb-ygrid-focus,.bb-ygrid,.bb-line{shape-rendering:crispEdges}.bb-chart-arcs .bb-needle{fill:#8d9cab}.bb-chart-funnels path{stroke-width:0}.bb-chart-funnels+.bb-chart-texts text{fill:#fff}.bb-axis{shape-rendering:crispEdges}.bb-axis .bb-axis-x-tooltip,.bb-axis .bb-axis-y-tooltip,.bb-axis .bb-axis-y2-tooltip{font-size:.9em;fill:#fff;white-space:nowrap}.bb-axis-y text,.bb-axis-y2 text{fill:#8d9cab}.bb-event-rects{fill-opacity:1!important}.bb-event-rects .bb-event-rect{fill:transparent}.bb-event-rects .bb-event-rect._active_{fill:#27c9030d}.tick._active_ text{fill:#00c83c!important}.bb-grid{pointer-events:none}.bb-grid line{stroke:#5c666e}.bb-xgrid-focus line,.bb-ygrid-focus line{stroke:#ccd9e6}.bb-text.bb-empty{fill:#8d9cab}.bb-line{stroke-width:1px}.bb-circle._expanded_{stroke-width:2px;stroke:8d9cab}rect.bb-circle._expanded_,use.bb-circle._expanded_{stroke-width:1px}.selection{stroke:none;fill:#ccd9e6}.bb-selected-circle{fill:#ccd9e6;stroke-width:2px}.bb-bar{stroke-width:.5px}.bb-bar._expanded_{fill-opacity:.75}.bb-candlestick{stroke-width:1px}.bb-candlestick._expanded_{fill-opacity:.75}.bb-target.bb-focused,.bb-circles.bb-focused{opacity:1}.bb-target.bb-focused path.bb-line,.bb-target.bb-focused path.bb-step,.bb-circles.bb-focused path.bb-line,.bb-circles.bb-focused path.bb-step{stroke-width:2px}.bb-target.bb-defocused,.bb-circles.bb-defocused{opacity:.5!important}.bb-target.bb-defocused .text-overlapping,.bb-circles.bb-defocused .text-overlapping{opacity:.05!important}.bb-region{fill:#4682b4}.bb-region rect{fill-opacity:.5}.bb-region.selected rect{fill:#27c903}.bb-zoom-brush{fill-opacity:.25;fill:#ccd9e6}.bb-brush .extent{fill-opacity:.5}.bb-legend-item{user-select:none}.bb-legend-item line{stroke-width:10px;stroke-dasharray:3px}.bb-legend-item text{transform:translateY(-1px)}.bb-legend-item-hidden{opacity:.5}.bb-legend-background{opacity:.75;stroke:#d3d3d3;stroke-width:1}.bb-title{font-size:14px}.bb-chart-treemaps rect{stroke:#8d9cab;stroke-width:1px}.bb-tooltip-container{z-index:10;font-family:Helvetica,Arial,sans-serif,nanumgothic,Dotum;user-select:none}.bb-tooltip{border-collapse:separate;border-spacing:0;empty-cells:show;border:1px solid #828181;border-radius:5px;background-color:#000;text-align:left;font-size:11px;color:#fff;white-space:nowrap}.bb-tooltip th{font-size:12px;padding:4px 8px;text-align:left;border-bottom:solid 1px #828181}.bb-tooltip td{padding:4px 6px}.bb-tooltip td:first-child{padding-left:8px}.bb-tooltip td:last-child{padding-right:8px}.bb-tooltip td>span,.bb-tooltip td>svg{display:inline-block;width:7px;height:7px;margin:-1px 6px 0 0;vertical-align:middle}.bb-tooltip td.value{border-left:1px solid transparent;text-align:right}.bb-tooltip .bb-tooltip-title{display:inline-block;color:#aaa;line-height:20px}.bb-tooltip .bb-tooltip-detail table{border-collapse:collapse;border-spacing:0}.bb-tooltip .bb-tooltip-detail .bb-tooltip-name,.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{font-size:11px;line-height:13px;padding:4px 0 3px;color:#444;text-align:left;font-weight:400}.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{padding-left:5px;font-weight:800;font-size:12px}.bb-area{stroke-width:0;opacity:.5}.bb-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}text.bb-chart-arcs-gauge-title{dominant-baseline:middle;font-size:2.7em}.bb-chart-arcs .bb-chart-arcs-background{fill:#3f3f3f;stroke:none}.bb-chart-arcs .bb-chart-arcs-gauge-unit{fill:#828181;font-size:16px}.bb-chart-arcs .bb-chart-arcs-gauge-min,.bb-chart-arcs .bb-chart-arcs-gauge-max{fill:#777}.bb-chart-arcs .bb-chart-arcs-title{font-size:16px!important;fill:#b6c2ce;font-weight:600}.bb-chart-arcs path.empty{fill:#eaeaea;stroke-width:0}.bb-chart-arcs .bb-levels circle{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-arcs .bb-levels text{fill:#848282}.bb-chart-arc .bb-gauge-value{fill:#b6c2ce}.bb-chart-arc rect{stroke:#8d9cab;stroke-width:1}.bb-chart-arc text{fill:#fff;font-size:13px}.bb-chart-radars .bb-levels polygon{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-levels text{fill:#848282}.bb-chart-radars .bb-axis line{stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-axis text{font-size:1.15em;cursor:default}.bb-chart-radars .bb-shapes polygon{fill-opacity:.2;stroke-width:1px}.bb-button{position:absolute;top:10px;right:10px}.bb-button .bb-zoom-reset{border:solid 1px #ccc;background-color:#000;color:#fff;padding:5px;border-radius:5px;cursor:pointer} diff --git a/release/3.14.2/dist/theme/datalab.css b/release/3.14.2/dist/theme/datalab.css new file mode 100644 index 000000000..ad4822fae --- /dev/null +++ b/release/3.14.2/dist/theme/datalab.css @@ -0,0 +1,371 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + */ +/*-- Datalab Theme --*/ +/*-- Default color pattern --*/ +.bb-color-pattern { + background-image: url("#2ac4b3;#feaf29;#ff617b;#73a2ef;#b180d0;#3064cf;#d0a45f;#8aaec7;#ef65a2;#8aaec7;"); +} + +/*-- Chart --*/ +.bb svg { + font-size: 11px; + font-family: "Sans Pro", Arial, sans-serif, "nanumgothic", "Dotum"; + line-height: 1; +} +.bb path, .bb line { + fill: none; + stroke: #000; +} +.bb text, .bb .bb-button { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -webkit-font-smoothing: antialiased; + user-select: none; + fill: #555; + font-size: 11px; +} + +.bb-chart-arcs .bb-needle { + fill: #000; +} + +/*-- Funnel --*/ +.bb-chart-funnels path { + stroke-width: 0; +} +.bb-chart-funnels + .bb-chart-texts text { + fill: #fff; +} + +/*-- Axis --*/ +.bb-axis { + stroke-width: 0.7px; +} +.bb-axis .bb-axis-x-tooltip, .bb-axis .bb-axis-y-tooltip, .bb-axis .bb-axis-y2-tooltip { + font-size: 0.9em; + fill: #fff; + white-space: nowrap; +} + +.bb-axis-y text, .bb-axis-y2 text { + fill: #737373; +} + +.bb-event-rects { + fill-opacity: 1 !important; +} +.bb-event-rects .bb-event-rect { + fill: transparent; +} +.bb-event-rects .bb-event-rect._active_ { + fill: rgba(39, 201, 3, 0.05); +} + +.tick._active_ text { + fill: #00c83c !important; +} + +/*-- Grid --*/ +.bb-grid { + pointer-events: none; +} +.bb-grid line { + stroke: #f1f1f1; +} + +.bb-xgrid-focus line, .bb-ygrid-focus line { + stroke: #ddd; +} + +/*-- Text on Chart --*/ +.bb-text.bb-empty { + fill: #767676; +} + +/*-- Line --*/ +.bb-line { + stroke-width: 0.7px; +} + +/*-- Point --*/ +.bb-circle { + fill: #fff !important; +} + +.bb-circle._expanded_ { + stroke-width: 2px; +} + +.bb-selected-circle { + fill: white; + stroke-width: 2px; +} + +/*-- Bar --*/ +.bb-bar { + stroke-width: 1px; +} +.bb-bar._expanded_ { + fill-opacity: 0.75; +} + +/*-- Candlestick --*/ +.bb-candlestick { + stroke-width: 1px; +} +.bb-candlestick._expanded_ { + fill-opacity: 0.75; +} + +/*-- Focus --*/ +.bb-target.bb-focused, .bb-circles.bb-focused { + opacity: 1; +} +.bb-target.bb-focused path.bb-line, .bb-target.bb-focused path.bb-step, .bb-circles.bb-focused path.bb-line, .bb-circles.bb-focused path.bb-step { + stroke-width: 2px; +} +.bb-target.bb-defocused, .bb-circles.bb-defocused { + opacity: 0.3 !important; +} +.bb-target.bb-defocused .text-overlapping, .bb-circles.bb-defocused .text-overlapping { + opacity: 0.05 !important; +} + +/*-- Region --*/ +.bb-region { + fill: steelblue; +} +.bb-region rect { + fill-opacity: 0.1; +} +.bb-region.selected rect { + fill: rgb(39, 201, 3); +} + +/*-- Zoom region --*/ +.bb-zoom-brush { + fill-opacity: 0.1; +} + +/*-- Brush --*/ +.bb-brush .extent { + fill-opacity: 0.1; +} + +/*-- Legend --*/ +.bb-legend-item { + user-select: none; +} +.bb-legend-item line.bb-legend-item-tile { + stroke-linecap: round; + stroke-width: 8px; + transform: translate(7px, 1px); + stroke-dasharray: 1 20; +} + +.bb-legend-item-hidden { + opacity: 0.15; +} + +.bb-legend-background { + opacity: 0.75; + fill: white; + stroke: lightgray; + stroke-width: 1; +} + +/*-- Title --*/ +.bb-title { + font-size: 14px; +} + +/*-- Treemap --*/ +.bb-chart-treemaps rect { + stroke: #000; + stroke-width: 1px; +} + +/*-- Tooltip --*/ +.bb-tooltip-container { + z-index: 10; + font-family: "Sans Pro", Arial, sans-serif, "nanumgothic", "Dotum"; + user-select: none; +} + +.bb-tooltip { + border-collapse: separate; + border-spacing: 0; + border-radius: 2px; + empty-cells: show; + border: 1px solid #999; + background-color: #fff; + text-align: left; + font-size: 11px; + -webkit-font-smoothing: antialiased; + white-space: nowrap; +} +.bb-tooltip th { + font-size: 13px; + padding: 2px 8px; + text-align: left; + border-bottom: solid 2px #ff2d2d; + background-color: #0b00b1; + color: #fffdfd; +} +.bb-tooltip td { + padding: 4px 6px; +} +.bb-tooltip td:first-child { + padding-left: 8px; +} +.bb-tooltip td:last-child { + padding-right: 8px; +} +.bb-tooltip td > span, .bb-tooltip td > svg { + display: inline-block; + width: 8px; + height: 8px; + margin-right: 6px; + border: solid 1px #000; + border-radius: 3px; + vertical-align: middle; +} +.bb-tooltip td.value { + border-left: 1px solid transparent; + text-align: right; +} +.bb-tooltip .bb-tooltip-title { + display: inline-block; + color: #aaa; + line-height: 20px; +} +.bb-tooltip .bb-tooltip-detail table { + border-collapse: collapse; + border-spacing: 0; +} +.bb-tooltip .bb-tooltip-detail .bb-tooltip-name, .bb-tooltip .bb-tooltip-detail .bb-tooltip-value { + font-size: 11px; + line-height: 13px; + padding: 4px 0 3px; + color: #444; + text-align: left; + font-weight: normal; +} +.bb-tooltip .bb-tooltip-detail .bb-tooltip-value { + padding-left: 5px; + font-weight: 800; + font-size: 11px; +} + +/*-- Area --*/ +.bb-area { + stroke-width: 0; + opacity: 0.2; +} + +/*-- Arc --*/ +.bb-chart-arcs-title { + dominant-baseline: middle; + font-size: 1.3em; +} + +text.bb-chart-arcs-gauge-title { + dominant-baseline: middle; + font-size: 2.7em; +} + +.bb-chart-arcs { + /*-- Polar --*/ +} +.bb-chart-arcs .bb-chart-arcs-background { + fill: #e0e0e0; + stroke: none; +} +.bb-chart-arcs .bb-chart-arcs-gauge-unit { + fill: #000; + font-size: 18px; +} +.bb-chart-arcs .bb-chart-arcs-gauge-min, .bb-chart-arcs .bb-chart-arcs-gauge-max { + fill: #777; +} +.bb-chart-arcs .bb-chart-arcs-title { + font-size: 18px !important; + fill: #000; + font-weight: 600; +} +.bb-chart-arcs path.empty { + fill: #eaeaea; + stroke-width: 0; +} +.bb-chart-arcs .bb-levels circle { + fill: none; + stroke: #848282; + stroke-width: 0.5px; +} +.bb-chart-arcs .bb-levels text { + fill: #848282; +} + +.bb-line { + shape-rendering: crispEdges; +} + +.bb-chart-arc .bb-gauge-value { + fill: #3b6969; +} +.bb-chart-arc path { + stroke: #000; + stroke-width: 0.5px; +} +.bb-chart-arc rect { + stroke: #fff; + stroke-width: 1; +} +.bb-chart-arc text { + fill: #fff; + font-size: 14px; +} + +/*-- Radar --*/ +.bb-chart-radars .bb-levels polygon { + fill: none; + stroke: #848282; + stroke-width: 0.5px; +} +.bb-chart-radars .bb-levels text { + fill: #848282; +} +.bb-chart-radars .bb-axis line { + stroke: #848282; + stroke-width: 0.5px; +} +.bb-chart-radars .bb-axis text { + font-size: 1.15em; + cursor: default; +} +.bb-chart-radars .bb-shapes polygon { + fill-opacity: 0.2; + stroke-width: 0.7px; +} + +/*-- Button --*/ +.bb-button { + position: absolute; + top: 10px; + right: 10px; +} +.bb-button .bb-zoom-reset { + border: solid 1px #ccc; + background-color: #fff; + padding: 5px; + border-radius: 5px; + cursor: pointer; +} diff --git a/release/3.14.2/dist/theme/datalab.min.css b/release/3.14.2/dist/theme/datalab.min.css new file mode 100644 index 000000000..38d41dc86 --- /dev/null +++ b/release/3.14.2/dist/theme/datalab.min.css @@ -0,0 +1,9 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + */.bb-color-pattern{background-image:url(#2ac4b3;#feaf29;#ff617b;#73a2ef;#b180d0;#3064cf;#d0a45f;#8aaec7;#ef65a2;#8aaec7;)}.bb svg{font-size:11px;font-family:Sans Pro,Arial,sans-serif,nanumgothic,Dotum;line-height:1}.bb path,.bb line{fill:none;stroke:#000}.bb text,.bb .bb-button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-font-smoothing:antialiased;user-select:none;fill:#555;font-size:11px}.bb-chart-arcs .bb-needle{fill:#000}.bb-chart-funnels path{stroke-width:0}.bb-chart-funnels+.bb-chart-texts text{fill:#fff}.bb-axis{stroke-width:.7px}.bb-axis .bb-axis-x-tooltip,.bb-axis .bb-axis-y-tooltip,.bb-axis .bb-axis-y2-tooltip{font-size:.9em;fill:#fff;white-space:nowrap}.bb-axis-y text,.bb-axis-y2 text{fill:#737373}.bb-event-rects{fill-opacity:1!important}.bb-event-rects .bb-event-rect{fill:transparent}.bb-event-rects .bb-event-rect._active_{fill:#27c9030d}.tick._active_ text{fill:#00c83c!important}.bb-grid{pointer-events:none}.bb-grid line{stroke:#f1f1f1}.bb-xgrid-focus line,.bb-ygrid-focus line{stroke:#ddd}.bb-text.bb-empty{fill:#767676}.bb-line{stroke-width:.7px}.bb-circle{fill:#fff!important}.bb-circle._expanded_{stroke-width:2px}.bb-selected-circle{fill:#fff;stroke-width:2px}.bb-bar{stroke-width:1px}.bb-bar._expanded_{fill-opacity:.75}.bb-candlestick{stroke-width:1px}.bb-candlestick._expanded_{fill-opacity:.75}.bb-target.bb-focused,.bb-circles.bb-focused{opacity:1}.bb-target.bb-focused path.bb-line,.bb-target.bb-focused path.bb-step,.bb-circles.bb-focused path.bb-line,.bb-circles.bb-focused path.bb-step{stroke-width:2px}.bb-target.bb-defocused,.bb-circles.bb-defocused{opacity:.3!important}.bb-target.bb-defocused .text-overlapping,.bb-circles.bb-defocused .text-overlapping{opacity:.05!important}.bb-region{fill:#4682b4}.bb-region rect{fill-opacity:.1}.bb-region.selected rect{fill:#27c903}.bb-zoom-brush,.bb-brush .extent{fill-opacity:.1}.bb-legend-item{user-select:none}.bb-legend-item line.bb-legend-item-tile{stroke-linecap:round;stroke-width:8px;transform:translate(7px,1px);stroke-dasharray:1 20}.bb-legend-item-hidden{opacity:.15}.bb-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.bb-title{font-size:14px}.bb-chart-treemaps rect{stroke:#000;stroke-width:1px}.bb-tooltip-container{z-index:10;font-family:Sans Pro,Arial,sans-serif,nanumgothic,Dotum;user-select:none}.bb-tooltip{border-collapse:separate;border-spacing:0;border-radius:2px;empty-cells:show;border:1px solid #999;background-color:#fff;text-align:left;font-size:11px;-webkit-font-smoothing:antialiased;white-space:nowrap}.bb-tooltip th{font-size:13px;padding:2px 8px;text-align:left;border-bottom:solid 2px #ff2d2d;background-color:#0b00b1;color:#fffdfd}.bb-tooltip td{padding:4px 6px}.bb-tooltip td:first-child{padding-left:8px}.bb-tooltip td:last-child{padding-right:8px}.bb-tooltip td>span,.bb-tooltip td>svg{display:inline-block;width:8px;height:8px;margin-right:6px;border:solid 1px #000;border-radius:3px;vertical-align:middle}.bb-tooltip td.value{border-left:1px solid transparent;text-align:right}.bb-tooltip .bb-tooltip-title{display:inline-block;color:#aaa;line-height:20px}.bb-tooltip .bb-tooltip-detail table{border-collapse:collapse;border-spacing:0}.bb-tooltip .bb-tooltip-detail .bb-tooltip-name,.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{font-size:11px;line-height:13px;padding:4px 0 3px;color:#444;text-align:left;font-weight:400}.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{padding-left:5px;font-weight:800;font-size:11px}.bb-area{stroke-width:0;opacity:.2}.bb-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}text.bb-chart-arcs-gauge-title{dominant-baseline:middle;font-size:2.7em}.bb-chart-arcs .bb-chart-arcs-background{fill:#e0e0e0;stroke:none}.bb-chart-arcs .bb-chart-arcs-gauge-unit{fill:#000;font-size:18px}.bb-chart-arcs .bb-chart-arcs-gauge-min,.bb-chart-arcs .bb-chart-arcs-gauge-max{fill:#777}.bb-chart-arcs .bb-chart-arcs-title{font-size:18px!important;fill:#000;font-weight:600}.bb-chart-arcs path.empty{fill:#eaeaea;stroke-width:0}.bb-chart-arcs .bb-levels circle{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-arcs .bb-levels text{fill:#848282}.bb-line{shape-rendering:crispEdges}.bb-chart-arc .bb-gauge-value{fill:#3b6969}.bb-chart-arc path{stroke:#000;stroke-width:.5px}.bb-chart-arc rect{stroke:#fff;stroke-width:1}.bb-chart-arc text{fill:#fff;font-size:14px}.bb-chart-radars .bb-levels polygon{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-levels text{fill:#848282}.bb-chart-radars .bb-axis line{stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-axis text{font-size:1.15em;cursor:default}.bb-chart-radars .bb-shapes polygon{fill-opacity:.2;stroke-width:.7px}.bb-button{position:absolute;top:10px;right:10px}.bb-button .bb-zoom-reset{border:solid 1px #ccc;background-color:#fff;padding:5px;border-radius:5px;cursor:pointer} diff --git a/release/3.14.2/dist/theme/graph.css b/release/3.14.2/dist/theme/graph.css new file mode 100644 index 000000000..7b8e0a3d9 --- /dev/null +++ b/release/3.14.2/dist/theme/graph.css @@ -0,0 +1,385 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + */ +/*-- Graph Theme --*/ +/*-- Default color pattern --*/ +.bb-color-pattern { + background-image: url("#65CFC2;#D0A45F;#64A4F5;#EF65A2;#A377FE;#8AAEC7;#FF7E5A;#898EFE;#FFAC35;#70B0FF;"); +} + +/*-- Chart --*/ +.bb svg { + font-size: 12px; + font-family: Helvetica, "Apple SD Gothic Neo", Arial, sans-serif, "nanumgothic", "Dotum"; + line-height: 1; +} +.bb path, .bb line { + fill: none; + stroke: #8c8c8c; +} +.bb text, .bb .bb-button { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + fill: #555; + font-size: 12px; + letter-spacing: -0.3px; +} + +.bb-legend-item-title, +.bb-xgrid-focus, +.bb-ygrid-focus, +.bb-ygrid { + shape-rendering: crispEdges; +} + +.bb-chart-arcs .bb-needle { + fill: #000; +} + +/*-- Funnel --*/ +.bb-chart-funnels path { + stroke-width: 0; +} +.bb-chart-funnels + .bb-chart-texts text { + fill: #fff; +} + +/*-- Axis --*/ +.bb-axis { + shape-rendering: crispEdges; +} +.bb-axis .bb-axis-x-tooltip, .bb-axis .bb-axis-y-tooltip, .bb-axis .bb-axis-y2-tooltip { + font-size: 0.9em; + fill: #fff; + white-space: nowrap; +} + +.bb-axis-y text, .bb-axis-y2 text { + fill: #8c8c8c; +} + +.bb-event-rects { + fill-opacity: 1 !important; +} +.bb-event-rects .bb-event-rect { + fill: transparent; +} +.bb-event-rects .bb-event-rect._active_ { + fill: rgba(39, 201, 3, 0.05); +} + +.tick._active_ text { + fill: #00c83c !important; +} + +/*-- Grid --*/ +.bb-grid { + pointer-events: none; +} +.bb-grid line { + stroke: #f1f1f1; +} + +.bb-xgrid-focus line, .bb-ygrid-focus line { + stroke: #ffb6b6; + stroke-dasharray: 3px; +} + +/*-- Text on Chart --*/ +.bb-text.bb-empty { + fill: #767676; +} + +/*-- Line --*/ +.bb-line { + stroke-width: 1px; +} + +/*-- Point --*/ +.bb-circle._expanded_ { + stroke-width: 2px; +} + +rect.bb-circle._expanded_, use.bb-circle._expanded_ { + stroke-width: 2px; +} + +.bb-selected-circle { + fill: white; + stroke-width: 2px; +} + +/*-- Bar --*/ +.bb-bar { + stroke-width: 0; +} +.bb-bar._expanded_ { + fill-opacity: 0.75; +} + +/*-- Candlestick --*/ +.bb-candlestick { + stroke-width: 1px; +} +.bb-candlestick._expanded_ { + fill-opacity: 0.75; +} + +/*-- Focus --*/ +.bb-target.bb-focused, .bb-circles.bb-focused { + opacity: 1; +} +.bb-target.bb-focused path.bb-line, .bb-target.bb-focused path.bb-step, .bb-circles.bb-focused path.bb-line, .bb-circles.bb-focused path.bb-step { + stroke-width: 2px; +} +.bb-target.bb-defocused, .bb-circles.bb-defocused { + opacity: 0.3 !important; +} +.bb-target.bb-defocused .text-overlapping, .bb-circles.bb-defocused .text-overlapping { + opacity: 0.05 !important; +} + +/*-- Region --*/ +.bb-region { + fill: steelblue; +} +.bb-region rect { + fill-opacity: 0.1; +} +.bb-region.selected rect { + fill: rgb(39, 201, 3); +} + +/*-- Zoom region --*/ +.bb-zoom-brush { + fill-opacity: 0.1; +} + +/*-- Brush --*/ +.bb-brush .extent { + fill-opacity: 0.1; +} + +/*-- Select - Drag --*/ +/*-- Legend --*/ +.bb-legend-item { + user-select: none; +} + +.bb-legend-item-hidden { + opacity: 0.15; +} + +.bb-legend-background { + opacity: 0.75; + fill: white; + stroke: lightgray; + stroke-width: 1px; +} + +.bb-legend-item line { + stroke-dasharray: 1px; +} + +/*-- Title --*/ +.bb-title { + font-size: 14px; +} + +/*-- Treemap --*/ +.bb-chart-treemaps rect { + stroke: #fff; + stroke-width: 1px; +} + +/*-- Tooltip --*/ +.bb-tooltip-container { + z-index: 10; + font-family: Helvetica, "Apple SD Gothic Neo", Arial, sans-serif, "nanumgothic", "Dotum"; + user-select: none; +} + +.bb-tooltip { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border-collapse: separate; + border-spacing: 0; + empty-cells: show; + border: 1px solid #999; + border-radius: 2px; + background-color: #fff; + text-align: left; + font-size: 12px; + box-shadow: 0.5px 0.5px 1px #999; + white-space: nowrap; +} +.bb-tooltip th { + font-size: 12px; + padding: 4px 8px; + text-align: center; + border-bottom: dotted 1px #000; + background-color: #efefef; + color: #000; +} +.bb-tooltip tr:last-child td { + border-bottom: none; +} +.bb-tooltip td { + padding: 3px 6px; + background-color: #fff; + border-bottom: solid 1px #eee; +} +.bb-tooltip td:first-child { + padding-left: 5px; + border-right: solid 1px #eee; +} +.bb-tooltip td:last-child { + padding-right: 5px; +} +.bb-tooltip td > span, .bb-tooltip td > svg { + display: inline-block; + width: 5px; + height: 12px; + margin-right: 6px; + vertical-align: middle; +} +.bb-tooltip td.value { + border-left: 1px solid transparent; + text-align: right; +} +.bb-tooltip .bb-tooltip-title { + display: inline-block; + color: #aaa; + line-height: 20px; +} +.bb-tooltip .bb-tooltip-detail table { + border-collapse: collapse; + border-spacing: 1px; + font-size: 12px; +} +.bb-tooltip .bb-tooltip-detail .bb-tooltip-name, .bb-tooltip .bb-tooltip-detail .bb-tooltip-value { + line-height: 13px; + padding: 4px 0 3px; + color: #444; + text-align: left; + font-weight: normal; +} +.bb-tooltip .bb-tooltip-detail .bb-tooltip-value { + padding-left: 5px; + font-weight: 800; +} + +/*-- Area --*/ +.bb-area { + stroke-width: 0; + opacity: 0.2; +} + +/*-- Arc --*/ +.bb-chart-arcs-title { + dominant-baseline: middle; + font-size: 1.3em; +} + +text.bb-chart-arcs-gauge-title { + dominant-baseline: middle; + font-size: 2.7em; +} + +.bb-chart-arcs { + /*-- Polar --*/ +} +.bb-chart-arcs .bb-chart-arcs-background { + fill: #e0e0e0; + stroke: #fff; +} +.bb-chart-arcs .bb-chart-arcs-gauge-unit { + fill: #000; + font-size: 16px; +} +.bb-chart-arcs .bb-chart-arcs-gauge-min, .bb-chart-arcs .bb-chart-arcs-gauge-max { + fill: #777; +} +.bb-chart-arcs .bb-chart-arcs-title { + font-size: 16px !important; + fill: #8c8c8c; + font-style: italic; +} +.bb-chart-arcs path.empty { + fill: #eaeaea; + stroke-width: 0; +} +.bb-chart-arcs .bb-levels circle { + fill: none; + stroke: #848282; + stroke-width: 0.5px; +} +.bb-chart-arcs .bb-levels text { + fill: #848282; +} + +.bb-chart-arc .bb-gauge-value { + fill: #8c8c8c; + font-style: italic; +} +.bb-chart-arc path { + stroke: #fff; +} +.bb-chart-arc rect { + stroke: white; + stroke-width: 1; +} +.bb-chart-arc text { + fill: #fff; + font-size: 13px; + font-weight: bold; +} + +/*-- Radar --*/ +.bb-chart-radars .bb-levels polygon { + fill: none; + stroke: #8c8c8c; + stroke-width: 0.5px; +} +.bb-chart-radars .bb-levels text { + fill: #8c8c8c; +} +.bb-chart-radars .bb-axis line { + stroke: #8c8c8c; + stroke-width: 0.5px; +} +.bb-chart-radars .bb-axis text { + font-size: 1.15em; + font-weight: bold; + cursor: default; +} +.bb-chart-radars .bb-shapes polygon { + fill-opacity: 0.2; + stroke-width: 1px; +} + +/*-- Button --*/ +.bb-button { + position: absolute; + top: 10px; + right: 10px; +} +.bb-button .bb-zoom-reset { + border: solid 1px #ccc; + background-color: #fff; + padding: 5px; + border-radius: 5px; + cursor: pointer; + opacity: 0.8; + box-shadow: 1px 1px 2px #ccc; +} diff --git a/release/3.14.2/dist/theme/graph.min.css b/release/3.14.2/dist/theme/graph.min.css new file mode 100644 index 000000000..0a5d10f25 --- /dev/null +++ b/release/3.14.2/dist/theme/graph.min.css @@ -0,0 +1,9 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + */.bb-color-pattern{background-image:url(#65CFC2;#D0A45F;#64A4F5;#EF65A2;#A377FE;#8AAEC7;#FF7E5A;#898EFE;#FFAC35;#70B0FF;)}.bb svg{font-size:12px;font-family:Helvetica,Apple SD Gothic Neo,Arial,sans-serif,nanumgothic,Dotum;line-height:1}.bb path,.bb line{fill:none;stroke:#8c8c8c}.bb text,.bb .bb-button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:#555;font-size:12px;letter-spacing:-.3px}.bb-legend-item-title,.bb-xgrid-focus,.bb-ygrid-focus,.bb-ygrid{shape-rendering:crispEdges}.bb-chart-arcs .bb-needle{fill:#000}.bb-chart-funnels path{stroke-width:0}.bb-chart-funnels+.bb-chart-texts text{fill:#fff}.bb-axis{shape-rendering:crispEdges}.bb-axis .bb-axis-x-tooltip,.bb-axis .bb-axis-y-tooltip,.bb-axis .bb-axis-y2-tooltip{font-size:.9em;fill:#fff;white-space:nowrap}.bb-axis-y text,.bb-axis-y2 text{fill:#8c8c8c}.bb-event-rects{fill-opacity:1!important}.bb-event-rects .bb-event-rect{fill:transparent}.bb-event-rects .bb-event-rect._active_{fill:#27c9030d}.tick._active_ text{fill:#00c83c!important}.bb-grid{pointer-events:none}.bb-grid line{stroke:#f1f1f1}.bb-xgrid-focus line,.bb-ygrid-focus line{stroke:#ffb6b6;stroke-dasharray:3px}.bb-text.bb-empty{fill:#767676}.bb-line{stroke-width:1px}.bb-circle._expanded_{stroke-width:2px}rect.bb-circle._expanded_,use.bb-circle._expanded_{stroke-width:2px}.bb-selected-circle{fill:#fff;stroke-width:2px}.bb-bar{stroke-width:0}.bb-bar._expanded_{fill-opacity:.75}.bb-candlestick{stroke-width:1px}.bb-candlestick._expanded_{fill-opacity:.75}.bb-target.bb-focused,.bb-circles.bb-focused{opacity:1}.bb-target.bb-focused path.bb-line,.bb-target.bb-focused path.bb-step,.bb-circles.bb-focused path.bb-line,.bb-circles.bb-focused path.bb-step{stroke-width:2px}.bb-target.bb-defocused,.bb-circles.bb-defocused{opacity:.3!important}.bb-target.bb-defocused .text-overlapping,.bb-circles.bb-defocused .text-overlapping{opacity:.05!important}.bb-region{fill:#4682b4}.bb-region rect{fill-opacity:.1}.bb-region.selected rect{fill:#27c903}.bb-zoom-brush,.bb-brush .extent{fill-opacity:.1}.bb-legend-item{user-select:none}.bb-legend-item-hidden{opacity:.15}.bb-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1px}.bb-legend-item line{stroke-dasharray:1px}.bb-title{font-size:14px}.bb-chart-treemaps rect{stroke:#fff;stroke-width:1px}.bb-tooltip-container{z-index:10;font-family:Helvetica,Apple SD Gothic Neo,Arial,sans-serif,nanumgothic,Dotum;user-select:none}.bb-tooltip{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-collapse:separate;border-spacing:0;empty-cells:show;border:1px solid #999;border-radius:2px;background-color:#fff;text-align:left;font-size:12px;box-shadow:.5px .5px 1px #999;white-space:nowrap}.bb-tooltip th{font-size:12px;padding:4px 8px;text-align:center;border-bottom:dotted 1px #000;background-color:#efefef;color:#000}.bb-tooltip tr:last-child td{border-bottom:none}.bb-tooltip td{padding:3px 6px;background-color:#fff;border-bottom:solid 1px #eee}.bb-tooltip td:first-child{padding-left:5px;border-right:solid 1px #eee}.bb-tooltip td:last-child{padding-right:5px}.bb-tooltip td>span,.bb-tooltip td>svg{display:inline-block;width:5px;height:12px;margin-right:6px;vertical-align:middle}.bb-tooltip td.value{border-left:1px solid transparent;text-align:right}.bb-tooltip .bb-tooltip-title{display:inline-block;color:#aaa;line-height:20px}.bb-tooltip .bb-tooltip-detail table{border-collapse:collapse;border-spacing:1px;font-size:12px}.bb-tooltip .bb-tooltip-detail .bb-tooltip-name,.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{line-height:13px;padding:4px 0 3px;color:#444;text-align:left;font-weight:400}.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{padding-left:5px;font-weight:800}.bb-area{stroke-width:0;opacity:.2}.bb-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}text.bb-chart-arcs-gauge-title{dominant-baseline:middle;font-size:2.7em}.bb-chart-arcs .bb-chart-arcs-background{fill:#e0e0e0;stroke:#fff}.bb-chart-arcs .bb-chart-arcs-gauge-unit{fill:#000;font-size:16px}.bb-chart-arcs .bb-chart-arcs-gauge-min,.bb-chart-arcs .bb-chart-arcs-gauge-max{fill:#777}.bb-chart-arcs .bb-chart-arcs-title{font-size:16px!important;fill:#8c8c8c;font-style:italic}.bb-chart-arcs path.empty{fill:#eaeaea;stroke-width:0}.bb-chart-arcs .bb-levels circle{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-arcs .bb-levels text{fill:#848282}.bb-chart-arc .bb-gauge-value{fill:#8c8c8c;font-style:italic}.bb-chart-arc path{stroke:#fff}.bb-chart-arc rect{stroke:#fff;stroke-width:1}.bb-chart-arc text{fill:#fff;font-size:13px;font-weight:700}.bb-chart-radars .bb-levels polygon{fill:none;stroke:#8c8c8c;stroke-width:.5px}.bb-chart-radars .bb-levels text{fill:#8c8c8c}.bb-chart-radars .bb-axis line{stroke:#8c8c8c;stroke-width:.5px}.bb-chart-radars .bb-axis text{font-size:1.15em;font-weight:700;cursor:default}.bb-chart-radars .bb-shapes polygon{fill-opacity:.2;stroke-width:1px}.bb-button{position:absolute;top:10px;right:10px}.bb-button .bb-zoom-reset{border:solid 1px #ccc;background-color:#fff;padding:5px;border-radius:5px;cursor:pointer;opacity:.8;box-shadow:1px 1px 2px #ccc} diff --git a/release/3.14.2/dist/theme/insight.css b/release/3.14.2/dist/theme/insight.css new file mode 100644 index 000000000..dd9027ed6 --- /dev/null +++ b/release/3.14.2/dist/theme/insight.css @@ -0,0 +1,364 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + */ +/*-- Insight Theme --*/ +/*-- Default color pattern --*/ +.bb-color-pattern { + background-image: url("#00c73c;#fa7171;#2ad0ff;#7294ce;#e3e448;#cc7e6e;#fb6ccf;#c98dff;#4aea99;#bbbbbb;"); +} + +/*-- Chart --*/ +.bb svg { + font-size: 12px; + font-family: sans-serif, Arial, "nanumgothic", "Dotum"; + line-height: 1; +} +.bb path, .bb line { + fill: none; + stroke: #c4c4c4; +} +.bb text, .bb .bb-button { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + fill: #555; + font-size: 11px; +} + +.bb-legend-item-title, +.bb-xgrid-focus, +.bb-ygrid-focus, +.bb-ygrid { + shape-rendering: crispEdges; +} + +.bb-chart-arcs .bb-needle { + fill: #000; +} + +/*-- Funnel --*/ +.bb-chart-funnels path { + stroke-width: 0; +} +.bb-chart-funnels + .bb-chart-texts text { + fill: #fff; +} + +/*-- Axis --*/ +.bb-axis { + shape-rendering: crispEdges; +} +.bb-axis .bb-axis-x-tooltip, .bb-axis .bb-axis-y-tooltip, .bb-axis .bb-axis-y2-tooltip { + font-size: 0.9em; + fill: #fff; + white-space: nowrap; +} + +.bb-axis-y text, .bb-axis-y2 text { + fill: #737373; +} + +.bb-event-rects { + fill-opacity: 1 !important; +} +.bb-event-rects .bb-event-rect { + fill: transparent; +} +.bb-event-rects .bb-event-rect._active_ { + fill: rgba(39, 201, 3, 0.05); +} + +.tick._active_ text { + fill: #00c83c !important; +} + +/*-- Grid --*/ +.bb-grid { + pointer-events: none; +} +.bb-grid line { + stroke: #f1f1f1; +} + +.bb-xgrid-focus line, .bb-ygrid-focus line { + stroke: #ddd; +} + +/*-- Text on Chart --*/ +.bb-text.bb-empty { + fill: #767676; +} + +/*-- Line --*/ +.bb-line { + stroke-width: 1px; +} + +/*-- Point --*/ +.bb-circle._expanded_ { + fill: #fff !important; + stroke-width: 2px; + stroke: red; +} + +rect.bb-circle._expanded_, use.bb-circle._expanded_ { + stroke-width: 1px; +} + +.bb-selected-circle { + fill: white; + stroke-width: 2px; +} + +/*-- Bar --*/ +.bb-bar { + stroke-width: 0; +} +.bb-bar._expanded_ { + fill-opacity: 0.75; +} + +/*-- Candlestick --*/ +.bb-candlestick { + stroke-width: 1px; +} +.bb-candlestick._expanded_ { + fill-opacity: 0.75; +} + +/*-- Focus --*/ +.bb-target.bb-focused, .bb-circles.bb-focused { + opacity: 1; +} +.bb-target.bb-focused path.bb-line, .bb-target.bb-focused path.bb-step, .bb-circles.bb-focused path.bb-line, .bb-circles.bb-focused path.bb-step { + stroke-width: 2px; +} +.bb-target.bb-defocused, .bb-circles.bb-defocused { + opacity: 0.3 !important; +} +.bb-target.bb-defocused .text-overlapping, .bb-circles.bb-defocused .text-overlapping { + opacity: 0.05 !important; +} + +/*-- Region --*/ +.bb-region { + fill: steelblue; +} +.bb-region rect { + fill-opacity: 0.1; +} +.bb-region.selected rect { + fill: rgb(39, 201, 3); +} + +/*-- Zoom region --*/ +.bb-zoom-brush { + fill-opacity: 0.1; +} + +/*-- Brush --*/ +.bb-brush .extent { + fill-opacity: 0.1; +} + +/*-- Select - Drag --*/ +/*-- Legend --*/ +.bb-legend-item { + user-select: none; +} + +.bb-legend-item-hidden { + opacity: 0.15; +} + +.bb-legend-background { + opacity: 0.75; + fill: white; + stroke: lightgray; + stroke-width: 1; +} + +/*-- Title --*/ +.bb-title { + font-size: 14px; +} + +/*-- Treemap --*/ +.bb-chart-treemaps rect { + stroke: #fff; + stroke-width: 1px; +} + +/*-- Tooltip --*/ +.bb-tooltip-container { + z-index: 10; + font-family: sans-serif, Arial, "nanumgothic", "Dotum"; + user-select: none; +} + +.bb-tooltip { + border-collapse: separate; + border-spacing: 0; + empty-cells: show; + border: 1px solid #999; + background-color: #fff; + text-align: left; + font-size: 11px; + white-space: nowrap; +} +.bb-tooltip th { + font-size: 12px; + padding: 4px 8px; + text-align: left; + border-bottom: solid 1px #eee; +} +.bb-tooltip td { + padding: 4px 6px; + background-color: #fff; +} +.bb-tooltip td:first-child { + padding-left: 8px; +} +.bb-tooltip td:last-child { + padding-right: 8px; +} +.bb-tooltip td > span, .bb-tooltip td > svg { + display: inline-block; + width: 10px; + height: 10px; + margin-right: 6px; + border-radius: 5px; + vertical-align: middle; +} +.bb-tooltip td.value { + border-left: 1px solid transparent; +} +.bb-tooltip .bb-tooltip-title { + display: inline-block; + color: #aaa; + line-height: 20px; +} +.bb-tooltip .bb-tooltip-detail table { + border-collapse: collapse; + border-spacing: 0; +} +.bb-tooltip .bb-tooltip-detail .bb-tooltip-name, .bb-tooltip .bb-tooltip-detail .bb-tooltip-value { + font-size: 11px; + line-height: 13px; + padding: 4px 0 3px; + color: #444; + text-align: left; + font-weight: normal; +} +.bb-tooltip .bb-tooltip-detail .bb-tooltip-value { + padding-left: 5px; + font-weight: 800; + font-size: 12px; +} + +/*-- Area --*/ +.bb-area { + stroke-width: 0; + opacity: 0.2; +} + +/*-- Arc --*/ +.bb-chart-arcs-title { + dominant-baseline: middle; + font-size: 1.3em; +} + +text.bb-chart-arcs-gauge-title { + dominant-baseline: middle; + font-size: 2.7em; +} + +.bb-chart-arcs { + /*-- Polar --*/ +} +.bb-chart-arcs .bb-chart-arcs-background { + fill: #e0e0e0; + stroke: none; +} +.bb-chart-arcs .bb-chart-arcs-gauge-unit { + fill: #000; + font-size: 16px; +} +.bb-chart-arcs .bb-chart-arcs-gauge-min, .bb-chart-arcs .bb-chart-arcs-gauge-max { + fill: #777; +} +.bb-chart-arcs .bb-chart-arcs-title { + font-size: 16px !important; + fill: #000; + font-weight: 600; +} +.bb-chart-arcs path.empty { + fill: #eaeaea; + stroke-width: 0; +} +.bb-chart-arcs .bb-levels circle { + fill: none; + stroke: #848282; + stroke-width: 0.5px; +} +.bb-chart-arcs .bb-levels text { + fill: #848282; +} + +.bb-chart-arc .bb-gauge-value { + fill: #000; +} +.bb-chart-arc path { + stroke: #fff; +} +.bb-chart-arc rect { + stroke: #fff; + stroke-width: 1; +} +.bb-chart-arc text { + fill: #fff; + font-size: 13px; +} + +/*-- Radar --*/ +.bb-chart-radars .bb-levels polygon { + fill: none; + stroke: #848282; + stroke-width: 0.5px; +} +.bb-chart-radars .bb-levels text { + fill: #848282; +} +.bb-chart-radars .bb-axis line { + stroke: #848282; + stroke-width: 0.5px; +} +.bb-chart-radars .bb-axis text { + font-size: 1.15em; + cursor: default; +} +.bb-chart-radars .bb-shapes polygon { + fill-opacity: 0.2; + stroke-width: 1px; +} + +/*-- Button --*/ +.bb-button { + position: absolute; + top: 10px; + right: 10px; +} +.bb-button .bb-zoom-reset { + border: solid 1px #ccc; + background-color: #fff; + padding: 5px; + border-radius: 5px; + cursor: pointer; +} diff --git a/release/3.14.2/dist/theme/insight.min.css b/release/3.14.2/dist/theme/insight.min.css new file mode 100644 index 000000000..413518687 --- /dev/null +++ b/release/3.14.2/dist/theme/insight.min.css @@ -0,0 +1,9 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + */.bb-color-pattern{background-image:url(#00c73c;#fa7171;#2ad0ff;#7294ce;#e3e448;#cc7e6e;#fb6ccf;#c98dff;#4aea99;#bbbbbb;)}.bb svg{font-size:12px;font-family:sans-serif,Arial,nanumgothic,Dotum;line-height:1}.bb path,.bb line{fill:none;stroke:#c4c4c4}.bb text,.bb .bb-button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:#555;font-size:11px}.bb-legend-item-title,.bb-xgrid-focus,.bb-ygrid-focus,.bb-ygrid{shape-rendering:crispEdges}.bb-chart-arcs .bb-needle{fill:#000}.bb-chart-funnels path{stroke-width:0}.bb-chart-funnels+.bb-chart-texts text{fill:#fff}.bb-axis{shape-rendering:crispEdges}.bb-axis .bb-axis-x-tooltip,.bb-axis .bb-axis-y-tooltip,.bb-axis .bb-axis-y2-tooltip{font-size:.9em;fill:#fff;white-space:nowrap}.bb-axis-y text,.bb-axis-y2 text{fill:#737373}.bb-event-rects{fill-opacity:1!important}.bb-event-rects .bb-event-rect{fill:transparent}.bb-event-rects .bb-event-rect._active_{fill:#27c9030d}.tick._active_ text{fill:#00c83c!important}.bb-grid{pointer-events:none}.bb-grid line{stroke:#f1f1f1}.bb-xgrid-focus line,.bb-ygrid-focus line{stroke:#ddd}.bb-text.bb-empty{fill:#767676}.bb-line{stroke-width:1px}.bb-circle._expanded_{fill:#fff!important;stroke-width:2px;stroke:red}rect.bb-circle._expanded_,use.bb-circle._expanded_{stroke-width:1px}.bb-selected-circle{fill:#fff;stroke-width:2px}.bb-bar{stroke-width:0}.bb-bar._expanded_{fill-opacity:.75}.bb-candlestick{stroke-width:1px}.bb-candlestick._expanded_{fill-opacity:.75}.bb-target.bb-focused,.bb-circles.bb-focused{opacity:1}.bb-target.bb-focused path.bb-line,.bb-target.bb-focused path.bb-step,.bb-circles.bb-focused path.bb-line,.bb-circles.bb-focused path.bb-step{stroke-width:2px}.bb-target.bb-defocused,.bb-circles.bb-defocused{opacity:.3!important}.bb-target.bb-defocused .text-overlapping,.bb-circles.bb-defocused .text-overlapping{opacity:.05!important}.bb-region{fill:#4682b4}.bb-region rect{fill-opacity:.1}.bb-region.selected rect{fill:#27c903}.bb-zoom-brush,.bb-brush .extent{fill-opacity:.1}.bb-legend-item{user-select:none}.bb-legend-item-hidden{opacity:.15}.bb-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.bb-title{font-size:14px}.bb-chart-treemaps rect{stroke:#fff;stroke-width:1px}.bb-tooltip-container{z-index:10;font-family:sans-serif,Arial,nanumgothic,Dotum;user-select:none}.bb-tooltip{border-collapse:separate;border-spacing:0;empty-cells:show;border:1px solid #999;background-color:#fff;text-align:left;font-size:11px;white-space:nowrap}.bb-tooltip th{font-size:12px;padding:4px 8px;text-align:left;border-bottom:solid 1px #eee}.bb-tooltip td{padding:4px 6px;background-color:#fff}.bb-tooltip td:first-child{padding-left:8px}.bb-tooltip td:last-child{padding-right:8px}.bb-tooltip td>span,.bb-tooltip td>svg{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:5px;vertical-align:middle}.bb-tooltip td.value{border-left:1px solid transparent}.bb-tooltip .bb-tooltip-title{display:inline-block;color:#aaa;line-height:20px}.bb-tooltip .bb-tooltip-detail table{border-collapse:collapse;border-spacing:0}.bb-tooltip .bb-tooltip-detail .bb-tooltip-name,.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{font-size:11px;line-height:13px;padding:4px 0 3px;color:#444;text-align:left;font-weight:400}.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{padding-left:5px;font-weight:800;font-size:12px}.bb-area{stroke-width:0;opacity:.2}.bb-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}text.bb-chart-arcs-gauge-title{dominant-baseline:middle;font-size:2.7em}.bb-chart-arcs .bb-chart-arcs-background{fill:#e0e0e0;stroke:none}.bb-chart-arcs .bb-chart-arcs-gauge-unit{fill:#000;font-size:16px}.bb-chart-arcs .bb-chart-arcs-gauge-min,.bb-chart-arcs .bb-chart-arcs-gauge-max{fill:#777}.bb-chart-arcs .bb-chart-arcs-title{font-size:16px!important;fill:#000;font-weight:600}.bb-chart-arcs path.empty{fill:#eaeaea;stroke-width:0}.bb-chart-arcs .bb-levels circle{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-arcs .bb-levels text{fill:#848282}.bb-chart-arc .bb-gauge-value{fill:#000}.bb-chart-arc path{stroke:#fff}.bb-chart-arc rect{stroke:#fff;stroke-width:1}.bb-chart-arc text{fill:#fff;font-size:13px}.bb-chart-radars .bb-levels polygon{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-levels text{fill:#848282}.bb-chart-radars .bb-axis line{stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-axis text{font-size:1.15em;cursor:default}.bb-chart-radars .bb-shapes polygon{fill-opacity:.2;stroke-width:1px}.bb-button{position:absolute;top:10px;right:10px}.bb-button .bb-zoom-reset{border:solid 1px #ccc;background-color:#fff;padding:5px;border-radius:5px;cursor:pointer} diff --git a/release/3.14.2/dist/theme/modern.css b/release/3.14.2/dist/theme/modern.css new file mode 100644 index 000000000..0673ac120 --- /dev/null +++ b/release/3.14.2/dist/theme/modern.css @@ -0,0 +1,381 @@ +/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + */ +@charset "UTF-8"; +/*-- Insight Theme --*/ +/*-- Default color pattern --*/ +.bb-color-pattern { + background-image: url("#7ea9fa;#ffcd1e;#d33043;#41c464;#c86b74;#006bc2;#2a7e41;#f27c00;#c159ff;#bed017;"); +} + +/*-- Chart --*/ +.bb svg { + font-size: 12px; + font-family: -apple-system, "system-ui", "Noto Sans", "Malgun Gothic", "맑은 고딕", helvetica, "Apple SD Gothic Neo", sans-serif; + line-height: 1; +} +.bb path, .bb line { + fill: none; + stroke: #cecece; +} +.bb text, .bb .bb-button { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + fill: #555; + font-size: 10.5px; +} + +.bb-legend-item-title, +.bb-xgrid-focus, +.bb-ygrid-focus, +.bb-ygrid { + shape-rendering: crispEdges; +} + +.bb-chart-arcs .bb-needle { + fill: #000; +} + +/*-- Funnel --*/ +.bb-chart-funnels path { + stroke-width: 0; +} +.bb-chart-funnels + .bb-chart-texts text { + fill: #fff; +} + +/*-- Axis --*/ +.bb-axis { + shape-rendering: crispEdges; +} +.bb-axis .bb-axis-x-tooltip, .bb-axis .bb-axis-y-tooltip, .bb-axis .bb-axis-y2-tooltip { + font-size: 0.9em; + fill: #fff; + white-space: nowrap; +} + +.bb-axis-y text, .bb-axis-y2 text { + fill: #737373; +} + +.bb-event-rects { + fill-opacity: 1 !important; +} +.bb-event-rects .bb-event-rect { + fill: transparent; +} +.bb-event-rects .bb-event-rect._active_ { + fill: rgba(39, 201, 3, 0.05); +} + +.tick._active_ text { + fill: #00c83c !important; +} + +/*-- Grid --*/ +.bb-grid { + pointer-events: none; +} +.bb-grid line { + stroke: #f1f1f1; +} + +.bb-xgrid-focus line, .bb-ygrid-focus line { + stroke: #d2bad8; +} + +/*-- Text on Chart --*/ +.bb-text.bb-empty { + fill: #767676; +} + +/*-- Line --*/ +.bb-line { + stroke-width: 1px; +} + +/*-- Point --*/ +.bb-circle._expanded_ { + stroke-width: 2px; + stroke: red; +} + +rect.bb-circle._expanded_, use.bb-circle._expanded_ { + stroke-width: 1px; +} + +.bb-selected-circle { + fill: white; + stroke-width: 2px; +} + +/*-- Bar --*/ +.bb-bar { + stroke-width: 0; +} +.bb-bar._expanded_ { + fill-opacity: 0.75; +} + +/*-- Candlestick --*/ +.bb-candlestick { + stroke-width: 1px; +} +.bb-candlestick._expanded_ { + fill-opacity: 0.75; +} + +/*-- Focus --*/ +.bb-target.bb-focused, .bb-circles.bb-focused { + opacity: 1; +} +.bb-target.bb-focused path.bb-line, .bb-target.bb-focused path.bb-step, .bb-circles.bb-focused path.bb-line, .bb-circles.bb-focused path.bb-step { + stroke-width: 2px; +} +.bb-target.bb-defocused, .bb-circles.bb-defocused { + opacity: 0.3 !important; +} +.bb-target.bb-defocused .text-overlapping, .bb-circles.bb-defocused .text-overlapping { + opacity: 0.05 !important; +} + +/*-- Region --*/ +.bb-region { + fill: #71808d; +} +.bb-region rect { + fill-opacity: 0.1; +} +.bb-region.selected rect { + fill: rgb(39, 201, 3); +} + +/*-- Zoom region --*/ +.bb-zoom-brush { + fill-opacity: 0.1; + fill: #838181; +} + +/*-- Brush --*/ +.bb-brush .extent { + fill-opacity: 0.1; +} +.bb-brush .selection { + fill: #838181; + fill-opacity: 0.2; +} +.bb-brush path { + stroke: #838181; +} + +/*-- Select - Drag --*/ +/*-- Legend --*/ +.bb-legend-item { + user-select: none; +} +.bb-legend-item line.bb-legend-item-tile { + stroke-linecap: round; + transform: translate(7px, 1px); + stroke-dasharray: 1 20; +} + +.bb-legend-item-hidden { + opacity: 0.15; +} + +.bb-legend-background { + opacity: 0.75; + fill: white; + stroke: lightgray; + stroke-width: 1; +} + +/*-- Title --*/ +.bb-title { + font-size: 14px; +} + +/*-- Treemap --*/ +.bb-chart-treemaps rect { + stroke: #000; + stroke-width: 0.5px; +} + +/*-- Tooltip --*/ +.bb-tooltip-container { + z-index: 10; + font-family: -apple-system, "system-ui", "Noto Sans", "Malgun Gothic", "맑은 고딕", helvetica, "Apple SD Gothic Neo", sans-serif; + user-select: none; +} + +.bb-tooltip { + border-collapse: separate; + border-spacing: 0; + empty-cells: show; + border: 1px solid #999; + color: #fff; + border-radius: 5px; + background-color: #404244; + text-align: left; + font-size: 11px; + white-space: nowrap; + opacity: 0.9; +} +.bb-tooltip th { + font-size: 11px; + padding: 3px 6px 0 6px; + text-align: left; +} +.bb-tooltip td { + padding: 3px; +} +.bb-tooltip td:first-child { + padding-left: 7px; +} +.bb-tooltip td:last-child { + padding-right: 8px; +} +.bb-tooltip td > span, .bb-tooltip td > svg { + display: inline-block; + width: 7px; + height: 7px; + margin-right: 6px; + border-radius: 5px; + vertical-align: middle; +} +.bb-tooltip td.value { + border-left: 1px solid transparent; + text-align: right; +} +.bb-tooltip .bb-tooltip-title { + display: inline-block; + color: #aaa; + line-height: 20px; +} +.bb-tooltip .bb-tooltip-detail table { + border-collapse: collapse; + border-spacing: 0; +} +.bb-tooltip .bb-tooltip-detail .bb-tooltip-name, .bb-tooltip .bb-tooltip-detail .bb-tooltip-value { + font-size: 11px; + line-height: 13px; + padding: 4px 0 3px; + color: #444; + text-align: left; + font-weight: normal; +} +.bb-tooltip .bb-tooltip-detail .bb-tooltip-value { + padding-left: 5px; + font-weight: 800; + font-size: 12px; +} + +/*-- Area --*/ +.bb-area { + stroke-width: 0; + opacity: 0.2; +} + +/*-- Arc --*/ +.bb-chart-arcs-title { + dominant-baseline: middle; + font-size: 1.3em; +} + +text.bb-chart-arcs-gauge-title { + dominant-baseline: middle; + font-size: 2.7em; +} + +.bb-chart-arcs { + /*-- Polar --*/ +} +.bb-chart-arcs .bb-chart-arcs-background { + fill: #e0e0e0; + stroke: #ccc; +} +.bb-chart-arcs .bb-chart-arcs-gauge-unit { + fill: #000; + font-size: 16px; +} +.bb-chart-arcs .bb-chart-arcs-gauge-min, .bb-chart-arcs .bb-chart-arcs-gauge-max { + fill: #777; +} +.bb-chart-arcs .bb-chart-arcs-title { + font-size: 1.8em; + fill: #000; + font-weight: 600; +} +.bb-chart-arcs path.empty { + fill: #eaeaea; + stroke-width: 0; +} +.bb-chart-arcs .bb-levels circle { + fill: none; + stroke: #cecece; + stroke-width: 0.5px; +} +.bb-chart-arcs .bb-levels text { + fill: #848282; +} + +.bb-chart-arc .bb-gauge-value { + fill: #000; +} +.bb-chart-arc path { + stroke: #fff; +} +.bb-chart-arc rect { + stroke: #fff; + stroke-width: 1; +} +.bb-chart-arc text { + fill: #fff; + font-size: 11px; +} + +/*-- Radar --*/ +.bb-chart-radars .bb-levels polygon { + fill: none; + stroke: #cecece; + stroke-width: 0.5px; +} +.bb-chart-radars .bb-levels text { + fill: #848282; +} +.bb-chart-radars .bb-axis line { + stroke: #cecece; + stroke-width: 0.5px; +} +.bb-chart-radars .bb-axis text { + font-size: 1.15em; + cursor: default; +} +.bb-chart-radars .bb-shapes polygon { + fill-opacity: 0.2; + stroke-width: 1px; +} + +/*-- Button --*/ +.bb-button { + position: absolute; + top: 10px; + right: 10px; +} +.bb-button .bb-zoom-reset { + border: 1px solid #999; + background-color: #404244; + color: #fff; + opacity: 0.9; + padding: 5px; + border-radius: 5px; + cursor: pointer; +} diff --git a/release/3.14.2/dist/theme/modern.min.css b/release/3.14.2/dist/theme/modern.min.css new file mode 100644 index 000000000..f93c82745 --- /dev/null +++ b/release/3.14.2/dist/theme/modern.min.css @@ -0,0 +1,9 @@ +@charset "UTF-8";/*! + * Copyright (c) 2017 ~ present NAVER Corp. + * billboard.js project is licensed under the MIT license + * + * billboard.js, JavaScript chart library + * https://naver.github.io/billboard.js/ + * + * @version 3.14.2 + */.bb-color-pattern{background-image:url(#7ea9fa;#ffcd1e;#d33043;#41c464;#c86b74;#006bc2;#2a7e41;#f27c00;#c159ff;#bed017;)}.bb svg{font-size:12px;font-family:-apple-system,"system-ui",Noto Sans,Malgun Gothic,\b9d1\c740 \ace0\b515,helvetica,Apple SD Gothic Neo,sans-serif;line-height:1}.bb path,.bb line{fill:none;stroke:#cecece}.bb text,.bb .bb-button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:#555;font-size:10.5px}.bb-legend-item-title,.bb-xgrid-focus,.bb-ygrid-focus,.bb-ygrid{shape-rendering:crispEdges}.bb-chart-arcs .bb-needle{fill:#000}.bb-chart-funnels path{stroke-width:0}.bb-chart-funnels+.bb-chart-texts text{fill:#fff}.bb-axis{shape-rendering:crispEdges}.bb-axis .bb-axis-x-tooltip,.bb-axis .bb-axis-y-tooltip,.bb-axis .bb-axis-y2-tooltip{font-size:.9em;fill:#fff;white-space:nowrap}.bb-axis-y text,.bb-axis-y2 text{fill:#737373}.bb-event-rects{fill-opacity:1!important}.bb-event-rects .bb-event-rect{fill:transparent}.bb-event-rects .bb-event-rect._active_{fill:#27c9030d}.tick._active_ text{fill:#00c83c!important}.bb-grid{pointer-events:none}.bb-grid line{stroke:#f1f1f1}.bb-xgrid-focus line,.bb-ygrid-focus line{stroke:#d2bad8}.bb-text.bb-empty{fill:#767676}.bb-line{stroke-width:1px}.bb-circle._expanded_{stroke-width:2px;stroke:red}rect.bb-circle._expanded_,use.bb-circle._expanded_{stroke-width:1px}.bb-selected-circle{fill:#fff;stroke-width:2px}.bb-bar{stroke-width:0}.bb-bar._expanded_{fill-opacity:.75}.bb-candlestick{stroke-width:1px}.bb-candlestick._expanded_{fill-opacity:.75}.bb-target.bb-focused,.bb-circles.bb-focused{opacity:1}.bb-target.bb-focused path.bb-line,.bb-target.bb-focused path.bb-step,.bb-circles.bb-focused path.bb-line,.bb-circles.bb-focused path.bb-step{stroke-width:2px}.bb-target.bb-defocused,.bb-circles.bb-defocused{opacity:.3!important}.bb-target.bb-defocused .text-overlapping,.bb-circles.bb-defocused .text-overlapping{opacity:.05!important}.bb-region{fill:#71808d}.bb-region rect{fill-opacity:.1}.bb-region.selected rect{fill:#27c903}.bb-zoom-brush{fill-opacity:.1;fill:#838181}.bb-brush .extent{fill-opacity:.1}.bb-brush .selection{fill:#838181;fill-opacity:.2}.bb-brush path{stroke:#838181}.bb-legend-item{user-select:none}.bb-legend-item line.bb-legend-item-tile{stroke-linecap:round;transform:translate(7px,1px);stroke-dasharray:1 20}.bb-legend-item-hidden{opacity:.15}.bb-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.bb-title{font-size:14px}.bb-chart-treemaps rect{stroke:#000;stroke-width:.5px}.bb-tooltip-container{z-index:10;font-family:-apple-system,"system-ui",Noto Sans,Malgun Gothic,\b9d1\c740 \ace0\b515,helvetica,Apple SD Gothic Neo,sans-serif;user-select:none}.bb-tooltip{border-collapse:separate;border-spacing:0;empty-cells:show;border:1px solid #999;color:#fff;border-radius:5px;background-color:#404244;text-align:left;font-size:11px;white-space:nowrap;opacity:.9}.bb-tooltip th{font-size:11px;padding:3px 6px 0;text-align:left}.bb-tooltip td{padding:3px}.bb-tooltip td:first-child{padding-left:7px}.bb-tooltip td:last-child{padding-right:8px}.bb-tooltip td>span,.bb-tooltip td>svg{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:5px;vertical-align:middle}.bb-tooltip td.value{border-left:1px solid transparent;text-align:right}.bb-tooltip .bb-tooltip-title{display:inline-block;color:#aaa;line-height:20px}.bb-tooltip .bb-tooltip-detail table{border-collapse:collapse;border-spacing:0}.bb-tooltip .bb-tooltip-detail .bb-tooltip-name,.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{font-size:11px;line-height:13px;padding:4px 0 3px;color:#444;text-align:left;font-weight:400}.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{padding-left:5px;font-weight:800;font-size:12px}.bb-area{stroke-width:0;opacity:.2}.bb-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}text.bb-chart-arcs-gauge-title{dominant-baseline:middle;font-size:2.7em}.bb-chart-arcs .bb-chart-arcs-background{fill:#e0e0e0;stroke:#ccc}.bb-chart-arcs .bb-chart-arcs-gauge-unit{fill:#000;font-size:16px}.bb-chart-arcs .bb-chart-arcs-gauge-min,.bb-chart-arcs .bb-chart-arcs-gauge-max{fill:#777}.bb-chart-arcs .bb-chart-arcs-title{font-size:1.8em;fill:#000;font-weight:600}.bb-chart-arcs path.empty{fill:#eaeaea;stroke-width:0}.bb-chart-arcs .bb-levels circle{fill:none;stroke:#cecece;stroke-width:.5px}.bb-chart-arcs .bb-levels text{fill:#848282}.bb-chart-arc .bb-gauge-value{fill:#000}.bb-chart-arc path{stroke:#fff}.bb-chart-arc rect{stroke:#fff;stroke-width:1}.bb-chart-arc text{fill:#fff;font-size:11px}.bb-chart-radars .bb-levels polygon{fill:none;stroke:#cecece;stroke-width:.5px}.bb-chart-radars .bb-levels text{fill:#848282}.bb-chart-radars .bb-axis line{stroke:#cecece;stroke-width:.5px}.bb-chart-radars .bb-axis text{font-size:1.15em;cursor:default}.bb-chart-radars .bb-shapes polygon{fill-opacity:.2;stroke-width:1px}.bb-button{position:absolute;top:10px;right:10px}.bb-button .bb-zoom-reset{border:1px solid #999;background-color:#404244;color:#fff;opacity:.9;padding:5px;border-radius:5px;cursor:pointer} diff --git a/release/3.14.2/doc/Chart.html b/release/3.14.2/doc/Chart.html new file mode 100644 index 000000000..6516050d9 --- /dev/null +++ b/release/3.14.2/doc/Chart.html @@ -0,0 +1,11849 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + + <meta charset="utf-8"> + <title>Chart - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart

+ + + + + + + +
+ +
+ +

+ + Chart + +

+ + +
+ +
+ +
+ + + + + +

new Chart()

+ + + + + + +
+ +
Description:
+
  • Main chart class.

    +
      +
    • Note: Instantiated via bb.generate().
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + + + + + + + + + +
Example
+ +
var chart = bb.generate({
+ data: {
+   columns: [
+       ["x", "2015-11-02", "2015-12-01", "2016-01-01", "2016-02-01", "2016-03-01"],
+       ["count1", 11, 8, 7, 6, 5 ],
+       ["count2", 9, 3, 6, 2, 8 ]
+  ]}
+}
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +

Members

+ + + +

(static) $ :object

+ + + + + +
+ +
Description:
+
  • Access instance's primary node elements

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
$ + + +object + + + + +

Access instance's primary node elements

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
chart + + +d3.selection + + + + +

Wrapper element

svg + + +d3.selection + + + + +

Main svg element

defs + + +d3.selection + + + + +

Definition element

main + + +d3.selection + + + + +

Main grouping element

needle + + +d3.selection + + + + +

Needle element

+
    +
  • NOTE: +
      +
    • The element will have bb-needle as class name.
    • +
    • Will provide speical helper .updateHelper(value: number, updateConfig: boolean) method to facilitate needle position update.
    • +
    +
  • +
tooltip + + +d3.selection + + + + +

Tooltip element

legend + + +d3.selection + + + + +

Legend element

title + + +d3.selection + + + + +

Title element

grid + + +d3.selection + + + + +

Grid element

arc + + +d3.selection + + + + +

Arc element

circles + + +d3.selection + + + + +

Data point circle elements

bar + + +object + + + + +

Bar element object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
bars + + +d3.selection + + + + +

Bar elements

+ +
candlestick + + +d3.selection + + + + +

Candlestick elements

line + + +object + + + + +

Line element object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
lines + + +d3.selection + + + + +

Line elements

areas + + +d3.selection + + + + +

Areas elements

+ +
text + + +object + + + + +

Text element object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
texts + + +d3.selection + + + + +

Data label text elements

+ +
+ +
+ + + + + + +
+

Access instance's primary node elements

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Examples
+ +
const chart = bb.generate({ ... });
+
+chart.$.chart; // wrapper element
+chart.$.line.circles;  // all data point circle elements
+ +
// Update arc needle position
+const chart = bb.generate({
+  data: {
+    type: "donut"
+  },
+  arc: {
+    needle: {
+      show: true,
+      ...
+    }
+  }
+});
+
+chart.$.needle.updateHelper(70);  // update needle position to point value 70.
+
+// update needle position to point value 70 and the config value.
+// NOTE: updating config value, will update needle pointer initial value too.
+chart.$.needle.updateHelper(70, true);
+
+// update needle point position every 1 second
+let i = 0;
+setInterval(() => {
+  chart.$.needle.updateHelper(i += 10);
+}, 1000)
+ + + + + +

(static) plugins :Array

+ + + + + +
+ +
Description:
+
  • Plugin instance array

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+

Plugin instance array

+
+ + + +
Type:
+
    +
  • + +Array + + + +
  • +
+ + + + + +
Example
+ +
var chart = bb.generate({
+    ...
+    plugins: [
+       new bb.plugin.stanford({ ... }),
+       new PluginA()
+    ]
+ });
+
+ chart.plugins; // [Stanford, PluginA] - instance array
+ + + + + + + +

Methods

+ + + + + + +

axis․labels(labels) → {object|undefined}

+ + + + + + +
+ +
Description:
+
  • Get and set axis labels.

    +
      +
    • NOTE: Only applicable for chart types which has x and y axes.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Update axis' label
+chart.axis.labels({
+  x: "New X Axis Label",
+  y: "New Y Axis Label",
+  y2: "New Y2 Axis Label"
+});
+
+chart.axis.labels();
+// --> {
+//  x: "New X Axis Label",
+//  y: "New Y Axis Label",
+//  y2: "New Y2 Axis Label"
+// }
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
labels + + +object + + + + +

specified axis' label to be updated.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
x + + +string + + + + + + + <optional>
+ + + + + +

x Axis string

y + + +string + + + + + + + <optional>
+ + + + + +

y Axis string

y2 + + +string + + + + + + + <optional>
+ + + + + +

y2 Axis string

+ +
+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

axis labels text object

+
+ + + +
+
+ Type +
+
+ +object +| + +undefined + + + +
+
+ + + + + + + + + + +

axis․max(max) → {object|undefined}

+ + + + + + +
+ +
Description:
+
  • Get and set axis max value.

    +
      +
    • NOTE: Only applicable for chart types which has x and y axes.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Update axis' label
+chart.axis.max({
+   x: 100,
+   y: 1000,
+   y2: 10000
+});
+
+// To unset specific axis max, set false to each of them.
+chart.axis.max({
+  x: false,
+  y: false,
+  y2: false
+});
+
+// shorthand (only affects y and y2 axis)
+chart.axis.max(10);
+chart.axis.max(false);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
max + + +object + + + + +

If max is given, specified axis' max value will be updated.
+If no argument is given, the max values set on generating option for each axis will be returned. +If not set any max values on generation, it will return undefined.
+To unset specific axis max, set false to each of them.

+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +object +| + +undefined + + + +
+
+ + + + + + + + + + +

axis․min(min) → {object|undefined}

+ + + + + + +
+ +
Description:
+
  • Get and set axis min value.

    +
      +
    • NOTE: Only applicable for chart types which has x and y axes.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Update axis' min
+chart.axis.min({
+  x: -10,
+  y: 1000,
+  y2: 100
+});
+
+// To unset specific axis min, set false to each of them.
+chart.axis.min({
+  x: false,
+  y: false,
+  y2: false
+});
+
+// shorthand (only affects y and y2 axis)
+chart.axis.min(-50);
+chart.axis.min(false);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
min + + +object + + + + +

If min is given, specified axis' min value will be updated.
+If no argument is given, the min values set on generating option for each axis will be returned. +If not set any min values on generation, it will return undefined.
+To unset specific axis max, set false to each of them.

+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +object +| + +undefined + + + +
+
+ + + + + + + + + + +

axis․range(range) → {object|undefined}

+ + + + + + +
+ +
Description:
+
  • Get and set axis min and max value.

    +
      +
    • NOTE: Only applicable for chart types which has x and y axes.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Update axis' label
+chart.axis.range({
+  min: {
+    x: -10,
+    y: -1000,
+    y2: -10000
+  },
+  max: {
+    x: 100,
+    y: 1000,
+    y2: 10000
+  },
+});
+
+// To unset specific axis max, set false to each of them.
+chart.axis.range({
+  min: {
+    x: false,
+    y: false,
+    y2: false
+  },
+  max: {
+    x: false,
+    y: false,
+    y2: false
+  },
+});
+
+// shorthand (only affects y and y2 axis)
+chart.axis.range({ min: -50, max: 1000 });
+chart.axis.range({ min: false, max: false });
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
range + + +object + + + + +

If range is given, specified axis' min and max value will be updated. +If no argument is given, the current min and max values for each axis will be returned.
+To unset specific axis max, set false to each of them.

+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +object +| + +undefined + + + +
+
+ + + + + + + + + + +

categories(categories) → {Array}

+ + + + + + +
+ +
Description:
+
  • Set or get category names on category axis.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
chart.categories([
+     "Category 1", "Category 2", ...
+]);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
categories + + +Array + + + + +

This must be an array that includes category names in string. If category names are included in the date by data.x option, this is not required.

+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +Array + + + +
+
+ + + + + + + + + + +

category(i, category) → {string}

+ + + + + + +
+ +
Description:
+
  • Set specified category name on category axis.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
chart.category(2, "Category 3");
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
i + + +number + + + + +

index of category to be changed

category + + +string + + + + +

category value to be changed

+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +string + + + +
+
+ + + + + + + + + + +

color(id) → {string}

+ + + + + + +
+ +
Description:
+
  • Get the color

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
chart.color("data1");
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
id + + +string + + + + +

id to get the color

+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +string + + + +
+
+ + + + + + + + + + +

config(name, valueopt, redrawopt) → {*}

+ + + + + + +
+ +
Description:
+
  • Get or set config option value.

    +
      +
    • NOTE
    • +
    • The option key name must be specified as the last level.
    • +
    • when no argument is given, will return all specified generation options object only. (will exclude any other options not specified at the initialization)
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Getter
+chart.config("gauge.max");
+
+// Getter specified with top level key name will not work.
+// The option key name must be specified as the last level.
+// chart.config("gauge"); // will not work
+
+// without any arguments, it returns generation config object
+chart.config();  // {data: { ... }, axis: { ... }, ...}
+
+// Setter
+chart.config("gauge.max", 100);
+
+// Setter specified with top level key name will not work.
+// The option key name must be specified as the last level.
+// chart.config("gauge", {min: 10, max: 20}); // will not work
+
+// Setter & redraw with the new option
+chart.config("gauge.max", 100, true);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
name + + +string + + + + + + + + + + +

The option key name.

value + + +* + + + + + + + <optional>
+ + + + + +

The value accepted for indicated option.

redraw + + +boolean + + + + + + + <optional>
+ + + + + +

Set to redraw with the new option changes.

+
    +
  • NOTE: Doesn't guarantee work in all circumstances. It can be applied for limited options only.
  • +
+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +* + + + +
+
+ + + + + + + + + + +

data(targetIds) → {Array}

+ + + + + + +
+ +
Description:
+
  • Get data loaded in the chart.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Get only data1 data
+chart.data("data1");
+// --> [{id: "data1", id_org: "data1", values: Array(6)}, ...]
+
+// Get data1 and data2 data
+chart.data(["data1", "data2"]);
+
+// Get all data
+chart.data();
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
targetIds + + +string +| + +Array + + + + +

If this argument is given, this API returns the specified target data. If this argument is not given, all of data will be returned.

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

Data objects

+
+ + + +
+
+ Type +
+
+ +Array + + + +
+
+ + + + + + + + + + +

data․axes(axes) → {object}

+ + + + + + +
+ +
Description:
+
  • Get and set axes of the data loaded in the chart.

    +
      +
    • NOTE: If all data is related to one of the axes, the domain of axis without related data will be replaced by the domain from the axis with related data
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Get current axes
+chart.data.axes();
+// --> {data1: "y"}
+
+// Update axes
+chart.data.axes({
+ data1: "y",
+ data2: "y2"
+});
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
axes + + +object + + + + +

If this argument is given, the axes of data will be updated. If not given, the current axes will be returned. The format of this argument is the same as

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

Corresponding axes value for data, if specified axes value.

+
+ + + +
+
+ Type +
+
+ +object + + + +
+
+ + + + + + + + + + +

data․colors(colors) → {object}

+ + + + + + +
+ +
Description:
+
  • Get and set colors of the data loaded in the chart.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Get current colors
+chart.data.colors();
+// --> {data1: "#00c73c", data2: "#fa7171"}
+
+// Update colors
+chart.data.colors({
+ data1: "#FFFFFF",
+ data2: "#000000"
+});
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
colors + + +object + + + + +

If this argument is given, the colors of data will be updated. If not given, the current colors will be returned. The format of this argument is the same as data.colors.

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

Corresponding data color value according its key value.

+
+ + + +
+
+ Type +
+
+ +object + + + +
+
+ + + + + + + + + + +

data․max() → {Array}

+ + + + + + +
+ +
Description:
+
  • Get the maximum data value bound to the chart

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Get current axes
+chart.data.max();
+// --> [{x: 3, value: 400, id: "data1", index: 3}, ...]
+ + + + + + + + + + + + + + + + + + +
Returns:
+ + +
+

Data objects

+
+ + + +
+
+ Type +
+
+ +Array + + + +
+
+ + + + + + + + + + +

data․min() → {Array}

+ + + + + + +
+ +
Description:
+
  • Get the minimum data value bound to the chart

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Get current axes
+chart.data.min();
+// --> [{x: 0, value: 30, id: "data1", index: 0}, ...]
+ + + + + + + + + + + + + + + + + + +
Returns:
+ + +
+

Data objects

+
+ + + +
+
+ Type +
+
+ +Array + + + +
+
+ + + + + + + + + + +

data․names(names) → {object}

+ + + + + + +
+ +
Description:
+
  • Get and set names of the data loaded in the chart.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Get current names
+chart.data.names();
+// --> {data1: "test1", data2: "test2"}
+
+// Update names
+chart.data.names({
+ data1: "New Name 1",
+ data2: "New Name 2"
+});
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
names + + +object + + + + +

If this argument is given, the names of data will be updated. If not given, the current names will be returned. The format of this argument is the same as data.names.

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

Corresponding names according its key value, if specified names values.

+
+ + + +
+
+ Type +
+
+ +object + + + +
+
+ + + + + + + + + + +

data․shown(targetIds) → {Array}

+ + + + + + +
+ +
Description:
+
  • Get data shown in the chart.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Get shown data by filtering to include only data1 data
+chart.data.shown("data1");
+// --> [{id: "data1", id_org: "data1", values: Array(6)}, ...]
+
+// Get shown data by filtering to include data1 and data2 data
+chart.data.shown(["data1", "data2"]);
+
+// Get all shown data
+chart.data.shown();
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
targetIds + + +string +| + +Array + + + + +

If this argument is given, this API filters the data with specified target ids. If this argument is not given, all shown data will be returned.

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

Data objects

+
+ + + +
+
+ Type +
+
+ +Array + + + +
+
+ + + + + + + + + + +

data․values(targetIds, flatopt) → {Array}

+ + + + + + +
+ +
Description:
+
  • Get values of the data loaded in the chart.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Get data1 values
+chart.data.values("data1");
+// --> [10, 20, 30, 40]
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
targetIds + + +string +| + +Array +| + +null + + + + + + + + + + + + +

This API returns the values of specified target. If this argument is not given, null will be retruned

flat + + +boolean + + + + + + + <optional>
+ + + + + +
+ + true + +

Get flatten values

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

Data values

+
+ + + +
+
+ Type +
+
+ +Array + + + +
+
+ + + + + + + + + + +

defocus(targetIdsValue)

+ + + + + + +
+ +
Description:
+
  • This API fades out specified targets and reverts the others.

    +You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be faded out.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// data1 will be faded out and the others will be reverted.
+chart.defocus("data1");
+
+// data1 and data2 will be faded out and the others will be reverted.
+chart.defocus(["data1", "data2"]);
+
+// all targets will be faded out.
+chart.defocus();
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
targetIdsValue + + +string +| + +Array + + + + +

Target ids to be faded out.

+ + + + + + + + + + + + + + + + + + + + + + + + +

destroy() → {null}

+ + + + + + +
+ +
Description:
+
  • Reset the chart object and remove element and events completely.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
chart.destroy();
+ + + + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +null + + + +
+
+ + + + + + + + + + +

export(option, callbackopt) → {string}

+ + + + + + +
+ +
Description:
+
  • Export chart as an image.

    +
      +
    • NOTE: +
        +
      • IE11 and below not work properly due to the lack of the feature(foreignObject) support
      • +
      • Every style applied to the chart & the basic CSS file(ex. billboard.css) should be at same domain as API call context to get correct styled export image.
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
chart.export();
+ // --> "data:image/svg+xml;base64,PHN..."
+
+ // Initialize the download automatically
+ chart.export({mimeType: "image/png"}, dataUrl => {
+    const link = document.createElement("a");
+
+    link.download = `${Date.now()}.png`;
+    link.href = dataUrl;
+    link.innerHTML = "Download chart as image";
+
+    document.body.appendChild(link);
+ });
+
+ // Resize the exported image
+ chart.export(
+   {
+     width: 800,
+     height: 600,
+     preserveAspectRatio: false,
+     preserveFontStyle: false,
+     mimeType: "image/png"
+   },
+   dataUrl => { ... }
+ );
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
option + + +object + + + + + + + + + + +

Export option

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
mimeType + + +string + + + + + + + <optional>
+ + + + + +
+ + "image/png" + +

The desired output image format. (ex. 'image/png' for png, 'image/jpeg' for jpeg format)

width + + +number + + + + + + + <optional>
+ + + + + +
+ + {currentWidth} + +

width

height + + +number + + + + + + + <optional>
+ + + + + +
+ + {currentHeigth} + +

height

preserveAspectRatio + + +boolean + + + + + + + <optional>
+ + + + + +
+ + true + +

Preserve aspect ratio on given size

preserveFontStyle + + +boolean + + + + + + + <optional>
+ + + + + +
+ + false + +

Preserve font style(font-family).
+NOTE:

+
    +
  • This option is useful when outlink web font style's font-family are applied to chart's text element.
  • +
  • Text element's position(especially "transformed") can't be preserved correctly according the page's layout condition.
  • +
  • If need to preserve accurate text position, embed the web font data within to the page and set preserveFontStyle=false. + +
  • +
+ +
callback + + +function + + + + + + + <optional>
+ + + + + +

The callback to be invoked when export is ready.

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

dataURI

+
+ + + +
+
+ Type +
+
+ +string + + + +
+
+ + + + + + + + + + +

flow(args)

+ + + + + + +
+ +
Description:
+
  • Flow data to the chart.

    +By this API, you can append new data points to the chart.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// 2 data points will be apprended to the tail and popped from the head.
+// After that, 4 data points will be appended and no data points will be poppoed.
+chart.flow({
+ columns: [
+   ["x", "2018-01-11", "2018-01-21"],
+   ["data1", 500, 200],
+   ["data2", 100, 300],
+   ["data3", 200, 120]
+ ],
+ to: "2013-01-11",
+ done: function () {
+   chart.flow({
+     columns: [
+       ["x", "2018-02-11", "2018-02-12", "2018-02-13", "2018-02-14"],
+       ["data1", 200, 300, 100, 250],
+       ["data2", 100, 90, 40, 120],
+       ["data3", 100, 100, 300, 500]
+     ],
+     length: 2,
+     duration: 1500
+   });
+ }
+});
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
args + + +object + + + + +

The object can consist with following members:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDescription
jsonObjectData as JSON format (@see data․json)
rowsArrayData in array as row format (@see data․rows)
columnsArrayData in array as column format (@see data․columns)
toStringThe lower x edge will move to that point. If not given, the lower x edge will move by the number of given data points
lengthNumberThe lower x edge will move by the number of this argument
durationNumberThe duration of the transition will be specified value. If not given, transition.duration will be used as default
doneFunctionThe specified function will be called when flow ends
+
    +
  • NOTE: +
      +
    • If json, rows and columns given, the data will be loaded.
    • +
    • If data that has the same target id is given, the chart will be appended.
    • +
    • Otherwise, new target will be added. One of these is required when calling.
    • +
    • If json specified, keys is required as well as data.json. +
        +
      • If tab isn't visible(by evaluating document.hidden), will not be executed to prevent unnecessary work.
      • +
      +
    • +
    +
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + +

flush(softopt)

+ + + + + + +
+ +
Description:
+
  • Force to redraw.

    +
      +
    • NOTE: When zoom/subchart is used, the zoomed state will be resetted.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
chart.flush();
+
+// for soft redraw
+chart.flush(true);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
soft + + +boolean + + + + + + + <optional>
+ + + + + +

For soft redraw.

+ + + + + + + + + + + + + + + + + + + + + + + + +

focus(targetIdsValue)

+ + + + + + +
+ +
Description:
+
  • This API highlights specified targets and fade out the others.

    +You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be highlighted.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// data1 will be highlighted and the others will be faded out
+ chart.focus("data1");
+
+// data1 and data2 will be highlighted and the others will be faded out
+chart.focus(["data1", "data2"]);
+
+// all targets will be highlighted
+chart.focus();
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
targetIdsValue + + +string +| + +Array + + + + +

Target ids to be highlighted.

+ + + + + + + + + + + + + + + + + + + + + + + + +

groups(groups) → {Array}

+ + + + + + +
+ +
Description:
+
  • Update groups for the targets.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// data1 and data2 will be a new group.
+ chart.groups([
+    ["data1", "data2"]
+ ]);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
groups + + +Array + + + + +

This argument needs to be an Array that includes one or more Array that includes target ids to be grouped.

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

Grouped data names array

+
+ + + +
+
+ Type +
+
+ +Array + + + +
+
+ + + + + + + + + + +

hide(targetIdsValueopt, optionsopt)

+ + + + + + +
+ +
Description:
+
  • Hide data series from chart

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// hide 'data1'
+chart.hide("data1");
+
+// hide 'data1' and 'data3'
+chart.hide(["data1", "data3"]);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
targetIdsValue + + +string +| + +Array + + + + + + + <optional>
+ + + + + +

The target id value.

options + + +object + + + + + + + <optional>
+ + + + + +

The object can consist with following members:

+ + + + + + + + + + + + + + + + + +
KeyTypedefaultDescription
withLegendbooleanfalsewhether or not display legend
+ + + + + + + + + + + + + + + + + + + + + + + + +

legend․hide(targetIds)

+ + + + + + +
+ +
Description:
+
  • Hide legend for each target.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Hide legend for data1.
+chart.legend.hide("data1");
+
+// Hide legend for data1 and data2.
+chart.legend.hide(["data1", "data2"]);
+
+// Hide all legend.
+chart.legend.hide();
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
targetIds + + +string +| + +Array + + + + +
    +
  • If targetIds is given, specified target's legend will be hidden.
  • +
  • If only one target is the candidate, String can be passed.
  • +
  • If no argument is given, all of target's legend will be hidden.
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + +

legend․show(targetIds)

+ + + + + + +
+ +
Description:
+
  • Show legend for each target.

    +
      +
    • NOTE: Legend APIs aren't supported for treemap type.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Show legend for data1.
+chart.legend.show("data1");
+
+// Show legend for data1 and data2.
+chart.legend.show(["data1", "data2"]);
+
+// Show all legend.
+chart.legend.show();
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
targetIds + + +string +| + +Array + + + + +
    +
  • If targetIds is given, specified target's legend will be shown.
  • +
  • If only one target is the candidate, String can be passed.
  • +
  • If no argument is given, all of target's legend will be shown.
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + +

load(args)

+ + + + + + +
+ +
Description:
+
  • Load data to the chart.

    +You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be toggles.

    +
      +
    • Note: +
        +
      • unload should be used if some data needs to be unloaded simultaneously. +If you call unload API soon after/before load instead of unload param, chart will not be rendered properly because of cancel of animation.
      • +
      • done will be called after data loaded, but it's not after rendering. +It's because rendering will finish after some transition and there is some time lag between loading and rendering
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + + + + + + + + + +
Examples
+ +
// Load data1 and unload data2 and data3
+chart.load({
+    columns: [
+       ["data1", 100, 200, 150, ...],
+       ...
+   ],
+   unload: ["data2", "data3"],
+   url: "...",
+   done: function() { ... }
+   resizeAfter: true  // will resize after load
+});
+ +
const chart = bb.generate({
+  data: {
+    columns: [
+      ["data1", 20, 30, 40]
+    ]
+  }
+});
+
+chart.load({
+   columns: [
+       // with 'append' option, the 'data1' will have `[20,30,40,50,60]`.
+       ["data1", 50, 60]
+   ],
+   append: true
+});
+ +
const chart = bb.generate({
+  data: {
+    x: "x",
+    xFormat: "%Y-%m-%dT%H:%M:%S",
+    columns: [
+      ["x", "2021-01-03T03:00:00", "2021-01-04T12:00:00", "2021-01-05T21:00:00"],
+      ["data1", 36, 30, 24]
+    ]
+  },
+  axis: {
+    x: {
+      type: "timeseries"
+    }
+  }
+};
+
+chart.load({
+  columns: [
+    // when existing chart has `x` value, should provide correponding 'x' value.
+    // with 'append' option, the 'data1' will have `[36,30,24,37]`.
+    ["x", "2021-02-01T08:00:00"],
+    ["data1", 37]
+  ],
+  append: true
+});
+ +
// myAPI.json
+// {
+//   "data1": [220, 240, 270, 250, 280],
+//   "data2": [180, 150, 300, 70, 120]
+// }
+
+chart.load({
+    url: './data/myAPI.json',
+    mimeType: "json",
+
+    // set request header if is needed
+    headers: {
+      "Content-Type": "text/json"
+    }
+});
+ +
chart.load({
+    data: [
+      // equivalent as: columns: [["data1", 30, 200, 100]]
+      {"data1": 30}, {"data1": 200}, {"data1": 100}
+
+      // or
+      // equivalent as: columns: [["data1", 10, 20], ["data2", 13, 30]]
+      // {"data1": 10, "data2": 13}, {"data1": 20, "data2": 30}}
+    ]
+});
+ +
chart.load({
+    json: [
+         {name: "www.site1.com", upload: 800, download: 500, total: 400},
+    ],
+    keys: {
+        x: "name",
+        value: ["upload", "download"]
+    }
+});
+ +
chart.load({
+  json: {
+      data1:[30, 20, 50, 40, 60, 50],
+      data2:[200, 130, 90, 240, 130, 220],
+  }
+});
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
args + + +object + + + + +

The object can consist with following members:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDescription
columnsArrayThe columns data will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added
jsonArrayThe json data will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added
rowsArrayThe rows data will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added
urlstringThe data from url will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added
 
appendbooleanLoad data appending it to the current dataseries.
If the existing chart hasx value, should provide with corresponding x value for newly loaded data.
axesObjectThe axes specified by data.axes will be updated. axes must be Object that has target id as keys.
categoriesArrayThe categories specified by axis.x.categories or data.x will be updated. categories must be Array.
classesObjectThe classes specified by data.classes will be updated. classes must be Object that has target id as keys.
colorsObjectThe colors specified by data.colors will be updated. colors must be Object that has target id as keys.
dataObejctData objects to be loaded. Checkout the example.
doneFunctionThe specified function will be called after data loaded.
headersstringSet request header if loading via data.url.
@see data․headers
keysObjectChoose which JSON objects keys correspond to desired data.
NOTE: Only for JSON object given as array.
@see data․keys
mimeTypestringSet 'json' if loading JSON via url.
@see data․mimeType
namesObjectSame as data.names()
resizeAfterbooleanResize after the load. Default value is false.
- This option won't call onresize neither onresized.
- When set to 'true', will call .flush(true) at the end of load.
typestringThe type of targets will be updated.
typesObjectThe types of targets will be updated.
unloadArraySpecify the data will be unloaded before loading new data. If true given, all of data will be unloaded. If target ids given as String or Array, specified targets will be unloaded. If absent or false given, unload will not occur.
xsstringSame as data.xs option
+ + + + + + + + + + + + + + + + + + + + + + + + +

regions(regions) → {Array}

+ + + + + + +
+ +
Description:
+
  • Update regions.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Show 2 regions
+chart.regions([
+   {axis: "x", start: 5, class: "regionX"},
+   {
+     axis: "y", end: 50, class: "regionY",
+     label: {
+     	text: "Region Text",
+     	x: 5,  // position relative of the initial x coordinate
+     	y: 5,  // position relative of the initial y coordinate
+     	color: "red",  // color string
+     	rotated: true  // make text to show in vertical or horizontal
+     }
+   }
+]);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
regions + + +Array + + + + +

Regions will be replaced with this argument. The format of this argument is the same as regions.

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

regions

+
+ + + +
+
+ Type +
+
+ +Array + + + +
+
+ + + + + + + + + + +

regions․add(regions) → {Array}

+ + + + + + +
+ +
Description:
+
  • Add new region.

    +This API adds new region instead of replacing like regions.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Add a new region
+chart.regions.add(
+   {
+     axis: "x", start: 5, class: "regionX",
+     label: {
+     	text: "Region Text",
+     	color: "red"  // color string
+     }
+   }
+);
+
+// Add new regions
+chart.regions.add([
+   {axis: "x", start: 5, class: "regionX"},
+   {
+     axis: "y", end: 50, class: "regionY",
+     label: {
+     	text: "Region Text",
+     	x: 5,  // position relative of the initial x coordinate
+     	y: 5,  // position relative of the initial y coordinate
+     	color: "red",  // color string
+     	rotated: true  // make text to show in vertical or horizontal
+     }
+   }
+]);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
regions + + +Array +| + +object + + + + +

New region will be added. The format of this argument is the same as regions and it's possible to give an Object if only one region will be added.

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

regions

+
+ + + +
+
+ Type +
+
+ +Array + + + +
+
+ + + + + + + + + + +

regions․remove(optionsValue) → {Array}

+ + + + + + +
+ +
Description:
+
  • Remove regions.

    +This API removes regions.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// regions that have 'region-A' or 'region-B' will be removed.
+chart.regions.remove({
+  classes: [
+    "region-A", "region-B"
+  ]
+});
+
+// all of regions will be removed.
+chart.regions.remove();
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
optionsValue + + +object + + + + +

This argument should include classes. If classes is given, the regions that have one of the specified classes will be removed. If args is not given, all of regions will be removed.

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

regions Removed regions

+
+ + + +
+
+ Type +
+
+ +Array + + + +
+
+ + + + + + + + + + +

resize(size)

+ + + + + + +
+ +
Description:
+
  • Resize the chart.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Resize to 640x480
+chart.resize({
+   width: 640,
+   height: 480
+});
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
size + + +object + + + + +

This argument should include width and height in pixels.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
width + + +number + + + + + + + <optional>
+ + + + + +

width value

height + + +number + + + + + + + <optional>
+ + + + + +

height value

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +

revert(targetIdsValue)

+ + + + + + +
+ +
Description:
+
  • Revert focused or defocused state to initial state.

    +You can specify multiple targets by giving an array that includes id as string. If no argument is given, all of targets will be reverted.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// 'data1' will be reverted.
+chart.revert("data1");
+
+// 'data1' and 'data2' will be reverted.
+chart.revert(["data1", "data2"]);
+
+// all targets will be reverted.
+chart.revert();
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
targetIdsValue + + +string +| + +Array + + + + +

Target ids to be reverted

+ + + + + + + + + + + + + + + + + + + + + + + + +

select(idsopt, indicesopt, resetOtheropt)

+ + + + + + +
+ +
Description:
+
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// select all data points
+ chart.select();
+
+ // select all from 'data2'
+ chart.select("data2");
+
+ // select all from 'data1' and 'data2'
+ chart.select(["data1", "data2"]);
+
+ // select from 'data1', indices 2 and unselect others selected
+ chart.select("data1", [2], true);
+
+ // select from 'data1', indices 0, 3 and 5
+ chart.select("data1", [0, 3, 5]);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
ids + + +string +| + +Array + + + + + + + <optional>
+ + + + + +

id value to get selected.

indices + + +Array + + + + + + + <optional>
+ + + + + +

The index array of data points. If falsy value given, will select all data points.

resetOther + + +boolean + + + + + + + <optional>
+ + + + + +

Unselect already selected.

+ + + + + + + + + + + + + + + + + + + + + + + + +

selected(targetIdopt) → {Array}

+ + + + + + +
+ +
Description:
+
  • Get selected data points.

    +By this API, you can get selected data points information. To use this API, data.selection.enabled needs to be set true.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// all selected data points will be returned.
+ chart.selected();
+ // --> ex.) [{x: 1, value: 200, id: "data1", index: 1, name: "data1"}, ... ]
+
+ // all selected data points of data1 will be returned.
+ chart.selected("data1");
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
targetId + + +string + + + + + + + <optional>
+ + + + + +

You can filter the result by giving target id that you want to get. If not given, all of data points will be returned.

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

dataPoint Array of the data points.
ex.) [{x: 1, value: 200, id: "data1", index: 1, name: "data1"}, ...]

+
+ + + +
+
+ Type +
+
+ +Array + + + +
+
+ + + + + + + + + + +

show(targetIdsValueopt, optionsopt)

+ + + + + + +
+ +
Description:
+
  • Show data series on chart

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// show 'data1'
+chart.show("data1");
+
+// show 'data1' and 'data3'
+chart.show(["data1", "data3"]);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
targetIdsValue + + +string +| + +Array + + + + + + + <optional>
+ + + + + +

The target id value.

options + + +object + + + + + + + <optional>
+ + + + + +

The object can consist with following members:

+ + + + + + + + + + + + + + + + + +
KeyTypedefaultDescription
withLegendbooleanfalsewhether or not display legend
+ + + + + + + + + + + + + + + + + + + + + + + + +

subchart(domainValue) → {Array}

+ + + + + + +
+ +
Description:
+
  • Select subchart by giving x domain range.

    +
      +
    • ℹ️ NOTE:
    • +
    • Due to the limitations of floating point precision, domain value may not be exact returning approximately values.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Specify domain for subchart selection
+ chart.subchart([1, 2]);
+
+ // Get the current subchart selection domain range
+ // Domain value may not be exact returning approximately values.
+ chart.subchart();
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
domainValue + + +Array + + + + +

If domain range is given, the subchart will be seleted to the given domain. If no argument is given, the current subchart selection domain will be returned.

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

domain value in array

+
+ + + +
+
+ Type +
+
+ +Array + + + +
+
+ + + + + + + + + + +

subchart․hide()

+ + + + + + +
+ +
Description:
+
  • Hide generated subchart

    +
      +
    • NOTE: for ESM imports, needs to import 'subchart' exports and instantiate it by calling subchart().
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
chart.subchart.hide();
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

subchart․reset()

+ + + + + + +
+ +
Description:
+
  • Reset subchart selection

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Reset subchart selection
+chart.subchart.reset();
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

subchart․show()

+ + + + + + +
+ +
Description:
+
  • Show subchart

    +
      +
    • NOTE: for ESM imports, needs to import 'subchart' exports and instantiate it by calling subchart().
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// for ESM imports, needs to import 'subchart' and must be instantiated first to enable subchart's API.
+import {subchart} from "billboard.js";
+
+const chart = bb.generate({
+  ...
+  subchart: {
+     // need to be instantiated by calling 'subchart()'
+     enabled: subchart()
+
+     // in case don't want subchart to be shown at initialization, instantiate with '!subchart()'
+     enabled: !subchart()
+  }
+});
+
+chart.subchart.show();
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

subchart․toggle()

+ + + + + + +
+ +
Description:
+
  • Toggle the visiblity of subchart

    +
      +
    • NOTE: for ESM imports, needs to import 'subchart' exports and instantiate it by calling subchart().
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// When subchart is hidden, will be shown
+// When subchart is shown, will be hidden
+chart.subchart.toggle();
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

toggle(targetIdsopt, optionsopt)

+ + + + + + +
+ +
Description:
+
  • Toggle data series on chart. When target data is hidden, it will show. If is shown, it will hide in vice versa.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// toggle 'data1'
+chart.toggle("data1");
+
+// toggle 'data1' and 'data3'
+chart.toggle(["data1", "data3"]);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
targetIds + + +string +| + +Array + + + + + + + <optional>
+ + + + + +

The target id value.

options + + +object + + + + + + + <optional>
+ + + + + +

The object can consist with following members:

+ + + + + + + + + + + + + + + + + +
KeyTypedefaultDescription
withLegendbooleanfalsewhether or not display legend
+ + + + + + + + + + + + + + + + + + + + + + + + +

tooltip․hide()

+ + + + + + +
+ +
Description:
+
  • Hide tooltip

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

tooltip․show(args)

+ + + + + + +
+ +
Description:
+
  • Show tooltip

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// show the 2nd x Axis coordinate tooltip
+ // for Arc(gauge, donut & pie) and radar type, approch showing tooltip by using "index" number.
+ chart.tooltip.show({
+   index: 1
+ });
+
+ // show tooltip for the 3rd x Axis in x:50 and y:100 coordinate of '.bb-event-rect' of the x Axis.
+ chart.tooltip.show({
+   x: 2,
+   mouse: [50, 100]
+ });
+
+ // show tooltip for timeseries x axis
+ chart.tooltip.show({
+   x: new Date("2018-01-02 00:00")
+ });
+
+ // treemap type can be shown by using "id" only.
+ chart.tooltip.show({
+   data: {
+       id: "data1"  // data id
+   }
+ });
+
+ // for Arc types, specify 'id' or 'index'
+ chart.tooltip.show({ data: { id: "data2" }});
+ chart.tooltip.show({ data: { index: 2 }});
+
+ // when data.xs is used
+ chart.tooltip.show({
+   data: {
+       x: 3,  // x Axis value
+       id: "data1",  // data id
+       value: 500  // data value
+   }
+ });
+
+ // when data.xs isn't used, but tooltip.grouped=false is set
+ chart.tooltip.show({
+   data: {
+       index: 3,  // or 'x' key value
+       id: "data1",  // data id
+       value: 500  // data value
+   }
+ });
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
args + + +object + + + + +

The object can consist with following members:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDescription
indexNumberDetermine focus by index
xNumber | DateDetermine focus by x Axis index
mouseArrayDetermine x and y coordinate value relative the targeted '.bb-event-rect' x Axis.
It should be used along with data, index or x value. The default value is set as [0,0]
dataObjectWhen data.xs option is used or tooltip.grouped set to 'false', should be used giving this param.

Key:
- x {number | Date}: x Axis value
- index {number}: x Axis index (useless for data.xs)
- id {string}: data id
- value {number}: The corresponding value for tooltip.
+ + + + + + + + + + + + + + + + + + + + + + + + +

unload(argsValue)

+ + + + + + +
+ +
Description:
+
  • Unload data to the chart.

    +You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be toggles.

    +
      +
    • Note: +If you call load API soon after/before unload, unload param of load should be used. Otherwise chart will not be rendered properly because of cancel of animation.
      +done will be called after data loaded, but it's not after rendering. It's because rendering will finish after some transition and there is some time lag between loading and rendering.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Unload data2 and data3
+ chart.unload({
+   ids: ["data2", "data3"],
+   done: function() {
+      // called after the unloaded
+   },
+   resizeAfter: true  // will resize after unload
+ });
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
argsValue + + +object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
keyTypeDescription
idsString | ArrayTarget id data to be unloaded. If not given, all data will be unloaded.
doneFuctionCallback after data is unloaded.
resizeAfterbooleanResize after the unload. Default value is false.
- This option won't call onresize neither onresized.
- When set to 'true', will call .flush(true) at the end of unload.
+ + + + + + + + + + + + + + + + + + + + + + + + +

unselect(idsopt, indicesopt)

+ + + + + + +
+ +
Description:
+
  • Set data points to be un-selected.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// unselect all data points
+ chart.unselect();
+
+ // unselect all from 'data1'
+ chart.unselect("data1");
+
+ // unselect from 'data1', indices 2
+ chart.unselect("data1", [2]);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
ids + + +string +| + +Array + + + + + + + <optional>
+ + + + + +

id value to be unselected.

indices + + +Array + + + + + + + <optional>
+ + + + + +

The index array of data points. If falsy value given, will select all data points.

+ + + + + + + + + + + + + + + + + + + + + + + + +

unzoom()

+ + + + + + +
+ +
Description:
+
  • Unzoom zoomed area

    +
      +
    • NOTE: Calling .unzoom() will not trigger zoom events.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
chart.unzoom();
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

x(x) → {object}

+ + + + + + +
+ +
Description:
+
  • Get and set x values for the chart.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Get current x values
+ chart.x();
+
+ // Update x values for all targets
+ chart.x([100, 200, 300, 400, ...]);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
x + + +Array + + + + +

If x is given, x values of every target will be updated. If no argument is given, current x values will be returned as an Object whose keys are the target ids.

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

xs

+
+ + + +
+
+ Type +
+
+ +object + + + +
+
+ + + + + + + + + + +

xgrids(grids) → {Array}

+ + + + + + +
+ +
Description:
+
  • Update x grid lines.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Show 2 x grid lines
+chart.xgrids([
+   {value: 1, text: "Label 1"},
+   {value: 4, text: "Label 4"}
+]);
+// --> Returns: [{value: 1, text: "Label 1"}, {value: 4, text: "Label 4"}]
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
grids + + +Array + + + + +

X grid lines will be replaced with this argument. The format of this argument is the same as grid.x.lines.

+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +Array + + + +
+
+ + + + + + + + + + +

xgrids․add(grids) → {Array}

+ + + + + + +
+ +
Description:
+
  • Add x grid lines.
    +This API adds new x grid lines instead of replacing like xgrids.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Add a new x grid line
+chart.xgrids.add(
+  {value: 4, text: "Label 4"}
+);
+
+// Add new x grid lines
+chart.xgrids.add([
+  {value: 2, text: "Label 2"},
+  {value: 4, text: "Label 4"}
+]);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
grids + + +Array +| + +object + + + + +

New x grid lines will be added. The format of this argument is the same as grid.x.lines and it's possible to give an Object if only one line will be added.

+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +Array + + + +
+
+ + + + + + + + + + +

xgrids․remove(grids) → {void}

+ + + + + + +
+ +
Description:
+
  • Remove x grid lines.
    +This API removes x grid lines.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// x grid line on x = 2 will be removed
+chart.xgrids.remove({value: 2});
+
+// x grid lines that have 'grid-A' will be removed
+chart.xgrids.remove({
+  class: "grid-A"
+});
+
+// all of x grid lines will be removed
+chart.xgrids.remove();
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
grids + + +object + + + + +

This argument should include value or class. If value is given, the x grid lines that have specified x value will be removed. If class is given, the x grid lines that have specified class will be removed. If args is not given, all of x grid lines will be removed.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
value + + +number + + + + + + + <optional>
+ + + + + +

target value

class + + +string + + + + + + + <optional>
+ + + + + +

target class

+ +
+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +void + + + +
+
+ + + + + + + + + + +

xs(xs) → {object}

+ + + + + + +
+ +
Description:
+
  • Get and set x values for the chart.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Get current x values
+ chart.xs();
+
+ // Update x values for all targets
+ chart.xs({
+   data1: [10, 20, 30, 40, ...],
+   data2: [100, 200, 300, 400, ...]
+ });
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
xs + + +Array + + + + +

If xs is given, specified target's x values will be updated. If no argument is given, current x values will be returned as an Object whose keys are the target ids.

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

xs

+
+ + + +
+
+ Type +
+
+ +object + + + +
+
+ + + + + + + + + + +

ygrids(grids) → {object}

+ + + + + + +
+ +
Description:
+
  • Update y grid lines.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Show 2 y grid lines
+chart.ygrids([
+   {value: 100, text: "Label 1"},
+   {value: 400, text: "Label 4"}
+]);
+// --> Returns: [{value: 100, text: "Label 1"}, {value: 400, text: "Label 4"}]
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
grids + + +Array + + + + +

Y grid lines will be replaced with this argument. The format of this argument is the same as grid.y.lines.

+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +object + + + +
+
+ + + + + + + + + + +

ygrids․add(grids) → {object}

+ + + + + + +
+ +
Description:
+
  • Add y grid lines.
    +This API adds new y grid lines instead of replacing like ygrids.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Add a new x grid line
+chart.ygrids.add(
+  {value: 400, text: "Label 4"}
+);
+
+// Add new x grid lines
+chart.ygrids.add([
+  {value: 200, text: "Label 2"},
+  {value: 400, text: "Label 4"}
+]);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
grids + + +Array +| + +object + + + + +

New y grid lines will be added. The format of this argument is the same as grid.y.lines and it's possible to give an Object if only one line will be added.

+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +object + + + +
+
+ + + + + + + + + + +

ygrids․remove(grids) → {void}

+ + + + + + +
+ +
Description:
+
  • Remove y grid lines.
    +This API removes x grid lines.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// y grid line on y = 200 will be removed
+chart.ygrids.remove({value: 200});
+
+// y grid lines that have 'grid-A' will be removed
+chart.ygrids.remove({
+  class: "grid-A"
+});
+
+// all of y grid lines will be removed
+chart.ygrids.remove();
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
grids + + +object + + + + +

This argument should include value or class. If value is given, the y grid lines that have specified y value will be removed. If class is given, the y grid lines that have specified class will be removed. If args is not given, all of y grid lines will be removed.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
value + + +number + + + + + + + <optional>
+ + + + + +

target value

class + + +string + + + + + + + <optional>
+ + + + + +

target class

+ +
+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +void + + + +
+
+ + + + + + + + + + +

zoom(domainValue) → {Array}

+ + + + + + +
+ +
Description:
+
  • Zoom by giving x domain range.

    +
      +
    • ℹ️ NOTE:
    • +
    • For wheel type zoom, the minimum zoom range will be set as the given domain range. To get the initial state, .unzoom() should be called.
    • +
    • To be used zoom.enabled option should be set as truthy.
    • +
    • When x axis type is category, domain range should be specified as index numbers.
    • +
    • Due to the limitations of floating point precision, domain value may not be exact returning approximately values.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Zoom to specified domain range
+ chart.zoom([10, 20]);
+
+ // For timeseries x axis, the domain value can be string, but the format should match with the 'data.xFormat' option.
+ chart.zoom(["2021-02-03", "2021-02-08"]);
+
+ // For category x axis, the domain value should be index number.
+ chart.zoom([0, 3]);
+
+ // Get the current zoomed domain range
+ // Domain value may not be exact returning approximately values.
+ chart.zoom();
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
domainValue + + +Array + + + + +

If domain range is given, the chart will be zoomed to the given domain. If no argument is given, the current zoomed domain will be returned.

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

domain value in array

+
+ + + +
+
+ Type +
+
+ +Array + + + +
+
+ + + + + + + + + + +

zoom․enable(enabled)

+ + + + + + +
+ +
Description:
+
  • Enable and disable zooming.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Enable zooming using the mouse wheel
+ chart.zoom.enable(true);
+ // Or
+ chart.zoom.enable("wheel");
+
+ // Enable zooming by dragging
+ chart.zoom.enable("drag");
+
+ // Disable zooming
+ chart.zoom.enable(false);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
enabled + + +string +| + +boolean + + + + +

Possible string values are "wheel" or "drag". If enabled is true, "wheel" will be used. If false is given, zooming will be disabled.
When set to false, the current zooming status will be reset.

+ + + + + + + + + + + + + + + + + + + + + + + + +

zoom․max(maxopt) → {number}

+ + + + + + +
+ +
Description:
+
  • Set or get x Axis maximum zoom range value

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Set maximum range value
+ chart.zoom.max(20);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
max + + +number + + + + + + + <optional>
+ + + + + +

maximum value to set for zoom

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

zoom max value

+
+ + + +
+
+ Type +
+
+ +number + + + +
+
+ + + + + + + + + + +

zoom․min(minopt) → {number}

+ + + + + + +
+ +
Description:
+
  • Set or get x Axis minimum zoom range value

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
// Set minimum range value
+ chart.zoom.min(-1);
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
min + + +number + + + + + + + <optional>
+ + + + + +

minimum value to set for zoom

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

zoom min value

+
+ + + +
+
+ Type +
+
+ +number + + + +
+
+ + + + + + + + + + +

zoom․range(rangeopt) → {object}

+ + + + + + +
+ +
Description:
+
  • Set zoom range

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Example
+ +
chart.zoom.range({
+     min: 10,
+     max: 100
+ });
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
range + + +object + + + + + + + <optional>
+ + + + + +

zoom range

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

zoom range value +{ +min: 0, +max: 100 +}

+
+ + + +
+
+ Type +
+
+ +object + + + +
+
+ + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/3.14.2/doc/ChartInternal_interactions_drag.ts.html b/release/3.14.2/doc/ChartInternal_interactions_drag.ts.html new file mode 100644 index 000000000..7c8fdc3e9 --- /dev/null +++ b/release/3.14.2/doc/ChartInternal_interactions_drag.ts.html @@ -0,0 +1,218 @@ + + + + + + ChartInternal/interactions/drag.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

ChartInternal/interactions/drag.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {select as d3Select} from "d3-selection";
+import type {d3Selection} from "../../../types/types";
+import {$BAR, $CIRCLE, $COMMON, $DRAG, $SELECT, $SHAPE} from "../../config/classes";
+import {getPathBox} from "../../module/util";
+
+/**
+ * Module used for data.selection.draggable option
+ */
+export default {
+	/**
+	 * Called when dragging.
+	 * Data points can be selected.
+	 * @private
+	 * @param {object} mouse Object
+	 */
+	drag(mouse): void {
+		const $$ = this;
+		const {config, state, $el: {main}} = $$;
+		const isSelectionGrouped = config.data_selection_grouped;
+		const isSelectable = config.interaction_enabled && config.data_selection_isselectable;
+
+		if (
+			$$.hasArcType() ||
+			!config.data_selection_enabled || // do nothing if not selectable
+			(config.zoom_enabled && !$$.zoom.altDomain) || // skip if zoomable because of conflict drag behavior
+			!config.data_selection_multiple // skip when single selection because drag is used for multiple selection
+		) {
+			return;
+		}
+
+		const [sx, sy] = state.dragStart || [0, 0];
+		const [mx, my] = mouse;
+
+		const minX = Math.min(sx, mx);
+		const maxX = Math.max(sx, mx);
+		const minY = isSelectionGrouped ? state.margin.top : Math.min(sy, my);
+		const maxY = isSelectionGrouped ? state.height : Math.max(sy, my);
+
+		main.select(`.${$DRAG.dragarea}`)
+			.attr("x", minX)
+			.attr("y", minY)
+			.attr("width", maxX - minX)
+			.attr("height", maxY - minY);
+
+		// TODO: binary search when multiple xs
+		main.selectAll(`.${$SHAPE.shapes}`)
+			.selectAll(`.${$SHAPE.shape}`)
+			.filter(d => isSelectable?.bind($$.api)(d))
+			.each(function(d, i) {
+				const shape: d3Selection = d3Select(this);
+				const isSelected = shape.classed($SELECT.SELECTED);
+				const isIncluded = shape.classed($DRAG.INCLUDED);
+				let isWithin: any = false;
+				let toggle;
+
+				if (shape.classed($CIRCLE.circle)) {
+					const x: number = +shape.attr("cx") * 1;
+					const y: number = +shape.attr("cy") * 1;
+
+					toggle = $$.togglePoint;
+					isWithin = minX < x && x < maxX && minY < y && y < maxY;
+				} else if (shape.classed($BAR.bar)) {
+					const {x, y, width, height} = getPathBox(this);
+
+					toggle = $$.togglePath;
+					isWithin = !(maxX < x || x + width < minX) && !(maxY < y || y + height < minY);
+				} else {
+					// line/area selection not supported yet
+					return;
+				}
+
+				// @ts-ignore
+				if (isWithin ^ isIncluded) {
+					shape.classed($DRAG.INCLUDED, !isIncluded);
+					// TODO: included/unincluded callback here
+					shape.classed($SELECT.SELECTED, !isSelected);
+					toggle.call($$, !isSelected, shape, d, i);
+				}
+			});
+	},
+
+	/**
+	 * Called when the drag starts.
+	 * Adds and Shows the drag area.
+	 * @private
+	 * @param {object} mouse Object
+	 */
+	dragstart(mouse): void {
+		const $$ = this;
+		const {config, state, $el: {main}} = $$;
+
+		if ($$.hasArcType() || !config.data_selection_enabled) {
+			return;
+		}
+
+		state.dragStart = mouse;
+
+		main.select(`.${$COMMON.chart}`)
+			.append("rect")
+			.attr("class", $DRAG.dragarea)
+			.style("opacity", "0.1");
+
+		$$.setDragStatus(true);
+	},
+
+	/**
+	 * Called when the drag finishes.
+	 * Removes the drag area.
+	 * @private
+	 */
+	dragend(): void {
+		const $$ = this;
+		const {config, $el: {main}, $T} = $$;
+
+		if ($$.hasArcType() || !config.data_selection_enabled) { // do nothing if not selectable
+			return;
+		}
+
+		$T(main.select(`.${$DRAG.dragarea}`))
+			.style("opacity", "0")
+			.remove();
+
+		main.selectAll(`.${$SHAPE.shape}`)
+			.classed($DRAG.INCLUDED, false);
+
+		$$.setDragStatus(false);
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/ChartInternal_interactions_eventrect.ts.html b/release/3.14.2/doc/ChartInternal_interactions_eventrect.ts.html new file mode 100644 index 000000000..9d1e7bf5c --- /dev/null +++ b/release/3.14.2/doc/ChartInternal_interactions_eventrect.ts.html @@ -0,0 +1,786 @@ + + + + + + ChartInternal/interactions/eventrect.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

ChartInternal/interactions/eventrect.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import type {d3Selection} from "../../../types";
+import {$COMMON, $EVENT, $SHAPE} from "../../config/classes";
+import {getPointer, getScrollPosition, isBoolean, isFunction} from "../../module/util";
+
+export default {
+	/**
+	 * Initialize the area that detects the event.
+	 * Add a container for the zone that detects the event.
+	 * @private
+	 */
+	initEventRect(): void {
+		const $$ = this;
+
+		$$.$el.main.select(`.${$COMMON.chart}`)
+			.append("g")
+			.attr("class", $EVENT.eventRects)
+			.style("fill-opacity", "0");
+	},
+
+	/**
+	 * Redraws the area that detects the event.
+	 * @private
+	 */
+	redrawEventRect(): void {
+		const $$ = this;
+		const {config, state, $el} = $$;
+		const isMultipleX = $$.isMultipleX();
+		const isInverted = config.axis_x_inverted;
+
+		if ($el.eventRect) {
+			$$.updateEventRect($el.eventRect, true);
+
+			// do not initialize eventRect when data is empty
+		} else if ($$.data.targets.length) {
+			const eventRects = $$.$el.main.select(`.${$EVENT.eventRects}`)
+				.style("cursor", config.zoom_enabled && config.zoom_type !== "drag" ?
+					(
+						config.axis_rotated ? "ns-resize" : "ew-resize"
+					) :
+					null)
+				.classed($EVENT.eventRectsMultiple, isMultipleX)
+				.classed($EVENT.eventRectsSingle, !isMultipleX);
+
+			// append event <rect>
+			const eventRectUpdate = eventRects.selectAll(`.${$EVENT.eventRect}`)
+				.data([0])
+				.enter()
+				.append("rect");
+
+			$$.updateEventRect(eventRectUpdate);
+
+			// bind event to <rect> element
+			$$.updateEventType(eventRectUpdate);
+
+			// bind draggable selection
+			eventRectUpdate.call($$.getDraggableSelection());
+
+			$el.eventRect = eventRectUpdate;
+
+			if (
+				$$.state.inputType === "touch" && !$el.svg.on("touchstart.eventRect") &&
+				!$$.hasArcType()
+			) {
+				$$.bindTouchOnEventRect();
+			}
+
+			// when initilazed with empty data and data loaded later, need to update eventRect
+			state.rendered && $$.updateEventRect($el.eventRect, true);
+		}
+
+		if (!isMultipleX) {
+			// Set data and update eventReceiver.data
+			const xAxisTickValues = $$.getMaxDataCountTarget();
+
+			if (!config.data_xSort || isInverted) {
+				xAxisTickValues.sort((a, b) => (isInverted ? b.x - a.x : a.x - b.x));
+			}
+
+			// update data's index value to be alinged with the x Axis
+			$$.updateDataIndexByX(xAxisTickValues);
+			$$.updateXs(xAxisTickValues);
+			$$.updatePointClass?.(true);
+
+			state.eventReceiver.data = xAxisTickValues;
+		}
+
+		$$.updateEventRectData();
+	},
+
+	bindTouchOnEventRect(): void {
+		const $$ = this;
+		const {config, state, $el: {eventRect, svg}} = $$;
+
+		const selectRect = context => {
+			if ($$.isMultipleX()) {
+				$$.selectRectForMultipleXs(context);
+			} else {
+				const index = $$.getDataIndexFromEvent(state.event);
+
+				$$.callOverOutForTouch(index);
+
+				index === -1 ? $$.unselectRect() : $$.selectRectForSingle(context, index);
+			}
+		};
+
+		const unselectRect = () => {
+			$$.unselectRect();
+			$$.callOverOutForTouch();
+		};
+
+		// call event.preventDefault()
+		// according 'interaction.inputType.touch.preventDefault' option
+		const preventDefault = config.interaction_inputType_touch.preventDefault;
+		const isPrevented = (isBoolean(preventDefault) && preventDefault) || false;
+		const preventThreshold = (!isNaN(preventDefault) && preventDefault) || null;
+		let startPx;
+
+		const preventEvent = event => {
+			const eventType = event.type;
+			const touch = event.changedTouches[0];
+			const currentXY = touch[`client${config.axis_rotated ? "Y" : "X"}`];
+
+			// prevent document scrolling
+			if (eventType === "touchstart") {
+				if (isPrevented) {
+					event.preventDefault();
+				} else if (preventThreshold !== null) {
+					startPx = currentXY;
+				}
+			} else if (eventType === "touchmove") {
+				if (
+					isPrevented || startPx === true || (
+						preventThreshold !== null &&
+						Math.abs(startPx - currentXY) >= preventThreshold
+					)
+				) {
+					// once prevented, keep prevented during whole 'touchmove' context
+					startPx = true;
+					event.preventDefault();
+				}
+			}
+		};
+
+		// bind touch events
+		eventRect
+			.on("touchstart", event => {
+				state.event = event;
+				$$.updateEventRect();
+			})
+			.on("touchstart.eventRect touchmove.eventRect", event => {
+				state.event = event;
+
+				if (!eventRect.empty() && eventRect.classed($EVENT.eventRect)) {
+					// if touch points are > 1, means doing zooming interaction. In this case do not execute tooltip codes.
+					if (
+						state.dragging || state.flowing || $$.hasArcType() ||
+						event.touches.length > 1
+					) {
+						return;
+					}
+
+					preventEvent(event);
+					selectRect(eventRect.node());
+				} else {
+					unselectRect();
+				}
+			}, true)
+			.on("touchend.eventRect", event => {
+				state.event = event;
+
+				if (!eventRect.empty() && eventRect.classed($EVENT.eventRect)) {
+					if ($$.hasArcType() || !$$.toggleShape || state.cancelClick) {
+						state.cancelClick && (state.cancelClick = false);
+					}
+				}
+			}, true);
+
+		svg.on("touchstart", event => {
+			state.event = event;
+			const {target} = event;
+
+			if (target && target !== eventRect.node()) {
+				unselectRect();
+			}
+		});
+	},
+
+	/**
+	 * Update event rect size
+	 * @param {d3Selection} eventRect Event <rect> element
+	 * @param {boolean} force Force to update
+	 * @private
+	 */
+	updateEventRect(eventRect?, force = false): void {
+		const $$ = this;
+		const {state, $el} = $$;
+		const {eventReceiver, width, height, rendered, resizing} = state;
+		const rectElement = eventRect || $el.eventRect;
+
+		const updateClientRect = (): void => {
+			if (eventReceiver) {
+				const scrollPos = getScrollPosition($el.chart.node());
+
+				eventReceiver.rect = rectElement.node()
+					.getBoundingClientRect()
+					.toJSON();
+
+				eventReceiver.rect.top += scrollPos.y;
+				eventReceiver.rect.left += scrollPos.x;
+			}
+		};
+
+		if (!rendered || resizing || force) {
+			rectElement
+				.attr("x", 0)
+				.attr("y", 0)
+				.attr("width", width)
+				.attr("height", height);
+
+			// only for init
+			if (!rendered || force) {
+				rectElement.classed($EVENT.eventRect, true);
+			}
+		}
+
+		updateClientRect();
+	},
+
+	/**
+	 * Update event type (single or multiple x)
+	 * @param {d3Selection | boolean} target Target element or boolean to rebind event
+	 */
+	updateEventType(target: d3Selection | boolean): void {
+		const $$ = this;
+		const isRebindCall = isBoolean(target);
+		const eventRect = isRebindCall ? $$.$el.eventRect : target;
+		const unbindEvent = isRebindCall ? target !== eventRect?.datum().multipleX : false;
+
+		if (eventRect) {
+			// release previous event listeners
+			unbindEvent && eventRect?.on("mouseover mousemove mouseout click", null);
+
+			$$.isMultipleX() ?
+				$$.generateEventRectsForMultipleXs(eventRect) :
+				$$.generateEventRectsForSingleX(eventRect);
+		}
+	},
+
+	/**
+	 * Updates the location and size of the eventRect.
+	 * @private
+	 */
+	updateEventRectData(): void {
+		const $$ = this;
+		const {config, scale, state} = $$;
+		const xScale = scale.zoom || scale.x;
+		const isRotated = config.axis_rotated;
+		const isMultipleX = $$.isMultipleX();
+		let x;
+		let y;
+		let w;
+		let h;
+
+		$$.updateEventType(isMultipleX);
+
+		if (isMultipleX) {
+			// TODO: rotated not supported yet
+			x = 0;
+			y = 0;
+			w = state.width;
+			h = state.height;
+		} else {
+			let rectW;
+			let rectX;
+
+			if ($$.axis.isCategorized()) {
+				rectW = $$.getEventRectWidth();
+				rectX = d => xScale(d.x) - (rectW / 2);
+			} else {
+				const getPrevNextX = ({index}) => ({
+					prev: $$.getPrevX(index),
+					next: $$.getNextX(index)
+				});
+
+				rectW = (d): number => {
+					const x = getPrevNextX(d);
+					const xDomain = xScale.domain();
+					let val: number;
+
+					// if there this is a single data point make the eventRect full width (or height)
+					if (x.prev === null && x.next === null) {
+						val = isRotated ? state.height : state.width;
+					} else if (x.prev === null) {
+						val = (xScale(x.next) + xScale(d.x)) / 2;
+					} else if (x.next === null) {
+						val = xScale(xDomain[1]) - (
+							(xScale(x.prev) + xScale(d.x)) / 2
+						);
+					} else {
+						Object.keys(x).forEach((key, i) => {
+							x[key] = x[key] ?? xDomain[i];
+						});
+
+						val = Math.max(0, (xScale(x.next) - xScale(x.prev)) / 2);
+					}
+
+					return val;
+				};
+
+				rectX = (d): number => {
+					const x = getPrevNextX(d);
+					let val: number;
+
+					// if there this is a single data point position the eventRect at 0
+					if (x.prev === null && x.next === null) {
+						val = 0;
+					} else if (x.prev === null) {
+						val = xScale(xScale.domain()[0]);
+					} else {
+						val = (xScale(d.x) + xScale(x.prev)) / 2;
+					}
+
+					return val;
+				};
+			}
+
+			x = isRotated ? 0 : rectX;
+			y = isRotated ? rectX : 0;
+			w = isRotated ? state.width : rectW;
+			h = isRotated ? rectW : state.height;
+		}
+
+		const {eventReceiver} = state;
+		const call: any = (fn, v) => (isFunction(fn) ? fn(v) : fn);
+
+		// reset for possible remains coords data before the data loading
+		eventReceiver.coords.splice(eventReceiver.data.length);
+
+		eventReceiver.data.forEach((d, i) => {
+			eventReceiver.coords[i] = {
+				x: call(x, d),
+				y: call(y, d),
+				w: call(w, d),
+				h: call(h, d)
+			};
+		});
+	},
+
+	/**
+	 * Seletct rect for single x value
+	 * @param {d3Selection} context Event rect element
+	 * @param {number} index x Axis index
+	 * @private
+	 */
+	selectRectForSingle(context: SVGRectElement, index: number): void {
+		const $$ = this;
+		const {config, $el: {main, circle}} = $$;
+		const isSelectionEnabled = config.data_selection_enabled;
+		const isSelectionGrouped = config.data_selection_grouped;
+		const isSelectable = config.data_selection_isselectable;
+		const isTooltipGrouped = config.tooltip_grouped;
+		const selectedData = $$.getAllValuesOnIndex(index);
+
+		if (isTooltipGrouped) {
+			$$.showTooltip(selectedData, context);
+			$$.showGridFocus?.(selectedData);
+
+			if (!isSelectionEnabled || isSelectionGrouped) {
+				return;
+			}
+		}
+
+		// remove possible previous focused state
+		!circle &&
+			main.selectAll(`.${$COMMON.EXPANDED}:not(.${$SHAPE.shape}-${index})`).classed(
+				$COMMON.EXPANDED,
+				false
+			);
+
+		const shapeAtIndex = main.selectAll(`.${$SHAPE.shape}-${index}`)
+			.classed($COMMON.EXPANDED, true)
+			.style("cursor", isSelectable ? "pointer" : null)
+			.filter(function(d) {
+				return $$.isWithinShape(this, d);
+			});
+
+		if (shapeAtIndex.empty() && !isTooltipGrouped && config.interaction_onout) {
+			$$.hideGridFocus?.();
+			$$.hideTooltip();
+
+			!isSelectionGrouped && $$.setExpand(index);
+		}
+
+		shapeAtIndex
+			.call(selected => {
+				const d = selected.data();
+
+				if (
+					isSelectionEnabled &&
+					(isSelectionGrouped || isSelectable?.bind($$.api)(d))
+				) {
+					context.style.cursor = "pointer";
+				}
+
+				if (!isTooltipGrouped) {
+					$$.showTooltip(d, context);
+					$$.showGridFocus?.(d);
+					$$.unexpandCircles?.();
+
+					selected.each(d => $$.setExpand(index, d.id));
+				}
+			});
+	},
+
+	/**
+	 * Select rect for multiple x values
+	 * @param {d3Selection} context Event rect element
+	 * @param {boolean} [triggerEvent=true] Whether trigger event or not
+	 * @private
+	 */
+	selectRectForMultipleXs(context: SVGRectElement, triggerEvent = true): void {
+		const $$ = this;
+		const {config, state} = $$;
+		const targetsToShow = $$.filterTargetsToShow($$.data.targets);
+
+		// do nothing when dragging
+		if (state.dragging || $$.hasArcType(targetsToShow)) {
+			return;
+		}
+
+		const mouse = getPointer(state.event, context);
+		const closest = $$.findClosestFromTargets(targetsToShow, mouse);
+
+		if (triggerEvent && state.mouseover && (!closest || closest.id !== state.mouseover.id)) {
+			config.data_onout.call($$.api, state.mouseover);
+			state.mouseover = undefined;
+		}
+
+		if (!closest) {
+			$$.unselectRect();
+			return;
+		}
+
+		const sameXData = (
+				$$.isBubbleType(closest) || $$.isScatterType(closest) || !config.tooltip_grouped
+			) ?
+			[closest] :
+			$$.filterByX(targetsToShow, closest.x);
+
+		// show tooltip when cursor is close to some point
+		const selectedData = sameXData.map(d => $$.addName(d));
+
+		$$.showTooltip(selectedData, context);
+
+		// expand points
+		$$.setExpand(closest.index, closest.id, true);
+
+		// Show xgrid focus line
+		$$.showGridFocus(selectedData);
+
+		const dist = $$.dist(closest, mouse);
+
+		// Show cursor as pointer if point is close to mouse position
+		if ($$.isBarType(closest.id) || dist < $$.getPointSensitivity(closest)) {
+			$$.$el.svg.select(`.${$EVENT.eventRect}`).style("cursor", "pointer");
+
+			if (triggerEvent && !state.mouseover) {
+				config.data_onover.call($$.api, closest);
+				state.mouseover = closest;
+			}
+		}
+	},
+
+	/**
+	 * Unselect EventRect.
+	 * @private
+	 */
+	unselectRect(): void {
+		const $$ = this;
+		const {$el: {circle, tooltip}} = $$;
+
+		$$.$el.svg.select(`.${$EVENT.eventRect}`).style("cursor", null);
+		$$.hideGridFocus();
+
+		if (tooltip) {
+			$$.hideTooltip();
+			$$._handleLinkedCharts(false);
+		}
+
+		circle && !$$.isPointFocusOnly() && $$.unexpandCircles();
+		$$.expandBarTypeShapes(false);
+	},
+
+	/**
+	 * Create eventRect for each data on the x-axis.
+	 * Register touch and drag events.
+	 * @param {object} eventRectEnter d3.select($EVENT.eventRects) object.
+	 * @returns {object} d3.select($EVENT.eventRects) object.
+	 * @private
+	 */
+	generateEventRectsForSingleX(eventRectEnter) {
+		const $$ = this;
+		const {config, state} = $$;
+		const {eventReceiver} = state;
+
+		const rect = eventRectEnter
+			.style("cursor",
+				config.data_selection_enabled && config.data_selection_grouped ? "pointer" : null)
+			.on("click", function(event) {
+				state.event = event;
+
+				const {currentIdx, data} = eventReceiver;
+				const d = data[
+					currentIdx === -1 ? $$.getDataIndexFromEvent(event) : currentIdx
+				];
+
+				$$.clickHandlerForSingleX.bind(this)(d, $$);
+			})
+			.datum({multipleX: false});
+
+		if (state.inputType === "mouse") {
+			const getData = event => {
+				const index = event ? $$.getDataIndexFromEvent(event) : eventReceiver.currentIdx;
+
+				return index > -1 ? eventReceiver.data[index] : null;
+			};
+
+			rect
+				.on("mouseover", event => {
+					state.event = event;
+					$$.updateEventRect();
+
+					Object.values($$.$el.axisTooltip)
+						.forEach((v: d3Selection) => v?.style("display", null));
+				})
+				.on("mousemove", function(event) {
+					const d = getData(event);
+
+					state.event = event;
+
+					if (!d) {
+						return;
+					}
+
+					let {index} = d;
+					const stepType = config.line_step_type;
+
+					// tooltip position match for step-before & step-after
+					if (
+						config.line_step_tooltipMatch && $$.hasType("step") &&
+						/^step\-(before|after)$/.test(stepType)
+					) {
+						const scale = $$.scale.zoom || $$.scale.x;
+						const xs = $$.axis.xs[index];
+						const inverted = scale.invert(getPointer(event, this)[0]);
+
+						if (stepType === "step-after" && inverted < xs) {
+							index -= 1;
+						} else if (stepType === "step-before" && inverted > xs) {
+							index += 1;
+						}
+					}
+
+					$$.showAxisGridFocus();
+
+					const eventOnSameIdx = config.tooltip_grouped &&
+						index === eventReceiver.currentIdx;
+
+					// do nothing while dragging/flowing
+					if (state.dragging || state.flowing || $$.hasArcType() || eventOnSameIdx) {
+						config.tooltip_show && eventOnSameIdx && $$.setTooltipPosition();
+						return;
+					}
+
+					if (index !== eventReceiver.currentIdx) {
+						$$.setOverOut(false, eventReceiver.currentIdx);
+						eventReceiver.currentIdx = index;
+					}
+
+					index === -1 ? $$.unselectRect() : $$.selectRectForSingle(this, index);
+
+					// As of individual data point(or <path>) element can't bind mouseover/out event
+					// to determine current interacting element, so use 'mousemove' event instead.
+					$$.setOverOut(index !== -1, index);
+				})
+				.on("mouseout", event => {
+					state.event = event;
+
+					// chart is destroyed
+					if (
+						!config || $$.hasArcType() || eventReceiver.currentIdx === -1 ||
+						!config.interaction_onout
+					) {
+						return;
+					}
+
+					$$.hideAxisGridFocus();
+
+					$$.unselectRect();
+					$$.setOverOut(false, eventReceiver.currentIdx);
+
+					// reset the event current index
+					eventReceiver.currentIdx = -1;
+				});
+		}
+
+		return rect;
+	},
+
+	clickHandlerForSingleX(d, ctx): void {
+		const $$ = ctx;
+		const {config, state, $el: {main}} = $$;
+
+		if (!d || $$.hasArcType() || state.cancelClick) {
+			state.cancelClick && (state.cancelClick = false);
+
+			return;
+		}
+
+		const {index} = d;
+
+		main.selectAll(`.${$SHAPE.shape}-${index}`)
+			.each(function(d2) {
+				if (config.data_selection_grouped || $$.isWithinShape(this, d2)) {
+					$$.toggleShape?.(this, d2, index);
+					config.data_onclick.bind($$.api)(d2, this);
+				}
+			});
+	},
+
+	/**
+	 * Create an eventRect,
+	 * Register touch and drag events.
+	 * @param {object} eventRectEnter d3.select($EVENT.eventRects) object.
+	 * @private
+	 */
+	generateEventRectsForMultipleXs(eventRectEnter): void {
+		const $$ = this;
+		const {config, state} = $$;
+
+		eventRectEnter
+			.on("click", function(event) {
+				state.event = event;
+				$$.clickHandlerForMultipleXS.bind(this)($$);
+			})
+			.datum({multipleX: true});
+
+		if (state.inputType === "mouse") {
+			eventRectEnter
+				.on("mouseover mousemove", function(event) {
+					state.event = event;
+					$$.selectRectForMultipleXs(this);
+				})
+				.on("mouseout", event => {
+					state.event = event;
+
+					// chart is destroyed
+					if (!$$.config || $$.hasArcType() || !config.interaction_onout) {
+						return;
+					}
+
+					$$.unselectRect();
+				});
+		}
+	},
+
+	clickHandlerForMultipleXS(ctx): void {
+		const $$ = ctx;
+		const {config, state} = $$;
+		const targetsToShow = $$.filterTargetsToShow($$.data.targets);
+
+		if ($$.hasArcType(targetsToShow)) {
+			return;
+		}
+
+		const mouse = getPointer(state.event, this);
+		const closest = $$.findClosestFromTargets(targetsToShow, mouse);
+		const sensitivity = $$.getPointSensitivity(closest);
+
+		if (!closest) {
+			return;
+		}
+
+		// select if selection enabled
+		if ($$.isBarType(closest.id) || $$.dist(closest, mouse) < sensitivity) {
+			$$.$el.main.selectAll(`.${$SHAPE.shapes}${$$.getTargetSelectorSuffix(closest.id)}`)
+				.selectAll(`.${$SHAPE.shape}-${closest.index}`)
+				.each(function() {
+					if (config.data_selection_grouped || $$.isWithinShape(this, closest)) {
+						$$.toggleShape?.(this, closest, closest.index);
+						config.data_onclick.bind($$.api)(closest, this);
+					}
+				});
+		}
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/ChartInternal_internals_category.ts.html b/release/3.14.2/doc/ChartInternal_internals_category.ts.html new file mode 100644 index 000000000..122ec62d1 --- /dev/null +++ b/release/3.14.2/doc/ChartInternal_internals_category.ts.html @@ -0,0 +1,103 @@ + + + + + + ChartInternal/internals/category.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

ChartInternal/internals/category.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+export default {
+	/**
+	 * Category Name
+	 * @param {number} i Index number
+	 * @returns {string} category Name
+	 * @private
+	 */
+	categoryName(i: number): string {
+		const {axis_x_categories} = this.config;
+
+		return axis_x_categories?.[i] ?? i;
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/ChartInternal_internals_clip.ts.html b/release/3.14.2/doc/ChartInternal_internals_clip.ts.html new file mode 100644 index 000000000..6f5ecce2b --- /dev/null +++ b/release/3.14.2/doc/ChartInternal_internals_clip.ts.html @@ -0,0 +1,233 @@ + + + + + + ChartInternal/internals/clip.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

ChartInternal/internals/clip.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+
+export default {
+	initClip(): void {
+		const $$ = this;
+		const {clip, datetimeId} = $$.state;
+
+		// MEMO: clipId needs to be unique because it conflicts when multiple charts exist
+		clip.id = `${datetimeId}-clip`;
+
+		clip.idXAxis = `${clip.id}-xaxis`;
+		clip.idYAxis = `${clip.id}-yaxis`;
+		clip.idGrid = `${clip.id}-grid`;
+
+		// Define 'clip-path' attribute values
+		clip.path = $$.getClipPath(clip.id);
+		clip.pathXAxis = $$.getClipPath(clip.idXAxis);
+		clip.pathYAxis = $$.getClipPath(clip.idYAxis);
+		clip.pathGrid = $$.getClipPath(clip.idGrid);
+	},
+
+	getClipPath(id: string): string | null {
+		const $$ = this;
+		const {config} = $$;
+
+		if (
+			(!config.clipPath && /-clip$/.test(id)) ||
+			(!config.axis_x_clipPath && /-clip-xaxis$/.test(id)) ||
+			(!config.axis_y_clipPath && /-clip-yaxis$/.test(id))
+		) {
+			return null;
+		}
+
+		return `url(#${id})`;
+	},
+
+	appendClip(parent, id: string): void {
+		id && parent.append("clipPath")
+			.attr("id", id)
+			.append("rect");
+	},
+
+	/**
+	 * Set x Axis clipPath dimension
+	 * @param {d3Selecton} node clipPath <rect> selection
+	 * @private
+	 */
+	setXAxisClipPath(node): void {
+		const $$ = this;
+		const {config, state: {margin, width, height}} = $$;
+		const isRotated = config.axis_rotated;
+		const left = Math.max(30, margin.left) - (isRotated ? 0 : 20);
+
+		// less than 20 is not enough to show the axis label 'outer' without legend
+		const h = (isRotated ? (margin.top + height) + 10 : margin.bottom) + 20;
+		const x = isRotated ? -(1 + left) : -(left - 1);
+		const y = -15; // -Math.max(15, margin.top);
+		const w = isRotated ? margin.left + 20 : width + 10 + left;
+
+		node
+			.attr("x", x)
+			.attr("y", y)
+			.attr("width", w)
+			.attr("height", h);
+	},
+
+	/**
+	 * Set y Axis clipPath dimension
+	 * @param {d3Selection} node clipPath <rect> selection
+	 * @private
+	 */
+	setYAxisClipPath(node): void {
+		const $$ = this;
+		const {config, state: {margin, width, height}} = $$;
+		const isRotated = config.axis_rotated;
+
+		const left = Math.max(30, margin.left) - (isRotated ? 20 : 0);
+		const isInner = config.axis_y_inner;
+
+		const x = isInner && !isRotated ?
+			(config.axis_y_label.text ? -20 : -1) :
+			(isRotated ? -(1 + left) : -(left - 1));
+		const y = -(isRotated ? 20 : margin.top);
+		const w = (isRotated ? width + 15 + left : margin.left + 20) + (isInner ? 20 : 0);
+		const h = (isRotated ? margin.bottom + 10 : (margin.top + height)) + 10;
+
+		node
+			.attr("x", x)
+			.attr("y", y)
+			.attr("width", w)
+			.attr("height", h);
+	},
+
+	updateXAxisTickClip(): void {
+		const $$ = this;
+		const {config, state: {clip, xAxisHeight}, $el: {defs}} = $$;
+		const newXAxisHeight = $$.getHorizontalAxisHeight("x");
+
+		if (defs && !clip.idXAxisTickTexts) {
+			const clipId = `${clip.id}-xaxisticktexts`;
+
+			$$.appendClip(defs, clipId);
+			clip.pathXAxisTickTexts = $$.getClipPath(clip.idXAxisTickTexts);
+			clip.idXAxisTickTexts = clipId;
+		}
+
+		if (
+			!config.axis_x_tick_multiline &&
+			$$.getAxisTickRotate("x") &&
+			newXAxisHeight !== xAxisHeight
+		) {
+			$$.setXAxisTickClipWidth();
+			$$.setXAxisTickTextClipPathWidth();
+		}
+
+		$$.state.xAxisHeight = newXAxisHeight;
+	},
+
+	setXAxisTickClipWidth(): void {
+		const $$ = this;
+		const {config, state: {current: {maxTickSize}}} = $$;
+
+		const xAxisTickRotate = $$.getAxisTickRotate("x");
+
+		if (!config.axis_x_tick_multiline && xAxisTickRotate) {
+			const sinRotation = Math.sin(Math.PI / 180 * Math.abs(xAxisTickRotate));
+
+			maxTickSize.x.clipPath = ($$.getHorizontalAxisHeight("x") - 20) / sinRotation;
+		} else {
+			maxTickSize.x.clipPath = null;
+		}
+	},
+
+	setXAxisTickTextClipPathWidth(): void {
+		const $$ = this;
+		const {state: {clip, current}, $el: {svg}} = $$;
+
+		if (svg) {
+			svg.select(`#${clip.idXAxisTickTexts} rect`)
+				.attr("width", current.maxTickSize.x.clipPath)
+				.attr("height", 30);
+		}
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/ChartInternal_internals_legend.ts.html b/release/3.14.2/doc/ChartInternal_internals_legend.ts.html new file mode 100644 index 000000000..97333cac1 --- /dev/null +++ b/release/3.14.2/doc/ChartInternal_internals_legend.ts.html @@ -0,0 +1,1024 @@ + + + + + + ChartInternal/internals/legend.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

ChartInternal/internals/legend.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {namespaces as d3Namespaces, select as d3Select} from "d3-selection";
+import {$FOCUS, $GAUGE, $LEGEND} from "../../config/classes";
+import {document} from "../../module/browser";
+import {KEY} from "../../module/Cache";
+import {
+	callFn,
+	getOption,
+	isDefined,
+	isEmpty,
+	isFunction,
+	notEmpty,
+	tplProcess
+} from "../../module/util";
+
+/**
+ * Get color string for given data id
+ * @param {string} id Data id
+ * @returns {string} Color string
+ * @private
+ */
+function getLegendColor(id: string): string {
+	const $$ = this;
+	const data = $$.getDataById(id);
+	const color = $$.levelColor ? $$.levelColor(data.values[0].value) : $$.color(data);
+
+	return color;
+}
+
+/**
+ * Get formatted text value
+ * @param {string} id Legend text id
+ * @param {boolean} formatted Whether or not to format the text
+ * @returns {string} Formatted legend text
+ */
+function getFormattedText<T = string>(id: T, formatted = true): T {
+	const {config} = this;
+	let text = config.data_names[id] ?? id;
+
+	if (formatted && isFunction(config.legend_format)) {
+		text = config.legend_format(text, id !== text ? id : undefined);
+	}
+
+	return text;
+}
+
+export default {
+	/**
+	 * Initialize the legend.
+	 * @private
+	 */
+	initLegend(): void {
+		const $$ = this;
+		const {config, $el} = $$;
+
+		$$.legendItemTextBox = {};
+		$$.state.legendHasRendered = false;
+
+		if (config.legend_show) {
+			if (!config.legend_contents_bindto) {
+				$el.legend = $$.$el.svg.append("g")
+					.classed($LEGEND.legend, true)
+					.attr("transform", $$.getTranslate("legend"));
+			}
+
+			// MEMO: call here to update legend box and translate for all
+			// MEMO: translate will be updated by this, so transform not needed in updateLegend()
+			$$.updateLegend();
+		} else {
+			$$.state.hiddenLegendIds = $$.mapToIds($$.data.targets);
+		}
+	},
+
+	/**
+	 * Update legend element
+	 * @param {Array} targetIds ID's of target
+	 * @param {object} options withTransform : Whether to use the transform property / withTransitionForTransform: Whether transition is used when using the transform property / withTransition : whether or not to transition.
+	 * @param {object} transitions Return value of the generateTransitions
+	 * @private
+	 */
+	updateLegend(targetIds, options, transitions): void {
+		const $$ = this;
+		const {config, state, scale, $el} = $$;
+
+		const optionz = options || {
+			withTransform: false,
+			withTransitionForTransform: false,
+			withTransition: false
+		};
+
+		optionz.withTransition = getOption(optionz, "withTransition", true);
+		optionz.withTransitionForTransform = getOption(optionz, "withTransitionForTransform", true);
+
+		if (config.legend_contents_bindto && config.legend_contents_template) {
+			$$.updateLegendTemplate();
+		} else if (!state.hasTreemap) {
+			$$.updateLegendElement(
+				targetIds || $$.mapToIds($$.data.targets),
+				optionz,
+				transitions
+			);
+		}
+
+		// toggle legend state
+		$el.legend?.selectAll(`.${$LEGEND.legendItem}`)
+			.classed($LEGEND.legendItemHidden, function(id) {
+				const hide = !$$.isTargetToShow(id);
+
+				if (hide) {
+					this.style.opacity = null;
+				}
+
+				return hide;
+			});
+
+		// Update size and scale
+		$$.updateScales(false, !scale.zoom);
+		$$.updateSvgSize();
+
+		// Update g positions
+		$$.transformAll(optionz.withTransitionForTransform, transitions);
+
+		state.legendHasRendered = true;
+	},
+
+	/**
+	 * Update legend using template option
+	 * @private
+	 */
+	updateLegendTemplate(): void {
+		const $$ = this;
+		const {config, $el} = $$;
+		const wrapper = d3Select(config.legend_contents_bindto);
+		const template = config.legend_contents_template;
+
+		if (!wrapper.empty()) {
+			const targets = $$.mapToIds($$.data.targets);
+			const ids: string[] = [];
+			let html = "";
+
+			targets.forEach(v => {
+				const content = isFunction(template) ?
+					template.bind($$.api)(v, $$.color(v), $$.api.data(v)[0].values) :
+					tplProcess(template, {
+						COLOR: $$.color(v),
+						TITLE: v
+					});
+
+				if (content) {
+					ids.push(v);
+					html += content;
+				}
+			});
+
+			const legendItem = wrapper.html(html)
+				.selectAll(function() {
+					return this.childNodes;
+				})
+				.data(ids);
+
+			$$.setLegendItem(legendItem);
+
+			$el.legend = wrapper;
+		}
+	},
+
+	/**
+	 * Update the size of the legend.
+	 * @param {Obejct} size Size object
+	 * @private
+	 */
+	updateSizeForLegend(size): void {
+		const $$ = this;
+		const {
+			config,
+			state: {
+				isLegendTop,
+				isLegendLeft,
+				isLegendRight,
+				isLegendInset,
+				current
+			}
+		} = $$;
+		const {width, height} = size;
+
+		const insetLegendPosition = {
+			top: isLegendTop ?
+				$$.getCurrentPaddingByDirection("top") + config.legend_inset_y + 5.5 :
+				current.height - height - $$.getCurrentPaddingByDirection("bottom") -
+				config.legend_inset_y,
+			left: isLegendLeft ?
+				$$.getCurrentPaddingByDirection("left") + config.legend_inset_x + 0.5 :
+				current.width - width - $$.getCurrentPaddingByDirection("right") -
+				config.legend_inset_x + 0.5
+		};
+
+		$$.state.margin3 = {
+			top: isLegendRight ?
+				0 :
+				isLegendInset ?
+				insetLegendPosition.top :
+				current.height - height,
+			right: NaN,
+			bottom: 0,
+			left: isLegendRight ?
+				current.width - width :
+				isLegendInset ?
+				insetLegendPosition.left :
+				0
+		};
+	},
+
+	/**
+	 * Transform Legend
+	 * @param {boolean} withTransition whether or not to transition.
+	 * @private
+	 */
+	transformLegend(withTransition): void {
+		const $$ = this;
+		const {$el: {legend}, $T} = $$;
+
+		$T(legend, withTransition)
+			.attr("transform", $$.getTranslate("legend"));
+	},
+
+	/**
+	 * Update the legend step
+	 * @param {number} step Step value
+	 * @private
+	 */
+	updateLegendStep(step: number): void {
+		this.state.legendStep = step;
+	},
+
+	/**
+	 * Update legend item width
+	 * @param {number} width Width value
+	 * @private
+	 */
+	updateLegendItemWidth(width: number): void {
+		this.state.legendItemWidth = width;
+	},
+
+	/**
+	 * Update legend item height
+	 * @param {number} height Height value
+	 * @private
+	 */
+	updateLegendItemHeight(height): void {
+		this.state.legendItemHeight = height;
+	},
+
+	/**
+	 * Update legend item color
+	 * @param {string} id Corresponding data ID value
+	 * @param {string} color Color value
+	 * @private
+	 */
+	updateLegendItemColor(id: string, color: string): void {
+		const {legend} = this.$el;
+
+		if (legend) {
+			legend.select(`.${$LEGEND.legendItem}-${id} line`)
+				.style("stroke", color);
+		}
+	},
+
+	/**
+	 * Get the width of the legend
+	 * @returns {number} width
+	 * @private
+	 */
+	getLegendWidth(): number {
+		const $$ = this;
+		const {current: {width}, isLegendRight, isLegendInset, legendItemWidth, legendStep} =
+			$$.state;
+
+		return $$.config.legend_show ?
+			(
+				isLegendRight || isLegendInset ? legendItemWidth * (legendStep + 1) : width
+			) :
+			0;
+	},
+
+	/**
+	 * Get the height of the legend
+	 * @returns {number} height
+	 * @private
+	 */
+	getLegendHeight(): number {
+		const $$ = this;
+		const {current, isLegendRight, legendItemHeight, legendStep} = $$.state;
+		const isFitPadding = $$.config.padding?.mode === "fit";
+		const height = $$.config.legend_show ?
+			(
+				isLegendRight ? current.height : (
+					Math.max(isFitPadding ? 10 : 20, legendItemHeight)
+				) * (legendStep + 1)
+			) :
+			0;
+
+		return height;
+	},
+
+	/**
+	 * Get the opacity of the legend that is unfocused
+	 * @param {d3.selection} legendItem Legend item node
+	 * @returns {string|null} opacity
+	 * @private
+	 */
+	opacityForUnfocusedLegend(legendItem): string | null {
+		return legendItem.classed($LEGEND.legendItemHidden) ? null : "0.3";
+	},
+
+	/**
+	 * Toggles the focus of the legend
+	 * @param {Array} targetIds ID's of target
+	 * @param {boolean} focus whether or not to focus.
+	 * @private
+	 */
+	toggleFocusLegend(targetIds: string[], focus: boolean): void {
+		const $$ = this;
+		const {$el: {legend}, $T} = $$;
+		const targetIdz = $$.mapToTargetIds(targetIds);
+
+		legend && $T(legend.selectAll(`.${$LEGEND.legendItem}`)
+			.filter(id => targetIdz.indexOf(id) >= 0)
+			.classed($FOCUS.legendItemFocused, focus))
+			.style("opacity", function() {
+				return focus ? null : $$.opacityForUnfocusedLegend.call($$, d3Select(this));
+			});
+	},
+
+	/**
+	 * Revert the legend to its default state
+	 * @private
+	 */
+	revertLegend(): void {
+		const $$ = this;
+		const {$el: {legend}, $T} = $$;
+
+		legend && $T(legend.selectAll(`.${$LEGEND.legendItem}`)
+			.classed($FOCUS.legendItemFocused, false))
+			.style("opacity", null);
+	},
+
+	/**
+	 * Shows the legend
+	 * @param {Array} targetIds ID's of target
+	 * @private
+	 */
+	showLegend(targetIds: string[]): void {
+		const $$ = this;
+		const {config, $el, $T} = $$;
+
+		if (!config.legend_show) {
+			config.legend_show = true;
+
+			$el.legend ? $el.legend.style("visibility", null) : $$.initLegend();
+
+			!$$.state.legendHasRendered && $$.updateLegend();
+		}
+
+		$$.removeHiddenLegendIds(targetIds);
+
+		$T(
+			$el.legend.selectAll($$.selectorLegends(targetIds))
+				.style("visibility", null)
+		).style("opacity", null);
+	},
+
+	/**
+	 * Hide the legend
+	 * @param {Array} targetIds ID's of target
+	 * @private
+	 */
+	hideLegend(targetIds: string[]): void {
+		const $$ = this;
+		const {config, $el: {legend}} = $$;
+
+		if (config.legend_show && isEmpty(targetIds)) {
+			config.legend_show = false;
+			legend.style("visibility", "hidden");
+		}
+
+		$$.addHiddenLegendIds(targetIds);
+		legend.selectAll($$.selectorLegends(targetIds))
+			.style("opacity", "0")
+			.style("visibility", "hidden");
+	},
+
+	/**
+	 * Get legend item textbox dimension
+	 * @param {string} id Data ID
+	 * @param {HTMLElement|d3.selection} textElement Text node element
+	 * @returns {object} Bounding rect
+	 * @private
+	 */
+	getLegendItemTextBox(id?: string, textElement?) {
+		const $$ = this;
+		const {cache, state} = $$;
+		let data;
+
+		// do not prefix w/'$', to not be resetted cache in .load() call
+		const cacheKey = KEY.legendItemTextBox;
+
+		if (id) {
+			data = (!state.redrawing && cache.get(cacheKey)) || {};
+
+			if (!data[id]) {
+				data[id] = $$.getTextRect(textElement, $LEGEND.legendItem);
+				cache.add(cacheKey, data);
+			}
+
+			data = data[id];
+		}
+
+		return data;
+	},
+
+	/**
+	 * Set legend item style & bind events
+	 * @param {d3.selection} item Item node
+	 * @private
+	 */
+	setLegendItem(item): void {
+		const $$ = this;
+		const {$el, api, config, state} = $$;
+		const isTouch = state.inputType === "touch";
+		const hasGauge = $$.hasType("gauge");
+		const useCssRule = config.boost_useCssRule;
+		const interaction = config.legend_item_interaction;
+
+		item
+			.attr("class", function(id) {
+				const node = d3Select(this);
+				const itemClass = (!node.empty() && node.attr("class")) || "";
+
+				return itemClass + $$.generateClass($LEGEND.legendItem, id);
+			})
+			.style("visibility", id => ($$.isLegendToShow(id) ? null : "hidden"));
+
+		if (config.interaction_enabled) {
+			if (useCssRule) {
+				[
+					[`.${$LEGEND.legendItem}`, "cursor:pointer"],
+					[`.${$LEGEND.legendItem} text`, "pointer-events:none"],
+					[`.${$LEGEND.legendItemPoint} text`, "pointer-events:none"],
+					[`.${$LEGEND.legendItemTile}`, "pointer-events:none"],
+					[`.${$LEGEND.legendItemEvent}`, "fill-opacity:0"]
+				].forEach(v => {
+					const [selector, props] = v;
+
+					$$.setCssRule(false, selector, [props])($el.legend);
+				});
+			}
+
+			item
+				.on(interaction.dblclick ? "dblclick" : "click",
+					interaction || isFunction(config.legend_item_onclick) ?
+						function(event, id) {
+							if (
+								!callFn(config.legend_item_onclick, api, id,
+									!state.hiddenTargetIds.includes(id))
+							) {
+								const {altKey, target, type} = event;
+
+								if (type === "dblclick" || altKey) {
+									// when focused legend is clicked(with altKey or double clicked), reset all hiding.
+									if (
+										state.hiddenTargetIds.length &&
+										target.parentNode.getAttribute("class").indexOf(
+												$LEGEND.legendItemHidden
+											) === -1
+									) {
+										api.show();
+									} else {
+										api.hide();
+										api.show(id);
+									}
+								} else {
+									api.toggle(id);
+
+									d3Select(this)
+										.classed($FOCUS.legendItemFocused, false);
+								}
+							}
+
+							isTouch && $$.hideTooltip();
+						} :
+						null);
+
+			!isTouch && item
+				.on("mouseout", interaction || isFunction(config.legend_item_onout) ?
+					function(event, id) {
+						if (
+							!callFn(config.legend_item_onout, api, id,
+								!state.hiddenTargetIds.includes(id))
+						) {
+							d3Select(this).classed($FOCUS.legendItemFocused, false);
+
+							if (hasGauge) {
+								$$.undoMarkOverlapped($$, `.${$GAUGE.gaugeValue}`);
+							}
+
+							$$.api.revert();
+						}
+					} :
+					null)
+				.on("mouseover", interaction || isFunction(config.legend_item_onover) ?
+					function(event, id) {
+						if (
+							!callFn(config.legend_item_onover, api, id,
+								!state.hiddenTargetIds.includes(id))
+						) {
+							d3Select(this).classed($FOCUS.legendItemFocused, true);
+
+							if (hasGauge) {
+								$$.markOverlapped(id, $$, `.${$GAUGE.gaugeValue}`);
+							}
+
+							if (!state.transiting && $$.isTargetToShow(id)) {
+								api.focus(id);
+							}
+						}
+					} :
+					null);
+
+			// set cursor when has some interaction
+			!item.empty() && item.on("click mouseout mouseover") &&
+				item.style("cursor", $$.getStylePropValue("pointer"));
+		}
+	},
+
+	/**
+	 * Update the legend
+	 * @param {Array} targetIds ID's of target
+	 * @param {object} options withTransform : Whether to use the transform property / withTransitionForTransform: Whether transition is used when using the transform property / withTransition : whether or not to transition.
+	 * @private
+	 */
+	updateLegendElement(targetIds: string[], options): void {
+		const $$ = this;
+		const {config, state, $el: {legend}, $T} = $$;
+		const legendType = config.legend_item_tile_type;
+		const isRectangle = legendType !== "circle";
+		const legendItemR = config.legend_item_tile_r;
+
+		const itemTileSize = {
+			width: isRectangle ? config.legend_item_tile_width : legendItemR * 2,
+			height: isRectangle ? config.legend_item_tile_height : legendItemR * 2
+		};
+
+		const dimension = {
+			padding: {
+				top: 4,
+				right: 10
+			},
+			max: {
+				width: 0,
+				height: 0
+			},
+			posMin: 10,
+			step: 0,
+			tileWidth: itemTileSize.width + 5,
+			totalLength: 0
+		};
+
+		const sizes = {
+			offsets: {},
+			widths: {},
+			heights: {},
+			margins: [0],
+			steps: {}
+		};
+
+		let xForLegend;
+		let yForLegend;
+		let background;
+
+		// Skip elements when their name is set to null
+		const targetIdz = targetIds
+			.filter(id => !isDefined(config.data_names[id]) || config.data_names[id] !== null);
+
+		const withTransition = options.withTransition;
+		const updatePositions = $$.getUpdateLegendPositions(targetIdz, dimension, sizes);
+
+		if (state.isLegendInset) {
+			dimension.step = config.legend_inset_step ? config.legend_inset_step : targetIdz.length;
+			$$.updateLegendStep(dimension.step);
+		}
+
+		if (state.isLegendRight) {
+			xForLegend = id => dimension.max.width * sizes.steps[id];
+			yForLegend = id => sizes.margins[sizes.steps[id]] + sizes.offsets[id];
+		} else if (state.isLegendInset) {
+			xForLegend = id => dimension.max.width * sizes.steps[id] + 10;
+			yForLegend = id => sizes.margins[sizes.steps[id]] + sizes.offsets[id];
+		} else {
+			xForLegend = id => sizes.margins[sizes.steps[id]] + sizes.offsets[id];
+			yForLegend = id => dimension.max.height * sizes.steps[id];
+		}
+
+		const posFn = {
+			xText: (id, i?: number) => xForLegend(id, i) + 4 + itemTileSize.width,
+			xRect: (id, i?: number) => xForLegend(id, i),
+			x1Tile: (id, i?: number) => xForLegend(id, i) - 2,
+			x2Tile: (id, i?: number) => xForLegend(id, i) - 2 + itemTileSize.width,
+			yText: (id, i?: number) => yForLegend(id, i) + 9,
+			yRect: (id, i?: number) => yForLegend(id, i) - 5,
+			yTile: (id, i?: number) => yForLegend(id, i) + 4
+		};
+
+		$$.generateLegendItem(targetIdz, itemTileSize, updatePositions, posFn);
+
+		// Set background for inset legend
+		background = legend.select(`.${$LEGEND.legendBackground} rect`);
+
+		if (state.isLegendInset && dimension.max.width > 0 && background.size() === 0) {
+			background = legend.insert("g", `.${$LEGEND.legendItem}`)
+				.attr("class", $LEGEND.legendBackground)
+				.append("rect");
+		}
+
+		if (config.legend_tooltip) {
+			legend.selectAll("title")
+				.data(targetIdz)
+				.text(id => getFormattedText.bind($$)(id, false));
+		}
+
+		const texts = legend.selectAll("text")
+			.data(targetIdz)
+			.text(id => getFormattedText.bind($$)(id)) // MEMO: needed for update
+			.each(function(id, i) {
+				updatePositions(this, id, i);
+			});
+
+		$T(texts, withTransition)
+			.attr("x", posFn.xText)
+			.attr("y", posFn.yText);
+
+		const rects = legend.selectAll(`rect.${$LEGEND.legendItemEvent}`)
+			.data(targetIdz);
+
+		$T(rects, withTransition)
+			.attr("width", id => sizes.widths[id])
+			.attr("height", id => sizes.heights[id])
+			.attr("x", posFn.xRect)
+			.attr("y", posFn.yRect);
+
+		// update legend items position
+		$$.updateLegendItemPos(targetIdz, withTransition, posFn);
+
+		if (background) {
+			$T(background, withTransition)
+				.attr("height", $$.getLegendHeight() - 12)
+				.attr("width", dimension.max.width * (dimension.step + 1) + 10);
+		}
+
+		// Update all to reflect change of legend
+		$$.updateLegendItemWidth(dimension.max.width);
+		$$.updateLegendItemHeight(dimension.max.height);
+		$$.updateLegendStep(dimension.step);
+	},
+
+	/**
+	 * Get position update function
+	 * @param {Array} targetIdz Data ids
+	 * @param {object} dimension Dimension object
+	 * @param {object} sizes Size object
+	 * @returns {Function} Update position function
+	 * @private
+	 */
+	getUpdateLegendPositions(targetIdz, dimension, sizes) {
+		const $$ = this;
+		const {config, state} = $$;
+		const isLegendRightOrInset = state.isLegendRight || state.isLegendInset;
+
+		return function(textElement, id, index) {
+			const reset = index === 0;
+			const isLast = index === targetIdz.length - 1;
+			const box = $$.getLegendItemTextBox(id, textElement);
+
+			const itemWidth = box.width + dimension.tileWidth +
+				(isLast && !isLegendRightOrInset ? 0 : dimension.padding.right) +
+				config.legend_padding;
+			const itemHeight = box.height + dimension.padding.top;
+			const itemLength = isLegendRightOrInset ? itemHeight : itemWidth;
+			const areaLength = isLegendRightOrInset ? $$.getLegendHeight() : $$.getLegendWidth();
+			let margin;
+
+			// MEMO: care about condifion of step, totalLength
+			const updateValues = function(id2, withoutStep?: boolean) {
+				if (!withoutStep) {
+					margin = (areaLength - dimension.totalLength - itemLength) / 2;
+
+					if (margin < dimension.posMin) {
+						margin = (areaLength - itemLength) / 2;
+						dimension.totalLength = 0;
+						dimension.step++;
+					}
+				}
+
+				sizes.steps[id2] = dimension.step;
+				sizes.margins[dimension.step] = state.isLegendInset ? 10 : margin;
+				sizes.offsets[id2] = dimension.totalLength;
+				dimension.totalLength += itemLength;
+			};
+
+			if (reset) {
+				dimension.totalLength = 0;
+				dimension.step = 0;
+				dimension.max.width = 0;
+				dimension.max.height = 0;
+			}
+
+			if (config.legend_show && !$$.isLegendToShow(id)) {
+				sizes.widths[id] = 0;
+				sizes.heights[id] = 0;
+				sizes.steps[id] = 0;
+				sizes.offsets[id] = 0;
+
+				return;
+			}
+
+			sizes.widths[id] = itemWidth;
+			sizes.heights[id] = itemHeight;
+
+			if (!dimension.max.width || itemWidth >= dimension.max.width) {
+				dimension.max.width = itemWidth;
+			}
+
+			if (!dimension.max.height || itemHeight >= dimension.max.height) {
+				dimension.max.height = itemHeight;
+			}
+
+			const maxLength = isLegendRightOrInset ? dimension.max.height : dimension.max.width;
+
+			if (config.legend_equally) {
+				Object.keys(sizes.widths).forEach(id2 => (sizes.widths[id2] = dimension.max.width));
+				Object.keys(sizes.heights).forEach(
+					id2 => (sizes.heights[id2] = dimension.max.height)
+				);
+				margin = (areaLength - maxLength * targetIdz.length) / 2;
+
+				if (margin < dimension.posMin) {
+					dimension.totalLength = 0;
+					dimension.step = 0;
+					targetIdz.forEach(id2 => updateValues(id2));
+				} else {
+					updateValues(id, true);
+				}
+			} else {
+				updateValues(id);
+			}
+		};
+	},
+
+	/**
+	 * Generate legend item elements
+	 * @param {Array} targetIdz Data ids
+	 * @param {object} itemTileSize Item tile size {width, height}
+	 * @param {Function} updatePositions Update position function
+	 * @param {object} posFn Position functions
+	 * @private
+	 */
+	generateLegendItem(targetIdz, itemTileSize, updatePositions, posFn) {
+		const $$ = this;
+		const {config, state, $el: {legend}} = $$;
+		const usePoint = config.legend_usePoint;
+		const legendItemR = config.legend_item_tile_r;
+		const legendType = config.legend_item_tile_type;
+		const isRectangle = legendType !== "circle";
+		const isLegendRightOrInset = state.isLegendRight || state.isLegendInset;
+
+		const pos = -200;
+
+		// Define g for legend area
+		const l = legend.selectAll(`.${$LEGEND.legendItem}`)
+			.data(targetIdz)
+			.enter()
+			.append("g");
+
+		$$.setLegendItem(l);
+
+		if (config.legend_tooltip) {
+			l.append("title").text(id => id);
+		}
+
+		l.append("text")
+			.text(id => getFormattedText.bind($$)(id))
+			.each(function(id, i) {
+				updatePositions(this, id, i);
+			})
+			.style("pointer-events", $$.getStylePropValue("none"))
+			.attr("x", isLegendRightOrInset ? posFn.xText : pos)
+			.attr("y", isLegendRightOrInset ? pos : posFn.yText);
+
+		l.append("rect")
+			.attr("class", $LEGEND.legendItemEvent)
+			.style("fill-opacity", $$.getStylePropValue("0"))
+			.attr("x", isLegendRightOrInset ? posFn.xRect : pos)
+			.attr("y", isLegendRightOrInset ? pos : posFn.yRect);
+
+		if (usePoint) {
+			const ids: string[] = [];
+
+			l.append(d => {
+				const pattern = notEmpty(config.point_pattern) ?
+					config.point_pattern :
+					[config.point_type];
+
+				ids.indexOf(d) === -1 && ids.push(d);
+
+				let point = pattern[ids.indexOf(d) % pattern.length];
+
+				if (point === "rectangle") {
+					point = "rect";
+				}
+
+				return document.createElementNS(d3Namespaces.svg,
+					("hasValidPointType" in $$) && $$.hasValidPointType(point) ? point : "use");
+			})
+				.attr("class", $LEGEND.legendItemPoint)
+				.style("fill", getLegendColor.bind($$))
+				.style("pointer-events", $$.getStylePropValue("none"))
+				.attr("href", (data, idx, selection) => {
+					const node = selection[idx];
+					const nodeName = node.nodeName.toLowerCase();
+					const id = $$.getTargetSelectorSuffix(data);
+
+					return nodeName === "use" ? `#${state.datetimeId}-point${id}` : undefined;
+				});
+		} else {
+			l.append(isRectangle ? "line" : legendType)
+				.attr("class", $LEGEND.legendItemTile)
+				.style("stroke", getLegendColor.bind($$))
+				.style("pointer-events", $$.getStylePropValue("none"))
+				.call(selection => {
+					if (legendType === "circle") {
+						selection
+							.attr("r", legendItemR)
+							.style("fill", getLegendColor.bind($$))
+							.attr("cx", isLegendRightOrInset ? posFn.x2Tile : pos)
+							.attr("cy", isLegendRightOrInset ? pos : posFn.yTile);
+					} else if (isRectangle) {
+						selection
+							.attr("stroke-width", itemTileSize.height)
+							.attr("x1", isLegendRightOrInset ? posFn.x1Tile : pos)
+							.attr("y1", isLegendRightOrInset ? pos : posFn.yTile)
+							.attr("x2", isLegendRightOrInset ? posFn.x2Tile : pos)
+							.attr("y2", isLegendRightOrInset ? pos : posFn.yTile);
+					}
+				});
+		}
+	},
+
+	/**
+	 * Update legend item position
+	 * @param {Array} targetIdz Data ids
+	 * @param {boolean} withTransition Whether or not to apply transition
+	 * @param {object} posFn Position functions
+	 * @private
+	 */
+	updateLegendItemPos(targetIdz: string[], withTransition: boolean, posFn): void {
+		const $$ = this;
+		const {config, $el: {legend}, $T} = $$;
+		const usePoint = config.legend_usePoint;
+		const legendType = config.legend_item_tile_type;
+		const isRectangle = legendType !== "circle";
+
+		if (usePoint) {
+			const tiles = legend.selectAll(`.${$LEGEND.legendItemPoint}`)
+				.data(targetIdz);
+
+			$T(tiles, withTransition)
+				.each(function() {
+					const nodeName = this.nodeName.toLowerCase();
+					const pointR = config.point_r;
+					let x = "x";
+					let y = "y";
+					let xOffset = 2;
+					let yOffset = 2.5;
+					let radius = null;
+					let width = <number | null>null;
+					let height = <number | null>null;
+
+					if (nodeName === "circle") {
+						const size = pointR * 0.2;
+
+						x = "cx";
+						y = "cy";
+						radius = pointR + size;
+						xOffset = pointR * 2;
+						yOffset = -size;
+					} else if (nodeName === "rect") {
+						const size = pointR * 2.5;
+
+						width = size;
+						height = size;
+						yOffset = 3;
+					}
+
+					d3Select(this)
+						.attr(x, d => posFn.x1Tile(d) + xOffset)
+						.attr(y, d => posFn.yTile(d) - yOffset)
+						.attr("r", radius)
+						.attr("width", width)
+						.attr("height", height);
+				});
+		} else {
+			const tiles = legend.selectAll(`.${$LEGEND.legendItemTile}`)
+				.data(targetIdz);
+
+			$T(tiles, withTransition)
+				.style("stroke", getLegendColor.bind($$))
+				.call(selection => {
+					if (legendType === "circle") {
+						selection
+							.attr("cx", d => {
+								const x2 = posFn.x2Tile(d);
+
+								return x2 - ((x2 - posFn.x1Tile(d)) / 2);
+							})
+							.attr("cy", posFn.yTile);
+					} else if (isRectangle) {
+						selection
+							.attr("x1", posFn.x1Tile)
+							.attr("y1", posFn.yTile)
+							.attr("x2", posFn.x2Tile)
+							.attr("y2", posFn.yTile);
+					}
+				});
+		}
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/ChartInternal_internals_tooltip.ts.html b/release/3.14.2/doc/ChartInternal_internals_tooltip.ts.html new file mode 100644 index 000000000..a6db6c997 --- /dev/null +++ b/release/3.14.2/doc/ChartInternal_internals_tooltip.ts.html @@ -0,0 +1,778 @@ + + + + + + ChartInternal/internals/tooltip.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

ChartInternal/internals/tooltip.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {select as d3Select} from "d3-selection";
+import {$ARC, $TOOLTIP} from "../../config/classes";
+import {document} from "../../module/browser";
+import {
+	callFn,
+	getPointer,
+	getTransformCTM,
+	hasViewBox,
+	isEmpty,
+	isFunction,
+	isObject,
+	isString,
+	isUndefined,
+	isValue,
+	parseDate,
+	sanitize,
+	tplProcess
+} from "../../module/util";
+import type {IArcData, IDataRow} from "../data/IData";
+
+export default {
+	/**
+	 * Initializes the tooltip
+	 * @private
+	 */
+	initTooltip(): void {
+		const $$ = this;
+		const {config, $el} = $$;
+
+		$el.tooltip = d3Select(config.tooltip_contents.bindto);
+
+		if ($el.tooltip.empty()) {
+			$el.tooltip = $el.chart
+				.append("div")
+				.attr("class", $TOOLTIP.tooltipContainer)
+				.style("position", "absolute")
+				.style("pointer-events", "none")
+				.style("display", "none");
+		}
+
+		$$.bindTooltipResizePos();
+	},
+
+	/**
+	 * Show tooltip at initialization.
+	 * Is called only when tooltip.init.show=true option is set
+	 * @private
+	 */
+	initShowTooltip(): void {
+		const $$ = this;
+		const {config, $el, state: {hasAxis, hasRadar}} = $$;
+
+		// Show tooltip if needed
+		if (config.tooltip_init_show) {
+			const isArc = !(hasAxis || hasRadar);
+
+			if ($$.axis?.isTimeSeries() && isString(config.tooltip_init_x)) {
+				config.tooltip_init_x = parseDate.call($$, config.tooltip_init_x);
+			}
+
+			$$.api.tooltip.show({
+				data: {
+					[isArc ? "index" : "x"]: config.tooltip_init_x
+				}
+			});
+
+			const position = config.tooltip_init_position;
+
+			if (!config.tooltip_contents.bindto && !isEmpty(position)) {
+				const {top = 0, left = 50} = position;
+
+				$el.tooltip.style("top", isString(top) ? top : `${top}px`)
+					.style("left", isString(left) ? left : `${left}px`)
+					.style("display", null);
+			}
+		}
+	},
+
+	/**
+	 * Get the tooltip HTML string
+	 * @param  {Array} args Arguments
+	 * @returns {string} Formatted HTML string
+	 * @private
+	 */
+	getTooltipHTML(...args): string {
+		const $$ = this;
+		const {api, config} = $$;
+
+		return isFunction(config.tooltip_contents) ?
+			config.tooltip_contents.bind(api)(...args) :
+			$$.getTooltipContent(...args);
+	},
+
+	/**
+	 * Returns the tooltip content(HTML string)
+	 * @param {object} d data
+	 * @param {Function} defaultTitleFormat Default title format
+	 * @param {Function} defaultValueFormat Default format for each data value in the tooltip.
+	 * @param {Function} color Color function
+	 * @returns {string} html
+	 * @private
+	 */
+	getTooltipContent(d, defaultTitleFormat, defaultValueFormat, color): string {
+		const $$ = this;
+		const {api, config, state, $el} = $$;
+
+		// get formatter function
+		const [titleFn, nameFn, valueFn] = ["title", "name", "value"].map(v => {
+			const fn = config[`tooltip_format_${v}`];
+
+			return isFunction(fn) ? fn.bind(api) : fn;
+		});
+
+		// determine fotmatter function with sanitization
+		const titleFormat = (...arg) => sanitize((titleFn || defaultTitleFormat)(...arg));
+		const nameFormat = (...arg) => sanitize((nameFn || (name => name))(...arg));
+		const valueFormat = (...arg) => {
+			const fn = valueFn || (
+				state.hasTreemap || $$.isStackNormalized() ?
+					(v, ratio) => `${(ratio * 100).toFixed(2)}%` :
+					defaultValueFormat
+			);
+
+			return sanitize(fn(...arg));
+		};
+
+		const order = config.tooltip_order;
+		const getRowValue =
+			row => ($$.axis && $$.isBubbleZType(row) ?
+				$$.getBubbleZData(row.value, "z") :
+				$$.getBaseValue(row));
+		const getBgColor = $$.levelColor ? row => $$.levelColor(row.value) : row => color(row);
+		const contents = config.tooltip_contents;
+		const tplStr = contents.template;
+		const targetIds = $$.mapToTargetIds();
+
+		if (order === null && config.data_groups.length) {
+			// for stacked data, order should aligned with the visually displayed data
+			const ids = $$.orderTargets($$.data.targets)
+				.map(i2 => i2.id)
+				.reverse();
+
+			d.sort((a, b) => {
+				let v1 = a ? a.value : null;
+				let v2 = b ? b.value : null;
+
+				if (v1 > 0 && v2 > 0) {
+					v1 = a.id ? ids.indexOf(a.id) : null;
+					v2 = b.id ? ids.indexOf(b.id) : null;
+				}
+
+				return v1 - v2;
+			});
+		} else if (/^(asc|desc)$/.test(order)) {
+			const isAscending = order === "asc";
+
+			d.sort((a, b) => {
+				const v1 = a ? getRowValue(a) : null;
+				const v2 = b ? getRowValue(b) : null;
+
+				return isAscending ? v1 - v2 : v2 - v1;
+			});
+		} else if (isFunction(order)) {
+			d.sort(order.bind(api));
+		}
+
+		const tpl = $$.getTooltipContentTemplate(tplStr);
+		const len = d.length;
+		let text;
+		let row;
+		let param;
+		let value;
+		let i;
+
+		for (i = 0; i < len; i++) {
+			row = d[i];
+
+			if (!row || !(getRowValue(row) || getRowValue(row) === 0)) {
+				continue;
+			}
+
+			if (isUndefined(text)) {
+				const title = (state.hasAxis || state.hasRadar) && titleFormat(row.x);
+
+				text = tplProcess(tpl[0], {
+					CLASS_TOOLTIP: $TOOLTIP.tooltip,
+					TITLE: isValue(title) ?
+						(
+							tplStr ? title : `<tr><th colspan="2">${title}</th></tr>`
+						) :
+						""
+				});
+			}
+
+			if (!row.ratio && $el.arcs) {
+				param = ["arc", $$.$el.arcs.select(`path.${$ARC.arc}-${row.id}`).data()[0]];
+				row.ratio = $$.getRatio(...param);
+			}
+
+			// arrange param to be passed to formatter
+			param = [row.ratio, row.id, row.index];
+
+			if ($$.isAreaRangeType(row)) {
+				const [high, low] = ["high", "low"].map(v =>
+					valueFormat($$.getRangedData(row, v), ...param)
+				);
+				const mid = valueFormat(getRowValue(row), ...param);
+
+				value = `<b>Mid:</b> ${mid} <b>High:</b> ${high} <b>Low:</b> ${low}`;
+			} else if ($$.isCandlestickType(row)) {
+				const [open, high, low, close, volume] = ["open", "high", "low", "close", "volume"]
+					.map(v => {
+						const value = $$.getRangedData(row, v, "candlestick");
+
+						return value ?
+							valueFormat(
+								$$.getRangedData(row, v, "candlestick"),
+								...param
+							) :
+							undefined;
+					});
+
+				value =
+					`<b>Open:</b> ${open} <b>High:</b> ${high} <b>Low:</b> ${low} <b>Close:</b> ${close}${
+						volume ? ` <b>Volume:</b> ${volume}` : ""
+					}`;
+			} else if ($$.isBarRangeType(row)) {
+				const {value: rangeValue, id, index} = row;
+
+				value = `${valueFormat(rangeValue, undefined, id, index)}`;
+			} else {
+				value = valueFormat(getRowValue(row), ...param);
+			}
+
+			if (value !== undefined) {
+				// Skip elements when their name is set to null
+				if (row.name === null) {
+					continue;
+				}
+
+				const name = nameFormat(row.name ?? row.id, ...param);
+				const color = getBgColor(row);
+				const contentValue = {
+					CLASS_TOOLTIP_NAME: $TOOLTIP.tooltipName + $$.getTargetSelectorSuffix(row.id),
+					COLOR: (tplStr || !$$.patterns) ?
+						color :
+						`<svg><rect style="fill:${color}" width="10" height="10"></rect></svg>`,
+					NAME: name,
+					VALUE: value
+				};
+
+				if (tplStr && isObject(contents.text)) {
+					const index = targetIds.indexOf(row.id);
+
+					Object.keys(contents.text).forEach(key => {
+						contentValue[key] = contents.text[key][index];
+					});
+				}
+
+				text += tplProcess(tpl[1], contentValue);
+			}
+		}
+
+		return `${text}</table>`;
+	},
+
+	/**
+	 * Get the content template string
+	 * @param {string} tplStr Tempalte string
+	 * @returns {Array} Template string
+	 * @private
+	 */
+	getTooltipContentTemplate(tplStr?: string): string[] {
+		return (tplStr || `<table class="{=CLASS_TOOLTIP}"><tbody>
+				{=TITLE}
+				{{<tr class="{=CLASS_TOOLTIP_NAME}">
+					<td class="name">${
+			this.patterns ? `{=COLOR}` : `<span style="background-color:{=COLOR}"></span>`
+		}{=NAME}</td>
+					<td class="value">{=VALUE}</td>
+				</tr>}}
+			</tbody></table>`)
+			.replace(/(\r?\n|\t)/g, "")
+			.split(/{{(.*)}}/);
+	},
+
+	/**
+	 * Update tooltip position coordinate
+	 * @param {object} dataToShow Data object
+	 * @param {SVGElement} eventTarget Event element
+	 * @private
+	 */
+	setTooltipPosition(dataToShow: IDataRow[], eventTarget: SVGElement): void {
+		const $$ = this;
+		const {config, scale, state, $el: {eventRect, tooltip, svg}} = $$;
+		const {bindto} = config.tooltip_contents;
+		const isRotated = config.axis_rotated;
+		const datum = tooltip?.datum();
+
+		if (!bindto && datum) {
+			const data = dataToShow ?? JSON.parse(datum.current);
+			const [x, y] = getPointer(state.event, eventTarget ?? eventRect?.node()); // get mouse event position
+			const currPos: {
+				x: number,
+				y: number,
+				xAxis?: number,
+				yAxis?: number | (
+					(value: number, id?: string, axisId?: string) => number
+				)
+			} = {x, y};
+
+			if (state.hasAxis && scale.x && datum && "x" in datum) {
+				const getYPos = (value = 0, id?: string, axisId = "y"): number => {
+					const scaleFn = scale[id ? $$.axis?.getId(id) : axisId];
+
+					return scaleFn ?
+						scaleFn(value) + (isRotated ? state.margin.left : state.margin.top) :
+						0;
+				};
+
+				currPos.xAxis = scale.x(datum.x) + (
+					// add margin only when user specified tooltip.position function
+					config.tooltip_position ? (isRotated ? state.margin.top : state.margin.left) : 0
+				);
+
+				if (data.length === 1) {
+					currPos.yAxis = getYPos(data[0].value as number, data[0].id);
+				} else {
+					currPos.yAxis = getYPos;
+				}
+			}
+
+			const {width = 0, height = 0} = datum;
+
+			// Get tooltip position
+			const pos = config.tooltip_position?.bind($$.api)(
+				data,
+				width,
+				height,
+				eventRect?.node(),
+				currPos
+			) ?? (
+				hasViewBox(svg) ?
+					$$.getTooltipPositionViewBox.bind($$)(width, height, currPos) :
+					$$.getTooltipPosition.bind($$)(width, height, currPos)
+			);
+
+			["top", "left"].forEach(v => {
+				const value = pos[v];
+
+				tooltip.style(v, `${value}px`);
+
+				// Remember left pos in percentage to be used on resize call
+				if (v === "left" && !datum.xPosInPercent) {
+					datum.xPosInPercent = value / state.current.width * 100;
+				}
+			});
+		}
+	},
+
+	/**
+	 * Get tooltip position when svg has vieBox attribute
+	 * @param {number} tWidth Tooltip width value
+	 * @param {number} tHeight Tooltip height value
+	 * @param {object} currPos Current event position value from SVG coordinate
+	 * @returns {object} top, left value
+	 */
+	getTooltipPositionViewBox(tWidth: number, tHeight: number,
+		currPos: {[key: string]: number}): {top: number, left: number} {
+		const $$ = this;
+		const {$el: {eventRect, svg}, config, state} = $$;
+
+		const isRotated = config.axis_rotated;
+		const hasArcType = $$.hasArcType() || state.hasFunnel || state.hasTreemap;
+		const target = (hasArcType ? svg : eventRect)?.node() ?? state.event.target;
+
+		let {x, y} = currPos;
+
+		if (state.hasAxis) {
+			x = isRotated ? x : currPos.xAxis;
+			y = isRotated ? currPos.xAxis : y;
+		}
+
+		// currPos value based on SVG coordinate
+		const ctm = getTransformCTM(target, x, y, false);
+		const rect = target.getBoundingClientRect();
+		const size = getTransformCTM(target, 20, 0, false).x;
+
+		let top = ctm.y;
+		let left = ctm.x + (tWidth / 2) + size;
+
+		if (hasArcType) {
+			if (state.hasFunnel || state.hasTreemap || state.hasRadar) {
+				left -= (tWidth / 2) + size;
+				top += tHeight;
+			} else {
+				top += rect.height / 2;
+				left += (rect.width / 2) - (tWidth - size);
+			}
+		}
+
+		if (left + tWidth > rect.width) {
+			left = rect.width - tWidth - size;
+		}
+
+		if (top + tHeight > rect.height) {
+			top -= tHeight * 2;
+		}
+
+		return {
+			top,
+			left
+		};
+	},
+
+	/**
+	 * Returns the position of the tooltip
+	 * @param {string} tWidth Width value of tooltip element
+	 * @param {string} tHeight Height value of tooltip element
+	 * @param {object} currPos Current mouse position
+	 * @returns {object} top, left value
+	 * @private
+	 */
+	getTooltipPosition(tWidth: number, tHeight: number,
+		currPos: {[key: string]: number}): {top: number, left: number} {
+		const $$ = this;
+		const {config, scale, state} = $$;
+		const {width, height, current, hasFunnel, hasRadar, hasTreemap, isLegendRight, inputType} =
+			state;
+		const hasGauge = $$.hasType("gauge") && !config.gauge_fullCircle;
+		const isRotated = config.axis_rotated;
+		const hasArcType = $$.hasArcType();
+		const svgLeft = $$.getSvgLeft(true);
+		let chartRight = svgLeft + current.width - $$.getCurrentPaddingByDirection("right");
+
+		const size = 20;
+		let {x, y} = currPos;
+
+		// Determine tooltip position
+		if (hasRadar) {
+			x += x >= (width / 2) ? 15 : -(tWidth + 15);
+			y += 15;
+		} else if (hasArcType) {
+			const notTouch = inputType !== "touch";
+
+			if (notTouch) {
+				let titlePadding = $$.getTitlePadding?.() ?? 0;
+
+				if (titlePadding && hasGauge && config.arc_rangeText_values?.length) {
+					titlePadding += 10;
+				}
+
+				x += (width - (isLegendRight ? $$.getLegendWidth() : 0)) / 2;
+				y += (hasGauge ? height : (height / 2) + tHeight) + titlePadding;
+			}
+		} else if (hasFunnel || hasTreemap) {
+			y += tHeight;
+		} else {
+			const padding = {
+				top: $$.getCurrentPaddingByDirection("top", true),
+				left: $$.getCurrentPaddingByDirection("left", true)
+			};
+
+			if (isRotated) {
+				x += svgLeft + padding.left + size;
+				y = padding.top + currPos.xAxis + size;
+				chartRight -= svgLeft;
+			} else {
+				x = svgLeft + padding.left + size + (scale.zoom ? x : currPos.xAxis);
+				y += padding.top - 5;
+			}
+		}
+
+		// when tooltip left + tWidth > chart's width
+		if ((x + tWidth + 15) > chartRight) {
+			x -= tWidth + (hasFunnel || hasTreemap || hasArcType ? 0 : (isRotated ? size * 2 : 38));
+		}
+
+		if (y + tHeight > current.height) {
+			const gap = hasTreemap ? tHeight + 10 : 30;
+
+			y -= hasGauge ? tHeight * 1.5 : tHeight + gap;
+		}
+
+		const pos = {top: y, left: x};
+
+		// make sure to not be positioned out of viewport
+		Object.keys(pos).forEach(v => {
+			if (pos[v] < 0) {
+				pos[v] = 0;
+			}
+		});
+
+		return pos;
+	},
+
+	/**
+	 * Show the tooltip
+	 * @param {object} selectedData Data object
+	 * @param {SVGElement} eventTarget Event element
+	 * @private
+	 */
+	showTooltip(selectedData: IDataRow[], eventTarget: SVGElement): void {
+		const $$ = this;
+		const {config, $el: {tooltip}} = $$;
+		const dataToShow = selectedData.filter(d => d && isValue($$.getBaseValue(d)));
+
+		if (!tooltip || dataToShow.length === 0 || !config.tooltip_show) {
+			return;
+		}
+
+		let datum = tooltip.datum();
+		const dataStr = JSON.stringify(selectedData);
+
+		if (!datum || datum.current !== dataStr) {
+			const {index, x} = selectedData.concat().sort()[0];
+
+			callFn(config.tooltip_onshow, $$.api, selectedData);
+
+			// set tooltip content
+			tooltip
+				.html($$.getTooltipHTML(
+					selectedData, // data
+					$$.axis ? $$.axis.getXAxisTickFormat() : $$.categoryName.bind($$), // defaultTitleFormat
+					$$.getDefaultValueFormat(), // defaultValueFormat
+					$$.color // color
+				))
+				.style("display", null)
+				.style("visibility", null) // for IE9
+				.datum(datum = {
+					index,
+					x,
+					current: dataStr,
+					width: tooltip.property("offsetWidth"),
+					height: tooltip.property("offsetHeight")
+				});
+
+			callFn(config.tooltip_onshown, $$.api, selectedData);
+			$$._handleLinkedCharts(true, index);
+		}
+
+		$$.setTooltipPosition(dataToShow, eventTarget);
+	},
+
+	/**
+	 * Adjust tooltip position on resize event
+	 * @private
+	 */
+	bindTooltipResizePos(): void {
+		const $$ = this;
+		const {resizeFunction, state, $el: {tooltip}} = $$;
+
+		resizeFunction.add(() => {
+			if (tooltip.style("display") === "block") {
+				const {current} = state;
+				const {width, xPosInPercent} = tooltip.datum();
+				let value = current.width / 100 * xPosInPercent;
+				const diff = current.width - (value + width);
+
+				// if tooltip size overs current viewport size
+				if (diff < 0) {
+					value += diff;
+				}
+
+				tooltip.style("left", `${value}px`);
+			}
+		});
+	},
+
+	/**
+	 * Hide the tooltip
+	 * @param {boolean} force Force to hide
+	 * @private
+	 */
+	hideTooltip(force?: boolean): void {
+		const $$ = this;
+		const {api, config, $el: {tooltip}} = $$;
+
+		if (
+			tooltip && tooltip.style("display") !== "none" && (!config.tooltip_doNotHide || force)
+		) {
+			const selectedData = JSON.parse(tooltip.datum().current ?? {});
+
+			callFn(config.tooltip_onhide, api, selectedData);
+
+			// hide tooltip
+			tooltip
+				.style("display", "none")
+				.style("visibility", "hidden") // for IE9
+				.datum(null);
+
+			callFn(config.tooltip_onhidden, api, selectedData);
+		}
+	},
+
+	/**
+	 * Toggle display for linked chart instances
+	 * @param {boolean} show true: show, false: hide
+	 * @param {number} index x Axis index
+	 * @private
+	 */
+	_handleLinkedCharts(show: boolean, index: number): void {
+		const $$ = this;
+		const {charts, config, state: {event}} = $$;
+
+		// Prevent propagation among instances if isn't instantiated from the user's event
+		// https://github.com/naver/billboard.js/issues/1979
+		if (event?.isTrusted && config.tooltip_linked && charts.length > 1) {
+			const linkedName = config.tooltip_linked_name;
+
+			charts
+				.filter(c => c !== $$.api)
+				.forEach(c => {
+					const {config, $el} = c.internal;
+					const isLinked = config.tooltip_linked;
+					const name = config.tooltip_linked_name;
+					const isInDom = document.body.contains($el.chart.node());
+
+					if (isLinked && linkedName === name && isInDom) {
+						const data = $el.tooltip.data()[0];
+						const isNotSameIndex = index !== data?.index;
+
+						try {
+							c.tooltip[
+								show && isNotSameIndex ? "show" : "hide"
+							]({index});
+						} catch {}
+					}
+				});
+		}
+	},
+
+	/**
+	 * Update tooltip content on redraw
+	 * - In a situation where tooltip is displayed and data load happens, it should reflect loaded data to tooltip
+	 * @param {d3Selection} context Event rect element
+	 * @param {number} index Data index
+	 * @private
+	 */
+	updateTooltipOnRedraw(context?: SVGRectElement, index?: number): void {
+		const $$ = this;
+		const {
+			config,
+			$el: {eventRect, svg, tooltip},
+			state: {event, hasAxis, hasRadar, hasTreemap}
+		} = $$;
+
+		// Update tooltip, when tooltip is in shown state
+		if (tooltip?.style("display") === "block" && event) {
+			const rect = context ?? (hasRadar ? svg : eventRect)?.node();
+
+			// for Axis based & Radar
+			if (hasAxis || hasRadar) {
+				if ($$.isMultipleX()) {
+					$$.selectRectForMultipleXs(rect, false);
+				} else {
+					const idx = index ?? $$.getDataIndexFromEvent(event);
+
+					if (index === -1) {
+						$$.api.tooltip.hide();
+					} else {
+						$$.selectRectForSingle(rect, idx);
+						$$.setExpand(idx, null, true);
+					}
+				}
+			} else { // for Arc & Treemap
+				const {clientX, clientY} = event;
+
+				setTimeout(() => {
+					let target = [clientX, clientY].every(Number.isFinite) &&
+						document.elementFromPoint(clientX, clientY);
+					const data = target && d3Select(target).datum() as IArcData;
+
+					if (data) {
+						const d = $$.hasArcType() ?
+							$$.convertToArcData($$.updateAngle(data)) :
+							data?.data;
+
+						hasTreemap && (target = svg.node());
+						d && $$.showTooltip([d], target);
+					} else {
+						$$.api.tooltip.hide();
+					}
+				}, config.transition_duration);
+			}
+		}
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/ChartInternal_shape_area.ts.html b/release/3.14.2/doc/ChartInternal_shape_area.ts.html new file mode 100644 index 000000000..b8a3c3909 --- /dev/null +++ b/release/3.14.2/doc/ChartInternal_shape_area.ts.html @@ -0,0 +1,281 @@ + + + + + + ChartInternal/shape/area.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

ChartInternal/shape/area.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {select as d3Select} from "d3-selection";
+import {area as d3Area} from "d3-shape";
+import {d3Selection} from "../../../types";
+import {$AREA, $CIRCLE, $LINE} from "../../config/classes";
+import {getRandom} from "../../module/util";
+import type {IData, IDataRow} from "../data/IData";
+
+type Indices = {[key: string | "__max__"]: number};
+
+export default {
+	initArea(mainLine: d3Selection): void {
+		const $$ = this;
+		const {config} = $$;
+
+		mainLine
+			.insert("g", `.${config.area_front ? $CIRCLE.circles : $LINE.lines}`)
+			.attr("class", $$.getClass("areas", true));
+	},
+
+	/**
+	 * Update area color
+	 * @param {object} d Data object
+	 * @returns {string} Color string
+	 * @private
+	 */
+	updateAreaColor(d: IDataRow): string {
+		const $$ = this;
+
+		return $$.config.area_linearGradient ? $$.getGradienColortUrl(d.id) : $$.color(d);
+	},
+
+	/**
+	 * Generate/Update elements
+	 * @param {boolean} withTransition Transition for exit elements
+	 * @param {boolean} isSub Subchart draw
+	 * @private
+	 */
+	updateArea(withTransition: boolean, isSub = false): void {
+		const $$ = this;
+		const {config, state, $el, $T} = $$;
+		const $root = isSub ? $el.subchart : $el;
+
+		config.area_linearGradient && $$.updateLinearGradient();
+
+		const area = $root.main.selectAll(`.${$AREA.areas}`)
+			.selectAll(`.${$AREA.area}`)
+			.data($$.lineData.bind($$));
+
+		$T(area.exit(), withTransition)
+			.style("opacity", "0")
+			.remove();
+
+		$root.area = area.enter().append("path")
+			.attr("class", $$.getClass("area", true))
+			.style("fill", $$.updateAreaColor.bind($$))
+			.style("opacity", function() {
+				state.orgAreaOpacity = d3Select(this).style("opacity");
+				return "0";
+			})
+			.merge(area);
+
+		area.style("opacity", state.orgAreaOpacity);
+
+		// calculate ratio if grouped data exists
+		$$.setRatioForGroupedData($root.area.data());
+	},
+
+	/**
+	 * Redraw function
+	 * @param {Function} drawFn Retuned functino from .generateDrawCandlestick()
+	 * @param {boolean} withTransition With or without transition
+	 * @param {boolean} isSub Subchart draw
+	 * @returns {Array}
+	 */
+	redrawArea(drawFn: Function, withTransition?: boolean, isSub = false): d3Selection[] {
+		const $$ = this;
+		const {area} = isSub ? this.$el.subchart : this.$el;
+		const {orgAreaOpacity} = $$.state;
+
+		return [
+			$$.$T(area, withTransition, getRandom())
+				.attr("d", drawFn)
+				.style("fill", $$.updateAreaColor.bind($$))
+				.style("opacity",
+					d => String($$.isAreaRangeType(d) ? orgAreaOpacity / 1.75 : orgAreaOpacity))
+		];
+	},
+
+	/**
+	 * Generate area path data
+	 * @param {object} areaIndices Indices
+	 * @param {boolean} isSub Weather is sub axis
+	 * @returns {Function}
+	 * @private
+	 */
+	generateDrawArea(areaIndices: Indices, isSub?: boolean): (d: IData) => string {
+		const $$ = this;
+		const {config} = $$;
+		const lineConnectNull = config.line_connectNull;
+		const isRotated = config.axis_rotated;
+
+		const getPoints = $$.generateGetAreaPoints(areaIndices, isSub);
+		const yScale = $$.getYScaleById.bind($$);
+
+		const xValue = d => (isSub ? $$.subxx : $$.xx).call($$, d);
+		const value0 = (d, i) => ($$.isGrouped(d.id) ? getPoints(d, i)[0][1] : yScale(d.id, isSub)(
+			$$.isAreaRangeType(d) ? $$.getRangedData(d, "high") : $$.getShapeYMin(d.id)
+		));
+		const value1 = (d, i) => ($$.isGrouped(d.id) ? getPoints(d, i)[1][1] : yScale(d.id, isSub)(
+			$$.isAreaRangeType(d) ? $$.getRangedData(d, "low") : d.value
+		));
+
+		return d => {
+			let values = lineConnectNull ? $$.filterRemoveNull(d.values) : d.values;
+			let x0 = 0;
+			let y0 = 0;
+			let path;
+
+			if ($$.isAreaType(d)) {
+				let area = d3Area();
+
+				area = isRotated ?
+					area.y(xValue)
+						.x0(value0)
+						.x1(value1) :
+					area.x(xValue)
+						.y0(config.area_above ? 0 : (
+							config.area_below ? $$.state.height : value0
+						))
+						.y1(value1);
+
+				if (!lineConnectNull) {
+					area = area.defined(d => $$.getBaseValue(d) !== null);
+				}
+
+				if ($$.isStepType(d)) {
+					values = $$.convertValuesToStep(values);
+				}
+
+				path = area.curve($$.getCurve(d))(values);
+			} else {
+				if (values[0]) {
+					x0 = $$.scale.x(values[0].x);
+					y0 = $$.getYScaleById(d.id)(values[0].value);
+				}
+
+				path = isRotated ? `M ${y0} ${x0}` : `M ${x0} ${y0}`;
+			}
+
+			return path || "M 0 0";
+		};
+	},
+
+	generateGetAreaPoints(
+		areaIndices: Indices,
+		isSub?: boolean
+	): (d: IDataRow, i: number) => [number, number][] {
+		// partial duplication of generateGetBarPoints
+		const $$ = this;
+		const {config} = $$;
+		const x = $$.getShapeX(0, areaIndices, isSub);
+		const y = $$.getShapeY(!!isSub);
+		const areaOffset = $$.getShapeOffset($$.isAreaType, areaIndices, isSub);
+		const yScale = $$.getYScaleById.bind($$);
+
+		return function(d, i) {
+			const y0 = yScale.call($$, d.id, isSub)($$.getShapeYMin(d.id));
+			const offset = areaOffset(d, i) || y0; // offset is for stacked area chart
+			const posX = x(d);
+			const value = d.value as number;
+			let posY = y(d);
+
+			// fix posY not to overflow opposite quadrant
+			if (
+				config.axis_rotated && (
+					(value > 0 && posY < y0) || (value < 0 && y0 < posY)
+				)
+			) {
+				posY = y0;
+			}
+
+			// 1 point that marks the area position
+			return [
+				[posX, offset],
+				[posX, posY - (y0 - offset)],
+				[posX, posY - (y0 - offset)], // needed for compatibility
+				[posX, offset] // needed for compatibility
+			];
+		};
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/ChartInternal_shape_bar.ts.html b/release/3.14.2/doc/ChartInternal_shape_bar.ts.html new file mode 100644 index 000000000..6ab1d4c7d --- /dev/null +++ b/release/3.14.2/doc/ChartInternal_shape_bar.ts.html @@ -0,0 +1,433 @@ + + + + + + ChartInternal/shape/bar.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

ChartInternal/shape/bar.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import type {DataRow} from "../../../types/types";
+import {$BAR, $COMMON} from "../../config/classes";
+import {getRandom, isNumber} from "../../module/util";
+import type {IBarData} from "../data/IData";
+import type {IOffset} from "./shape";
+
+type BarTypeDataRow = DataRow<number | number[]>;
+
+export default {
+	initBar(): void {
+		const {$el, config, state: {clip}} = this;
+
+		$el.bar = $el.main.select(`.${$COMMON.chart}`);
+
+		$el.bar = config.bar_front ? $el.bar.append("g") : $el.bar.insert("g", ":first-child");
+
+		$el.bar
+			.attr("class", $BAR.chartBars)
+			.call(this.setCssRule(false, `.${$BAR.chartBars}`, ["pointer-events:none"]));
+
+		// set clip-path attribute when condition meet
+		// https://github.com/naver/billboard.js/issues/2421
+		if (
+			config.clipPath === false && (
+				config.bar_radius || config.bar_radius_ratio
+			)
+		) {
+			$el.bar.attr("clip-path", clip.pathXAxis.replace(/#[^)]*/, `#${clip.id}`));
+		}
+	},
+
+	updateTargetsForBar(targets: BarTypeDataRow[]): void {
+		const $$ = this;
+		const {config, $el} = $$;
+		const classChartBar = $$.getChartClass("Bar");
+		const classBars = $$.getClass("bars", true);
+		const classFocus = $$.classFocus.bind($$);
+		const isSelectable = config.interaction_enabled && config.data_selection_isselectable;
+
+		if (!$el.bar) {
+			$$.initBar();
+		}
+
+		const mainBarUpdate = $el.main.select(`.${$BAR.chartBars}`)
+			.selectAll(`.${$BAR.chartBar}`)
+			.data(
+				// remove
+				targets.filter(
+					v => v.values.some(d => (isNumber(d.value) || $$.isBarRangeType(d)))
+				)
+			)
+			.attr("class", d => classChartBar(d) + classFocus(d));
+
+		const mainBarEnter = mainBarUpdate.enter().append("g")
+			.attr("class", classChartBar)
+			.style("opacity", "0")
+			.style("pointer-events", $$.getStylePropValue("none"));
+
+		// Bars for each data
+		mainBarEnter.append("g")
+			.attr("class", classBars)
+			.style("cursor", d => (isSelectable?.bind?.($$.api)(d) ? "pointer" : null))
+			.call($$.setCssRule(true, ` .${$BAR.bar}`, ["fill"], $$.color));
+	},
+
+	/**
+	 * Generate/Update elements
+	 * @param {boolean} withTransition Transition for exit elements
+	 * @param {boolean} isSub Subchart draw
+	 * @private
+	 */
+	updateBar(withTransition: boolean, isSub = false): void {
+		const $$ = this;
+		const {config, $el, $T} = $$;
+		const $root = isSub ? $el.subchart : $el;
+		const classBar = $$.getClass("bar", true);
+		const initialOpacity = $$.initialOpacity.bind($$);
+
+		config.bar_linearGradient && $$.updateLinearGradient();
+
+		const bar = $root.main.selectAll(`.${$BAR.bars}`)
+			.selectAll(`.${$BAR.bar}`)
+			.data($$.labelishData.bind($$));
+
+		$T(bar.exit(), withTransition)
+			.style("opacity", "0")
+			.remove();
+
+		$root.bar = bar.enter().append("path")
+			.attr("class", classBar)
+			.style("fill", $$.updateBarColor.bind($$))
+			.merge(bar)
+			.style("opacity", initialOpacity);
+
+		// calculate ratio if grouped data exists
+		$$.setRatioForGroupedData($root.bar.data());
+	},
+
+	/**
+	 * Update bar color
+	 * @param {object} d Data object
+	 * @returns {string} Color string
+	 * @private
+	 */
+	updateBarColor(d: IBarData): string {
+		const $$ = this;
+		const fn = $$.getStylePropValue($$.color);
+
+		return $$.config.bar_linearGradient ? $$.getGradienColortUrl(d.id) : (fn ? fn(d) : null);
+	},
+
+	/**
+	 * Redraw function
+	 * @param {Function} drawFn Retuned function from .getDrawShape() => .generateDrawBar()
+	 * @param {boolean} withTransition With or without transition
+	 * @param {boolean} isSub Subchart draw
+	 * @returns {Array}
+	 * @private
+	 */
+	redrawBar(drawFn, withTransition?: boolean, isSub = false) {
+		const $$ = this;
+		const {bar} = isSub ? $$.$el.subchart : $$.$el;
+
+		return [
+			$$.$T(bar, withTransition, getRandom())
+				.attr("d", d => (isNumber(d.value) || $$.isBarRangeType(d)) && drawFn(d))
+				.style("fill", $$.updateBarColor.bind($$))
+				.style("clip-path", d => d.clipPath)
+				.style("opacity", null)
+		];
+	},
+
+	/**
+	 * Generate draw function
+	 * @param {object} barIndices data order within x axis.
+	 * barIndices ==> {data1: 0, data2: 0, data3: 1, data4: 1, __max__: 1}
+	 *
+	 * When gropus given as:
+	 *  groups: [
+	 * 		["data1", "data2"],
+	 * 		["data3", "data4"]
+	 * 	],
+	 *
+	 * Will be rendered as:
+	 * 		data1 data3   data1 data3
+	 * 		data2 data4   data2 data4
+	 * 		-------------------------
+	 * 			 0             1
+	 * @param {boolean} isSub If is for subchart
+	 * @returns {Function}
+	 * @private
+	 */
+	generateDrawBar(barIndices, isSub?: boolean): (d: IBarData, i: number) => string {
+		const $$ = this;
+		const {config} = $$;
+		const getPoints = $$.generateGetBarPoints(barIndices, isSub);
+		const isRotated = config.axis_rotated;
+		const barRadius = config.bar_radius;
+		const barRadiusRatio = config.bar_radius_ratio;
+
+		// get the bar radius
+		const getRadius = isNumber(barRadius) && barRadius > 0 ? () => barRadius : (
+			isNumber(barRadiusRatio) ? w => w * barRadiusRatio : null
+		);
+
+		return (d: IBarData, i: number) => {
+			// 4 points that make a bar
+			const points = getPoints(d, i);
+
+			// switch points if axis is rotated, not applicable for sub chart
+			const indexX = +isRotated;
+			const indexY = +!indexX;
+
+			const isUnderZero = d.value as number < 0;
+			const isInverted = config[`axis_${$$.axis.getId(d.id)}_inverted`];
+			const isNegative = (!isInverted && isUnderZero) || (isInverted && !isUnderZero);
+
+			const pathRadius = ["", ""];
+			const isGrouped = $$.isGrouped(d.id);
+			const isRadiusData = getRadius && isGrouped ? $$.isStackingRadiusData(d) : false;
+			const init = [
+				points[0][indexX],
+				points[0][indexY]
+			];
+			let radius = 0;
+
+			// initialize as null to not set attribute if isn't needed
+			d.clipPath = null;
+
+			if (getRadius) {
+				const index = isRotated ? indexY : indexX;
+				const barW = points[2][index] - points[0][index];
+
+				radius = !isGrouped || isRadiusData ? getRadius(barW) : 0;
+
+				const arc = `a${radius} ${radius} ${isNegative ? `1 0 0` : `0 0 1`} `;
+
+				pathRadius[+!isRotated] = `${arc}${radius},${radius}`;
+				pathRadius[+isRotated] = `${arc}${
+					[-radius, radius][isRotated ? "sort" : "reverse"]()
+				}`;
+
+				isNegative && pathRadius.reverse();
+			}
+
+			const pos = isRotated ?
+				points[1][indexX] + (isNegative ? radius : -radius) :
+				points[1][indexY] + (isNegative ? -radius : radius);
+
+			// Apply clip-path in case of radius angle surpass the bar shape
+			// https://github.com/naver/billboard.js/issues/3903
+			if (radius) {
+				let clipPath = "";
+
+				if (isRotated) {
+					if (isNegative && init[0] < pos) {
+						clipPath = `0 ${pos - init[0]}px 0 0`;
+					} else if (!isNegative && init[0] > pos) {
+						clipPath = `0 0 0 ${init[0] - pos}px`;
+					}
+				} else {
+					if (isNegative && init[1] > pos) {
+						clipPath = `${init[1] - pos}px 0 0 0`;
+					} else if (!isNegative && init[1] < pos) {
+						clipPath = `0 0 ${pos - init[1]}px 0`;
+					}
+				}
+
+				if (clipPath) {
+					d.clipPath = `inset(${clipPath})`;
+				}
+			}
+
+			// path string data shouldn't be containing new line chars
+			// https://github.com/naver/billboard.js/issues/530
+			const path = isRotated ?
+				`H${pos} ${pathRadius[0]}V${points[2][indexY] - radius} ${pathRadius[1]}H${
+					points[3][indexX]
+				}` :
+				`V${pos} ${pathRadius[0]}H${points[2][indexX] - radius} ${pathRadius[1]}V${
+					points[3][indexY]
+				}`;
+
+			return `M${points[0][indexX]},${points[0][indexY]}${path}z`;
+		};
+	},
+
+	/**
+	 * Determine if given stacking bar data is radius type
+	 * @param {object} d Data row
+	 * @returns {boolean}
+	 */
+	isStackingRadiusData(d: IBarData): boolean {
+		const $$ = this;
+		const {$el, config, data, state} = $$;
+		const {id, index, value} = d;
+
+		// when the data is hidden, check if has rounded edges
+		if (state.hiddenTargetIds.indexOf(id) > -1) {
+			const target = $el.bar.filter(d => d.id === id && d.value === value);
+
+			return !target.empty() && /a\d+/i.test(target.attr("d"));
+		}
+
+		// Find same grouped ids
+		const keys = config.data_groups.find(v => v.indexOf(id) > -1);
+
+		// Get sorted list
+		const sortedList = $$.orderTargets(
+			$$.filterTargetsToShow(data.targets.filter($$.isBarType, $$))
+		).filter(v => keys.indexOf(v.id) > -1);
+
+		// Get sorted Ids. Filter positive or negative values Ids from given value
+		const sortedIds = sortedList
+			.map(v =>
+				v.values.filter(
+					v2 =>
+						v2.index === index && (
+							isNumber(value) && value > 0 ? v2.value > 0 : v2.value < 0
+						)
+				)[0]
+			)
+			.filter(Boolean)
+			.map(v => v.id);
+
+		// If the given id stays in the last position, then radius should be applied.
+		return value !== 0 && (sortedIds.indexOf(id) === sortedIds.length - 1);
+	},
+
+	/**
+	 * Generate bar coordinate points data
+	 * @param {object} barIndices Data order within x axis.
+	 * @param {boolean} isSub If is for subchart
+	 * @returns {Array} Array of coordinate points
+	 * @private
+	 */
+	generateGetBarPoints(barIndices,
+		isSub?: boolean): (d: IBarData, i: number) => [number, number][] {
+		const $$ = this;
+		const {config} = $$;
+		const axis = isSub ? $$.axis.subX : $$.axis.x;
+		const barTargetsNum = $$.getIndicesMax(barIndices) + 1;
+		const barW: IOffset = $$.getBarW("bar", axis, barTargetsNum);
+		const barX = $$.getShapeX(barW, barIndices, !!isSub);
+		const barY = $$.getShapeY(!!isSub);
+		const barOffset = $$.getShapeOffset($$.isBarType, barIndices, !!isSub);
+		const yScale = $$.getYScaleById.bind($$);
+
+		return (d: IBarData, i: number) => {
+			const {id} = d;
+			const y0 = yScale.call($$, id, isSub)($$.getShapeYMin(id));
+			const offset = barOffset(d, i) || y0; // offset is for stacked bar chart
+			const width = isNumber(barW) ? barW : barW[d.id] || barW._$width;
+			const isInverted = config[`axis_${$$.axis.getId(id)}_inverted`];
+			const value = d.value as number;
+			const posX = barX(d);
+			let posY = barY(d);
+
+			// fix posY not to overflow opposite quadrant
+			if (
+				config.axis_rotated && !isInverted && (
+					(value > 0 && posY < y0) || (value < 0 && y0 < posY)
+				)
+			) {
+				posY = y0;
+			}
+
+			if (!$$.isBarRangeType(d)) {
+				posY -= y0 - offset;
+			}
+
+			const startPosX = posX + width;
+
+			// 4 points that make a bar
+			return [
+				[posX, offset],
+				[posX, posY],
+				[startPosX, posY],
+				[startPosX, offset]
+			];
+		};
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/ChartInternal_shape_candlestick.ts.html b/release/3.14.2/doc/ChartInternal_shape_candlestick.ts.html new file mode 100644 index 000000000..c5d5c6f8b --- /dev/null +++ b/release/3.14.2/doc/ChartInternal_shape_candlestick.ts.html @@ -0,0 +1,342 @@ + + + + + + ChartInternal/shape/candlestick.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

ChartInternal/shape/candlestick.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {select as d3Select} from "d3-selection";
+import {$CANDLESTICK, $COMMON} from "../../config/classes";
+import {getRandom, isArray, isNumber, isObject} from "../../module/util";
+import type {IOffset} from "./shape";
+
+interface ICandlestickData {
+	open: number;
+	high: number;
+	low: number;
+	close: number;
+	volume?: number;
+}
+
+export default {
+	initCandlestick(): void {
+		const {$el} = this;
+
+		$el.candlestick = $el.main.select(`.${$COMMON.chart}`)
+			// should positioned at the beginning of the shape node to not overlap others
+			.append("g")
+			.attr("class", $CANDLESTICK.chartCandlesticks);
+	},
+
+	/**
+	 * Update targets by its data
+	 * called from: ChartInternal.updateTargets()
+	 * @param {Array} targets Filtered target by type
+	 * @private
+	 */
+	updateTargetsForCandlestick(targets): void {
+		const $$ = this;
+		const {$el} = $$;
+		const classChart = $$.getChartClass("Candlestick");
+
+		if (!$el.candlestick) {
+			$$.initCandlestick();
+		}
+
+		const mainUpdate = $$.$el.main.select(`.${$CANDLESTICK.chartCandlesticks}`)
+			.selectAll(`.${$CANDLESTICK.chartCandlestick}`)
+			.data(targets);
+
+		mainUpdate.enter().append("g")
+			.attr("class", classChart)
+			.style("pointer-events", "none");
+	},
+
+	/**
+	 * Generate/Update elements
+	 * @param {boolean} withTransition Transition for exit elements
+	 * @param {boolean} isSub Subchart draw
+	 * @private
+	 */
+	updateCandlestick(withTransition: boolean, isSub = false): void {
+		const $$ = this;
+		const {$el, $T} = $$;
+		const $root = isSub ? $el.subchart : $el;
+		const classSetter = $$.getClass("candlestick", true);
+		const initialOpacity = $$.initialOpacity.bind($$);
+
+		const candlestick = $root.main.selectAll(`.${$CANDLESTICK.chartCandlestick}`)
+			.selectAll(`.${$CANDLESTICK.candlestick}`)
+			.data($$.labelishData.bind($$));
+
+		$T(candlestick.exit(), withTransition)
+			.style("opacity", "0")
+			.remove();
+
+		const candlestickEnter = candlestick.enter()
+			.filter(d => d.value)
+			.append("g")
+			.attr("class", classSetter);
+
+		candlestickEnter.append("line");
+		candlestickEnter.append("path");
+
+		$root.candlestick = candlestick.merge(candlestickEnter)
+			.style("opacity", initialOpacity);
+	},
+
+	/**
+	 * Get draw function
+	 * @param {object} indices Indice data
+	 * @param {boolean} isSub Subchart draw
+	 * @returns {Function}
+	 * @private
+	 */
+	generateDrawCandlestick(indices, isSub) {
+		const $$ = this;
+		const {config} = $$;
+		const getPoints = $$.generateGetCandlestickPoints(indices, isSub);
+		const isRotated = config.axis_rotated;
+		const downColor = config.candlestick_color_down;
+
+		return (d, i, g) => {
+			const points = getPoints(d, i);
+			const value = $$.getCandlestickData(d);
+			const isUp = value?._isUp;
+
+			// switch points if axis is rotated, not applicable for sub chart
+			const indexX = +isRotated;
+			const indexY = +!indexX;
+
+			if (g.classed) {
+				g.classed($CANDLESTICK[isUp ? "valueUp" : "valueDown"], true);
+			}
+
+			const path = isRotated ?
+				`H${points[1][1]} V${points[1][0]} H${points[0][1]}` :
+				`V${points[1][1]} H${points[1][0]} V${points[0][1]}`;
+
+			g.select("path")
+				.attr("d", `M${points[0][indexX]},${points[0][indexY]}${path}z`)
+				.style("fill", d => {
+					const color = isUp ? $$.color(d) : (
+						isObject(downColor) ? downColor[d.id] : downColor
+					);
+
+					return color || $$.color(d);
+				});
+
+			// set line position
+			const line = g.select("line");
+			const pos = isRotated ?
+				{
+					x1: points[2][1],
+					x2: points[2][2],
+					y1: points[2][0],
+					y2: points[2][0]
+				} :
+				{
+					x1: points[2][0],
+					x2: points[2][0],
+					y1: points[2][1],
+					y2: points[2][2]
+				};
+
+			for (const x in pos) {
+				line.attr(x, pos[x]);
+			}
+		};
+	},
+
+	/**
+	 * Generate shape drawing points
+	 * @param {object} indices Indice data
+	 * @param {boolean} isSub Subchart draw
+	 * @returns {Function}
+	 */
+	generateGetCandlestickPoints(indices, isSub = false): (d, i) => number[][] {
+		const $$ = this;
+		const axis = isSub ? $$.axis.subX : $$.axis.x;
+		const targetsNum = $$.getIndicesMax(indices) + 1;
+		const barW: IOffset = $$.getBarW("candlestick", axis, targetsNum);
+		const x = $$.getShapeX(barW, indices, !!isSub);
+		const y = $$.getShapeY(!!isSub);
+		const shapeOffset = $$.getShapeOffset($$.isBarType, indices, !!isSub);
+		const yScale = $$.getYScaleById.bind($$);
+
+		return (d, i) => {
+			const y0 = yScale.call($$, d.id, isSub)($$.getShapeYMin(d.id));
+			const offset = shapeOffset(d, i) || y0; // offset is for stacked bar chart
+			const width = isNumber(barW) ? barW : barW[d.id] || barW._$width;
+			const value = $$.getCandlestickData(d);
+			let points;
+
+			if (value && isNumber(value.open) && isNumber(value.close)) {
+				const posX = {
+					start: x(d),
+					end: 0
+				};
+
+				posX.end = posX.start + width;
+
+				const posY = {
+					start: y(value.open),
+					end: y(value.close)
+				};
+				const posLine = {
+					x: posX.start + (width / 2),
+					high: y(value.high),
+					low: y(value.low)
+				};
+
+				posY.start -= y0 - offset;
+
+				points = [
+					[posX.start, posY.start],
+					[posX.end, posY.end],
+					[posLine.x, posLine.low, posLine.high]
+				];
+			} else {
+				points = [[0, 0], [0, 0], [0, 0, 0]];
+			}
+
+			return points;
+		};
+	},
+
+	/**
+	 * Redraw function
+	 * @param {Function} drawFn Retuned functino from .generateDrawCandlestick()
+	 * @param {boolean} withTransition With or without transition
+	 * @param {boolean} isSub Subchart draw
+	 * @returns {Array}
+	 */
+	redrawCandlestick(drawFn, withTransition?: boolean, isSub = false) {
+		const $$ = this;
+		const {$el, $T} = $$;
+		const {candlestick} = isSub ? $el.subchart : $el;
+		const rand = getRandom(true);
+
+		return [
+			candlestick
+				.each(function(d, i) {
+					const g = $T(d3Select(this), withTransition, rand);
+
+					drawFn(d, i, g);
+				})
+				.style("opacity", null)
+		];
+	},
+
+	/**
+	 * Get candlestick data as object
+	 * @param {object} param Data object
+	 * @param {Array|object} param.value Data value
+	 * @returns {object|null} Converted data object
+	 * @private
+	 */
+	getCandlestickData({value}): ICandlestickData | null {
+		let d;
+
+		if (isArray(value)) {
+			const [open, high, low, close, volume = false] = value;
+
+			d = {open, high, low, close};
+
+			if (volume !== false) {
+				d.volume = volume;
+			}
+		} else if (isObject(value)) {
+			d = {...value};
+		}
+
+		if (d) {
+			d._isUp = d.close >= d.open;
+		}
+
+		return d || null;
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/ChartInternal_shape_point.ts.html b/release/3.14.2/doc/ChartInternal_shape_point.ts.html new file mode 100644 index 000000000..8012feebd --- /dev/null +++ b/release/3.14.2/doc/ChartInternal_shape_point.ts.html @@ -0,0 +1,663 @@ + + + + + + ChartInternal/shape/point.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

ChartInternal/shape/point.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {select as d3Select} from "d3-selection";
+import type {d3Selection} from "../../../types/types";
+import {$CIRCLE, $COMMON, $SELECT} from "../../config/classes";
+import {
+	getBoundingRect,
+	getPointer,
+	getRandom,
+	isFunction,
+	isObject,
+	isUndefined,
+	isValue
+} from "../../module/util";
+import type {IDataPoint, IDataRow} from "../data/IData";
+
+const getTransitionName = () => getRandom();
+
+export default {
+	initialOpacityForCircle(d): string | number | null {
+		const {config, state: {withoutFadeIn}} = this;
+		let opacity = config.point_opacity;
+
+		if (isUndefined(opacity)) {
+			opacity = this.getBaseValue(d) !== null &&
+					withoutFadeIn[d.id] ?
+				this.opacityForCircle(d) :
+				"0";
+		}
+
+		return opacity;
+	},
+
+	opacityForCircle(d): string | number | null {
+		const {config} = this;
+		let opacity = config.point_opacity;
+
+		if (isUndefined(opacity)) {
+			opacity = config.point_show && !this.isPointFocusOnly?.() ? null : "0";
+
+			opacity = isValue(this.getBaseValue(d)) ?
+				(this.isBubbleType(d) || this.isScatterType(d) ? "0.5" : opacity) :
+				"0";
+		}
+
+		return opacity;
+	},
+
+	initCircle(): void {
+		const $$ = this;
+		const {$el: {main}} = $$;
+
+		!$$.point && ($$.point = $$.generatePoint());
+
+		if (
+			($$.hasType("bubble") || $$.hasType("scatter")) &&
+			main.select(`.${$COMMON.chart} > .${$CIRCLE.chartCircles}`).empty()
+		) {
+			main.select(`.${$COMMON.chart}`)
+				.append("g")
+				.attr("class", $CIRCLE.chartCircles);
+		}
+	},
+
+	updateTargetForCircle(targetsValue, enterNodeValue): void {
+		const $$ = this;
+		const {config, data, $el} = $$;
+		const selectionEnabled = config.interaction_enabled && config.data_selection_enabled;
+		const isSelectable = selectionEnabled && config.data_selection_isselectable;
+		const classCircles = $$.getClass("circles", true);
+
+		if (!config.point_show) {
+			return;
+		}
+
+		$$.initCircle();
+
+		let targets = targetsValue;
+		let enterNode = enterNodeValue;
+
+		// only for scatter & bubble type should generate seprate <g> node
+		if (!targets) {
+			targets = data.targets
+				.filter(d => this.isScatterType(d) || this.isBubbleType(d));
+
+			const mainCircle = $el.main.select(`.${$CIRCLE.chartCircles}`)
+				.style("pointer-events", "none")
+				.selectAll(`.${$CIRCLE.circles}`)
+				.data(targets);
+
+			mainCircle.exit().remove();
+			enterNode = mainCircle.enter();
+		}
+
+		// Circles for each data point on lines
+		selectionEnabled && enterNode.append("g")
+			.attr("class", d => $$.generateClass($SELECT.selectedCircles, d.id));
+
+		enterNode.append("g")
+			.attr("class", classCircles)
+			.call(selection => {
+				$$.setCssRule(true, `.${$CIRCLE.circles}`, ["cursor:pointer"], isSelectable)(
+					selection
+				);
+				$$.setCssRule(true, ` .${$CIRCLE.circle}`, ["fill", "stroke"], $$.color)(selection);
+			})
+			.style("opacity", function() {
+				const parent = d3Select(this.parentNode);
+
+				// if the parent node is .bb-chart-circles (bubble, scatter), initialize <g bb-circles> with opacity "0"
+				return parent.attr("class").indexOf($CIRCLE.chartCircles) > -1 ? "0" : null;
+			});
+
+		// Update date for selected circles
+		selectionEnabled && targets.forEach(t => {
+			$el.main.selectAll(`.${$SELECT.selectedCircles}${$$.getTargetSelectorSuffix(t.id)}`)
+				.selectAll(`${$SELECT.selectedCircle}`)
+				.each(d => {
+					d.value = t.values[d.index].value;
+				});
+		});
+	},
+
+	updateCircle(isSub = false): void {
+		const $$ = this;
+		const {config, state, $el} = $$;
+		const focusOnly = $$.isPointFocusOnly();
+		const $root = isSub ? $el.subchart : $el;
+
+		if (config.point_show && !state.toggling) {
+			config.point_radialGradient && $$.updateLinearGradient();
+
+			const circles = $root.main.selectAll(`.${$CIRCLE.circles}`)
+				.selectAll(`.${$CIRCLE.circle}`)
+				.data(d => (
+					($$.isLineType(d) && $$.shouldDrawPointsForLine(d)) ||
+						$$.isBubbleType(d) || $$.isRadarType(d) || $$.isScatterType(d) ?
+						(focusOnly ? [d.values[0]] : d.values) :
+						[]
+				));
+
+			circles.exit().remove();
+
+			circles.enter()
+				.filter(Boolean)
+				.append(
+					$$.point("create", this, $$.pointR.bind($$), $$.updateCircleColor.bind($$))
+				);
+
+			$root.circle = $root.main.selectAll(`.${$CIRCLE.circles} .${$CIRCLE.circle}`)
+				.style("stroke", $$.getStylePropValue($$.color))
+				.style("opacity", $$.initialOpacityForCircle.bind($$));
+		}
+	},
+
+	/**
+	 * Update circle color
+	 * @param {object} d Data object
+	 * @returns {string} Color string
+	 * @private
+	 */
+	updateCircleColor(d: IDataRow): string {
+		const $$ = this;
+		const fn = $$.getStylePropValue($$.color);
+
+		return $$.config.point_radialGradient ? $$.getGradienColortUrl(d.id) : (fn ? fn(d) : null);
+	},
+
+	redrawCircle(cx: Function, cy: Function, withTransition: boolean, flow, isSub = false) {
+		const $$ = this;
+		const {state: {rendered}, $el, $T} = $$;
+		const $root = isSub ? $el.subchart : $el;
+		const selectedCircles = $root.main.selectAll(`.${$SELECT.selectedCircle}`);
+
+		if (!$$.config.point_show) {
+			return [];
+		}
+
+		const fn = $$.point("update", $$, cx, cy, $$.updateCircleColor.bind($$), withTransition,
+			flow, selectedCircles);
+		const posAttr = $$.isCirclePoint() ? "c" : "";
+
+		const t = getRandom();
+		const opacityStyleFn = $$.opacityForCircle.bind($$);
+		const mainCircles: any[] = [];
+
+		$root.circle.each(function(d) {
+			let result: d3Selection | any = fn.bind(this)(d);
+
+			result = $T(result, withTransition || !rendered, t)
+				.style("opacity", opacityStyleFn);
+
+			mainCircles.push(result);
+		});
+
+		return [
+			mainCircles,
+			$T(selectedCircles, withTransition)
+				.attr(`${posAttr}x`, cx)
+				.attr(`${posAttr}y`, cy)
+		];
+	},
+
+	/**
+	 * Show focused data point circle
+	 * @param {object} d Selected data
+	 * @private
+	 */
+	showCircleFocus(d?: IDataRow[]): void {
+		const $$ = this;
+		const {state: {hasRadar, resizing, toggling, transiting}, $el} = $$;
+		let {circle} = $el;
+
+		if (transiting === false && circle && $$.isPointFocusOnly()) {
+			const cx = (hasRadar ? $$.radarCircleX : $$.circleX).bind($$);
+			const cy = (hasRadar ? $$.radarCircleY : $$.circleY).bind($$);
+			const withTransition = toggling || isUndefined(d);
+			const fn = $$.point("update", $$, cx, cy, $$.getStylePropValue($$.color),
+				resizing ? false : withTransition);
+
+			if (d) {
+				circle = circle
+					.filter(function(t) {
+						const data = d.filter?.(v => v.id === t.id);
+
+						return data.length ? d3Select(this).datum(data[0]) : false;
+					});
+			}
+
+			circle
+				.attr("class", this.updatePointClass.bind(this))
+				.style("opacity", null)
+				.each(function(d) {
+					const {id, index, value} = d;
+					let visibility = "hidden";
+
+					if (isValue(value)) {
+						fn.bind(this)(d);
+						$$.expandCircles(index, id);
+						visibility = "";
+					}
+
+					this.style.visibility = visibility;
+				});
+		}
+	},
+
+	/**
+	 * Hide focused data point circle
+	 * @private
+	 */
+	hideCircleFocus(): void {
+		const $$ = this;
+		const {$el: {circle}} = $$;
+
+		if ($$.isPointFocusOnly() && circle) {
+			$$.unexpandCircles();
+			circle.style("visibility", "hidden");
+		}
+	},
+
+	circleX(d): number | null {
+		return this.xx(d);
+	},
+
+	updateCircleY(isSub = false): Function {
+		const $$ = this;
+		const getPoints = $$.generateGetLinePoints($$.getShapeIndices($$.isLineType), isSub);
+
+		return (d, i) => {
+			const id = d.id;
+
+			return $$.isGrouped(id) ?
+				getPoints(d, i)[0][1] :
+				$$.getYScaleById(id, isSub)($$.getBaseValue(d));
+		};
+	},
+
+	expandCircles(i: number, id: string, reset?: boolean): void {
+		const $$ = this;
+		const r = $$.pointExpandedR.bind($$);
+
+		reset && $$.unexpandCircles();
+
+		const circles = $$.getShapeByIndex("circle", i, id).classed($COMMON.EXPANDED, true);
+		const scale = r(circles) / $$.config.point_r;
+		const ratio = 1 - scale;
+
+		if ($$.isCirclePoint()) {
+			circles.attr("r", r);
+		} else {
+			// transform must be applied to each node individually
+			circles.each(function() {
+				const point = d3Select(this);
+
+				if (this.tagName === "circle") {
+					point.attr("r", r);
+				} else {
+					const {width, height} = this.getBBox();
+					const x = ratio * (+point.attr("x") + width / 2);
+					const y = ratio * (+point.attr("y") + height / 2);
+
+					point.attr("transform", `translate(${x} ${y}) scale(${scale})`);
+				}
+			});
+		}
+	},
+
+	unexpandCircles(i): void {
+		const $$ = this;
+		const r = $$.pointR.bind($$);
+
+		const circles = $$.getShapeByIndex("circle", i)
+			.filter(function() {
+				return d3Select(this).classed($COMMON.EXPANDED);
+			})
+			.classed($COMMON.EXPANDED, false);
+
+		circles.attr("r", r);
+
+		if (!$$.isCirclePoint()) {
+			const scale = r(circles) / $$.config.point_r;
+
+			circles.attr("transform", scale !== 1 ? `scale(${scale})` : null);
+		}
+	},
+
+	pointR(d): number {
+		const $$ = this;
+		const {config} = $$;
+		const pointR = config.point_r;
+		let r = pointR;
+
+		if ($$.isBubbleType(d)) {
+			r = $$.getBubbleR(d);
+		} else if (isFunction(pointR)) {
+			r = pointR.bind($$.api)(d);
+		}
+
+		d.r = r;
+
+		return r;
+	},
+
+	pointExpandedR(d): number {
+		const $$ = this;
+		const {config} = $$;
+		const scale = $$.isBubbleType(d) ? 1.15 : 1.75;
+
+		return config.point_focus_expand_enabled ?
+			(config.point_focus_expand_r || $$.pointR(d) * scale) :
+			$$.pointR(d);
+	},
+
+	pointSelectR(d): number {
+		const $$ = this;
+		const selectR = $$.config.point_select_r;
+
+		return isFunction(selectR) ? selectR(d) : (selectR || $$.pointR(d) * 4);
+	},
+
+	/**
+	 * Check if point.focus.only option can be applied.
+	 * @returns {boolean}
+	 * @private
+	 */
+	isPointFocusOnly(): boolean {
+		const $$ = this;
+
+		return $$.config.point_focus_only &&
+			!$$.hasType("bubble") && !$$.hasType("scatter") && !$$.hasArcType(null, ["radar"]);
+	},
+
+	isWithinCircle(node: SVGElement, r?: number): boolean {
+		const {state} = this;
+		const mouse = getPointer(state.event, node);
+		const element = d3Select(node);
+		const prefix = this.isCirclePoint(node) ? "c" : "";
+		const pointSensitivity = this.getPointSensitivity(element?.datum());
+
+		let cx = +element.attr(`${prefix}x`);
+		let cy = +element.attr(`${prefix}y`);
+
+		// if node don't have cx/y or x/y attribute value
+		if (!(cx || cy) && node.nodeType === 1) {
+			const {x, y} = getBoundingRect(node);
+
+			cx = x;
+			cy = y;
+		}
+
+		return Math.sqrt(
+			Math.pow(cx - mouse[0], 2) + Math.pow(cy - mouse[1], 2)
+		) < (r || pointSensitivity);
+	},
+
+	/**
+	 * Get data point sensitivity radius
+	 * @param {object} d Data point object
+	 * @returns {number} return the sensitivity value
+	 */
+	getPointSensitivity(d: IDataPoint) {
+		const $$ = this;
+		let sensitivity = $$.config.point_sensitivity;
+
+		if (!d) {
+			return sensitivity;
+		} else if (isFunction(sensitivity)) {
+			sensitivity = sensitivity.call($$.api, d);
+		} else if (sensitivity === "radius") {
+			sensitivity = d.r;
+		}
+
+		return sensitivity;
+	},
+
+	updatePointClass(d) {
+		const $$ = this;
+		const {circle} = $$.$el;
+		let pointClass = false;
+
+		if (isObject(d) || circle) {
+			pointClass = d === true ?
+				circle.each(function(d) {
+					let className = $$.getClass("circle", true)(d);
+
+					if (this.getAttribute("class").indexOf($COMMON.EXPANDED) > -1) {
+						className += ` ${$COMMON.EXPANDED}`;
+					}
+
+					this.setAttribute("class", className);
+				}) :
+				$$.getClass("circle", true)(d);
+		}
+
+		return pointClass;
+	},
+
+	generateGetLinePoints(lineIndices, isSub?: boolean): Function { // partial duplication of generateGetBarPoints
+		const $$ = this;
+		const {config} = $$;
+		const x = $$.getShapeX(0, lineIndices, isSub);
+		const y = $$.getShapeY(isSub);
+		const lineOffset = $$.getShapeOffset($$.isLineType, lineIndices, isSub);
+		const yScale = $$.getYScaleById.bind($$);
+
+		return (d, i) => {
+			const y0 = yScale.call($$, d.id, isSub)($$.getShapeYMin(d.id));
+			const offset = lineOffset(d, i) || y0; // offset is for stacked area chart
+			const posX = x(d);
+			let posY = y(d);
+
+			// fix posY not to overflow opposite quadrant
+			if (
+				config.axis_rotated && (
+					(d.value > 0 && posY < y0) || (d.value < 0 && y0 < posY)
+				)
+			) {
+				posY = y0;
+			}
+
+			// 1 point that marks the line position
+			const point = [posX, posY - (y0 - offset)];
+
+			return [
+				point,
+				point, // from here and below, needed for compatibility
+				point,
+				point
+			];
+		};
+	},
+
+	custom: {
+		create(element, id, fillStyleFn) {
+			return element.append("use")
+				.attr("xlink:href", `#${id}`)
+				.attr("class", this.updatePointClass.bind(this))
+				.style("fill", fillStyleFn)
+				.node();
+		},
+
+		update(element, xPosFn, yPosFn, fillStyleFn, withTransition, flow, selectedCircles) {
+			const $$ = this;
+			const {width, height} = element.node().getBBox();
+
+			const xPosFn2 = d => (isValue(d.value) ? xPosFn(d) - width / 2 : 0);
+			const yPosFn2 = d => (isValue(d.value) ? yPosFn(d) - height / 2 : 0);
+			let mainCircles = element;
+
+			if (withTransition) {
+				flow && mainCircles.attr("x", xPosFn2);
+
+				mainCircles = $$.$T(mainCircles, withTransition, getTransitionName());
+				selectedCircles && $$.$T(selectedCircles, withTransition, getTransitionName());
+			}
+
+			return mainCircles
+				.attr("x", xPosFn2)
+				.attr("y", yPosFn2)
+				.style("fill", fillStyleFn);
+		}
+	},
+
+	// 'circle' data point
+	circle: {
+		create(element, sizeFn, fillStyleFn) {
+			return element.append("circle")
+				.attr("class", this.updatePointClass.bind(this))
+				.attr("r", sizeFn)
+				.style("fill", fillStyleFn)
+				.node();
+		},
+
+		update(element, xPosFn, yPosFn, fillStyleFn, withTransition, flow, selectedCircles) {
+			const $$ = this;
+			let mainCircles = element;
+
+			// when '.load()' called, bubble size should be updated
+			if ($$.hasType("bubble")) {
+				mainCircles.attr("r", $$.pointR.bind($$));
+			}
+
+			if (withTransition) {
+				flow && mainCircles.attr("cx", xPosFn);
+
+				if (mainCircles.attr("cx")) {
+					mainCircles = $$.$T(mainCircles, withTransition, getTransitionName());
+				}
+
+				selectedCircles && $$.$T(mainCircles, withTransition, getTransitionName());
+			}
+
+			return mainCircles
+				.attr("cx", xPosFn)
+				.attr("cy", yPosFn)
+				.style("fill", fillStyleFn);
+		}
+	},
+
+	// 'rectangle' data point
+	rectangle: {
+		create(element, sizeFn, fillStyleFn) {
+			const rectSizeFn = d => sizeFn(d) * 2.0;
+
+			return element.append("rect")
+				.attr("class", this.updatePointClass.bind(this))
+				.attr("width", rectSizeFn)
+				.attr("height", rectSizeFn)
+				.style("fill", fillStyleFn)
+				.node();
+		},
+
+		update(element, xPosFn, yPosFn, fillStyleFn, withTransition, flow, selectedCircles) {
+			const $$ = this;
+			const r = $$.config.point_r;
+			const rectXPosFn = d => xPosFn(d) - r;
+			const rectYPosFn = d => yPosFn(d) - r;
+
+			let mainCircles = element;
+
+			if (withTransition) {
+				flow && mainCircles.attr("x", rectXPosFn);
+
+				mainCircles = $$.$T(mainCircles, withTransition, getTransitionName());
+				selectedCircles && $$.$T(selectedCircles, withTransition, getTransitionName());
+			}
+
+			return mainCircles
+				.attr("x", rectXPosFn)
+				.attr("y", rectYPosFn)
+				.style("fill", fillStyleFn);
+		}
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/ChartInternal_shape_shape.ts.html b/release/3.14.2/doc/ChartInternal_shape_shape.ts.html new file mode 100644 index 000000000..052c088ef --- /dev/null +++ b/release/3.14.2/doc/ChartInternal_shape_shape.ts.html @@ -0,0 +1,692 @@ + + + + + + ChartInternal/shape/shape.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

ChartInternal/shape/shape.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {select as d3Select} from "d3-selection";
+import {
+	curveBasis as d3CurveBasis,
+	curveBasisClosed as d3CurveBasisClosed,
+	curveBasisOpen as d3CurveBasisOpen,
+	curveBundle as d3CurveBundle,
+	curveCardinal as d3CurveCardinal,
+	curveCardinalClosed as d3CurveCardinalClosed,
+	curveCardinalOpen as d3CurveCardinalOpen,
+	curveCatmullRom as d3CurveCatmullRom,
+	curveCatmullRomClosed as d3CurveCatmullRomClosed,
+	curveCatmullRomOpen as d3CurveCatmullRomOpen,
+	curveLinear as d3CurveLinear,
+	curveLinearClosed as d3CurveLinearClosed,
+	curveMonotoneX as d3CurveMonotoneX,
+	curveMonotoneY as d3CurveMonotoneY,
+	curveNatural as d3CurveNatural,
+	curveStep as d3CurveStep,
+	curveStepAfter as d3CurveStepAfter,
+	curveStepBefore as d3CurveStepBefore
+} from "d3-shape";
+import type {d3Selection} from "../../../types/types";
+import CLASS from "../../config/classes";
+import {
+	capitalize,
+	getPointer,
+	getRectSegList,
+	getUnique,
+	isFunction,
+	isNumber,
+	isObjectType,
+	isUndefined,
+	isValue,
+	notEmpty,
+	parseDate
+} from "../../module/util";
+import type {IDataIndice, IDataRow, TIndices} from "../data/IData";
+
+/**
+ * Get grouped data point function for y coordinate
+ * - Note: Grouped(stacking) works only for line and bar types
+ * @param {object} d data vlaue
+ * @returns {Function|undefined}
+ * @private
+ */
+function getGroupedDataPointsFn(d) {
+	const $$ = this;
+	let fn;
+
+	if ($$.isLineType(d)) {
+		fn = $$.generateGetLinePoints($$.getShapeIndices($$.isLineType));
+	} else if ($$.isBarType(d)) {
+		fn = $$.generateGetBarPoints($$.getShapeIndices($$.isBarType));
+	}
+
+	return fn;
+}
+
+export interface IOffset {
+	_$width: number;
+	_$total: number[];
+}
+
+export default {
+	/**
+	 * Get the shape draw function
+	 * @returns {object}
+	 * @private
+	 */
+	getDrawShape() {
+		type TShape = {area?: any, bar?: any, line?: any};
+
+		const $$ = this;
+		const isRotated = $$.config.axis_rotated;
+		const {hasRadar, hasTreemap} = $$.state;
+		const shape = {type: <TShape>{}, indices: <TShape>{}, pos: {}};
+
+		!hasTreemap && ["bar", "candlestick", "line", "area"].forEach(v => {
+			const name = capitalize(/^(bubble|scatter)$/.test(v) ? "line" : v);
+
+			if (
+				$$.hasType(v) || $$.hasTypeOf(name) || (
+					v === "line" &&
+					($$.hasType("bubble") || $$.hasType("scatter"))
+				)
+			) {
+				const indices = $$.getShapeIndices($$[`is${name}Type`]);
+				const drawFn = $$[`generateDraw${name}`];
+
+				shape.indices[v] = indices;
+				shape.type[v] = drawFn ? drawFn.bind($$)(indices, false) : undefined;
+			}
+		});
+
+		if (!$$.hasArcType() || hasRadar || hasTreemap) {
+			let cx;
+			let cy;
+
+			// generate circle x/y functions depending on updated params
+			if (!hasTreemap) {
+				cx = hasRadar ? $$.radarCircleX : (isRotated ? $$.circleY : $$.circleX);
+				cy = hasRadar ? $$.radarCircleY : (isRotated ? $$.circleX : $$.circleY);
+			}
+
+			shape.pos = {
+				xForText: $$.generateXYForText(shape.indices, true),
+				yForText: $$.generateXYForText(shape.indices, false),
+				cx: (cx || function() {}).bind($$),
+				cy: (cy || function() {}).bind($$)
+			};
+		}
+
+		return shape;
+	},
+
+	/**
+	 * Get shape's indices according it's position within each axis tick.
+	 *
+	 * From the below example, indices will be:
+	 * ==> {data1: 0, data2: 0, data3: 1, data4: 1, __max__: 1}
+	 *
+	 * 	data1 data3   data1 data3
+	 * 	data2 data4   data2 data4
+	 * 	-------------------------
+	 * 		 0             1
+	 * @param {Function} typeFilter Chart type filter function
+	 * @returns {object} Indices object with its position
+	 */
+	getShapeIndices(typeFilter): TIndices {
+		const $$ = this;
+		const {config} = $$;
+		const xs = config.data_xs;
+		const hasXs = notEmpty(xs);
+		const indices: TIndices = {};
+		let i: any = hasXs ? {} : 0;
+
+		if (hasXs) {
+			getUnique(Object.keys(xs).map(v => xs[v]))
+				.forEach(v => {
+					i[v] = 0;
+					indices[v] = {};
+				});
+		}
+
+		$$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$))
+			.forEach(d => {
+				const xKey = d.id in xs ? xs[d.id] : "";
+				const ind = xKey ? indices[xKey] : indices;
+
+				for (let j = 0, groups; (groups = config.data_groups[j]); j++) {
+					if (groups.indexOf(d.id) < 0) {
+						continue;
+					}
+
+					for (let k = 0, key; (key = groups[k]); k++) {
+						if (key in ind) {
+							ind[d.id] = ind[key];
+							break;
+						}
+
+						// for same grouped data, add other data to same indices
+						if (d.id !== key && xKey) {
+							ind[key] = ind[d.id] ?? i[xKey];
+						}
+					}
+				}
+
+				if (isUndefined(ind[d.id])) {
+					ind[d.id] = xKey ? i[xKey]++ : i++;
+					ind.__max__ = (xKey ? i[xKey] : i) - 1;
+				}
+			});
+
+		return indices;
+	},
+
+	/**
+	 * Get indices value based on data ID value
+	 * @param {object} indices Indices object
+	 * @param {object} d Data row
+	 * @param {string} caller Caller function name (Used only for 'sparkline' plugin)
+	 * @returns {object} Indices object
+	 * @private
+	 */
+	getIndices(indices: TIndices, d: IDataRow, caller?: string): IDataIndice { // eslint-disable-line
+		const $$ = this;
+		const {data_xs: xs, bar_indices_removeNull: removeNull} = $$.config;
+		const {id, index} = d;
+
+		if ($$.isBarType(id) && removeNull) {
+			const ind = {} as IDataIndice;
+
+			// redefine bar indices order
+			$$.getAllValuesOnIndex(index, true)
+				.forEach((v, i) => {
+					ind[v.id] = i;
+					ind.__max__ = i;
+				});
+
+			return ind;
+		}
+
+		return notEmpty(xs) ? indices[xs[id]] : indices;
+	},
+
+	/**
+	 * Get indices max number
+	 * @param {object} indices Indices object
+	 * @returns {number} Max number
+	 * @private
+	 */
+	getIndicesMax(indices: TIndices | IDataIndice): number {
+		return notEmpty(this.config.data_xs) ?
+			// if is multiple xs, return total sum of xs' __max__ value
+			Object.keys(indices)
+				.map(v => indices[v].__max__ || 0)
+				.reduce((acc, curr) => acc + curr) :
+			(indices as IDataIndice).__max__;
+	},
+
+	getShapeX(offset: IOffset, indices, isSub?: boolean): (d) => number {
+		const $$ = this;
+		const {config, scale} = $$;
+		const currScale = isSub ? scale.subX : (scale.zoom || scale.x);
+		const barOverlap = config.bar_overlap;
+		const barPadding = config.bar_padding;
+		const sum = (p, c) => p + c;
+
+		// total shapes half width
+		const halfWidth = isObjectType(offset) && (
+			offset._$total.length ? offset._$total.reduce(sum) / 2 : 0
+		);
+
+		return d => {
+			const ind = $$.getIndices(indices, d, "getShapeX");
+			const index = d.id in ind ? ind[d.id] : 0;
+			const targetsNum = (ind.__max__ || 0) + 1;
+			let x = 0;
+
+			if (notEmpty(d.x)) {
+				const xPos = currScale(d.x, true);
+
+				if (halfWidth) {
+					const offsetWidth = offset[d.id] || offset._$width;
+
+					x = barOverlap ? xPos - offsetWidth / 2 : xPos - offsetWidth +
+						offset._$total.slice(0, index + 1).reduce(sum) -
+						halfWidth;
+				} else {
+					x = xPos - (isNumber(offset) ? offset : offset._$width) *
+							(targetsNum / 2 - (
+								barOverlap ? 1 : index
+							));
+				}
+			}
+
+			// adjust x position for bar.padding option
+			if (offset && x && targetsNum > 1 && barPadding) {
+				if (index) {
+					x += barPadding * index;
+				}
+
+				if (targetsNum > 2) {
+					x -= (targetsNum - 1) * barPadding / 2;
+				} else if (targetsNum === 2) {
+					x -= barPadding / 2;
+				}
+			}
+
+			return x;
+		};
+	},
+
+	getShapeY(isSub?: boolean): Function {
+		const $$ = this;
+		const isStackNormalized = $$.isStackNormalized();
+
+		return d => {
+			let {value} = d;
+
+			if (isNumber(d)) {
+				value = d;
+			} else if ($$.isAreaRangeType(d)) {
+				value = $$.getBaseValue(d, "mid");
+			} else if (isStackNormalized) {
+				value = $$.getRatio("index", d, true);
+			} else if ($$.isBubbleZType(d)) {
+				value = $$.getBubbleZData(d.value, "y");
+			} else if ($$.isBarRangeType(d)) {
+				// TODO use range.getEnd() like method
+				value = value[1];
+			}
+
+			return $$.getYScaleById(d.id, isSub)(value);
+		};
+	},
+
+	/**
+	 * Get shape based y Axis min value
+	 * @param {string} id Data id
+	 * @returns {number}
+	 * @private
+	 */
+	getShapeYMin(id: string): number {
+		const $$ = this;
+		const axisId = $$.axis.getId(id);
+		const scale = $$.scale[axisId];
+		const [yMin] = scale.domain();
+		const inverted = $$.config[`axis_${axisId}_inverted`];
+
+		return !$$.isGrouped(id) && !inverted && yMin > 0 ? yMin : 0;
+	},
+
+	/**
+	 * Get Shape's offset data
+	 * @param {Function} typeFilter Type filter function
+	 * @returns {object}
+	 * @private
+	 */
+	getShapeOffsetData(typeFilter) {
+		const $$ = this;
+		const targets = $$.orderTargets(
+			$$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$))
+		);
+		const isStackNormalized = $$.isStackNormalized();
+
+		const shapeOffsetTargets = targets.map(target => {
+			let rowValues = target.values;
+			const values = {};
+
+			if ($$.isStepType(target)) {
+				rowValues = $$.convertValuesToStep(rowValues);
+			}
+
+			const rowValueMapByXValue = rowValues.reduce((out, d) => {
+				const key = Number(d.x);
+
+				out[key] = d;
+				values[key] = isStackNormalized ? $$.getRatio("index", d, true) : d.value;
+
+				return out;
+			}, {});
+
+			return {
+				id: target.id,
+				rowValues,
+				rowValueMapByXValue,
+				values
+			};
+		});
+		const indexMapByTargetId = targets.reduce((out, {id}, index) => {
+			out[id] = index;
+			return out;
+		}, {});
+
+		return {indexMapByTargetId, shapeOffsetTargets};
+	},
+
+	getShapeOffset(typeFilter, indices, isSub?: boolean): Function {
+		const $$ = this;
+		const {shapeOffsetTargets, indexMapByTargetId} = $$.getShapeOffsetData(
+			typeFilter
+		);
+		const groupsZeroAs = $$.config.data_groupsZeroAs;
+
+		return (d, idx) => {
+			const {id, value, x} = d;
+			const ind = $$.getIndices(indices, d);
+			const scale = $$.getYScaleById(id, isSub);
+
+			if ($$.isBarRangeType(d)) {
+				// TODO use range.getStart()
+				return scale(value[0]);
+			}
+
+			const dataXAsNumber = Number(x);
+			const y0 = scale(groupsZeroAs === "zero" ? 0 : $$.getShapeYMin(id));
+			let offset = y0;
+
+			shapeOffsetTargets
+				.filter(t => t.id !== id && ind[t.id] === ind[id])
+				.forEach(t => {
+					const {
+						id: tid,
+						rowValueMapByXValue,
+						rowValues,
+						values: tvalues
+					} = t;
+
+					// for same stacked group (ind[tid] === ind[id])
+					if (indexMapByTargetId[tid] < indexMapByTargetId[id]) {
+						const rValue = tvalues[dataXAsNumber];
+						let row = rowValues[idx];
+
+						// check if the x values line up
+						if (!row || Number(row.x) !== dataXAsNumber) {
+							row = rowValueMapByXValue[dataXAsNumber];
+						}
+
+						if (row?.value * value >= 0 && isNumber(rValue)) {
+							const addOffset = value === 0 ?
+								(
+									(groupsZeroAs === "positive" &&
+										rValue > 0) ||
+									(groupsZeroAs === "negative" && rValue < 0)
+								) :
+								true;
+
+							if (addOffset) {
+								offset += scale(rValue) - y0;
+							}
+						}
+					}
+				});
+
+			return offset;
+		};
+	},
+
+	/**
+	 * Get data's y coordinate
+	 * @param {object} d Target data
+	 * @param {number} i Index number
+	 * @returns {number} y coordinate
+	 * @private
+	 */
+	circleY(d: IDataRow, i: number): number {
+		const $$ = this;
+		const id = d.id;
+		let points;
+
+		if ($$.isGrouped(id)) {
+			points = getGroupedDataPointsFn.bind($$)(d);
+		}
+
+		return points ? points(d, i)[0][1] : $$.getYScaleById(id)($$.getBaseValue(d));
+	},
+
+	getBarW(type, axis, targetsNum: number): number | IOffset {
+		const $$ = this;
+		const {config, org, scale, state} = $$;
+		const maxDataCount = $$.getMaxDataCount();
+		const isGrouped = type === "bar" && config.data_groups?.length;
+		const configName = `${type}_width`;
+		const {k} = $$.getZoomTransform?.() ?? {k: 1};
+		const xMinMax = <[number, number]>[
+			config.axis_x_min ?? org.xDomain[0],
+			config.axis_x_max ?? org.xDomain[1]
+		].map($$.axis.isTimeSeries() ? parseDate.bind($$) : Number);
+
+		let tickInterval = axis.tickInterval(maxDataCount);
+
+		if (scale.zoom && !$$.axis.isCategorized() && k > 1) {
+			const isSameMinMax = xMinMax.every((v, i) => v === org.xDomain[i]);
+
+			tickInterval = org.xDomain.map((v, i) => {
+				const value = isSameMinMax ? v : v - Math.abs(xMinMax[i]);
+
+				return scale.zoom(value);
+			}).reduce((a, c) => Math.abs(a) + c) / maxDataCount;
+		}
+
+		const getWidth = (id?: string) => {
+			const width = id ? config[configName][id] : config[configName];
+			const ratio = id ? width.ratio : config[`${configName}_ratio`];
+			const max = id ? width.max : config[`${configName}_max`];
+			const w = isNumber(width) ? width : (
+				isFunction(width) ?
+					width.call($$, state.width, targetsNum, maxDataCount) :
+					(targetsNum ? (tickInterval * ratio) / targetsNum : 0)
+			);
+
+			return max && w > max ? max : w;
+		};
+
+		let result = getWidth();
+
+		if (!isGrouped && isObjectType(config[configName])) {
+			result = {_$width: result, _$total: []};
+
+			$$.filterTargetsToShow($$.data.targets).forEach(v => {
+				if (config[configName][v.id]) {
+					result[v.id] = getWidth(v.id);
+					result._$total.push(result[v.id] || result._$width);
+				}
+			});
+		}
+
+		return result;
+	},
+
+	/**
+	 * Get shape element
+	 * @param {string} shapeName Shape string
+	 * @param {number} i Index number
+	 * @param {string} id Data series id
+	 * @returns {d3Selection}
+	 * @private
+	 */
+	getShapeByIndex(shapeName: string, i: number, id?: string): d3Selection {
+		const $$ = this;
+		const {$el} = $$;
+		const suffix = isValue(i) ? `-${i}` : ``;
+		let shape = $el[shapeName];
+
+		// filter from shape reference if has
+		if (shape && !shape.empty()) {
+			shape = shape
+				.filter(d => (id ? d.id === id : true))
+				.filter(d => (isValue(i) ? d.index === i : true));
+		} else {
+			shape = (id ?
+				$el.main
+					.selectAll(
+						`.${CLASS[`${shapeName}s`]}${$$.getTargetSelectorSuffix(id)}`
+					) :
+				$el.main)
+				.selectAll(`.${CLASS[shapeName]}${suffix}`);
+		}
+
+		return shape;
+	},
+
+	isWithinShape(that, d): boolean {
+		const $$ = this;
+		const shape = d3Select(that);
+		let isWithin;
+
+		if (!$$.isTargetToShow(d.id)) {
+			isWithin = false;
+		} else if ($$.hasValidPointType?.(that.nodeName)) {
+			isWithin = $$.isStepType(d) ?
+				$$.isWithinStep(that, $$.getYScaleById(d.id)($$.getBaseValue(d))) :
+				$$.isWithinCircle(
+					that,
+					$$.isBubbleType(d) ? $$.pointSelectR(d) * 1.5 : 0
+				);
+		} else if (that.nodeName === "path") {
+			isWithin = shape.classed(CLASS.bar) ? $$.isWithinBar(that) : true;
+		}
+
+		return isWithin;
+	},
+
+	getInterpolate(d) {
+		const $$ = this;
+		const interpolation = $$.getInterpolateType(d);
+
+		return {
+			basis: d3CurveBasis,
+			"basis-closed": d3CurveBasisClosed,
+			"basis-open": d3CurveBasisOpen,
+			bundle: d3CurveBundle,
+			cardinal: d3CurveCardinal,
+			"cardinal-closed": d3CurveCardinalClosed,
+			"cardinal-open": d3CurveCardinalOpen,
+			"catmull-rom": d3CurveCatmullRom,
+			"catmull-rom-closed": d3CurveCatmullRomClosed,
+			"catmull-rom-open": d3CurveCatmullRomOpen,
+			"monotone-x": d3CurveMonotoneX,
+			"monotone-y": d3CurveMonotoneY,
+			natural: d3CurveNatural,
+			"linear-closed": d3CurveLinearClosed,
+			linear: d3CurveLinear,
+			step: d3CurveStep,
+			"step-after": d3CurveStepAfter,
+			"step-before": d3CurveStepBefore
+		}[interpolation];
+	},
+
+	getInterpolateType(d) {
+		const $$ = this;
+		const {config} = $$;
+		const type = config.spline_interpolation_type;
+		const interpolation = $$.isInterpolationType(type) ? type : "cardinal";
+
+		return $$.isSplineType(d) ? interpolation : (
+			$$.isStepType(d) ? config.line_step_type : "linear"
+		);
+	},
+
+	isWithinBar(that): boolean {
+		const mouse = getPointer(this.state.event, that);
+		const list = getRectSegList(that);
+		const [seg0, seg1] = list;
+		const x = Math.min(seg0.x, seg1.x);
+		const y = Math.min(seg0.y, seg1.y);
+		const offset = this.config.bar_sensitivity;
+		const {width, height} = that.getBBox();
+		const sx = x - offset;
+		const ex = x + width + offset;
+		const sy = y + height + offset;
+		const ey = y - offset;
+
+		const isWithin = sx < mouse[0] &&
+			mouse[0] < ex &&
+			ey < mouse[1] &&
+			mouse[1] < sy;
+
+		return isWithin;
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_Chart.ts.html b/release/3.14.2/doc/Chart_Chart.ts.html new file mode 100644 index 000000000..8c92dc883 --- /dev/null +++ b/release/3.14.2/doc/Chart_Chart.ts.html @@ -0,0 +1,251 @@ + + + + + + Chart/Chart.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/Chart.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import ChartInternal from "../ChartInternal/ChartInternal";
+import {loadConfig} from "../config/config";
+import {extend, isFunction, notEmpty} from "../module/util";
+
+import apiChart from "./api/chart";
+import apiColor from "./api/color";
+import apiData from "./api/data";
+import apiExport from "./api/export";
+import apiFocus from "./api/focus";
+import apiLegend from "./api/legend";
+import apiLoad from "./api/load";
+import apiShow from "./api/show";
+import apiTooltip from "./api/tooltip";
+
+/**
+ * Main chart class.
+ * - Note: Instantiated via `bb.generate()`.
+ * @class Chart
+ * @example
+ * var chart = bb.generate({
+ *  data: {
+ *    columns: [
+ *        ["x", "2015-11-02", "2015-12-01", "2016-01-01", "2016-02-01", "2016-03-01"],
+ *        ["count1", 11, 8, 7, 6, 5 ],
+ *        ["count2", 9, 3, 6, 2, 8 ]
+ *   ]}
+ * }
+ * @see {@link bb.generate} for the initialization.
+ */
+/**
+ * Access instance's primary node elements
+ * @member {object} $
+ * @property {object} $ Access instance's primary node elements
+ * @property {d3.selection} $.chart Wrapper element
+ * @property {d3.selection} $.svg Main svg element
+ * @property {d3.selection} $.defs Definition element
+ * @property {d3.selection} $.main Main grouping element
+ * @property {d3.selection} $.needle Needle element
+ *  - **NOTE:**
+ *    - The element will have `bb-needle` as class name.
+ *    - Will provide speical helper `.updateHelper(value: number, updateConfig: boolean)` method to facilitate needle position update.
+ * @property {d3.selection} $.tooltip Tooltip element
+ * @property {d3.selection} $.legend Legend element
+ * @property {d3.selection} $.title Title element
+ * @property {d3.selection} $.grid Grid element
+ * @property {d3.selection} $.arc Arc element
+ * @property {d3.selection} $.circles Data point circle elements
+ * @property {object} $.bar Bar element object
+ * @property {d3.selection} $.bar.bars Bar elements
+ * @property {d3.selection} $.candlestick Candlestick elements
+ * @property {object} $.line Line element object
+ * @property {d3.selection} $.line.lines Line elements
+ * @property {d3.selection} $.line.areas Areas elements
+ * @property {object} $.text Text element object
+ * @property {d3.selection} $.text.texts Data label text elements
+ * @memberof Chart
+ * @example
+ * const chart = bb.generate({ ... });
+ *
+ * chart.$.chart; // wrapper element
+ * chart.$.line.circles;  // all data point circle elements
+ * @example
+ * // Update arc needle position
+ * const chart = bb.generate({
+ *   data: {
+ *     type: "donut"
+ *   },
+ *   arc: {
+ *     needle: {
+ *       show: true,
+ *       ...
+ *     }
+ *   }
+ * });
+ *
+ * chart.$.needle.updateHelper(70);  // update needle position to point value 70.
+ *
+ * // update needle position to point value 70 and the config value.
+ * // NOTE: updating config value, will update needle pointer initial value too.
+ * chart.$.needle.updateHelper(70, true);
+ *
+ * // update needle point position every 1 second
+ * let i = 0;
+ * setInterval(() => {
+ *   chart.$.needle.updateHelper(i += 10);
+ * }, 1000)
+ */
+/**
+ * Plugin instance array
+ * @member {Array} plugins
+ * @memberof Chart
+ * @example
+ *  var chart = bb.generate({
+ *     ...
+ *     plugins: [
+ *        new bb.plugin.stanford({ ... }),
+ *        new PluginA()
+ *     ]
+ *  });
+ *
+ *  chart.plugins; // [Stanford, PluginA] - instance array
+ */
+export default class Chart {
+	public plugins = [];
+	public internal: ChartInternal;
+
+	constructor(options) {
+		const $$ = new ChartInternal(this);
+		// let hook = () => {};
+
+		this.internal = $$;
+
+		// bind to namespaced APIs
+		(function bindThis(fn, target, argThis) {
+			Object.keys(fn).forEach(key => {
+				const isFunc = isFunction(fn[key]);
+				const isChild = target !== argThis;
+				const isNotNil = notEmpty(fn[key]);
+				const hasChild = isNotNil && Object.keys(fn[key]).length > 0;
+				// const hookFn = function(...params) {
+				// 	hook();
+				// 	return fn[key].bind(argThis)(...params);
+				// }
+
+				if (isFunc && ((!isChild && hasChild) || isChild)) {
+					target[key] = fn[key].bind(argThis);
+				} else if (isNotNil && !isFunc) {
+					target[key] = {};
+				} else {
+					target[key] = fn[key];
+				}
+
+				hasChild && bindThis(fn[key], target[key], argThis);
+			});
+		})(Chart.prototype, this, this);
+
+		loadConfig.call($$, options);
+
+		$$.beforeInit();
+		$$.init();
+
+		// if ($$.config.render.lazy !== false && hasStyle($$.$el.chart, {"display": "none", "visibility": "hidden"})) {
+		// 	hook = () => {
+		// 		logError(`The call of APIs won't work. Please, make sure if chart element is %cvisible.`);
+		// 	};
+		// }
+	}
+}
+
+// extend common APIs as part of Chart class
+extend(Chart.prototype, [
+	apiChart,
+	apiColor,
+	apiData,
+	apiExport,
+	apiFocus,
+	apiLegend,
+	apiLoad,
+	apiShow,
+	apiTooltip
+]);
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_axis.ts.html b/release/3.14.2/doc/Chart_api_axis.ts.html new file mode 100644 index 000000000..4e2c3c415 --- /dev/null +++ b/release/3.14.2/doc/Chart_api_axis.ts.html @@ -0,0 +1,345 @@ + + + + + + Chart/api/axis.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/axis.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {isDefined, isNumber, isObjectType, isValue} from "../../module/util";
+
+type AxisOption = {x?: number | false, y?: number | false, y2?: number | false} | number | false;
+
+type RangeAxisOption = {min?: AxisOption, max?: AxisOption};
+
+/**
+ * Set the min/max value
+ * @param {Chart} $$ Chart instance
+ * @param {string} type Set type 'min' or 'max'
+ * @param {object} value Value to be set
+ * @private
+ */
+function setMinMax($$, type: "min" | "max", value: AxisOption): void {
+	const {config} = $$;
+	const helper = (key, value) => {
+		const v = isNumber(value) ? value : (
+			value === false ? undefined : null
+		);
+
+		if (v !== null) {
+			config[`axis_${key}_${type}`] = v;
+		}
+	};
+
+	if (isDefined(value)) {
+		if (isObjectType(value)) {
+			Object.keys(value).forEach(key => {
+				helper(key, value[key]);
+			});
+		} else if (isNumber(value) || value === false) {
+			// shorthand values affects only y and y2.
+			["y", "y2"].forEach(key => {
+				helper(key, value);
+			});
+		}
+
+		$$.redraw({
+			withUpdateOrgXDomain: true,
+			withUpdateXDomain: true
+		});
+	}
+}
+
+/**
+ * Get the min/max value
+ * @param {Chart} $$ Chart instance
+ * @param {string} type Set type 'min' or 'max'
+ * @returns {{x, y, y2}}
+ * @private
+ */
+function getMinMax($$, type: "min" | "max"): {x: number, y: number, y2: number} {
+	const {config} = $$;
+
+	return {
+		x: config[`axis_x_${type}`],
+		y: config[`axis_y_${type}`],
+		y2: config[`axis_y2_${type}`]
+	};
+}
+
+/**
+ * Define axis
+ * @ignore
+ */
+const axis = {
+	/**
+	 * Get and set axis labels.
+	 * - **NOTE:** Only applicable for chart types which has x and y axes.
+	 * @function axis․labels
+	 * @instance
+	 * @memberof Chart
+	 * @param {object} labels specified axis' label to be updated.
+	 * @param {string} [labels.x] x Axis string
+	 * @param {string} [labels.y] y Axis string
+	 * @param {string} [labels.y2] y2 Axis string
+	 * @returns {object|undefined} axis labels text object
+	 * @example
+	 * // Update axis' label
+	 * chart.axis.labels({
+	 *   x: "New X Axis Label",
+	 *   y: "New Y Axis Label",
+	 *   y2: "New Y2 Axis Label"
+	 * });
+	 *
+	 * chart.axis.labels();
+	 * // --> {
+	 * //  x: "New X Axis Label",
+	 * //  y: "New Y Axis Label",
+	 * //  y2: "New Y2 Axis Label"
+	 * // }
+	 */
+	labels: function<T>(labels?: {x?: string, y?: string, y2?: string}): T | undefined {
+		const $$ = this.internal;
+		let labelText;
+
+		if (labels) {
+			Object.keys(labels).forEach(axisId => {
+				$$.axis.setLabelText(axisId, labels[axisId]);
+			});
+
+			$$.axis.updateLabels();
+		}
+
+		["x", "y", "y2"].forEach(v => {
+			const text = $$.axis.getLabelText(v);
+
+			if (text) {
+				!labelText && (labelText = {});
+				labelText[v] = text;
+			}
+		});
+
+		return <T>labelText;
+	},
+
+	/**
+	 * Get and set axis min value.
+	 * - **NOTE:** Only applicable for chart types which has x and y axes.
+	 * @function axis․min
+	 * @instance
+	 * @memberof Chart
+	 * @param {object} min If min is given, specified axis' min value will be updated.<br>
+	 *   If no argument is given, the min values set on generating option for each axis will be returned.
+	 *   If not set any min values on generation, it will return `undefined`.<br>
+	 *   To unset specific axis max, set `false` to each of them.
+	 * @returns {object|undefined}
+	 * @example
+	 * // Update axis' min
+	 * chart.axis.min({
+	 *   x: -10,
+	 *   y: 1000,
+	 *   y2: 100
+	 * });
+	 *
+	 * // To unset specific axis min, set false to each of them.
+	 * chart.axis.min({
+	 *   x: false,
+	 *   y: false,
+	 *   y2: false
+	 * });
+	 *
+	 * // shorthand (only affects y and y2 axis)
+	 * chart.axis.min(-50);
+	 * chart.axis.min(false);
+	 */
+	min: function(min?: AxisOption): object | void {
+		const $$ = this.internal;
+
+		return isValue(min) || min === false ?
+			setMinMax($$, "min", min as AxisOption) :
+			getMinMax($$, "min");
+	},
+
+	/**
+	 * Get and set axis max value.
+	 * - **NOTE:** Only applicable for chart types which has x and y axes.
+	 * @function axis․max
+	 * @instance
+	 * @memberof Chart
+	 * @param {object} max If max is given, specified axis' max value will be updated.<br>
+	 *   If no argument is given, the max values set on generating option for each axis will be returned.
+	 *   If not set any max values on generation, it will return `undefined`.<br>
+	 *   To unset specific axis max, set `false` to each of them.
+	 * @returns {object|undefined}
+	 * @example
+	 * // Update axis' label
+	 * chart.axis.max({
+	 *    x: 100,
+	 *    y: 1000,
+	 *    y2: 10000
+	 * });
+	 *
+	 * // To unset specific axis max, set false to each of them.
+	 * chart.axis.max({
+	 *   x: false,
+	 *   y: false,
+	 *   y2: false
+	 * });
+	 *
+	 * // shorthand (only affects y and y2 axis)
+	 * chart.axis.max(10);
+	 * chart.axis.max(false);
+	 */
+	max: function(max?: AxisOption): object | void {
+		const $$ = this.internal;
+
+		return isValue(max) || max === false ?
+			setMinMax($$, "max", max as AxisOption) :
+			getMinMax($$, "max");
+	},
+
+	/**
+	 * Get and set axis min and max value.
+	 * - **NOTE:** Only applicable for chart types which has x and y axes.
+	 * @function axis․range
+	 * @instance
+	 * @memberof Chart
+	 * @param {object} range If range is given, specified axis' min and max value will be updated.
+	 *   If no argument is given, the current min and max values for each axis will be returned.<br>
+	 *   To unset specific axis max, set `false` to each of them.
+	 * @returns {object|undefined}
+	 * @example
+	 * // Update axis' label
+	 * chart.axis.range({
+	 *   min: {
+	 *     x: -10,
+	 *     y: -1000,
+	 *     y2: -10000
+	 *   },
+	 *   max: {
+	 *     x: 100,
+	 *     y: 1000,
+	 *     y2: 10000
+	 *   },
+	 * });
+	 *
+	 * // To unset specific axis max, set false to each of them.
+	 * chart.axis.range({
+	 *   min: {
+	 *     x: false,
+	 *     y: false,
+	 *     y2: false
+	 *   },
+	 *   max: {
+	 *     x: false,
+	 *     y: false,
+	 *     y2: false
+	 *   },
+	 * });
+	 *
+	 * // shorthand (only affects y and y2 axis)
+	 * chart.axis.range({ min: -50, max: 1000 });
+	 * chart.axis.range({ min: false, max: false });
+	 */
+	range: function(range: RangeAxisOption): object | void {
+		const {axis} = this;
+
+		if (arguments.length) {
+			const {min, max} = range;
+
+			isDefined(max) && axis.max(max);
+			isDefined(min) && axis.min(min);
+		} else {
+			return {
+				max: axis.max(),
+				min: axis.min()
+			};
+		}
+
+		return undefined;
+	}
+};
+
+export default {axis};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_category.ts.html b/release/3.14.2/doc/Chart_api_category.ts.html new file mode 100644 index 000000000..c32d9244d --- /dev/null +++ b/release/3.14.2/doc/Chart_api_category.ts.html @@ -0,0 +1,144 @@ + + + + + + Chart/api/category.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/category.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {isEmpty} from "../../module/util";
+
+export default {
+	/**
+	 * Set specified category name on category axis.
+	 * @function category
+	 * @instance
+	 * @memberof Chart
+	 * @param {number} i index of category to be changed
+	 * @param {string} category category value to be changed
+	 * @returns {string}
+	 * @example
+	 * chart.category(2, "Category 3");
+	 */
+	category(i: number, category: string): string {
+		const $$ = this.internal;
+		const {config} = $$;
+
+		if (arguments.length > 1) {
+			config.axis_x_categories[i] = category;
+			$$.redraw();
+		}
+
+		return config.axis_x_categories[i];
+	},
+
+	/**
+	 * Set or get category names on category axis.
+	 * @function categories
+	 * @instance
+	 * @memberof Chart
+	 * @param {Array} categories This must be an array that includes category names in string. If category names are included in the date by data.x option, this is not required.
+	 * @returns {Array}
+	 * @example
+	 * chart.categories([
+	 *      "Category 1", "Category 2", ...
+	 * ]);
+	 */
+	categories(categories?: string[]): string[] {
+		const $$ = this.internal;
+		const {config} = $$;
+
+		if (!categories || !Array.isArray(categories)) {
+			const cat = config.axis_x_categories;
+
+			return isEmpty(cat) ? Object.values($$.data.xs)[0] : cat;
+		}
+
+		config.axis_x_categories = categories;
+		$$.redraw();
+
+		return config.axis_x_categories;
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_chart.ts.html b/release/3.14.2/doc/Chart_api_chart.ts.html new file mode 100644 index 000000000..907f514d7 --- /dev/null +++ b/release/3.14.2/doc/Chart_api_chart.ts.html @@ -0,0 +1,287 @@ + + + + + + Chart/api/chart.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/chart.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {window} from "../../module/browser";
+import {isDefined, isEmpty, notEmpty} from "../../module/util";
+
+export default {
+	/**
+	 * Resize the chart.
+	 * @function resize
+	 * @instance
+	 * @memberof Chart
+	 * @param {object} size This argument should include width and height in pixels.
+	 * @param {number} [size.width] width value
+	 * @param {number} [size.height] height value
+	 * @example
+	 * // Resize to 640x480
+	 * chart.resize({
+	 *    width: 640,
+	 *    height: 480
+	 * });
+	 */
+	resize(size?: {width?: number, height?: number}): void {
+		const $$ = this.internal;
+		const {config, state} = $$;
+
+		if (state.rendered) {
+			config.size_width = size ? size.width : null;
+			config.size_height = size ? size.height : null;
+
+			state.resizing = true;
+
+			this.flush(false);
+			$$.resizeFunction();
+		}
+	},
+
+	/**
+	 * Force to redraw.
+	 * - **NOTE:** When zoom/subchart is used, the zoomed state will be resetted.
+	 * @function flush
+	 * @instance
+	 * @memberof Chart
+	 * @param {boolean} [soft] For soft redraw.
+	 * @example
+	 * chart.flush();
+	 *
+	 * // for soft redraw
+	 * chart.flush(true);
+	 */
+	flush(soft?: boolean): void {
+		const $$ = this.internal;
+		const {state, $el: {zoomResetBtn}} = $$;
+
+		if (state.rendered) {
+			// reset possible zoom scale when is called from resize event
+			if (state.resizing) { // arguments[1] is given when is called from resize
+				$$.brush?.updateResize();
+			} else {
+				// re-update config info
+				$$.axis?.setOrient();
+			}
+
+			// hide possible reset zoom button
+			// https://github.com/naver/billboard.js/issues/2201
+			zoomResetBtn?.style("display", "none");
+			$$.scale.zoom = null;
+
+			soft ?
+				$$.redraw({
+					withTransform: true,
+					withUpdateXDomain: true,
+					withUpdateOrgXDomain: true,
+					withLegend: true
+				}) :
+				$$.updateAndRedraw({
+					withLegend: true,
+					withTransition: false,
+					withTransitionForTransform: false
+				});
+
+			// reset subchart selection & selection state
+			if (!state.resizing && $$.brush) {
+				$$.brush.getSelection().call($$.brush.move);
+				$$.unselectRect();
+			}
+		} else {
+			$$.initToRender(true);
+		}
+	},
+
+	/**
+	 * Reset the chart object and remove element and events completely.
+	 * @function destroy
+	 * @instance
+	 * @memberof Chart
+	 * @returns {null}
+	 * @example
+	 * chart.destroy();
+	 */
+	destroy(): null {
+		const $$ = this.internal;
+		const {$el: {chart, style, svg}} = $$;
+
+		if (notEmpty($$)) {
+			$$.callPluginHook("$willDestroy");
+			$$.charts.splice($$.charts.indexOf(this), 1);
+
+			// detach events
+			$$.unbindAllEvents();
+
+			// clear timers && pending transition
+			svg.select("*").interrupt();
+			$$.resizeFunction.clear();
+
+			window.removeEventListener("resize", $$.resizeFunction);
+			chart.classed("bb", false)
+				.style("position", null)
+				.selectChildren()
+				.remove();
+
+			// remove <style> element added by boost.useCssRule option
+			style && style.parentNode.removeChild(style);
+
+			// releasing own references
+			Object.keys(this).forEach(key => {
+				key === "internal" && Object.keys($$).forEach(k => {
+					$$[k] = null;
+				});
+
+				this[key] = null;
+				delete this[key];
+			});
+
+			// release prototype chains
+			for (const key in this) {
+				this[key] = () => {};
+			}
+		}
+
+		return null;
+	},
+
+	/**
+	 * Get or set config option value.
+	 * - **NOTE**
+	 *  - The option key name must be specified as the last level.
+	 *  - when no argument is given, will return all specified generation options object only. (will exclude any other options not specified at the initialization)
+	 * @function config
+	 * @instance
+	 * @memberof Chart
+	 * @param {string} name The option key name.
+	 * @param {*} [value] The value accepted for indicated option.
+	 * @param {boolean} [redraw] Set to redraw with the new option changes.
+	 * - **NOTE:** Doesn't guarantee work in all circumstances. It can be applied for limited options only.
+	 * @returns {*}
+	 * @example
+	 *
+	 * // Getter
+	 * chart.config("gauge.max");
+	 *
+	 * // Getter specified with top level key name will not work.
+	 * // The option key name must be specified as the last level.
+	 * // chart.config("gauge"); // will not work
+	 *
+	 * // without any arguments, it returns generation config object
+	 * chart.config();  // {data: { ... }, axis: { ... }, ...}
+	 *
+	 * // Setter
+	 * chart.config("gauge.max", 100);
+	 *
+	 * // Setter specified with top level key name will not work.
+	 * // The option key name must be specified as the last level.
+	 * // chart.config("gauge", {min: 10, max: 20}); // will not work
+	 *
+	 * // Setter & redraw with the new option
+	 * chart.config("gauge.max", 100, true);
+	 */
+	config(name: string, value?: any, redraw?: boolean): any {
+		const $$ = this.internal;
+		const {config, state} = $$;
+		const key = name?.replace(/\./g, "_");
+		let res;
+
+		if (name && key in config) {
+			if (isDefined(value)) {
+				config[key] = value;
+				res = value;
+
+				redraw && this.flush();
+			} else {
+				res = config[key];
+			}
+		} else if (arguments.length === 0 || isEmpty(name)) {
+			res = state.orgConfig;
+		}
+
+		return res;
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_color.ts.html b/release/3.14.2/doc/Chart_api_color.ts.html new file mode 100644 index 000000000..f775f0c1a --- /dev/null +++ b/release/3.14.2/doc/Chart_api_color.ts.html @@ -0,0 +1,105 @@ + + + + + + Chart/api/color.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/color.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+export default {
+	/**
+	 * Get the color
+	 * @function color
+	 * @instance
+	 * @memberof Chart
+	 * @param {string} id id to get the color
+	 * @returns {string}
+	 * @example
+	 * chart.color("data1");
+	 */
+	color(id: string): string {
+		return this.internal.color(id); // more patterns
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_data.ts.html b/release/3.14.2/doc/Chart_api_data.ts.html new file mode 100644 index 000000000..c208af773 --- /dev/null +++ b/release/3.14.2/doc/Chart_api_data.ts.html @@ -0,0 +1,282 @@ + + + + + + Chart/api/data.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/data.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import type {DataItem} from "../../../types/types";
+import type {IDataRow} from "../../ChartInternal/data/IData";
+import {extend, isArray, isUndefined} from "../../module/util";
+
+/**
+ * Get data loaded in the chart.
+ * @function data
+ * @instance
+ * @memberof Chart
+ * @param {string|Array} targetIds If this argument is given, this API returns the specified target data. If this argument is not given, all of data will be returned.
+ * @returns {Array} Data objects
+ * @example
+ * // Get only data1 data
+ * chart.data("data1");
+ * // --> [{id: "data1", id_org: "data1", values: Array(6)}, ...]
+ *
+ * // Get data1 and data2 data
+ * chart.data(["data1", "data2"]);
+ *
+ * // Get all data
+ * chart.data();
+ */
+const data = function(targetIds: string | string[]): DataItem[] {
+	const {targets} = this.internal.data;
+
+	if (!isUndefined(targetIds)) {
+		const ids: any = isArray(targetIds) ? targetIds : [targetIds];
+
+		return targets.filter(t => ids.some(v => v === t.id));
+	}
+
+	return targets;
+};
+
+extend(data, {
+	/**
+	 * Get data shown in the chart.
+	 * @function data․shown
+	 * @instance
+	 * @memberof Chart
+	 * @param {string|Array} targetIds If this argument is given, this API filters the data with specified target ids. If this argument is not given, all shown data will be returned.
+	 * @returns {Array} Data objects
+	 * @example
+	 * // Get shown data by filtering to include only data1 data
+	 * chart.data.shown("data1");
+	 * // --> [{id: "data1", id_org: "data1", values: Array(6)}, ...]
+	 *
+	 * // Get shown data by filtering to include data1 and data2 data
+	 * chart.data.shown(["data1", "data2"]);
+	 *
+	 * // Get all shown data
+	 * chart.data.shown();
+	 */
+	shown: function(targetIds: string | string[]): DataItem[] {
+		return this.internal.filterTargetsToShow(this.data(targetIds));
+	},
+
+	/**
+	 * Get values of the data loaded in the chart.
+	 * @function data․values
+	 * @instance
+	 * @memberof Chart
+	 * @param {string|Array|null} targetIds This API returns the values of specified target. If this argument is not given, null will be retruned
+	 * @param {boolean} [flat=true] Get flatten values
+	 * @returns {Array} Data values
+	 * @example
+	 * // Get data1 values
+	 * chart.data.values("data1");
+	 * // --> [10, 20, 30, 40]
+	 */
+	values: function(targetIds?: string | string[], flat: boolean = true): number[] | number[][]
+		| null {
+		let values: any = null;
+
+		if (targetIds) {
+			const targets = this.data(targetIds);
+
+			if (isArray(targets)) {
+				values = [];
+
+				targets.forEach(v => {
+					const dataValue = v.values.map(d => d.value);
+
+					flat ? (values = values.concat(dataValue)) : values.push(dataValue);
+				});
+			}
+		}
+
+		return values;
+	},
+
+	/**
+	 * Get and set names of the data loaded in the chart.
+	 * @function data․names
+	 * @instance
+	 * @memberof Chart
+	 * @param {object} names If this argument is given, the names of data will be updated. If not given, the current names will be returned. The format of this argument is the same as [data.names](./Options.html#.data%25E2%2580%25A4names).
+	 * @returns {object} Corresponding names according its key value, if specified names values.
+	 * @example
+	 * // Get current names
+	 * chart.data.names();
+	 * // --> {data1: "test1", data2: "test2"}
+	 *
+	 * // Update names
+	 * chart.data.names({
+	 *  data1: "New Name 1",
+	 *  data2: "New Name 2"
+	 * });
+	 */
+	names: function(names?: Array<{[key: string]: string | null}>): {[key: string]: string | null} {
+		const $$ = this.internal;
+
+		return $$.updateDataAttributes("names", names);
+	},
+
+	/**
+	 * Get and set colors of the data loaded in the chart.
+	 * @function data․colors
+	 * @instance
+	 * @memberof Chart
+	 * @param {object} colors If this argument is given, the colors of data will be updated. If not given, the current colors will be returned. The format of this argument is the same as [data.colors](./Options.html#.data%25E2%2580%25A4colors).
+	 * @returns {object} Corresponding data color value according its key value.
+	 * @example
+	 * // Get current colors
+	 * chart.data.colors();
+	 * // --> {data1: "#00c73c", data2: "#fa7171"}
+	 *
+	 * // Update colors
+	 * chart.data.colors({
+	 *  data1: "#FFFFFF",
+	 *  data2: "#000000"
+	 * });
+	 */
+	colors: function(colors?: Array<{[key: string]: string}>): {[key: string]: string} {
+		return this.internal.updateDataAttributes("colors", colors);
+	},
+
+	/**
+	 * Get and set axes of the data loaded in the chart.
+	 * - **NOTE:** If all data is related to one of the axes, the domain of axis without related data will be replaced by the domain from the axis with related data
+	 * @function data․axes
+	 * @instance
+	 * @memberof Chart
+	 * @param {object} axes If this argument is given, the axes of data will be updated. If not given, the current axes will be returned. The format of this argument is the same as
+	 * @returns {object} Corresponding axes value for data, if specified axes value.
+	 * @example
+	 * // Get current axes
+	 * chart.data.axes();
+	 * // --> {data1: "y"}
+	 *
+	 * // Update axes
+	 * chart.data.axes({
+	 *  data1: "y",
+	 *  data2: "y2"
+	 * });
+	 */
+	axes: function(axes?: Array<{[key: string]: string}>): {[key: string]: string} {
+		return this.internal.updateDataAttributes("axes", axes);
+	},
+
+	/**
+	 * Get the minimum data value bound to the chart
+	 * @function data․min
+	 * @instance
+	 * @memberof Chart
+	 * @returns {Array} Data objects
+	 * @example
+	 * // Get current axes
+	 * chart.data.min();
+	 * // --> [{x: 0, value: 30, id: "data1", index: 0}, ...]
+	 */
+	min: function(): IDataRow[] {
+		return this.internal.getMinMaxData().min;
+	},
+
+	/**
+	 * Get the maximum data value bound to the chart
+	 * @function data․max
+	 * @instance
+	 * @memberof Chart
+	 * @returns {Array} Data objects
+	 * @example
+	 * // Get current axes
+	 * chart.data.max();
+	 * // --> [{x: 3, value: 400, id: "data1", index: 3}, ...]
+	 */
+	max: function(): IDataRow[] {
+		return this.internal.getMinMaxData().max;
+	}
+});
+
+export default {data};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_export.ts.html b/release/3.14.2/doc/Chart_api_export.ts.html new file mode 100644 index 000000000..7b433f603 --- /dev/null +++ b/release/3.14.2/doc/Chart_api_export.ts.html @@ -0,0 +1,384 @@ + + + + + + Chart/api/export.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/export.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {namespaces as d3Namespaces} from "d3-selection";
+import {document, window} from "../../module/browser";
+import {getCssRules, isFunction, mergeObj, toArray} from "../../module/util";
+
+type TExportOption = TSize & {
+	preserveAspectRatio: boolean,
+	preserveFontStyle: boolean,
+	mimeType: string
+};
+
+type TSize = {x?: number, y?: number, width: number, height: number};
+
+type TTextGlyph = {
+	[key: string]: TSize & {
+		fill: string,
+		fontFamily: string,
+		fontSize: string,
+		textAnchor: string,
+		transform: string
+	}
+};
+
+/**
+ * Encode to base64
+ * @param {string} str string to be encoded
+ * @returns {string}
+ * @private
+ * @see https://developer.mozilla.org/ko/docs/Web/API/WindowBase64/Base64_encoding_and_decoding
+ */
+const b64EncodeUnicode = (str: string): string =>
+	window.btoa?.(
+		encodeURIComponent(str)
+			.replace(/%([0-9A-F]{2})/g,
+				(match, p: number | string): string => String.fromCharCode(Number(`0x${p}`)))
+	);
+
+/**
+ * Convert svg node to data url
+ * @param {HTMLElement} node target node
+ * @param {object} option object containing {width, height, preserveAspectRatio}
+ * @param {object} orgSize object containing {width, height}
+ * @returns {string}
+ * @private
+ */
+function nodeToSvgDataUrl(node, option: TExportOption, orgSize: TSize) {
+	const {width, height} = option || orgSize;
+	const serializer = new XMLSerializer();
+	const clone = node.cloneNode(true);
+	const cssText = getCssRules(toArray(document.styleSheets))
+		.filter((r: CSSStyleRule) => r.cssText)
+		.map((r: CSSStyleRule) => r.cssText);
+
+	clone.setAttribute("xmlns", d3Namespaces.xhtml);
+
+	// remove padding & margin
+	clone.style.margin = "0";
+	clone.style.padding = "0";
+
+	// remove text nodes
+	if (option.preserveFontStyle) {
+		clone.querySelectorAll("text").forEach(t => {
+			t.innerHTML = "";
+		});
+	}
+
+	const nodeXml = serializer.serializeToString(clone);
+
+	// escape css for XML
+	const style = document.createElement("style");
+
+	style.appendChild(document.createTextNode(cssText.join("\n")));
+
+	const styleXml = serializer.serializeToString(style);
+
+	// foreignObject not supported in IE11 and below
+	// https://msdn.microsoft.com/en-us/library/hh834675(v=vs.85).aspx
+	const dataStr = `<svg xmlns="${d3Namespaces.svg}" width="${width}" height="${height}" 
+		viewBox="0 0 ${orgSize.width} ${orgSize.height}" 
+		preserveAspectRatio="${option?.preserveAspectRatio === false ? "none" : "xMinYMid meet"}">
+			<foreignObject width="100%" height="100%">
+				${styleXml}
+				${nodeXml.replace(/(url\()[^#]+/g, "$1")}
+			</foreignObject></svg>`;
+
+	return `data:image/svg+xml;base64,${b64EncodeUnicode(dataStr)}`;
+}
+
+/**
+ * Get coordinate of the element
+ * @param {SVGElement} elem Target element
+ * @param {object} svgOffset SVG offset
+ * @returns {object}
+ * @private
+ */
+function getCoords(elem, svgOffset): TSize {
+	const {top, left} = svgOffset;
+	const {x, y} = elem.getBBox();
+	const {a, b, c, d, e, f} = elem.getScreenCTM();
+	const {width, height} = elem.getBoundingClientRect();
+
+	return {
+		x: (a * x) + (c * y) + e - left,
+		y: (b * x) + (d * y) + f - top + (height - Math.round(height / 4)),
+		width,
+		height
+	};
+}
+
+/**
+ * Get text glyph
+ * @param {SVGTextElement} svg Target svg node
+ * @returns {Array}
+ * @private
+ */
+function getGlyph(svg: SVGElement): TTextGlyph[] {
+	const {left, top} = svg.getBoundingClientRect();
+	const filterFn = t => t.textContent || t.childElementCount;
+	const glyph: TTextGlyph[] = [];
+
+	toArray(svg.querySelectorAll("text"))
+		.filter(filterFn)
+		.forEach((t: SVGTextElement) => { // eslint-disable-line
+			const getStyleFn = (ts: SVGTextElement): TTextGlyph => {
+				const {fill, fontFamily, fontSize, textAnchor, transform} = window.getComputedStyle(
+					ts
+				);
+				const {x, y, width, height} = getCoords(ts, {left, top});
+
+				return {
+					[ts.textContent as string]: {
+						x,
+						y,
+						width,
+						height,
+						fill,
+						fontFamily,
+						fontSize,
+						textAnchor,
+						transform
+					}
+				};
+			};
+
+			if (t.childElementCount > 1) {
+				const text: TTextGlyph[] = [];
+
+				toArray(t.querySelectorAll("tspan"))
+					.filter(filterFn)
+					.forEach((ts: SVGTSpanElement) => {
+						glyph.push(getStyleFn(ts));
+					});
+
+				return text;
+			} else {
+				glyph.push(getStyleFn(t));
+			}
+		});
+
+	return glyph;
+}
+
+/**
+ * Render text glyph
+ * - NOTE: Called when the 'preserveFontStyle' option is true
+ * @param {CanvasRenderingContext2D} ctx Canvas context
+ * @param {Array} glyph Text glyph array
+ * @private
+ */
+function renderText(ctx, glyph): void {
+	glyph.forEach(g => {
+		Object.keys(g).forEach(key => {
+			const {x, y, width, height, fill, fontFamily, fontSize, transform} = g[key];
+
+			ctx.save();
+
+			ctx.font = `${fontSize} ${fontFamily}`;
+			ctx.fillStyle = fill;
+
+			if (transform === "none") {
+				ctx.fillText(key, x, y);
+			} else {
+				const args = transform
+					.replace(/(matrix|\(|\))/g, "")
+					.split(",");
+
+				if (args.splice(4).every(v => +v === 0)) {
+					args.push(x + width - (width / 4));
+					args.push(y - height + (height / 3));
+				} else {
+					args.push(x);
+					args.push(y);
+				}
+
+				ctx.transform(...args);
+				ctx.fillText(key, 0, 0);
+			}
+
+			ctx.restore();
+		});
+	});
+}
+
+export default {
+	/**
+	 * Export chart as an image.
+	 * - **NOTE:**
+	 *   - IE11 and below not work properly due to the lack of the feature(<a href="https://msdn.microsoft.com/en-us/library/hh834675(v=vs.85).aspx">foreignObject</a>) support
+	 *   - Every style applied to the chart & the basic CSS file(ex. billboard.css) should be at same domain as API call context to get correct styled export image.
+	 * @function export
+	 * @instance
+	 * @memberof Chart
+	 * @param {object} option Export option
+	 * @param {string} [option.mimeType="image/png"] The desired output image format. (ex. 'image/png' for png, 'image/jpeg' for jpeg format)
+	 * @param {number} [option.width={currentWidth}] width
+	 * @param {number} [option.height={currentHeigth}] height
+	 * @param {boolean} [option.preserveAspectRatio=true] Preserve aspect ratio on given size
+	 * @param {boolean} [option.preserveFontStyle=false] Preserve font style(font-family).<br>
+	 * **NOTE:**
+	 *   - This option is useful when outlink web font style's `font-family` are applied to chart's text element.
+	 *   - Text element's position(especially "transformed") can't be preserved correctly according the page's layout condition.
+	 *   - If need to preserve accurate text position, embed the web font data within to the page and set `preserveFontStyle=false`.
+	 *     - Checkout the embed example: <a href="https://stackblitz.com/edit/zfbya9-8nf9nn?file=index.html">https://stackblitz.com/edit/zfbya9-8nf9nn?file=index.html</a>
+	 * @param {Function} [callback] The callback to be invoked when export is ready.
+	 * @returns {string} dataURI
+	 * @example
+	 *  chart.export();
+	 *  // --> "data:image/svg+xml;base64,PHN..."
+	 *
+	 *  // Initialize the download automatically
+	 *  chart.export({mimeType: "image/png"}, dataUrl => {
+	 *     const link = document.createElement("a");
+	 *
+	 *     link.download = `${Date.now()}.png`;
+	 *     link.href = dataUrl;
+	 *     link.innerHTML = "Download chart as image";
+	 *
+	 *     document.body.appendChild(link);
+	 *  });
+	 *
+	 *  // Resize the exported image
+	 *  chart.export(
+	 *    {
+	 *      width: 800,
+	 *      height: 600,
+	 *      preserveAspectRatio: false,
+	 *      preserveFontStyle: false,
+	 *      mimeType: "image/png"
+	 *    },
+	 *    dataUrl => { ... }
+	 *  );
+	 */
+	export(option?: TExportOption, callback?: (dataUrl: string) => void): string {
+		const $$ = this.internal;
+		const {state, $el: {chart, svg}} = $$;
+		const {width, height} = state.current;
+		const opt = mergeObj({
+			width,
+			height,
+			preserveAspectRatio: true,
+			preserveFontStyle: false,
+			mimeType: "image/png"
+		}, option) as TExportOption;
+
+		const svgDataUrl = nodeToSvgDataUrl(chart.node(), opt, {width, height});
+		const glyph = opt.preserveFontStyle ? getGlyph(svg.node()) : [];
+
+		if (callback && isFunction(callback)) {
+			const img = new Image();
+
+			img.crossOrigin = "Anonymous";
+			img.onload = () => {
+				const canvas = document.createElement("canvas");
+				const ctx = canvas.getContext("2d");
+
+				canvas.width = opt.width || width;
+				canvas.height = opt.height || height;
+				ctx.drawImage(img, 0, 0);
+
+				if (glyph.length) {
+					renderText(ctx, glyph);
+
+					// release glyph array
+					glyph.length = 0;
+				}
+
+				callback.bind(this)(canvas.toDataURL(opt.mimeType));
+			};
+
+			img.src = svgDataUrl;
+		}
+
+		return svgDataUrl;
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_flow.ts.html b/release/3.14.2/doc/Chart_api_flow.ts.html new file mode 100644 index 000000000..533b3b4db --- /dev/null +++ b/release/3.14.2/doc/Chart_api_flow.ts.html @@ -0,0 +1,307 @@ + + + + + + Chart/api/flow.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/flow.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {isDefined, isTabVisible, isValue, parseDate} from "../../module/util";
+
+export default {
+	/**
+	 * Flow data to the chart.<br><br>
+	 * By this API, you can append new data points to the chart.
+	 * @function flow
+	 * @instance
+	 * @memberof Chart
+	 * @param {object} args The object can consist with following members:<br>
+	 *
+	 *    | Key | Type | Description |
+	 *    | --- | --- | --- |
+	 *    | json | Object | Data as JSON format (@see [data․json](Options.html#.data%25E2%2580%25A4json)) |
+	 *    | rows | Array | Data in array as row format (@see [data․rows](Options.html#.data%25E2%2580%25A4json)) |
+	 *    | columns | Array | Data in array as column format (@see [data․columns](Options.html#.data%25E2%2580%25A4columns)) |
+	 *    | to | String | The lower x edge will move to that point. If not given, the lower x edge will move by the number of given data points |
+	 *    | length | Number | The lower x edge will move by the number of this argument |
+	 *    | duration | Number | The duration of the transition will be specified value. If not given, transition.duration will be used as default |
+	 *    | done | Function | The specified function will be called when flow ends |
+	 *
+	 * - **NOTE:**
+	 *   - If json, rows and columns given, the data will be loaded.
+	 *   - If data that has the same target id is given, the chart will be appended.
+	 *   - Otherwise, new target will be added. One of these is required when calling.
+	 *   - If json specified, keys is required as well as data.json.
+	 * 	 - If tab isn't visible(by evaluating `document.hidden`), will not be executed to prevent unnecessary work.
+	 * @example
+	 * // 2 data points will be apprended to the tail and popped from the head.
+	 * // After that, 4 data points will be appended and no data points will be poppoed.
+	 * chart.flow({
+	 *  columns: [
+	 *    ["x", "2018-01-11", "2018-01-21"],
+	 *    ["data1", 500, 200],
+	 *    ["data2", 100, 300],
+	 *    ["data3", 200, 120]
+	 *  ],
+	 *  to: "2013-01-11",
+	 *  done: function () {
+	 *    chart.flow({
+	 *      columns: [
+	 *        ["x", "2018-02-11", "2018-02-12", "2018-02-13", "2018-02-14"],
+	 *        ["data1", 200, 300, 100, 250],
+	 *        ["data2", 100, 90, 40, 120],
+	 *        ["data3", 100, 100, 300, 500]
+	 *      ],
+	 *      length: 2,
+	 *      duration: 1500
+	 *    });
+	 *  }
+	 * });
+	 */
+	flow(args): void {
+		const $$ = this.internal;
+		let data;
+
+		if (args.json || args.rows || args.columns) {
+			$$.convertData(args, res => {
+				data = res;
+				_();
+			});
+		}
+
+		/**
+		 * Process flows
+		 * @private
+		 */
+		function _(): void {
+			let domain;
+			let length: number = 0;
+			let tail = 0;
+			let diff;
+			let to;
+
+			if ($$.state.redrawing || !data || !isTabVisible()) {
+				return;
+			}
+
+			const notfoundIds: string[] = [];
+			const orgDataCount = $$.getMaxDataCount();
+			const targets = $$.convertDataToTargets(data, true);
+			const isTimeSeries = $$.axis.isTimeSeries();
+
+			// Update/Add data
+			$$.data.targets.forEach(t => {
+				let found = false;
+
+				for (let i = 0; i < targets.length; i++) {
+					if (t.id === targets[i].id) {
+						found = true;
+
+						if (t.values[t.values.length - 1]) {
+							tail = t.values[t.values.length - 1].index + 1;
+						}
+
+						length = targets[i].values.length;
+
+						for (let j = 0; j < length; j++) {
+							targets[i].values[j].index = tail + j;
+
+							if (!isTimeSeries) {
+								targets[i].values[j].x = tail + j;
+							}
+						}
+
+						t.values = t.values.concat(targets[i].values);
+						targets.splice(i, 1);
+						break;
+					}
+				}
+
+				!found && notfoundIds.push(t.id);
+			});
+
+			// Append null for not found targets
+			$$.data.targets.forEach(t => {
+				for (let i = 0; i < notfoundIds.length; i++) {
+					if (t.id === notfoundIds[i]) {
+						tail = t.values[t.values.length - 1].index + 1;
+
+						for (let j = 0; j < length; j++) {
+							t.values.push({
+								id: t.id,
+								index: tail + j,
+								x: isTimeSeries ? $$.getOtherTargetX(tail + j) : tail + j,
+								value: null
+							});
+						}
+					}
+				}
+			});
+
+			// Generate null values for new target
+			if ($$.data.targets.length) {
+				targets.forEach(t => {
+					const missing: any[] = [];
+
+					for (let i = $$.data.targets[0].values[0].index; i < tail; i++) {
+						missing.push({
+							id: t.id,
+							index: i,
+							x: isTimeSeries ? $$.getOtherTargetX(i) : i,
+							value: null
+						});
+					}
+
+					t.values.forEach(v => {
+						v.index += tail;
+
+						if (!isTimeSeries) {
+							v.x += tail;
+						}
+					});
+
+					t.values = missing.concat(t.values);
+				});
+			}
+
+			$$.data.targets = $$.data.targets.concat(targets); // add remained
+
+			// check data count because behavior needs to change when it"s only one
+			// const dataCount = $$.getMaxDataCount();
+			const baseTarget = $$.data.targets[0];
+			const baseValue = baseTarget.values[0];
+
+			// Update length to flow if needed
+			if (isDefined(args.to)) {
+				length = 0;
+				to = isTimeSeries ? parseDate.call($$, args.to) : args.to;
+
+				baseTarget.values.forEach(v => {
+					v.x < to && length++;
+				});
+			} else if (isDefined(args.length)) {
+				length = args.length;
+			}
+
+			// If only one data, update the domain to flow from left edge of the chart
+			if (!orgDataCount) {
+				if (isTimeSeries) {
+					diff = baseTarget.values.length > 1 ?
+						baseTarget.values[baseTarget.values.length - 1].x - baseValue.x :
+						baseValue.x - $$.getXDomain($$.data.targets)[0];
+				} else {
+					diff = 1;
+				}
+
+				domain = [baseValue.x - diff, baseValue.x];
+			} else if (orgDataCount === 1 && isTimeSeries) {
+				diff = (baseTarget.values[baseTarget.values.length - 1].x - baseValue.x) / 2;
+				domain = [new Date(+baseValue.x - diff), new Date(+baseValue.x + diff)];
+			}
+
+			domain && $$.updateXDomain(null, true, true, false, domain);
+
+			// Set targets
+			$$.updateTargets($$.data.targets);
+
+			// Redraw with new targets
+			$$.redraw({
+				flow: {
+					index: baseValue.index,
+					length: length,
+					duration: isValue(args.duration) ?
+						args.duration :
+						$$.config.transition_duration,
+					done: args.done,
+					orgDataCount: orgDataCount
+				},
+				withLegend: true,
+				withTransition: orgDataCount > 1,
+				withTrimXDomain: false,
+				withUpdateXAxis: true
+			});
+		}
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_focus.ts.html b/release/3.14.2/doc/Chart_api_focus.ts.html new file mode 100644 index 000000000..05b22adbc --- /dev/null +++ b/release/3.14.2/doc/Chart_api_focus.ts.html @@ -0,0 +1,219 @@ + + + + + + Chart/api/focus.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/focus.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {select as d3Select} from "d3-selection";
+import {$FOCUS, $GAUGE} from "../../config/classes";
+
+type FocusParam = string | string[];
+
+export default {
+	/**
+	 * This API highlights specified targets and fade out the others.<br><br>
+	 * You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be highlighted.
+	 * @function focus
+	 * @instance
+	 * @memberof Chart
+	 * @param {string|Array} targetIdsValue Target ids to be highlighted.
+	 * @example
+	 *  // data1 will be highlighted and the others will be faded out
+	 *  chart.focus("data1");
+	 *
+	 * // data1 and data2 will be highlighted and the others will be faded out
+	 * chart.focus(["data1", "data2"]);
+	 *
+	 * // all targets will be highlighted
+	 * chart.focus();
+	 */
+	focus(targetIdsValue?: FocusParam): void {
+		const $$ = this.internal;
+		const {state} = $$;
+		const targetIds = $$.mapToTargetIds(targetIdsValue);
+		const candidates = $$.$el.svg.selectAll(
+			$$.selectorTargets(targetIds.filter($$.isTargetToShow, $$))
+		);
+
+		this.revert();
+		this.defocus();
+
+		candidates.classed($FOCUS.focused, true).classed($FOCUS.defocused, false);
+
+		if ($$.hasArcType() && !state.hasRadar) {
+			$$.expandArc(targetIds);
+
+			$$.hasType("gauge") &&
+				$$.markOverlapped(targetIdsValue, $$, `.${$GAUGE.gaugeValue}`);
+		}
+
+		$$.toggleFocusLegend(targetIds, true);
+
+		state.focusedTargetIds = targetIds;
+		state.defocusedTargetIds = state.defocusedTargetIds.filter(id => targetIds.indexOf(id) < 0);
+	},
+
+	/**
+	 * This API fades out specified targets and reverts the others.<br><br>
+	 * You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be faded out.
+	 * @function defocus
+	 * @instance
+	 * @memberof Chart
+	 * @param {string|Array} targetIdsValue Target ids to be faded out.
+	 * @example
+	 * // data1 will be faded out and the others will be reverted.
+	 * chart.defocus("data1");
+	 *
+	 * // data1 and data2 will be faded out and the others will be reverted.
+	 * chart.defocus(["data1", "data2"]);
+	 *
+	 * // all targets will be faded out.
+	 * chart.defocus();
+	 */
+	defocus(targetIdsValue?: FocusParam): void {
+		const $$ = this.internal;
+		const {state} = $$;
+		const targetIds = $$.mapToTargetIds(targetIdsValue);
+		const candidates = $$.$el.svg.selectAll(
+			$$.selectorTargets(targetIds.filter($$.isTargetToShow, $$))
+		);
+
+		candidates.classed($FOCUS.focused, false).classed($FOCUS.defocused, true);
+
+		if ($$.hasArcType(null, ["polar"])) {
+			$$.unexpandArc(targetIds);
+
+			$$.hasType("gauge") &&
+				$$.undoMarkOverlapped($$, `.${$GAUGE.gaugeValue}`);
+		}
+
+		$$.toggleFocusLegend(targetIds, false);
+
+		state.focusedTargetIds = state.focusedTargetIds.filter(id => targetIds.indexOf(id) < 0);
+		state.defocusedTargetIds = targetIds;
+	},
+
+	/**
+	 * Revert focused or defocused state to initial state.<br><br>
+	 * You can specify multiple targets by giving an array that includes id as string. If no argument is given, all of targets will be reverted.
+	 * @function revert
+	 * @instance
+	 * @memberof Chart
+	 * @param {string|Array} targetIdsValue Target ids to be reverted
+	 * @example
+	 * // 'data1' will be reverted.
+	 * chart.revert("data1");
+	 *
+	 * // 'data1' and 'data2' will be reverted.
+	 * chart.revert(["data1", "data2"]);
+	 *
+	 * // all targets will be reverted.
+	 * chart.revert();
+	 */
+	revert(targetIdsValue?: FocusParam): void {
+		const $$ = this.internal;
+		const {config, state, $el} = $$;
+		const targetIds = $$.mapToTargetIds(targetIdsValue);
+		const candidates = $el.svg.selectAll($$.selectorTargets(targetIds)); // should be for all targets
+
+		candidates.classed($FOCUS.focused, false).classed($FOCUS.defocused, false);
+
+		$$.hasArcType(null, ["polar"]) && $$.unexpandArc(targetIds);
+
+		if (config.legend_show) {
+			$$.showLegend(targetIds.filter($$.isLegendToShow.bind($$)));
+			$el.legend.selectAll($$.selectorLegends(targetIds))
+				.filter(function() {
+					return d3Select(this).classed($FOCUS.legendItemFocused);
+				})
+				.classed($FOCUS.legendItemFocused, false);
+		}
+
+		state.focusedTargetIds = [];
+		state.defocusedTargetIds = [];
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_grid.ts.html b/release/3.14.2/doc/Chart_api_grid.ts.html new file mode 100644 index 000000000..099f1a3a0 --- /dev/null +++ b/release/3.14.2/doc/Chart_api_grid.ts.html @@ -0,0 +1,288 @@ + + + + + + Chart/api/grid.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/grid.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {extend, isTabVisible} from "../../module/util";
+
+type GridsParam = {value?: number, class?: string, text?: string}[];
+
+/**
+ * Update grid lines.
+ * @param {Array} grids grid lines to update
+ * @param {string} axisId axis' id: "x" or "y"
+ * @returns {Array}
+ * @private
+ */
+function grid(grids: GridsParam, axisId: "x" | "y"): GridsParam {
+	const $$ = this.internal;
+	const {config} = $$;
+	const withTransition = config.transition_duration && isTabVisible();
+	const gridPropLines = `grid_${axisId}_lines`;
+
+	if (!grids) {
+		return config[gridPropLines];
+	}
+
+	config[gridPropLines] = grids;
+
+	$$.updateGrid();
+	$$.redrawGrid(withTransition);
+
+	return config[gridPropLines];
+}
+
+/**
+ * Add grid lines.
+ * @param {Array|object} grids grid lines to add
+ * @param {string} axisId axis' id: "x" or "y"
+ * @returns {Array}
+ * @private
+ */
+function add(grids: GridsParam, axisId: "x" | "y"): GridsParam {
+	const gridPropLines = `grid_${axisId}_lines`;
+
+	return grid.bind(this)(
+		this.internal.config[gridPropLines].concat(grids || []),
+		axisId
+	);
+}
+
+/**
+ * Remove grid lines.
+ * @param {object} grids grid lines to remove
+ * @param {boolean} isXAxis weather is x axis or not
+ * @private
+ */
+function remove(grids: GridsParam | undefined, isXAxis: boolean): void {
+	this.internal.removeGridLines(grids, isXAxis);
+}
+
+/**
+ * Update x grid lines.
+ * @function xgrids
+ * @instance
+ * @memberof Chart
+ * @param {Array} grids X grid lines will be replaced with this argument. The format of this argument is the same as grid.x.lines.
+ * @returns {Array}
+ * @example
+ *  // Show 2 x grid lines
+ * chart.xgrids([
+ *    {value: 1, text: "Label 1"},
+ *    {value: 4, text: "Label 4"}
+ * ]);
+ * // --> Returns: [{value: 1, text: "Label 1"}, {value: 4, text: "Label 4"}]
+ */
+const xgrids = function(grids: GridsParam): GridsParam {
+	return grid.bind(this)(grids, "x");
+};
+
+extend(xgrids, {
+	/**
+	 * Add x grid lines.<br>
+	 * This API adds new x grid lines instead of replacing like xgrids.
+	 * @function xgrids․add
+	 * @instance
+	 * @memberof Chart
+	 * @param {Array|object} grids New x grid lines will be added. The format of this argument is the same as grid.x.lines and it's possible to give an Object if only one line will be added.
+	 * @returns {Array}
+	 * @example
+	 *  // Add a new x grid line
+	 * chart.xgrids.add(
+	 *   {value: 4, text: "Label 4"}
+	 * );
+	 *
+	 * // Add new x grid lines
+	 * chart.xgrids.add([
+	 *   {value: 2, text: "Label 2"},
+	 *   {value: 4, text: "Label 4"}
+	 * ]);
+	 */
+	add(grids: GridsParam): GridsParam {
+		return add.bind(this)(grids, "x");
+	},
+
+	/**
+	 * Remove x grid lines.<br>
+	 * This API removes x grid lines.
+	 * @function xgrids․remove
+	 * @instance
+	 * @memberof Chart
+	 * @param {object} grids This argument should include value or class. If value is given, the x grid lines that have specified x value will be removed. If class is given, the x grid lines that have specified class will be removed. If args is not given, all of x grid lines will be removed.
+	 * @param {number} [grids.value] target value
+	 * @param {string} [grids.class] target class
+	 * @returns {void}
+	 * @example
+	 * // x grid line on x = 2 will be removed
+	 * chart.xgrids.remove({value: 2});
+	 *
+	 * // x grid lines that have 'grid-A' will be removed
+	 * chart.xgrids.remove({
+	 *   class: "grid-A"
+	 * });
+	 *
+	 * // all of x grid lines will be removed
+	 * chart.xgrids.remove();
+	 */
+	remove(grids?: GridsParam): void { // TODO: multiple
+		return remove.bind(this)(grids, true);
+	}
+});
+
+/**
+ * Update y grid lines.
+ * @function ygrids
+ * @instance
+ * @memberof Chart
+ * @param {Array} grids Y grid lines will be replaced with this argument. The format of this argument is the same as grid.y.lines.
+ * @returns {object}
+ * @example
+ *  // Show 2 y grid lines
+ * chart.ygrids([
+ *    {value: 100, text: "Label 1"},
+ *    {value: 400, text: "Label 4"}
+ * ]);
+ * // --> Returns: [{value: 100, text: "Label 1"}, {value: 400, text: "Label 4"}]
+ */
+const ygrids = function(grids: GridsParam): GridsParam {
+	return grid.bind(this)(grids, "y");
+};
+
+extend(ygrids, {
+	/**
+	 * Add y grid lines.<br>
+	 * This API adds new y grid lines instead of replacing like ygrids.
+	 * @function ygrids․add
+	 * @instance
+	 * @memberof Chart
+	 * @param {Array|object} grids New y grid lines will be added. The format of this argument is the same as grid.y.lines and it's possible to give an Object if only one line will be added.
+	 * @returns {object}
+	 * @example
+	 *  // Add a new x grid line
+	 * chart.ygrids.add(
+	 *   {value: 400, text: "Label 4"}
+	 * );
+	 *
+	 * // Add new x grid lines
+	 * chart.ygrids.add([
+	 *   {value: 200, text: "Label 2"},
+	 *   {value: 400, text: "Label 4"}
+	 * ]);
+	 */
+	add(grids: GridsParam): GridsParam {
+		return add.bind(this)(grids, "y");
+	},
+
+	/**
+	 * Remove y grid lines.<br>
+	 * This API removes x grid lines.
+	 * @function ygrids․remove
+	 * @instance
+	 * @memberof Chart
+	 * @param {object} grids This argument should include value or class. If value is given, the y grid lines that have specified y value will be removed. If class is given, the y grid lines that have specified class will be removed. If args is not given, all of y grid lines will be removed.
+	 * @param {number} [grids.value] target value
+	 * @param {string} [grids.class] target class
+	 * @returns {void}
+	 * @example
+	 * // y grid line on y = 200 will be removed
+	 * chart.ygrids.remove({value: 200});
+	 *
+	 * // y grid lines that have 'grid-A' will be removed
+	 * chart.ygrids.remove({
+	 *   class: "grid-A"
+	 * });
+	 *
+	 * // all of y grid lines will be removed
+	 * chart.ygrids.remove();
+	 */
+	remove(grids?: GridsParam): void { // TODO: multiple
+		return remove.bind(this)(grids, false);
+	}
+});
+
+export default {xgrids, ygrids};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_group.ts.html b/release/3.14.2/doc/Chart_api_group.ts.html new file mode 100644 index 000000000..389dd4fec --- /dev/null +++ b/release/3.14.2/doc/Chart_api_group.ts.html @@ -0,0 +1,120 @@ + + + + + + Chart/api/group.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/group.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {isUndefined} from "../../module/util";
+
+export default {
+	/**
+	 * Update groups for the targets.
+	 * @function groups
+	 * @instance
+	 * @memberof Chart
+	 * @param {Array} groups This argument needs to be an Array that includes one or more Array that includes target ids to be grouped.
+	 * @returns {Array} Grouped data names array
+	 * @example
+	 *  // data1 and data2 will be a new group.
+	 *  chart.groups([
+	 *     ["data1", "data2"]
+	 *  ]);
+	 */
+	groups<T = string[][]>(groups: T): T {
+		const $$ = this.internal;
+		const {config} = $$;
+
+		if (isUndefined(groups)) {
+			return config.data_groups;
+		}
+
+		config.data_groups = groups;
+		$$.redraw();
+
+		return config.data_groups;
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_legend.ts.html b/release/3.14.2/doc/Chart_api_legend.ts.html new file mode 100644 index 000000000..114a07d1d --- /dev/null +++ b/release/3.14.2/doc/Chart_api_legend.ts.html @@ -0,0 +1,150 @@ + + + + + + Chart/api/legend.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/legend.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * Define legend
+ * @ignore
+ */
+const legend = {
+	/**
+	 * Show legend for each target.
+	 * - **NOTE:** Legend APIs aren't supported for `treemap` type.
+	 * @function legend․show
+	 * @instance
+	 * @memberof Chart
+	 * @param {string|Array} targetIds
+	 * - If targetIds is given, specified target's legend will be shown.
+	 * - If only one target is the candidate, String can be passed.
+	 * - If no argument is given, all of target's legend will be shown.
+	 * @example
+	 * // Show legend for data1.
+	 * chart.legend.show("data1");
+	 *
+	 * // Show legend for data1 and data2.
+	 * chart.legend.show(["data1", "data2"]);
+	 *
+	 * // Show all legend.
+	 * chart.legend.show();
+	 */
+	show: function(targetIds?: string | string[]): void {
+		const $$ = this.internal;
+
+		$$.showLegend($$.mapToTargetIds(targetIds));
+		$$.updateAndRedraw({withLegend: true});
+	},
+
+	/**
+	 * Hide legend for each target.
+	 * @function legend․hide
+	 * @instance
+	 * @memberof Chart
+	 * @param {string|Array} targetIds
+	 * - If targetIds is given, specified target's legend will be hidden.
+	 * - If only one target is the candidate, String can be passed.
+	 * - If no argument is given, all of target's legend will be hidden.
+	 * @example
+	 * // Hide legend for data1.
+	 * chart.legend.hide("data1");
+	 *
+	 * // Hide legend for data1 and data2.
+	 * chart.legend.hide(["data1", "data2"]);
+	 *
+	 * // Hide all legend.
+	 * chart.legend.hide();
+	 */
+	hide: function(targetIds?: string | string[]): void {
+		const $$ = this.internal;
+
+		$$.hideLegend($$.mapToTargetIds(targetIds));
+		$$.updateAndRedraw({withLegend: true});
+	}
+};
+
+export default {legend};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_load.ts.html b/release/3.14.2/doc/Chart_api_load.ts.html new file mode 100644 index 000000000..13464e4f5 --- /dev/null +++ b/release/3.14.2/doc/Chart_api_load.ts.html @@ -0,0 +1,326 @@ + + + + + + Chart/api/load.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/load.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {callDone} from "../../ChartInternal/data/load";
+import {requestIdleCallback} from "../../module/browser";
+import {isArray, isEmpty, isString} from "../../module/util";
+
+export default {
+	/**
+	 * Load data to the chart.<br><br>
+	 * You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be toggles.
+	 * - <b>Note:</b>
+	 *   - unload should be used if some data needs to be unloaded simultaneously.
+	 *     If you call unload API soon after/before load instead of unload param, chart will not be rendered properly because of cancel of animation.<br>
+	 *   - done will be called after data loaded, but it's not after rendering.
+	 *     It's because rendering will finish after some transition and there is some time lag between loading and rendering
+	 * @function load
+	 * @instance
+	 * @memberof Chart
+	 * @param {object} args The object can consist with following members:<br>
+	 *
+	 *    | Key | Type | Description |
+	 *    | --- | --- | --- |
+	 *    | columns | Array | The `columns` data will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added |
+	 *    | json | Array | The `json` data will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added |
+	 *    | rows | Array | The `rows` data will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added |
+	 *    | url | string | The data from `url` will be loaded. If data that has the same target id is given, the chart will be updated. Otherwise, new target will be added |
+	 *    | &nbsp; | | |
+	 *    | append | boolean | Load data appending it to the current dataseries.<br>If the existing chart has`x` value, should provide with corresponding `x` value for newly loaded data.  |
+	 *    | axes | Object | The axes specified by data.axes will be updated. axes must be Object that has target id as keys. |
+	 *    | categories | Array | The categories specified by axis.x.categories or data.x will be updated. categories must be Array. |
+	 *    | classes | Object | The classes specified by data.classes will be updated. classes must be Object that has target id as keys. |
+	 *    | colors | Object | The colors specified by data.colors will be updated. colors must be Object that has target id as keys. |
+	 *    | data | Obejct | Data objects to be loaded. Checkout the example. |
+	 *    | done | Function | The specified function will be called after data loaded.|
+	 *    | headers | string |  Set request header if loading via `data.url`.<br>@see [data․headers](Options.html#.data%25E2%2580%25A4headers) |
+	 *    | keys | Object |  Choose which JSON objects keys correspond to desired data.<br>**NOTE:** Only for JSON object given as array.<br>@see [data․keys](Options.html#.data%25E2%2580%25A4keys) |
+	 *    | mimeType | string |  Set 'json' if loading JSON via url.<br>@see [data․mimeType](Options.html#.data%25E2%2580%25A4mimeType) |
+	 *    | names | Object | Same as data.names() |
+	 *    | resizeAfter | boolean | Resize after the load. Default value is `false`.<br>- This option won't call `onresize` neither `onresized`.<br>- When set to 'true', will call `.flush(true)` at the end of load. |
+	 *    | type | string | The type of targets will be updated. |
+	 *    | types | Object | The types of targets will be updated. |
+	 *    | unload | Array | Specify the data will be unloaded before loading new data. If true given, all of data will be unloaded. If target ids given as String or Array, specified targets will be unloaded. If absent or false given, unload will not occur. |
+	 *    | xs | string | Same as data.xs option  |
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataFromURL)
+	 * @example
+	 * // Load data1 and unload data2 and data3
+	 * chart.load({
+	 *     columns: [
+	 *        ["data1", 100, 200, 150, ...],
+	 *        ...
+	 *    ],
+	 *    unload: ["data2", "data3"],
+	 *    url: "...",
+	 *    done: function() { ... }
+	 *    resizeAfter: true  // will resize after load
+	 * });
+	 * @example
+	 * const chart = bb.generate({
+	 *   data: {
+	 *     columns: [
+	 *       ["data1", 20, 30, 40]
+	 *     ]
+	 *   }
+	 * });
+	 *
+	 * chart.load({
+	 *    columns: [
+	 *        // with 'append' option, the 'data1' will have `[20,30,40,50,60]`.
+	 *        ["data1", 50, 60]
+	 *    ],
+	 *    append: true
+	 * });
+	 * @example
+	 * const chart = bb.generate({
+	 *   data: {
+	 *     x: "x",
+	 *     xFormat: "%Y-%m-%dT%H:%M:%S",
+	 *     columns: [
+	 *       ["x", "2021-01-03T03:00:00", "2021-01-04T12:00:00", "2021-01-05T21:00:00"],
+	 *       ["data1", 36, 30, 24]
+	 *     ]
+	 *   },
+	 *   axis: {
+	 *     x: {
+	 *       type: "timeseries"
+	 *     }
+	 *   }
+	 * };
+	 *
+	 * chart.load({
+	 *   columns: [
+	 *     // when existing chart has `x` value, should provide correponding 'x' value.
+	 *     // with 'append' option, the 'data1' will have `[36,30,24,37]`.
+	 *     ["x", "2021-02-01T08:00:00"],
+	 *     ["data1", 37]
+	 *   ],
+	 *   append: true
+	 * });
+	 * @example
+	 * // myAPI.json
+	 * // {
+	 * //   "data1": [220, 240, 270, 250, 280],
+	 * //   "data2": [180, 150, 300, 70, 120]
+	 * // }
+	 *
+	 * chart.load({
+	 *     url: './data/myAPI.json',
+	 *     mimeType: "json",
+	 *
+	 *     // set request header if is needed
+	 *     headers: {
+	 *       "Content-Type": "text/json"
+	 *     }
+	 * });
+	 * @example
+	 * chart.load({
+	 *     data: [
+	 *       // equivalent as: columns: [["data1", 30, 200, 100]]
+	 *       {"data1": 30}, {"data1": 200}, {"data1": 100}
+	 *
+	 *       // or
+	 *       // equivalent as: columns: [["data1", 10, 20], ["data2", 13, 30]]
+	 *       // {"data1": 10, "data2": 13}, {"data1": 20, "data2": 30}}
+	 *     ]
+	 * });
+	 * @example
+	 * chart.load({
+	 *     json: [
+	 *          {name: "www.site1.com", upload: 800, download: 500, total: 400},
+	 *     ],
+	 *     keys: {
+	 *         x: "name",
+	 *         value: ["upload", "download"]
+	 *     }
+	 * });
+	 * @example
+	 * chart.load({
+	 *   json: {
+	 *       data1:[30, 20, 50, 40, 60, 50],
+	 *       data2:[200, 130, 90, 240, 130, 220],
+	 *   }
+	 * });
+	 */
+	load(args): void {
+		const $$ = this.internal;
+		const {config} = $$;
+
+		// update xs if specified
+		args.xs && $$.addXs(args.xs);
+
+		// update names if exists
+		"names" in args && this.data.names(args.names);
+
+		// update classes if exists
+		"classes" in args && Object.keys(args.classes).forEach(id => {
+			config.data_classes[id] = args.classes[id];
+		});
+
+		// update categories if exists
+		if ("categories" in args && $$.axis.isCategorized()) {
+			config.axis_x_categories = args.categories;
+		}
+
+		// update axes if exists
+		"axes" in args && Object.keys(args.axes).forEach(id => {
+			config.data_axes[id] = args.axes[id];
+		});
+
+		// update colors if exists
+		"colors" in args && Object.keys(args.colors).forEach(id => {
+			config.data_colors[id] = args.colors[id];
+		});
+
+		// unload if needed
+		if ("unload" in args && args.unload !== false) {
+			// TODO: do not unload if target will load (included in url/rows/columns)
+			$$.unload($$.mapToTargetIds(args.unload === true ? null : args.unload), () => {
+				// to mitigate improper rendering for multiple consecutive calls
+				// https://github.com/naver/billboard.js/issues/2121
+				requestIdleCallback(() => $$.loadFromArgs(args));
+			});
+		} else {
+			$$.loadFromArgs(args);
+		}
+	},
+
+	/**
+	 * Unload data to the chart.<br><br>
+	 * You can specify multiple targets by giving an array that includes id as String. If no argument is given, all of targets will be toggles.
+	 * - <b>Note:</b>
+	 * If you call load API soon after/before unload, unload param of load should be used. Otherwise chart will not be rendered properly because of cancel of animation.<br>
+	 * `done` will be called after data loaded, but it's not after rendering. It's because rendering will finish after some transition and there is some time lag between loading and rendering.
+	 * @function unload
+	 * @instance
+	 * @memberof Chart
+	 * @param {object} argsValue
+	 *  | key | Type | Description |
+	 *  | --- | --- | --- |
+	 *  | ids | String &vert; Array | Target id data to be unloaded. If not given, all data will be unloaded. |
+	 *  | done | Fuction | Callback after data is unloaded. |
+	 *  | resizeAfter | boolean | Resize after the unload. Default value is `false`.<br>- This option won't call `onresize` neither `onresized`.<br>- When set to 'true', will call `.flush(true)` at the end of unload. |
+	 * @example
+	 *  // Unload data2 and data3
+	 *  chart.unload({
+	 *    ids: ["data2", "data3"],
+	 *    done: function() {
+	 *       // called after the unloaded
+	 *    },
+	 *    resizeAfter: true  // will resize after unload
+	 *  });
+	 */
+	unload(argsValue): void {
+		const $$ = this.internal;
+		let args = argsValue || {};
+
+		// hide possible tooltip display when data is completely unloaded
+		isEmpty(args) && this.tooltip.hide();
+
+		if (isArray(args)) {
+			args = {ids: args};
+		} else if (isString(args)) {
+			args = {ids: [args]};
+		}
+
+		const ids = $$.mapToTargetIds(args.ids);
+
+		$$.unload(ids, () => {
+			$$.redraw({
+				withUpdateOrgXDomain: true,
+				withUpdateXDomain: true,
+				withLegend: true
+			});
+
+			$$.cache.remove(ids);
+			callDone.call($$, args.done, args.resizeAfter);
+		});
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_regions.ts.html b/release/3.14.2/doc/Chart_api_regions.ts.html new file mode 100644 index 000000000..3d4c44a5c --- /dev/null +++ b/release/3.14.2/doc/Chart_api_regions.ts.html @@ -0,0 +1,247 @@ + + + + + + Chart/api/regions.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/regions.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {$REGION} from "../../config/classes";
+import {extend, getOption, isTabVisible} from "../../module/util";
+
+type RegionsParam = {axis?: "add" | "update", class?: string, start?: number, end?: number}[];
+
+/**
+ * Region add/update function
+ * @param {Array} regions Regions will be replaced with this argument. The format of this argument is the same as regions.
+ * @param {boolean} isAdd If true, add new regions, otherwise update regions
+ * @returns {Array} regions
+ * @private
+ */
+function regionsFn(regions: RegionsParam, isAdd = false): RegionsParam {
+	const $$ = this.internal;
+	const {config} = $$;
+	const withTransition = config.transition_duration && isTabVisible();
+
+	if (!regions) {
+		return config.regions;
+	}
+
+	config.regions = isAdd ? config.regions.concat(regions) : regions;
+
+	$$.updateRegion();
+	$$.redrawRegion(withTransition);
+
+	return isAdd ? config.regions : regions;
+}
+
+/**
+ * Update regions.
+ * @function regions
+ * @instance
+ * @memberof Chart
+ * @param {Array} regions Regions will be replaced with this argument. The format of this argument is the same as regions.
+ * @returns {Array} regions
+ * @example
+ * // Show 2 regions
+ * chart.regions([
+ *    {axis: "x", start: 5, class: "regionX"},
+ *    {
+ *      axis: "y", end: 50, class: "regionY",
+ *      label: {
+ *      	text: "Region Text",
+ *      	x: 5,  // position relative of the initial x coordinate
+ *      	y: 5,  // position relative of the initial y coordinate
+ *      	color: "red",  // color string
+ *      	rotated: true  // make text to show in vertical or horizontal
+ *      }
+ *    }
+ * ]);
+ */
+const regions = function(regions: RegionsParam): RegionsParam {
+	return regionsFn.bind(this)(regions);
+};
+
+extend(regions, {
+	/**
+	 * Add new region.<br><br>
+	 * This API adds new region instead of replacing like regions.
+	 * @function regions․add
+	 * @instance
+	 * @memberof Chart
+	 * @param {Array|object} regions New region will be added. The format of this argument is the same as regions and it's possible to give an Object if only one region will be added.
+	 * @returns {Array} regions
+	 * @example
+	 * // Add a new region
+	 * chart.regions.add(
+	 *    {
+	 *      axis: "x", start: 5, class: "regionX",
+	 *      label: {
+	 *      	text: "Region Text",
+	 *      	color: "red"  // color string
+	 *      }
+	 *    }
+	 * );
+	 *
+	 * // Add new regions
+	 * chart.regions.add([
+	 *    {axis: "x", start: 5, class: "regionX"},
+	 *    {
+	 *      axis: "y", end: 50, class: "regionY",
+	 *      label: {
+	 *      	text: "Region Text",
+	 *      	x: 5,  // position relative of the initial x coordinate
+	 *      	y: 5,  // position relative of the initial y coordinate
+	 *      	color: "red",  // color string
+	 *      	rotated: true  // make text to show in vertical or horizontal
+	 *      }
+	 *    }
+	 * ]);
+	 */
+	add: function(regions: RegionsParam): RegionsParam {
+		return regionsFn.bind(this)(regions, true);
+	},
+
+	/**
+	 * Remove regions.<br><br>
+	 * This API removes regions.
+	 * @function regions․remove
+	 * @instance
+	 * @memberof Chart
+	 * @param {object} optionsValue This argument should include classes. If classes is given, the regions that have one of the specified classes will be removed. If args is not given, all of regions will be removed.
+	 * @returns {Array} regions Removed regions
+	 * @example
+	 * // regions that have 'region-A' or 'region-B' will be removed.
+	 * chart.regions.remove({
+	 *   classes: [
+	 *     "region-A", "region-B"
+	 *   ]
+	 * });
+	 *
+	 * // all of regions will be removed.
+	 * chart.regions.remove();
+	 */
+	remove: function(optionsValue: RegionsParam): RegionsParam {
+		const $$ = this.internal;
+		const {config, $T} = $$;
+
+		const options = optionsValue || {};
+		const classes = getOption(options, "classes", [$REGION.region]);
+		let regions = $$.$el.main.select(`.${$REGION.regions}`)
+			.selectAll(classes.map(c => `.${c}`));
+
+		$T(regions)
+			.style("opacity", "0")
+			.remove();
+
+		regions = config.regions;
+
+		if (Object.keys(options).length) {
+			regions = regions.filter(region => {
+				let found = false;
+
+				if (!region.class) {
+					return true;
+				}
+
+				region.class.split(" ").forEach(c => {
+					if (classes.indexOf(c) >= 0) {
+						found = true;
+					}
+				});
+
+				return !found;
+			});
+
+			config.regions = regions;
+		} else {
+			config.regions = [];
+		}
+
+		return regions;
+	}
+});
+
+export default {regions};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_selection.ts.html b/release/3.14.2/doc/Chart_api_selection.ts.html new file mode 100644 index 000000000..da421ca6f --- /dev/null +++ b/release/3.14.2/doc/Chart_api_selection.ts.html @@ -0,0 +1,231 @@ + + + + + + Chart/api/selection.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/selection.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {select as d3Select} from "d3-selection";
+import type {DataItem} from "../../../types/types";
+import {$AREA, $LINE, $SELECT, $SHAPE} from "../../config/classes";
+import {isDefined} from "../../module/util";
+
+/**
+ * Toggler function to select or unselect
+ * @param {boolean} isSelection Weather select or unselect
+ * @param {Array} ids Target ids
+ * @param {Array} indices Indices number
+ * @param {boolean} resetOther Weather reset other selected points (only for selection)
+ * @private
+ */
+function setSelection(
+	isSelection = false,
+	ids?: string | string[],
+	indices?: number[],
+	resetOther?: boolean
+): void {
+	const $$ = this;
+	const {config, $el: {main}} = $$;
+	const selectionGrouped = config.data_selection_grouped;
+	const isSelectable = config.data_selection_isselectable.bind($$.api);
+
+	if (!config.data_selection_enabled) {
+		return;
+	}
+
+	main.selectAll(`.${$SHAPE.shapes}`)
+		.selectAll(`.${$SHAPE.shape}`)
+		.each(function(d) {
+			const shape = d3Select(this);
+			const {id, index} = d.data ? d.data : d;
+			const toggle = $$.getToggle(this, d).bind($$);
+			const isTargetId = selectionGrouped || !ids || ids.indexOf(id) >= 0;
+			const isTargetIndex = !indices || indices.indexOf(index) >= 0;
+			const isSelected = shape.classed($SELECT.SELECTED);
+
+			// line/area selection not supported yet
+			if (shape.classed($LINE.line) || shape.classed($AREA.area)) {
+				return;
+			}
+
+			if (isSelection) {
+				if (isTargetId && isTargetIndex && isSelectable(d) && !isSelected) {
+					toggle(true, shape.classed($SELECT.SELECTED, true), d, index);
+				} else if (isDefined(resetOther) && resetOther && isSelected) {
+					toggle(false, shape.classed($SELECT.SELECTED, false), d, index);
+				}
+			} else {
+				if (isTargetId && isTargetIndex && isSelectable(d) && isSelected) {
+					toggle(false, shape.classed($SELECT.SELECTED, false), d, index);
+				}
+			}
+		});
+}
+
+export default {
+	/**
+	 * Get selected data points.<br><br>
+	 * By this API, you can get selected data points information. To use this API, data.selection.enabled needs to be set true.
+	 * @function selected
+	 * @instance
+	 * @memberof Chart
+	 * @param {string} [targetId] You can filter the result by giving target id that you want to get. If not given, all of data points will be returned.
+	 * @returns {Array} dataPoint Array of the data points.<br>ex.) `[{x: 1, value: 200, id: "data1", index: 1, name: "data1"}, ...]`
+	 * @example
+	 *  // all selected data points will be returned.
+	 *  chart.selected();
+	 *  // --> ex.) [{x: 1, value: 200, id: "data1", index: 1, name: "data1"}, ... ]
+	 *
+	 *  // all selected data points of data1 will be returned.
+	 *  chart.selected("data1");
+	 */
+	selected(targetId?: string): DataItem[] {
+		const $$ = this.internal;
+		const dataPoint: DataItem[] = [];
+
+		$$.$el.main.selectAll(`.${$SHAPE.shapes + $$.getTargetSelectorSuffix(targetId)}`)
+			.selectAll(`.${$SHAPE.shape}`)
+			.filter(function() {
+				return d3Select(this).classed($SELECT.SELECTED);
+			})
+			.each(d => dataPoint.push(d));
+
+		return dataPoint;
+	},
+
+	/**
+	 * Set data points to be selected. ([`data.selection.enabled`](Options.html#.data%25E2%2580%25A4selection%25E2%2580%25A4enabled) option should be set true to use this method)
+	 * @function select
+	 * @instance
+	 * @memberof Chart
+	 * @param {string|Array} [ids] id value to get selected.
+	 * @param {Array} [indices] The index array of data points. If falsy value given, will select all data points.
+	 * @param {boolean} [resetOther] Unselect already selected.
+	 * @example
+	 *  // select all data points
+	 *  chart.select();
+	 *
+	 *  // select all from 'data2'
+	 *  chart.select("data2");
+	 *
+	 *  // select all from 'data1' and 'data2'
+	 *  chart.select(["data1", "data2"]);
+	 *
+	 *  // select from 'data1', indices 2 and unselect others selected
+	 *  chart.select("data1", [2], true);
+	 *
+	 *  // select from 'data1', indices 0, 3 and 5
+	 *  chart.select("data1", [0, 3, 5]);
+	 */
+	select(ids?: string[] | string, indices?: number[], resetOther?: boolean): void {
+		const $$ = this.internal;
+
+		setSelection.bind($$)(true, ids, indices, resetOther);
+	},
+
+	/**
+	 * Set data points to be un-selected.
+	 * @function unselect
+	 * @instance
+	 * @memberof Chart
+	 * @param {string|Array} [ids] id value to be unselected.
+	 * @param {Array} [indices] The index array of data points. If falsy value given, will select all data points.
+	 * @example
+	 *  // unselect all data points
+	 *  chart.unselect();
+	 *
+	 *  // unselect all from 'data1'
+	 *  chart.unselect("data1");
+	 *
+	 *  // unselect from 'data1', indices 2
+	 *  chart.unselect("data1", [2]);
+	 */
+	unselect(ids?: string | string[], indices?: number[]): void {
+		const $$ = this.internal;
+
+		setSelection.bind($$)(false, ids, indices);
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_show.ts.html b/release/3.14.2/doc/Chart_api_show.ts.html new file mode 100644 index 000000000..cdd260dc0 --- /dev/null +++ b/release/3.14.2/doc/Chart_api_show.ts.html @@ -0,0 +1,221 @@ + + + + + + Chart/api/show.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/show.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {callFn, endall} from "../../module/util";
+
+/**
+ * Show/Hide data series
+ * @param {boolean} show Show or hide
+ * @param {Array} targetIdsValue Target id values
+ * @param {object} options Options
+ * @private
+ */
+function showHide(show: boolean, targetIdsValue: string[], options: any): void {
+	const $$ = this.internal;
+	const targetIds = $$.mapToTargetIds(targetIdsValue);
+	const hiddenIds = $$.state.hiddenTargetIds
+		.map(v => targetIds.indexOf(v) > -1 && v)
+		.filter(Boolean);
+
+	$$.state.toggling = true;
+
+	$$[`${show ? "remove" : "add"}HiddenTargetIds`](targetIds);
+
+	const targets = $$.$el.svg.selectAll($$.selectorTargets(targetIds));
+	const opacity = show ? null : "0";
+
+	if (show && hiddenIds.length) {
+		targets.style("display", null);
+		callFn($$.config.data_onshown, this, hiddenIds);
+	}
+
+	$$.$T(targets)
+		.style("opacity", opacity, "important")
+		.call(endall, () => {
+			// https://github.com/naver/billboard.js/issues/1758
+			if (!show && hiddenIds.length === 0) {
+				targets.style("display", "none");
+				callFn($$.config?.data_onhidden, this, targetIds);
+			}
+
+			targets.style("opacity", opacity);
+		});
+
+	options.withLegend && $$[`${show ? "show" : "hide"}Legend`](targetIds);
+
+	$$.redraw({
+		withUpdateOrgXDomain: true,
+		withUpdateXDomain: true,
+		withLegend: true
+	});
+
+	$$.state.toggling = false;
+}
+
+export default {
+	/**
+	 * Show data series on chart
+	 * @function show
+	 * @instance
+	 * @memberof Chart
+	 * @param {string|Array} [targetIdsValue] The target id value.
+	 * @param {object} [options] The object can consist with following members:<br>
+	 *
+	 *    | Key | Type | default | Description |
+	 *    | --- | --- | --- | --- |
+	 *    | withLegend | boolean | false | whether or not display legend |
+	 *
+	 * @example
+	 * // show 'data1'
+	 * chart.show("data1");
+	 *
+	 * // show 'data1' and 'data3'
+	 * chart.show(["data1", "data3"]);
+	 */
+	show(targetIdsValue?: string[] | string, options = {}): void {
+		showHide.call(this, true, targetIdsValue, options);
+	},
+
+	/**
+	 * Hide data series from chart
+	 * @function hide
+	 * @instance
+	 * @memberof Chart
+	 * @param {string|Array} [targetIdsValue] The target id value.
+	 * @param {object} [options] The object can consist with following members:<br>
+	 *
+	 *    | Key | Type | default | Description |
+	 *    | --- | --- | --- | --- |
+	 *    | withLegend | boolean | false | whether or not display legend |
+	 *
+	 * @example
+	 * // hide 'data1'
+	 * chart.hide("data1");
+	 *
+	 * // hide 'data1' and 'data3'
+	 * chart.hide(["data1", "data3"]);
+	 */
+	hide(targetIdsValue?: string[], options = {}): void {
+		showHide.call(this, false, targetIdsValue, options);
+	},
+
+	/**
+	 * Toggle data series on chart. When target data is hidden, it will show. If is shown, it will hide in vice versa.
+	 * @function toggle
+	 * @instance
+	 * @memberof Chart
+	 * @param {string|Array} [targetIds] The target id value.
+	 * @param {object} [options] The object can consist with following members:<br>
+	 *
+	 *    | Key | Type | default | Description |
+	 *    | --- | --- | --- | --- |
+	 *    | withLegend | boolean | false | whether or not display legend |
+	 *
+	 * @example
+	 * // toggle 'data1'
+	 * chart.toggle("data1");
+	 *
+	 * // toggle 'data1' and 'data3'
+	 * chart.toggle(["data1", "data3"]);
+	 */
+	toggle(targetIds: string | string[], options = {}): void {
+		const $$ = this.internal;
+		const targets = {show: <string[]>[], hide: <string[]>[]};
+
+		// sort show & hide target ids
+		$$.mapToTargetIds(targetIds)
+			.forEach((id: string) => targets[$$.isTargetToShow(id) ? "hide" : "show"].push(id));
+
+		// perform show & hide task separately
+		// https://github.com/naver/billboard.js/issues/454
+		targets.show.length && this.show(targets.show, options);
+		targets.hide.length && setTimeout(() => this.hide(targets.hide, options), 0);
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_subchart.ts.html b/release/3.14.2/doc/Chart_api_subchart.ts.html new file mode 100644 index 000000000..581b827cc --- /dev/null +++ b/release/3.14.2/doc/Chart_api_subchart.ts.html @@ -0,0 +1,259 @@ + + + + + + Chart/api/subchart.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/subchart.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import type {TDomain} from "../../ChartInternal/data/IData";
+import {$COMMON} from "../../config/classes";
+import {extend, parseDate} from "../../module/util";
+
+/**
+ * Select subchart by giving x domain range.
+ * - **ℹ️ NOTE:**
+ *  - Due to the limitations of floating point precision, domain value may not be exact returning approximately values.
+ * @function subchart
+ * @instance
+ * @memberof Chart
+ * @param {Array} domainValue If domain range is given, the subchart will be seleted to the given domain. If no argument is given, the current subchart selection domain will be returned.
+ * @returns {Array} domain value in array
+ * @example
+ *  // Specify domain for subchart selection
+ *  chart.subchart([1, 2]);
+ *
+ *  // Get the current subchart selection domain range
+ *  // Domain value may not be exact returning approximately values.
+ *  chart.subchart();
+ */
+// NOTE: declared funciton assigning to variable to prevent duplicated method generation in JSDoc.
+const subchart = function<T = TDomain[]>(domainValue?: T): T | undefined {
+	const $$ = this.internal;
+	const {axis, brush, config, scale: {x, subX}, state} = $$;
+	let domain;
+
+	if (config.subchart_show) {
+		domain = domainValue;
+
+		if (Array.isArray(domain)) {
+			if (axis.isTimeSeries()) {
+				domain = domain.map(x => parseDate.bind($$)(x));
+			}
+
+			const isWithinRange = $$.withinRange(
+				domain,
+				$$.getZoomDomain("subX", true),
+				$$.getZoomDomain("subX")
+			);
+
+			if (isWithinRange) {
+				state.domain = domain;
+
+				brush.move(
+					brush.getSelection(),
+					domain.map(subX)
+				);
+			}
+		} else {
+			domain = state.domain ?? x.orgDomain();
+		}
+	}
+
+	return domain as T;
+};
+
+extend(subchart, {
+	/**
+	 * Show subchart
+	 * - **NOTE:** for ESM imports, needs to import 'subchart' exports and instantiate it by calling `subchart()`.
+	 * @function subchart․show
+	 * @instance
+	 * @memberof Chart
+	 * @example
+	 * // for ESM imports, needs to import 'subchart' and must be instantiated first to enable subchart's API.
+	 * import {subchart} from "billboard.js";
+	 *
+	 * const chart = bb.generate({
+	 *   ...
+	 *   subchart: {
+	 *      // need to be instantiated by calling 'subchart()'
+	 *      enabled: subchart()
+	 *
+	 *      // in case don't want subchart to be shown at initialization, instantiate with '!subchart()'
+	 *      enabled: !subchart()
+	 *   }
+	 * });
+	 *
+	 * chart.subchart.show();
+	 */
+	show(): void {
+		const $$ = this.internal;
+		const {$el: {subchart}, config} = $$;
+		const show = config.subchart_show;
+
+		if (!show) {
+			// unbind zoom event bound to chart rect area
+			$$.unbindZoomEvent();
+
+			config.subchart_show = !show;
+			!subchart.main && $$.initSubchart();
+
+			let $target = subchart.main.selectAll(`.${$COMMON.target}`);
+
+			// need to cover when new data has been loaded
+			if ($$.data.targets.length !== $target.size()) {
+				$$.updateSizes();
+				$$.updateTargetsForSubchart($$.data.targets);
+
+				$target = subchart.main?.selectAll(`.${$COMMON.target}`);
+			}
+
+			$target?.style("opacity", null);
+			subchart.main?.style("display", null);
+
+			this.resize();
+		}
+	},
+
+	/**
+	 * Hide generated subchart
+	 * - **NOTE:** for ESM imports, needs to import 'subchart' exports and instantiate it by calling `subchart()`.
+	 * @function subchart․hide
+	 * @instance
+	 * @memberof Chart
+	 * @example
+	 *  chart.subchart.hide();
+	 */
+	hide(): void {
+		const $$ = this.internal;
+		const {$el: {subchart: {main}}, config} = $$;
+
+		if (config.subchart_show && main?.style("display") !== "none") {
+			config.subchart_show = false;
+			main.style("display", "none");
+
+			this.resize();
+		}
+	},
+
+	/**
+	 * Toggle the visiblity of subchart
+	 * - **NOTE:** for ESM imports, needs to import 'subchart' exports and instantiate it by calling `subchart()`.
+	 * @function subchart․toggle
+	 * @instance
+	 * @memberof Chart
+	 * @example
+	 * // When subchart is hidden, will be shown
+	 * // When subchart is shown, will be hidden
+	 * chart.subchart.toggle();
+	 */
+	toggle(): void {
+		const $$ = this.internal;
+		const {config} = $$;
+
+		this.subchart[config.subchart_show ? "hide" : "show"]();
+	},
+
+	/**
+	 * Reset subchart selection
+	 * @function subchart․reset
+	 * @instance
+	 * @memberof Chart
+	 * @example
+	 * // Reset subchart selection
+	 * chart.subchart.reset();
+	 */
+	reset(): void {
+		const $$ = this.internal;
+		const {brush} = $$;
+
+		brush.clear(brush.getSelection());
+	}
+});
+
+export default {
+	subchart
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_tooltip.ts.html b/release/3.14.2/doc/Chart_api_tooltip.ts.html new file mode 100644 index 000000000..d190230d9 --- /dev/null +++ b/release/3.14.2/doc/Chart_api_tooltip.ts.html @@ -0,0 +1,236 @@ + + + + + + Chart/api/tooltip.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/tooltip.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {$SHAPE} from "../../config/classes";
+import {isDefined} from "../../module/util";
+
+/**
+ * Define tooltip
+ * @ignore
+ */
+const tooltip = {
+	/**
+	 * Show tooltip
+	 * @function tooltip․show
+	 * @instance
+	 * @memberof Chart
+	 * @param {object} args The object can consist with following members:<br>
+	 *
+	 *    | Key | Type | Description |
+	 *    | --- | --- | --- |
+	 *    | index | Number | Determine focus by index |
+	 *    | x | Number &vert; Date | Determine focus by x Axis index |
+	 *    | mouse | Array | Determine x and y coordinate value relative the targeted '.bb-event-rect' x Axis.<br>It should be used along with `data`, `index` or `x` value. The default value is set as `[0,0]` |
+	 *    | data | Object | When [data.xs](Options.html#.data%25E2%2580%25A4xs) option is used or [tooltip.grouped](Options.html#.tooltip) set to 'false', `should be used giving this param`.<br><br>**Key:**<br>- x {number &verbar; Date}: x Axis value<br>- index {number}: x Axis index (useless for data.xs)<br>- id {string}: data id<br>- value {number}: The corresponding value for tooltip. |
+	 *
+	 * @example
+	 *  // show the 2nd x Axis coordinate tooltip
+	 *  // for Arc(gauge, donut & pie) and radar type, approch showing tooltip by using "index" number.
+	 *  chart.tooltip.show({
+	 *    index: 1
+	 *  });
+	 *
+	 *  // show tooltip for the 3rd x Axis in x:50 and y:100 coordinate of '.bb-event-rect' of the x Axis.
+	 *  chart.tooltip.show({
+	 *    x: 2,
+	 *    mouse: [50, 100]
+	 *  });
+	 *
+	 *  // show tooltip for timeseries x axis
+	 *  chart.tooltip.show({
+	 *    x: new Date("2018-01-02 00:00")
+	 *  });
+	 *
+	 *  // treemap type can be shown by using "id" only.
+	 *  chart.tooltip.show({
+	 *    data: {
+	 *        id: "data1"  // data id
+	 *    }
+	 *  });
+	 *
+	 *  // for Arc types, specify 'id' or 'index'
+	 *  chart.tooltip.show({ data: { id: "data2" }});
+	 *  chart.tooltip.show({ data: { index: 2 }});
+	 *
+	 *  // when data.xs is used
+	 *  chart.tooltip.show({
+	 *    data: {
+	 *        x: 3,  // x Axis value
+	 *        id: "data1",  // data id
+	 *        value: 500  // data value
+	 *    }
+	 *  });
+	 *
+	 *  // when data.xs isn't used, but tooltip.grouped=false is set
+	 *  chart.tooltip.show({
+	 *    data: {
+	 *        index: 3,  // or 'x' key value
+	 *        id: "data1",  // data id
+	 *        value: 500  // data value
+	 *    }
+	 *  });
+	 */
+	show: function(args): void {
+		const $$ = this.internal;
+		const {$el, config, state: {eventReceiver, hasFunnel, hasTreemap, inputType}} = $$;
+		let index;
+		let mouse;
+
+		// determine mouse position on the chart
+		if (args.mouse) {
+			mouse = args.mouse;
+		}
+
+		// determine focus data
+		if (args.data) {
+			const {data} = args;
+			const y = $$.getYScaleById(data.id)?.(data.value);
+
+			if ((hasFunnel || hasTreemap) && data.id) {
+				const selector = $$.selectorTarget(data.id, undefined, `.${$SHAPE.shape}`);
+
+				eventReceiver.rect = $el.main.select(selector);
+			} else if ($$.isMultipleX()) {
+				// if multiple xs, target point will be determined by mouse
+				mouse = [$$.xx(data), y];
+			} else {
+				if (!config.tooltip_grouped) {
+					mouse = [0, y];
+				}
+
+				index = data.index ?? (
+					$$.hasArcType() && data.id ?
+						$$.getArcElementByIdOrIndex(data.id)?.datum().index :
+						$$.getIndexByX(data.x)
+				);
+			}
+		} else if (isDefined(args.x)) {
+			index = $$.getIndexByX(args.x);
+		} else if (isDefined(args.index)) {
+			index = args.index;
+		}
+
+		(inputType === "mouse" ? ["mouseover", "mousemove"] : ["touchstart"]).forEach(eventName => {
+			$$.dispatchEvent(eventName, index, mouse);
+		});
+	},
+
+	/**
+	 * Hide tooltip
+	 * @function tooltip․hide
+	 * @instance
+	 * @memberof Chart
+	 */
+	hide: function(): void {
+		const $$ = this.internal;
+		const {state: {inputType}, $el: {tooltip}} = $$;
+		const data = tooltip?.datum();
+
+		if (data) {
+			const {index} = JSON.parse(data.current)[0];
+
+			// make to finalize, possible pending event flow set from '.tooltip.show()' call
+			(inputType === "mouse" ? ["mouseout"] : ["touchend"]).forEach(eventName => {
+				$$.dispatchEvent(eventName, index);
+			});
+		}
+
+		// reset last touch point index
+		inputType === "touch" && $$.callOverOutForTouch();
+
+		$$.hideTooltip(true);
+		$$.hideGridFocus?.();
+
+		$$.unexpandCircles?.();
+		$$.expandBarTypeShapes?.(false);
+	}
+};
+
+export default {tooltip};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_x.ts.html b/release/3.14.2/doc/Chart_api_x.ts.html new file mode 100644 index 000000000..be1755a1b --- /dev/null +++ b/release/3.14.2/doc/Chart_api_x.ts.html @@ -0,0 +1,160 @@ + + + + + + Chart/api/x.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/x.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {isArray, isObject} from "../../module/util";
+
+export default {
+	/**
+	 * Get and set x values for the chart.
+	 * @function x
+	 * @instance
+	 * @memberof Chart
+	 * @param {Array} x If x is given, x values of every target will be updated. If no argument is given, current x values will be returned as an Object whose keys are the target ids.
+	 * @returns {object} xs
+	 * @example
+	 *  // Get current x values
+	 *  chart.x();
+	 *
+	 *  // Update x values for all targets
+	 *  chart.x([100, 200, 300, 400, ...]);
+	 */
+	x(x?: number[]): {[key: string]: number[]} {
+		const $$ = this.internal;
+		const {axis, data} = $$;
+		const isCategorized = axis.isCustomX() && axis.isCategorized();
+
+		if (isArray(x)) {
+			if (isCategorized) {
+				this.categories(x);
+			} else {
+				$$.updateTargetX(data.targets, x);
+
+				$$.redraw({
+					withUpdateOrgXDomain: true,
+					withUpdateXDomain: true
+				});
+			}
+		}
+
+		return isCategorized ? this.categories() : data.xs;
+	},
+
+	/**
+	 * Get and set x values for the chart.
+	 * @function xs
+	 * @instance
+	 * @memberof Chart
+	 * @param {Array} xs If xs is given, specified target's x values will be updated. If no argument is given, current x values will be returned as an Object whose keys are the target ids.
+	 * @returns {object} xs
+	 * @example
+	 *  // Get current x values
+	 *  chart.xs();
+	 *
+	 *  // Update x values for all targets
+	 *  chart.xs({
+	 *    data1: [10, 20, 30, 40, ...],
+	 *    data2: [100, 200, 300, 400, ...]
+	 *  });
+	 */
+	xs(xs?: {[key: string]: number[]}): {[key: string]: number[]} {
+		const $$ = this.internal;
+
+		if (isObject(xs)) {
+			$$.updateTargetXs($$.data.targets, xs);
+
+			$$.redraw({
+				withUpdateOrgXDomain: true,
+				withUpdateXDomain: true
+			});
+		}
+
+		return $$.data.xs;
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Chart_api_zoom.ts.html b/release/3.14.2/doc/Chart_api_zoom.ts.html new file mode 100644 index 000000000..624ede788 --- /dev/null +++ b/release/3.14.2/doc/Chart_api_zoom.ts.html @@ -0,0 +1,321 @@ + + + + + + Chart/api/zoom.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Chart/api/zoom.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {zoomIdentity as d3ZoomIdentity, zoomTransform as d3ZoomTransform} from "d3-zoom";
+import type {TDomainRange} from "../../ChartInternal/data/IData";
+import {extend, getMinMax, isDefined, isObject, parseDate} from "../../module/util";
+
+/**
+ * Zoom by giving x domain range.
+ * - **ℹ️ NOTE:**
+ *  - For `wheel` type zoom, the minimum zoom range will be set as the given domain range. To get the initial state, [.unzoom()](#unzoom) should be called.
+ *  - To be used [zoom.enabled](Options.html#.zoom) option should be set as `truthy`.
+ *  - When x axis type is `category`, domain range should be specified as index numbers.
+ *  - Due to the limitations of floating point precision, domain value may not be exact returning approximately values.
+ * @function zoom
+ * @instance
+ * @memberof Chart
+ * @param {Array} domainValue If domain range is given, the chart will be zoomed to the given domain. If no argument is given, the current zoomed domain will be returned.
+ * @returns {Array} domain value in array
+ * @example
+ *  // Zoom to specified domain range
+ *  chart.zoom([10, 20]);
+ *
+ *  // For timeseries x axis, the domain value can be string, but the format should match with the 'data.xFormat' option.
+ *  chart.zoom(["2021-02-03", "2021-02-08"]);
+ *
+ *  // For category x axis, the domain value should be index number.
+ *  chart.zoom([0, 3]);
+ *
+ *  // Get the current zoomed domain range
+ *  // Domain value may not be exact returning approximately values.
+ *  chart.zoom();
+ */
+// NOTE: declared funciton assigning to variable to prevent duplicated method generation in JSDoc.
+const zoom = function<T = TDomainRange>(domainValue?: T): T | undefined {
+	const $$ = this.internal;
+	const {axis, config, org, scale, state} = $$;
+	const isCategorized = axis.isCategorized();
+	let domain;
+
+	if (config.zoom_enabled) {
+		domain = domainValue;
+
+		if (Array.isArray(domain)) {
+			if (axis.isTimeSeries()) {
+				domain = domain.map(x => parseDate.bind($$)(x));
+			}
+
+			const isWithinRange = $$.withinRange(
+				domain,
+				$$.getZoomDomain("zoom", true),
+				$$.getZoomDomain("zoom")
+			);
+
+			if (isWithinRange) {
+				state.domain = domain;
+
+				domain = $$.getZoomDomainValue(domain);
+
+				// hide any possible tooltip show before the zoom
+				$$.api.tooltip.hide();
+
+				if (config.subchart_show) {
+					const x = scale.zoom || scale.x;
+
+					$$.brush.getSelection().call($$.brush.move, domain.map(x));
+					// resultDomain = domain;
+				} else {
+					// in case of 'config.zoom_rescale=true', use org.xScale
+					const x = isCategorized ? scale.x.orgScale() : (org.xScale || scale.x);
+
+					$$.updateCurrentZoomTransform(x, domain);
+				}
+
+				$$.setZoomResetButton();
+			}
+		} else {
+			domain = $$.zoom.getDomain();
+		}
+	}
+
+	return state.domain ?? domain;
+};
+
+extend(zoom, {
+	/**
+	 * Enable and disable zooming.
+	 * @function zoom․enable
+	 * @instance
+	 * @memberof Chart
+	 * @param {string|boolean} enabled Possible string values are "wheel" or "drag". If enabled is true, "wheel" will be used. If false is given, zooming will be disabled.<br>When set to false, the current zooming status will be reset.
+	 * @example
+	 *  // Enable zooming using the mouse wheel
+	 *  chart.zoom.enable(true);
+	 *  // Or
+	 *  chart.zoom.enable("wheel");
+	 *
+	 *  // Enable zooming by dragging
+	 *  chart.zoom.enable("drag");
+	 *
+	 *  // Disable zooming
+	 *  chart.zoom.enable(false);
+	 */
+	enable(enabled: boolean | "wheel" | "drag" | any): void {
+		const $$ = this.internal;
+		const {config} = $$;
+
+		if (/^(drag|wheel)$/.test(enabled)) {
+			config.zoom_type = enabled;
+		}
+
+		config.zoom_enabled = !!enabled;
+
+		if (!$$.zoom) {
+			$$.initZoom();
+			$$.bindZoomEvent();
+		} else if (enabled === false) {
+			$$.bindZoomEvent(false);
+		}
+
+		$$.updateAndRedraw();
+	},
+
+	/**
+	 * Set or get x Axis maximum zoom range value
+	 * @function zoom․max
+	 * @instance
+	 * @memberof Chart
+	 * @param {number} [max] maximum value to set for zoom
+	 * @returns {number} zoom max value
+	 * @example
+	 *  // Set maximum range value
+	 *  chart.zoom.max(20);
+	 */
+	max(max?: number): number {
+		const $$ = this.internal;
+		const {config, org: {xDomain}} = $$;
+
+		if (max === 0 || max) {
+			config.zoom_x_max = getMinMax("max", [xDomain[1], max]);
+		}
+
+		return config.zoom_x_max;
+	},
+
+	/**
+	 * Set or get x Axis minimum zoom range value
+	 * @function zoom․min
+	 * @instance
+	 * @memberof Chart
+	 * @param {number} [min] minimum value to set for zoom
+	 * @returns {number} zoom min value
+	 * @example
+	 *  // Set minimum range value
+	 *  chart.zoom.min(-1);
+	 */
+	min(min?: number): number {
+		const $$ = this.internal;
+		const {config, org: {xDomain}} = $$;
+
+		if (min === 0 || min) {
+			config.zoom_x_min = getMinMax("min", [xDomain[0], min]);
+		}
+
+		return config.zoom_x_min;
+	},
+
+	/**
+	 * Set zoom range
+	 * @function zoom․range
+	 * @instance
+	 * @memberof Chart
+	 * @param {object} [range] zoom range
+	 * @returns {object} zoom range value
+	 * {
+	 *   min: 0,
+	 *   max: 100
+	 * }
+	 * @example
+	 *  chart.zoom.range({
+	 *      min: 10,
+	 *      max: 100
+	 *  });
+	 */
+	range(range): {min: (number | undefined)[], max: (number | undefined)[]} {
+		const zoom = this.zoom;
+
+		if (isObject(range)) {
+			const {min, max} = range;
+
+			isDefined(min) && zoom.min(min);
+			isDefined(max) && zoom.max(max);
+		}
+
+		return {
+			min: zoom.min(),
+			max: zoom.max()
+		};
+	}
+});
+
+export default {
+	zoom,
+
+	/**
+	 * Unzoom zoomed area
+	 * - **NOTE:** Calling .unzoom() will not trigger zoom events.
+	 * @function unzoom
+	 * @instance
+	 * @memberof Chart
+	 * @example
+	 *  chart.unzoom();
+	 */
+	unzoom(): void {
+		const $$ = this.internal;
+		const {config, $el: {eventRect, zoomResetBtn}, scale: {zoom}, state} = $$;
+
+		if (zoom) {
+			config.subchart_show ?
+				$$.brush.getSelection().call($$.brush.move, null) :
+				$$.zoom.updateTransformScale(d3ZoomIdentity);
+
+			$$.updateZoom(true);
+			zoomResetBtn?.style("display", "none");
+
+			// reset transform
+			if (d3ZoomTransform(eventRect.node()) !== d3ZoomIdentity) {
+				$$.zoom.transform(eventRect, d3ZoomIdentity);
+			}
+
+			state.domain = undefined;
+		}
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Options.html b/release/3.14.2/doc/Options.html new file mode 100644 index 000000000..062135aa6 --- /dev/null +++ b/release/3.14.2/doc/Options.html @@ -0,0 +1,33900 @@ + + + + + + Options - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Options

+ + + + + + + +
+ +
+ +

+ + Options + +

+ + +
+ +
+ +
+ + + + + +

new Options()

+ + + + + + +
+ +
Description:
+
  • Class to set options on generating chart.

    +
      +
    • It's instantiated internally, not exposed for public.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+
    +
  • bb.generate to use these options on generating the chart
  • +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +

Members

+ + + +

(static) arc :object

+ + + + + +
+ +
Description:
+
  • Set arc options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
arc + + +object + + + + +

Arc object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
cornerRadius + + +number +| + +function + + + + + + + <optional>
+ + + +
+ + 0 + +

Set corner radius of Arc(donut/gauge/pie/polar) shape.

+
    +
  • NOTE: +
      +
    • Corner radius can't surpass the (outerRadius - innerRadius) /2 of indicated shape.
    • +
    +
  • +
+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
ratio + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set ratio relative of outer radius.

+ +
needle + + +object + + + + + + + <optional>
+ + + +
+ +

Set needle options.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
show + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Show or hide needle.

color + + +string + + + + + + + <optional>
+ + + +
+ +

Set needle filled color.

path + + +function + + + + + + + <optional>
+ + + +
+ +

Set custom needle path function.

+
    +
  • NOTE:
  • +
  • The path should be starting from 0,0 (which is center) to top center coordinate.
  • +
  • The function will receive, length{number} parameter which indicating the needle length in pixel relative to radius.
  • +
value + + +number + + + + + + + <optional>
+ + + +
+ +

Set needle value.

+
    +
  • NOTE:
  • +
  • For single gauge chart, needle will point the data value by default, otherwise will point 0(zero).
  • +
length + + +number + + + + + + + <optional>
+ + + +
+ + 100 + +

Set needle length in percentages relative to radius.

top + + +object + + + + + + + <optional>
+ + + +
+ +

Set needle top options.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
rx + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set needle top rx radius value.

ry + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set needle top ry radius value.

width + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set needle top width in pixel.

+ +
bottom + + +object + + + + + + + <optional>
+ + + +
+ +

Set needle bottom options.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
rx + + +number + + + + + + + <optional>
+ + + +
+ + 1 + +

Set needle bottom rx radius value.

ry + + +number + + + + + + + <optional>
+ + + +
+ + 1 + +

Set needle bottom ry radius value.

width + + +number + + + + + + + <optional>
+ + + +
+ + 15 + +

Set needle bottom width in pixel.

len + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set needle bottom length in pixel. Setting this value, will make bottom larger starting from center.

+ +
+ +
rangeText + + +object + + + + + + + <optional>
+ + + +
+ +

Set rangeText options.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
values + + +Array + + + + + + + <optional>
+ + + +
+ +

Set range text values to be shown around Arc.

+
    +
  • When unit: 'absolute': Given values are treated as absolute values.
  • +
  • When unit: '%': Given values are treated as percentages.
  • +
unit + + +string + + + + + + + <optional>
+ + + +
+ + "absolute" + +

Specify the range text unit.

+
    +
  • "absolute": Show absolute value
  • +
  • "%": Show percentage value
  • +
fiexed + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Set if range text shown will be fixed w/o data toggle update. Only available for gauge chart.

format + + +function + + + + + + + <optional>
+ + + +
+ +

Set format function for the range text.

position + + +number + + + + + + + <optional>
+ + + +
+ +

Set position function or object for the range text.

+ +
+ +
+ + + + + + +
+

Set arc options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
arc: {
+     cornerRadius: 12,
+
+     // can customize corner radius for each data with function callback
+     //
+     // The function will receive:
+     // - id {string}: Data id
+     // - value {number}: Data value
+     // - outerRadius {number}: Outer radius value
+     cornerRadius: function(id, value, outerRadius) {
+         return (id === "data1" && value > 10) ?
+         	50 : outerRadius * 1.2;
+     },
+
+     // set ratio relative of outer radius
+     cornerRadius: {
+         ratio: 0.5
+     },
+
+     needle: {
+      	show: true,
+      	color: "red", // any valid CSS color
+      	path: function(length) {
+      	  const len = length - 20;
+
+      	  // will return upper arrow shape path
+      	  // Note: The path should begun from '0,0' coordinate to top center.
+      	  const path = `M 0 -${len + 20}
+      		L -12 -${len}
+      		L -5 -${len}
+      		L -5 0
+      		A 1 1 0 0 0 5 0
+      		L 5 -${len}
+      		L 12 -${len} Z`;
+
+      	  return path;
+      	},
+      	value: 40,  // will make needle to point value 40.
+      	length: 80, // needle length in percentages relative to radius.
+
+      	top: {
+      	  // rx and ry are the two radii of the ellipse;
+      	  // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve
+      	  rx: 1,
+      	  ry: 1,
+      	  width: 5
+      	},
+      	bottom: {
+      	  // rx and ry are the two radii of the ellipse;
+      	  // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve
+      	  rx: 1,
+      	  ry: 1,
+      	  width: 10
+      	  len: 10
+      	}
+     },
+
+     rangeText: {
+      	values: [15, 30, 50, 75, 95],
+      	unit: "%",
+      	fixed: false, // only available for gauge chart
+      	format: function(v) {
+      	  return v === 15 ? "Fifteen" : v;
+      	},
+
+      	position: function(v) {
+      	  return v === 15 ? {x: 20, y: 10} : null; // can return one props value also.
+      	},
+      	position: {x: 10, y: 15},
+      	position: {x: 10}
+     }
+ }
+ + + + + +

(static) area :object

+ + + + + +
+ +
Description:
+
  • Set area options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
area + + +object + + + + +

Area object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
above + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Set background area above the data chart line.

below + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Set background area below the data chart line.

+
    +
  • NOTE: Can't be used along with above option. When above & below options are set to true, above will be prioritized.
  • +
front + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Set area node to be positioned over line node.

linearGradient + + +boolean +| + +object + + + + + + + <optional>
+ + + +
+ + false + +

Set the linear gradient on area.

+Or customize by giving below object value:

+
    +
  • x {Array}: x1, x2 value (default: [0, 0])
  • +
  • y {Array}: y1, y2 value (default: [0, 1])
  • +
  • stops {Array}: Each item should be having [offset, stop-color, stop-opacity] values. +
      +
    • (default: [[0, $DATA_COLOR, 1], [1, $DATA_COLOR, 0]])
    • +
    +
  • +
zerobased + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Set if min or max value will be 0 on area chart.

+ +
+ + + + + + +
+

Set area options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
area: {
+     above: true,
+     below: false,
+     zerobased: false,
+
+     // <g class='bb-areas'> will be positioned behind the line <g class='bb-lines'> in stacking order
+     front: false,
+
+     // will generate follwing linearGradient:
+     // for more info: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient
+     // <linearGradient x1="0" x2="0" y1="0" y2="1">
+     //    <stop offset="0" stop-color="$DATA_COLOR" stop-opacity="1"></stop>
+     //    <stop offset="1" stop-color="$DATA_COLOR" stop-opacity="0"></stop>
+     // </linearGradient>
+     linearGradient: true,
+
+     // Or customized gradient
+     linearGradient: {
+     	x: [0, 0],  // x1, x2 attributes
+     	y: [0, 0],  // y1, y2 attributes
+     	stops: [
+     	  // offset, stop-color, stop-opacity
+     	  [0, "#7cb5ec", 1],
+
+     	  // setting 'null' for stop-color, will set its original data color
+     	  [0.5, null, 0],
+
+     	  // setting 'function' for stop-color, will pass data id as argument.
+     	  // It should return color string or null value
+     	  [1, function(id) { return id === "data1" ? "red" : "blue"; }, 0],
+     	]
+     }
+ }
+ + + + + +

(static) axis․evalTextSize :boolean|function

+ + + + + +
+ +
Description:
+
  • Setup the way to evaluate tick text size.

    +
      +
    • NOTE: +
        +
      • Setting false or custom evaluator, highly recommended to memoize evaluated text dimension value to not degrade performance.
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + + + +
+ + + + + +
+

Setup the way to evaluate tick text size.

+
    +
  • NOTE: +
      +
    • Setting false or custom evaluator, highly recommended to memoize evaluated text dimension value to not degrade performance.
    • +
    +
  • +
+
+ + + +
Type:
+
    +
  • + +boolean +| + +function + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  // will evaluate getting text size every time.
+  evalTextSize: false.
+
+  // set a custom evaluator
+  evalTextSize: function(textElement) {
+    // set some character to be evaluated
+    text.textContent = "0";
+
+    // get the size
+     const box = text.getBBox();
+
+    // clear text
+    text.textContent = "";
+
+    return { w: 7, h: 12};
+  }
+}
+ + + + + +

(static) axis․rotated :boolean

+ + + + + +
+ +
Description:
+
  • Switch x and y axis position.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + + + +
+ + + + + +
+

Switch x and y axis position.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  rotated: true
+}
+ + + + + +

(static) axis․tooltip :boolean

+ + + + + +
+ +
Description:
+
  • Set axis tooltip.

    +
      +
    • NOTE: +
        +
      • When enabled, will disable default focus grid line.
      • +
      • For timeseries x Axis, tootlip will be formatted using x Axis' tick format.
      • +
      • For category x Axis, tootlip will be displaying scales' value text.
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
axis + + +object + + + + +

Axis object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
tooltip + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Show tooltip or not.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
backgroundColor + + +string +| + +object + + + + + + + <optional>
+ + + +

Set axis tooltip text background colors.

+ +
+ +
+ + + + + + +
+

Set axis tooltip.

+
    +
  • NOTE: +
      +
    • When enabled, will disable default focus grid line.
    • +
    • For timeseries x Axis, tootlip will be formatted using x Axis' tick format.
    • +
    • For category x Axis, tootlip will be displaying scales' value text.
    • +
    +
  • +
+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+    tooltip: true, // default background color is
+
+    // set backgound color for axis tooltip texts
+    tooltip: {
+         backgroundColor: "red",
+
+         // set differenct backround colors per axes
+         // NOTE: In this case, only specified axes tooltip will appear.
+         backgroundColor: {
+              x: "green",
+              y: "yellow",
+              y2: "red"
+         }
+    }
+}
+ + + + + +

(static) axis․x․axes :Array

+ + + + + +
+ +
Description:
+
  • Set additional axes for x Axis.

    +
      +
    • NOTE: Axis' scale is based on x Axis value if domain option isn't set.
    • +
    +

    Each axis object should consist with following options:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDefaultDescription
    domainArray-Set the domain value
    tick.outerbooleantrueShow outer tick
    tick.formatFunction-Set formatter for tick text
    tick.countNumber-Set the number of y axis ticks
    tick.valuesArray-Set tick values manually
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set additional axes for x Axis.

+
    +
  • NOTE: Axis' scale is based on x Axis value if domain option isn't set.
  • +
+

Each axis object should consist with following options:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefaultDescription
domainArray-Set the domain value
tick.outerbooleantrueShow outer tick
tick.formatFunction-Set formatter for tick text
tick.countNumber-Set the number of y axis ticks
tick.valuesArray-Set tick values manually
+
+ + + +
Type:
+
    +
  • + +Array + + + +
  • +
+ + + + + +
Example
+ +
x: {
+   axes: [
+     {
+       // if set, will not be correlated with the main x Axis domain value
+       domain: [0, 1000],
+       tick: {
+         outer: false,
+         format: function(x) {
+            return x + "%";
+         },
+         count: 2,
+         values: [10, 20, 30]
+       }
+     },
+     ...
+   ]
+}
+ + + + + +

(static) axis․x․categories :Array

+ + + + + +
+ +
Description:
+
  • Set category names on category axis. +This must be an array that includes category names in string. If category names are included in the date by data.x option, this is not required.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • []
  • +
+ + + + + + + +
+ + + + + +
+

Set category names on category axis. +This must be an array that includes category names in string. If category names are included in the date by data.x option, this is not required.

+
+ + + +
Type:
+
    +
  • + +Array + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    categories: ["Category 1", "Category 2", ...]
+  }
+}
+ + + + + +

(static) axis․x․clipPath :boolean

+ + + + + +
+ +
Description:
+
  • Set clip-path attribute for x axis element

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set clip-path attribute for x axis element

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
// don't set 'clip-path' attribute
+clipPath: false
+ + + + + +

(static) axis․x․extent :Array|function

+ + + + + +
+ +
Description:
+
  • Set extent for subchart and zoom(drag only). This can be an array or function that returns an array.

    +
      +
    • NOTE: Specifying value, will limit the zoom scope selection within.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set extent for subchart and zoom(drag only). This can be an array or function that returns an array.

+
    +
  • NOTE: Specifying value, will limit the zoom scope selection within.
  • +
+
+ + + +
Type:
+
    +
  • + +Array +| + +function + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    // extent range as a pixel value
+    extent: [0, 200],
+
+    // when axis is 'timeseries', parsable datetime string
+    extent: ["2019-03-01", "2019-03-05"],
+
+    // return extent value
+    extent: function(domain, scale) {
+   	 var extent = domain.map(function(v) {
+    	    return scale(v);
+    	 });
+
+  	 // it should return a format of array
+  	 // ex) [0, 584]
+    	 return extent;
+    }
+  }
+}
+ + + + + +

(static) axis․x․forceAsSingle :boolean

+ + + + + +
+ +
Description:
+
  • Force the x axis to interact as single rather than multiple x axes.

    +
      +
    • NOTE: The tooltip event will be triggered nearing each data points(for multiple xs) rather than x axis based(as single x does) in below condition: +
        +
      • for bubble & scatter type
      • +
      • when data.xs is set
      • +
      • when tooltip.grouped=false is set +
          +
        • tooltip.grouped options will take precedence over axis.forceSingleX option.
        • +
        +
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Force the x axis to interact as single rather than multiple x axes.

+
    +
  • NOTE: The tooltip event will be triggered nearing each data points(for multiple xs) rather than x axis based(as single x does) in below condition: +
      +
    • for bubble & scatter type
    • +
    • when data.xs is set
    • +
    • when tooltip.grouped=false is set +
        +
      • tooltip.grouped options will take precedence over axis.forceSingleX option.
      • +
      +
    • +
    +
  • +
+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+     // will work as single x axis
+     forceAsSingle: true
+  }
+}
+ + + + + +

(static) axis․x․height :number

+ + + + + +
+ +
Description:
+
  • Set height of x axis.

    +The height of x axis can be set manually by this option. If you need more space for x axis, please use this option for that. The unit is pixel.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set height of x axis.

+The height of x axis can be set manually by this option. If you need more space for x axis, please use this option for that. The unit is pixel.

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    height: 20
+  }
+}
+ + + + + +

(static) axis․x․inverted :boolean

+ + + + + +
+ +
Description:
+
  • Change the direction of x axis.

    +If true set, the direction will be right -> left.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Change the direction of x axis.

+If true set, the direction will be right -> left.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    inverted: true
+  }
+}
+ + + + + +

(static) axis․x․label :string|object

+ + + + + +
+ +
Description:
+
  • Set label on x axis.

    +You can set x axis label and change its position by this option. +string and object can be passed and we can change the poisiton by passing object that has position key.
    +Available position differs according to the axis direction (vertical or horizontal). +If string set, the position will be the default.

    +
      +
    • If it's horizontal axis: +
        +
      • inner-right [default]
      • +
      • inner-center
      • +
      • inner-left
      • +
      • outer-right
      • +
      • outer-center
      • +
      • outer-left
      • +
      +
    • +
    • If it's vertical axis: +
        +
      • inner-top [default]
      • +
      • inner-middle
      • +
      • inner-bottom
      • +
      • outer-top
      • +
      • outer-middle
      • +
      • outer-bottom
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set label on x axis.

+You can set x axis label and change its position by this option. +string and object can be passed and we can change the poisiton by passing object that has position key.
+Available position differs according to the axis direction (vertical or horizontal). +If string set, the position will be the default.

+
    +
  • If it's horizontal axis: +
      +
    • inner-right [default]
    • +
    • inner-center
    • +
    • inner-left
    • +
    • outer-right
    • +
    • outer-center
    • +
    • outer-left
    • +
    +
  • +
  • If it's vertical axis: +
      +
    • inner-top [default]
    • +
    • inner-middle
    • +
    • inner-bottom
    • +
    • outer-top
    • +
    • outer-middle
    • +
    • outer-bottom
    • +
    +
  • +
+
+ + + +
Type:
+
    +
  • + +string +| + +object + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    label: "Your X Axis"
+  }
+}
+
+axis: {
+  x: {
+    label: {
+       text: "Your X Axis",
+       position: "outer-center"
+    }
+  }
+}
+ + + + + +

(static) axis․x․localtime :boolean

+ + + + + +
+ +
Description:
+
  • Set how to treat the timezone of x values.
    +If true, treat x value as localtime. If false, convert to UTC internally.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + + + +
+ + + + + +
+

Set how to treat the timezone of x values.
+If true, treat x value as localtime. If false, convert to UTC internally.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    localtime: false
+  }
+}
+ + + + + +

(static) axis․x․max

+ + + + + +
+ +
Description:
+
  • Set max value of x axis range.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
max + + +number + + + + +

Set the max value

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
fit + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

When specified max.value is greater than the bound data value, setting true will make x axis max to be fitted to the bound data max value.

+
    +
  • NOTE: If the bound data max value is greater than the max.value, the x axis max will be limited as the given max.value.
  • +
value + + +number + + + + + + + <optional>
+ + + +
+ +

Set the max value

+ +
+ + + + + + +
+

Set max value of x axis range.

+
+ + + + + + + +
Example
+ +
axis: {
+  x: {
+    max: 100,
+
+    max: {
+      // 'fit=true' will make x axis max to be limited as the bound data value max when 'max.value' is greater.
+      // - when bound data max is '10' and max.value: '100' ==>  x axis max will be '10'
+      // - when bound data max is '1000' and max.value: '100' ==> x axis max will be '100'
+      fit: true,
+      value: 100
+    }
+  }
+}
+ + + + + +

(static) axis․x․min

+ + + + + +
+ +
Description:
+
  • Set min value of x axis range.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
min + + +number + + + + +

Set the min value

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
fit + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

When specified min.value is lower than the bound data value, setting true will make x axis min to be fitted to the bound data min value.

+
    +
  • NOTE: If the bound data min value is lower than the min.value, the x axis min will be limited as the given min.value.
  • +
value + + +number + + + + + + + <optional>
+ + + +
+ +

Set the min value

+ +
+ + + + + + +
+

Set min value of x axis range.

+
+ + + + + + + +
Example
+ +
axis: {
+  x: {
+    min: -100,
+
+    min: {
+      // 'fit=true' will make x axis min to be limited as the bound data value min when 'min.value' is lower.
+      // - when bound data min is '-10' and min.value: '-100' ==>  x axis min will be '-10'
+      // - when bound data min is '-1000' and min.value: '-100' ==> x axis min will be '-100'
+      fit: true,
+      value: -100
+    }
+  }
+}
+ + + + + +

(static) axis․x․padding :object|number

+ + + + + +
+ +
Description:
+
  • Set padding for x axis.

    +If this option is set, the range of x axis will increase/decrease according to the values. +If no padding is needed in the rage of x axis, 0 should be set. +By default, left/right padding are set depending on x axis type or chart types.

    +
      +
    • NOTE: +
        +
      • The meaning of padding values, differs according axis types:
        +
          +
        • category/indexed: The unit of tick value +ex. the given value 1, is same as the width of 1 tick width
        • +
        • timeseries: Numeric time value +ex. the given value 1000*60*60*24, which is numeric time equivalent of a day, is same as the width of 1 tick width
        • +
        +
      • +
      • If want values to be treated as pixels, specify unit:"px". +
          +
        • The pixel value will be convered based on the scale values. Hence can not reflect accurate padding result.
        • +
        +
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • {}
  • +
+ + + + + + + +
+ + + + + +
+

Set padding for x axis.

+If this option is set, the range of x axis will increase/decrease according to the values. +If no padding is needed in the rage of x axis, 0 should be set. +By default, left/right padding are set depending on x axis type or chart types.

+
    +
  • NOTE: +
      +
    • The meaning of padding values, differs according axis types:
      +
        +
      • category/indexed: The unit of tick value +ex. the given value 1, is same as the width of 1 tick width
      • +
      • timeseries: Numeric time value +ex. the given value 1000*60*60*24, which is numeric time equivalent of a day, is same as the width of 1 tick width
      • +
      +
    • +
    • If want values to be treated as pixels, specify unit:"px". +
        +
      • The pixel value will be convered based on the scale values. Hence can not reflect accurate padding result.
      • +
      +
    • +
    +
  • +
+
+ + + +
Type:
+
    +
  • + +object +| + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    padding: {
+      // when axis type is 'category'
+      left: 1,  // set left padding width of equivalent value of a tick's width
+      right: 0.5  // set right padding width as half of equivalent value of tick's width
+
+      // when axis type is 'timeseries'
+      left: 1000*60*60*24,  // set left padding width of equivalent value of a day tick's width
+      right: 1000*60*60*12   // set right padding width as half of equivalent value of a day tick's width
+    },
+
+    // or set both values at once.
+    padding: 10,
+
+    // or set padding values as pixel unit.
+    padding: {
+      left: 100,
+      right: 50,
+      unit: "px"
+    },
+  }
+}
+ + + + + +

(static) axis․x․show :boolean

+ + + + + +
+ +
Description:
+
  • Show or hide x axis.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + + + +
+ + + + + +
+

Show or hide x axis.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    show: false
+  }
+}
+ + + + + +

(static) axis․x․tick․autorotate :boolean

+ + + + + +
+ +
Description:
+
  • Rotate x axis tick text if there is not enough space for 'category' and 'timeseries' type axis.

    +
      +
    • NOTE: The conditions where autorotate is enabled are: +
        +
      • axis.x.type='category' or 'timeseries
      • +
      • axis.x.tick.multiline=false
      • +
      • axis.x.tick.culling=false
      • +
      • axis.x.tick.fit=true
      • +
      +
    • +
    • NOTE: axis.x.tick.clippath=false is necessary for calculating the overflow padding between the end of x axis and the width of the SVG
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Rotate x axis tick text if there is not enough space for 'category' and 'timeseries' type axis.

+
    +
  • NOTE: The conditions where autorotate is enabled are: +
      +
    • axis.x.type='category' or 'timeseries
    • +
    • axis.x.tick.multiline=false
    • +
    • axis.x.tick.culling=false
    • +
    • axis.x.tick.fit=true
    • +
    +
  • +
  • NOTE: axis.x.tick.clippath=false is necessary for calculating the overflow padding between the end of x axis and the width of the SVG
  • +
+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    tick: {
+      rotate: 15,
+      autorotate: true,
+      multiline: false,
+      culling: false,
+      fit: true
+    },
+    clipPath: false
+  }
+}
+ + + + + +

(static) axis․x․tick․centered :boolean

+ + + + + +
+ +
Description:
+
  • centerize ticks on category axis.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + + + +
+ + + + + +
+

centerize ticks on category axis.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    tick: {
+      centered: true
+    }
+  }
+}
+ + + + + +

(static) axis․x․tick․count :number

+ + + + + +
+ +
Description:
+
  • The number of x axis ticks to show.

    +This option hides tick lines together with tick text. If this option is used on timeseries axis, the ticks position will be determined precisely and not nicely positioned (e.g. it will have rough second value).

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

The number of x axis ticks to show.

+This option hides tick lines together with tick text. If this option is used on timeseries axis, the ticks position will be determined precisely and not nicely positioned (e.g. it will have rough second value).

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    tick: {
+      count: 5
+    }
+  }
+}
+ + + + + +

(static) axis․x․tick․culling :boolean

+ + + + + +
+ +
Description:
+
  • Setting for culling ticks.

    +
      +
    • true: the ticks will be culled, then only limited tick text will be shown.
      +This option does not hide the tick lines by default, if want to hide tick lines, set axis.x.tick.culling.lines=false.
    • +
    • false: all of ticks will be shown.

      +The number of ticks to be shown can be chaned by axis.x.tick.culling.max.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • `true` for indexed axis and timeseries axis, `false` for category axis
  • +
+ + + + + + + +
+ + + + + +
+

Setting for culling ticks.

+
    +
  • true: the ticks will be culled, then only limited tick text will be shown.
    +This option does not hide the tick lines by default, if want to hide tick lines, set axis.x.tick.culling.lines=false.
  • +
  • false: all of ticks will be shown.

    +The number of ticks to be shown can be chaned by axis.x.tick.culling.max.
  • +
+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    tick: {
+      culling: false
+    }
+  }
+}
+ + + + + +

(static) axis․x․tick․culling․lines :boolean

+ + + + + +
+ +
Description:
+
  • Control visibility of tick lines within culling option, along with tick text.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + + + +
+ + + + + +
+

Control visibility of tick lines within culling option, along with tick text.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    tick: {
+      culling: {
+          lines: false,
+      }
+    }
+  }
+}
+ + + + + +

(static) axis․x․tick․culling․max :number

+ + + + + +
+ +
Description:
+
  • The number of tick texts will be adjusted to less than this value.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • 10
  • +
+ + + + + + + +
+ + + + + +
+

The number of tick texts will be adjusted to less than this value.

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    tick: {
+      culling: {
+          max: 5
+      }
+    }
+  }
+}
+ + + + + +

(static) axis․x․tick․fit :boolean

+ + + + + +
+ +
Description:
+
  • Fit x axis ticks.

    +
      +
    • true: ticks will be shown according to x value of the data points.
    • +
    • false: ticks will be shown as to have same intervals.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Fit x axis ticks.

+
    +
  • true: ticks will be shown according to x value of the data points.
  • +
  • false: ticks will be shown as to have same intervals.
  • +
+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    tick: {
+      fit: false
+    }
+  }
+}
+ + + + + +

(static) axis․x․tick․format :function|string

+ + + + + +
+ +
Description:
+
  • A function to format tick value. Format string is also available for timeseries data.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

A function to format tick value. Format string is also available for timeseries data.

+
+ + + +
Type:
+
    +
  • + +function +| + +string + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    tick: {
+       // for timeseries, a 'datetime' object is given as parameter
+      format: function(x) {
+          return x.getFullYear();
+      }
+
+      // for category, index(Number) and categoryName(String) are given as parameter
+      format: function(index, categoryName) {
+          return categoryName.substr(0, 10);
+      },
+
+       // for timeseries format specifier
+       format: "%Y-%m-%d %H:%M:%S"
+    }
+  }
+}
+ + + + + +

(static) axis․x․tick․multiline :boolean

+ + + + + +
+ +
Description:
+
  • Set tick text to be multiline

    +
      +
    • NOTE:
    • +
    +
    +

    When x tick text contains \n, it's used as line break and 'axis.x.tick.width' option is ignored.

    +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set tick text to be multiline

+
    +
  • NOTE:
  • +
+
+

When x tick text contains \n, it's used as line break and 'axis.x.tick.width' option is ignored.

+
+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Examples
+ +
axis: {
+  x: {
+    tick: {
+      multiline: false
+    }
+  }
+}
+ +
// example of line break with '\n'
+// In this case, 'axis.x.tick.width' is ignored
+data: {
+   x: "x",
+   columns: [
+       ["x", "long\ntext", "Another\nLong\nText"],
+       ...
+   ],
+}
+ + + + + +

(static) axis․x․tick․outer :boolean

+ + + + + +
+ +
Description:
+
  • Show x axis outer tick.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + + + +
+ + + + + +
+

Show x axis outer tick.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    tick: {
+      outer: false
+    }
+  }
+}
+ + + + + +

(static) axis․x․tick․rotate :number

+ + + + + +
+ +
Description:
+
  • Rotate x axis tick text.

    +
      +
    • If you set negative value, it will rotate to opposite direction.
    • +
    • Applied when axis.rotated option is false.
    • +
    • As long as axis_x_tick_fit is set to true it will calculate an overflow for the y2 axis and add this value to the right padding.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • 0
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Rotate x axis tick text.

+
    +
  • If you set negative value, it will rotate to opposite direction.
  • +
  • Applied when axis.rotated option is false.
  • +
  • As long as axis_x_tick_fit is set to true it will calculate an overflow for the y2 axis and add this value to the right padding.
  • +
+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    tick: {
+      rotate: 60
+    }
+  }
+}
+ + + + + +

(static) axis․x․tick․show :boolean

+ + + + + +
+ +
Description:
+
  • Show or hide x axis tick line.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Show or hide x axis tick line.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    tick: {
+      show: false
+    }
+  }
+}
+ + + + + +

(static) axis․x․tick․text․inner :boolean|object

+ + + + + +
+ +
Description:
+
  • Set the first/last axis tick text to be positioned inside of the chart on non-rotated axis.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set the first/last axis tick text to be positioned inside of the chart on non-rotated axis.

+
+ + + +
Type:
+
    +
  • + +boolean +| + +object + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    tick: {
+      text: {
+         inner: true,
+
+         // or specify each position of the first and last tick text
+         inner: {
+      	   first: true,
+      	   last: true
+      	}
+      }
+    }
+  }
+}
+ + + + + +

(static) axis․x․tick․text․position :object

+ + + + + +
+ +
Description:
+
  • Set the x Axis tick text's position relatively its original position

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • {x: 0, y:0}
  • +
+ + + + + + + +
+ + + + + +
+

Set the x Axis tick text's position relatively its original position

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    tick: {
+      text: {
+        position: {
+          x: 10,
+          y: 10
+        }
+      }
+    }
+  }
+}
+ + + + + +

(static) axis․x․tick․text․show :boolean

+ + + + + +
+ +
Description:
+
  • Show or hide x axis tick text.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Show or hide x axis tick text.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    tick: {
+      text: {
+          show: false
+      }
+    }
+  }
+}
+ + + + + +

(static) axis․x․tick․tooltip :boolean

+ + + + + +
+ +
Description:
+
  • Set to display system tooltip(via <title> element) for tick text

    +
      +
    • NOTE: Only available for category axis type (axis.x.type='category')
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + + + +
+ + + + + +
+

Set to display system tooltip(via <title> element) for tick text

+
    +
  • NOTE: Only available for category axis type (axis.x.type='category')
  • +
+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    tick: {
+      tooltip: true
+    }
+  }
+}
+ + + + + +

(static) axis․x․tick․values :Array|function

+ + + + + +
+ +
Description:
+
  • Set the x values of ticks manually.

    +If this option is provided, the position of the ticks will be determined based on those values.
    +This option works with timeseries data and the x values will be parsed accoding to the type of the value and data.xFormat option.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • null
  • +
+ + + + + + + +
+ + + + + +
+

Set the x values of ticks manually.

+If this option is provided, the position of the ticks will be determined based on those values.
+This option works with timeseries data and the x values will be parsed accoding to the type of the value and data.xFormat option.

+
+ + + +
Type:
+
    +
  • + +Array +| + +function + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    tick: {
+      values: [1, 2, 4, 8, 16, 32, ...],
+
+      // an Array value should be returned
+      values: function() {
+      	return [ ... ];
+      }
+    }
+  }
+}
+ + + + + +

(static) axis․x․tick․width :number

+ + + + + +
+ +
Description:
+
  • Set tick width

    +
      +
    • NOTE:
    • +
    +
    +

    When x tick text contains \n, this option is ignored.

    +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • null
  • +
+ + + + + + + +
+ + + + + +
+

Set tick width

+
    +
  • NOTE:
  • +
+
+

When x tick text contains \n, this option is ignored.

+
+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    tick: {
+      width: 50
+    }
+  }
+}
+ + + + + +

(static) axis․x․type :string

+ + + + + +
+ +
Description:
+
  • Set type of x axis.

    +Available Values:

    +
      +
    • category
    • +
    • indexed
    • +
    • log
    • +
    • timeseries
    • +
    +

    NOTE:

    +
      +
    • log type: +
        +
      • the x values specified by data.x(or by any equivalent option), must be exclusively-positive.
      • +
      • x axis min value should be >= 0.
      • +
      • for 'category' type, data.xs option isn't supported.
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • indexed
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set type of x axis.

+Available Values:

+
    +
  • category
  • +
  • indexed
  • +
  • log
  • +
  • timeseries
  • +
+

NOTE:

+
    +
  • log type: +
      +
    • the x values specified by data.x(or by any equivalent option), must be exclusively-positive.
    • +
    • x axis min value should be >= 0.
    • +
    • for 'category' type, data.xs option isn't supported.
    • +
    +
  • +
+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  x: {
+    type: "timeseries"
+  }
+}
+ + + + + +

(static) axis․y2․axes :Array

+ + + + + +
+ +
Description:
+
  • Set additional axes for y2 Axis.

    +
      +
    • NOTE: Axis' scale is based on y2 Axis value if domain option isn't set.
    • +
    +

    Each axis object should consist with following options:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDefaultDescription
    domainArray-Set the domain value
    tick.outerbooleantrueShow outer tick
    tick.formatFunction-Set formatter for tick text
    tick.countNumber-Set the number of y axis ticks
    tick.valuesArray-Set tick values manually
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set additional axes for y2 Axis.

+
    +
  • NOTE: Axis' scale is based on y2 Axis value if domain option isn't set.
  • +
+

Each axis object should consist with following options:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefaultDescription
domainArray-Set the domain value
tick.outerbooleantrueShow outer tick
tick.formatFunction-Set formatter for tick text
tick.countNumber-Set the number of y axis ticks
tick.valuesArray-Set tick values manually
+
+ + + +
Type:
+
    +
  • + +Array + + + +
  • +
+ + + + + +
Example
+ +
y2: {
+   axes: [
+     {
+       // if set, will not be correlated with the main y2 Axis domain value
+       domain: [0, 1000],
+       tick: {
+         outer: false,
+         format: function(x) {
+            return x + "%";
+         },
+         count: 2,
+         values: [10, 20, 30]
+       }
+     },
+     ...
+   ]
+}
+ + + + + +

(static) axis․y2․center :number

+ + + + + +
+ +
Description:
+
  • Set center value of y2 axis.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set center value of y2 axis.

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    center: 0
+  }
+}
+ + + + + +

(static) axis․y2․default :Array

+ + + + + +
+ +
Description:
+
  • Set default range of y2 axis.

    +This option set the default value for y2 axis when there is no data on init.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set default range of y2 axis.

+This option set the default value for y2 axis when there is no data on init.

+
+ + + +
Type:
+
    +
  • + +Array + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    default: [0, 1000]
+  }
+}
+ + + + + +

(static) axis․y2․inner :boolean

+ + + + + +
+ +
Description:
+
  • Show y2 axis inside of the chart.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + + + +
+ + + + + +
+

Show y2 axis inside of the chart.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    inner: true
+  }
+}
+ + + + + +

(static) axis․y2․inverted :boolean

+ + + + + +
+ +
Description:
+
  • Change the direction of y2 axis.

    +If true set, the direction will be top -> bottom.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Change the direction of y2 axis.

+If true set, the direction will be top -> bottom.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    inverted: true
+  }
+}
+ + + + + +

(static) axis․y2․label :string|object

+ + + + + +
+ +
Description:
+
  • Set label on y2 axis.

    +You can set y2 axis label and change its position by this option. This option works in the same way as axis.x.label.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • {}
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set label on y2 axis.

+You can set y2 axis label and change its position by this option. This option works in the same way as axis.x.label.

+
+ + + +
Type:
+
    +
  • + +string +| + +object + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    label: "Your Y2 Axis"
+  }
+}
+
+axis: {
+  y2: {
+    label: {
+       text: "Your Y2 Axis",
+       position: "outer-middle"
+    }
+  }
+}
+ + + + + +

(static) axis․y2․max :number

+ + + + + +
+ +
Description:
+
  • Set max value of y2 axis.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set max value of y2 axis.

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    max: 1000
+  }
+}
+ + + + + +

(static) axis․y2․min :number

+ + + + + +
+ +
Description:
+
  • Set min value of y2 axis.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set min value of y2 axis.

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    min: -1000
+  }
+}
+ + + + + +

(static) axis․y2․padding :object|number

+ + + + + +
+ +
Description:
+
  • Set padding for y2 axis.

    +You can set padding for y2 axis to create more space on the edge of the axis. +This option accepts object and it can include top and bottom. top, bottom will be treated as pixels.

    +
      +
    • NOTE: +
        +
      • Given values are translated relative to the y2 Axis domain value for padding
      • +
      • For area and bar type charts, area.zerobased or bar.zerobased options should be set to 'false` to get padded bottom.
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • {}
  • +
+ + + + + + + +
+ + + + + +
+

Set padding for y2 axis.

+You can set padding for y2 axis to create more space on the edge of the axis. +This option accepts object and it can include top and bottom. top, bottom will be treated as pixels.

+
    +
  • NOTE: +
      +
    • Given values are translated relative to the y2 Axis domain value for padding
    • +
    • For area and bar type charts, area.zerobased or bar.zerobased options should be set to 'false` to get padded bottom.
    • +
    +
  • +
+
+ + + +
Type:
+
    +
  • + +object +| + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    padding: {
+      top: 100,
+      bottom: 100
+    }
+
+    // or set both values at once.
+    padding: 10
+}
+ + + + + +

(static) axis․y2․show :boolean

+ + + + + +
+ +
Description:
+
  • Show or hide y2 axis.

    +
      +
    • NOTE: +
        +
      • When set to false will not generate y2 axis node. In this case, all 'y2' axis related functionality won't work properly.
      • +
      • If need to use 'y2' related options while y2 isn't visible, set the value true and control visibility by css display property.
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + + + +
+ + + + + +
+

Show or hide y2 axis.

+
    +
  • NOTE: +
      +
    • When set to false will not generate y2 axis node. In this case, all 'y2' axis related functionality won't work properly.
    • +
    • If need to use 'y2' related options while y2 isn't visible, set the value true and control visibility by css display property.
    • +
    +
  • +
+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    show: true
+  }
+}
+ + + + + +

(static) axis․y2․tick․count :number

+ + + + + +
+ +
Description:
+
  • Set the number of y2 axis ticks.

    +
      +
    • NOTE: This works in the same way as axis.y.tick.count.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set the number of y2 axis ticks.

+
    +
  • NOTE: This works in the same way as axis.y.tick.count.
  • +
+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    tick: {
+      count: 5
+    }
+  }
+}
+ + + + + +

(static) axis․y2․tick․culling :boolean

+ + + + + +
+ +
Description:
+
  • Setting for culling ticks.

    +
      +
    • true: the ticks will be culled, then only limited tick text will be shown.
      +This option does not hide the tick lines by default, if want to hide tick lines, set axis.y2.tick.culling.lines=false.
    • +
    • false: all of ticks will be shown.

      +The number of ticks to be shown can be chaned by axis.y2.tick.culling.max.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + + + +
+ + + + + +
+

Setting for culling ticks.

+
    +
  • true: the ticks will be culled, then only limited tick text will be shown.
    +This option does not hide the tick lines by default, if want to hide tick lines, set axis.y2.tick.culling.lines=false.
  • +
  • false: all of ticks will be shown.

    +The number of ticks to be shown can be chaned by axis.y2.tick.culling.max.
  • +
+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    tick: {
+      culling: false
+    }
+  }
+}
+ + + + + +

(static) axis․y2․tick․culling․lines :boolean

+ + + + + +
+ +
Description:
+
  • Control visibility of tick lines within culling option, along with tick text.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + + + +
+ + + + + +
+

Control visibility of tick lines within culling option, along with tick text.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    tick: {
+      culling: {
+          lines: false,
+      }
+    }
+  }
+}
+ + + + + +

(static) axis․y2․tick․culling․max :number

+ + + + + +
+ +
Description:
+
  • The number of tick texts will be adjusted to less than this value.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • 5
  • +
+ + + + + + + +
+ + + + + +
+

The number of tick texts will be adjusted to less than this value.

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    tick: {
+      culling: {
+          max: 5
+      }
+    }
+  }
+}
+ + + + + +

(static) axis․y2․tick․format :function

+ + + + + +
+ +
Description:
+
  • Set formatter for y2 axis tick text.

    +This option works in the same way as axis.y.format.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set formatter for y2 axis tick text.

+This option works in the same way as axis.y.format.

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    tick: {
+      format: d3.format("$,")
+      //or format: function(d) { return "$" + d; }
+    }
+  }
+}
+ + + + + +

(static) axis․y2․tick․outer :boolean

+ + + + + +
+ +
Description:
+
  • Show or hide y2 axis outer tick.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + + + +
+ + + + + +
+

Show or hide y2 axis outer tick.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    tick: {
+      outer: false
+    }
+  }
+}
+ + + + + +

(static) axis․y2․tick․rotate :number

+ + + + + +
+ +
Description:
+
  • Rotate y2 axis tick text.

    +
      +
    • If you set negative value, it will rotate to opposite direction.
    • +
    • Applied when axis.rotated option is true.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • 0
  • +
+ + + + + + + +
+ + + + + +
+

Rotate y2 axis tick text.

+
    +
  • If you set negative value, it will rotate to opposite direction.
  • +
  • Applied when axis.rotated option is true.
  • +
+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    tick: {
+      rotate: 60
+    }
+  }
+}
+ + + + + +

(static) axis․y2․tick․show :boolean

+ + + + + +
+ +
Description:
+
  • Show or hide y2 axis tick line.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Show or hide y2 axis tick line.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    tick: {
+      show: false
+    }
+  }
+}
+ + + + + +

(static) axis․y2․tick․stepSize :number

+ + + + + +
+ +
Description:
+
  • Set axis tick step(interval) size.

    +
      +
    • NOTE: Will be ignored if axis.y2.tick.count or axis.y2.tick.values options are set.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set axis tick step(interval) size.

+
    +
  • NOTE: Will be ignored if axis.y2.tick.count or axis.y2.tick.values options are set.
  • +
+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    tick: {
+      // tick value will step as indicated interval value.
+      // ex) 'stepSize=15' ==> [0, 15, 30, 45, 60]
+      stepSize: 15
+    }
+  }
+}
+ + + + + +

(static) axis․y2․tick․text․position :object

+ + + + + +
+ +
Description:
+
  • Set the y2 Axis tick text's position relatively its original position

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • {x: 0, y:0}
  • +
+ + + + + + + +
+ + + + + +
+

Set the y2 Axis tick text's position relatively its original position

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    tick: {
+      text: {
+        position: {
+          x: 10,
+          y: 10
+        }
+      }
+    }
+  }
+}
+ + + + + +

(static) axis․y2․tick․text․show :boolean

+ + + + + +
+ +
Description:
+
  • Show or hide y2 axis tick text.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Show or hide y2 axis tick text.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    tick: {
+      text: {
+          show: false
+      }
+    }
+  }
+}
+ + + + + +

(static) axis․y2․tick․values :Array|function

+ + + + + +
+ +
Description:
+
  • Set y2 axis tick values manually.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • null
  • +
+ + + + + + + +
+ + + + + +
+

Set y2 axis tick values manually.

+
+ + + +
Type:
+
    +
  • + +Array +| + +function + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    tick: {
+      values: [100, 1000, 10000],
+
+      // an Array value should be returned
+      values: function() {
+      	return [ ... ];
+      }
+    }
+  }
+}
+ + + + + +

(static) axis․y2․type :string

+ + + + + +
+ +
Description:
+
  • Set type of y2 axis.

    +Available Values:

    +
      +
    • indexed
    • +
    • log
    • +
    • timeseries
    • +
    +

    NOTE:

    +
      +
    • log type: +
        +
      • the bound data values must be exclusively-positive.
      • +
      • y2 axis min value should be >= 0.
      • +
      • data.groups(stacked data) option aren't supported.
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • "indexed"
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set type of y2 axis.

+Available Values:

+
    +
  • indexed
  • +
  • log
  • +
  • timeseries
  • +
+

NOTE:

+
    +
  • log type: +
      +
    • the bound data values must be exclusively-positive.
    • +
    • y2 axis min value should be >= 0.
    • +
    • data.groups(stacked data) option aren't supported.
    • +
    +
  • +
+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y2: {
+    type: "indexed"
+  }
+}
+ + + + + +

(static) axis․y․axes :Array

+ + + + + +
+ +
Description:
+
  • Set additional axes for y Axis.

    +
      +
    • NOTE: Axis' scale is based on y Axis value if domain option isn't set.
    • +
    +

    Each axis object should consist with following options:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDefaultDescription
    domainArray-Set the domain value
    tick.outerbooleantrueShow outer tick
    tick.formatFunction-Set formatter for tick text
    tick.countNumber-Set the number of y axis ticks
    tick.valuesArray-Set tick values manually
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set additional axes for y Axis.

+
    +
  • NOTE: Axis' scale is based on y Axis value if domain option isn't set.
  • +
+

Each axis object should consist with following options:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefaultDescription
domainArray-Set the domain value
tick.outerbooleantrueShow outer tick
tick.formatFunction-Set formatter for tick text
tick.countNumber-Set the number of y axis ticks
tick.valuesArray-Set tick values manually
+
+ + + +
Type:
+
    +
  • + +Array + + + +
  • +
+ + + + + +
Example
+ +
y: {
+   axes: [
+     {
+       // if set, will not be correlated with the main y Axis domain value
+       domain: [0, 1000],
+       tick: {
+         outer: false,
+         format: function(x) {
+            return x + "%";
+         },
+         count: 2,
+         values: [10, 20, 30]
+       }
+     },
+     ...
+   ]
+}
+ + + + + +

(static) axis․y․center :number

+ + + + + +
+ +
Description:
+
  • Set center value of y axis.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set center value of y axis.

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    center: 0
+  }
+}
+ + + + + +

(static) axis․y․clipPath :boolean

+ + + + + +
+ +
Description:
+
  • Set clip-path attribute for y axis element

    +
      +
    • NOTE: clip-path attribute for y Axis is set only when axis.y.inner option is true.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + + + +
+ + + + + +
+

Set clip-path attribute for y axis element

+
    +
  • NOTE: clip-path attribute for y Axis is set only when axis.y.inner option is true.
  • +
+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
// don't set 'clip-path' attribute
+clipPath: false
+ + + + + +

(static) axis․y․default :Array

+ + + + + +
+ +
Description:
+
  • Set default range of y axis.

    +This option set the default value for y axis when there is no data on init.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set default range of y axis.

+This option set the default value for y axis when there is no data on init.

+
+ + + +
Type:
+
    +
  • + +Array + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    default: [0, 1000]
+  }
+}
+ + + + + +

(static) axis․y․inner :boolean

+ + + + + +
+ +
Description:
+
  • Show y axis inside of the chart.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + + + +
+ + + + + +
+

Show y axis inside of the chart.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    inner: true
+  }
+}
+ + + + + +

(static) axis․y․inverted :boolean

+ + + + + +
+ +
Description:
+
  • Change the direction of y axis.

    +If true set, the direction will be top -> bottom.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Change the direction of y axis.

+If true set, the direction will be top -> bottom.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    inverted: true
+  }
+}
+ + + + + +

(static) axis․y․label :string|object

+ + + + + +
+ +
Description:
+
  • Set label on y axis.

    +You can set y axis label and change its position by this option. This option works in the same way as axis.x.label.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • {}
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set label on y axis.

+You can set y axis label and change its position by this option. This option works in the same way as axis.x.label.

+
+ + + +
Type:
+
    +
  • + +string +| + +object + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    label: "Your Y Axis"
+  }
+}
+
+axis: {
+  y: {
+    label: {
+       text: "Your Y Axis",
+       position: "outer-middle"
+    }
+  }
+}
+ + + + + +

(static) axis․y․max :number

+ + + + + +
+ +
Description:
+
  • Set max value of y axis.

    +
      +
    • NOTE: Padding will be added based on this value, so if you don't need the padding, please set axis.y.padding to disable it (e.g. axis.y.padding = 0).
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set max value of y axis.

+
    +
  • NOTE: Padding will be added based on this value, so if you don't need the padding, please set axis.y.padding to disable it (e.g. axis.y.padding = 0).
  • +
+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    max: 1000
+  }
+}
+ + + + + +

(static) axis․y․min :number

+ + + + + +
+ +
Description:
+
  • Set min value of y axis.

    +
      +
    • NOTE: +Padding will be added based on this value, so if you don't need the padding, please set axis.y.padding to disable it (e.g. axis.y.padding = 0).
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set min value of y axis.

+
    +
  • NOTE: +Padding will be added based on this value, so if you don't need the padding, please set axis.y.padding to disable it (e.g. axis.y.padding = 0).
  • +
+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    min: 1000
+  }
+}
+ + + + + +

(static) axis․y․padding :object|number

+ + + + + +
+ +
Description:
+
  • Set padding for y axis.

    +You can set padding for y axis to create more space on the edge of the axis. +This option accepts object and it can include top and bottom. top, bottom will be treated as pixels.

    +
      +
    • NOTE: +
        +
      • Given values are translated relative to the y Axis domain value for padding
      • +
      • For area and bar type charts, area.zerobased or bar.zerobased options should be set to 'false` to get padded bottom.
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • {}
  • +
+ + + + + + + +
+ + + + + +
+

Set padding for y axis.

+You can set padding for y axis to create more space on the edge of the axis. +This option accepts object and it can include top and bottom. top, bottom will be treated as pixels.

+
    +
  • NOTE: +
      +
    • Given values are translated relative to the y Axis domain value for padding
    • +
    • For area and bar type charts, area.zerobased or bar.zerobased options should be set to 'false` to get padded bottom.
    • +
    +
  • +
+
+ + + +
Type:
+
    +
  • + +object +| + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    padding: {
+      top: 0,
+      bottom: 0
+    },
+
+    // or set both values at once.
+    padding: 10
+  }
+}
+ + + + + +

(static) axis․y․show :boolean

+ + + + + +
+ +
Description:
+
  • Show or hide y axis.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + + + +
+ + + + + +
+

Show or hide y axis.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    show: false
+  }
+}
+ + + + + +

(static) axis․y․tick․count :number

+ + + + + +
+ +
Description:
+
  • Set the number of y axis ticks.

    +
      +
    • NOTE: The position of the ticks will be calculated precisely, so the values on the ticks will not be rounded nicely. In the case, axis.y.tick.format or axis.y.tick.values will be helpful.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set the number of y axis ticks.

+
    +
  • NOTE: The position of the ticks will be calculated precisely, so the values on the ticks will not be rounded nicely. In the case, axis.y.tick.format or axis.y.tick.values will be helpful.
  • +
+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    tick: {
+      count: 5
+    }
+  }
+}
+ + + + + +

(static) axis․y․tick․culling :boolean

+ + + + + +
+ +
Description:
+
  • Setting for culling ticks.

    +
      +
    • true: the ticks will be culled, then only limited tick text will be shown.
      +This option does not hide the tick lines by default, if want to hide tick lines, set axis.y.tick.culling.lines=false.
    • +
    • false: all of ticks will be shown.

      +The number of ticks to be shown can be chaned by axis.y.tick.culling.max.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + + + +
+ + + + + +
+

Setting for culling ticks.

+
    +
  • true: the ticks will be culled, then only limited tick text will be shown.
    +This option does not hide the tick lines by default, if want to hide tick lines, set axis.y.tick.culling.lines=false.
  • +
  • false: all of ticks will be shown.

    +The number of ticks to be shown can be chaned by axis.y.tick.culling.max.
  • +
+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    tick: {
+      culling: false
+    }
+  }
+}
+ + + + + +

(static) axis․y․tick․culling․lines :boolean

+ + + + + +
+ +
Description:
+
  • Control visibility of tick lines within culling option, along with tick text.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + + + +
+ + + + + +
+

Control visibility of tick lines within culling option, along with tick text.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    tick: {
+      culling: {
+          lines: false,
+      }
+    }
+  }
+}
+ + + + + +

(static) axis․y․tick․culling․max :number

+ + + + + +
+ +
Description:
+
  • The number of tick texts will be adjusted to less than this value.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • 5
  • +
+ + + + + + + +
+ + + + + +
+

The number of tick texts will be adjusted to less than this value.

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    tick: {
+      culling: {
+          max: 5
+      }
+    }
+  }
+}
+ + + + + +

(static) axis․y․tick․format :function

+ + + + + +
+ +
Description:
+
  • Set formatter for y axis tick text.

    +This option accepts d3.format object as well as a function you define.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set formatter for y axis tick text.

+This option accepts d3.format object as well as a function you define.

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    tick: {
+      format: function(x) {
+          return x.getFullYear();
+      }
+    }
+  }
+}
+ + + + + +

(static) axis․y․tick․outer :boolean

+ + + + + +
+ +
Description:
+
  • Show y axis outer tick.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + + + +
+ + + + + +
+

Show y axis outer tick.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    tick: {
+      outer: false
+    }
+  }
+}
+ + + + + +

(static) axis․y․tick․rotate :number

+ + + + + +
+ +
Description:
+
  • Rotate y axis tick text.

    +
      +
    • If you set negative value, it will rotate to opposite direction.
    • +
    • Applied when axis.rotated option is true.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • 0
  • +
+ + + + + + + +
+ + + + + +
+

Rotate y axis tick text.

+
    +
  • If you set negative value, it will rotate to opposite direction.
  • +
  • Applied when axis.rotated option is true.
  • +
+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    tick: {
+      rotate: 60
+    }
+  }
+}
+ + + + + +

(static) axis․y․tick․show :boolean

+ + + + + +
+ +
Description:
+
  • Show or hide y axis tick line.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Show or hide y axis tick line.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    tick: {
+      show: false
+    }
+  }
+}
+ + + + + +

(static) axis․y․tick․stepSize :number

+ + + + + +
+ +
Description:
+
  • Set axis tick step(interval) size.

    +
      +
    • NOTE: Will be ignored if axis.y.tick.count or axis.y.tick.values options are set.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set axis tick step(interval) size.

+
    +
  • NOTE: Will be ignored if axis.y.tick.count or axis.y.tick.values options are set.
  • +
+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    tick: {
+      // tick value will step as indicated interval value.
+      // ex) 'stepSize=15' ==> [0, 15, 30, 45, 60]
+      stepSize: 15
+    }
+  }
+}
+ + + + + +

(static) axis․y․tick․text․position :object

+ + + + + +
+ +
Description:
+
  • Set the y Axis tick text's position relatively its original position

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • {x: 0, y:0}
  • +
+ + + + + + + +
+ + + + + +
+

Set the y Axis tick text's position relatively its original position

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    tick: {
+      text: {
+        position: {
+          x: 10,
+          y: 10
+        }
+      }
+    }
+  }
+}
+ + + + + +

(static) axis․y․tick․text․show :boolean

+ + + + + +
+ +
Description:
+
  • Show or hide y axis tick text.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Show or hide y axis tick text.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    tick: {
+      text: {
+          show: false
+      }
+    }
+  }
+}
+ + + + + +

(static) axis․y․tick․values :Array|function

+ + + + + +
+ +
Description:
+
  • Set y axis tick values manually.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • null
  • +
+ + + + + + + +
+ + + + + +
+

Set y axis tick values manually.

+
+ + + +
Type:
+
    +
  • + +Array +| + +function + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    tick: {
+      values: [100, 1000, 10000],
+
+      // an Array value should be returned
+      values: function() {
+      	return [ ... ];
+      }
+    }
+  }
+}
+ + + + + +

(static) axis․y․type :string

+ + + + + +
+ +
Description:
+
  • Set type of y axis.

    +Available Values:

    +
      +
    • indexed
    • +
    • log
    • +
    • timeseries
    • +
    +

    NOTE:

    +
      +
    • log type: +
        +
      • the bound data values must be exclusively-positive.
      • +
      • y axis min value should be >= 0.
      • +
      • data.groups(stacked data) option aren't supported.
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • "indexed"
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set type of y axis.

+Available Values:

+
    +
  • indexed
  • +
  • log
  • +
  • timeseries
  • +
+

NOTE:

+
    +
  • log type: +
      +
    • the bound data values must be exclusively-positive.
    • +
    • y axis min value should be >= 0.
    • +
    • data.groups(stacked data) option aren't supported.
    • +
    +
  • +
+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
axis: {
+  y: {
+    type: "log"
+  }
+}
+ + + + + +

(static) background

+ + + + + +
+ +
Description:
+
  • Set chart background.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
background + + +object + + + + +

background object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
class + + +string + + + + +

Specify the class name for background element.

color + + +string + + + + +

Specify the fill color for background element.
NOTE: Will be ignored if imgUrl option is set.

imgUrl + + +string + + + + +

Specify the image url string for background.

+ +
+ + + + + + +
+

Set chart background.

+
+ + + + + + + +
Example
+ +
background: {
+   class: "myClass",
+   color: "red",
+
+   // Set image url for background.
+   // If specified, 'color' option will be ignored.
+   imgUrl: "https://naver.github.io/billboard.js/img/logo/billboard.js.svg",
+}
+ + + + + +

(static) bar :object

+ + + + + +
+ +
Description:
+
  • Set bar options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
bar + + +object + + + + +

Bar object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
front + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Set 'bar' to be positioned over(on the top) other shapes elements.

indices.removeNull + + +number + + + + + + + <optional>
+ + + +
+ + false + +

Remove nullish data on bar indices positions.

label.threshold + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set threshold ratio to show/hide labels.

linearGradient + + +boolean +| + +object + + + + + + + <optional>
+ + + +
+ + false + +

Set the linear gradient on bar.

+Or customize by giving below object value:

+
    +
  • x {Array}: x1, x2 value (default: [0, 0])
  • +
  • y {Array}: y1, y2 value (default: [0, 1])
  • +
  • stops {Array}: Each item should be having [offset, stop-color, stop-opacity] values. +
      +
    • (default: [[0, $DATA_COLOR, 1], [1, $DATA_COLOR, 0]])
    • +
    +
  • +
overlap + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Bars will be rendered at same position, which will be overlapped each other. (for non-grouped bars only)

padding + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

The padding pixel value between each bar.

radius + + +number + + + + + + + <optional>
+ + + +
+ +

Set the radius of bar edge in pixel.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
ratio + + +number + + + + + + + <optional>
+ + + +

Set the radius ratio of bar edge in relative the bar's width.

+ +
sensitivity + + +number + + + + + + + <optional>
+ + + +
+ + 2 + +

The senstivity offset value for interaction boundary.

width + + +number +| + +function +| + +object + + + + + + + <optional>
+ + + +
+ +

Change the width of bar chart.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
ratio + + +number + + + + + + + <optional>
+ + + +
+ + 0.6 + +

Change the width of bar chart by ratio.

+
    +
  • NOTE: Criteria for ratio. +
      +
    • When x ticks count is same with the data count, the baseline for ratio is the minimum interval value of x ticks. +
        +
      • ex. when timeseries x values are: [2024-01-01, 2024-02-01, 2024-03-01], the minimum interval will be 2024-02-01 ~ 2024-03-01
      • +
      • if the minimum interval is 30px, then ratio=1 means 30px.
      • +
      +
    • +
    • When x ticks count is lower than the data count, the baseline will be calculated as chart width / data count. +
        +
      • ex. when chart width is 500, data count is 5, then ratio=1 means 100px.
      • +
      +
    • +
    +
  • +
max + + +number + + + + + + + <optional>
+ + + +
+ +

The maximum width value for ratio.

dataname + + +number + + + + + + + <optional>
+ + + +
+ +

Change the width of bar for indicated dataset only.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
ratio + + +number + + + + + + + <optional>
+ + + +
+ + 0.6 + +

Change the width of bar chart by ratio.

+
    +
  • NOTE:
  • +
  • Works only for non-stacked bar
  • +
max + + +number + + + + + + + <optional>
+ + + +
+ +

The maximum width value for ratio.

+ +
+ +
zerobased + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Set if min or max value will be 0 on bar chart.

+ +
+ + + + + + +
+

Set bar options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
bar: {
+     // make bar shape to be positioned over the other shape elements
+     front: true,
+
+     // remove nullish data on bar indices postions
+     indices: {
+         removeNull: true
+     },
+
+     // will generate follwing linearGradient:
+     // for more info: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient
+     // <linearGradient x1="0" x2="0" y1="0" y2="1">
+     //    <stop offset="0" stop-color="$DATA_COLOR" stop-opacity="1"></stop>
+     //    <stop offset="1" stop-color="$DATA_COLOR" stop-opacity="0"></stop>
+     // </linearGradient>
+     linearGradient: true,
+
+     // Or customized gradient
+     linearGradient: {
+     	x: [0, 0],  // x1, x2 attributes
+     	y: [0, 0],  // y1, y2 attributes
+     	stops: [
+     	  // offset, stop-color, stop-opacity
+     	  [0, "#7cb5ec", 1],
+
+     	  // setting 'null' for stop-color, will set its original data color
+     	  [0.5, null, 0],
+
+     	  // setting 'function' for stop-color, will pass data id as argument.
+     	  // It should return color string or null value
+     	  [1, function(id) { return id === "data1" ? "red" : "blue"; }, 0],
+     	]
+     },
+
+     // remove nullish da
+     overlap: true,
+
+     padding: 1,
+
+     // bar radius
+     radius: 10,
+     // or
+     radius: {
+         ratio: 0.5
+     }
+
+     label: {
+         // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the y Axis domain range value.
+         // if data value is below than 0.1, text label will be hidden.
+         threshold: 0.1,
+     },
+
+     // will not have offset between each bar elements for interaction
+     sensitivity: 0,
+
+     width: 10,
+
+     // or specify width callback. The callback will receive width, targetsNum, maxDataCount as arguments.
+     // - width: chart area width
+     // - targetsNum: number of targets
+     // - maxDataCount: maximum data count among targets
+     width: function(width, targetsNum, maxDataCount) {
+           return width / (targetsNum * maxDataCount);
+     }
+
+     // or specify ratio & max
+     width: {
+         ratio: 0.2,
+         max: 20
+     },
+
+     // or specify width per dataset
+     width: {
+         data1: 20,
+         data2: {
+             ratio: 0.2,
+             max: 20
+         }
+     },
+
+     zerobased: false
+ }
+ + + + + +

(static) bindto

+ + + + + +
+ +
Description:
+
  • Specify the CSS selector or the element which the chart will be set to. D3 selection object can be specified also.
    +If other chart is set already, it will be replaced with the new one (only one chart can be set in one element).

    +
      +
    • NOTE: In case of element doesn't exist or not specified, will add a <div> element to the body.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • #chart
  • +
+ + + + + + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
bindto + + +string +| + +HTMLElement +| + +d3.selection +| + +object + + + + + + + <optional>
+ + + +
+ + "#chart" + +

Specify the element where chart will be drawn.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
element + + +string +| + +HTMLElement +| + +d3.selection + + + + + + + + + + + "#chart" + +

Specify the element where chart will be drawn.

classname + + +string + + + + + + + <optional>
+ + + +
+ + bb + +

Specify the class name of bind element.
+NOTE: When class name isn't bb, then you also need to update the default CSS to be rendered correctly.

+ +
+ + + + + + +
+

Specify the CSS selector or the element which the chart will be set to. D3 selection object can be specified also.
+If other chart is set already, it will be replaced with the new one (only one chart can be set in one element).

+
    +
  • NOTE: In case of element doesn't exist or not specified, will add a <div> element to the body.
  • +
+
+ + + + + + + +
Example
+ +
bindto: "#myContainer"
+
+// or HTMLElement
+bindto: document.getElementById("myContainer")
+
+// or D3 selection object
+bindto: d3.select("#myContainer")
+
+// or to change default classname
+bindto: {
+   element: "#chart",
+   classname: "bill-board"  // ex) <div id='chart' class='bill-board'>
+}
+ + + + + +

(static) boost :object

+ + + + + +
+ +
Description:
+
  • Set boost options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
boost + + +object + + + + +

boost object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
useCssRule + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Avoid setting inline styles for each shape elements.

+
    +
  • NOTE: +
      +
    • Will append <style> to the head tag and will add shpes' CSS rules dynamically.
    • +
    • For now, covers colors related properties (fill, stroke, etc.) only.
    • +
    +
  • +
useWorker + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Use Web Worker as possible for processing.

+
    +
  • NOTE: +
      +
    • For now, only applies for data conversion at the initial time.
    • +
    • As of Web Worker's async nature, handling chart instance synchrously is not recommended.
    • +
    +
  • +
+ +
+ + + + + + +
+

Set boost options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
boost: {
+     useCssRule: true,
+     useWorker: false
+ }
+ + + + + +

(static) bubble :object

+ + + + + +
+ +
Description:
+
  • Set bubble options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
bubble + + +object + + + + +

bubble object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
maxR + + +number +| + +function + + + + + + + <optional>
+ + + +
+ + 35 + +

Set the max bubble radius value

zerobased + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Set if min or max value will be 0 on bubble chart.

+ +
+ + + + + + +
+

Set bubble options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
bubble: {
+     // ex) If 100 is the highest value among data bound, the representation bubble of 100 will have radius of 50.
+     // And the lesser will have radius relatively from tha max value.
+     maxR: 50,
+
+     // or set radius callback
+     maxR: function(d) {
+         // ex. of d param - {x: Fri Oct 06 2017 00:00:00 GMT+0900, value: 80, id: "data2", index: 5}
+         ...
+         return Math.sqrt(d.value * 2);
+     },
+     zerobased: false
+ }
+ + + + + +

(static) candlestick :object

+ + + + + +
+ +
Description:
+
  • Set candlestick options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
candlestick + + +object + + + + +

Candlestick object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
width + + +number + + + + + + + <optional>
+ + + +

Change the width.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
ratio + + +number + + + + + + + <optional>
+ + + +
+ + 0.6 + +

Change the width by ratio.

max + + +number + + + + + + + <optional>
+ + + +
+ +

The maximum width value for ratio.

dataname + + +number + + + + + + + <optional>
+ + + +
+ +

Change the width for indicated dataset only.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
ratio + + +number + + + + + + + <optional>
+ + + +
+ + 0.6 + +

Change the width of bar chart by ratio.

max + + +number + + + + + + + <optional>
+ + + +
+ +

The maximum width value for ratio.

+ +
+ +
color + + +object + + + + + + + <optional>
+ + + +

Color setting.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
down + + +string +| + +object + + + + + + + <optional>
+ + + +

Change down(bearish) value color.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
dataname + + +string + + + + + + + <optional>
+ + + +

Change down value color for indicated dataset only.

+ +
+ +
+ +
+ + + + + + +
+

Set candlestick options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
candlestick: {
+     width: 10,
+
+     // or
+     width: {
+        	ratio: 0.2,
+        	max: 20
+     },
+
+     // or specify width per dataset
+     width: {
+        	data1: 20,
+        	data2: {
+        	    ratio: 0.2,
+        		max: 20
+        	}
+     },
+     color: {
+ 	  	// spcify bearish color
+ 	  	down: "red",
+
+ 	  	// or specify color per dataset
+ 	  	down: {
+ 	  		data1: "red",
+ 	  		data2: "blue",
+ 	  	}
+     }
+ }
+ + + + + +

(static) clipPath :boolean

+ + + + + +
+ +
Description:
+
  • Set 'clip-path' attribute for chart element

    +
      +
    • NOTE:
    • +
    +
    +

    When is false, chart node element is positioned after the axis node in DOM tree hierarchy. +Is to make chart element positioned over axis element.

    +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set 'clip-path' attribute for chart element

+
    +
  • NOTE:
  • +
+
+

When is false, chart node element is positioned after the axis node in DOM tree hierarchy. +Is to make chart element positioned over axis element.

+
+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
// don't set 'clip-path' attribute
+clipPath: false
+ + + + + +

(static) color :object

+ + + + + +
+ +
Description:
+
  • Set color of the data values

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
color + + +object + + + + +

color object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
onover + + +string +| + +object +| + +function + + + + + + + <optional>
+ + + +
+ +

Set the color value for each data point when mouse/touch onover event occurs.

pattern + + +Array +| + +null + + + + + + + <optional>
+ + + +
+ + [] + +

Set custom color pattern. Passing null will not set a color for these elements, which requires the usage of custom CSS-based theming to work.

tiles + + +function + + + + + + + <optional>
+ + + +
+ +

if defined, allows use svg's patterns to fill data area. It should return an array of SVGPatternElement.

+
    +
  • NOTE: The pattern element's id will be defined as bb-colorize-pattern-$COLOR-VALUE.
    +ex. When color pattern value is ['red', '#fff'] and defined 2 patterns,then ids for pattern elements are:
    +
      +
    • bb-colorize-pattern-red
    • +
    • bb-colorize-pattern-fff
    • +
    +
  • +
threshold + + +object + + + + + + + <optional>
+ + + +
+ +

color threshold for gauge and tooltip color

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
unit + + +string + + + + + + + <optional>
+ + + +
+ +

If set to value, the threshold will be based on the data value. Otherwise it'll be based on equation of the threshold.max option value.

values + + +Array + + + + + + + <optional>
+ + + +
+ +

Threshold values for each steps

max + + +number + + + + + + + <optional>
+ + + +
+ + 100 + +

The base value to determine threshold step value condition. When the given value is 15 and max 10, then the value for threshold is 15*100/10.

+ +
+ +
+ + + + + + +
+

Set color of the data values

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
color: {
+     pattern: ["#1f77b4", "#aec7e8", ...],
+
+     // Set colors' patterns
+     // it should return an array of SVGPatternElement
+     tiles: function() {
+        var pattern = document.createElementNS("http://www.w3.org/2000/svg", "pattern");
+        var g = document.createElementNS("http://www.w3.org/2000/svg", "g");
+        var circle1 = document.createElementNS("http://www.w3.org/2000/svg", "circle");
+
+        pattern.setAttribute("patternUnits", "userSpaceOnUse");
+        pattern.setAttribute("width", "32");
+        pattern.setAttribute("height", "32");
+
+        g.style.fill = "#000";
+        g.style.opacity = "0.2";
+
+        circle1.setAttribute("cx", "3");
+        circle1.setAttribute("cy", "3");
+        circle1.setAttribute("r", "3");
+
+        g.appendChild(circle1);
+        pattern.appendChild(g);
+
+        return [pattern];
+     },
+
+     // for threshold usage, pattern values should be set for each steps
+     pattern: ["grey", "green", "yellow", "orange", "red"],
+     threshold: {
+         unit: "value",
+
+         // when value is 20 => 'green', value is 40 => 'orange' will be set.
+         values: [10, 20, 30, 40, 50],
+
+         // the equation for max:
+         // - unit == 'value': max => 30
+         // - unit != 'value': max => value*100/30
+         max: 30
+     },
+
+     // set all data to 'red'
+     onover: "red",
+
+     // set different color for data
+     onover: {
+         data1: "red",
+         data2: "yellow"
+     },
+
+     // will pass data object to the callback
+     onover: function(d) {
+         return d.id === "data1" ? "red" : "green";
+     }
+ }
+ + + + + +

(static) data․axes :object

+ + + + + +
+ +
Description:
+
  • Set y axis the data related to. y and y2 can be used.

    +
      +
    • NOTE: If all data is related to one of the axes, the domain of axis without related data will be replaced by the domain from the axis with related data
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • {}
  • +
+ + + + + + + +
+ + + + + +
+

Set y axis the data related to. y and y2 can be used.

+
    +
  • NOTE: If all data is related to one of the axes, the domain of axis without related data will be replaced by the domain from the axis with related data
  • +
+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  axes: {
+    data1: "y",
+    data2: "y2"
+  }
+}
+ + + + + +

(static) data․classes :object

+ + + + + +
+ +
Description:
+
  • Set custom data class.

    +If this option is specified, the element g for the data has an additional class that has the prefix 'bb-target-' (eg. bb-target-additional-data1-class).

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • {}
  • +
+ + + + + + + +
+ + + + + +
+

Set custom data class.

+If this option is specified, the element g for the data has an additional class that has the prefix 'bb-target-' (eg. bb-target-additional-data1-class).

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  classes: {
+    data1: "additional-data1-class",
+    data2: "additional-data2-class"
+  }
+}
+ + + + + +

(static) data․color :function

+ + + + + +
+ +
Description:
+
  • Set color converter function.

    +This option should a function and the specified function receives color (e.g. '#ff0000') and d that has data parameters like id, value, index, etc. And it must return a string that represents color (e.g. '#00ff00').

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set color converter function.

+This option should a function and the specified function receives color (e.g. '#ff0000') and d that has data parameters like id, value, index, etc. And it must return a string that represents color (e.g. '#00ff00').

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  color: function(color, d) { ... }
+}
+ + + + + +

(static) data․colors :object

+ + + + + +
+ +
Description:
+
  • Set color for each data.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • {}
  • +
+ + + + + + + +
+ + + + + +
+

Set color for each data.

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  colors: {
+    data1: "#ff0000",
+    data2: function(d) {
+       return "#000";
+    }
+    ...
+  }
+}
+ + + + + +

(static) data․columns :Array

+ + + + + +
+ +
Description:
+
  • Load data from a multidimensional array, with each element containing an array consisting of a datum name and associated data values.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Load data from a multidimensional array, with each element containing an array consisting of a datum name and associated data values.

+
+ + + +
Type:
+
    +
  • + +Array + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  columns: [
+     ["data1", 30, 20, 50, 40, 60, 50],
+     ["data2", 200, 130, 90, 240, 130, 220],
+     ["data3", 300, 200, 160, 400, 250, 250]
+  ]
+}
+
+// for 'bar' type, data can contain:
+// - an array of [start, end] data following the order
+data: {
+  columns: [
+    ["data1", -100, 50, [100, 200], [200, 300]],
+    ["data2", -200, 300, [-100, 100], [-50, -30]],
+  ],
+  type: "bar"
+}
+
+// for 'range' types('area-line-range' or 'area-step-range' or 'area-spline-range'), data should contain:
+// - an array of [high, mid, low] data following the order
+// - or an object with 'high', 'mid' and 'low' key value
+data: {
+  columns: [
+     ["data1",
+         [150, 140, 110],  // or {high:150, mid: 140, low: 110}
+         [150, 140, 110],
+         [150, 140, 110]
+     ]
+  ],
+  type: "area-line-range"
+}
+
+// for 'bubble' type, data can contain dimension value:
+// - an array of [y, z] data following the order
+// - or an object with 'y' and 'z' key value
+// 'y' is for y axis coordination and 'z' is the bubble radius value
+data: {
+  columns: [
+     ["data1",
+         [10, 140],  // or {y:10, z: 140}
+         [100, 30],
+         [50, 100]
+     ]
+  ],
+  type: "bubble"
+}
+
+// for 'canlestick' type, data should contain:
+// - an array of [open, high, low, close, volume(optional)] data following the order
+// - or an object with 'open', 'high', 'low', 'close' and 'value'(optional) key value
+data: {
+  columns: [
+     ["data1",
+         [1000, 1100, 850, 870, 100],  // or {open:1000, high: 1100, low: 870, volume: 100}
+         [870, 1250, 830, 1200]  // 'volume' can be omitted
+     ]
+  ],
+  type: "candlestick"
+}
+ + + + + +

(static) data․empty․label․text :string

+ + + + + +
+ +
Description:
+
  • Set text label to be displayed when there's no data to show.

    +
      +
    • ex. Toggling all visible data to not be shown, unloading all current data, etc.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • ""
  • +
+ + + + + + + +
+ + + + + +
+

Set text label to be displayed when there's no data to show.

+
    +
  • ex. Toggling all visible data to not be shown, unloading all current data, etc.
  • +
+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  empty: {
+    label: {
+      text: "No Data"
+    }
+  }
+}
+ + + + + +

(static) data․filter :function

+ + + + + +
+ +
Description:
+
  • Filter values to be shown +The data value is the same as the returned by .data().

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Filter values to be shown +The data value is the same as the returned by .data().

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  // filter for id value
+  filter: function(v) {
+     // v: [{id: "data1", id_org: "data1", values: [
+     //      {x: 0, value: 130, id: "data2", index: 0}, ...]
+     //    }, ...]
+     return v.id !== "data1";
+  }
+ + + + + +

(static) data․groups :Array

+ + + + + +
+ +
Description:
+
  • Set groups for the data for stacking.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • []
  • +
+ + + + + + + +
+ + + + + +
+

Set groups for the data for stacking.

+
+ + + +
Type:
+
    +
  • + +Array + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  groups: [
+    ["data1", "data2"],
+    ["data3"]
+  ]
+}
+ + + + + +

(static) data․groupsZeroAs :string

+ + + + + +
+ +
Description:
+
  • Set how zero value will be treated on groups.
    +Possible values:

    +
      +
    • zero: 0 will be positioned at absolute axis zero point.
    • +
    • positive: 0 will be positioned at the top of a stack.
    • +
    • negative: 0 will be positioned at the bottom of a stack.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • "positive"
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set how zero value will be treated on groups.
+Possible values:

+
    +
  • zero: 0 will be positioned at absolute axis zero point.
  • +
  • positive: 0 will be positioned at the top of a stack.
  • +
  • negative: 0 will be positioned at the bottom of a stack.
  • +
+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  groupsZeroAs: "zero" // "positive" or "negative"
+}
+ + + + + +

(static) data․headers :string

+ + + + + +
+ +
Description:
+
  • XHR header value

    +
      +
    • NOTE: Should be used with data.url option
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

XHR header value

+
    +
  • NOTE: Should be used with data.url option
  • +
+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
data: {
+    url: "/data/test.csv",
+    headers: {
+       "Content-Type": "text/xml",
+       ...
+    }
+}
+ + + + + +

(static) data․hide :boolean|Array

+ + + + + +
+ +
Description:
+
  • Hide each data when the chart appears.

    +If true specified, all of data will be hidden. If multiple ids specified as an array, those will be hidden.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + + + +
+ + + + + +
+

Hide each data when the chart appears.

+If true specified, all of data will be hidden. If multiple ids specified as an array, those will be hidden.

+
+ + + +
Type:
+
    +
  • + +boolean +| + +Array + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  // all of data will be hidden
+  hide: true
+
+  // specified data will be hidden
+  hide: ["data1", ...]
+}
+ + + + + +

(static) data․idConverter :function

+ + + + + +
+ +
Description:
+
  • Converts data id value

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • function(id) { return id; }
  • +
+ + + + + + + +
+ + + + + +
+

Converts data id value

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
data: {
+   idConverter: function(id) {
+      // when id is 'data1', converts to be 'data2'
+      // 'data2' should be given as the initial data value
+      if (id === "data1") {
+         return "data2";
+      } else {
+         return id;
+      }
+   }
+}
+ + + + + +

(static) data․json :Array

+ + + + + +
+ +
Description:
+
  • Parse a JSON object for data. See also data.keys.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Parse a JSON object for data. See also data.keys.

+
+ + + +
Type:
+
    +
  • + +Array + + + +
  • +
+ + + + + +
Example
+ +
data: {
+    json: [
+      {name: "www.site1.com", upload: 200, download: 200, total: 400},
+      {name: "www.site2.com", upload: 100, download: 300, total: 400},
+      {name: "www.site3.com", upload: 300, download: 200, total: 500},
+      {name: "www.site4.com", upload: 400, download: 100, total: 500}
+    ],
+    keys: {
+      // case 1: specify 'x' key for category axis
+      x: "name", // 'name' key will be used as category x axis values
+      value: ["upload", "download"]
+
+      // case 2: without 'x' key for non-category axis
+      value: ["upload", "download"]
+    }
+}
+ + + + + +

(static) data․keys :string

+ + + + + +
+ +
Description:
+
  • Choose which JSON object keys correspond to desired data.

    +
      +
    • NOTE: Only for JSON object given as array.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Choose which JSON object keys correspond to desired data.

+
    +
  • NOTE: Only for JSON object given as array.
  • +
+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
data: {
+    json: [
+      {name: "www.site1.com", upload: 200, download: 200, total: 400},
+      {name: "www.site2.com", upload: 100, download: 300, total: 400},
+      {name: "www.site3.com", upload: 300, download: 200, total: 500},
+      {name: "www.site4.com", upload: 400, download: 100, total: 500}
+    ],
+    keys: {
+      // case 1: specify 'x' key for category axis
+      x: "name", // 'name' key will be used as category x axis values
+      value: ["upload", "download"]
+
+      // case 2: without 'x' key for non-category axis
+      value: ["upload", "download"]
+    }
+}
+ + + + + +

(static) data․labels :object

+ + + + + +
+ +
Description:
+
  • Set labels options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • {}
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
data + + +object + + + + +

Data object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
labels + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Show or hide labels on each data points

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
centered + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Centerize labels on bar shape. (NOTE: works only for 'bar' type)

format + + +function + + + + + + + <optional>
+ + + +
+ +

Set formatter function for data labels.
+The formatter function receives 4 arguments such as v, id, i, texts and it must return a string (\n character will be used as line break) that will be shown as the label.

+The arguments are:

+
    +
  • v is the value of the data point where the label is shown.
  • +
  • id is the id of the data where the label is shown.
  • +
  • i is the index of the data series point where the label is shown.
  • +
  • texts is the array of whole corresponding data series' text labels.

    +Formatter function can be defined for each data by specifying as an object and D3 formatter function can be set (ex. d3.format('$'))
  • +
backgroundColors + + +string +| + +object + + + + + + + <optional>
+ + + +
+ +

Set label text background colors.

colors + + +string +| + +object +| + +function + + + + + + + <optional>
+ + + +
+ +

Set label text colors.

position + + +object +| + +function + + + + + + + <optional>
+ + + +
+ +

Set each dataset position, relative the original.

+When function is specified, will receives 5 arguments such as type, v, id, i, texts and it must return a position number.

+The arguments are:

+
    +
  • type coordinate type string, which will be 'x' or 'y'.
  • +
  • v is the value of the data point where the label is shown.
  • +
  • id is the id of the data where the label is shown.
  • +
  • i is the index of the data series point where the label is shown.
  • +
  • texts is the array of whole corresponding data series' text labels.

  • +
+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
x + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

x coordinate position, relative the original.

y + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

y coordinate position, relative the original.

+ +
rotate + + +object + + + + + + + <optional>
+ + + +
+ +

Rotate label text. Specify degree value in a range of 0 ~ 360.

+
    +
  • NOTE: Depend on rotate value, text position need to be adjusted manually(using data.labels.position option) to be shown nicely.
  • +
+ +
+ +
+ + + + + + +
+

Set labels options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  labels: true,
+
+  // or set specific options
+  labels: {
+    format: function(v, id, i, texts) {
+        ...
+        // to multiline, return with '\n' character
+        return "Line1\nLine2";
+    },
+
+    // it's possible to set for each data
+    format: {
+        data1: function(v, id, i, texts) { ... },
+        ...
+    },
+
+    // align text to center of the 'bar' shape (works only for 'bar' type)
+    centered: true,
+
+    // apply backgound color for label texts
+    backgroundColors: "red",
+
+    // set differenct backround colors per dataset
+    backgroundColors: {
+         data1: "green",
+         data2: "yellow"
+    }
+
+    // apply for all label texts
+    colors: "red",
+
+    // set different colors per dataset
+    // for not specified dataset, will have the default color value
+    colors: {
+       data1: "yellow",
+       data3: "green"
+    },
+
+    // call back for label text color
+    colors: function(color, d) {
+        // color: the default data label color string
+        // data: ex) {x: 0, value: 200, id: "data3", index: 0}
+        ....
+        return d.value > 200 ? "cyan" : color;
+    },
+
+    // return x, y coordinate position
+    // apt to handle each text position manually
+    position: function(type, v, id, i, texts) {
+        ...
+        return type == "x" ? 10 : 20;
+    },
+
+    // set x, y coordinate position
+    position: {
+       x: -10,
+       y: 10
+    },
+
+    // or set x, y coordinate position by each dataset
+    position: {
+       data1: {x: 5, y: 5},
+       data2: {x: 10, y: -20}
+    },
+
+	   // rotate degree for label text
+    rotate: 90
+  }
+}
+ + + + + +

(static) data․mimeType :string

+ + + + + +
+ +
Description:
+
  • Used if loading JSON via data.url.

    +
      +
    • Available Values: +
        +
      • json
      • +
      • csv
      • +
      • tsv
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • csv
  • +
+ + + + + + + +
+ + + + + +
+

Used if loading JSON via data.url.

+
    +
  • Available Values: +
      +
    • json
    • +
    • csv
    • +
    • tsv
    • +
    +
  • +
+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
data: {
+    mimeType: "json"
+}
+ + + + + +

(static) data․names :object

+ + + + + +
+ +
Description:
+
  • Set custom data name. +If a name is set to null, the series is omitted from the legend.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • {}
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set custom data name. +If a name is set to null, the series is omitted from the legend.

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  names: {
+    data1: "Data Name 1",
+    data2: "Data Name 2"
+  }
+}
+ + + + + +

(static) data․onclick :function

+ + + + + +
+ +
Description:
+
  • Set a callback for click event on each data point.

    +This callback will be called when each data point clicked and will receive d and element as the arguments.

    +
      +
    • d is the data clicked and element is the element clicked.
    • +
    • element is the current interacting svg element.
    • +
    • In this callback, this will be the Chart object.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • function() {}
  • +
+ + + + + + + +
+ + + + + +
+

Set a callback for click event on each data point.

+This callback will be called when each data point clicked and will receive d and element as the arguments.

+
    +
  • d is the data clicked and element is the element clicked.
  • +
  • element is the current interacting svg element.
  • +
  • In this callback, this will be the Chart object.
  • +
+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
data: {
+    onclick: function(d, element) {
+       // d - ex) {x: 4, value: 150, id: "data1", index: 4, name: "data1"}
+       // element - <circle>
+       ...
+    }
+}
+ + + + + +

(static) data․onhidden :function

+ + + + + +
+ +
Description:
+
  • Set a callback for when data is hidden.
    +The callback will receive hidden data ids in array.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set a callback for when data is hidden.
+The callback will receive hidden data ids in array.

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
data: {
+   onhidden: function(ids) {
+     // ids - ["data1", "data2", ...]
+     ...
+   }
+ }
+ + + + + +

(static) data․onmax :function

+ + + + + +
+ +
Description:
+
  • Set a callback for maximum data

    +
      +
    • NOTE: For 'area-line-range', 'area-step-range' and 'area-spline-range', mid data will be taken for the comparison
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set a callback for maximum data

+
    +
  • NOTE: For 'area-line-range', 'area-step-range' and 'area-spline-range', mid data will be taken for the comparison
  • +
+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
onmax: function(data) {
+   // data - ex) [{x: 3, value: 400, id: "data1", index: 3}, ... ]
+   ...
+ }
+ + + + + +

(static) data․onmin :function

+ + + + + +
+ +
Description:
+
  • Set a callback for minimum data

    +
      +
    • NOTE: For 'area-line-range', 'area-step-range' and 'area-spline-range', mid data will be taken for the comparison
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set a callback for minimum data

+
    +
  • NOTE: For 'area-line-range', 'area-step-range' and 'area-spline-range', mid data will be taken for the comparison
  • +
+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
onmin: function(data) {
+   // data - ex) [{x: 3, value: 400, id: "data1", index: 3}, ... ]
+   ...
+ }
+ + + + + +

(static) data․onout :function

+ + + + + +
+ +
Description:
+
  • Set a callback for mouse/touch out event on each data point.

    +This callback will be called when mouse cursor or via touch moves out each data point and will receive d as the argument.

    +
      +
    • d is the data where mouse cursor moves out.
    • +
    • element is the current interacting svg element.
    • +
    • In this callback, this will be the Chart object.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • function() {}
  • +
+ + + + + + + +
+ + + + + +
+

Set a callback for mouse/touch out event on each data point.

+This callback will be called when mouse cursor or via touch moves out each data point and will receive d as the argument.

+
    +
  • d is the data where mouse cursor moves out.
  • +
  • element is the current interacting svg element.
  • +
  • In this callback, this will be the Chart object.
  • +
+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
data: {
+    onout: function(d, element) {
+       // d - ex) {x: 4, value: 150, id: "data1", index: 4}
+       // element - <circle>
+       ...
+    }
+}
+ + + + + +

(static) data․onover :function

+ + + + + +
+ +
Description:
+
  • Set a callback for mouse/touch over event on each data point.

    +This callback will be called when mouse cursor or via touch moves onto each data point and will receive d and element as the argument.

    +
      +
    • d is the data where mouse cursor moves onto.
    • +
    • element is the current interacting svg element.
    • +
    • In this callback, this will be the Chart object.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • function() {}
  • +
+ + + + + + + +
+ + + + + +
+

Set a callback for mouse/touch over event on each data point.

+This callback will be called when mouse cursor or via touch moves onto each data point and will receive d and element as the argument.

+
    +
  • d is the data where mouse cursor moves onto.
  • +
  • element is the current interacting svg element.
  • +
  • In this callback, this will be the Chart object.
  • +
+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
data: {
+    onover: function(d, element) {
+       // d - ex) {x: 4, value: 150, id: "data1", index: 4}
+       // element - <circle>
+       ...
+    }
+}
+ + + + + +

(static) data․onselected :function

+ + + + + +
+ +
Description:
+
  • Set a callback for on data selection.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • function() {}
  • +
+ + + + + + + +
+ + + + + +
+

Set a callback for on data selection.

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
data: {
+    onselected: function(d, element) {
+       // d - ex) {x: 4, value: 150, id: "data1", index: 4, name: "data1"}
+       // element - <circle>
+       ...
+   }
+}
+ + + + + +

(static) data․onshown :function

+ + + + + +
+ +
Description:
+
  • Set a callback for when data is shown.
    +The callback will receive shown data ids in array.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set a callback for when data is shown.
+The callback will receive shown data ids in array.

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
data: {
+   onshown: function(ids) {
+     // ids - ["data1", "data2", ...]
+     ...
+   }
+ }
+ + + + + +

(static) data․onunselected :function

+ + + + + +
+ +
Description:
+
  • Set a callback for on data un-selection.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • function() {}
  • +
+ + + + + + + +
+ + + + + +
+

Set a callback for on data un-selection.

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
data: {
+    onunselected: function(d, element) {
+       // d - ex) {x: 4, value: 150, id: "data1", index: 4, name: "data1"}
+       // element - <circle>
+       ...
+   }
+}
+ + + + + +

(static) data․order :string|function|null

+ + + + + +
+ +
Description:
+
  • This option changes the order of stacking data and pieces of pie/donut.

    +
      +
    • If null specified, it will be the order the data loaded.
    • +
    • If function specified, it will be used as Array.sort compareFunction

    • +
    +

    Available Values:

    +
      +
    • desc: In descending order
    • +
    • asc: In ascending order
    • +
    • null: It keeps the data load order
    • +
    • function(data1, data2) { ... }: Array.sort compareFunction
    • +
    +

    NOTE: order function, only works for Axis based types & Arc types, except Radar type.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • desc
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

This option changes the order of stacking data and pieces of pie/donut.

+
    +
  • If null specified, it will be the order the data loaded.
  • +
  • If function specified, it will be used as Array.sort compareFunction

  • +
+

Available Values:

+
    +
  • desc: In descending order
  • +
  • asc: In ascending order
  • +
  • null: It keeps the data load order
  • +
  • function(data1, data2) { ... }: Array.sort compareFunction
  • +
+

NOTE: order function, only works for Axis based types & Arc types, except Radar type.

+
+ + + +
Type:
+
    +
  • + +string +| + +function +| + +null + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  // in descending order (default)
+  order: "desc"
+
+  // in ascending order
+  order: "asc"
+
+  // keeps data input order
+  order: null
+
+  // specifying sort function
+  order: function(a, b) {
+      // param data passed format
+      // {
+      //   id: "data1", id_org: "data1", values: [
+      //      {x: 5, value: 250, id: "data1", index: 5, name: "data1"},
+      //       ...
+      //   ]
+      // }
+
+      const reducer = (p, c) => p + Math.abs(c.value);
+      const aSum = a.values.reduce(reducer, 0);
+      const bSum = b.values.reduce(reducer, 0);
+
+      // ascending order
+      return aSum - bSum;
+
+      // descending order
+      // return bSum - aSum;
+  }
+}
+ + + + + +

(static) data․regions :object

+ + + + + +
+ +
Description:
+
  • Define regions for each data.
    +The values must be an array for each data and it should include an object that has start, end and style.

    +
      +
    • The object type should be as: +
        +
      • start {number}: Start data point number. If not set, the start will be the first data point.
      • +
      • [end] {number}: End data point number. If not set, the end will be the last data point.
      • +
      • [style.dasharray="2 2"] {string}: The first number specifies a distance for the filled area, and the second a distance for the unfilled area.
      • +
      +
    • +
    • NOTE: +
        +
      • Supports only line type.
      • +
      • start and end values should be in the exact x value range.
      • +
      • Dashes will be applied using stroke-dasharray css property when data doesn't contain nullish value(or nullish value with line.connectNull=true set).
      • +
      • Dashes will be applied via path command when data contains nullish value.
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • {}
  • +
+ + + + + + + +
+ + + + + +
+

Define regions for each data.
+The values must be an array for each data and it should include an object that has start, end and style.

+
    +
  • The object type should be as: +
      +
    • start {number}: Start data point number. If not set, the start will be the first data point.
    • +
    • [end] {number}: End data point number. If not set, the end will be the last data point.
    • +
    • [style.dasharray="2 2"] {string}: The first number specifies a distance for the filled area, and the second a distance for the unfilled area.
    • +
    +
  • +
  • NOTE: +
      +
    • Supports only line type.
    • +
    • start and end values should be in the exact x value range.
    • +
    • Dashes will be applied using stroke-dasharray css property when data doesn't contain nullish value(or nullish value with line.connectNull=true set).
    • +
    • Dashes will be applied via path command when data contains nullish value.
    • +
    +
  • +
+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  regions: {
+    data1: [{
+        start: 1,
+        end: 2,
+        style: {
+            dasharray: "5 2"
+        }
+    }, {
+        start: 3
+    }],
+    ...
+  }
+}
+ + + + + +

(static) data․rows :Array

+ + + + + +
+ +
Description:
+
  • Load data from a multidimensional array, with the first element containing the data names, the following containing related data in that order.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Load data from a multidimensional array, with the first element containing the data names, the following containing related data in that order.

+
+ + + +
Type:
+
    +
  • + +Array + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  rows: [
+    ["A", "B", "C"],
+    [90, 120, 300],
+    [40, 160, 240],
+    [50, 200, 290],
+    [120, 160, 230],
+    [80, 130, 300],
+    [90, 220, 320]
+  ]
+}
+
+// for 'bar' type, data can contain:
+// - an array of [start, end] data following the order
+data: {
+  rows: [
+     ["data1", "data2"],
+     [[100, 150], 120],
+     [[200, 300], 55],
+     [[-400, 500], 60]
+  ],
+  type: "bar"
+}
+
+// for 'range' types('area-line-range' or 'area-step-range' or 'area-spline-range'), data should contain:
+// - an array of [high, mid, low] data following the order
+// - or an object with 'high', 'mid' and 'low' key value
+data: {
+  rows: [
+     ["data1", "data2"],
+     [
+       // or {high:150, mid: 140, low: 110}, 120
+       [150, 140, 110], 120
+     ],
+     [[155, 130, 115], 55],
+     [[160, 135, 120], 60]
+  ],
+  types: {
+      data1: "area-line-range",
+      data2: "line"
+  }
+}
+
+// for 'bubble' type, data can contain dimension value:
+// - an array of [y, z] data following the order
+// - or an object with 'y' and 'z' key value
+// 'y' is for y axis coordination and 'z' is the bubble radius value
+data: {
+  rows: [
+     ["data1", "data2"],
+     [
+       // or {y:10, z: 140}, 120
+       [10, 140], 120
+     ],
+     [[100, 30], 55],
+     [[50, 100], 60]
+  ],
+  types: {
+      data1: "bubble",
+      data2: "line"
+  }
+}
+
+// for 'canlestick' type, data should contain:
+// - an array of [open, high, low, close, volume(optional)] data following the order
+// - or an object with 'open', 'high', 'low', 'close' and 'value'(optional) key value
+data: {
+  rows: [
+     ["data1", "data2"],
+		[
+			// open, high, low, close, volume (optional)
+			{open: 1300, high: 1369, low: 1200, close: 1339, volume: 100},
+			[1000, 1100, 850, 870]
+		],
+		[
+			{open: 1348, high: 1371, low: 1271, close: 1320},
+			[870, 1250, 830, 1200, 50]
+		]
+  ],
+  type: "candlestick"
+}
+ + + + + +

(static) data․selection․draggable :boolean

+ + + + + +
+ +
Description:
+
  • Enable to select data points by dragging. +If this option set true, data points can be selected by dragging.

    +
      +
    • NOTE: If this option set true, scrolling on the chart will be disabled because dragging event will handle the event.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + + + +
+ + + + + +
+

Enable to select data points by dragging. +If this option set true, data points can be selected by dragging.

+
    +
  • NOTE: If this option set true, scrolling on the chart will be disabled because dragging event will handle the event.
  • +
+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
data: {
+   selection: {
+      draggable: true
+  }
+}
+ + + + + +

(static) data․selection․enabled :boolean

+ + + + + +
+ +
Description:
+
  • Set data selection enabled

    +If this option is set true, we can select the data points and get/set its state of selection by API (e.g. select, unselect, selected).

    +
      +
    • NOTE: for ESM imports, needs to import 'selection' exports and instantiate it by calling selection(). +
        +
      • enabled: selection()
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set data selection enabled

+If this option is set true, we can select the data points and get/set its state of selection by API (e.g. select, unselect, selected).

+
    +
  • NOTE: for ESM imports, needs to import 'selection' exports and instantiate it by calling selection(). +
      +
    • enabled: selection()
    • +
    +
  • +
+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Examples
+ +
data: {
+   selection: {
+      enabled: true
+   }
+}
+ +
// importing ESM
+import bb, {selection} from "billboard.js";
+
+data: {
+   selection: {
+      enabled: selection(),
+      ...
+   }
+}
+ + + + + +

(static) data․selection․grouped :boolean

+ + + + + +
+ +
Description:
+
  • Set grouped selection enabled.

    +If this option set true, multiple data points that have same x value will be selected by one selection.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + + + +
+ + + + + +
+

Set grouped selection enabled.

+If this option set true, multiple data points that have same x value will be selected by one selection.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
data: {
+   selection: {
+      grouped: true
+   }
+}
+ + + + + +

(static) data․selection․isselectable :function

+ + + + + +
+ +
Description:
+
  • Set a callback for each data point to determine if it's selectable or not.

    +The callback will receive d as an argument and it has some parameters like id, value, index. This callback should return boolean.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • function() { return true; }
  • +
+ + + + + + + +
+ + + + + +
+

Set a callback for each data point to determine if it's selectable or not.

+The callback will receive d as an argument and it has some parameters like id, value, index. This callback should return boolean.

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
data: {
+   selection: {
+      isselectable: function(d) { ... }
+   }
+}
+ + + + + +

(static) data․selection․multiple :boolean

+ + + + + +
+ +
Description:
+
  • Set multiple data points selection enabled.

    +If this option set true, multile data points can have the selected state at the same time. If false set, only one data point can have the selected state and the others will be unselected when the new data point is selected.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + + + +
+ + + + + +
+

Set multiple data points selection enabled.

+If this option set true, multile data points can have the selected state at the same time. If false set, only one data point can have the selected state and the others will be unselected when the new data point is selected.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
data: {
+   selection: {
+      multiple: false
+   }
+}
+ + + + + +

(static) data․stack․normalize :boolean

+ + + + + +
+ +
Description:
+
  • Set the stacking to be normalized

    +
      +
    • NOTE: +
        +
      • For stacking, 'data.groups' option should be set
      • +
      • y Axis will be set in percentage value (0 ~ 100%)
      • +
      • Must have postive values
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set the stacking to be normalized

+
    +
  • NOTE: +
      +
    • For stacking, 'data.groups' option should be set
    • +
    • y Axis will be set in percentage value (0 ~ 100%)
    • +
    • Must have postive values
    • +
    +
  • +
+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  stack: {
+     normalize: true
+  }
+}
+ + + + + +

(static) data․type :string

+ + + + + +
+ +
Description:
+
  • Set chart type at once.

    +If this option is specified, the type will be applied to every data. This setting can be overwritten by data.types.

    +Available Values:

    +
      +
    • area
    • +
    • area-line-range
    • +
    • area-spline
    • +
    • area-spline-range
    • +
    • area-step
    • +
    • area-step-range
    • +
    • bar
    • +
    • bubble
    • +
    • candlestick
    • +
    • donut
    • +
    • funnel
    • +
    • gauge
    • +
    • line
    • +
    • pie
    • +
    • polar
    • +
    • radar
    • +
    • scatter
    • +
    • spline
    • +
    • step
    • +
    • treemap
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • "line"
    NOTE: When importing shapes by ESM, `line()` should be specified for type.
  • +
+ + + + + + + +
+ + + + + +
+

Set chart type at once.

+If this option is specified, the type will be applied to every data. This setting can be overwritten by data.types.

+Available Values:

+
    +
  • area
  • +
  • area-line-range
  • +
  • area-spline
  • +
  • area-spline-range
  • +
  • area-step
  • +
  • area-step-range
  • +
  • bar
  • +
  • bubble
  • +
  • candlestick
  • +
  • donut
  • +
  • funnel
  • +
  • gauge
  • +
  • line
  • +
  • pie
  • +
  • polar
  • +
  • radar
  • +
  • scatter
  • +
  • spline
  • +
  • step
  • +
  • treemap
  • +
+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Examples
+ +
data: {
+   type: "bar"
+}
+ +
// Generate chart by importing ESM
+// Import types to be used only, where this will make smaller bundle size.
+import bb, {
+  area,
+  areaLineRange,
+  areaSpline,
+  areaSplineRange,
+  areaStep,
+  areaStepRange,
+  bar,
+  bubble,
+  candlestick,
+  donut,
+  funnel,
+  gauge,
+  line,
+  pie,
+  polar,
+  radar,
+  scatter,
+  spline,
+  step,
+  treemap
+}
+
+bb.generate({
+  ...,
+  data: {
+    type: bar()
+  }
+});
+ + + + + +

(static) data․types :object

+ + + + + +
+ +
Description:
+
  • Set chart type for each data.
    +This setting overwrites data.type setting.

    +
      +
    • NOTE: radar and treemap type can't be combined with other types.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • {}
  • +
+ + + + + + + +
+ + + + + +
+

Set chart type for each data.
+This setting overwrites data.type setting.

+
    +
  • NOTE: radar and treemap type can't be combined with other types.
  • +
+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Examples
+ +
data: {
+  types: {
+    data1: "bar",
+    data2: "spline"
+  }
+}
+ +
// Generate chart by importing ESM
+// Import types to be used only, where this will make smaller bundle size.
+import bb, {
+  area,
+  areaLineRange,
+  areaSpline,
+  areaSplineRange,
+  areaStep,
+  areaStepRange,
+  bar,
+  bubble,
+  candlestick,
+  donut,
+  funnel,
+  gauge,
+  line,
+  pie,
+  polar,
+  radar,
+  scatter,
+  spline,
+  step,
+  treemap
+}
+
+bb.generate({
+  ...,
+  data: {
+    types: {
+      data1: bar(),
+      data1: spline()
+    }
+  }
+});
+ + + + + +

(static) data․url :string

+ + + + + +
+ +
Description:
+
  • Load a CSV or JSON file from a URL. NOTE that this will not work if loading via the "file://" protocol as the most browsers will block XMLHTTPRequests.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Load a CSV or JSON file from a URL. NOTE that this will not work if loading via the "file://" protocol as the most browsers will block XMLHTTPRequests.

+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
data: {
+    url: "/data/test.csv"
+}
+ + + + + +

(static) data․x :string

+ + + + + +
+ +
Description:
+
  • Specify the key of x values in the data.

    +We can show the data with non-index x values by this option. This option is required when the type of x axis is timeseries. If this option is set on category axis, the values of the data on the key will be used for category names.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Specify the key of x values in the data.

+We can show the data with non-index x values by this option. This option is required when the type of x axis is timeseries. If this option is set on category axis, the values of the data on the key will be used for category names.

+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  x: "date"
+}
+ + + + + +

(static) data․xFormat :string

+ + + + + +
+ +
Description:
+
  • Set a format specifier to parse string specifed as x.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • %Y-%m-%d
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Set a format specifier to parse string specifed as x.

+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
data: {
+   x: "x",
+   columns: [
+       ["x", "01012019", "02012019", "03012019"],
+       ["data1", 30, 200, 100]
+   ],
+   // Format specifier to parse as datetime for given 'x' string value
+   xFormat: "%m%d%Y"
+},
+axis: {
+   x: {
+       type: "timeseries"
+   }
+}
+ + + + + +

(static) data․xLocaltime :boolean

+ + + + + +
+ +
Description:
+
  • Set localtime format to parse x axis.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + + + +
+ + + + + +
+

Set localtime format to parse x axis.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  xLocaltime: false
+}
+ + + + + +

(static) data․xSort :boolean

+ + + + + +
+ +
Description:
+
  • Sort on x axis.

    +
      +
    • NOTE: This option works for lineish(area/line/spline/step) types only.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Sort on x axis.

+
    +
  • NOTE: This option works for lineish(area/line/spline/step) types only.
  • +
+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  xSort: false,
+  x: "x",
+  columns: [
+    // The line graph will start to be drawn following the x axis sequence
+    // Below data, wil start drawing x=1: 200, x=2: 300, x=3: 100
+    ["x", 3, 1, 2],
+    ["data1", 100, 200, 300]
+  ]
+}
+ + + + + +

(static) data․xs :object

+ + + + + +
+ +
Description:
+
  • Specify the keys of the x values for each data.

    +This option can be used if we want to show the data that has different x values.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • {}
  • +
+ + + + + + + +
+ + + + + +
+

Specify the keys of the x values for each data.

+This option can be used if we want to show the data that has different x values.

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
data: {
+  xs: {
+     data1: "x1",
+     data2: "x2"
+  }
+}
+ + + + + +

(static) donut :object

+ + + + + +
+ +
Description:
+
  • Set donut options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
donut + + +object + + + + +

Donut object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
label.show + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Show or hide label on each donut piece.

label.format + + +function + + + + + + + <optional>
+ + + +
+ +

Set formatter for the label on each donut piece.

label.threshold + + +number + + + + + + + <optional>
+ + + +
+ + 0.05 + +

Set threshold ratio to show/hide labels.

label.ratio + + +number +| + +function + + + + + + + <optional>
+ + + +
+ +

Set ratio of labels position.

expand + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Enable or disable expanding donut pieces.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
rate + + +number + + + + + + + <optional>
+ + + +
+ + 0.98 + +

Set expand rate.

duration + + +number + + + + + + + <optional>
+ + + +
+ + 50 + +

Set expand transition time in ms.

+ +
width + + +number + + + + + + + <optional>
+ + + +
+ +

Set width of donut chart.

title + + +string + + + + + + + <optional>
+ + + +
+ + "" + +

Set title of donut chart. Use \n character for line break.

+
    +
  • NOTE: +
      +
    • When arc.needle.show=true is set, special template {=NEEDLE_VALUE} can be used inside the title text to show current needle value.
    • +
    +
  • +
padAngle + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set padding between data.

startingAngle + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set starting angle where data draws.

+ +
+ + + + + + +
+

Set donut options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
donut: {
+     label: {
+         show: false,
+         format: function(value, ratio, id) {
+             return d3.format("$")(value);
+
+             // to multiline, return with '\n' character
+             // return value +"%\nLine1\n2Line2";
+         },
+
+         // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value.
+         // if data value is below than 0.1, text label will be hidden.
+         threshold: 0.1,
+
+         // set ratio callback. Should return ratio value
+         ratio: function(d, radius, h) {
+         	...
+         	return ratio;
+         },
+         // or set ratio number
+         ratio: 0.5
+     },
+
+     // disable expand transition for interaction
+     expand: false,
+
+     expand: {
+     	// set duration of expand transition to 500ms.
+         duration: 500,
+
+     	// set expand area rate
+         rate: 1
+     },
+
+     width: 10,
+     padAngle: 0.2,
+     startingAngle: 1,
+     title: "Donut Title"
+
+     // when 'arc.needle.show=true' is set, can show current needle value.
+     title: "Needle value:\n{=NEEDLE_VALUE}",
+
+     // title with line break
+     title: "Title1\nTitle2"
+ }
+ + + + + +

(static) funnel :object

+ + + + + +
+ +
Description:
+
  • Set funnel options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
funnel + + +object + + + + +

Funnel object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
neck.width + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set funnel neck width.

neck.height + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set funnel neck height.

neck.width.ratio + + +number + + + + + + + <optional>
+ + + +
+ +

Set funnel neck width in ratio.

neck.height.ratio + + +number + + + + + + + <optional>
+ + + +
+ +

Set funnel neck height in ratio.

+ +
+ + + + + + +
+

Set funnel options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
funnel: {
+     neck: {
+         width: 200,
+         height: 100,
+
+         // or specify as ratio value (relative to the chart size)
+         width: {
+           ratio: 0.5
+         },
+         height: {
+           ratio: 0.5
+         }
+     }
+ }
+ + + + + +

(static) gauge :object

+ + + + + +
+ +
Description:
+
  • Set gauge options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
gauge + + +object + + + + +

Gauge object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
background + + +boolean + + + + + + + <optional>
+ + + +
+ + "" + +

Set background color. (The .bb-chart-arcs-background element)

fullCircle + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Show full circle as donut. When set to 'true', the max label will not be showed due to start and end points are same location.

label.show + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Show or hide label on gauge.

label.extents + + +function + + + + + + + <optional>
+ + + +
+ +

Set customized min/max label text.

label.format + + +function + + + + + + + <optional>
+ + + +
+ +

Set formatter for the label on gauge. Label text can be multilined with \n character.
+Will pass following arguments to the given function:

+
    +
  • value {number}: absolute value
  • +
  • ratio {number}: value's ratio
  • +
  • id {string}: data's id value
  • +
label.ratio + + +number +| + +function + + + + + + + <optional>
+ + + +
+ +

Set ratio of labels position.

label.threshold + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set threshold ratio to show/hide labels.

expand + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Enable or disable expanding gauge.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
rate + + +number + + + + + + + <optional>
+ + + +
+ + 0.98 + +

Set expand rate.

duration + + +number + + + + + + + <optional>
+ + + +
+ + 50 + +

Set the expand transition time in milliseconds.

+ +
enforceMinMax + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Enforce to given min/max value.

+
    +
  • When gauge.min=50 and given value is 30, gauge will render as empty value.
  • +
  • When gauge.max=100 and given value is 120, gauge will render till 100, not surpassing max value.
  • +
min + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set min value of the gauge.

max + + +number + + + + + + + <optional>
+ + + +
+ + 100 + +

Set max value of the gauge.

startingAngle + + +number + + + + + + + <optional>
+ + + +
+ + -1 * Math.PI / 2 + +

Set starting angle where data draws.

+

Limitations:

+
    +
  • when gauge.fullCircle=false: +
      +
    • -1 * Math.PI / 2 <= startingAngle <= Math.PI / 2
    • +
    • startingAngle <= -1 * Math.PI / 2 defaults to -1 * Math.PI / 2
    • +
    • startingAngle >= Math.PI / 2 defaults to Math.PI / 2
    • +
    +
  • +
  • when gauge.fullCircle=true: +
      +
    • -1 * Math.PI < startingAngle < Math.PI
    • +
    • startingAngle < -1 * Math.PI defaults to Math.PI
    • +
    • startingAngle > Math.PI defaults to Math.PI
    • +
    +
  • +
arcLength + + +number + + + + + + + <optional>
+ + + +
+ + 100 + +

Set the length of the arc to be drawn in percent from -100 to 100.
+Negative value will draw the arc counterclockwise. Need to be used in conjunction with gauge.fullCircle=true.

+

Limitations:

+
    +
  • -100 <= arcLength (in percent) <= 100
  • +
  • 'arcLength < -100' defaults to -100
  • +
  • 'arcLength > 100' defaults to 100
  • +
title + + +string + + + + + + + <optional>
+ + + +
+ + "" + +

Set title of gauge chart. Use \n character for line break.

+
    +
  • NOTE: +
      +
    • When arc.needle.show=true is set, special template {=NEEDLE_VALUE} can be used inside the title text to show current needle value.
    • +
    +
  • +
units + + +string + + + + + + + <optional>
+ + + +
+ +

Set units of the gauge.

width + + +number + + + + + + + <optional>
+ + + +
+ +

Set width of gauge chart.

type + + +string + + + + + + + <optional>
+ + + +
+ + "single" + +

Set type of gauge to be displayed.

+Available Values:

+
    +
  • single
  • +
  • multi
  • +
arcs.minWidth + + +number + + + + + + + <optional>
+ + + +
+ + 5 + +

Set minimal width of gauge arcs until the innerRadius disappears.

+ +
+ + + + + + +
+

Set gauge options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
gauge: {
+     background: "#eee", // will set 'fill' css prop for '.bb-chart-arcs-background' classed element.
+     fullCircle: false,
+     label: {
+         show: false,
+         format: function(value, ratio, id) {
+             return value;
+
+             // to multiline, return with '\n' character
+             // return value +"%\nLine1\n2Line2";
+         },
+
+          extents: function(value, isMax) {
+             return (isMax ? "Max:" : "Min:") + value;
+         },
+
+         // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value.
+         // if data value is below than 0.1, text label will be hidden.
+         threshold: 0.1,
+
+         // set ratio callback. Should return ratio value
+         ratio: function(d, radius, h) {
+             ...
+             return ratio;
+         },
+         // or set ratio number
+         ratio: 0.5
+     },
+
+     // disable expand transition for interaction
+     expand: false,
+
+     expand: {
+     	// set duration of expand transition to 500ms.
+         duration: 500,
+
+     	// set expand area rate
+         rate: 1
+     },
+
+     // enforce min/max value.
+		// when given value < min, will render as empty value.
+		// when value > max, will render to given max value not surpassing it.
+     enforceMinMax: true,
+
+     min: -100,
+     max: 200,
+     type: "single"  // or 'multi'
+     title: "Title Text",
+
+     // when 'arc.needle.show=true' is set, can show current needle value.
+     title: "Needle value:\n{=NEEDLE_VALUE}",
+
+     units: "%",
+     width: 10,
+     startingAngle: -1 * Math.PI / 2,
+     arcLength: 100,
+     arcs: {
+         minWidth: 5
+     }
+ }
+ + + + + +

(static) grid :object

+ + + + + +
+ +
Description:
+
  • Set related options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
front + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Set 'grid & focus lines' to be positioned over grid lines and chart elements.

x + + +object + + + + + + + + + + +

Grid x object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
show + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Show grids along x axis.

lines + + +Array + + + + + + + <optional>
+ + + +
+ + [] + +

Show additional grid lines along x axis.
+This option accepts array including object that has value, text, position and class. text, position and class are optional. For position, start, middle and end (default) are available. +If x axis is category axis, value can be category name. If x axis is timeseries axis, value can be date string, Date object and unixtime integer.

+ +
y + + +object + + + + + + + + + + +

Grid y object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
show + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Show grids along x axis.

lines + + +Array + + + + + + + <optional>
+ + + +
+ + [] + +

Show additional grid lines along y axis.
+This option accepts array including object that has value, text, position and class.

ticks + + +number + + + + + + + <optional>
+ + + +
+ +

Number of y grids to be shown.

+ +
focus + + +object + + + + + + + + + + +

Grid focus object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
edge + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Show edged focus grid line.
NOTE: Available when tooltip.grouped=false option is set.

show + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Show grid line when focus.

y + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Show y coordinate focus grid line.
NOTE: Available when tooltip.grouped=false option is set.

+ +
lines + + +object + + + + + + + + + + +

Grid lines object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
front + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Set grid lines to be positioned over chart elements.

+ +
+ + + + + + +
+

Set related options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
grid: {
+  x: {
+    show: true,
+    lines: [
+      {value: 2, text: "Label on 2"},
+      {value: 5, text: "Label on 5", class: "label-5"},
+      {value: 6, text: "Label on 6", position: "start"}
+    ]
+  },
+  y: {
+    show: true,
+    lines: [
+      {value: 100, text: "Label on 100"},
+      {value: 200, text: "Label on 200", class: "label-200"},
+      {value: 300, text: "Label on 300", position: 'middle'}
+    ],
+    ticks: 5
+  },
+  front: true,
+  focus: {
+     show: false,
+
+     // Below options are available when 'tooltip.grouped=false' option is set
+     edge: true,
+     y: true
+  },
+  lines: {
+     front: false
+  }
+}
+ + + + + +

(static) interaction :object

+ + + + + +
+ +
Description:
+
  • Interaction options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
interaction + + +object + + + + +

Intersection object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
enabled + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Indicate if the chart should have interactions.
+If false is set, all of interactions (showing/hiding tooltip, selection, mouse events, etc) will be disabled.

brighten + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Make brighter for the selected area (ex. 'pie' type data selected area)

inputType.mouse + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

enable or disable mouse interaction

inputType.touch + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

enable or disable touch interaction

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
preventDefault + + +boolean +| + +number + + + + + + + <optional>
+ + + +
+ + false + +

enable or disable to call event.preventDefault on touchstart & touchmove event. It's usually used to prevent document scrolling.

+ +
onout + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Enable or disable "onout" event.
+When is disabled, defocus(hiding tooltip, focused gridline, etc.) event won't work.

+ +
+ + + + + + +
+

Interaction options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
interaction: {
+   enabled: false,
+   brighten: false,
+   inputType: {
+       mouse: true,
+       touch: false
+
+       // or declare preventDefault explicitly.
+       // In this case touch inputType is enabled by default
+       touch: {
+           preventDefault: true
+
+           // or threshold pixel value (pixel moved from touchstart to touchmove)
+           preventDefault: 5
+       }
+   },
+
+   // disable "onout" event
+   onout: false
+}
+ + + + + +

(static) legend :object

+ + + + + +
+ +
Description:
+
  • Legend options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
legend + + +object + + + + +

Legend object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
show + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Show or hide legend.

hide + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Hide legend +If true given, all legend will be hidden. If string or array given, only the legend that has the id will be hidden.

contents.bindto + + +string +| + +HTMLElement + + + + + + + <optional>
+ + + +
+ +

Set CSS selector or element reference to bind legend items.

+
    +
  • NOTE: Should be used along with legend.contents.template.
  • +
contents.template + + +string +| + +function + + + + + + + <optional>
+ + + +
+ + "<span style='color:#fff;padding:5px;background-color:{=COLOR}'>{=TITLE}</span>" + +

Set item's template.

+
    +
  • If set string value, within template the 'color' and 'title' can be replaced using template-like syntax string: +
      +
    • {=COLOR}: data color value
    • +
    • {=TITLE}: data title value
    • +
    +
  • +
  • If set function value, will pass following arguments to the given function:
  • +
  • title {string}: data's id value
  • +
  • color {string}: color string
  • +
  • data {Array}: data array
  • +
position + + +string + + + + + + + <optional>
+ + + +
+ + bottom + +

Change the position of legend.
+Available values are: bottom, right and inset are supported.

inset + + +object + + + + + + + <optional>
+ + + +
+ + {anchor: 'top-left',x: 10,y: 0,step: undefined} + +

Change inset legend attributes.
+This option accepts object that has the keys anchor, x, y and step.

+
    +
  • anchor decides the position of the legend:
  • +
  • top-left
  • +
  • top-right
  • +
  • bottom-left
  • +
  • bottom-right
  • +
  • x and y:
  • +
  • set the position of the legend based on the anchor.
  • +
  • step:
  • +
  • defines the max step the legend has (e.g. If 2 set and legend has 3 legend item, the legend 2 columns).
  • +
equally + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Set to all items have same width size.

padding + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set padding value

item.interaction + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Set legend item interaction.

+
    +
  • NOTE: +
      +
    • This setting will not have effect on .toggle() method.
    • +
    • legend.item.onXXX listener options will work if set, regardless of this option value.
    • +
    +
  • +
+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
dblclick + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Set legend item to interact on double click.

+
    +
  • NOTE: +
      +
    • Double clicking will make focused clicked dataseries only, hiding all others. +
        +
      • for single click case, click + altKey(Win)/optionKey(Mac OS) to have same effect.
      • +
      +
    • +
    • To return initial state(which all dataseries are showing), double click current focused legend item again. +
        +
      • for single click case, click + altKey(Win)/optionKey(Mac OS) to have same effect.
      • +
      +
    • +
    • In this case, default click interaction will be disabled.
    • +
    +
  • +
+ +
item.onclick + + +function + + + + + + + <optional>
+ + + +
+ +

Set click event handler to the legend item.

+
    +
  • NOTE: +
      +
    • When set, default click interaction will be disabled.
    • +
    • When interaction.dblclick=true is set, will be called on double click.
    • +
    +
  • +
item.onover + + +function + + + + + + + <optional>
+ + + +
+ +

Set mouse/touch over event handler to the legend item.

+
    +
  • NOTE: When set, default mouseover interaction will be disabled.
  • +
item.onout + + +function + + + + + + + <optional>
+ + + +
+ +

Set mouse/touch out event handler to the legend item.

+
    +
  • NOTE: When set, default mouseout interaction will be disabled.
  • +
item.tile.width + + +number + + + + + + + <optional>
+ + + +
+ + 10 + +

Set width for 'rectangle' legend item tile element.

item.tile.height + + +number + + + + + + + <optional>
+ + + +
+ + 10 + +

Set height for 'rectangle' legend item tile element.

item.tile.r + + +number + + + + + + + <optional>
+ + + +
+ + 5 + +

Set the radius for 'circle' legend item tile type.

item.tile.type + + +string + + + + + + + <optional>
+ + + +
+ + "rectangle" + +

Set legend item shape type.

+
    +
  • Available Values: +
      +
    • circle
    • +
    • rectangle
    • +
    +
  • +
format + + +boolean + + + + + + + <optional>
+ + + +
+ +

Set formatter function for legend text. +The argument:

+
    +
  • id: Legend text value. When data.names is specified, will pass from it, otherwise will pass data id.
  • +
  • dataId: When data.names specified, will pass the original data id. Otherwise will be undefined.
  • +
tooltip + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Show full legend text value using system tooltip(via <title> element).

usePoint + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Whether to use custom points in legend.

+ +
+ + + + + + +
+

Legend options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
legend: {
+     show: true,
+     hide: true,
+     //or hide: "data1"
+     //or hide: ["data1", "data2"]
+     contents: {
+         bindto: "#legend",   // <ul id='legend'></ul>
+
+         // will be as: <li style='background-color:#1f77b4'>data1</li>
+         template: "<li style='background-color:{=COLOR}'>{=TITLE}</li>"
+
+         // or using function
+         template: function(id, color, data) {
+              // if you want omit some legend, return falsy value
+              if (id !== "data1") {
+                   return "<li style='background-color:"+ color +">"+ id +"</li>";
+              }
+         }
+     },
+     position: "bottom",  // bottom, right, inset
+     inset: {
+         anchor: "top-right"  // top-left, top-right, bottom-left, bottom-right
+         x: 20,
+         y: 10,
+         step: 2
+     },
+     equally: false,
+     padding: 10,
+     item: {
+         // will disable default interaction
+         interaction: false,
+
+         // set legend interact on double click
+         // by double clicking, will make focused clicked dataseries only, hiding all others.
+         interaction: {
+           dblclick: true
+         }
+
+         // when set below callback, will disable corresponding default interactions
+         onclick: function(id, visible) {
+          	// toggle based on the data visibility
+          	this[visible ? "hide" : "show"](id);
+         },
+         onover: function(id, visible) { ... },
+         onout: function(id, visible) { ... },
+
+         // set tile's size
+         tile: {
+             // set tile type
+             type: "circle"  // or "rectangle" (default)
+
+             // width & height, are only applicable for 'rectangle' legend type
+             width: 15,
+             height: 15
+
+             // radis is only applicable for 'circle' legend type
+             r: 10
+         }
+     },
+     format: function(id, dataId) {
+         // set ellipsis string when length is > 5
+         // to get full legend value, combine with 'legend.tooltip=true'
+         if (id.length > 5) {
+           	id = id.substr(0, 5) + "...";
+         }
+
+         return id;
+     },
+     tooltip: true,
+     usePoint: true
+ }
+ + + + + +

(static) line :object

+ + + + + +
+ +
Description:
+
  • Set line options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
line + + +object + + + + +

Line object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
connectNull + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Set if null data point will be connected or not.
+If true set, the region of null data will be connected without any data point. If false set, the region of null data will not be connected and get empty.

classes + + +Array + + + + + + + <optional>
+ + + +
+ +

If set, used to set a css class on each line.

step.type + + +boolean + + + + + + + <optional>
+ + + +
+ + step + +

Change step type for step chart.
+Available values:

+
    +
  • step
  • +
  • step-before
  • +
  • step-after
  • +
step.tooltipMatch + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Set to true for step-before and step-after types to have cursor/tooltip match to hovered step's point instead of nearest point.

point + + +boolean +| + +Array + + + + + + + <optional>
+ + + +
+ + true + +

Set to false to not draw points on linecharts. Or pass an array of line ids to draw points for.

zerobased + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Set if min or max value will be 0 on line chart.

+ +
+ + + + + + +
+

Set line options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
line: {
+     connectNull: true,
+     classes: [
+         "line-class1",
+         "line-class2"
+     ],
+     step: {
+         type: "step-after",
+
+         // to have cursor/tooltip match to hovered step's point instead of nearest point.
+         tooltipMatch: true
+     },
+
+     // hide all data points ('point.show=false' also has similar effect)
+     point: false,
+
+     // show data points for only indicated datas
+     point: [
+         "data1", "data3"
+     ],
+
+     zerobased: false
+ }
+ + + + + +

(static) onafterinit :function

+ + + + + +
+ +
Description:
+
  • Set a callback to execute after the chart is initialized

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set a callback to execute after the chart is initialized

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
onafterinit: function() {
+  this; // chart instance itself
+  ...
+}
+ + + + + +

(static) onbeforeinit :function

+ + + + + +
+ +
Description:
+
  • Set a callback to execute before the chart is initialized

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set a callback to execute before the chart is initialized

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
onbeforeinit: function() {
+  this; // chart instance itself
+  ...
+}
+ + + + + +

(static) onclick :function

+ + + + + +
+ +
Description:
+
  • Set a callback to execute when the chart is clicked.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set a callback to execute when the chart is clicked.

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
onclick: function(event) {
+  this; // chart instance itself
+  event; // native event object
+  ...
+}
+ + + + + +

(static) oninit :function

+ + + + + +
+ +
Description:
+
  • Set a callback to execute when the chart is initialized.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set a callback to execute when the chart is initialized.

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
oninit: function() {
+  this; // chart instance itself
+  ...
+}
+ + + + + +

(static) onout :function

+ + + + + +
+ +
Description:
+
  • Set a callback to execute when mouse/touch leaves the chart.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set a callback to execute when mouse/touch leaves the chart.

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
onout: function(event) {
+  this; // chart instance itself
+  event; // native event object
+  ...
+}
+ + + + + +

(static) onover :function

+ + + + + +
+ +
Description:
+
  • Set a callback to execute when mouse/touch enters the chart.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set a callback to execute when mouse/touch enters the chart.

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
onover: function(event) {
+  this; // chart instance itself
+  event; // native event object
+  ...
+}
+ + + + + +

(static) onrendered :function

+ + + + + +
+ +
Description:
+
  • Set a callback which is executed when the chart is rendered. Basically, this callback will be called in each time when the chart is redrawed.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set a callback which is executed when the chart is rendered. Basically, this callback will be called in each time when the chart is redrawed.

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
onrendered: function() {
+  this; // chart instance itself
+  ...
+}
+ + + + + +

(static) onresize :function

+ + + + + +
+ +
Description:
+
  • Set a callback to execute when user resizes the screen.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set a callback to execute when user resizes the screen.

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
onresize: function() {
+  this; // chart instance itself
+  ...
+}
+ + + + + +

(static) onresized :function

+ + + + + +
+ +
Description:
+
  • Set a callback to execute when screen resize finished.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set a callback to execute when screen resize finished.

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
onresized: function() {
+  this; // chart instance itself
+  ...
+}
+ + + + + +

(static) padding :object

+ + + + + +
+ +
Description:
+
  • The padding of the chart element.

    +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
padding + + +object +| + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Set padding of chart, and accepts object or boolean type.

+
    +
  • Object: Specify each side's padding.
  • +
  • false: Remove padding completely and make shape to fully occupy the container element. +
      +
    • In this case, axes and subchart will be hidden.
    • +
    • To adjust some padding from this state, use axis.[x|y].padding option.
    • +
    +
  • +
+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
mode + + +string + + + + + + + <optional>
+ + + +

padding mode

+
    +
  • "fit": Reduce padding as much as possible to make chart fit to the container element for chart types w/axis.
    When specified, all padding values will be relative from fitted value.
  • +
top + + +number + + + + + + + <optional>
+ + + +

padding on the top of chart

right + + +number + + + + + + + <optional>
+ + + +

padding on the right of chart

bottom + + +number + + + + + + + <optional>
+ + + +

padding on the bottom of chart

left + + +number + + + + + + + <optional>
+ + + +

padding on the left of chart

+ +
+ + + + + + +
+

The padding of the chart element.

+ +
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
// remove padding completely.
+padding: false,
+
+padding: {
+  // specifying mode value, will reduce padding and make fit to the container element.
+  mode: "fit"
+
+  // when mode is "fit", all padding values will be relative from fitted value.
+  // so, 0 will be initial fitted value.
+  top: 20,
+  right: 20,
+  bottom: 20,
+  left: 20
+}
+
+// or specify padding value for each side
+padding: {
+  top: 20,
+  right: 20,
+  bottom: 20,
+  left: 20
+}
+ + + + + +

(static) pie :object

+ + + + + +
+ +
Description:
+
  • Set pie options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
pie + + +object + + + + +

Pie object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
label.show + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Show or hide label on each pie piece.

label.format + + +function + + + + + + + <optional>
+ + + +
+ +

Set formatter for the label on each pie piece.

label.ratio + + +number +| + +function + + + + + + + <optional>
+ + + +
+ +

Set ratio of labels position.

label.threshold + + +number + + + + + + + <optional>
+ + + +
+ + 0.05 + +

Set threshold ratio to show/hide labels.

expand + + +boolean +| + +object + + + + + + + <optional>
+ + + +
+ + true + +

Enable or disable expanding pie pieces.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
rate + + +number + + + + + + + <optional>
+ + + +
+ + 0.98 + +

Set expand rate.

duration + + +number + + + + + + + <optional>
+ + + +
+ + 50 + +

Set expand transition time in ms.

+ +
innerRadius + + +number +| + +object + + + + + + + <optional>
+ + + +
+ + 0 + +

Sets the inner radius of pie arc.

outerRadius + + +number +| + +object +| + +undefined + + + + + + + <optional>
+ + + +
+ +

Sets the outer radius of pie arc.

padAngle + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set padding between data.

padding + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Sets the gap between pie arcs.

startingAngle + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set starting angle where data draws.

+ +
+ + + + + + +
+

Set pie options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
pie: {
+     label: {
+         show: false,
+         format: function(value, ratio, id) {
+             return d3.format("$")(value);
+
+             // to multiline, return with '\n' character
+             // return value +"%\nLine1\n2Line2";
+         },
+
+         // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value.
+         // if data value is below than 0.1, text label will be hidden.
+         threshold: 0.1,
+
+         // set ratio callback. Should return ratio value
+         ratio: function(d, radius, h) {
+             ...
+             return ratio;
+         },
+         // or set ratio number
+         ratio: 0.5
+     },
+
+     // disable expand transition for interaction
+     expand: false,
+
+     expand: {
+     	// set duration of expand transition to 500ms.
+         duration: 500,
+
+     	// set expand area rate
+         rate: 1
+     },
+
+     innerRadius: 0,
+
+     // set different innerRadius for each data
+     innerRadius: {
+     	data1: 10,
+     	data2: 0
+     },
+
+     outerRadius: 100,
+
+     // set different outerRadius for each data
+     outerRadius: {
+     	data1: 50,
+     	data2: 100
+     }
+
+     padAngle: 0.1,
+     padding: 0,
+     startingAngle: 1
+ }
+ + + + + +

(static) plugins :Array

+ + + + + +
+ +
Description:
+
  • Set plugins

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+

Set plugins

+
+ + + +
Type:
+
    +
  • + +Array + + + +
  • +
+ + + + + +
Example
+ +
plugins: [
+   new bb.plugin.stanford({ ... }),
+   new PluginA(),
+   ...
+]
+ + + + + +

(static) point :object

+ + + + + +
+ +
Description:
+
  • Set point options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
point + + +object + + + + +

Point object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
show + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Whether to show each point in line.

r + + +number +| + +function + + + + + + + <optional>
+ + + +
+ + 2.5 + +

The radius size of each point.

+
    +
  • NOTE: Disabled for 'bubble' type
  • +
radialGradient + + +boolean +| + +object + + + + + + + <optional>
+ + + +
+ + false + +

Set the radial gradient on point.

+Or customize by giving below object value:

+
    +
  • cx {number}: cx value (default: 0.3)
  • +
  • cy {number}: cy value (default: 0.3)
  • +
  • r {number}: r value (default: 0.7)
  • +
  • stops {Array}: Each item should be having [offset, stop-color, stop-opacity] values. +
      +
    • (default: [[0.1, $DATA_COLOR, 1], [0.9, $DATA_COLOR, 0]])
    • +
    +
  • +
focus.expand.enabled + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Whether to expand each point on focus.

focus.expand.r + + +number + + + + + + + <optional>
+ + + +
+ + point.r*1.75 + +

The radius size of each point on focus.

+
    +
  • NOTE: For 'bubble' type, the default is bubbleSize*1.15
  • +
focus.only + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Show point only when is focused.

opacity + + +number +| + +null + + + + + + + <optional>
+ + + +
+ +

Set point opacity value.

+
    +
  • NOTE: +
      +
    • null will make to not set inline 'opacity' css prop.
    • +
    • when no value(or undefined) is set, it defaults to set opacity value according its chart types.
    • +
    +
  • +
sensitivity + + +number +| + +string +| + +function + + + + + + + <optional>
+ + + +
+ + 10 + +

The senstivity value for interaction boundary.

+
    +
  • Available Values: +
      +
    • {number}: Absolute sensitivity value which is the distance from the data point in pixel.
    • +
    • "radius": sensitivity based on point's radius
    • +
    • Function: callback for each point to determine the sensitivity
      sensitivity: function(d) {
      +  // ex. of argument d:
      +  // ==> {x: 2, value: 55, id: 'data3', index: 2, r: 19.820624179302296}
      +
      +  // returning d.r, will make sensitivity same as point's radius value.
      +  return d.r;
      +}
      +
      +
    • +
    +
  • +
select.r + + +number + + + + + + + <optional>
+ + + +
+ + point.r*4 + +

The radius size of each point on selected.

type + + +string + + + + + + + <optional>
+ + + +
+ + "circle" + +

The type of point to be drawn

+
    +
  • NOTE: +
      +
    • If chart has 'bubble' type, only circle can be used.
    • +
    • For IE, non circle point expansions are not supported due to lack of transform support.
    • +
    +
  • +
  • Available Values: +
      +
    • circle
    • +
    • rectangle
    • +
    +
  • +
pattern + + +Array + + + + + + + <optional>
+ + + +
+ + [] + +

The type of point or svg shape as string, to be drawn for each line

+
    +
  • NOTE: +
      +
    • This is an experimental feature and can have some unexpected behaviors.
    • +
    • If chart has 'bubble' type, only circle can be used.
    • +
    • For IE, non circle point expansions are not supported due to lack of transform support.
    • +
    +
  • +
  • Available Values: +
      +
    • circle
    • +
    • rectangle
    • +
    • svg shape tag interpreted as string
      +(ex. <polygon points='2.5 0 0 5 5 5'></polygon>)
    • +
    +
  • +
+ +
+ + + + + + +
+

Set point options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
point: {
+     show: false,
+     r: 5,
+
+     // or customize the radius
+     r: function(d) {
+         ...
+         return r;
+     },
+
+     // will generate follwing radialGradient:
+     // for more info: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/radialGradient
+     // <radualGradient cx="0.3" cy="0.3" r="0.7">
+     //    <stop offset="0.1" stop-color="$DATA_COLOR" stop-opacity="1"></stop>
+     //    <stop offset="0.9" stop-color="$DATA_COLOR" stop-opacity="0"></stop>
+     // </radialrGradient>
+     radialGradient: true,
+
+     // Or customized gradient
+     radialGradient: {
+     	cx: 0.3,  // cx attributes
+     	cy: 0.5,  // cy attributes
+     	r: 0.7,  // r attributes
+     	stops: [
+     	  // offset, stop-color, stop-opacity
+     	  [0, "#7cb5ec", 1],
+
+     	  // setting 'null' for stop-color, will set its original data color
+     	  [0.5, null, 0],
+
+     	  // setting 'function' for stop-color, will pass data id as argument.
+     	  // It should return color string or null value
+     	  [1, function(id) { return id === "data1" ? "red" : "blue"; }, 0],
+     	]
+     },
+
+     focus: {
+         expand: {
+             enabled: true,
+             r: 1
+         },
+         only: true
+     },
+
+     // do not set inline 'opacity' css prop setting
+     opacity: null,
+
+     // set every data point's opacity value
+     opacity: 0.7,
+
+     select: {
+         r: 3
+     },
+
+     // having lower value, means how closer to be for interaction
+     sensitivity: 3,
+
+     // sensitivity based on point's radius
+     sensitivity: "radius",
+
+     // callback for each point to determine the sensitivity
+     sensitivity: function(d) {
+	// ex. of argument d:
+	// ==> {x: 2, value: 55, id: 'data3', index: 2, r: 19.820624179302296}
+
+	// returning d.r, will make sensitivity same as point's radius value.
+	return d.r;
+     }
+
+     // valid values are "circle" or "rectangle"
+     type: "rectangle",
+
+     // or indicate as pattern
+     pattern: [
+       "circle",
+       "rectangle",
+       "<polygon points='0 6 4 0 -4 0'></polygon>"
+    ],
+ }
+ + + + + +

(static) polar :object

+ + + + + +
+ +
Description:
+
  • Set polar options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
polar + + +object + + + + +

Polar object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
label.show + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Show or hide label on each polar piece.

label.format + + +function + + + + + + + <optional>
+ + + +
+ +

Set formatter for the label on each polar piece.

label.threshold + + +number + + + + + + + <optional>
+ + + +
+ + 0.05 + +

Set threshold ratio to show/hide labels.

label.ratio + + +number +| + +function + + + + + + + <optional>
+ + + +
+ +

Set ratio of labels position.

level.depth + + +number + + + + + + + <optional>
+ + + +
+ + 3 + +

Set the level depth.

level.show + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Show or hide level.

level.text.backgroundColor + + +string + + + + + + + <optional>
+ + + +
+ + "#fff" + +

Set label text's background color.

level.text.format + + +function + + + + + + + <optional>
+ + + +
+ +

Set format function for the level value.
- Default value: (x) => x % 1 === 0 ? x : x.toFixed(2)

level.text.show + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Show or hide level text.

padAngle + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set padding between data.

padding + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Sets the gap between pie arcs.

startingAngle + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set starting angle where data draws.

+ +
+ + + + + + +
+

Set polar options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
polar: {
+     label: {
+         show: false,
+         format: function(value, ratio, id) {
+             return d3.format("$")(value);
+
+             // to multiline, return with '\n' character
+             // return value +"%\nLine1\n2Line2";
+         },
+
+         // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value.
+         // if data value is below than 0.1, text label will be hidden.
+         threshold: 0.1,
+
+         // set ratio callback. Should return ratio value
+         ratio: function(d, radius, h) {
+             ...
+             return ratio;
+         },
+         // or set ratio number
+         ratio: 0.5
+     },
+     level: {
+         depth: 3,
+         max: 500,
+         show: true,
+         text: {
+             format: function(x) {
+                 return x + "%";
+             },
+             show: true,
+             backgroundColor: "red"
+         }
+     },
+     padAngle: 0.1,
+     padding: 0,
+     startingAngle: 1
+ }
+ + + + + +

(static) radar :object

+ + + + + +
+ +
Description:
+
  • Set radar options

    +
      +
    • NOTE:
    • +
    +
    +

    When x tick text contains \n, it's used as line break.

    +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
radar + + +object + + + + +

Radar object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
axis.max + + +number + + + + + + + <optional>
+ + + +
+ +

The max value of axis. If not given, it'll take the max value from the given data.

axis.line.show + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Show or hide axis line.

axis.text.position.x + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

x coordinate position, relative the original.

axis.text.position.y + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

y coordinate position, relative the original.

axis.text.show + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Show or hide axis text.

direction.clockwise + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Set the direction to be drawn.

level.depth + + +number + + + + + + + <optional>
+ + + +
+ + 3 + +

Set the level depth.

level.show + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Show or hide level.

level.text.format + + +function + + + + + + + <optional>
+ + + +
+ +

Set format function for the level value.
- Default value: (x) => x % 1 === 0 ? x : x.toFixed(2)

level.text.show + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Show or hide level text.

size.ratio + + +number + + + + + + + <optional>
+ + + +
+ + 0.87 + +

Set size ratio.

+ +
+ + + + + + +
+

Set radar options

+
    +
  • NOTE:
  • +
+
+

When x tick text contains \n, it's used as line break.

+
+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
radar: {
+     axis: {
+         max: 50,
+         line: {
+             show: false
+         },
+         text: {
+             position: {
+             	x: 0,
+             	y: 0
+             },
+             show: false
+         }
+     },
+     direction: {
+         clockwise: true
+     },
+     level: {
+         show: false,
+         text: {
+             format: function(x) {
+                 return x + "%";
+             },
+             show: true
+         }
+     },
+     size: {
+         ratio: 0.7
+     }
+ }
+ + + + + +

(static) regions :Array

+ + + + + +
+ +
Description:
+
  • Show rectangles inside the chart.

    +This option accepts array including object that has axis, start, end and class. +The keys start, end and class are optional. +axis must be x, y or y2. start and end should be the value where regions start and end. +If not specified, the edge values will be used. +If timeseries x axis, date string, Date object and unixtime integer can be used. +If class is set, the region element will have it as class.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • []
  • +
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + +
+

Show rectangles inside the chart.

+This option accepts array including object that has axis, start, end and class. +The keys start, end and class are optional. +axis must be x, y or y2. start and end should be the value where regions start and end. +If not specified, the edge values will be used. +If timeseries x axis, date string, Date object and unixtime integer can be used. +If class is set, the region element will have it as class.

+
+ + + +
Type:
+
    +
  • + +Array + + + +
  • +
+ + + + + +
Example
+ +
regions: [
+   {
+     axis: "x",
+     start: 1,
+     end: 4,
+     class: "region-1-4",
+     label: {
+     	text: "Region Text",
+     	x: 5,  // position relative of the initial x coordinate
+     	y: 5,  // position relative of the initial y coordinate
+     	color: "red",  // color string
+     	rotated: true  // make text to show in vertical or horizontal
+     }
+   }
+ ]
+ + + + + +

(static) render :object

+ + + + + +
+ +
Description:
+
  • Control the render timing

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
render + + +object + + + + + + + <optional>
+ + + +

render object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
lazy + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Make to not render at initialization.

+
    +
  • NOTE: +
      +
    • Enabled by default when bind element's visibility is hidden.
    • +
    • When set to false, will initialize the chart regardless the bind element's visibility state, but in this case chart can't be guaranteed to be rendered properly.
    • +
    +
  • +
observe + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Observe bind element's visibility(display or visiblity inline css property or class value) & render when is visible automatically (for IEs, only works IE11+). When set to false, call .flush() to render.

+ +
+ + + + + + +
+

Control the render timing

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Examples
+ +
render: {
+   lazy: true,
+   observe: true
+}
+ +
// <!-- render.lazy will detect visibility defined -->
+ // (a) <div id='chart' class='hide'></div>
+ // (b) <div id='chart' style='display:none'></div>
+
+ // render.lazy enabled by default when element is hidden
+ var chart = bb.generate({ ... });
+
+ // chart will be rendered automatically when element's visibility changes
+ // Note: works only for inlined css property or class attribute changes
+ document.getElementById('chart').classList.remove('hide')  // (a)
+ document.getElementById('chart').style.display = 'block';  // (b)
+ +
// chart won't be rendered and not observing bind element's visiblity changes
+ var chart = bb.generate({
+    render: {
+         lazy: true,
+         observe: false
+    }
+ });
+
+ // call at any point when you want to render
+ chart.flush();
+ + + + + +

(static) resize :object

+ + + + + +
+ +
Description:
+
  • Set chart resize options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
resize + + +object + + + + + + + <optional>
+ + + +

resize object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
auto + + +boolean +| + +string + + + + + + + <optional>
+ + + +
+ + true + +

Set chart resize automatically on viewport changes.

+
    +
  • NOTE: Available options +
      +
    • true: Enables automatic resize.
    • +
    • false: Disables automatic resize.
    • +
    • "viewBox": Enables automatic resize, and size will be fixed based on the viewbox.
    • +
    +
  • +
timer + + +boolean +| + +number + + + + + + + <optional>
+ + + +
+ + true + +

Set resize timer option.

+
    +
  • NOTE: Available options +
      +
    • The resize function will be called using: +
        +
      • true: setTimeout()
      • +
      • false: requestIdleCallback()
      • +
      +
    • +
    • Given number(delay in ms) value, resize function will be triggered using setTimeout() with given delay.
    • +
    +
  • +
+ +
+ + + + + + +
+

Set chart resize options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
resize: {
+     auto: false,
+
+     // set resize based on viewBox value
+     auto: "viewBox",
+
+     // set resize function will be triggered using `setTimeout()`
+     timer: true,
+
+     // set resize function will be triggered using `requestIdleCallback()`
+     timer: false,
+
+     // set resize function will be triggered using `setTimeout()` with a delay of `100ms`.
+     timer: 100
+ }
+ + + + + +

(static) scatter :object

+ + + + + +
+ +
Description:
+
  • Set scatter options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
scatter + + +object + + + + + + + <optional>
+ + + +

scatter object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
zerobased + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Set if min or max value will be 0 on scatter chart.

+ +
+ + + + + + +
+

Set scatter options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
scatter: {
+     connectNull: true,
+     step: {
+         type: "step-after"
+     },
+
+     // hide all data points ('point.show=false' also has similar effect)
+     point: false,
+
+     // show data points for only indicated datas
+     point: [
+         "data1", "data3"
+     ],
+
+     zerobased: false
+ }
+ + + + + +

(static) size :object

+ + + + + +
+ +
Description:
+
  • The desired size of the chart element. +If value is not specified, the width of the chart will be calculated by the size of the parent element it's appended to.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
size + + +object + + + + + + + <optional>
+ + + +

size object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
width + + +number + + + + + + + <optional>
+ + + +

width of the chart element

height + + +number + + + + + + + <optional>
+ + + +

height of the chart element

+ +
+ + + + + + +
+

The desired size of the chart element. +If value is not specified, the width of the chart will be calculated by the size of the parent element it's appended to.

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
size: {
+  width: 640,
+  height: 480
+}
+ + + + + +

(static) spline :object

+ + + + + +
+ +
Description:
+
  • Set spline options

    +
      +
    • Available interpolation type values:
    • +
    • basis (d3.curveBasis)
    • +
    • basis-closed (d3.curveBasisClosed)
    • +
    • basis-open (d3.curveBasisOpen)
    • +
    • bundle (d3.curveBundle)
    • +
    • cardinal (d3.curveCardinal)
    • +
    • cardinal-closed (d3.curveCardinalClosed)
    • +
    • cardinal-open (d3.curveCardinalOpen)
    • +
    • catmull-rom (d3.curveCatmullRom)
    • +
    • catmull-rom-closed (d3.curveCatmullRomClosed)
    • +
    • catmull-rom-open (d3.curveCatmullRomOpen)
    • +
    • monotone-x (d3.curveMonotoneX)
    • +
    • monotone-y (d3.curveMonotoneY)
    • +
    • natural (d3.curveNatural)
    • +
    • linear-closed (d3.curveLinearClosed)
    • +
    • linear (d3.curveLinear)
    • +
    • step (d3.curveStep)
    • +
    • step-after (d3.curveStepAfter)
    • +
    • step-before (d3.curveStepBefore)
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
spline + + +object + + + + +

Spline object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
interpolation + + +object + + + + +

Spline interpolation object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
type + + +string + + + + + + + <optional>
+ + + +
+ + "cardinal" + +

Interpolation type

+ +
+ +
+ + + + + + +
+

Set spline options

+
    +
  • Available interpolation type values:
  • +
  • basis (d3.curveBasis)
  • +
  • basis-closed (d3.curveBasisClosed)
  • +
  • basis-open (d3.curveBasisOpen)
  • +
  • bundle (d3.curveBundle)
  • +
  • cardinal (d3.curveCardinal)
  • +
  • cardinal-closed (d3.curveCardinalClosed)
  • +
  • cardinal-open (d3.curveCardinalOpen)
  • +
  • catmull-rom (d3.curveCatmullRom)
  • +
  • catmull-rom-closed (d3.curveCatmullRomClosed)
  • +
  • catmull-rom-open (d3.curveCatmullRomOpen)
  • +
  • monotone-x (d3.curveMonotoneX)
  • +
  • monotone-y (d3.curveMonotoneY)
  • +
  • natural (d3.curveNatural)
  • +
  • linear-closed (d3.curveLinearClosed)
  • +
  • linear (d3.curveLinear)
  • +
  • step (d3.curveStep)
  • +
  • step-after (d3.curveStepAfter)
  • +
  • step-before (d3.curveStepBefore)
  • +
+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
spline: {
+     interpolation: {
+         type: "cardinal"
+     }
+ }
+ + + + + +

(static) subchart :object

+ + + + + +
+ +
Description:
+
  • Set subchart options.

    +
      +
    • NOTE: Not supported for bubble, scatter and non-Axis based(pie, donut, gauge, radar) types.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
subchart + + +object + + + + +

Subchart object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
show + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Show sub chart on the bottom of the chart.

+
    +
  • NOTE: for ESM imports, needs to import 'subchart' exports and instantiate it by calling subchart(). +
      +
    • show: subchart()
    • +
    +
  • +
showHandle + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Show sub chart's handle.

axis.x.show + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Show or hide x axis.

axis.x.tick.show + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Show or hide x axis tick line.

axis.x.tick.format + + +function +| + +string + + + + + + + <optional>
+ + + +
+ +

Use custom format for x axis ticks - see axis.x.tick.format for details.

axis.x.tick.text.show + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Show or hide x axis tick text.

init.range + + +Array + + + + + + + <optional>
+ + + +
+ +

Set initial selection domain range.

size.height + + +number + + + + + + + <optional>
+ + + +
+ +

Change the height of the subchart.

onbrush + + +function + + + + + + + <optional>
+ + + +
+ +

Set callback for brush event.
+Specified function receives the current zoomed x domain.

+ +
+ + + + + + +
+

Set subchart options.

+
    +
  • NOTE: Not supported for bubble, scatter and non-Axis based(pie, donut, gauge, radar) types.
  • +
+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Examples
+ +
subchart: {
+     show: true,
+     showHandle: true,
+     size: {
+         height: 20
+     },
+     init: {
+         // specify initial range domain selection
+         range: [1, 2]
+     },
+     axis: {
+     	x: {
+     	  show: true,
+     	    tick: {
+     	      show: true,
+     	      format: (x) => d3Format(".1f")(x)
+     	      text: {
+     	        show: false
+     	      }
+     	    }
+     	}
+     },
+     onbrush: function(domain) { ... }
+ }
+ +
// importing ESM
+import bb, {subchart} from "billboard.js";
+
+subchart: {
+     show: subchart(),
+     ...
+}
+ + + + + +

(static) svg :object

+ + + + + +
+ +
Description:
+
  • Set svg element's class name

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
svg + + +object + + + + + + + <optional>
+ + + +

svg object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
classname + + +string + + + + + + + <optional>
+ + + +

class name for svg element

+ +
+ + + + + + +
+

Set svg element's class name

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
svg: {
+  classname: "test_class"
+}
+ + + + + +

(static) title :object

+ + + + + +
+ +
Description:
+
  • Set title options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
title + + +object + + + + +

Title object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
text + + +string + + + + + + + <optional>
+ + + +
+ +

Title text. If contains \n, it's used as line break allowing multiline title.

padding.top + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Top padding value.

padding.right + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Right padding value.

padding.bottom + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Bottom padding value.

padding.left + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Left padding value.

position + + +string + + + + + + + <optional>
+ + + +
+ + center + +

Available values are: 'center', 'right' and 'left'.

+ +
+ + + + + + +
+

Set title options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
title: {
+     text: "Title Text",
+
+     // or Multiline title text
+     text: "Main title text\nSub title text",
+
+     padding: {
+         top: 10,
+         right: 10,
+         bottom: 10,
+         left: 10
+     },
+     position: "center"
+ }
+ + + + + +

(static) tooltip :object

+ + + + + +
+ +
Description:
+
  • Tooltip options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
tooltip + + +object + + + + +

Tooltip object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
show + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Show or hide tooltip.

doNotHide + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Make tooltip keep showing not hiding on interaction.

grouped + + +boolean + + + + + + + <optional>
+ + + +
+ + true + +

Set if tooltip is grouped or not for the data points.

+
    +
  • NOTE: The overlapped data points will be displayed as grouped even if set false.
  • +
linked + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Set if tooltips on all visible charts with like x points are shown together when one is shown.

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
name + + +string + + + + + + + <optional>
+ + + +
+ + "" + +

Groping name for linked tooltip.
If specified, linked tooltip will be groped interacting to be worked only with the same name.

+ +
format.title + + +function + + + + + + + <optional>
+ + + +
+ +

Set format for the title of tooltip.
+Specified function receives x of the data point to show.

format.name + + +function + + + + + + + <optional>
+ + + +
+ +

Set format for the name of each data in tooltip.
+Specified function receives name, ratio, id and index of the data point to show. ratio will be undefined if the chart is not donut/pie/gauge.

format.value + + +function + + + + + + + <optional>
+ + + +
+ +

Set format for the value of each data value in tooltip. If undefined returned, the row of that value will be skipped to be called.

+
    +
  • Will pass following arguments to the given function: +
      +
    • value {string}: Value of the data point. If data row contains multiple or ranged(ex. candlestick, area range, etc.) value, formatter will be called as value length.
    • +
    • ratio {number}: Ratio of the data point in the pie/donut/gauge and area/bar when contains grouped data. Otherwise is undefined.
    • +
    • id {string}: id of the data point
    • +
    • index {number}: Index of the data point
    • +
    +
  • +
position + + +function + + + + + + + <optional>
+ + + +
+ +

Set custom position function for the tooltip.
+This option can be used to modify the tooltip position by returning object that has top and left.

+
    +
  • Will pass following arguments to the given function: +
      +
    • data {Array}: Current selected data array object.
    • +
    • width {number}: Width of tooltip.
    • +
    • height {number}: Height of tooltip.
    • +
    • element {SVGElement}: Tooltip event bound element
    • +
    • pos {object}: Current position of the tooltip.
    • +
    +
  • +
contents + + +function +| + +object + + + + + + + <optional>
+ + + +
+ +

Set custom HTML for the tooltip.
+If tooltip.grouped is true, data includes multiple data points.

+Specified function receives data array and defaultTitleFormat, defaultValueFormat and color functions of the data point to show.

+
    +
  • Note: +
      +
    • defaultTitleFormat: +
        +
      • if axis.x.tick.format option will be used if set.
      • +
      • otherwise, will return function based on tick format type(category, timeseries).
      • +
      +
    • +
    • defaultValueFormat: +
        +
      • for Arc type (except gauge, radar), the function will return value from (ratio * 100).toFixed(1).
      • +
      • for Axis based types, will be used axis.[y|y2].tick.format option value if is set.
      • +
      • otherwise, will parse value and return as number.
      • +
      +
    • +
    +
  • +
+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
bindto + + +string +| + +HTMLElement + + + + + + + <optional>
+ + + +

Set CSS selector or element reference to bind tooltip.

+
    +
  • NOTE: When is specified, will not be updating tooltip's position.
  • +
template + + +string + + + + + + + <optional>
+ + + +

Set tooltip's template.

+Within template, below syntax will be replaced using template-like syntax string:

+
    +
  • {{ ... }}: the doubly curly brackets indicate loop block for data rows.
  • +
  • {=CLASS_TOOLTIP}: default tooltip class name bb-tooltip.
  • +
  • {=CLASS_TOOLTIP_NAME}: default tooltip data class name (ex. bb-tooltip-name-data1)
  • +
  • {=TITLE}: title value.
  • +
  • {=COLOR}: data color.
  • +
  • {=NAME}: data id value.
  • +
  • {=VALUE}: data value.
  • +
text + + +object + + + + + + + <optional>
+ + + +

Set additional text content within data loop, using template syntax.

+
    +
  • NOTE: It should contain { key: Array, ... } value +
      +
    • 'key' name is used as substitution within template as '{=KEY}'
    • +
    • The value array length should match with the data length
    • +
    +
  • +
+ +
init.show + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Show tooltip at the initialization.

init.x + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Set x Axis index(or index for Arc(donut, gauge, pie) types) to be shown at the initialization.

init.position + + +object + + + + + + + <optional>
+ + + +
+ +

Set the position of tooltip at the initialization.

onshow + + +function + + + + + + + <optional>
+ + + +
+ +

Set a callback that will be invoked before the tooltip is shown.

onhide + + +function + + + + + + + <optional>
+ + + +
+ +

Set a callback that will be invoked before the tooltip is hidden.

onshown + + +function + + + + + + + <optional>
+ + + +
+ +

Set a callback that will be invoked after the tooltip is shown

onhidden + + +function + + + + + + + <optional>
+ + + +
+ +

Set a callback that will be invoked after the tooltip is hidden.

order + + +string +| + +function +| + +null + + + + + + + <optional>
+ + + +
+ + null + +

Set tooltip data display order.

+Available Values:

+
    +
  • desc: In descending data value order
  • +
  • asc: In ascending data value order
  • +
  • null: It keeps the data display order
    +NOTE: When data.groups is set, the order will follow as the stacked graph order.
    +If want to order as data bound, set any value rather than asc, desc or null. (ex. empty string "")
  • +
  • function(data1, data2) { ... }: Array.sort compareFunction
  • +
+ +
+ + + + + + +
+

Tooltip options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
tooltip: {
+     show: true,
+     doNotHide: true,
+     grouped: false,
+     format: {
+         title: function(x) { return "Data " + x; },
+         name: function(name, ratio, id, index) { return name; },
+
+         // If data row contains multiple or ranged(ex. candlestick, area range, etc.) value,
+         // formatter will be called as value length times.
+         value: function(value, ratio, id, index) { return ratio; }
+     },
+     position: function(data, width, height, element, pos) {
+         // data: [{x, index, id, name, value}, ...]
+         // width: Tooltip width
+         // height: Tooltip height
+         // element: Tooltip event bound element
+         // pos: {
+         //   x: Current mouse event x position,
+         //   y: Current mouse event y position,
+         //   xAxis: Current x Axis position (the value is given for axis based chart type only)
+         //   yAxis: Current y Axis position value or function(the value is given for axis based chart type only)
+         // }
+
+         // yAxis will work differently per data lenghts
+         // - a) Single data: `yAxis` will return `number` value
+         // - b) Multiple data: `yAxis` will return a function with property value
+
+         // a) Single data:
+         // Get y coordinate
+         pos.yAxis; // y axis coordinate value of current data point
+
+         // b) Multiple data:
+         // Get y coordinate of value 500, where 'data1' scales(y or y2).
+         // When 'data.axes' option is used, data can bound to different axes.
+         // - when "data.axes={data1: 'y'}", wil return y value from y axis scale.
+         // - when "data.axes={data1: 'y2'}", wil return y value from y2 axis scale.
+         pos.yAxis(500, "data1"); // will return y coordinate value of data1
+
+         pos.yAxis(500); // get y coordinate with value of 500, using y axis scale
+         pos.yAxis(500, null, "y2"); // get y coordinate with value of 500, using y2 axis scale
+
+         return {
+           top: 0,
+           left: 0
+         }
+     },
+
+     contents: function(d, defaultTitleFormat, defaultValueFormat, color) {
+         return ... // formatted html as you want
+     },
+
+      // specify tooltip contents using template
+      // - example of HTML returned:
+      // <ul class="bb-tooltip">
+      //   <li class="bb-tooltip-name-data1"><span>250</span><br><span style="color:#00c73c">data1</span></li>
+      //   <li class="bb-tooltip-name-data2"><span>50</span><br><span style="color:#fa7171">data2</span></li>
+      // </ul>
+      contents: {
+     	bindto: "#tooltip",
+     	template: '<ul class={=CLASS_TOOLTIP}>{{' +
+     			'<li class="{=CLASS_TOOLTIP_NAME}"><span>{=VALUE}</span><br>' +
+     			'<span style=color:{=COLOR}>{=NAME}</span></li>' +
+     		'}}</ul>'
+     }
+
+      // with additional text value
+      // - example of HTML returned:
+      // <ul class="bb-tooltip">
+      //   <li class="bb-tooltip-name-data1"><span>250</span><br>comment1<span style="color:#00c73c">data1</span>text1</li>
+      //   <li class="bb-tooltip-name-data2"><span>50</span><br>comment2<span style="color:#fa7171">data2</span>text2</li>
+      // </ul>
+      contents: {
+     	bindto: "#tooltip",
+     	text: {
+     		// a) 'key' name is used as substitution within template as '{=KEY}'
+     		// b) the length should match with the data length
+     		VAR1: ["text1", "text2"],
+     		VAR2: ["comment1", "comment2"],
+     	},
+     	template: '<ul class={=CLASS_TOOLTIP}>{{' +
+     			'<li class="{=CLASS_TOOLTIP_NAME}"><span>{=VALUE}</span>{=VAR2}<br>' +
+     			'<span style=color:{=COLOR}>{=NAME}</span>{=VAR1}</li>' +
+     		'}}</ul>'
+     }
+
+     // sort tooltip data value display in ascending order
+     order: "asc",
+
+     // specifying sort function
+     order: function(a, b) {
+        // param data passed format
+        {x: 5, value: 250, id: "data1", index: 5, name: "data1"}
+          ...
+     },
+
+     // show at the initialization
+     init: {
+         show: true,
+         x: 2, // x Axis index (or index for Arc(donut, gauge, pie) types)
+         position: {
+             top: "150px",  // specify as number or as string with 'px' unit string
+             left: 250  // specify as number or as string with 'px' unit string
+         }
+     },
+
+     // fires prior tooltip is shown
+     onshow: function(selectedData) {
+     	// current dataset selected
+     	// ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...]
+     	selectedData;
+     },
+
+     // fires prior tooltip is hidden
+     onhide: function(selectedData) {
+     	// current dataset selected
+     	// ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...]
+     	selectedData;
+     },
+
+     // fires after tooltip is shown
+     onshown: function(selectedData) {
+     	// current dataset selected
+     	// ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...]
+     	selectedData;
+     },
+
+     // fires after tooltip is hidden
+     onhidden: function(selectedData) {
+     	// current dataset selected
+     	// ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...]
+     	selectedData;
+     },
+
+     // Link any tooltips when multiple charts are on the screen where same x coordinates are available
+     // Useful for timeseries correlation
+     linked: true,
+
+     // Specify name to interact those with the same name only.
+     linked: {
+         name: "some-group"
+     }
+ }
+ + + + + +

(static) transition :object

+ + + + + +
+ +
Description:
+
  • Set duration of transition (in milliseconds) for chart animation.

    +
      +
    • NOTE: If 0 or null set, transition will be skipped. So, this makes initial rendering faster especially in case you have a lot of data.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
transition + + +object + + + + + + + <optional>
+ + + +

transition object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
duration + + +number + + + + + + + <optional>
+ + + +
+ + 350 + +

duration in milliseconds

+ +
+ + + + + + +
+

Set duration of transition (in milliseconds) for chart animation.

+
    +
  • NOTE: If 0 or null set, transition will be skipped. So, this makes initial rendering faster especially in case you have a lot of data.
  • +
+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
transition: {
+   duration: 500
+}
+ + + + + +

(static) treemap :object

+ + + + + +
+ +
Description:
+
  • Set treemap options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
treemap + + +object + + + + +

Treemap object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
tile + + +string + + + + + + + <optional>
+ + + +
+ + "binary" + +

Treemap tile type

+
label.format + + +function + + + + + + + <optional>
+ + + +
+ +

Set formatter for the label text.

label.threshold + + +number + + + + + + + <optional>
+ + + +
+ + 0.05 + +

Set threshold ratio to show/hide labels text.

label.show + + +number + + + + + + + <optional>
+ + + +
+ + true + +

Show or hide label text.

+ +
+ + + + + + +
+

Set treemap options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
treemap: {
+     // "binary", "dice", "slice", "sliceDice", "squrify", "resquarify"
+     tile: "dice",
+
+     label: {
+         // show or hide label text
+         show: false,
+
+         // set label text formatter
+         format: function(value, ratio, id) {
+             return d3.format("$")(value);
+
+             // to multiline, return with '\n' character
+             // return value +"%\nLine1\n2Line2";
+         },
+
+         // set ratio number
+         ratio: 0.05
+     }
+ }
+ + + + + +

(static) zoom :object

+ + + + + +
+ +
Description:
+
  • Set zoom options

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
zoom + + +object + + + + +

Zoom object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
enabled + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Enable zooming.

+
    +
  • NOTE: for ESM imports, needs to import 'zoom' exports and instantiate it by calling zoom(). +
      +
    • enabled: zoom()
    • +
    +
  • +
type + + +string + + + + + + + <optional>
+ + + +
+ + 'wheel' + +

Set zoom interaction type.

+
    +
  • Available types: +
      +
    • wheel
    • +
    • drag
    • +
    +
  • +
rescale + + +boolean + + + + + + + <optional>
+ + + +
+ + false + +

Enable to rescale after zooming.
+If true set, y domain will be updated according to the zoomed region.

extent + + +Array + + + + + + + <optional>
+ + + +
+ + [1, 10] + +

Change zoom extent.

x.min + + +number +| + +Date + + + + + + + <optional>
+ + + +
+ +

Set x Axis minimum zoom range

x.max + + +number +| + +Date + + + + + + + <optional>
+ + + +
+ +

Set x Axis maximum zoom range

onzoomstart + + +function + + + + + + + <optional>
+ + + +
+ +

Set callback that is called when zooming starts.
+Specified function receives the zoom event.

onzoom + + +function + + + + + + + <optional>
+ + + +
+ +

Set callback that is called when the chart is zooming.
+Specified function receives the zoomed domain.

onzoomend + + +function + + + + + + + <optional>
+ + + +
+ +

Set callback that is called when zooming ends.
+Specified function receives the zoomed domain.

resetButton + + +boolean +| + +object + + + + + + + <optional>
+ + + +
+ + true + +

Set to display zoom reset button for 'drag' type zoom

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
onclick + + +function + + + + + + + <optional>
+ + + +
+ +

Set callback when clicks the reset button. The callback will receive reset button element reference as argument.

text + + +string + + + + + + + <optional>
+ + + +
+ + 'Reset Zoom' + +

Text value for zoom reset button.

+ +
+ +
+ + + + + + +
+

Set zoom options

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Examples
+ +
zoom: {
+     enabled: true,
+     type: "drag",
+     rescale: true,
+     extent: [1, 100]  // enable more zooming
+     x: {
+         min: -1,  // set min range
+         max: 10  // set max range
+     },
+     onzoomstart: function(event) { ... },
+     onzoom: function(domain) { ... },
+     onzoomend: function(domain) { ... },
+
+     // show reset button when is zoomed-in
+     resetButton: true,
+
+     resetButton: {
+         // onclick callback when reset button is clicked
+         onclick: function(button) {
+           button; // Reset button element reference
+           ...
+         },
+
+         // customized text value for reset zoom button
+         text: "Unzoom"
+     }
+ }
+ +
// importing ESM
+import bb, {zoom} from "billboard.js";
+
+zoom: {
+     enabled: zoom(),
+     ...
+}
+ + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/3.14.2/doc/Plugin.html b/release/3.14.2/doc/Plugin.html new file mode 100644 index 000000000..b9722f9fb --- /dev/null +++ b/release/3.14.2/doc/Plugin.html @@ -0,0 +1,295 @@ + + + + + + Plugin - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Plugin

+ + + + + + + +
+ +
+ +

+ + Plugin + +

+ + +
+ +
+ +
+ + + + + +

new Plugin()

+ + + + + + +
+ +
Description:
+
  • Base class to generate billboard.js plugin

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +

Members

+ + + +

(static) version :string

+ + + + + +
+ +
Description:
+
  • Version info string for plugin

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+

Version info string for plugin

+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
bb.plugin.stanford.version;  // ex) 1.9.0
+ + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/3.14.2/doc/Plugin_Plugin.ts.html b/release/3.14.2/doc/Plugin_Plugin.ts.html new file mode 100644 index 000000000..e7a04947f --- /dev/null +++ b/release/3.14.2/doc/Plugin_Plugin.ts.html @@ -0,0 +1,152 @@ + + + + + + Plugin/Plugin.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Plugin/Plugin.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * Base class to generate billboard.js plugin
+ * @class Plugin
+ */
+/**
+ * Version info string for plugin
+ * @name version
+ * @static
+ * @memberof Plugin
+ * @type {string}
+ * @example
+ *   bb.plugin.stanford.version;  // ex) 1.9.0
+ */
+export default class Plugin {
+	public $$;
+	public options;
+	static version = "__VERSION__";
+
+	/**
+	 * Constructor
+	 * @param {Any} options config option object
+	 * @private
+	 */
+	constructor(options = {}) {
+		this.options = options;
+	}
+
+	/**
+	 * Lifecycle hook for 'beforeInit' phase.
+	 * @private
+	 */
+	$beforeInit() {}
+
+	/**
+	 * Lifecycle hook for 'init' phase.
+	 * @private
+	 */
+	$init() {}
+
+	/**
+	 * Lifecycle hook for 'afterInit' phase.
+	 * @private
+	 */
+	$afterInit() {}
+
+	/**
+	 * Lifecycle hook for 'redraw' phase.
+	 * @private
+	 */
+	$redraw() {}
+
+	/**
+	 * Lifecycle hook for 'willDestroy' phase.
+	 * @private
+	 */
+	$willDestroy() {
+		Object.keys(this).forEach(key => {
+			this[key] = null;
+			delete this[key];
+		});
+	}
+}
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Plugin_bubblecompare_Options.ts.html b/release/3.14.2/doc/Plugin_bubblecompare_Options.ts.html new file mode 100644 index 000000000..43bf226ec --- /dev/null +++ b/release/3.14.2/doc/Plugin_bubblecompare_Options.ts.html @@ -0,0 +1,136 @@ + + + + + + Plugin/bubblecompare/Options.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Plugin/bubblecompare/Options.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * Bubble compare plugin option class
+ * @class BubblecompareOptions
+ * @param {Options} options Bubblecompare plugin options
+ * @augments Plugin
+ * @returns {BubblecompareOptions}
+ * @private
+ */
+export default class Options {
+	constructor() {
+		return {
+			/**
+			 * Set minimum size of bubble radius. (px)
+			 * @name minR
+			 * @memberof plugin-bubblecompare
+			 * @type {number}
+			 * @default 11
+			 * @example
+			 *   minR: 11
+			 */
+			minR: 11,
+
+			/**
+			 * Set maximum size of bubble radius. (px)
+			 * @name maxR
+			 * @memberof plugin-bubblecompare
+			 * @type {number}
+			 * @default 11
+			 * @example
+			 *   maxR: 74
+			 */
+			maxR: 11,
+
+			/**
+			 * Specify bubble expand ratio when focused
+			 * @name expandScale
+			 * @memberof plugin-bubblecompare
+			 * @type {number}
+			 * @default 1
+			 * @example
+			 *   expandScale: 1.2
+			 */
+			expandScale: 1
+		};
+	}
+}
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Plugin_bubblecompare_index.ts.html b/release/3.14.2/doc/Plugin_bubblecompare_index.ts.html new file mode 100644 index 000000000..287876d7f --- /dev/null +++ b/release/3.14.2/doc/Plugin_bubblecompare_index.ts.html @@ -0,0 +1,202 @@ + + + + + + Plugin/bubblecompare/index.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Plugin/bubblecompare/index.ts

+ + + + + + + +
+
+
import {select as d3Select} from "d3-selection";
+import Plugin from "../Plugin";
+
+/**
+ * Bubble compare diagram plugin.<br>
+ * Compare data 3-dimensional ways: x-axis, y-axis & bubble-size.
+ * - **NOTE:**
+ *   - Plugins aren't built-in. Need to be loaded or imported to be used.
+ *   - Non required modules from billboard.js core, need to be installed separately.
+ * - **Required modules:**
+ *   - [d3-selection](https://github.com/d3/d3-selection)
+ * @class plugin-bubblecompare
+ * @requires d3-selection
+ * @param {object} options bubble compare plugin options
+ * @augments Plugin
+ * @returns {BubbleCompare}
+ * @example
+ * // Plugin must be loaded before the use.
+ * <script src="$YOUR_PATH/plugin/billboardjs-plugin-bubblecompare.js"></script>
+ *
+ *  var chart = bb.generate({
+ *     data: {
+ *        columns: [ ... ],
+ *        type: "bubble"
+ *     }
+ *     ...
+ *     plugins: [
+ *        new bb.plugin.bubblecompare({
+ *          minR: 11,
+ *          maxR: 74,
+ *          expandScale: 1.1
+ *        }),
+ *     ]
+ *  });
+ * @example
+ * import {bb} from "billboard.js";
+ * import BubbleCompare from "billboard.js/dist/billboardjs-plugin-bubblecompare";
+ *
+ * bb.generate({
+ *     plugins: [
+ *        new BubbleCompare({ ... })
+ *     ]
+ * })
+ */
+
+export default class BubbleCompare extends Plugin {
+	static version = `0.0.1`;
+	public $$;
+
+	constructor(options) {
+		super(options);
+
+		return this;
+	}
+
+	$init(): void {
+		const {$$} = this;
+
+		$$.findClosest = this.findClosest.bind(this);
+		$$.getBubbleR = this.getBubbleR.bind(this);
+		$$.pointExpandedR = this.pointExpandedR.bind(this);
+	}
+
+	pointExpandedR(d): number {
+		const baseR = this.getBubbleR(d);
+		const {expandScale = 1} = this.options;
+
+		BubbleCompare.raiseFocusedBubbleLayer(d);
+		this.changeCursorPoint();
+
+		return baseR * expandScale;
+	}
+
+	static raiseFocusedBubbleLayer(d): void {
+		d.raise && d3Select(d.node().parentNode.parentNode).raise();
+	}
+
+	changeCursorPoint(): void {
+		this.$$.$el.eventRect.style("cursor", "pointer");
+	}
+
+	findClosest(values, pos): number {
+		const {$$} = this;
+
+		return values
+			.filter(v => v && !$$.isBarType(v.id))
+			.reduce((acc, cur) => {
+				const d = $$.dist(cur, pos);
+
+				return d < this.getBubbleR(cur) ? cur : acc;
+			}, 0);
+	}
+
+	getBubbleR(d): number {
+		const {minR, maxR} = this.options;
+		const curVal = this.getZData(d);
+
+		if (!curVal) return minR;
+
+		const [min, max] = this.$$.data.targets.reduce(
+			([accMin, accMax], cur) => {
+				const val = this.getZData(cur.values[0]);
+
+				return [Math.min(accMin, val), Math.max(accMax, val)];
+			},
+			[10000, 0]
+		);
+		const size = min > 0 && max === min ? 0 : curVal / max;
+
+		return Math.abs(size) * (maxR - minR) + minR;
+	}
+
+	getZData(d): number {
+		return this.$$.isBubbleZType(d) ? this.$$.getBubbleZData(d.value, "z") : d.value;
+	}
+}
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Plugin_sparkline_Options.ts.html b/release/3.14.2/doc/Plugin_sparkline_Options.ts.html new file mode 100644 index 000000000..640936718 --- /dev/null +++ b/release/3.14.2/doc/Plugin_sparkline_Options.ts.html @@ -0,0 +1,115 @@ + + + + + + Plugin/sparkline/Options.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Plugin/sparkline/Options.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2021 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * Sparkline plugin option class
+ * @class SparklineOptions
+ * @param {Options} options Sparkline plugin options
+ * @augments Plugin
+ * @returns {TableviewOptions}
+ * @private
+ */
+export default class Options {
+	constructor() {
+		return {
+			/**
+			 * Specify sparkline charts holder selector.
+			 * - **NOTE:** The amount of holder should match with the amount of data. If has less, will append necessaray amount nodes as sibling of main chart.
+			 * @name selector
+			 * @memberof plugin-sparkline
+			 * @type {string}
+			 * @default undefined
+			 * @example
+			 *   selector: ".sparkline"
+			 */
+			selector: undefined
+		};
+	}
+}
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Plugin_sparkline_index.ts.html b/release/3.14.2/doc/Plugin_sparkline_index.ts.html new file mode 100644 index 000000000..df537cd30 --- /dev/null +++ b/release/3.14.2/doc/Plugin_sparkline_index.ts.html @@ -0,0 +1,381 @@ + + + + + + Plugin/sparkline/index.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Plugin/sparkline/index.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2021 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import type {IData} from "../../ChartInternal/data/IData";
+import {$COMMON} from "../../config/classes";
+import {loadConfig} from "../../config/config";
+import Plugin from "../Plugin";
+import Options from "./Options";
+
+/**
+ * Sparkline plugin.<br>
+ * Generates sparkline charts
+ * - **NOTE:**
+ *   - Plugins aren't built-in. Need to be loaded or imported to be used.
+ *   - Non required modules from billboard.js core, need to be installed separately.
+ *
+ * - **Bear in mind:**
+ * - Use this plugin to visualize multiple tiny chart only and chart APIs won't work properly.
+ * - Sparkline chart size will be based on the main chart element size. To control spakrline charts, is highly recommended to set `size` option.
+ * - Bubble, scatter and Arc(pie, donut, ratdar) types aren't supported.
+ * - Some options will be stricted to be:
+ *   - `resize.auto = false`
+ *   - `axis.x.show = false`
+ *   - `axis.y.show = false`
+ *   - `axis.y.padding = 10`
+ *   - `legend.show = false`
+ *
+ * @class plugin-sparkline
+ * @param {object} options sparkline plugin options
+ * @augments Plugin
+ * @returns {Sparkline}
+ * @example
+ * // Plugin must be loaded before the use.
+ * <script src="$YOUR_PATH/plugin/billboardjs-plugin-sparkline.js"></script>
+ *
+ *  var chart = bb.generate({
+ *     ...
+ *     plugins: [
+ *        	new bb.plugin.sparkline({
+ *        	  selector: ".sparkline"
+ *        	}),
+ *     ]
+ *  });
+ * @example
+ * import {bb} from "billboard.js";
+ * import Sparkline from "billboard.js/dist/billboardjs-plugin-sparkline";
+ *
+ * bb.generate({
+ *     ...
+ *     plugins: [
+ *        new Sparkline({ ... })
+ *     ]
+ * })
+ */
+export default class Sparkline extends Plugin {
+	static version = `0.0.1`;
+	private config;
+	private element;
+
+	constructor(options) {
+		super(options);
+		this.config = new Options();
+
+		return this;
+	}
+
+	$beforeInit(): void {
+		loadConfig.call(this, this.options);
+
+		this.validate();
+		this.element = [].slice.call(document.querySelectorAll(this.config.selector));
+
+		// override internal methods
+		this.overrideInternals();
+
+		// override options
+		this.overrideOptions();
+
+		// bind event handlers's context
+		this.overHandler = this.overHandler.bind(this);
+		this.moveHandler = this.moveHandler.bind(this);
+		this.outHandler = this.outHandler.bind(this);
+	}
+
+	validate(): void {
+		const {$$, config} = this;
+		let msg = "";
+
+		if (!config.selector || !document.querySelector(config.selector)) {
+			msg = "No holder elements found from given selector option.";
+		}
+
+		if ($$.hasType("bubble") || $$.hasType("scatter") || $$.hasArcType($$.data.targets)) {
+			msg = "Contains non supported chart types.";
+		}
+
+		if (msg) {
+			throw new Error(`[Sparkline plugin] ${msg}`);
+		}
+	}
+
+	overrideInternals(): void {
+		const {$$} = this;
+		const {getBarW, getIndices} = $$;
+
+		// override internal methods to positioning bars
+		$$.getIndices = function(indices, d, caller) {
+			return caller === "getShapeX" ? {} : getIndices.call(this, indices, d);
+		};
+
+		$$.getBarW = function(type, axis) {
+			return getBarW.call(this, type, axis, 1);
+		};
+	}
+
+	overrideOptions(): void {
+		const {config} = this.$$;
+
+		config.legend_show = false;
+		config.resize_auto = false;
+		config.axis_x_show = false;
+
+		// set default axes padding
+		if (config.padding !== false) {
+			const hasOption = o => Object.keys(o || {}).length > 0;
+
+			if (hasOption(config.axis_x_padding)) {
+				config.axis_x_padding = {
+					left: 15,
+					right: 15,
+					unit: "px"
+				};
+			}
+
+			if (hasOption(config.axis_y_padding)) {
+				config.axis_y_padding = 5;
+			}
+		}
+
+		config.axis_y_show = false;
+
+		if (!config.tooltip_position) {
+			config.tooltip_position = function(data, width, height) {
+				const {internal: {state: {event}}} = this;
+				let top = event.pageY - (height * 1.35);
+				let left = event.pageX - (width / 2);
+
+				if (top < 0) {
+					top = 0;
+				}
+
+				if (left < 0) {
+					left = 0;
+				}
+
+				return {top, left};
+			};
+		}
+	}
+
+	$init(): void {
+		const {$$: {$el}} = this;
+
+		// make disable-ish main chart element
+		$el.chart
+			.style("width", "0")
+			.style("height", "0")
+			.style("pointer-events", "none");
+
+		$el.tooltip?.node() && document.body.appendChild($el.tooltip.node());
+	}
+
+	$afterInit(): void {
+		const {$$} = this;
+
+		$$.$el.svg.attr("style", null)
+			.style("width", "0")
+			.style("height", "0");
+
+		this.bindEvents(true);
+	}
+
+	/**
+	 * Bind tooltip event handlers for each sparkline elements.
+	 * @param {boolean} bind or unbind
+	 * @private
+	 */
+	bindEvents(bind = true): void {
+		const {$$: {config}} = this;
+
+		if (config.interaction_enabled && config.tooltip_show) {
+			const method = `${bind ? "add" : "remove"}EventListener`;
+
+			this.element
+				.forEach(el => {
+					const svg = el.querySelector("svg");
+
+					svg[method]("mouseover", this.overHandler);
+					svg[method]("mousemove", this.moveHandler);
+					svg[method]("mouseout", this.outHandler);
+				});
+		}
+	}
+
+	overHandler(e): void {
+		const {$$} = this;
+		const {state: {eventReceiver}} = $$;
+
+		eventReceiver.rect = e.target.getBoundingClientRect();
+	}
+
+	moveHandler(e): void {
+		const {$$} = this;
+		const index = $$.getDataIndexFromEvent(e);
+		const data = $$.api.data(e.target.__id)?.[0] as IData;
+		const d = data?.values?.[index];
+
+		if (d && !d.name) {
+			d.name = d.id;
+		}
+
+		$$.state.event = e;
+
+		if ($$.isPointFocusOnly?.() && d) {
+			$$.showCircleFocus?.([d]);
+		}
+
+		$$.setExpand(index, data.id, true);
+		$$.showTooltip([d], e.target);
+	}
+
+	outHandler(e): void {
+		const {$$} = this;
+
+		$$.state.event = e;
+
+		$$.isPointFocusOnly() ? $$.hideCircleFocus() : $$.unexpandCircles();
+
+		$$.hideTooltip();
+	}
+
+	$redraw(): void {
+		const {$$} = this;
+		const {$el} = $$;
+
+		let el = this.element;
+		const data = $$.api.data();
+		const svgWrapper = $el.chart.html().match(/<svg[^>]*>/)?.[0];
+
+		// append sparkline holder if is less than the data length
+		if (el.length < data.length) {
+			const chart = $el.chart.node();
+
+			for (let i = data.length - el.length; i > 0; i--) {
+				chart.parentNode.insertBefore(el[0].cloneNode(), chart.nextSibling);
+			}
+
+			this.element = document.querySelectorAll(this.config.selector);
+			el = this.element;
+		}
+
+		data.map(v => v.id)
+			.forEach((id, i) => {
+				const selector = `.${$COMMON.target}-${id}`;
+				const shape = $el.main.selectAll(selector);
+				let svg = el[i].querySelector("svg");
+
+				if (!svg) {
+					el[i].innerHTML = `${svgWrapper}</svg>`;
+					svg = el[i].querySelector("svg");
+					svg.__id = id;
+				}
+
+				if (!svg.querySelector(selector)) {
+					shape.style("opacity", null);
+				}
+
+				shape
+					.style("fill", "none")
+					.style("opacity", null);
+
+				svg.innerHTML = "";
+				svg.appendChild(shape.node());
+			});
+	}
+
+	$willDestroy(): void {
+		this.bindEvents(false);
+		this.element
+			.forEach(el => {
+				el.innerHTML = "";
+			});
+	}
+}
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Plugin_stanford_Options.ts.html b/release/3.14.2/doc/Plugin_stanford_Options.ts.html new file mode 100644 index 000000000..74da7530d --- /dev/null +++ b/release/3.14.2/doc/Plugin_stanford_Options.ts.html @@ -0,0 +1,235 @@ + + + + + + Plugin/stanford/Options.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Plugin/stanford/Options.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * Stanford diagram plugin option class
+ * @class StanfordOptions
+ * @param {Options} options Stanford plugin options
+ * @augments Plugin
+ * @returns {StanfordOptions}
+ * @private
+ */
+export default class Options {
+	constructor() {
+		return {
+			/**
+			 * Set the color of the color scale. This function receives a value between 0 and 1, and should return a color.
+			 * @name colors
+			 * @memberof plugin-stanford
+			 * @type {Function}
+			 * @default undefined
+			 * @example
+			 *   colors: d3.interpolateHslLong(
+			 *      d3.hsl(250, 1, 0.5), d3.hsl(0, 1, 0.5)
+			 *   )
+			 */
+			colors: undefined,
+
+			/**
+			 * Specify the key of epochs values in the data.
+			 * @name epochs
+			 * @memberof plugin-stanford
+			 * @type {Array}
+			 * @default []
+			 * @example
+			 * 	epochs: [ 1, 1, 2, 2, ... ]
+			 */
+			epochs: <number[]>[],
+
+			/**
+			 * Show additional lines anywhere on the chart.
+			 * - Each line object should consist with following options:
+			 *
+			 * | Key | Type | Description |
+			 * | --- | --- | --- |
+			 * | x1 | Number | Starting position on the x axis |
+			 * | y1 | Number | Starting position on the y axis |
+			 * | x2 | Number | Ending position on the x axis  |
+			 * | y2 | Number | Ending position on the y axis |
+			 * | class | String | Optional value. Set a custom css class to this line. |
+			 * @type {Array}
+			 * @memberof plugin-stanford
+			 * @default []
+			 * @example
+			 *   lines: [
+			 *       { x1: 0, y1: 0, x2: 65, y2: 65, class: "line1" },
+			 *       { x1: 0, x2: 65, y1: 40, y2: 40, class: "line2" }
+			 *   ]
+			 */
+			lines: [],
+
+			/**
+			 * Set scale values
+			 * @name scale
+			 * @memberof plugin-stanford
+			 * @type {object}
+			 * @property {object} [scale] scale object
+			 * @property {number} [scale.min=undefined] Minimum value of the color scale. Default: lowest value in epochs
+			 * @property {number} [scale.max=undefined] Maximum value of the color scale. Default: highest value in epochs
+			 * @property {number} [scale.width=20] Width of the color scale
+			 * @property {string|Function} [scale.format=undefined] Format of the axis of the color scale. Use 'pow10' to format as powers of 10 or a custom function. Example: d3.format("d")
+			 * @example
+			 *  scale: {
+			 *    max: 10000,
+			 *    min: 1,
+			 *    width: 500,
+			 *
+			 *    // specify 'pow10' to format as powers of 10
+			 *    format: "pow10",
+			 *
+			 *    // or specify a format function
+			 *    format: function(x) {
+			 *    	return x +"%";
+			 *    }
+			 *  },
+			 */
+			scale_min: <number | undefined>undefined,
+			scale_max: <number | undefined>undefined,
+			scale_width: <number | undefined>20,
+			scale_format: <number | undefined>undefined,
+
+			/**
+			 * The padding for color scale element
+			 * @name padding
+			 * @memberof plugin-stanford
+			 * @type {object}
+			 * @property {object} [padding] padding object
+			 * @property {number} [padding.top=0] Top padding value.
+			 * @property {number} [padding.right=0] Right padding value.
+			 * @property {number} [padding.bottom=0] Bottom padding value.
+			 * @property {number} [padding.left=0] Left padding value.
+			 * @example
+			 *  padding: {
+			 *     top: 15,
+			 *     right: 0,
+			 *     bottom: 0,
+			 *     left: 0
+			 *  },
+			 */
+			padding_top: 0,
+			padding_right: 0,
+			padding_bottom: 0,
+			padding_left: 0,
+
+			/**
+			 * Show additional regions anywhere on the chart.
+			 * - Each region object should consist with following options:
+			 *
+			 *   | Key | Type | Default | Attributes | Description |
+			 *   | --- | --- | --- | --- | --- |
+			 *   | points | Array |  | | Accepts a group of objects that has x and y.<br>These points should be added in a counter-clockwise fashion to make a closed polygon. |
+			 *   | opacity | Number | `0.2` | &lt;optional> | Sets the opacity of the region as value between 0 and 1 |
+			 *   | text | Function |  | &lt;optional> | This function receives a value and percentage of the number of epochs in this region.<br>Return a string to place text in the middle of the region. |
+			 *   | class | String | | &lt;optional> | Se a custom css class to this region, use the fill property in css to set a background color. |
+			 * @name regions
+			 * @memberof plugin-stanford
+			 * @type {Array}
+			 * @default []
+			 * @example
+			 *   regions: [
+			 *       {
+			 *           points: [ // add points counter-clockwise
+			 *               { x: 0, y: 0 },
+			 *               { x: 40, y: 40 },
+			 *               { x: 0, y: 40 },
+			 *           ],
+			 *           text: function (value, percentage) {
+			 *               return `Normal Operations: ${value} (${percentage}%)`;
+			 *           },
+			 *           opacity: 0.2, // 0 to 1
+			 *           class: "test-polygon1"
+			 *       },
+			 *       ...
+			 *   ]
+			 */
+			regions: []
+		};
+	}
+}
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Plugin_stanford_index.ts.html b/release/3.14.2/doc/Plugin_stanford_index.ts.html new file mode 100644 index 000000000..96126d669 --- /dev/null +++ b/release/3.14.2/doc/Plugin_stanford_index.ts.html @@ -0,0 +1,347 @@ + + + + + + Plugin/stanford/index.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Plugin/stanford/index.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+// @ts-nocheck
+import {hsl as d3Hsl} from "d3-color";
+import {interpolateHslLong as d3InterpolateHslLong} from "d3-interpolate";
+import {scaleSequentialLog as d3ScaleSequentialLog} from "d3-scale";
+import {$TOOLTIP} from "../../config/classes";
+import {loadConfig} from "../../config/config";
+import Plugin from "../Plugin";
+import ColorScale from "./ColorScale";
+import Elements from "./Elements";
+import Options from "./Options";
+import {compareEpochs, isEmpty, isFunction, pointInRegion} from "./util";
+
+/**
+ * Stanford diagram plugin
+ * - **NOTE:**
+ *   - Plugins aren't built-in. Need to be loaded or imported to be used.
+ *   - Non required modules from billboard.js core, need to be installed separately.
+ *   - Is preferable use `scatter` as data.type
+ * - **Required modules:**
+ *   - [d3-selection](https://github.com/d3/d3-selection)
+ *   - [d3-interpolate](https://github.com/d3/d3-interpolate)
+ *   - [d3-color](https://github.com/d3/d3-color)
+ *   - [d3-scale](https://github.com/d3/d3-scale)
+ *   - [d3-brush](https://github.com/d3/d3-brush)
+ *   - [d3-axis](https://github.com/d3/d3-axis)
+ *   - [d3-format](https://github.com/d3/d3-format)
+ * @class plugin-stanford
+ * @requires d3-selection
+ * @requires d3-interpolate
+ * @requires d3-color
+ * @requires d3-scale
+ * @requires d3-brush
+ * @requires d3-axis
+ * @requires d3-format
+ * @param {object} options Stanford plugin options
+ * @augments Plugin
+ * @returns {Stanford}
+ * @example
+ * // Plugin must be loaded before the use.
+ * <script src="$YOUR_PATH/plugin/billboardjs-plugin-stanford.js"></script>
+ *
+ *  var chart = bb.generate({
+ *     data: {
+ *        columns: [ ... ],
+ *        type: "scatter"
+ *     }
+ *     ...
+ *     plugins: [
+ *        new bb.plugin.stanford({
+ *           colors: d3.interpolateHslLong(
+ *              d3.hsl(250, 1, 0.5), d3.hsl(0, 1, 0.5)
+ *           ),
+ *           epochs: [ 1, 1, 2, 2, ... ],
+ *           lines: [
+ *                  { x1: 0, y1: 0, x2: 65, y2: 65, class: "line1" },
+ *                  { x1: 0, x2: 65, y1: 40, y2: 40, class: "line2" }
+ *           ],
+ *           scale: {
+ *           	max: 10000,
+ *             	min: 1,
+ *           	width: 500,
+ *             	format: 'pow10',
+ *           },
+ *           padding: {
+ *           	top: 15,
+ *           	right: 0,
+ *           	bottom: 0,
+ *           	left: 0
+ *           },
+ *           regions: [
+ *           	{
+ *               	points: [ // add points counter-clockwise
+ *               	    { x: 0, y: 0 },
+ *               	    { x: 40, y: 40 },
+ *               	    { x: 0, y: 40 }
+ *               	],
+ *               	text: function (value, percentage) {
+ *               	    return `Normal Operations: ${value} (${percentage}%)`;
+ *               	},
+ *               	opacity: 0.2, // 0 to 1
+ *               	class: "test-polygon1"
+ *              },
+ *             	...
+ *           ]
+ *        }
+ *     ]
+ *  });
+ * @example
+ * 	import {bb} from "billboard.js";
+ * import Stanford from "billboard.js/dist/billboardjs-plugin-stanford";
+ *
+ * bb.generate({
+ *     plugins: [
+ *        new Stanford({ ... })
+ *     ]
+ * })
+ */
+export default class Stanford extends Plugin {
+	private config;
+	private colorScale;
+	private elements;
+
+	constructor(options) {
+		super(options);
+		this.config = new Options();
+
+		return this;
+	}
+
+	$beforeInit(): void {
+		const {$$} = this;
+
+		// override on config values & methods
+		$$.config.data_xSort = false;
+		$$.isMultipleX = () => true;
+		$$.showGridFocus = () => {};
+		$$.labelishData = d => d.values;
+		$$.opacityForCircle = () => 1;
+
+		const getCurrentPadding = $$.getCurrentPadding.bind($$);
+
+		$$.getCurrentPadding = () => {
+			const padding = getCurrentPadding();
+
+			padding.right += this.colorScale ? this.colorScale.getColorScalePadding() : 0;
+
+			return padding;
+		};
+	}
+
+	$init(): void {
+		const {$$} = this;
+
+		loadConfig.call(this, this.options);
+		$$.color = this.getStanfordPointColor.bind($$);
+
+		this.colorScale = new ColorScale(this);
+		this.elements = new Elements(this);
+
+		this.convertData();
+		this.initStanfordData();
+		this.setStanfordTooltip();
+		this.colorScale.drawColorScale();
+
+		$$.right += this.colorScale ? this.colorScale.getColorScalePadding() : 0;
+
+		this.$redraw();
+	}
+
+	$redraw(duration?: number): void {
+		this.colorScale?.drawColorScale();
+		this.elements?.updateStanfordElements(duration);
+	}
+
+	getOptions(): Options {
+		return new Options();
+	}
+
+	convertData(): void {
+		const data = this.$$.data.targets;
+		const epochs = this.options.epochs;
+
+		data.forEach(d => {
+			d.values.forEach((v, i) => {
+				v.epochs = epochs[i];
+			});
+
+			d.minEpochs = undefined;
+			d.maxEpochs = undefined;
+			d.colors = undefined;
+			d.colorscale = undefined;
+		});
+	}
+
+	initStanfordData(): void {
+		const {config} = this;
+		const target = this.$$.data.targets[0];
+
+		// TODO STANFORD see if (data.js -> orderTargets)+ can be used instead
+		// Make larger values appear on top
+		target.values.sort(compareEpochs);
+
+		// Get array of epochs
+		const epochs = target.values.map(a => a.epochs);
+
+		target.minEpochs = !isNaN(config.scale_min) ? config.scale_min : Math.min(...epochs);
+		target.maxEpochs = !isNaN(config.scale_max) ? config.scale_max : Math.max(...epochs);
+
+		target.colors = isFunction(config.colors) ?
+			config.colors :
+			d3InterpolateHslLong(d3Hsl(250, 1, 0.5), d3Hsl(0, 1, 0.5));
+
+		target.colorscale = d3ScaleSequentialLog(target.colors)
+			.domain([target.minEpochs, target.maxEpochs]);
+	}
+
+	getStanfordPointColor(d) {
+		const target = this.data.targets[0];
+
+		return target.colorscale(d.epochs);
+	}
+
+	setStanfordTooltip(): string | undefined {
+		const {config} = this.$$;
+
+		if (isEmpty(config.tooltip_contents)) {
+			config.tooltip_contents = function(d, defaultTitleFormat, defaultValueFormat, color) {
+				const {data_x} = config;
+				let html = `<table class="${$TOOLTIP.tooltip}"><tbody>`;
+
+				d.forEach(v => {
+					const {id = "", value = 0, epochs = 0, x = ""} = v;
+
+					html += `<tr>
+							<th>${data_x || ""}</th>
+							<th class="value">${defaultTitleFormat(x)}</th>
+						</tr>
+						<tr>
+							<th>${v.id}</th>
+							<th class="value">${defaultValueFormat(value)}</th>
+						</tr>
+						<tr class="${$TOOLTIP.tooltipName}-${id}">
+							<td class="name"><span style="background-color:${
+						color(v)
+					}"></span>Epochs</td>
+							<td class="value">${defaultValueFormat(epochs)}</td>
+						</tr>`;
+				});
+
+				return `${html}</tbody></table>`;
+			};
+		}
+	}
+
+	countEpochsInRegion(region): {value: number, percentage: number} {
+		const $$ = this;
+		const target = $$.data.targets[0];
+
+		const total = target.values.reduce(
+			(accumulator, currentValue) => accumulator + Number(currentValue.epochs),
+			0
+		);
+
+		const value = target.values.reduce((accumulator, currentValue) => {
+			if (pointInRegion(currentValue, region)) {
+				return accumulator + Number(currentValue.epochs);
+			}
+
+			return accumulator;
+		}, 0);
+
+		return {
+			value,
+			percentage: value !== 0 ? +(value / total * 100).toFixed(1) : 0
+		};
+	}
+}
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Plugin_tableview_Options.ts.html b/release/3.14.2/doc/Plugin_tableview_Options.ts.html new file mode 100644 index 000000000..fd3d71878 --- /dev/null +++ b/release/3.14.2/doc/Plugin_tableview_Options.ts.html @@ -0,0 +1,204 @@ + + + + + + Plugin/tableview/Options.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Plugin/tableview/Options.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2021 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * TableView plugin option class
+ * @class TableviewOptions
+ * @param {Options} options TableView plugin options
+ * @augments Plugin
+ * @returns {TableviewOptions}
+ * @private
+ */
+export default class Options {
+	constructor() {
+		return {
+			/**
+			 * Set tableview holder selector.
+			 * - **NOTE:** If not set, will append new holder element dynamically right after chart element.
+			 * @name selector
+			 * @memberof plugin-tableview
+			 * @type {string}
+			 * @default undefined
+			 * @example
+			 *   selector: "#table-holder"
+			 */
+			selector: undefined,
+
+			/**
+			 * Set category title text
+			 * @name categoryTitle
+			 * @memberof plugin-tableview
+			 * @type {string}
+			 * @default "Category"
+			 * @example
+			 *   categoryTitle: "#table-holder"
+			 */
+			categoryTitle: "Category",
+
+			/**
+			 * Set category text format function.
+			 * @name categoryFormat
+			 * @memberof plugin-tableview
+			 * @type {Function}
+			 * @returns {string}
+			 * @default function(v) { // will return formatted value according x Axis type }}
+			 * @example
+			 *   categoryFormat: "#table-holder"
+			 */
+			categoryFormat: function(v: Date | number | string): string {
+				let category = v;
+
+				if (this.$$.axis.isCategorized()) {
+					category = this.$$.categoryName(v);
+				} else if (this.$$.axis.isTimeSeries()) {
+					category = (v as Date).toLocaleDateString();
+				}
+
+				return category as string;
+			},
+
+			/**
+			 * Set tableview holder class name.
+			 * @name class
+			 * @memberof plugin-tableview
+			 * @type {string}
+			 * @default undefined
+			 * @example
+			 *   class: "table-class-name"
+			 */
+			class: undefined,
+
+			/**
+			 * Set to apply default style(`.bb-tableview`) to tableview element.
+			 * @name style
+			 * @memberof plugin-tableview
+			 * @type {boolean}
+			 * @default true
+			 * @example
+			 *   style: false
+			 */
+			style: true,
+
+			/**
+			 * Set tableview title text.
+			 * - **NOTE:** If set [title.text](https://naver.github.io/billboard.js/release/latest/doc/Options.html#.title), will be used when this option value is empty.
+			 * @name title
+			 * @memberof plugin-tableview
+			 * @type {string}
+			 * @default undefined
+			 * @example
+			 *   title: "Table Title Text"
+			 */
+			title: undefined,
+
+			/**
+			 * Update tableview from data visibility update(ex. legend toggle).
+			 * @name updateOnToggle
+			 * @memberof plugin-tableview
+			 * @type {boolean}
+			 * @default true
+			 * @example
+			 *   legendToggleUpdate: false
+			 */
+			updateOnToggle: true,
+
+			/**
+			 * Set how null value to be shown.
+			 * @name nullString
+			 * @memberof plugin-tableview
+			 * @type {string}
+			 * @default "-"
+			 * @example
+			 *   nullString: "N/A"
+			 */
+			nullString: "-"
+		};
+	}
+}
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Plugin_tableview_index.ts.html b/release/3.14.2/doc/Plugin_tableview_index.ts.html new file mode 100644 index 000000000..9bf63ab1e --- /dev/null +++ b/release/3.14.2/doc/Plugin_tableview_index.ts.html @@ -0,0 +1,259 @@ + + + + + + Plugin/tableview/index.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Plugin/tableview/index.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2021 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {loadConfig} from "../../config/config";
+import {isNumber, tplProcess} from "../../module/util";
+import Plugin from "../Plugin";
+import {defaultStyle, tpl} from "./const";
+import Options from "./Options";
+
+/**
+ * Table view plugin.<br>
+ * Generates table view for bound dataset.
+ * - **NOTE:**
+ *   - Plugins aren't built-in. Need to be loaded or imported to be used.
+ *   - Non required modules from billboard.js core, need to be installed separately.
+ * @class plugin-tableview
+ * @param {object} options table view plugin options
+ * @augments Plugin
+ * @returns {TableView}
+ * @example
+ * // Plugin must be loaded before the use.
+ * <script src="$YOUR_PATH/plugin/billboardjs-plugin-tableview.js"></script>
+ *
+ *  var chart = bb.generate({
+ *     ...
+ *     plugins: [
+ *        new bb.plugin.tableview({
+ *          selector: "#my-table-view",
+ *          categoryTitle: "Category",
+ *          categoryFormat: function(v) {
+ *              // do some transformation
+ *              ...
+ *              return v;
+ *          },
+ *          class: "my-class-name",
+ *          style: true,
+ *          title: "My Data List",
+ *          updateOnToggle: false,
+ *          nullString: "N/A"
+ *        }),
+ *     ]
+ *  });
+ * @example
+ * import {bb} from "billboard.js";
+ * import TableView from "billboard.js/dist/billboardjs-plugin-tableview";
+ *
+ * bb.generate({
+ *     ...
+ *     plugins: [
+ *        new TableView({ ... })
+ *     ]
+ * })
+ */
+export default class TableView extends Plugin {
+	private config;
+	private element;
+
+	constructor(options) {
+		super(options);
+		this.config = new Options();
+
+		return this;
+	}
+
+	$beforeInit(): void {
+		loadConfig.call(this, this.options);
+	}
+
+	$init(): void {
+		const {class: className, selector, style} = this.config;
+		let element = document.querySelector(
+			selector || `.${className || defaultStyle.class}`
+		);
+
+		if (!element) {
+			const chart = this.$$.$el.chart.node();
+
+			element = document.createElement("table");
+			chart.parentNode.insertBefore(element, chart.nextSibling);
+		}
+
+		if (element.tagName !== "TABLE") {
+			const table = document.createElement("table");
+
+			element.appendChild(table);
+			element = table;
+		}
+
+		// append default css style
+		if (style && !document.getElementById(defaultStyle.id)) {
+			const s = document.createElement("style");
+
+			s.id = defaultStyle.id;
+			s.innerHTML = defaultStyle.rule;
+
+			(document.head || document.getElementsByTagName("head")[0])
+				.appendChild(s);
+		}
+
+		element.classList.add(...[style && defaultStyle.class, className].filter(Boolean));
+
+		this.element = element;
+	}
+
+	/**
+	 * Generate table
+	 * @private
+	 */
+	generateTable(): void {
+		const {$$, config, element} = this;
+		const dataToShow = $$.filterTargetsToShow($$.data.targets);
+
+		let thead = tplProcess(tpl.thead, {
+			title: dataToShow.length ? this.config.categoryTitle : ""
+		});
+		let tbody = "";
+		const rows: (number | string)[][] = [];
+
+		dataToShow.forEach(v => {
+			thead += tplProcess(tpl.thead, {title: v.id});
+
+			// make up value rows
+			v.values.forEach((d, i: number) => {
+				if (!rows[i]) {
+					rows[i] = [d.x];
+				}
+
+				rows[i].push(d.value);
+			});
+		});
+
+		rows.forEach(v => {
+			tbody += `<tr>${
+				v.map((d, i) =>
+					tplProcess(i ? tpl.tbody : tpl.tbodyHeader, {
+						value: i === 0 ?
+							config.categoryFormat.bind(this)(d) :
+							(isNumber(d) ? d.toLocaleString() : config.nullString)
+					})
+				).join("")
+			}</tr>`;
+		});
+
+		const rx = /(<\/?(script|img)[^>]*>|<[^>]+><\/[^>]+>)/ig;
+		const r = tplProcess(tpl.body, {
+			...config,
+			title: config.title || $$.config.title_text || "",
+			thead,
+			tbody
+		}).replace(rx, "");
+
+		element.innerHTML = r;
+	}
+
+	$redraw(): void {
+		const {state} = this.$$;
+		const doNotUpdate = state.resizing || (!this.config.updateOnToggle && state.toggling);
+
+		!doNotUpdate && this.generateTable();
+	}
+
+	$willDestroy(): void {
+		this.element.parentNode?.removeChild(this.element);
+
+		// remove default css style when left one chart instance
+		if (this.$$.charts.length === 1) {
+			const s = document.getElementById(defaultStyle.id);
+
+			s?.parentNode?.removeChild(s);
+		}
+	}
+}
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Plugin_textoverlap_Options.ts.html b/release/3.14.2/doc/Plugin_textoverlap_Options.ts.html new file mode 100644 index 000000000..f0cc214ee --- /dev/null +++ b/release/3.14.2/doc/Plugin_textoverlap_Options.ts.html @@ -0,0 +1,138 @@ + + + + + + Plugin/textoverlap/Options.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Plugin/textoverlap/Options.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * TextOverlap plugin option class
+ * @class TextOverlapOptions
+ * @param {Options} options TextOverlap plugin options
+ * @augments Plugin
+ * @returns {TextOverlapOptions}
+ * @private
+ */
+export default class Options {
+	constructor() {
+		return {
+			/**
+			 * Selector string for target text nodes within chart element.
+			 * - **NOTE:** If no value is given, defaults to data label text elements.
+			 * @name selector
+			 * @memberof plugin-textoverlap
+			 * @type {string}
+			 * @default undefined
+			 * @example
+			 *  // selector for data label text nodes
+			 * selector: ".bb-texts text"
+			 */
+			selector: undefined,
+
+			/**
+			 * Extent of label overlap prevention.
+			 * @name extent
+			 * @memberof plugin-textoverlap
+			 * @type {number}
+			 * @default 1
+			 * @example
+			 * 	extent: 1
+			 */
+			extent: 1,
+
+			/**
+			 * Minimum area needed to show a data label.
+			 * @name area
+			 * @memberof plugin-textoverlap
+			 * @type {number}
+			 * @default 0
+			 * @example
+			 * 	area: 0
+			 */
+			area: 0
+		};
+	}
+}
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/Plugin_textoverlap_index.ts.html b/release/3.14.2/doc/Plugin_textoverlap_index.ts.html new file mode 100644 index 000000000..81d84f70c --- /dev/null +++ b/release/3.14.2/doc/Plugin_textoverlap_index.ts.html @@ -0,0 +1,222 @@ + + + + + + Plugin/textoverlap/index.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Plugin/textoverlap/index.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import type {d3Selection} from "billboard.js/types/types";
+import {Delaunay as d3Delaunay} from "d3-delaunay";
+import {polygonArea as d3PolygonArea, polygonCentroid as d3PolygonCentroid} from "d3-polygon";
+import {loadConfig} from "../../config/config";
+import Plugin from "../Plugin";
+import Options from "./Options";
+
+/**
+ * TextOverlap plugin<br>
+ * Prevents label overlap using [Voronoi layout](https://en.wikipedia.org/wiki/Voronoi_diagram).
+ * - **NOTE:**
+ *   - Plugins aren't built-in. Need to be loaded or imported to be used.
+ *   - Non required modules from billboard.js core, need to be installed separately.
+ *   - Appropriate and works for axis based chart.
+ * - **Required modules:**
+ *   - [d3-polygon](https://github.com/d3/d3-polygon)
+ *   - [d3-delaunay](https://github.com/d3/d3-delaunay)
+ * @class plugin-textoverlap
+ * @requires d3-polygon
+ * @requires d3-delaunay
+ * @param {object} options TextOverlap plugin options
+ * @augments Plugin
+ * @returns {TextOverlap}
+ * @example
+ * // Plugin must be loaded before the use.
+ * <script src="$YOUR_PATH/plugin/billboardjs-plugin-textoverlap.js"></script>
+ *
+ *  var chart = bb.generate({
+ *     data: {
+ *     	  columns: [ ... ]
+ *     },
+ *     ...
+ *     plugins: [
+ *        new bb.plugin.textoverlap({
+ *          selector: ".bb-texts text",
+ *          extent: 8,
+ *          area: 3
+ *        })
+ *     ]
+ *  });
+ * @example
+ * 	import {bb} from "billboard.js";
+ * import TextOverlap from "billboard.js/dist/billboardjs-plugin-textoverlap";
+ *
+ * bb.generate({
+ *     plugins: [
+ *        new TextOverlap({ ... })
+ *     ]
+ * })
+ */
+export default class TextOverlap extends Plugin {
+	private config;
+
+	constructor(options?: Options) {
+		super(options);
+		this.config = new Options();
+
+		return this;
+	}
+
+	$init(): void {
+		loadConfig.call(this, this.options);
+	}
+
+	$redraw(): void {
+		const {$$: {$el}, config: {selector}} = this;
+		const text = selector ? $el.main.selectAll(selector) : $el.text;
+
+		!text.empty() && this.preventLabelOverlap(text);
+	}
+
+	/**
+	 * Generates the voronoi layout for data labels
+	 * @param {Array} points Indices values
+	 * @returns {object} Voronoi layout points and corresponding Data points
+	 * @private
+	 */
+	generateVoronoi(points: [number, number][]) {
+		const {$$} = this;
+		const {scale} = $$;
+		const [min, max] = ["x", "y"].map(v => scale[v].domain());
+
+		[min[1], max[0]] = [max[0], min[1]];
+
+		return d3Delaunay
+			.from(points)
+			.voronoi([
+				...min as [number, number],
+				...max as [number, number]
+			]); // bounds = [xmin, ymin, xmax, ymax], default value: [0, 0, 960, 500]
+	}
+
+	/**
+	 * Set text label's position to preventg overlap.
+	 * @param {d3Selection} text target text selection
+	 * @private
+	 */
+	preventLabelOverlap(text: d3Selection): void {
+		const {extent, area} = this.config;
+		const points = text.data().map(v => [v.index, v.value]) as [number, number][];
+		const voronoi = this.generateVoronoi(points);
+		let i = 0;
+
+		text.each(function() {
+			const cell = voronoi.cellPolygon(i);
+
+			if (cell && this) {
+				const [x, y] = points[i];
+				// @ts-ignore wrong type definiton for d3PolygonCentroid
+				const [cx, cy] = d3PolygonCentroid(cell);
+
+				// @ts-ignore wrong type definiton for d3PolygonArea
+				const polygonArea = Math.abs(d3PolygonArea(cell));
+
+				const angle = Math.round(Math.atan2(cy - y, cx - x) / Math.PI * 2);
+				const xTranslate = extent * (angle === 0 ? 1 : -1);
+				const yTranslate = angle === -1 ? -extent : extent + 5;
+
+				const txtAnchor = Math.abs(angle) === 1 ?
+					"middle" :
+					(angle === 0 ? "start" : "end");
+
+				this.style.display = polygonArea < area ? "none" : "";
+				this.setAttribute("text-anchor", txtAnchor);
+				this.setAttribute("dy", `0.${angle === 1 ? 71 : 35}em`);
+				this.setAttribute("transform", `translate(${xTranslate}, ${yTranslate})`);
+			}
+
+			i++;
+		});
+	}
+}
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/bb.html b/release/3.14.2/doc/bb.html new file mode 100644 index 000000000..11e209dea --- /dev/null +++ b/release/3.14.2/doc/bb.html @@ -0,0 +1,1020 @@ + + + + + + bb - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

bb

+ + + + + + + +
+ +
+ +

+ + Namespace + +

+ + +
+ +
+ +
+ + + + + + +

bb

+ + + + + + +
+ + + +
Source:
+
+ + + +
Version:
+
  • 3.14.2
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +

Members

+ + + +

(static) instance

+ + + + + +
+ +
Description:
+
  • An array containing instance created

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
instance + + +Array + + + + +

instance array

+ + + + + + +
+

An array containing instance created

+
+ + + + + + + +
Example
+ +
// generate charts
+ var chart1 = bb.generate(...);
+ var chart2 = bb.generate(...);
+
+ bb.instance;  // [ chart1, chart2, ... ]
+ + + + + +

(static) plugin

+ + + + + +
+ +
Description:
+
  • Namespace for plugins

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
plugin + + +object + + + + +

plugin namespace

+ + + + + + +
+

Namespace for plugins

+
+ + + + + + + +
Example
+ +
// Stanford diagram plugin
+ bb.plugin.stanford;
+ + + + + +

(static) version

+ + + + + +
+ +
Description:
+
  • Version information

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
version + + +string + + + + +

version

+ + + + + + +
+

Version information

+
+ + + + + + + +
Example
+ +
bb.version;  // "1.0.0"
+ + + + + + + +

Methods

+ + + + + + +

(static) defaults(options) → {Options}

+ + + + + + +
+ +
Description:
+
  • Set or get global default options.

    +
      +
    • NOTE: +
        +
      • The options values settings are valid within page context only.
      • +
      • If is called multiple times, will override the last value.
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+ +
+ + + +
+ + + + + + + + + + + +
Example
+ +
// Set same option value as for `.generate()`
+bb.defaults({
+  data: {
+    type: "bar"
+  }
+});
+
+bb.defaults();  // {data:{type: "bar"}}
+
+// data.type defaults to 'bar'
+var chart = bb.generate({ ... });
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
options + + +Options + + + + +

chart options

+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +Options + + + +
+
+ + + + + + + + + + +

(static) generate(config) → {Chart}

+ + + + + + +
+ +
Description:
+
  • Generate chart

    +
      +
    • NOTE: Bear in mind for the possiblity of throwing an error, during the generation when: +
        +
      • Unused option value is given. +
          +
        • ex) For data.type="pie" option, setting 'axis' option can cause unexpected generation error.
        • +
        +
      • +
      • Insufficient value is given for certain option used. +
          +
        • ex) data: { x: "x", columns: [["x"], ["data1", 30, 200, 100]] }
        • +
        +
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
See:
+
+
    +
  • Options for different generation options
  • + +
  • Chart for different methods API
  • +
+
+ + + +
+ + + + + + + + + + + +
Examples
+ +
<!-- chart holder -->
+<div id="LineChart"></div>
+ +
// Generate chart with options
+ var chart = bb.generate({
+     "bindto": "#LineChart"
+     "data": {
+         "columns": [
+             ["data1", 30, 200, 100, 400, 150, 250],
+             ["data2", 50, 20, 10, 40, 15, 25]
+          ],
+         "type": "line"
+     }
+ });
+
+ // call some API
+ // ex) get the data of 'data1'
+ chart.data("data1");
+ +
// Generate chart by importing ESM
+// Import types to be used only, where this will make smaller bundle size.
+import bb, {
+  area,
+  areaLineRange,
+  areaSpline,
+  areaSplineRange,
+  areaStep,
+  bar,
+  bubble,
+  donut,
+  gauge,
+  line,
+  pie,
+  polar,
+  radar,
+  scatter,
+  spline,
+  step
+}
+
+bb.generate({
+     "bindto": "#LineChart"
+     "data": {
+         "columns": [
+             ["data1", 30, 200, 100, 400, 150, 250],
+             ["data2", 50, 20, 10, 40, 15, 25]
+          ]
+     },
+     type: line(),
+
+     // or
+     types: {
+       data1: bar(),
+       data2: step()
+     }
+});
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
config + + +Options + + + + +

chart options

+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +Chart + + + +
+
+ + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/3.14.2/doc/config_Options_Options.ts.html b/release/3.14.2/doc/config_Options_Options.ts.html new file mode 100644 index 000000000..9ce8751c8 --- /dev/null +++ b/release/3.14.2/doc/config_Options_Options.ts.html @@ -0,0 +1,130 @@ + + + + + + config/Options/Options.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/Options.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+// common
+import boost from "./common/boost";
+import color from "./common/color";
+import legend from "./common/legend";
+import main from "./common/main";
+import title from "./common/title";
+import tooltip from "./common/tooltip";
+import data from "./data/data";
+import interaction from "./interaction/interaction";
+
+import {deepClone} from "../../module/util";
+
+/**
+ * Class to set options on generating chart.
+ * - It's instantiated internally, not exposed for public.
+ * @class Options
+ * @see {@link bb.generate} to use these options on generating the chart
+ */
+export default class Options {
+	static data = {};
+
+	static setOptions(options: any[]) {
+		this.data = options
+			.reduce((a, c) => ({...a, ...c}), this.data);
+	}
+
+	constructor() {
+		return deepClone(
+			main,
+			boost,
+			data,
+			color,
+			interaction,
+			legend,
+			title,
+			tooltip,
+			Options.data
+		);
+	}
+}
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_axis_axis.ts.html b/release/3.14.2/doc/config_Options_axis_axis.ts.html new file mode 100644 index 000000000..48a3a462f --- /dev/null +++ b/release/3.14.2/doc/config_Options_axis_axis.ts.html @@ -0,0 +1,180 @@ + + + + + + config/Options/axis/axis.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/axis/axis.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import x from "./x";
+import y from "./y";
+import y2 from "./y2";
+
+/**
+ * y Axis  config options
+ */
+export default {
+	/**
+	 * Setup the way to evaluate tick text size.
+	 * - **NOTE:**
+	 *   - Setting `false` or custom evaluator, highly recommended to memoize evaluated text dimension value to not degrade performance.
+	 * @name axis․evalTextSize
+	 * @memberof Options
+	 * @type {boolean|Function}
+	 * @default true
+	 * @example
+	 * axis: {
+	 *   // will evaluate getting text size every time.
+	 *   evalTextSize: false.
+	 *
+	 *   // set a custom evaluator
+	 *   evalTextSize: function(textElement) {
+	 *     // set some character to be evaluated
+	 *     text.textContent = "0";
+	 *
+	 *     // get the size
+	 *      const box = text.getBBox();
+	 *
+	 *     // clear text
+	 *     text.textContent = "";
+	 *
+	 *     return { w: 7, h: 12};
+	 *   }
+	 * }
+	 */
+	axis_evalTextSize: <boolean | ((text: SVGTextElement) => {w: number, h: number})>true,
+
+	/**
+	 * Switch x and y axis position.
+	 * @name axis․rotated
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @example
+	 * axis: {
+	 *   rotated: true
+	 * }
+	 */
+	axis_rotated: false,
+
+	/**
+	 * Set axis tooltip.
+	 * - **NOTE:**
+	 *   - When enabled, will disable default focus grid line.
+	 *   - For `timeseries` x Axis, tootlip will be formatted using x Axis' tick format.
+	 *   - For `category` x Axis, tootlip will be displaying scales' value text.
+	 * @name axis․tooltip
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @property {object} axis Axis object
+	 * @property {boolean} [axis.tooltip=false] Show tooltip or not.
+	 * @property {string|object} [axis.tooltip.backgroundColor] Set axis tooltip text background colors.
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.AxisTooltip)
+	 * @example
+	 * axis: {
+	 *     tooltip: true, // default background color is
+	 *
+	 *     // set backgound color for axis tooltip texts
+	 *     tooltip: {
+	 *          backgroundColor: "red",
+	 *
+	 *          // set differenct backround colors per axes
+	 *          // NOTE: In this case, only specified axes tooltip will appear.
+	 *          backgroundColor: {
+	 *               x: "green",
+	 *               y: "yellow",
+	 *               y2: "red"
+	 *          }
+	 *     }
+	 * }
+	 */
+	axis_tooltip: <boolean | {
+		backgroundColor?: string | {x?: string, y?: string, y2?: string}
+	}>false,
+	...x,
+	...y,
+	...y2
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_axis_x.ts.html b/release/3.14.2/doc/config_Options_axis_x.ts.html new file mode 100644 index 000000000..3840e9ed8 --- /dev/null +++ b/release/3.14.2/doc/config_Options_axis_x.ts.html @@ -0,0 +1,835 @@ + + + + + + config/Options/axis/x.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/axis/x.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * x Axis config options
+ */
+export default {
+	/**
+	 * Set clip-path attribute for x axis element
+	 * @name axis․x․clipPath
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @see [Demo]()
+	 * @example
+	 * // don't set 'clip-path' attribute
+	 * clipPath: false
+	 */
+	axis_x_clipPath: true,
+
+	/**
+	 * Show or hide x axis.
+	 * @name axis․x․show
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     show: false
+	 *   }
+	 * }
+	 */
+	axis_x_show: true,
+
+	/**
+	 * Force the x axis to interact as single rather than multiple x axes.
+	 * - **NOTE:** The tooltip event will be triggered nearing each data points(for multiple xs) rather than x axis based(as single x does) in below condition:
+	 *   - for `bubble` & `scatter` type
+	 *   - when `data.xs` is set
+	 *   - when `tooltip.grouped=false` is set
+	 *     - `tooltip.grouped` options will take precedence over `axis.forceSingleX` option.
+	 * @name axis․x․forceAsSingle
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.ForceAsSingle)
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *      // will work as single x axis
+	 *      forceAsSingle: true
+	 *   }
+	 * }
+	 */
+	axis_x_forceAsSingle: false,
+
+	/**
+	 * Set type of x axis.<br><br>
+	 * **Available Values:**
+	 * - category
+	 * - indexed
+	 * - log
+	 * - timeseries
+	 *
+	 * **NOTE:**<br>
+	 * - **log** type:
+	 *   - the x values specified by [`data.x`](#.data%25E2%2580%25A4x)(or by any equivalent option), must be exclusively-positive.
+	 *   - x axis min value should be >= 0.
+	 *   - for 'category' type, `data.xs` option isn't supported.
+	 * @name axis․x․type
+	 * @memberof Options
+	 * @type {string}
+	 * @default indexed
+	 * @see [Demo: indexed](https://naver.github.io/billboard.js/demo/#Chart.AreaChart)
+	 * @see [Demo: timeseries](https://naver.github.io/billboard.js/demo/#Chart.TimeseriesChart)
+	 * @see [Demo: category](https://naver.github.io/billboard.js/demo/#Data.CategoryData)
+	 * @see [Demo: log](https://naver.github.io/billboard.js/demo/#Axis.LogScales)
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     type: "timeseries"
+	 *   }
+	 * }
+	 */
+	axis_x_type: <"category" | "indexed" | "log" | "timeseries">"indexed",
+
+	/**
+	 * Set how to treat the timezone of x values.<br>
+	 * If true, treat x value as localtime. If false, convert to UTC internally.
+	 * @name axis․x․localtime
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     localtime: false
+	 *   }
+	 * }
+	 */
+	axis_x_localtime: true,
+
+	/**
+	 * Set category names on category axis.
+	 * This must be an array that includes category names in string. If category names are included in the date by data.x option, this is not required.
+	 * @name axis․x․categories
+	 * @memberof Options
+	 * @type {Array}
+	 * @default []
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     categories: ["Category 1", "Category 2", ...]
+	 *   }
+	 * }
+	 */
+	axis_x_categories: <string[]>[],
+
+	/**
+	 * centerize ticks on category axis.
+	 * @name axis․x․tick․centered
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *       centered: true
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_tick_centered: false,
+
+	/**
+	 * A function to format tick value. Format string is also available for timeseries data.
+	 * @name axis․x․tick․format
+	 * @memberof Options
+	 * @type {Function|string}
+	 * @default undefined
+	 * @see [D3's time specifier](https://d3js.org/d3-time-format#locale_format)
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *        // for timeseries, a 'datetime' object is given as parameter
+	 *       format: function(x) {
+	 *           return x.getFullYear();
+	 *       }
+	 *
+	 *       // for category, index(Number) and categoryName(String) are given as parameter
+	 *       format: function(index, categoryName) {
+	 *           return categoryName.substr(0, 10);
+	 *       },
+	 *
+	 *        // for timeseries format specifier
+	 *        format: "%Y-%m-%d %H:%M:%S"
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_tick_format: <Function | string | undefined>undefined,
+
+	/**
+	 * Setting for culling ticks.
+	 * - `true`: the ticks will be culled, then only limited tick text will be shown.<br>
+	 *   This option does not hide the tick lines by default, if want to hide tick lines, set `axis.x.tick.culling.lines=false`.
+	 * - `false`: all of ticks will be shown.<br><br>
+	 * The number of ticks to be shown can be chaned by `axis.x.tick.culling.max`.
+	 * @name axis․x․tick․culling
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default
+	 * `true` for indexed axis and timeseries axis, `false` for category axis
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *       culling: false
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_tick_culling: {},
+
+	/**
+	 * The number of tick texts will be adjusted to less than this value.
+	 * @name axis․x․tick․culling․max
+	 * @memberof Options
+	 * @type {number}
+	 * @default 10
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *       culling: {
+	 *           max: 5
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_tick_culling_max: 10,
+
+	/**
+	 * Control visibility of tick lines within culling option, along with tick text.
+	 * @name axis․x․tick․culling․lines
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *       culling: {
+	 *           lines: false,
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_tick_culling_lines: true,
+
+	/**
+	 * The number of x axis ticks to show.<br><br>
+	 * This option hides tick lines together with tick text. If this option is used on timeseries axis, the ticks position will be determined precisely and not nicely positioned (e.g. it will have rough second value).
+	 * @name axis․x․tick․count
+	 * @memberof Options
+	 * @type {number}
+	 * @default undefined
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *       count: 5
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_tick_count: <number | undefined>undefined,
+
+	/**
+	 * Show or hide x axis tick line.
+	 * @name axis․x․tick․show
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText)
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *       show: false
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_tick_show: true,
+
+	/**
+	 * Show or hide x axis tick text.
+	 * @name axis․x․tick․text․show
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText)
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *       text: {
+	 *           show: false
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_tick_text_show: true,
+
+	/**
+	 * Set the first/last axis tick text to be positioned inside of the chart on non-rotated axis.
+	 * @name axis․x․tick․text․inner
+	 * @memberof Options
+	 * @type {boolean|object}
+	 * @default false
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickInner)
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *       text: {
+	 *          inner: true,
+	 *
+	 *          // or specify each position of the first and last tick text
+	 *          inner: {
+	 *       	   first: true,
+	 *       	   last: true
+	 *       	}
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_tick_text_inner: <{first?: boolean, last?: boolean} | boolean>false,
+
+	/**
+	 * Set the x Axis tick text's position relatively its original position
+	 * @name axis․x․tick․text․position
+	 * @memberof Options
+	 * @type {object}
+	 * @default {x: 0, y:0}
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *       text: {
+	 *         position: {
+	 *           x: 10,
+	 *           y: 10
+	 *         }
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_tick_text_position: {x: 0, y: 0},
+
+	/**
+	 * Fit x axis ticks.
+	 * - **true**: ticks will be shown according to x value of the data points.
+	 * - **false**: ticks will be shown as to have same intervals.
+	 * @name axis․x․tick․fit
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickFitting)
+	 * @see [Demo: for timeseries zoom](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickTimeseries)
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *       fit: false
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_tick_fit: true,
+
+	/**
+	 * Set the x values of ticks manually.<br><br>
+	 * If this option is provided, the position of the ticks will be determined based on those values.<br>
+	 * This option works with `timeseries` data and the x values will be parsed accoding to the type of the value and data.xFormat option.
+	 * @name axis․x․tick․values
+	 * @memberof Options
+	 * @type {Array|Function}
+	 * @default null
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *       values: [1, 2, 4, 8, 16, 32, ...],
+	 *
+	 *       // an Array value should be returned
+	 *       values: function() {
+	 *       	return [ ... ];
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_tick_values: <(string | Date | number)[] | (() => number[]) | null>null,
+
+	/**
+	 * Rotate x axis tick text if there is not enough space for 'category' and 'timeseries' type axis.
+	 * - **NOTE:** The conditions where `autorotate` is enabled are:
+	 *   - axis.x.type='category' or 'timeseries
+	 *   - axis.x.tick.multiline=false
+	 *   - axis.x.tick.culling=false
+	 *   - axis.x.tick.fit=true
+	 * - **NOTE:** axis.x.tick.clippath=false is necessary for calculating the overflow padding between the end of x axis and the width of the SVG
+	 * @name axis․x․tick․autorotate
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickAutorotate)
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *       rotate: 15,
+	 *       autorotate: true,
+	 *       multiline: false,
+	 *       culling: false,
+	 *       fit: true
+	 *     },
+	 *     clipPath: false
+	 *   }
+	 * }
+	 */
+	axis_x_tick_autorotate: false,
+
+	/**
+	 * Rotate x axis tick text.
+	 * - If you set negative value, it will rotate to opposite direction.
+	 * - Applied when [`axis.rotated`](#.axis%25E2%2580%25A4rotated) option is `false`.
+	 * - As long as `axis_x_tick_fit` is set to `true` it will calculate an overflow for the y2 axis and add this value to the right padding.
+	 * @name axis․x․tick․rotate
+	 * @memberof Options
+	 * @type {number}
+	 * @default 0
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.RotateXAxisTickText)
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *       rotate: 60
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_tick_rotate: 0,
+
+	/**
+	 * Show x axis outer tick.
+	 * @name axis․x․tick․outer
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *       outer: false
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_tick_outer: true,
+
+	/**
+	 * Set tick text to be multiline
+	 * - **NOTE:**
+	 *  > When x tick text contains `\n`, it's used as line break and 'axis.x.tick.width' option is ignored.
+	 * @name axis․x․tick․multiline
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.XAxisTickMultiline)
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *       multiline: false
+	 *     }
+	 *   }
+	 * }
+	 * @example
+	 * // example of line break with '\n'
+	 * // In this case, 'axis.x.tick.width' is ignored
+	 * data: {
+	 *    x: "x",
+	 *    columns: [
+	 *        ["x", "long\ntext", "Another\nLong\nText"],
+	 *        ...
+	 *    ],
+	 * }
+	 */
+	axis_x_tick_multiline: true,
+
+	/**
+	 * Set tick width
+	 * - **NOTE:**
+	 *  > When x tick text contains `\n`, this option is ignored.
+	 * @name axis․x․tick․width
+	 * @memberof Options
+	 * @type {number}
+	 * @default null
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *       width: 50
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_tick_width: <number | null>null,
+
+	/**
+	 * Set to display system tooltip(via `<title>` element) for tick text
+	 * - **NOTE:** Only available for category axis type (`axis.x.type='category'`)
+	 * @name axis․x․tick․tooltip
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     tick: {
+	 *       tooltip: true
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_tick_tooltip: false,
+
+	/**
+	 * Set max value of x axis range.
+	 * @name axis․x․max
+	 * @memberof Options
+	 * @property {number} max Set the max value
+	 * @property {boolean} [max.fit=false] When specified `max.value` is greater than the bound data value, setting `true` will make x axis max to be fitted to the bound data max value.
+	 * - **NOTE:** If the bound data max value is greater than the `max.value`, the x axis max will be limited as the given `max.value`.
+	 * @property {number} [max.value] Set the max value
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     max: 100,
+	 *
+	 *     max: {
+	 *       // 'fit=true' will make x axis max to be limited as the bound data value max when 'max.value' is greater.
+	 *       // - when bound data max is '10' and max.value: '100' ==>  x axis max will be '10'
+	 *       // - when bound data max is '1000' and max.value: '100' ==> x axis max will be '100'
+	 *       fit: true,
+	 *       value: 100
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_max: <number | undefined>undefined,
+
+	/**
+	 * Set min value of x axis range.
+	 * @name axis․x․min
+	 * @memberof Options
+	 * @property {number} min Set the min value
+	 * @property {boolean} [min.fit=false] When specified `min.value` is lower than the bound data value, setting `true` will make x axis min to be fitted to the bound data min value.
+	 * - **NOTE:** If the bound data min value is lower than the `min.value`, the x axis min will be limited as the given `min.value`.
+	 * @property {number} [min.value] Set the min value
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     min: -100,
+	 *
+	 *     min: {
+	 *       // 'fit=true' will make x axis min to be limited as the bound data value min when 'min.value' is lower.
+	 *       // - when bound data min is '-10' and min.value: '-100' ==>  x axis min will be '-10'
+	 *       // - when bound data min is '-1000' and min.value: '-100' ==> x axis min will be '-100'
+	 *       fit: true,
+	 *       value: -100
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_min: <number | undefined>undefined,
+
+	/**
+	 * Change the direction of x axis.<br><br>
+	 * If true set, the direction will be `right -> left`.
+	 * @name axis․x․inverted
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.InvertedAxis)
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     inverted: true
+	 *   }
+	 * }
+	 */
+	axis_x_inverted: false,
+
+	/**
+	 * Set padding for x axis.<br><br>
+	 * If this option is set, the range of x axis will increase/decrease according to the values.
+	 * If no padding is needed in the rage of x axis, 0 should be set.
+	 * By default, left/right padding are set depending on x axis type or chart types.
+	 * - **NOTE:**
+	 *   - The meaning of padding values, differs according axis types:<br>
+	 *     - **category/indexed:** The unit of tick value
+	 *       ex. the given value `1`, is same as the width of 1 tick width
+	 *     - **timeseries:** Numeric time value
+	 *       ex. the given value `1000*60*60*24`, which is numeric time equivalent of a day, is same as the width of 1 tick width
+	 *   - If want values to be treated as pixels, specify `unit:"px"`.
+	 *     - The pixel value will be convered based on the scale values. Hence can not reflect accurate padding result.
+	 * @name axis․x․padding
+	 * @memberof Options
+	 * @type {object|number}
+	 * @default {}
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     padding: {
+	 *       // when axis type is 'category'
+	 *       left: 1,  // set left padding width of equivalent value of a tick's width
+	 *       right: 0.5  // set right padding width as half of equivalent value of tick's width
+	 *
+	 *       // when axis type is 'timeseries'
+	 *       left: 1000*60*60*24,  // set left padding width of equivalent value of a day tick's width
+	 *       right: 1000*60*60*12   // set right padding width as half of equivalent value of a day tick's width
+	 *     },
+	 *
+	 *     // or set both values at once.
+	 *     padding: 10,
+	 *
+	 *     // or set padding values as pixel unit.
+	 *     padding: {
+	 *       left: 100,
+	 *       right: 50,
+	 *       unit: "px"
+	 *     },
+	 *   }
+	 * }
+	 */
+	axis_x_padding: <number | {left?: number, right?: number}>{},
+
+	/**
+	 * Set height of x axis.<br><br>
+	 * The height of x axis can be set manually by this option. If you need more space for x axis, please use this option for that. The unit is pixel.
+	 * @name axis․x․height
+	 * @memberof Options
+	 * @type {number}
+	 * @default undefined
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     height: 20
+	 *   }
+	 * }
+	 */
+	axis_x_height: <number | undefined>undefined,
+
+	/**
+	 * Set extent for subchart and zoom(drag only). This can be an array or function that returns an array.
+	 * - **NOTE:** Specifying value, will limit the zoom scope selection within.
+	 * @name axis․x․extent
+	 * @memberof Options
+	 * @type {Array|Function}
+	 * @default undefined
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     // extent range as a pixel value
+	 *     extent: [0, 200],
+	 *
+	 *     // when axis is 'timeseries', parsable datetime string
+	 *     extent: ["2019-03-01", "2019-03-05"],
+	 *
+	 *     // return extent value
+	 *     extent: function(domain, scale) {
+	 *    	 var extent = domain.map(function(v) {
+	 *     	    return scale(v);
+	 *     	 });
+	 *
+	 *   	 // it should return a format of array
+	 *   	 // ex) [0, 584]
+	 *     	 return extent;
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_extent: <(number | string)[] | Function | undefined>undefined,
+
+	/**
+	 * Set label on x axis.<br><br>
+	 * You can set x axis label and change its position by this option.
+	 * `string` and `object` can be passed and we can change the poisiton by passing object that has position key.<br>
+	 * Available position differs according to the axis direction (vertical or horizontal).
+	 * If string set, the position will be the default.
+	 *
+	 *  - **If it's horizontal axis:**
+	 *    - inner-right [default]
+	 *    - inner-center
+	 *    - inner-left
+	 *    - outer-right
+	 *    - outer-center
+	 *    - outer-left
+	 *  - **If it's vertical axis:**
+	 *    - inner-top [default]
+	 *    - inner-middle
+	 *    - inner-bottom
+	 *    - outer-top
+	 *    - outer-middle
+	 *    - outer-bottom
+	 * @name axis․x․label
+	 * @memberof Options
+	 * @type {string|object}
+	 * @default undefined
+	 * @example
+	 * axis: {
+	 *   x: {
+	 *     label: "Your X Axis"
+	 *   }
+	 * }
+	 *
+	 * axis: {
+	 *   x: {
+	 *     label: {
+	 *        text: "Your X Axis",
+	 *        position: "outer-center"
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_x_label: {},
+
+	/**
+	 * Set additional axes for x Axis.
+	 * - **NOTE:** Axis' scale is based on x Axis value if domain option isn't set.
+	 *
+	 * Each axis object should consist with following options:
+	 *
+	 * | Name | Type | Default | Description |
+	 * | --- | --- | --- | --- |
+	 * | domain | Array | - | Set the domain value |
+	 * | tick.outer | boolean | true | Show outer tick |
+	 * | tick.format | Function | - | Set formatter for tick text |
+	 * | tick.count | Number | - | Set the number of y axis ticks |
+	 * | tick.values | Array | - | Set tick values manually |
+	 * @name axis․x․axes
+	 * @memberof Options
+	 * @type {Array}
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.MultiAxes)
+	 * @see [Demo: Domain](https://naver.github.io/billboard.js/demo/#Axis.MultiAxesDomain)
+	 * @example
+	 * x: {
+	 *    axes: [
+	 *      {
+	 *        // if set, will not be correlated with the main x Axis domain value
+	 *        domain: [0, 1000],
+	 *        tick: {
+	 *          outer: false,
+	 *          format: function(x) {
+	 *             return x + "%";
+	 *          },
+	 *          count: 2,
+	 *          values: [10, 20, 30]
+	 *        }
+	 *      },
+	 *      ...
+	 *    ]
+	 * }
+	 */
+	axis_x_axes: <object[]>[]
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_axis_y.ts.html b/release/3.14.2/doc/config_Options_axis_y.ts.html new file mode 100644 index 000000000..f2d294302 --- /dev/null +++ b/release/3.14.2/doc/config_Options_axis_y.ts.html @@ -0,0 +1,597 @@ + + + + + + config/Options/axis/y.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/axis/y.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * y Axis  config options
+ */
+export default {
+	/**
+	 * Set clip-path attribute for y axis element
+	 * - **NOTE**: `clip-path` attribute for y Axis is set only when `axis.y.inner` option is true.
+	 * @name axis․y․clipPath
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @example
+	 * // don't set 'clip-path' attribute
+	 * clipPath: false
+	 */
+	axis_y_clipPath: true,
+
+	/**
+	 * Show or hide y axis.
+	 * @name axis․y․show
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     show: false
+	 *   }
+	 * }
+	 */
+	axis_y_show: true,
+
+	/**
+	 * Set type of y axis.<br><br>
+	 * **Available Values:**
+	 *  - indexed
+	 *  - log
+	 *  - timeseries
+	 *
+	 * **NOTE:**<br>
+	 * - **log** type:
+	 *   - the bound data values must be exclusively-positive.
+	 *   - y axis min value should be >= 0.
+	 *   - [`data.groups`](#.data%25E2%2580%25A4groups)(stacked data) option aren't supported.
+	 *
+	 * @name axis․y․type
+	 * @memberof Options
+	 * @type {string}
+	 * @default "indexed"
+	 * @see [Demo: log](https://naver.github.io/billboard.js/demo/#Axis.LogScales)
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     type: "log"
+	 *   }
+	 * }
+	 */
+	axis_y_type: <"indexed" | "log" | "timeseries">"indexed",
+
+	/**
+	 * Set max value of y axis.
+	 * - **NOTE:** Padding will be added based on this value, so if you don't need the padding, please set axis.y.padding to disable it (e.g. axis.y.padding = 0).
+	 * @name axis․y․max
+	 * @memberof Options
+	 * @type {number}
+	 * @default undefined
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     max: 1000
+	 *   }
+	 * }
+	 */
+	axis_y_max: <number | undefined>undefined,
+
+	/**
+	 * Set min value of y axis.
+	 * - **NOTE:**
+	 *   Padding will be added based on this value, so if you don't need the padding, please set axis.y.padding to disable it (e.g. axis.y.padding = 0).
+	 * @name axis․y․min
+	 * @memberof Options
+	 * @type {number}
+	 * @default undefined
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     min: 1000
+	 *   }
+	 * }
+	 */
+	axis_y_min: <number | undefined>undefined,
+
+	/**
+	 * Change the direction of y axis.<br><br>
+	 * If true set, the direction will be `top -> bottom`.
+	 * @name axis․y․inverted
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.InvertedAxis)
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     inverted: true
+	 *   }
+	 * }
+	 */
+	axis_y_inverted: false,
+
+	/**
+	 * Set center value of y axis.
+	 * @name axis․y․center
+	 * @memberof Options
+	 * @type {number}
+	 * @default undefined
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     center: 0
+	 *   }
+	 * }
+	 */
+	axis_y_center: <number | undefined>undefined,
+
+	/**
+	 * Show y axis inside of the chart.
+	 * @name axis․y․inner
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     inner: true
+	 *   }
+	 * }
+	 */
+	axis_y_inner: false,
+
+	/**
+	 * Set label on y axis.<br><br>
+	 * You can set y axis label and change its position by this option. This option works in the same way as [axis.x.label](#.axis%25E2%2580%25A4x%25E2%2580%25A4label).
+	 * @name axis․y․label
+	 * @memberof Options
+	 * @type {string|object}
+	 * @default {}
+	 * @see [axis.x.label](#.axis%25E2%2580%25A4x%25E2%2580%25A4label) for position string value.
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     label: "Your Y Axis"
+	 *   }
+	 * }
+	 *
+	 * axis: {
+	 *   y: {
+	 *     label: {
+	 *        text: "Your Y Axis",
+	 *        position: "outer-middle"
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y_label: <string | object>{},
+
+	/**
+	 * Set formatter for y axis tick text.<br><br>
+	 * This option accepts d3.format object as well as a function you define.
+	 * @name axis․y․tick․format
+	 * @memberof Options
+	 * @type {Function}
+	 * @default undefined
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     tick: {
+	 *       format: function(x) {
+	 *           return x.getFullYear();
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y_tick_format: <Function | undefined>undefined,
+
+	/**
+	 * Setting for culling ticks.
+	 * - `true`: the ticks will be culled, then only limited tick text will be shown.<br>
+	 *   This option does not hide the tick lines by default, if want to hide tick lines, set `axis.y.tick.culling.lines=false`.
+	 * - `false`: all of ticks will be shown.<br><br>
+	 * The number of ticks to be shown can be chaned by `axis.y.tick.culling.max`.
+	 * @name axis․y․tick․culling
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     tick: {
+	 *       culling: false
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y_tick_culling: false,
+
+	/**
+	 * The number of tick texts will be adjusted to less than this value.
+	 * @name axis․y․tick․culling․max
+	 * @memberof Options
+	 * @type {number}
+	 * @default 5
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     tick: {
+	 *       culling: {
+	 *           max: 5
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y_tick_culling_max: 5,
+
+	/**
+	 * Control visibility of tick lines within culling option, along with tick text.
+	 * @name axis․y․tick․culling․lines
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     tick: {
+	 *       culling: {
+	 *           lines: false,
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y_tick_culling_lines: true,
+
+	/**
+	 * Show y axis outer tick.
+	 * @name axis․y․tick․outer
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     tick: {
+	 *       outer: false
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y_tick_outer: true,
+
+	/**
+	 * Set y axis tick values manually.
+	 * @name axis․y․tick․values
+	 * @memberof Options
+	 * @type {Array|Function}
+	 * @default null
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     tick: {
+	 *       values: [100, 1000, 10000],
+	 *
+	 *       // an Array value should be returned
+	 *       values: function() {
+	 *       	return [ ... ];
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y_tick_values: <number[] | (() => number[]) | null>null,
+
+	/**
+	 * Rotate y axis tick text.
+	 * - If you set negative value, it will rotate to opposite direction.
+	 * - Applied when [`axis.rotated`](#.axis%25E2%2580%25A4rotated) option is `true`.
+	 * @name axis․y․tick․rotate
+	 * @memberof Options
+	 * @type {number}
+	 * @default 0
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     tick: {
+	 *       rotate: 60
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y_tick_rotate: 0,
+
+	/**
+	 * Set the number of y axis ticks.<br><br>
+	 * - **NOTE:** The position of the ticks will be calculated precisely, so the values on the ticks will not be rounded nicely. In the case, axis.y.tick.format or axis.y.tick.values will be helpful.
+	 * @name axis․y․tick․count
+	 * @memberof Options
+	 * @type {number}
+	 * @default undefined
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     tick: {
+	 *       count: 5
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y_tick_count: <number | undefined>undefined,
+
+	/**
+	 * Show or hide y axis tick line.
+	 * @name axis․y․tick․show
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText)
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     tick: {
+	 *       show: false
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y_tick_show: true,
+
+	/**
+	 * Set axis tick step(interval) size.
+	 * - **NOTE:** Will be ignored if `axis.y.tick.count` or `axis.y.tick.values` options are set.
+	 * @name axis․y․tick․stepSize
+	 * @memberof Options
+	 * @type {number}
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.StepSizeForYAxis)
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     tick: {
+	 *       // tick value will step as indicated interval value.
+	 *       // ex) 'stepSize=15' ==> [0, 15, 30, 45, 60]
+	 *       stepSize: 15
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y_tick_stepSize: <number | null>null,
+
+	/**
+	 * Show or hide y axis tick text.
+	 * @name axis․y․tick․text․show
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText)
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     tick: {
+	 *       text: {
+	 *           show: false
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y_tick_text_show: true,
+
+	/**
+	 * Set the y Axis tick text's position relatively its original position
+	 * @name axis․y․tick․text․position
+	 * @memberof Options
+	 * @type {object}
+	 * @default {x: 0, y:0}
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     tick: {
+	 *       text: {
+	 *         position: {
+	 *           x: 10,
+	 *           y: 10
+	 *         }
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y_tick_text_position: {x: 0, y: 0},
+
+	/**
+	 * Set the number of y axis ticks.<br><br>
+	 * - **NOTE:** The position of the ticks will be calculated precisely, so the values on the ticks will not be rounded nicely. In the case, axis.y.tick.format or axis.y.tick.values will be helpful.
+	 * @name axis․y․tick․time
+	 * @memberof Options
+	 * @private
+	 * @type {object}
+	 * @property {object} time time object
+	 * @property {Function} [time.value] D3's time interval function (https://github.com/d3/d3-time#intervals)
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     tick: {
+	 *       time: {
+	 *          // ticks at 15-minute intervals
+	 *          // https://github.com/d3/d3-scale/blob/master/README.md#time_ticks
+	 *          value: d3.timeMinute.every(15)
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	// @TODO: not fully implemented yet
+	axis_y_tick_time_value: <Function | undefined>undefined,
+
+	/**
+	 * Set padding for y axis.<br><br>
+	 * You can set padding for y axis to create more space on the edge of the axis.
+	 * This option accepts object and it can include top and bottom. top, bottom will be treated as pixels.
+	 *
+	 * - **NOTE:**
+	 *   - Given values are translated relative to the y Axis domain value for padding
+	 *   - For area and bar type charts, [area.zerobased](#.area) or [bar.zerobased](#.bar) options should be set to 'false` to get padded bottom.
+	 * @name axis․y․padding
+	 * @memberof Options
+	 * @type {object|number}
+	 * @default {}
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     padding: {
+	 *       top: 0,
+	 *       bottom: 0
+	 *     },
+	 *
+	 *     // or set both values at once.
+	 *     padding: 10
+	 *   }
+	 * }
+	 */
+	axis_y_padding: <number | {top?: number, bottom?: number}>{},
+
+	/**
+	 * Set default range of y axis.<br><br>
+	 * This option set the default value for y axis when there is no data on init.
+	 * @name axis․y․default
+	 * @memberof Options
+	 * @type {Array}
+	 * @default undefined
+	 * @example
+	 * axis: {
+	 *   y: {
+	 *     default: [0, 1000]
+	 *   }
+	 * }
+	 */
+	axis_y_default: <number[] | undefined>undefined,
+
+	/**
+	 * Set additional axes for y Axis.
+	 * - **NOTE:** Axis' scale is based on y Axis value if domain option isn't set.
+	 *
+	 * Each axis object should consist with following options:
+	 *
+	 * | Name | Type | Default | Description |
+	 * | --- | --- | --- | --- |
+	 * | domain | Array | - | Set the domain value |
+	 * | tick.outer | boolean | true | Show outer tick |
+	 * | tick.format | Function | - | Set formatter for tick text |
+	 * | tick.count | Number | - | Set the number of y axis ticks |
+	 * | tick.values | Array | - | Set tick values manually |
+	 * @name axis․y․axes
+	 * @memberof Options
+	 * @type {Array}
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.MultiAxes)
+	 * @see [Demo: Domain](https://naver.github.io/billboard.js/demo/#Axis.MultiAxesDomain)
+	 * @example
+	 * y: {
+	 *    axes: [
+	 *      {
+	 *        // if set, will not be correlated with the main y Axis domain value
+	 *        domain: [0, 1000],
+	 *        tick: {
+	 *          outer: false,
+	 *          format: function(x) {
+	 *             return x + "%";
+	 *          },
+	 *          count: 2,
+	 *          values: [10, 20, 30]
+	 *        }
+	 *      },
+	 *      ...
+	 *    ]
+	 * }
+	 */
+	axis_y_axes: <object[]>[]
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_axis_y2.ts.html b/release/3.14.2/doc/config_Options_axis_y2.ts.html new file mode 100644 index 000000000..4f610068b --- /dev/null +++ b/release/3.14.2/doc/config_Options_axis_y2.ts.html @@ -0,0 +1,557 @@ + + + + + + config/Options/axis/y2.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/axis/y2.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * y2 Axis  config options
+ */
+export default {
+	/**
+	 * Show or hide y2 axis.
+	 * - **NOTE**:
+	 *   - When set to `false` will not generate y2 axis node. In this case, all 'y2' axis related functionality won't work properly.
+	 *   - If need to use 'y2' related options while y2 isn't visible, set the value `true` and control visibility by css display property.
+	 * @name axis․y2․show
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     show: true
+	 *   }
+	 * }
+	 */
+	axis_y2_show: false,
+
+	/**
+	 * Set type of y2 axis.<br><br>
+	 * **Available Values:**
+	 *  - indexed
+	 *  - log
+	 *  - timeseries
+	 *
+	 * **NOTE:**<br>
+	 * - **log** type:
+	 *   - the bound data values must be exclusively-positive.
+	 *   - y2 axis min value should be >= 0.
+	 *   - [`data.groups`](#.data%25E2%2580%25A4groups)(stacked data) option aren't supported.
+	 *
+	 * @name axis․y2․type
+	 * @memberof Options
+	 * @type {string}
+	 * @default "indexed"
+	 * @see [Demo: log](https://naver.github.io/billboard.js/demo/#Axis.LogScales)
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     type: "indexed"
+	 *   }
+	 * }
+	 */
+	axis_y2_type: <"indexed" | "log" | "timeseries">"indexed",
+
+	/**
+	 * Set max value of y2 axis.
+	 * @name axis․y2․max
+	 * @memberof Options
+	 * @type {number}
+	 * @default undefined
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     max: 1000
+	 *   }
+	 * }
+	 */
+	axis_y2_max: <number | undefined>undefined,
+
+	/**
+	 * Set min value of y2 axis.
+	 * @name axis․y2․min
+	 * @memberof Options
+	 * @type {number}
+	 * @default undefined
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     min: -1000
+	 *   }
+	 * }
+	 */
+	axis_y2_min: <number | undefined>undefined,
+
+	/**
+	 * Change the direction of y2 axis.<br><br>
+	 * If true set, the direction will be `top -> bottom`.
+	 * @name axis․y2․inverted
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.InvertedAxis)
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     inverted: true
+	 *   }
+	 * }
+	 */
+	axis_y2_inverted: false,
+
+	/**
+	 * Set center value of y2 axis.
+	 * @name axis․y2․center
+	 * @memberof Options
+	 * @type {number}
+	 * @default undefined
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     center: 0
+	 *   }
+	 * }
+	 */
+	axis_y2_center: <number | undefined>undefined,
+
+	/**
+	 * Show y2 axis inside of the chart.
+	 * @name axis․y2․inner
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     inner: true
+	 *   }
+	 * }
+	 */
+	axis_y2_inner: false,
+
+	/**
+	 * Set label on y2 axis.<br><br>
+	 * You can set y2 axis label and change its position by this option. This option works in the same way as [axis.x.label](#.axis%25E2%2580%25A4x%25E2%2580%25A4label).
+	 * @name axis․y2․label
+	 * @memberof Options
+	 * @type {string|object}
+	 * @default {}
+	 * @see [axis.x.label](#.axis%25E2%2580%25A4x%25E2%2580%25A4label) for position string value.
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     label: "Your Y2 Axis"
+	 *   }
+	 * }
+	 *
+	 * axis: {
+	 *   y2: {
+	 *     label: {
+	 *        text: "Your Y2 Axis",
+	 *        position: "outer-middle"
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y2_label: <string | object>{},
+
+	/**
+	 * Set formatter for y2 axis tick text.<br><br>
+	 * This option works in the same way as axis.y.format.
+	 * @name axis․y2․tick․format
+	 * @memberof Options
+	 * @type {Function}
+	 * @default undefined
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     tick: {
+	 *       format: d3.format("$,")
+	 *       //or format: function(d) { return "$" + d; }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y2_tick_format: <Function | undefined>undefined,
+
+	/**
+	 * Setting for culling ticks.
+	 * - `true`: the ticks will be culled, then only limited tick text will be shown.<br>
+	 *   This option does not hide the tick lines by default, if want to hide tick lines, set `axis.y2.tick.culling.lines=false`.
+	 * - `false`: all of ticks will be shown.<br><br>
+	 * The number of ticks to be shown can be chaned by `axis.y2.tick.culling.max`.
+	 * @name axis․y2․tick․culling
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     tick: {
+	 *       culling: false
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y2_tick_culling: false,
+
+	/**
+	 * The number of tick texts will be adjusted to less than this value.
+	 * @name axis․y2․tick․culling․max
+	 * @memberof Options
+	 * @type {number}
+	 * @default 5
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     tick: {
+	 *       culling: {
+	 *           max: 5
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y2_tick_culling_max: 5,
+
+	/**
+	 * Control visibility of tick lines within culling option, along with tick text.
+	 * @name axis․y2․tick․culling․lines
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     tick: {
+	 *       culling: {
+	 *           lines: false,
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y2_tick_culling_lines: true,
+
+	/**
+	 * Show or hide y2 axis outer tick.
+	 * @name axis․y2․tick․outer
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     tick: {
+	 *       outer: false
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y2_tick_outer: true,
+
+	/**
+	 * Set y2 axis tick values manually.
+	 * @name axis․y2․tick․values
+	 * @memberof Options
+	 * @type {Array|Function}
+	 * @default null
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     tick: {
+	 *       values: [100, 1000, 10000],
+	 *
+	 *       // an Array value should be returned
+	 *       values: function() {
+	 *       	return [ ... ];
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y2_tick_values: <number[] | (() => number[]) | null>null,
+
+	/**
+	 * Rotate y2 axis tick text.
+	 * - If you set negative value, it will rotate to opposite direction.
+	 * - Applied when [`axis.rotated`](#.axis%25E2%2580%25A4rotated) option is `true`.
+	 * @name axis․y2․tick․rotate
+	 * @memberof Options
+	 * @type {number}
+	 * @default 0
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     tick: {
+	 *       rotate: 60
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y2_tick_rotate: 0,
+
+	/**
+	 * Set the number of y2 axis ticks.
+	 * - **NOTE:** This works in the same way as axis.y.tick.count.
+	 * @name axis․y2․tick․count
+	 * @memberof Options
+	 * @type {number}
+	 * @default undefined
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     tick: {
+	 *       count: 5
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y2_tick_count: <number | undefined>undefined,
+
+	/**
+	 * Show or hide y2 axis tick line.
+	 * @name axis․y2․tick․show
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText)
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     tick: {
+	 *       show: false
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y2_tick_show: true,
+
+	/**
+	 * Set axis tick step(interval) size.
+	 * - **NOTE:** Will be ignored if `axis.y2.tick.count` or `axis.y2.tick.values` options are set.
+	 * @name axis․y2․tick․stepSize
+	 * @memberof Options
+	 * @type {number}
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.StepSizeForYAxis)
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     tick: {
+	 *       // tick value will step as indicated interval value.
+	 *       // ex) 'stepSize=15' ==> [0, 15, 30, 45, 60]
+	 *       stepSize: 15
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y2_tick_stepSize: <number | null>null,
+
+	/**
+	 * Show or hide y2 axis tick text.
+	 * @name axis․y2․tick․text․show
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.HideTickLineText)
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     tick: {
+	 *       text: {
+	 *           show: false
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y2_tick_text_show: true,
+
+	/**
+	 * Set the y2 Axis tick text's position relatively its original position
+	 * @name axis․y2․tick․text․position
+	 * @memberof Options
+	 * @type {object}
+	 * @default {x: 0, y:0}
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     tick: {
+	 *       text: {
+	 *         position: {
+	 *           x: 10,
+	 *           y: 10
+	 *         }
+	 *       }
+	 *     }
+	 *   }
+	 * }
+	 */
+	axis_y2_tick_text_position: {x: 0, y: 0},
+
+	/**
+	 * Set padding for y2 axis.<br><br>
+	 * You can set padding for y2 axis to create more space on the edge of the axis.
+	 * This option accepts object and it can include top and bottom. top, bottom will be treated as pixels.
+	 *
+	 * - **NOTE:**
+	 *   - Given values are translated relative to the y2 Axis domain value for padding
+	 *   - For area and bar type charts, [area.zerobased](#.area) or [bar.zerobased](#.bar) options should be set to 'false` to get padded bottom.
+	 * @name axis․y2․padding
+	 * @memberof Options
+	 * @type {object|number}
+	 * @default {}
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     padding: {
+	 *       top: 100,
+	 *       bottom: 100
+	 *     }
+	 *
+	 *     // or set both values at once.
+	 *     padding: 10
+	 * }
+	 */
+	axis_y2_padding: <number | {top?: number, bottom?: number}>{},
+
+	/**
+	 * Set default range of y2 axis.<br><br>
+	 * This option set the default value for y2 axis when there is no data on init.
+	 * @name axis․y2․default
+	 * @memberof Options
+	 * @type {Array}
+	 * @default undefined
+	 * @example
+	 * axis: {
+	 *   y2: {
+	 *     default: [0, 1000]
+	 *   }
+	 * }
+	 */
+	axis_y2_default: undefined,
+
+	/**
+	 * Set additional axes for y2 Axis.
+	 * - **NOTE:** Axis' scale is based on y2 Axis value if domain option isn't set.
+	 *
+	 * Each axis object should consist with following options:
+	 *
+	 * | Name | Type | Default | Description |
+	 * | --- | --- | --- | --- |
+	 * | domain | Array | - | Set the domain value |
+	 * | tick.outer | boolean | true | Show outer tick |
+	 * | tick.format | Function | - | Set formatter for tick text |
+	 * | tick.count | Number | - | Set the number of y axis ticks |
+	 * | tick.values | Array | - | Set tick values manually |
+	 * @name axis․y2․axes
+	 * @memberof Options
+	 * @type {Array}
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Axis.MultiAxes)
+	 * @see [Demo: Domain](https://naver.github.io/billboard.js/demo/#Axis.MultiAxesDomain)
+	 * @example
+	 * y2: {
+	 *    axes: [
+	 *      {
+	 *        // if set, will not be correlated with the main y2 Axis domain value
+	 *        domain: [0, 1000],
+	 *        tick: {
+	 *          outer: false,
+	 *          format: function(x) {
+	 *             return x + "%";
+	 *          },
+	 *          count: 2,
+	 *          values: [10, 20, 30]
+	 *        }
+	 *      },
+	 *      ...
+	 *    ]
+	 * }
+	 */
+	axis_y2_axes: []
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_common_boost.ts.html b/release/3.14.2/doc/config_Options_common_boost.ts.html new file mode 100644 index 000000000..850c7612f --- /dev/null +++ b/release/3.14.2/doc/config_Options_common_boost.ts.html @@ -0,0 +1,117 @@ + + + + + + config/Options/common/boost.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/common/boost.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * boost config options
+ */
+export default {
+	/**
+	 * Set boost options
+	 * @name boost
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} boost boost object
+	 * @property {boolean} [boost.useCssRule=false] Avoid setting inline styles for each shape elements.
+	 * - **NOTE:**
+	 *   - Will append &lt;style> to the head tag and will add shpes' CSS rules dynamically.
+	 *   - For now, covers colors related properties (fill, stroke, etc.) only.
+	 * @property {boolean} [boost.useWorker=false] Use Web Worker as possible for processing.
+	 * - **NOTE:**
+	 *   - For now, only applies for data conversion at the initial time.
+	 *   - As of Web Worker's async nature, handling chart instance synchrously is not recommended.
+	 * @example
+	 *  boost: {
+	 *      useCssRule: true,
+	 *      useWorker: false
+	 *  }
+	 */
+	boost_useCssRule: false,
+	boost_useWorker: false
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_common_color.ts.html b/release/3.14.2/doc/config_Options_common_color.ts.html new file mode 100644 index 000000000..a00c2aa29 --- /dev/null +++ b/release/3.14.2/doc/config_Options_common_color.ts.html @@ -0,0 +1,173 @@ + + + + + + config/Options/common/color.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/common/color.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * color config options
+ */
+export default {
+	/**
+	 * Set color of the data values
+	 * @name color
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} color color object
+	 * @property {string|object|Function} [color.onover] Set the color value for each data point when mouse/touch onover event occurs.
+	 * @property {Array|null} [color.pattern=[]] Set custom color pattern. Passing `null` will not set a color for these elements, which requires the usage of custom CSS-based theming to work.
+	 * @property {Function} [color.tiles] if defined, allows use svg's patterns to fill data area. It should return an array of [SVGPatternElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGPatternElement).
+	 *  - **NOTE:** The pattern element's id will be defined as `bb-colorize-pattern-$COLOR-VALUE`.<br>
+	 *    ex. When color pattern value is `['red', '#fff']` and defined 2 patterns,then ids for pattern elements are:<br>
+	 *    - `bb-colorize-pattern-red`
+	 *    - `bb-colorize-pattern-fff`
+	 * @property {object} [color.threshold] color threshold for gauge and tooltip color
+	 * @property {string} [color.threshold.unit] If set to `value`, the threshold will be based on the data value. Otherwise it'll be based on equation of the `threshold.max` option value.
+	 * @property {Array} [color.threshold.values] Threshold values for each steps
+	 * @property {number} [color.threshold.max=100] The base value to determine threshold step value condition. When the given value is 15 and max 10, then the value for threshold is `15*100/10`.
+	 * @example
+	 *  color: {
+	 *      pattern: ["#1f77b4", "#aec7e8", ...],
+	 *
+	 *      // Set colors' patterns
+	 *      // it should return an array of SVGPatternElement
+	 *      tiles: function() {
+	 *         var pattern = document.createElementNS("http://www.w3.org/2000/svg", "pattern");
+	 *         var g = document.createElementNS("http://www.w3.org/2000/svg", "g");
+	 *         var circle1 = document.createElementNS("http://www.w3.org/2000/svg", "circle");
+	 *
+	 *         pattern.setAttribute("patternUnits", "userSpaceOnUse");
+	 *         pattern.setAttribute("width", "32");
+	 *         pattern.setAttribute("height", "32");
+	 *
+	 *         g.style.fill = "#000";
+	 *         g.style.opacity = "0.2";
+	 *
+	 *         circle1.setAttribute("cx", "3");
+	 *         circle1.setAttribute("cy", "3");
+	 *         circle1.setAttribute("r", "3");
+	 *
+	 *         g.appendChild(circle1);
+	 *         pattern.appendChild(g);
+	 *
+	 *         return [pattern];
+	 *      },
+	 *
+	 *      // for threshold usage, pattern values should be set for each steps
+	 *      pattern: ["grey", "green", "yellow", "orange", "red"],
+	 *      threshold: {
+	 *          unit: "value",
+	 *
+	 *          // when value is 20 => 'green', value is 40 => 'orange' will be set.
+	 *          values: [10, 20, 30, 40, 50],
+	 *
+	 *          // the equation for max:
+	 *          // - unit == 'value': max => 30
+	 *          // - unit != 'value': max => value*100/30
+	 *          max: 30
+	 *      },
+	 *
+	 *      // set all data to 'red'
+	 *      onover: "red",
+	 *
+	 *      // set different color for data
+	 *      onover: {
+	 *          data1: "red",
+	 *          data2: "yellow"
+	 *      },
+	 *
+	 *      // will pass data object to the callback
+	 *      onover: function(d) {
+	 *          return d.id === "data1" ? "red" : "green";
+	 *      }
+	 *  }
+	 */
+	color_pattern: <(string | null)[]>[],
+	color_tiles: <(() => []) | undefined>undefined,
+	color_threshold: <{unit?: string, values?: number[], max: number}>{},
+	color_onover: <string | object | undefined>undefined
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_common_grid.ts.html b/release/3.14.2/doc/config_Options_common_grid.ts.html new file mode 100644 index 000000000..b0ff5e817 --- /dev/null +++ b/release/3.14.2/doc/config_Options_common_grid.ts.html @@ -0,0 +1,166 @@ + + + + + + config/Options/common/grid.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/common/grid.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * grid config options
+ */
+type Lines = {value?: number, text?: string, class?: string, position?: string}[];
+
+export default {
+	/**
+	 * Set related options
+	 * @name grid
+	 * @memberof Options
+	 * @type {object}
+	 * @property {boolean} [front=false] Set 'grid & focus lines' to be positioned over grid lines and chart elements.
+	 * @property {object} x Grid x object
+	 * @property {boolean} [x.show=false] Show grids along x axis.
+	 * @property {Array} [x.lines=[]] Show additional grid lines along x axis.<br>
+	 *  This option accepts array including object that has value, text, position and class. text, position and class are optional. For position, start, middle and end (default) are available.
+	 *  If x axis is category axis, value can be category name. If x axis is timeseries axis, value can be date string, Date object and unixtime integer.
+	 * @property {object} y Grid y object
+	 * @property {boolean} [y.show=false] Show grids along x axis.
+	 * @property {Array} [y.lines=[]] Show additional grid lines along y axis.<br>
+	 *  This option accepts array including object that has value, text, position and class.
+	 * @property {number} [y.ticks=undefined] Number of y grids to be shown.
+	 * @property {object} focus Grid focus object
+	 * @property {boolean} [focus.edge=false] Show edged focus grid line.<br>**NOTE:** Available when [`tooltip.grouped=false`](#.tooltip) option is set.
+	 * @property {boolean} [focus.show=true] Show grid line when focus.
+	 * @property {boolean} [focus.y=false] Show y coordinate focus grid line.<br>**NOTE:** Available when [`tooltip.grouped=false`](#.tooltip) option is set.
+	 * @property {object} lines Grid lines object
+	 * @property {boolean} [lines.front=true] Set grid lines to be positioned over chart elements.
+	 * @default undefined
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Grid.GridLines)
+	 * @see [Demo: X Grid Lines](https://naver.github.io/billboard.js/demo/#Grid.OptionalXGridLines)
+	 * @see [Demo: Y Grid Lines](https://naver.github.io/billboard.js/demo/#Grid.OptionalYGridLines)
+	 * @example
+	 * grid: {
+	 *   x: {
+	 *     show: true,
+	 *     lines: [
+	 *       {value: 2, text: "Label on 2"},
+	 *       {value: 5, text: "Label on 5", class: "label-5"},
+	 *       {value: 6, text: "Label on 6", position: "start"}
+	 *     ]
+	 *   },
+	 *   y: {
+	 *     show: true,
+	 *     lines: [
+	 *       {value: 100, text: "Label on 100"},
+	 *       {value: 200, text: "Label on 200", class: "label-200"},
+	 *       {value: 300, text: "Label on 300", position: 'middle'}
+	 *     ],
+	 *     ticks: 5
+	 *   },
+	 *   front: true,
+	 *   focus: {
+	 *      show: false,
+	 *
+	 *      // Below options are available when 'tooltip.grouped=false' option is set
+	 *      edge: true,
+	 *      y: true
+	 *   },
+	 *   lines: {
+	 *      front: false
+	 *   }
+	 * }
+	 */
+	grid_x_show: false,
+	grid_x_type: "tick",
+	grid_x_lines: <Lines>[],
+	grid_y_show: false,
+	grid_y_lines: <Lines>[],
+	grid_y_ticks: <number | undefined>undefined,
+	grid_focus_edge: false,
+	grid_focus_show: true,
+	grid_focus_y: false,
+	grid_front: false,
+	grid_lines_front: true
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_common_legend.ts.html b/release/3.14.2/doc/config_Options_common_legend.ts.html new file mode 100644 index 000000000..3ee5ecc1f --- /dev/null +++ b/release/3.14.2/doc/config_Options_common_legend.ts.html @@ -0,0 +1,264 @@ + + + + + + config/Options/common/legend.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/common/legend.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * legend config options
+ */
+export default {
+	/**
+	 * Legend options
+	 * @name legend
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} legend Legend object
+	 * @property {boolean} [legend.show=true] Show or hide legend.
+	 * @property {boolean} [legend.hide=false] Hide legend
+	 *  If true given, all legend will be hidden. If string or array given, only the legend that has the id will be hidden.
+	 * @property {string|HTMLElement} [legend.contents.bindto=undefined] Set CSS selector or element reference to bind legend items.
+	 * - **NOTE:** Should be used along with `legend.contents.template`.
+	 * @property {string|Function} [legend.contents.template="<span style='color:#fff;padding:5px;background-color:{=COLOR}'>{=TITLE}</span>"] Set item's template.<br>
+	 *  - If set `string` value, within template the 'color' and 'title' can be replaced using template-like syntax string:
+	 *    - {=COLOR}: data color value
+	 *    - {=TITLE}: data title value
+	 *  - If set `function` value, will pass following arguments to the given function:
+	 *   - title {string}: data's id value
+	 *   - color {string}: color string
+	 *   - data {Array}: data array
+	 * @property {string} [legend.position=bottom] Change the position of legend.<br>
+	 *  Available values are: `bottom`, `right` and `inset` are supported.
+	 * @property {object} [legend.inset={anchor: 'top-left',x: 10,y: 0,step: undefined}] Change inset legend attributes.<br>
+	 *  This option accepts object that has the keys `anchor`, `x`, `y` and `step`.
+	 *  - **anchor** decides the position of the legend:
+	 *   - top-left
+	 *   - top-right
+	 *   - bottom-left
+	 *   - bottom-right
+	 *  - **x** and **y**:
+	 *   - set the position of the legend based on the anchor.
+	 *  - **step**:
+	 *   - defines the max step the legend has (e.g. If 2 set and legend has 3 legend item, the legend 2 columns).
+	 * @property {boolean} [legend.equally=false] Set to all items have same width size.
+	 * @property {number} [legend.padding=0] Set padding value
+	 * @property {boolean} [legend.item.interaction=true] Set legend item interaction.
+	 *  - **NOTE:**
+	 *    - This setting will not have effect on `.toggle()` method.
+	 *    - `legend.item.onXXX` listener options will work if set, regardless of this option value.
+	 * @property {boolean} [legend.item.interaction.dblclick=false] Set legend item to interact on double click.
+	 *  - **NOTE:**
+	 *    - Double clicking will make focused clicked dataseries only, hiding all others.
+	 *      - for single click case, `click + altKey(Win)/optionKey(Mac OS)` to have same effect.
+	 *    - To return initial state(which all dataseries are showing), double click current focused legend item again.
+	 *      - for single click case, `click + altKey(Win)/optionKey(Mac OS)` to have same effect.
+	 *    - In this case, default `click` interaction will be disabled.
+	 * @property {Function} [legend.item.onclick=undefined] Set click event handler to the legend item.
+	 *  - **NOTE:**
+	 *    - When set, default `click` interaction will be disabled.
+	 *    - When `interaction.dblclick=true` is set, will be called on double click.
+	 * @property {Function} [legend.item.onover=undefined] Set mouse/touch over event handler to the legend item.
+	 *  - **NOTE:** When set, default `mouseover` interaction will be disabled.
+	 * @property {Function} [legend.item.onout=undefined] Set mouse/touch out event handler to the legend item.
+	 *  - **NOTE:** When set, default `mouseout` interaction will be disabled.
+	 * @property {number} [legend.item.tile.width=10] Set width for 'rectangle' legend item tile element.
+	 * @property {number} [legend.item.tile.height=10] Set height for 'rectangle' legend item tile element.
+	 * @property {number} [legend.item.tile.r=5] Set the radius for 'circle' legend item tile type.
+	 * @property {string} [legend.item.tile.type="rectangle"] Set legend item shape type.<br>
+	 * - **Available Values:**
+	 *   - circle
+	 *   - rectangle
+	 * @property {boolean} [legend.format] Set formatter function for legend text.
+	 * The argument:<br>
+	 *  - `id`: Legend text value. When `data.names` is specified, will pass from it, otherwise will pass data id.
+	 *  - `dataId`: When `data.names` specified, will pass the original data id. Otherwise will be undefined.
+	 * @property {boolean} [legend.tooltip=false] Show full legend text value using system tooltip(via `<title>` element).
+	 * @property {boolean} [legend.usePoint=false] Whether to use custom points in legend.
+	 * @see [Demo: format](https://naver.github.io/billboard.js/demo/#Legend.LegendFormat)
+	 * @see [Demo: item.interaction](https://naver.github.io/billboard.js/demo/#Legend.LegendItemInteraction)
+	 * @see [Demo: item.tile.type](https://naver.github.io/billboard.js/demo/#Legend.LegendItemTileType)
+	 * @see [Demo: position](https://naver.github.io/billboard.js/demo/#Legend.LegendPosition)
+	 * @see [Demo: contents.template](https://naver.github.io/billboard.js/demo/#Legend.LegendTemplate1)
+	 * @see [Demo: usePoint](https://naver.github.io/billboard.js/demo/#Legend.usePoint)
+	 * @example
+	 *  legend: {
+	 *      show: true,
+	 *      hide: true,
+	 *      //or hide: "data1"
+	 *      //or hide: ["data1", "data2"]
+	 *      contents: {
+	 *          bindto: "#legend",   // <ul id='legend'></ul>
+	 *
+	 *          // will be as: <li style='background-color:#1f77b4'>data1</li>
+	 *          template: "<li style='background-color:{=COLOR}'>{=TITLE}</li>"
+	 *
+	 *          // or using function
+	 *          template: function(id, color, data) {
+	 *               // if you want omit some legend, return falsy value
+	 *               if (id !== "data1") {
+	 *                    return "<li style='background-color:"+ color +">"+ id +"</li>";
+	 *               }
+	 *          }
+	 *      },
+	 *      position: "bottom",  // bottom, right, inset
+	 *      inset: {
+	 *          anchor: "top-right"  // top-left, top-right, bottom-left, bottom-right
+	 *          x: 20,
+	 *          y: 10,
+	 *          step: 2
+	 *      },
+	 *      equally: false,
+	 *      padding: 10,
+	 *      item: {
+	 *          // will disable default interaction
+	 *          interaction: false,
+	 *
+	 *          // set legend interact on double click
+	 *          // by double clicking, will make focused clicked dataseries only, hiding all others.
+	 *          interaction: {
+	 *            dblclick: true
+	 *          }
+	 *
+	 *          // when set below callback, will disable corresponding default interactions
+	 *          onclick: function(id, visible) {
+	 *           	// toggle based on the data visibility
+	 *           	this[visible ? "hide" : "show"](id);
+	 *          },
+	 *          onover: function(id, visible) { ... },
+	 *          onout: function(id, visible) { ... },
+	 *
+	 *          // set tile's size
+	 *          tile: {
+	 *              // set tile type
+	 *              type: "circle"  // or "rectangle" (default)
+	 *
+	 *              // width & height, are only applicable for 'rectangle' legend type
+	 *              width: 15,
+	 *              height: 15
+	 *
+	 *              // radis is only applicable for 'circle' legend type
+	 *              r: 10
+	 *          }
+	 *      },
+	 *      format: function(id, dataId) {
+	 *          // set ellipsis string when length is > 5
+	 *          // to get full legend value, combine with 'legend.tooltip=true'
+	 *          if (id.length > 5) {
+	 *            	id = id.substr(0, 5) + "...";
+	 *          }
+	 *
+	 *          return id;
+	 *      },
+	 *      tooltip: true,
+	 *      usePoint: true
+	 *  }
+	 */
+	legend_contents_bindto: <string | HTMLElement | undefined>undefined,
+	legend_contents_template: <string | (() => string)
+		| undefined>"<span style='color:#fff;padding:5px;background-color:{=COLOR}'>{=TITLE}</span>",
+	legend_equally: false,
+	legend_hide: false,
+	legend_inset_anchor: <"top-left" | "top-right" | "bottom-left" | "bottom-right">"top-left",
+	legend_inset_x: 10,
+	legend_inset_y: 0,
+	legend_inset_step: <number | undefined>undefined,
+	legend_item_interaction: <boolean | {dblclick?: boolean}>true,
+	legend_item_dblclick: false,
+	legend_item_onclick: <Function | undefined>undefined,
+	legend_item_onover: <Function | undefined>undefined,
+	legend_item_onout: <Function | undefined>undefined,
+	legend_item_tile_width: 10,
+	legend_item_tile_height: 10,
+	legend_item_tile_r: 5,
+	legend_item_tile_type: <"rectangle" | "circle">"rectangle",
+	legend_format: <Function | undefined>undefined,
+	legend_padding: 0,
+	legend_position: <"bottom" | "right" | "inset">"bottom",
+	legend_show: true,
+	legend_tooltip: false,
+	legend_usePoint: false
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_common_main.ts.html b/release/3.14.2/doc/config_Options_common_main.ts.html new file mode 100644 index 000000000..bf25e00f1 --- /dev/null +++ b/release/3.14.2/doc/config_Options_common_main.ts.html @@ -0,0 +1,517 @@ + + + + + + config/Options/common/main.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/common/main.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import type {RegionsType} from "../../../../types/types";
+
+/**
+ * main config options
+ */
+export default {
+	/**
+	 * Specify the CSS selector or the element which the chart will be set to. D3 selection object can be specified also.<br>
+	 * If other chart is set already, it will be replaced with the new one (only one chart can be set in one element).
+	 * - **NOTE:** In case of element doesn't exist or not specified, will add a `<div>` element to the body.
+	 * @name bindto
+	 * @memberof Options
+	 * @property {string|HTMLElement|d3.selection|object} [bindto="#chart"] Specify the element where chart will be drawn.
+	 * @property {string|HTMLElement|d3.selection} bindto.element="#chart" Specify the element where chart will be drawn.
+	 * @property {string} [bindto.classname=bb] Specify the class name of bind element.<br>
+	 *     **NOTE:** When class name isn't `bb`, then you also need to update the default CSS to be rendered correctly.
+	 * @default #chart
+	 * @example
+	 * bindto: "#myContainer"
+	 *
+	 * // or HTMLElement
+	 * bindto: document.getElementById("myContainer")
+	 *
+	 * // or D3 selection object
+	 * bindto: d3.select("#myContainer")
+	 *
+	 * // or to change default classname
+	 * bindto: {
+	 *    element: "#chart",
+	 *    classname: "bill-board"  // ex) <div id='chart' class='bill-board'>
+	 * }
+	 */
+	bindto: <string | {element: string, classname?: string}>"#chart",
+
+	/**
+	 * Set chart background.
+	 * @name background
+	 * @memberof Options
+	 * @property {object} background background object
+	 * @property {string} background.class Specify the class name for background element.
+	 * @property {string} background.color Specify the fill color for background element.<br>**NOTE:** Will be ignored if `imgUrl` option is set.
+	 * @property {string} background.imgUrl Specify the image url string for background.
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.Background)
+	 * @example
+	 * background: {
+	 *    class: "myClass",
+	 *    color: "red",
+	 *
+	 *    // Set image url for background.
+	 *    // If specified, 'color' option will be ignored.
+	 *    imgUrl: "https://naver.github.io/billboard.js/img/logo/billboard.js.svg",
+	 * }
+	 */
+	background: <{class?: string, color?: string, imgUrl?: string}>{},
+
+	/**
+	 * Set 'clip-path' attribute for chart element
+	 * - **NOTE:**
+	 *  > When is false, chart node element is positioned after the axis node in DOM tree hierarchy.
+	 *  > Is to make chart element positioned over axis element.
+	 * @name clipPath
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.clipPath)
+	 * @example
+	 * // don't set 'clip-path' attribute
+	 * clipPath: false
+	 */
+	clipPath: true,
+
+	/**
+	 * Set svg element's class name
+	 * @name svg
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} [svg] svg object
+	 * @property {string} [svg.classname] class name for svg element
+	 * @example
+	 * svg: {
+	 *   classname: "test_class"
+	 * }
+	 */
+	svg_classname: <string | undefined>undefined,
+
+	/**
+	 * The desired size of the chart element.
+	 * If value is not specified, the width of the chart will be calculated by the size of the parent element it's appended to.
+	 * @name size
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} [size] size object
+	 * @property {number} [size.width] width of the chart element
+	 * @property {number} [size.height] height of the chart element
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.ChartSize)
+	 * @example
+	 * size: {
+	 *   width: 640,
+	 *   height: 480
+	 * }
+	 */
+	size_width: <number | undefined>undefined,
+	size_height: <number | undefined>undefined,
+
+	/**
+	 * The padding of the chart element.
+	 * - **NOTE:** for more information, see the "[`Understanding padding`](https://github.com/naver/billboard.js/wiki/Understanding-padding)"" wiki documentaion.
+	 * @name padding
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object|boolean} [padding=true] Set padding of chart, and accepts object or boolean type.
+	 * - `Object`: Specify each side's padding.
+	 * - `false`: Remove padding completely and make shape to fully occupy the container element.
+	 *   - In this case, axes and subchart will be hidden.
+	 *   - To adjust some padding from this state, use `axis.[x|y].padding` option.
+	 * @property {string} [padding.mode] padding mode
+	 * - `"fit"`: Reduce padding as much as possible to make chart fit to the container element for chart types w/axis.<br>When specified, all padding values will be relative from fitted value.
+	 * @property {number} [padding.top] padding on the top of chart
+	 * @property {number} [padding.right] padding on the right of chart
+	 * @property {number} [padding.bottom] padding on the bottom of chart
+	 * @property {number} [padding.left] padding on the left of chart
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.Padding)
+	 * @see [Demo: Fit padding](https://naver.github.io/billboard.js/demo/#ChartOptions.FitPadding)
+	 * @example
+	 * // remove padding completely.
+	 * padding: false,
+	 *
+	 * padding: {
+	 *   // specifying mode value, will reduce padding and make fit to the container element.
+	 *   mode: "fit"
+	 *
+	 *   // when mode is "fit", all padding values will be relative from fitted value.
+	 *   // so, 0 will be initial fitted value.
+	 *   top: 20,
+	 *   right: 20,
+	 *   bottom: 20,
+	 *   left: 20
+	 * }
+	 *
+	 * // or specify padding value for each side
+	 * padding: {
+	 *   top: 20,
+	 *   right: 20,
+	 *   bottom: 20,
+	 *   left: 20
+	 * }
+	 */
+	padding: true,
+	padding_mode: <"fit" | undefined>undefined,
+	padding_left: <number | undefined>undefined,
+	padding_right: <number | undefined>undefined,
+	padding_top: <number | undefined>undefined,
+	padding_bottom: <number | undefined>undefined,
+
+	/**
+	 * Set chart resize options
+	 * @name resize
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} [resize] resize object
+	 * @property {boolean|string} [resize.auto=true] Set chart resize automatically on viewport changes.
+	 * - **NOTE:** Available options
+	 *   - true: Enables automatic resize.
+	 *   - false: Disables automatic resize.
+	 *   - "viewBox": Enables automatic resize, and size will be fixed based on the viewbox.
+	 * @property {boolean|number} [resize.timer=true] Set resize timer option.
+	 * - **NOTE:** Available options
+	 *   - The resize function will be called using:
+	 *     - true: `setTimeout()`
+	 *     - false: `requestIdleCallback()`
+	 *   - Given number(delay in ms) value, resize function will be triggered using `setTimeout()` with given delay.
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.resizeViewBox)
+	 * @example
+	 *  resize: {
+	 *      auto: false,
+	 *
+	 *      // set resize based on viewBox value
+	 *      auto: "viewBox",
+	 *
+	 *      // set resize function will be triggered using `setTimeout()`
+	 *      timer: true,
+	 *
+	 *      // set resize function will be triggered using `requestIdleCallback()`
+	 *      timer: false,
+	 *
+	 *      // set resize function will be triggered using `setTimeout()` with a delay of `100ms`.
+	 *      timer: 100
+	 *  }
+	 */
+	resize_auto: <boolean | "viewBox">true,
+	resize_timer: true,
+
+	/**
+	 * Set a callback to execute when the chart is clicked.
+	 * @name onclick
+	 * @memberof Options
+	 * @type {Function}
+	 * @default undefined
+	 * @example
+	 * onclick: function(event) {
+	 *   this; // chart instance itself
+	 *   event; // native event object
+	 *   ...
+	 * }
+	 */
+	onclick: <(() => void) | undefined>undefined,
+
+	/**
+	 * Set a callback to execute when mouse/touch enters the chart.
+	 * @name onover
+	 * @memberof Options
+	 * @type {Function}
+	 * @default undefined
+	 * @example
+	 * onover: function(event) {
+	 *   this; // chart instance itself
+	 *   event; // native event object
+	 *   ...
+	 * }
+	 */
+	onover: <(() => void) | undefined>undefined,
+
+	/**
+	 * Set a callback to execute when mouse/touch leaves the chart.
+	 * @name onout
+	 * @memberof Options
+	 * @type {Function}
+	 * @default undefined
+	 * @example
+	 * onout: function(event) {
+	 *   this; // chart instance itself
+	 *   event; // native event object
+	 *   ...
+	 * }
+	 */
+	onout: <(() => void) | undefined>undefined,
+
+	/**
+	 * Set a callback to execute when user resizes the screen.
+	 * @name onresize
+	 * @memberof Options
+	 * @type {Function}
+	 * @default undefined
+	 * @example
+	 * onresize: function() {
+	 *   this; // chart instance itself
+	 *   ...
+	 * }
+	 */
+	onresize: <(() => void) | undefined>undefined,
+
+	/**
+	 * Set a callback to execute when screen resize finished.
+	 * @name onresized
+	 * @memberof Options
+	 * @type {Function}
+	 * @default undefined
+	 * @example
+	 * onresized: function() {
+	 *   this; // chart instance itself
+	 *   ...
+	 * }
+	 */
+	onresized: <(() => void) | undefined>undefined,
+
+	/**
+	 * Set a callback to execute before the chart is initialized
+	 * @name onbeforeinit
+	 * @memberof Options
+	 * @type {Function}
+	 * @default undefined
+	 * @example
+	 * onbeforeinit: function() {
+	 *   this; // chart instance itself
+	 *   ...
+	 * }
+	 */
+	onbeforeinit: <(() => void) | undefined>undefined,
+
+	/**
+	 * Set a callback to execute when the chart is initialized.
+	 * @name oninit
+	 * @memberof Options
+	 * @type {Function}
+	 * @default undefined
+	 * @example
+	 * oninit: function() {
+	 *   this; // chart instance itself
+	 *   ...
+	 * }
+	 */
+	oninit: <(() => void) | undefined>undefined,
+
+	/**
+	 * Set a callback to execute after the chart is initialized
+	 * @name onafterinit
+	 * @memberof Options
+	 * @type {Function}
+	 * @default undefined
+	 * @example
+	 * onafterinit: function() {
+	 *   this; // chart instance itself
+	 *   ...
+	 * }
+	 */
+	onafterinit: <(() => void) | undefined>undefined,
+
+	/**
+	 * Set a callback which is executed when the chart is rendered. Basically, this callback will be called in each time when the chart is redrawed.
+	 * @name onrendered
+	 * @memberof Options
+	 * @type {Function}
+	 * @default undefined
+	 * @example
+	 * onrendered: function() {
+	 *   this; // chart instance itself
+	 *   ...
+	 * }
+	 */
+	onrendered: <(() => void) | undefined>undefined,
+
+	/**
+	 * Set duration of transition (in milliseconds) for chart animation.<br><br>
+	 * - **NOTE:** If `0 `or `null` set, transition will be skipped. So, this makes initial rendering faster especially in case you have a lot of data.
+	 * @name transition
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} [transition] transition object
+	 * @property {number} [transition.duration=350] duration in milliseconds
+	 * @example
+	 * transition: {
+	 *    duration: 500
+	 * }
+	 */
+	transition_duration: 250,
+
+	/**
+	 * Set plugins
+	 * @name plugins
+	 * @memberof Options
+	 * @type {Array}
+	 * @example
+	 *  plugins: [
+	 *    new bb.plugin.stanford({ ... }),
+	 *    new PluginA(),
+	 *    ...
+	 * ]
+	 */
+	plugins: [],
+
+	/**
+	 * Control the render timing
+	 * @name render
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} [render] render object
+	 * @property {boolean} [render.lazy=true] Make to not render at initialization.
+	 * - **NOTE**:
+	 *   - Enabled by default when bind element's visibility is hidden.
+	 *   - When set to `false`, will initialize the chart regardless the bind element's visibility state, but in this case chart can't be guaranteed to be rendered properly.
+	 * @property {boolean} [render.observe=true] Observe bind element's visibility(`display` or `visiblity` inline css property or class value) & render when is visible automatically (for IEs, only works IE11+). When set to **false**, call [`.flush()`](./Chart.html#flush) to render.
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#ChartOptions.LazyRender)
+	 * @example
+	 *  render: {
+	 *    lazy: true,
+	 *    observe: true
+	 * }
+	 *
+	 * @example
+	 * 	// <!-- render.lazy will detect visibility defined -->
+	 *  // (a) <div id='chart' class='hide'></div>
+	 *  // (b) <div id='chart' style='display:none'></div>
+	 *
+	 *  // render.lazy enabled by default when element is hidden
+	 *  var chart = bb.generate({ ... });
+	 *
+	 *  // chart will be rendered automatically when element's visibility changes
+	 *  // Note: works only for inlined css property or class attribute changes
+	 *  document.getElementById('chart').classList.remove('hide')  // (a)
+	 *  document.getElementById('chart').style.display = 'block';  // (b)
+	 *
+	 * @example
+	 * 	// chart won't be rendered and not observing bind element's visiblity changes
+	 *  var chart = bb.generate({
+	 *     render: {
+	 *          lazy: true,
+	 *          observe: false
+	 *     }
+	 *  });
+	 *
+	 *  // call at any point when you want to render
+	 *  chart.flush();
+	 */
+	render: <{lazy?: boolean, observe?: boolean}>{},
+
+	/**
+	 * Show rectangles inside the chart.<br><br>
+	 * This option accepts array including object that has axis, start, end and class.
+	 * The keys start, end and class are optional.
+	 * axis must be x, y or y2. start and end should be the value where regions start and end.
+	 * If not specified, the edge values will be used.
+	 * If timeseries x axis, date string, Date object and unixtime integer can be used.
+	 * If class is set, the region element will have it as class.
+	 * @name regions
+	 * @memberof Options
+	 * @type {Array}
+	 * @default []
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Region.RegionLabel)
+	 * @example
+	 *  regions: [
+	 *    {
+	 *      axis: "x",
+	 *      start: 1,
+	 *      end: 4,
+	 *      class: "region-1-4",
+	 *      label: {
+	 *      	text: "Region Text",
+	 *      	x: 5,  // position relative of the initial x coordinate
+	 *      	y: 5,  // position relative of the initial y coordinate
+	 *      	color: "red",  // color string
+	 *      	rotated: true  // make text to show in vertical or horizontal
+	 *      }
+	 *    }
+	 *  ]
+	 */
+	regions: <RegionsType[]>[]
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_common_point.ts.html b/release/3.14.2/doc/config_Options_common_point.ts.html new file mode 100644 index 000000000..ea0c48e3c --- /dev/null +++ b/release/3.14.2/doc/config_Options_common_point.ts.html @@ -0,0 +1,254 @@ + + + + + + config/Options/common/point.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/common/point.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {IDataPoint} from "../../../ChartInternal/data/IData";
+
+/**
+ * point config options
+ */
+export default {
+	/**
+	 * Set point options
+	 * @name point
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} point Point object
+	 * @property {boolean} [point.show=true] Whether to show each point in line.
+	 * @property {number|Function} [point.r=2.5] The radius size of each point.
+	 *  - **NOTE:** Disabled for 'bubble' type
+	 * @property {boolean|object} [point.radialGradient=false] Set the radial gradient on point.<br><br>
+	 * Or customize by giving below object value:
+	 *  - cx {number}: `cx` value (default: `0.3`)
+	 *  - cy {number}: `cy` value (default: `0.3`)
+	 *  - r {number}: `r` value (default: `0.7`)
+	 *  - stops {Array}: Each item should be having `[offset, stop-color, stop-opacity]` values.
+	 *    - (default: `[[0.1, $DATA_COLOR, 1], [0.9, $DATA_COLOR, 0]]`)
+	 * @property {boolean} [point.focus.expand.enabled=true] Whether to expand each point on focus.
+	 * @property {number} [point.focus.expand.r=point.r*1.75] The radius size of each point on focus.
+	 *  - **NOTE:** For 'bubble' type, the default is `bubbleSize*1.15`
+	 * @property {boolean} [point.focus.only=false] Show point only when is focused.
+	 * @property {number|null} [point.opacity=undefined] Set point opacity value.
+	 * - **NOTE:**
+	 * 	- `null` will make to not set inline 'opacity' css prop.
+	 * 	- when no value(or undefined) is set, it defaults to set opacity value according its chart types.
+	 * @property {number|string|Function} [point.sensitivity=10] The senstivity value for interaction boundary.
+	 * - **Available Values:**
+	 *   - {number}: Absolute sensitivity value which is the distance from the data point in pixel.
+	 *   - "radius": sensitivity based on point's radius
+	 *   - Function: callback for each point to determine the sensitivity<br>
+	 *    	```js
+	 *   	sensitivity: function(d) {
+	 * 	  // ex. of argument d:
+	 * 	  // ==> {x: 2, value: 55, id: 'data3', index: 2, r: 19.820624179302296}
+	 *
+	 * 	  // returning d.r, will make sensitivity same as point's radius value.
+	 *  	  return d.r;
+	 * 	}
+	 * 	```
+	 * @property {number} [point.select.r=point.r*4] The radius size of each point on selected.
+	 * @property {string} [point.type="circle"] The type of point to be drawn
+	 * - **NOTE:**
+	 *   - If chart has 'bubble' type, only circle can be used.
+	 *   - For IE, non circle point expansions are not supported due to lack of transform support.
+	 * - **Available Values:**
+	 *   - circle
+	 *   - rectangle
+	 * @property {Array} [point.pattern=[]] The type of point or svg shape as string, to be drawn for each line
+	 * - **NOTE:**
+	 *   - This is an `experimental` feature and can have some unexpected behaviors.
+	 *   - If chart has 'bubble' type, only circle can be used.
+	 *   - For IE, non circle point expansions are not supported due to lack of transform support.
+	 * - **Available Values:**
+	 *   - circle
+	 *   - rectangle
+	 *   - svg shape tag interpreted as string<br>
+	 *     (ex. `<polygon points='2.5 0 0 5 5 5'></polygon>`)
+	 * @see [Demo: point type](https://naver.github.io/billboard.js/demo/#Point.RectanglePoints)
+	 * @see [Demo: point focus only](https://naver.github.io/billboard.js/demo/#Point.FocusOnly)
+	 * @see [Demo: point radialGradient](https://naver.github.io/billboard.js/demo/#Point.RadialGradientPoint)
+	 * @see [Demo: point sensitivity](https://naver.github.io/billboard.js/demo/#Point.PointSensitivity)
+	 * @example
+	 *  point: {
+	 *      show: false,
+	 *      r: 5,
+	 *
+	 *      // or customize the radius
+	 *      r: function(d) {
+	 *          ...
+	 *          return r;
+	 *      },
+	 *
+	 *      // will generate follwing radialGradient:
+	 *      // for more info: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/radialGradient
+	 *      // <radualGradient cx="0.3" cy="0.3" r="0.7">
+	 *      //    <stop offset="0.1" stop-color="$DATA_COLOR" stop-opacity="1"></stop>
+	 *      //    <stop offset="0.9" stop-color="$DATA_COLOR" stop-opacity="0"></stop>
+	 *      // </radialrGradient>
+	 *      radialGradient: true,
+	 *
+	 *      // Or customized gradient
+	 *      radialGradient: {
+	 *      	cx: 0.3,  // cx attributes
+	 *      	cy: 0.5,  // cy attributes
+	 *      	r: 0.7,  // r attributes
+	 *      	stops: [
+	 *      	  // offset, stop-color, stop-opacity
+	 *      	  [0, "#7cb5ec", 1],
+	 *
+	 *      	  // setting 'null' for stop-color, will set its original data color
+	 *      	  [0.5, null, 0],
+	 *
+	 *      	  // setting 'function' for stop-color, will pass data id as argument.
+	 *      	  // It should return color string or null value
+	 *      	  [1, function(id) { return id === "data1" ? "red" : "blue"; }, 0],
+	 *      	]
+	 *      },
+	 *
+	 *      focus: {
+	 *          expand: {
+	 *              enabled: true,
+	 *              r: 1
+	 *          },
+	 *          only: true
+	 *      },
+	 *
+	 *      // do not set inline 'opacity' css prop setting
+	 *      opacity: null,
+	 *
+	 *      // set every data point's opacity value
+	 *      opacity: 0.7,
+	 *
+	 *      select: {
+	 *          r: 3
+	 *      },
+	 *
+	 *      // having lower value, means how closer to be for interaction
+	 *      sensitivity: 3,
+	 *
+	 *      // sensitivity based on point's radius
+	 *      sensitivity: "radius",
+	 *
+	 *      // callback for each point to determine the sensitivity
+	 *      sensitivity: function(d) {
+	 * 	// ex. of argument d:
+	 * 	// ==> {x: 2, value: 55, id: 'data3', index: 2, r: 19.820624179302296}
+	 *
+	 * 	// returning d.r, will make sensitivity same as point's radius value.
+	 * 	return d.r;
+	 *      }
+	 *
+	 *      // valid values are "circle" or "rectangle"
+	 *      type: "rectangle",
+	 *
+	 *      // or indicate as pattern
+	 *      pattern: [
+	 *        "circle",
+	 *        "rectangle",
+	 *        "<polygon points='0 6 4 0 -4 0'></polygon>"
+	 *     ],
+	 *  }
+	 */
+	point_show: true,
+	point_r: 2.5,
+	point_radialGradient: <boolean | {
+		cx?: number,
+		cy?: number,
+		r?: number,
+		stops?: [number, string | null | Function, number]
+	}>false,
+	point_sensitivity: <number | "radius" | ((d: IDataPoint) => number)>10,
+	point_focus_expand_enabled: true,
+	point_focus_expand_r: <number | undefined>undefined,
+	point_focus_only: false,
+	point_opacity: <number | null | undefined>undefined,
+	point_pattern: <string[]>[],
+	point_select_r: <number | undefined>undefined,
+	point_type: "circle"
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_common_title.ts.html b/release/3.14.2/doc/config_Options_common_title.ts.html new file mode 100644 index 000000000..2d466737f --- /dev/null +++ b/release/3.14.2/doc/config_Options_common_title.ts.html @@ -0,0 +1,132 @@ + + + + + + config/Options/common/title.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/common/title.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * title config options
+ */
+export default {
+	/**
+	 * Set title options
+	 * @name title
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} title Title object
+	 * @property {string} [title.text] Title text. If contains `\n`, it's used as line break allowing multiline title.
+	 * @property {number} [title.padding.top=0] Top padding value.
+	 * @property {number} [title.padding.right=0] Right padding value.
+	 * @property {number} [title.padding.bottom=0] Bottom padding value.
+	 * @property {number} [title.padding.left=0] Left padding value.
+	 * @property {string} [title.position=center] Available values are: 'center', 'right' and 'left'.
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Title.MultilinedTitle)
+	 * @example
+	 *  title: {
+	 *      text: "Title Text",
+	 *
+	 *      // or Multiline title text
+	 *      text: "Main title text\nSub title text",
+	 *
+	 *      padding: {
+	 *          top: 10,
+	 *          right: 10,
+	 *          bottom: 10,
+	 *          left: 10
+	 *      },
+	 *      position: "center"
+	 *  }
+	 */
+	title_text: <string | undefined>undefined,
+	title_padding: {
+		top: 0,
+		right: 0,
+		bottom: 0,
+		left: 0
+	},
+	title_position: <"center" | "right" | "left">"center"
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_common_tooltip.ts.html b/release/3.14.2/doc/config_Options_common_tooltip.ts.html new file mode 100644 index 000000000..2ac3a3bbc --- /dev/null +++ b/release/3.14.2/doc/config_Options_common_tooltip.ts.html @@ -0,0 +1,339 @@ + + + + + + config/Options/common/tooltip.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/common/tooltip.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * tooltip config options
+ */
+export default {
+	/**
+	 * Tooltip options
+	 * @name tooltip
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} tooltip Tooltip object
+	 * @property {boolean} [tooltip.show=true] Show or hide tooltip.
+	 * @property {boolean} [tooltip.doNotHide=false] Make tooltip keep showing not hiding on interaction.
+	 * @property {boolean} [tooltip.grouped=true] Set if tooltip is grouped or not for the data points.
+	 *   - **NOTE:** The overlapped data points will be displayed as grouped even if set false.
+	 * @property {boolean} [tooltip.linked=false] Set if tooltips on all visible charts with like x points are shown together when one is shown.
+	 * @property {string} [tooltip.linked.name=""] Groping name for linked tooltip.<br>If specified, linked tooltip will be groped interacting to be worked only with the same name.
+	 * @property {Function} [tooltip.format.title] Set format for the title of tooltip.<br>
+	 *  Specified function receives x of the data point to show.
+	 * @property {Function} [tooltip.format.name] Set format for the name of each data in tooltip.<br>
+	 *  Specified function receives name, ratio, id and index of the data point to show. ratio will be undefined if the chart is not donut/pie/gauge.
+	 * @property {Function} [tooltip.format.value] Set format for the value of each data value in tooltip. If undefined returned, the row of that value will be skipped to be called.
+	 *  - Will pass following arguments to the given function:
+	 *    - `value {string}`: Value of the data point. If data row contains multiple or ranged(ex. candlestick, area range, etc.) value, formatter will be called as value length.
+	 *    - `ratio {number}`: Ratio of the data point in the `pie/donut/gauge` and `area/bar` when contains grouped data. Otherwise is `undefined`.
+	 *    - `id {string}`: id of the data point
+	 *    - `index {number}`: Index of the data point
+	 * @property {Function} [tooltip.position] Set custom position function for the tooltip.<br>
+	 *  This option can be used to modify the tooltip position by returning object that has top and left.
+	 *  - Will pass following arguments to the given function:
+	 *    - `data {Array}`: Current selected data array object.
+	 *    - `width {number}`: Width of tooltip.
+	 *    - `height {number}`: Height of tooltip.
+	 *    - `element {SVGElement}`: Tooltip event bound element
+	 *    - `pos {object}`: Current position of the tooltip.
+	 * @property {Function|object} [tooltip.contents] Set custom HTML for the tooltip.<br>
+	 *  If tooltip.grouped is true, data includes multiple data points.<br><br>
+	 *  Specified function receives `data` array and `defaultTitleFormat`, `defaultValueFormat` and `color` functions of the data point to show.
+	 *  - **Note:**
+	 *    - defaultTitleFormat:
+	 *      - if `axis.x.tick.format` option will be used if set.
+	 *      - otherwise, will return function based on tick format type(category, timeseries).
+	 *    - defaultValueFormat:
+	 * 	    - for Arc type (except gauge, radar), the function will return value from `(ratio * 100).toFixed(1)`.
+	 * 	    - for Axis based types, will be used `axis.[y|y2].tick.format` option value if is set.
+	 * 	    - otherwise, will parse value and return as number.
+	 * @property {string|HTMLElement} [tooltip.contents.bindto=undefined] Set CSS selector or element reference to bind tooltip.
+	 *  - **NOTE:** When is specified, will not be updating tooltip's position.
+	 * @property {string} [tooltip.contents.template=undefined] Set tooltip's template.<br><br>
+	 *  Within template, below syntax will be replaced using template-like syntax string:
+	 *    - **{{ ... }}**: the doubly curly brackets indicate loop block for data rows.
+	 *    - **{=CLASS_TOOLTIP}**: default tooltip class name `bb-tooltip`.
+	 *    - **{=CLASS_TOOLTIP_NAME}**: default tooltip data class name (ex. `bb-tooltip-name-data1`)
+	 *    - **{=TITLE}**: title value.
+	 *    - **{=COLOR}**: data color.
+	 *    - **{=NAME}**: data id value.
+	 *    - **{=VALUE}**: data value.
+	 * @property {object} [tooltip.contents.text=undefined] Set additional text content within data loop, using template syntax.
+	 *  - **NOTE:** It should contain `{ key: Array, ... }` value
+	 *    - 'key' name is used as substitution within template as '{=KEY}'
+	 *    - The value array length should match with the data length
+	 * @property {boolean} [tooltip.init.show=false] Show tooltip at the initialization.
+	 * @property {number} [tooltip.init.x=0] Set x Axis index(or index for Arc(donut, gauge, pie) types) to be shown at the initialization.
+	 * @property {object} [tooltip.init.position] Set the position of tooltip at the initialization.
+	 * @property {Function} [tooltip.onshow] Set a callback that will be invoked before the tooltip is shown.
+	 * @property {Function} [tooltip.onhide] Set a callback that will be invoked before the tooltip is hidden.
+	 * @property {Function} [tooltip.onshown] Set a callback that will be invoked after the tooltip is shown
+	 * @property {Function} [tooltip.onhidden] Set a callback that will be invoked after the tooltip is hidden.
+	 * @property {string|Function|null} [tooltip.order=null] Set tooltip data display order.<br><br>
+	 *  **Available Values:**
+	 *  - `desc`: In descending data value order
+	 *  - `asc`: In ascending data value order
+	 *  - `null`: It keeps the data display order<br>
+	 *     **NOTE:** When `data.groups` is set, the order will follow as the stacked graph order.<br>
+	 *      If want to order as data bound, set any value rather than asc, desc or null. (ex. empty string "")
+	 *  - `function(data1, data2) { ... }`: [Array.sort compareFunction](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters)
+	 * @see [Demo: Hide Tooltip](https://naver.github.io/billboard.js/demo/#Tooltip.HideTooltip)
+	 * @see [Demo: Tooltip Grouping](https://naver.github.io/billboard.js/demo/#Tooltip.TooltipGrouping)
+	 * @see [Demo: Tooltip Format](https://naver.github.io/billboard.js/demo/#Tooltip.TooltipFormat)
+	 * @see [Demo: Linked Tooltip](https://naver.github.io/billboard.js/demo/#Tooltip.LinkedTooltips)
+	 * @see [Demo: Tooltip Position](https://naver.github.io/billboard.js/demo/#Tooltip.TooltipPosition)
+	 * @see [Demo: Tooltip Template](https://naver.github.io/billboard.js/demo/#Tooltip.TooltipTemplate)
+	 * @example
+	 *  tooltip: {
+	 *      show: true,
+	 *      doNotHide: true,
+	 *      grouped: false,
+	 *      format: {
+	 *          title: function(x) { return "Data " + x; },
+	 *          name: function(name, ratio, id, index) { return name; },
+	 *
+	 *          // If data row contains multiple or ranged(ex. candlestick, area range, etc.) value,
+	 *          // formatter will be called as value length times.
+	 *          value: function(value, ratio, id, index) { return ratio; }
+	 *      },
+	 *      position: function(data, width, height, element, pos) {
+	 *          // data: [{x, index, id, name, value}, ...]
+	 *          // width: Tooltip width
+	 *          // height: Tooltip height
+	 *          // element: Tooltip event bound element
+	 *          // pos: {
+	 *          //   x: Current mouse event x position,
+	 *          //   y: Current mouse event y position,
+	 *          //   xAxis: Current x Axis position (the value is given for axis based chart type only)
+	 *          //   yAxis: Current y Axis position value or function(the value is given for axis based chart type only)
+	 *          // }
+	 *
+	 *          // yAxis will work differently per data lenghts
+	 *          // - a) Single data: `yAxis` will return `number` value
+	 *          // - b) Multiple data: `yAxis` will return a function with property value
+	 *
+	 *          // a) Single data:
+	 *          // Get y coordinate
+	 *          pos.yAxis; // y axis coordinate value of current data point
+	 *
+	 *          // b) Multiple data:
+	 *          // Get y coordinate of value 500, where 'data1' scales(y or y2).
+	 *          // When 'data.axes' option is used, data can bound to different axes.
+	 *          // - when "data.axes={data1: 'y'}", wil return y value from y axis scale.
+	 *          // - when "data.axes={data1: 'y2'}", wil return y value from y2 axis scale.
+	 *          pos.yAxis(500, "data1"); // will return y coordinate value of data1
+	 *
+	 *          pos.yAxis(500); // get y coordinate with value of 500, using y axis scale
+	 *          pos.yAxis(500, null, "y2"); // get y coordinate with value of 500, using y2 axis scale
+	 *
+	 *          return {
+	 *            top: 0,
+	 *            left: 0
+	 *          }
+	 *      },
+	 *
+	 *      contents: function(d, defaultTitleFormat, defaultValueFormat, color) {
+	 *          return ... // formatted html as you want
+	 *      },
+	 *
+	 *       // specify tooltip contents using template
+	 *       // - example of HTML returned:
+	 *       // <ul class="bb-tooltip">
+	 *       //   <li class="bb-tooltip-name-data1"><span>250</span><br><span style="color:#00c73c">data1</span></li>
+	 *       //   <li class="bb-tooltip-name-data2"><span>50</span><br><span style="color:#fa7171">data2</span></li>
+	 *       // </ul>
+	 *       contents: {
+	 *      	bindto: "#tooltip",
+	 *      	template: '<ul class={=CLASS_TOOLTIP}>{{' +
+	 *      			'<li class="{=CLASS_TOOLTIP_NAME}"><span>{=VALUE}</span><br>' +
+	 *      			'<span style=color:{=COLOR}>{=NAME}</span></li>' +
+	 *      		'}}</ul>'
+	 *      }
+	 *
+	 *       // with additional text value
+	 *       // - example of HTML returned:
+	 *       // <ul class="bb-tooltip">
+	 *       //   <li class="bb-tooltip-name-data1"><span>250</span><br>comment1<span style="color:#00c73c">data1</span>text1</li>
+	 *       //   <li class="bb-tooltip-name-data2"><span>50</span><br>comment2<span style="color:#fa7171">data2</span>text2</li>
+	 *       // </ul>
+	 *       contents: {
+	 *      	bindto: "#tooltip",
+	 *      	text: {
+	 *      		// a) 'key' name is used as substitution within template as '{=KEY}'
+	 *      		// b) the length should match with the data length
+	 *      		VAR1: ["text1", "text2"],
+	 *      		VAR2: ["comment1", "comment2"],
+	 *      	},
+	 *      	template: '<ul class={=CLASS_TOOLTIP}>{{' +
+	 *      			'<li class="{=CLASS_TOOLTIP_NAME}"><span>{=VALUE}</span>{=VAR2}<br>' +
+	 *      			'<span style=color:{=COLOR}>{=NAME}</span>{=VAR1}</li>' +
+	 *      		'}}</ul>'
+	 *      }
+	 *
+	 *      // sort tooltip data value display in ascending order
+	 *      order: "asc",
+	 *
+	 *      // specifying sort function
+	 *      order: function(a, b) {
+	 *         // param data passed format
+	 *         {x: 5, value: 250, id: "data1", index: 5, name: "data1"}
+	 *           ...
+	 *      },
+	 *
+	 *      // show at the initialization
+	 *      init: {
+	 *          show: true,
+	 *          x: 2, // x Axis index (or index for Arc(donut, gauge, pie) types)
+	 *          position: {
+	 *              top: "150px",  // specify as number or as string with 'px' unit string
+	 *              left: 250  // specify as number or as string with 'px' unit string
+	 *          }
+	 *      },
+	 *
+	 *      // fires prior tooltip is shown
+	 *      onshow: function(selectedData) {
+	 *      	// current dataset selected
+	 *      	// ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...]
+	 *      	selectedData;
+	 *      },
+	 *
+	 *      // fires prior tooltip is hidden
+	 *      onhide: function(selectedData) {
+	 *      	// current dataset selected
+	 *      	// ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...]
+	 *      	selectedData;
+	 *      },
+	 *
+	 *      // fires after tooltip is shown
+	 *      onshown: function(selectedData) {
+	 *      	// current dataset selected
+	 *      	// ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...]
+	 *      	selectedData;
+	 *      },
+	 *
+	 *      // fires after tooltip is hidden
+	 *      onhidden: function(selectedData) {
+	 *      	// current dataset selected
+	 *      	// ==> [{x: 4, value: 150, id: "data2", index: 4, name: "data2"}, ...]
+	 *      	selectedData;
+	 *      },
+	 *
+	 *      // Link any tooltips when multiple charts are on the screen where same x coordinates are available
+	 *      // Useful for timeseries correlation
+	 *      linked: true,
+	 *
+	 *      // Specify name to interact those with the same name only.
+	 *      linked: {
+	 *          name: "some-group"
+	 *      }
+	 *  }
+	 */
+	tooltip_show: true,
+	tooltip_doNotHide: false,
+	tooltip_grouped: true,
+	tooltip_format_title: <(() => string) | undefined>undefined,
+	tooltip_format_name: <(() => string) | undefined>undefined,
+	tooltip_format_value: <(() => number) | undefined>undefined,
+	tooltip_position: <(() => {top: number, left: number}) | undefined>undefined,
+	tooltip_contents: <(() => string) | {
+		bindto: string,
+		template: string,
+		text?: {[key: string]: string[]}
+	}>{},
+	tooltip_init_show: false,
+	tooltip_init_x: 0,
+	tooltip_init_position: undefined,
+	tooltip_linked: false,
+	tooltip_linked_name: "",
+	tooltip_onshow: () => {},
+	tooltip_onhide: () => {},
+	tooltip_onshown: () => {},
+	tooltip_onhidden: () => {},
+	tooltip_order: <string | Function | null>null
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_data_axis.ts.html b/release/3.14.2/doc/config_Options_data_axis.ts.html new file mode 100644 index 000000000..91aa7561c --- /dev/null +++ b/release/3.14.2/doc/config_Options_data_axis.ts.html @@ -0,0 +1,244 @@ + + + + + + config/Options/data/axis.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/data/axis.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import type {DataRegionsType} from "../../../../types/types";
+
+/**
+ * Axis based chart data config options
+ */
+export default {
+	/**
+	 * Specify the keys of the x values for each data.<br><br>
+	 * This option can be used if we want to show the data that has different x values.
+	 * @name data․xs
+	 * @memberof Options
+	 * @type {object}
+	 * @default {}
+	 * @example
+	 * data: {
+	 *   xs: {
+	 *      data1: "x1",
+	 *      data2: "x2"
+	 *   }
+	 * }
+	 */
+	data_xs: {},
+
+	/**
+	 * Set a format specifier to parse string specifed as x.
+	 * @name data․xFormat
+	 * @memberof Options
+	 * @type {string}
+	 * @default %Y-%m-%d
+	 * @example
+	 * data: {
+	 *    x: "x",
+	 *    columns: [
+	 *        ["x", "01012019", "02012019", "03012019"],
+	 *        ["data1", 30, 200, 100]
+	 *    ],
+	 *    // Format specifier to parse as datetime for given 'x' string value
+	 *    xFormat: "%m%d%Y"
+	 * },
+	 * axis: {
+	 *    x: {
+	 *        type: "timeseries"
+	 *    }
+	 * }
+	 * @see [D3's time specifier](https://d3js.org/d3-time-format#locale_format)
+	 */
+	data_xFormat: "%Y-%m-%d",
+
+	/**
+	 * Set localtime format to parse x axis.
+	 * @name data․xLocaltime
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @example
+	 * data: {
+	 *   xLocaltime: false
+	 * }
+	 */
+	data_xLocaltime: true,
+
+	/**
+	 * Sort on x axis.
+	 * - **NOTE:** This option works for lineish(area/line/spline/step) types only.
+	 * @name data․xSort
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataXSort)
+	 * @example
+	 * data: {
+	 *   xSort: false,
+	 *   x: "x",
+	 *   columns: [
+	 *     // The line graph will start to be drawn following the x axis sequence
+	 *     // Below data, wil start drawing x=1: 200, x=2: 300, x=3: 100
+	 *     ["x", 3, 1, 2],
+	 *     ["data1", 100, 200, 300]
+	 *   ]
+	 * }
+	 */
+	data_xSort: true,
+
+	/**
+	 * Set y axis the data related to. y and y2 can be used.
+	 * - **NOTE:** If all data is related to one of the axes, the domain of axis without related data will be replaced by the domain from the axis with related data
+	 * @name data․axes
+	 * @memberof Options
+	 * @type {object}
+	 * @default {}
+	 * @example
+	 * data: {
+	 *   axes: {
+	 *     data1: "y",
+	 *     data2: "y2"
+	 *   }
+	 * }
+	 */
+	data_axes: <{[key: string]: string}>{},
+
+	/**
+	 * Define regions for each data.<br>
+	 * The values must be an array for each data and it should include an object that has `start`, `end` and `style`.
+	 * - The object type should be as:
+	 *   - start {number}: Start data point number. If not set, the start will be the first data point.
+	 *   - [end] {number}: End data point number. If not set, the end will be the last data point.
+	 *   - [style.dasharray="2 2"] {string}: The first number specifies a distance for the filled area, and the second a distance for the unfilled area.
+	 * - **NOTE:**
+	 *   - Supports only line type.
+	 *   - `start` and `end` values should be in the exact x value range.
+	 *   - Dashes will be applied using `stroke-dasharray` css property when data doesn't contain nullish value(or nullish value with `line.connectNull=true` set).
+	 *   - Dashes will be applied via path command when data contains nullish value.
+	 * @name data․regions
+	 * @memberof Options
+	 * @type {object}
+	 * @default {}
+	 * @example
+	 * data: {
+	 *   regions: {
+	 *     data1: [{
+	 *         start: 1,
+	 *         end: 2,
+	 *         style: {
+	 *             dasharray: "5 2"
+	 *         }
+	 *     }, {
+	 *         start: 3
+	 *     }],
+	 *     ...
+	 *   }
+	 * }
+	 */
+	data_regions: <DataRegionsType>{},
+
+	/**
+	 * Set the stacking to be normalized
+	 * - **NOTE:**
+	 *   - For stacking, '[data.groups](#.data%25E2%2580%25A4groups)' option should be set
+	 *   - y Axis will be set in percentage value (0 ~ 100%)
+	 *   - Must have postive values
+	 * @name data․stack․normalize
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataStackNormalized)
+	 * @example
+	 * data: {
+	 *   stack: {
+	 *      normalize: true
+	 *   }
+	 * }
+	 */
+	data_stack_normalize: false
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_data_data.ts.html b/release/3.14.2/doc/config_Options_data_data.ts.html new file mode 100644 index 000000000..71849103d --- /dev/null +++ b/release/3.14.2/doc/config_Options_data_data.ts.html @@ -0,0 +1,984 @@ + + + + + + config/Options/data/data.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/data/data.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import type {ChartTypes, d3Selection} from "../../../../types/types";
+
+/**
+ * data config options
+ */
+export default {
+	/**
+	 * Specify the key of x values in the data.<br><br>
+	 * We can show the data with non-index x values by this option. This option is required when the type of x axis is timeseries. If this option is set on category axis, the values of the data on the key will be used for category names.
+	 * @name data․x
+	 * @memberof Options
+	 * @type {string}
+	 * @default undefined
+	 * @example
+	 * data: {
+	 *   x: "date"
+	 * }
+	 */
+	data_x: <string | undefined>undefined,
+
+	/**
+	 * Converts data id value
+	 * @name data․idConverter
+	 * @memberof Options
+	 * @type {Function}
+	 * @default function(id) { return id; }
+	 * @example
+	 * data: {
+	 *    idConverter: function(id) {
+	 *       // when id is 'data1', converts to be 'data2'
+	 *       // 'data2' should be given as the initial data value
+	 *       if (id === "data1") {
+	 *          return "data2";
+	 *       } else {
+	 *          return id;
+	 *       }
+	 *    }
+	 * }
+	 */
+	data_idConverter: id => id,
+
+	/**
+	 * Set custom data name.
+	 * If a name is set to `null`, the series is omitted from the legend.
+	 * @name data․names
+	 * @memberof Options
+	 * @type {object}
+	 * @default {}
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataName)
+	 * @example
+	 * data: {
+	 *   names: {
+	 *     data1: "Data Name 1",
+	 *     data2: "Data Name 2"
+	 *   }
+	 * }
+	 */
+	data_names: <{[key: string]: string | null}>{},
+
+	/**
+	 * Set custom data class.<br><br>
+	 * If this option is specified, the element g for the data has an additional class that has the prefix 'bb-target-' (eg. bb-target-additional-data1-class).
+	 * @name data․classes
+	 * @memberof Options
+	 * @type {object}
+	 * @default {}
+	 * @example
+	 * data: {
+	 *   classes: {
+	 *     data1: "additional-data1-class",
+	 *     data2: "additional-data2-class"
+	 *   }
+	 * }
+	 */
+	data_classes: <{[key: string]: string}>{},
+
+	/**
+	 * Set chart type at once.<br><br>
+	 * If this option is specified, the type will be applied to every data. This setting can be overwritten by data.types.<br><br>
+	 * **Available Values:**
+	 * - area
+	 * - area-line-range
+	 * - area-spline
+	 * - area-spline-range
+	 * - area-step
+	 * - area-step-range
+	 * - bar
+	 * - bubble
+	 * - candlestick
+	 * - donut
+	 * - funnel
+	 * - gauge
+	 * - line
+	 * - pie
+	 * - polar
+	 * - radar
+	 * - scatter
+	 * - spline
+	 * - step
+	 * - treemap
+	 * @name data․type
+	 * @memberof Options
+	 * @type {string}
+	 * @default "line"<br>NOTE: When importing shapes by ESM, `line()` should be specified for type.
+	 * @example
+	 * data: {
+	 *    type: "bar"
+	 * }
+	 * @example
+	 * // Generate chart by importing ESM
+	 * // Import types to be used only, where this will make smaller bundle size.
+	 * import bb, {
+	 *   area,
+	 *   areaLineRange,
+	 *   areaSpline,
+	 *   areaSplineRange,
+	 *   areaStep,
+	 *   areaStepRange,
+	 *   bar,
+	 *   bubble,
+	 *   candlestick,
+	 *   donut,
+	 *   funnel,
+	 *   gauge,
+	 *   line,
+	 *   pie,
+	 *   polar,
+	 *   radar,
+	 *   scatter,
+	 *   spline,
+	 *   step,
+	 *   treemap
+	 * }
+	 *
+	 * bb.generate({
+	 *   ...,
+	 *   data: {
+	 *     type: bar()
+	 *   }
+	 * });
+	 */
+	data_type: <ChartTypes | undefined>undefined,
+
+	/**
+	 * Set chart type for each data.<br>
+	 * This setting overwrites data.type setting.
+	 * - **NOTE:** `radar` and `treemap` type can't be combined with other types.
+	 * @name data․types
+	 * @memberof Options
+	 * @type {object}
+	 * @default {}
+	 * @example
+	 * data: {
+	 *   types: {
+	 *     data1: "bar",
+	 *     data2: "spline"
+	 *   }
+	 * }
+	 * @example
+	 * // Generate chart by importing ESM
+	 * // Import types to be used only, where this will make smaller bundle size.
+	 * import bb, {
+	 *   area,
+	 *   areaLineRange,
+	 *   areaSpline,
+	 *   areaSplineRange,
+	 *   areaStep,
+	 *   areaStepRange,
+	 *   bar,
+	 *   bubble,
+	 *   candlestick,
+	 *   donut,
+	 *   funnel,
+	 *   gauge,
+	 *   line,
+	 *   pie,
+	 *   polar,
+	 *   radar,
+	 *   scatter,
+	 *   spline,
+	 *   step,
+	 *   treemap
+	 * }
+	 *
+	 * bb.generate({
+	 *   ...,
+	 *   data: {
+	 *     types: {
+	 *       data1: bar(),
+	 *       data1: spline()
+	 *     }
+	 *   }
+	 * });
+	 */
+	data_types: <{[key: string]: ChartTypes}>{},
+
+	/**
+	 *  This option changes the order of stacking data and pieces of pie/donut.
+	 *  - If `null` specified, it will be the order the data loaded.
+	 *  - If function specified, it will be used as [Array.sort compareFunction](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters)<br><br>
+	 *
+	 *  **Available Values:**
+	 *  - `desc`: In descending order
+	 *  - `asc`: In ascending order
+	 *  - `null`: It keeps the data load order
+	 *  - `function(data1, data2) { ... }`: Array.sort compareFunction
+	 *
+	 *  **NOTE**: order function, only works for Axis based types & Arc types, except `Radar` type.
+	 * @name data․order
+	 * @memberof Options
+	 * @type {string|Function|null}
+	 * @default desc
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataOrder)
+	 * @example
+	 * data: {
+	 *   // in descending order (default)
+	 *   order: "desc"
+	 *
+	 *   // in ascending order
+	 *   order: "asc"
+	 *
+	 *   // keeps data input order
+	 *   order: null
+	 *
+	 *   // specifying sort function
+	 *   order: function(a, b) {
+	 *       // param data passed format
+	 *       // {
+	 *       //   id: "data1", id_org: "data1", values: [
+	 *       //      {x: 5, value: 250, id: "data1", index: 5, name: "data1"},
+	 *       //       ...
+	 *       //   ]
+	 *       // }
+	 *
+	 *       const reducer = (p, c) => p + Math.abs(c.value);
+	 *       const aSum = a.values.reduce(reducer, 0);
+	 *       const bSum = b.values.reduce(reducer, 0);
+	 *
+	 *       // ascending order
+	 *       return aSum - bSum;
+	 *
+	 *       // descending order
+	 *       // return bSum - aSum;
+	 *   }
+	 * }
+	 */
+	data_order: <"desc" | "asc" | Function | null>"desc",
+
+	/**
+	 * Set groups for the data for stacking.
+	 * @name data․groups
+	 * @memberof Options
+	 * @type {Array}
+	 * @default []
+	 * @example
+	 * data: {
+	 *   groups: [
+	 *     ["data1", "data2"],
+	 *     ["data3"]
+	 *   ]
+	 * }
+	 */
+	data_groups: <string[][]>[],
+
+	/**
+	 * Set how zero value will be treated on groups.<br>
+	 * Possible values:
+	 * - `zero`: 0 will be positioned at absolute axis zero point.
+	 * - `positive`: 0 will be positioned at the top of a stack.
+	 * - `negative`: 0 will be positioned at the bottom of a stack.
+	 * @name data․groupsZeroAs
+	 * @memberof Options
+	 * @type {string}
+	 * @default "positive"
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.Groups)
+	 * @example
+	 * data: {
+	 *   groupsZeroAs: "zero" // "positive" or "negative"
+	 * }
+	 */
+	data_groupsZeroAs: <"zero" | "positive" | "negative">"positive",
+
+	/**
+	 * Set color converter function.<br><br>
+	 * This option should a function and the specified function receives color (e.g. '#ff0000') and d that has data parameters like id, value, index, etc. And it must return a string that represents color (e.g. '#00ff00').
+	 * @name data․color
+	 * @memberof Options
+	 * @type {Function}
+	 * @default undefined
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataColor)
+	 * @example
+	 * data: {
+	 *   color: function(color, d) { ... }
+	 * }
+	 */
+	data_color: <Function | undefined>undefined,
+
+	/**
+	 * Set color for each data.
+	 * @name data․colors
+	 * @memberof Options
+	 * @type {object}
+	 * @default {}
+	 * @example
+	 * data: {
+	 *   colors: {
+	 *     data1: "#ff0000",
+	 *     data2: function(d) {
+	 *        return "#000";
+	 *     }
+	 *     ...
+	 *   }
+	 * }
+	 */
+	data_colors: <{[key: string]: string | (() => string)}>{},
+
+	/**
+	 * Set labels options
+	 * @name data․labels
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} data Data object
+	 * @property {boolean} [data.labels=false] Show or hide labels on each data points
+	 * @property {boolean} [data.labels.centered=false] Centerize labels on `bar` shape. (**NOTE:** works only for 'bar' type)
+	 * @property {Function} [data.labels.format] Set formatter function for data labels.<br>
+	 * The formatter function receives 4 arguments such as `v, id, i, texts` and it **must return a string** (`\n` character will be used as line break) that will be shown as the label.<br><br>
+	 * The arguments are:<br>
+	 *  - `v` is the value of the data point where the label is shown.
+	 *  - `id` is the id of the data where the label is shown.
+	 *  - `i` is the index of the data series point where the label is shown.
+	 *  - `texts` is the array of whole corresponding data series' text labels.<br><br>
+	 * Formatter function can be defined for each data by specifying as an object and D3 formatter function can be set (ex. d3.format('$'))
+	 * @property {string|object} [data.labels.backgroundColors] Set label text background colors.
+	 * @property {string|object|Function} [data.labels.colors] Set label text colors.
+	 * @property {object|Function} [data.labels.position] Set each dataset position, relative the original.<br><br>
+	 * When function is specified, will receives 5 arguments such as `type, v, id, i, texts` and it must return a position number.<br><br>
+	 * The arguments are:<br>
+	 *  - `type` coordinate type string, which will be 'x' or 'y'.
+	 *  - `v` is the value of the data point where the label is shown.
+	 *  - `id` is the id of the data where the label is shown.
+	 *  - `i` is the index of the data series point where the label is shown.
+	 *  - `texts` is the array of whole corresponding data series' text labels.<br><br>
+	 * @property {number} [data.labels.position.x=0] x coordinate position, relative the original.
+	 * @property {number} [data.labels.position.y=0] y coordinate position, relative the original.
+	 * @property {object} [data.labels.rotate] Rotate label text. Specify degree value in a range of `0 ~ 360`.
+	 * - **NOTE:** Depend on rotate value, text position need to be adjusted manually(using `data.labels.position` option) to be shown nicely.
+	 * @memberof Options
+	 * @type {object}
+	 * @default {}
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataLabel)
+	 * @see [Demo: label colors](https://naver.github.io/billboard.js/demo/#Data.DataLabelColors)
+	 * @see [Demo: label format](https://naver.github.io/billboard.js/demo/#Data.DataLabelFormat)
+	 * @see [Demo: label multiline](https://naver.github.io/billboard.js/demo/#Data.DataLabelMultiline)
+	 * @see [Demo: label overlap](https://naver.github.io/billboard.js/demo/#Data.DataLabelOverlap)
+	 * @see [Demo: label position](https://naver.github.io/billboard.js/demo/#Data.DataLabelPosition)
+	 * @see [Demo: label rotate](https://naver.github.io/billboard.js/demo/#Data.DataLabelRotate)
+	 * @example
+	 * data: {
+	 *   labels: true,
+	 *
+	 *   // or set specific options
+	 *   labels: {
+	 *     format: function(v, id, i, texts) {
+	 *         ...
+	 *         // to multiline, return with '\n' character
+	 *         return "Line1\nLine2";
+	 *     },
+	 *
+	 *     // it's possible to set for each data
+	 *     format: {
+	 *         data1: function(v, id, i, texts) { ... },
+	 *         ...
+	 *     },
+	 *
+	 *     // align text to center of the 'bar' shape (works only for 'bar' type)
+	 *     centered: true,
+	 *
+	 *     // apply backgound color for label texts
+	 *     backgroundColors: "red",
+	 *
+	 *     // set differenct backround colors per dataset
+	 *     backgroundColors: {
+	 *          data1: "green",
+	 *          data2: "yellow"
+	 *     }
+	 *
+	 *     // apply for all label texts
+	 *     colors: "red",
+	 *
+	 *     // set different colors per dataset
+	 *     // for not specified dataset, will have the default color value
+	 *     colors: {
+	 *        data1: "yellow",
+	 *        data3: "green"
+	 *     },
+	 *
+	 *     // call back for label text color
+	 *     colors: function(color, d) {
+	 *         // color: the default data label color string
+	 *         // data: ex) {x: 0, value: 200, id: "data3", index: 0}
+	 *         ....
+	 *         return d.value > 200 ? "cyan" : color;
+	 *     },
+	 *
+	 *     // return x, y coordinate position
+	 *     // apt to handle each text position manually
+	 *     position: function(type, v, id, i, texts) {
+	 *         ...
+	 *         return type == "x" ? 10 : 20;
+	 *     },
+	 *
+	 *     // set x, y coordinate position
+	 *     position: {
+	 *        x: -10,
+	 *        y: 10
+	 *     },
+	 *
+	 *     // or set x, y coordinate position by each dataset
+	 *     position: {
+	 *        data1: {x: 5, y: 5},
+	 *        data2: {x: 10, y: -20}
+	 *     },
+	 *
+	 * 	   // rotate degree for label text
+	 *     rotate: 90
+	 *   }
+	 * }
+	 */
+	data_labels: <boolean | {
+		centered?: boolean,
+		format?: (v: number, id: string, i: number, texts: d3Selection) => number,
+		colors?: string | {[key: string]: string},
+		position?: (type: "x" | "y", v: number, id: string, i: number, texts: d3Selection) =>
+			| number
+			| {[key: string]: number}
+			| {[key: string]: {x?: number, y?: number}},
+		rotate?: number
+	}>{},
+	data_labels_backgroundColors: <string | {[key: string]: string} | undefined>undefined,
+	data_labels_colors: <string | object | Function | undefined>undefined,
+	data_labels_position: {},
+
+	/**
+	 * Hide each data when the chart appears.<br><br>
+	 * If true specified, all of data will be hidden. If multiple ids specified as an array, those will be hidden.
+	 * @name data․hide
+	 * @memberof Options
+	 * @type {boolean|Array}
+	 * @default false
+	 * @example
+	 * data: {
+	 *   // all of data will be hidden
+	 *   hide: true
+	 *
+	 *   // specified data will be hidden
+	 *   hide: ["data1", ...]
+	 * }
+	 */
+	data_hide: <string[] | boolean>false,
+
+	/**
+	 * Filter values to be shown
+	 * The data value is the same as the returned by `.data()`.
+	 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
+	 * @name data․filter
+	 * @memberof Options
+	 * @type {Function}
+	 * @default undefined
+	 * @example
+	 * data: {
+	 *   // filter for id value
+	 *   filter: function(v) {
+	 *      // v: [{id: "data1", id_org: "data1", values: [
+	 *      //      {x: 0, value: 130, id: "data2", index: 0}, ...]
+	 *      //    }, ...]
+	 *      return v.id !== "data1";
+	 *   }
+	 */
+	data_filter: <(() => boolean) | undefined>undefined,
+
+	/**
+	 * Set a callback for click event on each data point.<br><br>
+	 * This callback will be called when each data point clicked and will receive `d` and element as the arguments.
+	 * - `d` is the data clicked and element is the element clicked.
+	 * - `element` is the current interacting svg element.
+	 * - In this callback, `this` will be the Chart object.
+	 * @name data․onclick
+	 * @memberof Options
+	 * @type {Function}
+	 * @default function() {}
+	 * @example
+	 * data: {
+	 *     onclick: function(d, element) {
+	 *        // d - ex) {x: 4, value: 150, id: "data1", index: 4, name: "data1"}
+	 *        // element - <circle>
+	 *        ...
+	 *     }
+	 * }
+	 */
+	data_onclick: () => {},
+
+	/**
+	 * Set a callback for mouse/touch over event on each data point.<br><br>
+	 * This callback will be called when mouse cursor or via touch moves onto each data point and will receive `d` and `element` as the argument.
+	 * - `d` is the data where mouse cursor moves onto.
+	 * - `element` is the current interacting svg element.
+	 * - In this callback, `this` will be the Chart object.
+	 * @name data․onover
+	 * @memberof Options
+	 * @type {Function}
+	 * @default function() {}
+	 * @example
+	 * data: {
+	 *     onover: function(d, element) {
+	 *        // d - ex) {x: 4, value: 150, id: "data1", index: 4}
+	 *        // element - <circle>
+	 *        ...
+	 *     }
+	 * }
+	 */
+	data_onover: () => {},
+
+	/**
+	 * Set a callback for mouse/touch out event on each data point.<br><br>
+	 * This callback will be called when mouse cursor or via touch moves out each data point and will receive `d` as the argument.
+	 * - `d` is the data where mouse cursor moves out.
+	 * - `element` is the current interacting svg element.
+	 * - In this callback, `this` will be the Chart object.
+	 * @name data․onout
+	 * @memberof Options
+	 * @type {Function}
+	 * @default function() {}
+	 * @example
+	 * data: {
+	 *     onout: function(d, element) {
+	 *        // d - ex) {x: 4, value: 150, id: "data1", index: 4}
+	 *        // element - <circle>
+	 *        ...
+	 *     }
+	 * }
+	 */
+	data_onout: () => {},
+
+	/**
+	 * Set a callback for when data is shown.<br>
+	 * The callback will receive shown data ids in array.
+	 * @name data․onshown
+	 * @memberof Options
+	 * @type {Function}
+	 * @default undefined
+	 * @example
+	 *  data: {
+	 *    onshown: function(ids) {
+	 *      // ids - ["data1", "data2", ...]
+	 *      ...
+	 *    }
+	 *  }
+	 */
+	data_onshown: <Function | undefined>undefined,
+
+	/**
+	 * Set a callback for when data is hidden.<br>
+	 * The callback will receive hidden data ids in array.
+	 * @name data․onhidden
+	 * @memberof Options
+	 * @type {Function}
+	 * @default undefined
+	 * @example
+	 *  data: {
+	 *    onhidden: function(ids) {
+	 *      // ids - ["data1", "data2", ...]
+	 *      ...
+	 *    }
+	 *  }
+	 */
+	data_onhidden: <Function | undefined>undefined,
+
+	/**
+	 * Set a callback for minimum data
+	 * - **NOTE:** For 'area-line-range', 'area-step-range' and 'area-spline-range', `mid` data will be taken for the comparison
+	 * @name data․onmin
+	 * @memberof Options
+	 * @type {Function}
+	 * @default undefined
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.OnMinMaxCallback)
+	 * @example
+	 *  onmin: function(data) {
+	 *    // data - ex) [{x: 3, value: 400, id: "data1", index: 3}, ... ]
+	 *    ...
+	 *  }
+	 */
+	data_onmin: <Function | undefined>undefined,
+
+	/**
+	 * Set a callback for maximum data
+	 * - **NOTE:** For 'area-line-range', 'area-step-range' and 'area-spline-range', `mid` data will be taken for the comparison
+	 * @name data․onmax
+	 * @memberof Options
+	 * @type {Function}
+	 * @default undefined
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.OnMinMaxCallback)
+	 * @example
+	 *  onmax: function(data) {
+	 *    // data - ex) [{x: 3, value: 400, id: "data1", index: 3}, ... ]
+	 *    ...
+	 *  }
+	 */
+	data_onmax: <Function | undefined>undefined,
+
+	/**
+	 * Load a CSV or JSON file from a URL. NOTE that this will not work if loading via the "file://" protocol as the most browsers will block XMLHTTPRequests.
+	 * @name data․url
+	 * @memberof Options
+	 * @type {string}
+	 * @default undefined
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.LoadData)
+	 * @example
+	 * data: {
+	 *     url: "/data/test.csv"
+	 * }
+	 */
+	data_url: <string | undefined>undefined,
+
+	/**
+	 * XHR header value
+	 * - **NOTE:** Should be used with `data.url` option
+	 * @name data․headers
+	 * @memberof Options
+	 * @type {string}
+	 * @default undefined
+	 * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/setRequestHeader
+	 * @example
+	 * data: {
+	 *     url: "/data/test.csv",
+	 *     headers: {
+	 *        "Content-Type": "text/xml",
+	 *        ...
+	 *     }
+	 * }
+	 */
+	data_headers: <object | undefined>undefined,
+
+	/**
+	 * Parse a JSON object for data. See also data.keys.
+	 * @name data․json
+	 * @memberof Options
+	 * @type {Array}
+	 * @default undefined
+	 * @see [data․keys](#.data%25E2%2580%25A4keys)
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.JSONData)
+	 * @example
+	 * data: {
+	 *     json: [
+	 *       {name: "www.site1.com", upload: 200, download: 200, total: 400},
+	 *       {name: "www.site2.com", upload: 100, download: 300, total: 400},
+	 *       {name: "www.site3.com", upload: 300, download: 200, total: 500},
+	 *       {name: "www.site4.com", upload: 400, download: 100, total: 500}
+	 *     ],
+	 *     keys: {
+	 *       // case 1: specify 'x' key for category axis
+	 *       x: "name", // 'name' key will be used as category x axis values
+	 *       value: ["upload", "download"]
+	 *
+	 *       // case 2: without 'x' key for non-category axis
+	 *       value: ["upload", "download"]
+	 *     }
+	 * }
+	 */
+	data_json: <object[] | undefined>undefined,
+
+	/**
+	 * Load data from a multidimensional array, with the first element containing the data names, the following containing related data in that order.
+	 * @name data․rows
+	 * @memberof Options
+	 * @type {Array}
+	 * @default undefined
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.RowOrientedData)
+	 * @example
+	 * data: {
+	 *   rows: [
+	 *     ["A", "B", "C"],
+	 *     [90, 120, 300],
+	 *     [40, 160, 240],
+	 *     [50, 200, 290],
+	 *     [120, 160, 230],
+	 *     [80, 130, 300],
+	 *     [90, 220, 320]
+	 *   ]
+	 * }
+	 *
+	 * // for 'bar' type, data can contain:
+	 * // - an array of [start, end] data following the order
+	 * data: {
+	 *   rows: [
+	 *      ["data1", "data2"],
+	 *      [[100, 150], 120],
+	 *      [[200, 300], 55],
+	 *      [[-400, 500], 60]
+	 *   ],
+	 *   type: "bar"
+	 * }
+	 *
+	 * // for 'range' types('area-line-range' or 'area-step-range' or 'area-spline-range'), data should contain:
+	 * // - an array of [high, mid, low] data following the order
+	 * // - or an object with 'high', 'mid' and 'low' key value
+	 * data: {
+	 *   rows: [
+	 *      ["data1", "data2"],
+	 *      [
+	 *        // or {high:150, mid: 140, low: 110}, 120
+	 *        [150, 140, 110], 120
+	 *      ],
+	 *      [[155, 130, 115], 55],
+	 *      [[160, 135, 120], 60]
+	 *   ],
+	 *   types: {
+	 *       data1: "area-line-range",
+	 *       data2: "line"
+	 *   }
+	 * }
+	 *
+	 * // for 'bubble' type, data can contain dimension value:
+	 * // - an array of [y, z] data following the order
+	 * // - or an object with 'y' and 'z' key value
+	 * // 'y' is for y axis coordination and 'z' is the bubble radius value
+	 * data: {
+	 *   rows: [
+	 *      ["data1", "data2"],
+	 *      [
+	 *        // or {y:10, z: 140}, 120
+	 *        [10, 140], 120
+	 *      ],
+	 *      [[100, 30], 55],
+	 *      [[50, 100], 60]
+	 *   ],
+	 *   types: {
+	 *       data1: "bubble",
+	 *       data2: "line"
+	 *   }
+	 * }
+	 *
+	 * // for 'canlestick' type, data should contain:
+	 * // - an array of [open, high, low, close, volume(optional)] data following the order
+	 * // - or an object with 'open', 'high', 'low', 'close' and 'value'(optional) key value
+	 * data: {
+	 *   rows: [
+	 *      ["data1", "data2"],
+	 * 		[
+	 * 			// open, high, low, close, volume (optional)
+	 * 			{open: 1300, high: 1369, low: 1200, close: 1339, volume: 100},
+	 * 			[1000, 1100, 850, 870]
+	 * 		],
+	 * 		[
+	 * 			{open: 1348, high: 1371, low: 1271, close: 1320},
+	 * 			[870, 1250, 830, 1200, 50]
+	 * 		]
+	 *   ],
+	 *   type: "candlestick"
+	 * }
+	 */
+	data_rows: <(string | number)[][] | undefined>undefined,
+
+	/**
+	 * Load data from a multidimensional array, with each element containing an array consisting of a datum name and associated data values.
+	 * @name data․columns
+	 * @memberof Options
+	 * @type {Array}
+	 * @default undefined
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.ColumnOrientedData)
+	 * @example
+	 * data: {
+	 *   columns: [
+	 *      ["data1", 30, 20, 50, 40, 60, 50],
+	 *      ["data2", 200, 130, 90, 240, 130, 220],
+	 *      ["data3", 300, 200, 160, 400, 250, 250]
+	 *   ]
+	 * }
+	 *
+	 * // for 'bar' type, data can contain:
+	 * // - an array of [start, end] data following the order
+	 * data: {
+	 *   columns: [
+	 *     ["data1", -100, 50, [100, 200], [200, 300]],
+	 *     ["data2", -200, 300, [-100, 100], [-50, -30]],
+	 *   ],
+	 *   type: "bar"
+	 * }
+	 *
+	 * // for 'range' types('area-line-range' or 'area-step-range' or 'area-spline-range'), data should contain:
+	 * // - an array of [high, mid, low] data following the order
+	 * // - or an object with 'high', 'mid' and 'low' key value
+	 * data: {
+	 *   columns: [
+	 *      ["data1",
+	 *          [150, 140, 110],  // or {high:150, mid: 140, low: 110}
+	 *          [150, 140, 110],
+	 *          [150, 140, 110]
+	 *      ]
+	 *   ],
+	 *   type: "area-line-range"
+	 * }
+	 *
+	 * // for 'bubble' type, data can contain dimension value:
+	 * // - an array of [y, z] data following the order
+	 * // - or an object with 'y' and 'z' key value
+	 * // 'y' is for y axis coordination and 'z' is the bubble radius value
+	 * data: {
+	 *   columns: [
+	 *      ["data1",
+	 *          [10, 140],  // or {y:10, z: 140}
+	 *          [100, 30],
+	 *          [50, 100]
+	 *      ]
+	 *   ],
+	 *   type: "bubble"
+	 * }
+	 *
+	 * // for 'canlestick' type, data should contain:
+	 * // - an array of [open, high, low, close, volume(optional)] data following the order
+	 * // - or an object with 'open', 'high', 'low', 'close' and 'value'(optional) key value
+	 * data: {
+	 *   columns: [
+	 *      ["data1",
+	 *          [1000, 1100, 850, 870, 100],  // or {open:1000, high: 1100, low: 870, volume: 100}
+	 *          [870, 1250, 830, 1200]  // 'volume' can be omitted
+	 *      ]
+	 *   ],
+	 *   type: "candlestick"
+	 * }
+	 */
+	data_columns: <(string | number)[][] | undefined>undefined,
+
+	/**
+	 * Used if loading JSON via data.url.
+	 * - **Available Values:**
+	 *   - json
+	 *   - csv
+	 *   - tsv
+	 * @name data․mimeType
+	 * @memberof Options
+	 * @type {string}
+	 * @default csv
+	 * @example
+	 * data: {
+	 *     mimeType: "json"
+	 * }
+	 */
+	data_mimeType: <"csv" | "json" | "tsv">"csv",
+
+	/**
+	 * Choose which JSON object keys correspond to desired data.
+	 * - **NOTE:** Only for JSON object given as array.
+	 * @name data․keys
+	 * @memberof Options
+	 * @type {string}
+	 * @default undefined
+	 * @example
+	 * data: {
+	 *     json: [
+	 *       {name: "www.site1.com", upload: 200, download: 200, total: 400},
+	 *       {name: "www.site2.com", upload: 100, download: 300, total: 400},
+	 *       {name: "www.site3.com", upload: 300, download: 200, total: 500},
+	 *       {name: "www.site4.com", upload: 400, download: 100, total: 500}
+	 *     ],
+	 *     keys: {
+	 *       // case 1: specify 'x' key for category axis
+	 *       x: "name", // 'name' key will be used as category x axis values
+	 *       value: ["upload", "download"]
+	 *
+	 *       // case 2: without 'x' key for non-category axis
+	 *       value: ["upload", "download"]
+	 *     }
+	 * }
+	 */
+	data_keys: <{x?: string, value?: string[]} | undefined>undefined,
+
+	/**
+	 * Set text label to be displayed when there's no data to show.
+	 * - ex. Toggling all visible data to not be shown, unloading all current data, etc.
+	 * @name data․empty․label․text
+	 * @memberof Options
+	 * @type {string}
+	 * @default ""
+	 * @example
+	 * data: {
+	 *   empty: {
+	 *     label: {
+	 *       text: "No Data"
+	 *     }
+	 *   }
+	 * }
+	 */
+	data_empty_label_text: ""
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_data_selection.ts.html b/release/3.14.2/doc/config_Options_data_selection.ts.html new file mode 100644 index 000000000..f8315fa20 --- /dev/null +++ b/release/3.14.2/doc/config_Options_data_selection.ts.html @@ -0,0 +1,222 @@ + + + + + + config/Options/data/selection.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/data/selection.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * data.selection config options
+ */
+export default {
+	/**
+	 * Set data selection enabled<br><br>
+	 * If this option is set true, we can select the data points and get/set its state of selection by API (e.g. select, unselect, selected).
+	 *  - **NOTE:** for ESM imports, needs to import 'selection' exports and instantiate it by calling `selection()`.
+	 *    - `enabled: selection()`
+	 * @name data․selection․enabled
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Data.DataSelection)
+	 * @example
+	 * data: {
+	 *    selection: {
+	 *       enabled: true
+	 *    }
+	 * }
+	 * @example
+	 * // importing ESM
+	 * import bb, {selection} from "billboard.js";
+	 *
+	 * data: {
+	 *    selection: {
+	 *       enabled: selection(),
+	 *       ...
+	 *    }
+	 * }
+	 */
+	data_selection_enabled: false,
+
+	/**
+	 * Set grouped selection enabled.<br><br>
+	 * If this option set true, multiple data points that have same x value will be selected by one selection.
+	 * @name data․selection․grouped
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @example
+	 * data: {
+	 *    selection: {
+	 *       grouped: true
+	 *    }
+	 * }
+	 */
+	data_selection_grouped: false,
+
+	/**
+	 * Set a callback for each data point to determine if it's selectable or not.<br><br>
+	 * The callback will receive d as an argument and it has some parameters like id, value, index. This callback should return boolean.
+	 * @name data․selection․isselectable
+	 * @memberof Options
+	 * @type {Function}
+	 * @default function() { return true; }
+	 * @example
+	 * data: {
+	 *    selection: {
+	 *       isselectable: function(d) { ... }
+	 *    }
+	 * }
+	 */
+	data_selection_isselectable: () => true,
+
+	/**
+	 * Set multiple data points selection enabled.<br><br>
+	 * If this option set true, multile data points can have the selected state at the same time. If false set, only one data point can have the selected state and the others will be unselected when the new data point is selected.
+	 * @name data․selection․multiple
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default true
+	 * @example
+	 * data: {
+	 *    selection: {
+	 *       multiple: false
+	 *    }
+	 * }
+	 */
+	data_selection_multiple: true,
+
+	/**
+	 * Enable to select data points by dragging.
+	 * If this option set true, data points can be selected by dragging.
+	 * - **NOTE:** If this option set true, scrolling on the chart will be disabled because dragging event will handle the event.
+	 * @name data․selection․draggable
+	 * @memberof Options
+	 * @type {boolean}
+	 * @default false
+	 * @example
+	 * data: {
+	 *    selection: {
+	 *       draggable: true
+	 *   }
+	 * }
+	 */
+	data_selection_draggable: false,
+
+	/**
+	 * Set a callback for on data selection.
+	 * @name data․onselected
+	 * @memberof Options
+	 * @type {Function}
+	 * @default function() {}
+	 * @example
+	 * data: {
+	 *     onselected: function(d, element) {
+	 *        // d - ex) {x: 4, value: 150, id: "data1", index: 4, name: "data1"}
+	 *        // element - <circle>
+	 *        ...
+	 *    }
+	 * }
+	 */
+	data_onselected: () => {},
+
+	/**
+	 * Set a callback for on data un-selection.
+	 * @name data․onunselected
+	 * @memberof Options
+	 * @type {Function}
+	 * @default function() {}
+	 * @example
+	 * data: {
+	 *     onunselected: function(d, element) {
+	 *        // d - ex) {x: 4, value: 150, id: "data1", index: 4, name: "data1"}
+	 *        // element - <circle>
+	 *        ...
+	 *    }
+	 * }
+	 */
+	data_onunselected: () => {}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_interaction_interaction.ts.html b/release/3.14.2/doc/config_Options_interaction_interaction.ts.html new file mode 100644 index 000000000..3732e1a90 --- /dev/null +++ b/release/3.14.2/doc/config_Options_interaction_interaction.ts.html @@ -0,0 +1,137 @@ + + + + + + config/Options/interaction/interaction.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/interaction/interaction.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * interaction config options
+ */
+export default {
+	/**
+	 * Interaction options
+	 * @name interaction
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} interaction Intersection object
+	 * @property {boolean} [interaction.enabled=true] Indicate if the chart should have interactions.<br>
+	 *     If `false` is set, all of interactions (showing/hiding tooltip, selection, mouse events, etc) will be disabled.
+	 * @property {boolean} [interaction.brighten=true] Make brighter for the selected area (ex. 'pie' type data selected area)
+	 * @property {boolean} [interaction.inputType.mouse=true] enable or disable mouse interaction
+	 * @property {boolean} [interaction.inputType.touch=true] enable or disable  touch interaction
+	 * @property {boolean|number} [interaction.inputType.touch.preventDefault=false] enable or disable to call event.preventDefault on touchstart & touchmove event. It's usually used to prevent document scrolling.
+	 * @property {boolean} [interaction.onout=true] Enable or disable "onout" event.<br>
+	 * 		When is disabled, defocus(hiding tooltip, focused gridline, etc.) event won't work.
+	 * @see [Demo: touch.preventDefault](https://naver.github.io/billboard.js/demo/#Interaction.PreventScrollOnTouch)
+	 * @example
+	 * interaction: {
+	 *    enabled: false,
+	 *    brighten: false,
+	 *    inputType: {
+	 *        mouse: true,
+	 *        touch: false
+	 *
+	 *        // or declare preventDefault explicitly.
+	 *        // In this case touch inputType is enabled by default
+	 *        touch: {
+	 *            preventDefault: true
+	 *
+	 *            // or threshold pixel value (pixel moved from touchstart to touchmove)
+	 *            preventDefault: 5
+	 *        }
+	 *    },
+	 *
+	 *    // disable "onout" event
+	 *    onout: false
+	 * }
+	 */
+	interaction_enabled: true,
+	interaction_brighten: true,
+	interaction_inputType_mouse: true,
+	interaction_inputType_touch: <boolean | {preventDefault?: boolean | number}>{},
+	interaction_onout: true
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_interaction_subchart.ts.html b/release/3.14.2/doc/config_Options_interaction_subchart.ts.html new file mode 100644 index 000000000..bc8267e87 --- /dev/null +++ b/release/3.14.2/doc/config_Options_interaction_subchart.ts.html @@ -0,0 +1,158 @@ + + + + + + config/Options/interaction/subchart.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/interaction/subchart.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * x Axis config options
+ */
+export default {
+	/**
+	 * Set subchart options.
+	 * - **NOTE:** Not supported for `bubble`, `scatter` and non-Axis based(pie, donut, gauge, radar) types.
+	 * @name subchart
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} subchart Subchart object
+	 * @property {boolean} [subchart.show=false] Show sub chart on the bottom of the chart.
+	 *  - **NOTE:** for ESM imports, needs to import 'subchart' exports and instantiate it by calling `subchart()`.
+	 *    - `show: subchart()`
+	 * @property {boolean} [subchart.showHandle=false] Show sub chart's handle.
+	 * @property {boolean} [subchart.axis.x.show=true] Show or hide x axis.
+	 * @property {boolean} [subchart.axis.x.tick.show=true] Show or hide x axis tick line.
+	 * @property {Function|string} [subchart.axis.x.tick.format] Use custom format for x axis ticks - see [axis.x.tick.format](#.axis․x․tick․format) for details.
+	 * @property {boolean} [subchart.axis.x.tick.text.show=true] Show or hide x axis tick text.
+	 * @property {Array} [subchart.init.range] Set initial selection domain range.
+	 * @property {number} [subchart.size.height] Change the height of the subchart.
+	 * @property {Function} [subchart.onbrush] Set callback for brush event.<br>
+	 *  Specified function receives the current zoomed x domain.
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Interaction.SubChart)
+	 * @example
+	 *  subchart: {
+	 *      show: true,
+	 *      showHandle: true,
+	 *      size: {
+	 *          height: 20
+	 *      },
+	 *      init: {
+	 *          // specify initial range domain selection
+	 *          range: [1, 2]
+	 *      },
+	 *      axis: {
+	 *      	x: {
+	 *      	  show: true,
+	 *      	    tick: {
+	 *      	      show: true,
+	 *      	      format: (x) => d3Format(".1f")(x)
+	 *      	      text: {
+	 *      	        show: false
+	 *      	      }
+	 *      	    }
+	 *      	}
+	 *      },
+	 *      onbrush: function(domain) { ... }
+	 *  }
+	 * @example
+	 * // importing ESM
+	 * import bb, {subchart} from "billboard.js";
+	 *
+	 * subchart: {
+	 *      show: subchart(),
+	 *      ...
+	 * }
+	 */
+	subchart_show: false,
+	subchart_showHandle: false,
+	subchart_size_height: 60,
+	subchart_axis_x_show: true,
+	subchart_axis_x_tick_show: true,
+	subchart_axis_x_tick_format: <Function | string | undefined>undefined,
+	subchart_axis_x_tick_text_show: true,
+	subchart_init_range: <undefined | [number, number]>undefined,
+	subchart_onbrush: () => {}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_interaction_zoom.ts.html b/release/3.14.2/doc/config_Options_interaction_zoom.ts.html new file mode 100644 index 000000000..7d0422a13 --- /dev/null +++ b/release/3.14.2/doc/config_Options_interaction_zoom.ts.html @@ -0,0 +1,172 @@ + + + + + + config/Options/interaction/zoom.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/interaction/zoom.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * zoom config options
+ */
+export default {
+	/**
+	 * Set zoom options
+	 * @name zoom
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} zoom Zoom object
+	 * @property {boolean} [zoom.enabled=false] Enable zooming.
+	 *  - **NOTE:** for ESM imports, needs to import 'zoom' exports and instantiate it by calling `zoom()`.
+	 *    - `enabled: zoom()`
+	 * @property {string} [zoom.type='wheel'] Set zoom interaction type.
+	 *  - **Available types:**
+	 *    - wheel
+	 *    - drag
+	 * @property {boolean} [zoom.rescale=false] Enable to rescale after zooming.<br>
+	 *  If true set, y domain will be updated according to the zoomed region.
+	 * @property {Array} [zoom.extent=[1, 10]] Change zoom extent.
+	 * @property {number|Date} [zoom.x.min] Set x Axis minimum zoom range
+	 * @property {number|Date} [zoom.x.max] Set x Axis maximum zoom range
+	 * @property {Function} [zoom.onzoomstart=undefined] Set callback that is called when zooming starts.<br>
+	 *  Specified function receives the zoom event.
+	 * @property {Function} [zoom.onzoom=undefined] Set callback that is called when the chart is zooming.<br>
+	 *  Specified function receives the zoomed domain.
+	 * @property {Function} [zoom.onzoomend=undefined] Set callback that is called when zooming ends.<br>
+	 *  Specified function receives the zoomed domain.
+	 * @property {boolean|object} [zoom.resetButton=true] Set to display zoom reset button for 'drag' type zoom
+	 * @property {Function} [zoom.resetButton.onclick] Set callback when clicks the reset button. The callback will receive reset button element reference as argument.
+	 * @property {string} [zoom.resetButton.text='Reset Zoom'] Text value for zoom reset button.
+	 * @see [Demo:zoom](https://naver.github.io/billboard.js/demo/#Interaction.Zoom)
+	 * @see [Demo:drag zoom](https://naver.github.io/billboard.js/demo/#Interaction.DragZoom)
+	 * @example
+	 *  zoom: {
+	 *      enabled: true,
+	 *      type: "drag",
+	 *      rescale: true,
+	 *      extent: [1, 100]  // enable more zooming
+	 *      x: {
+	 *          min: -1,  // set min range
+	 *          max: 10  // set max range
+	 *      },
+	 *      onzoomstart: function(event) { ... },
+	 *      onzoom: function(domain) { ... },
+	 *      onzoomend: function(domain) { ... },
+	 *
+	 *      // show reset button when is zoomed-in
+	 *      resetButton: true,
+	 *
+	 *      resetButton: {
+	 *          // onclick callback when reset button is clicked
+	 *          onclick: function(button) {
+	 *            button; // Reset button element reference
+	 *            ...
+	 *          },
+	 *
+	 *          // customized text value for reset zoom button
+	 *          text: "Unzoom"
+	 *      }
+	 *  }
+	 * @example
+	 * // importing ESM
+	 * import bb, {zoom} from "billboard.js";
+	 *
+	 * zoom: {
+	 *      enabled: zoom(),
+	 *      ...
+	 * }
+	 */
+	zoom_enabled: <boolean>false,
+	zoom_type: <"wheel" | "drag">"wheel",
+	zoom_extent: <number[] | undefined>undefined,
+	zoom_privileged: false,
+	zoom_rescale: false,
+	zoom_onzoom: <Function | undefined>undefined,
+	zoom_onzoomstart: <Function | undefined>undefined,
+	zoom_onzoomend: <Function | undefined>undefined,
+	zoom_resetButton: <{text: string} | boolean>true,
+	zoom_x_min: <number | Date | undefined>undefined,
+	zoom_x_max: <number | Date | undefined>undefined
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_shape_arc.ts.html b/release/3.14.2/doc/config_Options_shape_arc.ts.html new file mode 100644 index 000000000..ff431b881 --- /dev/null +++ b/release/3.14.2/doc/config_Options_shape_arc.ts.html @@ -0,0 +1,239 @@ + + + + + + config/Options/shape/arc.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/shape/arc.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * arc config options
+ */
+export default {
+	/**
+	 * Set arc options
+	 * @name arc
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} arc Arc object
+	 * @property {number|Function} [arc.cornerRadius=0] Set corner radius of Arc(donut/gauge/pie/polar) shape.
+	 *  - **NOTE:**
+	 * 	  - Corner radius can't surpass the `(outerRadius - innerRadius) /2` of indicated shape.
+	 * @property {number} [arc.cornerRadius.ratio=0] Set ratio relative of outer radius.
+	 * @property {object} [arc.needle] Set needle options.
+	 * @property {boolean} [arc.needle.show=false] Show or hide needle.
+	 * @property {string} [arc.needle.color] Set needle filled color.
+	 * @property {Function} [arc.needle.path] Set custom needle path function.
+	 *  - **NOTE:**
+	 *   - The path should be starting from 0,0 (which is center) to top center coordinate.
+	 *   - The function will receive, `length`{number} parameter which indicating the needle length in pixel relative to radius.
+	 * @property {number} [arc.needle.value] Set needle value.
+	 *  - **NOTE:**
+	 *   - For single gauge chart, needle will point the data value by default, otherwise will point 0(zero).
+	 * @property {number} [arc.needle.length=100] Set needle length in percentages relative to radius.
+	 * @property {object} [arc.needle.top] Set needle top options.
+	 * @property {number} [arc.needle.top.rx=0] Set needle top [rx radius value](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve).
+	 * @property {number} [arc.needle.top.ry=0] Set needle top [ry radius value](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve).
+	 * @property {number} [arc.needle.top.width=0] Set needle top width in pixel.
+	 * @property {object} [arc.needle.bottom] Set needle bottom options.
+	 * @property {number} [arc.needle.bottom.rx=1] Set needle bottom [rx radius value](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve).
+	 * @property {number} [arc.needle.bottom.ry=1] Set needle bottom [ry radius value](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve).
+	 * @property {number} [arc.needle.bottom.width=15] Set needle bottom width in pixel.
+	 * @property {number} [arc.needle.bottom.len=0] Set needle bottom length in pixel. Setting this value, will make bottom larger starting from center.
+	 * @property {object} [arc.rangeText] Set rangeText options.
+	 * @property {Array} [arc.rangeText.values] Set range text values to be shown around Arc.
+	 * - When `unit: 'absolute'`: Given values are treated as absolute values.
+	 * - When `unit: '%'`: Given values are treated as percentages.
+	 * @property {string} [arc.rangeText.unit="absolute"] Specify the range text unit.
+	 * - "absolute": Show absolute value
+	 * - "%": Show percentage value
+	 * @property {boolean} [arc.rangeText.fiexed=false] Set if range text shown will be fixed w/o data toggle update. Only available for gauge chart.
+	 * @property {Function} [arc.rangeText.format] Set format function for the range text.
+	 * @property {number} [arc.rangeText.position] Set position function or object for the range text.
+	 * @see [Demo: Donut corner radius](https://naver.github.io/billboard.js/demo/#DonutChartOptions.DonutCornerRadius)
+	 * @see [Demo: Donut corner radius](https://naver.github.io/billboard.js/demo/#PieChartOptions.CornerRadius)
+	 * @see [Demo: Donut needle](https://naver.github.io/billboard.js/demo/#DonutChartOptions.DonutNeedle)
+	 * @see [Demo: Donut RangeText](https://naver.github.io/billboard.js/demo/#DonutChartOptions.DonutRangeText)
+	 * @see [Demo: Gauge corner radius](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeCornerRadius)
+	 * @see [Demo: Gauge needle](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeNeedle)
+	 * @see [Demo: Gauge RangeText](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeRangeText)
+	 * @example
+	 *  arc: {
+	 *      cornerRadius: 12,
+	 *
+	 *      // can customize corner radius for each data with function callback
+	 *      //
+	 *      // The function will receive:
+	 *      // - id {string}: Data id
+	 *      // - value {number}: Data value
+	 *      // - outerRadius {number}: Outer radius value
+	 *      cornerRadius: function(id, value, outerRadius) {
+	 *          return (id === "data1" && value > 10) ?
+	 *          	50 : outerRadius * 1.2;
+	 *      },
+	 *
+	 *      // set ratio relative of outer radius
+	 *      cornerRadius: {
+	 *          ratio: 0.5
+	 *      },
+	 *
+	 *      needle: {
+	 *       	show: true,
+	 *       	color: "red", // any valid CSS color
+	 *       	path: function(length) {
+	 *       	  const len = length - 20;
+	 *
+	 *       	  // will return upper arrow shape path
+	 *       	  // Note: The path should begun from '0,0' coordinate to top center.
+	 *       	  const path = `M 0 -${len + 20}
+	 *       		L -12 -${len}
+	 *       		L -5 -${len}
+	 *       		L -5 0
+	 *       		A 1 1 0 0 0 5 0
+	 *       		L 5 -${len}
+	 *       		L 12 -${len} Z`;
+	 *
+	 *       	  return path;
+	 *       	},
+	 *       	value: 40,  // will make needle to point value 40.
+	 *       	length: 80, // needle length in percentages relative to radius.
+	 *
+	 *       	top: {
+	 *       	  // rx and ry are the two radii of the ellipse;
+	 *       	  // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve
+	 *       	  rx: 1,
+	 *       	  ry: 1,
+	 *       	  width: 5
+	 *       	},
+	 *       	bottom: {
+	 *       	  // rx and ry are the two radii of the ellipse;
+	 *       	  // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d#elliptical_arc_curve
+	 *       	  rx: 1,
+	 *       	  ry: 1,
+	 *       	  width: 10
+	 *       	  len: 10
+	 *       	}
+	 *      },
+	 *
+	 *      rangeText: {
+	 *       	values: [15, 30, 50, 75, 95],
+	 *       	unit: "%",
+	 *       	fixed: false, // only available for gauge chart
+	 *       	format: function(v) {
+	 *       	  return v === 15 ? "Fifteen" : v;
+	 *       	},
+	 *
+	 *       	position: function(v) {
+	 *       	  return v === 15 ? {x: 20, y: 10} : null; // can return one props value also.
+	 *       	},
+	 *       	position: {x: 10, y: 15},
+	 *       	position: {x: 10}
+	 *      }
+	 *  }
+	 */
+	arc_cornerRadius: <number | ((id: string, value: number) => number)>0,
+	arc_cornerRadius_ratio: 0,
+	arc_needle_show: false,
+	arc_needle_color: <string | undefined>undefined,
+	arc_needle_value: <number | undefined>undefined,
+	arc_needle_path: undefined,
+	arc_needle_length: 100,
+	arc_needle_top_rx: 0,
+	arc_needle_top_ry: 0,
+	arc_needle_top_width: 0,
+	arc_needle_bottom_rx: 1,
+	arc_needle_bottom_ry: 1,
+	arc_needle_bottom_width: 15,
+	arc_needle_bottom_len: 0,
+	arc_rangeText_values: <number[] | undefined>undefined,
+	arc_rangeText_unit: <"absolute" | "%">"absolute",
+	arc_rangeText_fixed: false,
+	arc_rangeText_format: <((v: number) => number) | undefined>undefined,
+	arc_rangeText_position: <
+		| ((v: number) => {x?: number, y?: number})
+		| {x?: number, y?: number}
+		| undefined
+	>undefined
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_shape_area.ts.html b/release/3.14.2/doc/config_Options_shape_area.ts.html new file mode 100644 index 000000000..51a7a25be --- /dev/null +++ b/release/3.14.2/doc/config_Options_shape_area.ts.html @@ -0,0 +1,161 @@ + + + + + + config/Options/shape/area.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/shape/area.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * area config options
+ */
+export default {
+	/**
+	 * Set area options
+	 * @name area
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} area Area object
+	 * @property {boolean} [area.above=false] Set background area `above` the data chart line.
+	 * @property {boolean} [area.below=false] Set background area `below` the data chart line.
+	 *  - **NOTE**: Can't be used along with `above` option. When above & below options are set to true, `above` will be prioritized.
+	 * @property {boolean} [area.front=true] Set area node to be positioned over line node.
+	 * @property {boolean|object} [area.linearGradient=false] Set the linear gradient on area.<br><br>
+	 * Or customize by giving below object value:
+	 *  - x {Array}: `x1`, `x2` value (default: `[0, 0]`)
+	 *  - y {Array}: `y1`, `y2` value (default: `[0, 1]`)
+	 *  - stops {Array}: Each item should be having `[offset, stop-color, stop-opacity]` values.
+	 *    - (default: `[[0, $DATA_COLOR, 1], [1, $DATA_COLOR, 0]]`)
+	 * @property {boolean} [area.zerobased=true] Set if min or max value will be 0 on area chart.
+	 * @see [MDN's &lt;linearGradient>](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient), [&lt;stop>](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/stop)
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Chart.AreaChart)
+	 * @see [Demo: above](https://naver.github.io/billboard.js/demo/#AreaChartOptions.Above)
+	 * @see [Demo: below](https://naver.github.io/billboard.js/demo/#AreaChartOptions.Below)
+	 * @see [Demo: linearGradient](https://naver.github.io/billboard.js/demo/#AreaChartOptions.LinearGradient)
+	 * @example
+	 *  area: {
+	 *      above: true,
+	 *      below: false,
+	 *      zerobased: false,
+	 *
+	 *      // <g class='bb-areas'> will be positioned behind the line <g class='bb-lines'> in stacking order
+	 *      front: false,
+	 *
+	 *      // will generate follwing linearGradient:
+	 *      // for more info: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient
+	 *      // <linearGradient x1="0" x2="0" y1="0" y2="1">
+	 *      //    <stop offset="0" stop-color="$DATA_COLOR" stop-opacity="1"></stop>
+	 *      //    <stop offset="1" stop-color="$DATA_COLOR" stop-opacity="0"></stop>
+	 *      // </linearGradient>
+	 *      linearGradient: true,
+	 *
+	 *      // Or customized gradient
+	 *      linearGradient: {
+	 *      	x: [0, 0],  // x1, x2 attributes
+	 *      	y: [0, 0],  // y1, y2 attributes
+	 *      	stops: [
+	 *      	  // offset, stop-color, stop-opacity
+	 *      	  [0, "#7cb5ec", 1],
+	 *
+	 *      	  // setting 'null' for stop-color, will set its original data color
+	 *      	  [0.5, null, 0],
+	 *
+	 *      	  // setting 'function' for stop-color, will pass data id as argument.
+	 *      	  // It should return color string or null value
+	 *      	  [1, function(id) { return id === "data1" ? "red" : "blue"; }, 0],
+	 *      	]
+	 *      }
+	 *  }
+	 */
+	area_above: false,
+	area_below: false,
+	area_front: true,
+	area_linearGradient: <boolean | {
+		x?: [number, number],
+		y?: [number, number],
+		stops?: [number, string | null | Function, number]
+	}>false,
+	area_zerobased: true
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_shape_bar.ts.html b/release/3.14.2/doc/config_Options_shape_bar.ts.html new file mode 100644 index 000000000..395fafa65 --- /dev/null +++ b/release/3.14.2/doc/config_Options_shape_bar.ts.html @@ -0,0 +1,241 @@ + + + + + + config/Options/shape/bar.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/shape/bar.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * bar config options
+ */
+export default {
+	/**
+	 * Set bar options
+	 * @name bar
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} bar Bar object
+	 * @property {boolean} [bar.front=false] Set 'bar' to be positioned over(on the top) other shapes elements.
+	 * @property {number} [bar.indices.removeNull=false] Remove nullish data on bar indices positions.
+	 * @property {number} [bar.label.threshold=0] Set threshold ratio to show/hide labels.
+	 * @property {boolean|object} [bar.linearGradient=false] Set the linear gradient on bar.<br><br>
+	 * Or customize by giving below object value:
+	 *  - x {Array}: `x1`, `x2` value (default: `[0, 0]`)
+	 *  - y {Array}: `y1`, `y2` value (default: `[0, 1]`)
+	 *  - stops {Array}: Each item should be having `[offset, stop-color, stop-opacity]` values.
+	 *    - (default: `[[0, $DATA_COLOR, 1], [1, $DATA_COLOR, 0]]`)
+	 * @property {boolean} [bar.overlap=false] Bars will be rendered at same position, which will be overlapped each other. (for non-grouped bars only)
+	 * @property {number} [bar.padding=0] The padding pixel value between each bar.
+	 * @property {number} [bar.radius] Set the radius of bar edge in pixel.
+	 * @property {number} [bar.radius.ratio] Set the radius ratio of bar edge in relative the bar's width.
+	 * @property {number} [bar.sensitivity=2] The senstivity offset value for interaction boundary.
+	 * @property {number|Function|object} [bar.width] Change the width of bar chart.
+	 * @property {number} [bar.width.ratio=0.6] Change the width of bar chart by ratio.
+	 * - **NOTE:** Criteria for ratio.
+	 *   - When x ticks count is same with the data count, the baseline for ratio is the minimum interval value of x ticks.
+	 * 	   - ex. when timeseries x values are: [2024-01-01, 2024-02-01, 2024-03-01], the minimum interval will be `2024-02-01 ~ 2024-03-01`
+	 *     - if the minimum interval is 30px, then ratio=1 means 30px.
+	 *   - When x ticks count is lower than the data count, the baseline will be calculated as `chart width / data count`.
+	 * 	   - ex. when chart width is 500, data count is 5, then ratio=1 means 100px.
+	 * @property {number} [bar.width.max] The maximum width value for ratio.
+	 * @property {number} [bar.width.dataname] Change the width of bar for indicated dataset only.
+	 * @property {number} [bar.width.dataname.ratio=0.6] Change the width of bar chart by ratio.
+	 *  - **NOTE:**
+	 *   - Works only for non-stacked bar
+	 * @property {number} [bar.width.dataname.max] The maximum width value for ratio.
+	 * @property {boolean} [bar.zerobased=true] Set if min or max value will be 0 on bar chart.
+	 * @see [Demo: bar front](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarFront)
+	 * @see [Demo: bar indices](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarIndices)
+	 * @see [Demo: bar overlap](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarOverlap)
+	 * @see [Demo: bar padding](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarPadding)
+	 * @see [Demo: bar radius](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarRadius)
+	 * @see [Demo: bar width](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarWidth)
+	 * @see [Demo: bar width variant](https://naver.github.io/billboard.js/demo/#BarChartOptions.BarWidthVariant)
+	 * @example
+	 *  bar: {
+	 *      // make bar shape to be positioned over the other shape elements
+	 *      front: true,
+	 *
+	 *      // remove nullish data on bar indices postions
+	 *      indices: {
+	 *          removeNull: true
+	 *      },
+	 *
+	 *      // will generate follwing linearGradient:
+	 *      // for more info: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradient
+	 *      // <linearGradient x1="0" x2="0" y1="0" y2="1">
+	 *      //    <stop offset="0" stop-color="$DATA_COLOR" stop-opacity="1"></stop>
+	 *      //    <stop offset="1" stop-color="$DATA_COLOR" stop-opacity="0"></stop>
+	 *      // </linearGradient>
+	 *      linearGradient: true,
+	 *
+	 *      // Or customized gradient
+	 *      linearGradient: {
+	 *      	x: [0, 0],  // x1, x2 attributes
+	 *      	y: [0, 0],  // y1, y2 attributes
+	 *      	stops: [
+	 *      	  // offset, stop-color, stop-opacity
+	 *      	  [0, "#7cb5ec", 1],
+	 *
+	 *      	  // setting 'null' for stop-color, will set its original data color
+	 *      	  [0.5, null, 0],
+	 *
+	 *      	  // setting 'function' for stop-color, will pass data id as argument.
+	 *      	  // It should return color string or null value
+	 *      	  [1, function(id) { return id === "data1" ? "red" : "blue"; }, 0],
+	 *      	]
+	 *      },
+	 *
+	 *      // remove nullish da
+	 *      overlap: true,
+	 *
+	 *      padding: 1,
+	 *
+	 *      // bar radius
+	 *      radius: 10,
+	 *      // or
+	 *      radius: {
+	 *          ratio: 0.5
+	 *      }
+	 *
+	 *      label: {
+	 *          // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the y Axis domain range value.
+	 *          // if data value is below than 0.1, text label will be hidden.
+	 *          threshold: 0.1,
+	 *      },
+	 *
+	 *      // will not have offset between each bar elements for interaction
+	 *      sensitivity: 0,
+	 *
+	 *      width: 10,
+	 *
+	 *      // or specify width callback. The callback will receive width, targetsNum, maxDataCount as arguments.
+	 *      // - width: chart area width
+	 *      // - targetsNum: number of targets
+	 *      // - maxDataCount: maximum data count among targets
+	 *      width: function(width, targetsNum, maxDataCount) {
+	 *            return width / (targetsNum * maxDataCount);
+	 *      }
+	 *
+	 *      // or specify ratio & max
+	 *      width: {
+	 *          ratio: 0.2,
+	 *          max: 20
+	 *      },
+	 *
+	 *      // or specify width per dataset
+	 *      width: {
+	 *          data1: 20,
+	 *          data2: {
+	 *              ratio: 0.2,
+	 *              max: 20
+	 *          }
+	 *      },
+	 *
+	 *      zerobased: false
+	 *  }
+	 */
+	bar_front: false,
+	bar_indices_removeNull: false,
+	bar_label_threshold: 0,
+	bar_linearGradient: <boolean | {
+		x?: [number, number],
+		y?: [number, number],
+		stops?: [number, string | null | Function, number]
+	}>false,
+	bar_overlap: false,
+	bar_padding: 0,
+	bar_radius: <number | {ratio: number} | undefined>undefined,
+	bar_radius_ratio: <number | undefined>undefined,
+	bar_sensitivity: 2,
+	bar_width: <number | ((width: number, targetsNum: number, maxDataCount: number) => number) | {
+		ratio?: number,
+		max?: number
+	} | undefined>undefined,
+	bar_width_ratio: 0.6,
+	bar_width_max: undefined,
+	bar_zerobased: true
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_shape_bubble.ts.html b/release/3.14.2/doc/config_Options_shape_bubble.ts.html new file mode 100644 index 000000000..cdff076cd --- /dev/null +++ b/release/3.14.2/doc/config_Options_shape_bubble.ts.html @@ -0,0 +1,120 @@ + + + + + + config/Options/shape/bubble.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/shape/bubble.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * bubble config options
+ */
+export default {
+	/**
+	 * Set bubble options
+	 * @name bubble
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} bubble bubble object
+	 * @property {number|Function} [bubble.maxR=35] Set the max bubble radius value
+	 * @property {boolean} [bubble.zerobased=false] Set if min or max value will be 0 on bubble chart.
+	 * @example
+	 *  bubble: {
+	 *      // ex) If 100 is the highest value among data bound, the representation bubble of 100 will have radius of 50.
+	 *      // And the lesser will have radius relatively from tha max value.
+	 *      maxR: 50,
+	 *
+	 *      // or set radius callback
+	 *      maxR: function(d) {
+	 *          // ex. of d param - {x: Fri Oct 06 2017 00:00:00 GMT+0900, value: 80, id: "data2", index: 5}
+	 *          ...
+	 *          return Math.sqrt(d.value * 2);
+	 *      },
+	 *      zerobased: false
+	 *  }
+	 */
+	bubble_maxR: <number | (() => number)>35,
+	bubble_zerobased: false
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_shape_candlestick.ts.html b/release/3.14.2/doc/config_Options_shape_candlestick.ts.html new file mode 100644 index 000000000..1bae76cb0 --- /dev/null +++ b/release/3.14.2/doc/config_Options_shape_candlestick.ts.html @@ -0,0 +1,146 @@ + + + + + + config/Options/shape/candlestick.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/shape/candlestick.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * candlestick config options
+ */
+export default {
+	/**
+	 * Set candlestick options
+	 * @name candlestick
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} candlestick Candlestick object
+	 * @property {number} [candlestick.width] Change the width.
+	 * @property {number} [candlestick.width.ratio=0.6] Change the width by ratio.
+	 * @property {number} [candlestick.width.max] The maximum width value for ratio.
+	 * @property {number} [candlestick.width.dataname] Change the width for indicated dataset only.
+	 * @property {number} [candlestick.width.dataname.ratio=0.6] Change the width of bar chart by ratio.
+	 * @property {number} [candlestick.width.dataname.max] The maximum width value for ratio.
+	 * @property {object} [candlestick.color] Color setting.
+	 * @property {string|object} [candlestick.color.down] Change down(bearish) value color.
+	 * @property {string} [candlestick.color.down.dataname] Change down value color for indicated dataset only.
+	 *
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/##Chart.CandlestickChart)
+	 * @example
+	 *  candlestick: {
+	 *      width: 10,
+	 *
+	 *      // or
+	 *      width: {
+	 *         	ratio: 0.2,
+	 *         	max: 20
+	 *      },
+	 *
+	 *      // or specify width per dataset
+	 *      width: {
+	 *         	data1: 20,
+	 *         	data2: {
+	 *         	    ratio: 0.2,
+	 *         		max: 20
+	 *         	}
+	 *      },
+	 *      color: {
+	 *  	  	// spcify bearish color
+	 *  	  	down: "red",
+	 *
+	 *  	  	// or specify color per dataset
+	 *  	  	down: {
+	 *  	  		data1: "red",
+	 *  	  		data2: "blue",
+	 *  	  	}
+	 *      }
+	 *  }
+	 */
+	candlestick_width: <number | {ratio?: number, max?: number} | undefined>undefined,
+	candlestick_width_ratio: 0.6,
+	candlestick_width_max: undefined,
+	candlestick_color_down: <string | {[key: string]: string}>"red"
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_shape_donut.ts.html b/release/3.14.2/doc/config_Options_shape_donut.ts.html new file mode 100644 index 000000000..0949e72c2 --- /dev/null +++ b/release/3.14.2/doc/config_Options_shape_donut.ts.html @@ -0,0 +1,172 @@ + + + + + + config/Options/shape/donut.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/shape/donut.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * donut config options
+ */
+export default {
+	/**
+	 * Set donut options
+	 * @name donut
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} donut Donut object
+	 * @property {boolean} [donut.label.show=true] Show or hide label on each donut piece.
+	 * @property {Function} [donut.label.format] Set formatter for the label on each donut piece.
+	 * @property {number} [donut.label.threshold=0.05] Set threshold ratio to show/hide labels.
+	 * @property {number|Function} [donut.label.ratio=undefined] Set ratio of labels position.
+	 * @property {boolean} [donut.expand=true] Enable or disable expanding donut pieces.
+	 * @property {number} [donut.expand.rate=0.98] Set expand rate.
+	 * @property {number} [donut.expand.duration=50] Set expand transition time in ms.
+	 * @property {number} [donut.width] Set width of donut chart.
+	 * @property {string} [donut.title=""] Set title of donut chart. Use `\n` character for line break.
+	 *  - **NOTE:**
+	 *    - When `arc.needle.show=true` is set, special template `{=NEEDLE_VALUE}` can be used inside the title text to show current needle value.
+	 * @property {number} [donut.padAngle=0] Set padding between data.
+	 * @property {number} [donut.startingAngle=0] Set starting angle where data draws.
+	 * @example
+	 *  donut: {
+	 *      label: {
+	 *          show: false,
+	 *          format: function(value, ratio, id) {
+	 *              return d3.format("$")(value);
+	 *
+	 *              // to multiline, return with '\n' character
+	 *              // return value +"%\nLine1\n2Line2";
+	 *          },
+	 *
+	 *          // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value.
+	 *          // if data value is below than 0.1, text label will be hidden.
+	 *          threshold: 0.1,
+	 *
+	 *          // set ratio callback. Should return ratio value
+	 *          ratio: function(d, radius, h) {
+	 *          	...
+	 *          	return ratio;
+	 *          },
+	 *          // or set ratio number
+	 *          ratio: 0.5
+	 *      },
+	 *
+	 *      // disable expand transition for interaction
+	 *      expand: false,
+	 *
+	 *      expand: {
+	 *      	// set duration of expand transition to 500ms.
+	 *          duration: 500,
+	 *
+	 *      	// set expand area rate
+	 *          rate: 1
+	 *      },
+	 *
+	 *      width: 10,
+	 *      padAngle: 0.2,
+	 *      startingAngle: 1,
+	 *      title: "Donut Title"
+	 *
+	 *      // when 'arc.needle.show=true' is set, can show current needle value.
+	 *      title: "Needle value:\n{=NEEDLE_VALUE}",
+	 *
+	 *      // title with line break
+	 *      title: "Title1\nTitle2"
+	 *  }
+	 */
+	donut_label_show: true,
+	donut_label_format: <(() => number | string) | undefined>undefined,
+	donut_label_threshold: 0.05,
+	donut_label_ratio: <number | (() => number) | undefined>undefined,
+	donut_width: <number | undefined>undefined,
+	donut_title: "",
+	donut_expand: <boolean | {rate?: number, duration?: number}>{},
+	donut_expand_rate: 0.98,
+	donut_expand_duration: 50,
+	donut_padAngle: 0,
+	donut_startingAngle: 0
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_shape_funnel.ts.html b/release/3.14.2/doc/config_Options_shape_funnel.ts.html new file mode 100644 index 000000000..66ed26a51 --- /dev/null +++ b/release/3.14.2/doc/config_Options_shape_funnel.ts.html @@ -0,0 +1,124 @@ + + + + + + config/Options/shape/funnel.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/shape/funnel.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * funnel config options
+ */
+export default {
+	/**
+	 * Set funnel options
+	 * @name funnel
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} funnel Funnel object
+	 * @property {number} [funnel.neck.width=0] Set funnel neck width.
+	 * @property {number} [funnel.neck.height=0] Set funnel neck height.
+	 * @property {number} [funnel.neck.width.ratio] Set funnel neck width in ratio.
+	 * @property {number} [funnel.neck.height.ratio] Set funnel neck height in ratio.
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Chart.PolarChart)
+	 * @example
+	 *  funnel: {
+	 *      neck: {
+	 *          width: 200,
+	 *          height: 100,
+	 *
+	 *          // or specify as ratio value (relative to the chart size)
+	 *          width: {
+	 *            ratio: 0.5
+	 *          },
+	 *          height: {
+	 *            ratio: 0.5
+	 *          }
+	 *      }
+	 *  }
+	 */
+	funnel_neck_width: <number | {ratio: number}>0,
+	funnel_neck_height: <number | {ratio: number}>0
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_shape_gauge.ts.html b/release/3.14.2/doc/config_Options_shape_gauge.ts.html new file mode 100644 index 000000000..4d79bd52c --- /dev/null +++ b/release/3.14.2/doc/config_Options_shape_gauge.ts.html @@ -0,0 +1,235 @@ + + + + + + config/Options/shape/gauge.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/shape/gauge.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * gauge config options
+ */
+export default {
+	/**
+	 * Set gauge options
+	 * @name gauge
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} gauge Gauge object
+	 * @property {boolean} [gauge.background=""] Set background color. (The `.bb-chart-arcs-background` element)
+	 * @property {boolean} [gauge.fullCircle=false] Show full circle as donut. When set to 'true', the max label will not be showed due to start and end points are same location.
+	 * @property {boolean} [gauge.label.show=true] Show or hide label on gauge.
+	 * @property {Function} [gauge.label.extents] Set customized min/max label text.
+	 * @property {Function} [gauge.label.format] Set formatter for the label on gauge. Label text can be multilined with `\n` character.<br>
+	 * Will pass following arguments to the given function:
+	 * - value {number}: absolute value
+	 * - ratio {number}: value's ratio
+	 * - id {string}: data's id value
+	 * @property {number|Function} [gauge.label.ratio=undefined] Set ratio of labels position.
+	 * @property {number} [gauge.label.threshold=0] Set threshold ratio to show/hide labels.
+	 * @property {boolean} [gauge.expand=true] Enable or disable expanding gauge.
+	 * @property {number} [gauge.expand.rate=0.98] Set expand rate.
+	 * @property {number} [gauge.expand.duration=50] Set the expand transition time in milliseconds.
+	 * @property {boolean} [gauge.enforceMinMax=false] Enforce to given min/max value.
+	 * - When `gauge.min=50` and given value is `30`, gauge will render as empty value.
+	 * - When `gauge.max=100` and given value is `120`, gauge will render till 100, not surpassing max value.
+	 * @property {number} [gauge.min=0] Set min value of the gauge.
+	 * @property {number} [gauge.max=100] Set max value of the gauge.
+	 * @property {number} [gauge.startingAngle=-1 * Math.PI / 2] Set starting angle where data draws.
+	 *
+	 * **Limitations:**
+	 * - when `gauge.fullCircle=false`:
+	 *   - -1 * Math.PI / 2 <= startingAngle <= Math.PI / 2
+	 *   - `startingAngle <= -1 * Math.PI / 2` defaults to `-1 * Math.PI / 2`
+	 *   - `startingAngle >= Math.PI / 2` defaults to `Math.PI / 2`
+	 * - when `gauge.fullCircle=true`:
+	 *   - -1 * Math.PI < startingAngle < Math.PI
+	 *   - `startingAngle < -1 * Math.PI` defaults to `Math.PI`
+	 *   - `startingAngle >  Math.PI` defaults to `Math.PI`
+	 * @property {number} [gauge.arcLength=100] Set the length of the arc to be drawn in percent from -100 to 100.<br>
+	 * Negative value will draw the arc **counterclockwise**. Need to be used in conjunction with `gauge.fullCircle=true`.
+	 *
+	 * **Limitations:**
+	 * - -100 <= arcLength (in percent) <= 100
+	 * - 'arcLength < -100' defaults to -100
+	 * - 'arcLength > 100' defaults to 100
+	 * @property {string} [gauge.title=""] Set title of gauge chart. Use `\n` character for line break.
+	 *  - **NOTE:**
+	 *    - When `arc.needle.show=true` is set, special template `{=NEEDLE_VALUE}` can be used inside the title text to show current needle value.
+	 * @property {string} [gauge.units] Set units of the gauge.
+	 * @property {number} [gauge.width] Set width of gauge chart.
+	 * @property {string} [gauge.type="single"] Set type of gauge to be displayed.<br><br>
+	 * **Available Values:**
+	 * - single
+	 * - multi
+	 * @property {number} [gauge.arcs.minWidth=5] Set minimal width of gauge arcs until the innerRadius disappears.
+	 * @see [Demo: enforceMinMax, min/max](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeMinMax)
+	 * @see [Demo: archLength](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeArcLength)
+	 * @see [Demo: startingAngle](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeStartingAngle)
+	 * @see [Demo: labelRatio](https://naver.github.io/billboard.js/demo/#GaugeChartOptions.GaugeLabelRatio)
+	 * @example
+	 *  gauge: {
+	 *      background: "#eee", // will set 'fill' css prop for '.bb-chart-arcs-background' classed element.
+	 *      fullCircle: false,
+	 *      label: {
+	 *          show: false,
+	 *          format: function(value, ratio, id) {
+	 *              return value;
+	 *
+	 *              // to multiline, return with '\n' character
+	 *              // return value +"%\nLine1\n2Line2";
+	 *          },
+	 *
+	 *           extents: function(value, isMax) {
+	 *              return (isMax ? "Max:" : "Min:") + value;
+	 *          },
+	 *
+	 *          // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value.
+	 *          // if data value is below than 0.1, text label will be hidden.
+	 *          threshold: 0.1,
+	 *
+	 *          // set ratio callback. Should return ratio value
+	 *          ratio: function(d, radius, h) {
+	 *              ...
+	 *              return ratio;
+	 *          },
+	 *          // or set ratio number
+	 *          ratio: 0.5
+	 *      },
+	 *
+	 *      // disable expand transition for interaction
+	 *      expand: false,
+	 *
+	 *      expand: {
+	 *      	// set duration of expand transition to 500ms.
+	 *          duration: 500,
+	 *
+	 *      	// set expand area rate
+	 *          rate: 1
+	 *      },
+	 *
+	 *      // enforce min/max value.
+	 * 		// when given value < min, will render as empty value.
+	 * 		// when value > max, will render to given max value not surpassing it.
+	 *      enforceMinMax: true,
+	 *
+	 *      min: -100,
+	 *      max: 200,
+	 *      type: "single"  // or 'multi'
+	 *      title: "Title Text",
+	 *
+	 *      // when 'arc.needle.show=true' is set, can show current needle value.
+	 *      title: "Needle value:\n{=NEEDLE_VALUE}",
+	 *
+	 *      units: "%",
+	 *      width: 10,
+	 *      startingAngle: -1 * Math.PI / 2,
+	 *      arcLength: 100,
+	 *      arcs: {
+	 *          minWidth: 5
+	 *      }
+	 *  }
+	 */
+	gauge_background: "",
+	gauge_fullCircle: false,
+	gauge_label_show: true,
+	gauge_label_extents: <(() => string) | undefined>undefined,
+	gauge_label_format: <(() => string) | undefined>undefined,
+	gauge_label_ratio: <(() => number) | undefined>undefined,
+	gauge_label_threshold: 0,
+	gauge_enforceMinMax: false,
+	gauge_min: 0,
+	gauge_max: 100,
+	gauge_type: "single",
+	gauge_startingAngle: -1 * Math.PI / 2,
+	gauge_arcLength: 100,
+	gauge_title: "",
+	gauge_units: <string | undefined>undefined,
+	gauge_width: <number | undefined>undefined,
+	gauge_arcs_minWidth: 5,
+	gauge_expand: <boolean | {duration: number}>{},
+	gauge_expand_rate: 0.98,
+	gauge_expand_duration: 50
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_shape_line.ts.html b/release/3.14.2/doc/config_Options_shape_line.ts.html new file mode 100644 index 000000000..21f9b743f --- /dev/null +++ b/release/3.14.2/doc/config_Options_shape_line.ts.html @@ -0,0 +1,143 @@ + + + + + + config/Options/shape/line.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/shape/line.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * line config options
+ */
+export default {
+	/**
+	 * Set line options
+	 * @name line
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} line Line object
+	 * @property {boolean} [line.connectNull=false] Set if null data point will be connected or not.<br>
+	 *  If true set, the region of null data will be connected without any data point. If false set, the region of null data will not be connected and get empty.
+	 * @property {Array}   [line.classes=undefined] If set, used to set a css class on each line.
+	 * @property {boolean} [line.step.type=step] Change step type for step chart.<br>
+	 * **Available values:**
+	 * - step
+	 * - step-before
+	 * - step-after
+	 * @property {boolean} [line.step.tooltipMatch=false] Set to `true` for `step-before` and `step-after` types to have cursor/tooltip match to hovered step's point instead of nearest point.
+	 * @property {boolean|Array} [line.point=true] Set to false to not draw points on linecharts. Or pass an array of line ids to draw points for.
+	 * @property {boolean} [line.zerobased=false] Set if min or max value will be 0 on line chart.
+	 * @example
+	 *  line: {
+	 *      connectNull: true,
+	 *      classes: [
+	 *          "line-class1",
+	 *          "line-class2"
+	 *      ],
+	 *      step: {
+	 *          type: "step-after",
+	 *
+	 *          // to have cursor/tooltip match to hovered step's point instead of nearest point.
+	 *          tooltipMatch: true
+	 *      },
+	 *
+	 *      // hide all data points ('point.show=false' also has similar effect)
+	 *      point: false,
+	 *
+	 *      // show data points for only indicated datas
+	 *      point: [
+	 *          "data1", "data3"
+	 *      ],
+	 *
+	 *      zerobased: false
+	 *  }
+	 */
+	line_connectNull: false,
+	line_step_type: <"step" | "step-before" | "step-after">"step",
+	line_step_tooltipMatch: false,
+	line_zerobased: false,
+	line_classes: <string[] | undefined>undefined,
+	line_point: <string[] | boolean>true
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_shape_pie.ts.html b/release/3.14.2/doc/config_Options_shape_pie.ts.html new file mode 100644 index 000000000..6c351f7b0 --- /dev/null +++ b/release/3.14.2/doc/config_Options_shape_pie.ts.html @@ -0,0 +1,185 @@ + + + + + + config/Options/shape/pie.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/shape/pie.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * pie config options
+ */
+export default {
+	/**
+	 * Set pie options
+	 * @name pie
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} pie Pie object
+	 * @property {boolean} [pie.label.show=true] Show or hide label on each pie piece.
+	 * @property {Function} [pie.label.format] Set formatter for the label on each pie piece.
+	 * @property {number|Function} [pie.label.ratio=undefined] Set ratio of labels position.
+	 * @property {number} [pie.label.threshold=0.05] Set threshold ratio to show/hide labels.
+	 * @property {boolean|object} [pie.expand=true] Enable or disable expanding pie pieces.
+	 * @property {number} [pie.expand.rate=0.98] Set expand rate.
+	 * @property {number} [pie.expand.duration=50] Set expand transition time in ms.
+	 * @property {number|object} [pie.innerRadius=0] Sets the inner radius of pie arc.
+	 * @property {number|object|undefined} [pie.outerRadius=undefined] Sets the outer radius of pie arc.
+	 * @property {number} [pie.padAngle=0] Set padding between data.
+	 * @property {number} [pie.padding=0] Sets the gap between pie arcs.
+	 * @property {number} [pie.startingAngle=0] Set starting angle where data draws.
+	 * @see [Demo: expand.rate](https://naver.github.io/billboard.js/demo/#PieChartOptions.ExpandRate)
+	 * @see [Demo: innerRadius](https://naver.github.io/billboard.js/demo/#PieChartOptions.InnerRadius)
+	 * @see [Demo: outerRadius](https://naver.github.io/billboard.js/demo/#PieChartOptions.OuterRadius)
+	 * @see [Demo: startingAngle](https://naver.github.io/billboard.js/demo/#PieChartOptions.StartingAngle)
+	 * @example
+	 *  pie: {
+	 *      label: {
+	 *          show: false,
+	 *          format: function(value, ratio, id) {
+	 *              return d3.format("$")(value);
+	 *
+	 *              // to multiline, return with '\n' character
+	 *              // return value +"%\nLine1\n2Line2";
+	 *          },
+	 *
+	 *          // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value.
+	 *          // if data value is below than 0.1, text label will be hidden.
+	 *          threshold: 0.1,
+	 *
+	 *          // set ratio callback. Should return ratio value
+	 *          ratio: function(d, radius, h) {
+	 *              ...
+	 *              return ratio;
+	 *          },
+	 *          // or set ratio number
+	 *          ratio: 0.5
+	 *      },
+	 *
+	 *      // disable expand transition for interaction
+	 *      expand: false,
+	 *
+	 *      expand: {
+	 *      	// set duration of expand transition to 500ms.
+	 *          duration: 500,
+	 *
+	 *      	// set expand area rate
+	 *          rate: 1
+	 *      },
+	 *
+	 *      innerRadius: 0,
+	 *
+	 *      // set different innerRadius for each data
+	 *      innerRadius: {
+	 *      	data1: 10,
+	 *      	data2: 0
+	 *      },
+	 *
+	 *      outerRadius: 100,
+	 *
+	 *      // set different outerRadius for each data
+	 *      outerRadius: {
+	 *      	data1: 50,
+	 *      	data2: 100
+	 *      }
+	 *
+	 *      padAngle: 0.1,
+	 *      padding: 0,
+	 *      startingAngle: 1
+	 *  }
+	 */
+	pie_label_show: true,
+	pie_label_format: <(() => number | string) | undefined>undefined,
+	pie_label_ratio: <(() => number) | undefined>undefined,
+	pie_label_threshold: 0.05,
+	pie_expand: <boolean | {rate?: number, duration?: number}>{},
+	pie_expand_rate: 0.98,
+	pie_expand_duration: 50,
+	pie_innerRadius: <number | {[key: string]: number}>0,
+	pie_outerRadius: <number | {[key: string]: number} | undefined>undefined,
+	pie_padAngle: 0,
+	pie_padding: 0,
+	pie_startingAngle: 0
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_shape_polar.ts.html b/release/3.14.2/doc/config_Options_shape_polar.ts.html new file mode 100644 index 000000000..6cc2178f8 --- /dev/null +++ b/release/3.14.2/doc/config_Options_shape_polar.ts.html @@ -0,0 +1,167 @@ + + + + + + config/Options/shape/polar.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/shape/polar.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * polar config options
+ */
+export default {
+	/**
+	 * Set polar options
+	 * @name polar
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} polar Polar object
+	 * @property {boolean} [polar.label.show=true] Show or hide label on each polar piece.
+	 * @property {Function} [polar.label.format] Set formatter for the label on each polar piece.
+	 * @property {number} [polar.label.threshold=0.05] Set threshold ratio to show/hide labels.
+	 * @property {number|Function} [polar.label.ratio=undefined] Set ratio of labels position.
+	 * @property {number} [polar.level.depth=3] Set the level depth.
+	 * @property {boolean} [polar.level.show=true] Show or hide level.
+	 * @property {string} [polar.level.text.backgroundColor="#fff"] Set label text's background color.
+	 * @property {Function} [polar.level.text.format] Set format function for the level value.<br>- Default value: `(x) => x % 1 === 0 ? x : x.toFixed(2)`
+	 * @property {boolean} [polar.level.text.show=true] Show or hide level text.
+	 * @property {number} [polar.padAngle=0] Set padding between data.
+	 * @property {number} [polar.padding=0] Sets the gap between pie arcs.
+	 * @property {number} [polar.startingAngle=0] Set starting angle where data draws.
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Chart.PolarChart)
+	 * @example
+	 *  polar: {
+	 *      label: {
+	 *          show: false,
+	 *          format: function(value, ratio, id) {
+	 *              return d3.format("$")(value);
+	 *
+	 *              // to multiline, return with '\n' character
+	 *              // return value +"%\nLine1\n2Line2";
+	 *          },
+	 *
+	 *          // 0.1(10%) ratio value means, the minimum ratio to show text label relative to the total value.
+	 *          // if data value is below than 0.1, text label will be hidden.
+	 *          threshold: 0.1,
+	 *
+	 *          // set ratio callback. Should return ratio value
+	 *          ratio: function(d, radius, h) {
+	 *              ...
+	 *              return ratio;
+	 *          },
+	 *          // or set ratio number
+	 *          ratio: 0.5
+	 *      },
+	 *      level: {
+	 *          depth: 3,
+	 *          max: 500,
+	 *          show: true,
+	 *          text: {
+	 *              format: function(x) {
+	 *                  return x + "%";
+	 *              },
+	 *              show: true,
+	 *              backgroundColor: "red"
+	 *          }
+	 *      },
+	 *      padAngle: 0.1,
+	 *      padding: 0,
+	 *      startingAngle: 1
+	 *  }
+	 */
+	polar_label_show: true,
+	polar_label_format: <(() => number | string) | undefined>undefined,
+	polar_label_threshold: 0.05,
+	polar_label_ratio: <(() => number) | undefined>undefined,
+	polar_level_depth: 3,
+	polar_level_max: <number | undefined>undefined,
+	polar_level_show: true,
+	polar_level_text_backgroundColor: "#fff",
+	polar_level_text_format: (x: number) => (x % 1 === 0 ? x : x.toFixed(2)),
+	polar_level_text_show: true,
+	polar_padAngle: 0,
+	polar_padding: 0,
+	polar_startingAngle: 0
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_shape_radar.ts.html b/release/3.14.2/doc/config_Options_shape_radar.ts.html new file mode 100644 index 000000000..b59cbee20 --- /dev/null +++ b/release/3.14.2/doc/config_Options_shape_radar.ts.html @@ -0,0 +1,161 @@ + + + + + + config/Options/shape/radar.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/shape/radar.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * radar config options
+ */
+export default {
+	/**
+	 * Set radar options
+	 * - **NOTE:**
+	 *  > When x tick text contains `\n`, it's used as line break.
+	 * @name radar
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} radar Radar object
+	 * @property {number} [radar.axis.max=undefined] The max value of axis. If not given, it'll take the max value from the given data.
+	 * @property {boolean} [radar.axis.line.show=true] Show or hide axis line.
+	 * @property {number} [radar.axis.text.position.x=0] x coordinate position, relative the original.
+	 * @property {number} [radar.axis.text.position.y=0] y coordinate position, relative the original.
+	 * @property {boolean} [radar.axis.text.show=true] Show or hide axis text.
+	 * @property {boolean} [radar.direction.clockwise=false] Set the direction to be drawn.
+	 * @property {number} [radar.level.depth=3] Set the level depth.
+	 * @property {boolean} [radar.level.show=true] Show or hide level.
+	 * @property {Function} [radar.level.text.format] Set format function for the level value.<br>- Default value: `(x) => x % 1 === 0 ? x : x.toFixed(2)`
+	 * @property {boolean} [radar.level.text.show=true] Show or hide level text.
+	 * @property {number} [radar.size.ratio=0.87] Set size ratio.
+	 * @see [Demo](https://naver.github.io/billboard.js/demo/#Chart.RadarChart)
+	 * @see [Demo: radar axis](https://naver.github.io/billboard.js/demo/#RadarChartOptions.RadarAxis)
+	 * @see [Demo: radar level](https://naver.github.io/billboard.js/demo/#RadarChartOptions.RadarLevel)
+	 * @see [Demo: radar size](https://naver.github.io/billboard.js/demo/#RadarChartOptions.RadarSize)
+	 * @see [Demo: radar axis multiline](https://naver.github.io/billboard.js/demo/#RadarChartOptions.RadarAxisMultiline)
+	 * @example
+	 *  radar: {
+	 *      axis: {
+	 *          max: 50,
+	 *          line: {
+	 *              show: false
+	 *          },
+	 *          text: {
+	 *              position: {
+	 *              	x: 0,
+	 *              	y: 0
+	 *              },
+	 *              show: false
+	 *          }
+	 *      },
+	 *      direction: {
+	 *          clockwise: true
+	 *      },
+	 *      level: {
+	 *          show: false,
+	 *          text: {
+	 *              format: function(x) {
+	 *                  return x + "%";
+	 *              },
+	 *              show: true
+	 *          }
+	 *      },
+	 *      size: {
+	 *          ratio: 0.7
+	 *      }
+	 *  }
+	 */
+	radar_axis_max: <number | undefined>undefined,
+	radar_axis_line_show: true,
+	radar_axis_text_show: true,
+	radar_axis_text_position: <{x?: number, y?: number}>{},
+	radar_level_depth: 3,
+	radar_level_show: true,
+	radar_level_text_format: (x: number) => (x % 1 === 0 ? x : x.toFixed(2)),
+	radar_level_text_show: true,
+	radar_size_ratio: 0.87,
+	radar_direction_clockwise: false
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_shape_scatter.ts.html b/release/3.14.2/doc/config_Options_shape_scatter.ts.html new file mode 100644 index 000000000..eae3d6363 --- /dev/null +++ b/release/3.14.2/doc/config_Options_shape_scatter.ts.html @@ -0,0 +1,121 @@ + + + + + + config/Options/shape/scatter.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/shape/scatter.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * scatter config options
+ */
+export default {
+	/**
+	 * Set scatter options
+	 * @name scatter
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} [scatter] scatter object
+	 * @property {boolean} [scatter.zerobased=false] Set if min or max value will be 0 on scatter chart.
+	 * @example
+	 *  scatter: {
+	 *      connectNull: true,
+	 *      step: {
+	 *          type: "step-after"
+	 *      },
+	 *
+	 *      // hide all data points ('point.show=false' also has similar effect)
+	 *      point: false,
+	 *
+	 *      // show data points for only indicated datas
+	 *      point: [
+	 *          "data1", "data3"
+	 *      ],
+	 *
+	 *      zerobased: false
+	 *  }
+	 */
+	scatter_zerobased: false
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_shape_spline.ts.html b/release/3.14.2/doc/config_Options_shape_spline.ts.html new file mode 100644 index 000000000..d837764a5 --- /dev/null +++ b/release/3.14.2/doc/config_Options_shape_spline.ts.html @@ -0,0 +1,131 @@ + + + + + + config/Options/shape/spline.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/shape/spline.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * spline config options
+ */
+export default {
+	/**
+	 * Set spline options
+	 * - **Available interpolation type values:**
+	 *  - basis (d3.curveBasis)
+	 *  - basis-closed (d3.curveBasisClosed)
+	 *  - basis-open (d3.curveBasisOpen)
+	 *  - bundle (d3.curveBundle)
+	 *  - cardinal (d3.curveCardinal)
+	 *  - cardinal-closed (d3.curveCardinalClosed)
+	 *  - cardinal-open (d3.curveCardinalOpen)
+	 *  - catmull-rom (d3.curveCatmullRom)
+	 *  - catmull-rom-closed (d3.curveCatmullRomClosed)
+	 *  - catmull-rom-open (d3.curveCatmullRomOpen)
+	 *  - monotone-x (d3.curveMonotoneX)
+	 *  - monotone-y (d3.curveMonotoneY)
+	 *  - natural (d3.curveNatural)
+	 *  - linear-closed (d3.curveLinearClosed)
+	 *  - linear (d3.curveLinear)
+	 *  - step (d3.curveStep)
+	 *  - step-after (d3.curveStepAfter)
+	 *  - step-before (d3.curveStepBefore)
+	 * @name spline
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} spline Spline object
+	 * @property {object} spline.interpolation Spline interpolation object
+	 * @property {string} [spline.interpolation.type="cardinal"] Interpolation type
+	 * @see [Interpolation (d3 v4)](http://bl.ocks.org/emmasaunders/c25a147970def2b02d8c7c2719dc7502)
+	 * @example
+	 *  spline: {
+	 *      interpolation: {
+	 *          type: "cardinal"
+	 *      }
+	 *  }
+	 */
+	spline_interpolation_type: "cardinal"
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/config_Options_shape_treemap.ts.html b/release/3.14.2/doc/config_Options_shape_treemap.ts.html new file mode 100644 index 000000000..056be531f --- /dev/null +++ b/release/3.14.2/doc/config_Options_shape_treemap.ts.html @@ -0,0 +1,139 @@ + + + + + + config/Options/shape/treemap.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

config/Options/shape/treemap.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+/**
+ * treemap config options
+ */
+export default {
+	/**
+	 * Set treemap options
+	 * @name treemap
+	 * @memberof Options
+	 * @type {object}
+	 * @property {object} treemap Treemap object
+	 * @property {string} [treemap.tile="binary"] Treemap tile type
+	 * - **Available tile type values:**
+	 * 	- binary ([d3.treemapBinary](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapBinary))
+	 * 	- dice ([d3.treemapDice](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapDice))
+	 * 	- slice ([d3.treemapSlice](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapSlice))
+	 * 	- sliceDice ([d3.treemapSliceDice](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapSliceDice))
+	 * 	- squrify ([d3.treemapSquarify](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapSquarify))
+	 * 	- resquarify ([d3.treemapResquarify](https://github.com/d3/d3-hierarchy/blob/main/README.md#treemapResquarify))
+	 * @property {Function} [treemap.label.format] Set formatter for the label text.
+	 * @property {number} [treemap.label.threshold=0.05] Set threshold ratio to show/hide labels text.
+	 * @property {number} [treemap.label.show=true] Show or hide label text.
+	 * @see [Demo: treemap](https://naver.github.io/billboard.js/demo/#Chart.TreemapChart)
+	 * @example
+	 *  treemap: {
+	 *      // "binary", "dice", "slice", "sliceDice", "squrify", "resquarify"
+	 *      tile: "dice",
+	 *
+	 *      label: {
+	 *          // show or hide label text
+	 *          show: false,
+	 *
+	 *          // set label text formatter
+	 *          format: function(value, ratio, id) {
+	 *              return d3.format("$")(value);
+	 *
+	 *              // to multiline, return with '\n' character
+	 *              // return value +"%\nLine1\n2Line2";
+	 *          },
+	 *
+	 *          // set ratio number
+	 *          ratio: 0.05
+	 *      }
+	 *  }
+	 */
+	treemap_tile: "binary",
+	treemap_label_format: <(() => number | string) | undefined>undefined,
+	treemap_label_threshold: 0.05,
+	treemap_label_show: true
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/core.ts.html b/release/3.14.2/doc/core.ts.html new file mode 100644 index 000000000..b6e782c6c --- /dev/null +++ b/release/3.14.2/doc/core.ts.html @@ -0,0 +1,244 @@ + + + + + + core.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

core.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard project is licensed under the MIT license
+ */
+import Chart from "./Chart/Chart";
+import {isObject, mergeObj} from "./module/util";
+
+let defaults = {};
+
+/**
+ * @namespace bb
+ * @version __VERSION__
+ */
+const bb = {
+	/**
+	 * Version information
+	 * @property {string} version version
+	 * @example
+	 *    bb.version;  // "1.0.0"
+	 * @memberof bb
+	 */
+	version: "__VERSION__",
+
+	/**
+	 * Generate chart
+	 * - **NOTE:** Bear in mind for the possiblity of ***throwing an error***, during the generation when:
+	 *   - Unused option value is given.
+	 *     - ex) For `data.type="pie"` option, setting 'axis' option can cause unexpected generation error.
+	 *   - Insufficient value is given for certain option used.
+	 *     - ex) `data: { x: "x", columns: [["x"], ["data1", 30, 200, 100]] }`
+	 * @param {Options} config chart options
+	 * @memberof bb
+	 * @returns {Chart}
+	 * @see {@link Options} for different generation options
+	 * @see {@link Chart} for different methods API
+	 * @example
+	 *  <!-- chart holder -->
+	 * <div id="LineChart"></div>
+	 * @example
+	 *  // Generate chart with options
+	 *  var chart = bb.generate({
+	 *      "bindto": "#LineChart"
+	 *      "data": {
+	 *          "columns": [
+	 *              ["data1", 30, 200, 100, 400, 150, 250],
+	 *              ["data2", 50, 20, 10, 40, 15, 25]
+	 *           ],
+	 *          "type": "line"
+	 *      }
+	 *  });
+	 *
+	 *  // call some API
+	 *  // ex) get the data of 'data1'
+	 *  chart.data("data1");
+	 * @example
+	 * // Generate chart by importing ESM
+	 * // Import types to be used only, where this will make smaller bundle size.
+	 * import bb, {
+	 *   area,
+	 *   areaLineRange,
+	 *   areaSpline,
+	 *   areaSplineRange,
+	 *   areaStep,
+	 *   bar,
+	 *   bubble,
+	 *   donut,
+	 *   gauge,
+	 *   line,
+	 *   pie,
+	 *   polar,
+	 *   radar,
+	 *   scatter,
+	 *   spline,
+	 *   step
+	 * }
+	 *
+	 * bb.generate({
+	 *      "bindto": "#LineChart"
+	 *      "data": {
+	 *          "columns": [
+	 *              ["data1", 30, 200, 100, 400, 150, 250],
+	 *              ["data2", 50, 20, 10, 40, 15, 25]
+	 *           ]
+	 *      },
+	 *      type: line(),
+	 *
+	 *      // or
+	 *      types: {
+	 *        data1: bar(),
+	 *        data2: step()
+	 *      }
+	 * });
+	 */
+	generate(config) {
+		const options = mergeObj({}, defaults, config);
+		const inst = new Chart(options);
+
+		inst.internal.charts = this.instance;
+		this.instance.push(inst);
+
+		return inst;
+	},
+
+	/**
+	 * Set or get global default options.
+	 * - **NOTE:**
+	 *   - The options values settings are valid within page context only.
+	 *   - If is called multiple times, will override the last value.
+	 * @param {Options} options chart options
+	 * @memberof bb
+	 * @returns {Options}
+	 * @see {@link Options}
+	 * @example
+	 * // Set same option value as for `.generate()`
+	 * bb.defaults({
+	 *   data: {
+	 *     type: "bar"
+	 *   }
+	 * });
+	 *
+	 * bb.defaults();  // {data:{type: "bar"}}
+	 *
+	 * // data.type defaults to 'bar'
+	 * var chart = bb.generate({ ... });
+	 */
+	defaults(options?) {
+		if (isObject(options)) {
+			defaults = options;
+		}
+
+		return defaults;
+	},
+
+	/**
+	 * An array containing instance created
+	 * @property {Array} instance instance array
+	 * @example
+	 *  // generate charts
+	 *  var chart1 = bb.generate(...);
+	 *  var chart2 = bb.generate(...);
+	 *
+	 *  bb.instance;  // [ chart1, chart2, ... ]
+	 * @memberof bb
+	 */
+	instance: [],
+
+	/**
+	 * Namespace for plugins
+	 * @property {object} plugin plugin namespace
+	 * @example
+	 *  // Stanford diagram plugin
+	 *  bb.plugin.stanford;
+	 * @memberof bb
+	 */
+	plugin: {}
+};
+
+export {bb, bb as default};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/fonts/Montserrat/Montserrat-Bold.eot b/release/3.14.2/doc/fonts/Montserrat/Montserrat-Bold.eot new file mode 100644 index 000000000..f2970bbdc Binary files /dev/null and b/release/3.14.2/doc/fonts/Montserrat/Montserrat-Bold.eot differ diff --git a/release/3.14.2/doc/fonts/Montserrat/Montserrat-Bold.ttf b/release/3.14.2/doc/fonts/Montserrat/Montserrat-Bold.ttf new file mode 100644 index 000000000..3bfd79b66 Binary files /dev/null and b/release/3.14.2/doc/fonts/Montserrat/Montserrat-Bold.ttf differ diff --git a/release/3.14.2/doc/fonts/Montserrat/Montserrat-Bold.woff b/release/3.14.2/doc/fonts/Montserrat/Montserrat-Bold.woff new file mode 100644 index 000000000..92607654b Binary files /dev/null and b/release/3.14.2/doc/fonts/Montserrat/Montserrat-Bold.woff differ diff --git a/release/3.14.2/doc/fonts/Montserrat/Montserrat-Bold.woff2 b/release/3.14.2/doc/fonts/Montserrat/Montserrat-Bold.woff2 new file mode 100644 index 000000000..d9940cd11 Binary files /dev/null and b/release/3.14.2/doc/fonts/Montserrat/Montserrat-Bold.woff2 differ diff --git a/release/3.14.2/doc/fonts/Montserrat/Montserrat-Regular.eot b/release/3.14.2/doc/fonts/Montserrat/Montserrat-Regular.eot new file mode 100644 index 000000000..735d12b51 Binary files /dev/null and b/release/3.14.2/doc/fonts/Montserrat/Montserrat-Regular.eot differ diff --git a/release/3.14.2/doc/fonts/Montserrat/Montserrat-Regular.ttf b/release/3.14.2/doc/fonts/Montserrat/Montserrat-Regular.ttf new file mode 100644 index 000000000..5da852a34 Binary files /dev/null and b/release/3.14.2/doc/fonts/Montserrat/Montserrat-Regular.ttf differ diff --git a/release/3.14.2/doc/fonts/Montserrat/Montserrat-Regular.woff b/release/3.14.2/doc/fonts/Montserrat/Montserrat-Regular.woff new file mode 100644 index 000000000..bf9183271 Binary files /dev/null and b/release/3.14.2/doc/fonts/Montserrat/Montserrat-Regular.woff differ diff --git a/release/3.14.2/doc/fonts/Montserrat/Montserrat-Regular.woff2 b/release/3.14.2/doc/fonts/Montserrat/Montserrat-Regular.woff2 new file mode 100644 index 000000000..72d13c60b Binary files /dev/null and b/release/3.14.2/doc/fonts/Montserrat/Montserrat-Regular.woff2 differ diff --git a/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot new file mode 100644 index 000000000..0f24510b8 Binary files /dev/null and b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot differ diff --git a/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg new file mode 100644 index 000000000..5384f985d --- /dev/null +++ b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg @@ -0,0 +1,978 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf new file mode 100644 index 000000000..e6c158c2f Binary files /dev/null and b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf differ diff --git a/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff new file mode 100644 index 000000000..d0a1c2929 Binary files /dev/null and b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff differ diff --git a/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 new file mode 100644 index 000000000..d28697491 Binary files /dev/null and b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 differ diff --git a/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot new file mode 100644 index 000000000..b4204488c Binary files /dev/null and b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot differ diff --git a/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg new file mode 100644 index 000000000..dee0949fd --- /dev/null +++ b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg @@ -0,0 +1,1049 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf new file mode 100644 index 000000000..4d56c337a Binary files /dev/null and b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf differ diff --git a/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff new file mode 100644 index 000000000..4681019d8 Binary files /dev/null and b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff differ diff --git a/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 new file mode 100644 index 000000000..8ddcae37b Binary files /dev/null and b/release/3.14.2/doc/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 differ diff --git a/release/3.14.2/doc/global.html b/release/3.14.2/doc/global.html new file mode 100644 index 000000000..ab44e6656 --- /dev/null +++ b/release/3.14.2/doc/global.html @@ -0,0 +1,991 @@ + + + + + + Global - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

Global

+ + + + + + + +
+ +
+ +

+ + + +

+ + +
+ +
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + +

Methods

+ + + + + + +

getFormattedText(id, formatted) → {string}

+ + + + + + +
+ +
Description:
+
  • Get formatted text value

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefaultDescription
id + + +string + + + + + + +

Legend text id

formatted + + +boolean + + + + + + + true + +

Whether or not to format the text

+ + + + + + + + + + + + + + + + +
Returns:
+ + +
+

Formatted legend text

+
+ + + +
+
+ Type +
+
+ +string + + + +
+
+ + + + + + + + + + +

getTransformCTM(node, x, y, inverse) → {object}

+ + + + + + +
+ +
Description:
+
  • Get translation string from screen <--> svg point

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefaultDescription
node + + +SVGGraphicsElement + + + + + + +

graphics element

x + + +number + + + + + + + 0 + +

target x point

y + + +number + + + + + + + 0 + +

target y point

inverse + + +boolean + + + + + + + true + +

inverse flag

+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +object + + + +
+
+ + + + + + + + + + +

hasStyle(node, condition, all) → {boolean}

+ + + + + + +
+ +
Description:
+
  • Determine if given node has the specified style

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDefaultDescription
node + + +d3Selection +| + +SVGElement + + + + + + +

Target node

condition + + +object + + + + + + +

Conditional style props object

all + + +boolean + + + + + + + false + +

If true, all condition should be matched

+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + + +
+
+ + + + + + + + + + +

hasViewBox(svg) → {boolean}

+ + + + + + +
+ +
Description:
+
  • Check if svg element has viewBox attribute

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
svg + + +d3Selection + + + + +

Target svg selection

+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + + +
+
+ + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/3.14.2/doc/index.html b/release/3.14.2/doc/index.html new file mode 100644 index 000000000..90fd985f2 --- /dev/null +++ b/release/3.14.2/doc/index.html @@ -0,0 +1,415 @@ + + + + + + Home - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+

+
+ + + + + + + + + + + + + +
+
+ + billboard.js
+
+

Latest Version Next version bb
+semantic-release React

+

CI Status Coverage Status Known Vulnerabilities +download jsDelivr gzip size

+

billboard.js is a re-usable, easy interface JavaScript chart library, based on D3.js.

+
+

The name "billboard" comes from the famous billboard chart which everybody knows.

+ +
+

Documents

+ +

Questions?

+

If you have any questions, checkout the previous posts or create a new one at:

+ +

Supported chart types

+ +

Download and Installation

+

Download dist files from the repo directly or install it via npm.

+
+ Dist file list from the repo. (click to expand) +

For development (Uncompressed)

+

You can download the uncompressed files for development

+

Latest

+
    +
  • https://naver.github.io/billboard.js/release/latest/dist/billboard.js
  • +
  • https://naver.github.io/billboard.js/release/latest/dist/billboard.css
  • +
+

Specific version

+
    +
  • https://naver.github.io/billboard.js/release/[VERSION]/dist/billboard.js
  • +
  • https://naver.github.io/billboard.js/release/[VERSION]/dist/billboard.css
  • +
+

For production (Compressed)

+

You can download the compressed files for production

+

Latest

+
    +
  • https://naver.github.io/billboard.js/release/latest/dist/billboard.min.js
  • +
  • https://naver.github.io/billboard.js/release/latest/dist/billboard.min.css
  • +
+

Specific version

+
    +
  • https://naver.github.io/billboard.js/release/[VERSION]/dist/billboard.min.js
  • +
  • https://naver.github.io/billboard.js/release/[VERSION]/dist/billboard.min.css
  • +
+

Packaged version (with D3.js inclusion)

+
+

⚠️ Packaged version is not an official distribution. +It's to provide an easy way to load 'billboard.js' with dependencies.

+
+
    +
  • Latest +
      +
    • https://naver.github.io/billboard.js/release/latest/dist/billboard.pkgd.js
    • +
    • https://naver.github.io/billboard.js/release/latest/dist/billboard.pkgd.min.js
    • +
    +
  • +
  • Specific version +
      +
    • https://naver.github.io/billboard.js/release/[VERSION]/dist/billboard.pkgd.js
    • +
    • https://naver.github.io/billboard.js/release/[VERSION]/dist/billboard.pkgd.min.js
    • +
    +
  • +
+
+

Themes

+
+

[!NOTE] +If you want apply themes, simply load one of the theme css file provided instead of the default css file.

+ +
+
+ Dist theme file list from the repo. (click to expand) +

datalab

+
    +
  • https://naver.github.io/billboard.js/release/latest/dist/theme/datalab.css
  • +
  • https://naver.github.io/billboard.js/release/latest/dist/theme/datalab.min.css
  • +
+

dark

+
    +
  • https://naver.github.io/billboard.js/release/latest/dist/theme/dark.css
  • +
  • https://naver.github.io/billboard.js/release/latest/dist/theme/dark.min.css
  • +
+

insight

+
    +
  • https://naver.github.io/billboard.js/release/latest/dist/theme/insight.css
  • +
  • https://naver.github.io/billboard.js/release/latest/dist/theme/insight.min.css
  • +
+

graph

+
    +
  • https://naver.github.io/billboard.js/release/latest/dist/theme/graph.css
  • +
  • https://naver.github.io/billboard.js/release/latest/dist/theme/graph.min.css
  • +
+

modern

+
    +
  • https://naver.github.io/billboard.js/release/latest/dist/theme/modern.css
  • +
  • https://naver.github.io/billboard.js/release/latest/dist/theme/modern.min.css
  • +
+
+

Nightly version

+

Nightly version is the latest build from the master branch. +With nightly, you can try upcoming changes prior the official release.

+
    +
  • https://github.com/naver/billboard.js/tree/nightly/dist
  • +
+
+

[!NOTE] +The version info will be given as the build datetime: x.x.x-nightly-yyyymmddhhmmss

+
+

There're two ways to install from nightly branch directly.

+
// Specify on 'package.json' file
+"dependencies": {
+      ...
+      "billboard.js": "naver/billboard.js#nightly"
+},
+
+
# Run install command from shell
+$ npm install git+https://github.com/naver/billboard.js.git#nightly --save
+
+

Next(Release Canditate) version

+

Next version is the 'release candidate' build, prior the latest official release.

+
# Run install command from shell
+$ npm install billboard.js@next --save
+
+

Installation with npm

+
$ npm install billboard.js
+
+

Packages

+ + + + + + + + + + + + + + + +
NameForDescription
bbReactReact component for billboard.js
+

Using CDN

+

If you want to use 'billboard.js' without installation, load files directly from one of the CDN providers.

+
    +
  • cdnjs: https://cdnjs.com/libraries/billboard.js
  • +
  • jsDelivr: https://cdn.jsdelivr.net/npm/billboard.js/dist/
  • +
  • unpkg: https://unpkg.com/billboard.js/dist/
  • +
+

Supported Browsers

+
+

[!IMPORTANT]

+
    +
  • Basically will work on all SVG and ES6+ supported browsers.
  • +
  • *Notes for legacy browsers: +
      +
    • Recommended to use packaged build or construct your own build following How to bundle for legacy browsers? instruction.
    • +
    • D3.js dropped the support of legacy browsers since v6.
    • +
    • The support isn't fully guaranteed.
    • +
    +
  • +
+
+

Dependency by version

+ + + + + + + + + + + + + + + + + +
D3.js (required)billboard.js
4.x ~ 5.x1.x ~ 2.x
6.x+3.x+
+

Getting Started

+

Load billboard.js after D3.js.

+
<!-- 1) Load D3.js and billboard.js separately -->
+    <!-- Load D3: -->
+    <script src="https://d3js.org/d3.v6.min.js"></script>
+
+    <!-- Load billboard.js with base(or theme) style -->
+    <link rel="stylesheet" href="$YOUR_PATH/billboard.css">
+    <script src="$YOUR_PATH/billboard.js"></script>
+
+<!-- 2) or Load billboard.js packaged with D3.js -->
+    <link rel="stylesheet" href="$YOUR_PATH/billboard.css">
+    <script src="$YOUR_PATH/billboard.pkgd.js"></script>
+
+

or use importing ESM.

+
+

[!TIP] +📌 Also check: How to load as ESM directly from the browser?

+
+
// 1) import billboard.js
+// as named import with desired shapes and interaction modules
+// https://github.com/naver/billboard.js/wiki/CHANGELOG-v2#modularization-by-its-functionality
+import {bb, area, bar, zoom} from "billboard.js";
+
+// or as importing default
+import bb, {area, bar, zoom} from "billboard.js";
+
+// 2) import css if your dev-env supports. If don't, include them via <link>
+import "billboard.js/dist/billboard.css";
+
+// or theme style. Find more themes from 'theme' folder
+import "billboard.js/dist/theme/insight.css"
+
+
+

[!NOTE]

+ +
+

Basic usage example

+

1) Create chart holder element

+
<div id="chart"></div>
+
+

2) Generate a chart with options

+
// generate the chart
+var chart = bb.generate({
+    bindto: "#chart",
+    data: {
+      // for ESM import usage, import 'line' module and execute it as
+      // type: line(),
+      type: "line",
+      columns: [
+          ["data1", 30, 200, 100, 400, 150, 250]
+      ]
+    },
+    zoom: {
+      // for ESM import usage, import 'zoom' module and execute it as
+      // enabled: zoom()
+      enabled: true
+    }
+});
+
+// call some API
+chart.load( ... );
+
+

License

+

billboard.js is released under the MIT license.

+
Copyright (c) 2017 ~ present NAVER Corp.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+ + +

FOSSA Status

+
+ + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/3.14.2/doc/module_util.ts.html b/release/3.14.2/doc/module_util.ts.html new file mode 100644 index 000000000..3f2d88377 --- /dev/null +++ b/release/3.14.2/doc/module_util.ts.html @@ -0,0 +1,1005 @@ + + + + + + module/util.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

module/util.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ * @ignore
+ */
+import {brushSelection as d3BrushSelection} from "d3-brush";
+import {pointer as d3Pointer} from "d3-selection";
+import type {d3Selection} from "../../types/types";
+import {document, requestAnimationFrame, window} from "./browser";
+
+export {
+	addCssRules,
+	asHalfPixel,
+	brushEmpty,
+	callFn,
+	camelize,
+	capitalize,
+	ceil10,
+	convertInputType,
+	deepClone,
+	diffDomain,
+	emulateEvent,
+	endall,
+	extend,
+	findIndex,
+	getBoundingRect,
+	getBrushSelection,
+	getCssRules,
+	getMinMax,
+	getOption,
+	getPathBox,
+	getPointer,
+	getRandom,
+	getRange,
+	getRectSegList,
+	getScrollPosition,
+	getTransformCTM,
+	getTranslation,
+	getUnique,
+	hasStyle,
+	hasValue,
+	hasViewBox,
+	isArray,
+	isBoolean,
+	isDefined,
+	isEmpty,
+	isFunction,
+	isNumber,
+	isObject,
+	isObjectType,
+	isString,
+	isTabVisible,
+	isUndefined,
+	isValue,
+	mergeArray,
+	mergeObj,
+	notEmpty,
+	parseDate,
+	runUntil,
+	sanitize,
+	setTextValue,
+	sortValue,
+	toArray,
+	tplProcess
+};
+
+const isValue = (v: any): boolean => v || v === 0;
+const isFunction = (v: unknown): v is (...args: any[]) => any => typeof v === "function";
+const isString = (v: unknown): v is string => typeof v === "string";
+const isNumber = (v: unknown): v is number => typeof v === "number";
+const isUndefined = (v: unknown): v is undefined => typeof v === "undefined";
+const isDefined = (v: unknown): boolean => typeof v !== "undefined";
+const isBoolean = (v: unknown): boolean => typeof v === "boolean";
+const ceil10 = (v: number): number => Math.ceil(v / 10) * 10;
+const asHalfPixel = (n: number): number => Math.ceil(n) + 0.5;
+const diffDomain = (d: number[]): number => d[1] - d[0];
+const isObjectType = (v: unknown): v is Record<string | number, any> => typeof v === "object";
+const isEmpty = (o: unknown): boolean => (
+	isUndefined(o) || o === null ||
+	(isString(o) && o.length === 0) ||
+	(isObjectType(o) && !(o instanceof Date) && Object.keys(o).length === 0) ||
+	(isNumber(o) && isNaN(o))
+);
+const notEmpty = (o: unknown): boolean => !isEmpty(o);
+
+/**
+ * Check if is array
+ * @param {Array} arr Data to be checked
+ * @returns {boolean}
+ * @private
+ */
+const isArray = (arr: any): arr is any[] => Array.isArray(arr);
+
+/**
+ * Check if is object
+ * @param {object} obj Data to be checked
+ * @returns {boolean}
+ * @private
+ */
+const isObject = (obj: any): boolean => obj && !obj?.nodeType && isObjectType(obj) && !isArray(obj);
+
+/**
+ * Get specified key value from object
+ * If default value is given, will return if given key value not found
+ * @param {object} options Source object
+ * @param {string} key Key value
+ * @param {*} defaultValue Default value
+ * @returns {*}
+ * @private
+ */
+function getOption(options: object, key: string, defaultValue): any {
+	return isDefined(options[key]) ? options[key] : defaultValue;
+}
+
+/**
+ * Check if value exist in the given object
+ * @param {object} dict Target object to be checked
+ * @param {*} value Value to be checked
+ * @returns {boolean}
+ * @private
+ */
+function hasValue(dict: object, value: any): boolean {
+	let found = false;
+
+	Object.keys(dict).forEach(key => (dict[key] === value) && (found = true));
+
+	return found;
+}
+
+/**
+ * Call function with arguments
+ * @param {Function} fn Function to be called
+ * @param {*} thisArg "this" value for fn
+ * @param {*} args Arguments for fn
+ * @returns {boolean} true: fn is function, false: fn is not function
+ * @private
+ */
+function callFn(fn: unknown, thisArg: any, ...args: any[]): boolean {
+	const isFn = isFunction(fn);
+
+	isFn && fn.call(thisArg, ...args);
+	return isFn;
+}
+
+/**
+ * Call function after all transitions ends
+ * @param {d3.transition} transition Transition
+ * @param {Fucntion} cb Callback function
+ * @private
+ */
+function endall(transition, cb: Function): void {
+	let n = 0;
+
+	const end = function(...args) {
+		!--n && cb.apply(this, ...args);
+	};
+
+	// if is transition selection
+	if ("duration" in transition) {
+		transition
+			.each(() => ++n)
+			.on("end", end);
+	} else {
+		++n;
+		transition.call(end);
+	}
+}
+
+/**
+ * Replace tag sign to html entity
+ * @param {string} str Target string value
+ * @returns {string}
+ * @private
+ */
+function sanitize(str: string): string {
+	return isString(str) ?
+		str.replace(/<(script|img)?/ig, "&lt;").replace(/(script)?>/ig, "&gt;") :
+		str;
+}
+
+/**
+ * Set text value. If there's multiline add nodes.
+ * @param {d3Selection} node Text node
+ * @param {string} text Text value string
+ * @param {Array} dy dy value for multilined text
+ * @param {boolean} toMiddle To be alingned vertically middle
+ * @private
+ */
+function setTextValue(
+	node: d3Selection,
+	text: string,
+	dy: number[] = [-1, 1],
+	toMiddle: boolean = false
+) {
+	if (!node || !isString(text)) {
+		return;
+	}
+
+	if (text.indexOf("\n") === -1) {
+		node.text(text);
+	} else {
+		const diff = [node.text(), text].map(v => v.replace(/[\s\n]/g, ""));
+
+		if (diff[0] !== diff[1]) {
+			const multiline = text.split("\n");
+			const len = toMiddle ? multiline.length - 1 : 1;
+
+			// reset possible text
+			node.html("");
+
+			multiline.forEach((v, i) => {
+				node.append("tspan")
+					.attr("x", 0)
+					.attr("dy", `${i === 0 ? dy[0] * len : dy[1]}em`)
+					.text(v);
+			});
+		}
+	}
+}
+
+/**
+ * Substitution of SVGPathSeg API polyfill
+ * @param {SVGGraphicsElement} path Target svg element
+ * @returns {Array}
+ * @private
+ */
+function getRectSegList(path: SVGGraphicsElement): {x: number, y: number}[] {
+	/*
+	 * seg1 ---------- seg2
+	 *   |               |
+	 *   |               |
+	 *   |               |
+	 * seg0 ---------- seg3
+	 */
+	const {x, y, width, height} = path.getBBox();
+
+	return [
+		{x, y: y + height}, // seg0
+		{x, y}, // seg1
+		{x: x + width, y}, // seg2
+		{x: x + width, y: y + height} // seg3
+	];
+}
+
+/**
+ * Get svg bounding path box dimension
+ * @param {SVGGraphicsElement} path Target svg element
+ * @returns {object}
+ * @private
+ */
+function getPathBox(
+	path: SVGGraphicsElement
+): {x: number, y: number, width: number, height: number} {
+	const {width, height} = path.getBoundingClientRect();
+	const items = getRectSegList(path);
+	const x = items[0].x;
+	const y = Math.min(items[0].y, items[1].y);
+
+	return {
+		x,
+		y,
+		width,
+		height
+	};
+}
+
+/**
+ * Get event's current position coordinates
+ * @param {object} event Event object
+ * @param {SVGElement|HTMLElement} element Target element
+ * @returns {Array} [x, y] Coordinates x, y array
+ * @private
+ */
+function getPointer(event, element?: SVGElement): number[] {
+	const touches = event &&
+		(event.touches || (event.sourceEvent && event.sourceEvent.touches))?.[0];
+	let pointer = [0, 0];
+
+	try {
+		pointer = d3Pointer(touches || event, element);
+	} catch {}
+
+	return pointer.map(v => (isNaN(v) ? 0 : v));
+}
+
+/**
+ * Return brush selection array
+ * @param {object} ctx Current instance
+ * @returns {d3.brushSelection}
+ * @private
+ */
+function getBrushSelection(ctx) {
+	const {event, $el} = ctx;
+	const main = $el.subchart.main || $el.main;
+	let selection;
+
+	// check from event
+	if (event && event.type === "brush") {
+		selection = event.selection;
+		// check from brush area selection
+	} else if (main && (selection = main.select(".bb-brush").node())) {
+		selection = d3BrushSelection(selection);
+	}
+
+	return selection;
+}
+
+/**
+ * Get boundingClientRect.
+ * Cache the evaluated value once it was called.
+ * @param {HTMLElement} node Target element
+ * @returns {object}
+ * @private
+ */
+function getBoundingRect(
+	node
+): {
+	left: number,
+	top: number,
+	right: number,
+	bottom: number,
+	x: number,
+	y: number,
+	width: number,
+	height: number
+} {
+	const needEvaluate = !("rect" in node) || (
+		"rect" in node && node.hasAttribute("width") &&
+		node.rect.width !== +node.getAttribute("width")
+	);
+
+	return needEvaluate ? (node.rect = node.getBoundingClientRect()) : node.rect;
+}
+
+/**
+ * Retrun random number
+ * @param {boolean} asStr Convert returned value as string
+ * @param {number} min Minimum value
+ * @param {number} max Maximum value
+ * @returns {number|string}
+ * @private
+ */
+function getRandom(asStr = true, min = 0, max = 10000) {
+	const crpt = window.crypto || window.msCrypto;
+	const rand = crpt ?
+		min + crpt.getRandomValues(new Uint32Array(1))[0] % (max - min + 1) :
+		Math.floor(Math.random() * (max - min) + min);
+
+	return asStr ? String(rand) : rand;
+}
+
+/**
+ * Find index based on binary search
+ * @param {Array} arr Data array
+ * @param {number} v Target number to find
+ * @param {number} start Start index of data array
+ * @param {number} end End index of data arr
+ * @param {boolean} isRotated Weather is roted axis
+ * @returns {number} Index number
+ * @private
+ */
+function findIndex(arr, v: number, start: number, end: number, isRotated: boolean): number {
+	if (start > end) {
+		return -1;
+	}
+
+	const mid = Math.floor((start + end) / 2);
+	let {x, w = 0} = arr[mid];
+
+	if (isRotated) {
+		x = arr[mid].y;
+		w = arr[mid].h;
+	}
+
+	if (v >= x && v <= x + w) {
+		return mid;
+	}
+
+	return v < x ?
+		findIndex(arr, v, start, mid - 1, isRotated) :
+		findIndex(arr, v, mid + 1, end, isRotated);
+}
+
+/**
+ * Check if brush is empty
+ * @param {object} ctx Bursh context
+ * @returns {boolean}
+ * @private
+ */
+function brushEmpty(ctx): boolean {
+	const selection = getBrushSelection(ctx);
+
+	if (selection) {
+		// brush selected area
+		// two-dimensional: [[x0, y0], [x1, y1]]
+		// one-dimensional: [x0, x1] or [y0, y1]
+		return selection[0] === selection[1];
+	}
+
+	return true;
+}
+
+/**
+ * Deep copy object
+ * @param {object} objectN Source object
+ * @returns {object} Cloned object
+ * @private
+ */
+function deepClone(...objectN) {
+	const clone = v => {
+		if (isObject(v) && v.constructor) {
+			const r = new v.constructor();
+
+			for (const k in v) {
+				r[k] = clone(v[k]);
+			}
+
+			return r;
+		}
+
+		return v;
+	};
+
+	return objectN.map(v => clone(v))
+		.reduce((a, c) => (
+			{...a, ...c}
+		));
+}
+
+/**
+ * Extend target from source object
+ * @param {object} target Target object
+ * @param {object|Array} source Source object
+ * @returns {object}
+ * @private
+ */
+function extend(target = {}, source): object {
+	if (isArray(source)) {
+		source.forEach(v => extend(target, v));
+	}
+
+	// exclude name with only numbers
+	for (const p in source) {
+		if (/^\d+$/.test(p) || p in target) {
+			continue;
+		}
+
+		target[p] = source[p];
+	}
+
+	return target;
+}
+
+/**
+ * Return first letter capitalized
+ * @param {string} str Target string
+ * @returns {string} capitalized string
+ * @private
+ */
+const capitalize = (str: string): string => str.charAt(0).toUpperCase() + str.slice(1);
+
+/**
+ * Camelize from kebob style string
+ * @param {string} str Target string
+ * @param {string} separator Separator string
+ * @returns {string} camelized string
+ * @private
+ */
+function camelize(str: string, separator = "-"): string {
+	return str.split(separator)
+		.map((v, i) => (
+			i ? v.charAt(0).toUpperCase() + v.slice(1).toLowerCase() : v.toLowerCase()
+		))
+		.join("");
+}
+
+/**
+ * Convert to array
+ * @param {object} v Target to be converted
+ * @returns {Array}
+ * @private
+ */
+const toArray = (v: CSSStyleDeclaration | any): any => [].slice.call(v);
+
+/**
+ * Add CSS rules
+ * @param {object} style Style object
+ * @param {string} selector Selector string
+ * @param {Array} prop Prps arrary
+ * @returns {number} Newely added rule index
+ * @private
+ */
+function addCssRules(style, selector: string, prop: string[]): number {
+	const {rootSelector = "", sheet} = style;
+	const getSelector = s =>
+		s
+			.replace(/\s?(bb-)/g, ".$1")
+			.replace(/\.+/g, ".");
+
+	const rule = `${rootSelector} ${getSelector(selector)} {${prop.join(";")}}`;
+
+	return sheet[sheet.insertRule ? "insertRule" : "addRule"](
+		rule,
+		sheet.cssRules.length
+	);
+}
+
+/**
+ * Get css rules for specified stylesheets
+ * @param {Array} styleSheets The stylesheets to get the rules from
+ * @returns {Array}
+ * @private
+ */
+function getCssRules(styleSheets: any[]) {
+	let rules = [];
+
+	styleSheets.forEach(sheet => {
+		try {
+			if (sheet.cssRules && sheet.cssRules.length) {
+				rules = rules.concat(toArray(sheet.cssRules));
+			}
+		} catch (e) {
+			window.console?.warn(`Error while reading rules from ${sheet.href}: ${e.toString()}`);
+		}
+	});
+
+	return rules;
+}
+
+/**
+ * Get current window and container scroll position
+ * @param {HTMLElement} node Target element
+ * @returns {object} window scroll position
+ * @private
+ */
+function getScrollPosition(node: HTMLElement) {
+	return {
+		x: (window.pageXOffset ?? window.scrollX ?? 0) + (node.scrollLeft ?? 0),
+		y: (window.pageYOffset ?? window.scrollY ?? 0) + (node.scrollTop ?? 0)
+	};
+}
+
+/**
+ * Get translation string from screen <--> svg point
+ * @param {SVGGraphicsElement} node graphics element
+ * @param {number} x target x point
+ * @param {number} y target y point
+ * @param {boolean} inverse inverse flag
+ * @returns {object}
+ */
+function getTransformCTM(node: SVGGraphicsElement, x = 0, y = 0, inverse = true): DOMPoint {
+	const point = new DOMPoint(x, y);
+	const screen = <DOMMatrix>node.getScreenCTM();
+	const res = point.matrixTransform(
+		inverse ? screen?.inverse() : screen
+	);
+
+	if (inverse === false) {
+		const rect = node.getBoundingClientRect();
+
+		res.x -= rect.x;
+		res.y -= rect.y;
+	}
+
+	return res;
+}
+
+/**
+ * Gets the SVGMatrix of an SVGGElement
+ * @param {SVGElement} node Node element
+ * @returns {SVGMatrix} matrix
+ * @private
+ */
+function getTranslation(node) {
+	const transform = node ? node.transform : null;
+	const baseVal = transform && transform.baseVal;
+
+	return baseVal && baseVal.numberOfItems ?
+		baseVal.getItem(0).matrix :
+		{a: 0, b: 0, c: 0, d: 0, e: 0, f: 0};
+}
+
+/**
+ * Get unique value from array
+ * @param {Array} data Source data
+ * @returns {Array} Unique array value
+ * @private
+ */
+function getUnique(data: any[]): any[] {
+	const isDate = data[0] instanceof Date;
+	const d = (isDate ? data.map(Number) : data)
+		.filter((v, i, self) => self.indexOf(v) === i);
+
+	return isDate ? d.map(v => new Date(v)) : d;
+}
+
+/**
+ * Merge array
+ * @param {Array} arr Source array
+ * @returns {Array}
+ * @private
+ */
+function mergeArray(arr: any[]): any[] {
+	return arr && arr.length ? arr.reduce((p, c) => p.concat(c)) : [];
+}
+
+/**
+ * Merge object returning new object
+ * @param {object} target Target object
+ * @param {object} objectN Source object
+ * @returns {object} merged target object
+ * @private
+ */
+function mergeObj(target: object, ...objectN): any {
+	if (!objectN.length || (objectN.length === 1 && !objectN[0])) {
+		return target;
+	}
+
+	const source = objectN.shift();
+
+	if (isObject(target) && isObject(source)) {
+		Object.keys(source).forEach(key => {
+			const value = source[key];
+
+			if (isObject(value)) {
+				!target[key] && (target[key] = {});
+				target[key] = mergeObj(target[key], value);
+			} else {
+				target[key] = isArray(value) ? value.concat() : value;
+			}
+		});
+	}
+
+	return mergeObj(target, ...objectN);
+}
+
+/**
+ * Sort value
+ * @param {Array} data value to be sorted
+ * @param {boolean} isAsc true: asc, false: desc
+ * @returns {number|string|Date} sorted date
+ * @private
+ */
+function sortValue(data: any[], isAsc = true): any[] {
+	let fn;
+
+	if (data[0] instanceof Date) {
+		fn = isAsc ? (a, b) => a - b : (a, b) => b - a;
+	} else {
+		if (isAsc && !data.every(isNaN)) {
+			fn = (a, b) => a - b;
+		} else if (!isAsc) {
+			fn = (a, b) => (a > b && -1) || (a < b && 1) || (a === b && 0);
+		}
+	}
+
+	return data.concat().sort(fn);
+}
+
+/**
+ * Get min/max value
+ * @param {string} type 'min' or 'max'
+ * @param {Array} data Array data value
+ * @returns {number|Date|undefined}
+ * @private
+ */
+function getMinMax(type: "min" | "max", data: number[] | Date[] | any): number | Date | undefined
+	| any {
+	let res = data.filter(v => notEmpty(v));
+
+	if (res.length) {
+		if (isNumber(res[0])) {
+			res = Math[type](...res);
+		} else if (res[0] instanceof Date) {
+			res = sortValue(res, type === "min")[0];
+		}
+	} else {
+		res = undefined;
+	}
+
+	return res;
+}
+
+/**
+ * Get range
+ * @param {number} start Start number
+ * @param {number} end End number
+ * @param {number} step Step number
+ * @returns {Array}
+ * @private
+ */
+const getRange = (start: number, end: number, step = 1): number[] => {
+	const res: number[] = [];
+	const n = Math.max(0, Math.ceil((end - start) / step)) | 0;
+
+	for (let i = start; i < n; i++) {
+		res.push(start + i * step);
+	}
+
+	return res;
+};
+
+// emulate event
+const emulateEvent = {
+	mouse: (() => {
+		const getParams = () => ({
+			bubbles: false,
+			cancelable: false,
+			screenX: 0,
+			screenY: 0,
+			clientX: 0,
+			clientY: 0
+		});
+
+		try {
+			// eslint-disable-next-line no-new
+			new MouseEvent("t");
+
+			return (el: SVGElement | HTMLElement, eventType: string, params = getParams()) => {
+				el.dispatchEvent(new MouseEvent(eventType, params));
+			};
+		} catch {
+			// Polyfills DOM4 MouseEvent
+			return (el: SVGElement | HTMLElement, eventType: string, params = getParams()) => {
+				const mouseEvent = document.createEvent("MouseEvent");
+
+				// https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent
+				mouseEvent.initMouseEvent(
+					eventType,
+					params.bubbles,
+					params.cancelable,
+					window,
+					0, // the event's mouse click count
+					params.screenX,
+					params.screenY,
+					params.clientX,
+					params.clientY,
+					false,
+					false,
+					false,
+					false,
+					0,
+					null
+				);
+
+				el.dispatchEvent(mouseEvent);
+			};
+		}
+	})(),
+	touch: (el: SVGElement | HTMLElement, eventType: string, params: any) => {
+		const touchObj = new Touch(mergeObj({
+			identifier: Date.now(),
+			target: el,
+			radiusX: 2.5,
+			radiusY: 2.5,
+			rotationAngle: 10,
+			force: 0.5
+		}, params));
+
+		el.dispatchEvent(new TouchEvent(eventType, {
+			cancelable: true,
+			bubbles: true,
+			shiftKey: true,
+			touches: [touchObj],
+			targetTouches: [],
+			changedTouches: [touchObj]
+		}));
+	}
+};
+
+/**
+ * Process the template  & return bound string
+ * @param {string} tpl Template string
+ * @param {object} data Data value to be replaced
+ * @returns {string}
+ * @private
+ */
+function tplProcess(tpl: string, data: object): string {
+	let res = tpl;
+
+	for (const x in data) {
+		res = res.replace(new RegExp(`{=${x}}`, "g"), data[x]);
+	}
+
+	return res;
+}
+
+/**
+ * Get parsed date value
+ * (It must be called in 'ChartInternal' context)
+ * @param {Date|string|number} date Value of date to be parsed
+ * @returns {Date}
+ * @private
+ */
+function parseDate(date: Date | string | number | any): Date {
+	let parsedDate;
+
+	if (date instanceof Date) {
+		parsedDate = date;
+	} else if (isString(date)) {
+		const {config, format} = this;
+
+		// if fails to parse, try by new Date()
+		// https://github.com/naver/billboard.js/issues/1714
+		parsedDate = format.dataTime(config.data_xFormat)(date) ?? new Date(date);
+	} else if (isNumber(date) && !isNaN(date)) {
+		parsedDate = new Date(+date);
+	}
+
+	if (!parsedDate || isNaN(+parsedDate)) {
+		console && console.error &&
+			console.error(`Failed to parse x '${date}' to Date object`);
+	}
+
+	return parsedDate;
+}
+
+/**
+ * Check if svg element has viewBox attribute
+ * @param {d3Selection} svg Target svg selection
+ * @returns {boolean}
+ */
+function hasViewBox(svg: d3Selection): boolean {
+	const attr = svg.attr("viewBox");
+
+	return attr ? /(\d+(\.\d+)?){3}/.test(attr) : false;
+}
+
+/**
+ * Determine if given node has the specified style
+ * @param {d3Selection|SVGElement} node Target node
+ * @param {object} condition Conditional style props object
+ * @param {boolean} all If true, all condition should be matched
+ * @returns {boolean}
+ */
+function hasStyle(node, condition: {[key: string]: string}, all = false): boolean {
+	const isD3Node = !!node.node;
+	let has = false;
+
+	for (const [key, value] of Object.entries(condition)) {
+		has = isD3Node ? node.style(key) === value : node.style[key] === value;
+
+		if (all === false && has) {
+			break;
+		}
+	}
+
+	return has;
+}
+
+/**
+ * Return if the current doc is visible or not
+ * @returns {boolean}
+ * @private
+ */
+function isTabVisible(): boolean {
+	return document?.hidden === false || document?.visibilityState === "visible";
+}
+
+/**
+ * Get the current input type
+ * @param {boolean} mouse Config value: interaction.inputType.mouse
+ * @param {boolean} touch Config value: interaction.inputType.touch
+ * @returns {string} "mouse" | "touch" | null
+ * @private
+ */
+function convertInputType(mouse: boolean, touch: boolean): "mouse" | "touch" | null {
+	const {DocumentTouch, matchMedia, navigator} = window;
+
+	// https://developer.mozilla.org/en-US/docs/Web/CSS/@media/pointer#coarse
+	const hasPointerCoarse = matchMedia?.("(pointer:coarse)").matches;
+	let hasTouch = false;
+
+	if (touch) {
+		// Some Edge desktop return true: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/20417074/
+		if (navigator && "maxTouchPoints" in navigator) {
+			hasTouch = navigator.maxTouchPoints > 0;
+
+			// Ref: https://github.com/Modernizr/Modernizr/blob/master/feature-detects/touchevents.js
+			// On IE11 with IE9 emulation mode, ('ontouchstart' in window) is returning true
+		} else if (
+			"ontouchmove" in window || (DocumentTouch && document instanceof DocumentTouch)
+		) {
+			hasTouch = true;
+		} else {
+			// https://developer.mozilla.org/en-US/docs/Web/HTTP/Browser_detection_using_the_user_agent#avoiding_user_agent_detection
+			if (hasPointerCoarse) {
+				hasTouch = true;
+			} else {
+				// Only as a last resort, fall back to user agent sniffing
+				const UA = navigator.userAgent;
+
+				hasTouch = /\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(UA) ||
+					/\b(Android|Windows Phone|iPad|iPod)\b/i.test(UA);
+			}
+		}
+	}
+
+	// For non-touch device, media feature condition is: '(pointer:coarse) = false' and '(pointer:fine) = true'
+	// https://github.com/naver/billboard.js/issues/3854#issuecomment-2404183158
+	const hasMouse = mouse && !hasPointerCoarse && matchMedia?.("(pointer:fine)").matches;
+
+	// fallback to 'mouse' if no input type is detected.
+	return (hasMouse && "mouse") || (hasTouch && "touch") || "mouse";
+}
+
+/**
+ * Run function until given condition function return true
+ * @param {Function} fn Function to be executed when condition is true
+ * @param {Function} conditionFn Condition function to check if condition is true
+ * @private
+ */
+function runUntil(fn: Function, conditionFn: Function): void {
+	if (conditionFn() === false) {
+		requestAnimationFrame(() => runUntil(fn, conditionFn));
+	} else {
+		fn();
+	}
+}
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/3.14.2/doc/plugin-bubblecompare.html b/release/3.14.2/doc/plugin-bubblecompare.html new file mode 100644 index 000000000..923301f81 --- /dev/null +++ b/release/3.14.2/doc/plugin-bubblecompare.html @@ -0,0 +1,611 @@ + + + + + + plugin-bubblecompare - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

plugin-bubblecompare

+ + + + + + + +
+ +
+ +

+ + plugin-bubblecompare + +

+ + +
+ +
+ +
+ + + + + +

new plugin-bubblecompare(options) → {BubbleCompare}

+ + + + + + +
+ +
Description:
+
  • Bubble compare diagram plugin.
    +Compare data 3-dimensional ways: x-axis, y-axis & bubble-size.

    +
      +
    • NOTE: +
        +
      • Plugins aren't built-in. Need to be loaded or imported to be used.
      • +
      • Non required modules from billboard.js core, need to be installed separately.
      • +
      +
    • +
    • Required modules: + +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Examples
+ +
// Plugin must be loaded before the use.
+<script src="$YOUR_PATH/plugin/billboardjs-plugin-bubblecompare.js"></script>
+
+ var chart = bb.generate({
+    data: {
+       columns: [ ... ],
+       type: "bubble"
+    }
+    ...
+    plugins: [
+       new bb.plugin.bubblecompare({
+         minR: 11,
+         maxR: 74,
+         expandScale: 1.1
+       }),
+    ]
+ });
+ +
import {bb} from "billboard.js";
+import BubbleCompare from "billboard.js/dist/billboardjs-plugin-bubblecompare";
+
+bb.generate({
+    plugins: [
+       new BubbleCompare({ ... })
+    ]
+})
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
options + + +object + + + + +

bubble compare plugin options

+ + + + +
Requires:
+
    +
  • module:d3-selection
  • +
+ + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +BubbleCompare + + + +
+
+ + + + + + +
+ + + +

Extends

+ + + + + + + + + + +

Requires

+ +
    +
  • module:d3-selection
  • +
+ + + + + + + + + + + +

Members

+ + + +

(static) expandScale :number

+ + + + + +
+ +
Description:
+
  • Specify bubble expand ratio when focused

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • 1
  • +
+ + + + + + + +
+ + + + + +
+

Specify bubble expand ratio when focused

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
expandScale: 1.2
+ + + + + +

(static) maxR :number

+ + + + + +
+ +
Description:
+
  • Set maximum size of bubble radius. (px)

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • 11
  • +
+ + + + + + + +
+ + + + + +
+

Set maximum size of bubble radius. (px)

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
maxR: 74
+ + + + + +

(static) minR :number

+ + + + + +
+ +
Description:
+
  • Set minimum size of bubble radius. (px)

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • 11
  • +
+ + + + + + + +
+ + + + + +
+

Set minimum size of bubble radius. (px)

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
minR: 11
+ + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/3.14.2/doc/plugin-sparkline.html b/release/3.14.2/doc/plugin-sparkline.html new file mode 100644 index 000000000..cd0467b06 --- /dev/null +++ b/release/3.14.2/doc/plugin-sparkline.html @@ -0,0 +1,443 @@ + + + + + + plugin-sparkline - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

plugin-sparkline

+ + + + + + + +
+ +
+ +

+ + plugin-sparkline + +

+ + +
+ +
+ +
+ + + + + +

new plugin-sparkline(options) → {Sparkline}

+ + + + + + +
+ +
Description:
+
  • Sparkline plugin.
    +Generates sparkline charts

    +
      +
    • +

      NOTE:

      +
        +
      • Plugins aren't built-in. Need to be loaded or imported to be used.
      • +
      • Non required modules from billboard.js core, need to be installed separately.
      • +
      +
    • +
    • +

      Bear in mind:

      +
    • +
    • +

      Use this plugin to visualize multiple tiny chart only and chart APIs won't work properly.

      +
    • +
    • +

      Sparkline chart size will be based on the main chart element size. To control spakrline charts, is highly recommended to set size option.

      +
    • +
    • +

      Bubble, scatter and Arc(pie, donut, ratdar) types aren't supported.

      +
    • +
    • +

      Some options will be stricted to be:

      +
        +
      • resize.auto = false
      • +
      • axis.x.show = false
      • +
      • axis.y.show = false
      • +
      • axis.y.padding = 10
      • +
      • legend.show = false
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Examples
+ +
// Plugin must be loaded before the use.
+<script src="$YOUR_PATH/plugin/billboardjs-plugin-sparkline.js"></script>
+
+ var chart = bb.generate({
+    ...
+    plugins: [
+       	new bb.plugin.sparkline({
+       	  selector: ".sparkline"
+       	}),
+    ]
+ });
+ +
import {bb} from "billboard.js";
+import Sparkline from "billboard.js/dist/billboardjs-plugin-sparkline";
+
+bb.generate({
+    ...
+    plugins: [
+       new Sparkline({ ... })
+    ]
+})
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
options + + +object + + + + +

sparkline plugin options

+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +Sparkline + + + +
+
+ + + + + + +
+ + + +

Extends

+ + + + + + + + + + + + + + + + + + + + +

Members

+ + + +

(static) selector :string

+ + + + + +
+ +
Description:
+
  • Specify sparkline charts holder selector.

    +
      +
    • NOTE: The amount of holder should match with the amount of data. If has less, will append necessaray amount nodes as sibling of main chart.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Specify sparkline charts holder selector.

+
    +
  • NOTE: The amount of holder should match with the amount of data. If has less, will append necessaray amount nodes as sibling of main chart.
  • +
+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
selector: ".sparkline"
+ + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/3.14.2/doc/plugin-stanford.html b/release/3.14.2/doc/plugin-stanford.html new file mode 100644 index 000000000..a1df1d659 --- /dev/null +++ b/release/3.14.2/doc/plugin-stanford.html @@ -0,0 +1,1618 @@ + + + + + + plugin-stanford - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

plugin-stanford

+ + + + + + + +
+ +
+ +

+ + plugin-stanford + +

+ + +
+ +
+ +
+ + + + + +

new plugin-stanford(options) → {Stanford}

+ + + + + + +
+ +
Description:
+
  • Stanford diagram plugin

    +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Examples
+ +
// Plugin must be loaded before the use.
+<script src="$YOUR_PATH/plugin/billboardjs-plugin-stanford.js"></script>
+
+ var chart = bb.generate({
+    data: {
+       columns: [ ... ],
+       type: "scatter"
+    }
+    ...
+    plugins: [
+       new bb.plugin.stanford({
+          colors: d3.interpolateHslLong(
+             d3.hsl(250, 1, 0.5), d3.hsl(0, 1, 0.5)
+          ),
+          epochs: [ 1, 1, 2, 2, ... ],
+          lines: [
+                 { x1: 0, y1: 0, x2: 65, y2: 65, class: "line1" },
+                 { x1: 0, x2: 65, y1: 40, y2: 40, class: "line2" }
+          ],
+          scale: {
+          	max: 10000,
+            	min: 1,
+          	width: 500,
+            	format: 'pow10',
+          },
+          padding: {
+          	top: 15,
+          	right: 0,
+          	bottom: 0,
+          	left: 0
+          },
+          regions: [
+          	{
+              	points: [ // add points counter-clockwise
+              	    { x: 0, y: 0 },
+              	    { x: 40, y: 40 },
+              	    { x: 0, y: 40 }
+              	],
+              	text: function (value, percentage) {
+              	    return `Normal Operations: ${value} (${percentage}%)`;
+              	},
+              	opacity: 0.2, // 0 to 1
+              	class: "test-polygon1"
+             },
+            	...
+          ]
+       }
+    ]
+ });
+ +
import {bb} from "billboard.js";
+import Stanford from "billboard.js/dist/billboardjs-plugin-stanford";
+
+bb.generate({
+    plugins: [
+       new Stanford({ ... })
+    ]
+})
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
options + + +object + + + + +

Stanford plugin options

+ + + + +
Requires:
+
    +
  • module:d3-selection
  • + +
  • module:d3-interpolate
  • + +
  • module:d3-color
  • + +
  • module:d3-scale
  • + +
  • module:d3-brush
  • + +
  • module:d3-axis
  • + +
  • module:d3-format
  • +
+ + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +Stanford + + + +
+
+ + + + + + +
+ + + +

Extends

+ + + + + + + + + + +

Requires

+ +
    +
  • module:d3-selection
  • + +
  • module:d3-interpolate
  • + +
  • module:d3-color
  • + +
  • module:d3-scale
  • + +
  • module:d3-brush
  • + +
  • module:d3-axis
  • + +
  • module:d3-format
  • +
+ + + + + + + + + + + +

Members

+ + + +

(static) colors :function

+ + + + + +
+ +
Description:
+
  • Set the color of the color scale. This function receives a value between 0 and 1, and should return a color.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set the color of the color scale. This function receives a value between 0 and 1, and should return a color.

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
colors: d3.interpolateHslLong(
+     d3.hsl(250, 1, 0.5), d3.hsl(0, 1, 0.5)
+  )
+ + + + + +

(static) epochs :Array

+ + + + + +
+ +
Description:
+
  • Specify the key of epochs values in the data.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • []
  • +
+ + + + + + + +
+ + + + + +
+

Specify the key of epochs values in the data.

+
+ + + +
Type:
+
    +
  • + +Array + + + +
  • +
+ + + + + +
Example
+ +
epochs: [ 1, 1, 2, 2, ... ]
+ + + + + +

(static) lines :Array

+ + + + + +
+ +
Description:
+
  • Show additional lines anywhere on the chart.

    +
      +
    • Each line object should consist with following options:
    • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    KeyTypeDescription
    x1NumberStarting position on the x axis
    y1NumberStarting position on the y axis
    x2NumberEnding position on the x axis
    y2NumberEnding position on the y axis
    classStringOptional value. Set a custom css class to this line.
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • []
  • +
+ + + + + + + +
+ + + + + +
+

Show additional lines anywhere on the chart.

+
    +
  • Each line object should consist with following options:
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyTypeDescription
x1NumberStarting position on the x axis
y1NumberStarting position on the y axis
x2NumberEnding position on the x axis
y2NumberEnding position on the y axis
classStringOptional value. Set a custom css class to this line.
+
+ + + +
Type:
+
    +
  • + +Array + + + +
  • +
+ + + + + +
Example
+ +
lines: [
+      { x1: 0, y1: 0, x2: 65, y2: 65, class: "line1" },
+      { x1: 0, x2: 65, y1: 40, y2: 40, class: "line2" }
+  ]
+ + + + + +

(static) padding :object

+ + + + + +
+ +
Description:
+
  • The padding for color scale element

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
padding + + +object + + + + + + + <optional>
+ + + +

padding object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
top + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Top padding value.

right + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Right padding value.

bottom + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Bottom padding value.

left + + +number + + + + + + + <optional>
+ + + +
+ + 0 + +

Left padding value.

+ +
+ + + + + + +
+

The padding for color scale element

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
padding: {
+    top: 15,
+    right: 0,
+    bottom: 0,
+    left: 0
+ },
+ + + + + +

(static) regions :Array

+ + + + + +
+ +
Description:
+
  • Show additional regions anywhere on the chart.

    +
      +
    • +

      Each region object should consist with following options:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      KeyTypeDefaultAttributesDescription
      pointsArrayAccepts a group of objects that has x and y.
      These points should be added in a counter-clockwise fashion to make a closed polygon.
      opacityNumber0.2<optional>Sets the opacity of the region as value between 0 and 1
      textFunction<optional>This function receives a value and percentage of the number of epochs in this region.
      Return a string to place text in the middle of the region.
      classString<optional>Se a custom css class to this region, use the fill property in css to set a background color.
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • []
  • +
+ + + + + + + +
+ + + + + +
+

Show additional regions anywhere on the chart.

+
    +
  • +

    Each region object should consist with following options:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    KeyTypeDefaultAttributesDescription
    pointsArrayAccepts a group of objects that has x and y.
    These points should be added in a counter-clockwise fashion to make a closed polygon.
    opacityNumber0.2<optional>Sets the opacity of the region as value between 0 and 1
    textFunction<optional>This function receives a value and percentage of the number of epochs in this region.
    Return a string to place text in the middle of the region.
    classString<optional>Se a custom css class to this region, use the fill property in css to set a background color.
    +
  • +
+
+ + + +
Type:
+
    +
  • + +Array + + + +
  • +
+ + + + + +
Example
+ +
regions: [
+      {
+          points: [ // add points counter-clockwise
+              { x: 0, y: 0 },
+              { x: 40, y: 40 },
+              { x: 0, y: 40 },
+          ],
+          text: function (value, percentage) {
+              return `Normal Operations: ${value} (${percentage}%)`;
+          },
+          opacity: 0.2, // 0 to 1
+          class: "test-polygon1"
+      },
+      ...
+  ]
+ + + + + +

(static) scale :object

+ + + + + +
+ +
Description:
+
  • Set scale values

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
scale + + +object + + + + + + + <optional>
+ + + +

scale object

+
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
min + + +number + + + + + + + <optional>
+ + + +
+ +

Minimum value of the color scale. Default: lowest value in epochs

max + + +number + + + + + + + <optional>
+ + + +
+ +

Maximum value of the color scale. Default: highest value in epochs

width + + +number + + + + + + + <optional>
+ + + +
+ + 20 + +

Width of the color scale

format + + +string +| + +function + + + + + + + <optional>
+ + + +
+ +

Format of the axis of the color scale. Use 'pow10' to format as powers of 10 or a custom function. Example: d3.format("d")

+ +
+ + + + + + +
+

Set scale values

+
+ + + +
Type:
+
    +
  • + +object + + + +
  • +
+ + + + + +
Example
+ +
scale: {
+   max: 10000,
+   min: 1,
+   width: 500,
+
+   // specify 'pow10' to format as powers of 10
+   format: "pow10",
+
+   // or specify a format function
+   format: function(x) {
+   	return x +"%";
+   }
+ },
+ + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/3.14.2/doc/plugin-tableview.html b/release/3.14.2/doc/plugin-tableview.html new file mode 100644 index 000000000..9a718217c --- /dev/null +++ b/release/3.14.2/doc/plugin-tableview.html @@ -0,0 +1,1053 @@ + + + + + + plugin-tableview - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

plugin-tableview

+ + + + + + + +
+ +
+ +

+ + plugin-tableview + +

+ + +
+ +
+ +
+ + + + + +

new plugin-tableview(options) → {TableView}

+ + + + + + +
+ +
Description:
+
  • Table view plugin.
    +Generates table view for bound dataset.

    +
      +
    • NOTE: +
        +
      • Plugins aren't built-in. Need to be loaded or imported to be used.
      • +
      • Non required modules from billboard.js core, need to be installed separately.
      • +
      +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Examples
+ +
// Plugin must be loaded before the use.
+<script src="$YOUR_PATH/plugin/billboardjs-plugin-tableview.js"></script>
+
+ var chart = bb.generate({
+    ...
+    plugins: [
+       new bb.plugin.tableview({
+         selector: "#my-table-view",
+         categoryTitle: "Category",
+         categoryFormat: function(v) {
+             // do some transformation
+             ...
+             return v;
+         },
+         class: "my-class-name",
+         style: true,
+         title: "My Data List",
+         updateOnToggle: false,
+         nullString: "N/A"
+       }),
+    ]
+ });
+ +
import {bb} from "billboard.js";
+import TableView from "billboard.js/dist/billboardjs-plugin-tableview";
+
+bb.generate({
+    ...
+    plugins: [
+       new TableView({ ... })
+    ]
+})
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
options + + +object + + + + +

table view plugin options

+ + + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +TableView + + + +
+
+ + + + + + +
+ + + +

Extends

+ + + + + + + + + + + + + + + + + + + + +

Members

+ + + +

(static) categoryFormat :function

+ + + + + +
+ +
Description:
+
  • Set category text format function.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • function(v) { // will return formatted value according x Axis type }}
  • +
+ + + + + + + +
+ + + + + +
+

Set category text format function.

+
+ + + +
Type:
+
    +
  • + +function + + + +
  • +
+ + + + + +
Example
+ +
categoryFormat: "#table-holder"
+ + + + + +

(static) categoryTitle :string

+ + + + + +
+ +
Description:
+
  • Set category title text

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • "Category"
  • +
+ + + + + + + +
+ + + + + +
+

Set category title text

+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
categoryTitle: "#table-holder"
+ + + + + +

(static) class :string

+ + + + + +
+ +
Description:
+
  • Set tableview holder class name.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set tableview holder class name.

+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
class: "table-class-name"
+ + + + + +

(static) nullString :string

+ + + + + +
+ +
Description:
+
  • Set how null value to be shown.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • "-"
  • +
+ + + + + + + +
+ + + + + +
+

Set how null value to be shown.

+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
nullString: "N/A"
+ + + + + +

(static) selector :string

+ + + + + +
+ +
Description:
+
  • Set tableview holder selector.

    +
      +
    • NOTE: If not set, will append new holder element dynamically right after chart element.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set tableview holder selector.

+
    +
  • NOTE: If not set, will append new holder element dynamically right after chart element.
  • +
+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
selector: "#table-holder"
+ + + + + +

(static) style :boolean

+ + + + + +
+ +
Description:
+
  • Set to apply default style(.bb-tableview) to tableview element.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + + + +
+ + + + + +
+

Set to apply default style(.bb-tableview) to tableview element.

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
style: false
+ + + + + +

(static) title :string

+ + + + + +
+ +
Description:
+
  • Set tableview title text.

    +
      +
    • NOTE: If set title.text, will be used when this option value is empty.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Set tableview title text.

+
    +
  • NOTE: If set title.text, will be used when this option value is empty.
  • +
+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
title: "Table Title Text"
+ + + + + +

(static) updateOnToggle :boolean

+ + + + + +
+ +
Description:
+
  • Update tableview from data visibility update(ex. legend toggle).

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • true
  • +
+ + + + + + + +
+ + + + + +
+

Update tableview from data visibility update(ex. legend toggle).

+
+ + + +
Type:
+
    +
  • + +boolean + + + +
  • +
+ + + + + +
Example
+ +
legendToggleUpdate: false
+ + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/3.14.2/doc/plugin-textoverlap.html b/release/3.14.2/doc/plugin-textoverlap.html new file mode 100644 index 000000000..c509c00cb --- /dev/null +++ b/release/3.14.2/doc/plugin-textoverlap.html @@ -0,0 +1,623 @@ + + + + + + plugin-textoverlap - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

plugin-textoverlap

+ + + + + + + +
+ +
+ +

+ + plugin-textoverlap + +

+ + +
+ +
+ +
+ + + + + +

new plugin-textoverlap(options) → {TextOverlap}

+ + + + + + +
+ +
Description:
+
  • TextOverlap plugin
    +Prevents label overlap using Voronoi layout.

    +
      +
    • NOTE: +
        +
      • Plugins aren't built-in. Need to be loaded or imported to be used.
      • +
      • Non required modules from billboard.js core, need to be installed separately.
      • +
      • Appropriate and works for axis based chart.
      • +
      +
    • +
    • Required modules: + +
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
Examples
+ +
// Plugin must be loaded before the use.
+<script src="$YOUR_PATH/plugin/billboardjs-plugin-textoverlap.js"></script>
+
+ var chart = bb.generate({
+    data: {
+    	  columns: [ ... ]
+    },
+    ...
+    plugins: [
+       new bb.plugin.textoverlap({
+         selector: ".bb-texts text",
+         extent: 8,
+         area: 3
+       })
+    ]
+ });
+ +
import {bb} from "billboard.js";
+import TextOverlap from "billboard.js/dist/billboardjs-plugin-textoverlap";
+
+bb.generate({
+    plugins: [
+       new TextOverlap({ ... })
+    ]
+})
+ + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
options + + +object + + + + +

TextOverlap plugin options

+ + + + +
Requires:
+
    +
  • module:d3-polygon
  • + +
  • module:d3-delaunay
  • +
+ + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +TextOverlap + + + +
+
+ + + + + + +
+ + + +

Extends

+ + + + + + + + + + +

Requires

+ +
    +
  • module:d3-polygon
  • + +
  • module:d3-delaunay
  • +
+ + + + + + + + + + + +

Members

+ + + +

(static) area :number

+ + + + + +
+ +
Description:
+
  • Minimum area needed to show a data label.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • 0
  • +
+ + + + + + + +
+ + + + + +
+

Minimum area needed to show a data label.

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
area: 0
+ + + + + +

(static) extent :number

+ + + + + +
+ +
Description:
+
  • Extent of label overlap prevention.

+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • 1
  • +
+ + + + + + + +
+ + + + + +
+

Extent of label overlap prevention.

+
+ + + +
Type:
+
    +
  • + +number + + + +
  • +
+ + + + + +
Example
+ +
extent: 1
+ + + + + +

(static) selector :string

+ + + + + +
+ +
Description:
+
  • Selector string for target text nodes within chart element.

    +
      +
    • NOTE: If no value is given, defaults to data label text elements.
    • +
+ + + +
Source:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • undefined
  • +
+ + + + + + + +
+ + + + + +
+

Selector string for target text nodes within chart element.

+
    +
  • NOTE: If no value is given, defaults to data label text elements.
  • +
+
+ + + +
Type:
+
    +
  • + +string + + + +
  • +
+ + + + + +
Example
+ +
// selector for data label text nodes
+selector: ".bb-texts text"
+ + + + + + + + + + + +
+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/release/3.14.2/doc/scripts/collapse.js b/release/3.14.2/doc/scripts/collapse.js new file mode 100644 index 000000000..4e63926d4 --- /dev/null +++ b/release/3.14.2/doc/scripts/collapse.js @@ -0,0 +1,39 @@ +function hideAllButCurrent(){ + //by default all submenut items are hidden + //but we need to rehide them for search + document.querySelectorAll("nav > ul").forEach(function(parent) { + if (parent.className.indexOf("collapse_top") !== -1) { + parent.style.display = "none"; + } + }); + document.querySelectorAll("nav > ul > li > ul li").forEach(function(parent) { + parent.style.display = "none"; + }); + document.querySelectorAll("nav > h3").forEach(function(section) { + if (section.className.indexOf("collapsed_header") !== -1) { + section.addEventListener("click", function(){ + if (section.nextSibling.style.display === "none") { + section.nextSibling.style.display = "block"; + } else { + section.nextSibling.style.display = "none"; + } + }); + } + }); + + //only current page (if it exists) should be opened + var file = window.location.pathname.split("/").pop().replace(/\.html/, ''); + document.querySelectorAll("nav > ul > li > a").forEach(function(parent) { + var href = parent.attributes.href.value.replace(/\.html/, ''); + if (file === href) { + if (parent.parentNode.parentNode.className.indexOf("collapse_top") !== -1) { + parent.parentNode.parentNode.style.display = "block"; + } + parent.parentNode.querySelectorAll("ul li").forEach(function(elem) { + elem.style.display = "block"; + }); + } + }); +} + +hideAllButCurrent(); \ No newline at end of file diff --git a/release/3.14.2/doc/scripts/commonNav.js b/release/3.14.2/doc/scripts/commonNav.js new file mode 100644 index 000000000..03e820282 --- /dev/null +++ b/release/3.14.2/doc/scripts/commonNav.js @@ -0,0 +1,28 @@ +if (typeof fetch === 'function') { + const init = () => { + if (typeof scrollToNavItem !== 'function') return false + scrollToNavItem() + // hideAllButCurrent not always loaded + if (typeof hideAllButCurrent === 'function') hideAllButCurrent() + return true + } + fetch('./nav.inc.html') + .then(response => response.ok ? response.text() : `${response.url} => ${response.status} ${response.statusText}`) + .then(body => { + document.querySelector('nav').innerHTML += body + // nav.js should be quicker to load than nav.inc.html, a fallback just in case + return init() + }) + .then(done => { + if (done) return + let i = 0 + ;(function waitUntilNavJs () { + if (init()) return + if (i++ < 100) return setTimeout(waitUntilNavJs, 300) + console.error(Error('nav.js not loaded after 30s waiting for it')) + })() + }) + .catch(error => console.error(error)) +} else { + console.error(Error('Browser too old to display commonNav (remove commonNav docdash option)')) +} diff --git a/release/3.14.2/doc/scripts/linenumber.js b/release/3.14.2/doc/scripts/linenumber.js new file mode 100644 index 000000000..8d52f7eaf --- /dev/null +++ b/release/3.14.2/doc/scripts/linenumber.js @@ -0,0 +1,25 @@ +/*global document */ +(function() { + var source = document.getElementsByClassName('prettyprint source linenums'); + var i = 0; + var lineNumber = 0; + var lineId; + var lines; + var totalLines; + var anchorHash; + + if (source && source[0]) { + anchorHash = document.location.hash.substring(1); + lines = source[0].getElementsByTagName('li'); + totalLines = lines.length; + + for (; i < totalLines; i++) { + lineNumber++; + lineId = 'line' + lineNumber; + lines[i].id = lineId; + if (lineId === anchorHash) { + lines[i].className += ' selected'; + } + } + } +})(); diff --git a/release/3.14.2/doc/scripts/nav.js b/release/3.14.2/doc/scripts/nav.js new file mode 100644 index 000000000..6dd831342 --- /dev/null +++ b/release/3.14.2/doc/scripts/nav.js @@ -0,0 +1,12 @@ +function scrollToNavItem() { + var path = window.location.href.split('/').pop().replace(/\.html/, ''); + document.querySelectorAll('nav a').forEach(function(link) { + var href = link.attributes.href.value.replace(/\.html/, ''); + if (path === href) { + link.scrollIntoView({block: 'center'}); + return; + } + }) + } + + scrollToNavItem(); diff --git a/release/3.14.2/doc/scripts/polyfill.js b/release/3.14.2/doc/scripts/polyfill.js new file mode 100644 index 000000000..44b4c92dc --- /dev/null +++ b/release/3.14.2/doc/scripts/polyfill.js @@ -0,0 +1,4 @@ +//IE Fix, src: https://www.reddit.com/r/programminghorror/comments/6abmcr/nodelist_lacks_foreach_in_internet_explorer/ +if (typeof(NodeList.prototype.forEach)!==typeof(alert)){ + NodeList.prototype.forEach=Array.prototype.forEach; +} \ No newline at end of file diff --git a/release/3.14.2/doc/scripts/prettify/Apache-License-2.0.txt b/release/3.14.2/doc/scripts/prettify/Apache-License-2.0.txt new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/release/3.14.2/doc/scripts/prettify/Apache-License-2.0.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/release/3.14.2/doc/scripts/prettify/lang-css.js b/release/3.14.2/doc/scripts/prettify/lang-css.js new file mode 100644 index 000000000..041e1f590 --- /dev/null +++ b/release/3.14.2/doc/scripts/prettify/lang-css.js @@ -0,0 +1,2 @@ +PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n "]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com", +/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]); diff --git a/release/3.14.2/doc/scripts/prettify/prettify.js b/release/3.14.2/doc/scripts/prettify/prettify.js new file mode 100644 index 000000000..eef5ad7e6 --- /dev/null +++ b/release/3.14.2/doc/scripts/prettify/prettify.js @@ -0,0 +1,28 @@ +var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; +(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a= +[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), +l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, +q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, +q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, +"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), +a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} +for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], +"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], +H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], +J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ +I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), +["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", +/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), +["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", +hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p=0){var k=k.match(g),f,b;if(b= +!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p ul > li:not(.level-hide)").forEach(function(elem) { + elem.style.display = "block"; + }); + + if (typeof hideAllButCurrent === "function"){ + //let's do what ever collapse wants to do + hideAllButCurrent(); + } else { + //menu by default should be opened + document.querySelectorAll("nav > ul > li > ul li").forEach(function(elem) { + elem.style.display = "block"; + }); + } + } else { + //we are searching + document.documentElement.setAttribute(searchAttr, ''); + + //show all parents + document.querySelectorAll("nav > ul > li").forEach(function(elem) { + elem.style.display = "block"; + }); + document.querySelectorAll("nav > ul").forEach(function(elem) { + elem.style.display = "block"; + }); + //hide all results + document.querySelectorAll("nav > ul > li > ul li").forEach(function(elem) { + elem.style.display = "none"; + }); + //show results matching filter + document.querySelectorAll("nav > ul > li > ul a").forEach(function(elem) { + if (!contains(elem.parentNode, search)) { + return; + } + elem.parentNode.style.display = "block"; + }); + //hide parents without children + document.querySelectorAll("nav > ul > li").forEach(function(parent) { + var countSearchA = 0; + parent.querySelectorAll("a").forEach(function(elem) { + if (contains(elem, search)) { + countSearchA++; + } + }); + + var countUl = 0; + var countUlVisible = 0; + parent.querySelectorAll("ul").forEach(function(ulP) { + // count all elements that match the search + if (contains(ulP, search)) { + countUl++; + } + + // count all visible elements + var children = ulP.children + for (i=0; i ul.collapse_top").forEach(function(parent) { + var countVisible = 0; + parent.querySelectorAll("li").forEach(function(elem) { + if (elem.style.display !== "none") { + countVisible++; + } + }); + + if (countVisible == 0) { + //has no child at all and does not contain text + parent.style.display = "none"; + } + }); + } +}); \ No newline at end of file diff --git a/release/3.14.2/doc/static/analytics.js b/release/3.14.2/doc/static/analytics.js new file mode 100644 index 000000000..ac1fdfdaf --- /dev/null +++ b/release/3.14.2/doc/static/analytics.js @@ -0,0 +1,13 @@ +// Google tag (gtag.js) +var s = document.createElement("script"); +s.src = "https://www.googletagmanager.com/gtag/js?id=G-YHK0PNR1LP"; + +document.head.appendChild(s); + +s.onload = function() { + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-YHK0PNR1LP'); +} diff --git a/release/3.14.2/doc/static/doc.css b/release/3.14.2/doc/static/doc.css new file mode 100644 index 000000000..38b6f939c --- /dev/null +++ b/release/3.14.2/doc/static/doc.css @@ -0,0 +1,59 @@ +body { + font-family: 'Noto Sans', Arial, sans-serif; + font-style: normal; +} + +nav { + padding-bottom: 50px; +} + +nav #nav-search { + border: solid 4px #2980b9; + height: 40px; + font-size: 1.1em; + font-weight: 800; + position: fixed; +} + +nav #nav-search::placeholder { + color: #aaa; +} + +nav h2:nth-of-type(1) { + margin-top: 70px; +} + +nav ul a:hover, nav ul a:active { + color: #fff; + background-color: #16a085; +} + +nav ul ul a, nav ul ul a:active { + font-size: 13px; +} + +nav > ul > li > a { + font-weight: bold; + font-size: 1.1em !important; + background-color: #eee; + margin-bottom: 7px; +} + +nav > ul > li > a, nav > ul > li > a:active { + padding: 7px; +} + +h4[id$='$'] > span:first-child { + display: none; +} + +.details p { + margin: 0; +} + +.experimental:before { + content: "EXPERIMENTAL"; + color: #fff; + background-color: red; + padding: 2px; +} diff --git a/release/3.14.2/doc/styles/jsdoc.css b/release/3.14.2/doc/styles/jsdoc.css new file mode 100644 index 000000000..0fe6d3cda --- /dev/null +++ b/release/3.14.2/doc/styles/jsdoc.css @@ -0,0 +1,776 @@ +* { + box-sizing: border-box +} + +html, body { + height: 100%; + width: 100%; +} + +body { + color: #4d4e53; + background-color: white; + margin: 0 auto; + padding: 0 20px; + font-family: 'Helvetica Neue', Helvetica, sans-serif; + font-size: 16px; +} + +img { + max-width: 100%; +} + +a, +a:active { + color: #606; + text-decoration: none; +} + +a:hover { + text-decoration: none; +} + +article a { + border-bottom: 1px solid #ddd; +} + +article a:hover, article a:active { + border-bottom-color: #222; +} + +article .description a { + word-break: break-word; +} + +p, ul, ol, blockquote { + margin-bottom: 1em; + line-height: 160%; +} + +h1, h2, h3, h4, h5, h6 { + font-family: 'Montserrat', sans-serif; +} + +h1, h2, h3, h4, h5, h6 { + color: #000; + font-weight: 400; + margin: 0; +} + +h1 { + font-weight: 300; + font-size: 48px; + margin: 1em 0 .5em; +} + +h1.page-title { + font-size: 48px; + margin: 1em 30px; + line-height: 100%; + word-wrap: break-word; +} + +h2 { + font-size: 24px; + margin: 1.5em 0 .3em; +} + +h3 { + font-size: 24px; + margin: 1.2em 0 .3em; +} + +h4 { + font-size: 18px; + margin: 1em 0 .2em; + color: #4d4e53; +} + +h4.name { + color: #fff; + background: #6d426d; + box-shadow: 0 .25em .5em #d3d3d3; + border-top: 1px solid #d3d3d3; + border-bottom: 1px solid #d3d3d3; + margin: 1.5em 0 0.5em; + padding: .75em 0 .75em 10px; +} + +h4.name a { + color: #fc83ff; +} + +h4.name a:hover { + border-bottom-color: #fc83ff; +} + +h5, .container-overview .subsection-title { + font-size: 120%; + letter-spacing: -0.01em; + margin: 8px 0 3px 0; +} + +h6 { + font-size: 100%; + letter-spacing: -0.01em; + margin: 6px 0 3px 0; + font-style: italic; +} + +.usertext h1 { + font-family: "Source Sans Pro"; + font-size: 24px; + margin: 2.5em 0 1em; + font-weight: 400; +} + +.usertext h2 { + font-family: "Source Sans Pro"; + font-size: 18px; + margin: 2em 0 0.5em; + font-weight: 400; + +} + +.usertext h3 { + font-family: "Source Sans Pro"; + font-size: 15px; + margin: 1.5em 0 0; + font-weight: 400; +} + +.usertext h4 { + font-family: "Source Sans Pro"; + font-size: 14px; + margin: 0 0 0; + font-weight: 400; +} + +.usertext h5 { + font-size: 12px; + margin: 1em 0 0; + font-weight: normal; + color: #666; +} + +.usertext h6 { + font-size: 11px; + margin: 1em 0 0; + font-weight: normal; + font-style: normal; + color: #666; +} + + +tt, code, kbd, samp, pre { + font-family: Consolas, Monaco, 'Andale Mono', monospace; + background: #f4f4f4; +} + +tt, code, kbd, samp{ + padding: 1px 5px; +} + +pre { + padding-bottom: 1em; +} + +.class-description { + font-size: 130%; + line-height: 140%; + margin-bottom: 1em; + margin-top: 1em; +} + +.class-description:empty { + margin: 0 +} + +#main { + float: right; + width: calc(100% - 240px); +} + +header { + display: block +} + +section { + display: block; + background-color: #fff; + padding: 0 0 0 30px; +} + +.variation { + display: none +} + +.signature-attributes { + font-size: 60%; + color: #eee; + font-style: italic; + font-weight: lighter; +} + +nav { + float: left; + display: block; + width: 250px; + background: #fff; + overflow: auto; + position: fixed; + height: 100%; +} + +nav #nav-search{ + width: 210px; + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; + margin-right: 20px; + margin-top: 20px; +} + +nav.wrap a{ + word-wrap: break-word; +} + +nav h3 { + margin-top: 12px; + font-size: 13px; + text-transform: uppercase; + letter-spacing: 1px; + font-weight: 700; + line-height: 24px; + margin: 15px 0 10px; + padding: 0; + color: #000; +} + +nav h3.collapsed_header { + cursor: pointer; +} + +nav ul { + font-family: 'Lucida Grande', 'Lucida Sans Unicode', arial, sans-serif; + font-size: 100%; + line-height: 17px; + padding: 0; + margin: 0; + list-style-type: none; +} + +nav ul a, +nav ul a:active { + font-family: 'Montserrat', sans-serif; + line-height: 18px; + padding: 0; + display: block; + font-size: 12px; +} + +nav a:hover, +nav a:active { + color: #606; +} + +nav > ul { + padding: 0 10px; +} + +nav > ul > li > a { + color: #606; + margin-top: 10px; +} + +nav ul ul a { + color: hsl(207, 1%, 60%); + border-left: 1px solid hsl(207, 10%, 86%); +} + +nav ul ul a, +nav ul ul a:active { + padding-left: 20px +} + +nav h2 { + font-size: 13px; + margin: 10px 0 0 0; + padding: 0; +} + +nav > h2 > a { + margin: 10px 0 -10px; + color: #606 !important; +} + +footer { + color: hsl(0, 0%, 28%); + margin-left: 250px; + display: block; + padding: 15px; + font-style: italic; + font-size: 90%; +} + +.ancestors { + color: #999 +} + +.ancestors a { + color: #999 !important; +} + +.clear { + clear: both +} + +.important { + font-weight: bold; + color: #950B02; +} + +.yes-def { + text-indent: -1000px +} + +.type-signature { + color: #CA79CA +} + +.type-signature:last-child { + color: #eee; +} + +.name, .signature { + font-family: Consolas, Monaco, 'Andale Mono', monospace +} + +.signature { + color: #fc83ff; +} + +.details { + margin-top: 6px; + border-left: 2px solid #DDD; + line-height: 20px; + font-size: 14px; +} + +.details dt { + width: auto; + float: left; + padding-left: 10px; +} + +.details dd { + margin-left: 70px; + margin-top: 6px; + margin-bottom: 6px; +} + +.details ul { + margin: 0 +} + +.details ul { + list-style-type: none +} + +.details pre.prettyprint { + margin: 0 +} + +.details .object-value { + padding-top: 0 +} + +.description { + margin-bottom: 1em; + margin-top: 1em; +} + +.code-caption { + font-style: italic; + font-size: 107%; + margin: 0; +} + +.prettyprint { + font-size: 14px; + overflow: auto; +} + +.prettyprint.source { + width: inherit; + line-height: 18px; + display: block; + background-color: #0d152a; + color: #aeaeae; +} + +.prettyprint code { + line-height: 18px; + display: block; + background-color: #0d152a; + color: #4D4E53; +} + +.prettyprint > code { + padding: 15px; +} + +.prettyprint .linenums code { + padding: 0 15px +} + +.prettyprint .linenums li:first-of-type code { + padding-top: 15px +} + +.prettyprint code span.line { + display: inline-block +} + +.prettyprint.linenums { + padding-left: 70px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.prettyprint.linenums ol { + padding-left: 0 +} + +.prettyprint.linenums li { + border-left: 3px #34446B solid; +} + +.prettyprint.linenums li.selected, .prettyprint.linenums li.selected * { + background-color: #34446B; +} + +.prettyprint.linenums li * { + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; +} + +.prettyprint.linenums li code:empty:after { + content:""; + display:inline-block; + width:0px; +} + +table { + border-spacing: 0; + border: 1px solid #ddd; + border-collapse: collapse; + border-radius: 3px; + box-shadow: 0 1px 3px rgba(0,0,0,0.1); + width: 100%; + font-size: 14px; + margin: 1em 0; +} + +td, th { + margin: 0px; + text-align: left; + vertical-align: top; + padding: 10px; + display: table-cell; +} + +thead tr, thead tr { + background-color: #fff; + font-weight: bold; + border-bottom: 1px solid #ddd; +} + +.params .type { + white-space: nowrap; +} + +.params code { + white-space: pre; +} + +.params td, .params .name, .props .name, .name code { + color: #4D4E53; + font-family: Consolas, Monaco, 'Andale Mono', monospace; + font-size: 100%; +} + +.params td { + border-top: 1px solid #eee +} + +.params td.description > p:first-child, .props td.description > p:first-child { + margin-top: 0; + padding-top: 0; +} + +.params td.description > p:last-child, .props td.description > p:last-child { + margin-bottom: 0; + padding-bottom: 0; +} + +span.param-type, .params td .param-type, .param-type dd { + color: #606; + font-family: Consolas, Monaco, 'Andale Mono', monospace +} + +.param-type dt, .param-type dd { + display: inline-block +} + +.param-type { + margin: 14px 0; +} + +.disabled { + color: #454545 +} + +/* navicon button */ +.navicon-button { + display: none; + position: relative; + padding: 2.0625rem 1.5rem; + transition: 0.25s; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + opacity: .8; +} +.navicon-button .navicon:before, .navicon-button .navicon:after { + transition: 0.25s; +} +.navicon-button:hover { + transition: 0.5s; + opacity: 1; +} +.navicon-button:hover .navicon:before, .navicon-button:hover .navicon:after { + transition: 0.25s; +} +.navicon-button:hover .navicon:before { + top: .825rem; +} +.navicon-button:hover .navicon:after { + top: -.825rem; +} + +/* navicon */ +.navicon { + position: relative; + width: 2.5em; + height: .3125rem; + background: #000; + transition: 0.3s; + border-radius: 2.5rem; +} +.navicon:before, .navicon:after { + display: block; + content: ""; + height: .3125rem; + width: 2.5rem; + background: #000; + position: absolute; + z-index: -1; + transition: 0.3s 0.25s; + border-radius: 1rem; +} +.navicon:before { + top: .625rem; +} +.navicon:after { + top: -.625rem; +} + +/* open */ +.nav-trigger:checked + label:not(.steps) .navicon:before, +.nav-trigger:checked + label:not(.steps) .navicon:after { + top: 0 !important; +} + +.nav-trigger:checked + label .navicon:before, +.nav-trigger:checked + label .navicon:after { + transition: 0.5s; +} + +/* Minus */ +.nav-trigger:checked + label { + -webkit-transform: scale(0.75); + transform: scale(0.75); +} + +/* × and + */ +.nav-trigger:checked + label.plus .navicon, +.nav-trigger:checked + label.x .navicon { + background: transparent; +} + +.nav-trigger:checked + label.plus .navicon:before, +.nav-trigger:checked + label.x .navicon:before { + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + background: #FFF; +} + +.nav-trigger:checked + label.plus .navicon:after, +.nav-trigger:checked + label.x .navicon:after { + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + background: #FFF; +} + +.nav-trigger:checked + label.plus { + -webkit-transform: scale(0.75) rotate(45deg); + transform: scale(0.75) rotate(45deg); +} + +.nav-trigger:checked ~ nav { + left: 0 !important; +} + +.nav-trigger:checked ~ .overlay { + display: block; +} + +.nav-trigger { + position: fixed; + top: 0; + clip: rect(0, 0, 0, 0); +} + +.overlay { + display: none; + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + width: 100%; + height: 100%; + background: hsla(0, 0%, 0%, 0.5); + z-index: 1; +} + +/* nav level */ +.level-hide { + display: none; +} +html[data-search-mode] .level-hide { + display: block; +} + + +@media only screen and (max-width: 680px) { + body { + overflow-x: hidden; + } + + nav { + background: #FFF; + width: 250px; + height: 100%; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: -250px; + z-index: 3; + padding: 0 10px; + transition: left 0.2s; + } + + .navicon-button { + display: inline-block; + position: fixed; + top: 1.5em; + right: 0; + z-index: 2; + } + + #main { + width: 100%; + } + + #main h1.page-title { + margin: 1em 0; + } + + #main section { + padding: 0; + } + + footer { + margin-left: 0; + } +} + +/** Add a '#' to static members */ +[data-type="member"] a::before { + content: '#'; + display: inline-block; + margin-left: -14px; + margin-right: 5px; +} + +#disqus_thread{ + margin-left: 30px; +} + +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 400; + src: url('../fonts/Montserrat/Montserrat-Regular.eot'); /* IE9 Compat Modes */ + src: url('../fonts/Montserrat/Montserrat-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../fonts/Montserrat/Montserrat-Regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('../fonts/Montserrat/Montserrat-Regular.woff') format('woff'), /* Pretty Modern Browsers */ + url('../fonts/Montserrat/Montserrat-Regular.ttf') format('truetype'); /* Safari, Android, iOS */ +} + +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 700; + src: url('../fonts/Montserrat/Montserrat-Bold.eot'); /* IE9 Compat Modes */ + src: url('../fonts/Montserrat/Montserrat-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../fonts/Montserrat/Montserrat-Bold.woff2') format('woff2'), /* Super Modern Browsers */ + url('../fonts/Montserrat/Montserrat-Bold.woff') format('woff'), /* Pretty Modern Browsers */ + url('../fonts/Montserrat/Montserrat-Bold.ttf') format('truetype'); /* Safari, Android, iOS */ +} + +@font-face { + font-family: 'Source Sans Pro'; + src: url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot'); + src: url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2') format('woff2'), + url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff') format('woff'), + url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf') format('truetype'), + url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg#source_sans_proregular') format('svg'); + font-weight: 400; + font-style: normal; +} + +@font-face { + font-family: 'Source Sans Pro'; + src: url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot'); + src: url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2') format('woff2'), + url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff') format('woff'), + url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf') format('truetype'), + url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg#source_sans_prolight') format('svg'); + font-weight: 300; + font-style: normal; + +} diff --git a/release/3.14.2/doc/styles/prettify.css b/release/3.14.2/doc/styles/prettify.css new file mode 100644 index 000000000..6f4d2eea9 --- /dev/null +++ b/release/3.14.2/doc/styles/prettify.css @@ -0,0 +1,80 @@ +.pln { + color: #ddd; +} + +/* string content */ +.str { + color: #61ce3c; +} + +/* a keyword */ +.kwd { + color: #fbde2d; +} + +/* a comment */ +.com { + color: #aeaeae; +} + +/* a type name */ +.typ { + color: #8da6ce; +} + +/* a literal value */ +.lit { + color: #fbde2d; +} + +/* punctuation */ +.pun { + color: #ddd; +} + +/* lisp open bracket */ +.opn { + color: #000000; +} + +/* lisp close bracket */ +.clo { + color: #000000; +} + +/* a markup tag name */ +.tag { + color: #8da6ce; +} + +/* a markup attribute name */ +.atn { + color: #fbde2d; +} + +/* a markup attribute value */ +.atv { + color: #ddd; +} + +/* a declaration */ +.dec { + color: #EF5050; +} + +/* a variable name */ +.var { + color: #c82829; +} + +/* a function name */ +.fun { + color: #4271ae; +} + +/* Specify class=linenums on a pre to get line numbering */ +ol.linenums { + margin-top: 0; + margin-bottom: 0; + padding-bottom: 2px; +} diff --git a/release/latest/dist-esm/billboard.js b/release/latest/dist-esm/billboard.js index 0608fc7ac..7a3224700 100644 --- a/release/latest/dist-esm/billboard.js +++ b/release/latest/dist-esm/billboard.js @@ -5,20 +5,20 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 */ import { pointer, select, namespaces, selectAll } from 'd3-selection'; import { timeParse, utcParse, timeFormat, utcFormat } from 'd3-time-format'; import { brushSelection, brushY, brushX } from 'd3-brush'; -import { tsvParse, tsvParseRows, csvParse, csvParseRows } from 'd3-dsv'; +import { csvParseRows, csvParse, tsvParseRows, tsvParse } from 'd3-dsv'; import { drag as drag$1 } from 'd3-drag'; -import { scaleOrdinal, scaleLinear, scaleUtc, scaleTime, scaleLog, scaleSymlog } from 'd3-scale'; +import { scaleOrdinal, scaleLinear, scaleSymlog, scaleLog, scaleTime, scaleUtc } from 'd3-scale'; import { transition } from 'd3-transition'; -import { curveStepBefore, curveStepAfter, curveStep, curveLinear, curveLinearClosed, curveNatural, curveMonotoneY, curveMonotoneX, curveCatmullRomOpen, curveCatmullRomClosed, curveCatmullRom, curveCardinalOpen, curveCardinalClosed, curveCardinal, curveBundle, curveBasisOpen, curveBasisClosed, curveBasis, arc, pie as pie$1, area as area$1, line as line$1 } from 'd3-shape'; +import { curveBasis, curveBasisClosed, curveBasisOpen, curveBundle, curveCardinal, curveCardinalClosed, curveCardinalOpen, curveCatmullRom, curveCatmullRomClosed, curveCatmullRomOpen, curveMonotoneX, curveMonotoneY, curveNatural, curveLinearClosed, curveLinear, curveStep, curveStepAfter, curveStepBefore, pie as pie$1, arc, area as area$1, line as line$1 } from 'd3-shape'; import { axisLeft, axisBottom, axisTop, axisRight } from 'd3-axis'; import { easeLinear } from 'd3-ease'; import { interpolate } from 'd3-interpolate'; -import { hierarchy, treemapResquarify, treemapSquarify, treemapSliceDice, treemapSlice, treemapDice, treemapBinary, treemap as treemap$1 } from 'd3-hierarchy'; +import { treemap as treemap$1, treemapBinary, treemapDice, treemapSlice, treemapSliceDice, treemapSquarify, treemapResquarify, hierarchy } from 'd3-hierarchy'; import { zoomIdentity, zoomTransform, zoom as zoom$2 } from 'd3-zoom'; /****************************************************************************** @@ -2621,7 +2621,13 @@ function getTransformCTM(node, x, y, inverse) { if (inverse === void 0) { inverse = true; } var point = new DOMPoint(x, y); var screen = node.getScreenCTM(); - return point.matrixTransform(inverse ? screen === null || screen === void 0 ? void 0 : screen.inverse() : screen); + var res = point.matrixTransform(inverse ? screen === null || screen === void 0 ? void 0 : screen.inverse() : screen); + if (inverse === false) { + var rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; } /** * Gets the SVGMatrix of an SVGGElement @@ -4560,14 +4566,15 @@ var data$1 = { var e = inputType === "touch" && event.changedTouches ? event.changedTouches[0] : event; - var point = isRotated ? - e.clientY + scrollPos.y - rect.top : - e.clientX + scrollPos.x - rect.left; + var point = isRotated ? e.clientY + scrollPos.y : e.clientX + scrollPos.x; if (hasViewBox($el.svg)) { var pos = [point, 0]; isRotated && pos.reverse(); point = getTransformCTM.apply(void 0, __spreadArray([$el.svg.node()], pos, false))[isRotated ? "y" : "x"]; } + else { + point -= isRotated ? rect.top : rect.left; + } index = findIndex(coords, point, 0, coords.length - 1, isRotated); } return index; @@ -8642,34 +8649,46 @@ var tooltip$1 = { }); } }, + /** + * Get tooltip position when svg has vieBox attribute + * @param {number} tWidth Tooltip width value + * @param {number} tHeight Tooltip height value + * @param {object} currPos Current event position value from SVG coordinate + * @returns {object} top, left value + */ getTooltipPositionViewBox: function (tWidth, tHeight, currPos) { var _a, _b; var $$ = this; - var _c = $$.$el, eventRect = _c.eventRect, main = _c.main, config = $$.config, state = $$.state; + var _c = $$.$el, eventRect = _c.eventRect, svg = _c.svg, config = $$.config, state = $$.state; var isRotated = config.axis_rotated; - var hasArcType = $$.hasArcType(undefined, ["radar"]) || state.hasFunnel || - state.hasTreemap; - var target = (_b = (_a = (state.hasRadar ? main : eventRect)) === null || _a === void 0 ? void 0 : _a.node()) !== null && _b !== void 0 ? _b : state.event.target; - var size = 38; // getTransformCTM($el.svg.node(), 10, 0, false).x; + var hasArcType = $$.hasArcType() || state.hasFunnel || state.hasTreemap; + var target = (_b = (_a = (hasArcType ? svg : eventRect)) === null || _a === void 0 ? void 0 : _a.node()) !== null && _b !== void 0 ? _b : state.event.target; var x = currPos.x, y = currPos.y; if (state.hasAxis) { x = isRotated ? x : currPos.xAxis; y = isRotated ? currPos.xAxis : y; } - // currPos는 SVG 좌표계 기준으로 전달됨 + // currPos value based on SVG coordinate var ctm = getTransformCTM(target, x, y, false); + var rect = target.getBoundingClientRect(); + var size = getTransformCTM(target, 20, 0, false).x; var top = ctm.y; - var left = ctm.x + size; + var left = ctm.x + (tWidth / 2) + size; if (hasArcType) { - top += tHeight; - left -= size; // (tWidth / 2); + if (state.hasFunnel || state.hasTreemap || state.hasRadar) { + left -= (tWidth / 2) + size; + top += tHeight; + } + else { + top += rect.height / 2; + left += (rect.width / 2) - (tWidth - size); + } } - var rect = (hasArcType ? main.node() : target).getBoundingClientRect(); - if (left + tWidth > rect.right) { - left = rect.right - tWidth - size; + if (left + tWidth > rect.width) { + left = rect.width - tWidth - size; } - if (top + tHeight > rect.bottom) { - top -= tHeight + size; + if (top + tHeight > rect.height) { + top -= tHeight * 2; } return { top: top, @@ -13377,6 +13396,26 @@ var Axis = /** @class */ (function () { } return type; }; + /** + * Get extent value + * @returns {Array} default extent + * @private + */ + Axis.prototype.getExtent = function () { + var $$ = this.owner; + var config = $$.config, scale = $$.scale; + var extent = config.axis_x_extent; + if (extent) { + if (isFunction(extent)) { + extent = extent.bind($$.api)($$.getXDomain($$.data.targets), scale.subX); + } + else if (this.isTimeSeries() && extent.every(isNaN)) { + var fn_1 = parseDate.bind($$); + extent = extent.map(function (v) { return scale.subX(fn_1(v)); }); + } + } + return extent; + }; Axis.prototype.init = function () { var _this = this; var $$ = this.owner; @@ -13558,8 +13597,8 @@ var Axis = /** @class */ (function () { .scale((isX && $$.scale.zoom) || scale) .orient(orient); if (isX && this.isTimeSeries() && tickValues && !isFunction(tickValues)) { - var fn_1 = parseDate.bind($$); - tickValues = tickValues.map(function (v) { return fn_1(v); }); + var fn_2 = parseDate.bind($$); + tickValues = tickValues.map(function (v) { return fn_2(v); }); } else if (!isX && this.isTimeSeriesY()) { // https://github.com/d3/d3/blob/master/CHANGES.md#time-intervals-d3-time @@ -16381,7 +16420,8 @@ var x = { */ axis_x_height: undefined, /** - * Set default extent for subchart and zoom. This can be an array or function that returns an array. + * Set extent for subchart and zoom(drag only). This can be an array or function that returns an array. + * - **NOTE:** Specifying value, will limit the zoom scope selection within. * @name axis․x․extent * @memberof Options * @type {Array|Function} @@ -23421,7 +23461,7 @@ var subchart = { // set the brush extent $$.brush.scale = function (scale) { var h = config.subchart_size_height; - var extent = $$.getExtent(); + var extent = $$.axis.getExtent(); if (!extent && scale.range) { extent = [[0, 0], [scale.range()[1], h]]; } @@ -23648,26 +23688,6 @@ var subchart = { $T(subchart.main.select(".".concat(CLASS.axisX)), withTransition); subchart.main.attr("transform", $$.getTranslate("context")); subXAxis.attr("transform", $$.getTranslate("subX")); - }, - /** - * Get extent value - * @returns {Array} default extent - * @private - */ - getExtent: function () { - var $$ = this; - var config = $$.config, scale = $$.scale; - var extent = config.axis_x_extent; - if (extent) { - if (isFunction(extent)) { - extent = extent.bind($$.api)($$.getXDomain($$.data.targets), scale.subX); - } - else if ($$.axis.isTimeSeries() && extent.every(isNaN)) { - var fn_1 = parseDate.bind($$); - extent = extent.map(function (v) { return scale.subX(fn_1(v)); }); - } - } - return extent; } }; @@ -23948,6 +23968,7 @@ var zoom = { var start = 0; var end = 0; var zoomRect; + var extent; var prop = { axis: isRotated ? "y" : "x", attr: isRotated ? "height" : "width", @@ -23956,6 +23977,8 @@ var zoom = { $$.zoomBehaviour = drag$1() .clickDistance(4) .on("start", function (event) { + // get extent at first zooming, when is zoomed do not consider + extent = $$.scale.zoom ? null : $$.axis.getExtent(); state.event = event; $$.setDragStatus(true); $$.unselectRect(); @@ -23967,6 +23990,14 @@ var zoom = { .attr("height", isRotated ? 0 : state.height); } start = getPointer(event, this)[prop.index]; + if (extent) { + if (start < extent[0]) { + start = extent[0]; + } + else if (start > extent[1]) { + start = extent[1]; + } + } end = start; zoomRect .attr(prop.axis, start) @@ -23975,6 +24006,14 @@ var zoom = { }) .on("drag", function (event) { end = getPointer(event, this)[prop.index]; + if (extent) { + if (end > extent[1]) { + end = extent[1]; + } + else if (end < extent[0]) { + end = extent[0]; + } + } zoomRect .attr(prop.axis, Math.min(start, end)) .attr(prop.attr, Math.abs(end - start)); @@ -24607,7 +24646,7 @@ var zoomModule = function () { var defaults = {}; /** * @namespace bb - * @version 3.14.1 + * @version 3.14.2 */ var bb = { /** @@ -24617,7 +24656,7 @@ var bb = { * bb.version; // "1.0.0" * @memberof bb */ - version: "3.14.1", + version: "3.14.2", /** * Generate chart * - **NOTE:** Bear in mind for the possiblity of ***throwing an error***, during the generation when: diff --git a/release/latest/dist-esm/plugin/billboardjs-plugin-bubblecompare.js b/release/latest/dist-esm/plugin/billboardjs-plugin-bubblecompare.js index f4cafa13b..4e82e24b2 100644 --- a/release/latest/dist-esm/plugin/billboardjs-plugin-bubblecompare.js +++ b/release/latest/dist-esm/plugin/billboardjs-plugin-bubblecompare.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */ @@ -100,7 +100,7 @@ var Plugin = /** @class */ (function () { delete _this[key]; }); }; - Plugin.version = "3.14.1"; + Plugin.version = "3.14.2"; return Plugin; }()); diff --git a/release/latest/dist-esm/plugin/billboardjs-plugin-sparkline.js b/release/latest/dist-esm/plugin/billboardjs-plugin-sparkline.js index 6e81c1016..92cb6a971 100644 --- a/release/latest/dist-esm/plugin/billboardjs-plugin-sparkline.js +++ b/release/latest/dist-esm/plugin/billboardjs-plugin-sparkline.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */ @@ -49,7 +49,17 @@ var __assign = function() { return t; }; return __assign.apply(this, arguments); -}; +}; + +function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +} /** * Copyright (c) 2017 ~ present NAVER Corp. @@ -245,6 +255,50 @@ var doc = win === null || win === void 0 ? void 0 : win.document; var isDefined = function (v) { return typeof v !== "undefined"; }; var isObjectType = function (v) { return typeof v === "object"; }; +/** + * Check if is array + * @param {Array} arr Data to be checked + * @returns {boolean} + * @private + */ +var isArray = function (arr) { return Array.isArray(arr); }; +/** + * Check if is object + * @param {object} obj Data to be checked + * @returns {boolean} + * @private + */ +var isObject = function (obj) { return obj && !(obj === null || obj === void 0 ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); }; +/** + * Merge object returning new object + * @param {object} target Target object + * @param {object} objectN Source object + * @returns {object} merged target object + * @private + */ +function mergeObj(target) { + var objectN = []; + for (var _i = 1; _i < arguments.length; _i++) { + objectN[_i - 1] = arguments[_i]; + } + if (!objectN.length || (objectN.length === 1 && !objectN[0])) { + return target; + } + var source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach(function (key) { + var value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } + else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj.apply(void 0, __spreadArray([target], objectN, false)); +} // emulate event ({ mouse: (function () { @@ -275,7 +329,26 @@ var isObjectType = function (v) { return typeof v === "object"; }; el.dispatchEvent(mouseEvent); }; } - })()}); + })(), + touch: function (el, eventType, params) { + var touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}); /** * Load configuration option @@ -370,7 +443,7 @@ var Plugin = /** @class */ (function () { delete _this[key]; }); }; - Plugin.version = "3.14.1"; + Plugin.version = "3.14.2"; return Plugin; }()); diff --git a/release/latest/dist-esm/plugin/billboardjs-plugin-stanford.js b/release/latest/dist-esm/plugin/billboardjs-plugin-stanford.js index 21d44da7e..1c859489f 100644 --- a/release/latest/dist-esm/plugin/billboardjs-plugin-stanford.js +++ b/release/latest/dist-esm/plugin/billboardjs-plugin-stanford.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */ @@ -55,7 +55,17 @@ var __assign = function() { return t; }; return __assign.apply(this, arguments); -}; +}; + +function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +} /** * Copyright (c) 2017 ~ present NAVER Corp. @@ -259,6 +269,50 @@ var isEmpty = function (o) { return (isUndefined(o) || o === null || (isString(o) && o.length === 0) || (isObjectType(o) && !(o instanceof Date) && Object.keys(o).length === 0) || (isNumber(o) && isNaN(o))); }; +/** + * Check if is array + * @param {Array} arr Data to be checked + * @returns {boolean} + * @private + */ +var isArray = function (arr) { return Array.isArray(arr); }; +/** + * Check if is object + * @param {object} obj Data to be checked + * @returns {boolean} + * @private + */ +var isObject = function (obj) { return obj && !(obj === null || obj === void 0 ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); }; +/** + * Merge object returning new object + * @param {object} target Target object + * @param {object} objectN Source object + * @returns {object} merged target object + * @private + */ +function mergeObj(target) { + var objectN = []; + for (var _i = 1; _i < arguments.length; _i++) { + objectN[_i - 1] = arguments[_i]; + } + if (!objectN.length || (objectN.length === 1 && !objectN[0])) { + return target; + } + var source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach(function (key) { + var value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } + else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj.apply(void 0, __spreadArray([target], objectN, false)); +} /** * Get range * @param {number} start Start number @@ -305,7 +359,26 @@ var getRange = function (start, end, step) { el.dispatchEvent(mouseEvent); }; } - })()}); + })(), + touch: function (el, eventType, params) { + var touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}); /** * Get parsed date value * (It must be called in 'ChartInternal' context) @@ -428,7 +501,7 @@ var Plugin = /** @class */ (function () { delete _this[key]; }); }; - Plugin.version = "3.14.1"; + Plugin.version = "3.14.2"; return Plugin; }()); diff --git a/release/latest/dist-esm/plugin/billboardjs-plugin-tableview.js b/release/latest/dist-esm/plugin/billboardjs-plugin-tableview.js index 4860049c5..68fd009fa 100644 --- a/release/latest/dist-esm/plugin/billboardjs-plugin-tableview.js +++ b/release/latest/dist-esm/plugin/billboardjs-plugin-tableview.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */ @@ -49,7 +49,17 @@ var __assign = function() { return t; }; return __assign.apply(this, arguments); -}; +}; + +function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); +} /** * Copyright (c) 2017 ~ present NAVER Corp. @@ -78,6 +88,50 @@ var doc = win === null || win === void 0 ? void 0 : win.document; var isNumber = function (v) { return typeof v === "number"; }; var isDefined = function (v) { return typeof v !== "undefined"; }; var isObjectType = function (v) { return typeof v === "object"; }; +/** + * Check if is array + * @param {Array} arr Data to be checked + * @returns {boolean} + * @private + */ +var isArray = function (arr) { return Array.isArray(arr); }; +/** + * Check if is object + * @param {object} obj Data to be checked + * @returns {boolean} + * @private + */ +var isObject = function (obj) { return obj && !(obj === null || obj === void 0 ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); }; +/** + * Merge object returning new object + * @param {object} target Target object + * @param {object} objectN Source object + * @returns {object} merged target object + * @private + */ +function mergeObj(target) { + var objectN = []; + for (var _i = 1; _i < arguments.length; _i++) { + objectN[_i - 1] = arguments[_i]; + } + if (!objectN.length || (objectN.length === 1 && !objectN[0])) { + return target; + } + var source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach(function (key) { + var value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } + else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj.apply(void 0, __spreadArray([target], objectN, false)); +} // emulate event ({ mouse: (function () { @@ -108,7 +162,26 @@ var isObjectType = function (v) { return typeof v === "object"; }; el.dispatchEvent(mouseEvent); }; } - })()}); + })(), + touch: function (el, eventType, params) { + var touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}); /** * Process the template & return bound string * @param {string} tpl Template string @@ -217,7 +290,7 @@ var Plugin = /** @class */ (function () { delete _this[key]; }); }; - Plugin.version = "3.14.1"; + Plugin.version = "3.14.2"; return Plugin; }()); diff --git a/release/latest/dist-esm/plugin/billboardjs-plugin-textoverlap.js b/release/latest/dist-esm/plugin/billboardjs-plugin-textoverlap.js index 105de4211..cbc8dface 100644 --- a/release/latest/dist-esm/plugin/billboardjs-plugin-textoverlap.js +++ b/release/latest/dist-esm/plugin/billboardjs-plugin-textoverlap.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */ @@ -79,6 +79,50 @@ var doc = win === null || win === void 0 ? void 0 : win.document; var isDefined = function (v) { return typeof v !== "undefined"; }; var isObjectType = function (v) { return typeof v === "object"; }; +/** + * Check if is array + * @param {Array} arr Data to be checked + * @returns {boolean} + * @private + */ +var isArray = function (arr) { return Array.isArray(arr); }; +/** + * Check if is object + * @param {object} obj Data to be checked + * @returns {boolean} + * @private + */ +var isObject = function (obj) { return obj && !(obj === null || obj === void 0 ? void 0 : obj.nodeType) && isObjectType(obj) && !isArray(obj); }; +/** + * Merge object returning new object + * @param {object} target Target object + * @param {object} objectN Source object + * @returns {object} merged target object + * @private + */ +function mergeObj(target) { + var objectN = []; + for (var _i = 1; _i < arguments.length; _i++) { + objectN[_i - 1] = arguments[_i]; + } + if (!objectN.length || (objectN.length === 1 && !objectN[0])) { + return target; + } + var source = objectN.shift(); + if (isObject(target) && isObject(source)) { + Object.keys(source).forEach(function (key) { + var value = source[key]; + if (isObject(value)) { + !target[key] && (target[key] = {}); + target[key] = mergeObj(target[key], value); + } + else { + target[key] = isArray(value) ? value.concat() : value; + } + }); + } + return mergeObj.apply(void 0, __spreadArray([target], objectN, false)); +} // emulate event ({ mouse: (function () { @@ -109,7 +153,26 @@ var isObjectType = function (v) { return typeof v === "object"; }; el.dispatchEvent(mouseEvent); }; } - })()}); + })(), + touch: function (el, eventType, params) { + var touchObj = new Touch(mergeObj({ + identifier: Date.now(), + target: el, + radiusX: 2.5, + radiusY: 2.5, + rotationAngle: 10, + force: 0.5 + }, params)); + el.dispatchEvent(new TouchEvent(eventType, { + cancelable: true, + bubbles: true, + shiftKey: true, + touches: [touchObj], + targetTouches: [], + changedTouches: [touchObj] + })); + } +}); /** * Load configuration option @@ -204,7 +267,7 @@ var Plugin = /** @class */ (function () { delete _this[key]; }); }; - Plugin.version = "3.14.1"; + Plugin.version = "3.14.2"; return Plugin; }()); diff --git a/release/latest/dist/billboard.css b/release/latest/dist/billboard.css index 5ae9b2ba7..6d044e73a 100644 --- a/release/latest/dist/billboard.css +++ b/release/latest/dist/billboard.css @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 */ /*-- Chart --*/ .bb svg { diff --git a/release/latest/dist/billboard.js b/release/latest/dist/billboard.js index d63f4f42f..b3f1e4121 100644 --- a/release/latest/dist/billboard.js +++ b/release/latest/dist/billboard.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') @@ -2520,9 +2520,15 @@ function getScrollPosition(node) { function getTransformCTM(node, x = 0, y = 0, inverse = true) { const point = new DOMPoint(x, y); const screen = node.getScreenCTM(); - return point.matrixTransform( + const res = point.matrixTransform( inverse ? screen == null ? void 0 : screen.inverse() : screen ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; } function getTranslation(node) { const transform = node ? node.transform : null; @@ -4162,11 +4168,13 @@ function getDataKeyForJson(keysParam, config) { const isRotated = config.axis_rotated; const scrollPos = getScrollPosition($el.chart.node()); const e = inputType === "touch" && event.changedTouches ? event.changedTouches[0] : event; - let point = isRotated ? e.clientY + scrollPos.y - rect.top : e.clientX + scrollPos.x - rect.left; + let point = isRotated ? e.clientY + scrollPos.y : e.clientX + scrollPos.x; if (hasViewBox($el.svg)) { const pos = [point, 0]; isRotated && pos.reverse(); point = getTransformCTM($el.svg.node(), ...pos)[isRotated ? "y" : "x"]; + } else { + point -= isRotated ? rect.top : rect.left; } index = findIndex( coords, @@ -7654,32 +7662,44 @@ function getTextXPos(pos = "left", width) { }); } }, + /** + * Get tooltip position when svg has vieBox attribute + * @param {number} tWidth Tooltip width value + * @param {number} tHeight Tooltip height value + * @param {object} currPos Current event position value from SVG coordinate + * @returns {object} top, left value + */ getTooltipPositionViewBox(tWidth, tHeight, currPos) { var _a, _b; const $$ = this; - const { $el: { eventRect, main }, config, state } = $$; + const { $el: { eventRect, svg }, config, state } = $$; const isRotated = config.axis_rotated; - const hasArcType = $$.hasArcType(void 0, ["radar"]) || state.hasFunnel || state.hasTreemap; - const target = (_b = (_a = state.hasRadar ? main : eventRect) == null ? void 0 : _a.node()) != null ? _b : state.event.target; - const size = 38; + const hasArcType = $$.hasArcType() || state.hasFunnel || state.hasTreemap; + const target = (_b = (_a = hasArcType ? svg : eventRect) == null ? void 0 : _a.node()) != null ? _b : state.event.target; let { x, y } = currPos; if (state.hasAxis) { x = isRotated ? x : currPos.xAxis; y = isRotated ? currPos.xAxis : y; } const ctm = getTransformCTM(target, x, y, false); + const rect = target.getBoundingClientRect(); + const size = getTransformCTM(target, 20, 0, false).x; let top = ctm.y; - let left = ctm.x + size; + let left = ctm.x + tWidth / 2 + size; if (hasArcType) { - top += tHeight; - left -= size; + if (state.hasFunnel || state.hasTreemap || state.hasRadar) { + left -= tWidth / 2 + size; + top += tHeight; + } else { + top += rect.height / 2; + left += rect.width / 2 - (tWidth - size); + } } - const rect = (hasArcType ? main.node() : target).getBoundingClientRect(); - if (left + tWidth > rect.right) { - left = rect.right - tWidth - size; + if (left + tWidth > rect.width) { + left = rect.width - tWidth - size; } - if (top + tHeight > rect.bottom) { - top -= tHeight + size; + if (top + tHeight > rect.height) { + top -= tHeight * 2; } return { top, @@ -10907,7 +10927,7 @@ extend(zoom, { }; $$.brush.scale = function(scale2) { const h = config.subchart_size_height; - let extent = $$.getExtent(); + let extent = $$.axis.getExtent(); if (!extent && scale2.range) { extent = [[0, 0], [scale2.range()[1], h]]; } else if (isArray(extent)) { @@ -11088,25 +11108,6 @@ extend(zoom, { const subXAxis = (transitions == null ? void 0 : transitions.axisSubX) ? transitions.axisSubX : $T(subchart.main.select(`.${classes.axisX}`), withTransition); subchart.main.attr("transform", $$.getTranslate("context")); subXAxis.attr("transform", $$.getTranslate("subX")); - }, - /** - * Get extent value - * @returns {Array} default extent - * @private - */ - getExtent() { - const $$ = this; - const { config, scale } = $$; - let extent = config.axis_x_extent; - if (extent) { - if (isFunction(extent)) { - extent = extent.bind($$.api)($$.getXDomain($$.data.targets), scale.subX); - } else if ($$.axis.isTimeSeries() && extent.every(isNaN)) { - const fn = parseDate.bind($$); - extent = extent.map((v) => scale.subX(fn(v))); - } - } - return extent; } }); @@ -11348,12 +11349,14 @@ extend(zoom, { let start = 0; let end = 0; let zoomRect; + let extent; const prop = { axis: isRotated ? "y" : "x", attr: isRotated ? "height" : "width", index: isRotated ? 1 : 0 }; $$.zoomBehaviour = (0,external_commonjs_d3_drag_commonjs2_d3_drag_amd_d3_drag_root_d3_.drag)().clickDistance(4).on("start", function(event) { + extent = $$.scale.zoom ? null : $$.axis.getExtent(); state.event = event; $$.setDragStatus(true); $$.unselectRect(); @@ -11361,11 +11364,25 @@ extend(zoom, { zoomRect = $$.$el.main.append("rect").attr("clip-path", state.clip.path).attr("class", $ZOOM.zoomBrush).attr("width", isRotated ? state.width : 0).attr("height", isRotated ? 0 : state.height); } start = getPointer(event, this)[prop.index]; + if (extent) { + if (start < extent[0]) { + start = extent[0]; + } else if (start > extent[1]) { + start = extent[1]; + } + } end = start; zoomRect.attr(prop.axis, start).attr(prop.attr, 0); $$.onZoomStart(event); }).on("drag", function(event) { end = getPointer(event, this)[prop.index]; + if (extent) { + if (end > extent[1]) { + end = extent[1]; + } else if (end < extent[0]) { + end = extent[0]; + } + } zoomRect.attr(prop.axis, Math.min(start, end)).attr(prop.attr, Math.abs(end - start)); }).on("end", (event) => { const scale = $$.scale.zoom || $$.scale.x; @@ -13291,6 +13308,25 @@ class Axis_Axis { } return type; } + /** + * Get extent value + * @returns {Array} default extent + * @private + */ + getExtent() { + const $$ = this.owner; + const { config, scale } = $$; + let extent = config.axis_x_extent; + if (extent) { + if (isFunction(extent)) { + extent = extent.bind($$.api)($$.getXDomain($$.data.targets), scale.subX); + } else if (this.isTimeSeries() && extent.every(isNaN)) { + const fn = parseDate.bind($$); + extent = extent.map((v) => scale.subX(fn(v))); + } + } + return extent; + } init() { const $$ = this.owner; const { config, $el: { main, axis }, state: { clip } } = $$; @@ -15939,7 +15975,8 @@ function smoothLines(el, type) { */ axis_x_height: void 0, /** - * Set default extent for subchart and zoom. This can be an array or function that returns an array. + * Set extent for subchart and zoom(drag only). This can be an array or function that returns an array. + * - **NOTE:** Specifying value, will limit the zoom scope selection within. * @name axis․x․extent * @memberof Options * @type {Array|Function} @@ -21825,7 +21862,7 @@ const bb = { * bb.version; // "1.0.0" * @memberof bb */ - version: "3.14.1", + version: "3.14.2", /** * Generate chart * - **NOTE:** Bear in mind for the possiblity of ***throwing an error***, during the generation when: diff --git a/release/latest/dist/billboard.min.css b/release/latest/dist/billboard.min.css index 7f7277a5e..b509ebec8 100644 --- a/release/latest/dist/billboard.min.css +++ b/release/latest/dist/billboard.min.css @@ -5,5 +5,5 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 */.bb svg{font:10px sans-serif;-webkit-tap-highlight-color:rgba(0,0,0,0)}.bb path,.bb line{fill:none;stroke:#000}.bb text,.bb .bb-button{-webkit-user-select:none;-moz-user-select:none;user-select:none}.bb-legend-item-tile,.bb-xgrid-focus,.bb-ygrid-focus,.bb-ygrid{shape-rendering:crispEdges}.bb-chart-arcs .bb-needle,.bb-chart-arc .bb-gauge-value{fill:#000}.bb-chart-arc path{stroke:#fff}.bb-chart-arc rect{stroke:#fff;stroke-width:1}.bb-chart-arc text{fill:#fff;font-size:13px}.bb-chart-funnels path{stroke-width:0}.bb-chart-funnels+.bb-chart-texts text{font-size:13px;fill:#fff}.bb-axis{shape-rendering:crispEdges}.bb-axis .bb-axis-x-tooltip,.bb-axis .bb-axis-y-tooltip,.bb-axis .bb-axis-y2-tooltip{font-size:1em;fill:#fff;white-space:nowrap}.bb-grid{pointer-events:none}.bb-grid line{stroke:#aaa}.bb-grid text{fill:#aaa}.bb-xgrid,.bb-ygrid{stroke-dasharray:3 3}.bb-text.bb-empty{fill:gray;font-size:2em}.bb-line{stroke-width:1px}.bb-circle._expanded_{stroke-width:1px;stroke:#fff}.bb-selected-circle{fill:#fff;stroke-width:2px}.bb-bar{stroke-width:0}.bb-bar._expanded_{fill-opacity:.75}.bb-candlestick{stroke-width:1px}.bb-candlestick._expanded_{fill-opacity:.75}.bb-target.bb-focused,.bb-circles.bb-focused{opacity:1}.bb-target.bb-focused path.bb-line,.bb-target.bb-focused path.bb-step,.bb-circles.bb-focused path.bb-line,.bb-circles.bb-focused path.bb-step{stroke-width:2px}.bb-target.bb-defocused,.bb-circles.bb-defocused{opacity:.3!important}.bb-target.bb-defocused .text-overlapping,.bb-circles.bb-defocused .text-overlapping{opacity:.05!important}.bb-region{fill:#4682b4}.bb-region rect{fill-opacity:.1}.bb-zoom-brush,.bb-brush .extent{fill-opacity:.1}.bb-legend-item{font-size:12px;user-select:none}.bb-legend-item-hidden{opacity:.15}.bb-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.bb-title{font:14px sans-serif}.bb-chart-treemaps rect{stroke:#fff;stroke-width:1px}.bb-tooltip-container{z-index:10;user-select:none}.bb-tooltip{border-collapse:collapse;border-spacing:0;background-color:#fff;empty-cells:show;opacity:.9;box-shadow:7px 7px 12px -9px #777;white-space:nowrap}.bb-tooltip tr{border:1px solid #CCC}.bb-tooltip th{background-color:#aaa;font-size:14px;padding:2px 5px;text-align:left;color:#fff}.bb-tooltip td{font-size:13px;padding:3px 6px;background-color:#fff;border-left:1px dotted #999}.bb-tooltip td>span,.bb-tooltip td>svg{display:inline-block;width:10px;height:10px;margin-right:6px}.bb-tooltip.value{text-align:right}.bb-area{stroke-width:0;opacity:.2}.bb-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}text.bb-chart-arcs-gauge-title{dominant-baseline:middle;font-size:2.7em}.bb-chart-arcs .bb-chart-arcs-background{fill:#e0e0e0;stroke:#fff}.bb-chart-arcs .bb-chart-arcs-gauge-unit{fill:#000;font-size:16px}.bb-chart-arcs .bb-chart-arcs-gauge-max,.bb-chart-arcs .bb-chart-arcs-gauge-min{fill:#777}.bb-chart-arcs .bb-levels circle{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-arcs .bb-levels text{fill:#848282}.bb-chart-radars .bb-levels polygon{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-levels text{fill:#848282}.bb-chart-radars .bb-axis line{stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-axis text{font-size:1.15em;cursor:default}.bb-chart-radars .bb-shapes polygon{fill-opacity:.2;stroke-width:1px}.bb-button{position:absolute;top:10px;right:10px}.bb-button .bb-zoom-reset{font-size:11px;border:solid 1px #ccc;background-color:#fff;padding:5px;border-radius:5px;cursor:pointer} diff --git a/release/latest/dist/billboard.min.js b/release/latest/dist/billboard.min.js index d83a5d628..f1dd7b26b 100644 --- a/release/latest/dist/billboard.min.js +++ b/release/latest/dist/billboard.min.js @@ -5,29 +5,29 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 - */(function(dt,Zt){if(typeof exports=="object"&&typeof module=="object")module.exports=Zt(require("d3-axis"),require("d3-brush"),require("d3-drag"),require("d3-dsv"),require("d3-ease"),require("d3-hierarchy"),require("d3-interpolate"),require("d3-scale"),require("d3-selection"),require("d3-shape"),require("d3-time-format"),require("d3-transition"),require("d3-zoom"));else if(typeof define=="function"&&define.amd)define(["d3-axis","d3-brush","d3-drag","d3-dsv","d3-ease","d3-hierarchy","d3-interpolate","d3-scale","d3-selection","d3-shape","d3-time-format","d3-transition","d3-zoom"],Zt);else{var ge=typeof exports=="object"?Zt(require("d3-axis"),require("d3-brush"),require("d3-drag"),require("d3-dsv"),require("d3-ease"),require("d3-hierarchy"),require("d3-interpolate"),require("d3-scale"),require("d3-selection"),require("d3-shape"),require("d3-time-format"),require("d3-transition"),require("d3-zoom")):Zt(dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3);for(var fe in ge)(typeof exports=="object"?exports:dt)[fe]=ge[fe]}})(this,function(Je,dt,Zt,ge,fe,zi,Fi,Mi,Xi,Bi,Ni,Gi,Vi){return function(){"use strict";var Yi=[,,function(I){I.exports=Xi},function(I){I.exports=Ni},function(I){I.exports=dt},function(I){I.exports=ge},function(I){I.exports=Zt},function(I){I.exports=Mi},function(I){I.exports=Gi},function(I){I.exports=Bi},function(I){I.exports=Vi},function(I){I.exports=Je},function(I){I.exports=fe},function(I){I.exports=Fi},function(I){I.exports=zi}],Qe={};function U(I){var xt=Qe[I];if(xt!==void 0)return xt.exports;var w=Qe[I]={exports:{}};return Yi[I](w,w.exports,U),w.exports}(function(){U.d=function(I,xt){for(var w in xt)U.o(xt,w)&&!U.o(I,w)&&Object.defineProperty(I,w,{enumerable:!0,get:xt[w]})}})(),function(){U.o=function(I,xt){return Object.prototype.hasOwnProperty.call(I,xt)}}(),function(){U.r=function(I){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(I,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(I,"__esModule",{value:!0})}}();var Ee={};return function(){U.r(Ee),U.d(Ee,{bb:function(){return Ii},default:function(){return Ii}});var I={};U.r(I),U.d(I,{selection:function(){return Fs},subchart:function(){return Ms},zoom:function(){return Xs}});var xt={};U.r(xt),U.d(xt,{area:function(){return fi},areaLineRange:function(){return pi},areaSpline:function(){return _i},areaSplineRange:function(){return mi},areaStep:function(){return $i},areaStepRange:function(){return xi},bar:function(){return Ci},bubble:function(){return Ei},candlestick:function(){return ki},donut:function(){return Ti},funnel:function(){return Pi},gauge:function(){return Ai},line:function(){return yi},pie:function(){return wi},polar:function(){return Si},radar:function(){return Ri},scatter:function(){return Li},spline:function(){return bi},step:function(){return vi},treemap:function(){return Oi}});var w=U(2),pe=U(3),ji=Object.defineProperty,ts=Object.getOwnPropertySymbols,Hi=Object.prototype.hasOwnProperty,Wi=Object.prototype.propertyIsEnumerable,es=(e,t,s)=>t in e?ji(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Z=(e,t)=>{for(var s in t||(t={}))Hi.call(t,s)&&es(e,s,t[s]);if(ts)for(var s of ts(t))Wi.call(t,s)&&es(e,s,t[s]);return e};const D={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},G={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},xe={area:"bb-area",areas:"bb-areas"},at={axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},vt={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},Ct={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},ut={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},ke={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},Bt={dragarea:"bb-dragarea",INCLUDED:"_included_"},re={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},_t={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},Y={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},Et={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},Tt={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},q={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},et={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},It={level:"bb-level",levels:"bb-levels"},ss={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},le={region:"bb-region",regions:"bb-regions"},Q={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},st={shape:"bb-shape",shapes:"bb-shapes"},is={brush:"bb-brush",subchart:"bb-subchart"},gt={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},_e={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},ns={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},Le={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var B=Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z({},D),G),xe),at),vt),Ct),ut),ke),Bt),_t),Y),Et),Tt),q),re),et),ss),le),Q),st),is),gt),_e),ns),Le),Ui={boost_useCssRule:!1,boost_useWorker:!1},Zi={color_pattern:[],color_tiles:void 0,color_threshold:{},color_onover:void 0},qi={legend_contents_bindto:void 0,legend_contents_template:"{=TITLE}",legend_equally:!1,legend_hide:!1,legend_inset_anchor:"top-left",legend_inset_x:10,legend_inset_y:0,legend_inset_step:void 0,legend_item_interaction:!0,legend_item_dblclick:!1,legend_item_onclick:void 0,legend_item_onover:void 0,legend_item_onout:void 0,legend_item_tile_width:10,legend_item_tile_height:10,legend_item_tile_r:5,legend_item_tile_type:"rectangle",legend_format:void 0,legend_padding:0,legend_position:"bottom",legend_show:!0,legend_tooltip:!1,legend_usePoint:!1},Ki={bindto:"#chart",background:{},clipPath:!0,svg_classname:void 0,size_width:void 0,size_height:void 0,padding:!0,padding_mode:void 0,padding_left:void 0,padding_right:void 0,padding_top:void 0,padding_bottom:void 0,resize_auto:!0,resize_timer:!0,onclick:void 0,onover:void 0,onout:void 0,onresize:void 0,onresized:void 0,onbeforeinit:void 0,oninit:void 0,onafterinit:void 0,onrendered:void 0,transition_duration:250,plugins:[],render:{},regions:[]},Ji={title_text:void 0,title_padding:{top:0,right:0,bottom:0,left:0},title_position:"center"},Qi={tooltip_show:!0,tooltip_doNotHide:!1,tooltip_grouped:!0,tooltip_format_title:void 0,tooltip_format_name:void 0,tooltip_format_value:void 0,tooltip_position:void 0,tooltip_contents:{},tooltip_init_show:!1,tooltip_init_x:0,tooltip_init_position:void 0,tooltip_linked:!1,tooltip_linked_name:"",tooltip_onshow:()=>{},tooltip_onhide:()=>{},tooltip_onshown:()=>{},tooltip_onhidden:()=>{},tooltip_order:null},tn={data_x:void 0,data_idConverter:e=>e,data_names:{},data_classes:{},data_type:void 0,data_types:{},data_order:"desc",data_groups:[],data_groupsZeroAs:"positive",data_color:void 0,data_colors:{},data_labels:{},data_labels_backgroundColors:void 0,data_labels_colors:void 0,data_labels_position:{},data_hide:!1,data_filter:void 0,data_onclick:()=>{},data_onover:()=>{},data_onout:()=>{},data_onshown:void 0,data_onhidden:void 0,data_onmin:void 0,data_onmax:void 0,data_url:void 0,data_headers:void 0,data_json:void 0,data_rows:void 0,data_columns:void 0,data_mimeType:"csv",data_keys:void 0,data_empty_label_text:""},en={interaction_enabled:!0,interaction_brighten:!0,interaction_inputType_mouse:!0,interaction_inputType_touch:{},interaction_onout:!0},me=U(4);function sn(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function nn(e){const t=typeof(e==null?void 0:e.requestAnimationFrame)=="function"&&typeof(e==null?void 0:e.cancelAnimationFrame)=="function",s=typeof(e==null?void 0:e.requestIdleCallback)=="function"&&typeof(e==null?void 0:e.cancelIdleCallback)=="function",i=a=>setTimeout(a,1),n=a=>clearTimeout(a);return[t?e.requestAnimationFrame:i,t?e.cancelAnimationFrame:n,s?e.requestIdleCallback:i,s?e.cancelIdleCallback:n]}const j=sn(),ot=j==null?void 0:j.document,[an,Tr,as,Ar]=nn(j);var on=Object.defineProperty,os=Object.getOwnPropertySymbols,rn=Object.prototype.hasOwnProperty,ln=Object.prototype.propertyIsEnumerable,rs=(e,t,s)=>t in e?on(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,ls=(e,t)=>{for(var s in t||(t={}))rn.call(t,s)&&rs(e,s,t[s]);if(os)for(var s of os(t))ln.call(t,s)&&rs(e,s,t[s]);return e};const M=e=>e||e===0,O=e=>typeof e=="function",V=e=>typeof e=="string",L=e=>typeof e=="number",it=e=>typeof e=="undefined",H=e=>typeof e!="undefined",Pe=e=>typeof e=="boolean",cn=e=>Math.ceil(e/10)*10,$e=e=>Math.ceil(e)+.5,Nt=e=>e[1]-e[0],St=e=>typeof e=="object",At=e=>it(e)||e===null||V(e)&&e.length===0||St(e)&&!(e instanceof Date)&&Object.keys(e).length===0||L(e)&&isNaN(e),nt=e=>!At(e),N=e=>Array.isArray(e),X=e=>e&&!(e!=null&&e.nodeType)&&St(e)&&!N(e);function Dt(e,t,s){return H(e[t])?e[t]:s}function dn(e,t){let s=!1;return Object.keys(e).forEach(i=>e[i]===t&&(s=!0)),s}function K(e,t,...s){const i=O(e);return i&&e.call(t,...s),i}function ye(e,t){let s=0;const i=function(...n){!--s&&t.apply(this,...n)};"duration"in e?e.each(()=>++s).on("end",i):(++s,e.call(i))}function Oe(e){return V(e)?e.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):e}function ce(e,t,s=[-1,1],i=!1){if(!(!e||!V(t)))if(t.indexOf(` + * @version 3.14.2 + */(function(dt,Zt){if(typeof exports=="object"&&typeof module=="object")module.exports=Zt(require("d3-axis"),require("d3-brush"),require("d3-drag"),require("d3-dsv"),require("d3-ease"),require("d3-hierarchy"),require("d3-interpolate"),require("d3-scale"),require("d3-selection"),require("d3-shape"),require("d3-time-format"),require("d3-transition"),require("d3-zoom"));else if(typeof define=="function"&&define.amd)define(["d3-axis","d3-brush","d3-drag","d3-dsv","d3-ease","d3-hierarchy","d3-interpolate","d3-scale","d3-selection","d3-shape","d3-time-format","d3-transition","d3-zoom"],Zt);else{var ge=typeof exports=="object"?Zt(require("d3-axis"),require("d3-brush"),require("d3-drag"),require("d3-dsv"),require("d3-ease"),require("d3-hierarchy"),require("d3-interpolate"),require("d3-scale"),require("d3-selection"),require("d3-shape"),require("d3-time-format"),require("d3-transition"),require("d3-zoom")):Zt(dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3,dt.d3);for(var fe in ge)(typeof exports=="object"?exports:dt)[fe]=ge[fe]}})(this,function(Je,dt,Zt,ge,fe,zi,Fi,Mi,Xi,Bi,Ni,Gi,Vi){return function(){"use strict";var Yi=[,,function(I){I.exports=Xi},function(I){I.exports=Ni},function(I){I.exports=dt},function(I){I.exports=ge},function(I){I.exports=Zt},function(I){I.exports=Mi},function(I){I.exports=Gi},function(I){I.exports=Bi},function(I){I.exports=Vi},function(I){I.exports=Je},function(I){I.exports=fe},function(I){I.exports=Fi},function(I){I.exports=zi}],Qe={};function U(I){var xt=Qe[I];if(xt!==void 0)return xt.exports;var w=Qe[I]={exports:{}};return Yi[I](w,w.exports,U),w.exports}(function(){U.d=function(I,xt){for(var w in xt)U.o(xt,w)&&!U.o(I,w)&&Object.defineProperty(I,w,{enumerable:!0,get:xt[w]})}})(),function(){U.o=function(I,xt){return Object.prototype.hasOwnProperty.call(I,xt)}}(),function(){U.r=function(I){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(I,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(I,"__esModule",{value:!0})}}();var ke={};return function(){U.r(ke),U.d(ke,{bb:function(){return Ii},default:function(){return Ii}});var I={};U.r(I),U.d(I,{selection:function(){return Fs},subchart:function(){return Ms},zoom:function(){return Xs}});var xt={};U.r(xt),U.d(xt,{area:function(){return fi},areaLineRange:function(){return pi},areaSpline:function(){return _i},areaSplineRange:function(){return mi},areaStep:function(){return $i},areaStepRange:function(){return xi},bar:function(){return Ci},bubble:function(){return Ei},candlestick:function(){return ki},donut:function(){return Ti},funnel:function(){return Pi},gauge:function(){return Ai},line:function(){return yi},pie:function(){return wi},polar:function(){return Si},radar:function(){return Ri},scatter:function(){return Li},spline:function(){return bi},step:function(){return vi},treemap:function(){return Oi}});var w=U(2),pe=U(3),ji=Object.defineProperty,ts=Object.getOwnPropertySymbols,Hi=Object.prototype.hasOwnProperty,Wi=Object.prototype.propertyIsEnumerable,es=(e,t,s)=>t in e?ji(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Z=(e,t)=>{for(var s in t||(t={}))Hi.call(t,s)&&es(e,s,t[s]);if(ts)for(var s of ts(t))Wi.call(t,s)&&es(e,s,t[s]);return e};const D={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},G={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},xe={area:"bb-area",areas:"bb-areas"},at={axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},vt={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},Ct={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},ut={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},Le={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},Bt={dragarea:"bb-dragarea",INCLUDED:"_included_"},re={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},_t={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},Y={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},Et={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},Tt={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},q={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},et={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},It={level:"bb-level",levels:"bb-levels"},ss={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},le={region:"bb-region",regions:"bb-regions"},Q={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},st={shape:"bb-shape",shapes:"bb-shapes"},is={brush:"bb-brush",subchart:"bb-subchart"},gt={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},_e={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},ns={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},Pe={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var B=Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z({},D),G),xe),at),vt),Ct),ut),Le),Bt),_t),Y),Et),Tt),q),re),et),ss),le),Q),st),is),gt),_e),ns),Pe),Ui={boost_useCssRule:!1,boost_useWorker:!1},Zi={color_pattern:[],color_tiles:void 0,color_threshold:{},color_onover:void 0},qi={legend_contents_bindto:void 0,legend_contents_template:"{=TITLE}",legend_equally:!1,legend_hide:!1,legend_inset_anchor:"top-left",legend_inset_x:10,legend_inset_y:0,legend_inset_step:void 0,legend_item_interaction:!0,legend_item_dblclick:!1,legend_item_onclick:void 0,legend_item_onover:void 0,legend_item_onout:void 0,legend_item_tile_width:10,legend_item_tile_height:10,legend_item_tile_r:5,legend_item_tile_type:"rectangle",legend_format:void 0,legend_padding:0,legend_position:"bottom",legend_show:!0,legend_tooltip:!1,legend_usePoint:!1},Ki={bindto:"#chart",background:{},clipPath:!0,svg_classname:void 0,size_width:void 0,size_height:void 0,padding:!0,padding_mode:void 0,padding_left:void 0,padding_right:void 0,padding_top:void 0,padding_bottom:void 0,resize_auto:!0,resize_timer:!0,onclick:void 0,onover:void 0,onout:void 0,onresize:void 0,onresized:void 0,onbeforeinit:void 0,oninit:void 0,onafterinit:void 0,onrendered:void 0,transition_duration:250,plugins:[],render:{},regions:[]},Ji={title_text:void 0,title_padding:{top:0,right:0,bottom:0,left:0},title_position:"center"},Qi={tooltip_show:!0,tooltip_doNotHide:!1,tooltip_grouped:!0,tooltip_format_title:void 0,tooltip_format_name:void 0,tooltip_format_value:void 0,tooltip_position:void 0,tooltip_contents:{},tooltip_init_show:!1,tooltip_init_x:0,tooltip_init_position:void 0,tooltip_linked:!1,tooltip_linked_name:"",tooltip_onshow:()=>{},tooltip_onhide:()=>{},tooltip_onshown:()=>{},tooltip_onhidden:()=>{},tooltip_order:null},tn={data_x:void 0,data_idConverter:e=>e,data_names:{},data_classes:{},data_type:void 0,data_types:{},data_order:"desc",data_groups:[],data_groupsZeroAs:"positive",data_color:void 0,data_colors:{},data_labels:{},data_labels_backgroundColors:void 0,data_labels_colors:void 0,data_labels_position:{},data_hide:!1,data_filter:void 0,data_onclick:()=>{},data_onover:()=>{},data_onout:()=>{},data_onshown:void 0,data_onhidden:void 0,data_onmin:void 0,data_onmax:void 0,data_url:void 0,data_headers:void 0,data_json:void 0,data_rows:void 0,data_columns:void 0,data_mimeType:"csv",data_keys:void 0,data_empty_label_text:""},en={interaction_enabled:!0,interaction_brighten:!0,interaction_inputType_mouse:!0,interaction_inputType_touch:{},interaction_onout:!0},me=U(4);function sn(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function nn(e){const t=typeof(e==null?void 0:e.requestAnimationFrame)=="function"&&typeof(e==null?void 0:e.cancelAnimationFrame)=="function",s=typeof(e==null?void 0:e.requestIdleCallback)=="function"&&typeof(e==null?void 0:e.cancelIdleCallback)=="function",i=a=>setTimeout(a,1),n=a=>clearTimeout(a);return[t?e.requestAnimationFrame:i,t?e.cancelAnimationFrame:n,s?e.requestIdleCallback:i,s?e.cancelIdleCallback:n]}const j=sn(),ot=j==null?void 0:j.document,[an,Tr,as,Ar]=nn(j);var on=Object.defineProperty,os=Object.getOwnPropertySymbols,rn=Object.prototype.hasOwnProperty,ln=Object.prototype.propertyIsEnumerable,rs=(e,t,s)=>t in e?on(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,ls=(e,t)=>{for(var s in t||(t={}))rn.call(t,s)&&rs(e,s,t[s]);if(os)for(var s of os(t))ln.call(t,s)&&rs(e,s,t[s]);return e};const M=e=>e||e===0,O=e=>typeof e=="function",V=e=>typeof e=="string",L=e=>typeof e=="number",it=e=>typeof e=="undefined",H=e=>typeof e!="undefined",Oe=e=>typeof e=="boolean",cn=e=>Math.ceil(e/10)*10,$e=e=>Math.ceil(e)+.5,Nt=e=>e[1]-e[0],St=e=>typeof e=="object",At=e=>it(e)||e===null||V(e)&&e.length===0||St(e)&&!(e instanceof Date)&&Object.keys(e).length===0||L(e)&&isNaN(e),nt=e=>!At(e),N=e=>Array.isArray(e),X=e=>e&&!(e!=null&&e.nodeType)&&St(e)&&!N(e);function Dt(e,t,s){return H(e[t])?e[t]:s}function dn(e,t){let s=!1;return Object.keys(e).forEach(i=>e[i]===t&&(s=!0)),s}function K(e,t,...s){const i=O(e);return i&&e.call(t,...s),i}function ye(e,t){let s=0;const i=function(...n){!--s&&t.apply(this,...n)};"duration"in e?e.each(()=>++s).on("end",i):(++s,e.call(i))}function Ie(e){return V(e)?e.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):e}function ce(e,t,s=[-1,1],i=!1){if(!(!e||!V(t)))if(t.indexOf(` `)===-1)e.text(t);else{const n=[e.text(),t].map(a=>a.replace(/[\s\n]/g,""));if(n[0]!==n[1]){const a=t.split(` -`),o=i?a.length-1:1;e.html(""),a.forEach((r,l)=>{e.append("tspan").attr("x",0).attr("dy",`${l===0?s[0]*o:s[1]}em`).text(r)})}}}function cs(e){const{x:t,y:s,width:i,height:n}=e.getBBox();return[{x:t,y:s+n},{x:t,y:s},{x:t+i,y:s},{x:t+i,y:s+n}]}function ds(e){const{width:t,height:s}=e.getBoundingClientRect(),i=cs(e),n=i[0].x,a=Math.min(i[0].y,i[1].y);return{x:n,y:a,width:t,height:s}}function yt(e,t){var s;const i=e&&((s=e.touches||e.sourceEvent&&e.sourceEvent.touches)==null?void 0:s[0]);let n=[0,0];try{n=(0,w.pointer)(i||e,t)}catch(a){}return n.map(a=>isNaN(a)?0:a)}function us(e){const{event:t,$el:s}=e,i=s.subchart.main||s.main;let n;return t&&t.type==="brush"?n=t.selection:i&&(n=i.select(".bb-brush").node())&&(n=(0,me.brushSelection)(n)),n}function be(e){return!("rect"in e)||"rect"in e&&e.hasAttribute("width")&&e.rect.width!==+e.getAttribute("width")?e.rect=e.getBoundingClientRect():e.rect}function kt(e=!0,t=0,s=1e4){const i=j.crypto||j.msCrypto,n=i?t+i.getRandomValues(new Uint32Array(1))[0]%(s-t+1):Math.floor(Math.random()*(s-t)+t);return e?String(n):n}function Ie(e,t,s,i,n){if(s>i)return-1;const a=Math.floor((s+i)/2);let{x:o,w:r=0}=e[a];return n&&(o=e[a].y,r=e[a].h),t>=o&&t<=o+r?a:t{if(X(s)&&s.constructor){const i=new s.constructor;for(const n in s)i[n]=t(s[n]);return i}return s};return e.map(s=>t(s)).reduce((s,i)=>ls(ls({},s),i))}function rt(e={},t){N(t)&&t.forEach(s=>rt(e,s));for(const s in t)/^\d+$/.test(s)||s in e||(e[s]=t[s]);return e}const ft=e=>e.charAt(0).toUpperCase()+e.slice(1);function hn(e,t="-"){return e.split(t).map((s,i)=>i?s.charAt(0).toUpperCase()+s.slice(1).toLowerCase():s.toLowerCase()).join("")}const Gt=e=>[].slice.call(e);function gn(e,t,s){const{rootSelector:i="",sheet:n}=e,o=`${i} ${(r=>r.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(t)} {${s.join(";")}}`;return n[n.insertRule?"insertRule":"addRule"](o,n.cssRules.length)}function fn(e){let t=[];return e.forEach(s=>{var i;try{s.cssRules&&s.cssRules.length&&(t=t.concat(Gt(s.cssRules)))}catch(n){(i=j.console)==null||i.warn(`Error while reading rules from ${s.href}: ${n.toString()}`)}}),t}function gs(e){var t,s,i,n,a,o;return{x:((s=(t=j.pageXOffset)!=null?t:j.scrollX)!=null?s:0)+((i=e.scrollLeft)!=null?i:0),y:((a=(n=j.pageYOffset)!=null?n:j.scrollY)!=null?a:0)+((o=e.scrollTop)!=null?o:0)}}function De(e,t=0,s=0,i=!0){const n=new DOMPoint(t,s),a=e.getScreenCTM();return n.matrixTransform(i?a==null?void 0:a.inverse():a)}function fs(e){const t=e?e.transform:null,s=t&&t.baseVal;return s&&s.numberOfItems?s.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function ze(e){const t=e[0]instanceof Date,s=(t?e.map(Number):e).filter((i,n,a)=>a.indexOf(i)===n);return t?s.map(i=>new Date(i)):s}function Fe(e){return e&&e.length?e.reduce((t,s)=>t.concat(s)):[]}function qt(e,...t){if(!t.length||t.length===1&&!t[0])return e;const s=t.shift();return X(e)&&X(s)&&Object.keys(s).forEach(i=>{const n=s[i];X(n)?(!e[i]&&(e[i]={}),e[i]=qt(e[i],n)):e[i]=N(n)?n.concat():n}),qt(e,...t)}function Kt(e,t=!0){let s;return e[0]instanceof Date?s=t?(i,n)=>i-n:(i,n)=>n-i:t&&!e.every(isNaN)?s=(i,n)=>i-n:t||(s=(i,n)=>i>n&&-1||int(i));return s.length?L(s[0])?s=Math[e](...s):s[0]instanceof Date&&(s=Kt(s,e==="min")[0]):s=void 0,s}const ve=(e,t,s=1)=>{const i=[],n=Math.max(0,Math.ceil((t-e)/s))|0;for(let a=e;a{const e=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(t,s,i=e())=>{t.dispatchEvent(new MouseEvent(s,i))}}catch(t){return(s,i,n=e())=>{const a=ot.createEvent("MouseEvent");a.initMouseEvent(i,n.bubbles,n.cancelable,j,0,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),s.dispatchEvent(a)}}})(),touch:(e,t,s)=>{const i=new Touch(qt({identifier:Date.now(),target:e,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},s));e.dispatchEvent(new TouchEvent(t,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[i],targetTouches:[],changedTouches:[i]}))}};function Te(e,t){let s=e;for(const i in t)s=s.replace(new RegExp(`{=${i}}`,"g"),t[i]);return s}function mt(e){var t;let s;if(e instanceof Date)s=e;else if(V(e)){const{config:i,format:n}=this;s=(t=n.dataTime(i.data_xFormat)(e))!=null?t:new Date(e)}else L(e)&&!isNaN(e)&&(s=new Date(+e));return(!s||isNaN(+s))&&console&&console.error&&console.error(`Failed to parse x '${e}' to Date object`),s}function Me(e){const t=e.attr("viewBox");return t?/(\d+(\.\d+)?){3}/.test(t):!1}function xn(e,t,s=!1){const i=!!e.node;let n=!1;for(const[a,o]of Object.entries(t))if(n=i?e.style(a)===o:e.style[a]===o,s===!1&&n)break;return n}function de(){var e,t;return((e=ot)==null?void 0:e.hidden)===!1||((t=ot)==null?void 0:t.visibilityState)==="visible"}function _n(e,t){const{DocumentTouch:s,matchMedia:i,navigator:n}=j,a=i==null?void 0:i("(pointer:coarse)").matches;let o=!1;if(t)if(n&&"maxTouchPoints"in n)o=n.maxTouchPoints>0;else if("ontouchmove"in j||s&&ot instanceof s)o=!0;else if(a)o=!0;else{const l=n.userAgent;o=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(l)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(l)}return e&&!a&&(i==null?void 0:i("(pointer:fine)").matches)&&"mouse"||o&&"touch"||"mouse"}function ps(e,t){t()===!1?an(()=>ps(e,t)):e()}var mn=Object.defineProperty,xs=Object.getOwnPropertySymbols,$n=Object.prototype.hasOwnProperty,yn=Object.prototype.propertyIsEnumerable,Xe=(e,t,s)=>t in e?mn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,_s=(e,t)=>{for(var s in t||(t={}))$n.call(t,s)&&Xe(e,s,t[s]);if(xs)for(var s of xs(t))yn.call(t,s)&&Xe(e,s,t[s]);return e},bn=(e,t,s)=>Xe(e,typeof t!="symbol"?t+"":t,s);const ms=class Di{static setOptions(t){this.data=t.reduce((s,i)=>_s(_s({},s),i),this.data)}constructor(){return un(Ki,Ui,tn,Zi,en,qi,Ji,Qi,Di.data)}};bn(ms,"data",{});let Vt=ms;class vn{constructor(){return{chart:null,main:null,svg:null,axis:{x:null,y:null,y2:null,subX:null},axisTooltip:{x:null,y:null,y2:null},defs:null,tooltip:null,legend:null,title:null,subchart:{main:null,bar:null,line:null,area:null},arcs:null,bar:null,candlestick:null,line:null,area:null,circle:null,radar:null,text:null,grid:{main:null,x:null,y:null},gridLines:{main:null,x:null,y:null},region:{main:null,list:null},eventRect:null,zoomResetBtn:null}}}class Tn{constructor(){return{width:0,width2:0,height:0,height2:0,margin:{top:0,bottom:0,left:0,right:0},margin2:{top:0,bottom:0,left:0,right:0},margin3:{top:0,bottom:0,left:0,right:0},arcWidth:0,arcHeight:0,xAxisHeight:0,hasAxis:!1,hasFunnel:!1,hasRadar:!1,hasTreemap:!1,cssRule:{},current:{domain:void 0,width:0,height:0,dataMax:0,maxTickSize:{x:{width:0,height:0,ticks:[],clipPath:0,domain:""},y:{width:0,height:0,domain:""},y2:{width:0,height:0,domain:""}},types:[],needle:void 0},isLegendRight:!1,isLegendInset:!1,isLegendTop:!1,isLegendLeft:!1,legendStep:0,legendItemWidth:0,legendItemHeight:0,legendHasRendered:!1,eventReceiver:{currentIdx:-1,rect:{},data:[],coords:[]},axis:{x:{padding:{left:0,right:0},tickCount:0}},rotatedPadding:{left:30,right:0,top:5},withoutFadeIn:{},inputType:"",datetimeId:"",clip:{id:"",idXAxis:"",idYAxis:"",idXAxisTickTexts:"",idGrid:"",idSubchart:"",path:"",pathXAxis:"",pathYAxis:"",pathXAxisTickTexts:"",pathGrid:""},event:null,dragStart:null,dragging:!1,flowing:!1,cancelClick:!1,mouseover:!1,rendered:!1,transiting:!1,redrawing:!1,resizing:!1,toggling:!1,zooming:!1,hasNegativeValue:!1,hasPositiveValue:!0,orgAreaOpacity:"0.2",orgConfig:{},hiddenTargetIds:[],hiddenLegendIds:[],focusedTargetIds:[],defocusedTargetIds:[],radius:0,innerRadius:0,outerRadius:void 0,innerRadiusRatio:0,gaugeArcWidth:0,radiusExpanded:0,xgridAttr:{x1:null,x2:null,y1:null,y2:null}}}}const $s={element:vn,state:Tn};class An{constructor(){Object.keys($s).forEach(t=>{this[t]=new $s[t]})}getStore(t){return this[t]}}var wn=Object.defineProperty,Sn=(e,t,s)=>t in e?wn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Rn=(e,t,s)=>Sn(e,typeof t!="symbol"?t+"":t,s);const pt={bubbleBaseLength:"$baseLength",colorPattern:"__colorPattern__",dataMinMax:"$dataMinMax",dataTotalSum:"$dataTotalSum",dataTotalPerIndex:"$totalPerIndex",legendItemTextBox:"legendItemTextBox",radarPoints:"$radarPoints",radarTextWidth:"$radarTextWidth",setOverOut:"setOverOut",callOverOutForTouch:"callOverOutForTouch",textRect:"textRect"};class Cn{constructor(){Rn(this,"cache",{})}add(t,s,i=!1){return this.cache[t]=i?this.cloneTarget(s):s,this.cache[t]}remove(t){(V(t)?[t]:t).forEach(s=>delete this.cache[s])}get(t,s=!1){if(s&&Array.isArray(t)){const i=[];for(let n=0,a;a=t[n];n++)a in this.cache&&i.push(this.cloneTarget(this.cache[a]));return i}else{const i=this.cache[t];return M(i)?i:null}}reset(t){const s=this;for(const i in s.cache)(t||/^\$/.test(i))&&(s.cache[i]=null)}cloneTarget(t){return{id:t.id,id_org:t.id_org,values:t.values.map(s=>({x:s.x,value:s.value,id:s.id}))}}}const E={AREA:"area",AREA_LINE_RANGE:"area-line-range",AREA_SPLINE:"area-spline",AREA_SPLINE_RANGE:"area-spline-range",AREA_STEP:"area-step",AREA_STEP_RANGE:"area-step-range",BAR:"bar",BUBBLE:"bubble",CANDLESTICK:"candlestick",DONUT:"donut",FUNNEL:"funnel",GAUGE:"gauge",LINE:"line",PIE:"pie",POLAR:"polar",RADAR:"radar",SCATTER:"scatter",SPLINE:"spline",STEP:"step",TREEMAP:"treemap"},Be={AREA:"initArea",AREA_LINE_RANGE:"initArea",AREA_SPLINE:"initArea",AREA_SPLINE_RANGE:"initArea",AREA_STEP:"initArea",AREA_STEP_RANGE:"initArea",BAR:"initBar",BUBBLE:"initCircle",CANDLESTICK:"initCandlestick",DONUT:"initArc",FUNNEL:"initFunnel",GAUGE:"initArc",LINE:"initLine",PIE:"initArc",POLAR:"initPolar",RADAR:"initCircle",SCATTER:"initCircle",SPLINE:"initLine",STEP:"initLine",TREEMAP:"initTreemap"},zt={Area:[E.AREA,E.AREA_SPLINE,E.AREA_SPLINE_RANGE,E.AREA_LINE_RANGE,E.AREA_STEP,E.AREA_STEP_RANGE],AreaRange:[E.AREA_SPLINE_RANGE,E.AREA_LINE_RANGE,E.AREA_STEP_RANGE],Arc:[E.PIE,E.DONUT,E.GAUGE,E.POLAR,E.RADAR],Line:[E.LINE,E.SPLINE,E.AREA,E.AREA_SPLINE,E.AREA_SPLINE_RANGE,E.AREA_LINE_RANGE,E.STEP,E.AREA_STEP,E.AREA_STEP_RANGE],Step:[E.STEP,E.AREA_STEP,E.AREA_STEP_RANGE],Spline:[E.SPLINE,E.AREA_SPLINE,E.AREA_SPLINE_RANGE]};function En(e){const t=e,{config:s}=t;let i="";if(At(s.data_type||s.data_types)&&!t[Be.LINE])i="line";else for(const n in Be){const a=E[n];if(t.hasType(a)&&!t[Be[n]]){i=a;break}}i&&kn(`Please, make sure if %c${hn(i)}`,"module has been imported and specified correctly.","https://github.com/naver/billboard.js/wiki/CHANGELOG-v2#modularization-by-its-functionality")}function kn(e,t,s){var i;const n="[billboard.js]";if((i=j.console)==null?void 0:i.error){const o=t?["background:red;color:white;display:block;font-size:15px",t]:[];console.error(`\u274C ${n} ${e}`,"background:red;color:white;display:block;font-size:15px",...o),s&&console.info("%c\u2139\uFE0F","font-size:15px",s)}throw Error(`${n} ${e.replace(/\%c([a-z-]+)/i,"'$1' ")} ${t!=null?t:""}`)}const{setTimeout:Ln,clearTimeout:Pn}=j;function On(e){const t=[];let s;const i=function(){i.clear(),e===!1?as(()=>{t.forEach(n=>n())},{timeout:200}):s=Ln(()=>{t.forEach(n=>n())},L(e)?e:200)};return i.clear=()=>{s&&(Pn(s),s=null)},i.add=n=>t.push(n),i.remove=n=>t.splice(t.indexOf(n),1),i}function ys(){let e=[];const t=function(s,i){function n(){var a;let o=0;for(let r=0,l;l=e[r];r++){if(l===!0||(a=l.empty)!=null&&a.call(l)){o++;continue}if(de()===!1){o=e.length;break}try{l.transition()}catch(c){o++}}return o===e.length}ps(()=>{i==null||i()},n)};return t.add=function(s){N(s)?e=e.concat(s):e.push(s)},t}const Ne={};function In(e,t){var s;const i=e.toString(),n=i.replace(/(function|[\s\W\n])/g,"").substring(0,15);return n in Ne||(Ne[n]=new j.Blob([`${(s=t==null?void 0:t.map(String).join(";"))!=null?s:""} +`),o=i?a.length-1:1;e.html(""),a.forEach((r,l)=>{e.append("tspan").attr("x",0).attr("dy",`${l===0?s[0]*o:s[1]}em`).text(r)})}}}function cs(e){const{x:t,y:s,width:i,height:n}=e.getBBox();return[{x:t,y:s+n},{x:t,y:s},{x:t+i,y:s},{x:t+i,y:s+n}]}function ds(e){const{width:t,height:s}=e.getBoundingClientRect(),i=cs(e),n=i[0].x,a=Math.min(i[0].y,i[1].y);return{x:n,y:a,width:t,height:s}}function yt(e,t){var s;const i=e&&((s=e.touches||e.sourceEvent&&e.sourceEvent.touches)==null?void 0:s[0]);let n=[0,0];try{n=(0,w.pointer)(i||e,t)}catch(a){}return n.map(a=>isNaN(a)?0:a)}function us(e){const{event:t,$el:s}=e,i=s.subchart.main||s.main;let n;return t&&t.type==="brush"?n=t.selection:i&&(n=i.select(".bb-brush").node())&&(n=(0,me.brushSelection)(n)),n}function be(e){return!("rect"in e)||"rect"in e&&e.hasAttribute("width")&&e.rect.width!==+e.getAttribute("width")?e.rect=e.getBoundingClientRect():e.rect}function kt(e=!0,t=0,s=1e4){const i=j.crypto||j.msCrypto,n=i?t+i.getRandomValues(new Uint32Array(1))[0]%(s-t+1):Math.floor(Math.random()*(s-t)+t);return e?String(n):n}function De(e,t,s,i,n){if(s>i)return-1;const a=Math.floor((s+i)/2);let{x:o,w:r=0}=e[a];return n&&(o=e[a].y,r=e[a].h),t>=o&&t<=o+r?a:t{if(X(s)&&s.constructor){const i=new s.constructor;for(const n in s)i[n]=t(s[n]);return i}return s};return e.map(s=>t(s)).reduce((s,i)=>ls(ls({},s),i))}function rt(e={},t){N(t)&&t.forEach(s=>rt(e,s));for(const s in t)/^\d+$/.test(s)||s in e||(e[s]=t[s]);return e}const ft=e=>e.charAt(0).toUpperCase()+e.slice(1);function hn(e,t="-"){return e.split(t).map((s,i)=>i?s.charAt(0).toUpperCase()+s.slice(1).toLowerCase():s.toLowerCase()).join("")}const Gt=e=>[].slice.call(e);function gn(e,t,s){const{rootSelector:i="",sheet:n}=e,o=`${i} ${(r=>r.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(t)} {${s.join(";")}}`;return n[n.insertRule?"insertRule":"addRule"](o,n.cssRules.length)}function fn(e){let t=[];return e.forEach(s=>{var i;try{s.cssRules&&s.cssRules.length&&(t=t.concat(Gt(s.cssRules)))}catch(n){(i=j.console)==null||i.warn(`Error while reading rules from ${s.href}: ${n.toString()}`)}}),t}function gs(e){var t,s,i,n,a,o;return{x:((s=(t=j.pageXOffset)!=null?t:j.scrollX)!=null?s:0)+((i=e.scrollLeft)!=null?i:0),y:((a=(n=j.pageYOffset)!=null?n:j.scrollY)!=null?a:0)+((o=e.scrollTop)!=null?o:0)}}function ve(e,t=0,s=0,i=!0){const n=new DOMPoint(t,s),a=e.getScreenCTM(),o=n.matrixTransform(i?a==null?void 0:a.inverse():a);if(i===!1){const r=e.getBoundingClientRect();o.x-=r.x,o.y-=r.y}return o}function fs(e){const t=e?e.transform:null,s=t&&t.baseVal;return s&&s.numberOfItems?s.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function ze(e){const t=e[0]instanceof Date,s=(t?e.map(Number):e).filter((i,n,a)=>a.indexOf(i)===n);return t?s.map(i=>new Date(i)):s}function Fe(e){return e&&e.length?e.reduce((t,s)=>t.concat(s)):[]}function qt(e,...t){if(!t.length||t.length===1&&!t[0])return e;const s=t.shift();return X(e)&&X(s)&&Object.keys(s).forEach(i=>{const n=s[i];X(n)?(!e[i]&&(e[i]={}),e[i]=qt(e[i],n)):e[i]=N(n)?n.concat():n}),qt(e,...t)}function Kt(e,t=!0){let s;return e[0]instanceof Date?s=t?(i,n)=>i-n:(i,n)=>n-i:t&&!e.every(isNaN)?s=(i,n)=>i-n:t||(s=(i,n)=>i>n&&-1||int(i));return s.length?L(s[0])?s=Math[e](...s):s[0]instanceof Date&&(s=Kt(s,e==="min")[0]):s=void 0,s}const Te=(e,t,s=1)=>{const i=[],n=Math.max(0,Math.ceil((t-e)/s))|0;for(let a=e;a{const e=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(t,s,i=e())=>{t.dispatchEvent(new MouseEvent(s,i))}}catch(t){return(s,i,n=e())=>{const a=ot.createEvent("MouseEvent");a.initMouseEvent(i,n.bubbles,n.cancelable,j,0,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),s.dispatchEvent(a)}}})(),touch:(e,t,s)=>{const i=new Touch(qt({identifier:Date.now(),target:e,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},s));e.dispatchEvent(new TouchEvent(t,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[i],targetTouches:[],changedTouches:[i]}))}};function Ae(e,t){let s=e;for(const i in t)s=s.replace(new RegExp(`{=${i}}`,"g"),t[i]);return s}function mt(e){var t;let s;if(e instanceof Date)s=e;else if(V(e)){const{config:i,format:n}=this;s=(t=n.dataTime(i.data_xFormat)(e))!=null?t:new Date(e)}else L(e)&&!isNaN(e)&&(s=new Date(+e));return(!s||isNaN(+s))&&console&&console.error&&console.error(`Failed to parse x '${e}' to Date object`),s}function Me(e){const t=e.attr("viewBox");return t?/(\d+(\.\d+)?){3}/.test(t):!1}function xn(e,t,s=!1){const i=!!e.node;let n=!1;for(const[a,o]of Object.entries(t))if(n=i?e.style(a)===o:e.style[a]===o,s===!1&&n)break;return n}function de(){var e,t;return((e=ot)==null?void 0:e.hidden)===!1||((t=ot)==null?void 0:t.visibilityState)==="visible"}function _n(e,t){const{DocumentTouch:s,matchMedia:i,navigator:n}=j,a=i==null?void 0:i("(pointer:coarse)").matches;let o=!1;if(t)if(n&&"maxTouchPoints"in n)o=n.maxTouchPoints>0;else if("ontouchmove"in j||s&&ot instanceof s)o=!0;else if(a)o=!0;else{const l=n.userAgent;o=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(l)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(l)}return e&&!a&&(i==null?void 0:i("(pointer:fine)").matches)&&"mouse"||o&&"touch"||"mouse"}function ps(e,t){t()===!1?an(()=>ps(e,t)):e()}var mn=Object.defineProperty,xs=Object.getOwnPropertySymbols,$n=Object.prototype.hasOwnProperty,yn=Object.prototype.propertyIsEnumerable,Xe=(e,t,s)=>t in e?mn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,_s=(e,t)=>{for(var s in t||(t={}))$n.call(t,s)&&Xe(e,s,t[s]);if(xs)for(var s of xs(t))yn.call(t,s)&&Xe(e,s,t[s]);return e},bn=(e,t,s)=>Xe(e,typeof t!="symbol"?t+"":t,s);const ms=class Di{static setOptions(t){this.data=t.reduce((s,i)=>_s(_s({},s),i),this.data)}constructor(){return un(Ki,Ui,tn,Zi,en,qi,Ji,Qi,Di.data)}};bn(ms,"data",{});let Vt=ms;class vn{constructor(){return{chart:null,main:null,svg:null,axis:{x:null,y:null,y2:null,subX:null},axisTooltip:{x:null,y:null,y2:null},defs:null,tooltip:null,legend:null,title:null,subchart:{main:null,bar:null,line:null,area:null},arcs:null,bar:null,candlestick:null,line:null,area:null,circle:null,radar:null,text:null,grid:{main:null,x:null,y:null},gridLines:{main:null,x:null,y:null},region:{main:null,list:null},eventRect:null,zoomResetBtn:null}}}class Tn{constructor(){return{width:0,width2:0,height:0,height2:0,margin:{top:0,bottom:0,left:0,right:0},margin2:{top:0,bottom:0,left:0,right:0},margin3:{top:0,bottom:0,left:0,right:0},arcWidth:0,arcHeight:0,xAxisHeight:0,hasAxis:!1,hasFunnel:!1,hasRadar:!1,hasTreemap:!1,cssRule:{},current:{domain:void 0,width:0,height:0,dataMax:0,maxTickSize:{x:{width:0,height:0,ticks:[],clipPath:0,domain:""},y:{width:0,height:0,domain:""},y2:{width:0,height:0,domain:""}},types:[],needle:void 0},isLegendRight:!1,isLegendInset:!1,isLegendTop:!1,isLegendLeft:!1,legendStep:0,legendItemWidth:0,legendItemHeight:0,legendHasRendered:!1,eventReceiver:{currentIdx:-1,rect:{},data:[],coords:[]},axis:{x:{padding:{left:0,right:0},tickCount:0}},rotatedPadding:{left:30,right:0,top:5},withoutFadeIn:{},inputType:"",datetimeId:"",clip:{id:"",idXAxis:"",idYAxis:"",idXAxisTickTexts:"",idGrid:"",idSubchart:"",path:"",pathXAxis:"",pathYAxis:"",pathXAxisTickTexts:"",pathGrid:""},event:null,dragStart:null,dragging:!1,flowing:!1,cancelClick:!1,mouseover:!1,rendered:!1,transiting:!1,redrawing:!1,resizing:!1,toggling:!1,zooming:!1,hasNegativeValue:!1,hasPositiveValue:!0,orgAreaOpacity:"0.2",orgConfig:{},hiddenTargetIds:[],hiddenLegendIds:[],focusedTargetIds:[],defocusedTargetIds:[],radius:0,innerRadius:0,outerRadius:void 0,innerRadiusRatio:0,gaugeArcWidth:0,radiusExpanded:0,xgridAttr:{x1:null,x2:null,y1:null,y2:null}}}}const $s={element:vn,state:Tn};class An{constructor(){Object.keys($s).forEach(t=>{this[t]=new $s[t]})}getStore(t){return this[t]}}var wn=Object.defineProperty,Sn=(e,t,s)=>t in e?wn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Rn=(e,t,s)=>Sn(e,typeof t!="symbol"?t+"":t,s);const pt={bubbleBaseLength:"$baseLength",colorPattern:"__colorPattern__",dataMinMax:"$dataMinMax",dataTotalSum:"$dataTotalSum",dataTotalPerIndex:"$totalPerIndex",legendItemTextBox:"legendItemTextBox",radarPoints:"$radarPoints",radarTextWidth:"$radarTextWidth",setOverOut:"setOverOut",callOverOutForTouch:"callOverOutForTouch",textRect:"textRect"};class Cn{constructor(){Rn(this,"cache",{})}add(t,s,i=!1){return this.cache[t]=i?this.cloneTarget(s):s,this.cache[t]}remove(t){(V(t)?[t]:t).forEach(s=>delete this.cache[s])}get(t,s=!1){if(s&&Array.isArray(t)){const i=[];for(let n=0,a;a=t[n];n++)a in this.cache&&i.push(this.cloneTarget(this.cache[a]));return i}else{const i=this.cache[t];return M(i)?i:null}}reset(t){const s=this;for(const i in s.cache)(t||/^\$/.test(i))&&(s.cache[i]=null)}cloneTarget(t){return{id:t.id,id_org:t.id_org,values:t.values.map(s=>({x:s.x,value:s.value,id:s.id}))}}}const E={AREA:"area",AREA_LINE_RANGE:"area-line-range",AREA_SPLINE:"area-spline",AREA_SPLINE_RANGE:"area-spline-range",AREA_STEP:"area-step",AREA_STEP_RANGE:"area-step-range",BAR:"bar",BUBBLE:"bubble",CANDLESTICK:"candlestick",DONUT:"donut",FUNNEL:"funnel",GAUGE:"gauge",LINE:"line",PIE:"pie",POLAR:"polar",RADAR:"radar",SCATTER:"scatter",SPLINE:"spline",STEP:"step",TREEMAP:"treemap"},Be={AREA:"initArea",AREA_LINE_RANGE:"initArea",AREA_SPLINE:"initArea",AREA_SPLINE_RANGE:"initArea",AREA_STEP:"initArea",AREA_STEP_RANGE:"initArea",BAR:"initBar",BUBBLE:"initCircle",CANDLESTICK:"initCandlestick",DONUT:"initArc",FUNNEL:"initFunnel",GAUGE:"initArc",LINE:"initLine",PIE:"initArc",POLAR:"initPolar",RADAR:"initCircle",SCATTER:"initCircle",SPLINE:"initLine",STEP:"initLine",TREEMAP:"initTreemap"},zt={Area:[E.AREA,E.AREA_SPLINE,E.AREA_SPLINE_RANGE,E.AREA_LINE_RANGE,E.AREA_STEP,E.AREA_STEP_RANGE],AreaRange:[E.AREA_SPLINE_RANGE,E.AREA_LINE_RANGE,E.AREA_STEP_RANGE],Arc:[E.PIE,E.DONUT,E.GAUGE,E.POLAR,E.RADAR],Line:[E.LINE,E.SPLINE,E.AREA,E.AREA_SPLINE,E.AREA_SPLINE_RANGE,E.AREA_LINE_RANGE,E.STEP,E.AREA_STEP,E.AREA_STEP_RANGE],Step:[E.STEP,E.AREA_STEP,E.AREA_STEP_RANGE],Spline:[E.SPLINE,E.AREA_SPLINE,E.AREA_SPLINE_RANGE]};function En(e){const t=e,{config:s}=t;let i="";if(At(s.data_type||s.data_types)&&!t[Be.LINE])i="line";else for(const n in Be){const a=E[n];if(t.hasType(a)&&!t[Be[n]]){i=a;break}}i&&kn(`Please, make sure if %c${hn(i)}`,"module has been imported and specified correctly.","https://github.com/naver/billboard.js/wiki/CHANGELOG-v2#modularization-by-its-functionality")}function kn(e,t,s){var i;const n="[billboard.js]";if((i=j.console)==null?void 0:i.error){const o=t?["background:red;color:white;display:block;font-size:15px",t]:[];console.error(`\u274C ${n} ${e}`,"background:red;color:white;display:block;font-size:15px",...o),s&&console.info("%c\u2139\uFE0F","font-size:15px",s)}throw Error(`${n} ${e.replace(/\%c([a-z-]+)/i,"'$1' ")} ${t!=null?t:""}`)}const{setTimeout:Ln,clearTimeout:Pn}=j;function On(e){const t=[];let s;const i=function(){i.clear(),e===!1?as(()=>{t.forEach(n=>n())},{timeout:200}):s=Ln(()=>{t.forEach(n=>n())},L(e)?e:200)};return i.clear=()=>{s&&(Pn(s),s=null)},i.add=n=>t.push(n),i.remove=n=>t.splice(t.indexOf(n),1),i}function ys(){let e=[];const t=function(s,i){function n(){var a;let o=0;for(let r=0,l;l=e[r];r++){if(l===!0||(a=l.empty)!=null&&a.call(l)){o++;continue}if(de()===!1){o=e.length;break}try{l.transition()}catch(c){o++}}return o===e.length}ps(()=>{i==null||i()},n)};return t.add=function(s){N(s)?e=e.concat(s):e.push(s)},t}const Ne={};function In(e,t){var s;const i=e.toString(),n=i.replace(/(function|[\s\W\n])/g,"").substring(0,15);return n in Ne||(Ne[n]=new j.Blob([`${(s=t==null?void 0:t.map(String).join(";"))!=null?s:""} self.onmessage=function({data}) { const result = (${i}).apply(null, data); self.postMessage(result); - };`],{type:"text/javascript"})),j.URL.createObjectURL(Ne[n])}function Dn(e){const t=new j.Worker(e);return t.onerror=function(s){console.error?console.error(s):console.log(s)},t}function Ge(e=!0,t,s,i){let n=function(...a){const o=t(...a);s(o)};if(j.Worker&&e){const a=In(t,i),o=Dn(a);n=function(...r){o.postMessage(r),o.onmessage=function(l){return j.URL.revokeObjectURL(a),s(l.data)}}}return n}var Ae=U(5);function Ve(e){const t=[];return e.forEach(function(s,i){const n=s[0];s.forEach(function(a,o){if(o>0){if(typeof t[o-1]=="undefined"&&(t[o-1]={}),typeof a=="undefined")throw new Error(`Source data is missing a component at (${i}, ${o})!`);t[o-1][n]=a}})}),t}function Ye(e){const t=e[0],s=[];return e.forEach(function(i,n){if(n>0){const a={};i.forEach(function(o,r){if(typeof o=="undefined")throw new Error(`Source data is missing a component at (${n}, ${r})!`);a[t[r]]=o}),s.push(a)}}),s}function bs(e,t){const s=[];let i,n;if(Array.isArray(e)){const a=function(o,r){if(o[r]!==void 0)return o[r];const c=r.replace(/\[(\w+)\]/g,".$1").replace(/^\./,"").split(".");let u=o;return c.some(function(d){return!(u=u&&d in u?u[d]:void 0)}),u};t.x?i=t.value.concat(t.x):i=t.value,s.push(i),e.forEach(function(o){const r=i.map(function(l){let c=a(o,l);return typeof c=="undefined"&&(c=null),c});s.push(r)}),n=Ye(s)}else Object.keys(e).forEach(function(a){var o;const r=e[a].concat();(o=r.unshift)==null||o.call(r,a),s.push(r)}),n=Ve(s);return n}function zn(e,t="csv",s,i,n){const a=new XMLHttpRequest,o={csv:Fn,tsv:Mn,json:bs};a.open("GET",e),s&&Object.keys(s).forEach(function(r){a.setRequestHeader(r,s[r])}),a.onreadystatechange=function(){if(a.readyState===4)if(a.status===200){const r=a.responseText;r&&n.call(this,o[t](t==="json"?JSON.parse(r):r,i))}else throw new Error(`${e}: Something went wrong loading!`)},a.send()}function vs(e,t){const s=e.rows(t);let i;return s.length===1?(i=[{}],s[0].forEach(n=>{i[0][n]=null})):i=e.parse(t),i}function Fn(e){return vs({rows:Ae.csvParseRows,parse:Ae.csvParse},e)}function Mn(e){return vs({rows:Ae.tsvParseRows,parse:Ae.tsvParse},e)}function Ts(e,t){const s=e||(t==null?void 0:t.data_keys);return s!=null&&s.x&&(t.data_x=s.x),s}var Xn={convertData(e,t){const{config:s}=this,i=s.boost_useWorker;let n=e;if(e.bindto&&(n={},["url","mimeType","headers","keys","json","keys","rows","columns"].forEach(a=>{const o=`data_${a}`;o in e&&(n[a]=e[o])})),n.url&&t)zn(n.url,n.mimeType,n.headers,Ts(n.keys,s),t);else if(n.json)Ge(i,bs,t,[Ve,Ye])(n.json,Ts(n.keys,s));else if(n.rows)Ge(i,Ye,t)(n.rows);else if(n.columns)Ge(i,Ve,t)(n.columns);else if(e.bindto)throw Error("url or json or rows or columns is required.")},convertDataToTargets(e,t){const s=this,{axis:i,config:n,state:a}=s,o=n.data_type;let r=!1,l=!1,c=!1;i&&(r=i.isCategorized(),l=i.isTimeSeries(),c=i.isCustomX());const u=Object.keys(e[0]||{}),d=u.length?u.filter(s.isNotX,s):[],h=u.length?u.filter(s.isX,s):[];let g;d.forEach(p=>{const _=this.getXKey(p);c||l?h.indexOf(_)>=0?g=(t&&s.data.xs[p]||[]).concat(e.map(x=>x[_]).filter(M).map((x,m)=>s.generateTargetX(x,p,m))):n.data_x?g=this.getOtherTargetXs():nt(n.data_xs)&&(g=s.getXValuesOfXKey(_,s.data.targets)):g=e.map((x,m)=>m),g&&(this.data.xs[p]=g)}),d.forEach(p=>{if(!this.data.xs[p])throw new Error(`x is not defined for id = "${p}".`)});const f=d.map((p,_)=>{const x=n.data_idConverter.bind(s.api)(p),m=s.getXKey(p),$=c&&r,b=$&&e.map(A=>A.x).every(A=>n.axis_x_categories.indexOf(A)>-1),v=e.__append__,y=m===null&&v?s.api.data.values(p).length:0;return{id:x,id_org:p,values:e.map((A,S)=>{const R=A[m];let T=A[p],C;return T=T!==null&&!isNaN(T)&&!X(T)?+T:N(T)||X(T)?T:null,($||a.hasRadar)&&_===0&&!it(R)?(!b&&_===0&&S===0&&!v&&(n.axis_x_categories=[]),C=n.axis_x_categories.indexOf(R),C===-1&&(C=n.axis_x_categories.length,n.axis_x_categories.push(R))):C=s.generateTargetX(R,p,y+S),(it(T)||s.data.xs[p].length<=S)&&(C=void 0),{x:C,value:T,id:x,index:-1}}).filter(A=>H(A.x))}});if(f.forEach(p=>{var _;n.data_xSort&&(p.values=p.values.sort((x,m)=>{const $=x.x||x.x===0?x.x:1/0,b=m.x||m.x===0?m.x:1/0;return $-b})),p.values.forEach((x,m)=>x.index=m),(_=s.data.xs[p.id])==null||_.sort((x,m)=>x-m)}),a.hasNegativeValue=s.hasNegativeValueInTargets(f),a.hasPositiveValue=s.hasPositiveValueInTargets(f),o&&s.isValidChartType(o)){const p=s.mapToIds(f).filter(_=>!(_ in n.data_types)||!s.isValidChartType(n.data_types[_]));s.setTargetType(p,o)}return f.forEach(p=>s.cache.add(p.id_org,p,!0)),f}},Bn={isX(e){const t=this,{config:s}=t,i=s.data_x&&e===s.data_x,n=nt(s.data_xs)&&dn(s.data_xs,e);return i||n},isNotX(e){return!this.isX(e)},isStackNormalized(){const{config:e}=this;return!!(e.data_stack_normalize&&e.data_groups.length)},isGrouped(e){const t=this.config.data_groups;return e?t.some(s=>s.indexOf(e)>=0&&s.length>1):t.length>0},getXKey(e){const t=this,{config:s}=t;return s.data_x?s.data_x:nt(s.data_xs)?s.data_xs[e]:null},getXValuesOfXKey(e,t){const s=this,i=t&&nt(t)?s.mapToIds(t):[];let n;return i.forEach(a=>{s.getXKey(a)===e&&(n=s.data.xs[a])}),n},getIndexByX(e,t){const s=this;return t?t.indexOf(V(e)?e:+e):(s.filterByX(s.data.targets,e)[0]||{index:null}).index},getXValue(e,t){const s=this;return e in s.data.xs&&s.data.xs[e]&&M(s.data.xs[e][t])?s.data.xs[e][t]:t},getOtherTargetXs(){const e=this,t=Object.keys(e.data.xs);return t.length?e.data.xs[t[0]]:null},getOtherTargetX(e){const t=this.getOtherTargetXs();return t&&e{s.data_xs[i]=e[i]})},isMultipleX(){return!this.config.axis_x_forceAsSingle&&(nt(this.config.data_xs)||this.hasType("bubble")||this.hasType("scatter"))},addName(e){const t=this,{config:s}=t;let i;return e&&(i=s.data_names[e.id],e.name=i!==void 0?i:e.id),e},getAllValuesOnIndex(e,t=!1){const s=this;let i=s.filterTargetsToShow(s.data.targets).map(n=>s.addName(s.getValueOnIndex(n.values,e)));return t&&(i=i.filter(n=>n&&"value"in n&&M(n.value))),i},getValueOnIndex(e,t){const s=e.filter(i=>i.index===t);return s.length?s[0]:null},updateTargetX(e,t){const s=this;e.forEach(i=>{i.values.forEach((n,a)=>{n.x=s.generateTargetX(t[a],i.id,a)}),s.data.xs[i.id]=t})},updateTargetXs(e,t){const s=this;e.forEach(i=>{t[i.id]&&s.updateTargetX([i],t[i.id])})},generateTargetX(e,t,s){const i=this,{axis:n}=i;let a=n!=null&&n.isCategorized()?s:e||s;if(n!=null&&n.isTimeSeries()){const o=mt.bind(i);a=o(e||i.getXValue(t,s))}else n!=null&&n.isCustomX()&&!(n!=null&&n.isCategorized())&&(a=M(e)?+e:i.getXValue(t,s));return a},updateXs(e){e.length&&(this.axis.xs=e.map(t=>t.x))},getPrevX(e){const t=this.axis.xs[e-1];return H(t)?t:null},getNextX(e){const t=this.axis.xs[e+1];return H(t)?t:null},getBaseValue(e){const t=this,{hasAxis:s}=t.state;let{value:i}=e;return i&&s&&(t.isAreaRangeType(e)?i=t.getRangedData(e,"mid"):t.isBubbleZType(e)&&(i=t.getBubbleZData(i,"y"))),i},getMinMaxValue(e){const t=this.getBaseValue.bind(this);let s,i;return(e||this.data.targets.map(n=>n.values)).forEach((n,a)=>{const o=n.map(t).filter(L);s=Math.min(a?s:1/0,...o),i=Math.max(a?i:-1/0,...o)}),{min:s,max:i}},getMinMaxData(){const e=this,t=pt.dataMinMax;let s=e.cache.get(t);if(!s){const i=e.data.targets.map(r=>r.values),n=e.getMinMaxValue(i);let a=[],o=[];i.forEach(r=>{const l=e.getFilteredDataByValue(r,n.min),c=e.getFilteredDataByValue(r,n.max);l.length&&(a=a.concat(l)),c.length&&(o=o.concat(c))}),e.cache.add(t,s={min:a,max:o})}return s},getTotalPerIndex(){const e=this,t=pt.dataTotalPerIndex;let s=e.cache.get(t);return(e.config.data_groups.length||e.isStackNormalized())&&!s&&(s=[],e.data.targets.forEach(i=>{i.values.forEach((n,a)=>{s[a]||(s[a]=0),s[a]+=L(n.value)?n.value:0})})),s},getTotalDataSum(e){const t=this,s=pt.dataTotalSum;let i=t.cache.get(s);if(!L(i)){const n=Fe(t.data.targets.map(a=>a.values)).map(a=>a.value);i=n.length?n.reduce((a,o)=>a+o):0,t.cache.add(s,i)}return e&&(i-=t.getHiddenTotalDataSum()),i},getHiddenTotalDataSum(){const e=this,{api:t,state:{hiddenTargetIds:s}}=e;let i=0;return s.length&&(i=t.data.values.bind(t)(s).reduce((n,a)=>n+a)),i},getFilteredDataByValue(e,t){return e.filter(s=>this.getBaseValue(s)===t)},getMaxDataCount(){return Math.max(...this.data.targets.map(e=>e.values.length),0)},getMaxDataCountTarget(){let e=this.filterTargetsToShow()||[];const t=e.length,s=this.config.axis_x_inverted;return t>1?(e=e.map(i=>i.values).reduce((i,n)=>i.concat(n)).map(i=>i.x),e=Kt(ze(e)).map((i,n,a)=>({x:i,index:s?a.length-n-1:n}))):t&&(e=e[0].values.concat()),e},mapToIds(e){return e.map(t=>t.id)},mapToTargetIds(e){const t=this;return e?N(e)?e.concat():[e]:t.mapToIds(t.data.targets)},hasTarget(e,t){const s=this.mapToIds(e);for(let i=0,n;n=s[i];i++)if(n===t)return!0;return!1},isTargetToShow(e){return this.state.hiddenTargetIds.indexOf(e)<0},isLegendToShow(e){return this.state.hiddenLegendIds.indexOf(e)<0},filterTargetsToShow(e){const t=this;return(e||t.data.targets).filter(s=>t.isTargetToShow(s.id))},mapTargetsToUniqueXs(e){const t=this,{axis:s}=t;let i=[];return e!=null&&e.length&&(i=ze(Fe(e.map(n=>n.values.map(a=>+a.x)))),i=s!=null&&s.isTimeSeries()?i.map(n=>new Date(+n)):i.map(Number)),Kt(i)},addTargetIds(e,t){const{state:s}=this;(N(t)?t:[t]).forEach(n=>{s[e].indexOf(n)<0&&s[e].push(n)})},removeTargetIds(e,t){const{state:s}=this;(N(t)?t:[t]).forEach(n=>{const a=s[e].indexOf(n);a>=0&&s[e].splice(a,1)})},addHiddenTargetIds(e){this.addTargetIds("hiddenTargetIds",e)},removeHiddenTargetIds(e){this.removeTargetIds("hiddenTargetIds",e)},addHiddenLegendIds(e){this.addTargetIds("hiddenLegendIds",e)},removeHiddenLegendIds(e){this.removeTargetIds("hiddenLegendIds",e)},getValuesAsIdKeyed(e){const t=this,{hasAxis:s}=t.state,i={},n=t.isMultipleX(),a=n?t.mapTargetsToUniqueXs(e).map(o=>V(o)?o:+o):null;return e.forEach(o=>{const r=[];o.values.filter(({value:l})=>M(l)||l===null).forEach(l=>{let{value:c}=l;c!==null&&t.isCandlestickType(l)&&(c=N(c)?c.slice(0,4):[c.open,c.high,c.low,c.close]),N(c)?r.push(...c):X(c)&&"high"in c?r.push(...Object.values(c)):t.isBubbleZType(l)?r.push(s&&t.getBubbleZData(c,"y")):n?r[t.getIndexByX(l.x,a)]=c:r.push(c)}),i[o.id]=r}),i},checkValueInTargets(e,t){const s=Object.keys(e);let i;for(let n=0;n1},hasNegativeValueInTargets(e){return this.checkValueInTargets(e,t=>t<0)},hasPositiveValueInTargets(e){return this.checkValueInTargets(e,t=>t>0)},orderTargets(e){const t=this,s=[...e],i=t.getSortCompareFn();return i&&s.sort(i),s},getSortCompareFn(e=!1){const t=this,{config:s}=t,i=s.data_order,n=/asc/i.test(i),a=/desc/i.test(i);let o;if(n||a){const r=(c,u)=>c+Math.abs(u.value),l=c=>L(c)?c:"values"in c?c.values.reduce(r,0):c.value;o=(c,u)=>{const d=l(c),h=l(u);return e?n?d-h:h-d:n?h-d:d-h}}else O(i)&&(o=i.bind(t.api));return o||null},filterByX(e,t){return Fe(e.map(s=>s.values)).filter(s=>s.x-t===0)},filterRemoveNull(e){return e.filter(t=>M(this.getBaseValue(t)))},filterByXDomain(e,t){return e.map(s=>({id:s.id,id_org:s.id_org,values:s.values.filter(i=>t[0]<=i.x&&i.x<=t[1])}))},hasDataLabel(){const e=this.config.data_labels;return Pe(e)&&e||St(e)&&nt(e)},hasNullDataValue(e){return e.some(({value:t})=>t===null)},getDataIndexFromEvent(e){const t=this,{$el:s,config:i,state:{hasRadar:n,inputType:a,eventReceiver:{coords:o,rect:r}}}=t;let l;if(n){let c=e.target;/tspan/i.test(c.tagName)&&(c=c.parentNode);const u=(0,w.select)(c).datum();l=u&&Object.keys(u).length===1?u.index:void 0}else{const c=i.axis_rotated,u=gs(s.chart.node()),d=a==="touch"&&e.changedTouches?e.changedTouches[0]:e;let h=c?d.clientY+u.y-r.top:d.clientX+u.x-r.left;if(Me(s.svg)){const g=[h,0];c&&g.reverse(),h=De(s.svg.node(),...g)[c?"y":"x"]}l=Ie(o,h,0,o.length-1,c)}return l},getDataLabelLength(e,t,s){const i=this,n=[0,0],a=1.3;return i.$el.chart.select("svg").selectAll(".dummy").data([e,t]).enter().append("text").text(o=>i.dataLabelFormat(o.id)(o)).each(function(o,r){n[r]=this.getBoundingClientRect()[s]*a}).remove(),n},isNoneArc(e){return this.hasTarget(this.data.targets,e.id)},isArc(e){return"data"in e&&this.hasTarget(this.data.targets,e.data.id)},findSameXOfValues(e,t){const s=e[t].x,i=[];let n;for(n=t-1;n>=0&&s===e[n].x;n--)i.push(e[n]);for(n=t;ns.findClosest(n.values,t));return s.findClosest(i,t)},findClosest(e,t){const s=this,{$el:{main:i}}=s,n=e.filter(r=>r&&M(r.value));let a,o;return n.filter(r=>s.isBarType(r.id)||s.isCandlestickType(r.id)).forEach(r=>{const l=s.isBarType(r.id)?`.${vt.chartBar}.${D.target}${s.getTargetSelectorSuffix(r.id)} .${vt.bar}-${r.index}`:`.${Ct.chartCandlestick}.${D.target}${s.getTargetSelectorSuffix(r.id)} .${Ct.candlestick}-${r.index} path`;!o&&s.isWithinBar(i.select(l).node())&&(o=r)}),n.filter(r=>!s.isBarType(r.id)&&!s.isCandlestickType(r.id)).forEach(r=>{const l=s.dist(r,t);a=s.getPointSensitivity(r),l{const{x:n,id:a}=i;s.push({x:n,id:a,value:i.value[0]}),s.push({x:n,id:a,value:i.value[2]})}),s},updateDataAttributes(e,t){const s=this,{config:i}=s,n=i[`data_${e}`];return it(t)||(Object.keys(t).forEach(a=>{n[a]=t[a]}),s.redraw({withLegend:!0})),n},getRangedData(e,t="",s="areaRange"){const i=e==null?void 0:e.value;if(N(i)){if(s==="bar")return i.reduce((n,a)=>a-n);{const n={areaRange:["high","mid","low"],candlestick:["open","high","low","close","volume"]}[s].indexOf(t);return n>=0&&i?i[n]:void 0}}else if(i&&t)return i[t];return i},setRatioForGroupedData(e){const t=this,{config:s}=t;if(s.data_groups.length&&e.some(i=>t.isGrouped(i.id))){const i=n=>t.getRatio("index",n,!0);e.forEach(n=>{"values"in n?n.values.forEach(i):i(n)})}},getRatio(e,t,s=!1){const i=this,{config:n,state:a}=i,o=i.api;let r=0;if(t&&o.data.shown().length)if(r=t.ratio||t.value,e==="arc")if(i.pie.padAngle()())r=t.value/i.getTotalDataSum(!0);else{const l=n.gauge_fullCircle?i.getArcLength():i.getStartingAngle()*-2,c=i.hasType("gauge")?l:Math.PI*2;r=(t.endAngle-t.startAngle)/c}else if(e==="index"){const l=o.data.values.bind(o);let c=this.getTotalPerIndex();if(a.hiddenTargetIds.length){let d=l(a.hiddenTargetIds,!1);d.length&&(d=d.reduce((h,g)=>h.map((f,p)=>(L(f)?f:0)+g[p])),c=c.map((h,g)=>h-d[g]))}const u=c[t.index];t.ratio=L(t.value)&&c&&u?t.value/u:0,r=t.ratio}else if(e==="radar")r=parseFloat(String(Math.max(t.value,0)))/a.current.dataMax*n.radar_size_ratio;else if(e==="bar"){const c=i.getYScaleById.bind(i)(t.id).domain().reduce((u,d)=>d-u);r=c===0?0:Math.abs(i.getRangedData(t,null,e)/c)}else e==="treemap"&&(r/=i.getTotalDataSum(!0));return s&&r?r*100:r},updateDataIndexByX(e){const t=this,s=e.reduce((i,n,a)=>(i[Number(n.x)]=a,i),{});t.data.targets.forEach(i=>{i.values.forEach((n,a)=>{let o=s[Number(n.x)];o===void 0&&(o=a),n.index=o})})},isBubbleZType(e){return this.isBubbleType(e)&&(X(e.value)&&("z"in e.value||"y"in e.value)||N(e.value)&&e.value.length>=2)},isBarRangeType(e){const t=this,{value:s}=e;return t.isBarType(e)&&N(s)&&s.length>=2&&s.every(i=>L(i))},getDataById(e){var t;const s=this.cache.get(e)||this.api.data(e);return(t=s==null?void 0:s[0])!=null?t:s}};function As(e,t=!1){const s=this,{api:i}=s;t&&s.api.flush(!0),e==null||e.call(i)}var Nn={load(e,t){const s=this,{axis:i,data:n,org:a,scale:o}=s,{append:r}=t,l={domain:null,currentDomain:null,x:null};let c=e;c&&(t.filter&&(c=c.filter(t.filter)),(t.type||t.types)&&c.forEach(u=>{var d;const h=((d=t.types)==null?void 0:d[u.id])||t.type;s.setTargetType(u.id,h)}),n.targets.forEach(u=>{for(let d=0;d{const i=e.data||s;e.append&&(i.__append__=!0),i&&t.load(t.convertDataToTargets(i),e)}))},unload(e,t){var s;const i=this,{state:n,$el:a,$T:o}=i,r=!!((s=i.hasLegendDefsPoint)!=null&&s.call(i));let l=t,c=e;if(i.cache.reset(),l||(l=()=>{}),c=c.filter(d=>i.hasTarget(i.data.targets,d)),!c||c.length===0){l();return}const u=a.svg.selectAll(c.map(d=>i.selectorTarget(d)));o(u).style("opacity","0").remove().call(ye,l),c.forEach(d=>{var h;const g=i.getTargetSelectorSuffix(d);n.withoutFadeIn[d]=!1,a.legend&&a.legend.selectAll(`.${Y.legendItem}${g}`).remove(),i.data.targets=i.data.targets.filter(f=>f.id!==d),r&&((h=a.defs)==null||h.select(`#${i.getDefsPointId(g)}`).remove())}),n.hasFunnel&&i.updateFunnel(i.data.targets),n.hasTreemap&&i.updateTargetsForTreemap(i.data.targets),i.updateTypesElements()}},ws=U(6),Gn={setExpand(e,t,s){const i=this,{config:n,$el:{circle:a}}=i;a&&n.point_focus_expand_enabled&&i.expandCircles(e,t,s),i.expandBarTypeShapes(!0,e,t,s)},expandBarTypeShapes(e=!0,t,s,i){const n=this;["bar","candlestick"].filter(a=>n.$el[a]).forEach(a=>{i&&n.$el[a].classed(D.EXPANDED,!1),n.getShapeByIndex(a,t,s).classed(D.EXPANDED,e)})},setOverOut(e,t){const s=this,{config:i,state:{hasFunnel:n,hasRadar:a,hasTreemap:o},$el:{main:r}}=s,l=X(t);if(l||t!==-1){const c=i[e?"data_onover":"data_onout"].bind(s.api);if(i.color_onover&&s.setOverColor(e,t,l),l){const u=s.getTargetSelectorSuffix(t.id),d=n||o?`${D.target+u} .${st.shape}`:G.arc+u;c(t,r.select(`.${d}`).node())}else if(i.tooltip_grouped)e&&(a&&s.isPointFocusOnly()?s.showCircleFocus(s.getAllValuesOnIndex(t,!0)):s.setExpand(t,null,!0)),!s.isMultipleX()&&r.selectAll(`.${st.shape}-${t}`).each(function(u){c(u,this)});else{const u=s.cache.get(pt.setOverOut)||[],d=r.selectAll(`.${st.shape}-${t}`).filter(function(g){return s.isWithinShape(this,g)}),h=d.filter(function(){return u.every(g=>g!==this)});if(!e||d.empty()||u.length===h.size()&&h.nodes().every((g,f)=>g!==u[f]))for(;u.length;){const g=u.pop();i.data_onout.bind(s.api)((0,w.select)(g).datum(),g)}h.each(function(){e&&(c((0,w.select)(this).datum(),this),u.push(this))}),s.cache.add(pt.setOverOut,u)}}},callOverOutForTouch(e){const t=this,s=t.cache.get(pt.callOverOutForTouch);(X(e)&&s?e.id!==s.id:e!==s)&&((s||L(s))&&t.setOverOut(!1,s),(e||L(e))&&t.setOverOut(!0,e),t.cache.add(pt.callOverOutForTouch,e))},getDraggableSelection(){const e=this,{config:t,state:s}=e;return t.interaction_enabled&&t.data_selection_draggable&&e.drag?(0,ws.drag)().on("drag",function(i){s.event=i,e.drag(yt(i,this))}).on("start",function(i){s.event=i,e.dragstart(yt(i,this))}).on("end",i=>{s.event=i,e.dragend()}):()=>{}},dispatchEvent(e,t,s){var i,n;const a=this,{config:o,state:{eventReceiver:r,hasAxis:l,hasFunnel:c,hasRadar:u,hasTreemap:d},$el:{eventRect:h,funnel:g,radar:f,svg:p,treemap:_}}=a;let x=(n=(c||d)&&r.rect||u&&f.axes.select(`.${at.axis}-${t} text`)||h||((i=a.getArcElementByIdOrIndex)==null?void 0:i.call(a,t)))==null?void 0:n.node();if(x){const m=a.isMultipleX(),$=o.axis_rotated;let{width:b,left:v,top:y}=x.getBoundingClientRect();if(l&&!u&&!m){const T=r.coords[t];T?(b=T.w,v+=T.x,y+=T.y):(b=0,v=0,y=0)}let A=v+(s?s[0]:0)+(m||$?0:b/2),S=y+(s?s[1]:0)+($?4:0);if(Me(p)){const T=De(a.$el.svg.node(),A,S,!1);A=T.x,S=T.y}const R={screenX:A,screenY:S,clientX:A,clientY:S,bubbles:u};(c||d)&&(x=(g!=null?g:_).node()),pn[/^(mouse|click)/.test(e)?"mouse":"touch"](x,e,R)}},setDragStatus(e){this.state.dragging=e},unbindZoomEvent(){const e=this,{$el:{eventRect:t,zoomResetBtn:s}}=e;t==null||t.on(".zoom wheel.zoom .drag",null),s==null||s.on("click",null).style("display","none")},unbindAllEvents(){var e;const t=this,{$el:{arcs:s,eventRect:i,legend:n,region:a,svg:o,treemap:r},brush:l}=t,c=["wheel","click","mouseover","mousemove","mouseout","touchstart","touchmove","touchend","touchstart.eventRect","touchmove.eventRect","touchend.eventRect",".brush",".drag",".zoom","wheel.zoom","dblclick.zoom"].join(" ");[o,i,a==null?void 0:a.list,l==null?void 0:l.getSelection(),s==null?void 0:s.selectAll("path"),n==null?void 0:n.selectAll("g"),r].forEach(u=>u==null?void 0:u.on(c,null)),(e=t.unbindZoomEvent)==null||e.call(t)}},Vn={categoryName(e){var t;const{axis_x_categories:s}=this.config;return(t=s==null?void 0:s[e])!=null?t:e}},Yn={generateClass(e,t){return` ${e} ${e+this.getTargetSelectorSuffix(t)}`},getClass(e,t){const s=/s$/.test(e),i=/^(area|arc|line|funnel|treemap)s?$/.test(e),n=s?"id":"index";return a=>{const o=a.data||a;return((t?this.generateClass(B[s?"shapes":"shape"],o[n]):"")+this.generateClass(B[e],o[i?"id":n])).trim()}},getChartClass(e){return t=>B[`chart${e}`]+this.classTarget((t.data?t.data:t).id)},generateExtraLineClass(){const t=this.config.line_classes||[],s=[];return function(i){var n;const a=i.id||((n=i.data)==null?void 0:n.id)||i;return s.indexOf(a)<0&&s.push(a),t[s.indexOf(a)%t.length]}},classRegion(e,t){return`${this.generateClass(B.region,t)} ${"class"in e?e.class:""}`},classTarget(e){const t=this.config.data_classes[e];let s="";return t&&(s=` ${B.target}-${t}`),this.generateClass(B.target,e)+s},classFocus(e){return this.classFocused(e)+this.classDefocused(e)},classFocused(e){return` ${this.state.focusedTargetIds.indexOf(e.id)>=0?B.focused:""}`},classDefocused(e){return` ${this.state.defocusedTargetIds.indexOf(e.id)>=0?B.defocused:""}`},getTargetSelectorSuffix(e){return(e||e===0?`-${e}`:"").replace(/[\x00-\x20\x7F-\xA0\s?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\]/g,"-")},selectorTarget(e,t="",s=""){const i=this.getTargetSelectorSuffix(e);return`${t}.${B.target+i} ${s}, ${t}.${B.circles+i} ${s}`},selectorTargets(e,t){const s=e||[];return s.length?s.map(i=>this.selectorTarget(i,t)):null},selectorLegend(e){return`.${B.legendItem+this.getTargetSelectorSuffix(e)}`},selectorLegends(e){return e!=null&&e.length?e.map(t=>this.selectorLegend(t)):null}},Ft=U(7);const jn=(e,t,s)=>{const i=(0,w.select)(e.cloneNode(!0));return i.attr("id",s).insert("rect",":first-child").attr("width",i.attr("width")).attr("height",i.attr("height")).style("fill",t),{id:s,node:i.node()}};function Hn(e){const t=pt.colorPattern,{body:s}=ot;let i=s[t];if(!i){const n=";",a=e.classed(ke.colorPattern,!0).style("background-image");e.classed(ke.colorPattern,!1),a.indexOf(n)>-1&&(i=a.replace(/url[^#]*|["'()]|(\s|%20)/g,"").split(n).map(o=>o.trim().replace(/[\"'\s]/g,"")).filter(Boolean),s[t]=i)}return i}const Wn=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"];var Un={generateColor(){const e=this,{$el:t,config:s}=e,i=s.data_colors,n=s.data_color,a=[];let o=nt(s.color_pattern)?s.color_pattern:(0,Ft.scaleOrdinal)(Hn(t.chart)||Wn).range();const r=o;if(O(s.color_tiles)){const l=s.color_tiles.bind(e.api)(),c=o.map((u,d)=>{const h=u.replace(/[#\(\)\s,]/g,""),g=`${e.state.datetimeId}-pattern-${h}-${d}`;return jn(l[d%l.length],u,g)});o=c.map(u=>`url(#${u.id})`),e.patterns=c}return function(l){var c;const u=l.id||((c=l.data)==null?void 0:c.id)||l,d=e.isTypeOf(u,["line","spline","step"])||!s.data_types[u];let h;return O(i[u])?h=i[u].bind(e.api)(l):i[u]?h=i[u]:(a.indexOf(u)<0&&a.push(u),h=d?r[a.indexOf(u)%r.length]:o[a.indexOf(u)%o.length],i[u]=h),O(n)?n.bind(e.api)(h,l):h}},generateLevelColor(){const e=this,{config:t}=e,s=t.color_pattern,i=t.color_threshold,n=i.unit==="value",a=i.max||100,o=i.values&&i.values.length?i.values:[];return nt(i)?function(r){const l=n?r:r*100/a;let c=s[s.length-1];for(let u=0,d=o.length;u{const r=`${n.datetimeId}-labels-bg${s.getTargetSelectorSuffix(o)}${V(e)?s.getTargetSelectorSuffix(e):""}`;i.defs.append("filter").attr("x",t.x).attr("y",t.y).attr("width",t.width).attr("height",t.height).attr("id",r).html(` - `)})}},getGradienColortUrl(e){return`url(#${this.state.datetimeId}-gradient${this.getTargetSelectorSuffix(e)})`},updateLinearGradient(){const e=this,{config:t,data:{targets:s},state:{datetimeId:i},$el:{defs:n}}=e;s.forEach(a=>{const o=`${i}-gradient${e.getTargetSelectorSuffix(a.id)}`,r=e.hasPointType()&&t.point_radialGradient,l=e.isAreaType(a)&&"area"||e.isBarType(a)&&"bar";if((r||l)&&n.select(`#${o}`).empty()){const c=e.color(a),u={defs:null,stops:[]};if(r){const{cx:d=.3,cy:h=.3,r:g=.7,stops:f=[[.1,c,0],[.9,c,1]]}=r;u.stops=f,u.defs=n.append("radialGradient").attr("id",`${o}`).attr("cx",d).attr("cy",h).attr("r",g)}else{const d=t.axis_rotated,{x:h=d?[1,0]:[0,0],y:g=d?[0,0]:[0,1],stops:f=[[0,c,1],[1,c,0]]}=t[`${l}_linearGradient`];u.stops=f,u.defs=n.append("linearGradient").attr("id",`${o}`).attr("x1",h[0]).attr("x2",h[1]).attr("y1",g[0]).attr("y2",g[1])}u.stops.forEach(d=>{const[h,g,f]=d,p=O(g)?g.bind(e.api)(a.id):g;u.defs&&u.defs.append("stop").attr("offset",h).attr("stop-color",p||c).attr("stop-opacity",f)})}})},setOverColor(e,t){const s=this,{config:i,$el:{main:n}}=s,a=i.color_onover;let o=e?a:s.color;X(o)?o=({id:r})=>r in a?a[r]:s.color(r):V(o)?o=()=>a:O(a)&&(o=o.bind(s.api)),n.selectAll(X(t)?`.${G.arc}${s.getTargetSelectorSuffix(t.id)}`:`.${st.shape}-${t}`).style("fill",o)}},Zn={getYDomainMinMax(e,t){const s=this,{axis:i,config:n}=s,a=t==="min",o=n.data_groups,r=s.mapToIds(e),l=s.getValuesAsIdKeyed(e);if(o.length>0){const c=s[`has${a?"Negative":"Positive"}ValueInTargets`](e);o.forEach(u=>{const d=u.filter(h=>r.indexOf(h)>=0);if(d.length){const h=d[0],g=i.getId(h);c&&l[h]&&(l[h]=l[h].map(f=>(a?f<0:f>0)?f:0)),d.filter((f,p)=>p>0).forEach(f=>{if(l[f]){const p=i.getId(f);l[f].forEach((_,x)=>{const m=+_,$=a?m>0:m<0;p===g&&!(c&&$)&&(l[h][x]+=m)})}})}})}return wt(t,Object.keys(l).map(c=>wt(t,l[c])))},isHiddenTargetWithYDomain(e){const t=this;return t.state.hiddenTargetIds.some(s=>t.axis.getId(s)===e)},getYDomain(e,t,s){const i=this,{axis:n,config:a,scale:o}=i,r=`axis_${t}`;if(i.isStackNormalized())return[0,100];const l=(o==null?void 0:o[t])&&o[t].type==="log",c=e.filter(T=>n.getId(T.id)===t),u=s?i.filterByXDomain(c,s):c;if(u.length===0)return i.isHiddenTargetWithYDomain(t)?o[t].domain():t==="y2"?o.y.domain():i.getYDomain(e,"y2",s);const d=a[`${r}_min`],h=a[`${r}_max`],g=a[`${r}_center`],f=a[`${r}_inverted`],p=i.hasDataLabel()&&a.axis_rotated,_=i.hasDataLabel()&&!a.axis_rotated;let x=i.getYDomainMinMax(u,"min"),m=i.getYDomainMinMax(u,"max"),$=[E.BAR,E.BUBBLE,E.SCATTER,...zt.Line].some(T=>{const C=T.indexOf("area")>-1?"area":T;return i.hasType(T,u,!0)&&a[`${C}_zerobased`]});x=M(d)?d:M(h)?x<=h?x:h-10:x,m=M(h)?h:M(d)?d<=m?m:d+10:m,isNaN(x)&&(x=0),isNaN(m)&&(m=x),x===m&&(x<0?m=0:x=0);const b=x>=0&&m>=0,v=x<=0&&m<=0;(M(d)&&b||M(h)&&v)&&($=!1),$&&(b&&(x=0),v&&(m=0));const y=Math.abs(m-x);let A={top:y*.1,bottom:y*.1};if(H(g)){const T=Math.max(Math.abs(x),Math.abs(m));m=g+T,x=g-T}if(p){const T=Nt(o.y.range()),C=i.getDataLabelLength(x,m,"width").map(z=>z/T);["bottom","top"].forEach((z,P)=>{A[z]+=y*(C[P]/(1-C[0]-C[1]))})}else if(_){const T=i.getDataLabelLength(x,m,"height");["bottom","top"].forEach((C,z)=>{A[C]+=i.convertPixelToScale("y",T[z],y)})}A=i.getResettedPadding(A);const S=a[`${r}_padding`];nt(S)&&["bottom","top"].forEach(T=>{A[T]=n.getPadding(S,T,A[T],y)}),$&&(b&&(A.bottom=x),v&&(A.top=-m));const R=l?[x,m].map(T=>T<0?0:T):[x-A.bottom,m+A.top];return f?R.reverse():R},getXDomainMinMax(e,t){var s;const i=this,n=i.config[`axis_x_${t}`],a=wt(t,e.map(r=>wt(t,r.values.map(l=>l.x))));let o=X(n)?n.value:n;return o=H(o)&&((s=i.axis)!=null&&s.isTimeSeries())?mt.bind(this)(o):o,X(n)&&n.fit&&(t==="min"&&oa)&&(o=void 0),H(o)?o:a},getXDomainPadding(e,t){const s=this,{axis:i,config:n}=s,a=n.axis_x_padding,o=i.isTimeSeries()&&t,r=Nt(e);let l;if(i.isCategorized()||o)l=0;else if(s.hasType("bar")){const d=s.getMaxDataCount();l=d>1?r/(d-1)/2:.5}else l=s.getResettedPadding(r*.01);let{left:c=l,right:u=l}=L(a)?{left:a,right:a}:a;if(a.unit==="px"){const d=Math.abs(r+r*.2);c=i.getPadding(a,"left",l,d),u=i.getPadding(a,"right",l,d)}else{const d=r+c+u;if(o&&d){const h=r/t/d;c=c/d/h,u=u/d/h}}return{left:c,right:u}},getXDomain(e){const t=this,{axis:s,config:i,scale:{x:n}}=t,a=i.axis_x_inverted,o=[t.getXDomainMinMax(e,"min"),t.getXDomainMinMax(e,"max")];let[r=0,l=0]=o;if(n.type!=="log"){const c=s.isCategorized(),u=s.isTimeSeries(),d=t.getXDomainPadding(o);let[h,g]=o;h-g===0&&!c&&(u?(h=new Date(h.getTime()*.5),g=new Date(g.getTime()*1.5)):(h=h===0?1:h*.5,g=g===0?-1:g*1.5)),(h||h===0)&&(r=u?new Date(h.getTime()-d.left):h-d.left),(g||g===0)&&(l=u?new Date(g.getTime()+d.right):g+d.right)}return a?[l,r]:[r,l]},updateXDomain(e,t,s,i,n){var a;const o=this,{config:r,org:l,scale:{x:c,subX:u}}=o,d=r.zoom_enabled;if(s&&(c.domain(n||Kt(o.getXDomain(e),!r.axis_x_inverted)),l.xDomain=c.domain(),u.domain(c.domain()),(a=o.brush)==null||a.scale(u)),t){const h=n||!o.brush||hs(o)?l.xDomain:us(o).map(u.invert);c.domain(h)}return(s||t)&&d&&o.zoom.updateScaleExtent(),i&&c.domain(o.trimXDomain(c.orgDomain())),c.domain()},trimXDomain(e){const t=this,s=t.config.axis_x_inverted,i=t.getZoomDomain(),[n,a]=i;return(s?e[0]>=n:e[0]<=n)&&(e[1]=+e[1]+(n-e[0]),e[0]=n),(s?e[1]<=a:e[1]>=a)&&(e[0]=+e[0]-(e[1]-a),e[1]=a),e},getZoomDomain(e="zoom",t=!1){const s=this,{config:i,scale:n,org:a}=s;let[o,r]=t&&n[e]?n[e].domain():a.xDomain;return e==="zoom"&&(H(i.zoom_x_min)&&(o=wt("min",[o,i.zoom_x_min])),H(i.zoom_x_max)&&(r=wt("max",[r,i.zoom_x_max]))),[o,r]},getZoomDomainValue(e){const t=this,{config:s,axis:i}=t;if(i.isCategorized()&&Array.isArray(e)){const n=s.axis_x_inverted;return e.map((o,r)=>Number(o)+(r===0?+n:+!n))}return e},convertPixelToScale(e,t,s){const i=this,{config:n,state:a}=i,o=n.axis_rotated;let r;return e==="x"?r=o?"height":"width":r=o?"width":"height",s*(t/a[r])},withinRange(e,t=[0,0],s){const n=this.config.axis_x_inverted,[a,o]=s;if(Array.isArray(e)){const r=[...e];if(n&&r.reverse(),r[0](c===0?n?+l<=a:+l>=a:n?+l>=o:+l<=o)&&!e.every((u,d)=>u===t[d]))}return!1}};function Ss(e,t,s){const{config:i}=e,n=`axis_${t}_tick_format`;return(i[n]?i[n]:e.defaultValueFormat).call(e.api,s)}var qn={yFormat(e){return Ss(this,"y",e)},y2Format(e){return Ss(this,"y2",e)},getDefaultValueFormat(){const e=this,{defaultArcValueFormat:t,yFormat:s,y2Format:i}=e,n=e.hasArcType(null,["gauge","polar","radar"]);return function(a,o,r){return(n?t:e.axis&&e.axis.getId(r)==="y2"?i:s).call(e,a,o)}},defaultValueFormat(e){return N(e)?e.join("~"):M(e)?+e:""},defaultArcValueFormat(e,t){return`${(t*100).toFixed(1)}%`},defaultPolarValueFormat(e){return`${e}`},dataLabelFormat(e){const t=this,s=t.config.data_labels,i=a=>{const o="~";let r=a;return N(a)?r=a.join(o):X(a)&&(r=Object.values(a).join(o)),r};let n=i;return O(s.format)?n=s.format:St(s.format)&&(s.format[e]?n=s.format[e]===!0?i:s.format[e]:n=()=>""),n.bind(t.api)}};function we(e){const t=this,s=t.getDataById(e);return t.levelColor?t.levelColor(s.values[0].value):t.color(s)}function je(e,t=!0){var s;const{config:i}=this;let n=(s=i.data_names[e])!=null?s:e;return t&&O(i.legend_format)&&(n=i.legend_format(n,e!==n?e:void 0)),n}var Kn={initLegend(){const e=this,{config:t,$el:s}=e;e.legendItemTextBox={},e.state.legendHasRendered=!1,t.legend_show?(t.legend_contents_bindto||(s.legend=e.$el.svg.append("g").classed(Y.legend,!0).attr("transform",e.getTranslate("legend"))),e.updateLegend()):e.state.hiddenLegendIds=e.mapToIds(e.data.targets)},updateLegend(e,t,s){var i;const n=this,{config:a,state:o,scale:r,$el:l}=n,c=t||{withTransform:!1,withTransitionForTransform:!1,withTransition:!1};c.withTransition=Dt(c,"withTransition",!0),c.withTransitionForTransform=Dt(c,"withTransitionForTransform",!0),a.legend_contents_bindto&&a.legend_contents_template?n.updateLegendTemplate():o.hasTreemap||n.updateLegendElement(e||n.mapToIds(n.data.targets),c,s),(i=l.legend)==null||i.selectAll(`.${Y.legendItem}`).classed(Y.legendItemHidden,function(u){const d=!n.isTargetToShow(u);return d&&(this.style.opacity=null),d}),n.updateScales(!1,!r.zoom),n.updateSvgSize(),n.transformAll(c.withTransitionForTransform,s),o.legendHasRendered=!0},updateLegendTemplate(){const e=this,{config:t,$el:s}=e,i=(0,w.select)(t.legend_contents_bindto),n=t.legend_contents_template;if(!i.empty()){const a=e.mapToIds(e.data.targets),o=[];let r="";a.forEach(c=>{const u=O(n)?n.bind(e.api)(c,e.color(c),e.api.data(c)[0].values):Te(n,{COLOR:e.color(c),TITLE:c});u&&(o.push(c),r+=u)});const l=i.html(r).selectAll(function(){return this.childNodes}).data(o);e.setLegendItem(l),s.legend=i}},updateSizeForLegend(e){const t=this,{config:s,state:{isLegendTop:i,isLegendLeft:n,isLegendRight:a,isLegendInset:o,current:r}}=t,{width:l,height:c}=e,u={top:i?t.getCurrentPaddingByDirection("top")+s.legend_inset_y+5.5:r.height-c-t.getCurrentPaddingByDirection("bottom")-s.legend_inset_y,left:n?t.getCurrentPaddingByDirection("left")+s.legend_inset_x+.5:r.width-l-t.getCurrentPaddingByDirection("right")-s.legend_inset_x+.5};t.state.margin3={top:a?0:o?u.top:r.height-c,right:NaN,bottom:0,left:a?r.width-l:o?u.left:0}},transformLegend(e){const t=this,{$el:{legend:s},$T:i}=t;i(s,e).attr("transform",t.getTranslate("legend"))},updateLegendStep(e){this.state.legendStep=e},updateLegendItemWidth(e){this.state.legendItemWidth=e},updateLegendItemHeight(e){this.state.legendItemHeight=e},updateLegendItemColor(e,t){const{legend:s}=this.$el;s&&s.select(`.${Y.legendItem}-${e} line`).style("stroke",t)},getLegendWidth(){const e=this,{current:{width:t},isLegendRight:s,isLegendInset:i,legendItemWidth:n,legendStep:a}=e.state;return e.config.legend_show?s||i?n*(a+1):t:0},getLegendHeight(){var e;const t=this,{current:s,isLegendRight:i,legendItemHeight:n,legendStep:a}=t.state,o=((e=t.config.padding)==null?void 0:e.mode)==="fit";return t.config.legend_show?i?s.height:Math.max(o?10:20,n)*(a+1):0},opacityForUnfocusedLegend(e){return e.classed(Y.legendItemHidden)?null:"0.3"},toggleFocusLegend(e,t){const s=this,{$el:{legend:i},$T:n}=s,a=s.mapToTargetIds(e);i&&n(i.selectAll(`.${Y.legendItem}`).filter(o=>a.indexOf(o)>=0).classed(q.legendItemFocused,t)).style("opacity",function(){return t?null:s.opacityForUnfocusedLegend.call(s,(0,w.select)(this))})},revertLegend(){const e=this,{$el:{legend:t},$T:s}=e;t&&s(t.selectAll(`.${Y.legendItem}`).classed(q.legendItemFocused,!1)).style("opacity",null)},showLegend(e){const t=this,{config:s,$el:i,$T:n}=t;s.legend_show||(s.legend_show=!0,i.legend?i.legend.style("visibility",null):t.initLegend(),!t.state.legendHasRendered&&t.updateLegend()),t.removeHiddenLegendIds(e),n(i.legend.selectAll(t.selectorLegends(e)).style("visibility",null)).style("opacity",null)},hideLegend(e){const t=this,{config:s,$el:{legend:i}}=t;s.legend_show&&At(e)&&(s.legend_show=!1,i.style("visibility","hidden")),t.addHiddenLegendIds(e),i.selectAll(t.selectorLegends(e)).style("opacity","0").style("visibility","hidden")},getLegendItemTextBox(e,t){const s=this,{cache:i,state:n}=s;let a;const o=pt.legendItemTextBox;return e&&(a=!n.redrawing&&i.get(o)||{},a[e]||(a[e]=s.getTextRect(t,Y.legendItem),i.add(o,a)),a=a[e]),a},setLegendItem(e){const t=this,{$el:s,api:i,config:n,state:a}=t,o=a.inputType==="touch",r=t.hasType("gauge"),l=n.boost_useCssRule,c=n.legend_item_interaction;e.attr("class",function(u){const d=(0,w.select)(this);return(!d.empty()&&d.attr("class")||"")+t.generateClass(Y.legendItem,u)}).style("visibility",u=>t.isLegendToShow(u)?null:"hidden"),n.interaction_enabled&&(l&&[[`.${Y.legendItem}`,"cursor:pointer"],[`.${Y.legendItem} text`,"pointer-events:none"],[`.${Y.legendItemPoint} text`,"pointer-events:none"],[`.${Y.legendItemTile}`,"pointer-events:none"],[`.${Y.legendItemEvent}`,"fill-opacity:0"]].forEach(u=>{const[d,h]=u;t.setCssRule(!1,d,[h])(s.legend)}),e.on(c.dblclick?"dblclick":"click",c||O(n.legend_item_onclick)?function(u,d){if(!K(n.legend_item_onclick,i,d,!a.hiddenTargetIds.includes(d))){const{altKey:h,target:g,type:f}=u;f==="dblclick"||h?a.hiddenTargetIds.length&&g.parentNode.getAttribute("class").indexOf(Y.legendItemHidden)===-1?i.show():(i.hide(),i.show(d)):(i.toggle(d),(0,w.select)(this).classed(q.legendItemFocused,!1))}o&&t.hideTooltip()}:null),!o&&e.on("mouseout",c||O(n.legend_item_onout)?function(u,d){K(n.legend_item_onout,i,d,!a.hiddenTargetIds.includes(d))||((0,w.select)(this).classed(q.legendItemFocused,!1),r&&t.undoMarkOverlapped(t,`.${_t.gaugeValue}`),t.api.revert())}:null).on("mouseover",c||O(n.legend_item_onover)?function(u,d){K(n.legend_item_onover,i,d,!a.hiddenTargetIds.includes(d))||((0,w.select)(this).classed(q.legendItemFocused,!0),r&&t.markOverlapped(d,t,`.${_t.gaugeValue}`),!a.transiting&&t.isTargetToShow(d)&&i.focus(d))}:null),!e.empty()&&e.on("click mouseout mouseover")&&e.style("cursor",t.getStylePropValue("pointer")))},updateLegendElement(e,t){const s=this,{config:i,state:n,$el:{legend:a},$T:o}=s,l=i.legend_item_tile_type!=="circle",c=i.legend_item_tile_r,u={width:l?i.legend_item_tile_width:c*2,height:l?i.legend_item_tile_height:c*2},d={padding:{top:4,right:10},max:{width:0,height:0},posMin:10,step:0,tileWidth:u.width+5,totalLength:0},h={offsets:{},widths:{},heights:{},margins:[0],steps:{}};let g,f,p;const _=e.filter(y=>!H(i.data_names[y])||i.data_names[y]!==null),x=t.withTransition,m=s.getUpdateLegendPositions(_,d,h);n.isLegendInset&&(d.step=i.legend_inset_step?i.legend_inset_step:_.length,s.updateLegendStep(d.step)),n.isLegendRight?(g=y=>d.max.width*h.steps[y],f=y=>h.margins[h.steps[y]]+h.offsets[y]):n.isLegendInset?(g=y=>d.max.width*h.steps[y]+10,f=y=>h.margins[h.steps[y]]+h.offsets[y]):(g=y=>h.margins[h.steps[y]]+h.offsets[y],f=y=>d.max.height*h.steps[y]);const $={xText:(y,A)=>g(y,A)+4+u.width,xRect:(y,A)=>g(y,A),x1Tile:(y,A)=>g(y,A)-2,x2Tile:(y,A)=>g(y,A)-2+u.width,yText:(y,A)=>f(y,A)+9,yRect:(y,A)=>f(y,A)-5,yTile:(y,A)=>f(y,A)+4};s.generateLegendItem(_,u,m,$),p=a.select(`.${Y.legendBackground} rect`),n.isLegendInset&&d.max.width>0&&p.size()===0&&(p=a.insert("g",`.${Y.legendItem}`).attr("class",Y.legendBackground).append("rect")),i.legend_tooltip&&a.selectAll("title").data(_).text(y=>je.bind(s)(y,!1));const b=a.selectAll("text").data(_).text(y=>je.bind(s)(y)).each(function(y,A){m(this,y,A)});o(b,x).attr("x",$.xText).attr("y",$.yText);const v=a.selectAll(`rect.${Y.legendItemEvent}`).data(_);o(v,x).attr("width",y=>h.widths[y]).attr("height",y=>h.heights[y]).attr("x",$.xRect).attr("y",$.yRect),s.updateLegendItemPos(_,x,$),p&&o(p,x).attr("height",s.getLegendHeight()-12).attr("width",d.max.width*(d.step+1)+10),s.updateLegendItemWidth(d.max.width),s.updateLegendItemHeight(d.max.height),s.updateLegendStep(d.step)},getUpdateLegendPositions(e,t,s){const i=this,{config:n,state:a}=i,o=a.isLegendRight||a.isLegendInset;return function(r,l,c){const u=c===0,d=c===e.length-1,h=i.getLegendItemTextBox(l,r),g=h.width+t.tileWidth+(d&&!o?0:t.padding.right)+n.legend_padding,f=h.height+t.padding.top,p=o?f:g,_=o?i.getLegendHeight():i.getLegendWidth();let x;const m=function(b,v){v||(x=(_-t.totalLength-p)/2,x=t.max.width)&&(t.max.width=g),(!t.max.height||f>=t.max.height)&&(t.max.height=f);const $=o?t.max.height:t.max.width;n.legend_equally?(Object.keys(s.widths).forEach(b=>s.widths[b]=t.max.width),Object.keys(s.heights).forEach(b=>s.heights[b]=t.max.height),x=(_-$*e.length)/2,xm(b))):m(l,!0)):m(l)}},generateLegendItem(e,t,s,i){const n=this,{config:a,state:o,$el:{legend:r}}=n,l=a.legend_usePoint,c=a.legend_item_tile_r,u=a.legend_item_tile_type,d=u!=="circle",h=o.isLegendRight||o.isLegendInset,g=-200,f=r.selectAll(`.${Y.legendItem}`).data(e).enter().append("g");if(n.setLegendItem(f),a.legend_tooltip&&f.append("title").text(p=>p),f.append("text").text(p=>je.bind(n)(p)).each(function(p,_){s(this,p,_)}).style("pointer-events",n.getStylePropValue("none")).attr("x",h?i.xText:g).attr("y",h?g:i.yText),f.append("rect").attr("class",Y.legendItemEvent).style("fill-opacity",n.getStylePropValue("0")).attr("x",h?i.xRect:g).attr("y",h?g:i.yRect),l){const p=[];f.append(_=>{const x=nt(a.point_pattern)?a.point_pattern:[a.point_type];p.indexOf(_)===-1&&p.push(_);let m=x[p.indexOf(_)%x.length];return m==="rectangle"&&(m="rect"),ot.createElementNS(w.namespaces.svg,"hasValidPointType"in n&&n.hasValidPointType(m)?m:"use")}).attr("class",Y.legendItemPoint).style("fill",we.bind(n)).style("pointer-events",n.getStylePropValue("none")).attr("href",(_,x,m)=>{const b=m[x].nodeName.toLowerCase(),v=n.getTargetSelectorSuffix(_);return b==="use"?`#${o.datetimeId}-point${v}`:void 0})}else f.append(d?"line":u).attr("class",Y.legendItemTile).style("stroke",we.bind(n)).style("pointer-events",n.getStylePropValue("none")).call(p=>{u==="circle"?p.attr("r",c).style("fill",we.bind(n)).attr("cx",h?i.x2Tile:g).attr("cy",h?g:i.yTile):d&&p.attr("stroke-width",t.height).attr("x1",h?i.x1Tile:g).attr("y1",h?g:i.yTile).attr("x2",h?i.x2Tile:g).attr("y2",h?g:i.yTile)})},updateLegendItemPos(e,t,s){const i=this,{config:n,$el:{legend:a},$T:o}=i,r=n.legend_usePoint,l=n.legend_item_tile_type,c=l!=="circle";if(r){const u=a.selectAll(`.${Y.legendItemPoint}`).data(e);o(u,t).each(function(){const d=this.nodeName.toLowerCase(),h=n.point_r;let g="x",f="y",p=2,_=2.5,x=null,m=null,$=null;if(d==="circle"){const b=h*.2;g="cx",f="cy",x=h+b,p=h*2,_=-b}else if(d==="rect"){const b=h*2.5;m=b,$=b,_=3}(0,w.select)(this).attr(g,b=>s.x1Tile(b)+p).attr(f,b=>s.yTile(b)-_).attr("r",x).attr("width",m).attr("height",$)})}else{const u=a.selectAll(`.${Y.legendItemTile}`).data(e);o(u,t).style("stroke",we.bind(i)).call(d=>{l==="circle"?d.attr("cx",h=>{const g=s.x2Tile(h);return g-(g-s.x1Tile(h))/2}).attr("cy",s.yTile):c&&d.attr("x1",s.x1Tile).attr("y1",s.yTile).attr("x2",s.x2Tile).attr("y2",s.yTile)})}}},Jn=U(8),Qn={redraw(e={}){var t,s,i,n;const a=this,{config:o,state:r,$el:l}=a,{main:c,treemap:u}=l;r.redrawing=!0;const d=a.filterTargetsToShow(a.data.targets),{flow:h,initializing:g}=e,f=a.getWithOption(e),p=f.Transition?o.transition_duration:0,_=f.TransitionForExit?p:0,x=f.TransitionForAxis?p:0,m=(t=a.axis)==null?void 0:t.generateTransitions(x);a.updateSizes(g),f.Legend&&o.legend_show?(e.withTransition=!!p,!u&&a.updateLegend(a.mapToIds(a.data.targets),e,m)):f.Dimension&&a.updateDimension(!0),o.data_empty_label_text&&c.select(`text.${gt.text}.${D.empty}`).attr("x",r.width/2).attr("y",r.height/2).text(o.data_empty_label_text).style("display",d.length?"none":null),r.hasAxis?(a.axis.redrawAxis(d,f,m,h,g),a.hasGrid()&&a.updateGrid(),o.regions.length&&a.updateRegion(),["bar","candlestick","line","area"].forEach($=>{const b=ft($);(/^(line|area)$/.test($)&&a.hasTypeOf(b)||a.hasType($))&&a[`update${b}`](f.TransitionForExit)}),l.text&&c.selectAll(`.${Q.selectedCircles}`).filter(a.isBarType.bind(a)).selectAll("circle").remove(),o.interaction_enabled&&!h&&f.EventRect&&(a.redrawEventRect(),(s=a.bindZoomEvent)==null||s.call(a))):(l.arcs&&a.redrawArc(p,_,f.Transform),l.radar&&a.redrawRadar(),l.polar&&a.redrawPolar(),l.funnel&&a.redrawFunnel(),u&&a.updateTreemap(_)),!r.resizing&&!u&&(a.hasPointType()||r.hasRadar)?a.updateCircle():(i=a.hasLegendDefsPoint)!=null&&i.call(a)&&a.data.targets.forEach(a.point("create",this)),a.hasDataLabel()&&!a.hasArcType(null,["radar"])&&a.updateText(),(n=a.redrawTitle)==null||n.call(a),g&&a.updateTypesElements(),a.generateRedrawList(d,h,p,f.Subchart),a.updateTooltipOnRedraw(),a.callPluginHook("$redraw",e,p)},generateRedrawList(e,t,s,i){const n=this,{config:a,state:o}=n,r=n.getDrawShape();o.hasAxis&&a.subchart_show&&n.redrawSubchart(i,s,r);const l=t&&n.generateFlow({targets:e,flow:t,duration:t.duration,shape:r,xv:n.xv.bind(n)}),c=(s||l)&&de(),u=n.getRedrawList(r,t,l,c),d=()=>{l&&l(),o.redrawing=!1,K(a.onrendered,n.api)};if(d)if(c&&u.length){const h=ys();(0,Jn.transition)().duration(s).each(()=>{u.reduce((g,f)=>g.concat(f),[]).forEach(g=>h.add(g))}).call(h,d)}else o.transiting||d();n.mapToIds(n.data.targets).forEach(h=>{o.withoutFadeIn[h]=!0})},getRedrawList(e,t,s,i){const n=this,{config:a,state:{hasAxis:o,hasRadar:r,hasTreemap:l},$el:{grid:c}}=n,{cx:u,cy:d,xForText:h,yForText:g}=e.pos,f=[];return o&&((a.grid_x_lines.length||a.grid_y_lines.length)&&f.push(n.redrawGrid(i)),a.regions.length&&f.push(n.redrawRegion(i)),Object.keys(e.type).forEach(p=>{const _=ft(p),x=e.type[p];(/^(area|line)$/.test(p)&&n.hasTypeOf(_)||n.hasType(p))&&f.push(n[`redraw${_}`](x,i))}),!t&&c.main&&f.push(n.updateGridFocus())),(!n.hasArcType()||r)&&nt(a.data_labels)&&a.data_labels!==!1&&f.push(n.redrawText(h,g,t,i)),(n.hasPointType()||r)&&!n.isPointFocusOnly()&&n.redrawCircle&&f.push(n.redrawCircle(u,d,i,s)),l&&f.push(n.redrawTreemap(i)),f},updateAndRedraw(e={}){const t=this,{config:s,state:i}=t;let n;e.withTransition=Dt(e,"withTransition",!0),e.withTransform=Dt(e,"withTransform",!1),e.withLegend=Dt(e,"withLegend",!1),e.withUpdateXDomain=!0,e.withUpdateOrgXDomain=!0,e.withTransitionForExit=!1,e.withTransitionForTransform=Dt(e,"withTransitionForTransform",e.withTransition),e.withLegend&&s.legend_show||(i.hasAxis&&(n=t.axis.generateTransitions(e.withTransitionForAxis?s.transition_duration:0)),t.updateScales(),t.updateSvgSize(),t.transformAll(e.withTransitionForTransform,n)),t.redraw(e,n)}};function Yt(e="linear",t,s){const i={linear:Ft.scaleLinear,log:Ft.scaleSymlog,_log:Ft.scaleLog,time:Ft.scaleTime,utc:Ft.scaleUtc}[e]();return i.type=e,/_?log/.test(e)&&i.clamp(!0),i.range([t!=null?t:0,s!=null?s:1])}var ta={getXScale(e,t,s,i){const n=this,a=n.state.loading!=="append"&&n.scale.zoom||Yt(n.axis.getAxisType("x"),e,t);return n.getCustomizedXScale(s?a.domain(s):a,i)},getYScale(e,t,s,i){const a=Yt(this.axis.getAxisType(e),t,s);return i&&a.domain(i),a},getYScaleById(e,t=!1){var s;const i=((s=this.axis)==null?void 0:s.getId(e))==="y2",n=t?i?"subY2":"subY":i?"y2":"y";return this.scale[n]},getCustomizedXScale(e,t){const s=this,i=t||(()=>s.axis.x.tickOffset()),n=s.config.axis_x_inverted,a=function(o){return e(o)+i()};for(const o in e)a[o]=e[o];return a.orgDomain=()=>e.domain(),a.orgScale=()=>e,s.axis.isCategorized()&&(a.domain=function(o){let r=o;return arguments.length?(e.domain(r),a):(r=this.orgDomain(),n?[r[0]+1,r[1]]:[r[0],r[1]+1])}),a},updateScales(e,t=!0){var s,i;const n=this,{axis:a,config:o,format:r,org:l,scale:c,state:{current:u,width:d,height:h,width2:g,height2:f,hasAxis:p,hasTreemap:_}}=n;if(p){const x=o.axis_rotated,m=n.getResettedPadding(1),$={x:x?m:0,y:x?0:h,subX:x?1:0,subY:x?0:f},b={x:x?h:d,y:x?d:m,subX:x?h:d,subY:x?g:1},v=t&&((s=c.x)==null?void 0:s.orgDomain()),y=t&&l.xDomain;c.x=n.getXScale($.x,b.x,v,()=>a.x.tickOffset()),c.subX=n.getXScale($.x,b.x,y,A=>{var S;return A%1?0:((S=a.subX)!=null?S:a.x).tickOffset()}),r.xAxisTick=a.getXAxisTickFormat(),r.subXAxisTick=a.getXAxisTickFormat(!0),a.setAxis("x",c.x,o.axis_x_tick_outer,e),o.subchart_show&&a.setAxis("subX",c.subX,o.axis_x_tick_outer,e),c.y=n.getYScale("y",$.y,b.y,c.y?c.y.domain():o.axis_y_default),c.subY=n.getYScale("y",$.subY,b.subY,c.subY?c.subY.domain():o.axis_y_default),a.setAxis("y",c.y,o.axis_y_tick_outer,e),o.axis_y2_show&&(c.y2=n.getYScale("y2",$.y,b.y,c.y2?c.y2.domain():o.axis_y2_default),c.subY2=n.getYScale("y2",$.subY,b.subY,c.subY2?c.subY2.domain():o.axis_y2_default),a.setAxis("y2",c.y2,o.axis_y2_tick_outer,e))}else if(_){const x=n.getCurrentPadding();c.x=(0,Ft.scaleLinear)().rangeRound([x.left,u.width-x.right]),c.y=(0,Ft.scaleLinear)().rangeRound([x.top,u.height-x.bottom])}else(i=n.updateArc)==null||i.call(n)},xx(e){const t=this,{config:s,scale:{x:i,zoom:n}}=t,a=s.zoom_enabled&&n?n:i;return e?a(M(e.x)?e.x:e):null},xv(e){const t=this,{axis:s,config:i,scale:{x:n,zoom:a}}=t,o=i.zoom_enabled&&a?a:n;let r=t.getBaseValue(e);return s.isTimeSeries()?r=mt.call(t,r):s.isCategorized()&&V(r)&&(r=i.axis_x_categories.indexOf(r)),o(r)},yv(e){const t=this,{scale:{y:s,y2:i}}=t;return(e.axis&&e.axis==="y2"?i:s)(t.getBaseValue(e))},subxx(e){return e?this.scale.subX(e.x):null}},ea={setContainerSize(){const e=this,{state:t}=e;t.current.width=e.getCurrentWidth(),t.current.height=e.getCurrentHeight()},getCurrentWidth(){const e=this;return e.config.size_width||e.getParentWidth()},getCurrentHeight(){const e=this,{config:t}=e,s=t.size_height||e.getParentHeight();return s>0?s:320/(e.hasType("gauge")&&!t.gauge_fullCircle?2:1)},getParentRectValue(e){const t=`offset${ft(e)}`;let s=this.$el.chart.node(),i=0;for(;i<30&&s&&s.tagName!=="BODY";){try{i=s.getBoundingClientRect()[e]}catch(a){t in s&&(i=s[t])}s=s.parentNode}const n=ot.body[t];return i>n&&(i=n),i},getParentWidth(){return this.getParentRectValue("width")},getParentHeight(){const e=this.$el.chart.style("height");let t=0;return e&&(t=/px$/.test(e)?parseInt(e,10):this.getParentRectValue("height")),t},getSvgLeft(e){const t=this,{config:s,state:{hasAxis:i},$el:n}=t,a=s.axis_rotated,o=a||!a&&!s.axis_y_inner,r=a?at.axisX:at.axisY,l=n.main.select(`.${r}`).node(),c=i&&s[`axis_${a?"x":"y"}_label`];let u=0;if(i&&(V(c)||V(c.text)||/^inner-/.test(c==null?void 0:c.position))){const p=n.main.select(`.${r}-label`);p.empty()||(u=p.node().getBoundingClientRect().left)}const d=l&&o?l.getBoundingClientRect():{right:0},h=n.chart.node().getBoundingClientRect().left+u,g=t.hasArcType(),f=d.right-h-(g?0:t.getCurrentPaddingByDirection("left",e));return f>0?f:0},updateDimension(e){var t;const s=this,{config:i,state:{hasAxis:n},$el:a}=s;n&&!e&&s.axis.x&&i.axis_rotated&&((t=s.axis.subX)==null||t.create(a.axis.subX)),s.updateScales(e),s.updateSvgSize(),s.transformAll(!1)},updateSvgSize(){const e=this,{config:t,state:{clip:s,current:i,hasAxis:n,width:a,height:o},$el:{svg:r}}=e;if(t.resize_auto==="viewBox"?r.attr("viewBox",`0 0 ${i.width} ${i.height}`):r.attr("width",i.width).attr("height",i.height),n){const l=r.select(`.${is.brush} .overlay`),c={width:0,height:0};l.size()&&(c.width=+l.attr("width"),c.height=+l.attr("height")),r.selectAll([`#${s.id}`,`#${s.idGrid}`]).select("rect").attr("width",a).attr("height",o),r.select(`#${s.idXAxis}`).select("rect").call(e.setXAxisClipPath.bind(e)),r.select(`#${s.idYAxis}`).select("rect").call(e.setYAxisClipPath.bind(e)),s.idSubchart&&r.select(`#${s.idSubchart}`).select("rect").attr("width",a).attr("height",c.height)}},getCurrentPaddingByDirection(e,t=!1,s=!1){var i;const n=this,{config:a,$el:o,state:{hasAxis:r}}=n,l=a.axis_rotated,c=((i=a.padding)==null?void 0:i.mode)==="fit",u=L(a[`padding_${e}`])?a[`padding_${e}`]:void 0,d=r?{top:l?"y2":null,bottom:l?"y":"x",left:l?"x":"y",right:l?null:"y2"}[e]:null,h=/^(left|right)$/.test(e),g=d&&a[`axis_${d}_inner`],f=d&&a[`axis_${d}_show`],p=d?a[`axis_${d}_axes`].length:0;let _=d?h?n.getAxisWidthByAxisId(d,t):n.getHorizontalAxisHeight(d):0;const x=20;let m=0;!c&&h&&(_=cn(_));let $=r&&h&&(g||it(u)&&!f)?0:c?(f?_:0)+(u!=null?u:0):it(u)?_:u;return h&&r?(d&&(c||g)&&a[`axis_${d}_label`].text&&($+=n.axis.getAxisLabelPosition(d).isOuter?x:0),e==="right"?($+=l?!c&&it(u)?10:2:!f||g?c?2:1:0,$+=s?n.axis.getXAxisTickTextY2Overflow(x):0):e==="left"&&l&&it(u)&&($=a.axis_x_show?c?_:Math.max(_,40):1)):e==="top"?(o.title&&o.title.node()&&($+=n.getTitlePadding()),m=l&&!g?p:0):e==="bottom"&&r&&l&&!f&&($+=1),$+_*p-m},getCurrentPadding(e=!1){const t=this,[s,i,n,a]=["top","bottom","left","right"].map(o=>t.getCurrentPaddingByDirection(o,null,e));return{top:s,bottom:i,left:n,right:a}},getResettedPadding(e){const t=this,{config:s}=t,i=L(e);let n=i?0:{};return s.padding===!1?!i&&Object.keys(e).forEach(a=>{n[a]=!At(s.data_labels)&&s.data_labels!==!1&&a==="top"?e[a]:0}):n=e,n},updateSizes(e){var t,s,i,n,a;const o=this,{config:r,state:l,$el:{legend:c}}=o,u=r.axis_rotated,d=o.hasArcType()||l.hasFunnel||l.hasTreemap,h=((t=r.padding)==null?void 0:t.mode)==="fit";!e&&o.setContainerSize();const g={width:c?o.getLegendWidth():0,height:c?o.getLegendHeight():0};!d&&r.axis_x_show&&r.axis_x_tick_autorotate&&o.updateXAxisTickClip();const f={right:r.legend_show&&l.isLegendRight?o.getLegendWidth()+(h?0:20):0,bottom:!r.legend_show||l.isLegendRight||l.isLegendInset?0:g.height},p=u||d?0:o.getHorizontalAxisHeight("x"),_=r.subchart_axis_x_show&&r.subchart_axis_x_tick_text_show?p:30,x=r.subchart_show&&!d?r.subchart_size_height+_:0,m=o.hasType("gauge")&&r.arc_needle_show&&!r.gauge_fullCircle&&!r.gauge_label_show?10:0,$=o.getCurrentPadding(!0);if(l.margin=!d&&u?{top:$.top,right:d?0:$.right+f.right,bottom:f.bottom+$.bottom,left:x+(d?0:$.left)}:{top:(h?0:4)+$.top,right:d?0:$.right+f.right,bottom:m+x+f.bottom+$.bottom,left:d?0:$.left},l.margin=o.getResettedPadding(l.margin),l.margin2=u?{top:l.margin.top,right:NaN,bottom:20+f.bottom,left:o.state.rotatedPadding.left}:{top:l.current.height-x-f.bottom,right:NaN,bottom:_+f.bottom,left:l.margin.left},l.margin3={top:0,right:NaN,bottom:0,left:0},(s=o.updateSizeForLegend)==null||s.call(o,g),l.width=l.current.width-l.margin.left-l.margin.right,l.height=l.current.height-l.margin.top-l.margin.bottom,l.width<0&&(l.width=0),l.height<0&&(l.height=0),l.width2=u?l.margin.left-l.rotatedPadding.left-l.rotatedPadding.right:l.width,l.height2=u?l.height:l.current.height-l.margin2.top-l.margin2.bottom,l.width2<0&&(l.width2=0),l.height2<0&&(l.height2=0),o.hasArcType()){const b=o.hasType("gauge"),v=r.legend_show&&l.isLegendRight,y=(i=l.hasRadar&&o.cache.get(pt.radarTextWidth))!=null?i:0;l.arcWidth=l.width-(v?g.width+10:0)-y,l.arcHeight=l.height-(v&&!b?0:10),(n=r.arc_rangeText_values)!=null&&n.length&&(b?(l.arcWidth-=25,l.arcHeight-=10,l.margin.left+=10):(l.arcHeight-=20,l.margin.top+=10)),b&&!r.gauge_fullCircle&&(l.arcHeight+=l.height-o.getPaddingBottomForGauge()),(a=o.updateRadius)==null||a.call(o)}l.isLegendRight&&d&&(l.margin3.left=l.arcWidth/2+l.radiusExpanded*1.1)}},sa={setCssRule(e,t,s,i){const n=this,{config:a,state:{cssRule:o,style:r}}=n;return a.boost_useCssRule?l=>{l.each(c=>{const u=i&&(i==null?void 0:i.call(n,c)),d=`${e?`.${st.shapes+n.getTargetSelectorSuffix(c.id)}`:""}${t}`;t in o&&r.sheet.deleteRule(o[d]),n.state.cssRule[d]=gn(r,d,s.filter(Boolean).map(h=>V(u)&&h.indexOf(":")===-1?`${h}: ${u}`:h||""))})}:()=>{}},getStylePropValue(e){const{config:{boost_useCssRule:t}}=this;return t?null:O(e)?e.bind(this):e}};function ia(e){let t="middle";return e>0&&e<=170?t="end":e>190&&e<=360&&(t="start"),t}function na(e,t,s,i,n){var a;const o=this,{value:r}=e,l=o.isCandlestickType(e),c=L(r)&&r<0||l&&!((a=o.getCandlestickData(e))!=null&&a._isUp);let{x:u,y:d}=t;const h=4,g=h*2;return i?s==="start"?(u+=c?0:g,d+=h):s==="middle"?(u+=g,d-=g):s==="end"&&(c&&(u-=g),d+=h):(s==="start"?(u+=h,c&&(d+=g*2)):s==="middle"?d-=g:s==="end"&&(u-=h,c&&(d+=g*2)),n&&(d+=c?-17:l?13:7)),{x:u,y:d}}function Rs(e,t){var s;const i=this.config.data_labels_position,{id:n,index:a,value:o}=e;return(s=O(i)?i.bind(this.api)(t,o,n,a,this.$el.text):(n in i?i[n]:i)[t])!=null?s:0}var aa={opacityForText(e){const t=this;return t.isBarType(e)&&!t.meetsLabelThreshold(Math.abs(t.getRatio("bar",e)),"bar")?"0":t.hasDataLabel?null:"0"},initText(){const{$el:e}=this;e.main.select(`.${D.chart}`).append("g").attr("class",gt.chartTexts).style("pointer-events",e.funnel||e.treemap?"none":null)},updateTargetsForText(e){const t=this,s=t.getChartClass("Text"),i=t.getClass("texts","id"),n=t.classFocus.bind(t);t.$el.main.select(`.${gt.chartTexts}`).selectAll(`.${gt.chartText}`).data(e).attr("class",r=>`${s(r)}${n(r)}`.trim()).enter().append("g").style("opacity","0").attr("class",s).call(t.setCssRule(!0,` .${gt.text}`,["fill","pointer-events:none"],t.updateTextColor)).append("g").attr("class",i)},updateText(){const e=this,{$el:t,$T:s,config:i,axis:n}=e,a=e.getClass("text","index"),o=i.data_labels.centered,r=t.main.selectAll(`.${gt.texts}`).selectAll(`.${gt.text}`).data(e.labelishData.bind(e));s(r.exit()).style("fill-opacity","0").remove(),t.text=r.enter().append("text").merge(r).attr("class",a).attr("text-anchor",l=>{let u=i[`axis_${n==null?void 0:n.getId(l.id)}_inverted`]?l.value>0:l.value<0;if(e.isCandlestickType(l)){const d=e.getCandlestickData(l);u=!(d!=null&&d._isUp)}else if(e.isTreemapType(l))return o?"middle":"start";return i.axis_rotated?u?"end":"start":"middle"}).style("fill",e.getStylePropValue(e.updateTextColor)).style("fill-opacity","0").each(function(l,c,u){const d=(0,w.select)(this);let{value:h}=l;if(e.isBubbleZType(l))h=e.getBubbleZData(h,"z");else if(e.isCandlestickType(l)){const g=e.getCandlestickData(l);g&&(h=g.close)}h=e.isTreemapType(l)?e.treemapDataLabelFormat(l)(d):e.dataLabelFormat(l.id)(h,l.id,l.index,u),L(h)?this.textContent=h:ce(d,h)})},updateTextColor(e){const t=this,{config:s}=t,i=s.data_labels_colors,n=t.isArcType(e)&&!t.isRadarType(e)||t.isFunnelType(e)||t.isTreemapType(e)?null:t.color(e);let a;if(V(i))a=i;else if(X(i)){const{id:o}=e.data||e;a=i[o]}else O(i)&&(a=i.bind(t.api)(n,e));if(t.isCandlestickType(e)&&!O(i)){const o=t.getCandlestickData(e);if(!(o!=null&&o._isUp)){const r=s.candlestick_color_down;a=X(r)?r[e.id]:r}}return a||n},updateTextBGColor(e,t){const s=this,{$el:i}=s;let n="";if(V(t)||X(t)){const a=V(t)?"":s.getTargetSelectorSuffix("id"in e?e.id:e.data.id),o=i.defs.select(["filter[id*='labels-bg","']"].join(a));o.size()&&(n=`url(#${o.attr("id")})`)}return n||null},redrawText(e,t,s,i){const n=this,{$T:a,axis:o,config:r,state:{hasTreemap:l}}=n,c=kt(!0),u=r.axis_rotated,d=r.data_labels.rotate,h=ia(d),g=d?`rotate(${d})`:"";return n.$el.text.style("fill",n.getStylePropValue(n.updateTextColor)).attr("filter",f=>n.updateTextBGColor.bind(n)(f,r.data_labels_backgroundColors)).style("fill-opacity",s?0:n.opacityForText.bind(n)).each(function(f,p){const _=a(l&&this.childElementCount?this.parentNode:this,!!(i&&this.getAttribute("x")),c),x=r[`axis_${o==null?void 0:o.getId(f.id)}_inverted`];let m={x:e.bind(this)(f,p),y:t.bind(this)(f,p)};d&&(m=na.bind(n)(f,m,h,u,x),_.attr("text-anchor",h)),this.childElementCount||d?_.attr("transform",`translate(${m.x} ${m.y}) ${g}`):_.attr("x",m.x).attr("y",m.y)}),!0},getTextRect(e,t){const s=this;let i=e.node?e.node():e;/text/i.test(i.tagName)||(i=i.querySelector("text"));const n=i.textContent,a=`${pt.textRect}-${n.replace(/\W/g,"_")}`;let o=s.cache.get(a);return o||(s.$el.svg.append("text").style("visibility","hidden").style("font",(0,w.select)(i).style("font")).classed(t,!0).text(n).call(r=>{o=be(r.node())}).remove(),s.cache.add(a,o)),o},generateXYForText(e,t){const s=this,{state:{hasRadar:i,hasFunnel:n,hasTreemap:a}}=s,o=Object.keys(e),r={},l=t?s.getXForText:s.getYForText;return n&&o.push("funnel"),i&&o.push("radar"),a&&o.push("treemap"),o.forEach(c=>{r[c]=s[`generateGet${ft(c)}Points`](e[c],!1)}),function(c,u){const d=s.isAreaType(c)&&"area"||s.isBarType(c)&&"bar"||s.isCandlestickType(c)&&"candlestick"||s.isFunnelType(c)&&"funnel"||s.isRadarType(c)&&"radar"||s.isTreemapType(c)&&"treemap"||"line";return l.call(s,r[d](c,u),c,this)}},getCenteredTextPos(e,t,s,i){const n=this,{config:a}=n,o=a.axis_rotated,r=n.isBarType(e),l=n.isTreemapType(e);if(a.data_labels.centered&&(r||l)){const c=be(s);if(r){const u=n.getRangedData(e,null,"bar")>=0;if(o){const d=(u?t[1][1]-t[0][1]:t[0][1]-t[1][1])/2+c.width/2;return u?-d-3:d+2}else{const d=(u?t[0][1]-t[1][1]:t[1][1]-t[0][1])/2+c.height/2;return u?d:-d-2}}else if(l)return i==="x"?(t[1][0]-t[0][0])/2:(t[1][1]-t[0][1])/2+c.height/2}return 0},getXForText(e,t,s){var i;const n=this,{config:a}=n,o=a.axis_rotated,r=n.isFunnelType(t),l=n.isTreemapType(t);let c=e?e[0][0]:0;if(n.isCandlestickType(t))o?c=(i=n.getCandlestickData(t))!=null&&i._isUp?e[2][2]+4:e[2][1]-4:c+=(e[1][0]-c)/2;else if(r)c+=n.state.current.width/2;else if(l)c+=a.data_labels.centered?0:5;else if(o){const u=a[`axis_${n.axis.getId(t.id)}_inverted`],d=n.isBarType(t)?4:6,h=t.value;c=e[2][1],u?c-=d*(h>0?1:-1):c+=d*(h<0?-1:1)}else c=n.hasType("bar")?(e[2][0]+e[0][0])/2:c;return(o||l)&&(c+=n.getCenteredTextPos(t,e,s,"x")),c+Rs.call(this,t,"x")},getYForText(e,t,s){const i=this,{axis:n,config:a,state:o}=i,r=a.axis_rotated,l=a[`axis_${n==null?void 0:n.getId(t.id)}_inverted`],c=i.isBarType(t),u=i.isFunnelType(t),d=i.isTreemapType(t),h=a.point_r,g=be(s);let{value:f}=t,p=3,_;if(i.isCandlestickType(t))f=i.getCandlestickData(t),r?(_=e[0][0],_+=(e[1][0]-_)/2+p):(_=f&&f._isUp?e[2][2]-p:e[2][1]+p*4,l&&(_+=15*(f._isUp?1:-1)));else if(u)_=e?e[0][1]+(e[1][1]-e[0][1])/2+g.height/2-3:0;else if(d)_=e[0][1]+(a.data_labels.centered?0:g.height+5);else if(r)_=(e[0][0]+e[2][0]+g.height*.6)/2;else if(_=e[2][1],L(h)&&h>5&&(i.isLineType(t)||i.isScatterType(t))&&(p+=a.point_r/2.3),f<0||f===0&&!o.hasPositiveValue&&o.hasNegativeValue)_+=l?c?-3:-5:g.height+(c?-p:p);else{let x=-p*2;c?x=-p:i.isBubbleType(t)&&(x=p),l&&(x=c?10:15),_+=x}return(!r||d)&&(_+=i.getCenteredTextPos(t,e,s,"y")),_+Rs.call(this,t,"y")},markOverlapped(e,t,s){const i=t.$el.arcs.selectAll(s),n=i.filter(l=>l.data.id!==e),a=i.filter(l=>l.data.id===e),o=fs(a.node()),r=(l,c)=>Math.sqrt(Math.pow(l,2)+Math.pow(c,2));a.node()&&n.each(function(){const l=fs(this),c=(0,w.select)(this),u=r(o.e,o.f)>r(l.e,l.f)?a:c,d=Math.ceil(Math.abs(o.e-l.e))=n}};function Cs(e="left",t){const s=L(t);let i;return e.indexOf("center")>-1?i=s?t/2:"middle":e.indexOf("right")>-1?i=s?t:"end":i=s?0:"start",i}var oa={initTitle(){const e=this,{config:t,$el:s}=e;if(t.title_text){s.title=s.svg.append("g");const i=s.title.append("text").style("text-anchor",Cs(t.title_position)).attr("class",gt.title);ce(i,t.title_text,[.3,1.5])}},redrawTitle(){const e=this,{config:t,state:{current:s},$el:{title:i}}=e;if(i){const n=Cs(t.title_position,s.width),a=(t.title_padding.top||0)+e.getTextRect(e.$el.title,gt.title).height;i.attr("transform",`translate(${n}, ${a})`)}},getTitlePadding(){const e=this,{$el:{title:t},config:s}=e;return(s.title_padding.top||0)+(t?e.getTextRect(t,gt.title).height:0)+(s.title_padding.bottom||0)}},ra={initTooltip(){const e=this,{config:t,$el:s}=e;s.tooltip=(0,w.select)(t.tooltip_contents.bindto),s.tooltip.empty()&&(s.tooltip=s.chart.append("div").attr("class",_e.tooltipContainer).style("position","absolute").style("pointer-events","none").style("display","none")),e.bindTooltipResizePos()},initShowTooltip(){var e;const t=this,{config:s,$el:i,state:{hasAxis:n,hasRadar:a}}=t;if(s.tooltip_init_show){const o=!(n||a);(e=t.axis)!=null&&e.isTimeSeries()&&V(s.tooltip_init_x)&&(s.tooltip_init_x=mt.call(t,s.tooltip_init_x)),t.api.tooltip.show({data:{[o?"index":"x"]:s.tooltip_init_x}});const r=s.tooltip_init_position;if(!s.tooltip_contents.bindto&&!At(r)){const{top:l=0,left:c=50}=r;i.tooltip.style("top",V(l)?l:`${l}px`).style("left",V(c)?c:`${c}px`).style("display",null)}}},getTooltipHTML(...e){const t=this,{api:s,config:i}=t;return O(i.tooltip_contents)?i.tooltip_contents.bind(s)(...e):t.getTooltipContent(...e)},getTooltipContent(e,t,s,i){var n;const a=this,{api:o,config:r,state:l,$el:c}=a,[u,d,h]=["title","name","value"].map(P=>{const k=r[`tooltip_format_${P}`];return O(k)?k.bind(o):k}),g=(...P)=>Oe((u||t)(...P)),f=(...P)=>Oe((d||(k=>k))(...P)),p=(...P)=>{const k=h||(l.hasTreemap||a.isStackNormalized()?(F,W)=>`${(W*100).toFixed(2)}%`:s);return Oe(k(...P))},_=r.tooltip_order,x=P=>a.axis&&a.isBubbleZType(P)?a.getBubbleZData(P.value,"z"):a.getBaseValue(P),m=a.levelColor?P=>a.levelColor(P.value):P=>i(P),$=r.tooltip_contents,b=$.template,v=a.mapToTargetIds();if(_===null&&r.data_groups.length){const P=a.orderTargets(a.data.targets).map(k=>k.id).reverse();e.sort((k,F)=>{let W=k?k.value:null,J=F?F.value:null;return W>0&&J>0&&(W=k.id?P.indexOf(k.id):null,J=F.id?P.indexOf(F.id):null),W-J})}else if(/^(asc|desc)$/.test(_)){const P=_==="asc";e.sort((k,F)=>{const W=k?x(k):null,J=F?x(F):null;return P?W-J:J-W})}else O(_)&&e.sort(_.bind(o));const y=a.getTooltipContentTemplate(b),A=e.length;let S,R,T,C,z;for(z=0;z${P}`:""})}if(!R.ratio&&c.arcs&&(T=["arc",a.$el.arcs.select(`path.${G.arc}-${R.id}`).data()[0]],R.ratio=a.getRatio(...T)),T=[R.ratio,R.id,R.index],a.isAreaRangeType(R)){const[P,k]=["high","low"].map(W=>p(a.getRangedData(R,W),...T));C=`Mid: ${p(x(R),...T)} High: ${P} Low: ${k}`}else if(a.isCandlestickType(R)){const[P,k,F,W,J]=["open","high","low","close","volume"].map(lt=>a.getRangedData(R,lt,"candlestick")?p(a.getRangedData(R,lt,"candlestick"),...T):void 0);C=`Open: ${P} High: ${k} Low: ${F} Close: ${W}${J?` Volume: ${J}`:""}`}else if(a.isBarRangeType(R)){const{value:P,id:k,index:F}=R;C=`${p(P,void 0,k,F)}`}else C=p(x(R),...T);if(C!==void 0){if(R.name===null)continue;const P=f((n=R.name)!=null?n:R.id,...T),k=m(R),F={CLASS_TOOLTIP_NAME:_e.tooltipName+a.getTargetSelectorSuffix(R.id),COLOR:b||!a.patterns?k:``,NAME:P,VALUE:C};if(b&&X($.text)){const W=v.indexOf(R.id);Object.keys($.text).forEach(J=>{F[J]=$.text[J][W]})}S+=Te(y[1],F)}}return`${S}`},getTooltipContentTemplate(e){return(e||` + };`],{type:"text/javascript"})),j.URL.createObjectURL(Ne[n])}function Dn(e){const t=new j.Worker(e);return t.onerror=function(s){console.error?console.error(s):console.log(s)},t}function Ge(e=!0,t,s,i){let n=function(...a){const o=t(...a);s(o)};if(j.Worker&&e){const a=In(t,i),o=Dn(a);n=function(...r){o.postMessage(r),o.onmessage=function(l){return j.URL.revokeObjectURL(a),s(l.data)}}}return n}var we=U(5);function Ve(e){const t=[];return e.forEach(function(s,i){const n=s[0];s.forEach(function(a,o){if(o>0){if(typeof t[o-1]=="undefined"&&(t[o-1]={}),typeof a=="undefined")throw new Error(`Source data is missing a component at (${i}, ${o})!`);t[o-1][n]=a}})}),t}function Ye(e){const t=e[0],s=[];return e.forEach(function(i,n){if(n>0){const a={};i.forEach(function(o,r){if(typeof o=="undefined")throw new Error(`Source data is missing a component at (${n}, ${r})!`);a[t[r]]=o}),s.push(a)}}),s}function bs(e,t){const s=[];let i,n;if(Array.isArray(e)){const a=function(o,r){if(o[r]!==void 0)return o[r];const c=r.replace(/\[(\w+)\]/g,".$1").replace(/^\./,"").split(".");let u=o;return c.some(function(d){return!(u=u&&d in u?u[d]:void 0)}),u};t.x?i=t.value.concat(t.x):i=t.value,s.push(i),e.forEach(function(o){const r=i.map(function(l){let c=a(o,l);return typeof c=="undefined"&&(c=null),c});s.push(r)}),n=Ye(s)}else Object.keys(e).forEach(function(a){var o;const r=e[a].concat();(o=r.unshift)==null||o.call(r,a),s.push(r)}),n=Ve(s);return n}function zn(e,t="csv",s,i,n){const a=new XMLHttpRequest,o={csv:Fn,tsv:Mn,json:bs};a.open("GET",e),s&&Object.keys(s).forEach(function(r){a.setRequestHeader(r,s[r])}),a.onreadystatechange=function(){if(a.readyState===4)if(a.status===200){const r=a.responseText;r&&n.call(this,o[t](t==="json"?JSON.parse(r):r,i))}else throw new Error(`${e}: Something went wrong loading!`)},a.send()}function vs(e,t){const s=e.rows(t);let i;return s.length===1?(i=[{}],s[0].forEach(n=>{i[0][n]=null})):i=e.parse(t),i}function Fn(e){return vs({rows:we.csvParseRows,parse:we.csvParse},e)}function Mn(e){return vs({rows:we.tsvParseRows,parse:we.tsvParse},e)}function Ts(e,t){const s=e||(t==null?void 0:t.data_keys);return s!=null&&s.x&&(t.data_x=s.x),s}var Xn={convertData(e,t){const{config:s}=this,i=s.boost_useWorker;let n=e;if(e.bindto&&(n={},["url","mimeType","headers","keys","json","keys","rows","columns"].forEach(a=>{const o=`data_${a}`;o in e&&(n[a]=e[o])})),n.url&&t)zn(n.url,n.mimeType,n.headers,Ts(n.keys,s),t);else if(n.json)Ge(i,bs,t,[Ve,Ye])(n.json,Ts(n.keys,s));else if(n.rows)Ge(i,Ye,t)(n.rows);else if(n.columns)Ge(i,Ve,t)(n.columns);else if(e.bindto)throw Error("url or json or rows or columns is required.")},convertDataToTargets(e,t){const s=this,{axis:i,config:n,state:a}=s,o=n.data_type;let r=!1,l=!1,c=!1;i&&(r=i.isCategorized(),l=i.isTimeSeries(),c=i.isCustomX());const u=Object.keys(e[0]||{}),d=u.length?u.filter(s.isNotX,s):[],h=u.length?u.filter(s.isX,s):[];let g;d.forEach(p=>{const _=this.getXKey(p);c||l?h.indexOf(_)>=0?g=(t&&s.data.xs[p]||[]).concat(e.map(x=>x[_]).filter(M).map((x,m)=>s.generateTargetX(x,p,m))):n.data_x?g=this.getOtherTargetXs():nt(n.data_xs)&&(g=s.getXValuesOfXKey(_,s.data.targets)):g=e.map((x,m)=>m),g&&(this.data.xs[p]=g)}),d.forEach(p=>{if(!this.data.xs[p])throw new Error(`x is not defined for id = "${p}".`)});const f=d.map((p,_)=>{const x=n.data_idConverter.bind(s.api)(p),m=s.getXKey(p),$=c&&r,b=$&&e.map(A=>A.x).every(A=>n.axis_x_categories.indexOf(A)>-1),v=e.__append__,y=m===null&&v?s.api.data.values(p).length:0;return{id:x,id_org:p,values:e.map((A,S)=>{const R=A[m];let T=A[p],C;return T=T!==null&&!isNaN(T)&&!X(T)?+T:N(T)||X(T)?T:null,($||a.hasRadar)&&_===0&&!it(R)?(!b&&_===0&&S===0&&!v&&(n.axis_x_categories=[]),C=n.axis_x_categories.indexOf(R),C===-1&&(C=n.axis_x_categories.length,n.axis_x_categories.push(R))):C=s.generateTargetX(R,p,y+S),(it(T)||s.data.xs[p].length<=S)&&(C=void 0),{x:C,value:T,id:x,index:-1}}).filter(A=>H(A.x))}});if(f.forEach(p=>{var _;n.data_xSort&&(p.values=p.values.sort((x,m)=>{const $=x.x||x.x===0?x.x:1/0,b=m.x||m.x===0?m.x:1/0;return $-b})),p.values.forEach((x,m)=>x.index=m),(_=s.data.xs[p.id])==null||_.sort((x,m)=>x-m)}),a.hasNegativeValue=s.hasNegativeValueInTargets(f),a.hasPositiveValue=s.hasPositiveValueInTargets(f),o&&s.isValidChartType(o)){const p=s.mapToIds(f).filter(_=>!(_ in n.data_types)||!s.isValidChartType(n.data_types[_]));s.setTargetType(p,o)}return f.forEach(p=>s.cache.add(p.id_org,p,!0)),f}},Bn={isX(e){const t=this,{config:s}=t,i=s.data_x&&e===s.data_x,n=nt(s.data_xs)&&dn(s.data_xs,e);return i||n},isNotX(e){return!this.isX(e)},isStackNormalized(){const{config:e}=this;return!!(e.data_stack_normalize&&e.data_groups.length)},isGrouped(e){const t=this.config.data_groups;return e?t.some(s=>s.indexOf(e)>=0&&s.length>1):t.length>0},getXKey(e){const t=this,{config:s}=t;return s.data_x?s.data_x:nt(s.data_xs)?s.data_xs[e]:null},getXValuesOfXKey(e,t){const s=this,i=t&&nt(t)?s.mapToIds(t):[];let n;return i.forEach(a=>{s.getXKey(a)===e&&(n=s.data.xs[a])}),n},getIndexByX(e,t){const s=this;return t?t.indexOf(V(e)?e:+e):(s.filterByX(s.data.targets,e)[0]||{index:null}).index},getXValue(e,t){const s=this;return e in s.data.xs&&s.data.xs[e]&&M(s.data.xs[e][t])?s.data.xs[e][t]:t},getOtherTargetXs(){const e=this,t=Object.keys(e.data.xs);return t.length?e.data.xs[t[0]]:null},getOtherTargetX(e){const t=this.getOtherTargetXs();return t&&e{s.data_xs[i]=e[i]})},isMultipleX(){return!this.config.axis_x_forceAsSingle&&(nt(this.config.data_xs)||this.hasType("bubble")||this.hasType("scatter"))},addName(e){const t=this,{config:s}=t;let i;return e&&(i=s.data_names[e.id],e.name=i!==void 0?i:e.id),e},getAllValuesOnIndex(e,t=!1){const s=this;let i=s.filterTargetsToShow(s.data.targets).map(n=>s.addName(s.getValueOnIndex(n.values,e)));return t&&(i=i.filter(n=>n&&"value"in n&&M(n.value))),i},getValueOnIndex(e,t){const s=e.filter(i=>i.index===t);return s.length?s[0]:null},updateTargetX(e,t){const s=this;e.forEach(i=>{i.values.forEach((n,a)=>{n.x=s.generateTargetX(t[a],i.id,a)}),s.data.xs[i.id]=t})},updateTargetXs(e,t){const s=this;e.forEach(i=>{t[i.id]&&s.updateTargetX([i],t[i.id])})},generateTargetX(e,t,s){const i=this,{axis:n}=i;let a=n!=null&&n.isCategorized()?s:e||s;if(n!=null&&n.isTimeSeries()){const o=mt.bind(i);a=o(e||i.getXValue(t,s))}else n!=null&&n.isCustomX()&&!(n!=null&&n.isCategorized())&&(a=M(e)?+e:i.getXValue(t,s));return a},updateXs(e){e.length&&(this.axis.xs=e.map(t=>t.x))},getPrevX(e){const t=this.axis.xs[e-1];return H(t)?t:null},getNextX(e){const t=this.axis.xs[e+1];return H(t)?t:null},getBaseValue(e){const t=this,{hasAxis:s}=t.state;let{value:i}=e;return i&&s&&(t.isAreaRangeType(e)?i=t.getRangedData(e,"mid"):t.isBubbleZType(e)&&(i=t.getBubbleZData(i,"y"))),i},getMinMaxValue(e){const t=this.getBaseValue.bind(this);let s,i;return(e||this.data.targets.map(n=>n.values)).forEach((n,a)=>{const o=n.map(t).filter(L);s=Math.min(a?s:1/0,...o),i=Math.max(a?i:-1/0,...o)}),{min:s,max:i}},getMinMaxData(){const e=this,t=pt.dataMinMax;let s=e.cache.get(t);if(!s){const i=e.data.targets.map(r=>r.values),n=e.getMinMaxValue(i);let a=[],o=[];i.forEach(r=>{const l=e.getFilteredDataByValue(r,n.min),c=e.getFilteredDataByValue(r,n.max);l.length&&(a=a.concat(l)),c.length&&(o=o.concat(c))}),e.cache.add(t,s={min:a,max:o})}return s},getTotalPerIndex(){const e=this,t=pt.dataTotalPerIndex;let s=e.cache.get(t);return(e.config.data_groups.length||e.isStackNormalized())&&!s&&(s=[],e.data.targets.forEach(i=>{i.values.forEach((n,a)=>{s[a]||(s[a]=0),s[a]+=L(n.value)?n.value:0})})),s},getTotalDataSum(e){const t=this,s=pt.dataTotalSum;let i=t.cache.get(s);if(!L(i)){const n=Fe(t.data.targets.map(a=>a.values)).map(a=>a.value);i=n.length?n.reduce((a,o)=>a+o):0,t.cache.add(s,i)}return e&&(i-=t.getHiddenTotalDataSum()),i},getHiddenTotalDataSum(){const e=this,{api:t,state:{hiddenTargetIds:s}}=e;let i=0;return s.length&&(i=t.data.values.bind(t)(s).reduce((n,a)=>n+a)),i},getFilteredDataByValue(e,t){return e.filter(s=>this.getBaseValue(s)===t)},getMaxDataCount(){return Math.max(...this.data.targets.map(e=>e.values.length),0)},getMaxDataCountTarget(){let e=this.filterTargetsToShow()||[];const t=e.length,s=this.config.axis_x_inverted;return t>1?(e=e.map(i=>i.values).reduce((i,n)=>i.concat(n)).map(i=>i.x),e=Kt(ze(e)).map((i,n,a)=>({x:i,index:s?a.length-n-1:n}))):t&&(e=e[0].values.concat()),e},mapToIds(e){return e.map(t=>t.id)},mapToTargetIds(e){const t=this;return e?N(e)?e.concat():[e]:t.mapToIds(t.data.targets)},hasTarget(e,t){const s=this.mapToIds(e);for(let i=0,n;n=s[i];i++)if(n===t)return!0;return!1},isTargetToShow(e){return this.state.hiddenTargetIds.indexOf(e)<0},isLegendToShow(e){return this.state.hiddenLegendIds.indexOf(e)<0},filterTargetsToShow(e){const t=this;return(e||t.data.targets).filter(s=>t.isTargetToShow(s.id))},mapTargetsToUniqueXs(e){const t=this,{axis:s}=t;let i=[];return e!=null&&e.length&&(i=ze(Fe(e.map(n=>n.values.map(a=>+a.x)))),i=s!=null&&s.isTimeSeries()?i.map(n=>new Date(+n)):i.map(Number)),Kt(i)},addTargetIds(e,t){const{state:s}=this;(N(t)?t:[t]).forEach(n=>{s[e].indexOf(n)<0&&s[e].push(n)})},removeTargetIds(e,t){const{state:s}=this;(N(t)?t:[t]).forEach(n=>{const a=s[e].indexOf(n);a>=0&&s[e].splice(a,1)})},addHiddenTargetIds(e){this.addTargetIds("hiddenTargetIds",e)},removeHiddenTargetIds(e){this.removeTargetIds("hiddenTargetIds",e)},addHiddenLegendIds(e){this.addTargetIds("hiddenLegendIds",e)},removeHiddenLegendIds(e){this.removeTargetIds("hiddenLegendIds",e)},getValuesAsIdKeyed(e){const t=this,{hasAxis:s}=t.state,i={},n=t.isMultipleX(),a=n?t.mapTargetsToUniqueXs(e).map(o=>V(o)?o:+o):null;return e.forEach(o=>{const r=[];o.values.filter(({value:l})=>M(l)||l===null).forEach(l=>{let{value:c}=l;c!==null&&t.isCandlestickType(l)&&(c=N(c)?c.slice(0,4):[c.open,c.high,c.low,c.close]),N(c)?r.push(...c):X(c)&&"high"in c?r.push(...Object.values(c)):t.isBubbleZType(l)?r.push(s&&t.getBubbleZData(c,"y")):n?r[t.getIndexByX(l.x,a)]=c:r.push(c)}),i[o.id]=r}),i},checkValueInTargets(e,t){const s=Object.keys(e);let i;for(let n=0;n1},hasNegativeValueInTargets(e){return this.checkValueInTargets(e,t=>t<0)},hasPositiveValueInTargets(e){return this.checkValueInTargets(e,t=>t>0)},orderTargets(e){const t=this,s=[...e],i=t.getSortCompareFn();return i&&s.sort(i),s},getSortCompareFn(e=!1){const t=this,{config:s}=t,i=s.data_order,n=/asc/i.test(i),a=/desc/i.test(i);let o;if(n||a){const r=(c,u)=>c+Math.abs(u.value),l=c=>L(c)?c:"values"in c?c.values.reduce(r,0):c.value;o=(c,u)=>{const d=l(c),h=l(u);return e?n?d-h:h-d:n?h-d:d-h}}else O(i)&&(o=i.bind(t.api));return o||null},filterByX(e,t){return Fe(e.map(s=>s.values)).filter(s=>s.x-t===0)},filterRemoveNull(e){return e.filter(t=>M(this.getBaseValue(t)))},filterByXDomain(e,t){return e.map(s=>({id:s.id,id_org:s.id_org,values:s.values.filter(i=>t[0]<=i.x&&i.x<=t[1])}))},hasDataLabel(){const e=this.config.data_labels;return Oe(e)&&e||St(e)&&nt(e)},hasNullDataValue(e){return e.some(({value:t})=>t===null)},getDataIndexFromEvent(e){const t=this,{$el:s,config:i,state:{hasRadar:n,inputType:a,eventReceiver:{coords:o,rect:r}}}=t;let l;if(n){let c=e.target;/tspan/i.test(c.tagName)&&(c=c.parentNode);const u=(0,w.select)(c).datum();l=u&&Object.keys(u).length===1?u.index:void 0}else{const c=i.axis_rotated,u=gs(s.chart.node()),d=a==="touch"&&e.changedTouches?e.changedTouches[0]:e;let h=c?d.clientY+u.y:d.clientX+u.x;if(Me(s.svg)){const g=[h,0];c&&g.reverse(),h=ve(s.svg.node(),...g)[c?"y":"x"]}else h-=c?r.top:r.left;l=De(o,h,0,o.length-1,c)}return l},getDataLabelLength(e,t,s){const i=this,n=[0,0],a=1.3;return i.$el.chart.select("svg").selectAll(".dummy").data([e,t]).enter().append("text").text(o=>i.dataLabelFormat(o.id)(o)).each(function(o,r){n[r]=this.getBoundingClientRect()[s]*a}).remove(),n},isNoneArc(e){return this.hasTarget(this.data.targets,e.id)},isArc(e){return"data"in e&&this.hasTarget(this.data.targets,e.data.id)},findSameXOfValues(e,t){const s=e[t].x,i=[];let n;for(n=t-1;n>=0&&s===e[n].x;n--)i.push(e[n]);for(n=t;ns.findClosest(n.values,t));return s.findClosest(i,t)},findClosest(e,t){const s=this,{$el:{main:i}}=s,n=e.filter(r=>r&&M(r.value));let a,o;return n.filter(r=>s.isBarType(r.id)||s.isCandlestickType(r.id)).forEach(r=>{const l=s.isBarType(r.id)?`.${vt.chartBar}.${D.target}${s.getTargetSelectorSuffix(r.id)} .${vt.bar}-${r.index}`:`.${Ct.chartCandlestick}.${D.target}${s.getTargetSelectorSuffix(r.id)} .${Ct.candlestick}-${r.index} path`;!o&&s.isWithinBar(i.select(l).node())&&(o=r)}),n.filter(r=>!s.isBarType(r.id)&&!s.isCandlestickType(r.id)).forEach(r=>{const l=s.dist(r,t);a=s.getPointSensitivity(r),l{const{x:n,id:a}=i;s.push({x:n,id:a,value:i.value[0]}),s.push({x:n,id:a,value:i.value[2]})}),s},updateDataAttributes(e,t){const s=this,{config:i}=s,n=i[`data_${e}`];return it(t)||(Object.keys(t).forEach(a=>{n[a]=t[a]}),s.redraw({withLegend:!0})),n},getRangedData(e,t="",s="areaRange"){const i=e==null?void 0:e.value;if(N(i)){if(s==="bar")return i.reduce((n,a)=>a-n);{const n={areaRange:["high","mid","low"],candlestick:["open","high","low","close","volume"]}[s].indexOf(t);return n>=0&&i?i[n]:void 0}}else if(i&&t)return i[t];return i},setRatioForGroupedData(e){const t=this,{config:s}=t;if(s.data_groups.length&&e.some(i=>t.isGrouped(i.id))){const i=n=>t.getRatio("index",n,!0);e.forEach(n=>{"values"in n?n.values.forEach(i):i(n)})}},getRatio(e,t,s=!1){const i=this,{config:n,state:a}=i,o=i.api;let r=0;if(t&&o.data.shown().length)if(r=t.ratio||t.value,e==="arc")if(i.pie.padAngle()())r=t.value/i.getTotalDataSum(!0);else{const l=n.gauge_fullCircle?i.getArcLength():i.getStartingAngle()*-2,c=i.hasType("gauge")?l:Math.PI*2;r=(t.endAngle-t.startAngle)/c}else if(e==="index"){const l=o.data.values.bind(o);let c=this.getTotalPerIndex();if(a.hiddenTargetIds.length){let d=l(a.hiddenTargetIds,!1);d.length&&(d=d.reduce((h,g)=>h.map((f,p)=>(L(f)?f:0)+g[p])),c=c.map((h,g)=>h-d[g]))}const u=c[t.index];t.ratio=L(t.value)&&c&&u?t.value/u:0,r=t.ratio}else if(e==="radar")r=parseFloat(String(Math.max(t.value,0)))/a.current.dataMax*n.radar_size_ratio;else if(e==="bar"){const c=i.getYScaleById.bind(i)(t.id).domain().reduce((u,d)=>d-u);r=c===0?0:Math.abs(i.getRangedData(t,null,e)/c)}else e==="treemap"&&(r/=i.getTotalDataSum(!0));return s&&r?r*100:r},updateDataIndexByX(e){const t=this,s=e.reduce((i,n,a)=>(i[Number(n.x)]=a,i),{});t.data.targets.forEach(i=>{i.values.forEach((n,a)=>{let o=s[Number(n.x)];o===void 0&&(o=a),n.index=o})})},isBubbleZType(e){return this.isBubbleType(e)&&(X(e.value)&&("z"in e.value||"y"in e.value)||N(e.value)&&e.value.length>=2)},isBarRangeType(e){const t=this,{value:s}=e;return t.isBarType(e)&&N(s)&&s.length>=2&&s.every(i=>L(i))},getDataById(e){var t;const s=this.cache.get(e)||this.api.data(e);return(t=s==null?void 0:s[0])!=null?t:s}};function As(e,t=!1){const s=this,{api:i}=s;t&&s.api.flush(!0),e==null||e.call(i)}var Nn={load(e,t){const s=this,{axis:i,data:n,org:a,scale:o}=s,{append:r}=t,l={domain:null,currentDomain:null,x:null};let c=e;c&&(t.filter&&(c=c.filter(t.filter)),(t.type||t.types)&&c.forEach(u=>{var d;const h=((d=t.types)==null?void 0:d[u.id])||t.type;s.setTargetType(u.id,h)}),n.targets.forEach(u=>{for(let d=0;d{const i=e.data||s;e.append&&(i.__append__=!0),i&&t.load(t.convertDataToTargets(i),e)}))},unload(e,t){var s;const i=this,{state:n,$el:a,$T:o}=i,r=!!((s=i.hasLegendDefsPoint)!=null&&s.call(i));let l=t,c=e;if(i.cache.reset(),l||(l=()=>{}),c=c.filter(d=>i.hasTarget(i.data.targets,d)),!c||c.length===0){l();return}const u=a.svg.selectAll(c.map(d=>i.selectorTarget(d)));o(u).style("opacity","0").remove().call(ye,l),c.forEach(d=>{var h;const g=i.getTargetSelectorSuffix(d);n.withoutFadeIn[d]=!1,a.legend&&a.legend.selectAll(`.${Y.legendItem}${g}`).remove(),i.data.targets=i.data.targets.filter(f=>f.id!==d),r&&((h=a.defs)==null||h.select(`#${i.getDefsPointId(g)}`).remove())}),n.hasFunnel&&i.updateFunnel(i.data.targets),n.hasTreemap&&i.updateTargetsForTreemap(i.data.targets),i.updateTypesElements()}},ws=U(6),Gn={setExpand(e,t,s){const i=this,{config:n,$el:{circle:a}}=i;a&&n.point_focus_expand_enabled&&i.expandCircles(e,t,s),i.expandBarTypeShapes(!0,e,t,s)},expandBarTypeShapes(e=!0,t,s,i){const n=this;["bar","candlestick"].filter(a=>n.$el[a]).forEach(a=>{i&&n.$el[a].classed(D.EXPANDED,!1),n.getShapeByIndex(a,t,s).classed(D.EXPANDED,e)})},setOverOut(e,t){const s=this,{config:i,state:{hasFunnel:n,hasRadar:a,hasTreemap:o},$el:{main:r}}=s,l=X(t);if(l||t!==-1){const c=i[e?"data_onover":"data_onout"].bind(s.api);if(i.color_onover&&s.setOverColor(e,t,l),l){const u=s.getTargetSelectorSuffix(t.id),d=n||o?`${D.target+u} .${st.shape}`:G.arc+u;c(t,r.select(`.${d}`).node())}else if(i.tooltip_grouped)e&&(a&&s.isPointFocusOnly()?s.showCircleFocus(s.getAllValuesOnIndex(t,!0)):s.setExpand(t,null,!0)),!s.isMultipleX()&&r.selectAll(`.${st.shape}-${t}`).each(function(u){c(u,this)});else{const u=s.cache.get(pt.setOverOut)||[],d=r.selectAll(`.${st.shape}-${t}`).filter(function(g){return s.isWithinShape(this,g)}),h=d.filter(function(){return u.every(g=>g!==this)});if(!e||d.empty()||u.length===h.size()&&h.nodes().every((g,f)=>g!==u[f]))for(;u.length;){const g=u.pop();i.data_onout.bind(s.api)((0,w.select)(g).datum(),g)}h.each(function(){e&&(c((0,w.select)(this).datum(),this),u.push(this))}),s.cache.add(pt.setOverOut,u)}}},callOverOutForTouch(e){const t=this,s=t.cache.get(pt.callOverOutForTouch);(X(e)&&s?e.id!==s.id:e!==s)&&((s||L(s))&&t.setOverOut(!1,s),(e||L(e))&&t.setOverOut(!0,e),t.cache.add(pt.callOverOutForTouch,e))},getDraggableSelection(){const e=this,{config:t,state:s}=e;return t.interaction_enabled&&t.data_selection_draggable&&e.drag?(0,ws.drag)().on("drag",function(i){s.event=i,e.drag(yt(i,this))}).on("start",function(i){s.event=i,e.dragstart(yt(i,this))}).on("end",i=>{s.event=i,e.dragend()}):()=>{}},dispatchEvent(e,t,s){var i,n;const a=this,{config:o,state:{eventReceiver:r,hasAxis:l,hasFunnel:c,hasRadar:u,hasTreemap:d},$el:{eventRect:h,funnel:g,radar:f,svg:p,treemap:_}}=a;let x=(n=(c||d)&&r.rect||u&&f.axes.select(`.${at.axis}-${t} text`)||h||((i=a.getArcElementByIdOrIndex)==null?void 0:i.call(a,t)))==null?void 0:n.node();if(x){const m=a.isMultipleX(),$=o.axis_rotated;let{width:b,left:v,top:y}=x.getBoundingClientRect();if(l&&!u&&!m){const T=r.coords[t];T?(b=T.w,v+=T.x,y+=T.y):(b=0,v=0,y=0)}let A=v+(s?s[0]:0)+(m||$?0:b/2),S=y+(s?s[1]:0)+($?4:0);if(Me(p)){const T=ve(a.$el.svg.node(),A,S,!1);A=T.x,S=T.y}const R={screenX:A,screenY:S,clientX:A,clientY:S,bubbles:u};(c||d)&&(x=(g!=null?g:_).node()),pn[/^(mouse|click)/.test(e)?"mouse":"touch"](x,e,R)}},setDragStatus(e){this.state.dragging=e},unbindZoomEvent(){const e=this,{$el:{eventRect:t,zoomResetBtn:s}}=e;t==null||t.on(".zoom wheel.zoom .drag",null),s==null||s.on("click",null).style("display","none")},unbindAllEvents(){var e;const t=this,{$el:{arcs:s,eventRect:i,legend:n,region:a,svg:o,treemap:r},brush:l}=t,c=["wheel","click","mouseover","mousemove","mouseout","touchstart","touchmove","touchend","touchstart.eventRect","touchmove.eventRect","touchend.eventRect",".brush",".drag",".zoom","wheel.zoom","dblclick.zoom"].join(" ");[o,i,a==null?void 0:a.list,l==null?void 0:l.getSelection(),s==null?void 0:s.selectAll("path"),n==null?void 0:n.selectAll("g"),r].forEach(u=>u==null?void 0:u.on(c,null)),(e=t.unbindZoomEvent)==null||e.call(t)}},Vn={categoryName(e){var t;const{axis_x_categories:s}=this.config;return(t=s==null?void 0:s[e])!=null?t:e}},Yn={generateClass(e,t){return` ${e} ${e+this.getTargetSelectorSuffix(t)}`},getClass(e,t){const s=/s$/.test(e),i=/^(area|arc|line|funnel|treemap)s?$/.test(e),n=s?"id":"index";return a=>{const o=a.data||a;return((t?this.generateClass(B[s?"shapes":"shape"],o[n]):"")+this.generateClass(B[e],o[i?"id":n])).trim()}},getChartClass(e){return t=>B[`chart${e}`]+this.classTarget((t.data?t.data:t).id)},generateExtraLineClass(){const t=this.config.line_classes||[],s=[];return function(i){var n;const a=i.id||((n=i.data)==null?void 0:n.id)||i;return s.indexOf(a)<0&&s.push(a),t[s.indexOf(a)%t.length]}},classRegion(e,t){return`${this.generateClass(B.region,t)} ${"class"in e?e.class:""}`},classTarget(e){const t=this.config.data_classes[e];let s="";return t&&(s=` ${B.target}-${t}`),this.generateClass(B.target,e)+s},classFocus(e){return this.classFocused(e)+this.classDefocused(e)},classFocused(e){return` ${this.state.focusedTargetIds.indexOf(e.id)>=0?B.focused:""}`},classDefocused(e){return` ${this.state.defocusedTargetIds.indexOf(e.id)>=0?B.defocused:""}`},getTargetSelectorSuffix(e){return(e||e===0?`-${e}`:"").replace(/[\x00-\x20\x7F-\xA0\s?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\]/g,"-")},selectorTarget(e,t="",s=""){const i=this.getTargetSelectorSuffix(e);return`${t}.${B.target+i} ${s}, ${t}.${B.circles+i} ${s}`},selectorTargets(e,t){const s=e||[];return s.length?s.map(i=>this.selectorTarget(i,t)):null},selectorLegend(e){return`.${B.legendItem+this.getTargetSelectorSuffix(e)}`},selectorLegends(e){return e!=null&&e.length?e.map(t=>this.selectorLegend(t)):null}},Ft=U(7);const jn=(e,t,s)=>{const i=(0,w.select)(e.cloneNode(!0));return i.attr("id",s).insert("rect",":first-child").attr("width",i.attr("width")).attr("height",i.attr("height")).style("fill",t),{id:s,node:i.node()}};function Hn(e){const t=pt.colorPattern,{body:s}=ot;let i=s[t];if(!i){const n=";",a=e.classed(Le.colorPattern,!0).style("background-image");e.classed(Le.colorPattern,!1),a.indexOf(n)>-1&&(i=a.replace(/url[^#]*|["'()]|(\s|%20)/g,"").split(n).map(o=>o.trim().replace(/[\"'\s]/g,"")).filter(Boolean),s[t]=i)}return i}const Wn=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"];var Un={generateColor(){const e=this,{$el:t,config:s}=e,i=s.data_colors,n=s.data_color,a=[];let o=nt(s.color_pattern)?s.color_pattern:(0,Ft.scaleOrdinal)(Hn(t.chart)||Wn).range();const r=o;if(O(s.color_tiles)){const l=s.color_tiles.bind(e.api)(),c=o.map((u,d)=>{const h=u.replace(/[#\(\)\s,]/g,""),g=`${e.state.datetimeId}-pattern-${h}-${d}`;return jn(l[d%l.length],u,g)});o=c.map(u=>`url(#${u.id})`),e.patterns=c}return function(l){var c;const u=l.id||((c=l.data)==null?void 0:c.id)||l,d=e.isTypeOf(u,["line","spline","step"])||!s.data_types[u];let h;return O(i[u])?h=i[u].bind(e.api)(l):i[u]?h=i[u]:(a.indexOf(u)<0&&a.push(u),h=d?r[a.indexOf(u)%r.length]:o[a.indexOf(u)%o.length],i[u]=h),O(n)?n.bind(e.api)(h,l):h}},generateLevelColor(){const e=this,{config:t}=e,s=t.color_pattern,i=t.color_threshold,n=i.unit==="value",a=i.max||100,o=i.values&&i.values.length?i.values:[];return nt(i)?function(r){const l=n?r:r*100/a;let c=s[s.length-1];for(let u=0,d=o.length;u{const r=`${n.datetimeId}-labels-bg${s.getTargetSelectorSuffix(o)}${V(e)?s.getTargetSelectorSuffix(e):""}`;i.defs.append("filter").attr("x",t.x).attr("y",t.y).attr("width",t.width).attr("height",t.height).attr("id",r).html(` + `)})}},getGradienColortUrl(e){return`url(#${this.state.datetimeId}-gradient${this.getTargetSelectorSuffix(e)})`},updateLinearGradient(){const e=this,{config:t,data:{targets:s},state:{datetimeId:i},$el:{defs:n}}=e;s.forEach(a=>{const o=`${i}-gradient${e.getTargetSelectorSuffix(a.id)}`,r=e.hasPointType()&&t.point_radialGradient,l=e.isAreaType(a)&&"area"||e.isBarType(a)&&"bar";if((r||l)&&n.select(`#${o}`).empty()){const c=e.color(a),u={defs:null,stops:[]};if(r){const{cx:d=.3,cy:h=.3,r:g=.7,stops:f=[[.1,c,0],[.9,c,1]]}=r;u.stops=f,u.defs=n.append("radialGradient").attr("id",`${o}`).attr("cx",d).attr("cy",h).attr("r",g)}else{const d=t.axis_rotated,{x:h=d?[1,0]:[0,0],y:g=d?[0,0]:[0,1],stops:f=[[0,c,1],[1,c,0]]}=t[`${l}_linearGradient`];u.stops=f,u.defs=n.append("linearGradient").attr("id",`${o}`).attr("x1",h[0]).attr("x2",h[1]).attr("y1",g[0]).attr("y2",g[1])}u.stops.forEach(d=>{const[h,g,f]=d,p=O(g)?g.bind(e.api)(a.id):g;u.defs&&u.defs.append("stop").attr("offset",h).attr("stop-color",p||c).attr("stop-opacity",f)})}})},setOverColor(e,t){const s=this,{config:i,$el:{main:n}}=s,a=i.color_onover;let o=e?a:s.color;X(o)?o=({id:r})=>r in a?a[r]:s.color(r):V(o)?o=()=>a:O(a)&&(o=o.bind(s.api)),n.selectAll(X(t)?`.${G.arc}${s.getTargetSelectorSuffix(t.id)}`:`.${st.shape}-${t}`).style("fill",o)}},Zn={getYDomainMinMax(e,t){const s=this,{axis:i,config:n}=s,a=t==="min",o=n.data_groups,r=s.mapToIds(e),l=s.getValuesAsIdKeyed(e);if(o.length>0){const c=s[`has${a?"Negative":"Positive"}ValueInTargets`](e);o.forEach(u=>{const d=u.filter(h=>r.indexOf(h)>=0);if(d.length){const h=d[0],g=i.getId(h);c&&l[h]&&(l[h]=l[h].map(f=>(a?f<0:f>0)?f:0)),d.filter((f,p)=>p>0).forEach(f=>{if(l[f]){const p=i.getId(f);l[f].forEach((_,x)=>{const m=+_,$=a?m>0:m<0;p===g&&!(c&&$)&&(l[h][x]+=m)})}})}})}return wt(t,Object.keys(l).map(c=>wt(t,l[c])))},isHiddenTargetWithYDomain(e){const t=this;return t.state.hiddenTargetIds.some(s=>t.axis.getId(s)===e)},getYDomain(e,t,s){const i=this,{axis:n,config:a,scale:o}=i,r=`axis_${t}`;if(i.isStackNormalized())return[0,100];const l=(o==null?void 0:o[t])&&o[t].type==="log",c=e.filter(T=>n.getId(T.id)===t),u=s?i.filterByXDomain(c,s):c;if(u.length===0)return i.isHiddenTargetWithYDomain(t)?o[t].domain():t==="y2"?o.y.domain():i.getYDomain(e,"y2",s);const d=a[`${r}_min`],h=a[`${r}_max`],g=a[`${r}_center`],f=a[`${r}_inverted`],p=i.hasDataLabel()&&a.axis_rotated,_=i.hasDataLabel()&&!a.axis_rotated;let x=i.getYDomainMinMax(u,"min"),m=i.getYDomainMinMax(u,"max"),$=[E.BAR,E.BUBBLE,E.SCATTER,...zt.Line].some(T=>{const C=T.indexOf("area")>-1?"area":T;return i.hasType(T,u,!0)&&a[`${C}_zerobased`]});x=M(d)?d:M(h)?x<=h?x:h-10:x,m=M(h)?h:M(d)?d<=m?m:d+10:m,isNaN(x)&&(x=0),isNaN(m)&&(m=x),x===m&&(x<0?m=0:x=0);const b=x>=0&&m>=0,v=x<=0&&m<=0;(M(d)&&b||M(h)&&v)&&($=!1),$&&(b&&(x=0),v&&(m=0));const y=Math.abs(m-x);let A={top:y*.1,bottom:y*.1};if(H(g)){const T=Math.max(Math.abs(x),Math.abs(m));m=g+T,x=g-T}if(p){const T=Nt(o.y.range()),C=i.getDataLabelLength(x,m,"width").map(z=>z/T);["bottom","top"].forEach((z,P)=>{A[z]+=y*(C[P]/(1-C[0]-C[1]))})}else if(_){const T=i.getDataLabelLength(x,m,"height");["bottom","top"].forEach((C,z)=>{A[C]+=i.convertPixelToScale("y",T[z],y)})}A=i.getResettedPadding(A);const S=a[`${r}_padding`];nt(S)&&["bottom","top"].forEach(T=>{A[T]=n.getPadding(S,T,A[T],y)}),$&&(b&&(A.bottom=x),v&&(A.top=-m));const R=l?[x,m].map(T=>T<0?0:T):[x-A.bottom,m+A.top];return f?R.reverse():R},getXDomainMinMax(e,t){var s;const i=this,n=i.config[`axis_x_${t}`],a=wt(t,e.map(r=>wt(t,r.values.map(l=>l.x))));let o=X(n)?n.value:n;return o=H(o)&&((s=i.axis)!=null&&s.isTimeSeries())?mt.bind(this)(o):o,X(n)&&n.fit&&(t==="min"&&oa)&&(o=void 0),H(o)?o:a},getXDomainPadding(e,t){const s=this,{axis:i,config:n}=s,a=n.axis_x_padding,o=i.isTimeSeries()&&t,r=Nt(e);let l;if(i.isCategorized()||o)l=0;else if(s.hasType("bar")){const d=s.getMaxDataCount();l=d>1?r/(d-1)/2:.5}else l=s.getResettedPadding(r*.01);let{left:c=l,right:u=l}=L(a)?{left:a,right:a}:a;if(a.unit==="px"){const d=Math.abs(r+r*.2);c=i.getPadding(a,"left",l,d),u=i.getPadding(a,"right",l,d)}else{const d=r+c+u;if(o&&d){const h=r/t/d;c=c/d/h,u=u/d/h}}return{left:c,right:u}},getXDomain(e){const t=this,{axis:s,config:i,scale:{x:n}}=t,a=i.axis_x_inverted,o=[t.getXDomainMinMax(e,"min"),t.getXDomainMinMax(e,"max")];let[r=0,l=0]=o;if(n.type!=="log"){const c=s.isCategorized(),u=s.isTimeSeries(),d=t.getXDomainPadding(o);let[h,g]=o;h-g===0&&!c&&(u?(h=new Date(h.getTime()*.5),g=new Date(g.getTime()*1.5)):(h=h===0?1:h*.5,g=g===0?-1:g*1.5)),(h||h===0)&&(r=u?new Date(h.getTime()-d.left):h-d.left),(g||g===0)&&(l=u?new Date(g.getTime()+d.right):g+d.right)}return a?[l,r]:[r,l]},updateXDomain(e,t,s,i,n){var a;const o=this,{config:r,org:l,scale:{x:c,subX:u}}=o,d=r.zoom_enabled;if(s&&(c.domain(n||Kt(o.getXDomain(e),!r.axis_x_inverted)),l.xDomain=c.domain(),u.domain(c.domain()),(a=o.brush)==null||a.scale(u)),t){const h=n||!o.brush||hs(o)?l.xDomain:us(o).map(u.invert);c.domain(h)}return(s||t)&&d&&o.zoom.updateScaleExtent(),i&&c.domain(o.trimXDomain(c.orgDomain())),c.domain()},trimXDomain(e){const t=this,s=t.config.axis_x_inverted,i=t.getZoomDomain(),[n,a]=i;return(s?e[0]>=n:e[0]<=n)&&(e[1]=+e[1]+(n-e[0]),e[0]=n),(s?e[1]<=a:e[1]>=a)&&(e[0]=+e[0]-(e[1]-a),e[1]=a),e},getZoomDomain(e="zoom",t=!1){const s=this,{config:i,scale:n,org:a}=s;let[o,r]=t&&n[e]?n[e].domain():a.xDomain;return e==="zoom"&&(H(i.zoom_x_min)&&(o=wt("min",[o,i.zoom_x_min])),H(i.zoom_x_max)&&(r=wt("max",[r,i.zoom_x_max]))),[o,r]},getZoomDomainValue(e){const t=this,{config:s,axis:i}=t;if(i.isCategorized()&&Array.isArray(e)){const n=s.axis_x_inverted;return e.map((o,r)=>Number(o)+(r===0?+n:+!n))}return e},convertPixelToScale(e,t,s){const i=this,{config:n,state:a}=i,o=n.axis_rotated;let r;return e==="x"?r=o?"height":"width":r=o?"width":"height",s*(t/a[r])},withinRange(e,t=[0,0],s){const n=this.config.axis_x_inverted,[a,o]=s;if(Array.isArray(e)){const r=[...e];if(n&&r.reverse(),r[0](c===0?n?+l<=a:+l>=a:n?+l>=o:+l<=o)&&!e.every((u,d)=>u===t[d]))}return!1}};function Ss(e,t,s){const{config:i}=e,n=`axis_${t}_tick_format`;return(i[n]?i[n]:e.defaultValueFormat).call(e.api,s)}var qn={yFormat(e){return Ss(this,"y",e)},y2Format(e){return Ss(this,"y2",e)},getDefaultValueFormat(){const e=this,{defaultArcValueFormat:t,yFormat:s,y2Format:i}=e,n=e.hasArcType(null,["gauge","polar","radar"]);return function(a,o,r){return(n?t:e.axis&&e.axis.getId(r)==="y2"?i:s).call(e,a,o)}},defaultValueFormat(e){return N(e)?e.join("~"):M(e)?+e:""},defaultArcValueFormat(e,t){return`${(t*100).toFixed(1)}%`},defaultPolarValueFormat(e){return`${e}`},dataLabelFormat(e){const t=this,s=t.config.data_labels,i=a=>{const o="~";let r=a;return N(a)?r=a.join(o):X(a)&&(r=Object.values(a).join(o)),r};let n=i;return O(s.format)?n=s.format:St(s.format)&&(s.format[e]?n=s.format[e]===!0?i:s.format[e]:n=()=>""),n.bind(t.api)}};function Se(e){const t=this,s=t.getDataById(e);return t.levelColor?t.levelColor(s.values[0].value):t.color(s)}function je(e,t=!0){var s;const{config:i}=this;let n=(s=i.data_names[e])!=null?s:e;return t&&O(i.legend_format)&&(n=i.legend_format(n,e!==n?e:void 0)),n}var Kn={initLegend(){const e=this,{config:t,$el:s}=e;e.legendItemTextBox={},e.state.legendHasRendered=!1,t.legend_show?(t.legend_contents_bindto||(s.legend=e.$el.svg.append("g").classed(Y.legend,!0).attr("transform",e.getTranslate("legend"))),e.updateLegend()):e.state.hiddenLegendIds=e.mapToIds(e.data.targets)},updateLegend(e,t,s){var i;const n=this,{config:a,state:o,scale:r,$el:l}=n,c=t||{withTransform:!1,withTransitionForTransform:!1,withTransition:!1};c.withTransition=Dt(c,"withTransition",!0),c.withTransitionForTransform=Dt(c,"withTransitionForTransform",!0),a.legend_contents_bindto&&a.legend_contents_template?n.updateLegendTemplate():o.hasTreemap||n.updateLegendElement(e||n.mapToIds(n.data.targets),c,s),(i=l.legend)==null||i.selectAll(`.${Y.legendItem}`).classed(Y.legendItemHidden,function(u){const d=!n.isTargetToShow(u);return d&&(this.style.opacity=null),d}),n.updateScales(!1,!r.zoom),n.updateSvgSize(),n.transformAll(c.withTransitionForTransform,s),o.legendHasRendered=!0},updateLegendTemplate(){const e=this,{config:t,$el:s}=e,i=(0,w.select)(t.legend_contents_bindto),n=t.legend_contents_template;if(!i.empty()){const a=e.mapToIds(e.data.targets),o=[];let r="";a.forEach(c=>{const u=O(n)?n.bind(e.api)(c,e.color(c),e.api.data(c)[0].values):Ae(n,{COLOR:e.color(c),TITLE:c});u&&(o.push(c),r+=u)});const l=i.html(r).selectAll(function(){return this.childNodes}).data(o);e.setLegendItem(l),s.legend=i}},updateSizeForLegend(e){const t=this,{config:s,state:{isLegendTop:i,isLegendLeft:n,isLegendRight:a,isLegendInset:o,current:r}}=t,{width:l,height:c}=e,u={top:i?t.getCurrentPaddingByDirection("top")+s.legend_inset_y+5.5:r.height-c-t.getCurrentPaddingByDirection("bottom")-s.legend_inset_y,left:n?t.getCurrentPaddingByDirection("left")+s.legend_inset_x+.5:r.width-l-t.getCurrentPaddingByDirection("right")-s.legend_inset_x+.5};t.state.margin3={top:a?0:o?u.top:r.height-c,right:NaN,bottom:0,left:a?r.width-l:o?u.left:0}},transformLegend(e){const t=this,{$el:{legend:s},$T:i}=t;i(s,e).attr("transform",t.getTranslate("legend"))},updateLegendStep(e){this.state.legendStep=e},updateLegendItemWidth(e){this.state.legendItemWidth=e},updateLegendItemHeight(e){this.state.legendItemHeight=e},updateLegendItemColor(e,t){const{legend:s}=this.$el;s&&s.select(`.${Y.legendItem}-${e} line`).style("stroke",t)},getLegendWidth(){const e=this,{current:{width:t},isLegendRight:s,isLegendInset:i,legendItemWidth:n,legendStep:a}=e.state;return e.config.legend_show?s||i?n*(a+1):t:0},getLegendHeight(){var e;const t=this,{current:s,isLegendRight:i,legendItemHeight:n,legendStep:a}=t.state,o=((e=t.config.padding)==null?void 0:e.mode)==="fit";return t.config.legend_show?i?s.height:Math.max(o?10:20,n)*(a+1):0},opacityForUnfocusedLegend(e){return e.classed(Y.legendItemHidden)?null:"0.3"},toggleFocusLegend(e,t){const s=this,{$el:{legend:i},$T:n}=s,a=s.mapToTargetIds(e);i&&n(i.selectAll(`.${Y.legendItem}`).filter(o=>a.indexOf(o)>=0).classed(q.legendItemFocused,t)).style("opacity",function(){return t?null:s.opacityForUnfocusedLegend.call(s,(0,w.select)(this))})},revertLegend(){const e=this,{$el:{legend:t},$T:s}=e;t&&s(t.selectAll(`.${Y.legendItem}`).classed(q.legendItemFocused,!1)).style("opacity",null)},showLegend(e){const t=this,{config:s,$el:i,$T:n}=t;s.legend_show||(s.legend_show=!0,i.legend?i.legend.style("visibility",null):t.initLegend(),!t.state.legendHasRendered&&t.updateLegend()),t.removeHiddenLegendIds(e),n(i.legend.selectAll(t.selectorLegends(e)).style("visibility",null)).style("opacity",null)},hideLegend(e){const t=this,{config:s,$el:{legend:i}}=t;s.legend_show&&At(e)&&(s.legend_show=!1,i.style("visibility","hidden")),t.addHiddenLegendIds(e),i.selectAll(t.selectorLegends(e)).style("opacity","0").style("visibility","hidden")},getLegendItemTextBox(e,t){const s=this,{cache:i,state:n}=s;let a;const o=pt.legendItemTextBox;return e&&(a=!n.redrawing&&i.get(o)||{},a[e]||(a[e]=s.getTextRect(t,Y.legendItem),i.add(o,a)),a=a[e]),a},setLegendItem(e){const t=this,{$el:s,api:i,config:n,state:a}=t,o=a.inputType==="touch",r=t.hasType("gauge"),l=n.boost_useCssRule,c=n.legend_item_interaction;e.attr("class",function(u){const d=(0,w.select)(this);return(!d.empty()&&d.attr("class")||"")+t.generateClass(Y.legendItem,u)}).style("visibility",u=>t.isLegendToShow(u)?null:"hidden"),n.interaction_enabled&&(l&&[[`.${Y.legendItem}`,"cursor:pointer"],[`.${Y.legendItem} text`,"pointer-events:none"],[`.${Y.legendItemPoint} text`,"pointer-events:none"],[`.${Y.legendItemTile}`,"pointer-events:none"],[`.${Y.legendItemEvent}`,"fill-opacity:0"]].forEach(u=>{const[d,h]=u;t.setCssRule(!1,d,[h])(s.legend)}),e.on(c.dblclick?"dblclick":"click",c||O(n.legend_item_onclick)?function(u,d){if(!K(n.legend_item_onclick,i,d,!a.hiddenTargetIds.includes(d))){const{altKey:h,target:g,type:f}=u;f==="dblclick"||h?a.hiddenTargetIds.length&&g.parentNode.getAttribute("class").indexOf(Y.legendItemHidden)===-1?i.show():(i.hide(),i.show(d)):(i.toggle(d),(0,w.select)(this).classed(q.legendItemFocused,!1))}o&&t.hideTooltip()}:null),!o&&e.on("mouseout",c||O(n.legend_item_onout)?function(u,d){K(n.legend_item_onout,i,d,!a.hiddenTargetIds.includes(d))||((0,w.select)(this).classed(q.legendItemFocused,!1),r&&t.undoMarkOverlapped(t,`.${_t.gaugeValue}`),t.api.revert())}:null).on("mouseover",c||O(n.legend_item_onover)?function(u,d){K(n.legend_item_onover,i,d,!a.hiddenTargetIds.includes(d))||((0,w.select)(this).classed(q.legendItemFocused,!0),r&&t.markOverlapped(d,t,`.${_t.gaugeValue}`),!a.transiting&&t.isTargetToShow(d)&&i.focus(d))}:null),!e.empty()&&e.on("click mouseout mouseover")&&e.style("cursor",t.getStylePropValue("pointer")))},updateLegendElement(e,t){const s=this,{config:i,state:n,$el:{legend:a},$T:o}=s,l=i.legend_item_tile_type!=="circle",c=i.legend_item_tile_r,u={width:l?i.legend_item_tile_width:c*2,height:l?i.legend_item_tile_height:c*2},d={padding:{top:4,right:10},max:{width:0,height:0},posMin:10,step:0,tileWidth:u.width+5,totalLength:0},h={offsets:{},widths:{},heights:{},margins:[0],steps:{}};let g,f,p;const _=e.filter(y=>!H(i.data_names[y])||i.data_names[y]!==null),x=t.withTransition,m=s.getUpdateLegendPositions(_,d,h);n.isLegendInset&&(d.step=i.legend_inset_step?i.legend_inset_step:_.length,s.updateLegendStep(d.step)),n.isLegendRight?(g=y=>d.max.width*h.steps[y],f=y=>h.margins[h.steps[y]]+h.offsets[y]):n.isLegendInset?(g=y=>d.max.width*h.steps[y]+10,f=y=>h.margins[h.steps[y]]+h.offsets[y]):(g=y=>h.margins[h.steps[y]]+h.offsets[y],f=y=>d.max.height*h.steps[y]);const $={xText:(y,A)=>g(y,A)+4+u.width,xRect:(y,A)=>g(y,A),x1Tile:(y,A)=>g(y,A)-2,x2Tile:(y,A)=>g(y,A)-2+u.width,yText:(y,A)=>f(y,A)+9,yRect:(y,A)=>f(y,A)-5,yTile:(y,A)=>f(y,A)+4};s.generateLegendItem(_,u,m,$),p=a.select(`.${Y.legendBackground} rect`),n.isLegendInset&&d.max.width>0&&p.size()===0&&(p=a.insert("g",`.${Y.legendItem}`).attr("class",Y.legendBackground).append("rect")),i.legend_tooltip&&a.selectAll("title").data(_).text(y=>je.bind(s)(y,!1));const b=a.selectAll("text").data(_).text(y=>je.bind(s)(y)).each(function(y,A){m(this,y,A)});o(b,x).attr("x",$.xText).attr("y",$.yText);const v=a.selectAll(`rect.${Y.legendItemEvent}`).data(_);o(v,x).attr("width",y=>h.widths[y]).attr("height",y=>h.heights[y]).attr("x",$.xRect).attr("y",$.yRect),s.updateLegendItemPos(_,x,$),p&&o(p,x).attr("height",s.getLegendHeight()-12).attr("width",d.max.width*(d.step+1)+10),s.updateLegendItemWidth(d.max.width),s.updateLegendItemHeight(d.max.height),s.updateLegendStep(d.step)},getUpdateLegendPositions(e,t,s){const i=this,{config:n,state:a}=i,o=a.isLegendRight||a.isLegendInset;return function(r,l,c){const u=c===0,d=c===e.length-1,h=i.getLegendItemTextBox(l,r),g=h.width+t.tileWidth+(d&&!o?0:t.padding.right)+n.legend_padding,f=h.height+t.padding.top,p=o?f:g,_=o?i.getLegendHeight():i.getLegendWidth();let x;const m=function(b,v){v||(x=(_-t.totalLength-p)/2,x=t.max.width)&&(t.max.width=g),(!t.max.height||f>=t.max.height)&&(t.max.height=f);const $=o?t.max.height:t.max.width;n.legend_equally?(Object.keys(s.widths).forEach(b=>s.widths[b]=t.max.width),Object.keys(s.heights).forEach(b=>s.heights[b]=t.max.height),x=(_-$*e.length)/2,xm(b))):m(l,!0)):m(l)}},generateLegendItem(e,t,s,i){const n=this,{config:a,state:o,$el:{legend:r}}=n,l=a.legend_usePoint,c=a.legend_item_tile_r,u=a.legend_item_tile_type,d=u!=="circle",h=o.isLegendRight||o.isLegendInset,g=-200,f=r.selectAll(`.${Y.legendItem}`).data(e).enter().append("g");if(n.setLegendItem(f),a.legend_tooltip&&f.append("title").text(p=>p),f.append("text").text(p=>je.bind(n)(p)).each(function(p,_){s(this,p,_)}).style("pointer-events",n.getStylePropValue("none")).attr("x",h?i.xText:g).attr("y",h?g:i.yText),f.append("rect").attr("class",Y.legendItemEvent).style("fill-opacity",n.getStylePropValue("0")).attr("x",h?i.xRect:g).attr("y",h?g:i.yRect),l){const p=[];f.append(_=>{const x=nt(a.point_pattern)?a.point_pattern:[a.point_type];p.indexOf(_)===-1&&p.push(_);let m=x[p.indexOf(_)%x.length];return m==="rectangle"&&(m="rect"),ot.createElementNS(w.namespaces.svg,"hasValidPointType"in n&&n.hasValidPointType(m)?m:"use")}).attr("class",Y.legendItemPoint).style("fill",Se.bind(n)).style("pointer-events",n.getStylePropValue("none")).attr("href",(_,x,m)=>{const b=m[x].nodeName.toLowerCase(),v=n.getTargetSelectorSuffix(_);return b==="use"?`#${o.datetimeId}-point${v}`:void 0})}else f.append(d?"line":u).attr("class",Y.legendItemTile).style("stroke",Se.bind(n)).style("pointer-events",n.getStylePropValue("none")).call(p=>{u==="circle"?p.attr("r",c).style("fill",Se.bind(n)).attr("cx",h?i.x2Tile:g).attr("cy",h?g:i.yTile):d&&p.attr("stroke-width",t.height).attr("x1",h?i.x1Tile:g).attr("y1",h?g:i.yTile).attr("x2",h?i.x2Tile:g).attr("y2",h?g:i.yTile)})},updateLegendItemPos(e,t,s){const i=this,{config:n,$el:{legend:a},$T:o}=i,r=n.legend_usePoint,l=n.legend_item_tile_type,c=l!=="circle";if(r){const u=a.selectAll(`.${Y.legendItemPoint}`).data(e);o(u,t).each(function(){const d=this.nodeName.toLowerCase(),h=n.point_r;let g="x",f="y",p=2,_=2.5,x=null,m=null,$=null;if(d==="circle"){const b=h*.2;g="cx",f="cy",x=h+b,p=h*2,_=-b}else if(d==="rect"){const b=h*2.5;m=b,$=b,_=3}(0,w.select)(this).attr(g,b=>s.x1Tile(b)+p).attr(f,b=>s.yTile(b)-_).attr("r",x).attr("width",m).attr("height",$)})}else{const u=a.selectAll(`.${Y.legendItemTile}`).data(e);o(u,t).style("stroke",Se.bind(i)).call(d=>{l==="circle"?d.attr("cx",h=>{const g=s.x2Tile(h);return g-(g-s.x1Tile(h))/2}).attr("cy",s.yTile):c&&d.attr("x1",s.x1Tile).attr("y1",s.yTile).attr("x2",s.x2Tile).attr("y2",s.yTile)})}}},Jn=U(8),Qn={redraw(e={}){var t,s,i,n;const a=this,{config:o,state:r,$el:l}=a,{main:c,treemap:u}=l;r.redrawing=!0;const d=a.filterTargetsToShow(a.data.targets),{flow:h,initializing:g}=e,f=a.getWithOption(e),p=f.Transition?o.transition_duration:0,_=f.TransitionForExit?p:0,x=f.TransitionForAxis?p:0,m=(t=a.axis)==null?void 0:t.generateTransitions(x);a.updateSizes(g),f.Legend&&o.legend_show?(e.withTransition=!!p,!u&&a.updateLegend(a.mapToIds(a.data.targets),e,m)):f.Dimension&&a.updateDimension(!0),o.data_empty_label_text&&c.select(`text.${gt.text}.${D.empty}`).attr("x",r.width/2).attr("y",r.height/2).text(o.data_empty_label_text).style("display",d.length?"none":null),r.hasAxis?(a.axis.redrawAxis(d,f,m,h,g),a.hasGrid()&&a.updateGrid(),o.regions.length&&a.updateRegion(),["bar","candlestick","line","area"].forEach($=>{const b=ft($);(/^(line|area)$/.test($)&&a.hasTypeOf(b)||a.hasType($))&&a[`update${b}`](f.TransitionForExit)}),l.text&&c.selectAll(`.${Q.selectedCircles}`).filter(a.isBarType.bind(a)).selectAll("circle").remove(),o.interaction_enabled&&!h&&f.EventRect&&(a.redrawEventRect(),(s=a.bindZoomEvent)==null||s.call(a))):(l.arcs&&a.redrawArc(p,_,f.Transform),l.radar&&a.redrawRadar(),l.polar&&a.redrawPolar(),l.funnel&&a.redrawFunnel(),u&&a.updateTreemap(_)),!r.resizing&&!u&&(a.hasPointType()||r.hasRadar)?a.updateCircle():(i=a.hasLegendDefsPoint)!=null&&i.call(a)&&a.data.targets.forEach(a.point("create",this)),a.hasDataLabel()&&!a.hasArcType(null,["radar"])&&a.updateText(),(n=a.redrawTitle)==null||n.call(a),g&&a.updateTypesElements(),a.generateRedrawList(d,h,p,f.Subchart),a.updateTooltipOnRedraw(),a.callPluginHook("$redraw",e,p)},generateRedrawList(e,t,s,i){const n=this,{config:a,state:o}=n,r=n.getDrawShape();o.hasAxis&&a.subchart_show&&n.redrawSubchart(i,s,r);const l=t&&n.generateFlow({targets:e,flow:t,duration:t.duration,shape:r,xv:n.xv.bind(n)}),c=(s||l)&&de(),u=n.getRedrawList(r,t,l,c),d=()=>{l&&l(),o.redrawing=!1,K(a.onrendered,n.api)};if(d)if(c&&u.length){const h=ys();(0,Jn.transition)().duration(s).each(()=>{u.reduce((g,f)=>g.concat(f),[]).forEach(g=>h.add(g))}).call(h,d)}else o.transiting||d();n.mapToIds(n.data.targets).forEach(h=>{o.withoutFadeIn[h]=!0})},getRedrawList(e,t,s,i){const n=this,{config:a,state:{hasAxis:o,hasRadar:r,hasTreemap:l},$el:{grid:c}}=n,{cx:u,cy:d,xForText:h,yForText:g}=e.pos,f=[];return o&&((a.grid_x_lines.length||a.grid_y_lines.length)&&f.push(n.redrawGrid(i)),a.regions.length&&f.push(n.redrawRegion(i)),Object.keys(e.type).forEach(p=>{const _=ft(p),x=e.type[p];(/^(area|line)$/.test(p)&&n.hasTypeOf(_)||n.hasType(p))&&f.push(n[`redraw${_}`](x,i))}),!t&&c.main&&f.push(n.updateGridFocus())),(!n.hasArcType()||r)&&nt(a.data_labels)&&a.data_labels!==!1&&f.push(n.redrawText(h,g,t,i)),(n.hasPointType()||r)&&!n.isPointFocusOnly()&&n.redrawCircle&&f.push(n.redrawCircle(u,d,i,s)),l&&f.push(n.redrawTreemap(i)),f},updateAndRedraw(e={}){const t=this,{config:s,state:i}=t;let n;e.withTransition=Dt(e,"withTransition",!0),e.withTransform=Dt(e,"withTransform",!1),e.withLegend=Dt(e,"withLegend",!1),e.withUpdateXDomain=!0,e.withUpdateOrgXDomain=!0,e.withTransitionForExit=!1,e.withTransitionForTransform=Dt(e,"withTransitionForTransform",e.withTransition),e.withLegend&&s.legend_show||(i.hasAxis&&(n=t.axis.generateTransitions(e.withTransitionForAxis?s.transition_duration:0)),t.updateScales(),t.updateSvgSize(),t.transformAll(e.withTransitionForTransform,n)),t.redraw(e,n)}};function Yt(e="linear",t,s){const i={linear:Ft.scaleLinear,log:Ft.scaleSymlog,_log:Ft.scaleLog,time:Ft.scaleTime,utc:Ft.scaleUtc}[e]();return i.type=e,/_?log/.test(e)&&i.clamp(!0),i.range([t!=null?t:0,s!=null?s:1])}var ta={getXScale(e,t,s,i){const n=this,a=n.state.loading!=="append"&&n.scale.zoom||Yt(n.axis.getAxisType("x"),e,t);return n.getCustomizedXScale(s?a.domain(s):a,i)},getYScale(e,t,s,i){const a=Yt(this.axis.getAxisType(e),t,s);return i&&a.domain(i),a},getYScaleById(e,t=!1){var s;const i=((s=this.axis)==null?void 0:s.getId(e))==="y2",n=t?i?"subY2":"subY":i?"y2":"y";return this.scale[n]},getCustomizedXScale(e,t){const s=this,i=t||(()=>s.axis.x.tickOffset()),n=s.config.axis_x_inverted,a=function(o){return e(o)+i()};for(const o in e)a[o]=e[o];return a.orgDomain=()=>e.domain(),a.orgScale=()=>e,s.axis.isCategorized()&&(a.domain=function(o){let r=o;return arguments.length?(e.domain(r),a):(r=this.orgDomain(),n?[r[0]+1,r[1]]:[r[0],r[1]+1])}),a},updateScales(e,t=!0){var s,i;const n=this,{axis:a,config:o,format:r,org:l,scale:c,state:{current:u,width:d,height:h,width2:g,height2:f,hasAxis:p,hasTreemap:_}}=n;if(p){const x=o.axis_rotated,m=n.getResettedPadding(1),$={x:x?m:0,y:x?0:h,subX:x?1:0,subY:x?0:f},b={x:x?h:d,y:x?d:m,subX:x?h:d,subY:x?g:1},v=t&&((s=c.x)==null?void 0:s.orgDomain()),y=t&&l.xDomain;c.x=n.getXScale($.x,b.x,v,()=>a.x.tickOffset()),c.subX=n.getXScale($.x,b.x,y,A=>{var S;return A%1?0:((S=a.subX)!=null?S:a.x).tickOffset()}),r.xAxisTick=a.getXAxisTickFormat(),r.subXAxisTick=a.getXAxisTickFormat(!0),a.setAxis("x",c.x,o.axis_x_tick_outer,e),o.subchart_show&&a.setAxis("subX",c.subX,o.axis_x_tick_outer,e),c.y=n.getYScale("y",$.y,b.y,c.y?c.y.domain():o.axis_y_default),c.subY=n.getYScale("y",$.subY,b.subY,c.subY?c.subY.domain():o.axis_y_default),a.setAxis("y",c.y,o.axis_y_tick_outer,e),o.axis_y2_show&&(c.y2=n.getYScale("y2",$.y,b.y,c.y2?c.y2.domain():o.axis_y2_default),c.subY2=n.getYScale("y2",$.subY,b.subY,c.subY2?c.subY2.domain():o.axis_y2_default),a.setAxis("y2",c.y2,o.axis_y2_tick_outer,e))}else if(_){const x=n.getCurrentPadding();c.x=(0,Ft.scaleLinear)().rangeRound([x.left,u.width-x.right]),c.y=(0,Ft.scaleLinear)().rangeRound([x.top,u.height-x.bottom])}else(i=n.updateArc)==null||i.call(n)},xx(e){const t=this,{config:s,scale:{x:i,zoom:n}}=t,a=s.zoom_enabled&&n?n:i;return e?a(M(e.x)?e.x:e):null},xv(e){const t=this,{axis:s,config:i,scale:{x:n,zoom:a}}=t,o=i.zoom_enabled&&a?a:n;let r=t.getBaseValue(e);return s.isTimeSeries()?r=mt.call(t,r):s.isCategorized()&&V(r)&&(r=i.axis_x_categories.indexOf(r)),o(r)},yv(e){const t=this,{scale:{y:s,y2:i}}=t;return(e.axis&&e.axis==="y2"?i:s)(t.getBaseValue(e))},subxx(e){return e?this.scale.subX(e.x):null}},ea={setContainerSize(){const e=this,{state:t}=e;t.current.width=e.getCurrentWidth(),t.current.height=e.getCurrentHeight()},getCurrentWidth(){const e=this;return e.config.size_width||e.getParentWidth()},getCurrentHeight(){const e=this,{config:t}=e,s=t.size_height||e.getParentHeight();return s>0?s:320/(e.hasType("gauge")&&!t.gauge_fullCircle?2:1)},getParentRectValue(e){const t=`offset${ft(e)}`;let s=this.$el.chart.node(),i=0;for(;i<30&&s&&s.tagName!=="BODY";){try{i=s.getBoundingClientRect()[e]}catch(a){t in s&&(i=s[t])}s=s.parentNode}const n=ot.body[t];return i>n&&(i=n),i},getParentWidth(){return this.getParentRectValue("width")},getParentHeight(){const e=this.$el.chart.style("height");let t=0;return e&&(t=/px$/.test(e)?parseInt(e,10):this.getParentRectValue("height")),t},getSvgLeft(e){const t=this,{config:s,state:{hasAxis:i},$el:n}=t,a=s.axis_rotated,o=a||!a&&!s.axis_y_inner,r=a?at.axisX:at.axisY,l=n.main.select(`.${r}`).node(),c=i&&s[`axis_${a?"x":"y"}_label`];let u=0;if(i&&(V(c)||V(c.text)||/^inner-/.test(c==null?void 0:c.position))){const p=n.main.select(`.${r}-label`);p.empty()||(u=p.node().getBoundingClientRect().left)}const d=l&&o?l.getBoundingClientRect():{right:0},h=n.chart.node().getBoundingClientRect().left+u,g=t.hasArcType(),f=d.right-h-(g?0:t.getCurrentPaddingByDirection("left",e));return f>0?f:0},updateDimension(e){var t;const s=this,{config:i,state:{hasAxis:n},$el:a}=s;n&&!e&&s.axis.x&&i.axis_rotated&&((t=s.axis.subX)==null||t.create(a.axis.subX)),s.updateScales(e),s.updateSvgSize(),s.transformAll(!1)},updateSvgSize(){const e=this,{config:t,state:{clip:s,current:i,hasAxis:n,width:a,height:o},$el:{svg:r}}=e;if(t.resize_auto==="viewBox"?r.attr("viewBox",`0 0 ${i.width} ${i.height}`):r.attr("width",i.width).attr("height",i.height),n){const l=r.select(`.${is.brush} .overlay`),c={width:0,height:0};l.size()&&(c.width=+l.attr("width"),c.height=+l.attr("height")),r.selectAll([`#${s.id}`,`#${s.idGrid}`]).select("rect").attr("width",a).attr("height",o),r.select(`#${s.idXAxis}`).select("rect").call(e.setXAxisClipPath.bind(e)),r.select(`#${s.idYAxis}`).select("rect").call(e.setYAxisClipPath.bind(e)),s.idSubchart&&r.select(`#${s.idSubchart}`).select("rect").attr("width",a).attr("height",c.height)}},getCurrentPaddingByDirection(e,t=!1,s=!1){var i;const n=this,{config:a,$el:o,state:{hasAxis:r}}=n,l=a.axis_rotated,c=((i=a.padding)==null?void 0:i.mode)==="fit",u=L(a[`padding_${e}`])?a[`padding_${e}`]:void 0,d=r?{top:l?"y2":null,bottom:l?"y":"x",left:l?"x":"y",right:l?null:"y2"}[e]:null,h=/^(left|right)$/.test(e),g=d&&a[`axis_${d}_inner`],f=d&&a[`axis_${d}_show`],p=d?a[`axis_${d}_axes`].length:0;let _=d?h?n.getAxisWidthByAxisId(d,t):n.getHorizontalAxisHeight(d):0;const x=20;let m=0;!c&&h&&(_=cn(_));let $=r&&h&&(g||it(u)&&!f)?0:c?(f?_:0)+(u!=null?u:0):it(u)?_:u;return h&&r?(d&&(c||g)&&a[`axis_${d}_label`].text&&($+=n.axis.getAxisLabelPosition(d).isOuter?x:0),e==="right"?($+=l?!c&&it(u)?10:2:!f||g?c?2:1:0,$+=s?n.axis.getXAxisTickTextY2Overflow(x):0):e==="left"&&l&&it(u)&&($=a.axis_x_show?c?_:Math.max(_,40):1)):e==="top"?(o.title&&o.title.node()&&($+=n.getTitlePadding()),m=l&&!g?p:0):e==="bottom"&&r&&l&&!f&&($+=1),$+_*p-m},getCurrentPadding(e=!1){const t=this,[s,i,n,a]=["top","bottom","left","right"].map(o=>t.getCurrentPaddingByDirection(o,null,e));return{top:s,bottom:i,left:n,right:a}},getResettedPadding(e){const t=this,{config:s}=t,i=L(e);let n=i?0:{};return s.padding===!1?!i&&Object.keys(e).forEach(a=>{n[a]=!At(s.data_labels)&&s.data_labels!==!1&&a==="top"?e[a]:0}):n=e,n},updateSizes(e){var t,s,i,n,a;const o=this,{config:r,state:l,$el:{legend:c}}=o,u=r.axis_rotated,d=o.hasArcType()||l.hasFunnel||l.hasTreemap,h=((t=r.padding)==null?void 0:t.mode)==="fit";!e&&o.setContainerSize();const g={width:c?o.getLegendWidth():0,height:c?o.getLegendHeight():0};!d&&r.axis_x_show&&r.axis_x_tick_autorotate&&o.updateXAxisTickClip();const f={right:r.legend_show&&l.isLegendRight?o.getLegendWidth()+(h?0:20):0,bottom:!r.legend_show||l.isLegendRight||l.isLegendInset?0:g.height},p=u||d?0:o.getHorizontalAxisHeight("x"),_=r.subchart_axis_x_show&&r.subchart_axis_x_tick_text_show?p:30,x=r.subchart_show&&!d?r.subchart_size_height+_:0,m=o.hasType("gauge")&&r.arc_needle_show&&!r.gauge_fullCircle&&!r.gauge_label_show?10:0,$=o.getCurrentPadding(!0);if(l.margin=!d&&u?{top:$.top,right:d?0:$.right+f.right,bottom:f.bottom+$.bottom,left:x+(d?0:$.left)}:{top:(h?0:4)+$.top,right:d?0:$.right+f.right,bottom:m+x+f.bottom+$.bottom,left:d?0:$.left},l.margin=o.getResettedPadding(l.margin),l.margin2=u?{top:l.margin.top,right:NaN,bottom:20+f.bottom,left:o.state.rotatedPadding.left}:{top:l.current.height-x-f.bottom,right:NaN,bottom:_+f.bottom,left:l.margin.left},l.margin3={top:0,right:NaN,bottom:0,left:0},(s=o.updateSizeForLegend)==null||s.call(o,g),l.width=l.current.width-l.margin.left-l.margin.right,l.height=l.current.height-l.margin.top-l.margin.bottom,l.width<0&&(l.width=0),l.height<0&&(l.height=0),l.width2=u?l.margin.left-l.rotatedPadding.left-l.rotatedPadding.right:l.width,l.height2=u?l.height:l.current.height-l.margin2.top-l.margin2.bottom,l.width2<0&&(l.width2=0),l.height2<0&&(l.height2=0),o.hasArcType()){const b=o.hasType("gauge"),v=r.legend_show&&l.isLegendRight,y=(i=l.hasRadar&&o.cache.get(pt.radarTextWidth))!=null?i:0;l.arcWidth=l.width-(v?g.width+10:0)-y,l.arcHeight=l.height-(v&&!b?0:10),(n=r.arc_rangeText_values)!=null&&n.length&&(b?(l.arcWidth-=25,l.arcHeight-=10,l.margin.left+=10):(l.arcHeight-=20,l.margin.top+=10)),b&&!r.gauge_fullCircle&&(l.arcHeight+=l.height-o.getPaddingBottomForGauge()),(a=o.updateRadius)==null||a.call(o)}l.isLegendRight&&d&&(l.margin3.left=l.arcWidth/2+l.radiusExpanded*1.1)}},sa={setCssRule(e,t,s,i){const n=this,{config:a,state:{cssRule:o,style:r}}=n;return a.boost_useCssRule?l=>{l.each(c=>{const u=i&&(i==null?void 0:i.call(n,c)),d=`${e?`.${st.shapes+n.getTargetSelectorSuffix(c.id)}`:""}${t}`;t in o&&r.sheet.deleteRule(o[d]),n.state.cssRule[d]=gn(r,d,s.filter(Boolean).map(h=>V(u)&&h.indexOf(":")===-1?`${h}: ${u}`:h||""))})}:()=>{}},getStylePropValue(e){const{config:{boost_useCssRule:t}}=this;return t?null:O(e)?e.bind(this):e}};function ia(e){let t="middle";return e>0&&e<=170?t="end":e>190&&e<=360&&(t="start"),t}function na(e,t,s,i,n){var a;const o=this,{value:r}=e,l=o.isCandlestickType(e),c=L(r)&&r<0||l&&!((a=o.getCandlestickData(e))!=null&&a._isUp);let{x:u,y:d}=t;const h=4,g=h*2;return i?s==="start"?(u+=c?0:g,d+=h):s==="middle"?(u+=g,d-=g):s==="end"&&(c&&(u-=g),d+=h):(s==="start"?(u+=h,c&&(d+=g*2)):s==="middle"?d-=g:s==="end"&&(u-=h,c&&(d+=g*2)),n&&(d+=c?-17:l?13:7)),{x:u,y:d}}function Rs(e,t){var s;const i=this.config.data_labels_position,{id:n,index:a,value:o}=e;return(s=O(i)?i.bind(this.api)(t,o,n,a,this.$el.text):(n in i?i[n]:i)[t])!=null?s:0}var aa={opacityForText(e){const t=this;return t.isBarType(e)&&!t.meetsLabelThreshold(Math.abs(t.getRatio("bar",e)),"bar")?"0":t.hasDataLabel?null:"0"},initText(){const{$el:e}=this;e.main.select(`.${D.chart}`).append("g").attr("class",gt.chartTexts).style("pointer-events",e.funnel||e.treemap?"none":null)},updateTargetsForText(e){const t=this,s=t.getChartClass("Text"),i=t.getClass("texts","id"),n=t.classFocus.bind(t);t.$el.main.select(`.${gt.chartTexts}`).selectAll(`.${gt.chartText}`).data(e).attr("class",r=>`${s(r)}${n(r)}`.trim()).enter().append("g").style("opacity","0").attr("class",s).call(t.setCssRule(!0,` .${gt.text}`,["fill","pointer-events:none"],t.updateTextColor)).append("g").attr("class",i)},updateText(){const e=this,{$el:t,$T:s,config:i,axis:n}=e,a=e.getClass("text","index"),o=i.data_labels.centered,r=t.main.selectAll(`.${gt.texts}`).selectAll(`.${gt.text}`).data(e.labelishData.bind(e));s(r.exit()).style("fill-opacity","0").remove(),t.text=r.enter().append("text").merge(r).attr("class",a).attr("text-anchor",l=>{let u=i[`axis_${n==null?void 0:n.getId(l.id)}_inverted`]?l.value>0:l.value<0;if(e.isCandlestickType(l)){const d=e.getCandlestickData(l);u=!(d!=null&&d._isUp)}else if(e.isTreemapType(l))return o?"middle":"start";return i.axis_rotated?u?"end":"start":"middle"}).style("fill",e.getStylePropValue(e.updateTextColor)).style("fill-opacity","0").each(function(l,c,u){const d=(0,w.select)(this);let{value:h}=l;if(e.isBubbleZType(l))h=e.getBubbleZData(h,"z");else if(e.isCandlestickType(l)){const g=e.getCandlestickData(l);g&&(h=g.close)}h=e.isTreemapType(l)?e.treemapDataLabelFormat(l)(d):e.dataLabelFormat(l.id)(h,l.id,l.index,u),L(h)?this.textContent=h:ce(d,h)})},updateTextColor(e){const t=this,{config:s}=t,i=s.data_labels_colors,n=t.isArcType(e)&&!t.isRadarType(e)||t.isFunnelType(e)||t.isTreemapType(e)?null:t.color(e);let a;if(V(i))a=i;else if(X(i)){const{id:o}=e.data||e;a=i[o]}else O(i)&&(a=i.bind(t.api)(n,e));if(t.isCandlestickType(e)&&!O(i)){const o=t.getCandlestickData(e);if(!(o!=null&&o._isUp)){const r=s.candlestick_color_down;a=X(r)?r[e.id]:r}}return a||n},updateTextBGColor(e,t){const s=this,{$el:i}=s;let n="";if(V(t)||X(t)){const a=V(t)?"":s.getTargetSelectorSuffix("id"in e?e.id:e.data.id),o=i.defs.select(["filter[id*='labels-bg","']"].join(a));o.size()&&(n=`url(#${o.attr("id")})`)}return n||null},redrawText(e,t,s,i){const n=this,{$T:a,axis:o,config:r,state:{hasTreemap:l}}=n,c=kt(!0),u=r.axis_rotated,d=r.data_labels.rotate,h=ia(d),g=d?`rotate(${d})`:"";return n.$el.text.style("fill",n.getStylePropValue(n.updateTextColor)).attr("filter",f=>n.updateTextBGColor.bind(n)(f,r.data_labels_backgroundColors)).style("fill-opacity",s?0:n.opacityForText.bind(n)).each(function(f,p){const _=a(l&&this.childElementCount?this.parentNode:this,!!(i&&this.getAttribute("x")),c),x=r[`axis_${o==null?void 0:o.getId(f.id)}_inverted`];let m={x:e.bind(this)(f,p),y:t.bind(this)(f,p)};d&&(m=na.bind(n)(f,m,h,u,x),_.attr("text-anchor",h)),this.childElementCount||d?_.attr("transform",`translate(${m.x} ${m.y}) ${g}`):_.attr("x",m.x).attr("y",m.y)}),!0},getTextRect(e,t){const s=this;let i=e.node?e.node():e;/text/i.test(i.tagName)||(i=i.querySelector("text"));const n=i.textContent,a=`${pt.textRect}-${n.replace(/\W/g,"_")}`;let o=s.cache.get(a);return o||(s.$el.svg.append("text").style("visibility","hidden").style("font",(0,w.select)(i).style("font")).classed(t,!0).text(n).call(r=>{o=be(r.node())}).remove(),s.cache.add(a,o)),o},generateXYForText(e,t){const s=this,{state:{hasRadar:i,hasFunnel:n,hasTreemap:a}}=s,o=Object.keys(e),r={},l=t?s.getXForText:s.getYForText;return n&&o.push("funnel"),i&&o.push("radar"),a&&o.push("treemap"),o.forEach(c=>{r[c]=s[`generateGet${ft(c)}Points`](e[c],!1)}),function(c,u){const d=s.isAreaType(c)&&"area"||s.isBarType(c)&&"bar"||s.isCandlestickType(c)&&"candlestick"||s.isFunnelType(c)&&"funnel"||s.isRadarType(c)&&"radar"||s.isTreemapType(c)&&"treemap"||"line";return l.call(s,r[d](c,u),c,this)}},getCenteredTextPos(e,t,s,i){const n=this,{config:a}=n,o=a.axis_rotated,r=n.isBarType(e),l=n.isTreemapType(e);if(a.data_labels.centered&&(r||l)){const c=be(s);if(r){const u=n.getRangedData(e,null,"bar")>=0;if(o){const d=(u?t[1][1]-t[0][1]:t[0][1]-t[1][1])/2+c.width/2;return u?-d-3:d+2}else{const d=(u?t[0][1]-t[1][1]:t[1][1]-t[0][1])/2+c.height/2;return u?d:-d-2}}else if(l)return i==="x"?(t[1][0]-t[0][0])/2:(t[1][1]-t[0][1])/2+c.height/2}return 0},getXForText(e,t,s){var i;const n=this,{config:a}=n,o=a.axis_rotated,r=n.isFunnelType(t),l=n.isTreemapType(t);let c=e?e[0][0]:0;if(n.isCandlestickType(t))o?c=(i=n.getCandlestickData(t))!=null&&i._isUp?e[2][2]+4:e[2][1]-4:c+=(e[1][0]-c)/2;else if(r)c+=n.state.current.width/2;else if(l)c+=a.data_labels.centered?0:5;else if(o){const u=a[`axis_${n.axis.getId(t.id)}_inverted`],d=n.isBarType(t)?4:6,h=t.value;c=e[2][1],u?c-=d*(h>0?1:-1):c+=d*(h<0?-1:1)}else c=n.hasType("bar")?(e[2][0]+e[0][0])/2:c;return(o||l)&&(c+=n.getCenteredTextPos(t,e,s,"x")),c+Rs.call(this,t,"x")},getYForText(e,t,s){const i=this,{axis:n,config:a,state:o}=i,r=a.axis_rotated,l=a[`axis_${n==null?void 0:n.getId(t.id)}_inverted`],c=i.isBarType(t),u=i.isFunnelType(t),d=i.isTreemapType(t),h=a.point_r,g=be(s);let{value:f}=t,p=3,_;if(i.isCandlestickType(t))f=i.getCandlestickData(t),r?(_=e[0][0],_+=(e[1][0]-_)/2+p):(_=f&&f._isUp?e[2][2]-p:e[2][1]+p*4,l&&(_+=15*(f._isUp?1:-1)));else if(u)_=e?e[0][1]+(e[1][1]-e[0][1])/2+g.height/2-3:0;else if(d)_=e[0][1]+(a.data_labels.centered?0:g.height+5);else if(r)_=(e[0][0]+e[2][0]+g.height*.6)/2;else if(_=e[2][1],L(h)&&h>5&&(i.isLineType(t)||i.isScatterType(t))&&(p+=a.point_r/2.3),f<0||f===0&&!o.hasPositiveValue&&o.hasNegativeValue)_+=l?c?-3:-5:g.height+(c?-p:p);else{let x=-p*2;c?x=-p:i.isBubbleType(t)&&(x=p),l&&(x=c?10:15),_+=x}return(!r||d)&&(_+=i.getCenteredTextPos(t,e,s,"y")),_+Rs.call(this,t,"y")},markOverlapped(e,t,s){const i=t.$el.arcs.selectAll(s),n=i.filter(l=>l.data.id!==e),a=i.filter(l=>l.data.id===e),o=fs(a.node()),r=(l,c)=>Math.sqrt(Math.pow(l,2)+Math.pow(c,2));a.node()&&n.each(function(){const l=fs(this),c=(0,w.select)(this),u=r(o.e,o.f)>r(l.e,l.f)?a:c,d=Math.ceil(Math.abs(o.e-l.e))=n}};function Cs(e="left",t){const s=L(t);let i;return e.indexOf("center")>-1?i=s?t/2:"middle":e.indexOf("right")>-1?i=s?t:"end":i=s?0:"start",i}var oa={initTitle(){const e=this,{config:t,$el:s}=e;if(t.title_text){s.title=s.svg.append("g");const i=s.title.append("text").style("text-anchor",Cs(t.title_position)).attr("class",gt.title);ce(i,t.title_text,[.3,1.5])}},redrawTitle(){const e=this,{config:t,state:{current:s},$el:{title:i}}=e;if(i){const n=Cs(t.title_position,s.width),a=(t.title_padding.top||0)+e.getTextRect(e.$el.title,gt.title).height;i.attr("transform",`translate(${n}, ${a})`)}},getTitlePadding(){const e=this,{$el:{title:t},config:s}=e;return(s.title_padding.top||0)+(t?e.getTextRect(t,gt.title).height:0)+(s.title_padding.bottom||0)}},ra={initTooltip(){const e=this,{config:t,$el:s}=e;s.tooltip=(0,w.select)(t.tooltip_contents.bindto),s.tooltip.empty()&&(s.tooltip=s.chart.append("div").attr("class",_e.tooltipContainer).style("position","absolute").style("pointer-events","none").style("display","none")),e.bindTooltipResizePos()},initShowTooltip(){var e;const t=this,{config:s,$el:i,state:{hasAxis:n,hasRadar:a}}=t;if(s.tooltip_init_show){const o=!(n||a);(e=t.axis)!=null&&e.isTimeSeries()&&V(s.tooltip_init_x)&&(s.tooltip_init_x=mt.call(t,s.tooltip_init_x)),t.api.tooltip.show({data:{[o?"index":"x"]:s.tooltip_init_x}});const r=s.tooltip_init_position;if(!s.tooltip_contents.bindto&&!At(r)){const{top:l=0,left:c=50}=r;i.tooltip.style("top",V(l)?l:`${l}px`).style("left",V(c)?c:`${c}px`).style("display",null)}}},getTooltipHTML(...e){const t=this,{api:s,config:i}=t;return O(i.tooltip_contents)?i.tooltip_contents.bind(s)(...e):t.getTooltipContent(...e)},getTooltipContent(e,t,s,i){var n;const a=this,{api:o,config:r,state:l,$el:c}=a,[u,d,h]=["title","name","value"].map(P=>{const k=r[`tooltip_format_${P}`];return O(k)?k.bind(o):k}),g=(...P)=>Ie((u||t)(...P)),f=(...P)=>Ie((d||(k=>k))(...P)),p=(...P)=>{const k=h||(l.hasTreemap||a.isStackNormalized()?(F,W)=>`${(W*100).toFixed(2)}%`:s);return Ie(k(...P))},_=r.tooltip_order,x=P=>a.axis&&a.isBubbleZType(P)?a.getBubbleZData(P.value,"z"):a.getBaseValue(P),m=a.levelColor?P=>a.levelColor(P.value):P=>i(P),$=r.tooltip_contents,b=$.template,v=a.mapToTargetIds();if(_===null&&r.data_groups.length){const P=a.orderTargets(a.data.targets).map(k=>k.id).reverse();e.sort((k,F)=>{let W=k?k.value:null,J=F?F.value:null;return W>0&&J>0&&(W=k.id?P.indexOf(k.id):null,J=F.id?P.indexOf(F.id):null),W-J})}else if(/^(asc|desc)$/.test(_)){const P=_==="asc";e.sort((k,F)=>{const W=k?x(k):null,J=F?x(F):null;return P?W-J:J-W})}else O(_)&&e.sort(_.bind(o));const y=a.getTooltipContentTemplate(b),A=e.length;let S,R,T,C,z;for(z=0;z`:""})}if(!R.ratio&&c.arcs&&(T=["arc",a.$el.arcs.select(`path.${G.arc}-${R.id}`).data()[0]],R.ratio=a.getRatio(...T)),T=[R.ratio,R.id,R.index],a.isAreaRangeType(R)){const[P,k]=["high","low"].map(W=>p(a.getRangedData(R,W),...T));C=`Mid: ${p(x(R),...T)} High: ${P} Low: ${k}`}else if(a.isCandlestickType(R)){const[P,k,F,W,J]=["open","high","low","close","volume"].map(lt=>a.getRangedData(R,lt,"candlestick")?p(a.getRangedData(R,lt,"candlestick"),...T):void 0);C=`Open: ${P} High: ${k} Low: ${F} Close: ${W}${J?` Volume: ${J}`:""}`}else if(a.isBarRangeType(R)){const{value:P,id:k,index:F}=R;C=`${p(P,void 0,k,F)}`}else C=p(x(R),...T);if(C!==void 0){if(R.name===null)continue;const P=f((n=R.name)!=null?n:R.id,...T),k=m(R),F={CLASS_TOOLTIP_NAME:_e.tooltipName+a.getTargetSelectorSuffix(R.id),COLOR:b||!a.patterns?k:``,NAME:P,VALUE:C};if(b&&X($.text)){const W=v.indexOf(R.id);Object.keys($.text).forEach(J=>{F[J]=$.text[J][W]})}S+=Ae(y[1],F)}}return`${S}
${P}
`},getTooltipContentTemplate(e){return(e||` {=TITLE} {{}} -
${this.patterns?"{=COLOR}":''}{=NAME} {=VALUE}
`).replace(/(\r?\n|\t)/g,"").split(/{{(.*)}}/)},setTooltipPosition(e,t){var s,i;const n=this,{config:a,scale:o,state:r,$el:{eventRect:l,tooltip:c,svg:u}}=n,{bindto:d}=a.tooltip_contents,h=a.axis_rotated,g=c==null?void 0:c.datum();if(!d&&g){const f=e!=null?e:JSON.parse(g.current),[p,_]=yt(r.event,t!=null?t:l==null?void 0:l.node()),x={x:p,y:_};if(r.hasAxis&&o.x&&g&&"x"in g){const v=(y=0,A,S="y")=>{var R;const T=o[A?(R=n.axis)==null?void 0:R.getId(A):S];return T?T(y)+(h?r.margin.left:r.margin.top):0};x.xAxis=o.x(g.x)+(a.tooltip_position?h?r.margin.top:r.margin.left:0),f.length===1?x.yAxis=v(f[0].value,f[0].id):x.yAxis=v}const{width:m=0,height:$=0}=g,b=(i=(s=a.tooltip_position)==null?void 0:s.bind(n.api)(f,m,$,l==null?void 0:l.node(),x))!=null?i:Me(u)?n.getTooltipPositionViewBox.bind(n)(m,$,x):n.getTooltipPosition.bind(n)(m,$,x);["top","left"].forEach(v=>{const y=b[v];c.style(v,`${y}px`),v==="left"&&!g.xPosInPercent&&(g.xPosInPercent=y/r.current.width*100)})}},getTooltipPositionViewBox(e,t,s){var i,n;const a=this,{$el:{eventRect:o,main:r},config:l,state:c}=a,u=l.axis_rotated,d=a.hasArcType(void 0,["radar"])||c.hasFunnel||c.hasTreemap,h=(n=(i=c.hasRadar?r:o)==null?void 0:i.node())!=null?n:c.event.target,g=38;let{x:f,y:p}=s;c.hasAxis&&(f=u?f:s.xAxis,p=u?s.xAxis:p);const _=De(h,f,p,!1);let x=_.y,m=_.x+g;d&&(x+=t,m-=g);const $=(d?r.node():h).getBoundingClientRect();return m+e>$.right&&(m=$.right-e-g),x+t>$.bottom&&(x-=t+g),{top:x,left:m}},getTooltipPosition(e,t,s){var i,n,a;const o=this,{config:r,scale:l,state:c}=o,{width:u,height:d,current:h,hasFunnel:g,hasRadar:f,hasTreemap:p,isLegendRight:_,inputType:x}=c,m=o.hasType("gauge")&&!r.gauge_fullCircle,$=r.axis_rotated,b=o.hasArcType(),v=o.getSvgLeft(!0);let y=v+h.width-o.getCurrentPaddingByDirection("right");const A=20;let{x:S,y:R}=s;if(f)S+=S>=u/2?15:-(e+15),R+=15;else if(b){if(x!=="touch"){let z=(n=(i=o.getTitlePadding)==null?void 0:i.call(o))!=null?n:0;z&&m&&((a=r.arc_rangeText_values)!=null&&a.length)&&(z+=10),S+=(u-(_?o.getLegendWidth():0))/2,R+=(m?d:d/2+t)+z}}else if(g||p)R+=t;else{const C={top:o.getCurrentPaddingByDirection("top",!0),left:o.getCurrentPaddingByDirection("left",!0)};$?(S+=v+C.left+A,R=C.top+s.xAxis+A,y-=v):(S=v+C.left+A+(l.zoom?S:s.xAxis),R+=C.top-5)}if(S+e+15>y&&(S-=e+(g||p||b?0:$?A*2:38)),R+t>h.height){const C=p?t+10:30;R-=m?t*1.5:t+C}const T={top:R,left:S};return Object.keys(T).forEach(C=>{T[C]<0&&(T[C]=0)}),T},showTooltip(e,t){const s=this,{config:i,$el:{tooltip:n}}=s,a=e.filter(l=>l&&M(s.getBaseValue(l)));if(!n||a.length===0||!i.tooltip_show)return;let o=n.datum();const r=JSON.stringify(e);if(!o||o.current!==r){const{index:l,x:c}=e.concat().sort()[0];K(i.tooltip_onshow,s.api,e),n.html(s.getTooltipHTML(e,s.axis?s.axis.getXAxisTickFormat():s.categoryName.bind(s),s.getDefaultValueFormat(),s.color)).style("display",null).style("visibility",null).datum(o={index:l,x:c,current:r,width:n.property("offsetWidth"),height:n.property("offsetHeight")}),K(i.tooltip_onshown,s.api,e),s._handleLinkedCharts(!0,l)}s.setTooltipPosition(a,t)},bindTooltipResizePos(){const e=this,{resizeFunction:t,state:s,$el:{tooltip:i}}=e;t.add(()=>{if(i.style("display")==="block"){const{current:n}=s,{width:a,xPosInPercent:o}=i.datum();let r=n.width/100*o;const l=n.width-(r+a);l<0&&(r+=l),i.style("left",`${r}px`)}})},hideTooltip(e){var t;const s=this,{api:i,config:n,$el:{tooltip:a}}=s;if(a&&a.style("display")!=="none"&&(!n.tooltip_doNotHide||e)){const o=JSON.parse((t=a.datum().current)!=null?t:{});K(n.tooltip_onhide,i,o),a.style("display","none").style("visibility","hidden").datum(null),K(n.tooltip_onhidden,i,o)}},_handleLinkedCharts(e,t){const s=this,{charts:i,config:n,state:{event:a}}=s;if(a!=null&&a.isTrusted&&n.tooltip_linked&&i.length>1){const o=n.tooltip_linked_name;i.filter(r=>r!==s.api).forEach(r=>{const{config:l,$el:c}=r.internal,u=l.tooltip_linked,d=l.tooltip_linked_name,h=ot.body.contains(c.chart.node());if(u&&o===d&&h){const g=c.tooltip.data()[0],f=t!==(g==null?void 0:g.index);try{r.tooltip[e&&f?"show":"hide"]({index:t})}catch(p){}}})}},updateTooltipOnRedraw(e,t){var s;const i=this,{config:n,$el:{eventRect:a,svg:o,tooltip:r},state:{event:l,hasAxis:c,hasRadar:u,hasTreemap:d}}=i;if((r==null?void 0:r.style("display"))==="block"&&l){const h=e!=null?e:(s=u?o:a)==null?void 0:s.node();if(c||u)if(i.isMultipleX())i.selectRectForMultipleXs(h,!1);else{const g=t!=null?t:i.getDataIndexFromEvent(l);t===-1?i.api.tooltip.hide():(i.selectRectForSingle(h,g),i.setExpand(g,null,!0))}else{const{clientX:g,clientY:f}=l;setTimeout(()=>{let p=[g,f].every(Number.isFinite)&&ot.elementFromPoint(g,f);const _=p&&(0,w.select)(p).datum();if(_){const x=i.hasArcType()?i.convertToArcData(i.updateAngle(_)):_==null?void 0:_.data;d&&(p=o.node()),x&&i.showTooltip([x],p)}else i.api.tooltip.hide()},n.transition_duration)}}}},la={getTranslate(e,t=0){var s;const i=this,{config:n,state:a}=i,o=n.axis_rotated;let r=0,l,c;if(t&&/^(x|y2?)$/.test(e)&&(r=i.getAxisSize(e)*t),e==="main")l=$e(a.margin.left),c=$e(a.margin.top);else if(e==="context")l=$e(a.margin2.left),c=$e(a.margin2.top);else if(e==="legend")l=a.margin3.left,c=a.margin3.top;else if(e==="x")l=o?-r:0,c=o?0:a.height+r;else if(e==="y")l=o?0:-r,c=o?a.height+r:0;else if(e==="y2")l=o?0:a.width+r,c=o?-r-1:0;else if(e==="subX")l=0,c=o?0:a.height2;else if(e==="arc")l=a.arcWidth/2,c=a.arcHeight/2,(s=n.arc_rangeText_values)!=null&&s.length&&(c+=5+(i.hasType("gauge")&&n.title_text?10:0));else if(e==="polar")l=a.arcWidth/2,c=a.arcHeight/2;else if(e==="radar"){const[u,d]=i.getRadarSize();l=a.width/2-u,c=a.height/2-d}return`translate(${l}, ${c})`},transformMain(e,t){const s=this,{$el:{main:i},$T:n}=s,a=t!=null&&t.axisX?t.axisX:n(i.select(`.${at.axisX}`),e),o=t!=null&&t.axisY?t.axisY:n(i.select(`.${at.axisY}`),e),r=t!=null&&t.axisY2?t.axisY2:n(i.select(`.${at.axisY2}`),e);n(i,e).attr("transform",s.getTranslate("main")),a.attr("transform",s.getTranslate("x")),o.attr("transform",s.getTranslate("y")),r.attr("transform",s.getTranslate("y2")),i.select(`.${G.chartArcs}`).attr("transform",s.getTranslate("arc"))},transformAll(e,t){const s=this,{config:i,state:{hasAxis:n,hasFunnel:a,hasTreemap:o},$el:r}=s;!a&&!o&&s.transformMain(e,t),n&&i.subchart_show&&s.transformContext(e,t),r.legend&&s.transformLegend(e)}},ca={isValidChartType(e){return!!(e&&Object.values(E).indexOf(e)>-1)},setTargetType(e,t){const s=this,{config:i,state:{withoutFadeIn:n}}=s;s.mapToTargetIds(e).forEach(a=>{n[a]=t===i.data_types[a],i.data_types[a]=t}),e||(i.data_type=t)},updateTypesElements(){const e=this,{state:{current:t}}=e;Object.keys(E).forEach(s=>{const i=E[s],n=e.hasType(i,null,!0),a=t.types.indexOf(i);a===-1&&n?t.types.push(i):a>-1&&!n&&t.types.splice(a,1)}),e.setChartElements()},hasType(e,t,s=!1){var i;const n=this,{config:a,state:{current:o}}=n,r=a.data_types,l=t||n.data.targets;let c=!1;return!s&&((i=o.types)==null?void 0:i.indexOf(e))>-1?c=!0:l!=null&&l.length?l.forEach(u=>{const d=r[u.id];(d===e||!d&&e==="line")&&(c=!0)}):Object.keys(r).length?Object.keys(r).forEach(u=>{r[u]===e&&(c=!0)}):c=a.data_type===e,c},hasTypeOf(e,t,s=[]){return e in zt?!zt[e].filter(i=>s.indexOf(i)===-1).every(i=>!this.hasType(i,t)):!1},isTypeOf(e,t){var s;const i=V(e)?e:e.id,n=this.config&&(((s=this.config.data_types)==null?void 0:s[i])||this.config.data_type);return N(t)?t.indexOf(n)>=0:n===t},hasPointType(){const e=this;return e.hasTypeOf("Line")||e.hasType("bubble")||e.hasType("scatter")},hasArcType(e,t){return this.hasTypeOf("Arc",e,t)},hasMultiArcGauge(){return this.hasType("gauge")&&this.config.gauge_type==="multi"},isLineType(e){const t=V(e)?e:e.id;return!this.config.data_types[t]||this.isTypeOf(t,zt.Line)},isStepType(e){return this.isTypeOf(e,zt.Step)},isSplineType(e){return this.isTypeOf(e,zt.Spline)},isAreaType(e){return this.isTypeOf(e,zt.Area)},isAreaRangeType(e){return this.isTypeOf(e,zt.AreaRange)},isBarType(e){return this.isTypeOf(e,"bar")},isBubbleType(e){return this.isTypeOf(e,"bubble")},isCandlestickType(e){return this.isTypeOf(e,"candlestick")},isScatterType(e){return this.isTypeOf(e,"scatter")},isTreemapType(e){return this.isTypeOf(e,"treemap")},isPieType(e){return this.isTypeOf(e,"pie")},isFunnelType(e){return this.isTypeOf(e,"funnel")},isGaugeType(e){return this.isTypeOf(e,"gauge")},isDonutType(e){return this.isTypeOf(e,"donut")},isPolarType(e){return this.isTypeOf(e,"polar")},isRadarType(e){return this.isTypeOf(e,"radar")},isArcType(e){return this.isPieType(e)||this.isDonutType(e)||this.isGaugeType(e)||this.isPolarType(e)||this.isRadarType(e)},isCirclePoint(e){const{config:t}=this,s=t.point_pattern;let i=!1;return(e==null?void 0:e.tagName)==="circle"?i=!0:i=t.point_type==="circle"&&(!s||N(s)&&s.length===0),i},lineData(e){return this.isLineType(e)?[e]:[]},arcData(e){return this.isArcType(e.data)?[e]:[]},labelishData(e){return this.isBarType(e)||this.isLineType(e)||this.isScatterType(e)||this.isBubbleType(e)||this.isCandlestickType(e)||this.isFunnelType(e)||this.isRadarType(e)||this.isTreemapType(e)?e.values.filter(t=>L(t.value)||!!t.value):[]},barLineBubbleData(e){return this.isBarType(e)||this.isLineType(e)||this.isBubbleType(e)?e.values:[]},isInterpolationType(e){return["basis","basis-closed","basis-open","bundle","cardinal","cardinal-closed","cardinal-open","catmull-rom","catmull-rom-closed","catmull-rom-open","linear","linear-closed","monotone-x","monotone-y","natural"].indexOf(e)>=0}},tt=U(9);function da(e){const t=this;let s;return t.isLineType(e)?s=t.generateGetLinePoints(t.getShapeIndices(t.isLineType)):t.isBarType(e)&&(s=t.generateGetBarPoints(t.getShapeIndices(t.isBarType))),s}var ua={getDrawShape(){const e=this,t=e.config.axis_rotated,{hasRadar:s,hasTreemap:i}=e.state,n={type:{},indices:{},pos:{}};if(!i&&["bar","candlestick","line","area"].forEach(a=>{const o=ft(/^(bubble|scatter)$/.test(a)?"line":a);if(e.hasType(a)||e.hasTypeOf(o)||a==="line"&&(e.hasType("bubble")||e.hasType("scatter"))){const r=e.getShapeIndices(e[`is${o}Type`]),l=e[`generateDraw${o}`];n.indices[a]=r,n.type[a]=l?l.bind(e)(r,!1):void 0}}),!e.hasArcType()||s||i){let a,o;i||(a=s?e.radarCircleX:t?e.circleY:e.circleX,o=s?e.radarCircleY:t?e.circleX:e.circleY),n.pos={xForText:e.generateXYForText(n.indices,!0),yForText:e.generateXYForText(n.indices,!1),cx:(a||function(){}).bind(e),cy:(o||function(){}).bind(e)}}return n},getShapeIndices(e){const t=this,{config:s}=t,i=s.data_xs,n=nt(i),a={};let o=n?{}:0;return n&&ze(Object.keys(i).map(r=>i[r])).forEach(r=>{o[r]=0,a[r]={}}),t.filterTargetsToShow(t.data.targets.filter(e,t)).forEach(r=>{var l;const c=r.id in i?i[r.id]:"",u=c?a[c]:a;for(let d=0,h;h=s.data_groups[d];d++)if(!(h.indexOf(r.id)<0))for(let g=0,f;f=h[g];g++){if(f in u){u[r.id]=u[f];break}r.id!==f&&c&&(u[f]=(l=u[r.id])!=null?l:o[c])}it(u[r.id])&&(u[r.id]=c?o[c]++:o++,u.__max__=(c?o[c]:o)-1)}),a},getIndices(e,t,s){const i=this,{data_xs:n,bar_indices_removeNull:a}=i.config,{id:o,index:r}=t;if(i.isBarType(o)&&a){const l={};return i.getAllValuesOnIndex(r,!0).forEach((c,u)=>{l[c.id]=u,l.__max__=u}),l}return nt(n)?e[n[o]]:e},getIndicesMax(e){return nt(this.config.data_xs)?Object.keys(e).map(t=>e[t].__max__||0).reduce((t,s)=>t+s):e.__max__},getShapeX(e,t,s){const i=this,{config:n,scale:a}=i,o=s?a.subX:a.zoom||a.x,r=n.bar_overlap,l=n.bar_padding,c=(d,h)=>d+h,u=St(e)&&(e._$total.length?e._$total.reduce(c)/2:0);return d=>{const h=i.getIndices(t,d,"getShapeX"),g=d.id in h?h[d.id]:0,f=(h.__max__||0)+1;let p=0;if(nt(d.x)){const _=o(d.x,!0);if(u){const x=e[d.id]||e._$width;p=r?_-x/2:_-x+e._$total.slice(0,g+1).reduce(c)-u}else p=_-(L(e)?e:e._$width)*(f/2-(r?1:g))}return e&&p&&f>1&&l&&(g&&(p+=l*g),f>2?p-=(f-1)*l/2:f===2&&(p-=l/2)),p}},getShapeY(e){const t=this,s=t.isStackNormalized();return i=>{let{value:n}=i;return L(i)?n=i:t.isAreaRangeType(i)?n=t.getBaseValue(i,"mid"):s?n=t.getRatio("index",i,!0):t.isBubbleZType(i)?n=t.getBubbleZData(i.value,"y"):t.isBarRangeType(i)&&(n=n[1]),t.getYScaleById(i.id,e)(n)}},getShapeYMin(e){const t=this,s=t.axis.getId(e),i=t.scale[s],[n]=i.domain(),a=t.config[`axis_${s}_inverted`];return!t.isGrouped(e)&&!a&&n>0?n:0},getShapeOffsetData(e){const t=this,s=t.orderTargets(t.filterTargetsToShow(t.data.targets.filter(e,t))),i=t.isStackNormalized(),n=s.map(o=>{let r=o.values;const l={};t.isStepType(o)&&(r=t.convertValuesToStep(r));const c=r.reduce((u,d)=>{const h=Number(d.x);return u[h]=d,l[h]=i?t.getRatio("index",d,!0):d.value,u},{});return{id:o.id,rowValues:r,rowValueMapByXValue:c,values:l}});return{indexMapByTargetId:s.reduce((o,{id:r},l)=>(o[r]=l,o),{}),shapeOffsetTargets:n}},getShapeOffset(e,t,s){const i=this,{shapeOffsetTargets:n,indexMapByTargetId:a}=i.getShapeOffsetData(e),o=i.config.data_groupsZeroAs;return(r,l)=>{const{id:c,value:u,x:d}=r,h=i.getIndices(t,r),g=i.getYScaleById(c,s);if(i.isBarRangeType(r))return g(u[0]);const f=Number(d),p=g(o==="zero"?0:i.getShapeYMin(c));let _=p;return n.filter(x=>x.id!==c&&h[x.id]===h[c]).forEach(x=>{const{id:m,rowValueMapByXValue:$,rowValues:b,values:v}=x;if(a[m]=0&&L(y)&&(u!==0||o==="positive"&&y>0||o==="negative"&&y<0)&&(_+=g(y)-p)}}),_}},circleY(e,t){const s=this,i=e.id;let n;return s.isGrouped(i)&&(n=da.bind(s)(e)),n?n(e,t)[0][1]:s.getYScaleById(i)(s.getBaseValue(e))},getBarW(e,t,s){var i,n,a,o,r;const l=this,{config:c,org:u,scale:d,state:h}=l,g=l.getMaxDataCount(),f=e==="bar"&&((i=c.data_groups)==null?void 0:i.length),p=`${e}_width`,{k:_}=(a=(n=l.getZoomTransform)==null?void 0:n.call(l))!=null?a:{k:1},x=[(o=c.axis_x_min)!=null?o:u.xDomain[0],(r=c.axis_x_max)!=null?r:u.xDomain[1]].map(l.axis.isTimeSeries()?mt.bind(l):Number);let m=t.tickInterval(g);if(d.zoom&&!l.axis.isCategorized()&&_>1){const v=x.every((y,A)=>y===u.xDomain[A]);m=u.xDomain.map((y,A)=>{const S=v?y:y-Math.abs(x[A]);return d.zoom(S)}).reduce((y,A)=>Math.abs(y)+A)/g}const $=v=>{const y=v?c[p][v]:c[p],A=v?y.ratio:c[`${p}_ratio`],S=v?y.max:c[`${p}_max`],R=L(y)?y:O(y)?y.call(l,h.width,s,g):s?m*A/s:0;return S&&R>S?S:R};let b=$();return!f&&St(c[p])&&(b={_$width:b,_$total:[]},l.filterTargetsToShow(l.data.targets).forEach(v=>{c[p][v.id]&&(b[v.id]=$(v.id),b._$total.push(b[v.id]||b._$width))})),b},getShapeByIndex(e,t,s){const i=this,{$el:n}=i,a=M(t)?`-${t}`:"";let o=n[e];return o&&!o.empty()?o=o.filter(r=>s?r.id===s:!0).filter(r=>M(t)?r.index===t:!0):o=(s?n.main.selectAll(`.${B[`${e}s`]}${i.getTargetSelectorSuffix(s)}`):n.main).selectAll(`.${B[e]}${a}`),o},isWithinShape(e,t){var s;const i=this,n=(0,w.select)(e);let a;return i.isTargetToShow(t.id)?(s=i.hasValidPointType)!=null&&s.call(i,e.nodeName)?a=i.isStepType(t)?i.isWithinStep(e,i.getYScaleById(t.id)(i.getBaseValue(t))):i.isWithinCircle(e,i.isBubbleType(t)?i.pointSelectR(t)*1.5:0):e.nodeName==="path"&&(a=n.classed(B.bar)?i.isWithinBar(e):!0):a=!1,a},getInterpolate(e){const s=this.getInterpolateType(e);return{basis:tt.curveBasis,"basis-closed":tt.curveBasisClosed,"basis-open":tt.curveBasisOpen,bundle:tt.curveBundle,cardinal:tt.curveCardinal,"cardinal-closed":tt.curveCardinalClosed,"cardinal-open":tt.curveCardinalOpen,"catmull-rom":tt.curveCatmullRom,"catmull-rom-closed":tt.curveCatmullRomClosed,"catmull-rom-open":tt.curveCatmullRomOpen,"monotone-x":tt.curveMonotoneX,"monotone-y":tt.curveMonotoneY,natural:tt.curveNatural,"linear-closed":tt.curveLinearClosed,linear:tt.curveLinear,step:tt.curveStep,"step-after":tt.curveStepAfter,"step-before":tt.curveStepBefore}[s]},getInterpolateType(e){const t=this,{config:s}=t,i=s.spline_interpolation_type,n=t.isInterpolationType(i)?i:"cardinal";return t.isSplineType(e)?n:t.isStepType(e)?s.line_step_type:"linear"},isWithinBar(e){const t=yt(this.state.event,e),s=cs(e),[i,n]=s,a=Math.min(i.x,n.x),o=Math.min(i.y,n.y),r=this.config.bar_sensitivity,{width:l,height:c}=e.getBBox(),u=a-r,d=a+l+r,h=o+c+r,g=o-r;return ut in e?ha(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,ht=(e,t,s)=>ga(e,typeof t!="symbol"?t+"":t,s);class jt{constructor(t){ht(this,"api"),ht(this,"config"),ht(this,"cache"),ht(this,"$el"),ht(this,"state"),ht(this,"charts"),ht(this,"data",{xs:{},targets:[]}),ht(this,"axis"),ht(this,"scale",{x:null,y:null,y2:null,subX:null,subY:null,subY2:null,zoom:null}),ht(this,"org",{xScale:null,xDomain:null}),ht(this,"color"),ht(this,"patterns"),ht(this,"levelColor"),ht(this,"point"),ht(this,"brush"),ht(this,"format",{extraLineClasses:null,xAxisTick:null,dataTime:null,defaultAxisTime:null,axisTime:null});const s=this;s.api=t,s.config=new Vt,s.cache=new Cn;const i=new An;s.$el=i.getStore("element"),s.state=i.getStore("state"),s.$T=s.$T.bind(s)}$T(t,s,i){const{config:n,state:a}=this,o=n.transition_duration,r=n.subchart_show;let l=t;return l&&("tagName"in l&&(l=(0,w.select)(l)),l=(s!==!1&&o||s)&&(!a.zooming||a.dragging)&&!a.resizing&&a.rendered&&!r?l.transition(i).duration(o):l),l}beforeInit(){const t=this;t.callPluginHook("$beforeInit"),K(t.config.onbeforeinit,t.api)}afterInit(){const t=this;t.callPluginHook("$afterInit"),K(t.config.onafterinit,t.api)}init(){const t=this,{config:s,state:i,$el:n}=t,a=s.boost_useCssRule;if(En(t),i.hasRadar=!i.hasAxis&&t.hasType("radar"),i.hasFunnel=!i.hasAxis&&t.hasType("funnel"),i.hasTreemap=!i.hasAxis&&t.hasType("treemap"),i.hasAxis=!t.hasArcType()&&!i.hasFunnel&&!i.hasTreemap,i.datetimeId=`bb-${+new Date*kt()}`,a){const r=ot.createElement("style");r.type="text/css",ot.head.appendChild(r),i.style={rootSelctor:`.${i.datetimeId}`,sheet:r.sheet},n.style=r}const o={element:s.bindto,classname:"bb"};X(s.bindto)&&(o.element=s.bindto.element||"#chart",o.classname=s.bindto.classname||o.classname),n.chart=O(o.element.node)?s.bindto.element:(0,w.select)(o.element||[]),n.chart.empty()&&(n.chart=(0,w.select)(ot.body.appendChild(ot.createElement("div")))),n.chart.html("").classed(o.classname,!0).classed(i.datetimeId,a).style("position","relative"),t.initParams(),t.initToRender()}initToRender(t){const s=this,{config:i,state:n,$el:{chart:a}}=s,o=()=>xn(a,{display:"none",visibility:"hidden"}),r=i.render.lazy===!1?!1:i.render.lazy||o(),l=j.MutationObserver;r&&l&&i.render.observe!==!1&&!t&&new l((c,u)=>{o()||(u.disconnect(),!n.rendered&&s.initToRender(!0))}).observe(a.node(),{attributes:!0,attributeFilter:["class","style"]}),(!r||t)&&s.convertData(i,c=>{s.initWithData(c),s.afterInit()})}initParams(){var t;const s=this,{config:i,format:n,state:a}=s,o=i.axis_rotated;if(s.color=s.generateColor(),s.levelColor=s.generateLevelColor(),i.padding===!1&&(i.axis_x_show=!1,i.axis_y_show=!1,i.axis_y2_show=!1,i.subchart_show=!1),(s.hasPointType()||(t=s.hasLegendDefsPoint)!=null&&t.call(s))&&(s.point=s.generatePoint()),a.hasAxis){s.initClip(),n.extraLineClasses=s.generateExtraLineClass(),n.dataTime=i.data_xLocaltime?pe.timeParse:pe.utcParse,n.axisTime=i.axis_x_localtime?pe.timeFormat:pe.utcFormat;const r=s.config.zoom_enabled&&s.config.zoom_type==="drag";n.defaultAxisTime=l=>{const{x:c,zoom:u}=s.scale,d=r?u:u&&c.orgDomain().toString()!==u.domain().toString(),h=l.getMilliseconds()&&".%L"||l.getSeconds()&&".:%S"||l.getMinutes()&&"%I:%M"||l.getHours()&&"%I %p"||l.getDate()!==1&&"%b %d"||d&&l.getDate()===1&&"%b'%y"||l.getMonth()&&"%-m/%-d"||"%Y";return n.axisTime(h)(l)}}a.isLegendRight=i.legend_position==="right",a.isLegendInset=i.legend_position==="inset",a.isLegendTop=i.legend_inset_anchor==="top-left"||i.legend_inset_anchor==="top-right",a.isLegendLeft=i.legend_inset_anchor==="top-left"||i.legend_inset_anchor==="bottom-left",a.rotatedPadding.top=s.getResettedPadding(a.rotatedPadding.top),a.rotatedPadding.right=o&&!i.axis_x_show?0:30,a.inputType=_n(i.interaction_inputType_mouse,i.interaction_inputType_touch)}initWithData(t){var s,i,n;const a=this,{config:o,scale:r,state:l,$el:c,org:u}=a,{hasAxis:d,hasFunnel:h,hasTreemap:g}=l,f=o.interaction_enabled,p=a.hasType("polar"),_=o.data_labels_backgroundColors;if(d&&(a.axis=a.getAxisInstance(),o.zoom_enabled&&a.initZoom()),a.data.xs={},a.data.targets=a.convertDataToTargets(t),o.data_filter&&(a.data.targets=a.data.targets.filter(o.data_filter.bind(a.api))),o.data_hide&&a.addHiddenTargetIds(o.data_hide===!0?a.mapToIds(a.data.targets):o.data_hide),o.legend_hide&&a.addHiddenLegendIds(o.legend_hide===!0?a.mapToIds(a.data.targets):o.legend_hide),a.updateSizes(),a.updateScales(!0),d){const{x:$,y:b,y2:v,subX:y,subY:A,subY2:S}=r;$&&($.domain(Kt(a.getXDomain(a.data.targets),!o.axis_x_inverted)),y.domain($.domain()),u.xDomain=$.domain()),b&&(b.domain(a.getYDomain(a.data.targets,"y")),A.domain(b.domain())),v&&(v.domain(a.getYDomain(a.data.targets,"y2")),S&&S.domain(v.domain()))}if(c.svg=c.chart.append("svg").style("overflow","hidden").style("display","block"),f&&l.inputType){const $=l.inputType==="touch",{onclick:b,onover:v,onout:y}=o;c.svg.on("click",(b==null?void 0:b.bind(a.api))||null).on($?"touchstart":"mouseenter",(v==null?void 0:v.bind(a.api))||null).on($?"touchend":"mouseleave",(y==null?void 0:y.bind(a.api))||null)}o.svg_classname&&c.svg.attr("class",o.svg_classname);const x=O(o.color_tiles)&&a.patterns;(d||x||p||g||_||(s=a.hasLegendDefsPoint)!=null&&s.call(a))&&(c.defs=c.svg.append("defs"),d&&["id","idXAxis","idYAxis","idGrid"].forEach($=>{a.appendClip(c.defs,l.clip[$])}),a.generateTextBGColorFilter(_),x&&a.patterns.forEach($=>c.defs.append(()=>$.node))),a.updateSvgSize(),a.bindResize();const m=c.svg.append("g").classed(D.main,!0).attr("transform",h||g?null:a.getTranslate("main"));if(c.main=m,o.subchart_show&&a.initSubchart(),o.tooltip_show&&a.initTooltip(),o.title_text&&a.initTitle(),!g&&o.legend_show&&a.initLegend(),o.data_empty_label_text&&m.append("text").attr("class",`${gt.text} ${D.empty}`).attr("text-anchor","middle").attr("dominant-baseline","middle"),d&&(o.regions.length&&a.initRegion(),!o.clipPath&&a.axis.init()),m.append("g").classed(D.chart,!0).attr("clip-path",d?l.clip.path:null),a.callPluginHook("$init"),a.initChartElements(),d&&(f&&((i=a.initEventRect)==null||i.call(a)),a.initGrid(),o.clipPath&&((n=a.axis)==null||n.init())),a.updateTargets(a.data.targets),a.updateDimension(),K(o.oninit,a.api),a.setBackground(),a.redraw({withTransition:!1,withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withTransitionForAxis:!1,initializing:!0}),o.data_onmin||o.data_onmax){const $=a.getMinMaxData();K(o.data_onmin,a.api,$.min),K(o.data_onmax,a.api,$.max)}o.tooltip_show&&a.initShowTooltip(),l.rendered=!0}initChartElements(){const t=this,{hasAxis:s,hasRadar:i,hasTreemap:n}=t.state,a=[];if(s){const o=["bar","bubble","candlestick","line"];t.config.bar_front&&o.push(o.shift()),o.forEach(r=>{const l=ft(r);(r==="line"&&t.hasTypeOf(l)||t.hasType(r))&&a.push(l)})}else if(n)a.push("Treemap");else if(t.hasType("funnel"))a.push("Funnel");else{const o=t.hasType("polar");i||a.push("Arc","Pie"),t.hasType("gauge")?a.push("Gauge"):i?a.push("Radar"):o&&a.push("Polar")}a.forEach(o=>{t[`init${o}`]()}),nt(t.config.data_labels)&&!t.hasArcType(null,["radar"])&&t.initText()}setChartElements(){const t=this,{$el:{chart:s,svg:i,defs:n,main:a,tooltip:o,legend:r,title:l,grid:c,needle:u,arcs:d,circle:h,bar:g,candlestick:f,line:p,area:_,text:x}}=t;t.api.$={chart:s,svg:i,defs:n,main:a,tooltip:o,legend:r,title:l,grid:c,arc:d,circles:h,bar:{bars:g},candlestick:f,line:{lines:p,areas:_},needle:u,text:{texts:x}}}setBackground(){const t=this,{config:{background:s},state:i,$el:{svg:n}}=t;if(nt(s)){const a=n.select("g").insert(s.imgUrl?"image":"rect",":first-child");s.imgUrl?a.attr("href",s.imgUrl):s.color&&a.style("fill",s.color).attr("clip-path",i.clip.path),a.attr("class",s.class||null).attr("width","100%").attr("height","100%")}}updateTargets(t){var s;const i=this,{hasAxis:n,hasFunnel:a,hasRadar:o,hasTreemap:r}=i.state,l=u=>i[`updateTargetsFor${u}`](t.filter(i[`is${u}Type`].bind(i)));if(i.updateTargetsForText(t),n)["bar","candlestick","line"].forEach(u=>{const d=ft(u);(u==="line"&&i.hasTypeOf(d)||i.hasType(u))&&l(d)}),i.updateTargetsForSubchart&&i.updateTargetsForSubchart(t);else if(i.hasArcType(t)){let u="Arc";o?u="Radar":i.hasType("polar")&&(u="Polar"),l(u)}else a?l("Funnel"):r&&l("Treemap");const c=i.hasType("bubble")||i.hasType("scatter");c&&((s=i.updateTargetForCircle)==null||s.call(i)),i.filterTargetsToShowAtInit(c)}filterTargetsToShowAtInit(t=!1){const s=this,{$el:{svg:i},$T:n}=s;let a=`.${D.target}`;t&&(a+=`, .${ut.chartCircles} > .${ut.circles}`),n(i.selectAll(a).filter(o=>s.isTargetToShow(o.id))).style("opacity",null)}getWithOption(t){const s={Dimension:!0,EventRect:!0,Legend:!1,Subchart:!0,Transform:!1,Transition:!0,TrimXDomain:!0,UpdateXAxis:"UpdateXDomain",UpdateXDomain:!1,UpdateOrgXDomain:!1,TransitionForExit:"Transition",TransitionForAxis:"Transition",Y:!0};return Object.keys(s).forEach(i=>{let n=s[i];V(n)&&(n=s[n]),s[i]=Dt(t,`with${i}`,n)}),s}initialOpacity(t){const s=this,{withoutFadeIn:i}=s.state;return s.getBaseValue(t)!==null&&i[t.id]?null:"0"}bindResize(){const t=this,{config:s,state:i}=t,n=On(s.resize_timer),a=[];a.push(()=>K(s.onresize,t.api)),s.resize_auto===!0&&a.push(()=>{i.resizing=!0,s.legend_show&&(t.updateSizes(),t.updateLegend()),t.api.flush(!1)}),a.push(()=>{K(s.onresized,t.api),i.resizing=!1}),a.forEach(o=>n.add(o)),t.resizeFunction=n,j.addEventListener("resize",t.resizeFunction=n)}callPluginHook(t,...s){this.config.plugins.forEach(i=>{t==="$beforeInit"&&(i.$$=this,this.api.plugins.push(i)),i[t](...s)})}}rt(jt.prototype,[Xn,Bn,Nn,Vn,Yn,Un,Zn,Gn,qn,Kn,Qn,ta,ua,ea,sa,aa,oa,ra,la,ca]);function fa(e){const t=this.config;let s,i,n;const a=()=>{const o=i.shift();if(o&&s&&St(s)&&o in s)return s=s[o],a();if(!o)return s};Object.keys(t).forEach(o=>{s=e,i=o.split("_"),n=a(),H(n)&&(t[o]=n)}),this.api&&(this.state.orgConfig=e)}var pa={resize(e){const t=this.internal,{config:s,state:i}=t;i.rendered&&(s.size_width=e?e.width:null,s.size_height=e?e.height:null,i.resizing=!0,this.flush(!1),t.resizeFunction())},flush(e){var t,s;const i=this.internal,{state:n,$el:{zoomResetBtn:a}}=i;n.rendered?(n.resizing?(t=i.brush)==null||t.updateResize():(s=i.axis)==null||s.setOrient(),a==null||a.style("display","none"),i.scale.zoom=null,e?i.redraw({withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withLegend:!0}):i.updateAndRedraw({withLegend:!0,withTransition:!1,withTransitionForTransform:!1}),!n.resizing&&i.brush&&(i.brush.getSelection().call(i.brush.move),i.unselectRect())):i.initToRender(!0)},destroy(){const e=this.internal,{$el:{chart:t,style:s,svg:i}}=e;if(nt(e)){e.callPluginHook("$willDestroy"),e.charts.splice(e.charts.indexOf(this),1),e.unbindAllEvents(),i.select("*").interrupt(),e.resizeFunction.clear(),j.removeEventListener("resize",e.resizeFunction),t.classed("bb",!1).style("position",null).selectChildren().remove(),s&&s.parentNode.removeChild(s),Object.keys(this).forEach(n=>{n==="internal"&&Object.keys(e).forEach(a=>{e[a]=null}),this[n]=null,delete this[n]});for(const n in this)this[n]=()=>{}}return null},config(e,t,s){const i=this.internal,{config:n,state:a}=i,o=e==null?void 0:e.replace(/\./g,"_");let r;return e&&o in n?H(t)?(n[o]=t,r=t,s&&this.flush()):r=n[o]:(arguments.length===0||At(e))&&(r=a.orgConfig),r}},xa={color(e){return this.internal.color(e)}};const Es=function(e){const{targets:t}=this.internal.data;if(!it(e)){const s=N(e)?e:[e];return t.filter(i=>s.some(n=>n===i.id))}return t};rt(Es,{shown:function(e){return this.internal.filterTargetsToShow(this.data(e))},values:function(e,t=!0){let s=null;if(e){const i=this.data(e);N(i)&&(s=[],i.forEach(n=>{const a=n.values.map(o=>o.value);t?s=s.concat(a):s.push(a)}))}return s},names:function(e){return this.internal.updateDataAttributes("names",e)},colors:function(e){return this.internal.updateDataAttributes("colors",e)},axes:function(e){return this.internal.updateDataAttributes("axes",e)},min:function(){return this.internal.getMinMaxData().min},max:function(){return this.internal.getMinMaxData().max}});var _a={data:Es};const ma=e=>{var t,s;return(s=(t=j).btoa)==null?void 0:s.call(t,encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(i,n)=>String.fromCharCode(+`0x${n}`)))};function $a(e,t,s){const{width:i,height:n}=t||s,a=new XMLSerializer,o=e.cloneNode(!0),r=fn(Gt(ot.styleSheets)).filter(h=>h.cssText).map(h=>h.cssText);o.setAttribute("xmlns",w.namespaces.xhtml),o.style.margin="0",o.style.padding="0",t.preserveFontStyle&&o.querySelectorAll("text").forEach(h=>{h.innerHTML=""});const l=a.serializeToString(o),c=ot.createElement("style");c.appendChild(ot.createTextNode(r.join(` + `).replace(/(\r?\n|\t)/g,"").split(/{{(.*)}}/)},setTooltipPosition(e,t){var s,i;const n=this,{config:a,scale:o,state:r,$el:{eventRect:l,tooltip:c,svg:u}}=n,{bindto:d}=a.tooltip_contents,h=a.axis_rotated,g=c==null?void 0:c.datum();if(!d&&g){const f=e!=null?e:JSON.parse(g.current),[p,_]=yt(r.event,t!=null?t:l==null?void 0:l.node()),x={x:p,y:_};if(r.hasAxis&&o.x&&g&&"x"in g){const v=(y=0,A,S="y")=>{var R;const T=o[A?(R=n.axis)==null?void 0:R.getId(A):S];return T?T(y)+(h?r.margin.left:r.margin.top):0};x.xAxis=o.x(g.x)+(a.tooltip_position?h?r.margin.top:r.margin.left:0),f.length===1?x.yAxis=v(f[0].value,f[0].id):x.yAxis=v}const{width:m=0,height:$=0}=g,b=(i=(s=a.tooltip_position)==null?void 0:s.bind(n.api)(f,m,$,l==null?void 0:l.node(),x))!=null?i:Me(u)?n.getTooltipPositionViewBox.bind(n)(m,$,x):n.getTooltipPosition.bind(n)(m,$,x);["top","left"].forEach(v=>{const y=b[v];c.style(v,`${y}px`),v==="left"&&!g.xPosInPercent&&(g.xPosInPercent=y/r.current.width*100)})}},getTooltipPositionViewBox(e,t,s){var i,n;const a=this,{$el:{eventRect:o,svg:r},config:l,state:c}=a,u=l.axis_rotated,d=a.hasArcType()||c.hasFunnel||c.hasTreemap,h=(n=(i=d?r:o)==null?void 0:i.node())!=null?n:c.event.target;let{x:g,y:f}=s;c.hasAxis&&(g=u?g:s.xAxis,f=u?s.xAxis:f);const p=ve(h,g,f,!1),_=h.getBoundingClientRect(),x=ve(h,20,0,!1).x;let m=p.y,$=p.x+e/2+x;return d&&(c.hasFunnel||c.hasTreemap||c.hasRadar?($-=e/2+x,m+=t):(m+=_.height/2,$+=_.width/2-(e-x))),$+e>_.width&&($=_.width-e-x),m+t>_.height&&(m-=t*2),{top:m,left:$}},getTooltipPosition(e,t,s){var i,n,a;const o=this,{config:r,scale:l,state:c}=o,{width:u,height:d,current:h,hasFunnel:g,hasRadar:f,hasTreemap:p,isLegendRight:_,inputType:x}=c,m=o.hasType("gauge")&&!r.gauge_fullCircle,$=r.axis_rotated,b=o.hasArcType(),v=o.getSvgLeft(!0);let y=v+h.width-o.getCurrentPaddingByDirection("right");const A=20;let{x:S,y:R}=s;if(f)S+=S>=u/2?15:-(e+15),R+=15;else if(b){if(x!=="touch"){let z=(n=(i=o.getTitlePadding)==null?void 0:i.call(o))!=null?n:0;z&&m&&((a=r.arc_rangeText_values)!=null&&a.length)&&(z+=10),S+=(u-(_?o.getLegendWidth():0))/2,R+=(m?d:d/2+t)+z}}else if(g||p)R+=t;else{const C={top:o.getCurrentPaddingByDirection("top",!0),left:o.getCurrentPaddingByDirection("left",!0)};$?(S+=v+C.left+A,R=C.top+s.xAxis+A,y-=v):(S=v+C.left+A+(l.zoom?S:s.xAxis),R+=C.top-5)}if(S+e+15>y&&(S-=e+(g||p||b?0:$?A*2:38)),R+t>h.height){const C=p?t+10:30;R-=m?t*1.5:t+C}const T={top:R,left:S};return Object.keys(T).forEach(C=>{T[C]<0&&(T[C]=0)}),T},showTooltip(e,t){const s=this,{config:i,$el:{tooltip:n}}=s,a=e.filter(l=>l&&M(s.getBaseValue(l)));if(!n||a.length===0||!i.tooltip_show)return;let o=n.datum();const r=JSON.stringify(e);if(!o||o.current!==r){const{index:l,x:c}=e.concat().sort()[0];K(i.tooltip_onshow,s.api,e),n.html(s.getTooltipHTML(e,s.axis?s.axis.getXAxisTickFormat():s.categoryName.bind(s),s.getDefaultValueFormat(),s.color)).style("display",null).style("visibility",null).datum(o={index:l,x:c,current:r,width:n.property("offsetWidth"),height:n.property("offsetHeight")}),K(i.tooltip_onshown,s.api,e),s._handleLinkedCharts(!0,l)}s.setTooltipPosition(a,t)},bindTooltipResizePos(){const e=this,{resizeFunction:t,state:s,$el:{tooltip:i}}=e;t.add(()=>{if(i.style("display")==="block"){const{current:n}=s,{width:a,xPosInPercent:o}=i.datum();let r=n.width/100*o;const l=n.width-(r+a);l<0&&(r+=l),i.style("left",`${r}px`)}})},hideTooltip(e){var t;const s=this,{api:i,config:n,$el:{tooltip:a}}=s;if(a&&a.style("display")!=="none"&&(!n.tooltip_doNotHide||e)){const o=JSON.parse((t=a.datum().current)!=null?t:{});K(n.tooltip_onhide,i,o),a.style("display","none").style("visibility","hidden").datum(null),K(n.tooltip_onhidden,i,o)}},_handleLinkedCharts(e,t){const s=this,{charts:i,config:n,state:{event:a}}=s;if(a!=null&&a.isTrusted&&n.tooltip_linked&&i.length>1){const o=n.tooltip_linked_name;i.filter(r=>r!==s.api).forEach(r=>{const{config:l,$el:c}=r.internal,u=l.tooltip_linked,d=l.tooltip_linked_name,h=ot.body.contains(c.chart.node());if(u&&o===d&&h){const g=c.tooltip.data()[0],f=t!==(g==null?void 0:g.index);try{r.tooltip[e&&f?"show":"hide"]({index:t})}catch(p){}}})}},updateTooltipOnRedraw(e,t){var s;const i=this,{config:n,$el:{eventRect:a,svg:o,tooltip:r},state:{event:l,hasAxis:c,hasRadar:u,hasTreemap:d}}=i;if((r==null?void 0:r.style("display"))==="block"&&l){const h=e!=null?e:(s=u?o:a)==null?void 0:s.node();if(c||u)if(i.isMultipleX())i.selectRectForMultipleXs(h,!1);else{const g=t!=null?t:i.getDataIndexFromEvent(l);t===-1?i.api.tooltip.hide():(i.selectRectForSingle(h,g),i.setExpand(g,null,!0))}else{const{clientX:g,clientY:f}=l;setTimeout(()=>{let p=[g,f].every(Number.isFinite)&&ot.elementFromPoint(g,f);const _=p&&(0,w.select)(p).datum();if(_){const x=i.hasArcType()?i.convertToArcData(i.updateAngle(_)):_==null?void 0:_.data;d&&(p=o.node()),x&&i.showTooltip([x],p)}else i.api.tooltip.hide()},n.transition_duration)}}}},la={getTranslate(e,t=0){var s;const i=this,{config:n,state:a}=i,o=n.axis_rotated;let r=0,l,c;if(t&&/^(x|y2?)$/.test(e)&&(r=i.getAxisSize(e)*t),e==="main")l=$e(a.margin.left),c=$e(a.margin.top);else if(e==="context")l=$e(a.margin2.left),c=$e(a.margin2.top);else if(e==="legend")l=a.margin3.left,c=a.margin3.top;else if(e==="x")l=o?-r:0,c=o?0:a.height+r;else if(e==="y")l=o?0:-r,c=o?a.height+r:0;else if(e==="y2")l=o?0:a.width+r,c=o?-r-1:0;else if(e==="subX")l=0,c=o?0:a.height2;else if(e==="arc")l=a.arcWidth/2,c=a.arcHeight/2,(s=n.arc_rangeText_values)!=null&&s.length&&(c+=5+(i.hasType("gauge")&&n.title_text?10:0));else if(e==="polar")l=a.arcWidth/2,c=a.arcHeight/2;else if(e==="radar"){const[u,d]=i.getRadarSize();l=a.width/2-u,c=a.height/2-d}return`translate(${l}, ${c})`},transformMain(e,t){const s=this,{$el:{main:i},$T:n}=s,a=t!=null&&t.axisX?t.axisX:n(i.select(`.${at.axisX}`),e),o=t!=null&&t.axisY?t.axisY:n(i.select(`.${at.axisY}`),e),r=t!=null&&t.axisY2?t.axisY2:n(i.select(`.${at.axisY2}`),e);n(i,e).attr("transform",s.getTranslate("main")),a.attr("transform",s.getTranslate("x")),o.attr("transform",s.getTranslate("y")),r.attr("transform",s.getTranslate("y2")),i.select(`.${G.chartArcs}`).attr("transform",s.getTranslate("arc"))},transformAll(e,t){const s=this,{config:i,state:{hasAxis:n,hasFunnel:a,hasTreemap:o},$el:r}=s;!a&&!o&&s.transformMain(e,t),n&&i.subchart_show&&s.transformContext(e,t),r.legend&&s.transformLegend(e)}},ca={isValidChartType(e){return!!(e&&Object.values(E).indexOf(e)>-1)},setTargetType(e,t){const s=this,{config:i,state:{withoutFadeIn:n}}=s;s.mapToTargetIds(e).forEach(a=>{n[a]=t===i.data_types[a],i.data_types[a]=t}),e||(i.data_type=t)},updateTypesElements(){const e=this,{state:{current:t}}=e;Object.keys(E).forEach(s=>{const i=E[s],n=e.hasType(i,null,!0),a=t.types.indexOf(i);a===-1&&n?t.types.push(i):a>-1&&!n&&t.types.splice(a,1)}),e.setChartElements()},hasType(e,t,s=!1){var i;const n=this,{config:a,state:{current:o}}=n,r=a.data_types,l=t||n.data.targets;let c=!1;return!s&&((i=o.types)==null?void 0:i.indexOf(e))>-1?c=!0:l!=null&&l.length?l.forEach(u=>{const d=r[u.id];(d===e||!d&&e==="line")&&(c=!0)}):Object.keys(r).length?Object.keys(r).forEach(u=>{r[u]===e&&(c=!0)}):c=a.data_type===e,c},hasTypeOf(e,t,s=[]){return e in zt?!zt[e].filter(i=>s.indexOf(i)===-1).every(i=>!this.hasType(i,t)):!1},isTypeOf(e,t){var s;const i=V(e)?e:e.id,n=this.config&&(((s=this.config.data_types)==null?void 0:s[i])||this.config.data_type);return N(t)?t.indexOf(n)>=0:n===t},hasPointType(){const e=this;return e.hasTypeOf("Line")||e.hasType("bubble")||e.hasType("scatter")},hasArcType(e,t){return this.hasTypeOf("Arc",e,t)},hasMultiArcGauge(){return this.hasType("gauge")&&this.config.gauge_type==="multi"},isLineType(e){const t=V(e)?e:e.id;return!this.config.data_types[t]||this.isTypeOf(t,zt.Line)},isStepType(e){return this.isTypeOf(e,zt.Step)},isSplineType(e){return this.isTypeOf(e,zt.Spline)},isAreaType(e){return this.isTypeOf(e,zt.Area)},isAreaRangeType(e){return this.isTypeOf(e,zt.AreaRange)},isBarType(e){return this.isTypeOf(e,"bar")},isBubbleType(e){return this.isTypeOf(e,"bubble")},isCandlestickType(e){return this.isTypeOf(e,"candlestick")},isScatterType(e){return this.isTypeOf(e,"scatter")},isTreemapType(e){return this.isTypeOf(e,"treemap")},isPieType(e){return this.isTypeOf(e,"pie")},isFunnelType(e){return this.isTypeOf(e,"funnel")},isGaugeType(e){return this.isTypeOf(e,"gauge")},isDonutType(e){return this.isTypeOf(e,"donut")},isPolarType(e){return this.isTypeOf(e,"polar")},isRadarType(e){return this.isTypeOf(e,"radar")},isArcType(e){return this.isPieType(e)||this.isDonutType(e)||this.isGaugeType(e)||this.isPolarType(e)||this.isRadarType(e)},isCirclePoint(e){const{config:t}=this,s=t.point_pattern;let i=!1;return(e==null?void 0:e.tagName)==="circle"?i=!0:i=t.point_type==="circle"&&(!s||N(s)&&s.length===0),i},lineData(e){return this.isLineType(e)?[e]:[]},arcData(e){return this.isArcType(e.data)?[e]:[]},labelishData(e){return this.isBarType(e)||this.isLineType(e)||this.isScatterType(e)||this.isBubbleType(e)||this.isCandlestickType(e)||this.isFunnelType(e)||this.isRadarType(e)||this.isTreemapType(e)?e.values.filter(t=>L(t.value)||!!t.value):[]},barLineBubbleData(e){return this.isBarType(e)||this.isLineType(e)||this.isBubbleType(e)?e.values:[]},isInterpolationType(e){return["basis","basis-closed","basis-open","bundle","cardinal","cardinal-closed","cardinal-open","catmull-rom","catmull-rom-closed","catmull-rom-open","linear","linear-closed","monotone-x","monotone-y","natural"].indexOf(e)>=0}},tt=U(9);function da(e){const t=this;let s;return t.isLineType(e)?s=t.generateGetLinePoints(t.getShapeIndices(t.isLineType)):t.isBarType(e)&&(s=t.generateGetBarPoints(t.getShapeIndices(t.isBarType))),s}var ua={getDrawShape(){const e=this,t=e.config.axis_rotated,{hasRadar:s,hasTreemap:i}=e.state,n={type:{},indices:{},pos:{}};if(!i&&["bar","candlestick","line","area"].forEach(a=>{const o=ft(/^(bubble|scatter)$/.test(a)?"line":a);if(e.hasType(a)||e.hasTypeOf(o)||a==="line"&&(e.hasType("bubble")||e.hasType("scatter"))){const r=e.getShapeIndices(e[`is${o}Type`]),l=e[`generateDraw${o}`];n.indices[a]=r,n.type[a]=l?l.bind(e)(r,!1):void 0}}),!e.hasArcType()||s||i){let a,o;i||(a=s?e.radarCircleX:t?e.circleY:e.circleX,o=s?e.radarCircleY:t?e.circleX:e.circleY),n.pos={xForText:e.generateXYForText(n.indices,!0),yForText:e.generateXYForText(n.indices,!1),cx:(a||function(){}).bind(e),cy:(o||function(){}).bind(e)}}return n},getShapeIndices(e){const t=this,{config:s}=t,i=s.data_xs,n=nt(i),a={};let o=n?{}:0;return n&&ze(Object.keys(i).map(r=>i[r])).forEach(r=>{o[r]=0,a[r]={}}),t.filterTargetsToShow(t.data.targets.filter(e,t)).forEach(r=>{var l;const c=r.id in i?i[r.id]:"",u=c?a[c]:a;for(let d=0,h;h=s.data_groups[d];d++)if(!(h.indexOf(r.id)<0))for(let g=0,f;f=h[g];g++){if(f in u){u[r.id]=u[f];break}r.id!==f&&c&&(u[f]=(l=u[r.id])!=null?l:o[c])}it(u[r.id])&&(u[r.id]=c?o[c]++:o++,u.__max__=(c?o[c]:o)-1)}),a},getIndices(e,t,s){const i=this,{data_xs:n,bar_indices_removeNull:a}=i.config,{id:o,index:r}=t;if(i.isBarType(o)&&a){const l={};return i.getAllValuesOnIndex(r,!0).forEach((c,u)=>{l[c.id]=u,l.__max__=u}),l}return nt(n)?e[n[o]]:e},getIndicesMax(e){return nt(this.config.data_xs)?Object.keys(e).map(t=>e[t].__max__||0).reduce((t,s)=>t+s):e.__max__},getShapeX(e,t,s){const i=this,{config:n,scale:a}=i,o=s?a.subX:a.zoom||a.x,r=n.bar_overlap,l=n.bar_padding,c=(d,h)=>d+h,u=St(e)&&(e._$total.length?e._$total.reduce(c)/2:0);return d=>{const h=i.getIndices(t,d,"getShapeX"),g=d.id in h?h[d.id]:0,f=(h.__max__||0)+1;let p=0;if(nt(d.x)){const _=o(d.x,!0);if(u){const x=e[d.id]||e._$width;p=r?_-x/2:_-x+e._$total.slice(0,g+1).reduce(c)-u}else p=_-(L(e)?e:e._$width)*(f/2-(r?1:g))}return e&&p&&f>1&&l&&(g&&(p+=l*g),f>2?p-=(f-1)*l/2:f===2&&(p-=l/2)),p}},getShapeY(e){const t=this,s=t.isStackNormalized();return i=>{let{value:n}=i;return L(i)?n=i:t.isAreaRangeType(i)?n=t.getBaseValue(i,"mid"):s?n=t.getRatio("index",i,!0):t.isBubbleZType(i)?n=t.getBubbleZData(i.value,"y"):t.isBarRangeType(i)&&(n=n[1]),t.getYScaleById(i.id,e)(n)}},getShapeYMin(e){const t=this,s=t.axis.getId(e),i=t.scale[s],[n]=i.domain(),a=t.config[`axis_${s}_inverted`];return!t.isGrouped(e)&&!a&&n>0?n:0},getShapeOffsetData(e){const t=this,s=t.orderTargets(t.filterTargetsToShow(t.data.targets.filter(e,t))),i=t.isStackNormalized(),n=s.map(o=>{let r=o.values;const l={};t.isStepType(o)&&(r=t.convertValuesToStep(r));const c=r.reduce((u,d)=>{const h=Number(d.x);return u[h]=d,l[h]=i?t.getRatio("index",d,!0):d.value,u},{});return{id:o.id,rowValues:r,rowValueMapByXValue:c,values:l}});return{indexMapByTargetId:s.reduce((o,{id:r},l)=>(o[r]=l,o),{}),shapeOffsetTargets:n}},getShapeOffset(e,t,s){const i=this,{shapeOffsetTargets:n,indexMapByTargetId:a}=i.getShapeOffsetData(e),o=i.config.data_groupsZeroAs;return(r,l)=>{const{id:c,value:u,x:d}=r,h=i.getIndices(t,r),g=i.getYScaleById(c,s);if(i.isBarRangeType(r))return g(u[0]);const f=Number(d),p=g(o==="zero"?0:i.getShapeYMin(c));let _=p;return n.filter(x=>x.id!==c&&h[x.id]===h[c]).forEach(x=>{const{id:m,rowValueMapByXValue:$,rowValues:b,values:v}=x;if(a[m]=0&&L(y)&&(u!==0||o==="positive"&&y>0||o==="negative"&&y<0)&&(_+=g(y)-p)}}),_}},circleY(e,t){const s=this,i=e.id;let n;return s.isGrouped(i)&&(n=da.bind(s)(e)),n?n(e,t)[0][1]:s.getYScaleById(i)(s.getBaseValue(e))},getBarW(e,t,s){var i,n,a,o,r;const l=this,{config:c,org:u,scale:d,state:h}=l,g=l.getMaxDataCount(),f=e==="bar"&&((i=c.data_groups)==null?void 0:i.length),p=`${e}_width`,{k:_}=(a=(n=l.getZoomTransform)==null?void 0:n.call(l))!=null?a:{k:1},x=[(o=c.axis_x_min)!=null?o:u.xDomain[0],(r=c.axis_x_max)!=null?r:u.xDomain[1]].map(l.axis.isTimeSeries()?mt.bind(l):Number);let m=t.tickInterval(g);if(d.zoom&&!l.axis.isCategorized()&&_>1){const v=x.every((y,A)=>y===u.xDomain[A]);m=u.xDomain.map((y,A)=>{const S=v?y:y-Math.abs(x[A]);return d.zoom(S)}).reduce((y,A)=>Math.abs(y)+A)/g}const $=v=>{const y=v?c[p][v]:c[p],A=v?y.ratio:c[`${p}_ratio`],S=v?y.max:c[`${p}_max`],R=L(y)?y:O(y)?y.call(l,h.width,s,g):s?m*A/s:0;return S&&R>S?S:R};let b=$();return!f&&St(c[p])&&(b={_$width:b,_$total:[]},l.filterTargetsToShow(l.data.targets).forEach(v=>{c[p][v.id]&&(b[v.id]=$(v.id),b._$total.push(b[v.id]||b._$width))})),b},getShapeByIndex(e,t,s){const i=this,{$el:n}=i,a=M(t)?`-${t}`:"";let o=n[e];return o&&!o.empty()?o=o.filter(r=>s?r.id===s:!0).filter(r=>M(t)?r.index===t:!0):o=(s?n.main.selectAll(`.${B[`${e}s`]}${i.getTargetSelectorSuffix(s)}`):n.main).selectAll(`.${B[e]}${a}`),o},isWithinShape(e,t){var s;const i=this,n=(0,w.select)(e);let a;return i.isTargetToShow(t.id)?(s=i.hasValidPointType)!=null&&s.call(i,e.nodeName)?a=i.isStepType(t)?i.isWithinStep(e,i.getYScaleById(t.id)(i.getBaseValue(t))):i.isWithinCircle(e,i.isBubbleType(t)?i.pointSelectR(t)*1.5:0):e.nodeName==="path"&&(a=n.classed(B.bar)?i.isWithinBar(e):!0):a=!1,a},getInterpolate(e){const s=this.getInterpolateType(e);return{basis:tt.curveBasis,"basis-closed":tt.curveBasisClosed,"basis-open":tt.curveBasisOpen,bundle:tt.curveBundle,cardinal:tt.curveCardinal,"cardinal-closed":tt.curveCardinalClosed,"cardinal-open":tt.curveCardinalOpen,"catmull-rom":tt.curveCatmullRom,"catmull-rom-closed":tt.curveCatmullRomClosed,"catmull-rom-open":tt.curveCatmullRomOpen,"monotone-x":tt.curveMonotoneX,"monotone-y":tt.curveMonotoneY,natural:tt.curveNatural,"linear-closed":tt.curveLinearClosed,linear:tt.curveLinear,step:tt.curveStep,"step-after":tt.curveStepAfter,"step-before":tt.curveStepBefore}[s]},getInterpolateType(e){const t=this,{config:s}=t,i=s.spline_interpolation_type,n=t.isInterpolationType(i)?i:"cardinal";return t.isSplineType(e)?n:t.isStepType(e)?s.line_step_type:"linear"},isWithinBar(e){const t=yt(this.state.event,e),s=cs(e),[i,n]=s,a=Math.min(i.x,n.x),o=Math.min(i.y,n.y),r=this.config.bar_sensitivity,{width:l,height:c}=e.getBBox(),u=a-r,d=a+l+r,h=o+c+r,g=o-r;return ut in e?ha(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,ht=(e,t,s)=>ga(e,typeof t!="symbol"?t+"":t,s);class jt{constructor(t){ht(this,"api"),ht(this,"config"),ht(this,"cache"),ht(this,"$el"),ht(this,"state"),ht(this,"charts"),ht(this,"data",{xs:{},targets:[]}),ht(this,"axis"),ht(this,"scale",{x:null,y:null,y2:null,subX:null,subY:null,subY2:null,zoom:null}),ht(this,"org",{xScale:null,xDomain:null}),ht(this,"color"),ht(this,"patterns"),ht(this,"levelColor"),ht(this,"point"),ht(this,"brush"),ht(this,"format",{extraLineClasses:null,xAxisTick:null,dataTime:null,defaultAxisTime:null,axisTime:null});const s=this;s.api=t,s.config=new Vt,s.cache=new Cn;const i=new An;s.$el=i.getStore("element"),s.state=i.getStore("state"),s.$T=s.$T.bind(s)}$T(t,s,i){const{config:n,state:a}=this,o=n.transition_duration,r=n.subchart_show;let l=t;return l&&("tagName"in l&&(l=(0,w.select)(l)),l=(s!==!1&&o||s)&&(!a.zooming||a.dragging)&&!a.resizing&&a.rendered&&!r?l.transition(i).duration(o):l),l}beforeInit(){const t=this;t.callPluginHook("$beforeInit"),K(t.config.onbeforeinit,t.api)}afterInit(){const t=this;t.callPluginHook("$afterInit"),K(t.config.onafterinit,t.api)}init(){const t=this,{config:s,state:i,$el:n}=t,a=s.boost_useCssRule;if(En(t),i.hasRadar=!i.hasAxis&&t.hasType("radar"),i.hasFunnel=!i.hasAxis&&t.hasType("funnel"),i.hasTreemap=!i.hasAxis&&t.hasType("treemap"),i.hasAxis=!t.hasArcType()&&!i.hasFunnel&&!i.hasTreemap,i.datetimeId=`bb-${+new Date*kt()}`,a){const r=ot.createElement("style");r.type="text/css",ot.head.appendChild(r),i.style={rootSelctor:`.${i.datetimeId}`,sheet:r.sheet},n.style=r}const o={element:s.bindto,classname:"bb"};X(s.bindto)&&(o.element=s.bindto.element||"#chart",o.classname=s.bindto.classname||o.classname),n.chart=O(o.element.node)?s.bindto.element:(0,w.select)(o.element||[]),n.chart.empty()&&(n.chart=(0,w.select)(ot.body.appendChild(ot.createElement("div")))),n.chart.html("").classed(o.classname,!0).classed(i.datetimeId,a).style("position","relative"),t.initParams(),t.initToRender()}initToRender(t){const s=this,{config:i,state:n,$el:{chart:a}}=s,o=()=>xn(a,{display:"none",visibility:"hidden"}),r=i.render.lazy===!1?!1:i.render.lazy||o(),l=j.MutationObserver;r&&l&&i.render.observe!==!1&&!t&&new l((c,u)=>{o()||(u.disconnect(),!n.rendered&&s.initToRender(!0))}).observe(a.node(),{attributes:!0,attributeFilter:["class","style"]}),(!r||t)&&s.convertData(i,c=>{s.initWithData(c),s.afterInit()})}initParams(){var t;const s=this,{config:i,format:n,state:a}=s,o=i.axis_rotated;if(s.color=s.generateColor(),s.levelColor=s.generateLevelColor(),i.padding===!1&&(i.axis_x_show=!1,i.axis_y_show=!1,i.axis_y2_show=!1,i.subchart_show=!1),(s.hasPointType()||(t=s.hasLegendDefsPoint)!=null&&t.call(s))&&(s.point=s.generatePoint()),a.hasAxis){s.initClip(),n.extraLineClasses=s.generateExtraLineClass(),n.dataTime=i.data_xLocaltime?pe.timeParse:pe.utcParse,n.axisTime=i.axis_x_localtime?pe.timeFormat:pe.utcFormat;const r=s.config.zoom_enabled&&s.config.zoom_type==="drag";n.defaultAxisTime=l=>{const{x:c,zoom:u}=s.scale,d=r?u:u&&c.orgDomain().toString()!==u.domain().toString(),h=l.getMilliseconds()&&".%L"||l.getSeconds()&&".:%S"||l.getMinutes()&&"%I:%M"||l.getHours()&&"%I %p"||l.getDate()!==1&&"%b %d"||d&&l.getDate()===1&&"%b'%y"||l.getMonth()&&"%-m/%-d"||"%Y";return n.axisTime(h)(l)}}a.isLegendRight=i.legend_position==="right",a.isLegendInset=i.legend_position==="inset",a.isLegendTop=i.legend_inset_anchor==="top-left"||i.legend_inset_anchor==="top-right",a.isLegendLeft=i.legend_inset_anchor==="top-left"||i.legend_inset_anchor==="bottom-left",a.rotatedPadding.top=s.getResettedPadding(a.rotatedPadding.top),a.rotatedPadding.right=o&&!i.axis_x_show?0:30,a.inputType=_n(i.interaction_inputType_mouse,i.interaction_inputType_touch)}initWithData(t){var s,i,n;const a=this,{config:o,scale:r,state:l,$el:c,org:u}=a,{hasAxis:d,hasFunnel:h,hasTreemap:g}=l,f=o.interaction_enabled,p=a.hasType("polar"),_=o.data_labels_backgroundColors;if(d&&(a.axis=a.getAxisInstance(),o.zoom_enabled&&a.initZoom()),a.data.xs={},a.data.targets=a.convertDataToTargets(t),o.data_filter&&(a.data.targets=a.data.targets.filter(o.data_filter.bind(a.api))),o.data_hide&&a.addHiddenTargetIds(o.data_hide===!0?a.mapToIds(a.data.targets):o.data_hide),o.legend_hide&&a.addHiddenLegendIds(o.legend_hide===!0?a.mapToIds(a.data.targets):o.legend_hide),a.updateSizes(),a.updateScales(!0),d){const{x:$,y:b,y2:v,subX:y,subY:A,subY2:S}=r;$&&($.domain(Kt(a.getXDomain(a.data.targets),!o.axis_x_inverted)),y.domain($.domain()),u.xDomain=$.domain()),b&&(b.domain(a.getYDomain(a.data.targets,"y")),A.domain(b.domain())),v&&(v.domain(a.getYDomain(a.data.targets,"y2")),S&&S.domain(v.domain()))}if(c.svg=c.chart.append("svg").style("overflow","hidden").style("display","block"),f&&l.inputType){const $=l.inputType==="touch",{onclick:b,onover:v,onout:y}=o;c.svg.on("click",(b==null?void 0:b.bind(a.api))||null).on($?"touchstart":"mouseenter",(v==null?void 0:v.bind(a.api))||null).on($?"touchend":"mouseleave",(y==null?void 0:y.bind(a.api))||null)}o.svg_classname&&c.svg.attr("class",o.svg_classname);const x=O(o.color_tiles)&&a.patterns;(d||x||p||g||_||(s=a.hasLegendDefsPoint)!=null&&s.call(a))&&(c.defs=c.svg.append("defs"),d&&["id","idXAxis","idYAxis","idGrid"].forEach($=>{a.appendClip(c.defs,l.clip[$])}),a.generateTextBGColorFilter(_),x&&a.patterns.forEach($=>c.defs.append(()=>$.node))),a.updateSvgSize(),a.bindResize();const m=c.svg.append("g").classed(D.main,!0).attr("transform",h||g?null:a.getTranslate("main"));if(c.main=m,o.subchart_show&&a.initSubchart(),o.tooltip_show&&a.initTooltip(),o.title_text&&a.initTitle(),!g&&o.legend_show&&a.initLegend(),o.data_empty_label_text&&m.append("text").attr("class",`${gt.text} ${D.empty}`).attr("text-anchor","middle").attr("dominant-baseline","middle"),d&&(o.regions.length&&a.initRegion(),!o.clipPath&&a.axis.init()),m.append("g").classed(D.chart,!0).attr("clip-path",d?l.clip.path:null),a.callPluginHook("$init"),a.initChartElements(),d&&(f&&((i=a.initEventRect)==null||i.call(a)),a.initGrid(),o.clipPath&&((n=a.axis)==null||n.init())),a.updateTargets(a.data.targets),a.updateDimension(),K(o.oninit,a.api),a.setBackground(),a.redraw({withTransition:!1,withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withTransitionForAxis:!1,initializing:!0}),o.data_onmin||o.data_onmax){const $=a.getMinMaxData();K(o.data_onmin,a.api,$.min),K(o.data_onmax,a.api,$.max)}o.tooltip_show&&a.initShowTooltip(),l.rendered=!0}initChartElements(){const t=this,{hasAxis:s,hasRadar:i,hasTreemap:n}=t.state,a=[];if(s){const o=["bar","bubble","candlestick","line"];t.config.bar_front&&o.push(o.shift()),o.forEach(r=>{const l=ft(r);(r==="line"&&t.hasTypeOf(l)||t.hasType(r))&&a.push(l)})}else if(n)a.push("Treemap");else if(t.hasType("funnel"))a.push("Funnel");else{const o=t.hasType("polar");i||a.push("Arc","Pie"),t.hasType("gauge")?a.push("Gauge"):i?a.push("Radar"):o&&a.push("Polar")}a.forEach(o=>{t[`init${o}`]()}),nt(t.config.data_labels)&&!t.hasArcType(null,["radar"])&&t.initText()}setChartElements(){const t=this,{$el:{chart:s,svg:i,defs:n,main:a,tooltip:o,legend:r,title:l,grid:c,needle:u,arcs:d,circle:h,bar:g,candlestick:f,line:p,area:_,text:x}}=t;t.api.$={chart:s,svg:i,defs:n,main:a,tooltip:o,legend:r,title:l,grid:c,arc:d,circles:h,bar:{bars:g},candlestick:f,line:{lines:p,areas:_},needle:u,text:{texts:x}}}setBackground(){const t=this,{config:{background:s},state:i,$el:{svg:n}}=t;if(nt(s)){const a=n.select("g").insert(s.imgUrl?"image":"rect",":first-child");s.imgUrl?a.attr("href",s.imgUrl):s.color&&a.style("fill",s.color).attr("clip-path",i.clip.path),a.attr("class",s.class||null).attr("width","100%").attr("height","100%")}}updateTargets(t){var s;const i=this,{hasAxis:n,hasFunnel:a,hasRadar:o,hasTreemap:r}=i.state,l=u=>i[`updateTargetsFor${u}`](t.filter(i[`is${u}Type`].bind(i)));if(i.updateTargetsForText(t),n)["bar","candlestick","line"].forEach(u=>{const d=ft(u);(u==="line"&&i.hasTypeOf(d)||i.hasType(u))&&l(d)}),i.updateTargetsForSubchart&&i.updateTargetsForSubchart(t);else if(i.hasArcType(t)){let u="Arc";o?u="Radar":i.hasType("polar")&&(u="Polar"),l(u)}else a?l("Funnel"):r&&l("Treemap");const c=i.hasType("bubble")||i.hasType("scatter");c&&((s=i.updateTargetForCircle)==null||s.call(i)),i.filterTargetsToShowAtInit(c)}filterTargetsToShowAtInit(t=!1){const s=this,{$el:{svg:i},$T:n}=s;let a=`.${D.target}`;t&&(a+=`, .${ut.chartCircles} > .${ut.circles}`),n(i.selectAll(a).filter(o=>s.isTargetToShow(o.id))).style("opacity",null)}getWithOption(t){const s={Dimension:!0,EventRect:!0,Legend:!1,Subchart:!0,Transform:!1,Transition:!0,TrimXDomain:!0,UpdateXAxis:"UpdateXDomain",UpdateXDomain:!1,UpdateOrgXDomain:!1,TransitionForExit:"Transition",TransitionForAxis:"Transition",Y:!0};return Object.keys(s).forEach(i=>{let n=s[i];V(n)&&(n=s[n]),s[i]=Dt(t,`with${i}`,n)}),s}initialOpacity(t){const s=this,{withoutFadeIn:i}=s.state;return s.getBaseValue(t)!==null&&i[t.id]?null:"0"}bindResize(){const t=this,{config:s,state:i}=t,n=On(s.resize_timer),a=[];a.push(()=>K(s.onresize,t.api)),s.resize_auto===!0&&a.push(()=>{i.resizing=!0,s.legend_show&&(t.updateSizes(),t.updateLegend()),t.api.flush(!1)}),a.push(()=>{K(s.onresized,t.api),i.resizing=!1}),a.forEach(o=>n.add(o)),t.resizeFunction=n,j.addEventListener("resize",t.resizeFunction=n)}callPluginHook(t,...s){this.config.plugins.forEach(i=>{t==="$beforeInit"&&(i.$$=this,this.api.plugins.push(i)),i[t](...s)})}}rt(jt.prototype,[Xn,Bn,Nn,Vn,Yn,Un,Zn,Gn,qn,Kn,Qn,ta,ua,ea,sa,aa,oa,ra,la,ca]);function fa(e){const t=this.config;let s,i,n;const a=()=>{const o=i.shift();if(o&&s&&St(s)&&o in s)return s=s[o],a();if(!o)return s};Object.keys(t).forEach(o=>{s=e,i=o.split("_"),n=a(),H(n)&&(t[o]=n)}),this.api&&(this.state.orgConfig=e)}var pa={resize(e){const t=this.internal,{config:s,state:i}=t;i.rendered&&(s.size_width=e?e.width:null,s.size_height=e?e.height:null,i.resizing=!0,this.flush(!1),t.resizeFunction())},flush(e){var t,s;const i=this.internal,{state:n,$el:{zoomResetBtn:a}}=i;n.rendered?(n.resizing?(t=i.brush)==null||t.updateResize():(s=i.axis)==null||s.setOrient(),a==null||a.style("display","none"),i.scale.zoom=null,e?i.redraw({withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withLegend:!0}):i.updateAndRedraw({withLegend:!0,withTransition:!1,withTransitionForTransform:!1}),!n.resizing&&i.brush&&(i.brush.getSelection().call(i.brush.move),i.unselectRect())):i.initToRender(!0)},destroy(){const e=this.internal,{$el:{chart:t,style:s,svg:i}}=e;if(nt(e)){e.callPluginHook("$willDestroy"),e.charts.splice(e.charts.indexOf(this),1),e.unbindAllEvents(),i.select("*").interrupt(),e.resizeFunction.clear(),j.removeEventListener("resize",e.resizeFunction),t.classed("bb",!1).style("position",null).selectChildren().remove(),s&&s.parentNode.removeChild(s),Object.keys(this).forEach(n=>{n==="internal"&&Object.keys(e).forEach(a=>{e[a]=null}),this[n]=null,delete this[n]});for(const n in this)this[n]=()=>{}}return null},config(e,t,s){const i=this.internal,{config:n,state:a}=i,o=e==null?void 0:e.replace(/\./g,"_");let r;return e&&o in n?H(t)?(n[o]=t,r=t,s&&this.flush()):r=n[o]:(arguments.length===0||At(e))&&(r=a.orgConfig),r}},xa={color(e){return this.internal.color(e)}};const Es=function(e){const{targets:t}=this.internal.data;if(!it(e)){const s=N(e)?e:[e];return t.filter(i=>s.some(n=>n===i.id))}return t};rt(Es,{shown:function(e){return this.internal.filterTargetsToShow(this.data(e))},values:function(e,t=!0){let s=null;if(e){const i=this.data(e);N(i)&&(s=[],i.forEach(n=>{const a=n.values.map(o=>o.value);t?s=s.concat(a):s.push(a)}))}return s},names:function(e){return this.internal.updateDataAttributes("names",e)},colors:function(e){return this.internal.updateDataAttributes("colors",e)},axes:function(e){return this.internal.updateDataAttributes("axes",e)},min:function(){return this.internal.getMinMaxData().min},max:function(){return this.internal.getMinMaxData().max}});var _a={data:Es};const ma=e=>{var t,s;return(s=(t=j).btoa)==null?void 0:s.call(t,encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,(i,n)=>String.fromCharCode(+`0x${n}`)))};function $a(e,t,s){const{width:i,height:n}=t||s,a=new XMLSerializer,o=e.cloneNode(!0),r=fn(Gt(ot.styleSheets)).filter(h=>h.cssText).map(h=>h.cssText);o.setAttribute("xmlns",w.namespaces.xhtml),o.style.margin="0",o.style.padding="0",t.preserveFontStyle&&o.querySelectorAll("text").forEach(h=>{h.innerHTML=""});const l=a.serializeToString(o),c=ot.createElement("style");c.appendChild(ot.createTextNode(r.join(` `)));const u=a.serializeToString(c),d=` ${u} ${l.replace(/(url\()[^#]+/g,"$1")} - `;return`data:image/svg+xml;base64,${ma(d)}`}function ya(e,t){const{top:s,left:i}=t,{x:n,y:a}=e.getBBox(),{a:o,b:r,c:l,d:c,e:u,f:d}=e.getScreenCTM(),{width:h,height:g}=e.getBoundingClientRect();return{x:o*n+l*a+u-i,y:r*n+c*a+d-s+(g-Math.round(g/4)),width:h,height:g}}function ba(e){const{left:t,top:s}=e.getBoundingClientRect(),i=a=>a.textContent||a.childElementCount,n=[];return Gt(e.querySelectorAll("text")).filter(i).forEach(a=>{const o=r=>{const{fill:l,fontFamily:c,fontSize:u,textAnchor:d,transform:h}=j.getComputedStyle(r),{x:g,y:f,width:p,height:_}=ya(r,{left:t,top:s});return{[r.textContent]:{x:g,y:f,width:p,height:_,fill:l,fontFamily:c,fontSize:u,textAnchor:d,transform:h}}};if(a.childElementCount>1){const r=[];return Gt(a.querySelectorAll("tspan")).filter(i).forEach(l=>{n.push(o(l))}),r}else n.push(o(a))}),n}function va(e,t){t.forEach(s=>{Object.keys(s).forEach(i=>{const{x:n,y:a,width:o,height:r,fill:l,fontFamily:c,fontSize:u,transform:d}=s[i];if(e.save(),e.font=`${u} ${c}`,e.fillStyle=l,d==="none")e.fillText(i,n,a);else{const h=d.replace(/(matrix|\(|\))/g,"").split(",");h.splice(4).every(g=>+g==0)?(h.push(n+o-o/4),h.push(a-r+r/3)):(h.push(n),h.push(a)),e.transform(...h),e.fillText(i,0,0)}e.restore()})})}var Ta={export(e,t){const s=this.internal,{state:i,$el:{chart:n,svg:a}}=s,{width:o,height:r}=i.current,l=qt({width:o,height:r,preserveAspectRatio:!0,preserveFontStyle:!1,mimeType:"image/png"},e),c=$a(n.node(),l,{width:o,height:r}),u=l.preserveFontStyle?ba(a.node()):[];if(t&&O(t)){const d=new Image;d.crossOrigin="Anonymous",d.onload=()=>{const h=ot.createElement("canvas"),g=h.getContext("2d");h.width=l.width||o,h.height=l.height||r,g.drawImage(d,0,0),u.length&&(va(g,u),u.length=0),t.bind(this)(h.toDataURL(l.mimeType))},d.src=c}return c}},Aa={focus(e){const t=this.internal,{state:s}=t,i=t.mapToTargetIds(e),n=t.$el.svg.selectAll(t.selectorTargets(i.filter(t.isTargetToShow,t)));this.revert(),this.defocus(),n.classed(q.focused,!0).classed(q.defocused,!1),t.hasArcType()&&!s.hasRadar&&(t.expandArc(i),t.hasType("gauge")&&t.markOverlapped(e,t,`.${_t.gaugeValue}`)),t.toggleFocusLegend(i,!0),s.focusedTargetIds=i,s.defocusedTargetIds=s.defocusedTargetIds.filter(a=>i.indexOf(a)<0)},defocus(e){const t=this.internal,{state:s}=t,i=t.mapToTargetIds(e);t.$el.svg.selectAll(t.selectorTargets(i.filter(t.isTargetToShow,t))).classed(q.focused,!1).classed(q.defocused,!0),t.hasArcType(null,["polar"])&&(t.unexpandArc(i),t.hasType("gauge")&&t.undoMarkOverlapped(t,`.${_t.gaugeValue}`)),t.toggleFocusLegend(i,!1),s.focusedTargetIds=s.focusedTargetIds.filter(a=>i.indexOf(a)<0),s.defocusedTargetIds=i},revert(e){const t=this.internal,{config:s,state:i,$el:n}=t,a=t.mapToTargetIds(e);n.svg.selectAll(t.selectorTargets(a)).classed(q.focused,!1).classed(q.defocused,!1),t.hasArcType(null,["polar"])&&t.unexpandArc(a),s.legend_show&&(t.showLegend(a.filter(t.isLegendToShow.bind(t))),n.legend.selectAll(t.selectorLegends(a)).filter(function(){return(0,w.select)(this).classed(q.legendItemFocused)}).classed(q.legendItemFocused,!1)),i.focusedTargetIds=[],i.defocusedTargetIds=[]}},wa={legend:{show:function(e){const t=this.internal;t.showLegend(t.mapToTargetIds(e)),t.updateAndRedraw({withLegend:!0})},hide:function(e){const t=this.internal;t.hideLegend(t.mapToTargetIds(e)),t.updateAndRedraw({withLegend:!0})}}},Sa={load(e){const t=this.internal,{config:s}=t;e.xs&&t.addXs(e.xs),"names"in e&&this.data.names(e.names),"classes"in e&&Object.keys(e.classes).forEach(i=>{s.data_classes[i]=e.classes[i]}),"categories"in e&&t.axis.isCategorized()&&(s.axis_x_categories=e.categories),"axes"in e&&Object.keys(e.axes).forEach(i=>{s.data_axes[i]=e.axes[i]}),"colors"in e&&Object.keys(e.colors).forEach(i=>{s.data_colors[i]=e.colors[i]}),"unload"in e&&e.unload!==!1?t.unload(t.mapToTargetIds(e.unload===!0?null:e.unload),()=>{as(()=>t.loadFromArgs(e))}):t.loadFromArgs(e)},unload(e){const t=this.internal;let s=e||{};At(s)&&this.tooltip.hide(),N(s)?s={ids:s}:V(s)&&(s={ids:[s]});const i=t.mapToTargetIds(s.ids);t.unload(i,()=>{t.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),t.cache.remove(i),As.call(t,s.done,s.resizeAfter)})}};function ks(e,t,s){const i=this.internal,n=i.mapToTargetIds(t),a=i.state.hiddenTargetIds.map(l=>n.indexOf(l)>-1&&l).filter(Boolean);i.state.toggling=!0,i[`${e?"remove":"add"}HiddenTargetIds`](n);const o=i.$el.svg.selectAll(i.selectorTargets(n)),r=e?null:"0";e&&a.length&&(o.style("display",null),K(i.config.data_onshown,this,a)),i.$T(o).style("opacity",r,"important").call(ye,()=>{var l;!e&&a.length===0&&(o.style("display","none"),K((l=i.config)==null?void 0:l.data_onhidden,this,n)),o.style("opacity",r)}),s.withLegend&&i[`${e?"show":"hide"}Legend`](n),i.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),i.state.toggling=!1}var Ra={show(e,t={}){ks.call(this,!0,e,t)},hide(e,t={}){ks.call(this,!1,e,t)},toggle(e,t={}){const s=this.internal,i={show:[],hide:[]};s.mapToTargetIds(e).forEach(n=>i[s.isTargetToShow(n)?"hide":"show"].push(n)),i.show.length&&this.show(i.show,t),i.hide.length&&setTimeout(()=>this.hide(i.hide,t),0)}},Ca={tooltip:{show:function(e){var t,s,i;const n=this.internal,{$el:a,config:o,state:{eventReceiver:r,hasFunnel:l,hasTreemap:c,inputType:u}}=n;let d,h;if(e.mouse&&(h=e.mouse),e.data){const{data:g}=e,f=(t=n.getYScaleById(g.id))==null?void 0:t(g.value);if((l||c)&&g.id){const p=n.selectorTarget(g.id,void 0,`.${st.shape}`);r.rect=a.main.select(p)}else n.isMultipleX()?h=[n.xx(g),f]:(o.tooltip_grouped||(h=[0,f]),d=(i=g.index)!=null?i:n.hasArcType()&&g.id?(s=n.getArcElementByIdOrIndex(g.id))==null?void 0:s.datum().index:n.getIndexByX(g.x))}else H(e.x)?d=n.getIndexByX(e.x):H(e.index)&&(d=e.index);(u==="mouse"?["mouseover","mousemove"]:["touchstart"]).forEach(g=>{n.dispatchEvent(g,d,h)})},hide:function(){var e,t,s;const i=this.internal,{state:{inputType:n},$el:{tooltip:a}}=i,o=a==null?void 0:a.datum();if(o){const{index:r}=JSON.parse(o.current)[0];(n==="mouse"?["mouseout"]:["touchend"]).forEach(l=>{i.dispatchEvent(l,r)})}n==="touch"&&i.callOverOutForTouch(),i.hideTooltip(!0),(e=i.hideGridFocus)==null||e.call(i),(t=i.unexpandCircles)==null||t.call(i),(s=i.expandBarTypeShapes)==null||s.call(i,!1)}}},Ea=Object.defineProperty,ka=(e,t,s)=>t in e?Ea(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Ls=(e,t,s)=>ka(e,typeof t!="symbol"?t+"":t,s);class Mt{constructor(t){Ls(this,"plugins",[]),Ls(this,"internal");const s=new jt(this);this.internal=s,function i(n,a,o){Object.keys(n).forEach(r=>{const l=O(n[r]),c=a!==o,u=nt(n[r]),d=u&&Object.keys(n[r]).length>0;l&&(!c&&d||c)?a[r]=n[r].bind(o):u&&!l?a[r]={}:a[r]=n[r],d&&i(n[r],a[r],o)})}(Mt.prototype,this,this),fa.call(s,t),s.beforeInit(),s.init()}}rt(Mt.prototype,[pa,xa,_a,Ta,Aa,wa,Sa,Ra,Ca]);function Ps(e=!1,t,s,i){const n=this,{config:a,$el:{main:o}}=n,r=a.data_selection_grouped,l=a.data_selection_isselectable.bind(n.api);a.data_selection_enabled&&o.selectAll(`.${st.shapes}`).selectAll(`.${st.shape}`).each(function(c){const u=(0,w.select)(this),{id:d,index:h}=c.data?c.data:c,g=n.getToggle(this,c).bind(n),f=r||!t||t.indexOf(d)>=0,p=!s||s.indexOf(h)>=0,_=u.classed(Q.SELECTED);u.classed(Et.line)||u.classed(xe.area)||(e?f&&p&&l(c)&&!_?g(!0,u.classed(Q.SELECTED,!0),c,h):H(i)&&i&&_&&g(!1,u.classed(Q.SELECTED,!1),c,h):f&&p&&l(c)&&_&&g(!1,u.classed(Q.SELECTED,!1),c,h))})}var La={selected(e){const t=this.internal,s=[];return t.$el.main.selectAll(`.${st.shapes+t.getTargetSelectorSuffix(e)}`).selectAll(`.${st.shape}`).filter(function(){return(0,w.select)(this).classed(Q.SELECTED)}).each(i=>s.push(i)),s},select(e,t,s){const i=this.internal;Ps.bind(i)(!0,e,t,s)},unselect(e,t){const s=this.internal;Ps.bind(s)(!1,e,t)}};const Os=function(e){var t;const s=this.internal,{axis:i,brush:n,config:a,scale:{x:o,subX:r},state:l}=s;let c;return a.subchart_show&&(c=e,Array.isArray(c)?(i.isTimeSeries()&&(c=c.map(d=>mt.bind(s)(d))),s.withinRange(c,s.getZoomDomain("subX",!0),s.getZoomDomain("subX"))&&(l.domain=c,n.move(n.getSelection(),c.map(r)))):c=(t=l.domain)!=null?t:o.orgDomain()),c};rt(Os,{show(){var e,t;const s=this.internal,{$el:{subchart:i},config:n}=s,a=n.subchart_show;if(!a){s.unbindZoomEvent(),n.subchart_show=!a,!i.main&&s.initSubchart();let o=i.main.selectAll(`.${D.target}`);s.data.targets.length!==o.size()&&(s.updateSizes(),s.updateTargetsForSubchart(s.data.targets),o=(e=i.main)==null?void 0:e.selectAll(`.${D.target}`)),o==null||o.style("opacity",null),(t=i.main)==null||t.style("display",null),this.resize()}},hide(){const e=this.internal,{$el:{subchart:{main:t}},config:s}=e;s.subchart_show&&(t==null?void 0:t.style("display"))!=="none"&&(s.subchart_show=!1,t.style("display","none"),this.resize())},toggle(){const e=this.internal,{config:t}=e;this.subchart[t.subchart_show?"hide":"show"]()},reset(){const e=this.internal,{brush:t}=e;t.clear(t.getSelection())}});var Pa={subchart:Os},Rt=U(10);const Is=function(e){var t;const s=this.internal,{axis:i,config:n,org:a,scale:o,state:r}=s,l=i.isCategorized();let c;if(n.zoom_enabled)if(c=e,Array.isArray(c)){if(i.isTimeSeries()&&(c=c.map(d=>mt.bind(s)(d))),s.withinRange(c,s.getZoomDomain("zoom",!0),s.getZoomDomain("zoom"))){if(r.domain=c,c=s.getZoomDomainValue(c),s.api.tooltip.hide(),n.subchart_show){const d=o.zoom||o.x;s.brush.getSelection().call(s.brush.move,c.map(d))}else{const d=l?o.x.orgScale():a.xScale||o.x;s.updateCurrentZoomTransform(d,c)}s.setZoomResetButton()}}else c=s.zoom.getDomain();return(t=r.domain)!=null?t:c};rt(Is,{enable(e){const t=this.internal,{config:s}=t;/^(drag|wheel)$/.test(e)&&(s.zoom_type=e),s.zoom_enabled=!!e,t.zoom?e===!1&&t.bindZoomEvent(!1):(t.initZoom(),t.bindZoomEvent()),t.updateAndRedraw()},max(e){const t=this.internal,{config:s,org:{xDomain:i}}=t;return(e===0||e)&&(s.zoom_x_max=wt("max",[i[1],e])),s.zoom_x_max},min(e){const t=this.internal,{config:s,org:{xDomain:i}}=t;return(e===0||e)&&(s.zoom_x_min=wt("min",[i[0],e])),s.zoom_x_min},range(e){const t=this.zoom;if(X(e)){const{min:s,max:i}=e;H(s)&&t.min(s),H(i)&&t.max(i)}return{min:t.min(),max:t.max()}}});var Oa={zoom:Is,unzoom(){const e=this.internal,{config:t,$el:{eventRect:s,zoomResetBtn:i},scale:{zoom:n},state:a}=e;n&&(t.subchart_show?e.brush.getSelection().call(e.brush.move,null):e.zoom.updateTransformScale(Rt.zoomIdentity),e.updateZoom(!0),i==null||i.style("display","none"),(0,Rt.zoomTransform)(s.node())!==Rt.zoomIdentity&&e.zoom.transform(s,Rt.zoomIdentity),a.domain=void 0)}},Ia={initBrush(){const e=this,{config:t,scale:s,$el:{subchart:i},state:n}=e,a=t.axis_rotated,o=t.subchart_size_height;let r,l,c;e.brush=(a?(0,me.brushY)():(0,me.brushX)()).handleSize(5),e.brush.on("start brush end",u=>{const{selection:d,sourceEvent:h,target:g,type:f}=u;f==="start"&&(e.state.inputType==="touch"&&e.hideTooltip(),l=h?d:null),/(start|brush)/.test(f)&&(f==="brush"&&h&&n.domain&&(l==null||l.forEach((p,_)=>{p!==d[_]&&(n.domain[_]=s.x.orgDomain()[_])})),e.redrawForBrush(f!=="start")),f==="end"&&(r=s.x.orgDomain()),g!=null&&g.handle&&(d===null?e.brush.handle.attr("display","none"):e.brush.handle.attr("display",null).attr("transform",(p,_)=>{const x=[d[_],o/2];return`translate(${a?x.reverse():x})`}))}),e.brush.updateResize=function(){c&&clearTimeout(c),c=setTimeout(()=>{const u=this.getSelection();r&&(0,me.brushSelection)(u.node())&&this.move(u,r.map(s.subX.orgScale()))},0)},e.brush.update=function(){var u;return this.extent()()[1].filter(h=>isNaN(h)).length===0&&((u=i.main)==null||u.select(`.${B.brush}`).call(this)),this},e.brush.scale=function(u){const d=t.subchart_size_height;let h=e.getExtent();!h&&u.range?h=[[0,0],[u.range()[1],d]]:N(h)&&(h=h.map((g,f)=>[g,f>0?d:f])),a&&h[1].reverse(),this.extent(h),this.update()},e.brush.getSelection=()=>i.main?i.main.select(`.${B.brush}`):(0,w.select)([])},initSubchart(){const e=this,{config:t,state:{clip:s,hasAxis:i},$el:{defs:n,svg:a,subchart:o,axis:r}}=e;if(!i)return;const l=t.subchart_show?null:"hidden",c=`${s.id}-subchart`,u=e.getClipPath(c);s.idSubchart=c,e.appendClip(n,c),e.initBrush(),o.main=a.append("g").classed(B.subchart,!0).attr("transform",e.getTranslate("context"));const{main:d}=o;d.style("visibility",l),d.append("g").attr("clip-path",u).attr("class",B.chart),["bar","line","bubble","candlestick","scatter"].forEach(g=>{const f=ft(/^(bubble|scatter)$/.test(g)?"circle":g);if(e.hasType(g)||e.hasTypeOf(f)){const p=d.select(`.${B.chart}`),_=B[`chart${f}s`];p.select(`.${_}`).empty()&&p.append("g").attr("class",_)}});const h=d.append("g").attr("clip-path",u).attr("class",B.brush).call(e.brush);t.subchart_showHandle&&e.addBrushHandle(h),r.subX=d.append("g").attr("class",B.axisX).attr("transform",e.getTranslate("subX")).attr("clip-path",t.axis_rotated?"":s.pathXAxis).style("visibility",t.subchart_axis_x_show?l:"hidden")},addBrushHandle(e){const t=this,{config:s}=t,i=s.axis_rotated,n=s.subchart_init_range,a="handle--custom",o=i?["M8.5 0 a6 6 0 0 0 -6 -6.5 H-2.5 a 6 6 0 0 0 -6 6.5 z m-5 -2 H-3.5 m7 -2 H-3.5z","M8.5 0 a6 -6 0 0 1 -6 6.5 H-2.5 a 6 -6 0 0 1 -6 -6.5z m-5 2 H-3.5 m7 2 H-3.5z"]:["M0 -8.5 A6 6 0 0 0 -6.5 -3.5 V2.5 A6 6 0 0 0 0 8.5 Z M-2 -3.5 V3.5 M-4 -3.5 V3.5z","M0 -8.5 A6 6 0 0 1 6.5 -3.5 V2.5 A6 6 0 0 1 0 8.5 Z M2 -3.5 V3.5 M4 -3.5 V3.5z"];t.brush.handle=e.selectAll(`.${a}`).data(i?[{type:"n"},{type:"s"}]:[{type:"w"},{type:"e"}]).enter().append("path").attr("class",a).attr("cursor",`${i?"ns":"ew"}-resize`).attr("d",r=>o[+/[se]/.test(r.type)]).attr("display",n?null:"none")},updateTargetsForSubchart(e){const t=this,{config:s,state:i,$el:{subchart:{main:n}}}=t;s.subchart_show&&(["bar","line","bubble","candlestick","scatter"].filter(a=>t.hasType(a)||t.hasTypeOf(ft(a))).forEach(a=>{const o=/^(bubble|scatter)$/.test(a),r=ft(o?"circle":a),l=t.getChartClass(r,!0),c=t.getClass(o?"circles":`${a}s`,!0),u=n.select(`.${B[`chart${`${r}s`}`]}`);if(o){const d=u.selectAll(`.${B.circles}`).data(e.filter(t[`is${ft(a)}Type`].bind(t))).attr("class",c);d.exit().remove(),d.enter().append("g").attr("class",c)}else{const d=u.selectAll(`.${B[`chart${r}`]}`).attr("class",l).data(e.filter(t[`is${r}Type`].bind(t))),h=d.enter().append("g").style("opacity","0").attr("class",l).append("g").attr("class",c);d.exit().remove(),a==="line"&&t.hasTypeOf("Area")&&h.append("g").attr("class",t.getClass("areas",!0))}}),n.selectAll(`.${B.brush} rect`).attr(s.axis_rotated?"width":"height",s.axis_rotated?i.width2:i.height2))},redrawSubchart(e,t,s){var i;const n=this,{config:a,$el:{subchart:{main:o}},state:r}=n,l=!!t;if(o.style("visibility",a.subchart_show?null:"hidden"),a.subchart_show&&(((i=r.event)==null?void 0:i.type)==="zoom"&&n.brush.update(),e)){const c=a.subchart_init_range;if(!hs(n)&&n.brush.update(),Object.keys(s.type).forEach(u=>{const d=ft(u),h=n[`generateDraw${d}`](s.indices[u],!0);n[`update${d}`](l,!0),n[`redraw${d}`](h,l,!0)}),n.hasType("bubble")||n.hasType("scatter")){const{cx:u}=s.pos,d=n.updateCircleY(!0);n.updateCircle(!0),n.redrawCircle(u,d,l,void 0,!0)}!r.rendered&&c&&(r.domain=c,n.brush.move(n.brush.getSelection(),c.map(n.scale.x)))}},redrawForBrush(e=!0){var t;const s=this,{config:{subchart_onbrush:i,zoom_rescale:n},scale:a,state:o}=s;s.redraw({withTransition:!1,withY:n,withSubchart:!1,withUpdateXDomain:!0,withDimension:!1}),e&&o.rendered&&i.bind(s.api)((t=o.domain)!=null?t:a.x.orgDomain())},transformContext(e,t){const s=this,{$el:{subchart:i},$T:n}=s,a=t!=null&&t.axisSubX?t.axisSubX:n(i.main.select(`.${B.axisX}`),e);i.main.attr("transform",s.getTranslate("context")),a.attr("transform",s.getTranslate("subX"))},getExtent(){const e=this,{config:t,scale:s}=e;let i=t.axis_x_extent;if(i){if(O(i))i=i.bind(e.api)(e.getXDomain(e.data.targets),s.subX);else if(e.axis.isTimeSeries()&&i.every(isNaN)){const n=mt.bind(e);i=i.map(a=>s.subX(n(a)))}}return i}},Da={initZoom(){const e=this;e.scale.zoom=null,e.generateZoom(),e.config.zoom_type==="drag"&&e.initZoomBehaviour()},bindZoomEvent(e=!0){const t=this,{config:s}=t;s.zoom_enabled&&e?!s.subchart_show&&t.bindZoomOnEventRect():e===!1&&(t.api.unzoom(),t.unbindZoomEvent())},generateZoom(){const e=this,{config:t,org:s,scale:i}=e,n=(0,Rt.zoom)().duration(0).on("start",e.onZoomStart.bind(e)).on("zoom",e.onZoom.bind(e)).on("end",e.onZoomEnd.bind(e));n.orgScaleExtent=()=>{const a=t.zoom_extent||[1,10];return[a[0],Math.max(e.getMaxDataCount()/a[1],a[1])]},n.updateScaleExtent=function(){const a=Nt(e.scale.x.orgDomain())/Nt(e.getZoomDomain()),o=this.orgScaleExtent();return this.scaleExtent([o[0]*a,o[1]*a]),this},n.updateTransformScale=(a,o)=>{var r;const l=t.axis_rotated;(r=s.xScale)==null||r.range(i.x.range());const c=a[l?"rescaleY":"rescaleX"](s.xScale||i.x);if(c.domain().some(h=>/(Invalid Date|NaN)/.test(h.toString())))return;const u=e.trimXDomain(c.domain()),d=t.zoom_rescale;if(c.domain(u,s.xDomain),o){const h=c(i.x.domain()[0]),g=l?a.x:h,f=l?h:a.y;e.$el.eventRect.property("__zoom",Rt.zoomIdentity.translate(g,f).scale(a.k))}e.state.xTickOffset||(e.state.xTickOffset=e.axis.x.tickOffset()),i.zoom=e.getCustomizedXScale(c),e.axis.x.scale(i.zoom),d?(!s.xScale&&(s.xScale=i.x.copy()),i.x.domain(u)):s.xScale&&(i.x.domain(s.xScale.domain()),s.xScale=null)},n.getDomain=()=>{const a=i[i.zoom?"zoom":"subX"].domain();return e.axis.isCategorized()&&(a[1]-=2),a},e.zoom=n},onZoomStart(e){const t=this,{sourceEvent:s}=e;s&&(t.zoom.startEvent=s,t.state.zooming=!0,K(t.config.zoom_onzoomstart,t.api,e))},onZoom(e){var t;const s=this,{config:i,scale:n,state:a,org:o}=s,{sourceEvent:r}=e,l=(e==null?void 0:e.transform)===Rt.zoomIdentity;if(!i.zoom_enabled||s.filterTargetsToShow(s.data.targets).length===0||!n.zoom&&(r==null?void 0:r.type.indexOf("touch"))>-1&&(r==null?void 0:r.touches.length)===1)return;e.sourceEvent&&(a.zooming=!0,a.domain=void 0);const c=(r==null?void 0:r.type)==="mousemove",u=(r==null?void 0:r.wheelDelta)<0,{transform:d}=e;!c&&u&&n.x.domain().every((g,f)=>g!==o.xDomain[f])&&n.x.domain(o.xDomain),s.zoom.updateTransformScale(d,i.zoom_type==="wheel"&&r);const h=i.transition_duration>0&&!i.subchart_show&&(a.dragging||l||!e.sourceEvent);s.redraw({withTransition:h,withY:i.zoom_rescale,withSubchart:!1,withEventRect:!1,withDimension:!1}),s.state.cancelClick=c,!l&&K(i.zoom_onzoom,s.api,(t=s.state.domain)!=null?t:s.zoom.getDomain())},onZoomEnd(e){var t,s;const i=this,{config:n,state:a}=i;let{startEvent:o}=i.zoom,r=e==null?void 0:e.sourceEvent;const l=(e==null?void 0:e.transform)===Rt.zoomIdentity;(o==null?void 0:o.type.indexOf("touch"))>-1&&(o=o.changedTouches[0],r=(t=r==null?void 0:r.changedTouches)==null?void 0:t[0]),!(n.zoom_type==="drag"&&r&&o.clientX===r.clientX&&o.clientY===r.clientY)&&(a.zooming=!1,i.redrawEventRect(),i.updateZoom(),!l&&(r||a.dragging)&&K(n.zoom_onzoomend,i.api,(s=i.state.domain)!=null?s:i.zoom.getDomain()))},updateZoom(e){const t=this,{subX:s,x:i,zoom:n}=t.scale;if(n){const a=n.domain(),o=s.domain(),r=.015,l=t.config.axis_x_inverted?(a[0]>=o[0]||a[0]+r>=o[0])&&(o[1]>=a[1]||o[1]>=a[1]+r):(a[0]<=o[0]||a[0]-r<=o[0])&&(o[1]<=a[1]||o[1]<=a[1]-r);(e||l)&&(t.axis.x.scale(s),i.domain(s.orgDomain()),t.scale.zoom=null)}},updateCurrentZoomTransform(e,t){const s=this,{$el:{eventRect:i},config:n}=s,a=n.axis_rotated,o=[-e(t[0]),0],r=Rt.zoomIdentity.scale(e.range()[1]/(e(t[1])-e(t[0]))).translate(...a?o.reverse():o);i.call(s.zoom.transform,r)},bindZoomOnEventRect(){var e;const t=this,{config:s,$el:{eventRect:i,svg:n}}=t,a=s.zoom_type==="drag"?t.zoomBehaviour:t.zoom;j.GestureEvent&&/^((?!chrome|android|mobile).)*safari/i.test((e=j.navigator)==null?void 0:e.userAgent)&&n.on("wheel",()=>{}),i==null||i.call(a).on("dblclick.zoom",null)},initZoomBehaviour(){const e=this,{config:t,state:s}=e,i=t.axis_rotated;let n=0,a=0,o;const r={axis:i?"y":"x",attr:i?"height":"width",index:i?1:0};e.zoomBehaviour=(0,ws.drag)().clickDistance(4).on("start",function(l){s.event=l,e.setDragStatus(!0),e.unselectRect(),o||(o=e.$el.main.append("rect").attr("clip-path",s.clip.path).attr("class",Le.zoomBrush).attr("width",i?s.width:0).attr("height",i?0:s.height)),n=yt(l,this)[r.index],a=n,o.attr(r.axis,n).attr(r.attr,0),e.onZoomStart(l)}).on("drag",function(l){a=yt(l,this)[r.index],o.attr(r.axis,Math.min(n,a)).attr(r.attr,Math.abs(a-n))}).on("end",l=>{const c=e.scale.zoom||e.scale.x;s.event=l,o.attr(r.axis,0).attr(r.attr,0),n>a&&([n,a]=[a,n]),n<0&&(a+=Math.abs(n),n=0),n!==a&&e.api.zoom([n,a].map(u=>c.invert(u))),e.setDragStatus(!1)})},setZoomResetButton(){const e=this,{config:t,$el:s}=e,i=t.zoom_resetButton;i&&t.zoom_type==="drag"&&(s.zoomResetBtn?s.zoomResetBtn.style("display",null):s.zoomResetBtn=e.$el.chart.append("div").classed(D.button,!0).append("span").on("click",function(){O(i.onclick)&&i.onclick.bind(e.api)(this),e.api.unzoom()}).classed(Le.buttonZoomReset,!0).text(i.text||"Reset Zoom"))},getZoomTransform(){const e=this,{$el:{eventRect:t}}=e;return t!=null&&t.node()?(0,Rt.zoomTransform)(t.node()):{k:1}}},za={drag(e){const t=this,{config:s,state:i,$el:{main:n}}=t,a=s.data_selection_grouped,o=s.interaction_enabled&&s.data_selection_isselectable;if(t.hasArcType()||!s.data_selection_enabled||s.zoom_enabled&&!t.zoom.altDomain||!s.data_selection_multiple)return;const[r,l]=i.dragStart||[0,0],[c,u]=e,d=Math.min(r,c),h=Math.max(r,c),g=a?i.margin.top:Math.min(l,u),f=a?i.height:Math.max(l,u);n.select(`.${Bt.dragarea}`).attr("x",d).attr("y",g).attr("width",h-d).attr("height",f-g),n.selectAll(`.${st.shapes}`).selectAll(`.${st.shape}`).filter(p=>o==null?void 0:o.bind(t.api)(p)).each(function(p,_){const x=(0,w.select)(this),m=x.classed(Q.SELECTED),$=x.classed(Bt.INCLUDED);let b=!1,v;if(x.classed(ut.circle)){const y=+x.attr("cx")*1,A=+x.attr("cy")*1;v=t.togglePoint,b=dt in e?Fa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Ga=(e,t)=>{for(var s in t||(t={}))Ba.call(t,s)&&zs(e,s,t[s]);if(Ds)for(var s of Ds(t))Na.call(t,s)&&zs(e,s,t[s]);return e},Va=(e,t)=>Ma(e,Xa(t)),Ya=Va(Ga({},za),{selectPoint(e,t,s){const i=this,{config:n,$el:{main:a},$T:o}=i,r=n.axis_rotated,l=(r?i.circleY:i.circleX).bind(i),c=(r?i.circleX:i.circleY).bind(i),u=i.pointSelectR.bind(i);K(n.data_onselected,i.api,t,e.node()),o(a.select(`.${Q.selectedCircles}${i.getTargetSelectorSuffix(t.id)}`).selectAll(`.${Q.selectedCircle}-${s}`).data([t]).enter().append("circle").attr("class",()=>i.generateClass(Q.selectedCircle,s)).attr("cx",l).attr("cy",c).attr("stroke",i.color).attr("r",d=>i.pointSelectR(d)*1.4)).attr("r",u)},unselectPoint(e,t,s){const i=this,{config:n,$el:{main:a},$T:o}=i;K(n.data_onunselected,i.api,t,e==null?void 0:e.node()),o(a.select(`.${Q.selectedCircles}${i.getTargetSelectorSuffix(t.id)}`).selectAll(`.${Q.selectedCircle}-${s}`)).attr("r",0).remove()},togglePoint(e,t,s,i){this[`${e?"":"un"}selectPoint`](t,s,i)},selectPath(e,t){const s=this,{config:i}=s;K(i.data_onselected,s.api,t,e.node()),i.interaction_brighten&&e.style("filter","brightness(1.25)")},unselectPath(e,t){const s=this,{config:i}=s;K(i.data_onunselected,s.api,t,e.node()),i.interaction_brighten&&e.style("filter",null)},togglePath(e,t,s,i){this[`${e?"":"un"}selectPath`](t,s,i)},getToggle(e,t){const s=this;return e.nodeName==="path"?s.togglePath:s.isStepType(t)?()=>{}:s.togglePoint},toggleShape(e,t,s){var i;const n=this,{config:a,$el:{main:o}}=n;if(a.data_selection_enabled&&a.data_selection_isselectable.bind(n.api)(t)){const r=(0,w.select)(e),l=r.classed(Q.SELECTED),c=n.getToggle(e,t).bind(n);let u;if(!a.data_selection_multiple){const d=(i=n.isPointFocusOnly)==null?void 0:i.call(n);let h=`.${d?Q.selectedCircles:st.shapes}`;a.data_selection_grouped&&(h+=n.getTargetSelectorSuffix(t.id)),o.selectAll(h).selectAll(d?`.${Q.selectedCircle}`:`.${st.shape}.${Q.SELECTED}`).classed(Q.SELECTED,!1).each(function(g){const f=(0,w.select)(this);u=f,c(!1,f,g,g.index)})}(!u||u.node()!==r.node())&&(r.classed(Q.SELECTED,!l),c(!l,r,t,s))}}}),ja={data_selection_enabled:!1,data_selection_grouped:!1,data_selection_isselectable:()=>!0,data_selection_multiple:!0,data_selection_draggable:!1,data_onselected:()=>{},data_onunselected:()=>{}},Ha={subchart_show:!1,subchart_showHandle:!1,subchart_size_height:60,subchart_axis_x_show:!0,subchart_axis_x_tick_show:!0,subchart_axis_x_tick_format:void 0,subchart_axis_x_tick_text_show:!0,subchart_init_range:void 0,subchart_onbrush:()=>{}},Wa={zoom_enabled:!1,zoom_type:"wheel",zoom_extent:void 0,zoom_privileged:!1,zoom_rescale:!1,zoom_onzoom:void 0,zoom_onzoomstart:void 0,zoom_onzoomend:void 0,zoom_resetButton:!0,zoom_x_min:void 0,zoom_x_max:void 0};let Fs=()=>(rt(jt.prototype,Ya),rt(Mt.prototype,La),Vt.setOptions([ja]),(Fs=()=>!0)()),Ms=()=>(rt(jt.prototype,Ia),rt(Mt.prototype,Pa),Vt.setOptions([Ha]),(Ms=()=>!0)()),Xs=()=>(rt(jt.prototype,Da),rt(Mt.prototype,Oa),Vt.setOptions([Wa]),(Xs=()=>!0)());function Bs(e,t,s){const{config:i}=e,n=(a,o)=>{const r=L(o)?o:o===!1?void 0:null;r!==null&&(i[`axis_${a}_${t}`]=r)};H(s)&&(St(s)?Object.keys(s).forEach(a=>{n(a,s[a])}):(L(s)||s===!1)&&["y","y2"].forEach(a=>{n(a,s)}),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0}))}function Ns(e,t){const{config:s}=e;return{x:s[`axis_x_${t}`],y:s[`axis_y_${t}`],y2:s[`axis_y2_${t}`]}}var Ua={axis:{labels:function(e){const t=this.internal;let s;return e&&(Object.keys(e).forEach(i=>{t.axis.setLabelText(i,e[i])}),t.axis.updateLabels()),["x","y","y2"].forEach(i=>{const n=t.axis.getLabelText(i);n&&(!s&&(s={}),s[i]=n)}),s},min:function(e){const t=this.internal;return M(e)||e===!1?Bs(t,"min",e):Ns(t,"min")},max:function(e){const t=this.internal;return M(e)||e===!1?Bs(t,"max",e):Ns(t,"max")},range:function(e){const{axis:t}=this;if(arguments.length){const{min:s,max:i}=e;H(i)&&t.max(i),H(s)&&t.min(s)}else return{max:t.max(),min:t.min()}}}},Za={category(e,t){const s=this.internal,{config:i}=s;return arguments.length>1&&(i.axis_x_categories[e]=t,s.redraw()),i.axis_x_categories[e]},categories(e){const t=this.internal,{config:s}=t;if(!e||!Array.isArray(e)){const i=s.axis_x_categories;return At(i)?Object.values(t.data.xs)[0]:i}return s.axis_x_categories=e,t.redraw(),s.axis_x_categories}},qa={flow(e){const t=this.internal;let s;(e.json||e.rows||e.columns)&&t.convertData(e,n=>{s=n,i()});function i(){let n,a=0,o=0,r,l;if(t.state.redrawing||!s||!de())return;const c=[],u=t.getMaxDataCount(),d=t.convertDataToTargets(s,!0),h=t.axis.isTimeSeries();t.data.targets.forEach(p=>{let _=!1;for(let x=0;x{for(let _=0;_{const _=[];for(let x=t.data.targets[0].values[0].index;x{x.index+=o,h||(x.x+=o)}),p.values=_.concat(p.values)}),t.data.targets=t.data.targets.concat(d);const g=t.data.targets[0],f=g.values[0];H(e.to)?(a=0,l=h?mt.call(t,e.to):e.to,g.values.forEach(p=>{p.x1?g.values[g.values.length-1].x-f.x:f.x-t.getXDomain(t.data.targets)[0]:r=1,n=[f.x-r,f.x]),n&&t.updateXDomain(null,!0,!0,!1,n),t.updateTargets(t.data.targets),t.redraw({flow:{index:f.index,length:a,duration:M(e.duration)?e.duration:t.config.transition_duration,done:e.done,orgDataCount:u},withLegend:!0,withTransition:u>1,withTrimXDomain:!1,withUpdateXAxis:!0})}}};function He(e,t){const s=this.internal,{config:i}=s,n=i.transition_duration&&de(),a=`grid_${t}_lines`;return e&&(i[a]=e,s.updateGrid(),s.redrawGrid(n)),i[a]}function Gs(e,t){const s=`grid_${t}_lines`;return He.bind(this)(this.internal.config[s].concat(e||[]),t)}function Vs(e,t){this.internal.removeGridLines(e,t)}const Ys=function(e){return He.bind(this)(e,"x")};rt(Ys,{add(e){return Gs.bind(this)(e,"x")},remove(e){return Vs.bind(this)(e,!0)}});const js=function(e){return He.bind(this)(e,"y")};rt(js,{add(e){return Gs.bind(this)(e,"y")},remove(e){return Vs.bind(this)(e,!1)}});var Ka={xgrids:Ys,ygrids:js},Ja={groups(e){const t=this.internal,{config:s}=t;return it(e)||(s.data_groups=e,t.redraw()),s.data_groups}};function Hs(e,t=!1){const s=this.internal,{config:i}=s,n=i.transition_duration&&de();return e?(i.regions=t?i.regions.concat(e):e,s.updateRegion(),s.redrawRegion(n),t?i.regions:e):i.regions}const Ws=function(e){return Hs.bind(this)(e)};rt(Ws,{add:function(e){return Hs.bind(this)(e,!0)},remove:function(e){const t=this.internal,{config:s,$T:i}=t,n=e||{},a=Dt(n,"classes",[le.region]);let o=t.$el.main.select(`.${le.regions}`).selectAll(a.map(r=>`.${r}`));return i(o).style("opacity","0").remove(),o=s.regions,Object.keys(n).length?(o=o.filter(r=>{let l=!1;return r.class?(r.class.split(" ").forEach(c=>{a.indexOf(c)>=0&&(l=!0)}),!l):!0}),s.regions=o):s.regions=[],o}});var Qa={regions:Ws},to={x(e){const t=this.internal,{axis:s,data:i}=t,n=s.isCustomX()&&s.isCategorized();return N(e)&&(n?this.categories(e):(t.updateTargetX(i.targets,e),t.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0}))),n?this.categories():i.xs},xs(e){const t=this.internal;return X(e)&&(t.updateTargetXs(t.data.targets,e),t.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})),t.data.xs}},Jt=U(11),eo=Object.defineProperty,so=(e,t,s)=>t in e?eo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,We=(e,t,s)=>so(e,typeof t!="symbol"?t+"":t,s);class Us{constructor(t){We(this,"owner"),We(this,"config"),We(this,"scale");const s=Yt(),{config:i,params:n}=t;this.owner=t,this.config=i,this.scale=s,(i.noTransition||!n.config.transition_duration)&&(i.withoutTransition=!0),i.range=this.scaleExtent((n.orgXScale||s).range())}static getSizeFor1Char(t,s=!0){const i={w:5.5,h:11.5};return!t.empty()&&t.text("0").call(n=>{try{const{width:a,height:o}=n.node().getBBox();a&&o&&(i.w=a,i.h=o)}finally{n.text("")}}),s&&(this.getSizeFor1Char=()=>i),i}getTickTransformSetter(t){const{config:s}=this,i=t==="x"?n=>`translate(${n+s.tickOffset},0)`:n=>`translate(0,${n})`;return(n,a)=>{n.attr("transform",o=>{const r=a(o);return M(o)?i(r):null})}}scaleExtent(t){const s=t[0],i=t[t.length-1];return s0?n:1,a]).range(t.range());o=l.ticks();for(let c=a.toFixed().length;o.length>15;c--)o=l.ticks(c);o.splice(0,1,n),o.splice(o.length-1,1,a)}else o=t.ticks(...this.config.tickArguments||[]);o=o.map(l=>V(l)&&L(l)&&!isNaN(l)&&Math.round(l*10)/10||l)}return o}copyScale(){const t=this.scale.copy();return t.domain().length||t.domain(this.scale.domain()),t.type=this.scale.type,t}textFormatted(t){const s=this.config.tickFormat,i=/\d+\.\d+0{5,}\d$/.test(t)?+String(t).replace(/0+\d$/,""):t,n=s?s(i):i;return H(n)?n:""}transitionise(t){const{config:s}=this;let i=t;if(s.withoutTransition)i=t.interrupt();else if(s.transition||!this.owner.params.noTransition)try{i=t.transition(s.transition)}catch(n){}return i}}var io=Object.defineProperty,no=(e,t,s)=>t in e?io(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,ue=(e,t,s)=>no(e,typeof t!="symbol"?t+"":t,s);class ao{constructor(t={}){ue(this,"helper"),ue(this,"config"),ue(this,"params"),ue(this,"g"),ue(this,"generatedTicks");const s={innerTickSize:6,outerTickSize:t.outerTick?6:0,orient:"bottom",range:[],tickArguments:null,tickCentered:null,tickCulling:!0,tickFormat:null,tickLength:9,tickOffset:0,tickPadding:3,tickValues:null,transition:null,noTransition:t.noTransition};s.tickLength=Math.max(s.innerTickSize,0)+s.tickPadding,this.config=s,this.params=t,this.helper=new Us(this)}create(t){const s=this,{config:i,helper:n,params:a}=s,{scale:o}=n,{orient:r}=i,l=this.splitTickText.bind(s),c=/^(left|right)$/.test(r),u=/^(top|bottom)$/.test(r),d=n.getTickTransformSetter(u?"x":"y"),h=d===n.axisX?"y":"x",g=/^(top|left)$/.test(r)?-1:1,f=a.tickTextRotate;this.config.range=o.rangeExtent?o.rangeExtent():n.scaleExtent((a.orgXScale||o).range());const{innerTickSize:p,tickLength:_,range:x}=i,m=a.id,$=m&&/^(x|y|y2)$/.test(m)?a.config[`axis_${m}_tick_text_position`]:{x:0,y:0},b=m==="subX"?"subchart_axis_x":`axis_${m}`,v=a.config[`${b}_show`],y={tick:v?a.config[`${b}_tick_show`]:!1,text:v?a.config[`${b}_tick_text_show`]:!1},A=a.config.axis_evalTextSize;let S;t.each(function(){const R=(0,w.select)(this);let T=this.__chart__||o,C=n.copyScale();S=R,this.__chart__=C,i.tickOffset=a.isCategory?(C(1)-C(0))/2:0;const z=R.selectAll(".domain").data([0]);if(z.enter().append("path").attr("class","domain").merge(z).attr("d",()=>{const P=i.outerTickSize*g;return u?`M${x[0]},${P}V0H${x[1]}V${P}`:`M${P},${x[0]}H0V${x[1]}H${P}`}),y.tick||y.text){const P=i.tickValues||n.generateTicks(C,c);s.generatedTicks=P;let k=R.selectAll(".tick").data(P,C);const F=k.enter().insert("g",".domain").attr("class","tick"),W=k.exit().remove();k=F.merge(k),y.tick&&F.append("line"),y.text&&F.append("text");const J=k.select("text"),lt=O(A)?A.bind(s.params.owner.api)(J.node()):Us.getSizeFor1Char(J,A),$t=[];let bt=J.selectAll("tspan").data((ct,Xt)=>{const Wt=a.tickMultiline?l(ct,C,P,c,lt.w):N(n.textFormatted(ct))?n.textFormatted(ct).concat():[n.textFormatted(ct)];return $t[Xt]=Wt.length,Wt.map(Ut=>({index:Xt,splitted:Ut}))});bt.exit().remove(),bt=bt.enter().append("tspan").merge(bt).text(ct=>ct.splitted),bt.attr("x",u?0:_*g).attr("dx",(()=>{let ct=0;return/(top|bottom)/.test(r)&&f&&(ct=8*Math.sin(Math.PI*(f/180))*(r==="top"?-1:1)),ct+($.x||0)})()).attr("dy",(ct,Xt)=>{const Wt=".71em";let Ut=0;return r!=="top"&&(Ut=lt.h,Xt===0&&(Ut=c?-(($t[ct.index]-1)*(lt.h/2)-3):$.y===0?Wt:0)),L(Ut)&&$.y?Ut+$.y:Ut||Wt});const oe=k.select("line"),he=k.select("text");if(F.select("line").attr(`${h}2`,p*g),F.select("text").attr(h,_*g),s.setTickLineTextPosition(oe,he),a.tickTitle){const ct=he.select("title");(ct.empty()?he.append("title"):ct).text(Xt=>a.tickTitle[Xt])}if(C.bandwidth){const ct=C,Xt=ct.bandwidth()/2;T=Wt=>ct(Wt)+Xt,C=T}else T.bandwidth?T=C:d(W,C);k=a.owner.state.flowing?n.transitionise(k):a.owner.$T(k),d(F,T),d(k.style("opacity",null),C)}}),this.g=S}getGeneratedTicks(t){var s;const i=((s=this.generatedTicks)==null?void 0:s.length)-1;let n=this.generatedTicks;if(i>t){const a=Math.round(i/t+.1);n=this.generatedTicks.map((o,r)=>r%a===0?o:null).filter(o=>o!==null).splice(0,t)}return n}getTickXY(){const{config:t}=this,s={x:0,y:0};return this.params.isCategory&&(s.x=t.tickCentered?0:t.tickOffset,s.y=t.tickCentered?t.tickOffset:0),s}getTickSize(t){const{scale:s}=this.helper,{config:i}=this,{innerTickSize:n,range:a}=i,o=s(t)+(i.tickCentered?0:i.tickOffset);return a[0]{const p=["start","end"];return a==="top"&&p.reverse(),f?p[f>0?0:1]:"middle"},u=f=>f?`rotate(${f})`:null,d=f=>{const p=f/(a==="bottom"?15:23);return f?11.5-2.5*p*(f>0?1:-1):o},{config:{axis_rotated:h,axis_x_tick_text_inner:g}}=this.params.owner;switch(a){case"bottom":t.attr("x1",i.x).attr("x2",i.x).attr("y2",this.getTickSize.bind(this)),s.attr("x",0).attr("y",d(l)).style("text-anchor",c(l)).style("text-anchor",(f,p,{length:_})=>!h&&p===0&&(g===!0||g.first)?"start":!h&&p===_-1&&(g===!0||g.last)?"end":c(l)).attr("transform",u(l));break;case"top":t.attr("x2",0).attr("y2",-n),s.attr("x",0).attr("y",-d(l)*2).style("text-anchor",c(l)).attr("transform",u(l));break;case"left":t.attr("x2",-n).attr("y1",i.y).attr("y2",i.y),s.attr("x",-o).attr("y",r).style("text-anchor","end");break;case"right":t.attr("x2",n).attr("y2",0),s.attr("x",o).attr("y",0).style("text-anchor","start")}}splitTickText(t,s,i,n,a){const{params:o}=this,r=this.helper.textFormatted(t),l=V(r)&&r.indexOf(` + `;return`data:image/svg+xml;base64,${ma(d)}`}function ya(e,t){const{top:s,left:i}=t,{x:n,y:a}=e.getBBox(),{a:o,b:r,c:l,d:c,e:u,f:d}=e.getScreenCTM(),{width:h,height:g}=e.getBoundingClientRect();return{x:o*n+l*a+u-i,y:r*n+c*a+d-s+(g-Math.round(g/4)),width:h,height:g}}function ba(e){const{left:t,top:s}=e.getBoundingClientRect(),i=a=>a.textContent||a.childElementCount,n=[];return Gt(e.querySelectorAll("text")).filter(i).forEach(a=>{const o=r=>{const{fill:l,fontFamily:c,fontSize:u,textAnchor:d,transform:h}=j.getComputedStyle(r),{x:g,y:f,width:p,height:_}=ya(r,{left:t,top:s});return{[r.textContent]:{x:g,y:f,width:p,height:_,fill:l,fontFamily:c,fontSize:u,textAnchor:d,transform:h}}};if(a.childElementCount>1){const r=[];return Gt(a.querySelectorAll("tspan")).filter(i).forEach(l=>{n.push(o(l))}),r}else n.push(o(a))}),n}function va(e,t){t.forEach(s=>{Object.keys(s).forEach(i=>{const{x:n,y:a,width:o,height:r,fill:l,fontFamily:c,fontSize:u,transform:d}=s[i];if(e.save(),e.font=`${u} ${c}`,e.fillStyle=l,d==="none")e.fillText(i,n,a);else{const h=d.replace(/(matrix|\(|\))/g,"").split(",");h.splice(4).every(g=>+g==0)?(h.push(n+o-o/4),h.push(a-r+r/3)):(h.push(n),h.push(a)),e.transform(...h),e.fillText(i,0,0)}e.restore()})})}var Ta={export(e,t){const s=this.internal,{state:i,$el:{chart:n,svg:a}}=s,{width:o,height:r}=i.current,l=qt({width:o,height:r,preserveAspectRatio:!0,preserveFontStyle:!1,mimeType:"image/png"},e),c=$a(n.node(),l,{width:o,height:r}),u=l.preserveFontStyle?ba(a.node()):[];if(t&&O(t)){const d=new Image;d.crossOrigin="Anonymous",d.onload=()=>{const h=ot.createElement("canvas"),g=h.getContext("2d");h.width=l.width||o,h.height=l.height||r,g.drawImage(d,0,0),u.length&&(va(g,u),u.length=0),t.bind(this)(h.toDataURL(l.mimeType))},d.src=c}return c}},Aa={focus(e){const t=this.internal,{state:s}=t,i=t.mapToTargetIds(e),n=t.$el.svg.selectAll(t.selectorTargets(i.filter(t.isTargetToShow,t)));this.revert(),this.defocus(),n.classed(q.focused,!0).classed(q.defocused,!1),t.hasArcType()&&!s.hasRadar&&(t.expandArc(i),t.hasType("gauge")&&t.markOverlapped(e,t,`.${_t.gaugeValue}`)),t.toggleFocusLegend(i,!0),s.focusedTargetIds=i,s.defocusedTargetIds=s.defocusedTargetIds.filter(a=>i.indexOf(a)<0)},defocus(e){const t=this.internal,{state:s}=t,i=t.mapToTargetIds(e);t.$el.svg.selectAll(t.selectorTargets(i.filter(t.isTargetToShow,t))).classed(q.focused,!1).classed(q.defocused,!0),t.hasArcType(null,["polar"])&&(t.unexpandArc(i),t.hasType("gauge")&&t.undoMarkOverlapped(t,`.${_t.gaugeValue}`)),t.toggleFocusLegend(i,!1),s.focusedTargetIds=s.focusedTargetIds.filter(a=>i.indexOf(a)<0),s.defocusedTargetIds=i},revert(e){const t=this.internal,{config:s,state:i,$el:n}=t,a=t.mapToTargetIds(e);n.svg.selectAll(t.selectorTargets(a)).classed(q.focused,!1).classed(q.defocused,!1),t.hasArcType(null,["polar"])&&t.unexpandArc(a),s.legend_show&&(t.showLegend(a.filter(t.isLegendToShow.bind(t))),n.legend.selectAll(t.selectorLegends(a)).filter(function(){return(0,w.select)(this).classed(q.legendItemFocused)}).classed(q.legendItemFocused,!1)),i.focusedTargetIds=[],i.defocusedTargetIds=[]}},wa={legend:{show:function(e){const t=this.internal;t.showLegend(t.mapToTargetIds(e)),t.updateAndRedraw({withLegend:!0})},hide:function(e){const t=this.internal;t.hideLegend(t.mapToTargetIds(e)),t.updateAndRedraw({withLegend:!0})}}},Sa={load(e){const t=this.internal,{config:s}=t;e.xs&&t.addXs(e.xs),"names"in e&&this.data.names(e.names),"classes"in e&&Object.keys(e.classes).forEach(i=>{s.data_classes[i]=e.classes[i]}),"categories"in e&&t.axis.isCategorized()&&(s.axis_x_categories=e.categories),"axes"in e&&Object.keys(e.axes).forEach(i=>{s.data_axes[i]=e.axes[i]}),"colors"in e&&Object.keys(e.colors).forEach(i=>{s.data_colors[i]=e.colors[i]}),"unload"in e&&e.unload!==!1?t.unload(t.mapToTargetIds(e.unload===!0?null:e.unload),()=>{as(()=>t.loadFromArgs(e))}):t.loadFromArgs(e)},unload(e){const t=this.internal;let s=e||{};At(s)&&this.tooltip.hide(),N(s)?s={ids:s}:V(s)&&(s={ids:[s]});const i=t.mapToTargetIds(s.ids);t.unload(i,()=>{t.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),t.cache.remove(i),As.call(t,s.done,s.resizeAfter)})}};function ks(e,t,s){const i=this.internal,n=i.mapToTargetIds(t),a=i.state.hiddenTargetIds.map(l=>n.indexOf(l)>-1&&l).filter(Boolean);i.state.toggling=!0,i[`${e?"remove":"add"}HiddenTargetIds`](n);const o=i.$el.svg.selectAll(i.selectorTargets(n)),r=e?null:"0";e&&a.length&&(o.style("display",null),K(i.config.data_onshown,this,a)),i.$T(o).style("opacity",r,"important").call(ye,()=>{var l;!e&&a.length===0&&(o.style("display","none"),K((l=i.config)==null?void 0:l.data_onhidden,this,n)),o.style("opacity",r)}),s.withLegend&&i[`${e?"show":"hide"}Legend`](n),i.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),i.state.toggling=!1}var Ra={show(e,t={}){ks.call(this,!0,e,t)},hide(e,t={}){ks.call(this,!1,e,t)},toggle(e,t={}){const s=this.internal,i={show:[],hide:[]};s.mapToTargetIds(e).forEach(n=>i[s.isTargetToShow(n)?"hide":"show"].push(n)),i.show.length&&this.show(i.show,t),i.hide.length&&setTimeout(()=>this.hide(i.hide,t),0)}},Ca={tooltip:{show:function(e){var t,s,i;const n=this.internal,{$el:a,config:o,state:{eventReceiver:r,hasFunnel:l,hasTreemap:c,inputType:u}}=n;let d,h;if(e.mouse&&(h=e.mouse),e.data){const{data:g}=e,f=(t=n.getYScaleById(g.id))==null?void 0:t(g.value);if((l||c)&&g.id){const p=n.selectorTarget(g.id,void 0,`.${st.shape}`);r.rect=a.main.select(p)}else n.isMultipleX()?h=[n.xx(g),f]:(o.tooltip_grouped||(h=[0,f]),d=(i=g.index)!=null?i:n.hasArcType()&&g.id?(s=n.getArcElementByIdOrIndex(g.id))==null?void 0:s.datum().index:n.getIndexByX(g.x))}else H(e.x)?d=n.getIndexByX(e.x):H(e.index)&&(d=e.index);(u==="mouse"?["mouseover","mousemove"]:["touchstart"]).forEach(g=>{n.dispatchEvent(g,d,h)})},hide:function(){var e,t,s;const i=this.internal,{state:{inputType:n},$el:{tooltip:a}}=i,o=a==null?void 0:a.datum();if(o){const{index:r}=JSON.parse(o.current)[0];(n==="mouse"?["mouseout"]:["touchend"]).forEach(l=>{i.dispatchEvent(l,r)})}n==="touch"&&i.callOverOutForTouch(),i.hideTooltip(!0),(e=i.hideGridFocus)==null||e.call(i),(t=i.unexpandCircles)==null||t.call(i),(s=i.expandBarTypeShapes)==null||s.call(i,!1)}}},Ea=Object.defineProperty,ka=(e,t,s)=>t in e?Ea(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Ls=(e,t,s)=>ka(e,typeof t!="symbol"?t+"":t,s);class Mt{constructor(t){Ls(this,"plugins",[]),Ls(this,"internal");const s=new jt(this);this.internal=s,function i(n,a,o){Object.keys(n).forEach(r=>{const l=O(n[r]),c=a!==o,u=nt(n[r]),d=u&&Object.keys(n[r]).length>0;l&&(!c&&d||c)?a[r]=n[r].bind(o):u&&!l?a[r]={}:a[r]=n[r],d&&i(n[r],a[r],o)})}(Mt.prototype,this,this),fa.call(s,t),s.beforeInit(),s.init()}}rt(Mt.prototype,[pa,xa,_a,Ta,Aa,wa,Sa,Ra,Ca]);function Ps(e=!1,t,s,i){const n=this,{config:a,$el:{main:o}}=n,r=a.data_selection_grouped,l=a.data_selection_isselectable.bind(n.api);a.data_selection_enabled&&o.selectAll(`.${st.shapes}`).selectAll(`.${st.shape}`).each(function(c){const u=(0,w.select)(this),{id:d,index:h}=c.data?c.data:c,g=n.getToggle(this,c).bind(n),f=r||!t||t.indexOf(d)>=0,p=!s||s.indexOf(h)>=0,_=u.classed(Q.SELECTED);u.classed(Et.line)||u.classed(xe.area)||(e?f&&p&&l(c)&&!_?g(!0,u.classed(Q.SELECTED,!0),c,h):H(i)&&i&&_&&g(!1,u.classed(Q.SELECTED,!1),c,h):f&&p&&l(c)&&_&&g(!1,u.classed(Q.SELECTED,!1),c,h))})}var La={selected(e){const t=this.internal,s=[];return t.$el.main.selectAll(`.${st.shapes+t.getTargetSelectorSuffix(e)}`).selectAll(`.${st.shape}`).filter(function(){return(0,w.select)(this).classed(Q.SELECTED)}).each(i=>s.push(i)),s},select(e,t,s){const i=this.internal;Ps.bind(i)(!0,e,t,s)},unselect(e,t){const s=this.internal;Ps.bind(s)(!1,e,t)}};const Os=function(e){var t;const s=this.internal,{axis:i,brush:n,config:a,scale:{x:o,subX:r},state:l}=s;let c;return a.subchart_show&&(c=e,Array.isArray(c)?(i.isTimeSeries()&&(c=c.map(d=>mt.bind(s)(d))),s.withinRange(c,s.getZoomDomain("subX",!0),s.getZoomDomain("subX"))&&(l.domain=c,n.move(n.getSelection(),c.map(r)))):c=(t=l.domain)!=null?t:o.orgDomain()),c};rt(Os,{show(){var e,t;const s=this.internal,{$el:{subchart:i},config:n}=s,a=n.subchart_show;if(!a){s.unbindZoomEvent(),n.subchart_show=!a,!i.main&&s.initSubchart();let o=i.main.selectAll(`.${D.target}`);s.data.targets.length!==o.size()&&(s.updateSizes(),s.updateTargetsForSubchart(s.data.targets),o=(e=i.main)==null?void 0:e.selectAll(`.${D.target}`)),o==null||o.style("opacity",null),(t=i.main)==null||t.style("display",null),this.resize()}},hide(){const e=this.internal,{$el:{subchart:{main:t}},config:s}=e;s.subchart_show&&(t==null?void 0:t.style("display"))!=="none"&&(s.subchart_show=!1,t.style("display","none"),this.resize())},toggle(){const e=this.internal,{config:t}=e;this.subchart[t.subchart_show?"hide":"show"]()},reset(){const e=this.internal,{brush:t}=e;t.clear(t.getSelection())}});var Pa={subchart:Os},Rt=U(10);const Is=function(e){var t;const s=this.internal,{axis:i,config:n,org:a,scale:o,state:r}=s,l=i.isCategorized();let c;if(n.zoom_enabled)if(c=e,Array.isArray(c)){if(i.isTimeSeries()&&(c=c.map(d=>mt.bind(s)(d))),s.withinRange(c,s.getZoomDomain("zoom",!0),s.getZoomDomain("zoom"))){if(r.domain=c,c=s.getZoomDomainValue(c),s.api.tooltip.hide(),n.subchart_show){const d=o.zoom||o.x;s.brush.getSelection().call(s.brush.move,c.map(d))}else{const d=l?o.x.orgScale():a.xScale||o.x;s.updateCurrentZoomTransform(d,c)}s.setZoomResetButton()}}else c=s.zoom.getDomain();return(t=r.domain)!=null?t:c};rt(Is,{enable(e){const t=this.internal,{config:s}=t;/^(drag|wheel)$/.test(e)&&(s.zoom_type=e),s.zoom_enabled=!!e,t.zoom?e===!1&&t.bindZoomEvent(!1):(t.initZoom(),t.bindZoomEvent()),t.updateAndRedraw()},max(e){const t=this.internal,{config:s,org:{xDomain:i}}=t;return(e===0||e)&&(s.zoom_x_max=wt("max",[i[1],e])),s.zoom_x_max},min(e){const t=this.internal,{config:s,org:{xDomain:i}}=t;return(e===0||e)&&(s.zoom_x_min=wt("min",[i[0],e])),s.zoom_x_min},range(e){const t=this.zoom;if(X(e)){const{min:s,max:i}=e;H(s)&&t.min(s),H(i)&&t.max(i)}return{min:t.min(),max:t.max()}}});var Oa={zoom:Is,unzoom(){const e=this.internal,{config:t,$el:{eventRect:s,zoomResetBtn:i},scale:{zoom:n},state:a}=e;n&&(t.subchart_show?e.brush.getSelection().call(e.brush.move,null):e.zoom.updateTransformScale(Rt.zoomIdentity),e.updateZoom(!0),i==null||i.style("display","none"),(0,Rt.zoomTransform)(s.node())!==Rt.zoomIdentity&&e.zoom.transform(s,Rt.zoomIdentity),a.domain=void 0)}},Ia={initBrush(){const e=this,{config:t,scale:s,$el:{subchart:i},state:n}=e,a=t.axis_rotated,o=t.subchart_size_height;let r,l,c;e.brush=(a?(0,me.brushY)():(0,me.brushX)()).handleSize(5),e.brush.on("start brush end",u=>{const{selection:d,sourceEvent:h,target:g,type:f}=u;f==="start"&&(e.state.inputType==="touch"&&e.hideTooltip(),l=h?d:null),/(start|brush)/.test(f)&&(f==="brush"&&h&&n.domain&&(l==null||l.forEach((p,_)=>{p!==d[_]&&(n.domain[_]=s.x.orgDomain()[_])})),e.redrawForBrush(f!=="start")),f==="end"&&(r=s.x.orgDomain()),g!=null&&g.handle&&(d===null?e.brush.handle.attr("display","none"):e.brush.handle.attr("display",null).attr("transform",(p,_)=>{const x=[d[_],o/2];return`translate(${a?x.reverse():x})`}))}),e.brush.updateResize=function(){c&&clearTimeout(c),c=setTimeout(()=>{const u=this.getSelection();r&&(0,me.brushSelection)(u.node())&&this.move(u,r.map(s.subX.orgScale()))},0)},e.brush.update=function(){var u;return this.extent()()[1].filter(h=>isNaN(h)).length===0&&((u=i.main)==null||u.select(`.${B.brush}`).call(this)),this},e.brush.scale=function(u){const d=t.subchart_size_height;let h=e.axis.getExtent();!h&&u.range?h=[[0,0],[u.range()[1],d]]:N(h)&&(h=h.map((g,f)=>[g,f>0?d:f])),a&&h[1].reverse(),this.extent(h),this.update()},e.brush.getSelection=()=>i.main?i.main.select(`.${B.brush}`):(0,w.select)([])},initSubchart(){const e=this,{config:t,state:{clip:s,hasAxis:i},$el:{defs:n,svg:a,subchart:o,axis:r}}=e;if(!i)return;const l=t.subchart_show?null:"hidden",c=`${s.id}-subchart`,u=e.getClipPath(c);s.idSubchart=c,e.appendClip(n,c),e.initBrush(),o.main=a.append("g").classed(B.subchart,!0).attr("transform",e.getTranslate("context"));const{main:d}=o;d.style("visibility",l),d.append("g").attr("clip-path",u).attr("class",B.chart),["bar","line","bubble","candlestick","scatter"].forEach(g=>{const f=ft(/^(bubble|scatter)$/.test(g)?"circle":g);if(e.hasType(g)||e.hasTypeOf(f)){const p=d.select(`.${B.chart}`),_=B[`chart${f}s`];p.select(`.${_}`).empty()&&p.append("g").attr("class",_)}});const h=d.append("g").attr("clip-path",u).attr("class",B.brush).call(e.brush);t.subchart_showHandle&&e.addBrushHandle(h),r.subX=d.append("g").attr("class",B.axisX).attr("transform",e.getTranslate("subX")).attr("clip-path",t.axis_rotated?"":s.pathXAxis).style("visibility",t.subchart_axis_x_show?l:"hidden")},addBrushHandle(e){const t=this,{config:s}=t,i=s.axis_rotated,n=s.subchart_init_range,a="handle--custom",o=i?["M8.5 0 a6 6 0 0 0 -6 -6.5 H-2.5 a 6 6 0 0 0 -6 6.5 z m-5 -2 H-3.5 m7 -2 H-3.5z","M8.5 0 a6 -6 0 0 1 -6 6.5 H-2.5 a 6 -6 0 0 1 -6 -6.5z m-5 2 H-3.5 m7 2 H-3.5z"]:["M0 -8.5 A6 6 0 0 0 -6.5 -3.5 V2.5 A6 6 0 0 0 0 8.5 Z M-2 -3.5 V3.5 M-4 -3.5 V3.5z","M0 -8.5 A6 6 0 0 1 6.5 -3.5 V2.5 A6 6 0 0 1 0 8.5 Z M2 -3.5 V3.5 M4 -3.5 V3.5z"];t.brush.handle=e.selectAll(`.${a}`).data(i?[{type:"n"},{type:"s"}]:[{type:"w"},{type:"e"}]).enter().append("path").attr("class",a).attr("cursor",`${i?"ns":"ew"}-resize`).attr("d",r=>o[+/[se]/.test(r.type)]).attr("display",n?null:"none")},updateTargetsForSubchart(e){const t=this,{config:s,state:i,$el:{subchart:{main:n}}}=t;s.subchart_show&&(["bar","line","bubble","candlestick","scatter"].filter(a=>t.hasType(a)||t.hasTypeOf(ft(a))).forEach(a=>{const o=/^(bubble|scatter)$/.test(a),r=ft(o?"circle":a),l=t.getChartClass(r,!0),c=t.getClass(o?"circles":`${a}s`,!0),u=n.select(`.${B[`chart${`${r}s`}`]}`);if(o){const d=u.selectAll(`.${B.circles}`).data(e.filter(t[`is${ft(a)}Type`].bind(t))).attr("class",c);d.exit().remove(),d.enter().append("g").attr("class",c)}else{const d=u.selectAll(`.${B[`chart${r}`]}`).attr("class",l).data(e.filter(t[`is${r}Type`].bind(t))),h=d.enter().append("g").style("opacity","0").attr("class",l).append("g").attr("class",c);d.exit().remove(),a==="line"&&t.hasTypeOf("Area")&&h.append("g").attr("class",t.getClass("areas",!0))}}),n.selectAll(`.${B.brush} rect`).attr(s.axis_rotated?"width":"height",s.axis_rotated?i.width2:i.height2))},redrawSubchart(e,t,s){var i;const n=this,{config:a,$el:{subchart:{main:o}},state:r}=n,l=!!t;if(o.style("visibility",a.subchart_show?null:"hidden"),a.subchart_show&&(((i=r.event)==null?void 0:i.type)==="zoom"&&n.brush.update(),e)){const c=a.subchart_init_range;if(!hs(n)&&n.brush.update(),Object.keys(s.type).forEach(u=>{const d=ft(u),h=n[`generateDraw${d}`](s.indices[u],!0);n[`update${d}`](l,!0),n[`redraw${d}`](h,l,!0)}),n.hasType("bubble")||n.hasType("scatter")){const{cx:u}=s.pos,d=n.updateCircleY(!0);n.updateCircle(!0),n.redrawCircle(u,d,l,void 0,!0)}!r.rendered&&c&&(r.domain=c,n.brush.move(n.brush.getSelection(),c.map(n.scale.x)))}},redrawForBrush(e=!0){var t;const s=this,{config:{subchart_onbrush:i,zoom_rescale:n},scale:a,state:o}=s;s.redraw({withTransition:!1,withY:n,withSubchart:!1,withUpdateXDomain:!0,withDimension:!1}),e&&o.rendered&&i.bind(s.api)((t=o.domain)!=null?t:a.x.orgDomain())},transformContext(e,t){const s=this,{$el:{subchart:i},$T:n}=s,a=t!=null&&t.axisSubX?t.axisSubX:n(i.main.select(`.${B.axisX}`),e);i.main.attr("transform",s.getTranslate("context")),a.attr("transform",s.getTranslate("subX"))}},Da={initZoom(){const e=this;e.scale.zoom=null,e.generateZoom(),e.config.zoom_type==="drag"&&e.initZoomBehaviour()},bindZoomEvent(e=!0){const t=this,{config:s}=t;s.zoom_enabled&&e?!s.subchart_show&&t.bindZoomOnEventRect():e===!1&&(t.api.unzoom(),t.unbindZoomEvent())},generateZoom(){const e=this,{config:t,org:s,scale:i}=e,n=(0,Rt.zoom)().duration(0).on("start",e.onZoomStart.bind(e)).on("zoom",e.onZoom.bind(e)).on("end",e.onZoomEnd.bind(e));n.orgScaleExtent=()=>{const a=t.zoom_extent||[1,10];return[a[0],Math.max(e.getMaxDataCount()/a[1],a[1])]},n.updateScaleExtent=function(){const a=Nt(e.scale.x.orgDomain())/Nt(e.getZoomDomain()),o=this.orgScaleExtent();return this.scaleExtent([o[0]*a,o[1]*a]),this},n.updateTransformScale=(a,o)=>{var r;const l=t.axis_rotated;(r=s.xScale)==null||r.range(i.x.range());const c=a[l?"rescaleY":"rescaleX"](s.xScale||i.x);if(c.domain().some(h=>/(Invalid Date|NaN)/.test(h.toString())))return;const u=e.trimXDomain(c.domain()),d=t.zoom_rescale;if(c.domain(u,s.xDomain),o){const h=c(i.x.domain()[0]),g=l?a.x:h,f=l?h:a.y;e.$el.eventRect.property("__zoom",Rt.zoomIdentity.translate(g,f).scale(a.k))}e.state.xTickOffset||(e.state.xTickOffset=e.axis.x.tickOffset()),i.zoom=e.getCustomizedXScale(c),e.axis.x.scale(i.zoom),d?(!s.xScale&&(s.xScale=i.x.copy()),i.x.domain(u)):s.xScale&&(i.x.domain(s.xScale.domain()),s.xScale=null)},n.getDomain=()=>{const a=i[i.zoom?"zoom":"subX"].domain();return e.axis.isCategorized()&&(a[1]-=2),a},e.zoom=n},onZoomStart(e){const t=this,{sourceEvent:s}=e;s&&(t.zoom.startEvent=s,t.state.zooming=!0,K(t.config.zoom_onzoomstart,t.api,e))},onZoom(e){var t;const s=this,{config:i,scale:n,state:a,org:o}=s,{sourceEvent:r}=e,l=(e==null?void 0:e.transform)===Rt.zoomIdentity;if(!i.zoom_enabled||s.filterTargetsToShow(s.data.targets).length===0||!n.zoom&&(r==null?void 0:r.type.indexOf("touch"))>-1&&(r==null?void 0:r.touches.length)===1)return;e.sourceEvent&&(a.zooming=!0,a.domain=void 0);const c=(r==null?void 0:r.type)==="mousemove",u=(r==null?void 0:r.wheelDelta)<0,{transform:d}=e;!c&&u&&n.x.domain().every((g,f)=>g!==o.xDomain[f])&&n.x.domain(o.xDomain),s.zoom.updateTransformScale(d,i.zoom_type==="wheel"&&r);const h=i.transition_duration>0&&!i.subchart_show&&(a.dragging||l||!e.sourceEvent);s.redraw({withTransition:h,withY:i.zoom_rescale,withSubchart:!1,withEventRect:!1,withDimension:!1}),s.state.cancelClick=c,!l&&K(i.zoom_onzoom,s.api,(t=s.state.domain)!=null?t:s.zoom.getDomain())},onZoomEnd(e){var t,s;const i=this,{config:n,state:a}=i;let{startEvent:o}=i.zoom,r=e==null?void 0:e.sourceEvent;const l=(e==null?void 0:e.transform)===Rt.zoomIdentity;(o==null?void 0:o.type.indexOf("touch"))>-1&&(o=o.changedTouches[0],r=(t=r==null?void 0:r.changedTouches)==null?void 0:t[0]),!(n.zoom_type==="drag"&&r&&o.clientX===r.clientX&&o.clientY===r.clientY)&&(a.zooming=!1,i.redrawEventRect(),i.updateZoom(),!l&&(r||a.dragging)&&K(n.zoom_onzoomend,i.api,(s=i.state.domain)!=null?s:i.zoom.getDomain()))},updateZoom(e){const t=this,{subX:s,x:i,zoom:n}=t.scale;if(n){const a=n.domain(),o=s.domain(),r=.015,l=t.config.axis_x_inverted?(a[0]>=o[0]||a[0]+r>=o[0])&&(o[1]>=a[1]||o[1]>=a[1]+r):(a[0]<=o[0]||a[0]-r<=o[0])&&(o[1]<=a[1]||o[1]<=a[1]-r);(e||l)&&(t.axis.x.scale(s),i.domain(s.orgDomain()),t.scale.zoom=null)}},updateCurrentZoomTransform(e,t){const s=this,{$el:{eventRect:i},config:n}=s,a=n.axis_rotated,o=[-e(t[0]),0],r=Rt.zoomIdentity.scale(e.range()[1]/(e(t[1])-e(t[0]))).translate(...a?o.reverse():o);i.call(s.zoom.transform,r)},bindZoomOnEventRect(){var e;const t=this,{config:s,$el:{eventRect:i,svg:n}}=t,a=s.zoom_type==="drag"?t.zoomBehaviour:t.zoom;j.GestureEvent&&/^((?!chrome|android|mobile).)*safari/i.test((e=j.navigator)==null?void 0:e.userAgent)&&n.on("wheel",()=>{}),i==null||i.call(a).on("dblclick.zoom",null)},initZoomBehaviour(){const e=this,{config:t,state:s}=e,i=t.axis_rotated;let n=0,a=0,o,r;const l={axis:i?"y":"x",attr:i?"height":"width",index:i?1:0};e.zoomBehaviour=(0,ws.drag)().clickDistance(4).on("start",function(c){r=e.scale.zoom?null:e.axis.getExtent(),s.event=c,e.setDragStatus(!0),e.unselectRect(),o||(o=e.$el.main.append("rect").attr("clip-path",s.clip.path).attr("class",Pe.zoomBrush).attr("width",i?s.width:0).attr("height",i?0:s.height)),n=yt(c,this)[l.index],r&&(nr[1]&&(n=r[1])),a=n,o.attr(l.axis,n).attr(l.attr,0),e.onZoomStart(c)}).on("drag",function(c){a=yt(c,this)[l.index],r&&(a>r[1]?a=r[1]:a{const u=e.scale.zoom||e.scale.x;s.event=c,o.attr(l.axis,0).attr(l.attr,0),n>a&&([n,a]=[a,n]),n<0&&(a+=Math.abs(n),n=0),n!==a&&e.api.zoom([n,a].map(d=>u.invert(d))),e.setDragStatus(!1)})},setZoomResetButton(){const e=this,{config:t,$el:s}=e,i=t.zoom_resetButton;i&&t.zoom_type==="drag"&&(s.zoomResetBtn?s.zoomResetBtn.style("display",null):s.zoomResetBtn=e.$el.chart.append("div").classed(D.button,!0).append("span").on("click",function(){O(i.onclick)&&i.onclick.bind(e.api)(this),e.api.unzoom()}).classed(Pe.buttonZoomReset,!0).text(i.text||"Reset Zoom"))},getZoomTransform(){const e=this,{$el:{eventRect:t}}=e;return t!=null&&t.node()?(0,Rt.zoomTransform)(t.node()):{k:1}}},za={drag(e){const t=this,{config:s,state:i,$el:{main:n}}=t,a=s.data_selection_grouped,o=s.interaction_enabled&&s.data_selection_isselectable;if(t.hasArcType()||!s.data_selection_enabled||s.zoom_enabled&&!t.zoom.altDomain||!s.data_selection_multiple)return;const[r,l]=i.dragStart||[0,0],[c,u]=e,d=Math.min(r,c),h=Math.max(r,c),g=a?i.margin.top:Math.min(l,u),f=a?i.height:Math.max(l,u);n.select(`.${Bt.dragarea}`).attr("x",d).attr("y",g).attr("width",h-d).attr("height",f-g),n.selectAll(`.${st.shapes}`).selectAll(`.${st.shape}`).filter(p=>o==null?void 0:o.bind(t.api)(p)).each(function(p,_){const x=(0,w.select)(this),m=x.classed(Q.SELECTED),$=x.classed(Bt.INCLUDED);let b=!1,v;if(x.classed(ut.circle)){const y=+x.attr("cx")*1,A=+x.attr("cy")*1;v=t.togglePoint,b=dt in e?Fa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Ga=(e,t)=>{for(var s in t||(t={}))Ba.call(t,s)&&zs(e,s,t[s]);if(Ds)for(var s of Ds(t))Na.call(t,s)&&zs(e,s,t[s]);return e},Va=(e,t)=>Ma(e,Xa(t)),Ya=Va(Ga({},za),{selectPoint(e,t,s){const i=this,{config:n,$el:{main:a},$T:o}=i,r=n.axis_rotated,l=(r?i.circleY:i.circleX).bind(i),c=(r?i.circleX:i.circleY).bind(i),u=i.pointSelectR.bind(i);K(n.data_onselected,i.api,t,e.node()),o(a.select(`.${Q.selectedCircles}${i.getTargetSelectorSuffix(t.id)}`).selectAll(`.${Q.selectedCircle}-${s}`).data([t]).enter().append("circle").attr("class",()=>i.generateClass(Q.selectedCircle,s)).attr("cx",l).attr("cy",c).attr("stroke",i.color).attr("r",d=>i.pointSelectR(d)*1.4)).attr("r",u)},unselectPoint(e,t,s){const i=this,{config:n,$el:{main:a},$T:o}=i;K(n.data_onunselected,i.api,t,e==null?void 0:e.node()),o(a.select(`.${Q.selectedCircles}${i.getTargetSelectorSuffix(t.id)}`).selectAll(`.${Q.selectedCircle}-${s}`)).attr("r",0).remove()},togglePoint(e,t,s,i){this[`${e?"":"un"}selectPoint`](t,s,i)},selectPath(e,t){const s=this,{config:i}=s;K(i.data_onselected,s.api,t,e.node()),i.interaction_brighten&&e.style("filter","brightness(1.25)")},unselectPath(e,t){const s=this,{config:i}=s;K(i.data_onunselected,s.api,t,e.node()),i.interaction_brighten&&e.style("filter",null)},togglePath(e,t,s,i){this[`${e?"":"un"}selectPath`](t,s,i)},getToggle(e,t){const s=this;return e.nodeName==="path"?s.togglePath:s.isStepType(t)?()=>{}:s.togglePoint},toggleShape(e,t,s){var i;const n=this,{config:a,$el:{main:o}}=n;if(a.data_selection_enabled&&a.data_selection_isselectable.bind(n.api)(t)){const r=(0,w.select)(e),l=r.classed(Q.SELECTED),c=n.getToggle(e,t).bind(n);let u;if(!a.data_selection_multiple){const d=(i=n.isPointFocusOnly)==null?void 0:i.call(n);let h=`.${d?Q.selectedCircles:st.shapes}`;a.data_selection_grouped&&(h+=n.getTargetSelectorSuffix(t.id)),o.selectAll(h).selectAll(d?`.${Q.selectedCircle}`:`.${st.shape}.${Q.SELECTED}`).classed(Q.SELECTED,!1).each(function(g){const f=(0,w.select)(this);u=f,c(!1,f,g,g.index)})}(!u||u.node()!==r.node())&&(r.classed(Q.SELECTED,!l),c(!l,r,t,s))}}}),ja={data_selection_enabled:!1,data_selection_grouped:!1,data_selection_isselectable:()=>!0,data_selection_multiple:!0,data_selection_draggable:!1,data_onselected:()=>{},data_onunselected:()=>{}},Ha={subchart_show:!1,subchart_showHandle:!1,subchart_size_height:60,subchart_axis_x_show:!0,subchart_axis_x_tick_show:!0,subchart_axis_x_tick_format:void 0,subchart_axis_x_tick_text_show:!0,subchart_init_range:void 0,subchart_onbrush:()=>{}},Wa={zoom_enabled:!1,zoom_type:"wheel",zoom_extent:void 0,zoom_privileged:!1,zoom_rescale:!1,zoom_onzoom:void 0,zoom_onzoomstart:void 0,zoom_onzoomend:void 0,zoom_resetButton:!0,zoom_x_min:void 0,zoom_x_max:void 0};let Fs=()=>(rt(jt.prototype,Ya),rt(Mt.prototype,La),Vt.setOptions([ja]),(Fs=()=>!0)()),Ms=()=>(rt(jt.prototype,Ia),rt(Mt.prototype,Pa),Vt.setOptions([Ha]),(Ms=()=>!0)()),Xs=()=>(rt(jt.prototype,Da),rt(Mt.prototype,Oa),Vt.setOptions([Wa]),(Xs=()=>!0)());function Bs(e,t,s){const{config:i}=e,n=(a,o)=>{const r=L(o)?o:o===!1?void 0:null;r!==null&&(i[`axis_${a}_${t}`]=r)};H(s)&&(St(s)?Object.keys(s).forEach(a=>{n(a,s[a])}):(L(s)||s===!1)&&["y","y2"].forEach(a=>{n(a,s)}),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0}))}function Ns(e,t){const{config:s}=e;return{x:s[`axis_x_${t}`],y:s[`axis_y_${t}`],y2:s[`axis_y2_${t}`]}}var Ua={axis:{labels:function(e){const t=this.internal;let s;return e&&(Object.keys(e).forEach(i=>{t.axis.setLabelText(i,e[i])}),t.axis.updateLabels()),["x","y","y2"].forEach(i=>{const n=t.axis.getLabelText(i);n&&(!s&&(s={}),s[i]=n)}),s},min:function(e){const t=this.internal;return M(e)||e===!1?Bs(t,"min",e):Ns(t,"min")},max:function(e){const t=this.internal;return M(e)||e===!1?Bs(t,"max",e):Ns(t,"max")},range:function(e){const{axis:t}=this;if(arguments.length){const{min:s,max:i}=e;H(i)&&t.max(i),H(s)&&t.min(s)}else return{max:t.max(),min:t.min()}}}},Za={category(e,t){const s=this.internal,{config:i}=s;return arguments.length>1&&(i.axis_x_categories[e]=t,s.redraw()),i.axis_x_categories[e]},categories(e){const t=this.internal,{config:s}=t;if(!e||!Array.isArray(e)){const i=s.axis_x_categories;return At(i)?Object.values(t.data.xs)[0]:i}return s.axis_x_categories=e,t.redraw(),s.axis_x_categories}},qa={flow(e){const t=this.internal;let s;(e.json||e.rows||e.columns)&&t.convertData(e,n=>{s=n,i()});function i(){let n,a=0,o=0,r,l;if(t.state.redrawing||!s||!de())return;const c=[],u=t.getMaxDataCount(),d=t.convertDataToTargets(s,!0),h=t.axis.isTimeSeries();t.data.targets.forEach(p=>{let _=!1;for(let x=0;x{for(let _=0;_{const _=[];for(let x=t.data.targets[0].values[0].index;x{x.index+=o,h||(x.x+=o)}),p.values=_.concat(p.values)}),t.data.targets=t.data.targets.concat(d);const g=t.data.targets[0],f=g.values[0];H(e.to)?(a=0,l=h?mt.call(t,e.to):e.to,g.values.forEach(p=>{p.x1?g.values[g.values.length-1].x-f.x:f.x-t.getXDomain(t.data.targets)[0]:r=1,n=[f.x-r,f.x]),n&&t.updateXDomain(null,!0,!0,!1,n),t.updateTargets(t.data.targets),t.redraw({flow:{index:f.index,length:a,duration:M(e.duration)?e.duration:t.config.transition_duration,done:e.done,orgDataCount:u},withLegend:!0,withTransition:u>1,withTrimXDomain:!1,withUpdateXAxis:!0})}}};function He(e,t){const s=this.internal,{config:i}=s,n=i.transition_duration&&de(),a=`grid_${t}_lines`;return e&&(i[a]=e,s.updateGrid(),s.redrawGrid(n)),i[a]}function Gs(e,t){const s=`grid_${t}_lines`;return He.bind(this)(this.internal.config[s].concat(e||[]),t)}function Vs(e,t){this.internal.removeGridLines(e,t)}const Ys=function(e){return He.bind(this)(e,"x")};rt(Ys,{add(e){return Gs.bind(this)(e,"x")},remove(e){return Vs.bind(this)(e,!0)}});const js=function(e){return He.bind(this)(e,"y")};rt(js,{add(e){return Gs.bind(this)(e,"y")},remove(e){return Vs.bind(this)(e,!1)}});var Ka={xgrids:Ys,ygrids:js},Ja={groups(e){const t=this.internal,{config:s}=t;return it(e)||(s.data_groups=e,t.redraw()),s.data_groups}};function Hs(e,t=!1){const s=this.internal,{config:i}=s,n=i.transition_duration&&de();return e?(i.regions=t?i.regions.concat(e):e,s.updateRegion(),s.redrawRegion(n),t?i.regions:e):i.regions}const Ws=function(e){return Hs.bind(this)(e)};rt(Ws,{add:function(e){return Hs.bind(this)(e,!0)},remove:function(e){const t=this.internal,{config:s,$T:i}=t,n=e||{},a=Dt(n,"classes",[le.region]);let o=t.$el.main.select(`.${le.regions}`).selectAll(a.map(r=>`.${r}`));return i(o).style("opacity","0").remove(),o=s.regions,Object.keys(n).length?(o=o.filter(r=>{let l=!1;return r.class?(r.class.split(" ").forEach(c=>{a.indexOf(c)>=0&&(l=!0)}),!l):!0}),s.regions=o):s.regions=[],o}});var Qa={regions:Ws},to={x(e){const t=this.internal,{axis:s,data:i}=t,n=s.isCustomX()&&s.isCategorized();return N(e)&&(n?this.categories(e):(t.updateTargetX(i.targets,e),t.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0}))),n?this.categories():i.xs},xs(e){const t=this.internal;return X(e)&&(t.updateTargetXs(t.data.targets,e),t.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})),t.data.xs}},Jt=U(11),eo=Object.defineProperty,so=(e,t,s)=>t in e?eo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,We=(e,t,s)=>so(e,typeof t!="symbol"?t+"":t,s);class Us{constructor(t){We(this,"owner"),We(this,"config"),We(this,"scale");const s=Yt(),{config:i,params:n}=t;this.owner=t,this.config=i,this.scale=s,(i.noTransition||!n.config.transition_duration)&&(i.withoutTransition=!0),i.range=this.scaleExtent((n.orgXScale||s).range())}static getSizeFor1Char(t,s=!0){const i={w:5.5,h:11.5};return!t.empty()&&t.text("0").call(n=>{try{const{width:a,height:o}=n.node().getBBox();a&&o&&(i.w=a,i.h=o)}finally{n.text("")}}),s&&(this.getSizeFor1Char=()=>i),i}getTickTransformSetter(t){const{config:s}=this,i=t==="x"?n=>`translate(${n+s.tickOffset},0)`:n=>`translate(0,${n})`;return(n,a)=>{n.attr("transform",o=>{const r=a(o);return M(o)?i(r):null})}}scaleExtent(t){const s=t[0],i=t[t.length-1];return s0?n:1,a]).range(t.range());o=l.ticks();for(let c=a.toFixed().length;o.length>15;c--)o=l.ticks(c);o.splice(0,1,n),o.splice(o.length-1,1,a)}else o=t.ticks(...this.config.tickArguments||[]);o=o.map(l=>V(l)&&L(l)&&!isNaN(l)&&Math.round(l*10)/10||l)}return o}copyScale(){const t=this.scale.copy();return t.domain().length||t.domain(this.scale.domain()),t.type=this.scale.type,t}textFormatted(t){const s=this.config.tickFormat,i=/\d+\.\d+0{5,}\d$/.test(t)?+String(t).replace(/0+\d$/,""):t,n=s?s(i):i;return H(n)?n:""}transitionise(t){const{config:s}=this;let i=t;if(s.withoutTransition)i=t.interrupt();else if(s.transition||!this.owner.params.noTransition)try{i=t.transition(s.transition)}catch(n){}return i}}var io=Object.defineProperty,no=(e,t,s)=>t in e?io(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,ue=(e,t,s)=>no(e,typeof t!="symbol"?t+"":t,s);class ao{constructor(t={}){ue(this,"helper"),ue(this,"config"),ue(this,"params"),ue(this,"g"),ue(this,"generatedTicks");const s={innerTickSize:6,outerTickSize:t.outerTick?6:0,orient:"bottom",range:[],tickArguments:null,tickCentered:null,tickCulling:!0,tickFormat:null,tickLength:9,tickOffset:0,tickPadding:3,tickValues:null,transition:null,noTransition:t.noTransition};s.tickLength=Math.max(s.innerTickSize,0)+s.tickPadding,this.config=s,this.params=t,this.helper=new Us(this)}create(t){const s=this,{config:i,helper:n,params:a}=s,{scale:o}=n,{orient:r}=i,l=this.splitTickText.bind(s),c=/^(left|right)$/.test(r),u=/^(top|bottom)$/.test(r),d=n.getTickTransformSetter(u?"x":"y"),h=d===n.axisX?"y":"x",g=/^(top|left)$/.test(r)?-1:1,f=a.tickTextRotate;this.config.range=o.rangeExtent?o.rangeExtent():n.scaleExtent((a.orgXScale||o).range());const{innerTickSize:p,tickLength:_,range:x}=i,m=a.id,$=m&&/^(x|y|y2)$/.test(m)?a.config[`axis_${m}_tick_text_position`]:{x:0,y:0},b=m==="subX"?"subchart_axis_x":`axis_${m}`,v=a.config[`${b}_show`],y={tick:v?a.config[`${b}_tick_show`]:!1,text:v?a.config[`${b}_tick_text_show`]:!1},A=a.config.axis_evalTextSize;let S;t.each(function(){const R=(0,w.select)(this);let T=this.__chart__||o,C=n.copyScale();S=R,this.__chart__=C,i.tickOffset=a.isCategory?(C(1)-C(0))/2:0;const z=R.selectAll(".domain").data([0]);if(z.enter().append("path").attr("class","domain").merge(z).attr("d",()=>{const P=i.outerTickSize*g;return u?`M${x[0]},${P}V0H${x[1]}V${P}`:`M${P},${x[0]}H0V${x[1]}H${P}`}),y.tick||y.text){const P=i.tickValues||n.generateTicks(C,c);s.generatedTicks=P;let k=R.selectAll(".tick").data(P,C);const F=k.enter().insert("g",".domain").attr("class","tick"),W=k.exit().remove();k=F.merge(k),y.tick&&F.append("line"),y.text&&F.append("text");const J=k.select("text"),lt=O(A)?A.bind(s.params.owner.api)(J.node()):Us.getSizeFor1Char(J,A),$t=[];let bt=J.selectAll("tspan").data((ct,Xt)=>{const Wt=a.tickMultiline?l(ct,C,P,c,lt.w):N(n.textFormatted(ct))?n.textFormatted(ct).concat():[n.textFormatted(ct)];return $t[Xt]=Wt.length,Wt.map(Ut=>({index:Xt,splitted:Ut}))});bt.exit().remove(),bt=bt.enter().append("tspan").merge(bt).text(ct=>ct.splitted),bt.attr("x",u?0:_*g).attr("dx",(()=>{let ct=0;return/(top|bottom)/.test(r)&&f&&(ct=8*Math.sin(Math.PI*(f/180))*(r==="top"?-1:1)),ct+($.x||0)})()).attr("dy",(ct,Xt)=>{const Wt=".71em";let Ut=0;return r!=="top"&&(Ut=lt.h,Xt===0&&(Ut=c?-(($t[ct.index]-1)*(lt.h/2)-3):$.y===0?Wt:0)),L(Ut)&&$.y?Ut+$.y:Ut||Wt});const oe=k.select("line"),he=k.select("text");if(F.select("line").attr(`${h}2`,p*g),F.select("text").attr(h,_*g),s.setTickLineTextPosition(oe,he),a.tickTitle){const ct=he.select("title");(ct.empty()?he.append("title"):ct).text(Xt=>a.tickTitle[Xt])}if(C.bandwidth){const ct=C,Xt=ct.bandwidth()/2;T=Wt=>ct(Wt)+Xt,C=T}else T.bandwidth?T=C:d(W,C);k=a.owner.state.flowing?n.transitionise(k):a.owner.$T(k),d(F,T),d(k.style("opacity",null),C)}}),this.g=S}getGeneratedTicks(t){var s;const i=((s=this.generatedTicks)==null?void 0:s.length)-1;let n=this.generatedTicks;if(i>t){const a=Math.round(i/t+.1);n=this.generatedTicks.map((o,r)=>r%a===0?o:null).filter(o=>o!==null).splice(0,t)}return n}getTickXY(){const{config:t}=this,s={x:0,y:0};return this.params.isCategory&&(s.x=t.tickCentered?0:t.tickOffset,s.y=t.tickCentered?t.tickOffset:0),s}getTickSize(t){const{scale:s}=this.helper,{config:i}=this,{innerTickSize:n,range:a}=i,o=s(t)+(i.tickCentered?0:i.tickOffset);return a[0]{const p=["start","end"];return a==="top"&&p.reverse(),f?p[f>0?0:1]:"middle"},u=f=>f?`rotate(${f})`:null,d=f=>{const p=f/(a==="bottom"?15:23);return f?11.5-2.5*p*(f>0?1:-1):o},{config:{axis_rotated:h,axis_x_tick_text_inner:g}}=this.params.owner;switch(a){case"bottom":t.attr("x1",i.x).attr("x2",i.x).attr("y2",this.getTickSize.bind(this)),s.attr("x",0).attr("y",d(l)).style("text-anchor",c(l)).style("text-anchor",(f,p,{length:_})=>!h&&p===0&&(g===!0||g.first)?"start":!h&&p===_-1&&(g===!0||g.last)?"end":c(l)).attr("transform",u(l));break;case"top":t.attr("x2",0).attr("y2",-n),s.attr("x",0).attr("y",-d(l)*2).style("text-anchor",c(l)).attr("transform",u(l));break;case"left":t.attr("x2",-n).attr("y1",i.y).attr("y2",i.y),s.attr("x",-o).attr("y",r).style("text-anchor","end");break;case"right":t.attr("x2",n).attr("y2",0),s.attr("x",o).attr("y",0).style("text-anchor","start")}}splitTickText(t,s,i,n,a){const{params:o}=this,r=this.helper.textFormatted(t),l=V(r)&&r.indexOf(` `)>-1?r.split(` -`):[];if(l.length)return l;if(N(r))return r;let c=o.tickWidth;(!c||c<=0)&&(c=n?95:o.isCategory?(o.isInverted?s(i[0])-s(i[1]):s(i[1])-s(i[0]))-12:110);function u(d,h){let g,f,p;for(let _=1;_{const g=d+1;return gt(this.helper.scale.domain());else{if(!arguments.length)return s.tickValues;s.tickValues=t}return this}setTransition(t){return this.config.transition=t,this}}var oo=Object.defineProperty,ro=(e,t,s)=>t in e?oo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Lt=(e,t,s)=>ro(e,typeof t!="symbol"?t+"":t,s),lo={getAxisInstance:function(){return this.axis||new co(this)}};class co{constructor(t){Lt(this,"owner"),Lt(this,"x"),Lt(this,"subX"),Lt(this,"y"),Lt(this,"y2"),Lt(this,"axesList",{}),Lt(this,"tick",{x:null,y:null,y2:null}),Lt(this,"xs",[]),Lt(this,"orient",{x:"bottom",y:"left",y2:"right",subX:"bottom"}),this.owner=t,this.setOrient()}getAxisClassName(t){return`${at.axis} ${at[`axis${ft(t)}`]}`}isHorizontal(t,s){const i=t.config.axis_rotated;return s?i:!i}isCategorized(){const{config:t,state:s}=this.owner;return t.axis_x_type.indexOf("category")>=0||s.hasRadar}isCustomX(){const{config:t}=this.owner;return!this.isTimeSeries()&&(t.data_x||nt(t.data_xs))}isTimeSeries(t="x"){return this.owner.config[`axis_${t}_type`]==="timeseries"}isLog(t="x"){return this.owner.config[`axis_${t}_type`]==="log"}isTimeSeriesY(){return this.isTimeSeries("y")}getAxisType(t="x"){let s="linear";return this.isTimeSeries(t)?s=this.owner.config.axis_x_localtime?"time":"utc":this.isLog(t)&&(s="log"),s}init(){const t=this.owner,{config:s,$el:{main:i,axis:n},state:{clip:a}}=t,o=s.axis_rotated,r=["x","y"];s.axis_y2_show&&r.push("y2"),r.forEach(l=>{const c=this.getAxisClassName(l),u=at[`axis${l.toUpperCase()}Label`];n[l]=i.append("g").attr("class",c).attr("clip-path",()=>{let d=null;return l==="x"?d=a.pathXAxis:l==="y"&&(d=a.pathYAxis),d}).attr("transform",t.getTranslate(l)).style("visibility",s[`axis_${l}_show`]?null:"hidden"),n[l].append("text").attr("class",u).attr("transform",["rotate(-90)",null][l==="x"?+!o:+o]).style("text-anchor",()=>this.textAnchorForAxisLabel(l)),this.generateAxes(l)}),s.axis_tooltip&&this.setAxisTooltip()}setOrient(){const t=this.owner,{axis_rotated:s,axis_y_inner:i,axis_y2_inner:n}=t.config;this.orient={x:s?"left":"bottom",y:s?i?"top":"bottom":i?"right":"left",y2:s?n?"bottom":"top":n?"left":"right",subX:s?"left":"bottom"}}generateAxes(t){const s=this.owner,{config:i}=s,n=[],a=i[`axis_${t}_axes`],o=i.axis_rotated;let r;t==="x"?r=o?Jt.axisLeft:Jt.axisBottom:t==="y"?r=o?Jt.axisBottom:Jt.axisLeft:t==="y2"&&(r=o?Jt.axisTop:Jt.axisRight),a.length&&a.forEach(l=>{const c=l.tick||{},u=s.scale[t].copy();l.domain&&u.domain(l.domain),n.push(r(u).ticks(c.count).tickFormat(O(c.format)?c.format.bind(s.api):d=>d).tickValues(c.values).tickSizeOuter(c.outer===!1?0:6))}),this.axesList[t]=n}updateAxes(){const t=this.owner,{config:s,$el:{main:i},$T:n}=t;Object.keys(this.axesList).forEach(a=>{const o=s[`axis_${a}_axes`],r=t.scale[a].copy(),l=r.range();this.axesList[a].forEach((c,u)=>{const d=c.scale().range();l.every((f,p)=>f===d[p])||c.scale().range(l);const h=`${this.getAxisClassName(a)}-${u+1}`;let g=i.select(`.${h.replace(/\s/,".")}`);g.empty()?g=i.append("g").attr("class",h).style("visibility",s[`axis_${a}_show`]?null:"hidden").call(c):(o[u].domain&&r.domain(o[u].domain),n(g).call(c.scale(r))),g.attr("transform",t.getTranslate(a,u+1))})})}setAxis(t,s,i,n){const a=this.owner;t!=="subX"&&(this.tick[t]=this.getTickValues(t)),this[t]=this.getAxis(t,s,i,t==="x"&&(a.scale.zoom||a.config.subchart_show||a.state.resizing)?!0:n)}getAxis(t,s,i,n,a){const o=this.owner,{config:r}=o,l=/^(x|subX)$/.test(t),c=l?"x":t,u=l&&this.isCategorized(),d=this.orient[t],h=a?0:o.getAxisTickRotate(c);let g;if(l)g=t==="subX"?o.format.subXAxisTick:o.format.xAxisTick;else{const m=r[`axis_${t}_tick_format`];O(m)&&(g=m.bind(o.api))}let f=this.tick[c];const p=qt({outerTick:i,noTransition:n,config:r,id:t,tickTextRotate:h,owner:o},l&&{isCategory:u,isInverted:r.axis_x_inverted,tickMultiline:r.axis_x_tick_multiline,tickWidth:r.axis_x_tick_width,tickTitle:u&&r.axis_x_tick_tooltip&&o.api.categories(),orgXScale:o.scale.x});l||(p.tickStepSize=r[`axis_${c}_tick_stepSize`]);const _=new ao(p).scale(l&&o.scale.zoom||s).orient(d);if(l&&this.isTimeSeries()&&f&&!O(f)){const m=mt.bind(o);f=f.map($=>m($))}else!l&&this.isTimeSeriesY()&&(_.ticks(r.axis_y_tick_time_value),f=null);f&&_.tickValues(f),_.tickFormat(g||!l&&o.isStackNormalized()&&(m=>`${m}%`)),u&&(_.tickCentered(r.axis_x_tick_centered),At(r.axis_x_tick_culling)&&(r.axis_x_tick_culling=!1));const x=r[`axis_${c}_tick_count`];return x&&_.ticks(x),_}updateXAxisTickValues(t,s){var i;const n=this.owner,{config:a}=n,o=a.axis_x_tick_fit;let r=a.axis_x_tick_count,l;return(o||r&&o)&&(l=n.mapTargetsToUniqueXs(t),this.isCategorized()&&r>l.length&&(r=l.length),l=this.generateTickValues(l,r,this.isTimeSeries())),s?s.tickValues(l):this.x&&(this.x.tickValues(l),(i=this.subX)==null||i.tickValues(l)),l}getId(t){const{config:s,scale:i}=this.owner;let n=s.data_axes[t];return(!n||!i[n])&&(n="y"),n}getXAxisTickFormat(t){const s=this.owner,{config:i,format:n}=s,a=t&&i.subchart_axis_x_tick_format||i.axis_x_tick_format,o=this.isTimeSeries(),r=this.isCategorized();let l;return a?O(a)?l=a.bind(s.api):o&&(l=c=>c?n.axisTime(a)(c):""):l=o?n.defaultAxisTime:r?s.categoryName:c=>c<0?c.toFixed(0):c,O(l)?c=>l.apply(s,r?[c,s.categoryName(c)]:[c]):l}getTickValues(t){const s=this.owner,i=s.config[`axis_${t}_tick_values`],n=s[`${t}Axis`];return(O(i)?i.call(s.api):i)||(n?n.tickValues():void 0)}getLabelOptionByAxisId(t){return this.owner.config[`axis_${t}_label`]}getLabelText(t){const s=this.getLabelOptionByAxisId(t);return V(s)?s:s?s.text:null}setLabelText(t,s){const i=this.owner,{config:n}=i,a=this.getLabelOptionByAxisId(t);V(a)?n[`axis_${t}_label`]=s:a&&(a.text=s)}getLabelPosition(t,s){const i=this.owner.config.axis_rotated,n=this.getLabelOptionByAxisId(t),a=St(n)&&n.position?n.position:s[+!i],o=r=>!!~a.indexOf(r);return{isInner:o("inner"),isOuter:o("outer"),isLeft:o("left"),isCenter:o("center"),isRight:o("right"),isTop:o("top"),isMiddle:o("middle"),isBottom:o("bottom")}}getAxisLabelPosition(t){return this.getLabelPosition(t,t==="x"?["inner-top","inner-right"]:["inner-right","inner-top"])}getLabelPositionById(t){return this.getAxisLabelPosition(t)}xForAxisLabel(t){const s=this.owner,{state:{width:i,height:n}}=s,a=this.getAxisLabelPosition(t);let o=a.isMiddle?-n/2:0;return this.isHorizontal(s,t!=="x")?o=a.isLeft?0:a.isCenter?i/2:i:a.isBottom&&(o=-n),o}dxForAxisLabel(t){const s=this.owner,i=this.getAxisLabelPosition(t);let n=i.isBottom?"0.5em":"0";return this.isHorizontal(s,t!=="x")?n=i.isLeft?"0.5em":i.isRight?"-0.5em":"0":i.isTop&&(n="-0.5em"),n}textAnchorForAxisLabel(t){const s=this.owner,i=this.getAxisLabelPosition(t);let n=i.isMiddle?"middle":"end";return this.isHorizontal(s,t!=="x")?n=i.isLeft?"start":i.isCenter?"middle":"end":i.isBottom&&(n="start"),n}dyForAxisLabel(t){const s=this.owner,{config:i}=s,n=i.axis_rotated,a=this.getAxisLabelPosition(t).isInner,o=i[`axis_${t}_tick_rotate`]?s.getHorizontalAxisHeight(t):0,{width:r}=this.getMaxTickSize(t);let l;if(t==="x"){const c=i.axis_x_height;n?l=a?"1.2em":-25-r:a?l="-0.5em":c?l=c-10:o?l=o-10:l="3em"}else l={y:["-0.5em",10,"3em","1.2em",10],y2:["1.2em",-20,"-2.2em","-0.5em",15]}[t],n?a?l=l[0]:o?l=o*(t==="y2"?-1:1)-l[1]:l=l[2]:l=a?l[3]:(l[4]+(i[`axis_${t}_inner`]?0:r+l[4]))*(t==="y"?-1:1);return l}getMaxTickSize(t,s){const i=this.owner,{config:n,state:{current:a},$el:{svg:o,chart:r}}=i,l=a.maxTickSize[t],c=`axis_${t}`,u={width:0,height:0};if(s||!n[`${c}_show`]||l.width>0&&i.filterTargetsToShow().length===0)return l;if(o){const d=/^y2?$/.test(t),h=i.filterTargetsToShow(i.data.targets),g=i.scale[t].copy().domain(i[`get${d?"Y":"X"}Domain`](h,t)),f=g.domain(),p=f[0]===f[1]&&f.every(y=>y>0),_=N(l.domain)&&l.domain[0]===l.domain[1]&&l.domain.every(y=>y>0);if(p||_)return l.size;l.domain=f,d||l.ticks.splice(0);const x=this.getAxis(t,g,!1,!1,!0),m=n[`${c}_tick_rotate`],$=n[`${c}_tick_count`];!n[`${c}_tick_values`]&&$&&x.tickValues(this.generateTickValues(f,$,d?this.isTimeSeriesY():this.isTimeSeries())),!d&&this.updateXAxisTickValues(h,x);const v=r.append("svg").style("visibility","hidden").style("position","fixed").style("top","0").style("left","0");x.create(v),v.selectAll("text").attr("transform",L(m)?`rotate(${m})`:null).each(function(y,A){const{width:S,height:R}=this.getBoundingClientRect();u.width=Math.max(u.width,S),u.height=Math.max(u.height,R),d||(l.ticks[A]=S)}),v.remove()}return Object.keys(u).forEach(d=>{u[d]>0&&(l[d]=u[d])}),l}getXAxisTickTextY2Overflow(t){const s=this.owner,{axis:i,config:n,state:{current:a,isLegendRight:o,legendItemWidth:r}}=s,l=s.getAxisTickRotate("x"),c=l>0&&l<90;if((i.isCategorized()||i.isTimeSeries())&&n.axis_x_tick_fit&&(!n.axis_x_tick_culling||At(n.axis_x_tick_culling))&&!n.axis_x_tick_multiline&&c){const u=n.axis_y2_show&&a.maxTickSize.y2.width||0,d=o&&r||0,h=a.width-s.getCurrentPaddingByDirection("left"),g=this.getXAxisTickMaxOverflow(l,h-t)-u-d,f=Math.max(0,g)+t;return Math.min(f,h/2)}return 0}getXAxisTickMaxOverflow(t,s){const i=this.owner,{axis:n,config:a,state:o}=i,r=n.isTimeSeries(),l=o.current.maxTickSize.x.ticks,c=l.length,{left:u,right:d}=o.axis.x.padding;let h=0;const g=c-(r&&a.axis_x_tick_fit?.5:0);for(let _=0;_!a[o].empty()).forEach(o=>{const r=a[o];n(r,t).attr("x",()=>this.xForAxisLabel(o)).attr("dx",()=>this.dxForAxisLabel(o)).attr("dy",()=>this.dyForAxisLabel(o)).text(()=>this.getLabelText(o))})}getPadding(t,s,i,n){const a=L(t)?t:t[s];return M(a)?this.owner.convertPixelToScale(/(bottom|top)/.test(s)?"y":"x",a,n):i}generateTickValues(t,s,i){let n=t;if(s){const a=O(s)?s():s;if(a===1)n=[t[0]];else if(a===2)n=[t[0],t[t.length-1]];else if(a>2){const o=this.isCategorized(),r=a-2,l=t[0],c=t[t.length-1],u=(c-l)/(r+1);let d;n=[l];for(let h=0;ha-o)),n}generateTransitions(t){const s=this.owner,{$el:{axis:i},$T:n}=s,[a,o,r,l]=["x","y","y2","subX"].map(c=>n(i[c],t));return{axisX:a,axisY:o,axisY2:r,axisSubX:l}}redraw(t,s,i){const n=this.owner,{config:a,$el:o}=n,r=s?"0":null;["x","y","y2","subX"].forEach(l=>{const c=this[l],u=o.axis[l];c&&u&&(!i&&!a.transition_duration&&(c.config.withoutTransition=!0),u.style("opacity",r),c.create(t[`axis${ft(l)}`]))}),this.updateAxes()}redrawAxis(t,s,i,n,a){var o,r,l;const c=this.owner,{config:u,scale:d,$el:h}=c,g=!!d.zoom;let f;!g&&this.isCategorized()&&t.length===0&&d.x.domain([0,h.axis.x.selectAll(".tick").size()]),d.x&&t.length?(!g&&c.updateXDomain(t,s.UpdateXDomain,s.UpdateOrgXDomain,s.TrimXDomain),u.axis_x_tick_values||this.updateXAxisTickValues(t)):this.x&&(this.x.tickValues([]),(o=this.subX)==null||o.tickValues([])),u.zoom_rescale&&!n&&(f=d.x.orgDomain()),["y","y2"].forEach(p=>{const _=`axis_${p}_`,x=d[p];if(x){const m=u[`${_}tick_values`],$=u[`${_}tick_count`];if(x.domain(c.getYDomain(t,p,f)),!m&&$){const b=c.axis[p],v=x.domain();b.tickValues(this.generateTickValues(v,v.every(y=>y===0)?1:$,this.isTimeSeriesY()))}}}),this.redraw(i,c.hasArcType(),a),this.updateLabels(s.Transition),(s.UpdateXDomain||s.UpdateXAxis||s.Y)&&t.length&&this.setCulling(),s.Y&&((r=d.subY)==null||r.domain(c.getYDomain(t,"y")),(l=d.subY2)==null||l.domain(c.getYDomain(t,"y2")))}setCulling(){const t=this.owner,{config:s,state:{clip:i,current:n},$el:a}=t;["subX","x","y","y2"].forEach(o=>{const r=a.axis[o],c=`axis_${o==="subX"?"x":o}_tick_culling`,u=s[c];if(r&&u){const d=r.selectAll(".tick"),h=Kt(d.data()),g=h.length,f=s[`${c}_max`],p=s[`${c}_lines`];let _;if(g){for(let x=1;x{var c,u,d;if(o[l]=(c=a[l])==null?void 0:c.append("text").classed(at[`axis${l.toUpperCase()}Tooltip`],!0).attr("filter",s.updateTextBGColor({id:l},r)),i){const h=l==="x"?"x":"y",g=l==="y"?"1.15em":l==="x"?"-0.3em":"-0.4em";(u=o[l])==null||u.attr(h,g).attr(`d${l==="x"?"y":"x"}`,l==="x"?"0.4em":"-1.3em").style("text-anchor",l==="x"?"end":null)}else{const h=l==="x"?"y":"x",g=l==="x"?"1.15em":`${l==="y"?"-":""}0.4em`;(d=o[l])==null||d.attr(h,g).attr(`d${l==="x"?"x":"y"}`,l==="x"?"-1em":"0.3em").style("text-anchor",l==="y"?"end":null)}})}}var uo={initEventRect(){this.$el.main.select(`.${D.chart}`).append("g").attr("class",Tt.eventRects).style("fill-opacity","0")},redrawEventRect(){var e;const t=this,{config:s,state:i,$el:n}=t,a=t.isMultipleX(),o=s.axis_x_inverted;if(n.eventRect)t.updateEventRect(n.eventRect,!0);else if(t.data.targets.length){const l=t.$el.main.select(`.${Tt.eventRects}`).style("cursor",s.zoom_enabled&&s.zoom_type!=="drag"?s.axis_rotated?"ns-resize":"ew-resize":null).classed(Tt.eventRectsMultiple,a).classed(Tt.eventRectsSingle,!a).selectAll(`.${Tt.eventRect}`).data([0]).enter().append("rect");t.updateEventRect(l),t.updateEventType(l),l.call(t.getDraggableSelection()),n.eventRect=l,t.state.inputType==="touch"&&!n.svg.on("touchstart.eventRect")&&!t.hasArcType()&&t.bindTouchOnEventRect(),i.rendered&&t.updateEventRect(n.eventRect,!0)}if(!a){const r=t.getMaxDataCountTarget();(!s.data_xSort||o)&&r.sort((l,c)=>o?c.x-l.x:l.x-c.x),t.updateDataIndexByX(r),t.updateXs(r),(e=t.updatePointClass)==null||e.call(t,!0),i.eventReceiver.data=r}t.updateEventRectData()},bindTouchOnEventRect(){const e=this,{config:t,state:s,$el:{eventRect:i,svg:n}}=e,a=h=>{if(e.isMultipleX())e.selectRectForMultipleXs(h);else{const g=e.getDataIndexFromEvent(s.event);e.callOverOutForTouch(g),g===-1?e.unselectRect():e.selectRectForSingle(h,g)}},o=()=>{e.unselectRect(),e.callOverOutForTouch()},r=t.interaction_inputType_touch.preventDefault,l=Pe(r)&&r||!1,c=!isNaN(r)&&r||null;let u;const d=h=>{const g=h.type,p=h.changedTouches[0][`client${t.axis_rotated?"Y":"X"}`];g==="touchstart"?l?h.preventDefault():c!==null&&(u=p):g==="touchmove"&&(l||u===!0||c!==null&&Math.abs(u-p)>=c)&&(u=!0,h.preventDefault())};i.on("touchstart",h=>{s.event=h,e.updateEventRect()}).on("touchstart.eventRect touchmove.eventRect",h=>{if(s.event=h,!i.empty()&&i.classed(Tt.eventRect)){if(s.dragging||s.flowing||e.hasArcType()||h.touches.length>1)return;d(h),a(i.node())}else o()},!0).on("touchend.eventRect",h=>{s.event=h,!i.empty()&&i.classed(Tt.eventRect)&&(e.hasArcType()||!e.toggleShape||s.cancelClick)&&s.cancelClick&&(s.cancelClick=!1)},!0),n.on("touchstart",h=>{s.event=h;const{target:g}=h;g&&g!==i.node()&&o()})},updateEventRect(e,t=!1){const s=this,{state:i,$el:n}=s,{eventReceiver:a,width:o,height:r,rendered:l,resizing:c}=i,u=e||n.eventRect,d=()=>{if(a){const h=gs(n.chart.node());a.rect=u.node().getBoundingClientRect().toJSON(),a.rect.top+=h.y,a.rect.left+=h.x}};(!l||c||t)&&(u.attr("x",0).attr("y",0).attr("width",o).attr("height",r),(!l||t)&&u.classed(Tt.eventRect,!0)),d()},updateEventType(e){const t=this,s=Pe(e),i=s?t.$el.eventRect:e,n=s?e!==(i==null?void 0:i.datum().multipleX):!1;i&&(n&&(i==null||i.on("mouseover mousemove mouseout click",null)),t.isMultipleX()?t.generateEventRectsForMultipleXs(i):t.generateEventRectsForSingleX(i))},updateEventRectData(){const e=this,{config:t,scale:s,state:i}=e,n=s.zoom||s.x,a=t.axis_rotated,o=e.isMultipleX();let r,l,c,u;if(e.updateEventType(o),o)r=0,l=0,c=i.width,u=i.height;else{let g,f;if(e.axis.isCategorized())g=e.getEventRectWidth(),f=p=>n(p.x)-g/2;else{const p=({index:_})=>({prev:e.getPrevX(_),next:e.getNextX(_)});g=_=>{const x=p(_),m=n.domain();let $;return x.prev===null&&x.next===null?$=a?i.height:i.width:x.prev===null?$=(n(x.next)+n(_.x))/2:x.next===null?$=n(m[1])-(n(x.prev)+n(_.x))/2:(Object.keys(x).forEach((b,v)=>{var y;x[b]=(y=x[b])!=null?y:m[v]}),$=Math.max(0,(n(x.next)-n(x.prev))/2)),$},f=_=>{const x=p(_);let m;return x.prev===null&&x.next===null?m=0:x.prev===null?m=n(n.domain()[0]):m=(n(_.x)+n(x.prev))/2,m}}r=a?0:f,l=a?f:0,c=a?i.width:g,u=a?g:i.height}const{eventReceiver:d}=i,h=(g,f)=>O(g)?g(f):g;d.coords.splice(d.data.length),d.data.forEach((g,f)=>{d.coords[f]={x:h(r,g),y:h(l,g),w:h(c,g),h:h(u,g)}})},selectRectForSingle(e,t){var s,i;const n=this,{config:a,$el:{main:o,circle:r}}=n,l=a.data_selection_enabled,c=a.data_selection_grouped,u=a.data_selection_isselectable,d=a.tooltip_grouped,h=n.getAllValuesOnIndex(t);if(d&&(n.showTooltip(h,e),(s=n.showGridFocus)==null||s.call(n,h),!l||c))return;!r&&o.selectAll(`.${D.EXPANDED}:not(.${st.shape}-${t})`).classed(D.EXPANDED,!1);const g=o.selectAll(`.${st.shape}-${t}`).classed(D.EXPANDED,!0).style("cursor",u?"pointer":null).filter(function(f){return n.isWithinShape(this,f)});g.empty()&&!d&&a.interaction_onout&&((i=n.hideGridFocus)==null||i.call(n),n.hideTooltip(),!c&&n.setExpand(t)),g.call(f=>{var p,_;const x=f.data();l&&(c||u!=null&&u.bind(n.api)(x))&&(e.style.cursor="pointer"),d||(n.showTooltip(x,e),(p=n.showGridFocus)==null||p.call(n,x),(_=n.unexpandCircles)==null||_.call(n),f.each(m=>n.setExpand(t,m.id)))})},selectRectForMultipleXs(e,t=!0){const s=this,{config:i,state:n}=s,a=s.filterTargetsToShow(s.data.targets);if(n.dragging||s.hasArcType(a))return;const o=yt(n.event,e),r=s.findClosestFromTargets(a,o);if(t&&n.mouseover&&(!r||r.id!==n.mouseover.id)&&(i.data_onout.call(s.api,n.mouseover),n.mouseover=void 0),!r){s.unselectRect();return}const c=(s.isBubbleType(r)||s.isScatterType(r)||!i.tooltip_grouped?[r]:s.filterByX(a,r.x)).map(d=>s.addName(d));s.showTooltip(c,e),s.setExpand(r.index,r.id,!0),s.showGridFocus(c);const u=s.dist(r,o);(s.isBarType(r.id)||u{const l=r?t.getDataIndexFromEvent(r):n.currentIdx;return l>-1?n.data[l]:null};a.on("mouseover",r=>{i.event=r,t.updateEventRect(),Object.values(t.$el.axisTooltip).forEach(l=>l==null?void 0:l.style("display",null))}).on("mousemove",function(r){const l=o(r);if(i.event=r,!l)return;let{index:c}=l;const u=s.line_step_type;if(s.line_step_tooltipMatch&&t.hasType("step")&&/^step\-(before|after)$/.test(u)){const h=t.scale.zoom||t.scale.x,g=t.axis.xs[c],f=h.invert(yt(r,this)[0]);u==="step-after"&&fg&&(c+=1)}t.showAxisGridFocus();const d=s.tooltip_grouped&&c===n.currentIdx;if(i.dragging||i.flowing||t.hasArcType()||d){s.tooltip_show&&d&&t.setTooltipPosition();return}c!==n.currentIdx&&(t.setOverOut(!1,n.currentIdx),n.currentIdx=c),c===-1?t.unselectRect():t.selectRectForSingle(this,c),t.setOverOut(c!==-1,c)}).on("mouseout",r=>{i.event=r,!(!s||t.hasArcType()||n.currentIdx===-1||!s.interaction_onout)&&(t.hideAxisGridFocus(),t.unselectRect(),t.setOverOut(!1,n.currentIdx),n.currentIdx=-1)})}return a},clickHandlerForSingleX(e,t){const s=t,{config:i,state:n,$el:{main:a}}=s;if(!e||s.hasArcType()||n.cancelClick){n.cancelClick&&(n.cancelClick=!1);return}const{index:o}=e;a.selectAll(`.${st.shape}-${o}`).each(function(r){var l;(i.data_selection_grouped||s.isWithinShape(this,r))&&((l=s.toggleShape)==null||l.call(s,this,r,o),i.data_onclick.bind(s.api)(r,this))})},generateEventRectsForMultipleXs(e){const t=this,{config:s,state:i}=t;e.on("click",function(n){i.event=n,t.clickHandlerForMultipleXS.bind(this)(t)}).datum({multipleX:!0}),i.inputType==="mouse"&&e.on("mouseover mousemove",function(n){i.event=n,t.selectRectForMultipleXs(this)}).on("mouseout",n=>{i.event=n,!(!t.config||t.hasArcType()||!s.interaction_onout)&&t.unselectRect()})},clickHandlerForMultipleXS(e){const t=e,{config:s,state:i}=t,n=t.filterTargetsToShow(t.data.targets);if(t.hasArcType(n))return;const a=yt(i.event,this),o=t.findClosestFromTargets(n,a),r=t.getPointSensitivity(o);o&&(t.isBarType(o.id)||t.dist(o,a){r.values.splice(0,a)}),t.updateXGrid&&t.updateXGrid(!0);const o={};["axis.x","grid.x","gridLines.x","region.list","text","bar","line","area","circle"].forEach(r=>{const l=r.split(".");let c=n[l[0]];c&&l.length>1&&(c=c[l[1]]),c!=null&&c.size()&&(o[r]=c)}),t.hideGridFocus(),t.setFlowList(o,e)}},setFlowList(e,t){const s=this,{flow:i,targets:n}=t,{duration:a=t.duration,index:o,length:r,orgDataCount:l}=i,c=s.getFlowTransform(n,l,o,r),u=ys();let d;u.add(Object.keys(e).map(h=>(d=e[h].transition().ease(ho.easeLinear).duration(a),h==="axis.x"?d=d.call(g=>{s.axis.x.setTransition(g).create(g)}):h==="region.list"?d=d.filter(s.isRegionOnX).attr("transform",c):d=d.attr("transform",c),d))),d.call(u,()=>{s.cleanUpFlow(e,t)})},cleanUpFlow(e,t){const s=this,{config:i,state:n,$el:{svg:a}}=s,o=i.axis_rotated,{flow:r,shape:l,xv:c}=t,{cx:u,cy:d,xForText:h,yForText:g}=l.pos,{done:f=()=>{},length:p}=r;p&&(["circle","text","shape","eventRect"].forEach(_=>{const x=[];for(let m=0;m{const x=e[_];if(_!=="axis.x"&&x.attr("transform",null),_==="grid.x")x.attr(n.xgridAttr);else if(_==="gridLines.x")x.attr("x1",o?0:c).attr("x2",o?n.width:c),x.select("text").attr("x",o?n.width:0).attr("y",c);else if(/^(area|bar|line)$/.test(_))x.attr("d",l.type[_]);else if(_==="text")x.attr("x",h).attr("y",g).style("fill-opacity",s.opacityForText.bind(s));else if(_==="circle")if(s.isCirclePoint())x.attr("cx",u).attr("cy",d);else{const m=b=>u(b)-i.point_r,$=b=>d(b)-i.point_r;x.attr("x",m).attr("y",$)}else _==="region.list"&&x.select("rect").filter(s.isRegionOnX).attr("x",s.regionX.bind(s)).attr("width",s.regionWidth.bind(s))}),i.interaction_enabled&&s.redrawEventRect(),f.call(s.api),n.flowing=!1},getFlowTransform(e,t,s,i){const n=this,{data:a,scale:{x:o}}=n,r=a.targets[0].values;let l=n.getValueOnIndex(r,s),c=n.getValueOnIndex(r,s+i),u;const d=o.domain(),h=n.updateXDomain(e,!0,!0);t?t===1||(l==null?void 0:l.x)===(c==null?void 0:c.x)?u=o(d[0])-o(h[0]):u=n.axis.isTimeSeries()?o(d[0])-o(h[0]):o((l==null?void 0:l.x)||0)-o(c.x):r.length!==1?u=o(d[0])-o(h[0]):n.axis.isTimeSeries()?(l=n.getValueOnIndex(r,0),c=n.getValueOnIndex(r,r.length-1),u=o(l.x)-o(c.x)):u=Nt(h)/2;const g=Nt(d)/Nt(h);return`translate(${u},0) scale(${g},1)`}},fo={initClip(){const e=this,{clip:t,datetimeId:s}=e.state;t.id=`${s}-clip`,t.idXAxis=`${t.id}-xaxis`,t.idYAxis=`${t.id}-yaxis`,t.idGrid=`${t.id}-grid`,t.path=e.getClipPath(t.id),t.pathXAxis=e.getClipPath(t.idXAxis),t.pathYAxis=e.getClipPath(t.idYAxis),t.pathGrid=e.getClipPath(t.idGrid)},getClipPath(e){const t=this,{config:s}=t;return!s.clipPath&&/-clip$/.test(e)||!s.axis_x_clipPath&&/-clip-xaxis$/.test(e)||!s.axis_y_clipPath&&/-clip-yaxis$/.test(e)?null:`url(#${e})`},appendClip(e,t){t&&e.append("clipPath").attr("id",t).append("rect")},setXAxisClipPath(e){const t=this,{config:s,state:{margin:i,width:n,height:a}}=t,o=s.axis_rotated,r=Math.max(30,i.left)-(o?0:20),l=(o?i.top+a+10:i.bottom)+20,c=o?-(1+r):-(r-1),u=-15,d=o?i.left+20:n+10+r;e.attr("x",c).attr("y",u).attr("width",d).attr("height",l)},setYAxisClipPath(e){const t=this,{config:s,state:{margin:i,width:n,height:a}}=t,o=s.axis_rotated,r=Math.max(30,i.left)-(o?20:0),l=s.axis_y_inner,c=l&&!o?s.axis_y_label.text?-20:-1:o?-(1+r):-(r-1),u=-(o?20:i.top),d=(o?n+15+r:i.left+20)+(l?20:0),h=(o?i.bottom+10:i.top+a)+10;e.attr("x",c).attr("y",u).attr("width",d).attr("height",h)},updateXAxisTickClip(){const e=this,{config:t,state:{clip:s,xAxisHeight:i},$el:{defs:n}}=e,a=e.getHorizontalAxisHeight("x");if(n&&!s.idXAxisTickTexts){const o=`${s.id}-xaxisticktexts`;e.appendClip(n,o),s.pathXAxisTickTexts=e.getClipPath(s.idXAxisTickTexts),s.idXAxisTickTexts=o}!t.axis_x_tick_multiline&&e.getAxisTickRotate("x")&&a!==i&&(e.setXAxisTickClipWidth(),e.setXAxisTickTextClipPathWidth()),e.state.xAxisHeight=a},setXAxisTickClipWidth(){const e=this,{config:t,state:{current:{maxTickSize:s}}}=e,i=e.getAxisTickRotate("x");if(!t.axis_x_tick_multiline&&i){const n=Math.sin(Math.PI/180*Math.abs(i));s.x.clipPath=(e.getHorizontalAxisHeight("x")-20)/n}else s.x.clipPath=null},setXAxisTickTextClipPathWidth(){const e=this,{state:{clip:t,current:s},$el:{svg:i}}=e;i&&i.select(`#${t.idXAxisTickTexts} rect`).attr("width",s.maxTickSize.x.clipPath).attr("height",30)}};const po=e=>M(e.position)||"end",xo=e=>e.position==="start"?4:e.position==="middle"?0:-4;function Zs(e,t,s){return i=>{let n=e?0:t;return i.position==="start"?n=e?-s:0:i.position==="middle"&&(n=(e?-s:t)/2),n}}function qs(e,t){t==="grid"&&e.each(function(){const s=(0,w.select)(this);["x1","x2","y1","y2"].forEach(i=>s.attr(i,+s.attr(i)))})}var _o={hasGrid(){const{config:e}=this;return["x","y"].some(t=>e[`grid_${t}_show`]||e[`grid_${t}_lines`].length)},initGrid(){const e=this;e.hasGrid()&&e.initGridLines(),e.initFocusGrid()},initGridLines(){const e=this,{config:t,state:{clip:s},$el:i}=e;(t.grid_x_lines.length||t.grid_y_lines.length)&&(i.gridLines.main=i.main.insert("g",`.${D.chart}${t.grid_lines_front?" + *":""}`).attr("clip-path",s.pathGrid).attr("class",`${et.grid} ${et.gridLines}`),i.gridLines.main.append("g").attr("class",et.xgridLines),i.gridLines.main.append("g").attr("class",et.ygridLines),i.gridLines.x=(0,w.selectAll)([]))},updateXGrid(e){const t=this,{config:s,scale:i,state:n,$el:{main:a,grid:o}}=t,r=s.axis_rotated,l=t.generateGridData(s.grid_x_type,i.x),c=t.axis.isCategorized()?t.axis.x.tickOffset():0,u=d=>(i.zoom||i.x)(d)+c*(r?-1:1);n.xgridAttr=r?{x1:0,x2:n.width,y1:u,y2:u}:{x1:u,x2:u,y1:0,y2:n.height},o.x=a.select(`.${et.xgrids}`).selectAll(`.${et.xgrid}`).data(l),o.x.exit().remove(),o.x=o.x.enter().append("line").attr("class",et.xgrid).merge(o.x),e||o.x.each(function(){const d=(0,w.select)(this);Object.keys(n.xgridAttr).forEach(h=>{d.attr(h,n.xgridAttr[h]).style("opacity",()=>d.attr(r?"y1":"x1")===(r?n.height:0)?"0":null)})})},updateYGrid(){const e=this,{axis:t,config:s,scale:i,state:n,$el:{grid:a,main:o}}=e,r=s.axis_rotated,l=u=>i.y(u),c=t.y.getGeneratedTicks(s.grid_y_ticks)||e.scale.y.ticks(s.grid_y_ticks);a.y=o.select(`.${et.ygrids}`).selectAll(`.${et.ygrid}`).data(c),a.y.exit().remove(),a.y=a.y.enter().append("line").attr("class",et.ygrid).merge(a.y),a.y.attr("x1",r?l:0).attr("x2",r?l:n.width).attr("y1",r?0:l).attr("y2",r?n.height:l),qs(a.y,"grid")},updateGrid(){const e=this,{$el:{grid:t,gridLines:s}}=e;!s.main&&e.initGridLines(),t.main.style("visibility",e.hasArcType()?"hidden":null),e.hideGridFocus(),e.updateGridLines("x"),e.updateGridLines("y")},updateGridLines(e){const t=this,{config:s,$el:{gridLines:i,main:n},$T:a}=t,o=s.axis_rotated,r=e==="x";s[`grid_${e}_show`]&&t[`update${e.toUpperCase()}Grid`]();let l=n.select(`.${et[`${e}gridLines`]}`).selectAll(`.${et[`${e}gridLine`]}`).data(s[`grid_${e}_lines`]);a(l.exit()).style("opacity","0").remove();const c=l.enter().append("g");c.append("line").style("opacity","0"),l=c.merge(l),l.each(function(u){const d=(0,w.select)(this);d.select("text").empty()&&u.text&&d.append("text").style("opacity","0")}),a(l.attr("class",u=>`${et[`${e}gridLine`]} ${u.class||""}`.trim()).select("text").attr("text-anchor",po).attr("transform",()=>r?o?null:"rotate(-90)":o?"rotate(-90)":null).attr("dx",xo).attr("dy",-5)).text(function(u){var d;return(d=u.text)!=null?d:this.remove()}),i[e]=l},redrawGrid(e){const t=this,{config:{axis_rotated:s},state:{width:i,height:n},$el:{gridLines:a},$T:o}=t,r=t.xv.bind(t),l=t.yv.bind(t);let c=a.x.select("line"),u=a.x.select("text"),d=a.y.select("line"),h=a.y.select("text");return c=o(c,e).attr("x1",s?0:r).attr("x2",s?i:r).attr("y1",s?r:0).attr("y2",s?r:n),u=o(u,e).attr("x",Zs(!s,i,n)).attr("y",r),d=o(d,e).attr("x1",s?l:0).attr("x2",s?l:i).attr("y1",s?0:l).attr("y2",s?n:l),h=o(h,e).attr("x",Zs(s,i,n)).attr("y",l),[c.style("opacity",null),u.style("opacity",null),d.style("opacity",null),h.style("opacity",null)]},initFocusGrid(){const e=this,{config:t,state:{clip:s},$el:i}=e,n=t.grid_front,a=`.${n&&i.gridLines.main?et.gridLines:D.chart}${n?" + *":""}`,o=i.main.insert("g",a).attr("clip-path",s.pathGrid).attr("class",et.grid);if(i.grid.main=o,t.grid_x_show&&o.append("g").attr("class",et.xgrids),t.grid_y_show&&o.append("g").attr("class",et.ygrids),t.axis_tooltip){const r=o.append("g").attr("class","bb-axis-tooltip");r.append("line").attr("class","bb-axis-tooltip-x"),r.append("line").attr("class","bb-axis-tooltip-y")}t.interaction_enabled&&t.grid_focus_show&&!t.axis_tooltip&&(o.append("g").attr("class",q.xgridFocus).append("line").attr("class",q.xgridFocus),t.grid_focus_y&&!t.tooltip_grouped&&o.append("g").attr("class",q.ygridFocus).append("line").attr("class",q.ygridFocus))},showAxisGridFocus(){var e,t;const s=this,{config:i,format:n,state:{event:a,width:o,height:r}}=s,l=i.axis_rotated,[c,u]=yt(a,(e=s.$el.eventRect)==null?void 0:e.node()),d={x:c,y:u};for(const[h,g]of Object.entries(s.$el.axisTooltip)){const f=h==="x"&&!l||h!=="x"&&l?"x":"y",p=d[f];let _=(t=s.scale[h])==null?void 0:t.invert(p);_&&(_=h==="x"&&s.axis.isTimeSeries()?n.xAxisTick(_):_==null?void 0:_.toFixed(2),g==null||g.attr(f,p).text(_))}s.$el.main.selectAll("line.bb-axis-tooltip-x, line.bb-axis-tooltip-y").style("visibility",null).each(function(h,g){const f=(0,w.select)(this);g===0?f.attr("x1",c).attr("x2",c).attr("y1",g?0:r).attr("y2",g?r:0):f.attr("x1",g?0:o).attr("x2",g?o:0).attr("y1",u).attr("y2",u)})},hideAxisGridFocus(){const e=this;e.$el.main.selectAll("line.bb-axis-tooltip-x, line.bb-axis-tooltip-y").style("visibility","hidden"),Object.values(e.$el.axisTooltip).forEach(t=>t==null?void 0:t.style("display","none"))},showGridFocus(e){var t;const s=this,{config:i,state:{width:n,height:a}}=s,o=i.axis_rotated,r=s.$el.main.selectAll(`line.${q.xgridFocus}, line.${q.ygridFocus}`),l=(e||[r.datum()]).filter(d=>d&&M(s.getBaseValue(d)));if(!i.tooltip_show||l.length===0||!i.axis_x_forceAsSingle&&s.hasType("bubble")||s.hasArcType())return;const c=i.grid_focus_edge&&!i.tooltip_grouped,u=s.xx.bind(s);r.style("visibility",null).data(l.concat(l)).each(function(d){const h=(0,w.select)(this),g={x:u(d),y:s.getYScaleById(d.id)(d.value)};let f;if(h.classed(q.xgridFocus))f=o?[null,g.x,c?g.y:n,g.x]:[g.x,c?g.y:null,g.x,a];else{const p=s.axis.getId(d.id)==="y2";f=o?[g.y,c&&!p?g.x:null,g.y,c&&p?g.x:a]:[c&&p?g.x:null,g.y,c&&!p?g.x:n,g.y]}["x1","y1","x2","y2"].forEach((p,_)=>h.attr(p,f[_]))}),qs(r,"grid"),(t=s.showCircleFocus)==null||t.call(s,e)},hideGridFocus(){var e;const t=this,{state:{inputType:s,resizing:i},$el:{main:n}}=t;(s==="mouse"||!i)&&(n.selectAll(`line.${q.xgridFocus}, line.${q.ygridFocus}`).style("visibility","hidden"),(e=t.hideCircleFocus)==null||e.call(t))},updateGridFocus(){var e;const t=this,{state:{inputType:s,width:i,height:n,resizing:a},$el:{grid:o}}=t,r=o.main.select(`line.${q.xgridFocus}`);if(s==="touch")r.empty()?a&&((e=t.showCircleFocus)==null||e.call(t)):t.showGridFocus();else{const l=t.config.axis_rotated;r.attr("x1",l?0:-10).attr("x2",l?i:-10).attr("y1",l?-10:0).attr("y2",l?-10:n)}return!0},generateGridData(e,t){const s=this,i=s.$el.main.select(`.${at.axisX}`).selectAll(".tick").size();let n=[];if(e==="year"){const a=s.getXDomain(),[o,r]=a.map(l=>l.getFullYear());for(let l=o;l<=r;l++)n.push(new Date(`${l}-01-01 00:00:00`))}else n=t.ticks(10),n.length>i&&(n=n.filter(a=>String(a).indexOf(".")<0));return n},getGridFilterToRemove(e){return e?t=>{let s=!1;return(N(e)?e.concat():[e]).forEach(i=>{("value"in i&&t.value===i.value||"class"in i&&t.class===i.class)&&(s=!0)}),s}:()=>!0},removeGridLines(e,t){const s=this,{config:i,$T:n}=s,a=s.getGridFilterToRemove(e),o=u=>!a(u),r=t?et.xgridLines:et.ygridLines,l=t?et.xgridLine:et.ygridLine;n(s.$el.main.select(`.${r}`).selectAll(`.${l}`).filter(a)).style("opacity","0").remove();const c=`grid_${t?"x":"y"}_lines`;i[c]=i[c].filter(o)}},mo={initRegion(){const e=this,{$el:t}=e;t.region.main=t.main.insert("g",":first-child").attr("clip-path",e.state.clip.path).attr("class",le.regions)},updateRegion(){const e=this,{config:t,$el:{region:s},$T:i}=e;s.main||e.initRegion(),s.main.style("visibility",e.hasArcType()?"hidden":null);const n=s.main.selectAll(`.${le.region}`).data(t.regions);i(n.exit()).style("opacity","0").remove();const a=n.enter().append("g");a.append("rect").style("fill-opacity","0"),s.list=a.merge(n).attr("class",e.classRegion.bind(e)),s.list.each(function(o){var r;(0,w.select)(this).select("text").empty()&&((r=o.label)!=null&&r.text)&&(0,w.select)(this).append("text").style("opacity","0")})},redrawRegion(e){const t=this,{$el:{region:s},$T:i}=t;let n=s.list.select("rect"),a=s.list.selectAll("text");return n=i(n,e).attr("x",t.regionX.bind(t)).attr("y",t.regionY.bind(t)).attr("width",t.regionWidth.bind(t)).attr("height",t.regionHeight.bind(t)),a=i(a,e).attr("transform",o=>{var r;const{x:l=0,y:c=0,rotated:u=!1}=(r=o.label)!=null?r:{};return`translate(${t.regionX.bind(t)(o)+l}, ${t.regionY.bind(t)(o)+c})${u?" rotate(-90)":""}`}).attr("text-anchor",o=>{var r;return(r=o.label)!=null&&r.rotated?"end":null}).attr("dy","1em").style("fill",o=>{var r,l;return(l=(r=o.label)==null?void 0:r.color)!=null?l:null}).text(o=>{var r;return(r=o.label)==null?void 0:r.text}),[n.style("fill-opacity",o=>M(o.opacity)?o.opacity:null).on("end",function(){(0,w.select)(this.parentNode).selectAll("rect:not([x])").remove()}),a.style("opacity",null)]},getRegionXY(e,t){const s=this,{config:i,scale:n}=s,a=i.axis_rotated,o=e==="x";let r="start",l,c=0;return t.axis==="y"||t.axis==="y2"?(o||(r="end"),(o?a:!a)&&r in t&&(l=n[t.axis],c=l(t[r]))):(o?!a:a)&&r in t&&(l=n.zoom||n.x,c=l(s.axis.isTimeSeries()?mt.call(s,t[r]):t[r])),c},regionX(e){return this.getRegionXY("x",e)},regionY(e){return this.getRegionXY("y",e)},getRegionSize(e,t){const s=this,{config:i,scale:n,state:a}=s,o=i.axis_rotated,r=e==="width",l=s[r?"regionX":"regionY"](t);let c,u="end",d=a[e];return t.axis==="y"||t.axis==="y2"?(r||(u="start"),(r?o:!o)&&u in t&&(c=n[t.axis],d=c(t[u]))):(r?!o:o)&&u in t&&(c=n.zoom||n.x,d=c(s.axis.isTimeSeries()?mt.call(s,t[u]):t[u])),d0&&(!n.axis_x_tick_autorotate||i.needToRotateXAxisTickTexts());return(n.axis_x_tick_multiline||_)&&p.height>g&&(f+=p.height-g),f+(i.axis.getLabelPositionById(e).isInner?0:10)+(e==="y2"&&!c?-10:0)},getEventRectWidth(){const e=this,{config:t,axis:s}=e,i=t.axis_x_inverted,n=s.x.tickInterval();return Math.max(0,i?Math.abs(n):n)},getAxisTickRotate(e){const t=this,{axis:s,config:i,state:n,$el:a}=t;let o=i[`axis_${e}_tick_rotate`];if(e==="x"){const r=s.isCategorized()||s.isTimeSeries();if(i.axis_x_tick_fit&&r){const l=i.axis_x_tick_count,c=n.current.maxTickSize.x.ticks.length;let u=0;if(l?u=l>c?c:l:c&&(u=c),u!==n.axis.x.tickCount){const{targets:d}=t.data;n.axis.x.padding=t.getXDomainPadding([t.getXDomainMinMax(d,"min"),t.getXDomainMinMax(d,"max")],u)}n.axis.x.tickCount=u}a.svg&&i.axis_x_tick_autorotate&&i.axis_x_tick_fit&&!i.axis_x_tick_multiline&&!i.axis_x_tick_culling&&r&&(o=t.needToRotateXAxisTickTexts()?i.axis_x_tick_rotate:0)}return o},needToRotateXAxisTickTexts(){const e=this,{state:{axis:t,current:s,isLegendRight:i,legendItemWidth:n}}=e,a=i&&n,o=s.width-a-e.getCurrentPaddingByDirection("left")-e.getCurrentPaddingByDirection("right"),r=t.x.tickCount+t.x.padding.left+t.x.padding.right,{width:l}=e.axis.getMaxTickSize("x"),c=r?o/r:0;return l>c}},yo={axis_x_clipPath:!0,axis_x_show:!0,axis_x_forceAsSingle:!1,axis_x_type:"indexed",axis_x_localtime:!0,axis_x_categories:[],axis_x_tick_centered:!1,axis_x_tick_format:void 0,axis_x_tick_culling:{},axis_x_tick_culling_max:10,axis_x_tick_culling_lines:!0,axis_x_tick_count:void 0,axis_x_tick_show:!0,axis_x_tick_text_show:!0,axis_x_tick_text_inner:!1,axis_x_tick_text_position:{x:0,y:0},axis_x_tick_fit:!0,axis_x_tick_values:null,axis_x_tick_autorotate:!1,axis_x_tick_rotate:0,axis_x_tick_outer:!0,axis_x_tick_multiline:!0,axis_x_tick_width:null,axis_x_tick_tooltip:!1,axis_x_max:void 0,axis_x_min:void 0,axis_x_inverted:!1,axis_x_padding:{},axis_x_height:void 0,axis_x_extent:void 0,axis_x_label:{},axis_x_axes:[]},bo={axis_y_clipPath:!0,axis_y_show:!0,axis_y_type:"indexed",axis_y_max:void 0,axis_y_min:void 0,axis_y_inverted:!1,axis_y_center:void 0,axis_y_inner:!1,axis_y_label:{},axis_y_tick_format:void 0,axis_y_tick_culling:!1,axis_y_tick_culling_max:5,axis_y_tick_culling_lines:!0,axis_y_tick_outer:!0,axis_y_tick_values:null,axis_y_tick_rotate:0,axis_y_tick_count:void 0,axis_y_tick_show:!0,axis_y_tick_stepSize:null,axis_y_tick_text_show:!0,axis_y_tick_text_position:{x:0,y:0},axis_y_tick_time_value:void 0,axis_y_padding:{},axis_y_default:void 0,axis_y_axes:[]},vo={axis_y2_show:!1,axis_y2_type:"indexed",axis_y2_max:void 0,axis_y2_min:void 0,axis_y2_inverted:!1,axis_y2_center:void 0,axis_y2_inner:!1,axis_y2_label:{},axis_y2_tick_format:void 0,axis_y2_tick_culling:!1,axis_y2_tick_culling_max:5,axis_y2_tick_culling_lines:!0,axis_y2_tick_outer:!0,axis_y2_tick_values:null,axis_y2_tick_rotate:0,axis_y2_tick_count:void 0,axis_y2_tick_show:!0,axis_y2_tick_stepSize:null,axis_y2_tick_text_show:!0,axis_y2_tick_text_position:{x:0,y:0},axis_y2_padding:{},axis_y2_default:void 0,axis_y2_axes:[]},To=Object.defineProperty,Ks=Object.getOwnPropertySymbols,Ao=Object.prototype.hasOwnProperty,wo=Object.prototype.propertyIsEnumerable,Js=(e,t,s)=>t in e?To(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Ue=(e,t)=>{for(var s in t||(t={}))Ao.call(t,s)&&Js(e,s,t[s]);if(Ks)for(var s of Ks(t))wo.call(t,s)&&Js(e,s,t[s]);return e},So=Ue(Ue(Ue({axis_evalTextSize:!0,axis_rotated:!1,axis_tooltip:!1},yo),bo),vo),Ro={grid_x_show:!1,grid_x_type:"tick",grid_x_lines:[],grid_y_show:!1,grid_y_lines:[],grid_y_ticks:void 0,grid_focus_edge:!1,grid_focus_show:!0,grid_focus_y:!1,grid_front:!1,grid_lines_front:!0},Co={data_xs:{},data_xFormat:"%Y-%m-%d",data_xLocaltime:!0,data_xSort:!0,data_axes:{},data_regions:{},data_stack_normalize:!1};const Eo=[Ua,Za,qa,Ka,Ja,Qa,to],Qs={axis:lo,clip:fo,eventrect:uo,flow:go,grid:_o,region:mo,sizeAxis:$o},ti={optDataAxis:Co,optAxis:So,optGrid:Ro};var ei=U(13),ko=Object.defineProperty,Lo=Object.defineProperties,Po=Object.getOwnPropertyDescriptors,si=Object.getOwnPropertySymbols,Oo=Object.prototype.hasOwnProperty,Io=Object.prototype.propertyIsEnumerable,ii=(e,t,s)=>t in e?ko(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Do=(e,t)=>{for(var s in t||(t={}))Oo.call(t,s)&&ii(e,s,t[s]);if(si)for(var s of si(t))Io.call(t,s)&&ii(e,s,t[s]);return e},zo=(e,t)=>Lo(e,Po(t));function ni(e=0){const t=this,{config:s,state:i}=t,n=t.hasMultiArcGauge(),a=i.gaugeArcWidth/t.filterTargetsToShow(t.data.targets).length,o=e?Math.min(i.radiusExpanded*e-i.radius,a*.8-(1-e)*100):0;return{inner(r){const{innerRadius:l}=t.getRadius(r);return n?i.radius-a*(r.index+1):L(l)?l:0},outer(r){const{outerRadius:l}=t.getRadius(r);let c;if(n)c=i.radius-a*r.index+o;else if(t.hasType("polar")&&!e)c=t.getPolarOuterRadius(r,l);else if(c=l,e){let{radiusExpanded:u}=i;i.radius!==l&&(u-=Math.abs(i.radius-l)),c=u*e}return c},corner(r,l){const{arc_cornerRadius_ratio:c=0,arc_cornerRadius:u=0}=s,{data:{id:d},value:h}=r;let g=0;return c?g=c*l:g=L(u)?u:u.call(t.api,d,h,l),g}}}function Ze(e){return function(t){const s=({startAngle:n=0,endAngle:a=0,padAngle:o=0})=>({startAngle:n,endAngle:a,padAngle:o}),i=(0,ei.interpolate)(s(this._current),s(t));return this._current=t,function(n){const a=i(n),{data:o,index:r,value:l}=t;return e(zo(Do({},a),{data:o,index:r,value:l}))}}}var Fo={initPie(){const e=this,{config:t}=e,s=t.data_type,i=t[`${s}_padding`],n=t[`${s}_startingAngle`]||0,a=(i?i*.01:t[`${s}_padAngle`])||0;e.pie=(0,tt.pie)().startAngle(n).endAngle(n+2*Math.PI).padAngle(a).value(o=>{var r,l;return(l=(r=o.values)==null?void 0:r.reduce((c,u)=>c+u.value,0))!=null?l:o}).sort(e.getSortCompareFn.bind(e)(!0))},updateRadius(){const e=this,{config:t,state:s}=e,i=t.data_type,n=t[`${i}_padding`],a=t.gauge_width||t.donut_width,o=e.filterTargetsToShow(e.data.targets).length*t.gauge_arcs_minWidth;s.radiusExpanded=Math.min(s.arcWidth,s.arcHeight)/2*(e.hasMultiArcGauge()&&t.gauge_label_show?.85:1),s.radius=s.radiusExpanded*.95,s.innerRadiusRatio=a?(s.radius-a)/s.radius:.6,s.gaugeArcWidth=a||(o<=s.radius-s.innerRadius?s.radius-s.innerRadius:o<=s.radius?o:s.radius);const r=t.pie_innerRadius||(n?n*(s.innerRadiusRatio+.1):0);s.outerRadius=t.pie_outerRadius,s.innerRadius=e.hasType("donut")||e.hasType("gauge")?s.radius*s.innerRadiusRatio:r},getRadius(e){const t=this,s=e==null?void 0:e.data;let{innerRadius:i,outerRadius:n}=t.state;return!L(i)&&s&&(i=i[s.id]||0),X(n)&&s&&s.id in n?n=n[s.id]:L(n)||(n=t.state.radius),{innerRadius:i,outerRadius:n}},updateArc(){const e=this;e.updateRadius(),e.svgArc=e.getSvgArc(),e.svgArcExpanded=e.getSvgArcExpanded()},getArcLength(){const e=this,{config:t}=e,s=t.gauge_arcLength*3.6;let i=2*(s/360);return s<-360?i=-2:s>360&&(i=2),i*Math.PI},getStartingAngle(){const e=this,{config:t}=e,s=t.data_type,i=e.hasType("gauge")?t.gauge_fullCircle:!1,n=-1*Math.PI/2,a=Math.PI/2;let o=t[`${s}_startingAngle`]||0;return!i&&o<=n?o=n:!i&&o>=a?o=a:(o>Math.PI||o<-1*Math.PI)&&(o=Math.PI),o},updateAngle(e,t=!1){var s;const i=this,{config:n,state:a}=i,o=t&&i.hasType("gauge");let{pie:r}=i,l=e,c=!1;if(!n)return null;const u=i.getStartingAngle(),d=n.gauge_fullCircle||t&&!o?i.getArcLength():u*-2;if(l.data&&i.isGaugeType(l.data)&&!i.hasMultiArcGauge()){const{gauge_min:h,gauge_max:g}=n,f=i.getTotalDataSum(a.rendered),p=d*((f-h)/(g-h));r=r.startAngle(u).endAngle(p+u)}if(t===!1&&r(i.filterTargetsToShow()).forEach((h,g)=>{var f;!c&&h.data.id===((f=l.data)==null?void 0:f.id)&&(c=!0,l=h,l.index=g)}),isNaN(l.startAngle)&&(l.startAngle=0),isNaN(l.endAngle)&&(l.endAngle=l.startAngle),t||l.data&&(n.gauge_enforceMinMax||i.hasMultiArcGauge())){const{gauge_min:h,gauge_max:g}=n,f=t&&!o?i.getTotalDataSum(a.rendered):g,p=d/(f-h),_=(s=l.value)!=null?s:0,x=_{const r=t.updateAngle(o),l=i(r);let c=0;return r&&(c=n(r,l)),r?a.cornerRadius(c)(r):"M 0 0"}},getArc(e,t,s){return s||this.isArcType(e.data)?this.svgArc(e,t):"M 0 0"},redrawArcRangeText(){const e=this,{config:t,$el:{arcs:s},state:i,$T:n}=e,a=t.arc_rangeText_format,o=e.hasType("gauge")&&t.arc_rangeText_fixed;let r=t.arc_rangeText_values;if(r!=null&&r.length){const l=t.arc_rangeText_unit==="%",c=e.getTotalDataSum(i.rendered);l&&(r=r.map(h=>c/100*h));const u=e.pie(r).map((h,g)=>(h.index=g,h));let d=s.selectAll(`.${G.arcRange}`).data(r);d.exit(),d=n(d.enter().append("text").attr("class",G.arcRange).style("text-anchor","middle").style("pointer-events","none").style("opacity","0").text(h=>{const g=l?h/c*100:h;return O(a)?a(g):`${g}${l?"%":""}`}).merge(d)),(!i.rendered||i.rendered&&!o)&&c>0&&d.attr("transform",(h,g)=>e.transformForArcLabel(u[g],!0)),d.style("opacity",h=>!o&&(h>c||c===0)?"0":null)}},transformForArcLabel(e,t=!1){var s,i,n;const a=this,{config:o,state:{radiusExpanded:r}}=a,l=a.updateAngle(e,t);let c="";if(l){if(t||a.hasMultiArcGauge()){const u=Math.sin(l.endAngle-Math.PI/2),d=o.arc_rangeText_position;let h=Math.cos(l.endAngle-Math.PI/2)*(r+(t?5:25)),g=u*(r+15-Math.abs(u*10))+3;if(t&&d){const f=o.arc_rangeText_values,p=O(d)?d(f[e.index]):d;h+=(s=p==null?void 0:p.x)!=null?s:0,g+=(i=p==null?void 0:p.y)!=null?i:0}c=`translate(${h},${g})`}else if(!a.hasType("gauge")||a.data.targets.length>1){let{outerRadius:u}=a.getRadius(e);a.hasType("polar")&&(u=a.getPolarOuterRadius(e,u));const d=this.svgArc.centroid(l),[h,g]=d.map(_=>isNaN(_)?0:_),f=Math.sqrt(h*h+g*g);let p=(n=["donut","gauge","pie","polar"].filter(a.hasType.bind(a)).map(_=>o[`${_}_label_ratio`]))==null?void 0:n[0];p?p=O(p)?p.bind(a.api)(e,u,f):p:p=u&&(f?(36/u>.375?1.175-36/u:.8)*u/f:0),c=`translate(${h*p},${g*p})`}}return c},convertToArcData(e){return this.addName({id:"data"in e?e.data.id:e.id,value:e.value,ratio:this.getRatio("arc",e),index:e.index})},textForArcLabel(e){const t=this,s=t.hasType("gauge");t.shouldShowArcLabel()&&e.style("fill",t.updateTextColor.bind(t)).attr("filter",i=>t.updateTextBGColor.bind(t)(i,t.config.data_labels_backgroundColors)).each(function(i){var n;const a=(0,w.select)(this),o=t.updateAngle(i),r=t.getRatio("arc",o);if(t.meetsLabelThreshold(r,(n=["donut","gauge","pie","polar"].filter(t.hasType.bind(t)))==null?void 0:n[0])){const{value:c}=o||i,u=(t.getArcLabelFormat()||t.defaultArcValueFormat)(c,r,i.data.id).toString();ce(a,u,[-1,1],s)}else a.text("")})},expandArc(e){const t=this,{state:{transiting:s},$el:i}=t;if(s){const a=setInterval(()=>{s||(clearInterval(a),i.legend.selectAll(`.${q.legendItemFocused}`).size()>0&&t.expandArc(e))},10);return}const n=t.mapToTargetIds(e);i.svg.selectAll(t.selectorTargets(n,`.${G.chartArc}`)).each(function(a){if(!t.shouldExpand(a.data.id))return;const o=t.getExpandConfig(a.data.id,"duration"),r=t.getSvgArcExpanded(t.getExpandConfig(a.data.id,"rate"));(0,w.select)(this).selectAll("path").transition().duration(o).attrTween("d",Ze(t.svgArcExpanded.bind(t))).transition().duration(o*2).attrTween("d",Ze(r.bind(t)))})},unexpandArc(e){const t=this,{state:{transiting:s},$el:{svg:i}}=t;if(s)return;const n=t.mapToTargetIds(e);i.selectAll(t.selectorTargets(n,`.${G.chartArc}`)).selectAll("path").transition().duration(a=>t.getExpandConfig(a.data.id,"duration")).attrTween("d",Ze(t.svgArc.bind(t))),i.selectAll(`${G.arc}`).style("opacity",null)},getExpandConfig(e,t){const s=this,{config:i}=s,n={duration:50,rate:.98};let a;return s.isDonutType(e)?a="donut":s.isGaugeType(e)?a="gauge":s.isPieType(e)&&(a="pie"),a?i[`${a}_expand_${t}`]:n[t]},shouldExpand(e){const t=this,{config:s}=t;return t.isDonutType(e)&&s.donut_expand||t.isGaugeType(e)&&s.gauge_expand||t.isPieType(e)&&s.pie_expand},shouldShowArcLabel(){const e=this,{config:t}=e;return["donut","gauge","pie","polar"].some(s=>e.hasType(s)&&t[`${s}_label_show`])},getArcLabelFormat(){const e=this,{config:t}=e;let s=i=>i;return["donut","gauge","pie","polar"].filter(e.hasType.bind(e)).forEach(i=>{s=t[`${i}_label_format`]}),O(s)?s.bind(e.api):s},updateTargetsForArc(e){const t=this,{$el:s}=t,i=t.hasType("gauge"),n=t.getChartClass("Arc"),a=t.getClass("arcs",!0),o=t.classFocus.bind(t),r=s.main.select(`.${G.chartArcs}`),l=r.selectAll(`.${G.chartArc}`).data(t.pie(e)).attr("class",u=>n(u)+o(u.data)),c=l.enter().append("g").attr("class",n).call(this.setCssRule(!1,`.${G.chartArcs} text`,["pointer-events:none","text-anchor:middle"]));c.append("g").attr("class",a).merge(l),c.append("text").attr("dy",i&&!t.hasMultiTargets()?"-.1em":".35em").style("opacity","0").style("text-anchor",t.getStylePropValue("middle")).style("pointer-events",t.getStylePropValue("none")),s.text=r.selectAll(`.${D.target} text`)},initArc(){const e=this,{$el:t}=e;t.arcs=t.main.select(`.${D.chart}`).append("g").attr("class",G.chartArcs).attr("transform",e.getTranslate("arc")),e.setArcTitle()},setArcTitle(e){const t=this,s=e||t.getArcTitle(),i=t.hasType("gauge");if(s){const n=i?_t.chartArcsGaugeTitle:G.chartArcsTitle;let a=t.$el.arcs.select(`.${n}`);a.empty()&&(a=t.$el.arcs.append("text").attr("class",n).style("text-anchor","middle")),i&&a.attr("dy","-0.3em"),ce(a,s,i?void 0:[-.6,1.35],!0)}},getArcTitle(){const e=this,t=e.hasType("donut")&&"donut"||e.hasType("gauge")&&"gauge";return t?e.config[`${t}_title`]:""},getArcTitleWithNeedleValue(){const e=this,{config:t,state:s}=e,i=e.getArcTitle();if(i&&e.config.arc_needle_show&&/{=[A-Z_]+}/.test(i)){let n=s.current.needle;return L(n)||(n=t.arc_needle_value),Te(i,{NEEDLE_VALUE:L(n)?n:0})}return!1},redrawArc(e,t,s){const i=this,{config:n,state:a,$el:{main:o}}=i,r=n.interaction_enabled,l=r&&n.data_selection_isselectable;let c=o.selectAll(`.${G.arcs}`).selectAll(`.${G.arc}`).data(i.arcData.bind(i));c.exit().transition().duration(t).style("opacity","0").remove(),c=c.enter().append("path").attr("class",i.getClass("arc",!0)).style("fill",u=>i.color(u.data)).style("cursor",u=>{var d;return(d=l==null?void 0:l.bind)!=null&&d.call(l,i.api)(u)?"pointer":null}).style("opacity","0").each(function(u){i.isGaugeType(u.data)&&(u.startAngle=n.gauge_startingAngle,u.endAngle=n.gauge_startingAngle),this._current=u}).merge(c),i.hasType("gauge")&&(i.updateGaugeMax(),i.hasMultiArcGauge()&&i.redrawArcGaugeLine()),c.attr("transform",u=>!i.isGaugeType(u.data)&&s?"scale(0)":"").style("opacity",function(u){return u===this._current?"0":null}).each(()=>{a.transiting=!0}).transition().duration(e).attrTween("d",function(u){const d=i.updateAngle(u);if(!d)return()=>"M 0 0";isNaN(this._current.startAngle)&&(this._current.startAngle=0),isNaN(this._current.endAngle)&&(this._current.endAngle=this._current.startAngle);const h=(0,ei.interpolate)(this._current,d);return this._current=h(0),function(g){const f=h(g);return f.data=u.data,i.getArc(f,!0)}}).attr("transform",s?"scale(1)":"").style("fill",u=>{let d;return i.levelColor?(d=i.levelColor(u.data.values[0].value),n.data_colors[u.data.id]=d):d=i.color(u.data),d}).style("opacity",null).call(ye,function(){if(i.levelColor){const u=(0,w.select)(this),d=u.datum(this._current);i.updateLegendItemColor(d.data.id,u.style("fill"))}a.transiting=!1,K(n.onrendered,i.api)}),r&&i.bindArcEvent(c),i.hasType("polar")&&i.redrawPolar(),i.hasType("gauge")&&i.redrawBackgroundArcs(),n.arc_needle_show&&i.redrawNeedle(),i.redrawArcText(e),i.redrawArcRangeText()},redrawNeedle(){const e=this,{$el:t,config:s,state:{hiddenTargetIds:i,radius:n}}=e,a=(n-1)/100*s.arc_needle_length,o=i.length!==e.data.targets.length;let r=e.$el.arcs.select(`.${G.needle}`);const l=s.arc_needle_path,c=s.arc_needle_bottom_width/2,u=s.arc_needle_top_width/2,d=s.arc_needle_top_rx,h=s.arc_needle_top_ry,g=s.arc_needle_bottom_len,f=s.arc_needle_bottom_rx,p=s.arc_needle_bottom_ry,_=e.getNeedleAngle(),x=()=>{const m=e.getArcTitleWithNeedleValue();m&&e.setArcTitle(m)};if(x(),r.empty()&&(r=t.arcs.append("path").classed(G.needle,!0),t.needle=r,t.needle.updateHelper=(m,$=!1)=>{t.needle.style("display")!=="none"&&e.$T(t.needle).style("transform",`rotate(${e.getNeedleAngle(m)}deg)`).call(ye,()=>{$&&(s.arc_needle_value=m),x()})}),o){const m=O(l)?l.call(e,a):`M-${c} ${g} A${f} ${p} 0 0 0 ${c} ${g} L${u} -${a} A${d} ${h} 0 0 0 -${u} -${a} L-${c} ${g} Z`;e.$T(r).attr("d",m).style("fill",s.arc_needle_color).style("display",null).style("transform",`rotate(${_}deg)`)}else r.style("display","none")},getNeedleAngle(e){const t=this,{config:s,state:i}=t,n=t.getArcLength(),a=t.hasType("gauge"),o=t.getTotalDataSum(!0);let r=H(e)?e:s.arc_needle_value,l=s[`${s.data_type}_startingAngle`]||0,c=0;if(L(r)||(r=a&&t.data.targets.length===1?o:0),i.current.needle=r,a){l=t.getStartingAngle();const u=s.gauge_fullCircle?n:l*-2,{gauge_min:d,gauge_max:h}=s;c=u*((r-d)/(h-d))}else c=n*(r/o);return(l+c)*(180/Math.PI)},redrawBackgroundArcs(){const e=this,{config:t,state:s}=e,i=e.hasMultiArcGauge(),n=t.gauge_fullCircle,a=e.filterTargetsToShow(e.data.targets).length===0&&!!t.data_empty_label_text,o=e.getStartingAngle(),r=n?o+e.getArcLength():o*-1;let l=e.$el.arcs.select(`${i?"g":""}.${G.chartArcsBackground}`);if(i){let c=0;l=l.selectAll(`path.${G.chartArcsBackground}`).data(e.data.targets),l.enter().append("path").attr("class",(u,d)=>`${G.chartArcsBackground} ${G.chartArcsBackground}-${d}`).merge(l).style("fill",t.gauge_background||null).attr("d",({id:u})=>{if(a||s.hiddenTargetIds.indexOf(u)>=0)return"M 0 0";const d={data:[{value:t.gauge_max}],startAngle:o,endAngle:r,index:c++};return e.getArc(d,!0,!0)}),l.exit().remove()}else l.attr("d",a?"M 0 0":()=>{const c={data:[{value:t.gauge_max}],startAngle:o,endAngle:r};return e.getArc(c,!0,!0)})},bindArcEvent(e){const t=this,{config:s,state:i}=t,n=i.inputType==="touch",a=i.inputType==="mouse";function o(l,c,u){t.expandArc(u),t.api.focus(u),t.toggleFocusLegend(u,!0),t.showTooltip([c],l)}function r(l){const c=(l==null?void 0:l.id)||void 0;t.unexpandArc(c),t.api.revert(),t.revertLegend(),t.hideTooltip()}if(e.on("click",function(l,c,u){var d;const h=t.updateAngle(c);let g;h&&(g=t.convertToArcData(h),(d=t.toggleShape)==null||d.call(t,this,g,u),s.data_onclick.bind(t.api)(g,this))}),a&&e.on("mouseover",function(l,c){if(i.transiting)return;i.event=l;const u=t.updateAngle(c),d=u?t.convertToArcData(u):null,h=(d==null?void 0:d.id)||void 0;o(this,d,h),t.setOverOut(!0,d)}).on("mouseout",(l,c)=>{if(i.transiting||!s.interaction_onout)return;i.event=l;const u=t.updateAngle(c),d=u?t.convertToArcData(u):null;r(),t.setOverOut(!1,d)}).on("mousemove",function(l,c){const u=t.updateAngle(c),d=u?t.convertToArcData(u):null;i.event=l,t.showTooltip([d],this)}),n&&t.hasArcType()&&!t.radars){const l=c=>{var u,d;const{clientX:h,clientY:g}=(d=(u=c.changedTouches)==null?void 0:u[0])!=null?d:{clientX:0,clientY:0};return(0,w.select)(ot.elementFromPoint(h,g))};t.$el.svg.on("touchstart touchmove",function(c){if(i.transiting)return;i.event=c;const d=l(c).datum(),h=d!=null&&d.data&&d.data.id?t.updateAngle(d):null,g=h?t.convertToArcData(h):null,f=(g==null?void 0:g.id)||void 0;t.callOverOutForTouch(g),it(f)?r():o(this,g,f)})}},redrawArcText(e){const t=this,{config:s,state:i,$el:{main:n,arcs:a}}=t,o=t.hasType("gauge"),r=t.hasMultiArcGauge();let l;if(o&&t.data.targets.length===1&&s.gauge_title||(l=n.selectAll(`.${G.chartArc}`).select("text").style("opacity","0").attr("class",c=>t.isGaugeType(c.data)?_t.gaugeValue:null).call(t.textForArcLabel.bind(t)).attr("transform",c=>t.transformForArcLabel.bind(t)(c)).style("font-size",c=>t.isGaugeType(c.data)&&t.data.targets.length===1&&!r?`${Math.round(i.radius/5)}px`:null).transition().duration(e).style("opacity",c=>t.isTargetToShow(c.data.id)&&t.isArcType(c.data)?null:"0"),r&&l.attr("dy","-.1em")),n.select(`.${G.chartArcsTitle}`).style("opacity",t.hasType("donut")||o?null:"0"),o){const c=s.gauge_fullCircle;c&&(l==null||l.attr("dy",`${r?0:Math.round(i.radius/14)}`)),s.gauge_label_show&&(a.select(`.${_t.chartArcsGaugeUnit}`).attr("dy",`${c?1.5:.75}em`).text(s.gauge_units),a.select(`.${_t.chartArcsGaugeMin}`).attr("dx",`${-1*(i.innerRadius+(i.radius-i.innerRadius)/(c?1:2))}px`).attr("dy","1.2em").text(t.textForGaugeMinMax(s.gauge_min,!1)),!c&&a.select(`.${_t.chartArcsGaugeMax}`).attr("dx",`${i.innerRadius+(i.radius-i.innerRadius)/2}px`).attr("dy","1.2em").text(t.textForGaugeMinMax(s.gauge_max,!0)))}},getArcElementByIdOrIndex(e){const t=this,{$el:{arcs:s}}=t,i=L(e)?n=>n.index===e:n=>n.data.id===e;return s==null?void 0:s.selectAll(`.${D.target} path`).filter(i)}},Qt={initArea(e){const t=this,{config:s}=t;e.insert("g",`.${s.area_front?ut.circles:Et.lines}`).attr("class",t.getClass("areas",!0))},updateAreaColor(e){const t=this;return t.config.area_linearGradient?t.getGradienColortUrl(e.id):t.color(e)},updateArea(e,t=!1){const s=this,{config:i,state:n,$el:a,$T:o}=s,r=t?a.subchart:a;i.area_linearGradient&&s.updateLinearGradient();const l=r.main.selectAll(`.${xe.areas}`).selectAll(`.${xe.area}`).data(s.lineData.bind(s));o(l.exit(),e).style("opacity","0").remove(),r.area=l.enter().append("path").attr("class",s.getClass("area",!0)).style("fill",s.updateAreaColor.bind(s)).style("opacity",function(){return n.orgAreaOpacity=(0,w.select)(this).style("opacity"),"0"}).merge(l),l.style("opacity",n.orgAreaOpacity),s.setRatioForGroupedData(r.area.data())},redrawArea(e,t,s=!1){const i=this,{area:n}=s?this.$el.subchart:this.$el,{orgAreaOpacity:a}=i.state;return[i.$T(n,t,kt()).attr("d",e).style("fill",i.updateAreaColor.bind(i)).style("opacity",o=>String(i.isAreaRangeType(o)?a/1.75:a))]},generateDrawArea(e,t){const s=this,{config:i}=s,n=i.line_connectNull,a=i.axis_rotated,o=s.generateGetAreaPoints(e,t),r=s.getYScaleById.bind(s),l=d=>(t?s.subxx:s.xx).call(s,d),c=(d,h)=>s.isGrouped(d.id)?o(d,h)[0][1]:r(d.id,t)(s.isAreaRangeType(d)?s.getRangedData(d,"high"):s.getShapeYMin(d.id)),u=(d,h)=>s.isGrouped(d.id)?o(d,h)[1][1]:r(d.id,t)(s.isAreaRangeType(d)?s.getRangedData(d,"low"):d.value);return d=>{let h=n?s.filterRemoveNull(d.values):d.values,g=0,f=0,p;if(s.isAreaType(d)){let _=(0,tt.area)();_=a?_.y(l).x0(c).x1(u):_.x(l).y0(i.area_above?0:i.area_below?s.state.height:c).y1(u),n||(_=_.defined(x=>s.getBaseValue(x)!==null)),s.isStepType(d)&&(h=s.convertValuesToStep(h)),p=_.curve(s.getCurve(d))(h)}else h[0]&&(g=s.scale.x(h[0].x),f=s.getYScaleById(d.id)(h[0].value)),p=a?`M ${f} ${g}`:`M ${g} ${f}`;return p||"M 0 0"}},generateGetAreaPoints(e,t){const s=this,{config:i}=s,n=s.getShapeX(0,e,t),a=s.getShapeY(!!t),o=s.getShapeOffset(s.isAreaType,e,t),r=s.getYScaleById.bind(s);return function(l,c){const u=r.call(s,l.id,t)(s.getShapeYMin(l.id)),d=o(l,c)||u,h=n(l),g=l.value;let f=a(l);return i.axis_rotated&&(g>0&&fu.values.some(d=>L(d.value)||t.isBarRangeType(d)))).attr("class",u=>n(u)+o(u)).enter().append("g").attr("class",n).style("opacity","0").style("pointer-events",t.getStylePropValue("none")).append("g").attr("class",a).style("cursor",u=>{var d;return(d=r==null?void 0:r.bind)!=null&&d.call(r,t.api)(u)?"pointer":null}).call(t.setCssRule(!0,` .${vt.bar}`,["fill"],t.color))},updateBar(e,t=!1){const s=this,{config:i,$el:n,$T:a}=s,o=t?n.subchart:n,r=s.getClass("bar",!0),l=s.initialOpacity.bind(s);i.bar_linearGradient&&s.updateLinearGradient();const c=o.main.selectAll(`.${vt.bars}`).selectAll(`.${vt.bar}`).data(s.labelishData.bind(s));a(c.exit(),e).style("opacity","0").remove(),o.bar=c.enter().append("path").attr("class",r).style("fill",s.updateBarColor.bind(s)).merge(c).style("opacity",l),s.setRatioForGroupedData(o.bar.data())},updateBarColor(e){const t=this,s=t.getStylePropValue(t.color);return t.config.bar_linearGradient?t.getGradienColortUrl(e.id):s?s(e):null},redrawBar(e,t,s=!1){const i=this,{bar:n}=s?i.$el.subchart:i.$el;return[i.$T(n,t,kt()).attr("d",a=>(L(a.value)||i.isBarRangeType(a))&&e(a)).style("fill",i.updateBarColor.bind(i)).style("clip-path",a=>a.clipPath).style("opacity",null)]},generateDrawBar(e,t){const s=this,{config:i}=s,n=s.generateGetBarPoints(e,t),a=i.axis_rotated,o=i.bar_radius,r=i.bar_radius_ratio,l=L(o)&&o>0?()=>o:L(r)?c=>c*r:null;return(c,u)=>{const d=n(c,u),h=+a,g=+!h,f=c.value<0,p=i[`axis_${s.axis.getId(c.id)}_inverted`],_=!p&&f||p&&!f,x=["",""],m=s.isGrouped(c.id),$=l&&m?s.isStackingRadiusData(c):!1,b=[d[0][h],d[0][g]];let v=0;if(c.clipPath=null,l){const S=a?g:h,R=d[2][S]-d[0][S];v=!m||$?l(R):0;const T=`a${v} ${v} ${_?"1 0 0":"0 0 1"} `;x[+!a]=`${T}${v},${v}`,x[+a]=`${T}${[-v,v][a?"sort":"reverse"]()}`,_&&x.reverse()}const y=a?d[1][h]+(_?v:-v):d[1][g]+(_?-v:v);if(v){let S="";a?_&&b[0]y&&(S=`0 0 0 ${b[0]-y}px`):_&&b[1]>y?S=`${b[1]-y}px 0 0 0`:!_&&b[1]-1){const h=s.bar.filter(g=>g.id===o&&g.value===l);return!h.empty()&&/a\d+/i.test(h.attr("d"))}const c=i.data_groups.find(h=>h.indexOf(o)>-1),d=t.orderTargets(t.filterTargetsToShow(n.targets.filter(t.isBarType,t))).filter(h=>c.indexOf(h.id)>-1).map(h=>h.values.filter(g=>g.index===r&&(L(l)&&l>0?g.value>0:g.value<0))[0]).filter(Boolean).map(h=>h.id);return l!==0&&d.indexOf(o)===d.length-1},generateGetBarPoints(e,t){const s=this,{config:i}=s,n=t?s.axis.subX:s.axis.x,a=s.getIndicesMax(e)+1,o=s.getBarW("bar",n,a),r=s.getShapeX(o,e,!!t),l=s.getShapeY(!!t),c=s.getShapeOffset(s.isBarType,e,!!t),u=s.getYScaleById.bind(s);return(d,h)=>{const{id:g}=d,f=u.call(s,g,t)(s.getShapeYMin(g)),p=c(d,h)||f,_=L(o)?o:o[d.id]||o._$width,x=i[`axis_${s.axis.getId(g)}_inverted`],m=d.value,$=r(d);let b=l(d);i.axis_rotated&&!x&&(m>0&&bt.isBubbleZType(o)?t.getBubbleZData(o.value,"y"):X(o.value)?o.value.mid:o.value)),n=s*s*Math.PI,a=(t.isBubbleZType(e)?t.getBubbleZData(e.value,"z"):e.value)*(n/i);return Math.sqrt(a/Math.PI)},getBubbleZData(e,t){return X(e)?e[t]:e[t==="y"?0:1]}},Bo=Object.defineProperty,ai=Object.getOwnPropertySymbols,No=Object.prototype.hasOwnProperty,Go=Object.prototype.propertyIsEnumerable,oi=(e,t,s)=>t in e?Bo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Vo=(e,t)=>{for(var s in t||(t={}))No.call(t,s)&&oi(e,s,t[s]);if(ai)for(var s of ai(t))Go.call(t,s)&&oi(e,s,t[s]);return e},Yo={initCandlestick(){const{$el:e}=this;e.candlestick=e.main.select(`.${D.chart}`).append("g").attr("class",Ct.chartCandlesticks)},updateTargetsForCandlestick(e){const t=this,{$el:s}=t,i=t.getChartClass("Candlestick");s.candlestick||t.initCandlestick(),t.$el.main.select(`.${Ct.chartCandlesticks}`).selectAll(`.${Ct.chartCandlestick}`).data(e).enter().append("g").attr("class",i).style("pointer-events","none")},updateCandlestick(e,t=!1){const s=this,{$el:i,$T:n}=s,a=t?i.subchart:i,o=s.getClass("candlestick",!0),r=s.initialOpacity.bind(s),l=a.main.selectAll(`.${Ct.chartCandlestick}`).selectAll(`.${Ct.candlestick}`).data(s.labelishData.bind(s));n(l.exit(),e).style("opacity","0").remove();const c=l.enter().filter(u=>u.value).append("g").attr("class",o);c.append("line"),c.append("path"),a.candlestick=l.merge(c).style("opacity",r)},generateDrawCandlestick(e,t){const s=this,{config:i}=s,n=s.generateGetCandlestickPoints(e,t),a=i.axis_rotated,o=i.candlestick_color_down;return(r,l,c)=>{const u=n(r,l),d=s.getCandlestickData(r),h=d==null?void 0:d._isUp,g=+a,f=+!g;c.classed&&c.classed(Ct[h?"valueUp":"valueDown"],!0);const p=a?`H${u[1][1]} V${u[1][0]} H${u[0][1]}`:`V${u[1][1]} H${u[1][0]} V${u[0][1]}`;c.select("path").attr("d",`M${u[0][g]},${u[0][f]}${p}z`).style("fill",m=>(h?s.color(m):X(o)?o[m.id]:o)||s.color(m));const _=c.select("line"),x=a?{x1:u[2][1],x2:u[2][2],y1:u[2][0],y2:u[2][0]}:{x1:u[2][0],x2:u[2][0],y1:u[2][1],y2:u[2][2]};for(const m in x)_.attr(m,x[m])}},generateGetCandlestickPoints(e,t=!1){const s=this,i=t?s.axis.subX:s.axis.x,n=s.getIndicesMax(e)+1,a=s.getBarW("candlestick",i,n),o=s.getShapeX(a,e,!!t),r=s.getShapeY(!!t),l=s.getShapeOffset(s.isBarType,e,!!t),c=s.getYScaleById.bind(s);return(u,d)=>{const h=c.call(s,u.id,t)(s.getShapeYMin(u.id)),g=l(u,d)||h,f=L(a)?a:a[u.id]||a._$width,p=s.getCandlestickData(u);let _;if(p&&L(p.open)&&L(p.close)){const x={start:o(u),end:0};x.end=x.start+f;const m={start:r(p.open),end:r(p.close)},$={x:x.start+f/2,high:r(p.high),low:r(p.low)};m.start-=h-g,_=[[x.start,m.start],[x.end,m.end],[$.x,$.low,$.high]]}else _=[[0,0],[0,0],[0,0,0]];return _}},redrawCandlestick(e,t,s=!1){const i=this,{$el:n,$T:a}=i,{candlestick:o}=s?n.subchart:n,r=kt(!0);return[o.each(function(l,c){const u=a((0,w.select)(this),t,r);e(l,c,u)}).style("opacity",null)]},getCandlestickData({value:e}){let t;if(N(e)){const[s,i,n,a,o=!1]=e;t={open:s,high:i,low:n,close:a},o!==!1&&(t.volume=o)}else X(e)&&(t=Vo({},e));return t&&(t._isUp=t.close>=t.open),t||null}},jo=Object.defineProperty,ri=Object.getOwnPropertySymbols,Ho=Object.prototype.hasOwnProperty,Wo=Object.prototype.propertyIsEnumerable,li=(e,t,s)=>t in e?jo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Uo=(e,t)=>{for(var s in t||(t={}))Ho.call(t,s)&&li(e,s,t[s]);if(ri)for(var s of ri(t))Wo.call(t,s)&&li(e,s,t[s]);return e};function Se(e=!1){const t=this,{config:s,state:{current:{width:i,height:n}}}=t,a=t.getCurrentPadding(),o=Uo({width:i-(a.left+a.right),height:n-(s.legend_show?t.getLegendHeight()+10:0)-(a.top+a.bottom)},a);if(e){const{width:r,height:l}=ci.call(t,{width:o.width,height:o.height});o.width{let r=a;return X(a)&&(r=e[o?"height":"width"]*a.ratio),r}),{width:i,height:n}}function Zo(e){const t=this,{top:s,left:i,width:n}=Se.call(t,!0),a=[];return e.forEach((o,r)=>{const{ratio:l}=o,c=r>0?a[r-1][2][1]:s;a.push(o.coords=[[i,c],[i+n,c],[i+n,r>0?l+c:l+s],[i,r>0?l+c:l+s],[i,c]])}),a}function di(e=!1){const t=this,{width:s,height:i,top:n,left:a}=Se.call(t,!0),o=ci.call(t,{width:s,height:i}),r=(s-o.width)/2,l=(s+o.width)/2,c=i-o.height,u=[[0,0],[s,0],[l,c],[l,i],[r,i],[r,c],[0,0]];return e&&u.forEach(d=>{d[0]+=a,d[1]+=n}),`M${u.join("L")}z`}function qo(e){const t=this,{config:s}=t,i=e.map(n=>({id:n.id,value:n.values.reduce((a,o)=>a+o.value,0)}));return s.data_order&&i.sort(t.getSortCompareFn.bind(t)(!0)),ui.call(t,i)}function ui(e){const t=this,{height:s}=Se.call(t),i=t.getTotalDataSum(!0);return e.forEach(n=>{n.ratio=n.value/i*s}),e}var Ko={initFunnel(){const e=this,{$el:t}=e;t.funnel=t.main.select(`.${D.chart}`).append("g").classed(re.chartFunnels,!0),t.funnel.background=t.funnel.append("path").classed(re.funnelBackground,!0),e.bindFunnelEvent()},bindFunnelEvent(){const e=this,{$el:{funnel:t},config:s,state:i}=e,n=a=>{var o;const r=a.isTrusted?a.target:(o=i.eventReceiver.rect)==null?void 0:o.node();let l;return/^path$/i.test(r.tagName)&&(i.event=a,l=(0,w.select)(r).datum()),l};if(s.interaction_enabled){const a=i.inputType==="touch";t.on(a?"touchstart":"mouseover mousemove",o=>{const r=n(o);r&&(e.showTooltip([r],o.target),/^(touchstart|mouseover)$/.test(o.type)&&e.setOverOut(!0,r))}).on(a?"touchend":"mouseout",o=>{const r=n(o);s.interaction_onout&&(e.hideTooltip(),e.setOverOut(!1,r))})}},updateTargetsForFunnel(e){const t=this,{$el:{funnel:s}}=t,i=t.getChartClass("Funnel"),n=t.getClass("funnel",!0);s||t.initFunnel();const a=qo.call(t,e.filter(t.isFunnelType.bind(t))),o=s.selectAll(`.${re.chartFunnel}`).data(a);o.exit().remove();const r=o.enter().insert("g",`.${re.funnelBackground}`);r.append("path"),s.path=r.merge(o).attr("class",l=>i(l)).select("path").attr("class",n).style("opacity","0").style("fill",t.color)},updateFunnel(e){const t=this,{$el:{funnel:s}}=t,i=e.map(({id:n})=>n);s.path=s.path.filter(n=>i.indexOf(n.id)>=0)},generateGetFunnelPoints(){const e=this,{$el:{funnel:t}}=e,s=e.filterTargetsToShow(t.path),{top:i,left:n,right:a}=Se.call(e),o=(n-a)/2,r={};let l=i!=null?i:0;return s.each((c,u)=>{var d;r[c.id]=[[o,l],[o,l+=((d=s==null?void 0:s[u])!=null?d:c).ratio]]}),c=>r[c.id]},redrawFunnel(){const e=this,{$T:t,$el:{funnel:s}}=e,i=e.filterTargetsToShow(s.path),n=Zo.call(e,ui.call(e,i.data()));s.attr("clip-path",`path('${di.bind(e)()}')`),s.background.attr("d",di.call(e,!0)),t(i).attr("d",(a,o)=>`M${n[o].join("L")}z`).style("opacity","1"),s.selectAll("g").style("opacity",null)}},Jo={initGauge(){const e=this,{config:t,$el:{arcs:s}}=e,i=(n=null,a="")=>{s.append("text").attr("class",n).style("text-anchor","middle").style("pointer-events","none").text(a)};if(e.hasType("gauge")){const n=e.hasMultiArcGauge();s.append(n?"g":"path").attr("class",G.chartArcsBackground).style("fill",!n&&t.gauge_background||null),t.gauge_units&&i(_t.chartArcsGaugeUnit),t.gauge_label_show&&(i(_t.chartArcsGaugeMin),!t.gauge_fullCircle&&i(_t.chartArcsGaugeMax))}},updateGaugeMax(){const e=this,{config:t,state:s}=e,n=e.hasMultiArcGauge()?e.getMinMaxData().max[0].value:e.getTotalDataSum(s.rendered);!t.gauge_enforceMinMax&&n+t.gauge_min*(t.gauge_min>0?-1:1)>t.gauge_max&&(t.gauge_max=n-t.gauge_min)},redrawArcGaugeLine(){const e=this,{config:t,state:s,$el:i}=e,{hiddenTargetIds:n}=e.state,a=i.main.selectAll(`.${G.arcs}`).selectAll(`.${G.arcLabelLine}`).data(e.arcData.bind(e));a.enter().append("rect").attr("class",r=>`${G.arcLabelLine} ${D.target} ${D.target}-${r.data.id}`).merge(a).style("fill",r=>e.levelColor?e.levelColor(r.data.values[0].value):e.color(r.data)).style("display",t.gauge_label_show?null:"none").each(function(r){let l=0;const c=2;let u=0,d=0,h="";if(n.indexOf(r.data.id)<0){const g=e.updateAngle(r),f=s.gaugeArcWidth/e.filterTargetsToShow(e.data.targets).length*(g.index+1),p=g.endAngle-Math.PI/2,_=s.radius-f,x=p-(_===0?0:1/_);l=s.radiusExpanded-s.radius+f,u=Math.cos(x)*_,d=Math.sin(x)*_,h=`rotate(${p*180/Math.PI}, ${u}, ${d})`}(0,w.select)(this).attr("x",u).attr("y",d).attr("width",l).attr("height",c).attr("transform",h).style("stroke-dasharray",`0, ${l+c}, 0`)})},textForGaugeMinMax(e,t){const s=this,{config:i}=s,n=i.gauge_label_extents;return O(n)?n.bind(s.api)(e,t):e},getGaugeLabelHeight(){const{config:e}=this;return this.config.gauge_label_show&&!e.gauge_fullCircle?20:0},getPaddingBottomForGauge(){const e=this;return e.getGaugeLabelHeight()*(e.config.gauge_label_show?2:2.5)}};function Qo(e,t,s,i=!1){const n=e?[e,0]:s;for(let a=e||s.reduce((o,r)=>o+r);a<=t;)s.forEach(o=>{a+o<=t&&n.push(o),a+=o});return n.length%2!==0&&n.push(i?s[1]:0),{dash:n.join(" "),length:n.reduce((a,o)=>a+o,0)}}function tr(e,t,s){const i=this,n=[],a="2 2";if(H(t)){const o=(r,l)=>it(r)?l:s?mt.call(i,r):r;for(let r=0,l;l=t[r];r++){const c=o(l.start,e[0].x),u=o(l.end,e[e.length-1].x),d=l.style||{dasharray:a};n[r]={start:c,end:u,style:d}}}return n}var er={initLine(){const{$el:e}=this;e.line=e.main.select(`.${D.chart}`).append("g").attr("class",Et.chartLines).call(this.setCssRule(!1,`.${Et.chartLines}`,["pointer-events:none"]))},updateTargetsForLine(e){const t=this,{$el:{area:s,line:i,main:n}}=t,a=t.getChartClass("Line"),o=t.getClass("lines",!0),r=t.classFocus.bind(t);i||t.initLine();const l=e.filter(d=>!(t.isScatterType(d)||t.isBubbleType(d))),c=n.select(`.${Et.chartLines}`).selectAll(`.${Et.chartLine}`).data(l).attr("class",d=>a(d)+r(d)),u=c.enter().append("g").attr("class",a).style("opacity","0").style("pointer-events",t.getStylePropValue("none"));if(u.append("g").attr("class",o),t.hasTypeOf("Area")){const d=(!s&&u.empty()?c:u).filter(t.isAreaType.bind(t));t.initArea(d)}t.updateTargetForCircle(l,u)},updateLine(e,t=!1){const s=this,{format:{extraLineClasses:i},$el:n,$T:a}=s,o=t?n.subchart:n,r=o.main.selectAll(`.${Et.lines}`).selectAll(`.${Et.line}`).data(s.lineData.bind(s));a(r.exit(),e).style("opacity","0").remove(),o.line=r.enter().append("path").attr("class",l=>`${s.getClass("line",!0)(l)} ${i(l)||""}`).style("stroke",s.color).merge(r).style("opacity",s.initialOpacity.bind(s)).attr("transform",null)},redrawLine(e,t,s=!1){const i=this,{$el:n,$T:a}=i,{line:o}=s?n.subchart:n;return[a(o,t,kt()).attr("d",e).style("stroke",this.color).style("opacity",null)]},getCurve(e){const t=this;return t.config.axis_rotated&&t.isStepType(e)?i=>{const n=t.getInterpolate(e)(i);return n.orgPoint=n.point,n.pointRotated=function(a,o){this._point===1&&(this._point=2);const r=this._y*(1-this._t)+o*this._t;this._context.lineTo(this._x,r),this._context.lineTo(a,r),this._x=a,this._y=o},n.point=function(a,o){this._point===0?this.orgPoint(a,o):this.pointRotated(a,o)},n}:t.getInterpolate(e)},generateDrawLine(e,t){const s=this,{config:i,scale:n}=s,a=i.line_connectNull,o=i.axis_rotated,r=s.generateGetLinePoints(e,t),l=s.getYScaleById.bind(s),c=g=>(t?s.subxx:s.xx).call(s,g),u=(g,f)=>s.isGrouped(g.id)?r(g,f)[0][1]:l(g.id,t)(s.getBaseValue(g));let d=(0,tt.line)();d=o?d.x(u).y(c):d.x(c).y(u),a||(d=d.defined(g=>s.getBaseValue(g)!==null));const h=t?n.subX:n.x;return g=>{const f=l(g.id,t);let p=a?s.filterRemoveNull(g.values):g.values,_=0,x=0,m;if(s.isLineType(g)){const $=i.data_regions[g.id];$?m=s.lineWithRegions(p,n.zoom||h,f,$):(s.isStepType(g)&&(p=s.convertValuesToStep(p)),m=d.curve(s.getCurve(g))(p))}else p[0]&&(_=h(p[0].x),x=f(p[0].value)),m=o?`M ${x} ${_}`:`M ${_} ${x}`;return m||"M 0 0"}},lineWithRegions(e,t,s,i){const n=this,{config:a}=n,o=a.axis_rotated,r=n.axis.isTimeSeries(),l="2 2",c=tr.bind(n)(e,i,r),u=n.hasNullDataValue(e);let d,h,g,f;const p=o?T=>s(T.value):T=>t(T.x),_=o?T=>t(T.x):T=>s(T.value),x=T=>`M${T[0][0]},${T[0][1]}L${T[1][0]},${T[1][1]}`,m=r?(T,C,z,P)=>{const k=T.x.getTime(),F=C.x-T.x,W=new Date(k+F*z),J=new Date(k+F*(z+P)),lt=o?[[s(h(z)),t(W)],[s(h(z+g)),t(J)]]:[[t(W),s(h(z))],[t(J),s(h(z+g))]];return x(lt)}:(T,C,z,P)=>{const k=t(C.x,!o),F=s(C.value,o),W=z+P,J=t(d(z),!o),lt=s(h(z),o);let $t=t(d(W),!o),bt=s(h(W),o);$t>k&&($t=k),T.value>C.value&&(o?btF)&&(bt=F);const oe=[[J,lt],[$t,bt]];return o&&oe.forEach(he=>he.reverse()),x(oe)},$={x:n.axis.getAxisType("x"),y:n.axis.getAxisType("y")};let b="";const v=n.$el.line.filter(({id:T})=>T===e[0].id),y=v.clone().style("display","none"),A=(T,C)=>T.attr("d",C).node().getTotalLength(),S={dash:[],lastLength:0};let R=!1;for(let T=0,C;C=e[T];T++){const z=e[T-1],P=z&&M(z.value);let k=n.isWithinRegions(C.x,c);if(M(C.value)){if(it(c)||!k||!P)b+=`${T&&P?"L":"M"}${p(C)},${_(C)}`;else if(P)if(k=((k==null?void 0:k.dasharray)||l).split(" ").map(Number),d=Yt($.x,z.x,C.x),h=Yt($.y,z.value,C.value),u){const F=t(C.x)-t(z.x),W=s(C.value)-s(z.value),J=Math.sqrt(Math.pow(F,2)+Math.pow(W,2));g=k[0]/J,f=g*k[1];for(let lt=g;lt<=1;lt+=f)b+=m(z,C,lt,g),lt+f>=1&&(b+=m(z,C,1,0))}else{let F=[];if(R=C.x===e[e.length-1].x,r){const $t=+z.x,bt=new Date($t),oe=new Date($t+(+C.x-$t));F=[[t(bt),s(h(0))],[t(oe),s(h(1))]]}else F=[[t(d(0)),s(h(0))],[t(d(1)),s(h(1))]];o&&F.forEach($t=>$t.reverse());const W=A(y,b),J=A(y,b+=`L${F[1].join(",")}`),lt=Qo(W-S.lastLength,J-S.lastLength,k,R);S.lastLength+=lt.length,S.dash.push(lt.dash)}}}return S.dash.length&&(!R&&S.dash.push(A(y,b)),y.remove(),v.attr("stroke-dasharray",S.dash.join(" "))),b},isWithinRegions(e,t){for(let s=0,i;i=t[s];s++)if(i.startkt();var Re={initialOpacityForCircle(e){const{config:t,state:{withoutFadeIn:s}}=this;let i=t.point_opacity;return it(i)&&(i=this.getBaseValue(e)!==null&&s[e.id]?this.opacityForCircle(e):"0"),i},opacityForCircle(e){var t;const{config:s}=this;let i=s.point_opacity;return it(i)&&(i=s.point_show&&!((t=this.isPointFocusOnly)!=null&&t.call(this))?null:"0",i=M(this.getBaseValue(e))?this.isBubbleType(e)||this.isScatterType(e)?"0.5":i:"0"),i},initCircle(){const e=this,{$el:{main:t}}=e;!e.point&&(e.point=e.generatePoint()),(e.hasType("bubble")||e.hasType("scatter"))&&t.select(`.${D.chart} > .${ut.chartCircles}`).empty()&&t.select(`.${D.chart}`).append("g").attr("class",ut.chartCircles)},updateTargetForCircle(e,t){const s=this,{config:i,data:n,$el:a}=s,o=i.interaction_enabled&&i.data_selection_enabled,r=o&&i.data_selection_isselectable,l=s.getClass("circles",!0);if(!i.point_show)return;s.initCircle();let c=e,u=t;if(!c){c=n.targets.filter(h=>this.isScatterType(h)||this.isBubbleType(h));const d=a.main.select(`.${ut.chartCircles}`).style("pointer-events","none").selectAll(`.${ut.circles}`).data(c);d.exit().remove(),u=d.enter()}o&&u.append("g").attr("class",d=>s.generateClass(Q.selectedCircles,d.id)),u.append("g").attr("class",l).call(d=>{s.setCssRule(!0,`.${ut.circles}`,["cursor:pointer"],r)(d),s.setCssRule(!0,` .${ut.circle}`,["fill","stroke"],s.color)(d)}).style("opacity",function(){return(0,w.select)(this.parentNode).attr("class").indexOf(ut.chartCircles)>-1?"0":null}),o&&c.forEach(d=>{a.main.selectAll(`.${Q.selectedCircles}${s.getTargetSelectorSuffix(d.id)}`).selectAll(`${Q.selectedCircle}`).each(h=>{h.value=d.values[h.index].value})})},updateCircle(e=!1){const t=this,{config:s,state:i,$el:n}=t,a=t.isPointFocusOnly(),o=e?n.subchart:n;if(s.point_show&&!i.toggling){s.point_radialGradient&&t.updateLinearGradient();const r=o.main.selectAll(`.${ut.circles}`).selectAll(`.${ut.circle}`).data(l=>t.isLineType(l)&&t.shouldDrawPointsForLine(l)||t.isBubbleType(l)||t.isRadarType(l)||t.isScatterType(l)?a?[l.values[0]]:l.values:[]);r.exit().remove(),r.enter().filter(Boolean).append(t.point("create",this,t.pointR.bind(t),t.updateCircleColor.bind(t))),o.circle=o.main.selectAll(`.${ut.circles} .${ut.circle}`).style("stroke",t.getStylePropValue(t.color)).style("opacity",t.initialOpacityForCircle.bind(t))}},updateCircleColor(e){const t=this,s=t.getStylePropValue(t.color);return t.config.point_radialGradient?t.getGradienColortUrl(e.id):s?s(e):null},redrawCircle(e,t,s,i,n=!1){const a=this,{state:{rendered:o},$el:r,$T:l}=a,c=n?r.subchart:r,u=c.main.selectAll(`.${Q.selectedCircle}`);if(!a.config.point_show)return[];const d=a.point("update",a,e,t,a.updateCircleColor.bind(a),s,i,u),h=a.isCirclePoint()?"c":"",g=kt(),f=a.opacityForCircle.bind(a),p=[];return c.circle.each(function(_){let x=d.bind(this)(_);x=l(x,s||!o,g).style("opacity",f),p.push(x)}),[p,l(u,s).attr(`${h}x`,e).attr(`${h}y`,t)]},showCircleFocus(e){const t=this,{state:{hasRadar:s,resizing:i,toggling:n,transiting:a},$el:o}=t;let{circle:r}=o;if(a===!1&&r&&t.isPointFocusOnly()){const l=(s?t.radarCircleX:t.circleX).bind(t),c=(s?t.radarCircleY:t.circleY).bind(t),u=n||it(e),d=t.point("update",t,l,c,t.getStylePropValue(t.color),i?!1:u);e&&(r=r.filter(function(h){var g;const f=(g=e.filter)==null?void 0:g.call(e,p=>p.id===h.id);return f.length?(0,w.select)(this).datum(f[0]):!1})),r.attr("class",this.updatePointClass.bind(this)).style("opacity",null).each(function(h){const{id:g,index:f,value:p}=h;let _="hidden";M(p)&&(d.bind(this)(h),t.expandCircles(f,g),_=""),this.style.visibility=_})}},hideCircleFocus(){const e=this,{$el:{circle:t}}=e;e.isPointFocusOnly()&&t&&(e.unexpandCircles(),t.style("visibility","hidden"))},circleX(e){return this.xx(e)},updateCircleY(e=!1){const t=this,s=t.generateGetLinePoints(t.getShapeIndices(t.isLineType),e);return(i,n)=>{const a=i.id;return t.isGrouped(a)?s(i,n)[0][1]:t.getYScaleById(a,e)(t.getBaseValue(i))}},expandCircles(e,t,s){const i=this,n=i.pointExpandedR.bind(i);s&&i.unexpandCircles();const a=i.getShapeByIndex("circle",e,t).classed(D.EXPANDED,!0),o=n(a)/i.config.point_r,r=1-o;i.isCirclePoint()?a.attr("r",n):a.each(function(){const l=(0,w.select)(this);if(this.tagName==="circle")l.attr("r",n);else{const{width:c,height:u}=this.getBBox(),d=r*(+l.attr("x")+c/2),h=r*(+l.attr("y")+u/2);l.attr("transform",`translate(${d} ${h}) scale(${o})`)}})},unexpandCircles(e){const t=this,s=t.pointR.bind(t),i=t.getShapeByIndex("circle",e).filter(function(){return(0,w.select)(this).classed(D.EXPANDED)}).classed(D.EXPANDED,!1);if(i.attr("r",s),!t.isCirclePoint()){const n=s(i)/t.config.point_r;i.attr("transform",n!==1?`scale(${n})`:null)}},pointR(e){const t=this,{config:s}=t,i=s.point_r;let n=i;return t.isBubbleType(e)?n=t.getBubbleR(e):O(i)&&(n=i.bind(t.api)(e)),e.r=n,n},pointExpandedR(e){const t=this,{config:s}=t,i=t.isBubbleType(e)?1.15:1.75;return s.point_focus_expand_enabled?s.point_focus_expand_r||t.pointR(e)*i:t.pointR(e)},pointSelectR(e){const t=this,s=t.config.point_select_r;return O(s)?s(e):s||t.pointR(e)*4},isPointFocusOnly(){const e=this;return e.config.point_focus_only&&!e.hasType("bubble")&&!e.hasType("scatter")&&!e.hasArcType(null,["radar"])},isWithinCircle(e,t){const{state:s}=this,i=yt(s.event,e),n=(0,w.select)(e),a=this.isCirclePoint(e)?"c":"",o=this.getPointSensitivity(n==null?void 0:n.datum());let r=+n.attr(`${a}x`),l=+n.attr(`${a}y`);if(!(r||l)&&e.nodeType===1){const{x:c,y:u}=be(e);r=c,l=u}return Math.sqrt(Math.pow(r-i[0],2)+Math.pow(l-i[1],2))<(t||o)},getPointSensitivity(e){const t=this;let s=t.config.point_sensitivity;if(e)O(s)?s=s.call(t.api,e):s==="radius"&&(s=e.r);else return s;return s},updatePointClass(e){const t=this,{circle:s}=t.$el;let i=!1;return(X(e)||s)&&(i=e===!0?s.each(function(n){let a=t.getClass("circle",!0)(n);this.getAttribute("class").indexOf(D.EXPANDED)>-1&&(a+=` ${D.EXPANDED}`),this.setAttribute("class",a)}):t.getClass("circle",!0)(e)),i},generateGetLinePoints(e,t){const s=this,{config:i}=s,n=s.getShapeX(0,e,t),a=s.getShapeY(t),o=s.getShapeOffset(s.isLineType,e,t),r=s.getYScaleById.bind(s);return(l,c)=>{const u=r.call(s,l.id,t)(s.getShapeYMin(l.id)),d=o(l,c)||u,h=n(l);let g=a(l);i.axis_rotated&&(l.value>0&&gM(g.value)?t(g)-l/2:0,d=g=>M(g.value)?s(g)-c/2:0;let h=e;return n&&(a&&h.attr("x",u),h=r.$T(h,n,te()),o&&r.$T(o,n,te())),h.attr("x",u).attr("y",d).style("fill",i)}},circle:{create(e,t,s){return e.append("circle").attr("class",this.updatePointClass.bind(this)).attr("r",t).style("fill",s).node()},update(e,t,s,i,n,a,o){const r=this;let l=e;return r.hasType("bubble")&&l.attr("r",r.pointR.bind(r)),n&&(a&&l.attr("cx",t),l.attr("cx")&&(l=r.$T(l,n,te())),o&&r.$T(l,n,te())),l.attr("cx",t).attr("cy",s).style("fill",i)}},rectangle:{create(e,t,s){const i=n=>t(n)*2;return e.append("rect").attr("class",this.updatePointClass.bind(this)).attr("width",i).attr("height",i).style("fill",s).node()},update(e,t,s,i,n,a,o){const r=this,l=r.config.point_r,c=h=>t(h)-l,u=h=>s(h)-l;let d=e;return n&&(a&&d.attr("x",c),d=r.$T(d,n,te()),o&&r.$T(o,n,te())),d.attr("x",c).attr("y",u).style("fill",i)}}};function sr(e){return St(e)&&O(e.create)&&O(e.update)}function ir(e,t){var s;const i=this,n=(l,c)=>{const u=l.attributes;for(let d=0,h;h=u[d];d++)h=h.name,c.setAttribute(h,l.getAttribute(h))},o=new DOMParser().parseFromString(e,"image/svg+xml").documentElement,r=ot.createElementNS(w.namespaces.svg,o.nodeName.toLowerCase());if(r.id=t,r.style.fill="inherit",r.style.stroke="inherit",n(o,r),(s=o.childNodes)!=null&&s.length){const l=(0,w.select)(r);"innerHTML"in r?l.html(o.innerHTML):Gt(o.childNodes).forEach(c=>{n(c,l.append(c.tagName).node())})}i.$el.defs.node().appendChild(r)}var ee={hasValidPointType(e){return/^(circle|rect(angle)?|polygon|ellipse|use)$/i.test(e||this.config.point_type)},hasLegendDefsPoint(){var e;const{config:t}=this;return t.legend_show&&((e=t.point_pattern)==null?void 0:e.length)&&t.legend_usePoint},getDefsPointId(e){const{state:{datetimeId:t}}=this;return`${t}-point${e}`},generatePoint(){const e=this,{$el:t,config:s}=e,i=[],n=nt(s.point_pattern)?s.point_pattern:[s.point_type];return function(a,o,...r){return function(l){var c,u,d,h;const g=e.getTargetSelectorSuffix(l.id||((c=l.data)==null?void 0:c.id)||l),f=(0,w.select)(this);i.indexOf(g)<0&&i.push(g);let p=n[i.indexOf(g)%n.length];if(e.hasValidPointType(p))p=e[p];else if(!sr(p||s.point_type)){const _=e.getDefsPointId(g);if(t.defs.select(`#${_}`).size()<1&&ir.bind(e)(p,_),a==="create")return(u=e.custom)==null?void 0:u.create.bind(o)(f,_,...r);if(a==="update")return(d=e.custom)==null?void 0:d.update.bind(o)(f,...r)}return(h=p[a])==null?void 0:h.bind(o)(f,...r)}}}};function hi(e){const t=e.config.polar_level_max;let s=e.getMinMaxData().max[0].value;return t&&t>s&&(s=t),s}var nr={initPolar(){const e=this,{$el:{arcs:t},config:s}=e,i=s.polar_level_text_show,n=s.polar_level_text_backgroundColor;t.levels=t.append("g").attr("class",It.levels),i&&n&&e.generateTextBGColorFilter(n)},getPolarOuterRadius(e,t){var s;const i=hi(this);return((s=e==null?void 0:e.data.values[0].value)!=null?s:0)/i*t},updateTargetsForPolar(e){this.updateTargetsForArc(e)},redrawPolar(){const e=this,{config:t}=e;t.polar_level_show&&e.updatePolarLevel()},updatePolarLevel(){const e=this,{config:t,state:s,$el:{arcs:{levels:i}}}=e,n=t.polar_level_depth,a=hi(e),o=ve(0,n),r=s.radius,l=o.map(h=>r*((h+1)/n)),c=(t.polar_level_text_format||function(){}).bind(e.api),u=i.selectAll(`.${It.level}`).data(o);u.exit().remove();const d=u.enter().append("g").attr("class",(h,g)=>`${It.level} ${It.level}-${g}`);if(d.append("circle"),d.merge(u).selectAll("circle").style("visibility",t.polar_level_show?null:"hidden").attr("cx",0).attr("cy",0).attr("r",h=>l[h]),t.polar_level_text_show){const h=t.polar_level_text_backgroundColor,g=`#${s.datetimeId}-labels-bg${e.getTargetSelectorSuffix(h)}`;d.append("text").style("text-anchor","middle"),d.merge(u).selectAll("text").attr("dy",f=>-l[f]+5).attr("filter",h?`url(${g})`:null).text(f=>c(a/o.length*(f+1)))}}};function ar(e,t,s,i,n,a){const o=e&&i>0?s-i:i,r=2*Math.PI;return n*(1-a*(t==="x"?Math.sin:Math.cos)(o*r/s))}const se=pt.radarPoints,gi=pt.radarTextWidth;var or={initRadar(){const e=this,{config:t,state:{current:s},$el:i}=e;e.hasType("radar")&&(i.radar=i.main.select(`.${D.chart}`).append("g").attr("class",ss.chartRadars),i.radar.levels=i.radar.append("g").attr("class",It.levels),i.radar.axes=i.radar.append("g").attr("class",at.axis),i.radar.shapes=i.radar.append("g").attr("class",st.shapes),s.dataMax=t.radar_axis_max||e.getMinMaxData().max[0].value,t.radar_axis_text_show&&(t.interaction_enabled&&e.bindRadarEvent(),e.updateRadarLevel(),e.updateRadarAxes()))},getRadarSize(){const e=this,{config:t,state:{arcWidth:s,arcHeight:i}}=e,n=t.axis_x_categories.length<4?-20:10,a=(Math.min(s,i)-n)/2;return[a,a]},updateTargetsForRadar(e){const t=this,{config:s}=t;At(s.axis_x_categories)&&(s.axis_x_categories=ve(0,wt("max",e.map(i=>i.values.length)))),t.generateRadarPoints()},getRadarPosition(e,t,s,i){const n=this,{config:a}=n,[o,r]=n.getRadarSize(),l=a.axis_x_categories.length,c=a.radar_direction_clockwise,u=Gt(e).map(d=>ar(c,d,l,t,H(s)?s:e==="x"?o:r,L(i)?i:a.radar_size_ratio));return u.length===1?u[0]:u},generateRadarPoints(){const e=this,t=e.data.targets,[s,i]=e.getRadarSize(),n=e.cache.get(se)||{},a=n._size;(!a||a.width!==s&&a.height!==i)&&(t.forEach(o=>{n[o.id]=o.values.map((r,l)=>e.getRadarPosition(["x","y"],l,void 0,e.getRatio("radar",r)))}),n._size={width:s,height:i},e.cache.add(se,n))},redrawRadar(){const e=this,{radar:t,main:s}=e.$el,i=e.getTranslate("radar");i&&(t.attr("transform",i),s.select(`.${gt.chartTexts}`).attr("transform",i),e.generateRadarPoints(),e.updateRadarLevel(),e.updateRadarAxes(),e.updateRadarShape())},generateGetRadarPoints(){const e=this.cache.get(se);return(t,s)=>{const i=e[t.id][s];return[i,i,i,i]}},updateRadarLevel(){const e=this,{config:t,state:s,$el:{radar:i}}=e,[n,a]=e.getRadarSize(),o=t.radar_level_depth,r=t.axis_x_categories.length,l=t.radar_level_text_show,c=i.levels,u=ve(0,o),d=t.radar_size_ratio*Math.min(n,a),h=u.map(x=>d*((x+1)/o)),g=(t.radar_level_text_format||function(){}).bind(e.api),f=u.map(x=>{const m=h[x];return ve(0,r).map(b=>e.getRadarPosition(["x","y"],b,m,1).join(",")).join(" ")}),p=c.selectAll(`.${It.level}`).data(u);p.exit().remove();const _=p.enter().append("g").attr("class",(x,m)=>`${It.level} ${It.level}-${m}`);_.append("polygon").style("visibility",t.radar_level_show?null:"hidden"),l&&(c.select("text").empty()&&c.append("text").attr("dx","-.5em").attr("dy","-.7em").style("text-anchor","end").text(()=>g(0)),_.append("text").attr("dx","-.5em").style("text-anchor","end").text(x=>g(s.current.dataMax/u.length*(x+1)))),_.merge(p).attr("transform",x=>`translate(${n-h[x]}, ${a-h[x]})`).selectAll("polygon").attr("points",x=>f[x]),l&&c.selectAll("text").attr("x",x=>it(x)?n:f[x].split(",")[0]).attr("y",x=>it(x)?a:0)},updateRadarAxes(){const e=this,{config:t,$el:{radar:s}}=e,[i,n]=e.getRadarSize(),a=t.axis_x_categories;let o=s.axes.selectAll("g").data(a);o.exit().remove();const r=o.enter().append("g").attr("class",(l,c)=>`${at.axis}-${c}`);if(t.radar_axis_line_show&&r.append("line"),t.radar_axis_text_show&&r.append("text"),o=r.merge(o),t.radar_axis_line_show&&o.select("line").attr("x1",i).attr("y1",n).attr("x2",(l,c)=>e.getRadarPosition("x",c)).attr("y2",(l,c)=>e.getRadarPosition("y",c)),t.radar_axis_text_show){const{x:l=0,y:c=0}=t.radar_axis_text_position,u=e.cache.get(gi)||0;if(o.select("text").style("text-anchor","middle").attr("dy",".5em").call(d=>{d.each(function(h){ce((0,w.select)(this),String(h),[-.6,1.2])})}).datum((d,h)=>({index:h})).attr("transform",function(d){it(this.width)&&(this.width=this.getBoundingClientRect().width/2);let h=e.getRadarPosition("x",d.index,void 0,1),g=Math.round(e.getRadarPosition("y",d.index,void 0,1));return h>i?h+=this.width+l:Math.round(h)n?(g/2===n&&this.firstChild.tagName==="tspan"&&this.firstChild.setAttribute("dy","0em"),g+=c):gds(h.node()).width);d.every(h=>h>0)&&e.cache.add(gi,d[0]-d[1])}}},bindRadarEvent(){const e=this,{config:t,state:s,$el:{radar:i,svg:n}}=e,a=e.isPointFocusOnly(),{inputType:o,transiting:r}=s,l=o==="mouse",c=u=>{if(s.event=u,!t.interaction_onout)return;const d=e.getDataIndexFromEvent(u),h=it(d);(l||h)&&(e.hideTooltip(),a?e.hideCircleFocus():e.unexpandCircles(),l?e.setOverOut(!1,d):h&&e.callOverOutForTouch())};i.axes.on(l?"mouseover ":"touchstart",u=>{if(r)return;s.event=u;const d=e.getDataIndexFromEvent(u);e.selectRectForSingle(n.node(),d),l?e.setOverOut(!0,d):e.callOverOutForTouch(d)}).on("mouseout",l?c:null),l||n.on("touchstart",c)},updateRadarShape(){const e=this,t=e.data.targets.filter(a=>e.isRadarType(a)),s=e.cache.get(se),i=e.$el.radar.shapes.selectAll("polygon").data(t),n=i.enter().append("g").attr("class",e.getChartClass("Radar"));e.$T(i.exit()).remove(),n.append("polygon").merge(i).style("fill",e.color).style("stroke",e.color).attr("points",a=>s[a.id].join(" ")),e.updateTargetForCircle(t,n)},radarCircleX(e){return this.cache.get(se)[e.id][e.index][0]},radarCircleY(e){return this.cache.get(se)[e.id][e.index][1]}},Pt=U(14);function rr(e,t){const s=this,{scale:{x:i,y:n},state:{width:a}}=s;e.selectAll("g").attr("transform",o=>`translate(${o===t?"0,0":`${i(o.x0)},${n(o.y0)}`})`).select("rect").attr("width",o=>o===t?a:i(o.x1)-i(o.x0)).attr("height",o=>o===t?0:n(o.y1)-n(o.y0))}function lr(e){const t=this;return e.map(s=>{const{id:i,values:n}=s,{value:a}=n[0];return{name:i,id:i,value:a,ratio:t.getRatio("treemap",n[0])}})}function cr(e){const t=this,s=(0,Pt.hierarchy)(e).sum(n=>n.value),i=t.getSortCompareFn(!0);return[t.treemap(i?s.sort(i):s)]}var dr={initTreemap(){const e=this,{$el:t,state:{current:{width:s,height:i},clip:n,datetimeId:a}}=e;n.id=`${a}-clip`,e.treemap=(0,Pt.treemap)().tile(e.getTreemapTile()),t.defs.append("clipPath").attr("id",n.id).append("rect").attr("width",s).attr("height",i),t.treemap=t.main.select(`.${D.chart}`).attr("clip-path",`url(#${n.id})`).append("g").classed(ns.chartTreemaps,!0),e.bindTreemapEvent()},bindTreemapEvent(){const e=this,{$el:t,config:s,state:i}=e,n=a=>{var o;const r=a.isTrusted?a.target:(o=i.eventReceiver.rect)==null?void 0:o.node();let l;return/^rect$/i.test(r.tagName)&&(i.event=a,l=(0,w.select)(r).datum()),l==null?void 0:l.data};if(s.interaction_enabled){const a=i.inputType==="touch";t.treemap.on(a?"touchstart":"mouseover mousemove",o=>{const r=n(o);r&&(e.showTooltip([r],o.currentTarget),/^(touchstart|mouseover)$/.test(o.type)&&e.setOverOut(!0,r))}).on(a?"touchend":"mouseout",o=>{const r=n(o);s.interaction_onout&&(e.hideTooltip(),e.setOverOut(!1,r))})}},getTreemapTile(){var e,t;const s=this,{config:i,state:{current:{width:n,height:a}}}=s,o=(t={binary:Pt.treemapBinary,dice:Pt.treemapDice,slice:Pt.treemapSlice,sliceDice:Pt.treemapSliceDice,squarify:Pt.treemapSquarify,resquarify:Pt.treemapResquarify}[(e=i.treemap_tile)!=null?e:"binary"])!=null?t:Pt.treemapBinary;return(r,l,c,u,d)=>{o(r,0,0,n,a);for(const h of r.children)h.x0=l+h.x0/n*(u-l),h.x1=l+h.x1/n*(u-l),h.y0=c+h.y0/a*(d-c),h.y1=c+h.y1/a*(d-c)}},getTreemapData(e){const t=this;return{name:"root",children:lr.bind(t)(t.filterTargetsToShow(e.filter(t.isTreemapType,t)))}},updateTargetsForTreemap(e){const t=this,{$el:{treemap:s}}=t,i=cr.call(t,t.getTreemapData(e!=null?e:t.data.targets));s.data(i)},updateTreemap(e){const t=this,{$el:s,$T:i}=t,n=s.treemap.datum(),a=t.getChartClass("Treemap"),o=t.getClass("treemap",!0),r=s.treemap.selectAll("g").data(n.children);i(r.exit(),e).style("opacity","0").remove(),r.enter().append("g").append("rect"),s.treemap.selectAll("g").attr("class",a).select("rect").attr("class",o).attr("fill",l=>t.color(l.data.name))},generateGetTreemapPoints(){const e=this,{$el:t,scale:{x:s,y:i}}=e,n={};return t.treemap.selectAll("g").each(a=>{n[a.data.name]=[[s(a.x0),i(a.y0)],[s(a.x1),i(a.y1)]]}),a=>n[a.id]},redrawTreemap(e){const t=this,{$el:s,state:{current:{width:i,height:n}}}=t;return s.defs.select("rect").attr("width",i).attr("height",n),[t.$T(s.treemap,e,kt()).call(rr.bind(t),s.treemap.datum())]},treemapDataLabelFormat(e){const t=this,{config:s}=t,{id:i,value:n}=e,a=s.treemap_label_format,o=t.getRatio("treemap",e),r=(o*100).toFixed(2),l=s.treemap_label_show&&t.meetsLabelThreshold(o,"treemap")?null:"0";return function(c){return c.style("opacity",l),O(a)?a.bind(t.api)(n,o,i):`${i} -${r}%`}}},Ht={point_show:!0,point_r:2.5,point_radialGradient:!1,point_sensitivity:10,point_focus_expand_enabled:!0,point_focus_expand_r:void 0,point_focus_only:!1,point_opacity:void 0,point_pattern:[],point_select_r:void 0,point_type:"circle"},ie={area_above:!1,area_below:!1,area_front:!0,area_linearGradient:!1,area_zerobased:!0},ur={bar_front:!1,bar_indices_removeNull:!1,bar_label_threshold:0,bar_linearGradient:!1,bar_overlap:!1,bar_padding:0,bar_radius:void 0,bar_radius_ratio:void 0,bar_sensitivity:2,bar_width:void 0,bar_width_ratio:.6,bar_width_max:void 0,bar_zerobased:!0},hr={bubble_maxR:35,bubble_zerobased:!1},gr={candlestick_width:void 0,candlestick_width_ratio:.6,candlestick_width_max:void 0,candlestick_color_down:"red"},fr={line_connectNull:!1,line_step_type:"step",line_step_tooltipMatch:!1,line_zerobased:!1,line_classes:void 0,line_point:!0},pr={scatter_zerobased:!1},qe={spline_interpolation_type:"cardinal"},Ce={arc_cornerRadius:0,arc_cornerRadius_ratio:0,arc_needle_show:!1,arc_needle_color:void 0,arc_needle_value:void 0,arc_needle_path:void 0,arc_needle_length:100,arc_needle_top_rx:0,arc_needle_top_ry:0,arc_needle_top_width:0,arc_needle_bottom_rx:1,arc_needle_bottom_ry:1,arc_needle_bottom_width:15,arc_needle_bottom_len:0,arc_rangeText_values:void 0,arc_rangeText_unit:"absolute",arc_rangeText_fixed:!1,arc_rangeText_format:void 0,arc_rangeText_position:void 0},xr={donut_label_show:!0,donut_label_format:void 0,donut_label_threshold:.05,donut_label_ratio:void 0,donut_width:void 0,donut_title:"",donut_expand:{},donut_expand_rate:.98,donut_expand_duration:50,donut_padAngle:0,donut_startingAngle:0},_r={funnel_neck_width:0,funnel_neck_height:0},mr={gauge_background:"",gauge_fullCircle:!1,gauge_label_show:!0,gauge_label_extents:void 0,gauge_label_format:void 0,gauge_label_ratio:void 0,gauge_label_threshold:0,gauge_enforceMinMax:!1,gauge_min:0,gauge_max:100,gauge_type:"single",gauge_startingAngle:-1*Math.PI/2,gauge_arcLength:100,gauge_title:"",gauge_units:void 0,gauge_width:void 0,gauge_arcs_minWidth:5,gauge_expand:{},gauge_expand_rate:.98,gauge_expand_duration:50},$r={pie_label_show:!0,pie_label_format:void 0,pie_label_ratio:void 0,pie_label_threshold:.05,pie_expand:{},pie_expand_rate:.98,pie_expand_duration:50,pie_innerRadius:0,pie_outerRadius:void 0,pie_padAngle:0,pie_padding:0,pie_startingAngle:0},yr={polar_label_show:!0,polar_label_format:void 0,polar_label_threshold:.05,polar_label_ratio:void 0,polar_level_depth:3,polar_level_max:void 0,polar_level_show:!0,polar_level_text_backgroundColor:"#fff",polar_level_text_format:e=>e%1===0?e:e.toFixed(2),polar_level_text_show:!0,polar_padAngle:0,polar_padding:0,polar_startingAngle:0},br={radar_axis_max:void 0,radar_axis_line_show:!0,radar_axis_text_show:!0,radar_axis_text_position:{},radar_level_depth:3,radar_level_show:!0,radar_level_text_format:e=>e%1===0?e:e.toFixed(2),radar_level_text_show:!0,radar_size_ratio:.87,radar_direction_clockwise:!1},vr={treemap_tile:"binary",treemap_label_format:void 0,treemap_label_threshold:.05,treemap_label_show:!0};function ne(e,t){rt(jt.prototype,Object.values(Qs).concat(e)),rt(Mt.prototype,Eo),Vt.setOptions(Object.values(ti).concat(t||[]))}function Ot(e,t){ne([ee,Re,er].concat(e||[])),Vt.setOptions([Ht,fr].concat(t||[]))}function ae(e,t){rt(jt.prototype,[Fo,ee].concat(e||[])),Vt.setOptions([Ht].concat(t||[]))}let fi=()=>(Ot(Qt,[ie]),(fi=()=>E.AREA)()),pi=()=>(Ot(Qt,[ie]),(pi=()=>E.AREA_LINE_RANGE)()),xi=()=>(Ot(Qt,[ie]),(xi=()=>E.AREA_STEP_RANGE)()),_i=()=>(Ot(Qt,[ie,qe]),(_i=()=>E.AREA_SPLINE)()),mi=()=>(Ot(Qt,[ie,qe]),(mi=()=>E.AREA_SPLINE_RANGE)()),$i=()=>(Ot(Qt,[ie]),($i=()=>E.AREA_STEP)()),yi=()=>(Ot(),(yi=()=>E.LINE)()),bi=()=>(Ot(void 0,[qe]),(bi=()=>E.SPLINE)()),vi=()=>(Ot(),(vi=()=>E.STEP)()),Ti=()=>(ae(void 0,[Ce,xr]),(Ti=()=>E.DONUT)()),Ai=()=>(ae([Jo],[Ce,mr]),(Ai=()=>E.GAUGE)()),wi=()=>(ae(void 0,[Ce,$r]),(wi=()=>E.PIE)()),Si=()=>(ae([nr],[Ce,yr]),(Si=()=>E.POLAR)()),Ri=()=>(ae([Qs.eventrect,Re,or],[Ht,br,{axis_x_categories:ti.optAxis.axis_x_categories}]),(Ri=()=>E.RADAR)()),Ci=()=>(ne([Mo,ee],[ur,Ht]),(Ci=()=>E.BAR)()),Ei=()=>(ne([ee,Re,Xo],[hr,Ht]),(Ei=()=>E.BUBBLE)()),ki=()=>(ne([Yo,ee],[gr,Ht]),(ki=()=>E.CANDLESTICK)()),Li=()=>(ne([ee,Re],[Ht,pr]),(Li=()=>E.SCATTER)()),Pi=()=>(ae([Ko],[_r]),(Pi=()=>E.FUNNEL)()),Oi=()=>(ne([dr],[vr]),(Oi=()=>E.TREEMAP)()),Ke={};const Ii={version:"3.14.1",generate(e){const t=qt({},Ke,e),s=new Mt(t);return s.internal.charts=this.instance,this.instance.push(s),s},defaults(e){return X(e)&&(Ke=e),Ke},instance:[],plugin:{}};Object.keys(xt).forEach(e=>xt[e]()),Object.keys(I).forEach(e=>I[e]())}(),Ee}()}); +`):[];if(l.length)return l;if(N(r))return r;let c=o.tickWidth;(!c||c<=0)&&(c=n?95:o.isCategory?(o.isInverted?s(i[0])-s(i[1]):s(i[1])-s(i[0]))-12:110);function u(d,h){let g,f,p;for(let _=1;_{const g=d+1;return gt(this.helper.scale.domain());else{if(!arguments.length)return s.tickValues;s.tickValues=t}return this}setTransition(t){return this.config.transition=t,this}}var oo=Object.defineProperty,ro=(e,t,s)=>t in e?oo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Lt=(e,t,s)=>ro(e,typeof t!="symbol"?t+"":t,s),lo={getAxisInstance:function(){return this.axis||new co(this)}};class co{constructor(t){Lt(this,"owner"),Lt(this,"x"),Lt(this,"subX"),Lt(this,"y"),Lt(this,"y2"),Lt(this,"axesList",{}),Lt(this,"tick",{x:null,y:null,y2:null}),Lt(this,"xs",[]),Lt(this,"orient",{x:"bottom",y:"left",y2:"right",subX:"bottom"}),this.owner=t,this.setOrient()}getAxisClassName(t){return`${at.axis} ${at[`axis${ft(t)}`]}`}isHorizontal(t,s){const i=t.config.axis_rotated;return s?i:!i}isCategorized(){const{config:t,state:s}=this.owner;return t.axis_x_type.indexOf("category")>=0||s.hasRadar}isCustomX(){const{config:t}=this.owner;return!this.isTimeSeries()&&(t.data_x||nt(t.data_xs))}isTimeSeries(t="x"){return this.owner.config[`axis_${t}_type`]==="timeseries"}isLog(t="x"){return this.owner.config[`axis_${t}_type`]==="log"}isTimeSeriesY(){return this.isTimeSeries("y")}getAxisType(t="x"){let s="linear";return this.isTimeSeries(t)?s=this.owner.config.axis_x_localtime?"time":"utc":this.isLog(t)&&(s="log"),s}getExtent(){const t=this.owner,{config:s,scale:i}=t;let n=s.axis_x_extent;if(n){if(O(n))n=n.bind(t.api)(t.getXDomain(t.data.targets),i.subX);else if(this.isTimeSeries()&&n.every(isNaN)){const a=mt.bind(t);n=n.map(o=>i.subX(a(o)))}}return n}init(){const t=this.owner,{config:s,$el:{main:i,axis:n},state:{clip:a}}=t,o=s.axis_rotated,r=["x","y"];s.axis_y2_show&&r.push("y2"),r.forEach(l=>{const c=this.getAxisClassName(l),u=at[`axis${l.toUpperCase()}Label`];n[l]=i.append("g").attr("class",c).attr("clip-path",()=>{let d=null;return l==="x"?d=a.pathXAxis:l==="y"&&(d=a.pathYAxis),d}).attr("transform",t.getTranslate(l)).style("visibility",s[`axis_${l}_show`]?null:"hidden"),n[l].append("text").attr("class",u).attr("transform",["rotate(-90)",null][l==="x"?+!o:+o]).style("text-anchor",()=>this.textAnchorForAxisLabel(l)),this.generateAxes(l)}),s.axis_tooltip&&this.setAxisTooltip()}setOrient(){const t=this.owner,{axis_rotated:s,axis_y_inner:i,axis_y2_inner:n}=t.config;this.orient={x:s?"left":"bottom",y:s?i?"top":"bottom":i?"right":"left",y2:s?n?"bottom":"top":n?"left":"right",subX:s?"left":"bottom"}}generateAxes(t){const s=this.owner,{config:i}=s,n=[],a=i[`axis_${t}_axes`],o=i.axis_rotated;let r;t==="x"?r=o?Jt.axisLeft:Jt.axisBottom:t==="y"?r=o?Jt.axisBottom:Jt.axisLeft:t==="y2"&&(r=o?Jt.axisTop:Jt.axisRight),a.length&&a.forEach(l=>{const c=l.tick||{},u=s.scale[t].copy();l.domain&&u.domain(l.domain),n.push(r(u).ticks(c.count).tickFormat(O(c.format)?c.format.bind(s.api):d=>d).tickValues(c.values).tickSizeOuter(c.outer===!1?0:6))}),this.axesList[t]=n}updateAxes(){const t=this.owner,{config:s,$el:{main:i},$T:n}=t;Object.keys(this.axesList).forEach(a=>{const o=s[`axis_${a}_axes`],r=t.scale[a].copy(),l=r.range();this.axesList[a].forEach((c,u)=>{const d=c.scale().range();l.every((f,p)=>f===d[p])||c.scale().range(l);const h=`${this.getAxisClassName(a)}-${u+1}`;let g=i.select(`.${h.replace(/\s/,".")}`);g.empty()?g=i.append("g").attr("class",h).style("visibility",s[`axis_${a}_show`]?null:"hidden").call(c):(o[u].domain&&r.domain(o[u].domain),n(g).call(c.scale(r))),g.attr("transform",t.getTranslate(a,u+1))})})}setAxis(t,s,i,n){const a=this.owner;t!=="subX"&&(this.tick[t]=this.getTickValues(t)),this[t]=this.getAxis(t,s,i,t==="x"&&(a.scale.zoom||a.config.subchart_show||a.state.resizing)?!0:n)}getAxis(t,s,i,n,a){const o=this.owner,{config:r}=o,l=/^(x|subX)$/.test(t),c=l?"x":t,u=l&&this.isCategorized(),d=this.orient[t],h=a?0:o.getAxisTickRotate(c);let g;if(l)g=t==="subX"?o.format.subXAxisTick:o.format.xAxisTick;else{const m=r[`axis_${t}_tick_format`];O(m)&&(g=m.bind(o.api))}let f=this.tick[c];const p=qt({outerTick:i,noTransition:n,config:r,id:t,tickTextRotate:h,owner:o},l&&{isCategory:u,isInverted:r.axis_x_inverted,tickMultiline:r.axis_x_tick_multiline,tickWidth:r.axis_x_tick_width,tickTitle:u&&r.axis_x_tick_tooltip&&o.api.categories(),orgXScale:o.scale.x});l||(p.tickStepSize=r[`axis_${c}_tick_stepSize`]);const _=new ao(p).scale(l&&o.scale.zoom||s).orient(d);if(l&&this.isTimeSeries()&&f&&!O(f)){const m=mt.bind(o);f=f.map($=>m($))}else!l&&this.isTimeSeriesY()&&(_.ticks(r.axis_y_tick_time_value),f=null);f&&_.tickValues(f),_.tickFormat(g||!l&&o.isStackNormalized()&&(m=>`${m}%`)),u&&(_.tickCentered(r.axis_x_tick_centered),At(r.axis_x_tick_culling)&&(r.axis_x_tick_culling=!1));const x=r[`axis_${c}_tick_count`];return x&&_.ticks(x),_}updateXAxisTickValues(t,s){var i;const n=this.owner,{config:a}=n,o=a.axis_x_tick_fit;let r=a.axis_x_tick_count,l;return(o||r&&o)&&(l=n.mapTargetsToUniqueXs(t),this.isCategorized()&&r>l.length&&(r=l.length),l=this.generateTickValues(l,r,this.isTimeSeries())),s?s.tickValues(l):this.x&&(this.x.tickValues(l),(i=this.subX)==null||i.tickValues(l)),l}getId(t){const{config:s,scale:i}=this.owner;let n=s.data_axes[t];return(!n||!i[n])&&(n="y"),n}getXAxisTickFormat(t){const s=this.owner,{config:i,format:n}=s,a=t&&i.subchart_axis_x_tick_format||i.axis_x_tick_format,o=this.isTimeSeries(),r=this.isCategorized();let l;return a?O(a)?l=a.bind(s.api):o&&(l=c=>c?n.axisTime(a)(c):""):l=o?n.defaultAxisTime:r?s.categoryName:c=>c<0?c.toFixed(0):c,O(l)?c=>l.apply(s,r?[c,s.categoryName(c)]:[c]):l}getTickValues(t){const s=this.owner,i=s.config[`axis_${t}_tick_values`],n=s[`${t}Axis`];return(O(i)?i.call(s.api):i)||(n?n.tickValues():void 0)}getLabelOptionByAxisId(t){return this.owner.config[`axis_${t}_label`]}getLabelText(t){const s=this.getLabelOptionByAxisId(t);return V(s)?s:s?s.text:null}setLabelText(t,s){const i=this.owner,{config:n}=i,a=this.getLabelOptionByAxisId(t);V(a)?n[`axis_${t}_label`]=s:a&&(a.text=s)}getLabelPosition(t,s){const i=this.owner.config.axis_rotated,n=this.getLabelOptionByAxisId(t),a=St(n)&&n.position?n.position:s[+!i],o=r=>!!~a.indexOf(r);return{isInner:o("inner"),isOuter:o("outer"),isLeft:o("left"),isCenter:o("center"),isRight:o("right"),isTop:o("top"),isMiddle:o("middle"),isBottom:o("bottom")}}getAxisLabelPosition(t){return this.getLabelPosition(t,t==="x"?["inner-top","inner-right"]:["inner-right","inner-top"])}getLabelPositionById(t){return this.getAxisLabelPosition(t)}xForAxisLabel(t){const s=this.owner,{state:{width:i,height:n}}=s,a=this.getAxisLabelPosition(t);let o=a.isMiddle?-n/2:0;return this.isHorizontal(s,t!=="x")?o=a.isLeft?0:a.isCenter?i/2:i:a.isBottom&&(o=-n),o}dxForAxisLabel(t){const s=this.owner,i=this.getAxisLabelPosition(t);let n=i.isBottom?"0.5em":"0";return this.isHorizontal(s,t!=="x")?n=i.isLeft?"0.5em":i.isRight?"-0.5em":"0":i.isTop&&(n="-0.5em"),n}textAnchorForAxisLabel(t){const s=this.owner,i=this.getAxisLabelPosition(t);let n=i.isMiddle?"middle":"end";return this.isHorizontal(s,t!=="x")?n=i.isLeft?"start":i.isCenter?"middle":"end":i.isBottom&&(n="start"),n}dyForAxisLabel(t){const s=this.owner,{config:i}=s,n=i.axis_rotated,a=this.getAxisLabelPosition(t).isInner,o=i[`axis_${t}_tick_rotate`]?s.getHorizontalAxisHeight(t):0,{width:r}=this.getMaxTickSize(t);let l;if(t==="x"){const c=i.axis_x_height;n?l=a?"1.2em":-25-r:a?l="-0.5em":c?l=c-10:o?l=o-10:l="3em"}else l={y:["-0.5em",10,"3em","1.2em",10],y2:["1.2em",-20,"-2.2em","-0.5em",15]}[t],n?a?l=l[0]:o?l=o*(t==="y2"?-1:1)-l[1]:l=l[2]:l=a?l[3]:(l[4]+(i[`axis_${t}_inner`]?0:r+l[4]))*(t==="y"?-1:1);return l}getMaxTickSize(t,s){const i=this.owner,{config:n,state:{current:a},$el:{svg:o,chart:r}}=i,l=a.maxTickSize[t],c=`axis_${t}`,u={width:0,height:0};if(s||!n[`${c}_show`]||l.width>0&&i.filterTargetsToShow().length===0)return l;if(o){const d=/^y2?$/.test(t),h=i.filterTargetsToShow(i.data.targets),g=i.scale[t].copy().domain(i[`get${d?"Y":"X"}Domain`](h,t)),f=g.domain(),p=f[0]===f[1]&&f.every(y=>y>0),_=N(l.domain)&&l.domain[0]===l.domain[1]&&l.domain.every(y=>y>0);if(p||_)return l.size;l.domain=f,d||l.ticks.splice(0);const x=this.getAxis(t,g,!1,!1,!0),m=n[`${c}_tick_rotate`],$=n[`${c}_tick_count`];!n[`${c}_tick_values`]&&$&&x.tickValues(this.generateTickValues(f,$,d?this.isTimeSeriesY():this.isTimeSeries())),!d&&this.updateXAxisTickValues(h,x);const v=r.append("svg").style("visibility","hidden").style("position","fixed").style("top","0").style("left","0");x.create(v),v.selectAll("text").attr("transform",L(m)?`rotate(${m})`:null).each(function(y,A){const{width:S,height:R}=this.getBoundingClientRect();u.width=Math.max(u.width,S),u.height=Math.max(u.height,R),d||(l.ticks[A]=S)}),v.remove()}return Object.keys(u).forEach(d=>{u[d]>0&&(l[d]=u[d])}),l}getXAxisTickTextY2Overflow(t){const s=this.owner,{axis:i,config:n,state:{current:a,isLegendRight:o,legendItemWidth:r}}=s,l=s.getAxisTickRotate("x"),c=l>0&&l<90;if((i.isCategorized()||i.isTimeSeries())&&n.axis_x_tick_fit&&(!n.axis_x_tick_culling||At(n.axis_x_tick_culling))&&!n.axis_x_tick_multiline&&c){const u=n.axis_y2_show&&a.maxTickSize.y2.width||0,d=o&&r||0,h=a.width-s.getCurrentPaddingByDirection("left"),g=this.getXAxisTickMaxOverflow(l,h-t)-u-d,f=Math.max(0,g)+t;return Math.min(f,h/2)}return 0}getXAxisTickMaxOverflow(t,s){const i=this.owner,{axis:n,config:a,state:o}=i,r=n.isTimeSeries(),l=o.current.maxTickSize.x.ticks,c=l.length,{left:u,right:d}=o.axis.x.padding;let h=0;const g=c-(r&&a.axis_x_tick_fit?.5:0);for(let _=0;_!a[o].empty()).forEach(o=>{const r=a[o];n(r,t).attr("x",()=>this.xForAxisLabel(o)).attr("dx",()=>this.dxForAxisLabel(o)).attr("dy",()=>this.dyForAxisLabel(o)).text(()=>this.getLabelText(o))})}getPadding(t,s,i,n){const a=L(t)?t:t[s];return M(a)?this.owner.convertPixelToScale(/(bottom|top)/.test(s)?"y":"x",a,n):i}generateTickValues(t,s,i){let n=t;if(s){const a=O(s)?s():s;if(a===1)n=[t[0]];else if(a===2)n=[t[0],t[t.length-1]];else if(a>2){const o=this.isCategorized(),r=a-2,l=t[0],c=t[t.length-1],u=(c-l)/(r+1);let d;n=[l];for(let h=0;ha-o)),n}generateTransitions(t){const s=this.owner,{$el:{axis:i},$T:n}=s,[a,o,r,l]=["x","y","y2","subX"].map(c=>n(i[c],t));return{axisX:a,axisY:o,axisY2:r,axisSubX:l}}redraw(t,s,i){const n=this.owner,{config:a,$el:o}=n,r=s?"0":null;["x","y","y2","subX"].forEach(l=>{const c=this[l],u=o.axis[l];c&&u&&(!i&&!a.transition_duration&&(c.config.withoutTransition=!0),u.style("opacity",r),c.create(t[`axis${ft(l)}`]))}),this.updateAxes()}redrawAxis(t,s,i,n,a){var o,r,l;const c=this.owner,{config:u,scale:d,$el:h}=c,g=!!d.zoom;let f;!g&&this.isCategorized()&&t.length===0&&d.x.domain([0,h.axis.x.selectAll(".tick").size()]),d.x&&t.length?(!g&&c.updateXDomain(t,s.UpdateXDomain,s.UpdateOrgXDomain,s.TrimXDomain),u.axis_x_tick_values||this.updateXAxisTickValues(t)):this.x&&(this.x.tickValues([]),(o=this.subX)==null||o.tickValues([])),u.zoom_rescale&&!n&&(f=d.x.orgDomain()),["y","y2"].forEach(p=>{const _=`axis_${p}_`,x=d[p];if(x){const m=u[`${_}tick_values`],$=u[`${_}tick_count`];if(x.domain(c.getYDomain(t,p,f)),!m&&$){const b=c.axis[p],v=x.domain();b.tickValues(this.generateTickValues(v,v.every(y=>y===0)?1:$,this.isTimeSeriesY()))}}}),this.redraw(i,c.hasArcType(),a),this.updateLabels(s.Transition),(s.UpdateXDomain||s.UpdateXAxis||s.Y)&&t.length&&this.setCulling(),s.Y&&((r=d.subY)==null||r.domain(c.getYDomain(t,"y")),(l=d.subY2)==null||l.domain(c.getYDomain(t,"y2")))}setCulling(){const t=this.owner,{config:s,state:{clip:i,current:n},$el:a}=t;["subX","x","y","y2"].forEach(o=>{const r=a.axis[o],c=`axis_${o==="subX"?"x":o}_tick_culling`,u=s[c];if(r&&u){const d=r.selectAll(".tick"),h=Kt(d.data()),g=h.length,f=s[`${c}_max`],p=s[`${c}_lines`];let _;if(g){for(let x=1;x{var c,u,d;if(o[l]=(c=a[l])==null?void 0:c.append("text").classed(at[`axis${l.toUpperCase()}Tooltip`],!0).attr("filter",s.updateTextBGColor({id:l},r)),i){const h=l==="x"?"x":"y",g=l==="y"?"1.15em":l==="x"?"-0.3em":"-0.4em";(u=o[l])==null||u.attr(h,g).attr(`d${l==="x"?"y":"x"}`,l==="x"?"0.4em":"-1.3em").style("text-anchor",l==="x"?"end":null)}else{const h=l==="x"?"y":"x",g=l==="x"?"1.15em":`${l==="y"?"-":""}0.4em`;(d=o[l])==null||d.attr(h,g).attr(`d${l==="x"?"x":"y"}`,l==="x"?"-1em":"0.3em").style("text-anchor",l==="y"?"end":null)}})}}var uo={initEventRect(){this.$el.main.select(`.${D.chart}`).append("g").attr("class",Tt.eventRects).style("fill-opacity","0")},redrawEventRect(){var e;const t=this,{config:s,state:i,$el:n}=t,a=t.isMultipleX(),o=s.axis_x_inverted;if(n.eventRect)t.updateEventRect(n.eventRect,!0);else if(t.data.targets.length){const l=t.$el.main.select(`.${Tt.eventRects}`).style("cursor",s.zoom_enabled&&s.zoom_type!=="drag"?s.axis_rotated?"ns-resize":"ew-resize":null).classed(Tt.eventRectsMultiple,a).classed(Tt.eventRectsSingle,!a).selectAll(`.${Tt.eventRect}`).data([0]).enter().append("rect");t.updateEventRect(l),t.updateEventType(l),l.call(t.getDraggableSelection()),n.eventRect=l,t.state.inputType==="touch"&&!n.svg.on("touchstart.eventRect")&&!t.hasArcType()&&t.bindTouchOnEventRect(),i.rendered&&t.updateEventRect(n.eventRect,!0)}if(!a){const r=t.getMaxDataCountTarget();(!s.data_xSort||o)&&r.sort((l,c)=>o?c.x-l.x:l.x-c.x),t.updateDataIndexByX(r),t.updateXs(r),(e=t.updatePointClass)==null||e.call(t,!0),i.eventReceiver.data=r}t.updateEventRectData()},bindTouchOnEventRect(){const e=this,{config:t,state:s,$el:{eventRect:i,svg:n}}=e,a=h=>{if(e.isMultipleX())e.selectRectForMultipleXs(h);else{const g=e.getDataIndexFromEvent(s.event);e.callOverOutForTouch(g),g===-1?e.unselectRect():e.selectRectForSingle(h,g)}},o=()=>{e.unselectRect(),e.callOverOutForTouch()},r=t.interaction_inputType_touch.preventDefault,l=Oe(r)&&r||!1,c=!isNaN(r)&&r||null;let u;const d=h=>{const g=h.type,p=h.changedTouches[0][`client${t.axis_rotated?"Y":"X"}`];g==="touchstart"?l?h.preventDefault():c!==null&&(u=p):g==="touchmove"&&(l||u===!0||c!==null&&Math.abs(u-p)>=c)&&(u=!0,h.preventDefault())};i.on("touchstart",h=>{s.event=h,e.updateEventRect()}).on("touchstart.eventRect touchmove.eventRect",h=>{if(s.event=h,!i.empty()&&i.classed(Tt.eventRect)){if(s.dragging||s.flowing||e.hasArcType()||h.touches.length>1)return;d(h),a(i.node())}else o()},!0).on("touchend.eventRect",h=>{s.event=h,!i.empty()&&i.classed(Tt.eventRect)&&(e.hasArcType()||!e.toggleShape||s.cancelClick)&&s.cancelClick&&(s.cancelClick=!1)},!0),n.on("touchstart",h=>{s.event=h;const{target:g}=h;g&&g!==i.node()&&o()})},updateEventRect(e,t=!1){const s=this,{state:i,$el:n}=s,{eventReceiver:a,width:o,height:r,rendered:l,resizing:c}=i,u=e||n.eventRect,d=()=>{if(a){const h=gs(n.chart.node());a.rect=u.node().getBoundingClientRect().toJSON(),a.rect.top+=h.y,a.rect.left+=h.x}};(!l||c||t)&&(u.attr("x",0).attr("y",0).attr("width",o).attr("height",r),(!l||t)&&u.classed(Tt.eventRect,!0)),d()},updateEventType(e){const t=this,s=Oe(e),i=s?t.$el.eventRect:e,n=s?e!==(i==null?void 0:i.datum().multipleX):!1;i&&(n&&(i==null||i.on("mouseover mousemove mouseout click",null)),t.isMultipleX()?t.generateEventRectsForMultipleXs(i):t.generateEventRectsForSingleX(i))},updateEventRectData(){const e=this,{config:t,scale:s,state:i}=e,n=s.zoom||s.x,a=t.axis_rotated,o=e.isMultipleX();let r,l,c,u;if(e.updateEventType(o),o)r=0,l=0,c=i.width,u=i.height;else{let g,f;if(e.axis.isCategorized())g=e.getEventRectWidth(),f=p=>n(p.x)-g/2;else{const p=({index:_})=>({prev:e.getPrevX(_),next:e.getNextX(_)});g=_=>{const x=p(_),m=n.domain();let $;return x.prev===null&&x.next===null?$=a?i.height:i.width:x.prev===null?$=(n(x.next)+n(_.x))/2:x.next===null?$=n(m[1])-(n(x.prev)+n(_.x))/2:(Object.keys(x).forEach((b,v)=>{var y;x[b]=(y=x[b])!=null?y:m[v]}),$=Math.max(0,(n(x.next)-n(x.prev))/2)),$},f=_=>{const x=p(_);let m;return x.prev===null&&x.next===null?m=0:x.prev===null?m=n(n.domain()[0]):m=(n(_.x)+n(x.prev))/2,m}}r=a?0:f,l=a?f:0,c=a?i.width:g,u=a?g:i.height}const{eventReceiver:d}=i,h=(g,f)=>O(g)?g(f):g;d.coords.splice(d.data.length),d.data.forEach((g,f)=>{d.coords[f]={x:h(r,g),y:h(l,g),w:h(c,g),h:h(u,g)}})},selectRectForSingle(e,t){var s,i;const n=this,{config:a,$el:{main:o,circle:r}}=n,l=a.data_selection_enabled,c=a.data_selection_grouped,u=a.data_selection_isselectable,d=a.tooltip_grouped,h=n.getAllValuesOnIndex(t);if(d&&(n.showTooltip(h,e),(s=n.showGridFocus)==null||s.call(n,h),!l||c))return;!r&&o.selectAll(`.${D.EXPANDED}:not(.${st.shape}-${t})`).classed(D.EXPANDED,!1);const g=o.selectAll(`.${st.shape}-${t}`).classed(D.EXPANDED,!0).style("cursor",u?"pointer":null).filter(function(f){return n.isWithinShape(this,f)});g.empty()&&!d&&a.interaction_onout&&((i=n.hideGridFocus)==null||i.call(n),n.hideTooltip(),!c&&n.setExpand(t)),g.call(f=>{var p,_;const x=f.data();l&&(c||u!=null&&u.bind(n.api)(x))&&(e.style.cursor="pointer"),d||(n.showTooltip(x,e),(p=n.showGridFocus)==null||p.call(n,x),(_=n.unexpandCircles)==null||_.call(n),f.each(m=>n.setExpand(t,m.id)))})},selectRectForMultipleXs(e,t=!0){const s=this,{config:i,state:n}=s,a=s.filterTargetsToShow(s.data.targets);if(n.dragging||s.hasArcType(a))return;const o=yt(n.event,e),r=s.findClosestFromTargets(a,o);if(t&&n.mouseover&&(!r||r.id!==n.mouseover.id)&&(i.data_onout.call(s.api,n.mouseover),n.mouseover=void 0),!r){s.unselectRect();return}const c=(s.isBubbleType(r)||s.isScatterType(r)||!i.tooltip_grouped?[r]:s.filterByX(a,r.x)).map(d=>s.addName(d));s.showTooltip(c,e),s.setExpand(r.index,r.id,!0),s.showGridFocus(c);const u=s.dist(r,o);(s.isBarType(r.id)||u{const l=r?t.getDataIndexFromEvent(r):n.currentIdx;return l>-1?n.data[l]:null};a.on("mouseover",r=>{i.event=r,t.updateEventRect(),Object.values(t.$el.axisTooltip).forEach(l=>l==null?void 0:l.style("display",null))}).on("mousemove",function(r){const l=o(r);if(i.event=r,!l)return;let{index:c}=l;const u=s.line_step_type;if(s.line_step_tooltipMatch&&t.hasType("step")&&/^step\-(before|after)$/.test(u)){const h=t.scale.zoom||t.scale.x,g=t.axis.xs[c],f=h.invert(yt(r,this)[0]);u==="step-after"&&fg&&(c+=1)}t.showAxisGridFocus();const d=s.tooltip_grouped&&c===n.currentIdx;if(i.dragging||i.flowing||t.hasArcType()||d){s.tooltip_show&&d&&t.setTooltipPosition();return}c!==n.currentIdx&&(t.setOverOut(!1,n.currentIdx),n.currentIdx=c),c===-1?t.unselectRect():t.selectRectForSingle(this,c),t.setOverOut(c!==-1,c)}).on("mouseout",r=>{i.event=r,!(!s||t.hasArcType()||n.currentIdx===-1||!s.interaction_onout)&&(t.hideAxisGridFocus(),t.unselectRect(),t.setOverOut(!1,n.currentIdx),n.currentIdx=-1)})}return a},clickHandlerForSingleX(e,t){const s=t,{config:i,state:n,$el:{main:a}}=s;if(!e||s.hasArcType()||n.cancelClick){n.cancelClick&&(n.cancelClick=!1);return}const{index:o}=e;a.selectAll(`.${st.shape}-${o}`).each(function(r){var l;(i.data_selection_grouped||s.isWithinShape(this,r))&&((l=s.toggleShape)==null||l.call(s,this,r,o),i.data_onclick.bind(s.api)(r,this))})},generateEventRectsForMultipleXs(e){const t=this,{config:s,state:i}=t;e.on("click",function(n){i.event=n,t.clickHandlerForMultipleXS.bind(this)(t)}).datum({multipleX:!0}),i.inputType==="mouse"&&e.on("mouseover mousemove",function(n){i.event=n,t.selectRectForMultipleXs(this)}).on("mouseout",n=>{i.event=n,!(!t.config||t.hasArcType()||!s.interaction_onout)&&t.unselectRect()})},clickHandlerForMultipleXS(e){const t=e,{config:s,state:i}=t,n=t.filterTargetsToShow(t.data.targets);if(t.hasArcType(n))return;const a=yt(i.event,this),o=t.findClosestFromTargets(n,a),r=t.getPointSensitivity(o);o&&(t.isBarType(o.id)||t.dist(o,a){r.values.splice(0,a)}),t.updateXGrid&&t.updateXGrid(!0);const o={};["axis.x","grid.x","gridLines.x","region.list","text","bar","line","area","circle"].forEach(r=>{const l=r.split(".");let c=n[l[0]];c&&l.length>1&&(c=c[l[1]]),c!=null&&c.size()&&(o[r]=c)}),t.hideGridFocus(),t.setFlowList(o,e)}},setFlowList(e,t){const s=this,{flow:i,targets:n}=t,{duration:a=t.duration,index:o,length:r,orgDataCount:l}=i,c=s.getFlowTransform(n,l,o,r),u=ys();let d;u.add(Object.keys(e).map(h=>(d=e[h].transition().ease(ho.easeLinear).duration(a),h==="axis.x"?d=d.call(g=>{s.axis.x.setTransition(g).create(g)}):h==="region.list"?d=d.filter(s.isRegionOnX).attr("transform",c):d=d.attr("transform",c),d))),d.call(u,()=>{s.cleanUpFlow(e,t)})},cleanUpFlow(e,t){const s=this,{config:i,state:n,$el:{svg:a}}=s,o=i.axis_rotated,{flow:r,shape:l,xv:c}=t,{cx:u,cy:d,xForText:h,yForText:g}=l.pos,{done:f=()=>{},length:p}=r;p&&(["circle","text","shape","eventRect"].forEach(_=>{const x=[];for(let m=0;m{const x=e[_];if(_!=="axis.x"&&x.attr("transform",null),_==="grid.x")x.attr(n.xgridAttr);else if(_==="gridLines.x")x.attr("x1",o?0:c).attr("x2",o?n.width:c),x.select("text").attr("x",o?n.width:0).attr("y",c);else if(/^(area|bar|line)$/.test(_))x.attr("d",l.type[_]);else if(_==="text")x.attr("x",h).attr("y",g).style("fill-opacity",s.opacityForText.bind(s));else if(_==="circle")if(s.isCirclePoint())x.attr("cx",u).attr("cy",d);else{const m=b=>u(b)-i.point_r,$=b=>d(b)-i.point_r;x.attr("x",m).attr("y",$)}else _==="region.list"&&x.select("rect").filter(s.isRegionOnX).attr("x",s.regionX.bind(s)).attr("width",s.regionWidth.bind(s))}),i.interaction_enabled&&s.redrawEventRect(),f.call(s.api),n.flowing=!1},getFlowTransform(e,t,s,i){const n=this,{data:a,scale:{x:o}}=n,r=a.targets[0].values;let l=n.getValueOnIndex(r,s),c=n.getValueOnIndex(r,s+i),u;const d=o.domain(),h=n.updateXDomain(e,!0,!0);t?t===1||(l==null?void 0:l.x)===(c==null?void 0:c.x)?u=o(d[0])-o(h[0]):u=n.axis.isTimeSeries()?o(d[0])-o(h[0]):o((l==null?void 0:l.x)||0)-o(c.x):r.length!==1?u=o(d[0])-o(h[0]):n.axis.isTimeSeries()?(l=n.getValueOnIndex(r,0),c=n.getValueOnIndex(r,r.length-1),u=o(l.x)-o(c.x)):u=Nt(h)/2;const g=Nt(d)/Nt(h);return`translate(${u},0) scale(${g},1)`}},fo={initClip(){const e=this,{clip:t,datetimeId:s}=e.state;t.id=`${s}-clip`,t.idXAxis=`${t.id}-xaxis`,t.idYAxis=`${t.id}-yaxis`,t.idGrid=`${t.id}-grid`,t.path=e.getClipPath(t.id),t.pathXAxis=e.getClipPath(t.idXAxis),t.pathYAxis=e.getClipPath(t.idYAxis),t.pathGrid=e.getClipPath(t.idGrid)},getClipPath(e){const t=this,{config:s}=t;return!s.clipPath&&/-clip$/.test(e)||!s.axis_x_clipPath&&/-clip-xaxis$/.test(e)||!s.axis_y_clipPath&&/-clip-yaxis$/.test(e)?null:`url(#${e})`},appendClip(e,t){t&&e.append("clipPath").attr("id",t).append("rect")},setXAxisClipPath(e){const t=this,{config:s,state:{margin:i,width:n,height:a}}=t,o=s.axis_rotated,r=Math.max(30,i.left)-(o?0:20),l=(o?i.top+a+10:i.bottom)+20,c=o?-(1+r):-(r-1),u=-15,d=o?i.left+20:n+10+r;e.attr("x",c).attr("y",u).attr("width",d).attr("height",l)},setYAxisClipPath(e){const t=this,{config:s,state:{margin:i,width:n,height:a}}=t,o=s.axis_rotated,r=Math.max(30,i.left)-(o?20:0),l=s.axis_y_inner,c=l&&!o?s.axis_y_label.text?-20:-1:o?-(1+r):-(r-1),u=-(o?20:i.top),d=(o?n+15+r:i.left+20)+(l?20:0),h=(o?i.bottom+10:i.top+a)+10;e.attr("x",c).attr("y",u).attr("width",d).attr("height",h)},updateXAxisTickClip(){const e=this,{config:t,state:{clip:s,xAxisHeight:i},$el:{defs:n}}=e,a=e.getHorizontalAxisHeight("x");if(n&&!s.idXAxisTickTexts){const o=`${s.id}-xaxisticktexts`;e.appendClip(n,o),s.pathXAxisTickTexts=e.getClipPath(s.idXAxisTickTexts),s.idXAxisTickTexts=o}!t.axis_x_tick_multiline&&e.getAxisTickRotate("x")&&a!==i&&(e.setXAxisTickClipWidth(),e.setXAxisTickTextClipPathWidth()),e.state.xAxisHeight=a},setXAxisTickClipWidth(){const e=this,{config:t,state:{current:{maxTickSize:s}}}=e,i=e.getAxisTickRotate("x");if(!t.axis_x_tick_multiline&&i){const n=Math.sin(Math.PI/180*Math.abs(i));s.x.clipPath=(e.getHorizontalAxisHeight("x")-20)/n}else s.x.clipPath=null},setXAxisTickTextClipPathWidth(){const e=this,{state:{clip:t,current:s},$el:{svg:i}}=e;i&&i.select(`#${t.idXAxisTickTexts} rect`).attr("width",s.maxTickSize.x.clipPath).attr("height",30)}};const po=e=>M(e.position)||"end",xo=e=>e.position==="start"?4:e.position==="middle"?0:-4;function Zs(e,t,s){return i=>{let n=e?0:t;return i.position==="start"?n=e?-s:0:i.position==="middle"&&(n=(e?-s:t)/2),n}}function qs(e,t){t==="grid"&&e.each(function(){const s=(0,w.select)(this);["x1","x2","y1","y2"].forEach(i=>s.attr(i,+s.attr(i)))})}var _o={hasGrid(){const{config:e}=this;return["x","y"].some(t=>e[`grid_${t}_show`]||e[`grid_${t}_lines`].length)},initGrid(){const e=this;e.hasGrid()&&e.initGridLines(),e.initFocusGrid()},initGridLines(){const e=this,{config:t,state:{clip:s},$el:i}=e;(t.grid_x_lines.length||t.grid_y_lines.length)&&(i.gridLines.main=i.main.insert("g",`.${D.chart}${t.grid_lines_front?" + *":""}`).attr("clip-path",s.pathGrid).attr("class",`${et.grid} ${et.gridLines}`),i.gridLines.main.append("g").attr("class",et.xgridLines),i.gridLines.main.append("g").attr("class",et.ygridLines),i.gridLines.x=(0,w.selectAll)([]))},updateXGrid(e){const t=this,{config:s,scale:i,state:n,$el:{main:a,grid:o}}=t,r=s.axis_rotated,l=t.generateGridData(s.grid_x_type,i.x),c=t.axis.isCategorized()?t.axis.x.tickOffset():0,u=d=>(i.zoom||i.x)(d)+c*(r?-1:1);n.xgridAttr=r?{x1:0,x2:n.width,y1:u,y2:u}:{x1:u,x2:u,y1:0,y2:n.height},o.x=a.select(`.${et.xgrids}`).selectAll(`.${et.xgrid}`).data(l),o.x.exit().remove(),o.x=o.x.enter().append("line").attr("class",et.xgrid).merge(o.x),e||o.x.each(function(){const d=(0,w.select)(this);Object.keys(n.xgridAttr).forEach(h=>{d.attr(h,n.xgridAttr[h]).style("opacity",()=>d.attr(r?"y1":"x1")===(r?n.height:0)?"0":null)})})},updateYGrid(){const e=this,{axis:t,config:s,scale:i,state:n,$el:{grid:a,main:o}}=e,r=s.axis_rotated,l=u=>i.y(u),c=t.y.getGeneratedTicks(s.grid_y_ticks)||e.scale.y.ticks(s.grid_y_ticks);a.y=o.select(`.${et.ygrids}`).selectAll(`.${et.ygrid}`).data(c),a.y.exit().remove(),a.y=a.y.enter().append("line").attr("class",et.ygrid).merge(a.y),a.y.attr("x1",r?l:0).attr("x2",r?l:n.width).attr("y1",r?0:l).attr("y2",r?n.height:l),qs(a.y,"grid")},updateGrid(){const e=this,{$el:{grid:t,gridLines:s}}=e;!s.main&&e.initGridLines(),t.main.style("visibility",e.hasArcType()?"hidden":null),e.hideGridFocus(),e.updateGridLines("x"),e.updateGridLines("y")},updateGridLines(e){const t=this,{config:s,$el:{gridLines:i,main:n},$T:a}=t,o=s.axis_rotated,r=e==="x";s[`grid_${e}_show`]&&t[`update${e.toUpperCase()}Grid`]();let l=n.select(`.${et[`${e}gridLines`]}`).selectAll(`.${et[`${e}gridLine`]}`).data(s[`grid_${e}_lines`]);a(l.exit()).style("opacity","0").remove();const c=l.enter().append("g");c.append("line").style("opacity","0"),l=c.merge(l),l.each(function(u){const d=(0,w.select)(this);d.select("text").empty()&&u.text&&d.append("text").style("opacity","0")}),a(l.attr("class",u=>`${et[`${e}gridLine`]} ${u.class||""}`.trim()).select("text").attr("text-anchor",po).attr("transform",()=>r?o?null:"rotate(-90)":o?"rotate(-90)":null).attr("dx",xo).attr("dy",-5)).text(function(u){var d;return(d=u.text)!=null?d:this.remove()}),i[e]=l},redrawGrid(e){const t=this,{config:{axis_rotated:s},state:{width:i,height:n},$el:{gridLines:a},$T:o}=t,r=t.xv.bind(t),l=t.yv.bind(t);let c=a.x.select("line"),u=a.x.select("text"),d=a.y.select("line"),h=a.y.select("text");return c=o(c,e).attr("x1",s?0:r).attr("x2",s?i:r).attr("y1",s?r:0).attr("y2",s?r:n),u=o(u,e).attr("x",Zs(!s,i,n)).attr("y",r),d=o(d,e).attr("x1",s?l:0).attr("x2",s?l:i).attr("y1",s?0:l).attr("y2",s?n:l),h=o(h,e).attr("x",Zs(s,i,n)).attr("y",l),[c.style("opacity",null),u.style("opacity",null),d.style("opacity",null),h.style("opacity",null)]},initFocusGrid(){const e=this,{config:t,state:{clip:s},$el:i}=e,n=t.grid_front,a=`.${n&&i.gridLines.main?et.gridLines:D.chart}${n?" + *":""}`,o=i.main.insert("g",a).attr("clip-path",s.pathGrid).attr("class",et.grid);if(i.grid.main=o,t.grid_x_show&&o.append("g").attr("class",et.xgrids),t.grid_y_show&&o.append("g").attr("class",et.ygrids),t.axis_tooltip){const r=o.append("g").attr("class","bb-axis-tooltip");r.append("line").attr("class","bb-axis-tooltip-x"),r.append("line").attr("class","bb-axis-tooltip-y")}t.interaction_enabled&&t.grid_focus_show&&!t.axis_tooltip&&(o.append("g").attr("class",q.xgridFocus).append("line").attr("class",q.xgridFocus),t.grid_focus_y&&!t.tooltip_grouped&&o.append("g").attr("class",q.ygridFocus).append("line").attr("class",q.ygridFocus))},showAxisGridFocus(){var e,t;const s=this,{config:i,format:n,state:{event:a,width:o,height:r}}=s,l=i.axis_rotated,[c,u]=yt(a,(e=s.$el.eventRect)==null?void 0:e.node()),d={x:c,y:u};for(const[h,g]of Object.entries(s.$el.axisTooltip)){const f=h==="x"&&!l||h!=="x"&&l?"x":"y",p=d[f];let _=(t=s.scale[h])==null?void 0:t.invert(p);_&&(_=h==="x"&&s.axis.isTimeSeries()?n.xAxisTick(_):_==null?void 0:_.toFixed(2),g==null||g.attr(f,p).text(_))}s.$el.main.selectAll("line.bb-axis-tooltip-x, line.bb-axis-tooltip-y").style("visibility",null).each(function(h,g){const f=(0,w.select)(this);g===0?f.attr("x1",c).attr("x2",c).attr("y1",g?0:r).attr("y2",g?r:0):f.attr("x1",g?0:o).attr("x2",g?o:0).attr("y1",u).attr("y2",u)})},hideAxisGridFocus(){const e=this;e.$el.main.selectAll("line.bb-axis-tooltip-x, line.bb-axis-tooltip-y").style("visibility","hidden"),Object.values(e.$el.axisTooltip).forEach(t=>t==null?void 0:t.style("display","none"))},showGridFocus(e){var t;const s=this,{config:i,state:{width:n,height:a}}=s,o=i.axis_rotated,r=s.$el.main.selectAll(`line.${q.xgridFocus}, line.${q.ygridFocus}`),l=(e||[r.datum()]).filter(d=>d&&M(s.getBaseValue(d)));if(!i.tooltip_show||l.length===0||!i.axis_x_forceAsSingle&&s.hasType("bubble")||s.hasArcType())return;const c=i.grid_focus_edge&&!i.tooltip_grouped,u=s.xx.bind(s);r.style("visibility",null).data(l.concat(l)).each(function(d){const h=(0,w.select)(this),g={x:u(d),y:s.getYScaleById(d.id)(d.value)};let f;if(h.classed(q.xgridFocus))f=o?[null,g.x,c?g.y:n,g.x]:[g.x,c?g.y:null,g.x,a];else{const p=s.axis.getId(d.id)==="y2";f=o?[g.y,c&&!p?g.x:null,g.y,c&&p?g.x:a]:[c&&p?g.x:null,g.y,c&&!p?g.x:n,g.y]}["x1","y1","x2","y2"].forEach((p,_)=>h.attr(p,f[_]))}),qs(r,"grid"),(t=s.showCircleFocus)==null||t.call(s,e)},hideGridFocus(){var e;const t=this,{state:{inputType:s,resizing:i},$el:{main:n}}=t;(s==="mouse"||!i)&&(n.selectAll(`line.${q.xgridFocus}, line.${q.ygridFocus}`).style("visibility","hidden"),(e=t.hideCircleFocus)==null||e.call(t))},updateGridFocus(){var e;const t=this,{state:{inputType:s,width:i,height:n,resizing:a},$el:{grid:o}}=t,r=o.main.select(`line.${q.xgridFocus}`);if(s==="touch")r.empty()?a&&((e=t.showCircleFocus)==null||e.call(t)):t.showGridFocus();else{const l=t.config.axis_rotated;r.attr("x1",l?0:-10).attr("x2",l?i:-10).attr("y1",l?-10:0).attr("y2",l?-10:n)}return!0},generateGridData(e,t){const s=this,i=s.$el.main.select(`.${at.axisX}`).selectAll(".tick").size();let n=[];if(e==="year"){const a=s.getXDomain(),[o,r]=a.map(l=>l.getFullYear());for(let l=o;l<=r;l++)n.push(new Date(`${l}-01-01 00:00:00`))}else n=t.ticks(10),n.length>i&&(n=n.filter(a=>String(a).indexOf(".")<0));return n},getGridFilterToRemove(e){return e?t=>{let s=!1;return(N(e)?e.concat():[e]).forEach(i=>{("value"in i&&t.value===i.value||"class"in i&&t.class===i.class)&&(s=!0)}),s}:()=>!0},removeGridLines(e,t){const s=this,{config:i,$T:n}=s,a=s.getGridFilterToRemove(e),o=u=>!a(u),r=t?et.xgridLines:et.ygridLines,l=t?et.xgridLine:et.ygridLine;n(s.$el.main.select(`.${r}`).selectAll(`.${l}`).filter(a)).style("opacity","0").remove();const c=`grid_${t?"x":"y"}_lines`;i[c]=i[c].filter(o)}},mo={initRegion(){const e=this,{$el:t}=e;t.region.main=t.main.insert("g",":first-child").attr("clip-path",e.state.clip.path).attr("class",le.regions)},updateRegion(){const e=this,{config:t,$el:{region:s},$T:i}=e;s.main||e.initRegion(),s.main.style("visibility",e.hasArcType()?"hidden":null);const n=s.main.selectAll(`.${le.region}`).data(t.regions);i(n.exit()).style("opacity","0").remove();const a=n.enter().append("g");a.append("rect").style("fill-opacity","0"),s.list=a.merge(n).attr("class",e.classRegion.bind(e)),s.list.each(function(o){var r;(0,w.select)(this).select("text").empty()&&((r=o.label)!=null&&r.text)&&(0,w.select)(this).append("text").style("opacity","0")})},redrawRegion(e){const t=this,{$el:{region:s},$T:i}=t;let n=s.list.select("rect"),a=s.list.selectAll("text");return n=i(n,e).attr("x",t.regionX.bind(t)).attr("y",t.regionY.bind(t)).attr("width",t.regionWidth.bind(t)).attr("height",t.regionHeight.bind(t)),a=i(a,e).attr("transform",o=>{var r;const{x:l=0,y:c=0,rotated:u=!1}=(r=o.label)!=null?r:{};return`translate(${t.regionX.bind(t)(o)+l}, ${t.regionY.bind(t)(o)+c})${u?" rotate(-90)":""}`}).attr("text-anchor",o=>{var r;return(r=o.label)!=null&&r.rotated?"end":null}).attr("dy","1em").style("fill",o=>{var r,l;return(l=(r=o.label)==null?void 0:r.color)!=null?l:null}).text(o=>{var r;return(r=o.label)==null?void 0:r.text}),[n.style("fill-opacity",o=>M(o.opacity)?o.opacity:null).on("end",function(){(0,w.select)(this.parentNode).selectAll("rect:not([x])").remove()}),a.style("opacity",null)]},getRegionXY(e,t){const s=this,{config:i,scale:n}=s,a=i.axis_rotated,o=e==="x";let r="start",l,c=0;return t.axis==="y"||t.axis==="y2"?(o||(r="end"),(o?a:!a)&&r in t&&(l=n[t.axis],c=l(t[r]))):(o?!a:a)&&r in t&&(l=n.zoom||n.x,c=l(s.axis.isTimeSeries()?mt.call(s,t[r]):t[r])),c},regionX(e){return this.getRegionXY("x",e)},regionY(e){return this.getRegionXY("y",e)},getRegionSize(e,t){const s=this,{config:i,scale:n,state:a}=s,o=i.axis_rotated,r=e==="width",l=s[r?"regionX":"regionY"](t);let c,u="end",d=a[e];return t.axis==="y"||t.axis==="y2"?(r||(u="start"),(r?o:!o)&&u in t&&(c=n[t.axis],d=c(t[u]))):(r?!o:o)&&u in t&&(c=n.zoom||n.x,d=c(s.axis.isTimeSeries()?mt.call(s,t[u]):t[u])),d0&&(!n.axis_x_tick_autorotate||i.needToRotateXAxisTickTexts());return(n.axis_x_tick_multiline||_)&&p.height>g&&(f+=p.height-g),f+(i.axis.getLabelPositionById(e).isInner?0:10)+(e==="y2"&&!c?-10:0)},getEventRectWidth(){const e=this,{config:t,axis:s}=e,i=t.axis_x_inverted,n=s.x.tickInterval();return Math.max(0,i?Math.abs(n):n)},getAxisTickRotate(e){const t=this,{axis:s,config:i,state:n,$el:a}=t;let o=i[`axis_${e}_tick_rotate`];if(e==="x"){const r=s.isCategorized()||s.isTimeSeries();if(i.axis_x_tick_fit&&r){const l=i.axis_x_tick_count,c=n.current.maxTickSize.x.ticks.length;let u=0;if(l?u=l>c?c:l:c&&(u=c),u!==n.axis.x.tickCount){const{targets:d}=t.data;n.axis.x.padding=t.getXDomainPadding([t.getXDomainMinMax(d,"min"),t.getXDomainMinMax(d,"max")],u)}n.axis.x.tickCount=u}a.svg&&i.axis_x_tick_autorotate&&i.axis_x_tick_fit&&!i.axis_x_tick_multiline&&!i.axis_x_tick_culling&&r&&(o=t.needToRotateXAxisTickTexts()?i.axis_x_tick_rotate:0)}return o},needToRotateXAxisTickTexts(){const e=this,{state:{axis:t,current:s,isLegendRight:i,legendItemWidth:n}}=e,a=i&&n,o=s.width-a-e.getCurrentPaddingByDirection("left")-e.getCurrentPaddingByDirection("right"),r=t.x.tickCount+t.x.padding.left+t.x.padding.right,{width:l}=e.axis.getMaxTickSize("x"),c=r?o/r:0;return l>c}},yo={axis_x_clipPath:!0,axis_x_show:!0,axis_x_forceAsSingle:!1,axis_x_type:"indexed",axis_x_localtime:!0,axis_x_categories:[],axis_x_tick_centered:!1,axis_x_tick_format:void 0,axis_x_tick_culling:{},axis_x_tick_culling_max:10,axis_x_tick_culling_lines:!0,axis_x_tick_count:void 0,axis_x_tick_show:!0,axis_x_tick_text_show:!0,axis_x_tick_text_inner:!1,axis_x_tick_text_position:{x:0,y:0},axis_x_tick_fit:!0,axis_x_tick_values:null,axis_x_tick_autorotate:!1,axis_x_tick_rotate:0,axis_x_tick_outer:!0,axis_x_tick_multiline:!0,axis_x_tick_width:null,axis_x_tick_tooltip:!1,axis_x_max:void 0,axis_x_min:void 0,axis_x_inverted:!1,axis_x_padding:{},axis_x_height:void 0,axis_x_extent:void 0,axis_x_label:{},axis_x_axes:[]},bo={axis_y_clipPath:!0,axis_y_show:!0,axis_y_type:"indexed",axis_y_max:void 0,axis_y_min:void 0,axis_y_inverted:!1,axis_y_center:void 0,axis_y_inner:!1,axis_y_label:{},axis_y_tick_format:void 0,axis_y_tick_culling:!1,axis_y_tick_culling_max:5,axis_y_tick_culling_lines:!0,axis_y_tick_outer:!0,axis_y_tick_values:null,axis_y_tick_rotate:0,axis_y_tick_count:void 0,axis_y_tick_show:!0,axis_y_tick_stepSize:null,axis_y_tick_text_show:!0,axis_y_tick_text_position:{x:0,y:0},axis_y_tick_time_value:void 0,axis_y_padding:{},axis_y_default:void 0,axis_y_axes:[]},vo={axis_y2_show:!1,axis_y2_type:"indexed",axis_y2_max:void 0,axis_y2_min:void 0,axis_y2_inverted:!1,axis_y2_center:void 0,axis_y2_inner:!1,axis_y2_label:{},axis_y2_tick_format:void 0,axis_y2_tick_culling:!1,axis_y2_tick_culling_max:5,axis_y2_tick_culling_lines:!0,axis_y2_tick_outer:!0,axis_y2_tick_values:null,axis_y2_tick_rotate:0,axis_y2_tick_count:void 0,axis_y2_tick_show:!0,axis_y2_tick_stepSize:null,axis_y2_tick_text_show:!0,axis_y2_tick_text_position:{x:0,y:0},axis_y2_padding:{},axis_y2_default:void 0,axis_y2_axes:[]},To=Object.defineProperty,Ks=Object.getOwnPropertySymbols,Ao=Object.prototype.hasOwnProperty,wo=Object.prototype.propertyIsEnumerable,Js=(e,t,s)=>t in e?To(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Ue=(e,t)=>{for(var s in t||(t={}))Ao.call(t,s)&&Js(e,s,t[s]);if(Ks)for(var s of Ks(t))wo.call(t,s)&&Js(e,s,t[s]);return e},So=Ue(Ue(Ue({axis_evalTextSize:!0,axis_rotated:!1,axis_tooltip:!1},yo),bo),vo),Ro={grid_x_show:!1,grid_x_type:"tick",grid_x_lines:[],grid_y_show:!1,grid_y_lines:[],grid_y_ticks:void 0,grid_focus_edge:!1,grid_focus_show:!0,grid_focus_y:!1,grid_front:!1,grid_lines_front:!0},Co={data_xs:{},data_xFormat:"%Y-%m-%d",data_xLocaltime:!0,data_xSort:!0,data_axes:{},data_regions:{},data_stack_normalize:!1};const Eo=[Ua,Za,qa,Ka,Ja,Qa,to],Qs={axis:lo,clip:fo,eventrect:uo,flow:go,grid:_o,region:mo,sizeAxis:$o},ti={optDataAxis:Co,optAxis:So,optGrid:Ro};var ei=U(13),ko=Object.defineProperty,Lo=Object.defineProperties,Po=Object.getOwnPropertyDescriptors,si=Object.getOwnPropertySymbols,Oo=Object.prototype.hasOwnProperty,Io=Object.prototype.propertyIsEnumerable,ii=(e,t,s)=>t in e?ko(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Do=(e,t)=>{for(var s in t||(t={}))Oo.call(t,s)&&ii(e,s,t[s]);if(si)for(var s of si(t))Io.call(t,s)&&ii(e,s,t[s]);return e},zo=(e,t)=>Lo(e,Po(t));function ni(e=0){const t=this,{config:s,state:i}=t,n=t.hasMultiArcGauge(),a=i.gaugeArcWidth/t.filterTargetsToShow(t.data.targets).length,o=e?Math.min(i.radiusExpanded*e-i.radius,a*.8-(1-e)*100):0;return{inner(r){const{innerRadius:l}=t.getRadius(r);return n?i.radius-a*(r.index+1):L(l)?l:0},outer(r){const{outerRadius:l}=t.getRadius(r);let c;if(n)c=i.radius-a*r.index+o;else if(t.hasType("polar")&&!e)c=t.getPolarOuterRadius(r,l);else if(c=l,e){let{radiusExpanded:u}=i;i.radius!==l&&(u-=Math.abs(i.radius-l)),c=u*e}return c},corner(r,l){const{arc_cornerRadius_ratio:c=0,arc_cornerRadius:u=0}=s,{data:{id:d},value:h}=r;let g=0;return c?g=c*l:g=L(u)?u:u.call(t.api,d,h,l),g}}}function Ze(e){return function(t){const s=({startAngle:n=0,endAngle:a=0,padAngle:o=0})=>({startAngle:n,endAngle:a,padAngle:o}),i=(0,ei.interpolate)(s(this._current),s(t));return this._current=t,function(n){const a=i(n),{data:o,index:r,value:l}=t;return e(zo(Do({},a),{data:o,index:r,value:l}))}}}var Fo={initPie(){const e=this,{config:t}=e,s=t.data_type,i=t[`${s}_padding`],n=t[`${s}_startingAngle`]||0,a=(i?i*.01:t[`${s}_padAngle`])||0;e.pie=(0,tt.pie)().startAngle(n).endAngle(n+2*Math.PI).padAngle(a).value(o=>{var r,l;return(l=(r=o.values)==null?void 0:r.reduce((c,u)=>c+u.value,0))!=null?l:o}).sort(e.getSortCompareFn.bind(e)(!0))},updateRadius(){const e=this,{config:t,state:s}=e,i=t.data_type,n=t[`${i}_padding`],a=t.gauge_width||t.donut_width,o=e.filterTargetsToShow(e.data.targets).length*t.gauge_arcs_minWidth;s.radiusExpanded=Math.min(s.arcWidth,s.arcHeight)/2*(e.hasMultiArcGauge()&&t.gauge_label_show?.85:1),s.radius=s.radiusExpanded*.95,s.innerRadiusRatio=a?(s.radius-a)/s.radius:.6,s.gaugeArcWidth=a||(o<=s.radius-s.innerRadius?s.radius-s.innerRadius:o<=s.radius?o:s.radius);const r=t.pie_innerRadius||(n?n*(s.innerRadiusRatio+.1):0);s.outerRadius=t.pie_outerRadius,s.innerRadius=e.hasType("donut")||e.hasType("gauge")?s.radius*s.innerRadiusRatio:r},getRadius(e){const t=this,s=e==null?void 0:e.data;let{innerRadius:i,outerRadius:n}=t.state;return!L(i)&&s&&(i=i[s.id]||0),X(n)&&s&&s.id in n?n=n[s.id]:L(n)||(n=t.state.radius),{innerRadius:i,outerRadius:n}},updateArc(){const e=this;e.updateRadius(),e.svgArc=e.getSvgArc(),e.svgArcExpanded=e.getSvgArcExpanded()},getArcLength(){const e=this,{config:t}=e,s=t.gauge_arcLength*3.6;let i=2*(s/360);return s<-360?i=-2:s>360&&(i=2),i*Math.PI},getStartingAngle(){const e=this,{config:t}=e,s=t.data_type,i=e.hasType("gauge")?t.gauge_fullCircle:!1,n=-1*Math.PI/2,a=Math.PI/2;let o=t[`${s}_startingAngle`]||0;return!i&&o<=n?o=n:!i&&o>=a?o=a:(o>Math.PI||o<-1*Math.PI)&&(o=Math.PI),o},updateAngle(e,t=!1){var s;const i=this,{config:n,state:a}=i,o=t&&i.hasType("gauge");let{pie:r}=i,l=e,c=!1;if(!n)return null;const u=i.getStartingAngle(),d=n.gauge_fullCircle||t&&!o?i.getArcLength():u*-2;if(l.data&&i.isGaugeType(l.data)&&!i.hasMultiArcGauge()){const{gauge_min:h,gauge_max:g}=n,f=i.getTotalDataSum(a.rendered),p=d*((f-h)/(g-h));r=r.startAngle(u).endAngle(p+u)}if(t===!1&&r(i.filterTargetsToShow()).forEach((h,g)=>{var f;!c&&h.data.id===((f=l.data)==null?void 0:f.id)&&(c=!0,l=h,l.index=g)}),isNaN(l.startAngle)&&(l.startAngle=0),isNaN(l.endAngle)&&(l.endAngle=l.startAngle),t||l.data&&(n.gauge_enforceMinMax||i.hasMultiArcGauge())){const{gauge_min:h,gauge_max:g}=n,f=t&&!o?i.getTotalDataSum(a.rendered):g,p=d/(f-h),_=(s=l.value)!=null?s:0,x=_{const r=t.updateAngle(o),l=i(r);let c=0;return r&&(c=n(r,l)),r?a.cornerRadius(c)(r):"M 0 0"}},getArc(e,t,s){return s||this.isArcType(e.data)?this.svgArc(e,t):"M 0 0"},redrawArcRangeText(){const e=this,{config:t,$el:{arcs:s},state:i,$T:n}=e,a=t.arc_rangeText_format,o=e.hasType("gauge")&&t.arc_rangeText_fixed;let r=t.arc_rangeText_values;if(r!=null&&r.length){const l=t.arc_rangeText_unit==="%",c=e.getTotalDataSum(i.rendered);l&&(r=r.map(h=>c/100*h));const u=e.pie(r).map((h,g)=>(h.index=g,h));let d=s.selectAll(`.${G.arcRange}`).data(r);d.exit(),d=n(d.enter().append("text").attr("class",G.arcRange).style("text-anchor","middle").style("pointer-events","none").style("opacity","0").text(h=>{const g=l?h/c*100:h;return O(a)?a(g):`${g}${l?"%":""}`}).merge(d)),(!i.rendered||i.rendered&&!o)&&c>0&&d.attr("transform",(h,g)=>e.transformForArcLabel(u[g],!0)),d.style("opacity",h=>!o&&(h>c||c===0)?"0":null)}},transformForArcLabel(e,t=!1){var s,i,n;const a=this,{config:o,state:{radiusExpanded:r}}=a,l=a.updateAngle(e,t);let c="";if(l){if(t||a.hasMultiArcGauge()){const u=Math.sin(l.endAngle-Math.PI/2),d=o.arc_rangeText_position;let h=Math.cos(l.endAngle-Math.PI/2)*(r+(t?5:25)),g=u*(r+15-Math.abs(u*10))+3;if(t&&d){const f=o.arc_rangeText_values,p=O(d)?d(f[e.index]):d;h+=(s=p==null?void 0:p.x)!=null?s:0,g+=(i=p==null?void 0:p.y)!=null?i:0}c=`translate(${h},${g})`}else if(!a.hasType("gauge")||a.data.targets.length>1){let{outerRadius:u}=a.getRadius(e);a.hasType("polar")&&(u=a.getPolarOuterRadius(e,u));const d=this.svgArc.centroid(l),[h,g]=d.map(_=>isNaN(_)?0:_),f=Math.sqrt(h*h+g*g);let p=(n=["donut","gauge","pie","polar"].filter(a.hasType.bind(a)).map(_=>o[`${_}_label_ratio`]))==null?void 0:n[0];p?p=O(p)?p.bind(a.api)(e,u,f):p:p=u&&(f?(36/u>.375?1.175-36/u:.8)*u/f:0),c=`translate(${h*p},${g*p})`}}return c},convertToArcData(e){return this.addName({id:"data"in e?e.data.id:e.id,value:e.value,ratio:this.getRatio("arc",e),index:e.index})},textForArcLabel(e){const t=this,s=t.hasType("gauge");t.shouldShowArcLabel()&&e.style("fill",t.updateTextColor.bind(t)).attr("filter",i=>t.updateTextBGColor.bind(t)(i,t.config.data_labels_backgroundColors)).each(function(i){var n;const a=(0,w.select)(this),o=t.updateAngle(i),r=t.getRatio("arc",o);if(t.meetsLabelThreshold(r,(n=["donut","gauge","pie","polar"].filter(t.hasType.bind(t)))==null?void 0:n[0])){const{value:c}=o||i,u=(t.getArcLabelFormat()||t.defaultArcValueFormat)(c,r,i.data.id).toString();ce(a,u,[-1,1],s)}else a.text("")})},expandArc(e){const t=this,{state:{transiting:s},$el:i}=t;if(s){const a=setInterval(()=>{s||(clearInterval(a),i.legend.selectAll(`.${q.legendItemFocused}`).size()>0&&t.expandArc(e))},10);return}const n=t.mapToTargetIds(e);i.svg.selectAll(t.selectorTargets(n,`.${G.chartArc}`)).each(function(a){if(!t.shouldExpand(a.data.id))return;const o=t.getExpandConfig(a.data.id,"duration"),r=t.getSvgArcExpanded(t.getExpandConfig(a.data.id,"rate"));(0,w.select)(this).selectAll("path").transition().duration(o).attrTween("d",Ze(t.svgArcExpanded.bind(t))).transition().duration(o*2).attrTween("d",Ze(r.bind(t)))})},unexpandArc(e){const t=this,{state:{transiting:s},$el:{svg:i}}=t;if(s)return;const n=t.mapToTargetIds(e);i.selectAll(t.selectorTargets(n,`.${G.chartArc}`)).selectAll("path").transition().duration(a=>t.getExpandConfig(a.data.id,"duration")).attrTween("d",Ze(t.svgArc.bind(t))),i.selectAll(`${G.arc}`).style("opacity",null)},getExpandConfig(e,t){const s=this,{config:i}=s,n={duration:50,rate:.98};let a;return s.isDonutType(e)?a="donut":s.isGaugeType(e)?a="gauge":s.isPieType(e)&&(a="pie"),a?i[`${a}_expand_${t}`]:n[t]},shouldExpand(e){const t=this,{config:s}=t;return t.isDonutType(e)&&s.donut_expand||t.isGaugeType(e)&&s.gauge_expand||t.isPieType(e)&&s.pie_expand},shouldShowArcLabel(){const e=this,{config:t}=e;return["donut","gauge","pie","polar"].some(s=>e.hasType(s)&&t[`${s}_label_show`])},getArcLabelFormat(){const e=this,{config:t}=e;let s=i=>i;return["donut","gauge","pie","polar"].filter(e.hasType.bind(e)).forEach(i=>{s=t[`${i}_label_format`]}),O(s)?s.bind(e.api):s},updateTargetsForArc(e){const t=this,{$el:s}=t,i=t.hasType("gauge"),n=t.getChartClass("Arc"),a=t.getClass("arcs",!0),o=t.classFocus.bind(t),r=s.main.select(`.${G.chartArcs}`),l=r.selectAll(`.${G.chartArc}`).data(t.pie(e)).attr("class",u=>n(u)+o(u.data)),c=l.enter().append("g").attr("class",n).call(this.setCssRule(!1,`.${G.chartArcs} text`,["pointer-events:none","text-anchor:middle"]));c.append("g").attr("class",a).merge(l),c.append("text").attr("dy",i&&!t.hasMultiTargets()?"-.1em":".35em").style("opacity","0").style("text-anchor",t.getStylePropValue("middle")).style("pointer-events",t.getStylePropValue("none")),s.text=r.selectAll(`.${D.target} text`)},initArc(){const e=this,{$el:t}=e;t.arcs=t.main.select(`.${D.chart}`).append("g").attr("class",G.chartArcs).attr("transform",e.getTranslate("arc")),e.setArcTitle()},setArcTitle(e){const t=this,s=e||t.getArcTitle(),i=t.hasType("gauge");if(s){const n=i?_t.chartArcsGaugeTitle:G.chartArcsTitle;let a=t.$el.arcs.select(`.${n}`);a.empty()&&(a=t.$el.arcs.append("text").attr("class",n).style("text-anchor","middle")),i&&a.attr("dy","-0.3em"),ce(a,s,i?void 0:[-.6,1.35],!0)}},getArcTitle(){const e=this,t=e.hasType("donut")&&"donut"||e.hasType("gauge")&&"gauge";return t?e.config[`${t}_title`]:""},getArcTitleWithNeedleValue(){const e=this,{config:t,state:s}=e,i=e.getArcTitle();if(i&&e.config.arc_needle_show&&/{=[A-Z_]+}/.test(i)){let n=s.current.needle;return L(n)||(n=t.arc_needle_value),Ae(i,{NEEDLE_VALUE:L(n)?n:0})}return!1},redrawArc(e,t,s){const i=this,{config:n,state:a,$el:{main:o}}=i,r=n.interaction_enabled,l=r&&n.data_selection_isselectable;let c=o.selectAll(`.${G.arcs}`).selectAll(`.${G.arc}`).data(i.arcData.bind(i));c.exit().transition().duration(t).style("opacity","0").remove(),c=c.enter().append("path").attr("class",i.getClass("arc",!0)).style("fill",u=>i.color(u.data)).style("cursor",u=>{var d;return(d=l==null?void 0:l.bind)!=null&&d.call(l,i.api)(u)?"pointer":null}).style("opacity","0").each(function(u){i.isGaugeType(u.data)&&(u.startAngle=n.gauge_startingAngle,u.endAngle=n.gauge_startingAngle),this._current=u}).merge(c),i.hasType("gauge")&&(i.updateGaugeMax(),i.hasMultiArcGauge()&&i.redrawArcGaugeLine()),c.attr("transform",u=>!i.isGaugeType(u.data)&&s?"scale(0)":"").style("opacity",function(u){return u===this._current?"0":null}).each(()=>{a.transiting=!0}).transition().duration(e).attrTween("d",function(u){const d=i.updateAngle(u);if(!d)return()=>"M 0 0";isNaN(this._current.startAngle)&&(this._current.startAngle=0),isNaN(this._current.endAngle)&&(this._current.endAngle=this._current.startAngle);const h=(0,ei.interpolate)(this._current,d);return this._current=h(0),function(g){const f=h(g);return f.data=u.data,i.getArc(f,!0)}}).attr("transform",s?"scale(1)":"").style("fill",u=>{let d;return i.levelColor?(d=i.levelColor(u.data.values[0].value),n.data_colors[u.data.id]=d):d=i.color(u.data),d}).style("opacity",null).call(ye,function(){if(i.levelColor){const u=(0,w.select)(this),d=u.datum(this._current);i.updateLegendItemColor(d.data.id,u.style("fill"))}a.transiting=!1,K(n.onrendered,i.api)}),r&&i.bindArcEvent(c),i.hasType("polar")&&i.redrawPolar(),i.hasType("gauge")&&i.redrawBackgroundArcs(),n.arc_needle_show&&i.redrawNeedle(),i.redrawArcText(e),i.redrawArcRangeText()},redrawNeedle(){const e=this,{$el:t,config:s,state:{hiddenTargetIds:i,radius:n}}=e,a=(n-1)/100*s.arc_needle_length,o=i.length!==e.data.targets.length;let r=e.$el.arcs.select(`.${G.needle}`);const l=s.arc_needle_path,c=s.arc_needle_bottom_width/2,u=s.arc_needle_top_width/2,d=s.arc_needle_top_rx,h=s.arc_needle_top_ry,g=s.arc_needle_bottom_len,f=s.arc_needle_bottom_rx,p=s.arc_needle_bottom_ry,_=e.getNeedleAngle(),x=()=>{const m=e.getArcTitleWithNeedleValue();m&&e.setArcTitle(m)};if(x(),r.empty()&&(r=t.arcs.append("path").classed(G.needle,!0),t.needle=r,t.needle.updateHelper=(m,$=!1)=>{t.needle.style("display")!=="none"&&e.$T(t.needle).style("transform",`rotate(${e.getNeedleAngle(m)}deg)`).call(ye,()=>{$&&(s.arc_needle_value=m),x()})}),o){const m=O(l)?l.call(e,a):`M-${c} ${g} A${f} ${p} 0 0 0 ${c} ${g} L${u} -${a} A${d} ${h} 0 0 0 -${u} -${a} L-${c} ${g} Z`;e.$T(r).attr("d",m).style("fill",s.arc_needle_color).style("display",null).style("transform",`rotate(${_}deg)`)}else r.style("display","none")},getNeedleAngle(e){const t=this,{config:s,state:i}=t,n=t.getArcLength(),a=t.hasType("gauge"),o=t.getTotalDataSum(!0);let r=H(e)?e:s.arc_needle_value,l=s[`${s.data_type}_startingAngle`]||0,c=0;if(L(r)||(r=a&&t.data.targets.length===1?o:0),i.current.needle=r,a){l=t.getStartingAngle();const u=s.gauge_fullCircle?n:l*-2,{gauge_min:d,gauge_max:h}=s;c=u*((r-d)/(h-d))}else c=n*(r/o);return(l+c)*(180/Math.PI)},redrawBackgroundArcs(){const e=this,{config:t,state:s}=e,i=e.hasMultiArcGauge(),n=t.gauge_fullCircle,a=e.filterTargetsToShow(e.data.targets).length===0&&!!t.data_empty_label_text,o=e.getStartingAngle(),r=n?o+e.getArcLength():o*-1;let l=e.$el.arcs.select(`${i?"g":""}.${G.chartArcsBackground}`);if(i){let c=0;l=l.selectAll(`path.${G.chartArcsBackground}`).data(e.data.targets),l.enter().append("path").attr("class",(u,d)=>`${G.chartArcsBackground} ${G.chartArcsBackground}-${d}`).merge(l).style("fill",t.gauge_background||null).attr("d",({id:u})=>{if(a||s.hiddenTargetIds.indexOf(u)>=0)return"M 0 0";const d={data:[{value:t.gauge_max}],startAngle:o,endAngle:r,index:c++};return e.getArc(d,!0,!0)}),l.exit().remove()}else l.attr("d",a?"M 0 0":()=>{const c={data:[{value:t.gauge_max}],startAngle:o,endAngle:r};return e.getArc(c,!0,!0)})},bindArcEvent(e){const t=this,{config:s,state:i}=t,n=i.inputType==="touch",a=i.inputType==="mouse";function o(l,c,u){t.expandArc(u),t.api.focus(u),t.toggleFocusLegend(u,!0),t.showTooltip([c],l)}function r(l){const c=(l==null?void 0:l.id)||void 0;t.unexpandArc(c),t.api.revert(),t.revertLegend(),t.hideTooltip()}if(e.on("click",function(l,c,u){var d;const h=t.updateAngle(c);let g;h&&(g=t.convertToArcData(h),(d=t.toggleShape)==null||d.call(t,this,g,u),s.data_onclick.bind(t.api)(g,this))}),a&&e.on("mouseover",function(l,c){if(i.transiting)return;i.event=l;const u=t.updateAngle(c),d=u?t.convertToArcData(u):null,h=(d==null?void 0:d.id)||void 0;o(this,d,h),t.setOverOut(!0,d)}).on("mouseout",(l,c)=>{if(i.transiting||!s.interaction_onout)return;i.event=l;const u=t.updateAngle(c),d=u?t.convertToArcData(u):null;r(),t.setOverOut(!1,d)}).on("mousemove",function(l,c){const u=t.updateAngle(c),d=u?t.convertToArcData(u):null;i.event=l,t.showTooltip([d],this)}),n&&t.hasArcType()&&!t.radars){const l=c=>{var u,d;const{clientX:h,clientY:g}=(d=(u=c.changedTouches)==null?void 0:u[0])!=null?d:{clientX:0,clientY:0};return(0,w.select)(ot.elementFromPoint(h,g))};t.$el.svg.on("touchstart touchmove",function(c){if(i.transiting)return;i.event=c;const d=l(c).datum(),h=d!=null&&d.data&&d.data.id?t.updateAngle(d):null,g=h?t.convertToArcData(h):null,f=(g==null?void 0:g.id)||void 0;t.callOverOutForTouch(g),it(f)?r():o(this,g,f)})}},redrawArcText(e){const t=this,{config:s,state:i,$el:{main:n,arcs:a}}=t,o=t.hasType("gauge"),r=t.hasMultiArcGauge();let l;if(o&&t.data.targets.length===1&&s.gauge_title||(l=n.selectAll(`.${G.chartArc}`).select("text").style("opacity","0").attr("class",c=>t.isGaugeType(c.data)?_t.gaugeValue:null).call(t.textForArcLabel.bind(t)).attr("transform",c=>t.transformForArcLabel.bind(t)(c)).style("font-size",c=>t.isGaugeType(c.data)&&t.data.targets.length===1&&!r?`${Math.round(i.radius/5)}px`:null).transition().duration(e).style("opacity",c=>t.isTargetToShow(c.data.id)&&t.isArcType(c.data)?null:"0"),r&&l.attr("dy","-.1em")),n.select(`.${G.chartArcsTitle}`).style("opacity",t.hasType("donut")||o?null:"0"),o){const c=s.gauge_fullCircle;c&&(l==null||l.attr("dy",`${r?0:Math.round(i.radius/14)}`)),s.gauge_label_show&&(a.select(`.${_t.chartArcsGaugeUnit}`).attr("dy",`${c?1.5:.75}em`).text(s.gauge_units),a.select(`.${_t.chartArcsGaugeMin}`).attr("dx",`${-1*(i.innerRadius+(i.radius-i.innerRadius)/(c?1:2))}px`).attr("dy","1.2em").text(t.textForGaugeMinMax(s.gauge_min,!1)),!c&&a.select(`.${_t.chartArcsGaugeMax}`).attr("dx",`${i.innerRadius+(i.radius-i.innerRadius)/2}px`).attr("dy","1.2em").text(t.textForGaugeMinMax(s.gauge_max,!0)))}},getArcElementByIdOrIndex(e){const t=this,{$el:{arcs:s}}=t,i=L(e)?n=>n.index===e:n=>n.data.id===e;return s==null?void 0:s.selectAll(`.${D.target} path`).filter(i)}},Qt={initArea(e){const t=this,{config:s}=t;e.insert("g",`.${s.area_front?ut.circles:Et.lines}`).attr("class",t.getClass("areas",!0))},updateAreaColor(e){const t=this;return t.config.area_linearGradient?t.getGradienColortUrl(e.id):t.color(e)},updateArea(e,t=!1){const s=this,{config:i,state:n,$el:a,$T:o}=s,r=t?a.subchart:a;i.area_linearGradient&&s.updateLinearGradient();const l=r.main.selectAll(`.${xe.areas}`).selectAll(`.${xe.area}`).data(s.lineData.bind(s));o(l.exit(),e).style("opacity","0").remove(),r.area=l.enter().append("path").attr("class",s.getClass("area",!0)).style("fill",s.updateAreaColor.bind(s)).style("opacity",function(){return n.orgAreaOpacity=(0,w.select)(this).style("opacity"),"0"}).merge(l),l.style("opacity",n.orgAreaOpacity),s.setRatioForGroupedData(r.area.data())},redrawArea(e,t,s=!1){const i=this,{area:n}=s?this.$el.subchart:this.$el,{orgAreaOpacity:a}=i.state;return[i.$T(n,t,kt()).attr("d",e).style("fill",i.updateAreaColor.bind(i)).style("opacity",o=>String(i.isAreaRangeType(o)?a/1.75:a))]},generateDrawArea(e,t){const s=this,{config:i}=s,n=i.line_connectNull,a=i.axis_rotated,o=s.generateGetAreaPoints(e,t),r=s.getYScaleById.bind(s),l=d=>(t?s.subxx:s.xx).call(s,d),c=(d,h)=>s.isGrouped(d.id)?o(d,h)[0][1]:r(d.id,t)(s.isAreaRangeType(d)?s.getRangedData(d,"high"):s.getShapeYMin(d.id)),u=(d,h)=>s.isGrouped(d.id)?o(d,h)[1][1]:r(d.id,t)(s.isAreaRangeType(d)?s.getRangedData(d,"low"):d.value);return d=>{let h=n?s.filterRemoveNull(d.values):d.values,g=0,f=0,p;if(s.isAreaType(d)){let _=(0,tt.area)();_=a?_.y(l).x0(c).x1(u):_.x(l).y0(i.area_above?0:i.area_below?s.state.height:c).y1(u),n||(_=_.defined(x=>s.getBaseValue(x)!==null)),s.isStepType(d)&&(h=s.convertValuesToStep(h)),p=_.curve(s.getCurve(d))(h)}else h[0]&&(g=s.scale.x(h[0].x),f=s.getYScaleById(d.id)(h[0].value)),p=a?`M ${f} ${g}`:`M ${g} ${f}`;return p||"M 0 0"}},generateGetAreaPoints(e,t){const s=this,{config:i}=s,n=s.getShapeX(0,e,t),a=s.getShapeY(!!t),o=s.getShapeOffset(s.isAreaType,e,t),r=s.getYScaleById.bind(s);return function(l,c){const u=r.call(s,l.id,t)(s.getShapeYMin(l.id)),d=o(l,c)||u,h=n(l),g=l.value;let f=a(l);return i.axis_rotated&&(g>0&&fu.values.some(d=>L(d.value)||t.isBarRangeType(d)))).attr("class",u=>n(u)+o(u)).enter().append("g").attr("class",n).style("opacity","0").style("pointer-events",t.getStylePropValue("none")).append("g").attr("class",a).style("cursor",u=>{var d;return(d=r==null?void 0:r.bind)!=null&&d.call(r,t.api)(u)?"pointer":null}).call(t.setCssRule(!0,` .${vt.bar}`,["fill"],t.color))},updateBar(e,t=!1){const s=this,{config:i,$el:n,$T:a}=s,o=t?n.subchart:n,r=s.getClass("bar",!0),l=s.initialOpacity.bind(s);i.bar_linearGradient&&s.updateLinearGradient();const c=o.main.selectAll(`.${vt.bars}`).selectAll(`.${vt.bar}`).data(s.labelishData.bind(s));a(c.exit(),e).style("opacity","0").remove(),o.bar=c.enter().append("path").attr("class",r).style("fill",s.updateBarColor.bind(s)).merge(c).style("opacity",l),s.setRatioForGroupedData(o.bar.data())},updateBarColor(e){const t=this,s=t.getStylePropValue(t.color);return t.config.bar_linearGradient?t.getGradienColortUrl(e.id):s?s(e):null},redrawBar(e,t,s=!1){const i=this,{bar:n}=s?i.$el.subchart:i.$el;return[i.$T(n,t,kt()).attr("d",a=>(L(a.value)||i.isBarRangeType(a))&&e(a)).style("fill",i.updateBarColor.bind(i)).style("clip-path",a=>a.clipPath).style("opacity",null)]},generateDrawBar(e,t){const s=this,{config:i}=s,n=s.generateGetBarPoints(e,t),a=i.axis_rotated,o=i.bar_radius,r=i.bar_radius_ratio,l=L(o)&&o>0?()=>o:L(r)?c=>c*r:null;return(c,u)=>{const d=n(c,u),h=+a,g=+!h,f=c.value<0,p=i[`axis_${s.axis.getId(c.id)}_inverted`],_=!p&&f||p&&!f,x=["",""],m=s.isGrouped(c.id),$=l&&m?s.isStackingRadiusData(c):!1,b=[d[0][h],d[0][g]];let v=0;if(c.clipPath=null,l){const S=a?g:h,R=d[2][S]-d[0][S];v=!m||$?l(R):0;const T=`a${v} ${v} ${_?"1 0 0":"0 0 1"} `;x[+!a]=`${T}${v},${v}`,x[+a]=`${T}${[-v,v][a?"sort":"reverse"]()}`,_&&x.reverse()}const y=a?d[1][h]+(_?v:-v):d[1][g]+(_?-v:v);if(v){let S="";a?_&&b[0]y&&(S=`0 0 0 ${b[0]-y}px`):_&&b[1]>y?S=`${b[1]-y}px 0 0 0`:!_&&b[1]-1){const h=s.bar.filter(g=>g.id===o&&g.value===l);return!h.empty()&&/a\d+/i.test(h.attr("d"))}const c=i.data_groups.find(h=>h.indexOf(o)>-1),d=t.orderTargets(t.filterTargetsToShow(n.targets.filter(t.isBarType,t))).filter(h=>c.indexOf(h.id)>-1).map(h=>h.values.filter(g=>g.index===r&&(L(l)&&l>0?g.value>0:g.value<0))[0]).filter(Boolean).map(h=>h.id);return l!==0&&d.indexOf(o)===d.length-1},generateGetBarPoints(e,t){const s=this,{config:i}=s,n=t?s.axis.subX:s.axis.x,a=s.getIndicesMax(e)+1,o=s.getBarW("bar",n,a),r=s.getShapeX(o,e,!!t),l=s.getShapeY(!!t),c=s.getShapeOffset(s.isBarType,e,!!t),u=s.getYScaleById.bind(s);return(d,h)=>{const{id:g}=d,f=u.call(s,g,t)(s.getShapeYMin(g)),p=c(d,h)||f,_=L(o)?o:o[d.id]||o._$width,x=i[`axis_${s.axis.getId(g)}_inverted`],m=d.value,$=r(d);let b=l(d);i.axis_rotated&&!x&&(m>0&&bt.isBubbleZType(o)?t.getBubbleZData(o.value,"y"):X(o.value)?o.value.mid:o.value)),n=s*s*Math.PI,a=(t.isBubbleZType(e)?t.getBubbleZData(e.value,"z"):e.value)*(n/i);return Math.sqrt(a/Math.PI)},getBubbleZData(e,t){return X(e)?e[t]:e[t==="y"?0:1]}},Bo=Object.defineProperty,ai=Object.getOwnPropertySymbols,No=Object.prototype.hasOwnProperty,Go=Object.prototype.propertyIsEnumerable,oi=(e,t,s)=>t in e?Bo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Vo=(e,t)=>{for(var s in t||(t={}))No.call(t,s)&&oi(e,s,t[s]);if(ai)for(var s of ai(t))Go.call(t,s)&&oi(e,s,t[s]);return e},Yo={initCandlestick(){const{$el:e}=this;e.candlestick=e.main.select(`.${D.chart}`).append("g").attr("class",Ct.chartCandlesticks)},updateTargetsForCandlestick(e){const t=this,{$el:s}=t,i=t.getChartClass("Candlestick");s.candlestick||t.initCandlestick(),t.$el.main.select(`.${Ct.chartCandlesticks}`).selectAll(`.${Ct.chartCandlestick}`).data(e).enter().append("g").attr("class",i).style("pointer-events","none")},updateCandlestick(e,t=!1){const s=this,{$el:i,$T:n}=s,a=t?i.subchart:i,o=s.getClass("candlestick",!0),r=s.initialOpacity.bind(s),l=a.main.selectAll(`.${Ct.chartCandlestick}`).selectAll(`.${Ct.candlestick}`).data(s.labelishData.bind(s));n(l.exit(),e).style("opacity","0").remove();const c=l.enter().filter(u=>u.value).append("g").attr("class",o);c.append("line"),c.append("path"),a.candlestick=l.merge(c).style("opacity",r)},generateDrawCandlestick(e,t){const s=this,{config:i}=s,n=s.generateGetCandlestickPoints(e,t),a=i.axis_rotated,o=i.candlestick_color_down;return(r,l,c)=>{const u=n(r,l),d=s.getCandlestickData(r),h=d==null?void 0:d._isUp,g=+a,f=+!g;c.classed&&c.classed(Ct[h?"valueUp":"valueDown"],!0);const p=a?`H${u[1][1]} V${u[1][0]} H${u[0][1]}`:`V${u[1][1]} H${u[1][0]} V${u[0][1]}`;c.select("path").attr("d",`M${u[0][g]},${u[0][f]}${p}z`).style("fill",m=>(h?s.color(m):X(o)?o[m.id]:o)||s.color(m));const _=c.select("line"),x=a?{x1:u[2][1],x2:u[2][2],y1:u[2][0],y2:u[2][0]}:{x1:u[2][0],x2:u[2][0],y1:u[2][1],y2:u[2][2]};for(const m in x)_.attr(m,x[m])}},generateGetCandlestickPoints(e,t=!1){const s=this,i=t?s.axis.subX:s.axis.x,n=s.getIndicesMax(e)+1,a=s.getBarW("candlestick",i,n),o=s.getShapeX(a,e,!!t),r=s.getShapeY(!!t),l=s.getShapeOffset(s.isBarType,e,!!t),c=s.getYScaleById.bind(s);return(u,d)=>{const h=c.call(s,u.id,t)(s.getShapeYMin(u.id)),g=l(u,d)||h,f=L(a)?a:a[u.id]||a._$width,p=s.getCandlestickData(u);let _;if(p&&L(p.open)&&L(p.close)){const x={start:o(u),end:0};x.end=x.start+f;const m={start:r(p.open),end:r(p.close)},$={x:x.start+f/2,high:r(p.high),low:r(p.low)};m.start-=h-g,_=[[x.start,m.start],[x.end,m.end],[$.x,$.low,$.high]]}else _=[[0,0],[0,0],[0,0,0]];return _}},redrawCandlestick(e,t,s=!1){const i=this,{$el:n,$T:a}=i,{candlestick:o}=s?n.subchart:n,r=kt(!0);return[o.each(function(l,c){const u=a((0,w.select)(this),t,r);e(l,c,u)}).style("opacity",null)]},getCandlestickData({value:e}){let t;if(N(e)){const[s,i,n,a,o=!1]=e;t={open:s,high:i,low:n,close:a},o!==!1&&(t.volume=o)}else X(e)&&(t=Vo({},e));return t&&(t._isUp=t.close>=t.open),t||null}},jo=Object.defineProperty,ri=Object.getOwnPropertySymbols,Ho=Object.prototype.hasOwnProperty,Wo=Object.prototype.propertyIsEnumerable,li=(e,t,s)=>t in e?jo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Uo=(e,t)=>{for(var s in t||(t={}))Ho.call(t,s)&&li(e,s,t[s]);if(ri)for(var s of ri(t))Wo.call(t,s)&&li(e,s,t[s]);return e};function Re(e=!1){const t=this,{config:s,state:{current:{width:i,height:n}}}=t,a=t.getCurrentPadding(),o=Uo({width:i-(a.left+a.right),height:n-(s.legend_show?t.getLegendHeight()+10:0)-(a.top+a.bottom)},a);if(e){const{width:r,height:l}=ci.call(t,{width:o.width,height:o.height});o.width{let r=a;return X(a)&&(r=e[o?"height":"width"]*a.ratio),r}),{width:i,height:n}}function Zo(e){const t=this,{top:s,left:i,width:n}=Re.call(t,!0),a=[];return e.forEach((o,r)=>{const{ratio:l}=o,c=r>0?a[r-1][2][1]:s;a.push(o.coords=[[i,c],[i+n,c],[i+n,r>0?l+c:l+s],[i,r>0?l+c:l+s],[i,c]])}),a}function di(e=!1){const t=this,{width:s,height:i,top:n,left:a}=Re.call(t,!0),o=ci.call(t,{width:s,height:i}),r=(s-o.width)/2,l=(s+o.width)/2,c=i-o.height,u=[[0,0],[s,0],[l,c],[l,i],[r,i],[r,c],[0,0]];return e&&u.forEach(d=>{d[0]+=a,d[1]+=n}),`M${u.join("L")}z`}function qo(e){const t=this,{config:s}=t,i=e.map(n=>({id:n.id,value:n.values.reduce((a,o)=>a+o.value,0)}));return s.data_order&&i.sort(t.getSortCompareFn.bind(t)(!0)),ui.call(t,i)}function ui(e){const t=this,{height:s}=Re.call(t),i=t.getTotalDataSum(!0);return e.forEach(n=>{n.ratio=n.value/i*s}),e}var Ko={initFunnel(){const e=this,{$el:t}=e;t.funnel=t.main.select(`.${D.chart}`).append("g").classed(re.chartFunnels,!0),t.funnel.background=t.funnel.append("path").classed(re.funnelBackground,!0),e.bindFunnelEvent()},bindFunnelEvent(){const e=this,{$el:{funnel:t},config:s,state:i}=e,n=a=>{var o;const r=a.isTrusted?a.target:(o=i.eventReceiver.rect)==null?void 0:o.node();let l;return/^path$/i.test(r.tagName)&&(i.event=a,l=(0,w.select)(r).datum()),l};if(s.interaction_enabled){const a=i.inputType==="touch";t.on(a?"touchstart":"mouseover mousemove",o=>{const r=n(o);r&&(e.showTooltip([r],o.target),/^(touchstart|mouseover)$/.test(o.type)&&e.setOverOut(!0,r))}).on(a?"touchend":"mouseout",o=>{const r=n(o);s.interaction_onout&&(e.hideTooltip(),e.setOverOut(!1,r))})}},updateTargetsForFunnel(e){const t=this,{$el:{funnel:s}}=t,i=t.getChartClass("Funnel"),n=t.getClass("funnel",!0);s||t.initFunnel();const a=qo.call(t,e.filter(t.isFunnelType.bind(t))),o=s.selectAll(`.${re.chartFunnel}`).data(a);o.exit().remove();const r=o.enter().insert("g",`.${re.funnelBackground}`);r.append("path"),s.path=r.merge(o).attr("class",l=>i(l)).select("path").attr("class",n).style("opacity","0").style("fill",t.color)},updateFunnel(e){const t=this,{$el:{funnel:s}}=t,i=e.map(({id:n})=>n);s.path=s.path.filter(n=>i.indexOf(n.id)>=0)},generateGetFunnelPoints(){const e=this,{$el:{funnel:t}}=e,s=e.filterTargetsToShow(t.path),{top:i,left:n,right:a}=Re.call(e),o=(n-a)/2,r={};let l=i!=null?i:0;return s.each((c,u)=>{var d;r[c.id]=[[o,l],[o,l+=((d=s==null?void 0:s[u])!=null?d:c).ratio]]}),c=>r[c.id]},redrawFunnel(){const e=this,{$T:t,$el:{funnel:s}}=e,i=e.filterTargetsToShow(s.path),n=Zo.call(e,ui.call(e,i.data()));s.attr("clip-path",`path('${di.bind(e)()}')`),s.background.attr("d",di.call(e,!0)),t(i).attr("d",(a,o)=>`M${n[o].join("L")}z`).style("opacity","1"),s.selectAll("g").style("opacity",null)}},Jo={initGauge(){const e=this,{config:t,$el:{arcs:s}}=e,i=(n=null,a="")=>{s.append("text").attr("class",n).style("text-anchor","middle").style("pointer-events","none").text(a)};if(e.hasType("gauge")){const n=e.hasMultiArcGauge();s.append(n?"g":"path").attr("class",G.chartArcsBackground).style("fill",!n&&t.gauge_background||null),t.gauge_units&&i(_t.chartArcsGaugeUnit),t.gauge_label_show&&(i(_t.chartArcsGaugeMin),!t.gauge_fullCircle&&i(_t.chartArcsGaugeMax))}},updateGaugeMax(){const e=this,{config:t,state:s}=e,n=e.hasMultiArcGauge()?e.getMinMaxData().max[0].value:e.getTotalDataSum(s.rendered);!t.gauge_enforceMinMax&&n+t.gauge_min*(t.gauge_min>0?-1:1)>t.gauge_max&&(t.gauge_max=n-t.gauge_min)},redrawArcGaugeLine(){const e=this,{config:t,state:s,$el:i}=e,{hiddenTargetIds:n}=e.state,a=i.main.selectAll(`.${G.arcs}`).selectAll(`.${G.arcLabelLine}`).data(e.arcData.bind(e));a.enter().append("rect").attr("class",r=>`${G.arcLabelLine} ${D.target} ${D.target}-${r.data.id}`).merge(a).style("fill",r=>e.levelColor?e.levelColor(r.data.values[0].value):e.color(r.data)).style("display",t.gauge_label_show?null:"none").each(function(r){let l=0;const c=2;let u=0,d=0,h="";if(n.indexOf(r.data.id)<0){const g=e.updateAngle(r),f=s.gaugeArcWidth/e.filterTargetsToShow(e.data.targets).length*(g.index+1),p=g.endAngle-Math.PI/2,_=s.radius-f,x=p-(_===0?0:1/_);l=s.radiusExpanded-s.radius+f,u=Math.cos(x)*_,d=Math.sin(x)*_,h=`rotate(${p*180/Math.PI}, ${u}, ${d})`}(0,w.select)(this).attr("x",u).attr("y",d).attr("width",l).attr("height",c).attr("transform",h).style("stroke-dasharray",`0, ${l+c}, 0`)})},textForGaugeMinMax(e,t){const s=this,{config:i}=s,n=i.gauge_label_extents;return O(n)?n.bind(s.api)(e,t):e},getGaugeLabelHeight(){const{config:e}=this;return this.config.gauge_label_show&&!e.gauge_fullCircle?20:0},getPaddingBottomForGauge(){const e=this;return e.getGaugeLabelHeight()*(e.config.gauge_label_show?2:2.5)}};function Qo(e,t,s,i=!1){const n=e?[e,0]:s;for(let a=e||s.reduce((o,r)=>o+r);a<=t;)s.forEach(o=>{a+o<=t&&n.push(o),a+=o});return n.length%2!==0&&n.push(i?s[1]:0),{dash:n.join(" "),length:n.reduce((a,o)=>a+o,0)}}function tr(e,t,s){const i=this,n=[],a="2 2";if(H(t)){const o=(r,l)=>it(r)?l:s?mt.call(i,r):r;for(let r=0,l;l=t[r];r++){const c=o(l.start,e[0].x),u=o(l.end,e[e.length-1].x),d=l.style||{dasharray:a};n[r]={start:c,end:u,style:d}}}return n}var er={initLine(){const{$el:e}=this;e.line=e.main.select(`.${D.chart}`).append("g").attr("class",Et.chartLines).call(this.setCssRule(!1,`.${Et.chartLines}`,["pointer-events:none"]))},updateTargetsForLine(e){const t=this,{$el:{area:s,line:i,main:n}}=t,a=t.getChartClass("Line"),o=t.getClass("lines",!0),r=t.classFocus.bind(t);i||t.initLine();const l=e.filter(d=>!(t.isScatterType(d)||t.isBubbleType(d))),c=n.select(`.${Et.chartLines}`).selectAll(`.${Et.chartLine}`).data(l).attr("class",d=>a(d)+r(d)),u=c.enter().append("g").attr("class",a).style("opacity","0").style("pointer-events",t.getStylePropValue("none"));if(u.append("g").attr("class",o),t.hasTypeOf("Area")){const d=(!s&&u.empty()?c:u).filter(t.isAreaType.bind(t));t.initArea(d)}t.updateTargetForCircle(l,u)},updateLine(e,t=!1){const s=this,{format:{extraLineClasses:i},$el:n,$T:a}=s,o=t?n.subchart:n,r=o.main.selectAll(`.${Et.lines}`).selectAll(`.${Et.line}`).data(s.lineData.bind(s));a(r.exit(),e).style("opacity","0").remove(),o.line=r.enter().append("path").attr("class",l=>`${s.getClass("line",!0)(l)} ${i(l)||""}`).style("stroke",s.color).merge(r).style("opacity",s.initialOpacity.bind(s)).attr("transform",null)},redrawLine(e,t,s=!1){const i=this,{$el:n,$T:a}=i,{line:o}=s?n.subchart:n;return[a(o,t,kt()).attr("d",e).style("stroke",this.color).style("opacity",null)]},getCurve(e){const t=this;return t.config.axis_rotated&&t.isStepType(e)?i=>{const n=t.getInterpolate(e)(i);return n.orgPoint=n.point,n.pointRotated=function(a,o){this._point===1&&(this._point=2);const r=this._y*(1-this._t)+o*this._t;this._context.lineTo(this._x,r),this._context.lineTo(a,r),this._x=a,this._y=o},n.point=function(a,o){this._point===0?this.orgPoint(a,o):this.pointRotated(a,o)},n}:t.getInterpolate(e)},generateDrawLine(e,t){const s=this,{config:i,scale:n}=s,a=i.line_connectNull,o=i.axis_rotated,r=s.generateGetLinePoints(e,t),l=s.getYScaleById.bind(s),c=g=>(t?s.subxx:s.xx).call(s,g),u=(g,f)=>s.isGrouped(g.id)?r(g,f)[0][1]:l(g.id,t)(s.getBaseValue(g));let d=(0,tt.line)();d=o?d.x(u).y(c):d.x(c).y(u),a||(d=d.defined(g=>s.getBaseValue(g)!==null));const h=t?n.subX:n.x;return g=>{const f=l(g.id,t);let p=a?s.filterRemoveNull(g.values):g.values,_=0,x=0,m;if(s.isLineType(g)){const $=i.data_regions[g.id];$?m=s.lineWithRegions(p,n.zoom||h,f,$):(s.isStepType(g)&&(p=s.convertValuesToStep(p)),m=d.curve(s.getCurve(g))(p))}else p[0]&&(_=h(p[0].x),x=f(p[0].value)),m=o?`M ${x} ${_}`:`M ${_} ${x}`;return m||"M 0 0"}},lineWithRegions(e,t,s,i){const n=this,{config:a}=n,o=a.axis_rotated,r=n.axis.isTimeSeries(),l="2 2",c=tr.bind(n)(e,i,r),u=n.hasNullDataValue(e);let d,h,g,f;const p=o?T=>s(T.value):T=>t(T.x),_=o?T=>t(T.x):T=>s(T.value),x=T=>`M${T[0][0]},${T[0][1]}L${T[1][0]},${T[1][1]}`,m=r?(T,C,z,P)=>{const k=T.x.getTime(),F=C.x-T.x,W=new Date(k+F*z),J=new Date(k+F*(z+P)),lt=o?[[s(h(z)),t(W)],[s(h(z+g)),t(J)]]:[[t(W),s(h(z))],[t(J),s(h(z+g))]];return x(lt)}:(T,C,z,P)=>{const k=t(C.x,!o),F=s(C.value,o),W=z+P,J=t(d(z),!o),lt=s(h(z),o);let $t=t(d(W),!o),bt=s(h(W),o);$t>k&&($t=k),T.value>C.value&&(o?btF)&&(bt=F);const oe=[[J,lt],[$t,bt]];return o&&oe.forEach(he=>he.reverse()),x(oe)},$={x:n.axis.getAxisType("x"),y:n.axis.getAxisType("y")};let b="";const v=n.$el.line.filter(({id:T})=>T===e[0].id),y=v.clone().style("display","none"),A=(T,C)=>T.attr("d",C).node().getTotalLength(),S={dash:[],lastLength:0};let R=!1;for(let T=0,C;C=e[T];T++){const z=e[T-1],P=z&&M(z.value);let k=n.isWithinRegions(C.x,c);if(M(C.value)){if(it(c)||!k||!P)b+=`${T&&P?"L":"M"}${p(C)},${_(C)}`;else if(P)if(k=((k==null?void 0:k.dasharray)||l).split(" ").map(Number),d=Yt($.x,z.x,C.x),h=Yt($.y,z.value,C.value),u){const F=t(C.x)-t(z.x),W=s(C.value)-s(z.value),J=Math.sqrt(Math.pow(F,2)+Math.pow(W,2));g=k[0]/J,f=g*k[1];for(let lt=g;lt<=1;lt+=f)b+=m(z,C,lt,g),lt+f>=1&&(b+=m(z,C,1,0))}else{let F=[];if(R=C.x===e[e.length-1].x,r){const $t=+z.x,bt=new Date($t),oe=new Date($t+(+C.x-$t));F=[[t(bt),s(h(0))],[t(oe),s(h(1))]]}else F=[[t(d(0)),s(h(0))],[t(d(1)),s(h(1))]];o&&F.forEach($t=>$t.reverse());const W=A(y,b),J=A(y,b+=`L${F[1].join(",")}`),lt=Qo(W-S.lastLength,J-S.lastLength,k,R);S.lastLength+=lt.length,S.dash.push(lt.dash)}}}return S.dash.length&&(!R&&S.dash.push(A(y,b)),y.remove(),v.attr("stroke-dasharray",S.dash.join(" "))),b},isWithinRegions(e,t){for(let s=0,i;i=t[s];s++)if(i.startkt();var Ce={initialOpacityForCircle(e){const{config:t,state:{withoutFadeIn:s}}=this;let i=t.point_opacity;return it(i)&&(i=this.getBaseValue(e)!==null&&s[e.id]?this.opacityForCircle(e):"0"),i},opacityForCircle(e){var t;const{config:s}=this;let i=s.point_opacity;return it(i)&&(i=s.point_show&&!((t=this.isPointFocusOnly)!=null&&t.call(this))?null:"0",i=M(this.getBaseValue(e))?this.isBubbleType(e)||this.isScatterType(e)?"0.5":i:"0"),i},initCircle(){const e=this,{$el:{main:t}}=e;!e.point&&(e.point=e.generatePoint()),(e.hasType("bubble")||e.hasType("scatter"))&&t.select(`.${D.chart} > .${ut.chartCircles}`).empty()&&t.select(`.${D.chart}`).append("g").attr("class",ut.chartCircles)},updateTargetForCircle(e,t){const s=this,{config:i,data:n,$el:a}=s,o=i.interaction_enabled&&i.data_selection_enabled,r=o&&i.data_selection_isselectable,l=s.getClass("circles",!0);if(!i.point_show)return;s.initCircle();let c=e,u=t;if(!c){c=n.targets.filter(h=>this.isScatterType(h)||this.isBubbleType(h));const d=a.main.select(`.${ut.chartCircles}`).style("pointer-events","none").selectAll(`.${ut.circles}`).data(c);d.exit().remove(),u=d.enter()}o&&u.append("g").attr("class",d=>s.generateClass(Q.selectedCircles,d.id)),u.append("g").attr("class",l).call(d=>{s.setCssRule(!0,`.${ut.circles}`,["cursor:pointer"],r)(d),s.setCssRule(!0,` .${ut.circle}`,["fill","stroke"],s.color)(d)}).style("opacity",function(){return(0,w.select)(this.parentNode).attr("class").indexOf(ut.chartCircles)>-1?"0":null}),o&&c.forEach(d=>{a.main.selectAll(`.${Q.selectedCircles}${s.getTargetSelectorSuffix(d.id)}`).selectAll(`${Q.selectedCircle}`).each(h=>{h.value=d.values[h.index].value})})},updateCircle(e=!1){const t=this,{config:s,state:i,$el:n}=t,a=t.isPointFocusOnly(),o=e?n.subchart:n;if(s.point_show&&!i.toggling){s.point_radialGradient&&t.updateLinearGradient();const r=o.main.selectAll(`.${ut.circles}`).selectAll(`.${ut.circle}`).data(l=>t.isLineType(l)&&t.shouldDrawPointsForLine(l)||t.isBubbleType(l)||t.isRadarType(l)||t.isScatterType(l)?a?[l.values[0]]:l.values:[]);r.exit().remove(),r.enter().filter(Boolean).append(t.point("create",this,t.pointR.bind(t),t.updateCircleColor.bind(t))),o.circle=o.main.selectAll(`.${ut.circles} .${ut.circle}`).style("stroke",t.getStylePropValue(t.color)).style("opacity",t.initialOpacityForCircle.bind(t))}},updateCircleColor(e){const t=this,s=t.getStylePropValue(t.color);return t.config.point_radialGradient?t.getGradienColortUrl(e.id):s?s(e):null},redrawCircle(e,t,s,i,n=!1){const a=this,{state:{rendered:o},$el:r,$T:l}=a,c=n?r.subchart:r,u=c.main.selectAll(`.${Q.selectedCircle}`);if(!a.config.point_show)return[];const d=a.point("update",a,e,t,a.updateCircleColor.bind(a),s,i,u),h=a.isCirclePoint()?"c":"",g=kt(),f=a.opacityForCircle.bind(a),p=[];return c.circle.each(function(_){let x=d.bind(this)(_);x=l(x,s||!o,g).style("opacity",f),p.push(x)}),[p,l(u,s).attr(`${h}x`,e).attr(`${h}y`,t)]},showCircleFocus(e){const t=this,{state:{hasRadar:s,resizing:i,toggling:n,transiting:a},$el:o}=t;let{circle:r}=o;if(a===!1&&r&&t.isPointFocusOnly()){const l=(s?t.radarCircleX:t.circleX).bind(t),c=(s?t.radarCircleY:t.circleY).bind(t),u=n||it(e),d=t.point("update",t,l,c,t.getStylePropValue(t.color),i?!1:u);e&&(r=r.filter(function(h){var g;const f=(g=e.filter)==null?void 0:g.call(e,p=>p.id===h.id);return f.length?(0,w.select)(this).datum(f[0]):!1})),r.attr("class",this.updatePointClass.bind(this)).style("opacity",null).each(function(h){const{id:g,index:f,value:p}=h;let _="hidden";M(p)&&(d.bind(this)(h),t.expandCircles(f,g),_=""),this.style.visibility=_})}},hideCircleFocus(){const e=this,{$el:{circle:t}}=e;e.isPointFocusOnly()&&t&&(e.unexpandCircles(),t.style("visibility","hidden"))},circleX(e){return this.xx(e)},updateCircleY(e=!1){const t=this,s=t.generateGetLinePoints(t.getShapeIndices(t.isLineType),e);return(i,n)=>{const a=i.id;return t.isGrouped(a)?s(i,n)[0][1]:t.getYScaleById(a,e)(t.getBaseValue(i))}},expandCircles(e,t,s){const i=this,n=i.pointExpandedR.bind(i);s&&i.unexpandCircles();const a=i.getShapeByIndex("circle",e,t).classed(D.EXPANDED,!0),o=n(a)/i.config.point_r,r=1-o;i.isCirclePoint()?a.attr("r",n):a.each(function(){const l=(0,w.select)(this);if(this.tagName==="circle")l.attr("r",n);else{const{width:c,height:u}=this.getBBox(),d=r*(+l.attr("x")+c/2),h=r*(+l.attr("y")+u/2);l.attr("transform",`translate(${d} ${h}) scale(${o})`)}})},unexpandCircles(e){const t=this,s=t.pointR.bind(t),i=t.getShapeByIndex("circle",e).filter(function(){return(0,w.select)(this).classed(D.EXPANDED)}).classed(D.EXPANDED,!1);if(i.attr("r",s),!t.isCirclePoint()){const n=s(i)/t.config.point_r;i.attr("transform",n!==1?`scale(${n})`:null)}},pointR(e){const t=this,{config:s}=t,i=s.point_r;let n=i;return t.isBubbleType(e)?n=t.getBubbleR(e):O(i)&&(n=i.bind(t.api)(e)),e.r=n,n},pointExpandedR(e){const t=this,{config:s}=t,i=t.isBubbleType(e)?1.15:1.75;return s.point_focus_expand_enabled?s.point_focus_expand_r||t.pointR(e)*i:t.pointR(e)},pointSelectR(e){const t=this,s=t.config.point_select_r;return O(s)?s(e):s||t.pointR(e)*4},isPointFocusOnly(){const e=this;return e.config.point_focus_only&&!e.hasType("bubble")&&!e.hasType("scatter")&&!e.hasArcType(null,["radar"])},isWithinCircle(e,t){const{state:s}=this,i=yt(s.event,e),n=(0,w.select)(e),a=this.isCirclePoint(e)?"c":"",o=this.getPointSensitivity(n==null?void 0:n.datum());let r=+n.attr(`${a}x`),l=+n.attr(`${a}y`);if(!(r||l)&&e.nodeType===1){const{x:c,y:u}=be(e);r=c,l=u}return Math.sqrt(Math.pow(r-i[0],2)+Math.pow(l-i[1],2))<(t||o)},getPointSensitivity(e){const t=this;let s=t.config.point_sensitivity;if(e)O(s)?s=s.call(t.api,e):s==="radius"&&(s=e.r);else return s;return s},updatePointClass(e){const t=this,{circle:s}=t.$el;let i=!1;return(X(e)||s)&&(i=e===!0?s.each(function(n){let a=t.getClass("circle",!0)(n);this.getAttribute("class").indexOf(D.EXPANDED)>-1&&(a+=` ${D.EXPANDED}`),this.setAttribute("class",a)}):t.getClass("circle",!0)(e)),i},generateGetLinePoints(e,t){const s=this,{config:i}=s,n=s.getShapeX(0,e,t),a=s.getShapeY(t),o=s.getShapeOffset(s.isLineType,e,t),r=s.getYScaleById.bind(s);return(l,c)=>{const u=r.call(s,l.id,t)(s.getShapeYMin(l.id)),d=o(l,c)||u,h=n(l);let g=a(l);i.axis_rotated&&(l.value>0&&gM(g.value)?t(g)-l/2:0,d=g=>M(g.value)?s(g)-c/2:0;let h=e;return n&&(a&&h.attr("x",u),h=r.$T(h,n,te()),o&&r.$T(o,n,te())),h.attr("x",u).attr("y",d).style("fill",i)}},circle:{create(e,t,s){return e.append("circle").attr("class",this.updatePointClass.bind(this)).attr("r",t).style("fill",s).node()},update(e,t,s,i,n,a,o){const r=this;let l=e;return r.hasType("bubble")&&l.attr("r",r.pointR.bind(r)),n&&(a&&l.attr("cx",t),l.attr("cx")&&(l=r.$T(l,n,te())),o&&r.$T(l,n,te())),l.attr("cx",t).attr("cy",s).style("fill",i)}},rectangle:{create(e,t,s){const i=n=>t(n)*2;return e.append("rect").attr("class",this.updatePointClass.bind(this)).attr("width",i).attr("height",i).style("fill",s).node()},update(e,t,s,i,n,a,o){const r=this,l=r.config.point_r,c=h=>t(h)-l,u=h=>s(h)-l;let d=e;return n&&(a&&d.attr("x",c),d=r.$T(d,n,te()),o&&r.$T(o,n,te())),d.attr("x",c).attr("y",u).style("fill",i)}}};function sr(e){return St(e)&&O(e.create)&&O(e.update)}function ir(e,t){var s;const i=this,n=(l,c)=>{const u=l.attributes;for(let d=0,h;h=u[d];d++)h=h.name,c.setAttribute(h,l.getAttribute(h))},o=new DOMParser().parseFromString(e,"image/svg+xml").documentElement,r=ot.createElementNS(w.namespaces.svg,o.nodeName.toLowerCase());if(r.id=t,r.style.fill="inherit",r.style.stroke="inherit",n(o,r),(s=o.childNodes)!=null&&s.length){const l=(0,w.select)(r);"innerHTML"in r?l.html(o.innerHTML):Gt(o.childNodes).forEach(c=>{n(c,l.append(c.tagName).node())})}i.$el.defs.node().appendChild(r)}var ee={hasValidPointType(e){return/^(circle|rect(angle)?|polygon|ellipse|use)$/i.test(e||this.config.point_type)},hasLegendDefsPoint(){var e;const{config:t}=this;return t.legend_show&&((e=t.point_pattern)==null?void 0:e.length)&&t.legend_usePoint},getDefsPointId(e){const{state:{datetimeId:t}}=this;return`${t}-point${e}`},generatePoint(){const e=this,{$el:t,config:s}=e,i=[],n=nt(s.point_pattern)?s.point_pattern:[s.point_type];return function(a,o,...r){return function(l){var c,u,d,h;const g=e.getTargetSelectorSuffix(l.id||((c=l.data)==null?void 0:c.id)||l),f=(0,w.select)(this);i.indexOf(g)<0&&i.push(g);let p=n[i.indexOf(g)%n.length];if(e.hasValidPointType(p))p=e[p];else if(!sr(p||s.point_type)){const _=e.getDefsPointId(g);if(t.defs.select(`#${_}`).size()<1&&ir.bind(e)(p,_),a==="create")return(u=e.custom)==null?void 0:u.create.bind(o)(f,_,...r);if(a==="update")return(d=e.custom)==null?void 0:d.update.bind(o)(f,...r)}return(h=p[a])==null?void 0:h.bind(o)(f,...r)}}}};function hi(e){const t=e.config.polar_level_max;let s=e.getMinMaxData().max[0].value;return t&&t>s&&(s=t),s}var nr={initPolar(){const e=this,{$el:{arcs:t},config:s}=e,i=s.polar_level_text_show,n=s.polar_level_text_backgroundColor;t.levels=t.append("g").attr("class",It.levels),i&&n&&e.generateTextBGColorFilter(n)},getPolarOuterRadius(e,t){var s;const i=hi(this);return((s=e==null?void 0:e.data.values[0].value)!=null?s:0)/i*t},updateTargetsForPolar(e){this.updateTargetsForArc(e)},redrawPolar(){const e=this,{config:t}=e;t.polar_level_show&&e.updatePolarLevel()},updatePolarLevel(){const e=this,{config:t,state:s,$el:{arcs:{levels:i}}}=e,n=t.polar_level_depth,a=hi(e),o=Te(0,n),r=s.radius,l=o.map(h=>r*((h+1)/n)),c=(t.polar_level_text_format||function(){}).bind(e.api),u=i.selectAll(`.${It.level}`).data(o);u.exit().remove();const d=u.enter().append("g").attr("class",(h,g)=>`${It.level} ${It.level}-${g}`);if(d.append("circle"),d.merge(u).selectAll("circle").style("visibility",t.polar_level_show?null:"hidden").attr("cx",0).attr("cy",0).attr("r",h=>l[h]),t.polar_level_text_show){const h=t.polar_level_text_backgroundColor,g=`#${s.datetimeId}-labels-bg${e.getTargetSelectorSuffix(h)}`;d.append("text").style("text-anchor","middle"),d.merge(u).selectAll("text").attr("dy",f=>-l[f]+5).attr("filter",h?`url(${g})`:null).text(f=>c(a/o.length*(f+1)))}}};function ar(e,t,s,i,n,a){const o=e&&i>0?s-i:i,r=2*Math.PI;return n*(1-a*(t==="x"?Math.sin:Math.cos)(o*r/s))}const se=pt.radarPoints,gi=pt.radarTextWidth;var or={initRadar(){const e=this,{config:t,state:{current:s},$el:i}=e;e.hasType("radar")&&(i.radar=i.main.select(`.${D.chart}`).append("g").attr("class",ss.chartRadars),i.radar.levels=i.radar.append("g").attr("class",It.levels),i.radar.axes=i.radar.append("g").attr("class",at.axis),i.radar.shapes=i.radar.append("g").attr("class",st.shapes),s.dataMax=t.radar_axis_max||e.getMinMaxData().max[0].value,t.radar_axis_text_show&&(t.interaction_enabled&&e.bindRadarEvent(),e.updateRadarLevel(),e.updateRadarAxes()))},getRadarSize(){const e=this,{config:t,state:{arcWidth:s,arcHeight:i}}=e,n=t.axis_x_categories.length<4?-20:10,a=(Math.min(s,i)-n)/2;return[a,a]},updateTargetsForRadar(e){const t=this,{config:s}=t;At(s.axis_x_categories)&&(s.axis_x_categories=Te(0,wt("max",e.map(i=>i.values.length)))),t.generateRadarPoints()},getRadarPosition(e,t,s,i){const n=this,{config:a}=n,[o,r]=n.getRadarSize(),l=a.axis_x_categories.length,c=a.radar_direction_clockwise,u=Gt(e).map(d=>ar(c,d,l,t,H(s)?s:e==="x"?o:r,L(i)?i:a.radar_size_ratio));return u.length===1?u[0]:u},generateRadarPoints(){const e=this,t=e.data.targets,[s,i]=e.getRadarSize(),n=e.cache.get(se)||{},a=n._size;(!a||a.width!==s&&a.height!==i)&&(t.forEach(o=>{n[o.id]=o.values.map((r,l)=>e.getRadarPosition(["x","y"],l,void 0,e.getRatio("radar",r)))}),n._size={width:s,height:i},e.cache.add(se,n))},redrawRadar(){const e=this,{radar:t,main:s}=e.$el,i=e.getTranslate("radar");i&&(t.attr("transform",i),s.select(`.${gt.chartTexts}`).attr("transform",i),e.generateRadarPoints(),e.updateRadarLevel(),e.updateRadarAxes(),e.updateRadarShape())},generateGetRadarPoints(){const e=this.cache.get(se);return(t,s)=>{const i=e[t.id][s];return[i,i,i,i]}},updateRadarLevel(){const e=this,{config:t,state:s,$el:{radar:i}}=e,[n,a]=e.getRadarSize(),o=t.radar_level_depth,r=t.axis_x_categories.length,l=t.radar_level_text_show,c=i.levels,u=Te(0,o),d=t.radar_size_ratio*Math.min(n,a),h=u.map(x=>d*((x+1)/o)),g=(t.radar_level_text_format||function(){}).bind(e.api),f=u.map(x=>{const m=h[x];return Te(0,r).map(b=>e.getRadarPosition(["x","y"],b,m,1).join(",")).join(" ")}),p=c.selectAll(`.${It.level}`).data(u);p.exit().remove();const _=p.enter().append("g").attr("class",(x,m)=>`${It.level} ${It.level}-${m}`);_.append("polygon").style("visibility",t.radar_level_show?null:"hidden"),l&&(c.select("text").empty()&&c.append("text").attr("dx","-.5em").attr("dy","-.7em").style("text-anchor","end").text(()=>g(0)),_.append("text").attr("dx","-.5em").style("text-anchor","end").text(x=>g(s.current.dataMax/u.length*(x+1)))),_.merge(p).attr("transform",x=>`translate(${n-h[x]}, ${a-h[x]})`).selectAll("polygon").attr("points",x=>f[x]),l&&c.selectAll("text").attr("x",x=>it(x)?n:f[x].split(",")[0]).attr("y",x=>it(x)?a:0)},updateRadarAxes(){const e=this,{config:t,$el:{radar:s}}=e,[i,n]=e.getRadarSize(),a=t.axis_x_categories;let o=s.axes.selectAll("g").data(a);o.exit().remove();const r=o.enter().append("g").attr("class",(l,c)=>`${at.axis}-${c}`);if(t.radar_axis_line_show&&r.append("line"),t.radar_axis_text_show&&r.append("text"),o=r.merge(o),t.radar_axis_line_show&&o.select("line").attr("x1",i).attr("y1",n).attr("x2",(l,c)=>e.getRadarPosition("x",c)).attr("y2",(l,c)=>e.getRadarPosition("y",c)),t.radar_axis_text_show){const{x:l=0,y:c=0}=t.radar_axis_text_position,u=e.cache.get(gi)||0;if(o.select("text").style("text-anchor","middle").attr("dy",".5em").call(d=>{d.each(function(h){ce((0,w.select)(this),String(h),[-.6,1.2])})}).datum((d,h)=>({index:h})).attr("transform",function(d){it(this.width)&&(this.width=this.getBoundingClientRect().width/2);let h=e.getRadarPosition("x",d.index,void 0,1),g=Math.round(e.getRadarPosition("y",d.index,void 0,1));return h>i?h+=this.width+l:Math.round(h)n?(g/2===n&&this.firstChild.tagName==="tspan"&&this.firstChild.setAttribute("dy","0em"),g+=c):gds(h.node()).width);d.every(h=>h>0)&&e.cache.add(gi,d[0]-d[1])}}},bindRadarEvent(){const e=this,{config:t,state:s,$el:{radar:i,svg:n}}=e,a=e.isPointFocusOnly(),{inputType:o,transiting:r}=s,l=o==="mouse",c=u=>{if(s.event=u,!t.interaction_onout)return;const d=e.getDataIndexFromEvent(u),h=it(d);(l||h)&&(e.hideTooltip(),a?e.hideCircleFocus():e.unexpandCircles(),l?e.setOverOut(!1,d):h&&e.callOverOutForTouch())};i.axes.on(l?"mouseover ":"touchstart",u=>{if(r)return;s.event=u;const d=e.getDataIndexFromEvent(u);e.selectRectForSingle(n.node(),d),l?e.setOverOut(!0,d):e.callOverOutForTouch(d)}).on("mouseout",l?c:null),l||n.on("touchstart",c)},updateRadarShape(){const e=this,t=e.data.targets.filter(a=>e.isRadarType(a)),s=e.cache.get(se),i=e.$el.radar.shapes.selectAll("polygon").data(t),n=i.enter().append("g").attr("class",e.getChartClass("Radar"));e.$T(i.exit()).remove(),n.append("polygon").merge(i).style("fill",e.color).style("stroke",e.color).attr("points",a=>s[a.id].join(" ")),e.updateTargetForCircle(t,n)},radarCircleX(e){return this.cache.get(se)[e.id][e.index][0]},radarCircleY(e){return this.cache.get(se)[e.id][e.index][1]}},Pt=U(14);function rr(e,t){const s=this,{scale:{x:i,y:n},state:{width:a}}=s;e.selectAll("g").attr("transform",o=>`translate(${o===t?"0,0":`${i(o.x0)},${n(o.y0)}`})`).select("rect").attr("width",o=>o===t?a:i(o.x1)-i(o.x0)).attr("height",o=>o===t?0:n(o.y1)-n(o.y0))}function lr(e){const t=this;return e.map(s=>{const{id:i,values:n}=s,{value:a}=n[0];return{name:i,id:i,value:a,ratio:t.getRatio("treemap",n[0])}})}function cr(e){const t=this,s=(0,Pt.hierarchy)(e).sum(n=>n.value),i=t.getSortCompareFn(!0);return[t.treemap(i?s.sort(i):s)]}var dr={initTreemap(){const e=this,{$el:t,state:{current:{width:s,height:i},clip:n,datetimeId:a}}=e;n.id=`${a}-clip`,e.treemap=(0,Pt.treemap)().tile(e.getTreemapTile()),t.defs.append("clipPath").attr("id",n.id).append("rect").attr("width",s).attr("height",i),t.treemap=t.main.select(`.${D.chart}`).attr("clip-path",`url(#${n.id})`).append("g").classed(ns.chartTreemaps,!0),e.bindTreemapEvent()},bindTreemapEvent(){const e=this,{$el:t,config:s,state:i}=e,n=a=>{var o;const r=a.isTrusted?a.target:(o=i.eventReceiver.rect)==null?void 0:o.node();let l;return/^rect$/i.test(r.tagName)&&(i.event=a,l=(0,w.select)(r).datum()),l==null?void 0:l.data};if(s.interaction_enabled){const a=i.inputType==="touch";t.treemap.on(a?"touchstart":"mouseover mousemove",o=>{const r=n(o);r&&(e.showTooltip([r],o.currentTarget),/^(touchstart|mouseover)$/.test(o.type)&&e.setOverOut(!0,r))}).on(a?"touchend":"mouseout",o=>{const r=n(o);s.interaction_onout&&(e.hideTooltip(),e.setOverOut(!1,r))})}},getTreemapTile(){var e,t;const s=this,{config:i,state:{current:{width:n,height:a}}}=s,o=(t={binary:Pt.treemapBinary,dice:Pt.treemapDice,slice:Pt.treemapSlice,sliceDice:Pt.treemapSliceDice,squarify:Pt.treemapSquarify,resquarify:Pt.treemapResquarify}[(e=i.treemap_tile)!=null?e:"binary"])!=null?t:Pt.treemapBinary;return(r,l,c,u,d)=>{o(r,0,0,n,a);for(const h of r.children)h.x0=l+h.x0/n*(u-l),h.x1=l+h.x1/n*(u-l),h.y0=c+h.y0/a*(d-c),h.y1=c+h.y1/a*(d-c)}},getTreemapData(e){const t=this;return{name:"root",children:lr.bind(t)(t.filterTargetsToShow(e.filter(t.isTreemapType,t)))}},updateTargetsForTreemap(e){const t=this,{$el:{treemap:s}}=t,i=cr.call(t,t.getTreemapData(e!=null?e:t.data.targets));s.data(i)},updateTreemap(e){const t=this,{$el:s,$T:i}=t,n=s.treemap.datum(),a=t.getChartClass("Treemap"),o=t.getClass("treemap",!0),r=s.treemap.selectAll("g").data(n.children);i(r.exit(),e).style("opacity","0").remove(),r.enter().append("g").append("rect"),s.treemap.selectAll("g").attr("class",a).select("rect").attr("class",o).attr("fill",l=>t.color(l.data.name))},generateGetTreemapPoints(){const e=this,{$el:t,scale:{x:s,y:i}}=e,n={};return t.treemap.selectAll("g").each(a=>{n[a.data.name]=[[s(a.x0),i(a.y0)],[s(a.x1),i(a.y1)]]}),a=>n[a.id]},redrawTreemap(e){const t=this,{$el:s,state:{current:{width:i,height:n}}}=t;return s.defs.select("rect").attr("width",i).attr("height",n),[t.$T(s.treemap,e,kt()).call(rr.bind(t),s.treemap.datum())]},treemapDataLabelFormat(e){const t=this,{config:s}=t,{id:i,value:n}=e,a=s.treemap_label_format,o=t.getRatio("treemap",e),r=(o*100).toFixed(2),l=s.treemap_label_show&&t.meetsLabelThreshold(o,"treemap")?null:"0";return function(c){return c.style("opacity",l),O(a)?a.bind(t.api)(n,o,i):`${i} +${r}%`}}},Ht={point_show:!0,point_r:2.5,point_radialGradient:!1,point_sensitivity:10,point_focus_expand_enabled:!0,point_focus_expand_r:void 0,point_focus_only:!1,point_opacity:void 0,point_pattern:[],point_select_r:void 0,point_type:"circle"},ie={area_above:!1,area_below:!1,area_front:!0,area_linearGradient:!1,area_zerobased:!0},ur={bar_front:!1,bar_indices_removeNull:!1,bar_label_threshold:0,bar_linearGradient:!1,bar_overlap:!1,bar_padding:0,bar_radius:void 0,bar_radius_ratio:void 0,bar_sensitivity:2,bar_width:void 0,bar_width_ratio:.6,bar_width_max:void 0,bar_zerobased:!0},hr={bubble_maxR:35,bubble_zerobased:!1},gr={candlestick_width:void 0,candlestick_width_ratio:.6,candlestick_width_max:void 0,candlestick_color_down:"red"},fr={line_connectNull:!1,line_step_type:"step",line_step_tooltipMatch:!1,line_zerobased:!1,line_classes:void 0,line_point:!0},pr={scatter_zerobased:!1},qe={spline_interpolation_type:"cardinal"},Ee={arc_cornerRadius:0,arc_cornerRadius_ratio:0,arc_needle_show:!1,arc_needle_color:void 0,arc_needle_value:void 0,arc_needle_path:void 0,arc_needle_length:100,arc_needle_top_rx:0,arc_needle_top_ry:0,arc_needle_top_width:0,arc_needle_bottom_rx:1,arc_needle_bottom_ry:1,arc_needle_bottom_width:15,arc_needle_bottom_len:0,arc_rangeText_values:void 0,arc_rangeText_unit:"absolute",arc_rangeText_fixed:!1,arc_rangeText_format:void 0,arc_rangeText_position:void 0},xr={donut_label_show:!0,donut_label_format:void 0,donut_label_threshold:.05,donut_label_ratio:void 0,donut_width:void 0,donut_title:"",donut_expand:{},donut_expand_rate:.98,donut_expand_duration:50,donut_padAngle:0,donut_startingAngle:0},_r={funnel_neck_width:0,funnel_neck_height:0},mr={gauge_background:"",gauge_fullCircle:!1,gauge_label_show:!0,gauge_label_extents:void 0,gauge_label_format:void 0,gauge_label_ratio:void 0,gauge_label_threshold:0,gauge_enforceMinMax:!1,gauge_min:0,gauge_max:100,gauge_type:"single",gauge_startingAngle:-1*Math.PI/2,gauge_arcLength:100,gauge_title:"",gauge_units:void 0,gauge_width:void 0,gauge_arcs_minWidth:5,gauge_expand:{},gauge_expand_rate:.98,gauge_expand_duration:50},$r={pie_label_show:!0,pie_label_format:void 0,pie_label_ratio:void 0,pie_label_threshold:.05,pie_expand:{},pie_expand_rate:.98,pie_expand_duration:50,pie_innerRadius:0,pie_outerRadius:void 0,pie_padAngle:0,pie_padding:0,pie_startingAngle:0},yr={polar_label_show:!0,polar_label_format:void 0,polar_label_threshold:.05,polar_label_ratio:void 0,polar_level_depth:3,polar_level_max:void 0,polar_level_show:!0,polar_level_text_backgroundColor:"#fff",polar_level_text_format:e=>e%1===0?e:e.toFixed(2),polar_level_text_show:!0,polar_padAngle:0,polar_padding:0,polar_startingAngle:0},br={radar_axis_max:void 0,radar_axis_line_show:!0,radar_axis_text_show:!0,radar_axis_text_position:{},radar_level_depth:3,radar_level_show:!0,radar_level_text_format:e=>e%1===0?e:e.toFixed(2),radar_level_text_show:!0,radar_size_ratio:.87,radar_direction_clockwise:!1},vr={treemap_tile:"binary",treemap_label_format:void 0,treemap_label_threshold:.05,treemap_label_show:!0};function ne(e,t){rt(jt.prototype,Object.values(Qs).concat(e)),rt(Mt.prototype,Eo),Vt.setOptions(Object.values(ti).concat(t||[]))}function Ot(e,t){ne([ee,Ce,er].concat(e||[])),Vt.setOptions([Ht,fr].concat(t||[]))}function ae(e,t){rt(jt.prototype,[Fo,ee].concat(e||[])),Vt.setOptions([Ht].concat(t||[]))}let fi=()=>(Ot(Qt,[ie]),(fi=()=>E.AREA)()),pi=()=>(Ot(Qt,[ie]),(pi=()=>E.AREA_LINE_RANGE)()),xi=()=>(Ot(Qt,[ie]),(xi=()=>E.AREA_STEP_RANGE)()),_i=()=>(Ot(Qt,[ie,qe]),(_i=()=>E.AREA_SPLINE)()),mi=()=>(Ot(Qt,[ie,qe]),(mi=()=>E.AREA_SPLINE_RANGE)()),$i=()=>(Ot(Qt,[ie]),($i=()=>E.AREA_STEP)()),yi=()=>(Ot(),(yi=()=>E.LINE)()),bi=()=>(Ot(void 0,[qe]),(bi=()=>E.SPLINE)()),vi=()=>(Ot(),(vi=()=>E.STEP)()),Ti=()=>(ae(void 0,[Ee,xr]),(Ti=()=>E.DONUT)()),Ai=()=>(ae([Jo],[Ee,mr]),(Ai=()=>E.GAUGE)()),wi=()=>(ae(void 0,[Ee,$r]),(wi=()=>E.PIE)()),Si=()=>(ae([nr],[Ee,yr]),(Si=()=>E.POLAR)()),Ri=()=>(ae([Qs.eventrect,Ce,or],[Ht,br,{axis_x_categories:ti.optAxis.axis_x_categories}]),(Ri=()=>E.RADAR)()),Ci=()=>(ne([Mo,ee],[ur,Ht]),(Ci=()=>E.BAR)()),Ei=()=>(ne([ee,Ce,Xo],[hr,Ht]),(Ei=()=>E.BUBBLE)()),ki=()=>(ne([Yo,ee],[gr,Ht]),(ki=()=>E.CANDLESTICK)()),Li=()=>(ne([ee,Ce],[Ht,pr]),(Li=()=>E.SCATTER)()),Pi=()=>(ae([Ko],[_r]),(Pi=()=>E.FUNNEL)()),Oi=()=>(ne([dr],[vr]),(Oi=()=>E.TREEMAP)()),Ke={};const Ii={version:"3.14.2",generate(e){const t=qt({},Ke,e),s=new Mt(t);return s.internal.charts=this.instance,this.instance.push(s),s},defaults(e){return X(e)&&(Ke=e),Ke},instance:[],plugin:{}};Object.keys(xt).forEach(e=>xt[e]()),Object.keys(I).forEach(e=>I[e]())}(),ke}()}); diff --git a/release/latest/dist/billboard.pkgd.js b/release/latest/dist/billboard.pkgd.js index 924b28ee2..0a99bf4c9 100644 --- a/release/latest/dist/billboard.pkgd.js +++ b/release/latest/dist/billboard.pkgd.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * * All-in-one packaged file for ease use of 'billboard.js' with dependant d3.js modules & polyfills. * - @types/d3-selection ^3.0.11 @@ -26117,9 +26117,15 @@ function getScrollPosition(node) { function getTransformCTM(node, x = 0, y = 0, inverse = true) { const point = new DOMPoint(x, y); const screen = node.getScreenCTM(); - return point.matrixTransform( + const res = point.matrixTransform( inverse ? screen == null ? void 0 : screen.inverse() : screen ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; } function getTranslation(node) { const transform = node ? node.transform : null; @@ -27895,11 +27901,13 @@ function getDataKeyForJson(keysParam, config) { const isRotated = config.axis_rotated; const scrollPos = getScrollPosition($el.chart.node()); const e = inputType === "touch" && event.changedTouches ? event.changedTouches[0] : event; - let point = isRotated ? e.clientY + scrollPos.y - rect.top : e.clientX + scrollPos.x - rect.left; + let point = isRotated ? e.clientY + scrollPos.y : e.clientX + scrollPos.x; if (hasViewBox($el.svg)) { const pos = [point, 0]; isRotated && pos.reverse(); point = getTransformCTM($el.svg.node(), ...pos)[isRotated ? "y" : "x"]; + } else { + point -= isRotated ? rect.top : rect.left; } index = findIndex( coords, @@ -32665,32 +32673,44 @@ function getTextXPos(pos = "left", width) { }); } }, + /** + * Get tooltip position when svg has vieBox attribute + * @param {number} tWidth Tooltip width value + * @param {number} tHeight Tooltip height value + * @param {object} currPos Current event position value from SVG coordinate + * @returns {object} top, left value + */ getTooltipPositionViewBox(tWidth, tHeight, currPos) { var _a, _b; const $$ = this; - const { $el: { eventRect, main }, config, state } = $$; + const { $el: { eventRect, svg }, config, state } = $$; const isRotated = config.axis_rotated; - const hasArcType = $$.hasArcType(void 0, ["radar"]) || state.hasFunnel || state.hasTreemap; - const target = (_b = (_a = state.hasRadar ? main : eventRect) == null ? void 0 : _a.node()) != null ? _b : state.event.target; - const size = 38; + const hasArcType = $$.hasArcType() || state.hasFunnel || state.hasTreemap; + const target = (_b = (_a = hasArcType ? svg : eventRect) == null ? void 0 : _a.node()) != null ? _b : state.event.target; let { x, y } = currPos; if (state.hasAxis) { x = isRotated ? x : currPos.xAxis; y = isRotated ? currPos.xAxis : y; } const ctm = getTransformCTM(target, x, y, false); + const rect = target.getBoundingClientRect(); + const size = getTransformCTM(target, 20, 0, false).x; let top = ctm.y; - let left = ctm.x + size; + let left = ctm.x + tWidth / 2 + size; if (hasArcType) { - top += tHeight; - left -= size; + if (state.hasFunnel || state.hasTreemap || state.hasRadar) { + left -= tWidth / 2 + size; + top += tHeight; + } else { + top += rect.height / 2; + left += rect.width / 2 - (tWidth - size); + } } - const rect = (hasArcType ? main.node() : target).getBoundingClientRect(); - if (left + tWidth > rect.right) { - left = rect.right - tWidth - size; + if (left + tWidth > rect.width) { + left = rect.width - tWidth - size; } - if (top + tHeight > rect.bottom) { - top -= tHeight + size; + if (top + tHeight > rect.height) { + top -= tHeight * 2; } return { top, @@ -37271,7 +37291,7 @@ util_extend(zoom, { }; $$.brush.scale = function(scale2) { const h = config.subchart_size_height; - let extent = $$.getExtent(); + let extent = $$.axis.getExtent(); if (!extent && scale2.range) { extent = [[0, 0], [scale2.range()[1], h]]; } else if (isArray(extent)) { @@ -37452,25 +37472,6 @@ util_extend(zoom, { const subXAxis = (transitions == null ? void 0 : transitions.axisSubX) ? transitions.axisSubX : $T(subchart.main.select(`.${classes.axisX}`), withTransition); subchart.main.attr("transform", $$.getTranslate("context")); subXAxis.attr("transform", $$.getTranslate("subX")); - }, - /** - * Get extent value - * @returns {Array} default extent - * @private - */ - getExtent() { - const $$ = this; - const { config, scale } = $$; - let extent = config.axis_x_extent; - if (extent) { - if (isFunction(extent)) { - extent = extent.bind($$.api)($$.getXDomain($$.data.targets), scale.subX); - } else if ($$.axis.isTimeSeries() && extent.every(isNaN)) { - const fn = parseDate.bind($$); - extent = extent.map((v) => scale.subX(fn(v))); - } - } - return extent; } }); @@ -37712,12 +37713,14 @@ util_extend(zoom, { let start = 0; let end = 0; let zoomRect; + let extent; const prop = { axis: isRotated ? "y" : "x", attr: isRotated ? "height" : "width", index: isRotated ? 1 : 0 }; $$.zoomBehaviour = drag().clickDistance(4).on("start", function(event) { + extent = $$.scale.zoom ? null : $$.axis.getExtent(); state.event = event; $$.setDragStatus(true); $$.unselectRect(); @@ -37725,11 +37728,25 @@ util_extend(zoom, { zoomRect = $$.$el.main.append("rect").attr("clip-path", state.clip.path).attr("class", $ZOOM.zoomBrush).attr("width", isRotated ? state.width : 0).attr("height", isRotated ? 0 : state.height); } start = getPointer(event, this)[prop.index]; + if (extent) { + if (start < extent[0]) { + start = extent[0]; + } else if (start > extent[1]) { + start = extent[1]; + } + } end = start; zoomRect.attr(prop.axis, start).attr(prop.attr, 0); $$.onZoomStart(event); }).on("drag", function(event) { end = getPointer(event, this)[prop.index]; + if (extent) { + if (end > extent[1]) { + end = extent[1]; + } else if (end < extent[0]) { + end = extent[0]; + } + } zoomRect.attr(prop.axis, Math.min(start, end)).attr(prop.attr, Math.abs(end - start)); }).on("end", (event) => { const scale = $$.scale.zoom || $$.scale.x; @@ -39756,6 +39773,25 @@ class Axis_Axis { } return type; } + /** + * Get extent value + * @returns {Array} default extent + * @private + */ + getExtent() { + const $$ = this.owner; + const { config, scale } = $$; + let extent = config.axis_x_extent; + if (extent) { + if (isFunction(extent)) { + extent = extent.bind($$.api)($$.getXDomain($$.data.targets), scale.subX); + } else if (this.isTimeSeries() && extent.every(isNaN)) { + const fn = parseDate.bind($$); + extent = extent.map((v) => scale.subX(fn(v))); + } + } + return extent; + } init() { const $$ = this.owner; const { config, $el: { main, axis }, state: { clip } } = $$; @@ -42405,7 +42441,8 @@ function smoothLines(el, type) { */ axis_x_height: void 0, /** - * Set default extent for subchart and zoom. This can be an array or function that returns an array. + * Set extent for subchart and zoom(drag only). This can be an array or function that returns an array. + * - **NOTE:** Specifying value, will limit the zoom scope selection within. * @name axis․x․extent * @memberof Options * @type {Array|Function} @@ -49195,7 +49232,7 @@ const bb = { * bb.version; // "1.0.0" * @memberof bb */ - version: "3.14.1", + version: "3.14.2", /** * Generate chart * - **NOTE:** Bear in mind for the possiblity of ***throwing an error***, during the generation when: diff --git a/release/latest/dist/billboard.pkgd.min.js b/release/latest/dist/billboard.pkgd.min.js index 327949019..18fe74930 100644 --- a/release/latest/dist/billboard.pkgd.min.js +++ b/release/latest/dist/billboard.pkgd.min.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * * All-in-one packaged file for ease use of 'billboard.js' with dependant d3.js modules & polyfills. * - @types/d3-selection ^3.0.11 @@ -23,35 +23,35 @@ * - d3-time-format ^4.1.0 * - d3-transition ^3.0.1 * - d3-zoom ^3.0.0 - */(function(Va,jn){if(typeof exports=="object"&&typeof module=="object")module.exports=jn();else if(typeof define=="function"&&define.amd)define([],jn);else{var Xa=jn();for(var x in Xa)(typeof exports=="object"?exports:Va)[x]=Xa[x]}})(this,function(){return function(){"use strict";var Cs=[function(x,b,r){r(1),r(97),r(98),r(99),r(100),r(101),r(102),r(103),r(104),r(105),r(106),r(107),r(108),r(109),r(110),r(111),r(124),r(126),r(136),r(137),r(139),r(143),r(146),r(148),r(150),r(151),r(152),r(153),r(155),r(156),r(158),r(159),r(161),r(165),r(166),r(167),r(168),r(173),r(174),r(176),r(177),r(178),r(180),r(184),r(185),r(186),r(187),r(188),r(193),r(195),r(196),r(198),r(201),r(202),r(203),r(204),r(205),r(207),r(217),r(219),r(220),r(222),r(225),r(231),r(232),r(233),r(234),r(235),r(236),r(240),r(241),r(243),r(244),r(245),r(247),r(248),r(249),r(250),r(251),r(256),r(257),r(258),r(259),r(261),r(262),r(263),r(265),r(266),r(267),r(268),r(93),r(269),r(270),r(278),r(280),r(282),r(283),r(284),r(285),r(286),r(288),r(289),r(290),r(291),r(292),r(294),r(295),r(296),r(297),r(298),r(299),r(300),r(301),r(305),r(306),r(308),r(310),r(311),r(312),r(313),r(314),r(316),r(318),r(319),r(320),r(321),r(323),r(324),r(326),r(327),r(328),r(329),r(331),r(332),r(333),r(334),r(335),r(336),r(337),r(338),r(339),r(341),r(342),r(343),r(344),r(345),r(346),r(347),r(348),r(349),r(350),r(351),r(353),r(354),r(355),r(356),r(380),r(381),r(382),r(383),r(384),r(385),r(386),r(387),r(388),r(389),r(391),r(392),r(393),r(394),r(395),r(396),r(397),r(398),r(399),r(400),r(407),r(408),r(410),r(411),r(412),r(413),r(414),r(416),r(426),r(428),r(430),r(432),r(434),r(436),r(438),r(439),r(441),r(444),r(445),r(446),r(447),r(448),r(452),r(453),r(455),r(456),r(457),r(458),r(460),r(461),r(462),r(463),r(464),r(465),r(466),r(468),r(471),r(474),r(477),r(478),r(479),r(480),r(481),r(482),r(483),r(484),r(485),r(486),r(487),r(488),r(489),r(497),r(498),r(499),r(500),r(501),r(502),r(503),r(504),r(505),r(506),r(507),r(508),r(509),r(511),r(512),r(513),r(514),r(515),r(516),r(517),r(518),r(519),r(520),r(521),r(522),r(523),r(524),r(525),r(526),r(527),r(528),r(529),r(530),r(531),r(532),r(533),r(534),r(535),r(536),r(537),r(538),r(541),r(543),r(545),r(546),r(549),r(550),r(552),r(553),r(554),r(558),r(559),r(560),r(561),r(564),r(569),r(570),r(571),r(572),r(573),r(574),r(575),r(80)},function(x,b,r){r(2),r(90),r(92),r(93),r(96)},function(x,b,r){var u=r(3),d=r(4),h=r(8),p=r(14),y=r(36),T=r(6),$=r(26),A=r(7),E=r(38),R=r(24),I=r(46),O=r(12),C=r(18),D=r(68),M=r(11),F=r(71),j=r(73),B=r(57),U=r(75),V=r(66),z=r(5),G=r(44),H=r(72),k=r(10),J=r(47),q=r(77),nt=r(34),rt=r(53),_=r(54),tt=r(40),et=r(33),st=r(78),mt=r(79),gt=r(81),xt=r(82),yt=r(51),Ut=r(83).forEach,Dt=rt("hidden"),Xt="Symbol",kt="prototype",Qt=yt.set,me=yt.getterFor(Xt),ge=Object[kt],ae=d.Symbol,Mt=ae&&ae[kt],Yt=d.RangeError,re=d.TypeError,se=d.QObject,ee=z.f,fe=G.f,Pe=U.f,Me=k.f,$e=p([].push),ce=nt("symbols"),Ae=nt("op-symbols"),Te=nt("wks"),de=!se||!se[kt]||!se[kt].findChild,bt=function(It,Pt,Ct){var Nt=ee(ge,Pt);Nt&&delete ge[Pt],fe(It,Pt,Ct),Nt&&It!==ge&&fe(ge,Pt,Nt)},Ft=T&&A(function(){return F(fe({},"a",{get:function(){return fe(this,"a",{value:7}).a}})).a!==7})?bt:fe,Tt=function(It,Pt){var Ct=ce[It]=F(Mt);return Qt(Ct,{type:Xt,tag:It,description:Pt}),T||(Ct.description=Pt),Ct},qt=function(Pt,Ct,Nt){Pt===ge&&qt(Ae,Ct,Nt),I(Pt);var Et=C(Ct);return I(Nt),E(ce,Et)?(Nt.enumerable?(E(Pt,Dt)&&Pt[Dt][Et]&&(Pt[Dt][Et]=!1),Nt=F(Nt,{enumerable:M(0,!1)})):(E(Pt,Dt)||fe(Pt,Dt,M(1,F(null))),Pt[Dt][Et]=!0),Ft(Pt,Et,Nt)):fe(Pt,Et,Nt)},te=function(Pt,Ct){I(Pt);var Nt=O(Ct),Et=j(Nt).concat(ft(Nt));return Ut(Et,function(ie){(!T||h(Ht,Nt,ie))&&qt(Pt,ie,Nt[ie])}),Pt},Zt=function(Pt,Ct){return Ct===void 0?F(Pt):te(F(Pt),Ct)},Ht=function(Pt){var Ct=C(Pt),Nt=h(Me,this,Ct);return this===ge&&E(ce,Ct)&&!E(Ae,Ct)?!1:Nt||!E(this,Ct)||!E(ce,Ct)||E(this,Dt)&&this[Dt][Ct]?Nt:!0},He=function(Pt,Ct){var Nt=O(Pt),Et=C(Ct);if(!(Nt===ge&&E(ce,Et)&&!E(Ae,Et))){var ie=ee(Nt,Et);return ie&&E(ce,Et)&&!(E(Nt,Dt)&&Nt[Dt][Et])&&(ie.enumerable=!0),ie}},Ze=function(Pt){var Ct=Pe(O(Pt)),Nt=[];return Ut(Ct,function(Et){!E(ce,Et)&&!E(_,Et)&&$e(Nt,Et)}),Nt},ft=function(It){var Pt=It===ge,Ct=Pe(Pt?Ae:O(It)),Nt=[];return Ut(Ct,function(Et){E(ce,Et)&&(!Pt||E(ge,Et))&&$e(Nt,ce[Et])}),Nt};$||(ae=function(){if(R(Mt,this))throw new re("Symbol is not a constructor");var Pt=!arguments.length||arguments[0]===void 0?void 0:D(arguments[0]),Ct=tt(Pt),Nt=function(Et){var ie=this===void 0?d:this;ie===ge&&h(Nt,Ae,Et),E(ie,Dt)&&E(ie[Dt],Ct)&&(ie[Dt][Ct]=!1);var we=M(1,Et);try{Ft(ie,Ct,we)}catch(Rt){if(!(Rt instanceof Yt))throw Rt;bt(ie,Ct,we)}};return T&&de&&Ft(ge,Ct,{configurable:!0,set:Nt}),Tt(Ct,Pt)},Mt=ae[kt],J(Mt,"toString",function(){return me(this).tag}),J(ae,"withoutSetter",function(It){return Tt(tt(It),It)}),k.f=Ht,G.f=qt,H.f=te,z.f=He,B.f=U.f=Ze,V.f=ft,st.f=function(It){return Tt(et(It),It)},T&&(q(Mt,"description",{configurable:!0,get:function(){return me(this).description}}),y||J(ge,"propertyIsEnumerable",Ht,{unsafe:!0}))),u({global:!0,constructor:!0,wrap:!0,forced:!$,sham:!$},{Symbol:ae}),Ut(j(Te),function(It){mt(It)}),u({target:Xt,stat:!0,forced:!$},{useSetter:function(){de=!0},useSimple:function(){de=!1}}),u({target:"Object",stat:!0,forced:!$,sham:!T},{create:Zt,defineProperty:qt,defineProperties:te,getOwnPropertyDescriptor:He}),u({target:"Object",stat:!0,forced:!$},{getOwnPropertyNames:Ze}),gt(),xt(ae,Xt),_[Dt]=!0},function(x,b,r){var u=r(4),d=r(5).f,h=r(43),p=r(47),y=r(37),T=r(55),$=r(67);x.exports=function(A,E){var R=A.target,I=A.global,O=A.stat,C,D,M,F,j,B;if(I?D=u:O?D=u[R]||y(R,{}):D=u[R]&&u[R].prototype,D)for(M in E){if(j=E[M],A.dontCallGetSet?(B=d(D,M),F=B&&B.value):F=D[M],C=$(I?M:R+(O?".":"#")+M,A.forced),!C&&F!==void 0){if(typeof j==typeof F)continue;T(j,F)}(A.sham||F&&F.sham)&&h(j,"sham",!0),p(D,M,j,A)}}},function(x){var b=function(r){return r&&r.Math===Math&&r};x.exports=b(typeof globalThis=="object"&&globalThis)||b(typeof window=="object"&&window)||b(typeof self=="object"&&self)||b(typeof global=="object"&&global)||b(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},function(x,b,r){var u=r(6),d=r(8),h=r(10),p=r(11),y=r(12),T=r(18),$=r(38),A=r(41),E=Object.getOwnPropertyDescriptor;b.f=u?E:function(I,O){if(I=y(I),O=T(O),A)try{return E(I,O)}catch(C){}if($(I,O))return p(!d(h.f,I,O),I[O])}},function(x,b,r){var u=r(7);x.exports=!u(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},function(x){x.exports=function(b){try{return!!b()}catch(r){return!0}}},function(x,b,r){var u=r(9),d=Function.prototype.call;x.exports=u?d.bind(d):function(){return d.apply(d,arguments)}},function(x,b,r){var u=r(7);x.exports=!u(function(){var d=function(){}.bind();return typeof d!="function"||d.hasOwnProperty("prototype")})},function(x,b){var r={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,d=u&&!r.call({1:2},1);b.f=d?function(p){var y=u(this,p);return!!y&&y.enumerable}:r},function(x){x.exports=function(b,r){return{enumerable:!(b&1),configurable:!(b&2),writable:!(b&4),value:r}}},function(x,b,r){var u=r(13),d=r(16);x.exports=function(h){return u(d(h))}},function(x,b,r){var u=r(14),d=r(7),h=r(15),p=Object,y=u("".split);x.exports=d(function(){return!p("z").propertyIsEnumerable(0)})?function(T){return h(T)==="String"?y(T,""):p(T)}:p},function(x,b,r){var u=r(9),d=Function.prototype,h=d.call,p=u&&d.bind.bind(h,h);x.exports=u?p:function(y){return function(){return h.apply(y,arguments)}}},function(x,b,r){var u=r(14),d=u({}.toString),h=u("".slice);x.exports=function(p){return h(d(p),8,-1)}},function(x,b,r){var u=r(17),d=TypeError;x.exports=function(h){if(u(h))throw new d("Can't call method on "+h);return h}},function(x){x.exports=function(b){return b==null}},function(x,b,r){var u=r(19),d=r(22);x.exports=function(h){var p=u(h,"string");return d(p)?p:p+""}},function(x,b,r){var u=r(8),d=r(20),h=r(22),p=r(29),y=r(32),T=r(33),$=TypeError,A=T("toPrimitive");x.exports=function(E,R){if(!d(E)||h(E))return E;var I=p(E,A),O;if(I){if(R===void 0&&(R="default"),O=u(I,E,R),!d(O)||h(O))return O;throw new $("Can't convert object to primitive value")}return R===void 0&&(R="number"),y(E,R)}},function(x,b,r){var u=r(21);x.exports=function(d){return typeof d=="object"?d!==null:u(d)}},function(x){var b=typeof document=="object"&&document.all;x.exports=typeof b=="undefined"&&b!==void 0?function(r){return typeof r=="function"||r===b}:function(r){return typeof r=="function"}},function(x,b,r){var u=r(23),d=r(21),h=r(24),p=r(25),y=Object;x.exports=p?function(T){return typeof T=="symbol"}:function(T){var $=u("Symbol");return d($)&&h($.prototype,y(T))}},function(x,b,r){var u=r(4),d=r(21),h=function(p){return d(p)?p:void 0};x.exports=function(p,y){return arguments.length<2?h(u[p]):u[p]&&u[p][y]}},function(x,b,r){var u=r(14);x.exports=u({}.isPrototypeOf)},function(x,b,r){var u=r(26);x.exports=u&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},function(x,b,r){var u=r(27),d=r(7),h=r(4),p=h.String;x.exports=!!Object.getOwnPropertySymbols&&!d(function(){var y=Symbol("symbol detection");return!p(y)||!(Object(y)instanceof Symbol)||!Symbol.sham&&u&&u<41})},function(x,b,r){var u=r(4),d=r(28),h=u.process,p=u.Deno,y=h&&h.versions||p&&p.version,T=y&&y.v8,$,A;T&&($=T.split("."),A=$[0]>0&&$[0]<4?1:+($[0]+$[1])),!A&&d&&($=d.match(/Edge\/(\d+)/),(!$||$[1]>=74)&&($=d.match(/Chrome\/(\d+)/),$&&(A=+$[1]))),x.exports=A},function(x,b,r){var u=r(4),d=u.navigator,h=d&&d.userAgent;x.exports=h?String(h):""},function(x,b,r){var u=r(30),d=r(17);x.exports=function(h,p){var y=h[p];return d(y)?void 0:u(y)}},function(x,b,r){var u=r(21),d=r(31),h=TypeError;x.exports=function(p){if(u(p))return p;throw new h(d(p)+" is not a function")}},function(x){var b=String;x.exports=function(r){try{return b(r)}catch(u){return"Object"}}},function(x,b,r){var u=r(8),d=r(21),h=r(20),p=TypeError;x.exports=function(y,T){var $,A;if(T==="string"&&d($=y.toString)&&!h(A=u($,y))||d($=y.valueOf)&&!h(A=u($,y))||T!=="string"&&d($=y.toString)&&!h(A=u($,y)))return A;throw new p("Can't convert object to primitive value")}},function(x,b,r){var u=r(4),d=r(34),h=r(38),p=r(40),y=r(26),T=r(25),$=u.Symbol,A=d("wks"),E=T?$.for||$:$&&$.withoutSetter||p;x.exports=function(R){return h(A,R)||(A[R]=y&&h($,R)?$[R]:E("Symbol."+R)),A[R]}},function(x,b,r){var u=r(35);x.exports=function(d,h){return u[d]||(u[d]=h||{})}},function(x,b,r){var u=r(36),d=r(4),h=r(37),p="__core-js_shared__",y=x.exports=d[p]||h(p,{});(y.versions||(y.versions=[])).push({version:"3.39.0",mode:u?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE",source:"https://github.com/zloirock/core-js"})},function(x){x.exports=!1},function(x,b,r){var u=r(4),d=Object.defineProperty;x.exports=function(h,p){try{d(u,h,{value:p,configurable:!0,writable:!0})}catch(y){u[h]=p}return p}},function(x,b,r){var u=r(14),d=r(39),h=u({}.hasOwnProperty);x.exports=Object.hasOwn||function(y,T){return h(d(y),T)}},function(x,b,r){var u=r(16),d=Object;x.exports=function(h){return d(u(h))}},function(x,b,r){var u=r(14),d=0,h=Math.random(),p=u(1 .toString);x.exports=function(y){return"Symbol("+(y===void 0?"":y)+")_"+p(++d+h,36)}},function(x,b,r){var u=r(6),d=r(7),h=r(42);x.exports=!u&&!d(function(){return Object.defineProperty(h("div"),"a",{get:function(){return 7}}).a!==7})},function(x,b,r){var u=r(4),d=r(20),h=u.document,p=d(h)&&d(h.createElement);x.exports=function(y){return p?h.createElement(y):{}}},function(x,b,r){var u=r(6),d=r(44),h=r(11);x.exports=u?function(p,y,T){return d.f(p,y,h(1,T))}:function(p,y,T){return p[y]=T,p}},function(x,b,r){var u=r(6),d=r(41),h=r(45),p=r(46),y=r(18),T=TypeError,$=Object.defineProperty,A=Object.getOwnPropertyDescriptor,E="enumerable",R="configurable",I="writable";b.f=u?h?function(C,D,M){if(p(C),D=y(D),p(M),typeof C=="function"&&D==="prototype"&&"value"in M&&I in M&&!M[I]){var F=A(C,D);F&&F[I]&&(C[D]=M.value,M={configurable:R in M?M[R]:F[R],enumerable:E in M?M[E]:F[E],writable:!1})}return $(C,D,M)}:$:function(C,D,M){if(p(C),D=y(D),p(M),d)try{return $(C,D,M)}catch(F){}if("get"in M||"set"in M)throw new T("Accessors not supported");return"value"in M&&(C[D]=M.value),C}},function(x,b,r){var u=r(6),d=r(7);x.exports=u&&d(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},function(x,b,r){var u=r(20),d=String,h=TypeError;x.exports=function(p){if(u(p))return p;throw new h(d(p)+" is not an object")}},function(x,b,r){var u=r(21),d=r(44),h=r(48),p=r(37);x.exports=function(y,T,$,A){A||(A={});var E=A.enumerable,R=A.name!==void 0?A.name:T;if(u($)&&h($,R,A),A.global)E?y[T]=$:p(T,$);else{try{A.unsafe?y[T]&&(E=!0):delete y[T]}catch(I){}E?y[T]=$:d.f(y,T,{value:$,enumerable:!1,configurable:!A.nonConfigurable,writable:!A.nonWritable})}return y}},function(x,b,r){var u=r(14),d=r(7),h=r(21),p=r(38),y=r(6),T=r(49).CONFIGURABLE,$=r(50),A=r(51),E=A.enforce,R=A.get,I=String,O=Object.defineProperty,C=u("".slice),D=u("".replace),M=u([].join),F=y&&!d(function(){return O(function(){},"length",{value:8}).length!==8}),j=String(String).split("String"),B=x.exports=function(U,V,z){C(I(V),0,7)==="Symbol("&&(V="["+D(I(V),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),z&&z.getter&&(V="get "+V),z&&z.setter&&(V="set "+V),(!p(U,"name")||T&&U.name!==V)&&(y?O(U,"name",{value:V,configurable:!0}):U.name=V),F&&z&&p(z,"arity")&&U.length!==z.arity&&O(U,"length",{value:z.arity});try{z&&p(z,"constructor")&&z.constructor?y&&O(U,"prototype",{writable:!1}):U.prototype&&(U.prototype=void 0)}catch(H){}var G=E(U);return p(G,"source")||(G.source=M(j,typeof V=="string"?V:"")),U};Function.prototype.toString=B(function(){return h(this)&&R(this).source||$(this)},"toString")},function(x,b,r){var u=r(6),d=r(38),h=Function.prototype,p=u&&Object.getOwnPropertyDescriptor,y=d(h,"name"),T=y&&function(){}.name==="something",$=y&&(!u||u&&p(h,"name").configurable);x.exports={EXISTS:y,PROPER:T,CONFIGURABLE:$}},function(x,b,r){var u=r(14),d=r(21),h=r(35),p=u(Function.toString);d(h.inspectSource)||(h.inspectSource=function(y){return p(y)}),x.exports=h.inspectSource},function(x,b,r){var u=r(52),d=r(4),h=r(20),p=r(43),y=r(38),T=r(35),$=r(53),A=r(54),E="Object already initialized",R=d.TypeError,I=d.WeakMap,O,C,D,M=function(U){return D(U)?C(U):O(U,{})},F=function(U){return function(V){var z;if(!h(V)||(z=C(V)).type!==U)throw new R("Incompatible receiver, "+U+" required");return z}};if(u||T.state){var j=T.state||(T.state=new I);j.get=j.get,j.has=j.has,j.set=j.set,O=function(U,V){if(j.has(U))throw new R(E);return V.facade=U,j.set(U,V),V},C=function(U){return j.get(U)||{}},D=function(U){return j.has(U)}}else{var B=$("state");A[B]=!0,O=function(U,V){if(y(U,B))throw new R(E);return V.facade=U,p(U,B,V),V},C=function(U){return y(U,B)?U[B]:{}},D=function(U){return y(U,B)}}x.exports={set:O,get:C,has:D,enforce:M,getterFor:F}},function(x,b,r){var u=r(4),d=r(21),h=u.WeakMap;x.exports=d(h)&&/native code/.test(String(h))},function(x,b,r){var u=r(34),d=r(40),h=u("keys");x.exports=function(p){return h[p]||(h[p]=d(p))}},function(x){x.exports={}},function(x,b,r){var u=r(38),d=r(56),h=r(5),p=r(44);x.exports=function(y,T,$){for(var A=d(T),E=p.f,R=h.f,I=0;IR;)d(E,O=A[R++])&&(~p(I,O)||T(I,O));return I}},function(x,b,r){var u=r(12),d=r(60),h=r(63),p=function(y){return function(T,$,A){var E=u(T),R=h(E);if(R===0)return!y&&-1;var I=d(A,R),O;if(y&&$!==$){for(;R>I;)if(O=E[I++],O!==O)return!0}else for(;R>I;I++)if((y||I in E)&&E[I]===$)return y||I||0;return!y&&-1}};x.exports={includes:p(!0),indexOf:p(!1)}},function(x,b,r){var u=r(61),d=Math.max,h=Math.min;x.exports=function(p,y){var T=u(p);return T<0?d(T+y,0):h(T,y)}},function(x,b,r){var u=r(62);x.exports=function(d){var h=+d;return h!==h||h===0?0:u(h)}},function(x){var b=Math.ceil,r=Math.floor;x.exports=Math.trunc||function(d){var h=+d;return(h>0?r:b)(h)}},function(x,b,r){var u=r(64);x.exports=function(d){return u(d.length)}},function(x,b,r){var u=r(61),d=Math.min;x.exports=function(h){var p=u(h);return p>0?d(p,9007199254740991):0}},function(x){x.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(x,b){b.f=Object.getOwnPropertySymbols},function(x,b,r){var u=r(7),d=r(21),h=/#|\.prototype\./,p=function(E,R){var I=T[y(E)];return I===A?!0:I===$?!1:d(R)?u(R):!!R},y=p.normalize=function(E){return String(E).replace(h,".").toLowerCase()},T=p.data={},$=p.NATIVE="N",A=p.POLYFILL="P";x.exports=p},function(x,b,r){var u=r(69),d=String;x.exports=function(h){if(u(h)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return d(h)}},function(x,b,r){var u=r(70),d=r(21),h=r(15),p=r(33),y=p("toStringTag"),T=Object,$=h(function(){return arguments}())==="Arguments",A=function(E,R){try{return E[R]}catch(I){}};x.exports=u?h:function(E){var R,I,O;return E===void 0?"Undefined":E===null?"Null":typeof(I=A(R=T(E),y))=="string"?I:$?h(R):(O=h(R))==="Object"&&d(R.callee)?"Arguments":O}},function(x,b,r){var u=r(33),d=u("toStringTag"),h={};h[d]="z",x.exports=String(h)==="[object z]"},function(x,b,r){var u=r(46),d=r(72),h=r(65),p=r(54),y=r(74),T=r(42),$=r(53),A=">",E="<",R="prototype",I="script",O=$("IE_PROTO"),C=function(){},D=function(U){return E+I+A+U+E+"/"+I+A},M=function(U){U.write(D("")),U.close();var V=U.parentWindow.Object;return U=null,V},F=function(){var U=T("iframe"),V="java"+I+":",z;return U.style.display="none",y.appendChild(U),U.src=String(V),z=U.contentWindow.document,z.open(),z.write(D("document.F=Object")),z.close(),z.F},j,B=function(){try{j=new ActiveXObject("htmlfile")}catch(V){}B=typeof document!="undefined"?document.domain&&j?M(j):F():M(j);for(var U=h.length;U--;)delete B[R][h[U]];return B()};p[O]=!0,x.exports=Object.create||function(V,z){var G;return V!==null?(C[R]=u(V),G=new C,C[R]=null,G[O]=V):G=B(),z===void 0?G:d.f(G,z)}},function(x,b,r){var u=r(6),d=r(45),h=r(44),p=r(46),y=r(12),T=r(73);b.f=u&&!d?Object.defineProperties:function(A,E){p(A);for(var R=y(E),I=T(E),O=I.length,C=0,D;O>C;)h.f(A,D=I[C++],R[D]);return A}},function(x,b,r){var u=r(58),d=r(65);x.exports=Object.keys||function(p){return u(p,d)}},function(x,b,r){var u=r(23);x.exports=u("document","documentElement")},function(x,b,r){var u=r(15),d=r(12),h=r(57).f,p=r(76),y=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],T=function($){try{return h($)}catch(A){return p(y)}};x.exports.f=function(A){return y&&u(A)==="Window"?T(A):h(d(A))}},function(x,b,r){var u=r(14);x.exports=u([].slice)},function(x,b,r){var u=r(48),d=r(44);x.exports=function(h,p,y){return y.get&&u(y.get,p,{getter:!0}),y.set&&u(y.set,p,{setter:!0}),d.f(h,p,y)}},function(x,b,r){var u=r(33);b.f=u},function(x,b,r){var u=r(80),d=r(38),h=r(78),p=r(44).f;x.exports=function(y){var T=u.Symbol||(u.Symbol={});d(T,y)||p(T,y,{value:h.f(y)})}},function(x,b,r){var u=r(4);x.exports=u},function(x,b,r){var u=r(8),d=r(23),h=r(33),p=r(47);x.exports=function(){var y=d("Symbol"),T=y&&y.prototype,$=T&&T.valueOf,A=h("toPrimitive");T&&!T[A]&&p(T,A,function(E){return u($,this)},{arity:1})}},function(x,b,r){var u=r(44).f,d=r(38),h=r(33),p=h("toStringTag");x.exports=function(y,T,$){y&&!$&&(y=y.prototype),y&&!d(y,p)&&u(y,p,{configurable:!0,value:T})}},function(x,b,r){var u=r(84),d=r(14),h=r(13),p=r(39),y=r(63),T=r(86),$=d([].push),A=function(E){var R=E===1,I=E===2,O=E===3,C=E===4,D=E===6,M=E===7,F=E===5||D;return function(j,B,U,V){for(var z=p(j),G=h(z),H=y(G),k=u(B,U),J=0,q=V||T,nt=R?q(j,H):I||M?q(j,0):void 0,rt,_;H>J;J++)if((F||J in G)&&(rt=G[J],_=k(rt,J,z),E))if(R)nt[J]=_;else if(_)switch(E){case 3:return!0;case 5:return rt;case 6:return J;case 2:$(nt,rt)}else switch(E){case 4:return!1;case 7:$(nt,rt)}return D?-1:O||C?C:nt}};x.exports={forEach:A(0),map:A(1),filter:A(2),some:A(3),every:A(4),find:A(5),findIndex:A(6),filterReject:A(7)}},function(x,b,r){var u=r(85),d=r(30),h=r(9),p=u(u.bind);x.exports=function(y,T){return d(y),T===void 0?y:h?p(y,T):function(){return y.apply(T,arguments)}}},function(x,b,r){var u=r(15),d=r(14);x.exports=function(h){if(u(h)==="Function")return d(h)}},function(x,b,r){var u=r(87);x.exports=function(d,h){return new(u(d))(h===0?0:h)}},function(x,b,r){var u=r(88),d=r(89),h=r(20),p=r(33),y=p("species"),T=Array;x.exports=function($){var A;return u($)&&(A=$.constructor,d(A)&&(A===T||u(A.prototype))?A=void 0:h(A)&&(A=A[y],A===null&&(A=void 0))),A===void 0?T:A}},function(x,b,r){var u=r(15);x.exports=Array.isArray||function(h){return u(h)==="Array"}},function(x,b,r){var u=r(14),d=r(7),h=r(21),p=r(69),y=r(23),T=r(50),$=function(){},A=y("Reflect","construct"),E=/^\s*(?:class|function)\b/,R=u(E.exec),I=!E.test($),O=function(M){if(!h(M))return!1;try{return A($,[],M),!0}catch(F){return!1}},C=function(M){if(!h(M))return!1;switch(p(M)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return I||!!R(E,T(M))}catch(F){return!0}};C.sham=!0,x.exports=!A||d(function(){var D;return O(O.call)||!O(Object)||!O(function(){D=!0})||D})?C:O},function(x,b,r){var u=r(3),d=r(23),h=r(38),p=r(68),y=r(34),T=r(91),$=y("string-to-symbol-registry"),A=y("symbol-to-string-registry");u({target:"Symbol",stat:!0,forced:!T},{for:function(E){var R=p(E);if(h($,R))return $[R];var I=d("Symbol")(R);return $[R]=I,A[I]=R,I}})},function(x,b,r){var u=r(26);x.exports=u&&!!Symbol.for&&!!Symbol.keyFor},function(x,b,r){var u=r(3),d=r(38),h=r(22),p=r(31),y=r(34),T=r(91),$=y("symbol-to-string-registry");u({target:"Symbol",stat:!0,forced:!T},{keyFor:function(E){if(!h(E))throw new TypeError(p(E)+" is not a symbol");if(d($,E))return $[E]}})},function(x,b,r){var u=r(3),d=r(23),h=r(94),p=r(8),y=r(14),T=r(7),$=r(21),A=r(22),E=r(76),R=r(95),I=r(26),O=String,C=d("JSON","stringify"),D=y(/./.exec),M=y("".charAt),F=y("".charCodeAt),j=y("".replace),B=y(1 .toString),U=/[\uD800-\uDFFF]/g,V=/^[\uD800-\uDBFF]$/,z=/^[\uDC00-\uDFFF]$/,G=!I||T(function(){var q=d("Symbol")("stringify detection");return C([q])!=="[null]"||C({a:q})!=="{}"||C(Object(q))!=="{}"}),H=T(function(){return C("\uDF06\uD834")!=='"\\udf06\\ud834"'||C("\uDEAD")!=='"\\udead"'}),k=function(q,nt){var rt=E(arguments),_=R(nt);if(!(!$(_)&&(q===void 0||A(q))))return rt[1]=function(tt,et){if($(_)&&(et=p(_,this,O(tt),et)),!A(et))return et},h(C,null,rt)},J=function(q,nt,rt){var _=M(rt,nt-1),tt=M(rt,nt+1);return D(V,q)&&!D(z,tt)||D(z,q)&&!D(V,_)?"\\u"+B(F(q,0),16):q};C&&u({target:"JSON",stat:!0,arity:3,forced:G||H},{stringify:function(nt,rt,_){var tt=E(arguments),et=h(G?k:C,null,tt);return H&&typeof et=="string"?j(et,U,J):et}})},function(x,b,r){var u=r(9),d=Function.prototype,h=d.apply,p=d.call;x.exports=typeof Reflect=="object"&&Reflect.apply||(u?p.bind(h):function(){return p.apply(h,arguments)})},function(x,b,r){var u=r(14),d=r(88),h=r(21),p=r(15),y=r(68),T=u([].push);x.exports=function($){if(h($))return $;if(d($)){for(var A=$.length,E=[],R=0;RU&&R(_,arguments[U]),_});if(J.prototype=H,z!=="Error"?y?y(J,k):T(J,k,{name:!0}):O&&B in G&&($(J,G,B),$(J,G,"prepareStackTrace")),T(J,G),!C)try{H.name!==z&&h(H,"name",z),H.constructor=J}catch(q){}return J}}},function(x,b,r){var u=r(114),d=r(20),h=r(16),p=r(115);x.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var y=!1,T={},$;try{$=u(Object.prototype,"__proto__","set"),$(T,[]),y=T instanceof Array}catch(A){}return function(E,R){return h(E),p(R),d(E)&&(y?$(E,R):E.__proto__=R),E}}():void 0)},function(x,b,r){var u=r(14),d=r(30);x.exports=function(h,p,y){try{return u(d(Object.getOwnPropertyDescriptor(h,p)[y]))}catch(T){}}},function(x,b,r){var u=r(116),d=String,h=TypeError;x.exports=function(p){if(u(p))return p;throw new h("Can't set "+d(p)+" as a prototype")}},function(x,b,r){var u=r(20);x.exports=function(d){return u(d)||d===null}},function(x,b,r){var u=r(44).f;x.exports=function(d,h,p){p in d||u(d,p,{configurable:!0,get:function(){return h[p]},set:function(y){h[p]=y}})}},function(x,b,r){var u=r(21),d=r(20),h=r(113);x.exports=function(p,y,T){var $,A;return h&&u($=y.constructor)&&$!==T&&d(A=$.prototype)&&A!==T.prototype&&h(p,A),p}},function(x,b,r){var u=r(68);x.exports=function(d,h){return d===void 0?arguments.length<2?"":h:u(d)}},function(x,b,r){var u=r(20),d=r(43);x.exports=function(h,p){u(p)&&"cause"in p&&d(h,"cause",p.cause)}},function(x,b,r){var u=r(43),d=r(122),h=r(123),p=Error.captureStackTrace;x.exports=function(y,T,$,A){h&&(p?p(y,T):u(y,"stack",d($,A)))}},function(x,b,r){var u=r(14),d=Error,h=u("".replace),p=function($){return String(new d($).stack)}("zxcasd"),y=/\n\s*at [^:]*:[^\n]*/,T=y.test(p);x.exports=function($,A){if(T&&typeof $=="string"&&!d.prepareStackTrace)for(;A--;)$=h($,y,"");return $}},function(x,b,r){var u=r(7),d=r(11);x.exports=!u(function(){var h=new Error("a");return"stack"in h?(Object.defineProperty(h,"stack",d(1,7)),h.stack!==7):!0})},function(x,b,r){var u=r(47),d=r(125),h=Error.prototype;h.toString!==d&&u(h,"toString",d)},function(x,b,r){var u=r(6),d=r(7),h=r(46),p=r(119),y=Error.prototype.toString,T=d(function(){if(u){var $=Object.create(Object.defineProperty({},"name",{get:function(){return this===$}}));if(y.call($)!=="true")return!0}return y.call({message:1,name:2})!=="2: 1"||y.call({})!=="Error"});x.exports=T?function(){var A=h(this),E=p(A.name,"Error"),R=p(A.message);return E?R?E+": "+R:E:R}:y},function(x,b,r){r(127)},function(x,b,r){var u=r(3),d=r(24),h=r(128),p=r(113),y=r(55),T=r(71),$=r(43),A=r(11),E=r(120),R=r(121),I=r(130),O=r(119),C=r(33),D=C("toStringTag"),M=Error,F=[].push,j=function(V,z){var G=d(B,this),H;p?H=p(new M,G?h(this):B):(H=G?this:T(B),$(H,D,"Error")),z!==void 0&&$(H,"message",O(z)),R(H,j,H.stack,1),arguments.length>2&&E(H,arguments[2]);var k=[];return I(V,F,{that:k}),$(H,"errors",k),H};p?p(j,M):y(j,M,{name:!0});var B=j.prototype=T(M.prototype,{constructor:A(1,j),message:A(1,""),name:A(1,"AggregateError")});u({global:!0,constructor:!0,arity:2},{AggregateError:j})},function(x,b,r){var u=r(38),d=r(21),h=r(39),p=r(53),y=r(129),T=p("IE_PROTO"),$=Object,A=$.prototype;x.exports=y?$.getPrototypeOf:function(E){var R=h(E);if(u(R,T))return R[T];var I=R.constructor;return d(I)&&R instanceof I?I.prototype:R instanceof $?A:null}},function(x,b,r){var u=r(7);x.exports=!u(function(){function d(){}return d.prototype.constructor=null,Object.getPrototypeOf(new d)!==d.prototype})},function(x,b,r){var u=r(84),d=r(8),h=r(46),p=r(31),y=r(131),T=r(63),$=r(24),A=r(133),E=r(134),R=r(135),I=TypeError,O=function(D,M){this.stopped=D,this.result=M},C=O.prototype;x.exports=function(D,M,F){var j=F&&F.that,B=!!(F&&F.AS_ENTRIES),U=!!(F&&F.IS_RECORD),V=!!(F&&F.IS_ITERATOR),z=!!(F&&F.INTERRUPTED),G=u(M,j),H,k,J,q,nt,rt,_,tt=function(st){return H&&R(H,"normal",st),new O(!0,st)},et=function(st){return B?(h(st),z?G(st[0],st[1],tt):G(st[0],st[1])):z?G(st,tt):G(st)};if(U)H=D.iterator;else if(V)H=D;else{if(k=E(D),!k)throw new I(p(D)+" is not iterable");if(y(k)){for(J=0,q=T(D);q>J;J++)if(nt=et(D[J]),nt&&$(C,nt))return nt;return new O(!1)}H=A(D,k)}for(rt=U?D.next:H.next;!(_=d(rt,H)).done;){try{nt=et(_.value)}catch(st){R(H,"throw",st)}if(typeof nt=="object"&&nt&&$(C,nt))return nt}return new O(!1)}},function(x,b,r){var u=r(33),d=r(132),h=u("iterator"),p=Array.prototype;x.exports=function(y){return y!==void 0&&(d.Array===y||p[h]===y)}},function(x){x.exports={}},function(x,b,r){var u=r(8),d=r(30),h=r(46),p=r(31),y=r(134),T=TypeError;x.exports=function($,A){var E=arguments.length<2?y($):A;if(d(E))return h(u(E,$));throw new T(p($)+" is not iterable")}},function(x,b,r){var u=r(69),d=r(29),h=r(17),p=r(132),y=r(33),T=y("iterator");x.exports=function($){if(!h($))return d($,T)||d($,"@@iterator")||p[u($)]}},function(x,b,r){var u=r(8),d=r(46),h=r(29);x.exports=function(p,y,T){var $,A;d(p);try{if($=h(p,"return"),!$){if(y==="throw")throw T;return T}$=u($,p)}catch(E){A=!0,$=E}if(y==="throw")throw T;if(A)throw $;return d($),T}},function(x,b,r){var u=r(3),d=r(23),h=r(94),p=r(7),y=r(112),T="AggregateError",$=d(T),A=!p(function(){return $([1]).errors[0]!==1})&&p(function(){return $([1],T,{cause:7}).cause!==7});u({global:!0,constructor:!0,arity:2,forced:A},{AggregateError:y(T,function(E){return function(I,O){return h(E,this,arguments)}},A,!0)})},function(x,b,r){var u=r(3),d=r(39),h=r(63),p=r(61),y=r(138);u({target:"Array",proto:!0},{at:function($){var A=d(this),E=h(A),R=p($),I=R>=0?R:E+R;return I<0||I>=E?void 0:A[I]}}),y("at")},function(x,b,r){var u=r(33),d=r(71),h=r(44).f,p=u("unscopables"),y=Array.prototype;y[p]===void 0&&h(y,p,{configurable:!0,value:d(null)}),x.exports=function(T){y[p][T]=!0}},function(x,b,r){var u=r(3),d=r(7),h=r(88),p=r(20),y=r(39),T=r(63),$=r(140),A=r(141),E=r(86),R=r(142),I=r(33),O=r(27),C=I("isConcatSpreadable"),D=O>=51||!d(function(){var j=[];return j[C]=!1,j.concat()[0]!==j}),M=function(j){if(!p(j))return!1;var B=j[C];return B!==void 0?!!B:h(j)},F=!D||!R("concat");u({target:"Array",proto:!0,arity:1,forced:F},{concat:function(B){var U=y(this),V=E(U,0),z=0,G,H,k,J,q;for(G=-1,k=arguments.length;Gr)throw b("Maximum allowed index exceeded");return u}},function(x,b,r){var u=r(6),d=r(44),h=r(11);x.exports=function(p,y,T){u?d.f(p,y,h(0,T)):p[y]=T}},function(x,b,r){var u=r(7),d=r(33),h=r(27),p=d("species");x.exports=function(y){return h>=51||!u(function(){var T=[],$=T.constructor={};return $[p]=function(){return{foo:1}},T[y](Boolean).foo!==1})}},function(x,b,r){var u=r(3),d=r(144),h=r(138);u({target:"Array",proto:!0},{copyWithin:d}),h("copyWithin")},function(x,b,r){var u=r(39),d=r(60),h=r(63),p=r(145),y=Math.min;x.exports=[].copyWithin||function($,A){var E=u(this),R=h(E),I=d($,R),O=d(A,R),C=arguments.length>2?arguments[2]:void 0,D=y((C===void 0?R:d(C,R))-O,R-I),M=1;for(O0;)O in E?E[I]=E[O]:p(E,I),I+=M,O+=M;return E}},function(x,b,r){var u=r(31),d=TypeError;x.exports=function(h,p){if(!delete h[p])throw new d("Cannot delete property "+u(p)+" of "+u(h))}},function(x,b,r){var u=r(3),d=r(83).every,h=r(147),p=h("every");u({target:"Array",proto:!0,forced:!p},{every:function(T){return d(this,T,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(7);x.exports=function(d,h){var p=[][d];return!!p&&u(function(){p.call(null,h||function(){return 1},1)})}},function(x,b,r){var u=r(3),d=r(149),h=r(138);u({target:"Array",proto:!0},{fill:d}),h("fill")},function(x,b,r){var u=r(39),d=r(60),h=r(63);x.exports=function(y){for(var T=u(this),$=h(T),A=arguments.length,E=d(A>1?arguments[1]:void 0,$),R=A>2?arguments[2]:void 0,I=R===void 0?$:d(R,$);I>E;)T[E++]=y;return T}},function(x,b,r){var u=r(3),d=r(83).filter,h=r(142),p=h("filter");u({target:"Array",proto:!0,forced:!p},{filter:function(T){return d(this,T,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(83).find,h=r(138),p="find",y=!0;p in[]&&Array(1)[p](function(){y=!1}),u({target:"Array",proto:!0,forced:y},{find:function($){return d(this,$,arguments.length>1?arguments[1]:void 0)}}),h(p)},function(x,b,r){var u=r(3),d=r(83).findIndex,h=r(138),p="findIndex",y=!0;p in[]&&Array(1)[p](function(){y=!1}),u({target:"Array",proto:!0,forced:y},{findIndex:function($){return d(this,$,arguments.length>1?arguments[1]:void 0)}}),h(p)},function(x,b,r){var u=r(3),d=r(154).findLast,h=r(138);u({target:"Array",proto:!0},{findLast:function(y){return d(this,y,arguments.length>1?arguments[1]:void 0)}}),h("findLast")},function(x,b,r){var u=r(84),d=r(13),h=r(39),p=r(63),y=function(T){var $=T===1;return function(A,E,R){for(var I=h(A),O=d(I),C=p(O),D=u(E,R),M,F;C-- >0;)if(M=O[C],F=D(M,C,I),F)switch(T){case 0:return M;case 1:return C}return $?-1:void 0}};x.exports={findLast:y(0),findLastIndex:y(1)}},function(x,b,r){var u=r(3),d=r(154).findLastIndex,h=r(138);u({target:"Array",proto:!0},{findLastIndex:function(y){return d(this,y,arguments.length>1?arguments[1]:void 0)}}),h("findLastIndex")},function(x,b,r){var u=r(3),d=r(157),h=r(39),p=r(63),y=r(61),T=r(86);u({target:"Array",proto:!0},{flat:function(){var A=arguments.length?arguments[0]:void 0,E=h(this),R=p(E),I=T(E,0);return I.length=d(I,E,E,R,0,A===void 0?1:y(A)),I}})},function(x,b,r){var u=r(88),d=r(63),h=r(140),p=r(84),y=function(T,$,A,E,R,I,O,C){for(var D=R,M=0,F=O?p(O,C):!1,j,B;M0&&u(j)?(B=d(j),D=y(T,$,j,B,D,I-1)-1):(h(D+1),T[D]=j),D++),M++;return D};x.exports=y},function(x,b,r){var u=r(3),d=r(157),h=r(30),p=r(39),y=r(63),T=r(86);u({target:"Array",proto:!0},{flatMap:function(A){var E=p(this),R=y(E),I;return h(A),I=T(E,0),I.length=d(I,E,E,R,0,1,A,arguments.length>1?arguments[1]:void 0),I}})},function(x,b,r){var u=r(3),d=r(160);u({target:"Array",proto:!0,forced:[].forEach!==d},{forEach:d})},function(x,b,r){var u=r(83).forEach,d=r(147),h=d("forEach");x.exports=h?[].forEach:function(y){return u(this,y,arguments.length>1?arguments[1]:void 0)}},function(x,b,r){var u=r(3),d=r(162),h=r(164),p=!h(function(y){Array.from(y)});u({target:"Array",stat:!0,forced:p},{from:d})},function(x,b,r){var u=r(84),d=r(8),h=r(39),p=r(163),y=r(131),T=r(89),$=r(63),A=r(141),E=r(133),R=r(134),I=Array;x.exports=function(C){var D=h(C),M=T(this),F=arguments.length,j=F>1?arguments[1]:void 0,B=j!==void 0;B&&(j=u(j,F>2?arguments[2]:void 0));var U=R(D),V=0,z,G,H,k,J,q;if(U&&!(this===I&&y(U)))for(G=M?new this:[],k=E(D,U),J=k.next;!(H=d(J,k)).done;V++)q=B?p(k,j,[H.value,V],!0):H.value,A(G,V,q);else for(z=$(D),G=M?new this(z):I(z);z>V;V++)q=B?j(D[V],V):D[V],A(G,V,q);return G.length=V,G}},function(x,b,r){var u=r(46),d=r(135);x.exports=function(h,p,y,T){try{return T?p(u(y)[0],y[1]):p(y)}catch($){d(h,"throw",$)}}},function(x,b,r){var u=r(33),d=u("iterator"),h=!1;try{var p=0,y={next:function(){return{done:!!p++}},return:function(){h=!0}};y[d]=function(){return this},Array.from(y,function(){throw 2})}catch(T){}x.exports=function(T,$){try{if(!$&&!h)return!1}catch(R){return!1}var A=!1;try{var E={};E[d]=function(){return{next:function(){return{done:A=!0}}}},T(E)}catch(R){}return A}},function(x,b,r){var u=r(3),d=r(59).includes,h=r(7),p=r(138),y=h(function(){return!Array(1).includes()});u({target:"Array",proto:!0,forced:y},{includes:function($){return d(this,$,arguments.length>1?arguments[1]:void 0)}}),p("includes")},function(x,b,r){var u=r(3),d=r(85),h=r(59).indexOf,p=r(147),y=d([].indexOf),T=!!y&&1/y([1],1,-0)<0,$=T||!p("indexOf");u({target:"Array",proto:!0,forced:$},{indexOf:function(E){var R=arguments.length>1?arguments[1]:void 0;return T?y(this,E,R)||0:h(this,E,R)}})},function(x,b,r){var u=r(3),d=r(88);u({target:"Array",stat:!0},{isArray:d})},function(x,b,r){var u=r(12),d=r(138),h=r(132),p=r(51),y=r(44).f,T=r(169),$=r(172),A=r(36),E=r(6),R="Array Iterator",I=p.set,O=p.getterFor(R);x.exports=T(Array,"Array",function(D,M){I(this,{type:R,target:u(D),index:0,kind:M})},function(){var D=O(this),M=D.target,F=D.index++;if(!M||F>=M.length)return D.target=null,$(void 0,!0);switch(D.kind){case"keys":return $(F,!1);case"values":return $(M[F],!1)}return $([F,M[F]],!1)},"values");var C=h.Arguments=h.Array;if(d("keys"),d("values"),d("entries"),!A&&E&&C.name!=="values")try{y(C,"name",{value:"values"})}catch(D){}},function(x,b,r){var u=r(3),d=r(8),h=r(36),p=r(49),y=r(21),T=r(170),$=r(128),A=r(113),E=r(82),R=r(43),I=r(47),O=r(33),C=r(132),D=r(171),M=p.PROPER,F=p.CONFIGURABLE,j=D.IteratorPrototype,B=D.BUGGY_SAFARI_ITERATORS,U=O("iterator"),V="keys",z="values",G="entries",H=function(){return this};x.exports=function(k,J,q,nt,rt,_,tt){T(q,J,nt);var et=function(Qt){if(Qt===rt&&yt)return yt;if(!B&&Qt&&Qt in gt)return gt[Qt];switch(Qt){case V:return function(){return new q(this,Qt)};case z:return function(){return new q(this,Qt)};case G:return function(){return new q(this,Qt)}}return function(){return new q(this)}},st=J+" Iterator",mt=!1,gt=k.prototype,xt=gt[U]||gt["@@iterator"]||rt&>[rt],yt=!B&&xt||et(rt),Ut=J==="Array"&>.entries||xt,Dt,Xt,kt;if(Ut&&(Dt=$(Ut.call(new k)),Dt!==Object.prototype&&Dt.next&&(!h&&$(Dt)!==j&&(A?A(Dt,j):y(Dt[U])||I(Dt,U,H)),E(Dt,st,!0,!0),h&&(C[st]=H))),M&&rt===z&&xt&&xt.name!==z&&(!h&&F?R(gt,"name",z):(mt=!0,yt=function(){return d(xt,this)})),rt)if(Xt={values:et(z),keys:_?yt:et(V),entries:et(G)},tt)for(kt in Xt)(B||mt||!(kt in gt))&&I(gt,kt,Xt[kt]);else u({target:J,proto:!0,forced:B||mt},Xt);return(!h||tt)&>[U]!==yt&&I(gt,U,yt,{name:rt}),C[J]=yt,Xt}},function(x,b,r){var u=r(171).IteratorPrototype,d=r(71),h=r(11),p=r(82),y=r(132),T=function(){return this};x.exports=function($,A,E,R){var I=A+" Iterator";return $.prototype=d(u,{next:h(+!R,E)}),p($,I,!1,!0),y[I]=T,$}},function(x,b,r){var u=r(7),d=r(21),h=r(20),p=r(71),y=r(128),T=r(47),$=r(33),A=r(36),E=$("iterator"),R=!1,I,O,C;[].keys&&(C=[].keys(),"next"in C?(O=y(y(C)),O!==Object.prototype&&(I=O)):R=!0);var D=!h(I)||u(function(){var M={};return I[E].call(M)!==M});D?I={}:A&&(I=p(I)),d(I[E])||T(I,E,function(){return this}),x.exports={IteratorPrototype:I,BUGGY_SAFARI_ITERATORS:R}},function(x){x.exports=function(b,r){return{value:b,done:r}}},function(x,b,r){var u=r(3),d=r(14),h=r(13),p=r(12),y=r(147),T=d([].join),$=h!==Object,A=$||!y("join",",");u({target:"Array",proto:!0,forced:A},{join:function(R){return T(p(this),R===void 0?",":R)}})},function(x,b,r){var u=r(3),d=r(175);u({target:"Array",proto:!0,forced:d!==[].lastIndexOf},{lastIndexOf:d})},function(x,b,r){var u=r(94),d=r(12),h=r(61),p=r(63),y=r(147),T=Math.min,$=[].lastIndexOf,A=!!$&&1/[1].lastIndexOf(1,-0)<0,E=y("lastIndexOf"),R=A||!E;x.exports=R?function(O){if(A)return u($,this,arguments)||0;var C=d(this),D=p(C);if(D===0)return-1;var M=D-1;for(arguments.length>1&&(M=T(M,h(arguments[1]))),M<0&&(M=D+M);M>=0;M--)if(M in C&&C[M]===O)return M||0;return-1}:$},function(x,b,r){var u=r(3),d=r(83).map,h=r(142),p=h("map");u({target:"Array",proto:!0,forced:!p},{map:function(T){return d(this,T,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(7),h=r(89),p=r(141),y=Array,T=d(function(){function $(){}return!(y.of.call($)instanceof $)});u({target:"Array",stat:!0,forced:T},{of:function(){for(var A=0,E=arguments.length,R=new(h(this)?this:y)(E);E>A;)p(R,A,arguments[A++]);return R.length=E,R}})},function(x,b,r){var u=r(3),d=r(39),h=r(63),p=r(179),y=r(140),T=r(7),$=T(function(){return[].push.call({length:4294967296},1)!==4294967297}),A=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(R){return R instanceof TypeError}},E=$||!A();u({target:"Array",proto:!0,arity:1,forced:E},{push:function(I){var O=d(this),C=h(O),D=arguments.length;y(C+D);for(var M=0;M79&&p<83,$=T||!h("reduce");u({target:"Array",proto:!0,forced:$},{reduce:function(E){var R=arguments.length;return d(this,E,R,R>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(30),d=r(39),h=r(13),p=r(63),y=TypeError,T="Reduce of empty array with no initial value",$=function(A){return function(E,R,I,O){var C=d(E),D=h(C),M=p(C);if(u(R),M===0&&I<2)throw new y(T);var F=A?M-1:0,j=A?-1:1;if(I<2)for(;;){if(F in D){O=D[F],F+=j;break}if(F+=j,A?F<0:M<=F)throw new y(T)}for(;A?F>=0:M>F;F+=j)F in D&&(O=R(O,D[F],F,C));return O}};x.exports={left:$(!1),right:$(!0)}},function(x,b,r){var u=r(183);x.exports=u==="NODE"},function(x,b,r){var u=r(4),d=r(28),h=r(15),p=function(y){return d.slice(0,y.length)===y};x.exports=function(){return p("Bun/")?"BUN":p("Cloudflare-Workers")?"CLOUDFLARE":p("Deno/")?"DENO":p("Node.js/")?"NODE":u.Bun&&typeof Bun.version=="string"?"BUN":u.Deno&&typeof Deno.version=="object"?"DENO":h(u.process)==="process"?"NODE":u.window&&u.document?"BROWSER":"REST"}()},function(x,b,r){var u=r(3),d=r(181).right,h=r(147),p=r(27),y=r(182),T=!y&&p>79&&p<83,$=T||!h("reduceRight");u({target:"Array",proto:!0,forced:$},{reduceRight:function(E){return d(this,E,arguments.length,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(14),h=r(88),p=d([].reverse),y=[1,2];u({target:"Array",proto:!0,forced:String(y)===String(y.reverse())},{reverse:function(){return h(this)&&(this.length=this.length),p(this)}})},function(x,b,r){var u=r(3),d=r(88),h=r(89),p=r(20),y=r(60),T=r(63),$=r(12),A=r(141),E=r(33),R=r(142),I=r(76),O=R("slice"),C=E("species"),D=Array,M=Math.max;u({target:"Array",proto:!0,forced:!O},{slice:function(j,B){var U=$(this),V=T(U),z=y(j,V),G=y(B===void 0?V:B,V),H,k,J;if(d(U)&&(H=U.constructor,h(H)&&(H===D||d(H.prototype))?H=void 0:p(H)&&(H=H[C],H===null&&(H=void 0)),H===D||H===void 0))return I(U,z,G);for(k=new(H===void 0?D:H)(M(G-z,0)),J=0;z1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(14),h=r(30),p=r(39),y=r(63),T=r(145),$=r(68),A=r(7),E=r(189),R=r(147),I=r(190),O=r(191),C=r(27),D=r(192),M=[],F=d(M.sort),j=d(M.push),B=A(function(){M.sort(void 0)}),U=A(function(){M.sort(null)}),V=R("sort"),z=!A(function(){if(C)return C<70;if(!(I&&I>3)){if(O)return!0;if(D)return D<603;var k="",J,q,nt,rt;for(J=65;J<76;J++){switch(q=String.fromCharCode(J),J){case 66:case 69:case 70:case 72:nt=3;break;case 68:case 71:nt=4;break;default:nt=2}for(rt=0;rt<47;rt++)M.push({k:q+rt,v:nt})}for(M.sort(function(_,tt){return tt.v-_.v}),rt=0;rt$(q)?1:-1}};u({target:"Array",proto:!0,forced:G},{sort:function(J){J!==void 0&&h(J);var q=p(this);if(z)return J===void 0?F(q):F(q,J);var nt=[],rt=y(q),_,tt;for(tt=0;tt0;)p[E]=p[--E];E!==$++&&(p[E]=A)}else for(var R=d(T/2),I=h(u(p,0,R),y),O=h(u(p,R),y),C=I.length,D=O.length,M=0,F=0;MU-H+G;J--)R(B,J-1)}else if(G>H)for(J=U-H;J>V;J--)q=J+H-1,nt=J+G-1,q in B?B[nt]=B[q]:R(B,nt);for(J=0;J2?p:u(h),$=new d(T);T>y;)$[y]=h[y++];return $}},function(x,b,r){var u=r(4);x.exports=function(d,h){var p=u[d],y=p&&p.prototype;return y&&y[h]}},function(x,b,r){var u=r(3),d=r(138),h=r(140),p=r(63),y=r(60),T=r(12),$=r(61),A=Array,E=Math.max,R=Math.min;u({target:"Array",proto:!0},{toSpliced:function(O,C){var D=T(this),M=p(D),F=y(O,M),j=arguments.length,B=0,U,V,z,G;for(j===0?U=V=0:j===1?(U=0,V=M-F):(U=j-2,V=R(E($(C),0),M-F)),z=h(M+U-V),G=A(z);B=A||R<0)throw new h("Incorrect index");for(var I=new y(A),O=0;O>8&255]},se=function(bt){return[bt&255,bt>>8&255,bt>>16&255,bt>>24&255]},ee=function(bt){return bt[3]<<24|bt[2]<<16|bt[1]<<8|bt[0]},fe=function(bt){return ae(D(bt),23,4)},Pe=function(bt){return ae(bt,52,8)},Me=function(bt,Ft,Tt){$(bt[rt],Ft,{configurable:!0,get:function(){return Tt(this)[Ft]}})},$e=function(bt,Ft,Tt,qt){var te=st(bt),Zt=C(Tt),Ht=!!qt;if(Zt+Ft>te.byteLength)throw new Qt(tt);var He=te.bytes,Ze=Zt+te.byteOffset,ft=U(He,Ze,Ze+Ft);return Ht?ft:ge(ft)},ce=function(bt,Ft,Tt,qt,te,Zt){var Ht=st(bt),He=C(Tt),Ze=qt(+te),ft=!!Zt;if(He+Ft>Ht.byteLength)throw new Qt(tt);for(var It=Ht.bytes,Pt=He+Ht.byteOffset,Ct=0;CtZt)throw new Qt("Wrong offset");if(qt=qt===void 0?Zt-Ht:O(qt),Ht+qt>Zt)throw new Qt(_);mt(this,{type:nt,buffer:Ft,byteLength:qt,byteOffset:Ht,bytes:te.bytes}),h||(this.buffer=Ft,this.byteLength=qt,this.byteOffset=Ht)},Dt=Ut[rt],h&&(Me(xt,"byteLength",et),Me(Ut,"buffer",st),Me(Ut,"byteLength",st),Me(Ut,"byteOffset",st)),A(Dt,{getInt8:function(Ft){return $e(this,1,Ft)[0]<<24>>24},getUint8:function(Ft){return $e(this,1,Ft)[0]},getInt16:function(Ft){var Tt=$e(this,2,Ft,arguments.length>1?arguments[1]:!1);return(Tt[1]<<8|Tt[0])<<16>>16},getUint16:function(Ft){var Tt=$e(this,2,Ft,arguments.length>1?arguments[1]:!1);return Tt[1]<<8|Tt[0]},getInt32:function(Ft){return ee($e(this,4,Ft,arguments.length>1?arguments[1]:!1))},getUint32:function(Ft){return ee($e(this,4,Ft,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(Ft){return Mt($e(this,4,Ft,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(Ft){return Mt($e(this,8,Ft,arguments.length>1?arguments[1]:!1),52)},setInt8:function(Ft,Tt){ce(this,1,Ft,Yt,Tt)},setUint8:function(Ft,Tt){ce(this,1,Ft,Yt,Tt)},setInt16:function(Ft,Tt){ce(this,2,Ft,re,Tt,arguments.length>2?arguments[2]:!1)},setUint16:function(Ft,Tt){ce(this,2,Ft,re,Tt,arguments.length>2?arguments[2]:!1)},setInt32:function(Ft,Tt){ce(this,4,Ft,se,Tt,arguments.length>2?arguments[2]:!1)},setUint32:function(Ft,Tt){ce(this,4,Ft,se,Tt,arguments.length>2?arguments[2]:!1)},setFloat32:function(Ft,Tt){ce(this,4,Ft,fe,Tt,arguments.length>2?arguments[2]:!1)},setFloat64:function(Ft,Tt){ce(this,8,Ft,Pe,Tt,arguments.length>2?arguments[2]:!1)}});else{var Ae=k&>.name!==q;!E(function(){gt(1)})||!E(function(){new gt(-1)})||E(function(){return new gt,new gt(1.5),new gt(NaN),gt.length!==1||Ae&&!J})?(xt=function(Ft){return R(this,yt),V(new gt(C(Ft)),this,xt)},xt[rt]=yt,yt.constructor=xt,z(xt,gt)):Ae&&J&&T(gt,"name",q),j&&F(Dt)!==Xt&&j(Dt,Xt);var Te=new Ut(new xt(2)),de=d(Dt.setInt8);Te.setInt8(0,2147483648),Te.setInt8(1,2147483649),(Te.getInt8(0)||!Te.getInt8(1))&&A(Dt,{setInt8:function(Ft,Tt){de(this,Ft,Tt<<24>>24)},setUint8:function(Ft,Tt){de(this,Ft,Tt<<24>>24)}},{unsafe:!0})}G(xt,q),G(Ut,nt),x.exports={ArrayBuffer:xt,DataView:Ut}},function(x){x.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},function(x,b,r){var u=r(47);x.exports=function(d,h,p){for(var y in h)u(d,y,h[y],p);return d}},function(x,b,r){var u=r(24),d=TypeError;x.exports=function(h,p){if(u(p,h))return h;throw new d("Incorrect invocation")}},function(x,b,r){var u=r(61),d=r(64),h=RangeError;x.exports=function(p){if(p===void 0)return 0;var y=u(p),T=d(y);if(y!==T)throw new h("Wrong length or index");return T}},function(x,b,r){var u=r(214),d=11920928955078125e-23,h=34028234663852886e22,p=11754943508222875e-54;x.exports=Math.fround||function(T){return u(T,d,h,p)}},function(x,b,r){var u=r(215),d=Math.abs,h=2220446049250313e-31,p=1/h,y=function(T){return T+p-p};x.exports=function(T,$,A,E){var R=+T,I=d(R),O=u(R);if(IA||D!==D?O*(1/0):O*D}},function(x){x.exports=Math.sign||function(r){var u=+r;return u===0||u!==u?u:u<0?-1:1}},function(x){var b=Array,r=Math.abs,u=Math.pow,d=Math.floor,h=Math.log,p=Math.LN2,y=function($,A,E){var R=b(E),I=E*8-A-1,O=(1<>1,D=A===23?u(2,-24)-u(2,-77):0,M=$<0||$===0&&1/$<0?1:0,F=0,j,B,U;for($=r($),$!==$||$===1/0?(B=$!==$?1:0,j=O):(j=d(h($)/p),U=u(2,-j),$*U<1&&(j--,U*=2),j+C>=1?$+=D/U:$+=D*u(2,1-C),$*U>=2&&(j++,U/=2),j+C>=O?(B=0,j=O):j+C>=1?(B=($*U-1)*u(2,A),j+=C):(B=$*u(2,C-1)*u(2,A),j=0));A>=8;)R[F++]=B&255,B/=256,A-=8;for(j=j<0;)R[F++]=j&255,j/=256,I-=8;return R[F-1]|=M*128,R},T=function($,A){var E=$.length,R=E*8-A-1,I=(1<>1,C=R-7,D=E-1,M=$[D--],F=M&127,j;for(M>>=7;C>0;)F=F*256+$[D--],C-=8;for(j=F&(1<<-C)-1,F>>=-C,C+=A;C>0;)j=j*256+$[D--],C-=8;if(F===0)F=1-O;else{if(F===I)return j?NaN:M?-1/0:1/0;j+=u(2,A),F-=O}return(M?-1:1)*j*u(2,F-A)};x.exports={pack:y,unpack:T}},function(x,b,r){var u=r(3),d=r(218),h=d.NATIVE_ARRAY_BUFFER_VIEWS;u({target:"ArrayBuffer",stat:!0,forced:!h},{isView:d.isView})},function(x,b,r){var u=r(209),d=r(6),h=r(4),p=r(21),y=r(20),T=r(38),$=r(69),A=r(31),E=r(43),R=r(47),I=r(77),O=r(24),C=r(128),D=r(113),M=r(33),F=r(40),j=r(51),B=j.enforce,U=j.get,V=h.Int8Array,z=V&&V.prototype,G=h.Uint8ClampedArray,H=G&&G.prototype,k=V&&C(V),J=z&&C(z),q=Object.prototype,nt=h.TypeError,rt=M("toStringTag"),_=F("TYPED_ARRAY_TAG"),tt="TypedArrayConstructor",et=u&&!!D&&$(h.opera)!=="Opera",st=!1,mt,gt,xt,yt={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Ut={BigInt64Array:8,BigUint64Array:8},Dt=function(Yt){if(!y(Yt))return!1;var re=$(Yt);return re==="DataView"||T(yt,re)||T(Ut,re)},Xt=function(Mt){var Yt=C(Mt);if(y(Yt)){var re=U(Yt);return re&&T(re,tt)?re[tt]:Xt(Yt)}},kt=function(Mt){if(!y(Mt))return!1;var Yt=$(Mt);return T(yt,Yt)||T(Ut,Yt)},Qt=function(Mt){if(kt(Mt))return Mt;throw new nt("Target is not a typed array")},me=function(Mt){if(p(Mt)&&(!D||O(k,Mt)))return Mt;throw new nt(A(Mt)+" is not a typed array constructor")},ge=function(Mt,Yt,re,se){if(d){if(re)for(var ee in yt){var fe=h[ee];if(fe&&T(fe.prototype,Mt))try{delete fe.prototype[Mt]}catch(Pe){try{fe.prototype[Mt]=Yt}catch(Me){}}}(!J[Mt]||re)&&R(J,Mt,re?Yt:et&&z[Mt]||Yt,se)}},ae=function(Mt,Yt,re){var se,ee;if(d){if(D){if(re){for(se in yt)if(ee=h[se],ee&&T(ee,Mt))try{delete ee[Mt]}catch(fe){}}if(!k[Mt]||re)try{return R(k,Mt,re?Yt:et&&k[Mt]||Yt)}catch(fe){}else return}for(se in yt)ee=h[se],ee&&(!ee[Mt]||re)&&R(ee,Mt,Yt)}};for(mt in yt)gt=h[mt],xt=gt&>.prototype,xt?B(xt)[tt]=gt:et=!1;for(mt in Ut)gt=h[mt],xt=gt&>.prototype,xt&&(B(xt)[tt]=gt);if((!et||!p(k)||k===Function.prototype)&&(k=function(){throw new nt("Incorrect invocation")},et))for(mt in yt)h[mt]&&D(h[mt],k);if((!et||!J||J===q)&&(J=k.prototype,et))for(mt in yt)h[mt]&&D(h[mt].prototype,J);if(et&&C(H)!==J&&D(H,J),d&&!T(J,rt)){st=!0,I(J,rt,{configurable:!0,get:function(){return y(this)?this[_]:void 0}});for(mt in yt)h[mt]&&E(h[mt],_,mt)}x.exports={NATIVE_ARRAY_BUFFER_VIEWS:et,TYPED_ARRAY_TAG:st&&_,aTypedArray:Qt,aTypedArrayConstructor:me,exportTypedArrayMethod:ge,exportTypedArrayStaticMethod:ae,getTypedArrayConstructor:Xt,isView:Dt,isTypedArray:kt,TypedArray:k,TypedArrayPrototype:J}},function(x,b,r){var u=r(3),d=r(85),h=r(7),p=r(208),y=r(46),T=r(60),$=r(64),A=p.ArrayBuffer,E=p.DataView,R=E.prototype,I=d(A.prototype.slice),O=d(R.getUint8),C=d(R.setUint8),D=h(function(){return!new A(2).slice(1,void 0).byteLength});u({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:D},{slice:function(F,j){if(I&&j===void 0)return I(y(this),F);for(var B=y(this).byteLength,U=T(F,B),V=T(j===void 0?B:j,B),z=new A($(V-U)),G=new E(this),H=new E(z),k=0;U=k&&(!G||J))q=M(V,0,k);else{var nt=G&&!J&&j?{maxByteLength:j(V)}:void 0;q=new R(k,nt);for(var rt=new I(V),_=new I(q),tt=O(k,H),et=0;et92||p==="NODE"&&h>94||p==="BROWSER"&&h>97)return!1;var T=new ArrayBuffer(8),$=y(T,{transfer:[T]});return T.byteLength!==0||$.byteLength!==8})},function(x,b,r){var u=r(3),d=r(226);d&&u({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return d(this,arguments.length?arguments[0]:void 0,!1)}})},function(x,b,r){var u=r(3),d=r(14),h=r(7),p=h(function(){return new Date(16e11).getYear()!==120}),y=d(Date.prototype.getFullYear);u({target:"Date",proto:!0,forced:p},{getYear:function(){return y(this)-1900}})},function(x,b,r){var u=r(3),d=r(14),h=Date,p=d(h.prototype.getTime);u({target:"Date",stat:!0},{now:function(){return p(new h)}})},function(x,b,r){var u=r(3),d=r(14),h=r(61),p=Date.prototype,y=d(p.getTime),T=d(p.setFullYear);u({target:"Date",proto:!0},{setYear:function(A){y(this);var E=h(A),R=E>=0&&E<=99?E+1900:E;return T(this,R)}})},function(x,b,r){var u=r(3);u({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString})},function(x,b,r){var u=r(3),d=r(237);u({target:"Date",proto:!0,forced:Date.prototype.toISOString!==d},{toISOString:d})},function(x,b,r){var u=r(14),d=r(7),h=r(238).start,p=RangeError,y=isFinite,T=Math.abs,$=Date.prototype,A=$.toISOString,E=u($.getTime),R=u($.getUTCDate),I=u($.getUTCFullYear),O=u($.getUTCHours),C=u($.getUTCMilliseconds),D=u($.getUTCMinutes),M=u($.getUTCMonth),F=u($.getUTCSeconds);x.exports=d(function(){return A.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!d(function(){A.call(new Date(NaN))})?function(){if(!y(E(this)))throw new p("Invalid time value");var B=this,U=I(B),V=C(B),z=U<0?"-":U>9999?"+":"";return z+h(T(U),z?6:4,0)+"-"+h(M(B)+1,2,0)+"-"+h(R(B),2,0)+"T"+h(O(B),2,0)+":"+h(D(B),2,0)+":"+h(F(B),2,0)+"."+h(V,3,0)+"Z"}:A},function(x,b,r){var u=r(14),d=r(64),h=r(68),p=r(239),y=r(16),T=u(p),$=u("".slice),A=Math.ceil,E=function(R){return function(I,O,C){var D=h(y(I)),M=d(O),F=D.length,j=C===void 0?" ":h(C),B,U;return M<=F||j===""?D:(B=M-F,U=T(j,A(B/j.length)),U.length>B&&(U=$(U,0,B)),R?D+U:U+D)}};x.exports={start:E(!1),end:E(!0)}},function(x,b,r){var u=r(61),d=r(68),h=r(16),p=RangeError;x.exports=function(T){var $=d(h(this)),A="",E=u(T);if(E<0||E===1/0)throw new p("Wrong number of repetitions");for(;E>0;(E>>>=1)&&($+=$))E&1&&(A+=$);return A}},function(x,b,r){var u=r(3),d=r(7),h=r(39),p=r(19),y=d(function(){return new Date(NaN).toJSON()!==null||Date.prototype.toJSON.call({toISOString:function(){return 1}})!==1});u({target:"Date",proto:!0,arity:1,forced:y},{toJSON:function($){var A=h(this),E=p(A,"number");return typeof E=="number"&&!isFinite(E)?null:A.toISOString()}})},function(x,b,r){var u=r(38),d=r(47),h=r(242),p=r(33),y=p("toPrimitive"),T=Date.prototype;u(T,y)||d(T,y,h)},function(x,b,r){var u=r(46),d=r(32),h=TypeError;x.exports=function(p){if(u(this),p==="string"||p==="default")p="string";else if(p!=="number")throw new h("Incorrect hint");return d(this,p)}},function(x,b,r){var u=r(14),d=r(47),h=Date.prototype,p="Invalid Date",y="toString",T=u(h[y]),$=u(h.getTime);String(new Date(NaN))!==p&&d(h,y,function(){var E=$(this);return E===E?T(this):p})},function(x,b,r){var u=r(3),d=r(14),h=r(68),p=d("".charAt),y=d("".charCodeAt),T=d(/./.exec),$=d(1 .toString),A=d("".toUpperCase),E=/[\w*+\-./@]/,R=function(I,O){for(var C=$(I,16);C.length1?arguments[1]:void 0),_;_=_?_.next:nt.first;)for(rt(_.value,_.key,this);_&&_.removed;)_=_.previous},has:function(q){return!!k(this,q)}}),h(z,B?{get:function(q){var nt=k(this,q);return nt&&nt.value},set:function(q,nt){return H(this,q===0?0:q,nt)}}:{add:function(q){return H(this,q=q===0?0:q,q)}}),I&&d(z,"size",{configurable:!0,get:function(){return G(this).size}}),V},setStrong:function(F,j,B){var U=j+" Iterator",V=M(j),z=M(U);A(F,j,function(G,H){D(this,{type:U,target:G,state:V(G),kind:H,last:null})},function(){for(var G=z(this),H=G.kind,k=G.last;k&&k.removed;)k=k.previous;return!G.target||!(G.last=k=k?k.next:G.state.first)?(G.target=null,E(void 0,!0)):E(H==="keys"?k.key:H==="values"?k.value:[k.key,k.value],!1)},B?"entries":"values",!B,!0),R(j)}}},function(x,b,r){var u=r(3),d=r(14),h=r(30),p=r(16),y=r(130),T=r(279),$=r(36),A=r(7),E=T.Map,R=T.has,I=T.get,O=T.set,C=d([].push),D=$||A(function(){return E.groupBy("ab",function(M){return M}).get("a").length!==1});u({target:"Map",stat:!0,forced:$||D},{groupBy:function(F,j){p(F),h(j);var B=new E,U=0;return y(F,function(V){var z=j(V,U++);R(B,z)?C(I(B,z),V):O(B,z,[V])}),B}})},function(x,b,r){var u=r(14),d=Map.prototype;x.exports={Map,set:u(d.set),get:u(d.get),has:u(d.has),remove:u(d.delete),proto:d}},function(x,b,r){var u=r(3),d=r(281),h=Math.acosh,p=Math.log,y=Math.sqrt,T=Math.LN2,$=!h||Math.floor(h(Number.MAX_VALUE))!==710||h(1/0)!==1/0;u({target:"Math",stat:!0,forced:$},{acosh:function(E){var R=+E;return R<1?NaN:R>9490626562425156e-8?p(R)+T:d(R-1+y(R-1)*y(R+1))}})},function(x){var b=Math.log;x.exports=Math.log1p||function(u){var d=+u;return d>-1e-8&&d<1e-8?d-d*d/2:b(1+d)}},function(x,b,r){var u=r(3),d=Math.asinh,h=Math.log,p=Math.sqrt;function y($){var A=+$;return!isFinite(A)||A===0?A:A<0?-y(-A):h(A+p(A*A+1))}var T=!(d&&1/d(0)>0);u({target:"Math",stat:!0,forced:T},{asinh:y})},function(x,b,r){var u=r(3),d=Math.atanh,h=Math.log,p=!(d&&1/d(-0)<0);u({target:"Math",stat:!0,forced:p},{atanh:function(T){var $=+T;return $===0?$:h((1+$)/(1-$))/2}})},function(x,b,r){var u=r(3),d=r(215),h=Math.abs,p=Math.pow;u({target:"Math",stat:!0},{cbrt:function(T){var $=+T;return d($)*p(h($),.3333333333333333)}})},function(x,b,r){var u=r(3),d=Math.floor,h=Math.log,p=Math.LOG2E;u({target:"Math",stat:!0},{clz32:function(T){var $=T>>>0;return $?31-d(h($+.5)*p):32}})},function(x,b,r){var u=r(3),d=r(287),h=Math.cosh,p=Math.abs,y=Math.E,T=!h||h(710)===1/0;u({target:"Math",stat:!0,forced:T},{cosh:function(A){var E=d(p(A)-1)+1;return(E+1/(E*y*y))*(y/2)}})},function(x){var b=Math.expm1,r=Math.exp;x.exports=!b||b(10)>22025.465794806718||b(10)<22025.465794806718||b(-2e-17)!==-2e-17?function(d){var h=+d;return h===0?h:h>-1e-6&&h<1e-6?h+h*h/2:r(h)-1}:b},function(x,b,r){var u=r(3),d=r(287);u({target:"Math",stat:!0,forced:d!==Math.expm1},{expm1:d})},function(x,b,r){var u=r(3),d=r(213);u({target:"Math",stat:!0},{fround:d})},function(x,b,r){var u=r(3),d=Math.hypot,h=Math.abs,p=Math.sqrt,y=!!d&&d(1/0,NaN)!==1/0;u({target:"Math",stat:!0,arity:2,forced:y},{hypot:function($,A){for(var E=0,R=0,I=arguments.length,O=0,C,D;R0?(D=C/O,E+=D*D):E+=C;return O===1/0?1/0:O*p(E)}})},function(x,b,r){var u=r(3),d=r(7),h=Math.imul,p=d(function(){return h(4294967295,5)!==-5||h.length!==2});u({target:"Math",stat:!0,forced:p},{imul:function(T,$){var A=65535,E=+T,R=+$,I=A&E,O=A&R;return 0|I*O+((A&E>>>16)*O+I*(A&R>>>16)<<16>>>0)}})},function(x,b,r){var u=r(3),d=r(293);u({target:"Math",stat:!0},{log10:d})},function(x){var b=Math.log,r=Math.LOG10E;x.exports=Math.log10||function(d){return b(d)*r}},function(x,b,r){var u=r(3),d=r(281);u({target:"Math",stat:!0},{log1p:d})},function(x,b,r){var u=r(3),d=Math.log,h=Math.LN2;u({target:"Math",stat:!0},{log2:function(y){return d(y)/h}})},function(x,b,r){var u=r(3),d=r(215);u({target:"Math",stat:!0},{sign:d})},function(x,b,r){var u=r(3),d=r(7),h=r(287),p=Math.abs,y=Math.exp,T=Math.E,$=d(function(){return Math.sinh(-2e-17)!==-2e-17});u({target:"Math",stat:!0,forced:$},{sinh:function(E){var R=+E;return p(R)<1?(h(R)-h(-R))/2:(y(R-1)-y(-R-1))*(T/2)}})},function(x,b,r){var u=r(3),d=r(287),h=Math.exp;u({target:"Math",stat:!0},{tanh:function(y){var T=+y,$=d(T),A=d(-T);return $===1/0?1:A===1/0?-1:($-A)/(h(T)+h(-T))}})},function(x,b,r){var u=r(82);u(Math,"Math",!0)},function(x,b,r){var u=r(3),d=r(62);u({target:"Math",stat:!0},{trunc:d})},function(x,b,r){var u=r(3),d=r(36),h=r(6),p=r(4),y=r(80),T=r(14),$=r(67),A=r(38),E=r(118),R=r(24),I=r(22),O=r(19),C=r(7),D=r(57).f,M=r(5).f,F=r(44).f,j=r(302),B=r(303).trim,U="Number",V=p[U],z=y[U],G=V.prototype,H=p.TypeError,k=T("".slice),J=T("".charCodeAt),q=function(st){var mt=O(st,"number");return typeof mt=="bigint"?mt:nt(mt)},nt=function(st){var mt=O(st,"number"),gt,xt,yt,Ut,Dt,Xt,kt,Qt;if(I(mt))throw new H("Cannot convert a Symbol value to a number");if(typeof mt=="string"&&mt.length>2){if(mt=B(mt),gt=J(mt,0),gt===43||gt===45){if(xt=J(mt,2),xt===88||xt===120)return NaN}else if(gt===48){switch(J(mt,1)){case 66:case 98:yt=2,Ut=49;break;case 79:case 111:yt=8,Ut=55;break;default:return+mt}for(Dt=k(mt,2),Xt=Dt.length,kt=0;ktUt)return NaN;return parseInt(Dt,yt)}}return+mt},rt=$(U,!V(" 0o1")||!V("0b1")||V("+0x1")),_=function(st){return R(G,st)&&C(function(){j(st)})},tt=function(mt){var gt=arguments.length<1?0:V(q(mt));return _(this)?E(Object(gt),this,tt):gt};tt.prototype=G,rt&&!d&&(G.constructor=tt),u({global:!0,constructor:!0,wrap:!0,forced:rt},{Number:tt});var et=function(st,mt){for(var gt=h?D(mt):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),xt=0,yt;gt.length>xt;xt++)A(mt,yt=gt[xt])&&!A(st,yt)&&F(st,yt,M(mt,yt))};d&&z&&et(y[U],z),(rt||d)&&et(y[U],V)},function(x,b,r){var u=r(14);x.exports=u(1 .valueOf)},function(x,b,r){var u=r(14),d=r(16),h=r(68),p=r(304),y=u("".replace),T=RegExp("^["+p+"]+"),$=RegExp("(^|[^"+p+"])["+p+"]+$"),A=function(E){return function(R){var I=h(d(R));return E&1&&(I=y(I,T,"")),E&2&&(I=y(I,$,"$1")),I}};x.exports={start:A(1),end:A(2),trim:A(3)}},function(x){x.exports=` -\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`},function(x,b,r){var u=r(3);u({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},function(x,b,r){var u=r(3),d=r(307);u({target:"Number",stat:!0},{isFinite:d})},function(x,b,r){var u=r(4),d=u.isFinite;x.exports=Number.isFinite||function(p){return typeof p=="number"&&d(p)}},function(x,b,r){var u=r(3),d=r(309);u({target:"Number",stat:!0},{isInteger:d})},function(x,b,r){var u=r(20),d=Math.floor;x.exports=Number.isInteger||function(p){return!u(p)&&isFinite(p)&&d(p)===p}},function(x,b,r){var u=r(3);u({target:"Number",stat:!0},{isNaN:function(h){return h!==h}})},function(x,b,r){var u=r(3),d=r(309),h=Math.abs;u({target:"Number",stat:!0},{isSafeInteger:function(y){return d(y)&&h(y)<=9007199254740991}})},function(x,b,r){var u=r(3);u({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(x,b,r){var u=r(3);u({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(x,b,r){var u=r(3),d=r(315);u({target:"Number",stat:!0,forced:Number.parseFloat!==d},{parseFloat:d})},function(x,b,r){var u=r(4),d=r(7),h=r(14),p=r(68),y=r(303).trim,T=r(304),$=h("".charAt),A=u.parseFloat,E=u.Symbol,R=E&&E.iterator,I=1/A(T+"-0")!==-1/0||R&&!d(function(){A(Object(R))});x.exports=I?function(C){var D=y(p(C)),M=A(D);return M===0&&$(D,0)==="-"?-0:M}:A},function(x,b,r){var u=r(3),d=r(317);u({target:"Number",stat:!0,forced:Number.parseInt!==d},{parseInt:d})},function(x,b,r){var u=r(4),d=r(7),h=r(14),p=r(68),y=r(303).trim,T=r(304),$=u.parseInt,A=u.Symbol,E=A&&A.iterator,R=/^[+-]?0x/i,I=h(R.exec),O=$(T+"08")!==8||$(T+"0x16")!==22||E&&!d(function(){$(Object(E))});x.exports=O?function(D,M){var F=y(p(D));return $(F,M>>>0||(I(R,F)?16:10))}:$},function(x,b,r){var u=r(3),d=r(14),h=r(61),p=r(302),y=r(239),T=r(293),$=r(7),A=RangeError,E=String,R=isFinite,I=Math.abs,O=Math.floor,C=Math.pow,D=Math.round,M=d(1 .toExponential),F=d(y),j=d("".slice),B=M(-69e-12,4)==="-6.9000e-11"&&M(1.255,2)==="1.25e+0"&&M(12345,3)==="1.235e+4"&&M(25,0)==="3e+1",U=function(){return $(function(){M(1,1/0)})&&$(function(){M(1,-1/0)})},V=function(){return!$(function(){M(1/0,1/0),M(NaN,1/0)})},z=!B||!U()||!V();u({target:"Number",proto:!0,forced:z},{toExponential:function(H){var k=p(this);if(H===void 0)return M(k);var J=h(H);if(!R(k))return String(k);if(J<0||J>20)throw new A("Incorrect fraction digits");if(B)return M(k,J);var q="",nt,rt,_,tt;if(k<0&&(q="-",k=-k),k===0)rt=0,nt=F("0",J+1);else{var et=T(k);rt=O(et);var st=C(10,rt-J),mt=D(k/st);2*k>=(2*mt+1)*st&&(mt+=1),mt>=C(10,J+1)&&(mt/=10,rt+=1),nt=E(mt)}return J!==0&&(nt=j(nt,0,1)+"."+j(nt,1)),rt===0?(_="+",tt="0"):(_=rt>0?"+":"-",tt=E(I(rt))),nt+="e"+_+tt,q+nt}})},function(x,b,r){var u=r(3),d=r(14),h=r(61),p=r(302),y=r(239),T=r(7),$=RangeError,A=String,E=Math.floor,R=d(y),I=d("".slice),O=d(1 .toFixed),C=function(U,V,z){return V===0?z:V%2===1?C(U,V-1,z*U):C(U*U,V/2,z)},D=function(U){for(var V=0,z=U;z>=4096;)V+=12,z/=4096;for(;z>=2;)V+=1,z/=2;return V},M=function(U,V,z){for(var G=-1,H=z;++G<6;)H+=V*U[G],U[G]=H%1e7,H=E(H/1e7)},F=function(U,V){for(var z=6,G=0;--z>=0;)G+=U[z],U[z]=E(G/V),G=G%V*1e7},j=function(U){for(var V=6,z="";--V>=0;)if(z!==""||V===0||U[V]!==0){var G=A(U[V]);z=z===""?G:z+R("0",7-G.length)+G}return z},B=T(function(){return O(8e-5,3)!=="0.000"||O(.9,0)!=="1"||O(1.255,2)!=="1.25"||O(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!T(function(){O({})});u({target:"Number",proto:!0,forced:B},{toFixed:function(V){var z=p(this),G=h(V),H=[0,0,0,0,0,0],k="",J="0",q,nt,rt,_;if(G<0||G>20)throw new $("Incorrect fraction digits");if(z!==z)return"NaN";if(z<=-1e21||z>=1e21)return A(z);if(z<0&&(k="-",z=-z),z>1e-21)if(q=D(z*C(2,69,1))-69,nt=q<0?z*C(2,-q,1):z/C(2,q,1),nt*=4503599627370496,q=52-q,q>0){for(M(H,0,nt),rt=G;rt>=7;)M(H,1e7,0),rt-=7;for(M(H,C(10,rt,1),0),rt=q-1;rt>=23;)F(H,8388608),rt-=23;F(H,1<0?(_=J.length,J=k+(_<=G?"0."+R("0",G-_)+J:I(J,0,_-G)+"."+I(J,_-G))):J=k+J,J}})},function(x,b,r){var u=r(3),d=r(14),h=r(7),p=r(302),y=d(1 .toPrecision),T=h(function(){return y(1,void 0)!=="1"})||!h(function(){y({})});u({target:"Number",proto:!0,forced:T},{toPrecision:function(A){return A===void 0?y(p(this)):y(p(this),A)}})},function(x,b,r){var u=r(3),d=r(322);u({target:"Object",stat:!0,arity:2,forced:Object.assign!==d},{assign:d})},function(x,b,r){var u=r(6),d=r(14),h=r(8),p=r(7),y=r(73),T=r(66),$=r(10),A=r(39),E=r(13),R=Object.assign,I=Object.defineProperty,O=d([].concat);x.exports=!R||p(function(){if(u&&R({b:1},R(I({},"a",{enumerable:!0,get:function(){I(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var C={},D={},M=Symbol("assign detection"),F="abcdefghijklmnopqrst";return C[M]=7,F.split("").forEach(function(j){D[j]=j}),R({},C)[M]!==7||y(R({},D)).join("")!==F})?function(D,M){for(var F=A(D),j=arguments.length,B=1,U=T.f,V=$.f;j>B;)for(var z=E(arguments[B++]),G=U?O(y(z),U(z)):y(z),H=G.length,k=0,J;H>k;)J=G[k++],(!u||h(V,z,J))&&(F[J]=z[J]);return F}:R},function(x,b,r){var u=r(3),d=r(6),h=r(71);u({target:"Object",stat:!0,sham:!d},{create:h})},function(x,b,r){var u=r(3),d=r(6),h=r(325),p=r(30),y=r(39),T=r(44);d&&u({target:"Object",proto:!0,forced:h},{__defineGetter__:function(A,E){T.f(y(this),A,{get:p(E),enumerable:!0,configurable:!0})}})},function(x,b,r){var u=r(36),d=r(4),h=r(7),p=r(192);x.exports=u||!h(function(){if(!(p&&p<535)){var y=Math.random();__defineSetter__.call(null,y,function(){}),delete d[y]}})},function(x,b,r){var u=r(3),d=r(6),h=r(72).f;u({target:"Object",stat:!0,forced:Object.defineProperties!==h,sham:!d},{defineProperties:h})},function(x,b,r){var u=r(3),d=r(6),h=r(44).f;u({target:"Object",stat:!0,forced:Object.defineProperty!==h,sham:!d},{defineProperty:h})},function(x,b,r){var u=r(3),d=r(6),h=r(325),p=r(30),y=r(39),T=r(44);d&&u({target:"Object",proto:!0,forced:h},{__defineSetter__:function(A,E){T.f(y(this),A,{set:p(E),enumerable:!0,configurable:!0})}})},function(x,b,r){var u=r(3),d=r(330).entries;u({target:"Object",stat:!0},{entries:function(p){return d(p)}})},function(x,b,r){var u=r(6),d=r(7),h=r(14),p=r(128),y=r(73),T=r(12),$=r(10).f,A=h($),E=h([].push),R=u&&d(function(){var O=Object.create(null);return O[2]=2,!A(O,2)}),I=function(O){return function(C){for(var D=T(C),M=y(D),F=R&&p(D)===null,j=M.length,B=0,U=[],V;j>B;)V=M[B++],(!u||(F?V in D:A(D,V)))&&E(U,O?[V,D[V]]:D[V]);return U}};x.exports={entries:I(!0),values:I(!1)}},function(x,b,r){var u=r(3),d=r(276),h=r(7),p=r(20),y=r(273).onFreeze,T=Object.freeze,$=h(function(){T(1)});u({target:"Object",stat:!0,forced:$,sham:!d},{freeze:function(E){return T&&p(E)?T(y(E)):E}})},function(x,b,r){var u=r(3),d=r(130),h=r(141);u({target:"Object",stat:!0},{fromEntries:function(y){var T={};return d(y,function($,A){h(T,$,A)},{AS_ENTRIES:!0}),T}})},function(x,b,r){var u=r(3),d=r(7),h=r(12),p=r(5).f,y=r(6),T=!y||d(function(){p(1)});u({target:"Object",stat:!0,forced:T,sham:!y},{getOwnPropertyDescriptor:function(A,E){return p(h(A),E)}})},function(x,b,r){var u=r(3),d=r(6),h=r(56),p=r(12),y=r(5),T=r(141);u({target:"Object",stat:!0,sham:!d},{getOwnPropertyDescriptors:function(A){for(var E=p(A),R=y.f,I=h(E),O={},C=0,D,M;I.length>C;)M=R(E,D=I[C++]),M!==void 0&&T(O,D,M);return O}})},function(x,b,r){var u=r(3),d=r(7),h=r(75).f,p=d(function(){return!Object.getOwnPropertyNames(1)});u({target:"Object",stat:!0,forced:p},{getOwnPropertyNames:h})},function(x,b,r){var u=r(3),d=r(7),h=r(39),p=r(128),y=r(129),T=d(function(){p(1)});u({target:"Object",stat:!0,forced:T,sham:!y},{getPrototypeOf:function(A){return p(h(A))}})},function(x,b,r){var u=r(3),d=r(23),h=r(14),p=r(30),y=r(16),T=r(18),$=r(130),A=r(7),E=Object.groupBy,R=d("Object","create"),I=h([].push),O=!E||A(function(){return E("ab",function(C){return C}).a.length!==1});u({target:"Object",stat:!0,forced:O},{groupBy:function(D,M){y(D),p(M);var F=R(null),j=0;return $(D,function(B){var U=T(M(B,j++));U in F?I(F[U],B):F[U]=[B]}),F}})},function(x,b,r){var u=r(3),d=r(38);u({target:"Object",stat:!0},{hasOwn:d})},function(x,b,r){var u=r(3),d=r(340);u({target:"Object",stat:!0},{is:d})},function(x){x.exports=Object.is||function(r,u){return r===u?r!==0||1/r===1/u:r!==r&&u!==u}},function(x,b,r){var u=r(3),d=r(274);u({target:"Object",stat:!0,forced:Object.isExtensible!==d},{isExtensible:d})},function(x,b,r){var u=r(3),d=r(7),h=r(20),p=r(15),y=r(275),T=Object.isFrozen,$=y||d(function(){T(1)});u({target:"Object",stat:!0,forced:$},{isFrozen:function(E){return!h(E)||y&&p(E)==="ArrayBuffer"?!0:T?T(E):!1}})},function(x,b,r){var u=r(3),d=r(7),h=r(20),p=r(15),y=r(275),T=Object.isSealed,$=y||d(function(){T(1)});u({target:"Object",stat:!0,forced:$},{isSealed:function(E){return!h(E)||y&&p(E)==="ArrayBuffer"?!0:T?T(E):!1}})},function(x,b,r){var u=r(3),d=r(39),h=r(73),p=r(7),y=p(function(){h(1)});u({target:"Object",stat:!0,forced:y},{keys:function($){return h(d($))}})},function(x,b,r){var u=r(3),d=r(6),h=r(325),p=r(39),y=r(18),T=r(128),$=r(5).f;d&&u({target:"Object",proto:!0,forced:h},{__lookupGetter__:function(E){var R=p(this),I=y(E),O;do if(O=$(R,I))return O.get;while(R=T(R))}})},function(x,b,r){var u=r(3),d=r(6),h=r(325),p=r(39),y=r(18),T=r(128),$=r(5).f;d&&u({target:"Object",proto:!0,forced:h},{__lookupSetter__:function(E){var R=p(this),I=y(E),O;do if(O=$(R,I))return O.set;while(R=T(R))}})},function(x,b,r){var u=r(3),d=r(20),h=r(273).onFreeze,p=r(276),y=r(7),T=Object.preventExtensions,$=y(function(){T(1)});u({target:"Object",stat:!0,forced:$,sham:!p},{preventExtensions:function(E){return T&&d(E)?T(h(E)):E}})},function(x,b,r){var u=r(6),d=r(77),h=r(20),p=r(116),y=r(39),T=r(16),$=Object.getPrototypeOf,A=Object.setPrototypeOf,E=Object.prototype,R="__proto__";if(u&&$&&A&&!(R in E))try{d(E,R,{configurable:!0,get:function(){return $(y(this))},set:function(O){var C=T(this);p(O)&&h(C)&&A(C,O)}})}catch(I){}},function(x,b,r){var u=r(3),d=r(20),h=r(273).onFreeze,p=r(276),y=r(7),T=Object.seal,$=y(function(){T(1)});u({target:"Object",stat:!0,forced:$,sham:!p},{seal:function(E){return T&&d(E)?T(h(E)):E}})},function(x,b,r){var u=r(3),d=r(113);u({target:"Object",stat:!0},{setPrototypeOf:d})},function(x,b,r){var u=r(70),d=r(47),h=r(352);u||d(Object.prototype,"toString",h,{unsafe:!0})},function(x,b,r){var u=r(70),d=r(69);x.exports=u?{}.toString:function(){return"[object "+d(this)+"]"}},function(x,b,r){var u=r(3),d=r(330).values;u({target:"Object",stat:!0},{values:function(p){return d(p)}})},function(x,b,r){var u=r(3),d=r(315);u({global:!0,forced:parseFloat!==d},{parseFloat:d})},function(x,b,r){var u=r(3),d=r(317);u({global:!0,forced:parseInt!==d},{parseInt:d})},function(x,b,r){r(357),r(373),r(375),r(376),r(377),r(378)},function(x,b,r){var u=r(3),d=r(36),h=r(182),p=r(4),y=r(8),T=r(47),$=r(113),A=r(82),E=r(194),R=r(30),I=r(21),O=r(20),C=r(211),D=r(358),M=r(360).set,F=r(363),j=r(368),B=r(369),U=r(365),V=r(51),z=r(370),G=r(371),H=r(372),k="Promise",J=G.CONSTRUCTOR,q=G.REJECTION_EVENT,nt=G.SUBCLASSING,rt=V.getterFor(k),_=V.set,tt=z&&z.prototype,et=z,st=tt,mt=p.TypeError,gt=p.document,xt=p.process,yt=H.f,Ut=yt,Dt=!!(gt&>.createEvent&&p.dispatchEvent),Xt="unhandledrejection",kt="rejectionhandled",Qt=0,me=1,ge=2,ae=1,Mt=2,Yt,re,se,ee,fe=function(Tt){var qt;return O(Tt)&&I(qt=Tt.then)?qt:!1},Pe=function(Tt,qt){var te=qt.value,Zt=qt.state===me,Ht=Zt?Tt.ok:Tt.fail,He=Tt.resolve,Ze=Tt.reject,ft=Tt.domain,It,Pt,Ct;try{Ht?(Zt||(qt.rejection===Mt&&Te(qt),qt.rejection=ae),Ht===!0?It=te:(ft&&ft.enter(),It=Ht(te),ft&&(ft.exit(),Ct=!0)),It===Tt.promise?Ze(new mt("Promise-chain cycle")):(Pt=fe(It))?y(Pt,It,He,Ze):He(It)):Ze(te)}catch(Nt){ft&&!Ct&&ft.exit(),Ze(Nt)}},Me=function(Tt,qt){Tt.notified||(Tt.notified=!0,F(function(){for(var te=Tt.reactions,Zt;Zt=te.get();)Pe(Zt,Tt);Tt.notified=!1,qt&&!Tt.rejection&&ce(Tt)}))},$e=function(Tt,qt,te){var Zt,Ht;Dt?(Zt=gt.createEvent("Event"),Zt.promise=qt,Zt.reason=te,Zt.initEvent(Tt,!1,!0),p.dispatchEvent(Zt)):Zt={promise:qt,reason:te},!q&&(Ht=p["on"+Tt])?Ht(Zt):Tt===Xt&&j("Unhandled promise rejection",te)},ce=function(Tt){y(M,p,function(){var qt=Tt.facade,te=Tt.value,Zt=Ae(Tt),Ht;if(Zt&&(Ht=B(function(){h?xt.emit("unhandledRejection",te,qt):$e(Xt,qt,te)}),Tt.rejection=h||Ae(Tt)?Mt:ae,Ht.error))throw Ht.value})},Ae=function(Tt){return Tt.rejection!==ae&&!Tt.parent},Te=function(Tt){y(M,p,function(){var qt=Tt.facade;h?xt.emit("rejectionHandled",qt):$e(kt,qt,Tt.value)})},de=function(Tt,qt,te){return function(Zt){Tt(qt,Zt,te)}},bt=function(Tt,qt,te){Tt.done||(Tt.done=!0,te&&(Tt=te),Tt.value=qt,Tt.state=ge,Me(Tt,!0))},Ft=function(Tt,qt,te){if(!Tt.done){Tt.done=!0,te&&(Tt=te);try{if(Tt.facade===qt)throw new mt("Promise can't be resolved itself");var Zt=fe(qt);Zt?F(function(){var Ht={done:!1};try{y(Zt,qt,de(Ft,Ht,Tt),de(bt,Ht,Tt))}catch(He){bt(Ht,He,Tt)}}):(Tt.value=qt,Tt.state=me,Me(Tt,!1))}catch(Ht){bt({done:!1},Ht,Tt)}}};if(J&&(et=function(qt){C(this,st),R(qt),y(Yt,this);var te=rt(this);try{qt(de(Ft,te),de(bt,te))}catch(Zt){bt(te,Zt)}},st=et.prototype,Yt=function(qt){_(this,{type:k,done:!1,notified:!1,parent:!1,reactions:new U,rejection:!1,state:Qt,value:null})},Yt.prototype=T(st,"then",function(qt,te){var Zt=rt(this),Ht=yt(D(this,et));return Zt.parent=!0,Ht.ok=I(qt)?qt:!0,Ht.fail=I(te)&&te,Ht.domain=h?xt.domain:void 0,Zt.state===Qt?Zt.reactions.add(Ht):F(function(){Pe(Ht,Zt)}),Ht.promise}),re=function(){var Tt=new Yt,qt=rt(Tt);this.promise=Tt,this.resolve=de(Ft,qt),this.reject=de(bt,qt)},H.f=yt=function(Tt){return Tt===et||Tt===se?new re(Tt):Ut(Tt)},!d&&I(z)&&tt!==Object.prototype)){ee=tt.then,nt||T(tt,"then",function(qt,te){var Zt=this;return new et(function(Ht,He){y(ee,Zt,Ht,He)}).then(qt,te)},{unsafe:!0});try{delete tt.constructor}catch(Tt){}$&&$(tt,st)}u({global:!0,constructor:!0,wrap:!0,forced:J},{Promise:et}),A(et,k,!1,!0),E(k)},function(x,b,r){var u=r(46),d=r(359),h=r(17),p=r(33),y=p("species");x.exports=function(T,$){var A=u(T).constructor,E;return A===void 0||h(E=u(A)[y])?$:d(E)}},function(x,b,r){var u=r(89),d=r(31),h=TypeError;x.exports=function(p){if(u(p))return p;throw new h(d(p)+" is not a constructor")}},function(x,b,r){var u=r(4),d=r(94),h=r(84),p=r(21),y=r(38),T=r(7),$=r(74),A=r(76),E=r(42),R=r(361),I=r(362),O=r(182),C=u.setImmediate,D=u.clearImmediate,M=u.process,F=u.Dispatch,j=u.Function,B=u.MessageChannel,U=u.String,V=0,z={},G="onreadystatechange",H,k,J,q;T(function(){H=u.location});var nt=function(et){if(y(z,et)){var st=z[et];delete z[et],st()}},rt=function(et){return function(){nt(et)}},_=function(et){nt(et.data)},tt=function(et){u.postMessage(U(et),H.protocol+"//"+H.host)};(!C||!D)&&(C=function(st){R(arguments.length,1);var mt=p(st)?st:j(st),gt=A(arguments,1);return z[++V]=function(){d(mt,void 0,gt)},k(V),V},D=function(st){delete z[st]},O?k=function(et){M.nextTick(rt(et))}:F&&F.now?k=function(et){F.now(rt(et))}:B&&!I?(J=new B,q=J.port2,J.port1.onmessage=_,k=h(q.postMessage,q)):u.addEventListener&&p(u.postMessage)&&!u.importScripts&&H&&H.protocol!=="file:"&&!T(tt)?(k=tt,u.addEventListener("message",_,!1)):G in E("script")?k=function(et){$.appendChild(E("script"))[G]=function(){$.removeChild(this),nt(et)}}:k=function(et){setTimeout(rt(et),0)}),x.exports={set:C,clear:D}},function(x){var b=TypeError;x.exports=function(r,u){if(r1?p(arguments,1):[],C=y.f(this),D=$(function(){return h(T(I),void 0,O)});return(D.error?C.reject:C.resolve)(D.value),C.promise}})},function(x,b,r){var u=r(3),d=r(372);u({target:"Promise",stat:!0},{withResolvers:function(){var p=d.f(this);return{promise:p.promise,resolve:p.resolve,reject:p.reject}}})},function(x,b,r){var u=r(3),d=r(94),h=r(30),p=r(46),y=r(7),T=!y(function(){Reflect.apply(function(){})});u({target:"Reflect",stat:!0,forced:T},{apply:function(A,E,R){return d(h(A),E,p(R))}})},function(x,b,r){var u=r(3),d=r(23),h=r(94),p=r(246),y=r(359),T=r(46),$=r(20),A=r(71),E=r(7),R=d("Reflect","construct"),I=Object.prototype,O=[].push,C=E(function(){function F(){}return!(R(function(){},[],F)instanceof F)}),D=!E(function(){R(function(){})}),M=C||D;u({target:"Reflect",stat:!0,forced:M,sham:M},{construct:function(j,B){y(j),T(B);var U=arguments.length<3?j:y(arguments[2]);if(D&&!C)return R(j,B,U);if(j===U){switch(B.length){case 0:return new j;case 1:return new j(B[0]);case 2:return new j(B[0],B[1]);case 3:return new j(B[0],B[1],B[2]);case 4:return new j(B[0],B[1],B[2],B[3])}var V=[null];return h(O,V,B),new(h(p,j,V))}var z=U.prototype,G=A($(z)?z:I),H=h(j,G,B);return $(H)?H:G}})},function(x,b,r){var u=r(3),d=r(6),h=r(46),p=r(18),y=r(44),T=r(7),$=T(function(){Reflect.defineProperty(y.f({},1,{value:1}),1,{value:2})});u({target:"Reflect",stat:!0,forced:$,sham:!d},{defineProperty:function(E,R,I){h(E);var O=p(R);h(I);try{return y.f(E,O,I),!0}catch(C){return!1}}})},function(x,b,r){var u=r(3),d=r(46),h=r(5).f;u({target:"Reflect",stat:!0},{deleteProperty:function(y,T){var $=h(d(y),T);return $&&!$.configurable?!1:delete y[T]}})},function(x,b,r){var u=r(3),d=r(8),h=r(20),p=r(46),y=r(390),T=r(5),$=r(128);function A(E,R){var I=arguments.length<3?E:arguments[2],O,C;if(p(E)===I)return E[R];if(O=T.f(E,R),O)return y(O)?O.value:O.get===void 0?void 0:d(O.get,I);if(h(C=$(E)))return A(C,R,I)}u({target:"Reflect",stat:!0},{get:A})},function(x,b,r){var u=r(38);x.exports=function(d){return d!==void 0&&(u(d,"value")||u(d,"writable"))}},function(x,b,r){var u=r(3),d=r(6),h=r(46),p=r(5);u({target:"Reflect",stat:!0,sham:!d},{getOwnPropertyDescriptor:function(T,$){return p.f(h(T),$)}})},function(x,b,r){var u=r(3),d=r(46),h=r(128),p=r(129);u({target:"Reflect",stat:!0,sham:!p},{getPrototypeOf:function(T){return h(d(T))}})},function(x,b,r){var u=r(3);u({target:"Reflect",stat:!0},{has:function(h,p){return p in h}})},function(x,b,r){var u=r(3),d=r(46),h=r(274);u({target:"Reflect",stat:!0},{isExtensible:function(y){return d(y),h(y)}})},function(x,b,r){var u=r(3),d=r(56);u({target:"Reflect",stat:!0},{ownKeys:d})},function(x,b,r){var u=r(3),d=r(23),h=r(46),p=r(276);u({target:"Reflect",stat:!0,sham:!p},{preventExtensions:function(T){h(T);try{var $=d("Object","preventExtensions");return $&&$(T),!0}catch(A){return!1}}})},function(x,b,r){var u=r(3),d=r(8),h=r(46),p=r(20),y=r(390),T=r(7),$=r(44),A=r(5),E=r(128),R=r(11);function I(C,D,M){var F=arguments.length<4?C:arguments[3],j=A.f(h(C),D),B,U,V;if(!j){if(p(U=E(C)))return I(U,D,M,F);j=R(0)}if(y(j)){if(j.writable===!1||!p(F))return!1;if(B=A.f(F,D)){if(B.get||B.set||B.writable===!1)return!1;B.value=M,$.f(F,D,B)}else $.f(F,D,R(0,M))}else{if(V=j.set,V===void 0)return!1;d(V,F,M)}return!0}var O=T(function(){var C=function(){},D=$.f(new C,"a",{configurable:!0});return Reflect.set(C.prototype,"a",1,D)!==!1});u({target:"Reflect",stat:!0,forced:O},{set:I})},function(x,b,r){var u=r(3),d=r(46),h=r(115),p=r(113);p&&u({target:"Reflect",stat:!0},{setPrototypeOf:function(T,$){d(T),h($);try{return p(T,$),!0}catch(A){return!1}}})},function(x,b,r){var u=r(3),d=r(4),h=r(82);u({global:!0},{Reflect:{}}),h(d.Reflect,"Reflect",!0)},function(x,b,r){var u=r(6),d=r(4),h=r(14),p=r(67),y=r(118),T=r(43),$=r(71),A=r(57).f,E=r(24),R=r(401),I=r(68),O=r(402),C=r(404),D=r(117),M=r(47),F=r(7),j=r(38),B=r(51).enforce,U=r(194),V=r(33),z=r(405),G=r(406),H=V("match"),k=d.RegExp,J=k.prototype,q=d.SyntaxError,nt=h(J.exec),rt=h("".charAt),_=h("".replace),tt=h("".indexOf),et=h("".slice),st=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,mt=/a/g,gt=/a/g,xt=new k(mt)!==mt,yt=C.MISSED_STICKY,Ut=C.UNSUPPORTED_Y,Dt=u&&(!xt||yt||z||G||F(function(){return gt[H]=!1,k(mt)!==mt||k(gt)===gt||String(k(mt,"i"))!=="/a/i"})),Xt=function(ae){for(var Mt=ae.length,Yt=0,re="",se=!1,ee;Yt<=Mt;Yt++){if(ee=rt(ae,Yt),ee==="\\"){re+=ee+rt(ae,++Yt);continue}!se&&ee==="."?re+="[\\s\\S]":(ee==="["?se=!0:ee==="]"&&(se=!1),re+=ee)}return re},kt=function(ae){for(var Mt=ae.length,Yt=0,re="",se=[],ee=$(null),fe=!1,Pe=!1,Me=0,$e="",ce;Yt<=Mt;Yt++){if(ce=rt(ae,Yt),ce==="\\")ce+=rt(ae,++Yt);else if(ce==="]")fe=!1;else if(!fe)switch(!0){case ce==="[":fe=!0;break;case ce==="(":if(re+=ce,et(ae,Yt+1,Yt+3)==="?:")continue;nt(st,et(ae,Yt+1))&&(Yt+=2,Pe=!0),Me++;continue;case(ce===">"&&Pe):if($e===""||j(ee,$e))throw new q("Invalid capture group name");ee[$e]=!0,se[se.length]=[$e,Me],Pe=!1,$e="";continue}Pe?$e+=ce:re+=ce}return[re,se]};if(p("RegExp",Dt)){for(var Qt=function(Mt,Yt){var re=E(J,this),se=R(Mt),ee=Yt===void 0,fe=[],Pe=Mt,Me,$e,ce,Ae,Te,de;if(!re&&se&&ee&&Mt.constructor===Qt)return Mt;if((se||E(J,Mt))&&(Mt=Mt.source,ee&&(Yt=O(Pe))),Mt=Mt===void 0?"":I(Mt),Yt=Yt===void 0?"":I(Yt),Pe=Mt,z&&"dotAll"in mt&&($e=!!Yt&&tt(Yt,"s")>-1,$e&&(Yt=_(Yt,/s/g,""))),Me=Yt,yt&&"sticky"in mt&&(ce=!!Yt&&tt(Yt,"y")>-1,ce&&Ut&&(Yt=_(Yt,/y/g,""))),G&&(Ae=kt(Mt),Mt=Ae[0],fe=Ae[1]),Te=y(k(Mt,Yt),re?this:J,Qt),($e||ce||fe.length)&&(de=B(Te),$e&&(de.dotAll=!0,de.raw=Qt(Xt(Mt),Me)),ce&&(de.sticky=!0),fe.length&&(de.groups=fe)),Mt!==Pe)try{T(Te,"source",Pe===""?"(?:)":Pe)}catch(bt){}return Te},me=A(k),ge=0;me.length>ge;)D(Qt,k,me[ge++]);J.constructor=Qt,Qt.prototype=J,M(d,"RegExp",Qt,{constructor:!0})}U("RegExp")},function(x,b,r){var u=r(20),d=r(15),h=r(33),p=h("match");x.exports=function(y){var T;return u(y)&&((T=y[p])!==void 0?!!T:d(y)==="RegExp")}},function(x,b,r){var u=r(8),d=r(38),h=r(24),p=r(403),y=RegExp.prototype;x.exports=function(T){var $=T.flags;return $===void 0&&!("flags"in y)&&!d(T,"flags")&&h(y,T)?u(p,T):$}},function(x,b,r){var u=r(46);x.exports=function(){var d=u(this),h="";return d.hasIndices&&(h+="d"),d.global&&(h+="g"),d.ignoreCase&&(h+="i"),d.multiline&&(h+="m"),d.dotAll&&(h+="s"),d.unicode&&(h+="u"),d.unicodeSets&&(h+="v"),d.sticky&&(h+="y"),h}},function(x,b,r){var u=r(7),d=r(4),h=d.RegExp,p=u(function(){var $=h("a","y");return $.lastIndex=2,$.exec("abcd")!==null}),y=p||u(function(){return!h("a","y").sticky}),T=p||u(function(){var $=h("^r","gy");return $.lastIndex=2,$.exec("str")!==null});x.exports={BROKEN_CARET:T,MISSED_STICKY:y,UNSUPPORTED_Y:p}},function(x,b,r){var u=r(7),d=r(4),h=d.RegExp;x.exports=u(function(){var p=h(".","s");return!(p.dotAll&&p.test(` -`)&&p.flags==="s")})},function(x,b,r){var u=r(7),d=r(4),h=d.RegExp;x.exports=u(function(){var p=h("(?b)","g");return p.exec("b").groups.a!=="b"||"b".replace(p,"$c")!=="bc"})},function(x,b,r){var u=r(6),d=r(405),h=r(15),p=r(77),y=r(51).get,T=RegExp.prototype,$=TypeError;u&&d&&p(T,"dotAll",{configurable:!0,get:function(){if(this!==T){if(h(this)==="RegExp")return!!y(this).dotAll;throw new $("Incompatible receiver, RegExp required")}}})},function(x,b,r){var u=r(3),d=r(409);u({target:"RegExp",proto:!0,forced:/./.exec!==d},{exec:d})},function(x,b,r){var u=r(8),d=r(14),h=r(68),p=r(403),y=r(404),T=r(34),$=r(71),A=r(51).get,E=r(405),R=r(406),I=T("native-string-replace",String.prototype.replace),O=RegExp.prototype.exec,C=O,D=d("".charAt),M=d("".indexOf),F=d("".replace),j=d("".slice),B=function(){var G=/a/,H=/b*/g;return u(O,G,"a"),u(O,H,"a"),G.lastIndex!==0||H.lastIndex!==0}(),U=y.BROKEN_CARET,V=/()??/.exec("")[1]!==void 0,z=B||V||U||E||R;z&&(C=function(H){var k=this,J=A(k),q=h(H),nt=J.raw,rt,_,tt,et,st,mt,gt;if(nt)return nt.lastIndex=k.lastIndex,rt=u(C,nt,q),k.lastIndex=nt.lastIndex,rt;var xt=J.groups,yt=U&&k.sticky,Ut=u(p,k),Dt=k.source,Xt=0,kt=q;if(yt&&(Ut=F(Ut,"y",""),M(Ut,"g")===-1&&(Ut+="g"),kt=j(q,k.lastIndex),k.lastIndex>0&&(!k.multiline||k.multiline&&D(q,k.lastIndex-1)!==` -`)&&(Dt="(?: "+Dt+")",kt=" "+kt,Xt++),_=new RegExp("^(?:"+Dt+")",Ut)),V&&(_=new RegExp("^"+Dt+"$(?!\\s)",Ut)),B&&(tt=k.lastIndex),et=u(O,yt?_:k,kt),yt?et?(et.input=j(et.input,Xt),et[0]=j(et[0],Xt),et.index=k.lastIndex,k.lastIndex+=et[0].length):k.lastIndex=0:B&&et&&(k.lastIndex=k.global?et.index+et[0].length:tt),V&&et&&et.length>1&&u(I,et[0],_,function(){for(st=1;stC.size?T(C.getIterator(),function(M){E(O,M)&&A(D,M)}):y(O,function(M){C.includes(M)&&A(D,M)}),D}},function(x,b,r){var u=r(3),d=r(429),h=r(425);u({target:"Set",proto:!0,real:!0,forced:!h("isDisjointFrom")},{isDisjointFrom:d})},function(x,b,r){var u=r(418),d=r(419).has,h=r(423),p=r(424),y=r(421),T=r(422),$=r(135);x.exports=function(E){var R=u(this),I=p(E);if(h(R)<=I.size)return y(R,function(C){if(I.includes(C))return!1},!0)!==!1;var O=I.getIterator();return T(O,function(C){if(d(R,C))return $(O,"normal",!1)})!==!1}},function(x,b,r){var u=r(3),d=r(431),h=r(425);u({target:"Set",proto:!0,real:!0,forced:!h("isSubsetOf")},{isSubsetOf:d})},function(x,b,r){var u=r(418),d=r(423),h=r(421),p=r(424);x.exports=function(T){var $=u(this),A=p(T);return d($)>A.size?!1:h($,function(E){if(!A.includes(E))return!1},!0)!==!1}},function(x,b,r){var u=r(3),d=r(433),h=r(425);u({target:"Set",proto:!0,real:!0,forced:!h("isSupersetOf")},{isSupersetOf:d})},function(x,b,r){var u=r(418),d=r(419).has,h=r(423),p=r(424),y=r(422),T=r(135);x.exports=function(A){var E=u(this),R=p(A);if(h(E)=0?C:O+C;return D<0||D>=O?void 0:$(I,D)}})},function(x,b,r){var u=r(3),d=r(440).codeAt;u({target:"String",proto:!0},{codePointAt:function(p){return d(this,p)}})},function(x,b,r){var u=r(14),d=r(61),h=r(68),p=r(16),y=u("".charAt),T=u("".charCodeAt),$=u("".slice),A=function(E){return function(R,I){var O=h(p(R)),C=d(I),D=O.length,M,F;return C<0||C>=D?E?"":void 0:(M=T(O,C),M<55296||M>56319||C+1===D||(F=T(O,C+1))<56320||F>57343?E?y(O,C):M:E?$(O,C,C+2):(M-55296<<10)+(F-56320)+65536)}};x.exports={codeAt:A(!1),charAt:A(!0)}},function(x,b,r){var u=r(3),d=r(85),h=r(5).f,p=r(64),y=r(68),T=r(442),$=r(16),A=r(443),E=r(36),R=d("".slice),I=Math.min,O=A("endsWith"),C=!E&&!O&&!!function(){var D=h(String.prototype,"endsWith");return D&&!D.writable}();u({target:"String",proto:!0,forced:!C&&!O},{endsWith:function(M){var F=y($(this));T(M);var j=arguments.length>1?arguments[1]:void 0,B=F.length,U=j===void 0?B:I(p(j),B),V=y(M);return R(F,U-V.length,U)===V}})},function(x,b,r){var u=r(401),d=TypeError;x.exports=function(h){if(u(h))throw new d("The method doesn't accept regular expressions");return h}},function(x,b,r){var u=r(33),d=u("match");x.exports=function(h){var p=/./;try{"/./"[h](p)}catch(y){try{return p[d]=!1,"/./"[h](p)}catch(T){}}return!1}},function(x,b,r){var u=r(3),d=r(14),h=r(60),p=RangeError,y=String.fromCharCode,T=String.fromCodePoint,$=d([].join),A=!!T&&T.length!==1;u({target:"String",stat:!0,arity:1,forced:A},{fromCodePoint:function(R){for(var I=[],O=arguments.length,C=0,D;O>C;){if(D=+arguments[C++],h(D,1114111)!==D)throw new p(D+" is not a valid code point");I[C]=D<65536?y(D):y(((D-=65536)>>10)+55296,D%1024+56320)}return $(I,"")}})},function(x,b,r){var u=r(3),d=r(14),h=r(442),p=r(16),y=r(68),T=r(443),$=d("".indexOf);u({target:"String",proto:!0,forced:!T("includes")},{includes:function(E){return!!~$(y(p(this)),y(h(E)),arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(14),h=r(16),p=r(68),y=d("".charCodeAt);u({target:"String",proto:!0},{isWellFormed:function(){for(var $=p(h(this)),A=$.length,E=0;E=56320||++E>=A||(y($,E)&64512)!==56320))return!1}return!0}})},function(x,b,r){var u=r(440).charAt,d=r(68),h=r(51),p=r(169),y=r(172),T="String Iterator",$=h.set,A=h.getterFor(T);p(String,"String",function(E){$(this,{type:T,string:d(E),index:0})},function(){var R=A(this),I=R.string,O=R.index,C;return O>=I.length?y(void 0,!0):(C=u(I,O),R.index+=C.length,y(C,!1))})},function(x,b,r){var u=r(8),d=r(449),h=r(46),p=r(17),y=r(64),T=r(68),$=r(16),A=r(29),E=r(450),R=r(451);d("match",function(I,O,C){return[function(M){var F=$(this),j=p(M)?void 0:A(M,I);return j?u(j,M,F):new RegExp(M)[I](T(F))},function(D){var M=h(this),F=T(D),j=C(O,M,F);if(j.done)return j.value;if(!M.global)return R(M,F);var B=M.unicode;M.lastIndex=0;for(var U=[],V=0,z;(z=R(M,F))!==null;){var G=T(z[0]);U[V]=G,G===""&&(M.lastIndex=E(F,y(M.lastIndex),B)),V++}return V===0?null:U}]})},function(x,b,r){r(408);var u=r(8),d=r(47),h=r(409),p=r(7),y=r(33),T=r(43),$=y("species"),A=RegExp.prototype;x.exports=function(E,R,I,O){var C=y(E),D=!p(function(){var B={};return B[C]=function(){return 7},""[E](B)!==7}),M=D&&!p(function(){var B=!1,U=/a/;return E==="split"&&(U={},U.constructor={},U.constructor[$]=function(){return U},U.flags="",U[C]=/./[C]),U.exec=function(){return B=!0,null},U[C](""),!B});if(!D||!M||I){var F=/./[C],j=R(C,""[E],function(B,U,V,z,G){var H=U.exec;return H===h||H===A.exec?D&&!G?{done:!0,value:u(F,U,V,z)}:{done:!0,value:u(B,V,U,z)}:{done:!1}});d(String.prototype,E,j[0]),d(A,C,j[1])}O&&T(A[C],"sham",!0)}},function(x,b,r){var u=r(440).charAt;x.exports=function(d,h,p){return h+(p?u(d,h).length:1)}},function(x,b,r){var u=r(8),d=r(46),h=r(21),p=r(15),y=r(409),T=TypeError;x.exports=function($,A){var E=$.exec;if(h(E)){var R=u(E,$,A);return R!==null&&d(R),R}if(p($)==="RegExp")return u(y,$,A);throw new T("RegExp#exec called on incompatible receiver")}},function(x,b,r){var u=r(3),d=r(8),h=r(85),p=r(170),y=r(172),T=r(16),$=r(64),A=r(68),E=r(46),R=r(17),I=r(15),O=r(401),C=r(402),D=r(29),M=r(47),F=r(7),j=r(33),B=r(358),U=r(450),V=r(451),z=r(51),G=r(36),H=j("matchAll"),k="RegExp String",J=k+" Iterator",q=z.set,nt=z.getterFor(J),rt=RegExp.prototype,_=TypeError,tt=h("".indexOf),et=h("".matchAll),st=!!et&&!F(function(){et("a",/./)}),mt=p(function(yt,Ut,Dt,Xt){q(this,{type:J,regexp:yt,string:Ut,global:Dt,unicode:Xt,done:!1})},k,function(){var yt=nt(this);if(yt.done)return y(void 0,!0);var Ut=yt.regexp,Dt=yt.string,Xt=V(Ut,Dt);return Xt===null?(yt.done=!0,y(void 0,!0)):yt.global?(A(Xt[0])===""&&(Ut.lastIndex=U(Dt,$(Ut.lastIndex),yt.unicode)),y(Xt,!1)):(yt.done=!0,y(Xt,!1))}),gt=function(xt){var yt=E(this),Ut=A(xt),Dt=B(yt,RegExp),Xt=A(C(yt)),kt,Qt,me;return kt=new Dt(Dt===RegExp?yt.source:yt,Xt),Qt=!!~tt(Xt,"g"),me=!!~tt(Xt,"u"),kt.lastIndex=$(yt.lastIndex),new mt(kt,Ut,Qt,me)};u({target:"String",proto:!0,forced:st},{matchAll:function(yt){var Ut=T(this),Dt,Xt,kt,Qt;if(R(yt)){if(st)return et(Ut,yt)}else{if(O(yt)&&(Dt=A(T(C(yt))),!~tt(Dt,"g")))throw new _("`.matchAll` does not allow non-global regexes");if(st)return et(Ut,yt);if(kt=D(yt,H),kt===void 0&&G&&I(yt)==="RegExp"&&(kt=gt),kt)return d(kt,yt,Ut)}return Xt=A(Ut),Qt=new RegExp(yt,"g"),G?d(gt,Qt,Xt):Qt[H](Xt)}}),G||H in rt||M(rt,H,gt)},function(x,b,r){var u=r(3),d=r(238).end,h=r(454);u({target:"String",proto:!0,forced:h},{padEnd:function(y){return d(this,y,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(28);x.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(u)},function(x,b,r){var u=r(3),d=r(238).start,h=r(454);u({target:"String",proto:!0,forced:h},{padStart:function(y){return d(this,y,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(14),h=r(12),p=r(39),y=r(68),T=r(63),$=d([].push),A=d([].join);u({target:"String",stat:!0},{raw:function(R){var I=h(p(R).raw),O=T(I);if(!O)return"";for(var C=arguments.length,D=[],M=0;;){if($(D,y(I[M++])),M===O)return A(D,"");M")!=="7"});p("replace",function(_,tt,et){var st=nt?"$":"$0";return[function(gt,xt){var yt=O(this),Ut=A(gt)?void 0:D(gt,B);return Ut?d(Ut,gt,yt,xt):d(tt,I(yt),gt,xt)},function(mt,gt){var xt=T(this),yt=I(mt);if(typeof gt=="string"&&H(gt,st)===-1&&H(gt,"$<")===-1){var Ut=et(tt,xt,yt,gt);if(Ut.done)return Ut.value}var Dt=$(gt);Dt||(gt=I(gt));var Xt=xt.global,kt;Xt&&(kt=xt.unicode,xt.lastIndex=0);for(var Qt=[],me;me=F(xt,yt),!(me===null||(G(Qt,me),!Xt));){var ge=I(me[0]);ge===""&&(xt.lastIndex=C(yt,R(xt.lastIndex),kt))}for(var ae="",Mt=0,Yt=0;Yt=Mt&&(ae+=k(yt,Mt,se)+fe,Mt=se+re.length)}return ae+k(yt,Mt)}]},!rt||!q||nt)},function(x,b,r){var u=r(14),d=r(39),h=Math.floor,p=u("".charAt),y=u("".replace),T=u("".slice),$=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,A=/\$([$&'`]|\d{1,2})/g;x.exports=function(E,R,I,O,C,D){var M=I+E.length,F=O.length,j=A;return C!==void 0&&(C=d(C),j=$),y(D,j,function(B,U){var V;switch(p(U,0)){case"$":return"$";case"&":return E;case"`":return T(R,0,I);case"'":return T(R,M);case"<":V=C[T(U,1,-1)];break;default:var z=+U;if(z===0)return B;if(z>F){var G=h(z/10);return G===0?B:G<=F?O[G-1]===void 0?p(U,1):O[G-1]+p(U,1):B}V=O[z-1]}return V===void 0?"":V})}},function(x,b,r){var u=r(3),d=r(8),h=r(14),p=r(16),y=r(21),T=r(17),$=r(401),A=r(68),E=r(29),R=r(402),I=r(459),O=r(33),C=r(36),D=O("replace"),M=TypeError,F=h("".indexOf),j=h("".replace),B=h("".slice),U=Math.max;u({target:"String",proto:!0},{replaceAll:function(z,G){var H=p(this),k,J,q,nt,rt,_,tt,et,st,mt,gt=0,xt="";if(!T(z)){if(k=$(z),k&&(J=A(p(R(z))),!~F(J,"g")))throw new M("`.replaceAll` does not allow non-global regexes");if(q=E(z,D),q)return d(q,z,H,G);if(C&&k)return j(A(H),z,G)}for(nt=A(H),rt=A(z),_=y(G),_||(G=A(G)),tt=rt.length,et=U(1,tt),st=F(nt,rt);st!==-1;)mt=_?A(G(rt,st,nt)):I(rt,nt,st,[],void 0,G),xt+=B(nt,gt,st)+mt,gt=st+tt,st=st+et>nt.length?-1:F(nt,rt,st+et);return gt1||"".split(/.?/).length;h("split",function(G,H,k){var J="0".split(void 0,0).length?function(q,nt){return q===void 0&&nt===0?[]:u(H,this,q,nt)}:H;return[function(nt,rt){var _=T(this),tt=y(nt)?void 0:I(nt,G);return tt?u(tt,nt,_,rt):u(J,R(_),nt,rt)},function(q,nt){var rt=p(this),_=R(q);if(!z){var tt=k(J,rt,_,nt,J!==H);if(tt.done)return tt.value}var et=$(rt,RegExp),st=rt.unicode,mt=(rt.ignoreCase?"i":"")+(rt.multiline?"m":"")+(rt.unicode?"u":"")+(M?"g":"y"),gt=new et(M?"^(?:"+rt.source+")":rt,mt),xt=nt===void 0?F:nt>>>0;if(xt===0)return[];if(_.length===0)return O(gt,_)===null?[_]:[];for(var yt=0,Ut=0,Dt=[];Ut<_.length;){gt.lastIndex=M?0:Ut;var Xt=O(gt,M?U(_,Ut):_),kt;if(Xt===null||(kt=j(E(gt.lastIndex+(M?Ut:0)),_.length))===yt)Ut=A(_,Ut,st);else{if(B(Dt,U(_,yt,Ut)),Dt.length===xt)return Dt;for(var Qt=1;Qt<=Xt.length-1;Qt++)if(B(Dt,Xt[Qt]),Dt.length===xt)return Dt;Ut=yt=kt}}return B(Dt,U(_,yt)),Dt}]},z||!V,M)},function(x,b,r){var u=r(3),d=r(85),h=r(5).f,p=r(64),y=r(68),T=r(442),$=r(16),A=r(443),E=r(36),R=d("".slice),I=Math.min,O=A("startsWith"),C=!E&&!O&&!!function(){var D=h(String.prototype,"startsWith");return D&&!D.writable}();u({target:"String",proto:!0,forced:!C&&!O},{startsWith:function(M){var F=y($(this));T(M);var j=p(I(arguments.length>1?arguments[1]:void 0,F.length)),B=y(M);return R(F,j,j+B.length)===B}})},function(x,b,r){var u=r(3),d=r(14),h=r(16),p=r(61),y=r(68),T=d("".slice),$=Math.max,A=Math.min,E=!"".substr||"ab".substr(-1)!=="b";u({target:"String",proto:!0,forced:E},{substr:function(I,O){var C=y(h(this)),D=C.length,M=p(I),F,j;return M===1/0&&(M=0),M<0&&(M=$(D+M,0)),F=O===void 0?D:p(O),F<=0||F===1/0?"":(j=A(M+F,D),M>=j?"":T(C,M,j))}})},function(x,b,r){var u=r(3),d=r(8),h=r(14),p=r(16),y=r(68),T=r(7),$=Array,A=h("".charAt),E=h("".charCodeAt),R=h([].join),I="".toWellFormed,O="\uFFFD",C=I&&T(function(){return d(I,1)!=="1"});u({target:"String",proto:!0,forced:C},{toWellFormed:function(){var M=y(p(this));if(C)return d(I,M);for(var F=M.length,j=$(F),B=0;B=56320||B+1>=F||(E(M,B+1)&64512)!==56320?j[B]=O:(j[B]=A(M,B),j[++B]=A(M,B))}return R(j,"")}})},function(x,b,r){var u=r(3),d=r(303).trim,h=r(467);u({target:"String",proto:!0,forced:h("trim")},{trim:function(){return d(this)}})},function(x,b,r){var u=r(49).PROPER,d=r(7),h=r(304),p="\u200B\x85\u180E";x.exports=function(y){return d(function(){return!!h[y]()||p[y]()!==p||u&&h[y].name!==y})}},function(x,b,r){r(469);var u=r(3),d=r(470);u({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==d},{trimEnd:d})},function(x,b,r){var u=r(3),d=r(470);u({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==d},{trimRight:d})},function(x,b,r){var u=r(303).end,d=r(467);x.exports=d("trimEnd")?function(){return u(this)}:"".trimEnd},function(x,b,r){r(472);var u=r(3),d=r(473);u({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==d},{trimStart:d})},function(x,b,r){var u=r(3),d=r(473);u({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==d},{trimLeft:d})},function(x,b,r){var u=r(303).start,d=r(467);x.exports=d("trimStart")?function(){return u(this)}:"".trimStart},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("anchor")},{anchor:function(y){return d(this,"a","name",y)}})},function(x,b,r){var u=r(14),d=r(16),h=r(68),p=/"/g,y=u("".replace);x.exports=function(T,$,A,E){var R=h(d(T)),I="<"+$;return A!==""&&(I+=" "+A+'="'+y(h(E),p,""")+'"'),I+">"+R+""}},function(x,b,r){var u=r(7);x.exports=function(d){return u(function(){var h=""[d]('"');return h!==h.toLowerCase()||h.split('"').length>3})}},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("big")},{big:function(){return d(this,"big","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("blink")},{blink:function(){return d(this,"blink","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("bold")},{bold:function(){return d(this,"b","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("fixed")},{fixed:function(){return d(this,"tt","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("fontcolor")},{fontcolor:function(y){return d(this,"font","color",y)}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("fontsize")},{fontsize:function(y){return d(this,"font","size",y)}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("italics")},{italics:function(){return d(this,"i","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("link")},{link:function(y){return d(this,"a","href",y)}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("small")},{small:function(){return d(this,"small","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("strike")},{strike:function(){return d(this,"strike","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("sub")},{sub:function(){return d(this,"sub","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("sup")},{sup:function(){return d(this,"sup","","")}})},function(x,b,r){var u=r(490);u("Float32",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(3),d=r(4),h=r(8),p=r(6),y=r(491),T=r(218),$=r(208),A=r(211),E=r(11),R=r(43),I=r(309),O=r(64),C=r(212),D=r(492),M=r(493),F=r(18),j=r(38),B=r(69),U=r(20),V=r(22),z=r(71),G=r(24),H=r(113),k=r(57).f,J=r(494),q=r(83).forEach,nt=r(194),rt=r(77),_=r(44),tt=r(5),et=r(199),st=r(51),mt=r(118),gt=st.get,xt=st.set,yt=st.enforce,Ut=_.f,Dt=tt.f,Xt=d.RangeError,kt=$.ArrayBuffer,Qt=kt.prototype,me=$.DataView,ge=T.NATIVE_ARRAY_BUFFER_VIEWS,ae=T.TYPED_ARRAY_TAG,Mt=T.TypedArray,Yt=T.TypedArrayPrototype,re=T.isTypedArray,se="BYTES_PER_ELEMENT",ee="Wrong length",fe=function(Ae,Te){rt(Ae,Te,{configurable:!0,get:function(){return gt(this)[Te]}})},Pe=function(Ae){var Te;return G(Qt,Ae)||(Te=B(Ae))==="ArrayBuffer"||Te==="SharedArrayBuffer"},Me=function(Ae,Te){return re(Ae)&&!V(Te)&&Te in Ae&&I(+Te)&&Te>=0},$e=function(Te,de){return de=F(de),Me(Te,de)?E(2,Te[de]):Dt(Te,de)},ce=function(Te,de,bt){return de=F(de),Me(Te,de)&&U(bt)&&j(bt,"value")&&!j(bt,"get")&&!j(bt,"set")&&!bt.configurable&&(!j(bt,"writable")||bt.writable)&&(!j(bt,"enumerable")||bt.enumerable)?(Te[de]=bt.value,Te):Ut(Te,de,bt)};p?(ge||(tt.f=$e,_.f=ce,fe(Yt,"buffer"),fe(Yt,"byteOffset"),fe(Yt,"byteLength"),fe(Yt,"length")),u({target:"Object",stat:!0,forced:!ge},{getOwnPropertyDescriptor:$e,defineProperty:ce}),x.exports=function(Ae,Te,de){var bt=Ae.match(/\d+/)[0]/8,Ft=Ae+(de?"Clamped":"")+"Array",Tt="get"+Ae,qt="set"+Ae,te=d[Ft],Zt=te,Ht=Zt&&Zt.prototype,He={},Ze=function(Ct,Nt){var Et=gt(Ct);return Et.view[Tt](Nt*bt+Et.byteOffset,!0)},ft=function(Ct,Nt,Et){var ie=gt(Ct);ie.view[qt](Nt*bt+ie.byteOffset,de?M(Et):Et,!0)},It=function(Ct,Nt){Ut(Ct,Nt,{get:function(){return Ze(this,Nt)},set:function(Et){return ft(this,Nt,Et)},enumerable:!0})};ge?y&&(Zt=Te(function(Ct,Nt,Et,ie){return A(Ct,Ht),mt(function(){return U(Nt)?Pe(Nt)?ie!==void 0?new te(Nt,D(Et,bt),ie):Et!==void 0?new te(Nt,D(Et,bt)):new te(Nt):re(Nt)?et(Zt,Nt):h(J,Zt,Nt):new te(C(Nt))}(),Ct,Zt)}),H&&H(Zt,Mt),q(k(te),function(Ct){Ct in Zt||R(Zt,Ct,te[Ct])}),Zt.prototype=Ht):(Zt=Te(function(Ct,Nt,Et,ie){A(Ct,Ht);var we=0,Rt=0,zt,jt,Wt;if(!U(Nt))Wt=C(Nt),jt=Wt*bt,zt=new kt(jt);else if(Pe(Nt)){zt=Nt,Rt=D(Et,bt);var ue=Nt.byteLength;if(ie===void 0){if(ue%bt)throw new Xt(ee);if(jt=ue-Rt,jt<0)throw new Xt(ee)}else if(jt=O(ie)*bt,jt+Rt>ue)throw new Xt(ee);Wt=jt/bt}else return re(Nt)?et(Zt,Nt):h(J,Zt,Nt);for(xt(Ct,{buffer:zt,byteOffset:Rt,byteLength:jt,length:Wt,view:new me(zt)});we255?255:u&255}},function(x,b,r){var u=r(84),d=r(8),h=r(359),p=r(39),y=r(63),T=r(133),$=r(134),A=r(131),E=r(495),R=r(218).aTypedArrayConstructor,I=r(496);x.exports=function(C){var D=h(this),M=p(C),F=arguments.length,j=F>1?arguments[1]:void 0,B=j!==void 0,U=$(M),V,z,G,H,k,J,q,nt;if(U&&!A(U))for(q=T(M,U),nt=q.next,M=[];!(J=d(nt,q)).done;)M.push(J.value);for(B&&F>2&&(j=u(j,arguments[2])),z=y(M),G=new(R(D))(z),H=E(G),V=0;z>V;V++)k=B?j(M[V],V):M[V],G[V]=H?I(k):+k;return G}},function(x,b,r){var u=r(69);x.exports=function(d){var h=u(d);return h==="BigInt64Array"||h==="BigUint64Array"}},function(x,b,r){var u=r(19),d=TypeError;x.exports=function(h){var p=u(h,"number");if(typeof p=="number")throw new d("Can't convert number to bigint");return BigInt(p)}},function(x,b,r){var u=r(490);u("Float64",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Int8",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Int16",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Int32",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Uint8",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Uint8",function(d){return function(p,y,T){return d(this,p,y,T)}},!0)},function(x,b,r){var u=r(490);u("Uint16",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Uint32",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(218),d=r(63),h=r(61),p=u.aTypedArray,y=u.exportTypedArrayMethod;y("at",function($){var A=p(this),E=d(A),R=h($),I=R>=0?R:E+R;return I<0||I>=E?void 0:A[I]})},function(x,b,r){var u=r(14),d=r(218),h=r(144),p=u(h),y=d.aTypedArray,T=d.exportTypedArrayMethod;T("copyWithin",function(A,E){return p(y(this),A,E,arguments.length>2?arguments[2]:void 0)})},function(x,b,r){var u=r(218),d=r(83).every,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("every",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(149),h=r(496),p=r(69),y=r(8),T=r(14),$=r(7),A=u.aTypedArray,E=u.exportTypedArrayMethod,R=T("".slice),I=$(function(){var O=0;return new Int8Array(2).fill({valueOf:function(){return O++}}),O!==1});E("fill",function(C){var D=arguments.length;A(this);var M=R(p(this),0,3)==="Big"?h(C):+C;return y(d,this,M,D>1?arguments[1]:void 0,D>2?arguments[2]:void 0)},I)},function(x,b,r){var u=r(218),d=r(83).filter,h=r(510),p=u.aTypedArray,y=u.exportTypedArrayMethod;y("filter",function($){var A=d(p(this),$,arguments.length>1?arguments[1]:void 0);return h(this,A)})},function(x,b,r){var u=r(199),d=r(218).getTypedArrayConstructor;x.exports=function(h,p){return u(d(h),p)}},function(x,b,r){var u=r(218),d=r(83).find,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("find",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(83).findIndex,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("findIndex",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(154).findLast,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("findLast",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(154).findLastIndex,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("findLastIndex",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(83).forEach,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("forEach",function(T){d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(491),d=r(218).exportTypedArrayStaticMethod,h=r(494);d("from",h,u)},function(x,b,r){var u=r(218),d=r(59).includes,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("includes",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(59).indexOf,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("indexOf",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(4),d=r(7),h=r(14),p=r(218),y=r(168),T=r(33),$=T("iterator"),A=u.Uint8Array,E=h(y.values),R=h(y.keys),I=h(y.entries),O=p.aTypedArray,C=p.exportTypedArrayMethod,D=A&&A.prototype,M=!d(function(){D[$].call([1])}),F=!!D&&D.values&&D[$]===D.values&&D.values.name==="values",j=function(){return E(O(this))};C("entries",function(){return I(O(this))},M),C("keys",function(){return R(O(this))},M),C("values",j,M||!F,{name:"values"}),C($,j,M||!F,{name:"values"})},function(x,b,r){var u=r(218),d=r(14),h=u.aTypedArray,p=u.exportTypedArrayMethod,y=d([].join);p("join",function($){return y(h(this),$)})},function(x,b,r){var u=r(218),d=r(94),h=r(175),p=u.aTypedArray,y=u.exportTypedArrayMethod;y("lastIndexOf",function($){var A=arguments.length;return d(h,p(this),A>1?[$,arguments[1]]:[$])})},function(x,b,r){var u=r(218),d=r(83).map,h=u.aTypedArray,p=u.getTypedArrayConstructor,y=u.exportTypedArrayMethod;y("map",function($){return d(h(this),$,arguments.length>1?arguments[1]:void 0,function(A,E){return new(p(A))(E)})})},function(x,b,r){var u=r(218),d=r(491),h=u.aTypedArrayConstructor,p=u.exportTypedArrayStaticMethod;p("of",function(){for(var T=0,$=arguments.length,A=new(h(this))($);$>T;)A[T]=arguments[T++];return A},d)},function(x,b,r){var u=r(218),d=r(181).left,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("reduce",function(T){var $=arguments.length;return d(h(this),T,$,$>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(181).right,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("reduceRight",function(T){var $=arguments.length;return d(h(this),T,$,$>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=u.aTypedArray,h=u.exportTypedArrayMethod,p=Math.floor;h("reverse",function(){for(var T=this,$=d(T).length,A=p($/2),E=0,R;E1?arguments[1]:void 0,1),U=T(j);if(D)return d(I,this,U,B);var V=this.length,z=p(U),G=0;if(z+B>V)throw new A("Wrong length");for(;GC;)M[C]=I[C++];return M},$)},function(x,b,r){var u=r(218),d=r(83).some,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("some",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(4),d=r(85),h=r(7),p=r(30),y=r(189),T=r(218),$=r(190),A=r(191),E=r(27),R=r(192),I=T.aTypedArray,O=T.exportTypedArrayMethod,C=u.Uint16Array,D=C&&d(C.prototype.sort),M=!!D&&!(h(function(){D(new C(2),null)})&&h(function(){D(new C(2),{})})),F=!!D&&!h(function(){if(E)return E<74;if($)return $<67;if(A)return!0;if(R)return R<602;var B=new C(516),U=Array(516),V,z;for(V=0;V<516;V++)z=V%4,B[V]=515-V,U[V]=V-2*z+3;for(D(B,function(G,H){return(G/4|0)-(H/4|0)}),V=0;V<516;V++)if(B[V]!==U[V])return!0}),j=function(B){return function(U,V){return B!==void 0?+B(U,V)||0:V!==V?-1:U!==U?1:U===0&&V===0?1/U>0&&1/V<0?1:-1:U>V}};O("sort",function(U){return U!==void 0&&p(U),F?D(this,U):y(I(this),j(U))},!F||M)},function(x,b,r){var u=r(218),d=r(64),h=r(60),p=u.aTypedArray,y=u.getTypedArrayConstructor,T=u.exportTypedArrayMethod;T("subarray",function(A,E){var R=p(this),I=R.length,O=h(A,I),C=y(R);return new C(R.buffer,R.byteOffset+O*R.BYTES_PER_ELEMENT,d((E===void 0?I:h(E,I))-O))})},function(x,b,r){var u=r(4),d=r(94),h=r(218),p=r(7),y=r(76),T=u.Int8Array,$=h.aTypedArray,A=h.exportTypedArrayMethod,E=[].toLocaleString,R=!!T&&p(function(){E.call(new T(1))}),I=p(function(){return[1,2].toLocaleString()!==new T([1,2]).toLocaleString()})||!p(function(){T.prototype.toLocaleString.call([1,2])});A("toLocaleString",function(){return d(E,R?y($(this)):$(this),y(arguments))},I)},function(x,b,r){var u=r(197),d=r(218),h=d.aTypedArray,p=d.exportTypedArrayMethod,y=d.getTypedArrayConstructor;p("toReversed",function(){return u(h(this),y(this))})},function(x,b,r){var u=r(218),d=r(14),h=r(30),p=r(199),y=u.aTypedArray,T=u.getTypedArrayConstructor,$=u.exportTypedArrayMethod,A=d(u.TypedArrayPrototype.sort);$("toSorted",function(R){R!==void 0&&h(R);var I=y(this),O=p(T(I),I);return A(O,R)})},function(x,b,r){var u=r(218).exportTypedArrayMethod,d=r(7),h=r(4),p=r(14),y=h.Uint8Array,T=y&&y.prototype||{},$=[].toString,A=p([].join);d(function(){$.call({})})&&($=function(){return A(this)});var E=T.toString!==$;u("toString",$,E)},function(x,b,r){var u=r(206),d=r(218),h=r(495),p=r(61),y=r(496),T=d.aTypedArray,$=d.getTypedArrayConstructor,A=d.exportTypedArrayMethod,E=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(R){return R===8}}();A("with",function(R,I){var O=T(this),C=p(R),D=h(O)?y(I):+I;return u(O,$(O),C,D)},!E)},function(x,b,r){var u=r(3),d=r(14),h=r(68),p=String.fromCharCode,y=d("".charAt),T=d(/./.exec),$=d("".slice),A=/^[\da-f]{2}$/i,E=/^[\da-f]{4}$/i;u({global:!0},{unescape:function(I){for(var O=h(I),C="",D=O.length,M=0,F,j;M>(-2*_&6)));return nt}})},function(x){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=b+"+/",u=b+"-_",d=function(h){for(var p={},y=0;y<64;y++)p[h.charAt(y)]=y;return p};x.exports={i2c:r,c2i:d(r),i2cUrl:u,c2iUrl:d(u)}},function(x,b,r){var u=r(3),d=r(4),h=r(23),p=r(14),y=r(8),T=r(7),$=r(68),A=r(361),E=r(544).i2c,R=h("btoa"),I=p("".charAt),O=p("".charCodeAt),C=!!R&&!T(function(){return R("hi")!=="aGk="}),D=C&&!T(function(){R()}),M=C&&T(function(){return R(null)!=="bnVsbA=="}),F=C&&R.length!==1;u({global:!0,bind:!0,enumerable:!0,forced:!C||D||M||F},{btoa:function(B){if(A(arguments.length,1),C)return y(R,d,$(B));for(var U=$(B),V="",z=0,G=E,H,k;I(U,z)||(G="=",z%1);){if(k=O(U,z+=.75),k>255)throw new(h("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");H=H<<8|k,V+=I(G,63&H>>8-z%1*8)}return V}})},function(x,b,r){var u=r(4),d=r(547),h=r(548),p=r(160),y=r(43),T=function(A){if(A&&A.forEach!==p)try{y(A,"forEach",p)}catch(E){A.forEach=p}};for(var $ in d)d[$]&&T(u[$]&&u[$].prototype);T(h)},function(x){x.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(x,b,r){var u=r(42),d=u("span").classList,h=d&&d.constructor&&d.constructor.prototype;x.exports=h===Object.prototype?void 0:h},function(x,b,r){var u=r(4),d=r(547),h=r(548),p=r(168),y=r(43),T=r(82),$=r(33),A=$("iterator"),E=p.values,R=function(O,C){if(O){if(O[A]!==E)try{y(O,A,E)}catch(M){O[A]=E}if(T(O,C,!0),d[C]){for(var D in p)if(O[D]!==p[D])try{y(O,D,p[D])}catch(M){O[D]=p[D]}}}};for(var I in d)R(u[I]&&u[I].prototype,I);R(h,"DOMTokenList")},function(x,b,r){var u=r(3),d=r(23),h=r(229),p=r(7),y=r(71),T=r(11),$=r(44).f,A=r(47),E=r(77),R=r(38),I=r(211),O=r(46),C=r(125),D=r(119),M=r(551),F=r(122),j=r(51),B=r(6),U=r(36),V="DOMException",z="DATA_CLONE_ERR",G=d("Error"),H=d(V)||function(){try{var Mt=d("MessageChannel")||h("worker_threads").MessageChannel;new Mt().port1.postMessage(new WeakMap)}catch(Yt){if(Yt.name===z&&Yt.code===25)return Yt.constructor}}(),k=H&&H.prototype,J=G.prototype,q=j.set,nt=j.getterFor(V),rt="stack"in new G(V),_=function(Mt){return R(M,Mt)&&M[Mt].m?M[Mt].c:0},tt=function(){I(this,et);var Yt=arguments.length,re=D(Yt<1?void 0:arguments[0]),se=D(Yt<2?void 0:arguments[1],"Error"),ee=_(se);if(q(this,{type:V,name:se,message:re,code:ee}),B||(this.name=se,this.message=re,this.code=ee),rt){var fe=new G(re);fe.name=V,$(this,"stack",T(1,F(fe.stack,1)))}},et=tt.prototype=y(J),st=function(Mt){return{enumerable:!0,configurable:!0,get:Mt}},mt=function(Mt){return st(function(){return nt(this)[Mt]})};B&&(E(et,"code",mt("code")),E(et,"message",mt("message")),E(et,"name",mt("name"))),$(et,"constructor",T(1,tt));var gt=p(function(){return!(new H instanceof G)}),xt=gt||p(function(){return J.toString!==C||String(new H(1,2))!=="2: 1"}),yt=gt||p(function(){return new H(1,"DataCloneError").code!==25}),Ut=gt||H[z]!==25||k[z]!==25,Dt=U?xt||yt||Ut:gt;u({global:!0,constructor:!0,forced:Dt},{DOMException:Dt?tt:H});var Xt=d(V),kt=Xt.prototype;xt&&(U||H===Xt)&&A(kt,"toString",C),yt&&B&&H===Xt&&E(kt,"code",st(function(){return _(O(this).name)}));for(var Qt in M)if(R(M,Qt)){var me=M[Qt],ge=me.s,ae=T(6,me.c);R(Xt,ge)||$(Xt,ge,ae),R(kt,ge)||$(kt,ge,ae)}},function(x){x.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},function(x,b,r){var u=r(3),d=r(4),h=r(23),p=r(11),y=r(44).f,T=r(38),$=r(211),A=r(118),E=r(119),R=r(551),I=r(122),O=r(6),C=r(36),D="DOMException",M=h("Error"),F=h(D),j=function(){$(this,B);var tt=arguments.length,et=E(tt<1?void 0:arguments[0]),st=E(tt<2?void 0:arguments[1],"Error"),mt=new F(et,st),gt=new M(et);return gt.name=D,y(mt,"stack",p(1,I(gt.stack,1))),A(mt,this,j),mt},B=j.prototype=F.prototype,U="stack"in new M(D),V="stack"in new F(1,2),z=F&&O&&Object.getOwnPropertyDescriptor(d,D),G=!!z&&!(z.writable&&z.configurable),H=U&&!G&&!V;u({global:!0,constructor:!0,forced:C||H},{DOMException:H?j:F});var k=h(D),J=k.prototype;if(J.constructor!==k){C||y(J,"constructor",p(1,k));for(var q in R)if(T(R,q)){var nt=R[q],rt=nt.s;T(k,rt)||y(k,rt,p(6,nt.c))}}},function(x,b,r){var u=r(23),d=r(82),h="DOMException";d(u(h),h)},function(x,b,r){r(555),r(556)},function(x,b,r){var u=r(3),d=r(4),h=r(360).clear;u({global:!0,bind:!0,enumerable:!0,forced:d.clearImmediate!==h},{clearImmediate:h})},function(x,b,r){var u=r(3),d=r(4),h=r(360).set,p=r(557),y=d.setImmediate?p(h,!1):h;u({global:!0,bind:!0,enumerable:!0,forced:d.setImmediate!==y},{setImmediate:y})},function(x,b,r){var u=r(4),d=r(94),h=r(21),p=r(183),y=r(28),T=r(76),$=r(361),A=u.Function,E=/MSIE .\./.test(y)||p==="BUN"&&function(){var R=u.Bun.version.split(".");return R.length<3||R[0]==="0"&&(R[1]<3||R[1]==="3"&&R[2]==="0")}();x.exports=function(R,I){var O=I?2:1;return E?function(C,D){var M=$(arguments.length,1)>O,F=h(C)?C:A(C),j=M?T(arguments,O):[],B=M?function(){d(F,this,j)}:F;return I?R(B,D):R(B)}:R}},function(x,b,r){var u=r(3),d=r(4),h=r(363),p=r(30),y=r(361),T=r(7),$=r(6),A=T(function(){return $&&Object.getOwnPropertyDescriptor(d,"queueMicrotask").value.length!==1});u({global:!0,enumerable:!0,dontCallGetSet:!0,forced:A},{queueMicrotask:function(R){y(arguments.length,1),h(p(R))}})},function(x,b,r){var u=r(3),d=r(4),h=r(77),p=r(6),y=TypeError,T=Object.defineProperty,$=d.self!==d;try{if(p){var A=Object.getOwnPropertyDescriptor(d,"self");($||!A||!A.get||!A.enumerable)&&h(d,"self",{get:function(){return d},set:function(R){if(this!==d)throw new y("Illegal invocation");T(d,"self",{value:R,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else u({global:!0,simple:!0,forced:$},{self:d})}catch(E){}},function(x,b,r){var u=r(36),d=r(3),h=r(4),p=r(23),y=r(14),T=r(7),$=r(40),A=r(21),E=r(89),R=r(17),I=r(20),O=r(22),C=r(130),D=r(46),M=r(69),F=r(38),j=r(141),B=r(43),U=r(63),V=r(361),z=r(402),G=r(279),H=r(419),k=r(421),J=r(228),q=r(123),nt=r(230),rt=h.Object,_=h.Array,tt=h.Date,et=h.Error,st=h.TypeError,mt=h.PerformanceMark,gt=p("DOMException"),xt=G.Map,yt=G.has,Ut=G.get,Dt=G.set,Xt=H.Set,kt=H.add,Qt=H.has,me=p("Object","keys"),ge=y([].push),ae=y((!0).valueOf),Mt=y(1 .valueOf),Yt=y("".valueOf),re=y(tt.prototype.getTime),se=$("structuredClone"),ee="DataCloneError",fe="Transferring",Pe=function(ft){return!T(function(){var It=new h.Set([7]),Pt=ft(It),Ct=ft(rt(7));return Pt===It||!Pt.has(7)||!I(Ct)||+Ct!=7})&&ft},Me=function(ft,It){return!T(function(){var Pt=new It,Ct=ft({a:Pt,b:Pt});return!(Ct&&Ct.a===Ct.b&&Ct.a instanceof It&&Ct.a.stack===Pt.stack)})},$e=function(ft){return!T(function(){var It=ft(new h.AggregateError([1],se,{cause:3}));return It.name!=="AggregateError"||It.errors[0]!==1||It.message!==se||It.cause!==3})},ce=h.structuredClone,Ae=u||!Me(ce,et)||!Me(ce,gt)||!$e(ce),Te=!ce&&Pe(function(ft){return new mt(se,{detail:ft}).detail}),de=Pe(ce)||Te,bt=function(ft){throw new gt("Uncloneable type: "+ft,ee)},Ft=function(ft,It){throw new gt((It||"Cloning")+" of "+ft+" cannot be properly polyfilled in this engine",ee)},Tt=function(ft,It){return de||Ft(It),de(ft)},qt=function(){var ft;try{ft=new h.DataTransfer}catch(It){try{ft=new h.ClipboardEvent("").clipboardData}catch(Pt){}}return ft&&ft.items&&ft.files?ft:null},te=function(ft,It,Pt){if(yt(It,ft))return Ut(It,ft);var Ct=Pt||M(ft),Nt,Et,ie,we,Rt,zt;if(Ct==="SharedArrayBuffer")de?Nt=de(ft):Nt=ft;else{var jt=h.DataView;!jt&&!A(ft.slice)&&Ft("ArrayBuffer");try{if(A(ft.slice)&&!ft.resizable)Nt=ft.slice(0);else for(Et=ft.byteLength,ie=("maxByteLength"in ft)?{maxByteLength:ft.maxByteLength}:void 0,Nt=new ArrayBuffer(Et,ie),we=new jt(ft),Rt=new jt(Nt),zt=0;zt1&&!R(arguments[1])?D(arguments[1]):void 0,Ct=Pt?Pt.transfer:void 0,Nt,Et;Ct!==void 0&&(Nt=new xt,Et=He(Ct,Nt));var ie=Ht(It,Nt);return Et&&Ze(Et),ie}})},function(x,b,r){r(562),r(563)},function(x,b,r){var u=r(3),d=r(4),h=r(557),p=h(d.setInterval,!0);u({global:!0,bind:!0,forced:d.setInterval!==p},{setInterval:p})},function(x,b,r){var u=r(3),d=r(4),h=r(557),p=h(d.setTimeout,!0);u({global:!0,bind:!0,forced:d.setTimeout!==p},{setTimeout:p})},function(x,b,r){r(565)},function(x,b,r){r(447);var u=r(3),d=r(6),h=r(566),p=r(4),y=r(84),T=r(14),$=r(47),A=r(77),E=r(211),R=r(38),I=r(322),O=r(162),C=r(76),D=r(440).codeAt,M=r(567),F=r(68),j=r(82),B=r(361),U=r(568),V=r(51),z=V.set,G=V.getterFor("URL"),H=U.URLSearchParams,k=U.getState,J=p.URL,q=p.TypeError,nt=p.parseInt,rt=Math.floor,_=Math.pow,tt=T("".charAt),et=T(/./.exec),st=T([].join),mt=T(1 .toString),gt=T([].pop),xt=T([].push),yt=T("".replace),Ut=T([].shift),Dt=T("".split),Xt=T("".slice),kt=T("".toLowerCase),Qt=T([].unshift),me="Invalid authority",ge="Invalid scheme",ae="Invalid host",Mt="Invalid port",Yt=/[a-z]/i,re=/[\d+-.a-z]/i,se=/\d/,ee=/^0x/i,fe=/^[0-7]+$/,Pe=/^\d+$/,Me=/^[\da-f]+$/i,$e=/[\0\t\n\r #%/:<>?@[\\\]^|]/,ce=/[\0\t\n\r #/:<>?@[\\\]^|]/,Ae=/^[\u0000-\u0020]+/,Te=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,de=/[\t\n\r]/g,bt,Ft=function(dt){var wt=Dt(dt,"."),pt,it,Ot,ye,_t,Ie,rn;if(wt.length&&wt[wt.length-1]===""&&wt.length--,pt=wt.length,pt>4)return dt;for(it=[],Ot=0;Ot1&&tt(ye,0)==="0"&&(_t=et(ee,ye)?16:8,ye=Xt(ye,_t===8?1:2)),ye==="")Ie=0;else{if(!et(_t===10?Pe:_t===8?fe:Me,ye))return dt;Ie=nt(ye,_t)}xt(it,Ie)}for(Ot=0;Ot=_(256,5-pt))return null}else if(Ie>255)return null;for(rn=gt(it),Ot=0;Ot6))return;for(Ie=0;an();){if(rn=null,Ie>0)if(an()==="."&&Ie<4)Ot++;else return;if(!et(se,an()))return;for(;et(se,an());){if(gn=nt(an(),10),rn===null)rn=gn;else{if(rn===0)return;rn=rn*10+gn}if(rn>255)return;Ot++}wt[pt]=wt[pt]*256+rn,Ie++,(Ie===2||Ie===4)&&pt++}if(Ie!==4)return;break}else if(an()===":"){if(Ot++,!an())return}else if(an())return;wt[pt++]=ye}if(it!==null)for(mn=pt-it,pt=7;pt!==0&&mn>0;)ot=wt[pt],wt[pt--]=wt[it+mn-1],wt[it+--mn]=ot;else if(pt!==8)return;return wt},qt=function(dt){for(var wt=null,pt=1,it=null,Ot=0,ye=0;ye<8;ye++)dt[ye]!==0?(Ot>pt&&(wt=it,pt=Ot),it=null,Ot=0):(it===null&&(it=ye),++Ot);return Ot>pt?it:wt},te=function(dt){var wt,pt,it,Ot;if(typeof dt=="number"){for(wt=[],pt=0;pt<4;pt++)Qt(wt,dt%256),dt=rt(dt/256);return st(wt,".")}if(typeof dt=="object"){for(wt="",it=qt(dt),pt=0;pt<8;pt++)Ot&&dt[pt]===0||(Ot&&(Ot=!1),it===pt?(wt+=pt?":":"::",Ot=!0):(wt+=mt(dt[pt],16),pt<7&&(wt+=":")));return"["+wt+"]"}return dt},Zt={},Ht=I({},Zt,{" ":1,'"':1,"<":1,">":1,"`":1}),He=I({},Ht,{"#":1,"?":1,"{":1,"}":1}),Ze=I({},He,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),ft=function(dt,wt){var pt=D(dt,0);return pt>32&&pt<127&&!R(wt,dt)?dt:encodeURIComponent(dt)},It={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Pt=function(dt,wt){var pt;return dt.length===2&&et(Yt,tt(dt,0))&&((pt=tt(dt,1))===":"||!wt&&pt==="|")},Ct=function(dt){var wt;return dt.length>1&&Pt(Xt(dt,0,2))&&(dt.length===2||(wt=tt(dt,2))==="/"||wt==="\\"||wt==="?"||wt==="#")},Nt=function(dt){return dt==="."||kt(dt)==="%2e"},Et=function(dt){return dt=kt(dt),dt===".."||dt==="%2e."||dt===".%2e"||dt==="%2e%2e"},ie={},we={},Rt={},zt={},jt={},Wt={},ue={},Ee={},Ve={},Je={},nn={},pn={},Gn={},Yr={},Ya={},ga={},yr={},Vn={},Ha={},ir={},Wn={},va=function(dt,wt,pt){var it=F(dt),Ot,ye,_t;if(wt){if(ye=this.parse(it),ye)throw new q(ye);this.searchParams=null}else{if(pt!==void 0&&(Ot=new va(pt,!0)),ye=this.parse(it,null,Ot),ye)throw new q(ye);_t=k(new H),_t.bindURL(this),this.searchParams=_t}};va.prototype={type:"URL",parse:function(dt,wt,pt){var it=this,Ot=wt||ie,ye=0,_t="",Ie=!1,rn=!1,gn=!1,mn,ot,an,Fn;for(dt=F(dt),wt||(it.scheme="",it.username="",it.password="",it.host=null,it.port=null,it.path=[],it.query=null,it.fragment=null,it.cannotBeABaseURL=!1,dt=yt(dt,Ae,""),dt=yt(dt,Te,"$1")),dt=yt(dt,de,""),mn=O(dt);ye<=mn.length;){switch(ot=mn[ye],Ot){case ie:if(ot&&et(Yt,ot))_t+=kt(ot),Ot=we;else{if(wt)return ge;Ot=Rt;continue}break;case we:if(ot&&(et(re,ot)||ot==="+"||ot==="-"||ot==="."))_t+=kt(ot);else if(ot===":"){if(wt&&(it.isSpecial()!==R(It,_t)||_t==="file"&&(it.includesCredentials()||it.port!==null)||it.scheme==="file"&&!it.host))return;if(it.scheme=_t,wt){it.isSpecial()&&It[it.scheme]===it.port&&(it.port=null);return}_t="",it.scheme==="file"?Ot=Yr:it.isSpecial()&&pt&&pt.scheme===it.scheme?Ot=zt:it.isSpecial()?Ot=Ee:mn[ye+1]==="/"?(Ot=jt,ye++):(it.cannotBeABaseURL=!0,xt(it.path,""),Ot=Ha)}else{if(wt)return ge;_t="",Ot=Rt,ye=0;continue}break;case Rt:if(!pt||pt.cannotBeABaseURL&&ot!=="#")return ge;if(pt.cannotBeABaseURL&&ot==="#"){it.scheme=pt.scheme,it.path=C(pt.path),it.query=pt.query,it.fragment="",it.cannotBeABaseURL=!0,Ot=Wn;break}Ot=pt.scheme==="file"?Yr:Wt;continue;case zt:if(ot==="/"&&mn[ye+1]==="/")Ot=Ve,ye++;else{Ot=Wt;continue}break;case jt:if(ot==="/"){Ot=Je;break}else{Ot=Vn;continue}case Wt:if(it.scheme=pt.scheme,ot===bt)it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,it.path=C(pt.path),it.query=pt.query;else if(ot==="/"||ot==="\\"&&it.isSpecial())Ot=ue;else if(ot==="?")it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,it.path=C(pt.path),it.query="",Ot=ir;else if(ot==="#")it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,it.path=C(pt.path),it.query=pt.query,it.fragment="",Ot=Wn;else{it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,it.path=C(pt.path),it.path.length--,Ot=Vn;continue}break;case ue:if(it.isSpecial()&&(ot==="/"||ot==="\\"))Ot=Ve;else if(ot==="/")Ot=Je;else{it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,Ot=Vn;continue}break;case Ee:if(Ot=Ve,ot!=="/"||tt(_t,ye+1)!=="/")continue;ye++;break;case Ve:if(ot!=="/"&&ot!=="\\"){Ot=Je;continue}break;case Je:if(ot==="@"){Ie&&(_t="%40"+_t),Ie=!0,an=O(_t);for(var en=0;en65535)return Mt;it.port=it.isSpecial()&&Bn===It[it.scheme]?null:Bn,_t=""}if(wt)return;Ot=yr;continue}else return Mt;break;case Yr:if(it.scheme="file",ot==="/"||ot==="\\")Ot=Ya;else if(pt&&pt.scheme==="file")switch(ot){case bt:it.host=pt.host,it.path=C(pt.path),it.query=pt.query;break;case"?":it.host=pt.host,it.path=C(pt.path),it.query="",Ot=ir;break;case"#":it.host=pt.host,it.path=C(pt.path),it.query=pt.query,it.fragment="",Ot=Wn;break;default:Ct(st(C(mn,ye),""))||(it.host=pt.host,it.path=C(pt.path),it.shortenPath()),Ot=Vn;continue}else{Ot=Vn;continue}break;case Ya:if(ot==="/"||ot==="\\"){Ot=ga;break}pt&&pt.scheme==="file"&&!Ct(st(C(mn,ye),""))&&(Pt(pt.path[0],!0)?xt(it.path,pt.path[0]):it.host=pt.host),Ot=Vn;continue;case ga:if(ot===bt||ot==="/"||ot==="\\"||ot==="?"||ot==="#"){if(!wt&&Pt(_t))Ot=Vn;else if(_t===""){if(it.host="",wt)return;Ot=yr}else{if(Fn=it.parseHost(_t),Fn)return Fn;if(it.host==="localhost"&&(it.host=""),wt)return;_t="",Ot=yr}continue}else _t+=ot;break;case yr:if(it.isSpecial()){if(Ot=Vn,ot!=="/"&&ot!=="\\")continue}else if(!wt&&ot==="?")it.query="",Ot=ir;else if(!wt&&ot==="#")it.fragment="",Ot=Wn;else if(ot!==bt&&(Ot=Vn,ot!=="/"))continue;break;case Vn:if(ot===bt||ot==="/"||ot==="\\"&&it.isSpecial()||!wt&&(ot==="?"||ot==="#")){if(Et(_t)?(it.shortenPath(),ot!=="/"&&!(ot==="\\"&&it.isSpecial())&&xt(it.path,"")):Nt(_t)?ot!=="/"&&!(ot==="\\"&&it.isSpecial())&&xt(it.path,""):(it.scheme==="file"&&!it.path.length&&Pt(_t)&&(it.host&&(it.host=""),_t=tt(_t,0)+":"),xt(it.path,_t)),_t="",it.scheme==="file"&&(ot===bt||ot==="?"||ot==="#"))for(;it.path.length>1&&it.path[0]==="";)Ut(it.path);ot==="?"?(it.query="",Ot=ir):ot==="#"&&(it.fragment="",Ot=Wn)}else _t+=ft(ot,He);break;case Ha:ot==="?"?(it.query="",Ot=ir):ot==="#"?(it.fragment="",Ot=Wn):ot!==bt&&(it.path[0]+=ft(ot,Zt));break;case ir:!wt&&ot==="#"?(it.fragment="",Ot=Wn):ot!==bt&&(ot==="'"&&it.isSpecial()?it.query+="%27":ot==="#"?it.query+="%23":it.query+=ft(ot,Zt));break;case Wn:ot!==bt&&(it.fragment+=ft(ot,Ht));break}ye++}},parseHost:function(dt){var wt,pt,it;if(tt(dt,0)==="["){if(tt(dt,dt.length-1)!=="]"||(wt=Tt(Xt(dt,1,-1)),!wt))return ae;this.host=wt}else if(this.isSpecial()){if(dt=M(dt),et($e,dt)||(wt=Ft(dt),wt===null))return ae;this.host=wt}else{if(et(ce,dt))return ae;for(wt="",pt=O(dt),it=0;it1?arguments[1]:void 0,Ot=z(pt,new va(wt,!1,it));d||(pt.href=Ot.serialize(),pt.origin=Ot.getOrigin(),pt.protocol=Ot.getProtocol(),pt.username=Ot.getUsername(),pt.password=Ot.getPassword(),pt.host=Ot.getHost(),pt.hostname=Ot.getHostname(),pt.port=Ot.getPort(),pt.pathname=Ot.getPathname(),pt.search=Ot.getSearch(),pt.searchParams=Ot.getSearchParams(),pt.hash=Ot.getHash())},Tn=xr.prototype,wn=function(dt,wt){return{get:function(){return G(this)[dt]()},set:wt&&function(pt){return G(this)[wt](pt)},configurable:!0,enumerable:!0}};if(d&&(A(Tn,"href",wn("serialize","setHref")),A(Tn,"origin",wn("getOrigin")),A(Tn,"protocol",wn("getProtocol","setProtocol")),A(Tn,"username",wn("getUsername","setUsername")),A(Tn,"password",wn("getPassword","setPassword")),A(Tn,"host",wn("getHost","setHost")),A(Tn,"hostname",wn("getHostname","setHostname")),A(Tn,"port",wn("getPort","setPort")),A(Tn,"pathname",wn("getPathname","setPathname")),A(Tn,"search",wn("getSearch","setSearch")),A(Tn,"searchParams",wn("getSearchParams")),A(Tn,"hash",wn("getHash","setHash"))),$(Tn,"toJSON",function(){return G(this).serialize()},{enumerable:!0}),$(Tn,"toString",function(){return G(this).serialize()},{enumerable:!0}),J){var Wa=J.createObjectURL,Ka=J.revokeObjectURL;Wa&&$(xr,"createObjectURL",y(Wa,J)),Ka&&$(xr,"revokeObjectURL",y(Ka,J))}j(xr,"URL"),u({global:!0,constructor:!0,forced:!h,sham:!d},{URL:xr})},function(x,b,r){var u=r(7),d=r(33),h=r(6),p=r(36),y=d("iterator");x.exports=!u(function(){var T=new URL("b?a=1&b=2&c=3","https://a"),$=T.searchParams,A=new URLSearchParams("a=1&a=2&b=3"),E="";return T.pathname="c%20d",$.forEach(function(R,I){$.delete("b"),E+=I+R}),A.delete("a",2),A.delete("b",void 0),p&&(!T.toJSON||!A.has("a",1)||A.has("a",2)||!A.has("a",void 0)||A.has("b"))||!$.size&&(p||!h)||!$.sort||T.href!=="https://a/c%20d?a=1&c=3"||$.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!$[y]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("https://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("https://a#\u0431").hash!=="#%D0%B1"||E!=="a1c3"||new URL("https://x",void 0).host!=="x"})},function(x,b,r){var u=r(14),d=2147483647,h=36,p=1,y=26,T=38,$=700,A=72,E=128,R="-",I=/[^\0-\u007E]/,O=/[.\u3002\uFF0E\uFF61]/g,C="Overflow: input needs wider integers to process",D=h-p,M=RangeError,F=u(O.exec),j=Math.floor,B=String.fromCharCode,U=u("".charCodeAt),V=u([].join),z=u([].push),G=u("".replace),H=u("".split),k=u("".toLowerCase),J=function(_){for(var tt=[],et=0,st=_.length;et=55296&&mt<=56319&&et>1,_+=j(_/tt);_>D*y>>1;)_=j(_/D),st+=h;return j(st+(D+1)*_/(_+T))},rt=function(_){var tt=[];_=J(_);var et=_.length,st=E,mt=0,gt=A,xt,yt;for(xt=0;xt<_.length;xt++)yt=_[xt],yt<128&&z(tt,B(yt));var Ut=tt.length,Dt=Ut;for(Ut&&z(tt,R);Dt=st&&ytj((d-mt)/kt))throw new M(C);for(mt+=(Xt-st)*kt,st=Xt,xt=0;xt<_.length;xt++){if(yt=_[xt],ytd)throw new M(C);if(yt===st){for(var Qt=mt,me=h;;){var ge=me<=gt?p:me>=gt+y?y:me-gt;if(Qt0&&Rt&jt;jt>>=1)zt++;return zt},qt=function(Rt){var zt=null;switch(Rt.length){case 1:zt=Rt[0];break;case 2:zt=(Rt[0]&31)<<6|Rt[1]&63;break;case 3:zt=(Rt[0]&15)<<12|(Rt[1]&63)<<6|Rt[2]&63;break;case 4:zt=(Rt[0]&7)<<18|(Rt[1]&63)<<12|(Rt[2]&63)<<6|Rt[3]&63;break}return zt>1114111?null:zt},te=function(Rt){Rt=fe(Rt,Te," ");for(var zt=Rt.length,jt="",Wt=0;Wtzt){jt+="%",Wt++;continue}var Ee=Ft(Rt,Wt+1);if(Ee!==Ee){jt+=ue,Wt++;continue}Wt+=2;var Ve=Tt(Ee);if(Ve===0)ue=ae(Ee);else{if(Ve===1||Ve>4){jt+=de,Wt++;continue}for(var Je=[Ee],nn=1;nnzt||re(Rt,Wt)!=="%"));){var pn=Ft(Rt,Wt+1);if(pn!==pn){Wt+=3;break}if(pn>191||pn<128)break;ee(Je,pn),Wt+=2,nn++}if(Je.length!==Ve){jt+=de;continue}var Gn=qt(Je);Gn===null?jt+=de:ue=Mt(Gn)}}jt+=ue,Wt++}return jt},Zt=/[!'()~]|%20/g,Ht={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},He=function(Rt){return Ht[Rt]},Ze=function(Rt){return fe(ge(Rt),Zt,He)},ft=C(function(zt,jt){gt(this,{type:mt,target:xt(zt).entries,index:0,kind:jt})},st,function(){var zt=yt(this),jt=zt.target,Wt=zt.index++;if(!jt||Wt>=jt.length)return zt.target=null,nt(void 0,!0);var ue=jt[Wt];switch(zt.kind){case"keys":return nt(ue.key,!1);case"values":return nt(ue.value,!1)}return nt([ue.key,ue.value],!1)},!0),It=function(Rt){this.entries=[],this.url=null,Rt!==void 0&&(z(Rt)?this.parseObject(Rt):this.parseQuery(typeof Rt=="string"?re(Rt,0)==="?"?ce(Rt,1):Rt:G(Rt)))};It.prototype={type:st,bindURL:function(Rt){this.url=Rt,this.update()},parseObject:function(Rt){var zt=this.entries,jt=q(Rt),Wt,ue,Ee,Ve,Je,nn,pn;if(jt)for(Wt=J(Rt,jt),ue=Wt.next;!(Ee=y(ue,Wt)).done;){if(Ve=J(V(Ee.value)),Je=Ve.next,(nn=y(Je,Ve)).done||(pn=y(Je,Ve)).done||!y(Je,Ve).done)throw new me("Expected sequence with length 2");ee(zt,{key:G(nn.value),value:G(pn.value)})}else for(var Gn in Rt)j(Rt,Gn)&&ee(zt,{key:Gn,value:G(Rt[Gn])})},parseQuery:function(Rt){if(Rt)for(var zt=this.entries,jt=$e(Rt,"&"),Wt=0,ue,Ee;Wt0?arguments[0]:void 0,jt=gt(this,new It(zt));$||(this.size=jt.entries.length)},Ct=Pt.prototype;if(I(Ct,{append:function(zt,jt){var Wt=xt(this);rt(arguments.length,2),ee(Wt.entries,{key:G(zt),value:G(jt)}),$||this.length++,Wt.updateURL()},delete:function(Rt){for(var zt=xt(this),jt=rt(arguments.length,1),Wt=zt.entries,ue=G(Rt),Ee=jt<2?void 0:arguments[1],Ve=Ee===void 0?Ee:G(Ee),Je=0;JeWt.key?1:-1}),zt.updateURL()},forEach:function(zt){for(var jt=xt(this).entries,Wt=B(zt,arguments.length>1?arguments[1]:void 0),ue=0,Ee;ue1?ie(arguments[1]):{})}}),F(Dt)){var we=function(zt){return M(this,kt),new Dt(zt,arguments.length>1?ie(arguments[1]):{})};kt.constructor=we,we.prototype=kt,u({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:we})}}x.exports={URLSearchParams:Pt,getState:xt}},function(x,b,r){var u=r(3),d=r(23),h=r(7),p=r(361),y=r(68),T=r(566),$=d("URL"),A=T&&h(function(){$.canParse()}),E=h(function(){return $.canParse.length!==1});u({target:"URL",stat:!0,forced:!A||E},{canParse:function(I){var O=p(arguments.length,1),C=y(I),D=O<2||arguments[1]===void 0?void 0:y(arguments[1]);try{return!!new $(C,D)}catch(M){return!1}}})},function(x,b,r){var u=r(3),d=r(23),h=r(361),p=r(68),y=r(566),T=d("URL");u({target:"URL",stat:!0,forced:!y},{parse:function(A){var E=h(arguments.length,1),R=p(A),I=E<2||arguments[1]===void 0?void 0:p(arguments[1]);try{return new T(R,I)}catch(O){return null}}})},function(x,b,r){var u=r(3),d=r(8);u({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return d(URL.prototype.toString,this)}})},function(x,b,r){r(568)},function(x,b,r){var u=r(47),d=r(14),h=r(68),p=r(361),y=URLSearchParams,T=y.prototype,$=d(T.append),A=d(T.delete),E=d(T.forEach),R=d([].push),I=new y("a=1&a=2&b=3");I.delete("a",1),I.delete("b",void 0),I+""!="a=2"&&u(T,"delete",function(O){var C=arguments.length,D=C<2?void 0:arguments[1];if(C&&D===void 0)return A(this,O);var M=[];E(this,function(H,k){R(M,{key:k,value:H})}),p(C,1);for(var F=h(O),j=h(D),B=0,U=0,V=!1,z=M.length,G;B=W&&(W=X+1);!(Q=L[W])&&++W=0;)(s=a[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function xt(t){t||(t=yt);function e(v,m){return v&&m?t(v.__data__,m.__data__):!v-!m}for(var n=this._groups,a=n.length,i=new Array(a),o=0;oe?1:t>=e?0:NaN}function Ut(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Dt(){return Array.from(this)}function Xt(){for(var t=this._groups,e=0,n=t.length;e=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),ae.hasOwnProperty(e)?{space:ae[e],local:t}:t}function Yt(t){return function(){this.removeAttribute(t)}}function re(t){return function(){this.removeAttributeNS(t.space,t.local)}}function se(t,e){return function(){this.setAttribute(t,e)}}function ee(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function fe(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function Pe(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function Me(t,e){var n=Mt(t);if(arguments.length<2){var a=this.node();return n.local?a.getAttributeNS(n.space,n.local):a.getAttribute(n)}return this.each((e==null?n.local?re:Yt:typeof e=="function"?n.local?Pe:fe:n.local?ee:se)(n,e))}function $e(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function ce(t){return function(){this.style.removeProperty(t)}}function Ae(t,e,n){return function(){this.style.setProperty(t,e,n)}}function Te(t,e,n){return function(){var a=e.apply(this,arguments);a==null?this.style.removeProperty(t):this.style.setProperty(t,a,n)}}function de(t,e,n){return arguments.length>1?this.each((e==null?ce:typeof e=="function"?Te:Ae)(t,e,n==null?"":n)):bt(this.node(),t)}function bt(t,e){return t.style.getPropertyValue(e)||$e(t).getComputedStyle(t,null).getPropertyValue(e)}function Ft(t){return function(){delete this[t]}}function Tt(t,e){return function(){this[t]=e}}function qt(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function te(t,e){return arguments.length>1?this.each((e==null?Ft:typeof e=="function"?qt:Tt)(t,e)):this.node()[t]}function Zt(t){return t.trim().split(/^|\s+/)}function Ht(t){return t.classList||new He(t)}function He(t){this._node=t,this._names=Zt(t.getAttribute("class")||"")}He.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Ze(t,e){for(var n=Ht(t),a=-1,i=e.length;++a=0&&(n=e.slice(a+1),e=e.slice(0,a)),{type:e,name:n}})}function Wa(t){return function(){var e=this.__on;if(e){for(var n=0,a=-1,i=e.length,o;n(t(o=new Date(+o)),o),i.ceil=o=>(t(o=new Date(o-1)),e(o,1),t(o),o),i.round=o=>{const s=i(o),l=i.ceil(o);return o-s(e(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,l)=>{const c=[];if(o=i.ceil(o),l=l==null?1:Math.floor(l),!(o0))return c;let f;do c.push(f=new Date(+o)),e(o,l),t(o);while(fen(s=>{if(s>=s)for(;t(s),!o(s);)s.setTime(s-1)},(s,l)=>{if(s>=s)if(l<0)for(;++l<=0;)for(;e(s,-1),!o(s););else for(;--l>=0;)for(;e(s,1),!o(s););}),n&&(i.count=(o,s)=>(an.setTime(+o),Fn.setTime(+s),t(an),t(Fn),Math.floor(n(an,Fn))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(a?s=>a(s)%o===0:s=>i.count(0,s)%o===0):i)),i}const Xn=1e3,In=Xn*60,Bn=In*60,or=Bn*24,_i=or*7,Ps=or*30,to=or*365;function Rr(t){return en(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*In)/_i)}const Za=Rr(0),Ja=Rr(1),Rf=Rr(2),If=Rr(3),Hr=Rr(4),Of=Rr(5),Cf=Rr(6),I0=Za.range,O0=Ja.range,C0=Rf.range,P0=If.range,w0=Hr.range,M0=Of.range,D0=Cf.range;function Ir(t){return en(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/_i)}const ka=Ir(0),Qa=Ir(1),Pf=Ir(2),wf=Ir(3),Wr=Ir(4),Mf=Ir(5),Df=Ir(6),L0=ka.range,N0=Qa.range,F0=Pf.range,B0=wf.range,U0=Wr.range,z0=Mf.range,j0=Df.range,pa=en(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*In)/or,t=>t.getDate()-1),G0=pa.range,qa=en(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/or,t=>t.getUTCDate()-1),V0=qa.range,ws=en(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/or,t=>Math.floor(t/or)),X0=ws.range,sr=en(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());sr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:en(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});const Y0=sr.range,lr=en(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());lr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:en(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});const H0=lr.range;function eo(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function no(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function ma(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function Lf(t){var e=t.dateTime,n=t.date,a=t.time,i=t.periods,o=t.days,s=t.shortDays,l=t.months,c=t.shortMonths,f=ya(i),g=xa(i),v=ya(o),m=xa(o),S=ya(s),P=xa(s),N=ya(l),L=xa(l),w=ya(c),X=xa(c),W={a:At,A:Vt,b:Bt,B:Kt,c:null,d:Bs,e:Bs,f:rd,g:hd,G:vd,H:td,I:ed,j:nd,L:Us,m:ad,M:id,p:ne,q:le,Q:Ys,s:Hs,S:od,u:sd,U:ld,V:cd,w:ud,W:fd,x:null,X:null,y:dd,Y:gd,Z:pd,"%":Xs},Y={a:be,A:Oe,b:Ce,B:Ye,c:null,d:js,e:js,f:Td,g:Pd,G:Md,H:md,I:yd,j:xd,L:Gs,m:$d,M:Sd,p:Fe,q:hn,Q:Ys,s:Hs,S:Ad,u:Ed,U:bd,V:Rd,w:Id,W:Od,x:null,X:null,y:Cd,Y:wd,Z:Dd,"%":Xs},Q={a:ct,A:lt,b:Gt,B:vt,c:Z,d:Ns,e:Ns,f:kf,g:Ls,G:Ds,H:Fs,I:Fs,j:Wf,L:Jf,m:Hf,M:Kf,p:St,q:Yf,Q:qf,s:_f,S:Zf,u:zf,U:jf,V:Gf,w:Uf,W:Vf,x:$t,X:ut,y:Ls,Y:Ds,Z:Xf,"%":Qf};W.x=K(n,W),W.X=K(a,W),W.c=K(e,W),Y.x=K(n,Y),Y.X=K(a,Y),Y.c=K(e,Y);function K(Jt,xe){return function(Re){var Lt=[],un=-1,Ge=0,Cn=Jt.length,Pn,pe,fn;for(Re instanceof Date||(Re=new Date(+Re));++un53)return null;"w"in Lt||(Lt.w=1),"Z"in Lt?(Ge=no(ma(Lt.y,0,1)),Cn=Ge.getUTCDay(),Ge=Cn>4||Cn===0?Qa.ceil(Ge):Qa(Ge),Ge=qa.offset(Ge,(Lt.V-1)*7),Lt.y=Ge.getUTCFullYear(),Lt.m=Ge.getUTCMonth(),Lt.d=Ge.getUTCDate()+(Lt.w+6)%7):(Ge=eo(ma(Lt.y,0,1)),Cn=Ge.getDay(),Ge=Cn>4||Cn===0?Ja.ceil(Ge):Ja(Ge),Ge=pa.offset(Ge,(Lt.V-1)*7),Lt.y=Ge.getFullYear(),Lt.m=Ge.getMonth(),Lt.d=Ge.getDate()+(Lt.w+6)%7)}else("W"in Lt||"U"in Lt)&&("w"in Lt||(Lt.w="u"in Lt?Lt.u%7:"W"in Lt?1:0),Cn="Z"in Lt?no(ma(Lt.y,0,1)).getUTCDay():eo(ma(Lt.y,0,1)).getDay(),Lt.m=0,Lt.d="W"in Lt?(Lt.w+6)%7+Lt.W*7-(Cn+5)%7:Lt.w+Lt.U*7-(Cn+6)%7);return"Z"in Lt?(Lt.H+=Lt.Z/100|0,Lt.M+=Lt.Z%100,no(Lt)):eo(Lt)}}function ht(Jt,xe,Re,Lt){for(var un=0,Ge=xe.length,Cn=Re.length,Pn,pe;un=Cn)return-1;if(Pn=xe.charCodeAt(un++),Pn===37){if(Pn=xe.charAt(un++),pe=Q[Pn in Ms?xe.charAt(un++):Pn],!pe||(Lt=pe(Jt,Re,Lt))<0)return-1}else if(Pn!=Re.charCodeAt(Lt++))return-1}return Lt}function St(Jt,xe,Re){var Lt=f.exec(xe.slice(Re));return Lt?(Jt.p=g.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function ct(Jt,xe,Re){var Lt=S.exec(xe.slice(Re));return Lt?(Jt.w=P.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function lt(Jt,xe,Re){var Lt=v.exec(xe.slice(Re));return Lt?(Jt.w=m.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function Gt(Jt,xe,Re){var Lt=w.exec(xe.slice(Re));return Lt?(Jt.m=X.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function vt(Jt,xe,Re){var Lt=N.exec(xe.slice(Re));return Lt?(Jt.m=L.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function Z(Jt,xe,Re){return ht(Jt,e,xe,Re)}function $t(Jt,xe,Re){return ht(Jt,n,xe,Re)}function ut(Jt,xe,Re){return ht(Jt,a,xe,Re)}function At(Jt){return s[Jt.getDay()]}function Vt(Jt){return o[Jt.getDay()]}function Bt(Jt){return c[Jt.getMonth()]}function Kt(Jt){return l[Jt.getMonth()]}function ne(Jt){return i[+(Jt.getHours()>=12)]}function le(Jt){return 1+~~(Jt.getMonth()/3)}function be(Jt){return s[Jt.getUTCDay()]}function Oe(Jt){return o[Jt.getUTCDay()]}function Ce(Jt){return c[Jt.getUTCMonth()]}function Ye(Jt){return l[Jt.getUTCMonth()]}function Fe(Jt){return i[+(Jt.getUTCHours()>=12)]}function hn(Jt){return 1+~~(Jt.getUTCMonth()/3)}return{format:function(Jt){var xe=K(Jt+="",W);return xe.toString=function(){return Jt},xe},parse:function(Jt){var xe=at(Jt+="",!1);return xe.toString=function(){return Jt},xe},utcFormat:function(Jt){var xe=K(Jt+="",Y);return xe.toString=function(){return Jt},xe},utcParse:function(Jt){var xe=at(Jt+="",!0);return xe.toString=function(){return Jt},xe}}}var Ms={"-":"",_:" ",0:"0"},yn=/^\s*\d+/,Nf=/^%/,Ff=/[\\^$*+?|[\]().{}]/g;function Ne(t,e,n){var a=t<0?"-":"",i=(a?-t:t)+"",o=i.length;return a+(o[e.toLowerCase(),n]))}function Uf(t,e,n){var a=yn.exec(e.slice(n,n+1));return a?(t.w=+a[0],n+a[0].length):-1}function zf(t,e,n){var a=yn.exec(e.slice(n,n+1));return a?(t.u=+a[0],n+a[0].length):-1}function jf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.U=+a[0],n+a[0].length):-1}function Gf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.V=+a[0],n+a[0].length):-1}function Vf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.W=+a[0],n+a[0].length):-1}function Ds(t,e,n){var a=yn.exec(e.slice(n,n+4));return a?(t.y=+a[0],n+a[0].length):-1}function Ls(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.y=+a[0]+(+a[0]>68?1900:2e3),n+a[0].length):-1}function Xf(t,e,n){var a=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return a?(t.Z=a[1]?0:-(a[2]+(a[3]||"00")),n+a[0].length):-1}function Yf(t,e,n){var a=yn.exec(e.slice(n,n+1));return a?(t.q=a[0]*3-3,n+a[0].length):-1}function Hf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.m=a[0]-1,n+a[0].length):-1}function Ns(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.d=+a[0],n+a[0].length):-1}function Wf(t,e,n){var a=yn.exec(e.slice(n,n+3));return a?(t.m=0,t.d=+a[0],n+a[0].length):-1}function Fs(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.H=+a[0],n+a[0].length):-1}function Kf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.M=+a[0],n+a[0].length):-1}function Zf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.S=+a[0],n+a[0].length):-1}function Jf(t,e,n){var a=yn.exec(e.slice(n,n+3));return a?(t.L=+a[0],n+a[0].length):-1}function kf(t,e,n){var a=yn.exec(e.slice(n,n+6));return a?(t.L=Math.floor(a[0]/1e3),n+a[0].length):-1}function Qf(t,e,n){var a=Nf.exec(e.slice(n,n+1));return a?n+a[0].length:-1}function qf(t,e,n){var a=yn.exec(e.slice(n));return a?(t.Q=+a[0],n+a[0].length):-1}function _f(t,e,n){var a=yn.exec(e.slice(n));return a?(t.s=+a[0],n+a[0].length):-1}function Bs(t,e){return Ne(t.getDate(),e,2)}function td(t,e){return Ne(t.getHours(),e,2)}function ed(t,e){return Ne(t.getHours()%12||12,e,2)}function nd(t,e){return Ne(1+pa.count(sr(t),t),e,3)}function Us(t,e){return Ne(t.getMilliseconds(),e,3)}function rd(t,e){return Us(t,e)+"000"}function ad(t,e){return Ne(t.getMonth()+1,e,2)}function id(t,e){return Ne(t.getMinutes(),e,2)}function od(t,e){return Ne(t.getSeconds(),e,2)}function sd(t){var e=t.getDay();return e===0?7:e}function ld(t,e){return Ne(Za.count(sr(t)-1,t),e,2)}function zs(t){var e=t.getDay();return e>=4||e===0?Hr(t):Hr.ceil(t)}function cd(t,e){return t=zs(t),Ne(Hr.count(sr(t),t)+(sr(t).getDay()===4),e,2)}function ud(t){return t.getDay()}function fd(t,e){return Ne(Ja.count(sr(t)-1,t),e,2)}function dd(t,e){return Ne(t.getFullYear()%100,e,2)}function hd(t,e){return t=zs(t),Ne(t.getFullYear()%100,e,2)}function gd(t,e){return Ne(t.getFullYear()%1e4,e,4)}function vd(t,e){var n=t.getDay();return t=n>=4||n===0?Hr(t):Hr.ceil(t),Ne(t.getFullYear()%1e4,e,4)}function pd(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Ne(e/60|0,"0",2)+Ne(e%60,"0",2)}function js(t,e){return Ne(t.getUTCDate(),e,2)}function md(t,e){return Ne(t.getUTCHours(),e,2)}function yd(t,e){return Ne(t.getUTCHours()%12||12,e,2)}function xd(t,e){return Ne(1+qa.count(lr(t),t),e,3)}function Gs(t,e){return Ne(t.getUTCMilliseconds(),e,3)}function Td(t,e){return Gs(t,e)+"000"}function $d(t,e){return Ne(t.getUTCMonth()+1,e,2)}function Sd(t,e){return Ne(t.getUTCMinutes(),e,2)}function Ad(t,e){return Ne(t.getUTCSeconds(),e,2)}function Ed(t){var e=t.getUTCDay();return e===0?7:e}function bd(t,e){return Ne(ka.count(lr(t)-1,t),e,2)}function Vs(t){var e=t.getUTCDay();return e>=4||e===0?Wr(t):Wr.ceil(t)}function Rd(t,e){return t=Vs(t),Ne(Wr.count(lr(t),t)+(lr(t).getUTCDay()===4),e,2)}function Id(t){return t.getUTCDay()}function Od(t,e){return Ne(Qa.count(lr(t)-1,t),e,2)}function Cd(t,e){return Ne(t.getUTCFullYear()%100,e,2)}function Pd(t,e){return t=Vs(t),Ne(t.getUTCFullYear()%100,e,2)}function wd(t,e){return Ne(t.getUTCFullYear()%1e4,e,4)}function Md(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Wr(t):Wr.ceil(t),Ne(t.getUTCFullYear()%1e4,e,4)}function Dd(){return"+0000"}function Xs(){return"%"}function Ys(t){return+t}function Hs(t){return Math.floor(+t/1e3)}var Kr,ro,Ws,ao,Ks;Ld({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Ld(t){return Kr=Lf(t),ro=Kr.format,Ws=Kr.parse,ao=Kr.utcFormat,Ks=Kr.utcParse,Kr}var Nd=Object.defineProperty,Zs=Object.getOwnPropertySymbols,Fd=Object.prototype.hasOwnProperty,Bd=Object.prototype.propertyIsEnumerable,Js=(t,e,n)=>e in t?Nd(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Qe=(t,e)=>{for(var n in e||(e={}))Fd.call(e,n)&&Js(t,n,e[n]);if(Zs)for(var n of Zs(e))Bd.call(e,n)&&Js(t,n,e[n]);return t};const Se={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},je={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},_a={area:"bb-area",areas:"bb-areas"},dn={axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},Kn={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},cr={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},$n={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},io={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},Or={dragarea:"bb-dragarea",INCLUDED:"_included_"},Ta={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},Un={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},We={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},ur={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},Zn={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},qe={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},on={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},Tr={level:"bb-level",levels:"bb-levels"},ks={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},$a={region:"bb-region",regions:"bb-regions"},tn={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},sn={shape:"bb-shape",shapes:"bb-shapes"},Qs={brush:"bb-brush",subchart:"bb-subchart"},On={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},ti={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},qs={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},oo={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var Ue=Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe({},Se),je),_a),dn),Kn),cr),$n),io),Or),Un),We),ur),Zn),qe),Ta),on),ks),$a),tn),sn),Qs),On),ti),qs),oo),Ud={boost_useCssRule:!1,boost_useWorker:!1},zd={color_pattern:[],color_tiles:void 0,color_threshold:{},color_onover:void 0},jd={legend_contents_bindto:void 0,legend_contents_template:"{=TITLE}",legend_equally:!1,legend_hide:!1,legend_inset_anchor:"top-left",legend_inset_x:10,legend_inset_y:0,legend_inset_step:void 0,legend_item_interaction:!0,legend_item_dblclick:!1,legend_item_onclick:void 0,legend_item_onover:void 0,legend_item_onout:void 0,legend_item_tile_width:10,legend_item_tile_height:10,legend_item_tile_r:5,legend_item_tile_type:"rectangle",legend_format:void 0,legend_padding:0,legend_position:"bottom",legend_show:!0,legend_tooltip:!1,legend_usePoint:!1},Gd={bindto:"#chart",background:{},clipPath:!0,svg_classname:void 0,size_width:void 0,size_height:void 0,padding:!0,padding_mode:void 0,padding_left:void 0,padding_right:void 0,padding_top:void 0,padding_bottom:void 0,resize_auto:!0,resize_timer:!0,onclick:void 0,onover:void 0,onout:void 0,onresize:void 0,onresized:void 0,onbeforeinit:void 0,oninit:void 0,onafterinit:void 0,onrendered:void 0,transition_duration:250,plugins:[],render:{},regions:[]},Vd={title_text:void 0,title_padding:{top:0,right:0,bottom:0,left:0},title_position:"center"},Xd={tooltip_show:!0,tooltip_doNotHide:!1,tooltip_grouped:!0,tooltip_format_title:void 0,tooltip_format_name:void 0,tooltip_format_value:void 0,tooltip_position:void 0,tooltip_contents:{},tooltip_init_show:!1,tooltip_init_x:0,tooltip_init_position:void 0,tooltip_linked:!1,tooltip_linked_name:"",tooltip_onshow:()=>{},tooltip_onhide:()=>{},tooltip_onshown:()=>{},tooltip_onhidden:()=>{},tooltip_order:null},Yd={data_x:void 0,data_idConverter:t=>t,data_names:{},data_classes:{},data_type:void 0,data_types:{},data_order:"desc",data_groups:[],data_groupsZeroAs:"positive",data_color:void 0,data_colors:{},data_labels:{},data_labels_backgroundColors:void 0,data_labels_colors:void 0,data_labels_position:{},data_hide:!1,data_filter:void 0,data_onclick:()=>{},data_onover:()=>{},data_onout:()=>{},data_onshown:void 0,data_onhidden:void 0,data_onmin:void 0,data_onmax:void 0,data_url:void 0,data_headers:void 0,data_json:void 0,data_rows:void 0,data_columns:void 0,data_mimeType:"csv",data_keys:void 0,data_empty_label_text:""},Hd={interaction_enabled:!0,interaction_brighten:!0,interaction_inputType_mouse:!0,interaction_inputType_touch:{},interaction_onout:!0},Wd={value:()=>{}};function _s(){for(var t=0,e=arguments.length,n={},a;t=0&&(a=n.slice(i+1),n=n.slice(0,i)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:a}})}ei.prototype=_s.prototype={constructor:ei,on:function(t,e){var n=this._,a=Kd(t+"",n),i,o=-1,s=a.length;if(arguments.length<2){for(;++o0)for(var n=new Array(i),a=0,i,o;a>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?ai(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?ai(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Qd.exec(t))?new Mn(e[1],e[2],e[3],1):(e=qd.exec(t))?new Mn(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=_d.exec(t))?ai(e[1],e[2],e[3],e[4]):(e=th.exec(t))?ai(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=eh.exec(t))?ll(e[1],e[2]/100,e[3]/100,1):(e=nh.exec(t))?ll(e[1],e[2]/100,e[3]/100,e[4]):nl.hasOwnProperty(t)?il(nl[t]):t==="transparent"?new Mn(NaN,NaN,NaN,0):null}function il(t){return new Mn(t>>16&255,t>>8&255,t&255,1)}function ai(t,e,n,a){return a<=0&&(t=e=n=NaN),new Mn(t,e,n,a)}function ih(t){return t instanceof Aa||(t=Cr(t)),t?(t=t.rgb(),new Mn(t.r,t.g,t.b,t.opacity)):new Mn}function ii(t,e,n,a){return arguments.length===1?ih(t):new Mn(t,e,n,a==null?1:a)}function Mn(t,e,n,a){this.r=+t,this.g=+e,this.b=+n,this.opacity=+a}uo(Mn,ii,el(Aa,{brighter(t){return t=t==null?ri:Math.pow(ri,t),new Mn(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Ea:Math.pow(Ea,t),new Mn(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Mn(Pr(this.r),Pr(this.g),Pr(this.b),oi(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ol,formatHex:ol,formatHex8:oh,formatRgb:sl,toString:sl}));function ol(){return`#${wr(this.r)}${wr(this.g)}${wr(this.b)}`}function oh(){return`#${wr(this.r)}${wr(this.g)}${wr(this.b)}${wr((isNaN(this.opacity)?1:this.opacity)*255)}`}function sl(){const t=oi(this.opacity);return`${t===1?"rgb(":"rgba("}${Pr(this.r)}, ${Pr(this.g)}, ${Pr(this.b)}${t===1?")":`, ${t})`}`}function oi(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Pr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function wr(t){return t=Pr(t),(t<16?"0":"")+t.toString(16)}function ll(t,e,n,a){return a<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Jn(t,e,n,a)}function cl(t){if(t instanceof Jn)return new Jn(t.h,t.s,t.l,t.opacity);if(t instanceof Aa||(t=Cr(t)),!t)return new Jn;if(t instanceof Jn)return t;t=t.rgb();var e=t.r/255,n=t.g/255,a=t.b/255,i=Math.min(e,n,a),o=Math.max(e,n,a),s=NaN,l=o-i,c=(o+i)/2;return l?(e===o?s=(n-a)/l+(n0&&c<1?0:s,new Jn(s,l,c,t.opacity)}function sh(t,e,n,a){return arguments.length===1?cl(t):new Jn(t,e,n,a==null?1:a)}function Jn(t,e,n,a){this.h=+t,this.s=+e,this.l=+n,this.opacity=+a}uo(Jn,sh,el(Aa,{brighter(t){return t=t==null?ri:Math.pow(ri,t),new Jn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Ea:Math.pow(Ea,t),new Jn(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,a=n+(n<.5?n:1-n)*e,i=2*n-a;return new Mn(fo(t>=240?t-240:t+120,i,a),fo(t,i,a),fo(t<120?t+240:t-120,i,a),this.opacity)},clamp(){return new Jn(ul(this.h),si(this.s),si(this.l),oi(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=oi(this.opacity);return`${t===1?"hsl(":"hsla("}${ul(this.h)}, ${si(this.s)*100}%, ${si(this.l)*100}%${t===1?")":`, ${t})`}`}}));function ul(t){return t=(t||0)%360,t<0?t+360:t}function si(t){return Math.max(0,Math.min(1,t||0))}function fo(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}function fl(t,e,n,a,i){var o=t*t,s=o*t;return((1-3*t+3*o-s)*e+(4-6*o+3*s)*n+(1+3*t+3*o-3*s)*a+s*i)/6}function lh(t){var e=t.length-1;return function(n){var a=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[a],o=t[a+1],s=a>0?t[a-1]:2*i-o,l=a()=>t;function dl(t,e){return function(n){return t+n*e}}function uh(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(a){return Math.pow(t+a*e,n)}}function W0(t,e){var n=e-t;return n?dl(t,n>180||n<-180?n-360*Math.round(n/360):n):li(isNaN(t)?e:t)}function fh(t){return(t=+t)==1?hl:function(e,n){return n-e?uh(e,n,t):li(isNaN(e)?n:e)}}function hl(t,e){var n=e-t;return n?dl(t,n):li(isNaN(t)?e:t)}var ci=function t(e){var n=fh(e);function a(i,o){var s=n((i=ii(i)).r,(o=ii(o)).r),l=n(i.g,o.g),c=n(i.b,o.b),f=hl(i.opacity,o.opacity);return function(g){return i.r=s(g),i.g=l(g),i.b=c(g),i.opacity=f(g),i+""}}return a.gamma=t,a}(1);function gl(t){return function(e){var n=e.length,a=new Array(n),i=new Array(n),o=new Array(n),s,l;for(s=0;sn&&(o=e.slice(n,o),l[s]?l[s]+=o:l[++s]=o),(a=a[0])===(i=i[0])?l[s]?l[s]+=i:l[++s]=i:(l[++s]=null,c.push({i:s,x:kn(a,i)})),n=go.lastIndex;return n=0&&t._call.call(void 0,e),t=t._next;--Qr}function Sl(){Mr=(fi=Ca.now())+di,Qr=Ra=0;try{yh()}finally{Qr=0,Th(),Mr=0}}function xh(){var t=Ca.now(),e=t-fi;e>xl&&(di-=e,fi=t)}function Th(){for(var t,e=ui,n,a=1/0;e;)e._call?(a>e._time&&(a=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:ui=n);Oa=t,po(a)}function po(t){if(!Qr){Ra&&(Ra=clearTimeout(Ra));var e=t-Mr;e>24?(t<1/0&&(Ra=setTimeout(Sl,t-Ca.now()-di)),Ia&&(Ia=clearInterval(Ia))):(Ia||(fi=Ca.now(),Ia=setInterval(xh,xl)),Qr=1,Tl(Sl))}}function Al(t,e,n){var a=new hi;return e=e==null?0:+e,a.restart(i=>{a.stop(),t(i+e)},e,n),a}var $h=ni("start","end","cancel","interrupt"),Sh=[],El=0,bl=1,mo=2,gi=3,Rl=4,yo=5,vi=6;function pi(t,e,n,a,i,o){var s=t.__transition;if(!s)t.__transition={};else if(n in s)return;Ah(t,n,{name:e,index:a,group:i,on:$h,tween:Sh,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:El})}function xo(t,e){var n=Qn(t,e);if(n.state>El)throw new Error("too late; already scheduled");return n}function er(t,e){var n=Qn(t,e);if(n.state>gi)throw new Error("too late; already running");return n}function Qn(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Ah(t,e,n){var a=t.__transition,i;a[e]=n,n.timer=$l(o,0,n.time);function o(f){n.state=bl,n.timer.restart(s,n.delay,n.time),n.delay<=f&&s(f-n.delay)}function s(f){var g,v,m,S;if(n.state!==bl)return c();for(g in a)if(S=a[g],S.name===n.name){if(S.state===gi)return Al(s);S.state===Rl?(S.state=vi,S.timer.stop(),S.on.call("interrupt",t,t.__data__,S.index,S.group),delete a[g]):+gmo&&a.state180?g+=360:g-f>180&&(f+=360),m.push({i:v.push(i(v)+"rotate(",null,a)-2,x:kn(f,g)})):g&&v.push(i(v)+"rotate("+g+a)}function l(f,g,v,m){f!==g?m.push({i:v.push(i(v)+"skewX(",null,a)-2,x:kn(f,g)}):g&&v.push(i(v)+"skewX("+g+a)}function c(f,g,v,m,S,P){if(f!==v||g!==m){var N=S.push(i(S)+"scale(",null,",",null,")");P.push({i:N-4,x:kn(f,v)},{i:N-2,x:kn(g,m)})}else(v!==1||m!==1)&&S.push(i(S)+"scale("+v+","+m+")")}return function(f,g){var v=[],m=[];return f=t(f),g=t(g),o(f.translateX,f.translateY,g.translateX,g.translateY,v,m),s(f.rotate,g.rotate,v,m),l(f.skewX,g.skewX,v,m),c(f.scaleX,f.scaleY,g.scaleX,g.scaleY,v,m),f=g=null,function(S){for(var P=-1,N=m.length,L;++P=0&&(e=e.slice(0,n)),!e||e==="start"})}function rg(t,e,n){var a,i,o=ng(e)?xo:er;return function(){var s=o(this,t),l=s.on;l!==a&&(i=(a=l).copy()).on(e,n),s.on=i}}function ag(t,e){var n=this._id;return arguments.length<2?Qn(this.node(),n).on.on(t):this.each(rg(n,t,e))}function ig(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function og(){return this.on("end.remove",ig(this._id))}function sg(t){var e=this._name,n=this._id;typeof t!="function"&&(t=p(t));for(var a=this._groups,i=a.length,o=new Array(i),s=0;s()=>t;function Mg(t,{sourceEvent:e,target:n,selection:a,mode:i,dispatch:o}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:a,enumerable:!0,configurable:!0},mode:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function Dg(t){t.stopImmediatePropagation()}function Ao(t){t.preventDefault(),t.stopImmediatePropagation()}var Ll={name:"drag"},Eo={name:"space"},_r={name:"handle"},ta={name:"center"};const{abs:Nl,max:Sn,min:An}=Math;function Fl(t){return[+t[0],+t[1]]}function bo(t){return[Fl(t[0]),Fl(t[1])]}var yi={name:"x",handles:["w","e"].map(Pa),input:function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},xi={name:"y",handles:["n","s"].map(Pa),input:function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},Lg={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(Pa),input:function(t){return t==null?null:bo(t)},output:function(t){return t}},hr={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Bl={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},Ul={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},Ng={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},Fg={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function Pa(t){return{type:t}}function Bg(t){return!t.ctrlKey&&!t.button}function Ug(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function zg(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ro(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function jg(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function zl(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function Gg(){return Io(yi)}function Vg(){return Io(xi)}function q0(){return Io(Lg)}function Io(t){var e=Ug,n=Bg,a=zg,i=!0,o=ni("start","brush","end"),s=6,l;function c(L){var w=L.property("__brush",N).selectAll(".overlay").data([Pa("overlay")]);w.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",hr.overlay).merge(w).each(function(){var W=Ro(this).extent;ot(this).attr("x",W[0][0]).attr("y",W[0][1]).attr("width",W[1][0]-W[0][0]).attr("height",W[1][1]-W[0][1])}),L.selectAll(".selection").data([Pa("selection")]).enter().append("rect").attr("class","selection").attr("cursor",hr.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var X=L.selectAll(".handle").data(t.handles,function(W){return W.type});X.exit().remove(),X.enter().append("rect").attr("class",function(W){return"handle handle--"+W.type}).attr("cursor",function(W){return hr[W.type]}),L.each(f).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",m).filter(a).on("touchstart.brush",m).on("touchmove.brush",S).on("touchend.brush touchcancel.brush",P).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}c.move=function(L,w,X){L.tween?L.on("start.brush",function(W){g(this,arguments).beforestart().start(W)}).on("interrupt.brush end.brush",function(W){g(this,arguments).end(W)}).tween("brush",function(){var W=this,Y=W.__brush,Q=g(W,arguments),K=Y.selection,at=t.input(typeof w=="function"?w.apply(this,arguments):w,Y.extent),ht=kr(K,at);function St(ct){Y.selection=ct===1&&at===null?null:ht(ct),f.call(W),Q.brush()}return K!==null&&at!==null?St:St(1)}):L.each(function(){var W=this,Y=arguments,Q=W.__brush,K=t.input(typeof w=="function"?w.apply(W,Y):w,Q.extent),at=g(W,Y).beforestart();qr(W),Q.selection=K===null?null:K,f.call(W),at.start(X).brush(X).end(X)})},c.clear=function(L,w){c.move(L,null,w)};function f(){var L=ot(this),w=Ro(this).selection;w?(L.selectAll(".selection").style("display",null).attr("x",w[0][0]).attr("y",w[0][1]).attr("width",w[1][0]-w[0][0]).attr("height",w[1][1]-w[0][1]),L.selectAll(".handle").style("display",null).attr("x",function(X){return X.type[X.type.length-1]==="e"?w[1][0]-s/2:w[0][0]-s/2}).attr("y",function(X){return X.type[0]==="s"?w[1][1]-s/2:w[0][1]-s/2}).attr("width",function(X){return X.type==="n"||X.type==="s"?w[1][0]-w[0][0]+s:s}).attr("height",function(X){return X.type==="e"||X.type==="w"?w[1][1]-w[0][1]+s:s})):L.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function g(L,w,X){var W=L.__brush.emitter;return W&&(!X||!W.clean)?W:new v(L,w,X)}function v(L,w,X){this.that=L,this.args=w,this.state=L.__brush,this.active=0,this.clean=X}v.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(L,w){return this.starting?(this.starting=!1,this.emit("start",L,w)):this.emit("brush",L),this},brush:function(L,w){return this.emit("brush",L,w),this},end:function(L,w){return--this.active===0&&(delete this.state.emitter,this.emit("end",L,w)),this},emit:function(L,w,X){var W=ot(this.that).datum();o.call(L,this.that,new Mg(L,{sourceEvent:w,target:c,selection:t.output(this.state.selection),mode:X,dispatch:o}),W)}};function m(L){if(l&&!L.touches||!n.apply(this,arguments))return;var w=this,X=L.target.__data__.type,W=(i&&L.metaKey?X="overlay":X)==="selection"?Ll:i&&L.altKey?ta:_r,Y=t===xi?null:Ng[X],Q=t===yi?null:Fg[X],K=Ro(w),at=K.extent,ht=K.selection,St=at[0][0],ct,lt,Gt=at[0][1],vt,Z,$t=at[1][0],ut,At,Vt=at[1][1],Bt,Kt,ne=0,le=0,be,Oe=Y&&Q&&i&&L.shiftKey,Ce,Ye,Fe=Array.from(L.touches||[L],pe=>{const fn=pe.identifier;return pe=Yn(pe,w),pe.point0=pe.slice(),pe.identifier=fn,pe});qr(w);var hn=g(w,arguments,!0).beforestart();if(X==="overlay"){ht&&(be=!0);const pe=[Fe[0],Fe[1]||Fe[0]];K.selection=ht=[[ct=t===xi?St:An(pe[0][0],pe[1][0]),vt=t===yi?Gt:An(pe[0][1],pe[1][1])],[ut=t===xi?$t:Sn(pe[0][0],pe[1][0]),Bt=t===yi?Vt:Sn(pe[0][1],pe[1][1])]],Fe.length>1&&un(L)}else ct=ht[0][0],vt=ht[0][1],ut=ht[1][0],Bt=ht[1][1];lt=ct,Z=vt,At=ut,Kt=Bt;var Jt=ot(w).attr("pointer-events","none"),xe=Jt.selectAll(".overlay").attr("cursor",hr[X]);if(L.touches)hn.moved=Lt,hn.ended=Ge;else{var Re=ot(L.view).on("mousemove.brush",Lt,!0).on("mouseup.brush",Ge,!0);i&&Re.on("keydown.brush",Cn,!0).on("keyup.brush",Pn,!0),lo(L.view)}f.call(w),hn.start(L,W.name);function Lt(pe){for(const fn of pe.changedTouches||[pe])for(const Ga of Fe)Ga.identifier===fn.identifier&&(Ga.cur=Yn(fn,w));if(Oe&&!Ce&&!Ye&&Fe.length===1){const fn=Fe[0];Nl(fn.cur[0]-fn[0])>Nl(fn.cur[1]-fn[1])?Ye=!0:Ce=!0}for(const fn of Fe)fn.cur&&(fn[0]=fn.cur[0],fn[1]=fn.cur[1]);be=!0,Ao(pe),un(pe)}function un(pe){const fn=Fe[0],Ga=fn.point0;var br;switch(ne=fn[0]-Ga[0],le=fn[1]-Ga[1],W){case Eo:case Ll:{Y&&(ne=Sn(St-ct,An($t-ut,ne)),lt=ct+ne,At=ut+ne),Q&&(le=Sn(Gt-vt,An(Vt-Bt,le)),Z=vt+le,Kt=Bt+le);break}case _r:{Fe[1]?(Y&&(lt=Sn(St,An($t,Fe[0][0])),At=Sn(St,An($t,Fe[1][0])),Y=1),Q&&(Z=Sn(Gt,An(Vt,Fe[0][1])),Kt=Sn(Gt,An(Vt,Fe[1][1])),Q=1)):(Y<0?(ne=Sn(St-ct,An($t-ct,ne)),lt=ct+ne,At=ut):Y>0&&(ne=Sn(St-ut,An($t-ut,ne)),lt=ct,At=ut+ne),Q<0?(le=Sn(Gt-vt,An(Vt-vt,le)),Z=vt+le,Kt=Bt):Q>0&&(le=Sn(Gt-Bt,An(Vt-Bt,le)),Z=vt,Kt=Bt+le));break}case ta:{Y&&(lt=Sn(St,An($t,ct-ne*Y)),At=Sn(St,An($t,ut+ne*Y))),Q&&(Z=Sn(Gt,An(Vt,vt-le*Q)),Kt=Sn(Gt,An(Vt,Bt+le*Q)));break}}At0&&(ct=lt-ne),Q<0?Bt=Kt-le:Q>0&&(vt=Z-le),W=Eo,xe.attr("cursor",hr.selection),un(pe));break}default:return}Ao(pe)}function Pn(pe){switch(pe.keyCode){case 16:{Oe&&(Ce=Ye=Oe=!1,un(pe));break}case 18:{W===ta&&(Y<0?ut=At:Y>0&&(ct=lt),Q<0?Bt=Kt:Q>0&&(vt=Z),W=_r,un(pe));break}case 32:{W===Eo&&(pe.altKey?(Y&&(ut=At-ne*Y,ct=lt+ne*Y),Q&&(Bt=Kt-le*Q,vt=Z+le*Q),W=ta):(Y<0?ut=At:Y>0&&(ct=lt),Q<0?Bt=Kt:Q>0&&(vt=Z),W=_r),xe.attr("cursor",hr[X]),un(pe));break}default:return}Ao(pe)}}function S(L){g(this,arguments).moved(L)}function P(L){g(this,arguments).ended(L)}function N(){var L=this.__brush||{selection:null};return L.extent=bo(e.apply(this,arguments)),L.dim=t,L}return c.extent=function(L){return arguments.length?(e=typeof L=="function"?L:So(bo(L)),c):e},c.filter=function(L){return arguments.length?(n=typeof L=="function"?L:So(!!L),c):n},c.touchable=function(L){return arguments.length?(a=typeof L=="function"?L:So(!!L),c):a},c.handleSize=function(L){return arguments.length?(s=+L,c):s},c.keyModifiers=function(L){return arguments.length?(i=!!L,c):i},c.on=function(){var L=o.on.apply(o,arguments);return L===o?c:L},c}function Xg(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function Yg(t){const e=typeof(t==null?void 0:t.requestAnimationFrame)=="function"&&typeof(t==null?void 0:t.cancelAnimationFrame)=="function",n=typeof(t==null?void 0:t.requestIdleCallback)=="function"&&typeof(t==null?void 0:t.cancelIdleCallback)=="function",a=o=>setTimeout(o,1),i=o=>clearTimeout(o);return[e?t.requestAnimationFrame:a,e?t.cancelAnimationFrame:i,n?t.requestIdleCallback:a,n?t.cancelIdleCallback:i]}const Ke=Xg(),vn=Ke==null?void 0:Ke.document,[Hg,_0,jl,t1]=Yg(Ke);var Wg=Object.defineProperty,Gl=Object.getOwnPropertySymbols,Kg=Object.prototype.hasOwnProperty,Zg=Object.prototype.propertyIsEnumerable,Vl=(t,e,n)=>e in t?Wg(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Xl=(t,e)=>{for(var n in e||(e={}))Kg.call(e,n)&&Vl(t,n,e[n]);if(Gl)for(var n of Gl(e))Zg.call(e,n)&&Vl(t,n,e[n]);return t};const De=t=>t||t===0,ve=t=>typeof t=="function",Xe=t=>typeof t=="string",he=t=>typeof t=="number",ln=t=>typeof t=="undefined",ke=t=>typeof t!="undefined",Oo=t=>typeof t=="boolean",Jg=t=>Math.ceil(t/10)*10,Ti=t=>Math.ceil(t)+.5,Dr=t=>t[1]-t[0],nr=t=>typeof t=="object",qn=t=>ln(t)||t===null||Xe(t)&&t.length===0||nr(t)&&!(t instanceof Date)&&Object.keys(t).length===0||he(t)&&isNaN(t),cn=t=>!qn(t),ze=t=>Array.isArray(t),Be=t=>t&&!(t!=null&&t.nodeType)&&nr(t)&&!ze(t);function $r(t,e,n){return ke(t[e])?t[e]:n}function kg(t,e){let n=!1;return Object.keys(t).forEach(a=>t[a]===e&&(n=!0)),n}function _e(t,e,...n){const a=ve(t);return a&&t.call(e,...n),a}function $i(t,e){let n=0;const a=function(...i){!--n&&e.apply(this,...i)};"duration"in t?t.each(()=>++n).on("end",a):(++n,t.call(a))}function Co(t){return Xe(t)?t.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):t}function wa(t,e,n=[-1,1],a=!1){if(!(!t||!Xe(e)))if(e.indexOf(` -`)===-1)t.text(e);else{const i=[t.text(),e].map(o=>o.replace(/[\s\n]/g,""));if(i[0]!==i[1]){const o=e.split(` -`),s=a?o.length-1:1;t.html(""),o.forEach((l,c)=>{t.append("tspan").attr("x",0).attr("dy",`${c===0?n[0]*s:n[1]}em`).text(l)})}}}function Yl(t){const{x:e,y:n,width:a,height:i}=t.getBBox();return[{x:e,y:n+i},{x:e,y:n},{x:e+a,y:n},{x:e+a,y:n+i}]}function Hl(t){const{width:e,height:n}=t.getBoundingClientRect(),a=Yl(t),i=a[0].x,o=Math.min(a[0].y,a[1].y);return{x:i,y:o,width:e,height:n}}function Hn(t,e){var n;const a=t&&((n=t.touches||t.sourceEvent&&t.sourceEvent.touches)==null?void 0:n[0]);let i=[0,0];try{i=Yn(a||t,e)}catch(o){}return i.map(o=>isNaN(o)?0:o)}function Wl(t){const{event:e,$el:n}=t,a=n.subchart.main||n.main;let i;return e&&e.type==="brush"?i=e.selection:a&&(i=a.select(".bb-brush").node())&&(i=zl(i)),i}function Si(t){return!("rect"in t)||"rect"in t&&t.hasAttribute("width")&&t.rect.width!==+t.getAttribute("width")?t.rect=t.getBoundingClientRect():t.rect}function gr(t=!0,e=0,n=1e4){const a=Ke.crypto||Ke.msCrypto,i=a?e+a.getRandomValues(new Uint32Array(1))[0]%(n-e+1):Math.floor(Math.random()*(n-e)+e);return t?String(i):i}function Po(t,e,n,a,i){if(n>a)return-1;const o=Math.floor((n+a)/2);let{x:s,w:l=0}=t[o];return i&&(s=t[o].y,l=t[o].h),e>=s&&e<=s+l?o:e{if(Be(n)&&n.constructor){const a=new n.constructor;for(const i in n)a[i]=e(n[i]);return a}return n};return t.map(n=>e(n)).reduce((n,a)=>Xl(Xl({},n),a))}function xn(t={},e){ze(e)&&e.forEach(n=>xn(t,n));for(const n in e)/^\d+$/.test(n)||n in t||(t[n]=e[n]);return t}const Dn=t=>t.charAt(0).toUpperCase()+t.slice(1);function qg(t,e="-"){return t.split(e).map((n,a)=>a?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase():n.toLowerCase()).join("")}const Lr=t=>[].slice.call(t);function _g(t,e,n){const{rootSelector:a="",sheet:i}=t,s=`${a} ${(l=>l.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(e)} {${n.join(";")}}`;return i[i.insertRule?"insertRule":"addRule"](s,i.cssRules.length)}function tv(t){let e=[];return t.forEach(n=>{var a;try{n.cssRules&&n.cssRules.length&&(e=e.concat(Lr(n.cssRules)))}catch(i){(a=Ke.console)==null||a.warn(`Error while reading rules from ${n.href}: ${i.toString()}`)}}),e}function Zl(t){var e,n,a,i,o,s;return{x:((n=(e=Ke.pageXOffset)!=null?e:Ke.scrollX)!=null?n:0)+((a=t.scrollLeft)!=null?a:0),y:((o=(i=Ke.pageYOffset)!=null?i:Ke.scrollY)!=null?o:0)+((s=t.scrollTop)!=null?s:0)}}function wo(t,e=0,n=0,a=!0){const i=new DOMPoint(e,n),o=t.getScreenCTM();return i.matrixTransform(a?o==null?void 0:o.inverse():o)}function Jl(t){const e=t?t.transform:null,n=e&&e.baseVal;return n&&n.numberOfItems?n.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function Mo(t){const e=t[0]instanceof Date,n=(e?t.map(Number):t).filter((a,i,o)=>o.indexOf(a)===i);return e?n.map(a=>new Date(a)):n}function Do(t){return t&&t.length?t.reduce((e,n)=>e.concat(n)):[]}function ea(t,...e){if(!e.length||e.length===1&&!e[0])return t;const n=e.shift();return Be(t)&&Be(n)&&Object.keys(n).forEach(a=>{const i=n[a];Be(i)?(!t[a]&&(t[a]={}),t[a]=ea(t[a],i)):t[a]=ze(i)?i.concat():i}),ea(t,...e)}function na(t,e=!0){let n;return t[0]instanceof Date?n=e?(a,i)=>a-i:(a,i)=>i-a:e&&!t.every(isNaN)?n=(a,i)=>a-i:e||(n=(a,i)=>a>i&&-1||acn(a));return n.length?he(n[0])?n=Math[t](...n):n[0]instanceof Date&&(n=na(n,t==="min")[0]):n=void 0,n}const Ai=(t,e,n=1)=>{const a=[],i=Math.max(0,Math.ceil((e-t)/n))|0;for(let o=t;o{const t=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(e,n,a=t())=>{e.dispatchEvent(new MouseEvent(n,a))}}catch(e){return(n,a,i=t())=>{const o=vn.createEvent("MouseEvent");o.initMouseEvent(a,i.bubbles,i.cancelable,Ke,0,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),n.dispatchEvent(o)}}})(),touch:(t,e,n)=>{const a=new Touch(ea({identifier:Date.now(),target:t,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},n));t.dispatchEvent(new TouchEvent(e,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[a],targetTouches:[],changedTouches:[a]}))}};function Ei(t,e){let n=t;for(const a in e)n=n.replace(new RegExp(`{=${a}}`,"g"),e[a]);return n}function zn(t){var e;let n;if(t instanceof Date)n=t;else if(Xe(t)){const{config:a,format:i}=this;n=(e=i.dataTime(a.data_xFormat)(t))!=null?e:new Date(t)}else he(t)&&!isNaN(t)&&(n=new Date(+t));return(!n||isNaN(+n))&&console&&console.error&&console.error(`Failed to parse x '${t}' to Date object`),n}function Lo(t){const e=t.attr("viewBox");return e?/(\d+(\.\d+)?){3}/.test(e):!1}function nv(t,e,n=!1){const a=!!t.node;let i=!1;for(const[o,s]of Object.entries(e))if(i=a?t.style(o)===s:t.style[o]===s,n===!1&&i)break;return i}function Ma(){var t,e;return((t=vn)==null?void 0:t.hidden)===!1||((e=vn)==null?void 0:e.visibilityState)==="visible"}function rv(t,e){const{DocumentTouch:n,matchMedia:a,navigator:i}=Ke,o=a==null?void 0:a("(pointer:coarse)").matches;let s=!1;if(e)if(i&&"maxTouchPoints"in i)s=i.maxTouchPoints>0;else if("ontouchmove"in Ke||n&&vn instanceof n)s=!0;else if(o)s=!0;else{const c=i.userAgent;s=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(c)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(c)}return t&&!o&&(a==null?void 0:a("(pointer:fine)").matches)&&"mouse"||s&&"touch"||"mouse"}function kl(t,e){e()===!1?Hg(()=>kl(t,e)):t()}var av=Object.defineProperty,Ql=Object.getOwnPropertySymbols,iv=Object.prototype.hasOwnProperty,ov=Object.prototype.propertyIsEnumerable,No=(t,e,n)=>e in t?av(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ql=(t,e)=>{for(var n in e||(e={}))iv.call(e,n)&&No(t,n,e[n]);if(Ql)for(var n of Ql(e))ov.call(e,n)&&No(t,n,e[n]);return t},sv=(t,e,n)=>No(t,typeof e!="symbol"?e+"":e,n);const _l=class bf{static setOptions(e){this.data=e.reduce((n,a)=>ql(ql({},n),a),this.data)}constructor(){return Qg(Gd,Ud,Yd,zd,Hd,jd,Vd,Xd,bf.data)}};sv(_l,"data",{});let Nr=_l;class lv{constructor(){return{chart:null,main:null,svg:null,axis:{x:null,y:null,y2:null,subX:null},axisTooltip:{x:null,y:null,y2:null},defs:null,tooltip:null,legend:null,title:null,subchart:{main:null,bar:null,line:null,area:null},arcs:null,bar:null,candlestick:null,line:null,area:null,circle:null,radar:null,text:null,grid:{main:null,x:null,y:null},gridLines:{main:null,x:null,y:null},region:{main:null,list:null},eventRect:null,zoomResetBtn:null}}}class cv{constructor(){return{width:0,width2:0,height:0,height2:0,margin:{top:0,bottom:0,left:0,right:0},margin2:{top:0,bottom:0,left:0,right:0},margin3:{top:0,bottom:0,left:0,right:0},arcWidth:0,arcHeight:0,xAxisHeight:0,hasAxis:!1,hasFunnel:!1,hasRadar:!1,hasTreemap:!1,cssRule:{},current:{domain:void 0,width:0,height:0,dataMax:0,maxTickSize:{x:{width:0,height:0,ticks:[],clipPath:0,domain:""},y:{width:0,height:0,domain:""},y2:{width:0,height:0,domain:""}},types:[],needle:void 0},isLegendRight:!1,isLegendInset:!1,isLegendTop:!1,isLegendLeft:!1,legendStep:0,legendItemWidth:0,legendItemHeight:0,legendHasRendered:!1,eventReceiver:{currentIdx:-1,rect:{},data:[],coords:[]},axis:{x:{padding:{left:0,right:0},tickCount:0}},rotatedPadding:{left:30,right:0,top:5},withoutFadeIn:{},inputType:"",datetimeId:"",clip:{id:"",idXAxis:"",idYAxis:"",idXAxisTickTexts:"",idGrid:"",idSubchart:"",path:"",pathXAxis:"",pathYAxis:"",pathXAxisTickTexts:"",pathGrid:""},event:null,dragStart:null,dragging:!1,flowing:!1,cancelClick:!1,mouseover:!1,rendered:!1,transiting:!1,redrawing:!1,resizing:!1,toggling:!1,zooming:!1,hasNegativeValue:!1,hasPositiveValue:!0,orgAreaOpacity:"0.2",orgConfig:{},hiddenTargetIds:[],hiddenLegendIds:[],focusedTargetIds:[],defocusedTargetIds:[],radius:0,innerRadius:0,outerRadius:void 0,innerRadiusRatio:0,gaugeArcWidth:0,radiusExpanded:0,xgridAttr:{x1:null,x2:null,y1:null,y2:null}}}}const tc={element:lv,state:cv};class uv{constructor(){Object.keys(tc).forEach(e=>{this[e]=new tc[e]})}getStore(e){return this[e]}}var fv=Object.defineProperty,dv=(t,e,n)=>e in t?fv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,hv=(t,e,n)=>dv(t,typeof e!="symbol"?e+"":e,n);const Ln={bubbleBaseLength:"$baseLength",colorPattern:"__colorPattern__",dataMinMax:"$dataMinMax",dataTotalSum:"$dataTotalSum",dataTotalPerIndex:"$totalPerIndex",legendItemTextBox:"legendItemTextBox",radarPoints:"$radarPoints",radarTextWidth:"$radarTextWidth",setOverOut:"setOverOut",callOverOutForTouch:"callOverOutForTouch",textRect:"textRect"};class gv{constructor(){hv(this,"cache",{})}add(e,n,a=!1){return this.cache[e]=a?this.cloneTarget(n):n,this.cache[e]}remove(e){(Xe(e)?[e]:e).forEach(n=>delete this.cache[n])}get(e,n=!1){if(n&&Array.isArray(e)){const a=[];for(let i=0,o;o=e[i];i++)o in this.cache&&a.push(this.cloneTarget(this.cache[o]));return a}else{const a=this.cache[e];return De(a)?a:null}}reset(e){const n=this;for(const a in n.cache)(e||/^\$/.test(a))&&(n.cache[a]=null)}cloneTarget(e){return{id:e.id,id_org:e.id_org,values:e.values.map(n=>({x:n.x,value:n.value,id:n.id}))}}}const oe={AREA:"area",AREA_LINE_RANGE:"area-line-range",AREA_SPLINE:"area-spline",AREA_SPLINE_RANGE:"area-spline-range",AREA_STEP:"area-step",AREA_STEP_RANGE:"area-step-range",BAR:"bar",BUBBLE:"bubble",CANDLESTICK:"candlestick",DONUT:"donut",FUNNEL:"funnel",GAUGE:"gauge",LINE:"line",PIE:"pie",POLAR:"polar",RADAR:"radar",SCATTER:"scatter",SPLINE:"spline",STEP:"step",TREEMAP:"treemap"},Fo={AREA:"initArea",AREA_LINE_RANGE:"initArea",AREA_SPLINE:"initArea",AREA_SPLINE_RANGE:"initArea",AREA_STEP:"initArea",AREA_STEP_RANGE:"initArea",BAR:"initBar",BUBBLE:"initCircle",CANDLESTICK:"initCandlestick",DONUT:"initArc",FUNNEL:"initFunnel",GAUGE:"initArc",LINE:"initLine",PIE:"initArc",POLAR:"initPolar",RADAR:"initCircle",SCATTER:"initCircle",SPLINE:"initLine",STEP:"initLine",TREEMAP:"initTreemap"},Sr={Area:[oe.AREA,oe.AREA_SPLINE,oe.AREA_SPLINE_RANGE,oe.AREA_LINE_RANGE,oe.AREA_STEP,oe.AREA_STEP_RANGE],AreaRange:[oe.AREA_SPLINE_RANGE,oe.AREA_LINE_RANGE,oe.AREA_STEP_RANGE],Arc:[oe.PIE,oe.DONUT,oe.GAUGE,oe.POLAR,oe.RADAR],Line:[oe.LINE,oe.SPLINE,oe.AREA,oe.AREA_SPLINE,oe.AREA_SPLINE_RANGE,oe.AREA_LINE_RANGE,oe.STEP,oe.AREA_STEP,oe.AREA_STEP_RANGE],Step:[oe.STEP,oe.AREA_STEP,oe.AREA_STEP_RANGE],Spline:[oe.SPLINE,oe.AREA_SPLINE,oe.AREA_SPLINE_RANGE]};function vv(t){const e=t,{config:n}=e;let a="";if(qn(n.data_type||n.data_types)&&!e[Fo.LINE])a="line";else for(const i in Fo){const o=oe[i];if(e.hasType(o)&&!e[Fo[i]]){a=o;break}}a&&pv(`Please, make sure if %c${qg(a)}`,"module has been imported and specified correctly.","https://github.com/naver/billboard.js/wiki/CHANGELOG-v2#modularization-by-its-functionality")}function pv(t,e,n){var a;const i="[billboard.js]";if((a=Ke.console)==null?void 0:a.error){const s=e?["background:red;color:white;display:block;font-size:15px",e]:[];console.error(`\u274C ${i} ${t}`,"background:red;color:white;display:block;font-size:15px",...s),n&&console.info("%c\u2139\uFE0F","font-size:15px",n)}throw Error(`${i} ${t.replace(/\%c([a-z-]+)/i,"'$1' ")} ${e!=null?e:""}`)}const{setTimeout:mv,clearTimeout:yv}=Ke;function xv(t){const e=[];let n;const a=function(){a.clear(),t===!1?jl(()=>{e.forEach(i=>i())},{timeout:200}):n=mv(()=>{e.forEach(i=>i())},he(t)?t:200)};return a.clear=()=>{n&&(yv(n),n=null)},a.add=i=>e.push(i),a.remove=i=>e.splice(e.indexOf(i),1),a}function ec(){let t=[];const e=function(n,a){function i(){var o;let s=0;for(let l=0,c;c=t[l];l++){if(c===!0||(o=c.empty)!=null&&o.call(c)){s++;continue}if(Ma()===!1){s=t.length;break}try{c.transition()}catch(f){s++}}return s===t.length}kl(()=>{a==null||a()},i)};return e.add=function(n){ze(n)?t=t.concat(n):t.push(n)},e}const Bo={};function Tv(t,e){var n;const a=t.toString(),i=a.replace(/(function|[\s\W\n])/g,"").substring(0,15);return i in Bo||(Bo[i]=new Ke.Blob([`${(n=e==null?void 0:e.map(String).join(";"))!=null?n:""} + */(function(Va,jn){if(typeof exports=="object"&&typeof module=="object")module.exports=jn();else if(typeof define=="function"&&define.amd)define([],jn);else{var Xa=jn();for(var x in Xa)(typeof exports=="object"?exports:Va)[x]=Xa[x]}})(this,function(){return function(){"use strict";var Co=[function(x,b,r){r(1),r(97),r(98),r(99),r(100),r(101),r(102),r(103),r(104),r(105),r(106),r(107),r(108),r(109),r(110),r(111),r(124),r(126),r(136),r(137),r(139),r(143),r(146),r(148),r(150),r(151),r(152),r(153),r(155),r(156),r(158),r(159),r(161),r(165),r(166),r(167),r(168),r(173),r(174),r(176),r(177),r(178),r(180),r(184),r(185),r(186),r(187),r(188),r(193),r(195),r(196),r(198),r(201),r(202),r(203),r(204),r(205),r(207),r(217),r(219),r(220),r(222),r(225),r(231),r(232),r(233),r(234),r(235),r(236),r(240),r(241),r(243),r(244),r(245),r(247),r(248),r(249),r(250),r(251),r(256),r(257),r(258),r(259),r(261),r(262),r(263),r(265),r(266),r(267),r(268),r(93),r(269),r(270),r(278),r(280),r(282),r(283),r(284),r(285),r(286),r(288),r(289),r(290),r(291),r(292),r(294),r(295),r(296),r(297),r(298),r(299),r(300),r(301),r(305),r(306),r(308),r(310),r(311),r(312),r(313),r(314),r(316),r(318),r(319),r(320),r(321),r(323),r(324),r(326),r(327),r(328),r(329),r(331),r(332),r(333),r(334),r(335),r(336),r(337),r(338),r(339),r(341),r(342),r(343),r(344),r(345),r(346),r(347),r(348),r(349),r(350),r(351),r(353),r(354),r(355),r(356),r(380),r(381),r(382),r(383),r(384),r(385),r(386),r(387),r(388),r(389),r(391),r(392),r(393),r(394),r(395),r(396),r(397),r(398),r(399),r(400),r(407),r(408),r(410),r(411),r(412),r(413),r(414),r(416),r(426),r(428),r(430),r(432),r(434),r(436),r(438),r(439),r(441),r(444),r(445),r(446),r(447),r(448),r(452),r(453),r(455),r(456),r(457),r(458),r(460),r(461),r(462),r(463),r(464),r(465),r(466),r(468),r(471),r(474),r(477),r(478),r(479),r(480),r(481),r(482),r(483),r(484),r(485),r(486),r(487),r(488),r(489),r(497),r(498),r(499),r(500),r(501),r(502),r(503),r(504),r(505),r(506),r(507),r(508),r(509),r(511),r(512),r(513),r(514),r(515),r(516),r(517),r(518),r(519),r(520),r(521),r(522),r(523),r(524),r(525),r(526),r(527),r(528),r(529),r(530),r(531),r(532),r(533),r(534),r(535),r(536),r(537),r(538),r(541),r(543),r(545),r(546),r(549),r(550),r(552),r(553),r(554),r(558),r(559),r(560),r(561),r(564),r(569),r(570),r(571),r(572),r(573),r(574),r(575),r(80)},function(x,b,r){r(2),r(90),r(92),r(93),r(96)},function(x,b,r){var u=r(3),d=r(4),h=r(8),p=r(14),y=r(36),T=r(6),$=r(26),A=r(7),E=r(38),R=r(24),I=r(46),O=r(12),C=r(18),D=r(68),M=r(11),F=r(71),j=r(73),B=r(57),U=r(75),V=r(66),z=r(5),G=r(44),H=r(72),k=r(10),J=r(47),q=r(77),nt=r(34),rt=r(53),_=r(54),tt=r(40),et=r(33),ot=r(78),mt=r(79),gt=r(81),xt=r(82),yt=r(51),Ut=r(83).forEach,Dt=rt("hidden"),Xt="Symbol",kt="prototype",Qt=yt.set,me=yt.getterFor(Xt),ge=Object[kt],ae=d.Symbol,Mt=ae&&ae[kt],Yt=d.RangeError,re=d.TypeError,oe=d.QObject,ee=z.f,fe=G.f,Pe=U.f,Me=k.f,$e=p([].push),ce=nt("symbols"),Ae=nt("op-symbols"),Te=nt("wks"),de=!oe||!oe[kt]||!oe[kt].findChild,bt=function(It,Pt,Ct){var Nt=ee(ge,Pt);Nt&&delete ge[Pt],fe(It,Pt,Ct),Nt&&It!==ge&&fe(ge,Pt,Nt)},Ft=T&&A(function(){return F(fe({},"a",{get:function(){return fe(this,"a",{value:7}).a}})).a!==7})?bt:fe,Tt=function(It,Pt){var Ct=ce[It]=F(Mt);return Qt(Ct,{type:Xt,tag:It,description:Pt}),T||(Ct.description=Pt),Ct},qt=function(Pt,Ct,Nt){Pt===ge&&qt(Ae,Ct,Nt),I(Pt);var Et=C(Ct);return I(Nt),E(ce,Et)?(Nt.enumerable?(E(Pt,Dt)&&Pt[Dt][Et]&&(Pt[Dt][Et]=!1),Nt=F(Nt,{enumerable:M(0,!1)})):(E(Pt,Dt)||fe(Pt,Dt,M(1,F(null))),Pt[Dt][Et]=!0),Ft(Pt,Et,Nt)):fe(Pt,Et,Nt)},te=function(Pt,Ct){I(Pt);var Nt=O(Ct),Et=j(Nt).concat(ft(Nt));return Ut(Et,function(ie){(!T||h(Ht,Nt,ie))&&qt(Pt,ie,Nt[ie])}),Pt},Zt=function(Pt,Ct){return Ct===void 0?F(Pt):te(F(Pt),Ct)},Ht=function(Pt){var Ct=C(Pt),Nt=h(Me,this,Ct);return this===ge&&E(ce,Ct)&&!E(Ae,Ct)?!1:Nt||!E(this,Ct)||!E(ce,Ct)||E(this,Dt)&&this[Dt][Ct]?Nt:!0},He=function(Pt,Ct){var Nt=O(Pt),Et=C(Ct);if(!(Nt===ge&&E(ce,Et)&&!E(Ae,Et))){var ie=ee(Nt,Et);return ie&&E(ce,Et)&&!(E(Nt,Dt)&&Nt[Dt][Et])&&(ie.enumerable=!0),ie}},Ze=function(Pt){var Ct=Pe(O(Pt)),Nt=[];return Ut(Ct,function(Et){!E(ce,Et)&&!E(_,Et)&&$e(Nt,Et)}),Nt},ft=function(It){var Pt=It===ge,Ct=Pe(Pt?Ae:O(It)),Nt=[];return Ut(Ct,function(Et){E(ce,Et)&&(!Pt||E(ge,Et))&&$e(Nt,ce[Et])}),Nt};$||(ae=function(){if(R(Mt,this))throw new re("Symbol is not a constructor");var Pt=!arguments.length||arguments[0]===void 0?void 0:D(arguments[0]),Ct=tt(Pt),Nt=function(Et){var ie=this===void 0?d:this;ie===ge&&h(Nt,Ae,Et),E(ie,Dt)&&E(ie[Dt],Ct)&&(ie[Dt][Ct]=!1);var we=M(1,Et);try{Ft(ie,Ct,we)}catch(Rt){if(!(Rt instanceof Yt))throw Rt;bt(ie,Ct,we)}};return T&&de&&Ft(ge,Ct,{configurable:!0,set:Nt}),Tt(Ct,Pt)},Mt=ae[kt],J(Mt,"toString",function(){return me(this).tag}),J(ae,"withoutSetter",function(It){return Tt(tt(It),It)}),k.f=Ht,G.f=qt,H.f=te,z.f=He,B.f=U.f=Ze,V.f=ft,ot.f=function(It){return Tt(et(It),It)},T&&(q(Mt,"description",{configurable:!0,get:function(){return me(this).description}}),y||J(ge,"propertyIsEnumerable",Ht,{unsafe:!0}))),u({global:!0,constructor:!0,wrap:!0,forced:!$,sham:!$},{Symbol:ae}),Ut(j(Te),function(It){mt(It)}),u({target:Xt,stat:!0,forced:!$},{useSetter:function(){de=!0},useSimple:function(){de=!1}}),u({target:"Object",stat:!0,forced:!$,sham:!T},{create:Zt,defineProperty:qt,defineProperties:te,getOwnPropertyDescriptor:He}),u({target:"Object",stat:!0,forced:!$},{getOwnPropertyNames:Ze}),gt(),xt(ae,Xt),_[Dt]=!0},function(x,b,r){var u=r(4),d=r(5).f,h=r(43),p=r(47),y=r(37),T=r(55),$=r(67);x.exports=function(A,E){var R=A.target,I=A.global,O=A.stat,C,D,M,F,j,B;if(I?D=u:O?D=u[R]||y(R,{}):D=u[R]&&u[R].prototype,D)for(M in E){if(j=E[M],A.dontCallGetSet?(B=d(D,M),F=B&&B.value):F=D[M],C=$(I?M:R+(O?".":"#")+M,A.forced),!C&&F!==void 0){if(typeof j==typeof F)continue;T(j,F)}(A.sham||F&&F.sham)&&h(j,"sham",!0),p(D,M,j,A)}}},function(x){var b=function(r){return r&&r.Math===Math&&r};x.exports=b(typeof globalThis=="object"&&globalThis)||b(typeof window=="object"&&window)||b(typeof self=="object"&&self)||b(typeof global=="object"&&global)||b(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},function(x,b,r){var u=r(6),d=r(8),h=r(10),p=r(11),y=r(12),T=r(18),$=r(38),A=r(41),E=Object.getOwnPropertyDescriptor;b.f=u?E:function(I,O){if(I=y(I),O=T(O),A)try{return E(I,O)}catch(C){}if($(I,O))return p(!d(h.f,I,O),I[O])}},function(x,b,r){var u=r(7);x.exports=!u(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},function(x){x.exports=function(b){try{return!!b()}catch(r){return!0}}},function(x,b,r){var u=r(9),d=Function.prototype.call;x.exports=u?d.bind(d):function(){return d.apply(d,arguments)}},function(x,b,r){var u=r(7);x.exports=!u(function(){var d=function(){}.bind();return typeof d!="function"||d.hasOwnProperty("prototype")})},function(x,b){var r={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,d=u&&!r.call({1:2},1);b.f=d?function(p){var y=u(this,p);return!!y&&y.enumerable}:r},function(x){x.exports=function(b,r){return{enumerable:!(b&1),configurable:!(b&2),writable:!(b&4),value:r}}},function(x,b,r){var u=r(13),d=r(16);x.exports=function(h){return u(d(h))}},function(x,b,r){var u=r(14),d=r(7),h=r(15),p=Object,y=u("".split);x.exports=d(function(){return!p("z").propertyIsEnumerable(0)})?function(T){return h(T)==="String"?y(T,""):p(T)}:p},function(x,b,r){var u=r(9),d=Function.prototype,h=d.call,p=u&&d.bind.bind(h,h);x.exports=u?p:function(y){return function(){return h.apply(y,arguments)}}},function(x,b,r){var u=r(14),d=u({}.toString),h=u("".slice);x.exports=function(p){return h(d(p),8,-1)}},function(x,b,r){var u=r(17),d=TypeError;x.exports=function(h){if(u(h))throw new d("Can't call method on "+h);return h}},function(x){x.exports=function(b){return b==null}},function(x,b,r){var u=r(19),d=r(22);x.exports=function(h){var p=u(h,"string");return d(p)?p:p+""}},function(x,b,r){var u=r(8),d=r(20),h=r(22),p=r(29),y=r(32),T=r(33),$=TypeError,A=T("toPrimitive");x.exports=function(E,R){if(!d(E)||h(E))return E;var I=p(E,A),O;if(I){if(R===void 0&&(R="default"),O=u(I,E,R),!d(O)||h(O))return O;throw new $("Can't convert object to primitive value")}return R===void 0&&(R="number"),y(E,R)}},function(x,b,r){var u=r(21);x.exports=function(d){return typeof d=="object"?d!==null:u(d)}},function(x){var b=typeof document=="object"&&document.all;x.exports=typeof b=="undefined"&&b!==void 0?function(r){return typeof r=="function"||r===b}:function(r){return typeof r=="function"}},function(x,b,r){var u=r(23),d=r(21),h=r(24),p=r(25),y=Object;x.exports=p?function(T){return typeof T=="symbol"}:function(T){var $=u("Symbol");return d($)&&h($.prototype,y(T))}},function(x,b,r){var u=r(4),d=r(21),h=function(p){return d(p)?p:void 0};x.exports=function(p,y){return arguments.length<2?h(u[p]):u[p]&&u[p][y]}},function(x,b,r){var u=r(14);x.exports=u({}.isPrototypeOf)},function(x,b,r){var u=r(26);x.exports=u&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},function(x,b,r){var u=r(27),d=r(7),h=r(4),p=h.String;x.exports=!!Object.getOwnPropertySymbols&&!d(function(){var y=Symbol("symbol detection");return!p(y)||!(Object(y)instanceof Symbol)||!Symbol.sham&&u&&u<41})},function(x,b,r){var u=r(4),d=r(28),h=u.process,p=u.Deno,y=h&&h.versions||p&&p.version,T=y&&y.v8,$,A;T&&($=T.split("."),A=$[0]>0&&$[0]<4?1:+($[0]+$[1])),!A&&d&&($=d.match(/Edge\/(\d+)/),(!$||$[1]>=74)&&($=d.match(/Chrome\/(\d+)/),$&&(A=+$[1]))),x.exports=A},function(x,b,r){var u=r(4),d=u.navigator,h=d&&d.userAgent;x.exports=h?String(h):""},function(x,b,r){var u=r(30),d=r(17);x.exports=function(h,p){var y=h[p];return d(y)?void 0:u(y)}},function(x,b,r){var u=r(21),d=r(31),h=TypeError;x.exports=function(p){if(u(p))return p;throw new h(d(p)+" is not a function")}},function(x){var b=String;x.exports=function(r){try{return b(r)}catch(u){return"Object"}}},function(x,b,r){var u=r(8),d=r(21),h=r(20),p=TypeError;x.exports=function(y,T){var $,A;if(T==="string"&&d($=y.toString)&&!h(A=u($,y))||d($=y.valueOf)&&!h(A=u($,y))||T!=="string"&&d($=y.toString)&&!h(A=u($,y)))return A;throw new p("Can't convert object to primitive value")}},function(x,b,r){var u=r(4),d=r(34),h=r(38),p=r(40),y=r(26),T=r(25),$=u.Symbol,A=d("wks"),E=T?$.for||$:$&&$.withoutSetter||p;x.exports=function(R){return h(A,R)||(A[R]=y&&h($,R)?$[R]:E("Symbol."+R)),A[R]}},function(x,b,r){var u=r(35);x.exports=function(d,h){return u[d]||(u[d]=h||{})}},function(x,b,r){var u=r(36),d=r(4),h=r(37),p="__core-js_shared__",y=x.exports=d[p]||h(p,{});(y.versions||(y.versions=[])).push({version:"3.39.0",mode:u?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.39.0/LICENSE",source:"https://github.com/zloirock/core-js"})},function(x){x.exports=!1},function(x,b,r){var u=r(4),d=Object.defineProperty;x.exports=function(h,p){try{d(u,h,{value:p,configurable:!0,writable:!0})}catch(y){u[h]=p}return p}},function(x,b,r){var u=r(14),d=r(39),h=u({}.hasOwnProperty);x.exports=Object.hasOwn||function(y,T){return h(d(y),T)}},function(x,b,r){var u=r(16),d=Object;x.exports=function(h){return d(u(h))}},function(x,b,r){var u=r(14),d=0,h=Math.random(),p=u(1 .toString);x.exports=function(y){return"Symbol("+(y===void 0?"":y)+")_"+p(++d+h,36)}},function(x,b,r){var u=r(6),d=r(7),h=r(42);x.exports=!u&&!d(function(){return Object.defineProperty(h("div"),"a",{get:function(){return 7}}).a!==7})},function(x,b,r){var u=r(4),d=r(20),h=u.document,p=d(h)&&d(h.createElement);x.exports=function(y){return p?h.createElement(y):{}}},function(x,b,r){var u=r(6),d=r(44),h=r(11);x.exports=u?function(p,y,T){return d.f(p,y,h(1,T))}:function(p,y,T){return p[y]=T,p}},function(x,b,r){var u=r(6),d=r(41),h=r(45),p=r(46),y=r(18),T=TypeError,$=Object.defineProperty,A=Object.getOwnPropertyDescriptor,E="enumerable",R="configurable",I="writable";b.f=u?h?function(C,D,M){if(p(C),D=y(D),p(M),typeof C=="function"&&D==="prototype"&&"value"in M&&I in M&&!M[I]){var F=A(C,D);F&&F[I]&&(C[D]=M.value,M={configurable:R in M?M[R]:F[R],enumerable:E in M?M[E]:F[E],writable:!1})}return $(C,D,M)}:$:function(C,D,M){if(p(C),D=y(D),p(M),d)try{return $(C,D,M)}catch(F){}if("get"in M||"set"in M)throw new T("Accessors not supported");return"value"in M&&(C[D]=M.value),C}},function(x,b,r){var u=r(6),d=r(7);x.exports=u&&d(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},function(x,b,r){var u=r(20),d=String,h=TypeError;x.exports=function(p){if(u(p))return p;throw new h(d(p)+" is not an object")}},function(x,b,r){var u=r(21),d=r(44),h=r(48),p=r(37);x.exports=function(y,T,$,A){A||(A={});var E=A.enumerable,R=A.name!==void 0?A.name:T;if(u($)&&h($,R,A),A.global)E?y[T]=$:p(T,$);else{try{A.unsafe?y[T]&&(E=!0):delete y[T]}catch(I){}E?y[T]=$:d.f(y,T,{value:$,enumerable:!1,configurable:!A.nonConfigurable,writable:!A.nonWritable})}return y}},function(x,b,r){var u=r(14),d=r(7),h=r(21),p=r(38),y=r(6),T=r(49).CONFIGURABLE,$=r(50),A=r(51),E=A.enforce,R=A.get,I=String,O=Object.defineProperty,C=u("".slice),D=u("".replace),M=u([].join),F=y&&!d(function(){return O(function(){},"length",{value:8}).length!==8}),j=String(String).split("String"),B=x.exports=function(U,V,z){C(I(V),0,7)==="Symbol("&&(V="["+D(I(V),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),z&&z.getter&&(V="get "+V),z&&z.setter&&(V="set "+V),(!p(U,"name")||T&&U.name!==V)&&(y?O(U,"name",{value:V,configurable:!0}):U.name=V),F&&z&&p(z,"arity")&&U.length!==z.arity&&O(U,"length",{value:z.arity});try{z&&p(z,"constructor")&&z.constructor?y&&O(U,"prototype",{writable:!1}):U.prototype&&(U.prototype=void 0)}catch(H){}var G=E(U);return p(G,"source")||(G.source=M(j,typeof V=="string"?V:"")),U};Function.prototype.toString=B(function(){return h(this)&&R(this).source||$(this)},"toString")},function(x,b,r){var u=r(6),d=r(38),h=Function.prototype,p=u&&Object.getOwnPropertyDescriptor,y=d(h,"name"),T=y&&function(){}.name==="something",$=y&&(!u||u&&p(h,"name").configurable);x.exports={EXISTS:y,PROPER:T,CONFIGURABLE:$}},function(x,b,r){var u=r(14),d=r(21),h=r(35),p=u(Function.toString);d(h.inspectSource)||(h.inspectSource=function(y){return p(y)}),x.exports=h.inspectSource},function(x,b,r){var u=r(52),d=r(4),h=r(20),p=r(43),y=r(38),T=r(35),$=r(53),A=r(54),E="Object already initialized",R=d.TypeError,I=d.WeakMap,O,C,D,M=function(U){return D(U)?C(U):O(U,{})},F=function(U){return function(V){var z;if(!h(V)||(z=C(V)).type!==U)throw new R("Incompatible receiver, "+U+" required");return z}};if(u||T.state){var j=T.state||(T.state=new I);j.get=j.get,j.has=j.has,j.set=j.set,O=function(U,V){if(j.has(U))throw new R(E);return V.facade=U,j.set(U,V),V},C=function(U){return j.get(U)||{}},D=function(U){return j.has(U)}}else{var B=$("state");A[B]=!0,O=function(U,V){if(y(U,B))throw new R(E);return V.facade=U,p(U,B,V),V},C=function(U){return y(U,B)?U[B]:{}},D=function(U){return y(U,B)}}x.exports={set:O,get:C,has:D,enforce:M,getterFor:F}},function(x,b,r){var u=r(4),d=r(21),h=u.WeakMap;x.exports=d(h)&&/native code/.test(String(h))},function(x,b,r){var u=r(34),d=r(40),h=u("keys");x.exports=function(p){return h[p]||(h[p]=d(p))}},function(x){x.exports={}},function(x,b,r){var u=r(38),d=r(56),h=r(5),p=r(44);x.exports=function(y,T,$){for(var A=d(T),E=p.f,R=h.f,I=0;IR;)d(E,O=A[R++])&&(~p(I,O)||T(I,O));return I}},function(x,b,r){var u=r(12),d=r(60),h=r(63),p=function(y){return function(T,$,A){var E=u(T),R=h(E);if(R===0)return!y&&-1;var I=d(A,R),O;if(y&&$!==$){for(;R>I;)if(O=E[I++],O!==O)return!0}else for(;R>I;I++)if((y||I in E)&&E[I]===$)return y||I||0;return!y&&-1}};x.exports={includes:p(!0),indexOf:p(!1)}},function(x,b,r){var u=r(61),d=Math.max,h=Math.min;x.exports=function(p,y){var T=u(p);return T<0?d(T+y,0):h(T,y)}},function(x,b,r){var u=r(62);x.exports=function(d){var h=+d;return h!==h||h===0?0:u(h)}},function(x){var b=Math.ceil,r=Math.floor;x.exports=Math.trunc||function(d){var h=+d;return(h>0?r:b)(h)}},function(x,b,r){var u=r(64);x.exports=function(d){return u(d.length)}},function(x,b,r){var u=r(61),d=Math.min;x.exports=function(h){var p=u(h);return p>0?d(p,9007199254740991):0}},function(x){x.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(x,b){b.f=Object.getOwnPropertySymbols},function(x,b,r){var u=r(7),d=r(21),h=/#|\.prototype\./,p=function(E,R){var I=T[y(E)];return I===A?!0:I===$?!1:d(R)?u(R):!!R},y=p.normalize=function(E){return String(E).replace(h,".").toLowerCase()},T=p.data={},$=p.NATIVE="N",A=p.POLYFILL="P";x.exports=p},function(x,b,r){var u=r(69),d=String;x.exports=function(h){if(u(h)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return d(h)}},function(x,b,r){var u=r(70),d=r(21),h=r(15),p=r(33),y=p("toStringTag"),T=Object,$=h(function(){return arguments}())==="Arguments",A=function(E,R){try{return E[R]}catch(I){}};x.exports=u?h:function(E){var R,I,O;return E===void 0?"Undefined":E===null?"Null":typeof(I=A(R=T(E),y))=="string"?I:$?h(R):(O=h(R))==="Object"&&d(R.callee)?"Arguments":O}},function(x,b,r){var u=r(33),d=u("toStringTag"),h={};h[d]="z",x.exports=String(h)==="[object z]"},function(x,b,r){var u=r(46),d=r(72),h=r(65),p=r(54),y=r(74),T=r(42),$=r(53),A=">",E="<",R="prototype",I="script",O=$("IE_PROTO"),C=function(){},D=function(U){return E+I+A+U+E+"/"+I+A},M=function(U){U.write(D("")),U.close();var V=U.parentWindow.Object;return U=null,V},F=function(){var U=T("iframe"),V="java"+I+":",z;return U.style.display="none",y.appendChild(U),U.src=String(V),z=U.contentWindow.document,z.open(),z.write(D("document.F=Object")),z.close(),z.F},j,B=function(){try{j=new ActiveXObject("htmlfile")}catch(V){}B=typeof document!="undefined"?document.domain&&j?M(j):F():M(j);for(var U=h.length;U--;)delete B[R][h[U]];return B()};p[O]=!0,x.exports=Object.create||function(V,z){var G;return V!==null?(C[R]=u(V),G=new C,C[R]=null,G[O]=V):G=B(),z===void 0?G:d.f(G,z)}},function(x,b,r){var u=r(6),d=r(45),h=r(44),p=r(46),y=r(12),T=r(73);b.f=u&&!d?Object.defineProperties:function(A,E){p(A);for(var R=y(E),I=T(E),O=I.length,C=0,D;O>C;)h.f(A,D=I[C++],R[D]);return A}},function(x,b,r){var u=r(58),d=r(65);x.exports=Object.keys||function(p){return u(p,d)}},function(x,b,r){var u=r(23);x.exports=u("document","documentElement")},function(x,b,r){var u=r(15),d=r(12),h=r(57).f,p=r(76),y=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],T=function($){try{return h($)}catch(A){return p(y)}};x.exports.f=function(A){return y&&u(A)==="Window"?T(A):h(d(A))}},function(x,b,r){var u=r(14);x.exports=u([].slice)},function(x,b,r){var u=r(48),d=r(44);x.exports=function(h,p,y){return y.get&&u(y.get,p,{getter:!0}),y.set&&u(y.set,p,{setter:!0}),d.f(h,p,y)}},function(x,b,r){var u=r(33);b.f=u},function(x,b,r){var u=r(80),d=r(38),h=r(78),p=r(44).f;x.exports=function(y){var T=u.Symbol||(u.Symbol={});d(T,y)||p(T,y,{value:h.f(y)})}},function(x,b,r){var u=r(4);x.exports=u},function(x,b,r){var u=r(8),d=r(23),h=r(33),p=r(47);x.exports=function(){var y=d("Symbol"),T=y&&y.prototype,$=T&&T.valueOf,A=h("toPrimitive");T&&!T[A]&&p(T,A,function(E){return u($,this)},{arity:1})}},function(x,b,r){var u=r(44).f,d=r(38),h=r(33),p=h("toStringTag");x.exports=function(y,T,$){y&&!$&&(y=y.prototype),y&&!d(y,p)&&u(y,p,{configurable:!0,value:T})}},function(x,b,r){var u=r(84),d=r(14),h=r(13),p=r(39),y=r(63),T=r(86),$=d([].push),A=function(E){var R=E===1,I=E===2,O=E===3,C=E===4,D=E===6,M=E===7,F=E===5||D;return function(j,B,U,V){for(var z=p(j),G=h(z),H=y(G),k=u(B,U),J=0,q=V||T,nt=R?q(j,H):I||M?q(j,0):void 0,rt,_;H>J;J++)if((F||J in G)&&(rt=G[J],_=k(rt,J,z),E))if(R)nt[J]=_;else if(_)switch(E){case 3:return!0;case 5:return rt;case 6:return J;case 2:$(nt,rt)}else switch(E){case 4:return!1;case 7:$(nt,rt)}return D?-1:O||C?C:nt}};x.exports={forEach:A(0),map:A(1),filter:A(2),some:A(3),every:A(4),find:A(5),findIndex:A(6),filterReject:A(7)}},function(x,b,r){var u=r(85),d=r(30),h=r(9),p=u(u.bind);x.exports=function(y,T){return d(y),T===void 0?y:h?p(y,T):function(){return y.apply(T,arguments)}}},function(x,b,r){var u=r(15),d=r(14);x.exports=function(h){if(u(h)==="Function")return d(h)}},function(x,b,r){var u=r(87);x.exports=function(d,h){return new(u(d))(h===0?0:h)}},function(x,b,r){var u=r(88),d=r(89),h=r(20),p=r(33),y=p("species"),T=Array;x.exports=function($){var A;return u($)&&(A=$.constructor,d(A)&&(A===T||u(A.prototype))?A=void 0:h(A)&&(A=A[y],A===null&&(A=void 0))),A===void 0?T:A}},function(x,b,r){var u=r(15);x.exports=Array.isArray||function(h){return u(h)==="Array"}},function(x,b,r){var u=r(14),d=r(7),h=r(21),p=r(69),y=r(23),T=r(50),$=function(){},A=y("Reflect","construct"),E=/^\s*(?:class|function)\b/,R=u(E.exec),I=!E.test($),O=function(M){if(!h(M))return!1;try{return A($,[],M),!0}catch(F){return!1}},C=function(M){if(!h(M))return!1;switch(p(M)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return I||!!R(E,T(M))}catch(F){return!0}};C.sham=!0,x.exports=!A||d(function(){var D;return O(O.call)||!O(Object)||!O(function(){D=!0})||D})?C:O},function(x,b,r){var u=r(3),d=r(23),h=r(38),p=r(68),y=r(34),T=r(91),$=y("string-to-symbol-registry"),A=y("symbol-to-string-registry");u({target:"Symbol",stat:!0,forced:!T},{for:function(E){var R=p(E);if(h($,R))return $[R];var I=d("Symbol")(R);return $[R]=I,A[I]=R,I}})},function(x,b,r){var u=r(26);x.exports=u&&!!Symbol.for&&!!Symbol.keyFor},function(x,b,r){var u=r(3),d=r(38),h=r(22),p=r(31),y=r(34),T=r(91),$=y("symbol-to-string-registry");u({target:"Symbol",stat:!0,forced:!T},{keyFor:function(E){if(!h(E))throw new TypeError(p(E)+" is not a symbol");if(d($,E))return $[E]}})},function(x,b,r){var u=r(3),d=r(23),h=r(94),p=r(8),y=r(14),T=r(7),$=r(21),A=r(22),E=r(76),R=r(95),I=r(26),O=String,C=d("JSON","stringify"),D=y(/./.exec),M=y("".charAt),F=y("".charCodeAt),j=y("".replace),B=y(1 .toString),U=/[\uD800-\uDFFF]/g,V=/^[\uD800-\uDBFF]$/,z=/^[\uDC00-\uDFFF]$/,G=!I||T(function(){var q=d("Symbol")("stringify detection");return C([q])!=="[null]"||C({a:q})!=="{}"||C(Object(q))!=="{}"}),H=T(function(){return C("\uDF06\uD834")!=='"\\udf06\\ud834"'||C("\uDEAD")!=='"\\udead"'}),k=function(q,nt){var rt=E(arguments),_=R(nt);if(!(!$(_)&&(q===void 0||A(q))))return rt[1]=function(tt,et){if($(_)&&(et=p(_,this,O(tt),et)),!A(et))return et},h(C,null,rt)},J=function(q,nt,rt){var _=M(rt,nt-1),tt=M(rt,nt+1);return D(V,q)&&!D(z,tt)||D(z,q)&&!D(V,_)?"\\u"+B(F(q,0),16):q};C&&u({target:"JSON",stat:!0,arity:3,forced:G||H},{stringify:function(nt,rt,_){var tt=E(arguments),et=h(G?k:C,null,tt);return H&&typeof et=="string"?j(et,U,J):et}})},function(x,b,r){var u=r(9),d=Function.prototype,h=d.apply,p=d.call;x.exports=typeof Reflect=="object"&&Reflect.apply||(u?p.bind(h):function(){return p.apply(h,arguments)})},function(x,b,r){var u=r(14),d=r(88),h=r(21),p=r(15),y=r(68),T=u([].push);x.exports=function($){if(h($))return $;if(d($)){for(var A=$.length,E=[],R=0;RU&&R(_,arguments[U]),_});if(J.prototype=H,z!=="Error"?y?y(J,k):T(J,k,{name:!0}):O&&B in G&&($(J,G,B),$(J,G,"prepareStackTrace")),T(J,G),!C)try{H.name!==z&&h(H,"name",z),H.constructor=J}catch(q){}return J}}},function(x,b,r){var u=r(114),d=r(20),h=r(16),p=r(115);x.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var y=!1,T={},$;try{$=u(Object.prototype,"__proto__","set"),$(T,[]),y=T instanceof Array}catch(A){}return function(E,R){return h(E),p(R),d(E)&&(y?$(E,R):E.__proto__=R),E}}():void 0)},function(x,b,r){var u=r(14),d=r(30);x.exports=function(h,p,y){try{return u(d(Object.getOwnPropertyDescriptor(h,p)[y]))}catch(T){}}},function(x,b,r){var u=r(116),d=String,h=TypeError;x.exports=function(p){if(u(p))return p;throw new h("Can't set "+d(p)+" as a prototype")}},function(x,b,r){var u=r(20);x.exports=function(d){return u(d)||d===null}},function(x,b,r){var u=r(44).f;x.exports=function(d,h,p){p in d||u(d,p,{configurable:!0,get:function(){return h[p]},set:function(y){h[p]=y}})}},function(x,b,r){var u=r(21),d=r(20),h=r(113);x.exports=function(p,y,T){var $,A;return h&&u($=y.constructor)&&$!==T&&d(A=$.prototype)&&A!==T.prototype&&h(p,A),p}},function(x,b,r){var u=r(68);x.exports=function(d,h){return d===void 0?arguments.length<2?"":h:u(d)}},function(x,b,r){var u=r(20),d=r(43);x.exports=function(h,p){u(p)&&"cause"in p&&d(h,"cause",p.cause)}},function(x,b,r){var u=r(43),d=r(122),h=r(123),p=Error.captureStackTrace;x.exports=function(y,T,$,A){h&&(p?p(y,T):u(y,"stack",d($,A)))}},function(x,b,r){var u=r(14),d=Error,h=u("".replace),p=function($){return String(new d($).stack)}("zxcasd"),y=/\n\s*at [^:]*:[^\n]*/,T=y.test(p);x.exports=function($,A){if(T&&typeof $=="string"&&!d.prepareStackTrace)for(;A--;)$=h($,y,"");return $}},function(x,b,r){var u=r(7),d=r(11);x.exports=!u(function(){var h=new Error("a");return"stack"in h?(Object.defineProperty(h,"stack",d(1,7)),h.stack!==7):!0})},function(x,b,r){var u=r(47),d=r(125),h=Error.prototype;h.toString!==d&&u(h,"toString",d)},function(x,b,r){var u=r(6),d=r(7),h=r(46),p=r(119),y=Error.prototype.toString,T=d(function(){if(u){var $=Object.create(Object.defineProperty({},"name",{get:function(){return this===$}}));if(y.call($)!=="true")return!0}return y.call({message:1,name:2})!=="2: 1"||y.call({})!=="Error"});x.exports=T?function(){var A=h(this),E=p(A.name,"Error"),R=p(A.message);return E?R?E+": "+R:E:R}:y},function(x,b,r){r(127)},function(x,b,r){var u=r(3),d=r(24),h=r(128),p=r(113),y=r(55),T=r(71),$=r(43),A=r(11),E=r(120),R=r(121),I=r(130),O=r(119),C=r(33),D=C("toStringTag"),M=Error,F=[].push,j=function(V,z){var G=d(B,this),H;p?H=p(new M,G?h(this):B):(H=G?this:T(B),$(H,D,"Error")),z!==void 0&&$(H,"message",O(z)),R(H,j,H.stack,1),arguments.length>2&&E(H,arguments[2]);var k=[];return I(V,F,{that:k}),$(H,"errors",k),H};p?p(j,M):y(j,M,{name:!0});var B=j.prototype=T(M.prototype,{constructor:A(1,j),message:A(1,""),name:A(1,"AggregateError")});u({global:!0,constructor:!0,arity:2},{AggregateError:j})},function(x,b,r){var u=r(38),d=r(21),h=r(39),p=r(53),y=r(129),T=p("IE_PROTO"),$=Object,A=$.prototype;x.exports=y?$.getPrototypeOf:function(E){var R=h(E);if(u(R,T))return R[T];var I=R.constructor;return d(I)&&R instanceof I?I.prototype:R instanceof $?A:null}},function(x,b,r){var u=r(7);x.exports=!u(function(){function d(){}return d.prototype.constructor=null,Object.getPrototypeOf(new d)!==d.prototype})},function(x,b,r){var u=r(84),d=r(8),h=r(46),p=r(31),y=r(131),T=r(63),$=r(24),A=r(133),E=r(134),R=r(135),I=TypeError,O=function(D,M){this.stopped=D,this.result=M},C=O.prototype;x.exports=function(D,M,F){var j=F&&F.that,B=!!(F&&F.AS_ENTRIES),U=!!(F&&F.IS_RECORD),V=!!(F&&F.IS_ITERATOR),z=!!(F&&F.INTERRUPTED),G=u(M,j),H,k,J,q,nt,rt,_,tt=function(ot){return H&&R(H,"normal",ot),new O(!0,ot)},et=function(ot){return B?(h(ot),z?G(ot[0],ot[1],tt):G(ot[0],ot[1])):z?G(ot,tt):G(ot)};if(U)H=D.iterator;else if(V)H=D;else{if(k=E(D),!k)throw new I(p(D)+" is not iterable");if(y(k)){for(J=0,q=T(D);q>J;J++)if(nt=et(D[J]),nt&&$(C,nt))return nt;return new O(!1)}H=A(D,k)}for(rt=U?D.next:H.next;!(_=d(rt,H)).done;){try{nt=et(_.value)}catch(ot){R(H,"throw",ot)}if(typeof nt=="object"&&nt&&$(C,nt))return nt}return new O(!1)}},function(x,b,r){var u=r(33),d=r(132),h=u("iterator"),p=Array.prototype;x.exports=function(y){return y!==void 0&&(d.Array===y||p[h]===y)}},function(x){x.exports={}},function(x,b,r){var u=r(8),d=r(30),h=r(46),p=r(31),y=r(134),T=TypeError;x.exports=function($,A){var E=arguments.length<2?y($):A;if(d(E))return h(u(E,$));throw new T(p($)+" is not iterable")}},function(x,b,r){var u=r(69),d=r(29),h=r(17),p=r(132),y=r(33),T=y("iterator");x.exports=function($){if(!h($))return d($,T)||d($,"@@iterator")||p[u($)]}},function(x,b,r){var u=r(8),d=r(46),h=r(29);x.exports=function(p,y,T){var $,A;d(p);try{if($=h(p,"return"),!$){if(y==="throw")throw T;return T}$=u($,p)}catch(E){A=!0,$=E}if(y==="throw")throw T;if(A)throw $;return d($),T}},function(x,b,r){var u=r(3),d=r(23),h=r(94),p=r(7),y=r(112),T="AggregateError",$=d(T),A=!p(function(){return $([1]).errors[0]!==1})&&p(function(){return $([1],T,{cause:7}).cause!==7});u({global:!0,constructor:!0,arity:2,forced:A},{AggregateError:y(T,function(E){return function(I,O){return h(E,this,arguments)}},A,!0)})},function(x,b,r){var u=r(3),d=r(39),h=r(63),p=r(61),y=r(138);u({target:"Array",proto:!0},{at:function($){var A=d(this),E=h(A),R=p($),I=R>=0?R:E+R;return I<0||I>=E?void 0:A[I]}}),y("at")},function(x,b,r){var u=r(33),d=r(71),h=r(44).f,p=u("unscopables"),y=Array.prototype;y[p]===void 0&&h(y,p,{configurable:!0,value:d(null)}),x.exports=function(T){y[p][T]=!0}},function(x,b,r){var u=r(3),d=r(7),h=r(88),p=r(20),y=r(39),T=r(63),$=r(140),A=r(141),E=r(86),R=r(142),I=r(33),O=r(27),C=I("isConcatSpreadable"),D=O>=51||!d(function(){var j=[];return j[C]=!1,j.concat()[0]!==j}),M=function(j){if(!p(j))return!1;var B=j[C];return B!==void 0?!!B:h(j)},F=!D||!R("concat");u({target:"Array",proto:!0,arity:1,forced:F},{concat:function(B){var U=y(this),V=E(U,0),z=0,G,H,k,J,q;for(G=-1,k=arguments.length;Gr)throw b("Maximum allowed index exceeded");return u}},function(x,b,r){var u=r(6),d=r(44),h=r(11);x.exports=function(p,y,T){u?d.f(p,y,h(0,T)):p[y]=T}},function(x,b,r){var u=r(7),d=r(33),h=r(27),p=d("species");x.exports=function(y){return h>=51||!u(function(){var T=[],$=T.constructor={};return $[p]=function(){return{foo:1}},T[y](Boolean).foo!==1})}},function(x,b,r){var u=r(3),d=r(144),h=r(138);u({target:"Array",proto:!0},{copyWithin:d}),h("copyWithin")},function(x,b,r){var u=r(39),d=r(60),h=r(63),p=r(145),y=Math.min;x.exports=[].copyWithin||function($,A){var E=u(this),R=h(E),I=d($,R),O=d(A,R),C=arguments.length>2?arguments[2]:void 0,D=y((C===void 0?R:d(C,R))-O,R-I),M=1;for(O0;)O in E?E[I]=E[O]:p(E,I),I+=M,O+=M;return E}},function(x,b,r){var u=r(31),d=TypeError;x.exports=function(h,p){if(!delete h[p])throw new d("Cannot delete property "+u(p)+" of "+u(h))}},function(x,b,r){var u=r(3),d=r(83).every,h=r(147),p=h("every");u({target:"Array",proto:!0,forced:!p},{every:function(T){return d(this,T,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(7);x.exports=function(d,h){var p=[][d];return!!p&&u(function(){p.call(null,h||function(){return 1},1)})}},function(x,b,r){var u=r(3),d=r(149),h=r(138);u({target:"Array",proto:!0},{fill:d}),h("fill")},function(x,b,r){var u=r(39),d=r(60),h=r(63);x.exports=function(y){for(var T=u(this),$=h(T),A=arguments.length,E=d(A>1?arguments[1]:void 0,$),R=A>2?arguments[2]:void 0,I=R===void 0?$:d(R,$);I>E;)T[E++]=y;return T}},function(x,b,r){var u=r(3),d=r(83).filter,h=r(142),p=h("filter");u({target:"Array",proto:!0,forced:!p},{filter:function(T){return d(this,T,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(83).find,h=r(138),p="find",y=!0;p in[]&&Array(1)[p](function(){y=!1}),u({target:"Array",proto:!0,forced:y},{find:function($){return d(this,$,arguments.length>1?arguments[1]:void 0)}}),h(p)},function(x,b,r){var u=r(3),d=r(83).findIndex,h=r(138),p="findIndex",y=!0;p in[]&&Array(1)[p](function(){y=!1}),u({target:"Array",proto:!0,forced:y},{findIndex:function($){return d(this,$,arguments.length>1?arguments[1]:void 0)}}),h(p)},function(x,b,r){var u=r(3),d=r(154).findLast,h=r(138);u({target:"Array",proto:!0},{findLast:function(y){return d(this,y,arguments.length>1?arguments[1]:void 0)}}),h("findLast")},function(x,b,r){var u=r(84),d=r(13),h=r(39),p=r(63),y=function(T){var $=T===1;return function(A,E,R){for(var I=h(A),O=d(I),C=p(O),D=u(E,R),M,F;C-- >0;)if(M=O[C],F=D(M,C,I),F)switch(T){case 0:return M;case 1:return C}return $?-1:void 0}};x.exports={findLast:y(0),findLastIndex:y(1)}},function(x,b,r){var u=r(3),d=r(154).findLastIndex,h=r(138);u({target:"Array",proto:!0},{findLastIndex:function(y){return d(this,y,arguments.length>1?arguments[1]:void 0)}}),h("findLastIndex")},function(x,b,r){var u=r(3),d=r(157),h=r(39),p=r(63),y=r(61),T=r(86);u({target:"Array",proto:!0},{flat:function(){var A=arguments.length?arguments[0]:void 0,E=h(this),R=p(E),I=T(E,0);return I.length=d(I,E,E,R,0,A===void 0?1:y(A)),I}})},function(x,b,r){var u=r(88),d=r(63),h=r(140),p=r(84),y=function(T,$,A,E,R,I,O,C){for(var D=R,M=0,F=O?p(O,C):!1,j,B;M0&&u(j)?(B=d(j),D=y(T,$,j,B,D,I-1)-1):(h(D+1),T[D]=j),D++),M++;return D};x.exports=y},function(x,b,r){var u=r(3),d=r(157),h=r(30),p=r(39),y=r(63),T=r(86);u({target:"Array",proto:!0},{flatMap:function(A){var E=p(this),R=y(E),I;return h(A),I=T(E,0),I.length=d(I,E,E,R,0,1,A,arguments.length>1?arguments[1]:void 0),I}})},function(x,b,r){var u=r(3),d=r(160);u({target:"Array",proto:!0,forced:[].forEach!==d},{forEach:d})},function(x,b,r){var u=r(83).forEach,d=r(147),h=d("forEach");x.exports=h?[].forEach:function(y){return u(this,y,arguments.length>1?arguments[1]:void 0)}},function(x,b,r){var u=r(3),d=r(162),h=r(164),p=!h(function(y){Array.from(y)});u({target:"Array",stat:!0,forced:p},{from:d})},function(x,b,r){var u=r(84),d=r(8),h=r(39),p=r(163),y=r(131),T=r(89),$=r(63),A=r(141),E=r(133),R=r(134),I=Array;x.exports=function(C){var D=h(C),M=T(this),F=arguments.length,j=F>1?arguments[1]:void 0,B=j!==void 0;B&&(j=u(j,F>2?arguments[2]:void 0));var U=R(D),V=0,z,G,H,k,J,q;if(U&&!(this===I&&y(U)))for(G=M?new this:[],k=E(D,U),J=k.next;!(H=d(J,k)).done;V++)q=B?p(k,j,[H.value,V],!0):H.value,A(G,V,q);else for(z=$(D),G=M?new this(z):I(z);z>V;V++)q=B?j(D[V],V):D[V],A(G,V,q);return G.length=V,G}},function(x,b,r){var u=r(46),d=r(135);x.exports=function(h,p,y,T){try{return T?p(u(y)[0],y[1]):p(y)}catch($){d(h,"throw",$)}}},function(x,b,r){var u=r(33),d=u("iterator"),h=!1;try{var p=0,y={next:function(){return{done:!!p++}},return:function(){h=!0}};y[d]=function(){return this},Array.from(y,function(){throw 2})}catch(T){}x.exports=function(T,$){try{if(!$&&!h)return!1}catch(R){return!1}var A=!1;try{var E={};E[d]=function(){return{next:function(){return{done:A=!0}}}},T(E)}catch(R){}return A}},function(x,b,r){var u=r(3),d=r(59).includes,h=r(7),p=r(138),y=h(function(){return!Array(1).includes()});u({target:"Array",proto:!0,forced:y},{includes:function($){return d(this,$,arguments.length>1?arguments[1]:void 0)}}),p("includes")},function(x,b,r){var u=r(3),d=r(85),h=r(59).indexOf,p=r(147),y=d([].indexOf),T=!!y&&1/y([1],1,-0)<0,$=T||!p("indexOf");u({target:"Array",proto:!0,forced:$},{indexOf:function(E){var R=arguments.length>1?arguments[1]:void 0;return T?y(this,E,R)||0:h(this,E,R)}})},function(x,b,r){var u=r(3),d=r(88);u({target:"Array",stat:!0},{isArray:d})},function(x,b,r){var u=r(12),d=r(138),h=r(132),p=r(51),y=r(44).f,T=r(169),$=r(172),A=r(36),E=r(6),R="Array Iterator",I=p.set,O=p.getterFor(R);x.exports=T(Array,"Array",function(D,M){I(this,{type:R,target:u(D),index:0,kind:M})},function(){var D=O(this),M=D.target,F=D.index++;if(!M||F>=M.length)return D.target=null,$(void 0,!0);switch(D.kind){case"keys":return $(F,!1);case"values":return $(M[F],!1)}return $([F,M[F]],!1)},"values");var C=h.Arguments=h.Array;if(d("keys"),d("values"),d("entries"),!A&&E&&C.name!=="values")try{y(C,"name",{value:"values"})}catch(D){}},function(x,b,r){var u=r(3),d=r(8),h=r(36),p=r(49),y=r(21),T=r(170),$=r(128),A=r(113),E=r(82),R=r(43),I=r(47),O=r(33),C=r(132),D=r(171),M=p.PROPER,F=p.CONFIGURABLE,j=D.IteratorPrototype,B=D.BUGGY_SAFARI_ITERATORS,U=O("iterator"),V="keys",z="values",G="entries",H=function(){return this};x.exports=function(k,J,q,nt,rt,_,tt){T(q,J,nt);var et=function(Qt){if(Qt===rt&&yt)return yt;if(!B&&Qt&&Qt in gt)return gt[Qt];switch(Qt){case V:return function(){return new q(this,Qt)};case z:return function(){return new q(this,Qt)};case G:return function(){return new q(this,Qt)}}return function(){return new q(this)}},ot=J+" Iterator",mt=!1,gt=k.prototype,xt=gt[U]||gt["@@iterator"]||rt&>[rt],yt=!B&&xt||et(rt),Ut=J==="Array"&>.entries||xt,Dt,Xt,kt;if(Ut&&(Dt=$(Ut.call(new k)),Dt!==Object.prototype&&Dt.next&&(!h&&$(Dt)!==j&&(A?A(Dt,j):y(Dt[U])||I(Dt,U,H)),E(Dt,ot,!0,!0),h&&(C[ot]=H))),M&&rt===z&&xt&&xt.name!==z&&(!h&&F?R(gt,"name",z):(mt=!0,yt=function(){return d(xt,this)})),rt)if(Xt={values:et(z),keys:_?yt:et(V),entries:et(G)},tt)for(kt in Xt)(B||mt||!(kt in gt))&&I(gt,kt,Xt[kt]);else u({target:J,proto:!0,forced:B||mt},Xt);return(!h||tt)&>[U]!==yt&&I(gt,U,yt,{name:rt}),C[J]=yt,Xt}},function(x,b,r){var u=r(171).IteratorPrototype,d=r(71),h=r(11),p=r(82),y=r(132),T=function(){return this};x.exports=function($,A,E,R){var I=A+" Iterator";return $.prototype=d(u,{next:h(+!R,E)}),p($,I,!1,!0),y[I]=T,$}},function(x,b,r){var u=r(7),d=r(21),h=r(20),p=r(71),y=r(128),T=r(47),$=r(33),A=r(36),E=$("iterator"),R=!1,I,O,C;[].keys&&(C=[].keys(),"next"in C?(O=y(y(C)),O!==Object.prototype&&(I=O)):R=!0);var D=!h(I)||u(function(){var M={};return I[E].call(M)!==M});D?I={}:A&&(I=p(I)),d(I[E])||T(I,E,function(){return this}),x.exports={IteratorPrototype:I,BUGGY_SAFARI_ITERATORS:R}},function(x){x.exports=function(b,r){return{value:b,done:r}}},function(x,b,r){var u=r(3),d=r(14),h=r(13),p=r(12),y=r(147),T=d([].join),$=h!==Object,A=$||!y("join",",");u({target:"Array",proto:!0,forced:A},{join:function(R){return T(p(this),R===void 0?",":R)}})},function(x,b,r){var u=r(3),d=r(175);u({target:"Array",proto:!0,forced:d!==[].lastIndexOf},{lastIndexOf:d})},function(x,b,r){var u=r(94),d=r(12),h=r(61),p=r(63),y=r(147),T=Math.min,$=[].lastIndexOf,A=!!$&&1/[1].lastIndexOf(1,-0)<0,E=y("lastIndexOf"),R=A||!E;x.exports=R?function(O){if(A)return u($,this,arguments)||0;var C=d(this),D=p(C);if(D===0)return-1;var M=D-1;for(arguments.length>1&&(M=T(M,h(arguments[1]))),M<0&&(M=D+M);M>=0;M--)if(M in C&&C[M]===O)return M||0;return-1}:$},function(x,b,r){var u=r(3),d=r(83).map,h=r(142),p=h("map");u({target:"Array",proto:!0,forced:!p},{map:function(T){return d(this,T,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(7),h=r(89),p=r(141),y=Array,T=d(function(){function $(){}return!(y.of.call($)instanceof $)});u({target:"Array",stat:!0,forced:T},{of:function(){for(var A=0,E=arguments.length,R=new(h(this)?this:y)(E);E>A;)p(R,A,arguments[A++]);return R.length=E,R}})},function(x,b,r){var u=r(3),d=r(39),h=r(63),p=r(179),y=r(140),T=r(7),$=T(function(){return[].push.call({length:4294967296},1)!==4294967297}),A=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(R){return R instanceof TypeError}},E=$||!A();u({target:"Array",proto:!0,arity:1,forced:E},{push:function(I){var O=d(this),C=h(O),D=arguments.length;y(C+D);for(var M=0;M79&&p<83,$=T||!h("reduce");u({target:"Array",proto:!0,forced:$},{reduce:function(E){var R=arguments.length;return d(this,E,R,R>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(30),d=r(39),h=r(13),p=r(63),y=TypeError,T="Reduce of empty array with no initial value",$=function(A){return function(E,R,I,O){var C=d(E),D=h(C),M=p(C);if(u(R),M===0&&I<2)throw new y(T);var F=A?M-1:0,j=A?-1:1;if(I<2)for(;;){if(F in D){O=D[F],F+=j;break}if(F+=j,A?F<0:M<=F)throw new y(T)}for(;A?F>=0:M>F;F+=j)F in D&&(O=R(O,D[F],F,C));return O}};x.exports={left:$(!1),right:$(!0)}},function(x,b,r){var u=r(183);x.exports=u==="NODE"},function(x,b,r){var u=r(4),d=r(28),h=r(15),p=function(y){return d.slice(0,y.length)===y};x.exports=function(){return p("Bun/")?"BUN":p("Cloudflare-Workers")?"CLOUDFLARE":p("Deno/")?"DENO":p("Node.js/")?"NODE":u.Bun&&typeof Bun.version=="string"?"BUN":u.Deno&&typeof Deno.version=="object"?"DENO":h(u.process)==="process"?"NODE":u.window&&u.document?"BROWSER":"REST"}()},function(x,b,r){var u=r(3),d=r(181).right,h=r(147),p=r(27),y=r(182),T=!y&&p>79&&p<83,$=T||!h("reduceRight");u({target:"Array",proto:!0,forced:$},{reduceRight:function(E){return d(this,E,arguments.length,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(14),h=r(88),p=d([].reverse),y=[1,2];u({target:"Array",proto:!0,forced:String(y)===String(y.reverse())},{reverse:function(){return h(this)&&(this.length=this.length),p(this)}})},function(x,b,r){var u=r(3),d=r(88),h=r(89),p=r(20),y=r(60),T=r(63),$=r(12),A=r(141),E=r(33),R=r(142),I=r(76),O=R("slice"),C=E("species"),D=Array,M=Math.max;u({target:"Array",proto:!0,forced:!O},{slice:function(j,B){var U=$(this),V=T(U),z=y(j,V),G=y(B===void 0?V:B,V),H,k,J;if(d(U)&&(H=U.constructor,h(H)&&(H===D||d(H.prototype))?H=void 0:p(H)&&(H=H[C],H===null&&(H=void 0)),H===D||H===void 0))return I(U,z,G);for(k=new(H===void 0?D:H)(M(G-z,0)),J=0;z1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(14),h=r(30),p=r(39),y=r(63),T=r(145),$=r(68),A=r(7),E=r(189),R=r(147),I=r(190),O=r(191),C=r(27),D=r(192),M=[],F=d(M.sort),j=d(M.push),B=A(function(){M.sort(void 0)}),U=A(function(){M.sort(null)}),V=R("sort"),z=!A(function(){if(C)return C<70;if(!(I&&I>3)){if(O)return!0;if(D)return D<603;var k="",J,q,nt,rt;for(J=65;J<76;J++){switch(q=String.fromCharCode(J),J){case 66:case 69:case 70:case 72:nt=3;break;case 68:case 71:nt=4;break;default:nt=2}for(rt=0;rt<47;rt++)M.push({k:q+rt,v:nt})}for(M.sort(function(_,tt){return tt.v-_.v}),rt=0;rt$(q)?1:-1}};u({target:"Array",proto:!0,forced:G},{sort:function(J){J!==void 0&&h(J);var q=p(this);if(z)return J===void 0?F(q):F(q,J);var nt=[],rt=y(q),_,tt;for(tt=0;tt0;)p[E]=p[--E];E!==$++&&(p[E]=A)}else for(var R=d(T/2),I=h(u(p,0,R),y),O=h(u(p,R),y),C=I.length,D=O.length,M=0,F=0;MU-H+G;J--)R(B,J-1)}else if(G>H)for(J=U-H;J>V;J--)q=J+H-1,nt=J+G-1,q in B?B[nt]=B[q]:R(B,nt);for(J=0;J2?p:u(h),$=new d(T);T>y;)$[y]=h[y++];return $}},function(x,b,r){var u=r(4);x.exports=function(d,h){var p=u[d],y=p&&p.prototype;return y&&y[h]}},function(x,b,r){var u=r(3),d=r(138),h=r(140),p=r(63),y=r(60),T=r(12),$=r(61),A=Array,E=Math.max,R=Math.min;u({target:"Array",proto:!0},{toSpliced:function(O,C){var D=T(this),M=p(D),F=y(O,M),j=arguments.length,B=0,U,V,z,G;for(j===0?U=V=0:j===1?(U=0,V=M-F):(U=j-2,V=R(E($(C),0),M-F)),z=h(M+U-V),G=A(z);B=A||R<0)throw new h("Incorrect index");for(var I=new y(A),O=0;O>8&255]},oe=function(bt){return[bt&255,bt>>8&255,bt>>16&255,bt>>24&255]},ee=function(bt){return bt[3]<<24|bt[2]<<16|bt[1]<<8|bt[0]},fe=function(bt){return ae(D(bt),23,4)},Pe=function(bt){return ae(bt,52,8)},Me=function(bt,Ft,Tt){$(bt[rt],Ft,{configurable:!0,get:function(){return Tt(this)[Ft]}})},$e=function(bt,Ft,Tt,qt){var te=ot(bt),Zt=C(Tt),Ht=!!qt;if(Zt+Ft>te.byteLength)throw new Qt(tt);var He=te.bytes,Ze=Zt+te.byteOffset,ft=U(He,Ze,Ze+Ft);return Ht?ft:ge(ft)},ce=function(bt,Ft,Tt,qt,te,Zt){var Ht=ot(bt),He=C(Tt),Ze=qt(+te),ft=!!Zt;if(He+Ft>Ht.byteLength)throw new Qt(tt);for(var It=Ht.bytes,Pt=He+Ht.byteOffset,Ct=0;CtZt)throw new Qt("Wrong offset");if(qt=qt===void 0?Zt-Ht:O(qt),Ht+qt>Zt)throw new Qt(_);mt(this,{type:nt,buffer:Ft,byteLength:qt,byteOffset:Ht,bytes:te.bytes}),h||(this.buffer=Ft,this.byteLength=qt,this.byteOffset=Ht)},Dt=Ut[rt],h&&(Me(xt,"byteLength",et),Me(Ut,"buffer",ot),Me(Ut,"byteLength",ot),Me(Ut,"byteOffset",ot)),A(Dt,{getInt8:function(Ft){return $e(this,1,Ft)[0]<<24>>24},getUint8:function(Ft){return $e(this,1,Ft)[0]},getInt16:function(Ft){var Tt=$e(this,2,Ft,arguments.length>1?arguments[1]:!1);return(Tt[1]<<8|Tt[0])<<16>>16},getUint16:function(Ft){var Tt=$e(this,2,Ft,arguments.length>1?arguments[1]:!1);return Tt[1]<<8|Tt[0]},getInt32:function(Ft){return ee($e(this,4,Ft,arguments.length>1?arguments[1]:!1))},getUint32:function(Ft){return ee($e(this,4,Ft,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(Ft){return Mt($e(this,4,Ft,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(Ft){return Mt($e(this,8,Ft,arguments.length>1?arguments[1]:!1),52)},setInt8:function(Ft,Tt){ce(this,1,Ft,Yt,Tt)},setUint8:function(Ft,Tt){ce(this,1,Ft,Yt,Tt)},setInt16:function(Ft,Tt){ce(this,2,Ft,re,Tt,arguments.length>2?arguments[2]:!1)},setUint16:function(Ft,Tt){ce(this,2,Ft,re,Tt,arguments.length>2?arguments[2]:!1)},setInt32:function(Ft,Tt){ce(this,4,Ft,oe,Tt,arguments.length>2?arguments[2]:!1)},setUint32:function(Ft,Tt){ce(this,4,Ft,oe,Tt,arguments.length>2?arguments[2]:!1)},setFloat32:function(Ft,Tt){ce(this,4,Ft,fe,Tt,arguments.length>2?arguments[2]:!1)},setFloat64:function(Ft,Tt){ce(this,8,Ft,Pe,Tt,arguments.length>2?arguments[2]:!1)}});else{var Ae=k&>.name!==q;!E(function(){gt(1)})||!E(function(){new gt(-1)})||E(function(){return new gt,new gt(1.5),new gt(NaN),gt.length!==1||Ae&&!J})?(xt=function(Ft){return R(this,yt),V(new gt(C(Ft)),this,xt)},xt[rt]=yt,yt.constructor=xt,z(xt,gt)):Ae&&J&&T(gt,"name",q),j&&F(Dt)!==Xt&&j(Dt,Xt);var Te=new Ut(new xt(2)),de=d(Dt.setInt8);Te.setInt8(0,2147483648),Te.setInt8(1,2147483649),(Te.getInt8(0)||!Te.getInt8(1))&&A(Dt,{setInt8:function(Ft,Tt){de(this,Ft,Tt<<24>>24)},setUint8:function(Ft,Tt){de(this,Ft,Tt<<24>>24)}},{unsafe:!0})}G(xt,q),G(Ut,nt),x.exports={ArrayBuffer:xt,DataView:Ut}},function(x){x.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},function(x,b,r){var u=r(47);x.exports=function(d,h,p){for(var y in h)u(d,y,h[y],p);return d}},function(x,b,r){var u=r(24),d=TypeError;x.exports=function(h,p){if(u(p,h))return h;throw new d("Incorrect invocation")}},function(x,b,r){var u=r(61),d=r(64),h=RangeError;x.exports=function(p){if(p===void 0)return 0;var y=u(p),T=d(y);if(y!==T)throw new h("Wrong length or index");return T}},function(x,b,r){var u=r(214),d=11920928955078125e-23,h=34028234663852886e22,p=11754943508222875e-54;x.exports=Math.fround||function(T){return u(T,d,h,p)}},function(x,b,r){var u=r(215),d=Math.abs,h=2220446049250313e-31,p=1/h,y=function(T){return T+p-p};x.exports=function(T,$,A,E){var R=+T,I=d(R),O=u(R);if(IA||D!==D?O*(1/0):O*D}},function(x){x.exports=Math.sign||function(r){var u=+r;return u===0||u!==u?u:u<0?-1:1}},function(x){var b=Array,r=Math.abs,u=Math.pow,d=Math.floor,h=Math.log,p=Math.LN2,y=function($,A,E){var R=b(E),I=E*8-A-1,O=(1<>1,D=A===23?u(2,-24)-u(2,-77):0,M=$<0||$===0&&1/$<0?1:0,F=0,j,B,U;for($=r($),$!==$||$===1/0?(B=$!==$?1:0,j=O):(j=d(h($)/p),U=u(2,-j),$*U<1&&(j--,U*=2),j+C>=1?$+=D/U:$+=D*u(2,1-C),$*U>=2&&(j++,U/=2),j+C>=O?(B=0,j=O):j+C>=1?(B=($*U-1)*u(2,A),j+=C):(B=$*u(2,C-1)*u(2,A),j=0));A>=8;)R[F++]=B&255,B/=256,A-=8;for(j=j<0;)R[F++]=j&255,j/=256,I-=8;return R[F-1]|=M*128,R},T=function($,A){var E=$.length,R=E*8-A-1,I=(1<>1,C=R-7,D=E-1,M=$[D--],F=M&127,j;for(M>>=7;C>0;)F=F*256+$[D--],C-=8;for(j=F&(1<<-C)-1,F>>=-C,C+=A;C>0;)j=j*256+$[D--],C-=8;if(F===0)F=1-O;else{if(F===I)return j?NaN:M?-1/0:1/0;j+=u(2,A),F-=O}return(M?-1:1)*j*u(2,F-A)};x.exports={pack:y,unpack:T}},function(x,b,r){var u=r(3),d=r(218),h=d.NATIVE_ARRAY_BUFFER_VIEWS;u({target:"ArrayBuffer",stat:!0,forced:!h},{isView:d.isView})},function(x,b,r){var u=r(209),d=r(6),h=r(4),p=r(21),y=r(20),T=r(38),$=r(69),A=r(31),E=r(43),R=r(47),I=r(77),O=r(24),C=r(128),D=r(113),M=r(33),F=r(40),j=r(51),B=j.enforce,U=j.get,V=h.Int8Array,z=V&&V.prototype,G=h.Uint8ClampedArray,H=G&&G.prototype,k=V&&C(V),J=z&&C(z),q=Object.prototype,nt=h.TypeError,rt=M("toStringTag"),_=F("TYPED_ARRAY_TAG"),tt="TypedArrayConstructor",et=u&&!!D&&$(h.opera)!=="Opera",ot=!1,mt,gt,xt,yt={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Ut={BigInt64Array:8,BigUint64Array:8},Dt=function(Yt){if(!y(Yt))return!1;var re=$(Yt);return re==="DataView"||T(yt,re)||T(Ut,re)},Xt=function(Mt){var Yt=C(Mt);if(y(Yt)){var re=U(Yt);return re&&T(re,tt)?re[tt]:Xt(Yt)}},kt=function(Mt){if(!y(Mt))return!1;var Yt=$(Mt);return T(yt,Yt)||T(Ut,Yt)},Qt=function(Mt){if(kt(Mt))return Mt;throw new nt("Target is not a typed array")},me=function(Mt){if(p(Mt)&&(!D||O(k,Mt)))return Mt;throw new nt(A(Mt)+" is not a typed array constructor")},ge=function(Mt,Yt,re,oe){if(d){if(re)for(var ee in yt){var fe=h[ee];if(fe&&T(fe.prototype,Mt))try{delete fe.prototype[Mt]}catch(Pe){try{fe.prototype[Mt]=Yt}catch(Me){}}}(!J[Mt]||re)&&R(J,Mt,re?Yt:et&&z[Mt]||Yt,oe)}},ae=function(Mt,Yt,re){var oe,ee;if(d){if(D){if(re){for(oe in yt)if(ee=h[oe],ee&&T(ee,Mt))try{delete ee[Mt]}catch(fe){}}if(!k[Mt]||re)try{return R(k,Mt,re?Yt:et&&k[Mt]||Yt)}catch(fe){}else return}for(oe in yt)ee=h[oe],ee&&(!ee[Mt]||re)&&R(ee,Mt,Yt)}};for(mt in yt)gt=h[mt],xt=gt&>.prototype,xt?B(xt)[tt]=gt:et=!1;for(mt in Ut)gt=h[mt],xt=gt&>.prototype,xt&&(B(xt)[tt]=gt);if((!et||!p(k)||k===Function.prototype)&&(k=function(){throw new nt("Incorrect invocation")},et))for(mt in yt)h[mt]&&D(h[mt],k);if((!et||!J||J===q)&&(J=k.prototype,et))for(mt in yt)h[mt]&&D(h[mt].prototype,J);if(et&&C(H)!==J&&D(H,J),d&&!T(J,rt)){ot=!0,I(J,rt,{configurable:!0,get:function(){return y(this)?this[_]:void 0}});for(mt in yt)h[mt]&&E(h[mt],_,mt)}x.exports={NATIVE_ARRAY_BUFFER_VIEWS:et,TYPED_ARRAY_TAG:ot&&_,aTypedArray:Qt,aTypedArrayConstructor:me,exportTypedArrayMethod:ge,exportTypedArrayStaticMethod:ae,getTypedArrayConstructor:Xt,isView:Dt,isTypedArray:kt,TypedArray:k,TypedArrayPrototype:J}},function(x,b,r){var u=r(3),d=r(85),h=r(7),p=r(208),y=r(46),T=r(60),$=r(64),A=p.ArrayBuffer,E=p.DataView,R=E.prototype,I=d(A.prototype.slice),O=d(R.getUint8),C=d(R.setUint8),D=h(function(){return!new A(2).slice(1,void 0).byteLength});u({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:D},{slice:function(F,j){if(I&&j===void 0)return I(y(this),F);for(var B=y(this).byteLength,U=T(F,B),V=T(j===void 0?B:j,B),z=new A($(V-U)),G=new E(this),H=new E(z),k=0;U=k&&(!G||J))q=M(V,0,k);else{var nt=G&&!J&&j?{maxByteLength:j(V)}:void 0;q=new R(k,nt);for(var rt=new I(V),_=new I(q),tt=O(k,H),et=0;et92||p==="NODE"&&h>94||p==="BROWSER"&&h>97)return!1;var T=new ArrayBuffer(8),$=y(T,{transfer:[T]});return T.byteLength!==0||$.byteLength!==8})},function(x,b,r){var u=r(3),d=r(226);d&&u({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return d(this,arguments.length?arguments[0]:void 0,!1)}})},function(x,b,r){var u=r(3),d=r(14),h=r(7),p=h(function(){return new Date(16e11).getYear()!==120}),y=d(Date.prototype.getFullYear);u({target:"Date",proto:!0,forced:p},{getYear:function(){return y(this)-1900}})},function(x,b,r){var u=r(3),d=r(14),h=Date,p=d(h.prototype.getTime);u({target:"Date",stat:!0},{now:function(){return p(new h)}})},function(x,b,r){var u=r(3),d=r(14),h=r(61),p=Date.prototype,y=d(p.getTime),T=d(p.setFullYear);u({target:"Date",proto:!0},{setYear:function(A){y(this);var E=h(A),R=E>=0&&E<=99?E+1900:E;return T(this,R)}})},function(x,b,r){var u=r(3);u({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString})},function(x,b,r){var u=r(3),d=r(237);u({target:"Date",proto:!0,forced:Date.prototype.toISOString!==d},{toISOString:d})},function(x,b,r){var u=r(14),d=r(7),h=r(238).start,p=RangeError,y=isFinite,T=Math.abs,$=Date.prototype,A=$.toISOString,E=u($.getTime),R=u($.getUTCDate),I=u($.getUTCFullYear),O=u($.getUTCHours),C=u($.getUTCMilliseconds),D=u($.getUTCMinutes),M=u($.getUTCMonth),F=u($.getUTCSeconds);x.exports=d(function(){return A.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!d(function(){A.call(new Date(NaN))})?function(){if(!y(E(this)))throw new p("Invalid time value");var B=this,U=I(B),V=C(B),z=U<0?"-":U>9999?"+":"";return z+h(T(U),z?6:4,0)+"-"+h(M(B)+1,2,0)+"-"+h(R(B),2,0)+"T"+h(O(B),2,0)+":"+h(D(B),2,0)+":"+h(F(B),2,0)+"."+h(V,3,0)+"Z"}:A},function(x,b,r){var u=r(14),d=r(64),h=r(68),p=r(239),y=r(16),T=u(p),$=u("".slice),A=Math.ceil,E=function(R){return function(I,O,C){var D=h(y(I)),M=d(O),F=D.length,j=C===void 0?" ":h(C),B,U;return M<=F||j===""?D:(B=M-F,U=T(j,A(B/j.length)),U.length>B&&(U=$(U,0,B)),R?D+U:U+D)}};x.exports={start:E(!1),end:E(!0)}},function(x,b,r){var u=r(61),d=r(68),h=r(16),p=RangeError;x.exports=function(T){var $=d(h(this)),A="",E=u(T);if(E<0||E===1/0)throw new p("Wrong number of repetitions");for(;E>0;(E>>>=1)&&($+=$))E&1&&(A+=$);return A}},function(x,b,r){var u=r(3),d=r(7),h=r(39),p=r(19),y=d(function(){return new Date(NaN).toJSON()!==null||Date.prototype.toJSON.call({toISOString:function(){return 1}})!==1});u({target:"Date",proto:!0,arity:1,forced:y},{toJSON:function($){var A=h(this),E=p(A,"number");return typeof E=="number"&&!isFinite(E)?null:A.toISOString()}})},function(x,b,r){var u=r(38),d=r(47),h=r(242),p=r(33),y=p("toPrimitive"),T=Date.prototype;u(T,y)||d(T,y,h)},function(x,b,r){var u=r(46),d=r(32),h=TypeError;x.exports=function(p){if(u(this),p==="string"||p==="default")p="string";else if(p!=="number")throw new h("Incorrect hint");return d(this,p)}},function(x,b,r){var u=r(14),d=r(47),h=Date.prototype,p="Invalid Date",y="toString",T=u(h[y]),$=u(h.getTime);String(new Date(NaN))!==p&&d(h,y,function(){var E=$(this);return E===E?T(this):p})},function(x,b,r){var u=r(3),d=r(14),h=r(68),p=d("".charAt),y=d("".charCodeAt),T=d(/./.exec),$=d(1 .toString),A=d("".toUpperCase),E=/[\w*+\-./@]/,R=function(I,O){for(var C=$(I,16);C.length1?arguments[1]:void 0),_;_=_?_.next:nt.first;)for(rt(_.value,_.key,this);_&&_.removed;)_=_.previous},has:function(q){return!!k(this,q)}}),h(z,B?{get:function(q){var nt=k(this,q);return nt&&nt.value},set:function(q,nt){return H(this,q===0?0:q,nt)}}:{add:function(q){return H(this,q=q===0?0:q,q)}}),I&&d(z,"size",{configurable:!0,get:function(){return G(this).size}}),V},setStrong:function(F,j,B){var U=j+" Iterator",V=M(j),z=M(U);A(F,j,function(G,H){D(this,{type:U,target:G,state:V(G),kind:H,last:null})},function(){for(var G=z(this),H=G.kind,k=G.last;k&&k.removed;)k=k.previous;return!G.target||!(G.last=k=k?k.next:G.state.first)?(G.target=null,E(void 0,!0)):E(H==="keys"?k.key:H==="values"?k.value:[k.key,k.value],!1)},B?"entries":"values",!B,!0),R(j)}}},function(x,b,r){var u=r(3),d=r(14),h=r(30),p=r(16),y=r(130),T=r(279),$=r(36),A=r(7),E=T.Map,R=T.has,I=T.get,O=T.set,C=d([].push),D=$||A(function(){return E.groupBy("ab",function(M){return M}).get("a").length!==1});u({target:"Map",stat:!0,forced:$||D},{groupBy:function(F,j){p(F),h(j);var B=new E,U=0;return y(F,function(V){var z=j(V,U++);R(B,z)?C(I(B,z),V):O(B,z,[V])}),B}})},function(x,b,r){var u=r(14),d=Map.prototype;x.exports={Map,set:u(d.set),get:u(d.get),has:u(d.has),remove:u(d.delete),proto:d}},function(x,b,r){var u=r(3),d=r(281),h=Math.acosh,p=Math.log,y=Math.sqrt,T=Math.LN2,$=!h||Math.floor(h(Number.MAX_VALUE))!==710||h(1/0)!==1/0;u({target:"Math",stat:!0,forced:$},{acosh:function(E){var R=+E;return R<1?NaN:R>9490626562425156e-8?p(R)+T:d(R-1+y(R-1)*y(R+1))}})},function(x){var b=Math.log;x.exports=Math.log1p||function(u){var d=+u;return d>-1e-8&&d<1e-8?d-d*d/2:b(1+d)}},function(x,b,r){var u=r(3),d=Math.asinh,h=Math.log,p=Math.sqrt;function y($){var A=+$;return!isFinite(A)||A===0?A:A<0?-y(-A):h(A+p(A*A+1))}var T=!(d&&1/d(0)>0);u({target:"Math",stat:!0,forced:T},{asinh:y})},function(x,b,r){var u=r(3),d=Math.atanh,h=Math.log,p=!(d&&1/d(-0)<0);u({target:"Math",stat:!0,forced:p},{atanh:function(T){var $=+T;return $===0?$:h((1+$)/(1-$))/2}})},function(x,b,r){var u=r(3),d=r(215),h=Math.abs,p=Math.pow;u({target:"Math",stat:!0},{cbrt:function(T){var $=+T;return d($)*p(h($),.3333333333333333)}})},function(x,b,r){var u=r(3),d=Math.floor,h=Math.log,p=Math.LOG2E;u({target:"Math",stat:!0},{clz32:function(T){var $=T>>>0;return $?31-d(h($+.5)*p):32}})},function(x,b,r){var u=r(3),d=r(287),h=Math.cosh,p=Math.abs,y=Math.E,T=!h||h(710)===1/0;u({target:"Math",stat:!0,forced:T},{cosh:function(A){var E=d(p(A)-1)+1;return(E+1/(E*y*y))*(y/2)}})},function(x){var b=Math.expm1,r=Math.exp;x.exports=!b||b(10)>22025.465794806718||b(10)<22025.465794806718||b(-2e-17)!==-2e-17?function(d){var h=+d;return h===0?h:h>-1e-6&&h<1e-6?h+h*h/2:r(h)-1}:b},function(x,b,r){var u=r(3),d=r(287);u({target:"Math",stat:!0,forced:d!==Math.expm1},{expm1:d})},function(x,b,r){var u=r(3),d=r(213);u({target:"Math",stat:!0},{fround:d})},function(x,b,r){var u=r(3),d=Math.hypot,h=Math.abs,p=Math.sqrt,y=!!d&&d(1/0,NaN)!==1/0;u({target:"Math",stat:!0,arity:2,forced:y},{hypot:function($,A){for(var E=0,R=0,I=arguments.length,O=0,C,D;R0?(D=C/O,E+=D*D):E+=C;return O===1/0?1/0:O*p(E)}})},function(x,b,r){var u=r(3),d=r(7),h=Math.imul,p=d(function(){return h(4294967295,5)!==-5||h.length!==2});u({target:"Math",stat:!0,forced:p},{imul:function(T,$){var A=65535,E=+T,R=+$,I=A&E,O=A&R;return 0|I*O+((A&E>>>16)*O+I*(A&R>>>16)<<16>>>0)}})},function(x,b,r){var u=r(3),d=r(293);u({target:"Math",stat:!0},{log10:d})},function(x){var b=Math.log,r=Math.LOG10E;x.exports=Math.log10||function(d){return b(d)*r}},function(x,b,r){var u=r(3),d=r(281);u({target:"Math",stat:!0},{log1p:d})},function(x,b,r){var u=r(3),d=Math.log,h=Math.LN2;u({target:"Math",stat:!0},{log2:function(y){return d(y)/h}})},function(x,b,r){var u=r(3),d=r(215);u({target:"Math",stat:!0},{sign:d})},function(x,b,r){var u=r(3),d=r(7),h=r(287),p=Math.abs,y=Math.exp,T=Math.E,$=d(function(){return Math.sinh(-2e-17)!==-2e-17});u({target:"Math",stat:!0,forced:$},{sinh:function(E){var R=+E;return p(R)<1?(h(R)-h(-R))/2:(y(R-1)-y(-R-1))*(T/2)}})},function(x,b,r){var u=r(3),d=r(287),h=Math.exp;u({target:"Math",stat:!0},{tanh:function(y){var T=+y,$=d(T),A=d(-T);return $===1/0?1:A===1/0?-1:($-A)/(h(T)+h(-T))}})},function(x,b,r){var u=r(82);u(Math,"Math",!0)},function(x,b,r){var u=r(3),d=r(62);u({target:"Math",stat:!0},{trunc:d})},function(x,b,r){var u=r(3),d=r(36),h=r(6),p=r(4),y=r(80),T=r(14),$=r(67),A=r(38),E=r(118),R=r(24),I=r(22),O=r(19),C=r(7),D=r(57).f,M=r(5).f,F=r(44).f,j=r(302),B=r(303).trim,U="Number",V=p[U],z=y[U],G=V.prototype,H=p.TypeError,k=T("".slice),J=T("".charCodeAt),q=function(ot){var mt=O(ot,"number");return typeof mt=="bigint"?mt:nt(mt)},nt=function(ot){var mt=O(ot,"number"),gt,xt,yt,Ut,Dt,Xt,kt,Qt;if(I(mt))throw new H("Cannot convert a Symbol value to a number");if(typeof mt=="string"&&mt.length>2){if(mt=B(mt),gt=J(mt,0),gt===43||gt===45){if(xt=J(mt,2),xt===88||xt===120)return NaN}else if(gt===48){switch(J(mt,1)){case 66:case 98:yt=2,Ut=49;break;case 79:case 111:yt=8,Ut=55;break;default:return+mt}for(Dt=k(mt,2),Xt=Dt.length,kt=0;ktUt)return NaN;return parseInt(Dt,yt)}}return+mt},rt=$(U,!V(" 0o1")||!V("0b1")||V("+0x1")),_=function(ot){return R(G,ot)&&C(function(){j(ot)})},tt=function(mt){var gt=arguments.length<1?0:V(q(mt));return _(this)?E(Object(gt),this,tt):gt};tt.prototype=G,rt&&!d&&(G.constructor=tt),u({global:!0,constructor:!0,wrap:!0,forced:rt},{Number:tt});var et=function(ot,mt){for(var gt=h?D(mt):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),xt=0,yt;gt.length>xt;xt++)A(mt,yt=gt[xt])&&!A(ot,yt)&&F(ot,yt,M(mt,yt))};d&&z&&et(y[U],z),(rt||d)&&et(y[U],V)},function(x,b,r){var u=r(14);x.exports=u(1 .valueOf)},function(x,b,r){var u=r(14),d=r(16),h=r(68),p=r(304),y=u("".replace),T=RegExp("^["+p+"]+"),$=RegExp("(^|[^"+p+"])["+p+"]+$"),A=function(E){return function(R){var I=h(d(R));return E&1&&(I=y(I,T,"")),E&2&&(I=y(I,$,"$1")),I}};x.exports={start:A(1),end:A(2),trim:A(3)}},function(x){x.exports=` +\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`},function(x,b,r){var u=r(3);u({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},function(x,b,r){var u=r(3),d=r(307);u({target:"Number",stat:!0},{isFinite:d})},function(x,b,r){var u=r(4),d=u.isFinite;x.exports=Number.isFinite||function(p){return typeof p=="number"&&d(p)}},function(x,b,r){var u=r(3),d=r(309);u({target:"Number",stat:!0},{isInteger:d})},function(x,b,r){var u=r(20),d=Math.floor;x.exports=Number.isInteger||function(p){return!u(p)&&isFinite(p)&&d(p)===p}},function(x,b,r){var u=r(3);u({target:"Number",stat:!0},{isNaN:function(h){return h!==h}})},function(x,b,r){var u=r(3),d=r(309),h=Math.abs;u({target:"Number",stat:!0},{isSafeInteger:function(y){return d(y)&&h(y)<=9007199254740991}})},function(x,b,r){var u=r(3);u({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(x,b,r){var u=r(3);u({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(x,b,r){var u=r(3),d=r(315);u({target:"Number",stat:!0,forced:Number.parseFloat!==d},{parseFloat:d})},function(x,b,r){var u=r(4),d=r(7),h=r(14),p=r(68),y=r(303).trim,T=r(304),$=h("".charAt),A=u.parseFloat,E=u.Symbol,R=E&&E.iterator,I=1/A(T+"-0")!==-1/0||R&&!d(function(){A(Object(R))});x.exports=I?function(C){var D=y(p(C)),M=A(D);return M===0&&$(D,0)==="-"?-0:M}:A},function(x,b,r){var u=r(3),d=r(317);u({target:"Number",stat:!0,forced:Number.parseInt!==d},{parseInt:d})},function(x,b,r){var u=r(4),d=r(7),h=r(14),p=r(68),y=r(303).trim,T=r(304),$=u.parseInt,A=u.Symbol,E=A&&A.iterator,R=/^[+-]?0x/i,I=h(R.exec),O=$(T+"08")!==8||$(T+"0x16")!==22||E&&!d(function(){$(Object(E))});x.exports=O?function(D,M){var F=y(p(D));return $(F,M>>>0||(I(R,F)?16:10))}:$},function(x,b,r){var u=r(3),d=r(14),h=r(61),p=r(302),y=r(239),T=r(293),$=r(7),A=RangeError,E=String,R=isFinite,I=Math.abs,O=Math.floor,C=Math.pow,D=Math.round,M=d(1 .toExponential),F=d(y),j=d("".slice),B=M(-69e-12,4)==="-6.9000e-11"&&M(1.255,2)==="1.25e+0"&&M(12345,3)==="1.235e+4"&&M(25,0)==="3e+1",U=function(){return $(function(){M(1,1/0)})&&$(function(){M(1,-1/0)})},V=function(){return!$(function(){M(1/0,1/0),M(NaN,1/0)})},z=!B||!U()||!V();u({target:"Number",proto:!0,forced:z},{toExponential:function(H){var k=p(this);if(H===void 0)return M(k);var J=h(H);if(!R(k))return String(k);if(J<0||J>20)throw new A("Incorrect fraction digits");if(B)return M(k,J);var q="",nt,rt,_,tt;if(k<0&&(q="-",k=-k),k===0)rt=0,nt=F("0",J+1);else{var et=T(k);rt=O(et);var ot=C(10,rt-J),mt=D(k/ot);2*k>=(2*mt+1)*ot&&(mt+=1),mt>=C(10,J+1)&&(mt/=10,rt+=1),nt=E(mt)}return J!==0&&(nt=j(nt,0,1)+"."+j(nt,1)),rt===0?(_="+",tt="0"):(_=rt>0?"+":"-",tt=E(I(rt))),nt+="e"+_+tt,q+nt}})},function(x,b,r){var u=r(3),d=r(14),h=r(61),p=r(302),y=r(239),T=r(7),$=RangeError,A=String,E=Math.floor,R=d(y),I=d("".slice),O=d(1 .toFixed),C=function(U,V,z){return V===0?z:V%2===1?C(U,V-1,z*U):C(U*U,V/2,z)},D=function(U){for(var V=0,z=U;z>=4096;)V+=12,z/=4096;for(;z>=2;)V+=1,z/=2;return V},M=function(U,V,z){for(var G=-1,H=z;++G<6;)H+=V*U[G],U[G]=H%1e7,H=E(H/1e7)},F=function(U,V){for(var z=6,G=0;--z>=0;)G+=U[z],U[z]=E(G/V),G=G%V*1e7},j=function(U){for(var V=6,z="";--V>=0;)if(z!==""||V===0||U[V]!==0){var G=A(U[V]);z=z===""?G:z+R("0",7-G.length)+G}return z},B=T(function(){return O(8e-5,3)!=="0.000"||O(.9,0)!=="1"||O(1.255,2)!=="1.25"||O(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!T(function(){O({})});u({target:"Number",proto:!0,forced:B},{toFixed:function(V){var z=p(this),G=h(V),H=[0,0,0,0,0,0],k="",J="0",q,nt,rt,_;if(G<0||G>20)throw new $("Incorrect fraction digits");if(z!==z)return"NaN";if(z<=-1e21||z>=1e21)return A(z);if(z<0&&(k="-",z=-z),z>1e-21)if(q=D(z*C(2,69,1))-69,nt=q<0?z*C(2,-q,1):z/C(2,q,1),nt*=4503599627370496,q=52-q,q>0){for(M(H,0,nt),rt=G;rt>=7;)M(H,1e7,0),rt-=7;for(M(H,C(10,rt,1),0),rt=q-1;rt>=23;)F(H,8388608),rt-=23;F(H,1<0?(_=J.length,J=k+(_<=G?"0."+R("0",G-_)+J:I(J,0,_-G)+"."+I(J,_-G))):J=k+J,J}})},function(x,b,r){var u=r(3),d=r(14),h=r(7),p=r(302),y=d(1 .toPrecision),T=h(function(){return y(1,void 0)!=="1"})||!h(function(){y({})});u({target:"Number",proto:!0,forced:T},{toPrecision:function(A){return A===void 0?y(p(this)):y(p(this),A)}})},function(x,b,r){var u=r(3),d=r(322);u({target:"Object",stat:!0,arity:2,forced:Object.assign!==d},{assign:d})},function(x,b,r){var u=r(6),d=r(14),h=r(8),p=r(7),y=r(73),T=r(66),$=r(10),A=r(39),E=r(13),R=Object.assign,I=Object.defineProperty,O=d([].concat);x.exports=!R||p(function(){if(u&&R({b:1},R(I({},"a",{enumerable:!0,get:function(){I(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var C={},D={},M=Symbol("assign detection"),F="abcdefghijklmnopqrst";return C[M]=7,F.split("").forEach(function(j){D[j]=j}),R({},C)[M]!==7||y(R({},D)).join("")!==F})?function(D,M){for(var F=A(D),j=arguments.length,B=1,U=T.f,V=$.f;j>B;)for(var z=E(arguments[B++]),G=U?O(y(z),U(z)):y(z),H=G.length,k=0,J;H>k;)J=G[k++],(!u||h(V,z,J))&&(F[J]=z[J]);return F}:R},function(x,b,r){var u=r(3),d=r(6),h=r(71);u({target:"Object",stat:!0,sham:!d},{create:h})},function(x,b,r){var u=r(3),d=r(6),h=r(325),p=r(30),y=r(39),T=r(44);d&&u({target:"Object",proto:!0,forced:h},{__defineGetter__:function(A,E){T.f(y(this),A,{get:p(E),enumerable:!0,configurable:!0})}})},function(x,b,r){var u=r(36),d=r(4),h=r(7),p=r(192);x.exports=u||!h(function(){if(!(p&&p<535)){var y=Math.random();__defineSetter__.call(null,y,function(){}),delete d[y]}})},function(x,b,r){var u=r(3),d=r(6),h=r(72).f;u({target:"Object",stat:!0,forced:Object.defineProperties!==h,sham:!d},{defineProperties:h})},function(x,b,r){var u=r(3),d=r(6),h=r(44).f;u({target:"Object",stat:!0,forced:Object.defineProperty!==h,sham:!d},{defineProperty:h})},function(x,b,r){var u=r(3),d=r(6),h=r(325),p=r(30),y=r(39),T=r(44);d&&u({target:"Object",proto:!0,forced:h},{__defineSetter__:function(A,E){T.f(y(this),A,{set:p(E),enumerable:!0,configurable:!0})}})},function(x,b,r){var u=r(3),d=r(330).entries;u({target:"Object",stat:!0},{entries:function(p){return d(p)}})},function(x,b,r){var u=r(6),d=r(7),h=r(14),p=r(128),y=r(73),T=r(12),$=r(10).f,A=h($),E=h([].push),R=u&&d(function(){var O=Object.create(null);return O[2]=2,!A(O,2)}),I=function(O){return function(C){for(var D=T(C),M=y(D),F=R&&p(D)===null,j=M.length,B=0,U=[],V;j>B;)V=M[B++],(!u||(F?V in D:A(D,V)))&&E(U,O?[V,D[V]]:D[V]);return U}};x.exports={entries:I(!0),values:I(!1)}},function(x,b,r){var u=r(3),d=r(276),h=r(7),p=r(20),y=r(273).onFreeze,T=Object.freeze,$=h(function(){T(1)});u({target:"Object",stat:!0,forced:$,sham:!d},{freeze:function(E){return T&&p(E)?T(y(E)):E}})},function(x,b,r){var u=r(3),d=r(130),h=r(141);u({target:"Object",stat:!0},{fromEntries:function(y){var T={};return d(y,function($,A){h(T,$,A)},{AS_ENTRIES:!0}),T}})},function(x,b,r){var u=r(3),d=r(7),h=r(12),p=r(5).f,y=r(6),T=!y||d(function(){p(1)});u({target:"Object",stat:!0,forced:T,sham:!y},{getOwnPropertyDescriptor:function(A,E){return p(h(A),E)}})},function(x,b,r){var u=r(3),d=r(6),h=r(56),p=r(12),y=r(5),T=r(141);u({target:"Object",stat:!0,sham:!d},{getOwnPropertyDescriptors:function(A){for(var E=p(A),R=y.f,I=h(E),O={},C=0,D,M;I.length>C;)M=R(E,D=I[C++]),M!==void 0&&T(O,D,M);return O}})},function(x,b,r){var u=r(3),d=r(7),h=r(75).f,p=d(function(){return!Object.getOwnPropertyNames(1)});u({target:"Object",stat:!0,forced:p},{getOwnPropertyNames:h})},function(x,b,r){var u=r(3),d=r(7),h=r(39),p=r(128),y=r(129),T=d(function(){p(1)});u({target:"Object",stat:!0,forced:T,sham:!y},{getPrototypeOf:function(A){return p(h(A))}})},function(x,b,r){var u=r(3),d=r(23),h=r(14),p=r(30),y=r(16),T=r(18),$=r(130),A=r(7),E=Object.groupBy,R=d("Object","create"),I=h([].push),O=!E||A(function(){return E("ab",function(C){return C}).a.length!==1});u({target:"Object",stat:!0,forced:O},{groupBy:function(D,M){y(D),p(M);var F=R(null),j=0;return $(D,function(B){var U=T(M(B,j++));U in F?I(F[U],B):F[U]=[B]}),F}})},function(x,b,r){var u=r(3),d=r(38);u({target:"Object",stat:!0},{hasOwn:d})},function(x,b,r){var u=r(3),d=r(340);u({target:"Object",stat:!0},{is:d})},function(x){x.exports=Object.is||function(r,u){return r===u?r!==0||1/r===1/u:r!==r&&u!==u}},function(x,b,r){var u=r(3),d=r(274);u({target:"Object",stat:!0,forced:Object.isExtensible!==d},{isExtensible:d})},function(x,b,r){var u=r(3),d=r(7),h=r(20),p=r(15),y=r(275),T=Object.isFrozen,$=y||d(function(){T(1)});u({target:"Object",stat:!0,forced:$},{isFrozen:function(E){return!h(E)||y&&p(E)==="ArrayBuffer"?!0:T?T(E):!1}})},function(x,b,r){var u=r(3),d=r(7),h=r(20),p=r(15),y=r(275),T=Object.isSealed,$=y||d(function(){T(1)});u({target:"Object",stat:!0,forced:$},{isSealed:function(E){return!h(E)||y&&p(E)==="ArrayBuffer"?!0:T?T(E):!1}})},function(x,b,r){var u=r(3),d=r(39),h=r(73),p=r(7),y=p(function(){h(1)});u({target:"Object",stat:!0,forced:y},{keys:function($){return h(d($))}})},function(x,b,r){var u=r(3),d=r(6),h=r(325),p=r(39),y=r(18),T=r(128),$=r(5).f;d&&u({target:"Object",proto:!0,forced:h},{__lookupGetter__:function(E){var R=p(this),I=y(E),O;do if(O=$(R,I))return O.get;while(R=T(R))}})},function(x,b,r){var u=r(3),d=r(6),h=r(325),p=r(39),y=r(18),T=r(128),$=r(5).f;d&&u({target:"Object",proto:!0,forced:h},{__lookupSetter__:function(E){var R=p(this),I=y(E),O;do if(O=$(R,I))return O.set;while(R=T(R))}})},function(x,b,r){var u=r(3),d=r(20),h=r(273).onFreeze,p=r(276),y=r(7),T=Object.preventExtensions,$=y(function(){T(1)});u({target:"Object",stat:!0,forced:$,sham:!p},{preventExtensions:function(E){return T&&d(E)?T(h(E)):E}})},function(x,b,r){var u=r(6),d=r(77),h=r(20),p=r(116),y=r(39),T=r(16),$=Object.getPrototypeOf,A=Object.setPrototypeOf,E=Object.prototype,R="__proto__";if(u&&$&&A&&!(R in E))try{d(E,R,{configurable:!0,get:function(){return $(y(this))},set:function(O){var C=T(this);p(O)&&h(C)&&A(C,O)}})}catch(I){}},function(x,b,r){var u=r(3),d=r(20),h=r(273).onFreeze,p=r(276),y=r(7),T=Object.seal,$=y(function(){T(1)});u({target:"Object",stat:!0,forced:$,sham:!p},{seal:function(E){return T&&d(E)?T(h(E)):E}})},function(x,b,r){var u=r(3),d=r(113);u({target:"Object",stat:!0},{setPrototypeOf:d})},function(x,b,r){var u=r(70),d=r(47),h=r(352);u||d(Object.prototype,"toString",h,{unsafe:!0})},function(x,b,r){var u=r(70),d=r(69);x.exports=u?{}.toString:function(){return"[object "+d(this)+"]"}},function(x,b,r){var u=r(3),d=r(330).values;u({target:"Object",stat:!0},{values:function(p){return d(p)}})},function(x,b,r){var u=r(3),d=r(315);u({global:!0,forced:parseFloat!==d},{parseFloat:d})},function(x,b,r){var u=r(3),d=r(317);u({global:!0,forced:parseInt!==d},{parseInt:d})},function(x,b,r){r(357),r(373),r(375),r(376),r(377),r(378)},function(x,b,r){var u=r(3),d=r(36),h=r(182),p=r(4),y=r(8),T=r(47),$=r(113),A=r(82),E=r(194),R=r(30),I=r(21),O=r(20),C=r(211),D=r(358),M=r(360).set,F=r(363),j=r(368),B=r(369),U=r(365),V=r(51),z=r(370),G=r(371),H=r(372),k="Promise",J=G.CONSTRUCTOR,q=G.REJECTION_EVENT,nt=G.SUBCLASSING,rt=V.getterFor(k),_=V.set,tt=z&&z.prototype,et=z,ot=tt,mt=p.TypeError,gt=p.document,xt=p.process,yt=H.f,Ut=yt,Dt=!!(gt&>.createEvent&&p.dispatchEvent),Xt="unhandledrejection",kt="rejectionhandled",Qt=0,me=1,ge=2,ae=1,Mt=2,Yt,re,oe,ee,fe=function(Tt){var qt;return O(Tt)&&I(qt=Tt.then)?qt:!1},Pe=function(Tt,qt){var te=qt.value,Zt=qt.state===me,Ht=Zt?Tt.ok:Tt.fail,He=Tt.resolve,Ze=Tt.reject,ft=Tt.domain,It,Pt,Ct;try{Ht?(Zt||(qt.rejection===Mt&&Te(qt),qt.rejection=ae),Ht===!0?It=te:(ft&&ft.enter(),It=Ht(te),ft&&(ft.exit(),Ct=!0)),It===Tt.promise?Ze(new mt("Promise-chain cycle")):(Pt=fe(It))?y(Pt,It,He,Ze):He(It)):Ze(te)}catch(Nt){ft&&!Ct&&ft.exit(),Ze(Nt)}},Me=function(Tt,qt){Tt.notified||(Tt.notified=!0,F(function(){for(var te=Tt.reactions,Zt;Zt=te.get();)Pe(Zt,Tt);Tt.notified=!1,qt&&!Tt.rejection&&ce(Tt)}))},$e=function(Tt,qt,te){var Zt,Ht;Dt?(Zt=gt.createEvent("Event"),Zt.promise=qt,Zt.reason=te,Zt.initEvent(Tt,!1,!0),p.dispatchEvent(Zt)):Zt={promise:qt,reason:te},!q&&(Ht=p["on"+Tt])?Ht(Zt):Tt===Xt&&j("Unhandled promise rejection",te)},ce=function(Tt){y(M,p,function(){var qt=Tt.facade,te=Tt.value,Zt=Ae(Tt),Ht;if(Zt&&(Ht=B(function(){h?xt.emit("unhandledRejection",te,qt):$e(Xt,qt,te)}),Tt.rejection=h||Ae(Tt)?Mt:ae,Ht.error))throw Ht.value})},Ae=function(Tt){return Tt.rejection!==ae&&!Tt.parent},Te=function(Tt){y(M,p,function(){var qt=Tt.facade;h?xt.emit("rejectionHandled",qt):$e(kt,qt,Tt.value)})},de=function(Tt,qt,te){return function(Zt){Tt(qt,Zt,te)}},bt=function(Tt,qt,te){Tt.done||(Tt.done=!0,te&&(Tt=te),Tt.value=qt,Tt.state=ge,Me(Tt,!0))},Ft=function(Tt,qt,te){if(!Tt.done){Tt.done=!0,te&&(Tt=te);try{if(Tt.facade===qt)throw new mt("Promise can't be resolved itself");var Zt=fe(qt);Zt?F(function(){var Ht={done:!1};try{y(Zt,qt,de(Ft,Ht,Tt),de(bt,Ht,Tt))}catch(He){bt(Ht,He,Tt)}}):(Tt.value=qt,Tt.state=me,Me(Tt,!1))}catch(Ht){bt({done:!1},Ht,Tt)}}};if(J&&(et=function(qt){C(this,ot),R(qt),y(Yt,this);var te=rt(this);try{qt(de(Ft,te),de(bt,te))}catch(Zt){bt(te,Zt)}},ot=et.prototype,Yt=function(qt){_(this,{type:k,done:!1,notified:!1,parent:!1,reactions:new U,rejection:!1,state:Qt,value:null})},Yt.prototype=T(ot,"then",function(qt,te){var Zt=rt(this),Ht=yt(D(this,et));return Zt.parent=!0,Ht.ok=I(qt)?qt:!0,Ht.fail=I(te)&&te,Ht.domain=h?xt.domain:void 0,Zt.state===Qt?Zt.reactions.add(Ht):F(function(){Pe(Ht,Zt)}),Ht.promise}),re=function(){var Tt=new Yt,qt=rt(Tt);this.promise=Tt,this.resolve=de(Ft,qt),this.reject=de(bt,qt)},H.f=yt=function(Tt){return Tt===et||Tt===oe?new re(Tt):Ut(Tt)},!d&&I(z)&&tt!==Object.prototype)){ee=tt.then,nt||T(tt,"then",function(qt,te){var Zt=this;return new et(function(Ht,He){y(ee,Zt,Ht,He)}).then(qt,te)},{unsafe:!0});try{delete tt.constructor}catch(Tt){}$&&$(tt,ot)}u({global:!0,constructor:!0,wrap:!0,forced:J},{Promise:et}),A(et,k,!1,!0),E(k)},function(x,b,r){var u=r(46),d=r(359),h=r(17),p=r(33),y=p("species");x.exports=function(T,$){var A=u(T).constructor,E;return A===void 0||h(E=u(A)[y])?$:d(E)}},function(x,b,r){var u=r(89),d=r(31),h=TypeError;x.exports=function(p){if(u(p))return p;throw new h(d(p)+" is not a constructor")}},function(x,b,r){var u=r(4),d=r(94),h=r(84),p=r(21),y=r(38),T=r(7),$=r(74),A=r(76),E=r(42),R=r(361),I=r(362),O=r(182),C=u.setImmediate,D=u.clearImmediate,M=u.process,F=u.Dispatch,j=u.Function,B=u.MessageChannel,U=u.String,V=0,z={},G="onreadystatechange",H,k,J,q;T(function(){H=u.location});var nt=function(et){if(y(z,et)){var ot=z[et];delete z[et],ot()}},rt=function(et){return function(){nt(et)}},_=function(et){nt(et.data)},tt=function(et){u.postMessage(U(et),H.protocol+"//"+H.host)};(!C||!D)&&(C=function(ot){R(arguments.length,1);var mt=p(ot)?ot:j(ot),gt=A(arguments,1);return z[++V]=function(){d(mt,void 0,gt)},k(V),V},D=function(ot){delete z[ot]},O?k=function(et){M.nextTick(rt(et))}:F&&F.now?k=function(et){F.now(rt(et))}:B&&!I?(J=new B,q=J.port2,J.port1.onmessage=_,k=h(q.postMessage,q)):u.addEventListener&&p(u.postMessage)&&!u.importScripts&&H&&H.protocol!=="file:"&&!T(tt)?(k=tt,u.addEventListener("message",_,!1)):G in E("script")?k=function(et){$.appendChild(E("script"))[G]=function(){$.removeChild(this),nt(et)}}:k=function(et){setTimeout(rt(et),0)}),x.exports={set:C,clear:D}},function(x){var b=TypeError;x.exports=function(r,u){if(r1?p(arguments,1):[],C=y.f(this),D=$(function(){return h(T(I),void 0,O)});return(D.error?C.reject:C.resolve)(D.value),C.promise}})},function(x,b,r){var u=r(3),d=r(372);u({target:"Promise",stat:!0},{withResolvers:function(){var p=d.f(this);return{promise:p.promise,resolve:p.resolve,reject:p.reject}}})},function(x,b,r){var u=r(3),d=r(94),h=r(30),p=r(46),y=r(7),T=!y(function(){Reflect.apply(function(){})});u({target:"Reflect",stat:!0,forced:T},{apply:function(A,E,R){return d(h(A),E,p(R))}})},function(x,b,r){var u=r(3),d=r(23),h=r(94),p=r(246),y=r(359),T=r(46),$=r(20),A=r(71),E=r(7),R=d("Reflect","construct"),I=Object.prototype,O=[].push,C=E(function(){function F(){}return!(R(function(){},[],F)instanceof F)}),D=!E(function(){R(function(){})}),M=C||D;u({target:"Reflect",stat:!0,forced:M,sham:M},{construct:function(j,B){y(j),T(B);var U=arguments.length<3?j:y(arguments[2]);if(D&&!C)return R(j,B,U);if(j===U){switch(B.length){case 0:return new j;case 1:return new j(B[0]);case 2:return new j(B[0],B[1]);case 3:return new j(B[0],B[1],B[2]);case 4:return new j(B[0],B[1],B[2],B[3])}var V=[null];return h(O,V,B),new(h(p,j,V))}var z=U.prototype,G=A($(z)?z:I),H=h(j,G,B);return $(H)?H:G}})},function(x,b,r){var u=r(3),d=r(6),h=r(46),p=r(18),y=r(44),T=r(7),$=T(function(){Reflect.defineProperty(y.f({},1,{value:1}),1,{value:2})});u({target:"Reflect",stat:!0,forced:$,sham:!d},{defineProperty:function(E,R,I){h(E);var O=p(R);h(I);try{return y.f(E,O,I),!0}catch(C){return!1}}})},function(x,b,r){var u=r(3),d=r(46),h=r(5).f;u({target:"Reflect",stat:!0},{deleteProperty:function(y,T){var $=h(d(y),T);return $&&!$.configurable?!1:delete y[T]}})},function(x,b,r){var u=r(3),d=r(8),h=r(20),p=r(46),y=r(390),T=r(5),$=r(128);function A(E,R){var I=arguments.length<3?E:arguments[2],O,C;if(p(E)===I)return E[R];if(O=T.f(E,R),O)return y(O)?O.value:O.get===void 0?void 0:d(O.get,I);if(h(C=$(E)))return A(C,R,I)}u({target:"Reflect",stat:!0},{get:A})},function(x,b,r){var u=r(38);x.exports=function(d){return d!==void 0&&(u(d,"value")||u(d,"writable"))}},function(x,b,r){var u=r(3),d=r(6),h=r(46),p=r(5);u({target:"Reflect",stat:!0,sham:!d},{getOwnPropertyDescriptor:function(T,$){return p.f(h(T),$)}})},function(x,b,r){var u=r(3),d=r(46),h=r(128),p=r(129);u({target:"Reflect",stat:!0,sham:!p},{getPrototypeOf:function(T){return h(d(T))}})},function(x,b,r){var u=r(3);u({target:"Reflect",stat:!0},{has:function(h,p){return p in h}})},function(x,b,r){var u=r(3),d=r(46),h=r(274);u({target:"Reflect",stat:!0},{isExtensible:function(y){return d(y),h(y)}})},function(x,b,r){var u=r(3),d=r(56);u({target:"Reflect",stat:!0},{ownKeys:d})},function(x,b,r){var u=r(3),d=r(23),h=r(46),p=r(276);u({target:"Reflect",stat:!0,sham:!p},{preventExtensions:function(T){h(T);try{var $=d("Object","preventExtensions");return $&&$(T),!0}catch(A){return!1}}})},function(x,b,r){var u=r(3),d=r(8),h=r(46),p=r(20),y=r(390),T=r(7),$=r(44),A=r(5),E=r(128),R=r(11);function I(C,D,M){var F=arguments.length<4?C:arguments[3],j=A.f(h(C),D),B,U,V;if(!j){if(p(U=E(C)))return I(U,D,M,F);j=R(0)}if(y(j)){if(j.writable===!1||!p(F))return!1;if(B=A.f(F,D)){if(B.get||B.set||B.writable===!1)return!1;B.value=M,$.f(F,D,B)}else $.f(F,D,R(0,M))}else{if(V=j.set,V===void 0)return!1;d(V,F,M)}return!0}var O=T(function(){var C=function(){},D=$.f(new C,"a",{configurable:!0});return Reflect.set(C.prototype,"a",1,D)!==!1});u({target:"Reflect",stat:!0,forced:O},{set:I})},function(x,b,r){var u=r(3),d=r(46),h=r(115),p=r(113);p&&u({target:"Reflect",stat:!0},{setPrototypeOf:function(T,$){d(T),h($);try{return p(T,$),!0}catch(A){return!1}}})},function(x,b,r){var u=r(3),d=r(4),h=r(82);u({global:!0},{Reflect:{}}),h(d.Reflect,"Reflect",!0)},function(x,b,r){var u=r(6),d=r(4),h=r(14),p=r(67),y=r(118),T=r(43),$=r(71),A=r(57).f,E=r(24),R=r(401),I=r(68),O=r(402),C=r(404),D=r(117),M=r(47),F=r(7),j=r(38),B=r(51).enforce,U=r(194),V=r(33),z=r(405),G=r(406),H=V("match"),k=d.RegExp,J=k.prototype,q=d.SyntaxError,nt=h(J.exec),rt=h("".charAt),_=h("".replace),tt=h("".indexOf),et=h("".slice),ot=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,mt=/a/g,gt=/a/g,xt=new k(mt)!==mt,yt=C.MISSED_STICKY,Ut=C.UNSUPPORTED_Y,Dt=u&&(!xt||yt||z||G||F(function(){return gt[H]=!1,k(mt)!==mt||k(gt)===gt||String(k(mt,"i"))!=="/a/i"})),Xt=function(ae){for(var Mt=ae.length,Yt=0,re="",oe=!1,ee;Yt<=Mt;Yt++){if(ee=rt(ae,Yt),ee==="\\"){re+=ee+rt(ae,++Yt);continue}!oe&&ee==="."?re+="[\\s\\S]":(ee==="["?oe=!0:ee==="]"&&(oe=!1),re+=ee)}return re},kt=function(ae){for(var Mt=ae.length,Yt=0,re="",oe=[],ee=$(null),fe=!1,Pe=!1,Me=0,$e="",ce;Yt<=Mt;Yt++){if(ce=rt(ae,Yt),ce==="\\")ce+=rt(ae,++Yt);else if(ce==="]")fe=!1;else if(!fe)switch(!0){case ce==="[":fe=!0;break;case ce==="(":if(re+=ce,et(ae,Yt+1,Yt+3)==="?:")continue;nt(ot,et(ae,Yt+1))&&(Yt+=2,Pe=!0),Me++;continue;case(ce===">"&&Pe):if($e===""||j(ee,$e))throw new q("Invalid capture group name");ee[$e]=!0,oe[oe.length]=[$e,Me],Pe=!1,$e="";continue}Pe?$e+=ce:re+=ce}return[re,oe]};if(p("RegExp",Dt)){for(var Qt=function(Mt,Yt){var re=E(J,this),oe=R(Mt),ee=Yt===void 0,fe=[],Pe=Mt,Me,$e,ce,Ae,Te,de;if(!re&&oe&&ee&&Mt.constructor===Qt)return Mt;if((oe||E(J,Mt))&&(Mt=Mt.source,ee&&(Yt=O(Pe))),Mt=Mt===void 0?"":I(Mt),Yt=Yt===void 0?"":I(Yt),Pe=Mt,z&&"dotAll"in mt&&($e=!!Yt&&tt(Yt,"s")>-1,$e&&(Yt=_(Yt,/s/g,""))),Me=Yt,yt&&"sticky"in mt&&(ce=!!Yt&&tt(Yt,"y")>-1,ce&&Ut&&(Yt=_(Yt,/y/g,""))),G&&(Ae=kt(Mt),Mt=Ae[0],fe=Ae[1]),Te=y(k(Mt,Yt),re?this:J,Qt),($e||ce||fe.length)&&(de=B(Te),$e&&(de.dotAll=!0,de.raw=Qt(Xt(Mt),Me)),ce&&(de.sticky=!0),fe.length&&(de.groups=fe)),Mt!==Pe)try{T(Te,"source",Pe===""?"(?:)":Pe)}catch(bt){}return Te},me=A(k),ge=0;me.length>ge;)D(Qt,k,me[ge++]);J.constructor=Qt,Qt.prototype=J,M(d,"RegExp",Qt,{constructor:!0})}U("RegExp")},function(x,b,r){var u=r(20),d=r(15),h=r(33),p=h("match");x.exports=function(y){var T;return u(y)&&((T=y[p])!==void 0?!!T:d(y)==="RegExp")}},function(x,b,r){var u=r(8),d=r(38),h=r(24),p=r(403),y=RegExp.prototype;x.exports=function(T){var $=T.flags;return $===void 0&&!("flags"in y)&&!d(T,"flags")&&h(y,T)?u(p,T):$}},function(x,b,r){var u=r(46);x.exports=function(){var d=u(this),h="";return d.hasIndices&&(h+="d"),d.global&&(h+="g"),d.ignoreCase&&(h+="i"),d.multiline&&(h+="m"),d.dotAll&&(h+="s"),d.unicode&&(h+="u"),d.unicodeSets&&(h+="v"),d.sticky&&(h+="y"),h}},function(x,b,r){var u=r(7),d=r(4),h=d.RegExp,p=u(function(){var $=h("a","y");return $.lastIndex=2,$.exec("abcd")!==null}),y=p||u(function(){return!h("a","y").sticky}),T=p||u(function(){var $=h("^r","gy");return $.lastIndex=2,$.exec("str")!==null});x.exports={BROKEN_CARET:T,MISSED_STICKY:y,UNSUPPORTED_Y:p}},function(x,b,r){var u=r(7),d=r(4),h=d.RegExp;x.exports=u(function(){var p=h(".","s");return!(p.dotAll&&p.test(` +`)&&p.flags==="s")})},function(x,b,r){var u=r(7),d=r(4),h=d.RegExp;x.exports=u(function(){var p=h("(?b)","g");return p.exec("b").groups.a!=="b"||"b".replace(p,"$c")!=="bc"})},function(x,b,r){var u=r(6),d=r(405),h=r(15),p=r(77),y=r(51).get,T=RegExp.prototype,$=TypeError;u&&d&&p(T,"dotAll",{configurable:!0,get:function(){if(this!==T){if(h(this)==="RegExp")return!!y(this).dotAll;throw new $("Incompatible receiver, RegExp required")}}})},function(x,b,r){var u=r(3),d=r(409);u({target:"RegExp",proto:!0,forced:/./.exec!==d},{exec:d})},function(x,b,r){var u=r(8),d=r(14),h=r(68),p=r(403),y=r(404),T=r(34),$=r(71),A=r(51).get,E=r(405),R=r(406),I=T("native-string-replace",String.prototype.replace),O=RegExp.prototype.exec,C=O,D=d("".charAt),M=d("".indexOf),F=d("".replace),j=d("".slice),B=function(){var G=/a/,H=/b*/g;return u(O,G,"a"),u(O,H,"a"),G.lastIndex!==0||H.lastIndex!==0}(),U=y.BROKEN_CARET,V=/()??/.exec("")[1]!==void 0,z=B||V||U||E||R;z&&(C=function(H){var k=this,J=A(k),q=h(H),nt=J.raw,rt,_,tt,et,ot,mt,gt;if(nt)return nt.lastIndex=k.lastIndex,rt=u(C,nt,q),k.lastIndex=nt.lastIndex,rt;var xt=J.groups,yt=U&&k.sticky,Ut=u(p,k),Dt=k.source,Xt=0,kt=q;if(yt&&(Ut=F(Ut,"y",""),M(Ut,"g")===-1&&(Ut+="g"),kt=j(q,k.lastIndex),k.lastIndex>0&&(!k.multiline||k.multiline&&D(q,k.lastIndex-1)!==` +`)&&(Dt="(?: "+Dt+")",kt=" "+kt,Xt++),_=new RegExp("^(?:"+Dt+")",Ut)),V&&(_=new RegExp("^"+Dt+"$(?!\\s)",Ut)),B&&(tt=k.lastIndex),et=u(O,yt?_:k,kt),yt?et?(et.input=j(et.input,Xt),et[0]=j(et[0],Xt),et.index=k.lastIndex,k.lastIndex+=et[0].length):k.lastIndex=0:B&&et&&(k.lastIndex=k.global?et.index+et[0].length:tt),V&&et&&et.length>1&&u(I,et[0],_,function(){for(ot=1;otC.size?T(C.getIterator(),function(M){E(O,M)&&A(D,M)}):y(O,function(M){C.includes(M)&&A(D,M)}),D}},function(x,b,r){var u=r(3),d=r(429),h=r(425);u({target:"Set",proto:!0,real:!0,forced:!h("isDisjointFrom")},{isDisjointFrom:d})},function(x,b,r){var u=r(418),d=r(419).has,h=r(423),p=r(424),y=r(421),T=r(422),$=r(135);x.exports=function(E){var R=u(this),I=p(E);if(h(R)<=I.size)return y(R,function(C){if(I.includes(C))return!1},!0)!==!1;var O=I.getIterator();return T(O,function(C){if(d(R,C))return $(O,"normal",!1)})!==!1}},function(x,b,r){var u=r(3),d=r(431),h=r(425);u({target:"Set",proto:!0,real:!0,forced:!h("isSubsetOf")},{isSubsetOf:d})},function(x,b,r){var u=r(418),d=r(423),h=r(421),p=r(424);x.exports=function(T){var $=u(this),A=p(T);return d($)>A.size?!1:h($,function(E){if(!A.includes(E))return!1},!0)!==!1}},function(x,b,r){var u=r(3),d=r(433),h=r(425);u({target:"Set",proto:!0,real:!0,forced:!h("isSupersetOf")},{isSupersetOf:d})},function(x,b,r){var u=r(418),d=r(419).has,h=r(423),p=r(424),y=r(422),T=r(135);x.exports=function(A){var E=u(this),R=p(A);if(h(E)=0?C:O+C;return D<0||D>=O?void 0:$(I,D)}})},function(x,b,r){var u=r(3),d=r(440).codeAt;u({target:"String",proto:!0},{codePointAt:function(p){return d(this,p)}})},function(x,b,r){var u=r(14),d=r(61),h=r(68),p=r(16),y=u("".charAt),T=u("".charCodeAt),$=u("".slice),A=function(E){return function(R,I){var O=h(p(R)),C=d(I),D=O.length,M,F;return C<0||C>=D?E?"":void 0:(M=T(O,C),M<55296||M>56319||C+1===D||(F=T(O,C+1))<56320||F>57343?E?y(O,C):M:E?$(O,C,C+2):(M-55296<<10)+(F-56320)+65536)}};x.exports={codeAt:A(!1),charAt:A(!0)}},function(x,b,r){var u=r(3),d=r(85),h=r(5).f,p=r(64),y=r(68),T=r(442),$=r(16),A=r(443),E=r(36),R=d("".slice),I=Math.min,O=A("endsWith"),C=!E&&!O&&!!function(){var D=h(String.prototype,"endsWith");return D&&!D.writable}();u({target:"String",proto:!0,forced:!C&&!O},{endsWith:function(M){var F=y($(this));T(M);var j=arguments.length>1?arguments[1]:void 0,B=F.length,U=j===void 0?B:I(p(j),B),V=y(M);return R(F,U-V.length,U)===V}})},function(x,b,r){var u=r(401),d=TypeError;x.exports=function(h){if(u(h))throw new d("The method doesn't accept regular expressions");return h}},function(x,b,r){var u=r(33),d=u("match");x.exports=function(h){var p=/./;try{"/./"[h](p)}catch(y){try{return p[d]=!1,"/./"[h](p)}catch(T){}}return!1}},function(x,b,r){var u=r(3),d=r(14),h=r(60),p=RangeError,y=String.fromCharCode,T=String.fromCodePoint,$=d([].join),A=!!T&&T.length!==1;u({target:"String",stat:!0,arity:1,forced:A},{fromCodePoint:function(R){for(var I=[],O=arguments.length,C=0,D;O>C;){if(D=+arguments[C++],h(D,1114111)!==D)throw new p(D+" is not a valid code point");I[C]=D<65536?y(D):y(((D-=65536)>>10)+55296,D%1024+56320)}return $(I,"")}})},function(x,b,r){var u=r(3),d=r(14),h=r(442),p=r(16),y=r(68),T=r(443),$=d("".indexOf);u({target:"String",proto:!0,forced:!T("includes")},{includes:function(E){return!!~$(y(p(this)),y(h(E)),arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(14),h=r(16),p=r(68),y=d("".charCodeAt);u({target:"String",proto:!0},{isWellFormed:function(){for(var $=p(h(this)),A=$.length,E=0;E=56320||++E>=A||(y($,E)&64512)!==56320))return!1}return!0}})},function(x,b,r){var u=r(440).charAt,d=r(68),h=r(51),p=r(169),y=r(172),T="String Iterator",$=h.set,A=h.getterFor(T);p(String,"String",function(E){$(this,{type:T,string:d(E),index:0})},function(){var R=A(this),I=R.string,O=R.index,C;return O>=I.length?y(void 0,!0):(C=u(I,O),R.index+=C.length,y(C,!1))})},function(x,b,r){var u=r(8),d=r(449),h=r(46),p=r(17),y=r(64),T=r(68),$=r(16),A=r(29),E=r(450),R=r(451);d("match",function(I,O,C){return[function(M){var F=$(this),j=p(M)?void 0:A(M,I);return j?u(j,M,F):new RegExp(M)[I](T(F))},function(D){var M=h(this),F=T(D),j=C(O,M,F);if(j.done)return j.value;if(!M.global)return R(M,F);var B=M.unicode;M.lastIndex=0;for(var U=[],V=0,z;(z=R(M,F))!==null;){var G=T(z[0]);U[V]=G,G===""&&(M.lastIndex=E(F,y(M.lastIndex),B)),V++}return V===0?null:U}]})},function(x,b,r){r(408);var u=r(8),d=r(47),h=r(409),p=r(7),y=r(33),T=r(43),$=y("species"),A=RegExp.prototype;x.exports=function(E,R,I,O){var C=y(E),D=!p(function(){var B={};return B[C]=function(){return 7},""[E](B)!==7}),M=D&&!p(function(){var B=!1,U=/a/;return E==="split"&&(U={},U.constructor={},U.constructor[$]=function(){return U},U.flags="",U[C]=/./[C]),U.exec=function(){return B=!0,null},U[C](""),!B});if(!D||!M||I){var F=/./[C],j=R(C,""[E],function(B,U,V,z,G){var H=U.exec;return H===h||H===A.exec?D&&!G?{done:!0,value:u(F,U,V,z)}:{done:!0,value:u(B,V,U,z)}:{done:!1}});d(String.prototype,E,j[0]),d(A,C,j[1])}O&&T(A[C],"sham",!0)}},function(x,b,r){var u=r(440).charAt;x.exports=function(d,h,p){return h+(p?u(d,h).length:1)}},function(x,b,r){var u=r(8),d=r(46),h=r(21),p=r(15),y=r(409),T=TypeError;x.exports=function($,A){var E=$.exec;if(h(E)){var R=u(E,$,A);return R!==null&&d(R),R}if(p($)==="RegExp")return u(y,$,A);throw new T("RegExp#exec called on incompatible receiver")}},function(x,b,r){var u=r(3),d=r(8),h=r(85),p=r(170),y=r(172),T=r(16),$=r(64),A=r(68),E=r(46),R=r(17),I=r(15),O=r(401),C=r(402),D=r(29),M=r(47),F=r(7),j=r(33),B=r(358),U=r(450),V=r(451),z=r(51),G=r(36),H=j("matchAll"),k="RegExp String",J=k+" Iterator",q=z.set,nt=z.getterFor(J),rt=RegExp.prototype,_=TypeError,tt=h("".indexOf),et=h("".matchAll),ot=!!et&&!F(function(){et("a",/./)}),mt=p(function(yt,Ut,Dt,Xt){q(this,{type:J,regexp:yt,string:Ut,global:Dt,unicode:Xt,done:!1})},k,function(){var yt=nt(this);if(yt.done)return y(void 0,!0);var Ut=yt.regexp,Dt=yt.string,Xt=V(Ut,Dt);return Xt===null?(yt.done=!0,y(void 0,!0)):yt.global?(A(Xt[0])===""&&(Ut.lastIndex=U(Dt,$(Ut.lastIndex),yt.unicode)),y(Xt,!1)):(yt.done=!0,y(Xt,!1))}),gt=function(xt){var yt=E(this),Ut=A(xt),Dt=B(yt,RegExp),Xt=A(C(yt)),kt,Qt,me;return kt=new Dt(Dt===RegExp?yt.source:yt,Xt),Qt=!!~tt(Xt,"g"),me=!!~tt(Xt,"u"),kt.lastIndex=$(yt.lastIndex),new mt(kt,Ut,Qt,me)};u({target:"String",proto:!0,forced:ot},{matchAll:function(yt){var Ut=T(this),Dt,Xt,kt,Qt;if(R(yt)){if(ot)return et(Ut,yt)}else{if(O(yt)&&(Dt=A(T(C(yt))),!~tt(Dt,"g")))throw new _("`.matchAll` does not allow non-global regexes");if(ot)return et(Ut,yt);if(kt=D(yt,H),kt===void 0&&G&&I(yt)==="RegExp"&&(kt=gt),kt)return d(kt,yt,Ut)}return Xt=A(Ut),Qt=new RegExp(yt,"g"),G?d(gt,Qt,Xt):Qt[H](Xt)}}),G||H in rt||M(rt,H,gt)},function(x,b,r){var u=r(3),d=r(238).end,h=r(454);u({target:"String",proto:!0,forced:h},{padEnd:function(y){return d(this,y,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(28);x.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(u)},function(x,b,r){var u=r(3),d=r(238).start,h=r(454);u({target:"String",proto:!0,forced:h},{padStart:function(y){return d(this,y,arguments.length>1?arguments[1]:void 0)}})},function(x,b,r){var u=r(3),d=r(14),h=r(12),p=r(39),y=r(68),T=r(63),$=d([].push),A=d([].join);u({target:"String",stat:!0},{raw:function(R){var I=h(p(R).raw),O=T(I);if(!O)return"";for(var C=arguments.length,D=[],M=0;;){if($(D,y(I[M++])),M===O)return A(D,"");M")!=="7"});p("replace",function(_,tt,et){var ot=nt?"$":"$0";return[function(gt,xt){var yt=O(this),Ut=A(gt)?void 0:D(gt,B);return Ut?d(Ut,gt,yt,xt):d(tt,I(yt),gt,xt)},function(mt,gt){var xt=T(this),yt=I(mt);if(typeof gt=="string"&&H(gt,ot)===-1&&H(gt,"$<")===-1){var Ut=et(tt,xt,yt,gt);if(Ut.done)return Ut.value}var Dt=$(gt);Dt||(gt=I(gt));var Xt=xt.global,kt;Xt&&(kt=xt.unicode,xt.lastIndex=0);for(var Qt=[],me;me=F(xt,yt),!(me===null||(G(Qt,me),!Xt));){var ge=I(me[0]);ge===""&&(xt.lastIndex=C(yt,R(xt.lastIndex),kt))}for(var ae="",Mt=0,Yt=0;Yt=Mt&&(ae+=k(yt,Mt,oe)+fe,Mt=oe+re.length)}return ae+k(yt,Mt)}]},!rt||!q||nt)},function(x,b,r){var u=r(14),d=r(39),h=Math.floor,p=u("".charAt),y=u("".replace),T=u("".slice),$=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,A=/\$([$&'`]|\d{1,2})/g;x.exports=function(E,R,I,O,C,D){var M=I+E.length,F=O.length,j=A;return C!==void 0&&(C=d(C),j=$),y(D,j,function(B,U){var V;switch(p(U,0)){case"$":return"$";case"&":return E;case"`":return T(R,0,I);case"'":return T(R,M);case"<":V=C[T(U,1,-1)];break;default:var z=+U;if(z===0)return B;if(z>F){var G=h(z/10);return G===0?B:G<=F?O[G-1]===void 0?p(U,1):O[G-1]+p(U,1):B}V=O[z-1]}return V===void 0?"":V})}},function(x,b,r){var u=r(3),d=r(8),h=r(14),p=r(16),y=r(21),T=r(17),$=r(401),A=r(68),E=r(29),R=r(402),I=r(459),O=r(33),C=r(36),D=O("replace"),M=TypeError,F=h("".indexOf),j=h("".replace),B=h("".slice),U=Math.max;u({target:"String",proto:!0},{replaceAll:function(z,G){var H=p(this),k,J,q,nt,rt,_,tt,et,ot,mt,gt=0,xt="";if(!T(z)){if(k=$(z),k&&(J=A(p(R(z))),!~F(J,"g")))throw new M("`.replaceAll` does not allow non-global regexes");if(q=E(z,D),q)return d(q,z,H,G);if(C&&k)return j(A(H),z,G)}for(nt=A(H),rt=A(z),_=y(G),_||(G=A(G)),tt=rt.length,et=U(1,tt),ot=F(nt,rt);ot!==-1;)mt=_?A(G(rt,ot,nt)):I(rt,nt,ot,[],void 0,G),xt+=B(nt,gt,ot)+mt,gt=ot+tt,ot=ot+et>nt.length?-1:F(nt,rt,ot+et);return gt1||"".split(/.?/).length;h("split",function(G,H,k){var J="0".split(void 0,0).length?function(q,nt){return q===void 0&&nt===0?[]:u(H,this,q,nt)}:H;return[function(nt,rt){var _=T(this),tt=y(nt)?void 0:I(nt,G);return tt?u(tt,nt,_,rt):u(J,R(_),nt,rt)},function(q,nt){var rt=p(this),_=R(q);if(!z){var tt=k(J,rt,_,nt,J!==H);if(tt.done)return tt.value}var et=$(rt,RegExp),ot=rt.unicode,mt=(rt.ignoreCase?"i":"")+(rt.multiline?"m":"")+(rt.unicode?"u":"")+(M?"g":"y"),gt=new et(M?"^(?:"+rt.source+")":rt,mt),xt=nt===void 0?F:nt>>>0;if(xt===0)return[];if(_.length===0)return O(gt,_)===null?[_]:[];for(var yt=0,Ut=0,Dt=[];Ut<_.length;){gt.lastIndex=M?0:Ut;var Xt=O(gt,M?U(_,Ut):_),kt;if(Xt===null||(kt=j(E(gt.lastIndex+(M?Ut:0)),_.length))===yt)Ut=A(_,Ut,ot);else{if(B(Dt,U(_,yt,Ut)),Dt.length===xt)return Dt;for(var Qt=1;Qt<=Xt.length-1;Qt++)if(B(Dt,Xt[Qt]),Dt.length===xt)return Dt;Ut=yt=kt}}return B(Dt,U(_,yt)),Dt}]},z||!V,M)},function(x,b,r){var u=r(3),d=r(85),h=r(5).f,p=r(64),y=r(68),T=r(442),$=r(16),A=r(443),E=r(36),R=d("".slice),I=Math.min,O=A("startsWith"),C=!E&&!O&&!!function(){var D=h(String.prototype,"startsWith");return D&&!D.writable}();u({target:"String",proto:!0,forced:!C&&!O},{startsWith:function(M){var F=y($(this));T(M);var j=p(I(arguments.length>1?arguments[1]:void 0,F.length)),B=y(M);return R(F,j,j+B.length)===B}})},function(x,b,r){var u=r(3),d=r(14),h=r(16),p=r(61),y=r(68),T=d("".slice),$=Math.max,A=Math.min,E=!"".substr||"ab".substr(-1)!=="b";u({target:"String",proto:!0,forced:E},{substr:function(I,O){var C=y(h(this)),D=C.length,M=p(I),F,j;return M===1/0&&(M=0),M<0&&(M=$(D+M,0)),F=O===void 0?D:p(O),F<=0||F===1/0?"":(j=A(M+F,D),M>=j?"":T(C,M,j))}})},function(x,b,r){var u=r(3),d=r(8),h=r(14),p=r(16),y=r(68),T=r(7),$=Array,A=h("".charAt),E=h("".charCodeAt),R=h([].join),I="".toWellFormed,O="\uFFFD",C=I&&T(function(){return d(I,1)!=="1"});u({target:"String",proto:!0,forced:C},{toWellFormed:function(){var M=y(p(this));if(C)return d(I,M);for(var F=M.length,j=$(F),B=0;B=56320||B+1>=F||(E(M,B+1)&64512)!==56320?j[B]=O:(j[B]=A(M,B),j[++B]=A(M,B))}return R(j,"")}})},function(x,b,r){var u=r(3),d=r(303).trim,h=r(467);u({target:"String",proto:!0,forced:h("trim")},{trim:function(){return d(this)}})},function(x,b,r){var u=r(49).PROPER,d=r(7),h=r(304),p="\u200B\x85\u180E";x.exports=function(y){return d(function(){return!!h[y]()||p[y]()!==p||u&&h[y].name!==y})}},function(x,b,r){r(469);var u=r(3),d=r(470);u({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==d},{trimEnd:d})},function(x,b,r){var u=r(3),d=r(470);u({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==d},{trimRight:d})},function(x,b,r){var u=r(303).end,d=r(467);x.exports=d("trimEnd")?function(){return u(this)}:"".trimEnd},function(x,b,r){r(472);var u=r(3),d=r(473);u({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==d},{trimStart:d})},function(x,b,r){var u=r(3),d=r(473);u({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==d},{trimLeft:d})},function(x,b,r){var u=r(303).start,d=r(467);x.exports=d("trimStart")?function(){return u(this)}:"".trimStart},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("anchor")},{anchor:function(y){return d(this,"a","name",y)}})},function(x,b,r){var u=r(14),d=r(16),h=r(68),p=/"/g,y=u("".replace);x.exports=function(T,$,A,E){var R=h(d(T)),I="<"+$;return A!==""&&(I+=" "+A+'="'+y(h(E),p,""")+'"'),I+">"+R+""}},function(x,b,r){var u=r(7);x.exports=function(d){return u(function(){var h=""[d]('"');return h!==h.toLowerCase()||h.split('"').length>3})}},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("big")},{big:function(){return d(this,"big","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("blink")},{blink:function(){return d(this,"blink","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("bold")},{bold:function(){return d(this,"b","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("fixed")},{fixed:function(){return d(this,"tt","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("fontcolor")},{fontcolor:function(y){return d(this,"font","color",y)}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("fontsize")},{fontsize:function(y){return d(this,"font","size",y)}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("italics")},{italics:function(){return d(this,"i","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("link")},{link:function(y){return d(this,"a","href",y)}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("small")},{small:function(){return d(this,"small","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("strike")},{strike:function(){return d(this,"strike","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("sub")},{sub:function(){return d(this,"sub","","")}})},function(x,b,r){var u=r(3),d=r(475),h=r(476);u({target:"String",proto:!0,forced:h("sup")},{sup:function(){return d(this,"sup","","")}})},function(x,b,r){var u=r(490);u("Float32",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(3),d=r(4),h=r(8),p=r(6),y=r(491),T=r(218),$=r(208),A=r(211),E=r(11),R=r(43),I=r(309),O=r(64),C=r(212),D=r(492),M=r(493),F=r(18),j=r(38),B=r(69),U=r(20),V=r(22),z=r(71),G=r(24),H=r(113),k=r(57).f,J=r(494),q=r(83).forEach,nt=r(194),rt=r(77),_=r(44),tt=r(5),et=r(199),ot=r(51),mt=r(118),gt=ot.get,xt=ot.set,yt=ot.enforce,Ut=_.f,Dt=tt.f,Xt=d.RangeError,kt=$.ArrayBuffer,Qt=kt.prototype,me=$.DataView,ge=T.NATIVE_ARRAY_BUFFER_VIEWS,ae=T.TYPED_ARRAY_TAG,Mt=T.TypedArray,Yt=T.TypedArrayPrototype,re=T.isTypedArray,oe="BYTES_PER_ELEMENT",ee="Wrong length",fe=function(Ae,Te){rt(Ae,Te,{configurable:!0,get:function(){return gt(this)[Te]}})},Pe=function(Ae){var Te;return G(Qt,Ae)||(Te=B(Ae))==="ArrayBuffer"||Te==="SharedArrayBuffer"},Me=function(Ae,Te){return re(Ae)&&!V(Te)&&Te in Ae&&I(+Te)&&Te>=0},$e=function(Te,de){return de=F(de),Me(Te,de)?E(2,Te[de]):Dt(Te,de)},ce=function(Te,de,bt){return de=F(de),Me(Te,de)&&U(bt)&&j(bt,"value")&&!j(bt,"get")&&!j(bt,"set")&&!bt.configurable&&(!j(bt,"writable")||bt.writable)&&(!j(bt,"enumerable")||bt.enumerable)?(Te[de]=bt.value,Te):Ut(Te,de,bt)};p?(ge||(tt.f=$e,_.f=ce,fe(Yt,"buffer"),fe(Yt,"byteOffset"),fe(Yt,"byteLength"),fe(Yt,"length")),u({target:"Object",stat:!0,forced:!ge},{getOwnPropertyDescriptor:$e,defineProperty:ce}),x.exports=function(Ae,Te,de){var bt=Ae.match(/\d+/)[0]/8,Ft=Ae+(de?"Clamped":"")+"Array",Tt="get"+Ae,qt="set"+Ae,te=d[Ft],Zt=te,Ht=Zt&&Zt.prototype,He={},Ze=function(Ct,Nt){var Et=gt(Ct);return Et.view[Tt](Nt*bt+Et.byteOffset,!0)},ft=function(Ct,Nt,Et){var ie=gt(Ct);ie.view[qt](Nt*bt+ie.byteOffset,de?M(Et):Et,!0)},It=function(Ct,Nt){Ut(Ct,Nt,{get:function(){return Ze(this,Nt)},set:function(Et){return ft(this,Nt,Et)},enumerable:!0})};ge?y&&(Zt=Te(function(Ct,Nt,Et,ie){return A(Ct,Ht),mt(function(){return U(Nt)?Pe(Nt)?ie!==void 0?new te(Nt,D(Et,bt),ie):Et!==void 0?new te(Nt,D(Et,bt)):new te(Nt):re(Nt)?et(Zt,Nt):h(J,Zt,Nt):new te(C(Nt))}(),Ct,Zt)}),H&&H(Zt,Mt),q(k(te),function(Ct){Ct in Zt||R(Zt,Ct,te[Ct])}),Zt.prototype=Ht):(Zt=Te(function(Ct,Nt,Et,ie){A(Ct,Ht);var we=0,Rt=0,zt,jt,Wt;if(!U(Nt))Wt=C(Nt),jt=Wt*bt,zt=new kt(jt);else if(Pe(Nt)){zt=Nt,Rt=D(Et,bt);var ue=Nt.byteLength;if(ie===void 0){if(ue%bt)throw new Xt(ee);if(jt=ue-Rt,jt<0)throw new Xt(ee)}else if(jt=O(ie)*bt,jt+Rt>ue)throw new Xt(ee);Wt=jt/bt}else return re(Nt)?et(Zt,Nt):h(J,Zt,Nt);for(xt(Ct,{buffer:zt,byteOffset:Rt,byteLength:jt,length:Wt,view:new me(zt)});we255?255:u&255}},function(x,b,r){var u=r(84),d=r(8),h=r(359),p=r(39),y=r(63),T=r(133),$=r(134),A=r(131),E=r(495),R=r(218).aTypedArrayConstructor,I=r(496);x.exports=function(C){var D=h(this),M=p(C),F=arguments.length,j=F>1?arguments[1]:void 0,B=j!==void 0,U=$(M),V,z,G,H,k,J,q,nt;if(U&&!A(U))for(q=T(M,U),nt=q.next,M=[];!(J=d(nt,q)).done;)M.push(J.value);for(B&&F>2&&(j=u(j,arguments[2])),z=y(M),G=new(R(D))(z),H=E(G),V=0;z>V;V++)k=B?j(M[V],V):M[V],G[V]=H?I(k):+k;return G}},function(x,b,r){var u=r(69);x.exports=function(d){var h=u(d);return h==="BigInt64Array"||h==="BigUint64Array"}},function(x,b,r){var u=r(19),d=TypeError;x.exports=function(h){var p=u(h,"number");if(typeof p=="number")throw new d("Can't convert number to bigint");return BigInt(p)}},function(x,b,r){var u=r(490);u("Float64",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Int8",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Int16",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Int32",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Uint8",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Uint8",function(d){return function(p,y,T){return d(this,p,y,T)}},!0)},function(x,b,r){var u=r(490);u("Uint16",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(490);u("Uint32",function(d){return function(p,y,T){return d(this,p,y,T)}})},function(x,b,r){var u=r(218),d=r(63),h=r(61),p=u.aTypedArray,y=u.exportTypedArrayMethod;y("at",function($){var A=p(this),E=d(A),R=h($),I=R>=0?R:E+R;return I<0||I>=E?void 0:A[I]})},function(x,b,r){var u=r(14),d=r(218),h=r(144),p=u(h),y=d.aTypedArray,T=d.exportTypedArrayMethod;T("copyWithin",function(A,E){return p(y(this),A,E,arguments.length>2?arguments[2]:void 0)})},function(x,b,r){var u=r(218),d=r(83).every,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("every",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(149),h=r(496),p=r(69),y=r(8),T=r(14),$=r(7),A=u.aTypedArray,E=u.exportTypedArrayMethod,R=T("".slice),I=$(function(){var O=0;return new Int8Array(2).fill({valueOf:function(){return O++}}),O!==1});E("fill",function(C){var D=arguments.length;A(this);var M=R(p(this),0,3)==="Big"?h(C):+C;return y(d,this,M,D>1?arguments[1]:void 0,D>2?arguments[2]:void 0)},I)},function(x,b,r){var u=r(218),d=r(83).filter,h=r(510),p=u.aTypedArray,y=u.exportTypedArrayMethod;y("filter",function($){var A=d(p(this),$,arguments.length>1?arguments[1]:void 0);return h(this,A)})},function(x,b,r){var u=r(199),d=r(218).getTypedArrayConstructor;x.exports=function(h,p){return u(d(h),p)}},function(x,b,r){var u=r(218),d=r(83).find,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("find",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(83).findIndex,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("findIndex",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(154).findLast,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("findLast",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(154).findLastIndex,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("findLastIndex",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(83).forEach,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("forEach",function(T){d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(491),d=r(218).exportTypedArrayStaticMethod,h=r(494);d("from",h,u)},function(x,b,r){var u=r(218),d=r(59).includes,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("includes",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(59).indexOf,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("indexOf",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(4),d=r(7),h=r(14),p=r(218),y=r(168),T=r(33),$=T("iterator"),A=u.Uint8Array,E=h(y.values),R=h(y.keys),I=h(y.entries),O=p.aTypedArray,C=p.exportTypedArrayMethod,D=A&&A.prototype,M=!d(function(){D[$].call([1])}),F=!!D&&D.values&&D[$]===D.values&&D.values.name==="values",j=function(){return E(O(this))};C("entries",function(){return I(O(this))},M),C("keys",function(){return R(O(this))},M),C("values",j,M||!F,{name:"values"}),C($,j,M||!F,{name:"values"})},function(x,b,r){var u=r(218),d=r(14),h=u.aTypedArray,p=u.exportTypedArrayMethod,y=d([].join);p("join",function($){return y(h(this),$)})},function(x,b,r){var u=r(218),d=r(94),h=r(175),p=u.aTypedArray,y=u.exportTypedArrayMethod;y("lastIndexOf",function($){var A=arguments.length;return d(h,p(this),A>1?[$,arguments[1]]:[$])})},function(x,b,r){var u=r(218),d=r(83).map,h=u.aTypedArray,p=u.getTypedArrayConstructor,y=u.exportTypedArrayMethod;y("map",function($){return d(h(this),$,arguments.length>1?arguments[1]:void 0,function(A,E){return new(p(A))(E)})})},function(x,b,r){var u=r(218),d=r(491),h=u.aTypedArrayConstructor,p=u.exportTypedArrayStaticMethod;p("of",function(){for(var T=0,$=arguments.length,A=new(h(this))($);$>T;)A[T]=arguments[T++];return A},d)},function(x,b,r){var u=r(218),d=r(181).left,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("reduce",function(T){var $=arguments.length;return d(h(this),T,$,$>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=r(181).right,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("reduceRight",function(T){var $=arguments.length;return d(h(this),T,$,$>1?arguments[1]:void 0)})},function(x,b,r){var u=r(218),d=u.aTypedArray,h=u.exportTypedArrayMethod,p=Math.floor;h("reverse",function(){for(var T=this,$=d(T).length,A=p($/2),E=0,R;E1?arguments[1]:void 0,1),U=T(j);if(D)return d(I,this,U,B);var V=this.length,z=p(U),G=0;if(z+B>V)throw new A("Wrong length");for(;GC;)M[C]=I[C++];return M},$)},function(x,b,r){var u=r(218),d=r(83).some,h=u.aTypedArray,p=u.exportTypedArrayMethod;p("some",function(T){return d(h(this),T,arguments.length>1?arguments[1]:void 0)})},function(x,b,r){var u=r(4),d=r(85),h=r(7),p=r(30),y=r(189),T=r(218),$=r(190),A=r(191),E=r(27),R=r(192),I=T.aTypedArray,O=T.exportTypedArrayMethod,C=u.Uint16Array,D=C&&d(C.prototype.sort),M=!!D&&!(h(function(){D(new C(2),null)})&&h(function(){D(new C(2),{})})),F=!!D&&!h(function(){if(E)return E<74;if($)return $<67;if(A)return!0;if(R)return R<602;var B=new C(516),U=Array(516),V,z;for(V=0;V<516;V++)z=V%4,B[V]=515-V,U[V]=V-2*z+3;for(D(B,function(G,H){return(G/4|0)-(H/4|0)}),V=0;V<516;V++)if(B[V]!==U[V])return!0}),j=function(B){return function(U,V){return B!==void 0?+B(U,V)||0:V!==V?-1:U!==U?1:U===0&&V===0?1/U>0&&1/V<0?1:-1:U>V}};O("sort",function(U){return U!==void 0&&p(U),F?D(this,U):y(I(this),j(U))},!F||M)},function(x,b,r){var u=r(218),d=r(64),h=r(60),p=u.aTypedArray,y=u.getTypedArrayConstructor,T=u.exportTypedArrayMethod;T("subarray",function(A,E){var R=p(this),I=R.length,O=h(A,I),C=y(R);return new C(R.buffer,R.byteOffset+O*R.BYTES_PER_ELEMENT,d((E===void 0?I:h(E,I))-O))})},function(x,b,r){var u=r(4),d=r(94),h=r(218),p=r(7),y=r(76),T=u.Int8Array,$=h.aTypedArray,A=h.exportTypedArrayMethod,E=[].toLocaleString,R=!!T&&p(function(){E.call(new T(1))}),I=p(function(){return[1,2].toLocaleString()!==new T([1,2]).toLocaleString()})||!p(function(){T.prototype.toLocaleString.call([1,2])});A("toLocaleString",function(){return d(E,R?y($(this)):$(this),y(arguments))},I)},function(x,b,r){var u=r(197),d=r(218),h=d.aTypedArray,p=d.exportTypedArrayMethod,y=d.getTypedArrayConstructor;p("toReversed",function(){return u(h(this),y(this))})},function(x,b,r){var u=r(218),d=r(14),h=r(30),p=r(199),y=u.aTypedArray,T=u.getTypedArrayConstructor,$=u.exportTypedArrayMethod,A=d(u.TypedArrayPrototype.sort);$("toSorted",function(R){R!==void 0&&h(R);var I=y(this),O=p(T(I),I);return A(O,R)})},function(x,b,r){var u=r(218).exportTypedArrayMethod,d=r(7),h=r(4),p=r(14),y=h.Uint8Array,T=y&&y.prototype||{},$=[].toString,A=p([].join);d(function(){$.call({})})&&($=function(){return A(this)});var E=T.toString!==$;u("toString",$,E)},function(x,b,r){var u=r(206),d=r(218),h=r(495),p=r(61),y=r(496),T=d.aTypedArray,$=d.getTypedArrayConstructor,A=d.exportTypedArrayMethod,E=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(R){return R===8}}();A("with",function(R,I){var O=T(this),C=p(R),D=h(O)?y(I):+I;return u(O,$(O),C,D)},!E)},function(x,b,r){var u=r(3),d=r(14),h=r(68),p=String.fromCharCode,y=d("".charAt),T=d(/./.exec),$=d("".slice),A=/^[\da-f]{2}$/i,E=/^[\da-f]{4}$/i;u({global:!0},{unescape:function(I){for(var O=h(I),C="",D=O.length,M=0,F,j;M>(-2*_&6)));return nt}})},function(x){var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=b+"+/",u=b+"-_",d=function(h){for(var p={},y=0;y<64;y++)p[h.charAt(y)]=y;return p};x.exports={i2c:r,c2i:d(r),i2cUrl:u,c2iUrl:d(u)}},function(x,b,r){var u=r(3),d=r(4),h=r(23),p=r(14),y=r(8),T=r(7),$=r(68),A=r(361),E=r(544).i2c,R=h("btoa"),I=p("".charAt),O=p("".charCodeAt),C=!!R&&!T(function(){return R("hi")!=="aGk="}),D=C&&!T(function(){R()}),M=C&&T(function(){return R(null)!=="bnVsbA=="}),F=C&&R.length!==1;u({global:!0,bind:!0,enumerable:!0,forced:!C||D||M||F},{btoa:function(B){if(A(arguments.length,1),C)return y(R,d,$(B));for(var U=$(B),V="",z=0,G=E,H,k;I(U,z)||(G="=",z%1);){if(k=O(U,z+=.75),k>255)throw new(h("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");H=H<<8|k,V+=I(G,63&H>>8-z%1*8)}return V}})},function(x,b,r){var u=r(4),d=r(547),h=r(548),p=r(160),y=r(43),T=function(A){if(A&&A.forEach!==p)try{y(A,"forEach",p)}catch(E){A.forEach=p}};for(var $ in d)d[$]&&T(u[$]&&u[$].prototype);T(h)},function(x){x.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(x,b,r){var u=r(42),d=u("span").classList,h=d&&d.constructor&&d.constructor.prototype;x.exports=h===Object.prototype?void 0:h},function(x,b,r){var u=r(4),d=r(547),h=r(548),p=r(168),y=r(43),T=r(82),$=r(33),A=$("iterator"),E=p.values,R=function(O,C){if(O){if(O[A]!==E)try{y(O,A,E)}catch(M){O[A]=E}if(T(O,C,!0),d[C]){for(var D in p)if(O[D]!==p[D])try{y(O,D,p[D])}catch(M){O[D]=p[D]}}}};for(var I in d)R(u[I]&&u[I].prototype,I);R(h,"DOMTokenList")},function(x,b,r){var u=r(3),d=r(23),h=r(229),p=r(7),y=r(71),T=r(11),$=r(44).f,A=r(47),E=r(77),R=r(38),I=r(211),O=r(46),C=r(125),D=r(119),M=r(551),F=r(122),j=r(51),B=r(6),U=r(36),V="DOMException",z="DATA_CLONE_ERR",G=d("Error"),H=d(V)||function(){try{var Mt=d("MessageChannel")||h("worker_threads").MessageChannel;new Mt().port1.postMessage(new WeakMap)}catch(Yt){if(Yt.name===z&&Yt.code===25)return Yt.constructor}}(),k=H&&H.prototype,J=G.prototype,q=j.set,nt=j.getterFor(V),rt="stack"in new G(V),_=function(Mt){return R(M,Mt)&&M[Mt].m?M[Mt].c:0},tt=function(){I(this,et);var Yt=arguments.length,re=D(Yt<1?void 0:arguments[0]),oe=D(Yt<2?void 0:arguments[1],"Error"),ee=_(oe);if(q(this,{type:V,name:oe,message:re,code:ee}),B||(this.name=oe,this.message=re,this.code=ee),rt){var fe=new G(re);fe.name=V,$(this,"stack",T(1,F(fe.stack,1)))}},et=tt.prototype=y(J),ot=function(Mt){return{enumerable:!0,configurable:!0,get:Mt}},mt=function(Mt){return ot(function(){return nt(this)[Mt]})};B&&(E(et,"code",mt("code")),E(et,"message",mt("message")),E(et,"name",mt("name"))),$(et,"constructor",T(1,tt));var gt=p(function(){return!(new H instanceof G)}),xt=gt||p(function(){return J.toString!==C||String(new H(1,2))!=="2: 1"}),yt=gt||p(function(){return new H(1,"DataCloneError").code!==25}),Ut=gt||H[z]!==25||k[z]!==25,Dt=U?xt||yt||Ut:gt;u({global:!0,constructor:!0,forced:Dt},{DOMException:Dt?tt:H});var Xt=d(V),kt=Xt.prototype;xt&&(U||H===Xt)&&A(kt,"toString",C),yt&&B&&H===Xt&&E(kt,"code",ot(function(){return _(O(this).name)}));for(var Qt in M)if(R(M,Qt)){var me=M[Qt],ge=me.s,ae=T(6,me.c);R(Xt,ge)||$(Xt,ge,ae),R(kt,ge)||$(kt,ge,ae)}},function(x){x.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},function(x,b,r){var u=r(3),d=r(4),h=r(23),p=r(11),y=r(44).f,T=r(38),$=r(211),A=r(118),E=r(119),R=r(551),I=r(122),O=r(6),C=r(36),D="DOMException",M=h("Error"),F=h(D),j=function(){$(this,B);var tt=arguments.length,et=E(tt<1?void 0:arguments[0]),ot=E(tt<2?void 0:arguments[1],"Error"),mt=new F(et,ot),gt=new M(et);return gt.name=D,y(mt,"stack",p(1,I(gt.stack,1))),A(mt,this,j),mt},B=j.prototype=F.prototype,U="stack"in new M(D),V="stack"in new F(1,2),z=F&&O&&Object.getOwnPropertyDescriptor(d,D),G=!!z&&!(z.writable&&z.configurable),H=U&&!G&&!V;u({global:!0,constructor:!0,forced:C||H},{DOMException:H?j:F});var k=h(D),J=k.prototype;if(J.constructor!==k){C||y(J,"constructor",p(1,k));for(var q in R)if(T(R,q)){var nt=R[q],rt=nt.s;T(k,rt)||y(k,rt,p(6,nt.c))}}},function(x,b,r){var u=r(23),d=r(82),h="DOMException";d(u(h),h)},function(x,b,r){r(555),r(556)},function(x,b,r){var u=r(3),d=r(4),h=r(360).clear;u({global:!0,bind:!0,enumerable:!0,forced:d.clearImmediate!==h},{clearImmediate:h})},function(x,b,r){var u=r(3),d=r(4),h=r(360).set,p=r(557),y=d.setImmediate?p(h,!1):h;u({global:!0,bind:!0,enumerable:!0,forced:d.setImmediate!==y},{setImmediate:y})},function(x,b,r){var u=r(4),d=r(94),h=r(21),p=r(183),y=r(28),T=r(76),$=r(361),A=u.Function,E=/MSIE .\./.test(y)||p==="BUN"&&function(){var R=u.Bun.version.split(".");return R.length<3||R[0]==="0"&&(R[1]<3||R[1]==="3"&&R[2]==="0")}();x.exports=function(R,I){var O=I?2:1;return E?function(C,D){var M=$(arguments.length,1)>O,F=h(C)?C:A(C),j=M?T(arguments,O):[],B=M?function(){d(F,this,j)}:F;return I?R(B,D):R(B)}:R}},function(x,b,r){var u=r(3),d=r(4),h=r(363),p=r(30),y=r(361),T=r(7),$=r(6),A=T(function(){return $&&Object.getOwnPropertyDescriptor(d,"queueMicrotask").value.length!==1});u({global:!0,enumerable:!0,dontCallGetSet:!0,forced:A},{queueMicrotask:function(R){y(arguments.length,1),h(p(R))}})},function(x,b,r){var u=r(3),d=r(4),h=r(77),p=r(6),y=TypeError,T=Object.defineProperty,$=d.self!==d;try{if(p){var A=Object.getOwnPropertyDescriptor(d,"self");($||!A||!A.get||!A.enumerable)&&h(d,"self",{get:function(){return d},set:function(R){if(this!==d)throw new y("Illegal invocation");T(d,"self",{value:R,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else u({global:!0,simple:!0,forced:$},{self:d})}catch(E){}},function(x,b,r){var u=r(36),d=r(3),h=r(4),p=r(23),y=r(14),T=r(7),$=r(40),A=r(21),E=r(89),R=r(17),I=r(20),O=r(22),C=r(130),D=r(46),M=r(69),F=r(38),j=r(141),B=r(43),U=r(63),V=r(361),z=r(402),G=r(279),H=r(419),k=r(421),J=r(228),q=r(123),nt=r(230),rt=h.Object,_=h.Array,tt=h.Date,et=h.Error,ot=h.TypeError,mt=h.PerformanceMark,gt=p("DOMException"),xt=G.Map,yt=G.has,Ut=G.get,Dt=G.set,Xt=H.Set,kt=H.add,Qt=H.has,me=p("Object","keys"),ge=y([].push),ae=y((!0).valueOf),Mt=y(1 .valueOf),Yt=y("".valueOf),re=y(tt.prototype.getTime),oe=$("structuredClone"),ee="DataCloneError",fe="Transferring",Pe=function(ft){return!T(function(){var It=new h.Set([7]),Pt=ft(It),Ct=ft(rt(7));return Pt===It||!Pt.has(7)||!I(Ct)||+Ct!=7})&&ft},Me=function(ft,It){return!T(function(){var Pt=new It,Ct=ft({a:Pt,b:Pt});return!(Ct&&Ct.a===Ct.b&&Ct.a instanceof It&&Ct.a.stack===Pt.stack)})},$e=function(ft){return!T(function(){var It=ft(new h.AggregateError([1],oe,{cause:3}));return It.name!=="AggregateError"||It.errors[0]!==1||It.message!==oe||It.cause!==3})},ce=h.structuredClone,Ae=u||!Me(ce,et)||!Me(ce,gt)||!$e(ce),Te=!ce&&Pe(function(ft){return new mt(oe,{detail:ft}).detail}),de=Pe(ce)||Te,bt=function(ft){throw new gt("Uncloneable type: "+ft,ee)},Ft=function(ft,It){throw new gt((It||"Cloning")+" of "+ft+" cannot be properly polyfilled in this engine",ee)},Tt=function(ft,It){return de||Ft(It),de(ft)},qt=function(){var ft;try{ft=new h.DataTransfer}catch(It){try{ft=new h.ClipboardEvent("").clipboardData}catch(Pt){}}return ft&&ft.items&&ft.files?ft:null},te=function(ft,It,Pt){if(yt(It,ft))return Ut(It,ft);var Ct=Pt||M(ft),Nt,Et,ie,we,Rt,zt;if(Ct==="SharedArrayBuffer")de?Nt=de(ft):Nt=ft;else{var jt=h.DataView;!jt&&!A(ft.slice)&&Ft("ArrayBuffer");try{if(A(ft.slice)&&!ft.resizable)Nt=ft.slice(0);else for(Et=ft.byteLength,ie=("maxByteLength"in ft)?{maxByteLength:ft.maxByteLength}:void 0,Nt=new ArrayBuffer(Et,ie),we=new jt(ft),Rt=new jt(Nt),zt=0;zt1&&!R(arguments[1])?D(arguments[1]):void 0,Ct=Pt?Pt.transfer:void 0,Nt,Et;Ct!==void 0&&(Nt=new xt,Et=He(Ct,Nt));var ie=Ht(It,Nt);return Et&&Ze(Et),ie}})},function(x,b,r){r(562),r(563)},function(x,b,r){var u=r(3),d=r(4),h=r(557),p=h(d.setInterval,!0);u({global:!0,bind:!0,forced:d.setInterval!==p},{setInterval:p})},function(x,b,r){var u=r(3),d=r(4),h=r(557),p=h(d.setTimeout,!0);u({global:!0,bind:!0,forced:d.setTimeout!==p},{setTimeout:p})},function(x,b,r){r(565)},function(x,b,r){r(447);var u=r(3),d=r(6),h=r(566),p=r(4),y=r(84),T=r(14),$=r(47),A=r(77),E=r(211),R=r(38),I=r(322),O=r(162),C=r(76),D=r(440).codeAt,M=r(567),F=r(68),j=r(82),B=r(361),U=r(568),V=r(51),z=V.set,G=V.getterFor("URL"),H=U.URLSearchParams,k=U.getState,J=p.URL,q=p.TypeError,nt=p.parseInt,rt=Math.floor,_=Math.pow,tt=T("".charAt),et=T(/./.exec),ot=T([].join),mt=T(1 .toString),gt=T([].pop),xt=T([].push),yt=T("".replace),Ut=T([].shift),Dt=T("".split),Xt=T("".slice),kt=T("".toLowerCase),Qt=T([].unshift),me="Invalid authority",ge="Invalid scheme",ae="Invalid host",Mt="Invalid port",Yt=/[a-z]/i,re=/[\d+-.a-z]/i,oe=/\d/,ee=/^0x/i,fe=/^[0-7]+$/,Pe=/^\d+$/,Me=/^[\da-f]+$/i,$e=/[\0\t\n\r #%/:<>?@[\\\]^|]/,ce=/[\0\t\n\r #/:<>?@[\\\]^|]/,Ae=/^[\u0000-\u0020]+/,Te=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,de=/[\t\n\r]/g,bt,Ft=function(dt){var wt=Dt(dt,"."),pt,it,Ot,ye,_t,Ie,rn;if(wt.length&&wt[wt.length-1]===""&&wt.length--,pt=wt.length,pt>4)return dt;for(it=[],Ot=0;Ot1&&tt(ye,0)==="0"&&(_t=et(ee,ye)?16:8,ye=Xt(ye,_t===8?1:2)),ye==="")Ie=0;else{if(!et(_t===10?Pe:_t===8?fe:Me,ye))return dt;Ie=nt(ye,_t)}xt(it,Ie)}for(Ot=0;Ot=_(256,5-pt))return null}else if(Ie>255)return null;for(rn=gt(it),Ot=0;Ot6))return;for(Ie=0;an();){if(rn=null,Ie>0)if(an()==="."&&Ie<4)Ot++;else return;if(!et(oe,an()))return;for(;et(oe,an());){if(gn=nt(an(),10),rn===null)rn=gn;else{if(rn===0)return;rn=rn*10+gn}if(rn>255)return;Ot++}wt[pt]=wt[pt]*256+rn,Ie++,(Ie===2||Ie===4)&&pt++}if(Ie!==4)return;break}else if(an()===":"){if(Ot++,!an())return}else if(an())return;wt[pt++]=ye}if(it!==null)for(mn=pt-it,pt=7;pt!==0&&mn>0;)st=wt[pt],wt[pt--]=wt[it+mn-1],wt[it+--mn]=st;else if(pt!==8)return;return wt},qt=function(dt){for(var wt=null,pt=1,it=null,Ot=0,ye=0;ye<8;ye++)dt[ye]!==0?(Ot>pt&&(wt=it,pt=Ot),it=null,Ot=0):(it===null&&(it=ye),++Ot);return Ot>pt?it:wt},te=function(dt){var wt,pt,it,Ot;if(typeof dt=="number"){for(wt=[],pt=0;pt<4;pt++)Qt(wt,dt%256),dt=rt(dt/256);return ot(wt,".")}if(typeof dt=="object"){for(wt="",it=qt(dt),pt=0;pt<8;pt++)Ot&&dt[pt]===0||(Ot&&(Ot=!1),it===pt?(wt+=pt?":":"::",Ot=!0):(wt+=mt(dt[pt],16),pt<7&&(wt+=":")));return"["+wt+"]"}return dt},Zt={},Ht=I({},Zt,{" ":1,'"':1,"<":1,">":1,"`":1}),He=I({},Ht,{"#":1,"?":1,"{":1,"}":1}),Ze=I({},He,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),ft=function(dt,wt){var pt=D(dt,0);return pt>32&&pt<127&&!R(wt,dt)?dt:encodeURIComponent(dt)},It={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Pt=function(dt,wt){var pt;return dt.length===2&&et(Yt,tt(dt,0))&&((pt=tt(dt,1))===":"||!wt&&pt==="|")},Ct=function(dt){var wt;return dt.length>1&&Pt(Xt(dt,0,2))&&(dt.length===2||(wt=tt(dt,2))==="/"||wt==="\\"||wt==="?"||wt==="#")},Nt=function(dt){return dt==="."||kt(dt)==="%2e"},Et=function(dt){return dt=kt(dt),dt===".."||dt==="%2e."||dt===".%2e"||dt==="%2e%2e"},ie={},we={},Rt={},zt={},jt={},Wt={},ue={},Ee={},Ve={},Je={},nn={},pn={},Gn={},Yr={},Ya={},ga={},yr={},Vn={},Ha={},ir={},Wn={},va=function(dt,wt,pt){var it=F(dt),Ot,ye,_t;if(wt){if(ye=this.parse(it),ye)throw new q(ye);this.searchParams=null}else{if(pt!==void 0&&(Ot=new va(pt,!0)),ye=this.parse(it,null,Ot),ye)throw new q(ye);_t=k(new H),_t.bindURL(this),this.searchParams=_t}};va.prototype={type:"URL",parse:function(dt,wt,pt){var it=this,Ot=wt||ie,ye=0,_t="",Ie=!1,rn=!1,gn=!1,mn,st,an,Fn;for(dt=F(dt),wt||(it.scheme="",it.username="",it.password="",it.host=null,it.port=null,it.path=[],it.query=null,it.fragment=null,it.cannotBeABaseURL=!1,dt=yt(dt,Ae,""),dt=yt(dt,Te,"$1")),dt=yt(dt,de,""),mn=O(dt);ye<=mn.length;){switch(st=mn[ye],Ot){case ie:if(st&&et(Yt,st))_t+=kt(st),Ot=we;else{if(wt)return ge;Ot=Rt;continue}break;case we:if(st&&(et(re,st)||st==="+"||st==="-"||st==="."))_t+=kt(st);else if(st===":"){if(wt&&(it.isSpecial()!==R(It,_t)||_t==="file"&&(it.includesCredentials()||it.port!==null)||it.scheme==="file"&&!it.host))return;if(it.scheme=_t,wt){it.isSpecial()&&It[it.scheme]===it.port&&(it.port=null);return}_t="",it.scheme==="file"?Ot=Yr:it.isSpecial()&&pt&&pt.scheme===it.scheme?Ot=zt:it.isSpecial()?Ot=Ee:mn[ye+1]==="/"?(Ot=jt,ye++):(it.cannotBeABaseURL=!0,xt(it.path,""),Ot=Ha)}else{if(wt)return ge;_t="",Ot=Rt,ye=0;continue}break;case Rt:if(!pt||pt.cannotBeABaseURL&&st!=="#")return ge;if(pt.cannotBeABaseURL&&st==="#"){it.scheme=pt.scheme,it.path=C(pt.path),it.query=pt.query,it.fragment="",it.cannotBeABaseURL=!0,Ot=Wn;break}Ot=pt.scheme==="file"?Yr:Wt;continue;case zt:if(st==="/"&&mn[ye+1]==="/")Ot=Ve,ye++;else{Ot=Wt;continue}break;case jt:if(st==="/"){Ot=Je;break}else{Ot=Vn;continue}case Wt:if(it.scheme=pt.scheme,st===bt)it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,it.path=C(pt.path),it.query=pt.query;else if(st==="/"||st==="\\"&&it.isSpecial())Ot=ue;else if(st==="?")it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,it.path=C(pt.path),it.query="",Ot=ir;else if(st==="#")it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,it.path=C(pt.path),it.query=pt.query,it.fragment="",Ot=Wn;else{it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,it.path=C(pt.path),it.path.length--,Ot=Vn;continue}break;case ue:if(it.isSpecial()&&(st==="/"||st==="\\"))Ot=Ve;else if(st==="/")Ot=Je;else{it.username=pt.username,it.password=pt.password,it.host=pt.host,it.port=pt.port,Ot=Vn;continue}break;case Ee:if(Ot=Ve,st!=="/"||tt(_t,ye+1)!=="/")continue;ye++;break;case Ve:if(st!=="/"&&st!=="\\"){Ot=Je;continue}break;case Je:if(st==="@"){Ie&&(_t="%40"+_t),Ie=!0,an=O(_t);for(var en=0;en65535)return Mt;it.port=it.isSpecial()&&Bn===It[it.scheme]?null:Bn,_t=""}if(wt)return;Ot=yr;continue}else return Mt;break;case Yr:if(it.scheme="file",st==="/"||st==="\\")Ot=Ya;else if(pt&&pt.scheme==="file")switch(st){case bt:it.host=pt.host,it.path=C(pt.path),it.query=pt.query;break;case"?":it.host=pt.host,it.path=C(pt.path),it.query="",Ot=ir;break;case"#":it.host=pt.host,it.path=C(pt.path),it.query=pt.query,it.fragment="",Ot=Wn;break;default:Ct(ot(C(mn,ye),""))||(it.host=pt.host,it.path=C(pt.path),it.shortenPath()),Ot=Vn;continue}else{Ot=Vn;continue}break;case Ya:if(st==="/"||st==="\\"){Ot=ga;break}pt&&pt.scheme==="file"&&!Ct(ot(C(mn,ye),""))&&(Pt(pt.path[0],!0)?xt(it.path,pt.path[0]):it.host=pt.host),Ot=Vn;continue;case ga:if(st===bt||st==="/"||st==="\\"||st==="?"||st==="#"){if(!wt&&Pt(_t))Ot=Vn;else if(_t===""){if(it.host="",wt)return;Ot=yr}else{if(Fn=it.parseHost(_t),Fn)return Fn;if(it.host==="localhost"&&(it.host=""),wt)return;_t="",Ot=yr}continue}else _t+=st;break;case yr:if(it.isSpecial()){if(Ot=Vn,st!=="/"&&st!=="\\")continue}else if(!wt&&st==="?")it.query="",Ot=ir;else if(!wt&&st==="#")it.fragment="",Ot=Wn;else if(st!==bt&&(Ot=Vn,st!=="/"))continue;break;case Vn:if(st===bt||st==="/"||st==="\\"&&it.isSpecial()||!wt&&(st==="?"||st==="#")){if(Et(_t)?(it.shortenPath(),st!=="/"&&!(st==="\\"&&it.isSpecial())&&xt(it.path,"")):Nt(_t)?st!=="/"&&!(st==="\\"&&it.isSpecial())&&xt(it.path,""):(it.scheme==="file"&&!it.path.length&&Pt(_t)&&(it.host&&(it.host=""),_t=tt(_t,0)+":"),xt(it.path,_t)),_t="",it.scheme==="file"&&(st===bt||st==="?"||st==="#"))for(;it.path.length>1&&it.path[0]==="";)Ut(it.path);st==="?"?(it.query="",Ot=ir):st==="#"&&(it.fragment="",Ot=Wn)}else _t+=ft(st,He);break;case Ha:st==="?"?(it.query="",Ot=ir):st==="#"?(it.fragment="",Ot=Wn):st!==bt&&(it.path[0]+=ft(st,Zt));break;case ir:!wt&&st==="#"?(it.fragment="",Ot=Wn):st!==bt&&(st==="'"&&it.isSpecial()?it.query+="%27":st==="#"?it.query+="%23":it.query+=ft(st,Zt));break;case Wn:st!==bt&&(it.fragment+=ft(st,Ht));break}ye++}},parseHost:function(dt){var wt,pt,it;if(tt(dt,0)==="["){if(tt(dt,dt.length-1)!=="]"||(wt=Tt(Xt(dt,1,-1)),!wt))return ae;this.host=wt}else if(this.isSpecial()){if(dt=M(dt),et($e,dt)||(wt=Ft(dt),wt===null))return ae;this.host=wt}else{if(et(ce,dt))return ae;for(wt="",pt=O(dt),it=0;it1?arguments[1]:void 0,Ot=z(pt,new va(wt,!1,it));d||(pt.href=Ot.serialize(),pt.origin=Ot.getOrigin(),pt.protocol=Ot.getProtocol(),pt.username=Ot.getUsername(),pt.password=Ot.getPassword(),pt.host=Ot.getHost(),pt.hostname=Ot.getHostname(),pt.port=Ot.getPort(),pt.pathname=Ot.getPathname(),pt.search=Ot.getSearch(),pt.searchParams=Ot.getSearchParams(),pt.hash=Ot.getHash())},Tn=xr.prototype,wn=function(dt,wt){return{get:function(){return G(this)[dt]()},set:wt&&function(pt){return G(this)[wt](pt)},configurable:!0,enumerable:!0}};if(d&&(A(Tn,"href",wn("serialize","setHref")),A(Tn,"origin",wn("getOrigin")),A(Tn,"protocol",wn("getProtocol","setProtocol")),A(Tn,"username",wn("getUsername","setUsername")),A(Tn,"password",wn("getPassword","setPassword")),A(Tn,"host",wn("getHost","setHost")),A(Tn,"hostname",wn("getHostname","setHostname")),A(Tn,"port",wn("getPort","setPort")),A(Tn,"pathname",wn("getPathname","setPathname")),A(Tn,"search",wn("getSearch","setSearch")),A(Tn,"searchParams",wn("getSearchParams")),A(Tn,"hash",wn("getHash","setHash"))),$(Tn,"toJSON",function(){return G(this).serialize()},{enumerable:!0}),$(Tn,"toString",function(){return G(this).serialize()},{enumerable:!0}),J){var Wa=J.createObjectURL,Ka=J.revokeObjectURL;Wa&&$(xr,"createObjectURL",y(Wa,J)),Ka&&$(xr,"revokeObjectURL",y(Ka,J))}j(xr,"URL"),u({global:!0,constructor:!0,forced:!h,sham:!d},{URL:xr})},function(x,b,r){var u=r(7),d=r(33),h=r(6),p=r(36),y=d("iterator");x.exports=!u(function(){var T=new URL("b?a=1&b=2&c=3","https://a"),$=T.searchParams,A=new URLSearchParams("a=1&a=2&b=3"),E="";return T.pathname="c%20d",$.forEach(function(R,I){$.delete("b"),E+=I+R}),A.delete("a",2),A.delete("b",void 0),p&&(!T.toJSON||!A.has("a",1)||A.has("a",2)||!A.has("a",void 0)||A.has("b"))||!$.size&&(p||!h)||!$.sort||T.href!=="https://a/c%20d?a=1&c=3"||$.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!$[y]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("https://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("https://a#\u0431").hash!=="#%D0%B1"||E!=="a1c3"||new URL("https://x",void 0).host!=="x"})},function(x,b,r){var u=r(14),d=2147483647,h=36,p=1,y=26,T=38,$=700,A=72,E=128,R="-",I=/[^\0-\u007E]/,O=/[.\u3002\uFF0E\uFF61]/g,C="Overflow: input needs wider integers to process",D=h-p,M=RangeError,F=u(O.exec),j=Math.floor,B=String.fromCharCode,U=u("".charCodeAt),V=u([].join),z=u([].push),G=u("".replace),H=u("".split),k=u("".toLowerCase),J=function(_){for(var tt=[],et=0,ot=_.length;et=55296&&mt<=56319&&et>1,_+=j(_/tt);_>D*y>>1;)_=j(_/D),ot+=h;return j(ot+(D+1)*_/(_+T))},rt=function(_){var tt=[];_=J(_);var et=_.length,ot=E,mt=0,gt=A,xt,yt;for(xt=0;xt<_.length;xt++)yt=_[xt],yt<128&&z(tt,B(yt));var Ut=tt.length,Dt=Ut;for(Ut&&z(tt,R);Dt=ot&&ytj((d-mt)/kt))throw new M(C);for(mt+=(Xt-ot)*kt,ot=Xt,xt=0;xt<_.length;xt++){if(yt=_[xt],ytd)throw new M(C);if(yt===ot){for(var Qt=mt,me=h;;){var ge=me<=gt?p:me>=gt+y?y:me-gt;if(Qt0&&Rt&jt;jt>>=1)zt++;return zt},qt=function(Rt){var zt=null;switch(Rt.length){case 1:zt=Rt[0];break;case 2:zt=(Rt[0]&31)<<6|Rt[1]&63;break;case 3:zt=(Rt[0]&15)<<12|(Rt[1]&63)<<6|Rt[2]&63;break;case 4:zt=(Rt[0]&7)<<18|(Rt[1]&63)<<12|(Rt[2]&63)<<6|Rt[3]&63;break}return zt>1114111?null:zt},te=function(Rt){Rt=fe(Rt,Te," ");for(var zt=Rt.length,jt="",Wt=0;Wtzt){jt+="%",Wt++;continue}var Ee=Ft(Rt,Wt+1);if(Ee!==Ee){jt+=ue,Wt++;continue}Wt+=2;var Ve=Tt(Ee);if(Ve===0)ue=ae(Ee);else{if(Ve===1||Ve>4){jt+=de,Wt++;continue}for(var Je=[Ee],nn=1;nnzt||re(Rt,Wt)!=="%"));){var pn=Ft(Rt,Wt+1);if(pn!==pn){Wt+=3;break}if(pn>191||pn<128)break;ee(Je,pn),Wt+=2,nn++}if(Je.length!==Ve){jt+=de;continue}var Gn=qt(Je);Gn===null?jt+=de:ue=Mt(Gn)}}jt+=ue,Wt++}return jt},Zt=/[!'()~]|%20/g,Ht={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},He=function(Rt){return Ht[Rt]},Ze=function(Rt){return fe(ge(Rt),Zt,He)},ft=C(function(zt,jt){gt(this,{type:mt,target:xt(zt).entries,index:0,kind:jt})},ot,function(){var zt=yt(this),jt=zt.target,Wt=zt.index++;if(!jt||Wt>=jt.length)return zt.target=null,nt(void 0,!0);var ue=jt[Wt];switch(zt.kind){case"keys":return nt(ue.key,!1);case"values":return nt(ue.value,!1)}return nt([ue.key,ue.value],!1)},!0),It=function(Rt){this.entries=[],this.url=null,Rt!==void 0&&(z(Rt)?this.parseObject(Rt):this.parseQuery(typeof Rt=="string"?re(Rt,0)==="?"?ce(Rt,1):Rt:G(Rt)))};It.prototype={type:ot,bindURL:function(Rt){this.url=Rt,this.update()},parseObject:function(Rt){var zt=this.entries,jt=q(Rt),Wt,ue,Ee,Ve,Je,nn,pn;if(jt)for(Wt=J(Rt,jt),ue=Wt.next;!(Ee=y(ue,Wt)).done;){if(Ve=J(V(Ee.value)),Je=Ve.next,(nn=y(Je,Ve)).done||(pn=y(Je,Ve)).done||!y(Je,Ve).done)throw new me("Expected sequence with length 2");ee(zt,{key:G(nn.value),value:G(pn.value)})}else for(var Gn in Rt)j(Rt,Gn)&&ee(zt,{key:Gn,value:G(Rt[Gn])})},parseQuery:function(Rt){if(Rt)for(var zt=this.entries,jt=$e(Rt,"&"),Wt=0,ue,Ee;Wt0?arguments[0]:void 0,jt=gt(this,new It(zt));$||(this.size=jt.entries.length)},Ct=Pt.prototype;if(I(Ct,{append:function(zt,jt){var Wt=xt(this);rt(arguments.length,2),ee(Wt.entries,{key:G(zt),value:G(jt)}),$||this.length++,Wt.updateURL()},delete:function(Rt){for(var zt=xt(this),jt=rt(arguments.length,1),Wt=zt.entries,ue=G(Rt),Ee=jt<2?void 0:arguments[1],Ve=Ee===void 0?Ee:G(Ee),Je=0;JeWt.key?1:-1}),zt.updateURL()},forEach:function(zt){for(var jt=xt(this).entries,Wt=B(zt,arguments.length>1?arguments[1]:void 0),ue=0,Ee;ue1?ie(arguments[1]):{})}}),F(Dt)){var we=function(zt){return M(this,kt),new Dt(zt,arguments.length>1?ie(arguments[1]):{})};kt.constructor=we,we.prototype=kt,u({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:we})}}x.exports={URLSearchParams:Pt,getState:xt}},function(x,b,r){var u=r(3),d=r(23),h=r(7),p=r(361),y=r(68),T=r(566),$=d("URL"),A=T&&h(function(){$.canParse()}),E=h(function(){return $.canParse.length!==1});u({target:"URL",stat:!0,forced:!A||E},{canParse:function(I){var O=p(arguments.length,1),C=y(I),D=O<2||arguments[1]===void 0?void 0:y(arguments[1]);try{return!!new $(C,D)}catch(M){return!1}}})},function(x,b,r){var u=r(3),d=r(23),h=r(361),p=r(68),y=r(566),T=d("URL");u({target:"URL",stat:!0,forced:!y},{parse:function(A){var E=h(arguments.length,1),R=p(A),I=E<2||arguments[1]===void 0?void 0:p(arguments[1]);try{return new T(R,I)}catch(O){return null}}})},function(x,b,r){var u=r(3),d=r(8);u({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return d(URL.prototype.toString,this)}})},function(x,b,r){r(568)},function(x,b,r){var u=r(47),d=r(14),h=r(68),p=r(361),y=URLSearchParams,T=y.prototype,$=d(T.append),A=d(T.delete),E=d(T.forEach),R=d([].push),I=new y("a=1&a=2&b=3");I.delete("a",1),I.delete("b",void 0),I+""!="a=2"&&u(T,"delete",function(O){var C=arguments.length,D=C<2?void 0:arguments[1];if(C&&D===void 0)return A(this,O);var M=[];E(this,function(H,k){R(M,{key:k,value:H})}),p(C,1);for(var F=h(O),j=h(D),B=0,U=0,V=!1,z=M.length,G;B=W&&(W=X+1);!(Q=L[W])&&++W=0;)(o=a[i])&&(s&&o.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(o,s),s=o);return this}function xt(t){t||(t=yt);function e(v,m){return v&&m?t(v.__data__,m.__data__):!v-!m}for(var n=this._groups,a=n.length,i=new Array(a),s=0;se?1:t>=e?0:NaN}function Ut(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Dt(){return Array.from(this)}function Xt(){for(var t=this._groups,e=0,n=t.length;e=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),ae.hasOwnProperty(e)?{space:ae[e],local:t}:t}function Yt(t){return function(){this.removeAttribute(t)}}function re(t){return function(){this.removeAttributeNS(t.space,t.local)}}function oe(t,e){return function(){this.setAttribute(t,e)}}function ee(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function fe(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function Pe(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function Me(t,e){var n=Mt(t);if(arguments.length<2){var a=this.node();return n.local?a.getAttributeNS(n.space,n.local):a.getAttribute(n)}return this.each((e==null?n.local?re:Yt:typeof e=="function"?n.local?Pe:fe:n.local?ee:oe)(n,e))}function $e(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function ce(t){return function(){this.style.removeProperty(t)}}function Ae(t,e,n){return function(){this.style.setProperty(t,e,n)}}function Te(t,e,n){return function(){var a=e.apply(this,arguments);a==null?this.style.removeProperty(t):this.style.setProperty(t,a,n)}}function de(t,e,n){return arguments.length>1?this.each((e==null?ce:typeof e=="function"?Te:Ae)(t,e,n==null?"":n)):bt(this.node(),t)}function bt(t,e){return t.style.getPropertyValue(e)||$e(t).getComputedStyle(t,null).getPropertyValue(e)}function Ft(t){return function(){delete this[t]}}function Tt(t,e){return function(){this[t]=e}}function qt(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function te(t,e){return arguments.length>1?this.each((e==null?Ft:typeof e=="function"?qt:Tt)(t,e)):this.node()[t]}function Zt(t){return t.trim().split(/^|\s+/)}function Ht(t){return t.classList||new He(t)}function He(t){this._node=t,this._names=Zt(t.getAttribute("class")||"")}He.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Ze(t,e){for(var n=Ht(t),a=-1,i=e.length;++a=0&&(n=e.slice(a+1),e=e.slice(0,a)),{type:e,name:n}})}function Wa(t){return function(){var e=this.__on;if(e){for(var n=0,a=-1,i=e.length,s;n(t(s=new Date(+s)),s),i.ceil=s=>(t(s=new Date(s-1)),e(s,1),t(s),s),i.round=s=>{const o=i(s),l=i.ceil(s);return s-o(e(s=new Date(+s),o==null?1:Math.floor(o)),s),i.range=(s,o,l)=>{const c=[];if(s=i.ceil(s),l=l==null?1:Math.floor(l),!(s0))return c;let f;do c.push(f=new Date(+s)),e(s,l),t(s);while(fen(o=>{if(o>=o)for(;t(o),!s(o);)o.setTime(o-1)},(o,l)=>{if(o>=o)if(l<0)for(;++l<=0;)for(;e(o,-1),!s(o););else for(;--l>=0;)for(;e(o,1),!s(o););}),n&&(i.count=(s,o)=>(an.setTime(+s),Fn.setTime(+o),t(an),t(Fn),Math.floor(n(an,Fn))),i.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(a?o=>a(o)%s===0:o=>i.count(0,o)%s===0):i)),i}const Xn=1e3,In=Xn*60,Bn=In*60,sr=Bn*24,ts=sr*7,Po=sr*30,es=sr*365;function Rr(t){return en(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*In)/ts)}const Za=Rr(0),Ja=Rr(1),Rf=Rr(2),If=Rr(3),Hr=Rr(4),Of=Rr(5),Cf=Rr(6),I0=Za.range,O0=Ja.range,C0=Rf.range,P0=If.range,w0=Hr.range,M0=Of.range,D0=Cf.range;function Ir(t){return en(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/ts)}const ka=Ir(0),Qa=Ir(1),Pf=Ir(2),wf=Ir(3),Wr=Ir(4),Mf=Ir(5),Df=Ir(6),L0=ka.range,N0=Qa.range,F0=Pf.range,B0=wf.range,U0=Wr.range,z0=Mf.range,j0=Df.range,pa=en(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*In)/sr,t=>t.getDate()-1),G0=pa.range,qa=en(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/sr,t=>t.getUTCDate()-1),V0=qa.range,wo=en(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/sr,t=>Math.floor(t/sr)),X0=wo.range,or=en(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());or.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:en(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});const Y0=or.range,lr=en(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());lr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:en(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});const H0=lr.range;function ns(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function rs(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function ma(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function Lf(t){var e=t.dateTime,n=t.date,a=t.time,i=t.periods,s=t.days,o=t.shortDays,l=t.months,c=t.shortMonths,f=ya(i),g=xa(i),v=ya(s),m=xa(s),S=ya(o),P=xa(o),N=ya(l),L=xa(l),w=ya(c),X=xa(c),W={a:At,A:Vt,b:Bt,B:Kt,c:null,d:Bo,e:Bo,f:rd,g:hd,G:vd,H:td,I:ed,j:nd,L:Uo,m:ad,M:id,p:ne,q:le,Q:Yo,s:Ho,S:sd,u:od,U:ld,V:cd,w:ud,W:fd,x:null,X:null,y:dd,Y:gd,Z:pd,"%":Xo},Y={a:be,A:Oe,b:Ce,B:Ye,c:null,d:jo,e:jo,f:Td,g:Pd,G:Md,H:md,I:yd,j:xd,L:Go,m:$d,M:Sd,p:Fe,q:hn,Q:Yo,s:Ho,S:Ad,u:Ed,U:bd,V:Rd,w:Id,W:Od,x:null,X:null,y:Cd,Y:wd,Z:Dd,"%":Xo},Q={a:ct,A:lt,b:Gt,B:vt,c:Z,d:No,e:No,f:kf,g:Lo,G:Do,H:Fo,I:Fo,j:Wf,L:Jf,m:Hf,M:Kf,p:St,q:Yf,Q:qf,s:_f,S:Zf,u:zf,U:jf,V:Gf,w:Uf,W:Vf,x:$t,X:ut,y:Lo,Y:Do,Z:Xf,"%":Qf};W.x=K(n,W),W.X=K(a,W),W.c=K(e,W),Y.x=K(n,Y),Y.X=K(a,Y),Y.c=K(e,Y);function K(Jt,xe){return function(Re){var Lt=[],un=-1,Ge=0,Cn=Jt.length,Pn,pe,fn;for(Re instanceof Date||(Re=new Date(+Re));++un53)return null;"w"in Lt||(Lt.w=1),"Z"in Lt?(Ge=rs(ma(Lt.y,0,1)),Cn=Ge.getUTCDay(),Ge=Cn>4||Cn===0?Qa.ceil(Ge):Qa(Ge),Ge=qa.offset(Ge,(Lt.V-1)*7),Lt.y=Ge.getUTCFullYear(),Lt.m=Ge.getUTCMonth(),Lt.d=Ge.getUTCDate()+(Lt.w+6)%7):(Ge=ns(ma(Lt.y,0,1)),Cn=Ge.getDay(),Ge=Cn>4||Cn===0?Ja.ceil(Ge):Ja(Ge),Ge=pa.offset(Ge,(Lt.V-1)*7),Lt.y=Ge.getFullYear(),Lt.m=Ge.getMonth(),Lt.d=Ge.getDate()+(Lt.w+6)%7)}else("W"in Lt||"U"in Lt)&&("w"in Lt||(Lt.w="u"in Lt?Lt.u%7:"W"in Lt?1:0),Cn="Z"in Lt?rs(ma(Lt.y,0,1)).getUTCDay():ns(ma(Lt.y,0,1)).getDay(),Lt.m=0,Lt.d="W"in Lt?(Lt.w+6)%7+Lt.W*7-(Cn+5)%7:Lt.w+Lt.U*7-(Cn+6)%7);return"Z"in Lt?(Lt.H+=Lt.Z/100|0,Lt.M+=Lt.Z%100,rs(Lt)):ns(Lt)}}function ht(Jt,xe,Re,Lt){for(var un=0,Ge=xe.length,Cn=Re.length,Pn,pe;un=Cn)return-1;if(Pn=xe.charCodeAt(un++),Pn===37){if(Pn=xe.charAt(un++),pe=Q[Pn in Mo?xe.charAt(un++):Pn],!pe||(Lt=pe(Jt,Re,Lt))<0)return-1}else if(Pn!=Re.charCodeAt(Lt++))return-1}return Lt}function St(Jt,xe,Re){var Lt=f.exec(xe.slice(Re));return Lt?(Jt.p=g.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function ct(Jt,xe,Re){var Lt=S.exec(xe.slice(Re));return Lt?(Jt.w=P.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function lt(Jt,xe,Re){var Lt=v.exec(xe.slice(Re));return Lt?(Jt.w=m.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function Gt(Jt,xe,Re){var Lt=w.exec(xe.slice(Re));return Lt?(Jt.m=X.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function vt(Jt,xe,Re){var Lt=N.exec(xe.slice(Re));return Lt?(Jt.m=L.get(Lt[0].toLowerCase()),Re+Lt[0].length):-1}function Z(Jt,xe,Re){return ht(Jt,e,xe,Re)}function $t(Jt,xe,Re){return ht(Jt,n,xe,Re)}function ut(Jt,xe,Re){return ht(Jt,a,xe,Re)}function At(Jt){return o[Jt.getDay()]}function Vt(Jt){return s[Jt.getDay()]}function Bt(Jt){return c[Jt.getMonth()]}function Kt(Jt){return l[Jt.getMonth()]}function ne(Jt){return i[+(Jt.getHours()>=12)]}function le(Jt){return 1+~~(Jt.getMonth()/3)}function be(Jt){return o[Jt.getUTCDay()]}function Oe(Jt){return s[Jt.getUTCDay()]}function Ce(Jt){return c[Jt.getUTCMonth()]}function Ye(Jt){return l[Jt.getUTCMonth()]}function Fe(Jt){return i[+(Jt.getUTCHours()>=12)]}function hn(Jt){return 1+~~(Jt.getUTCMonth()/3)}return{format:function(Jt){var xe=K(Jt+="",W);return xe.toString=function(){return Jt},xe},parse:function(Jt){var xe=at(Jt+="",!1);return xe.toString=function(){return Jt},xe},utcFormat:function(Jt){var xe=K(Jt+="",Y);return xe.toString=function(){return Jt},xe},utcParse:function(Jt){var xe=at(Jt+="",!0);return xe.toString=function(){return Jt},xe}}}var Mo={"-":"",_:" ",0:"0"},yn=/^\s*\d+/,Nf=/^%/,Ff=/[\\^$*+?|[\]().{}]/g;function Ne(t,e,n){var a=t<0?"-":"",i=(a?-t:t)+"",s=i.length;return a+(s[e.toLowerCase(),n]))}function Uf(t,e,n){var a=yn.exec(e.slice(n,n+1));return a?(t.w=+a[0],n+a[0].length):-1}function zf(t,e,n){var a=yn.exec(e.slice(n,n+1));return a?(t.u=+a[0],n+a[0].length):-1}function jf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.U=+a[0],n+a[0].length):-1}function Gf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.V=+a[0],n+a[0].length):-1}function Vf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.W=+a[0],n+a[0].length):-1}function Do(t,e,n){var a=yn.exec(e.slice(n,n+4));return a?(t.y=+a[0],n+a[0].length):-1}function Lo(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.y=+a[0]+(+a[0]>68?1900:2e3),n+a[0].length):-1}function Xf(t,e,n){var a=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return a?(t.Z=a[1]?0:-(a[2]+(a[3]||"00")),n+a[0].length):-1}function Yf(t,e,n){var a=yn.exec(e.slice(n,n+1));return a?(t.q=a[0]*3-3,n+a[0].length):-1}function Hf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.m=a[0]-1,n+a[0].length):-1}function No(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.d=+a[0],n+a[0].length):-1}function Wf(t,e,n){var a=yn.exec(e.slice(n,n+3));return a?(t.m=0,t.d=+a[0],n+a[0].length):-1}function Fo(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.H=+a[0],n+a[0].length):-1}function Kf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.M=+a[0],n+a[0].length):-1}function Zf(t,e,n){var a=yn.exec(e.slice(n,n+2));return a?(t.S=+a[0],n+a[0].length):-1}function Jf(t,e,n){var a=yn.exec(e.slice(n,n+3));return a?(t.L=+a[0],n+a[0].length):-1}function kf(t,e,n){var a=yn.exec(e.slice(n,n+6));return a?(t.L=Math.floor(a[0]/1e3),n+a[0].length):-1}function Qf(t,e,n){var a=Nf.exec(e.slice(n,n+1));return a?n+a[0].length:-1}function qf(t,e,n){var a=yn.exec(e.slice(n));return a?(t.Q=+a[0],n+a[0].length):-1}function _f(t,e,n){var a=yn.exec(e.slice(n));return a?(t.s=+a[0],n+a[0].length):-1}function Bo(t,e){return Ne(t.getDate(),e,2)}function td(t,e){return Ne(t.getHours(),e,2)}function ed(t,e){return Ne(t.getHours()%12||12,e,2)}function nd(t,e){return Ne(1+pa.count(or(t),t),e,3)}function Uo(t,e){return Ne(t.getMilliseconds(),e,3)}function rd(t,e){return Uo(t,e)+"000"}function ad(t,e){return Ne(t.getMonth()+1,e,2)}function id(t,e){return Ne(t.getMinutes(),e,2)}function sd(t,e){return Ne(t.getSeconds(),e,2)}function od(t){var e=t.getDay();return e===0?7:e}function ld(t,e){return Ne(Za.count(or(t)-1,t),e,2)}function zo(t){var e=t.getDay();return e>=4||e===0?Hr(t):Hr.ceil(t)}function cd(t,e){return t=zo(t),Ne(Hr.count(or(t),t)+(or(t).getDay()===4),e,2)}function ud(t){return t.getDay()}function fd(t,e){return Ne(Ja.count(or(t)-1,t),e,2)}function dd(t,e){return Ne(t.getFullYear()%100,e,2)}function hd(t,e){return t=zo(t),Ne(t.getFullYear()%100,e,2)}function gd(t,e){return Ne(t.getFullYear()%1e4,e,4)}function vd(t,e){var n=t.getDay();return t=n>=4||n===0?Hr(t):Hr.ceil(t),Ne(t.getFullYear()%1e4,e,4)}function pd(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Ne(e/60|0,"0",2)+Ne(e%60,"0",2)}function jo(t,e){return Ne(t.getUTCDate(),e,2)}function md(t,e){return Ne(t.getUTCHours(),e,2)}function yd(t,e){return Ne(t.getUTCHours()%12||12,e,2)}function xd(t,e){return Ne(1+qa.count(lr(t),t),e,3)}function Go(t,e){return Ne(t.getUTCMilliseconds(),e,3)}function Td(t,e){return Go(t,e)+"000"}function $d(t,e){return Ne(t.getUTCMonth()+1,e,2)}function Sd(t,e){return Ne(t.getUTCMinutes(),e,2)}function Ad(t,e){return Ne(t.getUTCSeconds(),e,2)}function Ed(t){var e=t.getUTCDay();return e===0?7:e}function bd(t,e){return Ne(ka.count(lr(t)-1,t),e,2)}function Vo(t){var e=t.getUTCDay();return e>=4||e===0?Wr(t):Wr.ceil(t)}function Rd(t,e){return t=Vo(t),Ne(Wr.count(lr(t),t)+(lr(t).getUTCDay()===4),e,2)}function Id(t){return t.getUTCDay()}function Od(t,e){return Ne(Qa.count(lr(t)-1,t),e,2)}function Cd(t,e){return Ne(t.getUTCFullYear()%100,e,2)}function Pd(t,e){return t=Vo(t),Ne(t.getUTCFullYear()%100,e,2)}function wd(t,e){return Ne(t.getUTCFullYear()%1e4,e,4)}function Md(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Wr(t):Wr.ceil(t),Ne(t.getUTCFullYear()%1e4,e,4)}function Dd(){return"+0000"}function Xo(){return"%"}function Yo(t){return+t}function Ho(t){return Math.floor(+t/1e3)}var Kr,as,Wo,is,Ko;Ld({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Ld(t){return Kr=Lf(t),as=Kr.format,Wo=Kr.parse,is=Kr.utcFormat,Ko=Kr.utcParse,Kr}var Nd=Object.defineProperty,Zo=Object.getOwnPropertySymbols,Fd=Object.prototype.hasOwnProperty,Bd=Object.prototype.propertyIsEnumerable,Jo=(t,e,n)=>e in t?Nd(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Qe=(t,e)=>{for(var n in e||(e={}))Fd.call(e,n)&&Jo(t,n,e[n]);if(Zo)for(var n of Zo(e))Bd.call(e,n)&&Jo(t,n,e[n]);return t};const Se={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},je={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},_a={area:"bb-area",areas:"bb-areas"},dn={axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},Kn={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},cr={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},$n={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},ss={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},Or={dragarea:"bb-dragarea",INCLUDED:"_included_"},Ta={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},Un={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},We={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},ur={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},Zn={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},qe={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},sn={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},Tr={level:"bb-level",levels:"bb-levels"},ko={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},$a={region:"bb-region",regions:"bb-regions"},tn={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},on={shape:"bb-shape",shapes:"bb-shapes"},Qo={brush:"bb-brush",subchart:"bb-subchart"},On={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},ti={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},qo={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},os={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var Ue=Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe(Qe({},Se),je),_a),dn),Kn),cr),$n),ss),Or),Un),We),ur),Zn),qe),Ta),sn),ko),$a),tn),on),Qo),On),ti),qo),os),Ud={boost_useCssRule:!1,boost_useWorker:!1},zd={color_pattern:[],color_tiles:void 0,color_threshold:{},color_onover:void 0},jd={legend_contents_bindto:void 0,legend_contents_template:"{=TITLE}",legend_equally:!1,legend_hide:!1,legend_inset_anchor:"top-left",legend_inset_x:10,legend_inset_y:0,legend_inset_step:void 0,legend_item_interaction:!0,legend_item_dblclick:!1,legend_item_onclick:void 0,legend_item_onover:void 0,legend_item_onout:void 0,legend_item_tile_width:10,legend_item_tile_height:10,legend_item_tile_r:5,legend_item_tile_type:"rectangle",legend_format:void 0,legend_padding:0,legend_position:"bottom",legend_show:!0,legend_tooltip:!1,legend_usePoint:!1},Gd={bindto:"#chart",background:{},clipPath:!0,svg_classname:void 0,size_width:void 0,size_height:void 0,padding:!0,padding_mode:void 0,padding_left:void 0,padding_right:void 0,padding_top:void 0,padding_bottom:void 0,resize_auto:!0,resize_timer:!0,onclick:void 0,onover:void 0,onout:void 0,onresize:void 0,onresized:void 0,onbeforeinit:void 0,oninit:void 0,onafterinit:void 0,onrendered:void 0,transition_duration:250,plugins:[],render:{},regions:[]},Vd={title_text:void 0,title_padding:{top:0,right:0,bottom:0,left:0},title_position:"center"},Xd={tooltip_show:!0,tooltip_doNotHide:!1,tooltip_grouped:!0,tooltip_format_title:void 0,tooltip_format_name:void 0,tooltip_format_value:void 0,tooltip_position:void 0,tooltip_contents:{},tooltip_init_show:!1,tooltip_init_x:0,tooltip_init_position:void 0,tooltip_linked:!1,tooltip_linked_name:"",tooltip_onshow:()=>{},tooltip_onhide:()=>{},tooltip_onshown:()=>{},tooltip_onhidden:()=>{},tooltip_order:null},Yd={data_x:void 0,data_idConverter:t=>t,data_names:{},data_classes:{},data_type:void 0,data_types:{},data_order:"desc",data_groups:[],data_groupsZeroAs:"positive",data_color:void 0,data_colors:{},data_labels:{},data_labels_backgroundColors:void 0,data_labels_colors:void 0,data_labels_position:{},data_hide:!1,data_filter:void 0,data_onclick:()=>{},data_onover:()=>{},data_onout:()=>{},data_onshown:void 0,data_onhidden:void 0,data_onmin:void 0,data_onmax:void 0,data_url:void 0,data_headers:void 0,data_json:void 0,data_rows:void 0,data_columns:void 0,data_mimeType:"csv",data_keys:void 0,data_empty_label_text:""},Hd={interaction_enabled:!0,interaction_brighten:!0,interaction_inputType_mouse:!0,interaction_inputType_touch:{},interaction_onout:!0},Wd={value:()=>{}};function _o(){for(var t=0,e=arguments.length,n={},a;t=0&&(a=n.slice(i+1),n=n.slice(0,i)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:a}})}ei.prototype=_o.prototype={constructor:ei,on:function(t,e){var n=this._,a=Kd(t+"",n),i,s=-1,o=a.length;if(arguments.length<2){for(;++s0)for(var n=new Array(i),a=0,i,s;a>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?ai(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?ai(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Qd.exec(t))?new Mn(e[1],e[2],e[3],1):(e=qd.exec(t))?new Mn(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=_d.exec(t))?ai(e[1],e[2],e[3],e[4]):(e=th.exec(t))?ai(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=eh.exec(t))?ll(e[1],e[2]/100,e[3]/100,1):(e=nh.exec(t))?ll(e[1],e[2]/100,e[3]/100,e[4]):nl.hasOwnProperty(t)?il(nl[t]):t==="transparent"?new Mn(NaN,NaN,NaN,0):null}function il(t){return new Mn(t>>16&255,t>>8&255,t&255,1)}function ai(t,e,n,a){return a<=0&&(t=e=n=NaN),new Mn(t,e,n,a)}function ih(t){return t instanceof Aa||(t=Cr(t)),t?(t=t.rgb(),new Mn(t.r,t.g,t.b,t.opacity)):new Mn}function ii(t,e,n,a){return arguments.length===1?ih(t):new Mn(t,e,n,a==null?1:a)}function Mn(t,e,n,a){this.r=+t,this.g=+e,this.b=+n,this.opacity=+a}fs(Mn,ii,el(Aa,{brighter(t){return t=t==null?ri:Math.pow(ri,t),new Mn(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Ea:Math.pow(Ea,t),new Mn(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Mn(Pr(this.r),Pr(this.g),Pr(this.b),si(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:sl,formatHex:sl,formatHex8:sh,formatRgb:ol,toString:ol}));function sl(){return`#${wr(this.r)}${wr(this.g)}${wr(this.b)}`}function sh(){return`#${wr(this.r)}${wr(this.g)}${wr(this.b)}${wr((isNaN(this.opacity)?1:this.opacity)*255)}`}function ol(){const t=si(this.opacity);return`${t===1?"rgb(":"rgba("}${Pr(this.r)}, ${Pr(this.g)}, ${Pr(this.b)}${t===1?")":`, ${t})`}`}function si(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Pr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function wr(t){return t=Pr(t),(t<16?"0":"")+t.toString(16)}function ll(t,e,n,a){return a<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Jn(t,e,n,a)}function cl(t){if(t instanceof Jn)return new Jn(t.h,t.s,t.l,t.opacity);if(t instanceof Aa||(t=Cr(t)),!t)return new Jn;if(t instanceof Jn)return t;t=t.rgb();var e=t.r/255,n=t.g/255,a=t.b/255,i=Math.min(e,n,a),s=Math.max(e,n,a),o=NaN,l=s-i,c=(s+i)/2;return l?(e===s?o=(n-a)/l+(n0&&c<1?0:o,new Jn(o,l,c,t.opacity)}function oh(t,e,n,a){return arguments.length===1?cl(t):new Jn(t,e,n,a==null?1:a)}function Jn(t,e,n,a){this.h=+t,this.s=+e,this.l=+n,this.opacity=+a}fs(Jn,oh,el(Aa,{brighter(t){return t=t==null?ri:Math.pow(ri,t),new Jn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Ea:Math.pow(Ea,t),new Jn(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,a=n+(n<.5?n:1-n)*e,i=2*n-a;return new Mn(ds(t>=240?t-240:t+120,i,a),ds(t,i,a),ds(t<120?t+240:t-120,i,a),this.opacity)},clamp(){return new Jn(ul(this.h),oi(this.s),oi(this.l),si(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=si(this.opacity);return`${t===1?"hsl(":"hsla("}${ul(this.h)}, ${oi(this.s)*100}%, ${oi(this.l)*100}%${t===1?")":`, ${t})`}`}}));function ul(t){return t=(t||0)%360,t<0?t+360:t}function oi(t){return Math.max(0,Math.min(1,t||0))}function ds(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}function fl(t,e,n,a,i){var s=t*t,o=s*t;return((1-3*t+3*s-o)*e+(4-6*s+3*o)*n+(1+3*t+3*s-3*o)*a+o*i)/6}function lh(t){var e=t.length-1;return function(n){var a=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[a],s=t[a+1],o=a>0?t[a-1]:2*i-s,l=a()=>t;function dl(t,e){return function(n){return t+n*e}}function uh(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(a){return Math.pow(t+a*e,n)}}function W0(t,e){var n=e-t;return n?dl(t,n>180||n<-180?n-360*Math.round(n/360):n):li(isNaN(t)?e:t)}function fh(t){return(t=+t)==1?hl:function(e,n){return n-e?uh(e,n,t):li(isNaN(e)?n:e)}}function hl(t,e){var n=e-t;return n?dl(t,n):li(isNaN(t)?e:t)}var ci=function t(e){var n=fh(e);function a(i,s){var o=n((i=ii(i)).r,(s=ii(s)).r),l=n(i.g,s.g),c=n(i.b,s.b),f=hl(i.opacity,s.opacity);return function(g){return i.r=o(g),i.g=l(g),i.b=c(g),i.opacity=f(g),i+""}}return a.gamma=t,a}(1);function gl(t){return function(e){var n=e.length,a=new Array(n),i=new Array(n),s=new Array(n),o,l;for(o=0;on&&(s=e.slice(n,s),l[o]?l[o]+=s:l[++o]=s),(a=a[0])===(i=i[0])?l[o]?l[o]+=i:l[++o]=i:(l[++o]=null,c.push({i:o,x:kn(a,i)})),n=gs.lastIndex;return n=0&&t._call.call(void 0,e),t=t._next;--Qr}function Sl(){Mr=(fi=Ca.now())+di,Qr=Ra=0;try{yh()}finally{Qr=0,Th(),Mr=0}}function xh(){var t=Ca.now(),e=t-fi;e>xl&&(di-=e,fi=t)}function Th(){for(var t,e=ui,n,a=1/0;e;)e._call?(a>e._time&&(a=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:ui=n);Oa=t,ps(a)}function ps(t){if(!Qr){Ra&&(Ra=clearTimeout(Ra));var e=t-Mr;e>24?(t<1/0&&(Ra=setTimeout(Sl,t-Ca.now()-di)),Ia&&(Ia=clearInterval(Ia))):(Ia||(fi=Ca.now(),Ia=setInterval(xh,xl)),Qr=1,Tl(Sl))}}function Al(t,e,n){var a=new hi;return e=e==null?0:+e,a.restart(i=>{a.stop(),t(i+e)},e,n),a}var $h=ni("start","end","cancel","interrupt"),Sh=[],El=0,bl=1,ms=2,gi=3,Rl=4,ys=5,vi=6;function pi(t,e,n,a,i,s){var o=t.__transition;if(!o)t.__transition={};else if(n in o)return;Ah(t,n,{name:e,index:a,group:i,on:$h,tween:Sh,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:El})}function xs(t,e){var n=Qn(t,e);if(n.state>El)throw new Error("too late; already scheduled");return n}function er(t,e){var n=Qn(t,e);if(n.state>gi)throw new Error("too late; already running");return n}function Qn(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Ah(t,e,n){var a=t.__transition,i;a[e]=n,n.timer=$l(s,0,n.time);function s(f){n.state=bl,n.timer.restart(o,n.delay,n.time),n.delay<=f&&o(f-n.delay)}function o(f){var g,v,m,S;if(n.state!==bl)return c();for(g in a)if(S=a[g],S.name===n.name){if(S.state===gi)return Al(o);S.state===Rl?(S.state=vi,S.timer.stop(),S.on.call("interrupt",t,t.__data__,S.index,S.group),delete a[g]):+gms&&a.state180?g+=360:g-f>180&&(f+=360),m.push({i:v.push(i(v)+"rotate(",null,a)-2,x:kn(f,g)})):g&&v.push(i(v)+"rotate("+g+a)}function l(f,g,v,m){f!==g?m.push({i:v.push(i(v)+"skewX(",null,a)-2,x:kn(f,g)}):g&&v.push(i(v)+"skewX("+g+a)}function c(f,g,v,m,S,P){if(f!==v||g!==m){var N=S.push(i(S)+"scale(",null,",",null,")");P.push({i:N-4,x:kn(f,v)},{i:N-2,x:kn(g,m)})}else(v!==1||m!==1)&&S.push(i(S)+"scale("+v+","+m+")")}return function(f,g){var v=[],m=[];return f=t(f),g=t(g),s(f.translateX,f.translateY,g.translateX,g.translateY,v,m),o(f.rotate,g.rotate,v,m),l(f.skewX,g.skewX,v,m),c(f.scaleX,f.scaleY,g.scaleX,g.scaleY,v,m),f=g=null,function(S){for(var P=-1,N=m.length,L;++P=0&&(e=e.slice(0,n)),!e||e==="start"})}function rg(t,e,n){var a,i,s=ng(e)?xs:er;return function(){var o=s(this,t),l=o.on;l!==a&&(i=(a=l).copy()).on(e,n),o.on=i}}function ag(t,e){var n=this._id;return arguments.length<2?Qn(this.node(),n).on.on(t):this.each(rg(n,t,e))}function ig(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function sg(){return this.on("end.remove",ig(this._id))}function og(t){var e=this._name,n=this._id;typeof t!="function"&&(t=p(t));for(var a=this._groups,i=a.length,s=new Array(i),o=0;o()=>t;function Mg(t,{sourceEvent:e,target:n,selection:a,mode:i,dispatch:s}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:a,enumerable:!0,configurable:!0},mode:{value:i,enumerable:!0,configurable:!0},_:{value:s}})}function Dg(t){t.stopImmediatePropagation()}function As(t){t.preventDefault(),t.stopImmediatePropagation()}var Ll={name:"drag"},Es={name:"space"},_r={name:"handle"},ta={name:"center"};const{abs:Nl,max:Sn,min:An}=Math;function Fl(t){return[+t[0],+t[1]]}function bs(t){return[Fl(t[0]),Fl(t[1])]}var yi={name:"x",handles:["w","e"].map(Pa),input:function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},xi={name:"y",handles:["n","s"].map(Pa),input:function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},Lg={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(Pa),input:function(t){return t==null?null:bs(t)},output:function(t){return t}},hr={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Bl={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},Ul={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},Ng={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},Fg={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function Pa(t){return{type:t}}function Bg(t){return!t.ctrlKey&&!t.button}function Ug(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function zg(){return navigator.maxTouchPoints||"ontouchstart"in this}function Rs(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function jg(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function zl(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function Gg(){return Is(yi)}function Vg(){return Is(xi)}function q0(){return Is(Lg)}function Is(t){var e=Ug,n=Bg,a=zg,i=!0,s=ni("start","brush","end"),o=6,l;function c(L){var w=L.property("__brush",N).selectAll(".overlay").data([Pa("overlay")]);w.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",hr.overlay).merge(w).each(function(){var W=Rs(this).extent;st(this).attr("x",W[0][0]).attr("y",W[0][1]).attr("width",W[1][0]-W[0][0]).attr("height",W[1][1]-W[0][1])}),L.selectAll(".selection").data([Pa("selection")]).enter().append("rect").attr("class","selection").attr("cursor",hr.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var X=L.selectAll(".handle").data(t.handles,function(W){return W.type});X.exit().remove(),X.enter().append("rect").attr("class",function(W){return"handle handle--"+W.type}).attr("cursor",function(W){return hr[W.type]}),L.each(f).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",m).filter(a).on("touchstart.brush",m).on("touchmove.brush",S).on("touchend.brush touchcancel.brush",P).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}c.move=function(L,w,X){L.tween?L.on("start.brush",function(W){g(this,arguments).beforestart().start(W)}).on("interrupt.brush end.brush",function(W){g(this,arguments).end(W)}).tween("brush",function(){var W=this,Y=W.__brush,Q=g(W,arguments),K=Y.selection,at=t.input(typeof w=="function"?w.apply(this,arguments):w,Y.extent),ht=kr(K,at);function St(ct){Y.selection=ct===1&&at===null?null:ht(ct),f.call(W),Q.brush()}return K!==null&&at!==null?St:St(1)}):L.each(function(){var W=this,Y=arguments,Q=W.__brush,K=t.input(typeof w=="function"?w.apply(W,Y):w,Q.extent),at=g(W,Y).beforestart();qr(W),Q.selection=K===null?null:K,f.call(W),at.start(X).brush(X).end(X)})},c.clear=function(L,w){c.move(L,null,w)};function f(){var L=st(this),w=Rs(this).selection;w?(L.selectAll(".selection").style("display",null).attr("x",w[0][0]).attr("y",w[0][1]).attr("width",w[1][0]-w[0][0]).attr("height",w[1][1]-w[0][1]),L.selectAll(".handle").style("display",null).attr("x",function(X){return X.type[X.type.length-1]==="e"?w[1][0]-o/2:w[0][0]-o/2}).attr("y",function(X){return X.type[0]==="s"?w[1][1]-o/2:w[0][1]-o/2}).attr("width",function(X){return X.type==="n"||X.type==="s"?w[1][0]-w[0][0]+o:o}).attr("height",function(X){return X.type==="e"||X.type==="w"?w[1][1]-w[0][1]+o:o})):L.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function g(L,w,X){var W=L.__brush.emitter;return W&&(!X||!W.clean)?W:new v(L,w,X)}function v(L,w,X){this.that=L,this.args=w,this.state=L.__brush,this.active=0,this.clean=X}v.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(L,w){return this.starting?(this.starting=!1,this.emit("start",L,w)):this.emit("brush",L),this},brush:function(L,w){return this.emit("brush",L,w),this},end:function(L,w){return--this.active===0&&(delete this.state.emitter,this.emit("end",L,w)),this},emit:function(L,w,X){var W=st(this.that).datum();s.call(L,this.that,new Mg(L,{sourceEvent:w,target:c,selection:t.output(this.state.selection),mode:X,dispatch:s}),W)}};function m(L){if(l&&!L.touches||!n.apply(this,arguments))return;var w=this,X=L.target.__data__.type,W=(i&&L.metaKey?X="overlay":X)==="selection"?Ll:i&&L.altKey?ta:_r,Y=t===xi?null:Ng[X],Q=t===yi?null:Fg[X],K=Rs(w),at=K.extent,ht=K.selection,St=at[0][0],ct,lt,Gt=at[0][1],vt,Z,$t=at[1][0],ut,At,Vt=at[1][1],Bt,Kt,ne=0,le=0,be,Oe=Y&&Q&&i&&L.shiftKey,Ce,Ye,Fe=Array.from(L.touches||[L],pe=>{const fn=pe.identifier;return pe=Yn(pe,w),pe.point0=pe.slice(),pe.identifier=fn,pe});qr(w);var hn=g(w,arguments,!0).beforestart();if(X==="overlay"){ht&&(be=!0);const pe=[Fe[0],Fe[1]||Fe[0]];K.selection=ht=[[ct=t===xi?St:An(pe[0][0],pe[1][0]),vt=t===yi?Gt:An(pe[0][1],pe[1][1])],[ut=t===xi?$t:Sn(pe[0][0],pe[1][0]),Bt=t===yi?Vt:Sn(pe[0][1],pe[1][1])]],Fe.length>1&&un(L)}else ct=ht[0][0],vt=ht[0][1],ut=ht[1][0],Bt=ht[1][1];lt=ct,Z=vt,At=ut,Kt=Bt;var Jt=st(w).attr("pointer-events","none"),xe=Jt.selectAll(".overlay").attr("cursor",hr[X]);if(L.touches)hn.moved=Lt,hn.ended=Ge;else{var Re=st(L.view).on("mousemove.brush",Lt,!0).on("mouseup.brush",Ge,!0);i&&Re.on("keydown.brush",Cn,!0).on("keyup.brush",Pn,!0),cs(L.view)}f.call(w),hn.start(L,W.name);function Lt(pe){for(const fn of pe.changedTouches||[pe])for(const Ga of Fe)Ga.identifier===fn.identifier&&(Ga.cur=Yn(fn,w));if(Oe&&!Ce&&!Ye&&Fe.length===1){const fn=Fe[0];Nl(fn.cur[0]-fn[0])>Nl(fn.cur[1]-fn[1])?Ye=!0:Ce=!0}for(const fn of Fe)fn.cur&&(fn[0]=fn.cur[0],fn[1]=fn.cur[1]);be=!0,As(pe),un(pe)}function un(pe){const fn=Fe[0],Ga=fn.point0;var br;switch(ne=fn[0]-Ga[0],le=fn[1]-Ga[1],W){case Es:case Ll:{Y&&(ne=Sn(St-ct,An($t-ut,ne)),lt=ct+ne,At=ut+ne),Q&&(le=Sn(Gt-vt,An(Vt-Bt,le)),Z=vt+le,Kt=Bt+le);break}case _r:{Fe[1]?(Y&&(lt=Sn(St,An($t,Fe[0][0])),At=Sn(St,An($t,Fe[1][0])),Y=1),Q&&(Z=Sn(Gt,An(Vt,Fe[0][1])),Kt=Sn(Gt,An(Vt,Fe[1][1])),Q=1)):(Y<0?(ne=Sn(St-ct,An($t-ct,ne)),lt=ct+ne,At=ut):Y>0&&(ne=Sn(St-ut,An($t-ut,ne)),lt=ct,At=ut+ne),Q<0?(le=Sn(Gt-vt,An(Vt-vt,le)),Z=vt+le,Kt=Bt):Q>0&&(le=Sn(Gt-Bt,An(Vt-Bt,le)),Z=vt,Kt=Bt+le));break}case ta:{Y&&(lt=Sn(St,An($t,ct-ne*Y)),At=Sn(St,An($t,ut+ne*Y))),Q&&(Z=Sn(Gt,An(Vt,vt-le*Q)),Kt=Sn(Gt,An(Vt,Bt+le*Q)));break}}At0&&(ct=lt-ne),Q<0?Bt=Kt-le:Q>0&&(vt=Z-le),W=Es,xe.attr("cursor",hr.selection),un(pe));break}default:return}As(pe)}function Pn(pe){switch(pe.keyCode){case 16:{Oe&&(Ce=Ye=Oe=!1,un(pe));break}case 18:{W===ta&&(Y<0?ut=At:Y>0&&(ct=lt),Q<0?Bt=Kt:Q>0&&(vt=Z),W=_r,un(pe));break}case 32:{W===Es&&(pe.altKey?(Y&&(ut=At-ne*Y,ct=lt+ne*Y),Q&&(Bt=Kt-le*Q,vt=Z+le*Q),W=ta):(Y<0?ut=At:Y>0&&(ct=lt),Q<0?Bt=Kt:Q>0&&(vt=Z),W=_r),xe.attr("cursor",hr[X]),un(pe));break}default:return}As(pe)}}function S(L){g(this,arguments).moved(L)}function P(L){g(this,arguments).ended(L)}function N(){var L=this.__brush||{selection:null};return L.extent=bs(e.apply(this,arguments)),L.dim=t,L}return c.extent=function(L){return arguments.length?(e=typeof L=="function"?L:Ss(bs(L)),c):e},c.filter=function(L){return arguments.length?(n=typeof L=="function"?L:Ss(!!L),c):n},c.touchable=function(L){return arguments.length?(a=typeof L=="function"?L:Ss(!!L),c):a},c.handleSize=function(L){return arguments.length?(o=+L,c):o},c.keyModifiers=function(L){return arguments.length?(i=!!L,c):i},c.on=function(){var L=s.on.apply(s,arguments);return L===s?c:L},c}function Xg(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function Yg(t){const e=typeof(t==null?void 0:t.requestAnimationFrame)=="function"&&typeof(t==null?void 0:t.cancelAnimationFrame)=="function",n=typeof(t==null?void 0:t.requestIdleCallback)=="function"&&typeof(t==null?void 0:t.cancelIdleCallback)=="function",a=s=>setTimeout(s,1),i=s=>clearTimeout(s);return[e?t.requestAnimationFrame:a,e?t.cancelAnimationFrame:i,n?t.requestIdleCallback:a,n?t.cancelIdleCallback:i]}const Ke=Xg(),vn=Ke==null?void 0:Ke.document,[Hg,_0,jl,t1]=Yg(Ke);var Wg=Object.defineProperty,Gl=Object.getOwnPropertySymbols,Kg=Object.prototype.hasOwnProperty,Zg=Object.prototype.propertyIsEnumerable,Vl=(t,e,n)=>e in t?Wg(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Xl=(t,e)=>{for(var n in e||(e={}))Kg.call(e,n)&&Vl(t,n,e[n]);if(Gl)for(var n of Gl(e))Zg.call(e,n)&&Vl(t,n,e[n]);return t};const De=t=>t||t===0,ve=t=>typeof t=="function",Xe=t=>typeof t=="string",he=t=>typeof t=="number",ln=t=>typeof t=="undefined",ke=t=>typeof t!="undefined",Os=t=>typeof t=="boolean",Jg=t=>Math.ceil(t/10)*10,Ti=t=>Math.ceil(t)+.5,Dr=t=>t[1]-t[0],nr=t=>typeof t=="object",qn=t=>ln(t)||t===null||Xe(t)&&t.length===0||nr(t)&&!(t instanceof Date)&&Object.keys(t).length===0||he(t)&&isNaN(t),cn=t=>!qn(t),ze=t=>Array.isArray(t),Be=t=>t&&!(t!=null&&t.nodeType)&&nr(t)&&!ze(t);function $r(t,e,n){return ke(t[e])?t[e]:n}function kg(t,e){let n=!1;return Object.keys(t).forEach(a=>t[a]===e&&(n=!0)),n}function _e(t,e,...n){const a=ve(t);return a&&t.call(e,...n),a}function $i(t,e){let n=0;const a=function(...i){!--n&&e.apply(this,...i)};"duration"in t?t.each(()=>++n).on("end",a):(++n,t.call(a))}function Cs(t){return Xe(t)?t.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):t}function wa(t,e,n=[-1,1],a=!1){if(!(!t||!Xe(e)))if(e.indexOf(` +`)===-1)t.text(e);else{const i=[t.text(),e].map(s=>s.replace(/[\s\n]/g,""));if(i[0]!==i[1]){const s=e.split(` +`),o=a?s.length-1:1;t.html(""),s.forEach((l,c)=>{t.append("tspan").attr("x",0).attr("dy",`${c===0?n[0]*o:n[1]}em`).text(l)})}}}function Yl(t){const{x:e,y:n,width:a,height:i}=t.getBBox();return[{x:e,y:n+i},{x:e,y:n},{x:e+a,y:n},{x:e+a,y:n+i}]}function Hl(t){const{width:e,height:n}=t.getBoundingClientRect(),a=Yl(t),i=a[0].x,s=Math.min(a[0].y,a[1].y);return{x:i,y:s,width:e,height:n}}function Hn(t,e){var n;const a=t&&((n=t.touches||t.sourceEvent&&t.sourceEvent.touches)==null?void 0:n[0]);let i=[0,0];try{i=Yn(a||t,e)}catch(s){}return i.map(s=>isNaN(s)?0:s)}function Wl(t){const{event:e,$el:n}=t,a=n.subchart.main||n.main;let i;return e&&e.type==="brush"?i=e.selection:a&&(i=a.select(".bb-brush").node())&&(i=zl(i)),i}function Si(t){return!("rect"in t)||"rect"in t&&t.hasAttribute("width")&&t.rect.width!==+t.getAttribute("width")?t.rect=t.getBoundingClientRect():t.rect}function gr(t=!0,e=0,n=1e4){const a=Ke.crypto||Ke.msCrypto,i=a?e+a.getRandomValues(new Uint32Array(1))[0]%(n-e+1):Math.floor(Math.random()*(n-e)+e);return t?String(i):i}function Ps(t,e,n,a,i){if(n>a)return-1;const s=Math.floor((n+a)/2);let{x:o,w:l=0}=t[s];return i&&(o=t[s].y,l=t[s].h),e>=o&&e<=o+l?s:e{if(Be(n)&&n.constructor){const a=new n.constructor;for(const i in n)a[i]=e(n[i]);return a}return n};return t.map(n=>e(n)).reduce((n,a)=>Xl(Xl({},n),a))}function xn(t={},e){ze(e)&&e.forEach(n=>xn(t,n));for(const n in e)/^\d+$/.test(n)||n in t||(t[n]=e[n]);return t}const Dn=t=>t.charAt(0).toUpperCase()+t.slice(1);function qg(t,e="-"){return t.split(e).map((n,a)=>a?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase():n.toLowerCase()).join("")}const Lr=t=>[].slice.call(t);function _g(t,e,n){const{rootSelector:a="",sheet:i}=t,o=`${a} ${(l=>l.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(e)} {${n.join(";")}}`;return i[i.insertRule?"insertRule":"addRule"](o,i.cssRules.length)}function tv(t){let e=[];return t.forEach(n=>{var a;try{n.cssRules&&n.cssRules.length&&(e=e.concat(Lr(n.cssRules)))}catch(i){(a=Ke.console)==null||a.warn(`Error while reading rules from ${n.href}: ${i.toString()}`)}}),e}function Zl(t){var e,n,a,i,s,o;return{x:((n=(e=Ke.pageXOffset)!=null?e:Ke.scrollX)!=null?n:0)+((a=t.scrollLeft)!=null?a:0),y:((s=(i=Ke.pageYOffset)!=null?i:Ke.scrollY)!=null?s:0)+((o=t.scrollTop)!=null?o:0)}}function Ai(t,e=0,n=0,a=!0){const i=new DOMPoint(e,n),s=t.getScreenCTM(),o=i.matrixTransform(a?s==null?void 0:s.inverse():s);if(a===!1){const l=t.getBoundingClientRect();o.x-=l.x,o.y-=l.y}return o}function Jl(t){const e=t?t.transform:null,n=e&&e.baseVal;return n&&n.numberOfItems?n.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function ws(t){const e=t[0]instanceof Date,n=(e?t.map(Number):t).filter((a,i,s)=>s.indexOf(a)===i);return e?n.map(a=>new Date(a)):n}function Ms(t){return t&&t.length?t.reduce((e,n)=>e.concat(n)):[]}function ea(t,...e){if(!e.length||e.length===1&&!e[0])return t;const n=e.shift();return Be(t)&&Be(n)&&Object.keys(n).forEach(a=>{const i=n[a];Be(i)?(!t[a]&&(t[a]={}),t[a]=ea(t[a],i)):t[a]=ze(i)?i.concat():i}),ea(t,...e)}function na(t,e=!0){let n;return t[0]instanceof Date?n=e?(a,i)=>a-i:(a,i)=>i-a:e&&!t.every(isNaN)?n=(a,i)=>a-i:e||(n=(a,i)=>a>i&&-1||acn(a));return n.length?he(n[0])?n=Math[t](...n):n[0]instanceof Date&&(n=na(n,t==="min")[0]):n=void 0,n}const Ei=(t,e,n=1)=>{const a=[],i=Math.max(0,Math.ceil((e-t)/n))|0;for(let s=t;s{const t=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(e,n,a=t())=>{e.dispatchEvent(new MouseEvent(n,a))}}catch(e){return(n,a,i=t())=>{const s=vn.createEvent("MouseEvent");s.initMouseEvent(a,i.bubbles,i.cancelable,Ke,0,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),n.dispatchEvent(s)}}})(),touch:(t,e,n)=>{const a=new Touch(ea({identifier:Date.now(),target:t,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},n));t.dispatchEvent(new TouchEvent(e,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[a],targetTouches:[],changedTouches:[a]}))}};function bi(t,e){let n=t;for(const a in e)n=n.replace(new RegExp(`{=${a}}`,"g"),e[a]);return n}function zn(t){var e;let n;if(t instanceof Date)n=t;else if(Xe(t)){const{config:a,format:i}=this;n=(e=i.dataTime(a.data_xFormat)(t))!=null?e:new Date(t)}else he(t)&&!isNaN(t)&&(n=new Date(+t));return(!n||isNaN(+n))&&console&&console.error&&console.error(`Failed to parse x '${t}' to Date object`),n}function Ds(t){const e=t.attr("viewBox");return e?/(\d+(\.\d+)?){3}/.test(e):!1}function nv(t,e,n=!1){const a=!!t.node;let i=!1;for(const[s,o]of Object.entries(e))if(i=a?t.style(s)===o:t.style[s]===o,n===!1&&i)break;return i}function Ma(){var t,e;return((t=vn)==null?void 0:t.hidden)===!1||((e=vn)==null?void 0:e.visibilityState)==="visible"}function rv(t,e){const{DocumentTouch:n,matchMedia:a,navigator:i}=Ke,s=a==null?void 0:a("(pointer:coarse)").matches;let o=!1;if(e)if(i&&"maxTouchPoints"in i)o=i.maxTouchPoints>0;else if("ontouchmove"in Ke||n&&vn instanceof n)o=!0;else if(s)o=!0;else{const c=i.userAgent;o=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(c)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(c)}return t&&!s&&(a==null?void 0:a("(pointer:fine)").matches)&&"mouse"||o&&"touch"||"mouse"}function kl(t,e){e()===!1?Hg(()=>kl(t,e)):t()}var av=Object.defineProperty,Ql=Object.getOwnPropertySymbols,iv=Object.prototype.hasOwnProperty,sv=Object.prototype.propertyIsEnumerable,Ls=(t,e,n)=>e in t?av(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ql=(t,e)=>{for(var n in e||(e={}))iv.call(e,n)&&Ls(t,n,e[n]);if(Ql)for(var n of Ql(e))sv.call(e,n)&&Ls(t,n,e[n]);return t},ov=(t,e,n)=>Ls(t,typeof e!="symbol"?e+"":e,n);const _l=class bf{static setOptions(e){this.data=e.reduce((n,a)=>ql(ql({},n),a),this.data)}constructor(){return Qg(Gd,Ud,Yd,zd,Hd,jd,Vd,Xd,bf.data)}};ov(_l,"data",{});let Nr=_l;class lv{constructor(){return{chart:null,main:null,svg:null,axis:{x:null,y:null,y2:null,subX:null},axisTooltip:{x:null,y:null,y2:null},defs:null,tooltip:null,legend:null,title:null,subchart:{main:null,bar:null,line:null,area:null},arcs:null,bar:null,candlestick:null,line:null,area:null,circle:null,radar:null,text:null,grid:{main:null,x:null,y:null},gridLines:{main:null,x:null,y:null},region:{main:null,list:null},eventRect:null,zoomResetBtn:null}}}class cv{constructor(){return{width:0,width2:0,height:0,height2:0,margin:{top:0,bottom:0,left:0,right:0},margin2:{top:0,bottom:0,left:0,right:0},margin3:{top:0,bottom:0,left:0,right:0},arcWidth:0,arcHeight:0,xAxisHeight:0,hasAxis:!1,hasFunnel:!1,hasRadar:!1,hasTreemap:!1,cssRule:{},current:{domain:void 0,width:0,height:0,dataMax:0,maxTickSize:{x:{width:0,height:0,ticks:[],clipPath:0,domain:""},y:{width:0,height:0,domain:""},y2:{width:0,height:0,domain:""}},types:[],needle:void 0},isLegendRight:!1,isLegendInset:!1,isLegendTop:!1,isLegendLeft:!1,legendStep:0,legendItemWidth:0,legendItemHeight:0,legendHasRendered:!1,eventReceiver:{currentIdx:-1,rect:{},data:[],coords:[]},axis:{x:{padding:{left:0,right:0},tickCount:0}},rotatedPadding:{left:30,right:0,top:5},withoutFadeIn:{},inputType:"",datetimeId:"",clip:{id:"",idXAxis:"",idYAxis:"",idXAxisTickTexts:"",idGrid:"",idSubchart:"",path:"",pathXAxis:"",pathYAxis:"",pathXAxisTickTexts:"",pathGrid:""},event:null,dragStart:null,dragging:!1,flowing:!1,cancelClick:!1,mouseover:!1,rendered:!1,transiting:!1,redrawing:!1,resizing:!1,toggling:!1,zooming:!1,hasNegativeValue:!1,hasPositiveValue:!0,orgAreaOpacity:"0.2",orgConfig:{},hiddenTargetIds:[],hiddenLegendIds:[],focusedTargetIds:[],defocusedTargetIds:[],radius:0,innerRadius:0,outerRadius:void 0,innerRadiusRatio:0,gaugeArcWidth:0,radiusExpanded:0,xgridAttr:{x1:null,x2:null,y1:null,y2:null}}}}const tc={element:lv,state:cv};class uv{constructor(){Object.keys(tc).forEach(e=>{this[e]=new tc[e]})}getStore(e){return this[e]}}var fv=Object.defineProperty,dv=(t,e,n)=>e in t?fv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,hv=(t,e,n)=>dv(t,typeof e!="symbol"?e+"":e,n);const Ln={bubbleBaseLength:"$baseLength",colorPattern:"__colorPattern__",dataMinMax:"$dataMinMax",dataTotalSum:"$dataTotalSum",dataTotalPerIndex:"$totalPerIndex",legendItemTextBox:"legendItemTextBox",radarPoints:"$radarPoints",radarTextWidth:"$radarTextWidth",setOverOut:"setOverOut",callOverOutForTouch:"callOverOutForTouch",textRect:"textRect"};class gv{constructor(){hv(this,"cache",{})}add(e,n,a=!1){return this.cache[e]=a?this.cloneTarget(n):n,this.cache[e]}remove(e){(Xe(e)?[e]:e).forEach(n=>delete this.cache[n])}get(e,n=!1){if(n&&Array.isArray(e)){const a=[];for(let i=0,s;s=e[i];i++)s in this.cache&&a.push(this.cloneTarget(this.cache[s]));return a}else{const a=this.cache[e];return De(a)?a:null}}reset(e){const n=this;for(const a in n.cache)(e||/^\$/.test(a))&&(n.cache[a]=null)}cloneTarget(e){return{id:e.id,id_org:e.id_org,values:e.values.map(n=>({x:n.x,value:n.value,id:n.id}))}}}const se={AREA:"area",AREA_LINE_RANGE:"area-line-range",AREA_SPLINE:"area-spline",AREA_SPLINE_RANGE:"area-spline-range",AREA_STEP:"area-step",AREA_STEP_RANGE:"area-step-range",BAR:"bar",BUBBLE:"bubble",CANDLESTICK:"candlestick",DONUT:"donut",FUNNEL:"funnel",GAUGE:"gauge",LINE:"line",PIE:"pie",POLAR:"polar",RADAR:"radar",SCATTER:"scatter",SPLINE:"spline",STEP:"step",TREEMAP:"treemap"},Ns={AREA:"initArea",AREA_LINE_RANGE:"initArea",AREA_SPLINE:"initArea",AREA_SPLINE_RANGE:"initArea",AREA_STEP:"initArea",AREA_STEP_RANGE:"initArea",BAR:"initBar",BUBBLE:"initCircle",CANDLESTICK:"initCandlestick",DONUT:"initArc",FUNNEL:"initFunnel",GAUGE:"initArc",LINE:"initLine",PIE:"initArc",POLAR:"initPolar",RADAR:"initCircle",SCATTER:"initCircle",SPLINE:"initLine",STEP:"initLine",TREEMAP:"initTreemap"},Sr={Area:[se.AREA,se.AREA_SPLINE,se.AREA_SPLINE_RANGE,se.AREA_LINE_RANGE,se.AREA_STEP,se.AREA_STEP_RANGE],AreaRange:[se.AREA_SPLINE_RANGE,se.AREA_LINE_RANGE,se.AREA_STEP_RANGE],Arc:[se.PIE,se.DONUT,se.GAUGE,se.POLAR,se.RADAR],Line:[se.LINE,se.SPLINE,se.AREA,se.AREA_SPLINE,se.AREA_SPLINE_RANGE,se.AREA_LINE_RANGE,se.STEP,se.AREA_STEP,se.AREA_STEP_RANGE],Step:[se.STEP,se.AREA_STEP,se.AREA_STEP_RANGE],Spline:[se.SPLINE,se.AREA_SPLINE,se.AREA_SPLINE_RANGE]};function vv(t){const e=t,{config:n}=e;let a="";if(qn(n.data_type||n.data_types)&&!e[Ns.LINE])a="line";else for(const i in Ns){const s=se[i];if(e.hasType(s)&&!e[Ns[i]]){a=s;break}}a&&pv(`Please, make sure if %c${qg(a)}`,"module has been imported and specified correctly.","https://github.com/naver/billboard.js/wiki/CHANGELOG-v2#modularization-by-its-functionality")}function pv(t,e,n){var a;const i="[billboard.js]";if((a=Ke.console)==null?void 0:a.error){const o=e?["background:red;color:white;display:block;font-size:15px",e]:[];console.error(`\u274C ${i} ${t}`,"background:red;color:white;display:block;font-size:15px",...o),n&&console.info("%c\u2139\uFE0F","font-size:15px",n)}throw Error(`${i} ${t.replace(/\%c([a-z-]+)/i,"'$1' ")} ${e!=null?e:""}`)}const{setTimeout:mv,clearTimeout:yv}=Ke;function xv(t){const e=[];let n;const a=function(){a.clear(),t===!1?jl(()=>{e.forEach(i=>i())},{timeout:200}):n=mv(()=>{e.forEach(i=>i())},he(t)?t:200)};return a.clear=()=>{n&&(yv(n),n=null)},a.add=i=>e.push(i),a.remove=i=>e.splice(e.indexOf(i),1),a}function ec(){let t=[];const e=function(n,a){function i(){var s;let o=0;for(let l=0,c;c=t[l];l++){if(c===!0||(s=c.empty)!=null&&s.call(c)){o++;continue}if(Ma()===!1){o=t.length;break}try{c.transition()}catch(f){o++}}return o===t.length}kl(()=>{a==null||a()},i)};return e.add=function(n){ze(n)?t=t.concat(n):t.push(n)},e}const Fs={};function Tv(t,e){var n;const a=t.toString(),i=a.replace(/(function|[\s\W\n])/g,"").substring(0,15);return i in Fs||(Fs[i]=new Ke.Blob([`${(n=e==null?void 0:e.map(String).join(";"))!=null?n:""} self.onmessage=function({data}) { const result = (${a}).apply(null, data); self.postMessage(result); - };`],{type:"text/javascript"})),Ke.URL.createObjectURL(Bo[i])}function $v(t){const e=new Ke.Worker(t);return e.onerror=function(n){console.error?console.error(n):console.log(n)},e}function Uo(t=!0,e,n,a){let i=function(...o){const s=e(...o);n(s)};if(Ke.Worker&&t){const o=Tv(e,a),s=$v(o);i=function(...l){s.postMessage(l),s.onmessage=function(c){return Ke.URL.revokeObjectURL(o),n(c.data)}}}return i}var nc={},zo={},jo=34,Da=10,Go=13;function rc(t){return new Function("d","return {"+t.map(function(e,n){return JSON.stringify(e)+": d["+n+'] || ""'}).join(",")+"}")}function Sv(t,e){var n=rc(t);return function(a,i){return e(n(a),i,t)}}function ac(t){var e=Object.create(null),n=[];return t.forEach(function(a){for(var i in a)i in e||n.push(e[i]=i)}),n}function Nn(t,e){var n=t+"",a=n.length;return a9999?"+"+Nn(t,6):Nn(t,4)}function Ev(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),a=t.getUTCSeconds(),i=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":Av(t.getUTCFullYear(),4)+"-"+Nn(t.getUTCMonth()+1,2)+"-"+Nn(t.getUTCDate(),2)+(i?"T"+Nn(e,2)+":"+Nn(n,2)+":"+Nn(a,2)+"."+Nn(i,3)+"Z":a?"T"+Nn(e,2)+":"+Nn(n,2)+":"+Nn(a,2)+"Z":n||e?"T"+Nn(e,2)+":"+Nn(n,2)+"Z":"")}function ic(t){var e=new RegExp('["'+t+` -\r]`),n=t.charCodeAt(0);function a(v,m){var S,P,N=i(v,function(L,w){if(S)return S(L,w-1);P=L,S=m?Sv(L,m):rc(L)});return N.columns=P||[],N}function i(v,m){var S=[],P=v.length,N=0,L=0,w,X=P<=0,W=!1;v.charCodeAt(P-1)===Da&&--P,v.charCodeAt(P-1)===Go&&--P;function Y(){if(X)return zo;if(W)return W=!1,nc;var K,at=N,ht;if(v.charCodeAt(at)===jo){for(;N++=P?X=!0:(ht=v.charCodeAt(N++))===Da?W=!0:ht===Go&&(W=!0,v.charCodeAt(N)===Da&&++N),v.slice(at+1,K-1).replace(/""/g,'"')}for(;N9999?"+"+Nn(t,6):Nn(t,4)}function Ev(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),a=t.getUTCSeconds(),i=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":Av(t.getUTCFullYear(),4)+"-"+Nn(t.getUTCMonth()+1,2)+"-"+Nn(t.getUTCDate(),2)+(i?"T"+Nn(e,2)+":"+Nn(n,2)+":"+Nn(a,2)+"."+Nn(i,3)+"Z":a?"T"+Nn(e,2)+":"+Nn(n,2)+":"+Nn(a,2)+"Z":n||e?"T"+Nn(e,2)+":"+Nn(n,2)+"Z":"")}function ic(t){var e=new RegExp('["'+t+` +\r]`),n=t.charCodeAt(0);function a(v,m){var S,P,N=i(v,function(L,w){if(S)return S(L,w-1);P=L,S=m?Sv(L,m):rc(L)});return N.columns=P||[],N}function i(v,m){var S=[],P=v.length,N=0,L=0,w,X=P<=0,W=!1;v.charCodeAt(P-1)===Da&&--P,v.charCodeAt(P-1)===js&&--P;function Y(){if(X)return Us;if(W)return W=!1,nc;var K,at=N,ht;if(v.charCodeAt(at)===zs){for(;N++=P?X=!0:(ht=v.charCodeAt(N++))===Da?W=!0:ht===js&&(W=!0,v.charCodeAt(N)===Da&&++N),v.slice(at+1,K-1).replace(/""/g,'"')}for(;N0){if(typeof e[s-1]=="undefined"&&(e[s-1]={}),typeof o=="undefined")throw new Error(`Source data is missing a component at (${a}, ${s})!`);e[s-1][i]=o}})}),e}function Xo(t){const e=t[0],n=[];return t.forEach(function(a,i){if(i>0){const o={};a.forEach(function(s,l){if(typeof s=="undefined")throw new Error(`Source data is missing a component at (${i}, ${l})!`);o[e[l]]=s}),n.push(o)}}),n}function oc(t,e){const n=[];let a,i;if(Array.isArray(t)){const o=function(s,l){if(s[l]!==void 0)return s[l];const f=l.replace(/\[(\w+)\]/g,".$1").replace(/^\./,"").split(".");let g=s;return f.some(function(v){return!(g=g&&v in g?g[v]:void 0)}),g};e.x?a=e.value.concat(e.x):a=e.value,n.push(a),t.forEach(function(s){const l=a.map(function(c){let f=o(s,c);return typeof f=="undefined"&&(f=null),f});n.push(l)}),i=Xo(n)}else Object.keys(t).forEach(function(o){var s;const l=t[o].concat();(s=l.unshift)==null||s.call(l,o),n.push(l)}),i=Vo(n);return i}function Cv(t,e="csv",n,a,i){const o=new XMLHttpRequest,s={csv:Pv,tsv:wv,json:oc};o.open("GET",t),n&&Object.keys(n).forEach(function(l){o.setRequestHeader(l,n[l])}),o.onreadystatechange=function(){if(o.readyState===4)if(o.status===200){const l=o.responseText;l&&i.call(this,s[e](e==="json"?JSON.parse(l):l,a))}else throw new Error(`${t}: Something went wrong loading!`)},o.send()}function sc(t,e){const n=t.rows(e);let a;return n.length===1?(a=[{}],n[0].forEach(i=>{a[0][i]=null})):a=t.parse(e),a}function Pv(t){return sc({rows:Rv,parse:bv},t)}function wv(t){return sc({rows:Ov,parse:Iv},t)}function lc(t,e){const n=t||(e==null?void 0:e.data_keys);return n!=null&&n.x&&(e.data_x=n.x),n}var Mv={convertData(t,e){const{config:n}=this,a=n.boost_useWorker;let i=t;if(t.bindto&&(i={},["url","mimeType","headers","keys","json","keys","rows","columns"].forEach(o=>{const s=`data_${o}`;s in t&&(i[o]=t[s])})),i.url&&e)Cv(i.url,i.mimeType,i.headers,lc(i.keys,n),e);else if(i.json)Uo(a,oc,e,[Vo,Xo])(i.json,lc(i.keys,n));else if(i.rows)Uo(a,Xo,e)(i.rows);else if(i.columns)Uo(a,Vo,e)(i.columns);else if(t.bindto)throw Error("url or json or rows or columns is required.")},convertDataToTargets(t,e){const n=this,{axis:a,config:i,state:o}=n,s=i.data_type;let l=!1,c=!1,f=!1;a&&(l=a.isCategorized(),c=a.isTimeSeries(),f=a.isCustomX());const g=Object.keys(t[0]||{}),v=g.length?g.filter(n.isNotX,n):[],m=g.length?g.filter(n.isX,n):[];let S;v.forEach(N=>{const L=this.getXKey(N);f||c?m.indexOf(L)>=0?S=(e&&n.data.xs[N]||[]).concat(t.map(w=>w[L]).filter(De).map((w,X)=>n.generateTargetX(w,N,X))):i.data_x?S=this.getOtherTargetXs():cn(i.data_xs)&&(S=n.getXValuesOfXKey(L,n.data.targets)):S=t.map((w,X)=>X),S&&(this.data.xs[N]=S)}),v.forEach(N=>{if(!this.data.xs[N])throw new Error(`x is not defined for id = "${N}".`)});const P=v.map((N,L)=>{const w=i.data_idConverter.bind(n.api)(N),X=n.getXKey(N),W=f&&l,Y=W&&t.map(at=>at.x).every(at=>i.axis_x_categories.indexOf(at)>-1),Q=t.__append__,K=X===null&&Q?n.api.data.values(N).length:0;return{id:w,id_org:N,values:t.map((at,ht)=>{const St=at[X];let ct=at[N],lt;return ct=ct!==null&&!isNaN(ct)&&!Be(ct)?+ct:ze(ct)||Be(ct)?ct:null,(W||o.hasRadar)&&L===0&&!ln(St)?(!Y&&L===0&&ht===0&&!Q&&(i.axis_x_categories=[]),lt=i.axis_x_categories.indexOf(St),lt===-1&&(lt=i.axis_x_categories.length,i.axis_x_categories.push(St))):lt=n.generateTargetX(St,N,K+ht),(ln(ct)||n.data.xs[N].length<=ht)&&(lt=void 0),{x:lt,value:ct,id:w,index:-1}}).filter(at=>ke(at.x))}});if(P.forEach(N=>{var L;i.data_xSort&&(N.values=N.values.sort((w,X)=>{const W=w.x||w.x===0?w.x:1/0,Y=X.x||X.x===0?X.x:1/0;return W-Y})),N.values.forEach((w,X)=>w.index=X),(L=n.data.xs[N.id])==null||L.sort((w,X)=>w-X)}),o.hasNegativeValue=n.hasNegativeValueInTargets(P),o.hasPositiveValue=n.hasPositiveValueInTargets(P),s&&n.isValidChartType(s)){const N=n.mapToIds(P).filter(L=>!(L in i.data_types)||!n.isValidChartType(i.data_types[L]));n.setTargetType(N,s)}return P.forEach(N=>n.cache.add(N.id_org,N,!0)),P}},Dv={isX(t){const e=this,{config:n}=e,a=n.data_x&&t===n.data_x,i=cn(n.data_xs)&&kg(n.data_xs,t);return a||i},isNotX(t){return!this.isX(t)},isStackNormalized(){const{config:t}=this;return!!(t.data_stack_normalize&&t.data_groups.length)},isGrouped(t){const e=this.config.data_groups;return t?e.some(n=>n.indexOf(t)>=0&&n.length>1):e.length>0},getXKey(t){const e=this,{config:n}=e;return n.data_x?n.data_x:cn(n.data_xs)?n.data_xs[t]:null},getXValuesOfXKey(t,e){const n=this,a=e&&cn(e)?n.mapToIds(e):[];let i;return a.forEach(o=>{n.getXKey(o)===t&&(i=n.data.xs[o])}),i},getIndexByX(t,e){const n=this;return e?e.indexOf(Xe(t)?t:+t):(n.filterByX(n.data.targets,t)[0]||{index:null}).index},getXValue(t,e){const n=this;return t in n.data.xs&&n.data.xs[t]&&De(n.data.xs[t][e])?n.data.xs[t][e]:e},getOtherTargetXs(){const t=this,e=Object.keys(t.data.xs);return e.length?t.data.xs[e[0]]:null},getOtherTargetX(t){const e=this.getOtherTargetXs();return e&&t{n.data_xs[a]=t[a]})},isMultipleX(){return!this.config.axis_x_forceAsSingle&&(cn(this.config.data_xs)||this.hasType("bubble")||this.hasType("scatter"))},addName(t){const e=this,{config:n}=e;let a;return t&&(a=n.data_names[t.id],t.name=a!==void 0?a:t.id),t},getAllValuesOnIndex(t,e=!1){const n=this;let a=n.filterTargetsToShow(n.data.targets).map(i=>n.addName(n.getValueOnIndex(i.values,t)));return e&&(a=a.filter(i=>i&&"value"in i&&De(i.value))),a},getValueOnIndex(t,e){const n=t.filter(a=>a.index===e);return n.length?n[0]:null},updateTargetX(t,e){const n=this;t.forEach(a=>{a.values.forEach((i,o)=>{i.x=n.generateTargetX(e[o],a.id,o)}),n.data.xs[a.id]=e})},updateTargetXs(t,e){const n=this;t.forEach(a=>{e[a.id]&&n.updateTargetX([a],e[a.id])})},generateTargetX(t,e,n){const a=this,{axis:i}=a;let o=i!=null&&i.isCategorized()?n:t||n;if(i!=null&&i.isTimeSeries()){const s=zn.bind(a);o=s(t||a.getXValue(e,n))}else i!=null&&i.isCustomX()&&!(i!=null&&i.isCategorized())&&(o=De(t)?+t:a.getXValue(e,n));return o},updateXs(t){t.length&&(this.axis.xs=t.map(e=>e.x))},getPrevX(t){const e=this.axis.xs[t-1];return ke(e)?e:null},getNextX(t){const e=this.axis.xs[t+1];return ke(e)?e:null},getBaseValue(t){const e=this,{hasAxis:n}=e.state;let{value:a}=t;return a&&n&&(e.isAreaRangeType(t)?a=e.getRangedData(t,"mid"):e.isBubbleZType(t)&&(a=e.getBubbleZData(a,"y"))),a},getMinMaxValue(t){const e=this.getBaseValue.bind(this);let n,a;return(t||this.data.targets.map(i=>i.values)).forEach((i,o)=>{const s=i.map(e).filter(he);n=Math.min(o?n:1/0,...s),a=Math.max(o?a:-1/0,...s)}),{min:n,max:a}},getMinMaxData(){const t=this,e=Ln.dataMinMax;let n=t.cache.get(e);if(!n){const a=t.data.targets.map(l=>l.values),i=t.getMinMaxValue(a);let o=[],s=[];a.forEach(l=>{const c=t.getFilteredDataByValue(l,i.min),f=t.getFilteredDataByValue(l,i.max);c.length&&(o=o.concat(c)),f.length&&(s=s.concat(f))}),t.cache.add(e,n={min:o,max:s})}return n},getTotalPerIndex(){const t=this,e=Ln.dataTotalPerIndex;let n=t.cache.get(e);return(t.config.data_groups.length||t.isStackNormalized())&&!n&&(n=[],t.data.targets.forEach(a=>{a.values.forEach((i,o)=>{n[o]||(n[o]=0),n[o]+=he(i.value)?i.value:0})})),n},getTotalDataSum(t){const e=this,n=Ln.dataTotalSum;let a=e.cache.get(n);if(!he(a)){const i=Do(e.data.targets.map(o=>o.values)).map(o=>o.value);a=i.length?i.reduce((o,s)=>o+s):0,e.cache.add(n,a)}return t&&(a-=e.getHiddenTotalDataSum()),a},getHiddenTotalDataSum(){const t=this,{api:e,state:{hiddenTargetIds:n}}=t;let a=0;return n.length&&(a=e.data.values.bind(e)(n).reduce((i,o)=>i+o)),a},getFilteredDataByValue(t,e){return t.filter(n=>this.getBaseValue(n)===e)},getMaxDataCount(){return Math.max(...this.data.targets.map(t=>t.values.length),0)},getMaxDataCountTarget(){let t=this.filterTargetsToShow()||[];const e=t.length,n=this.config.axis_x_inverted;return e>1?(t=t.map(a=>a.values).reduce((a,i)=>a.concat(i)).map(a=>a.x),t=na(Mo(t)).map((a,i,o)=>({x:a,index:n?o.length-i-1:i}))):e&&(t=t[0].values.concat()),t},mapToIds(t){return t.map(e=>e.id)},mapToTargetIds(t){const e=this;return t?ze(t)?t.concat():[t]:e.mapToIds(e.data.targets)},hasTarget(t,e){const n=this.mapToIds(t);for(let a=0,i;i=n[a];a++)if(i===e)return!0;return!1},isTargetToShow(t){return this.state.hiddenTargetIds.indexOf(t)<0},isLegendToShow(t){return this.state.hiddenLegendIds.indexOf(t)<0},filterTargetsToShow(t){const e=this;return(t||e.data.targets).filter(n=>e.isTargetToShow(n.id))},mapTargetsToUniqueXs(t){const e=this,{axis:n}=e;let a=[];return t!=null&&t.length&&(a=Mo(Do(t.map(i=>i.values.map(o=>+o.x)))),a=n!=null&&n.isTimeSeries()?a.map(i=>new Date(+i)):a.map(Number)),na(a)},addTargetIds(t,e){const{state:n}=this;(ze(e)?e:[e]).forEach(i=>{n[t].indexOf(i)<0&&n[t].push(i)})},removeTargetIds(t,e){const{state:n}=this;(ze(e)?e:[e]).forEach(i=>{const o=n[t].indexOf(i);o>=0&&n[t].splice(o,1)})},addHiddenTargetIds(t){this.addTargetIds("hiddenTargetIds",t)},removeHiddenTargetIds(t){this.removeTargetIds("hiddenTargetIds",t)},addHiddenLegendIds(t){this.addTargetIds("hiddenLegendIds",t)},removeHiddenLegendIds(t){this.removeTargetIds("hiddenLegendIds",t)},getValuesAsIdKeyed(t){const e=this,{hasAxis:n}=e.state,a={},i=e.isMultipleX(),o=i?e.mapTargetsToUniqueXs(t).map(s=>Xe(s)?s:+s):null;return t.forEach(s=>{const l=[];s.values.filter(({value:c})=>De(c)||c===null).forEach(c=>{let{value:f}=c;f!==null&&e.isCandlestickType(c)&&(f=ze(f)?f.slice(0,4):[f.open,f.high,f.low,f.close]),ze(f)?l.push(...f):Be(f)&&"high"in f?l.push(...Object.values(f)):e.isBubbleZType(c)?l.push(n&&e.getBubbleZData(f,"y")):i?l[e.getIndexByX(c.x,o)]=f:l.push(f)}),a[s.id]=l}),a},checkValueInTargets(t,e){const n=Object.keys(t);let a;for(let i=0;i1},hasNegativeValueInTargets(t){return this.checkValueInTargets(t,e=>e<0)},hasPositiveValueInTargets(t){return this.checkValueInTargets(t,e=>e>0)},orderTargets(t){const e=this,n=[...t],a=e.getSortCompareFn();return a&&n.sort(a),n},getSortCompareFn(t=!1){const e=this,{config:n}=e,a=n.data_order,i=/asc/i.test(a),o=/desc/i.test(a);let s;if(i||o){const l=(f,g)=>f+Math.abs(g.value),c=f=>he(f)?f:"values"in f?f.values.reduce(l,0):f.value;s=(f,g)=>{const v=c(f),m=c(g);return t?i?v-m:m-v:i?m-v:v-m}}else ve(a)&&(s=a.bind(e.api));return s||null},filterByX(t,e){return Do(t.map(n=>n.values)).filter(n=>n.x-e===0)},filterRemoveNull(t){return t.filter(e=>De(this.getBaseValue(e)))},filterByXDomain(t,e){return t.map(n=>({id:n.id,id_org:n.id_org,values:n.values.filter(a=>e[0]<=a.x&&a.x<=e[1])}))},hasDataLabel(){const t=this.config.data_labels;return Oo(t)&&t||nr(t)&&cn(t)},hasNullDataValue(t){return t.some(({value:e})=>e===null)},getDataIndexFromEvent(t){const e=this,{$el:n,config:a,state:{hasRadar:i,inputType:o,eventReceiver:{coords:s,rect:l}}}=e;let c;if(i){let f=t.target;/tspan/i.test(f.tagName)&&(f=f.parentNode);const g=ot(f).datum();c=g&&Object.keys(g).length===1?g.index:void 0}else{const f=a.axis_rotated,g=Zl(n.chart.node()),v=o==="touch"&&t.changedTouches?t.changedTouches[0]:t;let m=f?v.clientY+g.y-l.top:v.clientX+g.x-l.left;if(Lo(n.svg)){const S=[m,0];f&&S.reverse(),m=wo(n.svg.node(),...S)[f?"y":"x"]}c=Po(s,m,0,s.length-1,f)}return c},getDataLabelLength(t,e,n){const a=this,i=[0,0],o=1.3;return a.$el.chart.select("svg").selectAll(".dummy").data([t,e]).enter().append("text").text(s=>a.dataLabelFormat(s.id)(s)).each(function(s,l){i[l]=this.getBoundingClientRect()[n]*o}).remove(),i},isNoneArc(t){return this.hasTarget(this.data.targets,t.id)},isArc(t){return"data"in t&&this.hasTarget(this.data.targets,t.data.id)},findSameXOfValues(t,e){const n=t[e].x,a=[];let i;for(i=e-1;i>=0&&n===t[i].x;i--)a.push(t[i]);for(i=e;in.findClosest(i.values,e));return n.findClosest(a,e)},findClosest(t,e){const n=this,{$el:{main:a}}=n,i=t.filter(l=>l&&De(l.value));let o,s;return i.filter(l=>n.isBarType(l.id)||n.isCandlestickType(l.id)).forEach(l=>{const c=n.isBarType(l.id)?`.${Kn.chartBar}.${Se.target}${n.getTargetSelectorSuffix(l.id)} .${Kn.bar}-${l.index}`:`.${cr.chartCandlestick}.${Se.target}${n.getTargetSelectorSuffix(l.id)} .${cr.candlestick}-${l.index} path`;!s&&n.isWithinBar(a.select(c).node())&&(s=l)}),i.filter(l=>!n.isBarType(l.id)&&!n.isCandlestickType(l.id)).forEach(l=>{const c=n.dist(l,e);o=n.getPointSensitivity(l),c{const{x:i,id:o}=a;n.push({x:i,id:o,value:a.value[0]}),n.push({x:i,id:o,value:a.value[2]})}),n},updateDataAttributes(t,e){const n=this,{config:a}=n,i=a[`data_${t}`];return ln(e)||(Object.keys(e).forEach(o=>{i[o]=e[o]}),n.redraw({withLegend:!0})),i},getRangedData(t,e="",n="areaRange"){const a=t==null?void 0:t.value;if(ze(a)){if(n==="bar")return a.reduce((i,o)=>o-i);{const i={areaRange:["high","mid","low"],candlestick:["open","high","low","close","volume"]}[n].indexOf(e);return i>=0&&a?a[i]:void 0}}else if(a&&e)return a[e];return a},setRatioForGroupedData(t){const e=this,{config:n}=e;if(n.data_groups.length&&t.some(a=>e.isGrouped(a.id))){const a=i=>e.getRatio("index",i,!0);t.forEach(i=>{"values"in i?i.values.forEach(a):a(i)})}},getRatio(t,e,n=!1){const a=this,{config:i,state:o}=a,s=a.api;let l=0;if(e&&s.data.shown().length)if(l=e.ratio||e.value,t==="arc")if(a.pie.padAngle()())l=e.value/a.getTotalDataSum(!0);else{const c=i.gauge_fullCircle?a.getArcLength():a.getStartingAngle()*-2,f=a.hasType("gauge")?c:Math.PI*2;l=(e.endAngle-e.startAngle)/f}else if(t==="index"){const c=s.data.values.bind(s);let f=this.getTotalPerIndex();if(o.hiddenTargetIds.length){let v=c(o.hiddenTargetIds,!1);v.length&&(v=v.reduce((m,S)=>m.map((P,N)=>(he(P)?P:0)+S[N])),f=f.map((m,S)=>m-v[S]))}const g=f[e.index];e.ratio=he(e.value)&&f&&g?e.value/g:0,l=e.ratio}else if(t==="radar")l=parseFloat(String(Math.max(e.value,0)))/o.current.dataMax*i.radar_size_ratio;else if(t==="bar"){const f=a.getYScaleById.bind(a)(e.id).domain().reduce((g,v)=>v-g);l=f===0?0:Math.abs(a.getRangedData(e,null,t)/f)}else t==="treemap"&&(l/=a.getTotalDataSum(!0));return n&&l?l*100:l},updateDataIndexByX(t){const e=this,n=t.reduce((a,i,o)=>(a[Number(i.x)]=o,a),{});e.data.targets.forEach(a=>{a.values.forEach((i,o)=>{let s=n[Number(i.x)];s===void 0&&(s=o),i.index=s})})},isBubbleZType(t){return this.isBubbleType(t)&&(Be(t.value)&&("z"in t.value||"y"in t.value)||ze(t.value)&&t.value.length>=2)},isBarRangeType(t){const e=this,{value:n}=t;return e.isBarType(t)&&ze(n)&&n.length>=2&&n.every(a=>he(a))},getDataById(t){var e;const n=this.cache.get(t)||this.api.data(t);return(e=n==null?void 0:n[0])!=null?e:n}};function cc(t,e=!1){const n=this,{api:a}=n;e&&n.api.flush(!0),t==null||t.call(a)}var Lv={load(t,e){const n=this,{axis:a,data:i,org:o,scale:s}=n,{append:l}=e,c={domain:null,currentDomain:null,x:null};let f=t;f&&(e.filter&&(f=f.filter(e.filter)),(e.type||e.types)&&f.forEach(g=>{var v;const m=((v=e.types)==null?void 0:v[g.id])||e.type;n.setTargetType(g.id,m)}),i.targets.forEach(g=>{for(let v=0;v{const a=t.data||n;t.append&&(a.__append__=!0),a&&e.load(e.convertDataToTargets(a),t)}))},unload(t,e){var n;const a=this,{state:i,$el:o,$T:s}=a,l=!!((n=a.hasLegendDefsPoint)!=null&&n.call(a));let c=e,f=t;if(a.cache.reset(),c||(c=()=>{}),f=f.filter(v=>a.hasTarget(a.data.targets,v)),!f||f.length===0){c();return}const g=o.svg.selectAll(f.map(v=>a.selectorTarget(v)));s(g).style("opacity","0").remove().call($i,c),f.forEach(v=>{var m;const S=a.getTargetSelectorSuffix(v);i.withoutFadeIn[v]=!1,o.legend&&o.legend.selectAll(`.${We.legendItem}${S}`).remove(),a.data.targets=a.data.targets.filter(P=>P.id!==v),l&&((m=o.defs)==null||m.select(`#${a.getDefsPointId(S)}`).remove())}),i.hasFunnel&&a.updateFunnel(a.data.targets),i.hasTreemap&&a.updateTargetsForTreemap(a.data.targets),a.updateTypesElements()}},bi=t=>()=>t;function Yo(t,{sourceEvent:e,subject:n,target:a,identifier:i,active:o,x:s,y:l,dx:c,dy:f,dispatch:g}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:a,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:f,enumerable:!0,configurable:!0},_:{value:g}})}Yo.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Nv(t){return!t.ctrlKey&&!t.button}function Fv(){return this.parentNode}function Bv(t,e){return e==null?{x:t.x,y:t.y}:e}function Uv(){return navigator.maxTouchPoints||"ontouchstart"in this}function uc(){var t=Nv,e=Fv,n=Bv,a=Uv,i={},o=ni("start","drag","end"),s=0,l,c,f,g,v=0;function m(Y){Y.on("mousedown.drag",S).filter(a).on("touchstart.drag",L).on("touchmove.drag",w,Jd).on("touchend.drag touchcancel.drag",X).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function S(Y,Q){if(!(g||!t.call(this,Y,Q))){var K=W(this,e.call(this,Y,Q),Y,Q,"mouse");K&&(ot(Y.view).on("mousemove.drag",P,Sa).on("mouseup.drag",N,Sa),lo(Y.view),so(Y),f=!1,l=Y.clientX,c=Y.clientY,K("start",Y))}}function P(Y){if(Zr(Y),!f){var Q=Y.clientX-l,K=Y.clientY-c;f=Q*Q+K*K>v}i.mouse("drag",Y)}function N(Y){ot(Y.view).on("mousemove.drag mouseup.drag",null),co(Y.view,f),Zr(Y),i.mouse("end",Y)}function L(Y,Q){if(t.call(this,Y,Q)){var K=Y.changedTouches,at=e.call(this,Y,Q),ht=K.length,St,ct;for(St=0;Sti.$el[o]).forEach(o=>{a&&i.$el[o].classed(Se.EXPANDED,!1),i.getShapeByIndex(o,e,n).classed(Se.EXPANDED,t)})},setOverOut(t,e){const n=this,{config:a,state:{hasFunnel:i,hasRadar:o,hasTreemap:s},$el:{main:l}}=n,c=Be(e);if(c||e!==-1){const f=a[t?"data_onover":"data_onout"].bind(n.api);if(a.color_onover&&n.setOverColor(t,e,c),c){const g=n.getTargetSelectorSuffix(e.id),v=i||s?`${Se.target+g} .${sn.shape}`:je.arc+g;f(e,l.select(`.${v}`).node())}else if(a.tooltip_grouped)t&&(o&&n.isPointFocusOnly()?n.showCircleFocus(n.getAllValuesOnIndex(e,!0)):n.setExpand(e,null,!0)),!n.isMultipleX()&&l.selectAll(`.${sn.shape}-${e}`).each(function(g){f(g,this)});else{const g=n.cache.get(Ln.setOverOut)||[],v=l.selectAll(`.${sn.shape}-${e}`).filter(function(S){return n.isWithinShape(this,S)}),m=v.filter(function(){return g.every(S=>S!==this)});if(!t||v.empty()||g.length===m.size()&&m.nodes().every((S,P)=>S!==g[P]))for(;g.length;){const S=g.pop();a.data_onout.bind(n.api)(ot(S).datum(),S)}m.each(function(){t&&(f(ot(this).datum(),this),g.push(this))}),n.cache.add(Ln.setOverOut,g)}}},callOverOutForTouch(t){const e=this,n=e.cache.get(Ln.callOverOutForTouch);(Be(t)&&n?t.id!==n.id:t!==n)&&((n||he(n))&&e.setOverOut(!1,n),(t||he(t))&&e.setOverOut(!0,t),e.cache.add(Ln.callOverOutForTouch,t))},getDraggableSelection(){const t=this,{config:e,state:n}=t;return e.interaction_enabled&&e.data_selection_draggable&&t.drag?uc().on("drag",function(a){n.event=a,t.drag(Hn(a,this))}).on("start",function(a){n.event=a,t.dragstart(Hn(a,this))}).on("end",a=>{n.event=a,t.dragend()}):()=>{}},dispatchEvent(t,e,n){var a,i;const o=this,{config:s,state:{eventReceiver:l,hasAxis:c,hasFunnel:f,hasRadar:g,hasTreemap:v},$el:{eventRect:m,funnel:S,radar:P,svg:N,treemap:L}}=o;let w=(i=(f||v)&&l.rect||g&&P.axes.select(`.${dn.axis}-${e} text`)||m||((a=o.getArcElementByIdOrIndex)==null?void 0:a.call(o,e)))==null?void 0:i.node();if(w){const X=o.isMultipleX(),W=s.axis_rotated;let{width:Y,left:Q,top:K}=w.getBoundingClientRect();if(c&&!g&&!X){const ct=l.coords[e];ct?(Y=ct.w,Q+=ct.x,K+=ct.y):(Y=0,Q=0,K=0)}let at=Q+(n?n[0]:0)+(X||W?0:Y/2),ht=K+(n?n[1]:0)+(W?4:0);if(Lo(N)){const ct=wo(o.$el.svg.node(),at,ht,!1);at=ct.x,ht=ct.y}const St={screenX:at,screenY:ht,clientX:at,clientY:ht,bubbles:g};(f||v)&&(w=(S!=null?S:L).node()),ev[/^(mouse|click)/.test(t)?"mouse":"touch"](w,t,St)}},setDragStatus(t){this.state.dragging=t},unbindZoomEvent(){const t=this,{$el:{eventRect:e,zoomResetBtn:n}}=t;e==null||e.on(".zoom wheel.zoom .drag",null),n==null||n.on("click",null).style("display","none")},unbindAllEvents(){var t;const e=this,{$el:{arcs:n,eventRect:a,legend:i,region:o,svg:s,treemap:l},brush:c}=e,f=["wheel","click","mouseover","mousemove","mouseout","touchstart","touchmove","touchend","touchstart.eventRect","touchmove.eventRect","touchend.eventRect",".brush",".drag",".zoom","wheel.zoom","dblclick.zoom"].join(" ");[s,a,o==null?void 0:o.list,c==null?void 0:c.getSelection(),n==null?void 0:n.selectAll("path"),i==null?void 0:i.selectAll("g"),l].forEach(g=>g==null?void 0:g.on(f,null)),(t=e.unbindZoomEvent)==null||t.call(e)}},jv={categoryName(t){var e;const{axis_x_categories:n}=this.config;return(e=n==null?void 0:n[t])!=null?e:t}},Gv={generateClass(t,e){return` ${t} ${t+this.getTargetSelectorSuffix(e)}`},getClass(t,e){const n=/s$/.test(t),a=/^(area|arc|line|funnel|treemap)s?$/.test(t),i=n?"id":"index";return o=>{const s=o.data||o;return((e?this.generateClass(Ue[n?"shapes":"shape"],s[i]):"")+this.generateClass(Ue[t],s[a?"id":i])).trim()}},getChartClass(t){return e=>Ue[`chart${t}`]+this.classTarget((e.data?e.data:e).id)},generateExtraLineClass(){const e=this.config.line_classes||[],n=[];return function(a){var i;const o=a.id||((i=a.data)==null?void 0:i.id)||a;return n.indexOf(o)<0&&n.push(o),e[n.indexOf(o)%e.length]}},classRegion(t,e){return`${this.generateClass(Ue.region,e)} ${"class"in t?t.class:""}`},classTarget(t){const e=this.config.data_classes[t];let n="";return e&&(n=` ${Ue.target}-${e}`),this.generateClass(Ue.target,t)+n},classFocus(t){return this.classFocused(t)+this.classDefocused(t)},classFocused(t){return` ${this.state.focusedTargetIds.indexOf(t.id)>=0?Ue.focused:""}`},classDefocused(t){return` ${this.state.defocusedTargetIds.indexOf(t.id)>=0?Ue.defocused:""}`},getTargetSelectorSuffix(t){return(t||t===0?`-${t}`:"").replace(/[\x00-\x20\x7F-\xA0\s?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\]/g,"-")},selectorTarget(t,e="",n=""){const a=this.getTargetSelectorSuffix(t);return`${e}.${Ue.target+a} ${n}, ${e}.${Ue.circles+a} ${n}`},selectorTargets(t,e){const n=t||[];return n.length?n.map(a=>this.selectorTarget(a,e)):null},selectorLegend(t){return`.${Ue.legendItem+this.getTargetSelectorSuffix(t)}`},selectorLegends(t){return t!=null&&t.length?t.map(e=>this.selectorLegend(e)):null}};class fc extends Map{constructor(e,n=gc){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[a,i]of e)this.set(a,i)}get(e){return super.get(Ho(this,e))}has(e){return super.has(Ho(this,e))}set(e,n){return super.set(dc(this,e),n)}delete(e){return super.delete(hc(this,e))}}class f1 extends Set{constructor(e,n=gc){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const a of e)this.add(a)}has(e){return super.has(Ho(this,e))}add(e){return super.add(dc(this,e))}delete(e){return super.delete(hc(this,e))}}function Ho({_intern:t,_key:e},n){const a=e(n);return t.has(a)?t.get(a):n}function dc({_intern:t,_key:e},n){const a=e(n);return t.has(a)?t.get(a):(t.set(a,n),n)}function hc({_intern:t,_key:e},n){const a=e(n);return t.has(a)&&(n=t.get(a),t.delete(a)),n}function gc(t){return t!==null&&typeof t=="object"?t.valueOf():t}function ra(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}function d1(t,e){switch(arguments.length){case 0:break;case 1:{typeof t=="function"?this.interpolator(t):this.range(t);break}default:{this.domain(t),typeof e=="function"?this.interpolator(e):this.range(e);break}}return this}const vc=Symbol("implicit");function pc(){var t=new fc,e=[],n=[],a=vc;function i(o){let s=t.get(o);if(s===void 0){if(a!==vc)return a;t.set(o,s=e.push(o)-1)}return n[s%n.length]}return i.domain=function(o){if(!arguments.length)return e.slice();e=[],t=new fc;for(const s of o)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(o){return arguments.length?(n=Array.from(o),i):n.slice()},i.unknown=function(o){return arguments.length?(a=o,i):a},i.copy=function(){return pc(e,n).unknown(a)},ra.apply(i,arguments),i}const Vv=(t,e,n)=>{const a=ot(t.cloneNode(!0));return a.attr("id",n).insert("rect",":first-child").attr("width",a.attr("width")).attr("height",a.attr("height")).style("fill",e),{id:n,node:a.node()}};function Xv(t){const e=Ln.colorPattern,{body:n}=vn;let a=n[e];if(!a){const i=";",o=t.classed(io.colorPattern,!0).style("background-image");t.classed(io.colorPattern,!1),o.indexOf(i)>-1&&(a=o.replace(/url[^#]*|["'()]|(\s|%20)/g,"").split(i).map(s=>s.trim().replace(/[\"'\s]/g,"")).filter(Boolean),n[e]=a)}return a}const Yv=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"];var Hv={generateColor(){const t=this,{$el:e,config:n}=t,a=n.data_colors,i=n.data_color,o=[];let s=cn(n.color_pattern)?n.color_pattern:pc(Xv(e.chart)||Yv).range();const l=s;if(ve(n.color_tiles)){const c=n.color_tiles.bind(t.api)(),f=s.map((g,v)=>{const m=g.replace(/[#\(\)\s,]/g,""),S=`${t.state.datetimeId}-pattern-${m}-${v}`;return Vv(c[v%c.length],g,S)});s=f.map(g=>`url(#${g.id})`),t.patterns=f}return function(c){var f;const g=c.id||((f=c.data)==null?void 0:f.id)||c,v=t.isTypeOf(g,["line","spline","step"])||!n.data_types[g];let m;return ve(a[g])?m=a[g].bind(t.api)(c):a[g]?m=a[g]:(o.indexOf(g)<0&&o.push(g),m=v?l[o.indexOf(g)%l.length]:s[o.indexOf(g)%s.length],a[g]=m),ve(i)?i.bind(t.api)(m,c):m}},generateLevelColor(){const t=this,{config:e}=t,n=e.color_pattern,a=e.color_threshold,i=a.unit==="value",o=a.max||100,s=a.values&&a.values.length?a.values:[];return cn(a)?function(l){const c=i?l:l*100/o;let f=n[n.length-1];for(let g=0,v=s.length;g{const l=`${i.datetimeId}-labels-bg${n.getTargetSelectorSuffix(s)}${Xe(t)?n.getTargetSelectorSuffix(t):""}`;a.defs.append("filter").attr("x",e.x).attr("y",e.y).attr("width",e.width).attr("height",e.height).attr("id",l).html(` - `)})}},getGradienColortUrl(t){return`url(#${this.state.datetimeId}-gradient${this.getTargetSelectorSuffix(t)})`},updateLinearGradient(){const t=this,{config:e,data:{targets:n},state:{datetimeId:a},$el:{defs:i}}=t;n.forEach(o=>{const s=`${a}-gradient${t.getTargetSelectorSuffix(o.id)}`,l=t.hasPointType()&&e.point_radialGradient,c=t.isAreaType(o)&&"area"||t.isBarType(o)&&"bar";if((l||c)&&i.select(`#${s}`).empty()){const f=t.color(o),g={defs:null,stops:[]};if(l){const{cx:v=.3,cy:m=.3,r:S=.7,stops:P=[[.1,f,0],[.9,f,1]]}=l;g.stops=P,g.defs=i.append("radialGradient").attr("id",`${s}`).attr("cx",v).attr("cy",m).attr("r",S)}else{const v=e.axis_rotated,{x:m=v?[1,0]:[0,0],y:S=v?[0,0]:[0,1],stops:P=[[0,f,1],[1,f,0]]}=e[`${c}_linearGradient`];g.stops=P,g.defs=i.append("linearGradient").attr("id",`${s}`).attr("x1",m[0]).attr("x2",m[1]).attr("y1",S[0]).attr("y2",S[1])}g.stops.forEach(v=>{const[m,S,P]=v,N=ve(S)?S.bind(t.api)(o.id):S;g.defs&&g.defs.append("stop").attr("offset",m).attr("stop-color",N||f).attr("stop-opacity",P)})}})},setOverColor(t,e){const n=this,{config:a,$el:{main:i}}=n,o=a.color_onover;let s=t?o:n.color;Be(s)?s=({id:l})=>l in o?o[l]:n.color(l):Xe(s)?s=()=>o:ve(o)&&(s=s.bind(n.api)),i.selectAll(Be(e)?`.${je.arc}${n.getTargetSelectorSuffix(e.id)}`:`.${sn.shape}-${e}`).style("fill",s)}},Wv={getYDomainMinMax(t,e){const n=this,{axis:a,config:i}=n,o=e==="min",s=i.data_groups,l=n.mapToIds(t),c=n.getValuesAsIdKeyed(t);if(s.length>0){const f=n[`has${o?"Negative":"Positive"}ValueInTargets`](t);s.forEach(g=>{const v=g.filter(m=>l.indexOf(m)>=0);if(v.length){const m=v[0],S=a.getId(m);f&&c[m]&&(c[m]=c[m].map(P=>(o?P<0:P>0)?P:0)),v.filter((P,N)=>N>0).forEach(P=>{if(c[P]){const N=a.getId(P);c[P].forEach((L,w)=>{const X=+L,W=o?X>0:X<0;N===S&&!(f&&W)&&(c[m][w]+=X)})}})}})}return _n(e,Object.keys(c).map(f=>_n(e,c[f])))},isHiddenTargetWithYDomain(t){const e=this;return e.state.hiddenTargetIds.some(n=>e.axis.getId(n)===t)},getYDomain(t,e,n){const a=this,{axis:i,config:o,scale:s}=a,l=`axis_${e}`;if(a.isStackNormalized())return[0,100];const c=(s==null?void 0:s[e])&&s[e].type==="log",f=t.filter(ct=>i.getId(ct.id)===e),g=n?a.filterByXDomain(f,n):f;if(g.length===0)return a.isHiddenTargetWithYDomain(e)?s[e].domain():e==="y2"?s.y.domain():a.getYDomain(t,"y2",n);const v=o[`${l}_min`],m=o[`${l}_max`],S=o[`${l}_center`],P=o[`${l}_inverted`],N=a.hasDataLabel()&&o.axis_rotated,L=a.hasDataLabel()&&!o.axis_rotated;let w=a.getYDomainMinMax(g,"min"),X=a.getYDomainMinMax(g,"max"),W=[oe.BAR,oe.BUBBLE,oe.SCATTER,...Sr.Line].some(ct=>{const lt=ct.indexOf("area")>-1?"area":ct;return a.hasType(ct,g,!0)&&o[`${lt}_zerobased`]});w=De(v)?v:De(m)?w<=m?w:m-10:w,X=De(m)?m:De(v)?v<=X?X:v+10:X,isNaN(w)&&(w=0),isNaN(X)&&(X=w),w===X&&(w<0?X=0:w=0);const Y=w>=0&&X>=0,Q=w<=0&&X<=0;(De(v)&&Y||De(m)&&Q)&&(W=!1),W&&(Y&&(w=0),Q&&(X=0));const K=Math.abs(X-w);let at={top:K*.1,bottom:K*.1};if(ke(S)){const ct=Math.max(Math.abs(w),Math.abs(X));X=S+ct,w=S-ct}if(N){const ct=Dr(s.y.range()),lt=a.getDataLabelLength(w,X,"width").map(Gt=>Gt/ct);["bottom","top"].forEach((Gt,vt)=>{at[Gt]+=K*(lt[vt]/(1-lt[0]-lt[1]))})}else if(L){const ct=a.getDataLabelLength(w,X,"height");["bottom","top"].forEach((lt,Gt)=>{at[lt]+=a.convertPixelToScale("y",ct[Gt],K)})}at=a.getResettedPadding(at);const ht=o[`${l}_padding`];cn(ht)&&["bottom","top"].forEach(ct=>{at[ct]=i.getPadding(ht,ct,at[ct],K)}),W&&(Y&&(at.bottom=w),Q&&(at.top=-X));const St=c?[w,X].map(ct=>ct<0?0:ct):[w-at.bottom,X+at.top];return P?St.reverse():St},getXDomainMinMax(t,e){var n;const a=this,i=a.config[`axis_x_${e}`],o=_n(e,t.map(l=>_n(e,l.values.map(c=>c.x))));let s=Be(i)?i.value:i;return s=ke(s)&&((n=a.axis)!=null&&n.isTimeSeries())?zn.bind(this)(s):s,Be(i)&&i.fit&&(e==="min"&&so)&&(s=void 0),ke(s)?s:o},getXDomainPadding(t,e){const n=this,{axis:a,config:i}=n,o=i.axis_x_padding,s=a.isTimeSeries()&&e,l=Dr(t);let c;if(a.isCategorized()||s)c=0;else if(n.hasType("bar")){const v=n.getMaxDataCount();c=v>1?l/(v-1)/2:.5}else c=n.getResettedPadding(l*.01);let{left:f=c,right:g=c}=he(o)?{left:o,right:o}:o;if(o.unit==="px"){const v=Math.abs(l+l*.2);f=a.getPadding(o,"left",c,v),g=a.getPadding(o,"right",c,v)}else{const v=l+f+g;if(s&&v){const m=l/e/v;f=f/v/m,g=g/v/m}}return{left:f,right:g}},getXDomain(t){const e=this,{axis:n,config:a,scale:{x:i}}=e,o=a.axis_x_inverted,s=[e.getXDomainMinMax(t,"min"),e.getXDomainMinMax(t,"max")];let[l=0,c=0]=s;if(i.type!=="log"){const f=n.isCategorized(),g=n.isTimeSeries(),v=e.getXDomainPadding(s);let[m,S]=s;m-S===0&&!f&&(g?(m=new Date(m.getTime()*.5),S=new Date(S.getTime()*1.5)):(m=m===0?1:m*.5,S=S===0?-1:S*1.5)),(m||m===0)&&(l=g?new Date(m.getTime()-v.left):m-v.left),(S||S===0)&&(c=g?new Date(S.getTime()+v.right):S+v.right)}return o?[c,l]:[l,c]},updateXDomain(t,e,n,a,i){var o;const s=this,{config:l,org:c,scale:{x:f,subX:g}}=s,v=l.zoom_enabled;if(n&&(f.domain(i||na(s.getXDomain(t),!l.axis_x_inverted)),c.xDomain=f.domain(),g.domain(f.domain()),(o=s.brush)==null||o.scale(g)),e){const m=i||!s.brush||Kl(s)?c.xDomain:Wl(s).map(g.invert);f.domain(m)}return(n||e)&&v&&s.zoom.updateScaleExtent(),a&&f.domain(s.trimXDomain(f.orgDomain())),f.domain()},trimXDomain(t){const e=this,n=e.config.axis_x_inverted,a=e.getZoomDomain(),[i,o]=a;return(n?t[0]>=i:t[0]<=i)&&(t[1]=+t[1]+(i-t[0]),t[0]=i),(n?t[1]<=o:t[1]>=o)&&(t[0]=+t[0]-(t[1]-o),t[1]=o),t},getZoomDomain(t="zoom",e=!1){const n=this,{config:a,scale:i,org:o}=n;let[s,l]=e&&i[t]?i[t].domain():o.xDomain;return t==="zoom"&&(ke(a.zoom_x_min)&&(s=_n("min",[s,a.zoom_x_min])),ke(a.zoom_x_max)&&(l=_n("max",[l,a.zoom_x_max]))),[s,l]},getZoomDomainValue(t){const e=this,{config:n,axis:a}=e;if(a.isCategorized()&&Array.isArray(t)){const i=n.axis_x_inverted;return t.map((s,l)=>Number(s)+(l===0?+i:+!i))}return t},convertPixelToScale(t,e,n){const a=this,{config:i,state:o}=a,s=i.axis_rotated;let l;return t==="x"?l=s?"height":"width":l=s?"width":"height",n*(e/o[l])},withinRange(t,e=[0,0],n){const i=this.config.axis_x_inverted,[o,s]=n;if(Array.isArray(t)){const l=[...t];if(i&&l.reverse(),l[0](f===0?i?+c<=o:+c>=o:i?+c>=s:+c<=s)&&!t.every((g,v)=>g===e[v]))}return!1}};function mc(t,e,n){const{config:a}=t,i=`axis_${e}_tick_format`;return(a[i]?a[i]:t.defaultValueFormat).call(t.api,n)}var Kv={yFormat(t){return mc(this,"y",t)},y2Format(t){return mc(this,"y2",t)},getDefaultValueFormat(){const t=this,{defaultArcValueFormat:e,yFormat:n,y2Format:a}=t,i=t.hasArcType(null,["gauge","polar","radar"]);return function(o,s,l){return(i?e:t.axis&&t.axis.getId(l)==="y2"?a:n).call(t,o,s)}},defaultValueFormat(t){return ze(t)?t.join("~"):De(t)?+t:""},defaultArcValueFormat(t,e){return`${(e*100).toFixed(1)}%`},defaultPolarValueFormat(t){return`${t}`},dataLabelFormat(t){const e=this,n=e.config.data_labels,a=o=>{const s="~";let l=o;return ze(o)?l=o.join(s):Be(o)&&(l=Object.values(o).join(s)),l};let i=a;return ve(n.format)?i=n.format:nr(n.format)&&(n.format[t]?i=n.format[t]===!0?a:n.format[t]:i=()=>""),i.bind(e.api)}};function Ri(t){const e=this,n=e.getDataById(t);return e.levelColor?e.levelColor(n.values[0].value):e.color(n)}function Wo(t,e=!0){var n;const{config:a}=this;let i=(n=a.data_names[t])!=null?n:t;return e&&ve(a.legend_format)&&(i=a.legend_format(i,t!==i?t:void 0)),i}var Zv={initLegend(){const t=this,{config:e,$el:n}=t;t.legendItemTextBox={},t.state.legendHasRendered=!1,e.legend_show?(e.legend_contents_bindto||(n.legend=t.$el.svg.append("g").classed(We.legend,!0).attr("transform",t.getTranslate("legend"))),t.updateLegend()):t.state.hiddenLegendIds=t.mapToIds(t.data.targets)},updateLegend(t,e,n){var a;const i=this,{config:o,state:s,scale:l,$el:c}=i,f=e||{withTransform:!1,withTransitionForTransform:!1,withTransition:!1};f.withTransition=$r(f,"withTransition",!0),f.withTransitionForTransform=$r(f,"withTransitionForTransform",!0),o.legend_contents_bindto&&o.legend_contents_template?i.updateLegendTemplate():s.hasTreemap||i.updateLegendElement(t||i.mapToIds(i.data.targets),f,n),(a=c.legend)==null||a.selectAll(`.${We.legendItem}`).classed(We.legendItemHidden,function(g){const v=!i.isTargetToShow(g);return v&&(this.style.opacity=null),v}),i.updateScales(!1,!l.zoom),i.updateSvgSize(),i.transformAll(f.withTransitionForTransform,n),s.legendHasRendered=!0},updateLegendTemplate(){const t=this,{config:e,$el:n}=t,a=ot(e.legend_contents_bindto),i=e.legend_contents_template;if(!a.empty()){const o=t.mapToIds(t.data.targets),s=[];let l="";o.forEach(f=>{const g=ve(i)?i.bind(t.api)(f,t.color(f),t.api.data(f)[0].values):Ei(i,{COLOR:t.color(f),TITLE:f});g&&(s.push(f),l+=g)});const c=a.html(l).selectAll(function(){return this.childNodes}).data(s);t.setLegendItem(c),n.legend=a}},updateSizeForLegend(t){const e=this,{config:n,state:{isLegendTop:a,isLegendLeft:i,isLegendRight:o,isLegendInset:s,current:l}}=e,{width:c,height:f}=t,g={top:a?e.getCurrentPaddingByDirection("top")+n.legend_inset_y+5.5:l.height-f-e.getCurrentPaddingByDirection("bottom")-n.legend_inset_y,left:i?e.getCurrentPaddingByDirection("left")+n.legend_inset_x+.5:l.width-c-e.getCurrentPaddingByDirection("right")-n.legend_inset_x+.5};e.state.margin3={top:o?0:s?g.top:l.height-f,right:NaN,bottom:0,left:o?l.width-c:s?g.left:0}},transformLegend(t){const e=this,{$el:{legend:n},$T:a}=e;a(n,t).attr("transform",e.getTranslate("legend"))},updateLegendStep(t){this.state.legendStep=t},updateLegendItemWidth(t){this.state.legendItemWidth=t},updateLegendItemHeight(t){this.state.legendItemHeight=t},updateLegendItemColor(t,e){const{legend:n}=this.$el;n&&n.select(`.${We.legendItem}-${t} line`).style("stroke",e)},getLegendWidth(){const t=this,{current:{width:e},isLegendRight:n,isLegendInset:a,legendItemWidth:i,legendStep:o}=t.state;return t.config.legend_show?n||a?i*(o+1):e:0},getLegendHeight(){var t;const e=this,{current:n,isLegendRight:a,legendItemHeight:i,legendStep:o}=e.state,s=((t=e.config.padding)==null?void 0:t.mode)==="fit";return e.config.legend_show?a?n.height:Math.max(s?10:20,i)*(o+1):0},opacityForUnfocusedLegend(t){return t.classed(We.legendItemHidden)?null:"0.3"},toggleFocusLegend(t,e){const n=this,{$el:{legend:a},$T:i}=n,o=n.mapToTargetIds(t);a&&i(a.selectAll(`.${We.legendItem}`).filter(s=>o.indexOf(s)>=0).classed(qe.legendItemFocused,e)).style("opacity",function(){return e?null:n.opacityForUnfocusedLegend.call(n,ot(this))})},revertLegend(){const t=this,{$el:{legend:e},$T:n}=t;e&&n(e.selectAll(`.${We.legendItem}`).classed(qe.legendItemFocused,!1)).style("opacity",null)},showLegend(t){const e=this,{config:n,$el:a,$T:i}=e;n.legend_show||(n.legend_show=!0,a.legend?a.legend.style("visibility",null):e.initLegend(),!e.state.legendHasRendered&&e.updateLegend()),e.removeHiddenLegendIds(t),i(a.legend.selectAll(e.selectorLegends(t)).style("visibility",null)).style("opacity",null)},hideLegend(t){const e=this,{config:n,$el:{legend:a}}=e;n.legend_show&&qn(t)&&(n.legend_show=!1,a.style("visibility","hidden")),e.addHiddenLegendIds(t),a.selectAll(e.selectorLegends(t)).style("opacity","0").style("visibility","hidden")},getLegendItemTextBox(t,e){const n=this,{cache:a,state:i}=n;let o;const s=Ln.legendItemTextBox;return t&&(o=!i.redrawing&&a.get(s)||{},o[t]||(o[t]=n.getTextRect(e,We.legendItem),a.add(s,o)),o=o[t]),o},setLegendItem(t){const e=this,{$el:n,api:a,config:i,state:o}=e,s=o.inputType==="touch",l=e.hasType("gauge"),c=i.boost_useCssRule,f=i.legend_item_interaction;t.attr("class",function(g){const v=ot(this);return(!v.empty()&&v.attr("class")||"")+e.generateClass(We.legendItem,g)}).style("visibility",g=>e.isLegendToShow(g)?null:"hidden"),i.interaction_enabled&&(c&&[[`.${We.legendItem}`,"cursor:pointer"],[`.${We.legendItem} text`,"pointer-events:none"],[`.${We.legendItemPoint} text`,"pointer-events:none"],[`.${We.legendItemTile}`,"pointer-events:none"],[`.${We.legendItemEvent}`,"fill-opacity:0"]].forEach(g=>{const[v,m]=g;e.setCssRule(!1,v,[m])(n.legend)}),t.on(f.dblclick?"dblclick":"click",f||ve(i.legend_item_onclick)?function(g,v){if(!_e(i.legend_item_onclick,a,v,!o.hiddenTargetIds.includes(v))){const{altKey:m,target:S,type:P}=g;P==="dblclick"||m?o.hiddenTargetIds.length&&S.parentNode.getAttribute("class").indexOf(We.legendItemHidden)===-1?a.show():(a.hide(),a.show(v)):(a.toggle(v),ot(this).classed(qe.legendItemFocused,!1))}s&&e.hideTooltip()}:null),!s&&t.on("mouseout",f||ve(i.legend_item_onout)?function(g,v){_e(i.legend_item_onout,a,v,!o.hiddenTargetIds.includes(v))||(ot(this).classed(qe.legendItemFocused,!1),l&&e.undoMarkOverlapped(e,`.${Un.gaugeValue}`),e.api.revert())}:null).on("mouseover",f||ve(i.legend_item_onover)?function(g,v){_e(i.legend_item_onover,a,v,!o.hiddenTargetIds.includes(v))||(ot(this).classed(qe.legendItemFocused,!0),l&&e.markOverlapped(v,e,`.${Un.gaugeValue}`),!o.transiting&&e.isTargetToShow(v)&&a.focus(v))}:null),!t.empty()&&t.on("click mouseout mouseover")&&t.style("cursor",e.getStylePropValue("pointer")))},updateLegendElement(t,e){const n=this,{config:a,state:i,$el:{legend:o},$T:s}=n,c=a.legend_item_tile_type!=="circle",f=a.legend_item_tile_r,g={width:c?a.legend_item_tile_width:f*2,height:c?a.legend_item_tile_height:f*2},v={padding:{top:4,right:10},max:{width:0,height:0},posMin:10,step:0,tileWidth:g.width+5,totalLength:0},m={offsets:{},widths:{},heights:{},margins:[0],steps:{}};let S,P,N;const L=t.filter(K=>!ke(a.data_names[K])||a.data_names[K]!==null),w=e.withTransition,X=n.getUpdateLegendPositions(L,v,m);i.isLegendInset&&(v.step=a.legend_inset_step?a.legend_inset_step:L.length,n.updateLegendStep(v.step)),i.isLegendRight?(S=K=>v.max.width*m.steps[K],P=K=>m.margins[m.steps[K]]+m.offsets[K]):i.isLegendInset?(S=K=>v.max.width*m.steps[K]+10,P=K=>m.margins[m.steps[K]]+m.offsets[K]):(S=K=>m.margins[m.steps[K]]+m.offsets[K],P=K=>v.max.height*m.steps[K]);const W={xText:(K,at)=>S(K,at)+4+g.width,xRect:(K,at)=>S(K,at),x1Tile:(K,at)=>S(K,at)-2,x2Tile:(K,at)=>S(K,at)-2+g.width,yText:(K,at)=>P(K,at)+9,yRect:(K,at)=>P(K,at)-5,yTile:(K,at)=>P(K,at)+4};n.generateLegendItem(L,g,X,W),N=o.select(`.${We.legendBackground} rect`),i.isLegendInset&&v.max.width>0&&N.size()===0&&(N=o.insert("g",`.${We.legendItem}`).attr("class",We.legendBackground).append("rect")),a.legend_tooltip&&o.selectAll("title").data(L).text(K=>Wo.bind(n)(K,!1));const Y=o.selectAll("text").data(L).text(K=>Wo.bind(n)(K)).each(function(K,at){X(this,K,at)});s(Y,w).attr("x",W.xText).attr("y",W.yText);const Q=o.selectAll(`rect.${We.legendItemEvent}`).data(L);s(Q,w).attr("width",K=>m.widths[K]).attr("height",K=>m.heights[K]).attr("x",W.xRect).attr("y",W.yRect),n.updateLegendItemPos(L,w,W),N&&s(N,w).attr("height",n.getLegendHeight()-12).attr("width",v.max.width*(v.step+1)+10),n.updateLegendItemWidth(v.max.width),n.updateLegendItemHeight(v.max.height),n.updateLegendStep(v.step)},getUpdateLegendPositions(t,e,n){const a=this,{config:i,state:o}=a,s=o.isLegendRight||o.isLegendInset;return function(l,c,f){const g=f===0,v=f===t.length-1,m=a.getLegendItemTextBox(c,l),S=m.width+e.tileWidth+(v&&!s?0:e.padding.right)+i.legend_padding,P=m.height+e.padding.top,N=s?P:S,L=s?a.getLegendHeight():a.getLegendWidth();let w;const X=function(Y,Q){Q||(w=(L-e.totalLength-N)/2,w=e.max.width)&&(e.max.width=S),(!e.max.height||P>=e.max.height)&&(e.max.height=P);const W=s?e.max.height:e.max.width;i.legend_equally?(Object.keys(n.widths).forEach(Y=>n.widths[Y]=e.max.width),Object.keys(n.heights).forEach(Y=>n.heights[Y]=e.max.height),w=(L-W*t.length)/2,wX(Y))):X(c,!0)):X(c)}},generateLegendItem(t,e,n,a){const i=this,{config:o,state:s,$el:{legend:l}}=i,c=o.legend_usePoint,f=o.legend_item_tile_r,g=o.legend_item_tile_type,v=g!=="circle",m=s.isLegendRight||s.isLegendInset,S=-200,P=l.selectAll(`.${We.legendItem}`).data(t).enter().append("g");if(i.setLegendItem(P),o.legend_tooltip&&P.append("title").text(N=>N),P.append("text").text(N=>Wo.bind(i)(N)).each(function(N,L){n(this,N,L)}).style("pointer-events",i.getStylePropValue("none")).attr("x",m?a.xText:S).attr("y",m?S:a.yText),P.append("rect").attr("class",We.legendItemEvent).style("fill-opacity",i.getStylePropValue("0")).attr("x",m?a.xRect:S).attr("y",m?S:a.yRect),c){const N=[];P.append(L=>{const w=cn(o.point_pattern)?o.point_pattern:[o.point_type];N.indexOf(L)===-1&&N.push(L);let X=w[N.indexOf(L)%w.length];return X==="rectangle"&&(X="rect"),vn.createElementNS(ae.svg,"hasValidPointType"in i&&i.hasValidPointType(X)?X:"use")}).attr("class",We.legendItemPoint).style("fill",Ri.bind(i)).style("pointer-events",i.getStylePropValue("none")).attr("href",(L,w,X)=>{const Y=X[w].nodeName.toLowerCase(),Q=i.getTargetSelectorSuffix(L);return Y==="use"?`#${s.datetimeId}-point${Q}`:void 0})}else P.append(v?"line":g).attr("class",We.legendItemTile).style("stroke",Ri.bind(i)).style("pointer-events",i.getStylePropValue("none")).call(N=>{g==="circle"?N.attr("r",f).style("fill",Ri.bind(i)).attr("cx",m?a.x2Tile:S).attr("cy",m?S:a.yTile):v&&N.attr("stroke-width",e.height).attr("x1",m?a.x1Tile:S).attr("y1",m?S:a.yTile).attr("x2",m?a.x2Tile:S).attr("y2",m?S:a.yTile)})},updateLegendItemPos(t,e,n){const a=this,{config:i,$el:{legend:o},$T:s}=a,l=i.legend_usePoint,c=i.legend_item_tile_type,f=c!=="circle";if(l){const g=o.selectAll(`.${We.legendItemPoint}`).data(t);s(g,e).each(function(){const v=this.nodeName.toLowerCase(),m=i.point_r;let S="x",P="y",N=2,L=2.5,w=null,X=null,W=null;if(v==="circle"){const Y=m*.2;S="cx",P="cy",w=m+Y,N=m*2,L=-Y}else if(v==="rect"){const Y=m*2.5;X=Y,W=Y,L=3}ot(this).attr(S,Y=>n.x1Tile(Y)+N).attr(P,Y=>n.yTile(Y)-L).attr("r",w).attr("width",X).attr("height",W)})}else{const g=o.selectAll(`.${We.legendItemTile}`).data(t);s(g,e).style("stroke",Ri.bind(a)).call(v=>{c==="circle"?v.attr("cx",m=>{const S=n.x2Tile(m);return S-(S-n.x1Tile(m))/2}).attr("cy",n.yTile):f&&v.attr("x1",n.x1Tile).attr("y1",n.yTile).attr("x2",n.x2Tile).attr("y2",n.yTile)})}}},Jv={redraw(t={}){var e,n,a,i;const o=this,{config:s,state:l,$el:c}=o,{main:f,treemap:g}=c;l.redrawing=!0;const v=o.filterTargetsToShow(o.data.targets),{flow:m,initializing:S}=t,P=o.getWithOption(t),N=P.Transition?s.transition_duration:0,L=P.TransitionForExit?N:0,w=P.TransitionForAxis?N:0,X=(e=o.axis)==null?void 0:e.generateTransitions(w);o.updateSizes(S),P.Legend&&s.legend_show?(t.withTransition=!!N,!g&&o.updateLegend(o.mapToIds(o.data.targets),t,X)):P.Dimension&&o.updateDimension(!0),s.data_empty_label_text&&f.select(`text.${On.text}.${Se.empty}`).attr("x",l.width/2).attr("y",l.height/2).text(s.data_empty_label_text).style("display",v.length?"none":null),l.hasAxis?(o.axis.redrawAxis(v,P,X,m,S),o.hasGrid()&&o.updateGrid(),s.regions.length&&o.updateRegion(),["bar","candlestick","line","area"].forEach(W=>{const Y=Dn(W);(/^(line|area)$/.test(W)&&o.hasTypeOf(Y)||o.hasType(W))&&o[`update${Y}`](P.TransitionForExit)}),c.text&&f.selectAll(`.${tn.selectedCircles}`).filter(o.isBarType.bind(o)).selectAll("circle").remove(),s.interaction_enabled&&!m&&P.EventRect&&(o.redrawEventRect(),(n=o.bindZoomEvent)==null||n.call(o))):(c.arcs&&o.redrawArc(N,L,P.Transform),c.radar&&o.redrawRadar(),c.polar&&o.redrawPolar(),c.funnel&&o.redrawFunnel(),g&&o.updateTreemap(L)),!l.resizing&&!g&&(o.hasPointType()||l.hasRadar)?o.updateCircle():(a=o.hasLegendDefsPoint)!=null&&a.call(o)&&o.data.targets.forEach(o.point("create",this)),o.hasDataLabel()&&!o.hasArcType(null,["radar"])&&o.updateText(),(i=o.redrawTitle)==null||i.call(o),S&&o.updateTypesElements(),o.generateRedrawList(v,m,N,P.Subchart),o.updateTooltipOnRedraw(),o.callPluginHook("$redraw",t,N)},generateRedrawList(t,e,n,a){const i=this,{config:o,state:s}=i,l=i.getDrawShape();s.hasAxis&&o.subchart_show&&i.redrawSubchart(a,n,l);const c=e&&i.generateFlow({targets:t,flow:e,duration:e.duration,shape:l,xv:i.xv.bind(i)}),f=(n||c)&&Ma(),g=i.getRedrawList(l,e,c,f),v=()=>{c&&c(),s.redrawing=!1,_e(o.onrendered,i.api)};if(v)if(f&&g.length){const m=ec();Ml().duration(n).each(()=>{g.reduce((S,P)=>S.concat(P),[]).forEach(S=>m.add(S))}).call(m,v)}else s.transiting||v();i.mapToIds(i.data.targets).forEach(m=>{s.withoutFadeIn[m]=!0})},getRedrawList(t,e,n,a){const i=this,{config:o,state:{hasAxis:s,hasRadar:l,hasTreemap:c},$el:{grid:f}}=i,{cx:g,cy:v,xForText:m,yForText:S}=t.pos,P=[];return s&&((o.grid_x_lines.length||o.grid_y_lines.length)&&P.push(i.redrawGrid(a)),o.regions.length&&P.push(i.redrawRegion(a)),Object.keys(t.type).forEach(N=>{const L=Dn(N),w=t.type[N];(/^(area|line)$/.test(N)&&i.hasTypeOf(L)||i.hasType(N))&&P.push(i[`redraw${L}`](w,a))}),!e&&f.main&&P.push(i.updateGridFocus())),(!i.hasArcType()||l)&&cn(o.data_labels)&&o.data_labels!==!1&&P.push(i.redrawText(m,S,e,a)),(i.hasPointType()||l)&&!i.isPointFocusOnly()&&i.redrawCircle&&P.push(i.redrawCircle(g,v,a,n)),c&&P.push(i.redrawTreemap(a)),P},updateAndRedraw(t={}){const e=this,{config:n,state:a}=e;let i;t.withTransition=$r(t,"withTransition",!0),t.withTransform=$r(t,"withTransform",!1),t.withLegend=$r(t,"withLegend",!1),t.withUpdateXDomain=!0,t.withUpdateOrgXDomain=!0,t.withTransitionForExit=!1,t.withTransitionForTransform=$r(t,"withTransitionForTransform",t.withTransition),t.withLegend&&n.legend_show||(a.hasAxis&&(i=e.axis.generateTransitions(t.withTransitionForAxis?n.transition_duration:0)),e.updateScales(),e.updateSvgSize(),e.transformAll(t.withTransitionForTransform,i)),e.redraw(t,i)}};const kv=Math.sqrt(50),Qv=Math.sqrt(10),qv=Math.sqrt(2);function Ii(t,e,n){const a=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(a)),o=a/Math.pow(10,i),s=o>=kv?10:o>=Qv?5:o>=qv?2:1;let l,c,f;return i<0?(f=Math.pow(10,-i)/s,l=Math.round(t*f),c=Math.round(e*f),l/fe&&--c,f=-f):(f=Math.pow(10,i)*s,l=Math.round(t/f),c=Math.round(e/f),l*fe&&--c),c0))return[];if(t===e)return[t];const a=e=i))return[];const l=o-i+1,c=new Array(l);if(a)if(s<0)for(let f=0;fe?1:t>=e?0:NaN}function _v(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function ko(t){let e,n,a;t.length!==2?(e=Oi,n=(l,c)=>Oi(t(l),c),a=(l,c)=>t(l)-c):(e=t===Oi||t===_v?t:tp,n=t,a=t);function i(l,c,f=0,g=l.length){if(f>>1;n(l[v],c)<0?f=v+1:g=v}while(f>>1;n(l[v],c)<=0?f=v+1:g=v}while(ff&&a(l[v-1],c)>-a(l[v],c)?v-1:v}return{left:i,center:s,right:o}}function tp(){return 0}function ep(t){return t===null?NaN:+t}function*h1(t,e){if(e===void 0)for(let n of t)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let a of t)(a=e(a,++n,t))!=null&&(a=+a)>=a&&(yield a)}}const yc=ko(Oi),np=yc.right,g1=yc.left,v1=ko(ep).center;var rp=np;function ap(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}function ip(t){return function(){return t}}function op(t){return+t}var xc=[0,1];function aa(t){return t}function Qo(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:ip(isNaN(e)?NaN:.5)}function sp(t,e){var n;return t>e&&(n=t,t=e,e=n),function(a){return Math.max(t,Math.min(e,a))}}function lp(t,e,n){var a=t[0],i=t[1],o=e[0],s=e[1];return i2?cp:lp,c=f=null,v}function v(m){return m==null||isNaN(m=+m)?o:(c||(c=l(t.map(a),e,n)))(a(s(m)))}return v.invert=function(m){return s(i((f||(f=l(e,t.map(a),kn)))(m)))},v.domain=function(m){return arguments.length?(t=Array.from(m,op),g()):t.slice()},v.range=function(m){return arguments.length?(e=Array.from(m),g()):e.slice()},v.rangeRound=function(m){return e=Array.from(m),n=ap,g()},v.clamp=function(m){return arguments.length?(s=m?!0:aa,g()):s!==aa},v.interpolate=function(m){return arguments.length?(n=m,g()):n},v.unknown=function(m){return arguments.length?(o=m,v):o},function(m,S){return a=m,i=S,g()}}function Tc(){return qo()(aa,aa)}var up=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function La(t){if(!(e=up.exec(t)))throw new Error("invalid format: "+t);var e;return new _o({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}La.prototype=_o.prototype;function _o(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}_o.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function fp(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Pi(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,a=t.slice(0,n);return[a.length>1?a[0]+a.slice(2):a,+t.slice(n+1)]}function ia(t){return t=Pi(Math.abs(t)),t?t[1]:NaN}function dp(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(ia(e)/3)))*3-ia(Math.abs(t)))}function hp(t,e){return function(n,a){for(var i=n.length,o=[],s=0,l=t[0],c=0;i>0&&l>0&&(c+l+1>a&&(l=Math.max(1,a-c)),o.push(n.substring(i-=l,i+l)),!((c+=l+1)>a));)l=t[s=(s+1)%t.length];return o.reverse().join(e)}}function gp(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}function vp(t){t:for(var e=t.length,n=1,a=-1,i;n0&&(a=0);break}return a>0?t.slice(0,a)+t.slice(i+1):t}var $c;function pp(t,e){var n=Pi(t,e);if(!n)return t+"";var a=n[0],i=n[1],o=i-($c=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=a.length;return o===s?a:o>s?a+new Array(o-s+1).join("0"):o>0?a.slice(0,o)+"."+a.slice(o):"0."+new Array(1-o).join("0")+Pi(t,Math.max(0,e+o-1))[0]}function Sc(t,e){var n=Pi(t,e);if(!n)return t+"";var a=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+a:a.length>i+1?a.slice(0,i+1)+"."+a.slice(i+1):a+new Array(i-a.length+2).join("0")}var Ac={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:fp,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Sc(t*100,e),r:Sc,s:pp,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Ec(t){return t}var bc=Array.prototype.map,Rc=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function mp(t){var e=t.grouping===void 0||t.thousands===void 0?Ec:hp(bc.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",a=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",o=t.numerals===void 0?Ec:gp(bc.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"\u2212":t.minus+"",c=t.nan===void 0?"NaN":t.nan+"";function f(v){v=La(v);var m=v.fill,S=v.align,P=v.sign,N=v.symbol,L=v.zero,w=v.width,X=v.comma,W=v.precision,Y=v.trim,Q=v.type;Q==="n"?(X=!0,Q="g"):Ac[Q]||(W===void 0&&(W=12),Y=!0,Q="g"),(L||m==="0"&&S==="=")&&(L=!0,m="0",S="=");var K=N==="$"?n:N==="#"&&/[boxX]/.test(Q)?"0"+Q.toLowerCase():"",at=N==="$"?a:/[%p]/.test(Q)?s:"",ht=Ac[Q],St=/[defgprs%]/.test(Q);W=W===void 0?6:/[gprs]/.test(Q)?Math.max(1,Math.min(21,W)):Math.max(0,Math.min(20,W));function ct(lt){var Gt=K,vt=at,Z,$t,ut;if(Q==="c")vt=ht(lt)+vt,lt="";else{lt=+lt;var At=lt<0||1/lt<0;if(lt=isNaN(lt)?c:ht(Math.abs(lt),W),Y&&(lt=vp(lt)),At&&+lt==0&&P!=="+"&&(At=!1),Gt=(At?P==="("?P:l:P==="-"||P==="("?"":P)+Gt,vt=(Q==="s"?Rc[8+$c/3]:"")+vt+(At&&P==="("?")":""),St){for(Z=-1,$t=lt.length;++Z<$t;)if(ut=lt.charCodeAt(Z),48>ut||ut>57){vt=(ut===46?i+lt.slice(Z+1):lt.slice(Z))+vt,lt=lt.slice(0,Z);break}}}X&&!L&&(lt=e(lt,1/0));var Vt=Gt.length+lt.length+vt.length,Bt=Vt>1)+Gt+lt+vt+Bt.slice(Vt);break;default:lt=Bt+Gt+lt+vt;break}return o(lt)}return ct.toString=function(){return v+""},ct}function g(v,m){var S=f((v=La(v),v.type="f",v)),P=Math.max(-8,Math.min(8,Math.floor(ia(m)/3)))*3,N=Math.pow(10,-P),L=Rc[8+P/3];return function(w){return S(N*w)+L}}return{format:f,formatPrefix:g}}var wi,ts,Ic;yp({thousands:",",grouping:[3],currency:["$",""]});function yp(t){return wi=mp(t),ts=wi.format,Ic=wi.formatPrefix,wi}function xp(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,ia(e)-ia(t))+1}function Tp(t){return Math.max(0,-ia(Math.abs(t)))}function $p(t,e,n,a){var i=Jo(t,e,n),o;switch(a=La(a==null?",f":a),a.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return a.precision==null&&!isNaN(o=dp(i,s))&&(a.precision=o),Ic(a,s)}case"":case"e":case"g":case"p":case"r":{a.precision==null&&!isNaN(o=xp(i,Math.max(Math.abs(t),Math.abs(e))))&&(a.precision=o-(a.type==="e"));break}case"f":case"%":{a.precision==null&&!isNaN(o=Tp(i))&&(a.precision=o-(a.type==="%")*2);break}}return ts(a)}function Oc(t){var e=t.domain;return t.ticks=function(n){var a=e();return Ko(a[0],a[a.length-1],n==null?10:n)},t.tickFormat=function(n,a){var i=e();return $p(i[0],i[i.length-1],n==null?10:n,a)},t.nice=function(n){n==null&&(n=10);var a=e(),i=0,o=a.length-1,s=a[i],l=a[o],c,f,g=10;for(l0;){if(f=Zo(s,l,n),f===c)return a[i]=s,a[o]=l,e(a);if(f>0)s=Math.floor(s/f)*f,l=Math.ceil(l/f)*f;else if(f<0)s=Math.ceil(s*f)/f,l=Math.floor(l*f)/f;else break;c=f}return t},t}function Mi(){var t=Tc();return t.copy=function(){return Ci(t,Mi())},ra.apply(t,arguments),Oc(t)}function Cc(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function Pc(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function Sp(t){var e=1,n=t(Cc(e),Pc(e));return n.constant=function(a){return arguments.length?t(Cc(e=+a),Pc(e)):e},Oc(n)}function wc(){var t=Sp(qo());return t.copy=function(){return Ci(t,wc()).constant(t.constant())},ra.apply(t,arguments)}function Mc(t,e){t=t.slice();var n=0,a=t.length-1,i=t[n],o=t[a],s;return oMath.pow(t,e)}function Ip(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function Nc(t){return(e,n)=>-t(-e,n)}function Op(t){const e=t(Dc,Lc),n=e.domain;let a=10,i,o;function s(){return i=Ip(a),o=Rp(a),n()[0]<0?(i=Nc(i),o=Nc(o),t(Ap,Ep)):t(Dc,Lc),e}return e.base=function(l){return arguments.length?(a=+l,s()):a},e.domain=function(l){return arguments.length?(n(l),s()):n()},e.ticks=l=>{const c=n();let f=c[0],g=c[c.length-1];const v=g0){for(;m<=S;++m)for(P=1;Pg)break;w.push(N)}}else for(;m<=S;++m)for(P=a-1;P>=1;--P)if(N=m>0?P/o(-m):P*o(m),!(Ng)break;w.push(N)}w.length*2{if(l==null&&(l=10),c==null&&(c=a===10?"s":","),typeof c!="function"&&(!(a%1)&&(c=La(c)).precision==null&&(c.trim=!0),c=ts(c)),l===1/0)return c;const f=Math.max(1,a*l/e.ticks().length);return g=>{let v=g/o(Math.round(i(g)));return v*an(Mc(n(),{floor:l=>o(Math.floor(i(l))),ceil:l=>o(Math.ceil(i(l)))})),e}function Fc(){const t=Op(qo()).domain([1,10]);return t.copy=()=>Ci(t,Fc()).base(t.base()),ra.apply(t,arguments),t}const Di=en(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Di.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?en(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Di);const p1=Di.range,Ur=en(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*Xn)},(t,e)=>(e-t)/Xn,t=>t.getUTCSeconds()),m1=Ur.range,es=en(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Xn)},(t,e)=>{t.setTime(+t+e*In)},(t,e)=>(e-t)/In,t=>t.getMinutes()),y1=es.range,ns=en(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*In)},(t,e)=>(e-t)/In,t=>t.getUTCMinutes()),x1=ns.range,rs=en(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Xn-t.getMinutes()*In)},(t,e)=>{t.setTime(+t+e*Bn)},(t,e)=>(e-t)/Bn,t=>t.getHours()),T1=rs.range,as=en(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*Bn)},(t,e)=>(e-t)/Bn,t=>t.getUTCHours()),$1=as.range,is=en(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),S1=is.range,os=en(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),A1=os.range;function Bc(t,e,n,a,i,o){const s=[[Ur,1,Xn],[Ur,5,5*Xn],[Ur,15,15*Xn],[Ur,30,30*Xn],[o,1,In],[o,5,5*In],[o,15,15*In],[o,30,30*In],[i,1,Bn],[i,3,3*Bn],[i,6,6*Bn],[i,12,12*Bn],[a,1,or],[a,2,2*or],[n,1,_i],[e,1,Ps],[e,3,3*Ps],[t,1,to]];function l(f,g,v){const m=gL).right(s,m);if(S===s.length)return t.every(Jo(f/to,g/to,v));if(S===0)return Di.every(Math.max(Jo(f,g,v),1));const[P,N]=s[m/s[S-1][2]n.axis.x.tickOffset()),i=n.config.axis_x_inverted,o=function(s){return t(s)+a()};for(const s in t)o[s]=t[s];return o.orgDomain=()=>t.domain(),o.orgScale=()=>t,n.axis.isCategorized()&&(o.domain=function(s){let l=s;return arguments.length?(t.domain(l),o):(l=this.orgDomain(),i?[l[0]+1,l[1]]:[l[0],l[1]+1])}),o},updateScales(t,e=!0){var n,a;const i=this,{axis:o,config:s,format:l,org:c,scale:f,state:{current:g,width:v,height:m,width2:S,height2:P,hasAxis:N,hasTreemap:L}}=i;if(N){const w=s.axis_rotated,X=i.getResettedPadding(1),W={x:w?X:0,y:w?0:m,subX:w?1:0,subY:w?0:P},Y={x:w?m:v,y:w?v:X,subX:w?m:v,subY:w?S:1},Q=e&&((n=f.x)==null?void 0:n.orgDomain()),K=e&&c.xDomain;f.x=i.getXScale(W.x,Y.x,Q,()=>o.x.tickOffset()),f.subX=i.getXScale(W.x,Y.x,K,at=>{var ht;return at%1?0:((ht=o.subX)!=null?ht:o.x).tickOffset()}),l.xAxisTick=o.getXAxisTickFormat(),l.subXAxisTick=o.getXAxisTickFormat(!0),o.setAxis("x",f.x,s.axis_x_tick_outer,t),s.subchart_show&&o.setAxis("subX",f.subX,s.axis_x_tick_outer,t),f.y=i.getYScale("y",W.y,Y.y,f.y?f.y.domain():s.axis_y_default),f.subY=i.getYScale("y",W.subY,Y.subY,f.subY?f.subY.domain():s.axis_y_default),o.setAxis("y",f.y,s.axis_y_tick_outer,t),s.axis_y2_show&&(f.y2=i.getYScale("y2",W.y,Y.y,f.y2?f.y2.domain():s.axis_y2_default),f.subY2=i.getYScale("y2",W.subY,Y.subY,f.subY2?f.subY2.domain():s.axis_y2_default),o.setAxis("y2",f.y2,s.axis_y2_tick_outer,t))}else if(L){const w=i.getCurrentPadding();f.x=Mi().rangeRound([w.left,g.width-w.right]),f.y=Mi().rangeRound([w.top,g.height-w.bottom])}else(a=i.updateArc)==null||a.call(i)},xx(t){const e=this,{config:n,scale:{x:a,zoom:i}}=e,o=n.zoom_enabled&&i?i:a;return t?o(De(t.x)?t.x:t):null},xv(t){const e=this,{axis:n,config:a,scale:{x:i,zoom:o}}=e,s=a.zoom_enabled&&o?o:i;let l=e.getBaseValue(t);return n.isTimeSeries()?l=zn.call(e,l):n.isCategorized()&&Xe(l)&&(l=a.axis_x_categories.indexOf(l)),s(l)},yv(t){const e=this,{scale:{y:n,y2:a}}=e;return(t.axis&&t.axis==="y2"?a:n)(e.getBaseValue(t))},subxx(t){return t?this.scale.subX(t.x):null}},Up={setContainerSize(){const t=this,{state:e}=t;e.current.width=t.getCurrentWidth(),e.current.height=t.getCurrentHeight()},getCurrentWidth(){const t=this;return t.config.size_width||t.getParentWidth()},getCurrentHeight(){const t=this,{config:e}=t,n=e.size_height||t.getParentHeight();return n>0?n:320/(t.hasType("gauge")&&!e.gauge_fullCircle?2:1)},getParentRectValue(t){const e=`offset${Dn(t)}`;let n=this.$el.chart.node(),a=0;for(;a<30&&n&&n.tagName!=="BODY";){try{a=n.getBoundingClientRect()[t]}catch(o){e in n&&(a=n[e])}n=n.parentNode}const i=vn.body[e];return a>i&&(a=i),a},getParentWidth(){return this.getParentRectValue("width")},getParentHeight(){const t=this.$el.chart.style("height");let e=0;return t&&(e=/px$/.test(t)?parseInt(t,10):this.getParentRectValue("height")),e},getSvgLeft(t){const e=this,{config:n,state:{hasAxis:a},$el:i}=e,o=n.axis_rotated,s=o||!o&&!n.axis_y_inner,l=o?dn.axisX:dn.axisY,c=i.main.select(`.${l}`).node(),f=a&&n[`axis_${o?"x":"y"}_label`];let g=0;if(a&&(Xe(f)||Xe(f.text)||/^inner-/.test(f==null?void 0:f.position))){const N=i.main.select(`.${l}-label`);N.empty()||(g=N.node().getBoundingClientRect().left)}const v=c&&s?c.getBoundingClientRect():{right:0},m=i.chart.node().getBoundingClientRect().left+g,S=e.hasArcType(),P=v.right-m-(S?0:e.getCurrentPaddingByDirection("left",t));return P>0?P:0},updateDimension(t){var e;const n=this,{config:a,state:{hasAxis:i},$el:o}=n;i&&!t&&n.axis.x&&a.axis_rotated&&((e=n.axis.subX)==null||e.create(o.axis.subX)),n.updateScales(t),n.updateSvgSize(),n.transformAll(!1)},updateSvgSize(){const t=this,{config:e,state:{clip:n,current:a,hasAxis:i,width:o,height:s},$el:{svg:l}}=t;if(e.resize_auto==="viewBox"?l.attr("viewBox",`0 0 ${a.width} ${a.height}`):l.attr("width",a.width).attr("height",a.height),i){const c=l.select(`.${Qs.brush} .overlay`),f={width:0,height:0};c.size()&&(f.width=+c.attr("width"),f.height=+c.attr("height")),l.selectAll([`#${n.id}`,`#${n.idGrid}`]).select("rect").attr("width",o).attr("height",s),l.select(`#${n.idXAxis}`).select("rect").call(t.setXAxisClipPath.bind(t)),l.select(`#${n.idYAxis}`).select("rect").call(t.setYAxisClipPath.bind(t)),n.idSubchart&&l.select(`#${n.idSubchart}`).select("rect").attr("width",o).attr("height",f.height)}},getCurrentPaddingByDirection(t,e=!1,n=!1){var a;const i=this,{config:o,$el:s,state:{hasAxis:l}}=i,c=o.axis_rotated,f=((a=o.padding)==null?void 0:a.mode)==="fit",g=he(o[`padding_${t}`])?o[`padding_${t}`]:void 0,v=l?{top:c?"y2":null,bottom:c?"y":"x",left:c?"x":"y",right:c?null:"y2"}[t]:null,m=/^(left|right)$/.test(t),S=v&&o[`axis_${v}_inner`],P=v&&o[`axis_${v}_show`],N=v?o[`axis_${v}_axes`].length:0;let L=v?m?i.getAxisWidthByAxisId(v,e):i.getHorizontalAxisHeight(v):0;const w=20;let X=0;!f&&m&&(L=Jg(L));let W=l&&m&&(S||ln(g)&&!P)?0:f?(P?L:0)+(g!=null?g:0):ln(g)?L:g;return m&&l?(v&&(f||S)&&o[`axis_${v}_label`].text&&(W+=i.axis.getAxisLabelPosition(v).isOuter?w:0),t==="right"?(W+=c?!f&&ln(g)?10:2:!P||S?f?2:1:0,W+=n?i.axis.getXAxisTickTextY2Overflow(w):0):t==="left"&&c&&ln(g)&&(W=o.axis_x_show?f?L:Math.max(L,40):1)):t==="top"?(s.title&&s.title.node()&&(W+=i.getTitlePadding()),X=c&&!S?N:0):t==="bottom"&&l&&c&&!P&&(W+=1),W+L*N-X},getCurrentPadding(t=!1){const e=this,[n,a,i,o]=["top","bottom","left","right"].map(s=>e.getCurrentPaddingByDirection(s,null,t));return{top:n,bottom:a,left:i,right:o}},getResettedPadding(t){const e=this,{config:n}=e,a=he(t);let i=a?0:{};return n.padding===!1?!a&&Object.keys(t).forEach(o=>{i[o]=!qn(n.data_labels)&&n.data_labels!==!1&&o==="top"?t[o]:0}):i=t,i},updateSizes(t){var e,n,a,i,o;const s=this,{config:l,state:c,$el:{legend:f}}=s,g=l.axis_rotated,v=s.hasArcType()||c.hasFunnel||c.hasTreemap,m=((e=l.padding)==null?void 0:e.mode)==="fit";!t&&s.setContainerSize();const S={width:f?s.getLegendWidth():0,height:f?s.getLegendHeight():0};!v&&l.axis_x_show&&l.axis_x_tick_autorotate&&s.updateXAxisTickClip();const P={right:l.legend_show&&c.isLegendRight?s.getLegendWidth()+(m?0:20):0,bottom:!l.legend_show||c.isLegendRight||c.isLegendInset?0:S.height},N=g||v?0:s.getHorizontalAxisHeight("x"),L=l.subchart_axis_x_show&&l.subchart_axis_x_tick_text_show?N:30,w=l.subchart_show&&!v?l.subchart_size_height+L:0,X=s.hasType("gauge")&&l.arc_needle_show&&!l.gauge_fullCircle&&!l.gauge_label_show?10:0,W=s.getCurrentPadding(!0);if(c.margin=!v&&g?{top:W.top,right:v?0:W.right+P.right,bottom:P.bottom+W.bottom,left:w+(v?0:W.left)}:{top:(m?0:4)+W.top,right:v?0:W.right+P.right,bottom:X+w+P.bottom+W.bottom,left:v?0:W.left},c.margin=s.getResettedPadding(c.margin),c.margin2=g?{top:c.margin.top,right:NaN,bottom:20+P.bottom,left:s.state.rotatedPadding.left}:{top:c.current.height-w-P.bottom,right:NaN,bottom:L+P.bottom,left:c.margin.left},c.margin3={top:0,right:NaN,bottom:0,left:0},(n=s.updateSizeForLegend)==null||n.call(s,S),c.width=c.current.width-c.margin.left-c.margin.right,c.height=c.current.height-c.margin.top-c.margin.bottom,c.width<0&&(c.width=0),c.height<0&&(c.height=0),c.width2=g?c.margin.left-c.rotatedPadding.left-c.rotatedPadding.right:c.width,c.height2=g?c.height:c.current.height-c.margin2.top-c.margin2.bottom,c.width2<0&&(c.width2=0),c.height2<0&&(c.height2=0),s.hasArcType()){const Y=s.hasType("gauge"),Q=l.legend_show&&c.isLegendRight,K=(a=c.hasRadar&&s.cache.get(Ln.radarTextWidth))!=null?a:0;c.arcWidth=c.width-(Q?S.width+10:0)-K,c.arcHeight=c.height-(Q&&!Y?0:10),(i=l.arc_rangeText_values)!=null&&i.length&&(Y?(c.arcWidth-=25,c.arcHeight-=10,c.margin.left+=10):(c.arcHeight-=20,c.margin.top+=10)),Y&&!l.gauge_fullCircle&&(c.arcHeight+=c.height-s.getPaddingBottomForGauge()),(o=s.updateRadius)==null||o.call(s)}c.isLegendRight&&v&&(c.margin3.left=c.arcWidth/2+c.radiusExpanded*1.1)}},zp={setCssRule(t,e,n,a){const i=this,{config:o,state:{cssRule:s,style:l}}=i;return o.boost_useCssRule?c=>{c.each(f=>{const g=a&&(a==null?void 0:a.call(i,f)),v=`${t?`.${sn.shapes+i.getTargetSelectorSuffix(f.id)}`:""}${e}`;e in s&&l.sheet.deleteRule(s[v]),i.state.cssRule[v]=_g(l,v,n.filter(Boolean).map(m=>Xe(g)&&m.indexOf(":")===-1?`${m}: ${g}`:m||""))})}:()=>{}},getStylePropValue(t){const{config:{boost_useCssRule:e}}=this;return e?null:ve(t)?t.bind(this):t}};function Uc(t){return typeof t=="string"?new Ie([document.querySelectorAll(t)],[document.documentElement]):new Ie([T(t)],_t)}function jp(t){let e="middle";return t>0&&t<=170?e="end":t>190&&t<=360&&(e="start"),e}function Gp(t,e,n,a,i){var o;const s=this,{value:l}=t,c=s.isCandlestickType(t),f=he(l)&&l<0||c&&!((o=s.getCandlestickData(t))!=null&&o._isUp);let{x:g,y:v}=e;const m=4,S=m*2;return a?n==="start"?(g+=f?0:S,v+=m):n==="middle"?(g+=S,v-=S):n==="end"&&(f&&(g-=S),v+=m):(n==="start"?(g+=m,f&&(v+=S*2)):n==="middle"?v-=S:n==="end"&&(g-=m,f&&(v+=S*2)),i&&(v+=f?-17:c?13:7)),{x:g,y:v}}function zc(t,e){var n;const a=this.config.data_labels_position,{id:i,index:o,value:s}=t;return(n=ve(a)?a.bind(this.api)(e,s,i,o,this.$el.text):(i in a?a[i]:a)[e])!=null?n:0}var Vp={opacityForText(t){const e=this;return e.isBarType(t)&&!e.meetsLabelThreshold(Math.abs(e.getRatio("bar",t)),"bar")?"0":e.hasDataLabel?null:"0"},initText(){const{$el:t}=this;t.main.select(`.${Se.chart}`).append("g").attr("class",On.chartTexts).style("pointer-events",t.funnel||t.treemap?"none":null)},updateTargetsForText(t){const e=this,n=e.getChartClass("Text"),a=e.getClass("texts","id"),i=e.classFocus.bind(e);e.$el.main.select(`.${On.chartTexts}`).selectAll(`.${On.chartText}`).data(t).attr("class",l=>`${n(l)}${i(l)}`.trim()).enter().append("g").style("opacity","0").attr("class",n).call(e.setCssRule(!0,` .${On.text}`,["fill","pointer-events:none"],e.updateTextColor)).append("g").attr("class",a)},updateText(){const t=this,{$el:e,$T:n,config:a,axis:i}=t,o=t.getClass("text","index"),s=a.data_labels.centered,l=e.main.selectAll(`.${On.texts}`).selectAll(`.${On.text}`).data(t.labelishData.bind(t));n(l.exit()).style("fill-opacity","0").remove(),e.text=l.enter().append("text").merge(l).attr("class",o).attr("text-anchor",c=>{let g=a[`axis_${i==null?void 0:i.getId(c.id)}_inverted`]?c.value>0:c.value<0;if(t.isCandlestickType(c)){const v=t.getCandlestickData(c);g=!(v!=null&&v._isUp)}else if(t.isTreemapType(c))return s?"middle":"start";return a.axis_rotated?g?"end":"start":"middle"}).style("fill",t.getStylePropValue(t.updateTextColor)).style("fill-opacity","0").each(function(c,f,g){const v=ot(this);let{value:m}=c;if(t.isBubbleZType(c))m=t.getBubbleZData(m,"z");else if(t.isCandlestickType(c)){const S=t.getCandlestickData(c);S&&(m=S.close)}m=t.isTreemapType(c)?t.treemapDataLabelFormat(c)(v):t.dataLabelFormat(c.id)(m,c.id,c.index,g),he(m)?this.textContent=m:wa(v,m)})},updateTextColor(t){const e=this,{config:n}=e,a=n.data_labels_colors,i=e.isArcType(t)&&!e.isRadarType(t)||e.isFunnelType(t)||e.isTreemapType(t)?null:e.color(t);let o;if(Xe(a))o=a;else if(Be(a)){const{id:s}=t.data||t;o=a[s]}else ve(a)&&(o=a.bind(e.api)(i,t));if(e.isCandlestickType(t)&&!ve(a)){const s=e.getCandlestickData(t);if(!(s!=null&&s._isUp)){const l=n.candlestick_color_down;o=Be(l)?l[t.id]:l}}return o||i},updateTextBGColor(t,e){const n=this,{$el:a}=n;let i="";if(Xe(e)||Be(e)){const o=Xe(e)?"":n.getTargetSelectorSuffix("id"in t?t.id:t.data.id),s=a.defs.select(["filter[id*='labels-bg","']"].join(o));s.size()&&(i=`url(#${s.attr("id")})`)}return i||null},redrawText(t,e,n,a){const i=this,{$T:o,axis:s,config:l,state:{hasTreemap:c}}=i,f=gr(!0),g=l.axis_rotated,v=l.data_labels.rotate,m=jp(v),S=v?`rotate(${v})`:"";return i.$el.text.style("fill",i.getStylePropValue(i.updateTextColor)).attr("filter",P=>i.updateTextBGColor.bind(i)(P,l.data_labels_backgroundColors)).style("fill-opacity",n?0:i.opacityForText.bind(i)).each(function(P,N){const L=o(c&&this.childElementCount?this.parentNode:this,!!(a&&this.getAttribute("x")),f),w=l[`axis_${s==null?void 0:s.getId(P.id)}_inverted`];let X={x:t.bind(this)(P,N),y:e.bind(this)(P,N)};v&&(X=Gp.bind(i)(P,X,m,g,w),L.attr("text-anchor",m)),this.childElementCount||v?L.attr("transform",`translate(${X.x} ${X.y}) ${S}`):L.attr("x",X.x).attr("y",X.y)}),!0},getTextRect(t,e){const n=this;let a=t.node?t.node():t;/text/i.test(a.tagName)||(a=a.querySelector("text"));const i=a.textContent,o=`${Ln.textRect}-${i.replace(/\W/g,"_")}`;let s=n.cache.get(o);return s||(n.$el.svg.append("text").style("visibility","hidden").style("font",ot(a).style("font")).classed(e,!0).text(i).call(l=>{s=Si(l.node())}).remove(),n.cache.add(o,s)),s},generateXYForText(t,e){const n=this,{state:{hasRadar:a,hasFunnel:i,hasTreemap:o}}=n,s=Object.keys(t),l={},c=e?n.getXForText:n.getYForText;return i&&s.push("funnel"),a&&s.push("radar"),o&&s.push("treemap"),s.forEach(f=>{l[f]=n[`generateGet${Dn(f)}Points`](t[f],!1)}),function(f,g){const v=n.isAreaType(f)&&"area"||n.isBarType(f)&&"bar"||n.isCandlestickType(f)&&"candlestick"||n.isFunnelType(f)&&"funnel"||n.isRadarType(f)&&"radar"||n.isTreemapType(f)&&"treemap"||"line";return c.call(n,l[v](f,g),f,this)}},getCenteredTextPos(t,e,n,a){const i=this,{config:o}=i,s=o.axis_rotated,l=i.isBarType(t),c=i.isTreemapType(t);if(o.data_labels.centered&&(l||c)){const f=Si(n);if(l){const g=i.getRangedData(t,null,"bar")>=0;if(s){const v=(g?e[1][1]-e[0][1]:e[0][1]-e[1][1])/2+f.width/2;return g?-v-3:v+2}else{const v=(g?e[0][1]-e[1][1]:e[1][1]-e[0][1])/2+f.height/2;return g?v:-v-2}}else if(c)return a==="x"?(e[1][0]-e[0][0])/2:(e[1][1]-e[0][1])/2+f.height/2}return 0},getXForText(t,e,n){var a;const i=this,{config:o}=i,s=o.axis_rotated,l=i.isFunnelType(e),c=i.isTreemapType(e);let f=t?t[0][0]:0;if(i.isCandlestickType(e))s?f=(a=i.getCandlestickData(e))!=null&&a._isUp?t[2][2]+4:t[2][1]-4:f+=(t[1][0]-f)/2;else if(l)f+=i.state.current.width/2;else if(c)f+=o.data_labels.centered?0:5;else if(s){const g=o[`axis_${i.axis.getId(e.id)}_inverted`],v=i.isBarType(e)?4:6,m=e.value;f=t[2][1],g?f-=v*(m>0?1:-1):f+=v*(m<0?-1:1)}else f=i.hasType("bar")?(t[2][0]+t[0][0])/2:f;return(s||c)&&(f+=i.getCenteredTextPos(e,t,n,"x")),f+zc.call(this,e,"x")},getYForText(t,e,n){const a=this,{axis:i,config:o,state:s}=a,l=o.axis_rotated,c=o[`axis_${i==null?void 0:i.getId(e.id)}_inverted`],f=a.isBarType(e),g=a.isFunnelType(e),v=a.isTreemapType(e),m=o.point_r,S=Si(n);let{value:P}=e,N=3,L;if(a.isCandlestickType(e))P=a.getCandlestickData(e),l?(L=t[0][0],L+=(t[1][0]-L)/2+N):(L=P&&P._isUp?t[2][2]-N:t[2][1]+N*4,c&&(L+=15*(P._isUp?1:-1)));else if(g)L=t?t[0][1]+(t[1][1]-t[0][1])/2+S.height/2-3:0;else if(v)L=t[0][1]+(o.data_labels.centered?0:S.height+5);else if(l)L=(t[0][0]+t[2][0]+S.height*.6)/2;else if(L=t[2][1],he(m)&&m>5&&(a.isLineType(e)||a.isScatterType(e))&&(N+=o.point_r/2.3),P<0||P===0&&!s.hasPositiveValue&&s.hasNegativeValue)L+=c?f?-3:-5:S.height+(f?-N:N);else{let w=-N*2;f?w=-N:a.isBubbleType(e)&&(w=N),c&&(w=f?10:15),L+=w}return(!l||v)&&(L+=a.getCenteredTextPos(e,t,n,"y")),L+zc.call(this,e,"y")},markOverlapped(t,e,n){const a=e.$el.arcs.selectAll(n),i=a.filter(c=>c.data.id!==t),o=a.filter(c=>c.data.id===t),s=Jl(o.node()),l=(c,f)=>Math.sqrt(Math.pow(c,2)+Math.pow(f,2));o.node()&&i.each(function(){const c=Jl(this),f=ot(this),g=l(s.e,s.f)>l(c.e,c.f)?o:f,v=Math.ceil(Math.abs(s.e-c.e))=i}};function jc(t="left",e){const n=he(e);let a;return t.indexOf("center")>-1?a=n?e/2:"middle":t.indexOf("right")>-1?a=n?e:"end":a=n?0:"start",a}var Xp={initTitle(){const t=this,{config:e,$el:n}=t;if(e.title_text){n.title=n.svg.append("g");const a=n.title.append("text").style("text-anchor",jc(e.title_position)).attr("class",On.title);wa(a,e.title_text,[.3,1.5])}},redrawTitle(){const t=this,{config:e,state:{current:n},$el:{title:a}}=t;if(a){const i=jc(e.title_position,n.width),o=(e.title_padding.top||0)+t.getTextRect(t.$el.title,On.title).height;a.attr("transform",`translate(${i}, ${o})`)}},getTitlePadding(){const t=this,{$el:{title:e},config:n}=t;return(n.title_padding.top||0)+(e?t.getTextRect(e,On.title).height:0)+(n.title_padding.bottom||0)}},Yp={initTooltip(){const t=this,{config:e,$el:n}=t;n.tooltip=ot(e.tooltip_contents.bindto),n.tooltip.empty()&&(n.tooltip=n.chart.append("div").attr("class",ti.tooltipContainer).style("position","absolute").style("pointer-events","none").style("display","none")),t.bindTooltipResizePos()},initShowTooltip(){var t;const e=this,{config:n,$el:a,state:{hasAxis:i,hasRadar:o}}=e;if(n.tooltip_init_show){const s=!(i||o);(t=e.axis)!=null&&t.isTimeSeries()&&Xe(n.tooltip_init_x)&&(n.tooltip_init_x=zn.call(e,n.tooltip_init_x)),e.api.tooltip.show({data:{[s?"index":"x"]:n.tooltip_init_x}});const l=n.tooltip_init_position;if(!n.tooltip_contents.bindto&&!qn(l)){const{top:c=0,left:f=50}=l;a.tooltip.style("top",Xe(c)?c:`${c}px`).style("left",Xe(f)?f:`${f}px`).style("display",null)}}},getTooltipHTML(...t){const e=this,{api:n,config:a}=e;return ve(a.tooltip_contents)?a.tooltip_contents.bind(n)(...t):e.getTooltipContent(...t)},getTooltipContent(t,e,n,a){var i;const o=this,{api:s,config:l,state:c,$el:f}=o,[g,v,m]=["title","name","value"].map(vt=>{const Z=l[`tooltip_format_${vt}`];return ve(Z)?Z.bind(s):Z}),S=(...vt)=>Co((g||e)(...vt)),P=(...vt)=>Co((v||(Z=>Z))(...vt)),N=(...vt)=>{const Z=m||(c.hasTreemap||o.isStackNormalized()?($t,ut)=>`${(ut*100).toFixed(2)}%`:n);return Co(Z(...vt))},L=l.tooltip_order,w=vt=>o.axis&&o.isBubbleZType(vt)?o.getBubbleZData(vt.value,"z"):o.getBaseValue(vt),X=o.levelColor?vt=>o.levelColor(vt.value):vt=>a(vt),W=l.tooltip_contents,Y=W.template,Q=o.mapToTargetIds();if(L===null&&l.data_groups.length){const vt=o.orderTargets(o.data.targets).map(Z=>Z.id).reverse();t.sort((Z,$t)=>{let ut=Z?Z.value:null,At=$t?$t.value:null;return ut>0&&At>0&&(ut=Z.id?vt.indexOf(Z.id):null,At=$t.id?vt.indexOf($t.id):null),ut-At})}else if(/^(asc|desc)$/.test(L)){const vt=L==="asc";t.sort((Z,$t)=>{const ut=Z?w(Z):null,At=$t?w($t):null;return vt?ut-At:At-ut})}else ve(L)&&t.sort(L.bind(s));const K=o.getTooltipContentTemplate(Y),at=t.length;let ht,St,ct,lt,Gt;for(Gt=0;Gt${vt}`:""})}if(!St.ratio&&f.arcs&&(ct=["arc",o.$el.arcs.select(`path.${je.arc}-${St.id}`).data()[0]],St.ratio=o.getRatio(...ct)),ct=[St.ratio,St.id,St.index],o.isAreaRangeType(St)){const[vt,Z]=["high","low"].map(ut=>N(o.getRangedData(St,ut),...ct));lt=`Mid: ${N(w(St),...ct)} High: ${vt} Low: ${Z}`}else if(o.isCandlestickType(St)){const[vt,Z,$t,ut,At]=["open","high","low","close","volume"].map(Vt=>o.getRangedData(St,Vt,"candlestick")?N(o.getRangedData(St,Vt,"candlestick"),...ct):void 0);lt=`Open: ${vt} High: ${Z} Low: ${$t} Close: ${ut}${At?` Volume: ${At}`:""}`}else if(o.isBarRangeType(St)){const{value:vt,id:Z,index:$t}=St;lt=`${N(vt,void 0,Z,$t)}`}else lt=N(w(St),...ct);if(lt!==void 0){if(St.name===null)continue;const vt=P((i=St.name)!=null?i:St.id,...ct),Z=X(St),$t={CLASS_TOOLTIP_NAME:ti.tooltipName+o.getTargetSelectorSuffix(St.id),COLOR:Y||!o.patterns?Z:``,NAME:vt,VALUE:lt};if(Y&&Be(W.text)){const ut=Q.indexOf(St.id);Object.keys(W.text).forEach(At=>{$t[At]=W.text[At][ut]})}ht+=Ei(K[1],$t)}}return`${ht}`},getTooltipContentTemplate(t){return(t||` +`)}function f(v){return v.map(g).join(t)}function g(v){return v==null?"":v instanceof Date?Ev(v):e.test(v+="")?'"'+v.replace(/"/g,'""')+'"':v}return{parse:a,parseRows:i,format:o,formatBody:l,formatRows:c,formatRow:f,formatValue:g}}var Fr=ic(","),bv=Fr.parse,Rv=Fr.parseRows,e1=Fr.format,n1=Fr.formatBody,r1=Fr.formatRows,a1=Fr.formatRow,i1=Fr.formatValue,Br=ic(" "),Iv=Br.parse,Ov=Br.parseRows,s1=Br.format,o1=Br.formatBody,l1=Br.formatRows,c1=Br.formatRow,u1=Br.formatValue;function Gs(t){const e=[];return t.forEach(function(n,a){const i=n[0];n.forEach(function(s,o){if(o>0){if(typeof e[o-1]=="undefined"&&(e[o-1]={}),typeof s=="undefined")throw new Error(`Source data is missing a component at (${a}, ${o})!`);e[o-1][i]=s}})}),e}function Vs(t){const e=t[0],n=[];return t.forEach(function(a,i){if(i>0){const s={};a.forEach(function(o,l){if(typeof o=="undefined")throw new Error(`Source data is missing a component at (${i}, ${l})!`);s[e[l]]=o}),n.push(s)}}),n}function sc(t,e){const n=[];let a,i;if(Array.isArray(t)){const s=function(o,l){if(o[l]!==void 0)return o[l];const f=l.replace(/\[(\w+)\]/g,".$1").replace(/^\./,"").split(".");let g=o;return f.some(function(v){return!(g=g&&v in g?g[v]:void 0)}),g};e.x?a=e.value.concat(e.x):a=e.value,n.push(a),t.forEach(function(o){const l=a.map(function(c){let f=s(o,c);return typeof f=="undefined"&&(f=null),f});n.push(l)}),i=Vs(n)}else Object.keys(t).forEach(function(s){var o;const l=t[s].concat();(o=l.unshift)==null||o.call(l,s),n.push(l)}),i=Gs(n);return i}function Cv(t,e="csv",n,a,i){const s=new XMLHttpRequest,o={csv:Pv,tsv:wv,json:sc};s.open("GET",t),n&&Object.keys(n).forEach(function(l){s.setRequestHeader(l,n[l])}),s.onreadystatechange=function(){if(s.readyState===4)if(s.status===200){const l=s.responseText;l&&i.call(this,o[e](e==="json"?JSON.parse(l):l,a))}else throw new Error(`${t}: Something went wrong loading!`)},s.send()}function oc(t,e){const n=t.rows(e);let a;return n.length===1?(a=[{}],n[0].forEach(i=>{a[0][i]=null})):a=t.parse(e),a}function Pv(t){return oc({rows:Rv,parse:bv},t)}function wv(t){return oc({rows:Ov,parse:Iv},t)}function lc(t,e){const n=t||(e==null?void 0:e.data_keys);return n!=null&&n.x&&(e.data_x=n.x),n}var Mv={convertData(t,e){const{config:n}=this,a=n.boost_useWorker;let i=t;if(t.bindto&&(i={},["url","mimeType","headers","keys","json","keys","rows","columns"].forEach(s=>{const o=`data_${s}`;o in t&&(i[s]=t[o])})),i.url&&e)Cv(i.url,i.mimeType,i.headers,lc(i.keys,n),e);else if(i.json)Bs(a,sc,e,[Gs,Vs])(i.json,lc(i.keys,n));else if(i.rows)Bs(a,Vs,e)(i.rows);else if(i.columns)Bs(a,Gs,e)(i.columns);else if(t.bindto)throw Error("url or json or rows or columns is required.")},convertDataToTargets(t,e){const n=this,{axis:a,config:i,state:s}=n,o=i.data_type;let l=!1,c=!1,f=!1;a&&(l=a.isCategorized(),c=a.isTimeSeries(),f=a.isCustomX());const g=Object.keys(t[0]||{}),v=g.length?g.filter(n.isNotX,n):[],m=g.length?g.filter(n.isX,n):[];let S;v.forEach(N=>{const L=this.getXKey(N);f||c?m.indexOf(L)>=0?S=(e&&n.data.xs[N]||[]).concat(t.map(w=>w[L]).filter(De).map((w,X)=>n.generateTargetX(w,N,X))):i.data_x?S=this.getOtherTargetXs():cn(i.data_xs)&&(S=n.getXValuesOfXKey(L,n.data.targets)):S=t.map((w,X)=>X),S&&(this.data.xs[N]=S)}),v.forEach(N=>{if(!this.data.xs[N])throw new Error(`x is not defined for id = "${N}".`)});const P=v.map((N,L)=>{const w=i.data_idConverter.bind(n.api)(N),X=n.getXKey(N),W=f&&l,Y=W&&t.map(at=>at.x).every(at=>i.axis_x_categories.indexOf(at)>-1),Q=t.__append__,K=X===null&&Q?n.api.data.values(N).length:0;return{id:w,id_org:N,values:t.map((at,ht)=>{const St=at[X];let ct=at[N],lt;return ct=ct!==null&&!isNaN(ct)&&!Be(ct)?+ct:ze(ct)||Be(ct)?ct:null,(W||s.hasRadar)&&L===0&&!ln(St)?(!Y&&L===0&&ht===0&&!Q&&(i.axis_x_categories=[]),lt=i.axis_x_categories.indexOf(St),lt===-1&&(lt=i.axis_x_categories.length,i.axis_x_categories.push(St))):lt=n.generateTargetX(St,N,K+ht),(ln(ct)||n.data.xs[N].length<=ht)&&(lt=void 0),{x:lt,value:ct,id:w,index:-1}}).filter(at=>ke(at.x))}});if(P.forEach(N=>{var L;i.data_xSort&&(N.values=N.values.sort((w,X)=>{const W=w.x||w.x===0?w.x:1/0,Y=X.x||X.x===0?X.x:1/0;return W-Y})),N.values.forEach((w,X)=>w.index=X),(L=n.data.xs[N.id])==null||L.sort((w,X)=>w-X)}),s.hasNegativeValue=n.hasNegativeValueInTargets(P),s.hasPositiveValue=n.hasPositiveValueInTargets(P),o&&n.isValidChartType(o)){const N=n.mapToIds(P).filter(L=>!(L in i.data_types)||!n.isValidChartType(i.data_types[L]));n.setTargetType(N,o)}return P.forEach(N=>n.cache.add(N.id_org,N,!0)),P}},Dv={isX(t){const e=this,{config:n}=e,a=n.data_x&&t===n.data_x,i=cn(n.data_xs)&&kg(n.data_xs,t);return a||i},isNotX(t){return!this.isX(t)},isStackNormalized(){const{config:t}=this;return!!(t.data_stack_normalize&&t.data_groups.length)},isGrouped(t){const e=this.config.data_groups;return t?e.some(n=>n.indexOf(t)>=0&&n.length>1):e.length>0},getXKey(t){const e=this,{config:n}=e;return n.data_x?n.data_x:cn(n.data_xs)?n.data_xs[t]:null},getXValuesOfXKey(t,e){const n=this,a=e&&cn(e)?n.mapToIds(e):[];let i;return a.forEach(s=>{n.getXKey(s)===t&&(i=n.data.xs[s])}),i},getIndexByX(t,e){const n=this;return e?e.indexOf(Xe(t)?t:+t):(n.filterByX(n.data.targets,t)[0]||{index:null}).index},getXValue(t,e){const n=this;return t in n.data.xs&&n.data.xs[t]&&De(n.data.xs[t][e])?n.data.xs[t][e]:e},getOtherTargetXs(){const t=this,e=Object.keys(t.data.xs);return e.length?t.data.xs[e[0]]:null},getOtherTargetX(t){const e=this.getOtherTargetXs();return e&&t{n.data_xs[a]=t[a]})},isMultipleX(){return!this.config.axis_x_forceAsSingle&&(cn(this.config.data_xs)||this.hasType("bubble")||this.hasType("scatter"))},addName(t){const e=this,{config:n}=e;let a;return t&&(a=n.data_names[t.id],t.name=a!==void 0?a:t.id),t},getAllValuesOnIndex(t,e=!1){const n=this;let a=n.filterTargetsToShow(n.data.targets).map(i=>n.addName(n.getValueOnIndex(i.values,t)));return e&&(a=a.filter(i=>i&&"value"in i&&De(i.value))),a},getValueOnIndex(t,e){const n=t.filter(a=>a.index===e);return n.length?n[0]:null},updateTargetX(t,e){const n=this;t.forEach(a=>{a.values.forEach((i,s)=>{i.x=n.generateTargetX(e[s],a.id,s)}),n.data.xs[a.id]=e})},updateTargetXs(t,e){const n=this;t.forEach(a=>{e[a.id]&&n.updateTargetX([a],e[a.id])})},generateTargetX(t,e,n){const a=this,{axis:i}=a;let s=i!=null&&i.isCategorized()?n:t||n;if(i!=null&&i.isTimeSeries()){const o=zn.bind(a);s=o(t||a.getXValue(e,n))}else i!=null&&i.isCustomX()&&!(i!=null&&i.isCategorized())&&(s=De(t)?+t:a.getXValue(e,n));return s},updateXs(t){t.length&&(this.axis.xs=t.map(e=>e.x))},getPrevX(t){const e=this.axis.xs[t-1];return ke(e)?e:null},getNextX(t){const e=this.axis.xs[t+1];return ke(e)?e:null},getBaseValue(t){const e=this,{hasAxis:n}=e.state;let{value:a}=t;return a&&n&&(e.isAreaRangeType(t)?a=e.getRangedData(t,"mid"):e.isBubbleZType(t)&&(a=e.getBubbleZData(a,"y"))),a},getMinMaxValue(t){const e=this.getBaseValue.bind(this);let n,a;return(t||this.data.targets.map(i=>i.values)).forEach((i,s)=>{const o=i.map(e).filter(he);n=Math.min(s?n:1/0,...o),a=Math.max(s?a:-1/0,...o)}),{min:n,max:a}},getMinMaxData(){const t=this,e=Ln.dataMinMax;let n=t.cache.get(e);if(!n){const a=t.data.targets.map(l=>l.values),i=t.getMinMaxValue(a);let s=[],o=[];a.forEach(l=>{const c=t.getFilteredDataByValue(l,i.min),f=t.getFilteredDataByValue(l,i.max);c.length&&(s=s.concat(c)),f.length&&(o=o.concat(f))}),t.cache.add(e,n={min:s,max:o})}return n},getTotalPerIndex(){const t=this,e=Ln.dataTotalPerIndex;let n=t.cache.get(e);return(t.config.data_groups.length||t.isStackNormalized())&&!n&&(n=[],t.data.targets.forEach(a=>{a.values.forEach((i,s)=>{n[s]||(n[s]=0),n[s]+=he(i.value)?i.value:0})})),n},getTotalDataSum(t){const e=this,n=Ln.dataTotalSum;let a=e.cache.get(n);if(!he(a)){const i=Ms(e.data.targets.map(s=>s.values)).map(s=>s.value);a=i.length?i.reduce((s,o)=>s+o):0,e.cache.add(n,a)}return t&&(a-=e.getHiddenTotalDataSum()),a},getHiddenTotalDataSum(){const t=this,{api:e,state:{hiddenTargetIds:n}}=t;let a=0;return n.length&&(a=e.data.values.bind(e)(n).reduce((i,s)=>i+s)),a},getFilteredDataByValue(t,e){return t.filter(n=>this.getBaseValue(n)===e)},getMaxDataCount(){return Math.max(...this.data.targets.map(t=>t.values.length),0)},getMaxDataCountTarget(){let t=this.filterTargetsToShow()||[];const e=t.length,n=this.config.axis_x_inverted;return e>1?(t=t.map(a=>a.values).reduce((a,i)=>a.concat(i)).map(a=>a.x),t=na(ws(t)).map((a,i,s)=>({x:a,index:n?s.length-i-1:i}))):e&&(t=t[0].values.concat()),t},mapToIds(t){return t.map(e=>e.id)},mapToTargetIds(t){const e=this;return t?ze(t)?t.concat():[t]:e.mapToIds(e.data.targets)},hasTarget(t,e){const n=this.mapToIds(t);for(let a=0,i;i=n[a];a++)if(i===e)return!0;return!1},isTargetToShow(t){return this.state.hiddenTargetIds.indexOf(t)<0},isLegendToShow(t){return this.state.hiddenLegendIds.indexOf(t)<0},filterTargetsToShow(t){const e=this;return(t||e.data.targets).filter(n=>e.isTargetToShow(n.id))},mapTargetsToUniqueXs(t){const e=this,{axis:n}=e;let a=[];return t!=null&&t.length&&(a=ws(Ms(t.map(i=>i.values.map(s=>+s.x)))),a=n!=null&&n.isTimeSeries()?a.map(i=>new Date(+i)):a.map(Number)),na(a)},addTargetIds(t,e){const{state:n}=this;(ze(e)?e:[e]).forEach(i=>{n[t].indexOf(i)<0&&n[t].push(i)})},removeTargetIds(t,e){const{state:n}=this;(ze(e)?e:[e]).forEach(i=>{const s=n[t].indexOf(i);s>=0&&n[t].splice(s,1)})},addHiddenTargetIds(t){this.addTargetIds("hiddenTargetIds",t)},removeHiddenTargetIds(t){this.removeTargetIds("hiddenTargetIds",t)},addHiddenLegendIds(t){this.addTargetIds("hiddenLegendIds",t)},removeHiddenLegendIds(t){this.removeTargetIds("hiddenLegendIds",t)},getValuesAsIdKeyed(t){const e=this,{hasAxis:n}=e.state,a={},i=e.isMultipleX(),s=i?e.mapTargetsToUniqueXs(t).map(o=>Xe(o)?o:+o):null;return t.forEach(o=>{const l=[];o.values.filter(({value:c})=>De(c)||c===null).forEach(c=>{let{value:f}=c;f!==null&&e.isCandlestickType(c)&&(f=ze(f)?f.slice(0,4):[f.open,f.high,f.low,f.close]),ze(f)?l.push(...f):Be(f)&&"high"in f?l.push(...Object.values(f)):e.isBubbleZType(c)?l.push(n&&e.getBubbleZData(f,"y")):i?l[e.getIndexByX(c.x,s)]=f:l.push(f)}),a[o.id]=l}),a},checkValueInTargets(t,e){const n=Object.keys(t);let a;for(let i=0;i1},hasNegativeValueInTargets(t){return this.checkValueInTargets(t,e=>e<0)},hasPositiveValueInTargets(t){return this.checkValueInTargets(t,e=>e>0)},orderTargets(t){const e=this,n=[...t],a=e.getSortCompareFn();return a&&n.sort(a),n},getSortCompareFn(t=!1){const e=this,{config:n}=e,a=n.data_order,i=/asc/i.test(a),s=/desc/i.test(a);let o;if(i||s){const l=(f,g)=>f+Math.abs(g.value),c=f=>he(f)?f:"values"in f?f.values.reduce(l,0):f.value;o=(f,g)=>{const v=c(f),m=c(g);return t?i?v-m:m-v:i?m-v:v-m}}else ve(a)&&(o=a.bind(e.api));return o||null},filterByX(t,e){return Ms(t.map(n=>n.values)).filter(n=>n.x-e===0)},filterRemoveNull(t){return t.filter(e=>De(this.getBaseValue(e)))},filterByXDomain(t,e){return t.map(n=>({id:n.id,id_org:n.id_org,values:n.values.filter(a=>e[0]<=a.x&&a.x<=e[1])}))},hasDataLabel(){const t=this.config.data_labels;return Os(t)&&t||nr(t)&&cn(t)},hasNullDataValue(t){return t.some(({value:e})=>e===null)},getDataIndexFromEvent(t){const e=this,{$el:n,config:a,state:{hasRadar:i,inputType:s,eventReceiver:{coords:o,rect:l}}}=e;let c;if(i){let f=t.target;/tspan/i.test(f.tagName)&&(f=f.parentNode);const g=st(f).datum();c=g&&Object.keys(g).length===1?g.index:void 0}else{const f=a.axis_rotated,g=Zl(n.chart.node()),v=s==="touch"&&t.changedTouches?t.changedTouches[0]:t;let m=f?v.clientY+g.y:v.clientX+g.x;if(Ds(n.svg)){const S=[m,0];f&&S.reverse(),m=Ai(n.svg.node(),...S)[f?"y":"x"]}else m-=f?l.top:l.left;c=Ps(o,m,0,o.length-1,f)}return c},getDataLabelLength(t,e,n){const a=this,i=[0,0],s=1.3;return a.$el.chart.select("svg").selectAll(".dummy").data([t,e]).enter().append("text").text(o=>a.dataLabelFormat(o.id)(o)).each(function(o,l){i[l]=this.getBoundingClientRect()[n]*s}).remove(),i},isNoneArc(t){return this.hasTarget(this.data.targets,t.id)},isArc(t){return"data"in t&&this.hasTarget(this.data.targets,t.data.id)},findSameXOfValues(t,e){const n=t[e].x,a=[];let i;for(i=e-1;i>=0&&n===t[i].x;i--)a.push(t[i]);for(i=e;in.findClosest(i.values,e));return n.findClosest(a,e)},findClosest(t,e){const n=this,{$el:{main:a}}=n,i=t.filter(l=>l&&De(l.value));let s,o;return i.filter(l=>n.isBarType(l.id)||n.isCandlestickType(l.id)).forEach(l=>{const c=n.isBarType(l.id)?`.${Kn.chartBar}.${Se.target}${n.getTargetSelectorSuffix(l.id)} .${Kn.bar}-${l.index}`:`.${cr.chartCandlestick}.${Se.target}${n.getTargetSelectorSuffix(l.id)} .${cr.candlestick}-${l.index} path`;!o&&n.isWithinBar(a.select(c).node())&&(o=l)}),i.filter(l=>!n.isBarType(l.id)&&!n.isCandlestickType(l.id)).forEach(l=>{const c=n.dist(l,e);s=n.getPointSensitivity(l),c{const{x:i,id:s}=a;n.push({x:i,id:s,value:a.value[0]}),n.push({x:i,id:s,value:a.value[2]})}),n},updateDataAttributes(t,e){const n=this,{config:a}=n,i=a[`data_${t}`];return ln(e)||(Object.keys(e).forEach(s=>{i[s]=e[s]}),n.redraw({withLegend:!0})),i},getRangedData(t,e="",n="areaRange"){const a=t==null?void 0:t.value;if(ze(a)){if(n==="bar")return a.reduce((i,s)=>s-i);{const i={areaRange:["high","mid","low"],candlestick:["open","high","low","close","volume"]}[n].indexOf(e);return i>=0&&a?a[i]:void 0}}else if(a&&e)return a[e];return a},setRatioForGroupedData(t){const e=this,{config:n}=e;if(n.data_groups.length&&t.some(a=>e.isGrouped(a.id))){const a=i=>e.getRatio("index",i,!0);t.forEach(i=>{"values"in i?i.values.forEach(a):a(i)})}},getRatio(t,e,n=!1){const a=this,{config:i,state:s}=a,o=a.api;let l=0;if(e&&o.data.shown().length)if(l=e.ratio||e.value,t==="arc")if(a.pie.padAngle()())l=e.value/a.getTotalDataSum(!0);else{const c=i.gauge_fullCircle?a.getArcLength():a.getStartingAngle()*-2,f=a.hasType("gauge")?c:Math.PI*2;l=(e.endAngle-e.startAngle)/f}else if(t==="index"){const c=o.data.values.bind(o);let f=this.getTotalPerIndex();if(s.hiddenTargetIds.length){let v=c(s.hiddenTargetIds,!1);v.length&&(v=v.reduce((m,S)=>m.map((P,N)=>(he(P)?P:0)+S[N])),f=f.map((m,S)=>m-v[S]))}const g=f[e.index];e.ratio=he(e.value)&&f&&g?e.value/g:0,l=e.ratio}else if(t==="radar")l=parseFloat(String(Math.max(e.value,0)))/s.current.dataMax*i.radar_size_ratio;else if(t==="bar"){const f=a.getYScaleById.bind(a)(e.id).domain().reduce((g,v)=>v-g);l=f===0?0:Math.abs(a.getRangedData(e,null,t)/f)}else t==="treemap"&&(l/=a.getTotalDataSum(!0));return n&&l?l*100:l},updateDataIndexByX(t){const e=this,n=t.reduce((a,i,s)=>(a[Number(i.x)]=s,a),{});e.data.targets.forEach(a=>{a.values.forEach((i,s)=>{let o=n[Number(i.x)];o===void 0&&(o=s),i.index=o})})},isBubbleZType(t){return this.isBubbleType(t)&&(Be(t.value)&&("z"in t.value||"y"in t.value)||ze(t.value)&&t.value.length>=2)},isBarRangeType(t){const e=this,{value:n}=t;return e.isBarType(t)&&ze(n)&&n.length>=2&&n.every(a=>he(a))},getDataById(t){var e;const n=this.cache.get(t)||this.api.data(t);return(e=n==null?void 0:n[0])!=null?e:n}};function cc(t,e=!1){const n=this,{api:a}=n;e&&n.api.flush(!0),t==null||t.call(a)}var Lv={load(t,e){const n=this,{axis:a,data:i,org:s,scale:o}=n,{append:l}=e,c={domain:null,currentDomain:null,x:null};let f=t;f&&(e.filter&&(f=f.filter(e.filter)),(e.type||e.types)&&f.forEach(g=>{var v;const m=((v=e.types)==null?void 0:v[g.id])||e.type;n.setTargetType(g.id,m)}),i.targets.forEach(g=>{for(let v=0;v{const a=t.data||n;t.append&&(a.__append__=!0),a&&e.load(e.convertDataToTargets(a),t)}))},unload(t,e){var n;const a=this,{state:i,$el:s,$T:o}=a,l=!!((n=a.hasLegendDefsPoint)!=null&&n.call(a));let c=e,f=t;if(a.cache.reset(),c||(c=()=>{}),f=f.filter(v=>a.hasTarget(a.data.targets,v)),!f||f.length===0){c();return}const g=s.svg.selectAll(f.map(v=>a.selectorTarget(v)));o(g).style("opacity","0").remove().call($i,c),f.forEach(v=>{var m;const S=a.getTargetSelectorSuffix(v);i.withoutFadeIn[v]=!1,s.legend&&s.legend.selectAll(`.${We.legendItem}${S}`).remove(),a.data.targets=a.data.targets.filter(P=>P.id!==v),l&&((m=s.defs)==null||m.select(`#${a.getDefsPointId(S)}`).remove())}),i.hasFunnel&&a.updateFunnel(a.data.targets),i.hasTreemap&&a.updateTargetsForTreemap(a.data.targets),a.updateTypesElements()}},Ri=t=>()=>t;function Xs(t,{sourceEvent:e,subject:n,target:a,identifier:i,active:s,x:o,y:l,dx:c,dy:f,dispatch:g}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:a,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:f,enumerable:!0,configurable:!0},_:{value:g}})}Xs.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Nv(t){return!t.ctrlKey&&!t.button}function Fv(){return this.parentNode}function Bv(t,e){return e==null?{x:t.x,y:t.y}:e}function Uv(){return navigator.maxTouchPoints||"ontouchstart"in this}function uc(){var t=Nv,e=Fv,n=Bv,a=Uv,i={},s=ni("start","drag","end"),o=0,l,c,f,g,v=0;function m(Y){Y.on("mousedown.drag",S).filter(a).on("touchstart.drag",L).on("touchmove.drag",w,Jd).on("touchend.drag touchcancel.drag",X).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function S(Y,Q){if(!(g||!t.call(this,Y,Q))){var K=W(this,e.call(this,Y,Q),Y,Q,"mouse");K&&(st(Y.view).on("mousemove.drag",P,Sa).on("mouseup.drag",N,Sa),cs(Y.view),ls(Y),f=!1,l=Y.clientX,c=Y.clientY,K("start",Y))}}function P(Y){if(Zr(Y),!f){var Q=Y.clientX-l,K=Y.clientY-c;f=Q*Q+K*K>v}i.mouse("drag",Y)}function N(Y){st(Y.view).on("mousemove.drag mouseup.drag",null),us(Y.view,f),Zr(Y),i.mouse("end",Y)}function L(Y,Q){if(t.call(this,Y,Q)){var K=Y.changedTouches,at=e.call(this,Y,Q),ht=K.length,St,ct;for(St=0;Sti.$el[s]).forEach(s=>{a&&i.$el[s].classed(Se.EXPANDED,!1),i.getShapeByIndex(s,e,n).classed(Se.EXPANDED,t)})},setOverOut(t,e){const n=this,{config:a,state:{hasFunnel:i,hasRadar:s,hasTreemap:o},$el:{main:l}}=n,c=Be(e);if(c||e!==-1){const f=a[t?"data_onover":"data_onout"].bind(n.api);if(a.color_onover&&n.setOverColor(t,e,c),c){const g=n.getTargetSelectorSuffix(e.id),v=i||o?`${Se.target+g} .${on.shape}`:je.arc+g;f(e,l.select(`.${v}`).node())}else if(a.tooltip_grouped)t&&(s&&n.isPointFocusOnly()?n.showCircleFocus(n.getAllValuesOnIndex(e,!0)):n.setExpand(e,null,!0)),!n.isMultipleX()&&l.selectAll(`.${on.shape}-${e}`).each(function(g){f(g,this)});else{const g=n.cache.get(Ln.setOverOut)||[],v=l.selectAll(`.${on.shape}-${e}`).filter(function(S){return n.isWithinShape(this,S)}),m=v.filter(function(){return g.every(S=>S!==this)});if(!t||v.empty()||g.length===m.size()&&m.nodes().every((S,P)=>S!==g[P]))for(;g.length;){const S=g.pop();a.data_onout.bind(n.api)(st(S).datum(),S)}m.each(function(){t&&(f(st(this).datum(),this),g.push(this))}),n.cache.add(Ln.setOverOut,g)}}},callOverOutForTouch(t){const e=this,n=e.cache.get(Ln.callOverOutForTouch);(Be(t)&&n?t.id!==n.id:t!==n)&&((n||he(n))&&e.setOverOut(!1,n),(t||he(t))&&e.setOverOut(!0,t),e.cache.add(Ln.callOverOutForTouch,t))},getDraggableSelection(){const t=this,{config:e,state:n}=t;return e.interaction_enabled&&e.data_selection_draggable&&t.drag?uc().on("drag",function(a){n.event=a,t.drag(Hn(a,this))}).on("start",function(a){n.event=a,t.dragstart(Hn(a,this))}).on("end",a=>{n.event=a,t.dragend()}):()=>{}},dispatchEvent(t,e,n){var a,i;const s=this,{config:o,state:{eventReceiver:l,hasAxis:c,hasFunnel:f,hasRadar:g,hasTreemap:v},$el:{eventRect:m,funnel:S,radar:P,svg:N,treemap:L}}=s;let w=(i=(f||v)&&l.rect||g&&P.axes.select(`.${dn.axis}-${e} text`)||m||((a=s.getArcElementByIdOrIndex)==null?void 0:a.call(s,e)))==null?void 0:i.node();if(w){const X=s.isMultipleX(),W=o.axis_rotated;let{width:Y,left:Q,top:K}=w.getBoundingClientRect();if(c&&!g&&!X){const ct=l.coords[e];ct?(Y=ct.w,Q+=ct.x,K+=ct.y):(Y=0,Q=0,K=0)}let at=Q+(n?n[0]:0)+(X||W?0:Y/2),ht=K+(n?n[1]:0)+(W?4:0);if(Ds(N)){const ct=Ai(s.$el.svg.node(),at,ht,!1);at=ct.x,ht=ct.y}const St={screenX:at,screenY:ht,clientX:at,clientY:ht,bubbles:g};(f||v)&&(w=(S!=null?S:L).node()),ev[/^(mouse|click)/.test(t)?"mouse":"touch"](w,t,St)}},setDragStatus(t){this.state.dragging=t},unbindZoomEvent(){const t=this,{$el:{eventRect:e,zoomResetBtn:n}}=t;e==null||e.on(".zoom wheel.zoom .drag",null),n==null||n.on("click",null).style("display","none")},unbindAllEvents(){var t;const e=this,{$el:{arcs:n,eventRect:a,legend:i,region:s,svg:o,treemap:l},brush:c}=e,f=["wheel","click","mouseover","mousemove","mouseout","touchstart","touchmove","touchend","touchstart.eventRect","touchmove.eventRect","touchend.eventRect",".brush",".drag",".zoom","wheel.zoom","dblclick.zoom"].join(" ");[o,a,s==null?void 0:s.list,c==null?void 0:c.getSelection(),n==null?void 0:n.selectAll("path"),i==null?void 0:i.selectAll("g"),l].forEach(g=>g==null?void 0:g.on(f,null)),(t=e.unbindZoomEvent)==null||t.call(e)}},jv={categoryName(t){var e;const{axis_x_categories:n}=this.config;return(e=n==null?void 0:n[t])!=null?e:t}},Gv={generateClass(t,e){return` ${t} ${t+this.getTargetSelectorSuffix(e)}`},getClass(t,e){const n=/s$/.test(t),a=/^(area|arc|line|funnel|treemap)s?$/.test(t),i=n?"id":"index";return s=>{const o=s.data||s;return((e?this.generateClass(Ue[n?"shapes":"shape"],o[i]):"")+this.generateClass(Ue[t],o[a?"id":i])).trim()}},getChartClass(t){return e=>Ue[`chart${t}`]+this.classTarget((e.data?e.data:e).id)},generateExtraLineClass(){const e=this.config.line_classes||[],n=[];return function(a){var i;const s=a.id||((i=a.data)==null?void 0:i.id)||a;return n.indexOf(s)<0&&n.push(s),e[n.indexOf(s)%e.length]}},classRegion(t,e){return`${this.generateClass(Ue.region,e)} ${"class"in t?t.class:""}`},classTarget(t){const e=this.config.data_classes[t];let n="";return e&&(n=` ${Ue.target}-${e}`),this.generateClass(Ue.target,t)+n},classFocus(t){return this.classFocused(t)+this.classDefocused(t)},classFocused(t){return` ${this.state.focusedTargetIds.indexOf(t.id)>=0?Ue.focused:""}`},classDefocused(t){return` ${this.state.defocusedTargetIds.indexOf(t.id)>=0?Ue.defocused:""}`},getTargetSelectorSuffix(t){return(t||t===0?`-${t}`:"").replace(/[\x00-\x20\x7F-\xA0\s?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\]/g,"-")},selectorTarget(t,e="",n=""){const a=this.getTargetSelectorSuffix(t);return`${e}.${Ue.target+a} ${n}, ${e}.${Ue.circles+a} ${n}`},selectorTargets(t,e){const n=t||[];return n.length?n.map(a=>this.selectorTarget(a,e)):null},selectorLegend(t){return`.${Ue.legendItem+this.getTargetSelectorSuffix(t)}`},selectorLegends(t){return t!=null&&t.length?t.map(e=>this.selectorLegend(e)):null}};class fc extends Map{constructor(e,n=gc){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[a,i]of e)this.set(a,i)}get(e){return super.get(Ys(this,e))}has(e){return super.has(Ys(this,e))}set(e,n){return super.set(dc(this,e),n)}delete(e){return super.delete(hc(this,e))}}class f1 extends Set{constructor(e,n=gc){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const a of e)this.add(a)}has(e){return super.has(Ys(this,e))}add(e){return super.add(dc(this,e))}delete(e){return super.delete(hc(this,e))}}function Ys({_intern:t,_key:e},n){const a=e(n);return t.has(a)?t.get(a):n}function dc({_intern:t,_key:e},n){const a=e(n);return t.has(a)?t.get(a):(t.set(a,n),n)}function hc({_intern:t,_key:e},n){const a=e(n);return t.has(a)&&(n=t.get(a),t.delete(a)),n}function gc(t){return t!==null&&typeof t=="object"?t.valueOf():t}function ra(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}function d1(t,e){switch(arguments.length){case 0:break;case 1:{typeof t=="function"?this.interpolator(t):this.range(t);break}default:{this.domain(t),typeof e=="function"?this.interpolator(e):this.range(e);break}}return this}const vc=Symbol("implicit");function pc(){var t=new fc,e=[],n=[],a=vc;function i(s){let o=t.get(s);if(o===void 0){if(a!==vc)return a;t.set(s,o=e.push(s)-1)}return n[o%n.length]}return i.domain=function(s){if(!arguments.length)return e.slice();e=[],t=new fc;for(const o of s)t.has(o)||t.set(o,e.push(o)-1);return i},i.range=function(s){return arguments.length?(n=Array.from(s),i):n.slice()},i.unknown=function(s){return arguments.length?(a=s,i):a},i.copy=function(){return pc(e,n).unknown(a)},ra.apply(i,arguments),i}const Vv=(t,e,n)=>{const a=st(t.cloneNode(!0));return a.attr("id",n).insert("rect",":first-child").attr("width",a.attr("width")).attr("height",a.attr("height")).style("fill",e),{id:n,node:a.node()}};function Xv(t){const e=Ln.colorPattern,{body:n}=vn;let a=n[e];if(!a){const i=";",s=t.classed(ss.colorPattern,!0).style("background-image");t.classed(ss.colorPattern,!1),s.indexOf(i)>-1&&(a=s.replace(/url[^#]*|["'()]|(\s|%20)/g,"").split(i).map(o=>o.trim().replace(/[\"'\s]/g,"")).filter(Boolean),n[e]=a)}return a}const Yv=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"];var Hv={generateColor(){const t=this,{$el:e,config:n}=t,a=n.data_colors,i=n.data_color,s=[];let o=cn(n.color_pattern)?n.color_pattern:pc(Xv(e.chart)||Yv).range();const l=o;if(ve(n.color_tiles)){const c=n.color_tiles.bind(t.api)(),f=o.map((g,v)=>{const m=g.replace(/[#\(\)\s,]/g,""),S=`${t.state.datetimeId}-pattern-${m}-${v}`;return Vv(c[v%c.length],g,S)});o=f.map(g=>`url(#${g.id})`),t.patterns=f}return function(c){var f;const g=c.id||((f=c.data)==null?void 0:f.id)||c,v=t.isTypeOf(g,["line","spline","step"])||!n.data_types[g];let m;return ve(a[g])?m=a[g].bind(t.api)(c):a[g]?m=a[g]:(s.indexOf(g)<0&&s.push(g),m=v?l[s.indexOf(g)%l.length]:o[s.indexOf(g)%o.length],a[g]=m),ve(i)?i.bind(t.api)(m,c):m}},generateLevelColor(){const t=this,{config:e}=t,n=e.color_pattern,a=e.color_threshold,i=a.unit==="value",s=a.max||100,o=a.values&&a.values.length?a.values:[];return cn(a)?function(l){const c=i?l:l*100/s;let f=n[n.length-1];for(let g=0,v=o.length;g{const l=`${i.datetimeId}-labels-bg${n.getTargetSelectorSuffix(o)}${Xe(t)?n.getTargetSelectorSuffix(t):""}`;a.defs.append("filter").attr("x",e.x).attr("y",e.y).attr("width",e.width).attr("height",e.height).attr("id",l).html(` + `)})}},getGradienColortUrl(t){return`url(#${this.state.datetimeId}-gradient${this.getTargetSelectorSuffix(t)})`},updateLinearGradient(){const t=this,{config:e,data:{targets:n},state:{datetimeId:a},$el:{defs:i}}=t;n.forEach(s=>{const o=`${a}-gradient${t.getTargetSelectorSuffix(s.id)}`,l=t.hasPointType()&&e.point_radialGradient,c=t.isAreaType(s)&&"area"||t.isBarType(s)&&"bar";if((l||c)&&i.select(`#${o}`).empty()){const f=t.color(s),g={defs:null,stops:[]};if(l){const{cx:v=.3,cy:m=.3,r:S=.7,stops:P=[[.1,f,0],[.9,f,1]]}=l;g.stops=P,g.defs=i.append("radialGradient").attr("id",`${o}`).attr("cx",v).attr("cy",m).attr("r",S)}else{const v=e.axis_rotated,{x:m=v?[1,0]:[0,0],y:S=v?[0,0]:[0,1],stops:P=[[0,f,1],[1,f,0]]}=e[`${c}_linearGradient`];g.stops=P,g.defs=i.append("linearGradient").attr("id",`${o}`).attr("x1",m[0]).attr("x2",m[1]).attr("y1",S[0]).attr("y2",S[1])}g.stops.forEach(v=>{const[m,S,P]=v,N=ve(S)?S.bind(t.api)(s.id):S;g.defs&&g.defs.append("stop").attr("offset",m).attr("stop-color",N||f).attr("stop-opacity",P)})}})},setOverColor(t,e){const n=this,{config:a,$el:{main:i}}=n,s=a.color_onover;let o=t?s:n.color;Be(o)?o=({id:l})=>l in s?s[l]:n.color(l):Xe(o)?o=()=>s:ve(s)&&(o=o.bind(n.api)),i.selectAll(Be(e)?`.${je.arc}${n.getTargetSelectorSuffix(e.id)}`:`.${on.shape}-${e}`).style("fill",o)}},Wv={getYDomainMinMax(t,e){const n=this,{axis:a,config:i}=n,s=e==="min",o=i.data_groups,l=n.mapToIds(t),c=n.getValuesAsIdKeyed(t);if(o.length>0){const f=n[`has${s?"Negative":"Positive"}ValueInTargets`](t);o.forEach(g=>{const v=g.filter(m=>l.indexOf(m)>=0);if(v.length){const m=v[0],S=a.getId(m);f&&c[m]&&(c[m]=c[m].map(P=>(s?P<0:P>0)?P:0)),v.filter((P,N)=>N>0).forEach(P=>{if(c[P]){const N=a.getId(P);c[P].forEach((L,w)=>{const X=+L,W=s?X>0:X<0;N===S&&!(f&&W)&&(c[m][w]+=X)})}})}})}return _n(e,Object.keys(c).map(f=>_n(e,c[f])))},isHiddenTargetWithYDomain(t){const e=this;return e.state.hiddenTargetIds.some(n=>e.axis.getId(n)===t)},getYDomain(t,e,n){const a=this,{axis:i,config:s,scale:o}=a,l=`axis_${e}`;if(a.isStackNormalized())return[0,100];const c=(o==null?void 0:o[e])&&o[e].type==="log",f=t.filter(ct=>i.getId(ct.id)===e),g=n?a.filterByXDomain(f,n):f;if(g.length===0)return a.isHiddenTargetWithYDomain(e)?o[e].domain():e==="y2"?o.y.domain():a.getYDomain(t,"y2",n);const v=s[`${l}_min`],m=s[`${l}_max`],S=s[`${l}_center`],P=s[`${l}_inverted`],N=a.hasDataLabel()&&s.axis_rotated,L=a.hasDataLabel()&&!s.axis_rotated;let w=a.getYDomainMinMax(g,"min"),X=a.getYDomainMinMax(g,"max"),W=[se.BAR,se.BUBBLE,se.SCATTER,...Sr.Line].some(ct=>{const lt=ct.indexOf("area")>-1?"area":ct;return a.hasType(ct,g,!0)&&s[`${lt}_zerobased`]});w=De(v)?v:De(m)?w<=m?w:m-10:w,X=De(m)?m:De(v)?v<=X?X:v+10:X,isNaN(w)&&(w=0),isNaN(X)&&(X=w),w===X&&(w<0?X=0:w=0);const Y=w>=0&&X>=0,Q=w<=0&&X<=0;(De(v)&&Y||De(m)&&Q)&&(W=!1),W&&(Y&&(w=0),Q&&(X=0));const K=Math.abs(X-w);let at={top:K*.1,bottom:K*.1};if(ke(S)){const ct=Math.max(Math.abs(w),Math.abs(X));X=S+ct,w=S-ct}if(N){const ct=Dr(o.y.range()),lt=a.getDataLabelLength(w,X,"width").map(Gt=>Gt/ct);["bottom","top"].forEach((Gt,vt)=>{at[Gt]+=K*(lt[vt]/(1-lt[0]-lt[1]))})}else if(L){const ct=a.getDataLabelLength(w,X,"height");["bottom","top"].forEach((lt,Gt)=>{at[lt]+=a.convertPixelToScale("y",ct[Gt],K)})}at=a.getResettedPadding(at);const ht=s[`${l}_padding`];cn(ht)&&["bottom","top"].forEach(ct=>{at[ct]=i.getPadding(ht,ct,at[ct],K)}),W&&(Y&&(at.bottom=w),Q&&(at.top=-X));const St=c?[w,X].map(ct=>ct<0?0:ct):[w-at.bottom,X+at.top];return P?St.reverse():St},getXDomainMinMax(t,e){var n;const a=this,i=a.config[`axis_x_${e}`],s=_n(e,t.map(l=>_n(e,l.values.map(c=>c.x))));let o=Be(i)?i.value:i;return o=ke(o)&&((n=a.axis)!=null&&n.isTimeSeries())?zn.bind(this)(o):o,Be(i)&&i.fit&&(e==="min"&&os)&&(o=void 0),ke(o)?o:s},getXDomainPadding(t,e){const n=this,{axis:a,config:i}=n,s=i.axis_x_padding,o=a.isTimeSeries()&&e,l=Dr(t);let c;if(a.isCategorized()||o)c=0;else if(n.hasType("bar")){const v=n.getMaxDataCount();c=v>1?l/(v-1)/2:.5}else c=n.getResettedPadding(l*.01);let{left:f=c,right:g=c}=he(s)?{left:s,right:s}:s;if(s.unit==="px"){const v=Math.abs(l+l*.2);f=a.getPadding(s,"left",c,v),g=a.getPadding(s,"right",c,v)}else{const v=l+f+g;if(o&&v){const m=l/e/v;f=f/v/m,g=g/v/m}}return{left:f,right:g}},getXDomain(t){const e=this,{axis:n,config:a,scale:{x:i}}=e,s=a.axis_x_inverted,o=[e.getXDomainMinMax(t,"min"),e.getXDomainMinMax(t,"max")];let[l=0,c=0]=o;if(i.type!=="log"){const f=n.isCategorized(),g=n.isTimeSeries(),v=e.getXDomainPadding(o);let[m,S]=o;m-S===0&&!f&&(g?(m=new Date(m.getTime()*.5),S=new Date(S.getTime()*1.5)):(m=m===0?1:m*.5,S=S===0?-1:S*1.5)),(m||m===0)&&(l=g?new Date(m.getTime()-v.left):m-v.left),(S||S===0)&&(c=g?new Date(S.getTime()+v.right):S+v.right)}return s?[c,l]:[l,c]},updateXDomain(t,e,n,a,i){var s;const o=this,{config:l,org:c,scale:{x:f,subX:g}}=o,v=l.zoom_enabled;if(n&&(f.domain(i||na(o.getXDomain(t),!l.axis_x_inverted)),c.xDomain=f.domain(),g.domain(f.domain()),(s=o.brush)==null||s.scale(g)),e){const m=i||!o.brush||Kl(o)?c.xDomain:Wl(o).map(g.invert);f.domain(m)}return(n||e)&&v&&o.zoom.updateScaleExtent(),a&&f.domain(o.trimXDomain(f.orgDomain())),f.domain()},trimXDomain(t){const e=this,n=e.config.axis_x_inverted,a=e.getZoomDomain(),[i,s]=a;return(n?t[0]>=i:t[0]<=i)&&(t[1]=+t[1]+(i-t[0]),t[0]=i),(n?t[1]<=s:t[1]>=s)&&(t[0]=+t[0]-(t[1]-s),t[1]=s),t},getZoomDomain(t="zoom",e=!1){const n=this,{config:a,scale:i,org:s}=n;let[o,l]=e&&i[t]?i[t].domain():s.xDomain;return t==="zoom"&&(ke(a.zoom_x_min)&&(o=_n("min",[o,a.zoom_x_min])),ke(a.zoom_x_max)&&(l=_n("max",[l,a.zoom_x_max]))),[o,l]},getZoomDomainValue(t){const e=this,{config:n,axis:a}=e;if(a.isCategorized()&&Array.isArray(t)){const i=n.axis_x_inverted;return t.map((o,l)=>Number(o)+(l===0?+i:+!i))}return t},convertPixelToScale(t,e,n){const a=this,{config:i,state:s}=a,o=i.axis_rotated;let l;return t==="x"?l=o?"height":"width":l=o?"width":"height",n*(e/s[l])},withinRange(t,e=[0,0],n){const i=this.config.axis_x_inverted,[s,o]=n;if(Array.isArray(t)){const l=[...t];if(i&&l.reverse(),l[0](f===0?i?+c<=s:+c>=s:i?+c>=o:+c<=o)&&!t.every((g,v)=>g===e[v]))}return!1}};function mc(t,e,n){const{config:a}=t,i=`axis_${e}_tick_format`;return(a[i]?a[i]:t.defaultValueFormat).call(t.api,n)}var Kv={yFormat(t){return mc(this,"y",t)},y2Format(t){return mc(this,"y2",t)},getDefaultValueFormat(){const t=this,{defaultArcValueFormat:e,yFormat:n,y2Format:a}=t,i=t.hasArcType(null,["gauge","polar","radar"]);return function(s,o,l){return(i?e:t.axis&&t.axis.getId(l)==="y2"?a:n).call(t,s,o)}},defaultValueFormat(t){return ze(t)?t.join("~"):De(t)?+t:""},defaultArcValueFormat(t,e){return`${(e*100).toFixed(1)}%`},defaultPolarValueFormat(t){return`${t}`},dataLabelFormat(t){const e=this,n=e.config.data_labels,a=s=>{const o="~";let l=s;return ze(s)?l=s.join(o):Be(s)&&(l=Object.values(s).join(o)),l};let i=a;return ve(n.format)?i=n.format:nr(n.format)&&(n.format[t]?i=n.format[t]===!0?a:n.format[t]:i=()=>""),i.bind(e.api)}};function Ii(t){const e=this,n=e.getDataById(t);return e.levelColor?e.levelColor(n.values[0].value):e.color(n)}function Hs(t,e=!0){var n;const{config:a}=this;let i=(n=a.data_names[t])!=null?n:t;return e&&ve(a.legend_format)&&(i=a.legend_format(i,t!==i?t:void 0)),i}var Zv={initLegend(){const t=this,{config:e,$el:n}=t;t.legendItemTextBox={},t.state.legendHasRendered=!1,e.legend_show?(e.legend_contents_bindto||(n.legend=t.$el.svg.append("g").classed(We.legend,!0).attr("transform",t.getTranslate("legend"))),t.updateLegend()):t.state.hiddenLegendIds=t.mapToIds(t.data.targets)},updateLegend(t,e,n){var a;const i=this,{config:s,state:o,scale:l,$el:c}=i,f=e||{withTransform:!1,withTransitionForTransform:!1,withTransition:!1};f.withTransition=$r(f,"withTransition",!0),f.withTransitionForTransform=$r(f,"withTransitionForTransform",!0),s.legend_contents_bindto&&s.legend_contents_template?i.updateLegendTemplate():o.hasTreemap||i.updateLegendElement(t||i.mapToIds(i.data.targets),f,n),(a=c.legend)==null||a.selectAll(`.${We.legendItem}`).classed(We.legendItemHidden,function(g){const v=!i.isTargetToShow(g);return v&&(this.style.opacity=null),v}),i.updateScales(!1,!l.zoom),i.updateSvgSize(),i.transformAll(f.withTransitionForTransform,n),o.legendHasRendered=!0},updateLegendTemplate(){const t=this,{config:e,$el:n}=t,a=st(e.legend_contents_bindto),i=e.legend_contents_template;if(!a.empty()){const s=t.mapToIds(t.data.targets),o=[];let l="";s.forEach(f=>{const g=ve(i)?i.bind(t.api)(f,t.color(f),t.api.data(f)[0].values):bi(i,{COLOR:t.color(f),TITLE:f});g&&(o.push(f),l+=g)});const c=a.html(l).selectAll(function(){return this.childNodes}).data(o);t.setLegendItem(c),n.legend=a}},updateSizeForLegend(t){const e=this,{config:n,state:{isLegendTop:a,isLegendLeft:i,isLegendRight:s,isLegendInset:o,current:l}}=e,{width:c,height:f}=t,g={top:a?e.getCurrentPaddingByDirection("top")+n.legend_inset_y+5.5:l.height-f-e.getCurrentPaddingByDirection("bottom")-n.legend_inset_y,left:i?e.getCurrentPaddingByDirection("left")+n.legend_inset_x+.5:l.width-c-e.getCurrentPaddingByDirection("right")-n.legend_inset_x+.5};e.state.margin3={top:s?0:o?g.top:l.height-f,right:NaN,bottom:0,left:s?l.width-c:o?g.left:0}},transformLegend(t){const e=this,{$el:{legend:n},$T:a}=e;a(n,t).attr("transform",e.getTranslate("legend"))},updateLegendStep(t){this.state.legendStep=t},updateLegendItemWidth(t){this.state.legendItemWidth=t},updateLegendItemHeight(t){this.state.legendItemHeight=t},updateLegendItemColor(t,e){const{legend:n}=this.$el;n&&n.select(`.${We.legendItem}-${t} line`).style("stroke",e)},getLegendWidth(){const t=this,{current:{width:e},isLegendRight:n,isLegendInset:a,legendItemWidth:i,legendStep:s}=t.state;return t.config.legend_show?n||a?i*(s+1):e:0},getLegendHeight(){var t;const e=this,{current:n,isLegendRight:a,legendItemHeight:i,legendStep:s}=e.state,o=((t=e.config.padding)==null?void 0:t.mode)==="fit";return e.config.legend_show?a?n.height:Math.max(o?10:20,i)*(s+1):0},opacityForUnfocusedLegend(t){return t.classed(We.legendItemHidden)?null:"0.3"},toggleFocusLegend(t,e){const n=this,{$el:{legend:a},$T:i}=n,s=n.mapToTargetIds(t);a&&i(a.selectAll(`.${We.legendItem}`).filter(o=>s.indexOf(o)>=0).classed(qe.legendItemFocused,e)).style("opacity",function(){return e?null:n.opacityForUnfocusedLegend.call(n,st(this))})},revertLegend(){const t=this,{$el:{legend:e},$T:n}=t;e&&n(e.selectAll(`.${We.legendItem}`).classed(qe.legendItemFocused,!1)).style("opacity",null)},showLegend(t){const e=this,{config:n,$el:a,$T:i}=e;n.legend_show||(n.legend_show=!0,a.legend?a.legend.style("visibility",null):e.initLegend(),!e.state.legendHasRendered&&e.updateLegend()),e.removeHiddenLegendIds(t),i(a.legend.selectAll(e.selectorLegends(t)).style("visibility",null)).style("opacity",null)},hideLegend(t){const e=this,{config:n,$el:{legend:a}}=e;n.legend_show&&qn(t)&&(n.legend_show=!1,a.style("visibility","hidden")),e.addHiddenLegendIds(t),a.selectAll(e.selectorLegends(t)).style("opacity","0").style("visibility","hidden")},getLegendItemTextBox(t,e){const n=this,{cache:a,state:i}=n;let s;const o=Ln.legendItemTextBox;return t&&(s=!i.redrawing&&a.get(o)||{},s[t]||(s[t]=n.getTextRect(e,We.legendItem),a.add(o,s)),s=s[t]),s},setLegendItem(t){const e=this,{$el:n,api:a,config:i,state:s}=e,o=s.inputType==="touch",l=e.hasType("gauge"),c=i.boost_useCssRule,f=i.legend_item_interaction;t.attr("class",function(g){const v=st(this);return(!v.empty()&&v.attr("class")||"")+e.generateClass(We.legendItem,g)}).style("visibility",g=>e.isLegendToShow(g)?null:"hidden"),i.interaction_enabled&&(c&&[[`.${We.legendItem}`,"cursor:pointer"],[`.${We.legendItem} text`,"pointer-events:none"],[`.${We.legendItemPoint} text`,"pointer-events:none"],[`.${We.legendItemTile}`,"pointer-events:none"],[`.${We.legendItemEvent}`,"fill-opacity:0"]].forEach(g=>{const[v,m]=g;e.setCssRule(!1,v,[m])(n.legend)}),t.on(f.dblclick?"dblclick":"click",f||ve(i.legend_item_onclick)?function(g,v){if(!_e(i.legend_item_onclick,a,v,!s.hiddenTargetIds.includes(v))){const{altKey:m,target:S,type:P}=g;P==="dblclick"||m?s.hiddenTargetIds.length&&S.parentNode.getAttribute("class").indexOf(We.legendItemHidden)===-1?a.show():(a.hide(),a.show(v)):(a.toggle(v),st(this).classed(qe.legendItemFocused,!1))}o&&e.hideTooltip()}:null),!o&&t.on("mouseout",f||ve(i.legend_item_onout)?function(g,v){_e(i.legend_item_onout,a,v,!s.hiddenTargetIds.includes(v))||(st(this).classed(qe.legendItemFocused,!1),l&&e.undoMarkOverlapped(e,`.${Un.gaugeValue}`),e.api.revert())}:null).on("mouseover",f||ve(i.legend_item_onover)?function(g,v){_e(i.legend_item_onover,a,v,!s.hiddenTargetIds.includes(v))||(st(this).classed(qe.legendItemFocused,!0),l&&e.markOverlapped(v,e,`.${Un.gaugeValue}`),!s.transiting&&e.isTargetToShow(v)&&a.focus(v))}:null),!t.empty()&&t.on("click mouseout mouseover")&&t.style("cursor",e.getStylePropValue("pointer")))},updateLegendElement(t,e){const n=this,{config:a,state:i,$el:{legend:s},$T:o}=n,c=a.legend_item_tile_type!=="circle",f=a.legend_item_tile_r,g={width:c?a.legend_item_tile_width:f*2,height:c?a.legend_item_tile_height:f*2},v={padding:{top:4,right:10},max:{width:0,height:0},posMin:10,step:0,tileWidth:g.width+5,totalLength:0},m={offsets:{},widths:{},heights:{},margins:[0],steps:{}};let S,P,N;const L=t.filter(K=>!ke(a.data_names[K])||a.data_names[K]!==null),w=e.withTransition,X=n.getUpdateLegendPositions(L,v,m);i.isLegendInset&&(v.step=a.legend_inset_step?a.legend_inset_step:L.length,n.updateLegendStep(v.step)),i.isLegendRight?(S=K=>v.max.width*m.steps[K],P=K=>m.margins[m.steps[K]]+m.offsets[K]):i.isLegendInset?(S=K=>v.max.width*m.steps[K]+10,P=K=>m.margins[m.steps[K]]+m.offsets[K]):(S=K=>m.margins[m.steps[K]]+m.offsets[K],P=K=>v.max.height*m.steps[K]);const W={xText:(K,at)=>S(K,at)+4+g.width,xRect:(K,at)=>S(K,at),x1Tile:(K,at)=>S(K,at)-2,x2Tile:(K,at)=>S(K,at)-2+g.width,yText:(K,at)=>P(K,at)+9,yRect:(K,at)=>P(K,at)-5,yTile:(K,at)=>P(K,at)+4};n.generateLegendItem(L,g,X,W),N=s.select(`.${We.legendBackground} rect`),i.isLegendInset&&v.max.width>0&&N.size()===0&&(N=s.insert("g",`.${We.legendItem}`).attr("class",We.legendBackground).append("rect")),a.legend_tooltip&&s.selectAll("title").data(L).text(K=>Hs.bind(n)(K,!1));const Y=s.selectAll("text").data(L).text(K=>Hs.bind(n)(K)).each(function(K,at){X(this,K,at)});o(Y,w).attr("x",W.xText).attr("y",W.yText);const Q=s.selectAll(`rect.${We.legendItemEvent}`).data(L);o(Q,w).attr("width",K=>m.widths[K]).attr("height",K=>m.heights[K]).attr("x",W.xRect).attr("y",W.yRect),n.updateLegendItemPos(L,w,W),N&&o(N,w).attr("height",n.getLegendHeight()-12).attr("width",v.max.width*(v.step+1)+10),n.updateLegendItemWidth(v.max.width),n.updateLegendItemHeight(v.max.height),n.updateLegendStep(v.step)},getUpdateLegendPositions(t,e,n){const a=this,{config:i,state:s}=a,o=s.isLegendRight||s.isLegendInset;return function(l,c,f){const g=f===0,v=f===t.length-1,m=a.getLegendItemTextBox(c,l),S=m.width+e.tileWidth+(v&&!o?0:e.padding.right)+i.legend_padding,P=m.height+e.padding.top,N=o?P:S,L=o?a.getLegendHeight():a.getLegendWidth();let w;const X=function(Y,Q){Q||(w=(L-e.totalLength-N)/2,w=e.max.width)&&(e.max.width=S),(!e.max.height||P>=e.max.height)&&(e.max.height=P);const W=o?e.max.height:e.max.width;i.legend_equally?(Object.keys(n.widths).forEach(Y=>n.widths[Y]=e.max.width),Object.keys(n.heights).forEach(Y=>n.heights[Y]=e.max.height),w=(L-W*t.length)/2,wX(Y))):X(c,!0)):X(c)}},generateLegendItem(t,e,n,a){const i=this,{config:s,state:o,$el:{legend:l}}=i,c=s.legend_usePoint,f=s.legend_item_tile_r,g=s.legend_item_tile_type,v=g!=="circle",m=o.isLegendRight||o.isLegendInset,S=-200,P=l.selectAll(`.${We.legendItem}`).data(t).enter().append("g");if(i.setLegendItem(P),s.legend_tooltip&&P.append("title").text(N=>N),P.append("text").text(N=>Hs.bind(i)(N)).each(function(N,L){n(this,N,L)}).style("pointer-events",i.getStylePropValue("none")).attr("x",m?a.xText:S).attr("y",m?S:a.yText),P.append("rect").attr("class",We.legendItemEvent).style("fill-opacity",i.getStylePropValue("0")).attr("x",m?a.xRect:S).attr("y",m?S:a.yRect),c){const N=[];P.append(L=>{const w=cn(s.point_pattern)?s.point_pattern:[s.point_type];N.indexOf(L)===-1&&N.push(L);let X=w[N.indexOf(L)%w.length];return X==="rectangle"&&(X="rect"),vn.createElementNS(ae.svg,"hasValidPointType"in i&&i.hasValidPointType(X)?X:"use")}).attr("class",We.legendItemPoint).style("fill",Ii.bind(i)).style("pointer-events",i.getStylePropValue("none")).attr("href",(L,w,X)=>{const Y=X[w].nodeName.toLowerCase(),Q=i.getTargetSelectorSuffix(L);return Y==="use"?`#${o.datetimeId}-point${Q}`:void 0})}else P.append(v?"line":g).attr("class",We.legendItemTile).style("stroke",Ii.bind(i)).style("pointer-events",i.getStylePropValue("none")).call(N=>{g==="circle"?N.attr("r",f).style("fill",Ii.bind(i)).attr("cx",m?a.x2Tile:S).attr("cy",m?S:a.yTile):v&&N.attr("stroke-width",e.height).attr("x1",m?a.x1Tile:S).attr("y1",m?S:a.yTile).attr("x2",m?a.x2Tile:S).attr("y2",m?S:a.yTile)})},updateLegendItemPos(t,e,n){const a=this,{config:i,$el:{legend:s},$T:o}=a,l=i.legend_usePoint,c=i.legend_item_tile_type,f=c!=="circle";if(l){const g=s.selectAll(`.${We.legendItemPoint}`).data(t);o(g,e).each(function(){const v=this.nodeName.toLowerCase(),m=i.point_r;let S="x",P="y",N=2,L=2.5,w=null,X=null,W=null;if(v==="circle"){const Y=m*.2;S="cx",P="cy",w=m+Y,N=m*2,L=-Y}else if(v==="rect"){const Y=m*2.5;X=Y,W=Y,L=3}st(this).attr(S,Y=>n.x1Tile(Y)+N).attr(P,Y=>n.yTile(Y)-L).attr("r",w).attr("width",X).attr("height",W)})}else{const g=s.selectAll(`.${We.legendItemTile}`).data(t);o(g,e).style("stroke",Ii.bind(a)).call(v=>{c==="circle"?v.attr("cx",m=>{const S=n.x2Tile(m);return S-(S-n.x1Tile(m))/2}).attr("cy",n.yTile):f&&v.attr("x1",n.x1Tile).attr("y1",n.yTile).attr("x2",n.x2Tile).attr("y2",n.yTile)})}}},Jv={redraw(t={}){var e,n,a,i;const s=this,{config:o,state:l,$el:c}=s,{main:f,treemap:g}=c;l.redrawing=!0;const v=s.filterTargetsToShow(s.data.targets),{flow:m,initializing:S}=t,P=s.getWithOption(t),N=P.Transition?o.transition_duration:0,L=P.TransitionForExit?N:0,w=P.TransitionForAxis?N:0,X=(e=s.axis)==null?void 0:e.generateTransitions(w);s.updateSizes(S),P.Legend&&o.legend_show?(t.withTransition=!!N,!g&&s.updateLegend(s.mapToIds(s.data.targets),t,X)):P.Dimension&&s.updateDimension(!0),o.data_empty_label_text&&f.select(`text.${On.text}.${Se.empty}`).attr("x",l.width/2).attr("y",l.height/2).text(o.data_empty_label_text).style("display",v.length?"none":null),l.hasAxis?(s.axis.redrawAxis(v,P,X,m,S),s.hasGrid()&&s.updateGrid(),o.regions.length&&s.updateRegion(),["bar","candlestick","line","area"].forEach(W=>{const Y=Dn(W);(/^(line|area)$/.test(W)&&s.hasTypeOf(Y)||s.hasType(W))&&s[`update${Y}`](P.TransitionForExit)}),c.text&&f.selectAll(`.${tn.selectedCircles}`).filter(s.isBarType.bind(s)).selectAll("circle").remove(),o.interaction_enabled&&!m&&P.EventRect&&(s.redrawEventRect(),(n=s.bindZoomEvent)==null||n.call(s))):(c.arcs&&s.redrawArc(N,L,P.Transform),c.radar&&s.redrawRadar(),c.polar&&s.redrawPolar(),c.funnel&&s.redrawFunnel(),g&&s.updateTreemap(L)),!l.resizing&&!g&&(s.hasPointType()||l.hasRadar)?s.updateCircle():(a=s.hasLegendDefsPoint)!=null&&a.call(s)&&s.data.targets.forEach(s.point("create",this)),s.hasDataLabel()&&!s.hasArcType(null,["radar"])&&s.updateText(),(i=s.redrawTitle)==null||i.call(s),S&&s.updateTypesElements(),s.generateRedrawList(v,m,N,P.Subchart),s.updateTooltipOnRedraw(),s.callPluginHook("$redraw",t,N)},generateRedrawList(t,e,n,a){const i=this,{config:s,state:o}=i,l=i.getDrawShape();o.hasAxis&&s.subchart_show&&i.redrawSubchart(a,n,l);const c=e&&i.generateFlow({targets:t,flow:e,duration:e.duration,shape:l,xv:i.xv.bind(i)}),f=(n||c)&&Ma(),g=i.getRedrawList(l,e,c,f),v=()=>{c&&c(),o.redrawing=!1,_e(s.onrendered,i.api)};if(v)if(f&&g.length){const m=ec();Ml().duration(n).each(()=>{g.reduce((S,P)=>S.concat(P),[]).forEach(S=>m.add(S))}).call(m,v)}else o.transiting||v();i.mapToIds(i.data.targets).forEach(m=>{o.withoutFadeIn[m]=!0})},getRedrawList(t,e,n,a){const i=this,{config:s,state:{hasAxis:o,hasRadar:l,hasTreemap:c},$el:{grid:f}}=i,{cx:g,cy:v,xForText:m,yForText:S}=t.pos,P=[];return o&&((s.grid_x_lines.length||s.grid_y_lines.length)&&P.push(i.redrawGrid(a)),s.regions.length&&P.push(i.redrawRegion(a)),Object.keys(t.type).forEach(N=>{const L=Dn(N),w=t.type[N];(/^(area|line)$/.test(N)&&i.hasTypeOf(L)||i.hasType(N))&&P.push(i[`redraw${L}`](w,a))}),!e&&f.main&&P.push(i.updateGridFocus())),(!i.hasArcType()||l)&&cn(s.data_labels)&&s.data_labels!==!1&&P.push(i.redrawText(m,S,e,a)),(i.hasPointType()||l)&&!i.isPointFocusOnly()&&i.redrawCircle&&P.push(i.redrawCircle(g,v,a,n)),c&&P.push(i.redrawTreemap(a)),P},updateAndRedraw(t={}){const e=this,{config:n,state:a}=e;let i;t.withTransition=$r(t,"withTransition",!0),t.withTransform=$r(t,"withTransform",!1),t.withLegend=$r(t,"withLegend",!1),t.withUpdateXDomain=!0,t.withUpdateOrgXDomain=!0,t.withTransitionForExit=!1,t.withTransitionForTransform=$r(t,"withTransitionForTransform",t.withTransition),t.withLegend&&n.legend_show||(a.hasAxis&&(i=e.axis.generateTransitions(t.withTransitionForAxis?n.transition_duration:0)),e.updateScales(),e.updateSvgSize(),e.transformAll(t.withTransitionForTransform,i)),e.redraw(t,i)}};const kv=Math.sqrt(50),Qv=Math.sqrt(10),qv=Math.sqrt(2);function Oi(t,e,n){const a=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(a)),s=a/Math.pow(10,i),o=s>=kv?10:s>=Qv?5:s>=qv?2:1;let l,c,f;return i<0?(f=Math.pow(10,-i)/o,l=Math.round(t*f),c=Math.round(e*f),l/fe&&--c,f=-f):(f=Math.pow(10,i)*o,l=Math.round(t/f),c=Math.round(e/f),l*fe&&--c),c0))return[];if(t===e)return[t];const a=e=i))return[];const l=s-i+1,c=new Array(l);if(a)if(o<0)for(let f=0;fe?1:t>=e?0:NaN}function _v(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function Js(t){let e,n,a;t.length!==2?(e=Ci,n=(l,c)=>Ci(t(l),c),a=(l,c)=>t(l)-c):(e=t===Ci||t===_v?t:tp,n=t,a=t);function i(l,c,f=0,g=l.length){if(f>>1;n(l[v],c)<0?f=v+1:g=v}while(f>>1;n(l[v],c)<=0?f=v+1:g=v}while(ff&&a(l[v-1],c)>-a(l[v],c)?v-1:v}return{left:i,center:o,right:s}}function tp(){return 0}function ep(t){return t===null?NaN:+t}function*h1(t,e){if(e===void 0)for(let n of t)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let a of t)(a=e(a,++n,t))!=null&&(a=+a)>=a&&(yield a)}}const yc=Js(Ci),np=yc.right,g1=yc.left,v1=Js(ep).center;var rp=np;function ap(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}function ip(t){return function(){return t}}function sp(t){return+t}var xc=[0,1];function aa(t){return t}function ks(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:ip(isNaN(e)?NaN:.5)}function op(t,e){var n;return t>e&&(n=t,t=e,e=n),function(a){return Math.max(t,Math.min(e,a))}}function lp(t,e,n){var a=t[0],i=t[1],s=e[0],o=e[1];return i2?cp:lp,c=f=null,v}function v(m){return m==null||isNaN(m=+m)?s:(c||(c=l(t.map(a),e,n)))(a(o(m)))}return v.invert=function(m){return o(i((f||(f=l(e,t.map(a),kn)))(m)))},v.domain=function(m){return arguments.length?(t=Array.from(m,sp),g()):t.slice()},v.range=function(m){return arguments.length?(e=Array.from(m),g()):e.slice()},v.rangeRound=function(m){return e=Array.from(m),n=ap,g()},v.clamp=function(m){return arguments.length?(o=m?!0:aa,g()):o!==aa},v.interpolate=function(m){return arguments.length?(n=m,g()):n},v.unknown=function(m){return arguments.length?(s=m,v):s},function(m,S){return a=m,i=S,g()}}function Tc(){return Qs()(aa,aa)}var up=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function La(t){if(!(e=up.exec(t)))throw new Error("invalid format: "+t);var e;return new qs({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}La.prototype=qs.prototype;function qs(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}qs.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function fp(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function wi(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,a=t.slice(0,n);return[a.length>1?a[0]+a.slice(2):a,+t.slice(n+1)]}function ia(t){return t=wi(Math.abs(t)),t?t[1]:NaN}function dp(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(ia(e)/3)))*3-ia(Math.abs(t)))}function hp(t,e){return function(n,a){for(var i=n.length,s=[],o=0,l=t[0],c=0;i>0&&l>0&&(c+l+1>a&&(l=Math.max(1,a-c)),s.push(n.substring(i-=l,i+l)),!((c+=l+1)>a));)l=t[o=(o+1)%t.length];return s.reverse().join(e)}}function gp(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}function vp(t){t:for(var e=t.length,n=1,a=-1,i;n0&&(a=0);break}return a>0?t.slice(0,a)+t.slice(i+1):t}var $c;function pp(t,e){var n=wi(t,e);if(!n)return t+"";var a=n[0],i=n[1],s=i-($c=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=a.length;return s===o?a:s>o?a+new Array(s-o+1).join("0"):s>0?a.slice(0,s)+"."+a.slice(s):"0."+new Array(1-s).join("0")+wi(t,Math.max(0,e+s-1))[0]}function Sc(t,e){var n=wi(t,e);if(!n)return t+"";var a=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+a:a.length>i+1?a.slice(0,i+1)+"."+a.slice(i+1):a+new Array(i-a.length+2).join("0")}var Ac={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:fp,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Sc(t*100,e),r:Sc,s:pp,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Ec(t){return t}var bc=Array.prototype.map,Rc=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function mp(t){var e=t.grouping===void 0||t.thousands===void 0?Ec:hp(bc.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",a=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",s=t.numerals===void 0?Ec:gp(bc.call(t.numerals,String)),o=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"\u2212":t.minus+"",c=t.nan===void 0?"NaN":t.nan+"";function f(v){v=La(v);var m=v.fill,S=v.align,P=v.sign,N=v.symbol,L=v.zero,w=v.width,X=v.comma,W=v.precision,Y=v.trim,Q=v.type;Q==="n"?(X=!0,Q="g"):Ac[Q]||(W===void 0&&(W=12),Y=!0,Q="g"),(L||m==="0"&&S==="=")&&(L=!0,m="0",S="=");var K=N==="$"?n:N==="#"&&/[boxX]/.test(Q)?"0"+Q.toLowerCase():"",at=N==="$"?a:/[%p]/.test(Q)?o:"",ht=Ac[Q],St=/[defgprs%]/.test(Q);W=W===void 0?6:/[gprs]/.test(Q)?Math.max(1,Math.min(21,W)):Math.max(0,Math.min(20,W));function ct(lt){var Gt=K,vt=at,Z,$t,ut;if(Q==="c")vt=ht(lt)+vt,lt="";else{lt=+lt;var At=lt<0||1/lt<0;if(lt=isNaN(lt)?c:ht(Math.abs(lt),W),Y&&(lt=vp(lt)),At&&+lt==0&&P!=="+"&&(At=!1),Gt=(At?P==="("?P:l:P==="-"||P==="("?"":P)+Gt,vt=(Q==="s"?Rc[8+$c/3]:"")+vt+(At&&P==="("?")":""),St){for(Z=-1,$t=lt.length;++Z<$t;)if(ut=lt.charCodeAt(Z),48>ut||ut>57){vt=(ut===46?i+lt.slice(Z+1):lt.slice(Z))+vt,lt=lt.slice(0,Z);break}}}X&&!L&&(lt=e(lt,1/0));var Vt=Gt.length+lt.length+vt.length,Bt=Vt>1)+Gt+lt+vt+Bt.slice(Vt);break;default:lt=Bt+Gt+lt+vt;break}return s(lt)}return ct.toString=function(){return v+""},ct}function g(v,m){var S=f((v=La(v),v.type="f",v)),P=Math.max(-8,Math.min(8,Math.floor(ia(m)/3)))*3,N=Math.pow(10,-P),L=Rc[8+P/3];return function(w){return S(N*w)+L}}return{format:f,formatPrefix:g}}var Mi,_s,Ic;yp({thousands:",",grouping:[3],currency:["$",""]});function yp(t){return Mi=mp(t),_s=Mi.format,Ic=Mi.formatPrefix,Mi}function xp(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,ia(e)-ia(t))+1}function Tp(t){return Math.max(0,-ia(Math.abs(t)))}function $p(t,e,n,a){var i=Zs(t,e,n),s;switch(a=La(a==null?",f":a),a.type){case"s":{var o=Math.max(Math.abs(t),Math.abs(e));return a.precision==null&&!isNaN(s=dp(i,o))&&(a.precision=s),Ic(a,o)}case"":case"e":case"g":case"p":case"r":{a.precision==null&&!isNaN(s=xp(i,Math.max(Math.abs(t),Math.abs(e))))&&(a.precision=s-(a.type==="e"));break}case"f":case"%":{a.precision==null&&!isNaN(s=Tp(i))&&(a.precision=s-(a.type==="%")*2);break}}return _s(a)}function Oc(t){var e=t.domain;return t.ticks=function(n){var a=e();return Ws(a[0],a[a.length-1],n==null?10:n)},t.tickFormat=function(n,a){var i=e();return $p(i[0],i[i.length-1],n==null?10:n,a)},t.nice=function(n){n==null&&(n=10);var a=e(),i=0,s=a.length-1,o=a[i],l=a[s],c,f,g=10;for(l0;){if(f=Ks(o,l,n),f===c)return a[i]=o,a[s]=l,e(a);if(f>0)o=Math.floor(o/f)*f,l=Math.ceil(l/f)*f;else if(f<0)o=Math.ceil(o*f)/f,l=Math.floor(l*f)/f;else break;c=f}return t},t}function Di(){var t=Tc();return t.copy=function(){return Pi(t,Di())},ra.apply(t,arguments),Oc(t)}function Cc(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function Pc(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function Sp(t){var e=1,n=t(Cc(e),Pc(e));return n.constant=function(a){return arguments.length?t(Cc(e=+a),Pc(e)):e},Oc(n)}function wc(){var t=Sp(Qs());return t.copy=function(){return Pi(t,wc()).constant(t.constant())},ra.apply(t,arguments)}function Mc(t,e){t=t.slice();var n=0,a=t.length-1,i=t[n],s=t[a],o;return sMath.pow(t,e)}function Ip(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function Nc(t){return(e,n)=>-t(-e,n)}function Op(t){const e=t(Dc,Lc),n=e.domain;let a=10,i,s;function o(){return i=Ip(a),s=Rp(a),n()[0]<0?(i=Nc(i),s=Nc(s),t(Ap,Ep)):t(Dc,Lc),e}return e.base=function(l){return arguments.length?(a=+l,o()):a},e.domain=function(l){return arguments.length?(n(l),o()):n()},e.ticks=l=>{const c=n();let f=c[0],g=c[c.length-1];const v=g0){for(;m<=S;++m)for(P=1;Pg)break;w.push(N)}}else for(;m<=S;++m)for(P=a-1;P>=1;--P)if(N=m>0?P/s(-m):P*s(m),!(Ng)break;w.push(N)}w.length*2{if(l==null&&(l=10),c==null&&(c=a===10?"s":","),typeof c!="function"&&(!(a%1)&&(c=La(c)).precision==null&&(c.trim=!0),c=_s(c)),l===1/0)return c;const f=Math.max(1,a*l/e.ticks().length);return g=>{let v=g/s(Math.round(i(g)));return v*an(Mc(n(),{floor:l=>s(Math.floor(i(l))),ceil:l=>s(Math.ceil(i(l)))})),e}function Fc(){const t=Op(Qs()).domain([1,10]);return t.copy=()=>Pi(t,Fc()).base(t.base()),ra.apply(t,arguments),t}const Li=en(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Li.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?en(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Li);const p1=Li.range,Ur=en(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*Xn)},(t,e)=>(e-t)/Xn,t=>t.getUTCSeconds()),m1=Ur.range,to=en(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Xn)},(t,e)=>{t.setTime(+t+e*In)},(t,e)=>(e-t)/In,t=>t.getMinutes()),y1=to.range,eo=en(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*In)},(t,e)=>(e-t)/In,t=>t.getUTCMinutes()),x1=eo.range,no=en(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Xn-t.getMinutes()*In)},(t,e)=>{t.setTime(+t+e*Bn)},(t,e)=>(e-t)/Bn,t=>t.getHours()),T1=no.range,ro=en(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*Bn)},(t,e)=>(e-t)/Bn,t=>t.getUTCHours()),$1=ro.range,ao=en(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),S1=ao.range,io=en(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),A1=io.range;function Bc(t,e,n,a,i,s){const o=[[Ur,1,Xn],[Ur,5,5*Xn],[Ur,15,15*Xn],[Ur,30,30*Xn],[s,1,In],[s,5,5*In],[s,15,15*In],[s,30,30*In],[i,1,Bn],[i,3,3*Bn],[i,6,6*Bn],[i,12,12*Bn],[a,1,sr],[a,2,2*sr],[n,1,ts],[e,1,Po],[e,3,3*Po],[t,1,es]];function l(f,g,v){const m=gL).right(o,m);if(S===o.length)return t.every(Zs(f/es,g/es,v));if(S===0)return Li.every(Math.max(Zs(f,g,v),1));const[P,N]=o[m/o[S-1][2]n.axis.x.tickOffset()),i=n.config.axis_x_inverted,s=function(o){return t(o)+a()};for(const o in t)s[o]=t[o];return s.orgDomain=()=>t.domain(),s.orgScale=()=>t,n.axis.isCategorized()&&(s.domain=function(o){let l=o;return arguments.length?(t.domain(l),s):(l=this.orgDomain(),i?[l[0]+1,l[1]]:[l[0],l[1]+1])}),s},updateScales(t,e=!0){var n,a;const i=this,{axis:s,config:o,format:l,org:c,scale:f,state:{current:g,width:v,height:m,width2:S,height2:P,hasAxis:N,hasTreemap:L}}=i;if(N){const w=o.axis_rotated,X=i.getResettedPadding(1),W={x:w?X:0,y:w?0:m,subX:w?1:0,subY:w?0:P},Y={x:w?m:v,y:w?v:X,subX:w?m:v,subY:w?S:1},Q=e&&((n=f.x)==null?void 0:n.orgDomain()),K=e&&c.xDomain;f.x=i.getXScale(W.x,Y.x,Q,()=>s.x.tickOffset()),f.subX=i.getXScale(W.x,Y.x,K,at=>{var ht;return at%1?0:((ht=s.subX)!=null?ht:s.x).tickOffset()}),l.xAxisTick=s.getXAxisTickFormat(),l.subXAxisTick=s.getXAxisTickFormat(!0),s.setAxis("x",f.x,o.axis_x_tick_outer,t),o.subchart_show&&s.setAxis("subX",f.subX,o.axis_x_tick_outer,t),f.y=i.getYScale("y",W.y,Y.y,f.y?f.y.domain():o.axis_y_default),f.subY=i.getYScale("y",W.subY,Y.subY,f.subY?f.subY.domain():o.axis_y_default),s.setAxis("y",f.y,o.axis_y_tick_outer,t),o.axis_y2_show&&(f.y2=i.getYScale("y2",W.y,Y.y,f.y2?f.y2.domain():o.axis_y2_default),f.subY2=i.getYScale("y2",W.subY,Y.subY,f.subY2?f.subY2.domain():o.axis_y2_default),s.setAxis("y2",f.y2,o.axis_y2_tick_outer,t))}else if(L){const w=i.getCurrentPadding();f.x=Di().rangeRound([w.left,g.width-w.right]),f.y=Di().rangeRound([w.top,g.height-w.bottom])}else(a=i.updateArc)==null||a.call(i)},xx(t){const e=this,{config:n,scale:{x:a,zoom:i}}=e,s=n.zoom_enabled&&i?i:a;return t?s(De(t.x)?t.x:t):null},xv(t){const e=this,{axis:n,config:a,scale:{x:i,zoom:s}}=e,o=a.zoom_enabled&&s?s:i;let l=e.getBaseValue(t);return n.isTimeSeries()?l=zn.call(e,l):n.isCategorized()&&Xe(l)&&(l=a.axis_x_categories.indexOf(l)),o(l)},yv(t){const e=this,{scale:{y:n,y2:a}}=e;return(t.axis&&t.axis==="y2"?a:n)(e.getBaseValue(t))},subxx(t){return t?this.scale.subX(t.x):null}},Up={setContainerSize(){const t=this,{state:e}=t;e.current.width=t.getCurrentWidth(),e.current.height=t.getCurrentHeight()},getCurrentWidth(){const t=this;return t.config.size_width||t.getParentWidth()},getCurrentHeight(){const t=this,{config:e}=t,n=e.size_height||t.getParentHeight();return n>0?n:320/(t.hasType("gauge")&&!e.gauge_fullCircle?2:1)},getParentRectValue(t){const e=`offset${Dn(t)}`;let n=this.$el.chart.node(),a=0;for(;a<30&&n&&n.tagName!=="BODY";){try{a=n.getBoundingClientRect()[t]}catch(s){e in n&&(a=n[e])}n=n.parentNode}const i=vn.body[e];return a>i&&(a=i),a},getParentWidth(){return this.getParentRectValue("width")},getParentHeight(){const t=this.$el.chart.style("height");let e=0;return t&&(e=/px$/.test(t)?parseInt(t,10):this.getParentRectValue("height")),e},getSvgLeft(t){const e=this,{config:n,state:{hasAxis:a},$el:i}=e,s=n.axis_rotated,o=s||!s&&!n.axis_y_inner,l=s?dn.axisX:dn.axisY,c=i.main.select(`.${l}`).node(),f=a&&n[`axis_${s?"x":"y"}_label`];let g=0;if(a&&(Xe(f)||Xe(f.text)||/^inner-/.test(f==null?void 0:f.position))){const N=i.main.select(`.${l}-label`);N.empty()||(g=N.node().getBoundingClientRect().left)}const v=c&&o?c.getBoundingClientRect():{right:0},m=i.chart.node().getBoundingClientRect().left+g,S=e.hasArcType(),P=v.right-m-(S?0:e.getCurrentPaddingByDirection("left",t));return P>0?P:0},updateDimension(t){var e;const n=this,{config:a,state:{hasAxis:i},$el:s}=n;i&&!t&&n.axis.x&&a.axis_rotated&&((e=n.axis.subX)==null||e.create(s.axis.subX)),n.updateScales(t),n.updateSvgSize(),n.transformAll(!1)},updateSvgSize(){const t=this,{config:e,state:{clip:n,current:a,hasAxis:i,width:s,height:o},$el:{svg:l}}=t;if(e.resize_auto==="viewBox"?l.attr("viewBox",`0 0 ${a.width} ${a.height}`):l.attr("width",a.width).attr("height",a.height),i){const c=l.select(`.${Qo.brush} .overlay`),f={width:0,height:0};c.size()&&(f.width=+c.attr("width"),f.height=+c.attr("height")),l.selectAll([`#${n.id}`,`#${n.idGrid}`]).select("rect").attr("width",s).attr("height",o),l.select(`#${n.idXAxis}`).select("rect").call(t.setXAxisClipPath.bind(t)),l.select(`#${n.idYAxis}`).select("rect").call(t.setYAxisClipPath.bind(t)),n.idSubchart&&l.select(`#${n.idSubchart}`).select("rect").attr("width",s).attr("height",f.height)}},getCurrentPaddingByDirection(t,e=!1,n=!1){var a;const i=this,{config:s,$el:o,state:{hasAxis:l}}=i,c=s.axis_rotated,f=((a=s.padding)==null?void 0:a.mode)==="fit",g=he(s[`padding_${t}`])?s[`padding_${t}`]:void 0,v=l?{top:c?"y2":null,bottom:c?"y":"x",left:c?"x":"y",right:c?null:"y2"}[t]:null,m=/^(left|right)$/.test(t),S=v&&s[`axis_${v}_inner`],P=v&&s[`axis_${v}_show`],N=v?s[`axis_${v}_axes`].length:0;let L=v?m?i.getAxisWidthByAxisId(v,e):i.getHorizontalAxisHeight(v):0;const w=20;let X=0;!f&&m&&(L=Jg(L));let W=l&&m&&(S||ln(g)&&!P)?0:f?(P?L:0)+(g!=null?g:0):ln(g)?L:g;return m&&l?(v&&(f||S)&&s[`axis_${v}_label`].text&&(W+=i.axis.getAxisLabelPosition(v).isOuter?w:0),t==="right"?(W+=c?!f&&ln(g)?10:2:!P||S?f?2:1:0,W+=n?i.axis.getXAxisTickTextY2Overflow(w):0):t==="left"&&c&&ln(g)&&(W=s.axis_x_show?f?L:Math.max(L,40):1)):t==="top"?(o.title&&o.title.node()&&(W+=i.getTitlePadding()),X=c&&!S?N:0):t==="bottom"&&l&&c&&!P&&(W+=1),W+L*N-X},getCurrentPadding(t=!1){const e=this,[n,a,i,s]=["top","bottom","left","right"].map(o=>e.getCurrentPaddingByDirection(o,null,t));return{top:n,bottom:a,left:i,right:s}},getResettedPadding(t){const e=this,{config:n}=e,a=he(t);let i=a?0:{};return n.padding===!1?!a&&Object.keys(t).forEach(s=>{i[s]=!qn(n.data_labels)&&n.data_labels!==!1&&s==="top"?t[s]:0}):i=t,i},updateSizes(t){var e,n,a,i,s;const o=this,{config:l,state:c,$el:{legend:f}}=o,g=l.axis_rotated,v=o.hasArcType()||c.hasFunnel||c.hasTreemap,m=((e=l.padding)==null?void 0:e.mode)==="fit";!t&&o.setContainerSize();const S={width:f?o.getLegendWidth():0,height:f?o.getLegendHeight():0};!v&&l.axis_x_show&&l.axis_x_tick_autorotate&&o.updateXAxisTickClip();const P={right:l.legend_show&&c.isLegendRight?o.getLegendWidth()+(m?0:20):0,bottom:!l.legend_show||c.isLegendRight||c.isLegendInset?0:S.height},N=g||v?0:o.getHorizontalAxisHeight("x"),L=l.subchart_axis_x_show&&l.subchart_axis_x_tick_text_show?N:30,w=l.subchart_show&&!v?l.subchart_size_height+L:0,X=o.hasType("gauge")&&l.arc_needle_show&&!l.gauge_fullCircle&&!l.gauge_label_show?10:0,W=o.getCurrentPadding(!0);if(c.margin=!v&&g?{top:W.top,right:v?0:W.right+P.right,bottom:P.bottom+W.bottom,left:w+(v?0:W.left)}:{top:(m?0:4)+W.top,right:v?0:W.right+P.right,bottom:X+w+P.bottom+W.bottom,left:v?0:W.left},c.margin=o.getResettedPadding(c.margin),c.margin2=g?{top:c.margin.top,right:NaN,bottom:20+P.bottom,left:o.state.rotatedPadding.left}:{top:c.current.height-w-P.bottom,right:NaN,bottom:L+P.bottom,left:c.margin.left},c.margin3={top:0,right:NaN,bottom:0,left:0},(n=o.updateSizeForLegend)==null||n.call(o,S),c.width=c.current.width-c.margin.left-c.margin.right,c.height=c.current.height-c.margin.top-c.margin.bottom,c.width<0&&(c.width=0),c.height<0&&(c.height=0),c.width2=g?c.margin.left-c.rotatedPadding.left-c.rotatedPadding.right:c.width,c.height2=g?c.height:c.current.height-c.margin2.top-c.margin2.bottom,c.width2<0&&(c.width2=0),c.height2<0&&(c.height2=0),o.hasArcType()){const Y=o.hasType("gauge"),Q=l.legend_show&&c.isLegendRight,K=(a=c.hasRadar&&o.cache.get(Ln.radarTextWidth))!=null?a:0;c.arcWidth=c.width-(Q?S.width+10:0)-K,c.arcHeight=c.height-(Q&&!Y?0:10),(i=l.arc_rangeText_values)!=null&&i.length&&(Y?(c.arcWidth-=25,c.arcHeight-=10,c.margin.left+=10):(c.arcHeight-=20,c.margin.top+=10)),Y&&!l.gauge_fullCircle&&(c.arcHeight+=c.height-o.getPaddingBottomForGauge()),(s=o.updateRadius)==null||s.call(o)}c.isLegendRight&&v&&(c.margin3.left=c.arcWidth/2+c.radiusExpanded*1.1)}},zp={setCssRule(t,e,n,a){const i=this,{config:s,state:{cssRule:o,style:l}}=i;return s.boost_useCssRule?c=>{c.each(f=>{const g=a&&(a==null?void 0:a.call(i,f)),v=`${t?`.${on.shapes+i.getTargetSelectorSuffix(f.id)}`:""}${e}`;e in o&&l.sheet.deleteRule(o[v]),i.state.cssRule[v]=_g(l,v,n.filter(Boolean).map(m=>Xe(g)&&m.indexOf(":")===-1?`${m}: ${g}`:m||""))})}:()=>{}},getStylePropValue(t){const{config:{boost_useCssRule:e}}=this;return e?null:ve(t)?t.bind(this):t}};function Uc(t){return typeof t=="string"?new Ie([document.querySelectorAll(t)],[document.documentElement]):new Ie([T(t)],_t)}function jp(t){let e="middle";return t>0&&t<=170?e="end":t>190&&t<=360&&(e="start"),e}function Gp(t,e,n,a,i){var s;const o=this,{value:l}=t,c=o.isCandlestickType(t),f=he(l)&&l<0||c&&!((s=o.getCandlestickData(t))!=null&&s._isUp);let{x:g,y:v}=e;const m=4,S=m*2;return a?n==="start"?(g+=f?0:S,v+=m):n==="middle"?(g+=S,v-=S):n==="end"&&(f&&(g-=S),v+=m):(n==="start"?(g+=m,f&&(v+=S*2)):n==="middle"?v-=S:n==="end"&&(g-=m,f&&(v+=S*2)),i&&(v+=f?-17:c?13:7)),{x:g,y:v}}function zc(t,e){var n;const a=this.config.data_labels_position,{id:i,index:s,value:o}=t;return(n=ve(a)?a.bind(this.api)(e,o,i,s,this.$el.text):(i in a?a[i]:a)[e])!=null?n:0}var Vp={opacityForText(t){const e=this;return e.isBarType(t)&&!e.meetsLabelThreshold(Math.abs(e.getRatio("bar",t)),"bar")?"0":e.hasDataLabel?null:"0"},initText(){const{$el:t}=this;t.main.select(`.${Se.chart}`).append("g").attr("class",On.chartTexts).style("pointer-events",t.funnel||t.treemap?"none":null)},updateTargetsForText(t){const e=this,n=e.getChartClass("Text"),a=e.getClass("texts","id"),i=e.classFocus.bind(e);e.$el.main.select(`.${On.chartTexts}`).selectAll(`.${On.chartText}`).data(t).attr("class",l=>`${n(l)}${i(l)}`.trim()).enter().append("g").style("opacity","0").attr("class",n).call(e.setCssRule(!0,` .${On.text}`,["fill","pointer-events:none"],e.updateTextColor)).append("g").attr("class",a)},updateText(){const t=this,{$el:e,$T:n,config:a,axis:i}=t,s=t.getClass("text","index"),o=a.data_labels.centered,l=e.main.selectAll(`.${On.texts}`).selectAll(`.${On.text}`).data(t.labelishData.bind(t));n(l.exit()).style("fill-opacity","0").remove(),e.text=l.enter().append("text").merge(l).attr("class",s).attr("text-anchor",c=>{let g=a[`axis_${i==null?void 0:i.getId(c.id)}_inverted`]?c.value>0:c.value<0;if(t.isCandlestickType(c)){const v=t.getCandlestickData(c);g=!(v!=null&&v._isUp)}else if(t.isTreemapType(c))return o?"middle":"start";return a.axis_rotated?g?"end":"start":"middle"}).style("fill",t.getStylePropValue(t.updateTextColor)).style("fill-opacity","0").each(function(c,f,g){const v=st(this);let{value:m}=c;if(t.isBubbleZType(c))m=t.getBubbleZData(m,"z");else if(t.isCandlestickType(c)){const S=t.getCandlestickData(c);S&&(m=S.close)}m=t.isTreemapType(c)?t.treemapDataLabelFormat(c)(v):t.dataLabelFormat(c.id)(m,c.id,c.index,g),he(m)?this.textContent=m:wa(v,m)})},updateTextColor(t){const e=this,{config:n}=e,a=n.data_labels_colors,i=e.isArcType(t)&&!e.isRadarType(t)||e.isFunnelType(t)||e.isTreemapType(t)?null:e.color(t);let s;if(Xe(a))s=a;else if(Be(a)){const{id:o}=t.data||t;s=a[o]}else ve(a)&&(s=a.bind(e.api)(i,t));if(e.isCandlestickType(t)&&!ve(a)){const o=e.getCandlestickData(t);if(!(o!=null&&o._isUp)){const l=n.candlestick_color_down;s=Be(l)?l[t.id]:l}}return s||i},updateTextBGColor(t,e){const n=this,{$el:a}=n;let i="";if(Xe(e)||Be(e)){const s=Xe(e)?"":n.getTargetSelectorSuffix("id"in t?t.id:t.data.id),o=a.defs.select(["filter[id*='labels-bg","']"].join(s));o.size()&&(i=`url(#${o.attr("id")})`)}return i||null},redrawText(t,e,n,a){const i=this,{$T:s,axis:o,config:l,state:{hasTreemap:c}}=i,f=gr(!0),g=l.axis_rotated,v=l.data_labels.rotate,m=jp(v),S=v?`rotate(${v})`:"";return i.$el.text.style("fill",i.getStylePropValue(i.updateTextColor)).attr("filter",P=>i.updateTextBGColor.bind(i)(P,l.data_labels_backgroundColors)).style("fill-opacity",n?0:i.opacityForText.bind(i)).each(function(P,N){const L=s(c&&this.childElementCount?this.parentNode:this,!!(a&&this.getAttribute("x")),f),w=l[`axis_${o==null?void 0:o.getId(P.id)}_inverted`];let X={x:t.bind(this)(P,N),y:e.bind(this)(P,N)};v&&(X=Gp.bind(i)(P,X,m,g,w),L.attr("text-anchor",m)),this.childElementCount||v?L.attr("transform",`translate(${X.x} ${X.y}) ${S}`):L.attr("x",X.x).attr("y",X.y)}),!0},getTextRect(t,e){const n=this;let a=t.node?t.node():t;/text/i.test(a.tagName)||(a=a.querySelector("text"));const i=a.textContent,s=`${Ln.textRect}-${i.replace(/\W/g,"_")}`;let o=n.cache.get(s);return o||(n.$el.svg.append("text").style("visibility","hidden").style("font",st(a).style("font")).classed(e,!0).text(i).call(l=>{o=Si(l.node())}).remove(),n.cache.add(s,o)),o},generateXYForText(t,e){const n=this,{state:{hasRadar:a,hasFunnel:i,hasTreemap:s}}=n,o=Object.keys(t),l={},c=e?n.getXForText:n.getYForText;return i&&o.push("funnel"),a&&o.push("radar"),s&&o.push("treemap"),o.forEach(f=>{l[f]=n[`generateGet${Dn(f)}Points`](t[f],!1)}),function(f,g){const v=n.isAreaType(f)&&"area"||n.isBarType(f)&&"bar"||n.isCandlestickType(f)&&"candlestick"||n.isFunnelType(f)&&"funnel"||n.isRadarType(f)&&"radar"||n.isTreemapType(f)&&"treemap"||"line";return c.call(n,l[v](f,g),f,this)}},getCenteredTextPos(t,e,n,a){const i=this,{config:s}=i,o=s.axis_rotated,l=i.isBarType(t),c=i.isTreemapType(t);if(s.data_labels.centered&&(l||c)){const f=Si(n);if(l){const g=i.getRangedData(t,null,"bar")>=0;if(o){const v=(g?e[1][1]-e[0][1]:e[0][1]-e[1][1])/2+f.width/2;return g?-v-3:v+2}else{const v=(g?e[0][1]-e[1][1]:e[1][1]-e[0][1])/2+f.height/2;return g?v:-v-2}}else if(c)return a==="x"?(e[1][0]-e[0][0])/2:(e[1][1]-e[0][1])/2+f.height/2}return 0},getXForText(t,e,n){var a;const i=this,{config:s}=i,o=s.axis_rotated,l=i.isFunnelType(e),c=i.isTreemapType(e);let f=t?t[0][0]:0;if(i.isCandlestickType(e))o?f=(a=i.getCandlestickData(e))!=null&&a._isUp?t[2][2]+4:t[2][1]-4:f+=(t[1][0]-f)/2;else if(l)f+=i.state.current.width/2;else if(c)f+=s.data_labels.centered?0:5;else if(o){const g=s[`axis_${i.axis.getId(e.id)}_inverted`],v=i.isBarType(e)?4:6,m=e.value;f=t[2][1],g?f-=v*(m>0?1:-1):f+=v*(m<0?-1:1)}else f=i.hasType("bar")?(t[2][0]+t[0][0])/2:f;return(o||c)&&(f+=i.getCenteredTextPos(e,t,n,"x")),f+zc.call(this,e,"x")},getYForText(t,e,n){const a=this,{axis:i,config:s,state:o}=a,l=s.axis_rotated,c=s[`axis_${i==null?void 0:i.getId(e.id)}_inverted`],f=a.isBarType(e),g=a.isFunnelType(e),v=a.isTreemapType(e),m=s.point_r,S=Si(n);let{value:P}=e,N=3,L;if(a.isCandlestickType(e))P=a.getCandlestickData(e),l?(L=t[0][0],L+=(t[1][0]-L)/2+N):(L=P&&P._isUp?t[2][2]-N:t[2][1]+N*4,c&&(L+=15*(P._isUp?1:-1)));else if(g)L=t?t[0][1]+(t[1][1]-t[0][1])/2+S.height/2-3:0;else if(v)L=t[0][1]+(s.data_labels.centered?0:S.height+5);else if(l)L=(t[0][0]+t[2][0]+S.height*.6)/2;else if(L=t[2][1],he(m)&&m>5&&(a.isLineType(e)||a.isScatterType(e))&&(N+=s.point_r/2.3),P<0||P===0&&!o.hasPositiveValue&&o.hasNegativeValue)L+=c?f?-3:-5:S.height+(f?-N:N);else{let w=-N*2;f?w=-N:a.isBubbleType(e)&&(w=N),c&&(w=f?10:15),L+=w}return(!l||v)&&(L+=a.getCenteredTextPos(e,t,n,"y")),L+zc.call(this,e,"y")},markOverlapped(t,e,n){const a=e.$el.arcs.selectAll(n),i=a.filter(c=>c.data.id!==t),s=a.filter(c=>c.data.id===t),o=Jl(s.node()),l=(c,f)=>Math.sqrt(Math.pow(c,2)+Math.pow(f,2));s.node()&&i.each(function(){const c=Jl(this),f=st(this),g=l(o.e,o.f)>l(c.e,c.f)?s:f,v=Math.ceil(Math.abs(o.e-c.e))=i}};function jc(t="left",e){const n=he(e);let a;return t.indexOf("center")>-1?a=n?e/2:"middle":t.indexOf("right")>-1?a=n?e:"end":a=n?0:"start",a}var Xp={initTitle(){const t=this,{config:e,$el:n}=t;if(e.title_text){n.title=n.svg.append("g");const a=n.title.append("text").style("text-anchor",jc(e.title_position)).attr("class",On.title);wa(a,e.title_text,[.3,1.5])}},redrawTitle(){const t=this,{config:e,state:{current:n},$el:{title:a}}=t;if(a){const i=jc(e.title_position,n.width),s=(e.title_padding.top||0)+t.getTextRect(t.$el.title,On.title).height;a.attr("transform",`translate(${i}, ${s})`)}},getTitlePadding(){const t=this,{$el:{title:e},config:n}=t;return(n.title_padding.top||0)+(e?t.getTextRect(e,On.title).height:0)+(n.title_padding.bottom||0)}},Yp={initTooltip(){const t=this,{config:e,$el:n}=t;n.tooltip=st(e.tooltip_contents.bindto),n.tooltip.empty()&&(n.tooltip=n.chart.append("div").attr("class",ti.tooltipContainer).style("position","absolute").style("pointer-events","none").style("display","none")),t.bindTooltipResizePos()},initShowTooltip(){var t;const e=this,{config:n,$el:a,state:{hasAxis:i,hasRadar:s}}=e;if(n.tooltip_init_show){const o=!(i||s);(t=e.axis)!=null&&t.isTimeSeries()&&Xe(n.tooltip_init_x)&&(n.tooltip_init_x=zn.call(e,n.tooltip_init_x)),e.api.tooltip.show({data:{[o?"index":"x"]:n.tooltip_init_x}});const l=n.tooltip_init_position;if(!n.tooltip_contents.bindto&&!qn(l)){const{top:c=0,left:f=50}=l;a.tooltip.style("top",Xe(c)?c:`${c}px`).style("left",Xe(f)?f:`${f}px`).style("display",null)}}},getTooltipHTML(...t){const e=this,{api:n,config:a}=e;return ve(a.tooltip_contents)?a.tooltip_contents.bind(n)(...t):e.getTooltipContent(...t)},getTooltipContent(t,e,n,a){var i;const s=this,{api:o,config:l,state:c,$el:f}=s,[g,v,m]=["title","name","value"].map(vt=>{const Z=l[`tooltip_format_${vt}`];return ve(Z)?Z.bind(o):Z}),S=(...vt)=>Cs((g||e)(...vt)),P=(...vt)=>Cs((v||(Z=>Z))(...vt)),N=(...vt)=>{const Z=m||(c.hasTreemap||s.isStackNormalized()?($t,ut)=>`${(ut*100).toFixed(2)}%`:n);return Cs(Z(...vt))},L=l.tooltip_order,w=vt=>s.axis&&s.isBubbleZType(vt)?s.getBubbleZData(vt.value,"z"):s.getBaseValue(vt),X=s.levelColor?vt=>s.levelColor(vt.value):vt=>a(vt),W=l.tooltip_contents,Y=W.template,Q=s.mapToTargetIds();if(L===null&&l.data_groups.length){const vt=s.orderTargets(s.data.targets).map(Z=>Z.id).reverse();t.sort((Z,$t)=>{let ut=Z?Z.value:null,At=$t?$t.value:null;return ut>0&&At>0&&(ut=Z.id?vt.indexOf(Z.id):null,At=$t.id?vt.indexOf($t.id):null),ut-At})}else if(/^(asc|desc)$/.test(L)){const vt=L==="asc";t.sort((Z,$t)=>{const ut=Z?w(Z):null,At=$t?w($t):null;return vt?ut-At:At-ut})}else ve(L)&&t.sort(L.bind(o));const K=s.getTooltipContentTemplate(Y),at=t.length;let ht,St,ct,lt,Gt;for(Gt=0;Gt`:""})}if(!St.ratio&&f.arcs&&(ct=["arc",s.$el.arcs.select(`path.${je.arc}-${St.id}`).data()[0]],St.ratio=s.getRatio(...ct)),ct=[St.ratio,St.id,St.index],s.isAreaRangeType(St)){const[vt,Z]=["high","low"].map(ut=>N(s.getRangedData(St,ut),...ct));lt=`Mid: ${N(w(St),...ct)} High: ${vt} Low: ${Z}`}else if(s.isCandlestickType(St)){const[vt,Z,$t,ut,At]=["open","high","low","close","volume"].map(Vt=>s.getRangedData(St,Vt,"candlestick")?N(s.getRangedData(St,Vt,"candlestick"),...ct):void 0);lt=`Open: ${vt} High: ${Z} Low: ${$t} Close: ${ut}${At?` Volume: ${At}`:""}`}else if(s.isBarRangeType(St)){const{value:vt,id:Z,index:$t}=St;lt=`${N(vt,void 0,Z,$t)}`}else lt=N(w(St),...ct);if(lt!==void 0){if(St.name===null)continue;const vt=P((i=St.name)!=null?i:St.id,...ct),Z=X(St),$t={CLASS_TOOLTIP_NAME:ti.tooltipName+s.getTargetSelectorSuffix(St.id),COLOR:Y||!s.patterns?Z:``,NAME:vt,VALUE:lt};if(Y&&Be(W.text)){const ut=Q.indexOf(St.id);Object.keys(W.text).forEach(At=>{$t[At]=W.text[At][ut]})}ht+=bi(K[1],$t)}}return`${ht}
${vt}
`},getTooltipContentTemplate(t){return(t||` {=TITLE} {{}} -
${this.patterns?"{=COLOR}":''}{=NAME} {=VALUE}
`).replace(/(\r?\n|\t)/g,"").split(/{{(.*)}}/)},setTooltipPosition(t,e){var n,a;const i=this,{config:o,scale:s,state:l,$el:{eventRect:c,tooltip:f,svg:g}}=i,{bindto:v}=o.tooltip_contents,m=o.axis_rotated,S=f==null?void 0:f.datum();if(!v&&S){const P=t!=null?t:JSON.parse(S.current),[N,L]=Hn(l.event,e!=null?e:c==null?void 0:c.node()),w={x:N,y:L};if(l.hasAxis&&s.x&&S&&"x"in S){const Q=(K=0,at,ht="y")=>{var St;const ct=s[at?(St=i.axis)==null?void 0:St.getId(at):ht];return ct?ct(K)+(m?l.margin.left:l.margin.top):0};w.xAxis=s.x(S.x)+(o.tooltip_position?m?l.margin.top:l.margin.left:0),P.length===1?w.yAxis=Q(P[0].value,P[0].id):w.yAxis=Q}const{width:X=0,height:W=0}=S,Y=(a=(n=o.tooltip_position)==null?void 0:n.bind(i.api)(P,X,W,c==null?void 0:c.node(),w))!=null?a:Lo(g)?i.getTooltipPositionViewBox.bind(i)(X,W,w):i.getTooltipPosition.bind(i)(X,W,w);["top","left"].forEach(Q=>{const K=Y[Q];f.style(Q,`${K}px`),Q==="left"&&!S.xPosInPercent&&(S.xPosInPercent=K/l.current.width*100)})}},getTooltipPositionViewBox(t,e,n){var a,i;const o=this,{$el:{eventRect:s,main:l},config:c,state:f}=o,g=c.axis_rotated,v=o.hasArcType(void 0,["radar"])||f.hasFunnel||f.hasTreemap,m=(i=(a=f.hasRadar?l:s)==null?void 0:a.node())!=null?i:f.event.target,S=38;let{x:P,y:N}=n;f.hasAxis&&(P=g?P:n.xAxis,N=g?n.xAxis:N);const L=wo(m,P,N,!1);let w=L.y,X=L.x+S;v&&(w+=e,X-=S);const W=(v?l.node():m).getBoundingClientRect();return X+t>W.right&&(X=W.right-t-S),w+e>W.bottom&&(w-=e+S),{top:w,left:X}},getTooltipPosition(t,e,n){var a,i,o;const s=this,{config:l,scale:c,state:f}=s,{width:g,height:v,current:m,hasFunnel:S,hasRadar:P,hasTreemap:N,isLegendRight:L,inputType:w}=f,X=s.hasType("gauge")&&!l.gauge_fullCircle,W=l.axis_rotated,Y=s.hasArcType(),Q=s.getSvgLeft(!0);let K=Q+m.width-s.getCurrentPaddingByDirection("right");const at=20;let{x:ht,y:St}=n;if(P)ht+=ht>=g/2?15:-(t+15),St+=15;else if(Y){if(w!=="touch"){let Gt=(i=(a=s.getTitlePadding)==null?void 0:a.call(s))!=null?i:0;Gt&&X&&((o=l.arc_rangeText_values)!=null&&o.length)&&(Gt+=10),ht+=(g-(L?s.getLegendWidth():0))/2,St+=(X?v:v/2+e)+Gt}}else if(S||N)St+=e;else{const lt={top:s.getCurrentPaddingByDirection("top",!0),left:s.getCurrentPaddingByDirection("left",!0)};W?(ht+=Q+lt.left+at,St=lt.top+n.xAxis+at,K-=Q):(ht=Q+lt.left+at+(c.zoom?ht:n.xAxis),St+=lt.top-5)}if(ht+t+15>K&&(ht-=t+(S||N||Y?0:W?at*2:38)),St+e>m.height){const lt=N?e+10:30;St-=X?e*1.5:e+lt}const ct={top:St,left:ht};return Object.keys(ct).forEach(lt=>{ct[lt]<0&&(ct[lt]=0)}),ct},showTooltip(t,e){const n=this,{config:a,$el:{tooltip:i}}=n,o=t.filter(c=>c&&De(n.getBaseValue(c)));if(!i||o.length===0||!a.tooltip_show)return;let s=i.datum();const l=JSON.stringify(t);if(!s||s.current!==l){const{index:c,x:f}=t.concat().sort()[0];_e(a.tooltip_onshow,n.api,t),i.html(n.getTooltipHTML(t,n.axis?n.axis.getXAxisTickFormat():n.categoryName.bind(n),n.getDefaultValueFormat(),n.color)).style("display",null).style("visibility",null).datum(s={index:c,x:f,current:l,width:i.property("offsetWidth"),height:i.property("offsetHeight")}),_e(a.tooltip_onshown,n.api,t),n._handleLinkedCharts(!0,c)}n.setTooltipPosition(o,e)},bindTooltipResizePos(){const t=this,{resizeFunction:e,state:n,$el:{tooltip:a}}=t;e.add(()=>{if(a.style("display")==="block"){const{current:i}=n,{width:o,xPosInPercent:s}=a.datum();let l=i.width/100*s;const c=i.width-(l+o);c<0&&(l+=c),a.style("left",`${l}px`)}})},hideTooltip(t){var e;const n=this,{api:a,config:i,$el:{tooltip:o}}=n;if(o&&o.style("display")!=="none"&&(!i.tooltip_doNotHide||t)){const s=JSON.parse((e=o.datum().current)!=null?e:{});_e(i.tooltip_onhide,a,s),o.style("display","none").style("visibility","hidden").datum(null),_e(i.tooltip_onhidden,a,s)}},_handleLinkedCharts(t,e){const n=this,{charts:a,config:i,state:{event:o}}=n;if(o!=null&&o.isTrusted&&i.tooltip_linked&&a.length>1){const s=i.tooltip_linked_name;a.filter(l=>l!==n.api).forEach(l=>{const{config:c,$el:f}=l.internal,g=c.tooltip_linked,v=c.tooltip_linked_name,m=vn.body.contains(f.chart.node());if(g&&s===v&&m){const S=f.tooltip.data()[0],P=e!==(S==null?void 0:S.index);try{l.tooltip[t&&P?"show":"hide"]({index:e})}catch(N){}}})}},updateTooltipOnRedraw(t,e){var n;const a=this,{config:i,$el:{eventRect:o,svg:s,tooltip:l},state:{event:c,hasAxis:f,hasRadar:g,hasTreemap:v}}=a;if((l==null?void 0:l.style("display"))==="block"&&c){const m=t!=null?t:(n=g?s:o)==null?void 0:n.node();if(f||g)if(a.isMultipleX())a.selectRectForMultipleXs(m,!1);else{const S=e!=null?e:a.getDataIndexFromEvent(c);e===-1?a.api.tooltip.hide():(a.selectRectForSingle(m,S),a.setExpand(S,null,!0))}else{const{clientX:S,clientY:P}=c;setTimeout(()=>{let N=[S,P].every(Number.isFinite)&&vn.elementFromPoint(S,P);const L=N&&ot(N).datum();if(L){const w=a.hasArcType()?a.convertToArcData(a.updateAngle(L)):L==null?void 0:L.data;v&&(N=s.node()),w&&a.showTooltip([w],N)}else a.api.tooltip.hide()},i.transition_duration)}}}},Hp={getTranslate(t,e=0){var n;const a=this,{config:i,state:o}=a,s=i.axis_rotated;let l=0,c,f;if(e&&/^(x|y2?)$/.test(t)&&(l=a.getAxisSize(t)*e),t==="main")c=Ti(o.margin.left),f=Ti(o.margin.top);else if(t==="context")c=Ti(o.margin2.left),f=Ti(o.margin2.top);else if(t==="legend")c=o.margin3.left,f=o.margin3.top;else if(t==="x")c=s?-l:0,f=s?0:o.height+l;else if(t==="y")c=s?0:-l,f=s?o.height+l:0;else if(t==="y2")c=s?0:o.width+l,f=s?-l-1:0;else if(t==="subX")c=0,f=s?0:o.height2;else if(t==="arc")c=o.arcWidth/2,f=o.arcHeight/2,(n=i.arc_rangeText_values)!=null&&n.length&&(f+=5+(a.hasType("gauge")&&i.title_text?10:0));else if(t==="polar")c=o.arcWidth/2,f=o.arcHeight/2;else if(t==="radar"){const[g,v]=a.getRadarSize();c=o.width/2-g,f=o.height/2-v}return`translate(${c}, ${f})`},transformMain(t,e){const n=this,{$el:{main:a},$T:i}=n,o=e!=null&&e.axisX?e.axisX:i(a.select(`.${dn.axisX}`),t),s=e!=null&&e.axisY?e.axisY:i(a.select(`.${dn.axisY}`),t),l=e!=null&&e.axisY2?e.axisY2:i(a.select(`.${dn.axisY2}`),t);i(a,t).attr("transform",n.getTranslate("main")),o.attr("transform",n.getTranslate("x")),s.attr("transform",n.getTranslate("y")),l.attr("transform",n.getTranslate("y2")),a.select(`.${je.chartArcs}`).attr("transform",n.getTranslate("arc"))},transformAll(t,e){const n=this,{config:a,state:{hasAxis:i,hasFunnel:o,hasTreemap:s},$el:l}=n;!o&&!s&&n.transformMain(t,e),i&&a.subchart_show&&n.transformContext(t,e),l.legend&&n.transformLegend(t)}},Wp={isValidChartType(t){return!!(t&&Object.values(oe).indexOf(t)>-1)},setTargetType(t,e){const n=this,{config:a,state:{withoutFadeIn:i}}=n;n.mapToTargetIds(t).forEach(o=>{i[o]=e===a.data_types[o],a.data_types[o]=e}),t||(a.data_type=e)},updateTypesElements(){const t=this,{state:{current:e}}=t;Object.keys(oe).forEach(n=>{const a=oe[n],i=t.hasType(a,null,!0),o=e.types.indexOf(a);o===-1&&i?e.types.push(a):o>-1&&!i&&e.types.splice(o,1)}),t.setChartElements()},hasType(t,e,n=!1){var a;const i=this,{config:o,state:{current:s}}=i,l=o.data_types,c=e||i.data.targets;let f=!1;return!n&&((a=s.types)==null?void 0:a.indexOf(t))>-1?f=!0:c!=null&&c.length?c.forEach(g=>{const v=l[g.id];(v===t||!v&&t==="line")&&(f=!0)}):Object.keys(l).length?Object.keys(l).forEach(g=>{l[g]===t&&(f=!0)}):f=o.data_type===t,f},hasTypeOf(t,e,n=[]){return t in Sr?!Sr[t].filter(a=>n.indexOf(a)===-1).every(a=>!this.hasType(a,e)):!1},isTypeOf(t,e){var n;const a=Xe(t)?t:t.id,i=this.config&&(((n=this.config.data_types)==null?void 0:n[a])||this.config.data_type);return ze(e)?e.indexOf(i)>=0:i===e},hasPointType(){const t=this;return t.hasTypeOf("Line")||t.hasType("bubble")||t.hasType("scatter")},hasArcType(t,e){return this.hasTypeOf("Arc",t,e)},hasMultiArcGauge(){return this.hasType("gauge")&&this.config.gauge_type==="multi"},isLineType(t){const e=Xe(t)?t:t.id;return!this.config.data_types[e]||this.isTypeOf(e,Sr.Line)},isStepType(t){return this.isTypeOf(t,Sr.Step)},isSplineType(t){return this.isTypeOf(t,Sr.Spline)},isAreaType(t){return this.isTypeOf(t,Sr.Area)},isAreaRangeType(t){return this.isTypeOf(t,Sr.AreaRange)},isBarType(t){return this.isTypeOf(t,"bar")},isBubbleType(t){return this.isTypeOf(t,"bubble")},isCandlestickType(t){return this.isTypeOf(t,"candlestick")},isScatterType(t){return this.isTypeOf(t,"scatter")},isTreemapType(t){return this.isTypeOf(t,"treemap")},isPieType(t){return this.isTypeOf(t,"pie")},isFunnelType(t){return this.isTypeOf(t,"funnel")},isGaugeType(t){return this.isTypeOf(t,"gauge")},isDonutType(t){return this.isTypeOf(t,"donut")},isPolarType(t){return this.isTypeOf(t,"polar")},isRadarType(t){return this.isTypeOf(t,"radar")},isArcType(t){return this.isPieType(t)||this.isDonutType(t)||this.isGaugeType(t)||this.isPolarType(t)||this.isRadarType(t)},isCirclePoint(t){const{config:e}=this,n=e.point_pattern;let a=!1;return(t==null?void 0:t.tagName)==="circle"?a=!0:a=e.point_type==="circle"&&(!n||ze(n)&&n.length===0),a},lineData(t){return this.isLineType(t)?[t]:[]},arcData(t){return this.isArcType(t.data)?[t]:[]},labelishData(t){return this.isBarType(t)||this.isLineType(t)||this.isScatterType(t)||this.isBubbleType(t)||this.isCandlestickType(t)||this.isFunnelType(t)||this.isRadarType(t)||this.isTreemapType(t)?t.values.filter(e=>he(e.value)||!!e.value):[]},barLineBubbleData(t){return this.isBarType(t)||this.isLineType(t)||this.isBubbleType(t)?t.values:[]},isInterpolationType(t){return["basis","basis-closed","basis-open","bundle","cardinal","cardinal-closed","cardinal-open","catmull-rom","catmull-rom-closed","catmull-rom-open","linear","linear-closed","monotone-x","monotone-y","natural"].indexOf(t)>=0}};function Li(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function Ni(t){this._context=t}Ni.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Li(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Li(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Kp(t){return new Ni(t)}function Ar(){}function Gc(t){this._context=t}Gc.prototype={areaStart:Ar,areaEnd:Ar,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Li(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Zp(t){return new Gc(t)}function Vc(t){this._context=t}Vc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,a=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,a):this._context.moveTo(n,a);break;case 3:this._point=4;default:Li(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Jp(t){return new Vc(t)}function Xc(t,e){this._basis=new Ni(t),this._beta=e}Xc.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var a=t[0],i=e[0],o=t[n]-a,s=e[n]-i,l=-1,c;++l<=n;)c=l/n,this._basis.point(this._beta*t[l]+(1-this._beta)*(a+c*o),this._beta*e[l]+(1-this._beta)*(i+c*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var kp=function t(e){function n(a){return e===1?new Ni(a):new Xc(a,e)}return n.beta=function(a){return t(+a)},n}(.85);function Fi(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function ls(t,e){this._context=t,this._k=(1-e)/6}ls.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Fi(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Fi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Qp=function t(e){function n(a){return new ls(a,e)}return n.tension=function(a){return t(+a)},n}(0);function cs(t,e){this._context=t,this._k=(1-e)/6}cs.prototype={areaStart:Ar,areaEnd:Ar,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Fi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var qp=function t(e){function n(a){return new cs(a,e)}return n.tension=function(a){return t(+a)},n}(0);function us(t,e){this._context=t,this._k=(1-e)/6}us.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Fi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var _p=function t(e){function n(a){return new us(a,e)}return n.tension=function(a){return t(+a)},n}(0);const Yc=Math.abs,En=Math.atan2,jr=Math.cos,tm=Math.max,fs=Math.min,rr=Math.sin,oa=Math.sqrt,bn=1e-12,Na=Math.PI,Bi=Na/2,Ui=2*Na;function em(t){return t>1?0:t<-1?Na:Math.acos(t)}function Hc(t){return t>=1?Bi:t<=-1?-Bi:Math.asin(t)}function ds(t,e,n){var a=t._x1,i=t._y1,o=t._x2,s=t._y2;if(t._l01_a>bn){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);a=(a*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>bn){var f=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,g=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*f+t._x1*t._l23_2a-e*t._l12_2a)/g,s=(s*f+t._y1*t._l23_2a-n*t._l12_2a)/g}t._context.bezierCurveTo(a,i,o,s,t._x2,t._y2)}function Wc(t,e){this._context=t,this._alpha=e}Wc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,a=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+a*a,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:ds(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var nm=function t(e){function n(a){return e?new Wc(a,e):new ls(a,0)}return n.alpha=function(a){return t(+a)},n}(.5);function Kc(t,e){this._context=t,this._alpha=e}Kc.prototype={areaStart:Ar,areaEnd:Ar,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,a=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+a*a,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:ds(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var rm=function t(e){function n(a){return e?new Kc(a,e):new cs(a,0)}return n.alpha=function(a){return t(+a)},n}(.5);function Zc(t,e){this._context=t,this._alpha=e}Zc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,a=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+a*a,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:ds(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var am=function t(e){function n(a){return e?new Zc(a,e):new us(a,0)}return n.alpha=function(a){return t(+a)},n}(.5);function Jc(t){return t<0?-1:1}function kc(t,e,n){var a=t._x1-t._x0,i=e-t._x1,o=(t._y1-t._y0)/(a||i<0&&-0),s=(n-t._y1)/(i||a<0&&-0),l=(o*i+s*a)/(a+i);return(Jc(o)+Jc(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(l))||0}function Qc(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function hs(t,e,n){var a=t._x0,i=t._y0,o=t._x1,s=t._y1,l=(o-a)/3;t._context.bezierCurveTo(a+l,i+l*e,o-l,s-l*n,o,s)}function zi(t){this._context=t}zi.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:hs(this,this._t0,Qc(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,hs(this,Qc(this,n=kc(this,t,e)),n);break;default:hs(this,this._t0,n=kc(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function qc(t){this._context=new _c(t)}(qc.prototype=Object.create(zi.prototype)).point=function(t,e){zi.prototype.point.call(this,e,t)};function _c(t){this._context=t}_c.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,a,i,o){this._context.bezierCurveTo(e,t,a,n,o,i)}};function im(t){return new zi(t)}function om(t){return new qc(t)}function tu(t){this._context=t}tu.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var a=eu(t),i=eu(e),o=0,s=1;s=0;--e)i[e]=(s[e]-i[e+1])/o[e];for(o[n-1]=(t[n]+i[n-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function cm(t){return new ji(t,.5)}function um(t){return new ji(t,0)}function fm(t){return new ji(t,1)}function dm(t){const e=this;let n;return e.isLineType(t)?n=e.generateGetLinePoints(e.getShapeIndices(e.isLineType)):e.isBarType(t)&&(n=e.generateGetBarPoints(e.getShapeIndices(e.isBarType))),n}var hm={getDrawShape(){const t=this,e=t.config.axis_rotated,{hasRadar:n,hasTreemap:a}=t.state,i={type:{},indices:{},pos:{}};if(!a&&["bar","candlestick","line","area"].forEach(o=>{const s=Dn(/^(bubble|scatter)$/.test(o)?"line":o);if(t.hasType(o)||t.hasTypeOf(s)||o==="line"&&(t.hasType("bubble")||t.hasType("scatter"))){const l=t.getShapeIndices(t[`is${s}Type`]),c=t[`generateDraw${s}`];i.indices[o]=l,i.type[o]=c?c.bind(t)(l,!1):void 0}}),!t.hasArcType()||n||a){let o,s;a||(o=n?t.radarCircleX:e?t.circleY:t.circleX,s=n?t.radarCircleY:e?t.circleX:t.circleY),i.pos={xForText:t.generateXYForText(i.indices,!0),yForText:t.generateXYForText(i.indices,!1),cx:(o||function(){}).bind(t),cy:(s||function(){}).bind(t)}}return i},getShapeIndices(t){const e=this,{config:n}=e,a=n.data_xs,i=cn(a),o={};let s=i?{}:0;return i&&Mo(Object.keys(a).map(l=>a[l])).forEach(l=>{s[l]=0,o[l]={}}),e.filterTargetsToShow(e.data.targets.filter(t,e)).forEach(l=>{var c;const f=l.id in a?a[l.id]:"",g=f?o[f]:o;for(let v=0,m;m=n.data_groups[v];v++)if(!(m.indexOf(l.id)<0))for(let S=0,P;P=m[S];S++){if(P in g){g[l.id]=g[P];break}l.id!==P&&f&&(g[P]=(c=g[l.id])!=null?c:s[f])}ln(g[l.id])&&(g[l.id]=f?s[f]++:s++,g.__max__=(f?s[f]:s)-1)}),o},getIndices(t,e,n){const a=this,{data_xs:i,bar_indices_removeNull:o}=a.config,{id:s,index:l}=e;if(a.isBarType(s)&&o){const c={};return a.getAllValuesOnIndex(l,!0).forEach((f,g)=>{c[f.id]=g,c.__max__=g}),c}return cn(i)?t[i[s]]:t},getIndicesMax(t){return cn(this.config.data_xs)?Object.keys(t).map(e=>t[e].__max__||0).reduce((e,n)=>e+n):t.__max__},getShapeX(t,e,n){const a=this,{config:i,scale:o}=a,s=n?o.subX:o.zoom||o.x,l=i.bar_overlap,c=i.bar_padding,f=(v,m)=>v+m,g=nr(t)&&(t._$total.length?t._$total.reduce(f)/2:0);return v=>{const m=a.getIndices(e,v,"getShapeX"),S=v.id in m?m[v.id]:0,P=(m.__max__||0)+1;let N=0;if(cn(v.x)){const L=s(v.x,!0);if(g){const w=t[v.id]||t._$width;N=l?L-w/2:L-w+t._$total.slice(0,S+1).reduce(f)-g}else N=L-(he(t)?t:t._$width)*(P/2-(l?1:S))}return t&&N&&P>1&&c&&(S&&(N+=c*S),P>2?N-=(P-1)*c/2:P===2&&(N-=c/2)),N}},getShapeY(t){const e=this,n=e.isStackNormalized();return a=>{let{value:i}=a;return he(a)?i=a:e.isAreaRangeType(a)?i=e.getBaseValue(a,"mid"):n?i=e.getRatio("index",a,!0):e.isBubbleZType(a)?i=e.getBubbleZData(a.value,"y"):e.isBarRangeType(a)&&(i=i[1]),e.getYScaleById(a.id,t)(i)}},getShapeYMin(t){const e=this,n=e.axis.getId(t),a=e.scale[n],[i]=a.domain(),o=e.config[`axis_${n}_inverted`];return!e.isGrouped(t)&&!o&&i>0?i:0},getShapeOffsetData(t){const e=this,n=e.orderTargets(e.filterTargetsToShow(e.data.targets.filter(t,e))),a=e.isStackNormalized(),i=n.map(s=>{let l=s.values;const c={};e.isStepType(s)&&(l=e.convertValuesToStep(l));const f=l.reduce((g,v)=>{const m=Number(v.x);return g[m]=v,c[m]=a?e.getRatio("index",v,!0):v.value,g},{});return{id:s.id,rowValues:l,rowValueMapByXValue:f,values:c}});return{indexMapByTargetId:n.reduce((s,{id:l},c)=>(s[l]=c,s),{}),shapeOffsetTargets:i}},getShapeOffset(t,e,n){const a=this,{shapeOffsetTargets:i,indexMapByTargetId:o}=a.getShapeOffsetData(t),s=a.config.data_groupsZeroAs;return(l,c)=>{const{id:f,value:g,x:v}=l,m=a.getIndices(e,l),S=a.getYScaleById(f,n);if(a.isBarRangeType(l))return S(g[0]);const P=Number(v),N=S(s==="zero"?0:a.getShapeYMin(f));let L=N;return i.filter(w=>w.id!==f&&m[w.id]===m[f]).forEach(w=>{const{id:X,rowValueMapByXValue:W,rowValues:Y,values:Q}=w;if(o[X]=0&&he(K)&&(g!==0||s==="positive"&&K>0||s==="negative"&&K<0)&&(L+=S(K)-N)}}),L}},circleY(t,e){const n=this,a=t.id;let i;return n.isGrouped(a)&&(i=dm.bind(n)(t)),i?i(t,e)[0][1]:n.getYScaleById(a)(n.getBaseValue(t))},getBarW(t,e,n){var a,i,o,s,l;const c=this,{config:f,org:g,scale:v,state:m}=c,S=c.getMaxDataCount(),P=t==="bar"&&((a=f.data_groups)==null?void 0:a.length),N=`${t}_width`,{k:L}=(o=(i=c.getZoomTransform)==null?void 0:i.call(c))!=null?o:{k:1},w=[(s=f.axis_x_min)!=null?s:g.xDomain[0],(l=f.axis_x_max)!=null?l:g.xDomain[1]].map(c.axis.isTimeSeries()?zn.bind(c):Number);let X=e.tickInterval(S);if(v.zoom&&!c.axis.isCategorized()&&L>1){const Q=w.every((K,at)=>K===g.xDomain[at]);X=g.xDomain.map((K,at)=>{const ht=Q?K:K-Math.abs(w[at]);return v.zoom(ht)}).reduce((K,at)=>Math.abs(K)+at)/S}const W=Q=>{const K=Q?f[N][Q]:f[N],at=Q?K.ratio:f[`${N}_ratio`],ht=Q?K.max:f[`${N}_max`],St=he(K)?K:ve(K)?K.call(c,m.width,n,S):n?X*at/n:0;return ht&&St>ht?ht:St};let Y=W();return!P&&nr(f[N])&&(Y={_$width:Y,_$total:[]},c.filterTargetsToShow(c.data.targets).forEach(Q=>{f[N][Q.id]&&(Y[Q.id]=W(Q.id),Y._$total.push(Y[Q.id]||Y._$width))})),Y},getShapeByIndex(t,e,n){const a=this,{$el:i}=a,o=De(e)?`-${e}`:"";let s=i[t];return s&&!s.empty()?s=s.filter(l=>n?l.id===n:!0).filter(l=>De(e)?l.index===e:!0):s=(n?i.main.selectAll(`.${Ue[`${t}s`]}${a.getTargetSelectorSuffix(n)}`):i.main).selectAll(`.${Ue[t]}${o}`),s},isWithinShape(t,e){var n;const a=this,i=ot(t);let o;return a.isTargetToShow(e.id)?(n=a.hasValidPointType)!=null&&n.call(a,t.nodeName)?o=a.isStepType(e)?a.isWithinStep(t,a.getYScaleById(e.id)(a.getBaseValue(e))):a.isWithinCircle(t,a.isBubbleType(e)?a.pointSelectR(e)*1.5:0):t.nodeName==="path"&&(o=i.classed(Ue.bar)?a.isWithinBar(t):!0):o=!1,o},getInterpolate(t){const n=this.getInterpolateType(t);return{basis:Kp,"basis-closed":Zp,"basis-open":Jp,bundle:kp,cardinal:Qp,"cardinal-closed":qp,"cardinal-open":_p,"catmull-rom":nm,"catmull-rom-closed":rm,"catmull-rom-open":am,"monotone-x":im,"monotone-y":om,natural:sm,"linear-closed":lm,linear:gs,step:cm,"step-after":fm,"step-before":um}[n]},getInterpolateType(t){const e=this,{config:n}=e,a=n.spline_interpolation_type,i=e.isInterpolationType(a)?a:"cardinal";return e.isSplineType(t)?i:e.isStepType(t)?n.line_step_type:"linear"},isWithinBar(t){const e=Hn(this.state.event,t),n=Yl(t),[a,i]=n,o=Math.min(a.x,i.x),s=Math.min(a.y,i.y),l=this.config.bar_sensitivity,{width:c,height:f}=t.getBBox(),g=o-l,v=o+c+l,m=s+f+l,S=s-l;return ge in t?gm(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Rn=(t,e,n)=>vm(t,typeof e!="symbol"?e+"":e,n);class Gr{constructor(e){Rn(this,"api"),Rn(this,"config"),Rn(this,"cache"),Rn(this,"$el"),Rn(this,"state"),Rn(this,"charts"),Rn(this,"data",{xs:{},targets:[]}),Rn(this,"axis"),Rn(this,"scale",{x:null,y:null,y2:null,subX:null,subY:null,subY2:null,zoom:null}),Rn(this,"org",{xScale:null,xDomain:null}),Rn(this,"color"),Rn(this,"patterns"),Rn(this,"levelColor"),Rn(this,"point"),Rn(this,"brush"),Rn(this,"format",{extraLineClasses:null,xAxisTick:null,dataTime:null,defaultAxisTime:null,axisTime:null});const n=this;n.api=e,n.config=new Nr,n.cache=new gv;const a=new uv;n.$el=a.getStore("element"),n.state=a.getStore("state"),n.$T=n.$T.bind(n)}$T(e,n,a){const{config:i,state:o}=this,s=i.transition_duration,l=i.subchart_show;let c=e;return c&&("tagName"in c&&(c=ot(c)),c=(n!==!1&&s||n)&&(!o.zooming||o.dragging)&&!o.resizing&&o.rendered&&!l?c.transition(a).duration(s):c),c}beforeInit(){const e=this;e.callPluginHook("$beforeInit"),_e(e.config.onbeforeinit,e.api)}afterInit(){const e=this;e.callPluginHook("$afterInit"),_e(e.config.onafterinit,e.api)}init(){const e=this,{config:n,state:a,$el:i}=e,o=n.boost_useCssRule;if(vv(e),a.hasRadar=!a.hasAxis&&e.hasType("radar"),a.hasFunnel=!a.hasAxis&&e.hasType("funnel"),a.hasTreemap=!a.hasAxis&&e.hasType("treemap"),a.hasAxis=!e.hasArcType()&&!a.hasFunnel&&!a.hasTreemap,a.datetimeId=`bb-${+new Date*gr()}`,o){const l=vn.createElement("style");l.type="text/css",vn.head.appendChild(l),a.style={rootSelctor:`.${a.datetimeId}`,sheet:l.sheet},i.style=l}const s={element:n.bindto,classname:"bb"};Be(n.bindto)&&(s.element=n.bindto.element||"#chart",s.classname=n.bindto.classname||s.classname),i.chart=ve(s.element.node)?n.bindto.element:ot(s.element||[]),i.chart.empty()&&(i.chart=ot(vn.body.appendChild(vn.createElement("div")))),i.chart.html("").classed(s.classname,!0).classed(a.datetimeId,o).style("position","relative"),e.initParams(),e.initToRender()}initToRender(e){const n=this,{config:a,state:i,$el:{chart:o}}=n,s=()=>nv(o,{display:"none",visibility:"hidden"}),l=a.render.lazy===!1?!1:a.render.lazy||s(),c=Ke.MutationObserver;l&&c&&a.render.observe!==!1&&!e&&new c((f,g)=>{s()||(g.disconnect(),!i.rendered&&n.initToRender(!0))}).observe(o.node(),{attributes:!0,attributeFilter:["class","style"]}),(!l||e)&&n.convertData(a,f=>{n.initWithData(f),n.afterInit()})}initParams(){var e;const n=this,{config:a,format:i,state:o}=n,s=a.axis_rotated;if(n.color=n.generateColor(),n.levelColor=n.generateLevelColor(),a.padding===!1&&(a.axis_x_show=!1,a.axis_y_show=!1,a.axis_y2_show=!1,a.subchart_show=!1),(n.hasPointType()||(e=n.hasLegendDefsPoint)!=null&&e.call(n))&&(n.point=n.generatePoint()),o.hasAxis){n.initClip(),i.extraLineClasses=n.generateExtraLineClass(),i.dataTime=a.data_xLocaltime?Ws:Ks,i.axisTime=a.axis_x_localtime?ro:ao;const l=n.config.zoom_enabled&&n.config.zoom_type==="drag";i.defaultAxisTime=c=>{const{x:f,zoom:g}=n.scale,v=l?g:g&&f.orgDomain().toString()!==g.domain().toString(),m=c.getMilliseconds()&&".%L"||c.getSeconds()&&".:%S"||c.getMinutes()&&"%I:%M"||c.getHours()&&"%I %p"||c.getDate()!==1&&"%b %d"||v&&c.getDate()===1&&"%b'%y"||c.getMonth()&&"%-m/%-d"||"%Y";return i.axisTime(m)(c)}}o.isLegendRight=a.legend_position==="right",o.isLegendInset=a.legend_position==="inset",o.isLegendTop=a.legend_inset_anchor==="top-left"||a.legend_inset_anchor==="top-right",o.isLegendLeft=a.legend_inset_anchor==="top-left"||a.legend_inset_anchor==="bottom-left",o.rotatedPadding.top=n.getResettedPadding(o.rotatedPadding.top),o.rotatedPadding.right=s&&!a.axis_x_show?0:30,o.inputType=rv(a.interaction_inputType_mouse,a.interaction_inputType_touch)}initWithData(e){var n,a,i;const o=this,{config:s,scale:l,state:c,$el:f,org:g}=o,{hasAxis:v,hasFunnel:m,hasTreemap:S}=c,P=s.interaction_enabled,N=o.hasType("polar"),L=s.data_labels_backgroundColors;if(v&&(o.axis=o.getAxisInstance(),s.zoom_enabled&&o.initZoom()),o.data.xs={},o.data.targets=o.convertDataToTargets(e),s.data_filter&&(o.data.targets=o.data.targets.filter(s.data_filter.bind(o.api))),s.data_hide&&o.addHiddenTargetIds(s.data_hide===!0?o.mapToIds(o.data.targets):s.data_hide),s.legend_hide&&o.addHiddenLegendIds(s.legend_hide===!0?o.mapToIds(o.data.targets):s.legend_hide),o.updateSizes(),o.updateScales(!0),v){const{x:W,y:Y,y2:Q,subX:K,subY:at,subY2:ht}=l;W&&(W.domain(na(o.getXDomain(o.data.targets),!s.axis_x_inverted)),K.domain(W.domain()),g.xDomain=W.domain()),Y&&(Y.domain(o.getYDomain(o.data.targets,"y")),at.domain(Y.domain())),Q&&(Q.domain(o.getYDomain(o.data.targets,"y2")),ht&&ht.domain(Q.domain()))}if(f.svg=f.chart.append("svg").style("overflow","hidden").style("display","block"),P&&c.inputType){const W=c.inputType==="touch",{onclick:Y,onover:Q,onout:K}=s;f.svg.on("click",(Y==null?void 0:Y.bind(o.api))||null).on(W?"touchstart":"mouseenter",(Q==null?void 0:Q.bind(o.api))||null).on(W?"touchend":"mouseleave",(K==null?void 0:K.bind(o.api))||null)}s.svg_classname&&f.svg.attr("class",s.svg_classname);const w=ve(s.color_tiles)&&o.patterns;(v||w||N||S||L||(n=o.hasLegendDefsPoint)!=null&&n.call(o))&&(f.defs=f.svg.append("defs"),v&&["id","idXAxis","idYAxis","idGrid"].forEach(W=>{o.appendClip(f.defs,c.clip[W])}),o.generateTextBGColorFilter(L),w&&o.patterns.forEach(W=>f.defs.append(()=>W.node))),o.updateSvgSize(),o.bindResize();const X=f.svg.append("g").classed(Se.main,!0).attr("transform",m||S?null:o.getTranslate("main"));if(f.main=X,s.subchart_show&&o.initSubchart(),s.tooltip_show&&o.initTooltip(),s.title_text&&o.initTitle(),!S&&s.legend_show&&o.initLegend(),s.data_empty_label_text&&X.append("text").attr("class",`${On.text} ${Se.empty}`).attr("text-anchor","middle").attr("dominant-baseline","middle"),v&&(s.regions.length&&o.initRegion(),!s.clipPath&&o.axis.init()),X.append("g").classed(Se.chart,!0).attr("clip-path",v?c.clip.path:null),o.callPluginHook("$init"),o.initChartElements(),v&&(P&&((a=o.initEventRect)==null||a.call(o)),o.initGrid(),s.clipPath&&((i=o.axis)==null||i.init())),o.updateTargets(o.data.targets),o.updateDimension(),_e(s.oninit,o.api),o.setBackground(),o.redraw({withTransition:!1,withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withTransitionForAxis:!1,initializing:!0}),s.data_onmin||s.data_onmax){const W=o.getMinMaxData();_e(s.data_onmin,o.api,W.min),_e(s.data_onmax,o.api,W.max)}s.tooltip_show&&o.initShowTooltip(),c.rendered=!0}initChartElements(){const e=this,{hasAxis:n,hasRadar:a,hasTreemap:i}=e.state,o=[];if(n){const s=["bar","bubble","candlestick","line"];e.config.bar_front&&s.push(s.shift()),s.forEach(l=>{const c=Dn(l);(l==="line"&&e.hasTypeOf(c)||e.hasType(l))&&o.push(c)})}else if(i)o.push("Treemap");else if(e.hasType("funnel"))o.push("Funnel");else{const s=e.hasType("polar");a||o.push("Arc","Pie"),e.hasType("gauge")?o.push("Gauge"):a?o.push("Radar"):s&&o.push("Polar")}o.forEach(s=>{e[`init${s}`]()}),cn(e.config.data_labels)&&!e.hasArcType(null,["radar"])&&e.initText()}setChartElements(){const e=this,{$el:{chart:n,svg:a,defs:i,main:o,tooltip:s,legend:l,title:c,grid:f,needle:g,arcs:v,circle:m,bar:S,candlestick:P,line:N,area:L,text:w}}=e;e.api.$={chart:n,svg:a,defs:i,main:o,tooltip:s,legend:l,title:c,grid:f,arc:v,circles:m,bar:{bars:S},candlestick:P,line:{lines:N,areas:L},needle:g,text:{texts:w}}}setBackground(){const e=this,{config:{background:n},state:a,$el:{svg:i}}=e;if(cn(n)){const o=i.select("g").insert(n.imgUrl?"image":"rect",":first-child");n.imgUrl?o.attr("href",n.imgUrl):n.color&&o.style("fill",n.color).attr("clip-path",a.clip.path),o.attr("class",n.class||null).attr("width","100%").attr("height","100%")}}updateTargets(e){var n;const a=this,{hasAxis:i,hasFunnel:o,hasRadar:s,hasTreemap:l}=a.state,c=g=>a[`updateTargetsFor${g}`](e.filter(a[`is${g}Type`].bind(a)));if(a.updateTargetsForText(e),i)["bar","candlestick","line"].forEach(g=>{const v=Dn(g);(g==="line"&&a.hasTypeOf(v)||a.hasType(g))&&c(v)}),a.updateTargetsForSubchart&&a.updateTargetsForSubchart(e);else if(a.hasArcType(e)){let g="Arc";s?g="Radar":a.hasType("polar")&&(g="Polar"),c(g)}else o?c("Funnel"):l&&c("Treemap");const f=a.hasType("bubble")||a.hasType("scatter");f&&((n=a.updateTargetForCircle)==null||n.call(a)),a.filterTargetsToShowAtInit(f)}filterTargetsToShowAtInit(e=!1){const n=this,{$el:{svg:a},$T:i}=n;let o=`.${Se.target}`;e&&(o+=`, .${$n.chartCircles} > .${$n.circles}`),i(a.selectAll(o).filter(s=>n.isTargetToShow(s.id))).style("opacity",null)}getWithOption(e){const n={Dimension:!0,EventRect:!0,Legend:!1,Subchart:!0,Transform:!1,Transition:!0,TrimXDomain:!0,UpdateXAxis:"UpdateXDomain",UpdateXDomain:!1,UpdateOrgXDomain:!1,TransitionForExit:"Transition",TransitionForAxis:"Transition",Y:!0};return Object.keys(n).forEach(a=>{let i=n[a];Xe(i)&&(i=n[i]),n[a]=$r(e,`with${a}`,i)}),n}initialOpacity(e){const n=this,{withoutFadeIn:a}=n.state;return n.getBaseValue(e)!==null&&a[e.id]?null:"0"}bindResize(){const e=this,{config:n,state:a}=e,i=xv(n.resize_timer),o=[];o.push(()=>_e(n.onresize,e.api)),n.resize_auto===!0&&o.push(()=>{a.resizing=!0,n.legend_show&&(e.updateSizes(),e.updateLegend()),e.api.flush(!1)}),o.push(()=>{_e(n.onresized,e.api),a.resizing=!1}),o.forEach(s=>i.add(s)),e.resizeFunction=i,Ke.addEventListener("resize",e.resizeFunction=i)}callPluginHook(e,...n){this.config.plugins.forEach(a=>{e==="$beforeInit"&&(a.$$=this,this.api.plugins.push(a)),a[e](...n)})}}xn(Gr.prototype,[Mv,Dv,Lv,jv,Gv,Hv,Wv,zv,Kv,Zv,Jv,Bp,hm,Up,zp,Vp,Xp,Yp,Hp,Wp]);function pm(t){const e=this.config;let n,a,i;const o=()=>{const s=a.shift();if(s&&n&&nr(n)&&s in n)return n=n[s],o();if(!s)return n};Object.keys(e).forEach(s=>{n=t,a=s.split("_"),i=o(),ke(i)&&(e[s]=i)}),this.api&&(this.state.orgConfig=t)}var mm={resize(t){const e=this.internal,{config:n,state:a}=e;a.rendered&&(n.size_width=t?t.width:null,n.size_height=t?t.height:null,a.resizing=!0,this.flush(!1),e.resizeFunction())},flush(t){var e,n;const a=this.internal,{state:i,$el:{zoomResetBtn:o}}=a;i.rendered?(i.resizing?(e=a.brush)==null||e.updateResize():(n=a.axis)==null||n.setOrient(),o==null||o.style("display","none"),a.scale.zoom=null,t?a.redraw({withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withLegend:!0}):a.updateAndRedraw({withLegend:!0,withTransition:!1,withTransitionForTransform:!1}),!i.resizing&&a.brush&&(a.brush.getSelection().call(a.brush.move),a.unselectRect())):a.initToRender(!0)},destroy(){const t=this.internal,{$el:{chart:e,style:n,svg:a}}=t;if(cn(t)){t.callPluginHook("$willDestroy"),t.charts.splice(t.charts.indexOf(this),1),t.unbindAllEvents(),a.select("*").interrupt(),t.resizeFunction.clear(),Ke.removeEventListener("resize",t.resizeFunction),e.classed("bb",!1).style("position",null).selectChildren().remove(),n&&n.parentNode.removeChild(n),Object.keys(this).forEach(i=>{i==="internal"&&Object.keys(t).forEach(o=>{t[o]=null}),this[i]=null,delete this[i]});for(const i in this)this[i]=()=>{}}return null},config(t,e,n){const a=this.internal,{config:i,state:o}=a,s=t==null?void 0:t.replace(/\./g,"_");let l;return t&&s in i?ke(e)?(i[s]=e,l=e,n&&this.flush()):l=i[s]:(arguments.length===0||qn(t))&&(l=o.orgConfig),l}},ym={color(t){return this.internal.color(t)}};const au=function(t){const{targets:e}=this.internal.data;if(!ln(t)){const n=ze(t)?t:[t];return e.filter(a=>n.some(i=>i===a.id))}return e};xn(au,{shown:function(t){return this.internal.filterTargetsToShow(this.data(t))},values:function(t,e=!0){let n=null;if(t){const a=this.data(t);ze(a)&&(n=[],a.forEach(i=>{const o=i.values.map(s=>s.value);e?n=n.concat(o):n.push(o)}))}return n},names:function(t){return this.internal.updateDataAttributes("names",t)},colors:function(t){return this.internal.updateDataAttributes("colors",t)},axes:function(t){return this.internal.updateDataAttributes("axes",t)},min:function(){return this.internal.getMinMaxData().min},max:function(){return this.internal.getMinMaxData().max}});var xm={data:au};const Tm=t=>{var e,n;return(n=(e=Ke).btoa)==null?void 0:n.call(e,encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,(a,i)=>String.fromCharCode(+`0x${i}`)))};function $m(t,e,n){const{width:a,height:i}=e||n,o=new XMLSerializer,s=t.cloneNode(!0),l=tv(Lr(vn.styleSheets)).filter(m=>m.cssText).map(m=>m.cssText);s.setAttribute("xmlns",ae.xhtml),s.style.margin="0",s.style.padding="0",e.preserveFontStyle&&s.querySelectorAll("text").forEach(m=>{m.innerHTML=""});const c=o.serializeToString(s),f=vn.createElement("style");f.appendChild(vn.createTextNode(l.join(` -`)));const g=o.serializeToString(f),v=``).replace(/(\r?\n|\t)/g,"").split(/{{(.*)}}/)},setTooltipPosition(t,e){var n,a;const i=this,{config:s,scale:o,state:l,$el:{eventRect:c,tooltip:f,svg:g}}=i,{bindto:v}=s.tooltip_contents,m=s.axis_rotated,S=f==null?void 0:f.datum();if(!v&&S){const P=t!=null?t:JSON.parse(S.current),[N,L]=Hn(l.event,e!=null?e:c==null?void 0:c.node()),w={x:N,y:L};if(l.hasAxis&&o.x&&S&&"x"in S){const Q=(K=0,at,ht="y")=>{var St;const ct=o[at?(St=i.axis)==null?void 0:St.getId(at):ht];return ct?ct(K)+(m?l.margin.left:l.margin.top):0};w.xAxis=o.x(S.x)+(s.tooltip_position?m?l.margin.top:l.margin.left:0),P.length===1?w.yAxis=Q(P[0].value,P[0].id):w.yAxis=Q}const{width:X=0,height:W=0}=S,Y=(a=(n=s.tooltip_position)==null?void 0:n.bind(i.api)(P,X,W,c==null?void 0:c.node(),w))!=null?a:Ds(g)?i.getTooltipPositionViewBox.bind(i)(X,W,w):i.getTooltipPosition.bind(i)(X,W,w);["top","left"].forEach(Q=>{const K=Y[Q];f.style(Q,`${K}px`),Q==="left"&&!S.xPosInPercent&&(S.xPosInPercent=K/l.current.width*100)})}},getTooltipPositionViewBox(t,e,n){var a,i;const s=this,{$el:{eventRect:o,svg:l},config:c,state:f}=s,g=c.axis_rotated,v=s.hasArcType()||f.hasFunnel||f.hasTreemap,m=(i=(a=v?l:o)==null?void 0:a.node())!=null?i:f.event.target;let{x:S,y:P}=n;f.hasAxis&&(S=g?S:n.xAxis,P=g?n.xAxis:P);const N=Ai(m,S,P,!1),L=m.getBoundingClientRect(),w=Ai(m,20,0,!1).x;let X=N.y,W=N.x+t/2+w;return v&&(f.hasFunnel||f.hasTreemap||f.hasRadar?(W-=t/2+w,X+=e):(X+=L.height/2,W+=L.width/2-(t-w))),W+t>L.width&&(W=L.width-t-w),X+e>L.height&&(X-=e*2),{top:X,left:W}},getTooltipPosition(t,e,n){var a,i,s;const o=this,{config:l,scale:c,state:f}=o,{width:g,height:v,current:m,hasFunnel:S,hasRadar:P,hasTreemap:N,isLegendRight:L,inputType:w}=f,X=o.hasType("gauge")&&!l.gauge_fullCircle,W=l.axis_rotated,Y=o.hasArcType(),Q=o.getSvgLeft(!0);let K=Q+m.width-o.getCurrentPaddingByDirection("right");const at=20;let{x:ht,y:St}=n;if(P)ht+=ht>=g/2?15:-(t+15),St+=15;else if(Y){if(w!=="touch"){let Gt=(i=(a=o.getTitlePadding)==null?void 0:a.call(o))!=null?i:0;Gt&&X&&((s=l.arc_rangeText_values)!=null&&s.length)&&(Gt+=10),ht+=(g-(L?o.getLegendWidth():0))/2,St+=(X?v:v/2+e)+Gt}}else if(S||N)St+=e;else{const lt={top:o.getCurrentPaddingByDirection("top",!0),left:o.getCurrentPaddingByDirection("left",!0)};W?(ht+=Q+lt.left+at,St=lt.top+n.xAxis+at,K-=Q):(ht=Q+lt.left+at+(c.zoom?ht:n.xAxis),St+=lt.top-5)}if(ht+t+15>K&&(ht-=t+(S||N||Y?0:W?at*2:38)),St+e>m.height){const lt=N?e+10:30;St-=X?e*1.5:e+lt}const ct={top:St,left:ht};return Object.keys(ct).forEach(lt=>{ct[lt]<0&&(ct[lt]=0)}),ct},showTooltip(t,e){const n=this,{config:a,$el:{tooltip:i}}=n,s=t.filter(c=>c&&De(n.getBaseValue(c)));if(!i||s.length===0||!a.tooltip_show)return;let o=i.datum();const l=JSON.stringify(t);if(!o||o.current!==l){const{index:c,x:f}=t.concat().sort()[0];_e(a.tooltip_onshow,n.api,t),i.html(n.getTooltipHTML(t,n.axis?n.axis.getXAxisTickFormat():n.categoryName.bind(n),n.getDefaultValueFormat(),n.color)).style("display",null).style("visibility",null).datum(o={index:c,x:f,current:l,width:i.property("offsetWidth"),height:i.property("offsetHeight")}),_e(a.tooltip_onshown,n.api,t),n._handleLinkedCharts(!0,c)}n.setTooltipPosition(s,e)},bindTooltipResizePos(){const t=this,{resizeFunction:e,state:n,$el:{tooltip:a}}=t;e.add(()=>{if(a.style("display")==="block"){const{current:i}=n,{width:s,xPosInPercent:o}=a.datum();let l=i.width/100*o;const c=i.width-(l+s);c<0&&(l+=c),a.style("left",`${l}px`)}})},hideTooltip(t){var e;const n=this,{api:a,config:i,$el:{tooltip:s}}=n;if(s&&s.style("display")!=="none"&&(!i.tooltip_doNotHide||t)){const o=JSON.parse((e=s.datum().current)!=null?e:{});_e(i.tooltip_onhide,a,o),s.style("display","none").style("visibility","hidden").datum(null),_e(i.tooltip_onhidden,a,o)}},_handleLinkedCharts(t,e){const n=this,{charts:a,config:i,state:{event:s}}=n;if(s!=null&&s.isTrusted&&i.tooltip_linked&&a.length>1){const o=i.tooltip_linked_name;a.filter(l=>l!==n.api).forEach(l=>{const{config:c,$el:f}=l.internal,g=c.tooltip_linked,v=c.tooltip_linked_name,m=vn.body.contains(f.chart.node());if(g&&o===v&&m){const S=f.tooltip.data()[0],P=e!==(S==null?void 0:S.index);try{l.tooltip[t&&P?"show":"hide"]({index:e})}catch(N){}}})}},updateTooltipOnRedraw(t,e){var n;const a=this,{config:i,$el:{eventRect:s,svg:o,tooltip:l},state:{event:c,hasAxis:f,hasRadar:g,hasTreemap:v}}=a;if((l==null?void 0:l.style("display"))==="block"&&c){const m=t!=null?t:(n=g?o:s)==null?void 0:n.node();if(f||g)if(a.isMultipleX())a.selectRectForMultipleXs(m,!1);else{const S=e!=null?e:a.getDataIndexFromEvent(c);e===-1?a.api.tooltip.hide():(a.selectRectForSingle(m,S),a.setExpand(S,null,!0))}else{const{clientX:S,clientY:P}=c;setTimeout(()=>{let N=[S,P].every(Number.isFinite)&&vn.elementFromPoint(S,P);const L=N&&st(N).datum();if(L){const w=a.hasArcType()?a.convertToArcData(a.updateAngle(L)):L==null?void 0:L.data;v&&(N=o.node()),w&&a.showTooltip([w],N)}else a.api.tooltip.hide()},i.transition_duration)}}}},Hp={getTranslate(t,e=0){var n;const a=this,{config:i,state:s}=a,o=i.axis_rotated;let l=0,c,f;if(e&&/^(x|y2?)$/.test(t)&&(l=a.getAxisSize(t)*e),t==="main")c=Ti(s.margin.left),f=Ti(s.margin.top);else if(t==="context")c=Ti(s.margin2.left),f=Ti(s.margin2.top);else if(t==="legend")c=s.margin3.left,f=s.margin3.top;else if(t==="x")c=o?-l:0,f=o?0:s.height+l;else if(t==="y")c=o?0:-l,f=o?s.height+l:0;else if(t==="y2")c=o?0:s.width+l,f=o?-l-1:0;else if(t==="subX")c=0,f=o?0:s.height2;else if(t==="arc")c=s.arcWidth/2,f=s.arcHeight/2,(n=i.arc_rangeText_values)!=null&&n.length&&(f+=5+(a.hasType("gauge")&&i.title_text?10:0));else if(t==="polar")c=s.arcWidth/2,f=s.arcHeight/2;else if(t==="radar"){const[g,v]=a.getRadarSize();c=s.width/2-g,f=s.height/2-v}return`translate(${c}, ${f})`},transformMain(t,e){const n=this,{$el:{main:a},$T:i}=n,s=e!=null&&e.axisX?e.axisX:i(a.select(`.${dn.axisX}`),t),o=e!=null&&e.axisY?e.axisY:i(a.select(`.${dn.axisY}`),t),l=e!=null&&e.axisY2?e.axisY2:i(a.select(`.${dn.axisY2}`),t);i(a,t).attr("transform",n.getTranslate("main")),s.attr("transform",n.getTranslate("x")),o.attr("transform",n.getTranslate("y")),l.attr("transform",n.getTranslate("y2")),a.select(`.${je.chartArcs}`).attr("transform",n.getTranslate("arc"))},transformAll(t,e){const n=this,{config:a,state:{hasAxis:i,hasFunnel:s,hasTreemap:o},$el:l}=n;!s&&!o&&n.transformMain(t,e),i&&a.subchart_show&&n.transformContext(t,e),l.legend&&n.transformLegend(t)}},Wp={isValidChartType(t){return!!(t&&Object.values(se).indexOf(t)>-1)},setTargetType(t,e){const n=this,{config:a,state:{withoutFadeIn:i}}=n;n.mapToTargetIds(t).forEach(s=>{i[s]=e===a.data_types[s],a.data_types[s]=e}),t||(a.data_type=e)},updateTypesElements(){const t=this,{state:{current:e}}=t;Object.keys(se).forEach(n=>{const a=se[n],i=t.hasType(a,null,!0),s=e.types.indexOf(a);s===-1&&i?e.types.push(a):s>-1&&!i&&e.types.splice(s,1)}),t.setChartElements()},hasType(t,e,n=!1){var a;const i=this,{config:s,state:{current:o}}=i,l=s.data_types,c=e||i.data.targets;let f=!1;return!n&&((a=o.types)==null?void 0:a.indexOf(t))>-1?f=!0:c!=null&&c.length?c.forEach(g=>{const v=l[g.id];(v===t||!v&&t==="line")&&(f=!0)}):Object.keys(l).length?Object.keys(l).forEach(g=>{l[g]===t&&(f=!0)}):f=s.data_type===t,f},hasTypeOf(t,e,n=[]){return t in Sr?!Sr[t].filter(a=>n.indexOf(a)===-1).every(a=>!this.hasType(a,e)):!1},isTypeOf(t,e){var n;const a=Xe(t)?t:t.id,i=this.config&&(((n=this.config.data_types)==null?void 0:n[a])||this.config.data_type);return ze(e)?e.indexOf(i)>=0:i===e},hasPointType(){const t=this;return t.hasTypeOf("Line")||t.hasType("bubble")||t.hasType("scatter")},hasArcType(t,e){return this.hasTypeOf("Arc",t,e)},hasMultiArcGauge(){return this.hasType("gauge")&&this.config.gauge_type==="multi"},isLineType(t){const e=Xe(t)?t:t.id;return!this.config.data_types[e]||this.isTypeOf(e,Sr.Line)},isStepType(t){return this.isTypeOf(t,Sr.Step)},isSplineType(t){return this.isTypeOf(t,Sr.Spline)},isAreaType(t){return this.isTypeOf(t,Sr.Area)},isAreaRangeType(t){return this.isTypeOf(t,Sr.AreaRange)},isBarType(t){return this.isTypeOf(t,"bar")},isBubbleType(t){return this.isTypeOf(t,"bubble")},isCandlestickType(t){return this.isTypeOf(t,"candlestick")},isScatterType(t){return this.isTypeOf(t,"scatter")},isTreemapType(t){return this.isTypeOf(t,"treemap")},isPieType(t){return this.isTypeOf(t,"pie")},isFunnelType(t){return this.isTypeOf(t,"funnel")},isGaugeType(t){return this.isTypeOf(t,"gauge")},isDonutType(t){return this.isTypeOf(t,"donut")},isPolarType(t){return this.isTypeOf(t,"polar")},isRadarType(t){return this.isTypeOf(t,"radar")},isArcType(t){return this.isPieType(t)||this.isDonutType(t)||this.isGaugeType(t)||this.isPolarType(t)||this.isRadarType(t)},isCirclePoint(t){const{config:e}=this,n=e.point_pattern;let a=!1;return(t==null?void 0:t.tagName)==="circle"?a=!0:a=e.point_type==="circle"&&(!n||ze(n)&&n.length===0),a},lineData(t){return this.isLineType(t)?[t]:[]},arcData(t){return this.isArcType(t.data)?[t]:[]},labelishData(t){return this.isBarType(t)||this.isLineType(t)||this.isScatterType(t)||this.isBubbleType(t)||this.isCandlestickType(t)||this.isFunnelType(t)||this.isRadarType(t)||this.isTreemapType(t)?t.values.filter(e=>he(e.value)||!!e.value):[]},barLineBubbleData(t){return this.isBarType(t)||this.isLineType(t)||this.isBubbleType(t)?t.values:[]},isInterpolationType(t){return["basis","basis-closed","basis-open","bundle","cardinal","cardinal-closed","cardinal-open","catmull-rom","catmull-rom-closed","catmull-rom-open","linear","linear-closed","monotone-x","monotone-y","natural"].indexOf(t)>=0}};function Ni(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function Fi(t){this._context=t}Fi.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Ni(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Ni(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Kp(t){return new Fi(t)}function Ar(){}function Gc(t){this._context=t}Gc.prototype={areaStart:Ar,areaEnd:Ar,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:Ni(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Zp(t){return new Gc(t)}function Vc(t){this._context=t}Vc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,a=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,a):this._context.moveTo(n,a);break;case 3:this._point=4;default:Ni(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Jp(t){return new Vc(t)}function Xc(t,e){this._basis=new Fi(t),this._beta=e}Xc.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var a=t[0],i=e[0],s=t[n]-a,o=e[n]-i,l=-1,c;++l<=n;)c=l/n,this._basis.point(this._beta*t[l]+(1-this._beta)*(a+c*s),this._beta*e[l]+(1-this._beta)*(i+c*o));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var kp=function t(e){function n(a){return e===1?new Fi(a):new Xc(a,e)}return n.beta=function(a){return t(+a)},n}(.85);function Bi(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function oo(t,e){this._context=t,this._k=(1-e)/6}oo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Bi(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Bi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Qp=function t(e){function n(a){return new oo(a,e)}return n.tension=function(a){return t(+a)},n}(0);function lo(t,e){this._context=t,this._k=(1-e)/6}lo.prototype={areaStart:Ar,areaEnd:Ar,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Bi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var qp=function t(e){function n(a){return new lo(a,e)}return n.tension=function(a){return t(+a)},n}(0);function co(t,e){this._context=t,this._k=(1-e)/6}co.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Bi(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var _p=function t(e){function n(a){return new co(a,e)}return n.tension=function(a){return t(+a)},n}(0);const Yc=Math.abs,En=Math.atan2,jr=Math.cos,tm=Math.max,uo=Math.min,rr=Math.sin,sa=Math.sqrt,bn=1e-12,Na=Math.PI,Ui=Na/2,zi=2*Na;function em(t){return t>1?0:t<-1?Na:Math.acos(t)}function Hc(t){return t>=1?Ui:t<=-1?-Ui:Math.asin(t)}function fo(t,e,n){var a=t._x1,i=t._y1,s=t._x2,o=t._y2;if(t._l01_a>bn){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);a=(a*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>bn){var f=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,g=3*t._l23_a*(t._l23_a+t._l12_a);s=(s*f+t._x1*t._l23_2a-e*t._l12_2a)/g,o=(o*f+t._y1*t._l23_2a-n*t._l12_2a)/g}t._context.bezierCurveTo(a,i,s,o,t._x2,t._y2)}function Wc(t,e){this._context=t,this._alpha=e}Wc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,a=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+a*a,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:fo(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var nm=function t(e){function n(a){return e?new Wc(a,e):new oo(a,0)}return n.alpha=function(a){return t(+a)},n}(.5);function Kc(t,e){this._context=t,this._alpha=e}Kc.prototype={areaStart:Ar,areaEnd:Ar,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,a=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+a*a,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:fo(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var rm=function t(e){function n(a){return e?new Kc(a,e):new lo(a,0)}return n.alpha=function(a){return t(+a)},n}(.5);function Zc(t,e){this._context=t,this._alpha=e}Zc.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,a=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+a*a,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:fo(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var am=function t(e){function n(a){return e?new Zc(a,e):new co(a,0)}return n.alpha=function(a){return t(+a)},n}(.5);function Jc(t){return t<0?-1:1}function kc(t,e,n){var a=t._x1-t._x0,i=e-t._x1,s=(t._y1-t._y0)/(a||i<0&&-0),o=(n-t._y1)/(i||a<0&&-0),l=(s*i+o*a)/(a+i);return(Jc(s)+Jc(o))*Math.min(Math.abs(s),Math.abs(o),.5*Math.abs(l))||0}function Qc(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function ho(t,e,n){var a=t._x0,i=t._y0,s=t._x1,o=t._y1,l=(s-a)/3;t._context.bezierCurveTo(a+l,i+l*e,s-l,o-l*n,s,o)}function ji(t){this._context=t}ji.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:ho(this,this._t0,Qc(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,ho(this,Qc(this,n=kc(this,t,e)),n);break;default:ho(this,this._t0,n=kc(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function qc(t){this._context=new _c(t)}(qc.prototype=Object.create(ji.prototype)).point=function(t,e){ji.prototype.point.call(this,e,t)};function _c(t){this._context=t}_c.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,a,i,s){this._context.bezierCurveTo(e,t,a,n,s,i)}};function im(t){return new ji(t)}function sm(t){return new qc(t)}function tu(t){this._context=t}tu.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var a=eu(t),i=eu(e),s=0,o=1;o=0;--e)i[e]=(o[e]-i[e+1])/s[e];for(s[n-1]=(t[n]+i[n-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function cm(t){return new Gi(t,.5)}function um(t){return new Gi(t,0)}function fm(t){return new Gi(t,1)}function dm(t){const e=this;let n;return e.isLineType(t)?n=e.generateGetLinePoints(e.getShapeIndices(e.isLineType)):e.isBarType(t)&&(n=e.generateGetBarPoints(e.getShapeIndices(e.isBarType))),n}var hm={getDrawShape(){const t=this,e=t.config.axis_rotated,{hasRadar:n,hasTreemap:a}=t.state,i={type:{},indices:{},pos:{}};if(!a&&["bar","candlestick","line","area"].forEach(s=>{const o=Dn(/^(bubble|scatter)$/.test(s)?"line":s);if(t.hasType(s)||t.hasTypeOf(o)||s==="line"&&(t.hasType("bubble")||t.hasType("scatter"))){const l=t.getShapeIndices(t[`is${o}Type`]),c=t[`generateDraw${o}`];i.indices[s]=l,i.type[s]=c?c.bind(t)(l,!1):void 0}}),!t.hasArcType()||n||a){let s,o;a||(s=n?t.radarCircleX:e?t.circleY:t.circleX,o=n?t.radarCircleY:e?t.circleX:t.circleY),i.pos={xForText:t.generateXYForText(i.indices,!0),yForText:t.generateXYForText(i.indices,!1),cx:(s||function(){}).bind(t),cy:(o||function(){}).bind(t)}}return i},getShapeIndices(t){const e=this,{config:n}=e,a=n.data_xs,i=cn(a),s={};let o=i?{}:0;return i&&ws(Object.keys(a).map(l=>a[l])).forEach(l=>{o[l]=0,s[l]={}}),e.filterTargetsToShow(e.data.targets.filter(t,e)).forEach(l=>{var c;const f=l.id in a?a[l.id]:"",g=f?s[f]:s;for(let v=0,m;m=n.data_groups[v];v++)if(!(m.indexOf(l.id)<0))for(let S=0,P;P=m[S];S++){if(P in g){g[l.id]=g[P];break}l.id!==P&&f&&(g[P]=(c=g[l.id])!=null?c:o[f])}ln(g[l.id])&&(g[l.id]=f?o[f]++:o++,g.__max__=(f?o[f]:o)-1)}),s},getIndices(t,e,n){const a=this,{data_xs:i,bar_indices_removeNull:s}=a.config,{id:o,index:l}=e;if(a.isBarType(o)&&s){const c={};return a.getAllValuesOnIndex(l,!0).forEach((f,g)=>{c[f.id]=g,c.__max__=g}),c}return cn(i)?t[i[o]]:t},getIndicesMax(t){return cn(this.config.data_xs)?Object.keys(t).map(e=>t[e].__max__||0).reduce((e,n)=>e+n):t.__max__},getShapeX(t,e,n){const a=this,{config:i,scale:s}=a,o=n?s.subX:s.zoom||s.x,l=i.bar_overlap,c=i.bar_padding,f=(v,m)=>v+m,g=nr(t)&&(t._$total.length?t._$total.reduce(f)/2:0);return v=>{const m=a.getIndices(e,v,"getShapeX"),S=v.id in m?m[v.id]:0,P=(m.__max__||0)+1;let N=0;if(cn(v.x)){const L=o(v.x,!0);if(g){const w=t[v.id]||t._$width;N=l?L-w/2:L-w+t._$total.slice(0,S+1).reduce(f)-g}else N=L-(he(t)?t:t._$width)*(P/2-(l?1:S))}return t&&N&&P>1&&c&&(S&&(N+=c*S),P>2?N-=(P-1)*c/2:P===2&&(N-=c/2)),N}},getShapeY(t){const e=this,n=e.isStackNormalized();return a=>{let{value:i}=a;return he(a)?i=a:e.isAreaRangeType(a)?i=e.getBaseValue(a,"mid"):n?i=e.getRatio("index",a,!0):e.isBubbleZType(a)?i=e.getBubbleZData(a.value,"y"):e.isBarRangeType(a)&&(i=i[1]),e.getYScaleById(a.id,t)(i)}},getShapeYMin(t){const e=this,n=e.axis.getId(t),a=e.scale[n],[i]=a.domain(),s=e.config[`axis_${n}_inverted`];return!e.isGrouped(t)&&!s&&i>0?i:0},getShapeOffsetData(t){const e=this,n=e.orderTargets(e.filterTargetsToShow(e.data.targets.filter(t,e))),a=e.isStackNormalized(),i=n.map(o=>{let l=o.values;const c={};e.isStepType(o)&&(l=e.convertValuesToStep(l));const f=l.reduce((g,v)=>{const m=Number(v.x);return g[m]=v,c[m]=a?e.getRatio("index",v,!0):v.value,g},{});return{id:o.id,rowValues:l,rowValueMapByXValue:f,values:c}});return{indexMapByTargetId:n.reduce((o,{id:l},c)=>(o[l]=c,o),{}),shapeOffsetTargets:i}},getShapeOffset(t,e,n){const a=this,{shapeOffsetTargets:i,indexMapByTargetId:s}=a.getShapeOffsetData(t),o=a.config.data_groupsZeroAs;return(l,c)=>{const{id:f,value:g,x:v}=l,m=a.getIndices(e,l),S=a.getYScaleById(f,n);if(a.isBarRangeType(l))return S(g[0]);const P=Number(v),N=S(o==="zero"?0:a.getShapeYMin(f));let L=N;return i.filter(w=>w.id!==f&&m[w.id]===m[f]).forEach(w=>{const{id:X,rowValueMapByXValue:W,rowValues:Y,values:Q}=w;if(s[X]=0&&he(K)&&(g!==0||o==="positive"&&K>0||o==="negative"&&K<0)&&(L+=S(K)-N)}}),L}},circleY(t,e){const n=this,a=t.id;let i;return n.isGrouped(a)&&(i=dm.bind(n)(t)),i?i(t,e)[0][1]:n.getYScaleById(a)(n.getBaseValue(t))},getBarW(t,e,n){var a,i,s,o,l;const c=this,{config:f,org:g,scale:v,state:m}=c,S=c.getMaxDataCount(),P=t==="bar"&&((a=f.data_groups)==null?void 0:a.length),N=`${t}_width`,{k:L}=(s=(i=c.getZoomTransform)==null?void 0:i.call(c))!=null?s:{k:1},w=[(o=f.axis_x_min)!=null?o:g.xDomain[0],(l=f.axis_x_max)!=null?l:g.xDomain[1]].map(c.axis.isTimeSeries()?zn.bind(c):Number);let X=e.tickInterval(S);if(v.zoom&&!c.axis.isCategorized()&&L>1){const Q=w.every((K,at)=>K===g.xDomain[at]);X=g.xDomain.map((K,at)=>{const ht=Q?K:K-Math.abs(w[at]);return v.zoom(ht)}).reduce((K,at)=>Math.abs(K)+at)/S}const W=Q=>{const K=Q?f[N][Q]:f[N],at=Q?K.ratio:f[`${N}_ratio`],ht=Q?K.max:f[`${N}_max`],St=he(K)?K:ve(K)?K.call(c,m.width,n,S):n?X*at/n:0;return ht&&St>ht?ht:St};let Y=W();return!P&&nr(f[N])&&(Y={_$width:Y,_$total:[]},c.filterTargetsToShow(c.data.targets).forEach(Q=>{f[N][Q.id]&&(Y[Q.id]=W(Q.id),Y._$total.push(Y[Q.id]||Y._$width))})),Y},getShapeByIndex(t,e,n){const a=this,{$el:i}=a,s=De(e)?`-${e}`:"";let o=i[t];return o&&!o.empty()?o=o.filter(l=>n?l.id===n:!0).filter(l=>De(e)?l.index===e:!0):o=(n?i.main.selectAll(`.${Ue[`${t}s`]}${a.getTargetSelectorSuffix(n)}`):i.main).selectAll(`.${Ue[t]}${s}`),o},isWithinShape(t,e){var n;const a=this,i=st(t);let s;return a.isTargetToShow(e.id)?(n=a.hasValidPointType)!=null&&n.call(a,t.nodeName)?s=a.isStepType(e)?a.isWithinStep(t,a.getYScaleById(e.id)(a.getBaseValue(e))):a.isWithinCircle(t,a.isBubbleType(e)?a.pointSelectR(e)*1.5:0):t.nodeName==="path"&&(s=i.classed(Ue.bar)?a.isWithinBar(t):!0):s=!1,s},getInterpolate(t){const n=this.getInterpolateType(t);return{basis:Kp,"basis-closed":Zp,"basis-open":Jp,bundle:kp,cardinal:Qp,"cardinal-closed":qp,"cardinal-open":_p,"catmull-rom":nm,"catmull-rom-closed":rm,"catmull-rom-open":am,"monotone-x":im,"monotone-y":sm,natural:om,"linear-closed":lm,linear:go,step:cm,"step-after":fm,"step-before":um}[n]},getInterpolateType(t){const e=this,{config:n}=e,a=n.spline_interpolation_type,i=e.isInterpolationType(a)?a:"cardinal";return e.isSplineType(t)?i:e.isStepType(t)?n.line_step_type:"linear"},isWithinBar(t){const e=Hn(this.state.event,t),n=Yl(t),[a,i]=n,s=Math.min(a.x,i.x),o=Math.min(a.y,i.y),l=this.config.bar_sensitivity,{width:c,height:f}=t.getBBox(),g=s-l,v=s+c+l,m=o+f+l,S=o-l;return ge in t?gm(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Rn=(t,e,n)=>vm(t,typeof e!="symbol"?e+"":e,n);class Gr{constructor(e){Rn(this,"api"),Rn(this,"config"),Rn(this,"cache"),Rn(this,"$el"),Rn(this,"state"),Rn(this,"charts"),Rn(this,"data",{xs:{},targets:[]}),Rn(this,"axis"),Rn(this,"scale",{x:null,y:null,y2:null,subX:null,subY:null,subY2:null,zoom:null}),Rn(this,"org",{xScale:null,xDomain:null}),Rn(this,"color"),Rn(this,"patterns"),Rn(this,"levelColor"),Rn(this,"point"),Rn(this,"brush"),Rn(this,"format",{extraLineClasses:null,xAxisTick:null,dataTime:null,defaultAxisTime:null,axisTime:null});const n=this;n.api=e,n.config=new Nr,n.cache=new gv;const a=new uv;n.$el=a.getStore("element"),n.state=a.getStore("state"),n.$T=n.$T.bind(n)}$T(e,n,a){const{config:i,state:s}=this,o=i.transition_duration,l=i.subchart_show;let c=e;return c&&("tagName"in c&&(c=st(c)),c=(n!==!1&&o||n)&&(!s.zooming||s.dragging)&&!s.resizing&&s.rendered&&!l?c.transition(a).duration(o):c),c}beforeInit(){const e=this;e.callPluginHook("$beforeInit"),_e(e.config.onbeforeinit,e.api)}afterInit(){const e=this;e.callPluginHook("$afterInit"),_e(e.config.onafterinit,e.api)}init(){const e=this,{config:n,state:a,$el:i}=e,s=n.boost_useCssRule;if(vv(e),a.hasRadar=!a.hasAxis&&e.hasType("radar"),a.hasFunnel=!a.hasAxis&&e.hasType("funnel"),a.hasTreemap=!a.hasAxis&&e.hasType("treemap"),a.hasAxis=!e.hasArcType()&&!a.hasFunnel&&!a.hasTreemap,a.datetimeId=`bb-${+new Date*gr()}`,s){const l=vn.createElement("style");l.type="text/css",vn.head.appendChild(l),a.style={rootSelctor:`.${a.datetimeId}`,sheet:l.sheet},i.style=l}const o={element:n.bindto,classname:"bb"};Be(n.bindto)&&(o.element=n.bindto.element||"#chart",o.classname=n.bindto.classname||o.classname),i.chart=ve(o.element.node)?n.bindto.element:st(o.element||[]),i.chart.empty()&&(i.chart=st(vn.body.appendChild(vn.createElement("div")))),i.chart.html("").classed(o.classname,!0).classed(a.datetimeId,s).style("position","relative"),e.initParams(),e.initToRender()}initToRender(e){const n=this,{config:a,state:i,$el:{chart:s}}=n,o=()=>nv(s,{display:"none",visibility:"hidden"}),l=a.render.lazy===!1?!1:a.render.lazy||o(),c=Ke.MutationObserver;l&&c&&a.render.observe!==!1&&!e&&new c((f,g)=>{o()||(g.disconnect(),!i.rendered&&n.initToRender(!0))}).observe(s.node(),{attributes:!0,attributeFilter:["class","style"]}),(!l||e)&&n.convertData(a,f=>{n.initWithData(f),n.afterInit()})}initParams(){var e;const n=this,{config:a,format:i,state:s}=n,o=a.axis_rotated;if(n.color=n.generateColor(),n.levelColor=n.generateLevelColor(),a.padding===!1&&(a.axis_x_show=!1,a.axis_y_show=!1,a.axis_y2_show=!1,a.subchart_show=!1),(n.hasPointType()||(e=n.hasLegendDefsPoint)!=null&&e.call(n))&&(n.point=n.generatePoint()),s.hasAxis){n.initClip(),i.extraLineClasses=n.generateExtraLineClass(),i.dataTime=a.data_xLocaltime?Wo:Ko,i.axisTime=a.axis_x_localtime?as:is;const l=n.config.zoom_enabled&&n.config.zoom_type==="drag";i.defaultAxisTime=c=>{const{x:f,zoom:g}=n.scale,v=l?g:g&&f.orgDomain().toString()!==g.domain().toString(),m=c.getMilliseconds()&&".%L"||c.getSeconds()&&".:%S"||c.getMinutes()&&"%I:%M"||c.getHours()&&"%I %p"||c.getDate()!==1&&"%b %d"||v&&c.getDate()===1&&"%b'%y"||c.getMonth()&&"%-m/%-d"||"%Y";return i.axisTime(m)(c)}}s.isLegendRight=a.legend_position==="right",s.isLegendInset=a.legend_position==="inset",s.isLegendTop=a.legend_inset_anchor==="top-left"||a.legend_inset_anchor==="top-right",s.isLegendLeft=a.legend_inset_anchor==="top-left"||a.legend_inset_anchor==="bottom-left",s.rotatedPadding.top=n.getResettedPadding(s.rotatedPadding.top),s.rotatedPadding.right=o&&!a.axis_x_show?0:30,s.inputType=rv(a.interaction_inputType_mouse,a.interaction_inputType_touch)}initWithData(e){var n,a,i;const s=this,{config:o,scale:l,state:c,$el:f,org:g}=s,{hasAxis:v,hasFunnel:m,hasTreemap:S}=c,P=o.interaction_enabled,N=s.hasType("polar"),L=o.data_labels_backgroundColors;if(v&&(s.axis=s.getAxisInstance(),o.zoom_enabled&&s.initZoom()),s.data.xs={},s.data.targets=s.convertDataToTargets(e),o.data_filter&&(s.data.targets=s.data.targets.filter(o.data_filter.bind(s.api))),o.data_hide&&s.addHiddenTargetIds(o.data_hide===!0?s.mapToIds(s.data.targets):o.data_hide),o.legend_hide&&s.addHiddenLegendIds(o.legend_hide===!0?s.mapToIds(s.data.targets):o.legend_hide),s.updateSizes(),s.updateScales(!0),v){const{x:W,y:Y,y2:Q,subX:K,subY:at,subY2:ht}=l;W&&(W.domain(na(s.getXDomain(s.data.targets),!o.axis_x_inverted)),K.domain(W.domain()),g.xDomain=W.domain()),Y&&(Y.domain(s.getYDomain(s.data.targets,"y")),at.domain(Y.domain())),Q&&(Q.domain(s.getYDomain(s.data.targets,"y2")),ht&&ht.domain(Q.domain()))}if(f.svg=f.chart.append("svg").style("overflow","hidden").style("display","block"),P&&c.inputType){const W=c.inputType==="touch",{onclick:Y,onover:Q,onout:K}=o;f.svg.on("click",(Y==null?void 0:Y.bind(s.api))||null).on(W?"touchstart":"mouseenter",(Q==null?void 0:Q.bind(s.api))||null).on(W?"touchend":"mouseleave",(K==null?void 0:K.bind(s.api))||null)}o.svg_classname&&f.svg.attr("class",o.svg_classname);const w=ve(o.color_tiles)&&s.patterns;(v||w||N||S||L||(n=s.hasLegendDefsPoint)!=null&&n.call(s))&&(f.defs=f.svg.append("defs"),v&&["id","idXAxis","idYAxis","idGrid"].forEach(W=>{s.appendClip(f.defs,c.clip[W])}),s.generateTextBGColorFilter(L),w&&s.patterns.forEach(W=>f.defs.append(()=>W.node))),s.updateSvgSize(),s.bindResize();const X=f.svg.append("g").classed(Se.main,!0).attr("transform",m||S?null:s.getTranslate("main"));if(f.main=X,o.subchart_show&&s.initSubchart(),o.tooltip_show&&s.initTooltip(),o.title_text&&s.initTitle(),!S&&o.legend_show&&s.initLegend(),o.data_empty_label_text&&X.append("text").attr("class",`${On.text} ${Se.empty}`).attr("text-anchor","middle").attr("dominant-baseline","middle"),v&&(o.regions.length&&s.initRegion(),!o.clipPath&&s.axis.init()),X.append("g").classed(Se.chart,!0).attr("clip-path",v?c.clip.path:null),s.callPluginHook("$init"),s.initChartElements(),v&&(P&&((a=s.initEventRect)==null||a.call(s)),s.initGrid(),o.clipPath&&((i=s.axis)==null||i.init())),s.updateTargets(s.data.targets),s.updateDimension(),_e(o.oninit,s.api),s.setBackground(),s.redraw({withTransition:!1,withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withTransitionForAxis:!1,initializing:!0}),o.data_onmin||o.data_onmax){const W=s.getMinMaxData();_e(o.data_onmin,s.api,W.min),_e(o.data_onmax,s.api,W.max)}o.tooltip_show&&s.initShowTooltip(),c.rendered=!0}initChartElements(){const e=this,{hasAxis:n,hasRadar:a,hasTreemap:i}=e.state,s=[];if(n){const o=["bar","bubble","candlestick","line"];e.config.bar_front&&o.push(o.shift()),o.forEach(l=>{const c=Dn(l);(l==="line"&&e.hasTypeOf(c)||e.hasType(l))&&s.push(c)})}else if(i)s.push("Treemap");else if(e.hasType("funnel"))s.push("Funnel");else{const o=e.hasType("polar");a||s.push("Arc","Pie"),e.hasType("gauge")?s.push("Gauge"):a?s.push("Radar"):o&&s.push("Polar")}s.forEach(o=>{e[`init${o}`]()}),cn(e.config.data_labels)&&!e.hasArcType(null,["radar"])&&e.initText()}setChartElements(){const e=this,{$el:{chart:n,svg:a,defs:i,main:s,tooltip:o,legend:l,title:c,grid:f,needle:g,arcs:v,circle:m,bar:S,candlestick:P,line:N,area:L,text:w}}=e;e.api.$={chart:n,svg:a,defs:i,main:s,tooltip:o,legend:l,title:c,grid:f,arc:v,circles:m,bar:{bars:S},candlestick:P,line:{lines:N,areas:L},needle:g,text:{texts:w}}}setBackground(){const e=this,{config:{background:n},state:a,$el:{svg:i}}=e;if(cn(n)){const s=i.select("g").insert(n.imgUrl?"image":"rect",":first-child");n.imgUrl?s.attr("href",n.imgUrl):n.color&&s.style("fill",n.color).attr("clip-path",a.clip.path),s.attr("class",n.class||null).attr("width","100%").attr("height","100%")}}updateTargets(e){var n;const a=this,{hasAxis:i,hasFunnel:s,hasRadar:o,hasTreemap:l}=a.state,c=g=>a[`updateTargetsFor${g}`](e.filter(a[`is${g}Type`].bind(a)));if(a.updateTargetsForText(e),i)["bar","candlestick","line"].forEach(g=>{const v=Dn(g);(g==="line"&&a.hasTypeOf(v)||a.hasType(g))&&c(v)}),a.updateTargetsForSubchart&&a.updateTargetsForSubchart(e);else if(a.hasArcType(e)){let g="Arc";o?g="Radar":a.hasType("polar")&&(g="Polar"),c(g)}else s?c("Funnel"):l&&c("Treemap");const f=a.hasType("bubble")||a.hasType("scatter");f&&((n=a.updateTargetForCircle)==null||n.call(a)),a.filterTargetsToShowAtInit(f)}filterTargetsToShowAtInit(e=!1){const n=this,{$el:{svg:a},$T:i}=n;let s=`.${Se.target}`;e&&(s+=`, .${$n.chartCircles} > .${$n.circles}`),i(a.selectAll(s).filter(o=>n.isTargetToShow(o.id))).style("opacity",null)}getWithOption(e){const n={Dimension:!0,EventRect:!0,Legend:!1,Subchart:!0,Transform:!1,Transition:!0,TrimXDomain:!0,UpdateXAxis:"UpdateXDomain",UpdateXDomain:!1,UpdateOrgXDomain:!1,TransitionForExit:"Transition",TransitionForAxis:"Transition",Y:!0};return Object.keys(n).forEach(a=>{let i=n[a];Xe(i)&&(i=n[i]),n[a]=$r(e,`with${a}`,i)}),n}initialOpacity(e){const n=this,{withoutFadeIn:a}=n.state;return n.getBaseValue(e)!==null&&a[e.id]?null:"0"}bindResize(){const e=this,{config:n,state:a}=e,i=xv(n.resize_timer),s=[];s.push(()=>_e(n.onresize,e.api)),n.resize_auto===!0&&s.push(()=>{a.resizing=!0,n.legend_show&&(e.updateSizes(),e.updateLegend()),e.api.flush(!1)}),s.push(()=>{_e(n.onresized,e.api),a.resizing=!1}),s.forEach(o=>i.add(o)),e.resizeFunction=i,Ke.addEventListener("resize",e.resizeFunction=i)}callPluginHook(e,...n){this.config.plugins.forEach(a=>{e==="$beforeInit"&&(a.$$=this,this.api.plugins.push(a)),a[e](...n)})}}xn(Gr.prototype,[Mv,Dv,Lv,jv,Gv,Hv,Wv,zv,Kv,Zv,Jv,Bp,hm,Up,zp,Vp,Xp,Yp,Hp,Wp]);function pm(t){const e=this.config;let n,a,i;const s=()=>{const o=a.shift();if(o&&n&&nr(n)&&o in n)return n=n[o],s();if(!o)return n};Object.keys(e).forEach(o=>{n=t,a=o.split("_"),i=s(),ke(i)&&(e[o]=i)}),this.api&&(this.state.orgConfig=t)}var mm={resize(t){const e=this.internal,{config:n,state:a}=e;a.rendered&&(n.size_width=t?t.width:null,n.size_height=t?t.height:null,a.resizing=!0,this.flush(!1),e.resizeFunction())},flush(t){var e,n;const a=this.internal,{state:i,$el:{zoomResetBtn:s}}=a;i.rendered?(i.resizing?(e=a.brush)==null||e.updateResize():(n=a.axis)==null||n.setOrient(),s==null||s.style("display","none"),a.scale.zoom=null,t?a.redraw({withTransform:!0,withUpdateXDomain:!0,withUpdateOrgXDomain:!0,withLegend:!0}):a.updateAndRedraw({withLegend:!0,withTransition:!1,withTransitionForTransform:!1}),!i.resizing&&a.brush&&(a.brush.getSelection().call(a.brush.move),a.unselectRect())):a.initToRender(!0)},destroy(){const t=this.internal,{$el:{chart:e,style:n,svg:a}}=t;if(cn(t)){t.callPluginHook("$willDestroy"),t.charts.splice(t.charts.indexOf(this),1),t.unbindAllEvents(),a.select("*").interrupt(),t.resizeFunction.clear(),Ke.removeEventListener("resize",t.resizeFunction),e.classed("bb",!1).style("position",null).selectChildren().remove(),n&&n.parentNode.removeChild(n),Object.keys(this).forEach(i=>{i==="internal"&&Object.keys(t).forEach(s=>{t[s]=null}),this[i]=null,delete this[i]});for(const i in this)this[i]=()=>{}}return null},config(t,e,n){const a=this.internal,{config:i,state:s}=a,o=t==null?void 0:t.replace(/\./g,"_");let l;return t&&o in i?ke(e)?(i[o]=e,l=e,n&&this.flush()):l=i[o]:(arguments.length===0||qn(t))&&(l=s.orgConfig),l}},ym={color(t){return this.internal.color(t)}};const au=function(t){const{targets:e}=this.internal.data;if(!ln(t)){const n=ze(t)?t:[t];return e.filter(a=>n.some(i=>i===a.id))}return e};xn(au,{shown:function(t){return this.internal.filterTargetsToShow(this.data(t))},values:function(t,e=!0){let n=null;if(t){const a=this.data(t);ze(a)&&(n=[],a.forEach(i=>{const s=i.values.map(o=>o.value);e?n=n.concat(s):n.push(s)}))}return n},names:function(t){return this.internal.updateDataAttributes("names",t)},colors:function(t){return this.internal.updateDataAttributes("colors",t)},axes:function(t){return this.internal.updateDataAttributes("axes",t)},min:function(){return this.internal.getMinMaxData().min},max:function(){return this.internal.getMinMaxData().max}});var xm={data:au};const Tm=t=>{var e,n;return(n=(e=Ke).btoa)==null?void 0:n.call(e,encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,(a,i)=>String.fromCharCode(+`0x${i}`)))};function $m(t,e,n){const{width:a,height:i}=e||n,s=new XMLSerializer,o=t.cloneNode(!0),l=tv(Lr(vn.styleSheets)).filter(m=>m.cssText).map(m=>m.cssText);o.setAttribute("xmlns",ae.xhtml),o.style.margin="0",o.style.padding="0",e.preserveFontStyle&&o.querySelectorAll("text").forEach(m=>{m.innerHTML=""});const c=s.serializeToString(o),f=vn.createElement("style");f.appendChild(vn.createTextNode(l.join(` +`)));const g=s.serializeToString(f),v=` ${g} ${c.replace(/(url\()[^#]+/g,"$1")} - `;return`data:image/svg+xml;base64,${Tm(v)}`}function Sm(t,e){const{top:n,left:a}=e,{x:i,y:o}=t.getBBox(),{a:s,b:l,c,d:f,e:g,f:v}=t.getScreenCTM(),{width:m,height:S}=t.getBoundingClientRect();return{x:s*i+c*o+g-a,y:l*i+f*o+v-n+(S-Math.round(S/4)),width:m,height:S}}function Am(t){const{left:e,top:n}=t.getBoundingClientRect(),a=o=>o.textContent||o.childElementCount,i=[];return Lr(t.querySelectorAll("text")).filter(a).forEach(o=>{const s=l=>{const{fill:c,fontFamily:f,fontSize:g,textAnchor:v,transform:m}=Ke.getComputedStyle(l),{x:S,y:P,width:N,height:L}=Sm(l,{left:e,top:n});return{[l.textContent]:{x:S,y:P,width:N,height:L,fill:c,fontFamily:f,fontSize:g,textAnchor:v,transform:m}}};if(o.childElementCount>1){const l=[];return Lr(o.querySelectorAll("tspan")).filter(a).forEach(c=>{i.push(s(c))}),l}else i.push(s(o))}),i}function Em(t,e){e.forEach(n=>{Object.keys(n).forEach(a=>{const{x:i,y:o,width:s,height:l,fill:c,fontFamily:f,fontSize:g,transform:v}=n[a];if(t.save(),t.font=`${g} ${f}`,t.fillStyle=c,v==="none")t.fillText(a,i,o);else{const m=v.replace(/(matrix|\(|\))/g,"").split(",");m.splice(4).every(S=>+S==0)?(m.push(i+s-s/4),m.push(o-l+l/3)):(m.push(i),m.push(o)),t.transform(...m),t.fillText(a,0,0)}t.restore()})})}var bm={export(t,e){const n=this.internal,{state:a,$el:{chart:i,svg:o}}=n,{width:s,height:l}=a.current,c=ea({width:s,height:l,preserveAspectRatio:!0,preserveFontStyle:!1,mimeType:"image/png"},t),f=$m(i.node(),c,{width:s,height:l}),g=c.preserveFontStyle?Am(o.node()):[];if(e&&ve(e)){const v=new Image;v.crossOrigin="Anonymous",v.onload=()=>{const m=vn.createElement("canvas"),S=m.getContext("2d");m.width=c.width||s,m.height=c.height||l,S.drawImage(v,0,0),g.length&&(Em(S,g),g.length=0),e.bind(this)(m.toDataURL(c.mimeType))},v.src=f}return f}},Rm={focus(t){const e=this.internal,{state:n}=e,a=e.mapToTargetIds(t),i=e.$el.svg.selectAll(e.selectorTargets(a.filter(e.isTargetToShow,e)));this.revert(),this.defocus(),i.classed(qe.focused,!0).classed(qe.defocused,!1),e.hasArcType()&&!n.hasRadar&&(e.expandArc(a),e.hasType("gauge")&&e.markOverlapped(t,e,`.${Un.gaugeValue}`)),e.toggleFocusLegend(a,!0),n.focusedTargetIds=a,n.defocusedTargetIds=n.defocusedTargetIds.filter(o=>a.indexOf(o)<0)},defocus(t){const e=this.internal,{state:n}=e,a=e.mapToTargetIds(t);e.$el.svg.selectAll(e.selectorTargets(a.filter(e.isTargetToShow,e))).classed(qe.focused,!1).classed(qe.defocused,!0),e.hasArcType(null,["polar"])&&(e.unexpandArc(a),e.hasType("gauge")&&e.undoMarkOverlapped(e,`.${Un.gaugeValue}`)),e.toggleFocusLegend(a,!1),n.focusedTargetIds=n.focusedTargetIds.filter(o=>a.indexOf(o)<0),n.defocusedTargetIds=a},revert(t){const e=this.internal,{config:n,state:a,$el:i}=e,o=e.mapToTargetIds(t);i.svg.selectAll(e.selectorTargets(o)).classed(qe.focused,!1).classed(qe.defocused,!1),e.hasArcType(null,["polar"])&&e.unexpandArc(o),n.legend_show&&(e.showLegend(o.filter(e.isLegendToShow.bind(e))),i.legend.selectAll(e.selectorLegends(o)).filter(function(){return ot(this).classed(qe.legendItemFocused)}).classed(qe.legendItemFocused,!1)),a.focusedTargetIds=[],a.defocusedTargetIds=[]}},Im={legend:{show:function(t){const e=this.internal;e.showLegend(e.mapToTargetIds(t)),e.updateAndRedraw({withLegend:!0})},hide:function(t){const e=this.internal;e.hideLegend(e.mapToTargetIds(t)),e.updateAndRedraw({withLegend:!0})}}},Om={load(t){const e=this.internal,{config:n}=e;t.xs&&e.addXs(t.xs),"names"in t&&this.data.names(t.names),"classes"in t&&Object.keys(t.classes).forEach(a=>{n.data_classes[a]=t.classes[a]}),"categories"in t&&e.axis.isCategorized()&&(n.axis_x_categories=t.categories),"axes"in t&&Object.keys(t.axes).forEach(a=>{n.data_axes[a]=t.axes[a]}),"colors"in t&&Object.keys(t.colors).forEach(a=>{n.data_colors[a]=t.colors[a]}),"unload"in t&&t.unload!==!1?e.unload(e.mapToTargetIds(t.unload===!0?null:t.unload),()=>{jl(()=>e.loadFromArgs(t))}):e.loadFromArgs(t)},unload(t){const e=this.internal;let n=t||{};qn(n)&&this.tooltip.hide(),ze(n)?n={ids:n}:Xe(n)&&(n={ids:[n]});const a=e.mapToTargetIds(n.ids);e.unload(a,()=>{e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),e.cache.remove(a),cc.call(e,n.done,n.resizeAfter)})}};function iu(t,e,n){const a=this.internal,i=a.mapToTargetIds(e),o=a.state.hiddenTargetIds.map(c=>i.indexOf(c)>-1&&c).filter(Boolean);a.state.toggling=!0,a[`${t?"remove":"add"}HiddenTargetIds`](i);const s=a.$el.svg.selectAll(a.selectorTargets(i)),l=t?null:"0";t&&o.length&&(s.style("display",null),_e(a.config.data_onshown,this,o)),a.$T(s).style("opacity",l,"important").call($i,()=>{var c;!t&&o.length===0&&(s.style("display","none"),_e((c=a.config)==null?void 0:c.data_onhidden,this,i)),s.style("opacity",l)}),n.withLegend&&a[`${t?"show":"hide"}Legend`](i),a.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),a.state.toggling=!1}var Cm={show(t,e={}){iu.call(this,!0,t,e)},hide(t,e={}){iu.call(this,!1,t,e)},toggle(t,e={}){const n=this.internal,a={show:[],hide:[]};n.mapToTargetIds(t).forEach(i=>a[n.isTargetToShow(i)?"hide":"show"].push(i)),a.show.length&&this.show(a.show,e),a.hide.length&&setTimeout(()=>this.hide(a.hide,e),0)}},Pm={tooltip:{show:function(t){var e,n,a;const i=this.internal,{$el:o,config:s,state:{eventReceiver:l,hasFunnel:c,hasTreemap:f,inputType:g}}=i;let v,m;if(t.mouse&&(m=t.mouse),t.data){const{data:S}=t,P=(e=i.getYScaleById(S.id))==null?void 0:e(S.value);if((c||f)&&S.id){const N=i.selectorTarget(S.id,void 0,`.${sn.shape}`);l.rect=o.main.select(N)}else i.isMultipleX()?m=[i.xx(S),P]:(s.tooltip_grouped||(m=[0,P]),v=(a=S.index)!=null?a:i.hasArcType()&&S.id?(n=i.getArcElementByIdOrIndex(S.id))==null?void 0:n.datum().index:i.getIndexByX(S.x))}else ke(t.x)?v=i.getIndexByX(t.x):ke(t.index)&&(v=t.index);(g==="mouse"?["mouseover","mousemove"]:["touchstart"]).forEach(S=>{i.dispatchEvent(S,v,m)})},hide:function(){var t,e,n;const a=this.internal,{state:{inputType:i},$el:{tooltip:o}}=a,s=o==null?void 0:o.datum();if(s){const{index:l}=JSON.parse(s.current)[0];(i==="mouse"?["mouseout"]:["touchend"]).forEach(c=>{a.dispatchEvent(c,l)})}i==="touch"&&a.callOverOutForTouch(),a.hideTooltip(!0),(t=a.hideGridFocus)==null||t.call(a),(e=a.unexpandCircles)==null||e.call(a),(n=a.expandBarTypeShapes)==null||n.call(a,!1)}}},wm=Object.defineProperty,Mm=(t,e,n)=>e in t?wm(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ou=(t,e,n)=>Mm(t,typeof e!="symbol"?e+"":e,n);class Er{constructor(e){ou(this,"plugins",[]),ou(this,"internal");const n=new Gr(this);this.internal=n,function a(i,o,s){Object.keys(i).forEach(l=>{const c=ve(i[l]),f=o!==s,g=cn(i[l]),v=g&&Object.keys(i[l]).length>0;c&&(!f&&v||f)?o[l]=i[l].bind(s):g&&!c?o[l]={}:o[l]=i[l],v&&a(i[l],o[l],s)})}(Er.prototype,this,this),pm.call(n,e),n.beforeInit(),n.init()}}xn(Er.prototype,[mm,ym,xm,bm,Rm,Im,Om,Cm,Pm]);function su(t=!1,e,n,a){const i=this,{config:o,$el:{main:s}}=i,l=o.data_selection_grouped,c=o.data_selection_isselectable.bind(i.api);o.data_selection_enabled&&s.selectAll(`.${sn.shapes}`).selectAll(`.${sn.shape}`).each(function(f){const g=ot(this),{id:v,index:m}=f.data?f.data:f,S=i.getToggle(this,f).bind(i),P=l||!e||e.indexOf(v)>=0,N=!n||n.indexOf(m)>=0,L=g.classed(tn.SELECTED);g.classed(ur.line)||g.classed(_a.area)||(t?P&&N&&c(f)&&!L?S(!0,g.classed(tn.SELECTED,!0),f,m):ke(a)&&a&&L&&S(!1,g.classed(tn.SELECTED,!1),f,m):P&&N&&c(f)&&L&&S(!1,g.classed(tn.SELECTED,!1),f,m))})}var Dm={selected(t){const e=this.internal,n=[];return e.$el.main.selectAll(`.${sn.shapes+e.getTargetSelectorSuffix(t)}`).selectAll(`.${sn.shape}`).filter(function(){return ot(this).classed(tn.SELECTED)}).each(a=>n.push(a)),n},select(t,e,n){const a=this.internal;su.bind(a)(!0,t,e,n)},unselect(t,e){const n=this.internal;su.bind(n)(!1,t,e)}};const lu=function(t){var e;const n=this.internal,{axis:a,brush:i,config:o,scale:{x:s,subX:l},state:c}=n;let f;return o.subchart_show&&(f=t,Array.isArray(f)?(a.isTimeSeries()&&(f=f.map(v=>zn.bind(n)(v))),n.withinRange(f,n.getZoomDomain("subX",!0),n.getZoomDomain("subX"))&&(c.domain=f,i.move(i.getSelection(),f.map(l)))):f=(e=c.domain)!=null?e:s.orgDomain()),f};xn(lu,{show(){var t,e;const n=this.internal,{$el:{subchart:a},config:i}=n,o=i.subchart_show;if(!o){n.unbindZoomEvent(),i.subchart_show=!o,!a.main&&n.initSubchart();let s=a.main.selectAll(`.${Se.target}`);n.data.targets.length!==s.size()&&(n.updateSizes(),n.updateTargetsForSubchart(n.data.targets),s=(t=a.main)==null?void 0:t.selectAll(`.${Se.target}`)),s==null||s.style("opacity",null),(e=a.main)==null||e.style("display",null),this.resize()}},hide(){const t=this.internal,{$el:{subchart:{main:e}},config:n}=t;n.subchart_show&&(e==null?void 0:e.style("display"))!=="none"&&(n.subchart_show=!1,e.style("display","none"),this.resize())},toggle(){const t=this.internal,{config:e}=t;this.subchart[e.subchart_show?"hide":"show"]()},reset(){const t=this.internal,{brush:e}=t;e.clear(e.getSelection())}});var Lm={subchart:lu},Nm=1e-12;function cu(t){return((t=Math.exp(t))+1/t)/2}function Fm(t){return((t=Math.exp(t))-1/t)/2}function Bm(t){return((t=Math.exp(2*t))-1)/(t+1)}var Um=function t(e,n,a){function i(o,s){var l=o[0],c=o[1],f=o[2],g=s[0],v=s[1],m=s[2],S=g-l,P=v-c,N=S*S+P*P,L,w;if(N()=>t;function zm(t,{sourceEvent:e,target:n,transform:a,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:a,enumerable:!0,configurable:!0},_:{value:i}})}function vr(t,e,n){this.k=t,this.x=e,this.y=n}vr.prototype={constructor:vr,scale:function(t){return t===1?this:new vr(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new vr(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ar=new vr(1,0,0);vs.prototype=vr.prototype;function vs(t){for(;!t.__zoom;)if(!(t=t.parentNode))return ar;return t.__zoom}function ps(t){t.stopImmediatePropagation()}function Fa(t){t.preventDefault(),t.stopImmediatePropagation()}function jm(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function Gm(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function uu(){return this.__zoom||ar}function Vm(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Xm(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ym(t,e,n){var a=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],o=t.invertY(e[0][1])-n[0][1],s=t.invertY(e[1][1])-n[1][1];return t.translate(i>a?(a+i)/2:Math.min(0,a)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Hm(){var t=jm,e=Gm,n=Ym,a=Vm,i=Xm,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],l=250,c=Um,f=ni("start","zoom","end"),g,v,m,S=500,P=150,N=0,L=10;function w(Z){Z.property("__zoom",uu).on("wheel.zoom",ht,{passive:!1}).on("mousedown.zoom",St).on("dblclick.zoom",ct).filter(i).on("touchstart.zoom",lt).on("touchmove.zoom",Gt).on("touchend.zoom touchcancel.zoom",vt).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}w.transform=function(Z,$t,ut,At){var Vt=Z.selection?Z.selection():Z;Vt.property("__zoom",uu),Z!==Vt?Q(Z,$t,ut,At):Vt.interrupt().each(function(){K(this,arguments).event(At).start().zoom(null,typeof $t=="function"?$t.apply(this,arguments):$t).end()})},w.scaleBy=function(Z,$t,ut,At){w.scaleTo(Z,function(){var Vt=this.__zoom.k,Bt=typeof $t=="function"?$t.apply(this,arguments):$t;return Vt*Bt},ut,At)},w.scaleTo=function(Z,$t,ut,At){w.transform(Z,function(){var Vt=e.apply(this,arguments),Bt=this.__zoom,Kt=ut==null?Y(Vt):typeof ut=="function"?ut.apply(this,arguments):ut,ne=Bt.invert(Kt),le=typeof $t=="function"?$t.apply(this,arguments):$t;return n(W(X(Bt,le),Kt,ne),Vt,s)},ut,At)},w.translateBy=function(Z,$t,ut,At){w.transform(Z,function(){return n(this.__zoom.translate(typeof $t=="function"?$t.apply(this,arguments):$t,typeof ut=="function"?ut.apply(this,arguments):ut),e.apply(this,arguments),s)},null,At)},w.translateTo=function(Z,$t,ut,At,Vt){w.transform(Z,function(){var Bt=e.apply(this,arguments),Kt=this.__zoom,ne=At==null?Y(Bt):typeof At=="function"?At.apply(this,arguments):At;return n(ar.translate(ne[0],ne[1]).scale(Kt.k).translate(typeof $t=="function"?-$t.apply(this,arguments):-$t,typeof ut=="function"?-ut.apply(this,arguments):-ut),Bt,s)},At,Vt)};function X(Z,$t){return $t=Math.max(o[0],Math.min(o[1],$t)),$t===Z.k?Z:new vr($t,Z.x,Z.y)}function W(Z,$t,ut){var At=$t[0]-ut[0]*Z.k,Vt=$t[1]-ut[1]*Z.k;return At===Z.x&&Vt===Z.y?Z:new vr(Z.k,At,Vt)}function Y(Z){return[(+Z[0][0]+ +Z[1][0])/2,(+Z[0][1]+ +Z[1][1])/2]}function Q(Z,$t,ut,At){Z.on("start.zoom",function(){K(this,arguments).event(At).start()}).on("interrupt.zoom end.zoom",function(){K(this,arguments).event(At).end()}).tween("zoom",function(){var Vt=this,Bt=arguments,Kt=K(Vt,Bt).event(At),ne=e.apply(Vt,Bt),le=ut==null?Y(ne):typeof ut=="function"?ut.apply(Vt,Bt):ut,be=Math.max(ne[1][0]-ne[0][0],ne[1][1]-ne[0][1]),Oe=Vt.__zoom,Ce=typeof $t=="function"?$t.apply(Vt,Bt):$t,Ye=c(Oe.invert(le).concat(be/Oe.k),Ce.invert(le).concat(be/Ce.k));return function(Fe){if(Fe===1)Fe=Ce;else{var hn=Ye(Fe),Jt=be/hn[2];Fe=new vr(Jt,le[0]-hn[0]*Jt,le[1]-hn[1]*Jt)}Kt.zoom(null,Fe)}})}function K(Z,$t,ut){return!ut&&Z.__zooming||new at(Z,$t)}function at(Z,$t){this.that=Z,this.args=$t,this.active=0,this.sourceEvent=null,this.extent=e.apply(Z,$t),this.taps=0}at.prototype={event:function(Z){return Z&&(this.sourceEvent=Z),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(Z,$t){return this.mouse&&Z!=="mouse"&&(this.mouse[1]=$t.invert(this.mouse[0])),this.touch0&&Z!=="touch"&&(this.touch0[1]=$t.invert(this.touch0[0])),this.touch1&&Z!=="touch"&&(this.touch1[1]=$t.invert(this.touch1[0])),this.that.__zoom=$t,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(Z){var $t=ot(this.that).datum();f.call(Z,this.that,new zm(Z,{sourceEvent:this.sourceEvent,target:w,type:Z,transform:this.that.__zoom,dispatch:f}),$t)}};function ht(Z,...$t){if(!t.apply(this,arguments))return;var ut=K(this,$t).event(Z),At=this.__zoom,Vt=Math.max(o[0],Math.min(o[1],At.k*Math.pow(2,a.apply(this,arguments)))),Bt=Yn(Z);if(ut.wheel)(ut.mouse[0][0]!==Bt[0]||ut.mouse[0][1]!==Bt[1])&&(ut.mouse[1]=At.invert(ut.mouse[0]=Bt)),clearTimeout(ut.wheel);else{if(At.k===Vt)return;ut.mouse=[Bt,At.invert(Bt)],qr(this),ut.start()}Fa(Z),ut.wheel=setTimeout(Kt,P),ut.zoom("mouse",n(W(X(At,Vt),ut.mouse[0],ut.mouse[1]),ut.extent,s));function Kt(){ut.wheel=null,ut.end()}}function St(Z,...$t){if(m||!t.apply(this,arguments))return;var ut=Z.currentTarget,At=K(this,$t,!0).event(Z),Vt=ot(Z.view).on("mousemove.zoom",le,!0).on("mouseup.zoom",be,!0),Bt=Yn(Z,ut),Kt=Z.clientX,ne=Z.clientY;lo(Z.view),ps(Z),At.mouse=[Bt,this.__zoom.invert(Bt)],qr(this),At.start();function le(Oe){if(Fa(Oe),!At.moved){var Ce=Oe.clientX-Kt,Ye=Oe.clientY-ne;At.moved=Ce*Ce+Ye*Ye>N}At.event(Oe).zoom("mouse",n(W(At.that.__zoom,At.mouse[0]=Yn(Oe,ut),At.mouse[1]),At.extent,s))}function be(Oe){Vt.on("mousemove.zoom mouseup.zoom",null),co(Oe.view,At.moved),Fa(Oe),At.event(Oe).end()}}function ct(Z,...$t){if(t.apply(this,arguments)){var ut=this.__zoom,At=Yn(Z.changedTouches?Z.changedTouches[0]:Z,this),Vt=ut.invert(At),Bt=ut.k*(Z.shiftKey?.5:2),Kt=n(W(X(ut,Bt),At,Vt),e.apply(this,$t),s);Fa(Z),l>0?ot(this).transition().duration(l).call(Q,Kt,At,Z):ot(this).call(w.transform,Kt,At,Z)}}function lt(Z,...$t){if(t.apply(this,arguments)){var ut=Z.touches,At=ut.length,Vt=K(this,$t,Z.changedTouches.length===At).event(Z),Bt,Kt,ne,le;for(ps(Z),Kt=0;Ktzn.bind(n)(v))),n.withinRange(f,n.getZoomDomain("zoom",!0),n.getZoomDomain("zoom"))){if(l.domain=f,f=n.getZoomDomainValue(f),n.api.tooltip.hide(),i.subchart_show){const v=s.zoom||s.x;n.brush.getSelection().call(n.brush.move,f.map(v))}else{const v=c?s.x.orgScale():o.xScale||s.x;n.updateCurrentZoomTransform(v,f)}n.setZoomResetButton()}}else f=n.zoom.getDomain();return(e=l.domain)!=null?e:f};xn(fu,{enable(t){const e=this.internal,{config:n}=e;/^(drag|wheel)$/.test(t)&&(n.zoom_type=t),n.zoom_enabled=!!t,e.zoom?t===!1&&e.bindZoomEvent(!1):(e.initZoom(),e.bindZoomEvent()),e.updateAndRedraw()},max(t){const e=this.internal,{config:n,org:{xDomain:a}}=e;return(t===0||t)&&(n.zoom_x_max=_n("max",[a[1],t])),n.zoom_x_max},min(t){const e=this.internal,{config:n,org:{xDomain:a}}=e;return(t===0||t)&&(n.zoom_x_min=_n("min",[a[0],t])),n.zoom_x_min},range(t){const e=this.zoom;if(Be(t)){const{min:n,max:a}=t;ke(n)&&e.min(n),ke(a)&&e.max(a)}return{min:e.min(),max:e.max()}}});var Wm={zoom:fu,unzoom(){const t=this.internal,{config:e,$el:{eventRect:n,zoomResetBtn:a},scale:{zoom:i},state:o}=t;i&&(e.subchart_show?t.brush.getSelection().call(t.brush.move,null):t.zoom.updateTransformScale(ar),t.updateZoom(!0),a==null||a.style("display","none"),vs(n.node())!==ar&&t.zoom.transform(n,ar),o.domain=void 0)}},Km={initBrush(){const t=this,{config:e,scale:n,$el:{subchart:a},state:i}=t,o=e.axis_rotated,s=e.subchart_size_height;let l,c,f;t.brush=(o?Vg():Gg()).handleSize(5),t.brush.on("start brush end",g=>{const{selection:v,sourceEvent:m,target:S,type:P}=g;P==="start"&&(t.state.inputType==="touch"&&t.hideTooltip(),c=m?v:null),/(start|brush)/.test(P)&&(P==="brush"&&m&&i.domain&&(c==null||c.forEach((N,L)=>{N!==v[L]&&(i.domain[L]=n.x.orgDomain()[L])})),t.redrawForBrush(P!=="start")),P==="end"&&(l=n.x.orgDomain()),S!=null&&S.handle&&(v===null?t.brush.handle.attr("display","none"):t.brush.handle.attr("display",null).attr("transform",(N,L)=>{const w=[v[L],s/2];return`translate(${o?w.reverse():w})`}))}),t.brush.updateResize=function(){f&&clearTimeout(f),f=setTimeout(()=>{const g=this.getSelection();l&&zl(g.node())&&this.move(g,l.map(n.subX.orgScale()))},0)},t.brush.update=function(){var g;return this.extent()()[1].filter(m=>isNaN(m)).length===0&&((g=a.main)==null||g.select(`.${Ue.brush}`).call(this)),this},t.brush.scale=function(g){const v=e.subchart_size_height;let m=t.getExtent();!m&&g.range?m=[[0,0],[g.range()[1],v]]:ze(m)&&(m=m.map((S,P)=>[S,P>0?v:P])),o&&m[1].reverse(),this.extent(m),this.update()},t.brush.getSelection=()=>a.main?a.main.select(`.${Ue.brush}`):ot([])},initSubchart(){const t=this,{config:e,state:{clip:n,hasAxis:a},$el:{defs:i,svg:o,subchart:s,axis:l}}=t;if(!a)return;const c=e.subchart_show?null:"hidden",f=`${n.id}-subchart`,g=t.getClipPath(f);n.idSubchart=f,t.appendClip(i,f),t.initBrush(),s.main=o.append("g").classed(Ue.subchart,!0).attr("transform",t.getTranslate("context"));const{main:v}=s;v.style("visibility",c),v.append("g").attr("clip-path",g).attr("class",Ue.chart),["bar","line","bubble","candlestick","scatter"].forEach(S=>{const P=Dn(/^(bubble|scatter)$/.test(S)?"circle":S);if(t.hasType(S)||t.hasTypeOf(P)){const N=v.select(`.${Ue.chart}`),L=Ue[`chart${P}s`];N.select(`.${L}`).empty()&&N.append("g").attr("class",L)}});const m=v.append("g").attr("clip-path",g).attr("class",Ue.brush).call(t.brush);e.subchart_showHandle&&t.addBrushHandle(m),l.subX=v.append("g").attr("class",Ue.axisX).attr("transform",t.getTranslate("subX")).attr("clip-path",e.axis_rotated?"":n.pathXAxis).style("visibility",e.subchart_axis_x_show?c:"hidden")},addBrushHandle(t){const e=this,{config:n}=e,a=n.axis_rotated,i=n.subchart_init_range,o="handle--custom",s=a?["M8.5 0 a6 6 0 0 0 -6 -6.5 H-2.5 a 6 6 0 0 0 -6 6.5 z m-5 -2 H-3.5 m7 -2 H-3.5z","M8.5 0 a6 -6 0 0 1 -6 6.5 H-2.5 a 6 -6 0 0 1 -6 -6.5z m-5 2 H-3.5 m7 2 H-3.5z"]:["M0 -8.5 A6 6 0 0 0 -6.5 -3.5 V2.5 A6 6 0 0 0 0 8.5 Z M-2 -3.5 V3.5 M-4 -3.5 V3.5z","M0 -8.5 A6 6 0 0 1 6.5 -3.5 V2.5 A6 6 0 0 1 0 8.5 Z M2 -3.5 V3.5 M4 -3.5 V3.5z"];e.brush.handle=t.selectAll(`.${o}`).data(a?[{type:"n"},{type:"s"}]:[{type:"w"},{type:"e"}]).enter().append("path").attr("class",o).attr("cursor",`${a?"ns":"ew"}-resize`).attr("d",l=>s[+/[se]/.test(l.type)]).attr("display",i?null:"none")},updateTargetsForSubchart(t){const e=this,{config:n,state:a,$el:{subchart:{main:i}}}=e;n.subchart_show&&(["bar","line","bubble","candlestick","scatter"].filter(o=>e.hasType(o)||e.hasTypeOf(Dn(o))).forEach(o=>{const s=/^(bubble|scatter)$/.test(o),l=Dn(s?"circle":o),c=e.getChartClass(l,!0),f=e.getClass(s?"circles":`${o}s`,!0),g=i.select(`.${Ue[`chart${`${l}s`}`]}`);if(s){const v=g.selectAll(`.${Ue.circles}`).data(t.filter(e[`is${Dn(o)}Type`].bind(e))).attr("class",f);v.exit().remove(),v.enter().append("g").attr("class",f)}else{const v=g.selectAll(`.${Ue[`chart${l}`]}`).attr("class",c).data(t.filter(e[`is${l}Type`].bind(e))),m=v.enter().append("g").style("opacity","0").attr("class",c).append("g").attr("class",f);v.exit().remove(),o==="line"&&e.hasTypeOf("Area")&&m.append("g").attr("class",e.getClass("areas",!0))}}),i.selectAll(`.${Ue.brush} rect`).attr(n.axis_rotated?"width":"height",n.axis_rotated?a.width2:a.height2))},redrawSubchart(t,e,n){var a;const i=this,{config:o,$el:{subchart:{main:s}},state:l}=i,c=!!e;if(s.style("visibility",o.subchart_show?null:"hidden"),o.subchart_show&&(((a=l.event)==null?void 0:a.type)==="zoom"&&i.brush.update(),t)){const f=o.subchart_init_range;if(!Kl(i)&&i.brush.update(),Object.keys(n.type).forEach(g=>{const v=Dn(g),m=i[`generateDraw${v}`](n.indices[g],!0);i[`update${v}`](c,!0),i[`redraw${v}`](m,c,!0)}),i.hasType("bubble")||i.hasType("scatter")){const{cx:g}=n.pos,v=i.updateCircleY(!0);i.updateCircle(!0),i.redrawCircle(g,v,c,void 0,!0)}!l.rendered&&f&&(l.domain=f,i.brush.move(i.brush.getSelection(),f.map(i.scale.x)))}},redrawForBrush(t=!0){var e;const n=this,{config:{subchart_onbrush:a,zoom_rescale:i},scale:o,state:s}=n;n.redraw({withTransition:!1,withY:i,withSubchart:!1,withUpdateXDomain:!0,withDimension:!1}),t&&s.rendered&&a.bind(n.api)((e=s.domain)!=null?e:o.x.orgDomain())},transformContext(t,e){const n=this,{$el:{subchart:a},$T:i}=n,o=e!=null&&e.axisSubX?e.axisSubX:i(a.main.select(`.${Ue.axisX}`),t);a.main.attr("transform",n.getTranslate("context")),o.attr("transform",n.getTranslate("subX"))},getExtent(){const t=this,{config:e,scale:n}=t;let a=e.axis_x_extent;if(a){if(ve(a))a=a.bind(t.api)(t.getXDomain(t.data.targets),n.subX);else if(t.axis.isTimeSeries()&&a.every(isNaN)){const i=zn.bind(t);a=a.map(o=>n.subX(i(o)))}}return a}},Zm={initZoom(){const t=this;t.scale.zoom=null,t.generateZoom(),t.config.zoom_type==="drag"&&t.initZoomBehaviour()},bindZoomEvent(t=!0){const e=this,{config:n}=e;n.zoom_enabled&&t?!n.subchart_show&&e.bindZoomOnEventRect():t===!1&&(e.api.unzoom(),e.unbindZoomEvent())},generateZoom(){const t=this,{config:e,org:n,scale:a}=t,i=Hm().duration(0).on("start",t.onZoomStart.bind(t)).on("zoom",t.onZoom.bind(t)).on("end",t.onZoomEnd.bind(t));i.orgScaleExtent=()=>{const o=e.zoom_extent||[1,10];return[o[0],Math.max(t.getMaxDataCount()/o[1],o[1])]},i.updateScaleExtent=function(){const o=Dr(t.scale.x.orgDomain())/Dr(t.getZoomDomain()),s=this.orgScaleExtent();return this.scaleExtent([s[0]*o,s[1]*o]),this},i.updateTransformScale=(o,s)=>{var l;const c=e.axis_rotated;(l=n.xScale)==null||l.range(a.x.range());const f=o[c?"rescaleY":"rescaleX"](n.xScale||a.x);if(f.domain().some(m=>/(Invalid Date|NaN)/.test(m.toString())))return;const g=t.trimXDomain(f.domain()),v=e.zoom_rescale;if(f.domain(g,n.xDomain),s){const m=f(a.x.domain()[0]),S=c?o.x:m,P=c?m:o.y;t.$el.eventRect.property("__zoom",ar.translate(S,P).scale(o.k))}t.state.xTickOffset||(t.state.xTickOffset=t.axis.x.tickOffset()),a.zoom=t.getCustomizedXScale(f),t.axis.x.scale(a.zoom),v?(!n.xScale&&(n.xScale=a.x.copy()),a.x.domain(g)):n.xScale&&(a.x.domain(n.xScale.domain()),n.xScale=null)},i.getDomain=()=>{const o=a[a.zoom?"zoom":"subX"].domain();return t.axis.isCategorized()&&(o[1]-=2),o},t.zoom=i},onZoomStart(t){const e=this,{sourceEvent:n}=t;n&&(e.zoom.startEvent=n,e.state.zooming=!0,_e(e.config.zoom_onzoomstart,e.api,t))},onZoom(t){var e;const n=this,{config:a,scale:i,state:o,org:s}=n,{sourceEvent:l}=t,c=(t==null?void 0:t.transform)===ar;if(!a.zoom_enabled||n.filterTargetsToShow(n.data.targets).length===0||!i.zoom&&(l==null?void 0:l.type.indexOf("touch"))>-1&&(l==null?void 0:l.touches.length)===1)return;t.sourceEvent&&(o.zooming=!0,o.domain=void 0);const f=(l==null?void 0:l.type)==="mousemove",g=(l==null?void 0:l.wheelDelta)<0,{transform:v}=t;!f&&g&&i.x.domain().every((S,P)=>S!==s.xDomain[P])&&i.x.domain(s.xDomain),n.zoom.updateTransformScale(v,a.zoom_type==="wheel"&&l);const m=a.transition_duration>0&&!a.subchart_show&&(o.dragging||c||!t.sourceEvent);n.redraw({withTransition:m,withY:a.zoom_rescale,withSubchart:!1,withEventRect:!1,withDimension:!1}),n.state.cancelClick=f,!c&&_e(a.zoom_onzoom,n.api,(e=n.state.domain)!=null?e:n.zoom.getDomain())},onZoomEnd(t){var e,n;const a=this,{config:i,state:o}=a;let{startEvent:s}=a.zoom,l=t==null?void 0:t.sourceEvent;const c=(t==null?void 0:t.transform)===ar;(s==null?void 0:s.type.indexOf("touch"))>-1&&(s=s.changedTouches[0],l=(e=l==null?void 0:l.changedTouches)==null?void 0:e[0]),!(i.zoom_type==="drag"&&l&&s.clientX===l.clientX&&s.clientY===l.clientY)&&(o.zooming=!1,a.redrawEventRect(),a.updateZoom(),!c&&(l||o.dragging)&&_e(i.zoom_onzoomend,a.api,(n=a.state.domain)!=null?n:a.zoom.getDomain()))},updateZoom(t){const e=this,{subX:n,x:a,zoom:i}=e.scale;if(i){const o=i.domain(),s=n.domain(),l=.015,c=e.config.axis_x_inverted?(o[0]>=s[0]||o[0]+l>=s[0])&&(s[1]>=o[1]||s[1]>=o[1]+l):(o[0]<=s[0]||o[0]-l<=s[0])&&(s[1]<=o[1]||s[1]<=o[1]-l);(t||c)&&(e.axis.x.scale(n),a.domain(n.orgDomain()),e.scale.zoom=null)}},updateCurrentZoomTransform(t,e){const n=this,{$el:{eventRect:a},config:i}=n,o=i.axis_rotated,s=[-t(e[0]),0],l=ar.scale(t.range()[1]/(t(e[1])-t(e[0]))).translate(...o?s.reverse():s);a.call(n.zoom.transform,l)},bindZoomOnEventRect(){var t;const e=this,{config:n,$el:{eventRect:a,svg:i}}=e,o=n.zoom_type==="drag"?e.zoomBehaviour:e.zoom;Ke.GestureEvent&&/^((?!chrome|android|mobile).)*safari/i.test((t=Ke.navigator)==null?void 0:t.userAgent)&&i.on("wheel",()=>{}),a==null||a.call(o).on("dblclick.zoom",null)},initZoomBehaviour(){const t=this,{config:e,state:n}=t,a=e.axis_rotated;let i=0,o=0,s;const l={axis:a?"y":"x",attr:a?"height":"width",index:a?1:0};t.zoomBehaviour=uc().clickDistance(4).on("start",function(c){n.event=c,t.setDragStatus(!0),t.unselectRect(),s||(s=t.$el.main.append("rect").attr("clip-path",n.clip.path).attr("class",oo.zoomBrush).attr("width",a?n.width:0).attr("height",a?0:n.height)),i=Hn(c,this)[l.index],o=i,s.attr(l.axis,i).attr(l.attr,0),t.onZoomStart(c)}).on("drag",function(c){o=Hn(c,this)[l.index],s.attr(l.axis,Math.min(i,o)).attr(l.attr,Math.abs(o-i))}).on("end",c=>{const f=t.scale.zoom||t.scale.x;n.event=c,s.attr(l.axis,0).attr(l.attr,0),i>o&&([i,o]=[o,i]),i<0&&(o+=Math.abs(i),i=0),i!==o&&t.api.zoom([i,o].map(g=>f.invert(g))),t.setDragStatus(!1)})},setZoomResetButton(){const t=this,{config:e,$el:n}=t,a=e.zoom_resetButton;a&&e.zoom_type==="drag"&&(n.zoomResetBtn?n.zoomResetBtn.style("display",null):n.zoomResetBtn=t.$el.chart.append("div").classed(Se.button,!0).append("span").on("click",function(){ve(a.onclick)&&a.onclick.bind(t.api)(this),t.api.unzoom()}).classed(oo.buttonZoomReset,!0).text(a.text||"Reset Zoom"))},getZoomTransform(){const t=this,{$el:{eventRect:e}}=t;return e!=null&&e.node()?vs(e.node()):{k:1}}},Jm={drag(t){const e=this,{config:n,state:a,$el:{main:i}}=e,o=n.data_selection_grouped,s=n.interaction_enabled&&n.data_selection_isselectable;if(e.hasArcType()||!n.data_selection_enabled||n.zoom_enabled&&!e.zoom.altDomain||!n.data_selection_multiple)return;const[l,c]=a.dragStart||[0,0],[f,g]=t,v=Math.min(l,f),m=Math.max(l,f),S=o?a.margin.top:Math.min(c,g),P=o?a.height:Math.max(c,g);i.select(`.${Or.dragarea}`).attr("x",v).attr("y",S).attr("width",m-v).attr("height",P-S),i.selectAll(`.${sn.shapes}`).selectAll(`.${sn.shape}`).filter(N=>s==null?void 0:s.bind(e.api)(N)).each(function(N,L){const w=ot(this),X=w.classed(tn.SELECTED),W=w.classed(Or.INCLUDED);let Y=!1,Q;if(w.classed($n.circle)){const K=+w.attr("cx")*1,at=+w.attr("cy")*1;Q=e.togglePoint,Y=ve in t?km(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ey=(t,e)=>{for(var n in e||(e={}))_m.call(e,n)&&hu(t,n,e[n]);if(du)for(var n of du(e))ty.call(e,n)&&hu(t,n,e[n]);return t},ny=(t,e)=>Qm(t,qm(e)),ry=ny(ey({},Jm),{selectPoint(t,e,n){const a=this,{config:i,$el:{main:o},$T:s}=a,l=i.axis_rotated,c=(l?a.circleY:a.circleX).bind(a),f=(l?a.circleX:a.circleY).bind(a),g=a.pointSelectR.bind(a);_e(i.data_onselected,a.api,e,t.node()),s(o.select(`.${tn.selectedCircles}${a.getTargetSelectorSuffix(e.id)}`).selectAll(`.${tn.selectedCircle}-${n}`).data([e]).enter().append("circle").attr("class",()=>a.generateClass(tn.selectedCircle,n)).attr("cx",c).attr("cy",f).attr("stroke",a.color).attr("r",v=>a.pointSelectR(v)*1.4)).attr("r",g)},unselectPoint(t,e,n){const a=this,{config:i,$el:{main:o},$T:s}=a;_e(i.data_onunselected,a.api,e,t==null?void 0:t.node()),s(o.select(`.${tn.selectedCircles}${a.getTargetSelectorSuffix(e.id)}`).selectAll(`.${tn.selectedCircle}-${n}`)).attr("r",0).remove()},togglePoint(t,e,n,a){this[`${t?"":"un"}selectPoint`](e,n,a)},selectPath(t,e){const n=this,{config:a}=n;_e(a.data_onselected,n.api,e,t.node()),a.interaction_brighten&&t.style("filter","brightness(1.25)")},unselectPath(t,e){const n=this,{config:a}=n;_e(a.data_onunselected,n.api,e,t.node()),a.interaction_brighten&&t.style("filter",null)},togglePath(t,e,n,a){this[`${t?"":"un"}selectPath`](e,n,a)},getToggle(t,e){const n=this;return t.nodeName==="path"?n.togglePath:n.isStepType(e)?()=>{}:n.togglePoint},toggleShape(t,e,n){var a;const i=this,{config:o,$el:{main:s}}=i;if(o.data_selection_enabled&&o.data_selection_isselectable.bind(i.api)(e)){const l=ot(t),c=l.classed(tn.SELECTED),f=i.getToggle(t,e).bind(i);let g;if(!o.data_selection_multiple){const v=(a=i.isPointFocusOnly)==null?void 0:a.call(i);let m=`.${v?tn.selectedCircles:sn.shapes}`;o.data_selection_grouped&&(m+=i.getTargetSelectorSuffix(e.id)),s.selectAll(m).selectAll(v?`.${tn.selectedCircle}`:`.${sn.shape}.${tn.SELECTED}`).classed(tn.SELECTED,!1).each(function(S){const P=ot(this);g=P,f(!1,P,S,S.index)})}(!g||g.node()!==l.node())&&(l.classed(tn.SELECTED,!c),f(!c,l,e,n))}}}),ay={data_selection_enabled:!1,data_selection_grouped:!1,data_selection_isselectable:()=>!0,data_selection_multiple:!0,data_selection_draggable:!1,data_onselected:()=>{},data_onunselected:()=>{}},iy={subchart_show:!1,subchart_showHandle:!1,subchart_size_height:60,subchart_axis_x_show:!0,subchart_axis_x_tick_show:!0,subchart_axis_x_tick_format:void 0,subchart_axis_x_tick_text_show:!0,subchart_init_range:void 0,subchart_onbrush:()=>{}},oy={zoom_enabled:!1,zoom_type:"wheel",zoom_extent:void 0,zoom_privileged:!1,zoom_rescale:!1,zoom_onzoom:void 0,zoom_onzoomstart:void 0,zoom_onzoomend:void 0,zoom_resetButton:!0,zoom_x_min:void 0,zoom_x_max:void 0};let gu=()=>(xn(Gr.prototype,ry),xn(Er.prototype,Dm),Nr.setOptions([ay]),(gu=()=>!0)()),vu=()=>(xn(Gr.prototype,Km),xn(Er.prototype,Lm),Nr.setOptions([iy]),(vu=()=>!0)()),pu=()=>(xn(Gr.prototype,Zm),xn(Er.prototype,Wm),Nr.setOptions([oy]),(pu=()=>!0)());function mu(t,e,n){const{config:a}=t,i=(o,s)=>{const l=he(s)?s:s===!1?void 0:null;l!==null&&(a[`axis_${o}_${e}`]=l)};ke(n)&&(nr(n)?Object.keys(n).forEach(o=>{i(o,n[o])}):(he(n)||n===!1)&&["y","y2"].forEach(o=>{i(o,n)}),t.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0}))}function yu(t,e){const{config:n}=t;return{x:n[`axis_x_${e}`],y:n[`axis_y_${e}`],y2:n[`axis_y2_${e}`]}}var sy={axis:{labels:function(t){const e=this.internal;let n;return t&&(Object.keys(t).forEach(a=>{e.axis.setLabelText(a,t[a])}),e.axis.updateLabels()),["x","y","y2"].forEach(a=>{const i=e.axis.getLabelText(a);i&&(!n&&(n={}),n[a]=i)}),n},min:function(t){const e=this.internal;return De(t)||t===!1?mu(e,"min",t):yu(e,"min")},max:function(t){const e=this.internal;return De(t)||t===!1?mu(e,"max",t):yu(e,"max")},range:function(t){const{axis:e}=this;if(arguments.length){const{min:n,max:a}=t;ke(a)&&e.max(a),ke(n)&&e.min(n)}else return{max:e.max(),min:e.min()}}}},ly={category(t,e){const n=this.internal,{config:a}=n;return arguments.length>1&&(a.axis_x_categories[t]=e,n.redraw()),a.axis_x_categories[t]},categories(t){const e=this.internal,{config:n}=e;if(!t||!Array.isArray(t)){const a=n.axis_x_categories;return qn(a)?Object.values(e.data.xs)[0]:a}return n.axis_x_categories=t,e.redraw(),n.axis_x_categories}},cy={flow(t){const e=this.internal;let n;(t.json||t.rows||t.columns)&&e.convertData(t,i=>{n=i,a()});function a(){let i,o=0,s=0,l,c;if(e.state.redrawing||!n||!Ma())return;const f=[],g=e.getMaxDataCount(),v=e.convertDataToTargets(n,!0),m=e.axis.isTimeSeries();e.data.targets.forEach(N=>{let L=!1;for(let w=0;w{for(let L=0;L{const L=[];for(let w=e.data.targets[0].values[0].index;w{w.index+=s,m||(w.x+=s)}),N.values=L.concat(N.values)}),e.data.targets=e.data.targets.concat(v);const S=e.data.targets[0],P=S.values[0];ke(t.to)?(o=0,c=m?zn.call(e,t.to):t.to,S.values.forEach(N=>{N.x1?S.values[S.values.length-1].x-P.x:P.x-e.getXDomain(e.data.targets)[0]:l=1,i=[P.x-l,P.x]),i&&e.updateXDomain(null,!0,!0,!1,i),e.updateTargets(e.data.targets),e.redraw({flow:{index:P.index,length:o,duration:De(t.duration)?t.duration:e.config.transition_duration,done:t.done,orgDataCount:g},withLegend:!0,withTransition:g>1,withTrimXDomain:!1,withUpdateXAxis:!0})}}};function ms(t,e){const n=this.internal,{config:a}=n,i=a.transition_duration&&Ma(),o=`grid_${e}_lines`;return t&&(a[o]=t,n.updateGrid(),n.redrawGrid(i)),a[o]}function xu(t,e){const n=`grid_${e}_lines`;return ms.bind(this)(this.internal.config[n].concat(t||[]),e)}function Tu(t,e){this.internal.removeGridLines(t,e)}const $u=function(t){return ms.bind(this)(t,"x")};xn($u,{add(t){return xu.bind(this)(t,"x")},remove(t){return Tu.bind(this)(t,!0)}});const Su=function(t){return ms.bind(this)(t,"y")};xn(Su,{add(t){return xu.bind(this)(t,"y")},remove(t){return Tu.bind(this)(t,!1)}});var uy={xgrids:$u,ygrids:Su},fy={groups(t){const e=this.internal,{config:n}=e;return ln(t)||(n.data_groups=t,e.redraw()),n.data_groups}};function Au(t,e=!1){const n=this.internal,{config:a}=n,i=a.transition_duration&&Ma();return t?(a.regions=e?a.regions.concat(t):t,n.updateRegion(),n.redrawRegion(i),e?a.regions:t):a.regions}const Eu=function(t){return Au.bind(this)(t)};xn(Eu,{add:function(t){return Au.bind(this)(t,!0)},remove:function(t){const e=this.internal,{config:n,$T:a}=e,i=t||{},o=$r(i,"classes",[$a.region]);let s=e.$el.main.select(`.${$a.regions}`).selectAll(o.map(l=>`.${l}`));return a(s).style("opacity","0").remove(),s=n.regions,Object.keys(i).length?(s=s.filter(l=>{let c=!1;return l.class?(l.class.split(" ").forEach(f=>{o.indexOf(f)>=0&&(c=!0)}),!c):!0}),n.regions=s):n.regions=[],s}});var dy={regions:Eu},hy={x(t){const e=this.internal,{axis:n,data:a}=e,i=n.isCustomX()&&n.isCategorized();return ze(t)&&(i?this.categories(t):(e.updateTargetX(a.targets,t),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0}))),i?this.categories():a.xs},xs(t){const e=this.internal;return Be(t)&&(e.updateTargetXs(e.data.targets,t),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})),e.data.xs}};function gy(t){return t}var Vi=1,Xi=2,ys=3,Ba=4,bu=1e-6;function vy(t){return"translate("+t+",0)"}function py(t){return"translate(0,"+t+")"}function my(t){return e=>+t(e)}function yy(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function xy(){return!this.__axis}function Yi(t,e){var n=[],a=null,i=null,o=6,s=6,l=3,c=typeof window!="undefined"&&window.devicePixelRatio>1?0:.5,f=t===Vi||t===Ba?-1:1,g=t===Ba||t===Xi?"x":"y",v=t===Vi||t===ys?vy:py;function m(S){var P=a==null?e.ticks?e.ticks.apply(e,n):e.domain():a,N=i==null?e.tickFormat?e.tickFormat.apply(e,n):gy:i,L=Math.max(o,0)+l,w=e.range(),X=+w[0]+c,W=+w[w.length-1]+c,Y=(e.bandwidth?yy:my)(e.copy(),c),Q=S.selection?S.selection():S,K=Q.selectAll(".domain").data([null]),at=Q.selectAll(".tick").data(P,e).order(),ht=at.exit(),St=at.enter().append("g").attr("class","tick"),ct=at.select("line"),lt=at.select("text");K=K.merge(K.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),at=at.merge(St),ct=ct.merge(St.append("line").attr("stroke","currentColor").attr(g+"2",f*o)),lt=lt.merge(St.append("text").attr("fill","currentColor").attr(g,f*L).attr("dy",t===Vi?"0em":t===ys?"0.71em":"0.32em")),S!==Q&&(K=K.transition(S),at=at.transition(S),ct=ct.transition(S),lt=lt.transition(S),ht=ht.transition(S).attr("opacity",bu).attr("transform",function(Gt){return isFinite(Gt=Y(Gt))?v(Gt+c):this.getAttribute("transform")}),St.attr("opacity",bu).attr("transform",function(Gt){var vt=this.parentNode.__axis;return v((vt&&isFinite(vt=vt(Gt))?vt:Y(Gt))+c)})),ht.remove(),K.attr("d",t===Ba||t===Xi?s?"M"+f*s+","+X+"H"+c+"V"+W+"H"+f*s:"M"+c+","+X+"V"+W:s?"M"+X+","+f*s+"V"+c+"H"+W+"V"+f*s:"M"+X+","+c+"H"+W),at.attr("opacity",1).attr("transform",function(Gt){return v(Y(Gt)+c)}),ct.attr(g+"2",f*o),lt.attr(g,f*L).text(N),Q.filter(xy).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Xi?"start":t===Ba?"end":"middle"),Q.each(function(){this.__axis=Y})}return m.scale=function(S){return arguments.length?(e=S,m):e},m.ticks=function(){return n=Array.from(arguments),m},m.tickArguments=function(S){return arguments.length?(n=S==null?[]:Array.from(S),m):n.slice()},m.tickValues=function(S){return arguments.length?(a=S==null?null:Array.from(S),m):a&&a.slice()},m.tickFormat=function(S){return arguments.length?(i=S,m):i},m.tickSize=function(S){return arguments.length?(o=s=+S,m):o},m.tickSizeInner=function(S){return arguments.length?(o=+S,m):o},m.tickSizeOuter=function(S){return arguments.length?(s=+S,m):s},m.tickPadding=function(S){return arguments.length?(l=+S,m):l},m.offset=function(S){return arguments.length?(c=+S,m):c},m}function Ty(t){return Yi(Vi,t)}function $y(t){return Yi(Xi,t)}function Ru(t){return Yi(ys,t)}function Iu(t){return Yi(Ba,t)}var Sy=Object.defineProperty,Ay=(t,e,n)=>e in t?Sy(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,xs=(t,e,n)=>Ay(t,typeof e!="symbol"?e+"":e,n);class Ou{constructor(e){xs(this,"owner"),xs(this,"config"),xs(this,"scale");const n=zr(),{config:a,params:i}=e;this.owner=e,this.config=a,this.scale=n,(a.noTransition||!i.config.transition_duration)&&(a.withoutTransition=!0),a.range=this.scaleExtent((i.orgXScale||n).range())}static getSizeFor1Char(e,n=!0){const a={w:5.5,h:11.5};return!e.empty()&&e.text("0").call(i=>{try{const{width:o,height:s}=i.node().getBBox();o&&s&&(a.w=o,a.h=s)}finally{i.text("")}}),n&&(this.getSizeFor1Char=()=>a),a}getTickTransformSetter(e){const{config:n}=this,a=e==="x"?i=>`translate(${i+n.tickOffset},0)`:i=>`translate(0,${i})`;return(i,o)=>{i.attr("transform",s=>{const l=o(s);return De(s)?a(l):null})}}scaleExtent(e){const n=e[0],a=e[e.length-1];return n0?i:1,o]).range(e.range());s=c.ticks();for(let f=o.toFixed().length;s.length>15;f--)s=c.ticks(f);s.splice(0,1,i),s.splice(s.length-1,1,o)}else s=e.ticks(...this.config.tickArguments||[]);s=s.map(c=>Xe(c)&&he(c)&&!isNaN(c)&&Math.round(c*10)/10||c)}return s}copyScale(){const e=this.scale.copy();return e.domain().length||e.domain(this.scale.domain()),e.type=this.scale.type,e}textFormatted(e){const n=this.config.tickFormat,a=/\d+\.\d+0{5,}\d$/.test(e)?+String(e).replace(/0+\d$/,""):e,i=n?n(a):a;return ke(i)?i:""}transitionise(e){const{config:n}=this;let a=e;if(n.withoutTransition)a=e.interrupt();else if(n.transition||!this.owner.params.noTransition)try{a=e.transition(n.transition)}catch(i){}return a}}var Ey=Object.defineProperty,by=(t,e,n)=>e in t?Ey(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ua=(t,e,n)=>by(t,typeof e!="symbol"?e+"":e,n);class Ry{constructor(e={}){Ua(this,"helper"),Ua(this,"config"),Ua(this,"params"),Ua(this,"g"),Ua(this,"generatedTicks");const n={innerTickSize:6,outerTickSize:e.outerTick?6:0,orient:"bottom",range:[],tickArguments:null,tickCentered:null,tickCulling:!0,tickFormat:null,tickLength:9,tickOffset:0,tickPadding:3,tickValues:null,transition:null,noTransition:e.noTransition};n.tickLength=Math.max(n.innerTickSize,0)+n.tickPadding,this.config=n,this.params=e,this.helper=new Ou(this)}create(e){const n=this,{config:a,helper:i,params:o}=n,{scale:s}=i,{orient:l}=a,c=this.splitTickText.bind(n),f=/^(left|right)$/.test(l),g=/^(top|bottom)$/.test(l),v=i.getTickTransformSetter(g?"x":"y"),m=v===i.axisX?"y":"x",S=/^(top|left)$/.test(l)?-1:1,P=o.tickTextRotate;this.config.range=s.rangeExtent?s.rangeExtent():i.scaleExtent((o.orgXScale||s).range());const{innerTickSize:N,tickLength:L,range:w}=a,X=o.id,W=X&&/^(x|y|y2)$/.test(X)?o.config[`axis_${X}_tick_text_position`]:{x:0,y:0},Y=X==="subX"?"subchart_axis_x":`axis_${X}`,Q=o.config[`${Y}_show`],K={tick:Q?o.config[`${Y}_tick_show`]:!1,text:Q?o.config[`${Y}_tick_text_show`]:!1},at=o.config.axis_evalTextSize;let ht;e.each(function(){const St=ot(this);let ct=this.__chart__||s,lt=i.copyScale();ht=St,this.__chart__=lt,a.tickOffset=o.isCategory?(lt(1)-lt(0))/2:0;const Gt=St.selectAll(".domain").data([0]);if(Gt.enter().append("path").attr("class","domain").merge(Gt).attr("d",()=>{const vt=a.outerTickSize*S;return g?`M${w[0]},${vt}V0H${w[1]}V${vt}`:`M${vt},${w[0]}H0V${w[1]}H${vt}`}),K.tick||K.text){const vt=a.tickValues||i.generateTicks(lt,f);n.generatedTicks=vt;let Z=St.selectAll(".tick").data(vt,lt);const $t=Z.enter().insert("g",".domain").attr("class","tick"),ut=Z.exit().remove();Z=$t.merge(Z),K.tick&&$t.append("line"),K.text&&$t.append("text");const At=Z.select("text"),Vt=ve(at)?at.bind(n.params.owner.api)(At.node()):Ou.getSizeFor1Char(At,at),Bt=[];let Kt=At.selectAll("tspan").data((be,Oe)=>{const Ce=o.tickMultiline?c(be,lt,vt,f,Vt.w):ze(i.textFormatted(be))?i.textFormatted(be).concat():[i.textFormatted(be)];return Bt[Oe]=Ce.length,Ce.map(Ye=>({index:Oe,splitted:Ye}))});Kt.exit().remove(),Kt=Kt.enter().append("tspan").merge(Kt).text(be=>be.splitted),Kt.attr("x",g?0:L*S).attr("dx",(()=>{let be=0;return/(top|bottom)/.test(l)&&P&&(be=8*Math.sin(Math.PI*(P/180))*(l==="top"?-1:1)),be+(W.x||0)})()).attr("dy",(be,Oe)=>{const Ce=".71em";let Ye=0;return l!=="top"&&(Ye=Vt.h,Oe===0&&(Ye=f?-((Bt[be.index]-1)*(Vt.h/2)-3):W.y===0?Ce:0)),he(Ye)&&W.y?Ye+W.y:Ye||Ce});const ne=Z.select("line"),le=Z.select("text");if($t.select("line").attr(`${m}2`,N*S),$t.select("text").attr(m,L*S),n.setTickLineTextPosition(ne,le),o.tickTitle){const be=le.select("title");(be.empty()?le.append("title"):be).text(Oe=>o.tickTitle[Oe])}if(lt.bandwidth){const be=lt,Oe=be.bandwidth()/2;ct=Ce=>be(Ce)+Oe,lt=ct}else ct.bandwidth?ct=lt:v(ut,lt);Z=o.owner.state.flowing?i.transitionise(Z):o.owner.$T(Z),v($t,ct),v(Z.style("opacity",null),lt)}}),this.g=ht}getGeneratedTicks(e){var n;const a=((n=this.generatedTicks)==null?void 0:n.length)-1;let i=this.generatedTicks;if(a>e){const o=Math.round(a/e+.1);i=this.generatedTicks.map((s,l)=>l%o===0?s:null).filter(s=>s!==null).splice(0,e)}return i}getTickXY(){const{config:e}=this,n={x:0,y:0};return this.params.isCategory&&(n.x=e.tickCentered?0:e.tickOffset,n.y=e.tickCentered?e.tickOffset:0),n}getTickSize(e){const{scale:n}=this.helper,{config:a}=this,{innerTickSize:i,range:o}=a,s=n(e)+(a.tickCentered?0:a.tickOffset);return o[0]{const N=["start","end"];return o==="top"&&N.reverse(),P?N[P>0?0:1]:"middle"},g=P=>P?`rotate(${P})`:null,v=P=>{const N=P/(o==="bottom"?15:23);return P?11.5-2.5*N*(P>0?1:-1):s},{config:{axis_rotated:m,axis_x_tick_text_inner:S}}=this.params.owner;switch(o){case"bottom":e.attr("x1",a.x).attr("x2",a.x).attr("y2",this.getTickSize.bind(this)),n.attr("x",0).attr("y",v(c)).style("text-anchor",f(c)).style("text-anchor",(P,N,{length:L})=>!m&&N===0&&(S===!0||S.first)?"start":!m&&N===L-1&&(S===!0||S.last)?"end":f(c)).attr("transform",g(c));break;case"top":e.attr("x2",0).attr("y2",-i),n.attr("x",0).attr("y",-v(c)*2).style("text-anchor",f(c)).attr("transform",g(c));break;case"left":e.attr("x2",-i).attr("y1",a.y).attr("y2",a.y),n.attr("x",-s).attr("y",l).style("text-anchor","end");break;case"right":e.attr("x2",i).attr("y2",0),n.attr("x",s).attr("y",0).style("text-anchor","start")}}splitTickText(e,n,a,i,o){const{params:s}=this,l=this.helper.textFormatted(e),c=Xe(l)&&l.indexOf(` + `;return`data:image/svg+xml;base64,${Tm(v)}`}function Sm(t,e){const{top:n,left:a}=e,{x:i,y:s}=t.getBBox(),{a:o,b:l,c,d:f,e:g,f:v}=t.getScreenCTM(),{width:m,height:S}=t.getBoundingClientRect();return{x:o*i+c*s+g-a,y:l*i+f*s+v-n+(S-Math.round(S/4)),width:m,height:S}}function Am(t){const{left:e,top:n}=t.getBoundingClientRect(),a=s=>s.textContent||s.childElementCount,i=[];return Lr(t.querySelectorAll("text")).filter(a).forEach(s=>{const o=l=>{const{fill:c,fontFamily:f,fontSize:g,textAnchor:v,transform:m}=Ke.getComputedStyle(l),{x:S,y:P,width:N,height:L}=Sm(l,{left:e,top:n});return{[l.textContent]:{x:S,y:P,width:N,height:L,fill:c,fontFamily:f,fontSize:g,textAnchor:v,transform:m}}};if(s.childElementCount>1){const l=[];return Lr(s.querySelectorAll("tspan")).filter(a).forEach(c=>{i.push(o(c))}),l}else i.push(o(s))}),i}function Em(t,e){e.forEach(n=>{Object.keys(n).forEach(a=>{const{x:i,y:s,width:o,height:l,fill:c,fontFamily:f,fontSize:g,transform:v}=n[a];if(t.save(),t.font=`${g} ${f}`,t.fillStyle=c,v==="none")t.fillText(a,i,s);else{const m=v.replace(/(matrix|\(|\))/g,"").split(",");m.splice(4).every(S=>+S==0)?(m.push(i+o-o/4),m.push(s-l+l/3)):(m.push(i),m.push(s)),t.transform(...m),t.fillText(a,0,0)}t.restore()})})}var bm={export(t,e){const n=this.internal,{state:a,$el:{chart:i,svg:s}}=n,{width:o,height:l}=a.current,c=ea({width:o,height:l,preserveAspectRatio:!0,preserveFontStyle:!1,mimeType:"image/png"},t),f=$m(i.node(),c,{width:o,height:l}),g=c.preserveFontStyle?Am(s.node()):[];if(e&&ve(e)){const v=new Image;v.crossOrigin="Anonymous",v.onload=()=>{const m=vn.createElement("canvas"),S=m.getContext("2d");m.width=c.width||o,m.height=c.height||l,S.drawImage(v,0,0),g.length&&(Em(S,g),g.length=0),e.bind(this)(m.toDataURL(c.mimeType))},v.src=f}return f}},Rm={focus(t){const e=this.internal,{state:n}=e,a=e.mapToTargetIds(t),i=e.$el.svg.selectAll(e.selectorTargets(a.filter(e.isTargetToShow,e)));this.revert(),this.defocus(),i.classed(qe.focused,!0).classed(qe.defocused,!1),e.hasArcType()&&!n.hasRadar&&(e.expandArc(a),e.hasType("gauge")&&e.markOverlapped(t,e,`.${Un.gaugeValue}`)),e.toggleFocusLegend(a,!0),n.focusedTargetIds=a,n.defocusedTargetIds=n.defocusedTargetIds.filter(s=>a.indexOf(s)<0)},defocus(t){const e=this.internal,{state:n}=e,a=e.mapToTargetIds(t);e.$el.svg.selectAll(e.selectorTargets(a.filter(e.isTargetToShow,e))).classed(qe.focused,!1).classed(qe.defocused,!0),e.hasArcType(null,["polar"])&&(e.unexpandArc(a),e.hasType("gauge")&&e.undoMarkOverlapped(e,`.${Un.gaugeValue}`)),e.toggleFocusLegend(a,!1),n.focusedTargetIds=n.focusedTargetIds.filter(s=>a.indexOf(s)<0),n.defocusedTargetIds=a},revert(t){const e=this.internal,{config:n,state:a,$el:i}=e,s=e.mapToTargetIds(t);i.svg.selectAll(e.selectorTargets(s)).classed(qe.focused,!1).classed(qe.defocused,!1),e.hasArcType(null,["polar"])&&e.unexpandArc(s),n.legend_show&&(e.showLegend(s.filter(e.isLegendToShow.bind(e))),i.legend.selectAll(e.selectorLegends(s)).filter(function(){return st(this).classed(qe.legendItemFocused)}).classed(qe.legendItemFocused,!1)),a.focusedTargetIds=[],a.defocusedTargetIds=[]}},Im={legend:{show:function(t){const e=this.internal;e.showLegend(e.mapToTargetIds(t)),e.updateAndRedraw({withLegend:!0})},hide:function(t){const e=this.internal;e.hideLegend(e.mapToTargetIds(t)),e.updateAndRedraw({withLegend:!0})}}},Om={load(t){const e=this.internal,{config:n}=e;t.xs&&e.addXs(t.xs),"names"in t&&this.data.names(t.names),"classes"in t&&Object.keys(t.classes).forEach(a=>{n.data_classes[a]=t.classes[a]}),"categories"in t&&e.axis.isCategorized()&&(n.axis_x_categories=t.categories),"axes"in t&&Object.keys(t.axes).forEach(a=>{n.data_axes[a]=t.axes[a]}),"colors"in t&&Object.keys(t.colors).forEach(a=>{n.data_colors[a]=t.colors[a]}),"unload"in t&&t.unload!==!1?e.unload(e.mapToTargetIds(t.unload===!0?null:t.unload),()=>{jl(()=>e.loadFromArgs(t))}):e.loadFromArgs(t)},unload(t){const e=this.internal;let n=t||{};qn(n)&&this.tooltip.hide(),ze(n)?n={ids:n}:Xe(n)&&(n={ids:[n]});const a=e.mapToTargetIds(n.ids);e.unload(a,()=>{e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),e.cache.remove(a),cc.call(e,n.done,n.resizeAfter)})}};function iu(t,e,n){const a=this.internal,i=a.mapToTargetIds(e),s=a.state.hiddenTargetIds.map(c=>i.indexOf(c)>-1&&c).filter(Boolean);a.state.toggling=!0,a[`${t?"remove":"add"}HiddenTargetIds`](i);const o=a.$el.svg.selectAll(a.selectorTargets(i)),l=t?null:"0";t&&s.length&&(o.style("display",null),_e(a.config.data_onshown,this,s)),a.$T(o).style("opacity",l,"important").call($i,()=>{var c;!t&&s.length===0&&(o.style("display","none"),_e((c=a.config)==null?void 0:c.data_onhidden,this,i)),o.style("opacity",l)}),n.withLegend&&a[`${t?"show":"hide"}Legend`](i),a.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),a.state.toggling=!1}var Cm={show(t,e={}){iu.call(this,!0,t,e)},hide(t,e={}){iu.call(this,!1,t,e)},toggle(t,e={}){const n=this.internal,a={show:[],hide:[]};n.mapToTargetIds(t).forEach(i=>a[n.isTargetToShow(i)?"hide":"show"].push(i)),a.show.length&&this.show(a.show,e),a.hide.length&&setTimeout(()=>this.hide(a.hide,e),0)}},Pm={tooltip:{show:function(t){var e,n,a;const i=this.internal,{$el:s,config:o,state:{eventReceiver:l,hasFunnel:c,hasTreemap:f,inputType:g}}=i;let v,m;if(t.mouse&&(m=t.mouse),t.data){const{data:S}=t,P=(e=i.getYScaleById(S.id))==null?void 0:e(S.value);if((c||f)&&S.id){const N=i.selectorTarget(S.id,void 0,`.${on.shape}`);l.rect=s.main.select(N)}else i.isMultipleX()?m=[i.xx(S),P]:(o.tooltip_grouped||(m=[0,P]),v=(a=S.index)!=null?a:i.hasArcType()&&S.id?(n=i.getArcElementByIdOrIndex(S.id))==null?void 0:n.datum().index:i.getIndexByX(S.x))}else ke(t.x)?v=i.getIndexByX(t.x):ke(t.index)&&(v=t.index);(g==="mouse"?["mouseover","mousemove"]:["touchstart"]).forEach(S=>{i.dispatchEvent(S,v,m)})},hide:function(){var t,e,n;const a=this.internal,{state:{inputType:i},$el:{tooltip:s}}=a,o=s==null?void 0:s.datum();if(o){const{index:l}=JSON.parse(o.current)[0];(i==="mouse"?["mouseout"]:["touchend"]).forEach(c=>{a.dispatchEvent(c,l)})}i==="touch"&&a.callOverOutForTouch(),a.hideTooltip(!0),(t=a.hideGridFocus)==null||t.call(a),(e=a.unexpandCircles)==null||e.call(a),(n=a.expandBarTypeShapes)==null||n.call(a,!1)}}},wm=Object.defineProperty,Mm=(t,e,n)=>e in t?wm(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,su=(t,e,n)=>Mm(t,typeof e!="symbol"?e+"":e,n);class Er{constructor(e){su(this,"plugins",[]),su(this,"internal");const n=new Gr(this);this.internal=n,function a(i,s,o){Object.keys(i).forEach(l=>{const c=ve(i[l]),f=s!==o,g=cn(i[l]),v=g&&Object.keys(i[l]).length>0;c&&(!f&&v||f)?s[l]=i[l].bind(o):g&&!c?s[l]={}:s[l]=i[l],v&&a(i[l],s[l],o)})}(Er.prototype,this,this),pm.call(n,e),n.beforeInit(),n.init()}}xn(Er.prototype,[mm,ym,xm,bm,Rm,Im,Om,Cm,Pm]);function ou(t=!1,e,n,a){const i=this,{config:s,$el:{main:o}}=i,l=s.data_selection_grouped,c=s.data_selection_isselectable.bind(i.api);s.data_selection_enabled&&o.selectAll(`.${on.shapes}`).selectAll(`.${on.shape}`).each(function(f){const g=st(this),{id:v,index:m}=f.data?f.data:f,S=i.getToggle(this,f).bind(i),P=l||!e||e.indexOf(v)>=0,N=!n||n.indexOf(m)>=0,L=g.classed(tn.SELECTED);g.classed(ur.line)||g.classed(_a.area)||(t?P&&N&&c(f)&&!L?S(!0,g.classed(tn.SELECTED,!0),f,m):ke(a)&&a&&L&&S(!1,g.classed(tn.SELECTED,!1),f,m):P&&N&&c(f)&&L&&S(!1,g.classed(tn.SELECTED,!1),f,m))})}var Dm={selected(t){const e=this.internal,n=[];return e.$el.main.selectAll(`.${on.shapes+e.getTargetSelectorSuffix(t)}`).selectAll(`.${on.shape}`).filter(function(){return st(this).classed(tn.SELECTED)}).each(a=>n.push(a)),n},select(t,e,n){const a=this.internal;ou.bind(a)(!0,t,e,n)},unselect(t,e){const n=this.internal;ou.bind(n)(!1,t,e)}};const lu=function(t){var e;const n=this.internal,{axis:a,brush:i,config:s,scale:{x:o,subX:l},state:c}=n;let f;return s.subchart_show&&(f=t,Array.isArray(f)?(a.isTimeSeries()&&(f=f.map(v=>zn.bind(n)(v))),n.withinRange(f,n.getZoomDomain("subX",!0),n.getZoomDomain("subX"))&&(c.domain=f,i.move(i.getSelection(),f.map(l)))):f=(e=c.domain)!=null?e:o.orgDomain()),f};xn(lu,{show(){var t,e;const n=this.internal,{$el:{subchart:a},config:i}=n,s=i.subchart_show;if(!s){n.unbindZoomEvent(),i.subchart_show=!s,!a.main&&n.initSubchart();let o=a.main.selectAll(`.${Se.target}`);n.data.targets.length!==o.size()&&(n.updateSizes(),n.updateTargetsForSubchart(n.data.targets),o=(t=a.main)==null?void 0:t.selectAll(`.${Se.target}`)),o==null||o.style("opacity",null),(e=a.main)==null||e.style("display",null),this.resize()}},hide(){const t=this.internal,{$el:{subchart:{main:e}},config:n}=t;n.subchart_show&&(e==null?void 0:e.style("display"))!=="none"&&(n.subchart_show=!1,e.style("display","none"),this.resize())},toggle(){const t=this.internal,{config:e}=t;this.subchart[e.subchart_show?"hide":"show"]()},reset(){const t=this.internal,{brush:e}=t;e.clear(e.getSelection())}});var Lm={subchart:lu},Nm=1e-12;function cu(t){return((t=Math.exp(t))+1/t)/2}function Fm(t){return((t=Math.exp(t))-1/t)/2}function Bm(t){return((t=Math.exp(2*t))-1)/(t+1)}var Um=function t(e,n,a){function i(s,o){var l=s[0],c=s[1],f=s[2],g=o[0],v=o[1],m=o[2],S=g-l,P=v-c,N=S*S+P*P,L,w;if(N()=>t;function zm(t,{sourceEvent:e,target:n,transform:a,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:a,enumerable:!0,configurable:!0},_:{value:i}})}function vr(t,e,n){this.k=t,this.x=e,this.y=n}vr.prototype={constructor:vr,scale:function(t){return t===1?this:new vr(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new vr(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var ar=new vr(1,0,0);vo.prototype=vr.prototype;function vo(t){for(;!t.__zoom;)if(!(t=t.parentNode))return ar;return t.__zoom}function po(t){t.stopImmediatePropagation()}function Fa(t){t.preventDefault(),t.stopImmediatePropagation()}function jm(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function Gm(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function uu(){return this.__zoom||ar}function Vm(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Xm(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ym(t,e,n){var a=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],s=t.invertY(e[0][1])-n[0][1],o=t.invertY(e[1][1])-n[1][1];return t.translate(i>a?(a+i)/2:Math.min(0,a)||Math.max(0,i),o>s?(s+o)/2:Math.min(0,s)||Math.max(0,o))}function Hm(){var t=jm,e=Gm,n=Ym,a=Vm,i=Xm,s=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],l=250,c=Um,f=ni("start","zoom","end"),g,v,m,S=500,P=150,N=0,L=10;function w(Z){Z.property("__zoom",uu).on("wheel.zoom",ht,{passive:!1}).on("mousedown.zoom",St).on("dblclick.zoom",ct).filter(i).on("touchstart.zoom",lt).on("touchmove.zoom",Gt).on("touchend.zoom touchcancel.zoom",vt).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}w.transform=function(Z,$t,ut,At){var Vt=Z.selection?Z.selection():Z;Vt.property("__zoom",uu),Z!==Vt?Q(Z,$t,ut,At):Vt.interrupt().each(function(){K(this,arguments).event(At).start().zoom(null,typeof $t=="function"?$t.apply(this,arguments):$t).end()})},w.scaleBy=function(Z,$t,ut,At){w.scaleTo(Z,function(){var Vt=this.__zoom.k,Bt=typeof $t=="function"?$t.apply(this,arguments):$t;return Vt*Bt},ut,At)},w.scaleTo=function(Z,$t,ut,At){w.transform(Z,function(){var Vt=e.apply(this,arguments),Bt=this.__zoom,Kt=ut==null?Y(Vt):typeof ut=="function"?ut.apply(this,arguments):ut,ne=Bt.invert(Kt),le=typeof $t=="function"?$t.apply(this,arguments):$t;return n(W(X(Bt,le),Kt,ne),Vt,o)},ut,At)},w.translateBy=function(Z,$t,ut,At){w.transform(Z,function(){return n(this.__zoom.translate(typeof $t=="function"?$t.apply(this,arguments):$t,typeof ut=="function"?ut.apply(this,arguments):ut),e.apply(this,arguments),o)},null,At)},w.translateTo=function(Z,$t,ut,At,Vt){w.transform(Z,function(){var Bt=e.apply(this,arguments),Kt=this.__zoom,ne=At==null?Y(Bt):typeof At=="function"?At.apply(this,arguments):At;return n(ar.translate(ne[0],ne[1]).scale(Kt.k).translate(typeof $t=="function"?-$t.apply(this,arguments):-$t,typeof ut=="function"?-ut.apply(this,arguments):-ut),Bt,o)},At,Vt)};function X(Z,$t){return $t=Math.max(s[0],Math.min(s[1],$t)),$t===Z.k?Z:new vr($t,Z.x,Z.y)}function W(Z,$t,ut){var At=$t[0]-ut[0]*Z.k,Vt=$t[1]-ut[1]*Z.k;return At===Z.x&&Vt===Z.y?Z:new vr(Z.k,At,Vt)}function Y(Z){return[(+Z[0][0]+ +Z[1][0])/2,(+Z[0][1]+ +Z[1][1])/2]}function Q(Z,$t,ut,At){Z.on("start.zoom",function(){K(this,arguments).event(At).start()}).on("interrupt.zoom end.zoom",function(){K(this,arguments).event(At).end()}).tween("zoom",function(){var Vt=this,Bt=arguments,Kt=K(Vt,Bt).event(At),ne=e.apply(Vt,Bt),le=ut==null?Y(ne):typeof ut=="function"?ut.apply(Vt,Bt):ut,be=Math.max(ne[1][0]-ne[0][0],ne[1][1]-ne[0][1]),Oe=Vt.__zoom,Ce=typeof $t=="function"?$t.apply(Vt,Bt):$t,Ye=c(Oe.invert(le).concat(be/Oe.k),Ce.invert(le).concat(be/Ce.k));return function(Fe){if(Fe===1)Fe=Ce;else{var hn=Ye(Fe),Jt=be/hn[2];Fe=new vr(Jt,le[0]-hn[0]*Jt,le[1]-hn[1]*Jt)}Kt.zoom(null,Fe)}})}function K(Z,$t,ut){return!ut&&Z.__zooming||new at(Z,$t)}function at(Z,$t){this.that=Z,this.args=$t,this.active=0,this.sourceEvent=null,this.extent=e.apply(Z,$t),this.taps=0}at.prototype={event:function(Z){return Z&&(this.sourceEvent=Z),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(Z,$t){return this.mouse&&Z!=="mouse"&&(this.mouse[1]=$t.invert(this.mouse[0])),this.touch0&&Z!=="touch"&&(this.touch0[1]=$t.invert(this.touch0[0])),this.touch1&&Z!=="touch"&&(this.touch1[1]=$t.invert(this.touch1[0])),this.that.__zoom=$t,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(Z){var $t=st(this.that).datum();f.call(Z,this.that,new zm(Z,{sourceEvent:this.sourceEvent,target:w,type:Z,transform:this.that.__zoom,dispatch:f}),$t)}};function ht(Z,...$t){if(!t.apply(this,arguments))return;var ut=K(this,$t).event(Z),At=this.__zoom,Vt=Math.max(s[0],Math.min(s[1],At.k*Math.pow(2,a.apply(this,arguments)))),Bt=Yn(Z);if(ut.wheel)(ut.mouse[0][0]!==Bt[0]||ut.mouse[0][1]!==Bt[1])&&(ut.mouse[1]=At.invert(ut.mouse[0]=Bt)),clearTimeout(ut.wheel);else{if(At.k===Vt)return;ut.mouse=[Bt,At.invert(Bt)],qr(this),ut.start()}Fa(Z),ut.wheel=setTimeout(Kt,P),ut.zoom("mouse",n(W(X(At,Vt),ut.mouse[0],ut.mouse[1]),ut.extent,o));function Kt(){ut.wheel=null,ut.end()}}function St(Z,...$t){if(m||!t.apply(this,arguments))return;var ut=Z.currentTarget,At=K(this,$t,!0).event(Z),Vt=st(Z.view).on("mousemove.zoom",le,!0).on("mouseup.zoom",be,!0),Bt=Yn(Z,ut),Kt=Z.clientX,ne=Z.clientY;cs(Z.view),po(Z),At.mouse=[Bt,this.__zoom.invert(Bt)],qr(this),At.start();function le(Oe){if(Fa(Oe),!At.moved){var Ce=Oe.clientX-Kt,Ye=Oe.clientY-ne;At.moved=Ce*Ce+Ye*Ye>N}At.event(Oe).zoom("mouse",n(W(At.that.__zoom,At.mouse[0]=Yn(Oe,ut),At.mouse[1]),At.extent,o))}function be(Oe){Vt.on("mousemove.zoom mouseup.zoom",null),us(Oe.view,At.moved),Fa(Oe),At.event(Oe).end()}}function ct(Z,...$t){if(t.apply(this,arguments)){var ut=this.__zoom,At=Yn(Z.changedTouches?Z.changedTouches[0]:Z,this),Vt=ut.invert(At),Bt=ut.k*(Z.shiftKey?.5:2),Kt=n(W(X(ut,Bt),At,Vt),e.apply(this,$t),o);Fa(Z),l>0?st(this).transition().duration(l).call(Q,Kt,At,Z):st(this).call(w.transform,Kt,At,Z)}}function lt(Z,...$t){if(t.apply(this,arguments)){var ut=Z.touches,At=ut.length,Vt=K(this,$t,Z.changedTouches.length===At).event(Z),Bt,Kt,ne,le;for(po(Z),Kt=0;Ktzn.bind(n)(v))),n.withinRange(f,n.getZoomDomain("zoom",!0),n.getZoomDomain("zoom"))){if(l.domain=f,f=n.getZoomDomainValue(f),n.api.tooltip.hide(),i.subchart_show){const v=o.zoom||o.x;n.brush.getSelection().call(n.brush.move,f.map(v))}else{const v=c?o.x.orgScale():s.xScale||o.x;n.updateCurrentZoomTransform(v,f)}n.setZoomResetButton()}}else f=n.zoom.getDomain();return(e=l.domain)!=null?e:f};xn(fu,{enable(t){const e=this.internal,{config:n}=e;/^(drag|wheel)$/.test(t)&&(n.zoom_type=t),n.zoom_enabled=!!t,e.zoom?t===!1&&e.bindZoomEvent(!1):(e.initZoom(),e.bindZoomEvent()),e.updateAndRedraw()},max(t){const e=this.internal,{config:n,org:{xDomain:a}}=e;return(t===0||t)&&(n.zoom_x_max=_n("max",[a[1],t])),n.zoom_x_max},min(t){const e=this.internal,{config:n,org:{xDomain:a}}=e;return(t===0||t)&&(n.zoom_x_min=_n("min",[a[0],t])),n.zoom_x_min},range(t){const e=this.zoom;if(Be(t)){const{min:n,max:a}=t;ke(n)&&e.min(n),ke(a)&&e.max(a)}return{min:e.min(),max:e.max()}}});var Wm={zoom:fu,unzoom(){const t=this.internal,{config:e,$el:{eventRect:n,zoomResetBtn:a},scale:{zoom:i},state:s}=t;i&&(e.subchart_show?t.brush.getSelection().call(t.brush.move,null):t.zoom.updateTransformScale(ar),t.updateZoom(!0),a==null||a.style("display","none"),vo(n.node())!==ar&&t.zoom.transform(n,ar),s.domain=void 0)}},Km={initBrush(){const t=this,{config:e,scale:n,$el:{subchart:a},state:i}=t,s=e.axis_rotated,o=e.subchart_size_height;let l,c,f;t.brush=(s?Vg():Gg()).handleSize(5),t.brush.on("start brush end",g=>{const{selection:v,sourceEvent:m,target:S,type:P}=g;P==="start"&&(t.state.inputType==="touch"&&t.hideTooltip(),c=m?v:null),/(start|brush)/.test(P)&&(P==="brush"&&m&&i.domain&&(c==null||c.forEach((N,L)=>{N!==v[L]&&(i.domain[L]=n.x.orgDomain()[L])})),t.redrawForBrush(P!=="start")),P==="end"&&(l=n.x.orgDomain()),S!=null&&S.handle&&(v===null?t.brush.handle.attr("display","none"):t.brush.handle.attr("display",null).attr("transform",(N,L)=>{const w=[v[L],o/2];return`translate(${s?w.reverse():w})`}))}),t.brush.updateResize=function(){f&&clearTimeout(f),f=setTimeout(()=>{const g=this.getSelection();l&&zl(g.node())&&this.move(g,l.map(n.subX.orgScale()))},0)},t.brush.update=function(){var g;return this.extent()()[1].filter(m=>isNaN(m)).length===0&&((g=a.main)==null||g.select(`.${Ue.brush}`).call(this)),this},t.brush.scale=function(g){const v=e.subchart_size_height;let m=t.axis.getExtent();!m&&g.range?m=[[0,0],[g.range()[1],v]]:ze(m)&&(m=m.map((S,P)=>[S,P>0?v:P])),s&&m[1].reverse(),this.extent(m),this.update()},t.brush.getSelection=()=>a.main?a.main.select(`.${Ue.brush}`):st([])},initSubchart(){const t=this,{config:e,state:{clip:n,hasAxis:a},$el:{defs:i,svg:s,subchart:o,axis:l}}=t;if(!a)return;const c=e.subchart_show?null:"hidden",f=`${n.id}-subchart`,g=t.getClipPath(f);n.idSubchart=f,t.appendClip(i,f),t.initBrush(),o.main=s.append("g").classed(Ue.subchart,!0).attr("transform",t.getTranslate("context"));const{main:v}=o;v.style("visibility",c),v.append("g").attr("clip-path",g).attr("class",Ue.chart),["bar","line","bubble","candlestick","scatter"].forEach(S=>{const P=Dn(/^(bubble|scatter)$/.test(S)?"circle":S);if(t.hasType(S)||t.hasTypeOf(P)){const N=v.select(`.${Ue.chart}`),L=Ue[`chart${P}s`];N.select(`.${L}`).empty()&&N.append("g").attr("class",L)}});const m=v.append("g").attr("clip-path",g).attr("class",Ue.brush).call(t.brush);e.subchart_showHandle&&t.addBrushHandle(m),l.subX=v.append("g").attr("class",Ue.axisX).attr("transform",t.getTranslate("subX")).attr("clip-path",e.axis_rotated?"":n.pathXAxis).style("visibility",e.subchart_axis_x_show?c:"hidden")},addBrushHandle(t){const e=this,{config:n}=e,a=n.axis_rotated,i=n.subchart_init_range,s="handle--custom",o=a?["M8.5 0 a6 6 0 0 0 -6 -6.5 H-2.5 a 6 6 0 0 0 -6 6.5 z m-5 -2 H-3.5 m7 -2 H-3.5z","M8.5 0 a6 -6 0 0 1 -6 6.5 H-2.5 a 6 -6 0 0 1 -6 -6.5z m-5 2 H-3.5 m7 2 H-3.5z"]:["M0 -8.5 A6 6 0 0 0 -6.5 -3.5 V2.5 A6 6 0 0 0 0 8.5 Z M-2 -3.5 V3.5 M-4 -3.5 V3.5z","M0 -8.5 A6 6 0 0 1 6.5 -3.5 V2.5 A6 6 0 0 1 0 8.5 Z M2 -3.5 V3.5 M4 -3.5 V3.5z"];e.brush.handle=t.selectAll(`.${s}`).data(a?[{type:"n"},{type:"s"}]:[{type:"w"},{type:"e"}]).enter().append("path").attr("class",s).attr("cursor",`${a?"ns":"ew"}-resize`).attr("d",l=>o[+/[se]/.test(l.type)]).attr("display",i?null:"none")},updateTargetsForSubchart(t){const e=this,{config:n,state:a,$el:{subchart:{main:i}}}=e;n.subchart_show&&(["bar","line","bubble","candlestick","scatter"].filter(s=>e.hasType(s)||e.hasTypeOf(Dn(s))).forEach(s=>{const o=/^(bubble|scatter)$/.test(s),l=Dn(o?"circle":s),c=e.getChartClass(l,!0),f=e.getClass(o?"circles":`${s}s`,!0),g=i.select(`.${Ue[`chart${`${l}s`}`]}`);if(o){const v=g.selectAll(`.${Ue.circles}`).data(t.filter(e[`is${Dn(s)}Type`].bind(e))).attr("class",f);v.exit().remove(),v.enter().append("g").attr("class",f)}else{const v=g.selectAll(`.${Ue[`chart${l}`]}`).attr("class",c).data(t.filter(e[`is${l}Type`].bind(e))),m=v.enter().append("g").style("opacity","0").attr("class",c).append("g").attr("class",f);v.exit().remove(),s==="line"&&e.hasTypeOf("Area")&&m.append("g").attr("class",e.getClass("areas",!0))}}),i.selectAll(`.${Ue.brush} rect`).attr(n.axis_rotated?"width":"height",n.axis_rotated?a.width2:a.height2))},redrawSubchart(t,e,n){var a;const i=this,{config:s,$el:{subchart:{main:o}},state:l}=i,c=!!e;if(o.style("visibility",s.subchart_show?null:"hidden"),s.subchart_show&&(((a=l.event)==null?void 0:a.type)==="zoom"&&i.brush.update(),t)){const f=s.subchart_init_range;if(!Kl(i)&&i.brush.update(),Object.keys(n.type).forEach(g=>{const v=Dn(g),m=i[`generateDraw${v}`](n.indices[g],!0);i[`update${v}`](c,!0),i[`redraw${v}`](m,c,!0)}),i.hasType("bubble")||i.hasType("scatter")){const{cx:g}=n.pos,v=i.updateCircleY(!0);i.updateCircle(!0),i.redrawCircle(g,v,c,void 0,!0)}!l.rendered&&f&&(l.domain=f,i.brush.move(i.brush.getSelection(),f.map(i.scale.x)))}},redrawForBrush(t=!0){var e;const n=this,{config:{subchart_onbrush:a,zoom_rescale:i},scale:s,state:o}=n;n.redraw({withTransition:!1,withY:i,withSubchart:!1,withUpdateXDomain:!0,withDimension:!1}),t&&o.rendered&&a.bind(n.api)((e=o.domain)!=null?e:s.x.orgDomain())},transformContext(t,e){const n=this,{$el:{subchart:a},$T:i}=n,s=e!=null&&e.axisSubX?e.axisSubX:i(a.main.select(`.${Ue.axisX}`),t);a.main.attr("transform",n.getTranslate("context")),s.attr("transform",n.getTranslate("subX"))}},Zm={initZoom(){const t=this;t.scale.zoom=null,t.generateZoom(),t.config.zoom_type==="drag"&&t.initZoomBehaviour()},bindZoomEvent(t=!0){const e=this,{config:n}=e;n.zoom_enabled&&t?!n.subchart_show&&e.bindZoomOnEventRect():t===!1&&(e.api.unzoom(),e.unbindZoomEvent())},generateZoom(){const t=this,{config:e,org:n,scale:a}=t,i=Hm().duration(0).on("start",t.onZoomStart.bind(t)).on("zoom",t.onZoom.bind(t)).on("end",t.onZoomEnd.bind(t));i.orgScaleExtent=()=>{const s=e.zoom_extent||[1,10];return[s[0],Math.max(t.getMaxDataCount()/s[1],s[1])]},i.updateScaleExtent=function(){const s=Dr(t.scale.x.orgDomain())/Dr(t.getZoomDomain()),o=this.orgScaleExtent();return this.scaleExtent([o[0]*s,o[1]*s]),this},i.updateTransformScale=(s,o)=>{var l;const c=e.axis_rotated;(l=n.xScale)==null||l.range(a.x.range());const f=s[c?"rescaleY":"rescaleX"](n.xScale||a.x);if(f.domain().some(m=>/(Invalid Date|NaN)/.test(m.toString())))return;const g=t.trimXDomain(f.domain()),v=e.zoom_rescale;if(f.domain(g,n.xDomain),o){const m=f(a.x.domain()[0]),S=c?s.x:m,P=c?m:s.y;t.$el.eventRect.property("__zoom",ar.translate(S,P).scale(s.k))}t.state.xTickOffset||(t.state.xTickOffset=t.axis.x.tickOffset()),a.zoom=t.getCustomizedXScale(f),t.axis.x.scale(a.zoom),v?(!n.xScale&&(n.xScale=a.x.copy()),a.x.domain(g)):n.xScale&&(a.x.domain(n.xScale.domain()),n.xScale=null)},i.getDomain=()=>{const s=a[a.zoom?"zoom":"subX"].domain();return t.axis.isCategorized()&&(s[1]-=2),s},t.zoom=i},onZoomStart(t){const e=this,{sourceEvent:n}=t;n&&(e.zoom.startEvent=n,e.state.zooming=!0,_e(e.config.zoom_onzoomstart,e.api,t))},onZoom(t){var e;const n=this,{config:a,scale:i,state:s,org:o}=n,{sourceEvent:l}=t,c=(t==null?void 0:t.transform)===ar;if(!a.zoom_enabled||n.filterTargetsToShow(n.data.targets).length===0||!i.zoom&&(l==null?void 0:l.type.indexOf("touch"))>-1&&(l==null?void 0:l.touches.length)===1)return;t.sourceEvent&&(s.zooming=!0,s.domain=void 0);const f=(l==null?void 0:l.type)==="mousemove",g=(l==null?void 0:l.wheelDelta)<0,{transform:v}=t;!f&&g&&i.x.domain().every((S,P)=>S!==o.xDomain[P])&&i.x.domain(o.xDomain),n.zoom.updateTransformScale(v,a.zoom_type==="wheel"&&l);const m=a.transition_duration>0&&!a.subchart_show&&(s.dragging||c||!t.sourceEvent);n.redraw({withTransition:m,withY:a.zoom_rescale,withSubchart:!1,withEventRect:!1,withDimension:!1}),n.state.cancelClick=f,!c&&_e(a.zoom_onzoom,n.api,(e=n.state.domain)!=null?e:n.zoom.getDomain())},onZoomEnd(t){var e,n;const a=this,{config:i,state:s}=a;let{startEvent:o}=a.zoom,l=t==null?void 0:t.sourceEvent;const c=(t==null?void 0:t.transform)===ar;(o==null?void 0:o.type.indexOf("touch"))>-1&&(o=o.changedTouches[0],l=(e=l==null?void 0:l.changedTouches)==null?void 0:e[0]),!(i.zoom_type==="drag"&&l&&o.clientX===l.clientX&&o.clientY===l.clientY)&&(s.zooming=!1,a.redrawEventRect(),a.updateZoom(),!c&&(l||s.dragging)&&_e(i.zoom_onzoomend,a.api,(n=a.state.domain)!=null?n:a.zoom.getDomain()))},updateZoom(t){const e=this,{subX:n,x:a,zoom:i}=e.scale;if(i){const s=i.domain(),o=n.domain(),l=.015,c=e.config.axis_x_inverted?(s[0]>=o[0]||s[0]+l>=o[0])&&(o[1]>=s[1]||o[1]>=s[1]+l):(s[0]<=o[0]||s[0]-l<=o[0])&&(o[1]<=s[1]||o[1]<=s[1]-l);(t||c)&&(e.axis.x.scale(n),a.domain(n.orgDomain()),e.scale.zoom=null)}},updateCurrentZoomTransform(t,e){const n=this,{$el:{eventRect:a},config:i}=n,s=i.axis_rotated,o=[-t(e[0]),0],l=ar.scale(t.range()[1]/(t(e[1])-t(e[0]))).translate(...s?o.reverse():o);a.call(n.zoom.transform,l)},bindZoomOnEventRect(){var t;const e=this,{config:n,$el:{eventRect:a,svg:i}}=e,s=n.zoom_type==="drag"?e.zoomBehaviour:e.zoom;Ke.GestureEvent&&/^((?!chrome|android|mobile).)*safari/i.test((t=Ke.navigator)==null?void 0:t.userAgent)&&i.on("wheel",()=>{}),a==null||a.call(s).on("dblclick.zoom",null)},initZoomBehaviour(){const t=this,{config:e,state:n}=t,a=e.axis_rotated;let i=0,s=0,o,l;const c={axis:a?"y":"x",attr:a?"height":"width",index:a?1:0};t.zoomBehaviour=uc().clickDistance(4).on("start",function(f){l=t.scale.zoom?null:t.axis.getExtent(),n.event=f,t.setDragStatus(!0),t.unselectRect(),o||(o=t.$el.main.append("rect").attr("clip-path",n.clip.path).attr("class",os.zoomBrush).attr("width",a?n.width:0).attr("height",a?0:n.height)),i=Hn(f,this)[c.index],l&&(il[1]&&(i=l[1])),s=i,o.attr(c.axis,i).attr(c.attr,0),t.onZoomStart(f)}).on("drag",function(f){s=Hn(f,this)[c.index],l&&(s>l[1]?s=l[1]:s{const g=t.scale.zoom||t.scale.x;n.event=f,o.attr(c.axis,0).attr(c.attr,0),i>s&&([i,s]=[s,i]),i<0&&(s+=Math.abs(i),i=0),i!==s&&t.api.zoom([i,s].map(v=>g.invert(v))),t.setDragStatus(!1)})},setZoomResetButton(){const t=this,{config:e,$el:n}=t,a=e.zoom_resetButton;a&&e.zoom_type==="drag"&&(n.zoomResetBtn?n.zoomResetBtn.style("display",null):n.zoomResetBtn=t.$el.chart.append("div").classed(Se.button,!0).append("span").on("click",function(){ve(a.onclick)&&a.onclick.bind(t.api)(this),t.api.unzoom()}).classed(os.buttonZoomReset,!0).text(a.text||"Reset Zoom"))},getZoomTransform(){const t=this,{$el:{eventRect:e}}=t;return e!=null&&e.node()?vo(e.node()):{k:1}}},Jm={drag(t){const e=this,{config:n,state:a,$el:{main:i}}=e,s=n.data_selection_grouped,o=n.interaction_enabled&&n.data_selection_isselectable;if(e.hasArcType()||!n.data_selection_enabled||n.zoom_enabled&&!e.zoom.altDomain||!n.data_selection_multiple)return;const[l,c]=a.dragStart||[0,0],[f,g]=t,v=Math.min(l,f),m=Math.max(l,f),S=s?a.margin.top:Math.min(c,g),P=s?a.height:Math.max(c,g);i.select(`.${Or.dragarea}`).attr("x",v).attr("y",S).attr("width",m-v).attr("height",P-S),i.selectAll(`.${on.shapes}`).selectAll(`.${on.shape}`).filter(N=>o==null?void 0:o.bind(e.api)(N)).each(function(N,L){const w=st(this),X=w.classed(tn.SELECTED),W=w.classed(Or.INCLUDED);let Y=!1,Q;if(w.classed($n.circle)){const K=+w.attr("cx")*1,at=+w.attr("cy")*1;Q=e.togglePoint,Y=ve in t?km(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ey=(t,e)=>{for(var n in e||(e={}))_m.call(e,n)&&hu(t,n,e[n]);if(du)for(var n of du(e))ty.call(e,n)&&hu(t,n,e[n]);return t},ny=(t,e)=>Qm(t,qm(e)),ry=ny(ey({},Jm),{selectPoint(t,e,n){const a=this,{config:i,$el:{main:s},$T:o}=a,l=i.axis_rotated,c=(l?a.circleY:a.circleX).bind(a),f=(l?a.circleX:a.circleY).bind(a),g=a.pointSelectR.bind(a);_e(i.data_onselected,a.api,e,t.node()),o(s.select(`.${tn.selectedCircles}${a.getTargetSelectorSuffix(e.id)}`).selectAll(`.${tn.selectedCircle}-${n}`).data([e]).enter().append("circle").attr("class",()=>a.generateClass(tn.selectedCircle,n)).attr("cx",c).attr("cy",f).attr("stroke",a.color).attr("r",v=>a.pointSelectR(v)*1.4)).attr("r",g)},unselectPoint(t,e,n){const a=this,{config:i,$el:{main:s},$T:o}=a;_e(i.data_onunselected,a.api,e,t==null?void 0:t.node()),o(s.select(`.${tn.selectedCircles}${a.getTargetSelectorSuffix(e.id)}`).selectAll(`.${tn.selectedCircle}-${n}`)).attr("r",0).remove()},togglePoint(t,e,n,a){this[`${t?"":"un"}selectPoint`](e,n,a)},selectPath(t,e){const n=this,{config:a}=n;_e(a.data_onselected,n.api,e,t.node()),a.interaction_brighten&&t.style("filter","brightness(1.25)")},unselectPath(t,e){const n=this,{config:a}=n;_e(a.data_onunselected,n.api,e,t.node()),a.interaction_brighten&&t.style("filter",null)},togglePath(t,e,n,a){this[`${t?"":"un"}selectPath`](e,n,a)},getToggle(t,e){const n=this;return t.nodeName==="path"?n.togglePath:n.isStepType(e)?()=>{}:n.togglePoint},toggleShape(t,e,n){var a;const i=this,{config:s,$el:{main:o}}=i;if(s.data_selection_enabled&&s.data_selection_isselectable.bind(i.api)(e)){const l=st(t),c=l.classed(tn.SELECTED),f=i.getToggle(t,e).bind(i);let g;if(!s.data_selection_multiple){const v=(a=i.isPointFocusOnly)==null?void 0:a.call(i);let m=`.${v?tn.selectedCircles:on.shapes}`;s.data_selection_grouped&&(m+=i.getTargetSelectorSuffix(e.id)),o.selectAll(m).selectAll(v?`.${tn.selectedCircle}`:`.${on.shape}.${tn.SELECTED}`).classed(tn.SELECTED,!1).each(function(S){const P=st(this);g=P,f(!1,P,S,S.index)})}(!g||g.node()!==l.node())&&(l.classed(tn.SELECTED,!c),f(!c,l,e,n))}}}),ay={data_selection_enabled:!1,data_selection_grouped:!1,data_selection_isselectable:()=>!0,data_selection_multiple:!0,data_selection_draggable:!1,data_onselected:()=>{},data_onunselected:()=>{}},iy={subchart_show:!1,subchart_showHandle:!1,subchart_size_height:60,subchart_axis_x_show:!0,subchart_axis_x_tick_show:!0,subchart_axis_x_tick_format:void 0,subchart_axis_x_tick_text_show:!0,subchart_init_range:void 0,subchart_onbrush:()=>{}},sy={zoom_enabled:!1,zoom_type:"wheel",zoom_extent:void 0,zoom_privileged:!1,zoom_rescale:!1,zoom_onzoom:void 0,zoom_onzoomstart:void 0,zoom_onzoomend:void 0,zoom_resetButton:!0,zoom_x_min:void 0,zoom_x_max:void 0};let gu=()=>(xn(Gr.prototype,ry),xn(Er.prototype,Dm),Nr.setOptions([ay]),(gu=()=>!0)()),vu=()=>(xn(Gr.prototype,Km),xn(Er.prototype,Lm),Nr.setOptions([iy]),(vu=()=>!0)()),pu=()=>(xn(Gr.prototype,Zm),xn(Er.prototype,Wm),Nr.setOptions([sy]),(pu=()=>!0)());function mu(t,e,n){const{config:a}=t,i=(s,o)=>{const l=he(o)?o:o===!1?void 0:null;l!==null&&(a[`axis_${s}_${e}`]=l)};ke(n)&&(nr(n)?Object.keys(n).forEach(s=>{i(s,n[s])}):(he(n)||n===!1)&&["y","y2"].forEach(s=>{i(s,n)}),t.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0}))}function yu(t,e){const{config:n}=t;return{x:n[`axis_x_${e}`],y:n[`axis_y_${e}`],y2:n[`axis_y2_${e}`]}}var oy={axis:{labels:function(t){const e=this.internal;let n;return t&&(Object.keys(t).forEach(a=>{e.axis.setLabelText(a,t[a])}),e.axis.updateLabels()),["x","y","y2"].forEach(a=>{const i=e.axis.getLabelText(a);i&&(!n&&(n={}),n[a]=i)}),n},min:function(t){const e=this.internal;return De(t)||t===!1?mu(e,"min",t):yu(e,"min")},max:function(t){const e=this.internal;return De(t)||t===!1?mu(e,"max",t):yu(e,"max")},range:function(t){const{axis:e}=this;if(arguments.length){const{min:n,max:a}=t;ke(a)&&e.max(a),ke(n)&&e.min(n)}else return{max:e.max(),min:e.min()}}}},ly={category(t,e){const n=this.internal,{config:a}=n;return arguments.length>1&&(a.axis_x_categories[t]=e,n.redraw()),a.axis_x_categories[t]},categories(t){const e=this.internal,{config:n}=e;if(!t||!Array.isArray(t)){const a=n.axis_x_categories;return qn(a)?Object.values(e.data.xs)[0]:a}return n.axis_x_categories=t,e.redraw(),n.axis_x_categories}},cy={flow(t){const e=this.internal;let n;(t.json||t.rows||t.columns)&&e.convertData(t,i=>{n=i,a()});function a(){let i,s=0,o=0,l,c;if(e.state.redrawing||!n||!Ma())return;const f=[],g=e.getMaxDataCount(),v=e.convertDataToTargets(n,!0),m=e.axis.isTimeSeries();e.data.targets.forEach(N=>{let L=!1;for(let w=0;w{for(let L=0;L{const L=[];for(let w=e.data.targets[0].values[0].index;w{w.index+=o,m||(w.x+=o)}),N.values=L.concat(N.values)}),e.data.targets=e.data.targets.concat(v);const S=e.data.targets[0],P=S.values[0];ke(t.to)?(s=0,c=m?zn.call(e,t.to):t.to,S.values.forEach(N=>{N.x1?S.values[S.values.length-1].x-P.x:P.x-e.getXDomain(e.data.targets)[0]:l=1,i=[P.x-l,P.x]),i&&e.updateXDomain(null,!0,!0,!1,i),e.updateTargets(e.data.targets),e.redraw({flow:{index:P.index,length:s,duration:De(t.duration)?t.duration:e.config.transition_duration,done:t.done,orgDataCount:g},withLegend:!0,withTransition:g>1,withTrimXDomain:!1,withUpdateXAxis:!0})}}};function mo(t,e){const n=this.internal,{config:a}=n,i=a.transition_duration&&Ma(),s=`grid_${e}_lines`;return t&&(a[s]=t,n.updateGrid(),n.redrawGrid(i)),a[s]}function xu(t,e){const n=`grid_${e}_lines`;return mo.bind(this)(this.internal.config[n].concat(t||[]),e)}function Tu(t,e){this.internal.removeGridLines(t,e)}const $u=function(t){return mo.bind(this)(t,"x")};xn($u,{add(t){return xu.bind(this)(t,"x")},remove(t){return Tu.bind(this)(t,!0)}});const Su=function(t){return mo.bind(this)(t,"y")};xn(Su,{add(t){return xu.bind(this)(t,"y")},remove(t){return Tu.bind(this)(t,!1)}});var uy={xgrids:$u,ygrids:Su},fy={groups(t){const e=this.internal,{config:n}=e;return ln(t)||(n.data_groups=t,e.redraw()),n.data_groups}};function Au(t,e=!1){const n=this.internal,{config:a}=n,i=a.transition_duration&&Ma();return t?(a.regions=e?a.regions.concat(t):t,n.updateRegion(),n.redrawRegion(i),e?a.regions:t):a.regions}const Eu=function(t){return Au.bind(this)(t)};xn(Eu,{add:function(t){return Au.bind(this)(t,!0)},remove:function(t){const e=this.internal,{config:n,$T:a}=e,i=t||{},s=$r(i,"classes",[$a.region]);let o=e.$el.main.select(`.${$a.regions}`).selectAll(s.map(l=>`.${l}`));return a(o).style("opacity","0").remove(),o=n.regions,Object.keys(i).length?(o=o.filter(l=>{let c=!1;return l.class?(l.class.split(" ").forEach(f=>{s.indexOf(f)>=0&&(c=!0)}),!c):!0}),n.regions=o):n.regions=[],o}});var dy={regions:Eu},hy={x(t){const e=this.internal,{axis:n,data:a}=e,i=n.isCustomX()&&n.isCategorized();return ze(t)&&(i?this.categories(t):(e.updateTargetX(a.targets,t),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0}))),i?this.categories():a.xs},xs(t){const e=this.internal;return Be(t)&&(e.updateTargetXs(e.data.targets,t),e.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0})),e.data.xs}};function gy(t){return t}var Xi=1,Yi=2,yo=3,Ba=4,bu=1e-6;function vy(t){return"translate("+t+",0)"}function py(t){return"translate(0,"+t+")"}function my(t){return e=>+t(e)}function yy(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function xy(){return!this.__axis}function Hi(t,e){var n=[],a=null,i=null,s=6,o=6,l=3,c=typeof window!="undefined"&&window.devicePixelRatio>1?0:.5,f=t===Xi||t===Ba?-1:1,g=t===Ba||t===Yi?"x":"y",v=t===Xi||t===yo?vy:py;function m(S){var P=a==null?e.ticks?e.ticks.apply(e,n):e.domain():a,N=i==null?e.tickFormat?e.tickFormat.apply(e,n):gy:i,L=Math.max(s,0)+l,w=e.range(),X=+w[0]+c,W=+w[w.length-1]+c,Y=(e.bandwidth?yy:my)(e.copy(),c),Q=S.selection?S.selection():S,K=Q.selectAll(".domain").data([null]),at=Q.selectAll(".tick").data(P,e).order(),ht=at.exit(),St=at.enter().append("g").attr("class","tick"),ct=at.select("line"),lt=at.select("text");K=K.merge(K.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),at=at.merge(St),ct=ct.merge(St.append("line").attr("stroke","currentColor").attr(g+"2",f*s)),lt=lt.merge(St.append("text").attr("fill","currentColor").attr(g,f*L).attr("dy",t===Xi?"0em":t===yo?"0.71em":"0.32em")),S!==Q&&(K=K.transition(S),at=at.transition(S),ct=ct.transition(S),lt=lt.transition(S),ht=ht.transition(S).attr("opacity",bu).attr("transform",function(Gt){return isFinite(Gt=Y(Gt))?v(Gt+c):this.getAttribute("transform")}),St.attr("opacity",bu).attr("transform",function(Gt){var vt=this.parentNode.__axis;return v((vt&&isFinite(vt=vt(Gt))?vt:Y(Gt))+c)})),ht.remove(),K.attr("d",t===Ba||t===Yi?o?"M"+f*o+","+X+"H"+c+"V"+W+"H"+f*o:"M"+c+","+X+"V"+W:o?"M"+X+","+f*o+"V"+c+"H"+W+"V"+f*o:"M"+X+","+c+"H"+W),at.attr("opacity",1).attr("transform",function(Gt){return v(Y(Gt)+c)}),ct.attr(g+"2",f*s),lt.attr(g,f*L).text(N),Q.filter(xy).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Yi?"start":t===Ba?"end":"middle"),Q.each(function(){this.__axis=Y})}return m.scale=function(S){return arguments.length?(e=S,m):e},m.ticks=function(){return n=Array.from(arguments),m},m.tickArguments=function(S){return arguments.length?(n=S==null?[]:Array.from(S),m):n.slice()},m.tickValues=function(S){return arguments.length?(a=S==null?null:Array.from(S),m):a&&a.slice()},m.tickFormat=function(S){return arguments.length?(i=S,m):i},m.tickSize=function(S){return arguments.length?(s=o=+S,m):s},m.tickSizeInner=function(S){return arguments.length?(s=+S,m):s},m.tickSizeOuter=function(S){return arguments.length?(o=+S,m):o},m.tickPadding=function(S){return arguments.length?(l=+S,m):l},m.offset=function(S){return arguments.length?(c=+S,m):c},m}function Ty(t){return Hi(Xi,t)}function $y(t){return Hi(Yi,t)}function Ru(t){return Hi(yo,t)}function Iu(t){return Hi(Ba,t)}var Sy=Object.defineProperty,Ay=(t,e,n)=>e in t?Sy(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,xo=(t,e,n)=>Ay(t,typeof e!="symbol"?e+"":e,n);class Ou{constructor(e){xo(this,"owner"),xo(this,"config"),xo(this,"scale");const n=zr(),{config:a,params:i}=e;this.owner=e,this.config=a,this.scale=n,(a.noTransition||!i.config.transition_duration)&&(a.withoutTransition=!0),a.range=this.scaleExtent((i.orgXScale||n).range())}static getSizeFor1Char(e,n=!0){const a={w:5.5,h:11.5};return!e.empty()&&e.text("0").call(i=>{try{const{width:s,height:o}=i.node().getBBox();s&&o&&(a.w=s,a.h=o)}finally{i.text("")}}),n&&(this.getSizeFor1Char=()=>a),a}getTickTransformSetter(e){const{config:n}=this,a=e==="x"?i=>`translate(${i+n.tickOffset},0)`:i=>`translate(0,${i})`;return(i,s)=>{i.attr("transform",o=>{const l=s(o);return De(o)?a(l):null})}}scaleExtent(e){const n=e[0],a=e[e.length-1];return n0?i:1,s]).range(e.range());o=c.ticks();for(let f=s.toFixed().length;o.length>15;f--)o=c.ticks(f);o.splice(0,1,i),o.splice(o.length-1,1,s)}else o=e.ticks(...this.config.tickArguments||[]);o=o.map(c=>Xe(c)&&he(c)&&!isNaN(c)&&Math.round(c*10)/10||c)}return o}copyScale(){const e=this.scale.copy();return e.domain().length||e.domain(this.scale.domain()),e.type=this.scale.type,e}textFormatted(e){const n=this.config.tickFormat,a=/\d+\.\d+0{5,}\d$/.test(e)?+String(e).replace(/0+\d$/,""):e,i=n?n(a):a;return ke(i)?i:""}transitionise(e){const{config:n}=this;let a=e;if(n.withoutTransition)a=e.interrupt();else if(n.transition||!this.owner.params.noTransition)try{a=e.transition(n.transition)}catch(i){}return a}}var Ey=Object.defineProperty,by=(t,e,n)=>e in t?Ey(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ua=(t,e,n)=>by(t,typeof e!="symbol"?e+"":e,n);class Ry{constructor(e={}){Ua(this,"helper"),Ua(this,"config"),Ua(this,"params"),Ua(this,"g"),Ua(this,"generatedTicks");const n={innerTickSize:6,outerTickSize:e.outerTick?6:0,orient:"bottom",range:[],tickArguments:null,tickCentered:null,tickCulling:!0,tickFormat:null,tickLength:9,tickOffset:0,tickPadding:3,tickValues:null,transition:null,noTransition:e.noTransition};n.tickLength=Math.max(n.innerTickSize,0)+n.tickPadding,this.config=n,this.params=e,this.helper=new Ou(this)}create(e){const n=this,{config:a,helper:i,params:s}=n,{scale:o}=i,{orient:l}=a,c=this.splitTickText.bind(n),f=/^(left|right)$/.test(l),g=/^(top|bottom)$/.test(l),v=i.getTickTransformSetter(g?"x":"y"),m=v===i.axisX?"y":"x",S=/^(top|left)$/.test(l)?-1:1,P=s.tickTextRotate;this.config.range=o.rangeExtent?o.rangeExtent():i.scaleExtent((s.orgXScale||o).range());const{innerTickSize:N,tickLength:L,range:w}=a,X=s.id,W=X&&/^(x|y|y2)$/.test(X)?s.config[`axis_${X}_tick_text_position`]:{x:0,y:0},Y=X==="subX"?"subchart_axis_x":`axis_${X}`,Q=s.config[`${Y}_show`],K={tick:Q?s.config[`${Y}_tick_show`]:!1,text:Q?s.config[`${Y}_tick_text_show`]:!1},at=s.config.axis_evalTextSize;let ht;e.each(function(){const St=st(this);let ct=this.__chart__||o,lt=i.copyScale();ht=St,this.__chart__=lt,a.tickOffset=s.isCategory?(lt(1)-lt(0))/2:0;const Gt=St.selectAll(".domain").data([0]);if(Gt.enter().append("path").attr("class","domain").merge(Gt).attr("d",()=>{const vt=a.outerTickSize*S;return g?`M${w[0]},${vt}V0H${w[1]}V${vt}`:`M${vt},${w[0]}H0V${w[1]}H${vt}`}),K.tick||K.text){const vt=a.tickValues||i.generateTicks(lt,f);n.generatedTicks=vt;let Z=St.selectAll(".tick").data(vt,lt);const $t=Z.enter().insert("g",".domain").attr("class","tick"),ut=Z.exit().remove();Z=$t.merge(Z),K.tick&&$t.append("line"),K.text&&$t.append("text");const At=Z.select("text"),Vt=ve(at)?at.bind(n.params.owner.api)(At.node()):Ou.getSizeFor1Char(At,at),Bt=[];let Kt=At.selectAll("tspan").data((be,Oe)=>{const Ce=s.tickMultiline?c(be,lt,vt,f,Vt.w):ze(i.textFormatted(be))?i.textFormatted(be).concat():[i.textFormatted(be)];return Bt[Oe]=Ce.length,Ce.map(Ye=>({index:Oe,splitted:Ye}))});Kt.exit().remove(),Kt=Kt.enter().append("tspan").merge(Kt).text(be=>be.splitted),Kt.attr("x",g?0:L*S).attr("dx",(()=>{let be=0;return/(top|bottom)/.test(l)&&P&&(be=8*Math.sin(Math.PI*(P/180))*(l==="top"?-1:1)),be+(W.x||0)})()).attr("dy",(be,Oe)=>{const Ce=".71em";let Ye=0;return l!=="top"&&(Ye=Vt.h,Oe===0&&(Ye=f?-((Bt[be.index]-1)*(Vt.h/2)-3):W.y===0?Ce:0)),he(Ye)&&W.y?Ye+W.y:Ye||Ce});const ne=Z.select("line"),le=Z.select("text");if($t.select("line").attr(`${m}2`,N*S),$t.select("text").attr(m,L*S),n.setTickLineTextPosition(ne,le),s.tickTitle){const be=le.select("title");(be.empty()?le.append("title"):be).text(Oe=>s.tickTitle[Oe])}if(lt.bandwidth){const be=lt,Oe=be.bandwidth()/2;ct=Ce=>be(Ce)+Oe,lt=ct}else ct.bandwidth?ct=lt:v(ut,lt);Z=s.owner.state.flowing?i.transitionise(Z):s.owner.$T(Z),v($t,ct),v(Z.style("opacity",null),lt)}}),this.g=ht}getGeneratedTicks(e){var n;const a=((n=this.generatedTicks)==null?void 0:n.length)-1;let i=this.generatedTicks;if(a>e){const s=Math.round(a/e+.1);i=this.generatedTicks.map((o,l)=>l%s===0?o:null).filter(o=>o!==null).splice(0,e)}return i}getTickXY(){const{config:e}=this,n={x:0,y:0};return this.params.isCategory&&(n.x=e.tickCentered?0:e.tickOffset,n.y=e.tickCentered?e.tickOffset:0),n}getTickSize(e){const{scale:n}=this.helper,{config:a}=this,{innerTickSize:i,range:s}=a,o=n(e)+(a.tickCentered?0:a.tickOffset);return s[0]{const N=["start","end"];return s==="top"&&N.reverse(),P?N[P>0?0:1]:"middle"},g=P=>P?`rotate(${P})`:null,v=P=>{const N=P/(s==="bottom"?15:23);return P?11.5-2.5*N*(P>0?1:-1):o},{config:{axis_rotated:m,axis_x_tick_text_inner:S}}=this.params.owner;switch(s){case"bottom":e.attr("x1",a.x).attr("x2",a.x).attr("y2",this.getTickSize.bind(this)),n.attr("x",0).attr("y",v(c)).style("text-anchor",f(c)).style("text-anchor",(P,N,{length:L})=>!m&&N===0&&(S===!0||S.first)?"start":!m&&N===L-1&&(S===!0||S.last)?"end":f(c)).attr("transform",g(c));break;case"top":e.attr("x2",0).attr("y2",-i),n.attr("x",0).attr("y",-v(c)*2).style("text-anchor",f(c)).attr("transform",g(c));break;case"left":e.attr("x2",-i).attr("y1",a.y).attr("y2",a.y),n.attr("x",-o).attr("y",l).style("text-anchor","end");break;case"right":e.attr("x2",i).attr("y2",0),n.attr("x",o).attr("y",0).style("text-anchor","start")}}splitTickText(e,n,a,i,s){const{params:o}=this,l=this.helper.textFormatted(e),c=Xe(l)&&l.indexOf(` `)>-1?l.split(` -`):[];if(c.length)return c;if(ze(l))return l;let f=s.tickWidth;(!f||f<=0)&&(f=i?95:s.isCategory?(s.isInverted?n(a[0])-n(a[1]):n(a[1])-n(a[0]))-12:110);function g(v,m){let S,P,N;for(let L=1;L{const S=v+1;return Se(this.helper.scale.domain());else{if(!arguments.length)return n.tickValues;n.tickValues=e}return this}setTransition(e){return this.config.transition=e,this}}var Iy=Object.defineProperty,Oy=(t,e,n)=>e in t?Iy(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,pr=(t,e,n)=>Oy(t,typeof e!="symbol"?e+"":e,n),Cy={getAxisInstance:function(){return this.axis||new Py(this)}};class Py{constructor(e){pr(this,"owner"),pr(this,"x"),pr(this,"subX"),pr(this,"y"),pr(this,"y2"),pr(this,"axesList",{}),pr(this,"tick",{x:null,y:null,y2:null}),pr(this,"xs",[]),pr(this,"orient",{x:"bottom",y:"left",y2:"right",subX:"bottom"}),this.owner=e,this.setOrient()}getAxisClassName(e){return`${dn.axis} ${dn[`axis${Dn(e)}`]}`}isHorizontal(e,n){const a=e.config.axis_rotated;return n?a:!a}isCategorized(){const{config:e,state:n}=this.owner;return e.axis_x_type.indexOf("category")>=0||n.hasRadar}isCustomX(){const{config:e}=this.owner;return!this.isTimeSeries()&&(e.data_x||cn(e.data_xs))}isTimeSeries(e="x"){return this.owner.config[`axis_${e}_type`]==="timeseries"}isLog(e="x"){return this.owner.config[`axis_${e}_type`]==="log"}isTimeSeriesY(){return this.isTimeSeries("y")}getAxisType(e="x"){let n="linear";return this.isTimeSeries(e)?n=this.owner.config.axis_x_localtime?"time":"utc":this.isLog(e)&&(n="log"),n}init(){const e=this.owner,{config:n,$el:{main:a,axis:i},state:{clip:o}}=e,s=n.axis_rotated,l=["x","y"];n.axis_y2_show&&l.push("y2"),l.forEach(c=>{const f=this.getAxisClassName(c),g=dn[`axis${c.toUpperCase()}Label`];i[c]=a.append("g").attr("class",f).attr("clip-path",()=>{let v=null;return c==="x"?v=o.pathXAxis:c==="y"&&(v=o.pathYAxis),v}).attr("transform",e.getTranslate(c)).style("visibility",n[`axis_${c}_show`]?null:"hidden"),i[c].append("text").attr("class",g).attr("transform",["rotate(-90)",null][c==="x"?+!s:+s]).style("text-anchor",()=>this.textAnchorForAxisLabel(c)),this.generateAxes(c)}),n.axis_tooltip&&this.setAxisTooltip()}setOrient(){const e=this.owner,{axis_rotated:n,axis_y_inner:a,axis_y2_inner:i}=e.config;this.orient={x:n?"left":"bottom",y:n?a?"top":"bottom":a?"right":"left",y2:n?i?"bottom":"top":i?"left":"right",subX:n?"left":"bottom"}}generateAxes(e){const n=this.owner,{config:a}=n,i=[],o=a[`axis_${e}_axes`],s=a.axis_rotated;let l;e==="x"?l=s?Iu:Ru:e==="y"?l=s?Ru:Iu:e==="y2"&&(l=s?Ty:$y),o.length&&o.forEach(c=>{const f=c.tick||{},g=n.scale[e].copy();c.domain&&g.domain(c.domain),i.push(l(g).ticks(f.count).tickFormat(ve(f.format)?f.format.bind(n.api):v=>v).tickValues(f.values).tickSizeOuter(f.outer===!1?0:6))}),this.axesList[e]=i}updateAxes(){const e=this.owner,{config:n,$el:{main:a},$T:i}=e;Object.keys(this.axesList).forEach(o=>{const s=n[`axis_${o}_axes`],l=e.scale[o].copy(),c=l.range();this.axesList[o].forEach((f,g)=>{const v=f.scale().range();c.every((P,N)=>P===v[N])||f.scale().range(c);const m=`${this.getAxisClassName(o)}-${g+1}`;let S=a.select(`.${m.replace(/\s/,".")}`);S.empty()?S=a.append("g").attr("class",m).style("visibility",n[`axis_${o}_show`]?null:"hidden").call(f):(s[g].domain&&l.domain(s[g].domain),i(S).call(f.scale(l))),S.attr("transform",e.getTranslate(o,g+1))})})}setAxis(e,n,a,i){const o=this.owner;e!=="subX"&&(this.tick[e]=this.getTickValues(e)),this[e]=this.getAxis(e,n,a,e==="x"&&(o.scale.zoom||o.config.subchart_show||o.state.resizing)?!0:i)}getAxis(e,n,a,i,o){const s=this.owner,{config:l}=s,c=/^(x|subX)$/.test(e),f=c?"x":e,g=c&&this.isCategorized(),v=this.orient[e],m=o?0:s.getAxisTickRotate(f);let S;if(c)S=e==="subX"?s.format.subXAxisTick:s.format.xAxisTick;else{const X=l[`axis_${e}_tick_format`];ve(X)&&(S=X.bind(s.api))}let P=this.tick[f];const N=ea({outerTick:a,noTransition:i,config:l,id:e,tickTextRotate:m,owner:s},c&&{isCategory:g,isInverted:l.axis_x_inverted,tickMultiline:l.axis_x_tick_multiline,tickWidth:l.axis_x_tick_width,tickTitle:g&&l.axis_x_tick_tooltip&&s.api.categories(),orgXScale:s.scale.x});c||(N.tickStepSize=l[`axis_${f}_tick_stepSize`]);const L=new Ry(N).scale(c&&s.scale.zoom||n).orient(v);if(c&&this.isTimeSeries()&&P&&!ve(P)){const X=zn.bind(s);P=P.map(W=>X(W))}else!c&&this.isTimeSeriesY()&&(L.ticks(l.axis_y_tick_time_value),P=null);P&&L.tickValues(P),L.tickFormat(S||!c&&s.isStackNormalized()&&(X=>`${X}%`)),g&&(L.tickCentered(l.axis_x_tick_centered),qn(l.axis_x_tick_culling)&&(l.axis_x_tick_culling=!1));const w=l[`axis_${f}_tick_count`];return w&&L.ticks(w),L}updateXAxisTickValues(e,n){var a;const i=this.owner,{config:o}=i,s=o.axis_x_tick_fit;let l=o.axis_x_tick_count,c;return(s||l&&s)&&(c=i.mapTargetsToUniqueXs(e),this.isCategorized()&&l>c.length&&(l=c.length),c=this.generateTickValues(c,l,this.isTimeSeries())),n?n.tickValues(c):this.x&&(this.x.tickValues(c),(a=this.subX)==null||a.tickValues(c)),c}getId(e){const{config:n,scale:a}=this.owner;let i=n.data_axes[e];return(!i||!a[i])&&(i="y"),i}getXAxisTickFormat(e){const n=this.owner,{config:a,format:i}=n,o=e&&a.subchart_axis_x_tick_format||a.axis_x_tick_format,s=this.isTimeSeries(),l=this.isCategorized();let c;return o?ve(o)?c=o.bind(n.api):s&&(c=f=>f?i.axisTime(o)(f):""):c=s?i.defaultAxisTime:l?n.categoryName:f=>f<0?f.toFixed(0):f,ve(c)?f=>c.apply(n,l?[f,n.categoryName(f)]:[f]):c}getTickValues(e){const n=this.owner,a=n.config[`axis_${e}_tick_values`],i=n[`${e}Axis`];return(ve(a)?a.call(n.api):a)||(i?i.tickValues():void 0)}getLabelOptionByAxisId(e){return this.owner.config[`axis_${e}_label`]}getLabelText(e){const n=this.getLabelOptionByAxisId(e);return Xe(n)?n:n?n.text:null}setLabelText(e,n){const a=this.owner,{config:i}=a,o=this.getLabelOptionByAxisId(e);Xe(o)?i[`axis_${e}_label`]=n:o&&(o.text=n)}getLabelPosition(e,n){const a=this.owner.config.axis_rotated,i=this.getLabelOptionByAxisId(e),o=nr(i)&&i.position?i.position:n[+!a],s=l=>!!~o.indexOf(l);return{isInner:s("inner"),isOuter:s("outer"),isLeft:s("left"),isCenter:s("center"),isRight:s("right"),isTop:s("top"),isMiddle:s("middle"),isBottom:s("bottom")}}getAxisLabelPosition(e){return this.getLabelPosition(e,e==="x"?["inner-top","inner-right"]:["inner-right","inner-top"])}getLabelPositionById(e){return this.getAxisLabelPosition(e)}xForAxisLabel(e){const n=this.owner,{state:{width:a,height:i}}=n,o=this.getAxisLabelPosition(e);let s=o.isMiddle?-i/2:0;return this.isHorizontal(n,e!=="x")?s=o.isLeft?0:o.isCenter?a/2:a:o.isBottom&&(s=-i),s}dxForAxisLabel(e){const n=this.owner,a=this.getAxisLabelPosition(e);let i=a.isBottom?"0.5em":"0";return this.isHorizontal(n,e!=="x")?i=a.isLeft?"0.5em":a.isRight?"-0.5em":"0":a.isTop&&(i="-0.5em"),i}textAnchorForAxisLabel(e){const n=this.owner,a=this.getAxisLabelPosition(e);let i=a.isMiddle?"middle":"end";return this.isHorizontal(n,e!=="x")?i=a.isLeft?"start":a.isCenter?"middle":"end":a.isBottom&&(i="start"),i}dyForAxisLabel(e){const n=this.owner,{config:a}=n,i=a.axis_rotated,o=this.getAxisLabelPosition(e).isInner,s=a[`axis_${e}_tick_rotate`]?n.getHorizontalAxisHeight(e):0,{width:l}=this.getMaxTickSize(e);let c;if(e==="x"){const f=a.axis_x_height;i?c=o?"1.2em":-25-l:o?c="-0.5em":f?c=f-10:s?c=s-10:c="3em"}else c={y:["-0.5em",10,"3em","1.2em",10],y2:["1.2em",-20,"-2.2em","-0.5em",15]}[e],i?o?c=c[0]:s?c=s*(e==="y2"?-1:1)-c[1]:c=c[2]:c=o?c[3]:(c[4]+(a[`axis_${e}_inner`]?0:l+c[4]))*(e==="y"?-1:1);return c}getMaxTickSize(e,n){const a=this.owner,{config:i,state:{current:o},$el:{svg:s,chart:l}}=a,c=o.maxTickSize[e],f=`axis_${e}`,g={width:0,height:0};if(n||!i[`${f}_show`]||c.width>0&&a.filterTargetsToShow().length===0)return c;if(s){const v=/^y2?$/.test(e),m=a.filterTargetsToShow(a.data.targets),S=a.scale[e].copy().domain(a[`get${v?"Y":"X"}Domain`](m,e)),P=S.domain(),N=P[0]===P[1]&&P.every(K=>K>0),L=ze(c.domain)&&c.domain[0]===c.domain[1]&&c.domain.every(K=>K>0);if(N||L)return c.size;c.domain=P,v||c.ticks.splice(0);const w=this.getAxis(e,S,!1,!1,!0),X=i[`${f}_tick_rotate`],W=i[`${f}_tick_count`];!i[`${f}_tick_values`]&&W&&w.tickValues(this.generateTickValues(P,W,v?this.isTimeSeriesY():this.isTimeSeries())),!v&&this.updateXAxisTickValues(m,w);const Q=l.append("svg").style("visibility","hidden").style("position","fixed").style("top","0").style("left","0");w.create(Q),Q.selectAll("text").attr("transform",he(X)?`rotate(${X})`:null).each(function(K,at){const{width:ht,height:St}=this.getBoundingClientRect();g.width=Math.max(g.width,ht),g.height=Math.max(g.height,St),v||(c.ticks[at]=ht)}),Q.remove()}return Object.keys(g).forEach(v=>{g[v]>0&&(c[v]=g[v])}),c}getXAxisTickTextY2Overflow(e){const n=this.owner,{axis:a,config:i,state:{current:o,isLegendRight:s,legendItemWidth:l}}=n,c=n.getAxisTickRotate("x"),f=c>0&&c<90;if((a.isCategorized()||a.isTimeSeries())&&i.axis_x_tick_fit&&(!i.axis_x_tick_culling||qn(i.axis_x_tick_culling))&&!i.axis_x_tick_multiline&&f){const g=i.axis_y2_show&&o.maxTickSize.y2.width||0,v=s&&l||0,m=o.width-n.getCurrentPaddingByDirection("left"),S=this.getXAxisTickMaxOverflow(c,m-e)-g-v,P=Math.max(0,S)+e;return Math.min(P,m/2)}return 0}getXAxisTickMaxOverflow(e,n){const a=this.owner,{axis:i,config:o,state:s}=a,l=i.isTimeSeries(),c=s.current.maxTickSize.x.ticks,f=c.length,{left:g,right:v}=s.axis.x.padding;let m=0;const S=f-(l&&o.axis_x_tick_fit?.5:0);for(let L=0;L!o[s].empty()).forEach(s=>{const l=o[s];i(l,e).attr("x",()=>this.xForAxisLabel(s)).attr("dx",()=>this.dxForAxisLabel(s)).attr("dy",()=>this.dyForAxisLabel(s)).text(()=>this.getLabelText(s))})}getPadding(e,n,a,i){const o=he(e)?e:e[n];return De(o)?this.owner.convertPixelToScale(/(bottom|top)/.test(n)?"y":"x",o,i):a}generateTickValues(e,n,a){let i=e;if(n){const o=ve(n)?n():n;if(o===1)i=[e[0]];else if(o===2)i=[e[0],e[e.length-1]];else if(o>2){const s=this.isCategorized(),l=o-2,c=e[0],f=e[e.length-1],g=(f-c)/(l+1);let v;i=[c];for(let m=0;mo-s)),i}generateTransitions(e){const n=this.owner,{$el:{axis:a},$T:i}=n,[o,s,l,c]=["x","y","y2","subX"].map(f=>i(a[f],e));return{axisX:o,axisY:s,axisY2:l,axisSubX:c}}redraw(e,n,a){const i=this.owner,{config:o,$el:s}=i,l=n?"0":null;["x","y","y2","subX"].forEach(c=>{const f=this[c],g=s.axis[c];f&&g&&(!a&&!o.transition_duration&&(f.config.withoutTransition=!0),g.style("opacity",l),f.create(e[`axis${Dn(c)}`]))}),this.updateAxes()}redrawAxis(e,n,a,i,o){var s,l,c;const f=this.owner,{config:g,scale:v,$el:m}=f,S=!!v.zoom;let P;!S&&this.isCategorized()&&e.length===0&&v.x.domain([0,m.axis.x.selectAll(".tick").size()]),v.x&&e.length?(!S&&f.updateXDomain(e,n.UpdateXDomain,n.UpdateOrgXDomain,n.TrimXDomain),g.axis_x_tick_values||this.updateXAxisTickValues(e)):this.x&&(this.x.tickValues([]),(s=this.subX)==null||s.tickValues([])),g.zoom_rescale&&!i&&(P=v.x.orgDomain()),["y","y2"].forEach(N=>{const L=`axis_${N}_`,w=v[N];if(w){const X=g[`${L}tick_values`],W=g[`${L}tick_count`];if(w.domain(f.getYDomain(e,N,P)),!X&&W){const Y=f.axis[N],Q=w.domain();Y.tickValues(this.generateTickValues(Q,Q.every(K=>K===0)?1:W,this.isTimeSeriesY()))}}}),this.redraw(a,f.hasArcType(),o),this.updateLabels(n.Transition),(n.UpdateXDomain||n.UpdateXAxis||n.Y)&&e.length&&this.setCulling(),n.Y&&((l=v.subY)==null||l.domain(f.getYDomain(e,"y")),(c=v.subY2)==null||c.domain(f.getYDomain(e,"y2")))}setCulling(){const e=this.owner,{config:n,state:{clip:a,current:i},$el:o}=e;["subX","x","y","y2"].forEach(s=>{const l=o.axis[s],f=`axis_${s==="subX"?"x":s}_tick_culling`,g=n[f];if(l&&g){const v=l.selectAll(".tick"),m=na(v.data()),S=m.length,P=n[`${f}_max`],N=n[`${f}_lines`];let L;if(S){for(let w=1;w{var f,g,v;if(s[c]=(f=o[c])==null?void 0:f.append("text").classed(dn[`axis${c.toUpperCase()}Tooltip`],!0).attr("filter",n.updateTextBGColor({id:c},l)),a){const m=c==="x"?"x":"y",S=c==="y"?"1.15em":c==="x"?"-0.3em":"-0.4em";(g=s[c])==null||g.attr(m,S).attr(`d${c==="x"?"y":"x"}`,c==="x"?"0.4em":"-1.3em").style("text-anchor",c==="x"?"end":null)}else{const m=c==="x"?"y":"x",S=c==="x"?"1.15em":`${c==="y"?"-":""}0.4em`;(v=s[c])==null||v.attr(m,S).attr(`d${c==="x"?"x":"y"}`,c==="x"?"-1em":"0.3em").style("text-anchor",c==="y"?"end":null)}})}}var wy={initEventRect(){this.$el.main.select(`.${Se.chart}`).append("g").attr("class",Zn.eventRects).style("fill-opacity","0")},redrawEventRect(){var t;const e=this,{config:n,state:a,$el:i}=e,o=e.isMultipleX(),s=n.axis_x_inverted;if(i.eventRect)e.updateEventRect(i.eventRect,!0);else if(e.data.targets.length){const c=e.$el.main.select(`.${Zn.eventRects}`).style("cursor",n.zoom_enabled&&n.zoom_type!=="drag"?n.axis_rotated?"ns-resize":"ew-resize":null).classed(Zn.eventRectsMultiple,o).classed(Zn.eventRectsSingle,!o).selectAll(`.${Zn.eventRect}`).data([0]).enter().append("rect");e.updateEventRect(c),e.updateEventType(c),c.call(e.getDraggableSelection()),i.eventRect=c,e.state.inputType==="touch"&&!i.svg.on("touchstart.eventRect")&&!e.hasArcType()&&e.bindTouchOnEventRect(),a.rendered&&e.updateEventRect(i.eventRect,!0)}if(!o){const l=e.getMaxDataCountTarget();(!n.data_xSort||s)&&l.sort((c,f)=>s?f.x-c.x:c.x-f.x),e.updateDataIndexByX(l),e.updateXs(l),(t=e.updatePointClass)==null||t.call(e,!0),a.eventReceiver.data=l}e.updateEventRectData()},bindTouchOnEventRect(){const t=this,{config:e,state:n,$el:{eventRect:a,svg:i}}=t,o=m=>{if(t.isMultipleX())t.selectRectForMultipleXs(m);else{const S=t.getDataIndexFromEvent(n.event);t.callOverOutForTouch(S),S===-1?t.unselectRect():t.selectRectForSingle(m,S)}},s=()=>{t.unselectRect(),t.callOverOutForTouch()},l=e.interaction_inputType_touch.preventDefault,c=Oo(l)&&l||!1,f=!isNaN(l)&&l||null;let g;const v=m=>{const S=m.type,N=m.changedTouches[0][`client${e.axis_rotated?"Y":"X"}`];S==="touchstart"?c?m.preventDefault():f!==null&&(g=N):S==="touchmove"&&(c||g===!0||f!==null&&Math.abs(g-N)>=f)&&(g=!0,m.preventDefault())};a.on("touchstart",m=>{n.event=m,t.updateEventRect()}).on("touchstart.eventRect touchmove.eventRect",m=>{if(n.event=m,!a.empty()&&a.classed(Zn.eventRect)){if(n.dragging||n.flowing||t.hasArcType()||m.touches.length>1)return;v(m),o(a.node())}else s()},!0).on("touchend.eventRect",m=>{n.event=m,!a.empty()&&a.classed(Zn.eventRect)&&(t.hasArcType()||!t.toggleShape||n.cancelClick)&&n.cancelClick&&(n.cancelClick=!1)},!0),i.on("touchstart",m=>{n.event=m;const{target:S}=m;S&&S!==a.node()&&s()})},updateEventRect(t,e=!1){const n=this,{state:a,$el:i}=n,{eventReceiver:o,width:s,height:l,rendered:c,resizing:f}=a,g=t||i.eventRect,v=()=>{if(o){const m=Zl(i.chart.node());o.rect=g.node().getBoundingClientRect().toJSON(),o.rect.top+=m.y,o.rect.left+=m.x}};(!c||f||e)&&(g.attr("x",0).attr("y",0).attr("width",s).attr("height",l),(!c||e)&&g.classed(Zn.eventRect,!0)),v()},updateEventType(t){const e=this,n=Oo(t),a=n?e.$el.eventRect:t,i=n?t!==(a==null?void 0:a.datum().multipleX):!1;a&&(i&&(a==null||a.on("mouseover mousemove mouseout click",null)),e.isMultipleX()?e.generateEventRectsForMultipleXs(a):e.generateEventRectsForSingleX(a))},updateEventRectData(){const t=this,{config:e,scale:n,state:a}=t,i=n.zoom||n.x,o=e.axis_rotated,s=t.isMultipleX();let l,c,f,g;if(t.updateEventType(s),s)l=0,c=0,f=a.width,g=a.height;else{let S,P;if(t.axis.isCategorized())S=t.getEventRectWidth(),P=N=>i(N.x)-S/2;else{const N=({index:L})=>({prev:t.getPrevX(L),next:t.getNextX(L)});S=L=>{const w=N(L),X=i.domain();let W;return w.prev===null&&w.next===null?W=o?a.height:a.width:w.prev===null?W=(i(w.next)+i(L.x))/2:w.next===null?W=i(X[1])-(i(w.prev)+i(L.x))/2:(Object.keys(w).forEach((Y,Q)=>{var K;w[Y]=(K=w[Y])!=null?K:X[Q]}),W=Math.max(0,(i(w.next)-i(w.prev))/2)),W},P=L=>{const w=N(L);let X;return w.prev===null&&w.next===null?X=0:w.prev===null?X=i(i.domain()[0]):X=(i(L.x)+i(w.prev))/2,X}}l=o?0:P,c=o?P:0,f=o?a.width:S,g=o?S:a.height}const{eventReceiver:v}=a,m=(S,P)=>ve(S)?S(P):S;v.coords.splice(v.data.length),v.data.forEach((S,P)=>{v.coords[P]={x:m(l,S),y:m(c,S),w:m(f,S),h:m(g,S)}})},selectRectForSingle(t,e){var n,a;const i=this,{config:o,$el:{main:s,circle:l}}=i,c=o.data_selection_enabled,f=o.data_selection_grouped,g=o.data_selection_isselectable,v=o.tooltip_grouped,m=i.getAllValuesOnIndex(e);if(v&&(i.showTooltip(m,t),(n=i.showGridFocus)==null||n.call(i,m),!c||f))return;!l&&s.selectAll(`.${Se.EXPANDED}:not(.${sn.shape}-${e})`).classed(Se.EXPANDED,!1);const S=s.selectAll(`.${sn.shape}-${e}`).classed(Se.EXPANDED,!0).style("cursor",g?"pointer":null).filter(function(P){return i.isWithinShape(this,P)});S.empty()&&!v&&o.interaction_onout&&((a=i.hideGridFocus)==null||a.call(i),i.hideTooltip(),!f&&i.setExpand(e)),S.call(P=>{var N,L;const w=P.data();c&&(f||g!=null&&g.bind(i.api)(w))&&(t.style.cursor="pointer"),v||(i.showTooltip(w,t),(N=i.showGridFocus)==null||N.call(i,w),(L=i.unexpandCircles)==null||L.call(i),P.each(X=>i.setExpand(e,X.id)))})},selectRectForMultipleXs(t,e=!0){const n=this,{config:a,state:i}=n,o=n.filterTargetsToShow(n.data.targets);if(i.dragging||n.hasArcType(o))return;const s=Hn(i.event,t),l=n.findClosestFromTargets(o,s);if(e&&i.mouseover&&(!l||l.id!==i.mouseover.id)&&(a.data_onout.call(n.api,i.mouseover),i.mouseover=void 0),!l){n.unselectRect();return}const f=(n.isBubbleType(l)||n.isScatterType(l)||!a.tooltip_grouped?[l]:n.filterByX(o,l.x)).map(v=>n.addName(v));n.showTooltip(f,t),n.setExpand(l.index,l.id,!0),n.showGridFocus(f);const g=n.dist(l,s);(n.isBarType(l.id)||g{const c=l?e.getDataIndexFromEvent(l):i.currentIdx;return c>-1?i.data[c]:null};o.on("mouseover",l=>{a.event=l,e.updateEventRect(),Object.values(e.$el.axisTooltip).forEach(c=>c==null?void 0:c.style("display",null))}).on("mousemove",function(l){const c=s(l);if(a.event=l,!c)return;let{index:f}=c;const g=n.line_step_type;if(n.line_step_tooltipMatch&&e.hasType("step")&&/^step\-(before|after)$/.test(g)){const m=e.scale.zoom||e.scale.x,S=e.axis.xs[f],P=m.invert(Hn(l,this)[0]);g==="step-after"&&PS&&(f+=1)}e.showAxisGridFocus();const v=n.tooltip_grouped&&f===i.currentIdx;if(a.dragging||a.flowing||e.hasArcType()||v){n.tooltip_show&&v&&e.setTooltipPosition();return}f!==i.currentIdx&&(e.setOverOut(!1,i.currentIdx),i.currentIdx=f),f===-1?e.unselectRect():e.selectRectForSingle(this,f),e.setOverOut(f!==-1,f)}).on("mouseout",l=>{a.event=l,!(!n||e.hasArcType()||i.currentIdx===-1||!n.interaction_onout)&&(e.hideAxisGridFocus(),e.unselectRect(),e.setOverOut(!1,i.currentIdx),i.currentIdx=-1)})}return o},clickHandlerForSingleX(t,e){const n=e,{config:a,state:i,$el:{main:o}}=n;if(!t||n.hasArcType()||i.cancelClick){i.cancelClick&&(i.cancelClick=!1);return}const{index:s}=t;o.selectAll(`.${sn.shape}-${s}`).each(function(l){var c;(a.data_selection_grouped||n.isWithinShape(this,l))&&((c=n.toggleShape)==null||c.call(n,this,l,s),a.data_onclick.bind(n.api)(l,this))})},generateEventRectsForMultipleXs(t){const e=this,{config:n,state:a}=e;t.on("click",function(i){a.event=i,e.clickHandlerForMultipleXS.bind(this)(e)}).datum({multipleX:!0}),a.inputType==="mouse"&&t.on("mouseover mousemove",function(i){a.event=i,e.selectRectForMultipleXs(this)}).on("mouseout",i=>{a.event=i,!(!e.config||e.hasArcType()||!n.interaction_onout)&&e.unselectRect()})},clickHandlerForMultipleXS(t){const e=t,{config:n,state:a}=e,i=e.filterTargetsToShow(e.data.targets);if(e.hasArcType(i))return;const o=Hn(a.event,this),s=e.findClosestFromTargets(i,o),l=e.getPointSensitivity(s);s&&(e.isBarType(s.id)||e.dist(s,o)+t;var Dy={generateFlow(t){const e=this,{data:n,state:a,$el:i}=e;return function(){const o=t.flow.length;a.flowing=!0,n.targets.forEach(l=>{l.values.splice(0,o)}),e.updateXGrid&&e.updateXGrid(!0);const s={};["axis.x","grid.x","gridLines.x","region.list","text","bar","line","area","circle"].forEach(l=>{const c=l.split(".");let f=i[c[0]];f&&c.length>1&&(f=f[c[1]]),f!=null&&f.size()&&(s[l]=f)}),e.hideGridFocus(),e.setFlowList(s,t)}},setFlowList(t,e){const n=this,{flow:a,targets:i}=e,{duration:o=e.duration,index:s,length:l,orgDataCount:c}=a,f=n.getFlowTransform(i,c,s,l),g=ec();let v;g.add(Object.keys(t).map(m=>(v=t[m].transition().ease(My).duration(o),m==="axis.x"?v=v.call(S=>{n.axis.x.setTransition(S).create(S)}):m==="region.list"?v=v.filter(n.isRegionOnX).attr("transform",f):v=v.attr("transform",f),v))),v.call(g,()=>{n.cleanUpFlow(t,e)})},cleanUpFlow(t,e){const n=this,{config:a,state:i,$el:{svg:o}}=n,s=a.axis_rotated,{flow:l,shape:c,xv:f}=e,{cx:g,cy:v,xForText:m,yForText:S}=c.pos,{done:P=()=>{},length:N}=l;N&&(["circle","text","shape","eventRect"].forEach(L=>{const w=[];for(let X=0;X{const w=t[L];if(L!=="axis.x"&&w.attr("transform",null),L==="grid.x")w.attr(i.xgridAttr);else if(L==="gridLines.x")w.attr("x1",s?0:f).attr("x2",s?i.width:f),w.select("text").attr("x",s?i.width:0).attr("y",f);else if(/^(area|bar|line)$/.test(L))w.attr("d",c.type[L]);else if(L==="text")w.attr("x",m).attr("y",S).style("fill-opacity",n.opacityForText.bind(n));else if(L==="circle")if(n.isCirclePoint())w.attr("cx",g).attr("cy",v);else{const X=Y=>g(Y)-a.point_r,W=Y=>v(Y)-a.point_r;w.attr("x",X).attr("y",W)}else L==="region.list"&&w.select("rect").filter(n.isRegionOnX).attr("x",n.regionX.bind(n)).attr("width",n.regionWidth.bind(n))}),a.interaction_enabled&&n.redrawEventRect(),P.call(n.api),i.flowing=!1},getFlowTransform(t,e,n,a){const i=this,{data:o,scale:{x:s}}=i,l=o.targets[0].values;let c=i.getValueOnIndex(l,n),f=i.getValueOnIndex(l,n+a),g;const v=s.domain(),m=i.updateXDomain(t,!0,!0);e?e===1||(c==null?void 0:c.x)===(f==null?void 0:f.x)?g=s(v[0])-s(m[0]):g=i.axis.isTimeSeries()?s(v[0])-s(m[0]):s((c==null?void 0:c.x)||0)-s(f.x):l.length!==1?g=s(v[0])-s(m[0]):i.axis.isTimeSeries()?(c=i.getValueOnIndex(l,0),f=i.getValueOnIndex(l,l.length-1),g=s(c.x)-s(f.x)):g=Dr(m)/2;const S=Dr(v)/Dr(m);return`translate(${g},0) scale(${S},1)`}},Ly={initClip(){const t=this,{clip:e,datetimeId:n}=t.state;e.id=`${n}-clip`,e.idXAxis=`${e.id}-xaxis`,e.idYAxis=`${e.id}-yaxis`,e.idGrid=`${e.id}-grid`,e.path=t.getClipPath(e.id),e.pathXAxis=t.getClipPath(e.idXAxis),e.pathYAxis=t.getClipPath(e.idYAxis),e.pathGrid=t.getClipPath(e.idGrid)},getClipPath(t){const e=this,{config:n}=e;return!n.clipPath&&/-clip$/.test(t)||!n.axis_x_clipPath&&/-clip-xaxis$/.test(t)||!n.axis_y_clipPath&&/-clip-yaxis$/.test(t)?null:`url(#${t})`},appendClip(t,e){e&&t.append("clipPath").attr("id",e).append("rect")},setXAxisClipPath(t){const e=this,{config:n,state:{margin:a,width:i,height:o}}=e,s=n.axis_rotated,l=Math.max(30,a.left)-(s?0:20),c=(s?a.top+o+10:a.bottom)+20,f=s?-(1+l):-(l-1),g=-15,v=s?a.left+20:i+10+l;t.attr("x",f).attr("y",g).attr("width",v).attr("height",c)},setYAxisClipPath(t){const e=this,{config:n,state:{margin:a,width:i,height:o}}=e,s=n.axis_rotated,l=Math.max(30,a.left)-(s?20:0),c=n.axis_y_inner,f=c&&!s?n.axis_y_label.text?-20:-1:s?-(1+l):-(l-1),g=-(s?20:a.top),v=(s?i+15+l:a.left+20)+(c?20:0),m=(s?a.bottom+10:a.top+o)+10;t.attr("x",f).attr("y",g).attr("width",v).attr("height",m)},updateXAxisTickClip(){const t=this,{config:e,state:{clip:n,xAxisHeight:a},$el:{defs:i}}=t,o=t.getHorizontalAxisHeight("x");if(i&&!n.idXAxisTickTexts){const s=`${n.id}-xaxisticktexts`;t.appendClip(i,s),n.pathXAxisTickTexts=t.getClipPath(n.idXAxisTickTexts),n.idXAxisTickTexts=s}!e.axis_x_tick_multiline&&t.getAxisTickRotate("x")&&o!==a&&(t.setXAxisTickClipWidth(),t.setXAxisTickTextClipPathWidth()),t.state.xAxisHeight=o},setXAxisTickClipWidth(){const t=this,{config:e,state:{current:{maxTickSize:n}}}=t,a=t.getAxisTickRotate("x");if(!e.axis_x_tick_multiline&&a){const i=Math.sin(Math.PI/180*Math.abs(a));n.x.clipPath=(t.getHorizontalAxisHeight("x")-20)/i}else n.x.clipPath=null},setXAxisTickTextClipPathWidth(){const t=this,{state:{clip:e,current:n},$el:{svg:a}}=t;a&&a.select(`#${e.idXAxisTickTexts} rect`).attr("width",n.maxTickSize.x.clipPath).attr("height",30)}};const Ny=t=>De(t.position)||"end",Fy=t=>t.position==="start"?4:t.position==="middle"?0:-4;function Cu(t,e,n){return a=>{let i=t?0:e;return a.position==="start"?i=t?-n:0:a.position==="middle"&&(i=(t?-n:e)/2),i}}function Pu(t,e){e==="grid"&&t.each(function(){const n=ot(this);["x1","x2","y1","y2"].forEach(a=>n.attr(a,+n.attr(a)))})}var By={hasGrid(){const{config:t}=this;return["x","y"].some(e=>t[`grid_${e}_show`]||t[`grid_${e}_lines`].length)},initGrid(){const t=this;t.hasGrid()&&t.initGridLines(),t.initFocusGrid()},initGridLines(){const t=this,{config:e,state:{clip:n},$el:a}=t;(e.grid_x_lines.length||e.grid_y_lines.length)&&(a.gridLines.main=a.main.insert("g",`.${Se.chart}${e.grid_lines_front?" + *":""}`).attr("clip-path",n.pathGrid).attr("class",`${on.grid} ${on.gridLines}`),a.gridLines.main.append("g").attr("class",on.xgridLines),a.gridLines.main.append("g").attr("class",on.ygridLines),a.gridLines.x=Uc([]))},updateXGrid(t){const e=this,{config:n,scale:a,state:i,$el:{main:o,grid:s}}=e,l=n.axis_rotated,c=e.generateGridData(n.grid_x_type,a.x),f=e.axis.isCategorized()?e.axis.x.tickOffset():0,g=v=>(a.zoom||a.x)(v)+f*(l?-1:1);i.xgridAttr=l?{x1:0,x2:i.width,y1:g,y2:g}:{x1:g,x2:g,y1:0,y2:i.height},s.x=o.select(`.${on.xgrids}`).selectAll(`.${on.xgrid}`).data(c),s.x.exit().remove(),s.x=s.x.enter().append("line").attr("class",on.xgrid).merge(s.x),t||s.x.each(function(){const v=ot(this);Object.keys(i.xgridAttr).forEach(m=>{v.attr(m,i.xgridAttr[m]).style("opacity",()=>v.attr(l?"y1":"x1")===(l?i.height:0)?"0":null)})})},updateYGrid(){const t=this,{axis:e,config:n,scale:a,state:i,$el:{grid:o,main:s}}=t,l=n.axis_rotated,c=g=>a.y(g),f=e.y.getGeneratedTicks(n.grid_y_ticks)||t.scale.y.ticks(n.grid_y_ticks);o.y=s.select(`.${on.ygrids}`).selectAll(`.${on.ygrid}`).data(f),o.y.exit().remove(),o.y=o.y.enter().append("line").attr("class",on.ygrid).merge(o.y),o.y.attr("x1",l?c:0).attr("x2",l?c:i.width).attr("y1",l?0:c).attr("y2",l?i.height:c),Pu(o.y,"grid")},updateGrid(){const t=this,{$el:{grid:e,gridLines:n}}=t;!n.main&&t.initGridLines(),e.main.style("visibility",t.hasArcType()?"hidden":null),t.hideGridFocus(),t.updateGridLines("x"),t.updateGridLines("y")},updateGridLines(t){const e=this,{config:n,$el:{gridLines:a,main:i},$T:o}=e,s=n.axis_rotated,l=t==="x";n[`grid_${t}_show`]&&e[`update${t.toUpperCase()}Grid`]();let c=i.select(`.${on[`${t}gridLines`]}`).selectAll(`.${on[`${t}gridLine`]}`).data(n[`grid_${t}_lines`]);o(c.exit()).style("opacity","0").remove();const f=c.enter().append("g");f.append("line").style("opacity","0"),c=f.merge(c),c.each(function(g){const v=ot(this);v.select("text").empty()&&g.text&&v.append("text").style("opacity","0")}),o(c.attr("class",g=>`${on[`${t}gridLine`]} ${g.class||""}`.trim()).select("text").attr("text-anchor",Ny).attr("transform",()=>l?s?null:"rotate(-90)":s?"rotate(-90)":null).attr("dx",Fy).attr("dy",-5)).text(function(g){var v;return(v=g.text)!=null?v:this.remove()}),a[t]=c},redrawGrid(t){const e=this,{config:{axis_rotated:n},state:{width:a,height:i},$el:{gridLines:o},$T:s}=e,l=e.xv.bind(e),c=e.yv.bind(e);let f=o.x.select("line"),g=o.x.select("text"),v=o.y.select("line"),m=o.y.select("text");return f=s(f,t).attr("x1",n?0:l).attr("x2",n?a:l).attr("y1",n?l:0).attr("y2",n?l:i),g=s(g,t).attr("x",Cu(!n,a,i)).attr("y",l),v=s(v,t).attr("x1",n?c:0).attr("x2",n?c:a).attr("y1",n?0:c).attr("y2",n?i:c),m=s(m,t).attr("x",Cu(n,a,i)).attr("y",c),[f.style("opacity",null),g.style("opacity",null),v.style("opacity",null),m.style("opacity",null)]},initFocusGrid(){const t=this,{config:e,state:{clip:n},$el:a}=t,i=e.grid_front,o=`.${i&&a.gridLines.main?on.gridLines:Se.chart}${i?" + *":""}`,s=a.main.insert("g",o).attr("clip-path",n.pathGrid).attr("class",on.grid);if(a.grid.main=s,e.grid_x_show&&s.append("g").attr("class",on.xgrids),e.grid_y_show&&s.append("g").attr("class",on.ygrids),e.axis_tooltip){const l=s.append("g").attr("class","bb-axis-tooltip");l.append("line").attr("class","bb-axis-tooltip-x"),l.append("line").attr("class","bb-axis-tooltip-y")}e.interaction_enabled&&e.grid_focus_show&&!e.axis_tooltip&&(s.append("g").attr("class",qe.xgridFocus).append("line").attr("class",qe.xgridFocus),e.grid_focus_y&&!e.tooltip_grouped&&s.append("g").attr("class",qe.ygridFocus).append("line").attr("class",qe.ygridFocus))},showAxisGridFocus(){var t,e;const n=this,{config:a,format:i,state:{event:o,width:s,height:l}}=n,c=a.axis_rotated,[f,g]=Hn(o,(t=n.$el.eventRect)==null?void 0:t.node()),v={x:f,y:g};for(const[m,S]of Object.entries(n.$el.axisTooltip)){const P=m==="x"&&!c||m!=="x"&&c?"x":"y",N=v[P];let L=(e=n.scale[m])==null?void 0:e.invert(N);L&&(L=m==="x"&&n.axis.isTimeSeries()?i.xAxisTick(L):L==null?void 0:L.toFixed(2),S==null||S.attr(P,N).text(L))}n.$el.main.selectAll("line.bb-axis-tooltip-x, line.bb-axis-tooltip-y").style("visibility",null).each(function(m,S){const P=ot(this);S===0?P.attr("x1",f).attr("x2",f).attr("y1",S?0:l).attr("y2",S?l:0):P.attr("x1",S?0:s).attr("x2",S?s:0).attr("y1",g).attr("y2",g)})},hideAxisGridFocus(){const t=this;t.$el.main.selectAll("line.bb-axis-tooltip-x, line.bb-axis-tooltip-y").style("visibility","hidden"),Object.values(t.$el.axisTooltip).forEach(e=>e==null?void 0:e.style("display","none"))},showGridFocus(t){var e;const n=this,{config:a,state:{width:i,height:o}}=n,s=a.axis_rotated,l=n.$el.main.selectAll(`line.${qe.xgridFocus}, line.${qe.ygridFocus}`),c=(t||[l.datum()]).filter(v=>v&&De(n.getBaseValue(v)));if(!a.tooltip_show||c.length===0||!a.axis_x_forceAsSingle&&n.hasType("bubble")||n.hasArcType())return;const f=a.grid_focus_edge&&!a.tooltip_grouped,g=n.xx.bind(n);l.style("visibility",null).data(c.concat(c)).each(function(v){const m=ot(this),S={x:g(v),y:n.getYScaleById(v.id)(v.value)};let P;if(m.classed(qe.xgridFocus))P=s?[null,S.x,f?S.y:i,S.x]:[S.x,f?S.y:null,S.x,o];else{const N=n.axis.getId(v.id)==="y2";P=s?[S.y,f&&!N?S.x:null,S.y,f&&N?S.x:o]:[f&&N?S.x:null,S.y,f&&!N?S.x:i,S.y]}["x1","y1","x2","y2"].forEach((N,L)=>m.attr(N,P[L]))}),Pu(l,"grid"),(e=n.showCircleFocus)==null||e.call(n,t)},hideGridFocus(){var t;const e=this,{state:{inputType:n,resizing:a},$el:{main:i}}=e;(n==="mouse"||!a)&&(i.selectAll(`line.${qe.xgridFocus}, line.${qe.ygridFocus}`).style("visibility","hidden"),(t=e.hideCircleFocus)==null||t.call(e))},updateGridFocus(){var t;const e=this,{state:{inputType:n,width:a,height:i,resizing:o},$el:{grid:s}}=e,l=s.main.select(`line.${qe.xgridFocus}`);if(n==="touch")l.empty()?o&&((t=e.showCircleFocus)==null||t.call(e)):e.showGridFocus();else{const c=e.config.axis_rotated;l.attr("x1",c?0:-10).attr("x2",c?a:-10).attr("y1",c?-10:0).attr("y2",c?-10:i)}return!0},generateGridData(t,e){const n=this,a=n.$el.main.select(`.${dn.axisX}`).selectAll(".tick").size();let i=[];if(t==="year"){const o=n.getXDomain(),[s,l]=o.map(c=>c.getFullYear());for(let c=s;c<=l;c++)i.push(new Date(`${c}-01-01 00:00:00`))}else i=e.ticks(10),i.length>a&&(i=i.filter(o=>String(o).indexOf(".")<0));return i},getGridFilterToRemove(t){return t?e=>{let n=!1;return(ze(t)?t.concat():[t]).forEach(a=>{("value"in a&&e.value===a.value||"class"in a&&e.class===a.class)&&(n=!0)}),n}:()=>!0},removeGridLines(t,e){const n=this,{config:a,$T:i}=n,o=n.getGridFilterToRemove(t),s=g=>!o(g),l=e?on.xgridLines:on.ygridLines,c=e?on.xgridLine:on.ygridLine;i(n.$el.main.select(`.${l}`).selectAll(`.${c}`).filter(o)).style("opacity","0").remove();const f=`grid_${e?"x":"y"}_lines`;a[f]=a[f].filter(s)}},Uy={initRegion(){const t=this,{$el:e}=t;e.region.main=e.main.insert("g",":first-child").attr("clip-path",t.state.clip.path).attr("class",$a.regions)},updateRegion(){const t=this,{config:e,$el:{region:n},$T:a}=t;n.main||t.initRegion(),n.main.style("visibility",t.hasArcType()?"hidden":null);const i=n.main.selectAll(`.${$a.region}`).data(e.regions);a(i.exit()).style("opacity","0").remove();const o=i.enter().append("g");o.append("rect").style("fill-opacity","0"),n.list=o.merge(i).attr("class",t.classRegion.bind(t)),n.list.each(function(s){var l;ot(this).select("text").empty()&&((l=s.label)!=null&&l.text)&&ot(this).append("text").style("opacity","0")})},redrawRegion(t){const e=this,{$el:{region:n},$T:a}=e;let i=n.list.select("rect"),o=n.list.selectAll("text");return i=a(i,t).attr("x",e.regionX.bind(e)).attr("y",e.regionY.bind(e)).attr("width",e.regionWidth.bind(e)).attr("height",e.regionHeight.bind(e)),o=a(o,t).attr("transform",s=>{var l;const{x:c=0,y:f=0,rotated:g=!1}=(l=s.label)!=null?l:{};return`translate(${e.regionX.bind(e)(s)+c}, ${e.regionY.bind(e)(s)+f})${g?" rotate(-90)":""}`}).attr("text-anchor",s=>{var l;return(l=s.label)!=null&&l.rotated?"end":null}).attr("dy","1em").style("fill",s=>{var l,c;return(c=(l=s.label)==null?void 0:l.color)!=null?c:null}).text(s=>{var l;return(l=s.label)==null?void 0:l.text}),[i.style("fill-opacity",s=>De(s.opacity)?s.opacity:null).on("end",function(){ot(this.parentNode).selectAll("rect:not([x])").remove()}),o.style("opacity",null)]},getRegionXY(t,e){const n=this,{config:a,scale:i}=n,o=a.axis_rotated,s=t==="x";let l="start",c,f=0;return e.axis==="y"||e.axis==="y2"?(s||(l="end"),(s?o:!o)&&l in e&&(c=i[e.axis],f=c(e[l]))):(s?!o:o)&&l in e&&(c=i.zoom||i.x,f=c(n.axis.isTimeSeries()?zn.call(n,e[l]):e[l])),f},regionX(t){return this.getRegionXY("x",t)},regionY(t){return this.getRegionXY("y",t)},getRegionSize(t,e){const n=this,{config:a,scale:i,state:o}=n,s=a.axis_rotated,l=t==="width",c=n[l?"regionX":"regionY"](e);let f,g="end",v=o[t];return e.axis==="y"||e.axis==="y2"?(l||(g="start"),(l?s:!s)&&g in e&&(f=i[e.axis],v=f(e[g]))):(l?!s:s)&&g in e&&(f=i.zoom||i.x,v=f(n.axis.isTimeSeries()?zn.call(n,e[g]):e[g])),v0&&(!i.axis_x_tick_autorotate||a.needToRotateXAxisTickTexts());return(i.axis_x_tick_multiline||L)&&N.height>S&&(P+=N.height-S),P+(a.axis.getLabelPositionById(t).isInner?0:10)+(t==="y2"&&!f?-10:0)},getEventRectWidth(){const t=this,{config:e,axis:n}=t,a=e.axis_x_inverted,i=n.x.tickInterval();return Math.max(0,a?Math.abs(i):i)},getAxisTickRotate(t){const e=this,{axis:n,config:a,state:i,$el:o}=e;let s=a[`axis_${t}_tick_rotate`];if(t==="x"){const l=n.isCategorized()||n.isTimeSeries();if(a.axis_x_tick_fit&&l){const c=a.axis_x_tick_count,f=i.current.maxTickSize.x.ticks.length;let g=0;if(c?g=c>f?f:c:f&&(g=f),g!==i.axis.x.tickCount){const{targets:v}=e.data;i.axis.x.padding=e.getXDomainPadding([e.getXDomainMinMax(v,"min"),e.getXDomainMinMax(v,"max")],g)}i.axis.x.tickCount=g}o.svg&&a.axis_x_tick_autorotate&&a.axis_x_tick_fit&&!a.axis_x_tick_multiline&&!a.axis_x_tick_culling&&l&&(s=e.needToRotateXAxisTickTexts()?a.axis_x_tick_rotate:0)}return s},needToRotateXAxisTickTexts(){const t=this,{state:{axis:e,current:n,isLegendRight:a,legendItemWidth:i}}=t,o=a&&i,s=n.width-o-t.getCurrentPaddingByDirection("left")-t.getCurrentPaddingByDirection("right"),l=e.x.tickCount+e.x.padding.left+e.x.padding.right,{width:c}=t.axis.getMaxTickSize("x"),f=l?s/l:0;return c>f}},jy={axis_x_clipPath:!0,axis_x_show:!0,axis_x_forceAsSingle:!1,axis_x_type:"indexed",axis_x_localtime:!0,axis_x_categories:[],axis_x_tick_centered:!1,axis_x_tick_format:void 0,axis_x_tick_culling:{},axis_x_tick_culling_max:10,axis_x_tick_culling_lines:!0,axis_x_tick_count:void 0,axis_x_tick_show:!0,axis_x_tick_text_show:!0,axis_x_tick_text_inner:!1,axis_x_tick_text_position:{x:0,y:0},axis_x_tick_fit:!0,axis_x_tick_values:null,axis_x_tick_autorotate:!1,axis_x_tick_rotate:0,axis_x_tick_outer:!0,axis_x_tick_multiline:!0,axis_x_tick_width:null,axis_x_tick_tooltip:!1,axis_x_max:void 0,axis_x_min:void 0,axis_x_inverted:!1,axis_x_padding:{},axis_x_height:void 0,axis_x_extent:void 0,axis_x_label:{},axis_x_axes:[]},Gy={axis_y_clipPath:!0,axis_y_show:!0,axis_y_type:"indexed",axis_y_max:void 0,axis_y_min:void 0,axis_y_inverted:!1,axis_y_center:void 0,axis_y_inner:!1,axis_y_label:{},axis_y_tick_format:void 0,axis_y_tick_culling:!1,axis_y_tick_culling_max:5,axis_y_tick_culling_lines:!0,axis_y_tick_outer:!0,axis_y_tick_values:null,axis_y_tick_rotate:0,axis_y_tick_count:void 0,axis_y_tick_show:!0,axis_y_tick_stepSize:null,axis_y_tick_text_show:!0,axis_y_tick_text_position:{x:0,y:0},axis_y_tick_time_value:void 0,axis_y_padding:{},axis_y_default:void 0,axis_y_axes:[]},Vy={axis_y2_show:!1,axis_y2_type:"indexed",axis_y2_max:void 0,axis_y2_min:void 0,axis_y2_inverted:!1,axis_y2_center:void 0,axis_y2_inner:!1,axis_y2_label:{},axis_y2_tick_format:void 0,axis_y2_tick_culling:!1,axis_y2_tick_culling_max:5,axis_y2_tick_culling_lines:!0,axis_y2_tick_outer:!0,axis_y2_tick_values:null,axis_y2_tick_rotate:0,axis_y2_tick_count:void 0,axis_y2_tick_show:!0,axis_y2_tick_stepSize:null,axis_y2_tick_text_show:!0,axis_y2_tick_text_position:{x:0,y:0},axis_y2_padding:{},axis_y2_default:void 0,axis_y2_axes:[]},Xy=Object.defineProperty,wu=Object.getOwnPropertySymbols,Yy=Object.prototype.hasOwnProperty,Hy=Object.prototype.propertyIsEnumerable,Mu=(t,e,n)=>e in t?Xy(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ts=(t,e)=>{for(var n in e||(e={}))Yy.call(e,n)&&Mu(t,n,e[n]);if(wu)for(var n of wu(e))Hy.call(e,n)&&Mu(t,n,e[n]);return t},Wy=Ts(Ts(Ts({axis_evalTextSize:!0,axis_rotated:!1,axis_tooltip:!1},jy),Gy),Vy),Ky={grid_x_show:!1,grid_x_type:"tick",grid_x_lines:[],grid_y_show:!1,grid_y_lines:[],grid_y_ticks:void 0,grid_focus_edge:!1,grid_focus_show:!0,grid_focus_y:!1,grid_front:!1,grid_lines_front:!0},Zy={data_xs:{},data_xFormat:"%Y-%m-%d",data_xLocaltime:!0,data_xSort:!0,data_axes:{},data_regions:{},data_stack_normalize:!1};const Jy=[sy,ly,cy,uy,fy,dy,hy],Du={axis:Cy,clip:Ly,eventrect:wy,flow:Dy,grid:By,region:Uy,sizeAxis:zy},Lu={optDataAxis:Zy,optAxis:Wy,optGrid:Ky};var I1=Array.prototype.slice;function $s(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Le(t){return function(){return t}}function ky(t,e){return et?1:e>=t?0:NaN}function Qy(t){return t}function qy(){var t=Qy,e=ky,n=null,a=Le(0),i=Le(Ui),o=Le(0);function s(l){var c,f=(l=$s(l)).length,g,v,m=0,S=new Array(f),P=new Array(f),N=+a.apply(this,arguments),L=Math.min(Ui,Math.max(-Ui,i.apply(this,arguments)-N)),w,X=Math.min(Math.abs(L)/f,o.apply(this,arguments)),W=X*(L<0?-1:1),Y;for(c=0;c0&&(m+=Y);for(e!=null?S.sort(function(Q,K){return e(P[Q],P[K])}):n!=null&&S.sort(function(Q,K){return n(l[Q],l[K])}),c=0,v=m?(L-f*W)/m:0;c0?Y*v:0)+W,P[g]={data:l[g],index:c,value:Y,startAngle:N,endAngle:w,padAngle:X};return P}return s.value=function(l){return arguments.length?(t=typeof l=="function"?l:Le(+l),s):t},s.sortValues=function(l){return arguments.length?(e=l,n=null,s):e},s.sort=function(l){return arguments.length?(n=l,e=null,s):n},s.startAngle=function(l){return arguments.length?(a=typeof l=="function"?l:Le(+l),s):a},s.endAngle=function(l){return arguments.length?(i=typeof l=="function"?l:Le(+l),s):i},s.padAngle=function(l){return arguments.length?(o=typeof l=="function"?l:Le(+l),s):o},s}var _y=Math.pow;const Ss=Math.PI,As=2*Ss,Vr=1e-6,tx=As-Vr;function Nu(t){this._+=t[0];for(let e=1,n=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Nu;const n=_y(10,e);return function(a){this._+=a[0];for(let i=1,o=a.length;iVr)if(!(Math.abs(v*c-f*g)>Vr)||!o)this._append`L${this._x1=e},${this._y1=n}`;else{let S=a-s,P=i-l,N=c*c+f*f,L=S*S+P*P,w=Math.sqrt(N),X=Math.sqrt(m),W=o*Math.tan((Ss-Math.acos((N+m-L)/(2*w*X)))/2),Y=W/X,Q=W/w;Math.abs(Y-1)>Vr&&this._append`L${e+Y*g},${n+Y*v}`,this._append`A${o},${o},0,0,${+(v*S>g*P)},${this._x1=e+Q*c},${this._y1=n+Q*f}`}}arc(e,n,a,i,o,s){if(e=+e,n=+n,a=+a,s=!!s,a<0)throw new Error(`negative radius: ${a}`);let l=a*Math.cos(i),c=a*Math.sin(i),f=e+l,g=n+c,v=1^s,m=s?i-o:o-i;this._x1===null?this._append`M${f},${g}`:(Math.abs(this._x1-f)>Vr||Math.abs(this._y1-g)>Vr)&&this._append`L${f},${g}`,a&&(m<0&&(m=m%As+As),m>tx?this._append`A${a},${a},0,1,${v},${e-l},${n-c}A${a},${a},0,1,${v},${this._x1=f},${this._y1=g}`:m>Vr&&this._append`A${a},${a},0,${+(m>=Ss)},${v},${this._x1=e+a*Math.cos(o)},${this._y1=n+a*Math.sin(o)}`)}rect(e,n,a,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${a=+a}v${+i}h${-a}Z`}toString(){return this._}}function nx(){return new Hi}nx.prototype=Hi.prototype;function O1(t=3){return new Hi(+t)}function Es(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const a=Math.floor(n);if(!(a>=0))throw new RangeError(`invalid digits: ${n}`);e=a}return t},()=>new Hi(e)}function rx(t){return t.innerRadius}function ax(t){return t.outerRadius}function ix(t){return t.startAngle}function ox(t){return t.endAngle}function sx(t){return t&&t.padAngle}function lx(t,e,n,a,i,o,s,l){var c=n-t,f=a-e,g=s-i,v=l-o,m=v*c-g*f;if(!(m*mZ*Z+$t*$t&&(ht=ct,St=lt),{cx:ht,cy:St,x01:-g,y01:-v,x11:ht*(i/Q-1),y11:St*(i/Q-1)}}function Fu(){var t=rx,e=ax,n=Le(0),a=null,i=ix,o=ox,s=sx,l=null,c=Es(f);function f(){var g,v,m=+t.apply(this,arguments),S=+e.apply(this,arguments),P=i.apply(this,arguments)-Bi,N=o.apply(this,arguments)-Bi,L=Yc(N-P),w=N>P;if(l||(l=g=c()),Sbn))l.moveTo(0,0);else if(L>Ui-bn)l.moveTo(S*jr(P),S*rr(P)),l.arc(0,0,S,P,N,!w),m>bn&&(l.moveTo(m*jr(N),m*rr(N)),l.arc(0,0,m,N,P,w));else{var X=P,W=N,Y=P,Q=N,K=L,at=L,ht=s.apply(this,arguments)/2,St=ht>bn&&(a?+a.apply(this,arguments):oa(m*m+S*S)),ct=fs(Yc(S-m)/2,+n.apply(this,arguments)),lt=ct,Gt=ct,vt,Z;if(St>bn){var $t=Hc(St/m*rr(ht)),ut=Hc(St/S*rr(ht));(K-=$t*2)>bn?($t*=w?1:-1,Y+=$t,Q-=$t):(K=0,Y=Q=(P+N)/2),(at-=ut*2)>bn?(ut*=w?1:-1,X+=ut,W-=ut):(at=0,X=W=(P+N)/2)}var At=S*jr(X),Vt=S*rr(X),Bt=m*jr(Q),Kt=m*rr(Q);if(ct>bn){var ne=S*jr(W),le=S*rr(W),be=m*jr(Y),Oe=m*rr(Y),Ce;if(Lbn?Gt>bn?(vt=Wi(be,Oe,At,Vt,S,Gt,w),Z=Wi(ne,le,Bt,Kt,S,Gt,w),l.moveTo(vt.cx+vt.x01,vt.cy+vt.y01),Gtbn)||!(K>bn)?l.lineTo(Bt,Kt):lt>bn?(vt=Wi(Bt,Kt,ne,le,m,-lt,w),Z=Wi(At,Vt,be,Oe,m,-lt,w),l.lineTo(vt.cx+vt.x01,vt.cy+vt.y01),lte in t?cx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,gx=(t,e)=>{for(var n in e||(e={}))dx.call(e,n)&&Uu(t,n,e[n]);if(Bu)for(var n of Bu(e))hx.call(e,n)&&Uu(t,n,e[n]);return t},vx=(t,e)=>ux(t,fx(e));function zu(t=0){const e=this,{config:n,state:a}=e,i=e.hasMultiArcGauge(),o=a.gaugeArcWidth/e.filterTargetsToShow(e.data.targets).length,s=t?Math.min(a.radiusExpanded*t-a.radius,o*.8-(1-t)*100):0;return{inner(l){const{innerRadius:c}=e.getRadius(l);return i?a.radius-o*(l.index+1):he(c)?c:0},outer(l){const{outerRadius:c}=e.getRadius(l);let f;if(i)f=a.radius-o*l.index+s;else if(e.hasType("polar")&&!t)f=e.getPolarOuterRadius(l,c);else if(f=c,t){let{radiusExpanded:g}=a;a.radius!==c&&(g-=Math.abs(a.radius-c)),f=g*t}return f},corner(l,c){const{arc_cornerRadius_ratio:f=0,arc_cornerRadius:g=0}=n,{data:{id:v},value:m}=l;let S=0;return f?S=f*c:S=he(g)?g:g.call(e.api,v,m,c),S}}}function bs(t){return function(e){const n=({startAngle:i=0,endAngle:o=0,padAngle:s=0})=>({startAngle:i,endAngle:o,padAngle:s}),a=kr(n(this._current),n(e));return this._current=e,function(i){const o=a(i),{data:s,index:l,value:c}=e;return t(vx(gx({},o),{data:s,index:l,value:c}))}}}var px={initPie(){const t=this,{config:e}=t,n=e.data_type,a=e[`${n}_padding`],i=e[`${n}_startingAngle`]||0,o=(a?a*.01:e[`${n}_padAngle`])||0;t.pie=qy().startAngle(i).endAngle(i+2*Math.PI).padAngle(o).value(s=>{var l,c;return(c=(l=s.values)==null?void 0:l.reduce((f,g)=>f+g.value,0))!=null?c:s}).sort(t.getSortCompareFn.bind(t)(!0))},updateRadius(){const t=this,{config:e,state:n}=t,a=e.data_type,i=e[`${a}_padding`],o=e.gauge_width||e.donut_width,s=t.filterTargetsToShow(t.data.targets).length*e.gauge_arcs_minWidth;n.radiusExpanded=Math.min(n.arcWidth,n.arcHeight)/2*(t.hasMultiArcGauge()&&e.gauge_label_show?.85:1),n.radius=n.radiusExpanded*.95,n.innerRadiusRatio=o?(n.radius-o)/n.radius:.6,n.gaugeArcWidth=o||(s<=n.radius-n.innerRadius?n.radius-n.innerRadius:s<=n.radius?s:n.radius);const l=e.pie_innerRadius||(i?i*(n.innerRadiusRatio+.1):0);n.outerRadius=e.pie_outerRadius,n.innerRadius=t.hasType("donut")||t.hasType("gauge")?n.radius*n.innerRadiusRatio:l},getRadius(t){const e=this,n=t==null?void 0:t.data;let{innerRadius:a,outerRadius:i}=e.state;return!he(a)&&n&&(a=a[n.id]||0),Be(i)&&n&&n.id in i?i=i[n.id]:he(i)||(i=e.state.radius),{innerRadius:a,outerRadius:i}},updateArc(){const t=this;t.updateRadius(),t.svgArc=t.getSvgArc(),t.svgArcExpanded=t.getSvgArcExpanded()},getArcLength(){const t=this,{config:e}=t,n=e.gauge_arcLength*3.6;let a=2*(n/360);return n<-360?a=-2:n>360&&(a=2),a*Math.PI},getStartingAngle(){const t=this,{config:e}=t,n=e.data_type,a=t.hasType("gauge")?e.gauge_fullCircle:!1,i=-1*Math.PI/2,o=Math.PI/2;let s=e[`${n}_startingAngle`]||0;return!a&&s<=i?s=i:!a&&s>=o?s=o:(s>Math.PI||s<-1*Math.PI)&&(s=Math.PI),s},updateAngle(t,e=!1){var n;const a=this,{config:i,state:o}=a,s=e&&a.hasType("gauge");let{pie:l}=a,c=t,f=!1;if(!i)return null;const g=a.getStartingAngle(),v=i.gauge_fullCircle||e&&!s?a.getArcLength():g*-2;if(c.data&&a.isGaugeType(c.data)&&!a.hasMultiArcGauge()){const{gauge_min:m,gauge_max:S}=i,P=a.getTotalDataSum(o.rendered),N=v*((P-m)/(S-m));l=l.startAngle(g).endAngle(N+g)}if(e===!1&&l(a.filterTargetsToShow()).forEach((m,S)=>{var P;!f&&m.data.id===((P=c.data)==null?void 0:P.id)&&(f=!0,c=m,c.index=S)}),isNaN(c.startAngle)&&(c.startAngle=0),isNaN(c.endAngle)&&(c.endAngle=c.startAngle),e||c.data&&(i.gauge_enforceMinMax||a.hasMultiArcGauge())){const{gauge_min:m,gauge_max:S}=i,P=e&&!s?a.getTotalDataSum(o.rendered):S,N=v/(P-m),L=(n=c.value)!=null?n:0,w=L{const l=e.updateAngle(s),c=a(l);let f=0;return l&&(f=i(l,c)),l?o.cornerRadius(f)(l):"M 0 0"}},getArc(t,e,n){return n||this.isArcType(t.data)?this.svgArc(t,e):"M 0 0"},redrawArcRangeText(){const t=this,{config:e,$el:{arcs:n},state:a,$T:i}=t,o=e.arc_rangeText_format,s=t.hasType("gauge")&&e.arc_rangeText_fixed;let l=e.arc_rangeText_values;if(l!=null&&l.length){const c=e.arc_rangeText_unit==="%",f=t.getTotalDataSum(a.rendered);c&&(l=l.map(m=>f/100*m));const g=t.pie(l).map((m,S)=>(m.index=S,m));let v=n.selectAll(`.${je.arcRange}`).data(l);v.exit(),v=i(v.enter().append("text").attr("class",je.arcRange).style("text-anchor","middle").style("pointer-events","none").style("opacity","0").text(m=>{const S=c?m/f*100:m;return ve(o)?o(S):`${S}${c?"%":""}`}).merge(v)),(!a.rendered||a.rendered&&!s)&&f>0&&v.attr("transform",(m,S)=>t.transformForArcLabel(g[S],!0)),v.style("opacity",m=>!s&&(m>f||f===0)?"0":null)}},transformForArcLabel(t,e=!1){var n,a,i;const o=this,{config:s,state:{radiusExpanded:l}}=o,c=o.updateAngle(t,e);let f="";if(c){if(e||o.hasMultiArcGauge()){const g=Math.sin(c.endAngle-Math.PI/2),v=s.arc_rangeText_position;let m=Math.cos(c.endAngle-Math.PI/2)*(l+(e?5:25)),S=g*(l+15-Math.abs(g*10))+3;if(e&&v){const P=s.arc_rangeText_values,N=ve(v)?v(P[t.index]):v;m+=(n=N==null?void 0:N.x)!=null?n:0,S+=(a=N==null?void 0:N.y)!=null?a:0}f=`translate(${m},${S})`}else if(!o.hasType("gauge")||o.data.targets.length>1){let{outerRadius:g}=o.getRadius(t);o.hasType("polar")&&(g=o.getPolarOuterRadius(t,g));const v=this.svgArc.centroid(c),[m,S]=v.map(L=>isNaN(L)?0:L),P=Math.sqrt(m*m+S*S);let N=(i=["donut","gauge","pie","polar"].filter(o.hasType.bind(o)).map(L=>s[`${L}_label_ratio`]))==null?void 0:i[0];N?N=ve(N)?N.bind(o.api)(t,g,P):N:N=g&&(P?(36/g>.375?1.175-36/g:.8)*g/P:0),f=`translate(${m*N},${S*N})`}}return f},convertToArcData(t){return this.addName({id:"data"in t?t.data.id:t.id,value:t.value,ratio:this.getRatio("arc",t),index:t.index})},textForArcLabel(t){const e=this,n=e.hasType("gauge");e.shouldShowArcLabel()&&t.style("fill",e.updateTextColor.bind(e)).attr("filter",a=>e.updateTextBGColor.bind(e)(a,e.config.data_labels_backgroundColors)).each(function(a){var i;const o=ot(this),s=e.updateAngle(a),l=e.getRatio("arc",s);if(e.meetsLabelThreshold(l,(i=["donut","gauge","pie","polar"].filter(e.hasType.bind(e)))==null?void 0:i[0])){const{value:f}=s||a,g=(e.getArcLabelFormat()||e.defaultArcValueFormat)(f,l,a.data.id).toString();wa(o,g,[-1,1],n)}else o.text("")})},expandArc(t){const e=this,{state:{transiting:n},$el:a}=e;if(n){const o=setInterval(()=>{n||(clearInterval(o),a.legend.selectAll(`.${qe.legendItemFocused}`).size()>0&&e.expandArc(t))},10);return}const i=e.mapToTargetIds(t);a.svg.selectAll(e.selectorTargets(i,`.${je.chartArc}`)).each(function(o){if(!e.shouldExpand(o.data.id))return;const s=e.getExpandConfig(o.data.id,"duration"),l=e.getSvgArcExpanded(e.getExpandConfig(o.data.id,"rate"));ot(this).selectAll("path").transition().duration(s).attrTween("d",bs(e.svgArcExpanded.bind(e))).transition().duration(s*2).attrTween("d",bs(l.bind(e)))})},unexpandArc(t){const e=this,{state:{transiting:n},$el:{svg:a}}=e;if(n)return;const i=e.mapToTargetIds(t);a.selectAll(e.selectorTargets(i,`.${je.chartArc}`)).selectAll("path").transition().duration(o=>e.getExpandConfig(o.data.id,"duration")).attrTween("d",bs(e.svgArc.bind(e))),a.selectAll(`${je.arc}`).style("opacity",null)},getExpandConfig(t,e){const n=this,{config:a}=n,i={duration:50,rate:.98};let o;return n.isDonutType(t)?o="donut":n.isGaugeType(t)?o="gauge":n.isPieType(t)&&(o="pie"),o?a[`${o}_expand_${e}`]:i[e]},shouldExpand(t){const e=this,{config:n}=e;return e.isDonutType(t)&&n.donut_expand||e.isGaugeType(t)&&n.gauge_expand||e.isPieType(t)&&n.pie_expand},shouldShowArcLabel(){const t=this,{config:e}=t;return["donut","gauge","pie","polar"].some(n=>t.hasType(n)&&e[`${n}_label_show`])},getArcLabelFormat(){const t=this,{config:e}=t;let n=a=>a;return["donut","gauge","pie","polar"].filter(t.hasType.bind(t)).forEach(a=>{n=e[`${a}_label_format`]}),ve(n)?n.bind(t.api):n},updateTargetsForArc(t){const e=this,{$el:n}=e,a=e.hasType("gauge"),i=e.getChartClass("Arc"),o=e.getClass("arcs",!0),s=e.classFocus.bind(e),l=n.main.select(`.${je.chartArcs}`),c=l.selectAll(`.${je.chartArc}`).data(e.pie(t)).attr("class",g=>i(g)+s(g.data)),f=c.enter().append("g").attr("class",i).call(this.setCssRule(!1,`.${je.chartArcs} text`,["pointer-events:none","text-anchor:middle"]));f.append("g").attr("class",o).merge(c),f.append("text").attr("dy",a&&!e.hasMultiTargets()?"-.1em":".35em").style("opacity","0").style("text-anchor",e.getStylePropValue("middle")).style("pointer-events",e.getStylePropValue("none")),n.text=l.selectAll(`.${Se.target} text`)},initArc(){const t=this,{$el:e}=t;e.arcs=e.main.select(`.${Se.chart}`).append("g").attr("class",je.chartArcs).attr("transform",t.getTranslate("arc")),t.setArcTitle()},setArcTitle(t){const e=this,n=t||e.getArcTitle(),a=e.hasType("gauge");if(n){const i=a?Un.chartArcsGaugeTitle:je.chartArcsTitle;let o=e.$el.arcs.select(`.${i}`);o.empty()&&(o=e.$el.arcs.append("text").attr("class",i).style("text-anchor","middle")),a&&o.attr("dy","-0.3em"),wa(o,n,a?void 0:[-.6,1.35],!0)}},getArcTitle(){const t=this,e=t.hasType("donut")&&"donut"||t.hasType("gauge")&&"gauge";return e?t.config[`${e}_title`]:""},getArcTitleWithNeedleValue(){const t=this,{config:e,state:n}=t,a=t.getArcTitle();if(a&&t.config.arc_needle_show&&/{=[A-Z_]+}/.test(a)){let i=n.current.needle;return he(i)||(i=e.arc_needle_value),Ei(a,{NEEDLE_VALUE:he(i)?i:0})}return!1},redrawArc(t,e,n){const a=this,{config:i,state:o,$el:{main:s}}=a,l=i.interaction_enabled,c=l&&i.data_selection_isselectable;let f=s.selectAll(`.${je.arcs}`).selectAll(`.${je.arc}`).data(a.arcData.bind(a));f.exit().transition().duration(e).style("opacity","0").remove(),f=f.enter().append("path").attr("class",a.getClass("arc",!0)).style("fill",g=>a.color(g.data)).style("cursor",g=>{var v;return(v=c==null?void 0:c.bind)!=null&&v.call(c,a.api)(g)?"pointer":null}).style("opacity","0").each(function(g){a.isGaugeType(g.data)&&(g.startAngle=i.gauge_startingAngle,g.endAngle=i.gauge_startingAngle),this._current=g}).merge(f),a.hasType("gauge")&&(a.updateGaugeMax(),a.hasMultiArcGauge()&&a.redrawArcGaugeLine()),f.attr("transform",g=>!a.isGaugeType(g.data)&&n?"scale(0)":"").style("opacity",function(g){return g===this._current?"0":null}).each(()=>{o.transiting=!0}).transition().duration(t).attrTween("d",function(g){const v=a.updateAngle(g);if(!v)return()=>"M 0 0";isNaN(this._current.startAngle)&&(this._current.startAngle=0),isNaN(this._current.endAngle)&&(this._current.endAngle=this._current.startAngle);const m=kr(this._current,v);return this._current=m(0),function(S){const P=m(S);return P.data=g.data,a.getArc(P,!0)}}).attr("transform",n?"scale(1)":"").style("fill",g=>{let v;return a.levelColor?(v=a.levelColor(g.data.values[0].value),i.data_colors[g.data.id]=v):v=a.color(g.data),v}).style("opacity",null).call($i,function(){if(a.levelColor){const g=ot(this),v=g.datum(this._current);a.updateLegendItemColor(v.data.id,g.style("fill"))}o.transiting=!1,_e(i.onrendered,a.api)}),l&&a.bindArcEvent(f),a.hasType("polar")&&a.redrawPolar(),a.hasType("gauge")&&a.redrawBackgroundArcs(),i.arc_needle_show&&a.redrawNeedle(),a.redrawArcText(t),a.redrawArcRangeText()},redrawNeedle(){const t=this,{$el:e,config:n,state:{hiddenTargetIds:a,radius:i}}=t,o=(i-1)/100*n.arc_needle_length,s=a.length!==t.data.targets.length;let l=t.$el.arcs.select(`.${je.needle}`);const c=n.arc_needle_path,f=n.arc_needle_bottom_width/2,g=n.arc_needle_top_width/2,v=n.arc_needle_top_rx,m=n.arc_needle_top_ry,S=n.arc_needle_bottom_len,P=n.arc_needle_bottom_rx,N=n.arc_needle_bottom_ry,L=t.getNeedleAngle(),w=()=>{const X=t.getArcTitleWithNeedleValue();X&&t.setArcTitle(X)};if(w(),l.empty()&&(l=e.arcs.append("path").classed(je.needle,!0),e.needle=l,e.needle.updateHelper=(X,W=!1)=>{e.needle.style("display")!=="none"&&t.$T(e.needle).style("transform",`rotate(${t.getNeedleAngle(X)}deg)`).call($i,()=>{W&&(n.arc_needle_value=X),w()})}),s){const X=ve(c)?c.call(t,o):`M-${f} ${S} A${P} ${N} 0 0 0 ${f} ${S} L${g} -${o} A${v} ${m} 0 0 0 -${g} -${o} L-${f} ${S} Z`;t.$T(l).attr("d",X).style("fill",n.arc_needle_color).style("display",null).style("transform",`rotate(${L}deg)`)}else l.style("display","none")},getNeedleAngle(t){const e=this,{config:n,state:a}=e,i=e.getArcLength(),o=e.hasType("gauge"),s=e.getTotalDataSum(!0);let l=ke(t)?t:n.arc_needle_value,c=n[`${n.data_type}_startingAngle`]||0,f=0;if(he(l)||(l=o&&e.data.targets.length===1?s:0),a.current.needle=l,o){c=e.getStartingAngle();const g=n.gauge_fullCircle?i:c*-2,{gauge_min:v,gauge_max:m}=n;f=g*((l-v)/(m-v))}else f=i*(l/s);return(c+f)*(180/Math.PI)},redrawBackgroundArcs(){const t=this,{config:e,state:n}=t,a=t.hasMultiArcGauge(),i=e.gauge_fullCircle,o=t.filterTargetsToShow(t.data.targets).length===0&&!!e.data_empty_label_text,s=t.getStartingAngle(),l=i?s+t.getArcLength():s*-1;let c=t.$el.arcs.select(`${a?"g":""}.${je.chartArcsBackground}`);if(a){let f=0;c=c.selectAll(`path.${je.chartArcsBackground}`).data(t.data.targets),c.enter().append("path").attr("class",(g,v)=>`${je.chartArcsBackground} ${je.chartArcsBackground}-${v}`).merge(c).style("fill",e.gauge_background||null).attr("d",({id:g})=>{if(o||n.hiddenTargetIds.indexOf(g)>=0)return"M 0 0";const v={data:[{value:e.gauge_max}],startAngle:s,endAngle:l,index:f++};return t.getArc(v,!0,!0)}),c.exit().remove()}else c.attr("d",o?"M 0 0":()=>{const f={data:[{value:e.gauge_max}],startAngle:s,endAngle:l};return t.getArc(f,!0,!0)})},bindArcEvent(t){const e=this,{config:n,state:a}=e,i=a.inputType==="touch",o=a.inputType==="mouse";function s(c,f,g){e.expandArc(g),e.api.focus(g),e.toggleFocusLegend(g,!0),e.showTooltip([f],c)}function l(c){const f=(c==null?void 0:c.id)||void 0;e.unexpandArc(f),e.api.revert(),e.revertLegend(),e.hideTooltip()}if(t.on("click",function(c,f,g){var v;const m=e.updateAngle(f);let S;m&&(S=e.convertToArcData(m),(v=e.toggleShape)==null||v.call(e,this,S,g),n.data_onclick.bind(e.api)(S,this))}),o&&t.on("mouseover",function(c,f){if(a.transiting)return;a.event=c;const g=e.updateAngle(f),v=g?e.convertToArcData(g):null,m=(v==null?void 0:v.id)||void 0;s(this,v,m),e.setOverOut(!0,v)}).on("mouseout",(c,f)=>{if(a.transiting||!n.interaction_onout)return;a.event=c;const g=e.updateAngle(f),v=g?e.convertToArcData(g):null;l(),e.setOverOut(!1,v)}).on("mousemove",function(c,f){const g=e.updateAngle(f),v=g?e.convertToArcData(g):null;a.event=c,e.showTooltip([v],this)}),i&&e.hasArcType()&&!e.radars){const c=f=>{var g,v;const{clientX:m,clientY:S}=(v=(g=f.changedTouches)==null?void 0:g[0])!=null?v:{clientX:0,clientY:0};return ot(vn.elementFromPoint(m,S))};e.$el.svg.on("touchstart touchmove",function(f){if(a.transiting)return;a.event=f;const v=c(f).datum(),m=v!=null&&v.data&&v.data.id?e.updateAngle(v):null,S=m?e.convertToArcData(m):null,P=(S==null?void 0:S.id)||void 0;e.callOverOutForTouch(S),ln(P)?l():s(this,S,P)})}},redrawArcText(t){const e=this,{config:n,state:a,$el:{main:i,arcs:o}}=e,s=e.hasType("gauge"),l=e.hasMultiArcGauge();let c;if(s&&e.data.targets.length===1&&n.gauge_title||(c=i.selectAll(`.${je.chartArc}`).select("text").style("opacity","0").attr("class",f=>e.isGaugeType(f.data)?Un.gaugeValue:null).call(e.textForArcLabel.bind(e)).attr("transform",f=>e.transformForArcLabel.bind(e)(f)).style("font-size",f=>e.isGaugeType(f.data)&&e.data.targets.length===1&&!l?`${Math.round(a.radius/5)}px`:null).transition().duration(t).style("opacity",f=>e.isTargetToShow(f.data.id)&&e.isArcType(f.data)?null:"0"),l&&c.attr("dy","-.1em")),i.select(`.${je.chartArcsTitle}`).style("opacity",e.hasType("donut")||s?null:"0"),s){const f=n.gauge_fullCircle;f&&(c==null||c.attr("dy",`${l?0:Math.round(a.radius/14)}`)),n.gauge_label_show&&(o.select(`.${Un.chartArcsGaugeUnit}`).attr("dy",`${f?1.5:.75}em`).text(n.gauge_units),o.select(`.${Un.chartArcsGaugeMin}`).attr("dx",`${-1*(a.innerRadius+(a.radius-a.innerRadius)/(f?1:2))}px`).attr("dy","1.2em").text(e.textForGaugeMinMax(n.gauge_min,!1)),!f&&o.select(`.${Un.chartArcsGaugeMax}`).attr("dx",`${a.innerRadius+(a.radius-a.innerRadius)/2}px`).attr("dy","1.2em").text(e.textForGaugeMinMax(n.gauge_max,!0)))}},getArcElementByIdOrIndex(t){const e=this,{$el:{arcs:n}}=e,a=he(t)?i=>i.index===t:i=>i.data.id===t;return n==null?void 0:n.selectAll(`.${Se.target} path`).filter(a)}};function ju(t){return t[0]}function Gu(t){return t[1]}function Vu(t,e){var n=Le(!0),a=null,i=gs,o=null,s=Es(l);t=typeof t=="function"?t:t===void 0?ju:Le(t),e=typeof e=="function"?e:e===void 0?Gu:Le(e);function l(c){var f,g=(c=$s(c)).length,v,m=!1,S;for(a==null&&(o=i(S=s())),f=0;f<=g;++f)!(f=S;--P)l.point(W[P],Y[P]);l.lineEnd(),l.areaEnd()}w&&(W[m]=+t(L,m,v),Y[m]=+e(L,m,v),l.point(a?+a(L,m,v):W[m],n?+n(L,m,v):Y[m]))}if(X)return l=null,X+""||null}function g(){return Vu().defined(i).curve(s).context(o)}return f.x=function(v){return arguments.length?(t=typeof v=="function"?v:Le(+v),a=null,f):t},f.x0=function(v){return arguments.length?(t=typeof v=="function"?v:Le(+v),f):t},f.x1=function(v){return arguments.length?(a=v==null?null:typeof v=="function"?v:Le(+v),f):a},f.y=function(v){return arguments.length?(e=typeof v=="function"?v:Le(+v),n=null,f):e},f.y0=function(v){return arguments.length?(e=typeof v=="function"?v:Le(+v),f):e},f.y1=function(v){return arguments.length?(n=v==null?null:typeof v=="function"?v:Le(+v),f):n},f.lineX0=f.lineY0=function(){return g().x(t).y(e)},f.lineY1=function(){return g().x(t).y(n)},f.lineX1=function(){return g().x(a).y(e)},f.defined=function(v){return arguments.length?(i=typeof v=="function"?v:Le(!!v),f):i},f.curve=function(v){return arguments.length?(s=v,o!=null&&(l=s(o)),f):s},f.context=function(v){return arguments.length?(v==null?o=l=null:l=s(o=v),f):o},f}var sa={initArea(t){const e=this,{config:n}=e;t.insert("g",`.${n.area_front?$n.circles:ur.lines}`).attr("class",e.getClass("areas",!0))},updateAreaColor(t){const e=this;return e.config.area_linearGradient?e.getGradienColortUrl(t.id):e.color(t)},updateArea(t,e=!1){const n=this,{config:a,state:i,$el:o,$T:s}=n,l=e?o.subchart:o;a.area_linearGradient&&n.updateLinearGradient();const c=l.main.selectAll(`.${_a.areas}`).selectAll(`.${_a.area}`).data(n.lineData.bind(n));s(c.exit(),t).style("opacity","0").remove(),l.area=c.enter().append("path").attr("class",n.getClass("area",!0)).style("fill",n.updateAreaColor.bind(n)).style("opacity",function(){return i.orgAreaOpacity=ot(this).style("opacity"),"0"}).merge(c),c.style("opacity",i.orgAreaOpacity),n.setRatioForGroupedData(l.area.data())},redrawArea(t,e,n=!1){const a=this,{area:i}=n?this.$el.subchart:this.$el,{orgAreaOpacity:o}=a.state;return[a.$T(i,e,gr()).attr("d",t).style("fill",a.updateAreaColor.bind(a)).style("opacity",s=>String(a.isAreaRangeType(s)?o/1.75:o))]},generateDrawArea(t,e){const n=this,{config:a}=n,i=a.line_connectNull,o=a.axis_rotated,s=n.generateGetAreaPoints(t,e),l=n.getYScaleById.bind(n),c=v=>(e?n.subxx:n.xx).call(n,v),f=(v,m)=>n.isGrouped(v.id)?s(v,m)[0][1]:l(v.id,e)(n.isAreaRangeType(v)?n.getRangedData(v,"high"):n.getShapeYMin(v.id)),g=(v,m)=>n.isGrouped(v.id)?s(v,m)[1][1]:l(v.id,e)(n.isAreaRangeType(v)?n.getRangedData(v,"low"):v.value);return v=>{let m=i?n.filterRemoveNull(v.values):v.values,S=0,P=0,N;if(n.isAreaType(v)){let L=mx();L=o?L.y(c).x0(f).x1(g):L.x(c).y0(a.area_above?0:a.area_below?n.state.height:f).y1(g),i||(L=L.defined(w=>n.getBaseValue(w)!==null)),n.isStepType(v)&&(m=n.convertValuesToStep(m)),N=L.curve(n.getCurve(v))(m)}else m[0]&&(S=n.scale.x(m[0].x),P=n.getYScaleById(v.id)(m[0].value)),N=o?`M ${P} ${S}`:`M ${S} ${P}`;return N||"M 0 0"}},generateGetAreaPoints(t,e){const n=this,{config:a}=n,i=n.getShapeX(0,t,e),o=n.getShapeY(!!e),s=n.getShapeOffset(n.isAreaType,t,e),l=n.getYScaleById.bind(n);return function(c,f){const g=l.call(n,c.id,e)(n.getShapeYMin(c.id)),v=s(c,f)||g,m=i(c),S=c.value;let P=o(c);return a.axis_rotated&&(S>0&&Pg.values.some(v=>he(v.value)||e.isBarRangeType(v)))).attr("class",g=>i(g)+s(g)).enter().append("g").attr("class",i).style("opacity","0").style("pointer-events",e.getStylePropValue("none")).append("g").attr("class",o).style("cursor",g=>{var v;return(v=l==null?void 0:l.bind)!=null&&v.call(l,e.api)(g)?"pointer":null}).call(e.setCssRule(!0,` .${Kn.bar}`,["fill"],e.color))},updateBar(t,e=!1){const n=this,{config:a,$el:i,$T:o}=n,s=e?i.subchart:i,l=n.getClass("bar",!0),c=n.initialOpacity.bind(n);a.bar_linearGradient&&n.updateLinearGradient();const f=s.main.selectAll(`.${Kn.bars}`).selectAll(`.${Kn.bar}`).data(n.labelishData.bind(n));o(f.exit(),t).style("opacity","0").remove(),s.bar=f.enter().append("path").attr("class",l).style("fill",n.updateBarColor.bind(n)).merge(f).style("opacity",c),n.setRatioForGroupedData(s.bar.data())},updateBarColor(t){const e=this,n=e.getStylePropValue(e.color);return e.config.bar_linearGradient?e.getGradienColortUrl(t.id):n?n(t):null},redrawBar(t,e,n=!1){const a=this,{bar:i}=n?a.$el.subchart:a.$el;return[a.$T(i,e,gr()).attr("d",o=>(he(o.value)||a.isBarRangeType(o))&&t(o)).style("fill",a.updateBarColor.bind(a)).style("clip-path",o=>o.clipPath).style("opacity",null)]},generateDrawBar(t,e){const n=this,{config:a}=n,i=n.generateGetBarPoints(t,e),o=a.axis_rotated,s=a.bar_radius,l=a.bar_radius_ratio,c=he(s)&&s>0?()=>s:he(l)?f=>f*l:null;return(f,g)=>{const v=i(f,g),m=+o,S=+!m,P=f.value<0,N=a[`axis_${n.axis.getId(f.id)}_inverted`],L=!N&&P||N&&!P,w=["",""],X=n.isGrouped(f.id),W=c&&X?n.isStackingRadiusData(f):!1,Y=[v[0][m],v[0][S]];let Q=0;if(f.clipPath=null,c){const ht=o?S:m,St=v[2][ht]-v[0][ht];Q=!X||W?c(St):0;const ct=`a${Q} ${Q} ${L?"1 0 0":"0 0 1"} `;w[+!o]=`${ct}${Q},${Q}`,w[+o]=`${ct}${[-Q,Q][o?"sort":"reverse"]()}`,L&&w.reverse()}const K=o?v[1][m]+(L?Q:-Q):v[1][S]+(L?-Q:Q);if(Q){let ht="";o?L&&Y[0]K&&(ht=`0 0 0 ${Y[0]-K}px`):L&&Y[1]>K?ht=`${Y[1]-K}px 0 0 0`:!L&&Y[1]-1){const m=n.bar.filter(S=>S.id===s&&S.value===c);return!m.empty()&&/a\d+/i.test(m.attr("d"))}const f=a.data_groups.find(m=>m.indexOf(s)>-1),v=e.orderTargets(e.filterTargetsToShow(i.targets.filter(e.isBarType,e))).filter(m=>f.indexOf(m.id)>-1).map(m=>m.values.filter(S=>S.index===l&&(he(c)&&c>0?S.value>0:S.value<0))[0]).filter(Boolean).map(m=>m.id);return c!==0&&v.indexOf(s)===v.length-1},generateGetBarPoints(t,e){const n=this,{config:a}=n,i=e?n.axis.subX:n.axis.x,o=n.getIndicesMax(t)+1,s=n.getBarW("bar",i,o),l=n.getShapeX(s,t,!!e),c=n.getShapeY(!!e),f=n.getShapeOffset(n.isBarType,t,!!e),g=n.getYScaleById.bind(n);return(v,m)=>{const{id:S}=v,P=g.call(n,S,e)(n.getShapeYMin(S)),N=f(v,m)||P,L=he(s)?s:s[v.id]||s._$width,w=a[`axis_${n.axis.getId(S)}_inverted`],X=v.value,W=l(v);let Y=c(v);a.axis_rotated&&!w&&(X>0&&Ye.isBubbleZType(s)?e.getBubbleZData(s.value,"y"):Be(s.value)?s.value.mid:s.value)),i=n*n*Math.PI,o=(e.isBubbleZType(t)?e.getBubbleZData(t.value,"z"):t.value)*(i/a);return Math.sqrt(o/Math.PI)},getBubbleZData(t,e){return Be(t)?t[e]:t[e==="y"?0:1]}},Tx=Object.defineProperty,Xu=Object.getOwnPropertySymbols,$x=Object.prototype.hasOwnProperty,Sx=Object.prototype.propertyIsEnumerable,Yu=(t,e,n)=>e in t?Tx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ax=(t,e)=>{for(var n in e||(e={}))$x.call(e,n)&&Yu(t,n,e[n]);if(Xu)for(var n of Xu(e))Sx.call(e,n)&&Yu(t,n,e[n]);return t},Ex={initCandlestick(){const{$el:t}=this;t.candlestick=t.main.select(`.${Se.chart}`).append("g").attr("class",cr.chartCandlesticks)},updateTargetsForCandlestick(t){const e=this,{$el:n}=e,a=e.getChartClass("Candlestick");n.candlestick||e.initCandlestick(),e.$el.main.select(`.${cr.chartCandlesticks}`).selectAll(`.${cr.chartCandlestick}`).data(t).enter().append("g").attr("class",a).style("pointer-events","none")},updateCandlestick(t,e=!1){const n=this,{$el:a,$T:i}=n,o=e?a.subchart:a,s=n.getClass("candlestick",!0),l=n.initialOpacity.bind(n),c=o.main.selectAll(`.${cr.chartCandlestick}`).selectAll(`.${cr.candlestick}`).data(n.labelishData.bind(n));i(c.exit(),t).style("opacity","0").remove();const f=c.enter().filter(g=>g.value).append("g").attr("class",s);f.append("line"),f.append("path"),o.candlestick=c.merge(f).style("opacity",l)},generateDrawCandlestick(t,e){const n=this,{config:a}=n,i=n.generateGetCandlestickPoints(t,e),o=a.axis_rotated,s=a.candlestick_color_down;return(l,c,f)=>{const g=i(l,c),v=n.getCandlestickData(l),m=v==null?void 0:v._isUp,S=+o,P=+!S;f.classed&&f.classed(cr[m?"valueUp":"valueDown"],!0);const N=o?`H${g[1][1]} V${g[1][0]} H${g[0][1]}`:`V${g[1][1]} H${g[1][0]} V${g[0][1]}`;f.select("path").attr("d",`M${g[0][S]},${g[0][P]}${N}z`).style("fill",X=>(m?n.color(X):Be(s)?s[X.id]:s)||n.color(X));const L=f.select("line"),w=o?{x1:g[2][1],x2:g[2][2],y1:g[2][0],y2:g[2][0]}:{x1:g[2][0],x2:g[2][0],y1:g[2][1],y2:g[2][2]};for(const X in w)L.attr(X,w[X])}},generateGetCandlestickPoints(t,e=!1){const n=this,a=e?n.axis.subX:n.axis.x,i=n.getIndicesMax(t)+1,o=n.getBarW("candlestick",a,i),s=n.getShapeX(o,t,!!e),l=n.getShapeY(!!e),c=n.getShapeOffset(n.isBarType,t,!!e),f=n.getYScaleById.bind(n);return(g,v)=>{const m=f.call(n,g.id,e)(n.getShapeYMin(g.id)),S=c(g,v)||m,P=he(o)?o:o[g.id]||o._$width,N=n.getCandlestickData(g);let L;if(N&&he(N.open)&&he(N.close)){const w={start:s(g),end:0};w.end=w.start+P;const X={start:l(N.open),end:l(N.close)},W={x:w.start+P/2,high:l(N.high),low:l(N.low)};X.start-=m-S,L=[[w.start,X.start],[w.end,X.end],[W.x,W.low,W.high]]}else L=[[0,0],[0,0],[0,0,0]];return L}},redrawCandlestick(t,e,n=!1){const a=this,{$el:i,$T:o}=a,{candlestick:s}=n?i.subchart:i,l=gr(!0);return[s.each(function(c,f){const g=o(ot(this),e,l);t(c,f,g)}).style("opacity",null)]},getCandlestickData({value:t}){let e;if(ze(t)){const[n,a,i,o,s=!1]=t;e={open:n,high:a,low:i,close:o},s!==!1&&(e.volume=s)}else Be(t)&&(e=Ax({},t));return e&&(e._isUp=e.close>=e.open),e||null}},bx=Object.defineProperty,Hu=Object.getOwnPropertySymbols,Rx=Object.prototype.hasOwnProperty,Ix=Object.prototype.propertyIsEnumerable,Wu=(t,e,n)=>e in t?bx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ox=(t,e)=>{for(var n in e||(e={}))Rx.call(e,n)&&Wu(t,n,e[n]);if(Hu)for(var n of Hu(e))Ix.call(e,n)&&Wu(t,n,e[n]);return t};function Ki(t=!1){const e=this,{config:n,state:{current:{width:a,height:i}}}=e,o=e.getCurrentPadding(),s=Ox({width:a-(o.left+o.right),height:i-(n.legend_show?e.getLegendHeight()+10:0)-(o.top+o.bottom)},o);if(t){const{width:l,height:c}=Ku.call(e,{width:s.width,height:s.height});s.width{let l=o;return Be(o)&&(l=t[s?"height":"width"]*o.ratio),l}),{width:a,height:i}}function Cx(t){const e=this,{top:n,left:a,width:i}=Ki.call(e,!0),o=[];return t.forEach((s,l)=>{const{ratio:c}=s,f=l>0?o[l-1][2][1]:n;o.push(s.coords=[[a,f],[a+i,f],[a+i,l>0?c+f:c+n],[a,l>0?c+f:c+n],[a,f]])}),o}function Zu(t=!1){const e=this,{width:n,height:a,top:i,left:o}=Ki.call(e,!0),s=Ku.call(e,{width:n,height:a}),l=(n-s.width)/2,c=(n+s.width)/2,f=a-s.height,g=[[0,0],[n,0],[c,f],[c,a],[l,a],[l,f],[0,0]];return t&&g.forEach(v=>{v[0]+=o,v[1]+=i}),`M${g.join("L")}z`}function Px(t){const e=this,{config:n}=e,a=t.map(i=>({id:i.id,value:i.values.reduce((o,s)=>o+s.value,0)}));return n.data_order&&a.sort(e.getSortCompareFn.bind(e)(!0)),Ju.call(e,a)}function Ju(t){const e=this,{height:n}=Ki.call(e),a=e.getTotalDataSum(!0);return t.forEach(i=>{i.ratio=i.value/a*n}),t}var wx={initFunnel(){const t=this,{$el:e}=t;e.funnel=e.main.select(`.${Se.chart}`).append("g").classed(Ta.chartFunnels,!0),e.funnel.background=e.funnel.append("path").classed(Ta.funnelBackground,!0),t.bindFunnelEvent()},bindFunnelEvent(){const t=this,{$el:{funnel:e},config:n,state:a}=t,i=o=>{var s;const l=o.isTrusted?o.target:(s=a.eventReceiver.rect)==null?void 0:s.node();let c;return/^path$/i.test(l.tagName)&&(a.event=o,c=ot(l).datum()),c};if(n.interaction_enabled){const o=a.inputType==="touch";e.on(o?"touchstart":"mouseover mousemove",s=>{const l=i(s);l&&(t.showTooltip([l],s.target),/^(touchstart|mouseover)$/.test(s.type)&&t.setOverOut(!0,l))}).on(o?"touchend":"mouseout",s=>{const l=i(s);n.interaction_onout&&(t.hideTooltip(),t.setOverOut(!1,l))})}},updateTargetsForFunnel(t){const e=this,{$el:{funnel:n}}=e,a=e.getChartClass("Funnel"),i=e.getClass("funnel",!0);n||e.initFunnel();const o=Px.call(e,t.filter(e.isFunnelType.bind(e))),s=n.selectAll(`.${Ta.chartFunnel}`).data(o);s.exit().remove();const l=s.enter().insert("g",`.${Ta.funnelBackground}`);l.append("path"),n.path=l.merge(s).attr("class",c=>a(c)).select("path").attr("class",i).style("opacity","0").style("fill",e.color)},updateFunnel(t){const e=this,{$el:{funnel:n}}=e,a=t.map(({id:i})=>i);n.path=n.path.filter(i=>a.indexOf(i.id)>=0)},generateGetFunnelPoints(){const t=this,{$el:{funnel:e}}=t,n=t.filterTargetsToShow(e.path),{top:a,left:i,right:o}=Ki.call(t),s=(i-o)/2,l={};let c=a!=null?a:0;return n.each((f,g)=>{var v;l[f.id]=[[s,c],[s,c+=((v=n==null?void 0:n[g])!=null?v:f).ratio]]}),f=>l[f.id]},redrawFunnel(){const t=this,{$T:e,$el:{funnel:n}}=t,a=t.filterTargetsToShow(n.path),i=Cx.call(t,Ju.call(t,a.data()));n.attr("clip-path",`path('${Zu.bind(t)()}')`),n.background.attr("d",Zu.call(t,!0)),e(a).attr("d",(o,s)=>`M${i[s].join("L")}z`).style("opacity","1"),n.selectAll("g").style("opacity",null)}},Mx={initGauge(){const t=this,{config:e,$el:{arcs:n}}=t,a=(i=null,o="")=>{n.append("text").attr("class",i).style("text-anchor","middle").style("pointer-events","none").text(o)};if(t.hasType("gauge")){const i=t.hasMultiArcGauge();n.append(i?"g":"path").attr("class",je.chartArcsBackground).style("fill",!i&&e.gauge_background||null),e.gauge_units&&a(Un.chartArcsGaugeUnit),e.gauge_label_show&&(a(Un.chartArcsGaugeMin),!e.gauge_fullCircle&&a(Un.chartArcsGaugeMax))}},updateGaugeMax(){const t=this,{config:e,state:n}=t,i=t.hasMultiArcGauge()?t.getMinMaxData().max[0].value:t.getTotalDataSum(n.rendered);!e.gauge_enforceMinMax&&i+e.gauge_min*(e.gauge_min>0?-1:1)>e.gauge_max&&(e.gauge_max=i-e.gauge_min)},redrawArcGaugeLine(){const t=this,{config:e,state:n,$el:a}=t,{hiddenTargetIds:i}=t.state,o=a.main.selectAll(`.${je.arcs}`).selectAll(`.${je.arcLabelLine}`).data(t.arcData.bind(t));o.enter().append("rect").attr("class",l=>`${je.arcLabelLine} ${Se.target} ${Se.target}-${l.data.id}`).merge(o).style("fill",l=>t.levelColor?t.levelColor(l.data.values[0].value):t.color(l.data)).style("display",e.gauge_label_show?null:"none").each(function(l){let c=0;const f=2;let g=0,v=0,m="";if(i.indexOf(l.data.id)<0){const S=t.updateAngle(l),P=n.gaugeArcWidth/t.filterTargetsToShow(t.data.targets).length*(S.index+1),N=S.endAngle-Math.PI/2,L=n.radius-P,w=N-(L===0?0:1/L);c=n.radiusExpanded-n.radius+P,g=Math.cos(w)*L,v=Math.sin(w)*L,m=`rotate(${N*180/Math.PI}, ${g}, ${v})`}ot(this).attr("x",g).attr("y",v).attr("width",c).attr("height",f).attr("transform",m).style("stroke-dasharray",`0, ${c+f}, 0`)})},textForGaugeMinMax(t,e){const n=this,{config:a}=n,i=a.gauge_label_extents;return ve(i)?i.bind(n.api)(t,e):t},getGaugeLabelHeight(){const{config:t}=this;return this.config.gauge_label_show&&!t.gauge_fullCircle?20:0},getPaddingBottomForGauge(){const t=this;return t.getGaugeLabelHeight()*(t.config.gauge_label_show?2:2.5)}};function Dx(t,e,n,a=!1){const i=t?[t,0]:n;for(let o=t||n.reduce((s,l)=>s+l);o<=e;)n.forEach(s=>{o+s<=e&&i.push(s),o+=s});return i.length%2!==0&&i.push(a?n[1]:0),{dash:i.join(" "),length:i.reduce((o,s)=>o+s,0)}}function Lx(t,e,n){const a=this,i=[],o="2 2";if(ke(e)){const s=(l,c)=>ln(l)?c:n?zn.call(a,l):l;for(let l=0,c;c=e[l];l++){const f=s(c.start,t[0].x),g=s(c.end,t[t.length-1].x),v=c.style||{dasharray:o};i[l]={start:f,end:g,style:v}}}return i}var Nx={initLine(){const{$el:t}=this;t.line=t.main.select(`.${Se.chart}`).append("g").attr("class",ur.chartLines).call(this.setCssRule(!1,`.${ur.chartLines}`,["pointer-events:none"]))},updateTargetsForLine(t){const e=this,{$el:{area:n,line:a,main:i}}=e,o=e.getChartClass("Line"),s=e.getClass("lines",!0),l=e.classFocus.bind(e);a||e.initLine();const c=t.filter(v=>!(e.isScatterType(v)||e.isBubbleType(v))),f=i.select(`.${ur.chartLines}`).selectAll(`.${ur.chartLine}`).data(c).attr("class",v=>o(v)+l(v)),g=f.enter().append("g").attr("class",o).style("opacity","0").style("pointer-events",e.getStylePropValue("none"));if(g.append("g").attr("class",s),e.hasTypeOf("Area")){const v=(!n&&g.empty()?f:g).filter(e.isAreaType.bind(e));e.initArea(v)}e.updateTargetForCircle(c,g)},updateLine(t,e=!1){const n=this,{format:{extraLineClasses:a},$el:i,$T:o}=n,s=e?i.subchart:i,l=s.main.selectAll(`.${ur.lines}`).selectAll(`.${ur.line}`).data(n.lineData.bind(n));o(l.exit(),t).style("opacity","0").remove(),s.line=l.enter().append("path").attr("class",c=>`${n.getClass("line",!0)(c)} ${a(c)||""}`).style("stroke",n.color).merge(l).style("opacity",n.initialOpacity.bind(n)).attr("transform",null)},redrawLine(t,e,n=!1){const a=this,{$el:i,$T:o}=a,{line:s}=n?i.subchart:i;return[o(s,e,gr()).attr("d",t).style("stroke",this.color).style("opacity",null)]},getCurve(t){const e=this;return e.config.axis_rotated&&e.isStepType(t)?a=>{const i=e.getInterpolate(t)(a);return i.orgPoint=i.point,i.pointRotated=function(o,s){this._point===1&&(this._point=2);const l=this._y*(1-this._t)+s*this._t;this._context.lineTo(this._x,l),this._context.lineTo(o,l),this._x=o,this._y=s},i.point=function(o,s){this._point===0?this.orgPoint(o,s):this.pointRotated(o,s)},i}:e.getInterpolate(t)},generateDrawLine(t,e){const n=this,{config:a,scale:i}=n,o=a.line_connectNull,s=a.axis_rotated,l=n.generateGetLinePoints(t,e),c=n.getYScaleById.bind(n),f=S=>(e?n.subxx:n.xx).call(n,S),g=(S,P)=>n.isGrouped(S.id)?l(S,P)[0][1]:c(S.id,e)(n.getBaseValue(S));let v=Vu();v=s?v.x(g).y(f):v.x(f).y(g),o||(v=v.defined(S=>n.getBaseValue(S)!==null));const m=e?i.subX:i.x;return S=>{const P=c(S.id,e);let N=o?n.filterRemoveNull(S.values):S.values,L=0,w=0,X;if(n.isLineType(S)){const W=a.data_regions[S.id];W?X=n.lineWithRegions(N,i.zoom||m,P,W):(n.isStepType(S)&&(N=n.convertValuesToStep(N)),X=v.curve(n.getCurve(S))(N))}else N[0]&&(L=m(N[0].x),w=P(N[0].value)),X=s?`M ${w} ${L}`:`M ${L} ${w}`;return X||"M 0 0"}},lineWithRegions(t,e,n,a){const i=this,{config:o}=i,s=o.axis_rotated,l=i.axis.isTimeSeries(),c="2 2",f=Lx.bind(i)(t,a,l),g=i.hasNullDataValue(t);let v,m,S,P;const N=s?ct=>n(ct.value):ct=>e(ct.x),L=s?ct=>e(ct.x):ct=>n(ct.value),w=ct=>`M${ct[0][0]},${ct[0][1]}L${ct[1][0]},${ct[1][1]}`,X=l?(ct,lt,Gt,vt)=>{const Z=ct.x.getTime(),$t=lt.x-ct.x,ut=new Date(Z+$t*Gt),At=new Date(Z+$t*(Gt+vt)),Vt=s?[[n(m(Gt)),e(ut)],[n(m(Gt+S)),e(At)]]:[[e(ut),n(m(Gt))],[e(At),n(m(Gt+S))]];return w(Vt)}:(ct,lt,Gt,vt)=>{const Z=e(lt.x,!s),$t=n(lt.value,s),ut=Gt+vt,At=e(v(Gt),!s),Vt=n(m(Gt),s);let Bt=e(v(ut),!s),Kt=n(m(ut),s);Bt>Z&&(Bt=Z),ct.value>lt.value&&(s?Kt<$t:Kt>$t)&&(Kt=$t);const ne=[[At,Vt],[Bt,Kt]];return s&&ne.forEach(le=>le.reverse()),w(ne)},W={x:i.axis.getAxisType("x"),y:i.axis.getAxisType("y")};let Y="";const Q=i.$el.line.filter(({id:ct})=>ct===t[0].id),K=Q.clone().style("display","none"),at=(ct,lt)=>ct.attr("d",lt).node().getTotalLength(),ht={dash:[],lastLength:0};let St=!1;for(let ct=0,lt;lt=t[ct];ct++){const Gt=t[ct-1],vt=Gt&&De(Gt.value);let Z=i.isWithinRegions(lt.x,f);if(De(lt.value)){if(ln(f)||!Z||!vt)Y+=`${ct&&vt?"L":"M"}${N(lt)},${L(lt)}`;else if(vt)if(Z=((Z==null?void 0:Z.dasharray)||c).split(" ").map(Number),v=zr(W.x,Gt.x,lt.x),m=zr(W.y,Gt.value,lt.value),g){const $t=e(lt.x)-e(Gt.x),ut=n(lt.value)-n(Gt.value),At=Math.sqrt(Math.pow($t,2)+Math.pow(ut,2));S=Z[0]/At,P=S*Z[1];for(let Vt=S;Vt<=1;Vt+=P)Y+=X(Gt,lt,Vt,S),Vt+P>=1&&(Y+=X(Gt,lt,1,0))}else{let $t=[];if(St=lt.x===t[t.length-1].x,l){const Bt=+Gt.x,Kt=new Date(Bt),ne=new Date(Bt+(+lt.x-Bt));$t=[[e(Kt),n(m(0))],[e(ne),n(m(1))]]}else $t=[[e(v(0)),n(m(0))],[e(v(1)),n(m(1))]];s&&$t.forEach(Bt=>Bt.reverse());const ut=at(K,Y),At=at(K,Y+=`L${$t[1].join(",")}`),Vt=Dx(ut-ht.lastLength,At-ht.lastLength,Z,St);ht.lastLength+=Vt.length,ht.dash.push(Vt.dash)}}}return ht.dash.length&&(!St&&ht.dash.push(at(K,Y)),K.remove(),Q.attr("stroke-dasharray",ht.dash.join(" "))),Y},isWithinRegions(t,e){for(let n=0,a;a=e[n];n++)if(a.startgr();var Zi={initialOpacityForCircle(t){const{config:e,state:{withoutFadeIn:n}}=this;let a=e.point_opacity;return ln(a)&&(a=this.getBaseValue(t)!==null&&n[t.id]?this.opacityForCircle(t):"0"),a},opacityForCircle(t){var e;const{config:n}=this;let a=n.point_opacity;return ln(a)&&(a=n.point_show&&!((e=this.isPointFocusOnly)!=null&&e.call(this))?null:"0",a=De(this.getBaseValue(t))?this.isBubbleType(t)||this.isScatterType(t)?"0.5":a:"0"),a},initCircle(){const t=this,{$el:{main:e}}=t;!t.point&&(t.point=t.generatePoint()),(t.hasType("bubble")||t.hasType("scatter"))&&e.select(`.${Se.chart} > .${$n.chartCircles}`).empty()&&e.select(`.${Se.chart}`).append("g").attr("class",$n.chartCircles)},updateTargetForCircle(t,e){const n=this,{config:a,data:i,$el:o}=n,s=a.interaction_enabled&&a.data_selection_enabled,l=s&&a.data_selection_isselectable,c=n.getClass("circles",!0);if(!a.point_show)return;n.initCircle();let f=t,g=e;if(!f){f=i.targets.filter(m=>this.isScatterType(m)||this.isBubbleType(m));const v=o.main.select(`.${$n.chartCircles}`).style("pointer-events","none").selectAll(`.${$n.circles}`).data(f);v.exit().remove(),g=v.enter()}s&&g.append("g").attr("class",v=>n.generateClass(tn.selectedCircles,v.id)),g.append("g").attr("class",c).call(v=>{n.setCssRule(!0,`.${$n.circles}`,["cursor:pointer"],l)(v),n.setCssRule(!0,` .${$n.circle}`,["fill","stroke"],n.color)(v)}).style("opacity",function(){return ot(this.parentNode).attr("class").indexOf($n.chartCircles)>-1?"0":null}),s&&f.forEach(v=>{o.main.selectAll(`.${tn.selectedCircles}${n.getTargetSelectorSuffix(v.id)}`).selectAll(`${tn.selectedCircle}`).each(m=>{m.value=v.values[m.index].value})})},updateCircle(t=!1){const e=this,{config:n,state:a,$el:i}=e,o=e.isPointFocusOnly(),s=t?i.subchart:i;if(n.point_show&&!a.toggling){n.point_radialGradient&&e.updateLinearGradient();const l=s.main.selectAll(`.${$n.circles}`).selectAll(`.${$n.circle}`).data(c=>e.isLineType(c)&&e.shouldDrawPointsForLine(c)||e.isBubbleType(c)||e.isRadarType(c)||e.isScatterType(c)?o?[c.values[0]]:c.values:[]);l.exit().remove(),l.enter().filter(Boolean).append(e.point("create",this,e.pointR.bind(e),e.updateCircleColor.bind(e))),s.circle=s.main.selectAll(`.${$n.circles} .${$n.circle}`).style("stroke",e.getStylePropValue(e.color)).style("opacity",e.initialOpacityForCircle.bind(e))}},updateCircleColor(t){const e=this,n=e.getStylePropValue(e.color);return e.config.point_radialGradient?e.getGradienColortUrl(t.id):n?n(t):null},redrawCircle(t,e,n,a,i=!1){const o=this,{state:{rendered:s},$el:l,$T:c}=o,f=i?l.subchart:l,g=f.main.selectAll(`.${tn.selectedCircle}`);if(!o.config.point_show)return[];const v=o.point("update",o,t,e,o.updateCircleColor.bind(o),n,a,g),m=o.isCirclePoint()?"c":"",S=gr(),P=o.opacityForCircle.bind(o),N=[];return f.circle.each(function(L){let w=v.bind(this)(L);w=c(w,n||!s,S).style("opacity",P),N.push(w)}),[N,c(g,n).attr(`${m}x`,t).attr(`${m}y`,e)]},showCircleFocus(t){const e=this,{state:{hasRadar:n,resizing:a,toggling:i,transiting:o},$el:s}=e;let{circle:l}=s;if(o===!1&&l&&e.isPointFocusOnly()){const c=(n?e.radarCircleX:e.circleX).bind(e),f=(n?e.radarCircleY:e.circleY).bind(e),g=i||ln(t),v=e.point("update",e,c,f,e.getStylePropValue(e.color),a?!1:g);t&&(l=l.filter(function(m){var S;const P=(S=t.filter)==null?void 0:S.call(t,N=>N.id===m.id);return P.length?ot(this).datum(P[0]):!1})),l.attr("class",this.updatePointClass.bind(this)).style("opacity",null).each(function(m){const{id:S,index:P,value:N}=m;let L="hidden";De(N)&&(v.bind(this)(m),e.expandCircles(P,S),L=""),this.style.visibility=L})}},hideCircleFocus(){const t=this,{$el:{circle:e}}=t;t.isPointFocusOnly()&&e&&(t.unexpandCircles(),e.style("visibility","hidden"))},circleX(t){return this.xx(t)},updateCircleY(t=!1){const e=this,n=e.generateGetLinePoints(e.getShapeIndices(e.isLineType),t);return(a,i)=>{const o=a.id;return e.isGrouped(o)?n(a,i)[0][1]:e.getYScaleById(o,t)(e.getBaseValue(a))}},expandCircles(t,e,n){const a=this,i=a.pointExpandedR.bind(a);n&&a.unexpandCircles();const o=a.getShapeByIndex("circle",t,e).classed(Se.EXPANDED,!0),s=i(o)/a.config.point_r,l=1-s;a.isCirclePoint()?o.attr("r",i):o.each(function(){const c=ot(this);if(this.tagName==="circle")c.attr("r",i);else{const{width:f,height:g}=this.getBBox(),v=l*(+c.attr("x")+f/2),m=l*(+c.attr("y")+g/2);c.attr("transform",`translate(${v} ${m}) scale(${s})`)}})},unexpandCircles(t){const e=this,n=e.pointR.bind(e),a=e.getShapeByIndex("circle",t).filter(function(){return ot(this).classed(Se.EXPANDED)}).classed(Se.EXPANDED,!1);if(a.attr("r",n),!e.isCirclePoint()){const i=n(a)/e.config.point_r;a.attr("transform",i!==1?`scale(${i})`:null)}},pointR(t){const e=this,{config:n}=e,a=n.point_r;let i=a;return e.isBubbleType(t)?i=e.getBubbleR(t):ve(a)&&(i=a.bind(e.api)(t)),t.r=i,i},pointExpandedR(t){const e=this,{config:n}=e,a=e.isBubbleType(t)?1.15:1.75;return n.point_focus_expand_enabled?n.point_focus_expand_r||e.pointR(t)*a:e.pointR(t)},pointSelectR(t){const e=this,n=e.config.point_select_r;return ve(n)?n(t):n||e.pointR(t)*4},isPointFocusOnly(){const t=this;return t.config.point_focus_only&&!t.hasType("bubble")&&!t.hasType("scatter")&&!t.hasArcType(null,["radar"])},isWithinCircle(t,e){const{state:n}=this,a=Hn(n.event,t),i=ot(t),o=this.isCirclePoint(t)?"c":"",s=this.getPointSensitivity(i==null?void 0:i.datum());let l=+i.attr(`${o}x`),c=+i.attr(`${o}y`);if(!(l||c)&&t.nodeType===1){const{x:f,y:g}=Si(t);l=f,c=g}return Math.sqrt(Math.pow(l-a[0],2)+Math.pow(c-a[1],2))<(e||s)},getPointSensitivity(t){const e=this;let n=e.config.point_sensitivity;if(t)ve(n)?n=n.call(e.api,t):n==="radius"&&(n=t.r);else return n;return n},updatePointClass(t){const e=this,{circle:n}=e.$el;let a=!1;return(Be(t)||n)&&(a=t===!0?n.each(function(i){let o=e.getClass("circle",!0)(i);this.getAttribute("class").indexOf(Se.EXPANDED)>-1&&(o+=` ${Se.EXPANDED}`),this.setAttribute("class",o)}):e.getClass("circle",!0)(t)),a},generateGetLinePoints(t,e){const n=this,{config:a}=n,i=n.getShapeX(0,t,e),o=n.getShapeY(e),s=n.getShapeOffset(n.isLineType,t,e),l=n.getYScaleById.bind(n);return(c,f)=>{const g=l.call(n,c.id,e)(n.getShapeYMin(c.id)),v=s(c,f)||g,m=i(c);let S=o(c);a.axis_rotated&&(c.value>0&&SDe(S.value)?e(S)-c/2:0,v=S=>De(S.value)?n(S)-f/2:0;let m=t;return i&&(o&&m.attr("x",g),m=l.$T(m,i,la()),s&&l.$T(s,i,la())),m.attr("x",g).attr("y",v).style("fill",a)}},circle:{create(t,e,n){return t.append("circle").attr("class",this.updatePointClass.bind(this)).attr("r",e).style("fill",n).node()},update(t,e,n,a,i,o,s){const l=this;let c=t;return l.hasType("bubble")&&c.attr("r",l.pointR.bind(l)),i&&(o&&c.attr("cx",e),c.attr("cx")&&(c=l.$T(c,i,la())),s&&l.$T(c,i,la())),c.attr("cx",e).attr("cy",n).style("fill",a)}},rectangle:{create(t,e,n){const a=i=>e(i)*2;return t.append("rect").attr("class",this.updatePointClass.bind(this)).attr("width",a).attr("height",a).style("fill",n).node()},update(t,e,n,a,i,o,s){const l=this,c=l.config.point_r,f=m=>e(m)-c,g=m=>n(m)-c;let v=t;return i&&(o&&v.attr("x",f),v=l.$T(v,i,la()),s&&l.$T(s,i,la())),v.attr("x",f).attr("y",g).style("fill",a)}}};function Fx(t){return nr(t)&&ve(t.create)&&ve(t.update)}function Bx(t,e){var n;const a=this,i=(c,f)=>{const g=c.attributes;for(let v=0,m;m=g[v];v++)m=m.name,f.setAttribute(m,c.getAttribute(m))},s=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,l=vn.createElementNS(ae.svg,s.nodeName.toLowerCase());if(l.id=e,l.style.fill="inherit",l.style.stroke="inherit",i(s,l),(n=s.childNodes)!=null&&n.length){const c=ot(l);"innerHTML"in l?c.html(s.innerHTML):Lr(s.childNodes).forEach(f=>{i(f,c.append(f.tagName).node())})}a.$el.defs.node().appendChild(l)}var ca={hasValidPointType(t){return/^(circle|rect(angle)?|polygon|ellipse|use)$/i.test(t||this.config.point_type)},hasLegendDefsPoint(){var t;const{config:e}=this;return e.legend_show&&((t=e.point_pattern)==null?void 0:t.length)&&e.legend_usePoint},getDefsPointId(t){const{state:{datetimeId:e}}=this;return`${e}-point${t}`},generatePoint(){const t=this,{$el:e,config:n}=t,a=[],i=cn(n.point_pattern)?n.point_pattern:[n.point_type];return function(o,s,...l){return function(c){var f,g,v,m;const S=t.getTargetSelectorSuffix(c.id||((f=c.data)==null?void 0:f.id)||c),P=ot(this);a.indexOf(S)<0&&a.push(S);let N=i[a.indexOf(S)%i.length];if(t.hasValidPointType(N))N=t[N];else if(!Fx(N||n.point_type)){const L=t.getDefsPointId(S);if(e.defs.select(`#${L}`).size()<1&&Bx.bind(t)(N,L),o==="create")return(g=t.custom)==null?void 0:g.create.bind(s)(P,L,...l);if(o==="update")return(v=t.custom)==null?void 0:v.update.bind(s)(P,...l)}return(m=N[o])==null?void 0:m.bind(s)(P,...l)}}}};function ku(t){const e=t.config.polar_level_max;let n=t.getMinMaxData().max[0].value;return e&&e>n&&(n=e),n}var Ux={initPolar(){const t=this,{$el:{arcs:e},config:n}=t,a=n.polar_level_text_show,i=n.polar_level_text_backgroundColor;e.levels=e.append("g").attr("class",Tr.levels),a&&i&&t.generateTextBGColorFilter(i)},getPolarOuterRadius(t,e){var n;const a=ku(this);return((n=t==null?void 0:t.data.values[0].value)!=null?n:0)/a*e},updateTargetsForPolar(t){this.updateTargetsForArc(t)},redrawPolar(){const t=this,{config:e}=t;e.polar_level_show&&t.updatePolarLevel()},updatePolarLevel(){const t=this,{config:e,state:n,$el:{arcs:{levels:a}}}=t,i=e.polar_level_depth,o=ku(t),s=Ai(0,i),l=n.radius,c=s.map(m=>l*((m+1)/i)),f=(e.polar_level_text_format||function(){}).bind(t.api),g=a.selectAll(`.${Tr.level}`).data(s);g.exit().remove();const v=g.enter().append("g").attr("class",(m,S)=>`${Tr.level} ${Tr.level}-${S}`);if(v.append("circle"),v.merge(g).selectAll("circle").style("visibility",e.polar_level_show?null:"hidden").attr("cx",0).attr("cy",0).attr("r",m=>c[m]),e.polar_level_text_show){const m=e.polar_level_text_backgroundColor,S=`#${n.datetimeId}-labels-bg${t.getTargetSelectorSuffix(m)}`;v.append("text").style("text-anchor","middle"),v.merge(g).selectAll("text").attr("dy",P=>-c[P]+5).attr("filter",m?`url(${S})`:null).text(P=>f(o/s.length*(P+1)))}}};function zx(t,e,n,a,i,o){const s=t&&a>0?n-a:a,l=2*Math.PI;return i*(1-o*(e==="x"?Math.sin:Math.cos)(s*l/n))}const ua=Ln.radarPoints,Qu=Ln.radarTextWidth;var jx={initRadar(){const t=this,{config:e,state:{current:n},$el:a}=t;t.hasType("radar")&&(a.radar=a.main.select(`.${Se.chart}`).append("g").attr("class",ks.chartRadars),a.radar.levels=a.radar.append("g").attr("class",Tr.levels),a.radar.axes=a.radar.append("g").attr("class",dn.axis),a.radar.shapes=a.radar.append("g").attr("class",sn.shapes),n.dataMax=e.radar_axis_max||t.getMinMaxData().max[0].value,e.radar_axis_text_show&&(e.interaction_enabled&&t.bindRadarEvent(),t.updateRadarLevel(),t.updateRadarAxes()))},getRadarSize(){const t=this,{config:e,state:{arcWidth:n,arcHeight:a}}=t,i=e.axis_x_categories.length<4?-20:10,o=(Math.min(n,a)-i)/2;return[o,o]},updateTargetsForRadar(t){const e=this,{config:n}=e;qn(n.axis_x_categories)&&(n.axis_x_categories=Ai(0,_n("max",t.map(a=>a.values.length)))),e.generateRadarPoints()},getRadarPosition(t,e,n,a){const i=this,{config:o}=i,[s,l]=i.getRadarSize(),c=o.axis_x_categories.length,f=o.radar_direction_clockwise,g=Lr(t).map(v=>zx(f,v,c,e,ke(n)?n:t==="x"?s:l,he(a)?a:o.radar_size_ratio));return g.length===1?g[0]:g},generateRadarPoints(){const t=this,e=t.data.targets,[n,a]=t.getRadarSize(),i=t.cache.get(ua)||{},o=i._size;(!o||o.width!==n&&o.height!==a)&&(e.forEach(s=>{i[s.id]=s.values.map((l,c)=>t.getRadarPosition(["x","y"],c,void 0,t.getRatio("radar",l)))}),i._size={width:n,height:a},t.cache.add(ua,i))},redrawRadar(){const t=this,{radar:e,main:n}=t.$el,a=t.getTranslate("radar");a&&(e.attr("transform",a),n.select(`.${On.chartTexts}`).attr("transform",a),t.generateRadarPoints(),t.updateRadarLevel(),t.updateRadarAxes(),t.updateRadarShape())},generateGetRadarPoints(){const t=this.cache.get(ua);return(e,n)=>{const a=t[e.id][n];return[a,a,a,a]}},updateRadarLevel(){const t=this,{config:e,state:n,$el:{radar:a}}=t,[i,o]=t.getRadarSize(),s=e.radar_level_depth,l=e.axis_x_categories.length,c=e.radar_level_text_show,f=a.levels,g=Ai(0,s),v=e.radar_size_ratio*Math.min(i,o),m=g.map(w=>v*((w+1)/s)),S=(e.radar_level_text_format||function(){}).bind(t.api),P=g.map(w=>{const X=m[w];return Ai(0,l).map(Y=>t.getRadarPosition(["x","y"],Y,X,1).join(",")).join(" ")}),N=f.selectAll(`.${Tr.level}`).data(g);N.exit().remove();const L=N.enter().append("g").attr("class",(w,X)=>`${Tr.level} ${Tr.level}-${X}`);L.append("polygon").style("visibility",e.radar_level_show?null:"hidden"),c&&(f.select("text").empty()&&f.append("text").attr("dx","-.5em").attr("dy","-.7em").style("text-anchor","end").text(()=>S(0)),L.append("text").attr("dx","-.5em").style("text-anchor","end").text(w=>S(n.current.dataMax/g.length*(w+1)))),L.merge(N).attr("transform",w=>`translate(${i-m[w]}, ${o-m[w]})`).selectAll("polygon").attr("points",w=>P[w]),c&&f.selectAll("text").attr("x",w=>ln(w)?i:P[w].split(",")[0]).attr("y",w=>ln(w)?o:0)},updateRadarAxes(){const t=this,{config:e,$el:{radar:n}}=t,[a,i]=t.getRadarSize(),o=e.axis_x_categories;let s=n.axes.selectAll("g").data(o);s.exit().remove();const l=s.enter().append("g").attr("class",(c,f)=>`${dn.axis}-${f}`);if(e.radar_axis_line_show&&l.append("line"),e.radar_axis_text_show&&l.append("text"),s=l.merge(s),e.radar_axis_line_show&&s.select("line").attr("x1",a).attr("y1",i).attr("x2",(c,f)=>t.getRadarPosition("x",f)).attr("y2",(c,f)=>t.getRadarPosition("y",f)),e.radar_axis_text_show){const{x:c=0,y:f=0}=e.radar_axis_text_position,g=t.cache.get(Qu)||0;if(s.select("text").style("text-anchor","middle").attr("dy",".5em").call(v=>{v.each(function(m){wa(ot(this),String(m),[-.6,1.2])})}).datum((v,m)=>({index:m})).attr("transform",function(v){ln(this.width)&&(this.width=this.getBoundingClientRect().width/2);let m=t.getRadarPosition("x",v.index,void 0,1),S=Math.round(t.getRadarPosition("y",v.index,void 0,1));return m>a?m+=this.width+c:Math.round(m)i?(S/2===i&&this.firstChild.tagName==="tspan"&&this.firstChild.setAttribute("dy","0em"),S+=f):SHl(m.node()).width);v.every(m=>m>0)&&t.cache.add(Qu,v[0]-v[1])}}},bindRadarEvent(){const t=this,{config:e,state:n,$el:{radar:a,svg:i}}=t,o=t.isPointFocusOnly(),{inputType:s,transiting:l}=n,c=s==="mouse",f=g=>{if(n.event=g,!e.interaction_onout)return;const v=t.getDataIndexFromEvent(g),m=ln(v);(c||m)&&(t.hideTooltip(),o?t.hideCircleFocus():t.unexpandCircles(),c?t.setOverOut(!1,v):m&&t.callOverOutForTouch())};a.axes.on(c?"mouseover ":"touchstart",g=>{if(l)return;n.event=g;const v=t.getDataIndexFromEvent(g);t.selectRectForSingle(i.node(),v),c?t.setOverOut(!0,v):t.callOverOutForTouch(v)}).on("mouseout",c?f:null),c||i.on("touchstart",f)},updateRadarShape(){const t=this,e=t.data.targets.filter(o=>t.isRadarType(o)),n=t.cache.get(ua),a=t.$el.radar.shapes.selectAll("polygon").data(e),i=a.enter().append("g").attr("class",t.getChartClass("Radar"));t.$T(a.exit()).remove(),i.append("polygon").merge(a).style("fill",t.color).style("stroke",t.color).attr("points",o=>n[o.id].join(" ")),t.updateTargetForCircle(e,i)},radarCircleX(t){return this.cache.get(ua)[t.id][t.index][0]},radarCircleY(t){return this.cache.get(ua)[t.id][t.index][1]}};function Gx(t){var e=0,n=t.children,a=n&&n.length;if(!a)e=1;else for(;--a>=0;)e+=n[a].value;t.value=e}function Vx(){return this.eachAfter(Gx)}function Xx(t,e){let n=-1;for(const a of this)t.call(e,a,++n,this);return this}function Yx(t,e){for(var n=this,a=[n],i,o,s=-1;n=a.pop();)if(t.call(e,n,++s,this),i=n.children)for(o=i.length-1;o>=0;--o)a.push(i[o]);return this}function Hx(t,e){for(var n=this,a=[n],i=[],o,s,l,c=-1;n=a.pop();)if(i.push(n),o=n.children)for(s=0,l=o.length;s=0;)n+=a[i].value;e.value=n})}function Zx(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function Jx(t){for(var e=this,n=kx(e,t),a=[e];e!==n;)e=e.parent,a.push(e);for(var i=a.length;t!==n;)a.splice(i,0,t),t=t.parent;return a}function kx(t,e){if(t===e)return t;var n=t.ancestors(),a=e.ancestors(),i=null;for(t=n.pop(),e=a.pop();t===e;)i=t,t=n.pop(),e=a.pop();return i}function Qx(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function qx(){return Array.from(this)}function _x(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function t0(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e}function*e0(){var t=this,e,n=[t],a,i,o;do for(e=n.reverse(),n=[];t=e.pop();)if(yield t,a=t.children)for(i=0,o=a.length;i=0;--l)i.push(o=s[l]=new Ji(s[l])),o.parent=a,o.depth=a.depth+1;return n.eachBefore(o0)}function n0(){return Rs(this).eachBefore(i0)}function r0(t){return t.children}function a0(t){return Array.isArray(t)?t[1]:null}function i0(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function o0(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function Ji(t){this.data=t,this.depth=this.height=0,this.parent=null}Ji.prototype=Rs.prototype={constructor:Ji,count:Vx,each:Xx,eachAfter:Hx,eachBefore:Yx,find:Wx,sum:Kx,sort:Zx,path:Jx,ancestors:Qx,descendants:qx,leaves:_x,links:t0,copy:n0,[Symbol.iterator]:e0};function s0(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function ki(t,e,n,a,i){for(var o=t.children,s,l=-1,c=o.length,f=t.value&&(a-e)/t.value;++lX&&(X=f),K=L*L*Q,W=Math.max(X/K,K/w),W>Y){L-=f;break}Y=W}s.push(c={value:L,dice:S1?a:1)},n}(qu);function C1(t){return t==null?null:ef(t)}function ef(t){if(typeof t!="function")throw new Error;return t}function za(){return 0}function ja(t){return function(){return t}}function l0(){var t=tf,e=!1,n=1,a=1,i=[0],o=za,s=za,l=za,c=za,f=za;function g(m){return m.x0=m.y0=0,m.x1=n,m.y1=a,m.eachBefore(v),i=[0],e&&m.eachBefore(s0),m}function v(m){var S=i[m.depth],P=m.x0+S,N=m.y0+S,L=m.x1-S,w=m.y1-S;L=m-1){var X=o[v];X.x0=P,X.y0=N,X.x1=L,X.y1=w;return}for(var W=f[v],Y=S/2+W,Q=v+1,K=m-1;Q>>1;f[at]w-N){var ct=S?(P*St+L*ht)/S:L;g(v,Q,ht,P,N,ct,w),g(Q,m,St,ct,N,L,w)}else{var lt=S?(N*St+w*ht)/S:w;g(v,Q,ht,P,N,L,lt),g(Q,m,St,P,lt,L,w)}}}function c0(t,e,n,a,i){(t.depth&1?Qi:ki)(t,e,n,a,i)}var u0=function t(e){function n(a,i,o,s,l){if((c=a._squarify)&&c.ratio===e)for(var c,f,g,v,m=-1,S,P=c.length,N=a.value;++m1?a:1)},n}(qu);function f0(t,e){const n=this,{scale:{x:a,y:i},state:{width:o}}=n;t.selectAll("g").attr("transform",s=>`translate(${s===e?"0,0":`${a(s.x0)},${i(s.y0)}`})`).select("rect").attr("width",s=>s===e?o:a(s.x1)-a(s.x0)).attr("height",s=>s===e?0:i(s.y1)-i(s.y0))}function d0(t){const e=this;return t.map(n=>{const{id:a,values:i}=n,{value:o}=i[0];return{name:a,id:a,value:o,ratio:e.getRatio("treemap",i[0])}})}function h0(t){const e=this,n=Rs(t).sum(i=>i.value),a=e.getSortCompareFn(!0);return[e.treemap(a?n.sort(a):n)]}var g0={initTreemap(){const t=this,{$el:e,state:{current:{width:n,height:a},clip:i,datetimeId:o}}=t;i.id=`${o}-clip`,t.treemap=l0().tile(t.getTreemapTile()),e.defs.append("clipPath").attr("id",i.id).append("rect").attr("width",n).attr("height",a),e.treemap=e.main.select(`.${Se.chart}`).attr("clip-path",`url(#${i.id})`).append("g").classed(qs.chartTreemaps,!0),t.bindTreemapEvent()},bindTreemapEvent(){const t=this,{$el:e,config:n,state:a}=t,i=o=>{var s;const l=o.isTrusted?o.target:(s=a.eventReceiver.rect)==null?void 0:s.node();let c;return/^rect$/i.test(l.tagName)&&(a.event=o,c=ot(l).datum()),c==null?void 0:c.data};if(n.interaction_enabled){const o=a.inputType==="touch";e.treemap.on(o?"touchstart":"mouseover mousemove",s=>{const l=i(s);l&&(t.showTooltip([l],s.currentTarget),/^(touchstart|mouseover)$/.test(s.type)&&t.setOverOut(!0,l))}).on(o?"touchend":"mouseout",s=>{const l=i(s);n.interaction_onout&&(t.hideTooltip(),t.setOverOut(!1,l))})}},getTreemapTile(){var t,e;const n=this,{config:a,state:{current:{width:i,height:o}}}=n,s=(e={binary:nf,dice:ki,slice:Qi,sliceDice:c0,squarify:tf,resquarify:u0}[(t=a.treemap_tile)!=null?t:"binary"])!=null?e:nf;return(l,c,f,g,v)=>{s(l,0,0,i,o);for(const m of l.children)m.x0=c+m.x0/i*(g-c),m.x1=c+m.x1/i*(g-c),m.y0=f+m.y0/o*(v-f),m.y1=f+m.y1/o*(v-f)}},getTreemapData(t){const e=this;return{name:"root",children:d0.bind(e)(e.filterTargetsToShow(t.filter(e.isTreemapType,e)))}},updateTargetsForTreemap(t){const e=this,{$el:{treemap:n}}=e,a=h0.call(e,e.getTreemapData(t!=null?t:e.data.targets));n.data(a)},updateTreemap(t){const e=this,{$el:n,$T:a}=e,i=n.treemap.datum(),o=e.getChartClass("Treemap"),s=e.getClass("treemap",!0),l=n.treemap.selectAll("g").data(i.children);a(l.exit(),t).style("opacity","0").remove(),l.enter().append("g").append("rect"),n.treemap.selectAll("g").attr("class",o).select("rect").attr("class",s).attr("fill",c=>e.color(c.data.name))},generateGetTreemapPoints(){const t=this,{$el:e,scale:{x:n,y:a}}=t,i={};return e.treemap.selectAll("g").each(o=>{i[o.data.name]=[[n(o.x0),a(o.y0)],[n(o.x1),a(o.y1)]]}),o=>i[o.id]},redrawTreemap(t){const e=this,{$el:n,state:{current:{width:a,height:i}}}=e;return n.defs.select("rect").attr("width",a).attr("height",i),[e.$T(n.treemap,t,gr()).call(f0.bind(e),n.treemap.datum())]},treemapDataLabelFormat(t){const e=this,{config:n}=e,{id:a,value:i}=t,o=n.treemap_label_format,s=e.getRatio("treemap",t),l=(s*100).toFixed(2),c=n.treemap_label_show&&e.meetsLabelThreshold(s,"treemap")?null:"0";return function(f){return f.style("opacity",c),ve(o)?o.bind(e.api)(i,s,a):`${a} -${l}%`}}},Xr={point_show:!0,point_r:2.5,point_radialGradient:!1,point_sensitivity:10,point_focus_expand_enabled:!0,point_focus_expand_r:void 0,point_focus_only:!1,point_opacity:void 0,point_pattern:[],point_select_r:void 0,point_type:"circle"},fa={area_above:!1,area_below:!1,area_front:!0,area_linearGradient:!1,area_zerobased:!0},v0={bar_front:!1,bar_indices_removeNull:!1,bar_label_threshold:0,bar_linearGradient:!1,bar_overlap:!1,bar_padding:0,bar_radius:void 0,bar_radius_ratio:void 0,bar_sensitivity:2,bar_width:void 0,bar_width_ratio:.6,bar_width_max:void 0,bar_zerobased:!0},p0={bubble_maxR:35,bubble_zerobased:!1},m0={candlestick_width:void 0,candlestick_width_ratio:.6,candlestick_width_max:void 0,candlestick_color_down:"red"},y0={line_connectNull:!1,line_step_type:"step",line_step_tooltipMatch:!1,line_zerobased:!1,line_classes:void 0,line_point:!0},x0={scatter_zerobased:!1},Is={spline_interpolation_type:"cardinal"},qi={arc_cornerRadius:0,arc_cornerRadius_ratio:0,arc_needle_show:!1,arc_needle_color:void 0,arc_needle_value:void 0,arc_needle_path:void 0,arc_needle_length:100,arc_needle_top_rx:0,arc_needle_top_ry:0,arc_needle_top_width:0,arc_needle_bottom_rx:1,arc_needle_bottom_ry:1,arc_needle_bottom_width:15,arc_needle_bottom_len:0,arc_rangeText_values:void 0,arc_rangeText_unit:"absolute",arc_rangeText_fixed:!1,arc_rangeText_format:void 0,arc_rangeText_position:void 0},T0={donut_label_show:!0,donut_label_format:void 0,donut_label_threshold:.05,donut_label_ratio:void 0,donut_width:void 0,donut_title:"",donut_expand:{},donut_expand_rate:.98,donut_expand_duration:50,donut_padAngle:0,donut_startingAngle:0},$0={funnel_neck_width:0,funnel_neck_height:0},S0={gauge_background:"",gauge_fullCircle:!1,gauge_label_show:!0,gauge_label_extents:void 0,gauge_label_format:void 0,gauge_label_ratio:void 0,gauge_label_threshold:0,gauge_enforceMinMax:!1,gauge_min:0,gauge_max:100,gauge_type:"single",gauge_startingAngle:-1*Math.PI/2,gauge_arcLength:100,gauge_title:"",gauge_units:void 0,gauge_width:void 0,gauge_arcs_minWidth:5,gauge_expand:{},gauge_expand_rate:.98,gauge_expand_duration:50},A0={pie_label_show:!0,pie_label_format:void 0,pie_label_ratio:void 0,pie_label_threshold:.05,pie_expand:{},pie_expand_rate:.98,pie_expand_duration:50,pie_innerRadius:0,pie_outerRadius:void 0,pie_padAngle:0,pie_padding:0,pie_startingAngle:0},E0={polar_label_show:!0,polar_label_format:void 0,polar_label_threshold:.05,polar_label_ratio:void 0,polar_level_depth:3,polar_level_max:void 0,polar_level_show:!0,polar_level_text_backgroundColor:"#fff",polar_level_text_format:t=>t%1===0?t:t.toFixed(2),polar_level_text_show:!0,polar_padAngle:0,polar_padding:0,polar_startingAngle:0},b0={radar_axis_max:void 0,radar_axis_line_show:!0,radar_axis_text_show:!0,radar_axis_text_position:{},radar_level_depth:3,radar_level_show:!0,radar_level_text_format:t=>t%1===0?t:t.toFixed(2),radar_level_text_show:!0,radar_size_ratio:.87,radar_direction_clockwise:!1},R0={treemap_tile:"binary",treemap_label_format:void 0,treemap_label_threshold:.05,treemap_label_show:!0};function da(t,e){xn(Gr.prototype,Object.values(Du).concat(t)),xn(Er.prototype,Jy),Nr.setOptions(Object.values(Lu).concat(e||[]))}function mr(t,e){da([ca,Zi,Nx].concat(t||[])),Nr.setOptions([Xr,y0].concat(e||[]))}function ha(t,e){xn(Gr.prototype,[px,ca].concat(t||[])),Nr.setOptions([Xr].concat(e||[]))}let rf=()=>(mr(sa,[fa]),(rf=()=>oe.AREA)()),af=()=>(mr(sa,[fa]),(af=()=>oe.AREA_LINE_RANGE)()),of=()=>(mr(sa,[fa]),(of=()=>oe.AREA_STEP_RANGE)()),sf=()=>(mr(sa,[fa,Is]),(sf=()=>oe.AREA_SPLINE)()),lf=()=>(mr(sa,[fa,Is]),(lf=()=>oe.AREA_SPLINE_RANGE)()),cf=()=>(mr(sa,[fa]),(cf=()=>oe.AREA_STEP)()),uf=()=>(mr(),(uf=()=>oe.LINE)()),ff=()=>(mr(void 0,[Is]),(ff=()=>oe.SPLINE)()),df=()=>(mr(),(df=()=>oe.STEP)()),hf=()=>(ha(void 0,[qi,T0]),(hf=()=>oe.DONUT)()),gf=()=>(ha([Mx],[qi,S0]),(gf=()=>oe.GAUGE)()),vf=()=>(ha(void 0,[qi,A0]),(vf=()=>oe.PIE)()),pf=()=>(ha([Ux],[qi,E0]),(pf=()=>oe.POLAR)()),mf=()=>(ha([Du.eventrect,Zi,jx],[Xr,b0,{axis_x_categories:Lu.optAxis.axis_x_categories}]),(mf=()=>oe.RADAR)()),yf=()=>(da([yx,ca],[v0,Xr]),(yf=()=>oe.BAR)()),xf=()=>(da([ca,Zi,xx],[p0,Xr]),(xf=()=>oe.BUBBLE)()),Tf=()=>(da([Ex,ca],[m0,Xr]),(Tf=()=>oe.CANDLESTICK)()),$f=()=>(da([ca,Zi],[Xr,x0]),($f=()=>oe.SCATTER)()),Sf=()=>(ha([wx],[$0]),(Sf=()=>oe.FUNNEL)()),Af=()=>(da([g0],[R0]),(Af=()=>oe.TREEMAP)()),Os={};const Ef={version:"3.14.1",generate(t){const e=ea({},Os,t),n=new Er(e);return n.internal.charts=this.instance,this.instance.push(n),n},defaults(t){return Be(t)&&(Os=t),Os},instance:[],plugin:{}};Object.keys(d).forEach(t=>d[t]()),Object.keys(u).forEach(t=>u[t]())}],Va={};function jn(x){var b=Va[x];if(b!==void 0)return b.exports;var r=Va[x]={exports:{}};return Cs[x].call(r.exports,r,r.exports,jn),r.exports}(function(){jn.d=function(x,b){for(var r in b)jn.o(b,r)&&!jn.o(x,r)&&Object.defineProperty(x,r,{enumerable:!0,get:b[r]})}})(),function(){jn.o=function(x,b){return Object.prototype.hasOwnProperty.call(x,b)}}(),function(){jn.r=function(x){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(x,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(x,"__esModule",{value:!0})}}(),jn(0);var Xa=jn(576);return Xa}()}); +`):[];if(c.length)return c;if(ze(l))return l;let f=o.tickWidth;(!f||f<=0)&&(f=i?95:o.isCategory?(o.isInverted?n(a[0])-n(a[1]):n(a[1])-n(a[0]))-12:110);function g(v,m){let S,P,N;for(let L=1;L{const S=v+1;return Se(this.helper.scale.domain());else{if(!arguments.length)return n.tickValues;n.tickValues=e}return this}setTransition(e){return this.config.transition=e,this}}var Iy=Object.defineProperty,Oy=(t,e,n)=>e in t?Iy(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,pr=(t,e,n)=>Oy(t,typeof e!="symbol"?e+"":e,n),Cy={getAxisInstance:function(){return this.axis||new Py(this)}};class Py{constructor(e){pr(this,"owner"),pr(this,"x"),pr(this,"subX"),pr(this,"y"),pr(this,"y2"),pr(this,"axesList",{}),pr(this,"tick",{x:null,y:null,y2:null}),pr(this,"xs",[]),pr(this,"orient",{x:"bottom",y:"left",y2:"right",subX:"bottom"}),this.owner=e,this.setOrient()}getAxisClassName(e){return`${dn.axis} ${dn[`axis${Dn(e)}`]}`}isHorizontal(e,n){const a=e.config.axis_rotated;return n?a:!a}isCategorized(){const{config:e,state:n}=this.owner;return e.axis_x_type.indexOf("category")>=0||n.hasRadar}isCustomX(){const{config:e}=this.owner;return!this.isTimeSeries()&&(e.data_x||cn(e.data_xs))}isTimeSeries(e="x"){return this.owner.config[`axis_${e}_type`]==="timeseries"}isLog(e="x"){return this.owner.config[`axis_${e}_type`]==="log"}isTimeSeriesY(){return this.isTimeSeries("y")}getAxisType(e="x"){let n="linear";return this.isTimeSeries(e)?n=this.owner.config.axis_x_localtime?"time":"utc":this.isLog(e)&&(n="log"),n}getExtent(){const e=this.owner,{config:n,scale:a}=e;let i=n.axis_x_extent;if(i){if(ve(i))i=i.bind(e.api)(e.getXDomain(e.data.targets),a.subX);else if(this.isTimeSeries()&&i.every(isNaN)){const s=zn.bind(e);i=i.map(o=>a.subX(s(o)))}}return i}init(){const e=this.owner,{config:n,$el:{main:a,axis:i},state:{clip:s}}=e,o=n.axis_rotated,l=["x","y"];n.axis_y2_show&&l.push("y2"),l.forEach(c=>{const f=this.getAxisClassName(c),g=dn[`axis${c.toUpperCase()}Label`];i[c]=a.append("g").attr("class",f).attr("clip-path",()=>{let v=null;return c==="x"?v=s.pathXAxis:c==="y"&&(v=s.pathYAxis),v}).attr("transform",e.getTranslate(c)).style("visibility",n[`axis_${c}_show`]?null:"hidden"),i[c].append("text").attr("class",g).attr("transform",["rotate(-90)",null][c==="x"?+!o:+o]).style("text-anchor",()=>this.textAnchorForAxisLabel(c)),this.generateAxes(c)}),n.axis_tooltip&&this.setAxisTooltip()}setOrient(){const e=this.owner,{axis_rotated:n,axis_y_inner:a,axis_y2_inner:i}=e.config;this.orient={x:n?"left":"bottom",y:n?a?"top":"bottom":a?"right":"left",y2:n?i?"bottom":"top":i?"left":"right",subX:n?"left":"bottom"}}generateAxes(e){const n=this.owner,{config:a}=n,i=[],s=a[`axis_${e}_axes`],o=a.axis_rotated;let l;e==="x"?l=o?Iu:Ru:e==="y"?l=o?Ru:Iu:e==="y2"&&(l=o?Ty:$y),s.length&&s.forEach(c=>{const f=c.tick||{},g=n.scale[e].copy();c.domain&&g.domain(c.domain),i.push(l(g).ticks(f.count).tickFormat(ve(f.format)?f.format.bind(n.api):v=>v).tickValues(f.values).tickSizeOuter(f.outer===!1?0:6))}),this.axesList[e]=i}updateAxes(){const e=this.owner,{config:n,$el:{main:a},$T:i}=e;Object.keys(this.axesList).forEach(s=>{const o=n[`axis_${s}_axes`],l=e.scale[s].copy(),c=l.range();this.axesList[s].forEach((f,g)=>{const v=f.scale().range();c.every((P,N)=>P===v[N])||f.scale().range(c);const m=`${this.getAxisClassName(s)}-${g+1}`;let S=a.select(`.${m.replace(/\s/,".")}`);S.empty()?S=a.append("g").attr("class",m).style("visibility",n[`axis_${s}_show`]?null:"hidden").call(f):(o[g].domain&&l.domain(o[g].domain),i(S).call(f.scale(l))),S.attr("transform",e.getTranslate(s,g+1))})})}setAxis(e,n,a,i){const s=this.owner;e!=="subX"&&(this.tick[e]=this.getTickValues(e)),this[e]=this.getAxis(e,n,a,e==="x"&&(s.scale.zoom||s.config.subchart_show||s.state.resizing)?!0:i)}getAxis(e,n,a,i,s){const o=this.owner,{config:l}=o,c=/^(x|subX)$/.test(e),f=c?"x":e,g=c&&this.isCategorized(),v=this.orient[e],m=s?0:o.getAxisTickRotate(f);let S;if(c)S=e==="subX"?o.format.subXAxisTick:o.format.xAxisTick;else{const X=l[`axis_${e}_tick_format`];ve(X)&&(S=X.bind(o.api))}let P=this.tick[f];const N=ea({outerTick:a,noTransition:i,config:l,id:e,tickTextRotate:m,owner:o},c&&{isCategory:g,isInverted:l.axis_x_inverted,tickMultiline:l.axis_x_tick_multiline,tickWidth:l.axis_x_tick_width,tickTitle:g&&l.axis_x_tick_tooltip&&o.api.categories(),orgXScale:o.scale.x});c||(N.tickStepSize=l[`axis_${f}_tick_stepSize`]);const L=new Ry(N).scale(c&&o.scale.zoom||n).orient(v);if(c&&this.isTimeSeries()&&P&&!ve(P)){const X=zn.bind(o);P=P.map(W=>X(W))}else!c&&this.isTimeSeriesY()&&(L.ticks(l.axis_y_tick_time_value),P=null);P&&L.tickValues(P),L.tickFormat(S||!c&&o.isStackNormalized()&&(X=>`${X}%`)),g&&(L.tickCentered(l.axis_x_tick_centered),qn(l.axis_x_tick_culling)&&(l.axis_x_tick_culling=!1));const w=l[`axis_${f}_tick_count`];return w&&L.ticks(w),L}updateXAxisTickValues(e,n){var a;const i=this.owner,{config:s}=i,o=s.axis_x_tick_fit;let l=s.axis_x_tick_count,c;return(o||l&&o)&&(c=i.mapTargetsToUniqueXs(e),this.isCategorized()&&l>c.length&&(l=c.length),c=this.generateTickValues(c,l,this.isTimeSeries())),n?n.tickValues(c):this.x&&(this.x.tickValues(c),(a=this.subX)==null||a.tickValues(c)),c}getId(e){const{config:n,scale:a}=this.owner;let i=n.data_axes[e];return(!i||!a[i])&&(i="y"),i}getXAxisTickFormat(e){const n=this.owner,{config:a,format:i}=n,s=e&&a.subchart_axis_x_tick_format||a.axis_x_tick_format,o=this.isTimeSeries(),l=this.isCategorized();let c;return s?ve(s)?c=s.bind(n.api):o&&(c=f=>f?i.axisTime(s)(f):""):c=o?i.defaultAxisTime:l?n.categoryName:f=>f<0?f.toFixed(0):f,ve(c)?f=>c.apply(n,l?[f,n.categoryName(f)]:[f]):c}getTickValues(e){const n=this.owner,a=n.config[`axis_${e}_tick_values`],i=n[`${e}Axis`];return(ve(a)?a.call(n.api):a)||(i?i.tickValues():void 0)}getLabelOptionByAxisId(e){return this.owner.config[`axis_${e}_label`]}getLabelText(e){const n=this.getLabelOptionByAxisId(e);return Xe(n)?n:n?n.text:null}setLabelText(e,n){const a=this.owner,{config:i}=a,s=this.getLabelOptionByAxisId(e);Xe(s)?i[`axis_${e}_label`]=n:s&&(s.text=n)}getLabelPosition(e,n){const a=this.owner.config.axis_rotated,i=this.getLabelOptionByAxisId(e),s=nr(i)&&i.position?i.position:n[+!a],o=l=>!!~s.indexOf(l);return{isInner:o("inner"),isOuter:o("outer"),isLeft:o("left"),isCenter:o("center"),isRight:o("right"),isTop:o("top"),isMiddle:o("middle"),isBottom:o("bottom")}}getAxisLabelPosition(e){return this.getLabelPosition(e,e==="x"?["inner-top","inner-right"]:["inner-right","inner-top"])}getLabelPositionById(e){return this.getAxisLabelPosition(e)}xForAxisLabel(e){const n=this.owner,{state:{width:a,height:i}}=n,s=this.getAxisLabelPosition(e);let o=s.isMiddle?-i/2:0;return this.isHorizontal(n,e!=="x")?o=s.isLeft?0:s.isCenter?a/2:a:s.isBottom&&(o=-i),o}dxForAxisLabel(e){const n=this.owner,a=this.getAxisLabelPosition(e);let i=a.isBottom?"0.5em":"0";return this.isHorizontal(n,e!=="x")?i=a.isLeft?"0.5em":a.isRight?"-0.5em":"0":a.isTop&&(i="-0.5em"),i}textAnchorForAxisLabel(e){const n=this.owner,a=this.getAxisLabelPosition(e);let i=a.isMiddle?"middle":"end";return this.isHorizontal(n,e!=="x")?i=a.isLeft?"start":a.isCenter?"middle":"end":a.isBottom&&(i="start"),i}dyForAxisLabel(e){const n=this.owner,{config:a}=n,i=a.axis_rotated,s=this.getAxisLabelPosition(e).isInner,o=a[`axis_${e}_tick_rotate`]?n.getHorizontalAxisHeight(e):0,{width:l}=this.getMaxTickSize(e);let c;if(e==="x"){const f=a.axis_x_height;i?c=s?"1.2em":-25-l:s?c="-0.5em":f?c=f-10:o?c=o-10:c="3em"}else c={y:["-0.5em",10,"3em","1.2em",10],y2:["1.2em",-20,"-2.2em","-0.5em",15]}[e],i?s?c=c[0]:o?c=o*(e==="y2"?-1:1)-c[1]:c=c[2]:c=s?c[3]:(c[4]+(a[`axis_${e}_inner`]?0:l+c[4]))*(e==="y"?-1:1);return c}getMaxTickSize(e,n){const a=this.owner,{config:i,state:{current:s},$el:{svg:o,chart:l}}=a,c=s.maxTickSize[e],f=`axis_${e}`,g={width:0,height:0};if(n||!i[`${f}_show`]||c.width>0&&a.filterTargetsToShow().length===0)return c;if(o){const v=/^y2?$/.test(e),m=a.filterTargetsToShow(a.data.targets),S=a.scale[e].copy().domain(a[`get${v?"Y":"X"}Domain`](m,e)),P=S.domain(),N=P[0]===P[1]&&P.every(K=>K>0),L=ze(c.domain)&&c.domain[0]===c.domain[1]&&c.domain.every(K=>K>0);if(N||L)return c.size;c.domain=P,v||c.ticks.splice(0);const w=this.getAxis(e,S,!1,!1,!0),X=i[`${f}_tick_rotate`],W=i[`${f}_tick_count`];!i[`${f}_tick_values`]&&W&&w.tickValues(this.generateTickValues(P,W,v?this.isTimeSeriesY():this.isTimeSeries())),!v&&this.updateXAxisTickValues(m,w);const Q=l.append("svg").style("visibility","hidden").style("position","fixed").style("top","0").style("left","0");w.create(Q),Q.selectAll("text").attr("transform",he(X)?`rotate(${X})`:null).each(function(K,at){const{width:ht,height:St}=this.getBoundingClientRect();g.width=Math.max(g.width,ht),g.height=Math.max(g.height,St),v||(c.ticks[at]=ht)}),Q.remove()}return Object.keys(g).forEach(v=>{g[v]>0&&(c[v]=g[v])}),c}getXAxisTickTextY2Overflow(e){const n=this.owner,{axis:a,config:i,state:{current:s,isLegendRight:o,legendItemWidth:l}}=n,c=n.getAxisTickRotate("x"),f=c>0&&c<90;if((a.isCategorized()||a.isTimeSeries())&&i.axis_x_tick_fit&&(!i.axis_x_tick_culling||qn(i.axis_x_tick_culling))&&!i.axis_x_tick_multiline&&f){const g=i.axis_y2_show&&s.maxTickSize.y2.width||0,v=o&&l||0,m=s.width-n.getCurrentPaddingByDirection("left"),S=this.getXAxisTickMaxOverflow(c,m-e)-g-v,P=Math.max(0,S)+e;return Math.min(P,m/2)}return 0}getXAxisTickMaxOverflow(e,n){const a=this.owner,{axis:i,config:s,state:o}=a,l=i.isTimeSeries(),c=o.current.maxTickSize.x.ticks,f=c.length,{left:g,right:v}=o.axis.x.padding;let m=0;const S=f-(l&&s.axis_x_tick_fit?.5:0);for(let L=0;L!s[o].empty()).forEach(o=>{const l=s[o];i(l,e).attr("x",()=>this.xForAxisLabel(o)).attr("dx",()=>this.dxForAxisLabel(o)).attr("dy",()=>this.dyForAxisLabel(o)).text(()=>this.getLabelText(o))})}getPadding(e,n,a,i){const s=he(e)?e:e[n];return De(s)?this.owner.convertPixelToScale(/(bottom|top)/.test(n)?"y":"x",s,i):a}generateTickValues(e,n,a){let i=e;if(n){const s=ve(n)?n():n;if(s===1)i=[e[0]];else if(s===2)i=[e[0],e[e.length-1]];else if(s>2){const o=this.isCategorized(),l=s-2,c=e[0],f=e[e.length-1],g=(f-c)/(l+1);let v;i=[c];for(let m=0;ms-o)),i}generateTransitions(e){const n=this.owner,{$el:{axis:a},$T:i}=n,[s,o,l,c]=["x","y","y2","subX"].map(f=>i(a[f],e));return{axisX:s,axisY:o,axisY2:l,axisSubX:c}}redraw(e,n,a){const i=this.owner,{config:s,$el:o}=i,l=n?"0":null;["x","y","y2","subX"].forEach(c=>{const f=this[c],g=o.axis[c];f&&g&&(!a&&!s.transition_duration&&(f.config.withoutTransition=!0),g.style("opacity",l),f.create(e[`axis${Dn(c)}`]))}),this.updateAxes()}redrawAxis(e,n,a,i,s){var o,l,c;const f=this.owner,{config:g,scale:v,$el:m}=f,S=!!v.zoom;let P;!S&&this.isCategorized()&&e.length===0&&v.x.domain([0,m.axis.x.selectAll(".tick").size()]),v.x&&e.length?(!S&&f.updateXDomain(e,n.UpdateXDomain,n.UpdateOrgXDomain,n.TrimXDomain),g.axis_x_tick_values||this.updateXAxisTickValues(e)):this.x&&(this.x.tickValues([]),(o=this.subX)==null||o.tickValues([])),g.zoom_rescale&&!i&&(P=v.x.orgDomain()),["y","y2"].forEach(N=>{const L=`axis_${N}_`,w=v[N];if(w){const X=g[`${L}tick_values`],W=g[`${L}tick_count`];if(w.domain(f.getYDomain(e,N,P)),!X&&W){const Y=f.axis[N],Q=w.domain();Y.tickValues(this.generateTickValues(Q,Q.every(K=>K===0)?1:W,this.isTimeSeriesY()))}}}),this.redraw(a,f.hasArcType(),s),this.updateLabels(n.Transition),(n.UpdateXDomain||n.UpdateXAxis||n.Y)&&e.length&&this.setCulling(),n.Y&&((l=v.subY)==null||l.domain(f.getYDomain(e,"y")),(c=v.subY2)==null||c.domain(f.getYDomain(e,"y2")))}setCulling(){const e=this.owner,{config:n,state:{clip:a,current:i},$el:s}=e;["subX","x","y","y2"].forEach(o=>{const l=s.axis[o],f=`axis_${o==="subX"?"x":o}_tick_culling`,g=n[f];if(l&&g){const v=l.selectAll(".tick"),m=na(v.data()),S=m.length,P=n[`${f}_max`],N=n[`${f}_lines`];let L;if(S){for(let w=1;w{var f,g,v;if(o[c]=(f=s[c])==null?void 0:f.append("text").classed(dn[`axis${c.toUpperCase()}Tooltip`],!0).attr("filter",n.updateTextBGColor({id:c},l)),a){const m=c==="x"?"x":"y",S=c==="y"?"1.15em":c==="x"?"-0.3em":"-0.4em";(g=o[c])==null||g.attr(m,S).attr(`d${c==="x"?"y":"x"}`,c==="x"?"0.4em":"-1.3em").style("text-anchor",c==="x"?"end":null)}else{const m=c==="x"?"y":"x",S=c==="x"?"1.15em":`${c==="y"?"-":""}0.4em`;(v=o[c])==null||v.attr(m,S).attr(`d${c==="x"?"x":"y"}`,c==="x"?"-1em":"0.3em").style("text-anchor",c==="y"?"end":null)}})}}var wy={initEventRect(){this.$el.main.select(`.${Se.chart}`).append("g").attr("class",Zn.eventRects).style("fill-opacity","0")},redrawEventRect(){var t;const e=this,{config:n,state:a,$el:i}=e,s=e.isMultipleX(),o=n.axis_x_inverted;if(i.eventRect)e.updateEventRect(i.eventRect,!0);else if(e.data.targets.length){const c=e.$el.main.select(`.${Zn.eventRects}`).style("cursor",n.zoom_enabled&&n.zoom_type!=="drag"?n.axis_rotated?"ns-resize":"ew-resize":null).classed(Zn.eventRectsMultiple,s).classed(Zn.eventRectsSingle,!s).selectAll(`.${Zn.eventRect}`).data([0]).enter().append("rect");e.updateEventRect(c),e.updateEventType(c),c.call(e.getDraggableSelection()),i.eventRect=c,e.state.inputType==="touch"&&!i.svg.on("touchstart.eventRect")&&!e.hasArcType()&&e.bindTouchOnEventRect(),a.rendered&&e.updateEventRect(i.eventRect,!0)}if(!s){const l=e.getMaxDataCountTarget();(!n.data_xSort||o)&&l.sort((c,f)=>o?f.x-c.x:c.x-f.x),e.updateDataIndexByX(l),e.updateXs(l),(t=e.updatePointClass)==null||t.call(e,!0),a.eventReceiver.data=l}e.updateEventRectData()},bindTouchOnEventRect(){const t=this,{config:e,state:n,$el:{eventRect:a,svg:i}}=t,s=m=>{if(t.isMultipleX())t.selectRectForMultipleXs(m);else{const S=t.getDataIndexFromEvent(n.event);t.callOverOutForTouch(S),S===-1?t.unselectRect():t.selectRectForSingle(m,S)}},o=()=>{t.unselectRect(),t.callOverOutForTouch()},l=e.interaction_inputType_touch.preventDefault,c=Os(l)&&l||!1,f=!isNaN(l)&&l||null;let g;const v=m=>{const S=m.type,N=m.changedTouches[0][`client${e.axis_rotated?"Y":"X"}`];S==="touchstart"?c?m.preventDefault():f!==null&&(g=N):S==="touchmove"&&(c||g===!0||f!==null&&Math.abs(g-N)>=f)&&(g=!0,m.preventDefault())};a.on("touchstart",m=>{n.event=m,t.updateEventRect()}).on("touchstart.eventRect touchmove.eventRect",m=>{if(n.event=m,!a.empty()&&a.classed(Zn.eventRect)){if(n.dragging||n.flowing||t.hasArcType()||m.touches.length>1)return;v(m),s(a.node())}else o()},!0).on("touchend.eventRect",m=>{n.event=m,!a.empty()&&a.classed(Zn.eventRect)&&(t.hasArcType()||!t.toggleShape||n.cancelClick)&&n.cancelClick&&(n.cancelClick=!1)},!0),i.on("touchstart",m=>{n.event=m;const{target:S}=m;S&&S!==a.node()&&o()})},updateEventRect(t,e=!1){const n=this,{state:a,$el:i}=n,{eventReceiver:s,width:o,height:l,rendered:c,resizing:f}=a,g=t||i.eventRect,v=()=>{if(s){const m=Zl(i.chart.node());s.rect=g.node().getBoundingClientRect().toJSON(),s.rect.top+=m.y,s.rect.left+=m.x}};(!c||f||e)&&(g.attr("x",0).attr("y",0).attr("width",o).attr("height",l),(!c||e)&&g.classed(Zn.eventRect,!0)),v()},updateEventType(t){const e=this,n=Os(t),a=n?e.$el.eventRect:t,i=n?t!==(a==null?void 0:a.datum().multipleX):!1;a&&(i&&(a==null||a.on("mouseover mousemove mouseout click",null)),e.isMultipleX()?e.generateEventRectsForMultipleXs(a):e.generateEventRectsForSingleX(a))},updateEventRectData(){const t=this,{config:e,scale:n,state:a}=t,i=n.zoom||n.x,s=e.axis_rotated,o=t.isMultipleX();let l,c,f,g;if(t.updateEventType(o),o)l=0,c=0,f=a.width,g=a.height;else{let S,P;if(t.axis.isCategorized())S=t.getEventRectWidth(),P=N=>i(N.x)-S/2;else{const N=({index:L})=>({prev:t.getPrevX(L),next:t.getNextX(L)});S=L=>{const w=N(L),X=i.domain();let W;return w.prev===null&&w.next===null?W=s?a.height:a.width:w.prev===null?W=(i(w.next)+i(L.x))/2:w.next===null?W=i(X[1])-(i(w.prev)+i(L.x))/2:(Object.keys(w).forEach((Y,Q)=>{var K;w[Y]=(K=w[Y])!=null?K:X[Q]}),W=Math.max(0,(i(w.next)-i(w.prev))/2)),W},P=L=>{const w=N(L);let X;return w.prev===null&&w.next===null?X=0:w.prev===null?X=i(i.domain()[0]):X=(i(L.x)+i(w.prev))/2,X}}l=s?0:P,c=s?P:0,f=s?a.width:S,g=s?S:a.height}const{eventReceiver:v}=a,m=(S,P)=>ve(S)?S(P):S;v.coords.splice(v.data.length),v.data.forEach((S,P)=>{v.coords[P]={x:m(l,S),y:m(c,S),w:m(f,S),h:m(g,S)}})},selectRectForSingle(t,e){var n,a;const i=this,{config:s,$el:{main:o,circle:l}}=i,c=s.data_selection_enabled,f=s.data_selection_grouped,g=s.data_selection_isselectable,v=s.tooltip_grouped,m=i.getAllValuesOnIndex(e);if(v&&(i.showTooltip(m,t),(n=i.showGridFocus)==null||n.call(i,m),!c||f))return;!l&&o.selectAll(`.${Se.EXPANDED}:not(.${on.shape}-${e})`).classed(Se.EXPANDED,!1);const S=o.selectAll(`.${on.shape}-${e}`).classed(Se.EXPANDED,!0).style("cursor",g?"pointer":null).filter(function(P){return i.isWithinShape(this,P)});S.empty()&&!v&&s.interaction_onout&&((a=i.hideGridFocus)==null||a.call(i),i.hideTooltip(),!f&&i.setExpand(e)),S.call(P=>{var N,L;const w=P.data();c&&(f||g!=null&&g.bind(i.api)(w))&&(t.style.cursor="pointer"),v||(i.showTooltip(w,t),(N=i.showGridFocus)==null||N.call(i,w),(L=i.unexpandCircles)==null||L.call(i),P.each(X=>i.setExpand(e,X.id)))})},selectRectForMultipleXs(t,e=!0){const n=this,{config:a,state:i}=n,s=n.filterTargetsToShow(n.data.targets);if(i.dragging||n.hasArcType(s))return;const o=Hn(i.event,t),l=n.findClosestFromTargets(s,o);if(e&&i.mouseover&&(!l||l.id!==i.mouseover.id)&&(a.data_onout.call(n.api,i.mouseover),i.mouseover=void 0),!l){n.unselectRect();return}const f=(n.isBubbleType(l)||n.isScatterType(l)||!a.tooltip_grouped?[l]:n.filterByX(s,l.x)).map(v=>n.addName(v));n.showTooltip(f,t),n.setExpand(l.index,l.id,!0),n.showGridFocus(f);const g=n.dist(l,o);(n.isBarType(l.id)||g{const c=l?e.getDataIndexFromEvent(l):i.currentIdx;return c>-1?i.data[c]:null};s.on("mouseover",l=>{a.event=l,e.updateEventRect(),Object.values(e.$el.axisTooltip).forEach(c=>c==null?void 0:c.style("display",null))}).on("mousemove",function(l){const c=o(l);if(a.event=l,!c)return;let{index:f}=c;const g=n.line_step_type;if(n.line_step_tooltipMatch&&e.hasType("step")&&/^step\-(before|after)$/.test(g)){const m=e.scale.zoom||e.scale.x,S=e.axis.xs[f],P=m.invert(Hn(l,this)[0]);g==="step-after"&&PS&&(f+=1)}e.showAxisGridFocus();const v=n.tooltip_grouped&&f===i.currentIdx;if(a.dragging||a.flowing||e.hasArcType()||v){n.tooltip_show&&v&&e.setTooltipPosition();return}f!==i.currentIdx&&(e.setOverOut(!1,i.currentIdx),i.currentIdx=f),f===-1?e.unselectRect():e.selectRectForSingle(this,f),e.setOverOut(f!==-1,f)}).on("mouseout",l=>{a.event=l,!(!n||e.hasArcType()||i.currentIdx===-1||!n.interaction_onout)&&(e.hideAxisGridFocus(),e.unselectRect(),e.setOverOut(!1,i.currentIdx),i.currentIdx=-1)})}return s},clickHandlerForSingleX(t,e){const n=e,{config:a,state:i,$el:{main:s}}=n;if(!t||n.hasArcType()||i.cancelClick){i.cancelClick&&(i.cancelClick=!1);return}const{index:o}=t;s.selectAll(`.${on.shape}-${o}`).each(function(l){var c;(a.data_selection_grouped||n.isWithinShape(this,l))&&((c=n.toggleShape)==null||c.call(n,this,l,o),a.data_onclick.bind(n.api)(l,this))})},generateEventRectsForMultipleXs(t){const e=this,{config:n,state:a}=e;t.on("click",function(i){a.event=i,e.clickHandlerForMultipleXS.bind(this)(e)}).datum({multipleX:!0}),a.inputType==="mouse"&&t.on("mouseover mousemove",function(i){a.event=i,e.selectRectForMultipleXs(this)}).on("mouseout",i=>{a.event=i,!(!e.config||e.hasArcType()||!n.interaction_onout)&&e.unselectRect()})},clickHandlerForMultipleXS(t){const e=t,{config:n,state:a}=e,i=e.filterTargetsToShow(e.data.targets);if(e.hasArcType(i))return;const s=Hn(a.event,this),o=e.findClosestFromTargets(i,s),l=e.getPointSensitivity(o);o&&(e.isBarType(o.id)||e.dist(o,s)+t;var Dy={generateFlow(t){const e=this,{data:n,state:a,$el:i}=e;return function(){const s=t.flow.length;a.flowing=!0,n.targets.forEach(l=>{l.values.splice(0,s)}),e.updateXGrid&&e.updateXGrid(!0);const o={};["axis.x","grid.x","gridLines.x","region.list","text","bar","line","area","circle"].forEach(l=>{const c=l.split(".");let f=i[c[0]];f&&c.length>1&&(f=f[c[1]]),f!=null&&f.size()&&(o[l]=f)}),e.hideGridFocus(),e.setFlowList(o,t)}},setFlowList(t,e){const n=this,{flow:a,targets:i}=e,{duration:s=e.duration,index:o,length:l,orgDataCount:c}=a,f=n.getFlowTransform(i,c,o,l),g=ec();let v;g.add(Object.keys(t).map(m=>(v=t[m].transition().ease(My).duration(s),m==="axis.x"?v=v.call(S=>{n.axis.x.setTransition(S).create(S)}):m==="region.list"?v=v.filter(n.isRegionOnX).attr("transform",f):v=v.attr("transform",f),v))),v.call(g,()=>{n.cleanUpFlow(t,e)})},cleanUpFlow(t,e){const n=this,{config:a,state:i,$el:{svg:s}}=n,o=a.axis_rotated,{flow:l,shape:c,xv:f}=e,{cx:g,cy:v,xForText:m,yForText:S}=c.pos,{done:P=()=>{},length:N}=l;N&&(["circle","text","shape","eventRect"].forEach(L=>{const w=[];for(let X=0;X{const w=t[L];if(L!=="axis.x"&&w.attr("transform",null),L==="grid.x")w.attr(i.xgridAttr);else if(L==="gridLines.x")w.attr("x1",o?0:f).attr("x2",o?i.width:f),w.select("text").attr("x",o?i.width:0).attr("y",f);else if(/^(area|bar|line)$/.test(L))w.attr("d",c.type[L]);else if(L==="text")w.attr("x",m).attr("y",S).style("fill-opacity",n.opacityForText.bind(n));else if(L==="circle")if(n.isCirclePoint())w.attr("cx",g).attr("cy",v);else{const X=Y=>g(Y)-a.point_r,W=Y=>v(Y)-a.point_r;w.attr("x",X).attr("y",W)}else L==="region.list"&&w.select("rect").filter(n.isRegionOnX).attr("x",n.regionX.bind(n)).attr("width",n.regionWidth.bind(n))}),a.interaction_enabled&&n.redrawEventRect(),P.call(n.api),i.flowing=!1},getFlowTransform(t,e,n,a){const i=this,{data:s,scale:{x:o}}=i,l=s.targets[0].values;let c=i.getValueOnIndex(l,n),f=i.getValueOnIndex(l,n+a),g;const v=o.domain(),m=i.updateXDomain(t,!0,!0);e?e===1||(c==null?void 0:c.x)===(f==null?void 0:f.x)?g=o(v[0])-o(m[0]):g=i.axis.isTimeSeries()?o(v[0])-o(m[0]):o((c==null?void 0:c.x)||0)-o(f.x):l.length!==1?g=o(v[0])-o(m[0]):i.axis.isTimeSeries()?(c=i.getValueOnIndex(l,0),f=i.getValueOnIndex(l,l.length-1),g=o(c.x)-o(f.x)):g=Dr(m)/2;const S=Dr(v)/Dr(m);return`translate(${g},0) scale(${S},1)`}},Ly={initClip(){const t=this,{clip:e,datetimeId:n}=t.state;e.id=`${n}-clip`,e.idXAxis=`${e.id}-xaxis`,e.idYAxis=`${e.id}-yaxis`,e.idGrid=`${e.id}-grid`,e.path=t.getClipPath(e.id),e.pathXAxis=t.getClipPath(e.idXAxis),e.pathYAxis=t.getClipPath(e.idYAxis),e.pathGrid=t.getClipPath(e.idGrid)},getClipPath(t){const e=this,{config:n}=e;return!n.clipPath&&/-clip$/.test(t)||!n.axis_x_clipPath&&/-clip-xaxis$/.test(t)||!n.axis_y_clipPath&&/-clip-yaxis$/.test(t)?null:`url(#${t})`},appendClip(t,e){e&&t.append("clipPath").attr("id",e).append("rect")},setXAxisClipPath(t){const e=this,{config:n,state:{margin:a,width:i,height:s}}=e,o=n.axis_rotated,l=Math.max(30,a.left)-(o?0:20),c=(o?a.top+s+10:a.bottom)+20,f=o?-(1+l):-(l-1),g=-15,v=o?a.left+20:i+10+l;t.attr("x",f).attr("y",g).attr("width",v).attr("height",c)},setYAxisClipPath(t){const e=this,{config:n,state:{margin:a,width:i,height:s}}=e,o=n.axis_rotated,l=Math.max(30,a.left)-(o?20:0),c=n.axis_y_inner,f=c&&!o?n.axis_y_label.text?-20:-1:o?-(1+l):-(l-1),g=-(o?20:a.top),v=(o?i+15+l:a.left+20)+(c?20:0),m=(o?a.bottom+10:a.top+s)+10;t.attr("x",f).attr("y",g).attr("width",v).attr("height",m)},updateXAxisTickClip(){const t=this,{config:e,state:{clip:n,xAxisHeight:a},$el:{defs:i}}=t,s=t.getHorizontalAxisHeight("x");if(i&&!n.idXAxisTickTexts){const o=`${n.id}-xaxisticktexts`;t.appendClip(i,o),n.pathXAxisTickTexts=t.getClipPath(n.idXAxisTickTexts),n.idXAxisTickTexts=o}!e.axis_x_tick_multiline&&t.getAxisTickRotate("x")&&s!==a&&(t.setXAxisTickClipWidth(),t.setXAxisTickTextClipPathWidth()),t.state.xAxisHeight=s},setXAxisTickClipWidth(){const t=this,{config:e,state:{current:{maxTickSize:n}}}=t,a=t.getAxisTickRotate("x");if(!e.axis_x_tick_multiline&&a){const i=Math.sin(Math.PI/180*Math.abs(a));n.x.clipPath=(t.getHorizontalAxisHeight("x")-20)/i}else n.x.clipPath=null},setXAxisTickTextClipPathWidth(){const t=this,{state:{clip:e,current:n},$el:{svg:a}}=t;a&&a.select(`#${e.idXAxisTickTexts} rect`).attr("width",n.maxTickSize.x.clipPath).attr("height",30)}};const Ny=t=>De(t.position)||"end",Fy=t=>t.position==="start"?4:t.position==="middle"?0:-4;function Cu(t,e,n){return a=>{let i=t?0:e;return a.position==="start"?i=t?-n:0:a.position==="middle"&&(i=(t?-n:e)/2),i}}function Pu(t,e){e==="grid"&&t.each(function(){const n=st(this);["x1","x2","y1","y2"].forEach(a=>n.attr(a,+n.attr(a)))})}var By={hasGrid(){const{config:t}=this;return["x","y"].some(e=>t[`grid_${e}_show`]||t[`grid_${e}_lines`].length)},initGrid(){const t=this;t.hasGrid()&&t.initGridLines(),t.initFocusGrid()},initGridLines(){const t=this,{config:e,state:{clip:n},$el:a}=t;(e.grid_x_lines.length||e.grid_y_lines.length)&&(a.gridLines.main=a.main.insert("g",`.${Se.chart}${e.grid_lines_front?" + *":""}`).attr("clip-path",n.pathGrid).attr("class",`${sn.grid} ${sn.gridLines}`),a.gridLines.main.append("g").attr("class",sn.xgridLines),a.gridLines.main.append("g").attr("class",sn.ygridLines),a.gridLines.x=Uc([]))},updateXGrid(t){const e=this,{config:n,scale:a,state:i,$el:{main:s,grid:o}}=e,l=n.axis_rotated,c=e.generateGridData(n.grid_x_type,a.x),f=e.axis.isCategorized()?e.axis.x.tickOffset():0,g=v=>(a.zoom||a.x)(v)+f*(l?-1:1);i.xgridAttr=l?{x1:0,x2:i.width,y1:g,y2:g}:{x1:g,x2:g,y1:0,y2:i.height},o.x=s.select(`.${sn.xgrids}`).selectAll(`.${sn.xgrid}`).data(c),o.x.exit().remove(),o.x=o.x.enter().append("line").attr("class",sn.xgrid).merge(o.x),t||o.x.each(function(){const v=st(this);Object.keys(i.xgridAttr).forEach(m=>{v.attr(m,i.xgridAttr[m]).style("opacity",()=>v.attr(l?"y1":"x1")===(l?i.height:0)?"0":null)})})},updateYGrid(){const t=this,{axis:e,config:n,scale:a,state:i,$el:{grid:s,main:o}}=t,l=n.axis_rotated,c=g=>a.y(g),f=e.y.getGeneratedTicks(n.grid_y_ticks)||t.scale.y.ticks(n.grid_y_ticks);s.y=o.select(`.${sn.ygrids}`).selectAll(`.${sn.ygrid}`).data(f),s.y.exit().remove(),s.y=s.y.enter().append("line").attr("class",sn.ygrid).merge(s.y),s.y.attr("x1",l?c:0).attr("x2",l?c:i.width).attr("y1",l?0:c).attr("y2",l?i.height:c),Pu(s.y,"grid")},updateGrid(){const t=this,{$el:{grid:e,gridLines:n}}=t;!n.main&&t.initGridLines(),e.main.style("visibility",t.hasArcType()?"hidden":null),t.hideGridFocus(),t.updateGridLines("x"),t.updateGridLines("y")},updateGridLines(t){const e=this,{config:n,$el:{gridLines:a,main:i},$T:s}=e,o=n.axis_rotated,l=t==="x";n[`grid_${t}_show`]&&e[`update${t.toUpperCase()}Grid`]();let c=i.select(`.${sn[`${t}gridLines`]}`).selectAll(`.${sn[`${t}gridLine`]}`).data(n[`grid_${t}_lines`]);s(c.exit()).style("opacity","0").remove();const f=c.enter().append("g");f.append("line").style("opacity","0"),c=f.merge(c),c.each(function(g){const v=st(this);v.select("text").empty()&&g.text&&v.append("text").style("opacity","0")}),s(c.attr("class",g=>`${sn[`${t}gridLine`]} ${g.class||""}`.trim()).select("text").attr("text-anchor",Ny).attr("transform",()=>l?o?null:"rotate(-90)":o?"rotate(-90)":null).attr("dx",Fy).attr("dy",-5)).text(function(g){var v;return(v=g.text)!=null?v:this.remove()}),a[t]=c},redrawGrid(t){const e=this,{config:{axis_rotated:n},state:{width:a,height:i},$el:{gridLines:s},$T:o}=e,l=e.xv.bind(e),c=e.yv.bind(e);let f=s.x.select("line"),g=s.x.select("text"),v=s.y.select("line"),m=s.y.select("text");return f=o(f,t).attr("x1",n?0:l).attr("x2",n?a:l).attr("y1",n?l:0).attr("y2",n?l:i),g=o(g,t).attr("x",Cu(!n,a,i)).attr("y",l),v=o(v,t).attr("x1",n?c:0).attr("x2",n?c:a).attr("y1",n?0:c).attr("y2",n?i:c),m=o(m,t).attr("x",Cu(n,a,i)).attr("y",c),[f.style("opacity",null),g.style("opacity",null),v.style("opacity",null),m.style("opacity",null)]},initFocusGrid(){const t=this,{config:e,state:{clip:n},$el:a}=t,i=e.grid_front,s=`.${i&&a.gridLines.main?sn.gridLines:Se.chart}${i?" + *":""}`,o=a.main.insert("g",s).attr("clip-path",n.pathGrid).attr("class",sn.grid);if(a.grid.main=o,e.grid_x_show&&o.append("g").attr("class",sn.xgrids),e.grid_y_show&&o.append("g").attr("class",sn.ygrids),e.axis_tooltip){const l=o.append("g").attr("class","bb-axis-tooltip");l.append("line").attr("class","bb-axis-tooltip-x"),l.append("line").attr("class","bb-axis-tooltip-y")}e.interaction_enabled&&e.grid_focus_show&&!e.axis_tooltip&&(o.append("g").attr("class",qe.xgridFocus).append("line").attr("class",qe.xgridFocus),e.grid_focus_y&&!e.tooltip_grouped&&o.append("g").attr("class",qe.ygridFocus).append("line").attr("class",qe.ygridFocus))},showAxisGridFocus(){var t,e;const n=this,{config:a,format:i,state:{event:s,width:o,height:l}}=n,c=a.axis_rotated,[f,g]=Hn(s,(t=n.$el.eventRect)==null?void 0:t.node()),v={x:f,y:g};for(const[m,S]of Object.entries(n.$el.axisTooltip)){const P=m==="x"&&!c||m!=="x"&&c?"x":"y",N=v[P];let L=(e=n.scale[m])==null?void 0:e.invert(N);L&&(L=m==="x"&&n.axis.isTimeSeries()?i.xAxisTick(L):L==null?void 0:L.toFixed(2),S==null||S.attr(P,N).text(L))}n.$el.main.selectAll("line.bb-axis-tooltip-x, line.bb-axis-tooltip-y").style("visibility",null).each(function(m,S){const P=st(this);S===0?P.attr("x1",f).attr("x2",f).attr("y1",S?0:l).attr("y2",S?l:0):P.attr("x1",S?0:o).attr("x2",S?o:0).attr("y1",g).attr("y2",g)})},hideAxisGridFocus(){const t=this;t.$el.main.selectAll("line.bb-axis-tooltip-x, line.bb-axis-tooltip-y").style("visibility","hidden"),Object.values(t.$el.axisTooltip).forEach(e=>e==null?void 0:e.style("display","none"))},showGridFocus(t){var e;const n=this,{config:a,state:{width:i,height:s}}=n,o=a.axis_rotated,l=n.$el.main.selectAll(`line.${qe.xgridFocus}, line.${qe.ygridFocus}`),c=(t||[l.datum()]).filter(v=>v&&De(n.getBaseValue(v)));if(!a.tooltip_show||c.length===0||!a.axis_x_forceAsSingle&&n.hasType("bubble")||n.hasArcType())return;const f=a.grid_focus_edge&&!a.tooltip_grouped,g=n.xx.bind(n);l.style("visibility",null).data(c.concat(c)).each(function(v){const m=st(this),S={x:g(v),y:n.getYScaleById(v.id)(v.value)};let P;if(m.classed(qe.xgridFocus))P=o?[null,S.x,f?S.y:i,S.x]:[S.x,f?S.y:null,S.x,s];else{const N=n.axis.getId(v.id)==="y2";P=o?[S.y,f&&!N?S.x:null,S.y,f&&N?S.x:s]:[f&&N?S.x:null,S.y,f&&!N?S.x:i,S.y]}["x1","y1","x2","y2"].forEach((N,L)=>m.attr(N,P[L]))}),Pu(l,"grid"),(e=n.showCircleFocus)==null||e.call(n,t)},hideGridFocus(){var t;const e=this,{state:{inputType:n,resizing:a},$el:{main:i}}=e;(n==="mouse"||!a)&&(i.selectAll(`line.${qe.xgridFocus}, line.${qe.ygridFocus}`).style("visibility","hidden"),(t=e.hideCircleFocus)==null||t.call(e))},updateGridFocus(){var t;const e=this,{state:{inputType:n,width:a,height:i,resizing:s},$el:{grid:o}}=e,l=o.main.select(`line.${qe.xgridFocus}`);if(n==="touch")l.empty()?s&&((t=e.showCircleFocus)==null||t.call(e)):e.showGridFocus();else{const c=e.config.axis_rotated;l.attr("x1",c?0:-10).attr("x2",c?a:-10).attr("y1",c?-10:0).attr("y2",c?-10:i)}return!0},generateGridData(t,e){const n=this,a=n.$el.main.select(`.${dn.axisX}`).selectAll(".tick").size();let i=[];if(t==="year"){const s=n.getXDomain(),[o,l]=s.map(c=>c.getFullYear());for(let c=o;c<=l;c++)i.push(new Date(`${c}-01-01 00:00:00`))}else i=e.ticks(10),i.length>a&&(i=i.filter(s=>String(s).indexOf(".")<0));return i},getGridFilterToRemove(t){return t?e=>{let n=!1;return(ze(t)?t.concat():[t]).forEach(a=>{("value"in a&&e.value===a.value||"class"in a&&e.class===a.class)&&(n=!0)}),n}:()=>!0},removeGridLines(t,e){const n=this,{config:a,$T:i}=n,s=n.getGridFilterToRemove(t),o=g=>!s(g),l=e?sn.xgridLines:sn.ygridLines,c=e?sn.xgridLine:sn.ygridLine;i(n.$el.main.select(`.${l}`).selectAll(`.${c}`).filter(s)).style("opacity","0").remove();const f=`grid_${e?"x":"y"}_lines`;a[f]=a[f].filter(o)}},Uy={initRegion(){const t=this,{$el:e}=t;e.region.main=e.main.insert("g",":first-child").attr("clip-path",t.state.clip.path).attr("class",$a.regions)},updateRegion(){const t=this,{config:e,$el:{region:n},$T:a}=t;n.main||t.initRegion(),n.main.style("visibility",t.hasArcType()?"hidden":null);const i=n.main.selectAll(`.${$a.region}`).data(e.regions);a(i.exit()).style("opacity","0").remove();const s=i.enter().append("g");s.append("rect").style("fill-opacity","0"),n.list=s.merge(i).attr("class",t.classRegion.bind(t)),n.list.each(function(o){var l;st(this).select("text").empty()&&((l=o.label)!=null&&l.text)&&st(this).append("text").style("opacity","0")})},redrawRegion(t){const e=this,{$el:{region:n},$T:a}=e;let i=n.list.select("rect"),s=n.list.selectAll("text");return i=a(i,t).attr("x",e.regionX.bind(e)).attr("y",e.regionY.bind(e)).attr("width",e.regionWidth.bind(e)).attr("height",e.regionHeight.bind(e)),s=a(s,t).attr("transform",o=>{var l;const{x:c=0,y:f=0,rotated:g=!1}=(l=o.label)!=null?l:{};return`translate(${e.regionX.bind(e)(o)+c}, ${e.regionY.bind(e)(o)+f})${g?" rotate(-90)":""}`}).attr("text-anchor",o=>{var l;return(l=o.label)!=null&&l.rotated?"end":null}).attr("dy","1em").style("fill",o=>{var l,c;return(c=(l=o.label)==null?void 0:l.color)!=null?c:null}).text(o=>{var l;return(l=o.label)==null?void 0:l.text}),[i.style("fill-opacity",o=>De(o.opacity)?o.opacity:null).on("end",function(){st(this.parentNode).selectAll("rect:not([x])").remove()}),s.style("opacity",null)]},getRegionXY(t,e){const n=this,{config:a,scale:i}=n,s=a.axis_rotated,o=t==="x";let l="start",c,f=0;return e.axis==="y"||e.axis==="y2"?(o||(l="end"),(o?s:!s)&&l in e&&(c=i[e.axis],f=c(e[l]))):(o?!s:s)&&l in e&&(c=i.zoom||i.x,f=c(n.axis.isTimeSeries()?zn.call(n,e[l]):e[l])),f},regionX(t){return this.getRegionXY("x",t)},regionY(t){return this.getRegionXY("y",t)},getRegionSize(t,e){const n=this,{config:a,scale:i,state:s}=n,o=a.axis_rotated,l=t==="width",c=n[l?"regionX":"regionY"](e);let f,g="end",v=s[t];return e.axis==="y"||e.axis==="y2"?(l||(g="start"),(l?o:!o)&&g in e&&(f=i[e.axis],v=f(e[g]))):(l?!o:o)&&g in e&&(f=i.zoom||i.x,v=f(n.axis.isTimeSeries()?zn.call(n,e[g]):e[g])),v0&&(!i.axis_x_tick_autorotate||a.needToRotateXAxisTickTexts());return(i.axis_x_tick_multiline||L)&&N.height>S&&(P+=N.height-S),P+(a.axis.getLabelPositionById(t).isInner?0:10)+(t==="y2"&&!f?-10:0)},getEventRectWidth(){const t=this,{config:e,axis:n}=t,a=e.axis_x_inverted,i=n.x.tickInterval();return Math.max(0,a?Math.abs(i):i)},getAxisTickRotate(t){const e=this,{axis:n,config:a,state:i,$el:s}=e;let o=a[`axis_${t}_tick_rotate`];if(t==="x"){const l=n.isCategorized()||n.isTimeSeries();if(a.axis_x_tick_fit&&l){const c=a.axis_x_tick_count,f=i.current.maxTickSize.x.ticks.length;let g=0;if(c?g=c>f?f:c:f&&(g=f),g!==i.axis.x.tickCount){const{targets:v}=e.data;i.axis.x.padding=e.getXDomainPadding([e.getXDomainMinMax(v,"min"),e.getXDomainMinMax(v,"max")],g)}i.axis.x.tickCount=g}s.svg&&a.axis_x_tick_autorotate&&a.axis_x_tick_fit&&!a.axis_x_tick_multiline&&!a.axis_x_tick_culling&&l&&(o=e.needToRotateXAxisTickTexts()?a.axis_x_tick_rotate:0)}return o},needToRotateXAxisTickTexts(){const t=this,{state:{axis:e,current:n,isLegendRight:a,legendItemWidth:i}}=t,s=a&&i,o=n.width-s-t.getCurrentPaddingByDirection("left")-t.getCurrentPaddingByDirection("right"),l=e.x.tickCount+e.x.padding.left+e.x.padding.right,{width:c}=t.axis.getMaxTickSize("x"),f=l?o/l:0;return c>f}},jy={axis_x_clipPath:!0,axis_x_show:!0,axis_x_forceAsSingle:!1,axis_x_type:"indexed",axis_x_localtime:!0,axis_x_categories:[],axis_x_tick_centered:!1,axis_x_tick_format:void 0,axis_x_tick_culling:{},axis_x_tick_culling_max:10,axis_x_tick_culling_lines:!0,axis_x_tick_count:void 0,axis_x_tick_show:!0,axis_x_tick_text_show:!0,axis_x_tick_text_inner:!1,axis_x_tick_text_position:{x:0,y:0},axis_x_tick_fit:!0,axis_x_tick_values:null,axis_x_tick_autorotate:!1,axis_x_tick_rotate:0,axis_x_tick_outer:!0,axis_x_tick_multiline:!0,axis_x_tick_width:null,axis_x_tick_tooltip:!1,axis_x_max:void 0,axis_x_min:void 0,axis_x_inverted:!1,axis_x_padding:{},axis_x_height:void 0,axis_x_extent:void 0,axis_x_label:{},axis_x_axes:[]},Gy={axis_y_clipPath:!0,axis_y_show:!0,axis_y_type:"indexed",axis_y_max:void 0,axis_y_min:void 0,axis_y_inverted:!1,axis_y_center:void 0,axis_y_inner:!1,axis_y_label:{},axis_y_tick_format:void 0,axis_y_tick_culling:!1,axis_y_tick_culling_max:5,axis_y_tick_culling_lines:!0,axis_y_tick_outer:!0,axis_y_tick_values:null,axis_y_tick_rotate:0,axis_y_tick_count:void 0,axis_y_tick_show:!0,axis_y_tick_stepSize:null,axis_y_tick_text_show:!0,axis_y_tick_text_position:{x:0,y:0},axis_y_tick_time_value:void 0,axis_y_padding:{},axis_y_default:void 0,axis_y_axes:[]},Vy={axis_y2_show:!1,axis_y2_type:"indexed",axis_y2_max:void 0,axis_y2_min:void 0,axis_y2_inverted:!1,axis_y2_center:void 0,axis_y2_inner:!1,axis_y2_label:{},axis_y2_tick_format:void 0,axis_y2_tick_culling:!1,axis_y2_tick_culling_max:5,axis_y2_tick_culling_lines:!0,axis_y2_tick_outer:!0,axis_y2_tick_values:null,axis_y2_tick_rotate:0,axis_y2_tick_count:void 0,axis_y2_tick_show:!0,axis_y2_tick_stepSize:null,axis_y2_tick_text_show:!0,axis_y2_tick_text_position:{x:0,y:0},axis_y2_padding:{},axis_y2_default:void 0,axis_y2_axes:[]},Xy=Object.defineProperty,wu=Object.getOwnPropertySymbols,Yy=Object.prototype.hasOwnProperty,Hy=Object.prototype.propertyIsEnumerable,Mu=(t,e,n)=>e in t?Xy(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,To=(t,e)=>{for(var n in e||(e={}))Yy.call(e,n)&&Mu(t,n,e[n]);if(wu)for(var n of wu(e))Hy.call(e,n)&&Mu(t,n,e[n]);return t},Wy=To(To(To({axis_evalTextSize:!0,axis_rotated:!1,axis_tooltip:!1},jy),Gy),Vy),Ky={grid_x_show:!1,grid_x_type:"tick",grid_x_lines:[],grid_y_show:!1,grid_y_lines:[],grid_y_ticks:void 0,grid_focus_edge:!1,grid_focus_show:!0,grid_focus_y:!1,grid_front:!1,grid_lines_front:!0},Zy={data_xs:{},data_xFormat:"%Y-%m-%d",data_xLocaltime:!0,data_xSort:!0,data_axes:{},data_regions:{},data_stack_normalize:!1};const Jy=[oy,ly,cy,uy,fy,dy,hy],Du={axis:Cy,clip:Ly,eventrect:wy,flow:Dy,grid:By,region:Uy,sizeAxis:zy},Lu={optDataAxis:Zy,optAxis:Wy,optGrid:Ky};var I1=Array.prototype.slice;function $o(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Le(t){return function(){return t}}function ky(t,e){return et?1:e>=t?0:NaN}function Qy(t){return t}function qy(){var t=Qy,e=ky,n=null,a=Le(0),i=Le(zi),s=Le(0);function o(l){var c,f=(l=$o(l)).length,g,v,m=0,S=new Array(f),P=new Array(f),N=+a.apply(this,arguments),L=Math.min(zi,Math.max(-zi,i.apply(this,arguments)-N)),w,X=Math.min(Math.abs(L)/f,s.apply(this,arguments)),W=X*(L<0?-1:1),Y;for(c=0;c0&&(m+=Y);for(e!=null?S.sort(function(Q,K){return e(P[Q],P[K])}):n!=null&&S.sort(function(Q,K){return n(l[Q],l[K])}),c=0,v=m?(L-f*W)/m:0;c0?Y*v:0)+W,P[g]={data:l[g],index:c,value:Y,startAngle:N,endAngle:w,padAngle:X};return P}return o.value=function(l){return arguments.length?(t=typeof l=="function"?l:Le(+l),o):t},o.sortValues=function(l){return arguments.length?(e=l,n=null,o):e},o.sort=function(l){return arguments.length?(n=l,e=null,o):n},o.startAngle=function(l){return arguments.length?(a=typeof l=="function"?l:Le(+l),o):a},o.endAngle=function(l){return arguments.length?(i=typeof l=="function"?l:Le(+l),o):i},o.padAngle=function(l){return arguments.length?(s=typeof l=="function"?l:Le(+l),o):s},o}var _y=Math.pow;const So=Math.PI,Ao=2*So,Vr=1e-6,tx=Ao-Vr;function Nu(t){this._+=t[0];for(let e=1,n=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return Nu;const n=_y(10,e);return function(a){this._+=a[0];for(let i=1,s=a.length;iVr)if(!(Math.abs(v*c-f*g)>Vr)||!s)this._append`L${this._x1=e},${this._y1=n}`;else{let S=a-o,P=i-l,N=c*c+f*f,L=S*S+P*P,w=Math.sqrt(N),X=Math.sqrt(m),W=s*Math.tan((So-Math.acos((N+m-L)/(2*w*X)))/2),Y=W/X,Q=W/w;Math.abs(Y-1)>Vr&&this._append`L${e+Y*g},${n+Y*v}`,this._append`A${s},${s},0,0,${+(v*S>g*P)},${this._x1=e+Q*c},${this._y1=n+Q*f}`}}arc(e,n,a,i,s,o){if(e=+e,n=+n,a=+a,o=!!o,a<0)throw new Error(`negative radius: ${a}`);let l=a*Math.cos(i),c=a*Math.sin(i),f=e+l,g=n+c,v=1^o,m=o?i-s:s-i;this._x1===null?this._append`M${f},${g}`:(Math.abs(this._x1-f)>Vr||Math.abs(this._y1-g)>Vr)&&this._append`L${f},${g}`,a&&(m<0&&(m=m%Ao+Ao),m>tx?this._append`A${a},${a},0,1,${v},${e-l},${n-c}A${a},${a},0,1,${v},${this._x1=f},${this._y1=g}`:m>Vr&&this._append`A${a},${a},0,${+(m>=So)},${v},${this._x1=e+a*Math.cos(s)},${this._y1=n+a*Math.sin(s)}`)}rect(e,n,a,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${a=+a}v${+i}h${-a}Z`}toString(){return this._}}function nx(){return new Wi}nx.prototype=Wi.prototype;function O1(t=3){return new Wi(+t)}function Eo(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const a=Math.floor(n);if(!(a>=0))throw new RangeError(`invalid digits: ${n}`);e=a}return t},()=>new Wi(e)}function rx(t){return t.innerRadius}function ax(t){return t.outerRadius}function ix(t){return t.startAngle}function sx(t){return t.endAngle}function ox(t){return t&&t.padAngle}function lx(t,e,n,a,i,s,o,l){var c=n-t,f=a-e,g=o-i,v=l-s,m=v*c-g*f;if(!(m*mZ*Z+$t*$t&&(ht=ct,St=lt),{cx:ht,cy:St,x01:-g,y01:-v,x11:ht*(i/Q-1),y11:St*(i/Q-1)}}function Fu(){var t=rx,e=ax,n=Le(0),a=null,i=ix,s=sx,o=ox,l=null,c=Eo(f);function f(){var g,v,m=+t.apply(this,arguments),S=+e.apply(this,arguments),P=i.apply(this,arguments)-Ui,N=s.apply(this,arguments)-Ui,L=Yc(N-P),w=N>P;if(l||(l=g=c()),Sbn))l.moveTo(0,0);else if(L>zi-bn)l.moveTo(S*jr(P),S*rr(P)),l.arc(0,0,S,P,N,!w),m>bn&&(l.moveTo(m*jr(N),m*rr(N)),l.arc(0,0,m,N,P,w));else{var X=P,W=N,Y=P,Q=N,K=L,at=L,ht=o.apply(this,arguments)/2,St=ht>bn&&(a?+a.apply(this,arguments):sa(m*m+S*S)),ct=uo(Yc(S-m)/2,+n.apply(this,arguments)),lt=ct,Gt=ct,vt,Z;if(St>bn){var $t=Hc(St/m*rr(ht)),ut=Hc(St/S*rr(ht));(K-=$t*2)>bn?($t*=w?1:-1,Y+=$t,Q-=$t):(K=0,Y=Q=(P+N)/2),(at-=ut*2)>bn?(ut*=w?1:-1,X+=ut,W-=ut):(at=0,X=W=(P+N)/2)}var At=S*jr(X),Vt=S*rr(X),Bt=m*jr(Q),Kt=m*rr(Q);if(ct>bn){var ne=S*jr(W),le=S*rr(W),be=m*jr(Y),Oe=m*rr(Y),Ce;if(Lbn?Gt>bn?(vt=Ki(be,Oe,At,Vt,S,Gt,w),Z=Ki(ne,le,Bt,Kt,S,Gt,w),l.moveTo(vt.cx+vt.x01,vt.cy+vt.y01),Gtbn)||!(K>bn)?l.lineTo(Bt,Kt):lt>bn?(vt=Ki(Bt,Kt,ne,le,m,-lt,w),Z=Ki(At,Vt,be,Oe,m,-lt,w),l.lineTo(vt.cx+vt.x01,vt.cy+vt.y01),lte in t?cx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,gx=(t,e)=>{for(var n in e||(e={}))dx.call(e,n)&&Uu(t,n,e[n]);if(Bu)for(var n of Bu(e))hx.call(e,n)&&Uu(t,n,e[n]);return t},vx=(t,e)=>ux(t,fx(e));function zu(t=0){const e=this,{config:n,state:a}=e,i=e.hasMultiArcGauge(),s=a.gaugeArcWidth/e.filterTargetsToShow(e.data.targets).length,o=t?Math.min(a.radiusExpanded*t-a.radius,s*.8-(1-t)*100):0;return{inner(l){const{innerRadius:c}=e.getRadius(l);return i?a.radius-s*(l.index+1):he(c)?c:0},outer(l){const{outerRadius:c}=e.getRadius(l);let f;if(i)f=a.radius-s*l.index+o;else if(e.hasType("polar")&&!t)f=e.getPolarOuterRadius(l,c);else if(f=c,t){let{radiusExpanded:g}=a;a.radius!==c&&(g-=Math.abs(a.radius-c)),f=g*t}return f},corner(l,c){const{arc_cornerRadius_ratio:f=0,arc_cornerRadius:g=0}=n,{data:{id:v},value:m}=l;let S=0;return f?S=f*c:S=he(g)?g:g.call(e.api,v,m,c),S}}}function bo(t){return function(e){const n=({startAngle:i=0,endAngle:s=0,padAngle:o=0})=>({startAngle:i,endAngle:s,padAngle:o}),a=kr(n(this._current),n(e));return this._current=e,function(i){const s=a(i),{data:o,index:l,value:c}=e;return t(vx(gx({},s),{data:o,index:l,value:c}))}}}var px={initPie(){const t=this,{config:e}=t,n=e.data_type,a=e[`${n}_padding`],i=e[`${n}_startingAngle`]||0,s=(a?a*.01:e[`${n}_padAngle`])||0;t.pie=qy().startAngle(i).endAngle(i+2*Math.PI).padAngle(s).value(o=>{var l,c;return(c=(l=o.values)==null?void 0:l.reduce((f,g)=>f+g.value,0))!=null?c:o}).sort(t.getSortCompareFn.bind(t)(!0))},updateRadius(){const t=this,{config:e,state:n}=t,a=e.data_type,i=e[`${a}_padding`],s=e.gauge_width||e.donut_width,o=t.filterTargetsToShow(t.data.targets).length*e.gauge_arcs_minWidth;n.radiusExpanded=Math.min(n.arcWidth,n.arcHeight)/2*(t.hasMultiArcGauge()&&e.gauge_label_show?.85:1),n.radius=n.radiusExpanded*.95,n.innerRadiusRatio=s?(n.radius-s)/n.radius:.6,n.gaugeArcWidth=s||(o<=n.radius-n.innerRadius?n.radius-n.innerRadius:o<=n.radius?o:n.radius);const l=e.pie_innerRadius||(i?i*(n.innerRadiusRatio+.1):0);n.outerRadius=e.pie_outerRadius,n.innerRadius=t.hasType("donut")||t.hasType("gauge")?n.radius*n.innerRadiusRatio:l},getRadius(t){const e=this,n=t==null?void 0:t.data;let{innerRadius:a,outerRadius:i}=e.state;return!he(a)&&n&&(a=a[n.id]||0),Be(i)&&n&&n.id in i?i=i[n.id]:he(i)||(i=e.state.radius),{innerRadius:a,outerRadius:i}},updateArc(){const t=this;t.updateRadius(),t.svgArc=t.getSvgArc(),t.svgArcExpanded=t.getSvgArcExpanded()},getArcLength(){const t=this,{config:e}=t,n=e.gauge_arcLength*3.6;let a=2*(n/360);return n<-360?a=-2:n>360&&(a=2),a*Math.PI},getStartingAngle(){const t=this,{config:e}=t,n=e.data_type,a=t.hasType("gauge")?e.gauge_fullCircle:!1,i=-1*Math.PI/2,s=Math.PI/2;let o=e[`${n}_startingAngle`]||0;return!a&&o<=i?o=i:!a&&o>=s?o=s:(o>Math.PI||o<-1*Math.PI)&&(o=Math.PI),o},updateAngle(t,e=!1){var n;const a=this,{config:i,state:s}=a,o=e&&a.hasType("gauge");let{pie:l}=a,c=t,f=!1;if(!i)return null;const g=a.getStartingAngle(),v=i.gauge_fullCircle||e&&!o?a.getArcLength():g*-2;if(c.data&&a.isGaugeType(c.data)&&!a.hasMultiArcGauge()){const{gauge_min:m,gauge_max:S}=i,P=a.getTotalDataSum(s.rendered),N=v*((P-m)/(S-m));l=l.startAngle(g).endAngle(N+g)}if(e===!1&&l(a.filterTargetsToShow()).forEach((m,S)=>{var P;!f&&m.data.id===((P=c.data)==null?void 0:P.id)&&(f=!0,c=m,c.index=S)}),isNaN(c.startAngle)&&(c.startAngle=0),isNaN(c.endAngle)&&(c.endAngle=c.startAngle),e||c.data&&(i.gauge_enforceMinMax||a.hasMultiArcGauge())){const{gauge_min:m,gauge_max:S}=i,P=e&&!o?a.getTotalDataSum(s.rendered):S,N=v/(P-m),L=(n=c.value)!=null?n:0,w=L{const l=e.updateAngle(o),c=a(l);let f=0;return l&&(f=i(l,c)),l?s.cornerRadius(f)(l):"M 0 0"}},getArc(t,e,n){return n||this.isArcType(t.data)?this.svgArc(t,e):"M 0 0"},redrawArcRangeText(){const t=this,{config:e,$el:{arcs:n},state:a,$T:i}=t,s=e.arc_rangeText_format,o=t.hasType("gauge")&&e.arc_rangeText_fixed;let l=e.arc_rangeText_values;if(l!=null&&l.length){const c=e.arc_rangeText_unit==="%",f=t.getTotalDataSum(a.rendered);c&&(l=l.map(m=>f/100*m));const g=t.pie(l).map((m,S)=>(m.index=S,m));let v=n.selectAll(`.${je.arcRange}`).data(l);v.exit(),v=i(v.enter().append("text").attr("class",je.arcRange).style("text-anchor","middle").style("pointer-events","none").style("opacity","0").text(m=>{const S=c?m/f*100:m;return ve(s)?s(S):`${S}${c?"%":""}`}).merge(v)),(!a.rendered||a.rendered&&!o)&&f>0&&v.attr("transform",(m,S)=>t.transformForArcLabel(g[S],!0)),v.style("opacity",m=>!o&&(m>f||f===0)?"0":null)}},transformForArcLabel(t,e=!1){var n,a,i;const s=this,{config:o,state:{radiusExpanded:l}}=s,c=s.updateAngle(t,e);let f="";if(c){if(e||s.hasMultiArcGauge()){const g=Math.sin(c.endAngle-Math.PI/2),v=o.arc_rangeText_position;let m=Math.cos(c.endAngle-Math.PI/2)*(l+(e?5:25)),S=g*(l+15-Math.abs(g*10))+3;if(e&&v){const P=o.arc_rangeText_values,N=ve(v)?v(P[t.index]):v;m+=(n=N==null?void 0:N.x)!=null?n:0,S+=(a=N==null?void 0:N.y)!=null?a:0}f=`translate(${m},${S})`}else if(!s.hasType("gauge")||s.data.targets.length>1){let{outerRadius:g}=s.getRadius(t);s.hasType("polar")&&(g=s.getPolarOuterRadius(t,g));const v=this.svgArc.centroid(c),[m,S]=v.map(L=>isNaN(L)?0:L),P=Math.sqrt(m*m+S*S);let N=(i=["donut","gauge","pie","polar"].filter(s.hasType.bind(s)).map(L=>o[`${L}_label_ratio`]))==null?void 0:i[0];N?N=ve(N)?N.bind(s.api)(t,g,P):N:N=g&&(P?(36/g>.375?1.175-36/g:.8)*g/P:0),f=`translate(${m*N},${S*N})`}}return f},convertToArcData(t){return this.addName({id:"data"in t?t.data.id:t.id,value:t.value,ratio:this.getRatio("arc",t),index:t.index})},textForArcLabel(t){const e=this,n=e.hasType("gauge");e.shouldShowArcLabel()&&t.style("fill",e.updateTextColor.bind(e)).attr("filter",a=>e.updateTextBGColor.bind(e)(a,e.config.data_labels_backgroundColors)).each(function(a){var i;const s=st(this),o=e.updateAngle(a),l=e.getRatio("arc",o);if(e.meetsLabelThreshold(l,(i=["donut","gauge","pie","polar"].filter(e.hasType.bind(e)))==null?void 0:i[0])){const{value:f}=o||a,g=(e.getArcLabelFormat()||e.defaultArcValueFormat)(f,l,a.data.id).toString();wa(s,g,[-1,1],n)}else s.text("")})},expandArc(t){const e=this,{state:{transiting:n},$el:a}=e;if(n){const s=setInterval(()=>{n||(clearInterval(s),a.legend.selectAll(`.${qe.legendItemFocused}`).size()>0&&e.expandArc(t))},10);return}const i=e.mapToTargetIds(t);a.svg.selectAll(e.selectorTargets(i,`.${je.chartArc}`)).each(function(s){if(!e.shouldExpand(s.data.id))return;const o=e.getExpandConfig(s.data.id,"duration"),l=e.getSvgArcExpanded(e.getExpandConfig(s.data.id,"rate"));st(this).selectAll("path").transition().duration(o).attrTween("d",bo(e.svgArcExpanded.bind(e))).transition().duration(o*2).attrTween("d",bo(l.bind(e)))})},unexpandArc(t){const e=this,{state:{transiting:n},$el:{svg:a}}=e;if(n)return;const i=e.mapToTargetIds(t);a.selectAll(e.selectorTargets(i,`.${je.chartArc}`)).selectAll("path").transition().duration(s=>e.getExpandConfig(s.data.id,"duration")).attrTween("d",bo(e.svgArc.bind(e))),a.selectAll(`${je.arc}`).style("opacity",null)},getExpandConfig(t,e){const n=this,{config:a}=n,i={duration:50,rate:.98};let s;return n.isDonutType(t)?s="donut":n.isGaugeType(t)?s="gauge":n.isPieType(t)&&(s="pie"),s?a[`${s}_expand_${e}`]:i[e]},shouldExpand(t){const e=this,{config:n}=e;return e.isDonutType(t)&&n.donut_expand||e.isGaugeType(t)&&n.gauge_expand||e.isPieType(t)&&n.pie_expand},shouldShowArcLabel(){const t=this,{config:e}=t;return["donut","gauge","pie","polar"].some(n=>t.hasType(n)&&e[`${n}_label_show`])},getArcLabelFormat(){const t=this,{config:e}=t;let n=a=>a;return["donut","gauge","pie","polar"].filter(t.hasType.bind(t)).forEach(a=>{n=e[`${a}_label_format`]}),ve(n)?n.bind(t.api):n},updateTargetsForArc(t){const e=this,{$el:n}=e,a=e.hasType("gauge"),i=e.getChartClass("Arc"),s=e.getClass("arcs",!0),o=e.classFocus.bind(e),l=n.main.select(`.${je.chartArcs}`),c=l.selectAll(`.${je.chartArc}`).data(e.pie(t)).attr("class",g=>i(g)+o(g.data)),f=c.enter().append("g").attr("class",i).call(this.setCssRule(!1,`.${je.chartArcs} text`,["pointer-events:none","text-anchor:middle"]));f.append("g").attr("class",s).merge(c),f.append("text").attr("dy",a&&!e.hasMultiTargets()?"-.1em":".35em").style("opacity","0").style("text-anchor",e.getStylePropValue("middle")).style("pointer-events",e.getStylePropValue("none")),n.text=l.selectAll(`.${Se.target} text`)},initArc(){const t=this,{$el:e}=t;e.arcs=e.main.select(`.${Se.chart}`).append("g").attr("class",je.chartArcs).attr("transform",t.getTranslate("arc")),t.setArcTitle()},setArcTitle(t){const e=this,n=t||e.getArcTitle(),a=e.hasType("gauge");if(n){const i=a?Un.chartArcsGaugeTitle:je.chartArcsTitle;let s=e.$el.arcs.select(`.${i}`);s.empty()&&(s=e.$el.arcs.append("text").attr("class",i).style("text-anchor","middle")),a&&s.attr("dy","-0.3em"),wa(s,n,a?void 0:[-.6,1.35],!0)}},getArcTitle(){const t=this,e=t.hasType("donut")&&"donut"||t.hasType("gauge")&&"gauge";return e?t.config[`${e}_title`]:""},getArcTitleWithNeedleValue(){const t=this,{config:e,state:n}=t,a=t.getArcTitle();if(a&&t.config.arc_needle_show&&/{=[A-Z_]+}/.test(a)){let i=n.current.needle;return he(i)||(i=e.arc_needle_value),bi(a,{NEEDLE_VALUE:he(i)?i:0})}return!1},redrawArc(t,e,n){const a=this,{config:i,state:s,$el:{main:o}}=a,l=i.interaction_enabled,c=l&&i.data_selection_isselectable;let f=o.selectAll(`.${je.arcs}`).selectAll(`.${je.arc}`).data(a.arcData.bind(a));f.exit().transition().duration(e).style("opacity","0").remove(),f=f.enter().append("path").attr("class",a.getClass("arc",!0)).style("fill",g=>a.color(g.data)).style("cursor",g=>{var v;return(v=c==null?void 0:c.bind)!=null&&v.call(c,a.api)(g)?"pointer":null}).style("opacity","0").each(function(g){a.isGaugeType(g.data)&&(g.startAngle=i.gauge_startingAngle,g.endAngle=i.gauge_startingAngle),this._current=g}).merge(f),a.hasType("gauge")&&(a.updateGaugeMax(),a.hasMultiArcGauge()&&a.redrawArcGaugeLine()),f.attr("transform",g=>!a.isGaugeType(g.data)&&n?"scale(0)":"").style("opacity",function(g){return g===this._current?"0":null}).each(()=>{s.transiting=!0}).transition().duration(t).attrTween("d",function(g){const v=a.updateAngle(g);if(!v)return()=>"M 0 0";isNaN(this._current.startAngle)&&(this._current.startAngle=0),isNaN(this._current.endAngle)&&(this._current.endAngle=this._current.startAngle);const m=kr(this._current,v);return this._current=m(0),function(S){const P=m(S);return P.data=g.data,a.getArc(P,!0)}}).attr("transform",n?"scale(1)":"").style("fill",g=>{let v;return a.levelColor?(v=a.levelColor(g.data.values[0].value),i.data_colors[g.data.id]=v):v=a.color(g.data),v}).style("opacity",null).call($i,function(){if(a.levelColor){const g=st(this),v=g.datum(this._current);a.updateLegendItemColor(v.data.id,g.style("fill"))}s.transiting=!1,_e(i.onrendered,a.api)}),l&&a.bindArcEvent(f),a.hasType("polar")&&a.redrawPolar(),a.hasType("gauge")&&a.redrawBackgroundArcs(),i.arc_needle_show&&a.redrawNeedle(),a.redrawArcText(t),a.redrawArcRangeText()},redrawNeedle(){const t=this,{$el:e,config:n,state:{hiddenTargetIds:a,radius:i}}=t,s=(i-1)/100*n.arc_needle_length,o=a.length!==t.data.targets.length;let l=t.$el.arcs.select(`.${je.needle}`);const c=n.arc_needle_path,f=n.arc_needle_bottom_width/2,g=n.arc_needle_top_width/2,v=n.arc_needle_top_rx,m=n.arc_needle_top_ry,S=n.arc_needle_bottom_len,P=n.arc_needle_bottom_rx,N=n.arc_needle_bottom_ry,L=t.getNeedleAngle(),w=()=>{const X=t.getArcTitleWithNeedleValue();X&&t.setArcTitle(X)};if(w(),l.empty()&&(l=e.arcs.append("path").classed(je.needle,!0),e.needle=l,e.needle.updateHelper=(X,W=!1)=>{e.needle.style("display")!=="none"&&t.$T(e.needle).style("transform",`rotate(${t.getNeedleAngle(X)}deg)`).call($i,()=>{W&&(n.arc_needle_value=X),w()})}),o){const X=ve(c)?c.call(t,s):`M-${f} ${S} A${P} ${N} 0 0 0 ${f} ${S} L${g} -${s} A${v} ${m} 0 0 0 -${g} -${s} L-${f} ${S} Z`;t.$T(l).attr("d",X).style("fill",n.arc_needle_color).style("display",null).style("transform",`rotate(${L}deg)`)}else l.style("display","none")},getNeedleAngle(t){const e=this,{config:n,state:a}=e,i=e.getArcLength(),s=e.hasType("gauge"),o=e.getTotalDataSum(!0);let l=ke(t)?t:n.arc_needle_value,c=n[`${n.data_type}_startingAngle`]||0,f=0;if(he(l)||(l=s&&e.data.targets.length===1?o:0),a.current.needle=l,s){c=e.getStartingAngle();const g=n.gauge_fullCircle?i:c*-2,{gauge_min:v,gauge_max:m}=n;f=g*((l-v)/(m-v))}else f=i*(l/o);return(c+f)*(180/Math.PI)},redrawBackgroundArcs(){const t=this,{config:e,state:n}=t,a=t.hasMultiArcGauge(),i=e.gauge_fullCircle,s=t.filterTargetsToShow(t.data.targets).length===0&&!!e.data_empty_label_text,o=t.getStartingAngle(),l=i?o+t.getArcLength():o*-1;let c=t.$el.arcs.select(`${a?"g":""}.${je.chartArcsBackground}`);if(a){let f=0;c=c.selectAll(`path.${je.chartArcsBackground}`).data(t.data.targets),c.enter().append("path").attr("class",(g,v)=>`${je.chartArcsBackground} ${je.chartArcsBackground}-${v}`).merge(c).style("fill",e.gauge_background||null).attr("d",({id:g})=>{if(s||n.hiddenTargetIds.indexOf(g)>=0)return"M 0 0";const v={data:[{value:e.gauge_max}],startAngle:o,endAngle:l,index:f++};return t.getArc(v,!0,!0)}),c.exit().remove()}else c.attr("d",s?"M 0 0":()=>{const f={data:[{value:e.gauge_max}],startAngle:o,endAngle:l};return t.getArc(f,!0,!0)})},bindArcEvent(t){const e=this,{config:n,state:a}=e,i=a.inputType==="touch",s=a.inputType==="mouse";function o(c,f,g){e.expandArc(g),e.api.focus(g),e.toggleFocusLegend(g,!0),e.showTooltip([f],c)}function l(c){const f=(c==null?void 0:c.id)||void 0;e.unexpandArc(f),e.api.revert(),e.revertLegend(),e.hideTooltip()}if(t.on("click",function(c,f,g){var v;const m=e.updateAngle(f);let S;m&&(S=e.convertToArcData(m),(v=e.toggleShape)==null||v.call(e,this,S,g),n.data_onclick.bind(e.api)(S,this))}),s&&t.on("mouseover",function(c,f){if(a.transiting)return;a.event=c;const g=e.updateAngle(f),v=g?e.convertToArcData(g):null,m=(v==null?void 0:v.id)||void 0;o(this,v,m),e.setOverOut(!0,v)}).on("mouseout",(c,f)=>{if(a.transiting||!n.interaction_onout)return;a.event=c;const g=e.updateAngle(f),v=g?e.convertToArcData(g):null;l(),e.setOverOut(!1,v)}).on("mousemove",function(c,f){const g=e.updateAngle(f),v=g?e.convertToArcData(g):null;a.event=c,e.showTooltip([v],this)}),i&&e.hasArcType()&&!e.radars){const c=f=>{var g,v;const{clientX:m,clientY:S}=(v=(g=f.changedTouches)==null?void 0:g[0])!=null?v:{clientX:0,clientY:0};return st(vn.elementFromPoint(m,S))};e.$el.svg.on("touchstart touchmove",function(f){if(a.transiting)return;a.event=f;const v=c(f).datum(),m=v!=null&&v.data&&v.data.id?e.updateAngle(v):null,S=m?e.convertToArcData(m):null,P=(S==null?void 0:S.id)||void 0;e.callOverOutForTouch(S),ln(P)?l():o(this,S,P)})}},redrawArcText(t){const e=this,{config:n,state:a,$el:{main:i,arcs:s}}=e,o=e.hasType("gauge"),l=e.hasMultiArcGauge();let c;if(o&&e.data.targets.length===1&&n.gauge_title||(c=i.selectAll(`.${je.chartArc}`).select("text").style("opacity","0").attr("class",f=>e.isGaugeType(f.data)?Un.gaugeValue:null).call(e.textForArcLabel.bind(e)).attr("transform",f=>e.transformForArcLabel.bind(e)(f)).style("font-size",f=>e.isGaugeType(f.data)&&e.data.targets.length===1&&!l?`${Math.round(a.radius/5)}px`:null).transition().duration(t).style("opacity",f=>e.isTargetToShow(f.data.id)&&e.isArcType(f.data)?null:"0"),l&&c.attr("dy","-.1em")),i.select(`.${je.chartArcsTitle}`).style("opacity",e.hasType("donut")||o?null:"0"),o){const f=n.gauge_fullCircle;f&&(c==null||c.attr("dy",`${l?0:Math.round(a.radius/14)}`)),n.gauge_label_show&&(s.select(`.${Un.chartArcsGaugeUnit}`).attr("dy",`${f?1.5:.75}em`).text(n.gauge_units),s.select(`.${Un.chartArcsGaugeMin}`).attr("dx",`${-1*(a.innerRadius+(a.radius-a.innerRadius)/(f?1:2))}px`).attr("dy","1.2em").text(e.textForGaugeMinMax(n.gauge_min,!1)),!f&&s.select(`.${Un.chartArcsGaugeMax}`).attr("dx",`${a.innerRadius+(a.radius-a.innerRadius)/2}px`).attr("dy","1.2em").text(e.textForGaugeMinMax(n.gauge_max,!0)))}},getArcElementByIdOrIndex(t){const e=this,{$el:{arcs:n}}=e,a=he(t)?i=>i.index===t:i=>i.data.id===t;return n==null?void 0:n.selectAll(`.${Se.target} path`).filter(a)}};function ju(t){return t[0]}function Gu(t){return t[1]}function Vu(t,e){var n=Le(!0),a=null,i=go,s=null,o=Eo(l);t=typeof t=="function"?t:t===void 0?ju:Le(t),e=typeof e=="function"?e:e===void 0?Gu:Le(e);function l(c){var f,g=(c=$o(c)).length,v,m=!1,S;for(a==null&&(s=i(S=o())),f=0;f<=g;++f)!(f=S;--P)l.point(W[P],Y[P]);l.lineEnd(),l.areaEnd()}w&&(W[m]=+t(L,m,v),Y[m]=+e(L,m,v),l.point(a?+a(L,m,v):W[m],n?+n(L,m,v):Y[m]))}if(X)return l=null,X+""||null}function g(){return Vu().defined(i).curve(o).context(s)}return f.x=function(v){return arguments.length?(t=typeof v=="function"?v:Le(+v),a=null,f):t},f.x0=function(v){return arguments.length?(t=typeof v=="function"?v:Le(+v),f):t},f.x1=function(v){return arguments.length?(a=v==null?null:typeof v=="function"?v:Le(+v),f):a},f.y=function(v){return arguments.length?(e=typeof v=="function"?v:Le(+v),n=null,f):e},f.y0=function(v){return arguments.length?(e=typeof v=="function"?v:Le(+v),f):e},f.y1=function(v){return arguments.length?(n=v==null?null:typeof v=="function"?v:Le(+v),f):n},f.lineX0=f.lineY0=function(){return g().x(t).y(e)},f.lineY1=function(){return g().x(t).y(n)},f.lineX1=function(){return g().x(a).y(e)},f.defined=function(v){return arguments.length?(i=typeof v=="function"?v:Le(!!v),f):i},f.curve=function(v){return arguments.length?(o=v,s!=null&&(l=o(s)),f):o},f.context=function(v){return arguments.length?(v==null?s=l=null:l=o(s=v),f):s},f}var oa={initArea(t){const e=this,{config:n}=e;t.insert("g",`.${n.area_front?$n.circles:ur.lines}`).attr("class",e.getClass("areas",!0))},updateAreaColor(t){const e=this;return e.config.area_linearGradient?e.getGradienColortUrl(t.id):e.color(t)},updateArea(t,e=!1){const n=this,{config:a,state:i,$el:s,$T:o}=n,l=e?s.subchart:s;a.area_linearGradient&&n.updateLinearGradient();const c=l.main.selectAll(`.${_a.areas}`).selectAll(`.${_a.area}`).data(n.lineData.bind(n));o(c.exit(),t).style("opacity","0").remove(),l.area=c.enter().append("path").attr("class",n.getClass("area",!0)).style("fill",n.updateAreaColor.bind(n)).style("opacity",function(){return i.orgAreaOpacity=st(this).style("opacity"),"0"}).merge(c),c.style("opacity",i.orgAreaOpacity),n.setRatioForGroupedData(l.area.data())},redrawArea(t,e,n=!1){const a=this,{area:i}=n?this.$el.subchart:this.$el,{orgAreaOpacity:s}=a.state;return[a.$T(i,e,gr()).attr("d",t).style("fill",a.updateAreaColor.bind(a)).style("opacity",o=>String(a.isAreaRangeType(o)?s/1.75:s))]},generateDrawArea(t,e){const n=this,{config:a}=n,i=a.line_connectNull,s=a.axis_rotated,o=n.generateGetAreaPoints(t,e),l=n.getYScaleById.bind(n),c=v=>(e?n.subxx:n.xx).call(n,v),f=(v,m)=>n.isGrouped(v.id)?o(v,m)[0][1]:l(v.id,e)(n.isAreaRangeType(v)?n.getRangedData(v,"high"):n.getShapeYMin(v.id)),g=(v,m)=>n.isGrouped(v.id)?o(v,m)[1][1]:l(v.id,e)(n.isAreaRangeType(v)?n.getRangedData(v,"low"):v.value);return v=>{let m=i?n.filterRemoveNull(v.values):v.values,S=0,P=0,N;if(n.isAreaType(v)){let L=mx();L=s?L.y(c).x0(f).x1(g):L.x(c).y0(a.area_above?0:a.area_below?n.state.height:f).y1(g),i||(L=L.defined(w=>n.getBaseValue(w)!==null)),n.isStepType(v)&&(m=n.convertValuesToStep(m)),N=L.curve(n.getCurve(v))(m)}else m[0]&&(S=n.scale.x(m[0].x),P=n.getYScaleById(v.id)(m[0].value)),N=s?`M ${P} ${S}`:`M ${S} ${P}`;return N||"M 0 0"}},generateGetAreaPoints(t,e){const n=this,{config:a}=n,i=n.getShapeX(0,t,e),s=n.getShapeY(!!e),o=n.getShapeOffset(n.isAreaType,t,e),l=n.getYScaleById.bind(n);return function(c,f){const g=l.call(n,c.id,e)(n.getShapeYMin(c.id)),v=o(c,f)||g,m=i(c),S=c.value;let P=s(c);return a.axis_rotated&&(S>0&&Pg.values.some(v=>he(v.value)||e.isBarRangeType(v)))).attr("class",g=>i(g)+o(g)).enter().append("g").attr("class",i).style("opacity","0").style("pointer-events",e.getStylePropValue("none")).append("g").attr("class",s).style("cursor",g=>{var v;return(v=l==null?void 0:l.bind)!=null&&v.call(l,e.api)(g)?"pointer":null}).call(e.setCssRule(!0,` .${Kn.bar}`,["fill"],e.color))},updateBar(t,e=!1){const n=this,{config:a,$el:i,$T:s}=n,o=e?i.subchart:i,l=n.getClass("bar",!0),c=n.initialOpacity.bind(n);a.bar_linearGradient&&n.updateLinearGradient();const f=o.main.selectAll(`.${Kn.bars}`).selectAll(`.${Kn.bar}`).data(n.labelishData.bind(n));s(f.exit(),t).style("opacity","0").remove(),o.bar=f.enter().append("path").attr("class",l).style("fill",n.updateBarColor.bind(n)).merge(f).style("opacity",c),n.setRatioForGroupedData(o.bar.data())},updateBarColor(t){const e=this,n=e.getStylePropValue(e.color);return e.config.bar_linearGradient?e.getGradienColortUrl(t.id):n?n(t):null},redrawBar(t,e,n=!1){const a=this,{bar:i}=n?a.$el.subchart:a.$el;return[a.$T(i,e,gr()).attr("d",s=>(he(s.value)||a.isBarRangeType(s))&&t(s)).style("fill",a.updateBarColor.bind(a)).style("clip-path",s=>s.clipPath).style("opacity",null)]},generateDrawBar(t,e){const n=this,{config:a}=n,i=n.generateGetBarPoints(t,e),s=a.axis_rotated,o=a.bar_radius,l=a.bar_radius_ratio,c=he(o)&&o>0?()=>o:he(l)?f=>f*l:null;return(f,g)=>{const v=i(f,g),m=+s,S=+!m,P=f.value<0,N=a[`axis_${n.axis.getId(f.id)}_inverted`],L=!N&&P||N&&!P,w=["",""],X=n.isGrouped(f.id),W=c&&X?n.isStackingRadiusData(f):!1,Y=[v[0][m],v[0][S]];let Q=0;if(f.clipPath=null,c){const ht=s?S:m,St=v[2][ht]-v[0][ht];Q=!X||W?c(St):0;const ct=`a${Q} ${Q} ${L?"1 0 0":"0 0 1"} `;w[+!s]=`${ct}${Q},${Q}`,w[+s]=`${ct}${[-Q,Q][s?"sort":"reverse"]()}`,L&&w.reverse()}const K=s?v[1][m]+(L?Q:-Q):v[1][S]+(L?-Q:Q);if(Q){let ht="";s?L&&Y[0]K&&(ht=`0 0 0 ${Y[0]-K}px`):L&&Y[1]>K?ht=`${Y[1]-K}px 0 0 0`:!L&&Y[1]-1){const m=n.bar.filter(S=>S.id===o&&S.value===c);return!m.empty()&&/a\d+/i.test(m.attr("d"))}const f=a.data_groups.find(m=>m.indexOf(o)>-1),v=e.orderTargets(e.filterTargetsToShow(i.targets.filter(e.isBarType,e))).filter(m=>f.indexOf(m.id)>-1).map(m=>m.values.filter(S=>S.index===l&&(he(c)&&c>0?S.value>0:S.value<0))[0]).filter(Boolean).map(m=>m.id);return c!==0&&v.indexOf(o)===v.length-1},generateGetBarPoints(t,e){const n=this,{config:a}=n,i=e?n.axis.subX:n.axis.x,s=n.getIndicesMax(t)+1,o=n.getBarW("bar",i,s),l=n.getShapeX(o,t,!!e),c=n.getShapeY(!!e),f=n.getShapeOffset(n.isBarType,t,!!e),g=n.getYScaleById.bind(n);return(v,m)=>{const{id:S}=v,P=g.call(n,S,e)(n.getShapeYMin(S)),N=f(v,m)||P,L=he(o)?o:o[v.id]||o._$width,w=a[`axis_${n.axis.getId(S)}_inverted`],X=v.value,W=l(v);let Y=c(v);a.axis_rotated&&!w&&(X>0&&Ye.isBubbleZType(o)?e.getBubbleZData(o.value,"y"):Be(o.value)?o.value.mid:o.value)),i=n*n*Math.PI,s=(e.isBubbleZType(t)?e.getBubbleZData(t.value,"z"):t.value)*(i/a);return Math.sqrt(s/Math.PI)},getBubbleZData(t,e){return Be(t)?t[e]:t[e==="y"?0:1]}},Tx=Object.defineProperty,Xu=Object.getOwnPropertySymbols,$x=Object.prototype.hasOwnProperty,Sx=Object.prototype.propertyIsEnumerable,Yu=(t,e,n)=>e in t?Tx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ax=(t,e)=>{for(var n in e||(e={}))$x.call(e,n)&&Yu(t,n,e[n]);if(Xu)for(var n of Xu(e))Sx.call(e,n)&&Yu(t,n,e[n]);return t},Ex={initCandlestick(){const{$el:t}=this;t.candlestick=t.main.select(`.${Se.chart}`).append("g").attr("class",cr.chartCandlesticks)},updateTargetsForCandlestick(t){const e=this,{$el:n}=e,a=e.getChartClass("Candlestick");n.candlestick||e.initCandlestick(),e.$el.main.select(`.${cr.chartCandlesticks}`).selectAll(`.${cr.chartCandlestick}`).data(t).enter().append("g").attr("class",a).style("pointer-events","none")},updateCandlestick(t,e=!1){const n=this,{$el:a,$T:i}=n,s=e?a.subchart:a,o=n.getClass("candlestick",!0),l=n.initialOpacity.bind(n),c=s.main.selectAll(`.${cr.chartCandlestick}`).selectAll(`.${cr.candlestick}`).data(n.labelishData.bind(n));i(c.exit(),t).style("opacity","0").remove();const f=c.enter().filter(g=>g.value).append("g").attr("class",o);f.append("line"),f.append("path"),s.candlestick=c.merge(f).style("opacity",l)},generateDrawCandlestick(t,e){const n=this,{config:a}=n,i=n.generateGetCandlestickPoints(t,e),s=a.axis_rotated,o=a.candlestick_color_down;return(l,c,f)=>{const g=i(l,c),v=n.getCandlestickData(l),m=v==null?void 0:v._isUp,S=+s,P=+!S;f.classed&&f.classed(cr[m?"valueUp":"valueDown"],!0);const N=s?`H${g[1][1]} V${g[1][0]} H${g[0][1]}`:`V${g[1][1]} H${g[1][0]} V${g[0][1]}`;f.select("path").attr("d",`M${g[0][S]},${g[0][P]}${N}z`).style("fill",X=>(m?n.color(X):Be(o)?o[X.id]:o)||n.color(X));const L=f.select("line"),w=s?{x1:g[2][1],x2:g[2][2],y1:g[2][0],y2:g[2][0]}:{x1:g[2][0],x2:g[2][0],y1:g[2][1],y2:g[2][2]};for(const X in w)L.attr(X,w[X])}},generateGetCandlestickPoints(t,e=!1){const n=this,a=e?n.axis.subX:n.axis.x,i=n.getIndicesMax(t)+1,s=n.getBarW("candlestick",a,i),o=n.getShapeX(s,t,!!e),l=n.getShapeY(!!e),c=n.getShapeOffset(n.isBarType,t,!!e),f=n.getYScaleById.bind(n);return(g,v)=>{const m=f.call(n,g.id,e)(n.getShapeYMin(g.id)),S=c(g,v)||m,P=he(s)?s:s[g.id]||s._$width,N=n.getCandlestickData(g);let L;if(N&&he(N.open)&&he(N.close)){const w={start:o(g),end:0};w.end=w.start+P;const X={start:l(N.open),end:l(N.close)},W={x:w.start+P/2,high:l(N.high),low:l(N.low)};X.start-=m-S,L=[[w.start,X.start],[w.end,X.end],[W.x,W.low,W.high]]}else L=[[0,0],[0,0],[0,0,0]];return L}},redrawCandlestick(t,e,n=!1){const a=this,{$el:i,$T:s}=a,{candlestick:o}=n?i.subchart:i,l=gr(!0);return[o.each(function(c,f){const g=s(st(this),e,l);t(c,f,g)}).style("opacity",null)]},getCandlestickData({value:t}){let e;if(ze(t)){const[n,a,i,s,o=!1]=t;e={open:n,high:a,low:i,close:s},o!==!1&&(e.volume=o)}else Be(t)&&(e=Ax({},t));return e&&(e._isUp=e.close>=e.open),e||null}},bx=Object.defineProperty,Hu=Object.getOwnPropertySymbols,Rx=Object.prototype.hasOwnProperty,Ix=Object.prototype.propertyIsEnumerable,Wu=(t,e,n)=>e in t?bx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Ox=(t,e)=>{for(var n in e||(e={}))Rx.call(e,n)&&Wu(t,n,e[n]);if(Hu)for(var n of Hu(e))Ix.call(e,n)&&Wu(t,n,e[n]);return t};function Zi(t=!1){const e=this,{config:n,state:{current:{width:a,height:i}}}=e,s=e.getCurrentPadding(),o=Ox({width:a-(s.left+s.right),height:i-(n.legend_show?e.getLegendHeight()+10:0)-(s.top+s.bottom)},s);if(t){const{width:l,height:c}=Ku.call(e,{width:o.width,height:o.height});o.width{let l=s;return Be(s)&&(l=t[o?"height":"width"]*s.ratio),l}),{width:a,height:i}}function Cx(t){const e=this,{top:n,left:a,width:i}=Zi.call(e,!0),s=[];return t.forEach((o,l)=>{const{ratio:c}=o,f=l>0?s[l-1][2][1]:n;s.push(o.coords=[[a,f],[a+i,f],[a+i,l>0?c+f:c+n],[a,l>0?c+f:c+n],[a,f]])}),s}function Zu(t=!1){const e=this,{width:n,height:a,top:i,left:s}=Zi.call(e,!0),o=Ku.call(e,{width:n,height:a}),l=(n-o.width)/2,c=(n+o.width)/2,f=a-o.height,g=[[0,0],[n,0],[c,f],[c,a],[l,a],[l,f],[0,0]];return t&&g.forEach(v=>{v[0]+=s,v[1]+=i}),`M${g.join("L")}z`}function Px(t){const e=this,{config:n}=e,a=t.map(i=>({id:i.id,value:i.values.reduce((s,o)=>s+o.value,0)}));return n.data_order&&a.sort(e.getSortCompareFn.bind(e)(!0)),Ju.call(e,a)}function Ju(t){const e=this,{height:n}=Zi.call(e),a=e.getTotalDataSum(!0);return t.forEach(i=>{i.ratio=i.value/a*n}),t}var wx={initFunnel(){const t=this,{$el:e}=t;e.funnel=e.main.select(`.${Se.chart}`).append("g").classed(Ta.chartFunnels,!0),e.funnel.background=e.funnel.append("path").classed(Ta.funnelBackground,!0),t.bindFunnelEvent()},bindFunnelEvent(){const t=this,{$el:{funnel:e},config:n,state:a}=t,i=s=>{var o;const l=s.isTrusted?s.target:(o=a.eventReceiver.rect)==null?void 0:o.node();let c;return/^path$/i.test(l.tagName)&&(a.event=s,c=st(l).datum()),c};if(n.interaction_enabled){const s=a.inputType==="touch";e.on(s?"touchstart":"mouseover mousemove",o=>{const l=i(o);l&&(t.showTooltip([l],o.target),/^(touchstart|mouseover)$/.test(o.type)&&t.setOverOut(!0,l))}).on(s?"touchend":"mouseout",o=>{const l=i(o);n.interaction_onout&&(t.hideTooltip(),t.setOverOut(!1,l))})}},updateTargetsForFunnel(t){const e=this,{$el:{funnel:n}}=e,a=e.getChartClass("Funnel"),i=e.getClass("funnel",!0);n||e.initFunnel();const s=Px.call(e,t.filter(e.isFunnelType.bind(e))),o=n.selectAll(`.${Ta.chartFunnel}`).data(s);o.exit().remove();const l=o.enter().insert("g",`.${Ta.funnelBackground}`);l.append("path"),n.path=l.merge(o).attr("class",c=>a(c)).select("path").attr("class",i).style("opacity","0").style("fill",e.color)},updateFunnel(t){const e=this,{$el:{funnel:n}}=e,a=t.map(({id:i})=>i);n.path=n.path.filter(i=>a.indexOf(i.id)>=0)},generateGetFunnelPoints(){const t=this,{$el:{funnel:e}}=t,n=t.filterTargetsToShow(e.path),{top:a,left:i,right:s}=Zi.call(t),o=(i-s)/2,l={};let c=a!=null?a:0;return n.each((f,g)=>{var v;l[f.id]=[[o,c],[o,c+=((v=n==null?void 0:n[g])!=null?v:f).ratio]]}),f=>l[f.id]},redrawFunnel(){const t=this,{$T:e,$el:{funnel:n}}=t,a=t.filterTargetsToShow(n.path),i=Cx.call(t,Ju.call(t,a.data()));n.attr("clip-path",`path('${Zu.bind(t)()}')`),n.background.attr("d",Zu.call(t,!0)),e(a).attr("d",(s,o)=>`M${i[o].join("L")}z`).style("opacity","1"),n.selectAll("g").style("opacity",null)}},Mx={initGauge(){const t=this,{config:e,$el:{arcs:n}}=t,a=(i=null,s="")=>{n.append("text").attr("class",i).style("text-anchor","middle").style("pointer-events","none").text(s)};if(t.hasType("gauge")){const i=t.hasMultiArcGauge();n.append(i?"g":"path").attr("class",je.chartArcsBackground).style("fill",!i&&e.gauge_background||null),e.gauge_units&&a(Un.chartArcsGaugeUnit),e.gauge_label_show&&(a(Un.chartArcsGaugeMin),!e.gauge_fullCircle&&a(Un.chartArcsGaugeMax))}},updateGaugeMax(){const t=this,{config:e,state:n}=t,i=t.hasMultiArcGauge()?t.getMinMaxData().max[0].value:t.getTotalDataSum(n.rendered);!e.gauge_enforceMinMax&&i+e.gauge_min*(e.gauge_min>0?-1:1)>e.gauge_max&&(e.gauge_max=i-e.gauge_min)},redrawArcGaugeLine(){const t=this,{config:e,state:n,$el:a}=t,{hiddenTargetIds:i}=t.state,s=a.main.selectAll(`.${je.arcs}`).selectAll(`.${je.arcLabelLine}`).data(t.arcData.bind(t));s.enter().append("rect").attr("class",l=>`${je.arcLabelLine} ${Se.target} ${Se.target}-${l.data.id}`).merge(s).style("fill",l=>t.levelColor?t.levelColor(l.data.values[0].value):t.color(l.data)).style("display",e.gauge_label_show?null:"none").each(function(l){let c=0;const f=2;let g=0,v=0,m="";if(i.indexOf(l.data.id)<0){const S=t.updateAngle(l),P=n.gaugeArcWidth/t.filterTargetsToShow(t.data.targets).length*(S.index+1),N=S.endAngle-Math.PI/2,L=n.radius-P,w=N-(L===0?0:1/L);c=n.radiusExpanded-n.radius+P,g=Math.cos(w)*L,v=Math.sin(w)*L,m=`rotate(${N*180/Math.PI}, ${g}, ${v})`}st(this).attr("x",g).attr("y",v).attr("width",c).attr("height",f).attr("transform",m).style("stroke-dasharray",`0, ${c+f}, 0`)})},textForGaugeMinMax(t,e){const n=this,{config:a}=n,i=a.gauge_label_extents;return ve(i)?i.bind(n.api)(t,e):t},getGaugeLabelHeight(){const{config:t}=this;return this.config.gauge_label_show&&!t.gauge_fullCircle?20:0},getPaddingBottomForGauge(){const t=this;return t.getGaugeLabelHeight()*(t.config.gauge_label_show?2:2.5)}};function Dx(t,e,n,a=!1){const i=t?[t,0]:n;for(let s=t||n.reduce((o,l)=>o+l);s<=e;)n.forEach(o=>{s+o<=e&&i.push(o),s+=o});return i.length%2!==0&&i.push(a?n[1]:0),{dash:i.join(" "),length:i.reduce((s,o)=>s+o,0)}}function Lx(t,e,n){const a=this,i=[],s="2 2";if(ke(e)){const o=(l,c)=>ln(l)?c:n?zn.call(a,l):l;for(let l=0,c;c=e[l];l++){const f=o(c.start,t[0].x),g=o(c.end,t[t.length-1].x),v=c.style||{dasharray:s};i[l]={start:f,end:g,style:v}}}return i}var Nx={initLine(){const{$el:t}=this;t.line=t.main.select(`.${Se.chart}`).append("g").attr("class",ur.chartLines).call(this.setCssRule(!1,`.${ur.chartLines}`,["pointer-events:none"]))},updateTargetsForLine(t){const e=this,{$el:{area:n,line:a,main:i}}=e,s=e.getChartClass("Line"),o=e.getClass("lines",!0),l=e.classFocus.bind(e);a||e.initLine();const c=t.filter(v=>!(e.isScatterType(v)||e.isBubbleType(v))),f=i.select(`.${ur.chartLines}`).selectAll(`.${ur.chartLine}`).data(c).attr("class",v=>s(v)+l(v)),g=f.enter().append("g").attr("class",s).style("opacity","0").style("pointer-events",e.getStylePropValue("none"));if(g.append("g").attr("class",o),e.hasTypeOf("Area")){const v=(!n&&g.empty()?f:g).filter(e.isAreaType.bind(e));e.initArea(v)}e.updateTargetForCircle(c,g)},updateLine(t,e=!1){const n=this,{format:{extraLineClasses:a},$el:i,$T:s}=n,o=e?i.subchart:i,l=o.main.selectAll(`.${ur.lines}`).selectAll(`.${ur.line}`).data(n.lineData.bind(n));s(l.exit(),t).style("opacity","0").remove(),o.line=l.enter().append("path").attr("class",c=>`${n.getClass("line",!0)(c)} ${a(c)||""}`).style("stroke",n.color).merge(l).style("opacity",n.initialOpacity.bind(n)).attr("transform",null)},redrawLine(t,e,n=!1){const a=this,{$el:i,$T:s}=a,{line:o}=n?i.subchart:i;return[s(o,e,gr()).attr("d",t).style("stroke",this.color).style("opacity",null)]},getCurve(t){const e=this;return e.config.axis_rotated&&e.isStepType(t)?a=>{const i=e.getInterpolate(t)(a);return i.orgPoint=i.point,i.pointRotated=function(s,o){this._point===1&&(this._point=2);const l=this._y*(1-this._t)+o*this._t;this._context.lineTo(this._x,l),this._context.lineTo(s,l),this._x=s,this._y=o},i.point=function(s,o){this._point===0?this.orgPoint(s,o):this.pointRotated(s,o)},i}:e.getInterpolate(t)},generateDrawLine(t,e){const n=this,{config:a,scale:i}=n,s=a.line_connectNull,o=a.axis_rotated,l=n.generateGetLinePoints(t,e),c=n.getYScaleById.bind(n),f=S=>(e?n.subxx:n.xx).call(n,S),g=(S,P)=>n.isGrouped(S.id)?l(S,P)[0][1]:c(S.id,e)(n.getBaseValue(S));let v=Vu();v=o?v.x(g).y(f):v.x(f).y(g),s||(v=v.defined(S=>n.getBaseValue(S)!==null));const m=e?i.subX:i.x;return S=>{const P=c(S.id,e);let N=s?n.filterRemoveNull(S.values):S.values,L=0,w=0,X;if(n.isLineType(S)){const W=a.data_regions[S.id];W?X=n.lineWithRegions(N,i.zoom||m,P,W):(n.isStepType(S)&&(N=n.convertValuesToStep(N)),X=v.curve(n.getCurve(S))(N))}else N[0]&&(L=m(N[0].x),w=P(N[0].value)),X=o?`M ${w} ${L}`:`M ${L} ${w}`;return X||"M 0 0"}},lineWithRegions(t,e,n,a){const i=this,{config:s}=i,o=s.axis_rotated,l=i.axis.isTimeSeries(),c="2 2",f=Lx.bind(i)(t,a,l),g=i.hasNullDataValue(t);let v,m,S,P;const N=o?ct=>n(ct.value):ct=>e(ct.x),L=o?ct=>e(ct.x):ct=>n(ct.value),w=ct=>`M${ct[0][0]},${ct[0][1]}L${ct[1][0]},${ct[1][1]}`,X=l?(ct,lt,Gt,vt)=>{const Z=ct.x.getTime(),$t=lt.x-ct.x,ut=new Date(Z+$t*Gt),At=new Date(Z+$t*(Gt+vt)),Vt=o?[[n(m(Gt)),e(ut)],[n(m(Gt+S)),e(At)]]:[[e(ut),n(m(Gt))],[e(At),n(m(Gt+S))]];return w(Vt)}:(ct,lt,Gt,vt)=>{const Z=e(lt.x,!o),$t=n(lt.value,o),ut=Gt+vt,At=e(v(Gt),!o),Vt=n(m(Gt),o);let Bt=e(v(ut),!o),Kt=n(m(ut),o);Bt>Z&&(Bt=Z),ct.value>lt.value&&(o?Kt<$t:Kt>$t)&&(Kt=$t);const ne=[[At,Vt],[Bt,Kt]];return o&&ne.forEach(le=>le.reverse()),w(ne)},W={x:i.axis.getAxisType("x"),y:i.axis.getAxisType("y")};let Y="";const Q=i.$el.line.filter(({id:ct})=>ct===t[0].id),K=Q.clone().style("display","none"),at=(ct,lt)=>ct.attr("d",lt).node().getTotalLength(),ht={dash:[],lastLength:0};let St=!1;for(let ct=0,lt;lt=t[ct];ct++){const Gt=t[ct-1],vt=Gt&&De(Gt.value);let Z=i.isWithinRegions(lt.x,f);if(De(lt.value)){if(ln(f)||!Z||!vt)Y+=`${ct&&vt?"L":"M"}${N(lt)},${L(lt)}`;else if(vt)if(Z=((Z==null?void 0:Z.dasharray)||c).split(" ").map(Number),v=zr(W.x,Gt.x,lt.x),m=zr(W.y,Gt.value,lt.value),g){const $t=e(lt.x)-e(Gt.x),ut=n(lt.value)-n(Gt.value),At=Math.sqrt(Math.pow($t,2)+Math.pow(ut,2));S=Z[0]/At,P=S*Z[1];for(let Vt=S;Vt<=1;Vt+=P)Y+=X(Gt,lt,Vt,S),Vt+P>=1&&(Y+=X(Gt,lt,1,0))}else{let $t=[];if(St=lt.x===t[t.length-1].x,l){const Bt=+Gt.x,Kt=new Date(Bt),ne=new Date(Bt+(+lt.x-Bt));$t=[[e(Kt),n(m(0))],[e(ne),n(m(1))]]}else $t=[[e(v(0)),n(m(0))],[e(v(1)),n(m(1))]];o&&$t.forEach(Bt=>Bt.reverse());const ut=at(K,Y),At=at(K,Y+=`L${$t[1].join(",")}`),Vt=Dx(ut-ht.lastLength,At-ht.lastLength,Z,St);ht.lastLength+=Vt.length,ht.dash.push(Vt.dash)}}}return ht.dash.length&&(!St&&ht.dash.push(at(K,Y)),K.remove(),Q.attr("stroke-dasharray",ht.dash.join(" "))),Y},isWithinRegions(t,e){for(let n=0,a;a=e[n];n++)if(a.startgr();var Ji={initialOpacityForCircle(t){const{config:e,state:{withoutFadeIn:n}}=this;let a=e.point_opacity;return ln(a)&&(a=this.getBaseValue(t)!==null&&n[t.id]?this.opacityForCircle(t):"0"),a},opacityForCircle(t){var e;const{config:n}=this;let a=n.point_opacity;return ln(a)&&(a=n.point_show&&!((e=this.isPointFocusOnly)!=null&&e.call(this))?null:"0",a=De(this.getBaseValue(t))?this.isBubbleType(t)||this.isScatterType(t)?"0.5":a:"0"),a},initCircle(){const t=this,{$el:{main:e}}=t;!t.point&&(t.point=t.generatePoint()),(t.hasType("bubble")||t.hasType("scatter"))&&e.select(`.${Se.chart} > .${$n.chartCircles}`).empty()&&e.select(`.${Se.chart}`).append("g").attr("class",$n.chartCircles)},updateTargetForCircle(t,e){const n=this,{config:a,data:i,$el:s}=n,o=a.interaction_enabled&&a.data_selection_enabled,l=o&&a.data_selection_isselectable,c=n.getClass("circles",!0);if(!a.point_show)return;n.initCircle();let f=t,g=e;if(!f){f=i.targets.filter(m=>this.isScatterType(m)||this.isBubbleType(m));const v=s.main.select(`.${$n.chartCircles}`).style("pointer-events","none").selectAll(`.${$n.circles}`).data(f);v.exit().remove(),g=v.enter()}o&&g.append("g").attr("class",v=>n.generateClass(tn.selectedCircles,v.id)),g.append("g").attr("class",c).call(v=>{n.setCssRule(!0,`.${$n.circles}`,["cursor:pointer"],l)(v),n.setCssRule(!0,` .${$n.circle}`,["fill","stroke"],n.color)(v)}).style("opacity",function(){return st(this.parentNode).attr("class").indexOf($n.chartCircles)>-1?"0":null}),o&&f.forEach(v=>{s.main.selectAll(`.${tn.selectedCircles}${n.getTargetSelectorSuffix(v.id)}`).selectAll(`${tn.selectedCircle}`).each(m=>{m.value=v.values[m.index].value})})},updateCircle(t=!1){const e=this,{config:n,state:a,$el:i}=e,s=e.isPointFocusOnly(),o=t?i.subchart:i;if(n.point_show&&!a.toggling){n.point_radialGradient&&e.updateLinearGradient();const l=o.main.selectAll(`.${$n.circles}`).selectAll(`.${$n.circle}`).data(c=>e.isLineType(c)&&e.shouldDrawPointsForLine(c)||e.isBubbleType(c)||e.isRadarType(c)||e.isScatterType(c)?s?[c.values[0]]:c.values:[]);l.exit().remove(),l.enter().filter(Boolean).append(e.point("create",this,e.pointR.bind(e),e.updateCircleColor.bind(e))),o.circle=o.main.selectAll(`.${$n.circles} .${$n.circle}`).style("stroke",e.getStylePropValue(e.color)).style("opacity",e.initialOpacityForCircle.bind(e))}},updateCircleColor(t){const e=this,n=e.getStylePropValue(e.color);return e.config.point_radialGradient?e.getGradienColortUrl(t.id):n?n(t):null},redrawCircle(t,e,n,a,i=!1){const s=this,{state:{rendered:o},$el:l,$T:c}=s,f=i?l.subchart:l,g=f.main.selectAll(`.${tn.selectedCircle}`);if(!s.config.point_show)return[];const v=s.point("update",s,t,e,s.updateCircleColor.bind(s),n,a,g),m=s.isCirclePoint()?"c":"",S=gr(),P=s.opacityForCircle.bind(s),N=[];return f.circle.each(function(L){let w=v.bind(this)(L);w=c(w,n||!o,S).style("opacity",P),N.push(w)}),[N,c(g,n).attr(`${m}x`,t).attr(`${m}y`,e)]},showCircleFocus(t){const e=this,{state:{hasRadar:n,resizing:a,toggling:i,transiting:s},$el:o}=e;let{circle:l}=o;if(s===!1&&l&&e.isPointFocusOnly()){const c=(n?e.radarCircleX:e.circleX).bind(e),f=(n?e.radarCircleY:e.circleY).bind(e),g=i||ln(t),v=e.point("update",e,c,f,e.getStylePropValue(e.color),a?!1:g);t&&(l=l.filter(function(m){var S;const P=(S=t.filter)==null?void 0:S.call(t,N=>N.id===m.id);return P.length?st(this).datum(P[0]):!1})),l.attr("class",this.updatePointClass.bind(this)).style("opacity",null).each(function(m){const{id:S,index:P,value:N}=m;let L="hidden";De(N)&&(v.bind(this)(m),e.expandCircles(P,S),L=""),this.style.visibility=L})}},hideCircleFocus(){const t=this,{$el:{circle:e}}=t;t.isPointFocusOnly()&&e&&(t.unexpandCircles(),e.style("visibility","hidden"))},circleX(t){return this.xx(t)},updateCircleY(t=!1){const e=this,n=e.generateGetLinePoints(e.getShapeIndices(e.isLineType),t);return(a,i)=>{const s=a.id;return e.isGrouped(s)?n(a,i)[0][1]:e.getYScaleById(s,t)(e.getBaseValue(a))}},expandCircles(t,e,n){const a=this,i=a.pointExpandedR.bind(a);n&&a.unexpandCircles();const s=a.getShapeByIndex("circle",t,e).classed(Se.EXPANDED,!0),o=i(s)/a.config.point_r,l=1-o;a.isCirclePoint()?s.attr("r",i):s.each(function(){const c=st(this);if(this.tagName==="circle")c.attr("r",i);else{const{width:f,height:g}=this.getBBox(),v=l*(+c.attr("x")+f/2),m=l*(+c.attr("y")+g/2);c.attr("transform",`translate(${v} ${m}) scale(${o})`)}})},unexpandCircles(t){const e=this,n=e.pointR.bind(e),a=e.getShapeByIndex("circle",t).filter(function(){return st(this).classed(Se.EXPANDED)}).classed(Se.EXPANDED,!1);if(a.attr("r",n),!e.isCirclePoint()){const i=n(a)/e.config.point_r;a.attr("transform",i!==1?`scale(${i})`:null)}},pointR(t){const e=this,{config:n}=e,a=n.point_r;let i=a;return e.isBubbleType(t)?i=e.getBubbleR(t):ve(a)&&(i=a.bind(e.api)(t)),t.r=i,i},pointExpandedR(t){const e=this,{config:n}=e,a=e.isBubbleType(t)?1.15:1.75;return n.point_focus_expand_enabled?n.point_focus_expand_r||e.pointR(t)*a:e.pointR(t)},pointSelectR(t){const e=this,n=e.config.point_select_r;return ve(n)?n(t):n||e.pointR(t)*4},isPointFocusOnly(){const t=this;return t.config.point_focus_only&&!t.hasType("bubble")&&!t.hasType("scatter")&&!t.hasArcType(null,["radar"])},isWithinCircle(t,e){const{state:n}=this,a=Hn(n.event,t),i=st(t),s=this.isCirclePoint(t)?"c":"",o=this.getPointSensitivity(i==null?void 0:i.datum());let l=+i.attr(`${s}x`),c=+i.attr(`${s}y`);if(!(l||c)&&t.nodeType===1){const{x:f,y:g}=Si(t);l=f,c=g}return Math.sqrt(Math.pow(l-a[0],2)+Math.pow(c-a[1],2))<(e||o)},getPointSensitivity(t){const e=this;let n=e.config.point_sensitivity;if(t)ve(n)?n=n.call(e.api,t):n==="radius"&&(n=t.r);else return n;return n},updatePointClass(t){const e=this,{circle:n}=e.$el;let a=!1;return(Be(t)||n)&&(a=t===!0?n.each(function(i){let s=e.getClass("circle",!0)(i);this.getAttribute("class").indexOf(Se.EXPANDED)>-1&&(s+=` ${Se.EXPANDED}`),this.setAttribute("class",s)}):e.getClass("circle",!0)(t)),a},generateGetLinePoints(t,e){const n=this,{config:a}=n,i=n.getShapeX(0,t,e),s=n.getShapeY(e),o=n.getShapeOffset(n.isLineType,t,e),l=n.getYScaleById.bind(n);return(c,f)=>{const g=l.call(n,c.id,e)(n.getShapeYMin(c.id)),v=o(c,f)||g,m=i(c);let S=s(c);a.axis_rotated&&(c.value>0&&SDe(S.value)?e(S)-c/2:0,v=S=>De(S.value)?n(S)-f/2:0;let m=t;return i&&(s&&m.attr("x",g),m=l.$T(m,i,la()),o&&l.$T(o,i,la())),m.attr("x",g).attr("y",v).style("fill",a)}},circle:{create(t,e,n){return t.append("circle").attr("class",this.updatePointClass.bind(this)).attr("r",e).style("fill",n).node()},update(t,e,n,a,i,s,o){const l=this;let c=t;return l.hasType("bubble")&&c.attr("r",l.pointR.bind(l)),i&&(s&&c.attr("cx",e),c.attr("cx")&&(c=l.$T(c,i,la())),o&&l.$T(c,i,la())),c.attr("cx",e).attr("cy",n).style("fill",a)}},rectangle:{create(t,e,n){const a=i=>e(i)*2;return t.append("rect").attr("class",this.updatePointClass.bind(this)).attr("width",a).attr("height",a).style("fill",n).node()},update(t,e,n,a,i,s,o){const l=this,c=l.config.point_r,f=m=>e(m)-c,g=m=>n(m)-c;let v=t;return i&&(s&&v.attr("x",f),v=l.$T(v,i,la()),o&&l.$T(o,i,la())),v.attr("x",f).attr("y",g).style("fill",a)}}};function Fx(t){return nr(t)&&ve(t.create)&&ve(t.update)}function Bx(t,e){var n;const a=this,i=(c,f)=>{const g=c.attributes;for(let v=0,m;m=g[v];v++)m=m.name,f.setAttribute(m,c.getAttribute(m))},o=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,l=vn.createElementNS(ae.svg,o.nodeName.toLowerCase());if(l.id=e,l.style.fill="inherit",l.style.stroke="inherit",i(o,l),(n=o.childNodes)!=null&&n.length){const c=st(l);"innerHTML"in l?c.html(o.innerHTML):Lr(o.childNodes).forEach(f=>{i(f,c.append(f.tagName).node())})}a.$el.defs.node().appendChild(l)}var ca={hasValidPointType(t){return/^(circle|rect(angle)?|polygon|ellipse|use)$/i.test(t||this.config.point_type)},hasLegendDefsPoint(){var t;const{config:e}=this;return e.legend_show&&((t=e.point_pattern)==null?void 0:t.length)&&e.legend_usePoint},getDefsPointId(t){const{state:{datetimeId:e}}=this;return`${e}-point${t}`},generatePoint(){const t=this,{$el:e,config:n}=t,a=[],i=cn(n.point_pattern)?n.point_pattern:[n.point_type];return function(s,o,...l){return function(c){var f,g,v,m;const S=t.getTargetSelectorSuffix(c.id||((f=c.data)==null?void 0:f.id)||c),P=st(this);a.indexOf(S)<0&&a.push(S);let N=i[a.indexOf(S)%i.length];if(t.hasValidPointType(N))N=t[N];else if(!Fx(N||n.point_type)){const L=t.getDefsPointId(S);if(e.defs.select(`#${L}`).size()<1&&Bx.bind(t)(N,L),s==="create")return(g=t.custom)==null?void 0:g.create.bind(o)(P,L,...l);if(s==="update")return(v=t.custom)==null?void 0:v.update.bind(o)(P,...l)}return(m=N[s])==null?void 0:m.bind(o)(P,...l)}}}};function ku(t){const e=t.config.polar_level_max;let n=t.getMinMaxData().max[0].value;return e&&e>n&&(n=e),n}var Ux={initPolar(){const t=this,{$el:{arcs:e},config:n}=t,a=n.polar_level_text_show,i=n.polar_level_text_backgroundColor;e.levels=e.append("g").attr("class",Tr.levels),a&&i&&t.generateTextBGColorFilter(i)},getPolarOuterRadius(t,e){var n;const a=ku(this);return((n=t==null?void 0:t.data.values[0].value)!=null?n:0)/a*e},updateTargetsForPolar(t){this.updateTargetsForArc(t)},redrawPolar(){const t=this,{config:e}=t;e.polar_level_show&&t.updatePolarLevel()},updatePolarLevel(){const t=this,{config:e,state:n,$el:{arcs:{levels:a}}}=t,i=e.polar_level_depth,s=ku(t),o=Ei(0,i),l=n.radius,c=o.map(m=>l*((m+1)/i)),f=(e.polar_level_text_format||function(){}).bind(t.api),g=a.selectAll(`.${Tr.level}`).data(o);g.exit().remove();const v=g.enter().append("g").attr("class",(m,S)=>`${Tr.level} ${Tr.level}-${S}`);if(v.append("circle"),v.merge(g).selectAll("circle").style("visibility",e.polar_level_show?null:"hidden").attr("cx",0).attr("cy",0).attr("r",m=>c[m]),e.polar_level_text_show){const m=e.polar_level_text_backgroundColor,S=`#${n.datetimeId}-labels-bg${t.getTargetSelectorSuffix(m)}`;v.append("text").style("text-anchor","middle"),v.merge(g).selectAll("text").attr("dy",P=>-c[P]+5).attr("filter",m?`url(${S})`:null).text(P=>f(s/o.length*(P+1)))}}};function zx(t,e,n,a,i,s){const o=t&&a>0?n-a:a,l=2*Math.PI;return i*(1-s*(e==="x"?Math.sin:Math.cos)(o*l/n))}const ua=Ln.radarPoints,Qu=Ln.radarTextWidth;var jx={initRadar(){const t=this,{config:e,state:{current:n},$el:a}=t;t.hasType("radar")&&(a.radar=a.main.select(`.${Se.chart}`).append("g").attr("class",ko.chartRadars),a.radar.levels=a.radar.append("g").attr("class",Tr.levels),a.radar.axes=a.radar.append("g").attr("class",dn.axis),a.radar.shapes=a.radar.append("g").attr("class",on.shapes),n.dataMax=e.radar_axis_max||t.getMinMaxData().max[0].value,e.radar_axis_text_show&&(e.interaction_enabled&&t.bindRadarEvent(),t.updateRadarLevel(),t.updateRadarAxes()))},getRadarSize(){const t=this,{config:e,state:{arcWidth:n,arcHeight:a}}=t,i=e.axis_x_categories.length<4?-20:10,s=(Math.min(n,a)-i)/2;return[s,s]},updateTargetsForRadar(t){const e=this,{config:n}=e;qn(n.axis_x_categories)&&(n.axis_x_categories=Ei(0,_n("max",t.map(a=>a.values.length)))),e.generateRadarPoints()},getRadarPosition(t,e,n,a){const i=this,{config:s}=i,[o,l]=i.getRadarSize(),c=s.axis_x_categories.length,f=s.radar_direction_clockwise,g=Lr(t).map(v=>zx(f,v,c,e,ke(n)?n:t==="x"?o:l,he(a)?a:s.radar_size_ratio));return g.length===1?g[0]:g},generateRadarPoints(){const t=this,e=t.data.targets,[n,a]=t.getRadarSize(),i=t.cache.get(ua)||{},s=i._size;(!s||s.width!==n&&s.height!==a)&&(e.forEach(o=>{i[o.id]=o.values.map((l,c)=>t.getRadarPosition(["x","y"],c,void 0,t.getRatio("radar",l)))}),i._size={width:n,height:a},t.cache.add(ua,i))},redrawRadar(){const t=this,{radar:e,main:n}=t.$el,a=t.getTranslate("radar");a&&(e.attr("transform",a),n.select(`.${On.chartTexts}`).attr("transform",a),t.generateRadarPoints(),t.updateRadarLevel(),t.updateRadarAxes(),t.updateRadarShape())},generateGetRadarPoints(){const t=this.cache.get(ua);return(e,n)=>{const a=t[e.id][n];return[a,a,a,a]}},updateRadarLevel(){const t=this,{config:e,state:n,$el:{radar:a}}=t,[i,s]=t.getRadarSize(),o=e.radar_level_depth,l=e.axis_x_categories.length,c=e.radar_level_text_show,f=a.levels,g=Ei(0,o),v=e.radar_size_ratio*Math.min(i,s),m=g.map(w=>v*((w+1)/o)),S=(e.radar_level_text_format||function(){}).bind(t.api),P=g.map(w=>{const X=m[w];return Ei(0,l).map(Y=>t.getRadarPosition(["x","y"],Y,X,1).join(",")).join(" ")}),N=f.selectAll(`.${Tr.level}`).data(g);N.exit().remove();const L=N.enter().append("g").attr("class",(w,X)=>`${Tr.level} ${Tr.level}-${X}`);L.append("polygon").style("visibility",e.radar_level_show?null:"hidden"),c&&(f.select("text").empty()&&f.append("text").attr("dx","-.5em").attr("dy","-.7em").style("text-anchor","end").text(()=>S(0)),L.append("text").attr("dx","-.5em").style("text-anchor","end").text(w=>S(n.current.dataMax/g.length*(w+1)))),L.merge(N).attr("transform",w=>`translate(${i-m[w]}, ${s-m[w]})`).selectAll("polygon").attr("points",w=>P[w]),c&&f.selectAll("text").attr("x",w=>ln(w)?i:P[w].split(",")[0]).attr("y",w=>ln(w)?s:0)},updateRadarAxes(){const t=this,{config:e,$el:{radar:n}}=t,[a,i]=t.getRadarSize(),s=e.axis_x_categories;let o=n.axes.selectAll("g").data(s);o.exit().remove();const l=o.enter().append("g").attr("class",(c,f)=>`${dn.axis}-${f}`);if(e.radar_axis_line_show&&l.append("line"),e.radar_axis_text_show&&l.append("text"),o=l.merge(o),e.radar_axis_line_show&&o.select("line").attr("x1",a).attr("y1",i).attr("x2",(c,f)=>t.getRadarPosition("x",f)).attr("y2",(c,f)=>t.getRadarPosition("y",f)),e.radar_axis_text_show){const{x:c=0,y:f=0}=e.radar_axis_text_position,g=t.cache.get(Qu)||0;if(o.select("text").style("text-anchor","middle").attr("dy",".5em").call(v=>{v.each(function(m){wa(st(this),String(m),[-.6,1.2])})}).datum((v,m)=>({index:m})).attr("transform",function(v){ln(this.width)&&(this.width=this.getBoundingClientRect().width/2);let m=t.getRadarPosition("x",v.index,void 0,1),S=Math.round(t.getRadarPosition("y",v.index,void 0,1));return m>a?m+=this.width+c:Math.round(m)i?(S/2===i&&this.firstChild.tagName==="tspan"&&this.firstChild.setAttribute("dy","0em"),S+=f):SHl(m.node()).width);v.every(m=>m>0)&&t.cache.add(Qu,v[0]-v[1])}}},bindRadarEvent(){const t=this,{config:e,state:n,$el:{radar:a,svg:i}}=t,s=t.isPointFocusOnly(),{inputType:o,transiting:l}=n,c=o==="mouse",f=g=>{if(n.event=g,!e.interaction_onout)return;const v=t.getDataIndexFromEvent(g),m=ln(v);(c||m)&&(t.hideTooltip(),s?t.hideCircleFocus():t.unexpandCircles(),c?t.setOverOut(!1,v):m&&t.callOverOutForTouch())};a.axes.on(c?"mouseover ":"touchstart",g=>{if(l)return;n.event=g;const v=t.getDataIndexFromEvent(g);t.selectRectForSingle(i.node(),v),c?t.setOverOut(!0,v):t.callOverOutForTouch(v)}).on("mouseout",c?f:null),c||i.on("touchstart",f)},updateRadarShape(){const t=this,e=t.data.targets.filter(s=>t.isRadarType(s)),n=t.cache.get(ua),a=t.$el.radar.shapes.selectAll("polygon").data(e),i=a.enter().append("g").attr("class",t.getChartClass("Radar"));t.$T(a.exit()).remove(),i.append("polygon").merge(a).style("fill",t.color).style("stroke",t.color).attr("points",s=>n[s.id].join(" ")),t.updateTargetForCircle(e,i)},radarCircleX(t){return this.cache.get(ua)[t.id][t.index][0]},radarCircleY(t){return this.cache.get(ua)[t.id][t.index][1]}};function Gx(t){var e=0,n=t.children,a=n&&n.length;if(!a)e=1;else for(;--a>=0;)e+=n[a].value;t.value=e}function Vx(){return this.eachAfter(Gx)}function Xx(t,e){let n=-1;for(const a of this)t.call(e,a,++n,this);return this}function Yx(t,e){for(var n=this,a=[n],i,s,o=-1;n=a.pop();)if(t.call(e,n,++o,this),i=n.children)for(s=i.length-1;s>=0;--s)a.push(i[s]);return this}function Hx(t,e){for(var n=this,a=[n],i=[],s,o,l,c=-1;n=a.pop();)if(i.push(n),s=n.children)for(o=0,l=s.length;o=0;)n+=a[i].value;e.value=n})}function Zx(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function Jx(t){for(var e=this,n=kx(e,t),a=[e];e!==n;)e=e.parent,a.push(e);for(var i=a.length;t!==n;)a.splice(i,0,t),t=t.parent;return a}function kx(t,e){if(t===e)return t;var n=t.ancestors(),a=e.ancestors(),i=null;for(t=n.pop(),e=a.pop();t===e;)i=t,t=n.pop(),e=a.pop();return i}function Qx(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function qx(){return Array.from(this)}function _x(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function t0(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e}function*e0(){var t=this,e,n=[t],a,i,s;do for(e=n.reverse(),n=[];t=e.pop();)if(yield t,a=t.children)for(i=0,s=a.length;i=0;--l)i.push(s=o[l]=new ki(o[l])),s.parent=a,s.depth=a.depth+1;return n.eachBefore(s0)}function n0(){return Ro(this).eachBefore(i0)}function r0(t){return t.children}function a0(t){return Array.isArray(t)?t[1]:null}function i0(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function s0(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function ki(t){this.data=t,this.depth=this.height=0,this.parent=null}ki.prototype=Ro.prototype={constructor:ki,count:Vx,each:Xx,eachAfter:Hx,eachBefore:Yx,find:Wx,sum:Kx,sort:Zx,path:Jx,ancestors:Qx,descendants:qx,leaves:_x,links:t0,copy:n0,[Symbol.iterator]:e0};function o0(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Qi(t,e,n,a,i){for(var s=t.children,o,l=-1,c=s.length,f=t.value&&(a-e)/t.value;++lX&&(X=f),K=L*L*Q,W=Math.max(X/K,K/w),W>Y){L-=f;break}Y=W}o.push(c={value:L,dice:S1?a:1)},n}(qu);function C1(t){return t==null?null:ef(t)}function ef(t){if(typeof t!="function")throw new Error;return t}function za(){return 0}function ja(t){return function(){return t}}function l0(){var t=tf,e=!1,n=1,a=1,i=[0],s=za,o=za,l=za,c=za,f=za;function g(m){return m.x0=m.y0=0,m.x1=n,m.y1=a,m.eachBefore(v),i=[0],e&&m.eachBefore(o0),m}function v(m){var S=i[m.depth],P=m.x0+S,N=m.y0+S,L=m.x1-S,w=m.y1-S;L=m-1){var X=s[v];X.x0=P,X.y0=N,X.x1=L,X.y1=w;return}for(var W=f[v],Y=S/2+W,Q=v+1,K=m-1;Q>>1;f[at]w-N){var ct=S?(P*St+L*ht)/S:L;g(v,Q,ht,P,N,ct,w),g(Q,m,St,ct,N,L,w)}else{var lt=S?(N*St+w*ht)/S:w;g(v,Q,ht,P,N,L,lt),g(Q,m,St,P,lt,L,w)}}}function c0(t,e,n,a,i){(t.depth&1?qi:Qi)(t,e,n,a,i)}var u0=function t(e){function n(a,i,s,o,l){if((c=a._squarify)&&c.ratio===e)for(var c,f,g,v,m=-1,S,P=c.length,N=a.value;++m1?a:1)},n}(qu);function f0(t,e){const n=this,{scale:{x:a,y:i},state:{width:s}}=n;t.selectAll("g").attr("transform",o=>`translate(${o===e?"0,0":`${a(o.x0)},${i(o.y0)}`})`).select("rect").attr("width",o=>o===e?s:a(o.x1)-a(o.x0)).attr("height",o=>o===e?0:i(o.y1)-i(o.y0))}function d0(t){const e=this;return t.map(n=>{const{id:a,values:i}=n,{value:s}=i[0];return{name:a,id:a,value:s,ratio:e.getRatio("treemap",i[0])}})}function h0(t){const e=this,n=Ro(t).sum(i=>i.value),a=e.getSortCompareFn(!0);return[e.treemap(a?n.sort(a):n)]}var g0={initTreemap(){const t=this,{$el:e,state:{current:{width:n,height:a},clip:i,datetimeId:s}}=t;i.id=`${s}-clip`,t.treemap=l0().tile(t.getTreemapTile()),e.defs.append("clipPath").attr("id",i.id).append("rect").attr("width",n).attr("height",a),e.treemap=e.main.select(`.${Se.chart}`).attr("clip-path",`url(#${i.id})`).append("g").classed(qo.chartTreemaps,!0),t.bindTreemapEvent()},bindTreemapEvent(){const t=this,{$el:e,config:n,state:a}=t,i=s=>{var o;const l=s.isTrusted?s.target:(o=a.eventReceiver.rect)==null?void 0:o.node();let c;return/^rect$/i.test(l.tagName)&&(a.event=s,c=st(l).datum()),c==null?void 0:c.data};if(n.interaction_enabled){const s=a.inputType==="touch";e.treemap.on(s?"touchstart":"mouseover mousemove",o=>{const l=i(o);l&&(t.showTooltip([l],o.currentTarget),/^(touchstart|mouseover)$/.test(o.type)&&t.setOverOut(!0,l))}).on(s?"touchend":"mouseout",o=>{const l=i(o);n.interaction_onout&&(t.hideTooltip(),t.setOverOut(!1,l))})}},getTreemapTile(){var t,e;const n=this,{config:a,state:{current:{width:i,height:s}}}=n,o=(e={binary:nf,dice:Qi,slice:qi,sliceDice:c0,squarify:tf,resquarify:u0}[(t=a.treemap_tile)!=null?t:"binary"])!=null?e:nf;return(l,c,f,g,v)=>{o(l,0,0,i,s);for(const m of l.children)m.x0=c+m.x0/i*(g-c),m.x1=c+m.x1/i*(g-c),m.y0=f+m.y0/s*(v-f),m.y1=f+m.y1/s*(v-f)}},getTreemapData(t){const e=this;return{name:"root",children:d0.bind(e)(e.filterTargetsToShow(t.filter(e.isTreemapType,e)))}},updateTargetsForTreemap(t){const e=this,{$el:{treemap:n}}=e,a=h0.call(e,e.getTreemapData(t!=null?t:e.data.targets));n.data(a)},updateTreemap(t){const e=this,{$el:n,$T:a}=e,i=n.treemap.datum(),s=e.getChartClass("Treemap"),o=e.getClass("treemap",!0),l=n.treemap.selectAll("g").data(i.children);a(l.exit(),t).style("opacity","0").remove(),l.enter().append("g").append("rect"),n.treemap.selectAll("g").attr("class",s).select("rect").attr("class",o).attr("fill",c=>e.color(c.data.name))},generateGetTreemapPoints(){const t=this,{$el:e,scale:{x:n,y:a}}=t,i={};return e.treemap.selectAll("g").each(s=>{i[s.data.name]=[[n(s.x0),a(s.y0)],[n(s.x1),a(s.y1)]]}),s=>i[s.id]},redrawTreemap(t){const e=this,{$el:n,state:{current:{width:a,height:i}}}=e;return n.defs.select("rect").attr("width",a).attr("height",i),[e.$T(n.treemap,t,gr()).call(f0.bind(e),n.treemap.datum())]},treemapDataLabelFormat(t){const e=this,{config:n}=e,{id:a,value:i}=t,s=n.treemap_label_format,o=e.getRatio("treemap",t),l=(o*100).toFixed(2),c=n.treemap_label_show&&e.meetsLabelThreshold(o,"treemap")?null:"0";return function(f){return f.style("opacity",c),ve(s)?s.bind(e.api)(i,o,a):`${a} +${l}%`}}},Xr={point_show:!0,point_r:2.5,point_radialGradient:!1,point_sensitivity:10,point_focus_expand_enabled:!0,point_focus_expand_r:void 0,point_focus_only:!1,point_opacity:void 0,point_pattern:[],point_select_r:void 0,point_type:"circle"},fa={area_above:!1,area_below:!1,area_front:!0,area_linearGradient:!1,area_zerobased:!0},v0={bar_front:!1,bar_indices_removeNull:!1,bar_label_threshold:0,bar_linearGradient:!1,bar_overlap:!1,bar_padding:0,bar_radius:void 0,bar_radius_ratio:void 0,bar_sensitivity:2,bar_width:void 0,bar_width_ratio:.6,bar_width_max:void 0,bar_zerobased:!0},p0={bubble_maxR:35,bubble_zerobased:!1},m0={candlestick_width:void 0,candlestick_width_ratio:.6,candlestick_width_max:void 0,candlestick_color_down:"red"},y0={line_connectNull:!1,line_step_type:"step",line_step_tooltipMatch:!1,line_zerobased:!1,line_classes:void 0,line_point:!0},x0={scatter_zerobased:!1},Io={spline_interpolation_type:"cardinal"},_i={arc_cornerRadius:0,arc_cornerRadius_ratio:0,arc_needle_show:!1,arc_needle_color:void 0,arc_needle_value:void 0,arc_needle_path:void 0,arc_needle_length:100,arc_needle_top_rx:0,arc_needle_top_ry:0,arc_needle_top_width:0,arc_needle_bottom_rx:1,arc_needle_bottom_ry:1,arc_needle_bottom_width:15,arc_needle_bottom_len:0,arc_rangeText_values:void 0,arc_rangeText_unit:"absolute",arc_rangeText_fixed:!1,arc_rangeText_format:void 0,arc_rangeText_position:void 0},T0={donut_label_show:!0,donut_label_format:void 0,donut_label_threshold:.05,donut_label_ratio:void 0,donut_width:void 0,donut_title:"",donut_expand:{},donut_expand_rate:.98,donut_expand_duration:50,donut_padAngle:0,donut_startingAngle:0},$0={funnel_neck_width:0,funnel_neck_height:0},S0={gauge_background:"",gauge_fullCircle:!1,gauge_label_show:!0,gauge_label_extents:void 0,gauge_label_format:void 0,gauge_label_ratio:void 0,gauge_label_threshold:0,gauge_enforceMinMax:!1,gauge_min:0,gauge_max:100,gauge_type:"single",gauge_startingAngle:-1*Math.PI/2,gauge_arcLength:100,gauge_title:"",gauge_units:void 0,gauge_width:void 0,gauge_arcs_minWidth:5,gauge_expand:{},gauge_expand_rate:.98,gauge_expand_duration:50},A0={pie_label_show:!0,pie_label_format:void 0,pie_label_ratio:void 0,pie_label_threshold:.05,pie_expand:{},pie_expand_rate:.98,pie_expand_duration:50,pie_innerRadius:0,pie_outerRadius:void 0,pie_padAngle:0,pie_padding:0,pie_startingAngle:0},E0={polar_label_show:!0,polar_label_format:void 0,polar_label_threshold:.05,polar_label_ratio:void 0,polar_level_depth:3,polar_level_max:void 0,polar_level_show:!0,polar_level_text_backgroundColor:"#fff",polar_level_text_format:t=>t%1===0?t:t.toFixed(2),polar_level_text_show:!0,polar_padAngle:0,polar_padding:0,polar_startingAngle:0},b0={radar_axis_max:void 0,radar_axis_line_show:!0,radar_axis_text_show:!0,radar_axis_text_position:{},radar_level_depth:3,radar_level_show:!0,radar_level_text_format:t=>t%1===0?t:t.toFixed(2),radar_level_text_show:!0,radar_size_ratio:.87,radar_direction_clockwise:!1},R0={treemap_tile:"binary",treemap_label_format:void 0,treemap_label_threshold:.05,treemap_label_show:!0};function da(t,e){xn(Gr.prototype,Object.values(Du).concat(t)),xn(Er.prototype,Jy),Nr.setOptions(Object.values(Lu).concat(e||[]))}function mr(t,e){da([ca,Ji,Nx].concat(t||[])),Nr.setOptions([Xr,y0].concat(e||[]))}function ha(t,e){xn(Gr.prototype,[px,ca].concat(t||[])),Nr.setOptions([Xr].concat(e||[]))}let rf=()=>(mr(oa,[fa]),(rf=()=>se.AREA)()),af=()=>(mr(oa,[fa]),(af=()=>se.AREA_LINE_RANGE)()),sf=()=>(mr(oa,[fa]),(sf=()=>se.AREA_STEP_RANGE)()),of=()=>(mr(oa,[fa,Io]),(of=()=>se.AREA_SPLINE)()),lf=()=>(mr(oa,[fa,Io]),(lf=()=>se.AREA_SPLINE_RANGE)()),cf=()=>(mr(oa,[fa]),(cf=()=>se.AREA_STEP)()),uf=()=>(mr(),(uf=()=>se.LINE)()),ff=()=>(mr(void 0,[Io]),(ff=()=>se.SPLINE)()),df=()=>(mr(),(df=()=>se.STEP)()),hf=()=>(ha(void 0,[_i,T0]),(hf=()=>se.DONUT)()),gf=()=>(ha([Mx],[_i,S0]),(gf=()=>se.GAUGE)()),vf=()=>(ha(void 0,[_i,A0]),(vf=()=>se.PIE)()),pf=()=>(ha([Ux],[_i,E0]),(pf=()=>se.POLAR)()),mf=()=>(ha([Du.eventrect,Ji,jx],[Xr,b0,{axis_x_categories:Lu.optAxis.axis_x_categories}]),(mf=()=>se.RADAR)()),yf=()=>(da([yx,ca],[v0,Xr]),(yf=()=>se.BAR)()),xf=()=>(da([ca,Ji,xx],[p0,Xr]),(xf=()=>se.BUBBLE)()),Tf=()=>(da([Ex,ca],[m0,Xr]),(Tf=()=>se.CANDLESTICK)()),$f=()=>(da([ca,Ji],[Xr,x0]),($f=()=>se.SCATTER)()),Sf=()=>(ha([wx],[$0]),(Sf=()=>se.FUNNEL)()),Af=()=>(da([g0],[R0]),(Af=()=>se.TREEMAP)()),Oo={};const Ef={version:"3.14.2",generate(t){const e=ea({},Oo,t),n=new Er(e);return n.internal.charts=this.instance,this.instance.push(n),n},defaults(t){return Be(t)&&(Oo=t),Oo},instance:[],plugin:{}};Object.keys(d).forEach(t=>d[t]()),Object.keys(u).forEach(t=>u[t]())}],Va={};function jn(x){var b=Va[x];if(b!==void 0)return b.exports;var r=Va[x]={exports:{}};return Co[x].call(r.exports,r,r.exports,jn),r.exports}(function(){jn.d=function(x,b){for(var r in b)jn.o(b,r)&&!jn.o(x,r)&&Object.defineProperty(x,r,{enumerable:!0,get:b[r]})}})(),function(){jn.o=function(x,b){return Object.prototype.hasOwnProperty.call(x,b)}}(),function(){jn.r=function(x){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(x,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(x,"__esModule",{value:!0})}}(),jn(0);var Xa=jn(576);return Xa}()}); diff --git a/release/latest/dist/plugin/billboardjs-plugin-bubblecompare.js b/release/latest/dist/plugin/billboardjs-plugin-bubblecompare.js index 16d4ce7c3..c546fbc32 100644 --- a/release/latest/dist/plugin/billboardjs-plugin-bubblecompare.js +++ b/release/latest/dist/plugin/billboardjs-plugin-bubblecompare.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */ @@ -135,7 +135,7 @@ class Plugin { }); } } -__publicField(Plugin, "version", "3.14.1"); +__publicField(Plugin, "version", "3.14.2"); ;// ./src/Plugin/bubblecompare/index.ts var bubblecompare_defProp = Object.defineProperty; diff --git a/release/latest/dist/plugin/billboardjs-plugin-bubblecompare.min.js b/release/latest/dist/plugin/billboardjs-plugin-bubblecompare.min.js index 43acfcf41..68f26e1a3 100644 --- a/release/latest/dist/plugin/billboardjs-plugin-bubblecompare.min.js +++ b/release/latest/dist/plugin/billboardjs-plugin-bubblecompare.min.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin - */(function(n,i){typeof exports=="object"&&typeof module=="object"?module.exports=i(require("d3-selection")):typeof define=="function"&&define.amd?define("bb",["d3-selection"],i):typeof exports=="object"?exports.bb=i(require("d3-selection")):(n.bb=n.bb||{},n.bb.plugin=n.bb.plugin||{},n.bb.plugin.bubblecompare=i(n.d3))})(this,function(p){return function(){"use strict";var n={747:function(r){r.exports=p}},i={};function s(r){var e=i[r];if(e!==void 0)return e.exports;var t=i[r]={exports:{}};return n[r](t,t.exports,s),t.exports}(function(){s.d=function(r,e){for(var t in e)s.o(e,t)&&!s.o(r,t)&&Object.defineProperty(r,t,{enumerable:!0,get:e[t]})}})(),function(){s.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)}}();var b={};s.d(b,{default:function(){return R}});var $=s(747),g=Object.defineProperty,v=(r,e,t)=>e in r?g(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,l=(r,e,t)=>v(r,typeof e!="symbol"?e+"":e,t);class d{constructor(e={}){l(this,"$$"),l(this,"options"),this.options=e}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(e=>{this[e]=null,delete this[e]})}}l(d,"version","3.14.1");var x=Object.defineProperty,B=(r,e,t)=>e in r?x(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,_=(r,e,t)=>B(r,typeof e!="symbol"?e+"":e,t);const f=class m extends d{constructor(e){return super(e),_(this,"$$"),this}$init(){const{$$:e}=this;e.findClosest=this.findClosest.bind(this),e.getBubbleR=this.getBubbleR.bind(this),e.pointExpandedR=this.pointExpandedR.bind(this)}pointExpandedR(e){const t=this.getBubbleR(e),{expandScale:a=1}=this.options;return m.raiseFocusedBubbleLayer(e),this.changeCursorPoint(),t*a}static raiseFocusedBubbleLayer(e){e.raise&&(0,$.select)(e.node().parentNode.parentNode).raise()}changeCursorPoint(){this.$$.$el.eventRect.style("cursor","pointer")}findClosest(e,t){const{$$:a}=this;return e.filter(o=>o&&!a.isBarType(o.id)).reduce((o,u)=>a.dist(u,t){const h=this.getZData(j.values[0]);return[Math.min(w,h),Math.max(C,h)]},[1e4,0]),P=u>0&&c===u?0:o/c;return Math.abs(P)*(a-t)+t}getZData(e){return this.$$.isBubbleZType(e)?this.$$.getBubbleZData(e.value,"z"):e.value}};_(f,"version","0.0.1");let R=f;return b=b.default,b}()}); + */(function(n,i){typeof exports=="object"&&typeof module=="object"?module.exports=i(require("d3-selection")):typeof define=="function"&&define.amd?define("bb",["d3-selection"],i):typeof exports=="object"?exports.bb=i(require("d3-selection")):(n.bb=n.bb||{},n.bb.plugin=n.bb.plugin||{},n.bb.plugin.bubblecompare=i(n.d3))})(this,function(p){return function(){"use strict";var n={747:function(r){r.exports=p}},i={};function s(r){var e=i[r];if(e!==void 0)return e.exports;var t=i[r]={exports:{}};return n[r](t,t.exports,s),t.exports}(function(){s.d=function(r,e){for(var t in e)s.o(e,t)&&!s.o(r,t)&&Object.defineProperty(r,t,{enumerable:!0,get:e[t]})}})(),function(){s.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)}}();var b={};s.d(b,{default:function(){return R}});var $=s(747),g=Object.defineProperty,v=(r,e,t)=>e in r?g(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,l=(r,e,t)=>v(r,typeof e!="symbol"?e+"":e,t);class d{constructor(e={}){l(this,"$$"),l(this,"options"),this.options=e}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(e=>{this[e]=null,delete this[e]})}}l(d,"version","3.14.2");var x=Object.defineProperty,B=(r,e,t)=>e in r?x(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,_=(r,e,t)=>B(r,typeof e!="symbol"?e+"":e,t);const f=class m extends d{constructor(e){return super(e),_(this,"$$"),this}$init(){const{$$:e}=this;e.findClosest=this.findClosest.bind(this),e.getBubbleR=this.getBubbleR.bind(this),e.pointExpandedR=this.pointExpandedR.bind(this)}pointExpandedR(e){const t=this.getBubbleR(e),{expandScale:a=1}=this.options;return m.raiseFocusedBubbleLayer(e),this.changeCursorPoint(),t*a}static raiseFocusedBubbleLayer(e){e.raise&&(0,$.select)(e.node().parentNode.parentNode).raise()}changeCursorPoint(){this.$$.$el.eventRect.style("cursor","pointer")}findClosest(e,t){const{$$:a}=this;return e.filter(o=>o&&!a.isBarType(o.id)).reduce((o,u)=>a.dist(u,t){const h=this.getZData(j.values[0]);return[Math.min(w,h),Math.max(C,h)]},[1e4,0]),P=u>0&&c===u?0:o/c;return Math.abs(P)*(a-t)+t}getZData(e){return this.$$.isBubbleZType(e)?this.$$.getBubbleZData(e.value,"z"):e.value}};_(f,"version","0.0.1");let R=f;return b=b.default,b}()}); diff --git a/release/latest/dist/plugin/billboardjs-plugin-sparkline.js b/release/latest/dist/plugin/billboardjs-plugin-sparkline.js index b856b6259..5d6a942b6 100644 --- a/release/latest/dist/plugin/billboardjs-plugin-sparkline.js +++ b/release/latest/dist/plugin/billboardjs-plugin-sparkline.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */ @@ -523,9 +523,15 @@ function getScrollPosition(node) { function getTransformCTM(node, x = 0, y = 0, inverse = true) { const point = new DOMPoint(x, y); const screen = node.getScreenCTM(); - return point.matrixTransform( + const res = point.matrixTransform( inverse ? screen == null ? void 0 : screen.inverse() : screen ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; } function getTranslation(node) { const transform = node ? node.transform : null; @@ -802,7 +808,7 @@ class Plugin { }); } } -__publicField(Plugin, "version", "3.14.1"); +__publicField(Plugin, "version", "3.14.2"); ;// ./src/Plugin/sparkline/Options.ts class Options { diff --git a/release/latest/dist/plugin/billboardjs-plugin-sparkline.min.js b/release/latest/dist/plugin/billboardjs-plugin-sparkline.min.js index 66c01e28d..45a93b2df 100644 --- a/release/latest/dist/plugin/billboardjs-plugin-sparkline.min.js +++ b/release/latest/dist/plugin/billboardjs-plugin-sparkline.min.js @@ -5,9 +5,9 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */(function(b,f){typeof exports=="object"&&typeof module=="object"?module.exports=f(require("d3-brush"),require("d3-selection")):typeof define=="function"&&define.amd?define("bb",["d3-brush","d3-selection"],f):typeof exports=="object"?exports.bb=f(require("d3-brush"),require("d3-selection")):(b.bb=b.bb||{},b.bb.plugin=b.bb.plugin||{},b.bb.plugin.sparkline=f(b.d3,b.d3))})(this,function(T,b){return function(){"use strict";var f={853:function(e){e.exports=T},747:function(e){e.exports=b}},C={};function d(e){var t=C[e];if(t!==void 0)return t.exports;var n=C[e]={exports:{}};return f[e](n,n.exports,d),n.exports}(function(){d.d=function(e,t){for(var n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),function(){d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}();var p={};d.d(p,{default:function(){return j}});var N=Object.defineProperty,P=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,A=(e,t,n)=>t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,c=(e,t)=>{for(var n in t||(t={}))B.call(t,n)&&A(e,n,t[n]);if(P)for(var n of P(t))k.call(t,n)&&A(e,n,t[n]);return e};const R={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},q={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},H={area:"bb-area",areas:"bb-areas"},U={axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},X={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},V={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},Y={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},G={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},z={dragarea:"bb-dragarea",INCLUDED:"_included_"},W={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},K={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},Z={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},J={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},Q={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},ee={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},te={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},Me={level:"bb-level",levels:"bb-levels"},ne={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},re={region:"bb-region",regions:"bb-regions"},ie={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},se={shape:"bb-shape",shapes:"bb-shapes"},oe={brush:"bb-brush",subchart:"bb-subchart"},ce={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},le={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},ae={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},ue={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var De=c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c(c({},R),q),H),U),X),V),Y),G),z),K),Z),J),Q),ee),W),te),ne),re),ie),se),oe),ce),le),ae),ue),Le=d(853),Fe=d(747);function be(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function de(e){const t=typeof(e==null?void 0:e.requestAnimationFrame)=="function"&&typeof(e==null?void 0:e.cancelAnimationFrame)=="function",n=typeof(e==null?void 0:e.requestIdleCallback)=="function"&&typeof(e==null?void 0:e.cancelIdleCallback)=="function",r=s=>setTimeout(s,1),i=s=>clearTimeout(s);return[t?e.requestAnimationFrame:r,t?e.cancelAnimationFrame:i,n?e.requestIdleCallback:r,n?e.cancelIdleCallback:i]}const g=be(),fe=g==null?void 0:g.document,[je,Ne,Be,ke]=de(g);var he=Object.defineProperty,S=Object.getOwnPropertySymbols,pe=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,I=(e,t,n)=>t in e?he(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,M=(e,t)=>{for(var n in t||(t={}))pe.call(t,n)&&I(e,n,t[n]);if(S)for(var n of S(t))ge.call(t,n)&&I(e,n,t[n]);return e};const qe=e=>e||e===0,me=e=>typeof e=="function",m=e=>typeof e=="string",_=e=>typeof e=="number",ve=e=>typeof e=="undefined",D=e=>typeof e!="undefined",He=e=>typeof e=="boolean",Ue=e=>Math.ceil(e/10)*10,Xe=e=>Math.ceil(e)+.5,Ve=e=>e[1]-e[0],y=e=>typeof e=="object",_e=e=>ve(e)||e===null||m(e)&&e.length===0||y(e)&&!(e instanceof Date)&&Object.keys(e).length===0||_(e)&&isNaN(e),ye=e=>!_e(e),x=e=>Array.isArray(e),v=e=>e&&!(e!=null&&e.nodeType)&&y(e)&&!x(e);function Ye(e,t,n){return D(e[t])?e[t]:n}function Ge(e,t){let n=!1;return Object.keys(e).forEach(r=>e[r]===t&&(n=!0)),n}function ze(e,t,...n){const r=me(e);return r&&e.call(t,...n),r}function We(e,t){let n=0;const r=function(...i){!--n&&t.apply(this,...i)};"duration"in e?e.each(()=>++n).on("end",r):(++n,e.call(r))}function Ke(e){return m(e)?e.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):e}function Ze(e,t,n=[-1,1],r=!1){if(!(!e||!m(t)))if(t.indexOf(` `)===-1)e.text(t);else{const i=[e.text(),t].map(s=>s.replace(/[\s\n]/g,""));if(i[0]!==i[1]){const s=t.split(` -`),o=r?s.length-1:1;e.html(""),s.forEach((l,a)=>{e.append("tspan").attr("x",0).attr("dy",`${a===0?n[0]*o:n[1]}em`).text(l)})}}}function xe(e){const{x:t,y:n,width:r,height:i}=e.getBBox();return[{x:t,y:n+i},{x:t,y:n},{x:t+r,y:n},{x:t+r,y:n+i}]}function Je(e){const{width:t,height:n}=e.getBoundingClientRect(),r=xe(e),i=r[0].x,s=Math.min(r[0].y,r[1].y);return{x:i,y:s,width:t,height:n}}function Qe(e,t){var n;const r=e&&((n=e.touches||e.sourceEvent&&e.sourceEvent.touches)==null?void 0:n[0]);let i=[0,0];try{i=d3Pointer(r||e,t)}catch(s){}return i.map(s=>isNaN(s)?0:s)}function $e(e){const{event:t,$el:n}=e,r=n.subchart.main||n.main;let i;return t&&t.type==="brush"?i=t.selection:r&&(i=r.select(".bb-brush").node())&&(i=d3BrushSelection(i)),i}function et(e){return!("rect"in e)||"rect"in e&&e.hasAttribute("width")&&e.rect.width!==+e.getAttribute("width")?e.rect=e.getBoundingClientRect():e.rect}function tt(e=!0,t=0,n=1e4){const r=window.crypto||window.msCrypto,i=r?t+r.getRandomValues(new Uint32Array(1))[0]%(n-t+1):Math.floor(Math.random()*(n-t)+t);return e?String(i):i}function L(e,t,n,r,i){if(n>r)return-1;const s=Math.floor((n+r)/2);let{x:o,w:l=0}=e[s];return i&&(o=e[s].y,l=e[s].h),t>=o&&t<=o+l?s:t{if(v(n)&&n.constructor){const r=new n.constructor;for(const i in n)r[i]=t(n[i]);return r}return n};return e.map(n=>t(n)).reduce((n,r)=>M(M({},n),r))}function we(e={},t){x(t)&&t.forEach(n=>we(e,n));for(const n in t)/^\d+$/.test(n)||n in e||(e[n]=t[n]);return e}const it=e=>e.charAt(0).toUpperCase()+e.slice(1);function st(e,t="-"){return e.split(t).map((n,r)=>r?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase():n.toLowerCase()).join("")}const Ee=e=>[].slice.call(e);function ot(e,t,n){const{rootSelector:r="",sheet:i}=e,o=`${r} ${(l=>l.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(t)} {${n.join(";")}}`;return i[i.insertRule?"insertRule":"addRule"](o,i.cssRules.length)}function ct(e){let t=[];return e.forEach(n=>{var r;try{n.cssRules&&n.cssRules.length&&(t=t.concat(Ee(n.cssRules)))}catch(i){(r=window.console)==null||r.warn(`Error while reading rules from ${n.href}: ${i.toString()}`)}}),t}function lt(e){var t,n,r,i,s,o;return{x:((n=(t=window.pageXOffset)!=null?t:window.scrollX)!=null?n:0)+((r=e.scrollLeft)!=null?r:0),y:((s=(i=window.pageYOffset)!=null?i:window.scrollY)!=null?s:0)+((o=e.scrollTop)!=null?o:0)}}function at(e,t=0,n=0,r=!0){const i=new DOMPoint(t,n),s=e.getScreenCTM();return i.matrixTransform(r?s==null?void 0:s.inverse():s)}function ut(e){const t=e?e.transform:null,n=t&&t.baseVal;return n&&n.numberOfItems?n.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function bt(e){const t=e[0]instanceof Date,n=(t?e.map(Number):e).filter((r,i,s)=>s.indexOf(r)===i);return t?n.map(r=>new Date(r)):n}function dt(e){return e&&e.length?e.reduce((t,n)=>t.concat(n)):[]}function $(e,...t){if(!t.length||t.length===1&&!t[0])return e;const n=t.shift();return v(e)&&v(n)&&Object.keys(n).forEach(r=>{const i=n[r];v(i)?(!e[r]&&(e[r]={}),e[r]=$(e[r],i)):e[r]=x(i)?i.concat():i}),$(e,...t)}function Oe(e,t=!0){let n;return e[0]instanceof Date?n=t?(r,i)=>r-i:(r,i)=>i-r:t&&!e.every(isNaN)?n=(r,i)=>r-i:t||(n=(r,i)=>r>i&&-1||rye(r));return n.length?_(n[0])?n=Math[e](...n):n[0]instanceof Date&&(n=Oe(n,e==="min")[0]):n=void 0,n}const ht=(e,t,n=1)=>{const r=[],i=Math.max(0,Math.ceil((t-e)/n))|0;for(let s=e;s{const e=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(t,n,r=e())=>{t.dispatchEvent(new MouseEvent(n,r))}}catch(t){return(n,r,i=e())=>{const s=fe.createEvent("MouseEvent");s.initMouseEvent(r,i.bubbles,i.cancelable,g,0,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),n.dispatchEvent(s)}}})(),touch:(e,t,n)=>{const r=new Touch($({identifier:Date.now(),target:e,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},n));e.dispatchEvent(new TouchEvent(t,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[r],targetTouches:[],changedTouches:[r]}))}};function gt(e,t){let n=e;for(const r in t)n=n.replace(new RegExp(`{=${r}}`,"g"),t[r]);return n}function mt(e){var t;let n;if(e instanceof Date)n=e;else if(m(e)){const{config:r,format:i}=this;n=(t=i.dataTime(r.data_xFormat)(e))!=null?t:new Date(e)}else _(e)&&!isNaN(e)&&(n=new Date(+e));return(!n||isNaN(+n))&&console&&console.error&&console.error(`Failed to parse x '${e}' to Date object`),n}function vt(e){const t=e.attr("viewBox");return t?/(\d+(\.\d+)?){3}/.test(t):!1}function _t(e,t,n=!1){const r=!!e.node;let i=!1;for(const[s,o]of Object.entries(t))if(i=r?e.style(s)===o:e.style[s]===o,n===!1&&i)break;return i}function yt(){var e,t;return((e=document)==null?void 0:e.hidden)===!1||((t=document)==null?void 0:t.visibilityState)==="visible"}function xt(e,t){const{DocumentTouch:n,matchMedia:r,navigator:i}=window,s=r==null?void 0:r("(pointer:coarse)").matches;let o=!1;if(t)if(i&&"maxTouchPoints"in i)o=i.maxTouchPoints>0;else if("ontouchmove"in window||n&&document instanceof n)o=!0;else if(s)o=!0;else{const a=i.userAgent;o=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(a)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(a)}return e&&!s&&(r==null?void 0:r("(pointer:fine)").matches)&&"mouse"||o&&"touch"||"mouse"}function Te(e,t){t()===!1?requestAnimationFrame(()=>Te(e,t)):e()}function Ce(e){const t=this.config;let n,r,i;const s=()=>{const o=r.shift();if(o&&n&&y(n)&&o in n)return n=n[o],s();if(!o)return n};Object.keys(t).forEach(o=>{n=e,r=o.split("_"),i=s(),D(i)&&(t[o]=i)}),this.api&&(this.state.orgConfig=e)}var Pe=Object.defineProperty,Ae=(e,t,n)=>t in e?Pe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,w=(e,t,n)=>Ae(e,typeof t!="symbol"?t+"":t,n);class F{constructor(t={}){w(this,"$$"),w(this,"options"),this.options=t}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(t=>{this[t]=null,delete this[t]})}}w(F,"version","3.14.1");class Re{constructor(){return{selector:void 0}}}var Se=Object.defineProperty,Ie=(e,t,n)=>t in e?Se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,E=(e,t,n)=>Ie(e,typeof t!="symbol"?t+"":t,n);class j extends F{constructor(t){return super(t),E(this,"config"),E(this,"element"),this.config=new Re,this}$beforeInit(){Ce.call(this,this.options),this.validate(),this.element=[].slice.call(document.querySelectorAll(this.config.selector)),this.overrideInternals(),this.overrideOptions(),this.overHandler=this.overHandler.bind(this),this.moveHandler=this.moveHandler.bind(this),this.outHandler=this.outHandler.bind(this)}validate(){const{$$:t,config:n}=this;let r="";if((!n.selector||!document.querySelector(n.selector))&&(r="No holder elements found from given selector option."),(t.hasType("bubble")||t.hasType("scatter")||t.hasArcType(t.data.targets))&&(r="Contains non supported chart types."),r)throw new Error(`[Sparkline plugin] ${r}`)}overrideInternals(){const{$$:t}=this,{getBarW:n,getIndices:r}=t;t.getIndices=function(i,s,o){return o==="getShapeX"?{}:r.call(this,i,s)},t.getBarW=function(i,s){return n.call(this,i,s,1)}}overrideOptions(){const{config:t}=this.$$;if(t.legend_show=!1,t.resize_auto=!1,t.axis_x_show=!1,t.padding!==!1){const n=r=>Object.keys(r||{}).length>0;n(t.axis_x_padding)&&(t.axis_x_padding={left:15,right:15,unit:"px"}),n(t.axis_y_padding)&&(t.axis_y_padding=5)}t.axis_y_show=!1,t.tooltip_position||(t.tooltip_position=function(n,r,i){const{internal:{state:{event:s}}}=this;let o=s.pageY-i*1.35,l=s.pageX-r/2;return o<0&&(o=0),l<0&&(l=0),{top:o,left:l}})}$init(){var t;const{$$:{$el:n}}=this;n.chart.style("width","0").style("height","0").style("pointer-events","none"),(t=n.tooltip)!=null&&t.node()&&document.body.appendChild(n.tooltip.node())}$afterInit(){const{$$:t}=this;t.$el.svg.attr("style",null).style("width","0").style("height","0"),this.bindEvents(!0)}bindEvents(t=!0){const{$$:{config:n}}=this;if(n.interaction_enabled&&n.tooltip_show){const r=`${t?"add":"remove"}EventListener`;this.element.forEach(i=>{const s=i.querySelector("svg");s[r]("mouseover",this.overHandler),s[r]("mousemove",this.moveHandler),s[r]("mouseout",this.outHandler)})}}overHandler(t){const{$$:n}=this,{state:{eventReceiver:r}}=n;r.rect=t.target.getBoundingClientRect()}moveHandler(t){var n,r,i,s;const{$$:o}=this,l=o.getDataIndexFromEvent(t),a=(n=o.api.data(t.target.__id))==null?void 0:n[0],u=(r=a==null?void 0:a.values)==null?void 0:r[l];u&&!u.name&&(u.name=u.id),o.state.event=t,(i=o.isPointFocusOnly)!=null&&i.call(o)&&u&&((s=o.showCircleFocus)==null||s.call(o,[u])),o.setExpand(l,a.id,!0),o.showTooltip([u],t.target)}outHandler(t){const{$$:n}=this;n.state.event=t,n.isPointFocusOnly()?n.hideCircleFocus():n.unexpandCircles(),n.hideTooltip()}$redraw(){var t;const{$$:n}=this,{$el:r}=n;let i=this.element;const s=n.api.data(),o=(t=r.chart.html().match(/]*>/))==null?void 0:t[0];if(i.length0;a--)l.parentNode.insertBefore(i[0].cloneNode(),l.nextSibling);this.element=document.querySelectorAll(this.config.selector),i=this.element}s.map(l=>l.id).forEach((l,a)=>{const u=`.${R.target}-${l}`,O=r.main.selectAll(u);let h=i[a].querySelector("svg");h||(i[a].innerHTML=`${o}`,h=i[a].querySelector("svg"),h.__id=l),h.querySelector(u)||O.style("opacity",null),O.style("fill","none").style("opacity",null),h.innerHTML="",h.appendChild(O.node())})}$willDestroy(){this.bindEvents(!1),this.element.forEach(t=>{t.innerHTML=""})}}return E(j,"version","0.0.1"),p=p.default,p}()}); +`),o=r?s.length-1:1;e.html(""),s.forEach((l,a)=>{e.append("tspan").attr("x",0).attr("dy",`${a===0?n[0]*o:n[1]}em`).text(l)})}}}function xe(e){const{x:t,y:n,width:r,height:i}=e.getBBox();return[{x:t,y:n+i},{x:t,y:n},{x:t+r,y:n},{x:t+r,y:n+i}]}function Je(e){const{width:t,height:n}=e.getBoundingClientRect(),r=xe(e),i=r[0].x,s=Math.min(r[0].y,r[1].y);return{x:i,y:s,width:t,height:n}}function Qe(e,t){var n;const r=e&&((n=e.touches||e.sourceEvent&&e.sourceEvent.touches)==null?void 0:n[0]);let i=[0,0];try{i=d3Pointer(r||e,t)}catch(s){}return i.map(s=>isNaN(s)?0:s)}function $e(e){const{event:t,$el:n}=e,r=n.subchart.main||n.main;let i;return t&&t.type==="brush"?i=t.selection:r&&(i=r.select(".bb-brush").node())&&(i=d3BrushSelection(i)),i}function et(e){return!("rect"in e)||"rect"in e&&e.hasAttribute("width")&&e.rect.width!==+e.getAttribute("width")?e.rect=e.getBoundingClientRect():e.rect}function tt(e=!0,t=0,n=1e4){const r=window.crypto||window.msCrypto,i=r?t+r.getRandomValues(new Uint32Array(1))[0]%(n-t+1):Math.floor(Math.random()*(n-t)+t);return e?String(i):i}function L(e,t,n,r,i){if(n>r)return-1;const s=Math.floor((n+r)/2);let{x:o,w:l=0}=e[s];return i&&(o=e[s].y,l=e[s].h),t>=o&&t<=o+l?s:t{if(v(n)&&n.constructor){const r=new n.constructor;for(const i in n)r[i]=t(n[i]);return r}return n};return e.map(n=>t(n)).reduce((n,r)=>M(M({},n),r))}function we(e={},t){x(t)&&t.forEach(n=>we(e,n));for(const n in t)/^\d+$/.test(n)||n in e||(e[n]=t[n]);return e}const it=e=>e.charAt(0).toUpperCase()+e.slice(1);function st(e,t="-"){return e.split(t).map((n,r)=>r?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase():n.toLowerCase()).join("")}const Ee=e=>[].slice.call(e);function ot(e,t,n){const{rootSelector:r="",sheet:i}=e,o=`${r} ${(l=>l.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(t)} {${n.join(";")}}`;return i[i.insertRule?"insertRule":"addRule"](o,i.cssRules.length)}function ct(e){let t=[];return e.forEach(n=>{var r;try{n.cssRules&&n.cssRules.length&&(t=t.concat(Ee(n.cssRules)))}catch(i){(r=window.console)==null||r.warn(`Error while reading rules from ${n.href}: ${i.toString()}`)}}),t}function lt(e){var t,n,r,i,s,o;return{x:((n=(t=window.pageXOffset)!=null?t:window.scrollX)!=null?n:0)+((r=e.scrollLeft)!=null?r:0),y:((s=(i=window.pageYOffset)!=null?i:window.scrollY)!=null?s:0)+((o=e.scrollTop)!=null?o:0)}}function at(e,t=0,n=0,r=!0){const i=new DOMPoint(t,n),s=e.getScreenCTM(),o=i.matrixTransform(r?s==null?void 0:s.inverse():s);if(r===!1){const l=e.getBoundingClientRect();o.x-=l.x,o.y-=l.y}return o}function ut(e){const t=e?e.transform:null,n=t&&t.baseVal;return n&&n.numberOfItems?n.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function bt(e){const t=e[0]instanceof Date,n=(t?e.map(Number):e).filter((r,i,s)=>s.indexOf(r)===i);return t?n.map(r=>new Date(r)):n}function dt(e){return e&&e.length?e.reduce((t,n)=>t.concat(n)):[]}function $(e,...t){if(!t.length||t.length===1&&!t[0])return e;const n=t.shift();return v(e)&&v(n)&&Object.keys(n).forEach(r=>{const i=n[r];v(i)?(!e[r]&&(e[r]={}),e[r]=$(e[r],i)):e[r]=x(i)?i.concat():i}),$(e,...t)}function Oe(e,t=!0){let n;return e[0]instanceof Date?n=t?(r,i)=>r-i:(r,i)=>i-r:t&&!e.every(isNaN)?n=(r,i)=>r-i:t||(n=(r,i)=>r>i&&-1||rye(r));return n.length?_(n[0])?n=Math[e](...n):n[0]instanceof Date&&(n=Oe(n,e==="min")[0]):n=void 0,n}const ht=(e,t,n=1)=>{const r=[],i=Math.max(0,Math.ceil((t-e)/n))|0;for(let s=e;s{const e=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(t,n,r=e())=>{t.dispatchEvent(new MouseEvent(n,r))}}catch(t){return(n,r,i=e())=>{const s=fe.createEvent("MouseEvent");s.initMouseEvent(r,i.bubbles,i.cancelable,g,0,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),n.dispatchEvent(s)}}})(),touch:(e,t,n)=>{const r=new Touch($({identifier:Date.now(),target:e,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},n));e.dispatchEvent(new TouchEvent(t,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[r],targetTouches:[],changedTouches:[r]}))}};function gt(e,t){let n=e;for(const r in t)n=n.replace(new RegExp(`{=${r}}`,"g"),t[r]);return n}function mt(e){var t;let n;if(e instanceof Date)n=e;else if(m(e)){const{config:r,format:i}=this;n=(t=i.dataTime(r.data_xFormat)(e))!=null?t:new Date(e)}else _(e)&&!isNaN(e)&&(n=new Date(+e));return(!n||isNaN(+n))&&console&&console.error&&console.error(`Failed to parse x '${e}' to Date object`),n}function vt(e){const t=e.attr("viewBox");return t?/(\d+(\.\d+)?){3}/.test(t):!1}function _t(e,t,n=!1){const r=!!e.node;let i=!1;for(const[s,o]of Object.entries(t))if(i=r?e.style(s)===o:e.style[s]===o,n===!1&&i)break;return i}function yt(){var e,t;return((e=document)==null?void 0:e.hidden)===!1||((t=document)==null?void 0:t.visibilityState)==="visible"}function xt(e,t){const{DocumentTouch:n,matchMedia:r,navigator:i}=window,s=r==null?void 0:r("(pointer:coarse)").matches;let o=!1;if(t)if(i&&"maxTouchPoints"in i)o=i.maxTouchPoints>0;else if("ontouchmove"in window||n&&document instanceof n)o=!0;else if(s)o=!0;else{const a=i.userAgent;o=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(a)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(a)}return e&&!s&&(r==null?void 0:r("(pointer:fine)").matches)&&"mouse"||o&&"touch"||"mouse"}function Te(e,t){t()===!1?requestAnimationFrame(()=>Te(e,t)):e()}function Ce(e){const t=this.config;let n,r,i;const s=()=>{const o=r.shift();if(o&&n&&y(n)&&o in n)return n=n[o],s();if(!o)return n};Object.keys(t).forEach(o=>{n=e,r=o.split("_"),i=s(),D(i)&&(t[o]=i)}),this.api&&(this.state.orgConfig=e)}var Pe=Object.defineProperty,Ae=(e,t,n)=>t in e?Pe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,w=(e,t,n)=>Ae(e,typeof t!="symbol"?t+"":t,n);class F{constructor(t={}){w(this,"$$"),w(this,"options"),this.options=t}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(t=>{this[t]=null,delete this[t]})}}w(F,"version","3.14.2");class Re{constructor(){return{selector:void 0}}}var Se=Object.defineProperty,Ie=(e,t,n)=>t in e?Se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,E=(e,t,n)=>Ie(e,typeof t!="symbol"?t+"":t,n);class j extends F{constructor(t){return super(t),E(this,"config"),E(this,"element"),this.config=new Re,this}$beforeInit(){Ce.call(this,this.options),this.validate(),this.element=[].slice.call(document.querySelectorAll(this.config.selector)),this.overrideInternals(),this.overrideOptions(),this.overHandler=this.overHandler.bind(this),this.moveHandler=this.moveHandler.bind(this),this.outHandler=this.outHandler.bind(this)}validate(){const{$$:t,config:n}=this;let r="";if((!n.selector||!document.querySelector(n.selector))&&(r="No holder elements found from given selector option."),(t.hasType("bubble")||t.hasType("scatter")||t.hasArcType(t.data.targets))&&(r="Contains non supported chart types."),r)throw new Error(`[Sparkline plugin] ${r}`)}overrideInternals(){const{$$:t}=this,{getBarW:n,getIndices:r}=t;t.getIndices=function(i,s,o){return o==="getShapeX"?{}:r.call(this,i,s)},t.getBarW=function(i,s){return n.call(this,i,s,1)}}overrideOptions(){const{config:t}=this.$$;if(t.legend_show=!1,t.resize_auto=!1,t.axis_x_show=!1,t.padding!==!1){const n=r=>Object.keys(r||{}).length>0;n(t.axis_x_padding)&&(t.axis_x_padding={left:15,right:15,unit:"px"}),n(t.axis_y_padding)&&(t.axis_y_padding=5)}t.axis_y_show=!1,t.tooltip_position||(t.tooltip_position=function(n,r,i){const{internal:{state:{event:s}}}=this;let o=s.pageY-i*1.35,l=s.pageX-r/2;return o<0&&(o=0),l<0&&(l=0),{top:o,left:l}})}$init(){var t;const{$$:{$el:n}}=this;n.chart.style("width","0").style("height","0").style("pointer-events","none"),(t=n.tooltip)!=null&&t.node()&&document.body.appendChild(n.tooltip.node())}$afterInit(){const{$$:t}=this;t.$el.svg.attr("style",null).style("width","0").style("height","0"),this.bindEvents(!0)}bindEvents(t=!0){const{$$:{config:n}}=this;if(n.interaction_enabled&&n.tooltip_show){const r=`${t?"add":"remove"}EventListener`;this.element.forEach(i=>{const s=i.querySelector("svg");s[r]("mouseover",this.overHandler),s[r]("mousemove",this.moveHandler),s[r]("mouseout",this.outHandler)})}}overHandler(t){const{$$:n}=this,{state:{eventReceiver:r}}=n;r.rect=t.target.getBoundingClientRect()}moveHandler(t){var n,r,i,s;const{$$:o}=this,l=o.getDataIndexFromEvent(t),a=(n=o.api.data(t.target.__id))==null?void 0:n[0],u=(r=a==null?void 0:a.values)==null?void 0:r[l];u&&!u.name&&(u.name=u.id),o.state.event=t,(i=o.isPointFocusOnly)!=null&&i.call(o)&&u&&((s=o.showCircleFocus)==null||s.call(o,[u])),o.setExpand(l,a.id,!0),o.showTooltip([u],t.target)}outHandler(t){const{$$:n}=this;n.state.event=t,n.isPointFocusOnly()?n.hideCircleFocus():n.unexpandCircles(),n.hideTooltip()}$redraw(){var t;const{$$:n}=this,{$el:r}=n;let i=this.element;const s=n.api.data(),o=(t=r.chart.html().match(/]*>/))==null?void 0:t[0];if(i.length0;a--)l.parentNode.insertBefore(i[0].cloneNode(),l.nextSibling);this.element=document.querySelectorAll(this.config.selector),i=this.element}s.map(l=>l.id).forEach((l,a)=>{const u=`.${R.target}-${l}`,O=r.main.selectAll(u);let h=i[a].querySelector("svg");h||(i[a].innerHTML=`${o}`,h=i[a].querySelector("svg"),h.__id=l),h.querySelector(u)||O.style("opacity",null),O.style("fill","none").style("opacity",null),h.innerHTML="",h.appendChild(O.node())})}$willDestroy(){this.bindEvents(!1),this.element.forEach(t=>{t.innerHTML=""})}}return E(j,"version","0.0.1"),p=p.default,p}()}); diff --git a/release/latest/dist/plugin/billboardjs-plugin-stanford.js b/release/latest/dist/plugin/billboardjs-plugin-stanford.js index 54c687e04..c99c72937 100644 --- a/release/latest/dist/plugin/billboardjs-plugin-stanford.js +++ b/release/latest/dist/plugin/billboardjs-plugin-stanford.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */ @@ -560,9 +560,15 @@ function getScrollPosition(node) { function getTransformCTM(node, x = 0, y = 0, inverse = true) { const point = new DOMPoint(x, y); const screen = node.getScreenCTM(); - return point.matrixTransform( + const res = point.matrixTransform( inverse ? screen == null ? void 0 : screen.inverse() : screen ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; } function getTranslation(node) { const transform = node ? node.transform : null; @@ -839,7 +845,7 @@ class Plugin { }); } } -__publicField(Plugin, "version", "3.14.1"); +__publicField(Plugin, "version", "3.14.2"); // EXTERNAL MODULE: external {"commonjs":"d3-axis","commonjs2":"d3-axis","amd":"d3-axis","root":"d3"} var external_commonjs_d3_axis_commonjs2_d3_axis_amd_d3_axis_root_d3_ = __webpack_require__(8); diff --git a/release/latest/dist/plugin/billboardjs-plugin-stanford.min.js b/release/latest/dist/plugin/billboardjs-plugin-stanford.min.js index 8ab3822cc..a0e37bcdd 100644 --- a/release/latest/dist/plugin/billboardjs-plugin-stanford.min.js +++ b/release/latest/dist/plugin/billboardjs-plugin-stanford.min.js @@ -5,12 +5,12 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */(function(f,_){typeof exports=="object"&&typeof module=="object"?module.exports=_(require("d3-color"),require("d3-interpolate"),require("d3-scale"),require("d3-brush"),require("d3-selection"),require("d3-axis"),require("d3-format")):typeof define=="function"&&define.amd?define("bb",["d3-color","d3-interpolate","d3-scale","d3-brush","d3-selection","d3-axis","d3-format"],_):typeof exports=="object"?exports.bb=_(require("d3-color"),require("d3-interpolate"),require("d3-scale"),require("d3-brush"),require("d3-selection"),require("d3-axis"),require("d3-format")):(f.bb=f.bb||{},f.bb.plugin=f.bb.plugin||{},f.bb.plugin.stanford=_(f.d3,f.d3,f.d3,f.d3,f.d3,f.d3,f.d3))})(this,function(j,f,_,z,H,K,W){return function(){"use strict";var Z={996:function(e){e.exports=K},853:function(e){e.exports=z},218:function(e){e.exports=j},390:function(e){e.exports=W},798:function(e){e.exports=f},455:function(e){e.exports=_},747:function(e){e.exports=H}},M={};function h(e){var t=M[e];if(t!==void 0)return t.exports;var n=M[e]={exports:{}};return Z[e](n,n.exports,h),n.exports}(function(){h.d=function(e,t){for(var n in t)h.o(t,n)&&!h.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),function(){h.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}();var y={};h.d(y,{default:function(){return st}});var D=h(218),J=h(798),E=h(455),Q=Object.defineProperty,I=Object.getOwnPropertySymbols,ee=Object.prototype.hasOwnProperty,te=Object.prototype.propertyIsEnumerable,N=(e,t,n)=>t in e?Q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,u=(e,t)=>{for(var n in t||(t={}))ee.call(t,n)&&N(e,n,t[n]);if(I)for(var n of I(t))te.call(t,n)&&N(e,n,t[n]);return e};const ne={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},oe={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},re={area:"bb-area",areas:"bb-areas"},se={axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},ae={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},ie={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},ce={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},le={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},ue={dragarea:"bb-dragarea",INCLUDED:"_included_"},de={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},be={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},fe={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},he={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},pe={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},ge={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},me={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},it={level:"bb-level",levels:"bb-levels"},_e={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},xe={region:"bb-region",regions:"bb-regions"},ye={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},ve={shape:"bb-shape",shapes:"bb-shapes"},$e={brush:"bb-brush",subchart:"bb-subchart"},we={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},S={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},Ee={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},Se={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var ct=u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u({},ne),oe),re),se),ae),ie),ce),le),ue),be),fe),he),pe),ge),de),me),_e),xe),ye),ve),$e),we),S),Ee),Se),lt=h(853),ut=h(747);function Ce(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function Oe(e){const t=typeof(e==null?void 0:e.requestAnimationFrame)=="function"&&typeof(e==null?void 0:e.cancelAnimationFrame)=="function",n=typeof(e==null?void 0:e.requestIdleCallback)=="function"&&typeof(e==null?void 0:e.cancelIdleCallback)=="function",o=s=>setTimeout(s,1),r=s=>clearTimeout(s);return[t?e.requestAnimationFrame:o,t?e.cancelAnimationFrame:r,n?e.requestIdleCallback:o,n?e.cancelIdleCallback:r]}const v=Ce(),Pe=v==null?void 0:v.document,[dt,bt,ft,ht]=Oe(v);var Re=Object.defineProperty,F=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,q=(e,t,n)=>t in e?Re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,B=(e,t)=>{for(var n in t||(t={}))Te.call(t,n)&&q(e,n,t[n]);if(F)for(var n of F(t))Ae.call(t,n)&&q(e,n,t[n]);return e};const pt=e=>e||e===0,C=e=>typeof e=="function",x=e=>typeof e=="string",O=e=>typeof e=="number",Le=e=>typeof e=="undefined",U=e=>typeof e!="undefined",gt=e=>typeof e=="boolean",mt=e=>Math.ceil(e/10)*10,_t=e=>Math.ceil(e)+.5,xt=e=>e[1]-e[0],P=e=>typeof e=="object",X=e=>Le(e)||e===null||x(e)&&e.length===0||P(e)&&!(e instanceof Date)&&Object.keys(e).length===0||O(e)&&isNaN(e),je=e=>!X(e),R=e=>Array.isArray(e),$=e=>e&&!(e!=null&&e.nodeType)&&P(e)&&!R(e);function yt(e,t,n){return U(e[t])?e[t]:n}function vt(e,t){let n=!1;return Object.keys(e).forEach(o=>e[o]===t&&(n=!0)),n}function $t(e,t,...n){const o=C(e);return o&&e.call(t,...n),o}function wt(e,t){let n=0;const o=function(...r){!--n&&t.apply(this,...r)};"duration"in e?e.each(()=>++n).on("end",o):(++n,e.call(o))}function Et(e){return x(e)?e.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):e}function St(e,t,n=[-1,1],o=!1){if(!(!e||!x(t)))if(t.indexOf(` `)===-1)e.text(t);else{const r=[e.text(),t].map(s=>s.replace(/[\s\n]/g,""));if(r[0]!==r[1]){const s=t.split(` -`),a=o?s.length-1:1;e.html(""),s.forEach((i,d)=>{e.append("tspan").attr("x",0).attr("dy",`${d===0?n[0]*a:n[1]}em`).text(i)})}}}function Me(e){const{x:t,y:n,width:o,height:r}=e.getBBox();return[{x:t,y:n+r},{x:t,y:n},{x:t+o,y:n},{x:t+o,y:n+r}]}function Ct(e){const{width:t,height:n}=e.getBoundingClientRect(),o=Me(e),r=o[0].x,s=Math.min(o[0].y,o[1].y);return{x:r,y:s,width:t,height:n}}function Ot(e,t){var n;const o=e&&((n=e.touches||e.sourceEvent&&e.sourceEvent.touches)==null?void 0:n[0]);let r=[0,0];try{r=d3Pointer(o||e,t)}catch(s){}return r.map(s=>isNaN(s)?0:s)}function De(e){const{event:t,$el:n}=e,o=n.subchart.main||n.main;let r;return t&&t.type==="brush"?r=t.selection:o&&(r=o.select(".bb-brush").node())&&(r=d3BrushSelection(r)),r}function Pt(e){return!("rect"in e)||"rect"in e&&e.hasAttribute("width")&&e.rect.width!==+e.getAttribute("width")?e.rect=e.getBoundingClientRect():e.rect}function Rt(e=!0,t=0,n=1e4){const o=window.crypto||window.msCrypto,r=o?t+o.getRandomValues(new Uint32Array(1))[0]%(n-t+1):Math.floor(Math.random()*(n-t)+t);return e?String(r):r}function V(e,t,n,o,r){if(n>o)return-1;const s=Math.floor((n+o)/2);let{x:a,w:i=0}=e[s];return r&&(a=e[s].y,i=e[s].h),t>=a&&t<=a+i?s:t{if($(n)&&n.constructor){const o=new n.constructor;for(const r in n)o[r]=t(n[r]);return o}return n};return e.map(n=>t(n)).reduce((n,o)=>B(B({},n),o))}function Ie(e={},t){R(t)&&t.forEach(n=>Ie(e,n));for(const n in t)/^\d+$/.test(n)||n in e||(e[n]=t[n]);return e}const Lt=e=>e.charAt(0).toUpperCase()+e.slice(1);function jt(e,t="-"){return e.split(t).map((n,o)=>o?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase():n.toLowerCase()).join("")}const Ne=e=>[].slice.call(e);function Mt(e,t,n){const{rootSelector:o="",sheet:r}=e,a=`${o} ${(i=>i.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(t)} {${n.join(";")}}`;return r[r.insertRule?"insertRule":"addRule"](a,r.cssRules.length)}function Dt(e){let t=[];return e.forEach(n=>{var o;try{n.cssRules&&n.cssRules.length&&(t=t.concat(Ne(n.cssRules)))}catch(r){(o=window.console)==null||o.warn(`Error while reading rules from ${n.href}: ${r.toString()}`)}}),t}function It(e){var t,n,o,r,s,a;return{x:((n=(t=window.pageXOffset)!=null?t:window.scrollX)!=null?n:0)+((o=e.scrollLeft)!=null?o:0),y:((s=(r=window.pageYOffset)!=null?r:window.scrollY)!=null?s:0)+((a=e.scrollTop)!=null?a:0)}}function Nt(e,t=0,n=0,o=!0){const r=new DOMPoint(t,n),s=e.getScreenCTM();return r.matrixTransform(o?s==null?void 0:s.inverse():s)}function Ft(e){const t=e?e.transform:null,n=t&&t.baseVal;return n&&n.numberOfItems?n.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function qt(e){const t=e[0]instanceof Date,n=(t?e.map(Number):e).filter((o,r,s)=>s.indexOf(o)===r);return t?n.map(o=>new Date(o)):n}function Bt(e){return e&&e.length?e.reduce((t,n)=>t.concat(n)):[]}function T(e,...t){if(!t.length||t.length===1&&!t[0])return e;const n=t.shift();return $(e)&&$(n)&&Object.keys(n).forEach(o=>{const r=n[o];$(r)?(!e[o]&&(e[o]={}),e[o]=T(e[o],r)):e[o]=R(r)?r.concat():r}),T(e,...t)}function Fe(e,t=!0){let n;return e[0]instanceof Date?n=t?(o,r)=>o-r:(o,r)=>r-o:t&&!e.every(isNaN)?n=(o,r)=>o-r:t||(n=(o,r)=>o>r&&-1||oje(o));return n.length?O(n[0])?n=Math[e](...n):n[0]instanceof Date&&(n=Fe(n,e==="min")[0]):n=void 0,n}const qe=(e,t,n=1)=>{const o=[],r=Math.max(0,Math.ceil((t-e)/n))|0;for(let s=e;s{const e=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(t,n,o=e())=>{t.dispatchEvent(new MouseEvent(n,o))}}catch(t){return(n,o,r=e())=>{const s=Pe.createEvent("MouseEvent");s.initMouseEvent(o,r.bubbles,r.cancelable,v,0,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),n.dispatchEvent(s)}}})(),touch:(e,t,n)=>{const o=new Touch(T({identifier:Date.now(),target:e,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},n));e.dispatchEvent(new TouchEvent(t,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[o],targetTouches:[],changedTouches:[o]}))}};function Vt(e,t){let n=e;for(const o in t)n=n.replace(new RegExp(`{=${o}}`,"g"),t[o]);return n}function Be(e){var t;let n;if(e instanceof Date)n=e;else if(x(e)){const{config:o,format:r}=this;n=(t=r.dataTime(o.data_xFormat)(e))!=null?t:new Date(e)}else O(e)&&!isNaN(e)&&(n=new Date(+e));return(!n||isNaN(+n))&&console&&console.error&&console.error(`Failed to parse x '${e}' to Date object`),n}function Yt(e){const t=e.attr("viewBox");return t?/(\d+(\.\d+)?){3}/.test(t):!1}function Gt(e,t,n=!1){const o=!!e.node;let r=!1;for(const[s,a]of Object.entries(t))if(r=o?e.style(s)===a:e.style[s]===a,n===!1&&r)break;return r}function kt(){var e,t;return((e=document)==null?void 0:e.hidden)===!1||((t=document)==null?void 0:t.visibilityState)==="visible"}function zt(e,t){const{DocumentTouch:n,matchMedia:o,navigator:r}=window,s=o==null?void 0:o("(pointer:coarse)").matches;let a=!1;if(t)if(r&&"maxTouchPoints"in r)a=r.maxTouchPoints>0;else if("ontouchmove"in window||n&&document instanceof n)a=!0;else if(s)a=!0;else{const d=r.userAgent;a=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(d)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(d)}return e&&!s&&(o==null?void 0:o("(pointer:fine)").matches)&&"mouse"||a&&"touch"||"mouse"}function Ue(e,t){t()===!1?requestAnimationFrame(()=>Ue(e,t)):e()}function Xe(e){const t=this.config;let n,o,r;const s=()=>{const a=o.shift();if(a&&n&&P(n)&&a in n)return n=n[a],s();if(!a)return n};Object.keys(t).forEach(a=>{n=e,o=a.split("_"),r=s(),U(r)&&(t[a]=r)}),this.api&&(this.state.orgConfig=e)}var Ve=Object.defineProperty,Ye=(e,t,n)=>t in e?Ve(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,A=(e,t,n)=>Ye(e,typeof t!="symbol"?t+"":t,n);class Y{constructor(t={}){A(this,"$$"),A(this,"options"),this.options=t}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(t=>{this[t]=null,delete this[t]})}}A(Y,"version","3.14.1");var Ge=h(996),ke=h(390),p={colorScale:"bb-colorscale",stanfordElements:"bb-stanford-elements",stanfordLine:"bb-stanford-line",stanfordLines:"bb-stanford-lines",stanfordRegion:"bb-stanford-region",stanfordRegions:"bb-stanford-regions"},ze=Object.defineProperty,He=(e,t,n)=>t in e?ze(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,G=(e,t,n)=>He(e,typeof t!="symbol"?t+"":t,n);class Ke{constructor(t){G(this,"owner"),G(this,"colorScale"),this.owner=t}drawColorScale(){const{$$:t,config:n}=this.owner,o=t.data.targets[0],r=t.state.height-n.padding_bottom-n.padding_top,s=n.scale_width,a=5,i=qe(n.padding_bottom,r,a),d=(0,E.scaleSequential)(o.colors).domain([i[i.length-1],i[0]]);this.colorScale&&this.colorScale.remove(),this.colorScale=t.$el.svg.append("g").attr("width",50).attr("height",r).attr("class",p.colorScale),this.colorScale.append("g").attr("transform",`translate(0, ${n.padding_top})`).selectAll("bars").data(i).enter().append("rect").attr("y",(m,at)=>at*a).attr("x",0).attr("width",s).attr("height",a).attr("fill",m=>d(m));const b=(0,E.scaleSymlog)().domain([o.minEpochs,o.maxEpochs]).range([i[0]+n.padding_top+i[i.length-1]+a-1,i[0]+n.padding_top]),c=(0,Ge.axisRight)(b),l=n.scale_format;l==="pow10"?c.tickValues([1,10,100,1e3,1e4,1e5,1e6,1e7]):C(l)?c.tickFormat(l):c.tickFormat((0,ke.format)("d"));const g=this.colorScale.append("g").attr("class","legend axis").attr("transform",`translate(${s},0)`).call(c);l==="pow10"&&g.selectAll(".tick text").text(null).filter(m=>m/Math.pow(10,Math.ceil(Math.log(m)/Math.LN10-1e-12))===1).text(10).append("tspan").attr("dy","-.7em").text(m=>Math.round(Math.log(m)/Math.LN10)),this.colorScale.attr("transform",`translate(${t.state.current.width-this.xForColorScale()}, 0)`)}xForColorScale(){return this.owner.config.padding_right+this.colorScale.node().getBBox().width}getColorScalePadding(){return this.xForColorScale()+this.owner.config.padding_left+20}}function We(e,t){const n=e.x,o=e.value;let r=!1;for(let s=0,a=t.length-1;so!=c>o&&n<(b-i)*(o-d)/(c-d)+i&&(r=!r)}return r}function Ze(e,t){return e.epochst.epochs?1:0}function Je(e){let t=0,n,o;for(let r=0,s=e.length,a=s-1;rt in e?Qe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tt=(e,t,n)=>et(e,typeof t!="symbol"?t+"":t,n);class nt{constructor(t){tt(this,"owner"),this.owner=t;const n=t.$$.$el.main.select(".bb-chart").append("g").attr("class",p.stanfordElements);n.append("g").attr("class",p.stanfordLines),n.append("g").attr("class",p.stanfordRegions)}updateStanfordLines(t){const{$$:n}=this.owner,{config:o,$el:{main:r}}=n,s=o.axis_rotated,a=this.xvCustom.bind(n),i=this.yvCustom.bind(n),d=r.select(`.${p.stanfordLines}`).style("shape-rendering","geometricprecision").selectAll(`.${p.stanfordLine}`).data(this.owner.config.lines);d.exit().transition().duration(t).style("opacity","0").remove();const b=d.enter().append("g");b.append("line").style("opacity","0"),b.merge(d).attr("class",c=>p.stanfordLine+(c.class?` ${c.class}`:"")).select("line").transition().duration(t).attr("x1",c=>s?i(c,"y1"):a(c,"x1")).attr("x2",c=>s?i(c,"y2"):a(c,"x2")).attr("y1",c=>s?a(c,"x1"):i(c,"y1")).attr("y2",c=>s?a(c,"x2"):i(c,"y2")).transition().style("opacity",null)}updateStanfordRegions(t){const{$$:n}=this.owner,{config:o,$el:{main:r}}=n,s=o.axis_rotated,a=this.xvCustom.bind(n),i=this.yvCustom.bind(n),d=this.owner.countEpochsInRegion.bind(n);let b=r.select(`.${p.stanfordRegions}`).selectAll(`.${p.stanfordRegion}`).data(this.owner.config.regions);b.exit().transition().duration(t).style("opacity","0").remove();const c=b.enter().append("g");c.append("polygon").style("opacity","0"),c.append("text").attr("transform",s?"rotate(-90)":"").style("opacity","0"),b=c.merge(b),b.attr("class",l=>p.stanfordRegion+(l.class?` ${l.class}`:"")).select("polygon").transition().duration(t).attr("points",l=>l.points.map(g=>[s?i(g,"y"):a(g,"x"),s?a(g,"x"):i(g,"y")].join(",")).join(" ")).transition().style("opacity",l=>String(l.opacity?l.opacity:.2)),b.select("text").transition().duration(t).attr("x",l=>s?i(w(l.points),"y"):a(w(l.points),"x")).attr("y",l=>s?a(w(l.points),"x"):i(w(l.points),"y")).text(l=>{if(l.text){const{value:g,percentage:m}=d(l.points);return l.text(g,m)}return""}).attr("text-anchor","middle").attr("dominant-baseline","middle").transition().style("opacity",null)}updateStanfordElements(t=0){this.updateStanfordLines(t),this.updateStanfordRegions(t)}xvCustom(t,n){const o=this,{axis:r,config:s}=o;let a=n?t[n]:o.getBaseValue(t);return r.isTimeSeries()?a=Be.call(o,a):r.isCategorized()&&x(a)&&(a=s.axis_x_categories.indexOf(t.value)),o.scale.x(a)}yvCustom(t,n){const o=this,r=t.axis&&t.axis==="y2"?o.scale.y2:o.scale.y,s=n?t[n]:o.getBaseValue(t);return r(s)}}class k{constructor(){return{colors:void 0,epochs:[],lines:[],scale_min:void 0,scale_max:void 0,scale_width:20,scale_format:void 0,padding_top:0,padding_right:0,padding_bottom:0,padding_left:0,regions:[]}}}var ot=Object.defineProperty,rt=(e,t,n)=>t in e?ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,L=(e,t,n)=>rt(e,typeof t!="symbol"?t+"":t,n);class st extends Y{constructor(t){return super(t),L(this,"config"),L(this,"colorScale"),L(this,"elements"),this.config=new k,this}$beforeInit(){const{$$:t}=this;t.config.data_xSort=!1,t.isMultipleX=()=>!0,t.showGridFocus=()=>{},t.labelishData=o=>o.values,t.opacityForCircle=()=>1;const n=t.getCurrentPadding.bind(t);t.getCurrentPadding=()=>{const o=n();return o.right+=this.colorScale?this.colorScale.getColorScalePadding():0,o}}$init(){const{$$:t}=this;Xe.call(this,this.options),t.color=this.getStanfordPointColor.bind(t),this.colorScale=new Ke(this),this.elements=new nt(this),this.convertData(),this.initStanfordData(),this.setStanfordTooltip(),this.colorScale.drawColorScale(),t.right+=this.colorScale?this.colorScale.getColorScalePadding():0,this.$redraw()}$redraw(t){var n,o;(n=this.colorScale)==null||n.drawColorScale(),(o=this.elements)==null||o.updateStanfordElements(t)}getOptions(){return new k}convertData(){const t=this.$$.data.targets,n=this.options.epochs;t.forEach(o=>{o.values.forEach((r,s)=>{r.epochs=n[s]}),o.minEpochs=void 0,o.maxEpochs=void 0,o.colors=void 0,o.colorscale=void 0})}initStanfordData(){const{config:t}=this,n=this.$$.data.targets[0];n.values.sort(Ze);const o=n.values.map(r=>r.epochs);n.minEpochs=isNaN(t.scale_min)?Math.min(...o):t.scale_min,n.maxEpochs=isNaN(t.scale_max)?Math.max(...o):t.scale_max,n.colors=C(t.colors)?t.colors:(0,J.interpolateHslLong)((0,D.hsl)(250,1,.5),(0,D.hsl)(0,1,.5)),n.colorscale=(0,E.scaleSequentialLog)(n.colors).domain([n.minEpochs,n.maxEpochs])}getStanfordPointColor(t){return this.data.targets[0].colorscale(t.epochs)}setStanfordTooltip(){const{config:t}=this.$$;X(t.tooltip_contents)&&(t.tooltip_contents=function(n,o,r,s){const{data_x:a}=t;let i=``;return n.forEach(d=>{const{id:b="",value:c=0,epochs:l=0,x:g=""}=d;i+=` +`),a=o?s.length-1:1;e.html(""),s.forEach((i,d)=>{e.append("tspan").attr("x",0).attr("dy",`${d===0?n[0]*a:n[1]}em`).text(i)})}}}function Me(e){const{x:t,y:n,width:o,height:r}=e.getBBox();return[{x:t,y:n+r},{x:t,y:n},{x:t+o,y:n},{x:t+o,y:n+r}]}function Ct(e){const{width:t,height:n}=e.getBoundingClientRect(),o=Me(e),r=o[0].x,s=Math.min(o[0].y,o[1].y);return{x:r,y:s,width:t,height:n}}function Ot(e,t){var n;const o=e&&((n=e.touches||e.sourceEvent&&e.sourceEvent.touches)==null?void 0:n[0]);let r=[0,0];try{r=d3Pointer(o||e,t)}catch(s){}return r.map(s=>isNaN(s)?0:s)}function De(e){const{event:t,$el:n}=e,o=n.subchart.main||n.main;let r;return t&&t.type==="brush"?r=t.selection:o&&(r=o.select(".bb-brush").node())&&(r=d3BrushSelection(r)),r}function Pt(e){return!("rect"in e)||"rect"in e&&e.hasAttribute("width")&&e.rect.width!==+e.getAttribute("width")?e.rect=e.getBoundingClientRect():e.rect}function Rt(e=!0,t=0,n=1e4){const o=window.crypto||window.msCrypto,r=o?t+o.getRandomValues(new Uint32Array(1))[0]%(n-t+1):Math.floor(Math.random()*(n-t)+t);return e?String(r):r}function V(e,t,n,o,r){if(n>o)return-1;const s=Math.floor((n+o)/2);let{x:a,w:i=0}=e[s];return r&&(a=e[s].y,i=e[s].h),t>=a&&t<=a+i?s:t{if($(n)&&n.constructor){const o=new n.constructor;for(const r in n)o[r]=t(n[r]);return o}return n};return e.map(n=>t(n)).reduce((n,o)=>B(B({},n),o))}function Ie(e={},t){R(t)&&t.forEach(n=>Ie(e,n));for(const n in t)/^\d+$/.test(n)||n in e||(e[n]=t[n]);return e}const Lt=e=>e.charAt(0).toUpperCase()+e.slice(1);function jt(e,t="-"){return e.split(t).map((n,o)=>o?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase():n.toLowerCase()).join("")}const Ne=e=>[].slice.call(e);function Mt(e,t,n){const{rootSelector:o="",sheet:r}=e,a=`${o} ${(i=>i.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(t)} {${n.join(";")}}`;return r[r.insertRule?"insertRule":"addRule"](a,r.cssRules.length)}function Dt(e){let t=[];return e.forEach(n=>{var o;try{n.cssRules&&n.cssRules.length&&(t=t.concat(Ne(n.cssRules)))}catch(r){(o=window.console)==null||o.warn(`Error while reading rules from ${n.href}: ${r.toString()}`)}}),t}function It(e){var t,n,o,r,s,a;return{x:((n=(t=window.pageXOffset)!=null?t:window.scrollX)!=null?n:0)+((o=e.scrollLeft)!=null?o:0),y:((s=(r=window.pageYOffset)!=null?r:window.scrollY)!=null?s:0)+((a=e.scrollTop)!=null?a:0)}}function Nt(e,t=0,n=0,o=!0){const r=new DOMPoint(t,n),s=e.getScreenCTM(),a=r.matrixTransform(o?s==null?void 0:s.inverse():s);if(o===!1){const i=e.getBoundingClientRect();a.x-=i.x,a.y-=i.y}return a}function Ft(e){const t=e?e.transform:null,n=t&&t.baseVal;return n&&n.numberOfItems?n.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function qt(e){const t=e[0]instanceof Date,n=(t?e.map(Number):e).filter((o,r,s)=>s.indexOf(o)===r);return t?n.map(o=>new Date(o)):n}function Bt(e){return e&&e.length?e.reduce((t,n)=>t.concat(n)):[]}function T(e,...t){if(!t.length||t.length===1&&!t[0])return e;const n=t.shift();return $(e)&&$(n)&&Object.keys(n).forEach(o=>{const r=n[o];$(r)?(!e[o]&&(e[o]={}),e[o]=T(e[o],r)):e[o]=R(r)?r.concat():r}),T(e,...t)}function Fe(e,t=!0){let n;return e[0]instanceof Date?n=t?(o,r)=>o-r:(o,r)=>r-o:t&&!e.every(isNaN)?n=(o,r)=>o-r:t||(n=(o,r)=>o>r&&-1||oje(o));return n.length?O(n[0])?n=Math[e](...n):n[0]instanceof Date&&(n=Fe(n,e==="min")[0]):n=void 0,n}const qe=(e,t,n=1)=>{const o=[],r=Math.max(0,Math.ceil((t-e)/n))|0;for(let s=e;s{const e=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(t,n,o=e())=>{t.dispatchEvent(new MouseEvent(n,o))}}catch(t){return(n,o,r=e())=>{const s=Pe.createEvent("MouseEvent");s.initMouseEvent(o,r.bubbles,r.cancelable,v,0,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),n.dispatchEvent(s)}}})(),touch:(e,t,n)=>{const o=new Touch(T({identifier:Date.now(),target:e,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},n));e.dispatchEvent(new TouchEvent(t,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[o],targetTouches:[],changedTouches:[o]}))}};function Vt(e,t){let n=e;for(const o in t)n=n.replace(new RegExp(`{=${o}}`,"g"),t[o]);return n}function Be(e){var t;let n;if(e instanceof Date)n=e;else if(x(e)){const{config:o,format:r}=this;n=(t=r.dataTime(o.data_xFormat)(e))!=null?t:new Date(e)}else O(e)&&!isNaN(e)&&(n=new Date(+e));return(!n||isNaN(+n))&&console&&console.error&&console.error(`Failed to parse x '${e}' to Date object`),n}function Yt(e){const t=e.attr("viewBox");return t?/(\d+(\.\d+)?){3}/.test(t):!1}function Gt(e,t,n=!1){const o=!!e.node;let r=!1;for(const[s,a]of Object.entries(t))if(r=o?e.style(s)===a:e.style[s]===a,n===!1&&r)break;return r}function kt(){var e,t;return((e=document)==null?void 0:e.hidden)===!1||((t=document)==null?void 0:t.visibilityState)==="visible"}function zt(e,t){const{DocumentTouch:n,matchMedia:o,navigator:r}=window,s=o==null?void 0:o("(pointer:coarse)").matches;let a=!1;if(t)if(r&&"maxTouchPoints"in r)a=r.maxTouchPoints>0;else if("ontouchmove"in window||n&&document instanceof n)a=!0;else if(s)a=!0;else{const d=r.userAgent;a=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(d)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(d)}return e&&!s&&(o==null?void 0:o("(pointer:fine)").matches)&&"mouse"||a&&"touch"||"mouse"}function Ue(e,t){t()===!1?requestAnimationFrame(()=>Ue(e,t)):e()}function Xe(e){const t=this.config;let n,o,r;const s=()=>{const a=o.shift();if(a&&n&&P(n)&&a in n)return n=n[a],s();if(!a)return n};Object.keys(t).forEach(a=>{n=e,o=a.split("_"),r=s(),U(r)&&(t[a]=r)}),this.api&&(this.state.orgConfig=e)}var Ve=Object.defineProperty,Ye=(e,t,n)=>t in e?Ve(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,A=(e,t,n)=>Ye(e,typeof t!="symbol"?t+"":t,n);class Y{constructor(t={}){A(this,"$$"),A(this,"options"),this.options=t}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(t=>{this[t]=null,delete this[t]})}}A(Y,"version","3.14.2");var Ge=h(996),ke=h(390),p={colorScale:"bb-colorscale",stanfordElements:"bb-stanford-elements",stanfordLine:"bb-stanford-line",stanfordLines:"bb-stanford-lines",stanfordRegion:"bb-stanford-region",stanfordRegions:"bb-stanford-regions"},ze=Object.defineProperty,He=(e,t,n)=>t in e?ze(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,G=(e,t,n)=>He(e,typeof t!="symbol"?t+"":t,n);class Ke{constructor(t){G(this,"owner"),G(this,"colorScale"),this.owner=t}drawColorScale(){const{$$:t,config:n}=this.owner,o=t.data.targets[0],r=t.state.height-n.padding_bottom-n.padding_top,s=n.scale_width,a=5,i=qe(n.padding_bottom,r,a),d=(0,E.scaleSequential)(o.colors).domain([i[i.length-1],i[0]]);this.colorScale&&this.colorScale.remove(),this.colorScale=t.$el.svg.append("g").attr("width",50).attr("height",r).attr("class",p.colorScale),this.colorScale.append("g").attr("transform",`translate(0, ${n.padding_top})`).selectAll("bars").data(i).enter().append("rect").attr("y",(m,at)=>at*a).attr("x",0).attr("width",s).attr("height",a).attr("fill",m=>d(m));const b=(0,E.scaleSymlog)().domain([o.minEpochs,o.maxEpochs]).range([i[0]+n.padding_top+i[i.length-1]+a-1,i[0]+n.padding_top]),c=(0,Ge.axisRight)(b),l=n.scale_format;l==="pow10"?c.tickValues([1,10,100,1e3,1e4,1e5,1e6,1e7]):C(l)?c.tickFormat(l):c.tickFormat((0,ke.format)("d"));const g=this.colorScale.append("g").attr("class","legend axis").attr("transform",`translate(${s},0)`).call(c);l==="pow10"&&g.selectAll(".tick text").text(null).filter(m=>m/Math.pow(10,Math.ceil(Math.log(m)/Math.LN10-1e-12))===1).text(10).append("tspan").attr("dy","-.7em").text(m=>Math.round(Math.log(m)/Math.LN10)),this.colorScale.attr("transform",`translate(${t.state.current.width-this.xForColorScale()}, 0)`)}xForColorScale(){return this.owner.config.padding_right+this.colorScale.node().getBBox().width}getColorScalePadding(){return this.xForColorScale()+this.owner.config.padding_left+20}}function We(e,t){const n=e.x,o=e.value;let r=!1;for(let s=0,a=t.length-1;so!=c>o&&n<(b-i)*(o-d)/(c-d)+i&&(r=!r)}return r}function Ze(e,t){return e.epochst.epochs?1:0}function Je(e){let t=0,n,o;for(let r=0,s=e.length,a=s-1;rt in e?Qe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tt=(e,t,n)=>et(e,typeof t!="symbol"?t+"":t,n);class nt{constructor(t){tt(this,"owner"),this.owner=t;const n=t.$$.$el.main.select(".bb-chart").append("g").attr("class",p.stanfordElements);n.append("g").attr("class",p.stanfordLines),n.append("g").attr("class",p.stanfordRegions)}updateStanfordLines(t){const{$$:n}=this.owner,{config:o,$el:{main:r}}=n,s=o.axis_rotated,a=this.xvCustom.bind(n),i=this.yvCustom.bind(n),d=r.select(`.${p.stanfordLines}`).style("shape-rendering","geometricprecision").selectAll(`.${p.stanfordLine}`).data(this.owner.config.lines);d.exit().transition().duration(t).style("opacity","0").remove();const b=d.enter().append("g");b.append("line").style("opacity","0"),b.merge(d).attr("class",c=>p.stanfordLine+(c.class?` ${c.class}`:"")).select("line").transition().duration(t).attr("x1",c=>s?i(c,"y1"):a(c,"x1")).attr("x2",c=>s?i(c,"y2"):a(c,"x2")).attr("y1",c=>s?a(c,"x1"):i(c,"y1")).attr("y2",c=>s?a(c,"x2"):i(c,"y2")).transition().style("opacity",null)}updateStanfordRegions(t){const{$$:n}=this.owner,{config:o,$el:{main:r}}=n,s=o.axis_rotated,a=this.xvCustom.bind(n),i=this.yvCustom.bind(n),d=this.owner.countEpochsInRegion.bind(n);let b=r.select(`.${p.stanfordRegions}`).selectAll(`.${p.stanfordRegion}`).data(this.owner.config.regions);b.exit().transition().duration(t).style("opacity","0").remove();const c=b.enter().append("g");c.append("polygon").style("opacity","0"),c.append("text").attr("transform",s?"rotate(-90)":"").style("opacity","0"),b=c.merge(b),b.attr("class",l=>p.stanfordRegion+(l.class?` ${l.class}`:"")).select("polygon").transition().duration(t).attr("points",l=>l.points.map(g=>[s?i(g,"y"):a(g,"x"),s?a(g,"x"):i(g,"y")].join(",")).join(" ")).transition().style("opacity",l=>String(l.opacity?l.opacity:.2)),b.select("text").transition().duration(t).attr("x",l=>s?i(w(l.points),"y"):a(w(l.points),"x")).attr("y",l=>s?a(w(l.points),"x"):i(w(l.points),"y")).text(l=>{if(l.text){const{value:g,percentage:m}=d(l.points);return l.text(g,m)}return""}).attr("text-anchor","middle").attr("dominant-baseline","middle").transition().style("opacity",null)}updateStanfordElements(t=0){this.updateStanfordLines(t),this.updateStanfordRegions(t)}xvCustom(t,n){const o=this,{axis:r,config:s}=o;let a=n?t[n]:o.getBaseValue(t);return r.isTimeSeries()?a=Be.call(o,a):r.isCategorized()&&x(a)&&(a=s.axis_x_categories.indexOf(t.value)),o.scale.x(a)}yvCustom(t,n){const o=this,r=t.axis&&t.axis==="y2"?o.scale.y2:o.scale.y,s=n?t[n]:o.getBaseValue(t);return r(s)}}class k{constructor(){return{colors:void 0,epochs:[],lines:[],scale_min:void 0,scale_max:void 0,scale_width:20,scale_format:void 0,padding_top:0,padding_right:0,padding_bottom:0,padding_left:0,regions:[]}}}var ot=Object.defineProperty,rt=(e,t,n)=>t in e?ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,L=(e,t,n)=>rt(e,typeof t!="symbol"?t+"":t,n);class st extends Y{constructor(t){return super(t),L(this,"config"),L(this,"colorScale"),L(this,"elements"),this.config=new k,this}$beforeInit(){const{$$:t}=this;t.config.data_xSort=!1,t.isMultipleX=()=>!0,t.showGridFocus=()=>{},t.labelishData=o=>o.values,t.opacityForCircle=()=>1;const n=t.getCurrentPadding.bind(t);t.getCurrentPadding=()=>{const o=n();return o.right+=this.colorScale?this.colorScale.getColorScalePadding():0,o}}$init(){const{$$:t}=this;Xe.call(this,this.options),t.color=this.getStanfordPointColor.bind(t),this.colorScale=new Ke(this),this.elements=new nt(this),this.convertData(),this.initStanfordData(),this.setStanfordTooltip(),this.colorScale.drawColorScale(),t.right+=this.colorScale?this.colorScale.getColorScalePadding():0,this.$redraw()}$redraw(t){var n,o;(n=this.colorScale)==null||n.drawColorScale(),(o=this.elements)==null||o.updateStanfordElements(t)}getOptions(){return new k}convertData(){const t=this.$$.data.targets,n=this.options.epochs;t.forEach(o=>{o.values.forEach((r,s)=>{r.epochs=n[s]}),o.minEpochs=void 0,o.maxEpochs=void 0,o.colors=void 0,o.colorscale=void 0})}initStanfordData(){const{config:t}=this,n=this.$$.data.targets[0];n.values.sort(Ze);const o=n.values.map(r=>r.epochs);n.minEpochs=isNaN(t.scale_min)?Math.min(...o):t.scale_min,n.maxEpochs=isNaN(t.scale_max)?Math.max(...o):t.scale_max,n.colors=C(t.colors)?t.colors:(0,J.interpolateHslLong)((0,D.hsl)(250,1,.5),(0,D.hsl)(0,1,.5)),n.colorscale=(0,E.scaleSequentialLog)(n.colors).domain([n.minEpochs,n.maxEpochs])}getStanfordPointColor(t){return this.data.targets[0].colorscale(t.epochs)}setStanfordTooltip(){const{config:t}=this.$$;X(t.tooltip_contents)&&(t.tooltip_contents=function(n,o,r,s){const{data_x:a}=t;let i=`
`;return n.forEach(d=>{const{id:b="",value:c=0,epochs:l=0,x:g=""}=d;i+=` diff --git a/release/latest/dist/plugin/billboardjs-plugin-tableview.js b/release/latest/dist/plugin/billboardjs-plugin-tableview.js index 9a51eec3c..809a6e284 100644 --- a/release/latest/dist/plugin/billboardjs-plugin-tableview.js +++ b/release/latest/dist/plugin/billboardjs-plugin-tableview.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */ @@ -342,9 +342,15 @@ function getScrollPosition(node) { function getTransformCTM(node, x = 0, y = 0, inverse = true) { const point = new DOMPoint(x, y); const screen = node.getScreenCTM(); - return point.matrixTransform( + const res = point.matrixTransform( inverse ? screen == null ? void 0 : screen.inverse() : screen ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; } function getTranslation(node) { const transform = node ? node.transform : null; @@ -621,7 +627,7 @@ class Plugin { }); } } -__publicField(Plugin, "version", "3.14.1"); +__publicField(Plugin, "version", "3.14.2"); ;// ./src/Plugin/tableview/const.ts diff --git a/release/latest/dist/plugin/billboardjs-plugin-tableview.min.js b/release/latest/dist/plugin/billboardjs-plugin-tableview.min.js index dbac601e6..36a3481d7 100644 --- a/release/latest/dist/plugin/billboardjs-plugin-tableview.min.js +++ b/release/latest/dist/plugin/billboardjs-plugin-tableview.min.js @@ -5,12 +5,12 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin - */(function(c,u){typeof exports=="object"&&typeof module=="object"?module.exports=u(require("d3-brush"),require("d3-selection")):typeof define=="function"&&define.amd?define("bb",["d3-brush","d3-selection"],u):typeof exports=="object"?exports.bb=u(require("d3-brush"),require("d3-selection")):(c.bb=c.bb||{},c.bb.plugin=c.bb.plugin||{},c.bb.plugin.tableview=u(c.d3,c.d3))})(this,function(j,c){return function(){"use strict";var u={853:function(e){e.exports=j},747:function(e){e.exports=c}},C={};function a(e){var t=C[e];if(t!==void 0)return t.exports;var n=C[e]={exports:{}};return u[e](n,n.exports,a),n.exports}(function(){a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),function(){a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}();var m={};a.d(m,{default:function(){return fe}});var be=a(853),he=a(747);function R(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function q(e){const t=typeof(e==null?void 0:e.requestAnimationFrame)=="function"&&typeof(e==null?void 0:e.cancelAnimationFrame)=="function",n=typeof(e==null?void 0:e.requestIdleCallback)=="function"&&typeof(e==null?void 0:e.cancelIdleCallback)=="function",o=i=>setTimeout(i,1),r=i=>clearTimeout(i);return[t?e.requestAnimationFrame:o,t?e.cancelAnimationFrame:r,n?e.requestIdleCallback:o,n?e.cancelIdleCallback:r]}const g=R(),V=g==null?void 0:g.document,[pe,me,ge,_e]=q(g);var L=Object.defineProperty,S=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,M=(e,t,n)=>t in e?L(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,D=(e,t)=>{for(var n in t||(t={}))U.call(t,n)&&M(e,n,t[n]);if(S)for(var n of S(t))z.call(t,n)&&M(e,n,t[n]);return e};const ve=e=>e||e===0,X=e=>typeof e=="function",_=e=>typeof e=="string",v=e=>typeof e=="number",Y=e=>typeof e=="undefined",A=e=>typeof e!="undefined",ye=e=>typeof e=="boolean",we=e=>Math.ceil(e/10)*10,Oe=e=>Math.ceil(e)+.5,xe=e=>e[1]-e[0],x=e=>typeof e=="object",k=e=>Y(e)||e===null||_(e)&&e.length===0||x(e)&&!(e instanceof Date)&&Object.keys(e).length===0||v(e)&&isNaN(e),H=e=>!k(e),E=e=>Array.isArray(e),y=e=>e&&!(e!=null&&e.nodeType)&&x(e)&&!E(e);function Ee(e,t,n){return A(e[t])?e[t]:n}function Pe(e,t){let n=!1;return Object.keys(e).forEach(o=>e[o]===t&&(n=!0)),n}function Te(e,t,...n){const o=X(e);return o&&e.call(t,...n),o}function $e(e,t){let n=0;const o=function(...r){!--n&&t.apply(this,...r)};"duration"in e?e.each(()=>++n).on("end",o):(++n,e.call(o))}function je(e){return _(e)?e.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):e}function Ce(e,t,n=[-1,1],o=!1){if(!(!e||!_(t)))if(t.indexOf(` + */(function(c,u){typeof exports=="object"&&typeof module=="object"?module.exports=u(require("d3-brush"),require("d3-selection")):typeof define=="function"&&define.amd?define("bb",["d3-brush","d3-selection"],u):typeof exports=="object"?exports.bb=u(require("d3-brush"),require("d3-selection")):(c.bb=c.bb||{},c.bb.plugin=c.bb.plugin||{},c.bb.plugin.tableview=u(c.d3,c.d3))})(this,function(j,c){return function(){"use strict";var u={853:function(e){e.exports=j},747:function(e){e.exports=c}},C={};function a(e){var t=C[e];if(t!==void 0)return t.exports;var n=C[e]={exports:{}};return u[e](n,n.exports,a),n.exports}(function(){a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),function(){a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}();var m={};a.d(m,{default:function(){return fe}});var be=a(853),he=a(747);function R(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function q(e){const t=typeof(e==null?void 0:e.requestAnimationFrame)=="function"&&typeof(e==null?void 0:e.cancelAnimationFrame)=="function",n=typeof(e==null?void 0:e.requestIdleCallback)=="function"&&typeof(e==null?void 0:e.cancelIdleCallback)=="function",o=i=>setTimeout(i,1),r=i=>clearTimeout(i);return[t?e.requestAnimationFrame:o,t?e.cancelAnimationFrame:r,n?e.requestIdleCallback:o,n?e.cancelIdleCallback:r]}const g=R(),V=g==null?void 0:g.document,[pe,me,ge,_e]=q(g);var L=Object.defineProperty,S=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,z=Object.prototype.propertyIsEnumerable,M=(e,t,n)=>t in e?L(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,D=(e,t)=>{for(var n in t||(t={}))U.call(t,n)&&M(e,n,t[n]);if(S)for(var n of S(t))z.call(t,n)&&M(e,n,t[n]);return e};const ye=e=>e||e===0,X=e=>typeof e=="function",_=e=>typeof e=="string",y=e=>typeof e=="number",Y=e=>typeof e=="undefined",A=e=>typeof e!="undefined",ve=e=>typeof e=="boolean",we=e=>Math.ceil(e/10)*10,xe=e=>Math.ceil(e)+.5,Oe=e=>e[1]-e[0],O=e=>typeof e=="object",k=e=>Y(e)||e===null||_(e)&&e.length===0||O(e)&&!(e instanceof Date)&&Object.keys(e).length===0||y(e)&&isNaN(e),H=e=>!k(e),E=e=>Array.isArray(e),v=e=>e&&!(e!=null&&e.nodeType)&&O(e)&&!E(e);function Ee(e,t,n){return A(e[t])?e[t]:n}function Pe(e,t){let n=!1;return Object.keys(e).forEach(o=>e[o]===t&&(n=!0)),n}function Te(e,t,...n){const o=X(e);return o&&e.call(t,...n),o}function $e(e,t){let n=0;const o=function(...r){!--n&&t.apply(this,...r)};"duration"in e?e.each(()=>++n).on("end",o):(++n,e.call(o))}function je(e){return _(e)?e.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):e}function Ce(e,t,n=[-1,1],o=!1){if(!(!e||!_(t)))if(t.indexOf(` `)===-1)e.text(t);else{const r=[e.text(),t].map(i=>i.replace(/[\s\n]/g,""));if(r[0]!==r[1]){const i=t.split(` -`),s=o?i.length-1:1;e.html(""),i.forEach((l,d)=>{e.append("tspan").attr("x",0).attr("dy",`${d===0?n[0]*s:n[1]}em`).text(l)})}}}function G(e){const{x:t,y:n,width:o,height:r}=e.getBBox();return[{x:t,y:n+r},{x:t,y:n},{x:t+o,y:n},{x:t+o,y:n+r}]}function Se(e){const{width:t,height:n}=e.getBoundingClientRect(),o=G(e),r=o[0].x,i=Math.min(o[0].y,o[1].y);return{x:r,y:i,width:t,height:n}}function Me(e,t){var n;const o=e&&((n=e.touches||e.sourceEvent&&e.sourceEvent.touches)==null?void 0:n[0]);let r=[0,0];try{r=d3Pointer(o||e,t)}catch(i){}return r.map(i=>isNaN(i)?0:i)}function K(e){const{event:t,$el:n}=e,o=n.subchart.main||n.main;let r;return t&&t.type==="brush"?r=t.selection:o&&(r=o.select(".bb-brush").node())&&(r=d3BrushSelection(r)),r}function De(e){return!("rect"in e)||"rect"in e&&e.hasAttribute("width")&&e.rect.width!==+e.getAttribute("width")?e.rect=e.getBoundingClientRect():e.rect}function Ae(e=!0,t=0,n=1e4){const o=window.crypto||window.msCrypto,r=o?t+o.getRandomValues(new Uint32Array(1))[0]%(n-t+1):Math.floor(Math.random()*(n-t)+t);return e?String(r):r}function N(e,t,n,o,r){if(n>o)return-1;const i=Math.floor((n+o)/2);let{x:s,w:l=0}=e[i];return r&&(s=e[i].y,l=e[i].h),t>=s&&t<=s+l?i:t{if(y(n)&&n.constructor){const o=new n.constructor;for(const r in n)o[r]=t(n[r]);return o}return n};return e.map(n=>t(n)).reduce((n,o)=>D(D({},n),o))}function W(e={},t){E(t)&&t.forEach(n=>W(e,n));for(const n in t)/^\d+$/.test(n)||n in e||(e[n]=t[n]);return e}const Ie=e=>e.charAt(0).toUpperCase()+e.slice(1);function Fe(e,t="-"){return e.split(t).map((n,o)=>o?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase():n.toLowerCase()).join("")}const J=e=>[].slice.call(e);function Re(e,t,n){const{rootSelector:o="",sheet:r}=e,s=`${o} ${(l=>l.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(t)} {${n.join(";")}}`;return r[r.insertRule?"insertRule":"addRule"](s,r.cssRules.length)}function qe(e){let t=[];return e.forEach(n=>{var o;try{n.cssRules&&n.cssRules.length&&(t=t.concat(J(n.cssRules)))}catch(r){(o=window.console)==null||o.warn(`Error while reading rules from ${n.href}: ${r.toString()}`)}}),t}function Ve(e){var t,n,o,r,i,s;return{x:((n=(t=window.pageXOffset)!=null?t:window.scrollX)!=null?n:0)+((o=e.scrollLeft)!=null?o:0),y:((i=(r=window.pageYOffset)!=null?r:window.scrollY)!=null?i:0)+((s=e.scrollTop)!=null?s:0)}}function Le(e,t=0,n=0,o=!0){const r=new DOMPoint(t,n),i=e.getScreenCTM();return r.matrixTransform(o?i==null?void 0:i.inverse():i)}function Ue(e){const t=e?e.transform:null,n=t&&t.baseVal;return n&&n.numberOfItems?n.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function ze(e){const t=e[0]instanceof Date,n=(t?e.map(Number):e).filter((o,r,i)=>i.indexOf(o)===r);return t?n.map(o=>new Date(o)):n}function Xe(e){return e&&e.length?e.reduce((t,n)=>t.concat(n)):[]}function P(e,...t){if(!t.length||t.length===1&&!t[0])return e;const n=t.shift();return y(e)&&y(n)&&Object.keys(n).forEach(o=>{const r=n[o];y(r)?(!e[o]&&(e[o]={}),e[o]=P(e[o],r)):e[o]=E(r)?r.concat():r}),P(e,...t)}function Q(e,t=!0){let n;return e[0]instanceof Date?n=t?(o,r)=>o-r:(o,r)=>r-o:t&&!e.every(isNaN)?n=(o,r)=>o-r:t||(n=(o,r)=>o>r&&-1||oH(o));return n.length?v(n[0])?n=Math[e](...n):n[0]instanceof Date&&(n=Q(n,e==="min")[0]):n=void 0,n}const ke=(e,t,n=1)=>{const o=[],r=Math.max(0,Math.ceil((t-e)/n))|0;for(let i=e;i{const e=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(t,n,o=e())=>{t.dispatchEvent(new MouseEvent(n,o))}}catch(t){return(n,o,r=e())=>{const i=V.createEvent("MouseEvent");i.initMouseEvent(o,r.bubbles,r.cancelable,g,0,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),n.dispatchEvent(i)}}})(),touch:(e,t,n)=>{const o=new Touch(P({identifier:Date.now(),target:e,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},n));e.dispatchEvent(new TouchEvent(t,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[o],targetTouches:[],changedTouches:[o]}))}};function w(e,t){let n=e;for(const o in t)n=n.replace(new RegExp(`{=${o}}`,"g"),t[o]);return n}function Ge(e){var t;let n;if(e instanceof Date)n=e;else if(_(e)){const{config:o,format:r}=this;n=(t=r.dataTime(o.data_xFormat)(e))!=null?t:new Date(e)}else v(e)&&!isNaN(e)&&(n=new Date(+e));return(!n||isNaN(+n))&&console&&console.error&&console.error(`Failed to parse x '${e}' to Date object`),n}function Ke(e){const t=e.attr("viewBox");return t?/(\d+(\.\d+)?){3}/.test(t):!1}function We(e,t,n=!1){const o=!!e.node;let r=!1;for(const[i,s]of Object.entries(t))if(r=o?e.style(i)===s:e.style[i]===s,n===!1&&r)break;return r}function Je(){var e,t;return((e=document)==null?void 0:e.hidden)===!1||((t=document)==null?void 0:t.visibilityState)==="visible"}function Qe(e,t){const{DocumentTouch:n,matchMedia:o,navigator:r}=window,i=o==null?void 0:o("(pointer:coarse)").matches;let s=!1;if(t)if(r&&"maxTouchPoints"in r)s=r.maxTouchPoints>0;else if("ontouchmove"in window||n&&document instanceof n)s=!0;else if(i)s=!0;else{const d=r.userAgent;s=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(d)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(d)}return e&&!i&&(o==null?void 0:o("(pointer:fine)").matches)&&"mouse"||s&&"touch"||"mouse"}function Z(e,t){t()===!1?requestAnimationFrame(()=>Z(e,t)):e()}function ee(e){const t=this.config;let n,o,r;const i=()=>{const s=o.shift();if(s&&n&&x(n)&&s in n)return n=n[s],i();if(!s)return n};Object.keys(t).forEach(s=>{n=e,o=s.split("_"),r=i(),A(r)&&(t[s]=r)}),this.api&&(this.state.orgConfig=e)}var te=Object.defineProperty,ne=(e,t,n)=>t in e?te(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,T=(e,t,n)=>ne(e,typeof t!="symbol"?t+"":t,n);class B{constructor(t={}){T(this,"$$"),T(this,"options"),this.options=t}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(t=>{this[t]=null,delete this[t]})}}T(B,"version","3.14.1");const f={id:"__tableview-style__",class:"bb-tableview",rule:`.bb-tableview { +`),s=o?i.length-1:1;e.html(""),i.forEach((l,d)=>{e.append("tspan").attr("x",0).attr("dy",`${d===0?n[0]*s:n[1]}em`).text(l)})}}}function G(e){const{x:t,y:n,width:o,height:r}=e.getBBox();return[{x:t,y:n+r},{x:t,y:n},{x:t+o,y:n},{x:t+o,y:n+r}]}function Se(e){const{width:t,height:n}=e.getBoundingClientRect(),o=G(e),r=o[0].x,i=Math.min(o[0].y,o[1].y);return{x:r,y:i,width:t,height:n}}function Me(e,t){var n;const o=e&&((n=e.touches||e.sourceEvent&&e.sourceEvent.touches)==null?void 0:n[0]);let r=[0,0];try{r=d3Pointer(o||e,t)}catch(i){}return r.map(i=>isNaN(i)?0:i)}function K(e){const{event:t,$el:n}=e,o=n.subchart.main||n.main;let r;return t&&t.type==="brush"?r=t.selection:o&&(r=o.select(".bb-brush").node())&&(r=d3BrushSelection(r)),r}function De(e){return!("rect"in e)||"rect"in e&&e.hasAttribute("width")&&e.rect.width!==+e.getAttribute("width")?e.rect=e.getBoundingClientRect():e.rect}function Ae(e=!0,t=0,n=1e4){const o=window.crypto||window.msCrypto,r=o?t+o.getRandomValues(new Uint32Array(1))[0]%(n-t+1):Math.floor(Math.random()*(n-t)+t);return e?String(r):r}function N(e,t,n,o,r){if(n>o)return-1;const i=Math.floor((n+o)/2);let{x:s,w:l=0}=e[i];return r&&(s=e[i].y,l=e[i].h),t>=s&&t<=s+l?i:t{if(v(n)&&n.constructor){const o=new n.constructor;for(const r in n)o[r]=t(n[r]);return o}return n};return e.map(n=>t(n)).reduce((n,o)=>D(D({},n),o))}function W(e={},t){E(t)&&t.forEach(n=>W(e,n));for(const n in t)/^\d+$/.test(n)||n in e||(e[n]=t[n]);return e}const Ie=e=>e.charAt(0).toUpperCase()+e.slice(1);function Fe(e,t="-"){return e.split(t).map((n,o)=>o?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase():n.toLowerCase()).join("")}const J=e=>[].slice.call(e);function Re(e,t,n){const{rootSelector:o="",sheet:r}=e,s=`${o} ${(l=>l.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(t)} {${n.join(";")}}`;return r[r.insertRule?"insertRule":"addRule"](s,r.cssRules.length)}function qe(e){let t=[];return e.forEach(n=>{var o;try{n.cssRules&&n.cssRules.length&&(t=t.concat(J(n.cssRules)))}catch(r){(o=window.console)==null||o.warn(`Error while reading rules from ${n.href}: ${r.toString()}`)}}),t}function Ve(e){var t,n,o,r,i,s;return{x:((n=(t=window.pageXOffset)!=null?t:window.scrollX)!=null?n:0)+((o=e.scrollLeft)!=null?o:0),y:((i=(r=window.pageYOffset)!=null?r:window.scrollY)!=null?i:0)+((s=e.scrollTop)!=null?s:0)}}function Le(e,t=0,n=0,o=!0){const r=new DOMPoint(t,n),i=e.getScreenCTM(),s=r.matrixTransform(o?i==null?void 0:i.inverse():i);if(o===!1){const l=e.getBoundingClientRect();s.x-=l.x,s.y-=l.y}return s}function Ue(e){const t=e?e.transform:null,n=t&&t.baseVal;return n&&n.numberOfItems?n.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function ze(e){const t=e[0]instanceof Date,n=(t?e.map(Number):e).filter((o,r,i)=>i.indexOf(o)===r);return t?n.map(o=>new Date(o)):n}function Xe(e){return e&&e.length?e.reduce((t,n)=>t.concat(n)):[]}function P(e,...t){if(!t.length||t.length===1&&!t[0])return e;const n=t.shift();return v(e)&&v(n)&&Object.keys(n).forEach(o=>{const r=n[o];v(r)?(!e[o]&&(e[o]={}),e[o]=P(e[o],r)):e[o]=E(r)?r.concat():r}),P(e,...t)}function Q(e,t=!0){let n;return e[0]instanceof Date?n=t?(o,r)=>o-r:(o,r)=>r-o:t&&!e.every(isNaN)?n=(o,r)=>o-r:t||(n=(o,r)=>o>r&&-1||oH(o));return n.length?y(n[0])?n=Math[e](...n):n[0]instanceof Date&&(n=Q(n,e==="min")[0]):n=void 0,n}const ke=(e,t,n=1)=>{const o=[],r=Math.max(0,Math.ceil((t-e)/n))|0;for(let i=e;i{const e=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(t,n,o=e())=>{t.dispatchEvent(new MouseEvent(n,o))}}catch(t){return(n,o,r=e())=>{const i=V.createEvent("MouseEvent");i.initMouseEvent(o,r.bubbles,r.cancelable,g,0,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),n.dispatchEvent(i)}}})(),touch:(e,t,n)=>{const o=new Touch(P({identifier:Date.now(),target:e,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},n));e.dispatchEvent(new TouchEvent(t,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[o],targetTouches:[],changedTouches:[o]}))}};function w(e,t){let n=e;for(const o in t)n=n.replace(new RegExp(`{=${o}}`,"g"),t[o]);return n}function Ge(e){var t;let n;if(e instanceof Date)n=e;else if(_(e)){const{config:o,format:r}=this;n=(t=r.dataTime(o.data_xFormat)(e))!=null?t:new Date(e)}else y(e)&&!isNaN(e)&&(n=new Date(+e));return(!n||isNaN(+n))&&console&&console.error&&console.error(`Failed to parse x '${e}' to Date object`),n}function Ke(e){const t=e.attr("viewBox");return t?/(\d+(\.\d+)?){3}/.test(t):!1}function We(e,t,n=!1){const o=!!e.node;let r=!1;for(const[i,s]of Object.entries(t))if(r=o?e.style(i)===s:e.style[i]===s,n===!1&&r)break;return r}function Je(){var e,t;return((e=document)==null?void 0:e.hidden)===!1||((t=document)==null?void 0:t.visibilityState)==="visible"}function Qe(e,t){const{DocumentTouch:n,matchMedia:o,navigator:r}=window,i=o==null?void 0:o("(pointer:coarse)").matches;let s=!1;if(t)if(r&&"maxTouchPoints"in r)s=r.maxTouchPoints>0;else if("ontouchmove"in window||n&&document instanceof n)s=!0;else if(i)s=!0;else{const d=r.userAgent;s=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(d)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(d)}return e&&!i&&(o==null?void 0:o("(pointer:fine)").matches)&&"mouse"||s&&"touch"||"mouse"}function Z(e,t){t()===!1?requestAnimationFrame(()=>Z(e,t)):e()}function ee(e){const t=this.config;let n,o,r;const i=()=>{const s=o.shift();if(s&&n&&O(n)&&s in n)return n=n[s],i();if(!s)return n};Object.keys(t).forEach(s=>{n=e,o=s.split("_"),r=i(),A(r)&&(t[s]=r)}),this.api&&(this.state.orgConfig=e)}var te=Object.defineProperty,ne=(e,t,n)=>t in e?te(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,T=(e,t,n)=>ne(e,typeof t!="symbol"?t+"":t,n);class B{constructor(t={}){T(this,"$$"),T(this,"options"),this.options=t}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(t=>{this[t]=null,delete this[t]})}}T(B,"version","3.14.2");const f={id:"__tableview-style__",class:"bb-tableview",rule:`.bb-tableview { border-collapse:collapse; border-spacing:0; background:#fff; @@ -36,4 +36,4 @@ margin-bottom: -1px; }`},p={body:`{=thead} - {=tbody}`,thead:'',tbodyHeader:'',tbody:""};class oe{constructor(){return{selector:void 0,categoryTitle:"Category",categoryFormat:function(t){let n=t;return this.$$.axis.isCategorized()?n=this.$$.categoryName(t):this.$$.axis.isTimeSeries()&&(n=t.toLocaleDateString()),n},class:void 0,style:!0,title:void 0,updateOnToggle:!0,nullString:"-"}}}var re=Object.defineProperty,ie=Object.defineProperties,se=Object.getOwnPropertyDescriptors,I=Object.getOwnPropertySymbols,le=Object.prototype.hasOwnProperty,ce=Object.prototype.propertyIsEnumerable,$=(e,t,n)=>t in e?re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ae=(e,t)=>{for(var n in t||(t={}))le.call(t,n)&&$(e,n,t[n]);if(I)for(var n of I(t))ce.call(t,n)&&$(e,n,t[n]);return e},ue=(e,t)=>ie(e,se(t)),F=(e,t,n)=>$(e,typeof t!="symbol"?t+"":t,n);class fe extends B{constructor(t){return super(t),F(this,"config"),F(this,"element"),this.config=new oe,this}$beforeInit(){ee.call(this,this.options)}$init(){const{class:t,selector:n,style:o}=this.config;let r=document.querySelector(n||`.${t||f.class}`);if(!r){const i=this.$$.$el.chart.node();r=document.createElement("table"),i.parentNode.insertBefore(r,i.nextSibling)}if(r.tagName!=="TABLE"){const i=document.createElement("table");r.appendChild(i),r=i}if(o&&!document.getElementById(f.id)){const i=document.createElement("style");i.id=f.id,i.innerHTML=f.rule,(document.head||document.getElementsByTagName("head")[0]).appendChild(i)}r.classList.add(...[o&&f.class,t].filter(Boolean)),this.element=r}generateTable(){const{$$:t,config:n,element:o}=this,r=t.filterTargetsToShow(t.data.targets);let i=w(p.thead,{title:r.length?this.config.categoryTitle:""}),s="";const l=[];r.forEach(O=>{i+=w(p.thead,{title:O.id}),O.values.forEach((b,h)=>{l[h]||(l[h]=[b.x]),l[h].push(b.value)})}),l.forEach(O=>{s+=`${O.map((b,h)=>w(h?p.tbody:p.tbodyHeader,{value:h===0?n.categoryFormat.bind(this)(b):v(b)?b.toLocaleString():n.nullString})).join("")}`});const d=/(<\/?(script|img)[^>]*>|<[^>]+><\/[^>]+>)/ig,de=w(p.body,ue(ae({},n),{title:n.title||t.config.title_text||"",thead:i,tbody:s})).replace(d,"");o.innerHTML=de}$redraw(){const{state:t}=this.$$;!(t.resizing||!this.config.updateOnToggle&&t.toggling)&&this.generateTable()}$willDestroy(){var t,n;if((t=this.element.parentNode)==null||t.removeChild(this.element),this.$$.charts.length===1){const o=document.getElementById(f.id);(n=o==null?void 0:o.parentNode)==null||n.removeChild(o)}}}return m=m.default,m}()}); + {=tbody}`,thead:'',tbodyHeader:'',tbody:""};class oe{constructor(){return{selector:void 0,categoryTitle:"Category",categoryFormat:function(t){let n=t;return this.$$.axis.isCategorized()?n=this.$$.categoryName(t):this.$$.axis.isTimeSeries()&&(n=t.toLocaleDateString()),n},class:void 0,style:!0,title:void 0,updateOnToggle:!0,nullString:"-"}}}var re=Object.defineProperty,ie=Object.defineProperties,se=Object.getOwnPropertyDescriptors,I=Object.getOwnPropertySymbols,le=Object.prototype.hasOwnProperty,ce=Object.prototype.propertyIsEnumerable,$=(e,t,n)=>t in e?re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ae=(e,t)=>{for(var n in t||(t={}))le.call(t,n)&&$(e,n,t[n]);if(I)for(var n of I(t))ce.call(t,n)&&$(e,n,t[n]);return e},ue=(e,t)=>ie(e,se(t)),F=(e,t,n)=>$(e,typeof t!="symbol"?t+"":t,n);class fe extends B{constructor(t){return super(t),F(this,"config"),F(this,"element"),this.config=new oe,this}$beforeInit(){ee.call(this,this.options)}$init(){const{class:t,selector:n,style:o}=this.config;let r=document.querySelector(n||`.${t||f.class}`);if(!r){const i=this.$$.$el.chart.node();r=document.createElement("table"),i.parentNode.insertBefore(r,i.nextSibling)}if(r.tagName!=="TABLE"){const i=document.createElement("table");r.appendChild(i),r=i}if(o&&!document.getElementById(f.id)){const i=document.createElement("style");i.id=f.id,i.innerHTML=f.rule,(document.head||document.getElementsByTagName("head")[0]).appendChild(i)}r.classList.add(...[o&&f.class,t].filter(Boolean)),this.element=r}generateTable(){const{$$:t,config:n,element:o}=this,r=t.filterTargetsToShow(t.data.targets);let i=w(p.thead,{title:r.length?this.config.categoryTitle:""}),s="";const l=[];r.forEach(x=>{i+=w(p.thead,{title:x.id}),x.values.forEach((b,h)=>{l[h]||(l[h]=[b.x]),l[h].push(b.value)})}),l.forEach(x=>{s+=`${x.map((b,h)=>w(h?p.tbody:p.tbodyHeader,{value:h===0?n.categoryFormat.bind(this)(b):y(b)?b.toLocaleString():n.nullString})).join("")}`});const d=/(<\/?(script|img)[^>]*>|<[^>]+><\/[^>]+>)/ig,de=w(p.body,ue(ae({},n),{title:n.title||t.config.title_text||"",thead:i,tbody:s})).replace(d,"");o.innerHTML=de}$redraw(){const{state:t}=this.$$;!(t.resizing||!this.config.updateOnToggle&&t.toggling)&&this.generateTable()}$willDestroy(){var t,n;if((t=this.element.parentNode)==null||t.removeChild(this.element),this.$$.charts.length===1){const o=document.getElementById(f.id);(n=o==null?void 0:o.parentNode)==null||n.removeChild(o)}}}return m=m.default,m}()}); diff --git a/release/latest/dist/plugin/billboardjs-plugin-textoverlap.js b/release/latest/dist/plugin/billboardjs-plugin-textoverlap.js index 83bf74d3a..c9e478c2c 100644 --- a/release/latest/dist/plugin/billboardjs-plugin-textoverlap.js +++ b/release/latest/dist/plugin/billboardjs-plugin-textoverlap.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */ @@ -361,9 +361,15 @@ function getScrollPosition(node) { function getTransformCTM(node, x = 0, y = 0, inverse = true) { const point = new DOMPoint(x, y); const screen = node.getScreenCTM(); - return point.matrixTransform( + const res = point.matrixTransform( inverse ? screen == null ? void 0 : screen.inverse() : screen ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; } function getTranslation(node) { const transform = node ? node.transform : null; @@ -640,7 +646,7 @@ class Plugin { }); } } -__publicField(Plugin, "version", "3.14.1"); +__publicField(Plugin, "version", "3.14.2"); ;// ./src/Plugin/textoverlap/Options.ts class Options { diff --git a/release/latest/dist/plugin/billboardjs-plugin-textoverlap.min.js b/release/latest/dist/plugin/billboardjs-plugin-textoverlap.min.js index feb2ecac0..ec3fe5908 100644 --- a/release/latest/dist/plugin/billboardjs-plugin-textoverlap.min.js +++ b/release/latest/dist/plugin/billboardjs-plugin-textoverlap.min.js @@ -5,9 +5,9 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */(function(l,u){typeof exports=="object"&&typeof module=="object"?module.exports=u(require("d3-delaunay"),require("d3-polygon"),require("d3-brush"),require("d3-selection")):typeof define=="function"&&define.amd?define("bb",["d3-delaunay","d3-polygon","d3-brush","d3-selection"],u):typeof exports=="object"?exports.bb=u(require("d3-delaunay"),require("d3-polygon"),require("d3-brush"),require("d3-selection")):(l.bb=l.bb||{},l.bb.plugin=l.bb.plugin||{},l.bb.plugin.textoverlap=u(l.d3,l.d3,l.d3,l.d3))})(this,function(w,l,u,C){return function(){"use strict";var D={853:function(e){e.exports=u},348:function(e){e.exports=w},263:function(e){e.exports=l},747:function(e){e.exports=C}},O={};function a(e){var n=O[e];if(n!==void 0)return n.exports;var t=O[e]={exports:{}};return D[e](t,t.exports,a),t.exports}(function(){a.d=function(e,n){for(var t in n)a.o(n,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})}})(),function(){a.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)}}();var p={};a.d(p,{default:function(){return oe}});var q=a(348),P=a(263),fe=a(853),de=a(747);function R(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function F(e){const n=typeof(e==null?void 0:e.requestAnimationFrame)=="function"&&typeof(e==null?void 0:e.cancelAnimationFrame)=="function",t=typeof(e==null?void 0:e.requestIdleCallback)=="function"&&typeof(e==null?void 0:e.cancelIdleCallback)=="function",o=i=>setTimeout(i,1),r=i=>clearTimeout(i);return[n?e.requestAnimationFrame:o,n?e.cancelAnimationFrame:r,t?e.requestIdleCallback:o,t?e.cancelIdleCallback:r]}const h=R(),S=h==null?void 0:h.document,[pe,he,be,me]=F(h);var I=Object.defineProperty,E=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,N=Object.prototype.propertyIsEnumerable,M=(e,n,t)=>n in e?I(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,T=(e,n)=>{for(var t in n||(n={}))B.call(n,t)&&M(e,t,n[t]);if(E)for(var t of E(n))N.call(n,t)&&M(e,t,n[t]);return e};const _e=e=>e||e===0,V=e=>typeof e=="function",b=e=>typeof e=="string",_=e=>typeof e=="number",U=e=>typeof e=="undefined",j=e=>typeof e!="undefined",ge=e=>typeof e=="boolean",ye=e=>Math.ceil(e/10)*10,ve=e=>Math.ceil(e)+.5,xe=e=>e[1]-e[0],g=e=>typeof e=="object",X=e=>U(e)||e===null||b(e)&&e.length===0||g(e)&&!(e instanceof Date)&&Object.keys(e).length===0||_(e)&&isNaN(e),Y=e=>!X(e),y=e=>Array.isArray(e),m=e=>e&&!(e!=null&&e.nodeType)&&g(e)&&!y(e);function we(e,n,t){return j(e[n])?e[n]:t}function Oe(e,n){let t=!1;return Object.keys(e).forEach(o=>e[o]===n&&(t=!0)),t}function Pe(e,n,...t){const o=V(e);return o&&e.call(n,...t),o}function Ee(e,n){let t=0;const o=function(...r){!--t&&n.apply(this,...r)};"duration"in e?e.each(()=>++t).on("end",o):(++t,e.call(o))}function Me(e){return b(e)?e.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):e}function Te(e,n,t=[-1,1],o=!1){if(!(!e||!b(n)))if(n.indexOf(` `)===-1)e.text(n);else{const r=[e.text(),n].map(i=>i.replace(/[\s\n]/g,""));if(r[0]!==r[1]){const i=n.split(` -`),s=o?i.length-1:1;e.html(""),i.forEach((c,f)=>{e.append("tspan").attr("x",0).attr("dy",`${f===0?t[0]*s:t[1]}em`).text(c)})}}}function L(e){const{x:n,y:t,width:o,height:r}=e.getBBox();return[{x:n,y:t+r},{x:n,y:t},{x:n+o,y:t},{x:n+o,y:t+r}]}function je(e){const{width:n,height:t}=e.getBoundingClientRect(),o=L(e),r=o[0].x,i=Math.min(o[0].y,o[1].y);return{x:r,y:i,width:n,height:t}}function $e(e,n){var t;const o=e&&((t=e.touches||e.sourceEvent&&e.sourceEvent.touches)==null?void 0:t[0]);let r=[0,0];try{r=d3Pointer(o||e,n)}catch(i){}return r.map(i=>isNaN(i)?0:i)}function z(e){const{event:n,$el:t}=e,o=t.subchart.main||t.main;let r;return n&&n.type==="brush"?r=n.selection:o&&(r=o.select(".bb-brush").node())&&(r=d3BrushSelection(r)),r}function Ae(e){return!("rect"in e)||"rect"in e&&e.hasAttribute("width")&&e.rect.width!==+e.getAttribute("width")?e.rect=e.getBoundingClientRect():e.rect}function Ce(e=!0,n=0,t=1e4){const o=window.crypto||window.msCrypto,r=o?n+o.getRandomValues(new Uint32Array(1))[0]%(t-n+1):Math.floor(Math.random()*(t-n)+n);return e?String(r):r}function $(e,n,t,o,r){if(t>o)return-1;const i=Math.floor((t+o)/2);let{x:s,w:c=0}=e[i];return r&&(s=e[i].y,c=e[i].h),n>=s&&n<=s+c?i:n{if(m(t)&&t.constructor){const o=new t.constructor;for(const r in t)o[r]=n(t[r]);return o}return t};return e.map(t=>n(t)).reduce((t,o)=>T(T({},t),o))}function k(e={},n){y(n)&&n.forEach(t=>k(e,t));for(const t in n)/^\d+$/.test(t)||t in e||(e[t]=n[t]);return e}const Re=e=>e.charAt(0).toUpperCase()+e.slice(1);function Fe(e,n="-"){return e.split(n).map((t,o)=>o?t.charAt(0).toUpperCase()+t.slice(1).toLowerCase():t.toLowerCase()).join("")}const G=e=>[].slice.call(e);function Se(e,n,t){const{rootSelector:o="",sheet:r}=e,s=`${o} ${(c=>c.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(n)} {${t.join(";")}}`;return r[r.insertRule?"insertRule":"addRule"](s,r.cssRules.length)}function Ie(e){let n=[];return e.forEach(t=>{var o;try{t.cssRules&&t.cssRules.length&&(n=n.concat(G(t.cssRules)))}catch(r){(o=window.console)==null||o.warn(`Error while reading rules from ${t.href}: ${r.toString()}`)}}),n}function Be(e){var n,t,o,r,i,s;return{x:((t=(n=window.pageXOffset)!=null?n:window.scrollX)!=null?t:0)+((o=e.scrollLeft)!=null?o:0),y:((i=(r=window.pageYOffset)!=null?r:window.scrollY)!=null?i:0)+((s=e.scrollTop)!=null?s:0)}}function Ne(e,n=0,t=0,o=!0){const r=new DOMPoint(n,t),i=e.getScreenCTM();return r.matrixTransform(o?i==null?void 0:i.inverse():i)}function Ve(e){const n=e?e.transform:null,t=n&&n.baseVal;return t&&t.numberOfItems?t.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function Ue(e){const n=e[0]instanceof Date,t=(n?e.map(Number):e).filter((o,r,i)=>i.indexOf(o)===r);return n?t.map(o=>new Date(o)):t}function Xe(e){return e&&e.length?e.reduce((n,t)=>n.concat(t)):[]}function v(e,...n){if(!n.length||n.length===1&&!n[0])return e;const t=n.shift();return m(e)&&m(t)&&Object.keys(t).forEach(o=>{const r=t[o];m(r)?(!e[o]&&(e[o]={}),e[o]=v(e[o],r)):e[o]=y(r)?r.concat():r}),v(e,...n)}function H(e,n=!0){let t;return e[0]instanceof Date?t=n?(o,r)=>o-r:(o,r)=>r-o:n&&!e.every(isNaN)?t=(o,r)=>o-r:n||(t=(o,r)=>o>r&&-1||oY(o));return t.length?_(t[0])?t=Math[e](...t):t[0]instanceof Date&&(t=H(t,e==="min")[0]):t=void 0,t}const Le=(e,n,t=1)=>{const o=[],r=Math.max(0,Math.ceil((n-e)/t))|0;for(let i=e;i{const e=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(n,t,o=e())=>{n.dispatchEvent(new MouseEvent(t,o))}}catch(n){return(t,o,r=e())=>{const i=S.createEvent("MouseEvent");i.initMouseEvent(o,r.bubbles,r.cancelable,h,0,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),t.dispatchEvent(i)}}})(),touch:(e,n,t)=>{const o=new Touch(v({identifier:Date.now(),target:e,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},t));e.dispatchEvent(new TouchEvent(n,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[o],targetTouches:[],changedTouches:[o]}))}};function ke(e,n){let t=e;for(const o in n)t=t.replace(new RegExp(`{=${o}}`,"g"),n[o]);return t}function Ge(e){var n;let t;if(e instanceof Date)t=e;else if(b(e)){const{config:o,format:r}=this;t=(n=r.dataTime(o.data_xFormat)(e))!=null?n:new Date(e)}else _(e)&&!isNaN(e)&&(t=new Date(+e));return(!t||isNaN(+t))&&console&&console.error&&console.error(`Failed to parse x '${e}' to Date object`),t}function He(e){const n=e.attr("viewBox");return n?/(\d+(\.\d+)?){3}/.test(n):!1}function Ke(e,n,t=!1){const o=!!e.node;let r=!1;for(const[i,s]of Object.entries(n))if(r=o?e.style(i)===s:e.style[i]===s,t===!1&&r)break;return r}function We(){var e,n;return((e=document)==null?void 0:e.hidden)===!1||((n=document)==null?void 0:n.visibilityState)==="visible"}function Je(e,n){const{DocumentTouch:t,matchMedia:o,navigator:r}=window,i=o==null?void 0:o("(pointer:coarse)").matches;let s=!1;if(n)if(r&&"maxTouchPoints"in r)s=r.maxTouchPoints>0;else if("ontouchmove"in window||t&&document instanceof t)s=!0;else if(i)s=!0;else{const f=r.userAgent;s=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(f)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(f)}return e&&!i&&(o==null?void 0:o("(pointer:fine)").matches)&&"mouse"||s&&"touch"||"mouse"}function K(e,n){n()===!1?requestAnimationFrame(()=>K(e,n)):e()}function W(e){const n=this.config;let t,o,r;const i=()=>{const s=o.shift();if(s&&t&&g(t)&&s in t)return t=t[s],i();if(!s)return t};Object.keys(n).forEach(s=>{t=e,o=s.split("_"),r=i(),j(r)&&(n[s]=r)}),this.api&&(this.state.orgConfig=e)}var J=Object.defineProperty,Q=(e,n,t)=>n in e?J(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,x=(e,n,t)=>Q(e,typeof n!="symbol"?n+"":n,t);class A{constructor(n={}){x(this,"$$"),x(this,"options"),this.options=n}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(n=>{this[n]=null,delete this[n]})}}x(A,"version","3.14.1");class Z{constructor(){return{selector:void 0,extent:1,area:0}}}var ee=Object.defineProperty,te=(e,n,t)=>n in e?ee(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,ne=(e,n,t)=>te(e,typeof n!="symbol"?n+"":n,t);class oe extends A{constructor(n){return super(n),ne(this,"config"),this.config=new Z,this}$init(){W.call(this,this.options)}$redraw(){const{$$:{$el:n},config:{selector:t}}=this,o=t?n.main.selectAll(t):n.text;!o.empty()&&this.preventLabelOverlap(o)}generateVoronoi(n){const{$$:t}=this,{scale:o}=t,[r,i]=["x","y"].map(s=>o[s].domain());return[r[1],i[0]]=[i[0],r[1]],q.Delaunay.from(n).voronoi([...r,...i])}preventLabelOverlap(n){const{extent:t,area:o}=this.config,r=n.data().map(c=>[c.index,c.value]),i=this.generateVoronoi(r);let s=0;n.each(function(){const c=i.cellPolygon(s);if(c&&this){const[f,re]=r[s],[ie,se]=(0,P.polygonCentroid)(c),ce=Math.abs((0,P.polygonArea)(c)),d=Math.round(Math.atan2(se-re,ie-f)/Math.PI*2),le=t*(d===0?1:-1),ae=d===-1?-t:t+5,ue=Math.abs(d)===1?"middle":d===0?"start":"end";this.style.display=ce{e.append("tspan").attr("x",0).attr("dy",`${f===0?t[0]*s:t[1]}em`).text(c)})}}}function L(e){const{x:n,y:t,width:o,height:r}=e.getBBox();return[{x:n,y:t+r},{x:n,y:t},{x:n+o,y:t},{x:n+o,y:t+r}]}function je(e){const{width:n,height:t}=e.getBoundingClientRect(),o=L(e),r=o[0].x,i=Math.min(o[0].y,o[1].y);return{x:r,y:i,width:n,height:t}}function $e(e,n){var t;const o=e&&((t=e.touches||e.sourceEvent&&e.sourceEvent.touches)==null?void 0:t[0]);let r=[0,0];try{r=d3Pointer(o||e,n)}catch(i){}return r.map(i=>isNaN(i)?0:i)}function z(e){const{event:n,$el:t}=e,o=t.subchart.main||t.main;let r;return n&&n.type==="brush"?r=n.selection:o&&(r=o.select(".bb-brush").node())&&(r=d3BrushSelection(r)),r}function Ae(e){return!("rect"in e)||"rect"in e&&e.hasAttribute("width")&&e.rect.width!==+e.getAttribute("width")?e.rect=e.getBoundingClientRect():e.rect}function Ce(e=!0,n=0,t=1e4){const o=window.crypto||window.msCrypto,r=o?n+o.getRandomValues(new Uint32Array(1))[0]%(t-n+1):Math.floor(Math.random()*(t-n)+n);return e?String(r):r}function $(e,n,t,o,r){if(t>o)return-1;const i=Math.floor((t+o)/2);let{x:s,w:c=0}=e[i];return r&&(s=e[i].y,c=e[i].h),n>=s&&n<=s+c?i:n{if(m(t)&&t.constructor){const o=new t.constructor;for(const r in t)o[r]=n(t[r]);return o}return t};return e.map(t=>n(t)).reduce((t,o)=>T(T({},t),o))}function k(e={},n){y(n)&&n.forEach(t=>k(e,t));for(const t in n)/^\d+$/.test(t)||t in e||(e[t]=n[t]);return e}const Re=e=>e.charAt(0).toUpperCase()+e.slice(1);function Fe(e,n="-"){return e.split(n).map((t,o)=>o?t.charAt(0).toUpperCase()+t.slice(1).toLowerCase():t.toLowerCase()).join("")}const G=e=>[].slice.call(e);function Se(e,n,t){const{rootSelector:o="",sheet:r}=e,s=`${o} ${(c=>c.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(n)} {${t.join(";")}}`;return r[r.insertRule?"insertRule":"addRule"](s,r.cssRules.length)}function Ie(e){let n=[];return e.forEach(t=>{var o;try{t.cssRules&&t.cssRules.length&&(n=n.concat(G(t.cssRules)))}catch(r){(o=window.console)==null||o.warn(`Error while reading rules from ${t.href}: ${r.toString()}`)}}),n}function Be(e){var n,t,o,r,i,s;return{x:((t=(n=window.pageXOffset)!=null?n:window.scrollX)!=null?t:0)+((o=e.scrollLeft)!=null?o:0),y:((i=(r=window.pageYOffset)!=null?r:window.scrollY)!=null?i:0)+((s=e.scrollTop)!=null?s:0)}}function Ne(e,n=0,t=0,o=!0){const r=new DOMPoint(n,t),i=e.getScreenCTM(),s=r.matrixTransform(o?i==null?void 0:i.inverse():i);if(o===!1){const c=e.getBoundingClientRect();s.x-=c.x,s.y-=c.y}return s}function Ve(e){const n=e?e.transform:null,t=n&&n.baseVal;return t&&t.numberOfItems?t.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function Ue(e){const n=e[0]instanceof Date,t=(n?e.map(Number):e).filter((o,r,i)=>i.indexOf(o)===r);return n?t.map(o=>new Date(o)):t}function Xe(e){return e&&e.length?e.reduce((n,t)=>n.concat(t)):[]}function v(e,...n){if(!n.length||n.length===1&&!n[0])return e;const t=n.shift();return m(e)&&m(t)&&Object.keys(t).forEach(o=>{const r=t[o];m(r)?(!e[o]&&(e[o]={}),e[o]=v(e[o],r)):e[o]=y(r)?r.concat():r}),v(e,...n)}function H(e,n=!0){let t;return e[0]instanceof Date?t=n?(o,r)=>o-r:(o,r)=>r-o:n&&!e.every(isNaN)?t=(o,r)=>o-r:n||(t=(o,r)=>o>r&&-1||oY(o));return t.length?_(t[0])?t=Math[e](...t):t[0]instanceof Date&&(t=H(t,e==="min")[0]):t=void 0,t}const Le=(e,n,t=1)=>{const o=[],r=Math.max(0,Math.ceil((n-e)/t))|0;for(let i=e;i{const e=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(n,t,o=e())=>{n.dispatchEvent(new MouseEvent(t,o))}}catch(n){return(t,o,r=e())=>{const i=S.createEvent("MouseEvent");i.initMouseEvent(o,r.bubbles,r.cancelable,h,0,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),t.dispatchEvent(i)}}})(),touch:(e,n,t)=>{const o=new Touch(v({identifier:Date.now(),target:e,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},t));e.dispatchEvent(new TouchEvent(n,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[o],targetTouches:[],changedTouches:[o]}))}};function ke(e,n){let t=e;for(const o in n)t=t.replace(new RegExp(`{=${o}}`,"g"),n[o]);return t}function Ge(e){var n;let t;if(e instanceof Date)t=e;else if(b(e)){const{config:o,format:r}=this;t=(n=r.dataTime(o.data_xFormat)(e))!=null?n:new Date(e)}else _(e)&&!isNaN(e)&&(t=new Date(+e));return(!t||isNaN(+t))&&console&&console.error&&console.error(`Failed to parse x '${e}' to Date object`),t}function He(e){const n=e.attr("viewBox");return n?/(\d+(\.\d+)?){3}/.test(n):!1}function Ke(e,n,t=!1){const o=!!e.node;let r=!1;for(const[i,s]of Object.entries(n))if(r=o?e.style(i)===s:e.style[i]===s,t===!1&&r)break;return r}function We(){var e,n;return((e=document)==null?void 0:e.hidden)===!1||((n=document)==null?void 0:n.visibilityState)==="visible"}function Je(e,n){const{DocumentTouch:t,matchMedia:o,navigator:r}=window,i=o==null?void 0:o("(pointer:coarse)").matches;let s=!1;if(n)if(r&&"maxTouchPoints"in r)s=r.maxTouchPoints>0;else if("ontouchmove"in window||t&&document instanceof t)s=!0;else if(i)s=!0;else{const f=r.userAgent;s=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(f)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(f)}return e&&!i&&(o==null?void 0:o("(pointer:fine)").matches)&&"mouse"||s&&"touch"||"mouse"}function K(e,n){n()===!1?requestAnimationFrame(()=>K(e,n)):e()}function W(e){const n=this.config;let t,o,r;const i=()=>{const s=o.shift();if(s&&t&&g(t)&&s in t)return t=t[s],i();if(!s)return t};Object.keys(n).forEach(s=>{t=e,o=s.split("_"),r=i(),j(r)&&(n[s]=r)}),this.api&&(this.state.orgConfig=e)}var J=Object.defineProperty,Q=(e,n,t)=>n in e?J(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,x=(e,n,t)=>Q(e,typeof n!="symbol"?n+"":n,t);class A{constructor(n={}){x(this,"$$"),x(this,"options"),this.options=n}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(n=>{this[n]=null,delete this[n]})}}x(A,"version","3.14.2");class Z{constructor(){return{selector:void 0,extent:1,area:0}}}var ee=Object.defineProperty,te=(e,n,t)=>n in e?ee(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,ne=(e,n,t)=>te(e,typeof n!="symbol"?n+"":n,t);class oe extends A{constructor(n){return super(n),ne(this,"config"),this.config=new Z,this}$init(){W.call(this,this.options)}$redraw(){const{$$:{$el:n},config:{selector:t}}=this,o=t?n.main.selectAll(t):n.text;!o.empty()&&this.preventLabelOverlap(o)}generateVoronoi(n){const{$$:t}=this,{scale:o}=t,[r,i]=["x","y"].map(s=>o[s].domain());return[r[1],i[0]]=[i[0],r[1]],q.Delaunay.from(n).voronoi([...r,...i])}preventLabelOverlap(n){const{extent:t,area:o}=this.config,r=n.data().map(c=>[c.index,c.value]),i=this.generateVoronoi(r);let s=0;n.each(function(){const c=i.cellPolygon(s);if(c&&this){const[f,re]=r[s],[ie,se]=(0,P.polygonCentroid)(c),ce=Math.abs((0,P.polygonArea)(c)),d=Math.round(Math.atan2(se-re,ie-f)/Math.PI*2),le=t*(d===0?1:-1),ae=d===-1?-t:t+5,ue=Math.abs(d)===1?"middle":d===0?"start":"end";this.style.display=ce=Mr&&(Mr=Rr+1);!(Br=$r[Mr])&&++Mr=0;)(Tt=ut[_])&&(yt&&Tt.compareDocumentPosition(yt)^4&&yt.parentNode.insertBefore(Tt,yt),yt=Tt);return this}function W(R){R||(R=b);function M(or,cr){return or&&cr?R(or.__data__,cr.__data__):!or-!cr}for(var X=this._groups,ut=X.length,_=new Array(ut),yt=0;ytM?1:R>=M?0:NaN}function K(){var R=arguments[0];return arguments[0]=this,R.apply(null,arguments),this}function z(){return Array.from(this)}function it(){for(var R=this._groups,M=0,X=R.length;M=0&&(M=R.slice(0,X))!=="xmlns"&&(R=R.slice(X+1)),Bt.hasOwnProperty(M)?{space:Bt[M],local:R}:R}function Nt(R){return function(){this.removeAttribute(R)}}function at(R){return function(){this.removeAttributeNS(R.space,R.local)}}function ct(R,M){return function(){this.setAttribute(R,M)}}function Ot(R,M){return function(){this.setAttributeNS(R.space,R.local,M)}}function Ct(R,M){return function(){var X=M.apply(this,arguments);X==null?this.removeAttribute(R):this.setAttribute(R,X)}}function It(R,M){return function(){var X=M.apply(this,arguments);X==null?this.removeAttributeNS(R.space,R.local):this.setAttributeNS(R.space,R.local,X)}}function Ft(R,M){var X=Ut(R);if(arguments.length<2){var ut=this.node();return X.local?ut.getAttributeNS(X.space,X.local):ut.getAttribute(X)}return this.each((M==null?X.local?at:Nt:typeof M=="function"?X.local?It:Ct:X.local?Ot:ct)(X,M))}function Wt(R){return R.ownerDocument&&R.ownerDocument.defaultView||R.document&&R||R.defaultView}function Kt(R){return function(){this.style.removeProperty(R)}}function Gt(R,M,X){return function(){this.style.setProperty(R,M,X)}}function Mt(R,M,X){return function(){var ut=M.apply(this,arguments);ut==null?this.style.removeProperty(R):this.style.setProperty(R,ut,X)}}function bt(R,M,X){return arguments.length>1?this.each((M==null?Kt:typeof M=="function"?Mt:Gt)(R,M,X==null?"":X)):jt(this.node(),R)}function jt(R,M){return R.style.getPropertyValue(M)||Wt(R).getComputedStyle(R,null).getPropertyValue(M)}function Lt(R){return function(){delete this[R]}}function q(R,M){return function(){this[R]=M}}function st(R,M){return function(){var X=M.apply(this,arguments);X==null?delete this[R]:this[R]=X}}function Y(R,M){return arguments.length>1?this.each((M==null?Lt:typeof M=="function"?st:q)(R,M)):this.node()[R]}function xt(R){return R.trim().split(/^|\s+/)}function St(R){return R.classList||new gt(R)}function gt(R){this._node=R,this._names=xt(R.getAttribute("class")||"")}gt.prototype={add:function(R){var M=this._names.indexOf(R);M<0&&(this._names.push(R),this._node.setAttribute("class",this._names.join(" ")))},remove:function(R){var M=this._names.indexOf(R);M>=0&&(this._names.splice(M,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(R){return this._names.indexOf(R)>=0}};function ht(R,M){for(var X=St(R),ut=-1,_=M.length;++ut<_;)X.add(M[ut])}function Jt(R,M){for(var X=St(R),ut=-1,_=M.length;++ut<_;)X.remove(M[ut])}function Zt(R){return function(){ht(this,R)}}function V(R){return function(){Jt(this,R)}}function w(R,M){return function(){(M.apply(this,arguments)?ht:Jt)(this,R)}}function tt(R,M){var X=xt(R+"");if(arguments.length<2){for(var ut=St(this.node()),_=-1,yt=X.length;++_=0&&(X=M.slice(ut+1),M=M.slice(0,ut)),{type:M,name:X}})}function nr(R){return function(){var M=this.__on;if(M){for(var X=0,ut=-1,_=M.length,yt;X<_;++X)yt=M[X],(!R.type||yt.type===R.type)&&yt.name===R.name?this.removeEventListener(yt.type,yt.listener,yt.options):M[++ut]=yt;++ut?M.length=ut:delete this.__on}}}function er(R,M,X){return function(){var ut=this.__on,_,yt=Er(M);if(ut){for(var Tt=0,Pt=ut.length;TtM in R?ar(R,M,{enumerable:!0,configurable:!0,writable:!0,value:X}):R[M]=X,qt=(R,M,X)=>rt(R,typeof M!="symbol"?M+"":M,X);class vr{constructor(M={}){qt(this,"$$"),qt(this,"options"),this.options=M}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(M=>{this[M]=null,delete this[M]})}}qt(vr,"version","3.14.1");var Or=Object.defineProperty,Nr=(R,M,X)=>M in R?Or(R,M,{enumerable:!0,configurable:!0,writable:!0,value:X}):R[M]=X,Tr=(R,M,X)=>Nr(R,typeof M!="symbol"?M+"":M,X);const mr=class jr extends vr{constructor(M){return super(M),Tr(this,"$$"),this}$init(){const{$$:M}=this;M.findClosest=this.findClosest.bind(this),M.getBubbleR=this.getBubbleR.bind(this),M.pointExpandedR=this.pointExpandedR.bind(this)}pointExpandedR(M){const X=this.getBubbleR(M),{expandScale:ut=1}=this.options;return jr.raiseFocusedBubbleLayer(M),this.changeCursorPoint(),X*ut}static raiseFocusedBubbleLayer(M){M.raise&&rr(M.node().parentNode.parentNode).raise()}changeCursorPoint(){this.$$.$el.eventRect.style("cursor","pointer")}findClosest(M,X){const{$$:ut}=this;return M.filter(_=>_&&!ut.isBarType(_.id)).reduce((_,yt)=>ut.dist(yt,X){const or=this.getZData(Xt.values[0]);return[Math.min($t,or),Math.max(Vt,or)]},[1e4,0]),Pt=yt>0&&Tt===yt?0:_/Tt;return Math.abs(Pt)*(ut-X)+X}getZData(M){return this.$$.isBubbleZType(M)?this.$$.getBubbleZData(M.value,"z"):M.value}};Tr(mr,"version","0.0.1");let Gr=mr},85156:function(s,l,t){var r=t(23583),n=t(82453),e=TypeError;s.exports=function(a){if(r(a))return a;throw new e(n(a)+" is not a function")}},80042:function(s,l,t){var r=t(11051),n=t(82453),e=TypeError;s.exports=function(a){if(r(a))return a;throw new e(n(a)+" is not a constructor")}},53408:function(s,l,t){var r=t(52427),n=String,e=TypeError;s.exports=function(a){if(r(a))return a;throw new e("Can't set "+n(a)+" as a prototype")}},76602:function(s,l,t){var r=t(172).has;s.exports=function(n){return r(n),n}},23811:function(s,l,t){var r=t(18565),n=t(5406),e=t(7831).f,a=r("unscopables"),o=Array.prototype;o[a]===void 0&&e(o,a,{configurable:!0,value:n(null)}),s.exports=function(u){o[a][u]=!0}},24487:function(s,l,t){var r=t(22149).charAt;s.exports=function(n,e,a){return e+(a?r(n,e).length:1)}},12833:function(s,l,t){var r=t(95307),n=TypeError;s.exports=function(e,a){if(r(a,e))return e;throw new n("Incorrect invocation")}},25001:function(s,l,t){var r=t(37540),n=String,e=TypeError;s.exports=function(a){if(r(a))return a;throw new e(n(a)+" is not an object")}},3237:function(s){s.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},58360:function(s,l,t){var r=t(34246),n=t(84756),e=t(14274),a=r.ArrayBuffer,o=r.TypeError;s.exports=a&&n(a.prototype,"byteLength","get")||function(u){if(e(u)!=="ArrayBuffer")throw new o("ArrayBuffer expected");return u.byteLength}},30736:function(s,l,t){var r=t(34246),n=t(77422),e=t(58360),a=r.ArrayBuffer,o=a&&a.prototype,u=o&&n(o.slice);s.exports=function(i){if(e(i)!==0||!u)return!1;try{return u(i,0,0),!1}catch(v){return!0}}},72058:function(s,l,t){var r=t(72069);s.exports=r(function(){if(typeof ArrayBuffer=="function"){var n=new ArrayBuffer(8);Object.isExtensible(n)&&Object.defineProperty(n,"a",{value:8})}})},83843:function(s,l,t){var r=t(30736),n=TypeError;s.exports=function(e){if(r(e))throw new n("ArrayBuffer is detached");return e}},65006:function(s,l,t){var r=t(34246),n=t(11286),e=t(84756),a=t(9450),o=t(83843),u=t(58360),i=t(63741),v=t(99050),f=r.structuredClone,c=r.ArrayBuffer,d=r.DataView,h=Math.min,g=c.prototype,p=d.prototype,y=n(g.slice),m=e(g,"resizable","get"),I=e(g,"maxByteLength","get"),x=n(p.getInt8),S=n(p.setInt8);s.exports=(v||i)&&function(T,E,O){var A=u(T),C=E===void 0?A:a(E),P=!m||!m(T),N;if(o(T),v&&(T=f(T,{transfer:[T]}),A===C&&(O||P)))return T;if(A>=C&&(!O||P))N=y(T,0,C);else{var $=O&&!P&&I?{maxByteLength:I(T)}:void 0;N=new c(C,$);for(var U=new d(T),D=new d(N),F=h(C,A),L=0;L>8&255]},Ct=function(q){return[q&255,q>>8&255,q>>16&255,q>>24&255]},It=function(q){return q[3]<<24|q[2]<<16|q[1]<<8|q[0]},Ft=function(q){return Nt(p(q),23,4)},Wt=function(q){return Nt(q,52,8)},Kt=function(q,st,Y){i(q[U],st,{configurable:!0,get:function(){return Y(this)[st]}})},Gt=function(q,st,Y,xt){var St=j(q),gt=g(Y),ht=!!xt;if(gt+st>St.byteLength)throw new mt(F);var Jt=St.bytes,Zt=gt+St.byteOffset,V=S(Jt,Zt,Zt+st);return ht?V:Ut(V)},Mt=function(q,st,Y,xt,St,gt){var ht=j(q),Jt=g(Y),Zt=xt(+St),V=!!gt;if(Jt+st>ht.byteLength)throw new mt(F);for(var w=ht.bytes,tt=Jt+ht.byteOffset,k=0;kgt)throw new mt("Wrong offset");if(xt=xt===void 0?gt-ht:h(xt),ht+xt>gt)throw new mt(D);W(this,{type:$,buffer:st,byteLength:xt,byteOffset:ht,bytes:St.bytes}),e||(this.buffer=st,this.byteLength=xt,this.byteOffset=ht)},et=it[U],e&&(Kt(K,"byteLength",L),Kt(it,"buffer",j),Kt(it,"byteLength",j),Kt(it,"byteOffset",j)),v(et,{getInt8:function(st){return Gt(this,1,st)[0]<<24>>24},getUint8:function(st){return Gt(this,1,st)[0]},getInt16:function(st){var Y=Gt(this,2,st,arguments.length>1?arguments[1]:!1);return(Y[1]<<8|Y[0])<<16>>16},getUint16:function(st){var Y=Gt(this,2,st,arguments.length>1?arguments[1]:!1);return Y[1]<<8|Y[0]},getInt32:function(st){return It(Gt(this,4,st,arguments.length>1?arguments[1]:!1))},getUint32:function(st){return It(Gt(this,4,st,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(st){return at(Gt(this,4,st,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(st){return at(Gt(this,8,st,arguments.length>1?arguments[1]:!1),52)},setInt8:function(st,Y){Mt(this,1,st,ct,Y)},setUint8:function(st,Y){Mt(this,1,st,ct,Y)},setInt16:function(st,Y){Mt(this,2,st,Ot,Y,arguments.length>2?arguments[2]:!1)},setUint16:function(st,Y){Mt(this,2,st,Ot,Y,arguments.length>2?arguments[2]:!1)},setInt32:function(st,Y){Mt(this,4,st,Ct,Y,arguments.length>2?arguments[2]:!1)},setUint32:function(st,Y){Mt(this,4,st,Ct,Y,arguments.length>2?arguments[2]:!1)},setFloat32:function(st,Y){Mt(this,4,st,Ft,Y,arguments.length>2?arguments[2]:!1)},setFloat64:function(st,Y){Mt(this,8,st,Wt,Y,arguments.length>2?arguments[2]:!1)}});else{var bt=C&&b.name!==N;!f(function(){b(1)})||!f(function(){new b(-1)})||f(function(){return new b,new b(1.5),new b(NaN),b.length!==1||bt&&!P})?(K=function(st){return c(this,z),T(new b(g(st)),this,K)},K[U]=z,z.constructor=K,E(K,b)):bt&&P&&u(b,"name",N),I&&m(et)!==lt&&I(et,lt);var jt=new it(new K(2)),Lt=n(et.setInt8);jt.setInt8(0,2147483648),jt.setInt8(1,2147483649),(jt.getInt8(0)||!jt.getInt8(1))&&v(et,{setInt8:function(st,Y){Lt(this,st,Y<<24>>24)},setUint8:function(st,Y){Lt(this,st,Y<<24>>24)}},{unsafe:!0})}O(K,N),O(it,$),s.exports={ArrayBuffer:K,DataView:it}},81499:function(s,l,t){var r=t(49671),n=t(4652),e=t(82628),a=t(12384),o=Math.min;s.exports=[].copyWithin||function(i,v){var f=r(this),c=e(f),d=n(i,c),h=n(v,c),g=arguments.length>2?arguments[2]:void 0,p=o((g===void 0?c:n(g,c))-h,c-d),y=1;for(h0;)h in f?f[d]=f[h]:a(f,d),d+=y,h+=y;return f}},43011:function(s,l,t){var r=t(49671),n=t(4652),e=t(82628);s.exports=function(o){for(var u=r(this),i=e(u),v=arguments.length,f=n(v>1?arguments[1]:void 0,i),c=v>2?arguments[2]:void 0,d=c===void 0?i:n(c,i);d>f;)u[f++]=o;return u}},13349:function(s,l,t){var r=t(66655).forEach,n=t(6148),e=n("forEach");s.exports=e?[].forEach:function(o){return r(this,o,arguments.length>1?arguments[1]:void 0)}},5220:function(s,l,t){var r=t(82628);s.exports=function(n,e,a){for(var o=0,u=arguments.length>2?a:r(e),i=new n(u);u>o;)i[o]=e[o++];return i}},48258:function(s,l,t){var r=t(45526),n=t(96499),e=t(49671),a=t(39969),o=t(48199),u=t(11051),i=t(82628),v=t(84082),f=t(90619),c=t(81077),d=Array;s.exports=function(g){var p=e(g),y=u(this),m=arguments.length,I=m>1?arguments[1]:void 0,x=I!==void 0;x&&(I=r(I,m>2?arguments[2]:void 0));var S=c(p),T=0,E,O,A,C,P,N;if(S&&!(this===d&&o(S)))for(O=y?new this:[],C=f(p,S),P=C.next;!(A=n(P,C)).done;T++)N=x?a(C,I,[A.value,T],!0):A.value,v(O,T,N);else for(E=i(p),O=y?new this(E):d(E);E>T;T++)N=x?I(p[T],T):p[T],v(O,T,N);return O.length=T,O}},94319:function(s,l,t){var r=t(36859),n=t(4652),e=t(82628),a=function(o){return function(u,i,v){var f=r(u),c=e(f);if(c===0)return!o&&-1;var d=n(v,c),h;if(o&&i!==i){for(;c>d;)if(h=f[d++],h!==h)return!0}else for(;c>d;d++)if((o||d in f)&&f[d]===i)return o||d||0;return!o&&-1}};s.exports={includes:a(!0),indexOf:a(!1)}},73849:function(s,l,t){var r=t(45526),n=t(72181),e=t(49671),a=t(82628),o=function(u){var i=u===1;return function(v,f,c){for(var d=e(v),h=n(d),g=a(h),p=r(f,c),y,m;g-- >0;)if(y=h[g],m=p(y,g,d),m)switch(u){case 0:return y;case 1:return g}return i?-1:void 0}};s.exports={findLast:o(0),findLastIndex:o(1)}},66655:function(s,l,t){var r=t(45526),n=t(11286),e=t(72181),a=t(49671),o=t(82628),u=t(62083),i=n([].push),v=function(f){var c=f===1,d=f===2,h=f===3,g=f===4,p=f===6,y=f===7,m=f===5||p;return function(I,x,S,T){for(var E=a(I),O=e(E),A=o(O),C=r(x,S),P=0,N=T||u,$=c?N(I,A):d||y?N(I,0):void 0,U,D;A>P;P++)if((m||P in O)&&(U=O[P],D=C(U,P,E),f))if(c)$[P]=D;else if(D)switch(f){case 3:return!0;case 5:return U;case 6:return P;case 2:i($,U)}else switch(f){case 4:return!1;case 7:i($,U)}return p?-1:h||g?g:$}};s.exports={forEach:v(0),map:v(1),filter:v(2),some:v(3),every:v(4),find:v(5),findIndex:v(6),filterReject:v(7)}},58465:function(s,l,t){var r=t(66543),n=t(36859),e=t(12105),a=t(82628),o=t(6148),u=Math.min,i=[].lastIndexOf,v=!!i&&1/[1].lastIndexOf(1,-0)<0,f=o("lastIndexOf"),c=v||!f;s.exports=c?function(h){if(v)return r(i,this,arguments)||0;var g=n(this),p=a(g);if(p===0)return-1;var y=p-1;for(arguments.length>1&&(y=u(y,e(arguments[1]))),y<0&&(y=p+y);y>=0;y--)if(y in g&&g[y]===h)return y||0;return-1}:i},52183:function(s,l,t){var r=t(72069),n=t(18565),e=t(44241),a=n("species");s.exports=function(o){return e>=51||!r(function(){var u=[],i=u.constructor={};return i[a]=function(){return{foo:1}},u[o](Boolean).foo!==1})}},6148:function(s,l,t){var r=t(72069);s.exports=function(n,e){var a=[][n];return!!a&&r(function(){a.call(null,e||function(){return 1},1)})}},97264:function(s,l,t){var r=t(85156),n=t(49671),e=t(72181),a=t(82628),o=TypeError,u="Reduce of empty array with no initial value",i=function(v){return function(f,c,d,h){var g=n(f),p=e(g),y=a(g);if(r(c),y===0&&d<2)throw new o(u);var m=v?y-1:0,I=v?-1:1;if(d<2)for(;;){if(m in p){h=p[m],m+=I;break}if(m+=I,v?m<0:y<=m)throw new o(u)}for(;v?m>=0:y>m;m+=I)m in p&&(h=c(h,p[m],m,g));return h}};s.exports={left:i(!1),right:i(!0)}},2213:function(s,l,t){var r=t(92986),n=t(3438),e=TypeError,a=Object.getOwnPropertyDescriptor,o=r&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(u){return u instanceof TypeError}}();s.exports=o?function(u,i){if(n(u)&&!a(u,"length").writable)throw new e("Cannot set read only .length");return u.length=i}:function(u,i){return u.length=i}},22806:function(s,l,t){var r=t(11286);s.exports=r([].slice)},13270:function(s,l,t){var r=t(22806),n=Math.floor,e=function(a,o){var u=a.length;if(u<8)for(var i=1,v,f;i0;)a[f]=a[--f];f!==i++&&(a[f]=v)}else for(var c=n(u/2),d=e(r(a,0,c),o),h=e(r(a,c),o),g=d.length,p=h.length,y=0,m=0;y=v||c<0)throw new e("Incorrect index");for(var d=new o(v),h=0;h1?arguments[1]:void 0),D;D=D?D.next:$.first;)for(U(D.value,D.key,this);D&&D.removed;)D=D.previous},has:function(N){return!!C(this,N)}}),e(E,x?{get:function(N){var $=C(this,N);return $&&$.value},set:function(N,$){return A(this,N===0?0:N,$)}}:{add:function(N){return A(this,N=N===0?0:N,N)}}),d&&n(E,"size",{configurable:!0,get:function(){return O(this).size}}),T},setStrong:function(m,I,x){var S=I+" Iterator",T=y(I),E=y(S);v(m,I,function(O,A){p(this,{type:S,target:O,state:T(O),kind:A,last:null})},function(){for(var O=E(this),A=O.kind,C=O.last;C&&C.removed;)C=C.previous;return!O.target||!(O.last=C=C?C.next:O.state.first)?(O.target=null,f(void 0,!0)):f(A==="keys"?C.key:A==="values"?C.value:[C.key,C.value],!1)},x?"entries":"values",!x,!0),c(I)}}},94667:function(s,l,t){var r=t(11286),n=t(2725),e=t(31853).getWeakData,a=t(12833),o=t(25001),u=t(5683),i=t(37540),v=t(55902),f=t(66655),c=t(94879),d=t(82367),h=d.set,g=d.getterFor,p=f.find,y=f.findIndex,m=r([].splice),I=0,x=function(E){return E.frozen||(E.frozen=new S)},S=function(){this.entries=[]},T=function(E,O){return p(E.entries,function(A){return A[0]===O})};S.prototype={get:function(E){var O=T(this,E);if(O)return O[1]},has:function(E){return!!T(this,E)},set:function(E,O){var A=T(this,E);A?A[1]=O:this.entries.push([E,O])},delete:function(E){var O=y(this.entries,function(A){return A[0]===E});return~O&&m(this.entries,O,1),!!~O}},s.exports={getConstructor:function(E,O,A,C){var P=E(function(D,F){a(D,N),h(D,{type:O,id:I++,frozen:null}),u(F)||v(F,D[C],{that:D,AS_ENTRIES:A})}),N=P.prototype,$=g(O),U=function(D,F,L){var j=$(D),W=e(o(F),!0);return W===!0?x(j).set(F,L):W[j.id]=L,D};return n(N,{delete:function(D){var F=$(this);if(!i(D))return!1;var L=e(D);return L===!0?x(F).delete(D):L&&c(L,F.id)&&delete L[F.id]},has:function(F){var L=$(this);if(!i(F))return!1;var j=e(F);return j===!0?x(L).has(F):j&&c(j,L.id)}}),n(N,A?{get:function(F){var L=$(this);if(i(F)){var j=e(F);if(j===!0)return x(L).get(F);if(j)return j[L.id]}},set:function(F,L){return U(this,F,L)}}:{add:function(F){return U(this,F,!0)}}),P}}},89378:function(s,l,t){var r=t(14304),n=t(34246),e=t(11286),a=t(13278),o=t(16142),u=t(31853),i=t(55902),v=t(12833),f=t(23583),c=t(5683),d=t(37540),h=t(72069),g=t(97494),p=t(78401),y=t(32345);s.exports=function(m,I,x){var S=m.indexOf("Map")!==-1,T=m.indexOf("Weak")!==-1,E=S?"set":"add",O=n[m],A=O&&O.prototype,C=O,P={},N=function(W){var b=e(A[W]);o(A,W,W==="add"?function(z){return b(this,z===0?0:z),this}:W==="delete"?function(K){return T&&!d(K)?!1:b(this,K===0?0:K)}:W==="get"?function(z){return T&&!d(z)?void 0:b(this,z===0?0:z)}:W==="has"?function(z){return T&&!d(z)?!1:b(this,z===0?0:z)}:function(z,it){return b(this,z===0?0:z,it),this})},$=a(m,!f(O)||!(T||A.forEach&&!h(function(){new O().entries().next()})));if($)C=x.getConstructor(I,m,S,E),u.enable();else if(a(m,!0)){var U=new C,D=U[E](T?{}:-0,1)!==U,F=h(function(){U.has(1)}),L=g(function(W){new O(W)}),j=!T&&h(function(){for(var W=new O,b=5;b--;)W[E](b,b);return!W.has(-0)});L||(C=I(function(W,b){v(W,A);var K=y(new O,W,C);return c(b)||i(b,K[E],{that:K,AS_ENTRIES:S}),K}),C.prototype=A,A.constructor=C),(F||j)&&(N("delete"),N("has"),S&&N("get")),(j||D)&&N(E),T&&A.clear&&delete A.clear}return P[m]=C,r({global:!0,constructor:!0,forced:C!==O},P),p(C,m),T||x.setStrong(C,m,S),C}},93706:function(s,l,t){var r=t(94879),n=t(16885),e=t(71349),a=t(7831);s.exports=function(o,u,i){for(var v=n(u),f=a.f,c=e.f,d=0;d"+c+""}},10659:function(s){s.exports=function(l,t){return{value:l,done:t}}},90809:function(s,l,t){var r=t(92986),n=t(7831),e=t(18526);s.exports=r?function(a,o,u){return n.f(a,o,e(1,u))}:function(a,o,u){return a[o]=u,a}},18526:function(s){s.exports=function(l,t){return{enumerable:!(l&1),configurable:!(l&2),writable:!(l&4),value:t}}},84082:function(s,l,t){var r=t(92986),n=t(7831),e=t(18526);s.exports=function(a,o,u){r?n.f(a,o,e(0,u)):a[o]=u}},11890:function(s,l,t){var r=t(11286),n=t(72069),e=t(61607).start,a=RangeError,o=isFinite,u=Math.abs,i=Date.prototype,v=i.toISOString,f=r(i.getTime),c=r(i.getUTCDate),d=r(i.getUTCFullYear),h=r(i.getUTCHours),g=r(i.getUTCMilliseconds),p=r(i.getUTCMinutes),y=r(i.getUTCMonth),m=r(i.getUTCSeconds);s.exports=n(function(){return v.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!n(function(){v.call(new Date(NaN))})?function(){if(!o(f(this)))throw new a("Invalid time value");var x=this,S=d(x),T=g(x),E=S<0?"-":S>9999?"+":"";return E+e(u(S),E?6:4,0)+"-"+e(y(x)+1,2,0)+"-"+e(c(x),2,0)+"T"+e(h(x),2,0)+":"+e(p(x),2,0)+":"+e(m(x),2,0)+"."+e(T,3,0)+"Z"}:v},84306:function(s,l,t){var r=t(25001),n=t(2064),e=TypeError;s.exports=function(a){if(r(this),a==="string"||a==="default")a="string";else if(a!=="number")throw new e("Incorrect hint");return n(this,a)}},85500:function(s,l,t){var r=t(13749),n=t(7831);s.exports=function(e,a,o){return o.get&&r(o.get,a,{getter:!0}),o.set&&r(o.set,a,{setter:!0}),n.f(e,a,o)}},16142:function(s,l,t){var r=t(23583),n=t(7831),e=t(13749),a=t(36003);s.exports=function(o,u,i,v){v||(v={});var f=v.enumerable,c=v.name!==void 0?v.name:u;if(r(i)&&e(i,c,v),v.global)f?o[u]=i:a(u,i);else{try{v.unsafe?o[u]&&(f=!0):delete o[u]}catch(d){}f?o[u]=i:n.f(o,u,{value:i,enumerable:!1,configurable:!v.nonConfigurable,writable:!v.nonWritable})}return o}},2725:function(s,l,t){var r=t(16142);s.exports=function(n,e,a){for(var o in e)r(n,o,e[o],a);return n}},36003:function(s,l,t){var r=t(34246),n=Object.defineProperty;s.exports=function(e,a){try{n(r,e,{value:a,configurable:!0,writable:!0})}catch(o){r[e]=a}return a}},12384:function(s,l,t){var r=t(82453),n=TypeError;s.exports=function(e,a){if(!delete e[a])throw new n("Cannot delete property "+r(a)+" of "+r(e))}},92986:function(s,l,t){var r=t(72069);s.exports=!r(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},63741:function(s,l,t){var r=t(34246),n=t(81191),e=t(99050),a=r.structuredClone,o=r.ArrayBuffer,u=r.MessageChannel,i=!1,v,f,c,d;if(e)i=function(h){a(h,{transfer:[h]})};else if(o)try{u||(v=n("worker_threads"),v&&(u=v.MessageChannel)),u&&(f=new u,c=new o(2),d=function(h){f.port1.postMessage(null,[h])},c.byteLength===2&&(d(c),c.byteLength===0&&(i=d)))}catch(h){}s.exports=i},85501:function(s,l,t){var r=t(34246),n=t(37540),e=r.document,a=n(e)&&n(e.createElement);s.exports=function(o){return a?e.createElement(o):{}}},20095:function(s){var l=TypeError,t=9007199254740991;s.exports=function(r){if(r>t)throw l("Maximum allowed index exceeded");return r}},74408:function(s){s.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},93014:function(s){s.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},39882:function(s,l,t){var r=t(85501),n=r("span").classList,e=n&&n.constructor&&n.constructor.prototype;s.exports=e===Object.prototype?void 0:e},75785:function(s){s.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},507:function(s,l,t){var r=t(18257),n=r.match(/firefox\/(\d+)/i);s.exports=!!n&&+n[1]},17417:function(s,l,t){var r=t(18257);s.exports=/MSIE|Trident/.test(r)},7307:function(s,l,t){var r=t(18257);s.exports=/ipad|iphone|ipod/i.test(r)&&typeof Pebble!="undefined"},5286:function(s,l,t){var r=t(18257);s.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(r)},91707:function(s,l,t){var r=t(21501);s.exports=r==="NODE"},67722:function(s,l,t){var r=t(18257);s.exports=/web0s(?!.*chrome)/i.test(r)},18257:function(s,l,t){var r=t(34246),n=r.navigator,e=n&&n.userAgent;s.exports=e?String(e):""},44241:function(s,l,t){var r=t(34246),n=t(18257),e=r.process,a=r.Deno,o=e&&e.versions||a&&a.version,u=o&&o.v8,i,v;u&&(i=u.split("."),v=i[0]>0&&i[0]<4?1:+(i[0]+i[1])),!v&&n&&(i=n.match(/Edge\/(\d+)/),(!i||i[1]>=74)&&(i=n.match(/Chrome\/(\d+)/),i&&(v=+i[1]))),s.exports=v},66577:function(s,l,t){var r=t(18257),n=r.match(/AppleWebKit\/(\d+)\./);s.exports=!!n&&+n[1]},21501:function(s,l,t){var r=t(34246),n=t(18257),e=t(14274),a=function(o){return n.slice(0,o.length)===o};s.exports=function(){return a("Bun/")?"BUN":a("Cloudflare-Workers")?"CLOUDFLARE":a("Deno/")?"DENO":a("Node.js/")?"NODE":r.Bun&&typeof Bun.version=="string"?"BUN":r.Deno&&typeof Deno.version=="object"?"DENO":e(r.process)==="process"?"NODE":r.window&&r.document?"BROWSER":"REST"}()},40851:function(s,l,t){var r=t(11286),n=Error,e=r("".replace),a=function(i){return String(new n(i).stack)}("zxcasd"),o=/\n\s*at [^:]*:[^\n]*/,u=o.test(a);s.exports=function(i,v){if(u&&typeof i=="string"&&!n.prepareStackTrace)for(;v--;)i=e(i,o,"");return i}},97077:function(s,l,t){var r=t(90809),n=t(40851),e=t(16929),a=Error.captureStackTrace;s.exports=function(o,u,i,v){e&&(a?a(o,u):r(o,"stack",n(i,v)))}},16929:function(s,l,t){var r=t(72069),n=t(18526);s.exports=!r(function(){var e=new Error("a");return"stack"in e?(Object.defineProperty(e,"stack",n(1,7)),e.stack!==7):!0})},58434:function(s,l,t){var r=t(92986),n=t(72069),e=t(25001),a=t(15453),o=Error.prototype.toString,u=n(function(){if(r){var i=Object.create(Object.defineProperty({},"name",{get:function(){return this===i}}));if(o.call(i)!=="true")return!0}return o.call({message:1,name:2})!=="2: 1"||o.call({})!=="Error"});s.exports=u?function(){var v=e(this),f=a(v.name,"Error"),c=a(v.message);return f?c?f+": "+c:f:c}:o},14304:function(s,l,t){var r=t(34246),n=t(71349).f,e=t(90809),a=t(16142),o=t(36003),u=t(93706),i=t(13278);s.exports=function(v,f){var c=v.target,d=v.global,h=v.stat,g,p,y,m,I,x;if(d?p=r:h?p=r[c]||o(c,{}):p=r[c]&&r[c].prototype,p)for(y in f){if(I=f[y],v.dontCallGetSet?(x=n(p,y),m=x&&x.value):m=p[y],g=i(d?y:c+(h?".":"#")+y,v.forced),!g&&m!==void 0){if(typeof I==typeof m)continue;u(I,m)}(v.sham||m&&m.sham)&&e(I,"sham",!0),a(p,y,I,v)}}},72069:function(s){s.exports=function(l){try{return!!l()}catch(t){return!0}}},63194:function(s,l,t){t(31145);var r=t(96499),n=t(16142),e=t(44381),a=t(72069),o=t(18565),u=t(90809),i=o("species"),v=RegExp.prototype;s.exports=function(f,c,d,h){var g=o(f),p=!a(function(){var x={};return x[g]=function(){return 7},""[f](x)!==7}),y=p&&!a(function(){var x=!1,S=/a/;return f==="split"&&(S={},S.constructor={},S.constructor[i]=function(){return S},S.flags="",S[g]=/./[g]),S.exec=function(){return x=!0,null},S[g](""),!x});if(!p||!y||d){var m=/./[g],I=c(g,""[f],function(x,S,T,E,O){var A=S.exec;return A===e||A===v.exec?p&&!O?{done:!0,value:r(m,S,T,E)}:{done:!0,value:r(x,T,S,E)}:{done:!1}});n(String.prototype,f,I[0]),n(v,g,I[1])}h&&u(v[g],"sham",!0)}},53149:function(s,l,t){var r=t(3438),n=t(82628),e=t(20095),a=t(45526),o=function(u,i,v,f,c,d,h,g){for(var p=c,y=0,m=h?a(h,g):!1,I,x;y0&&r(I)?(x=n(I),p=o(u,i,I,x,p,d-1)-1):(e(p+1),u[p]=I),p++),y++;return p};s.exports=o},27534:function(s,l,t){var r=t(72069);s.exports=!r(function(){return Object.isExtensible(Object.preventExtensions({}))})},66543:function(s,l,t){var r=t(87878),n=Function.prototype,e=n.apply,a=n.call;s.exports=typeof Reflect=="object"&&Reflect.apply||(r?a.bind(e):function(){return a.apply(e,arguments)})},45526:function(s,l,t){var r=t(77422),n=t(85156),e=t(87878),a=r(r.bind);s.exports=function(o,u){return n(o),u===void 0?o:e?a(o,u):function(){return o.apply(u,arguments)}}},87878:function(s,l,t){var r=t(72069);s.exports=!r(function(){var n=function(){}.bind();return typeof n!="function"||n.hasOwnProperty("prototype")})},91384:function(s,l,t){var r=t(11286),n=t(85156),e=t(37540),a=t(94879),o=t(22806),u=t(87878),i=Function,v=r([].concat),f=r([].join),c={},d=function(h,g,p){if(!a(c,g)){for(var y=[],m=0;m]*>)/g,v=/\$([$&'`]|\d{1,2})/g;s.exports=function(f,c,d,h,g,p){var y=d+f.length,m=h.length,I=v;return g!==void 0&&(g=n(g),I=i),o(p,I,function(x,S){var T;switch(a(S,0)){case"$":return"$";case"&":return f;case"`":return u(c,0,d);case"'":return u(c,y);case"<":T=g[u(S,1,-1)];break;default:var E=+S;if(E===0)return x;if(E>m){var O=e(E/10);return O===0?x:O<=m?h[O-1]===void 0?a(S,1):h[O-1]+a(S,1):x}T=h[E-1]}return T===void 0?"":T})}},34246:function(s){var l=function(t){return t&&t.Math===Math&&t};s.exports=l(typeof globalThis=="object"&&globalThis)||l(typeof window=="object"&&window)||l(typeof self=="object"&&self)||l(typeof global=="object"&&global)||l(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},94879:function(s,l,t){var r=t(11286),n=t(49671),e=r({}.hasOwnProperty);s.exports=Object.hasOwn||function(o,u){return e(n(o),u)}},19423:function(s){s.exports={}},99095:function(s){s.exports=function(l,t){try{arguments.length===1?console.error(l):console.error(l,t)}catch(r){}}},96439:function(s,l,t){var r=t(38941);s.exports=r("document","documentElement")},52515:function(s,l,t){var r=t(92986),n=t(72069),e=t(85501);s.exports=!r&&!n(function(){return Object.defineProperty(e("div"),"a",{get:function(){return 7}}).a!==7})},25212:function(s){var l=Array,t=Math.abs,r=Math.pow,n=Math.floor,e=Math.log,a=Math.LN2,o=function(i,v,f){var c=l(f),d=f*8-v-1,h=(1<>1,p=v===23?r(2,-24)-r(2,-77):0,y=i<0||i===0&&1/i<0?1:0,m=0,I,x,S;for(i=t(i),i!==i||i===1/0?(x=i!==i?1:0,I=h):(I=n(e(i)/a),S=r(2,-I),i*S<1&&(I--,S*=2),I+g>=1?i+=p/S:i+=p*r(2,1-g),i*S>=2&&(I++,S/=2),I+g>=h?(x=0,I=h):I+g>=1?(x=(i*S-1)*r(2,v),I+=g):(x=i*r(2,g-1)*r(2,v),I=0));v>=8;)c[m++]=x&255,x/=256,v-=8;for(I=I<0;)c[m++]=I&255,I/=256,d-=8;return c[m-1]|=y*128,c},u=function(i,v){var f=i.length,c=f*8-v-1,d=(1<>1,g=c-7,p=f-1,y=i[p--],m=y&127,I;for(y>>=7;g>0;)m=m*256+i[p--],g-=8;for(I=m&(1<<-g)-1,m>>=-g,g+=v;g>0;)I=I*256+i[p--],g-=8;if(m===0)m=1-h;else{if(m===d)return I?NaN:y?-1/0:1/0;I+=r(2,v),m-=h}return(y?-1:1)*I*r(2,m-v)};s.exports={pack:o,unpack:u}},72181:function(s,l,t){var r=t(11286),n=t(72069),e=t(14274),a=Object,o=r("".split);s.exports=n(function(){return!a("z").propertyIsEnumerable(0)})?function(u){return e(u)==="String"?o(u,""):a(u)}:a},32345:function(s,l,t){var r=t(23583),n=t(37540),e=t(15861);s.exports=function(a,o,u){var i,v;return e&&r(i=o.constructor)&&i!==u&&n(v=i.prototype)&&v!==u.prototype&&e(a,v),a}},84352:function(s,l,t){var r=t(11286),n=t(23583),e=t(70443),a=r(Function.toString);n(e.inspectSource)||(e.inspectSource=function(o){return a(o)}),s.exports=e.inspectSource},31486:function(s,l,t){var r=t(37540),n=t(90809);s.exports=function(e,a){r(a)&&"cause"in a&&n(e,"cause",a.cause)}},31853:function(s,l,t){var r=t(14304),n=t(11286),e=t(19423),a=t(37540),o=t(94879),u=t(7831).f,i=t(83258),v=t(92880),f=t(28174),c=t(36374),d=t(27534),h=!1,g=c("meta"),p=0,y=function(E){u(E,g,{value:{objectID:"O"+p++,weakData:{}}})},m=function(E,O){if(!a(E))return typeof E=="symbol"?E:(typeof E=="string"?"S":"P")+E;if(!o(E,g)){if(!f(E))return"F";if(!O)return"E";y(E)}return E[g].objectID},I=function(E,O){if(!o(E,g)){if(!f(E))return!0;if(!O)return!1;y(E)}return E[g].weakData},x=function(E){return d&&h&&f(E)&&!o(E,g)&&y(E),E},S=function(){T.enable=function(){},h=!0;var E=i.f,O=n([].splice),A={};A[g]=1,E(A).length&&(i.f=function(C){for(var P=E(C),N=0,$=P.length;N<$;N++)if(P[N]===g){O(P,N,1);break}return P},r({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:v.f}))},T=s.exports={enable:S,fastKey:m,getWeakData:I,onFreeze:x};e[g]=!0},82367:function(s,l,t){var r=t(42960),n=t(34246),e=t(37540),a=t(90809),o=t(94879),u=t(70443),i=t(44869),v=t(19423),f="Object already initialized",c=n.TypeError,d=n.WeakMap,h,g,p,y=function(S){return p(S)?g(S):h(S,{})},m=function(S){return function(T){var E;if(!e(T)||(E=g(T)).type!==S)throw new c("Incompatible receiver, "+S+" required");return E}};if(r||u.state){var I=u.state||(u.state=new d);I.get=I.get,I.has=I.has,I.set=I.set,h=function(S,T){if(I.has(S))throw new c(f);return T.facade=S,I.set(S,T),T},g=function(S){return I.get(S)||{}},p=function(S){return I.has(S)}}else{var x=i("state");v[x]=!0,h=function(S,T){if(o(S,x))throw new c(f);return T.facade=S,a(S,x,T),T},g=function(S){return o(S,x)?S[x]:{}},p=function(S){return o(S,x)}}s.exports={set:h,get:g,has:p,enforce:y,getterFor:m}},48199:function(s,l,t){var r=t(18565),n=t(29107),e=r("iterator"),a=Array.prototype;s.exports=function(o){return o!==void 0&&(n.Array===o||a[e]===o)}},3438:function(s,l,t){var r=t(14274);s.exports=Array.isArray||function(e){return r(e)==="Array"}},77129:function(s,l,t){var r=t(9205);s.exports=function(n){var e=r(n);return e==="BigInt64Array"||e==="BigUint64Array"}},23583:function(s){var l=typeof document=="object"&&document.all;s.exports=typeof l=="undefined"&&l!==void 0?function(t){return typeof t=="function"||t===l}:function(t){return typeof t=="function"}},11051:function(s,l,t){var r=t(11286),n=t(72069),e=t(23583),a=t(9205),o=t(38941),u=t(84352),i=function(){},v=o("Reflect","construct"),f=/^\s*(?:class|function)\b/,c=r(f.exec),d=!f.test(i),h=function(y){if(!e(y))return!1;try{return v(i,[],y),!0}catch(m){return!1}},g=function(y){if(!e(y))return!1;switch(a(y)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return d||!!c(f,u(y))}catch(m){return!0}};g.sham=!0,s.exports=!v||n(function(){var p;return h(h.call)||!h(Object)||!h(function(){p=!0})||p})?g:h},69745:function(s,l,t){var r=t(94879);s.exports=function(n){return n!==void 0&&(r(n,"value")||r(n,"writable"))}},13278:function(s,l,t){var r=t(72069),n=t(23583),e=/#|\.prototype\./,a=function(f,c){var d=u[o(f)];return d===v?!0:d===i?!1:n(c)?r(c):!!c},o=a.normalize=function(f){return String(f).replace(e,".").toLowerCase()},u=a.data={},i=a.NATIVE="N",v=a.POLYFILL="P";s.exports=a},613:function(s,l,t){var r=t(37540),n=Math.floor;s.exports=Number.isInteger||function(a){return!r(a)&&isFinite(a)&&n(a)===a}},5683:function(s){s.exports=function(l){return l==null}},37540:function(s,l,t){var r=t(23583);s.exports=function(n){return typeof n=="object"?n!==null:r(n)}},52427:function(s,l,t){var r=t(37540);s.exports=function(n){return r(n)||n===null}},70457:function(s){s.exports=!1},11566:function(s,l,t){var r=t(37540),n=t(14274),e=t(18565),a=e("match");s.exports=function(o){var u;return r(o)&&((u=o[a])!==void 0?!!u:n(o)==="RegExp")}},491:function(s,l,t){var r=t(38941),n=t(23583),e=t(95307),a=t(50234),o=Object;s.exports=a?function(u){return typeof u=="symbol"}:function(u){var i=r("Symbol");return n(i)&&e(i.prototype,o(u))}},9573:function(s,l,t){var r=t(96499);s.exports=function(n,e,a){for(var o=a?n:n.iterator,u=n.next,i,v;!(i=r(u,o)).done;)if(v=e(i.value),v!==void 0)return v}},55902:function(s,l,t){var r=t(45526),n=t(96499),e=t(25001),a=t(82453),o=t(48199),u=t(82628),i=t(95307),v=t(90619),f=t(81077),c=t(99797),d=TypeError,h=function(p,y){this.stopped=p,this.result=y},g=h.prototype;s.exports=function(p,y,m){var I=m&&m.that,x=!!(m&&m.AS_ENTRIES),S=!!(m&&m.IS_RECORD),T=!!(m&&m.IS_ITERATOR),E=!!(m&&m.INTERRUPTED),O=r(y,I),A,C,P,N,$,U,D,F=function(j){return A&&c(A,"normal",j),new h(!0,j)},L=function(j){return x?(e(j),E?O(j[0],j[1],F):O(j[0],j[1])):E?O(j,F):O(j)};if(S)A=p.iterator;else if(T)A=p;else{if(C=f(p),!C)throw new d(a(p)+" is not iterable");if(o(C)){for(P=0,N=u(p);N>P;P++)if($=L(p[P]),$&&i(g,$))return $;return new h(!1)}A=v(p,C)}for(U=S?p.next:A.next;!(D=n(U,A)).done;){try{$=L(D.value)}catch(j){c(A,"throw",j)}if(typeof $=="object"&&$&&i(g,$))return $}return new h(!1)}},99797:function(s,l,t){var r=t(96499),n=t(25001),e=t(10512);s.exports=function(a,o,u){var i,v;n(a);try{if(i=e(a,"return"),!i){if(o==="throw")throw u;return u}i=r(i,a)}catch(f){v=!0,i=f}if(o==="throw")throw u;if(v)throw i;return n(i),u}},26820:function(s,l,t){var r=t(24519).IteratorPrototype,n=t(5406),e=t(18526),a=t(78401),o=t(29107),u=function(){return this};s.exports=function(i,v,f,c){var d=v+" Iterator";return i.prototype=n(r,{next:e(+!c,f)}),a(i,d,!1,!0),o[d]=u,i}},44736:function(s,l,t){var r=t(96499),n=t(5406),e=t(90809),a=t(2725),o=t(18565),u=t(82367),i=t(10512),v=t(24519).IteratorPrototype,f=t(10659),c=t(99797),d=o("toStringTag"),h="IteratorHelper",g="WrapForValidIterator",p=u.set,y=function(x){var S=u.getterFor(x?g:h);return a(n(v),{next:function(){var E=S(this);if(x)return E.nextHandler();try{var O=E.done?void 0:E.nextHandler();return f(O,E.done)}catch(A){throw E.done=!0,A}},return:function(){var T=S(this),E=T.iterator;if(T.done=!0,x){var O=i(E,"return");return O?r(O,E):f(void 0,!0)}if(T.inner)try{c(T.inner.iterator,"normal")}catch(A){return c(E,"throw",A)}return E&&c(E,"normal"),f(void 0,!0)}})},m=y(!0),I=y(!1);e(I,d,"Iterator Helper"),s.exports=function(x,S){var T=function(O,A){A?(A.iterator=O.iterator,A.next=O.next):A=O,A.type=S?g:h,A.nextHandler=x,A.counter=0,A.done=!1,p(this,A)};return T.prototype=S?m:I,T}},10218:function(s,l,t){var r=t(14304),n=t(96499),e=t(70457),a=t(86588),o=t(23583),u=t(26820),i=t(26313),v=t(15861),f=t(78401),c=t(90809),d=t(16142),h=t(18565),g=t(29107),p=t(24519),y=a.PROPER,m=a.CONFIGURABLE,I=p.IteratorPrototype,x=p.BUGGY_SAFARI_ITERATORS,S=h("iterator"),T="keys",E="values",O="entries",A=function(){return this};s.exports=function(C,P,N,$,U,D,F){u(N,P,$);var L=function(mt){if(mt===U&&z)return z;if(!x&&mt&&mt in b)return b[mt];switch(mt){case T:return function(){return new N(this,mt)};case E:return function(){return new N(this,mt)};case O:return function(){return new N(this,mt)}}return function(){return new N(this)}},j=P+" Iterator",W=!1,b=C.prototype,K=b[S]||b["@@iterator"]||U&&b[U],z=!x&&K||L(U),it=P==="Array"&&b.entries||K,et,lt,pt;if(it&&(et=i(it.call(new C)),et!==Object.prototype&&et.next&&(!e&&i(et)!==I&&(v?v(et,I):o(et[S])||d(et,S,A)),f(et,j,!0,!0),e&&(g[j]=A))),y&&U===E&&K&&K.name!==E&&(!e&&m?c(b,"name",E):(W=!0,z=function(){return n(K,this)})),U)if(lt={values:L(E),keys:D?z:L(T),entries:L(O)},F)for(pt in lt)(x||W||!(pt in b))&&d(b,pt,lt[pt]);else r({target:P,proto:!0,forced:x||W},lt);return(!e||F)&&b[S]!==z&&d(b,S,z,{name:U}),g[P]=z,lt}},96191:function(s,l,t){var r=t(96499),n=t(85156),e=t(25001),a=t(10613),o=t(44736),u=t(39969),i=o(function(){var v=this.iterator,f=e(r(this.next,v)),c=this.done=!!f.done;if(!c)return u(v,this.mapper,[f.value,this.counter++],!0)});s.exports=function(f){return e(this),n(f),new i(a(this),{mapper:f})}},24519:function(s,l,t){var r=t(72069),n=t(23583),e=t(37540),a=t(5406),o=t(26313),u=t(16142),i=t(18565),v=t(70457),f=i("iterator"),c=!1,d,h,g;[].keys&&(g=[].keys(),"next"in g?(h=o(o(g)),h!==Object.prototype&&(d=h)):c=!0);var p=!e(d)||r(function(){var y={};return d[f].call(y)!==y});p?d={}:v&&(d=a(d)),n(d[f])||u(d,f,function(){return this}),s.exports={IteratorPrototype:d,BUGGY_SAFARI_ITERATORS:c}},29107:function(s){s.exports={}},82628:function(s,l,t){var r=t(45344);s.exports=function(n){return r(n.length)}},13749:function(s,l,t){var r=t(11286),n=t(72069),e=t(23583),a=t(94879),o=t(92986),u=t(86588).CONFIGURABLE,i=t(84352),v=t(82367),f=v.enforce,c=v.get,d=String,h=Object.defineProperty,g=r("".slice),p=r("".replace),y=r([].join),m=o&&!n(function(){return h(function(){},"length",{value:8}).length!==8}),I=String(String).split("String"),x=s.exports=function(S,T,E){g(d(T),0,7)==="Symbol("&&(T="["+p(d(T),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),E&&E.getter&&(T="get "+T),E&&E.setter&&(T="set "+T),(!a(S,"name")||u&&S.name!==T)&&(o?h(S,"name",{value:T,configurable:!0}):S.name=T),m&&E&&a(E,"arity")&&S.length!==E.arity&&h(S,"length",{value:E.arity});try{E&&a(E,"constructor")&&E.constructor?o&&h(S,"prototype",{writable:!1}):S.prototype&&(S.prototype=void 0)}catch(A){}var O=f(S);return a(O,"source")||(O.source=y(I,typeof T=="string"?T:"")),S};Function.prototype.toString=x(function(){return e(this)&&c(this).source||i(this)},"toString")},1774:function(s,l,t){var r=t(11286),n=Map.prototype;s.exports={Map,set:r(n.set),get:r(n.get),has:r(n.has),remove:r(n.delete),proto:n}},98940:function(s){var l=Math.expm1,t=Math.exp;s.exports=!l||l(10)>22025.465794806718||l(10)<22025.465794806718||l(-2e-17)!==-2e-17?function(n){var e=+n;return e===0?e:e>-1e-6&&e<1e-6?e+e*e/2:t(e)-1}:l},10418:function(s,l,t){var r=t(93976),n=Math.abs,e=2220446049250313e-31,a=1/e,o=function(u){return u+a-a};s.exports=function(u,i,v,f){var c=+u,d=n(c),h=r(c);if(dv||p!==p?h*(1/0):h*p}},93279:function(s,l,t){var r=t(10418),n=11920928955078125e-23,e=34028234663852886e22,a=11754943508222875e-54;s.exports=Math.fround||function(u){return r(u,n,e,a)}},41942:function(s){var l=Math.log,t=Math.LOG10E;s.exports=Math.log10||function(n){return l(n)*t}},49366:function(s){var l=Math.log;s.exports=Math.log1p||function(r){var n=+r;return n>-1e-8&&n<1e-8?n-n*n/2:l(1+n)}},93976:function(s){s.exports=Math.sign||function(t){var r=+t;return r===0||r!==r?r:r<0?-1:1}},22459:function(s){var l=Math.ceil,t=Math.floor;s.exports=Math.trunc||function(n){var e=+n;return(e>0?t:l)(e)}},9709:function(s,l,t){var r=t(34246),n=t(28167),e=t(45526),a=t(23115).set,o=t(76895),u=t(5286),i=t(7307),v=t(67722),f=t(91707),c=r.MutationObserver||r.WebKitMutationObserver,d=r.document,h=r.process,g=r.Promise,p=n("queueMicrotask"),y,m,I,x,S;if(!p){var T=new o,E=function(){var O,A;for(f&&(O=h.domain)&&O.exit();A=T.get();)try{A()}catch(C){throw T.head&&y(),C}O&&O.enter()};!u&&!f&&!v&&c&&d?(m=!0,I=d.createTextNode(""),new c(E).observe(I,{characterData:!0}),y=function(){I.data=m=!m}):!i&&g&&g.resolve?(x=g.resolve(void 0),x.constructor=g,S=e(x.then,x),y=function(){S(E)}):f?y=function(){h.nextTick(E)}:(a=e(a,r),y=function(){a(E)}),p=function(O){T.head||y(),T.add(O)}}s.exports=p},24649:function(s,l,t){var r=t(85156),n=TypeError,e=function(a){var o,u;this.promise=new a(function(i,v){if(o!==void 0||u!==void 0)throw new n("Bad Promise constructor");o=i,u=v}),this.resolve=r(o),this.reject=r(u)};s.exports.f=function(a){return new e(a)}},15453:function(s,l,t){var r=t(17361);s.exports=function(n,e){return n===void 0?arguments.length<2?"":e:r(n)}},93483:function(s){var l=RangeError;s.exports=function(t){if(t===t)return t;throw new l("NaN is not allowed")}},92337:function(s,l,t){var r=t(11566),n=TypeError;s.exports=function(e){if(r(e))throw new n("The method doesn't accept regular expressions");return e}},98074:function(s,l,t){var r=t(34246),n=r.isFinite;s.exports=Number.isFinite||function(a){return typeof a=="number"&&n(a)}},25838:function(s,l,t){var r=t(34246),n=t(72069),e=t(11286),a=t(17361),o=t(85900).trim,u=t(77082),i=e("".charAt),v=r.parseFloat,f=r.Symbol,c=f&&f.iterator,d=1/v(u+"-0")!==-1/0||c&&!n(function(){v(Object(c))});s.exports=d?function(g){var p=o(a(g)),y=v(p);return y===0&&i(p,0)==="-"?-0:y}:v},23009:function(s,l,t){var r=t(34246),n=t(72069),e=t(11286),a=t(17361),o=t(85900).trim,u=t(77082),i=r.parseInt,v=r.Symbol,f=v&&v.iterator,c=/^[+-]?0x/i,d=e(c.exec),h=i(u+"08")!==8||i(u+"0x16")!==22||f&&!n(function(){i(Object(f))});s.exports=h?function(p,y){var m=o(a(p));return i(m,y>>>0||(d(c,m)?16:10))}:i},16667:function(s,l,t){var r=t(92986),n=t(11286),e=t(96499),a=t(72069),o=t(18350),u=t(24943),i=t(79591),v=t(49671),f=t(72181),c=Object.assign,d=Object.defineProperty,h=n([].concat);s.exports=!c||a(function(){if(r&&c({b:1},c(d({},"a",{enumerable:!0,get:function(){d(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var g={},p={},y=Symbol("assign detection"),m="abcdefghijklmnopqrst";return g[y]=7,m.split("").forEach(function(I){p[I]=I}),c({},g)[y]!==7||o(c({},p)).join("")!==m})?function(p,y){for(var m=v(p),I=arguments.length,x=1,S=u.f,T=i.f;I>x;)for(var E=f(arguments[x++]),O=S?h(o(E),S(E)):o(E),A=O.length,C=0,P;A>C;)P=O[C++],(!r||e(T,E,P))&&(m[P]=E[P]);return m}:c},5406:function(s,l,t){var r=t(25001),n=t(61963),e=t(75785),a=t(19423),o=t(96439),u=t(85501),i=t(44869),v=">",f="<",c="prototype",d="script",h=i("IE_PROTO"),g=function(){},p=function(S){return f+d+v+S+f+"/"+d+v},y=function(S){S.write(p("")),S.close();var T=S.parentWindow.Object;return S=null,T},m=function(){var S=u("iframe"),T="java"+d+":",E;return S.style.display="none",o.appendChild(S),S.src=String(T),E=S.contentWindow.document,E.open(),E.write(p("document.F=Object")),E.close(),E.F},I,x=function(){try{I=new ActiveXObject("htmlfile")}catch(T){}x=typeof document!="undefined"?document.domain&&I?y(I):m():y(I);for(var S=e.length;S--;)delete x[c][e[S]];return x()};a[h]=!0,s.exports=Object.create||function(T,E){var O;return T!==null?(g[c]=r(T),O=new g,g[c]=null,O[h]=T):O=x(),E===void 0?O:n.f(O,E)}},61963:function(s,l,t){var r=t(92986),n=t(356),e=t(7831),a=t(25001),o=t(36859),u=t(18350);l.f=r&&!n?Object.defineProperties:function(v,f){a(v);for(var c=o(f),d=u(f),h=d.length,g=0,p;h>g;)e.f(v,p=d[g++],c[p]);return v}},7831:function(s,l,t){var r=t(92986),n=t(52515),e=t(356),a=t(25001),o=t(50035),u=TypeError,i=Object.defineProperty,v=Object.getOwnPropertyDescriptor,f="enumerable",c="configurable",d="writable";l.f=r?e?function(g,p,y){if(a(g),p=o(p),a(y),typeof g=="function"&&p==="prototype"&&"value"in y&&d in y&&!y[d]){var m=v(g,p);m&&m[d]&&(g[p]=y.value,y={configurable:c in y?y[c]:m[c],enumerable:f in y?y[f]:m[f],writable:!1})}return i(g,p,y)}:i:function(g,p,y){if(a(g),p=o(p),a(y),n)try{return i(g,p,y)}catch(m){}if("get"in y||"set"in y)throw new u("Accessors not supported");return"value"in y&&(g[p]=y.value),g}},71349:function(s,l,t){var r=t(92986),n=t(96499),e=t(79591),a=t(18526),o=t(36859),u=t(50035),i=t(94879),v=t(52515),f=Object.getOwnPropertyDescriptor;l.f=r?f:function(d,h){if(d=o(d),h=u(h),v)try{return f(d,h)}catch(g){}if(i(d,h))return a(!n(e.f,d,h),d[h])}},92880:function(s,l,t){var r=t(14274),n=t(36859),e=t(83258).f,a=t(22806),o=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(i){try{return e(i)}catch(v){return a(o)}};s.exports.f=function(v){return o&&r(v)==="Window"?u(v):e(n(v))}},83258:function(s,l,t){var r=t(6242),n=t(75785),e=n.concat("length","prototype");l.f=Object.getOwnPropertyNames||function(o){return r(o,e)}},24943:function(s,l){l.f=Object.getOwnPropertySymbols},26313:function(s,l,t){var r=t(94879),n=t(23583),e=t(49671),a=t(44869),o=t(87501),u=a("IE_PROTO"),i=Object,v=i.prototype;s.exports=o?i.getPrototypeOf:function(f){var c=e(f);if(r(c,u))return c[u];var d=c.constructor;return n(d)&&c instanceof d?d.prototype:c instanceof i?v:null}},28174:function(s,l,t){var r=t(72069),n=t(37540),e=t(14274),a=t(72058),o=Object.isExtensible,u=r(function(){o(1)});s.exports=u||a?function(v){return!n(v)||a&&e(v)==="ArrayBuffer"?!1:o?o(v):!0}:o},95307:function(s,l,t){var r=t(11286);s.exports=r({}.isPrototypeOf)},6242:function(s,l,t){var r=t(11286),n=t(94879),e=t(36859),a=t(94319).indexOf,o=t(19423),u=r([].push);s.exports=function(i,v){var f=e(i),c=0,d=[],h;for(h in f)!n(o,h)&&n(f,h)&&u(d,h);for(;v.length>c;)n(f,h=v[c++])&&(~a(d,h)||u(d,h));return d}},18350:function(s,l,t){var r=t(6242),n=t(75785);s.exports=Object.keys||function(a){return r(a,n)}},79591:function(s,l){var t={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,n=r&&!t.call({1:2},1);l.f=n?function(a){var o=r(this,a);return!!o&&o.enumerable}:t},57629:function(s,l,t){var r=t(70457),n=t(34246),e=t(72069),a=t(66577);s.exports=r||!e(function(){if(!(a&&a<535)){var o=Math.random();__defineSetter__.call(null,o,function(){}),delete n[o]}})},15861:function(s,l,t){var r=t(84756),n=t(37540),e=t(2068),a=t(53408);s.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var o=!1,u={},i;try{i=r(Object.prototype,"__proto__","set"),i(u,[]),o=u instanceof Array}catch(v){}return function(f,c){return e(f),a(c),n(f)&&(o?i(f,c):f.__proto__=c),f}}():void 0)},8511:function(s,l,t){var r=t(92986),n=t(72069),e=t(11286),a=t(26313),o=t(18350),u=t(36859),i=t(79591).f,v=e(i),f=e([].push),c=r&&n(function(){var h=Object.create(null);return h[2]=2,!v(h,2)}),d=function(h){return function(g){for(var p=u(g),y=o(p),m=c&&a(p)===null,I=y.length,x=0,S=[],T;I>x;)T=y[x++],(!r||(m?T in p:v(p,T)))&&f(S,h?[T,p[T]]:p[T]);return S}};s.exports={entries:d(!0),values:d(!1)}},60105:function(s,l,t){var r=t(67878),n=t(9205);s.exports=r?{}.toString:function(){return"[object "+n(this)+"]"}},2064:function(s,l,t){var r=t(96499),n=t(23583),e=t(37540),a=TypeError;s.exports=function(o,u){var i,v;if(u==="string"&&n(i=o.toString)&&!e(v=r(i,o))||n(i=o.valueOf)&&!e(v=r(i,o))||u!=="string"&&n(i=o.toString)&&!e(v=r(i,o)))return v;throw new a("Can't convert object to primitive value")}},16885:function(s,l,t){var r=t(38941),n=t(11286),e=t(83258),a=t(24943),o=t(25001),u=n([].concat);s.exports=r("Reflect","ownKeys")||function(v){var f=e.f(o(v)),c=a.f;return c?u(f,c(v)):f}},75081:function(s,l,t){var r=t(34246);s.exports=r},67805:function(s){s.exports=function(l){try{return{error:!1,value:l()}}catch(t){return{error:!0,value:t}}}},37130:function(s,l,t){var r=t(34246),n=t(98844),e=t(23583),a=t(13278),o=t(84352),u=t(18565),i=t(21501),v=t(70457),f=t(44241),c=n&&n.prototype,d=u("species"),h=!1,g=e(r.PromiseRejectionEvent),p=a("Promise",function(){var y=o(n),m=y!==String(n);if(!m&&f===66||v&&!(c.catch&&c.finally))return!0;if(!f||f<51||!/native code/.test(y)){var I=new n(function(T){T(1)}),x=function(T){T(function(){},function(){})},S=I.constructor={};if(S[d]=x,h=I.then(function(){})instanceof x,!h)return!0}return!m&&(i==="BROWSER"||i==="DENO")&&!g});s.exports={CONSTRUCTOR:p,REJECTION_EVENT:g,SUBCLASSING:h}},98844:function(s,l,t){var r=t(34246);s.exports=r.Promise},87408:function(s,l,t){var r=t(25001),n=t(37540),e=t(24649);s.exports=function(a,o){if(r(a),n(o)&&o.constructor===a)return o;var u=e.f(a),i=u.resolve;return i(o),u.promise}},26035:function(s,l,t){var r=t(98844),n=t(97494),e=t(37130).CONSTRUCTOR;s.exports=e||!n(function(a){r.all(a).then(void 0,function(){})})},2594:function(s,l,t){var r=t(7831).f;s.exports=function(n,e,a){a in n||r(n,a,{configurable:!0,get:function(){return e[a]},set:function(o){e[a]=o}})}},76895:function(s){var l=function(){this.head=null,this.tail=null};l.prototype={add:function(t){var r={item:t,next:null},n=this.tail;n?n.next=r:this.head=r,this.tail=r},get:function(){var t=this.head;if(t){var r=this.head=t.next;return r===null&&(this.tail=null),t.item}}},s.exports=l},33064:function(s,l,t){var r=t(96499),n=t(25001),e=t(23583),a=t(14274),o=t(44381),u=TypeError;s.exports=function(i,v){var f=i.exec;if(e(f)){var c=r(f,i,v);return c!==null&&n(c),c}if(a(i)==="RegExp")return r(o,i,v);throw new u("RegExp#exec called on incompatible receiver")}},44381:function(s,l,t){var r=t(96499),n=t(11286),e=t(17361),a=t(29833),o=t(39807),u=t(96731),i=t(5406),v=t(82367).get,f=t(76769),c=t(85220),d=u("native-string-replace",String.prototype.replace),h=RegExp.prototype.exec,g=h,p=n("".charAt),y=n("".indexOf),m=n("".replace),I=n("".slice),x=function(){var O=/a/,A=/b*/g;return r(h,O,"a"),r(h,A,"a"),O.lastIndex!==0||A.lastIndex!==0}(),S=o.BROKEN_CARET,T=/()??/.exec("")[1]!==void 0,E=x||T||S||f||c;E&&(g=function(A){var C=this,P=v(C),N=e(A),$=P.raw,U,D,F,L,j,W,b;if($)return $.lastIndex=C.lastIndex,U=r(g,$,N),C.lastIndex=$.lastIndex,U;var K=P.groups,z=S&&C.sticky,it=r(a,C),et=C.source,lt=0,pt=N;if(z&&(it=m(it,"y",""),y(it,"g")===-1&&(it+="g"),pt=I(N,C.lastIndex),C.lastIndex>0&&(!C.multiline||C.multiline&&p(N,C.lastIndex-1)!==` + */(function(gr,sr){typeof exports=="object"&&typeof module=="object"?module.exports=sr():typeof define=="function"&&define.amd?define("bb",[],sr):typeof exports=="object"?exports.bb=sr():(gr.bb=gr.bb||{},gr.bb.plugin=gr.bb.plugin||{},gr.bb.plugin["bubblecompare.pkgd"]=sr())})(this,function(){return function(){"use strict";var Fr={19770:function(s,l,t){t.d(l,{default:function(){return Gr}});function r(){}function n(R){return R==null?r:function(){return this.querySelector(R)}}function e(R){typeof R!="function"&&(R=n(R));for(var M=this._groups,X=M.length,ut=new Array(X),_=0;_=Mr&&(Mr=Rr+1);!(Br=$r[Mr])&&++Mr=0;)(Tt=ut[_])&&(yt&&Tt.compareDocumentPosition(yt)^4&&yt.parentNode.insertBefore(Tt,yt),yt=Tt);return this}function W(R){R||(R=b);function M(or,cr){return or&&cr?R(or.__data__,cr.__data__):!or-!cr}for(var X=this._groups,ut=X.length,_=new Array(ut),yt=0;ytM?1:R>=M?0:NaN}function K(){var R=arguments[0];return arguments[0]=this,R.apply(null,arguments),this}function z(){return Array.from(this)}function it(){for(var R=this._groups,M=0,X=R.length;M=0&&(M=R.slice(0,X))!=="xmlns"&&(R=R.slice(X+1)),Bt.hasOwnProperty(M)?{space:Bt[M],local:R}:R}function Nt(R){return function(){this.removeAttribute(R)}}function at(R){return function(){this.removeAttributeNS(R.space,R.local)}}function ct(R,M){return function(){this.setAttribute(R,M)}}function Ot(R,M){return function(){this.setAttributeNS(R.space,R.local,M)}}function Ct(R,M){return function(){var X=M.apply(this,arguments);X==null?this.removeAttribute(R):this.setAttribute(R,X)}}function It(R,M){return function(){var X=M.apply(this,arguments);X==null?this.removeAttributeNS(R.space,R.local):this.setAttributeNS(R.space,R.local,X)}}function Ft(R,M){var X=Ut(R);if(arguments.length<2){var ut=this.node();return X.local?ut.getAttributeNS(X.space,X.local):ut.getAttribute(X)}return this.each((M==null?X.local?at:Nt:typeof M=="function"?X.local?It:Ct:X.local?Ot:ct)(X,M))}function Wt(R){return R.ownerDocument&&R.ownerDocument.defaultView||R.document&&R||R.defaultView}function Kt(R){return function(){this.style.removeProperty(R)}}function Gt(R,M,X){return function(){this.style.setProperty(R,M,X)}}function Mt(R,M,X){return function(){var ut=M.apply(this,arguments);ut==null?this.style.removeProperty(R):this.style.setProperty(R,ut,X)}}function bt(R,M,X){return arguments.length>1?this.each((M==null?Kt:typeof M=="function"?Mt:Gt)(R,M,X==null?"":X)):jt(this.node(),R)}function jt(R,M){return R.style.getPropertyValue(M)||Wt(R).getComputedStyle(R,null).getPropertyValue(M)}function Lt(R){return function(){delete this[R]}}function q(R,M){return function(){this[R]=M}}function st(R,M){return function(){var X=M.apply(this,arguments);X==null?delete this[R]:this[R]=X}}function Y(R,M){return arguments.length>1?this.each((M==null?Lt:typeof M=="function"?st:q)(R,M)):this.node()[R]}function xt(R){return R.trim().split(/^|\s+/)}function St(R){return R.classList||new gt(R)}function gt(R){this._node=R,this._names=xt(R.getAttribute("class")||"")}gt.prototype={add:function(R){var M=this._names.indexOf(R);M<0&&(this._names.push(R),this._node.setAttribute("class",this._names.join(" ")))},remove:function(R){var M=this._names.indexOf(R);M>=0&&(this._names.splice(M,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(R){return this._names.indexOf(R)>=0}};function ht(R,M){for(var X=St(R),ut=-1,_=M.length;++ut<_;)X.add(M[ut])}function Jt(R,M){for(var X=St(R),ut=-1,_=M.length;++ut<_;)X.remove(M[ut])}function Zt(R){return function(){ht(this,R)}}function V(R){return function(){Jt(this,R)}}function w(R,M){return function(){(M.apply(this,arguments)?ht:Jt)(this,R)}}function tt(R,M){var X=xt(R+"");if(arguments.length<2){for(var ut=St(this.node()),_=-1,yt=X.length;++_=0&&(X=M.slice(ut+1),M=M.slice(0,ut)),{type:M,name:X}})}function nr(R){return function(){var M=this.__on;if(M){for(var X=0,ut=-1,_=M.length,yt;X<_;++X)yt=M[X],(!R.type||yt.type===R.type)&&yt.name===R.name?this.removeEventListener(yt.type,yt.listener,yt.options):M[++ut]=yt;++ut?M.length=ut:delete this.__on}}}function er(R,M,X){return function(){var ut=this.__on,_,yt=Er(M);if(ut){for(var Tt=0,Pt=ut.length;TtM in R?ar(R,M,{enumerable:!0,configurable:!0,writable:!0,value:X}):R[M]=X,qt=(R,M,X)=>rt(R,typeof M!="symbol"?M+"":M,X);class vr{constructor(M={}){qt(this,"$$"),qt(this,"options"),this.options=M}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(M=>{this[M]=null,delete this[M]})}}qt(vr,"version","3.14.2");var Or=Object.defineProperty,Nr=(R,M,X)=>M in R?Or(R,M,{enumerable:!0,configurable:!0,writable:!0,value:X}):R[M]=X,Tr=(R,M,X)=>Nr(R,typeof M!="symbol"?M+"":M,X);const mr=class jr extends vr{constructor(M){return super(M),Tr(this,"$$"),this}$init(){const{$$:M}=this;M.findClosest=this.findClosest.bind(this),M.getBubbleR=this.getBubbleR.bind(this),M.pointExpandedR=this.pointExpandedR.bind(this)}pointExpandedR(M){const X=this.getBubbleR(M),{expandScale:ut=1}=this.options;return jr.raiseFocusedBubbleLayer(M),this.changeCursorPoint(),X*ut}static raiseFocusedBubbleLayer(M){M.raise&&rr(M.node().parentNode.parentNode).raise()}changeCursorPoint(){this.$$.$el.eventRect.style("cursor","pointer")}findClosest(M,X){const{$$:ut}=this;return M.filter(_=>_&&!ut.isBarType(_.id)).reduce((_,yt)=>ut.dist(yt,X){const or=this.getZData(Xt.values[0]);return[Math.min($t,or),Math.max(Vt,or)]},[1e4,0]),Pt=yt>0&&Tt===yt?0:_/Tt;return Math.abs(Pt)*(ut-X)+X}getZData(M){return this.$$.isBubbleZType(M)?this.$$.getBubbleZData(M.value,"z"):M.value}};Tr(mr,"version","0.0.1");let Gr=mr},85156:function(s,l,t){var r=t(23583),n=t(82453),e=TypeError;s.exports=function(a){if(r(a))return a;throw new e(n(a)+" is not a function")}},80042:function(s,l,t){var r=t(11051),n=t(82453),e=TypeError;s.exports=function(a){if(r(a))return a;throw new e(n(a)+" is not a constructor")}},53408:function(s,l,t){var r=t(52427),n=String,e=TypeError;s.exports=function(a){if(r(a))return a;throw new e("Can't set "+n(a)+" as a prototype")}},76602:function(s,l,t){var r=t(172).has;s.exports=function(n){return r(n),n}},23811:function(s,l,t){var r=t(18565),n=t(5406),e=t(7831).f,a=r("unscopables"),o=Array.prototype;o[a]===void 0&&e(o,a,{configurable:!0,value:n(null)}),s.exports=function(u){o[a][u]=!0}},24487:function(s,l,t){var r=t(22149).charAt;s.exports=function(n,e,a){return e+(a?r(n,e).length:1)}},12833:function(s,l,t){var r=t(95307),n=TypeError;s.exports=function(e,a){if(r(a,e))return e;throw new n("Incorrect invocation")}},25001:function(s,l,t){var r=t(37540),n=String,e=TypeError;s.exports=function(a){if(r(a))return a;throw new e(n(a)+" is not an object")}},3237:function(s){s.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},58360:function(s,l,t){var r=t(34246),n=t(84756),e=t(14274),a=r.ArrayBuffer,o=r.TypeError;s.exports=a&&n(a.prototype,"byteLength","get")||function(u){if(e(u)!=="ArrayBuffer")throw new o("ArrayBuffer expected");return u.byteLength}},30736:function(s,l,t){var r=t(34246),n=t(77422),e=t(58360),a=r.ArrayBuffer,o=a&&a.prototype,u=o&&n(o.slice);s.exports=function(i){if(e(i)!==0||!u)return!1;try{return u(i,0,0),!1}catch(v){return!0}}},72058:function(s,l,t){var r=t(72069);s.exports=r(function(){if(typeof ArrayBuffer=="function"){var n=new ArrayBuffer(8);Object.isExtensible(n)&&Object.defineProperty(n,"a",{value:8})}})},83843:function(s,l,t){var r=t(30736),n=TypeError;s.exports=function(e){if(r(e))throw new n("ArrayBuffer is detached");return e}},65006:function(s,l,t){var r=t(34246),n=t(11286),e=t(84756),a=t(9450),o=t(83843),u=t(58360),i=t(63741),v=t(99050),f=r.structuredClone,c=r.ArrayBuffer,d=r.DataView,h=Math.min,g=c.prototype,p=d.prototype,y=n(g.slice),m=e(g,"resizable","get"),I=e(g,"maxByteLength","get"),x=n(p.getInt8),S=n(p.setInt8);s.exports=(v||i)&&function(T,E,O){var A=u(T),C=E===void 0?A:a(E),P=!m||!m(T),N;if(o(T),v&&(T=f(T,{transfer:[T]}),A===C&&(O||P)))return T;if(A>=C&&(!O||P))N=y(T,0,C);else{var $=O&&!P&&I?{maxByteLength:I(T)}:void 0;N=new c(C,$);for(var U=new d(T),D=new d(N),F=h(C,A),L=0;L>8&255]},Ct=function(q){return[q&255,q>>8&255,q>>16&255,q>>24&255]},It=function(q){return q[3]<<24|q[2]<<16|q[1]<<8|q[0]},Ft=function(q){return Nt(p(q),23,4)},Wt=function(q){return Nt(q,52,8)},Kt=function(q,st,Y){i(q[U],st,{configurable:!0,get:function(){return Y(this)[st]}})},Gt=function(q,st,Y,xt){var St=j(q),gt=g(Y),ht=!!xt;if(gt+st>St.byteLength)throw new mt(F);var Jt=St.bytes,Zt=gt+St.byteOffset,V=S(Jt,Zt,Zt+st);return ht?V:Ut(V)},Mt=function(q,st,Y,xt,St,gt){var ht=j(q),Jt=g(Y),Zt=xt(+St),V=!!gt;if(Jt+st>ht.byteLength)throw new mt(F);for(var w=ht.bytes,tt=Jt+ht.byteOffset,k=0;kgt)throw new mt("Wrong offset");if(xt=xt===void 0?gt-ht:h(xt),ht+xt>gt)throw new mt(D);W(this,{type:$,buffer:st,byteLength:xt,byteOffset:ht,bytes:St.bytes}),e||(this.buffer=st,this.byteLength=xt,this.byteOffset=ht)},et=it[U],e&&(Kt(K,"byteLength",L),Kt(it,"buffer",j),Kt(it,"byteLength",j),Kt(it,"byteOffset",j)),v(et,{getInt8:function(st){return Gt(this,1,st)[0]<<24>>24},getUint8:function(st){return Gt(this,1,st)[0]},getInt16:function(st){var Y=Gt(this,2,st,arguments.length>1?arguments[1]:!1);return(Y[1]<<8|Y[0])<<16>>16},getUint16:function(st){var Y=Gt(this,2,st,arguments.length>1?arguments[1]:!1);return Y[1]<<8|Y[0]},getInt32:function(st){return It(Gt(this,4,st,arguments.length>1?arguments[1]:!1))},getUint32:function(st){return It(Gt(this,4,st,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(st){return at(Gt(this,4,st,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(st){return at(Gt(this,8,st,arguments.length>1?arguments[1]:!1),52)},setInt8:function(st,Y){Mt(this,1,st,ct,Y)},setUint8:function(st,Y){Mt(this,1,st,ct,Y)},setInt16:function(st,Y){Mt(this,2,st,Ot,Y,arguments.length>2?arguments[2]:!1)},setUint16:function(st,Y){Mt(this,2,st,Ot,Y,arguments.length>2?arguments[2]:!1)},setInt32:function(st,Y){Mt(this,4,st,Ct,Y,arguments.length>2?arguments[2]:!1)},setUint32:function(st,Y){Mt(this,4,st,Ct,Y,arguments.length>2?arguments[2]:!1)},setFloat32:function(st,Y){Mt(this,4,st,Ft,Y,arguments.length>2?arguments[2]:!1)},setFloat64:function(st,Y){Mt(this,8,st,Wt,Y,arguments.length>2?arguments[2]:!1)}});else{var bt=C&&b.name!==N;!f(function(){b(1)})||!f(function(){new b(-1)})||f(function(){return new b,new b(1.5),new b(NaN),b.length!==1||bt&&!P})?(K=function(st){return c(this,z),T(new b(g(st)),this,K)},K[U]=z,z.constructor=K,E(K,b)):bt&&P&&u(b,"name",N),I&&m(et)!==lt&&I(et,lt);var jt=new it(new K(2)),Lt=n(et.setInt8);jt.setInt8(0,2147483648),jt.setInt8(1,2147483649),(jt.getInt8(0)||!jt.getInt8(1))&&v(et,{setInt8:function(st,Y){Lt(this,st,Y<<24>>24)},setUint8:function(st,Y){Lt(this,st,Y<<24>>24)}},{unsafe:!0})}O(K,N),O(it,$),s.exports={ArrayBuffer:K,DataView:it}},81499:function(s,l,t){var r=t(49671),n=t(4652),e=t(82628),a=t(12384),o=Math.min;s.exports=[].copyWithin||function(i,v){var f=r(this),c=e(f),d=n(i,c),h=n(v,c),g=arguments.length>2?arguments[2]:void 0,p=o((g===void 0?c:n(g,c))-h,c-d),y=1;for(h0;)h in f?f[d]=f[h]:a(f,d),d+=y,h+=y;return f}},43011:function(s,l,t){var r=t(49671),n=t(4652),e=t(82628);s.exports=function(o){for(var u=r(this),i=e(u),v=arguments.length,f=n(v>1?arguments[1]:void 0,i),c=v>2?arguments[2]:void 0,d=c===void 0?i:n(c,i);d>f;)u[f++]=o;return u}},13349:function(s,l,t){var r=t(66655).forEach,n=t(6148),e=n("forEach");s.exports=e?[].forEach:function(o){return r(this,o,arguments.length>1?arguments[1]:void 0)}},5220:function(s,l,t){var r=t(82628);s.exports=function(n,e,a){for(var o=0,u=arguments.length>2?a:r(e),i=new n(u);u>o;)i[o]=e[o++];return i}},48258:function(s,l,t){var r=t(45526),n=t(96499),e=t(49671),a=t(39969),o=t(48199),u=t(11051),i=t(82628),v=t(84082),f=t(90619),c=t(81077),d=Array;s.exports=function(g){var p=e(g),y=u(this),m=arguments.length,I=m>1?arguments[1]:void 0,x=I!==void 0;x&&(I=r(I,m>2?arguments[2]:void 0));var S=c(p),T=0,E,O,A,C,P,N;if(S&&!(this===d&&o(S)))for(O=y?new this:[],C=f(p,S),P=C.next;!(A=n(P,C)).done;T++)N=x?a(C,I,[A.value,T],!0):A.value,v(O,T,N);else for(E=i(p),O=y?new this(E):d(E);E>T;T++)N=x?I(p[T],T):p[T],v(O,T,N);return O.length=T,O}},94319:function(s,l,t){var r=t(36859),n=t(4652),e=t(82628),a=function(o){return function(u,i,v){var f=r(u),c=e(f);if(c===0)return!o&&-1;var d=n(v,c),h;if(o&&i!==i){for(;c>d;)if(h=f[d++],h!==h)return!0}else for(;c>d;d++)if((o||d in f)&&f[d]===i)return o||d||0;return!o&&-1}};s.exports={includes:a(!0),indexOf:a(!1)}},73849:function(s,l,t){var r=t(45526),n=t(72181),e=t(49671),a=t(82628),o=function(u){var i=u===1;return function(v,f,c){for(var d=e(v),h=n(d),g=a(h),p=r(f,c),y,m;g-- >0;)if(y=h[g],m=p(y,g,d),m)switch(u){case 0:return y;case 1:return g}return i?-1:void 0}};s.exports={findLast:o(0),findLastIndex:o(1)}},66655:function(s,l,t){var r=t(45526),n=t(11286),e=t(72181),a=t(49671),o=t(82628),u=t(62083),i=n([].push),v=function(f){var c=f===1,d=f===2,h=f===3,g=f===4,p=f===6,y=f===7,m=f===5||p;return function(I,x,S,T){for(var E=a(I),O=e(E),A=o(O),C=r(x,S),P=0,N=T||u,$=c?N(I,A):d||y?N(I,0):void 0,U,D;A>P;P++)if((m||P in O)&&(U=O[P],D=C(U,P,E),f))if(c)$[P]=D;else if(D)switch(f){case 3:return!0;case 5:return U;case 6:return P;case 2:i($,U)}else switch(f){case 4:return!1;case 7:i($,U)}return p?-1:h||g?g:$}};s.exports={forEach:v(0),map:v(1),filter:v(2),some:v(3),every:v(4),find:v(5),findIndex:v(6),filterReject:v(7)}},58465:function(s,l,t){var r=t(66543),n=t(36859),e=t(12105),a=t(82628),o=t(6148),u=Math.min,i=[].lastIndexOf,v=!!i&&1/[1].lastIndexOf(1,-0)<0,f=o("lastIndexOf"),c=v||!f;s.exports=c?function(h){if(v)return r(i,this,arguments)||0;var g=n(this),p=a(g);if(p===0)return-1;var y=p-1;for(arguments.length>1&&(y=u(y,e(arguments[1]))),y<0&&(y=p+y);y>=0;y--)if(y in g&&g[y]===h)return y||0;return-1}:i},52183:function(s,l,t){var r=t(72069),n=t(18565),e=t(44241),a=n("species");s.exports=function(o){return e>=51||!r(function(){var u=[],i=u.constructor={};return i[a]=function(){return{foo:1}},u[o](Boolean).foo!==1})}},6148:function(s,l,t){var r=t(72069);s.exports=function(n,e){var a=[][n];return!!a&&r(function(){a.call(null,e||function(){return 1},1)})}},97264:function(s,l,t){var r=t(85156),n=t(49671),e=t(72181),a=t(82628),o=TypeError,u="Reduce of empty array with no initial value",i=function(v){return function(f,c,d,h){var g=n(f),p=e(g),y=a(g);if(r(c),y===0&&d<2)throw new o(u);var m=v?y-1:0,I=v?-1:1;if(d<2)for(;;){if(m in p){h=p[m],m+=I;break}if(m+=I,v?m<0:y<=m)throw new o(u)}for(;v?m>=0:y>m;m+=I)m in p&&(h=c(h,p[m],m,g));return h}};s.exports={left:i(!1),right:i(!0)}},2213:function(s,l,t){var r=t(92986),n=t(3438),e=TypeError,a=Object.getOwnPropertyDescriptor,o=r&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(u){return u instanceof TypeError}}();s.exports=o?function(u,i){if(n(u)&&!a(u,"length").writable)throw new e("Cannot set read only .length");return u.length=i}:function(u,i){return u.length=i}},22806:function(s,l,t){var r=t(11286);s.exports=r([].slice)},13270:function(s,l,t){var r=t(22806),n=Math.floor,e=function(a,o){var u=a.length;if(u<8)for(var i=1,v,f;i0;)a[f]=a[--f];f!==i++&&(a[f]=v)}else for(var c=n(u/2),d=e(r(a,0,c),o),h=e(r(a,c),o),g=d.length,p=h.length,y=0,m=0;y=v||c<0)throw new e("Incorrect index");for(var d=new o(v),h=0;h1?arguments[1]:void 0),D;D=D?D.next:$.first;)for(U(D.value,D.key,this);D&&D.removed;)D=D.previous},has:function(N){return!!C(this,N)}}),e(E,x?{get:function(N){var $=C(this,N);return $&&$.value},set:function(N,$){return A(this,N===0?0:N,$)}}:{add:function(N){return A(this,N=N===0?0:N,N)}}),d&&n(E,"size",{configurable:!0,get:function(){return O(this).size}}),T},setStrong:function(m,I,x){var S=I+" Iterator",T=y(I),E=y(S);v(m,I,function(O,A){p(this,{type:S,target:O,state:T(O),kind:A,last:null})},function(){for(var O=E(this),A=O.kind,C=O.last;C&&C.removed;)C=C.previous;return!O.target||!(O.last=C=C?C.next:O.state.first)?(O.target=null,f(void 0,!0)):f(A==="keys"?C.key:A==="values"?C.value:[C.key,C.value],!1)},x?"entries":"values",!x,!0),c(I)}}},94667:function(s,l,t){var r=t(11286),n=t(2725),e=t(31853).getWeakData,a=t(12833),o=t(25001),u=t(5683),i=t(37540),v=t(55902),f=t(66655),c=t(94879),d=t(82367),h=d.set,g=d.getterFor,p=f.find,y=f.findIndex,m=r([].splice),I=0,x=function(E){return E.frozen||(E.frozen=new S)},S=function(){this.entries=[]},T=function(E,O){return p(E.entries,function(A){return A[0]===O})};S.prototype={get:function(E){var O=T(this,E);if(O)return O[1]},has:function(E){return!!T(this,E)},set:function(E,O){var A=T(this,E);A?A[1]=O:this.entries.push([E,O])},delete:function(E){var O=y(this.entries,function(A){return A[0]===E});return~O&&m(this.entries,O,1),!!~O}},s.exports={getConstructor:function(E,O,A,C){var P=E(function(D,F){a(D,N),h(D,{type:O,id:I++,frozen:null}),u(F)||v(F,D[C],{that:D,AS_ENTRIES:A})}),N=P.prototype,$=g(O),U=function(D,F,L){var j=$(D),W=e(o(F),!0);return W===!0?x(j).set(F,L):W[j.id]=L,D};return n(N,{delete:function(D){var F=$(this);if(!i(D))return!1;var L=e(D);return L===!0?x(F).delete(D):L&&c(L,F.id)&&delete L[F.id]},has:function(F){var L=$(this);if(!i(F))return!1;var j=e(F);return j===!0?x(L).has(F):j&&c(j,L.id)}}),n(N,A?{get:function(F){var L=$(this);if(i(F)){var j=e(F);if(j===!0)return x(L).get(F);if(j)return j[L.id]}},set:function(F,L){return U(this,F,L)}}:{add:function(F){return U(this,F,!0)}}),P}}},89378:function(s,l,t){var r=t(14304),n=t(34246),e=t(11286),a=t(13278),o=t(16142),u=t(31853),i=t(55902),v=t(12833),f=t(23583),c=t(5683),d=t(37540),h=t(72069),g=t(97494),p=t(78401),y=t(32345);s.exports=function(m,I,x){var S=m.indexOf("Map")!==-1,T=m.indexOf("Weak")!==-1,E=S?"set":"add",O=n[m],A=O&&O.prototype,C=O,P={},N=function(W){var b=e(A[W]);o(A,W,W==="add"?function(z){return b(this,z===0?0:z),this}:W==="delete"?function(K){return T&&!d(K)?!1:b(this,K===0?0:K)}:W==="get"?function(z){return T&&!d(z)?void 0:b(this,z===0?0:z)}:W==="has"?function(z){return T&&!d(z)?!1:b(this,z===0?0:z)}:function(z,it){return b(this,z===0?0:z,it),this})},$=a(m,!f(O)||!(T||A.forEach&&!h(function(){new O().entries().next()})));if($)C=x.getConstructor(I,m,S,E),u.enable();else if(a(m,!0)){var U=new C,D=U[E](T?{}:-0,1)!==U,F=h(function(){U.has(1)}),L=g(function(W){new O(W)}),j=!T&&h(function(){for(var W=new O,b=5;b--;)W[E](b,b);return!W.has(-0)});L||(C=I(function(W,b){v(W,A);var K=y(new O,W,C);return c(b)||i(b,K[E],{that:K,AS_ENTRIES:S}),K}),C.prototype=A,A.constructor=C),(F||j)&&(N("delete"),N("has"),S&&N("get")),(j||D)&&N(E),T&&A.clear&&delete A.clear}return P[m]=C,r({global:!0,constructor:!0,forced:C!==O},P),p(C,m),T||x.setStrong(C,m,S),C}},93706:function(s,l,t){var r=t(94879),n=t(16885),e=t(71349),a=t(7831);s.exports=function(o,u,i){for(var v=n(u),f=a.f,c=e.f,d=0;d"+c+""}},10659:function(s){s.exports=function(l,t){return{value:l,done:t}}},90809:function(s,l,t){var r=t(92986),n=t(7831),e=t(18526);s.exports=r?function(a,o,u){return n.f(a,o,e(1,u))}:function(a,o,u){return a[o]=u,a}},18526:function(s){s.exports=function(l,t){return{enumerable:!(l&1),configurable:!(l&2),writable:!(l&4),value:t}}},84082:function(s,l,t){var r=t(92986),n=t(7831),e=t(18526);s.exports=function(a,o,u){r?n.f(a,o,e(0,u)):a[o]=u}},11890:function(s,l,t){var r=t(11286),n=t(72069),e=t(61607).start,a=RangeError,o=isFinite,u=Math.abs,i=Date.prototype,v=i.toISOString,f=r(i.getTime),c=r(i.getUTCDate),d=r(i.getUTCFullYear),h=r(i.getUTCHours),g=r(i.getUTCMilliseconds),p=r(i.getUTCMinutes),y=r(i.getUTCMonth),m=r(i.getUTCSeconds);s.exports=n(function(){return v.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!n(function(){v.call(new Date(NaN))})?function(){if(!o(f(this)))throw new a("Invalid time value");var x=this,S=d(x),T=g(x),E=S<0?"-":S>9999?"+":"";return E+e(u(S),E?6:4,0)+"-"+e(y(x)+1,2,0)+"-"+e(c(x),2,0)+"T"+e(h(x),2,0)+":"+e(p(x),2,0)+":"+e(m(x),2,0)+"."+e(T,3,0)+"Z"}:v},84306:function(s,l,t){var r=t(25001),n=t(2064),e=TypeError;s.exports=function(a){if(r(this),a==="string"||a==="default")a="string";else if(a!=="number")throw new e("Incorrect hint");return n(this,a)}},85500:function(s,l,t){var r=t(13749),n=t(7831);s.exports=function(e,a,o){return o.get&&r(o.get,a,{getter:!0}),o.set&&r(o.set,a,{setter:!0}),n.f(e,a,o)}},16142:function(s,l,t){var r=t(23583),n=t(7831),e=t(13749),a=t(36003);s.exports=function(o,u,i,v){v||(v={});var f=v.enumerable,c=v.name!==void 0?v.name:u;if(r(i)&&e(i,c,v),v.global)f?o[u]=i:a(u,i);else{try{v.unsafe?o[u]&&(f=!0):delete o[u]}catch(d){}f?o[u]=i:n.f(o,u,{value:i,enumerable:!1,configurable:!v.nonConfigurable,writable:!v.nonWritable})}return o}},2725:function(s,l,t){var r=t(16142);s.exports=function(n,e,a){for(var o in e)r(n,o,e[o],a);return n}},36003:function(s,l,t){var r=t(34246),n=Object.defineProperty;s.exports=function(e,a){try{n(r,e,{value:a,configurable:!0,writable:!0})}catch(o){r[e]=a}return a}},12384:function(s,l,t){var r=t(82453),n=TypeError;s.exports=function(e,a){if(!delete e[a])throw new n("Cannot delete property "+r(a)+" of "+r(e))}},92986:function(s,l,t){var r=t(72069);s.exports=!r(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},63741:function(s,l,t){var r=t(34246),n=t(81191),e=t(99050),a=r.structuredClone,o=r.ArrayBuffer,u=r.MessageChannel,i=!1,v,f,c,d;if(e)i=function(h){a(h,{transfer:[h]})};else if(o)try{u||(v=n("worker_threads"),v&&(u=v.MessageChannel)),u&&(f=new u,c=new o(2),d=function(h){f.port1.postMessage(null,[h])},c.byteLength===2&&(d(c),c.byteLength===0&&(i=d)))}catch(h){}s.exports=i},85501:function(s,l,t){var r=t(34246),n=t(37540),e=r.document,a=n(e)&&n(e.createElement);s.exports=function(o){return a?e.createElement(o):{}}},20095:function(s){var l=TypeError,t=9007199254740991;s.exports=function(r){if(r>t)throw l("Maximum allowed index exceeded");return r}},74408:function(s){s.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},93014:function(s){s.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},39882:function(s,l,t){var r=t(85501),n=r("span").classList,e=n&&n.constructor&&n.constructor.prototype;s.exports=e===Object.prototype?void 0:e},75785:function(s){s.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},507:function(s,l,t){var r=t(18257),n=r.match(/firefox\/(\d+)/i);s.exports=!!n&&+n[1]},17417:function(s,l,t){var r=t(18257);s.exports=/MSIE|Trident/.test(r)},7307:function(s,l,t){var r=t(18257);s.exports=/ipad|iphone|ipod/i.test(r)&&typeof Pebble!="undefined"},5286:function(s,l,t){var r=t(18257);s.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(r)},91707:function(s,l,t){var r=t(21501);s.exports=r==="NODE"},67722:function(s,l,t){var r=t(18257);s.exports=/web0s(?!.*chrome)/i.test(r)},18257:function(s,l,t){var r=t(34246),n=r.navigator,e=n&&n.userAgent;s.exports=e?String(e):""},44241:function(s,l,t){var r=t(34246),n=t(18257),e=r.process,a=r.Deno,o=e&&e.versions||a&&a.version,u=o&&o.v8,i,v;u&&(i=u.split("."),v=i[0]>0&&i[0]<4?1:+(i[0]+i[1])),!v&&n&&(i=n.match(/Edge\/(\d+)/),(!i||i[1]>=74)&&(i=n.match(/Chrome\/(\d+)/),i&&(v=+i[1]))),s.exports=v},66577:function(s,l,t){var r=t(18257),n=r.match(/AppleWebKit\/(\d+)\./);s.exports=!!n&&+n[1]},21501:function(s,l,t){var r=t(34246),n=t(18257),e=t(14274),a=function(o){return n.slice(0,o.length)===o};s.exports=function(){return a("Bun/")?"BUN":a("Cloudflare-Workers")?"CLOUDFLARE":a("Deno/")?"DENO":a("Node.js/")?"NODE":r.Bun&&typeof Bun.version=="string"?"BUN":r.Deno&&typeof Deno.version=="object"?"DENO":e(r.process)==="process"?"NODE":r.window&&r.document?"BROWSER":"REST"}()},40851:function(s,l,t){var r=t(11286),n=Error,e=r("".replace),a=function(i){return String(new n(i).stack)}("zxcasd"),o=/\n\s*at [^:]*:[^\n]*/,u=o.test(a);s.exports=function(i,v){if(u&&typeof i=="string"&&!n.prepareStackTrace)for(;v--;)i=e(i,o,"");return i}},97077:function(s,l,t){var r=t(90809),n=t(40851),e=t(16929),a=Error.captureStackTrace;s.exports=function(o,u,i,v){e&&(a?a(o,u):r(o,"stack",n(i,v)))}},16929:function(s,l,t){var r=t(72069),n=t(18526);s.exports=!r(function(){var e=new Error("a");return"stack"in e?(Object.defineProperty(e,"stack",n(1,7)),e.stack!==7):!0})},58434:function(s,l,t){var r=t(92986),n=t(72069),e=t(25001),a=t(15453),o=Error.prototype.toString,u=n(function(){if(r){var i=Object.create(Object.defineProperty({},"name",{get:function(){return this===i}}));if(o.call(i)!=="true")return!0}return o.call({message:1,name:2})!=="2: 1"||o.call({})!=="Error"});s.exports=u?function(){var v=e(this),f=a(v.name,"Error"),c=a(v.message);return f?c?f+": "+c:f:c}:o},14304:function(s,l,t){var r=t(34246),n=t(71349).f,e=t(90809),a=t(16142),o=t(36003),u=t(93706),i=t(13278);s.exports=function(v,f){var c=v.target,d=v.global,h=v.stat,g,p,y,m,I,x;if(d?p=r:h?p=r[c]||o(c,{}):p=r[c]&&r[c].prototype,p)for(y in f){if(I=f[y],v.dontCallGetSet?(x=n(p,y),m=x&&x.value):m=p[y],g=i(d?y:c+(h?".":"#")+y,v.forced),!g&&m!==void 0){if(typeof I==typeof m)continue;u(I,m)}(v.sham||m&&m.sham)&&e(I,"sham",!0),a(p,y,I,v)}}},72069:function(s){s.exports=function(l){try{return!!l()}catch(t){return!0}}},63194:function(s,l,t){t(31145);var r=t(96499),n=t(16142),e=t(44381),a=t(72069),o=t(18565),u=t(90809),i=o("species"),v=RegExp.prototype;s.exports=function(f,c,d,h){var g=o(f),p=!a(function(){var x={};return x[g]=function(){return 7},""[f](x)!==7}),y=p&&!a(function(){var x=!1,S=/a/;return f==="split"&&(S={},S.constructor={},S.constructor[i]=function(){return S},S.flags="",S[g]=/./[g]),S.exec=function(){return x=!0,null},S[g](""),!x});if(!p||!y||d){var m=/./[g],I=c(g,""[f],function(x,S,T,E,O){var A=S.exec;return A===e||A===v.exec?p&&!O?{done:!0,value:r(m,S,T,E)}:{done:!0,value:r(x,T,S,E)}:{done:!1}});n(String.prototype,f,I[0]),n(v,g,I[1])}h&&u(v[g],"sham",!0)}},53149:function(s,l,t){var r=t(3438),n=t(82628),e=t(20095),a=t(45526),o=function(u,i,v,f,c,d,h,g){for(var p=c,y=0,m=h?a(h,g):!1,I,x;y0&&r(I)?(x=n(I),p=o(u,i,I,x,p,d-1)-1):(e(p+1),u[p]=I),p++),y++;return p};s.exports=o},27534:function(s,l,t){var r=t(72069);s.exports=!r(function(){return Object.isExtensible(Object.preventExtensions({}))})},66543:function(s,l,t){var r=t(87878),n=Function.prototype,e=n.apply,a=n.call;s.exports=typeof Reflect=="object"&&Reflect.apply||(r?a.bind(e):function(){return a.apply(e,arguments)})},45526:function(s,l,t){var r=t(77422),n=t(85156),e=t(87878),a=r(r.bind);s.exports=function(o,u){return n(o),u===void 0?o:e?a(o,u):function(){return o.apply(u,arguments)}}},87878:function(s,l,t){var r=t(72069);s.exports=!r(function(){var n=function(){}.bind();return typeof n!="function"||n.hasOwnProperty("prototype")})},91384:function(s,l,t){var r=t(11286),n=t(85156),e=t(37540),a=t(94879),o=t(22806),u=t(87878),i=Function,v=r([].concat),f=r([].join),c={},d=function(h,g,p){if(!a(c,g)){for(var y=[],m=0;m]*>)/g,v=/\$([$&'`]|\d{1,2})/g;s.exports=function(f,c,d,h,g,p){var y=d+f.length,m=h.length,I=v;return g!==void 0&&(g=n(g),I=i),o(p,I,function(x,S){var T;switch(a(S,0)){case"$":return"$";case"&":return f;case"`":return u(c,0,d);case"'":return u(c,y);case"<":T=g[u(S,1,-1)];break;default:var E=+S;if(E===0)return x;if(E>m){var O=e(E/10);return O===0?x:O<=m?h[O-1]===void 0?a(S,1):h[O-1]+a(S,1):x}T=h[E-1]}return T===void 0?"":T})}},34246:function(s){var l=function(t){return t&&t.Math===Math&&t};s.exports=l(typeof globalThis=="object"&&globalThis)||l(typeof window=="object"&&window)||l(typeof self=="object"&&self)||l(typeof global=="object"&&global)||l(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},94879:function(s,l,t){var r=t(11286),n=t(49671),e=r({}.hasOwnProperty);s.exports=Object.hasOwn||function(o,u){return e(n(o),u)}},19423:function(s){s.exports={}},99095:function(s){s.exports=function(l,t){try{arguments.length===1?console.error(l):console.error(l,t)}catch(r){}}},96439:function(s,l,t){var r=t(38941);s.exports=r("document","documentElement")},52515:function(s,l,t){var r=t(92986),n=t(72069),e=t(85501);s.exports=!r&&!n(function(){return Object.defineProperty(e("div"),"a",{get:function(){return 7}}).a!==7})},25212:function(s){var l=Array,t=Math.abs,r=Math.pow,n=Math.floor,e=Math.log,a=Math.LN2,o=function(i,v,f){var c=l(f),d=f*8-v-1,h=(1<>1,p=v===23?r(2,-24)-r(2,-77):0,y=i<0||i===0&&1/i<0?1:0,m=0,I,x,S;for(i=t(i),i!==i||i===1/0?(x=i!==i?1:0,I=h):(I=n(e(i)/a),S=r(2,-I),i*S<1&&(I--,S*=2),I+g>=1?i+=p/S:i+=p*r(2,1-g),i*S>=2&&(I++,S/=2),I+g>=h?(x=0,I=h):I+g>=1?(x=(i*S-1)*r(2,v),I+=g):(x=i*r(2,g-1)*r(2,v),I=0));v>=8;)c[m++]=x&255,x/=256,v-=8;for(I=I<0;)c[m++]=I&255,I/=256,d-=8;return c[m-1]|=y*128,c},u=function(i,v){var f=i.length,c=f*8-v-1,d=(1<>1,g=c-7,p=f-1,y=i[p--],m=y&127,I;for(y>>=7;g>0;)m=m*256+i[p--],g-=8;for(I=m&(1<<-g)-1,m>>=-g,g+=v;g>0;)I=I*256+i[p--],g-=8;if(m===0)m=1-h;else{if(m===d)return I?NaN:y?-1/0:1/0;I+=r(2,v),m-=h}return(y?-1:1)*I*r(2,m-v)};s.exports={pack:o,unpack:u}},72181:function(s,l,t){var r=t(11286),n=t(72069),e=t(14274),a=Object,o=r("".split);s.exports=n(function(){return!a("z").propertyIsEnumerable(0)})?function(u){return e(u)==="String"?o(u,""):a(u)}:a},32345:function(s,l,t){var r=t(23583),n=t(37540),e=t(15861);s.exports=function(a,o,u){var i,v;return e&&r(i=o.constructor)&&i!==u&&n(v=i.prototype)&&v!==u.prototype&&e(a,v),a}},84352:function(s,l,t){var r=t(11286),n=t(23583),e=t(70443),a=r(Function.toString);n(e.inspectSource)||(e.inspectSource=function(o){return a(o)}),s.exports=e.inspectSource},31486:function(s,l,t){var r=t(37540),n=t(90809);s.exports=function(e,a){r(a)&&"cause"in a&&n(e,"cause",a.cause)}},31853:function(s,l,t){var r=t(14304),n=t(11286),e=t(19423),a=t(37540),o=t(94879),u=t(7831).f,i=t(83258),v=t(92880),f=t(28174),c=t(36374),d=t(27534),h=!1,g=c("meta"),p=0,y=function(E){u(E,g,{value:{objectID:"O"+p++,weakData:{}}})},m=function(E,O){if(!a(E))return typeof E=="symbol"?E:(typeof E=="string"?"S":"P")+E;if(!o(E,g)){if(!f(E))return"F";if(!O)return"E";y(E)}return E[g].objectID},I=function(E,O){if(!o(E,g)){if(!f(E))return!0;if(!O)return!1;y(E)}return E[g].weakData},x=function(E){return d&&h&&f(E)&&!o(E,g)&&y(E),E},S=function(){T.enable=function(){},h=!0;var E=i.f,O=n([].splice),A={};A[g]=1,E(A).length&&(i.f=function(C){for(var P=E(C),N=0,$=P.length;N<$;N++)if(P[N]===g){O(P,N,1);break}return P},r({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:v.f}))},T=s.exports={enable:S,fastKey:m,getWeakData:I,onFreeze:x};e[g]=!0},82367:function(s,l,t){var r=t(42960),n=t(34246),e=t(37540),a=t(90809),o=t(94879),u=t(70443),i=t(44869),v=t(19423),f="Object already initialized",c=n.TypeError,d=n.WeakMap,h,g,p,y=function(S){return p(S)?g(S):h(S,{})},m=function(S){return function(T){var E;if(!e(T)||(E=g(T)).type!==S)throw new c("Incompatible receiver, "+S+" required");return E}};if(r||u.state){var I=u.state||(u.state=new d);I.get=I.get,I.has=I.has,I.set=I.set,h=function(S,T){if(I.has(S))throw new c(f);return T.facade=S,I.set(S,T),T},g=function(S){return I.get(S)||{}},p=function(S){return I.has(S)}}else{var x=i("state");v[x]=!0,h=function(S,T){if(o(S,x))throw new c(f);return T.facade=S,a(S,x,T),T},g=function(S){return o(S,x)?S[x]:{}},p=function(S){return o(S,x)}}s.exports={set:h,get:g,has:p,enforce:y,getterFor:m}},48199:function(s,l,t){var r=t(18565),n=t(29107),e=r("iterator"),a=Array.prototype;s.exports=function(o){return o!==void 0&&(n.Array===o||a[e]===o)}},3438:function(s,l,t){var r=t(14274);s.exports=Array.isArray||function(e){return r(e)==="Array"}},77129:function(s,l,t){var r=t(9205);s.exports=function(n){var e=r(n);return e==="BigInt64Array"||e==="BigUint64Array"}},23583:function(s){var l=typeof document=="object"&&document.all;s.exports=typeof l=="undefined"&&l!==void 0?function(t){return typeof t=="function"||t===l}:function(t){return typeof t=="function"}},11051:function(s,l,t){var r=t(11286),n=t(72069),e=t(23583),a=t(9205),o=t(38941),u=t(84352),i=function(){},v=o("Reflect","construct"),f=/^\s*(?:class|function)\b/,c=r(f.exec),d=!f.test(i),h=function(y){if(!e(y))return!1;try{return v(i,[],y),!0}catch(m){return!1}},g=function(y){if(!e(y))return!1;switch(a(y)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return d||!!c(f,u(y))}catch(m){return!0}};g.sham=!0,s.exports=!v||n(function(){var p;return h(h.call)||!h(Object)||!h(function(){p=!0})||p})?g:h},69745:function(s,l,t){var r=t(94879);s.exports=function(n){return n!==void 0&&(r(n,"value")||r(n,"writable"))}},13278:function(s,l,t){var r=t(72069),n=t(23583),e=/#|\.prototype\./,a=function(f,c){var d=u[o(f)];return d===v?!0:d===i?!1:n(c)?r(c):!!c},o=a.normalize=function(f){return String(f).replace(e,".").toLowerCase()},u=a.data={},i=a.NATIVE="N",v=a.POLYFILL="P";s.exports=a},613:function(s,l,t){var r=t(37540),n=Math.floor;s.exports=Number.isInteger||function(a){return!r(a)&&isFinite(a)&&n(a)===a}},5683:function(s){s.exports=function(l){return l==null}},37540:function(s,l,t){var r=t(23583);s.exports=function(n){return typeof n=="object"?n!==null:r(n)}},52427:function(s,l,t){var r=t(37540);s.exports=function(n){return r(n)||n===null}},70457:function(s){s.exports=!1},11566:function(s,l,t){var r=t(37540),n=t(14274),e=t(18565),a=e("match");s.exports=function(o){var u;return r(o)&&((u=o[a])!==void 0?!!u:n(o)==="RegExp")}},491:function(s,l,t){var r=t(38941),n=t(23583),e=t(95307),a=t(50234),o=Object;s.exports=a?function(u){return typeof u=="symbol"}:function(u){var i=r("Symbol");return n(i)&&e(i.prototype,o(u))}},9573:function(s,l,t){var r=t(96499);s.exports=function(n,e,a){for(var o=a?n:n.iterator,u=n.next,i,v;!(i=r(u,o)).done;)if(v=e(i.value),v!==void 0)return v}},55902:function(s,l,t){var r=t(45526),n=t(96499),e=t(25001),a=t(82453),o=t(48199),u=t(82628),i=t(95307),v=t(90619),f=t(81077),c=t(99797),d=TypeError,h=function(p,y){this.stopped=p,this.result=y},g=h.prototype;s.exports=function(p,y,m){var I=m&&m.that,x=!!(m&&m.AS_ENTRIES),S=!!(m&&m.IS_RECORD),T=!!(m&&m.IS_ITERATOR),E=!!(m&&m.INTERRUPTED),O=r(y,I),A,C,P,N,$,U,D,F=function(j){return A&&c(A,"normal",j),new h(!0,j)},L=function(j){return x?(e(j),E?O(j[0],j[1],F):O(j[0],j[1])):E?O(j,F):O(j)};if(S)A=p.iterator;else if(T)A=p;else{if(C=f(p),!C)throw new d(a(p)+" is not iterable");if(o(C)){for(P=0,N=u(p);N>P;P++)if($=L(p[P]),$&&i(g,$))return $;return new h(!1)}A=v(p,C)}for(U=S?p.next:A.next;!(D=n(U,A)).done;){try{$=L(D.value)}catch(j){c(A,"throw",j)}if(typeof $=="object"&&$&&i(g,$))return $}return new h(!1)}},99797:function(s,l,t){var r=t(96499),n=t(25001),e=t(10512);s.exports=function(a,o,u){var i,v;n(a);try{if(i=e(a,"return"),!i){if(o==="throw")throw u;return u}i=r(i,a)}catch(f){v=!0,i=f}if(o==="throw")throw u;if(v)throw i;return n(i),u}},26820:function(s,l,t){var r=t(24519).IteratorPrototype,n=t(5406),e=t(18526),a=t(78401),o=t(29107),u=function(){return this};s.exports=function(i,v,f,c){var d=v+" Iterator";return i.prototype=n(r,{next:e(+!c,f)}),a(i,d,!1,!0),o[d]=u,i}},44736:function(s,l,t){var r=t(96499),n=t(5406),e=t(90809),a=t(2725),o=t(18565),u=t(82367),i=t(10512),v=t(24519).IteratorPrototype,f=t(10659),c=t(99797),d=o("toStringTag"),h="IteratorHelper",g="WrapForValidIterator",p=u.set,y=function(x){var S=u.getterFor(x?g:h);return a(n(v),{next:function(){var E=S(this);if(x)return E.nextHandler();try{var O=E.done?void 0:E.nextHandler();return f(O,E.done)}catch(A){throw E.done=!0,A}},return:function(){var T=S(this),E=T.iterator;if(T.done=!0,x){var O=i(E,"return");return O?r(O,E):f(void 0,!0)}if(T.inner)try{c(T.inner.iterator,"normal")}catch(A){return c(E,"throw",A)}return E&&c(E,"normal"),f(void 0,!0)}})},m=y(!0),I=y(!1);e(I,d,"Iterator Helper"),s.exports=function(x,S){var T=function(O,A){A?(A.iterator=O.iterator,A.next=O.next):A=O,A.type=S?g:h,A.nextHandler=x,A.counter=0,A.done=!1,p(this,A)};return T.prototype=S?m:I,T}},10218:function(s,l,t){var r=t(14304),n=t(96499),e=t(70457),a=t(86588),o=t(23583),u=t(26820),i=t(26313),v=t(15861),f=t(78401),c=t(90809),d=t(16142),h=t(18565),g=t(29107),p=t(24519),y=a.PROPER,m=a.CONFIGURABLE,I=p.IteratorPrototype,x=p.BUGGY_SAFARI_ITERATORS,S=h("iterator"),T="keys",E="values",O="entries",A=function(){return this};s.exports=function(C,P,N,$,U,D,F){u(N,P,$);var L=function(mt){if(mt===U&&z)return z;if(!x&&mt&&mt in b)return b[mt];switch(mt){case T:return function(){return new N(this,mt)};case E:return function(){return new N(this,mt)};case O:return function(){return new N(this,mt)}}return function(){return new N(this)}},j=P+" Iterator",W=!1,b=C.prototype,K=b[S]||b["@@iterator"]||U&&b[U],z=!x&&K||L(U),it=P==="Array"&&b.entries||K,et,lt,pt;if(it&&(et=i(it.call(new C)),et!==Object.prototype&&et.next&&(!e&&i(et)!==I&&(v?v(et,I):o(et[S])||d(et,S,A)),f(et,j,!0,!0),e&&(g[j]=A))),y&&U===E&&K&&K.name!==E&&(!e&&m?c(b,"name",E):(W=!0,z=function(){return n(K,this)})),U)if(lt={values:L(E),keys:D?z:L(T),entries:L(O)},F)for(pt in lt)(x||W||!(pt in b))&&d(b,pt,lt[pt]);else r({target:P,proto:!0,forced:x||W},lt);return(!e||F)&&b[S]!==z&&d(b,S,z,{name:U}),g[P]=z,lt}},96191:function(s,l,t){var r=t(96499),n=t(85156),e=t(25001),a=t(10613),o=t(44736),u=t(39969),i=o(function(){var v=this.iterator,f=e(r(this.next,v)),c=this.done=!!f.done;if(!c)return u(v,this.mapper,[f.value,this.counter++],!0)});s.exports=function(f){return e(this),n(f),new i(a(this),{mapper:f})}},24519:function(s,l,t){var r=t(72069),n=t(23583),e=t(37540),a=t(5406),o=t(26313),u=t(16142),i=t(18565),v=t(70457),f=i("iterator"),c=!1,d,h,g;[].keys&&(g=[].keys(),"next"in g?(h=o(o(g)),h!==Object.prototype&&(d=h)):c=!0);var p=!e(d)||r(function(){var y={};return d[f].call(y)!==y});p?d={}:v&&(d=a(d)),n(d[f])||u(d,f,function(){return this}),s.exports={IteratorPrototype:d,BUGGY_SAFARI_ITERATORS:c}},29107:function(s){s.exports={}},82628:function(s,l,t){var r=t(45344);s.exports=function(n){return r(n.length)}},13749:function(s,l,t){var r=t(11286),n=t(72069),e=t(23583),a=t(94879),o=t(92986),u=t(86588).CONFIGURABLE,i=t(84352),v=t(82367),f=v.enforce,c=v.get,d=String,h=Object.defineProperty,g=r("".slice),p=r("".replace),y=r([].join),m=o&&!n(function(){return h(function(){},"length",{value:8}).length!==8}),I=String(String).split("String"),x=s.exports=function(S,T,E){g(d(T),0,7)==="Symbol("&&(T="["+p(d(T),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),E&&E.getter&&(T="get "+T),E&&E.setter&&(T="set "+T),(!a(S,"name")||u&&S.name!==T)&&(o?h(S,"name",{value:T,configurable:!0}):S.name=T),m&&E&&a(E,"arity")&&S.length!==E.arity&&h(S,"length",{value:E.arity});try{E&&a(E,"constructor")&&E.constructor?o&&h(S,"prototype",{writable:!1}):S.prototype&&(S.prototype=void 0)}catch(A){}var O=f(S);return a(O,"source")||(O.source=y(I,typeof T=="string"?T:"")),S};Function.prototype.toString=x(function(){return e(this)&&c(this).source||i(this)},"toString")},1774:function(s,l,t){var r=t(11286),n=Map.prototype;s.exports={Map,set:r(n.set),get:r(n.get),has:r(n.has),remove:r(n.delete),proto:n}},98940:function(s){var l=Math.expm1,t=Math.exp;s.exports=!l||l(10)>22025.465794806718||l(10)<22025.465794806718||l(-2e-17)!==-2e-17?function(n){var e=+n;return e===0?e:e>-1e-6&&e<1e-6?e+e*e/2:t(e)-1}:l},10418:function(s,l,t){var r=t(93976),n=Math.abs,e=2220446049250313e-31,a=1/e,o=function(u){return u+a-a};s.exports=function(u,i,v,f){var c=+u,d=n(c),h=r(c);if(dv||p!==p?h*(1/0):h*p}},93279:function(s,l,t){var r=t(10418),n=11920928955078125e-23,e=34028234663852886e22,a=11754943508222875e-54;s.exports=Math.fround||function(u){return r(u,n,e,a)}},41942:function(s){var l=Math.log,t=Math.LOG10E;s.exports=Math.log10||function(n){return l(n)*t}},49366:function(s){var l=Math.log;s.exports=Math.log1p||function(r){var n=+r;return n>-1e-8&&n<1e-8?n-n*n/2:l(1+n)}},93976:function(s){s.exports=Math.sign||function(t){var r=+t;return r===0||r!==r?r:r<0?-1:1}},22459:function(s){var l=Math.ceil,t=Math.floor;s.exports=Math.trunc||function(n){var e=+n;return(e>0?t:l)(e)}},9709:function(s,l,t){var r=t(34246),n=t(28167),e=t(45526),a=t(23115).set,o=t(76895),u=t(5286),i=t(7307),v=t(67722),f=t(91707),c=r.MutationObserver||r.WebKitMutationObserver,d=r.document,h=r.process,g=r.Promise,p=n("queueMicrotask"),y,m,I,x,S;if(!p){var T=new o,E=function(){var O,A;for(f&&(O=h.domain)&&O.exit();A=T.get();)try{A()}catch(C){throw T.head&&y(),C}O&&O.enter()};!u&&!f&&!v&&c&&d?(m=!0,I=d.createTextNode(""),new c(E).observe(I,{characterData:!0}),y=function(){I.data=m=!m}):!i&&g&&g.resolve?(x=g.resolve(void 0),x.constructor=g,S=e(x.then,x),y=function(){S(E)}):f?y=function(){h.nextTick(E)}:(a=e(a,r),y=function(){a(E)}),p=function(O){T.head||y(),T.add(O)}}s.exports=p},24649:function(s,l,t){var r=t(85156),n=TypeError,e=function(a){var o,u;this.promise=new a(function(i,v){if(o!==void 0||u!==void 0)throw new n("Bad Promise constructor");o=i,u=v}),this.resolve=r(o),this.reject=r(u)};s.exports.f=function(a){return new e(a)}},15453:function(s,l,t){var r=t(17361);s.exports=function(n,e){return n===void 0?arguments.length<2?"":e:r(n)}},93483:function(s){var l=RangeError;s.exports=function(t){if(t===t)return t;throw new l("NaN is not allowed")}},92337:function(s,l,t){var r=t(11566),n=TypeError;s.exports=function(e){if(r(e))throw new n("The method doesn't accept regular expressions");return e}},98074:function(s,l,t){var r=t(34246),n=r.isFinite;s.exports=Number.isFinite||function(a){return typeof a=="number"&&n(a)}},25838:function(s,l,t){var r=t(34246),n=t(72069),e=t(11286),a=t(17361),o=t(85900).trim,u=t(77082),i=e("".charAt),v=r.parseFloat,f=r.Symbol,c=f&&f.iterator,d=1/v(u+"-0")!==-1/0||c&&!n(function(){v(Object(c))});s.exports=d?function(g){var p=o(a(g)),y=v(p);return y===0&&i(p,0)==="-"?-0:y}:v},23009:function(s,l,t){var r=t(34246),n=t(72069),e=t(11286),a=t(17361),o=t(85900).trim,u=t(77082),i=r.parseInt,v=r.Symbol,f=v&&v.iterator,c=/^[+-]?0x/i,d=e(c.exec),h=i(u+"08")!==8||i(u+"0x16")!==22||f&&!n(function(){i(Object(f))});s.exports=h?function(p,y){var m=o(a(p));return i(m,y>>>0||(d(c,m)?16:10))}:i},16667:function(s,l,t){var r=t(92986),n=t(11286),e=t(96499),a=t(72069),o=t(18350),u=t(24943),i=t(79591),v=t(49671),f=t(72181),c=Object.assign,d=Object.defineProperty,h=n([].concat);s.exports=!c||a(function(){if(r&&c({b:1},c(d({},"a",{enumerable:!0,get:function(){d(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var g={},p={},y=Symbol("assign detection"),m="abcdefghijklmnopqrst";return g[y]=7,m.split("").forEach(function(I){p[I]=I}),c({},g)[y]!==7||o(c({},p)).join("")!==m})?function(p,y){for(var m=v(p),I=arguments.length,x=1,S=u.f,T=i.f;I>x;)for(var E=f(arguments[x++]),O=S?h(o(E),S(E)):o(E),A=O.length,C=0,P;A>C;)P=O[C++],(!r||e(T,E,P))&&(m[P]=E[P]);return m}:c},5406:function(s,l,t){var r=t(25001),n=t(61963),e=t(75785),a=t(19423),o=t(96439),u=t(85501),i=t(44869),v=">",f="<",c="prototype",d="script",h=i("IE_PROTO"),g=function(){},p=function(S){return f+d+v+S+f+"/"+d+v},y=function(S){S.write(p("")),S.close();var T=S.parentWindow.Object;return S=null,T},m=function(){var S=u("iframe"),T="java"+d+":",E;return S.style.display="none",o.appendChild(S),S.src=String(T),E=S.contentWindow.document,E.open(),E.write(p("document.F=Object")),E.close(),E.F},I,x=function(){try{I=new ActiveXObject("htmlfile")}catch(T){}x=typeof document!="undefined"?document.domain&&I?y(I):m():y(I);for(var S=e.length;S--;)delete x[c][e[S]];return x()};a[h]=!0,s.exports=Object.create||function(T,E){var O;return T!==null?(g[c]=r(T),O=new g,g[c]=null,O[h]=T):O=x(),E===void 0?O:n.f(O,E)}},61963:function(s,l,t){var r=t(92986),n=t(356),e=t(7831),a=t(25001),o=t(36859),u=t(18350);l.f=r&&!n?Object.defineProperties:function(v,f){a(v);for(var c=o(f),d=u(f),h=d.length,g=0,p;h>g;)e.f(v,p=d[g++],c[p]);return v}},7831:function(s,l,t){var r=t(92986),n=t(52515),e=t(356),a=t(25001),o=t(50035),u=TypeError,i=Object.defineProperty,v=Object.getOwnPropertyDescriptor,f="enumerable",c="configurable",d="writable";l.f=r?e?function(g,p,y){if(a(g),p=o(p),a(y),typeof g=="function"&&p==="prototype"&&"value"in y&&d in y&&!y[d]){var m=v(g,p);m&&m[d]&&(g[p]=y.value,y={configurable:c in y?y[c]:m[c],enumerable:f in y?y[f]:m[f],writable:!1})}return i(g,p,y)}:i:function(g,p,y){if(a(g),p=o(p),a(y),n)try{return i(g,p,y)}catch(m){}if("get"in y||"set"in y)throw new u("Accessors not supported");return"value"in y&&(g[p]=y.value),g}},71349:function(s,l,t){var r=t(92986),n=t(96499),e=t(79591),a=t(18526),o=t(36859),u=t(50035),i=t(94879),v=t(52515),f=Object.getOwnPropertyDescriptor;l.f=r?f:function(d,h){if(d=o(d),h=u(h),v)try{return f(d,h)}catch(g){}if(i(d,h))return a(!n(e.f,d,h),d[h])}},92880:function(s,l,t){var r=t(14274),n=t(36859),e=t(83258).f,a=t(22806),o=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(i){try{return e(i)}catch(v){return a(o)}};s.exports.f=function(v){return o&&r(v)==="Window"?u(v):e(n(v))}},83258:function(s,l,t){var r=t(6242),n=t(75785),e=n.concat("length","prototype");l.f=Object.getOwnPropertyNames||function(o){return r(o,e)}},24943:function(s,l){l.f=Object.getOwnPropertySymbols},26313:function(s,l,t){var r=t(94879),n=t(23583),e=t(49671),a=t(44869),o=t(87501),u=a("IE_PROTO"),i=Object,v=i.prototype;s.exports=o?i.getPrototypeOf:function(f){var c=e(f);if(r(c,u))return c[u];var d=c.constructor;return n(d)&&c instanceof d?d.prototype:c instanceof i?v:null}},28174:function(s,l,t){var r=t(72069),n=t(37540),e=t(14274),a=t(72058),o=Object.isExtensible,u=r(function(){o(1)});s.exports=u||a?function(v){return!n(v)||a&&e(v)==="ArrayBuffer"?!1:o?o(v):!0}:o},95307:function(s,l,t){var r=t(11286);s.exports=r({}.isPrototypeOf)},6242:function(s,l,t){var r=t(11286),n=t(94879),e=t(36859),a=t(94319).indexOf,o=t(19423),u=r([].push);s.exports=function(i,v){var f=e(i),c=0,d=[],h;for(h in f)!n(o,h)&&n(f,h)&&u(d,h);for(;v.length>c;)n(f,h=v[c++])&&(~a(d,h)||u(d,h));return d}},18350:function(s,l,t){var r=t(6242),n=t(75785);s.exports=Object.keys||function(a){return r(a,n)}},79591:function(s,l){var t={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,n=r&&!t.call({1:2},1);l.f=n?function(a){var o=r(this,a);return!!o&&o.enumerable}:t},57629:function(s,l,t){var r=t(70457),n=t(34246),e=t(72069),a=t(66577);s.exports=r||!e(function(){if(!(a&&a<535)){var o=Math.random();__defineSetter__.call(null,o,function(){}),delete n[o]}})},15861:function(s,l,t){var r=t(84756),n=t(37540),e=t(2068),a=t(53408);s.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var o=!1,u={},i;try{i=r(Object.prototype,"__proto__","set"),i(u,[]),o=u instanceof Array}catch(v){}return function(f,c){return e(f),a(c),n(f)&&(o?i(f,c):f.__proto__=c),f}}():void 0)},8511:function(s,l,t){var r=t(92986),n=t(72069),e=t(11286),a=t(26313),o=t(18350),u=t(36859),i=t(79591).f,v=e(i),f=e([].push),c=r&&n(function(){var h=Object.create(null);return h[2]=2,!v(h,2)}),d=function(h){return function(g){for(var p=u(g),y=o(p),m=c&&a(p)===null,I=y.length,x=0,S=[],T;I>x;)T=y[x++],(!r||(m?T in p:v(p,T)))&&f(S,h?[T,p[T]]:p[T]);return S}};s.exports={entries:d(!0),values:d(!1)}},60105:function(s,l,t){var r=t(67878),n=t(9205);s.exports=r?{}.toString:function(){return"[object "+n(this)+"]"}},2064:function(s,l,t){var r=t(96499),n=t(23583),e=t(37540),a=TypeError;s.exports=function(o,u){var i,v;if(u==="string"&&n(i=o.toString)&&!e(v=r(i,o))||n(i=o.valueOf)&&!e(v=r(i,o))||u!=="string"&&n(i=o.toString)&&!e(v=r(i,o)))return v;throw new a("Can't convert object to primitive value")}},16885:function(s,l,t){var r=t(38941),n=t(11286),e=t(83258),a=t(24943),o=t(25001),u=n([].concat);s.exports=r("Reflect","ownKeys")||function(v){var f=e.f(o(v)),c=a.f;return c?u(f,c(v)):f}},75081:function(s,l,t){var r=t(34246);s.exports=r},67805:function(s){s.exports=function(l){try{return{error:!1,value:l()}}catch(t){return{error:!0,value:t}}}},37130:function(s,l,t){var r=t(34246),n=t(98844),e=t(23583),a=t(13278),o=t(84352),u=t(18565),i=t(21501),v=t(70457),f=t(44241),c=n&&n.prototype,d=u("species"),h=!1,g=e(r.PromiseRejectionEvent),p=a("Promise",function(){var y=o(n),m=y!==String(n);if(!m&&f===66||v&&!(c.catch&&c.finally))return!0;if(!f||f<51||!/native code/.test(y)){var I=new n(function(T){T(1)}),x=function(T){T(function(){},function(){})},S=I.constructor={};if(S[d]=x,h=I.then(function(){})instanceof x,!h)return!0}return!m&&(i==="BROWSER"||i==="DENO")&&!g});s.exports={CONSTRUCTOR:p,REJECTION_EVENT:g,SUBCLASSING:h}},98844:function(s,l,t){var r=t(34246);s.exports=r.Promise},87408:function(s,l,t){var r=t(25001),n=t(37540),e=t(24649);s.exports=function(a,o){if(r(a),n(o)&&o.constructor===a)return o;var u=e.f(a),i=u.resolve;return i(o),u.promise}},26035:function(s,l,t){var r=t(98844),n=t(97494),e=t(37130).CONSTRUCTOR;s.exports=e||!n(function(a){r.all(a).then(void 0,function(){})})},2594:function(s,l,t){var r=t(7831).f;s.exports=function(n,e,a){a in n||r(n,a,{configurable:!0,get:function(){return e[a]},set:function(o){e[a]=o}})}},76895:function(s){var l=function(){this.head=null,this.tail=null};l.prototype={add:function(t){var r={item:t,next:null},n=this.tail;n?n.next=r:this.head=r,this.tail=r},get:function(){var t=this.head;if(t){var r=this.head=t.next;return r===null&&(this.tail=null),t.item}}},s.exports=l},33064:function(s,l,t){var r=t(96499),n=t(25001),e=t(23583),a=t(14274),o=t(44381),u=TypeError;s.exports=function(i,v){var f=i.exec;if(e(f)){var c=r(f,i,v);return c!==null&&n(c),c}if(a(i)==="RegExp")return r(o,i,v);throw new u("RegExp#exec called on incompatible receiver")}},44381:function(s,l,t){var r=t(96499),n=t(11286),e=t(17361),a=t(29833),o=t(39807),u=t(96731),i=t(5406),v=t(82367).get,f=t(76769),c=t(85220),d=u("native-string-replace",String.prototype.replace),h=RegExp.prototype.exec,g=h,p=n("".charAt),y=n("".indexOf),m=n("".replace),I=n("".slice),x=function(){var O=/a/,A=/b*/g;return r(h,O,"a"),r(h,A,"a"),O.lastIndex!==0||A.lastIndex!==0}(),S=o.BROKEN_CARET,T=/()??/.exec("")[1]!==void 0,E=x||T||S||f||c;E&&(g=function(A){var C=this,P=v(C),N=e(A),$=P.raw,U,D,F,L,j,W,b;if($)return $.lastIndex=C.lastIndex,U=r(g,$,N),C.lastIndex=$.lastIndex,U;var K=P.groups,z=S&&C.sticky,it=r(a,C),et=C.source,lt=0,pt=N;if(z&&(it=m(it,"y",""),y(it,"g")===-1&&(it+="g"),pt=I(N,C.lastIndex),C.lastIndex>0&&(!C.multiline||C.multiline&&p(N,C.lastIndex-1)!==` `)&&(et="(?: "+et+")",pt=" "+pt,lt++),D=new RegExp("^(?:"+et+")",it)),T&&(D=new RegExp("^"+et+"$(?!\\s)",it)),x&&(F=C.lastIndex),L=r(h,z?D:C,pt),z?L?(L.input=I(L.input,lt),L[0]=I(L[0],lt),L.index=C.lastIndex,C.lastIndex+=L[0].length):C.lastIndex=0:x&&L&&(C.lastIndex=C.global?L.index+L[0].length:F),T&&L&&L.length>1&&r(d,L[0],D,function(){for(j=1;jb)","g");return a.exec("b").groups.a!=="b"||"b".replace(a,"$c")!=="bc"})},2068:function(s,l,t){var r=t(5683),n=TypeError;s.exports=function(e){if(r(e))throw new n("Can't call method on "+e);return e}},28167:function(s,l,t){var r=t(34246),n=t(92986),e=Object.getOwnPropertyDescriptor;s.exports=function(a){if(!n)return r[a];var o=e(r,a);return o&&o.value}},13944:function(s){s.exports=Object.is||function(t,r){return t===r?t!==0||1/t===1/r:t!==t&&r!==r}},9934:function(s,l,t){var r=t(34246),n=t(66543),e=t(23583),a=t(21501),o=t(18257),u=t(22806),i=t(95486),v=r.Function,f=/MSIE .\./.test(o)||a==="BUN"&&function(){var c=r.Bun.version.split(".");return c.length<3||c[0]==="0"&&(c[1]<3||c[1]==="3"&&c[2]==="0")}();s.exports=function(c,d){var h=d?2:1;return f?function(g,p){var y=i(arguments.length,1)>h,m=e(g)?g:v(g),I=y?u(arguments,h):[],x=y?function(){n(m,this,I)}:m;return d?c(x,p):c(x)}:c}},48348:function(s,l,t){var r=t(172),n=t(35051),e=r.Set,a=r.add;s.exports=function(o){var u=new e;return n(o,function(i){a(u,i)}),u}},41754:function(s,l,t){var r=t(76602),n=t(172),e=t(48348),a=t(17768),o=t(65263),u=t(35051),i=t(9573),v=n.has,f=n.remove;s.exports=function(d){var h=r(this),g=o(d),p=e(h);return a(h)<=g.size?u(h,function(y){g.includes(y)&&f(p,y)}):i(g.getIterator(),function(y){v(h,y)&&f(p,y)}),p}},172:function(s,l,t){var r=t(11286),n=Set.prototype;s.exports={Set,add:r(n.add),has:r(n.has),remove:r(n.delete),proto:n}},92292:function(s,l,t){var r=t(76602),n=t(172),e=t(17768),a=t(65263),o=t(35051),u=t(9573),i=n.Set,v=n.add,f=n.has;s.exports=function(d){var h=r(this),g=a(d),p=new i;return e(h)>g.size?u(g.getIterator(),function(y){f(h,y)&&v(p,y)}):o(h,function(y){g.includes(y)&&v(p,y)}),p}},47391:function(s,l,t){var r=t(76602),n=t(172).has,e=t(17768),a=t(65263),o=t(35051),u=t(9573),i=t(99797);s.exports=function(f){var c=r(this),d=a(f);if(e(c)<=d.size)return o(c,function(g){if(d.includes(g))return!1},!0)!==!1;var h=d.getIterator();return u(h,function(g){if(n(c,g))return i(h,"normal",!1)})!==!1}},75492:function(s,l,t){var r=t(76602),n=t(17768),e=t(35051),a=t(65263);s.exports=function(u){var i=r(this),v=a(u);return n(i)>v.size?!1:e(i,function(f){if(!v.includes(f))return!1},!0)!==!1}},1333:function(s,l,t){var r=t(76602),n=t(172).has,e=t(17768),a=t(65263),o=t(9573),u=t(99797);s.exports=function(v){var f=r(this),c=a(v);if(e(f)3})}},22149:function(s,l,t){var r=t(11286),n=t(12105),e=t(17361),a=t(2068),o=r("".charAt),u=r("".charCodeAt),i=r("".slice),v=function(f){return function(c,d){var h=e(a(c)),g=n(d),p=h.length,y,m;return g<0||g>=p?f?"":void 0:(y=u(h,g),y<55296||y>56319||g+1===p||(m=u(h,g+1))<56320||m>57343?f?o(h,g):y:f?i(h,g,g+2):(y-55296<<10)+(m-56320)+65536)}};s.exports={codeAt:v(!1),charAt:v(!0)}},36945:function(s,l,t){var r=t(18257);s.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(r)},61607:function(s,l,t){var r=t(11286),n=t(45344),e=t(17361),a=t(79719),o=t(2068),u=r(a),i=r("".slice),v=Math.ceil,f=function(c){return function(d,h,g){var p=e(o(d)),y=n(h),m=p.length,I=g===void 0?" ":e(g),x,S;return y<=m||I===""?p:(x=y-m,S=u(I,v(x/I.length)),S.length>x&&(S=i(S,0,x)),c?p+S:S+p)}};s.exports={start:f(!1),end:f(!0)}},38679:function(s,l,t){var r=t(11286),n=2147483647,e=36,a=1,o=26,u=38,i=700,v=72,f=128,c="-",d=/[^\0-\u007E]/,h=/[.\u3002\uFF0E\uFF61]/g,g="Overflow: input needs wider integers to process",p=e-a,y=RangeError,m=r(h.exec),I=Math.floor,x=String.fromCharCode,S=r("".charCodeAt),T=r([].join),E=r([].push),O=r("".replace),A=r("".split),C=r("".toLowerCase),P=function(D){for(var F=[],L=0,j=D.length;L=55296&&W<=56319&&L>1,D+=I(D/F);D>p*o>>1;)D=I(D/p),j+=e;return I(j+(p+1)*D/(D+u))},U=function(D){var F=[];D=P(D);var L=D.length,j=f,W=0,b=v,K,z;for(K=0;K=j&&zI((n-W)/pt))throw new y(g);for(W+=(lt-j)*pt,j=lt,K=0;Kn)throw new y(g);if(z===j){for(var mt=W,Bt=e;;){var Ut=Bt<=b?a:Bt>=b+o?o:Bt-b;if(mt0;(f>>>=1)&&(i+=i))f&1&&(v+=i);return v}},75176:function(s,l,t){var r=t(85900).end,n=t(33328);s.exports=n("trimEnd")?function(){return r(this)}:"".trimEnd},33328:function(s,l,t){var r=t(86588).PROPER,n=t(72069),e=t(77082),a="\u200B\x85\u180E";s.exports=function(o){return n(function(){return!!e[o]()||a[o]()!==a||r&&e[o].name!==o})}},83481:function(s,l,t){var r=t(85900).start,n=t(33328);s.exports=n("trimStart")?function(){return r(this)}:"".trimStart},85900:function(s,l,t){var r=t(11286),n=t(2068),e=t(17361),a=t(77082),o=r("".replace),u=RegExp("^["+a+"]+"),i=RegExp("(^|[^"+a+"])["+a+"]+$"),v=function(f){return function(c){var d=e(n(c));return f&1&&(d=o(d,u,"")),f&2&&(d=o(d,i,"$1")),d}};s.exports={start:v(1),end:v(2),trim:v(3)}},99050:function(s,l,t){var r=t(34246),n=t(72069),e=t(44241),a=t(21501),o=r.structuredClone;s.exports=!!o&&!n(function(){if(a==="DENO"&&e>92||a==="NODE"&&e>94||a==="BROWSER"&&e>97)return!1;var u=new ArrayBuffer(8),i=o(u,{transfer:[u]});return u.byteLength!==0||i.byteLength!==8})},39729:function(s,l,t){var r=t(44241),n=t(72069),e=t(34246),a=e.String;s.exports=!!Object.getOwnPropertySymbols&&!n(function(){var o=Symbol("symbol detection");return!a(o)||!(Object(o)instanceof Symbol)||!Symbol.sham&&r&&r<41})},60796:function(s,l,t){var r=t(96499),n=t(38941),e=t(18565),a=t(16142);s.exports=function(){var o=n("Symbol"),u=o&&o.prototype,i=u&&u.valueOf,v=e("toPrimitive");u&&!u[v]&&a(u,v,function(f){return r(i,this)},{arity:1})}},61190:function(s,l,t){var r=t(39729);s.exports=r&&!!Symbol.for&&!!Symbol.keyFor},23115:function(s,l,t){var r=t(34246),n=t(66543),e=t(45526),a=t(23583),o=t(94879),u=t(72069),i=t(96439),v=t(22806),f=t(85501),c=t(95486),d=t(5286),h=t(91707),g=r.setImmediate,p=r.clearImmediate,y=r.process,m=r.Dispatch,I=r.Function,x=r.MessageChannel,S=r.String,T=0,E={},O="onreadystatechange",A,C,P,N;u(function(){A=r.location});var $=function(L){if(o(E,L)){var j=E[L];delete E[L],j()}},U=function(L){return function(){$(L)}},D=function(L){$(L.data)},F=function(L){r.postMessage(S(L),A.protocol+"//"+A.host)};(!g||!p)&&(g=function(j){c(arguments.length,1);var W=a(j)?j:I(j),b=v(arguments,1);return E[++T]=function(){n(W,void 0,b)},C(T),T},p=function(j){delete E[j]},h?C=function(L){y.nextTick(U(L))}:m&&m.now?C=function(L){m.now(U(L))}:x&&!d?(P=new x,N=P.port2,P.port1.onmessage=D,C=e(N.postMessage,N)):r.addEventListener&&a(r.postMessage)&&!r.importScripts&&A&&A.protocol!=="file:"&&!u(F)?(C=F,r.addEventListener("message",D,!1)):O in f("script")?C=function(L){i.appendChild(f("script"))[O]=function(){i.removeChild(this),$(L)}}:C=function(L){setTimeout(U(L),0)}),s.exports={set:g,clear:p}},34338:function(s,l,t){var r=t(11286);s.exports=r(1 .valueOf)},4652:function(s,l,t){var r=t(12105),n=Math.max,e=Math.min;s.exports=function(a,o){var u=r(a);return u<0?n(u+o,0):e(u,o)}},11344:function(s,l,t){var r=t(89935),n=TypeError;s.exports=function(e){var a=r(e,"number");if(typeof a=="number")throw new n("Can't convert number to bigint");return BigInt(a)}},9450:function(s,l,t){var r=t(12105),n=t(45344),e=RangeError;s.exports=function(a){if(a===void 0)return 0;var o=r(a),u=n(o);if(o!==u)throw new e("Wrong length or index");return u}},36859:function(s,l,t){var r=t(72181),n=t(2068);s.exports=function(e){return r(n(e))}},12105:function(s,l,t){var r=t(22459);s.exports=function(n){var e=+n;return e!==e||e===0?0:r(e)}},45344:function(s,l,t){var r=t(12105),n=Math.min;s.exports=function(e){var a=r(e);return a>0?n(a,9007199254740991):0}},49671:function(s,l,t){var r=t(2068),n=Object;s.exports=function(e){return n(r(e))}},58143:function(s,l,t){var r=t(98072),n=RangeError;s.exports=function(e,a){var o=r(e);if(o%a)throw new n("Wrong offset");return o}},98072:function(s,l,t){var r=t(12105),n=RangeError;s.exports=function(e){var a=r(e);if(a<0)throw new n("The argument can't be less than 0");return a}},89935:function(s,l,t){var r=t(96499),n=t(37540),e=t(491),a=t(10512),o=t(2064),u=t(18565),i=TypeError,v=u("toPrimitive");s.exports=function(f,c){if(!n(f)||e(f))return f;var d=a(f,v),h;if(d){if(c===void 0&&(c="default"),h=r(d,f,c),!n(h)||e(h))return h;throw new i("Can't convert object to primitive value")}return c===void 0&&(c="number"),o(f,c)}},50035:function(s,l,t){var r=t(89935),n=t(491);s.exports=function(e){var a=r(e,"string");return n(a)?a:a+""}},67878:function(s,l,t){var r=t(18565),n=r("toStringTag"),e={};e[n]="z",s.exports=String(e)==="[object z]"},17361:function(s,l,t){var r=t(9205),n=String;s.exports=function(e){if(r(e)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return n(e)}},76517:function(s){var l=Math.round;s.exports=function(t){var r=l(t);return r<0?0:r>255?255:r&255}},82453:function(s){var l=String;s.exports=function(t){try{return l(t)}catch(r){return"Object"}}},80357:function(s,l,t){var r=t(14304),n=t(34246),e=t(96499),a=t(92986),o=t(46868),u=t(88037),i=t(17468),v=t(12833),f=t(18526),c=t(90809),d=t(613),h=t(45344),g=t(9450),p=t(58143),y=t(76517),m=t(50035),I=t(94879),x=t(9205),S=t(37540),T=t(491),E=t(5406),O=t(95307),A=t(15861),C=t(83258).f,P=t(66169),N=t(66655).forEach,$=t(36167),U=t(85500),D=t(7831),F=t(71349),L=t(5220),j=t(82367),W=t(32345),b=j.get,K=j.set,z=j.enforce,it=D.f,et=F.f,lt=n.RangeError,pt=i.ArrayBuffer,mt=pt.prototype,Bt=i.DataView,Ut=u.NATIVE_ARRAY_BUFFER_VIEWS,Nt=u.TYPED_ARRAY_TAG,at=u.TypedArray,ct=u.TypedArrayPrototype,Ot=u.isTypedArray,Ct="BYTES_PER_ELEMENT",It="Wrong length",Ft=function(bt,jt){U(bt,jt,{configurable:!0,get:function(){return b(this)[jt]}})},Wt=function(bt){var jt;return O(mt,bt)||(jt=x(bt))==="ArrayBuffer"||jt==="SharedArrayBuffer"},Kt=function(bt,jt){return Ot(bt)&&!T(jt)&&jt in bt&&d(+jt)&&jt>=0},Gt=function(jt,Lt){return Lt=m(Lt),Kt(jt,Lt)?f(2,jt[Lt]):et(jt,Lt)},Mt=function(jt,Lt,q){return Lt=m(Lt),Kt(jt,Lt)&&S(q)&&I(q,"value")&&!I(q,"get")&&!I(q,"set")&&!q.configurable&&(!I(q,"writable")||q.writable)&&(!I(q,"enumerable")||q.enumerable)?(jt[Lt]=q.value,jt):it(jt,Lt,q)};a?(Ut||(F.f=Gt,D.f=Mt,Ft(ct,"buffer"),Ft(ct,"byteOffset"),Ft(ct,"byteLength"),Ft(ct,"length")),r({target:"Object",stat:!0,forced:!Ut},{getOwnPropertyDescriptor:Gt,defineProperty:Mt}),s.exports=function(bt,jt,Lt){var q=bt.match(/\d+/)[0]/8,st=bt+(Lt?"Clamped":"")+"Array",Y="get"+bt,xt="set"+bt,St=n[st],gt=St,ht=gt&>.prototype,Jt={},Zt=function(k,ot){var J=b(k);return J.view[Y](ot*q+J.byteOffset,!0)},V=function(k,ot,J){var Rt=b(k);Rt.view[xt](ot*q+Rt.byteOffset,Lt?y(J):J,!0)},w=function(k,ot){it(k,ot,{get:function(){return Zt(this,ot)},set:function(J){return V(this,ot,J)},enumerable:!0})};Ut?o&&(gt=jt(function(k,ot,J,Rt){return v(k,ht),W(function(){return S(ot)?Wt(ot)?Rt!==void 0?new St(ot,p(J,q),Rt):J!==void 0?new St(ot,p(J,q)):new St(ot):Ot(ot)?L(gt,ot):e(P,gt,ot):new St(g(ot))}(),k,gt)}),A&&A(gt,at),N(C(St),function(k){k in gt||c(gt,k,St[k])}),gt.prototype=ht):(gt=jt(function(k,ot,J,Rt){v(k,ht);var zt=0,Q=0,vt,ft,dt;if(!S(ot))dt=g(ot),ft=dt*q,vt=new pt(ft);else if(Wt(ot)){vt=ot,Q=p(J,q);var Dt=ot.byteLength;if(Rt===void 0){if(Dt%q)throw new lt(It);if(ft=Dt-Q,ft<0)throw new lt(It)}else if(ft=h(Rt)*q,ft+Q>Dt)throw new lt(It);dt=ft/q}else return Ot(ot)?L(gt,ot):e(P,gt,ot);for(K(k,{buffer:vt,byteOffset:Q,byteLength:ft,length:dt,view:new Bt(vt)});zt1?arguments[1]:void 0,x=I!==void 0,S=i(y),T,E,O,A,C,P,N,$;if(S&&!v(S))for(N=u(y,S),$=N.next,y=[];!(P=n($,N)).done;)y.push(P.value);for(x&&m>2&&(I=r(I,arguments[2])),E=o(y),O=new(c(p))(E),A=f(O),T=0;E>T;T++)C=x?I(y[T],T):y[T],O[T]=A?d(C):+C;return O}},36374:function(s,l,t){var r=t(11286),n=0,e=Math.random(),a=r(1 .toString);s.exports=function(o){return"Symbol("+(o===void 0?"":o)+")_"+a(++n+e,36)}},91918:function(s,l,t){var r=t(72069),n=t(18565),e=t(92986),a=t(70457),o=n("iterator");s.exports=!r(function(){var u=new URL("b?a=1&b=2&c=3","https://a"),i=u.searchParams,v=new URLSearchParams("a=1&a=2&b=3"),f="";return u.pathname="c%20d",i.forEach(function(c,d){i.delete("b"),f+=d+c}),v.delete("a",2),v.delete("b",void 0),a&&(!u.toJSON||!v.has("a",1)||v.has("a",2)||!v.has("a",void 0)||v.has("b"))||!i.size&&(a||!e)||!i.sort||u.href!=="https://a/c%20d?a=1&c=3"||i.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!i[o]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("https://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("https://a#\u0431").hash!=="#%D0%B1"||f!=="a1c3"||new URL("https://x",void 0).host!=="x"})},50234:function(s,l,t){var r=t(39729);s.exports=r&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},356:function(s,l,t){var r=t(92986),n=t(72069);s.exports=r&&n(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},95486:function(s){var l=TypeError;s.exports=function(t,r){if(tS&&c(D,arguments[S]),D});if(P.prototype=A,E!=="Error"?o?o(P,C):u(P,C,{name:!0}):h&&x in O&&(i(P,O,x),i(P,O,"prepareStackTrace")),u(P,O),!g)try{A.name!==E&&e(A,"name",E),A.constructor=P}catch(N){}return P}}},27796:function(s,l,t){var r=t(14304),n=t(38941),e=t(66543),a=t(72069),o=t(70003),u="AggregateError",i=n(u),v=!a(function(){return i([1]).errors[0]!==1})&&a(function(){return i([1],u,{cause:7}).cause!==7});r({global:!0,constructor:!0,arity:2,forced:v},{AggregateError:o(u,function(f){return function(d,h){return e(f,this,arguments)}},v,!0)})},85647:function(s,l,t){var r=t(14304),n=t(95307),e=t(26313),a=t(15861),o=t(93706),u=t(5406),i=t(90809),v=t(18526),f=t(31486),c=t(97077),d=t(55902),h=t(15453),g=t(18565),p=g("toStringTag"),y=Error,m=[].push,I=function(T,E){var O=n(x,this),A;a?A=a(new y,O?e(this):x):(A=O?this:u(x),i(A,p,"Error")),E!==void 0&&i(A,"message",h(E)),c(A,I,A.stack,1),arguments.length>2&&f(A,arguments[2]);var C=[];return d(T,m,{that:C}),i(A,"errors",C),A};a?a(I,y):o(I,y,{name:!0});var x=I.prototype=u(y.prototype,{constructor:v(1,I),message:v(1,""),name:v(1,"AggregateError")});r({global:!0,constructor:!0,arity:2},{AggregateError:I})},42861:function(s,l,t){t(85647)},35473:function(s,l,t){var r=t(14304),n=t(34246),e=t(17468),a=t(36167),o="ArrayBuffer",u=e[o],i=n[o];r({global:!0,constructor:!0,forced:i!==u},{ArrayBuffer:u}),a(o)},35495:function(s,l,t){var r=t(92986),n=t(85500),e=t(30736),a=ArrayBuffer.prototype;r&&!("detached"in a)&&n(a,"detached",{configurable:!0,get:function(){return e(this)}})},4983:function(s,l,t){var r=t(14304),n=t(88037),e=n.NATIVE_ARRAY_BUFFER_VIEWS;r({target:"ArrayBuffer",stat:!0,forced:!e},{isView:n.isView})},6875:function(s,l,t){var r=t(14304),n=t(77422),e=t(72069),a=t(17468),o=t(25001),u=t(4652),i=t(45344),v=a.ArrayBuffer,f=a.DataView,c=f.prototype,d=n(v.prototype.slice),h=n(c.getUint8),g=n(c.setUint8),p=e(function(){return!new v(2).slice(1,void 0).byteLength});r({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:p},{slice:function(m,I){if(d&&I===void 0)return d(o(this),m);for(var x=o(this).byteLength,S=u(m,x),T=u(I===void 0?x:I,x),E=new v(i(T-S)),O=new f(this),A=new f(E),C=0;S=0?c:f+c;return d<0||d>=f?void 0:v[d]}}),o("at")},98700:function(s,l,t){var r=t(14304),n=t(72069),e=t(3438),a=t(37540),o=t(49671),u=t(82628),i=t(20095),v=t(84082),f=t(62083),c=t(52183),d=t(18565),h=t(44241),g=d("isConcatSpreadable"),p=h>=51||!n(function(){var I=[];return I[g]=!1,I.concat()[0]!==I}),y=function(I){if(!a(I))return!1;var x=I[g];return x!==void 0?!!x:e(I)},m=!p||!c("concat");r({target:"Array",proto:!0,arity:1,forced:m},{concat:function(x){var S=o(this),T=f(S,0),E=0,O,A,C,P,N;for(O=-1,C=arguments.length;O1?arguments[1]:void 0)}})},41585:function(s,l,t){var r=t(14304),n=t(43011),e=t(23811);r({target:"Array",proto:!0},{fill:n}),e("fill")},84554:function(s,l,t){var r=t(14304),n=t(66655).filter,e=t(52183),a=e("filter");r({target:"Array",proto:!0,forced:!a},{filter:function(u){return n(this,u,arguments.length>1?arguments[1]:void 0)}})},33818:function(s,l,t){var r=t(14304),n=t(66655).findIndex,e=t(23811),a="findIndex",o=!0;a in[]&&Array(1)[a](function(){o=!1}),r({target:"Array",proto:!0,forced:o},{findIndex:function(i){return n(this,i,arguments.length>1?arguments[1]:void 0)}}),e(a)},2209:function(s,l,t){var r=t(14304),n=t(73849).findLastIndex,e=t(23811);r({target:"Array",proto:!0},{findLastIndex:function(o){return n(this,o,arguments.length>1?arguments[1]:void 0)}}),e("findLastIndex")},64096:function(s,l,t){var r=t(14304),n=t(73849).findLast,e=t(23811);r({target:"Array",proto:!0},{findLast:function(o){return n(this,o,arguments.length>1?arguments[1]:void 0)}}),e("findLast")},36619:function(s,l,t){var r=t(14304),n=t(66655).find,e=t(23811),a="find",o=!0;a in[]&&Array(1)[a](function(){o=!1}),r({target:"Array",proto:!0,forced:o},{find:function(i){return n(this,i,arguments.length>1?arguments[1]:void 0)}}),e(a)},74092:function(s,l,t){var r=t(14304),n=t(53149),e=t(85156),a=t(49671),o=t(82628),u=t(62083);r({target:"Array",proto:!0},{flatMap:function(v){var f=a(this),c=o(f),d;return e(v),d=u(f,0),d.length=n(d,f,f,c,0,1,v,arguments.length>1?arguments[1]:void 0),d}})},91591:function(s,l,t){var r=t(14304),n=t(53149),e=t(49671),a=t(82628),o=t(12105),u=t(62083);r({target:"Array",proto:!0},{flat:function(){var v=arguments.length?arguments[0]:void 0,f=e(this),c=a(f),d=u(f,0);return d.length=n(d,f,f,c,0,v===void 0?1:o(v)),d}})},54703:function(s,l,t){var r=t(14304),n=t(13349);r({target:"Array",proto:!0,forced:[].forEach!==n},{forEach:n})},82936:function(s,l,t){var r=t(14304),n=t(48258),e=t(97494),a=!e(function(o){Array.from(o)});r({target:"Array",stat:!0,forced:a},{from:n})},48493:function(s,l,t){var r=t(14304),n=t(94319).includes,e=t(72069),a=t(23811),o=e(function(){return!Array(1).includes()});r({target:"Array",proto:!0,forced:o},{includes:function(i){return n(this,i,arguments.length>1?arguments[1]:void 0)}}),a("includes")},64730:function(s,l,t){var r=t(14304),n=t(77422),e=t(94319).indexOf,a=t(6148),o=n([].indexOf),u=!!o&&1/o([1],1,-0)<0,i=u||!a("indexOf");r({target:"Array",proto:!0,forced:i},{indexOf:function(f){var c=arguments.length>1?arguments[1]:void 0;return u?o(this,f,c)||0:e(this,f,c)}})},95024:function(s,l,t){var r=t(14304),n=t(3438);r({target:"Array",stat:!0},{isArray:n})},35054:function(s,l,t){var r=t(36859),n=t(23811),e=t(29107),a=t(82367),o=t(7831).f,u=t(10218),i=t(10659),v=t(70457),f=t(92986),c="Array Iterator",d=a.set,h=a.getterFor(c);s.exports=u(Array,"Array",function(p,y){d(this,{type:c,target:r(p),index:0,kind:y})},function(){var p=h(this),y=p.target,m=p.index++;if(!y||m>=y.length)return p.target=null,i(void 0,!0);switch(p.kind){case"keys":return i(m,!1);case"values":return i(y[m],!1)}return i([m,y[m]],!1)},"values");var g=e.Arguments=e.Array;if(n("keys"),n("values"),n("entries"),!v&&f&&g.name!=="values")try{o(g,"name",{value:"values"})}catch(p){}},25460:function(s,l,t){var r=t(14304),n=t(11286),e=t(72181),a=t(36859),o=t(6148),u=n([].join),i=e!==Object,v=i||!o("join",",");r({target:"Array",proto:!0,forced:v},{join:function(c){return u(a(this),c===void 0?",":c)}})},60703:function(s,l,t){var r=t(14304),n=t(58465);r({target:"Array",proto:!0,forced:n!==[].lastIndexOf},{lastIndexOf:n})},90468:function(s,l,t){var r=t(14304),n=t(66655).map,e=t(52183),a=e("map");r({target:"Array",proto:!0,forced:!a},{map:function(u){return n(this,u,arguments.length>1?arguments[1]:void 0)}})},69581:function(s,l,t){var r=t(14304),n=t(72069),e=t(11051),a=t(84082),o=Array,u=n(function(){function i(){}return!(o.of.call(i)instanceof i)});r({target:"Array",stat:!0,forced:u},{of:function(){for(var v=0,f=arguments.length,c=new(e(this)?this:o)(f);f>v;)a(c,v,arguments[v++]);return c.length=f,c}})},720:function(s,l,t){var r=t(14304),n=t(49671),e=t(82628),a=t(2213),o=t(20095),u=t(72069),i=u(function(){return[].push.call({length:4294967296},1)!==4294967297}),v=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(c){return c instanceof TypeError}},f=i||!v();r({target:"Array",proto:!0,arity:1,forced:f},{push:function(d){var h=n(this),g=e(h),p=arguments.length;o(g+p);for(var y=0;y79&&a<83,i=u||!e("reduceRight");r({target:"Array",proto:!0,forced:i},{reduceRight:function(f){return n(this,f,arguments.length,arguments.length>1?arguments[1]:void 0)}})},11042:function(s,l,t){var r=t(14304),n=t(97264).left,e=t(6148),a=t(44241),o=t(91707),u=!o&&a>79&&a<83,i=u||!e("reduce");r({target:"Array",proto:!0,forced:i},{reduce:function(f){var c=arguments.length;return n(this,f,c,c>1?arguments[1]:void 0)}})},24608:function(s,l,t){var r=t(14304),n=t(11286),e=t(3438),a=n([].reverse),o=[1,2];r({target:"Array",proto:!0,forced:String(o)===String(o.reverse())},{reverse:function(){return e(this)&&(this.length=this.length),a(this)}})},51644:function(s,l,t){var r=t(14304),n=t(3438),e=t(11051),a=t(37540),o=t(4652),u=t(82628),i=t(36859),v=t(84082),f=t(18565),c=t(52183),d=t(22806),h=c("slice"),g=f("species"),p=Array,y=Math.max;r({target:"Array",proto:!0,forced:!h},{slice:function(I,x){var S=i(this),T=u(S),E=o(I,T),O=o(x===void 0?T:x,T),A,C,P;if(n(S)&&(A=S.constructor,e(A)&&(A===p||n(A.prototype))?A=void 0:a(A)&&(A=A[g],A===null&&(A=void 0)),A===p||A===void 0))return d(S,E,O);for(C=new(A===void 0?p:A)(y(O-E,0)),P=0;E1?arguments[1]:void 0)}})},46828:function(s,l,t){var r=t(14304),n=t(11286),e=t(85156),a=t(49671),o=t(82628),u=t(12384),i=t(17361),v=t(72069),f=t(13270),c=t(6148),d=t(507),h=t(17417),g=t(44241),p=t(66577),y=[],m=n(y.sort),I=n(y.push),x=v(function(){y.sort(void 0)}),S=v(function(){y.sort(null)}),T=c("sort"),E=!v(function(){if(g)return g<70;if(!(d&&d>3)){if(h)return!0;if(p)return p<603;var C="",P,N,$,U;for(P=65;P<76;P++){switch(N=String.fromCharCode(P),P){case 66:case 69:case 70:case 72:$=3;break;case 68:case 71:$=4;break;default:$=2}for(U=0;U<47;U++)y.push({k:N+U,v:$})}for(y.sort(function(D,F){return F.v-D.v}),U=0;Ui(N)?1:-1}};r({target:"Array",proto:!0,forced:O},{sort:function(P){P!==void 0&&e(P);var N=a(this);if(E)return P===void 0?m(N):m(N,P);var $=[],U=o(N),D,F;for(F=0;FS-A+O;P--)c(x,P-1)}else if(O>A)for(P=S-A;P>T;P--)N=P+A-1,$=P+O-1,N in x?x[$]=x[N]:c(x,$);for(P=0;P=0&&f<=99?f+1900:f;return u(this,c)}})},33685:function(s,l,t){var r=t(14304);r({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString})},60086:function(s,l,t){var r=t(14304),n=t(11890);r({target:"Date",proto:!0,forced:Date.prototype.toISOString!==n},{toISOString:n})},96049:function(s,l,t){var r=t(14304),n=t(72069),e=t(49671),a=t(89935),o=n(function(){return new Date(NaN).toJSON()!==null||Date.prototype.toJSON.call({toISOString:function(){return 1}})!==1});r({target:"Date",proto:!0,arity:1,forced:o},{toJSON:function(i){var v=e(this),f=a(v,"number");return typeof f=="number"&&!isFinite(f)?null:v.toISOString()}})},14038:function(s,l,t){var r=t(94879),n=t(16142),e=t(84306),a=t(18565),o=a("toPrimitive"),u=Date.prototype;r(u,o)||n(u,o,e)},55518:function(s,l,t){var r=t(11286),n=t(16142),e=Date.prototype,a="Invalid Date",o="toString",u=r(e[o]),i=r(e.getTime);String(new Date(NaN))!==a&&n(e,o,function(){var f=i(this);return f===f?u(this):a})},81742:function(s,l,t){var r=t(14304),n=t(34246),e=t(66543),a=t(70003),o="WebAssembly",u=n[o],i=new Error("e",{cause:7}).cause!==7,v=function(c,d){var h={};h[c]=a(c,d,i),r({global:!0,constructor:!0,arity:1,forced:i},h)},f=function(c,d){if(u&&u[c]){var h={};h[c]=a(o+"."+c,d,i),r({target:o,stat:!0,constructor:!0,arity:1,forced:i},h)}};v("Error",function(c){return function(h){return e(c,this,arguments)}}),v("EvalError",function(c){return function(h){return e(c,this,arguments)}}),v("RangeError",function(c){return function(h){return e(c,this,arguments)}}),v("ReferenceError",function(c){return function(h){return e(c,this,arguments)}}),v("SyntaxError",function(c){return function(h){return e(c,this,arguments)}}),v("TypeError",function(c){return function(h){return e(c,this,arguments)}}),v("URIError",function(c){return function(h){return e(c,this,arguments)}}),f("CompileError",function(c){return function(h){return e(c,this,arguments)}}),f("LinkError",function(c){return function(h){return e(c,this,arguments)}}),f("RuntimeError",function(c){return function(h){return e(c,this,arguments)}})},8720:function(s,l,t){var r=t(16142),n=t(58434),e=Error.prototype;e.toString!==n&&r(e,"toString",n)},8894:function(s,l,t){var r=t(14304),n=t(11286),e=t(17361),a=n("".charAt),o=n("".charCodeAt),u=n(/./.exec),i=n(1 .toString),v=n("".toUpperCase),f=/[\w*+\-./@]/,c=function(d,h){for(var g=i(d,16);g.length9490626562425156e-8?a(c)+u:n(c-1+o(c-1)*o(c+1))}})},15656:function(s,l,t){var r=t(14304),n=Math.asinh,e=Math.log,a=Math.sqrt;function o(i){var v=+i;return!isFinite(v)||v===0?v:v<0?-o(-v):e(v+a(v*v+1))}var u=!(n&&1/n(0)>0);r({target:"Math",stat:!0,forced:u},{asinh:o})},22091:function(s,l,t){var r=t(14304),n=Math.atanh,e=Math.log,a=!(n&&1/n(-0)<0);r({target:"Math",stat:!0,forced:a},{atanh:function(u){var i=+u;return i===0?i:e((1+i)/(1-i))/2}})},2886:function(s,l,t){var r=t(14304),n=t(93976),e=Math.abs,a=Math.pow;r({target:"Math",stat:!0},{cbrt:function(u){var i=+u;return n(i)*a(e(i),.3333333333333333)}})},25895:function(s,l,t){var r=t(14304),n=Math.floor,e=Math.log,a=Math.LOG2E;r({target:"Math",stat:!0},{clz32:function(u){var i=u>>>0;return i?31-n(e(i+.5)*a):32}})},24228:function(s,l,t){var r=t(14304),n=t(98940),e=Math.cosh,a=Math.abs,o=Math.E,u=!e||e(710)===1/0;r({target:"Math",stat:!0,forced:u},{cosh:function(v){var f=n(a(v)-1)+1;return(f+1/(f*o*o))*(o/2)}})},79488:function(s,l,t){var r=t(14304),n=t(98940);r({target:"Math",stat:!0,forced:n!==Math.expm1},{expm1:n})},75987:function(s,l,t){var r=t(14304),n=t(93279);r({target:"Math",stat:!0},{fround:n})},81555:function(s,l,t){var r=t(14304),n=Math.hypot,e=Math.abs,a=Math.sqrt,o=!!n&&n(1/0,NaN)!==1/0;r({target:"Math",stat:!0,arity:2,forced:o},{hypot:function(i,v){for(var f=0,c=0,d=arguments.length,h=0,g,p;c0?(p=g/h,f+=p*p):f+=g;return h===1/0?1/0:h*a(f)}})},87854:function(s,l,t){var r=t(14304),n=t(72069),e=Math.imul,a=n(function(){return e(4294967295,5)!==-5||e.length!==2});r({target:"Math",stat:!0,forced:a},{imul:function(u,i){var v=65535,f=+u,c=+i,d=v&f,h=v&c;return 0|d*h+((v&f>>>16)*h+d*(v&c>>>16)<<16>>>0)}})},35074:function(s,l,t){var r=t(14304),n=t(41942);r({target:"Math",stat:!0},{log10:n})},50946:function(s,l,t){var r=t(14304),n=t(49366);r({target:"Math",stat:!0},{log1p:n})},29417:function(s,l,t){var r=t(14304),n=Math.log,e=Math.LN2;r({target:"Math",stat:!0},{log2:function(o){return n(o)/e}})},80628:function(s,l,t){var r=t(14304),n=t(93976);r({target:"Math",stat:!0},{sign:n})},74375:function(s,l,t){var r=t(14304),n=t(72069),e=t(98940),a=Math.abs,o=Math.exp,u=Math.E,i=n(function(){return Math.sinh(-2e-17)!==-2e-17});r({target:"Math",stat:!0,forced:i},{sinh:function(f){var c=+f;return a(c)<1?(e(c)-e(-c))/2:(o(c-1)-o(-c-1))*(u/2)}})},29708:function(s,l,t){var r=t(14304),n=t(98940),e=Math.exp;r({target:"Math",stat:!0},{tanh:function(o){var u=+o,i=n(u),v=n(-u);return i===1/0?1:v===1/0?-1:(i-v)/(e(u)+e(-u))}})},93449:function(s,l,t){var r=t(78401);r(Math,"Math",!0)},9111:function(s,l,t){var r=t(14304),n=t(22459);r({target:"Math",stat:!0},{trunc:n})},83514:function(s,l,t){var r=t(14304),n=t(70457),e=t(92986),a=t(34246),o=t(75081),u=t(11286),i=t(13278),v=t(94879),f=t(32345),c=t(95307),d=t(491),h=t(89935),g=t(72069),p=t(83258).f,y=t(71349).f,m=t(7831).f,I=t(34338),x=t(85900).trim,S="Number",T=a[S],E=o[S],O=T.prototype,A=a.TypeError,C=u("".slice),P=u("".charCodeAt),N=function(j){var W=h(j,"number");return typeof W=="bigint"?W:$(W)},$=function(j){var W=h(j,"number"),b,K,z,it,et,lt,pt,mt;if(d(W))throw new A("Cannot convert a Symbol value to a number");if(typeof W=="string"&&W.length>2){if(W=x(W),b=P(W,0),b===43||b===45){if(K=P(W,2),K===88||K===120)return NaN}else if(b===48){switch(P(W,1)){case 66:case 98:z=2,it=49;break;case 79:case 111:z=8,it=55;break;default:return+W}for(et=C(W,2),lt=et.length,pt=0;ptit)return NaN;return parseInt(et,z)}}return+W},U=i(S,!T(" 0o1")||!T("0b1")||T("+0x1")),D=function(j){return c(O,j)&&g(function(){I(j)})},F=function(W){var b=arguments.length<1?0:T(N(W));return D(this)?f(Object(b),this,F):b};F.prototype=O,U&&!n&&(O.constructor=F),r({global:!0,constructor:!0,wrap:!0,forced:U},{Number:F});var L=function(j,W){for(var b=e?p(W):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),K=0,z;b.length>K;K++)v(W,z=b[K])&&!v(j,z)&&m(j,z,y(W,z))};n&&E&&L(o[S],E),(U||n)&&L(o[S],T)},15096:function(s,l,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},59590:function(s,l,t){var r=t(14304),n=t(98074);r({target:"Number",stat:!0},{isFinite:n})},99663:function(s,l,t){var r=t(14304),n=t(613);r({target:"Number",stat:!0},{isInteger:n})},89988:function(s,l,t){var r=t(14304);r({target:"Number",stat:!0},{isNaN:function(e){return e!==e}})},54427:function(s,l,t){var r=t(14304),n=t(613),e=Math.abs;r({target:"Number",stat:!0},{isSafeInteger:function(o){return n(o)&&e(o)<=9007199254740991}})},67895:function(s,l,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},57909:function(s,l,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},83938:function(s,l,t){var r=t(14304),n=t(25838);r({target:"Number",stat:!0,forced:Number.parseFloat!==n},{parseFloat:n})},55461:function(s,l,t){var r=t(14304),n=t(23009);r({target:"Number",stat:!0,forced:Number.parseInt!==n},{parseInt:n})},97339:function(s,l,t){var r=t(14304),n=t(11286),e=t(12105),a=t(34338),o=t(79719),u=t(41942),i=t(72069),v=RangeError,f=String,c=isFinite,d=Math.abs,h=Math.floor,g=Math.pow,p=Math.round,y=n(1 .toExponential),m=n(o),I=n("".slice),x=y(-69e-12,4)==="-6.9000e-11"&&y(1.255,2)==="1.25e+0"&&y(12345,3)==="1.235e+4"&&y(25,0)==="3e+1",S=function(){return i(function(){y(1,1/0)})&&i(function(){y(1,-1/0)})},T=function(){return!i(function(){y(1/0,1/0),y(NaN,1/0)})},E=!x||!S()||!T();r({target:"Number",proto:!0,forced:E},{toExponential:function(A){var C=a(this);if(A===void 0)return y(C);var P=e(A);if(!c(C))return String(C);if(P<0||P>20)throw new v("Incorrect fraction digits");if(x)return y(C,P);var N="",$,U,D,F;if(C<0&&(N="-",C=-C),C===0)U=0,$=m("0",P+1);else{var L=u(C);U=h(L);var j=g(10,U-P),W=p(C/j);2*C>=(2*W+1)*j&&(W+=1),W>=g(10,P+1)&&(W/=10,U+=1),$=f(W)}return P!==0&&($=I($,0,1)+"."+I($,1)),U===0?(D="+",F="0"):(D=U>0?"+":"-",F=f(d(U))),$+="e"+D+F,N+$}})},3670:function(s,l,t){var r=t(14304),n=t(11286),e=t(12105),a=t(34338),o=t(79719),u=t(72069),i=RangeError,v=String,f=Math.floor,c=n(o),d=n("".slice),h=n(1 .toFixed),g=function(S,T,E){return T===0?E:T%2===1?g(S,T-1,E*S):g(S*S,T/2,E)},p=function(S){for(var T=0,E=S;E>=4096;)T+=12,E/=4096;for(;E>=2;)T+=1,E/=2;return T},y=function(S,T,E){for(var O=-1,A=E;++O<6;)A+=T*S[O],S[O]=A%1e7,A=f(A/1e7)},m=function(S,T){for(var E=6,O=0;--E>=0;)O+=S[E],S[E]=f(O/T),O=O%T*1e7},I=function(S){for(var T=6,E="";--T>=0;)if(E!==""||T===0||S[T]!==0){var O=v(S[T]);E=E===""?O:E+c("0",7-O.length)+O}return E},x=u(function(){return h(8e-5,3)!=="0.000"||h(.9,0)!=="1"||h(1.255,2)!=="1.25"||h(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!u(function(){h({})});r({target:"Number",proto:!0,forced:x},{toFixed:function(T){var E=a(this),O=e(T),A=[0,0,0,0,0,0],C="",P="0",N,$,U,D;if(O<0||O>20)throw new i("Incorrect fraction digits");if(E!==E)return"NaN";if(E<=-1e21||E>=1e21)return v(E);if(E<0&&(C="-",E=-E),E>1e-21)if(N=p(E*g(2,69,1))-69,$=N<0?E*g(2,-N,1):E/g(2,N,1),$*=4503599627370496,N=52-N,N>0){for(y(A,0,$),U=O;U>=7;)y(A,1e7,0),U-=7;for(y(A,g(10,U,1),0),U=N-1;U>=23;)m(A,8388608),U-=23;m(A,1<0?(D=P.length,P=C+(D<=O?"0."+c("0",O-D)+P:d(P,0,D-O)+"."+d(P,D-O))):P=C+P,P}})},15224:function(s,l,t){var r=t(14304),n=t(11286),e=t(72069),a=t(34338),o=n(1 .toPrecision),u=e(function(){return o(1,void 0)!=="1"})||!e(function(){o({})});r({target:"Number",proto:!0,forced:u},{toPrecision:function(v){return v===void 0?o(a(this)):o(a(this),v)}})},45891:function(s,l,t){var r=t(14304),n=t(16667);r({target:"Object",stat:!0,arity:2,forced:Object.assign!==n},{assign:n})},99910:function(s,l,t){var r=t(14304),n=t(92986),e=t(5406);r({target:"Object",stat:!0,sham:!n},{create:e})},92445:function(s,l,t){var r=t(14304),n=t(92986),e=t(57629),a=t(85156),o=t(49671),u=t(7831);n&&r({target:"Object",proto:!0,forced:e},{__defineGetter__:function(v,f){u.f(o(this),v,{get:a(f),enumerable:!0,configurable:!0})}})},21875:function(s,l,t){var r=t(14304),n=t(92986),e=t(61963).f;r({target:"Object",stat:!0,forced:Object.defineProperties!==e,sham:!n},{defineProperties:e})},4383:function(s,l,t){var r=t(14304),n=t(92986),e=t(7831).f;r({target:"Object",stat:!0,forced:Object.defineProperty!==e,sham:!n},{defineProperty:e})},11361:function(s,l,t){var r=t(14304),n=t(92986),e=t(57629),a=t(85156),o=t(49671),u=t(7831);n&&r({target:"Object",proto:!0,forced:e},{__defineSetter__:function(v,f){u.f(o(this),v,{set:a(f),enumerable:!0,configurable:!0})}})},13728:function(s,l,t){var r=t(14304),n=t(8511).entries;r({target:"Object",stat:!0},{entries:function(a){return n(a)}})},14885:function(s,l,t){var r=t(14304),n=t(27534),e=t(72069),a=t(37540),o=t(31853).onFreeze,u=Object.freeze,i=e(function(){u(1)});r({target:"Object",stat:!0,forced:i,sham:!n},{freeze:function(f){return u&&a(f)?u(o(f)):f}})},30343:function(s,l,t){var r=t(14304),n=t(55902),e=t(84082);r({target:"Object",stat:!0},{fromEntries:function(o){var u={};return n(o,function(i,v){e(u,i,v)},{AS_ENTRIES:!0}),u}})},22045:function(s,l,t){var r=t(14304),n=t(72069),e=t(36859),a=t(71349).f,o=t(92986),u=!o||n(function(){a(1)});r({target:"Object",stat:!0,forced:u,sham:!o},{getOwnPropertyDescriptor:function(v,f){return a(e(v),f)}})},75e3:function(s,l,t){var r=t(14304),n=t(92986),e=t(16885),a=t(36859),o=t(71349),u=t(84082);r({target:"Object",stat:!0,sham:!n},{getOwnPropertyDescriptors:function(v){for(var f=a(v),c=o.f,d=e(f),h={},g=0,p,y;d.length>g;)y=c(f,p=d[g++]),y!==void 0&&u(h,p,y);return h}})},64658:function(s,l,t){var r=t(14304),n=t(72069),e=t(92880).f,a=n(function(){return!Object.getOwnPropertyNames(1)});r({target:"Object",stat:!0,forced:a},{getOwnPropertyNames:e})},45223:function(s,l,t){var r=t(14304),n=t(39729),e=t(72069),a=t(24943),o=t(49671),u=!n||e(function(){a.f(1)});r({target:"Object",stat:!0,forced:u},{getOwnPropertySymbols:function(v){var f=a.f;return f?f(o(v)):[]}})},16017:function(s,l,t){var r=t(14304),n=t(72069),e=t(49671),a=t(26313),o=t(87501),u=n(function(){a(1)});r({target:"Object",stat:!0,forced:u,sham:!o},{getPrototypeOf:function(v){return a(e(v))}})},84681:function(s,l,t){var r=t(14304),n=t(38941),e=t(11286),a=t(85156),o=t(2068),u=t(50035),i=t(55902),v=t(72069),f=Object.groupBy,c=n("Object","create"),d=e([].push),h=!f||v(function(){return f("ab",function(g){return g}).a.length!==1});r({target:"Object",stat:!0,forced:h},{groupBy:function(p,y){o(p),a(y);var m=c(null),I=0;return i(p,function(x){var S=u(y(x,I++));S in m?d(m[S],x):m[S]=[x]}),m}})},73421:function(s,l,t){var r=t(14304),n=t(94879);r({target:"Object",stat:!0},{hasOwn:n})},31046:function(s,l,t){var r=t(14304),n=t(28174);r({target:"Object",stat:!0,forced:Object.isExtensible!==n},{isExtensible:n})},94645:function(s,l,t){var r=t(14304),n=t(72069),e=t(37540),a=t(14274),o=t(72058),u=Object.isFrozen,i=o||n(function(){u(1)});r({target:"Object",stat:!0,forced:i},{isFrozen:function(f){return!e(f)||o&&a(f)==="ArrayBuffer"?!0:u?u(f):!1}})},62935:function(s,l,t){var r=t(14304),n=t(72069),e=t(37540),a=t(14274),o=t(72058),u=Object.isSealed,i=o||n(function(){u(1)});r({target:"Object",stat:!0,forced:i},{isSealed:function(f){return!e(f)||o&&a(f)==="ArrayBuffer"?!0:u?u(f):!1}})},93446:function(s,l,t){var r=t(14304),n=t(13944);r({target:"Object",stat:!0},{is:n})},62518:function(s,l,t){var r=t(14304),n=t(49671),e=t(18350),a=t(72069),o=a(function(){e(1)});r({target:"Object",stat:!0,forced:o},{keys:function(i){return e(n(i))}})},45130:function(s,l,t){var r=t(14304),n=t(92986),e=t(57629),a=t(49671),o=t(50035),u=t(26313),i=t(71349).f;n&&r({target:"Object",proto:!0,forced:e},{__lookupGetter__:function(f){var c=a(this),d=o(f),h;do if(h=i(c,d))return h.get;while(c=u(c))}})},51542:function(s,l,t){var r=t(14304),n=t(92986),e=t(57629),a=t(49671),o=t(50035),u=t(26313),i=t(71349).f;n&&r({target:"Object",proto:!0,forced:e},{__lookupSetter__:function(f){var c=a(this),d=o(f),h;do if(h=i(c,d))return h.set;while(c=u(c))}})},43781:function(s,l,t){var r=t(14304),n=t(37540),e=t(31853).onFreeze,a=t(27534),o=t(72069),u=Object.preventExtensions,i=o(function(){u(1)});r({target:"Object",stat:!0,forced:i,sham:!a},{preventExtensions:function(f){return u&&n(f)?u(e(f)):f}})},25738:function(s,l,t){var r=t(92986),n=t(85500),e=t(37540),a=t(52427),o=t(49671),u=t(2068),i=Object.getPrototypeOf,v=Object.setPrototypeOf,f=Object.prototype,c="__proto__";if(r&&i&&v&&!(c in f))try{n(f,c,{configurable:!0,get:function(){return i(o(this))},set:function(h){var g=u(this);a(h)&&e(g)&&v(g,h)}})}catch(d){}},93247:function(s,l,t){var r=t(14304),n=t(37540),e=t(31853).onFreeze,a=t(27534),o=t(72069),u=Object.seal,i=o(function(){u(1)});r({target:"Object",stat:!0,forced:i,sham:!a},{seal:function(f){return u&&n(f)?u(e(f)):f}})},41533:function(s,l,t){var r=t(14304),n=t(15861);r({target:"Object",stat:!0},{setPrototypeOf:n})},60225:function(s,l,t){var r=t(67878),n=t(16142),e=t(60105);r||n(Object.prototype,"toString",e,{unsafe:!0})},69920:function(s,l,t){var r=t(14304),n=t(8511).values;r({target:"Object",stat:!0},{values:function(a){return n(a)}})},89205:function(s,l,t){var r=t(14304),n=t(25838);r({global:!0,forced:parseFloat!==n},{parseFloat:n})},78546:function(s,l,t){var r=t(14304),n=t(23009);r({global:!0,forced:parseInt!==n},{parseInt:n})},16893:function(s,l,t){var r=t(14304),n=t(96499),e=t(85156),a=t(24649),o=t(67805),u=t(55902),i=t(26035);r({target:"Promise",stat:!0,forced:i},{allSettled:function(f){var c=this,d=a.f(c),h=d.resolve,g=d.reject,p=o(function(){var y=e(c.resolve),m=[],I=0,x=1;u(f,function(S){var T=I++,E=!1;x++,n(y,c,S).then(function(O){E||(E=!0,m[T]={status:"fulfilled",value:O},--x||h(m))},function(O){E||(E=!0,m[T]={status:"rejected",reason:O},--x||h(m))})}),--x||h(m)});return p.error&&g(p.value),d.promise}})},11733:function(s,l,t){var r=t(14304),n=t(96499),e=t(85156),a=t(24649),o=t(67805),u=t(55902),i=t(26035);r({target:"Promise",stat:!0,forced:i},{all:function(f){var c=this,d=a.f(c),h=d.resolve,g=d.reject,p=o(function(){var y=e(c.resolve),m=[],I=0,x=1;u(f,function(S){var T=I++,E=!1;x++,n(y,c,S).then(function(O){E||(E=!0,m[T]=O,--x||h(m))},g)}),--x||h(m)});return p.error&&g(p.value),d.promise}})},3676:function(s,l,t){var r=t(14304),n=t(96499),e=t(85156),a=t(38941),o=t(24649),u=t(67805),i=t(55902),v=t(26035),f="No one promise resolved";r({target:"Promise",stat:!0,forced:v},{any:function(d){var h=this,g=a("AggregateError"),p=o.f(h),y=p.resolve,m=p.reject,I=u(function(){var x=e(h.resolve),S=[],T=0,E=1,O=!1;i(d,function(A){var C=T++,P=!1;E++,n(x,h,A).then(function(N){P||O||(O=!0,y(N))},function(N){P||O||(P=!0,S[C]=N,--E||m(new g(S,f)))})}),--E||m(new g(S,f))});return I.error&&m(I.value),p.promise}})},14013:function(s,l,t){var r=t(14304),n=t(70457),e=t(37130).CONSTRUCTOR,a=t(98844),o=t(38941),u=t(23583),i=t(16142),v=a&&a.prototype;if(r({target:"Promise",proto:!0,forced:e,real:!0},{catch:function(c){return this.then(void 0,c)}}),!n&&u(a)){var f=o("Promise").prototype.catch;v.catch!==f&&i(v,"catch",f,{unsafe:!0})}},20238:function(s,l,t){var r=t(14304),n=t(70457),e=t(91707),a=t(34246),o=t(96499),u=t(16142),i=t(15861),v=t(78401),f=t(36167),c=t(85156),d=t(23583),h=t(37540),g=t(12833),p=t(16887),y=t(23115).set,m=t(9709),I=t(99095),x=t(67805),S=t(76895),T=t(82367),E=t(98844),O=t(37130),A=t(24649),C="Promise",P=O.CONSTRUCTOR,N=O.REJECTION_EVENT,$=O.SUBCLASSING,U=T.getterFor(C),D=T.set,F=E&&E.prototype,L=E,j=F,W=a.TypeError,b=a.document,K=a.process,z=A.f,it=z,et=!!(b&&b.createEvent&&a.dispatchEvent),lt="unhandledrejection",pt="rejectionhandled",mt=0,Bt=1,Ut=2,Nt=1,at=2,ct,Ot,Ct,It,Ft=function(Y){var xt;return h(Y)&&d(xt=Y.then)?xt:!1},Wt=function(Y,xt){var St=xt.value,gt=xt.state===Bt,ht=gt?Y.ok:Y.fail,Jt=Y.resolve,Zt=Y.reject,V=Y.domain,w,tt,k;try{ht?(gt||(xt.rejection===at&&jt(xt),xt.rejection=Nt),ht===!0?w=St:(V&&V.enter(),w=ht(St),V&&(V.exit(),k=!0)),w===Y.promise?Zt(new W("Promise-chain cycle")):(tt=Ft(w))?o(tt,w,Jt,Zt):Jt(w)):Zt(St)}catch(ot){V&&!k&&V.exit(),Zt(ot)}},Kt=function(Y,xt){Y.notified||(Y.notified=!0,m(function(){for(var St=Y.reactions,gt;gt=St.get();)Wt(gt,Y);Y.notified=!1,xt&&!Y.rejection&&Mt(Y)}))},Gt=function(Y,xt,St){var gt,ht;et?(gt=b.createEvent("Event"),gt.promise=xt,gt.reason=St,gt.initEvent(Y,!1,!0),a.dispatchEvent(gt)):gt={promise:xt,reason:St},!N&&(ht=a["on"+Y])?ht(gt):Y===lt&&I("Unhandled promise rejection",St)},Mt=function(Y){o(y,a,function(){var xt=Y.facade,St=Y.value,gt=bt(Y),ht;if(gt&&(ht=x(function(){e?K.emit("unhandledRejection",St,xt):Gt(lt,xt,St)}),Y.rejection=e||bt(Y)?at:Nt,ht.error))throw ht.value})},bt=function(Y){return Y.rejection!==Nt&&!Y.parent},jt=function(Y){o(y,a,function(){var xt=Y.facade;e?K.emit("rejectionHandled",xt):Gt(pt,xt,Y.value)})},Lt=function(Y,xt,St){return function(gt){Y(xt,gt,St)}},q=function(Y,xt,St){Y.done||(Y.done=!0,St&&(Y=St),Y.value=xt,Y.state=Ut,Kt(Y,!0))},st=function(Y,xt,St){if(!Y.done){Y.done=!0,St&&(Y=St);try{if(Y.facade===xt)throw new W("Promise can't be resolved itself");var gt=Ft(xt);gt?m(function(){var ht={done:!1};try{o(gt,xt,Lt(st,ht,Y),Lt(q,ht,Y))}catch(Jt){q(ht,Jt,Y)}}):(Y.value=xt,Y.state=Bt,Kt(Y,!1))}catch(ht){q({done:!1},ht,Y)}}};if(P&&(L=function(xt){g(this,j),c(xt),o(ct,this);var St=U(this);try{xt(Lt(st,St),Lt(q,St))}catch(gt){q(St,gt)}},j=L.prototype,ct=function(xt){D(this,{type:C,done:!1,notified:!1,parent:!1,reactions:new S,rejection:!1,state:mt,value:null})},ct.prototype=u(j,"then",function(xt,St){var gt=U(this),ht=z(p(this,L));return gt.parent=!0,ht.ok=d(xt)?xt:!0,ht.fail=d(St)&&St,ht.domain=e?K.domain:void 0,gt.state===mt?gt.reactions.add(ht):m(function(){Wt(ht,gt)}),ht.promise}),Ot=function(){var Y=new ct,xt=U(Y);this.promise=Y,this.resolve=Lt(st,xt),this.reject=Lt(q,xt)},A.f=z=function(Y){return Y===L||Y===Ct?new Ot(Y):it(Y)},!n&&d(E)&&F!==Object.prototype)){It=F.then,$||u(F,"then",function(xt,St){var gt=this;return new L(function(ht,Jt){o(It,gt,ht,Jt)}).then(xt,St)},{unsafe:!0});try{delete F.constructor}catch(Y){}i&&i(F,j)}r({global:!0,constructor:!0,wrap:!0,forced:P},{Promise:L}),v(L,C,!1,!0),f(C)},58361:function(s,l,t){var r=t(14304),n=t(70457),e=t(98844),a=t(72069),o=t(38941),u=t(23583),i=t(16887),v=t(87408),f=t(16142),c=e&&e.prototype,d=!!e&&a(function(){c.finally.call({then:function(){}},function(){})});if(r({target:"Promise",proto:!0,real:!0,forced:d},{finally:function(g){var p=i(this,o("Promise")),y=u(g);return this.then(y?function(m){return v(p,g()).then(function(){return m})}:g,y?function(m){return v(p,g()).then(function(){throw m})}:g)}}),!n&&u(e)){var h=o("Promise").prototype.finally;c.finally!==h&&f(c,"finally",h,{unsafe:!0})}},63616:function(s,l,t){t(20238),t(11733),t(14013),t(3037),t(36027),t(97282)},3037:function(s,l,t){var r=t(14304),n=t(96499),e=t(85156),a=t(24649),o=t(67805),u=t(55902),i=t(26035);r({target:"Promise",stat:!0,forced:i},{race:function(f){var c=this,d=a.f(c),h=d.reject,g=o(function(){var p=e(c.resolve);u(f,function(y){n(p,c,y).then(d.resolve,h)})});return g.error&&h(g.value),d.promise}})},36027:function(s,l,t){var r=t(14304),n=t(24649),e=t(37130).CONSTRUCTOR;r({target:"Promise",stat:!0,forced:e},{reject:function(o){var u=n.f(this),i=u.reject;return i(o),u.promise}})},97282:function(s,l,t){var r=t(14304),n=t(38941),e=t(70457),a=t(98844),o=t(37130).CONSTRUCTOR,u=t(87408),i=n("Promise"),v=e&&!o;r({target:"Promise",stat:!0,forced:e||o},{resolve:function(c){return u(v&&this===i?a:this,c)}})},7487:function(s,l,t){var r=t(14304),n=t(34246),e=t(66543),a=t(22806),o=t(24649),u=t(85156),i=t(67805),v=n.Promise,f=!1,c=!v||!v.try||i(function(){v.try(function(d){f=d===8},8)}).error||!f;r({target:"Promise",stat:!0,forced:c},{try:function(d){var h=arguments.length>1?a(arguments,1):[],g=o.f(this),p=i(function(){return e(u(d),void 0,h)});return(p.error?g.reject:g.resolve)(p.value),g.promise}})},23958:function(s,l,t){var r=t(14304),n=t(24649);r({target:"Promise",stat:!0},{withResolvers:function(){var a=n.f(this);return{promise:a.promise,resolve:a.resolve,reject:a.reject}}})},9798:function(s,l,t){var r=t(14304),n=t(66543),e=t(85156),a=t(25001),o=t(72069),u=!o(function(){Reflect.apply(function(){})});r({target:"Reflect",stat:!0,forced:u},{apply:function(v,f,c){return n(e(v),f,a(c))}})},2371:function(s,l,t){var r=t(14304),n=t(38941),e=t(66543),a=t(91384),o=t(80042),u=t(25001),i=t(37540),v=t(5406),f=t(72069),c=n("Reflect","construct"),d=Object.prototype,h=[].push,g=f(function(){function m(){}return!(c(function(){},[],m)instanceof m)}),p=!f(function(){c(function(){})}),y=g||p;r({target:"Reflect",stat:!0,forced:y,sham:y},{construct:function(I,x){o(I),u(x);var S=arguments.length<3?I:o(arguments[2]);if(p&&!g)return c(I,x,S);if(I===S){switch(x.length){case 0:return new I;case 1:return new I(x[0]);case 2:return new I(x[0],x[1]);case 3:return new I(x[0],x[1],x[2]);case 4:return new I(x[0],x[1],x[2],x[3])}var T=[null];return e(h,T,x),new(e(a,I,T))}var E=S.prototype,O=v(i(E)?E:d),A=e(I,O,x);return i(A)?A:O}})},76185:function(s,l,t){var r=t(14304),n=t(92986),e=t(25001),a=t(50035),o=t(7831),u=t(72069),i=u(function(){Reflect.defineProperty(o.f({},1,{value:1}),1,{value:2})});r({target:"Reflect",stat:!0,forced:i,sham:!n},{defineProperty:function(f,c,d){e(f);var h=a(c);e(d);try{return o.f(f,h,d),!0}catch(g){return!1}}})},76553:function(s,l,t){var r=t(14304),n=t(25001),e=t(71349).f;r({target:"Reflect",stat:!0},{deleteProperty:function(o,u){var i=e(n(o),u);return i&&!i.configurable?!1:delete o[u]}})},25227:function(s,l,t){var r=t(14304),n=t(92986),e=t(25001),a=t(71349);r({target:"Reflect",stat:!0,sham:!n},{getOwnPropertyDescriptor:function(u,i){return a.f(e(u),i)}})},91723:function(s,l,t){var r=t(14304),n=t(25001),e=t(26313),a=t(87501);r({target:"Reflect",stat:!0,sham:!a},{getPrototypeOf:function(u){return e(n(u))}})},93518:function(s,l,t){var r=t(14304),n=t(96499),e=t(37540),a=t(25001),o=t(69745),u=t(71349),i=t(26313);function v(f,c){var d=arguments.length<3?f:arguments[2],h,g;if(a(f)===d)return f[c];if(h=u.f(f,c),h)return o(h)?h.value:h.get===void 0?void 0:n(h.get,d);if(e(g=i(f)))return v(g,c,d)}r({target:"Reflect",stat:!0},{get:v})},57882:function(s,l,t){var r=t(14304);r({target:"Reflect",stat:!0},{has:function(e,a){return a in e}})},37796:function(s,l,t){var r=t(14304),n=t(25001),e=t(28174);r({target:"Reflect",stat:!0},{isExtensible:function(o){return n(o),e(o)}})},11563:function(s,l,t){var r=t(14304),n=t(16885);r({target:"Reflect",stat:!0},{ownKeys:n})},26159:function(s,l,t){var r=t(14304),n=t(38941),e=t(25001),a=t(27534);r({target:"Reflect",stat:!0,sham:!a},{preventExtensions:function(u){e(u);try{var i=n("Object","preventExtensions");return i&&i(u),!0}catch(v){return!1}}})},77487:function(s,l,t){var r=t(14304),n=t(25001),e=t(53408),a=t(15861);a&&r({target:"Reflect",stat:!0},{setPrototypeOf:function(u,i){n(u),e(i);try{return a(u,i),!0}catch(v){return!1}}})},20962:function(s,l,t){var r=t(14304),n=t(96499),e=t(25001),a=t(37540),o=t(69745),u=t(72069),i=t(7831),v=t(71349),f=t(26313),c=t(18526);function d(g,p,y){var m=arguments.length<4?g:arguments[3],I=v.f(e(g),p),x,S,T;if(!I){if(a(S=f(g)))return d(S,p,y,m);I=c(0)}if(o(I)){if(I.writable===!1||!a(m))return!1;if(x=v.f(m,p)){if(x.get||x.set||x.writable===!1)return!1;x.value=y,i.f(m,p,x)}else i.f(m,p,c(0,y))}else{if(T=I.set,T===void 0)return!1;n(T,m,y)}return!0}var h=u(function(){var g=function(){},p=i.f(new g,"a",{configurable:!0});return Reflect.set(g.prototype,"a",1,p)!==!1});r({target:"Reflect",stat:!0,forced:h},{set:d})},6130:function(s,l,t){var r=t(14304),n=t(34246),e=t(78401);r({global:!0},{Reflect:{}}),e(n.Reflect,"Reflect",!0)},1354:function(s,l,t){var r=t(92986),n=t(34246),e=t(11286),a=t(13278),o=t(32345),u=t(90809),i=t(5406),v=t(83258).f,f=t(95307),c=t(11566),d=t(17361),h=t(54932),g=t(39807),p=t(2594),y=t(16142),m=t(72069),I=t(94879),x=t(82367).enforce,S=t(36167),T=t(18565),E=t(76769),O=t(85220),A=T("match"),C=n.RegExp,P=C.prototype,N=n.SyntaxError,$=e(P.exec),U=e("".charAt),D=e("".replace),F=e("".indexOf),L=e("".slice),j=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,W=/a/g,b=/a/g,K=new C(W)!==W,z=g.MISSED_STICKY,it=g.UNSUPPORTED_Y,et=r&&(!K||z||E||O||m(function(){return b[A]=!1,C(W)!==W||C(b)===b||String(C(W,"i"))!=="/a/i"})),lt=function(Nt){for(var at=Nt.length,ct=0,Ot="",Ct=!1,It;ct<=at;ct++){if(It=U(Nt,ct),It==="\\"){Ot+=It+U(Nt,++ct);continue}!Ct&&It==="."?Ot+="[\\s\\S]":(It==="["?Ct=!0:It==="]"&&(Ct=!1),Ot+=It)}return Ot},pt=function(Nt){for(var at=Nt.length,ct=0,Ot="",Ct=[],It=i(null),Ft=!1,Wt=!1,Kt=0,Gt="",Mt;ct<=at;ct++){if(Mt=U(Nt,ct),Mt==="\\")Mt+=U(Nt,++ct);else if(Mt==="]")Ft=!1;else if(!Ft)switch(!0){case Mt==="[":Ft=!0;break;case Mt==="(":if(Ot+=Mt,L(Nt,ct+1,ct+3)==="?:")continue;$(j,L(Nt,ct+1))&&(ct+=2,Wt=!0),Kt++;continue;case(Mt===">"&&Wt):if(Gt===""||I(It,Gt))throw new N("Invalid capture group name");It[Gt]=!0,Ct[Ct.length]=[Gt,Kt],Wt=!1,Gt="";continue}Wt?Gt+=Mt:Ot+=Mt}return[Ot,Ct]};if(a("RegExp",et)){for(var mt=function(at,ct){var Ot=f(P,this),Ct=c(at),It=ct===void 0,Ft=[],Wt=at,Kt,Gt,Mt,bt,jt,Lt;if(!Ot&&Ct&&It&&at.constructor===mt)return at;if((Ct||f(P,at))&&(at=at.source,It&&(ct=h(Wt))),at=at===void 0?"":d(at),ct=ct===void 0?"":d(ct),Wt=at,E&&"dotAll"in W&&(Gt=!!ct&&F(ct,"s")>-1,Gt&&(ct=D(ct,/s/g,""))),Kt=ct,z&&"sticky"in W&&(Mt=!!ct&&F(ct,"y")>-1,Mt&&it&&(ct=D(ct,/y/g,""))),O&&(bt=pt(at),at=bt[0],Ft=bt[1]),jt=o(C(at,ct),Ot?this:P,mt),(Gt||Mt||Ft.length)&&(Lt=x(jt),Gt&&(Lt.dotAll=!0,Lt.raw=mt(lt(at),Kt)),Mt&&(Lt.sticky=!0),Ft.length&&(Lt.groups=Ft)),at!==Wt)try{u(jt,"source",Wt===""?"(?:)":Wt)}catch(q){}return jt},Bt=v(C),Ut=0;Bt.length>Ut;)p(mt,C,Bt[Ut++]);P.constructor=mt,mt.prototype=P,y(n,"RegExp",mt,{constructor:!0})}S("RegExp")},47119:function(s,l,t){var r=t(92986),n=t(76769),e=t(14274),a=t(85500),o=t(82367).get,u=RegExp.prototype,i=TypeError;r&&n&&a(u,"dotAll",{configurable:!0,get:function(){if(this!==u){if(e(this)==="RegExp")return!!o(this).dotAll;throw new i("Incompatible receiver, RegExp required")}}})},31145:function(s,l,t){var r=t(14304),n=t(44381);r({target:"RegExp",proto:!0,forced:/./.exec!==n},{exec:n})},96773:function(s,l,t){var r=t(34246),n=t(92986),e=t(85500),a=t(29833),o=t(72069),u=r.RegExp,i=u.prototype,v=n&&o(function(){var f=!0;try{u(".","d")}catch(I){f=!1}var c={},d="",h=f?"dgimsy":"gimsy",g=function(I,x){Object.defineProperty(c,I,{get:function(){return d+=x,!0}})},p={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};f&&(p.hasIndices="d");for(var y in p)g(y,p[y]);var m=Object.getOwnPropertyDescriptor(i,"flags").get.call(c);return m!==h||d!==h});v&&e(i,"flags",{configurable:!0,get:a})},14371:function(s,l,t){var r=t(92986),n=t(39807).MISSED_STICKY,e=t(14274),a=t(85500),o=t(82367).get,u=RegExp.prototype,i=TypeError;r&&n&&a(u,"sticky",{configurable:!0,get:function(){if(this!==u){if(e(this)==="RegExp")return!!o(this).sticky;throw new i("Incompatible receiver, RegExp required")}}})},18180:function(s,l,t){t(31145);var r=t(14304),n=t(96499),e=t(23583),a=t(25001),o=t(17361),u=function(){var v=!1,f=/[ac]/;return f.exec=function(){return v=!0,/./.exec.apply(this,arguments)},f.test("abc")===!0&&v}(),i=/./.test;r({target:"RegExp",proto:!0,forced:!u},{test:function(v){var f=a(this),c=o(v),d=f.exec;if(!e(d))return n(i,f,c);var h=n(d,f,c);return h===null?!1:(a(h),!0)}})},83147:function(s,l,t){var r=t(86588).PROPER,n=t(16142),e=t(25001),a=t(17361),o=t(72069),u=t(54932),i="toString",v=RegExp.prototype,f=v[i],c=o(function(){return f.call({source:"a",flags:"b"})!=="/a/b"}),d=r&&f.name!==i;(c||d)&&n(v,i,function(){var g=e(this),p=a(g.source),y=a(u(g));return"/"+p+"/"+y},{unsafe:!0})},6583:function(s,l,t){var r=t(89378),n=t(34440);r("Set",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},n)},86548:function(s,l,t){var r=t(14304),n=t(41754),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("difference")},{difference:n})},15282:function(s,l,t){var r=t(14304),n=t(72069),e=t(92292),a=t(94118),o=!a("intersection")||n(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});r({target:"Set",proto:!0,real:!0,forced:o},{intersection:e})},51275:function(s,l,t){var r=t(14304),n=t(47391),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("isDisjointFrom")},{isDisjointFrom:n})},91890:function(s,l,t){var r=t(14304),n=t(75492),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("isSubsetOf")},{isSubsetOf:n})},15089:function(s,l,t){var r=t(14304),n=t(1333),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("isSupersetOf")},{isSupersetOf:n})},75765:function(s,l,t){t(6583)},78134:function(s,l,t){var r=t(14304),n=t(64680),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("symmetricDifference")},{symmetricDifference:n})},56456:function(s,l,t){var r=t(14304),n=t(70402),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("union")},{union:n})},70641:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("anchor")},{anchor:function(o){return n(this,"a","name",o)}})},40735:function(s,l,t){var r=t(14304),n=t(11286),e=t(2068),a=t(12105),o=t(17361),u=t(72069),i=n("".charAt),v=u(function(){return"\u{20BB7}".at(-2)!=="\uD842"});r({target:"String",proto:!0,forced:v},{at:function(c){var d=o(e(this)),h=d.length,g=a(c),p=g>=0?g:h+g;return p<0||p>=h?void 0:i(d,p)}})},53892:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("big")},{big:function(){return n(this,"big","","")}})},95976:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("blink")},{blink:function(){return n(this,"blink","","")}})},399:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("bold")},{bold:function(){return n(this,"b","","")}})},8510:function(s,l,t){var r=t(14304),n=t(22149).codeAt;r({target:"String",proto:!0},{codePointAt:function(a){return n(this,a)}})},70159:function(s,l,t){var r=t(14304),n=t(77422),e=t(71349).f,a=t(45344),o=t(17361),u=t(92337),i=t(2068),v=t(8790),f=t(70457),c=n("".slice),d=Math.min,h=v("endsWith"),g=!f&&!h&&!!function(){var p=e(String.prototype,"endsWith");return p&&!p.writable}();r({target:"String",proto:!0,forced:!g&&!h},{endsWith:function(y){var m=o(i(this));u(y);var I=arguments.length>1?arguments[1]:void 0,x=m.length,S=I===void 0?x:d(a(I),x),T=o(y);return c(m,S-T.length,S)===T}})},72032:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("fixed")},{fixed:function(){return n(this,"tt","","")}})},49442:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("fontcolor")},{fontcolor:function(o){return n(this,"font","color",o)}})},16012:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("fontsize")},{fontsize:function(o){return n(this,"font","size",o)}})},93087:function(s,l,t){var r=t(14304),n=t(11286),e=t(4652),a=RangeError,o=String.fromCharCode,u=String.fromCodePoint,i=n([].join),v=!!u&&u.length!==1;r({target:"String",stat:!0,arity:1,forced:v},{fromCodePoint:function(c){for(var d=[],h=arguments.length,g=0,p;h>g;){if(p=+arguments[g++],e(p,1114111)!==p)throw new a(p+" is not a valid code point");d[g]=p<65536?o(p):o(((p-=65536)>>10)+55296,p%1024+56320)}return i(d,"")}})},26021:function(s,l,t){var r=t(14304),n=t(11286),e=t(92337),a=t(2068),o=t(17361),u=t(8790),i=n("".indexOf);r({target:"String",proto:!0,forced:!u("includes")},{includes:function(f){return!!~i(o(a(this)),o(e(f)),arguments.length>1?arguments[1]:void 0)}})},93029:function(s,l,t){var r=t(14304),n=t(11286),e=t(2068),a=t(17361),o=n("".charCodeAt);r({target:"String",proto:!0},{isWellFormed:function(){for(var i=a(e(this)),v=i.length,f=0;f=56320||++f>=v||(o(i,f)&64512)!==56320))return!1}return!0}})},9943:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("italics")},{italics:function(){return n(this,"i","","")}})},59158:function(s,l,t){var r=t(22149).charAt,n=t(17361),e=t(82367),a=t(10218),o=t(10659),u="String Iterator",i=e.set,v=e.getterFor(u);a(String,"String",function(f){i(this,{type:u,string:n(f),index:0})},function(){var c=v(this),d=c.string,h=c.index,g;return h>=d.length?o(void 0,!0):(g=r(d,h),c.index+=g.length,o(g,!1))})},33128:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("link")},{link:function(o){return n(this,"a","href",o)}})},18509:function(s,l,t){var r=t(14304),n=t(96499),e=t(77422),a=t(26820),o=t(10659),u=t(2068),i=t(45344),v=t(17361),f=t(25001),c=t(5683),d=t(14274),h=t(11566),g=t(54932),p=t(10512),y=t(16142),m=t(72069),I=t(18565),x=t(16887),S=t(24487),T=t(33064),E=t(82367),O=t(70457),A=I("matchAll"),C="RegExp String",P=C+" Iterator",N=E.set,$=E.getterFor(P),U=RegExp.prototype,D=TypeError,F=e("".indexOf),L=e("".matchAll),j=!!L&&!m(function(){L("a",/./)}),W=a(function(z,it,et,lt){N(this,{type:P,regexp:z,string:it,global:et,unicode:lt,done:!1})},C,function(){var z=$(this);if(z.done)return o(void 0,!0);var it=z.regexp,et=z.string,lt=T(it,et);return lt===null?(z.done=!0,o(void 0,!0)):z.global?(v(lt[0])===""&&(it.lastIndex=S(et,i(it.lastIndex),z.unicode)),o(lt,!1)):(z.done=!0,o(lt,!1))}),b=function(K){var z=f(this),it=v(K),et=x(z,RegExp),lt=v(g(z)),pt,mt,Bt;return pt=new et(et===RegExp?z.source:z,lt),mt=!!~F(lt,"g"),Bt=!!~F(lt,"u"),pt.lastIndex=i(z.lastIndex),new W(pt,it,mt,Bt)};r({target:"String",proto:!0,forced:j},{matchAll:function(z){var it=u(this),et,lt,pt,mt;if(c(z)){if(j)return L(it,z)}else{if(h(z)&&(et=v(u(g(z))),!~F(et,"g")))throw new D("`.matchAll` does not allow non-global regexes");if(j)return L(it,z);if(pt=p(z,A),pt===void 0&&O&&d(z)==="RegExp"&&(pt=b),pt)return n(pt,z,it)}return lt=v(it),mt=new RegExp(z,"g"),O?n(b,mt,lt):mt[A](lt)}}),O||A in U||y(U,A,b)},15599:function(s,l,t){var r=t(96499),n=t(63194),e=t(25001),a=t(5683),o=t(45344),u=t(17361),i=t(2068),v=t(10512),f=t(24487),c=t(33064);n("match",function(d,h,g){return[function(y){var m=i(this),I=a(y)?void 0:v(y,d);return I?r(I,y,m):new RegExp(y)[d](u(m))},function(p){var y=e(this),m=u(p),I=g(h,y,m);if(I.done)return I.value;if(!y.global)return c(y,m);var x=y.unicode;y.lastIndex=0;for(var S=[],T=0,E;(E=c(y,m))!==null;){var O=u(E[0]);S[T]=O,O===""&&(y.lastIndex=f(m,o(y.lastIndex),x)),T++}return T===0?null:S}]})},21579:function(s,l,t){var r=t(14304),n=t(61607).end,e=t(36945);r({target:"String",proto:!0,forced:e},{padEnd:function(o){return n(this,o,arguments.length>1?arguments[1]:void 0)}})},8854:function(s,l,t){var r=t(14304),n=t(61607).start,e=t(36945);r({target:"String",proto:!0,forced:e},{padStart:function(o){return n(this,o,arguments.length>1?arguments[1]:void 0)}})},57676:function(s,l,t){var r=t(14304),n=t(11286),e=t(36859),a=t(49671),o=t(17361),u=t(82628),i=n([].push),v=n([].join);r({target:"String",stat:!0},{raw:function(c){var d=e(a(c).raw),h=u(d);if(!h)return"";for(var g=arguments.length,p=[],y=0;;){if(i(p,o(d[y++])),y===h)return v(p,"");y$.length?-1:m($,U,j+L);return b<$.length&&(K+=x($,b)),K}})},96834:function(s,l,t){var r=t(66543),n=t(96499),e=t(11286),a=t(63194),o=t(72069),u=t(25001),i=t(23583),v=t(5683),f=t(12105),c=t(45344),d=t(17361),h=t(2068),g=t(24487),p=t(10512),y=t(38368),m=t(33064),I=t(18565),x=I("replace"),S=Math.max,T=Math.min,E=e([].concat),O=e([].push),A=e("".indexOf),C=e("".slice),P=function(D){return D===void 0?D:String(D)},N=function(){return"a".replace(/./,"$0")==="$0"}(),$=function(){return/./[x]?/./[x]("a","$0")==="":!1}(),U=!o(function(){var D=/./;return D.exec=function(){var F=[];return F.groups={a:"7"},F},"".replace(D,"$")!=="7"});a("replace",function(D,F,L){var j=$?"$":"$0";return[function(b,K){var z=h(this),it=v(b)?void 0:p(b,x);return it?n(it,b,z,K):n(F,d(z),b,K)},function(W,b){var K=u(this),z=d(W);if(typeof b=="string"&&A(b,j)===-1&&A(b,"$<")===-1){var it=L(F,K,z,b);if(it.done)return it.value}var et=i(b);et||(b=d(b));var lt=K.global,pt;lt&&(pt=K.unicode,K.lastIndex=0);for(var mt=[],Bt;Bt=m(K,z),!(Bt===null||(O(mt,Bt),!lt));){var Ut=d(Bt[0]);Ut===""&&(K.lastIndex=g(z,c(K.lastIndex),pt))}for(var Nt="",at=0,ct=0;ct=at&&(Nt+=C(z,at,Ct)+Ft,at=Ct+Ot.length)}return Nt+C(z,at)}]},!U||!N||$)},74980:function(s,l,t){var r=t(96499),n=t(63194),e=t(25001),a=t(5683),o=t(2068),u=t(13944),i=t(17361),v=t(10512),f=t(33064);n("search",function(c,d,h){return[function(p){var y=o(this),m=a(p)?void 0:v(p,c);return m?r(m,p,y):new RegExp(p)[c](i(y))},function(g){var p=e(this),y=i(g),m=h(d,p,y);if(m.done)return m.value;var I=p.lastIndex;u(I,0)||(p.lastIndex=0);var x=f(p,y);return u(p.lastIndex,I)||(p.lastIndex=I),x===null?-1:x.index}]})},95625:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("small")},{small:function(){return n(this,"small","","")}})},390:function(s,l,t){var r=t(96499),n=t(11286),e=t(63194),a=t(25001),o=t(5683),u=t(2068),i=t(16887),v=t(24487),f=t(45344),c=t(17361),d=t(10512),h=t(33064),g=t(39807),p=t(72069),y=g.UNSUPPORTED_Y,m=4294967295,I=Math.min,x=n([].push),S=n("".slice),T=!p(function(){var O=/(?:)/,A=O.exec;O.exec=function(){return A.apply(this,arguments)};var C="ab".split(O);return C.length!==2||C[0]!=="a"||C[1]!=="b"}),E="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;e("split",function(O,A,C){var P="0".split(void 0,0).length?function(N,$){return N===void 0&&$===0?[]:r(A,this,N,$)}:A;return[function($,U){var D=u(this),F=o($)?void 0:d($,O);return F?r(F,$,D,U):r(P,c(D),$,U)},function(N,$){var U=a(this),D=c(N);if(!E){var F=C(P,U,D,$,P!==A);if(F.done)return F.value}var L=i(U,RegExp),j=U.unicode,W=(U.ignoreCase?"i":"")+(U.multiline?"m":"")+(U.unicode?"u":"")+(y?"g":"y"),b=new L(y?"^(?:"+U.source+")":U,W),K=$===void 0?m:$>>>0;if(K===0)return[];if(D.length===0)return h(b,D)===null?[D]:[];for(var z=0,it=0,et=[];it1?arguments[1]:void 0,m.length)),x=o(y);return c(m,I,I+x.length)===x}})},90614:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("strike")},{strike:function(){return n(this,"strike","","")}})},60120:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("sub")},{sub:function(){return n(this,"sub","","")}})},21293:function(s,l,t){var r=t(14304),n=t(11286),e=t(2068),a=t(12105),o=t(17361),u=n("".slice),i=Math.max,v=Math.min,f=!"".substr||"ab".substr(-1)!=="b";r({target:"String",proto:!0,forced:f},{substr:function(d,h){var g=o(e(this)),p=g.length,y=a(d),m,I;return y===1/0&&(y=0),y<0&&(y=i(p+y,0)),m=h===void 0?p:a(h),m<=0||m===1/0?"":(I=v(y+m,p),y>=I?"":u(g,y,I))}})},75826:function(s,l,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("sup")},{sup:function(){return n(this,"sup","","")}})},18184:function(s,l,t){var r=t(14304),n=t(96499),e=t(11286),a=t(2068),o=t(17361),u=t(72069),i=Array,v=e("".charAt),f=e("".charCodeAt),c=e([].join),d="".toWellFormed,h="\uFFFD",g=d&&u(function(){return n(d,1)!=="1"});r({target:"String",proto:!0,forced:g},{toWellFormed:function(){var y=o(a(this));if(g)return n(d,y);for(var m=y.length,I=i(m),x=0;x=56320||x+1>=m||(f(y,x+1)&64512)!==56320?I[x]=h:(I[x]=v(y,x),I[++x]=v(y,x))}return c(I,"")}})},19680:function(s,l,t){t(23283);var r=t(14304),n=t(75176);r({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==n},{trimEnd:n})},12272:function(s,l,t){var r=t(14304),n=t(83481);r({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==n},{trimLeft:n})},23283:function(s,l,t){var r=t(14304),n=t(75176);r({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==n},{trimRight:n})},4193:function(s,l,t){t(12272);var r=t(14304),n=t(83481);r({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==n},{trimStart:n})},75012:function(s,l,t){var r=t(14304),n=t(85900).trim,e=t(33328);r({target:"String",proto:!0,forced:e("trim")},{trim:function(){return n(this)}})},43606:function(s,l,t){var r=t(83749);r("asyncIterator")},51767:function(s,l,t){var r=t(14304),n=t(34246),e=t(96499),a=t(11286),o=t(70457),u=t(92986),i=t(39729),v=t(72069),f=t(94879),c=t(95307),d=t(25001),h=t(36859),g=t(50035),p=t(17361),y=t(18526),m=t(5406),I=t(18350),x=t(83258),S=t(92880),T=t(24943),E=t(71349),O=t(7831),A=t(61963),C=t(79591),P=t(16142),N=t(85500),$=t(96731),U=t(44869),D=t(19423),F=t(36374),L=t(18565),j=t(56529),W=t(83749),b=t(60796),K=t(78401),z=t(82367),it=t(66655).forEach,et=U("hidden"),lt="Symbol",pt="prototype",mt=z.set,Bt=z.getterFor(lt),Ut=Object[pt],Nt=n.Symbol,at=Nt&&Nt[pt],ct=n.RangeError,Ot=n.TypeError,Ct=n.QObject,It=E.f,Ft=O.f,Wt=S.f,Kt=C.f,Gt=a([].push),Mt=$("symbols"),bt=$("op-symbols"),jt=$("wks"),Lt=!Ct||!Ct[pt]||!Ct[pt].findChild,q=function(w,tt,k){var ot=It(Ut,tt);ot&&delete Ut[tt],Ft(w,tt,k),ot&&w!==Ut&&Ft(Ut,tt,ot)},st=u&&v(function(){return m(Ft({},"a",{get:function(){return Ft(this,"a",{value:7}).a}})).a!==7})?q:Ft,Y=function(w,tt){var k=Mt[w]=m(at);return mt(k,{type:lt,tag:w,description:tt}),u||(k.description=tt),k},xt=function(tt,k,ot){tt===Ut&&xt(bt,k,ot),d(tt);var J=g(k);return d(ot),f(Mt,J)?(ot.enumerable?(f(tt,et)&&tt[et][J]&&(tt[et][J]=!1),ot=m(ot,{enumerable:y(0,!1)})):(f(tt,et)||Ft(tt,et,y(1,m(null))),tt[et][J]=!0),st(tt,J,ot)):Ft(tt,J,ot)},St=function(tt,k){d(tt);var ot=h(k),J=I(ot).concat(V(ot));return it(J,function(Rt){(!u||e(ht,ot,Rt))&&xt(tt,Rt,ot[Rt])}),tt},gt=function(tt,k){return k===void 0?m(tt):St(m(tt),k)},ht=function(tt){var k=g(tt),ot=e(Kt,this,k);return this===Ut&&f(Mt,k)&&!f(bt,k)?!1:ot||!f(this,k)||!f(Mt,k)||f(this,et)&&this[et][k]?ot:!0},Jt=function(tt,k){var ot=h(tt),J=g(k);if(!(ot===Ut&&f(Mt,J)&&!f(bt,J))){var Rt=It(ot,J);return Rt&&f(Mt,J)&&!(f(ot,et)&&ot[et][J])&&(Rt.enumerable=!0),Rt}},Zt=function(tt){var k=Wt(h(tt)),ot=[];return it(k,function(J){!f(Mt,J)&&!f(D,J)&&Gt(ot,J)}),ot},V=function(w){var tt=w===Ut,k=Wt(tt?bt:h(w)),ot=[];return it(k,function(J){f(Mt,J)&&(!tt||f(Ut,J))&&Gt(ot,Mt[J])}),ot};i||(Nt=function(){if(c(at,this))throw new Ot("Symbol is not a constructor");var tt=!arguments.length||arguments[0]===void 0?void 0:p(arguments[0]),k=F(tt),ot=function(J){var Rt=this===void 0?n:this;Rt===Ut&&e(ot,bt,J),f(Rt,et)&&f(Rt[et],k)&&(Rt[et][k]=!1);var zt=y(1,J);try{st(Rt,k,zt)}catch(Q){if(!(Q instanceof ct))throw Q;q(Rt,k,zt)}};return u&&Lt&&st(Ut,k,{configurable:!0,set:ot}),Y(k,tt)},at=Nt[pt],P(at,"toString",function(){return Bt(this).tag}),P(Nt,"withoutSetter",function(w){return Y(F(w),w)}),C.f=ht,O.f=xt,A.f=St,E.f=Jt,x.f=S.f=Zt,T.f=V,j.f=function(w){return Y(L(w),w)},u&&(N(at,"description",{configurable:!0,get:function(){return Bt(this).description}}),o||P(Ut,"propertyIsEnumerable",ht,{unsafe:!0}))),r({global:!0,constructor:!0,wrap:!0,forced:!i,sham:!i},{Symbol:Nt}),it(I(jt),function(w){W(w)}),r({target:lt,stat:!0,forced:!i},{useSetter:function(){Lt=!0},useSimple:function(){Lt=!1}}),r({target:"Object",stat:!0,forced:!i,sham:!u},{create:gt,defineProperty:xt,defineProperties:St,getOwnPropertyDescriptor:Jt}),r({target:"Object",stat:!0,forced:!i},{getOwnPropertyNames:Zt}),b(),K(Nt,lt),D[et]=!0},43657:function(s,l,t){var r=t(14304),n=t(92986),e=t(34246),a=t(11286),o=t(94879),u=t(23583),i=t(95307),v=t(17361),f=t(85500),c=t(93706),d=e.Symbol,h=d&&d.prototype;if(n&&u(d)&&(!("description"in h)||d().description!==void 0)){var g={},p=function(){var O=arguments.length<1||arguments[0]===void 0?void 0:v(arguments[0]),A=i(h,this)?new d(O):O===void 0?d():d(O);return O===""&&(g[A]=!0),A};c(p,d),p.prototype=h,h.constructor=p;var y=String(d("description detection"))==="Symbol(description detection)",m=a(h.valueOf),I=a(h.toString),x=/^Symbol\((.*)\)[^)]+$/,S=a("".replace),T=a("".slice);f(h,"description",{configurable:!0,get:function(){var O=m(this);if(o(g,O))return"";var A=I(O),C=y?T(A,7,-1):S(A,x,"$1");return C===""?void 0:C}}),r({global:!0,constructor:!0,forced:!0},{Symbol:p})}},20872:function(s,l,t){var r=t(14304),n=t(38941),e=t(94879),a=t(17361),o=t(96731),u=t(61190),i=o("string-to-symbol-registry"),v=o("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!u},{for:function(f){var c=a(f);if(e(i,c))return i[c];var d=n("Symbol")(c);return i[c]=d,v[d]=c,d}})},15855:function(s,l,t){var r=t(83749);r("hasInstance")},42026:function(s,l,t){var r=t(83749);r("isConcatSpreadable")},33257:function(s,l,t){var r=t(83749);r("iterator")},40949:function(s,l,t){t(51767),t(20872),t(94762),t(71332),t(45223)},94762:function(s,l,t){var r=t(14304),n=t(94879),e=t(491),a=t(82453),o=t(96731),u=t(61190),i=o("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!u},{keyFor:function(f){if(!e(f))throw new TypeError(a(f)+" is not a symbol");if(n(i,f))return i[f]}})},88344:function(s,l,t){var r=t(83749);r("matchAll")},59414:function(s,l,t){var r=t(83749);r("match")},92579:function(s,l,t){var r=t(83749);r("replace")},94655:function(s,l,t){var r=t(83749);r("search")},8565:function(s,l,t){var r=t(83749);r("species")},60843:function(s,l,t){var r=t(83749);r("split")},65842:function(s,l,t){var r=t(83749),n=t(60796);r("toPrimitive"),n()},51595:function(s,l,t){var r=t(38941),n=t(83749),e=t(78401);n("toStringTag"),e(r("Symbol"),"Symbol")},54908:function(s,l,t){var r=t(83749);r("unscopables")},71998:function(s,l,t){var r=t(88037),n=t(82628),e=t(12105),a=r.aTypedArray,o=r.exportTypedArrayMethod;o("at",function(i){var v=a(this),f=n(v),c=e(i),d=c>=0?c:f+c;return d<0||d>=f?void 0:v[d]})},6116:function(s,l,t){var r=t(11286),n=t(88037),e=t(81499),a=r(e),o=n.aTypedArray,u=n.exportTypedArrayMethod;u("copyWithin",function(v,f){return a(o(this),v,f,arguments.length>2?arguments[2]:void 0)})},33032:function(s,l,t){var r=t(88037),n=t(66655).every,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("every",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},80962:function(s,l,t){var r=t(88037),n=t(43011),e=t(11344),a=t(9205),o=t(96499),u=t(11286),i=t(72069),v=r.aTypedArray,f=r.exportTypedArrayMethod,c=u("".slice),d=i(function(){var h=0;return new Int8Array(2).fill({valueOf:function(){return h++}}),h!==1});f("fill",function(g){var p=arguments.length;v(this);var y=c(a(this),0,3)==="Big"?e(g):+g;return o(n,this,y,p>1?arguments[1]:void 0,p>2?arguments[2]:void 0)},d)},49381:function(s,l,t){var r=t(88037),n=t(66655).filter,e=t(39954),a=r.aTypedArray,o=r.exportTypedArrayMethod;o("filter",function(i){var v=n(a(this),i,arguments.length>1?arguments[1]:void 0);return e(this,v)})},65961:function(s,l,t){var r=t(88037),n=t(66655).findIndex,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("findIndex",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},16028:function(s,l,t){var r=t(88037),n=t(73849).findLastIndex,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("findLastIndex",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},94153:function(s,l,t){var r=t(88037),n=t(73849).findLast,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("findLast",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},38344:function(s,l,t){var r=t(88037),n=t(66655).find,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("find",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},25560:function(s,l,t){var r=t(80357);r("Float32",function(n){return function(a,o,u){return n(this,a,o,u)}})},22571:function(s,l,t){var r=t(80357);r("Float64",function(n){return function(a,o,u){return n(this,a,o,u)}})},20656:function(s,l,t){var r=t(88037),n=t(66655).forEach,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("forEach",function(u){n(e(this),u,arguments.length>1?arguments[1]:void 0)})},17063:function(s,l,t){var r=t(46868),n=t(88037).exportTypedArrayStaticMethod,e=t(66169);n("from",e,r)},21774:function(s,l,t){var r=t(88037),n=t(94319).includes,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("includes",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},51761:function(s,l,t){var r=t(88037),n=t(94319).indexOf,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("indexOf",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},36849:function(s,l,t){var r=t(80357);r("Int16",function(n){return function(a,o,u){return n(this,a,o,u)}})},49191:function(s,l,t){var r=t(80357);r("Int32",function(n){return function(a,o,u){return n(this,a,o,u)}})},40704:function(s,l,t){var r=t(80357);r("Int8",function(n){return function(a,o,u){return n(this,a,o,u)}})},12317:function(s,l,t){var r=t(34246),n=t(72069),e=t(11286),a=t(88037),o=t(35054),u=t(18565),i=u("iterator"),v=r.Uint8Array,f=e(o.values),c=e(o.keys),d=e(o.entries),h=a.aTypedArray,g=a.exportTypedArrayMethod,p=v&&v.prototype,y=!n(function(){p[i].call([1])}),m=!!p&&p.values&&p[i]===p.values&&p.values.name==="values",I=function(){return f(h(this))};g("entries",function(){return d(h(this))},y),g("keys",function(){return c(h(this))},y),g("values",I,y||!m,{name:"values"}),g(i,I,y||!m,{name:"values"})},19711:function(s,l,t){var r=t(88037),n=t(11286),e=r.aTypedArray,a=r.exportTypedArrayMethod,o=n([].join);a("join",function(i){return o(e(this),i)})},41034:function(s,l,t){var r=t(88037),n=t(66543),e=t(58465),a=r.aTypedArray,o=r.exportTypedArrayMethod;o("lastIndexOf",function(i){var v=arguments.length;return n(e,a(this),v>1?[i,arguments[1]]:[i])})},13313:function(s,l,t){var r=t(88037),n=t(66655).map,e=r.aTypedArray,a=r.getTypedArrayConstructor,o=r.exportTypedArrayMethod;o("map",function(i){return n(e(this),i,arguments.length>1?arguments[1]:void 0,function(v,f){return new(a(v))(f)})})},44698:function(s,l,t){var r=t(88037),n=t(46868),e=r.aTypedArrayConstructor,a=r.exportTypedArrayStaticMethod;a("of",function(){for(var u=0,i=arguments.length,v=new(e(this))(i);i>u;)v[u]=arguments[u++];return v},n)},66178:function(s,l,t){var r=t(88037),n=t(97264).right,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("reduceRight",function(u){var i=arguments.length;return n(e(this),u,i,i>1?arguments[1]:void 0)})},7369:function(s,l,t){var r=t(88037),n=t(97264).left,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("reduce",function(u){var i=arguments.length;return n(e(this),u,i,i>1?arguments[1]:void 0)})},67961:function(s,l,t){var r=t(88037),n=r.aTypedArray,e=r.exportTypedArrayMethod,a=Math.floor;e("reverse",function(){for(var u=this,i=n(u).length,v=a(i/2),f=0,c;f1?arguments[1]:void 0,1),S=u(I);if(p)return n(d,this,S,x);var T=this.length,E=a(S),O=0;if(E+x>T)throw new v("Wrong length");for(;Og;)y[g]=d[g++];return y},i)},9711:function(s,l,t){var r=t(88037),n=t(66655).some,e=r.aTypedArray,a=r.exportTypedArrayMethod;a("some",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},3923:function(s,l,t){var r=t(34246),n=t(77422),e=t(72069),a=t(85156),o=t(13270),u=t(88037),i=t(507),v=t(17417),f=t(44241),c=t(66577),d=u.aTypedArray,h=u.exportTypedArrayMethod,g=r.Uint16Array,p=g&&n(g.prototype.sort),y=!!p&&!(e(function(){p(new g(2),null)})&&e(function(){p(new g(2),{})})),m=!!p&&!e(function(){if(f)return f<74;if(i)return i<67;if(v)return!0;if(c)return c<602;var x=new g(516),S=Array(516),T,E;for(T=0;T<516;T++)E=T%4,x[T]=515-T,S[T]=T-2*E+3;for(p(x,function(O,A){return(O/4|0)-(A/4|0)}),T=0;T<516;T++)if(x[T]!==S[T])return!0}),I=function(x){return function(S,T){return x!==void 0?+x(S,T)||0:T!==T?-1:S!==S?1:S===0&&T===0?1/S>0&&1/T<0?1:-1:S>T}};h("sort",function(S){return S!==void 0&&a(S),m?p(this,S):o(d(this),I(S))},!m||y)},59728:function(s,l,t){var r=t(88037),n=t(45344),e=t(4652),a=r.aTypedArray,o=r.getTypedArrayConstructor,u=r.exportTypedArrayMethod;u("subarray",function(v,f){var c=a(this),d=c.length,h=e(v,d),g=o(c);return new g(c.buffer,c.byteOffset+h*c.BYTES_PER_ELEMENT,n((f===void 0?d:e(f,d))-h))})},85227:function(s,l,t){var r=t(34246),n=t(66543),e=t(88037),a=t(72069),o=t(22806),u=r.Int8Array,i=e.aTypedArray,v=e.exportTypedArrayMethod,f=[].toLocaleString,c=!!u&&a(function(){f.call(new u(1))}),d=a(function(){return[1,2].toLocaleString()!==new u([1,2]).toLocaleString()})||!a(function(){u.prototype.toLocaleString.call([1,2])});v("toLocaleString",function(){return n(f,c?o(i(this)):i(this),o(arguments))},d)},56933:function(s,l,t){var r=t(61638),n=t(88037),e=n.aTypedArray,a=n.exportTypedArrayMethod,o=n.getTypedArrayConstructor;a("toReversed",function(){return r(e(this),o(this))})},91490:function(s,l,t){var r=t(88037),n=t(11286),e=t(85156),a=t(5220),o=r.aTypedArray,u=r.getTypedArrayConstructor,i=r.exportTypedArrayMethod,v=n(r.TypedArrayPrototype.sort);i("toSorted",function(c){c!==void 0&&e(c);var d=o(this),h=a(u(d),d);return v(h,c)})},61766:function(s,l,t){var r=t(88037).exportTypedArrayMethod,n=t(72069),e=t(34246),a=t(11286),o=e.Uint8Array,u=o&&o.prototype||{},i=[].toString,v=a([].join);n(function(){i.call({})})&&(i=function(){return v(this)});var f=u.toString!==i;r("toString",i,f)},44884:function(s,l,t){var r=t(80357);r("Uint16",function(n){return function(a,o,u){return n(this,a,o,u)}})},48658:function(s,l,t){var r=t(80357);r("Uint32",function(n){return function(a,o,u){return n(this,a,o,u)}})},81083:function(s,l,t){var r=t(80357);r("Uint8",function(n){return function(a,o,u){return n(this,a,o,u)}})},27428:function(s,l,t){var r=t(80357);r("Uint8",function(n){return function(a,o,u){return n(this,a,o,u)}},!0)},85143:function(s,l,t){var r=t(72302),n=t(88037),e=t(77129),a=t(12105),o=t(11344),u=n.aTypedArray,i=n.getTypedArrayConstructor,v=n.exportTypedArrayMethod,f=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(c){return c===8}}();v("with",function(c,d){var h=u(this),g=a(c),p=e(h)?o(d):+d;return r(h,i(h),g,p)},!f)},47005:function(s,l,t){var r=t(14304),n=t(11286),e=t(17361),a=String.fromCharCode,o=n("".charAt),u=n(/./.exec),i=n("".slice),v=/^[\da-f]{2}$/i,f=/^[\da-f]{4}$/i;r({global:!0},{unescape:function(d){for(var h=e(d),g="",p=h.length,y=0,m,I;y>(-2*D&6)));return $}})},60869:function(s,l,t){var r=t(14304),n=t(34246),e=t(38941),a=t(11286),o=t(96499),u=t(72069),i=t(17361),v=t(95486),f=t(6210).i2c,c=e("btoa"),d=a("".charAt),h=a("".charCodeAt),g=!!c&&!u(function(){return c("hi")!=="aGk="}),p=g&&!u(function(){c()}),y=g&&u(function(){return c(null)!=="bnVsbA=="}),m=g&&c.length!==1;r({global:!0,bind:!0,enumerable:!0,forced:!g||p||y||m},{btoa:function(x){if(v(arguments.length,1),g)return o(c,n,i(x));for(var S=i(x),T="",E=0,O=f,A,C;d(S,E)||(O="=",E%1);){if(C=h(S,E+=.75),C>255)throw new(e("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");A=A<<8|C,T+=d(O,63&A>>8-E%1*8)}return T}})},66722:function(s,l,t){var r=t(14304),n=t(34246),e=t(23115).clear;r({global:!0,bind:!0,enumerable:!0,forced:n.clearImmediate!==e},{clearImmediate:e})},50338:function(s,l,t){var r=t(34246),n=t(93014),e=t(39882),a=t(13349),o=t(90809),u=function(v){if(v&&v.forEach!==a)try{o(v,"forEach",a)}catch(f){v.forEach=a}};for(var i in n)n[i]&&u(r[i]&&r[i].prototype);u(e)},53059:function(s,l,t){var r=t(34246),n=t(93014),e=t(39882),a=t(35054),o=t(90809),u=t(78401),i=t(18565),v=i("iterator"),f=a.values,c=function(h,g){if(h){if(h[v]!==f)try{o(h,v,f)}catch(y){h[v]=f}if(u(h,g,!0),n[g]){for(var p in a)if(h[p]!==a[p])try{o(h,p,a[p])}catch(y){h[p]=a[p]}}}};for(var d in n)c(r[d]&&r[d].prototype,d);c(e,"DOMTokenList")},5805:function(s,l,t){var r=t(14304),n=t(38941),e=t(81191),a=t(72069),o=t(5406),u=t(18526),i=t(7831).f,v=t(16142),f=t(85500),c=t(94879),d=t(12833),h=t(25001),g=t(58434),p=t(15453),y=t(74408),m=t(40851),I=t(82367),x=t(92986),S=t(70457),T="DOMException",E="DATA_CLONE_ERR",O=n("Error"),A=n(T)||function(){try{var at=n("MessageChannel")||e("worker_threads").MessageChannel;new at().port1.postMessage(new WeakMap)}catch(ct){if(ct.name===E&&ct.code===25)return ct.constructor}}(),C=A&&A.prototype,P=O.prototype,N=I.set,$=I.getterFor(T),U="stack"in new O(T),D=function(at){return c(y,at)&&y[at].m?y[at].c:0},F=function(){d(this,L);var ct=arguments.length,Ot=p(ct<1?void 0:arguments[0]),Ct=p(ct<2?void 0:arguments[1],"Error"),It=D(Ct);if(N(this,{type:T,name:Ct,message:Ot,code:It}),x||(this.name=Ct,this.message=Ot,this.code=It),U){var Ft=new O(Ot);Ft.name=T,i(this,"stack",u(1,m(Ft.stack,1)))}},L=F.prototype=o(P),j=function(at){return{enumerable:!0,configurable:!0,get:at}},W=function(at){return j(function(){return $(this)[at]})};x&&(f(L,"code",W("code")),f(L,"message",W("message")),f(L,"name",W("name"))),i(L,"constructor",u(1,F));var b=a(function(){return!(new A instanceof O)}),K=b||a(function(){return P.toString!==g||String(new A(1,2))!=="2: 1"}),z=b||a(function(){return new A(1,"DataCloneError").code!==25}),it=b||A[E]!==25||C[E]!==25,et=S?K||z||it:b;r({global:!0,constructor:!0,forced:et},{DOMException:et?F:A});var lt=n(T),pt=lt.prototype;K&&(S||A===lt)&&v(pt,"toString",g),z&&x&&A===lt&&f(pt,"code",j(function(){return D(h(this).name)}));for(var mt in y)if(c(y,mt)){var Bt=y[mt],Ut=Bt.s,Nt=u(6,Bt.c);c(lt,Ut)||i(lt,Ut,Nt),c(pt,Ut)||i(pt,Ut,Nt)}},50685:function(s,l,t){var r=t(14304),n=t(34246),e=t(38941),a=t(18526),o=t(7831).f,u=t(94879),i=t(12833),v=t(32345),f=t(15453),c=t(74408),d=t(40851),h=t(92986),g=t(70457),p="DOMException",y=e("Error"),m=e(p),I=function(){i(this,x);var F=arguments.length,L=f(F<1?void 0:arguments[0]),j=f(F<2?void 0:arguments[1],"Error"),W=new m(L,j),b=new y(L);return b.name=p,o(W,"stack",a(1,d(b.stack,1))),v(W,this,I),W},x=I.prototype=m.prototype,S="stack"in new y(p),T="stack"in new m(1,2),E=m&&h&&Object.getOwnPropertyDescriptor(n,p),O=!!E&&!(E.writable&&E.configurable),A=S&&!O&&!T;r({global:!0,constructor:!0,forced:g||A},{DOMException:A?I:m});var C=e(p),P=C.prototype;if(P.constructor!==C){g||o(P,"constructor",a(1,C));for(var N in c)if(u(c,N)){var $=c[N],U=$.s;u(C,U)||o(C,U,a(6,$.c))}}},70649:function(s,l,t){var r=t(38941),n=t(78401),e="DOMException";n(r(e),e)},39842:function(s,l,t){t(66722),t(8235)},82872:function(s,l,t){var r=t(14304),n=t(34246),e=t(9709),a=t(85156),o=t(95486),u=t(72069),i=t(92986),v=u(function(){return i&&Object.getOwnPropertyDescriptor(n,"queueMicrotask").value.length!==1});r({global:!0,enumerable:!0,dontCallGetSet:!0,forced:v},{queueMicrotask:function(c){o(arguments.length,1),e(a(c))}})},91401:function(s,l,t){var r=t(14304),n=t(34246),e=t(85500),a=t(92986),o=TypeError,u=Object.defineProperty,i=n.self!==n;try{if(a){var v=Object.getOwnPropertyDescriptor(n,"self");(i||!v||!v.get||!v.enumerable)&&e(n,"self",{get:function(){return n},set:function(c){if(this!==n)throw new o("Illegal invocation");u(n,"self",{value:c,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else r({global:!0,simple:!0,forced:i},{self:n})}catch(f){}},8235:function(s,l,t){var r=t(14304),n=t(34246),e=t(23115).set,a=t(9934),o=n.setImmediate?a(e,!1):e;r({global:!0,bind:!0,enumerable:!0,forced:n.setImmediate!==o},{setImmediate:o})},63981:function(s,l,t){var r=t(14304),n=t(34246),e=t(9934),a=e(n.setInterval,!0);r({global:!0,bind:!0,forced:n.setInterval!==a},{setInterval:a})},23913:function(s,l,t){var r=t(14304),n=t(34246),e=t(9934),a=e(n.setTimeout,!0);r({global:!0,bind:!0,forced:n.setTimeout!==a},{setTimeout:a})},92904:function(s,l,t){var r=t(70457),n=t(14304),e=t(34246),a=t(38941),o=t(11286),u=t(72069),i=t(36374),v=t(23583),f=t(11051),c=t(5683),d=t(37540),h=t(491),g=t(55902),p=t(25001),y=t(9205),m=t(94879),I=t(84082),x=t(90809),S=t(82628),T=t(95486),E=t(54932),O=t(1774),A=t(172),C=t(35051),P=t(63741),N=t(16929),$=t(99050),U=e.Object,D=e.Array,F=e.Date,L=e.Error,j=e.TypeError,W=e.PerformanceMark,b=a("DOMException"),K=O.Map,z=O.has,it=O.get,et=O.set,lt=A.Set,pt=A.add,mt=A.has,Bt=a("Object","keys"),Ut=o([].push),Nt=o((!0).valueOf),at=o(1 .valueOf),ct=o("".valueOf),Ot=o(F.prototype.getTime),Ct=i("structuredClone"),It="DataCloneError",Ft="Transferring",Wt=function(V){return!u(function(){var w=new e.Set([7]),tt=V(w),k=V(U(7));return tt===w||!tt.has(7)||!d(k)||+k!=7})&&V},Kt=function(V,w){return!u(function(){var tt=new w,k=V({a:tt,b:tt});return!(k&&k.a===k.b&&k.a instanceof w&&k.a.stack===tt.stack)})},Gt=function(V){return!u(function(){var w=V(new e.AggregateError([1],Ct,{cause:3}));return w.name!=="AggregateError"||w.errors[0]!==1||w.message!==Ct||w.cause!==3})},Mt=e.structuredClone,bt=r||!Kt(Mt,L)||!Kt(Mt,b)||!Gt(Mt),jt=!Mt&&Wt(function(V){return new W(Ct,{detail:V}).detail}),Lt=Wt(Mt)||jt,q=function(V){throw new b("Uncloneable type: "+V,It)},st=function(V,w){throw new b((w||"Cloning")+" of "+V+" cannot be properly polyfilled in this engine",It)},Y=function(V,w){return Lt||st(w),Lt(V)},xt=function(){var V;try{V=new e.DataTransfer}catch(w){try{V=new e.ClipboardEvent("").clipboardData}catch(tt){}}return V&&V.items&&V.files?V:null},St=function(V,w,tt){if(z(w,V))return it(w,V);var k=tt||y(V),ot,J,Rt,zt,Q,vt;if(k==="SharedArrayBuffer")Lt?ot=Lt(V):ot=V;else{var ft=e.DataView;!ft&&!v(V.slice)&&st("ArrayBuffer");try{if(v(V.slice)&&!V.resizable)ot=V.slice(0);else for(J=V.byteLength,Rt=("maxByteLength"in V)?{maxByteLength:V.maxByteLength}:void 0,ot=new ArrayBuffer(J,Rt),zt=new ft(V),Q=new ft(ot),vt=0;vt1&&!c(arguments[1])?p(arguments[1]):void 0,k=tt?tt.transfer:void 0,ot,J;k!==void 0&&(ot=new K,J=Jt(k,ot));var Rt=ht(w,ot);return J&&Zt(J),Rt}})},28381:function(s,l,t){t(63981),t(23913)},98812:function(s,l,t){t(35054),t(93087);var r=t(14304),n=t(34246),e=t(28167),a=t(38941),o=t(96499),u=t(11286),i=t(92986),v=t(91918),f=t(16142),c=t(85500),d=t(2725),h=t(78401),g=t(26820),p=t(82367),y=t(12833),m=t(23583),I=t(94879),x=t(45526),S=t(9205),T=t(25001),E=t(37540),O=t(17361),A=t(5406),C=t(18526),P=t(90619),N=t(81077),$=t(10659),U=t(95486),D=t(18565),F=t(13270),L=D("iterator"),j="URLSearchParams",W=j+"Iterator",b=p.set,K=p.getterFor(j),z=p.getterFor(W),it=e("fetch"),et=e("Request"),lt=e("Headers"),pt=et&&et.prototype,mt=lt&<.prototype,Bt=n.TypeError,Ut=n.encodeURIComponent,Nt=String.fromCharCode,at=a("String","fromCodePoint"),ct=parseInt,Ot=u("".charAt),Ct=u([].join),It=u([].push),Ft=u("".replace),Wt=u([].shift),Kt=u([].splice),Gt=u("".split),Mt=u("".slice),bt=u(/./.exec),jt=/\+/g,Lt="\uFFFD",q=/^[0-9a-f]+$/i,st=function(Q,vt){var ft=Mt(Q,vt,vt+2);return bt(q,ft)?ct(ft,16):NaN},Y=function(Q){for(var vt=0,ft=128;ft>0&&Q&ft;ft>>=1)vt++;return vt},xt=function(Q){var vt=null;switch(Q.length){case 1:vt=Q[0];break;case 2:vt=(Q[0]&31)<<6|Q[1]&63;break;case 3:vt=(Q[0]&15)<<12|(Q[1]&63)<<6|Q[2]&63;break;case 4:vt=(Q[0]&7)<<18|(Q[1]&63)<<12|(Q[2]&63)<<6|Q[3]&63;break}return vt>1114111?null:vt},St=function(Q){Q=Ft(Q,jt," ");for(var vt=Q.length,ft="",dt=0;dtvt){ft+="%",dt++;continue}var Ht=st(Q,dt+1);if(Ht!==Ht){ft+=Dt,dt++;continue}dt+=2;var Yt=Y(Ht);if(Yt===0)Dt=Nt(Ht);else{if(Yt===1||Yt>4){ft+=Lt,dt++;continue}for(var Qt=[Ht],kt=1;ktvt||Ot(Q,dt)!=="%"));){var tr=st(Q,dt+1);if(tr!==tr){dt+=3;break}if(tr>191||tr<128)break;It(Qt,tr),dt+=2,kt++}if(Qt.length!==Yt){ft+=Lt;continue}var ur=xt(Qt);ur===null?ft+=Lt:Dt=at(ur)}}ft+=Dt,dt++}return ft},gt=/[!'()~]|%20/g,ht={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Jt=function(Q){return ht[Q]},Zt=function(Q){return Ft(Ut(Q),gt,Jt)},V=g(function(vt,ft){b(this,{type:W,target:K(vt).entries,index:0,kind:ft})},j,function(){var vt=z(this),ft=vt.target,dt=vt.index++;if(!ft||dt>=ft.length)return vt.target=null,$(void 0,!0);var Dt=ft[dt];switch(vt.kind){case"keys":return $(Dt.key,!1);case"values":return $(Dt.value,!1)}return $([Dt.key,Dt.value],!1)},!0),w=function(Q){this.entries=[],this.url=null,Q!==void 0&&(E(Q)?this.parseObject(Q):this.parseQuery(typeof Q=="string"?Ot(Q,0)==="?"?Mt(Q,1):Q:O(Q)))};w.prototype={type:j,bindURL:function(Q){this.url=Q,this.update()},parseObject:function(Q){var vt=this.entries,ft=N(Q),dt,Dt,Ht,Yt,Qt,kt,tr;if(ft)for(dt=P(Q,ft),Dt=dt.next;!(Ht=o(Dt,dt)).done;){if(Yt=P(T(Ht.value)),Qt=Yt.next,(kt=o(Qt,Yt)).done||(tr=o(Qt,Yt)).done||!o(Qt,Yt).done)throw new Bt("Expected sequence with length 2");It(vt,{key:O(kt.value),value:O(tr.value)})}else for(var ur in Q)I(Q,ur)&&It(vt,{key:ur,value:O(Q[ur])})},parseQuery:function(Q){if(Q)for(var vt=this.entries,ft=Gt(Q,"&"),dt=0,Dt,Ht;dt0?arguments[0]:void 0,ft=b(this,new w(vt));i||(this.size=ft.entries.length)},k=tt.prototype;if(d(k,{append:function(vt,ft){var dt=K(this);U(arguments.length,2),It(dt.entries,{key:O(vt),value:O(ft)}),i||this.length++,dt.updateURL()},delete:function(Q){for(var vt=K(this),ft=U(arguments.length,1),dt=vt.entries,Dt=O(Q),Ht=ft<2?void 0:arguments[1],Yt=Ht===void 0?Ht:O(Ht),Qt=0;Qtdt.key?1:-1}),vt.updateURL()},forEach:function(vt){for(var ft=K(this).entries,dt=x(vt,arguments.length>1?arguments[1]:void 0),Dt=0,Ht;Dt1?Rt(arguments[1]):{})}}),m(et)){var zt=function(vt){return y(this,pt),new et(vt,arguments.length>1?Rt(arguments[1]):{})};pt.constructor=zt,zt.prototype=pt,r({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:zt})}}s.exports={URLSearchParams:tt,getState:K}},10901:function(s,l,t){var r=t(16142),n=t(11286),e=t(17361),a=t(95486),o=URLSearchParams,u=o.prototype,i=n(u.append),v=n(u.delete),f=n(u.forEach),c=n([].push),d=new o("a=1&a=2&b=3");d.delete("a",1),d.delete("b",void 0),d+""!="a=2"&&r(u,"delete",function(h){var g=arguments.length,p=g<2?void 0:arguments[1];if(g&&p===void 0)return v(this,h);var y=[];f(this,function(A,C){c(y,{key:C,value:A})}),a(g,1);for(var m=e(h),I=e(p),x=0,S=0,T=!1,E=y.length,O;x?@[\\\]^|]/,Mt=/[\0\t\n\r #/:<>?@[\\\]^|]/,bt=/^[\u0000-\u0020]+/,jt=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,Lt=/[\t\n\r]/g,q,st=function(G){var nt=et(G,"."),H,B,Z,At,Et,wt,_t;if(nt.length&&nt[nt.length-1]===""&&nt.length--,H=nt.length,H>4)return G;for(B=[],Z=0;Z1&&F(At,0)==="0"&&(Et=L(It,At)?16:8,At=lt(At,Et===8?1:2)),At==="")wt=0;else{if(!L(Et===10?Wt:Et===8?Ft:Kt,At))return G;wt=$(At,Et)}K(B,wt)}for(Z=0;Z=D(256,5-H))return null}else if(wt>255)return null;for(_t=b(B),Z=0;Z6))return;for(wt=0;qt();){if(_t=null,wt>0)if(qt()==="."&&wt<4)Z++;else return;if(!L(Ct,qt()))return;for(;L(Ct,qt());){if(rr=$(qt(),10),_t===null)_t=rr;else{if(_t===0)return;_t=_t*10+rr}if(_t>255)return;Z++}nt[H]=nt[H]*256+_t,wt++,(wt===2||wt===4)&&H++}if(wt!==4)return;break}else if(qt()===":"){if(Z++,!qt())return}else if(qt())return;nt[H++]=At}if(B!==null)for(ar=H-B,H=7;H!==0&&ar>0;)rt=nt[H],nt[H--]=nt[B+ar-1],nt[B+--ar]=rt;else if(H!==8)return;return nt},xt=function(G){for(var nt=null,H=1,B=null,Z=0,At=0;At<8;At++)G[At]!==0?(Z>H&&(nt=B,H=Z),B=null,Z=0):(B===null&&(B=At),++Z);return Z>H?B:nt},St=function(G){var nt,H,B,Z;if(typeof G=="number"){for(nt=[],H=0;H<4;H++)mt(nt,G%256),G=U(G/256);return j(nt,".")}if(typeof G=="object"){for(nt="",B=xt(G),H=0;H<8;H++)Z&&G[H]===0||(Z&&(Z=!1),B===H?(nt+=H?":":"::",Z=!0):(nt+=W(G[H],16),H<7&&(nt+=":")));return"["+nt+"]"}return G},gt={},ht=d({},gt,{" ":1,'"':1,"<":1,">":1,"`":1}),Jt=d({},ht,{"#":1,"?":1,"{":1,"}":1}),Zt=d({},Jt,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),V=function(G,nt){var H=p(G,0);return H>32&&H<127&&!c(nt,G)?G:encodeURIComponent(G)},w={ftp:21,file:null,http:80,https:443,ws:80,wss:443},tt=function(G,nt){var H;return G.length===2&&L(ct,F(G,0))&&((H=F(G,1))===":"||!nt&&H==="|")},k=function(G){var nt;return G.length>1&&tt(lt(G,0,2))&&(G.length===2||(nt=F(G,2))==="/"||nt==="\\"||nt==="?"||nt==="#")},ot=function(G){return G==="."||pt(G)==="%2e"},J=function(G){return G=pt(G),G===".."||G==="%2e."||G===".%2e"||G==="%2e%2e"},Rt={},zt={},Q={},vt={},ft={},dt={},Dt={},Ht={},Yt={},Qt={},kt={},tr={},ur={},xr={},Ar={},Sr={},yr={},ir={},Pr={},hr={},lr={},Er=function(G,nt,H){var B=m(G),Z,At,Et;if(nt){if(At=this.parse(B),At)throw new N(At);this.searchParams=null}else{if(H!==void 0&&(Z=new Er(H,!0)),At=this.parse(B,null,Z),At)throw new N(At);Et=C(new A),Et.bindURL(this),this.searchParams=Et}};Er.prototype={type:"URL",parse:function(G,nt,H){var B=this,Z=nt||Rt,At=0,Et="",wt=!1,_t=!1,rr=!1,ar,rt,qt,vr;for(G=m(G),nt||(B.scheme="",B.username="",B.password="",B.host=null,B.port=null,B.path=[],B.query=null,B.fragment=null,B.cannotBeABaseURL=!1,G=z(G,bt,""),G=z(G,jt,"$1")),G=z(G,Lt,""),ar=h(G);At<=ar.length;){switch(rt=ar[At],Z){case Rt:if(rt&&L(ct,rt))Et+=pt(rt),Z=zt;else{if(nt)return Ut;Z=Q;continue}break;case zt:if(rt&&(L(Ot,rt)||rt==="+"||rt==="-"||rt==="."))Et+=pt(rt);else if(rt===":"){if(nt&&(B.isSpecial()!==c(w,Et)||Et==="file"&&(B.includesCredentials()||B.port!==null)||B.scheme==="file"&&!B.host))return;if(B.scheme=Et,nt){B.isSpecial()&&w[B.scheme]===B.port&&(B.port=null);return}Et="",B.scheme==="file"?Z=xr:B.isSpecial()&&H&&H.scheme===B.scheme?Z=vt:B.isSpecial()?Z=Ht:ar[At+1]==="/"?(Z=ft,At++):(B.cannotBeABaseURL=!0,K(B.path,""),Z=Pr)}else{if(nt)return Ut;Et="",Z=Q,At=0;continue}break;case Q:if(!H||H.cannotBeABaseURL&&rt!=="#")return Ut;if(H.cannotBeABaseURL&&rt==="#"){B.scheme=H.scheme,B.path=g(H.path),B.query=H.query,B.fragment="",B.cannotBeABaseURL=!0,Z=lr;break}Z=H.scheme==="file"?xr:dt;continue;case vt:if(rt==="/"&&ar[At+1]==="/")Z=Yt,At++;else{Z=dt;continue}break;case ft:if(rt==="/"){Z=Qt;break}else{Z=ir;continue}case dt:if(B.scheme=H.scheme,rt===q)B.username=H.username,B.password=H.password,B.host=H.host,B.port=H.port,B.path=g(H.path),B.query=H.query;else if(rt==="/"||rt==="\\"&&B.isSpecial())Z=Dt;else if(rt==="?")B.username=H.username,B.password=H.password,B.host=H.host,B.port=H.port,B.path=g(H.path),B.query="",Z=hr;else if(rt==="#")B.username=H.username,B.password=H.password,B.host=H.host,B.port=H.port,B.path=g(H.path),B.query=H.query,B.fragment="",Z=lr;else{B.username=H.username,B.password=H.password,B.host=H.host,B.port=H.port,B.path=g(H.path),B.path.length--,Z=ir;continue}break;case Dt:if(B.isSpecial()&&(rt==="/"||rt==="\\"))Z=Yt;else if(rt==="/")Z=Qt;else{B.username=H.username,B.password=H.password,B.host=H.host,B.port=H.port,Z=ir;continue}break;case Ht:if(Z=Yt,rt!=="/"||F(Et,At+1)!=="/")continue;At++;break;case Yt:if(rt!=="/"&&rt!=="\\"){Z=Qt;continue}break;case Qt:if(rt==="@"){wt&&(Et="%40"+Et),wt=!0,qt=h(Et);for(var Or=0;Or65535)return at;B.port=B.isSpecial()&&mr===w[B.scheme]?null:mr,Et=""}if(nt)return;Z=yr;continue}else return at;break;case xr:if(B.scheme="file",rt==="/"||rt==="\\")Z=Ar;else if(H&&H.scheme==="file")switch(rt){case q:B.host=H.host,B.path=g(H.path),B.query=H.query;break;case"?":B.host=H.host,B.path=g(H.path),B.query="",Z=hr;break;case"#":B.host=H.host,B.path=g(H.path),B.query=H.query,B.fragment="",Z=lr;break;default:k(j(g(ar,At),""))||(B.host=H.host,B.path=g(H.path),B.shortenPath()),Z=ir;continue}else{Z=ir;continue}break;case Ar:if(rt==="/"||rt==="\\"){Z=Sr;break}H&&H.scheme==="file"&&!k(j(g(ar,At),""))&&(tt(H.path[0],!0)?K(B.path,H.path[0]):B.host=H.host),Z=ir;continue;case Sr:if(rt===q||rt==="/"||rt==="\\"||rt==="?"||rt==="#"){if(!nt&&tt(Et))Z=ir;else if(Et===""){if(B.host="",nt)return;Z=yr}else{if(vr=B.parseHost(Et),vr)return vr;if(B.host==="localhost"&&(B.host=""),nt)return;Et="",Z=yr}continue}else Et+=rt;break;case yr:if(B.isSpecial()){if(Z=ir,rt!=="/"&&rt!=="\\")continue}else if(!nt&&rt==="?")B.query="",Z=hr;else if(!nt&&rt==="#")B.fragment="",Z=lr;else if(rt!==q&&(Z=ir,rt!=="/"))continue;break;case ir:if(rt===q||rt==="/"||rt==="\\"&&B.isSpecial()||!nt&&(rt==="?"||rt==="#")){if(J(Et)?(B.shortenPath(),rt!=="/"&&!(rt==="\\"&&B.isSpecial())&&K(B.path,"")):ot(Et)?rt!=="/"&&!(rt==="\\"&&B.isSpecial())&&K(B.path,""):(B.scheme==="file"&&!B.path.length&&tt(Et)&&(B.host&&(B.host=""),Et=F(Et,0)+":"),K(B.path,Et)),Et="",B.scheme==="file"&&(rt===q||rt==="?"||rt==="#"))for(;B.path.length>1&&B.path[0]==="";)it(B.path);rt==="?"?(B.query="",Z=hr):rt==="#"&&(B.fragment="",Z=lr)}else Et+=V(rt,Jt);break;case Pr:rt==="?"?(B.query="",Z=hr):rt==="#"?(B.fragment="",Z=lr):rt!==q&&(B.path[0]+=V(rt,gt));break;case hr:!nt&&rt==="#"?(B.fragment="",Z=lr):rt!==q&&(rt==="'"&&B.isSpecial()?B.query+="%27":rt==="#"?B.query+="%23":B.query+=V(rt,gt));break;case lr:rt!==q&&(B.fragment+=V(rt,ht));break}At++}},parseHost:function(G){var nt,H,B;if(F(G,0)==="["){if(F(G,G.length-1)!=="]"||(nt=Y(lt(G,1,-1)),!nt))return Nt;this.host=nt}else if(this.isSpecial()){if(G=y(G),L(Gt,G)||(nt=st(G),nt===null))return Nt;this.host=nt}else{if(L(Mt,G))return Nt;for(nt="",H=h(G),B=0;B1?arguments[1]:void 0,Z=E(H,new Er(nt,!1,B));n||(H.href=Z.serialize(),H.origin=Z.getOrigin(),H.protocol=Z.getProtocol(),H.username=Z.getUsername(),H.password=Z.getPassword(),H.host=Z.getHost(),H.hostname=Z.getHostname(),H.port=Z.getPort(),H.pathname=Z.getPathname(),H.search=Z.getSearch(),H.searchParams=Z.getSearchParams(),H.hash=Z.getHash())},nr=pr.prototype,er=function(G,nt){return{get:function(){return O(this)[G]()},set:nt&&function(H){return O(this)[nt](H)},configurable:!0,enumerable:!0}};if(n&&(v(nr,"href",er("serialize","setHref")),v(nr,"origin",er("getOrigin")),v(nr,"protocol",er("getProtocol","setProtocol")),v(nr,"username",er("getUsername","setUsername")),v(nr,"password",er("getPassword","setPassword")),v(nr,"host",er("getHost","setHost")),v(nr,"hostname",er("getHostname","setHostname")),v(nr,"port",er("getPort","setPort")),v(nr,"pathname",er("getPathname","setPathname")),v(nr,"search",er("getSearch","setSearch")),v(nr,"searchParams",er("getSearchParams")),v(nr,"hash",er("getHash","setHash"))),i(nr,"toJSON",function(){return O(this).serialize()},{enumerable:!0}),i(nr,"toString",function(){return O(this).serialize()},{enumerable:!0}),P){var Cr=P.createObjectURL,Ir=P.revokeObjectURL;Cr&&i(pr,"createObjectURL",o(Cr,P)),Ir&&i(pr,"revokeObjectURL",o(Ir,P))}I(pr,"URL"),r({global:!0,constructor:!0,forced:!e,sham:!n},{URL:pr})},51862:function(s,l,t){t(81888)},24119:function(s,l,t){var r=t(14304),n=t(38941),e=t(95486),a=t(17361),o=t(91918),u=n("URL");r({target:"URL",stat:!0,forced:!o},{parse:function(v){var f=e(arguments.length,1),c=a(v),d=f<2||arguments[1]===void 0?void 0:a(arguments[1]);try{return new u(c,d)}catch(h){return null}}})},97526:function(s,l,t){var r=t(14304),n=t(96499);r({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return n(URL.prototype.toString,this)}})},61969:function(s,l,t){t(40949),t(43657),t(43606),t(15855),t(42026),t(33257),t(59414),t(88344),t(92579),t(94655),t(8565),t(60843),t(65842),t(51595),t(54908),t(81742),t(8720),t(42861),t(27796),t(1341),t(98700),t(65481),t(46509),t(41585),t(84554),t(36619),t(33818),t(64096),t(2209),t(91591),t(74092),t(54703),t(82936),t(48493),t(64730),t(95024),t(35054),t(25460),t(60703),t(90468),t(69581),t(720),t(11042),t(17289),t(24608),t(51644),t(88088),t(46828),t(90088),t(35148),t(86184),t(53983),t(42560),t(88444),t(27839),t(73051),t(9372),t(35473),t(4983),t(6875),t(68575),t(35495),t(32790),t(58594),t(30801),t(90911),t(90429),t(33685),t(60086),t(96049),t(14038),t(55518),t(8894),t(60628),t(56347),t(16864),t(93819),t(11565),t(26668),t(46386),t(35179),t(20150),t(23001),t(40334),t(87457),t(66699),t(17535),t(48157),t(55338),t(6644),t(71332),t(47269),t(25627),t(22090),t(9839),t(15656),t(22091),t(2886),t(25895),t(24228),t(79488),t(75987),t(81555),t(87854),t(35074),t(50946),t(29417),t(80628),t(74375),t(29708),t(93449),t(9111),t(83514),t(15096),t(59590),t(99663),t(89988),t(54427),t(67895),t(57909),t(83938),t(55461),t(97339),t(3670),t(15224),t(45891),t(99910),t(92445),t(21875),t(4383),t(11361),t(13728),t(14885),t(30343),t(22045),t(75e3),t(64658),t(16017),t(84681),t(73421),t(93446),t(31046),t(94645),t(62935),t(62518),t(45130),t(51542),t(43781),t(25738),t(93247),t(41533),t(60225),t(69920),t(89205),t(78546),t(63616),t(16893),t(3676),t(58361),t(7487),t(23958),t(9798),t(2371),t(76185),t(76553),t(93518),t(25227),t(91723),t(57882),t(37796),t(11563),t(26159),t(20962),t(77487),t(6130),t(1354),t(47119),t(31145),t(96773),t(14371),t(18180),t(83147),t(75765),t(86548),t(15282),t(51275),t(91890),t(15089),t(78134),t(56456),t(40735),t(8510),t(70159),t(93087),t(26021),t(93029),t(59158),t(15599),t(18509),t(21579),t(8854),t(57676),t(14527),t(96834),t(52684),t(74980),t(390),t(42794),t(21293),t(18184),t(75012),t(19680),t(4193),t(70641),t(53892),t(95976),t(399),t(72032),t(49442),t(16012),t(9943),t(33128),t(95625),t(90614),t(60120),t(75826),t(25560),t(22571),t(40704),t(36849),t(49191),t(81083),t(27428),t(44884),t(48658),t(71998),t(6116),t(33032),t(80962),t(49381),t(38344),t(65961),t(94153),t(16028),t(20656),t(17063),t(21774),t(51761),t(12317),t(19711),t(41034),t(13313),t(44698),t(7369),t(66178),t(67961),t(8695),t(69997),t(9711),t(3923),t(59728),t(85227),t(56933),t(91490),t(61766),t(85143),t(47005),t(10042),t(37888),t(19431),t(60869),t(50338),t(53059),t(5805),t(50685),t(70649),t(39842),t(82872),t(91401),t(92904),t(28381),t(51862),t(20760),t(24119),t(97526),t(86650),t(10901),t(93944),t(79043),t(75081)}},gr={};function sr(s){var l=gr[s];if(l!==void 0)return l.exports;var t=gr[s]={exports:{}};return Fr[s].call(t.exports,t,t.exports,sr),t.exports}(function(){sr.d=function(s,l){for(var t in l)sr.o(l,t)&&!sr.o(s,t)&&Object.defineProperty(s,t,{enumerable:!0,get:l[t]})}})(),function(){sr.o=function(s,l){return Object.prototype.hasOwnProperty.call(s,l)}}(),sr(61969);var Dr=sr(19770);return Dr=Dr.default,Dr}()}); diff --git a/release/latest/dist/plugin/pkgd/billboardjs-plugin-sparkline.pkgd.js b/release/latest/dist/plugin/pkgd/billboardjs-plugin-sparkline.pkgd.js index 501aafcee..243d08bb0 100644 --- a/release/latest/dist/plugin/pkgd/billboardjs-plugin-sparkline.pkgd.js +++ b/release/latest/dist/plugin/pkgd/billboardjs-plugin-sparkline.pkgd.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */ @@ -23428,9 +23428,15 @@ function getScrollPosition(node) { function getTransformCTM(node, x = 0, y = 0, inverse = true) { const point = new DOMPoint(x, y); const screen = node.getScreenCTM(); - return point.matrixTransform( + const res = point.matrixTransform( inverse ? screen == null ? void 0 : screen.inverse() : screen ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; } function getTranslation(node) { const transform = node ? node.transform : null; @@ -23707,7 +23713,7 @@ class Plugin { }); } } -__publicField(Plugin, "version", "3.14.1"); +__publicField(Plugin, "version", "3.14.2"); ;// ./src/Plugin/sparkline/Options.ts class Options { diff --git a/release/latest/dist/plugin/pkgd/billboardjs-plugin-sparkline.pkgd.min.js b/release/latest/dist/plugin/pkgd/billboardjs-plugin-sparkline.pkgd.min.js index 4a8322304..70e06cd6d 100644 --- a/release/latest/dist/plugin/pkgd/billboardjs-plugin-sparkline.pkgd.min.js +++ b/release/latest/dist/plugin/pkgd/billboardjs-plugin-sparkline.pkgd.min.js @@ -5,12 +5,12 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */(function(qr,Lr){typeof exports=="object"&&typeof module=="object"?module.exports=Lr():typeof define=="function"&&define.amd?define("bb",[],Lr):typeof exports=="object"?exports.bb=Lr():(qr.bb=qr.bb||{},qr.bb.plugin=qr.bb.plugin||{},qr.bb.plugin["sparkline.pkgd"]=Lr())})(this,function(){return function(){"use strict";var Ce={68990:function(i,d,t){t.d(d,{default:function(){return Sa}});var r=Object.defineProperty,n=Object.getOwnPropertySymbols,e=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,s=(a,f,h)=>f in a?r(a,f,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[f]=h,u=(a,f)=>{for(var h in f||(f={}))e.call(f,h)&&s(a,h,f[h]);if(n)for(var h of n(f))o.call(f,h)&&s(a,h,f[h]);return a};const l={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},v={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},c={area:"bb-area",areas:"bb-areas"},g={axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},y={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},p={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},m={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},S={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},x={dragarea:"bb-dragarea",INCLUDED:"_included_"},O={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},P={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},T={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},R={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},N={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},A={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},C={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},D={level:"bb-level",levels:"bb-levels"},$={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},F={region:"bb-region",regions:"bb-regions"},L={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},G={shape:"bb-shape",shapes:"bb-shapes"},H={brush:"bb-brush",subchart:"bb-subchart"},U={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},B={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},j={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},z={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var Q=u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u({},l),v),c),g),y),p),m),S),x),P),T),R),N),A),O),C),$),F),L),G),H),U),B),j),z);function X(){}function k(a){return a==null?X:function(){return this.querySelector(a)}}function Z(a){typeof a!="function"&&(a=k(a));for(var f=this._groups,h=f.length,E=new Array(h),I=0;I=wt&&(wt=Kt+1);!(rr=Et[wt])&&++wt=0;)(b=E[I])&&(M&&b.compareDocumentPosition(M)^4&&M.parentNode.insertBefore(b,M),M=b);return this}function or(a){a||(a=K);function f(Tt,bt){return Tt&&bt?a(Tt.__data__,bt.__data__):!Tt-!bt}for(var h=this._groups,E=h.length,I=new Array(E),M=0;Mf?1:a>=f?0:NaN}function et(){var a=arguments[0];return arguments[0]=this,a.apply(null,arguments),this}function it(){return Array.from(this)}function ot(){for(var a=this._groups,f=0,h=a.length;f=0&&(f=a.slice(0,h))!=="xmlns"&&(a=a.slice(h+1)),nt.hasOwnProperty(f)?{space:nt[f],local:a}:a}function pt(a){return function(){this.removeAttribute(a)}}function xt(a){return function(){this.removeAttributeNS(a.space,a.local)}}function Ut(a,f){return function(){this.setAttribute(a,f)}}function Zt(a,f){return function(){this.setAttributeNS(a.space,a.local,f)}}function nr(a,f){return function(){var h=f.apply(this,arguments);h==null?this.removeAttribute(a):this.setAttribute(a,h)}}function ar(a,f){return function(){var h=f.apply(this,arguments);h==null?this.removeAttributeNS(a.space,a.local):this.setAttributeNS(a.space,a.local,h)}}function ir(a,f){var h=ht(a);if(arguments.length<2){var E=this.node();return h.local?E.getAttributeNS(h.space,h.local):E.getAttribute(h)}return this.each((f==null?h.local?xt:pt:typeof f=="function"?h.local?ar:nr:h.local?Zt:Ut)(h,f))}function cr(a){return a.ownerDocument&&a.ownerDocument.defaultView||a.document&&a||a.defaultView}function Ur(a){return function(){this.style.removeProperty(a)}}function gn(a,f,h){return function(){this.style.setProperty(a,f,h)}}function bn(a,f,h){return function(){var E=f.apply(this,arguments);E==null?this.style.removeProperty(a):this.style.setProperty(a,E,h)}}function yn(a,f,h){return arguments.length>1?this.each((f==null?Ur:typeof f=="function"?bn:gn)(a,f,h==null?"":h)):$r(this.node(),a)}function $r(a,f){return a.style.getPropertyValue(f)||cr(a).getComputedStyle(a,null).getPropertyValue(f)}function Br(a){return function(){delete this[a]}}function Fn(a,f){return function(){this[a]=f}}function Jr(a,f){return function(){var h=f.apply(this,arguments);h==null?delete this[a]:this[a]=h}}function jr(a,f){return arguments.length>1?this.each((f==null?Br:typeof f=="function"?Jr:Fn)(a,f)):this.node()[a]}function fn(a){return a.trim().split(/^|\s+/)}function zr(a){return a.classList||new mr(a)}function mr(a){this._node=a,this._names=fn(a.getAttribute("class")||"")}mr.prototype={add:function(a){var f=this._names.indexOf(a);f<0&&(this._names.push(a),this._node.setAttribute("class",this._names.join(" ")))},remove:function(a){var f=this._names.indexOf(a);f>=0&&(this._names.splice(f,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(a){return this._names.indexOf(a)>=0}};function Nr(a,f){for(var h=zr(a),E=-1,I=f.length;++E=0&&(h=f.slice(E+1),f=f.slice(0,E)),{type:f,name:h}})}function Ua(a){return function(){var f=this.__on;if(f){for(var h=0,E=-1,I=f.length,M;h{}};function De(){for(var a=0,f=arguments.length,h={},E;a=0&&(E=h.slice(I+1),h=h.slice(0,I)),h&&!f.hasOwnProperty(h))throw new Error("unknown type: "+h);return{type:h,name:E}})}Bn.prototype=De.prototype={constructor:Bn,on:function(a,f){var h=this._,E=Ka(a+"",h),I,M=-1,b=E.length;if(arguments.length<2){for(;++M0)for(var h=new Array(I),E=0,I,M;E=0&&a._call.call(void 0,f),a=a._next;--vn}function Ue(){an=(wn=On.now())+Gn,vn=Sn=0;try{Za()}finally{vn=0,qa(),an=0}}function ka(){var a=On.now(),f=a-wn;f>Fe&&(Gn-=f,wn=a)}function qa(){for(var a,f=jn,h,E=1/0;f;)f._call?(E>f._time&&(E=f._time),a=f,f=f._next):(h=f._next,f._next=null,f=a?a._next=h:jn=h);In=a,ie(E)}function ie(a){if(!vn){Sn&&(Sn=clearTimeout(Sn));var f=a-an;f>24?(a<1/0&&(Sn=setTimeout(Ue,a-On.now()-Gn)),En&&(En=clearInterval(En))):(En||(wn=On.now(),En=setInterval(ka,Fe)),vn=1,$e(Ue))}}function Be(a,f,h){var E=new Hn;return f=f==null?0:+f,E.restart(I=>{E.stop(),a(I+f)},f,h),E}var _a=Ja("start","end","cancel","interrupt"),to=[],je=0,we=1,ue=2,Vn=3,Ge=4,fe=5,Wn=6;function zn(a,f,h,E,I,M){var b=a.__transition;if(!b)a.__transition={};else if(h in b)return;ro(a,h,{name:f,index:E,group:I,on:_a,tween:to,time:M.time,delay:M.delay,duration:M.duration,ease:M.ease,timer:null,state:je})}function le(a,f){var h=Hr(a,f);if(h.state>je)throw new Error("too late; already scheduled");return h}function Yr(a,f){var h=Hr(a,f);if(h.state>Vn)throw new Error("too late; already running");return h}function Hr(a,f){var h=a.__transition;if(!h||!(h=h[f]))throw new Error("transition not found");return h}function ro(a,f,h){var E=a.__transition,I;E[f]=h,h.timer=Le(M,0,h.time);function M(q){h.state=we,h.timer.restart(b,h.delay,h.time),h.delay<=q&&b(q-h.delay)}function b(q){var tt,Tt,bt,Ht;if(h.state!==we)return W();for(tt in E)if(Ht=E[tt],Ht.name===h.name){if(Ht.state===Vn)return Be(b);Ht.state===Ge?(Ht.state=Wn,Ht.timer.stop(),Ht.on.call("interrupt",a,a.__data__,Ht.index,Ht.group),delete E[tt]):+ttue&&E.state180?tt+=360:tt-q>180&&(q+=360),bt.push({i:Tt.push(I(Tt)+"rotate(",null,E)-2,x:_r(q,tt)})):tt&&Tt.push(I(Tt)+"rotate("+tt+E)}function w(q,tt,Tt,bt){q!==tt?bt.push({i:Tt.push(I(Tt)+"skewX(",null,E)-2,x:_r(q,tt)}):tt&&Tt.push(I(Tt)+"skewX("+tt+E)}function W(q,tt,Tt,bt,Ht,fr){if(q!==Tt||tt!==bt){var xr=Ht.push(I(Ht)+"scale(",null,",",null,")");fr.push({i:xr-4,x:_r(q,Tt)},{i:xr-2,x:_r(tt,bt)})}else(Tt!==1||bt!==1)&&Ht.push(I(Ht)+"scale("+Tt+","+bt+")")}return function(q,tt){var Tt=[],bt=[];return q=a(q),tt=a(tt),M(q.translateX,q.translateY,tt.translateX,tt.translateY,Tt,bt),b(q.rotate,tt.rotate,Tt,bt),w(q.skewX,tt.skewX,Tt,bt),W(q.scaleX,q.scaleY,tt.scaleX,tt.scaleY,Tt,bt),q=tt=null,function(Ht){for(var fr=-1,xr=bt.length,Et;++fr>8&15|f>>4&240,f>>4&15|f&240,(f&15)<<4|f&15,1):h===8?Xn(f>>24&255,f>>16&255,f>>8&255,(f&255)/255):h===4?Xn(f>>12&15|f>>8&240,f>>8&15|f>>4&240,f>>4&15|f&240,((f&15)<<4|f&15)/255):null):(f=co.exec(a))?new br(f[1],f[2],f[3],1):(f=ho.exec(a))?new br(f[1]*255/100,f[2]*255/100,f[3]*255/100,1):(f=go.exec(a))?Xn(f[1],f[2],f[3],f[4]):(f=yo.exec(a))?Xn(f[1]*255/100,f[2]*255/100,f[3]*255/100,f[4]):(f=po.exec(a))?ke(f[1],f[2]/100,f[3]/100,1):(f=mo.exec(a))?ke(f[1],f[2]/100,f[3]/100,f[4]):Ye.hasOwnProperty(a)?Je(Ye[a]):a==="transparent"?new br(NaN,NaN,NaN,0):null}function Je(a){return new br(a>>16&255,a>>8&255,a&255,1)}function Xn(a,f,h,E){return E<=0&&(a=f=h=NaN),new br(a,f,h,E)}function Eo(a){return a instanceof Tn||(a=Pn(a)),a?(a=a.rgb(),new br(a.r,a.g,a.b,a.opacity)):new br}function Jn(a,f,h,E){return arguments.length===1?Eo(a):new br(a,f,h,E==null?1:E)}function br(a,f,h,E){this.r=+a,this.g=+f,this.b=+h,this.opacity=+E}de(br,Jn,ze(Tn,{brighter(a){return a=a==null?Kn:Math.pow(Kn,a),new br(this.r*a,this.g*a,this.b*a,this.opacity)},darker(a){return a=a==null?Rn:Math.pow(Rn,a),new br(this.r*a,this.g*a,this.b*a,this.opacity)},rgb(){return this},clamp(){return new br(on(this.r),on(this.g),on(this.b),Qn(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Qe,formatHex:Qe,formatHex8:Io,formatRgb:Ze,toString:Ze}));function Qe(){return`#${sn(this.r)}${sn(this.g)}${sn(this.b)}`}function Io(){return`#${sn(this.r)}${sn(this.g)}${sn(this.b)}${sn((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ze(){const a=Qn(this.opacity);return`${a===1?"rgb(":"rgba("}${on(this.r)}, ${on(this.g)}, ${on(this.b)}${a===1?")":`, ${a})`}`}function Qn(a){return isNaN(a)?1:Math.max(0,Math.min(1,a))}function on(a){return Math.max(0,Math.min(255,Math.round(a)||0))}function sn(a){return a=on(a),(a<16?"0":"")+a.toString(16)}function ke(a,f,h,E){return E<=0?a=f=h=NaN:h<=0||h>=1?a=f=NaN:f<=0&&(a=NaN),new Vr(a,f,h,E)}function qe(a){if(a instanceof Vr)return new Vr(a.h,a.s,a.l,a.opacity);if(a instanceof Tn||(a=Pn(a)),!a)return new Vr;if(a instanceof Vr)return a;a=a.rgb();var f=a.r/255,h=a.g/255,E=a.b/255,I=Math.min(f,h,E),M=Math.max(f,h,E),b=NaN,w=M-I,W=(M+I)/2;return w?(f===M?b=(h-E)/w+(h0&&W<1?0:b,new Vr(b,w,W,a.opacity)}function Oo(a,f,h,E){return arguments.length===1?qe(a):new Vr(a,f,h,E==null?1:E)}function Vr(a,f,h,E){this.h=+a,this.s=+f,this.l=+h,this.opacity=+E}de(Vr,Oo,ze(Tn,{brighter(a){return a=a==null?Kn:Math.pow(Kn,a),new Vr(this.h,this.s,this.l*a,this.opacity)},darker(a){return a=a==null?Rn:Math.pow(Rn,a),new Vr(this.h,this.s,this.l*a,this.opacity)},rgb(){var a=this.h%360+(this.h<0)*360,f=isNaN(a)||isNaN(this.s)?0:this.s,h=this.l,E=h+(h<.5?h:1-h)*f,I=2*h-E;return new br(he(a>=240?a-240:a+120,I,E),he(a,I,E),he(a<120?a+240:a-120,I,E),this.opacity)},clamp(){return new Vr(_e(this.h),Zn(this.s),Zn(this.l),Qn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const a=Qn(this.opacity);return`${a===1?"hsl(":"hsla("}${_e(this.h)}, ${Zn(this.s)*100}%, ${Zn(this.l)*100}%${a===1?")":`, ${a})`}`}}));function _e(a){return a=(a||0)%360,a<0?a+360:a}function Zn(a){return Math.max(0,Math.min(1,a||0))}function he(a,f,h){return(a<60?f+(h-f)*a/60:a<180?h:a<240?f+(h-f)*(240-a)/60:f)*255}function ta(a,f,h,E,I){var M=a*a,b=M*a;return((1-3*a+3*M-b)*f+(4-6*M+3*b)*h+(1+3*a+3*M-3*b)*E+b*I)/6}function To(a){var f=a.length-1;return function(h){var E=h<=0?h=0:h>=1?(h=1,f-1):Math.floor(h*f),I=a[E],M=a[E+1],b=E>0?a[E-1]:2*I-M,w=E()=>a;function na(a,f){return function(h){return a+h*f}}function Ao(a,f,h){return a=Math.pow(a,h),f=Math.pow(f,h)-a,h=1/h,function(E){return Math.pow(a+E*f,h)}}function fi(a,f){var h=f-a;return h?na(a,h>180||h<-180?h-360*Math.round(h/360):h):constant(isNaN(a)?f:a)}function Po(a){return(a=+a)==1?ea:function(f,h){return h-f?Ao(f,h,a):ra(isNaN(f)?h:f)}}function ea(a,f){var h=f-a;return h?na(a,h):ra(isNaN(a)?f:a)}var aa=function a(f){var h=Po(f);function E(I,M){var b=h((I=Jn(I)).r,(M=Jn(M)).r),w=h(I.g,M.g),W=h(I.b,M.b),q=ea(I.opacity,M.opacity);return function(tt){return I.r=b(tt),I.g=w(tt),I.b=W(tt),I.opacity=q(tt),I+""}}return E.gamma=a,E}(1);function oa(a){return function(f){var h=f.length,E=new Array(h),I=new Array(h),M=new Array(h),b,w;for(b=0;bh&&(M=f.slice(h,M),w[b]?w[b]+=M:w[++b]=M),(E=E[0])===(I=I[0])?w[b]?w[b]+=I:w[++b]=I:(w[++b]=null,W.push({i:b,x:_r(E,I)})),h=ye.lastIndex;return h=0&&(f=f.slice(0,h)),!f||f==="start"})}function ns(a,f,h){var E,I,M=rs(f)?le:Yr;return function(){var b=M(this,a),w=b.on;w!==E&&(I=(E=w).copy()).on(f,h),b.on=I}}function es(a,f){var h=this._id;return arguments.length<2?Hr(this.node(),h).on.on(a):this.each(ns(h,a,f))}function as(a){return function(){var f=this.parentNode;for(var h in this.__transition)if(+h!==a)return;f&&f.removeChild(this)}}function os(){return this.on("end.remove",as(this._id))}function ss(a){var f=this._name,h=this._id;typeof a!="function"&&(a=k(a));for(var E=this._groups,I=E.length,M=new Array(I),b=0;b{const pr=Qt.identifier;return Qt=pointer(Qt,Gt),Qt.point0=Qt.slice(),Qt.identifier=pr,Qt});interrupt(Gt);var Nn=tt(Gt,arguments,!0).beforestart();if(Kt==="overlay"){hr&&(Pe=!0);const Qt=[Fr[0],Fr[1]||Fr[0]];Mr.selection=hr=[[vr=a===qn?Wr:Cr(Qt[0][0],Qt[1][0]),Er=a===kn?tn:Cr(Qt[0][1],Qt[1][1])],[Or=a===qn?rn:Pr(Qt[0][0],Qt[1][0]),Rr=a===kn?nn:Pr(Qt[0][1],Qt[1][1])]],Fr.length>1&&un(Et)}else vr=hr[0][0],Er=hr[0][1],Or=hr[1][0],Rr=hr[1][1];Sr=vr,Ir=Er,Tr=Or,Ar=Rr;var Ea=select(Gt).attr("pointer-events","none"),Mn=Ea.selectAll(".overlay").attr("cursor",kr[Kt]);if(Et.touches)Nn.moved=Oa,Nn.ended=Ta;else{var Ia=select(Et.view).on("mousemove.brush",Oa,!0).on("mouseup.brush",Ta,!0);I&&Ia.on("keydown.brush",ii,!0).on("keyup.brush",ui,!0),dragDisable(Et.view)}q.call(Gt),Nn.start(Et,wt.name);function Oa(Qt){for(const pr of Qt.changedTouches||[Qt])for(const Dn of Fr)Dn.identifier===pr.identifier&&(Dn.cur=pointer(pr,Gt));if(ne&&!ee&&!ae&&Fr.length===1){const pr=Fr[0];la(pr.cur[0]-pr[0])>la(pr.cur[1]-pr[1])?ae=!0:ee=!0}for(const pr of Fr)pr.cur&&(pr[0]=pr.cur[0],pr[1]=pr.cur[1]);Pe=!0,noevent(Qt),un(Qt)}function un(Qt){const pr=Fr[0],Dn=pr.point0;var en;switch(gr=pr[0]-Dn[0],yr=pr[1]-Dn[1],wt){case pe:case fa:{tr&&(gr=Pr(Wr-vr,Cr(rn-Or,gr)),Sr=vr+gr,Tr=Or+gr),rr&&(yr=Pr(tn-Er,Cr(nn-Rr,yr)),Ir=Er+yr,Ar=Rr+yr);break}case dn:{Fr[1]?(tr&&(Sr=Pr(Wr,Cr(rn,Fr[0][0])),Tr=Pr(Wr,Cr(rn,Fr[1][0])),tr=1),rr&&(Ir=Pr(tn,Cr(nn,Fr[0][1])),Ar=Pr(tn,Cr(nn,Fr[1][1])),rr=1)):(tr<0?(gr=Pr(Wr-vr,Cr(rn-vr,gr)),Sr=vr+gr,Tr=Or):tr>0&&(gr=Pr(Wr-Or,Cr(rn-Or,gr)),Sr=vr,Tr=Or+gr),rr<0?(yr=Pr(tn-Er,Cr(nn-Er,yr)),Ir=Er+yr,Ar=Rr):rr>0&&(yr=Pr(tn-Rr,Cr(nn-Rr,yr)),Ir=Er,Ar=Rr+yr));break}case hn:{tr&&(Sr=Pr(Wr,Cr(rn,vr-gr*tr)),Tr=Pr(Wr,Cr(rn,Or+gr*tr))),rr&&(Ir=Pr(tn,Cr(nn,Er-yr*rr)),Ar=Pr(tn,Cr(nn,Rr+yr*rr)));break}}Tr0&&(vr=Sr-gr),rr<0?Rr=Ar-yr:rr>0&&(Er=Ir-yr),wt=pe,Mn.attr("cursor",kr.selection),un(Qt));break}default:return}noevent(Qt)}function ui(Qt){switch(Qt.keyCode){case 16:{ne&&(ee=ae=ne=!1,un(Qt));break}case 18:{wt===hn&&(tr<0?Or=Tr:tr>0&&(vr=Sr),rr<0?Rr=Ar:rr>0&&(Er=Ir),wt=dn,un(Qt));break}case 32:{wt===pe&&(Qt.altKey?(tr&&(Or=Tr-gr*tr,vr=Sr+gr*tr),rr&&(Rr=Ar-yr*rr,Er=Ir+yr*rr),wt=hn):(tr<0?Or=Tr:tr>0&&(vr=Sr),rr<0?Rr=Ar:rr>0&&(Er=Ir),wt=dn),Mn.attr("cursor",kr[Kt]),un(Qt));break}default:return}noevent(Qt)}}function Ht(Et){tt(this,arguments).moved(Et)}function fr(Et){tt(this,arguments).ended(Et)}function xr(){var Et=this.__brush||{selection:null};return Et.extent=me(f.apply(this,arguments)),Et.dim=a,Et}return W.extent=function(Et){return arguments.length?(f=typeof Et=="function"?Et:constant(me(Et)),W):f},W.filter=function(Et){return arguments.length?(h=typeof Et=="function"?Et:constant(!!Et),W):h},W.touchable=function(Et){return arguments.length?(E=typeof Et=="function"?Et:constant(!!Et),W):E},W.handleSize=function(Et){return arguments.length?(b=+Et,W):b},W.keyModifiers=function(Et){return arguments.length?(I=!!Et,W):I},W.on=function(){var Et=M.on.apply(M,arguments);return Et===M?W:Et},W}function ws(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function Gs(a){const f=typeof(a==null?void 0:a.requestAnimationFrame)=="function"&&typeof(a==null?void 0:a.cancelAnimationFrame)=="function",h=typeof(a==null?void 0:a.requestIdleCallback)=="function"&&typeof(a==null?void 0:a.cancelIdleCallback)=="function",E=M=>setTimeout(M,1),I=M=>clearTimeout(M);return[f?a.requestAnimationFrame:E,f?a.cancelAnimationFrame:I,h?a.requestIdleCallback:E,h?a.cancelIdleCallback:I]}const _n=ws(),Hs=_n==null?void 0:_n.document,[mi,xi,Si,Ei]=Gs(_n);var Vs=Object.defineProperty,ha=Object.getOwnPropertySymbols,Ws=Object.prototype.hasOwnProperty,zs=Object.prototype.propertyIsEnumerable,ga=(a,f,h)=>f in a?Vs(a,f,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[f]=h,ya=(a,f)=>{for(var h in f||(f={}))Ws.call(f,h)&&ga(a,h,f[h]);if(ha)for(var h of ha(f))zs.call(f,h)&&ga(a,h,f[h]);return a};const Ii=a=>a||a===0,Ys=a=>typeof a=="function",te=a=>typeof a=="string",Ee=a=>typeof a=="number",Ks=a=>typeof a=="undefined",pa=a=>typeof a!="undefined",Oi=a=>typeof a=="boolean",Ti=a=>Math.ceil(a/10)*10,Ri=a=>Math.ceil(a)+.5,Ai=a=>a[1]-a[0],Ie=a=>typeof a=="object",Xs=a=>Ks(a)||a===null||te(a)&&a.length===0||Ie(a)&&!(a instanceof Date)&&Object.keys(a).length===0||Ee(a)&&isNaN(a),Js=a=>!Xs(a),Oe=a=>Array.isArray(a),re=a=>a&&!(a!=null&&a.nodeType)&&Ie(a)&&!Oe(a);function Pi(a,f,h){return pa(a[f])?a[f]:h}function Ci(a,f){let h=!1;return Object.keys(a).forEach(E=>a[E]===f&&(h=!0)),h}function Ni(a,f,...h){const E=Ys(a);return E&&a.call(f,...h),E}function Mi(a,f){let h=0;const E=function(...I){!--h&&f.apply(this,...I)};"duration"in a?a.each(()=>++h).on("end",E):(++h,a.call(E))}function Di(a){return te(a)?a.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):a}function bi(a,f,h=[-1,1],E=!1){if(!(!a||!te(f)))if(f.indexOf(` `)===-1)a.text(f);else{const I=[a.text(),f].map(M=>M.replace(/[\s\n]/g,""));if(I[0]!==I[1]){const M=f.split(` -`),b=E?M.length-1:1;a.html(""),M.forEach((w,W)=>{a.append("tspan").attr("x",0).attr("dy",`${W===0?h[0]*b:h[1]}em`).text(w)})}}}function Qs(a){const{x:f,y:h,width:E,height:I}=a.getBBox();return[{x:f,y:h+I},{x:f,y:h},{x:f+E,y:h},{x:f+E,y:h+I}]}function Fi(a){const{width:f,height:h}=a.getBoundingClientRect(),E=Qs(a),I=E[0].x,M=Math.min(E[0].y,E[1].y);return{x:I,y:M,width:f,height:h}}function $i(a,f){var h;const E=a&&((h=a.touches||a.sourceEvent&&a.sourceEvent.touches)==null?void 0:h[0]);let I=[0,0];try{I=d3Pointer(E||a,f)}catch(M){}return I.map(M=>isNaN(M)?0:M)}function Zs(a){const{event:f,$el:h}=a,E=h.subchart.main||h.main;let I;return f&&f.type==="brush"?I=f.selection:E&&(I=E.select(".bb-brush").node())&&(I=d3BrushSelection(I)),I}function Li(a){return!("rect"in a)||"rect"in a&&a.hasAttribute("width")&&a.rect.width!==+a.getAttribute("width")?a.rect=a.getBoundingClientRect():a.rect}function Ui(a=!0,f=0,h=1e4){const E=window.crypto||window.msCrypto,I=E?f+E.getRandomValues(new Uint32Array(1))[0]%(h-f+1):Math.floor(Math.random()*(h-f)+f);return a?String(I):I}function ma(a,f,h,E,I){if(h>E)return-1;const M=Math.floor((h+E)/2);let{x:b,w=0}=a[M];return I&&(b=a[M].y,w=a[M].h),f>=b&&f<=b+w?M:f{if(re(h)&&h.constructor){const E=new h.constructor;for(const I in h)E[I]=f(h[I]);return E}return h};return a.map(h=>f(h)).reduce((h,E)=>ya(ya({},h),E))}function ks(a={},f){Oe(f)&&f.forEach(h=>ks(a,h));for(const h in f)/^\d+$/.test(h)||h in a||(a[h]=f[h]);return a}const wi=a=>a.charAt(0).toUpperCase()+a.slice(1);function Gi(a,f="-"){return a.split(f).map((h,E)=>E?h.charAt(0).toUpperCase()+h.slice(1).toLowerCase():h.toLowerCase()).join("")}const qs=a=>[].slice.call(a);function Hi(a,f,h){const{rootSelector:E="",sheet:I}=a,b=`${E} ${(w=>w.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(f)} {${h.join(";")}}`;return I[I.insertRule?"insertRule":"addRule"](b,I.cssRules.length)}function Vi(a){let f=[];return a.forEach(h=>{var E;try{h.cssRules&&h.cssRules.length&&(f=f.concat(qs(h.cssRules)))}catch(I){(E=window.console)==null||E.warn(`Error while reading rules from ${h.href}: ${I.toString()}`)}}),f}function Wi(a){var f,h,E,I,M,b;return{x:((h=(f=window.pageXOffset)!=null?f:window.scrollX)!=null?h:0)+((E=a.scrollLeft)!=null?E:0),y:((M=(I=window.pageYOffset)!=null?I:window.scrollY)!=null?M:0)+((b=a.scrollTop)!=null?b:0)}}function zi(a,f=0,h=0,E=!0){const I=new DOMPoint(f,h),M=a.getScreenCTM();return I.matrixTransform(E?M==null?void 0:M.inverse():M)}function Yi(a){const f=a?a.transform:null,h=f&&f.baseVal;return h&&h.numberOfItems?h.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function Ki(a){const f=a[0]instanceof Date,h=(f?a.map(Number):a).filter((E,I,M)=>M.indexOf(E)===I);return f?h.map(E=>new Date(E)):h}function Xi(a){return a&&a.length?a.reduce((f,h)=>f.concat(h)):[]}function Te(a,...f){if(!f.length||f.length===1&&!f[0])return a;const h=f.shift();return re(a)&&re(h)&&Object.keys(h).forEach(E=>{const I=h[E];re(I)?(!a[E]&&(a[E]={}),a[E]=Te(a[E],I)):a[E]=Oe(I)?I.concat():I}),Te(a,...f)}function _s(a,f=!0){let h;return a[0]instanceof Date?h=f?(E,I)=>E-I:(E,I)=>I-E:f&&!a.every(isNaN)?h=(E,I)=>E-I:f||(h=(E,I)=>E>I&&-1||EJs(E));return h.length?Ee(h[0])?h=Math[a](...h):h[0]instanceof Date&&(h=_s(h,a==="min")[0]):h=void 0,h}const Qi=(a,f,h=1)=>{const E=[],I=Math.max(0,Math.ceil((f-a)/h))|0;for(let M=a;M{const a=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(f,h,E=a())=>{f.dispatchEvent(new MouseEvent(h,E))}}catch(f){return(h,E,I=a())=>{const M=Hs.createEvent("MouseEvent");M.initMouseEvent(E,I.bubbles,I.cancelable,_n,0,I.screenX,I.screenY,I.clientX,I.clientY,!1,!1,!1,!1,0,null),h.dispatchEvent(M)}}})(),touch:(a,f,h)=>{const E=new Touch(Te({identifier:Date.now(),target:a,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},h));a.dispatchEvent(new TouchEvent(f,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[E],targetTouches:[],changedTouches:[E]}))}};function ki(a,f){let h=a;for(const E in f)h=h.replace(new RegExp(`{=${E}}`,"g"),f[E]);return h}function qi(a){var f;let h;if(a instanceof Date)h=a;else if(te(a)){const{config:E,format:I}=this;h=(f=I.dataTime(E.data_xFormat)(a))!=null?f:new Date(a)}else Ee(a)&&!isNaN(a)&&(h=new Date(+a));return(!h||isNaN(+h))&&console&&console.error&&console.error(`Failed to parse x '${a}' to Date object`),h}function _i(a){const f=a.attr("viewBox");return f?/(\d+(\.\d+)?){3}/.test(f):!1}function tu(a,f,h=!1){const E=!!a.node;let I=!1;for(const[M,b]of Object.entries(f))if(I=E?a.style(M)===b:a.style[M]===b,h===!1&&I)break;return I}function ru(){var a,f;return((a=document)==null?void 0:a.hidden)===!1||((f=document)==null?void 0:f.visibilityState)==="visible"}function nu(a,f){const{DocumentTouch:h,matchMedia:E,navigator:I}=window,M=E==null?void 0:E("(pointer:coarse)").matches;let b=!1;if(f)if(I&&"maxTouchPoints"in I)b=I.maxTouchPoints>0;else if("ontouchmove"in window||h&&document instanceof h)b=!0;else if(M)b=!0;else{const W=I.userAgent;b=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(W)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(W)}return a&&!M&&(E==null?void 0:E("(pointer:fine)").matches)&&"mouse"||b&&"touch"||"mouse"}function ti(a,f){f()===!1?requestAnimationFrame(()=>ti(a,f)):a()}function ri(a){const f=this.config;let h,E,I;const M=()=>{const b=E.shift();if(b&&h&&Ie(h)&&b in h)return h=h[b],M();if(!b)return h};Object.keys(f).forEach(b=>{h=a,E=b.split("_"),I=M(),pa(I)&&(f[b]=I)}),this.api&&(this.state.orgConfig=a)}var ni=Object.defineProperty,ei=(a,f,h)=>f in a?ni(a,f,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[f]=h,Re=(a,f,h)=>ei(a,typeof f!="symbol"?f+"":f,h);class xa{constructor(f={}){Re(this,"$$"),Re(this,"options"),this.options=f}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(f=>{this[f]=null,delete this[f]})}}Re(xa,"version","3.14.1");class ai{constructor(){return{selector:void 0}}}var oi=Object.defineProperty,si=(a,f,h)=>f in a?oi(a,f,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[f]=h,Ae=(a,f,h)=>si(a,typeof f!="symbol"?f+"":f,h);class Sa extends xa{constructor(f){return super(f),Ae(this,"config"),Ae(this,"element"),this.config=new ai,this}$beforeInit(){ri.call(this,this.options),this.validate(),this.element=[].slice.call(document.querySelectorAll(this.config.selector)),this.overrideInternals(),this.overrideOptions(),this.overHandler=this.overHandler.bind(this),this.moveHandler=this.moveHandler.bind(this),this.outHandler=this.outHandler.bind(this)}validate(){const{$$:f,config:h}=this;let E="";if((!h.selector||!document.querySelector(h.selector))&&(E="No holder elements found from given selector option."),(f.hasType("bubble")||f.hasType("scatter")||f.hasArcType(f.data.targets))&&(E="Contains non supported chart types."),E)throw new Error(`[Sparkline plugin] ${E}`)}overrideInternals(){const{$$:f}=this,{getBarW:h,getIndices:E}=f;f.getIndices=function(I,M,b){return b==="getShapeX"?{}:E.call(this,I,M)},f.getBarW=function(I,M){return h.call(this,I,M,1)}}overrideOptions(){const{config:f}=this.$$;if(f.legend_show=!1,f.resize_auto=!1,f.axis_x_show=!1,f.padding!==!1){const h=E=>Object.keys(E||{}).length>0;h(f.axis_x_padding)&&(f.axis_x_padding={left:15,right:15,unit:"px"}),h(f.axis_y_padding)&&(f.axis_y_padding=5)}f.axis_y_show=!1,f.tooltip_position||(f.tooltip_position=function(h,E,I){const{internal:{state:{event:M}}}=this;let b=M.pageY-I*1.35,w=M.pageX-E/2;return b<0&&(b=0),w<0&&(w=0),{top:b,left:w}})}$init(){var f;const{$$:{$el:h}}=this;h.chart.style("width","0").style("height","0").style("pointer-events","none"),(f=h.tooltip)!=null&&f.node()&&document.body.appendChild(h.tooltip.node())}$afterInit(){const{$$:f}=this;f.$el.svg.attr("style",null).style("width","0").style("height","0"),this.bindEvents(!0)}bindEvents(f=!0){const{$$:{config:h}}=this;if(h.interaction_enabled&&h.tooltip_show){const E=`${f?"add":"remove"}EventListener`;this.element.forEach(I=>{const M=I.querySelector("svg");M[E]("mouseover",this.overHandler),M[E]("mousemove",this.moveHandler),M[E]("mouseout",this.outHandler)})}}overHandler(f){const{$$:h}=this,{state:{eventReceiver:E}}=h;E.rect=f.target.getBoundingClientRect()}moveHandler(f){var h,E,I,M;const{$$:b}=this,w=b.getDataIndexFromEvent(f),W=(h=b.api.data(f.target.__id))==null?void 0:h[0],q=(E=W==null?void 0:W.values)==null?void 0:E[w];q&&!q.name&&(q.name=q.id),b.state.event=f,(I=b.isPointFocusOnly)!=null&&I.call(b)&&q&&((M=b.showCircleFocus)==null||M.call(b,[q])),b.setExpand(w,W.id,!0),b.showTooltip([q],f.target)}outHandler(f){const{$$:h}=this;h.state.event=f,h.isPointFocusOnly()?h.hideCircleFocus():h.unexpandCircles(),h.hideTooltip()}$redraw(){var f;const{$$:h}=this,{$el:E}=h;let I=this.element;const M=h.api.data(),b=(f=E.chart.html().match(/]*>/))==null?void 0:f[0];if(I.length0;W--)w.parentNode.insertBefore(I[0].cloneNode(),w.nextSibling);this.element=document.querySelectorAll(this.config.selector),I=this.element}M.map(w=>w.id).forEach((w,W)=>{const q=`.${l.target}-${w}`,tt=E.main.selectAll(q);let Tt=I[W].querySelector("svg");Tt||(I[W].innerHTML=`${b}`,Tt=I[W].querySelector("svg"),Tt.__id=w),Tt.querySelector(q)||tt.style("opacity",null),tt.style("fill","none").style("opacity",null),Tt.innerHTML="",Tt.appendChild(tt.node())})}$willDestroy(){this.bindEvents(!1),this.element.forEach(f=>{f.innerHTML=""})}}Ae(Sa,"version","0.0.1")},85156:function(i,d,t){var r=t(23583),n=t(82453),e=TypeError;i.exports=function(o){if(r(o))return o;throw new e(n(o)+" is not a function")}},80042:function(i,d,t){var r=t(11051),n=t(82453),e=TypeError;i.exports=function(o){if(r(o))return o;throw new e(n(o)+" is not a constructor")}},53408:function(i,d,t){var r=t(52427),n=String,e=TypeError;i.exports=function(o){if(r(o))return o;throw new e("Can't set "+n(o)+" as a prototype")}},76602:function(i,d,t){var r=t(172).has;i.exports=function(n){return r(n),n}},23811:function(i,d,t){var r=t(18565),n=t(5406),e=t(7831).f,o=r("unscopables"),s=Array.prototype;s[o]===void 0&&e(s,o,{configurable:!0,value:n(null)}),i.exports=function(u){s[o][u]=!0}},24487:function(i,d,t){var r=t(22149).charAt;i.exports=function(n,e,o){return e+(o?r(n,e).length:1)}},12833:function(i,d,t){var r=t(95307),n=TypeError;i.exports=function(e,o){if(r(o,e))return e;throw new n("Incorrect invocation")}},25001:function(i,d,t){var r=t(37540),n=String,e=TypeError;i.exports=function(o){if(r(o))return o;throw new e(n(o)+" is not an object")}},3237:function(i){i.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},58360:function(i,d,t){var r=t(34246),n=t(84756),e=t(14274),o=r.ArrayBuffer,s=r.TypeError;i.exports=o&&n(o.prototype,"byteLength","get")||function(u){if(e(u)!=="ArrayBuffer")throw new s("ArrayBuffer expected");return u.byteLength}},30736:function(i,d,t){var r=t(34246),n=t(77422),e=t(58360),o=r.ArrayBuffer,s=o&&o.prototype,u=s&&n(s.slice);i.exports=function(l){if(e(l)!==0||!u)return!1;try{return u(l,0,0),!1}catch(v){return!0}}},72058:function(i,d,t){var r=t(72069);i.exports=r(function(){if(typeof ArrayBuffer=="function"){var n=new ArrayBuffer(8);Object.isExtensible(n)&&Object.defineProperty(n,"a",{value:8})}})},83843:function(i,d,t){var r=t(30736),n=TypeError;i.exports=function(e){if(r(e))throw new n("ArrayBuffer is detached");return e}},65006:function(i,d,t){var r=t(34246),n=t(11286),e=t(84756),o=t(9450),s=t(83843),u=t(58360),l=t(63741),v=t(99050),c=r.structuredClone,g=r.ArrayBuffer,y=r.DataView,p=Math.min,m=g.prototype,S=y.prototype,x=n(m.slice),O=e(m,"resizable","get"),P=e(m,"maxByteLength","get"),T=n(S.getInt8),R=n(S.setInt8);i.exports=(v||l)&&function(N,A,C){var D=u(N),$=A===void 0?D:o(A),F=!O||!O(N),L;if(s(N),v&&(N=c(N,{transfer:[N]}),D===$&&(C||F)))return N;if(D>=$&&(!C||F))L=x(N,0,$);else{var G=C&&!F&&P?{maxByteLength:P(N)}:void 0;L=new g($,G);for(var H=new y(N),U=new y(L),B=p($,D),j=0;j>8&255]},Ft=function(st){return[st&255,st>>8&255,st>>16&255,st>>24&255]},Nt=function(st){return st[3]<<24|st[2]<<16|st[1]<<8|st[0]},Bt=function(st){return $t(S(st),23,4)},qt=function(st){return $t(st,52,8)},_t=function(st,dt,_){l(st[H],dt,{configurable:!0,get:function(){return _(this)[dt]}})},Xt=function(st,dt,_,At){var Pt=z(st),It=m(_),St=!!At;if(It+dt>Pt.byteLength)throw new Rt(B);var er=Pt.bytes,or=It+Pt.byteOffset,K=R(er,or,or+dt);return St?K:Vt(K)},Lt=function(st,dt,_,At,Pt,It){var St=z(st),er=m(_),or=At(+Pt),K=!!It;if(er+dt>St.byteLength)throw new Rt(B);for(var et=St.bytes,it=er+St.byteOffset,ot=0;otIt)throw new Rt("Wrong offset");if(At=At===void 0?It-St:p(At),St+At>It)throw new Rt(U);Q(this,{type:G,buffer:dt,byteLength:At,byteOffset:St,bytes:Pt.bytes}),e||(this.buffer=dt,this.byteLength=At,this.byteOffset=St)},lt=gt[H],e&&(_t(k,"byteLength",j),_t(gt,"buffer",z),_t(gt,"byteLength",z),_t(gt,"byteOffset",z)),v(lt,{getInt8:function(dt){return Xt(this,1,dt)[0]<<24>>24},getUint8:function(dt){return Xt(this,1,dt)[0]},getInt16:function(dt){var _=Xt(this,2,dt,arguments.length>1?arguments[1]:!1);return(_[1]<<8|_[0])<<16>>16},getUint16:function(dt){var _=Xt(this,2,dt,arguments.length>1?arguments[1]:!1);return _[1]<<8|_[0]},getInt32:function(dt){return Nt(Xt(this,4,dt,arguments.length>1?arguments[1]:!1))},getUint32:function(dt){return Nt(Xt(this,4,dt,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(dt){return vt(Xt(this,4,dt,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(dt){return vt(Xt(this,8,dt,arguments.length>1?arguments[1]:!1),52)},setInt8:function(dt,_){Lt(this,1,dt,mt,_)},setUint8:function(dt,_){Lt(this,1,dt,mt,_)},setInt16:function(dt,_){Lt(this,2,dt,Mt,_,arguments.length>2?arguments[2]:!1)},setUint16:function(dt,_){Lt(this,2,dt,Mt,_,arguments.length>2?arguments[2]:!1)},setInt32:function(dt,_){Lt(this,4,dt,Ft,_,arguments.length>2?arguments[2]:!1)},setUint32:function(dt,_){Lt(this,4,dt,Ft,_,arguments.length>2?arguments[2]:!1)},setFloat32:function(dt,_){Lt(this,4,dt,Bt,_,arguments.length>2?arguments[2]:!1)},setFloat64:function(dt,_){Lt(this,8,dt,qt,_,arguments.length>2?arguments[2]:!1)}});else{var Jt=$&&X.name!==L;!c(function(){X(1)})||!c(function(){new X(-1)})||c(function(){return new X,new X(1.5),new X(NaN),X.length!==1||Jt&&!F})?(k=function(dt){return g(this,Z),N(new X(m(dt)),this,k)},k[H]=Z,Z.constructor=k,A(k,X)):Jt&&F&&u(X,"name",L),P&&O(lt)!==yt&&P(lt,yt);var Yt=new gt(new k(2)),jt=n(lt.setInt8);Yt.setInt8(0,2147483648),Yt.setInt8(1,2147483649),(Yt.getInt8(0)||!Yt.getInt8(1))&&v(lt,{setInt8:function(dt,_){jt(this,dt,_<<24>>24)},setUint8:function(dt,_){jt(this,dt,_<<24>>24)}},{unsafe:!0})}C(k,L),C(gt,G),i.exports={ArrayBuffer:k,DataView:gt}},81499:function(i,d,t){var r=t(49671),n=t(4652),e=t(82628),o=t(12384),s=Math.min;i.exports=[].copyWithin||function(l,v){var c=r(this),g=e(c),y=n(l,g),p=n(v,g),m=arguments.length>2?arguments[2]:void 0,S=s((m===void 0?g:n(m,g))-p,g-y),x=1;for(p0;)p in c?c[y]=c[p]:o(c,y),y+=x,p+=x;return c}},43011:function(i,d,t){var r=t(49671),n=t(4652),e=t(82628);i.exports=function(s){for(var u=r(this),l=e(u),v=arguments.length,c=n(v>1?arguments[1]:void 0,l),g=v>2?arguments[2]:void 0,y=g===void 0?l:n(g,l);y>c;)u[c++]=s;return u}},13349:function(i,d,t){var r=t(66655).forEach,n=t(6148),e=n("forEach");i.exports=e?[].forEach:function(s){return r(this,s,arguments.length>1?arguments[1]:void 0)}},5220:function(i,d,t){var r=t(82628);i.exports=function(n,e,o){for(var s=0,u=arguments.length>2?o:r(e),l=new n(u);u>s;)l[s]=e[s++];return l}},48258:function(i,d,t){var r=t(45526),n=t(96499),e=t(49671),o=t(39969),s=t(48199),u=t(11051),l=t(82628),v=t(84082),c=t(90619),g=t(81077),y=Array;i.exports=function(m){var S=e(m),x=u(this),O=arguments.length,P=O>1?arguments[1]:void 0,T=P!==void 0;T&&(P=r(P,O>2?arguments[2]:void 0));var R=g(S),N=0,A,C,D,$,F,L;if(R&&!(this===y&&s(R)))for(C=x?new this:[],$=c(S,R),F=$.next;!(D=n(F,$)).done;N++)L=T?o($,P,[D.value,N],!0):D.value,v(C,N,L);else for(A=l(S),C=x?new this(A):y(A);A>N;N++)L=T?P(S[N],N):S[N],v(C,N,L);return C.length=N,C}},94319:function(i,d,t){var r=t(36859),n=t(4652),e=t(82628),o=function(s){return function(u,l,v){var c=r(u),g=e(c);if(g===0)return!s&&-1;var y=n(v,g),p;if(s&&l!==l){for(;g>y;)if(p=c[y++],p!==p)return!0}else for(;g>y;y++)if((s||y in c)&&c[y]===l)return s||y||0;return!s&&-1}};i.exports={includes:o(!0),indexOf:o(!1)}},73849:function(i,d,t){var r=t(45526),n=t(72181),e=t(49671),o=t(82628),s=function(u){var l=u===1;return function(v,c,g){for(var y=e(v),p=n(y),m=o(p),S=r(c,g),x,O;m-- >0;)if(x=p[m],O=S(x,m,y),O)switch(u){case 0:return x;case 1:return m}return l?-1:void 0}};i.exports={findLast:s(0),findLastIndex:s(1)}},66655:function(i,d,t){var r=t(45526),n=t(11286),e=t(72181),o=t(49671),s=t(82628),u=t(62083),l=n([].push),v=function(c){var g=c===1,y=c===2,p=c===3,m=c===4,S=c===6,x=c===7,O=c===5||S;return function(P,T,R,N){for(var A=o(P),C=e(A),D=s(C),$=r(T,R),F=0,L=N||u,G=g?L(P,D):y||x?L(P,0):void 0,H,U;D>F;F++)if((O||F in C)&&(H=C[F],U=$(H,F,A),c))if(g)G[F]=U;else if(U)switch(c){case 3:return!0;case 5:return H;case 6:return F;case 2:l(G,H)}else switch(c){case 4:return!1;case 7:l(G,H)}return S?-1:p||m?m:G}};i.exports={forEach:v(0),map:v(1),filter:v(2),some:v(3),every:v(4),find:v(5),findIndex:v(6),filterReject:v(7)}},58465:function(i,d,t){var r=t(66543),n=t(36859),e=t(12105),o=t(82628),s=t(6148),u=Math.min,l=[].lastIndexOf,v=!!l&&1/[1].lastIndexOf(1,-0)<0,c=s("lastIndexOf"),g=v||!c;i.exports=g?function(p){if(v)return r(l,this,arguments)||0;var m=n(this),S=o(m);if(S===0)return-1;var x=S-1;for(arguments.length>1&&(x=u(x,e(arguments[1]))),x<0&&(x=S+x);x>=0;x--)if(x in m&&m[x]===p)return x||0;return-1}:l},52183:function(i,d,t){var r=t(72069),n=t(18565),e=t(44241),o=n("species");i.exports=function(s){return e>=51||!r(function(){var u=[],l=u.constructor={};return l[o]=function(){return{foo:1}},u[s](Boolean).foo!==1})}},6148:function(i,d,t){var r=t(72069);i.exports=function(n,e){var o=[][n];return!!o&&r(function(){o.call(null,e||function(){return 1},1)})}},97264:function(i,d,t){var r=t(85156),n=t(49671),e=t(72181),o=t(82628),s=TypeError,u="Reduce of empty array with no initial value",l=function(v){return function(c,g,y,p){var m=n(c),S=e(m),x=o(m);if(r(g),x===0&&y<2)throw new s(u);var O=v?x-1:0,P=v?-1:1;if(y<2)for(;;){if(O in S){p=S[O],O+=P;break}if(O+=P,v?O<0:x<=O)throw new s(u)}for(;v?O>=0:x>O;O+=P)O in S&&(p=g(p,S[O],O,m));return p}};i.exports={left:l(!1),right:l(!0)}},2213:function(i,d,t){var r=t(92986),n=t(3438),e=TypeError,o=Object.getOwnPropertyDescriptor,s=r&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(u){return u instanceof TypeError}}();i.exports=s?function(u,l){if(n(u)&&!o(u,"length").writable)throw new e("Cannot set read only .length");return u.length=l}:function(u,l){return u.length=l}},22806:function(i,d,t){var r=t(11286);i.exports=r([].slice)},13270:function(i,d,t){var r=t(22806),n=Math.floor,e=function(o,s){var u=o.length;if(u<8)for(var l=1,v,c;l0;)o[c]=o[--c];c!==l++&&(o[c]=v)}else for(var g=n(u/2),y=e(r(o,0,g),s),p=e(r(o,g),s),m=y.length,S=p.length,x=0,O=0;x=v||g<0)throw new e("Incorrect index");for(var y=new s(v),p=0;p1?arguments[1]:void 0),U;U=U?U.next:G.first;)for(H(U.value,U.key,this);U&&U.removed;)U=U.previous},has:function(L){return!!$(this,L)}}),e(A,T?{get:function(L){var G=$(this,L);return G&&G.value},set:function(L,G){return D(this,L===0?0:L,G)}}:{add:function(L){return D(this,L=L===0?0:L,L)}}),y&&n(A,"size",{configurable:!0,get:function(){return C(this).size}}),N},setStrong:function(O,P,T){var R=P+" Iterator",N=x(P),A=x(R);v(O,P,function(C,D){S(this,{type:R,target:C,state:N(C),kind:D,last:null})},function(){for(var C=A(this),D=C.kind,$=C.last;$&&$.removed;)$=$.previous;return!C.target||!(C.last=$=$?$.next:C.state.first)?(C.target=null,c(void 0,!0)):c(D==="keys"?$.key:D==="values"?$.value:[$.key,$.value],!1)},T?"entries":"values",!T,!0),g(P)}}},94667:function(i,d,t){var r=t(11286),n=t(2725),e=t(31853).getWeakData,o=t(12833),s=t(25001),u=t(5683),l=t(37540),v=t(55902),c=t(66655),g=t(94879),y=t(82367),p=y.set,m=y.getterFor,S=c.find,x=c.findIndex,O=r([].splice),P=0,T=function(A){return A.frozen||(A.frozen=new R)},R=function(){this.entries=[]},N=function(A,C){return S(A.entries,function(D){return D[0]===C})};R.prototype={get:function(A){var C=N(this,A);if(C)return C[1]},has:function(A){return!!N(this,A)},set:function(A,C){var D=N(this,A);D?D[1]=C:this.entries.push([A,C])},delete:function(A){var C=x(this.entries,function(D){return D[0]===A});return~C&&O(this.entries,C,1),!!~C}},i.exports={getConstructor:function(A,C,D,$){var F=A(function(U,B){o(U,L),p(U,{type:C,id:P++,frozen:null}),u(B)||v(B,U[$],{that:U,AS_ENTRIES:D})}),L=F.prototype,G=m(C),H=function(U,B,j){var z=G(U),Q=e(s(B),!0);return Q===!0?T(z).set(B,j):Q[z.id]=j,U};return n(L,{delete:function(U){var B=G(this);if(!l(U))return!1;var j=e(U);return j===!0?T(B).delete(U):j&&g(j,B.id)&&delete j[B.id]},has:function(B){var j=G(this);if(!l(B))return!1;var z=e(B);return z===!0?T(j).has(B):z&&g(z,j.id)}}),n(L,D?{get:function(B){var j=G(this);if(l(B)){var z=e(B);if(z===!0)return T(j).get(B);if(z)return z[j.id]}},set:function(B,j){return H(this,B,j)}}:{add:function(B){return H(this,B,!0)}}),F}}},89378:function(i,d,t){var r=t(14304),n=t(34246),e=t(11286),o=t(13278),s=t(16142),u=t(31853),l=t(55902),v=t(12833),c=t(23583),g=t(5683),y=t(37540),p=t(72069),m=t(97494),S=t(78401),x=t(32345);i.exports=function(O,P,T){var R=O.indexOf("Map")!==-1,N=O.indexOf("Weak")!==-1,A=R?"set":"add",C=n[O],D=C&&C.prototype,$=C,F={},L=function(Q){var X=e(D[Q]);s(D,Q,Q==="add"?function(Z){return X(this,Z===0?0:Z),this}:Q==="delete"?function(k){return N&&!y(k)?!1:X(this,k===0?0:k)}:Q==="get"?function(Z){return N&&!y(Z)?void 0:X(this,Z===0?0:Z)}:Q==="has"?function(Z){return N&&!y(Z)?!1:X(this,Z===0?0:Z)}:function(Z,gt){return X(this,Z===0?0:Z,gt),this})},G=o(O,!c(C)||!(N||D.forEach&&!p(function(){new C().entries().next()})));if(G)$=T.getConstructor(P,O,R,A),u.enable();else if(o(O,!0)){var H=new $,U=H[A](N?{}:-0,1)!==H,B=p(function(){H.has(1)}),j=m(function(Q){new C(Q)}),z=!N&&p(function(){for(var Q=new C,X=5;X--;)Q[A](X,X);return!Q.has(-0)});j||($=P(function(Q,X){v(Q,D);var k=x(new C,Q,$);return g(X)||l(X,k[A],{that:k,AS_ENTRIES:R}),k}),$.prototype=D,D.constructor=$),(B||z)&&(L("delete"),L("has"),R&&L("get")),(z||U)&&L(A),N&&D.clear&&delete D.clear}return F[O]=$,r({global:!0,constructor:!0,forced:$!==C},F),S($,O),N||T.setStrong($,O,R),$}},93706:function(i,d,t){var r=t(94879),n=t(16885),e=t(71349),o=t(7831);i.exports=function(s,u,l){for(var v=n(u),c=o.f,g=e.f,y=0;y"+g+""}},10659:function(i){i.exports=function(d,t){return{value:d,done:t}}},90809:function(i,d,t){var r=t(92986),n=t(7831),e=t(18526);i.exports=r?function(o,s,u){return n.f(o,s,e(1,u))}:function(o,s,u){return o[s]=u,o}},18526:function(i){i.exports=function(d,t){return{enumerable:!(d&1),configurable:!(d&2),writable:!(d&4),value:t}}},84082:function(i,d,t){var r=t(92986),n=t(7831),e=t(18526);i.exports=function(o,s,u){r?n.f(o,s,e(0,u)):o[s]=u}},11890:function(i,d,t){var r=t(11286),n=t(72069),e=t(61607).start,o=RangeError,s=isFinite,u=Math.abs,l=Date.prototype,v=l.toISOString,c=r(l.getTime),g=r(l.getUTCDate),y=r(l.getUTCFullYear),p=r(l.getUTCHours),m=r(l.getUTCMilliseconds),S=r(l.getUTCMinutes),x=r(l.getUTCMonth),O=r(l.getUTCSeconds);i.exports=n(function(){return v.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!n(function(){v.call(new Date(NaN))})?function(){if(!s(c(this)))throw new o("Invalid time value");var T=this,R=y(T),N=m(T),A=R<0?"-":R>9999?"+":"";return A+e(u(R),A?6:4,0)+"-"+e(x(T)+1,2,0)+"-"+e(g(T),2,0)+"T"+e(p(T),2,0)+":"+e(S(T),2,0)+":"+e(O(T),2,0)+"."+e(N,3,0)+"Z"}:v},84306:function(i,d,t){var r=t(25001),n=t(2064),e=TypeError;i.exports=function(o){if(r(this),o==="string"||o==="default")o="string";else if(o!=="number")throw new e("Incorrect hint");return n(this,o)}},85500:function(i,d,t){var r=t(13749),n=t(7831);i.exports=function(e,o,s){return s.get&&r(s.get,o,{getter:!0}),s.set&&r(s.set,o,{setter:!0}),n.f(e,o,s)}},16142:function(i,d,t){var r=t(23583),n=t(7831),e=t(13749),o=t(36003);i.exports=function(s,u,l,v){v||(v={});var c=v.enumerable,g=v.name!==void 0?v.name:u;if(r(l)&&e(l,g,v),v.global)c?s[u]=l:o(u,l);else{try{v.unsafe?s[u]&&(c=!0):delete s[u]}catch(y){}c?s[u]=l:n.f(s,u,{value:l,enumerable:!1,configurable:!v.nonConfigurable,writable:!v.nonWritable})}return s}},2725:function(i,d,t){var r=t(16142);i.exports=function(n,e,o){for(var s in e)r(n,s,e[s],o);return n}},36003:function(i,d,t){var r=t(34246),n=Object.defineProperty;i.exports=function(e,o){try{n(r,e,{value:o,configurable:!0,writable:!0})}catch(s){r[e]=o}return o}},12384:function(i,d,t){var r=t(82453),n=TypeError;i.exports=function(e,o){if(!delete e[o])throw new n("Cannot delete property "+r(o)+" of "+r(e))}},92986:function(i,d,t){var r=t(72069);i.exports=!r(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},63741:function(i,d,t){var r=t(34246),n=t(81191),e=t(99050),o=r.structuredClone,s=r.ArrayBuffer,u=r.MessageChannel,l=!1,v,c,g,y;if(e)l=function(p){o(p,{transfer:[p]})};else if(s)try{u||(v=n("worker_threads"),v&&(u=v.MessageChannel)),u&&(c=new u,g=new s(2),y=function(p){c.port1.postMessage(null,[p])},g.byteLength===2&&(y(g),g.byteLength===0&&(l=y)))}catch(p){}i.exports=l},85501:function(i,d,t){var r=t(34246),n=t(37540),e=r.document,o=n(e)&&n(e.createElement);i.exports=function(s){return o?e.createElement(s):{}}},20095:function(i){var d=TypeError,t=9007199254740991;i.exports=function(r){if(r>t)throw d("Maximum allowed index exceeded");return r}},74408:function(i){i.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},93014:function(i){i.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},39882:function(i,d,t){var r=t(85501),n=r("span").classList,e=n&&n.constructor&&n.constructor.prototype;i.exports=e===Object.prototype?void 0:e},75785:function(i){i.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},507:function(i,d,t){var r=t(18257),n=r.match(/firefox\/(\d+)/i);i.exports=!!n&&+n[1]},17417:function(i,d,t){var r=t(18257);i.exports=/MSIE|Trident/.test(r)},7307:function(i,d,t){var r=t(18257);i.exports=/ipad|iphone|ipod/i.test(r)&&typeof Pebble!="undefined"},5286:function(i,d,t){var r=t(18257);i.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(r)},91707:function(i,d,t){var r=t(21501);i.exports=r==="NODE"},67722:function(i,d,t){var r=t(18257);i.exports=/web0s(?!.*chrome)/i.test(r)},18257:function(i,d,t){var r=t(34246),n=r.navigator,e=n&&n.userAgent;i.exports=e?String(e):""},44241:function(i,d,t){var r=t(34246),n=t(18257),e=r.process,o=r.Deno,s=e&&e.versions||o&&o.version,u=s&&s.v8,l,v;u&&(l=u.split("."),v=l[0]>0&&l[0]<4?1:+(l[0]+l[1])),!v&&n&&(l=n.match(/Edge\/(\d+)/),(!l||l[1]>=74)&&(l=n.match(/Chrome\/(\d+)/),l&&(v=+l[1]))),i.exports=v},66577:function(i,d,t){var r=t(18257),n=r.match(/AppleWebKit\/(\d+)\./);i.exports=!!n&&+n[1]},21501:function(i,d,t){var r=t(34246),n=t(18257),e=t(14274),o=function(s){return n.slice(0,s.length)===s};i.exports=function(){return o("Bun/")?"BUN":o("Cloudflare-Workers")?"CLOUDFLARE":o("Deno/")?"DENO":o("Node.js/")?"NODE":r.Bun&&typeof Bun.version=="string"?"BUN":r.Deno&&typeof Deno.version=="object"?"DENO":e(r.process)==="process"?"NODE":r.window&&r.document?"BROWSER":"REST"}()},40851:function(i,d,t){var r=t(11286),n=Error,e=r("".replace),o=function(l){return String(new n(l).stack)}("zxcasd"),s=/\n\s*at [^:]*:[^\n]*/,u=s.test(o);i.exports=function(l,v){if(u&&typeof l=="string"&&!n.prepareStackTrace)for(;v--;)l=e(l,s,"");return l}},97077:function(i,d,t){var r=t(90809),n=t(40851),e=t(16929),o=Error.captureStackTrace;i.exports=function(s,u,l,v){e&&(o?o(s,u):r(s,"stack",n(l,v)))}},16929:function(i,d,t){var r=t(72069),n=t(18526);i.exports=!r(function(){var e=new Error("a");return"stack"in e?(Object.defineProperty(e,"stack",n(1,7)),e.stack!==7):!0})},58434:function(i,d,t){var r=t(92986),n=t(72069),e=t(25001),o=t(15453),s=Error.prototype.toString,u=n(function(){if(r){var l=Object.create(Object.defineProperty({},"name",{get:function(){return this===l}}));if(s.call(l)!=="true")return!0}return s.call({message:1,name:2})!=="2: 1"||s.call({})!=="Error"});i.exports=u?function(){var v=e(this),c=o(v.name,"Error"),g=o(v.message);return c?g?c+": "+g:c:g}:s},14304:function(i,d,t){var r=t(34246),n=t(71349).f,e=t(90809),o=t(16142),s=t(36003),u=t(93706),l=t(13278);i.exports=function(v,c){var g=v.target,y=v.global,p=v.stat,m,S,x,O,P,T;if(y?S=r:p?S=r[g]||s(g,{}):S=r[g]&&r[g].prototype,S)for(x in c){if(P=c[x],v.dontCallGetSet?(T=n(S,x),O=T&&T.value):O=S[x],m=l(y?x:g+(p?".":"#")+x,v.forced),!m&&O!==void 0){if(typeof P==typeof O)continue;u(P,O)}(v.sham||O&&O.sham)&&e(P,"sham",!0),o(S,x,P,v)}}},72069:function(i){i.exports=function(d){try{return!!d()}catch(t){return!0}}},63194:function(i,d,t){t(31145);var r=t(96499),n=t(16142),e=t(44381),o=t(72069),s=t(18565),u=t(90809),l=s("species"),v=RegExp.prototype;i.exports=function(c,g,y,p){var m=s(c),S=!o(function(){var T={};return T[m]=function(){return 7},""[c](T)!==7}),x=S&&!o(function(){var T=!1,R=/a/;return c==="split"&&(R={},R.constructor={},R.constructor[l]=function(){return R},R.flags="",R[m]=/./[m]),R.exec=function(){return T=!0,null},R[m](""),!T});if(!S||!x||y){var O=/./[m],P=g(m,""[c],function(T,R,N,A,C){var D=R.exec;return D===e||D===v.exec?S&&!C?{done:!0,value:r(O,R,N,A)}:{done:!0,value:r(T,N,R,A)}:{done:!1}});n(String.prototype,c,P[0]),n(v,m,P[1])}p&&u(v[m],"sham",!0)}},53149:function(i,d,t){var r=t(3438),n=t(82628),e=t(20095),o=t(45526),s=function(u,l,v,c,g,y,p,m){for(var S=g,x=0,O=p?o(p,m):!1,P,T;x0&&r(P)?(T=n(P),S=s(u,l,P,T,S,y-1)-1):(e(S+1),u[S]=P),S++),x++;return S};i.exports=s},27534:function(i,d,t){var r=t(72069);i.exports=!r(function(){return Object.isExtensible(Object.preventExtensions({}))})},66543:function(i,d,t){var r=t(87878),n=Function.prototype,e=n.apply,o=n.call;i.exports=typeof Reflect=="object"&&Reflect.apply||(r?o.bind(e):function(){return o.apply(e,arguments)})},45526:function(i,d,t){var r=t(77422),n=t(85156),e=t(87878),o=r(r.bind);i.exports=function(s,u){return n(s),u===void 0?s:e?o(s,u):function(){return s.apply(u,arguments)}}},87878:function(i,d,t){var r=t(72069);i.exports=!r(function(){var n=function(){}.bind();return typeof n!="function"||n.hasOwnProperty("prototype")})},91384:function(i,d,t){var r=t(11286),n=t(85156),e=t(37540),o=t(94879),s=t(22806),u=t(87878),l=Function,v=r([].concat),c=r([].join),g={},y=function(p,m,S){if(!o(g,m)){for(var x=[],O=0;O]*>)/g,v=/\$([$&'`]|\d{1,2})/g;i.exports=function(c,g,y,p,m,S){var x=y+c.length,O=p.length,P=v;return m!==void 0&&(m=n(m),P=l),s(S,P,function(T,R){var N;switch(o(R,0)){case"$":return"$";case"&":return c;case"`":return u(g,0,y);case"'":return u(g,x);case"<":N=m[u(R,1,-1)];break;default:var A=+R;if(A===0)return T;if(A>O){var C=e(A/10);return C===0?T:C<=O?p[C-1]===void 0?o(R,1):p[C-1]+o(R,1):T}N=p[A-1]}return N===void 0?"":N})}},34246:function(i){var d=function(t){return t&&t.Math===Math&&t};i.exports=d(typeof globalThis=="object"&&globalThis)||d(typeof window=="object"&&window)||d(typeof self=="object"&&self)||d(typeof global=="object"&&global)||d(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},94879:function(i,d,t){var r=t(11286),n=t(49671),e=r({}.hasOwnProperty);i.exports=Object.hasOwn||function(s,u){return e(n(s),u)}},19423:function(i){i.exports={}},99095:function(i){i.exports=function(d,t){try{arguments.length===1?console.error(d):console.error(d,t)}catch(r){}}},96439:function(i,d,t){var r=t(38941);i.exports=r("document","documentElement")},52515:function(i,d,t){var r=t(92986),n=t(72069),e=t(85501);i.exports=!r&&!n(function(){return Object.defineProperty(e("div"),"a",{get:function(){return 7}}).a!==7})},25212:function(i){var d=Array,t=Math.abs,r=Math.pow,n=Math.floor,e=Math.log,o=Math.LN2,s=function(l,v,c){var g=d(c),y=c*8-v-1,p=(1<>1,S=v===23?r(2,-24)-r(2,-77):0,x=l<0||l===0&&1/l<0?1:0,O=0,P,T,R;for(l=t(l),l!==l||l===1/0?(T=l!==l?1:0,P=p):(P=n(e(l)/o),R=r(2,-P),l*R<1&&(P--,R*=2),P+m>=1?l+=S/R:l+=S*r(2,1-m),l*R>=2&&(P++,R/=2),P+m>=p?(T=0,P=p):P+m>=1?(T=(l*R-1)*r(2,v),P+=m):(T=l*r(2,m-1)*r(2,v),P=0));v>=8;)g[O++]=T&255,T/=256,v-=8;for(P=P<0;)g[O++]=P&255,P/=256,y-=8;return g[O-1]|=x*128,g},u=function(l,v){var c=l.length,g=c*8-v-1,y=(1<>1,m=g-7,S=c-1,x=l[S--],O=x&127,P;for(x>>=7;m>0;)O=O*256+l[S--],m-=8;for(P=O&(1<<-m)-1,O>>=-m,m+=v;m>0;)P=P*256+l[S--],m-=8;if(O===0)O=1-p;else{if(O===y)return P?NaN:x?-1/0:1/0;P+=r(2,v),O-=p}return(x?-1:1)*P*r(2,O-v)};i.exports={pack:s,unpack:u}},72181:function(i,d,t){var r=t(11286),n=t(72069),e=t(14274),o=Object,s=r("".split);i.exports=n(function(){return!o("z").propertyIsEnumerable(0)})?function(u){return e(u)==="String"?s(u,""):o(u)}:o},32345:function(i,d,t){var r=t(23583),n=t(37540),e=t(15861);i.exports=function(o,s,u){var l,v;return e&&r(l=s.constructor)&&l!==u&&n(v=l.prototype)&&v!==u.prototype&&e(o,v),o}},84352:function(i,d,t){var r=t(11286),n=t(23583),e=t(70443),o=r(Function.toString);n(e.inspectSource)||(e.inspectSource=function(s){return o(s)}),i.exports=e.inspectSource},31486:function(i,d,t){var r=t(37540),n=t(90809);i.exports=function(e,o){r(o)&&"cause"in o&&n(e,"cause",o.cause)}},31853:function(i,d,t){var r=t(14304),n=t(11286),e=t(19423),o=t(37540),s=t(94879),u=t(7831).f,l=t(83258),v=t(92880),c=t(28174),g=t(36374),y=t(27534),p=!1,m=g("meta"),S=0,x=function(A){u(A,m,{value:{objectID:"O"+S++,weakData:{}}})},O=function(A,C){if(!o(A))return typeof A=="symbol"?A:(typeof A=="string"?"S":"P")+A;if(!s(A,m)){if(!c(A))return"F";if(!C)return"E";x(A)}return A[m].objectID},P=function(A,C){if(!s(A,m)){if(!c(A))return!0;if(!C)return!1;x(A)}return A[m].weakData},T=function(A){return y&&p&&c(A)&&!s(A,m)&&x(A),A},R=function(){N.enable=function(){},p=!0;var A=l.f,C=n([].splice),D={};D[m]=1,A(D).length&&(l.f=function($){for(var F=A($),L=0,G=F.length;LF;F++)if(G=j(S[F]),G&&l(m,G))return G;return new p(!1)}D=v(S,$)}for(H=R?S.next:D.next;!(U=n(H,D)).done;){try{G=j(U.value)}catch(z){g(D,"throw",z)}if(typeof G=="object"&&G&&l(m,G))return G}return new p(!1)}},99797:function(i,d,t){var r=t(96499),n=t(25001),e=t(10512);i.exports=function(o,s,u){var l,v;n(o);try{if(l=e(o,"return"),!l){if(s==="throw")throw u;return u}l=r(l,o)}catch(c){v=!0,l=c}if(s==="throw")throw u;if(v)throw l;return n(l),u}},26820:function(i,d,t){var r=t(24519).IteratorPrototype,n=t(5406),e=t(18526),o=t(78401),s=t(29107),u=function(){return this};i.exports=function(l,v,c,g){var y=v+" Iterator";return l.prototype=n(r,{next:e(+!g,c)}),o(l,y,!1,!0),s[y]=u,l}},44736:function(i,d,t){var r=t(96499),n=t(5406),e=t(90809),o=t(2725),s=t(18565),u=t(82367),l=t(10512),v=t(24519).IteratorPrototype,c=t(10659),g=t(99797),y=s("toStringTag"),p="IteratorHelper",m="WrapForValidIterator",S=u.set,x=function(T){var R=u.getterFor(T?m:p);return o(n(v),{next:function(){var A=R(this);if(T)return A.nextHandler();try{var C=A.done?void 0:A.nextHandler();return c(C,A.done)}catch(D){throw A.done=!0,D}},return:function(){var N=R(this),A=N.iterator;if(N.done=!0,T){var C=l(A,"return");return C?r(C,A):c(void 0,!0)}if(N.inner)try{g(N.inner.iterator,"normal")}catch(D){return g(A,"throw",D)}return A&&g(A,"normal"),c(void 0,!0)}})},O=x(!0),P=x(!1);e(P,y,"Iterator Helper"),i.exports=function(T,R){var N=function(C,D){D?(D.iterator=C.iterator,D.next=C.next):D=C,D.type=R?m:p,D.nextHandler=T,D.counter=0,D.done=!1,S(this,D)};return N.prototype=R?O:P,N}},10218:function(i,d,t){var r=t(14304),n=t(96499),e=t(70457),o=t(86588),s=t(23583),u=t(26820),l=t(26313),v=t(15861),c=t(78401),g=t(90809),y=t(16142),p=t(18565),m=t(29107),S=t(24519),x=o.PROPER,O=o.CONFIGURABLE,P=S.IteratorPrototype,T=S.BUGGY_SAFARI_ITERATORS,R=p("iterator"),N="keys",A="values",C="entries",D=function(){return this};i.exports=function($,F,L,G,H,U,B){u(L,F,G);var j=function(Rt){if(Rt===H&&Z)return Z;if(!T&&Rt&&Rt in X)return X[Rt];switch(Rt){case N:return function(){return new L(this,Rt)};case A:return function(){return new L(this,Rt)};case C:return function(){return new L(this,Rt)}}return function(){return new L(this)}},z=F+" Iterator",Q=!1,X=$.prototype,k=X[R]||X["@@iterator"]||H&&X[H],Z=!T&&k||j(H),gt=F==="Array"&&X.entries||k,lt,yt,Ot;if(gt&&(lt=l(gt.call(new $)),lt!==Object.prototype&<.next&&(!e&&l(lt)!==P&&(v?v(lt,P):s(lt[R])||y(lt,R,D)),c(lt,z,!0,!0),e&&(m[z]=D))),x&&H===A&&k&&k.name!==A&&(!e&&O?g(X,"name",A):(Q=!0,Z=function(){return n(k,this)})),H)if(yt={values:j(A),keys:U?Z:j(N),entries:j(C)},B)for(Ot in yt)(T||Q||!(Ot in X))&&y(X,Ot,yt[Ot]);else r({target:F,proto:!0,forced:T||Q},yt);return(!e||B)&&X[R]!==Z&&y(X,R,Z,{name:H}),m[F]=Z,yt}},96191:function(i,d,t){var r=t(96499),n=t(85156),e=t(25001),o=t(10613),s=t(44736),u=t(39969),l=s(function(){var v=this.iterator,c=e(r(this.next,v)),g=this.done=!!c.done;if(!g)return u(v,this.mapper,[c.value,this.counter++],!0)});i.exports=function(c){return e(this),n(c),new l(o(this),{mapper:c})}},24519:function(i,d,t){var r=t(72069),n=t(23583),e=t(37540),o=t(5406),s=t(26313),u=t(16142),l=t(18565),v=t(70457),c=l("iterator"),g=!1,y,p,m;[].keys&&(m=[].keys(),"next"in m?(p=s(s(m)),p!==Object.prototype&&(y=p)):g=!0);var S=!e(y)||r(function(){var x={};return y[c].call(x)!==x});S?y={}:v&&(y=o(y)),n(y[c])||u(y,c,function(){return this}),i.exports={IteratorPrototype:y,BUGGY_SAFARI_ITERATORS:g}},29107:function(i){i.exports={}},82628:function(i,d,t){var r=t(45344);i.exports=function(n){return r(n.length)}},13749:function(i,d,t){var r=t(11286),n=t(72069),e=t(23583),o=t(94879),s=t(92986),u=t(86588).CONFIGURABLE,l=t(84352),v=t(82367),c=v.enforce,g=v.get,y=String,p=Object.defineProperty,m=r("".slice),S=r("".replace),x=r([].join),O=s&&!n(function(){return p(function(){},"length",{value:8}).length!==8}),P=String(String).split("String"),T=i.exports=function(R,N,A){m(y(N),0,7)==="Symbol("&&(N="["+S(y(N),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),A&&A.getter&&(N="get "+N),A&&A.setter&&(N="set "+N),(!o(R,"name")||u&&R.name!==N)&&(s?p(R,"name",{value:N,configurable:!0}):R.name=N),O&&A&&o(A,"arity")&&R.length!==A.arity&&p(R,"length",{value:A.arity});try{A&&o(A,"constructor")&&A.constructor?s&&p(R,"prototype",{writable:!1}):R.prototype&&(R.prototype=void 0)}catch(D){}var C=c(R);return o(C,"source")||(C.source=x(P,typeof N=="string"?N:"")),R};Function.prototype.toString=T(function(){return e(this)&&g(this).source||l(this)},"toString")},1774:function(i,d,t){var r=t(11286),n=Map.prototype;i.exports={Map,set:r(n.set),get:r(n.get),has:r(n.has),remove:r(n.delete),proto:n}},98940:function(i){var d=Math.expm1,t=Math.exp;i.exports=!d||d(10)>22025.465794806718||d(10)<22025.465794806718||d(-2e-17)!==-2e-17?function(n){var e=+n;return e===0?e:e>-1e-6&&e<1e-6?e+e*e/2:t(e)-1}:d},10418:function(i,d,t){var r=t(93976),n=Math.abs,e=2220446049250313e-31,o=1/e,s=function(u){return u+o-o};i.exports=function(u,l,v,c){var g=+u,y=n(g),p=r(g);if(yv||S!==S?p*(1/0):p*S}},93279:function(i,d,t){var r=t(10418),n=11920928955078125e-23,e=34028234663852886e22,o=11754943508222875e-54;i.exports=Math.fround||function(u){return r(u,n,e,o)}},41942:function(i){var d=Math.log,t=Math.LOG10E;i.exports=Math.log10||function(n){return d(n)*t}},49366:function(i){var d=Math.log;i.exports=Math.log1p||function(r){var n=+r;return n>-1e-8&&n<1e-8?n-n*n/2:d(1+n)}},93976:function(i){i.exports=Math.sign||function(t){var r=+t;return r===0||r!==r?r:r<0?-1:1}},22459:function(i){var d=Math.ceil,t=Math.floor;i.exports=Math.trunc||function(n){var e=+n;return(e>0?t:d)(e)}},9709:function(i,d,t){var r=t(34246),n=t(28167),e=t(45526),o=t(23115).set,s=t(76895),u=t(5286),l=t(7307),v=t(67722),c=t(91707),g=r.MutationObserver||r.WebKitMutationObserver,y=r.document,p=r.process,m=r.Promise,S=n("queueMicrotask"),x,O,P,T,R;if(!S){var N=new s,A=function(){var C,D;for(c&&(C=p.domain)&&C.exit();D=N.get();)try{D()}catch($){throw N.head&&x(),$}C&&C.enter()};!u&&!c&&!v&&g&&y?(O=!0,P=y.createTextNode(""),new g(A).observe(P,{characterData:!0}),x=function(){P.data=O=!O}):!l&&m&&m.resolve?(T=m.resolve(void 0),T.constructor=m,R=e(T.then,T),x=function(){R(A)}):c?x=function(){p.nextTick(A)}:(o=e(o,r),x=function(){o(A)}),S=function(C){N.head||x(),N.add(C)}}i.exports=S},24649:function(i,d,t){var r=t(85156),n=TypeError,e=function(o){var s,u;this.promise=new o(function(l,v){if(s!==void 0||u!==void 0)throw new n("Bad Promise constructor");s=l,u=v}),this.resolve=r(s),this.reject=r(u)};i.exports.f=function(o){return new e(o)}},15453:function(i,d,t){var r=t(17361);i.exports=function(n,e){return n===void 0?arguments.length<2?"":e:r(n)}},93483:function(i){var d=RangeError;i.exports=function(t){if(t===t)return t;throw new d("NaN is not allowed")}},92337:function(i,d,t){var r=t(11566),n=TypeError;i.exports=function(e){if(r(e))throw new n("The method doesn't accept regular expressions");return e}},98074:function(i,d,t){var r=t(34246),n=r.isFinite;i.exports=Number.isFinite||function(o){return typeof o=="number"&&n(o)}},25838:function(i,d,t){var r=t(34246),n=t(72069),e=t(11286),o=t(17361),s=t(85900).trim,u=t(77082),l=e("".charAt),v=r.parseFloat,c=r.Symbol,g=c&&c.iterator,y=1/v(u+"-0")!==-1/0||g&&!n(function(){v(Object(g))});i.exports=y?function(m){var S=s(o(m)),x=v(S);return x===0&&l(S,0)==="-"?-0:x}:v},23009:function(i,d,t){var r=t(34246),n=t(72069),e=t(11286),o=t(17361),s=t(85900).trim,u=t(77082),l=r.parseInt,v=r.Symbol,c=v&&v.iterator,g=/^[+-]?0x/i,y=e(g.exec),p=l(u+"08")!==8||l(u+"0x16")!==22||c&&!n(function(){l(Object(c))});i.exports=p?function(S,x){var O=s(o(S));return l(O,x>>>0||(y(g,O)?16:10))}:l},16667:function(i,d,t){var r=t(92986),n=t(11286),e=t(96499),o=t(72069),s=t(18350),u=t(24943),l=t(79591),v=t(49671),c=t(72181),g=Object.assign,y=Object.defineProperty,p=n([].concat);i.exports=!g||o(function(){if(r&&g({b:1},g(y({},"a",{enumerable:!0,get:function(){y(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var m={},S={},x=Symbol("assign detection"),O="abcdefghijklmnopqrst";return m[x]=7,O.split("").forEach(function(P){S[P]=P}),g({},m)[x]!==7||s(g({},S)).join("")!==O})?function(S,x){for(var O=v(S),P=arguments.length,T=1,R=u.f,N=l.f;P>T;)for(var A=c(arguments[T++]),C=R?p(s(A),R(A)):s(A),D=C.length,$=0,F;D>$;)F=C[$++],(!r||e(N,A,F))&&(O[F]=A[F]);return O}:g},5406:function(i,d,t){var r=t(25001),n=t(61963),e=t(75785),o=t(19423),s=t(96439),u=t(85501),l=t(44869),v=">",c="<",g="prototype",y="script",p=l("IE_PROTO"),m=function(){},S=function(R){return c+y+v+R+c+"/"+y+v},x=function(R){R.write(S("")),R.close();var N=R.parentWindow.Object;return R=null,N},O=function(){var R=u("iframe"),N="java"+y+":",A;return R.style.display="none",s.appendChild(R),R.src=String(N),A=R.contentWindow.document,A.open(),A.write(S("document.F=Object")),A.close(),A.F},P,T=function(){try{P=new ActiveXObject("htmlfile")}catch(N){}T=typeof document!="undefined"?document.domain&&P?x(P):O():x(P);for(var R=e.length;R--;)delete T[g][e[R]];return T()};o[p]=!0,i.exports=Object.create||function(N,A){var C;return N!==null?(m[g]=r(N),C=new m,m[g]=null,C[p]=N):C=T(),A===void 0?C:n.f(C,A)}},61963:function(i,d,t){var r=t(92986),n=t(356),e=t(7831),o=t(25001),s=t(36859),u=t(18350);d.f=r&&!n?Object.defineProperties:function(v,c){o(v);for(var g=s(c),y=u(c),p=y.length,m=0,S;p>m;)e.f(v,S=y[m++],g[S]);return v}},7831:function(i,d,t){var r=t(92986),n=t(52515),e=t(356),o=t(25001),s=t(50035),u=TypeError,l=Object.defineProperty,v=Object.getOwnPropertyDescriptor,c="enumerable",g="configurable",y="writable";d.f=r?e?function(m,S,x){if(o(m),S=s(S),o(x),typeof m=="function"&&S==="prototype"&&"value"in x&&y in x&&!x[y]){var O=v(m,S);O&&O[y]&&(m[S]=x.value,x={configurable:g in x?x[g]:O[g],enumerable:c in x?x[c]:O[c],writable:!1})}return l(m,S,x)}:l:function(m,S,x){if(o(m),S=s(S),o(x),n)try{return l(m,S,x)}catch(O){}if("get"in x||"set"in x)throw new u("Accessors not supported");return"value"in x&&(m[S]=x.value),m}},71349:function(i,d,t){var r=t(92986),n=t(96499),e=t(79591),o=t(18526),s=t(36859),u=t(50035),l=t(94879),v=t(52515),c=Object.getOwnPropertyDescriptor;d.f=r?c:function(y,p){if(y=s(y),p=u(p),v)try{return c(y,p)}catch(m){}if(l(y,p))return o(!n(e.f,y,p),y[p])}},92880:function(i,d,t){var r=t(14274),n=t(36859),e=t(83258).f,o=t(22806),s=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(l){try{return e(l)}catch(v){return o(s)}};i.exports.f=function(v){return s&&r(v)==="Window"?u(v):e(n(v))}},83258:function(i,d,t){var r=t(6242),n=t(75785),e=n.concat("length","prototype");d.f=Object.getOwnPropertyNames||function(s){return r(s,e)}},24943:function(i,d){d.f=Object.getOwnPropertySymbols},26313:function(i,d,t){var r=t(94879),n=t(23583),e=t(49671),o=t(44869),s=t(87501),u=o("IE_PROTO"),l=Object,v=l.prototype;i.exports=s?l.getPrototypeOf:function(c){var g=e(c);if(r(g,u))return g[u];var y=g.constructor;return n(y)&&g instanceof y?y.prototype:g instanceof l?v:null}},28174:function(i,d,t){var r=t(72069),n=t(37540),e=t(14274),o=t(72058),s=Object.isExtensible,u=r(function(){s(1)});i.exports=u||o?function(v){return!n(v)||o&&e(v)==="ArrayBuffer"?!1:s?s(v):!0}:s},95307:function(i,d,t){var r=t(11286);i.exports=r({}.isPrototypeOf)},6242:function(i,d,t){var r=t(11286),n=t(94879),e=t(36859),o=t(94319).indexOf,s=t(19423),u=r([].push);i.exports=function(l,v){var c=e(l),g=0,y=[],p;for(p in c)!n(s,p)&&n(c,p)&&u(y,p);for(;v.length>g;)n(c,p=v[g++])&&(~o(y,p)||u(y,p));return y}},18350:function(i,d,t){var r=t(6242),n=t(75785);i.exports=Object.keys||function(o){return r(o,n)}},79591:function(i,d){var t={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,n=r&&!t.call({1:2},1);d.f=n?function(o){var s=r(this,o);return!!s&&s.enumerable}:t},57629:function(i,d,t){var r=t(70457),n=t(34246),e=t(72069),o=t(66577);i.exports=r||!e(function(){if(!(o&&o<535)){var s=Math.random();__defineSetter__.call(null,s,function(){}),delete n[s]}})},15861:function(i,d,t){var r=t(84756),n=t(37540),e=t(2068),o=t(53408);i.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var s=!1,u={},l;try{l=r(Object.prototype,"__proto__","set"),l(u,[]),s=u instanceof Array}catch(v){}return function(c,g){return e(c),o(g),n(c)&&(s?l(c,g):c.__proto__=g),c}}():void 0)},8511:function(i,d,t){var r=t(92986),n=t(72069),e=t(11286),o=t(26313),s=t(18350),u=t(36859),l=t(79591).f,v=e(l),c=e([].push),g=r&&n(function(){var p=Object.create(null);return p[2]=2,!v(p,2)}),y=function(p){return function(m){for(var S=u(m),x=s(S),O=g&&o(S)===null,P=x.length,T=0,R=[],N;P>T;)N=x[T++],(!r||(O?N in S:v(S,N)))&&c(R,p?[N,S[N]]:S[N]);return R}};i.exports={entries:y(!0),values:y(!1)}},60105:function(i,d,t){var r=t(67878),n=t(9205);i.exports=r?{}.toString:function(){return"[object "+n(this)+"]"}},2064:function(i,d,t){var r=t(96499),n=t(23583),e=t(37540),o=TypeError;i.exports=function(s,u){var l,v;if(u==="string"&&n(l=s.toString)&&!e(v=r(l,s))||n(l=s.valueOf)&&!e(v=r(l,s))||u!=="string"&&n(l=s.toString)&&!e(v=r(l,s)))return v;throw new o("Can't convert object to primitive value")}},16885:function(i,d,t){var r=t(38941),n=t(11286),e=t(83258),o=t(24943),s=t(25001),u=n([].concat);i.exports=r("Reflect","ownKeys")||function(v){var c=e.f(s(v)),g=o.f;return g?u(c,g(v)):c}},75081:function(i,d,t){var r=t(34246);i.exports=r},67805:function(i){i.exports=function(d){try{return{error:!1,value:d()}}catch(t){return{error:!0,value:t}}}},37130:function(i,d,t){var r=t(34246),n=t(98844),e=t(23583),o=t(13278),s=t(84352),u=t(18565),l=t(21501),v=t(70457),c=t(44241),g=n&&n.prototype,y=u("species"),p=!1,m=e(r.PromiseRejectionEvent),S=o("Promise",function(){var x=s(n),O=x!==String(n);if(!O&&c===66||v&&!(g.catch&&g.finally))return!0;if(!c||c<51||!/native code/.test(x)){var P=new n(function(N){N(1)}),T=function(N){N(function(){},function(){})},R=P.constructor={};if(R[y]=T,p=P.then(function(){})instanceof T,!p)return!0}return!O&&(l==="BROWSER"||l==="DENO")&&!m});i.exports={CONSTRUCTOR:S,REJECTION_EVENT:m,SUBCLASSING:p}},98844:function(i,d,t){var r=t(34246);i.exports=r.Promise},87408:function(i,d,t){var r=t(25001),n=t(37540),e=t(24649);i.exports=function(o,s){if(r(o),n(s)&&s.constructor===o)return s;var u=e.f(o),l=u.resolve;return l(s),u.promise}},26035:function(i,d,t){var r=t(98844),n=t(97494),e=t(37130).CONSTRUCTOR;i.exports=e||!n(function(o){r.all(o).then(void 0,function(){})})},2594:function(i,d,t){var r=t(7831).f;i.exports=function(n,e,o){o in n||r(n,o,{configurable:!0,get:function(){return e[o]},set:function(s){e[o]=s}})}},76895:function(i){var d=function(){this.head=null,this.tail=null};d.prototype={add:function(t){var r={item:t,next:null},n=this.tail;n?n.next=r:this.head=r,this.tail=r},get:function(){var t=this.head;if(t){var r=this.head=t.next;return r===null&&(this.tail=null),t.item}}},i.exports=d},33064:function(i,d,t){var r=t(96499),n=t(25001),e=t(23583),o=t(14274),s=t(44381),u=TypeError;i.exports=function(l,v){var c=l.exec;if(e(c)){var g=r(c,l,v);return g!==null&&n(g),g}if(o(l)==="RegExp")return r(s,l,v);throw new u("RegExp#exec called on incompatible receiver")}},44381:function(i,d,t){var r=t(96499),n=t(11286),e=t(17361),o=t(29833),s=t(39807),u=t(96731),l=t(5406),v=t(82367).get,c=t(76769),g=t(85220),y=u("native-string-replace",String.prototype.replace),p=RegExp.prototype.exec,m=p,S=n("".charAt),x=n("".indexOf),O=n("".replace),P=n("".slice),T=function(){var C=/a/,D=/b*/g;return r(p,C,"a"),r(p,D,"a"),C.lastIndex!==0||D.lastIndex!==0}(),R=s.BROKEN_CARET,N=/()??/.exec("")[1]!==void 0,A=T||N||R||c||g;A&&(m=function(D){var $=this,F=v($),L=e(D),G=F.raw,H,U,B,j,z,Q,X;if(G)return G.lastIndex=$.lastIndex,H=r(m,G,L),$.lastIndex=G.lastIndex,H;var k=F.groups,Z=R&&$.sticky,gt=r(o,$),lt=$.source,yt=0,Ot=L;if(Z&&(gt=O(gt,"y",""),x(gt,"g")===-1&&(gt+="g"),Ot=P(L,$.lastIndex),$.lastIndex>0&&(!$.multiline||$.multiline&&S(L,$.lastIndex-1)!==` +`),b=E?M.length-1:1;a.html(""),M.forEach((w,W)=>{a.append("tspan").attr("x",0).attr("dy",`${W===0?h[0]*b:h[1]}em`).text(w)})}}}function Qs(a){const{x:f,y:h,width:E,height:I}=a.getBBox();return[{x:f,y:h+I},{x:f,y:h},{x:f+E,y:h},{x:f+E,y:h+I}]}function Fi(a){const{width:f,height:h}=a.getBoundingClientRect(),E=Qs(a),I=E[0].x,M=Math.min(E[0].y,E[1].y);return{x:I,y:M,width:f,height:h}}function $i(a,f){var h;const E=a&&((h=a.touches||a.sourceEvent&&a.sourceEvent.touches)==null?void 0:h[0]);let I=[0,0];try{I=d3Pointer(E||a,f)}catch(M){}return I.map(M=>isNaN(M)?0:M)}function Zs(a){const{event:f,$el:h}=a,E=h.subchart.main||h.main;let I;return f&&f.type==="brush"?I=f.selection:E&&(I=E.select(".bb-brush").node())&&(I=d3BrushSelection(I)),I}function Li(a){return!("rect"in a)||"rect"in a&&a.hasAttribute("width")&&a.rect.width!==+a.getAttribute("width")?a.rect=a.getBoundingClientRect():a.rect}function Ui(a=!0,f=0,h=1e4){const E=window.crypto||window.msCrypto,I=E?f+E.getRandomValues(new Uint32Array(1))[0]%(h-f+1):Math.floor(Math.random()*(h-f)+f);return a?String(I):I}function ma(a,f,h,E,I){if(h>E)return-1;const M=Math.floor((h+E)/2);let{x:b,w=0}=a[M];return I&&(b=a[M].y,w=a[M].h),f>=b&&f<=b+w?M:f{if(re(h)&&h.constructor){const E=new h.constructor;for(const I in h)E[I]=f(h[I]);return E}return h};return a.map(h=>f(h)).reduce((h,E)=>ya(ya({},h),E))}function ks(a={},f){Oe(f)&&f.forEach(h=>ks(a,h));for(const h in f)/^\d+$/.test(h)||h in a||(a[h]=f[h]);return a}const wi=a=>a.charAt(0).toUpperCase()+a.slice(1);function Gi(a,f="-"){return a.split(f).map((h,E)=>E?h.charAt(0).toUpperCase()+h.slice(1).toLowerCase():h.toLowerCase()).join("")}const qs=a=>[].slice.call(a);function Hi(a,f,h){const{rootSelector:E="",sheet:I}=a,b=`${E} ${(w=>w.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(f)} {${h.join(";")}}`;return I[I.insertRule?"insertRule":"addRule"](b,I.cssRules.length)}function Vi(a){let f=[];return a.forEach(h=>{var E;try{h.cssRules&&h.cssRules.length&&(f=f.concat(qs(h.cssRules)))}catch(I){(E=window.console)==null||E.warn(`Error while reading rules from ${h.href}: ${I.toString()}`)}}),f}function Wi(a){var f,h,E,I,M,b;return{x:((h=(f=window.pageXOffset)!=null?f:window.scrollX)!=null?h:0)+((E=a.scrollLeft)!=null?E:0),y:((M=(I=window.pageYOffset)!=null?I:window.scrollY)!=null?M:0)+((b=a.scrollTop)!=null?b:0)}}function zi(a,f=0,h=0,E=!0){const I=new DOMPoint(f,h),M=a.getScreenCTM(),b=I.matrixTransform(E?M==null?void 0:M.inverse():M);if(E===!1){const w=a.getBoundingClientRect();b.x-=w.x,b.y-=w.y}return b}function Yi(a){const f=a?a.transform:null,h=f&&f.baseVal;return h&&h.numberOfItems?h.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function Ki(a){const f=a[0]instanceof Date,h=(f?a.map(Number):a).filter((E,I,M)=>M.indexOf(E)===I);return f?h.map(E=>new Date(E)):h}function Xi(a){return a&&a.length?a.reduce((f,h)=>f.concat(h)):[]}function Te(a,...f){if(!f.length||f.length===1&&!f[0])return a;const h=f.shift();return re(a)&&re(h)&&Object.keys(h).forEach(E=>{const I=h[E];re(I)?(!a[E]&&(a[E]={}),a[E]=Te(a[E],I)):a[E]=Oe(I)?I.concat():I}),Te(a,...f)}function _s(a,f=!0){let h;return a[0]instanceof Date?h=f?(E,I)=>E-I:(E,I)=>I-E:f&&!a.every(isNaN)?h=(E,I)=>E-I:f||(h=(E,I)=>E>I&&-1||EJs(E));return h.length?Ee(h[0])?h=Math[a](...h):h[0]instanceof Date&&(h=_s(h,a==="min")[0]):h=void 0,h}const Qi=(a,f,h=1)=>{const E=[],I=Math.max(0,Math.ceil((f-a)/h))|0;for(let M=a;M{const a=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(f,h,E=a())=>{f.dispatchEvent(new MouseEvent(h,E))}}catch(f){return(h,E,I=a())=>{const M=Hs.createEvent("MouseEvent");M.initMouseEvent(E,I.bubbles,I.cancelable,_n,0,I.screenX,I.screenY,I.clientX,I.clientY,!1,!1,!1,!1,0,null),h.dispatchEvent(M)}}})(),touch:(a,f,h)=>{const E=new Touch(Te({identifier:Date.now(),target:a,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},h));a.dispatchEvent(new TouchEvent(f,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[E],targetTouches:[],changedTouches:[E]}))}};function ki(a,f){let h=a;for(const E in f)h=h.replace(new RegExp(`{=${E}}`,"g"),f[E]);return h}function qi(a){var f;let h;if(a instanceof Date)h=a;else if(te(a)){const{config:E,format:I}=this;h=(f=I.dataTime(E.data_xFormat)(a))!=null?f:new Date(a)}else Ee(a)&&!isNaN(a)&&(h=new Date(+a));return(!h||isNaN(+h))&&console&&console.error&&console.error(`Failed to parse x '${a}' to Date object`),h}function _i(a){const f=a.attr("viewBox");return f?/(\d+(\.\d+)?){3}/.test(f):!1}function tu(a,f,h=!1){const E=!!a.node;let I=!1;for(const[M,b]of Object.entries(f))if(I=E?a.style(M)===b:a.style[M]===b,h===!1&&I)break;return I}function ru(){var a,f;return((a=document)==null?void 0:a.hidden)===!1||((f=document)==null?void 0:f.visibilityState)==="visible"}function nu(a,f){const{DocumentTouch:h,matchMedia:E,navigator:I}=window,M=E==null?void 0:E("(pointer:coarse)").matches;let b=!1;if(f)if(I&&"maxTouchPoints"in I)b=I.maxTouchPoints>0;else if("ontouchmove"in window||h&&document instanceof h)b=!0;else if(M)b=!0;else{const W=I.userAgent;b=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(W)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(W)}return a&&!M&&(E==null?void 0:E("(pointer:fine)").matches)&&"mouse"||b&&"touch"||"mouse"}function ti(a,f){f()===!1?requestAnimationFrame(()=>ti(a,f)):a()}function ri(a){const f=this.config;let h,E,I;const M=()=>{const b=E.shift();if(b&&h&&Ie(h)&&b in h)return h=h[b],M();if(!b)return h};Object.keys(f).forEach(b=>{h=a,E=b.split("_"),I=M(),pa(I)&&(f[b]=I)}),this.api&&(this.state.orgConfig=a)}var ni=Object.defineProperty,ei=(a,f,h)=>f in a?ni(a,f,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[f]=h,Re=(a,f,h)=>ei(a,typeof f!="symbol"?f+"":f,h);class xa{constructor(f={}){Re(this,"$$"),Re(this,"options"),this.options=f}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(f=>{this[f]=null,delete this[f]})}}Re(xa,"version","3.14.2");class ai{constructor(){return{selector:void 0}}}var oi=Object.defineProperty,si=(a,f,h)=>f in a?oi(a,f,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[f]=h,Ae=(a,f,h)=>si(a,typeof f!="symbol"?f+"":f,h);class Sa extends xa{constructor(f){return super(f),Ae(this,"config"),Ae(this,"element"),this.config=new ai,this}$beforeInit(){ri.call(this,this.options),this.validate(),this.element=[].slice.call(document.querySelectorAll(this.config.selector)),this.overrideInternals(),this.overrideOptions(),this.overHandler=this.overHandler.bind(this),this.moveHandler=this.moveHandler.bind(this),this.outHandler=this.outHandler.bind(this)}validate(){const{$$:f,config:h}=this;let E="";if((!h.selector||!document.querySelector(h.selector))&&(E="No holder elements found from given selector option."),(f.hasType("bubble")||f.hasType("scatter")||f.hasArcType(f.data.targets))&&(E="Contains non supported chart types."),E)throw new Error(`[Sparkline plugin] ${E}`)}overrideInternals(){const{$$:f}=this,{getBarW:h,getIndices:E}=f;f.getIndices=function(I,M,b){return b==="getShapeX"?{}:E.call(this,I,M)},f.getBarW=function(I,M){return h.call(this,I,M,1)}}overrideOptions(){const{config:f}=this.$$;if(f.legend_show=!1,f.resize_auto=!1,f.axis_x_show=!1,f.padding!==!1){const h=E=>Object.keys(E||{}).length>0;h(f.axis_x_padding)&&(f.axis_x_padding={left:15,right:15,unit:"px"}),h(f.axis_y_padding)&&(f.axis_y_padding=5)}f.axis_y_show=!1,f.tooltip_position||(f.tooltip_position=function(h,E,I){const{internal:{state:{event:M}}}=this;let b=M.pageY-I*1.35,w=M.pageX-E/2;return b<0&&(b=0),w<0&&(w=0),{top:b,left:w}})}$init(){var f;const{$$:{$el:h}}=this;h.chart.style("width","0").style("height","0").style("pointer-events","none"),(f=h.tooltip)!=null&&f.node()&&document.body.appendChild(h.tooltip.node())}$afterInit(){const{$$:f}=this;f.$el.svg.attr("style",null).style("width","0").style("height","0"),this.bindEvents(!0)}bindEvents(f=!0){const{$$:{config:h}}=this;if(h.interaction_enabled&&h.tooltip_show){const E=`${f?"add":"remove"}EventListener`;this.element.forEach(I=>{const M=I.querySelector("svg");M[E]("mouseover",this.overHandler),M[E]("mousemove",this.moveHandler),M[E]("mouseout",this.outHandler)})}}overHandler(f){const{$$:h}=this,{state:{eventReceiver:E}}=h;E.rect=f.target.getBoundingClientRect()}moveHandler(f){var h,E,I,M;const{$$:b}=this,w=b.getDataIndexFromEvent(f),W=(h=b.api.data(f.target.__id))==null?void 0:h[0],q=(E=W==null?void 0:W.values)==null?void 0:E[w];q&&!q.name&&(q.name=q.id),b.state.event=f,(I=b.isPointFocusOnly)!=null&&I.call(b)&&q&&((M=b.showCircleFocus)==null||M.call(b,[q])),b.setExpand(w,W.id,!0),b.showTooltip([q],f.target)}outHandler(f){const{$$:h}=this;h.state.event=f,h.isPointFocusOnly()?h.hideCircleFocus():h.unexpandCircles(),h.hideTooltip()}$redraw(){var f;const{$$:h}=this,{$el:E}=h;let I=this.element;const M=h.api.data(),b=(f=E.chart.html().match(/]*>/))==null?void 0:f[0];if(I.length0;W--)w.parentNode.insertBefore(I[0].cloneNode(),w.nextSibling);this.element=document.querySelectorAll(this.config.selector),I=this.element}M.map(w=>w.id).forEach((w,W)=>{const q=`.${l.target}-${w}`,tt=E.main.selectAll(q);let Tt=I[W].querySelector("svg");Tt||(I[W].innerHTML=`${b}`,Tt=I[W].querySelector("svg"),Tt.__id=w),Tt.querySelector(q)||tt.style("opacity",null),tt.style("fill","none").style("opacity",null),Tt.innerHTML="",Tt.appendChild(tt.node())})}$willDestroy(){this.bindEvents(!1),this.element.forEach(f=>{f.innerHTML=""})}}Ae(Sa,"version","0.0.1")},85156:function(i,d,t){var r=t(23583),n=t(82453),e=TypeError;i.exports=function(o){if(r(o))return o;throw new e(n(o)+" is not a function")}},80042:function(i,d,t){var r=t(11051),n=t(82453),e=TypeError;i.exports=function(o){if(r(o))return o;throw new e(n(o)+" is not a constructor")}},53408:function(i,d,t){var r=t(52427),n=String,e=TypeError;i.exports=function(o){if(r(o))return o;throw new e("Can't set "+n(o)+" as a prototype")}},76602:function(i,d,t){var r=t(172).has;i.exports=function(n){return r(n),n}},23811:function(i,d,t){var r=t(18565),n=t(5406),e=t(7831).f,o=r("unscopables"),s=Array.prototype;s[o]===void 0&&e(s,o,{configurable:!0,value:n(null)}),i.exports=function(u){s[o][u]=!0}},24487:function(i,d,t){var r=t(22149).charAt;i.exports=function(n,e,o){return e+(o?r(n,e).length:1)}},12833:function(i,d,t){var r=t(95307),n=TypeError;i.exports=function(e,o){if(r(o,e))return e;throw new n("Incorrect invocation")}},25001:function(i,d,t){var r=t(37540),n=String,e=TypeError;i.exports=function(o){if(r(o))return o;throw new e(n(o)+" is not an object")}},3237:function(i){i.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},58360:function(i,d,t){var r=t(34246),n=t(84756),e=t(14274),o=r.ArrayBuffer,s=r.TypeError;i.exports=o&&n(o.prototype,"byteLength","get")||function(u){if(e(u)!=="ArrayBuffer")throw new s("ArrayBuffer expected");return u.byteLength}},30736:function(i,d,t){var r=t(34246),n=t(77422),e=t(58360),o=r.ArrayBuffer,s=o&&o.prototype,u=s&&n(s.slice);i.exports=function(l){if(e(l)!==0||!u)return!1;try{return u(l,0,0),!1}catch(v){return!0}}},72058:function(i,d,t){var r=t(72069);i.exports=r(function(){if(typeof ArrayBuffer=="function"){var n=new ArrayBuffer(8);Object.isExtensible(n)&&Object.defineProperty(n,"a",{value:8})}})},83843:function(i,d,t){var r=t(30736),n=TypeError;i.exports=function(e){if(r(e))throw new n("ArrayBuffer is detached");return e}},65006:function(i,d,t){var r=t(34246),n=t(11286),e=t(84756),o=t(9450),s=t(83843),u=t(58360),l=t(63741),v=t(99050),c=r.structuredClone,g=r.ArrayBuffer,y=r.DataView,p=Math.min,m=g.prototype,S=y.prototype,x=n(m.slice),O=e(m,"resizable","get"),P=e(m,"maxByteLength","get"),T=n(S.getInt8),R=n(S.setInt8);i.exports=(v||l)&&function(N,A,C){var D=u(N),$=A===void 0?D:o(A),F=!O||!O(N),L;if(s(N),v&&(N=c(N,{transfer:[N]}),D===$&&(C||F)))return N;if(D>=$&&(!C||F))L=x(N,0,$);else{var G=C&&!F&&P?{maxByteLength:P(N)}:void 0;L=new g($,G);for(var H=new y(N),U=new y(L),B=p($,D),j=0;j>8&255]},Ft=function(st){return[st&255,st>>8&255,st>>16&255,st>>24&255]},Nt=function(st){return st[3]<<24|st[2]<<16|st[1]<<8|st[0]},Bt=function(st){return $t(S(st),23,4)},qt=function(st){return $t(st,52,8)},_t=function(st,dt,_){l(st[H],dt,{configurable:!0,get:function(){return _(this)[dt]}})},Xt=function(st,dt,_,At){var Pt=z(st),It=m(_),St=!!At;if(It+dt>Pt.byteLength)throw new Rt(B);var er=Pt.bytes,or=It+Pt.byteOffset,K=R(er,or,or+dt);return St?K:Vt(K)},Lt=function(st,dt,_,At,Pt,It){var St=z(st),er=m(_),or=At(+Pt),K=!!It;if(er+dt>St.byteLength)throw new Rt(B);for(var et=St.bytes,it=er+St.byteOffset,ot=0;otIt)throw new Rt("Wrong offset");if(At=At===void 0?It-St:p(At),St+At>It)throw new Rt(U);Q(this,{type:G,buffer:dt,byteLength:At,byteOffset:St,bytes:Pt.bytes}),e||(this.buffer=dt,this.byteLength=At,this.byteOffset=St)},lt=gt[H],e&&(_t(k,"byteLength",j),_t(gt,"buffer",z),_t(gt,"byteLength",z),_t(gt,"byteOffset",z)),v(lt,{getInt8:function(dt){return Xt(this,1,dt)[0]<<24>>24},getUint8:function(dt){return Xt(this,1,dt)[0]},getInt16:function(dt){var _=Xt(this,2,dt,arguments.length>1?arguments[1]:!1);return(_[1]<<8|_[0])<<16>>16},getUint16:function(dt){var _=Xt(this,2,dt,arguments.length>1?arguments[1]:!1);return _[1]<<8|_[0]},getInt32:function(dt){return Nt(Xt(this,4,dt,arguments.length>1?arguments[1]:!1))},getUint32:function(dt){return Nt(Xt(this,4,dt,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(dt){return vt(Xt(this,4,dt,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(dt){return vt(Xt(this,8,dt,arguments.length>1?arguments[1]:!1),52)},setInt8:function(dt,_){Lt(this,1,dt,mt,_)},setUint8:function(dt,_){Lt(this,1,dt,mt,_)},setInt16:function(dt,_){Lt(this,2,dt,Mt,_,arguments.length>2?arguments[2]:!1)},setUint16:function(dt,_){Lt(this,2,dt,Mt,_,arguments.length>2?arguments[2]:!1)},setInt32:function(dt,_){Lt(this,4,dt,Ft,_,arguments.length>2?arguments[2]:!1)},setUint32:function(dt,_){Lt(this,4,dt,Ft,_,arguments.length>2?arguments[2]:!1)},setFloat32:function(dt,_){Lt(this,4,dt,Bt,_,arguments.length>2?arguments[2]:!1)},setFloat64:function(dt,_){Lt(this,8,dt,qt,_,arguments.length>2?arguments[2]:!1)}});else{var Jt=$&&X.name!==L;!c(function(){X(1)})||!c(function(){new X(-1)})||c(function(){return new X,new X(1.5),new X(NaN),X.length!==1||Jt&&!F})?(k=function(dt){return g(this,Z),N(new X(m(dt)),this,k)},k[H]=Z,Z.constructor=k,A(k,X)):Jt&&F&&u(X,"name",L),P&&O(lt)!==yt&&P(lt,yt);var Yt=new gt(new k(2)),jt=n(lt.setInt8);Yt.setInt8(0,2147483648),Yt.setInt8(1,2147483649),(Yt.getInt8(0)||!Yt.getInt8(1))&&v(lt,{setInt8:function(dt,_){jt(this,dt,_<<24>>24)},setUint8:function(dt,_){jt(this,dt,_<<24>>24)}},{unsafe:!0})}C(k,L),C(gt,G),i.exports={ArrayBuffer:k,DataView:gt}},81499:function(i,d,t){var r=t(49671),n=t(4652),e=t(82628),o=t(12384),s=Math.min;i.exports=[].copyWithin||function(l,v){var c=r(this),g=e(c),y=n(l,g),p=n(v,g),m=arguments.length>2?arguments[2]:void 0,S=s((m===void 0?g:n(m,g))-p,g-y),x=1;for(p0;)p in c?c[y]=c[p]:o(c,y),y+=x,p+=x;return c}},43011:function(i,d,t){var r=t(49671),n=t(4652),e=t(82628);i.exports=function(s){for(var u=r(this),l=e(u),v=arguments.length,c=n(v>1?arguments[1]:void 0,l),g=v>2?arguments[2]:void 0,y=g===void 0?l:n(g,l);y>c;)u[c++]=s;return u}},13349:function(i,d,t){var r=t(66655).forEach,n=t(6148),e=n("forEach");i.exports=e?[].forEach:function(s){return r(this,s,arguments.length>1?arguments[1]:void 0)}},5220:function(i,d,t){var r=t(82628);i.exports=function(n,e,o){for(var s=0,u=arguments.length>2?o:r(e),l=new n(u);u>s;)l[s]=e[s++];return l}},48258:function(i,d,t){var r=t(45526),n=t(96499),e=t(49671),o=t(39969),s=t(48199),u=t(11051),l=t(82628),v=t(84082),c=t(90619),g=t(81077),y=Array;i.exports=function(m){var S=e(m),x=u(this),O=arguments.length,P=O>1?arguments[1]:void 0,T=P!==void 0;T&&(P=r(P,O>2?arguments[2]:void 0));var R=g(S),N=0,A,C,D,$,F,L;if(R&&!(this===y&&s(R)))for(C=x?new this:[],$=c(S,R),F=$.next;!(D=n(F,$)).done;N++)L=T?o($,P,[D.value,N],!0):D.value,v(C,N,L);else for(A=l(S),C=x?new this(A):y(A);A>N;N++)L=T?P(S[N],N):S[N],v(C,N,L);return C.length=N,C}},94319:function(i,d,t){var r=t(36859),n=t(4652),e=t(82628),o=function(s){return function(u,l,v){var c=r(u),g=e(c);if(g===0)return!s&&-1;var y=n(v,g),p;if(s&&l!==l){for(;g>y;)if(p=c[y++],p!==p)return!0}else for(;g>y;y++)if((s||y in c)&&c[y]===l)return s||y||0;return!s&&-1}};i.exports={includes:o(!0),indexOf:o(!1)}},73849:function(i,d,t){var r=t(45526),n=t(72181),e=t(49671),o=t(82628),s=function(u){var l=u===1;return function(v,c,g){for(var y=e(v),p=n(y),m=o(p),S=r(c,g),x,O;m-- >0;)if(x=p[m],O=S(x,m,y),O)switch(u){case 0:return x;case 1:return m}return l?-1:void 0}};i.exports={findLast:s(0),findLastIndex:s(1)}},66655:function(i,d,t){var r=t(45526),n=t(11286),e=t(72181),o=t(49671),s=t(82628),u=t(62083),l=n([].push),v=function(c){var g=c===1,y=c===2,p=c===3,m=c===4,S=c===6,x=c===7,O=c===5||S;return function(P,T,R,N){for(var A=o(P),C=e(A),D=s(C),$=r(T,R),F=0,L=N||u,G=g?L(P,D):y||x?L(P,0):void 0,H,U;D>F;F++)if((O||F in C)&&(H=C[F],U=$(H,F,A),c))if(g)G[F]=U;else if(U)switch(c){case 3:return!0;case 5:return H;case 6:return F;case 2:l(G,H)}else switch(c){case 4:return!1;case 7:l(G,H)}return S?-1:p||m?m:G}};i.exports={forEach:v(0),map:v(1),filter:v(2),some:v(3),every:v(4),find:v(5),findIndex:v(6),filterReject:v(7)}},58465:function(i,d,t){var r=t(66543),n=t(36859),e=t(12105),o=t(82628),s=t(6148),u=Math.min,l=[].lastIndexOf,v=!!l&&1/[1].lastIndexOf(1,-0)<0,c=s("lastIndexOf"),g=v||!c;i.exports=g?function(p){if(v)return r(l,this,arguments)||0;var m=n(this),S=o(m);if(S===0)return-1;var x=S-1;for(arguments.length>1&&(x=u(x,e(arguments[1]))),x<0&&(x=S+x);x>=0;x--)if(x in m&&m[x]===p)return x||0;return-1}:l},52183:function(i,d,t){var r=t(72069),n=t(18565),e=t(44241),o=n("species");i.exports=function(s){return e>=51||!r(function(){var u=[],l=u.constructor={};return l[o]=function(){return{foo:1}},u[s](Boolean).foo!==1})}},6148:function(i,d,t){var r=t(72069);i.exports=function(n,e){var o=[][n];return!!o&&r(function(){o.call(null,e||function(){return 1},1)})}},97264:function(i,d,t){var r=t(85156),n=t(49671),e=t(72181),o=t(82628),s=TypeError,u="Reduce of empty array with no initial value",l=function(v){return function(c,g,y,p){var m=n(c),S=e(m),x=o(m);if(r(g),x===0&&y<2)throw new s(u);var O=v?x-1:0,P=v?-1:1;if(y<2)for(;;){if(O in S){p=S[O],O+=P;break}if(O+=P,v?O<0:x<=O)throw new s(u)}for(;v?O>=0:x>O;O+=P)O in S&&(p=g(p,S[O],O,m));return p}};i.exports={left:l(!1),right:l(!0)}},2213:function(i,d,t){var r=t(92986),n=t(3438),e=TypeError,o=Object.getOwnPropertyDescriptor,s=r&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(u){return u instanceof TypeError}}();i.exports=s?function(u,l){if(n(u)&&!o(u,"length").writable)throw new e("Cannot set read only .length");return u.length=l}:function(u,l){return u.length=l}},22806:function(i,d,t){var r=t(11286);i.exports=r([].slice)},13270:function(i,d,t){var r=t(22806),n=Math.floor,e=function(o,s){var u=o.length;if(u<8)for(var l=1,v,c;l0;)o[c]=o[--c];c!==l++&&(o[c]=v)}else for(var g=n(u/2),y=e(r(o,0,g),s),p=e(r(o,g),s),m=y.length,S=p.length,x=0,O=0;x=v||g<0)throw new e("Incorrect index");for(var y=new s(v),p=0;p1?arguments[1]:void 0),U;U=U?U.next:G.first;)for(H(U.value,U.key,this);U&&U.removed;)U=U.previous},has:function(L){return!!$(this,L)}}),e(A,T?{get:function(L){var G=$(this,L);return G&&G.value},set:function(L,G){return D(this,L===0?0:L,G)}}:{add:function(L){return D(this,L=L===0?0:L,L)}}),y&&n(A,"size",{configurable:!0,get:function(){return C(this).size}}),N},setStrong:function(O,P,T){var R=P+" Iterator",N=x(P),A=x(R);v(O,P,function(C,D){S(this,{type:R,target:C,state:N(C),kind:D,last:null})},function(){for(var C=A(this),D=C.kind,$=C.last;$&&$.removed;)$=$.previous;return!C.target||!(C.last=$=$?$.next:C.state.first)?(C.target=null,c(void 0,!0)):c(D==="keys"?$.key:D==="values"?$.value:[$.key,$.value],!1)},T?"entries":"values",!T,!0),g(P)}}},94667:function(i,d,t){var r=t(11286),n=t(2725),e=t(31853).getWeakData,o=t(12833),s=t(25001),u=t(5683),l=t(37540),v=t(55902),c=t(66655),g=t(94879),y=t(82367),p=y.set,m=y.getterFor,S=c.find,x=c.findIndex,O=r([].splice),P=0,T=function(A){return A.frozen||(A.frozen=new R)},R=function(){this.entries=[]},N=function(A,C){return S(A.entries,function(D){return D[0]===C})};R.prototype={get:function(A){var C=N(this,A);if(C)return C[1]},has:function(A){return!!N(this,A)},set:function(A,C){var D=N(this,A);D?D[1]=C:this.entries.push([A,C])},delete:function(A){var C=x(this.entries,function(D){return D[0]===A});return~C&&O(this.entries,C,1),!!~C}},i.exports={getConstructor:function(A,C,D,$){var F=A(function(U,B){o(U,L),p(U,{type:C,id:P++,frozen:null}),u(B)||v(B,U[$],{that:U,AS_ENTRIES:D})}),L=F.prototype,G=m(C),H=function(U,B,j){var z=G(U),Q=e(s(B),!0);return Q===!0?T(z).set(B,j):Q[z.id]=j,U};return n(L,{delete:function(U){var B=G(this);if(!l(U))return!1;var j=e(U);return j===!0?T(B).delete(U):j&&g(j,B.id)&&delete j[B.id]},has:function(B){var j=G(this);if(!l(B))return!1;var z=e(B);return z===!0?T(j).has(B):z&&g(z,j.id)}}),n(L,D?{get:function(B){var j=G(this);if(l(B)){var z=e(B);if(z===!0)return T(j).get(B);if(z)return z[j.id]}},set:function(B,j){return H(this,B,j)}}:{add:function(B){return H(this,B,!0)}}),F}}},89378:function(i,d,t){var r=t(14304),n=t(34246),e=t(11286),o=t(13278),s=t(16142),u=t(31853),l=t(55902),v=t(12833),c=t(23583),g=t(5683),y=t(37540),p=t(72069),m=t(97494),S=t(78401),x=t(32345);i.exports=function(O,P,T){var R=O.indexOf("Map")!==-1,N=O.indexOf("Weak")!==-1,A=R?"set":"add",C=n[O],D=C&&C.prototype,$=C,F={},L=function(Q){var X=e(D[Q]);s(D,Q,Q==="add"?function(Z){return X(this,Z===0?0:Z),this}:Q==="delete"?function(k){return N&&!y(k)?!1:X(this,k===0?0:k)}:Q==="get"?function(Z){return N&&!y(Z)?void 0:X(this,Z===0?0:Z)}:Q==="has"?function(Z){return N&&!y(Z)?!1:X(this,Z===0?0:Z)}:function(Z,gt){return X(this,Z===0?0:Z,gt),this})},G=o(O,!c(C)||!(N||D.forEach&&!p(function(){new C().entries().next()})));if(G)$=T.getConstructor(P,O,R,A),u.enable();else if(o(O,!0)){var H=new $,U=H[A](N?{}:-0,1)!==H,B=p(function(){H.has(1)}),j=m(function(Q){new C(Q)}),z=!N&&p(function(){for(var Q=new C,X=5;X--;)Q[A](X,X);return!Q.has(-0)});j||($=P(function(Q,X){v(Q,D);var k=x(new C,Q,$);return g(X)||l(X,k[A],{that:k,AS_ENTRIES:R}),k}),$.prototype=D,D.constructor=$),(B||z)&&(L("delete"),L("has"),R&&L("get")),(z||U)&&L(A),N&&D.clear&&delete D.clear}return F[O]=$,r({global:!0,constructor:!0,forced:$!==C},F),S($,O),N||T.setStrong($,O,R),$}},93706:function(i,d,t){var r=t(94879),n=t(16885),e=t(71349),o=t(7831);i.exports=function(s,u,l){for(var v=n(u),c=o.f,g=e.f,y=0;y"+g+""}},10659:function(i){i.exports=function(d,t){return{value:d,done:t}}},90809:function(i,d,t){var r=t(92986),n=t(7831),e=t(18526);i.exports=r?function(o,s,u){return n.f(o,s,e(1,u))}:function(o,s,u){return o[s]=u,o}},18526:function(i){i.exports=function(d,t){return{enumerable:!(d&1),configurable:!(d&2),writable:!(d&4),value:t}}},84082:function(i,d,t){var r=t(92986),n=t(7831),e=t(18526);i.exports=function(o,s,u){r?n.f(o,s,e(0,u)):o[s]=u}},11890:function(i,d,t){var r=t(11286),n=t(72069),e=t(61607).start,o=RangeError,s=isFinite,u=Math.abs,l=Date.prototype,v=l.toISOString,c=r(l.getTime),g=r(l.getUTCDate),y=r(l.getUTCFullYear),p=r(l.getUTCHours),m=r(l.getUTCMilliseconds),S=r(l.getUTCMinutes),x=r(l.getUTCMonth),O=r(l.getUTCSeconds);i.exports=n(function(){return v.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!n(function(){v.call(new Date(NaN))})?function(){if(!s(c(this)))throw new o("Invalid time value");var T=this,R=y(T),N=m(T),A=R<0?"-":R>9999?"+":"";return A+e(u(R),A?6:4,0)+"-"+e(x(T)+1,2,0)+"-"+e(g(T),2,0)+"T"+e(p(T),2,0)+":"+e(S(T),2,0)+":"+e(O(T),2,0)+"."+e(N,3,0)+"Z"}:v},84306:function(i,d,t){var r=t(25001),n=t(2064),e=TypeError;i.exports=function(o){if(r(this),o==="string"||o==="default")o="string";else if(o!=="number")throw new e("Incorrect hint");return n(this,o)}},85500:function(i,d,t){var r=t(13749),n=t(7831);i.exports=function(e,o,s){return s.get&&r(s.get,o,{getter:!0}),s.set&&r(s.set,o,{setter:!0}),n.f(e,o,s)}},16142:function(i,d,t){var r=t(23583),n=t(7831),e=t(13749),o=t(36003);i.exports=function(s,u,l,v){v||(v={});var c=v.enumerable,g=v.name!==void 0?v.name:u;if(r(l)&&e(l,g,v),v.global)c?s[u]=l:o(u,l);else{try{v.unsafe?s[u]&&(c=!0):delete s[u]}catch(y){}c?s[u]=l:n.f(s,u,{value:l,enumerable:!1,configurable:!v.nonConfigurable,writable:!v.nonWritable})}return s}},2725:function(i,d,t){var r=t(16142);i.exports=function(n,e,o){for(var s in e)r(n,s,e[s],o);return n}},36003:function(i,d,t){var r=t(34246),n=Object.defineProperty;i.exports=function(e,o){try{n(r,e,{value:o,configurable:!0,writable:!0})}catch(s){r[e]=o}return o}},12384:function(i,d,t){var r=t(82453),n=TypeError;i.exports=function(e,o){if(!delete e[o])throw new n("Cannot delete property "+r(o)+" of "+r(e))}},92986:function(i,d,t){var r=t(72069);i.exports=!r(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},63741:function(i,d,t){var r=t(34246),n=t(81191),e=t(99050),o=r.structuredClone,s=r.ArrayBuffer,u=r.MessageChannel,l=!1,v,c,g,y;if(e)l=function(p){o(p,{transfer:[p]})};else if(s)try{u||(v=n("worker_threads"),v&&(u=v.MessageChannel)),u&&(c=new u,g=new s(2),y=function(p){c.port1.postMessage(null,[p])},g.byteLength===2&&(y(g),g.byteLength===0&&(l=y)))}catch(p){}i.exports=l},85501:function(i,d,t){var r=t(34246),n=t(37540),e=r.document,o=n(e)&&n(e.createElement);i.exports=function(s){return o?e.createElement(s):{}}},20095:function(i){var d=TypeError,t=9007199254740991;i.exports=function(r){if(r>t)throw d("Maximum allowed index exceeded");return r}},74408:function(i){i.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},93014:function(i){i.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},39882:function(i,d,t){var r=t(85501),n=r("span").classList,e=n&&n.constructor&&n.constructor.prototype;i.exports=e===Object.prototype?void 0:e},75785:function(i){i.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},507:function(i,d,t){var r=t(18257),n=r.match(/firefox\/(\d+)/i);i.exports=!!n&&+n[1]},17417:function(i,d,t){var r=t(18257);i.exports=/MSIE|Trident/.test(r)},7307:function(i,d,t){var r=t(18257);i.exports=/ipad|iphone|ipod/i.test(r)&&typeof Pebble!="undefined"},5286:function(i,d,t){var r=t(18257);i.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(r)},91707:function(i,d,t){var r=t(21501);i.exports=r==="NODE"},67722:function(i,d,t){var r=t(18257);i.exports=/web0s(?!.*chrome)/i.test(r)},18257:function(i,d,t){var r=t(34246),n=r.navigator,e=n&&n.userAgent;i.exports=e?String(e):""},44241:function(i,d,t){var r=t(34246),n=t(18257),e=r.process,o=r.Deno,s=e&&e.versions||o&&o.version,u=s&&s.v8,l,v;u&&(l=u.split("."),v=l[0]>0&&l[0]<4?1:+(l[0]+l[1])),!v&&n&&(l=n.match(/Edge\/(\d+)/),(!l||l[1]>=74)&&(l=n.match(/Chrome\/(\d+)/),l&&(v=+l[1]))),i.exports=v},66577:function(i,d,t){var r=t(18257),n=r.match(/AppleWebKit\/(\d+)\./);i.exports=!!n&&+n[1]},21501:function(i,d,t){var r=t(34246),n=t(18257),e=t(14274),o=function(s){return n.slice(0,s.length)===s};i.exports=function(){return o("Bun/")?"BUN":o("Cloudflare-Workers")?"CLOUDFLARE":o("Deno/")?"DENO":o("Node.js/")?"NODE":r.Bun&&typeof Bun.version=="string"?"BUN":r.Deno&&typeof Deno.version=="object"?"DENO":e(r.process)==="process"?"NODE":r.window&&r.document?"BROWSER":"REST"}()},40851:function(i,d,t){var r=t(11286),n=Error,e=r("".replace),o=function(l){return String(new n(l).stack)}("zxcasd"),s=/\n\s*at [^:]*:[^\n]*/,u=s.test(o);i.exports=function(l,v){if(u&&typeof l=="string"&&!n.prepareStackTrace)for(;v--;)l=e(l,s,"");return l}},97077:function(i,d,t){var r=t(90809),n=t(40851),e=t(16929),o=Error.captureStackTrace;i.exports=function(s,u,l,v){e&&(o?o(s,u):r(s,"stack",n(l,v)))}},16929:function(i,d,t){var r=t(72069),n=t(18526);i.exports=!r(function(){var e=new Error("a");return"stack"in e?(Object.defineProperty(e,"stack",n(1,7)),e.stack!==7):!0})},58434:function(i,d,t){var r=t(92986),n=t(72069),e=t(25001),o=t(15453),s=Error.prototype.toString,u=n(function(){if(r){var l=Object.create(Object.defineProperty({},"name",{get:function(){return this===l}}));if(s.call(l)!=="true")return!0}return s.call({message:1,name:2})!=="2: 1"||s.call({})!=="Error"});i.exports=u?function(){var v=e(this),c=o(v.name,"Error"),g=o(v.message);return c?g?c+": "+g:c:g}:s},14304:function(i,d,t){var r=t(34246),n=t(71349).f,e=t(90809),o=t(16142),s=t(36003),u=t(93706),l=t(13278);i.exports=function(v,c){var g=v.target,y=v.global,p=v.stat,m,S,x,O,P,T;if(y?S=r:p?S=r[g]||s(g,{}):S=r[g]&&r[g].prototype,S)for(x in c){if(P=c[x],v.dontCallGetSet?(T=n(S,x),O=T&&T.value):O=S[x],m=l(y?x:g+(p?".":"#")+x,v.forced),!m&&O!==void 0){if(typeof P==typeof O)continue;u(P,O)}(v.sham||O&&O.sham)&&e(P,"sham",!0),o(S,x,P,v)}}},72069:function(i){i.exports=function(d){try{return!!d()}catch(t){return!0}}},63194:function(i,d,t){t(31145);var r=t(96499),n=t(16142),e=t(44381),o=t(72069),s=t(18565),u=t(90809),l=s("species"),v=RegExp.prototype;i.exports=function(c,g,y,p){var m=s(c),S=!o(function(){var T={};return T[m]=function(){return 7},""[c](T)!==7}),x=S&&!o(function(){var T=!1,R=/a/;return c==="split"&&(R={},R.constructor={},R.constructor[l]=function(){return R},R.flags="",R[m]=/./[m]),R.exec=function(){return T=!0,null},R[m](""),!T});if(!S||!x||y){var O=/./[m],P=g(m,""[c],function(T,R,N,A,C){var D=R.exec;return D===e||D===v.exec?S&&!C?{done:!0,value:r(O,R,N,A)}:{done:!0,value:r(T,N,R,A)}:{done:!1}});n(String.prototype,c,P[0]),n(v,m,P[1])}p&&u(v[m],"sham",!0)}},53149:function(i,d,t){var r=t(3438),n=t(82628),e=t(20095),o=t(45526),s=function(u,l,v,c,g,y,p,m){for(var S=g,x=0,O=p?o(p,m):!1,P,T;x0&&r(P)?(T=n(P),S=s(u,l,P,T,S,y-1)-1):(e(S+1),u[S]=P),S++),x++;return S};i.exports=s},27534:function(i,d,t){var r=t(72069);i.exports=!r(function(){return Object.isExtensible(Object.preventExtensions({}))})},66543:function(i,d,t){var r=t(87878),n=Function.prototype,e=n.apply,o=n.call;i.exports=typeof Reflect=="object"&&Reflect.apply||(r?o.bind(e):function(){return o.apply(e,arguments)})},45526:function(i,d,t){var r=t(77422),n=t(85156),e=t(87878),o=r(r.bind);i.exports=function(s,u){return n(s),u===void 0?s:e?o(s,u):function(){return s.apply(u,arguments)}}},87878:function(i,d,t){var r=t(72069);i.exports=!r(function(){var n=function(){}.bind();return typeof n!="function"||n.hasOwnProperty("prototype")})},91384:function(i,d,t){var r=t(11286),n=t(85156),e=t(37540),o=t(94879),s=t(22806),u=t(87878),l=Function,v=r([].concat),c=r([].join),g={},y=function(p,m,S){if(!o(g,m)){for(var x=[],O=0;O]*>)/g,v=/\$([$&'`]|\d{1,2})/g;i.exports=function(c,g,y,p,m,S){var x=y+c.length,O=p.length,P=v;return m!==void 0&&(m=n(m),P=l),s(S,P,function(T,R){var N;switch(o(R,0)){case"$":return"$";case"&":return c;case"`":return u(g,0,y);case"'":return u(g,x);case"<":N=m[u(R,1,-1)];break;default:var A=+R;if(A===0)return T;if(A>O){var C=e(A/10);return C===0?T:C<=O?p[C-1]===void 0?o(R,1):p[C-1]+o(R,1):T}N=p[A-1]}return N===void 0?"":N})}},34246:function(i){var d=function(t){return t&&t.Math===Math&&t};i.exports=d(typeof globalThis=="object"&&globalThis)||d(typeof window=="object"&&window)||d(typeof self=="object"&&self)||d(typeof global=="object"&&global)||d(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},94879:function(i,d,t){var r=t(11286),n=t(49671),e=r({}.hasOwnProperty);i.exports=Object.hasOwn||function(s,u){return e(n(s),u)}},19423:function(i){i.exports={}},99095:function(i){i.exports=function(d,t){try{arguments.length===1?console.error(d):console.error(d,t)}catch(r){}}},96439:function(i,d,t){var r=t(38941);i.exports=r("document","documentElement")},52515:function(i,d,t){var r=t(92986),n=t(72069),e=t(85501);i.exports=!r&&!n(function(){return Object.defineProperty(e("div"),"a",{get:function(){return 7}}).a!==7})},25212:function(i){var d=Array,t=Math.abs,r=Math.pow,n=Math.floor,e=Math.log,o=Math.LN2,s=function(l,v,c){var g=d(c),y=c*8-v-1,p=(1<>1,S=v===23?r(2,-24)-r(2,-77):0,x=l<0||l===0&&1/l<0?1:0,O=0,P,T,R;for(l=t(l),l!==l||l===1/0?(T=l!==l?1:0,P=p):(P=n(e(l)/o),R=r(2,-P),l*R<1&&(P--,R*=2),P+m>=1?l+=S/R:l+=S*r(2,1-m),l*R>=2&&(P++,R/=2),P+m>=p?(T=0,P=p):P+m>=1?(T=(l*R-1)*r(2,v),P+=m):(T=l*r(2,m-1)*r(2,v),P=0));v>=8;)g[O++]=T&255,T/=256,v-=8;for(P=P<0;)g[O++]=P&255,P/=256,y-=8;return g[O-1]|=x*128,g},u=function(l,v){var c=l.length,g=c*8-v-1,y=(1<>1,m=g-7,S=c-1,x=l[S--],O=x&127,P;for(x>>=7;m>0;)O=O*256+l[S--],m-=8;for(P=O&(1<<-m)-1,O>>=-m,m+=v;m>0;)P=P*256+l[S--],m-=8;if(O===0)O=1-p;else{if(O===y)return P?NaN:x?-1/0:1/0;P+=r(2,v),O-=p}return(x?-1:1)*P*r(2,O-v)};i.exports={pack:s,unpack:u}},72181:function(i,d,t){var r=t(11286),n=t(72069),e=t(14274),o=Object,s=r("".split);i.exports=n(function(){return!o("z").propertyIsEnumerable(0)})?function(u){return e(u)==="String"?s(u,""):o(u)}:o},32345:function(i,d,t){var r=t(23583),n=t(37540),e=t(15861);i.exports=function(o,s,u){var l,v;return e&&r(l=s.constructor)&&l!==u&&n(v=l.prototype)&&v!==u.prototype&&e(o,v),o}},84352:function(i,d,t){var r=t(11286),n=t(23583),e=t(70443),o=r(Function.toString);n(e.inspectSource)||(e.inspectSource=function(s){return o(s)}),i.exports=e.inspectSource},31486:function(i,d,t){var r=t(37540),n=t(90809);i.exports=function(e,o){r(o)&&"cause"in o&&n(e,"cause",o.cause)}},31853:function(i,d,t){var r=t(14304),n=t(11286),e=t(19423),o=t(37540),s=t(94879),u=t(7831).f,l=t(83258),v=t(92880),c=t(28174),g=t(36374),y=t(27534),p=!1,m=g("meta"),S=0,x=function(A){u(A,m,{value:{objectID:"O"+S++,weakData:{}}})},O=function(A,C){if(!o(A))return typeof A=="symbol"?A:(typeof A=="string"?"S":"P")+A;if(!s(A,m)){if(!c(A))return"F";if(!C)return"E";x(A)}return A[m].objectID},P=function(A,C){if(!s(A,m)){if(!c(A))return!0;if(!C)return!1;x(A)}return A[m].weakData},T=function(A){return y&&p&&c(A)&&!s(A,m)&&x(A),A},R=function(){N.enable=function(){},p=!0;var A=l.f,C=n([].splice),D={};D[m]=1,A(D).length&&(l.f=function($){for(var F=A($),L=0,G=F.length;LF;F++)if(G=j(S[F]),G&&l(m,G))return G;return new p(!1)}D=v(S,$)}for(H=R?S.next:D.next;!(U=n(H,D)).done;){try{G=j(U.value)}catch(z){g(D,"throw",z)}if(typeof G=="object"&&G&&l(m,G))return G}return new p(!1)}},99797:function(i,d,t){var r=t(96499),n=t(25001),e=t(10512);i.exports=function(o,s,u){var l,v;n(o);try{if(l=e(o,"return"),!l){if(s==="throw")throw u;return u}l=r(l,o)}catch(c){v=!0,l=c}if(s==="throw")throw u;if(v)throw l;return n(l),u}},26820:function(i,d,t){var r=t(24519).IteratorPrototype,n=t(5406),e=t(18526),o=t(78401),s=t(29107),u=function(){return this};i.exports=function(l,v,c,g){var y=v+" Iterator";return l.prototype=n(r,{next:e(+!g,c)}),o(l,y,!1,!0),s[y]=u,l}},44736:function(i,d,t){var r=t(96499),n=t(5406),e=t(90809),o=t(2725),s=t(18565),u=t(82367),l=t(10512),v=t(24519).IteratorPrototype,c=t(10659),g=t(99797),y=s("toStringTag"),p="IteratorHelper",m="WrapForValidIterator",S=u.set,x=function(T){var R=u.getterFor(T?m:p);return o(n(v),{next:function(){var A=R(this);if(T)return A.nextHandler();try{var C=A.done?void 0:A.nextHandler();return c(C,A.done)}catch(D){throw A.done=!0,D}},return:function(){var N=R(this),A=N.iterator;if(N.done=!0,T){var C=l(A,"return");return C?r(C,A):c(void 0,!0)}if(N.inner)try{g(N.inner.iterator,"normal")}catch(D){return g(A,"throw",D)}return A&&g(A,"normal"),c(void 0,!0)}})},O=x(!0),P=x(!1);e(P,y,"Iterator Helper"),i.exports=function(T,R){var N=function(C,D){D?(D.iterator=C.iterator,D.next=C.next):D=C,D.type=R?m:p,D.nextHandler=T,D.counter=0,D.done=!1,S(this,D)};return N.prototype=R?O:P,N}},10218:function(i,d,t){var r=t(14304),n=t(96499),e=t(70457),o=t(86588),s=t(23583),u=t(26820),l=t(26313),v=t(15861),c=t(78401),g=t(90809),y=t(16142),p=t(18565),m=t(29107),S=t(24519),x=o.PROPER,O=o.CONFIGURABLE,P=S.IteratorPrototype,T=S.BUGGY_SAFARI_ITERATORS,R=p("iterator"),N="keys",A="values",C="entries",D=function(){return this};i.exports=function($,F,L,G,H,U,B){u(L,F,G);var j=function(Rt){if(Rt===H&&Z)return Z;if(!T&&Rt&&Rt in X)return X[Rt];switch(Rt){case N:return function(){return new L(this,Rt)};case A:return function(){return new L(this,Rt)};case C:return function(){return new L(this,Rt)}}return function(){return new L(this)}},z=F+" Iterator",Q=!1,X=$.prototype,k=X[R]||X["@@iterator"]||H&&X[H],Z=!T&&k||j(H),gt=F==="Array"&&X.entries||k,lt,yt,Ot;if(gt&&(lt=l(gt.call(new $)),lt!==Object.prototype&<.next&&(!e&&l(lt)!==P&&(v?v(lt,P):s(lt[R])||y(lt,R,D)),c(lt,z,!0,!0),e&&(m[z]=D))),x&&H===A&&k&&k.name!==A&&(!e&&O?g(X,"name",A):(Q=!0,Z=function(){return n(k,this)})),H)if(yt={values:j(A),keys:U?Z:j(N),entries:j(C)},B)for(Ot in yt)(T||Q||!(Ot in X))&&y(X,Ot,yt[Ot]);else r({target:F,proto:!0,forced:T||Q},yt);return(!e||B)&&X[R]!==Z&&y(X,R,Z,{name:H}),m[F]=Z,yt}},96191:function(i,d,t){var r=t(96499),n=t(85156),e=t(25001),o=t(10613),s=t(44736),u=t(39969),l=s(function(){var v=this.iterator,c=e(r(this.next,v)),g=this.done=!!c.done;if(!g)return u(v,this.mapper,[c.value,this.counter++],!0)});i.exports=function(c){return e(this),n(c),new l(o(this),{mapper:c})}},24519:function(i,d,t){var r=t(72069),n=t(23583),e=t(37540),o=t(5406),s=t(26313),u=t(16142),l=t(18565),v=t(70457),c=l("iterator"),g=!1,y,p,m;[].keys&&(m=[].keys(),"next"in m?(p=s(s(m)),p!==Object.prototype&&(y=p)):g=!0);var S=!e(y)||r(function(){var x={};return y[c].call(x)!==x});S?y={}:v&&(y=o(y)),n(y[c])||u(y,c,function(){return this}),i.exports={IteratorPrototype:y,BUGGY_SAFARI_ITERATORS:g}},29107:function(i){i.exports={}},82628:function(i,d,t){var r=t(45344);i.exports=function(n){return r(n.length)}},13749:function(i,d,t){var r=t(11286),n=t(72069),e=t(23583),o=t(94879),s=t(92986),u=t(86588).CONFIGURABLE,l=t(84352),v=t(82367),c=v.enforce,g=v.get,y=String,p=Object.defineProperty,m=r("".slice),S=r("".replace),x=r([].join),O=s&&!n(function(){return p(function(){},"length",{value:8}).length!==8}),P=String(String).split("String"),T=i.exports=function(R,N,A){m(y(N),0,7)==="Symbol("&&(N="["+S(y(N),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),A&&A.getter&&(N="get "+N),A&&A.setter&&(N="set "+N),(!o(R,"name")||u&&R.name!==N)&&(s?p(R,"name",{value:N,configurable:!0}):R.name=N),O&&A&&o(A,"arity")&&R.length!==A.arity&&p(R,"length",{value:A.arity});try{A&&o(A,"constructor")&&A.constructor?s&&p(R,"prototype",{writable:!1}):R.prototype&&(R.prototype=void 0)}catch(D){}var C=c(R);return o(C,"source")||(C.source=x(P,typeof N=="string"?N:"")),R};Function.prototype.toString=T(function(){return e(this)&&g(this).source||l(this)},"toString")},1774:function(i,d,t){var r=t(11286),n=Map.prototype;i.exports={Map,set:r(n.set),get:r(n.get),has:r(n.has),remove:r(n.delete),proto:n}},98940:function(i){var d=Math.expm1,t=Math.exp;i.exports=!d||d(10)>22025.465794806718||d(10)<22025.465794806718||d(-2e-17)!==-2e-17?function(n){var e=+n;return e===0?e:e>-1e-6&&e<1e-6?e+e*e/2:t(e)-1}:d},10418:function(i,d,t){var r=t(93976),n=Math.abs,e=2220446049250313e-31,o=1/e,s=function(u){return u+o-o};i.exports=function(u,l,v,c){var g=+u,y=n(g),p=r(g);if(yv||S!==S?p*(1/0):p*S}},93279:function(i,d,t){var r=t(10418),n=11920928955078125e-23,e=34028234663852886e22,o=11754943508222875e-54;i.exports=Math.fround||function(u){return r(u,n,e,o)}},41942:function(i){var d=Math.log,t=Math.LOG10E;i.exports=Math.log10||function(n){return d(n)*t}},49366:function(i){var d=Math.log;i.exports=Math.log1p||function(r){var n=+r;return n>-1e-8&&n<1e-8?n-n*n/2:d(1+n)}},93976:function(i){i.exports=Math.sign||function(t){var r=+t;return r===0||r!==r?r:r<0?-1:1}},22459:function(i){var d=Math.ceil,t=Math.floor;i.exports=Math.trunc||function(n){var e=+n;return(e>0?t:d)(e)}},9709:function(i,d,t){var r=t(34246),n=t(28167),e=t(45526),o=t(23115).set,s=t(76895),u=t(5286),l=t(7307),v=t(67722),c=t(91707),g=r.MutationObserver||r.WebKitMutationObserver,y=r.document,p=r.process,m=r.Promise,S=n("queueMicrotask"),x,O,P,T,R;if(!S){var N=new s,A=function(){var C,D;for(c&&(C=p.domain)&&C.exit();D=N.get();)try{D()}catch($){throw N.head&&x(),$}C&&C.enter()};!u&&!c&&!v&&g&&y?(O=!0,P=y.createTextNode(""),new g(A).observe(P,{characterData:!0}),x=function(){P.data=O=!O}):!l&&m&&m.resolve?(T=m.resolve(void 0),T.constructor=m,R=e(T.then,T),x=function(){R(A)}):c?x=function(){p.nextTick(A)}:(o=e(o,r),x=function(){o(A)}),S=function(C){N.head||x(),N.add(C)}}i.exports=S},24649:function(i,d,t){var r=t(85156),n=TypeError,e=function(o){var s,u;this.promise=new o(function(l,v){if(s!==void 0||u!==void 0)throw new n("Bad Promise constructor");s=l,u=v}),this.resolve=r(s),this.reject=r(u)};i.exports.f=function(o){return new e(o)}},15453:function(i,d,t){var r=t(17361);i.exports=function(n,e){return n===void 0?arguments.length<2?"":e:r(n)}},93483:function(i){var d=RangeError;i.exports=function(t){if(t===t)return t;throw new d("NaN is not allowed")}},92337:function(i,d,t){var r=t(11566),n=TypeError;i.exports=function(e){if(r(e))throw new n("The method doesn't accept regular expressions");return e}},98074:function(i,d,t){var r=t(34246),n=r.isFinite;i.exports=Number.isFinite||function(o){return typeof o=="number"&&n(o)}},25838:function(i,d,t){var r=t(34246),n=t(72069),e=t(11286),o=t(17361),s=t(85900).trim,u=t(77082),l=e("".charAt),v=r.parseFloat,c=r.Symbol,g=c&&c.iterator,y=1/v(u+"-0")!==-1/0||g&&!n(function(){v(Object(g))});i.exports=y?function(m){var S=s(o(m)),x=v(S);return x===0&&l(S,0)==="-"?-0:x}:v},23009:function(i,d,t){var r=t(34246),n=t(72069),e=t(11286),o=t(17361),s=t(85900).trim,u=t(77082),l=r.parseInt,v=r.Symbol,c=v&&v.iterator,g=/^[+-]?0x/i,y=e(g.exec),p=l(u+"08")!==8||l(u+"0x16")!==22||c&&!n(function(){l(Object(c))});i.exports=p?function(S,x){var O=s(o(S));return l(O,x>>>0||(y(g,O)?16:10))}:l},16667:function(i,d,t){var r=t(92986),n=t(11286),e=t(96499),o=t(72069),s=t(18350),u=t(24943),l=t(79591),v=t(49671),c=t(72181),g=Object.assign,y=Object.defineProperty,p=n([].concat);i.exports=!g||o(function(){if(r&&g({b:1},g(y({},"a",{enumerable:!0,get:function(){y(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var m={},S={},x=Symbol("assign detection"),O="abcdefghijklmnopqrst";return m[x]=7,O.split("").forEach(function(P){S[P]=P}),g({},m)[x]!==7||s(g({},S)).join("")!==O})?function(S,x){for(var O=v(S),P=arguments.length,T=1,R=u.f,N=l.f;P>T;)for(var A=c(arguments[T++]),C=R?p(s(A),R(A)):s(A),D=C.length,$=0,F;D>$;)F=C[$++],(!r||e(N,A,F))&&(O[F]=A[F]);return O}:g},5406:function(i,d,t){var r=t(25001),n=t(61963),e=t(75785),o=t(19423),s=t(96439),u=t(85501),l=t(44869),v=">",c="<",g="prototype",y="script",p=l("IE_PROTO"),m=function(){},S=function(R){return c+y+v+R+c+"/"+y+v},x=function(R){R.write(S("")),R.close();var N=R.parentWindow.Object;return R=null,N},O=function(){var R=u("iframe"),N="java"+y+":",A;return R.style.display="none",s.appendChild(R),R.src=String(N),A=R.contentWindow.document,A.open(),A.write(S("document.F=Object")),A.close(),A.F},P,T=function(){try{P=new ActiveXObject("htmlfile")}catch(N){}T=typeof document!="undefined"?document.domain&&P?x(P):O():x(P);for(var R=e.length;R--;)delete T[g][e[R]];return T()};o[p]=!0,i.exports=Object.create||function(N,A){var C;return N!==null?(m[g]=r(N),C=new m,m[g]=null,C[p]=N):C=T(),A===void 0?C:n.f(C,A)}},61963:function(i,d,t){var r=t(92986),n=t(356),e=t(7831),o=t(25001),s=t(36859),u=t(18350);d.f=r&&!n?Object.defineProperties:function(v,c){o(v);for(var g=s(c),y=u(c),p=y.length,m=0,S;p>m;)e.f(v,S=y[m++],g[S]);return v}},7831:function(i,d,t){var r=t(92986),n=t(52515),e=t(356),o=t(25001),s=t(50035),u=TypeError,l=Object.defineProperty,v=Object.getOwnPropertyDescriptor,c="enumerable",g="configurable",y="writable";d.f=r?e?function(m,S,x){if(o(m),S=s(S),o(x),typeof m=="function"&&S==="prototype"&&"value"in x&&y in x&&!x[y]){var O=v(m,S);O&&O[y]&&(m[S]=x.value,x={configurable:g in x?x[g]:O[g],enumerable:c in x?x[c]:O[c],writable:!1})}return l(m,S,x)}:l:function(m,S,x){if(o(m),S=s(S),o(x),n)try{return l(m,S,x)}catch(O){}if("get"in x||"set"in x)throw new u("Accessors not supported");return"value"in x&&(m[S]=x.value),m}},71349:function(i,d,t){var r=t(92986),n=t(96499),e=t(79591),o=t(18526),s=t(36859),u=t(50035),l=t(94879),v=t(52515),c=Object.getOwnPropertyDescriptor;d.f=r?c:function(y,p){if(y=s(y),p=u(p),v)try{return c(y,p)}catch(m){}if(l(y,p))return o(!n(e.f,y,p),y[p])}},92880:function(i,d,t){var r=t(14274),n=t(36859),e=t(83258).f,o=t(22806),s=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(l){try{return e(l)}catch(v){return o(s)}};i.exports.f=function(v){return s&&r(v)==="Window"?u(v):e(n(v))}},83258:function(i,d,t){var r=t(6242),n=t(75785),e=n.concat("length","prototype");d.f=Object.getOwnPropertyNames||function(s){return r(s,e)}},24943:function(i,d){d.f=Object.getOwnPropertySymbols},26313:function(i,d,t){var r=t(94879),n=t(23583),e=t(49671),o=t(44869),s=t(87501),u=o("IE_PROTO"),l=Object,v=l.prototype;i.exports=s?l.getPrototypeOf:function(c){var g=e(c);if(r(g,u))return g[u];var y=g.constructor;return n(y)&&g instanceof y?y.prototype:g instanceof l?v:null}},28174:function(i,d,t){var r=t(72069),n=t(37540),e=t(14274),o=t(72058),s=Object.isExtensible,u=r(function(){s(1)});i.exports=u||o?function(v){return!n(v)||o&&e(v)==="ArrayBuffer"?!1:s?s(v):!0}:s},95307:function(i,d,t){var r=t(11286);i.exports=r({}.isPrototypeOf)},6242:function(i,d,t){var r=t(11286),n=t(94879),e=t(36859),o=t(94319).indexOf,s=t(19423),u=r([].push);i.exports=function(l,v){var c=e(l),g=0,y=[],p;for(p in c)!n(s,p)&&n(c,p)&&u(y,p);for(;v.length>g;)n(c,p=v[g++])&&(~o(y,p)||u(y,p));return y}},18350:function(i,d,t){var r=t(6242),n=t(75785);i.exports=Object.keys||function(o){return r(o,n)}},79591:function(i,d){var t={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,n=r&&!t.call({1:2},1);d.f=n?function(o){var s=r(this,o);return!!s&&s.enumerable}:t},57629:function(i,d,t){var r=t(70457),n=t(34246),e=t(72069),o=t(66577);i.exports=r||!e(function(){if(!(o&&o<535)){var s=Math.random();__defineSetter__.call(null,s,function(){}),delete n[s]}})},15861:function(i,d,t){var r=t(84756),n=t(37540),e=t(2068),o=t(53408);i.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var s=!1,u={},l;try{l=r(Object.prototype,"__proto__","set"),l(u,[]),s=u instanceof Array}catch(v){}return function(c,g){return e(c),o(g),n(c)&&(s?l(c,g):c.__proto__=g),c}}():void 0)},8511:function(i,d,t){var r=t(92986),n=t(72069),e=t(11286),o=t(26313),s=t(18350),u=t(36859),l=t(79591).f,v=e(l),c=e([].push),g=r&&n(function(){var p=Object.create(null);return p[2]=2,!v(p,2)}),y=function(p){return function(m){for(var S=u(m),x=s(S),O=g&&o(S)===null,P=x.length,T=0,R=[],N;P>T;)N=x[T++],(!r||(O?N in S:v(S,N)))&&c(R,p?[N,S[N]]:S[N]);return R}};i.exports={entries:y(!0),values:y(!1)}},60105:function(i,d,t){var r=t(67878),n=t(9205);i.exports=r?{}.toString:function(){return"[object "+n(this)+"]"}},2064:function(i,d,t){var r=t(96499),n=t(23583),e=t(37540),o=TypeError;i.exports=function(s,u){var l,v;if(u==="string"&&n(l=s.toString)&&!e(v=r(l,s))||n(l=s.valueOf)&&!e(v=r(l,s))||u!=="string"&&n(l=s.toString)&&!e(v=r(l,s)))return v;throw new o("Can't convert object to primitive value")}},16885:function(i,d,t){var r=t(38941),n=t(11286),e=t(83258),o=t(24943),s=t(25001),u=n([].concat);i.exports=r("Reflect","ownKeys")||function(v){var c=e.f(s(v)),g=o.f;return g?u(c,g(v)):c}},75081:function(i,d,t){var r=t(34246);i.exports=r},67805:function(i){i.exports=function(d){try{return{error:!1,value:d()}}catch(t){return{error:!0,value:t}}}},37130:function(i,d,t){var r=t(34246),n=t(98844),e=t(23583),o=t(13278),s=t(84352),u=t(18565),l=t(21501),v=t(70457),c=t(44241),g=n&&n.prototype,y=u("species"),p=!1,m=e(r.PromiseRejectionEvent),S=o("Promise",function(){var x=s(n),O=x!==String(n);if(!O&&c===66||v&&!(g.catch&&g.finally))return!0;if(!c||c<51||!/native code/.test(x)){var P=new n(function(N){N(1)}),T=function(N){N(function(){},function(){})},R=P.constructor={};if(R[y]=T,p=P.then(function(){})instanceof T,!p)return!0}return!O&&(l==="BROWSER"||l==="DENO")&&!m});i.exports={CONSTRUCTOR:S,REJECTION_EVENT:m,SUBCLASSING:p}},98844:function(i,d,t){var r=t(34246);i.exports=r.Promise},87408:function(i,d,t){var r=t(25001),n=t(37540),e=t(24649);i.exports=function(o,s){if(r(o),n(s)&&s.constructor===o)return s;var u=e.f(o),l=u.resolve;return l(s),u.promise}},26035:function(i,d,t){var r=t(98844),n=t(97494),e=t(37130).CONSTRUCTOR;i.exports=e||!n(function(o){r.all(o).then(void 0,function(){})})},2594:function(i,d,t){var r=t(7831).f;i.exports=function(n,e,o){o in n||r(n,o,{configurable:!0,get:function(){return e[o]},set:function(s){e[o]=s}})}},76895:function(i){var d=function(){this.head=null,this.tail=null};d.prototype={add:function(t){var r={item:t,next:null},n=this.tail;n?n.next=r:this.head=r,this.tail=r},get:function(){var t=this.head;if(t){var r=this.head=t.next;return r===null&&(this.tail=null),t.item}}},i.exports=d},33064:function(i,d,t){var r=t(96499),n=t(25001),e=t(23583),o=t(14274),s=t(44381),u=TypeError;i.exports=function(l,v){var c=l.exec;if(e(c)){var g=r(c,l,v);return g!==null&&n(g),g}if(o(l)==="RegExp")return r(s,l,v);throw new u("RegExp#exec called on incompatible receiver")}},44381:function(i,d,t){var r=t(96499),n=t(11286),e=t(17361),o=t(29833),s=t(39807),u=t(96731),l=t(5406),v=t(82367).get,c=t(76769),g=t(85220),y=u("native-string-replace",String.prototype.replace),p=RegExp.prototype.exec,m=p,S=n("".charAt),x=n("".indexOf),O=n("".replace),P=n("".slice),T=function(){var C=/a/,D=/b*/g;return r(p,C,"a"),r(p,D,"a"),C.lastIndex!==0||D.lastIndex!==0}(),R=s.BROKEN_CARET,N=/()??/.exec("")[1]!==void 0,A=T||N||R||c||g;A&&(m=function(D){var $=this,F=v($),L=e(D),G=F.raw,H,U,B,j,z,Q,X;if(G)return G.lastIndex=$.lastIndex,H=r(m,G,L),$.lastIndex=G.lastIndex,H;var k=F.groups,Z=R&&$.sticky,gt=r(o,$),lt=$.source,yt=0,Ot=L;if(Z&&(gt=O(gt,"y",""),x(gt,"g")===-1&&(gt+="g"),Ot=P(L,$.lastIndex),$.lastIndex>0&&(!$.multiline||$.multiline&&S(L,$.lastIndex-1)!==` `)&&(lt="(?: "+lt+")",Ot=" "+Ot,yt++),U=new RegExp("^(?:"+lt+")",gt)),N&&(U=new RegExp("^"+lt+"$(?!\\s)",gt)),T&&(B=$.lastIndex),j=r(p,Z?U:$,Ot),Z?j?(j.input=P(j.input,yt),j[0]=P(j[0],yt),j.index=$.lastIndex,$.lastIndex+=j[0].length):$.lastIndex=0:T&&j&&($.lastIndex=$.global?j.index+j[0].length:B),N&&j&&j.length>1&&r(y,j[0],U,function(){for(z=1;zb)","g");return o.exec("b").groups.a!=="b"||"b".replace(o,"$c")!=="bc"})},2068:function(i,d,t){var r=t(5683),n=TypeError;i.exports=function(e){if(r(e))throw new n("Can't call method on "+e);return e}},28167:function(i,d,t){var r=t(34246),n=t(92986),e=Object.getOwnPropertyDescriptor;i.exports=function(o){if(!n)return r[o];var s=e(r,o);return s&&s.value}},13944:function(i){i.exports=Object.is||function(t,r){return t===r?t!==0||1/t===1/r:t!==t&&r!==r}},9934:function(i,d,t){var r=t(34246),n=t(66543),e=t(23583),o=t(21501),s=t(18257),u=t(22806),l=t(95486),v=r.Function,c=/MSIE .\./.test(s)||o==="BUN"&&function(){var g=r.Bun.version.split(".");return g.length<3||g[0]==="0"&&(g[1]<3||g[1]==="3"&&g[2]==="0")}();i.exports=function(g,y){var p=y?2:1;return c?function(m,S){var x=l(arguments.length,1)>p,O=e(m)?m:v(m),P=x?u(arguments,p):[],T=x?function(){n(O,this,P)}:O;return y?g(T,S):g(T)}:g}},48348:function(i,d,t){var r=t(172),n=t(35051),e=r.Set,o=r.add;i.exports=function(s){var u=new e;return n(s,function(l){o(u,l)}),u}},41754:function(i,d,t){var r=t(76602),n=t(172),e=t(48348),o=t(17768),s=t(65263),u=t(35051),l=t(9573),v=n.has,c=n.remove;i.exports=function(y){var p=r(this),m=s(y),S=e(p);return o(p)<=m.size?u(p,function(x){m.includes(x)&&c(S,x)}):l(m.getIterator(),function(x){v(p,x)&&c(S,x)}),S}},172:function(i,d,t){var r=t(11286),n=Set.prototype;i.exports={Set,add:r(n.add),has:r(n.has),remove:r(n.delete),proto:n}},92292:function(i,d,t){var r=t(76602),n=t(172),e=t(17768),o=t(65263),s=t(35051),u=t(9573),l=n.Set,v=n.add,c=n.has;i.exports=function(y){var p=r(this),m=o(y),S=new l;return e(p)>m.size?u(m.getIterator(),function(x){c(p,x)&&v(S,x)}):s(p,function(x){m.includes(x)&&v(S,x)}),S}},47391:function(i,d,t){var r=t(76602),n=t(172).has,e=t(17768),o=t(65263),s=t(35051),u=t(9573),l=t(99797);i.exports=function(c){var g=r(this),y=o(c);if(e(g)<=y.size)return s(g,function(m){if(y.includes(m))return!1},!0)!==!1;var p=y.getIterator();return u(p,function(m){if(n(g,m))return l(p,"normal",!1)})!==!1}},75492:function(i,d,t){var r=t(76602),n=t(17768),e=t(35051),o=t(65263);i.exports=function(u){var l=r(this),v=o(u);return n(l)>v.size?!1:e(l,function(c){if(!v.includes(c))return!1},!0)!==!1}},1333:function(i,d,t){var r=t(76602),n=t(172).has,e=t(17768),o=t(65263),s=t(9573),u=t(99797);i.exports=function(v){var c=r(this),g=o(v);if(e(c)3})}},22149:function(i,d,t){var r=t(11286),n=t(12105),e=t(17361),o=t(2068),s=r("".charAt),u=r("".charCodeAt),l=r("".slice),v=function(c){return function(g,y){var p=e(o(g)),m=n(y),S=p.length,x,O;return m<0||m>=S?c?"":void 0:(x=u(p,m),x<55296||x>56319||m+1===S||(O=u(p,m+1))<56320||O>57343?c?s(p,m):x:c?l(p,m,m+2):(x-55296<<10)+(O-56320)+65536)}};i.exports={codeAt:v(!1),charAt:v(!0)}},36945:function(i,d,t){var r=t(18257);i.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(r)},61607:function(i,d,t){var r=t(11286),n=t(45344),e=t(17361),o=t(79719),s=t(2068),u=r(o),l=r("".slice),v=Math.ceil,c=function(g){return function(y,p,m){var S=e(s(y)),x=n(p),O=S.length,P=m===void 0?" ":e(m),T,R;return x<=O||P===""?S:(T=x-O,R=u(P,v(T/P.length)),R.length>T&&(R=l(R,0,T)),g?S+R:R+S)}};i.exports={start:c(!1),end:c(!0)}},38679:function(i,d,t){var r=t(11286),n=2147483647,e=36,o=1,s=26,u=38,l=700,v=72,c=128,g="-",y=/[^\0-\u007E]/,p=/[.\u3002\uFF0E\uFF61]/g,m="Overflow: input needs wider integers to process",S=e-o,x=RangeError,O=r(p.exec),P=Math.floor,T=String.fromCharCode,R=r("".charCodeAt),N=r([].join),A=r([].push),C=r("".replace),D=r("".split),$=r("".toLowerCase),F=function(U){for(var B=[],j=0,z=U.length;j=55296&&Q<=56319&&j>1,U+=P(U/B);U>S*s>>1;)U=P(U/S),z+=e;return P(z+(S+1)*U/(U+u))},H=function(U){var B=[];U=F(U);var j=U.length,z=c,Q=0,X=v,k,Z;for(k=0;k=z&&ZP((n-Q)/Ot))throw new x(m);for(Q+=(yt-z)*Ot,z=yt,k=0;kn)throw new x(m);if(Z===z){for(var Rt=Q,Wt=e;;){var Vt=Wt<=X?o:Wt>=X+s?s:Wt-X;if(Rt0;(c>>>=1)&&(l+=l))c&1&&(v+=l);return v}},75176:function(i,d,t){var r=t(85900).end,n=t(33328);i.exports=n("trimEnd")?function(){return r(this)}:"".trimEnd},33328:function(i,d,t){var r=t(86588).PROPER,n=t(72069),e=t(77082),o="\u200B\x85\u180E";i.exports=function(s){return n(function(){return!!e[s]()||o[s]()!==o||r&&e[s].name!==s})}},83481:function(i,d,t){var r=t(85900).start,n=t(33328);i.exports=n("trimStart")?function(){return r(this)}:"".trimStart},85900:function(i,d,t){var r=t(11286),n=t(2068),e=t(17361),o=t(77082),s=r("".replace),u=RegExp("^["+o+"]+"),l=RegExp("(^|[^"+o+"])["+o+"]+$"),v=function(c){return function(g){var y=e(n(g));return c&1&&(y=s(y,u,"")),c&2&&(y=s(y,l,"$1")),y}};i.exports={start:v(1),end:v(2),trim:v(3)}},99050:function(i,d,t){var r=t(34246),n=t(72069),e=t(44241),o=t(21501),s=r.structuredClone;i.exports=!!s&&!n(function(){if(o==="DENO"&&e>92||o==="NODE"&&e>94||o==="BROWSER"&&e>97)return!1;var u=new ArrayBuffer(8),l=s(u,{transfer:[u]});return u.byteLength!==0||l.byteLength!==8})},39729:function(i,d,t){var r=t(44241),n=t(72069),e=t(34246),o=e.String;i.exports=!!Object.getOwnPropertySymbols&&!n(function(){var s=Symbol("symbol detection");return!o(s)||!(Object(s)instanceof Symbol)||!Symbol.sham&&r&&r<41})},60796:function(i,d,t){var r=t(96499),n=t(38941),e=t(18565),o=t(16142);i.exports=function(){var s=n("Symbol"),u=s&&s.prototype,l=u&&u.valueOf,v=e("toPrimitive");u&&!u[v]&&o(u,v,function(c){return r(l,this)},{arity:1})}},61190:function(i,d,t){var r=t(39729);i.exports=r&&!!Symbol.for&&!!Symbol.keyFor},23115:function(i,d,t){var r=t(34246),n=t(66543),e=t(45526),o=t(23583),s=t(94879),u=t(72069),l=t(96439),v=t(22806),c=t(85501),g=t(95486),y=t(5286),p=t(91707),m=r.setImmediate,S=r.clearImmediate,x=r.process,O=r.Dispatch,P=r.Function,T=r.MessageChannel,R=r.String,N=0,A={},C="onreadystatechange",D,$,F,L;u(function(){D=r.location});var G=function(j){if(s(A,j)){var z=A[j];delete A[j],z()}},H=function(j){return function(){G(j)}},U=function(j){G(j.data)},B=function(j){r.postMessage(R(j),D.protocol+"//"+D.host)};(!m||!S)&&(m=function(z){g(arguments.length,1);var Q=o(z)?z:P(z),X=v(arguments,1);return A[++N]=function(){n(Q,void 0,X)},$(N),N},S=function(z){delete A[z]},p?$=function(j){x.nextTick(H(j))}:O&&O.now?$=function(j){O.now(H(j))}:T&&!y?(F=new T,L=F.port2,F.port1.onmessage=U,$=e(L.postMessage,L)):r.addEventListener&&o(r.postMessage)&&!r.importScripts&&D&&D.protocol!=="file:"&&!u(B)?($=B,r.addEventListener("message",U,!1)):C in c("script")?$=function(j){l.appendChild(c("script"))[C]=function(){l.removeChild(this),G(j)}}:$=function(j){setTimeout(H(j),0)}),i.exports={set:m,clear:S}},34338:function(i,d,t){var r=t(11286);i.exports=r(1 .valueOf)},4652:function(i,d,t){var r=t(12105),n=Math.max,e=Math.min;i.exports=function(o,s){var u=r(o);return u<0?n(u+s,0):e(u,s)}},11344:function(i,d,t){var r=t(89935),n=TypeError;i.exports=function(e){var o=r(e,"number");if(typeof o=="number")throw new n("Can't convert number to bigint");return BigInt(o)}},9450:function(i,d,t){var r=t(12105),n=t(45344),e=RangeError;i.exports=function(o){if(o===void 0)return 0;var s=r(o),u=n(s);if(s!==u)throw new e("Wrong length or index");return u}},36859:function(i,d,t){var r=t(72181),n=t(2068);i.exports=function(e){return r(n(e))}},12105:function(i,d,t){var r=t(22459);i.exports=function(n){var e=+n;return e!==e||e===0?0:r(e)}},45344:function(i,d,t){var r=t(12105),n=Math.min;i.exports=function(e){var o=r(e);return o>0?n(o,9007199254740991):0}},49671:function(i,d,t){var r=t(2068),n=Object;i.exports=function(e){return n(r(e))}},58143:function(i,d,t){var r=t(98072),n=RangeError;i.exports=function(e,o){var s=r(e);if(s%o)throw new n("Wrong offset");return s}},98072:function(i,d,t){var r=t(12105),n=RangeError;i.exports=function(e){var o=r(e);if(o<0)throw new n("The argument can't be less than 0");return o}},89935:function(i,d,t){var r=t(96499),n=t(37540),e=t(491),o=t(10512),s=t(2064),u=t(18565),l=TypeError,v=u("toPrimitive");i.exports=function(c,g){if(!n(c)||e(c))return c;var y=o(c,v),p;if(y){if(g===void 0&&(g="default"),p=r(y,c,g),!n(p)||e(p))return p;throw new l("Can't convert object to primitive value")}return g===void 0&&(g="number"),s(c,g)}},50035:function(i,d,t){var r=t(89935),n=t(491);i.exports=function(e){var o=r(e,"string");return n(o)?o:o+""}},67878:function(i,d,t){var r=t(18565),n=r("toStringTag"),e={};e[n]="z",i.exports=String(e)==="[object z]"},17361:function(i,d,t){var r=t(9205),n=String;i.exports=function(e){if(r(e)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return n(e)}},76517:function(i){var d=Math.round;i.exports=function(t){var r=d(t);return r<0?0:r>255?255:r&255}},82453:function(i){var d=String;i.exports=function(t){try{return d(t)}catch(r){return"Object"}}},80357:function(i,d,t){var r=t(14304),n=t(34246),e=t(96499),o=t(92986),s=t(46868),u=t(88037),l=t(17468),v=t(12833),c=t(18526),g=t(90809),y=t(613),p=t(45344),m=t(9450),S=t(58143),x=t(76517),O=t(50035),P=t(94879),T=t(9205),R=t(37540),N=t(491),A=t(5406),C=t(95307),D=t(15861),$=t(83258).f,F=t(66169),L=t(66655).forEach,G=t(36167),H=t(85500),U=t(7831),B=t(71349),j=t(5220),z=t(82367),Q=t(32345),X=z.get,k=z.set,Z=z.enforce,gt=U.f,lt=B.f,yt=n.RangeError,Ot=l.ArrayBuffer,Rt=Ot.prototype,Wt=l.DataView,Vt=u.NATIVE_ARRAY_BUFFER_VIEWS,$t=u.TYPED_ARRAY_TAG,vt=u.TypedArray,mt=u.TypedArrayPrototype,Mt=u.isTypedArray,Ft="BYTES_PER_ELEMENT",Nt="Wrong length",Bt=function(Jt,Yt){H(Jt,Yt,{configurable:!0,get:function(){return X(this)[Yt]}})},qt=function(Jt){var Yt;return C(Rt,Jt)||(Yt=T(Jt))==="ArrayBuffer"||Yt==="SharedArrayBuffer"},_t=function(Jt,Yt){return Mt(Jt)&&!N(Yt)&&Yt in Jt&&y(+Yt)&&Yt>=0},Xt=function(Yt,jt){return jt=O(jt),_t(Yt,jt)?c(2,Yt[jt]):lt(Yt,jt)},Lt=function(Yt,jt,st){return jt=O(jt),_t(Yt,jt)&&R(st)&&P(st,"value")&&!P(st,"get")&&!P(st,"set")&&!st.configurable&&(!P(st,"writable")||st.writable)&&(!P(st,"enumerable")||st.enumerable)?(Yt[jt]=st.value,Yt):gt(Yt,jt,st)};o?(Vt||(B.f=Xt,U.f=Lt,Bt(mt,"buffer"),Bt(mt,"byteOffset"),Bt(mt,"byteLength"),Bt(mt,"length")),r({target:"Object",stat:!0,forced:!Vt},{getOwnPropertyDescriptor:Xt,defineProperty:Lt}),i.exports=function(Jt,Yt,jt){var st=Jt.match(/\d+/)[0]/8,dt=Jt+(jt?"Clamped":"")+"Array",_="get"+Jt,At="set"+Jt,Pt=n[dt],It=Pt,St=It&&It.prototype,er={},or=function(ot,ct){var rt=X(ot);return rt.view[_](ct*st+rt.byteOffset,!0)},K=function(ot,ct,rt){var Dt=X(ot);Dt.view[At](ct*st+Dt.byteOffset,jt?x(rt):rt,!0)},et=function(ot,ct){gt(ot,ct,{get:function(){return or(this,ct)},set:function(rt){return K(this,ct,rt)},enumerable:!0})};Vt?s&&(It=Yt(function(ot,ct,rt,Dt){return v(ot,St),Q(function(){return R(ct)?qt(ct)?Dt!==void 0?new Pt(ct,S(rt,st),Dt):rt!==void 0?new Pt(ct,S(rt,st)):new Pt(ct):Mt(ct)?j(It,ct):e(F,It,ct):new Pt(m(ct))}(),ot,It)}),D&&D(It,vt),L($(Pt),function(ot){ot in It||g(It,ot,Pt[ot])}),It.prototype=St):(It=Yt(function(ot,ct,rt,Dt){v(ot,St);var kt=0,nt=0,ht,pt,xt;if(!R(ct))xt=m(ct),pt=xt*st,ht=new Ot(pt);else if(qt(ct)){ht=ct,nt=S(rt,st);var Ut=ct.byteLength;if(Dt===void 0){if(Ut%st)throw new yt(Nt);if(pt=Ut-nt,pt<0)throw new yt(Nt)}else if(pt=p(Dt)*st,pt+nt>Ut)throw new yt(Nt);xt=pt/st}else return Mt(ct)?j(It,ct):e(F,It,ct);for(k(ot,{buffer:ht,byteOffset:nt,byteLength:pt,length:xt,view:new Wt(ht)});kt1?arguments[1]:void 0,T=P!==void 0,R=l(x),N,A,C,D,$,F,L,G;if(R&&!v(R))for(L=u(x,R),G=L.next,x=[];!(F=n(G,L)).done;)x.push(F.value);for(T&&O>2&&(P=r(P,arguments[2])),A=s(x),C=new(g(S))(A),D=c(C),N=0;A>N;N++)$=T?P(x[N],N):x[N],C[N]=D?y($):+$;return C}},36374:function(i,d,t){var r=t(11286),n=0,e=Math.random(),o=r(1 .toString);i.exports=function(s){return"Symbol("+(s===void 0?"":s)+")_"+o(++n+e,36)}},91918:function(i,d,t){var r=t(72069),n=t(18565),e=t(92986),o=t(70457),s=n("iterator");i.exports=!r(function(){var u=new URL("b?a=1&b=2&c=3","https://a"),l=u.searchParams,v=new URLSearchParams("a=1&a=2&b=3"),c="";return u.pathname="c%20d",l.forEach(function(g,y){l.delete("b"),c+=y+g}),v.delete("a",2),v.delete("b",void 0),o&&(!u.toJSON||!v.has("a",1)||v.has("a",2)||!v.has("a",void 0)||v.has("b"))||!l.size&&(o||!e)||!l.sort||u.href!=="https://a/c%20d?a=1&c=3"||l.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!l[s]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("https://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("https://a#\u0431").hash!=="#%D0%B1"||c!=="a1c3"||new URL("https://x",void 0).host!=="x"})},50234:function(i,d,t){var r=t(39729);i.exports=r&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},356:function(i,d,t){var r=t(92986),n=t(72069);i.exports=r&&n(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},95486:function(i){var d=TypeError;i.exports=function(t,r){if(tR&&g(U,arguments[R]),U});if(F.prototype=D,A!=="Error"?s?s(F,$):u(F,$,{name:!0}):p&&T in C&&(l(F,C,T),l(F,C,"prepareStackTrace")),u(F,C),!m)try{D.name!==A&&e(D,"name",A),D.constructor=F}catch(L){}return F}}},27796:function(i,d,t){var r=t(14304),n=t(38941),e=t(66543),o=t(72069),s=t(70003),u="AggregateError",l=n(u),v=!o(function(){return l([1]).errors[0]!==1})&&o(function(){return l([1],u,{cause:7}).cause!==7});r({global:!0,constructor:!0,arity:2,forced:v},{AggregateError:s(u,function(c){return function(y,p){return e(c,this,arguments)}},v,!0)})},85647:function(i,d,t){var r=t(14304),n=t(95307),e=t(26313),o=t(15861),s=t(93706),u=t(5406),l=t(90809),v=t(18526),c=t(31486),g=t(97077),y=t(55902),p=t(15453),m=t(18565),S=m("toStringTag"),x=Error,O=[].push,P=function(N,A){var C=n(T,this),D;o?D=o(new x,C?e(this):T):(D=C?this:u(T),l(D,S,"Error")),A!==void 0&&l(D,"message",p(A)),g(D,P,D.stack,1),arguments.length>2&&c(D,arguments[2]);var $=[];return y(N,O,{that:$}),l(D,"errors",$),D};o?o(P,x):s(P,x,{name:!0});var T=P.prototype=u(x.prototype,{constructor:v(1,P),message:v(1,""),name:v(1,"AggregateError")});r({global:!0,constructor:!0,arity:2},{AggregateError:P})},42861:function(i,d,t){t(85647)},35473:function(i,d,t){var r=t(14304),n=t(34246),e=t(17468),o=t(36167),s="ArrayBuffer",u=e[s],l=n[s];r({global:!0,constructor:!0,forced:l!==u},{ArrayBuffer:u}),o(s)},35495:function(i,d,t){var r=t(92986),n=t(85500),e=t(30736),o=ArrayBuffer.prototype;r&&!("detached"in o)&&n(o,"detached",{configurable:!0,get:function(){return e(this)}})},4983:function(i,d,t){var r=t(14304),n=t(88037),e=n.NATIVE_ARRAY_BUFFER_VIEWS;r({target:"ArrayBuffer",stat:!0,forced:!e},{isView:n.isView})},6875:function(i,d,t){var r=t(14304),n=t(77422),e=t(72069),o=t(17468),s=t(25001),u=t(4652),l=t(45344),v=o.ArrayBuffer,c=o.DataView,g=c.prototype,y=n(v.prototype.slice),p=n(g.getUint8),m=n(g.setUint8),S=e(function(){return!new v(2).slice(1,void 0).byteLength});r({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:S},{slice:function(O,P){if(y&&P===void 0)return y(s(this),O);for(var T=s(this).byteLength,R=u(O,T),N=u(P===void 0?T:P,T),A=new v(l(N-R)),C=new c(this),D=new c(A),$=0;R=0?g:c+g;return y<0||y>=c?void 0:v[y]}}),s("at")},98700:function(i,d,t){var r=t(14304),n=t(72069),e=t(3438),o=t(37540),s=t(49671),u=t(82628),l=t(20095),v=t(84082),c=t(62083),g=t(52183),y=t(18565),p=t(44241),m=y("isConcatSpreadable"),S=p>=51||!n(function(){var P=[];return P[m]=!1,P.concat()[0]!==P}),x=function(P){if(!o(P))return!1;var T=P[m];return T!==void 0?!!T:e(P)},O=!S||!g("concat");r({target:"Array",proto:!0,arity:1,forced:O},{concat:function(T){var R=s(this),N=c(R,0),A=0,C,D,$,F,L;for(C=-1,$=arguments.length;C<$;C++)if(L=C===-1?R:arguments[C],x(L))for(F=u(L),l(A+F),D=0;D1?arguments[1]:void 0)}})},41585:function(i,d,t){var r=t(14304),n=t(43011),e=t(23811);r({target:"Array",proto:!0},{fill:n}),e("fill")},84554:function(i,d,t){var r=t(14304),n=t(66655).filter,e=t(52183),o=e("filter");r({target:"Array",proto:!0,forced:!o},{filter:function(u){return n(this,u,arguments.length>1?arguments[1]:void 0)}})},33818:function(i,d,t){var r=t(14304),n=t(66655).findIndex,e=t(23811),o="findIndex",s=!0;o in[]&&Array(1)[o](function(){s=!1}),r({target:"Array",proto:!0,forced:s},{findIndex:function(l){return n(this,l,arguments.length>1?arguments[1]:void 0)}}),e(o)},2209:function(i,d,t){var r=t(14304),n=t(73849).findLastIndex,e=t(23811);r({target:"Array",proto:!0},{findLastIndex:function(s){return n(this,s,arguments.length>1?arguments[1]:void 0)}}),e("findLastIndex")},64096:function(i,d,t){var r=t(14304),n=t(73849).findLast,e=t(23811);r({target:"Array",proto:!0},{findLast:function(s){return n(this,s,arguments.length>1?arguments[1]:void 0)}}),e("findLast")},36619:function(i,d,t){var r=t(14304),n=t(66655).find,e=t(23811),o="find",s=!0;o in[]&&Array(1)[o](function(){s=!1}),r({target:"Array",proto:!0,forced:s},{find:function(l){return n(this,l,arguments.length>1?arguments[1]:void 0)}}),e(o)},74092:function(i,d,t){var r=t(14304),n=t(53149),e=t(85156),o=t(49671),s=t(82628),u=t(62083);r({target:"Array",proto:!0},{flatMap:function(v){var c=o(this),g=s(c),y;return e(v),y=u(c,0),y.length=n(y,c,c,g,0,1,v,arguments.length>1?arguments[1]:void 0),y}})},91591:function(i,d,t){var r=t(14304),n=t(53149),e=t(49671),o=t(82628),s=t(12105),u=t(62083);r({target:"Array",proto:!0},{flat:function(){var v=arguments.length?arguments[0]:void 0,c=e(this),g=o(c),y=u(c,0);return y.length=n(y,c,c,g,0,v===void 0?1:s(v)),y}})},54703:function(i,d,t){var r=t(14304),n=t(13349);r({target:"Array",proto:!0,forced:[].forEach!==n},{forEach:n})},82936:function(i,d,t){var r=t(14304),n=t(48258),e=t(97494),o=!e(function(s){Array.from(s)});r({target:"Array",stat:!0,forced:o},{from:n})},48493:function(i,d,t){var r=t(14304),n=t(94319).includes,e=t(72069),o=t(23811),s=e(function(){return!Array(1).includes()});r({target:"Array",proto:!0,forced:s},{includes:function(l){return n(this,l,arguments.length>1?arguments[1]:void 0)}}),o("includes")},64730:function(i,d,t){var r=t(14304),n=t(77422),e=t(94319).indexOf,o=t(6148),s=n([].indexOf),u=!!s&&1/s([1],1,-0)<0,l=u||!o("indexOf");r({target:"Array",proto:!0,forced:l},{indexOf:function(c){var g=arguments.length>1?arguments[1]:void 0;return u?s(this,c,g)||0:e(this,c,g)}})},95024:function(i,d,t){var r=t(14304),n=t(3438);r({target:"Array",stat:!0},{isArray:n})},35054:function(i,d,t){var r=t(36859),n=t(23811),e=t(29107),o=t(82367),s=t(7831).f,u=t(10218),l=t(10659),v=t(70457),c=t(92986),g="Array Iterator",y=o.set,p=o.getterFor(g);i.exports=u(Array,"Array",function(S,x){y(this,{type:g,target:r(S),index:0,kind:x})},function(){var S=p(this),x=S.target,O=S.index++;if(!x||O>=x.length)return S.target=null,l(void 0,!0);switch(S.kind){case"keys":return l(O,!1);case"values":return l(x[O],!1)}return l([O,x[O]],!1)},"values");var m=e.Arguments=e.Array;if(n("keys"),n("values"),n("entries"),!v&&c&&m.name!=="values")try{s(m,"name",{value:"values"})}catch(S){}},25460:function(i,d,t){var r=t(14304),n=t(11286),e=t(72181),o=t(36859),s=t(6148),u=n([].join),l=e!==Object,v=l||!s("join",",");r({target:"Array",proto:!0,forced:v},{join:function(g){return u(o(this),g===void 0?",":g)}})},60703:function(i,d,t){var r=t(14304),n=t(58465);r({target:"Array",proto:!0,forced:n!==[].lastIndexOf},{lastIndexOf:n})},90468:function(i,d,t){var r=t(14304),n=t(66655).map,e=t(52183),o=e("map");r({target:"Array",proto:!0,forced:!o},{map:function(u){return n(this,u,arguments.length>1?arguments[1]:void 0)}})},69581:function(i,d,t){var r=t(14304),n=t(72069),e=t(11051),o=t(84082),s=Array,u=n(function(){function l(){}return!(s.of.call(l)instanceof l)});r({target:"Array",stat:!0,forced:u},{of:function(){for(var v=0,c=arguments.length,g=new(e(this)?this:s)(c);c>v;)o(g,v,arguments[v++]);return g.length=c,g}})},720:function(i,d,t){var r=t(14304),n=t(49671),e=t(82628),o=t(2213),s=t(20095),u=t(72069),l=u(function(){return[].push.call({length:4294967296},1)!==4294967297}),v=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(g){return g instanceof TypeError}},c=l||!v();r({target:"Array",proto:!0,arity:1,forced:c},{push:function(y){var p=n(this),m=e(p),S=arguments.length;s(m+S);for(var x=0;x79&&o<83,l=u||!e("reduceRight");r({target:"Array",proto:!0,forced:l},{reduceRight:function(c){return n(this,c,arguments.length,arguments.length>1?arguments[1]:void 0)}})},11042:function(i,d,t){var r=t(14304),n=t(97264).left,e=t(6148),o=t(44241),s=t(91707),u=!s&&o>79&&o<83,l=u||!e("reduce");r({target:"Array",proto:!0,forced:l},{reduce:function(c){var g=arguments.length;return n(this,c,g,g>1?arguments[1]:void 0)}})},24608:function(i,d,t){var r=t(14304),n=t(11286),e=t(3438),o=n([].reverse),s=[1,2];r({target:"Array",proto:!0,forced:String(s)===String(s.reverse())},{reverse:function(){return e(this)&&(this.length=this.length),o(this)}})},51644:function(i,d,t){var r=t(14304),n=t(3438),e=t(11051),o=t(37540),s=t(4652),u=t(82628),l=t(36859),v=t(84082),c=t(18565),g=t(52183),y=t(22806),p=g("slice"),m=c("species"),S=Array,x=Math.max;r({target:"Array",proto:!0,forced:!p},{slice:function(P,T){var R=l(this),N=u(R),A=s(P,N),C=s(T===void 0?N:T,N),D,$,F;if(n(R)&&(D=R.constructor,e(D)&&(D===S||n(D.prototype))?D=void 0:o(D)&&(D=D[m],D===null&&(D=void 0)),D===S||D===void 0))return y(R,A,C);for($=new(D===void 0?S:D)(x(C-A,0)),F=0;A1?arguments[1]:void 0)}})},46828:function(i,d,t){var r=t(14304),n=t(11286),e=t(85156),o=t(49671),s=t(82628),u=t(12384),l=t(17361),v=t(72069),c=t(13270),g=t(6148),y=t(507),p=t(17417),m=t(44241),S=t(66577),x=[],O=n(x.sort),P=n(x.push),T=v(function(){x.sort(void 0)}),R=v(function(){x.sort(null)}),N=g("sort"),A=!v(function(){if(m)return m<70;if(!(y&&y>3)){if(p)return!0;if(S)return S<603;var $="",F,L,G,H;for(F=65;F<76;F++){switch(L=String.fromCharCode(F),F){case 66:case 69:case 70:case 72:G=3;break;case 68:case 71:G=4;break;default:G=2}for(H=0;H<47;H++)x.push({k:L+H,v:G})}for(x.sort(function(U,B){return B.v-U.v}),H=0;Hl(L)?1:-1}};r({target:"Array",proto:!0,forced:C},{sort:function(F){F!==void 0&&e(F);var L=o(this);if(A)return F===void 0?O(L):O(L,F);var G=[],H=s(L),U,B;for(B=0;BR-D+C;F--)g(T,F-1)}else if(C>D)for(F=R-D;F>N;F--)L=F+D-1,G=F+C-1,L in T?T[G]=T[L]:g(T,G);for(F=0;F=0&&c<=99?c+1900:c;return u(this,g)}})},33685:function(i,d,t){var r=t(14304);r({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString})},60086:function(i,d,t){var r=t(14304),n=t(11890);r({target:"Date",proto:!0,forced:Date.prototype.toISOString!==n},{toISOString:n})},96049:function(i,d,t){var r=t(14304),n=t(72069),e=t(49671),o=t(89935),s=n(function(){return new Date(NaN).toJSON()!==null||Date.prototype.toJSON.call({toISOString:function(){return 1}})!==1});r({target:"Date",proto:!0,arity:1,forced:s},{toJSON:function(l){var v=e(this),c=o(v,"number");return typeof c=="number"&&!isFinite(c)?null:v.toISOString()}})},14038:function(i,d,t){var r=t(94879),n=t(16142),e=t(84306),o=t(18565),s=o("toPrimitive"),u=Date.prototype;r(u,s)||n(u,s,e)},55518:function(i,d,t){var r=t(11286),n=t(16142),e=Date.prototype,o="Invalid Date",s="toString",u=r(e[s]),l=r(e.getTime);String(new Date(NaN))!==o&&n(e,s,function(){var c=l(this);return c===c?u(this):o})},81742:function(i,d,t){var r=t(14304),n=t(34246),e=t(66543),o=t(70003),s="WebAssembly",u=n[s],l=new Error("e",{cause:7}).cause!==7,v=function(g,y){var p={};p[g]=o(g,y,l),r({global:!0,constructor:!0,arity:1,forced:l},p)},c=function(g,y){if(u&&u[g]){var p={};p[g]=o(s+"."+g,y,l),r({target:s,stat:!0,constructor:!0,arity:1,forced:l},p)}};v("Error",function(g){return function(p){return e(g,this,arguments)}}),v("EvalError",function(g){return function(p){return e(g,this,arguments)}}),v("RangeError",function(g){return function(p){return e(g,this,arguments)}}),v("ReferenceError",function(g){return function(p){return e(g,this,arguments)}}),v("SyntaxError",function(g){return function(p){return e(g,this,arguments)}}),v("TypeError",function(g){return function(p){return e(g,this,arguments)}}),v("URIError",function(g){return function(p){return e(g,this,arguments)}}),c("CompileError",function(g){return function(p){return e(g,this,arguments)}}),c("LinkError",function(g){return function(p){return e(g,this,arguments)}}),c("RuntimeError",function(g){return function(p){return e(g,this,arguments)}})},8720:function(i,d,t){var r=t(16142),n=t(58434),e=Error.prototype;e.toString!==n&&r(e,"toString",n)},8894:function(i,d,t){var r=t(14304),n=t(11286),e=t(17361),o=n("".charAt),s=n("".charCodeAt),u=n(/./.exec),l=n(1 .toString),v=n("".toUpperCase),c=/[\w*+\-./@]/,g=function(y,p){for(var m=l(y,16);m.length9490626562425156e-8?o(g)+u:n(g-1+s(g-1)*s(g+1))}})},15656:function(i,d,t){var r=t(14304),n=Math.asinh,e=Math.log,o=Math.sqrt;function s(l){var v=+l;return!isFinite(v)||v===0?v:v<0?-s(-v):e(v+o(v*v+1))}var u=!(n&&1/n(0)>0);r({target:"Math",stat:!0,forced:u},{asinh:s})},22091:function(i,d,t){var r=t(14304),n=Math.atanh,e=Math.log,o=!(n&&1/n(-0)<0);r({target:"Math",stat:!0,forced:o},{atanh:function(u){var l=+u;return l===0?l:e((1+l)/(1-l))/2}})},2886:function(i,d,t){var r=t(14304),n=t(93976),e=Math.abs,o=Math.pow;r({target:"Math",stat:!0},{cbrt:function(u){var l=+u;return n(l)*o(e(l),.3333333333333333)}})},25895:function(i,d,t){var r=t(14304),n=Math.floor,e=Math.log,o=Math.LOG2E;r({target:"Math",stat:!0},{clz32:function(u){var l=u>>>0;return l?31-n(e(l+.5)*o):32}})},24228:function(i,d,t){var r=t(14304),n=t(98940),e=Math.cosh,o=Math.abs,s=Math.E,u=!e||e(710)===1/0;r({target:"Math",stat:!0,forced:u},{cosh:function(v){var c=n(o(v)-1)+1;return(c+1/(c*s*s))*(s/2)}})},79488:function(i,d,t){var r=t(14304),n=t(98940);r({target:"Math",stat:!0,forced:n!==Math.expm1},{expm1:n})},75987:function(i,d,t){var r=t(14304),n=t(93279);r({target:"Math",stat:!0},{fround:n})},81555:function(i,d,t){var r=t(14304),n=Math.hypot,e=Math.abs,o=Math.sqrt,s=!!n&&n(1/0,NaN)!==1/0;r({target:"Math",stat:!0,arity:2,forced:s},{hypot:function(l,v){for(var c=0,g=0,y=arguments.length,p=0,m,S;g0?(S=m/p,c+=S*S):c+=m;return p===1/0?1/0:p*o(c)}})},87854:function(i,d,t){var r=t(14304),n=t(72069),e=Math.imul,o=n(function(){return e(4294967295,5)!==-5||e.length!==2});r({target:"Math",stat:!0,forced:o},{imul:function(u,l){var v=65535,c=+u,g=+l,y=v&c,p=v&g;return 0|y*p+((v&c>>>16)*p+y*(v&g>>>16)<<16>>>0)}})},35074:function(i,d,t){var r=t(14304),n=t(41942);r({target:"Math",stat:!0},{log10:n})},50946:function(i,d,t){var r=t(14304),n=t(49366);r({target:"Math",stat:!0},{log1p:n})},29417:function(i,d,t){var r=t(14304),n=Math.log,e=Math.LN2;r({target:"Math",stat:!0},{log2:function(s){return n(s)/e}})},80628:function(i,d,t){var r=t(14304),n=t(93976);r({target:"Math",stat:!0},{sign:n})},74375:function(i,d,t){var r=t(14304),n=t(72069),e=t(98940),o=Math.abs,s=Math.exp,u=Math.E,l=n(function(){return Math.sinh(-2e-17)!==-2e-17});r({target:"Math",stat:!0,forced:l},{sinh:function(c){var g=+c;return o(g)<1?(e(g)-e(-g))/2:(s(g-1)-s(-g-1))*(u/2)}})},29708:function(i,d,t){var r=t(14304),n=t(98940),e=Math.exp;r({target:"Math",stat:!0},{tanh:function(s){var u=+s,l=n(u),v=n(-u);return l===1/0?1:v===1/0?-1:(l-v)/(e(u)+e(-u))}})},93449:function(i,d,t){var r=t(78401);r(Math,"Math",!0)},9111:function(i,d,t){var r=t(14304),n=t(22459);r({target:"Math",stat:!0},{trunc:n})},83514:function(i,d,t){var r=t(14304),n=t(70457),e=t(92986),o=t(34246),s=t(75081),u=t(11286),l=t(13278),v=t(94879),c=t(32345),g=t(95307),y=t(491),p=t(89935),m=t(72069),S=t(83258).f,x=t(71349).f,O=t(7831).f,P=t(34338),T=t(85900).trim,R="Number",N=o[R],A=s[R],C=N.prototype,D=o.TypeError,$=u("".slice),F=u("".charCodeAt),L=function(z){var Q=p(z,"number");return typeof Q=="bigint"?Q:G(Q)},G=function(z){var Q=p(z,"number"),X,k,Z,gt,lt,yt,Ot,Rt;if(y(Q))throw new D("Cannot convert a Symbol value to a number");if(typeof Q=="string"&&Q.length>2){if(Q=T(Q),X=F(Q,0),X===43||X===45){if(k=F(Q,2),k===88||k===120)return NaN}else if(X===48){switch(F(Q,1)){case 66:case 98:Z=2,gt=49;break;case 79:case 111:Z=8,gt=55;break;default:return+Q}for(lt=$(Q,2),yt=lt.length,Ot=0;Otgt)return NaN;return parseInt(lt,Z)}}return+Q},H=l(R,!N(" 0o1")||!N("0b1")||N("+0x1")),U=function(z){return g(C,z)&&m(function(){P(z)})},B=function(Q){var X=arguments.length<1?0:N(L(Q));return U(this)?c(Object(X),this,B):X};B.prototype=C,H&&!n&&(C.constructor=B),r({global:!0,constructor:!0,wrap:!0,forced:H},{Number:B});var j=function(z,Q){for(var X=e?S(Q):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),k=0,Z;X.length>k;k++)v(Q,Z=X[k])&&!v(z,Z)&&O(z,Z,x(Q,Z))};n&&A&&j(s[R],A),(H||n)&&j(s[R],N)},15096:function(i,d,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},59590:function(i,d,t){var r=t(14304),n=t(98074);r({target:"Number",stat:!0},{isFinite:n})},99663:function(i,d,t){var r=t(14304),n=t(613);r({target:"Number",stat:!0},{isInteger:n})},89988:function(i,d,t){var r=t(14304);r({target:"Number",stat:!0},{isNaN:function(e){return e!==e}})},54427:function(i,d,t){var r=t(14304),n=t(613),e=Math.abs;r({target:"Number",stat:!0},{isSafeInteger:function(s){return n(s)&&e(s)<=9007199254740991}})},67895:function(i,d,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},57909:function(i,d,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},83938:function(i,d,t){var r=t(14304),n=t(25838);r({target:"Number",stat:!0,forced:Number.parseFloat!==n},{parseFloat:n})},55461:function(i,d,t){var r=t(14304),n=t(23009);r({target:"Number",stat:!0,forced:Number.parseInt!==n},{parseInt:n})},97339:function(i,d,t){var r=t(14304),n=t(11286),e=t(12105),o=t(34338),s=t(79719),u=t(41942),l=t(72069),v=RangeError,c=String,g=isFinite,y=Math.abs,p=Math.floor,m=Math.pow,S=Math.round,x=n(1 .toExponential),O=n(s),P=n("".slice),T=x(-69e-12,4)==="-6.9000e-11"&&x(1.255,2)==="1.25e+0"&&x(12345,3)==="1.235e+4"&&x(25,0)==="3e+1",R=function(){return l(function(){x(1,1/0)})&&l(function(){x(1,-1/0)})},N=function(){return!l(function(){x(1/0,1/0),x(NaN,1/0)})},A=!T||!R()||!N();r({target:"Number",proto:!0,forced:A},{toExponential:function(D){var $=o(this);if(D===void 0)return x($);var F=e(D);if(!g($))return String($);if(F<0||F>20)throw new v("Incorrect fraction digits");if(T)return x($,F);var L="",G,H,U,B;if($<0&&(L="-",$=-$),$===0)H=0,G=O("0",F+1);else{var j=u($);H=p(j);var z=m(10,H-F),Q=S($/z);2*$>=(2*Q+1)*z&&(Q+=1),Q>=m(10,F+1)&&(Q/=10,H+=1),G=c(Q)}return F!==0&&(G=P(G,0,1)+"."+P(G,1)),H===0?(U="+",B="0"):(U=H>0?"+":"-",B=c(y(H))),G+="e"+U+B,L+G}})},3670:function(i,d,t){var r=t(14304),n=t(11286),e=t(12105),o=t(34338),s=t(79719),u=t(72069),l=RangeError,v=String,c=Math.floor,g=n(s),y=n("".slice),p=n(1 .toFixed),m=function(R,N,A){return N===0?A:N%2===1?m(R,N-1,A*R):m(R*R,N/2,A)},S=function(R){for(var N=0,A=R;A>=4096;)N+=12,A/=4096;for(;A>=2;)N+=1,A/=2;return N},x=function(R,N,A){for(var C=-1,D=A;++C<6;)D+=N*R[C],R[C]=D%1e7,D=c(D/1e7)},O=function(R,N){for(var A=6,C=0;--A>=0;)C+=R[A],R[A]=c(C/N),C=C%N*1e7},P=function(R){for(var N=6,A="";--N>=0;)if(A!==""||N===0||R[N]!==0){var C=v(R[N]);A=A===""?C:A+g("0",7-C.length)+C}return A},T=u(function(){return p(8e-5,3)!=="0.000"||p(.9,0)!=="1"||p(1.255,2)!=="1.25"||p(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!u(function(){p({})});r({target:"Number",proto:!0,forced:T},{toFixed:function(N){var A=o(this),C=e(N),D=[0,0,0,0,0,0],$="",F="0",L,G,H,U;if(C<0||C>20)throw new l("Incorrect fraction digits");if(A!==A)return"NaN";if(A<=-1e21||A>=1e21)return v(A);if(A<0&&($="-",A=-A),A>1e-21)if(L=S(A*m(2,69,1))-69,G=L<0?A*m(2,-L,1):A/m(2,L,1),G*=4503599627370496,L=52-L,L>0){for(x(D,0,G),H=C;H>=7;)x(D,1e7,0),H-=7;for(x(D,m(10,H,1),0),H=L-1;H>=23;)O(D,8388608),H-=23;O(D,1<0?(U=F.length,F=$+(U<=C?"0."+g("0",C-U)+F:y(F,0,U-C)+"."+y(F,U-C))):F=$+F,F}})},15224:function(i,d,t){var r=t(14304),n=t(11286),e=t(72069),o=t(34338),s=n(1 .toPrecision),u=e(function(){return s(1,void 0)!=="1"})||!e(function(){s({})});r({target:"Number",proto:!0,forced:u},{toPrecision:function(v){return v===void 0?s(o(this)):s(o(this),v)}})},45891:function(i,d,t){var r=t(14304),n=t(16667);r({target:"Object",stat:!0,arity:2,forced:Object.assign!==n},{assign:n})},99910:function(i,d,t){var r=t(14304),n=t(92986),e=t(5406);r({target:"Object",stat:!0,sham:!n},{create:e})},92445:function(i,d,t){var r=t(14304),n=t(92986),e=t(57629),o=t(85156),s=t(49671),u=t(7831);n&&r({target:"Object",proto:!0,forced:e},{__defineGetter__:function(v,c){u.f(s(this),v,{get:o(c),enumerable:!0,configurable:!0})}})},21875:function(i,d,t){var r=t(14304),n=t(92986),e=t(61963).f;r({target:"Object",stat:!0,forced:Object.defineProperties!==e,sham:!n},{defineProperties:e})},4383:function(i,d,t){var r=t(14304),n=t(92986),e=t(7831).f;r({target:"Object",stat:!0,forced:Object.defineProperty!==e,sham:!n},{defineProperty:e})},11361:function(i,d,t){var r=t(14304),n=t(92986),e=t(57629),o=t(85156),s=t(49671),u=t(7831);n&&r({target:"Object",proto:!0,forced:e},{__defineSetter__:function(v,c){u.f(s(this),v,{set:o(c),enumerable:!0,configurable:!0})}})},13728:function(i,d,t){var r=t(14304),n=t(8511).entries;r({target:"Object",stat:!0},{entries:function(o){return n(o)}})},14885:function(i,d,t){var r=t(14304),n=t(27534),e=t(72069),o=t(37540),s=t(31853).onFreeze,u=Object.freeze,l=e(function(){u(1)});r({target:"Object",stat:!0,forced:l,sham:!n},{freeze:function(c){return u&&o(c)?u(s(c)):c}})},30343:function(i,d,t){var r=t(14304),n=t(55902),e=t(84082);r({target:"Object",stat:!0},{fromEntries:function(s){var u={};return n(s,function(l,v){e(u,l,v)},{AS_ENTRIES:!0}),u}})},22045:function(i,d,t){var r=t(14304),n=t(72069),e=t(36859),o=t(71349).f,s=t(92986),u=!s||n(function(){o(1)});r({target:"Object",stat:!0,forced:u,sham:!s},{getOwnPropertyDescriptor:function(v,c){return o(e(v),c)}})},75e3:function(i,d,t){var r=t(14304),n=t(92986),e=t(16885),o=t(36859),s=t(71349),u=t(84082);r({target:"Object",stat:!0,sham:!n},{getOwnPropertyDescriptors:function(v){for(var c=o(v),g=s.f,y=e(c),p={},m=0,S,x;y.length>m;)x=g(c,S=y[m++]),x!==void 0&&u(p,S,x);return p}})},64658:function(i,d,t){var r=t(14304),n=t(72069),e=t(92880).f,o=n(function(){return!Object.getOwnPropertyNames(1)});r({target:"Object",stat:!0,forced:o},{getOwnPropertyNames:e})},45223:function(i,d,t){var r=t(14304),n=t(39729),e=t(72069),o=t(24943),s=t(49671),u=!n||e(function(){o.f(1)});r({target:"Object",stat:!0,forced:u},{getOwnPropertySymbols:function(v){var c=o.f;return c?c(s(v)):[]}})},16017:function(i,d,t){var r=t(14304),n=t(72069),e=t(49671),o=t(26313),s=t(87501),u=n(function(){o(1)});r({target:"Object",stat:!0,forced:u,sham:!s},{getPrototypeOf:function(v){return o(e(v))}})},84681:function(i,d,t){var r=t(14304),n=t(38941),e=t(11286),o=t(85156),s=t(2068),u=t(50035),l=t(55902),v=t(72069),c=Object.groupBy,g=n("Object","create"),y=e([].push),p=!c||v(function(){return c("ab",function(m){return m}).a.length!==1});r({target:"Object",stat:!0,forced:p},{groupBy:function(S,x){s(S),o(x);var O=g(null),P=0;return l(S,function(T){var R=u(x(T,P++));R in O?y(O[R],T):O[R]=[T]}),O}})},73421:function(i,d,t){var r=t(14304),n=t(94879);r({target:"Object",stat:!0},{hasOwn:n})},31046:function(i,d,t){var r=t(14304),n=t(28174);r({target:"Object",stat:!0,forced:Object.isExtensible!==n},{isExtensible:n})},94645:function(i,d,t){var r=t(14304),n=t(72069),e=t(37540),o=t(14274),s=t(72058),u=Object.isFrozen,l=s||n(function(){u(1)});r({target:"Object",stat:!0,forced:l},{isFrozen:function(c){return!e(c)||s&&o(c)==="ArrayBuffer"?!0:u?u(c):!1}})},62935:function(i,d,t){var r=t(14304),n=t(72069),e=t(37540),o=t(14274),s=t(72058),u=Object.isSealed,l=s||n(function(){u(1)});r({target:"Object",stat:!0,forced:l},{isSealed:function(c){return!e(c)||s&&o(c)==="ArrayBuffer"?!0:u?u(c):!1}})},93446:function(i,d,t){var r=t(14304),n=t(13944);r({target:"Object",stat:!0},{is:n})},62518:function(i,d,t){var r=t(14304),n=t(49671),e=t(18350),o=t(72069),s=o(function(){e(1)});r({target:"Object",stat:!0,forced:s},{keys:function(l){return e(n(l))}})},45130:function(i,d,t){var r=t(14304),n=t(92986),e=t(57629),o=t(49671),s=t(50035),u=t(26313),l=t(71349).f;n&&r({target:"Object",proto:!0,forced:e},{__lookupGetter__:function(c){var g=o(this),y=s(c),p;do if(p=l(g,y))return p.get;while(g=u(g))}})},51542:function(i,d,t){var r=t(14304),n=t(92986),e=t(57629),o=t(49671),s=t(50035),u=t(26313),l=t(71349).f;n&&r({target:"Object",proto:!0,forced:e},{__lookupSetter__:function(c){var g=o(this),y=s(c),p;do if(p=l(g,y))return p.set;while(g=u(g))}})},43781:function(i,d,t){var r=t(14304),n=t(37540),e=t(31853).onFreeze,o=t(27534),s=t(72069),u=Object.preventExtensions,l=s(function(){u(1)});r({target:"Object",stat:!0,forced:l,sham:!o},{preventExtensions:function(c){return u&&n(c)?u(e(c)):c}})},25738:function(i,d,t){var r=t(92986),n=t(85500),e=t(37540),o=t(52427),s=t(49671),u=t(2068),l=Object.getPrototypeOf,v=Object.setPrototypeOf,c=Object.prototype,g="__proto__";if(r&&l&&v&&!(g in c))try{n(c,g,{configurable:!0,get:function(){return l(s(this))},set:function(p){var m=u(this);o(p)&&e(m)&&v(m,p)}})}catch(y){}},93247:function(i,d,t){var r=t(14304),n=t(37540),e=t(31853).onFreeze,o=t(27534),s=t(72069),u=Object.seal,l=s(function(){u(1)});r({target:"Object",stat:!0,forced:l,sham:!o},{seal:function(c){return u&&n(c)?u(e(c)):c}})},41533:function(i,d,t){var r=t(14304),n=t(15861);r({target:"Object",stat:!0},{setPrototypeOf:n})},60225:function(i,d,t){var r=t(67878),n=t(16142),e=t(60105);r||n(Object.prototype,"toString",e,{unsafe:!0})},69920:function(i,d,t){var r=t(14304),n=t(8511).values;r({target:"Object",stat:!0},{values:function(o){return n(o)}})},89205:function(i,d,t){var r=t(14304),n=t(25838);r({global:!0,forced:parseFloat!==n},{parseFloat:n})},78546:function(i,d,t){var r=t(14304),n=t(23009);r({global:!0,forced:parseInt!==n},{parseInt:n})},16893:function(i,d,t){var r=t(14304),n=t(96499),e=t(85156),o=t(24649),s=t(67805),u=t(55902),l=t(26035);r({target:"Promise",stat:!0,forced:l},{allSettled:function(c){var g=this,y=o.f(g),p=y.resolve,m=y.reject,S=s(function(){var x=e(g.resolve),O=[],P=0,T=1;u(c,function(R){var N=P++,A=!1;T++,n(x,g,R).then(function(C){A||(A=!0,O[N]={status:"fulfilled",value:C},--T||p(O))},function(C){A||(A=!0,O[N]={status:"rejected",reason:C},--T||p(O))})}),--T||p(O)});return S.error&&m(S.value),y.promise}})},11733:function(i,d,t){var r=t(14304),n=t(96499),e=t(85156),o=t(24649),s=t(67805),u=t(55902),l=t(26035);r({target:"Promise",stat:!0,forced:l},{all:function(c){var g=this,y=o.f(g),p=y.resolve,m=y.reject,S=s(function(){var x=e(g.resolve),O=[],P=0,T=1;u(c,function(R){var N=P++,A=!1;T++,n(x,g,R).then(function(C){A||(A=!0,O[N]=C,--T||p(O))},m)}),--T||p(O)});return S.error&&m(S.value),y.promise}})},3676:function(i,d,t){var r=t(14304),n=t(96499),e=t(85156),o=t(38941),s=t(24649),u=t(67805),l=t(55902),v=t(26035),c="No one promise resolved";r({target:"Promise",stat:!0,forced:v},{any:function(y){var p=this,m=o("AggregateError"),S=s.f(p),x=S.resolve,O=S.reject,P=u(function(){var T=e(p.resolve),R=[],N=0,A=1,C=!1;l(y,function(D){var $=N++,F=!1;A++,n(T,p,D).then(function(L){F||C||(C=!0,x(L))},function(L){F||C||(F=!0,R[$]=L,--A||O(new m(R,c)))})}),--A||O(new m(R,c))});return P.error&&O(P.value),S.promise}})},14013:function(i,d,t){var r=t(14304),n=t(70457),e=t(37130).CONSTRUCTOR,o=t(98844),s=t(38941),u=t(23583),l=t(16142),v=o&&o.prototype;if(r({target:"Promise",proto:!0,forced:e,real:!0},{catch:function(g){return this.then(void 0,g)}}),!n&&u(o)){var c=s("Promise").prototype.catch;v.catch!==c&&l(v,"catch",c,{unsafe:!0})}},20238:function(i,d,t){var r=t(14304),n=t(70457),e=t(91707),o=t(34246),s=t(96499),u=t(16142),l=t(15861),v=t(78401),c=t(36167),g=t(85156),y=t(23583),p=t(37540),m=t(12833),S=t(16887),x=t(23115).set,O=t(9709),P=t(99095),T=t(67805),R=t(76895),N=t(82367),A=t(98844),C=t(37130),D=t(24649),$="Promise",F=C.CONSTRUCTOR,L=C.REJECTION_EVENT,G=C.SUBCLASSING,H=N.getterFor($),U=N.set,B=A&&A.prototype,j=A,z=B,Q=o.TypeError,X=o.document,k=o.process,Z=D.f,gt=Z,lt=!!(X&&X.createEvent&&o.dispatchEvent),yt="unhandledrejection",Ot="rejectionhandled",Rt=0,Wt=1,Vt=2,$t=1,vt=2,mt,Mt,Ft,Nt,Bt=function(_){var At;return p(_)&&y(At=_.then)?At:!1},qt=function(_,At){var Pt=At.value,It=At.state===Wt,St=It?_.ok:_.fail,er=_.resolve,or=_.reject,K=_.domain,et,it,ot;try{St?(It||(At.rejection===vt&&Yt(At),At.rejection=$t),St===!0?et=Pt:(K&&K.enter(),et=St(Pt),K&&(K.exit(),ot=!0)),et===_.promise?or(new Q("Promise-chain cycle")):(it=Bt(et))?s(it,et,er,or):er(et)):or(Pt)}catch(ct){K&&!ot&&K.exit(),or(ct)}},_t=function(_,At){_.notified||(_.notified=!0,O(function(){for(var Pt=_.reactions,It;It=Pt.get();)qt(It,_);_.notified=!1,At&&!_.rejection&&Lt(_)}))},Xt=function(_,At,Pt){var It,St;lt?(It=X.createEvent("Event"),It.promise=At,It.reason=Pt,It.initEvent(_,!1,!0),o.dispatchEvent(It)):It={promise:At,reason:Pt},!L&&(St=o["on"+_])?St(It):_===yt&&P("Unhandled promise rejection",Pt)},Lt=function(_){s(x,o,function(){var At=_.facade,Pt=_.value,It=Jt(_),St;if(It&&(St=T(function(){e?k.emit("unhandledRejection",Pt,At):Xt(yt,At,Pt)}),_.rejection=e||Jt(_)?vt:$t,St.error))throw St.value})},Jt=function(_){return _.rejection!==$t&&!_.parent},Yt=function(_){s(x,o,function(){var At=_.facade;e?k.emit("rejectionHandled",At):Xt(Ot,At,_.value)})},jt=function(_,At,Pt){return function(It){_(At,It,Pt)}},st=function(_,At,Pt){_.done||(_.done=!0,Pt&&(_=Pt),_.value=At,_.state=Vt,_t(_,!0))},dt=function(_,At,Pt){if(!_.done){_.done=!0,Pt&&(_=Pt);try{if(_.facade===At)throw new Q("Promise can't be resolved itself");var It=Bt(At);It?O(function(){var St={done:!1};try{s(It,At,jt(dt,St,_),jt(st,St,_))}catch(er){st(St,er,_)}}):(_.value=At,_.state=Wt,_t(_,!1))}catch(St){st({done:!1},St,_)}}};if(F&&(j=function(At){m(this,z),g(At),s(mt,this);var Pt=H(this);try{At(jt(dt,Pt),jt(st,Pt))}catch(It){st(Pt,It)}},z=j.prototype,mt=function(At){U(this,{type:$,done:!1,notified:!1,parent:!1,reactions:new R,rejection:!1,state:Rt,value:null})},mt.prototype=u(z,"then",function(At,Pt){var It=H(this),St=Z(S(this,j));return It.parent=!0,St.ok=y(At)?At:!0,St.fail=y(Pt)&&Pt,St.domain=e?k.domain:void 0,It.state===Rt?It.reactions.add(St):O(function(){qt(St,It)}),St.promise}),Mt=function(){var _=new mt,At=H(_);this.promise=_,this.resolve=jt(dt,At),this.reject=jt(st,At)},D.f=Z=function(_){return _===j||_===Ft?new Mt(_):gt(_)},!n&&y(A)&&B!==Object.prototype)){Nt=B.then,G||u(B,"then",function(At,Pt){var It=this;return new j(function(St,er){s(Nt,It,St,er)}).then(At,Pt)},{unsafe:!0});try{delete B.constructor}catch(_){}l&&l(B,z)}r({global:!0,constructor:!0,wrap:!0,forced:F},{Promise:j}),v(j,$,!1,!0),c($)},58361:function(i,d,t){var r=t(14304),n=t(70457),e=t(98844),o=t(72069),s=t(38941),u=t(23583),l=t(16887),v=t(87408),c=t(16142),g=e&&e.prototype,y=!!e&&o(function(){g.finally.call({then:function(){}},function(){})});if(r({target:"Promise",proto:!0,real:!0,forced:y},{finally:function(m){var S=l(this,s("Promise")),x=u(m);return this.then(x?function(O){return v(S,m()).then(function(){return O})}:m,x?function(O){return v(S,m()).then(function(){throw O})}:m)}}),!n&&u(e)){var p=s("Promise").prototype.finally;g.finally!==p&&c(g,"finally",p,{unsafe:!0})}},63616:function(i,d,t){t(20238),t(11733),t(14013),t(3037),t(36027),t(97282)},3037:function(i,d,t){var r=t(14304),n=t(96499),e=t(85156),o=t(24649),s=t(67805),u=t(55902),l=t(26035);r({target:"Promise",stat:!0,forced:l},{race:function(c){var g=this,y=o.f(g),p=y.reject,m=s(function(){var S=e(g.resolve);u(c,function(x){n(S,g,x).then(y.resolve,p)})});return m.error&&p(m.value),y.promise}})},36027:function(i,d,t){var r=t(14304),n=t(24649),e=t(37130).CONSTRUCTOR;r({target:"Promise",stat:!0,forced:e},{reject:function(s){var u=n.f(this),l=u.reject;return l(s),u.promise}})},97282:function(i,d,t){var r=t(14304),n=t(38941),e=t(70457),o=t(98844),s=t(37130).CONSTRUCTOR,u=t(87408),l=n("Promise"),v=e&&!s;r({target:"Promise",stat:!0,forced:e||s},{resolve:function(g){return u(v&&this===l?o:this,g)}})},7487:function(i,d,t){var r=t(14304),n=t(34246),e=t(66543),o=t(22806),s=t(24649),u=t(85156),l=t(67805),v=n.Promise,c=!1,g=!v||!v.try||l(function(){v.try(function(y){c=y===8},8)}).error||!c;r({target:"Promise",stat:!0,forced:g},{try:function(y){var p=arguments.length>1?o(arguments,1):[],m=s.f(this),S=l(function(){return e(u(y),void 0,p)});return(S.error?m.reject:m.resolve)(S.value),m.promise}})},23958:function(i,d,t){var r=t(14304),n=t(24649);r({target:"Promise",stat:!0},{withResolvers:function(){var o=n.f(this);return{promise:o.promise,resolve:o.resolve,reject:o.reject}}})},9798:function(i,d,t){var r=t(14304),n=t(66543),e=t(85156),o=t(25001),s=t(72069),u=!s(function(){Reflect.apply(function(){})});r({target:"Reflect",stat:!0,forced:u},{apply:function(v,c,g){return n(e(v),c,o(g))}})},2371:function(i,d,t){var r=t(14304),n=t(38941),e=t(66543),o=t(91384),s=t(80042),u=t(25001),l=t(37540),v=t(5406),c=t(72069),g=n("Reflect","construct"),y=Object.prototype,p=[].push,m=c(function(){function O(){}return!(g(function(){},[],O)instanceof O)}),S=!c(function(){g(function(){})}),x=m||S;r({target:"Reflect",stat:!0,forced:x,sham:x},{construct:function(P,T){s(P),u(T);var R=arguments.length<3?P:s(arguments[2]);if(S&&!m)return g(P,T,R);if(P===R){switch(T.length){case 0:return new P;case 1:return new P(T[0]);case 2:return new P(T[0],T[1]);case 3:return new P(T[0],T[1],T[2]);case 4:return new P(T[0],T[1],T[2],T[3])}var N=[null];return e(p,N,T),new(e(o,P,N))}var A=R.prototype,C=v(l(A)?A:y),D=e(P,C,T);return l(D)?D:C}})},76185:function(i,d,t){var r=t(14304),n=t(92986),e=t(25001),o=t(50035),s=t(7831),u=t(72069),l=u(function(){Reflect.defineProperty(s.f({},1,{value:1}),1,{value:2})});r({target:"Reflect",stat:!0,forced:l,sham:!n},{defineProperty:function(c,g,y){e(c);var p=o(g);e(y);try{return s.f(c,p,y),!0}catch(m){return!1}}})},76553:function(i,d,t){var r=t(14304),n=t(25001),e=t(71349).f;r({target:"Reflect",stat:!0},{deleteProperty:function(s,u){var l=e(n(s),u);return l&&!l.configurable?!1:delete s[u]}})},25227:function(i,d,t){var r=t(14304),n=t(92986),e=t(25001),o=t(71349);r({target:"Reflect",stat:!0,sham:!n},{getOwnPropertyDescriptor:function(u,l){return o.f(e(u),l)}})},91723:function(i,d,t){var r=t(14304),n=t(25001),e=t(26313),o=t(87501);r({target:"Reflect",stat:!0,sham:!o},{getPrototypeOf:function(u){return e(n(u))}})},93518:function(i,d,t){var r=t(14304),n=t(96499),e=t(37540),o=t(25001),s=t(69745),u=t(71349),l=t(26313);function v(c,g){var y=arguments.length<3?c:arguments[2],p,m;if(o(c)===y)return c[g];if(p=u.f(c,g),p)return s(p)?p.value:p.get===void 0?void 0:n(p.get,y);if(e(m=l(c)))return v(m,g,y)}r({target:"Reflect",stat:!0},{get:v})},57882:function(i,d,t){var r=t(14304);r({target:"Reflect",stat:!0},{has:function(e,o){return o in e}})},37796:function(i,d,t){var r=t(14304),n=t(25001),e=t(28174);r({target:"Reflect",stat:!0},{isExtensible:function(s){return n(s),e(s)}})},11563:function(i,d,t){var r=t(14304),n=t(16885);r({target:"Reflect",stat:!0},{ownKeys:n})},26159:function(i,d,t){var r=t(14304),n=t(38941),e=t(25001),o=t(27534);r({target:"Reflect",stat:!0,sham:!o},{preventExtensions:function(u){e(u);try{var l=n("Object","preventExtensions");return l&&l(u),!0}catch(v){return!1}}})},77487:function(i,d,t){var r=t(14304),n=t(25001),e=t(53408),o=t(15861);o&&r({target:"Reflect",stat:!0},{setPrototypeOf:function(u,l){n(u),e(l);try{return o(u,l),!0}catch(v){return!1}}})},20962:function(i,d,t){var r=t(14304),n=t(96499),e=t(25001),o=t(37540),s=t(69745),u=t(72069),l=t(7831),v=t(71349),c=t(26313),g=t(18526);function y(m,S,x){var O=arguments.length<4?m:arguments[3],P=v.f(e(m),S),T,R,N;if(!P){if(o(R=c(m)))return y(R,S,x,O);P=g(0)}if(s(P)){if(P.writable===!1||!o(O))return!1;if(T=v.f(O,S)){if(T.get||T.set||T.writable===!1)return!1;T.value=x,l.f(O,S,T)}else l.f(O,S,g(0,x))}else{if(N=P.set,N===void 0)return!1;n(N,O,x)}return!0}var p=u(function(){var m=function(){},S=l.f(new m,"a",{configurable:!0});return Reflect.set(m.prototype,"a",1,S)!==!1});r({target:"Reflect",stat:!0,forced:p},{set:y})},6130:function(i,d,t){var r=t(14304),n=t(34246),e=t(78401);r({global:!0},{Reflect:{}}),e(n.Reflect,"Reflect",!0)},1354:function(i,d,t){var r=t(92986),n=t(34246),e=t(11286),o=t(13278),s=t(32345),u=t(90809),l=t(5406),v=t(83258).f,c=t(95307),g=t(11566),y=t(17361),p=t(54932),m=t(39807),S=t(2594),x=t(16142),O=t(72069),P=t(94879),T=t(82367).enforce,R=t(36167),N=t(18565),A=t(76769),C=t(85220),D=N("match"),$=n.RegExp,F=$.prototype,L=n.SyntaxError,G=e(F.exec),H=e("".charAt),U=e("".replace),B=e("".indexOf),j=e("".slice),z=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,Q=/a/g,X=/a/g,k=new $(Q)!==Q,Z=m.MISSED_STICKY,gt=m.UNSUPPORTED_Y,lt=r&&(!k||Z||A||C||O(function(){return X[D]=!1,$(Q)!==Q||$(X)===X||String($(Q,"i"))!=="/a/i"})),yt=function($t){for(var vt=$t.length,mt=0,Mt="",Ft=!1,Nt;mt<=vt;mt++){if(Nt=H($t,mt),Nt==="\\"){Mt+=Nt+H($t,++mt);continue}!Ft&&Nt==="."?Mt+="[\\s\\S]":(Nt==="["?Ft=!0:Nt==="]"&&(Ft=!1),Mt+=Nt)}return Mt},Ot=function($t){for(var vt=$t.length,mt=0,Mt="",Ft=[],Nt=l(null),Bt=!1,qt=!1,_t=0,Xt="",Lt;mt<=vt;mt++){if(Lt=H($t,mt),Lt==="\\")Lt+=H($t,++mt);else if(Lt==="]")Bt=!1;else if(!Bt)switch(!0){case Lt==="[":Bt=!0;break;case Lt==="(":if(Mt+=Lt,j($t,mt+1,mt+3)==="?:")continue;G(z,j($t,mt+1))&&(mt+=2,qt=!0),_t++;continue;case(Lt===">"&&qt):if(Xt===""||P(Nt,Xt))throw new L("Invalid capture group name");Nt[Xt]=!0,Ft[Ft.length]=[Xt,_t],qt=!1,Xt="";continue}qt?Xt+=Lt:Mt+=Lt}return[Mt,Ft]};if(o("RegExp",lt)){for(var Rt=function(vt,mt){var Mt=c(F,this),Ft=g(vt),Nt=mt===void 0,Bt=[],qt=vt,_t,Xt,Lt,Jt,Yt,jt;if(!Mt&&Ft&&Nt&&vt.constructor===Rt)return vt;if((Ft||c(F,vt))&&(vt=vt.source,Nt&&(mt=p(qt))),vt=vt===void 0?"":y(vt),mt=mt===void 0?"":y(mt),qt=vt,A&&"dotAll"in Q&&(Xt=!!mt&&B(mt,"s")>-1,Xt&&(mt=U(mt,/s/g,""))),_t=mt,Z&&"sticky"in Q&&(Lt=!!mt&&B(mt,"y")>-1,Lt&>&&(mt=U(mt,/y/g,""))),C&&(Jt=Ot(vt),vt=Jt[0],Bt=Jt[1]),Yt=s($(vt,mt),Mt?this:F,Rt),(Xt||Lt||Bt.length)&&(jt=T(Yt),Xt&&(jt.dotAll=!0,jt.raw=Rt(yt(vt),_t)),Lt&&(jt.sticky=!0),Bt.length&&(jt.groups=Bt)),vt!==qt)try{u(Yt,"source",qt===""?"(?:)":qt)}catch(st){}return Yt},Wt=v($),Vt=0;Wt.length>Vt;)S(Rt,$,Wt[Vt++]);F.constructor=Rt,Rt.prototype=F,x(n,"RegExp",Rt,{constructor:!0})}R("RegExp")},47119:function(i,d,t){var r=t(92986),n=t(76769),e=t(14274),o=t(85500),s=t(82367).get,u=RegExp.prototype,l=TypeError;r&&n&&o(u,"dotAll",{configurable:!0,get:function(){if(this!==u){if(e(this)==="RegExp")return!!s(this).dotAll;throw new l("Incompatible receiver, RegExp required")}}})},31145:function(i,d,t){var r=t(14304),n=t(44381);r({target:"RegExp",proto:!0,forced:/./.exec!==n},{exec:n})},96773:function(i,d,t){var r=t(34246),n=t(92986),e=t(85500),o=t(29833),s=t(72069),u=r.RegExp,l=u.prototype,v=n&&s(function(){var c=!0;try{u(".","d")}catch(P){c=!1}var g={},y="",p=c?"dgimsy":"gimsy",m=function(P,T){Object.defineProperty(g,P,{get:function(){return y+=T,!0}})},S={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};c&&(S.hasIndices="d");for(var x in S)m(x,S[x]);var O=Object.getOwnPropertyDescriptor(l,"flags").get.call(g);return O!==p||y!==p});v&&e(l,"flags",{configurable:!0,get:o})},14371:function(i,d,t){var r=t(92986),n=t(39807).MISSED_STICKY,e=t(14274),o=t(85500),s=t(82367).get,u=RegExp.prototype,l=TypeError;r&&n&&o(u,"sticky",{configurable:!0,get:function(){if(this!==u){if(e(this)==="RegExp")return!!s(this).sticky;throw new l("Incompatible receiver, RegExp required")}}})},18180:function(i,d,t){t(31145);var r=t(14304),n=t(96499),e=t(23583),o=t(25001),s=t(17361),u=function(){var v=!1,c=/[ac]/;return c.exec=function(){return v=!0,/./.exec.apply(this,arguments)},c.test("abc")===!0&&v}(),l=/./.test;r({target:"RegExp",proto:!0,forced:!u},{test:function(v){var c=o(this),g=s(v),y=c.exec;if(!e(y))return n(l,c,g);var p=n(y,c,g);return p===null?!1:(o(p),!0)}})},83147:function(i,d,t){var r=t(86588).PROPER,n=t(16142),e=t(25001),o=t(17361),s=t(72069),u=t(54932),l="toString",v=RegExp.prototype,c=v[l],g=s(function(){return c.call({source:"a",flags:"b"})!=="/a/b"}),y=r&&c.name!==l;(g||y)&&n(v,l,function(){var m=e(this),S=o(m.source),x=o(u(m));return"/"+S+"/"+x},{unsafe:!0})},6583:function(i,d,t){var r=t(89378),n=t(34440);r("Set",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},n)},86548:function(i,d,t){var r=t(14304),n=t(41754),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("difference")},{difference:n})},15282:function(i,d,t){var r=t(14304),n=t(72069),e=t(92292),o=t(94118),s=!o("intersection")||n(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});r({target:"Set",proto:!0,real:!0,forced:s},{intersection:e})},51275:function(i,d,t){var r=t(14304),n=t(47391),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("isDisjointFrom")},{isDisjointFrom:n})},91890:function(i,d,t){var r=t(14304),n=t(75492),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("isSubsetOf")},{isSubsetOf:n})},15089:function(i,d,t){var r=t(14304),n=t(1333),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("isSupersetOf")},{isSupersetOf:n})},75765:function(i,d,t){t(6583)},78134:function(i,d,t){var r=t(14304),n=t(64680),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("symmetricDifference")},{symmetricDifference:n})},56456:function(i,d,t){var r=t(14304),n=t(70402),e=t(94118);r({target:"Set",proto:!0,real:!0,forced:!e("union")},{union:n})},70641:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("anchor")},{anchor:function(s){return n(this,"a","name",s)}})},40735:function(i,d,t){var r=t(14304),n=t(11286),e=t(2068),o=t(12105),s=t(17361),u=t(72069),l=n("".charAt),v=u(function(){return"\u{20BB7}".at(-2)!=="\uD842"});r({target:"String",proto:!0,forced:v},{at:function(g){var y=s(e(this)),p=y.length,m=o(g),S=m>=0?m:p+m;return S<0||S>=p?void 0:l(y,S)}})},53892:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("big")},{big:function(){return n(this,"big","","")}})},95976:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("blink")},{blink:function(){return n(this,"blink","","")}})},399:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("bold")},{bold:function(){return n(this,"b","","")}})},8510:function(i,d,t){var r=t(14304),n=t(22149).codeAt;r({target:"String",proto:!0},{codePointAt:function(o){return n(this,o)}})},70159:function(i,d,t){var r=t(14304),n=t(77422),e=t(71349).f,o=t(45344),s=t(17361),u=t(92337),l=t(2068),v=t(8790),c=t(70457),g=n("".slice),y=Math.min,p=v("endsWith"),m=!c&&!p&&!!function(){var S=e(String.prototype,"endsWith");return S&&!S.writable}();r({target:"String",proto:!0,forced:!m&&!p},{endsWith:function(x){var O=s(l(this));u(x);var P=arguments.length>1?arguments[1]:void 0,T=O.length,R=P===void 0?T:y(o(P),T),N=s(x);return g(O,R-N.length,R)===N}})},72032:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("fixed")},{fixed:function(){return n(this,"tt","","")}})},49442:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("fontcolor")},{fontcolor:function(s){return n(this,"font","color",s)}})},16012:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("fontsize")},{fontsize:function(s){return n(this,"font","size",s)}})},93087:function(i,d,t){var r=t(14304),n=t(11286),e=t(4652),o=RangeError,s=String.fromCharCode,u=String.fromCodePoint,l=n([].join),v=!!u&&u.length!==1;r({target:"String",stat:!0,arity:1,forced:v},{fromCodePoint:function(g){for(var y=[],p=arguments.length,m=0,S;p>m;){if(S=+arguments[m++],e(S,1114111)!==S)throw new o(S+" is not a valid code point");y[m]=S<65536?s(S):s(((S-=65536)>>10)+55296,S%1024+56320)}return l(y,"")}})},26021:function(i,d,t){var r=t(14304),n=t(11286),e=t(92337),o=t(2068),s=t(17361),u=t(8790),l=n("".indexOf);r({target:"String",proto:!0,forced:!u("includes")},{includes:function(c){return!!~l(s(o(this)),s(e(c)),arguments.length>1?arguments[1]:void 0)}})},93029:function(i,d,t){var r=t(14304),n=t(11286),e=t(2068),o=t(17361),s=n("".charCodeAt);r({target:"String",proto:!0},{isWellFormed:function(){for(var l=o(e(this)),v=l.length,c=0;c=56320||++c>=v||(s(l,c)&64512)!==56320))return!1}return!0}})},9943:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("italics")},{italics:function(){return n(this,"i","","")}})},59158:function(i,d,t){var r=t(22149).charAt,n=t(17361),e=t(82367),o=t(10218),s=t(10659),u="String Iterator",l=e.set,v=e.getterFor(u);o(String,"String",function(c){l(this,{type:u,string:n(c),index:0})},function(){var g=v(this),y=g.string,p=g.index,m;return p>=y.length?s(void 0,!0):(m=r(y,p),g.index+=m.length,s(m,!1))})},33128:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("link")},{link:function(s){return n(this,"a","href",s)}})},18509:function(i,d,t){var r=t(14304),n=t(96499),e=t(77422),o=t(26820),s=t(10659),u=t(2068),l=t(45344),v=t(17361),c=t(25001),g=t(5683),y=t(14274),p=t(11566),m=t(54932),S=t(10512),x=t(16142),O=t(72069),P=t(18565),T=t(16887),R=t(24487),N=t(33064),A=t(82367),C=t(70457),D=P("matchAll"),$="RegExp String",F=$+" Iterator",L=A.set,G=A.getterFor(F),H=RegExp.prototype,U=TypeError,B=e("".indexOf),j=e("".matchAll),z=!!j&&!O(function(){j("a",/./)}),Q=o(function(Z,gt,lt,yt){L(this,{type:F,regexp:Z,string:gt,global:lt,unicode:yt,done:!1})},$,function(){var Z=G(this);if(Z.done)return s(void 0,!0);var gt=Z.regexp,lt=Z.string,yt=N(gt,lt);return yt===null?(Z.done=!0,s(void 0,!0)):Z.global?(v(yt[0])===""&&(gt.lastIndex=R(lt,l(gt.lastIndex),Z.unicode)),s(yt,!1)):(Z.done=!0,s(yt,!1))}),X=function(k){var Z=c(this),gt=v(k),lt=T(Z,RegExp),yt=v(m(Z)),Ot,Rt,Wt;return Ot=new lt(lt===RegExp?Z.source:Z,yt),Rt=!!~B(yt,"g"),Wt=!!~B(yt,"u"),Ot.lastIndex=l(Z.lastIndex),new Q(Ot,gt,Rt,Wt)};r({target:"String",proto:!0,forced:z},{matchAll:function(Z){var gt=u(this),lt,yt,Ot,Rt;if(g(Z)){if(z)return j(gt,Z)}else{if(p(Z)&&(lt=v(u(m(Z))),!~B(lt,"g")))throw new U("`.matchAll` does not allow non-global regexes");if(z)return j(gt,Z);if(Ot=S(Z,D),Ot===void 0&&C&&y(Z)==="RegExp"&&(Ot=X),Ot)return n(Ot,Z,gt)}return yt=v(gt),Rt=new RegExp(Z,"g"),C?n(X,Rt,yt):Rt[D](yt)}}),C||D in H||x(H,D,X)},15599:function(i,d,t){var r=t(96499),n=t(63194),e=t(25001),o=t(5683),s=t(45344),u=t(17361),l=t(2068),v=t(10512),c=t(24487),g=t(33064);n("match",function(y,p,m){return[function(x){var O=l(this),P=o(x)?void 0:v(x,y);return P?r(P,x,O):new RegExp(x)[y](u(O))},function(S){var x=e(this),O=u(S),P=m(p,x,O);if(P.done)return P.value;if(!x.global)return g(x,O);var T=x.unicode;x.lastIndex=0;for(var R=[],N=0,A;(A=g(x,O))!==null;){var C=u(A[0]);R[N]=C,C===""&&(x.lastIndex=c(O,s(x.lastIndex),T)),N++}return N===0?null:R}]})},21579:function(i,d,t){var r=t(14304),n=t(61607).end,e=t(36945);r({target:"String",proto:!0,forced:e},{padEnd:function(s){return n(this,s,arguments.length>1?arguments[1]:void 0)}})},8854:function(i,d,t){var r=t(14304),n=t(61607).start,e=t(36945);r({target:"String",proto:!0,forced:e},{padStart:function(s){return n(this,s,arguments.length>1?arguments[1]:void 0)}})},57676:function(i,d,t){var r=t(14304),n=t(11286),e=t(36859),o=t(49671),s=t(17361),u=t(82628),l=n([].push),v=n([].join);r({target:"String",stat:!0},{raw:function(g){var y=e(o(g).raw),p=u(y);if(!p)return"";for(var m=arguments.length,S=[],x=0;;){if(l(S,s(y[x++])),x===p)return v(S,"");xG.length?-1:O(G,H,z+j);return X")!=="7"});o("replace",function(U,B,j){var z=G?"$":"$0";return[function(X,k){var Z=p(this),gt=v(X)?void 0:S(X,T);return gt?n(gt,X,Z,k):n(B,y(Z),X,k)},function(Q,X){var k=u(this),Z=y(Q);if(typeof X=="string"&&D(X,z)===-1&&D(X,"$<")===-1){var gt=j(B,k,Z,X);if(gt.done)return gt.value}var lt=l(X);lt||(X=y(X));var yt=k.global,Ot;yt&&(Ot=k.unicode,k.lastIndex=0);for(var Rt=[],Wt;Wt=O(k,Z),!(Wt===null||(C(Rt,Wt),!yt));){var Vt=y(Wt[0]);Vt===""&&(k.lastIndex=m(Z,g(k.lastIndex),Ot))}for(var $t="",vt=0,mt=0;mt=vt&&($t+=$(Z,vt,Ft)+Bt,vt=Ft+Mt.length)}return $t+$(Z,vt)}]},!H||!L||G)},74980:function(i,d,t){var r=t(96499),n=t(63194),e=t(25001),o=t(5683),s=t(2068),u=t(13944),l=t(17361),v=t(10512),c=t(33064);n("search",function(g,y,p){return[function(S){var x=s(this),O=o(S)?void 0:v(S,g);return O?r(O,S,x):new RegExp(S)[g](l(x))},function(m){var S=e(this),x=l(m),O=p(y,S,x);if(O.done)return O.value;var P=S.lastIndex;u(P,0)||(S.lastIndex=0);var T=c(S,x);return u(S.lastIndex,P)||(S.lastIndex=P),T===null?-1:T.index}]})},95625:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("small")},{small:function(){return n(this,"small","","")}})},390:function(i,d,t){var r=t(96499),n=t(11286),e=t(63194),o=t(25001),s=t(5683),u=t(2068),l=t(16887),v=t(24487),c=t(45344),g=t(17361),y=t(10512),p=t(33064),m=t(39807),S=t(72069),x=m.UNSUPPORTED_Y,O=4294967295,P=Math.min,T=n([].push),R=n("".slice),N=!S(function(){var C=/(?:)/,D=C.exec;C.exec=function(){return D.apply(this,arguments)};var $="ab".split(C);return $.length!==2||$[0]!=="a"||$[1]!=="b"}),A="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;e("split",function(C,D,$){var F="0".split(void 0,0).length?function(L,G){return L===void 0&&G===0?[]:r(D,this,L,G)}:D;return[function(G,H){var U=u(this),B=s(G)?void 0:y(G,C);return B?r(B,G,U,H):r(F,g(U),G,H)},function(L,G){var H=o(this),U=g(L);if(!A){var B=$(F,H,U,G,F!==D);if(B.done)return B.value}var j=l(H,RegExp),z=H.unicode,Q=(H.ignoreCase?"i":"")+(H.multiline?"m":"")+(H.unicode?"u":"")+(x?"g":"y"),X=new j(x?"^(?:"+H.source+")":H,Q),k=G===void 0?O:G>>>0;if(k===0)return[];if(U.length===0)return p(X,U)===null?[U]:[];for(var Z=0,gt=0,lt=[];gt1?arguments[1]:void 0,O.length)),T=s(x);return g(O,P,P+T.length)===T}})},90614:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("strike")},{strike:function(){return n(this,"strike","","")}})},60120:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("sub")},{sub:function(){return n(this,"sub","","")}})},21293:function(i,d,t){var r=t(14304),n=t(11286),e=t(2068),o=t(12105),s=t(17361),u=n("".slice),l=Math.max,v=Math.min,c=!"".substr||"ab".substr(-1)!=="b";r({target:"String",proto:!0,forced:c},{substr:function(y,p){var m=s(e(this)),S=m.length,x=o(y),O,P;return x===1/0&&(x=0),x<0&&(x=l(S+x,0)),O=p===void 0?S:o(p),O<=0||O===1/0?"":(P=v(x+O,S),x>=P?"":u(m,x,P))}})},75826:function(i,d,t){var r=t(14304),n=t(68422),e=t(5287);r({target:"String",proto:!0,forced:e("sup")},{sup:function(){return n(this,"sup","","")}})},18184:function(i,d,t){var r=t(14304),n=t(96499),e=t(11286),o=t(2068),s=t(17361),u=t(72069),l=Array,v=e("".charAt),c=e("".charCodeAt),g=e([].join),y="".toWellFormed,p="\uFFFD",m=y&&u(function(){return n(y,1)!=="1"});r({target:"String",proto:!0,forced:m},{toWellFormed:function(){var x=s(o(this));if(m)return n(y,x);for(var O=x.length,P=l(O),T=0;T=56320||T+1>=O||(c(x,T+1)&64512)!==56320?P[T]=p:(P[T]=v(x,T),P[++T]=v(x,T))}return g(P,"")}})},19680:function(i,d,t){t(23283);var r=t(14304),n=t(75176);r({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==n},{trimEnd:n})},12272:function(i,d,t){var r=t(14304),n=t(83481);r({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==n},{trimLeft:n})},23283:function(i,d,t){var r=t(14304),n=t(75176);r({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==n},{trimRight:n})},4193:function(i,d,t){t(12272);var r=t(14304),n=t(83481);r({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==n},{trimStart:n})},75012:function(i,d,t){var r=t(14304),n=t(85900).trim,e=t(33328);r({target:"String",proto:!0,forced:e("trim")},{trim:function(){return n(this)}})},43606:function(i,d,t){var r=t(83749);r("asyncIterator")},51767:function(i,d,t){var r=t(14304),n=t(34246),e=t(96499),o=t(11286),s=t(70457),u=t(92986),l=t(39729),v=t(72069),c=t(94879),g=t(95307),y=t(25001),p=t(36859),m=t(50035),S=t(17361),x=t(18526),O=t(5406),P=t(18350),T=t(83258),R=t(92880),N=t(24943),A=t(71349),C=t(7831),D=t(61963),$=t(79591),F=t(16142),L=t(85500),G=t(96731),H=t(44869),U=t(19423),B=t(36374),j=t(18565),z=t(56529),Q=t(83749),X=t(60796),k=t(78401),Z=t(82367),gt=t(66655).forEach,lt=H("hidden"),yt="Symbol",Ot="prototype",Rt=Z.set,Wt=Z.getterFor(yt),Vt=Object[Ot],$t=n.Symbol,vt=$t&&$t[Ot],mt=n.RangeError,Mt=n.TypeError,Ft=n.QObject,Nt=A.f,Bt=C.f,qt=R.f,_t=$.f,Xt=o([].push),Lt=G("symbols"),Jt=G("op-symbols"),Yt=G("wks"),jt=!Ft||!Ft[Ot]||!Ft[Ot].findChild,st=function(et,it,ot){var ct=Nt(Vt,it);ct&&delete Vt[it],Bt(et,it,ot),ct&&et!==Vt&&Bt(Vt,it,ct)},dt=u&&v(function(){return O(Bt({},"a",{get:function(){return Bt(this,"a",{value:7}).a}})).a!==7})?st:Bt,_=function(et,it){var ot=Lt[et]=O(vt);return Rt(ot,{type:yt,tag:et,description:it}),u||(ot.description=it),ot},At=function(it,ot,ct){it===Vt&&At(Jt,ot,ct),y(it);var rt=m(ot);return y(ct),c(Lt,rt)?(ct.enumerable?(c(it,lt)&&it[lt][rt]&&(it[lt][rt]=!1),ct=O(ct,{enumerable:x(0,!1)})):(c(it,lt)||Bt(it,lt,x(1,O(null))),it[lt][rt]=!0),dt(it,rt,ct)):Bt(it,rt,ct)},Pt=function(it,ot){y(it);var ct=p(ot),rt=P(ct).concat(K(ct));return gt(rt,function(Dt){(!u||e(St,ct,Dt))&&At(it,Dt,ct[Dt])}),it},It=function(it,ot){return ot===void 0?O(it):Pt(O(it),ot)},St=function(it){var ot=m(it),ct=e(_t,this,ot);return this===Vt&&c(Lt,ot)&&!c(Jt,ot)?!1:ct||!c(this,ot)||!c(Lt,ot)||c(this,lt)&&this[lt][ot]?ct:!0},er=function(it,ot){var ct=p(it),rt=m(ot);if(!(ct===Vt&&c(Lt,rt)&&!c(Jt,rt))){var Dt=Nt(ct,rt);return Dt&&c(Lt,rt)&&!(c(ct,lt)&&ct[lt][rt])&&(Dt.enumerable=!0),Dt}},or=function(it){var ot=qt(p(it)),ct=[];return gt(ot,function(rt){!c(Lt,rt)&&!c(U,rt)&&Xt(ct,rt)}),ct},K=function(et){var it=et===Vt,ot=qt(it?Jt:p(et)),ct=[];return gt(ot,function(rt){c(Lt,rt)&&(!it||c(Vt,rt))&&Xt(ct,Lt[rt])}),ct};l||($t=function(){if(g(vt,this))throw new Mt("Symbol is not a constructor");var it=!arguments.length||arguments[0]===void 0?void 0:S(arguments[0]),ot=B(it),ct=function(rt){var Dt=this===void 0?n:this;Dt===Vt&&e(ct,Jt,rt),c(Dt,lt)&&c(Dt[lt],ot)&&(Dt[lt][ot]=!1);var kt=x(1,rt);try{dt(Dt,ot,kt)}catch(nt){if(!(nt instanceof mt))throw nt;st(Dt,ot,kt)}};return u&&jt&&dt(Vt,ot,{configurable:!0,set:ct}),_(ot,it)},vt=$t[Ot],F(vt,"toString",function(){return Wt(this).tag}),F($t,"withoutSetter",function(et){return _(B(et),et)}),$.f=St,C.f=At,D.f=Pt,A.f=er,T.f=R.f=or,N.f=K,z.f=function(et){return _(j(et),et)},u&&(L(vt,"description",{configurable:!0,get:function(){return Wt(this).description}}),s||F(Vt,"propertyIsEnumerable",St,{unsafe:!0}))),r({global:!0,constructor:!0,wrap:!0,forced:!l,sham:!l},{Symbol:$t}),gt(P(Yt),function(et){Q(et)}),r({target:yt,stat:!0,forced:!l},{useSetter:function(){jt=!0},useSimple:function(){jt=!1}}),r({target:"Object",stat:!0,forced:!l,sham:!u},{create:It,defineProperty:At,defineProperties:Pt,getOwnPropertyDescriptor:er}),r({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:or}),X(),k($t,yt),U[lt]=!0},43657:function(i,d,t){var r=t(14304),n=t(92986),e=t(34246),o=t(11286),s=t(94879),u=t(23583),l=t(95307),v=t(17361),c=t(85500),g=t(93706),y=e.Symbol,p=y&&y.prototype;if(n&&u(y)&&(!("description"in p)||y().description!==void 0)){var m={},S=function(){var C=arguments.length<1||arguments[0]===void 0?void 0:v(arguments[0]),D=l(p,this)?new y(C):C===void 0?y():y(C);return C===""&&(m[D]=!0),D};g(S,y),S.prototype=p,p.constructor=S;var x=String(y("description detection"))==="Symbol(description detection)",O=o(p.valueOf),P=o(p.toString),T=/^Symbol\((.*)\)[^)]+$/,R=o("".replace),N=o("".slice);c(p,"description",{configurable:!0,get:function(){var C=O(this);if(s(m,C))return"";var D=P(C),$=x?N(D,7,-1):R(D,T,"$1");return $===""?void 0:$}}),r({global:!0,constructor:!0,forced:!0},{Symbol:S})}},20872:function(i,d,t){var r=t(14304),n=t(38941),e=t(94879),o=t(17361),s=t(96731),u=t(61190),l=s("string-to-symbol-registry"),v=s("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!u},{for:function(c){var g=o(c);if(e(l,g))return l[g];var y=n("Symbol")(g);return l[g]=y,v[y]=g,y}})},15855:function(i,d,t){var r=t(83749);r("hasInstance")},42026:function(i,d,t){var r=t(83749);r("isConcatSpreadable")},33257:function(i,d,t){var r=t(83749);r("iterator")},40949:function(i,d,t){t(51767),t(20872),t(94762),t(71332),t(45223)},94762:function(i,d,t){var r=t(14304),n=t(94879),e=t(491),o=t(82453),s=t(96731),u=t(61190),l=s("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!u},{keyFor:function(c){if(!e(c))throw new TypeError(o(c)+" is not a symbol");if(n(l,c))return l[c]}})},88344:function(i,d,t){var r=t(83749);r("matchAll")},59414:function(i,d,t){var r=t(83749);r("match")},92579:function(i,d,t){var r=t(83749);r("replace")},94655:function(i,d,t){var r=t(83749);r("search")},8565:function(i,d,t){var r=t(83749);r("species")},60843:function(i,d,t){var r=t(83749);r("split")},65842:function(i,d,t){var r=t(83749),n=t(60796);r("toPrimitive"),n()},51595:function(i,d,t){var r=t(38941),n=t(83749),e=t(78401);n("toStringTag"),e(r("Symbol"),"Symbol")},54908:function(i,d,t){var r=t(83749);r("unscopables")},71998:function(i,d,t){var r=t(88037),n=t(82628),e=t(12105),o=r.aTypedArray,s=r.exportTypedArrayMethod;s("at",function(l){var v=o(this),c=n(v),g=e(l),y=g>=0?g:c+g;return y<0||y>=c?void 0:v[y]})},6116:function(i,d,t){var r=t(11286),n=t(88037),e=t(81499),o=r(e),s=n.aTypedArray,u=n.exportTypedArrayMethod;u("copyWithin",function(v,c){return o(s(this),v,c,arguments.length>2?arguments[2]:void 0)})},33032:function(i,d,t){var r=t(88037),n=t(66655).every,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("every",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},80962:function(i,d,t){var r=t(88037),n=t(43011),e=t(11344),o=t(9205),s=t(96499),u=t(11286),l=t(72069),v=r.aTypedArray,c=r.exportTypedArrayMethod,g=u("".slice),y=l(function(){var p=0;return new Int8Array(2).fill({valueOf:function(){return p++}}),p!==1});c("fill",function(m){var S=arguments.length;v(this);var x=g(o(this),0,3)==="Big"?e(m):+m;return s(n,this,x,S>1?arguments[1]:void 0,S>2?arguments[2]:void 0)},y)},49381:function(i,d,t){var r=t(88037),n=t(66655).filter,e=t(39954),o=r.aTypedArray,s=r.exportTypedArrayMethod;s("filter",function(l){var v=n(o(this),l,arguments.length>1?arguments[1]:void 0);return e(this,v)})},65961:function(i,d,t){var r=t(88037),n=t(66655).findIndex,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("findIndex",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},16028:function(i,d,t){var r=t(88037),n=t(73849).findLastIndex,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("findLastIndex",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},94153:function(i,d,t){var r=t(88037),n=t(73849).findLast,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("findLast",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},38344:function(i,d,t){var r=t(88037),n=t(66655).find,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("find",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},25560:function(i,d,t){var r=t(80357);r("Float32",function(n){return function(o,s,u){return n(this,o,s,u)}})},22571:function(i,d,t){var r=t(80357);r("Float64",function(n){return function(o,s,u){return n(this,o,s,u)}})},20656:function(i,d,t){var r=t(88037),n=t(66655).forEach,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("forEach",function(u){n(e(this),u,arguments.length>1?arguments[1]:void 0)})},17063:function(i,d,t){var r=t(46868),n=t(88037).exportTypedArrayStaticMethod,e=t(66169);n("from",e,r)},21774:function(i,d,t){var r=t(88037),n=t(94319).includes,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("includes",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},51761:function(i,d,t){var r=t(88037),n=t(94319).indexOf,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("indexOf",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},36849:function(i,d,t){var r=t(80357);r("Int16",function(n){return function(o,s,u){return n(this,o,s,u)}})},49191:function(i,d,t){var r=t(80357);r("Int32",function(n){return function(o,s,u){return n(this,o,s,u)}})},40704:function(i,d,t){var r=t(80357);r("Int8",function(n){return function(o,s,u){return n(this,o,s,u)}})},12317:function(i,d,t){var r=t(34246),n=t(72069),e=t(11286),o=t(88037),s=t(35054),u=t(18565),l=u("iterator"),v=r.Uint8Array,c=e(s.values),g=e(s.keys),y=e(s.entries),p=o.aTypedArray,m=o.exportTypedArrayMethod,S=v&&v.prototype,x=!n(function(){S[l].call([1])}),O=!!S&&S.values&&S[l]===S.values&&S.values.name==="values",P=function(){return c(p(this))};m("entries",function(){return y(p(this))},x),m("keys",function(){return g(p(this))},x),m("values",P,x||!O,{name:"values"}),m(l,P,x||!O,{name:"values"})},19711:function(i,d,t){var r=t(88037),n=t(11286),e=r.aTypedArray,o=r.exportTypedArrayMethod,s=n([].join);o("join",function(l){return s(e(this),l)})},41034:function(i,d,t){var r=t(88037),n=t(66543),e=t(58465),o=r.aTypedArray,s=r.exportTypedArrayMethod;s("lastIndexOf",function(l){var v=arguments.length;return n(e,o(this),v>1?[l,arguments[1]]:[l])})},13313:function(i,d,t){var r=t(88037),n=t(66655).map,e=r.aTypedArray,o=r.getTypedArrayConstructor,s=r.exportTypedArrayMethod;s("map",function(l){return n(e(this),l,arguments.length>1?arguments[1]:void 0,function(v,c){return new(o(v))(c)})})},44698:function(i,d,t){var r=t(88037),n=t(46868),e=r.aTypedArrayConstructor,o=r.exportTypedArrayStaticMethod;o("of",function(){for(var u=0,l=arguments.length,v=new(e(this))(l);l>u;)v[u]=arguments[u++];return v},n)},66178:function(i,d,t){var r=t(88037),n=t(97264).right,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("reduceRight",function(u){var l=arguments.length;return n(e(this),u,l,l>1?arguments[1]:void 0)})},7369:function(i,d,t){var r=t(88037),n=t(97264).left,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("reduce",function(u){var l=arguments.length;return n(e(this),u,l,l>1?arguments[1]:void 0)})},67961:function(i,d,t){var r=t(88037),n=r.aTypedArray,e=r.exportTypedArrayMethod,o=Math.floor;e("reverse",function(){for(var u=this,l=n(u).length,v=o(l/2),c=0,g;c1?arguments[1]:void 0,1),R=u(P);if(S)return n(y,this,R,T);var N=this.length,A=o(R),C=0;if(A+T>N)throw new v("Wrong length");for(;Cm;)x[m]=y[m++];return x},l)},9711:function(i,d,t){var r=t(88037),n=t(66655).some,e=r.aTypedArray,o=r.exportTypedArrayMethod;o("some",function(u){return n(e(this),u,arguments.length>1?arguments[1]:void 0)})},3923:function(i,d,t){var r=t(34246),n=t(77422),e=t(72069),o=t(85156),s=t(13270),u=t(88037),l=t(507),v=t(17417),c=t(44241),g=t(66577),y=u.aTypedArray,p=u.exportTypedArrayMethod,m=r.Uint16Array,S=m&&n(m.prototype.sort),x=!!S&&!(e(function(){S(new m(2),null)})&&e(function(){S(new m(2),{})})),O=!!S&&!e(function(){if(c)return c<74;if(l)return l<67;if(v)return!0;if(g)return g<602;var T=new m(516),R=Array(516),N,A;for(N=0;N<516;N++)A=N%4,T[N]=515-N,R[N]=N-2*A+3;for(S(T,function(C,D){return(C/4|0)-(D/4|0)}),N=0;N<516;N++)if(T[N]!==R[N])return!0}),P=function(T){return function(R,N){return T!==void 0?+T(R,N)||0:N!==N?-1:R!==R?1:R===0&&N===0?1/R>0&&1/N<0?1:-1:R>N}};p("sort",function(R){return R!==void 0&&o(R),O?S(this,R):s(y(this),P(R))},!O||x)},59728:function(i,d,t){var r=t(88037),n=t(45344),e=t(4652),o=r.aTypedArray,s=r.getTypedArrayConstructor,u=r.exportTypedArrayMethod;u("subarray",function(v,c){var g=o(this),y=g.length,p=e(v,y),m=s(g);return new m(g.buffer,g.byteOffset+p*g.BYTES_PER_ELEMENT,n((c===void 0?y:e(c,y))-p))})},85227:function(i,d,t){var r=t(34246),n=t(66543),e=t(88037),o=t(72069),s=t(22806),u=r.Int8Array,l=e.aTypedArray,v=e.exportTypedArrayMethod,c=[].toLocaleString,g=!!u&&o(function(){c.call(new u(1))}),y=o(function(){return[1,2].toLocaleString()!==new u([1,2]).toLocaleString()})||!o(function(){u.prototype.toLocaleString.call([1,2])});v("toLocaleString",function(){return n(c,g?s(l(this)):l(this),s(arguments))},y)},56933:function(i,d,t){var r=t(61638),n=t(88037),e=n.aTypedArray,o=n.exportTypedArrayMethod,s=n.getTypedArrayConstructor;o("toReversed",function(){return r(e(this),s(this))})},91490:function(i,d,t){var r=t(88037),n=t(11286),e=t(85156),o=t(5220),s=r.aTypedArray,u=r.getTypedArrayConstructor,l=r.exportTypedArrayMethod,v=n(r.TypedArrayPrototype.sort);l("toSorted",function(g){g!==void 0&&e(g);var y=s(this),p=o(u(y),y);return v(p,g)})},61766:function(i,d,t){var r=t(88037).exportTypedArrayMethod,n=t(72069),e=t(34246),o=t(11286),s=e.Uint8Array,u=s&&s.prototype||{},l=[].toString,v=o([].join);n(function(){l.call({})})&&(l=function(){return v(this)});var c=u.toString!==l;r("toString",l,c)},44884:function(i,d,t){var r=t(80357);r("Uint16",function(n){return function(o,s,u){return n(this,o,s,u)}})},48658:function(i,d,t){var r=t(80357);r("Uint32",function(n){return function(o,s,u){return n(this,o,s,u)}})},81083:function(i,d,t){var r=t(80357);r("Uint8",function(n){return function(o,s,u){return n(this,o,s,u)}})},27428:function(i,d,t){var r=t(80357);r("Uint8",function(n){return function(o,s,u){return n(this,o,s,u)}},!0)},85143:function(i,d,t){var r=t(72302),n=t(88037),e=t(77129),o=t(12105),s=t(11344),u=n.aTypedArray,l=n.getTypedArrayConstructor,v=n.exportTypedArrayMethod,c=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(g){return g===8}}();v("with",function(g,y){var p=u(this),m=o(g),S=e(p)?s(y):+y;return r(p,l(p),m,S)},!c)},47005:function(i,d,t){var r=t(14304),n=t(11286),e=t(17361),o=String.fromCharCode,s=n("".charAt),u=n(/./.exec),l=n("".slice),v=/^[\da-f]{2}$/i,c=/^[\da-f]{4}$/i;r({global:!0},{unescape:function(y){for(var p=e(y),m="",S=p.length,x=0,O,P;x>(-2*U&6)));return G}})},60869:function(i,d,t){var r=t(14304),n=t(34246),e=t(38941),o=t(11286),s=t(96499),u=t(72069),l=t(17361),v=t(95486),c=t(6210).i2c,g=e("btoa"),y=o("".charAt),p=o("".charCodeAt),m=!!g&&!u(function(){return g("hi")!=="aGk="}),S=m&&!u(function(){g()}),x=m&&u(function(){return g(null)!=="bnVsbA=="}),O=m&&g.length!==1;r({global:!0,bind:!0,enumerable:!0,forced:!m||S||x||O},{btoa:function(T){if(v(arguments.length,1),m)return s(g,n,l(T));for(var R=l(T),N="",A=0,C=c,D,$;y(R,A)||(C="=",A%1);){if($=p(R,A+=.75),$>255)throw new(e("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");D=D<<8|$,N+=y(C,63&D>>8-A%1*8)}return N}})},66722:function(i,d,t){var r=t(14304),n=t(34246),e=t(23115).clear;r({global:!0,bind:!0,enumerable:!0,forced:n.clearImmediate!==e},{clearImmediate:e})},50338:function(i,d,t){var r=t(34246),n=t(93014),e=t(39882),o=t(13349),s=t(90809),u=function(v){if(v&&v.forEach!==o)try{s(v,"forEach",o)}catch(c){v.forEach=o}};for(var l in n)n[l]&&u(r[l]&&r[l].prototype);u(e)},53059:function(i,d,t){var r=t(34246),n=t(93014),e=t(39882),o=t(35054),s=t(90809),u=t(78401),l=t(18565),v=l("iterator"),c=o.values,g=function(p,m){if(p){if(p[v]!==c)try{s(p,v,c)}catch(x){p[v]=c}if(u(p,m,!0),n[m]){for(var S in o)if(p[S]!==o[S])try{s(p,S,o[S])}catch(x){p[S]=o[S]}}}};for(var y in n)g(r[y]&&r[y].prototype,y);g(e,"DOMTokenList")},5805:function(i,d,t){var r=t(14304),n=t(38941),e=t(81191),o=t(72069),s=t(5406),u=t(18526),l=t(7831).f,v=t(16142),c=t(85500),g=t(94879),y=t(12833),p=t(25001),m=t(58434),S=t(15453),x=t(74408),O=t(40851),P=t(82367),T=t(92986),R=t(70457),N="DOMException",A="DATA_CLONE_ERR",C=n("Error"),D=n(N)||function(){try{var vt=n("MessageChannel")||e("worker_threads").MessageChannel;new vt().port1.postMessage(new WeakMap)}catch(mt){if(mt.name===A&&mt.code===25)return mt.constructor}}(),$=D&&D.prototype,F=C.prototype,L=P.set,G=P.getterFor(N),H="stack"in new C(N),U=function(vt){return g(x,vt)&&x[vt].m?x[vt].c:0},B=function(){y(this,j);var mt=arguments.length,Mt=S(mt<1?void 0:arguments[0]),Ft=S(mt<2?void 0:arguments[1],"Error"),Nt=U(Ft);if(L(this,{type:N,name:Ft,message:Mt,code:Nt}),T||(this.name=Ft,this.message=Mt,this.code=Nt),H){var Bt=new C(Mt);Bt.name=N,l(this,"stack",u(1,O(Bt.stack,1)))}},j=B.prototype=s(F),z=function(vt){return{enumerable:!0,configurable:!0,get:vt}},Q=function(vt){return z(function(){return G(this)[vt]})};T&&(c(j,"code",Q("code")),c(j,"message",Q("message")),c(j,"name",Q("name"))),l(j,"constructor",u(1,B));var X=o(function(){return!(new D instanceof C)}),k=X||o(function(){return F.toString!==m||String(new D(1,2))!=="2: 1"}),Z=X||o(function(){return new D(1,"DataCloneError").code!==25}),gt=X||D[A]!==25||$[A]!==25,lt=R?k||Z||gt:X;r({global:!0,constructor:!0,forced:lt},{DOMException:lt?B:D});var yt=n(N),Ot=yt.prototype;k&&(R||D===yt)&&v(Ot,"toString",m),Z&&T&&D===yt&&c(Ot,"code",z(function(){return U(p(this).name)}));for(var Rt in x)if(g(x,Rt)){var Wt=x[Rt],Vt=Wt.s,$t=u(6,Wt.c);g(yt,Vt)||l(yt,Vt,$t),g(Ot,Vt)||l(Ot,Vt,$t)}},50685:function(i,d,t){var r=t(14304),n=t(34246),e=t(38941),o=t(18526),s=t(7831).f,u=t(94879),l=t(12833),v=t(32345),c=t(15453),g=t(74408),y=t(40851),p=t(92986),m=t(70457),S="DOMException",x=e("Error"),O=e(S),P=function(){l(this,T);var B=arguments.length,j=c(B<1?void 0:arguments[0]),z=c(B<2?void 0:arguments[1],"Error"),Q=new O(j,z),X=new x(j);return X.name=S,s(Q,"stack",o(1,y(X.stack,1))),v(Q,this,P),Q},T=P.prototype=O.prototype,R="stack"in new x(S),N="stack"in new O(1,2),A=O&&p&&Object.getOwnPropertyDescriptor(n,S),C=!!A&&!(A.writable&&A.configurable),D=R&&!C&&!N;r({global:!0,constructor:!0,forced:m||D},{DOMException:D?P:O});var $=e(S),F=$.prototype;if(F.constructor!==$){m||s(F,"constructor",o(1,$));for(var L in g)if(u(g,L)){var G=g[L],H=G.s;u($,H)||s($,H,o(6,G.c))}}},70649:function(i,d,t){var r=t(38941),n=t(78401),e="DOMException";n(r(e),e)},39842:function(i,d,t){t(66722),t(8235)},82872:function(i,d,t){var r=t(14304),n=t(34246),e=t(9709),o=t(85156),s=t(95486),u=t(72069),l=t(92986),v=u(function(){return l&&Object.getOwnPropertyDescriptor(n,"queueMicrotask").value.length!==1});r({global:!0,enumerable:!0,dontCallGetSet:!0,forced:v},{queueMicrotask:function(g){s(arguments.length,1),e(o(g))}})},91401:function(i,d,t){var r=t(14304),n=t(34246),e=t(85500),o=t(92986),s=TypeError,u=Object.defineProperty,l=n.self!==n;try{if(o){var v=Object.getOwnPropertyDescriptor(n,"self");(l||!v||!v.get||!v.enumerable)&&e(n,"self",{get:function(){return n},set:function(g){if(this!==n)throw new s("Illegal invocation");u(n,"self",{value:g,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else r({global:!0,simple:!0,forced:l},{self:n})}catch(c){}},8235:function(i,d,t){var r=t(14304),n=t(34246),e=t(23115).set,o=t(9934),s=n.setImmediate?o(e,!1):e;r({global:!0,bind:!0,enumerable:!0,forced:n.setImmediate!==s},{setImmediate:s})},63981:function(i,d,t){var r=t(14304),n=t(34246),e=t(9934),o=e(n.setInterval,!0);r({global:!0,bind:!0,forced:n.setInterval!==o},{setInterval:o})},23913:function(i,d,t){var r=t(14304),n=t(34246),e=t(9934),o=e(n.setTimeout,!0);r({global:!0,bind:!0,forced:n.setTimeout!==o},{setTimeout:o})},92904:function(i,d,t){var r=t(70457),n=t(14304),e=t(34246),o=t(38941),s=t(11286),u=t(72069),l=t(36374),v=t(23583),c=t(11051),g=t(5683),y=t(37540),p=t(491),m=t(55902),S=t(25001),x=t(9205),O=t(94879),P=t(84082),T=t(90809),R=t(82628),N=t(95486),A=t(54932),C=t(1774),D=t(172),$=t(35051),F=t(63741),L=t(16929),G=t(99050),H=e.Object,U=e.Array,B=e.Date,j=e.Error,z=e.TypeError,Q=e.PerformanceMark,X=o("DOMException"),k=C.Map,Z=C.has,gt=C.get,lt=C.set,yt=D.Set,Ot=D.add,Rt=D.has,Wt=o("Object","keys"),Vt=s([].push),$t=s((!0).valueOf),vt=s(1 .valueOf),mt=s("".valueOf),Mt=s(B.prototype.getTime),Ft=l("structuredClone"),Nt="DataCloneError",Bt="Transferring",qt=function(K){return!u(function(){var et=new e.Set([7]),it=K(et),ot=K(H(7));return it===et||!it.has(7)||!y(ot)||+ot!=7})&&K},_t=function(K,et){return!u(function(){var it=new et,ot=K({a:it,b:it});return!(ot&&ot.a===ot.b&&ot.a instanceof et&&ot.a.stack===it.stack)})},Xt=function(K){return!u(function(){var et=K(new e.AggregateError([1],Ft,{cause:3}));return et.name!=="AggregateError"||et.errors[0]!==1||et.message!==Ft||et.cause!==3})},Lt=e.structuredClone,Jt=r||!_t(Lt,j)||!_t(Lt,X)||!Xt(Lt),Yt=!Lt&&qt(function(K){return new Q(Ft,{detail:K}).detail}),jt=qt(Lt)||Yt,st=function(K){throw new X("Uncloneable type: "+K,Nt)},dt=function(K,et){throw new X((et||"Cloning")+" of "+K+" cannot be properly polyfilled in this engine",Nt)},_=function(K,et){return jt||dt(et),jt(K)},At=function(){var K;try{K=new e.DataTransfer}catch(et){try{K=new e.ClipboardEvent("").clipboardData}catch(it){}}return K&&K.items&&K.files?K:null},Pt=function(K,et,it){if(Z(et,K))return gt(et,K);var ot=it||x(K),ct,rt,Dt,kt,nt,ht;if(ot==="SharedArrayBuffer")jt?ct=jt(K):ct=K;else{var pt=e.DataView;!pt&&!v(K.slice)&&dt("ArrayBuffer");try{if(v(K.slice)&&!K.resizable)ct=K.slice(0);else for(rt=K.byteLength,Dt=("maxByteLength"in K)?{maxByteLength:K.maxByteLength}:void 0,ct=new ArrayBuffer(rt,Dt),kt=new pt(K),nt=new pt(ct),ht=0;ht1&&!g(arguments[1])?S(arguments[1]):void 0,ot=it?it.transfer:void 0,ct,rt;ot!==void 0&&(ct=new k,rt=er(ot,ct));var Dt=St(et,ct);return rt&&or(rt),Dt}})},28381:function(i,d,t){t(63981),t(23913)},98812:function(i,d,t){t(35054),t(93087);var r=t(14304),n=t(34246),e=t(28167),o=t(38941),s=t(96499),u=t(11286),l=t(92986),v=t(91918),c=t(16142),g=t(85500),y=t(2725),p=t(78401),m=t(26820),S=t(82367),x=t(12833),O=t(23583),P=t(94879),T=t(45526),R=t(9205),N=t(25001),A=t(37540),C=t(17361),D=t(5406),$=t(18526),F=t(90619),L=t(81077),G=t(10659),H=t(95486),U=t(18565),B=t(13270),j=U("iterator"),z="URLSearchParams",Q=z+"Iterator",X=S.set,k=S.getterFor(z),Z=S.getterFor(Q),gt=e("fetch"),lt=e("Request"),yt=e("Headers"),Ot=lt&<.prototype,Rt=yt&&yt.prototype,Wt=n.TypeError,Vt=n.encodeURIComponent,$t=String.fromCharCode,vt=o("String","fromCodePoint"),mt=parseInt,Mt=u("".charAt),Ft=u([].join),Nt=u([].push),Bt=u("".replace),qt=u([].shift),_t=u([].splice),Xt=u("".split),Lt=u("".slice),Jt=u(/./.exec),Yt=/\+/g,jt="\uFFFD",st=/^[0-9a-f]+$/i,dt=function(nt,ht){var pt=Lt(nt,ht,ht+2);return Jt(st,pt)?mt(pt,16):NaN},_=function(nt){for(var ht=0,pt=128;pt>0&&nt&pt;pt>>=1)ht++;return ht},At=function(nt){var ht=null;switch(nt.length){case 1:ht=nt[0];break;case 2:ht=(nt[0]&31)<<6|nt[1]&63;break;case 3:ht=(nt[0]&15)<<12|(nt[1]&63)<<6|nt[2]&63;break;case 4:ht=(nt[0]&7)<<18|(nt[1]&63)<<12|(nt[2]&63)<<6|nt[3]&63;break}return ht>1114111?null:ht},Pt=function(nt){nt=Bt(nt,Yt," ");for(var ht=nt.length,pt="",xt=0;xtht){pt+="%",xt++;continue}var Zt=dt(nt,xt+1);if(Zt!==Zt){pt+=Ut,xt++;continue}xt+=2;var nr=_(Zt);if(nr===0)Ut=$t(Zt);else{if(nr===1||nr>4){pt+=jt,xt++;continue}for(var ar=[Zt],ir=1;irht||Mt(nt,xt)!=="%"));){var cr=dt(nt,xt+1);if(cr!==cr){xt+=3;break}if(cr>191||cr<128)break;Nt(ar,cr),xt+=2,ir++}if(ar.length!==nr){pt+=jt;continue}var Ur=At(ar);Ur===null?pt+=jt:Ut=vt(Ur)}}pt+=Ut,xt++}return pt},It=/[!'()~]|%20/g,St={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},er=function(nt){return St[nt]},or=function(nt){return Bt(Vt(nt),It,er)},K=m(function(ht,pt){X(this,{type:Q,target:k(ht).entries,index:0,kind:pt})},z,function(){var ht=Z(this),pt=ht.target,xt=ht.index++;if(!pt||xt>=pt.length)return ht.target=null,G(void 0,!0);var Ut=pt[xt];switch(ht.kind){case"keys":return G(Ut.key,!1);case"values":return G(Ut.value,!1)}return G([Ut.key,Ut.value],!1)},!0),et=function(nt){this.entries=[],this.url=null,nt!==void 0&&(A(nt)?this.parseObject(nt):this.parseQuery(typeof nt=="string"?Mt(nt,0)==="?"?Lt(nt,1):nt:C(nt)))};et.prototype={type:z,bindURL:function(nt){this.url=nt,this.update()},parseObject:function(nt){var ht=this.entries,pt=L(nt),xt,Ut,Zt,nr,ar,ir,cr;if(pt)for(xt=F(nt,pt),Ut=xt.next;!(Zt=s(Ut,xt)).done;){if(nr=F(N(Zt.value)),ar=nr.next,(ir=s(ar,nr)).done||(cr=s(ar,nr)).done||!s(ar,nr).done)throw new Wt("Expected sequence with length 2");Nt(ht,{key:C(ir.value),value:C(cr.value)})}else for(var Ur in nt)P(nt,Ur)&&Nt(ht,{key:Ur,value:C(nt[Ur])})},parseQuery:function(nt){if(nt)for(var ht=this.entries,pt=Xt(nt,"&"),xt=0,Ut,Zt;xt0?arguments[0]:void 0,pt=X(this,new et(ht));l||(this.size=pt.entries.length)},ot=it.prototype;if(y(ot,{append:function(ht,pt){var xt=k(this);H(arguments.length,2),Nt(xt.entries,{key:C(ht),value:C(pt)}),l||this.length++,xt.updateURL()},delete:function(nt){for(var ht=k(this),pt=H(arguments.length,1),xt=ht.entries,Ut=C(nt),Zt=pt<2?void 0:arguments[1],nr=Zt===void 0?Zt:C(Zt),ar=0;arxt.key?1:-1}),ht.updateURL()},forEach:function(ht){for(var pt=k(this).entries,xt=T(ht,arguments.length>1?arguments[1]:void 0),Ut=0,Zt;Ut1?Dt(arguments[1]):{})}}),O(lt)){var kt=function(ht){return x(this,Ot),new lt(ht,arguments.length>1?Dt(arguments[1]):{})};Ot.constructor=kt,kt.prototype=Ot,r({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:kt})}}i.exports={URLSearchParams:it,getState:k}},10901:function(i,d,t){var r=t(16142),n=t(11286),e=t(17361),o=t(95486),s=URLSearchParams,u=s.prototype,l=n(u.append),v=n(u.delete),c=n(u.forEach),g=n([].push),y=new s("a=1&a=2&b=3");y.delete("a",1),y.delete("b",void 0),y+""!="a=2"&&r(u,"delete",function(p){var m=arguments.length,S=m<2?void 0:arguments[1];if(m&&S===void 0)return v(this,p);var x=[];c(this,function(D,$){g(x,{key:$,value:D})}),o(m,1);for(var O=e(p),P=e(S),T=0,R=0,N=!1,A=x.length,C;T?@[\\\]^|]/,Lt=/[\0\t\n\r #/:<>?@[\\\]^|]/,Jt=/^[\u0000-\u0020]+/,Yt=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,jt=/[\t\n\r]/g,st,dt=function(Y){var ft=lt(Y,"."),J,V,at,zt,Ct,sr,ur;if(ft.length&&ft[ft.length-1]===""&&ft.length--,J=ft.length,J>4)return Y;for(V=[],at=0;at1&&B(zt,0)==="0"&&(Ct=j(Nt,zt)?16:8,zt=yt(zt,Ct===8?1:2)),zt==="")sr=0;else{if(!j(Ct===10?qt:Ct===8?Bt:_t,zt))return Y;sr=G(zt,Ct)}k(V,sr)}for(at=0;at=U(256,5-J))return null}else if(sr>255)return null;for(ur=X(V),at=0;at6))return;for(sr=0;lr();){if(ur=null,sr>0)if(lr()==="."&&sr<4)at++;else return;if(!j(Ft,lr()))return;for(;j(Ft,lr());){if(dr=G(lr(),10),ur===null)ur=dr;else{if(ur===0)return;ur=ur*10+dr}if(ur>255)return;at++}ft[J]=ft[J]*256+ur,sr++,(sr===2||sr===4)&&J++}if(sr!==4)return;break}else if(lr()===":"){if(at++,!lr())return}else if(lr())return;ft[J++]=zt}if(V!==null)for(Dr=J-V,J=7;J!==0&&Dr>0;)ut=ft[J],ft[J--]=ft[V+Dr-1],ft[V+--Dr]=ut;else if(J!==8)return;return ft},At=function(Y){for(var ft=null,J=1,V=null,at=0,zt=0;zt<8;zt++)Y[zt]!==0?(at>J&&(ft=V,J=at),V=null,at=0):(V===null&&(V=zt),++at);return at>J?V:ft},Pt=function(Y){var ft,J,V,at;if(typeof Y=="number"){for(ft=[],J=0;J<4;J++)Rt(ft,Y%256),Y=H(Y/256);return z(ft,".")}if(typeof Y=="object"){for(ft="",V=At(Y),J=0;J<8;J++)at&&Y[J]===0||(at&&(at=!1),V===J?(ft+=J?":":"::",at=!0):(ft+=Q(Y[J],16),J<7&&(ft+=":")));return"["+ft+"]"}return Y},It={},St=y({},It,{" ":1,'"':1,"<":1,">":1,"`":1}),er=y({},St,{"#":1,"?":1,"{":1,"}":1}),or=y({},er,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),K=function(Y,ft){var J=S(Y,0);return J>32&&J<127&&!g(ft,Y)?Y:encodeURIComponent(Y)},et={ftp:21,file:null,http:80,https:443,ws:80,wss:443},it=function(Y,ft){var J;return Y.length===2&&j(mt,B(Y,0))&&((J=B(Y,1))===":"||!ft&&J==="|")},ot=function(Y){var ft;return Y.length>1&&it(yt(Y,0,2))&&(Y.length===2||(ft=B(Y,2))==="/"||ft==="\\"||ft==="?"||ft==="#")},ct=function(Y){return Y==="."||Ot(Y)==="%2e"},rt=function(Y){return Y=Ot(Y),Y===".."||Y==="%2e."||Y===".%2e"||Y==="%2e%2e"},Dt={},kt={},nt={},ht={},pt={},xt={},Ut={},Zt={},nr={},ar={},ir={},cr={},Ur={},gn={},bn={},yn={},$r={},Br={},Fn={},Jr={},jr={},fn=function(Y,ft,J){var V=O(Y),at,zt,Ct;if(ft){if(zt=this.parse(V),zt)throw new L(zt);this.searchParams=null}else{if(J!==void 0&&(at=new fn(J,!0)),zt=this.parse(V,null,at),zt)throw new L(zt);Ct=$(new D),Ct.bindURL(this),this.searchParams=Ct}};fn.prototype={type:"URL",parse:function(Y,ft,J){var V=this,at=ft||Dt,zt=0,Ct="",sr=!1,ur=!1,dr=!1,Dr,ut,lr,wr;for(Y=O(Y),ft||(V.scheme="",V.username="",V.password="",V.host=null,V.port=null,V.path=[],V.query=null,V.fragment=null,V.cannotBeABaseURL=!1,Y=Z(Y,Jt,""),Y=Z(Y,Yt,"$1")),Y=Z(Y,jt,""),Dr=p(Y);zt<=Dr.length;){switch(ut=Dr[zt],at){case Dt:if(ut&&j(mt,ut))Ct+=Ot(ut),at=kt;else{if(ft)return Vt;at=nt;continue}break;case kt:if(ut&&(j(Mt,ut)||ut==="+"||ut==="-"||ut==="."))Ct+=Ot(ut);else if(ut===":"){if(ft&&(V.isSpecial()!==g(et,Ct)||Ct==="file"&&(V.includesCredentials()||V.port!==null)||V.scheme==="file"&&!V.host))return;if(V.scheme=Ct,ft){V.isSpecial()&&et[V.scheme]===V.port&&(V.port=null);return}Ct="",V.scheme==="file"?at=gn:V.isSpecial()&&J&&J.scheme===V.scheme?at=ht:V.isSpecial()?at=Zt:Dr[zt+1]==="/"?(at=pt,zt++):(V.cannotBeABaseURL=!0,k(V.path,""),at=Fn)}else{if(ft)return Vt;Ct="",at=nt,zt=0;continue}break;case nt:if(!J||J.cannotBeABaseURL&&ut!=="#")return Vt;if(J.cannotBeABaseURL&&ut==="#"){V.scheme=J.scheme,V.path=m(J.path),V.query=J.query,V.fragment="",V.cannotBeABaseURL=!0,at=jr;break}at=J.scheme==="file"?gn:xt;continue;case ht:if(ut==="/"&&Dr[zt+1]==="/")at=nr,zt++;else{at=xt;continue}break;case pt:if(ut==="/"){at=ar;break}else{at=Br;continue}case xt:if(V.scheme=J.scheme,ut===st)V.username=J.username,V.password=J.password,V.host=J.host,V.port=J.port,V.path=m(J.path),V.query=J.query;else if(ut==="/"||ut==="\\"&&V.isSpecial())at=Ut;else if(ut==="?")V.username=J.username,V.password=J.password,V.host=J.host,V.port=J.port,V.path=m(J.path),V.query="",at=Jr;else if(ut==="#")V.username=J.username,V.password=J.password,V.host=J.host,V.port=J.port,V.path=m(J.path),V.query=J.query,V.fragment="",at=jr;else{V.username=J.username,V.password=J.password,V.host=J.host,V.port=J.port,V.path=m(J.path),V.path.length--,at=Br;continue}break;case Ut:if(V.isSpecial()&&(ut==="/"||ut==="\\"))at=nr;else if(ut==="/")at=ar;else{V.username=J.username,V.password=J.password,V.host=J.host,V.port=J.port,at=Br;continue}break;case Zt:if(at=nr,ut!=="/"||B(Ct,zt+1)!=="/")continue;zt++;break;case nr:if(ut!=="/"&&ut!=="\\"){at=ar;continue}break;case ar:if(ut==="@"){sr&&(Ct="%40"+Ct),sr=!0,lr=p(Ct);for(var mn=0;mn65535)return vt;V.port=V.isSpecial()&&ln===et[V.scheme]?null:ln,Ct=""}if(ft)return;at=$r;continue}else return vt;break;case gn:if(V.scheme="file",ut==="/"||ut==="\\")at=bn;else if(J&&J.scheme==="file")switch(ut){case st:V.host=J.host,V.path=m(J.path),V.query=J.query;break;case"?":V.host=J.host,V.path=m(J.path),V.query="",at=Jr;break;case"#":V.host=J.host,V.path=m(J.path),V.query=J.query,V.fragment="",at=jr;break;default:ot(z(m(Dr,zt),""))||(V.host=J.host,V.path=m(J.path),V.shortenPath()),at=Br;continue}else{at=Br;continue}break;case bn:if(ut==="/"||ut==="\\"){at=yn;break}J&&J.scheme==="file"&&!ot(z(m(Dr,zt),""))&&(it(J.path[0],!0)?k(V.path,J.path[0]):V.host=J.host),at=Br;continue;case yn:if(ut===st||ut==="/"||ut==="\\"||ut==="?"||ut==="#"){if(!ft&&it(Ct))at=Br;else if(Ct===""){if(V.host="",ft)return;at=$r}else{if(wr=V.parseHost(Ct),wr)return wr;if(V.host==="localhost"&&(V.host=""),ft)return;Ct="",at=$r}continue}else Ct+=ut;break;case $r:if(V.isSpecial()){if(at=Br,ut!=="/"&&ut!=="\\")continue}else if(!ft&&ut==="?")V.query="",at=Jr;else if(!ft&&ut==="#")V.fragment="",at=jr;else if(ut!==st&&(at=Br,ut!=="/"))continue;break;case Br:if(ut===st||ut==="/"||ut==="\\"&&V.isSpecial()||!ft&&(ut==="?"||ut==="#")){if(rt(Ct)?(V.shortenPath(),ut!=="/"&&!(ut==="\\"&&V.isSpecial())&&k(V.path,"")):ct(Ct)?ut!=="/"&&!(ut==="\\"&&V.isSpecial())&&k(V.path,""):(V.scheme==="file"&&!V.path.length&&it(Ct)&&(V.host&&(V.host=""),Ct=B(Ct,0)+":"),k(V.path,Ct)),Ct="",V.scheme==="file"&&(ut===st||ut==="?"||ut==="#"))for(;V.path.length>1&&V.path[0]==="";)gt(V.path);ut==="?"?(V.query="",at=Jr):ut==="#"&&(V.fragment="",at=jr)}else Ct+=K(ut,er);break;case Fn:ut==="?"?(V.query="",at=Jr):ut==="#"?(V.fragment="",at=jr):ut!==st&&(V.path[0]+=K(ut,It));break;case Jr:!ft&&ut==="#"?(V.fragment="",at=jr):ut!==st&&(ut==="'"&&V.isSpecial()?V.query+="%27":ut==="#"?V.query+="%23":V.query+=K(ut,It));break;case jr:ut!==st&&(V.fragment+=K(ut,St));break}zt++}},parseHost:function(Y){var ft,J,V;if(B(Y,0)==="["){if(B(Y,Y.length-1)!=="]"||(ft=_(yt(Y,1,-1)),!ft))return $t;this.host=ft}else if(this.isSpecial()){if(Y=x(Y),j(Xt,Y)||(ft=dt(Y),ft===null))return $t;this.host=ft}else{if(j(Lt,Y))return $t;for(ft="",J=p(Y),V=0;V1?arguments[1]:void 0,at=A(J,new fn(ft,!1,V));n||(J.href=at.serialize(),J.origin=at.getOrigin(),J.protocol=at.getProtocol(),J.username=at.getUsername(),J.password=at.getPassword(),J.host=at.getHost(),J.hostname=at.getHostname(),J.port=at.getPort(),J.pathname=at.getPathname(),J.search=at.getSearch(),J.searchParams=at.getSearchParams(),J.hash=at.getHash())},mr=zr.prototype,Nr=function(Y,ft){return{get:function(){return C(this)[Y]()},set:ft&&function(J){return C(this)[ft](J)},configurable:!0,enumerable:!0}};if(n&&(v(mr,"href",Nr("serialize","setHref")),v(mr,"origin",Nr("getOrigin")),v(mr,"protocol",Nr("getProtocol","setProtocol")),v(mr,"username",Nr("getUsername","setUsername")),v(mr,"password",Nr("getPassword","setPassword")),v(mr,"host",Nr("getHost","setHost")),v(mr,"hostname",Nr("getHostname","setHostname")),v(mr,"port",Nr("getPort","setPort")),v(mr,"pathname",Nr("getPathname","setPathname")),v(mr,"search",Nr("getSearch","setSearch")),v(mr,"searchParams",Nr("getSearchParams")),v(mr,"hash",Nr("getHash","setHash"))),l(mr,"toJSON",function(){return C(this).serialize()},{enumerable:!0}),l(mr,"toString",function(){return C(this).serialize()},{enumerable:!0}),F){var pn=F.createObjectURL,$n=F.revokeObjectURL;pn&&l(zr,"createObjectURL",s(pn,F)),$n&&l(zr,"revokeObjectURL",s($n,F))}P(zr,"URL"),r({global:!0,constructor:!0,forced:!e,sham:!n},{URL:zr})},51862:function(i,d,t){t(81888)},24119:function(i,d,t){var r=t(14304),n=t(38941),e=t(95486),o=t(17361),s=t(91918),u=n("URL");r({target:"URL",stat:!0,forced:!s},{parse:function(v){var c=e(arguments.length,1),g=o(v),y=c<2||arguments[1]===void 0?void 0:o(arguments[1]);try{return new u(g,y)}catch(p){return null}}})},97526:function(i,d,t){var r=t(14304),n=t(96499);r({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return n(URL.prototype.toString,this)}})},61969:function(i,d,t){t(40949),t(43657),t(43606),t(15855),t(42026),t(33257),t(59414),t(88344),t(92579),t(94655),t(8565),t(60843),t(65842),t(51595),t(54908),t(81742),t(8720),t(42861),t(27796),t(1341),t(98700),t(65481),t(46509),t(41585),t(84554),t(36619),t(33818),t(64096),t(2209),t(91591),t(74092),t(54703),t(82936),t(48493),t(64730),t(95024),t(35054),t(25460),t(60703),t(90468),t(69581),t(720),t(11042),t(17289),t(24608),t(51644),t(88088),t(46828),t(90088),t(35148),t(86184),t(53983),t(42560),t(88444),t(27839),t(73051),t(9372),t(35473),t(4983),t(6875),t(68575),t(35495),t(32790),t(58594),t(30801),t(90911),t(90429),t(33685),t(60086),t(96049),t(14038),t(55518),t(8894),t(60628),t(56347),t(16864),t(93819),t(11565),t(26668),t(46386),t(35179),t(20150),t(23001),t(40334),t(87457),t(66699),t(17535),t(48157),t(55338),t(6644),t(71332),t(47269),t(25627),t(22090),t(9839),t(15656),t(22091),t(2886),t(25895),t(24228),t(79488),t(75987),t(81555),t(87854),t(35074),t(50946),t(29417),t(80628),t(74375),t(29708),t(93449),t(9111),t(83514),t(15096),t(59590),t(99663),t(89988),t(54427),t(67895),t(57909),t(83938),t(55461),t(97339),t(3670),t(15224),t(45891),t(99910),t(92445),t(21875),t(4383),t(11361),t(13728),t(14885),t(30343),t(22045),t(75e3),t(64658),t(16017),t(84681),t(73421),t(93446),t(31046),t(94645),t(62935),t(62518),t(45130),t(51542),t(43781),t(25738),t(93247),t(41533),t(60225),t(69920),t(89205),t(78546),t(63616),t(16893),t(3676),t(58361),t(7487),t(23958),t(9798),t(2371),t(76185),t(76553),t(93518),t(25227),t(91723),t(57882),t(37796),t(11563),t(26159),t(20962),t(77487),t(6130),t(1354),t(47119),t(31145),t(96773),t(14371),t(18180),t(83147),t(75765),t(86548),t(15282),t(51275),t(91890),t(15089),t(78134),t(56456),t(40735),t(8510),t(70159),t(93087),t(26021),t(93029),t(59158),t(15599),t(18509),t(21579),t(8854),t(57676),t(14527),t(96834),t(52684),t(74980),t(390),t(42794),t(21293),t(18184),t(75012),t(19680),t(4193),t(70641),t(53892),t(95976),t(399),t(72032),t(49442),t(16012),t(9943),t(33128),t(95625),t(90614),t(60120),t(75826),t(25560),t(22571),t(40704),t(36849),t(49191),t(81083),t(27428),t(44884),t(48658),t(71998),t(6116),t(33032),t(80962),t(49381),t(38344),t(65961),t(94153),t(16028),t(20656),t(17063),t(21774),t(51761),t(12317),t(19711),t(41034),t(13313),t(44698),t(7369),t(66178),t(67961),t(8695),t(69997),t(9711),t(3923),t(59728),t(85227),t(56933),t(91490),t(61766),t(85143),t(47005),t(10042),t(37888),t(19431),t(60869),t(50338),t(53059),t(5805),t(50685),t(70649),t(39842),t(82872),t(91401),t(92904),t(28381),t(51862),t(20760),t(24119),t(97526),t(86650),t(10901),t(93944),t(79043),t(75081)}},qr={};function Lr(i){var d=qr[i];if(d!==void 0)return d.exports;var t=qr[i]={exports:{}};return Ce[i].call(t.exports,t,t.exports,Lr),t.exports}(function(){Lr.d=function(i,d){for(var t in d)Lr.o(d,t)&&!Lr.o(i,t)&&Object.defineProperty(i,t,{enumerable:!0,get:d[t]})}})(),function(){Lr.o=function(i,d){return Object.prototype.hasOwnProperty.call(i,d)}}(),Lr(61969);var oe=Lr(68990);return oe=oe.default,oe}()}); diff --git a/release/latest/dist/plugin/pkgd/billboardjs-plugin-stanford.pkgd.js b/release/latest/dist/plugin/pkgd/billboardjs-plugin-stanford.pkgd.js index 53e42a721..0874bb30c 100644 --- a/release/latest/dist/plugin/pkgd/billboardjs-plugin-stanford.pkgd.js +++ b/release/latest/dist/plugin/pkgd/billboardjs-plugin-stanford.pkgd.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */ @@ -24339,9 +24339,15 @@ function getScrollPosition(node) { function getTransformCTM(node, x = 0, y = 0, inverse = true) { const point = new DOMPoint(x, y); const screen = node.getScreenCTM(); - return point.matrixTransform( + const res = point.matrixTransform( inverse ? screen == null ? void 0 : screen.inverse() : screen ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; } function getTranslation(node) { const transform = node ? node.transform : null; @@ -24618,7 +24624,7 @@ class Plugin { }); } } -__publicField(Plugin, "version", "3.14.1"); +__publicField(Plugin, "version", "3.14.2"); ;// ./node_modules/d3-axis/src/identity.js /* harmony default export */ function d3_axis_src_identity(x) { diff --git a/release/latest/dist/plugin/pkgd/billboardjs-plugin-stanford.pkgd.min.js b/release/latest/dist/plugin/pkgd/billboardjs-plugin-stanford.pkgd.min.js index 57b8c9796..c249d6c31 100644 --- a/release/latest/dist/plugin/pkgd/billboardjs-plugin-stanford.pkgd.min.js +++ b/release/latest/dist/plugin/pkgd/billboardjs-plugin-stanford.pkgd.min.js @@ -5,13 +5,13 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin - */(function(qr,Gr){typeof exports=="object"&&typeof module=="object"?module.exports=Gr():typeof define=="function"&&define.amd?define("bb",[],Gr):typeof exports=="object"?exports.bb=Gr():(qr.bb=qr.bb||{},qr.bb.plugin=qr.bb.plugin||{},qr.bb.plugin["stanford.pkgd"]=Gr())})(this,function(){return function(){"use strict";var Ne={33539:function(u,h,t){t.d(h,{default:function(){return mf}});function n(r,o,l){r.prototype=o.prototype=l,l.constructor=r}function e(r,o){var l=Object.create(r.prototype);for(var g in o)l[g]=o[g];return l}function a(){}var s=.7,i=1/s,f="\\s*([+-]?\\d+)\\s*",c="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",v="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",d=/^#([0-9a-f]{3,8})$/,p=new RegExp(`^rgb\\(${f},${f},${f}\\)$`),y=new RegExp(`^rgb\\(${v},${v},${v}\\)$`),m=new RegExp(`^rgba\\(${f},${f},${f},${c}\\)$`),S=new RegExp(`^rgba\\(${v},${v},${v},${c}\\)$`),I=new RegExp(`^hsl\\(${c},${v},${v}\\)$`),E=new RegExp(`^hsla\\(${c},${v},${v},${c}\\)$`),T={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};n(a,A,{copy(r){return Object.assign(new this.constructor,this,r)},displayable(){return this.rgb().displayable()},hex:N,formatHex:N,formatHex8:P,formatHsl:C,formatRgb:b,toString:b});function N(){return this.rgb().formatHex()}function P(){return this.rgb().formatHex8()}function C(){return q(this).formatHsl()}function b(){return this.rgb().formatRgb()}function A(r){var o,l;return r=(r+"").trim().toLowerCase(),(o=d.exec(r))?(l=o[1].length,o=parseInt(o[1],16),l===6?M(o):l===3?new j(o>>8&15|o>>4&240,o>>4&15|o&240,(o&15)<<4|o&15,1):l===8?F(o>>24&255,o>>16&255,o>>8&255,(o&255)/255):l===4?F(o>>12&15|o>>8&240,o>>8&15|o>>4&240,o>>4&15|o&240,((o&15)<<4|o&15)/255):null):(o=p.exec(r))?new j(o[1],o[2],o[3],1):(o=y.exec(r))?new j(o[1]*255/100,o[2]*255/100,o[3]*255/100,1):(o=m.exec(r))?F(o[1],o[2],o[3],o[4]):(o=S.exec(r))?F(o[1]*255/100,o[2]*255/100,o[3]*255/100,o[4]):(o=I.exec(r))?tt(o[1],o[2]/100,o[3]/100,1):(o=E.exec(r))?tt(o[1],o[2]/100,o[3]/100,o[4]):T.hasOwnProperty(r)?M(T[r]):r==="transparent"?new j(NaN,NaN,NaN,0):null}function M(r){return new j(r>>16&255,r>>8&255,r&255,1)}function F(r,o,l,g){return g<=0&&(r=o=l=NaN),new j(r,o,l,g)}function B(r){return r instanceof a||(r=A(r)),r?(r=r.rgb(),new j(r.r,r.g,r.b,r.opacity)):new j}function U(r,o,l,g){return arguments.length===1?B(r):new j(r,o,l,g==null?1:g)}function j(r,o,l,g){this.r=+r,this.g=+o,this.b=+l,this.opacity=+g}n(j,U,e(a,{brighter(r){return r=r==null?i:Math.pow(i,r),new j(this.r*r,this.g*r,this.b*r,this.opacity)},darker(r){return r=r==null?s:Math.pow(s,r),new j(this.r*r,this.g*r,this.b*r,this.opacity)},rgb(){return this},clamp(){return new j(V(this.r),V(this.g),V(this.b),G(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:W,formatHex:W,formatHex8:z,formatRgb:w,toString:w}));function W(){return`#${X(this.r)}${X(this.g)}${X(this.b)}`}function z(){return`#${X(this.r)}${X(this.g)}${X(this.b)}${X((isNaN(this.opacity)?1:this.opacity)*255)}`}function w(){const r=G(this.opacity);return`${r===1?"rgb(":"rgba("}${V(this.r)}, ${V(this.g)}, ${V(this.b)}${r===1?")":`, ${r})`}`}function G(r){return isNaN(r)?1:Math.max(0,Math.min(1,r))}function V(r){return Math.max(0,Math.min(255,Math.round(r)||0))}function X(r){return r=V(r),(r<16?"0":"")+r.toString(16)}function tt(r,o,l,g){return g<=0?r=o=l=NaN:l<=0||l>=1?r=o=NaN:o<=0&&(r=NaN),new Z(r,o,l,g)}function q(r){if(r instanceof Z)return new Z(r.h,r.s,r.l,r.opacity);if(r instanceof a||(r=A(r)),!r)return new Z;if(r instanceof Z)return r;r=r.rgb();var o=r.r/255,l=r.g/255,g=r.b/255,x=Math.min(o,l,g),O=Math.max(o,l,g),R=NaN,D=O-x,$=(O+x)/2;return D?(o===O?R=(l-g)/D+(l0&&$<1?0:R,new Z(R,D,$,r.opacity)}function rt(r,o,l,g){return arguments.length===1?q(r):new Z(r,o,l,g==null?1:g)}function Z(r,o,l,g){this.h=+r,this.s=+o,this.l=+l,this.opacity=+g}n(Z,rt,e(a,{brighter(r){return r=r==null?i:Math.pow(i,r),new Z(this.h,this.s,this.l*r,this.opacity)},darker(r){return r=r==null?s:Math.pow(s,r),new Z(this.h,this.s,this.l*r,this.opacity)},rgb(){var r=this.h%360+(this.h<0)*360,o=isNaN(r)||isNaN(this.s)?0:this.s,l=this.l,g=l+(l<.5?l:1-l)*o,x=2*l-g;return new j(xt(r>=240?r-240:r+120,x,g),xt(r,x,g),xt(r<120?r+240:r-120,x,g),this.opacity)},clamp(){return new Z(mt(this.h),ht(this.s),ht(this.l),G(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const r=G(this.opacity);return`${r===1?"hsl(":"hsla("}${mt(this.h)}, ${ht(this.s)*100}%, ${ht(this.l)*100}%${r===1?")":`, ${r})`}`}}));function mt(r){return r=(r||0)%360,r<0?r+360:r}function ht(r){return Math.max(0,Math.min(1,r||0))}function xt(r,o,l){return(r<60?o+(l-o)*r/60:r<180?l:r<240?o+(l-o)*(240-r)/60:o)*255}var Rt=r=>()=>r;function Nt(r,o){return function(l){return r+l*o}}function Jt(r,o,l){return r=Math.pow(r,l),o=Math.pow(o,l)-r,l=1/l,function(g){return Math.pow(r+g*o,l)}}function Xt(r,o){var l=o-r;return l?Nt(r,l>180||l<-180?l-360*Math.round(l/360):l):Rt(isNaN(r)?o:r)}function jt(r){return(r=+r)==1?vt:function(o,l){return l-o?Jt(o,l,r):Rt(isNaN(o)?l:o)}}function vt(r,o){var l=o-r;return l?Nt(r,l):Rt(isNaN(r)?o:r)}function Et(r){return function(o,l){var g=r((o=rt(o)).h,(l=rt(l)).h),x=vt(o.s,l.s),O=vt(o.l,l.l),R=vt(o.opacity,l.opacity);return function(D){return o.h=g(D),o.s=x(D),o.l=O(D),o.opacity=R(D),o+""}}}var $t=Et(Xt),Bt=Et(vt);function Ft(r,o,l,g,x){var O=r*r,R=O*r;return((1-3*r+3*O-R)*o+(4-6*O+3*R)*l+(1+3*r+3*O-3*R)*g+R*x)/6}function Vt(r){var o=r.length-1;return function(l){var g=l<=0?l=0:l>=1?(l=1,o-1):Math.floor(l*o),x=r[g],O=r[g+1],R=g>0?r[g-1]:2*x-O,D=gl&&(O=o.slice(l,O),D[R]?D[R]+=O:D[++R]=O),(g=g[0])===(x=x[0])?D[R]?D[R]+=x:D[++R]=x:(D[++R]=null,$.push({i:R,x:ct(g,x)})),l=bt.lastIndex;return lo?1:r>=o?0:NaN}function yt(r,o){return r==null||o==null?NaN:or?1:o>=r?0:NaN}function at(r){let o,l,g;r.length!==2?(o=st,l=(D,$)=>st(r(D),$),g=(D,$)=>r(D)-$):(o=r===st||r===yt?r:Lt,l=r,g=r);function x(D,$,L=0,H=D.length){if(L>>1;l(D[K],$)<0?L=K+1:H=K}while(L>>1;l(D[K],$)<=0?L=K+1:H=K}while(LL&&g(D[K-1],$)>-g(D[K],$)?K-1:K}return{left:x,center:R,right:O}}function Lt(){return 0}function er(r){return r===null?NaN:+r}function*it(r,o){if(o===void 0)for(let l of r)l!=null&&(l=+l)>=l&&(yield l);else{let l=-1;for(let g of r)(g=o(g,++l,r))!=null&&(g=+g)>=g&&(yield g)}}const St=at(st),It=St.right,Ot=St.left,Wt=at(er).center;var _t=It;function ir(r){return function(){return r}}function lr(r){return+r}var mr=[0,1];function dr(r){return r}function Lr(r,o){return(o-=r=+r)?function(l){return(l-r)/o}:ir(isNaN(o)?NaN:.5)}function dn(r,o){var l;return r>o&&(l=r,r=o,o=l),function(g){return Math.max(r,Math.min(o,g))}}function Nn(r,o,l){var g=r[0],x=r[1],O=o[0],R=o[1];return x2?hn:Nn,$=L=null,K}function K(_){return _==null||isNaN(_=+_)?O:($||($=D(r.map(g),o,l)))(g(R(_)))}return K.invert=function(_){return R(x((L||(L=D(o,r.map(g),ct)))(_)))},K.domain=function(_){return arguments.length?(r=Array.from(_,lr),H()):r.slice()},K.range=function(_){return arguments.length?(o=Array.from(_),H()):o.slice()},K.rangeRound=function(_){return o=Array.from(_),l=lt,H()},K.clamp=function(_){return arguments.length?(R=_?!0:dr,H()):R!==dr},K.interpolate=function(_){return arguments.length?(l=_,H()):l},K.unknown=function(_){return arguments.length?(O=_,K):O},function(_,et){return g=_,x=et,H()}}function ee(){return jr()(dr,dr)}function Jr(r,o){switch(arguments.length){case 0:break;case 1:this.range(r);break;default:this.range(o).domain(r);break}return this}function Vr(r,o){switch(arguments.length){case 0:break;case 1:{typeof r=="function"?this.interpolator(r):this.range(r);break}default:{this.domain(r),typeof o=="function"?this.interpolator(o):this.range(o);break}}return this}const gn=Math.sqrt(50),tn=Math.sqrt(10),Mr=Math.sqrt(2);function br(r,o,l){const g=(o-r)/Math.max(0,l),x=Math.floor(Math.log10(g)),O=g/Math.pow(10,x),R=O>=gn?10:O>=tn?5:O>=Mr?2:1;let D,$,L;return x<0?(L=Math.pow(10,-x)/R,D=Math.round(r*L),$=Math.round(o*L),D/Lo&&--$,L=-L):(L=Math.pow(10,x)*R,D=Math.round(r/L),$=Math.round(o/L),D*Lo&&--$),$0))return[];if(r===o)return[r];const g=o=x))return[];const D=O-x+1,$=new Array(D);if(g)if(R<0)for(let L=0;L=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function k(r){if(!(o=gt.exec(r)))throw new Error("invalid format: "+r);var o;return new Y({fill:o[1],align:o[2],sign:o[3],symbol:o[4],zero:o[5],width:o[6],comma:o[7],precision:o[8]&&o[8].slice(1),trim:o[9],type:o[10]})}k.prototype=Y.prototype;function Y(r){this.fill=r.fill===void 0?" ":r.fill+"",this.align=r.align===void 0?">":r.align+"",this.sign=r.sign===void 0?"-":r.sign+"",this.symbol=r.symbol===void 0?"":r.symbol+"",this.zero=!!r.zero,this.width=r.width===void 0?void 0:+r.width,this.comma=!!r.comma,this.precision=r.precision===void 0?void 0:+r.precision,this.trim=!!r.trim,this.type=r.type===void 0?"":r.type+""}Y.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function ut(r){return Math.abs(r=Math.round(r))>=1e21?r.toLocaleString("en").replace(/,/g,""):r.toString(10)}function Kt(r,o){if((l=(r=o?r.toExponential(o-1):r.toExponential()).indexOf("e"))<0)return null;var l,g=r.slice(0,l);return[g.length>1?g[0]+g.slice(2):g,+r.slice(l+1)]}function Pt(r){return r=Kt(Math.abs(r)),r?r[1]:NaN}function xr(r,o){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Pt(o)/3)))*3-Pt(Math.abs(r)))}function Or(r,o){return function(l,g){for(var x=l.length,O=[],R=0,D=r[0],$=0;x>0&&D>0&&($+D+1>g&&(D=Math.max(1,g-$)),O.push(l.substring(x-=D,x+D)),!(($+=D+1)>g));)D=r[R=(R+1)%r.length];return O.reverse().join(o)}}function Rr(r){return function(o){return o.replace(/[0-9]/g,function(l){return r[+l]})}}function Ur(r){t:for(var o=r.length,l=1,g=-1,x;l0&&(g=0);break}return g>0?r.slice(0,g)+r.slice(x+1):r}var dt;function Tr(r,o){var l=Kt(r,o);if(!l)return r+"";var g=l[0],x=l[1],O=x-(dt=Math.max(-8,Math.min(8,Math.floor(x/3)))*3)+1,R=g.length;return O===R?g:O>R?g+new Array(O-R+1).join("0"):O>0?g.slice(0,O)+"."+g.slice(O):"0."+new Array(1-O).join("0")+Kt(r,Math.max(0,o+O-1))[0]}function Hr(r,o){var l=Kt(r,o);if(!l)return r+"";var g=l[0],x=l[1];return x<0?"0."+new Array(-x).join("0")+g:g.length>x+1?g.slice(0,x+1)+"."+g.slice(x+1):g+new Array(x-g.length+2).join("0")}var sn={"%":(r,o)=>(r*100).toFixed(o),b:r=>Math.round(r).toString(2),c:r=>r+"",d:ut,e:(r,o)=>r.toExponential(o),f:(r,o)=>r.toFixed(o),g:(r,o)=>r.toPrecision(o),o:r=>Math.round(r).toString(8),p:(r,o)=>Hr(r*100,o),r:Hr,s:Tr,X:r=>Math.round(r).toString(16).toUpperCase(),x:r=>Math.round(r).toString(16)};function pn(r){return r}var yn=Array.prototype.map,un=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function Ba(r){var o=r.grouping===void 0||r.thousands===void 0?pn:Or(yn.call(r.grouping,Number),r.thousands+""),l=r.currency===void 0?"":r.currency[0]+"",g=r.currency===void 0?"":r.currency[1]+"",x=r.decimal===void 0?".":r.decimal+"",O=r.numerals===void 0?pn:Rr(yn.call(r.numerals,String)),R=r.percent===void 0?"%":r.percent+"",D=r.minus===void 0?"\u2212":r.minus+"",$=r.nan===void 0?"NaN":r.nan+"";function L(K){K=k(K);var _=K.fill,et=K.align,zt=K.sign,or=K.symbol,pt=K.zero,Ct=K.width,Gt=K.comma,Dt=K.precision,kt=K.trim,Yt=K.type;Yt==="n"?(Gt=!0,Yt="g"):sn[Yt]||(Dt===void 0&&(Dt=12),kt=!0,Yt="g"),(pt||_==="0"&&et==="=")&&(pt=!0,_="0",et="=");var pr=or==="$"?l:or==="#"&&/[boxX]/.test(Yt)?"0"+Yt.toLowerCase():"",Sr=or==="$"?g:/[%p]/.test(Yt)?R:"",cr=sn[Yt],Nr=/[defgprs%]/.test(Yt);Dt=Dt===void 0?6:/[gprs]/.test(Yt)?Math.max(1,Math.min(21,Dt)):Math.max(0,Math.min(20,Dt));function sr(Ut){var gr=pr,ar=Sr,yr,Yr,Er;if(Yt==="c")ar=cr(Ut)+ar,Ut="";else{Ut=+Ut;var Ir=Ut<0||1/Ut<0;if(Ut=isNaN(Ut)?$:cr(Math.abs(Ut),Dt),kt&&(Ut=Ur(Ut)),Ir&&+Ut==0&&zt!=="+"&&(Ir=!1),gr=(Ir?zt==="("?zt:D:zt==="-"||zt==="("?"":zt)+gr,ar=(Yt==="s"?un[8+dt/3]:"")+ar+(Ir&&zt==="("?")":""),Nr){for(yr=-1,Yr=Ut.length;++yrEr||Er>57){ar=(Er===46?x+Ut.slice(yr+1):Ut.slice(yr))+ar,Ut=Ut.slice(0,yr);break}}}Gt&&!pt&&(Ut=o(Ut,1/0));var wr=gr.length+Ut.length+ar.length,fr=wr>1)+gr+Ut+ar+fr.slice(wr);break;default:Ut=fr+gr+Ut+ar;break}return O(Ut)}return sr.toString=function(){return K+""},sr}function H(K,_){var et=L((K=k(K),K.type="f",K)),zt=Math.max(-8,Math.min(8,Math.floor(Pt(_)/3)))*3,or=Math.pow(10,-zt),pt=un[8+zt/3];return function(Ct){return et(or*Ct)+pt}}return{format:L,formatPrefix:H}}var Mn,bn,Me;ja({thousands:",",grouping:[3],currency:["$",""]});function ja(r){return Mn=Ba(r),bn=Mn.format,Me=Mn.formatPrefix,Mn}function wa(r,o){return r=Math.abs(r),o=Math.abs(o)-r,Math.max(0,Pt(o)-Pt(r))+1}function Ga(r){return Math.max(0,-Pt(Math.abs(r)))}function Va(r,o,l,g){var x=J(r,o,l),O;switch(g=k(g==null?",f":g),g.type){case"s":{var R=Math.max(Math.abs(r),Math.abs(o));return g.precision==null&&!isNaN(O=xr(x,R))&&(g.precision=O),Me(g,R)}case"":case"e":case"g":case"p":case"r":{g.precision==null&&!isNaN(O=wa(x,Math.max(Math.abs(r),Math.abs(o))))&&(g.precision=O-(g.type==="e"));break}case"f":case"%":{g.precision==null&&!isNaN(O=Ga(x))&&(g.precision=O-(g.type==="%")*2);break}}return bn(g)}function ae(r){var o=r.domain;return r.ticks=function(l){var g=o();return an(g[0],g[g.length-1],l==null?10:l)},r.tickFormat=function(l,g){var x=o();return Va(x[0],x[x.length-1],l==null?10:l,g)},r.nice=function(l){l==null&&(l=10);var g=o(),x=0,O=g.length-1,R=g[x],D=g[O],$,L,H=10;for(D0;){if(L=on(R,D,l),L===$)return g[x]=R,g[O]=D,o(g);if(L>0)R=Math.floor(R/L)*L,D=Math.ceil(D/L)*L;else if(L<0)R=Math.ceil(R*L)/L,D=Math.floor(D*L)/L;else break;$=L}return r},r}function Ha(){var r=continuous();return r.copy=function(){return copy(r,Ha())},initRange.apply(r,arguments),ae(r)}function Wa(r,o){r=r.slice();var l=0,g=r.length-1,x=r[l],O=r[g],R;return OMath.pow(r,o)}function Ja(r){return r===Math.E?Math.log:r===10&&Math.log10||r===2&&Math.log2||(r=Math.log(r),o=>Math.log(o)/r)}function Fe(r){return(o,l)=>-r(-o,l)}function $e(r){const o=r(be,De),l=o.domain;let g=10,x,O;function R(){return x=Ja(g),O=Xa(g),l()[0]<0?(x=Fe(x),O=Fe(O),r(za,Ya)):r(be,De),o}return o.base=function(D){return arguments.length?(g=+D,R()):g},o.domain=function(D){return arguments.length?(l(D),R()):l()},o.ticks=D=>{const $=l();let L=$[0],H=$[$.length-1];const K=H0){for(;_<=et;++_)for(zt=1;ztH)break;Ct.push(or)}}else for(;_<=et;++_)for(zt=g-1;zt>=1;--zt)if(or=_>0?zt/O(-_):zt*O(_),!(orH)break;Ct.push(or)}Ct.length*2{if(D==null&&(D=10),$==null&&($=g===10?"s":","),typeof $!="function"&&(!(g%1)&&($=k($)).precision==null&&($.trim=!0),$=bn($)),D===1/0)return $;const L=Math.max(1,g*D/o.ticks().length);return H=>{let K=H/O(Math.round(x(H)));return K*gl(Wa(l(),{floor:D=>O(Math.floor(x(D))),ceil:D=>O(Math.ceil(x(D)))})),o}function Qa(){const r=$e(transformer()).domain([1,10]);return r.copy=()=>copy(r,Qa()).base(r.base()),initRange.apply(r,arguments),r}function Dn(){var r=0,o=1,l,g,x,O,R=dr,D=!1,$;function L(K){return K==null||isNaN(K=+K)?$:R(x===0?.5:(K=(O(K)-l)*x,D?Math.max(0,Math.min(1,K)):K))}L.domain=function(K){return arguments.length?([r,o]=K,l=O(r=+r),g=O(o=+o),x=l===g?0:1/(g-l),L):[r,o]},L.clamp=function(K){return arguments.length?(D=!!K,L):D},L.interpolator=function(K){return arguments.length?(R=K,L):R};function H(K){return function(_){var et,zt;return arguments.length?([et,zt]=_,R=K(et,zt),L):[R(0),R(1)]}}return L.range=H(ot),L.rangeRound=H(lt),L.unknown=function(K){return arguments.length?($=K,L):$},function(K){return O=K,l=K(r),g=K(o),x=l===g?0:1/(g-l),L}}function Fn(r,o){return o.domain(r.domain()).interpolator(r.interpolator()).clamp(r.clamp()).unknown(r.unknown())}function Le(){var r=ae(Dn()(dr));return r.copy=function(){return Fn(r,Le())},Vr.apply(r,arguments)}function Ue(){var r=$e(Dn()).domain([1,10]);return r.copy=function(){return Fn(r,Ue()).base(r.base())},Vr.apply(r,arguments)}function Za(){var r=symlogish(Dn());return r.copy=function(){return Fn(r,Za()).constant(r.constant())},initInterpolator.apply(r,arguments)}function Be(){var r=powish(Dn());return r.copy=function(){return Fn(r,Be()).exponent(r.exponent())},initInterpolator.apply(r,arguments)}function Ef(){return Be.apply(null,arguments).exponent(.5)}var ka=Object.defineProperty,je=Object.getOwnPropertySymbols,qa=Object.prototype.hasOwnProperty,_a=Object.prototype.propertyIsEnumerable,we=(r,o,l)=>o in r?ka(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,hr=(r,o)=>{for(var l in o||(o={}))qa.call(o,l)&&we(r,l,o[l]);if(je)for(var l of je(o))_a.call(o,l)&&we(r,l,o[l]);return r};const to={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},ro={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},no={area:"bb-area",areas:"bb-areas"},eo={axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},ao={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},oo={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},so={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},io={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},uo={dragarea:"bb-dragarea",INCLUDED:"_included_"},fo={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},lo={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},co={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},vo={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},ho={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},go={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},po={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},If={level:"bb-level",levels:"bb-levels"},yo={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},mo={region:"bb-region",regions:"bb-regions"},xo={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},So={shape:"bb-shape",shapes:"bb-shapes"},Eo={brush:"bb-brush",subchart:"bb-subchart"},Io={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},oe={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},Oo={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},To={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var Of=hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr({},to),ro),no),eo),ao),oo),so),io),uo),lo),co),vo),ho),go),fo),po),yo),mo),xo),So),Eo),Io),oe),Oo),To);function Ro(){}function se(r){return r==null?Ro:function(){return this.querySelector(r)}}function Ao(r){typeof r!="function"&&(r=se(r));for(var o=this._groups,l=o.length,g=new Array(l),x=0;x=Dt&&(Dt=Gt+1);!(Yt=pt[Dt])&&++Dt=0;)(R=g[x])&&(O&&R.compareDocumentPosition(O)^4&&O.parentNode.insertBefore(R,O),O=R);return this}function ko(r){r||(r=qo);function o(K,_){return K&&_?r(K.__data__,_.__data__):!K-!_}for(var l=this._groups,g=l.length,x=new Array(g),O=0;Oo?1:r>=o?0:NaN}function _o(){var r=arguments[0];return arguments[0]=this,r.apply(null,arguments),this}function ts(){return Array.from(this)}function rs(){for(var r=this._groups,o=0,l=r.length;o=0&&(o=r.slice(0,l))!=="xmlns"&&(r=r.slice(l+1)),ze.hasOwnProperty(o)?{space:ze[o],local:r}:r}function os(r){return function(){this.removeAttribute(r)}}function ss(r){return function(){this.removeAttributeNS(r.space,r.local)}}function is(r,o){return function(){this.setAttribute(r,o)}}function us(r,o){return function(){this.setAttributeNS(r.space,r.local,o)}}function fs(r,o){return function(){var l=o.apply(this,arguments);l==null?this.removeAttribute(r):this.setAttribute(r,l)}}function ls(r,o){return function(){var l=o.apply(this,arguments);l==null?this.removeAttributeNS(r.space,r.local):this.setAttributeNS(r.space,r.local,l)}}function cs(r,o){var l=Ln(r);if(arguments.length<2){var g=this.node();return l.local?g.getAttributeNS(l.space,l.local):g.getAttribute(l)}return this.each((o==null?l.local?ss:os:typeof o=="function"?l.local?ls:fs:l.local?us:is)(l,o))}function Ye(r){return r.ownerDocument&&r.ownerDocument.defaultView||r.document&&r||r.defaultView}function vs(r){return function(){this.style.removeProperty(r)}}function ds(r,o,l){return function(){this.style.setProperty(r,o,l)}}function hs(r,o,l){return function(){var g=o.apply(this,arguments);g==null?this.style.removeProperty(r):this.style.setProperty(r,g,l)}}function gs(r,o,l){return arguments.length>1?this.each((o==null?vs:typeof o=="function"?hs:ds)(r,o,l==null?"":l)):fn(this.node(),r)}function fn(r,o){return r.style.getPropertyValue(o)||Ye(r).getComputedStyle(r,null).getPropertyValue(o)}function ps(r){return function(){delete this[r]}}function ys(r,o){return function(){this[r]=o}}function ms(r,o){return function(){var l=o.apply(this,arguments);l==null?delete this[r]:this[r]=l}}function xs(r,o){return arguments.length>1?this.each((o==null?ps:typeof o=="function"?ms:ys)(r,o)):this.node()[r]}function Ke(r){return r.trim().split(/^|\s+/)}function ue(r){return r.classList||new Xe(r)}function Xe(r){this._node=r,this._names=Ke(r.getAttribute("class")||"")}Xe.prototype={add:function(r){var o=this._names.indexOf(r);o<0&&(this._names.push(r),this._node.setAttribute("class",this._names.join(" ")))},remove:function(r){var o=this._names.indexOf(r);o>=0&&(this._names.splice(o,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(r){return this._names.indexOf(r)>=0}};function Je(r,o){for(var l=ue(r),g=-1,x=o.length;++g=0&&(l=o.slice(g+1),o=o.slice(0,g)),{type:o,name:l}})}function Qs(r){return function(){var o=this.__on;if(o){for(var l=0,g=-1,x=o.length,O;l{}};function _e(){for(var r=0,o=arguments.length,l={},g;r=0&&(g=l.slice(x+1),l=l.slice(0,x)),l&&!o.hasOwnProperty(l))throw new Error("unknown type: "+l);return{type:l,name:g}})}Un.prototype=_e.prototype={constructor:Un,on:function(r,o){var l=this._,g=oi(r+"",l),x,O=-1,R=g.length;if(arguments.length<2){for(;++O0)for(var l=new Array(x),g=0,x,O;g=0&&r._call.call(void 0,o),r=r._next;--ln}function aa(){nn=(jn=In.now())+wn,ln=xn=0;try{fi()}finally{ln=0,ci(),nn=0}}function li(){var r=In.now(),o=r-jn;o>ra&&(wn-=o,jn=r)}function ci(){for(var r,o=Bn,l,g=1/0;o;)o._call?(g>o._time&&(g=o._time),r=o,o=o._next):(l=o._next,o._next=null,o=r?r._next=l:Bn=l);En=r,le(g)}function le(r){if(!ln){xn&&(xn=clearTimeout(xn));var o=r-nn;o>24?(r<1/0&&(xn=setTimeout(aa,r-In.now()-wn)),Sn&&(Sn=clearInterval(Sn))):(Sn||(jn=In.now(),Sn=setInterval(li,ra)),ln=1,na(aa))}}function oa(r,o,l){var g=new Gn;return o=o==null?0:+o,g.restart(x=>{g.stop(),r(x+o)},o,l),g}var vi=ii("start","end","cancel","interrupt"),di=[],sa=0,ia=1,ce=2,Vn=3,ua=4,ve=5,Hn=6;function Wn(r,o,l,g,x,O){var R=r.__transition;if(!R)r.__transition={};else if(l in R)return;hi(r,l,{name:o,index:g,group:x,on:vi,tween:di,time:O.time,delay:O.delay,duration:O.duration,ease:O.ease,timer:null,state:sa})}function de(r,o){var l=zr(r,o);if(l.state>sa)throw new Error("too late; already scheduled");return l}function Kr(r,o){var l=zr(r,o);if(l.state>Vn)throw new Error("too late; already running");return l}function zr(r,o){var l=r.__transition;if(!l||!(l=l[o]))throw new Error("transition not found");return l}function hi(r,o,l){var g=r.__transition,x;g[o]=l,l.timer=ea(O,0,l.time);function O(L){l.state=ia,l.timer.restart(R,l.delay,l.time),l.delay<=L&&R(L-l.delay)}function R(L){var H,K,_,et;if(l.state!==ia)return $();for(H in g)if(et=g[H],et.name===l.name){if(et.state===Vn)return oa(R);et.state===ua?(et.state=Hn,et.timer.stop(),et.on.call("interrupt",r,r.__data__,et.index,et.group),delete g[H]):+Hce&&g.state180?H+=360:H-L>180&&(L+=360),_.push({i:K.push(x(K)+"rotate(",null,g)-2,x:ct(L,H)})):H&&K.push(x(K)+"rotate("+H+g)}function D(L,H,K,_){L!==H?_.push({i:K.push(x(K)+"skewX(",null,g)-2,x:ct(L,H)}):H&&K.push(x(K)+"skewX("+H+g)}function $(L,H,K,_,et,zt){if(L!==K||H!==_){var or=et.push(x(et)+"scale(",null,",",null,")");zt.push({i:or-4,x:ct(L,K)},{i:or-2,x:ct(H,_)})}else(K!==1||_!==1)&&et.push(x(et)+"scale("+K+","+_+")")}return function(L,H){var K=[],_=[];return L=r(L),H=r(H),O(L.translateX,L.translateY,H.translateX,H.translateY,K,_),R(L.rotate,H.rotate,K,_),D(L.skewX,H.skewX,K,_),$(L.scaleX,L.scaleY,H.scaleX,H.scaleY,K,_),L=H=null,function(et){for(var zt=-1,or=_.length,pt;++zt=0&&(o=o.slice(0,l)),!o||o==="start"})}function Qi(r,o,l){var g,x,O=Ji(o)?de:Kr;return function(){var R=O(this,r),D=R.on;D!==g&&(x=(g=D).copy()).on(o,l),R.on=x}}function Zi(r,o){var l=this._id;return arguments.length<2?zr(this.node(),l).on.on(r):this.each(Qi(l,r,o))}function ki(r){return function(){var o=this.parentNode;for(var l in this.__transition)if(+l!==r)return;o&&o.removeChild(this)}}function qi(){return this.on("end.remove",ki(this._id))}function _i(r){var o=this._name,l=this._id;typeof r!="function"&&(r=se(r));for(var g=this._groups,x=g.length,O=new Array(x),R=0;R{const Cr=qt.identifier;return qt=pointer(qt,Ct),qt.point0=qt.slice(),qt.identifier=Cr,qt});interrupt(Ct);var An=H(Ct,arguments,!0).beforestart();if(Gt==="overlay"){cr&&(Ce=!0);const qt=[Br[0],Br[1]||Br[0]];pr.selection=cr=[[sr=r===Kn?Nr:$r(qt[0][0],qt[1][0]),ar=r===Yn?gr:$r(qt[0][1],qt[1][1])],[Er=r===Kn?Yr:Fr(qt[0][0],qt[1][0]),fr=r===Yn?wr:Fr(qt[0][1],qt[1][1])]],Br.length>1&&en(pt)}else sr=cr[0][0],ar=cr[0][1],Er=cr[1][0],fr=cr[1][1];Ut=sr,yr=ar,Ir=Er,Dr=fr;var Fa=select(Ct).attr("pointer-events","none"),Pn=Fa.selectAll(".overlay").attr("cursor",kr[Gt]);if(pt.touches)An.moved=La,An.ended=Ua;else{var $a=select(pt.view).on("mousemove.brush",La,!0).on("mouseup.brush",Ua,!0);x&&$a.on("keydown.brush",xf,!0).on("keyup.brush",Sf,!0),dragDisable(pt.view)}L.call(Ct),An.start(pt,Dt.name);function La(qt){for(const Cr of qt.changedTouches||[qt])for(const Cn of Br)Cn.identifier===Cr.identifier&&(Cn.cur=pointer(Cr,Ct));if(_n&&!te&&!re&&Br.length===1){const Cr=Br[0];pa(Cr.cur[0]-Cr[0])>pa(Cr.cur[1]-Cr[1])?re=!0:te=!0}for(const Cr of Br)Cr.cur&&(Cr[0]=Cr.cur[0],Cr[1]=Cr.cur[1]);Ce=!0,noevent(qt),en(qt)}function en(qt){const Cr=Br[0],Cn=Cr.point0;var rn;switch(Ar=Cr[0]-Cn[0],Pr=Cr[1]-Cn[1],Dt){case pe:case ga:{kt&&(Ar=Fr(Nr-sr,$r(Yr-Er,Ar)),Ut=sr+Ar,Ir=Er+Ar),Yt&&(Pr=Fr(gr-ar,$r(wr-fr,Pr)),yr=ar+Pr,Dr=fr+Pr);break}case cn:{Br[1]?(kt&&(Ut=Fr(Nr,$r(Yr,Br[0][0])),Ir=Fr(Nr,$r(Yr,Br[1][0])),kt=1),Yt&&(yr=Fr(gr,$r(wr,Br[0][1])),Dr=Fr(gr,$r(wr,Br[1][1])),Yt=1)):(kt<0?(Ar=Fr(Nr-sr,$r(Yr-sr,Ar)),Ut=sr+Ar,Ir=Er):kt>0&&(Ar=Fr(Nr-Er,$r(Yr-Er,Ar)),Ut=sr,Ir=Er+Ar),Yt<0?(Pr=Fr(gr-ar,$r(wr-ar,Pr)),yr=ar+Pr,Dr=fr):Yt>0&&(Pr=Fr(gr-fr,$r(wr-fr,Pr)),yr=ar,Dr=fr+Pr));break}case vn:{kt&&(Ut=Fr(Nr,$r(Yr,sr-Ar*kt)),Ir=Fr(Nr,$r(Yr,Er+Ar*kt))),Yt&&(yr=Fr(gr,$r(wr,ar-Pr*Yt)),Dr=Fr(gr,$r(wr,fr+Pr*Yt)));break}}Ir0&&(sr=Ut-Ar),Yt<0?fr=Dr-Pr:Yt>0&&(ar=yr-Pr),Dt=pe,Pn.attr("cursor",kr.selection),en(qt));break}default:return}noevent(qt)}function Sf(qt){switch(qt.keyCode){case 16:{_n&&(te=re=_n=!1,en(qt));break}case 18:{Dt===vn&&(kt<0?Er=Ir:kt>0&&(sr=Ut),Yt<0?fr=Dr:Yt>0&&(ar=yr),Dt=cn,en(qt));break}case 32:{Dt===pe&&(qt.altKey?(kt&&(Er=Ir-Ar*kt,sr=Ut+Ar*kt),Yt&&(fr=Dr-Pr*Yt,ar=yr+Pr*Yt),Dt=vn):(kt<0?Er=Ir:kt>0&&(sr=Ut),Yt<0?fr=Dr:Yt>0&&(ar=yr),Dt=cn),Pn.attr("cursor",kr[Gt]),en(qt));break}default:return}noevent(qt)}}function et(pt){H(this,arguments).moved(pt)}function zt(pt){H(this,arguments).ended(pt)}function or(){var pt=this.__brush||{selection:null};return pt.extent=ye(o.apply(this,arguments)),pt.dim=r,pt}return $.extent=function(pt){return arguments.length?(o=typeof pt=="function"?pt:constant(ye(pt)),$):o},$.filter=function(pt){return arguments.length?(l=typeof pt=="function"?pt:constant(!!pt),$):l},$.touchable=function(pt){return arguments.length?(g=typeof pt=="function"?pt:constant(!!pt),$):g},$.handleSize=function(pt){return arguments.length?(R=+pt,$):R},$.keyModifiers=function(pt){return arguments.length?(x=!!pt,$):x},$.on=function(){var pt=O.on.apply(O,arguments);return pt===O?$:pt},$}function Du(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function Fu(r){const o=typeof(r==null?void 0:r.requestAnimationFrame)=="function"&&typeof(r==null?void 0:r.cancelAnimationFrame)=="function",l=typeof(r==null?void 0:r.requestIdleCallback)=="function"&&typeof(r==null?void 0:r.cancelIdleCallback)=="function",g=O=>setTimeout(O,1),x=O=>clearTimeout(O);return[o?r.requestAnimationFrame:g,o?r.cancelAnimationFrame:x,l?r.requestIdleCallback:g,l?r.cancelIdleCallback:x]}const Xn=Du(),$u=Xn==null?void 0:Xn.document,[Mf,bf,Df,Ff]=Fu(Xn);var Lu=Object.defineProperty,Sa=Object.getOwnPropertySymbols,Uu=Object.prototype.hasOwnProperty,Bu=Object.prototype.propertyIsEnumerable,Ea=(r,o,l)=>o in r?Lu(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,Ia=(r,o)=>{for(var l in o||(o={}))Uu.call(o,l)&&Ea(r,l,o[l]);if(Sa)for(var l of Sa(o))Bu.call(o,l)&&Ea(r,l,o[l]);return r};const $f=r=>r||r===0,Se=r=>typeof r=="function",Tn=r=>typeof r=="string",Ee=r=>typeof r=="number",ju=r=>typeof r=="undefined",Oa=r=>typeof r!="undefined",Lf=r=>typeof r=="boolean",Uf=r=>Math.ceil(r/10)*10,Bf=r=>Math.ceil(r)+.5,jf=r=>r[1]-r[0],Ie=r=>typeof r=="object",Ta=r=>ju(r)||r===null||Tn(r)&&r.length===0||Ie(r)&&!(r instanceof Date)&&Object.keys(r).length===0||Ee(r)&&isNaN(r),wu=r=>!Ta(r),Oe=r=>Array.isArray(r),Jn=r=>r&&!(r!=null&&r.nodeType)&&Ie(r)&&!Oe(r);function wf(r,o,l){return Oa(r[o])?r[o]:l}function Gf(r,o){let l=!1;return Object.keys(r).forEach(g=>r[g]===o&&(l=!0)),l}function Vf(r,o,...l){const g=Se(r);return g&&r.call(o,...l),g}function Hf(r,o){let l=0;const g=function(...x){!--l&&o.apply(this,...x)};"duration"in r?r.each(()=>++l).on("end",g):(++l,r.call(g))}function Wf(r){return Tn(r)?r.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):r}function zf(r,o,l=[-1,1],g=!1){if(!(!r||!Tn(o)))if(o.indexOf(` + */(function(qr,Gr){typeof exports=="object"&&typeof module=="object"?module.exports=Gr():typeof define=="function"&&define.amd?define("bb",[],Gr):typeof exports=="object"?exports.bb=Gr():(qr.bb=qr.bb||{},qr.bb.plugin=qr.bb.plugin||{},qr.bb.plugin["stanford.pkgd"]=Gr())})(this,function(){return function(){"use strict";var Ne={33539:function(u,h,t){t.d(h,{default:function(){return mf}});function n(r,o,l){r.prototype=o.prototype=l,l.constructor=r}function e(r,o){var l=Object.create(r.prototype);for(var g in o)l[g]=o[g];return l}function a(){}var s=.7,i=1/s,f="\\s*([+-]?\\d+)\\s*",c="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",v="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",d=/^#([0-9a-f]{3,8})$/,p=new RegExp(`^rgb\\(${f},${f},${f}\\)$`),y=new RegExp(`^rgb\\(${v},${v},${v}\\)$`),m=new RegExp(`^rgba\\(${f},${f},${f},${c}\\)$`),S=new RegExp(`^rgba\\(${v},${v},${v},${c}\\)$`),I=new RegExp(`^hsl\\(${c},${v},${v}\\)$`),E=new RegExp(`^hsla\\(${c},${v},${v},${c}\\)$`),R={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};n(a,A,{copy(r){return Object.assign(new this.constructor,this,r)},displayable(){return this.rgb().displayable()},hex:N,formatHex:N,formatHex8:P,formatHsl:C,formatRgb:b,toString:b});function N(){return this.rgb().formatHex()}function P(){return this.rgb().formatHex8()}function C(){return q(this).formatHsl()}function b(){return this.rgb().formatRgb()}function A(r){var o,l;return r=(r+"").trim().toLowerCase(),(o=d.exec(r))?(l=o[1].length,o=parseInt(o[1],16),l===6?M(o):l===3?new j(o>>8&15|o>>4&240,o>>4&15|o&240,(o&15)<<4|o&15,1):l===8?F(o>>24&255,o>>16&255,o>>8&255,(o&255)/255):l===4?F(o>>12&15|o>>8&240,o>>8&15|o>>4&240,o>>4&15|o&240,((o&15)<<4|o&15)/255):null):(o=p.exec(r))?new j(o[1],o[2],o[3],1):(o=y.exec(r))?new j(o[1]*255/100,o[2]*255/100,o[3]*255/100,1):(o=m.exec(r))?F(o[1],o[2],o[3],o[4]):(o=S.exec(r))?F(o[1]*255/100,o[2]*255/100,o[3]*255/100,o[4]):(o=I.exec(r))?tt(o[1],o[2]/100,o[3]/100,1):(o=E.exec(r))?tt(o[1],o[2]/100,o[3]/100,o[4]):R.hasOwnProperty(r)?M(R[r]):r==="transparent"?new j(NaN,NaN,NaN,0):null}function M(r){return new j(r>>16&255,r>>8&255,r&255,1)}function F(r,o,l,g){return g<=0&&(r=o=l=NaN),new j(r,o,l,g)}function B(r){return r instanceof a||(r=A(r)),r?(r=r.rgb(),new j(r.r,r.g,r.b,r.opacity)):new j}function U(r,o,l,g){return arguments.length===1?B(r):new j(r,o,l,g==null?1:g)}function j(r,o,l,g){this.r=+r,this.g=+o,this.b=+l,this.opacity=+g}n(j,U,e(a,{brighter(r){return r=r==null?i:Math.pow(i,r),new j(this.r*r,this.g*r,this.b*r,this.opacity)},darker(r){return r=r==null?s:Math.pow(s,r),new j(this.r*r,this.g*r,this.b*r,this.opacity)},rgb(){return this},clamp(){return new j(V(this.r),V(this.g),V(this.b),G(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:W,formatHex:W,formatHex8:z,formatRgb:w,toString:w}));function W(){return`#${X(this.r)}${X(this.g)}${X(this.b)}`}function z(){return`#${X(this.r)}${X(this.g)}${X(this.b)}${X((isNaN(this.opacity)?1:this.opacity)*255)}`}function w(){const r=G(this.opacity);return`${r===1?"rgb(":"rgba("}${V(this.r)}, ${V(this.g)}, ${V(this.b)}${r===1?")":`, ${r})`}`}function G(r){return isNaN(r)?1:Math.max(0,Math.min(1,r))}function V(r){return Math.max(0,Math.min(255,Math.round(r)||0))}function X(r){return r=V(r),(r<16?"0":"")+r.toString(16)}function tt(r,o,l,g){return g<=0?r=o=l=NaN:l<=0||l>=1?r=o=NaN:o<=0&&(r=NaN),new Z(r,o,l,g)}function q(r){if(r instanceof Z)return new Z(r.h,r.s,r.l,r.opacity);if(r instanceof a||(r=A(r)),!r)return new Z;if(r instanceof Z)return r;r=r.rgb();var o=r.r/255,l=r.g/255,g=r.b/255,x=Math.min(o,l,g),O=Math.max(o,l,g),T=NaN,D=O-x,$=(O+x)/2;return D?(o===O?T=(l-g)/D+(l0&&$<1?0:T,new Z(T,D,$,r.opacity)}function rt(r,o,l,g){return arguments.length===1?q(r):new Z(r,o,l,g==null?1:g)}function Z(r,o,l,g){this.h=+r,this.s=+o,this.l=+l,this.opacity=+g}n(Z,rt,e(a,{brighter(r){return r=r==null?i:Math.pow(i,r),new Z(this.h,this.s,this.l*r,this.opacity)},darker(r){return r=r==null?s:Math.pow(s,r),new Z(this.h,this.s,this.l*r,this.opacity)},rgb(){var r=this.h%360+(this.h<0)*360,o=isNaN(r)||isNaN(this.s)?0:this.s,l=this.l,g=l+(l<.5?l:1-l)*o,x=2*l-g;return new j(xt(r>=240?r-240:r+120,x,g),xt(r,x,g),xt(r<120?r+240:r-120,x,g),this.opacity)},clamp(){return new Z(mt(this.h),ht(this.s),ht(this.l),G(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const r=G(this.opacity);return`${r===1?"hsl(":"hsla("}${mt(this.h)}, ${ht(this.s)*100}%, ${ht(this.l)*100}%${r===1?")":`, ${r})`}`}}));function mt(r){return r=(r||0)%360,r<0?r+360:r}function ht(r){return Math.max(0,Math.min(1,r||0))}function xt(r,o,l){return(r<60?o+(l-o)*r/60:r<180?l:r<240?o+(l-o)*(240-r)/60:o)*255}var Rt=r=>()=>r;function Nt(r,o){return function(l){return r+l*o}}function Jt(r,o,l){return r=Math.pow(r,l),o=Math.pow(o,l)-r,l=1/l,function(g){return Math.pow(r+g*o,l)}}function Xt(r,o){var l=o-r;return l?Nt(r,l>180||l<-180?l-360*Math.round(l/360):l):Rt(isNaN(r)?o:r)}function jt(r){return(r=+r)==1?vt:function(o,l){return l-o?Jt(o,l,r):Rt(isNaN(o)?l:o)}}function vt(r,o){var l=o-r;return l?Nt(r,l):Rt(isNaN(r)?o:r)}function Et(r){return function(o,l){var g=r((o=rt(o)).h,(l=rt(l)).h),x=vt(o.s,l.s),O=vt(o.l,l.l),T=vt(o.opacity,l.opacity);return function(D){return o.h=g(D),o.s=x(D),o.l=O(D),o.opacity=T(D),o+""}}}var $t=Et(Xt),Bt=Et(vt);function Ft(r,o,l,g,x){var O=r*r,T=O*r;return((1-3*r+3*O-T)*o+(4-6*O+3*T)*l+(1+3*r+3*O-3*T)*g+T*x)/6}function Vt(r){var o=r.length-1;return function(l){var g=l<=0?l=0:l>=1?(l=1,o-1):Math.floor(l*o),x=r[g],O=r[g+1],T=g>0?r[g-1]:2*x-O,D=gl&&(O=o.slice(l,O),D[T]?D[T]+=O:D[++T]=O),(g=g[0])===(x=x[0])?D[T]?D[T]+=x:D[++T]=x:(D[++T]=null,$.push({i:T,x:ct(g,x)})),l=bt.lastIndex;return lo?1:r>=o?0:NaN}function yt(r,o){return r==null||o==null?NaN:or?1:o>=r?0:NaN}function at(r){let o,l,g;r.length!==2?(o=st,l=(D,$)=>st(r(D),$),g=(D,$)=>r(D)-$):(o=r===st||r===yt?r:Lt,l=r,g=r);function x(D,$,L=0,H=D.length){if(L>>1;l(D[K],$)<0?L=K+1:H=K}while(L>>1;l(D[K],$)<=0?L=K+1:H=K}while(LL&&g(D[K-1],$)>-g(D[K],$)?K-1:K}return{left:x,center:T,right:O}}function Lt(){return 0}function er(r){return r===null?NaN:+r}function*it(r,o){if(o===void 0)for(let l of r)l!=null&&(l=+l)>=l&&(yield l);else{let l=-1;for(let g of r)(g=o(g,++l,r))!=null&&(g=+g)>=g&&(yield g)}}const St=at(st),It=St.right,Ot=St.left,Wt=at(er).center;var _t=It;function ir(r){return function(){return r}}function lr(r){return+r}var mr=[0,1];function dr(r){return r}function Lr(r,o){return(o-=r=+r)?function(l){return(l-r)/o}:ir(isNaN(o)?NaN:.5)}function dn(r,o){var l;return r>o&&(l=r,r=o,o=l),function(g){return Math.max(r,Math.min(o,g))}}function Nn(r,o,l){var g=r[0],x=r[1],O=o[0],T=o[1];return x2?hn:Nn,$=L=null,K}function K(_){return _==null||isNaN(_=+_)?O:($||($=D(r.map(g),o,l)))(g(T(_)))}return K.invert=function(_){return T(x((L||(L=D(o,r.map(g),ct)))(_)))},K.domain=function(_){return arguments.length?(r=Array.from(_,lr),H()):r.slice()},K.range=function(_){return arguments.length?(o=Array.from(_),H()):o.slice()},K.rangeRound=function(_){return o=Array.from(_),l=lt,H()},K.clamp=function(_){return arguments.length?(T=_?!0:dr,H()):T!==dr},K.interpolate=function(_){return arguments.length?(l=_,H()):l},K.unknown=function(_){return arguments.length?(O=_,K):O},function(_,et){return g=_,x=et,H()}}function ee(){return jr()(dr,dr)}function Jr(r,o){switch(arguments.length){case 0:break;case 1:this.range(r);break;default:this.range(o).domain(r);break}return this}function Vr(r,o){switch(arguments.length){case 0:break;case 1:{typeof r=="function"?this.interpolator(r):this.range(r);break}default:{this.domain(r),typeof o=="function"?this.interpolator(o):this.range(o);break}}return this}const gn=Math.sqrt(50),tn=Math.sqrt(10),Mr=Math.sqrt(2);function br(r,o,l){const g=(o-r)/Math.max(0,l),x=Math.floor(Math.log10(g)),O=g/Math.pow(10,x),T=O>=gn?10:O>=tn?5:O>=Mr?2:1;let D,$,L;return x<0?(L=Math.pow(10,-x)/T,D=Math.round(r*L),$=Math.round(o*L),D/Lo&&--$,L=-L):(L=Math.pow(10,x)*T,D=Math.round(r/L),$=Math.round(o/L),D*Lo&&--$),$0))return[];if(r===o)return[r];const g=o=x))return[];const D=O-x+1,$=new Array(D);if(g)if(T<0)for(let L=0;L=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function k(r){if(!(o=gt.exec(r)))throw new Error("invalid format: "+r);var o;return new Y({fill:o[1],align:o[2],sign:o[3],symbol:o[4],zero:o[5],width:o[6],comma:o[7],precision:o[8]&&o[8].slice(1),trim:o[9],type:o[10]})}k.prototype=Y.prototype;function Y(r){this.fill=r.fill===void 0?" ":r.fill+"",this.align=r.align===void 0?">":r.align+"",this.sign=r.sign===void 0?"-":r.sign+"",this.symbol=r.symbol===void 0?"":r.symbol+"",this.zero=!!r.zero,this.width=r.width===void 0?void 0:+r.width,this.comma=!!r.comma,this.precision=r.precision===void 0?void 0:+r.precision,this.trim=!!r.trim,this.type=r.type===void 0?"":r.type+""}Y.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function ut(r){return Math.abs(r=Math.round(r))>=1e21?r.toLocaleString("en").replace(/,/g,""):r.toString(10)}function Kt(r,o){if((l=(r=o?r.toExponential(o-1):r.toExponential()).indexOf("e"))<0)return null;var l,g=r.slice(0,l);return[g.length>1?g[0]+g.slice(2):g,+r.slice(l+1)]}function Pt(r){return r=Kt(Math.abs(r)),r?r[1]:NaN}function xr(r,o){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Pt(o)/3)))*3-Pt(Math.abs(r)))}function Or(r,o){return function(l,g){for(var x=l.length,O=[],T=0,D=r[0],$=0;x>0&&D>0&&($+D+1>g&&(D=Math.max(1,g-$)),O.push(l.substring(x-=D,x+D)),!(($+=D+1)>g));)D=r[T=(T+1)%r.length];return O.reverse().join(o)}}function Rr(r){return function(o){return o.replace(/[0-9]/g,function(l){return r[+l]})}}function Ur(r){t:for(var o=r.length,l=1,g=-1,x;l0&&(g=0);break}return g>0?r.slice(0,g)+r.slice(x+1):r}var dt;function Tr(r,o){var l=Kt(r,o);if(!l)return r+"";var g=l[0],x=l[1],O=x-(dt=Math.max(-8,Math.min(8,Math.floor(x/3)))*3)+1,T=g.length;return O===T?g:O>T?g+new Array(O-T+1).join("0"):O>0?g.slice(0,O)+"."+g.slice(O):"0."+new Array(1-O).join("0")+Kt(r,Math.max(0,o+O-1))[0]}function Hr(r,o){var l=Kt(r,o);if(!l)return r+"";var g=l[0],x=l[1];return x<0?"0."+new Array(-x).join("0")+g:g.length>x+1?g.slice(0,x+1)+"."+g.slice(x+1):g+new Array(x-g.length+2).join("0")}var sn={"%":(r,o)=>(r*100).toFixed(o),b:r=>Math.round(r).toString(2),c:r=>r+"",d:ut,e:(r,o)=>r.toExponential(o),f:(r,o)=>r.toFixed(o),g:(r,o)=>r.toPrecision(o),o:r=>Math.round(r).toString(8),p:(r,o)=>Hr(r*100,o),r:Hr,s:Tr,X:r=>Math.round(r).toString(16).toUpperCase(),x:r=>Math.round(r).toString(16)};function pn(r){return r}var yn=Array.prototype.map,un=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function Ba(r){var o=r.grouping===void 0||r.thousands===void 0?pn:Or(yn.call(r.grouping,Number),r.thousands+""),l=r.currency===void 0?"":r.currency[0]+"",g=r.currency===void 0?"":r.currency[1]+"",x=r.decimal===void 0?".":r.decimal+"",O=r.numerals===void 0?pn:Rr(yn.call(r.numerals,String)),T=r.percent===void 0?"%":r.percent+"",D=r.minus===void 0?"\u2212":r.minus+"",$=r.nan===void 0?"NaN":r.nan+"";function L(K){K=k(K);var _=K.fill,et=K.align,zt=K.sign,or=K.symbol,pt=K.zero,Ct=K.width,Gt=K.comma,Dt=K.precision,kt=K.trim,Yt=K.type;Yt==="n"?(Gt=!0,Yt="g"):sn[Yt]||(Dt===void 0&&(Dt=12),kt=!0,Yt="g"),(pt||_==="0"&&et==="=")&&(pt=!0,_="0",et="=");var pr=or==="$"?l:or==="#"&&/[boxX]/.test(Yt)?"0"+Yt.toLowerCase():"",Sr=or==="$"?g:/[%p]/.test(Yt)?T:"",cr=sn[Yt],Nr=/[defgprs%]/.test(Yt);Dt=Dt===void 0?6:/[gprs]/.test(Yt)?Math.max(1,Math.min(21,Dt)):Math.max(0,Math.min(20,Dt));function sr(Ut){var gr=pr,ar=Sr,yr,Yr,Er;if(Yt==="c")ar=cr(Ut)+ar,Ut="";else{Ut=+Ut;var Ir=Ut<0||1/Ut<0;if(Ut=isNaN(Ut)?$:cr(Math.abs(Ut),Dt),kt&&(Ut=Ur(Ut)),Ir&&+Ut==0&&zt!=="+"&&(Ir=!1),gr=(Ir?zt==="("?zt:D:zt==="-"||zt==="("?"":zt)+gr,ar=(Yt==="s"?un[8+dt/3]:"")+ar+(Ir&&zt==="("?")":""),Nr){for(yr=-1,Yr=Ut.length;++yrEr||Er>57){ar=(Er===46?x+Ut.slice(yr+1):Ut.slice(yr))+ar,Ut=Ut.slice(0,yr);break}}}Gt&&!pt&&(Ut=o(Ut,1/0));var wr=gr.length+Ut.length+ar.length,fr=wr>1)+gr+Ut+ar+fr.slice(wr);break;default:Ut=fr+gr+Ut+ar;break}return O(Ut)}return sr.toString=function(){return K+""},sr}function H(K,_){var et=L((K=k(K),K.type="f",K)),zt=Math.max(-8,Math.min(8,Math.floor(Pt(_)/3)))*3,or=Math.pow(10,-zt),pt=un[8+zt/3];return function(Ct){return et(or*Ct)+pt}}return{format:L,formatPrefix:H}}var Mn,bn,Me;ja({thousands:",",grouping:[3],currency:["$",""]});function ja(r){return Mn=Ba(r),bn=Mn.format,Me=Mn.formatPrefix,Mn}function wa(r,o){return r=Math.abs(r),o=Math.abs(o)-r,Math.max(0,Pt(o)-Pt(r))+1}function Ga(r){return Math.max(0,-Pt(Math.abs(r)))}function Va(r,o,l,g){var x=J(r,o,l),O;switch(g=k(g==null?",f":g),g.type){case"s":{var T=Math.max(Math.abs(r),Math.abs(o));return g.precision==null&&!isNaN(O=xr(x,T))&&(g.precision=O),Me(g,T)}case"":case"e":case"g":case"p":case"r":{g.precision==null&&!isNaN(O=wa(x,Math.max(Math.abs(r),Math.abs(o))))&&(g.precision=O-(g.type==="e"));break}case"f":case"%":{g.precision==null&&!isNaN(O=Ga(x))&&(g.precision=O-(g.type==="%")*2);break}}return bn(g)}function ae(r){var o=r.domain;return r.ticks=function(l){var g=o();return an(g[0],g[g.length-1],l==null?10:l)},r.tickFormat=function(l,g){var x=o();return Va(x[0],x[x.length-1],l==null?10:l,g)},r.nice=function(l){l==null&&(l=10);var g=o(),x=0,O=g.length-1,T=g[x],D=g[O],$,L,H=10;for(D0;){if(L=on(T,D,l),L===$)return g[x]=T,g[O]=D,o(g);if(L>0)T=Math.floor(T/L)*L,D=Math.ceil(D/L)*L;else if(L<0)T=Math.ceil(T*L)/L,D=Math.floor(D*L)/L;else break;$=L}return r},r}function Ha(){var r=continuous();return r.copy=function(){return copy(r,Ha())},initRange.apply(r,arguments),ae(r)}function Wa(r,o){r=r.slice();var l=0,g=r.length-1,x=r[l],O=r[g],T;return OMath.pow(r,o)}function Ja(r){return r===Math.E?Math.log:r===10&&Math.log10||r===2&&Math.log2||(r=Math.log(r),o=>Math.log(o)/r)}function Fe(r){return(o,l)=>-r(-o,l)}function $e(r){const o=r(be,De),l=o.domain;let g=10,x,O;function T(){return x=Ja(g),O=Xa(g),l()[0]<0?(x=Fe(x),O=Fe(O),r(za,Ya)):r(be,De),o}return o.base=function(D){return arguments.length?(g=+D,T()):g},o.domain=function(D){return arguments.length?(l(D),T()):l()},o.ticks=D=>{const $=l();let L=$[0],H=$[$.length-1];const K=H0){for(;_<=et;++_)for(zt=1;ztH)break;Ct.push(or)}}else for(;_<=et;++_)for(zt=g-1;zt>=1;--zt)if(or=_>0?zt/O(-_):zt*O(_),!(orH)break;Ct.push(or)}Ct.length*2{if(D==null&&(D=10),$==null&&($=g===10?"s":","),typeof $!="function"&&(!(g%1)&&($=k($)).precision==null&&($.trim=!0),$=bn($)),D===1/0)return $;const L=Math.max(1,g*D/o.ticks().length);return H=>{let K=H/O(Math.round(x(H)));return K*gl(Wa(l(),{floor:D=>O(Math.floor(x(D))),ceil:D=>O(Math.ceil(x(D)))})),o}function Qa(){const r=$e(transformer()).domain([1,10]);return r.copy=()=>copy(r,Qa()).base(r.base()),initRange.apply(r,arguments),r}function Dn(){var r=0,o=1,l,g,x,O,T=dr,D=!1,$;function L(K){return K==null||isNaN(K=+K)?$:T(x===0?.5:(K=(O(K)-l)*x,D?Math.max(0,Math.min(1,K)):K))}L.domain=function(K){return arguments.length?([r,o]=K,l=O(r=+r),g=O(o=+o),x=l===g?0:1/(g-l),L):[r,o]},L.clamp=function(K){return arguments.length?(D=!!K,L):D},L.interpolator=function(K){return arguments.length?(T=K,L):T};function H(K){return function(_){var et,zt;return arguments.length?([et,zt]=_,T=K(et,zt),L):[T(0),T(1)]}}return L.range=H(ot),L.rangeRound=H(lt),L.unknown=function(K){return arguments.length?($=K,L):$},function(K){return O=K,l=K(r),g=K(o),x=l===g?0:1/(g-l),L}}function Fn(r,o){return o.domain(r.domain()).interpolator(r.interpolator()).clamp(r.clamp()).unknown(r.unknown())}function Le(){var r=ae(Dn()(dr));return r.copy=function(){return Fn(r,Le())},Vr.apply(r,arguments)}function Ue(){var r=$e(Dn()).domain([1,10]);return r.copy=function(){return Fn(r,Ue()).base(r.base())},Vr.apply(r,arguments)}function Za(){var r=symlogish(Dn());return r.copy=function(){return Fn(r,Za()).constant(r.constant())},initInterpolator.apply(r,arguments)}function Be(){var r=powish(Dn());return r.copy=function(){return Fn(r,Be()).exponent(r.exponent())},initInterpolator.apply(r,arguments)}function Ef(){return Be.apply(null,arguments).exponent(.5)}var ka=Object.defineProperty,je=Object.getOwnPropertySymbols,qa=Object.prototype.hasOwnProperty,_a=Object.prototype.propertyIsEnumerable,we=(r,o,l)=>o in r?ka(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,hr=(r,o)=>{for(var l in o||(o={}))qa.call(o,l)&&we(r,l,o[l]);if(je)for(var l of je(o))_a.call(o,l)&&we(r,l,o[l]);return r};const to={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},ro={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},no={area:"bb-area",areas:"bb-areas"},eo={axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},ao={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},oo={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},so={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},io={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},uo={dragarea:"bb-dragarea",INCLUDED:"_included_"},fo={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},lo={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},co={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},vo={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},ho={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},go={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},po={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},If={level:"bb-level",levels:"bb-levels"},yo={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},mo={region:"bb-region",regions:"bb-regions"},xo={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},So={shape:"bb-shape",shapes:"bb-shapes"},Eo={brush:"bb-brush",subchart:"bb-subchart"},Io={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},oe={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},Oo={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},To={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var Of=hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr(hr({},to),ro),no),eo),ao),oo),so),io),uo),lo),co),vo),ho),go),fo),po),yo),mo),xo),So),Eo),Io),oe),Oo),To);function Ro(){}function se(r){return r==null?Ro:function(){return this.querySelector(r)}}function Ao(r){typeof r!="function"&&(r=se(r));for(var o=this._groups,l=o.length,g=new Array(l),x=0;x=Dt&&(Dt=Gt+1);!(Yt=pt[Dt])&&++Dt=0;)(T=g[x])&&(O&&T.compareDocumentPosition(O)^4&&O.parentNode.insertBefore(T,O),O=T);return this}function ko(r){r||(r=qo);function o(K,_){return K&&_?r(K.__data__,_.__data__):!K-!_}for(var l=this._groups,g=l.length,x=new Array(g),O=0;Oo?1:r>=o?0:NaN}function _o(){var r=arguments[0];return arguments[0]=this,r.apply(null,arguments),this}function ts(){return Array.from(this)}function rs(){for(var r=this._groups,o=0,l=r.length;o=0&&(o=r.slice(0,l))!=="xmlns"&&(r=r.slice(l+1)),ze.hasOwnProperty(o)?{space:ze[o],local:r}:r}function os(r){return function(){this.removeAttribute(r)}}function ss(r){return function(){this.removeAttributeNS(r.space,r.local)}}function is(r,o){return function(){this.setAttribute(r,o)}}function us(r,o){return function(){this.setAttributeNS(r.space,r.local,o)}}function fs(r,o){return function(){var l=o.apply(this,arguments);l==null?this.removeAttribute(r):this.setAttribute(r,l)}}function ls(r,o){return function(){var l=o.apply(this,arguments);l==null?this.removeAttributeNS(r.space,r.local):this.setAttributeNS(r.space,r.local,l)}}function cs(r,o){var l=Ln(r);if(arguments.length<2){var g=this.node();return l.local?g.getAttributeNS(l.space,l.local):g.getAttribute(l)}return this.each((o==null?l.local?ss:os:typeof o=="function"?l.local?ls:fs:l.local?us:is)(l,o))}function Ye(r){return r.ownerDocument&&r.ownerDocument.defaultView||r.document&&r||r.defaultView}function vs(r){return function(){this.style.removeProperty(r)}}function ds(r,o,l){return function(){this.style.setProperty(r,o,l)}}function hs(r,o,l){return function(){var g=o.apply(this,arguments);g==null?this.style.removeProperty(r):this.style.setProperty(r,g,l)}}function gs(r,o,l){return arguments.length>1?this.each((o==null?vs:typeof o=="function"?hs:ds)(r,o,l==null?"":l)):fn(this.node(),r)}function fn(r,o){return r.style.getPropertyValue(o)||Ye(r).getComputedStyle(r,null).getPropertyValue(o)}function ps(r){return function(){delete this[r]}}function ys(r,o){return function(){this[r]=o}}function ms(r,o){return function(){var l=o.apply(this,arguments);l==null?delete this[r]:this[r]=l}}function xs(r,o){return arguments.length>1?this.each((o==null?ps:typeof o=="function"?ms:ys)(r,o)):this.node()[r]}function Ke(r){return r.trim().split(/^|\s+/)}function ue(r){return r.classList||new Xe(r)}function Xe(r){this._node=r,this._names=Ke(r.getAttribute("class")||"")}Xe.prototype={add:function(r){var o=this._names.indexOf(r);o<0&&(this._names.push(r),this._node.setAttribute("class",this._names.join(" ")))},remove:function(r){var o=this._names.indexOf(r);o>=0&&(this._names.splice(o,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(r){return this._names.indexOf(r)>=0}};function Je(r,o){for(var l=ue(r),g=-1,x=o.length;++g=0&&(l=o.slice(g+1),o=o.slice(0,g)),{type:o,name:l}})}function Qs(r){return function(){var o=this.__on;if(o){for(var l=0,g=-1,x=o.length,O;l{}};function _e(){for(var r=0,o=arguments.length,l={},g;r=0&&(g=l.slice(x+1),l=l.slice(0,x)),l&&!o.hasOwnProperty(l))throw new Error("unknown type: "+l);return{type:l,name:g}})}Un.prototype=_e.prototype={constructor:Un,on:function(r,o){var l=this._,g=oi(r+"",l),x,O=-1,T=g.length;if(arguments.length<2){for(;++O0)for(var l=new Array(x),g=0,x,O;g=0&&r._call.call(void 0,o),r=r._next;--ln}function aa(){nn=(jn=In.now())+wn,ln=xn=0;try{fi()}finally{ln=0,ci(),nn=0}}function li(){var r=In.now(),o=r-jn;o>ra&&(wn-=o,jn=r)}function ci(){for(var r,o=Bn,l,g=1/0;o;)o._call?(g>o._time&&(g=o._time),r=o,o=o._next):(l=o._next,o._next=null,o=r?r._next=l:Bn=l);En=r,le(g)}function le(r){if(!ln){xn&&(xn=clearTimeout(xn));var o=r-nn;o>24?(r<1/0&&(xn=setTimeout(aa,r-In.now()-wn)),Sn&&(Sn=clearInterval(Sn))):(Sn||(jn=In.now(),Sn=setInterval(li,ra)),ln=1,na(aa))}}function oa(r,o,l){var g=new Gn;return o=o==null?0:+o,g.restart(x=>{g.stop(),r(x+o)},o,l),g}var vi=ii("start","end","cancel","interrupt"),di=[],sa=0,ia=1,ce=2,Vn=3,ua=4,ve=5,Hn=6;function Wn(r,o,l,g,x,O){var T=r.__transition;if(!T)r.__transition={};else if(l in T)return;hi(r,l,{name:o,index:g,group:x,on:vi,tween:di,time:O.time,delay:O.delay,duration:O.duration,ease:O.ease,timer:null,state:sa})}function de(r,o){var l=zr(r,o);if(l.state>sa)throw new Error("too late; already scheduled");return l}function Kr(r,o){var l=zr(r,o);if(l.state>Vn)throw new Error("too late; already running");return l}function zr(r,o){var l=r.__transition;if(!l||!(l=l[o]))throw new Error("transition not found");return l}function hi(r,o,l){var g=r.__transition,x;g[o]=l,l.timer=ea(O,0,l.time);function O(L){l.state=ia,l.timer.restart(T,l.delay,l.time),l.delay<=L&&T(L-l.delay)}function T(L){var H,K,_,et;if(l.state!==ia)return $();for(H in g)if(et=g[H],et.name===l.name){if(et.state===Vn)return oa(T);et.state===ua?(et.state=Hn,et.timer.stop(),et.on.call("interrupt",r,r.__data__,et.index,et.group),delete g[H]):+Hce&&g.state180?H+=360:H-L>180&&(L+=360),_.push({i:K.push(x(K)+"rotate(",null,g)-2,x:ct(L,H)})):H&&K.push(x(K)+"rotate("+H+g)}function D(L,H,K,_){L!==H?_.push({i:K.push(x(K)+"skewX(",null,g)-2,x:ct(L,H)}):H&&K.push(x(K)+"skewX("+H+g)}function $(L,H,K,_,et,zt){if(L!==K||H!==_){var or=et.push(x(et)+"scale(",null,",",null,")");zt.push({i:or-4,x:ct(L,K)},{i:or-2,x:ct(H,_)})}else(K!==1||_!==1)&&et.push(x(et)+"scale("+K+","+_+")")}return function(L,H){var K=[],_=[];return L=r(L),H=r(H),O(L.translateX,L.translateY,H.translateX,H.translateY,K,_),T(L.rotate,H.rotate,K,_),D(L.skewX,H.skewX,K,_),$(L.scaleX,L.scaleY,H.scaleX,H.scaleY,K,_),L=H=null,function(et){for(var zt=-1,or=_.length,pt;++zt=0&&(o=o.slice(0,l)),!o||o==="start"})}function Qi(r,o,l){var g,x,O=Ji(o)?de:Kr;return function(){var T=O(this,r),D=T.on;D!==g&&(x=(g=D).copy()).on(o,l),T.on=x}}function Zi(r,o){var l=this._id;return arguments.length<2?zr(this.node(),l).on.on(r):this.each(Qi(l,r,o))}function ki(r){return function(){var o=this.parentNode;for(var l in this.__transition)if(+l!==r)return;o&&o.removeChild(this)}}function qi(){return this.on("end.remove",ki(this._id))}function _i(r){var o=this._name,l=this._id;typeof r!="function"&&(r=se(r));for(var g=this._groups,x=g.length,O=new Array(x),T=0;T{const Cr=qt.identifier;return qt=pointer(qt,Ct),qt.point0=qt.slice(),qt.identifier=Cr,qt});interrupt(Ct);var An=H(Ct,arguments,!0).beforestart();if(Gt==="overlay"){cr&&(Ce=!0);const qt=[Br[0],Br[1]||Br[0]];pr.selection=cr=[[sr=r===Kn?Nr:$r(qt[0][0],qt[1][0]),ar=r===Yn?gr:$r(qt[0][1],qt[1][1])],[Er=r===Kn?Yr:Fr(qt[0][0],qt[1][0]),fr=r===Yn?wr:Fr(qt[0][1],qt[1][1])]],Br.length>1&&en(pt)}else sr=cr[0][0],ar=cr[0][1],Er=cr[1][0],fr=cr[1][1];Ut=sr,yr=ar,Ir=Er,Dr=fr;var Fa=select(Ct).attr("pointer-events","none"),Pn=Fa.selectAll(".overlay").attr("cursor",kr[Gt]);if(pt.touches)An.moved=La,An.ended=Ua;else{var $a=select(pt.view).on("mousemove.brush",La,!0).on("mouseup.brush",Ua,!0);x&&$a.on("keydown.brush",xf,!0).on("keyup.brush",Sf,!0),dragDisable(pt.view)}L.call(Ct),An.start(pt,Dt.name);function La(qt){for(const Cr of qt.changedTouches||[qt])for(const Cn of Br)Cn.identifier===Cr.identifier&&(Cn.cur=pointer(Cr,Ct));if(_n&&!te&&!re&&Br.length===1){const Cr=Br[0];pa(Cr.cur[0]-Cr[0])>pa(Cr.cur[1]-Cr[1])?re=!0:te=!0}for(const Cr of Br)Cr.cur&&(Cr[0]=Cr.cur[0],Cr[1]=Cr.cur[1]);Ce=!0,noevent(qt),en(qt)}function en(qt){const Cr=Br[0],Cn=Cr.point0;var rn;switch(Ar=Cr[0]-Cn[0],Pr=Cr[1]-Cn[1],Dt){case pe:case ga:{kt&&(Ar=Fr(Nr-sr,$r(Yr-Er,Ar)),Ut=sr+Ar,Ir=Er+Ar),Yt&&(Pr=Fr(gr-ar,$r(wr-fr,Pr)),yr=ar+Pr,Dr=fr+Pr);break}case cn:{Br[1]?(kt&&(Ut=Fr(Nr,$r(Yr,Br[0][0])),Ir=Fr(Nr,$r(Yr,Br[1][0])),kt=1),Yt&&(yr=Fr(gr,$r(wr,Br[0][1])),Dr=Fr(gr,$r(wr,Br[1][1])),Yt=1)):(kt<0?(Ar=Fr(Nr-sr,$r(Yr-sr,Ar)),Ut=sr+Ar,Ir=Er):kt>0&&(Ar=Fr(Nr-Er,$r(Yr-Er,Ar)),Ut=sr,Ir=Er+Ar),Yt<0?(Pr=Fr(gr-ar,$r(wr-ar,Pr)),yr=ar+Pr,Dr=fr):Yt>0&&(Pr=Fr(gr-fr,$r(wr-fr,Pr)),yr=ar,Dr=fr+Pr));break}case vn:{kt&&(Ut=Fr(Nr,$r(Yr,sr-Ar*kt)),Ir=Fr(Nr,$r(Yr,Er+Ar*kt))),Yt&&(yr=Fr(gr,$r(wr,ar-Pr*Yt)),Dr=Fr(gr,$r(wr,fr+Pr*Yt)));break}}Ir0&&(sr=Ut-Ar),Yt<0?fr=Dr-Pr:Yt>0&&(ar=yr-Pr),Dt=pe,Pn.attr("cursor",kr.selection),en(qt));break}default:return}noevent(qt)}function Sf(qt){switch(qt.keyCode){case 16:{_n&&(te=re=_n=!1,en(qt));break}case 18:{Dt===vn&&(kt<0?Er=Ir:kt>0&&(sr=Ut),Yt<0?fr=Dr:Yt>0&&(ar=yr),Dt=cn,en(qt));break}case 32:{Dt===pe&&(qt.altKey?(kt&&(Er=Ir-Ar*kt,sr=Ut+Ar*kt),Yt&&(fr=Dr-Pr*Yt,ar=yr+Pr*Yt),Dt=vn):(kt<0?Er=Ir:kt>0&&(sr=Ut),Yt<0?fr=Dr:Yt>0&&(ar=yr),Dt=cn),Pn.attr("cursor",kr[Gt]),en(qt));break}default:return}noevent(qt)}}function et(pt){H(this,arguments).moved(pt)}function zt(pt){H(this,arguments).ended(pt)}function or(){var pt=this.__brush||{selection:null};return pt.extent=ye(o.apply(this,arguments)),pt.dim=r,pt}return $.extent=function(pt){return arguments.length?(o=typeof pt=="function"?pt:constant(ye(pt)),$):o},$.filter=function(pt){return arguments.length?(l=typeof pt=="function"?pt:constant(!!pt),$):l},$.touchable=function(pt){return arguments.length?(g=typeof pt=="function"?pt:constant(!!pt),$):g},$.handleSize=function(pt){return arguments.length?(T=+pt,$):T},$.keyModifiers=function(pt){return arguments.length?(x=!!pt,$):x},$.on=function(){var pt=O.on.apply(O,arguments);return pt===O?$:pt},$}function Du(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function Fu(r){const o=typeof(r==null?void 0:r.requestAnimationFrame)=="function"&&typeof(r==null?void 0:r.cancelAnimationFrame)=="function",l=typeof(r==null?void 0:r.requestIdleCallback)=="function"&&typeof(r==null?void 0:r.cancelIdleCallback)=="function",g=O=>setTimeout(O,1),x=O=>clearTimeout(O);return[o?r.requestAnimationFrame:g,o?r.cancelAnimationFrame:x,l?r.requestIdleCallback:g,l?r.cancelIdleCallback:x]}const Xn=Du(),$u=Xn==null?void 0:Xn.document,[Mf,bf,Df,Ff]=Fu(Xn);var Lu=Object.defineProperty,Sa=Object.getOwnPropertySymbols,Uu=Object.prototype.hasOwnProperty,Bu=Object.prototype.propertyIsEnumerable,Ea=(r,o,l)=>o in r?Lu(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,Ia=(r,o)=>{for(var l in o||(o={}))Uu.call(o,l)&&Ea(r,l,o[l]);if(Sa)for(var l of Sa(o))Bu.call(o,l)&&Ea(r,l,o[l]);return r};const $f=r=>r||r===0,Se=r=>typeof r=="function",Tn=r=>typeof r=="string",Ee=r=>typeof r=="number",ju=r=>typeof r=="undefined",Oa=r=>typeof r!="undefined",Lf=r=>typeof r=="boolean",Uf=r=>Math.ceil(r/10)*10,Bf=r=>Math.ceil(r)+.5,jf=r=>r[1]-r[0],Ie=r=>typeof r=="object",Ta=r=>ju(r)||r===null||Tn(r)&&r.length===0||Ie(r)&&!(r instanceof Date)&&Object.keys(r).length===0||Ee(r)&&isNaN(r),wu=r=>!Ta(r),Oe=r=>Array.isArray(r),Jn=r=>r&&!(r!=null&&r.nodeType)&&Ie(r)&&!Oe(r);function wf(r,o,l){return Oa(r[o])?r[o]:l}function Gf(r,o){let l=!1;return Object.keys(r).forEach(g=>r[g]===o&&(l=!0)),l}function Vf(r,o,...l){const g=Se(r);return g&&r.call(o,...l),g}function Hf(r,o){let l=0;const g=function(...x){!--l&&o.apply(this,...x)};"duration"in r?r.each(()=>++l).on("end",g):(++l,r.call(g))}function Wf(r){return Tn(r)?r.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):r}function zf(r,o,l=[-1,1],g=!1){if(!(!r||!Tn(o)))if(o.indexOf(` `)===-1)r.text(o);else{const x=[r.text(),o].map(O=>O.replace(/[\s\n]/g,""));if(x[0]!==x[1]){const O=o.split(` -`),R=g?O.length-1:1;r.html(""),O.forEach((D,$)=>{r.append("tspan").attr("x",0).attr("dy",`${$===0?l[0]*R:l[1]}em`).text(D)})}}}function Gu(r){const{x:o,y:l,width:g,height:x}=r.getBBox();return[{x:o,y:l+x},{x:o,y:l},{x:o+g,y:l},{x:o+g,y:l+x}]}function Yf(r){const{width:o,height:l}=r.getBoundingClientRect(),g=Gu(r),x=g[0].x,O=Math.min(g[0].y,g[1].y);return{x,y:O,width:o,height:l}}function Kf(r,o){var l;const g=r&&((l=r.touches||r.sourceEvent&&r.sourceEvent.touches)==null?void 0:l[0]);let x=[0,0];try{x=d3Pointer(g||r,o)}catch(O){}return x.map(O=>isNaN(O)?0:O)}function Vu(r){const{event:o,$el:l}=r,g=l.subchart.main||l.main;let x;return o&&o.type==="brush"?x=o.selection:g&&(x=g.select(".bb-brush").node())&&(x=d3BrushSelection(x)),x}function Xf(r){return!("rect"in r)||"rect"in r&&r.hasAttribute("width")&&r.rect.width!==+r.getAttribute("width")?r.rect=r.getBoundingClientRect():r.rect}function Jf(r=!0,o=0,l=1e4){const g=window.crypto||window.msCrypto,x=g?o+g.getRandomValues(new Uint32Array(1))[0]%(l-o+1):Math.floor(Math.random()*(l-o)+o);return r?String(x):x}function Ra(r,o,l,g,x){if(l>g)return-1;const O=Math.floor((l+g)/2);let{x:R,w:D=0}=r[O];return x&&(R=r[O].y,D=r[O].h),o>=R&&o<=R+D?O:o{if(Jn(l)&&l.constructor){const g=new l.constructor;for(const x in l)g[x]=o(l[x]);return g}return l};return r.map(l=>o(l)).reduce((l,g)=>Ia(Ia({},l),g))}function Hu(r={},o){Oe(o)&&o.forEach(l=>Hu(r,l));for(const l in o)/^\d+$/.test(l)||l in r||(r[l]=o[l]);return r}const kf=r=>r.charAt(0).toUpperCase()+r.slice(1);function qf(r,o="-"){return r.split(o).map((l,g)=>g?l.charAt(0).toUpperCase()+l.slice(1).toLowerCase():l.toLowerCase()).join("")}const Wu=r=>[].slice.call(r);function _f(r,o,l){const{rootSelector:g="",sheet:x}=r,R=`${g} ${(D=>D.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(o)} {${l.join(";")}}`;return x[x.insertRule?"insertRule":"addRule"](R,x.cssRules.length)}function tl(r){let o=[];return r.forEach(l=>{var g;try{l.cssRules&&l.cssRules.length&&(o=o.concat(Wu(l.cssRules)))}catch(x){(g=window.console)==null||g.warn(`Error while reading rules from ${l.href}: ${x.toString()}`)}}),o}function rl(r){var o,l,g,x,O,R;return{x:((l=(o=window.pageXOffset)!=null?o:window.scrollX)!=null?l:0)+((g=r.scrollLeft)!=null?g:0),y:((O=(x=window.pageYOffset)!=null?x:window.scrollY)!=null?O:0)+((R=r.scrollTop)!=null?R:0)}}function nl(r,o=0,l=0,g=!0){const x=new DOMPoint(o,l),O=r.getScreenCTM();return x.matrixTransform(g?O==null?void 0:O.inverse():O)}function el(r){const o=r?r.transform:null,l=o&&o.baseVal;return l&&l.numberOfItems?l.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function al(r){const o=r[0]instanceof Date,l=(o?r.map(Number):r).filter((g,x,O)=>O.indexOf(g)===x);return o?l.map(g=>new Date(g)):l}function ol(r){return r&&r.length?r.reduce((o,l)=>o.concat(l)):[]}function Te(r,...o){if(!o.length||o.length===1&&!o[0])return r;const l=o.shift();return Jn(r)&&Jn(l)&&Object.keys(l).forEach(g=>{const x=l[g];Jn(x)?(!r[g]&&(r[g]={}),r[g]=Te(r[g],x)):r[g]=Oe(x)?x.concat():x}),Te(r,...o)}function zu(r,o=!0){let l;return r[0]instanceof Date?l=o?(g,x)=>g-x:(g,x)=>x-g:o&&!r.every(isNaN)?l=(g,x)=>g-x:o||(l=(g,x)=>g>x&&-1||gwu(g));return l.length?Ee(l[0])?l=Math[r](...l):l[0]instanceof Date&&(l=zu(l,r==="min")[0]):l=void 0,l}const Yu=(r,o,l=1)=>{const g=[],x=Math.max(0,Math.ceil((o-r)/l))|0;for(let O=r;O{const r=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(o,l,g=r())=>{o.dispatchEvent(new MouseEvent(l,g))}}catch(o){return(l,g,x=r())=>{const O=$u.createEvent("MouseEvent");O.initMouseEvent(g,x.bubbles,x.cancelable,Xn,0,x.screenX,x.screenY,x.clientX,x.clientY,!1,!1,!1,!1,0,null),l.dispatchEvent(O)}}})(),touch:(r,o,l)=>{const g=new Touch(Te({identifier:Date.now(),target:r,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},l));r.dispatchEvent(new TouchEvent(o,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[g],targetTouches:[],changedTouches:[g]}))}};function ul(r,o){let l=r;for(const g in o)l=l.replace(new RegExp(`{=${g}}`,"g"),o[g]);return l}function Ku(r){var o;let l;if(r instanceof Date)l=r;else if(Tn(r)){const{config:g,format:x}=this;l=(o=x.dataTime(g.data_xFormat)(r))!=null?o:new Date(r)}else Ee(r)&&!isNaN(r)&&(l=new Date(+r));return(!l||isNaN(+l))&&console&&console.error&&console.error(`Failed to parse x '${r}' to Date object`),l}function fl(r){const o=r.attr("viewBox");return o?/(\d+(\.\d+)?){3}/.test(o):!1}function ll(r,o,l=!1){const g=!!r.node;let x=!1;for(const[O,R]of Object.entries(o))if(x=g?r.style(O)===R:r.style[O]===R,l===!1&&x)break;return x}function cl(){var r,o;return((r=document)==null?void 0:r.hidden)===!1||((o=document)==null?void 0:o.visibilityState)==="visible"}function vl(r,o){const{DocumentTouch:l,matchMedia:g,navigator:x}=window,O=g==null?void 0:g("(pointer:coarse)").matches;let R=!1;if(o)if(x&&"maxTouchPoints"in x)R=x.maxTouchPoints>0;else if("ontouchmove"in window||l&&document instanceof l)R=!0;else if(O)R=!0;else{const $=x.userAgent;R=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test($)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test($)}return r&&!O&&(g==null?void 0:g("(pointer:fine)").matches)&&"mouse"||R&&"touch"||"mouse"}function Xu(r,o){o()===!1?requestAnimationFrame(()=>Xu(r,o)):r()}function Ju(r){const o=this.config;let l,g,x;const O=()=>{const R=g.shift();if(R&&l&&Ie(l)&&R in l)return l=l[R],O();if(!R)return l};Object.keys(o).forEach(R=>{l=r,g=R.split("_"),x=O(),Oa(x)&&(o[R]=x)}),this.api&&(this.state.orgConfig=r)}var Qu=Object.defineProperty,Zu=(r,o,l)=>o in r?Qu(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,Re=(r,o,l)=>Zu(r,typeof o!="symbol"?o+"":o,l);class Aa{constructor(o={}){Re(this,"$$"),Re(this,"options"),this.options=o}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(o=>{this[o]=null,delete this[o]})}}Re(Aa,"version","3.14.1");function ku(r){return r}var Qn=1,Zn=2,Ae=3,Rn=4,Pa=1e-6;function qu(r){return"translate("+r+",0)"}function _u(r){return"translate(0,"+r+")"}function tf(r){return o=>+r(o)}function rf(r,o){return o=Math.max(0,r.bandwidth()-o*2)/2,r.round()&&(o=Math.round(o)),l=>+r(l)+o}function nf(){return!this.__axis}function kn(r,o){var l=[],g=null,x=null,O=6,R=6,D=3,$=typeof window!="undefined"&&window.devicePixelRatio>1?0:.5,L=r===Qn||r===Rn?-1:1,H=r===Rn||r===Zn?"x":"y",K=r===Qn||r===Ae?qu:_u;function _(et){var zt=g==null?o.ticks?o.ticks.apply(o,l):o.domain():g,or=x==null?o.tickFormat?o.tickFormat.apply(o,l):ku:x,pt=Math.max(O,0)+D,Ct=o.range(),Gt=+Ct[0]+$,Dt=+Ct[Ct.length-1]+$,kt=(o.bandwidth?rf:tf)(o.copy(),$),Yt=et.selection?et.selection():et,pr=Yt.selectAll(".domain").data([null]),Sr=Yt.selectAll(".tick").data(zt,o).order(),cr=Sr.exit(),Nr=Sr.enter().append("g").attr("class","tick"),sr=Sr.select("line"),Ut=Sr.select("text");pr=pr.merge(pr.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),Sr=Sr.merge(Nr),sr=sr.merge(Nr.append("line").attr("stroke","currentColor").attr(H+"2",L*O)),Ut=Ut.merge(Nr.append("text").attr("fill","currentColor").attr(H,L*pt).attr("dy",r===Qn?"0em":r===Ae?"0.71em":"0.32em")),et!==Yt&&(pr=pr.transition(et),Sr=Sr.transition(et),sr=sr.transition(et),Ut=Ut.transition(et),cr=cr.transition(et).attr("opacity",Pa).attr("transform",function(gr){return isFinite(gr=kt(gr))?K(gr+$):this.getAttribute("transform")}),Nr.attr("opacity",Pa).attr("transform",function(gr){var ar=this.parentNode.__axis;return K((ar&&isFinite(ar=ar(gr))?ar:kt(gr))+$)})),cr.remove(),pr.attr("d",r===Rn||r===Zn?R?"M"+L*R+","+Gt+"H"+$+"V"+Dt+"H"+L*R:"M"+$+","+Gt+"V"+Dt:R?"M"+Gt+","+L*R+"V"+$+"H"+Dt+"V"+L*R:"M"+Gt+","+$+"H"+Dt),Sr.attr("opacity",1).attr("transform",function(gr){return K(kt(gr)+$)}),sr.attr(H+"2",L*O),Ut.attr(H,L*pt).text(or),Yt.filter(nf).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",r===Zn?"start":r===Rn?"end":"middle"),Yt.each(function(){this.__axis=kt})}return _.scale=function(et){return arguments.length?(o=et,_):o},_.ticks=function(){return l=Array.from(arguments),_},_.tickArguments=function(et){return arguments.length?(l=et==null?[]:Array.from(et),_):l.slice()},_.tickValues=function(et){return arguments.length?(g=et==null?null:Array.from(et),_):g&&g.slice()},_.tickFormat=function(et){return arguments.length?(x=et,_):x},_.tickSize=function(et){return arguments.length?(O=R=+et,_):O},_.tickSizeInner=function(et){return arguments.length?(O=+et,_):O},_.tickSizeOuter=function(et){return arguments.length?(R=+et,_):R},_.tickPadding=function(et){return arguments.length?(D=+et,_):D},_.offset=function(et){return arguments.length?($=+et,_):$},_}function dl(r){return kn(Qn,r)}function ef(r){return kn(Zn,r)}function hl(r){return kn(Ae,r)}function gl(r){return kn(Rn,r)}function Ca(r){return function(o){return Math.sign(o)*Math.log1p(Math.abs(o/r))}}function Na(r){return function(o){return Math.sign(o)*Math.expm1(Math.abs(o))*r}}function af(r){var o=1,l=r(Ca(o),Na(o));return l.constant=function(g){return arguments.length?r(Ca(o=+g),Na(o)):o},ae(l)}function Ma(){var r=af(jr());return r.copy=function(){return _r(r,Ma()).constant(r.constant())},Jr.apply(r,arguments)}var Xr={colorScale:"bb-colorscale",stanfordElements:"bb-stanford-elements",stanfordLine:"bb-stanford-line",stanfordLines:"bb-stanford-lines",stanfordRegion:"bb-stanford-region",stanfordRegions:"bb-stanford-regions"},of=Object.defineProperty,sf=(r,o,l)=>o in r?of(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,ba=(r,o,l)=>sf(r,typeof o!="symbol"?o+"":o,l);class uf{constructor(o){ba(this,"owner"),ba(this,"colorScale"),this.owner=o}drawColorScale(){const{$$:o,config:l}=this.owner,g=o.data.targets[0],x=o.state.height-l.padding_bottom-l.padding_top,O=l.scale_width,R=5,D=Yu(l.padding_bottom,x,R),$=Le(g.colors).domain([D[D.length-1],D[0]]);this.colorScale&&this.colorScale.remove(),this.colorScale=o.$el.svg.append("g").attr("width",50).attr("height",x).attr("class",Xr.colorScale),this.colorScale.append("g").attr("transform",`translate(0, ${l.padding_top})`).selectAll("bars").data(D).enter().append("rect").attr("y",(et,zt)=>zt*R).attr("x",0).attr("width",O).attr("height",R).attr("fill",et=>$(et));const L=Ma().domain([g.minEpochs,g.maxEpochs]).range([D[0]+l.padding_top+D[D.length-1]+R-1,D[0]+l.padding_top]),H=ef(L),K=l.scale_format;K==="pow10"?H.tickValues([1,10,100,1e3,1e4,1e5,1e6,1e7]):Se(K)?H.tickFormat(K):H.tickFormat(bn("d"));const _=this.colorScale.append("g").attr("class","legend axis").attr("transform",`translate(${O},0)`).call(H);K==="pow10"&&_.selectAll(".tick text").text(null).filter(et=>et/Math.pow(10,Math.ceil(Math.log(et)/Math.LN10-1e-12))===1).text(10).append("tspan").attr("dy","-.7em").text(et=>Math.round(Math.log(et)/Math.LN10)),this.colorScale.attr("transform",`translate(${o.state.current.width-this.xForColorScale()}, 0)`)}xForColorScale(){return this.owner.config.padding_right+this.colorScale.node().getBBox().width}getColorScalePadding(){return this.xForColorScale()+this.owner.config.padding_left+20}}function ff(r,o){const l=r.x,g=r.value;let x=!1;for(let O=0,R=o.length-1;Og!=H>g&&l<(L-D)*(g-$)/(H-$)+D&&(x=!x)}return x}function lf(r,o){return r.epochso.epochs?1:0}function cf(r){let o=0,l,g;for(let x=0,O=r.length,R=O-1;xo in r?vf(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,hf=(r,o,l)=>df(r,typeof o!="symbol"?o+"":o,l);class gf{constructor(o){hf(this,"owner"),this.owner=o;const l=o.$$.$el.main.select(".bb-chart").append("g").attr("class",Xr.stanfordElements);l.append("g").attr("class",Xr.stanfordLines),l.append("g").attr("class",Xr.stanfordRegions)}updateStanfordLines(o){const{$$:l}=this.owner,{config:g,$el:{main:x}}=l,O=g.axis_rotated,R=this.xvCustom.bind(l),D=this.yvCustom.bind(l),$=x.select(`.${Xr.stanfordLines}`).style("shape-rendering","geometricprecision").selectAll(`.${Xr.stanfordLine}`).data(this.owner.config.lines);$.exit().transition().duration(o).style("opacity","0").remove();const L=$.enter().append("g");L.append("line").style("opacity","0"),L.merge($).attr("class",H=>Xr.stanfordLine+(H.class?` ${H.class}`:"")).select("line").transition().duration(o).attr("x1",H=>O?D(H,"y1"):R(H,"x1")).attr("x2",H=>O?D(H,"y2"):R(H,"x2")).attr("y1",H=>O?R(H,"x1"):D(H,"y1")).attr("y2",H=>O?R(H,"x2"):D(H,"y2")).transition().style("opacity",null)}updateStanfordRegions(o){const{$$:l}=this.owner,{config:g,$el:{main:x}}=l,O=g.axis_rotated,R=this.xvCustom.bind(l),D=this.yvCustom.bind(l),$=this.owner.countEpochsInRegion.bind(l);let L=x.select(`.${Xr.stanfordRegions}`).selectAll(`.${Xr.stanfordRegion}`).data(this.owner.config.regions);L.exit().transition().duration(o).style("opacity","0").remove();const H=L.enter().append("g");H.append("polygon").style("opacity","0"),H.append("text").attr("transform",O?"rotate(-90)":"").style("opacity","0"),L=H.merge(L),L.attr("class",K=>Xr.stanfordRegion+(K.class?` ${K.class}`:"")).select("polygon").transition().duration(o).attr("points",K=>K.points.map(_=>[O?D(_,"y"):R(_,"x"),O?R(_,"x"):D(_,"y")].join(",")).join(" ")).transition().style("opacity",K=>String(K.opacity?K.opacity:.2)),L.select("text").transition().duration(o).attr("x",K=>O?D(qn(K.points),"y"):R(qn(K.points),"x")).attr("y",K=>O?R(qn(K.points),"x"):D(qn(K.points),"y")).text(K=>{if(K.text){const{value:_,percentage:et}=$(K.points);return K.text(_,et)}return""}).attr("text-anchor","middle").attr("dominant-baseline","middle").transition().style("opacity",null)}updateStanfordElements(o=0){this.updateStanfordLines(o),this.updateStanfordRegions(o)}xvCustom(o,l){const g=this,{axis:x,config:O}=g;let R=l?o[l]:g.getBaseValue(o);return x.isTimeSeries()?R=Ku.call(g,R):x.isCategorized()&&Tn(R)&&(R=O.axis_x_categories.indexOf(o.value)),g.scale.x(R)}yvCustom(o,l){const g=this,x=o.axis&&o.axis==="y2"?g.scale.y2:g.scale.y,O=l?o[l]:g.getBaseValue(o);return x(O)}}class Da{constructor(){return{colors:void 0,epochs:[],lines:[],scale_min:void 0,scale_max:void 0,scale_width:20,scale_format:void 0,padding_top:0,padding_right:0,padding_bottom:0,padding_left:0,regions:[]}}}var pf=Object.defineProperty,yf=(r,o,l)=>o in r?pf(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,Pe=(r,o,l)=>yf(r,typeof o!="symbol"?o+"":o,l);class mf extends Aa{constructor(o){return super(o),Pe(this,"config"),Pe(this,"colorScale"),Pe(this,"elements"),this.config=new Da,this}$beforeInit(){const{$$:o}=this;o.config.data_xSort=!1,o.isMultipleX=()=>!0,o.showGridFocus=()=>{},o.labelishData=g=>g.values,o.opacityForCircle=()=>1;const l=o.getCurrentPadding.bind(o);o.getCurrentPadding=()=>{const g=l();return g.right+=this.colorScale?this.colorScale.getColorScalePadding():0,g}}$init(){const{$$:o}=this;Ju.call(this,this.options),o.color=this.getStanfordPointColor.bind(o),this.colorScale=new uf(this),this.elements=new gf(this),this.convertData(),this.initStanfordData(),this.setStanfordTooltip(),this.colorScale.drawColorScale(),o.right+=this.colorScale?this.colorScale.getColorScalePadding():0,this.$redraw()}$redraw(o){var l,g;(l=this.colorScale)==null||l.drawColorScale(),(g=this.elements)==null||g.updateStanfordElements(o)}getOptions(){return new Da}convertData(){const o=this.$$.data.targets,l=this.options.epochs;o.forEach(g=>{g.values.forEach((x,O)=>{x.epochs=l[O]}),g.minEpochs=void 0,g.maxEpochs=void 0,g.colors=void 0,g.colorscale=void 0})}initStanfordData(){const{config:o}=this,l=this.$$.data.targets[0];l.values.sort(lf);const g=l.values.map(x=>x.epochs);l.minEpochs=isNaN(o.scale_min)?Math.min(...g):o.scale_min,l.maxEpochs=isNaN(o.scale_max)?Math.max(...g):o.scale_max,l.colors=Se(o.colors)?o.colors:Bt(rt(250,1,.5),rt(0,1,.5)),l.colorscale=Ue(l.colors).domain([l.minEpochs,l.maxEpochs])}getStanfordPointColor(o){return this.data.targets[0].colorscale(o.epochs)}setStanfordTooltip(){const{config:o}=this.$$;Ta(o.tooltip_contents)&&(o.tooltip_contents=function(l,g,x,O){const{data_x:R}=o;let D=`
${a||""} ${o(g)}
{=title}
{=title}{=value}{=value}
{=title}{=value}{=value}
`;return l.forEach($=>{const{id:L="",value:H=0,epochs:K=0,x:_=""}=$;D+=` - +`),T=g?O.length-1:1;r.html(""),O.forEach((D,$)=>{r.append("tspan").attr("x",0).attr("dy",`${$===0?l[0]*T:l[1]}em`).text(D)})}}}function Gu(r){const{x:o,y:l,width:g,height:x}=r.getBBox();return[{x:o,y:l+x},{x:o,y:l},{x:o+g,y:l},{x:o+g,y:l+x}]}function Yf(r){const{width:o,height:l}=r.getBoundingClientRect(),g=Gu(r),x=g[0].x,O=Math.min(g[0].y,g[1].y);return{x,y:O,width:o,height:l}}function Kf(r,o){var l;const g=r&&((l=r.touches||r.sourceEvent&&r.sourceEvent.touches)==null?void 0:l[0]);let x=[0,0];try{x=d3Pointer(g||r,o)}catch(O){}return x.map(O=>isNaN(O)?0:O)}function Vu(r){const{event:o,$el:l}=r,g=l.subchart.main||l.main;let x;return o&&o.type==="brush"?x=o.selection:g&&(x=g.select(".bb-brush").node())&&(x=d3BrushSelection(x)),x}function Xf(r){return!("rect"in r)||"rect"in r&&r.hasAttribute("width")&&r.rect.width!==+r.getAttribute("width")?r.rect=r.getBoundingClientRect():r.rect}function Jf(r=!0,o=0,l=1e4){const g=window.crypto||window.msCrypto,x=g?o+g.getRandomValues(new Uint32Array(1))[0]%(l-o+1):Math.floor(Math.random()*(l-o)+o);return r?String(x):x}function Ra(r,o,l,g,x){if(l>g)return-1;const O=Math.floor((l+g)/2);let{x:T,w:D=0}=r[O];return x&&(T=r[O].y,D=r[O].h),o>=T&&o<=T+D?O:o{if(Jn(l)&&l.constructor){const g=new l.constructor;for(const x in l)g[x]=o(l[x]);return g}return l};return r.map(l=>o(l)).reduce((l,g)=>Ia(Ia({},l),g))}function Hu(r={},o){Oe(o)&&o.forEach(l=>Hu(r,l));for(const l in o)/^\d+$/.test(l)||l in r||(r[l]=o[l]);return r}const kf=r=>r.charAt(0).toUpperCase()+r.slice(1);function qf(r,o="-"){return r.split(o).map((l,g)=>g?l.charAt(0).toUpperCase()+l.slice(1).toLowerCase():l.toLowerCase()).join("")}const Wu=r=>[].slice.call(r);function _f(r,o,l){const{rootSelector:g="",sheet:x}=r,T=`${g} ${(D=>D.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(o)} {${l.join(";")}}`;return x[x.insertRule?"insertRule":"addRule"](T,x.cssRules.length)}function tl(r){let o=[];return r.forEach(l=>{var g;try{l.cssRules&&l.cssRules.length&&(o=o.concat(Wu(l.cssRules)))}catch(x){(g=window.console)==null||g.warn(`Error while reading rules from ${l.href}: ${x.toString()}`)}}),o}function rl(r){var o,l,g,x,O,T;return{x:((l=(o=window.pageXOffset)!=null?o:window.scrollX)!=null?l:0)+((g=r.scrollLeft)!=null?g:0),y:((O=(x=window.pageYOffset)!=null?x:window.scrollY)!=null?O:0)+((T=r.scrollTop)!=null?T:0)}}function nl(r,o=0,l=0,g=!0){const x=new DOMPoint(o,l),O=r.getScreenCTM(),T=x.matrixTransform(g?O==null?void 0:O.inverse():O);if(g===!1){const D=r.getBoundingClientRect();T.x-=D.x,T.y-=D.y}return T}function el(r){const o=r?r.transform:null,l=o&&o.baseVal;return l&&l.numberOfItems?l.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function al(r){const o=r[0]instanceof Date,l=(o?r.map(Number):r).filter((g,x,O)=>O.indexOf(g)===x);return o?l.map(g=>new Date(g)):l}function ol(r){return r&&r.length?r.reduce((o,l)=>o.concat(l)):[]}function Te(r,...o){if(!o.length||o.length===1&&!o[0])return r;const l=o.shift();return Jn(r)&&Jn(l)&&Object.keys(l).forEach(g=>{const x=l[g];Jn(x)?(!r[g]&&(r[g]={}),r[g]=Te(r[g],x)):r[g]=Oe(x)?x.concat():x}),Te(r,...o)}function zu(r,o=!0){let l;return r[0]instanceof Date?l=o?(g,x)=>g-x:(g,x)=>x-g:o&&!r.every(isNaN)?l=(g,x)=>g-x:o||(l=(g,x)=>g>x&&-1||gwu(g));return l.length?Ee(l[0])?l=Math[r](...l):l[0]instanceof Date&&(l=zu(l,r==="min")[0]):l=void 0,l}const Yu=(r,o,l=1)=>{const g=[],x=Math.max(0,Math.ceil((o-r)/l))|0;for(let O=r;O{const r=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(o,l,g=r())=>{o.dispatchEvent(new MouseEvent(l,g))}}catch(o){return(l,g,x=r())=>{const O=$u.createEvent("MouseEvent");O.initMouseEvent(g,x.bubbles,x.cancelable,Xn,0,x.screenX,x.screenY,x.clientX,x.clientY,!1,!1,!1,!1,0,null),l.dispatchEvent(O)}}})(),touch:(r,o,l)=>{const g=new Touch(Te({identifier:Date.now(),target:r,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},l));r.dispatchEvent(new TouchEvent(o,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[g],targetTouches:[],changedTouches:[g]}))}};function ul(r,o){let l=r;for(const g in o)l=l.replace(new RegExp(`{=${g}}`,"g"),o[g]);return l}function Ku(r){var o;let l;if(r instanceof Date)l=r;else if(Tn(r)){const{config:g,format:x}=this;l=(o=x.dataTime(g.data_xFormat)(r))!=null?o:new Date(r)}else Ee(r)&&!isNaN(r)&&(l=new Date(+r));return(!l||isNaN(+l))&&console&&console.error&&console.error(`Failed to parse x '${r}' to Date object`),l}function fl(r){const o=r.attr("viewBox");return o?/(\d+(\.\d+)?){3}/.test(o):!1}function ll(r,o,l=!1){const g=!!r.node;let x=!1;for(const[O,T]of Object.entries(o))if(x=g?r.style(O)===T:r.style[O]===T,l===!1&&x)break;return x}function cl(){var r,o;return((r=document)==null?void 0:r.hidden)===!1||((o=document)==null?void 0:o.visibilityState)==="visible"}function vl(r,o){const{DocumentTouch:l,matchMedia:g,navigator:x}=window,O=g==null?void 0:g("(pointer:coarse)").matches;let T=!1;if(o)if(x&&"maxTouchPoints"in x)T=x.maxTouchPoints>0;else if("ontouchmove"in window||l&&document instanceof l)T=!0;else if(O)T=!0;else{const $=x.userAgent;T=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test($)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test($)}return r&&!O&&(g==null?void 0:g("(pointer:fine)").matches)&&"mouse"||T&&"touch"||"mouse"}function Xu(r,o){o()===!1?requestAnimationFrame(()=>Xu(r,o)):r()}function Ju(r){const o=this.config;let l,g,x;const O=()=>{const T=g.shift();if(T&&l&&Ie(l)&&T in l)return l=l[T],O();if(!T)return l};Object.keys(o).forEach(T=>{l=r,g=T.split("_"),x=O(),Oa(x)&&(o[T]=x)}),this.api&&(this.state.orgConfig=r)}var Qu=Object.defineProperty,Zu=(r,o,l)=>o in r?Qu(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,Re=(r,o,l)=>Zu(r,typeof o!="symbol"?o+"":o,l);class Aa{constructor(o={}){Re(this,"$$"),Re(this,"options"),this.options=o}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(o=>{this[o]=null,delete this[o]})}}Re(Aa,"version","3.14.2");function ku(r){return r}var Qn=1,Zn=2,Ae=3,Rn=4,Pa=1e-6;function qu(r){return"translate("+r+",0)"}function _u(r){return"translate(0,"+r+")"}function tf(r){return o=>+r(o)}function rf(r,o){return o=Math.max(0,r.bandwidth()-o*2)/2,r.round()&&(o=Math.round(o)),l=>+r(l)+o}function nf(){return!this.__axis}function kn(r,o){var l=[],g=null,x=null,O=6,T=6,D=3,$=typeof window!="undefined"&&window.devicePixelRatio>1?0:.5,L=r===Qn||r===Rn?-1:1,H=r===Rn||r===Zn?"x":"y",K=r===Qn||r===Ae?qu:_u;function _(et){var zt=g==null?o.ticks?o.ticks.apply(o,l):o.domain():g,or=x==null?o.tickFormat?o.tickFormat.apply(o,l):ku:x,pt=Math.max(O,0)+D,Ct=o.range(),Gt=+Ct[0]+$,Dt=+Ct[Ct.length-1]+$,kt=(o.bandwidth?rf:tf)(o.copy(),$),Yt=et.selection?et.selection():et,pr=Yt.selectAll(".domain").data([null]),Sr=Yt.selectAll(".tick").data(zt,o).order(),cr=Sr.exit(),Nr=Sr.enter().append("g").attr("class","tick"),sr=Sr.select("line"),Ut=Sr.select("text");pr=pr.merge(pr.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),Sr=Sr.merge(Nr),sr=sr.merge(Nr.append("line").attr("stroke","currentColor").attr(H+"2",L*O)),Ut=Ut.merge(Nr.append("text").attr("fill","currentColor").attr(H,L*pt).attr("dy",r===Qn?"0em":r===Ae?"0.71em":"0.32em")),et!==Yt&&(pr=pr.transition(et),Sr=Sr.transition(et),sr=sr.transition(et),Ut=Ut.transition(et),cr=cr.transition(et).attr("opacity",Pa).attr("transform",function(gr){return isFinite(gr=kt(gr))?K(gr+$):this.getAttribute("transform")}),Nr.attr("opacity",Pa).attr("transform",function(gr){var ar=this.parentNode.__axis;return K((ar&&isFinite(ar=ar(gr))?ar:kt(gr))+$)})),cr.remove(),pr.attr("d",r===Rn||r===Zn?T?"M"+L*T+","+Gt+"H"+$+"V"+Dt+"H"+L*T:"M"+$+","+Gt+"V"+Dt:T?"M"+Gt+","+L*T+"V"+$+"H"+Dt+"V"+L*T:"M"+Gt+","+$+"H"+Dt),Sr.attr("opacity",1).attr("transform",function(gr){return K(kt(gr)+$)}),sr.attr(H+"2",L*O),Ut.attr(H,L*pt).text(or),Yt.filter(nf).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",r===Zn?"start":r===Rn?"end":"middle"),Yt.each(function(){this.__axis=kt})}return _.scale=function(et){return arguments.length?(o=et,_):o},_.ticks=function(){return l=Array.from(arguments),_},_.tickArguments=function(et){return arguments.length?(l=et==null?[]:Array.from(et),_):l.slice()},_.tickValues=function(et){return arguments.length?(g=et==null?null:Array.from(et),_):g&&g.slice()},_.tickFormat=function(et){return arguments.length?(x=et,_):x},_.tickSize=function(et){return arguments.length?(O=T=+et,_):O},_.tickSizeInner=function(et){return arguments.length?(O=+et,_):O},_.tickSizeOuter=function(et){return arguments.length?(T=+et,_):T},_.tickPadding=function(et){return arguments.length?(D=+et,_):D},_.offset=function(et){return arguments.length?($=+et,_):$},_}function dl(r){return kn(Qn,r)}function ef(r){return kn(Zn,r)}function hl(r){return kn(Ae,r)}function gl(r){return kn(Rn,r)}function Ca(r){return function(o){return Math.sign(o)*Math.log1p(Math.abs(o/r))}}function Na(r){return function(o){return Math.sign(o)*Math.expm1(Math.abs(o))*r}}function af(r){var o=1,l=r(Ca(o),Na(o));return l.constant=function(g){return arguments.length?r(Ca(o=+g),Na(o)):o},ae(l)}function Ma(){var r=af(jr());return r.copy=function(){return _r(r,Ma()).constant(r.constant())},Jr.apply(r,arguments)}var Xr={colorScale:"bb-colorscale",stanfordElements:"bb-stanford-elements",stanfordLine:"bb-stanford-line",stanfordLines:"bb-stanford-lines",stanfordRegion:"bb-stanford-region",stanfordRegions:"bb-stanford-regions"},of=Object.defineProperty,sf=(r,o,l)=>o in r?of(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,ba=(r,o,l)=>sf(r,typeof o!="symbol"?o+"":o,l);class uf{constructor(o){ba(this,"owner"),ba(this,"colorScale"),this.owner=o}drawColorScale(){const{$$:o,config:l}=this.owner,g=o.data.targets[0],x=o.state.height-l.padding_bottom-l.padding_top,O=l.scale_width,T=5,D=Yu(l.padding_bottom,x,T),$=Le(g.colors).domain([D[D.length-1],D[0]]);this.colorScale&&this.colorScale.remove(),this.colorScale=o.$el.svg.append("g").attr("width",50).attr("height",x).attr("class",Xr.colorScale),this.colorScale.append("g").attr("transform",`translate(0, ${l.padding_top})`).selectAll("bars").data(D).enter().append("rect").attr("y",(et,zt)=>zt*T).attr("x",0).attr("width",O).attr("height",T).attr("fill",et=>$(et));const L=Ma().domain([g.minEpochs,g.maxEpochs]).range([D[0]+l.padding_top+D[D.length-1]+T-1,D[0]+l.padding_top]),H=ef(L),K=l.scale_format;K==="pow10"?H.tickValues([1,10,100,1e3,1e4,1e5,1e6,1e7]):Se(K)?H.tickFormat(K):H.tickFormat(bn("d"));const _=this.colorScale.append("g").attr("class","legend axis").attr("transform",`translate(${O},0)`).call(H);K==="pow10"&&_.selectAll(".tick text").text(null).filter(et=>et/Math.pow(10,Math.ceil(Math.log(et)/Math.LN10-1e-12))===1).text(10).append("tspan").attr("dy","-.7em").text(et=>Math.round(Math.log(et)/Math.LN10)),this.colorScale.attr("transform",`translate(${o.state.current.width-this.xForColorScale()}, 0)`)}xForColorScale(){return this.owner.config.padding_right+this.colorScale.node().getBBox().width}getColorScalePadding(){return this.xForColorScale()+this.owner.config.padding_left+20}}function ff(r,o){const l=r.x,g=r.value;let x=!1;for(let O=0,T=o.length-1;Og!=H>g&&l<(L-D)*(g-$)/(H-$)+D&&(x=!x)}return x}function lf(r,o){return r.epochso.epochs?1:0}function cf(r){let o=0,l,g;for(let x=0,O=r.length,T=O-1;xo in r?vf(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,hf=(r,o,l)=>df(r,typeof o!="symbol"?o+"":o,l);class gf{constructor(o){hf(this,"owner"),this.owner=o;const l=o.$$.$el.main.select(".bb-chart").append("g").attr("class",Xr.stanfordElements);l.append("g").attr("class",Xr.stanfordLines),l.append("g").attr("class",Xr.stanfordRegions)}updateStanfordLines(o){const{$$:l}=this.owner,{config:g,$el:{main:x}}=l,O=g.axis_rotated,T=this.xvCustom.bind(l),D=this.yvCustom.bind(l),$=x.select(`.${Xr.stanfordLines}`).style("shape-rendering","geometricprecision").selectAll(`.${Xr.stanfordLine}`).data(this.owner.config.lines);$.exit().transition().duration(o).style("opacity","0").remove();const L=$.enter().append("g");L.append("line").style("opacity","0"),L.merge($).attr("class",H=>Xr.stanfordLine+(H.class?` ${H.class}`:"")).select("line").transition().duration(o).attr("x1",H=>O?D(H,"y1"):T(H,"x1")).attr("x2",H=>O?D(H,"y2"):T(H,"x2")).attr("y1",H=>O?T(H,"x1"):D(H,"y1")).attr("y2",H=>O?T(H,"x2"):D(H,"y2")).transition().style("opacity",null)}updateStanfordRegions(o){const{$$:l}=this.owner,{config:g,$el:{main:x}}=l,O=g.axis_rotated,T=this.xvCustom.bind(l),D=this.yvCustom.bind(l),$=this.owner.countEpochsInRegion.bind(l);let L=x.select(`.${Xr.stanfordRegions}`).selectAll(`.${Xr.stanfordRegion}`).data(this.owner.config.regions);L.exit().transition().duration(o).style("opacity","0").remove();const H=L.enter().append("g");H.append("polygon").style("opacity","0"),H.append("text").attr("transform",O?"rotate(-90)":"").style("opacity","0"),L=H.merge(L),L.attr("class",K=>Xr.stanfordRegion+(K.class?` ${K.class}`:"")).select("polygon").transition().duration(o).attr("points",K=>K.points.map(_=>[O?D(_,"y"):T(_,"x"),O?T(_,"x"):D(_,"y")].join(",")).join(" ")).transition().style("opacity",K=>String(K.opacity?K.opacity:.2)),L.select("text").transition().duration(o).attr("x",K=>O?D(qn(K.points),"y"):T(qn(K.points),"x")).attr("y",K=>O?T(qn(K.points),"x"):D(qn(K.points),"y")).text(K=>{if(K.text){const{value:_,percentage:et}=$(K.points);return K.text(_,et)}return""}).attr("text-anchor","middle").attr("dominant-baseline","middle").transition().style("opacity",null)}updateStanfordElements(o=0){this.updateStanfordLines(o),this.updateStanfordRegions(o)}xvCustom(o,l){const g=this,{axis:x,config:O}=g;let T=l?o[l]:g.getBaseValue(o);return x.isTimeSeries()?T=Ku.call(g,T):x.isCategorized()&&Tn(T)&&(T=O.axis_x_categories.indexOf(o.value)),g.scale.x(T)}yvCustom(o,l){const g=this,x=o.axis&&o.axis==="y2"?g.scale.y2:g.scale.y,O=l?o[l]:g.getBaseValue(o);return x(O)}}class Da{constructor(){return{colors:void 0,epochs:[],lines:[],scale_min:void 0,scale_max:void 0,scale_width:20,scale_format:void 0,padding_top:0,padding_right:0,padding_bottom:0,padding_left:0,regions:[]}}}var pf=Object.defineProperty,yf=(r,o,l)=>o in r?pf(r,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[o]=l,Pe=(r,o,l)=>yf(r,typeof o!="symbol"?o+"":o,l);class mf extends Aa{constructor(o){return super(o),Pe(this,"config"),Pe(this,"colorScale"),Pe(this,"elements"),this.config=new Da,this}$beforeInit(){const{$$:o}=this;o.config.data_xSort=!1,o.isMultipleX=()=>!0,o.showGridFocus=()=>{},o.labelishData=g=>g.values,o.opacityForCircle=()=>1;const l=o.getCurrentPadding.bind(o);o.getCurrentPadding=()=>{const g=l();return g.right+=this.colorScale?this.colorScale.getColorScalePadding():0,g}}$init(){const{$$:o}=this;Ju.call(this,this.options),o.color=this.getStanfordPointColor.bind(o),this.colorScale=new uf(this),this.elements=new gf(this),this.convertData(),this.initStanfordData(),this.setStanfordTooltip(),this.colorScale.drawColorScale(),o.right+=this.colorScale?this.colorScale.getColorScalePadding():0,this.$redraw()}$redraw(o){var l,g;(l=this.colorScale)==null||l.drawColorScale(),(g=this.elements)==null||g.updateStanfordElements(o)}getOptions(){return new Da}convertData(){const o=this.$$.data.targets,l=this.options.epochs;o.forEach(g=>{g.values.forEach((x,O)=>{x.epochs=l[O]}),g.minEpochs=void 0,g.maxEpochs=void 0,g.colors=void 0,g.colorscale=void 0})}initStanfordData(){const{config:o}=this,l=this.$$.data.targets[0];l.values.sort(lf);const g=l.values.map(x=>x.epochs);l.minEpochs=isNaN(o.scale_min)?Math.min(...g):o.scale_min,l.maxEpochs=isNaN(o.scale_max)?Math.max(...g):o.scale_max,l.colors=Se(o.colors)?o.colors:Bt(rt(250,1,.5),rt(0,1,.5)),l.colorscale=Ue(l.colors).domain([l.minEpochs,l.maxEpochs])}getStanfordPointColor(o){return this.data.targets[0].colorscale(o.epochs)}setStanfordTooltip(){const{config:o}=this.$$;Ta(o.tooltip_contents)&&(o.tooltip_contents=function(l,g,x,O){const{data_x:T}=o;let D=`
${R||""}
`;return l.forEach($=>{const{id:L="",value:H=0,epochs:K=0,x:_=""}=$;D+=` + @@ -21,7 +21,7 @@ - `}),`${D}
${T||""} ${g(_)}
Epochs ${x(K)}
`})}countEpochsInRegion(o){const g=this.data.targets[0],x=g.values.reduce((R,D)=>R+Number(D.epochs),0),O=g.values.reduce((R,D)=>ff(D,o)?R+Number(D.epochs):R,0);return{value:O,percentage:O!==0?+(O/x*100).toFixed(1):0}}}},85156:function(u,h,t){var n=t(23583),e=t(82453),a=TypeError;u.exports=function(s){if(n(s))return s;throw new a(e(s)+" is not a function")}},80042:function(u,h,t){var n=t(11051),e=t(82453),a=TypeError;u.exports=function(s){if(n(s))return s;throw new a(e(s)+" is not a constructor")}},53408:function(u,h,t){var n=t(52427),e=String,a=TypeError;u.exports=function(s){if(n(s))return s;throw new a("Can't set "+e(s)+" as a prototype")}},76602:function(u,h,t){var n=t(172).has;u.exports=function(e){return n(e),e}},23811:function(u,h,t){var n=t(18565),e=t(5406),a=t(7831).f,s=n("unscopables"),i=Array.prototype;i[s]===void 0&&a(i,s,{configurable:!0,value:e(null)}),u.exports=function(f){i[s][f]=!0}},24487:function(u,h,t){var n=t(22149).charAt;u.exports=function(e,a,s){return a+(s?n(e,a).length:1)}},12833:function(u,h,t){var n=t(95307),e=TypeError;u.exports=function(a,s){if(n(s,a))return a;throw new e("Incorrect invocation")}},25001:function(u,h,t){var n=t(37540),e=String,a=TypeError;u.exports=function(s){if(n(s))return s;throw new a(e(s)+" is not an object")}},3237:function(u){u.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},58360:function(u,h,t){var n=t(34246),e=t(84756),a=t(14274),s=n.ArrayBuffer,i=n.TypeError;u.exports=s&&e(s.prototype,"byteLength","get")||function(f){if(a(f)!=="ArrayBuffer")throw new i("ArrayBuffer expected");return f.byteLength}},30736:function(u,h,t){var n=t(34246),e=t(77422),a=t(58360),s=n.ArrayBuffer,i=s&&s.prototype,f=i&&e(i.slice);u.exports=function(c){if(a(c)!==0||!f)return!1;try{return f(c,0,0),!1}catch(v){return!0}}},72058:function(u,h,t){var n=t(72069);u.exports=n(function(){if(typeof ArrayBuffer=="function"){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}})},83843:function(u,h,t){var n=t(30736),e=TypeError;u.exports=function(a){if(n(a))throw new e("ArrayBuffer is detached");return a}},65006:function(u,h,t){var n=t(34246),e=t(11286),a=t(84756),s=t(9450),i=t(83843),f=t(58360),c=t(63741),v=t(99050),d=n.structuredClone,p=n.ArrayBuffer,y=n.DataView,m=Math.min,S=p.prototype,I=y.prototype,E=e(S.slice),T=a(S,"resizable","get"),N=a(S,"maxByteLength","get"),P=e(I.getInt8),C=e(I.setInt8);u.exports=(v||c)&&function(b,A,M){var F=f(b),B=A===void 0?F:s(A),U=!T||!T(b),j;if(i(b),v&&(b=d(b,{transfer:[b]}),F===B&&(M||U)))return b;if(F>=B&&(!M||U))j=E(b,0,B);else{var W=M&&!U&&N?{maxByteLength:N(b)}:void 0;j=new p(B,W);for(var z=new y(b),w=new y(j),G=m(B,F),V=0;V>8&255]},Bt=function(ft){return[ft&255,ft>>8&255,ft>>16&255,ft>>24&255]},Ft=function(ft){return ft[3]<<24|ft[2]<<16|ft[1]<<8|ft[0]},Vt=function(ft){return jt(I(ft),23,4)},nr=function(ft){return jt(ft,52,8)},tr=function(ft,ct,nt){c(ft[z],ct,{configurable:!0,get:function(){return nt(this)[ct]}})},Zt=function(ft,ct,nt,Mt){var bt=X(ft),At=S(nt),Tt=!!Mt;if(At+ct>bt.byteLength)throw new Nt(G);var ur=bt.bytes,vr=At+bt.byteOffset,Q=C(ur,vr,vr+ct);return Tt?Q:Xt(Q)},Ht=function(ft,ct,nt,Mt,bt,At){var Tt=X(ft),ur=S(nt),vr=Mt(+bt),Q=!!At;if(ur+ct>Tt.byteLength)throw new Nt(G);for(var ot=Tt.bytes,lt=ur+Tt.byteOffset,st=0;stAt)throw new Nt("Wrong offset");if(Mt=Mt===void 0?At-Tt:m(Mt),Tt+Mt>At)throw new Nt(w);tt(this,{type:W,buffer:ct,byteLength:Mt,byteOffset:Tt,bytes:bt.bytes}),a||(this.buffer=ct,this.byteLength=Mt,this.byteOffset=Tt)},ht=mt[z],a&&(tr(rt,"byteLength",V),tr(mt,"buffer",X),tr(mt,"byteLength",X),tr(mt,"byteOffset",X)),v(ht,{getInt8:function(ct){return Zt(this,1,ct)[0]<<24>>24},getUint8:function(ct){return Zt(this,1,ct)[0]},getInt16:function(ct){var nt=Zt(this,2,ct,arguments.length>1?arguments[1]:!1);return(nt[1]<<8|nt[0])<<16>>16},getUint16:function(ct){var nt=Zt(this,2,ct,arguments.length>1?arguments[1]:!1);return nt[1]<<8|nt[0]},getInt32:function(ct){return Ft(Zt(this,4,ct,arguments.length>1?arguments[1]:!1))},getUint32:function(ct){return Ft(Zt(this,4,ct,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(ct){return vt(Zt(this,4,ct,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(ct){return vt(Zt(this,8,ct,arguments.length>1?arguments[1]:!1),52)},setInt8:function(ct,nt){Ht(this,1,ct,Et,nt)},setUint8:function(ct,nt){Ht(this,1,ct,Et,nt)},setInt16:function(ct,nt){Ht(this,2,ct,$t,nt,arguments.length>2?arguments[2]:!1)},setUint16:function(ct,nt){Ht(this,2,ct,$t,nt,arguments.length>2?arguments[2]:!1)},setInt32:function(ct,nt){Ht(this,4,ct,Bt,nt,arguments.length>2?arguments[2]:!1)},setUint32:function(ct,nt){Ht(this,4,ct,Bt,nt,arguments.length>2?arguments[2]:!1)},setFloat32:function(ct,nt){Ht(this,4,ct,Vt,nt,arguments.length>2?arguments[2]:!1)},setFloat64:function(ct,nt){Ht(this,8,ct,nr,nt,arguments.length>2?arguments[2]:!1)}});else{var rr=B&&q.name!==j;!d(function(){q(1)})||!d(function(){new q(-1)})||d(function(){return new q,new q(1.5),new q(NaN),q.length!==1||rr&&!U})?(rt=function(ct){return p(this,Z),b(new q(S(ct)),this,rt)},rt[z]=Z,Z.constructor=rt,A(rt,q)):rr&&U&&f(q,"name",j),N&&T(ht)!==xt&&N(ht,xt);var Qt=new mt(new rt(2)),wt=e(ht.setInt8);Qt.setInt8(0,2147483648),Qt.setInt8(1,2147483649),(Qt.getInt8(0)||!Qt.getInt8(1))&&v(ht,{setInt8:function(ct,nt){wt(this,ct,nt<<24>>24)},setUint8:function(ct,nt){wt(this,ct,nt<<24>>24)}},{unsafe:!0})}M(rt,j),M(mt,W),u.exports={ArrayBuffer:rt,DataView:mt}},81499:function(u,h,t){var n=t(49671),e=t(4652),a=t(82628),s=t(12384),i=Math.min;u.exports=[].copyWithin||function(c,v){var d=n(this),p=a(d),y=e(c,p),m=e(v,p),S=arguments.length>2?arguments[2]:void 0,I=i((S===void 0?p:e(S,p))-m,p-y),E=1;for(m0;)m in d?d[y]=d[m]:s(d,y),y+=E,m+=E;return d}},43011:function(u,h,t){var n=t(49671),e=t(4652),a=t(82628);u.exports=function(i){for(var f=n(this),c=a(f),v=arguments.length,d=e(v>1?arguments[1]:void 0,c),p=v>2?arguments[2]:void 0,y=p===void 0?c:e(p,c);y>d;)f[d++]=i;return f}},13349:function(u,h,t){var n=t(66655).forEach,e=t(6148),a=e("forEach");u.exports=a?[].forEach:function(i){return n(this,i,arguments.length>1?arguments[1]:void 0)}},5220:function(u,h,t){var n=t(82628);u.exports=function(e,a,s){for(var i=0,f=arguments.length>2?s:n(a),c=new e(f);f>i;)c[i]=a[i++];return c}},48258:function(u,h,t){var n=t(45526),e=t(96499),a=t(49671),s=t(39969),i=t(48199),f=t(11051),c=t(82628),v=t(84082),d=t(90619),p=t(81077),y=Array;u.exports=function(S){var I=a(S),E=f(this),T=arguments.length,N=T>1?arguments[1]:void 0,P=N!==void 0;P&&(N=n(N,T>2?arguments[2]:void 0));var C=p(I),b=0,A,M,F,B,U,j;if(C&&!(this===y&&i(C)))for(M=E?new this:[],B=d(I,C),U=B.next;!(F=e(U,B)).done;b++)j=P?s(B,N,[F.value,b],!0):F.value,v(M,b,j);else for(A=c(I),M=E?new this(A):y(A);A>b;b++)j=P?N(I[b],b):I[b],v(M,b,j);return M.length=b,M}},94319:function(u,h,t){var n=t(36859),e=t(4652),a=t(82628),s=function(i){return function(f,c,v){var d=n(f),p=a(d);if(p===0)return!i&&-1;var y=e(v,p),m;if(i&&c!==c){for(;p>y;)if(m=d[y++],m!==m)return!0}else for(;p>y;y++)if((i||y in d)&&d[y]===c)return i||y||0;return!i&&-1}};u.exports={includes:s(!0),indexOf:s(!1)}},73849:function(u,h,t){var n=t(45526),e=t(72181),a=t(49671),s=t(82628),i=function(f){var c=f===1;return function(v,d,p){for(var y=a(v),m=e(y),S=s(m),I=n(d,p),E,T;S-- >0;)if(E=m[S],T=I(E,S,y),T)switch(f){case 0:return E;case 1:return S}return c?-1:void 0}};u.exports={findLast:i(0),findLastIndex:i(1)}},66655:function(u,h,t){var n=t(45526),e=t(11286),a=t(72181),s=t(49671),i=t(82628),f=t(62083),c=e([].push),v=function(d){var p=d===1,y=d===2,m=d===3,S=d===4,I=d===6,E=d===7,T=d===5||I;return function(N,P,C,b){for(var A=s(N),M=a(A),F=i(M),B=n(P,C),U=0,j=b||f,W=p?j(N,F):y||E?j(N,0):void 0,z,w;F>U;U++)if((T||U in M)&&(z=M[U],w=B(z,U,A),d))if(p)W[U]=w;else if(w)switch(d){case 3:return!0;case 5:return z;case 6:return U;case 2:c(W,z)}else switch(d){case 4:return!1;case 7:c(W,z)}return I?-1:m||S?S:W}};u.exports={forEach:v(0),map:v(1),filter:v(2),some:v(3),every:v(4),find:v(5),findIndex:v(6),filterReject:v(7)}},58465:function(u,h,t){var n=t(66543),e=t(36859),a=t(12105),s=t(82628),i=t(6148),f=Math.min,c=[].lastIndexOf,v=!!c&&1/[1].lastIndexOf(1,-0)<0,d=i("lastIndexOf"),p=v||!d;u.exports=p?function(m){if(v)return n(c,this,arguments)||0;var S=e(this),I=s(S);if(I===0)return-1;var E=I-1;for(arguments.length>1&&(E=f(E,a(arguments[1]))),E<0&&(E=I+E);E>=0;E--)if(E in S&&S[E]===m)return E||0;return-1}:c},52183:function(u,h,t){var n=t(72069),e=t(18565),a=t(44241),s=e("species");u.exports=function(i){return a>=51||!n(function(){var f=[],c=f.constructor={};return c[s]=function(){return{foo:1}},f[i](Boolean).foo!==1})}},6148:function(u,h,t){var n=t(72069);u.exports=function(e,a){var s=[][e];return!!s&&n(function(){s.call(null,a||function(){return 1},1)})}},97264:function(u,h,t){var n=t(85156),e=t(49671),a=t(72181),s=t(82628),i=TypeError,f="Reduce of empty array with no initial value",c=function(v){return function(d,p,y,m){var S=e(d),I=a(S),E=s(S);if(n(p),E===0&&y<2)throw new i(f);var T=v?E-1:0,N=v?-1:1;if(y<2)for(;;){if(T in I){m=I[T],T+=N;break}if(T+=N,v?T<0:E<=T)throw new i(f)}for(;v?T>=0:E>T;T+=N)T in I&&(m=p(m,I[T],T,S));return m}};u.exports={left:c(!1),right:c(!0)}},2213:function(u,h,t){var n=t(92986),e=t(3438),a=TypeError,s=Object.getOwnPropertyDescriptor,i=n&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(f){return f instanceof TypeError}}();u.exports=i?function(f,c){if(e(f)&&!s(f,"length").writable)throw new a("Cannot set read only .length");return f.length=c}:function(f,c){return f.length=c}},22806:function(u,h,t){var n=t(11286);u.exports=n([].slice)},13270:function(u,h,t){var n=t(22806),e=Math.floor,a=function(s,i){var f=s.length;if(f<8)for(var c=1,v,d;c0;)s[d]=s[--d];d!==c++&&(s[d]=v)}else for(var p=e(f/2),y=a(n(s,0,p),i),m=a(n(s,p),i),S=y.length,I=m.length,E=0,T=0;E=v||p<0)throw new a("Incorrect index");for(var y=new i(v),m=0;m1?arguments[1]:void 0),w;w=w?w.next:W.first;)for(z(w.value,w.key,this);w&&w.removed;)w=w.previous},has:function(j){return!!B(this,j)}}),a(A,P?{get:function(j){var W=B(this,j);return W&&W.value},set:function(j,W){return F(this,j===0?0:j,W)}}:{add:function(j){return F(this,j=j===0?0:j,j)}}),y&&e(A,"size",{configurable:!0,get:function(){return M(this).size}}),b},setStrong:function(T,N,P){var C=N+" Iterator",b=E(N),A=E(C);v(T,N,function(M,F){I(this,{type:C,target:M,state:b(M),kind:F,last:null})},function(){for(var M=A(this),F=M.kind,B=M.last;B&&B.removed;)B=B.previous;return!M.target||!(M.last=B=B?B.next:M.state.first)?(M.target=null,d(void 0,!0)):d(F==="keys"?B.key:F==="values"?B.value:[B.key,B.value],!1)},P?"entries":"values",!P,!0),p(N)}}},94667:function(u,h,t){var n=t(11286),e=t(2725),a=t(31853).getWeakData,s=t(12833),i=t(25001),f=t(5683),c=t(37540),v=t(55902),d=t(66655),p=t(94879),y=t(82367),m=y.set,S=y.getterFor,I=d.find,E=d.findIndex,T=n([].splice),N=0,P=function(A){return A.frozen||(A.frozen=new C)},C=function(){this.entries=[]},b=function(A,M){return I(A.entries,function(F){return F[0]===M})};C.prototype={get:function(A){var M=b(this,A);if(M)return M[1]},has:function(A){return!!b(this,A)},set:function(A,M){var F=b(this,A);F?F[1]=M:this.entries.push([A,M])},delete:function(A){var M=E(this.entries,function(F){return F[0]===A});return~M&&T(this.entries,M,1),!!~M}},u.exports={getConstructor:function(A,M,F,B){var U=A(function(w,G){s(w,j),m(w,{type:M,id:N++,frozen:null}),f(G)||v(G,w[B],{that:w,AS_ENTRIES:F})}),j=U.prototype,W=S(M),z=function(w,G,V){var X=W(w),tt=a(i(G),!0);return tt===!0?P(X).set(G,V):tt[X.id]=V,w};return e(j,{delete:function(w){var G=W(this);if(!c(w))return!1;var V=a(w);return V===!0?P(G).delete(w):V&&p(V,G.id)&&delete V[G.id]},has:function(G){var V=W(this);if(!c(G))return!1;var X=a(G);return X===!0?P(V).has(G):X&&p(X,V.id)}}),e(j,F?{get:function(G){var V=W(this);if(c(G)){var X=a(G);if(X===!0)return P(V).get(G);if(X)return X[V.id]}},set:function(G,V){return z(this,G,V)}}:{add:function(G){return z(this,G,!0)}}),U}}},89378:function(u,h,t){var n=t(14304),e=t(34246),a=t(11286),s=t(13278),i=t(16142),f=t(31853),c=t(55902),v=t(12833),d=t(23583),p=t(5683),y=t(37540),m=t(72069),S=t(97494),I=t(78401),E=t(32345);u.exports=function(T,N,P){var C=T.indexOf("Map")!==-1,b=T.indexOf("Weak")!==-1,A=C?"set":"add",M=e[T],F=M&&M.prototype,B=M,U={},j=function(tt){var q=a(F[tt]);i(F,tt,tt==="add"?function(Z){return q(this,Z===0?0:Z),this}:tt==="delete"?function(rt){return b&&!y(rt)?!1:q(this,rt===0?0:rt)}:tt==="get"?function(Z){return b&&!y(Z)?void 0:q(this,Z===0?0:Z)}:tt==="has"?function(Z){return b&&!y(Z)?!1:q(this,Z===0?0:Z)}:function(Z,mt){return q(this,Z===0?0:Z,mt),this})},W=s(T,!d(M)||!(b||F.forEach&&!m(function(){new M().entries().next()})));if(W)B=P.getConstructor(N,T,C,A),f.enable();else if(s(T,!0)){var z=new B,w=z[A](b?{}:-0,1)!==z,G=m(function(){z.has(1)}),V=S(function(tt){new M(tt)}),X=!b&&m(function(){for(var tt=new M,q=5;q--;)tt[A](q,q);return!tt.has(-0)});V||(B=N(function(tt,q){v(tt,F);var rt=E(new M,tt,B);return p(q)||c(q,rt[A],{that:rt,AS_ENTRIES:C}),rt}),B.prototype=F,F.constructor=B),(G||X)&&(j("delete"),j("has"),C&&j("get")),(X||w)&&j(A),b&&F.clear&&delete F.clear}return U[T]=B,n({global:!0,constructor:!0,forced:B!==M},U),I(B,T),b||P.setStrong(B,T,C),B}},93706:function(u,h,t){var n=t(94879),e=t(16885),a=t(71349),s=t(7831);u.exports=function(i,f,c){for(var v=e(f),d=s.f,p=a.f,y=0;y"+p+""}},10659:function(u){u.exports=function(h,t){return{value:h,done:t}}},90809:function(u,h,t){var n=t(92986),e=t(7831),a=t(18526);u.exports=n?function(s,i,f){return e.f(s,i,a(1,f))}:function(s,i,f){return s[i]=f,s}},18526:function(u){u.exports=function(h,t){return{enumerable:!(h&1),configurable:!(h&2),writable:!(h&4),value:t}}},84082:function(u,h,t){var n=t(92986),e=t(7831),a=t(18526);u.exports=function(s,i,f){n?e.f(s,i,a(0,f)):s[i]=f}},11890:function(u,h,t){var n=t(11286),e=t(72069),a=t(61607).start,s=RangeError,i=isFinite,f=Math.abs,c=Date.prototype,v=c.toISOString,d=n(c.getTime),p=n(c.getUTCDate),y=n(c.getUTCFullYear),m=n(c.getUTCHours),S=n(c.getUTCMilliseconds),I=n(c.getUTCMinutes),E=n(c.getUTCMonth),T=n(c.getUTCSeconds);u.exports=e(function(){return v.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!e(function(){v.call(new Date(NaN))})?function(){if(!i(d(this)))throw new s("Invalid time value");var P=this,C=y(P),b=S(P),A=C<0?"-":C>9999?"+":"";return A+a(f(C),A?6:4,0)+"-"+a(E(P)+1,2,0)+"-"+a(p(P),2,0)+"T"+a(m(P),2,0)+":"+a(I(P),2,0)+":"+a(T(P),2,0)+"."+a(b,3,0)+"Z"}:v},84306:function(u,h,t){var n=t(25001),e=t(2064),a=TypeError;u.exports=function(s){if(n(this),s==="string"||s==="default")s="string";else if(s!=="number")throw new a("Incorrect hint");return e(this,s)}},85500:function(u,h,t){var n=t(13749),e=t(7831);u.exports=function(a,s,i){return i.get&&n(i.get,s,{getter:!0}),i.set&&n(i.set,s,{setter:!0}),e.f(a,s,i)}},16142:function(u,h,t){var n=t(23583),e=t(7831),a=t(13749),s=t(36003);u.exports=function(i,f,c,v){v||(v={});var d=v.enumerable,p=v.name!==void 0?v.name:f;if(n(c)&&a(c,p,v),v.global)d?i[f]=c:s(f,c);else{try{v.unsafe?i[f]&&(d=!0):delete i[f]}catch(y){}d?i[f]=c:e.f(i,f,{value:c,enumerable:!1,configurable:!v.nonConfigurable,writable:!v.nonWritable})}return i}},2725:function(u,h,t){var n=t(16142);u.exports=function(e,a,s){for(var i in a)n(e,i,a[i],s);return e}},36003:function(u,h,t){var n=t(34246),e=Object.defineProperty;u.exports=function(a,s){try{e(n,a,{value:s,configurable:!0,writable:!0})}catch(i){n[a]=s}return s}},12384:function(u,h,t){var n=t(82453),e=TypeError;u.exports=function(a,s){if(!delete a[s])throw new e("Cannot delete property "+n(s)+" of "+n(a))}},92986:function(u,h,t){var n=t(72069);u.exports=!n(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},63741:function(u,h,t){var n=t(34246),e=t(81191),a=t(99050),s=n.structuredClone,i=n.ArrayBuffer,f=n.MessageChannel,c=!1,v,d,p,y;if(a)c=function(m){s(m,{transfer:[m]})};else if(i)try{f||(v=e("worker_threads"),v&&(f=v.MessageChannel)),f&&(d=new f,p=new i(2),y=function(m){d.port1.postMessage(null,[m])},p.byteLength===2&&(y(p),p.byteLength===0&&(c=y)))}catch(m){}u.exports=c},85501:function(u,h,t){var n=t(34246),e=t(37540),a=n.document,s=e(a)&&e(a.createElement);u.exports=function(i){return s?a.createElement(i):{}}},20095:function(u){var h=TypeError,t=9007199254740991;u.exports=function(n){if(n>t)throw h("Maximum allowed index exceeded");return n}},74408:function(u){u.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},93014:function(u){u.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},39882:function(u,h,t){var n=t(85501),e=n("span").classList,a=e&&e.constructor&&e.constructor.prototype;u.exports=a===Object.prototype?void 0:a},75785:function(u){u.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},507:function(u,h,t){var n=t(18257),e=n.match(/firefox\/(\d+)/i);u.exports=!!e&&+e[1]},17417:function(u,h,t){var n=t(18257);u.exports=/MSIE|Trident/.test(n)},7307:function(u,h,t){var n=t(18257);u.exports=/ipad|iphone|ipod/i.test(n)&&typeof Pebble!="undefined"},5286:function(u,h,t){var n=t(18257);u.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(n)},91707:function(u,h,t){var n=t(21501);u.exports=n==="NODE"},67722:function(u,h,t){var n=t(18257);u.exports=/web0s(?!.*chrome)/i.test(n)},18257:function(u,h,t){var n=t(34246),e=n.navigator,a=e&&e.userAgent;u.exports=a?String(a):""},44241:function(u,h,t){var n=t(34246),e=t(18257),a=n.process,s=n.Deno,i=a&&a.versions||s&&s.version,f=i&&i.v8,c,v;f&&(c=f.split("."),v=c[0]>0&&c[0]<4?1:+(c[0]+c[1])),!v&&e&&(c=e.match(/Edge\/(\d+)/),(!c||c[1]>=74)&&(c=e.match(/Chrome\/(\d+)/),c&&(v=+c[1]))),u.exports=v},66577:function(u,h,t){var n=t(18257),e=n.match(/AppleWebKit\/(\d+)\./);u.exports=!!e&&+e[1]},21501:function(u,h,t){var n=t(34246),e=t(18257),a=t(14274),s=function(i){return e.slice(0,i.length)===i};u.exports=function(){return s("Bun/")?"BUN":s("Cloudflare-Workers")?"CLOUDFLARE":s("Deno/")?"DENO":s("Node.js/")?"NODE":n.Bun&&typeof Bun.version=="string"?"BUN":n.Deno&&typeof Deno.version=="object"?"DENO":a(n.process)==="process"?"NODE":n.window&&n.document?"BROWSER":"REST"}()},40851:function(u,h,t){var n=t(11286),e=Error,a=n("".replace),s=function(c){return String(new e(c).stack)}("zxcasd"),i=/\n\s*at [^:]*:[^\n]*/,f=i.test(s);u.exports=function(c,v){if(f&&typeof c=="string"&&!e.prepareStackTrace)for(;v--;)c=a(c,i,"");return c}},97077:function(u,h,t){var n=t(90809),e=t(40851),a=t(16929),s=Error.captureStackTrace;u.exports=function(i,f,c,v){a&&(s?s(i,f):n(i,"stack",e(c,v)))}},16929:function(u,h,t){var n=t(72069),e=t(18526);u.exports=!n(function(){var a=new Error("a");return"stack"in a?(Object.defineProperty(a,"stack",e(1,7)),a.stack!==7):!0})},58434:function(u,h,t){var n=t(92986),e=t(72069),a=t(25001),s=t(15453),i=Error.prototype.toString,f=e(function(){if(n){var c=Object.create(Object.defineProperty({},"name",{get:function(){return this===c}}));if(i.call(c)!=="true")return!0}return i.call({message:1,name:2})!=="2: 1"||i.call({})!=="Error"});u.exports=f?function(){var v=a(this),d=s(v.name,"Error"),p=s(v.message);return d?p?d+": "+p:d:p}:i},14304:function(u,h,t){var n=t(34246),e=t(71349).f,a=t(90809),s=t(16142),i=t(36003),f=t(93706),c=t(13278);u.exports=function(v,d){var p=v.target,y=v.global,m=v.stat,S,I,E,T,N,P;if(y?I=n:m?I=n[p]||i(p,{}):I=n[p]&&n[p].prototype,I)for(E in d){if(N=d[E],v.dontCallGetSet?(P=e(I,E),T=P&&P.value):T=I[E],S=c(y?E:p+(m?".":"#")+E,v.forced),!S&&T!==void 0){if(typeof N==typeof T)continue;f(N,T)}(v.sham||T&&T.sham)&&a(N,"sham",!0),s(I,E,N,v)}}},72069:function(u){u.exports=function(h){try{return!!h()}catch(t){return!0}}},63194:function(u,h,t){t(31145);var n=t(96499),e=t(16142),a=t(44381),s=t(72069),i=t(18565),f=t(90809),c=i("species"),v=RegExp.prototype;u.exports=function(d,p,y,m){var S=i(d),I=!s(function(){var P={};return P[S]=function(){return 7},""[d](P)!==7}),E=I&&!s(function(){var P=!1,C=/a/;return d==="split"&&(C={},C.constructor={},C.constructor[c]=function(){return C},C.flags="",C[S]=/./[S]),C.exec=function(){return P=!0,null},C[S](""),!P});if(!I||!E||y){var T=/./[S],N=p(S,""[d],function(P,C,b,A,M){var F=C.exec;return F===a||F===v.exec?I&&!M?{done:!0,value:n(T,C,b,A)}:{done:!0,value:n(P,b,C,A)}:{done:!1}});e(String.prototype,d,N[0]),e(v,S,N[1])}m&&f(v[S],"sham",!0)}},53149:function(u,h,t){var n=t(3438),e=t(82628),a=t(20095),s=t(45526),i=function(f,c,v,d,p,y,m,S){for(var I=p,E=0,T=m?s(m,S):!1,N,P;E0&&n(N)?(P=e(N),I=i(f,c,N,P,I,y-1)-1):(a(I+1),f[I]=N),I++),E++;return I};u.exports=i},27534:function(u,h,t){var n=t(72069);u.exports=!n(function(){return Object.isExtensible(Object.preventExtensions({}))})},66543:function(u,h,t){var n=t(87878),e=Function.prototype,a=e.apply,s=e.call;u.exports=typeof Reflect=="object"&&Reflect.apply||(n?s.bind(a):function(){return s.apply(a,arguments)})},45526:function(u,h,t){var n=t(77422),e=t(85156),a=t(87878),s=n(n.bind);u.exports=function(i,f){return e(i),f===void 0?i:a?s(i,f):function(){return i.apply(f,arguments)}}},87878:function(u,h,t){var n=t(72069);u.exports=!n(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")})},91384:function(u,h,t){var n=t(11286),e=t(85156),a=t(37540),s=t(94879),i=t(22806),f=t(87878),c=Function,v=n([].concat),d=n([].join),p={},y=function(m,S,I){if(!s(p,S)){for(var E=[],T=0;T]*>)/g,v=/\$([$&'`]|\d{1,2})/g;u.exports=function(d,p,y,m,S,I){var E=y+d.length,T=m.length,N=v;return S!==void 0&&(S=e(S),N=c),i(I,N,function(P,C){var b;switch(s(C,0)){case"$":return"$";case"&":return d;case"`":return f(p,0,y);case"'":return f(p,E);case"<":b=S[f(C,1,-1)];break;default:var A=+C;if(A===0)return P;if(A>T){var M=a(A/10);return M===0?P:M<=T?m[M-1]===void 0?s(C,1):m[M-1]+s(C,1):P}b=m[A-1]}return b===void 0?"":b})}},34246:function(u){var h=function(t){return t&&t.Math===Math&&t};u.exports=h(typeof globalThis=="object"&&globalThis)||h(typeof window=="object"&&window)||h(typeof self=="object"&&self)||h(typeof global=="object"&&global)||h(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},94879:function(u,h,t){var n=t(11286),e=t(49671),a=n({}.hasOwnProperty);u.exports=Object.hasOwn||function(i,f){return a(e(i),f)}},19423:function(u){u.exports={}},99095:function(u){u.exports=function(h,t){try{arguments.length===1?console.error(h):console.error(h,t)}catch(n){}}},96439:function(u,h,t){var n=t(38941);u.exports=n("document","documentElement")},52515:function(u,h,t){var n=t(92986),e=t(72069),a=t(85501);u.exports=!n&&!e(function(){return Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a!==7})},25212:function(u){var h=Array,t=Math.abs,n=Math.pow,e=Math.floor,a=Math.log,s=Math.LN2,i=function(c,v,d){var p=h(d),y=d*8-v-1,m=(1<>1,I=v===23?n(2,-24)-n(2,-77):0,E=c<0||c===0&&1/c<0?1:0,T=0,N,P,C;for(c=t(c),c!==c||c===1/0?(P=c!==c?1:0,N=m):(N=e(a(c)/s),C=n(2,-N),c*C<1&&(N--,C*=2),N+S>=1?c+=I/C:c+=I*n(2,1-S),c*C>=2&&(N++,C/=2),N+S>=m?(P=0,N=m):N+S>=1?(P=(c*C-1)*n(2,v),N+=S):(P=c*n(2,S-1)*n(2,v),N=0));v>=8;)p[T++]=P&255,P/=256,v-=8;for(N=N<0;)p[T++]=N&255,N/=256,y-=8;return p[T-1]|=E*128,p},f=function(c,v){var d=c.length,p=d*8-v-1,y=(1<>1,S=p-7,I=d-1,E=c[I--],T=E&127,N;for(E>>=7;S>0;)T=T*256+c[I--],S-=8;for(N=T&(1<<-S)-1,T>>=-S,S+=v;S>0;)N=N*256+c[I--],S-=8;if(T===0)T=1-m;else{if(T===y)return N?NaN:E?-1/0:1/0;N+=n(2,v),T-=m}return(E?-1:1)*N*n(2,T-v)};u.exports={pack:i,unpack:f}},72181:function(u,h,t){var n=t(11286),e=t(72069),a=t(14274),s=Object,i=n("".split);u.exports=e(function(){return!s("z").propertyIsEnumerable(0)})?function(f){return a(f)==="String"?i(f,""):s(f)}:s},32345:function(u,h,t){var n=t(23583),e=t(37540),a=t(15861);u.exports=function(s,i,f){var c,v;return a&&n(c=i.constructor)&&c!==f&&e(v=c.prototype)&&v!==f.prototype&&a(s,v),s}},84352:function(u,h,t){var n=t(11286),e=t(23583),a=t(70443),s=n(Function.toString);e(a.inspectSource)||(a.inspectSource=function(i){return s(i)}),u.exports=a.inspectSource},31486:function(u,h,t){var n=t(37540),e=t(90809);u.exports=function(a,s){n(s)&&"cause"in s&&e(a,"cause",s.cause)}},31853:function(u,h,t){var n=t(14304),e=t(11286),a=t(19423),s=t(37540),i=t(94879),f=t(7831).f,c=t(83258),v=t(92880),d=t(28174),p=t(36374),y=t(27534),m=!1,S=p("meta"),I=0,E=function(A){f(A,S,{value:{objectID:"O"+I++,weakData:{}}})},T=function(A,M){if(!s(A))return typeof A=="symbol"?A:(typeof A=="string"?"S":"P")+A;if(!i(A,S)){if(!d(A))return"F";if(!M)return"E";E(A)}return A[S].objectID},N=function(A,M){if(!i(A,S)){if(!d(A))return!0;if(!M)return!1;E(A)}return A[S].weakData},P=function(A){return y&&m&&d(A)&&!i(A,S)&&E(A),A},C=function(){b.enable=function(){},m=!0;var A=c.f,M=e([].splice),F={};F[S]=1,A(F).length&&(c.f=function(B){for(var U=A(B),j=0,W=U.length;jU;U++)if(W=V(I[U]),W&&c(S,W))return W;return new m(!1)}F=v(I,B)}for(z=C?I.next:F.next;!(w=e(z,F)).done;){try{W=V(w.value)}catch(X){p(F,"throw",X)}if(typeof W=="object"&&W&&c(S,W))return W}return new m(!1)}},99797:function(u,h,t){var n=t(96499),e=t(25001),a=t(10512);u.exports=function(s,i,f){var c,v;e(s);try{if(c=a(s,"return"),!c){if(i==="throw")throw f;return f}c=n(c,s)}catch(d){v=!0,c=d}if(i==="throw")throw f;if(v)throw c;return e(c),f}},26820:function(u,h,t){var n=t(24519).IteratorPrototype,e=t(5406),a=t(18526),s=t(78401),i=t(29107),f=function(){return this};u.exports=function(c,v,d,p){var y=v+" Iterator";return c.prototype=e(n,{next:a(+!p,d)}),s(c,y,!1,!0),i[y]=f,c}},44736:function(u,h,t){var n=t(96499),e=t(5406),a=t(90809),s=t(2725),i=t(18565),f=t(82367),c=t(10512),v=t(24519).IteratorPrototype,d=t(10659),p=t(99797),y=i("toStringTag"),m="IteratorHelper",S="WrapForValidIterator",I=f.set,E=function(P){var C=f.getterFor(P?S:m);return s(e(v),{next:function(){var A=C(this);if(P)return A.nextHandler();try{var M=A.done?void 0:A.nextHandler();return d(M,A.done)}catch(F){throw A.done=!0,F}},return:function(){var b=C(this),A=b.iterator;if(b.done=!0,P){var M=c(A,"return");return M?n(M,A):d(void 0,!0)}if(b.inner)try{p(b.inner.iterator,"normal")}catch(F){return p(A,"throw",F)}return A&&p(A,"normal"),d(void 0,!0)}})},T=E(!0),N=E(!1);a(N,y,"Iterator Helper"),u.exports=function(P,C){var b=function(M,F){F?(F.iterator=M.iterator,F.next=M.next):F=M,F.type=C?S:m,F.nextHandler=P,F.counter=0,F.done=!1,I(this,F)};return b.prototype=C?T:N,b}},10218:function(u,h,t){var n=t(14304),e=t(96499),a=t(70457),s=t(86588),i=t(23583),f=t(26820),c=t(26313),v=t(15861),d=t(78401),p=t(90809),y=t(16142),m=t(18565),S=t(29107),I=t(24519),E=s.PROPER,T=s.CONFIGURABLE,N=I.IteratorPrototype,P=I.BUGGY_SAFARI_ITERATORS,C=m("iterator"),b="keys",A="values",M="entries",F=function(){return this};u.exports=function(B,U,j,W,z,w,G){f(j,U,W);var V=function(Nt){if(Nt===z&&Z)return Z;if(!P&&Nt&&Nt in q)return q[Nt];switch(Nt){case b:return function(){return new j(this,Nt)};case A:return function(){return new j(this,Nt)};case M:return function(){return new j(this,Nt)}}return function(){return new j(this)}},X=U+" Iterator",tt=!1,q=B.prototype,rt=q[C]||q["@@iterator"]||z&&q[z],Z=!P&&rt||V(z),mt=U==="Array"&&q.entries||rt,ht,xt,Rt;if(mt&&(ht=c(mt.call(new B)),ht!==Object.prototype&&ht.next&&(!a&&c(ht)!==N&&(v?v(ht,N):i(ht[C])||y(ht,C,F)),d(ht,X,!0,!0),a&&(S[X]=F))),E&&z===A&&rt&&rt.name!==A&&(!a&&T?p(q,"name",A):(tt=!0,Z=function(){return e(rt,this)})),z)if(xt={values:V(A),keys:w?Z:V(b),entries:V(M)},G)for(Rt in xt)(P||tt||!(Rt in q))&&y(q,Rt,xt[Rt]);else n({target:U,proto:!0,forced:P||tt},xt);return(!a||G)&&q[C]!==Z&&y(q,C,Z,{name:z}),S[U]=Z,xt}},96191:function(u,h,t){var n=t(96499),e=t(85156),a=t(25001),s=t(10613),i=t(44736),f=t(39969),c=i(function(){var v=this.iterator,d=a(n(this.next,v)),p=this.done=!!d.done;if(!p)return f(v,this.mapper,[d.value,this.counter++],!0)});u.exports=function(d){return a(this),e(d),new c(s(this),{mapper:d})}},24519:function(u,h,t){var n=t(72069),e=t(23583),a=t(37540),s=t(5406),i=t(26313),f=t(16142),c=t(18565),v=t(70457),d=c("iterator"),p=!1,y,m,S;[].keys&&(S=[].keys(),"next"in S?(m=i(i(S)),m!==Object.prototype&&(y=m)):p=!0);var I=!a(y)||n(function(){var E={};return y[d].call(E)!==E});I?y={}:v&&(y=s(y)),e(y[d])||f(y,d,function(){return this}),u.exports={IteratorPrototype:y,BUGGY_SAFARI_ITERATORS:p}},29107:function(u){u.exports={}},82628:function(u,h,t){var n=t(45344);u.exports=function(e){return n(e.length)}},13749:function(u,h,t){var n=t(11286),e=t(72069),a=t(23583),s=t(94879),i=t(92986),f=t(86588).CONFIGURABLE,c=t(84352),v=t(82367),d=v.enforce,p=v.get,y=String,m=Object.defineProperty,S=n("".slice),I=n("".replace),E=n([].join),T=i&&!e(function(){return m(function(){},"length",{value:8}).length!==8}),N=String(String).split("String"),P=u.exports=function(C,b,A){S(y(b),0,7)==="Symbol("&&(b="["+I(y(b),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),A&&A.getter&&(b="get "+b),A&&A.setter&&(b="set "+b),(!s(C,"name")||f&&C.name!==b)&&(i?m(C,"name",{value:b,configurable:!0}):C.name=b),T&&A&&s(A,"arity")&&C.length!==A.arity&&m(C,"length",{value:A.arity});try{A&&s(A,"constructor")&&A.constructor?i&&m(C,"prototype",{writable:!1}):C.prototype&&(C.prototype=void 0)}catch(F){}var M=d(C);return s(M,"source")||(M.source=E(N,typeof b=="string"?b:"")),C};Function.prototype.toString=P(function(){return a(this)&&p(this).source||c(this)},"toString")},1774:function(u,h,t){var n=t(11286),e=Map.prototype;u.exports={Map,set:n(e.set),get:n(e.get),has:n(e.has),remove:n(e.delete),proto:e}},98940:function(u){var h=Math.expm1,t=Math.exp;u.exports=!h||h(10)>22025.465794806718||h(10)<22025.465794806718||h(-2e-17)!==-2e-17?function(e){var a=+e;return a===0?a:a>-1e-6&&a<1e-6?a+a*a/2:t(a)-1}:h},10418:function(u,h,t){var n=t(93976),e=Math.abs,a=2220446049250313e-31,s=1/a,i=function(f){return f+s-s};u.exports=function(f,c,v,d){var p=+f,y=e(p),m=n(p);if(yv||I!==I?m*(1/0):m*I}},93279:function(u,h,t){var n=t(10418),e=11920928955078125e-23,a=34028234663852886e22,s=11754943508222875e-54;u.exports=Math.fround||function(f){return n(f,e,a,s)}},41942:function(u){var h=Math.log,t=Math.LOG10E;u.exports=Math.log10||function(e){return h(e)*t}},49366:function(u){var h=Math.log;u.exports=Math.log1p||function(n){var e=+n;return e>-1e-8&&e<1e-8?e-e*e/2:h(1+e)}},93976:function(u){u.exports=Math.sign||function(t){var n=+t;return n===0||n!==n?n:n<0?-1:1}},22459:function(u){var h=Math.ceil,t=Math.floor;u.exports=Math.trunc||function(e){var a=+e;return(a>0?t:h)(a)}},9709:function(u,h,t){var n=t(34246),e=t(28167),a=t(45526),s=t(23115).set,i=t(76895),f=t(5286),c=t(7307),v=t(67722),d=t(91707),p=n.MutationObserver||n.WebKitMutationObserver,y=n.document,m=n.process,S=n.Promise,I=e("queueMicrotask"),E,T,N,P,C;if(!I){var b=new i,A=function(){var M,F;for(d&&(M=m.domain)&&M.exit();F=b.get();)try{F()}catch(B){throw b.head&&E(),B}M&&M.enter()};!f&&!d&&!v&&p&&y?(T=!0,N=y.createTextNode(""),new p(A).observe(N,{characterData:!0}),E=function(){N.data=T=!T}):!c&&S&&S.resolve?(P=S.resolve(void 0),P.constructor=S,C=a(P.then,P),E=function(){C(A)}):d?E=function(){m.nextTick(A)}:(s=a(s,n),E=function(){s(A)}),I=function(M){b.head||E(),b.add(M)}}u.exports=I},24649:function(u,h,t){var n=t(85156),e=TypeError,a=function(s){var i,f;this.promise=new s(function(c,v){if(i!==void 0||f!==void 0)throw new e("Bad Promise constructor");i=c,f=v}),this.resolve=n(i),this.reject=n(f)};u.exports.f=function(s){return new a(s)}},15453:function(u,h,t){var n=t(17361);u.exports=function(e,a){return e===void 0?arguments.length<2?"":a:n(e)}},93483:function(u){var h=RangeError;u.exports=function(t){if(t===t)return t;throw new h("NaN is not allowed")}},92337:function(u,h,t){var n=t(11566),e=TypeError;u.exports=function(a){if(n(a))throw new e("The method doesn't accept regular expressions");return a}},98074:function(u,h,t){var n=t(34246),e=n.isFinite;u.exports=Number.isFinite||function(s){return typeof s=="number"&&e(s)}},25838:function(u,h,t){var n=t(34246),e=t(72069),a=t(11286),s=t(17361),i=t(85900).trim,f=t(77082),c=a("".charAt),v=n.parseFloat,d=n.Symbol,p=d&&d.iterator,y=1/v(f+"-0")!==-1/0||p&&!e(function(){v(Object(p))});u.exports=y?function(S){var I=i(s(S)),E=v(I);return E===0&&c(I,0)==="-"?-0:E}:v},23009:function(u,h,t){var n=t(34246),e=t(72069),a=t(11286),s=t(17361),i=t(85900).trim,f=t(77082),c=n.parseInt,v=n.Symbol,d=v&&v.iterator,p=/^[+-]?0x/i,y=a(p.exec),m=c(f+"08")!==8||c(f+"0x16")!==22||d&&!e(function(){c(Object(d))});u.exports=m?function(I,E){var T=i(s(I));return c(T,E>>>0||(y(p,T)?16:10))}:c},16667:function(u,h,t){var n=t(92986),e=t(11286),a=t(96499),s=t(72069),i=t(18350),f=t(24943),c=t(79591),v=t(49671),d=t(72181),p=Object.assign,y=Object.defineProperty,m=e([].concat);u.exports=!p||s(function(){if(n&&p({b:1},p(y({},"a",{enumerable:!0,get:function(){y(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var S={},I={},E=Symbol("assign detection"),T="abcdefghijklmnopqrst";return S[E]=7,T.split("").forEach(function(N){I[N]=N}),p({},S)[E]!==7||i(p({},I)).join("")!==T})?function(I,E){for(var T=v(I),N=arguments.length,P=1,C=f.f,b=c.f;N>P;)for(var A=d(arguments[P++]),M=C?m(i(A),C(A)):i(A),F=M.length,B=0,U;F>B;)U=M[B++],(!n||a(b,A,U))&&(T[U]=A[U]);return T}:p},5406:function(u,h,t){var n=t(25001),e=t(61963),a=t(75785),s=t(19423),i=t(96439),f=t(85501),c=t(44869),v=">",d="<",p="prototype",y="script",m=c("IE_PROTO"),S=function(){},I=function(C){return d+y+v+C+d+"/"+y+v},E=function(C){C.write(I("")),C.close();var b=C.parentWindow.Object;return C=null,b},T=function(){var C=f("iframe"),b="java"+y+":",A;return C.style.display="none",i.appendChild(C),C.src=String(b),A=C.contentWindow.document,A.open(),A.write(I("document.F=Object")),A.close(),A.F},N,P=function(){try{N=new ActiveXObject("htmlfile")}catch(b){}P=typeof document!="undefined"?document.domain&&N?E(N):T():E(N);for(var C=a.length;C--;)delete P[p][a[C]];return P()};s[m]=!0,u.exports=Object.create||function(b,A){var M;return b!==null?(S[p]=n(b),M=new S,S[p]=null,M[m]=b):M=P(),A===void 0?M:e.f(M,A)}},61963:function(u,h,t){var n=t(92986),e=t(356),a=t(7831),s=t(25001),i=t(36859),f=t(18350);h.f=n&&!e?Object.defineProperties:function(v,d){s(v);for(var p=i(d),y=f(d),m=y.length,S=0,I;m>S;)a.f(v,I=y[S++],p[I]);return v}},7831:function(u,h,t){var n=t(92986),e=t(52515),a=t(356),s=t(25001),i=t(50035),f=TypeError,c=Object.defineProperty,v=Object.getOwnPropertyDescriptor,d="enumerable",p="configurable",y="writable";h.f=n?a?function(S,I,E){if(s(S),I=i(I),s(E),typeof S=="function"&&I==="prototype"&&"value"in E&&y in E&&!E[y]){var T=v(S,I);T&&T[y]&&(S[I]=E.value,E={configurable:p in E?E[p]:T[p],enumerable:d in E?E[d]:T[d],writable:!1})}return c(S,I,E)}:c:function(S,I,E){if(s(S),I=i(I),s(E),e)try{return c(S,I,E)}catch(T){}if("get"in E||"set"in E)throw new f("Accessors not supported");return"value"in E&&(S[I]=E.value),S}},71349:function(u,h,t){var n=t(92986),e=t(96499),a=t(79591),s=t(18526),i=t(36859),f=t(50035),c=t(94879),v=t(52515),d=Object.getOwnPropertyDescriptor;h.f=n?d:function(y,m){if(y=i(y),m=f(m),v)try{return d(y,m)}catch(S){}if(c(y,m))return s(!e(a.f,y,m),y[m])}},92880:function(u,h,t){var n=t(14274),e=t(36859),a=t(83258).f,s=t(22806),i=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],f=function(c){try{return a(c)}catch(v){return s(i)}};u.exports.f=function(v){return i&&n(v)==="Window"?f(v):a(e(v))}},83258:function(u,h,t){var n=t(6242),e=t(75785),a=e.concat("length","prototype");h.f=Object.getOwnPropertyNames||function(i){return n(i,a)}},24943:function(u,h){h.f=Object.getOwnPropertySymbols},26313:function(u,h,t){var n=t(94879),e=t(23583),a=t(49671),s=t(44869),i=t(87501),f=s("IE_PROTO"),c=Object,v=c.prototype;u.exports=i?c.getPrototypeOf:function(d){var p=a(d);if(n(p,f))return p[f];var y=p.constructor;return e(y)&&p instanceof y?y.prototype:p instanceof c?v:null}},28174:function(u,h,t){var n=t(72069),e=t(37540),a=t(14274),s=t(72058),i=Object.isExtensible,f=n(function(){i(1)});u.exports=f||s?function(v){return!e(v)||s&&a(v)==="ArrayBuffer"?!1:i?i(v):!0}:i},95307:function(u,h,t){var n=t(11286);u.exports=n({}.isPrototypeOf)},6242:function(u,h,t){var n=t(11286),e=t(94879),a=t(36859),s=t(94319).indexOf,i=t(19423),f=n([].push);u.exports=function(c,v){var d=a(c),p=0,y=[],m;for(m in d)!e(i,m)&&e(d,m)&&f(y,m);for(;v.length>p;)e(d,m=v[p++])&&(~s(y,m)||f(y,m));return y}},18350:function(u,h,t){var n=t(6242),e=t(75785);u.exports=Object.keys||function(s){return n(s,e)}},79591:function(u,h){var t={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,e=n&&!t.call({1:2},1);h.f=e?function(s){var i=n(this,s);return!!i&&i.enumerable}:t},57629:function(u,h,t){var n=t(70457),e=t(34246),a=t(72069),s=t(66577);u.exports=n||!a(function(){if(!(s&&s<535)){var i=Math.random();__defineSetter__.call(null,i,function(){}),delete e[i]}})},15861:function(u,h,t){var n=t(84756),e=t(37540),a=t(2068),s=t(53408);u.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var i=!1,f={},c;try{c=n(Object.prototype,"__proto__","set"),c(f,[]),i=f instanceof Array}catch(v){}return function(d,p){return a(d),s(p),e(d)&&(i?c(d,p):d.__proto__=p),d}}():void 0)},8511:function(u,h,t){var n=t(92986),e=t(72069),a=t(11286),s=t(26313),i=t(18350),f=t(36859),c=t(79591).f,v=a(c),d=a([].push),p=n&&e(function(){var m=Object.create(null);return m[2]=2,!v(m,2)}),y=function(m){return function(S){for(var I=f(S),E=i(I),T=p&&s(I)===null,N=E.length,P=0,C=[],b;N>P;)b=E[P++],(!n||(T?b in I:v(I,b)))&&d(C,m?[b,I[b]]:I[b]);return C}};u.exports={entries:y(!0),values:y(!1)}},60105:function(u,h,t){var n=t(67878),e=t(9205);u.exports=n?{}.toString:function(){return"[object "+e(this)+"]"}},2064:function(u,h,t){var n=t(96499),e=t(23583),a=t(37540),s=TypeError;u.exports=function(i,f){var c,v;if(f==="string"&&e(c=i.toString)&&!a(v=n(c,i))||e(c=i.valueOf)&&!a(v=n(c,i))||f!=="string"&&e(c=i.toString)&&!a(v=n(c,i)))return v;throw new s("Can't convert object to primitive value")}},16885:function(u,h,t){var n=t(38941),e=t(11286),a=t(83258),s=t(24943),i=t(25001),f=e([].concat);u.exports=n("Reflect","ownKeys")||function(v){var d=a.f(i(v)),p=s.f;return p?f(d,p(v)):d}},75081:function(u,h,t){var n=t(34246);u.exports=n},67805:function(u){u.exports=function(h){try{return{error:!1,value:h()}}catch(t){return{error:!0,value:t}}}},37130:function(u,h,t){var n=t(34246),e=t(98844),a=t(23583),s=t(13278),i=t(84352),f=t(18565),c=t(21501),v=t(70457),d=t(44241),p=e&&e.prototype,y=f("species"),m=!1,S=a(n.PromiseRejectionEvent),I=s("Promise",function(){var E=i(e),T=E!==String(e);if(!T&&d===66||v&&!(p.catch&&p.finally))return!0;if(!d||d<51||!/native code/.test(E)){var N=new e(function(b){b(1)}),P=function(b){b(function(){},function(){})},C=N.constructor={};if(C[y]=P,m=N.then(function(){})instanceof P,!m)return!0}return!T&&(c==="BROWSER"||c==="DENO")&&!S});u.exports={CONSTRUCTOR:I,REJECTION_EVENT:S,SUBCLASSING:m}},98844:function(u,h,t){var n=t(34246);u.exports=n.Promise},87408:function(u,h,t){var n=t(25001),e=t(37540),a=t(24649);u.exports=function(s,i){if(n(s),e(i)&&i.constructor===s)return i;var f=a.f(s),c=f.resolve;return c(i),f.promise}},26035:function(u,h,t){var n=t(98844),e=t(97494),a=t(37130).CONSTRUCTOR;u.exports=a||!e(function(s){n.all(s).then(void 0,function(){})})},2594:function(u,h,t){var n=t(7831).f;u.exports=function(e,a,s){s in e||n(e,s,{configurable:!0,get:function(){return a[s]},set:function(i){a[s]=i}})}},76895:function(u){var h=function(){this.head=null,this.tail=null};h.prototype={add:function(t){var n={item:t,next:null},e=this.tail;e?e.next=n:this.head=n,this.tail=n},get:function(){var t=this.head;if(t){var n=this.head=t.next;return n===null&&(this.tail=null),t.item}}},u.exports=h},33064:function(u,h,t){var n=t(96499),e=t(25001),a=t(23583),s=t(14274),i=t(44381),f=TypeError;u.exports=function(c,v){var d=c.exec;if(a(d)){var p=n(d,c,v);return p!==null&&e(p),p}if(s(c)==="RegExp")return n(i,c,v);throw new f("RegExp#exec called on incompatible receiver")}},44381:function(u,h,t){var n=t(96499),e=t(11286),a=t(17361),s=t(29833),i=t(39807),f=t(96731),c=t(5406),v=t(82367).get,d=t(76769),p=t(85220),y=f("native-string-replace",String.prototype.replace),m=RegExp.prototype.exec,S=m,I=e("".charAt),E=e("".indexOf),T=e("".replace),N=e("".slice),P=function(){var M=/a/,F=/b*/g;return n(m,M,"a"),n(m,F,"a"),M.lastIndex!==0||F.lastIndex!==0}(),C=i.BROKEN_CARET,b=/()??/.exec("")[1]!==void 0,A=P||b||C||d||p;A&&(S=function(F){var B=this,U=v(B),j=a(F),W=U.raw,z,w,G,V,X,tt,q;if(W)return W.lastIndex=B.lastIndex,z=n(S,W,j),B.lastIndex=W.lastIndex,z;var rt=U.groups,Z=C&&B.sticky,mt=n(s,B),ht=B.source,xt=0,Rt=j;if(Z&&(mt=T(mt,"y",""),E(mt,"g")===-1&&(mt+="g"),Rt=N(j,B.lastIndex),B.lastIndex>0&&(!B.multiline||B.multiline&&I(j,B.lastIndex-1)!==` + `}),`${D}`})}countEpochsInRegion(o){const g=this.data.targets[0],x=g.values.reduce((T,D)=>T+Number(D.epochs),0),O=g.values.reduce((T,D)=>ff(D,o)?T+Number(D.epochs):T,0);return{value:O,percentage:O!==0?+(O/x*100).toFixed(1):0}}}},85156:function(u,h,t){var n=t(23583),e=t(82453),a=TypeError;u.exports=function(s){if(n(s))return s;throw new a(e(s)+" is not a function")}},80042:function(u,h,t){var n=t(11051),e=t(82453),a=TypeError;u.exports=function(s){if(n(s))return s;throw new a(e(s)+" is not a constructor")}},53408:function(u,h,t){var n=t(52427),e=String,a=TypeError;u.exports=function(s){if(n(s))return s;throw new a("Can't set "+e(s)+" as a prototype")}},76602:function(u,h,t){var n=t(172).has;u.exports=function(e){return n(e),e}},23811:function(u,h,t){var n=t(18565),e=t(5406),a=t(7831).f,s=n("unscopables"),i=Array.prototype;i[s]===void 0&&a(i,s,{configurable:!0,value:e(null)}),u.exports=function(f){i[s][f]=!0}},24487:function(u,h,t){var n=t(22149).charAt;u.exports=function(e,a,s){return a+(s?n(e,a).length:1)}},12833:function(u,h,t){var n=t(95307),e=TypeError;u.exports=function(a,s){if(n(s,a))return a;throw new e("Incorrect invocation")}},25001:function(u,h,t){var n=t(37540),e=String,a=TypeError;u.exports=function(s){if(n(s))return s;throw new a(e(s)+" is not an object")}},3237:function(u){u.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},58360:function(u,h,t){var n=t(34246),e=t(84756),a=t(14274),s=n.ArrayBuffer,i=n.TypeError;u.exports=s&&e(s.prototype,"byteLength","get")||function(f){if(a(f)!=="ArrayBuffer")throw new i("ArrayBuffer expected");return f.byteLength}},30736:function(u,h,t){var n=t(34246),e=t(77422),a=t(58360),s=n.ArrayBuffer,i=s&&s.prototype,f=i&&e(i.slice);u.exports=function(c){if(a(c)!==0||!f)return!1;try{return f(c,0,0),!1}catch(v){return!0}}},72058:function(u,h,t){var n=t(72069);u.exports=n(function(){if(typeof ArrayBuffer=="function"){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}})},83843:function(u,h,t){var n=t(30736),e=TypeError;u.exports=function(a){if(n(a))throw new e("ArrayBuffer is detached");return a}},65006:function(u,h,t){var n=t(34246),e=t(11286),a=t(84756),s=t(9450),i=t(83843),f=t(58360),c=t(63741),v=t(99050),d=n.structuredClone,p=n.ArrayBuffer,y=n.DataView,m=Math.min,S=p.prototype,I=y.prototype,E=e(S.slice),R=a(S,"resizable","get"),N=a(S,"maxByteLength","get"),P=e(I.getInt8),C=e(I.setInt8);u.exports=(v||c)&&function(b,A,M){var F=f(b),B=A===void 0?F:s(A),U=!R||!R(b),j;if(i(b),v&&(b=d(b,{transfer:[b]}),F===B&&(M||U)))return b;if(F>=B&&(!M||U))j=E(b,0,B);else{var W=M&&!U&&N?{maxByteLength:N(b)}:void 0;j=new p(B,W);for(var z=new y(b),w=new y(j),G=m(B,F),V=0;V>8&255]},Bt=function(ft){return[ft&255,ft>>8&255,ft>>16&255,ft>>24&255]},Ft=function(ft){return ft[3]<<24|ft[2]<<16|ft[1]<<8|ft[0]},Vt=function(ft){return jt(I(ft),23,4)},nr=function(ft){return jt(ft,52,8)},tr=function(ft,ct,nt){c(ft[z],ct,{configurable:!0,get:function(){return nt(this)[ct]}})},Zt=function(ft,ct,nt,Mt){var bt=X(ft),At=S(nt),Tt=!!Mt;if(At+ct>bt.byteLength)throw new Nt(G);var ur=bt.bytes,vr=At+bt.byteOffset,Q=C(ur,vr,vr+ct);return Tt?Q:Xt(Q)},Ht=function(ft,ct,nt,Mt,bt,At){var Tt=X(ft),ur=S(nt),vr=Mt(+bt),Q=!!At;if(ur+ct>Tt.byteLength)throw new Nt(G);for(var ot=Tt.bytes,lt=ur+Tt.byteOffset,st=0;stAt)throw new Nt("Wrong offset");if(Mt=Mt===void 0?At-Tt:m(Mt),Tt+Mt>At)throw new Nt(w);tt(this,{type:W,buffer:ct,byteLength:Mt,byteOffset:Tt,bytes:bt.bytes}),a||(this.buffer=ct,this.byteLength=Mt,this.byteOffset=Tt)},ht=mt[z],a&&(tr(rt,"byteLength",V),tr(mt,"buffer",X),tr(mt,"byteLength",X),tr(mt,"byteOffset",X)),v(ht,{getInt8:function(ct){return Zt(this,1,ct)[0]<<24>>24},getUint8:function(ct){return Zt(this,1,ct)[0]},getInt16:function(ct){var nt=Zt(this,2,ct,arguments.length>1?arguments[1]:!1);return(nt[1]<<8|nt[0])<<16>>16},getUint16:function(ct){var nt=Zt(this,2,ct,arguments.length>1?arguments[1]:!1);return nt[1]<<8|nt[0]},getInt32:function(ct){return Ft(Zt(this,4,ct,arguments.length>1?arguments[1]:!1))},getUint32:function(ct){return Ft(Zt(this,4,ct,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(ct){return vt(Zt(this,4,ct,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(ct){return vt(Zt(this,8,ct,arguments.length>1?arguments[1]:!1),52)},setInt8:function(ct,nt){Ht(this,1,ct,Et,nt)},setUint8:function(ct,nt){Ht(this,1,ct,Et,nt)},setInt16:function(ct,nt){Ht(this,2,ct,$t,nt,arguments.length>2?arguments[2]:!1)},setUint16:function(ct,nt){Ht(this,2,ct,$t,nt,arguments.length>2?arguments[2]:!1)},setInt32:function(ct,nt){Ht(this,4,ct,Bt,nt,arguments.length>2?arguments[2]:!1)},setUint32:function(ct,nt){Ht(this,4,ct,Bt,nt,arguments.length>2?arguments[2]:!1)},setFloat32:function(ct,nt){Ht(this,4,ct,Vt,nt,arguments.length>2?arguments[2]:!1)},setFloat64:function(ct,nt){Ht(this,8,ct,nr,nt,arguments.length>2?arguments[2]:!1)}});else{var rr=B&&q.name!==j;!d(function(){q(1)})||!d(function(){new q(-1)})||d(function(){return new q,new q(1.5),new q(NaN),q.length!==1||rr&&!U})?(rt=function(ct){return p(this,Z),b(new q(S(ct)),this,rt)},rt[z]=Z,Z.constructor=rt,A(rt,q)):rr&&U&&f(q,"name",j),N&&R(ht)!==xt&&N(ht,xt);var Qt=new mt(new rt(2)),wt=e(ht.setInt8);Qt.setInt8(0,2147483648),Qt.setInt8(1,2147483649),(Qt.getInt8(0)||!Qt.getInt8(1))&&v(ht,{setInt8:function(ct,nt){wt(this,ct,nt<<24>>24)},setUint8:function(ct,nt){wt(this,ct,nt<<24>>24)}},{unsafe:!0})}M(rt,j),M(mt,W),u.exports={ArrayBuffer:rt,DataView:mt}},81499:function(u,h,t){var n=t(49671),e=t(4652),a=t(82628),s=t(12384),i=Math.min;u.exports=[].copyWithin||function(c,v){var d=n(this),p=a(d),y=e(c,p),m=e(v,p),S=arguments.length>2?arguments[2]:void 0,I=i((S===void 0?p:e(S,p))-m,p-y),E=1;for(m0;)m in d?d[y]=d[m]:s(d,y),y+=E,m+=E;return d}},43011:function(u,h,t){var n=t(49671),e=t(4652),a=t(82628);u.exports=function(i){for(var f=n(this),c=a(f),v=arguments.length,d=e(v>1?arguments[1]:void 0,c),p=v>2?arguments[2]:void 0,y=p===void 0?c:e(p,c);y>d;)f[d++]=i;return f}},13349:function(u,h,t){var n=t(66655).forEach,e=t(6148),a=e("forEach");u.exports=a?[].forEach:function(i){return n(this,i,arguments.length>1?arguments[1]:void 0)}},5220:function(u,h,t){var n=t(82628);u.exports=function(e,a,s){for(var i=0,f=arguments.length>2?s:n(a),c=new e(f);f>i;)c[i]=a[i++];return c}},48258:function(u,h,t){var n=t(45526),e=t(96499),a=t(49671),s=t(39969),i=t(48199),f=t(11051),c=t(82628),v=t(84082),d=t(90619),p=t(81077),y=Array;u.exports=function(S){var I=a(S),E=f(this),R=arguments.length,N=R>1?arguments[1]:void 0,P=N!==void 0;P&&(N=n(N,R>2?arguments[2]:void 0));var C=p(I),b=0,A,M,F,B,U,j;if(C&&!(this===y&&i(C)))for(M=E?new this:[],B=d(I,C),U=B.next;!(F=e(U,B)).done;b++)j=P?s(B,N,[F.value,b],!0):F.value,v(M,b,j);else for(A=c(I),M=E?new this(A):y(A);A>b;b++)j=P?N(I[b],b):I[b],v(M,b,j);return M.length=b,M}},94319:function(u,h,t){var n=t(36859),e=t(4652),a=t(82628),s=function(i){return function(f,c,v){var d=n(f),p=a(d);if(p===0)return!i&&-1;var y=e(v,p),m;if(i&&c!==c){for(;p>y;)if(m=d[y++],m!==m)return!0}else for(;p>y;y++)if((i||y in d)&&d[y]===c)return i||y||0;return!i&&-1}};u.exports={includes:s(!0),indexOf:s(!1)}},73849:function(u,h,t){var n=t(45526),e=t(72181),a=t(49671),s=t(82628),i=function(f){var c=f===1;return function(v,d,p){for(var y=a(v),m=e(y),S=s(m),I=n(d,p),E,R;S-- >0;)if(E=m[S],R=I(E,S,y),R)switch(f){case 0:return E;case 1:return S}return c?-1:void 0}};u.exports={findLast:i(0),findLastIndex:i(1)}},66655:function(u,h,t){var n=t(45526),e=t(11286),a=t(72181),s=t(49671),i=t(82628),f=t(62083),c=e([].push),v=function(d){var p=d===1,y=d===2,m=d===3,S=d===4,I=d===6,E=d===7,R=d===5||I;return function(N,P,C,b){for(var A=s(N),M=a(A),F=i(M),B=n(P,C),U=0,j=b||f,W=p?j(N,F):y||E?j(N,0):void 0,z,w;F>U;U++)if((R||U in M)&&(z=M[U],w=B(z,U,A),d))if(p)W[U]=w;else if(w)switch(d){case 3:return!0;case 5:return z;case 6:return U;case 2:c(W,z)}else switch(d){case 4:return!1;case 7:c(W,z)}return I?-1:m||S?S:W}};u.exports={forEach:v(0),map:v(1),filter:v(2),some:v(3),every:v(4),find:v(5),findIndex:v(6),filterReject:v(7)}},58465:function(u,h,t){var n=t(66543),e=t(36859),a=t(12105),s=t(82628),i=t(6148),f=Math.min,c=[].lastIndexOf,v=!!c&&1/[1].lastIndexOf(1,-0)<0,d=i("lastIndexOf"),p=v||!d;u.exports=p?function(m){if(v)return n(c,this,arguments)||0;var S=e(this),I=s(S);if(I===0)return-1;var E=I-1;for(arguments.length>1&&(E=f(E,a(arguments[1]))),E<0&&(E=I+E);E>=0;E--)if(E in S&&S[E]===m)return E||0;return-1}:c},52183:function(u,h,t){var n=t(72069),e=t(18565),a=t(44241),s=e("species");u.exports=function(i){return a>=51||!n(function(){var f=[],c=f.constructor={};return c[s]=function(){return{foo:1}},f[i](Boolean).foo!==1})}},6148:function(u,h,t){var n=t(72069);u.exports=function(e,a){var s=[][e];return!!s&&n(function(){s.call(null,a||function(){return 1},1)})}},97264:function(u,h,t){var n=t(85156),e=t(49671),a=t(72181),s=t(82628),i=TypeError,f="Reduce of empty array with no initial value",c=function(v){return function(d,p,y,m){var S=e(d),I=a(S),E=s(S);if(n(p),E===0&&y<2)throw new i(f);var R=v?E-1:0,N=v?-1:1;if(y<2)for(;;){if(R in I){m=I[R],R+=N;break}if(R+=N,v?R<0:E<=R)throw new i(f)}for(;v?R>=0:E>R;R+=N)R in I&&(m=p(m,I[R],R,S));return m}};u.exports={left:c(!1),right:c(!0)}},2213:function(u,h,t){var n=t(92986),e=t(3438),a=TypeError,s=Object.getOwnPropertyDescriptor,i=n&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(f){return f instanceof TypeError}}();u.exports=i?function(f,c){if(e(f)&&!s(f,"length").writable)throw new a("Cannot set read only .length");return f.length=c}:function(f,c){return f.length=c}},22806:function(u,h,t){var n=t(11286);u.exports=n([].slice)},13270:function(u,h,t){var n=t(22806),e=Math.floor,a=function(s,i){var f=s.length;if(f<8)for(var c=1,v,d;c0;)s[d]=s[--d];d!==c++&&(s[d]=v)}else for(var p=e(f/2),y=a(n(s,0,p),i),m=a(n(s,p),i),S=y.length,I=m.length,E=0,R=0;E=v||p<0)throw new a("Incorrect index");for(var y=new i(v),m=0;m1?arguments[1]:void 0),w;w=w?w.next:W.first;)for(z(w.value,w.key,this);w&&w.removed;)w=w.previous},has:function(j){return!!B(this,j)}}),a(A,P?{get:function(j){var W=B(this,j);return W&&W.value},set:function(j,W){return F(this,j===0?0:j,W)}}:{add:function(j){return F(this,j=j===0?0:j,j)}}),y&&e(A,"size",{configurable:!0,get:function(){return M(this).size}}),b},setStrong:function(R,N,P){var C=N+" Iterator",b=E(N),A=E(C);v(R,N,function(M,F){I(this,{type:C,target:M,state:b(M),kind:F,last:null})},function(){for(var M=A(this),F=M.kind,B=M.last;B&&B.removed;)B=B.previous;return!M.target||!(M.last=B=B?B.next:M.state.first)?(M.target=null,d(void 0,!0)):d(F==="keys"?B.key:F==="values"?B.value:[B.key,B.value],!1)},P?"entries":"values",!P,!0),p(N)}}},94667:function(u,h,t){var n=t(11286),e=t(2725),a=t(31853).getWeakData,s=t(12833),i=t(25001),f=t(5683),c=t(37540),v=t(55902),d=t(66655),p=t(94879),y=t(82367),m=y.set,S=y.getterFor,I=d.find,E=d.findIndex,R=n([].splice),N=0,P=function(A){return A.frozen||(A.frozen=new C)},C=function(){this.entries=[]},b=function(A,M){return I(A.entries,function(F){return F[0]===M})};C.prototype={get:function(A){var M=b(this,A);if(M)return M[1]},has:function(A){return!!b(this,A)},set:function(A,M){var F=b(this,A);F?F[1]=M:this.entries.push([A,M])},delete:function(A){var M=E(this.entries,function(F){return F[0]===A});return~M&&R(this.entries,M,1),!!~M}},u.exports={getConstructor:function(A,M,F,B){var U=A(function(w,G){s(w,j),m(w,{type:M,id:N++,frozen:null}),f(G)||v(G,w[B],{that:w,AS_ENTRIES:F})}),j=U.prototype,W=S(M),z=function(w,G,V){var X=W(w),tt=a(i(G),!0);return tt===!0?P(X).set(G,V):tt[X.id]=V,w};return e(j,{delete:function(w){var G=W(this);if(!c(w))return!1;var V=a(w);return V===!0?P(G).delete(w):V&&p(V,G.id)&&delete V[G.id]},has:function(G){var V=W(this);if(!c(G))return!1;var X=a(G);return X===!0?P(V).has(G):X&&p(X,V.id)}}),e(j,F?{get:function(G){var V=W(this);if(c(G)){var X=a(G);if(X===!0)return P(V).get(G);if(X)return X[V.id]}},set:function(G,V){return z(this,G,V)}}:{add:function(G){return z(this,G,!0)}}),U}}},89378:function(u,h,t){var n=t(14304),e=t(34246),a=t(11286),s=t(13278),i=t(16142),f=t(31853),c=t(55902),v=t(12833),d=t(23583),p=t(5683),y=t(37540),m=t(72069),S=t(97494),I=t(78401),E=t(32345);u.exports=function(R,N,P){var C=R.indexOf("Map")!==-1,b=R.indexOf("Weak")!==-1,A=C?"set":"add",M=e[R],F=M&&M.prototype,B=M,U={},j=function(tt){var q=a(F[tt]);i(F,tt,tt==="add"?function(Z){return q(this,Z===0?0:Z),this}:tt==="delete"?function(rt){return b&&!y(rt)?!1:q(this,rt===0?0:rt)}:tt==="get"?function(Z){return b&&!y(Z)?void 0:q(this,Z===0?0:Z)}:tt==="has"?function(Z){return b&&!y(Z)?!1:q(this,Z===0?0:Z)}:function(Z,mt){return q(this,Z===0?0:Z,mt),this})},W=s(R,!d(M)||!(b||F.forEach&&!m(function(){new M().entries().next()})));if(W)B=P.getConstructor(N,R,C,A),f.enable();else if(s(R,!0)){var z=new B,w=z[A](b?{}:-0,1)!==z,G=m(function(){z.has(1)}),V=S(function(tt){new M(tt)}),X=!b&&m(function(){for(var tt=new M,q=5;q--;)tt[A](q,q);return!tt.has(-0)});V||(B=N(function(tt,q){v(tt,F);var rt=E(new M,tt,B);return p(q)||c(q,rt[A],{that:rt,AS_ENTRIES:C}),rt}),B.prototype=F,F.constructor=B),(G||X)&&(j("delete"),j("has"),C&&j("get")),(X||w)&&j(A),b&&F.clear&&delete F.clear}return U[R]=B,n({global:!0,constructor:!0,forced:B!==M},U),I(B,R),b||P.setStrong(B,R,C),B}},93706:function(u,h,t){var n=t(94879),e=t(16885),a=t(71349),s=t(7831);u.exports=function(i,f,c){for(var v=e(f),d=s.f,p=a.f,y=0;y"+p+""}},10659:function(u){u.exports=function(h,t){return{value:h,done:t}}},90809:function(u,h,t){var n=t(92986),e=t(7831),a=t(18526);u.exports=n?function(s,i,f){return e.f(s,i,a(1,f))}:function(s,i,f){return s[i]=f,s}},18526:function(u){u.exports=function(h,t){return{enumerable:!(h&1),configurable:!(h&2),writable:!(h&4),value:t}}},84082:function(u,h,t){var n=t(92986),e=t(7831),a=t(18526);u.exports=function(s,i,f){n?e.f(s,i,a(0,f)):s[i]=f}},11890:function(u,h,t){var n=t(11286),e=t(72069),a=t(61607).start,s=RangeError,i=isFinite,f=Math.abs,c=Date.prototype,v=c.toISOString,d=n(c.getTime),p=n(c.getUTCDate),y=n(c.getUTCFullYear),m=n(c.getUTCHours),S=n(c.getUTCMilliseconds),I=n(c.getUTCMinutes),E=n(c.getUTCMonth),R=n(c.getUTCSeconds);u.exports=e(function(){return v.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!e(function(){v.call(new Date(NaN))})?function(){if(!i(d(this)))throw new s("Invalid time value");var P=this,C=y(P),b=S(P),A=C<0?"-":C>9999?"+":"";return A+a(f(C),A?6:4,0)+"-"+a(E(P)+1,2,0)+"-"+a(p(P),2,0)+"T"+a(m(P),2,0)+":"+a(I(P),2,0)+":"+a(R(P),2,0)+"."+a(b,3,0)+"Z"}:v},84306:function(u,h,t){var n=t(25001),e=t(2064),a=TypeError;u.exports=function(s){if(n(this),s==="string"||s==="default")s="string";else if(s!=="number")throw new a("Incorrect hint");return e(this,s)}},85500:function(u,h,t){var n=t(13749),e=t(7831);u.exports=function(a,s,i){return i.get&&n(i.get,s,{getter:!0}),i.set&&n(i.set,s,{setter:!0}),e.f(a,s,i)}},16142:function(u,h,t){var n=t(23583),e=t(7831),a=t(13749),s=t(36003);u.exports=function(i,f,c,v){v||(v={});var d=v.enumerable,p=v.name!==void 0?v.name:f;if(n(c)&&a(c,p,v),v.global)d?i[f]=c:s(f,c);else{try{v.unsafe?i[f]&&(d=!0):delete i[f]}catch(y){}d?i[f]=c:e.f(i,f,{value:c,enumerable:!1,configurable:!v.nonConfigurable,writable:!v.nonWritable})}return i}},2725:function(u,h,t){var n=t(16142);u.exports=function(e,a,s){for(var i in a)n(e,i,a[i],s);return e}},36003:function(u,h,t){var n=t(34246),e=Object.defineProperty;u.exports=function(a,s){try{e(n,a,{value:s,configurable:!0,writable:!0})}catch(i){n[a]=s}return s}},12384:function(u,h,t){var n=t(82453),e=TypeError;u.exports=function(a,s){if(!delete a[s])throw new e("Cannot delete property "+n(s)+" of "+n(a))}},92986:function(u,h,t){var n=t(72069);u.exports=!n(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},63741:function(u,h,t){var n=t(34246),e=t(81191),a=t(99050),s=n.structuredClone,i=n.ArrayBuffer,f=n.MessageChannel,c=!1,v,d,p,y;if(a)c=function(m){s(m,{transfer:[m]})};else if(i)try{f||(v=e("worker_threads"),v&&(f=v.MessageChannel)),f&&(d=new f,p=new i(2),y=function(m){d.port1.postMessage(null,[m])},p.byteLength===2&&(y(p),p.byteLength===0&&(c=y)))}catch(m){}u.exports=c},85501:function(u,h,t){var n=t(34246),e=t(37540),a=n.document,s=e(a)&&e(a.createElement);u.exports=function(i){return s?a.createElement(i):{}}},20095:function(u){var h=TypeError,t=9007199254740991;u.exports=function(n){if(n>t)throw h("Maximum allowed index exceeded");return n}},74408:function(u){u.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},93014:function(u){u.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},39882:function(u,h,t){var n=t(85501),e=n("span").classList,a=e&&e.constructor&&e.constructor.prototype;u.exports=a===Object.prototype?void 0:a},75785:function(u){u.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},507:function(u,h,t){var n=t(18257),e=n.match(/firefox\/(\d+)/i);u.exports=!!e&&+e[1]},17417:function(u,h,t){var n=t(18257);u.exports=/MSIE|Trident/.test(n)},7307:function(u,h,t){var n=t(18257);u.exports=/ipad|iphone|ipod/i.test(n)&&typeof Pebble!="undefined"},5286:function(u,h,t){var n=t(18257);u.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(n)},91707:function(u,h,t){var n=t(21501);u.exports=n==="NODE"},67722:function(u,h,t){var n=t(18257);u.exports=/web0s(?!.*chrome)/i.test(n)},18257:function(u,h,t){var n=t(34246),e=n.navigator,a=e&&e.userAgent;u.exports=a?String(a):""},44241:function(u,h,t){var n=t(34246),e=t(18257),a=n.process,s=n.Deno,i=a&&a.versions||s&&s.version,f=i&&i.v8,c,v;f&&(c=f.split("."),v=c[0]>0&&c[0]<4?1:+(c[0]+c[1])),!v&&e&&(c=e.match(/Edge\/(\d+)/),(!c||c[1]>=74)&&(c=e.match(/Chrome\/(\d+)/),c&&(v=+c[1]))),u.exports=v},66577:function(u,h,t){var n=t(18257),e=n.match(/AppleWebKit\/(\d+)\./);u.exports=!!e&&+e[1]},21501:function(u,h,t){var n=t(34246),e=t(18257),a=t(14274),s=function(i){return e.slice(0,i.length)===i};u.exports=function(){return s("Bun/")?"BUN":s("Cloudflare-Workers")?"CLOUDFLARE":s("Deno/")?"DENO":s("Node.js/")?"NODE":n.Bun&&typeof Bun.version=="string"?"BUN":n.Deno&&typeof Deno.version=="object"?"DENO":a(n.process)==="process"?"NODE":n.window&&n.document?"BROWSER":"REST"}()},40851:function(u,h,t){var n=t(11286),e=Error,a=n("".replace),s=function(c){return String(new e(c).stack)}("zxcasd"),i=/\n\s*at [^:]*:[^\n]*/,f=i.test(s);u.exports=function(c,v){if(f&&typeof c=="string"&&!e.prepareStackTrace)for(;v--;)c=a(c,i,"");return c}},97077:function(u,h,t){var n=t(90809),e=t(40851),a=t(16929),s=Error.captureStackTrace;u.exports=function(i,f,c,v){a&&(s?s(i,f):n(i,"stack",e(c,v)))}},16929:function(u,h,t){var n=t(72069),e=t(18526);u.exports=!n(function(){var a=new Error("a");return"stack"in a?(Object.defineProperty(a,"stack",e(1,7)),a.stack!==7):!0})},58434:function(u,h,t){var n=t(92986),e=t(72069),a=t(25001),s=t(15453),i=Error.prototype.toString,f=e(function(){if(n){var c=Object.create(Object.defineProperty({},"name",{get:function(){return this===c}}));if(i.call(c)!=="true")return!0}return i.call({message:1,name:2})!=="2: 1"||i.call({})!=="Error"});u.exports=f?function(){var v=a(this),d=s(v.name,"Error"),p=s(v.message);return d?p?d+": "+p:d:p}:i},14304:function(u,h,t){var n=t(34246),e=t(71349).f,a=t(90809),s=t(16142),i=t(36003),f=t(93706),c=t(13278);u.exports=function(v,d){var p=v.target,y=v.global,m=v.stat,S,I,E,R,N,P;if(y?I=n:m?I=n[p]||i(p,{}):I=n[p]&&n[p].prototype,I)for(E in d){if(N=d[E],v.dontCallGetSet?(P=e(I,E),R=P&&P.value):R=I[E],S=c(y?E:p+(m?".":"#")+E,v.forced),!S&&R!==void 0){if(typeof N==typeof R)continue;f(N,R)}(v.sham||R&&R.sham)&&a(N,"sham",!0),s(I,E,N,v)}}},72069:function(u){u.exports=function(h){try{return!!h()}catch(t){return!0}}},63194:function(u,h,t){t(31145);var n=t(96499),e=t(16142),a=t(44381),s=t(72069),i=t(18565),f=t(90809),c=i("species"),v=RegExp.prototype;u.exports=function(d,p,y,m){var S=i(d),I=!s(function(){var P={};return P[S]=function(){return 7},""[d](P)!==7}),E=I&&!s(function(){var P=!1,C=/a/;return d==="split"&&(C={},C.constructor={},C.constructor[c]=function(){return C},C.flags="",C[S]=/./[S]),C.exec=function(){return P=!0,null},C[S](""),!P});if(!I||!E||y){var R=/./[S],N=p(S,""[d],function(P,C,b,A,M){var F=C.exec;return F===a||F===v.exec?I&&!M?{done:!0,value:n(R,C,b,A)}:{done:!0,value:n(P,b,C,A)}:{done:!1}});e(String.prototype,d,N[0]),e(v,S,N[1])}m&&f(v[S],"sham",!0)}},53149:function(u,h,t){var n=t(3438),e=t(82628),a=t(20095),s=t(45526),i=function(f,c,v,d,p,y,m,S){for(var I=p,E=0,R=m?s(m,S):!1,N,P;E0&&n(N)?(P=e(N),I=i(f,c,N,P,I,y-1)-1):(a(I+1),f[I]=N),I++),E++;return I};u.exports=i},27534:function(u,h,t){var n=t(72069);u.exports=!n(function(){return Object.isExtensible(Object.preventExtensions({}))})},66543:function(u,h,t){var n=t(87878),e=Function.prototype,a=e.apply,s=e.call;u.exports=typeof Reflect=="object"&&Reflect.apply||(n?s.bind(a):function(){return s.apply(a,arguments)})},45526:function(u,h,t){var n=t(77422),e=t(85156),a=t(87878),s=n(n.bind);u.exports=function(i,f){return e(i),f===void 0?i:a?s(i,f):function(){return i.apply(f,arguments)}}},87878:function(u,h,t){var n=t(72069);u.exports=!n(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")})},91384:function(u,h,t){var n=t(11286),e=t(85156),a=t(37540),s=t(94879),i=t(22806),f=t(87878),c=Function,v=n([].concat),d=n([].join),p={},y=function(m,S,I){if(!s(p,S)){for(var E=[],R=0;R]*>)/g,v=/\$([$&'`]|\d{1,2})/g;u.exports=function(d,p,y,m,S,I){var E=y+d.length,R=m.length,N=v;return S!==void 0&&(S=e(S),N=c),i(I,N,function(P,C){var b;switch(s(C,0)){case"$":return"$";case"&":return d;case"`":return f(p,0,y);case"'":return f(p,E);case"<":b=S[f(C,1,-1)];break;default:var A=+C;if(A===0)return P;if(A>R){var M=a(A/10);return M===0?P:M<=R?m[M-1]===void 0?s(C,1):m[M-1]+s(C,1):P}b=m[A-1]}return b===void 0?"":b})}},34246:function(u){var h=function(t){return t&&t.Math===Math&&t};u.exports=h(typeof globalThis=="object"&&globalThis)||h(typeof window=="object"&&window)||h(typeof self=="object"&&self)||h(typeof global=="object"&&global)||h(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},94879:function(u,h,t){var n=t(11286),e=t(49671),a=n({}.hasOwnProperty);u.exports=Object.hasOwn||function(i,f){return a(e(i),f)}},19423:function(u){u.exports={}},99095:function(u){u.exports=function(h,t){try{arguments.length===1?console.error(h):console.error(h,t)}catch(n){}}},96439:function(u,h,t){var n=t(38941);u.exports=n("document","documentElement")},52515:function(u,h,t){var n=t(92986),e=t(72069),a=t(85501);u.exports=!n&&!e(function(){return Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a!==7})},25212:function(u){var h=Array,t=Math.abs,n=Math.pow,e=Math.floor,a=Math.log,s=Math.LN2,i=function(c,v,d){var p=h(d),y=d*8-v-1,m=(1<>1,I=v===23?n(2,-24)-n(2,-77):0,E=c<0||c===0&&1/c<0?1:0,R=0,N,P,C;for(c=t(c),c!==c||c===1/0?(P=c!==c?1:0,N=m):(N=e(a(c)/s),C=n(2,-N),c*C<1&&(N--,C*=2),N+S>=1?c+=I/C:c+=I*n(2,1-S),c*C>=2&&(N++,C/=2),N+S>=m?(P=0,N=m):N+S>=1?(P=(c*C-1)*n(2,v),N+=S):(P=c*n(2,S-1)*n(2,v),N=0));v>=8;)p[R++]=P&255,P/=256,v-=8;for(N=N<0;)p[R++]=N&255,N/=256,y-=8;return p[R-1]|=E*128,p},f=function(c,v){var d=c.length,p=d*8-v-1,y=(1<>1,S=p-7,I=d-1,E=c[I--],R=E&127,N;for(E>>=7;S>0;)R=R*256+c[I--],S-=8;for(N=R&(1<<-S)-1,R>>=-S,S+=v;S>0;)N=N*256+c[I--],S-=8;if(R===0)R=1-m;else{if(R===y)return N?NaN:E?-1/0:1/0;N+=n(2,v),R-=m}return(E?-1:1)*N*n(2,R-v)};u.exports={pack:i,unpack:f}},72181:function(u,h,t){var n=t(11286),e=t(72069),a=t(14274),s=Object,i=n("".split);u.exports=e(function(){return!s("z").propertyIsEnumerable(0)})?function(f){return a(f)==="String"?i(f,""):s(f)}:s},32345:function(u,h,t){var n=t(23583),e=t(37540),a=t(15861);u.exports=function(s,i,f){var c,v;return a&&n(c=i.constructor)&&c!==f&&e(v=c.prototype)&&v!==f.prototype&&a(s,v),s}},84352:function(u,h,t){var n=t(11286),e=t(23583),a=t(70443),s=n(Function.toString);e(a.inspectSource)||(a.inspectSource=function(i){return s(i)}),u.exports=a.inspectSource},31486:function(u,h,t){var n=t(37540),e=t(90809);u.exports=function(a,s){n(s)&&"cause"in s&&e(a,"cause",s.cause)}},31853:function(u,h,t){var n=t(14304),e=t(11286),a=t(19423),s=t(37540),i=t(94879),f=t(7831).f,c=t(83258),v=t(92880),d=t(28174),p=t(36374),y=t(27534),m=!1,S=p("meta"),I=0,E=function(A){f(A,S,{value:{objectID:"O"+I++,weakData:{}}})},R=function(A,M){if(!s(A))return typeof A=="symbol"?A:(typeof A=="string"?"S":"P")+A;if(!i(A,S)){if(!d(A))return"F";if(!M)return"E";E(A)}return A[S].objectID},N=function(A,M){if(!i(A,S)){if(!d(A))return!0;if(!M)return!1;E(A)}return A[S].weakData},P=function(A){return y&&m&&d(A)&&!i(A,S)&&E(A),A},C=function(){b.enable=function(){},m=!0;var A=c.f,M=e([].splice),F={};F[S]=1,A(F).length&&(c.f=function(B){for(var U=A(B),j=0,W=U.length;jU;U++)if(W=V(I[U]),W&&c(S,W))return W;return new m(!1)}F=v(I,B)}for(z=C?I.next:F.next;!(w=e(z,F)).done;){try{W=V(w.value)}catch(X){p(F,"throw",X)}if(typeof W=="object"&&W&&c(S,W))return W}return new m(!1)}},99797:function(u,h,t){var n=t(96499),e=t(25001),a=t(10512);u.exports=function(s,i,f){var c,v;e(s);try{if(c=a(s,"return"),!c){if(i==="throw")throw f;return f}c=n(c,s)}catch(d){v=!0,c=d}if(i==="throw")throw f;if(v)throw c;return e(c),f}},26820:function(u,h,t){var n=t(24519).IteratorPrototype,e=t(5406),a=t(18526),s=t(78401),i=t(29107),f=function(){return this};u.exports=function(c,v,d,p){var y=v+" Iterator";return c.prototype=e(n,{next:a(+!p,d)}),s(c,y,!1,!0),i[y]=f,c}},44736:function(u,h,t){var n=t(96499),e=t(5406),a=t(90809),s=t(2725),i=t(18565),f=t(82367),c=t(10512),v=t(24519).IteratorPrototype,d=t(10659),p=t(99797),y=i("toStringTag"),m="IteratorHelper",S="WrapForValidIterator",I=f.set,E=function(P){var C=f.getterFor(P?S:m);return s(e(v),{next:function(){var A=C(this);if(P)return A.nextHandler();try{var M=A.done?void 0:A.nextHandler();return d(M,A.done)}catch(F){throw A.done=!0,F}},return:function(){var b=C(this),A=b.iterator;if(b.done=!0,P){var M=c(A,"return");return M?n(M,A):d(void 0,!0)}if(b.inner)try{p(b.inner.iterator,"normal")}catch(F){return p(A,"throw",F)}return A&&p(A,"normal"),d(void 0,!0)}})},R=E(!0),N=E(!1);a(N,y,"Iterator Helper"),u.exports=function(P,C){var b=function(M,F){F?(F.iterator=M.iterator,F.next=M.next):F=M,F.type=C?S:m,F.nextHandler=P,F.counter=0,F.done=!1,I(this,F)};return b.prototype=C?R:N,b}},10218:function(u,h,t){var n=t(14304),e=t(96499),a=t(70457),s=t(86588),i=t(23583),f=t(26820),c=t(26313),v=t(15861),d=t(78401),p=t(90809),y=t(16142),m=t(18565),S=t(29107),I=t(24519),E=s.PROPER,R=s.CONFIGURABLE,N=I.IteratorPrototype,P=I.BUGGY_SAFARI_ITERATORS,C=m("iterator"),b="keys",A="values",M="entries",F=function(){return this};u.exports=function(B,U,j,W,z,w,G){f(j,U,W);var V=function(Nt){if(Nt===z&&Z)return Z;if(!P&&Nt&&Nt in q)return q[Nt];switch(Nt){case b:return function(){return new j(this,Nt)};case A:return function(){return new j(this,Nt)};case M:return function(){return new j(this,Nt)}}return function(){return new j(this)}},X=U+" Iterator",tt=!1,q=B.prototype,rt=q[C]||q["@@iterator"]||z&&q[z],Z=!P&&rt||V(z),mt=U==="Array"&&q.entries||rt,ht,xt,Rt;if(mt&&(ht=c(mt.call(new B)),ht!==Object.prototype&&ht.next&&(!a&&c(ht)!==N&&(v?v(ht,N):i(ht[C])||y(ht,C,F)),d(ht,X,!0,!0),a&&(S[X]=F))),E&&z===A&&rt&&rt.name!==A&&(!a&&R?p(q,"name",A):(tt=!0,Z=function(){return e(rt,this)})),z)if(xt={values:V(A),keys:w?Z:V(b),entries:V(M)},G)for(Rt in xt)(P||tt||!(Rt in q))&&y(q,Rt,xt[Rt]);else n({target:U,proto:!0,forced:P||tt},xt);return(!a||G)&&q[C]!==Z&&y(q,C,Z,{name:z}),S[U]=Z,xt}},96191:function(u,h,t){var n=t(96499),e=t(85156),a=t(25001),s=t(10613),i=t(44736),f=t(39969),c=i(function(){var v=this.iterator,d=a(n(this.next,v)),p=this.done=!!d.done;if(!p)return f(v,this.mapper,[d.value,this.counter++],!0)});u.exports=function(d){return a(this),e(d),new c(s(this),{mapper:d})}},24519:function(u,h,t){var n=t(72069),e=t(23583),a=t(37540),s=t(5406),i=t(26313),f=t(16142),c=t(18565),v=t(70457),d=c("iterator"),p=!1,y,m,S;[].keys&&(S=[].keys(),"next"in S?(m=i(i(S)),m!==Object.prototype&&(y=m)):p=!0);var I=!a(y)||n(function(){var E={};return y[d].call(E)!==E});I?y={}:v&&(y=s(y)),e(y[d])||f(y,d,function(){return this}),u.exports={IteratorPrototype:y,BUGGY_SAFARI_ITERATORS:p}},29107:function(u){u.exports={}},82628:function(u,h,t){var n=t(45344);u.exports=function(e){return n(e.length)}},13749:function(u,h,t){var n=t(11286),e=t(72069),a=t(23583),s=t(94879),i=t(92986),f=t(86588).CONFIGURABLE,c=t(84352),v=t(82367),d=v.enforce,p=v.get,y=String,m=Object.defineProperty,S=n("".slice),I=n("".replace),E=n([].join),R=i&&!e(function(){return m(function(){},"length",{value:8}).length!==8}),N=String(String).split("String"),P=u.exports=function(C,b,A){S(y(b),0,7)==="Symbol("&&(b="["+I(y(b),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),A&&A.getter&&(b="get "+b),A&&A.setter&&(b="set "+b),(!s(C,"name")||f&&C.name!==b)&&(i?m(C,"name",{value:b,configurable:!0}):C.name=b),R&&A&&s(A,"arity")&&C.length!==A.arity&&m(C,"length",{value:A.arity});try{A&&s(A,"constructor")&&A.constructor?i&&m(C,"prototype",{writable:!1}):C.prototype&&(C.prototype=void 0)}catch(F){}var M=d(C);return s(M,"source")||(M.source=E(N,typeof b=="string"?b:"")),C};Function.prototype.toString=P(function(){return a(this)&&p(this).source||c(this)},"toString")},1774:function(u,h,t){var n=t(11286),e=Map.prototype;u.exports={Map,set:n(e.set),get:n(e.get),has:n(e.has),remove:n(e.delete),proto:e}},98940:function(u){var h=Math.expm1,t=Math.exp;u.exports=!h||h(10)>22025.465794806718||h(10)<22025.465794806718||h(-2e-17)!==-2e-17?function(e){var a=+e;return a===0?a:a>-1e-6&&a<1e-6?a+a*a/2:t(a)-1}:h},10418:function(u,h,t){var n=t(93976),e=Math.abs,a=2220446049250313e-31,s=1/a,i=function(f){return f+s-s};u.exports=function(f,c,v,d){var p=+f,y=e(p),m=n(p);if(yv||I!==I?m*(1/0):m*I}},93279:function(u,h,t){var n=t(10418),e=11920928955078125e-23,a=34028234663852886e22,s=11754943508222875e-54;u.exports=Math.fround||function(f){return n(f,e,a,s)}},41942:function(u){var h=Math.log,t=Math.LOG10E;u.exports=Math.log10||function(e){return h(e)*t}},49366:function(u){var h=Math.log;u.exports=Math.log1p||function(n){var e=+n;return e>-1e-8&&e<1e-8?e-e*e/2:h(1+e)}},93976:function(u){u.exports=Math.sign||function(t){var n=+t;return n===0||n!==n?n:n<0?-1:1}},22459:function(u){var h=Math.ceil,t=Math.floor;u.exports=Math.trunc||function(e){var a=+e;return(a>0?t:h)(a)}},9709:function(u,h,t){var n=t(34246),e=t(28167),a=t(45526),s=t(23115).set,i=t(76895),f=t(5286),c=t(7307),v=t(67722),d=t(91707),p=n.MutationObserver||n.WebKitMutationObserver,y=n.document,m=n.process,S=n.Promise,I=e("queueMicrotask"),E,R,N,P,C;if(!I){var b=new i,A=function(){var M,F;for(d&&(M=m.domain)&&M.exit();F=b.get();)try{F()}catch(B){throw b.head&&E(),B}M&&M.enter()};!f&&!d&&!v&&p&&y?(R=!0,N=y.createTextNode(""),new p(A).observe(N,{characterData:!0}),E=function(){N.data=R=!R}):!c&&S&&S.resolve?(P=S.resolve(void 0),P.constructor=S,C=a(P.then,P),E=function(){C(A)}):d?E=function(){m.nextTick(A)}:(s=a(s,n),E=function(){s(A)}),I=function(M){b.head||E(),b.add(M)}}u.exports=I},24649:function(u,h,t){var n=t(85156),e=TypeError,a=function(s){var i,f;this.promise=new s(function(c,v){if(i!==void 0||f!==void 0)throw new e("Bad Promise constructor");i=c,f=v}),this.resolve=n(i),this.reject=n(f)};u.exports.f=function(s){return new a(s)}},15453:function(u,h,t){var n=t(17361);u.exports=function(e,a){return e===void 0?arguments.length<2?"":a:n(e)}},93483:function(u){var h=RangeError;u.exports=function(t){if(t===t)return t;throw new h("NaN is not allowed")}},92337:function(u,h,t){var n=t(11566),e=TypeError;u.exports=function(a){if(n(a))throw new e("The method doesn't accept regular expressions");return a}},98074:function(u,h,t){var n=t(34246),e=n.isFinite;u.exports=Number.isFinite||function(s){return typeof s=="number"&&e(s)}},25838:function(u,h,t){var n=t(34246),e=t(72069),a=t(11286),s=t(17361),i=t(85900).trim,f=t(77082),c=a("".charAt),v=n.parseFloat,d=n.Symbol,p=d&&d.iterator,y=1/v(f+"-0")!==-1/0||p&&!e(function(){v(Object(p))});u.exports=y?function(S){var I=i(s(S)),E=v(I);return E===0&&c(I,0)==="-"?-0:E}:v},23009:function(u,h,t){var n=t(34246),e=t(72069),a=t(11286),s=t(17361),i=t(85900).trim,f=t(77082),c=n.parseInt,v=n.Symbol,d=v&&v.iterator,p=/^[+-]?0x/i,y=a(p.exec),m=c(f+"08")!==8||c(f+"0x16")!==22||d&&!e(function(){c(Object(d))});u.exports=m?function(I,E){var R=i(s(I));return c(R,E>>>0||(y(p,R)?16:10))}:c},16667:function(u,h,t){var n=t(92986),e=t(11286),a=t(96499),s=t(72069),i=t(18350),f=t(24943),c=t(79591),v=t(49671),d=t(72181),p=Object.assign,y=Object.defineProperty,m=e([].concat);u.exports=!p||s(function(){if(n&&p({b:1},p(y({},"a",{enumerable:!0,get:function(){y(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var S={},I={},E=Symbol("assign detection"),R="abcdefghijklmnopqrst";return S[E]=7,R.split("").forEach(function(N){I[N]=N}),p({},S)[E]!==7||i(p({},I)).join("")!==R})?function(I,E){for(var R=v(I),N=arguments.length,P=1,C=f.f,b=c.f;N>P;)for(var A=d(arguments[P++]),M=C?m(i(A),C(A)):i(A),F=M.length,B=0,U;F>B;)U=M[B++],(!n||a(b,A,U))&&(R[U]=A[U]);return R}:p},5406:function(u,h,t){var n=t(25001),e=t(61963),a=t(75785),s=t(19423),i=t(96439),f=t(85501),c=t(44869),v=">",d="<",p="prototype",y="script",m=c("IE_PROTO"),S=function(){},I=function(C){return d+y+v+C+d+"/"+y+v},E=function(C){C.write(I("")),C.close();var b=C.parentWindow.Object;return C=null,b},R=function(){var C=f("iframe"),b="java"+y+":",A;return C.style.display="none",i.appendChild(C),C.src=String(b),A=C.contentWindow.document,A.open(),A.write(I("document.F=Object")),A.close(),A.F},N,P=function(){try{N=new ActiveXObject("htmlfile")}catch(b){}P=typeof document!="undefined"?document.domain&&N?E(N):R():E(N);for(var C=a.length;C--;)delete P[p][a[C]];return P()};s[m]=!0,u.exports=Object.create||function(b,A){var M;return b!==null?(S[p]=n(b),M=new S,S[p]=null,M[m]=b):M=P(),A===void 0?M:e.f(M,A)}},61963:function(u,h,t){var n=t(92986),e=t(356),a=t(7831),s=t(25001),i=t(36859),f=t(18350);h.f=n&&!e?Object.defineProperties:function(v,d){s(v);for(var p=i(d),y=f(d),m=y.length,S=0,I;m>S;)a.f(v,I=y[S++],p[I]);return v}},7831:function(u,h,t){var n=t(92986),e=t(52515),a=t(356),s=t(25001),i=t(50035),f=TypeError,c=Object.defineProperty,v=Object.getOwnPropertyDescriptor,d="enumerable",p="configurable",y="writable";h.f=n?a?function(S,I,E){if(s(S),I=i(I),s(E),typeof S=="function"&&I==="prototype"&&"value"in E&&y in E&&!E[y]){var R=v(S,I);R&&R[y]&&(S[I]=E.value,E={configurable:p in E?E[p]:R[p],enumerable:d in E?E[d]:R[d],writable:!1})}return c(S,I,E)}:c:function(S,I,E){if(s(S),I=i(I),s(E),e)try{return c(S,I,E)}catch(R){}if("get"in E||"set"in E)throw new f("Accessors not supported");return"value"in E&&(S[I]=E.value),S}},71349:function(u,h,t){var n=t(92986),e=t(96499),a=t(79591),s=t(18526),i=t(36859),f=t(50035),c=t(94879),v=t(52515),d=Object.getOwnPropertyDescriptor;h.f=n?d:function(y,m){if(y=i(y),m=f(m),v)try{return d(y,m)}catch(S){}if(c(y,m))return s(!e(a.f,y,m),y[m])}},92880:function(u,h,t){var n=t(14274),e=t(36859),a=t(83258).f,s=t(22806),i=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],f=function(c){try{return a(c)}catch(v){return s(i)}};u.exports.f=function(v){return i&&n(v)==="Window"?f(v):a(e(v))}},83258:function(u,h,t){var n=t(6242),e=t(75785),a=e.concat("length","prototype");h.f=Object.getOwnPropertyNames||function(i){return n(i,a)}},24943:function(u,h){h.f=Object.getOwnPropertySymbols},26313:function(u,h,t){var n=t(94879),e=t(23583),a=t(49671),s=t(44869),i=t(87501),f=s("IE_PROTO"),c=Object,v=c.prototype;u.exports=i?c.getPrototypeOf:function(d){var p=a(d);if(n(p,f))return p[f];var y=p.constructor;return e(y)&&p instanceof y?y.prototype:p instanceof c?v:null}},28174:function(u,h,t){var n=t(72069),e=t(37540),a=t(14274),s=t(72058),i=Object.isExtensible,f=n(function(){i(1)});u.exports=f||s?function(v){return!e(v)||s&&a(v)==="ArrayBuffer"?!1:i?i(v):!0}:i},95307:function(u,h,t){var n=t(11286);u.exports=n({}.isPrototypeOf)},6242:function(u,h,t){var n=t(11286),e=t(94879),a=t(36859),s=t(94319).indexOf,i=t(19423),f=n([].push);u.exports=function(c,v){var d=a(c),p=0,y=[],m;for(m in d)!e(i,m)&&e(d,m)&&f(y,m);for(;v.length>p;)e(d,m=v[p++])&&(~s(y,m)||f(y,m));return y}},18350:function(u,h,t){var n=t(6242),e=t(75785);u.exports=Object.keys||function(s){return n(s,e)}},79591:function(u,h){var t={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,e=n&&!t.call({1:2},1);h.f=e?function(s){var i=n(this,s);return!!i&&i.enumerable}:t},57629:function(u,h,t){var n=t(70457),e=t(34246),a=t(72069),s=t(66577);u.exports=n||!a(function(){if(!(s&&s<535)){var i=Math.random();__defineSetter__.call(null,i,function(){}),delete e[i]}})},15861:function(u,h,t){var n=t(84756),e=t(37540),a=t(2068),s=t(53408);u.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var i=!1,f={},c;try{c=n(Object.prototype,"__proto__","set"),c(f,[]),i=f instanceof Array}catch(v){}return function(d,p){return a(d),s(p),e(d)&&(i?c(d,p):d.__proto__=p),d}}():void 0)},8511:function(u,h,t){var n=t(92986),e=t(72069),a=t(11286),s=t(26313),i=t(18350),f=t(36859),c=t(79591).f,v=a(c),d=a([].push),p=n&&e(function(){var m=Object.create(null);return m[2]=2,!v(m,2)}),y=function(m){return function(S){for(var I=f(S),E=i(I),R=p&&s(I)===null,N=E.length,P=0,C=[],b;N>P;)b=E[P++],(!n||(R?b in I:v(I,b)))&&d(C,m?[b,I[b]]:I[b]);return C}};u.exports={entries:y(!0),values:y(!1)}},60105:function(u,h,t){var n=t(67878),e=t(9205);u.exports=n?{}.toString:function(){return"[object "+e(this)+"]"}},2064:function(u,h,t){var n=t(96499),e=t(23583),a=t(37540),s=TypeError;u.exports=function(i,f){var c,v;if(f==="string"&&e(c=i.toString)&&!a(v=n(c,i))||e(c=i.valueOf)&&!a(v=n(c,i))||f!=="string"&&e(c=i.toString)&&!a(v=n(c,i)))return v;throw new s("Can't convert object to primitive value")}},16885:function(u,h,t){var n=t(38941),e=t(11286),a=t(83258),s=t(24943),i=t(25001),f=e([].concat);u.exports=n("Reflect","ownKeys")||function(v){var d=a.f(i(v)),p=s.f;return p?f(d,p(v)):d}},75081:function(u,h,t){var n=t(34246);u.exports=n},67805:function(u){u.exports=function(h){try{return{error:!1,value:h()}}catch(t){return{error:!0,value:t}}}},37130:function(u,h,t){var n=t(34246),e=t(98844),a=t(23583),s=t(13278),i=t(84352),f=t(18565),c=t(21501),v=t(70457),d=t(44241),p=e&&e.prototype,y=f("species"),m=!1,S=a(n.PromiseRejectionEvent),I=s("Promise",function(){var E=i(e),R=E!==String(e);if(!R&&d===66||v&&!(p.catch&&p.finally))return!0;if(!d||d<51||!/native code/.test(E)){var N=new e(function(b){b(1)}),P=function(b){b(function(){},function(){})},C=N.constructor={};if(C[y]=P,m=N.then(function(){})instanceof P,!m)return!0}return!R&&(c==="BROWSER"||c==="DENO")&&!S});u.exports={CONSTRUCTOR:I,REJECTION_EVENT:S,SUBCLASSING:m}},98844:function(u,h,t){var n=t(34246);u.exports=n.Promise},87408:function(u,h,t){var n=t(25001),e=t(37540),a=t(24649);u.exports=function(s,i){if(n(s),e(i)&&i.constructor===s)return i;var f=a.f(s),c=f.resolve;return c(i),f.promise}},26035:function(u,h,t){var n=t(98844),e=t(97494),a=t(37130).CONSTRUCTOR;u.exports=a||!e(function(s){n.all(s).then(void 0,function(){})})},2594:function(u,h,t){var n=t(7831).f;u.exports=function(e,a,s){s in e||n(e,s,{configurable:!0,get:function(){return a[s]},set:function(i){a[s]=i}})}},76895:function(u){var h=function(){this.head=null,this.tail=null};h.prototype={add:function(t){var n={item:t,next:null},e=this.tail;e?e.next=n:this.head=n,this.tail=n},get:function(){var t=this.head;if(t){var n=this.head=t.next;return n===null&&(this.tail=null),t.item}}},u.exports=h},33064:function(u,h,t){var n=t(96499),e=t(25001),a=t(23583),s=t(14274),i=t(44381),f=TypeError;u.exports=function(c,v){var d=c.exec;if(a(d)){var p=n(d,c,v);return p!==null&&e(p),p}if(s(c)==="RegExp")return n(i,c,v);throw new f("RegExp#exec called on incompatible receiver")}},44381:function(u,h,t){var n=t(96499),e=t(11286),a=t(17361),s=t(29833),i=t(39807),f=t(96731),c=t(5406),v=t(82367).get,d=t(76769),p=t(85220),y=f("native-string-replace",String.prototype.replace),m=RegExp.prototype.exec,S=m,I=e("".charAt),E=e("".indexOf),R=e("".replace),N=e("".slice),P=function(){var M=/a/,F=/b*/g;return n(m,M,"a"),n(m,F,"a"),M.lastIndex!==0||F.lastIndex!==0}(),C=i.BROKEN_CARET,b=/()??/.exec("")[1]!==void 0,A=P||b||C||d||p;A&&(S=function(F){var B=this,U=v(B),j=a(F),W=U.raw,z,w,G,V,X,tt,q;if(W)return W.lastIndex=B.lastIndex,z=n(S,W,j),B.lastIndex=W.lastIndex,z;var rt=U.groups,Z=C&&B.sticky,mt=n(s,B),ht=B.source,xt=0,Rt=j;if(Z&&(mt=R(mt,"y",""),E(mt,"g")===-1&&(mt+="g"),Rt=N(j,B.lastIndex),B.lastIndex>0&&(!B.multiline||B.multiline&&I(j,B.lastIndex-1)!==` `)&&(ht="(?: "+ht+")",Rt=" "+Rt,xt++),w=new RegExp("^(?:"+ht+")",mt)),b&&(w=new RegExp("^"+ht+"$(?!\\s)",mt)),P&&(G=B.lastIndex),V=n(m,Z?w:B,Rt),Z?V?(V.input=N(V.input,xt),V[0]=N(V[0],xt),V.index=B.lastIndex,B.lastIndex+=V[0].length):B.lastIndex=0:P&&V&&(B.lastIndex=B.global?V.index+V[0].length:G),b&&V&&V.length>1&&n(y,V[0],w,function(){for(X=1;Xb)","g");return s.exec("b").groups.a!=="b"||"b".replace(s,"$c")!=="bc"})},2068:function(u,h,t){var n=t(5683),e=TypeError;u.exports=function(a){if(n(a))throw new e("Can't call method on "+a);return a}},28167:function(u,h,t){var n=t(34246),e=t(92986),a=Object.getOwnPropertyDescriptor;u.exports=function(s){if(!e)return n[s];var i=a(n,s);return i&&i.value}},13944:function(u){u.exports=Object.is||function(t,n){return t===n?t!==0||1/t===1/n:t!==t&&n!==n}},9934:function(u,h,t){var n=t(34246),e=t(66543),a=t(23583),s=t(21501),i=t(18257),f=t(22806),c=t(95486),v=n.Function,d=/MSIE .\./.test(i)||s==="BUN"&&function(){var p=n.Bun.version.split(".");return p.length<3||p[0]==="0"&&(p[1]<3||p[1]==="3"&&p[2]==="0")}();u.exports=function(p,y){var m=y?2:1;return d?function(S,I){var E=c(arguments.length,1)>m,T=a(S)?S:v(S),N=E?f(arguments,m):[],P=E?function(){e(T,this,N)}:T;return y?p(P,I):p(P)}:p}},48348:function(u,h,t){var n=t(172),e=t(35051),a=n.Set,s=n.add;u.exports=function(i){var f=new a;return e(i,function(c){s(f,c)}),f}},41754:function(u,h,t){var n=t(76602),e=t(172),a=t(48348),s=t(17768),i=t(65263),f=t(35051),c=t(9573),v=e.has,d=e.remove;u.exports=function(y){var m=n(this),S=i(y),I=a(m);return s(m)<=S.size?f(m,function(E){S.includes(E)&&d(I,E)}):c(S.getIterator(),function(E){v(m,E)&&d(I,E)}),I}},172:function(u,h,t){var n=t(11286),e=Set.prototype;u.exports={Set,add:n(e.add),has:n(e.has),remove:n(e.delete),proto:e}},92292:function(u,h,t){var n=t(76602),e=t(172),a=t(17768),s=t(65263),i=t(35051),f=t(9573),c=e.Set,v=e.add,d=e.has;u.exports=function(y){var m=n(this),S=s(y),I=new c;return a(m)>S.size?f(S.getIterator(),function(E){d(m,E)&&v(I,E)}):i(m,function(E){S.includes(E)&&v(I,E)}),I}},47391:function(u,h,t){var n=t(76602),e=t(172).has,a=t(17768),s=t(65263),i=t(35051),f=t(9573),c=t(99797);u.exports=function(d){var p=n(this),y=s(d);if(a(p)<=y.size)return i(p,function(S){if(y.includes(S))return!1},!0)!==!1;var m=y.getIterator();return f(m,function(S){if(e(p,S))return c(m,"normal",!1)})!==!1}},75492:function(u,h,t){var n=t(76602),e=t(17768),a=t(35051),s=t(65263);u.exports=function(f){var c=n(this),v=s(f);return e(c)>v.size?!1:a(c,function(d){if(!v.includes(d))return!1},!0)!==!1}},1333:function(u,h,t){var n=t(76602),e=t(172).has,a=t(17768),s=t(65263),i=t(9573),f=t(99797);u.exports=function(v){var d=n(this),p=s(v);if(a(d)3})}},22149:function(u,h,t){var n=t(11286),e=t(12105),a=t(17361),s=t(2068),i=n("".charAt),f=n("".charCodeAt),c=n("".slice),v=function(d){return function(p,y){var m=a(s(p)),S=e(y),I=m.length,E,T;return S<0||S>=I?d?"":void 0:(E=f(m,S),E<55296||E>56319||S+1===I||(T=f(m,S+1))<56320||T>57343?d?i(m,S):E:d?c(m,S,S+2):(E-55296<<10)+(T-56320)+65536)}};u.exports={codeAt:v(!1),charAt:v(!0)}},36945:function(u,h,t){var n=t(18257);u.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(n)},61607:function(u,h,t){var n=t(11286),e=t(45344),a=t(17361),s=t(79719),i=t(2068),f=n(s),c=n("".slice),v=Math.ceil,d=function(p){return function(y,m,S){var I=a(i(y)),E=e(m),T=I.length,N=S===void 0?" ":a(S),P,C;return E<=T||N===""?I:(P=E-T,C=f(N,v(P/N.length)),C.length>P&&(C=c(C,0,P)),p?I+C:C+I)}};u.exports={start:d(!1),end:d(!0)}},38679:function(u,h,t){var n=t(11286),e=2147483647,a=36,s=1,i=26,f=38,c=700,v=72,d=128,p="-",y=/[^\0-\u007E]/,m=/[.\u3002\uFF0E\uFF61]/g,S="Overflow: input needs wider integers to process",I=a-s,E=RangeError,T=n(m.exec),N=Math.floor,P=String.fromCharCode,C=n("".charCodeAt),b=n([].join),A=n([].push),M=n("".replace),F=n("".split),B=n("".toLowerCase),U=function(w){for(var G=[],V=0,X=w.length;V=55296&&tt<=56319&&V>1,w+=N(w/G);w>I*i>>1;)w=N(w/I),X+=a;return N(X+(I+1)*w/(w+f))},z=function(w){var G=[];w=U(w);var V=w.length,X=d,tt=0,q=v,rt,Z;for(rt=0;rt=X&&ZN((e-tt)/Rt))throw new E(S);for(tt+=(xt-X)*Rt,X=xt,rt=0;rte)throw new E(S);if(Z===X){for(var Nt=tt,Jt=a;;){var Xt=Jt<=q?s:Jt>=q+i?i:Jt-q;if(Nt0;(d>>>=1)&&(c+=c))d&1&&(v+=c);return v}},75176:function(u,h,t){var n=t(85900).end,e=t(33328);u.exports=e("trimEnd")?function(){return n(this)}:"".trimEnd},33328:function(u,h,t){var n=t(86588).PROPER,e=t(72069),a=t(77082),s="\u200B\x85\u180E";u.exports=function(i){return e(function(){return!!a[i]()||s[i]()!==s||n&&a[i].name!==i})}},83481:function(u,h,t){var n=t(85900).start,e=t(33328);u.exports=e("trimStart")?function(){return n(this)}:"".trimStart},85900:function(u,h,t){var n=t(11286),e=t(2068),a=t(17361),s=t(77082),i=n("".replace),f=RegExp("^["+s+"]+"),c=RegExp("(^|[^"+s+"])["+s+"]+$"),v=function(d){return function(p){var y=a(e(p));return d&1&&(y=i(y,f,"")),d&2&&(y=i(y,c,"$1")),y}};u.exports={start:v(1),end:v(2),trim:v(3)}},99050:function(u,h,t){var n=t(34246),e=t(72069),a=t(44241),s=t(21501),i=n.structuredClone;u.exports=!!i&&!e(function(){if(s==="DENO"&&a>92||s==="NODE"&&a>94||s==="BROWSER"&&a>97)return!1;var f=new ArrayBuffer(8),c=i(f,{transfer:[f]});return f.byteLength!==0||c.byteLength!==8})},39729:function(u,h,t){var n=t(44241),e=t(72069),a=t(34246),s=a.String;u.exports=!!Object.getOwnPropertySymbols&&!e(function(){var i=Symbol("symbol detection");return!s(i)||!(Object(i)instanceof Symbol)||!Symbol.sham&&n&&n<41})},60796:function(u,h,t){var n=t(96499),e=t(38941),a=t(18565),s=t(16142);u.exports=function(){var i=e("Symbol"),f=i&&i.prototype,c=f&&f.valueOf,v=a("toPrimitive");f&&!f[v]&&s(f,v,function(d){return n(c,this)},{arity:1})}},61190:function(u,h,t){var n=t(39729);u.exports=n&&!!Symbol.for&&!!Symbol.keyFor},23115:function(u,h,t){var n=t(34246),e=t(66543),a=t(45526),s=t(23583),i=t(94879),f=t(72069),c=t(96439),v=t(22806),d=t(85501),p=t(95486),y=t(5286),m=t(91707),S=n.setImmediate,I=n.clearImmediate,E=n.process,T=n.Dispatch,N=n.Function,P=n.MessageChannel,C=n.String,b=0,A={},M="onreadystatechange",F,B,U,j;f(function(){F=n.location});var W=function(V){if(i(A,V)){var X=A[V];delete A[V],X()}},z=function(V){return function(){W(V)}},w=function(V){W(V.data)},G=function(V){n.postMessage(C(V),F.protocol+"//"+F.host)};(!S||!I)&&(S=function(X){p(arguments.length,1);var tt=s(X)?X:N(X),q=v(arguments,1);return A[++b]=function(){e(tt,void 0,q)},B(b),b},I=function(X){delete A[X]},m?B=function(V){E.nextTick(z(V))}:T&&T.now?B=function(V){T.now(z(V))}:P&&!y?(U=new P,j=U.port2,U.port1.onmessage=w,B=a(j.postMessage,j)):n.addEventListener&&s(n.postMessage)&&!n.importScripts&&F&&F.protocol!=="file:"&&!f(G)?(B=G,n.addEventListener("message",w,!1)):M in d("script")?B=function(V){c.appendChild(d("script"))[M]=function(){c.removeChild(this),W(V)}}:B=function(V){setTimeout(z(V),0)}),u.exports={set:S,clear:I}},34338:function(u,h,t){var n=t(11286);u.exports=n(1 .valueOf)},4652:function(u,h,t){var n=t(12105),e=Math.max,a=Math.min;u.exports=function(s,i){var f=n(s);return f<0?e(f+i,0):a(f,i)}},11344:function(u,h,t){var n=t(89935),e=TypeError;u.exports=function(a){var s=n(a,"number");if(typeof s=="number")throw new e("Can't convert number to bigint");return BigInt(s)}},9450:function(u,h,t){var n=t(12105),e=t(45344),a=RangeError;u.exports=function(s){if(s===void 0)return 0;var i=n(s),f=e(i);if(i!==f)throw new a("Wrong length or index");return f}},36859:function(u,h,t){var n=t(72181),e=t(2068);u.exports=function(a){return n(e(a))}},12105:function(u,h,t){var n=t(22459);u.exports=function(e){var a=+e;return a!==a||a===0?0:n(a)}},45344:function(u,h,t){var n=t(12105),e=Math.min;u.exports=function(a){var s=n(a);return s>0?e(s,9007199254740991):0}},49671:function(u,h,t){var n=t(2068),e=Object;u.exports=function(a){return e(n(a))}},58143:function(u,h,t){var n=t(98072),e=RangeError;u.exports=function(a,s){var i=n(a);if(i%s)throw new e("Wrong offset");return i}},98072:function(u,h,t){var n=t(12105),e=RangeError;u.exports=function(a){var s=n(a);if(s<0)throw new e("The argument can't be less than 0");return s}},89935:function(u,h,t){var n=t(96499),e=t(37540),a=t(491),s=t(10512),i=t(2064),f=t(18565),c=TypeError,v=f("toPrimitive");u.exports=function(d,p){if(!e(d)||a(d))return d;var y=s(d,v),m;if(y){if(p===void 0&&(p="default"),m=n(y,d,p),!e(m)||a(m))return m;throw new c("Can't convert object to primitive value")}return p===void 0&&(p="number"),i(d,p)}},50035:function(u,h,t){var n=t(89935),e=t(491);u.exports=function(a){var s=n(a,"string");return e(s)?s:s+""}},67878:function(u,h,t){var n=t(18565),e=n("toStringTag"),a={};a[e]="z",u.exports=String(a)==="[object z]"},17361:function(u,h,t){var n=t(9205),e=String;u.exports=function(a){if(n(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return e(a)}},76517:function(u){var h=Math.round;u.exports=function(t){var n=h(t);return n<0?0:n>255?255:n&255}},82453:function(u){var h=String;u.exports=function(t){try{return h(t)}catch(n){return"Object"}}},80357:function(u,h,t){var n=t(14304),e=t(34246),a=t(96499),s=t(92986),i=t(46868),f=t(88037),c=t(17468),v=t(12833),d=t(18526),p=t(90809),y=t(613),m=t(45344),S=t(9450),I=t(58143),E=t(76517),T=t(50035),N=t(94879),P=t(9205),C=t(37540),b=t(491),A=t(5406),M=t(95307),F=t(15861),B=t(83258).f,U=t(66169),j=t(66655).forEach,W=t(36167),z=t(85500),w=t(7831),G=t(71349),V=t(5220),X=t(82367),tt=t(32345),q=X.get,rt=X.set,Z=X.enforce,mt=w.f,ht=G.f,xt=e.RangeError,Rt=c.ArrayBuffer,Nt=Rt.prototype,Jt=c.DataView,Xt=f.NATIVE_ARRAY_BUFFER_VIEWS,jt=f.TYPED_ARRAY_TAG,vt=f.TypedArray,Et=f.TypedArrayPrototype,$t=f.isTypedArray,Bt="BYTES_PER_ELEMENT",Ft="Wrong length",Vt=function(rr,Qt){z(rr,Qt,{configurable:!0,get:function(){return q(this)[Qt]}})},nr=function(rr){var Qt;return M(Nt,rr)||(Qt=P(rr))==="ArrayBuffer"||Qt==="SharedArrayBuffer"},tr=function(rr,Qt){return $t(rr)&&!b(Qt)&&Qt in rr&&y(+Qt)&&Qt>=0},Zt=function(Qt,wt){return wt=T(wt),tr(Qt,wt)?d(2,Qt[wt]):ht(Qt,wt)},Ht=function(Qt,wt,ft){return wt=T(wt),tr(Qt,wt)&&C(ft)&&N(ft,"value")&&!N(ft,"get")&&!N(ft,"set")&&!ft.configurable&&(!N(ft,"writable")||ft.writable)&&(!N(ft,"enumerable")||ft.enumerable)?(Qt[wt]=ft.value,Qt):mt(Qt,wt,ft)};s?(Xt||(G.f=Zt,w.f=Ht,Vt(Et,"buffer"),Vt(Et,"byteOffset"),Vt(Et,"byteLength"),Vt(Et,"length")),n({target:"Object",stat:!0,forced:!Xt},{getOwnPropertyDescriptor:Zt,defineProperty:Ht}),u.exports=function(rr,Qt,wt){var ft=rr.match(/\d+/)[0]/8,ct=rr+(wt?"Clamped":"")+"Array",nt="get"+rr,Mt="set"+rr,bt=e[ct],At=bt,Tt=At&&At.prototype,ur={},vr=function(st,yt){var at=q(st);return at.view[nt](yt*ft+at.byteOffset,!0)},Q=function(st,yt,at){var Lt=q(st);Lt.view[Mt](yt*ft+Lt.byteOffset,wt?E(at):at,!0)},ot=function(st,yt){mt(st,yt,{get:function(){return vr(this,yt)},set:function(at){return Q(this,yt,at)},enumerable:!0})};Xt?i&&(At=Qt(function(st,yt,at,Lt){return v(st,Tt),tt(function(){return C(yt)?nr(yt)?Lt!==void 0?new bt(yt,I(at,ft),Lt):at!==void 0?new bt(yt,I(at,ft)):new bt(yt):$t(yt)?V(At,yt):a(U,At,yt):new bt(S(yt))}(),st,At)}),F&&F(At,vt),j(B(bt),function(st){st in At||p(At,st,bt[st])}),At.prototype=Tt):(At=Qt(function(st,yt,at,Lt){v(st,Tt);var er=0,it=0,St,It,Ot;if(!C(yt))Ot=S(yt),It=Ot*ft,St=new Rt(It);else if(nr(yt)){St=yt,it=I(at,ft);var Wt=yt.byteLength;if(Lt===void 0){if(Wt%ft)throw new xt(Ft);if(It=Wt-it,It<0)throw new xt(Ft)}else if(It=m(Lt)*ft,It+it>Wt)throw new xt(Ft);Ot=It/ft}else return $t(yt)?V(At,yt):a(U,At,yt);for(rt(st,{buffer:St,byteOffset:it,byteLength:It,length:Ot,view:new Jt(St)});er1?arguments[1]:void 0,P=N!==void 0,C=c(E),b,A,M,F,B,U,j,W;if(C&&!v(C))for(j=f(E,C),W=j.next,E=[];!(U=e(W,j)).done;)E.push(U.value);for(P&&T>2&&(N=n(N,arguments[2])),A=i(E),M=new(p(I))(A),F=d(M),b=0;A>b;b++)B=P?N(E[b],b):E[b],M[b]=F?y(B):+B;return M}},36374:function(u,h,t){var n=t(11286),e=0,a=Math.random(),s=n(1 .toString);u.exports=function(i){return"Symbol("+(i===void 0?"":i)+")_"+s(++e+a,36)}},91918:function(u,h,t){var n=t(72069),e=t(18565),a=t(92986),s=t(70457),i=e("iterator");u.exports=!n(function(){var f=new URL("b?a=1&b=2&c=3","https://a"),c=f.searchParams,v=new URLSearchParams("a=1&a=2&b=3"),d="";return f.pathname="c%20d",c.forEach(function(p,y){c.delete("b"),d+=y+p}),v.delete("a",2),v.delete("b",void 0),s&&(!f.toJSON||!v.has("a",1)||v.has("a",2)||!v.has("a",void 0)||v.has("b"))||!c.size&&(s||!a)||!c.sort||f.href!=="https://a/c%20d?a=1&c=3"||c.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!c[i]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("https://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("https://a#\u0431").hash!=="#%D0%B1"||d!=="a1c3"||new URL("https://x",void 0).host!=="x"})},50234:function(u,h,t){var n=t(39729);u.exports=n&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},356:function(u,h,t){var n=t(92986),e=t(72069);u.exports=n&&e(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},95486:function(u){var h=TypeError;u.exports=function(t,n){if(tC&&p(w,arguments[C]),w});if(U.prototype=F,A!=="Error"?i?i(U,B):f(U,B,{name:!0}):m&&P in M&&(c(U,M,P),c(U,M,"prepareStackTrace")),f(U,M),!S)try{F.name!==A&&a(F,"name",A),F.constructor=U}catch(j){}return U}}},27796:function(u,h,t){var n=t(14304),e=t(38941),a=t(66543),s=t(72069),i=t(70003),f="AggregateError",c=e(f),v=!s(function(){return c([1]).errors[0]!==1})&&s(function(){return c([1],f,{cause:7}).cause!==7});n({global:!0,constructor:!0,arity:2,forced:v},{AggregateError:i(f,function(d){return function(y,m){return a(d,this,arguments)}},v,!0)})},85647:function(u,h,t){var n=t(14304),e=t(95307),a=t(26313),s=t(15861),i=t(93706),f=t(5406),c=t(90809),v=t(18526),d=t(31486),p=t(97077),y=t(55902),m=t(15453),S=t(18565),I=S("toStringTag"),E=Error,T=[].push,N=function(b,A){var M=e(P,this),F;s?F=s(new E,M?a(this):P):(F=M?this:f(P),c(F,I,"Error")),A!==void 0&&c(F,"message",m(A)),p(F,N,F.stack,1),arguments.length>2&&d(F,arguments[2]);var B=[];return y(b,T,{that:B}),c(F,"errors",B),F};s?s(N,E):i(N,E,{name:!0});var P=N.prototype=f(E.prototype,{constructor:v(1,N),message:v(1,""),name:v(1,"AggregateError")});n({global:!0,constructor:!0,arity:2},{AggregateError:N})},42861:function(u,h,t){t(85647)},35473:function(u,h,t){var n=t(14304),e=t(34246),a=t(17468),s=t(36167),i="ArrayBuffer",f=a[i],c=e[i];n({global:!0,constructor:!0,forced:c!==f},{ArrayBuffer:f}),s(i)},35495:function(u,h,t){var n=t(92986),e=t(85500),a=t(30736),s=ArrayBuffer.prototype;n&&!("detached"in s)&&e(s,"detached",{configurable:!0,get:function(){return a(this)}})},4983:function(u,h,t){var n=t(14304),e=t(88037),a=e.NATIVE_ARRAY_BUFFER_VIEWS;n({target:"ArrayBuffer",stat:!0,forced:!a},{isView:e.isView})},6875:function(u,h,t){var n=t(14304),e=t(77422),a=t(72069),s=t(17468),i=t(25001),f=t(4652),c=t(45344),v=s.ArrayBuffer,d=s.DataView,p=d.prototype,y=e(v.prototype.slice),m=e(p.getUint8),S=e(p.setUint8),I=a(function(){return!new v(2).slice(1,void 0).byteLength});n({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:I},{slice:function(T,N){if(y&&N===void 0)return y(i(this),T);for(var P=i(this).byteLength,C=f(T,P),b=f(N===void 0?P:N,P),A=new v(c(b-C)),M=new d(this),F=new d(A),B=0;C=0?p:d+p;return y<0||y>=d?void 0:v[y]}}),i("at")},98700:function(u,h,t){var n=t(14304),e=t(72069),a=t(3438),s=t(37540),i=t(49671),f=t(82628),c=t(20095),v=t(84082),d=t(62083),p=t(52183),y=t(18565),m=t(44241),S=y("isConcatSpreadable"),I=m>=51||!e(function(){var N=[];return N[S]=!1,N.concat()[0]!==N}),E=function(N){if(!s(N))return!1;var P=N[S];return P!==void 0?!!P:a(N)},T=!I||!p("concat");n({target:"Array",proto:!0,arity:1,forced:T},{concat:function(P){var C=i(this),b=d(C,0),A=0,M,F,B,U,j;for(M=-1,B=arguments.length;M1?arguments[1]:void 0)}})},41585:function(u,h,t){var n=t(14304),e=t(43011),a=t(23811);n({target:"Array",proto:!0},{fill:e}),a("fill")},84554:function(u,h,t){var n=t(14304),e=t(66655).filter,a=t(52183),s=a("filter");n({target:"Array",proto:!0,forced:!s},{filter:function(f){return e(this,f,arguments.length>1?arguments[1]:void 0)}})},33818:function(u,h,t){var n=t(14304),e=t(66655).findIndex,a=t(23811),s="findIndex",i=!0;s in[]&&Array(1)[s](function(){i=!1}),n({target:"Array",proto:!0,forced:i},{findIndex:function(c){return e(this,c,arguments.length>1?arguments[1]:void 0)}}),a(s)},2209:function(u,h,t){var n=t(14304),e=t(73849).findLastIndex,a=t(23811);n({target:"Array",proto:!0},{findLastIndex:function(i){return e(this,i,arguments.length>1?arguments[1]:void 0)}}),a("findLastIndex")},64096:function(u,h,t){var n=t(14304),e=t(73849).findLast,a=t(23811);n({target:"Array",proto:!0},{findLast:function(i){return e(this,i,arguments.length>1?arguments[1]:void 0)}}),a("findLast")},36619:function(u,h,t){var n=t(14304),e=t(66655).find,a=t(23811),s="find",i=!0;s in[]&&Array(1)[s](function(){i=!1}),n({target:"Array",proto:!0,forced:i},{find:function(c){return e(this,c,arguments.length>1?arguments[1]:void 0)}}),a(s)},74092:function(u,h,t){var n=t(14304),e=t(53149),a=t(85156),s=t(49671),i=t(82628),f=t(62083);n({target:"Array",proto:!0},{flatMap:function(v){var d=s(this),p=i(d),y;return a(v),y=f(d,0),y.length=e(y,d,d,p,0,1,v,arguments.length>1?arguments[1]:void 0),y}})},91591:function(u,h,t){var n=t(14304),e=t(53149),a=t(49671),s=t(82628),i=t(12105),f=t(62083);n({target:"Array",proto:!0},{flat:function(){var v=arguments.length?arguments[0]:void 0,d=a(this),p=s(d),y=f(d,0);return y.length=e(y,d,d,p,0,v===void 0?1:i(v)),y}})},54703:function(u,h,t){var n=t(14304),e=t(13349);n({target:"Array",proto:!0,forced:[].forEach!==e},{forEach:e})},82936:function(u,h,t){var n=t(14304),e=t(48258),a=t(97494),s=!a(function(i){Array.from(i)});n({target:"Array",stat:!0,forced:s},{from:e})},48493:function(u,h,t){var n=t(14304),e=t(94319).includes,a=t(72069),s=t(23811),i=a(function(){return!Array(1).includes()});n({target:"Array",proto:!0,forced:i},{includes:function(c){return e(this,c,arguments.length>1?arguments[1]:void 0)}}),s("includes")},64730:function(u,h,t){var n=t(14304),e=t(77422),a=t(94319).indexOf,s=t(6148),i=e([].indexOf),f=!!i&&1/i([1],1,-0)<0,c=f||!s("indexOf");n({target:"Array",proto:!0,forced:c},{indexOf:function(d){var p=arguments.length>1?arguments[1]:void 0;return f?i(this,d,p)||0:a(this,d,p)}})},95024:function(u,h,t){var n=t(14304),e=t(3438);n({target:"Array",stat:!0},{isArray:e})},35054:function(u,h,t){var n=t(36859),e=t(23811),a=t(29107),s=t(82367),i=t(7831).f,f=t(10218),c=t(10659),v=t(70457),d=t(92986),p="Array Iterator",y=s.set,m=s.getterFor(p);u.exports=f(Array,"Array",function(I,E){y(this,{type:p,target:n(I),index:0,kind:E})},function(){var I=m(this),E=I.target,T=I.index++;if(!E||T>=E.length)return I.target=null,c(void 0,!0);switch(I.kind){case"keys":return c(T,!1);case"values":return c(E[T],!1)}return c([T,E[T]],!1)},"values");var S=a.Arguments=a.Array;if(e("keys"),e("values"),e("entries"),!v&&d&&S.name!=="values")try{i(S,"name",{value:"values"})}catch(I){}},25460:function(u,h,t){var n=t(14304),e=t(11286),a=t(72181),s=t(36859),i=t(6148),f=e([].join),c=a!==Object,v=c||!i("join",",");n({target:"Array",proto:!0,forced:v},{join:function(p){return f(s(this),p===void 0?",":p)}})},60703:function(u,h,t){var n=t(14304),e=t(58465);n({target:"Array",proto:!0,forced:e!==[].lastIndexOf},{lastIndexOf:e})},90468:function(u,h,t){var n=t(14304),e=t(66655).map,a=t(52183),s=a("map");n({target:"Array",proto:!0,forced:!s},{map:function(f){return e(this,f,arguments.length>1?arguments[1]:void 0)}})},69581:function(u,h,t){var n=t(14304),e=t(72069),a=t(11051),s=t(84082),i=Array,f=e(function(){function c(){}return!(i.of.call(c)instanceof c)});n({target:"Array",stat:!0,forced:f},{of:function(){for(var v=0,d=arguments.length,p=new(a(this)?this:i)(d);d>v;)s(p,v,arguments[v++]);return p.length=d,p}})},720:function(u,h,t){var n=t(14304),e=t(49671),a=t(82628),s=t(2213),i=t(20095),f=t(72069),c=f(function(){return[].push.call({length:4294967296},1)!==4294967297}),v=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(p){return p instanceof TypeError}},d=c||!v();n({target:"Array",proto:!0,arity:1,forced:d},{push:function(y){var m=e(this),S=a(m),I=arguments.length;i(S+I);for(var E=0;E79&&s<83,c=f||!a("reduceRight");n({target:"Array",proto:!0,forced:c},{reduceRight:function(d){return e(this,d,arguments.length,arguments.length>1?arguments[1]:void 0)}})},11042:function(u,h,t){var n=t(14304),e=t(97264).left,a=t(6148),s=t(44241),i=t(91707),f=!i&&s>79&&s<83,c=f||!a("reduce");n({target:"Array",proto:!0,forced:c},{reduce:function(d){var p=arguments.length;return e(this,d,p,p>1?arguments[1]:void 0)}})},24608:function(u,h,t){var n=t(14304),e=t(11286),a=t(3438),s=e([].reverse),i=[1,2];n({target:"Array",proto:!0,forced:String(i)===String(i.reverse())},{reverse:function(){return a(this)&&(this.length=this.length),s(this)}})},51644:function(u,h,t){var n=t(14304),e=t(3438),a=t(11051),s=t(37540),i=t(4652),f=t(82628),c=t(36859),v=t(84082),d=t(18565),p=t(52183),y=t(22806),m=p("slice"),S=d("species"),I=Array,E=Math.max;n({target:"Array",proto:!0,forced:!m},{slice:function(N,P){var C=c(this),b=f(C),A=i(N,b),M=i(P===void 0?b:P,b),F,B,U;if(e(C)&&(F=C.constructor,a(F)&&(F===I||e(F.prototype))?F=void 0:s(F)&&(F=F[S],F===null&&(F=void 0)),F===I||F===void 0))return y(C,A,M);for(B=new(F===void 0?I:F)(E(M-A,0)),U=0;A1?arguments[1]:void 0)}})},46828:function(u,h,t){var n=t(14304),e=t(11286),a=t(85156),s=t(49671),i=t(82628),f=t(12384),c=t(17361),v=t(72069),d=t(13270),p=t(6148),y=t(507),m=t(17417),S=t(44241),I=t(66577),E=[],T=e(E.sort),N=e(E.push),P=v(function(){E.sort(void 0)}),C=v(function(){E.sort(null)}),b=p("sort"),A=!v(function(){if(S)return S<70;if(!(y&&y>3)){if(m)return!0;if(I)return I<603;var B="",U,j,W,z;for(U=65;U<76;U++){switch(j=String.fromCharCode(U),U){case 66:case 69:case 70:case 72:W=3;break;case 68:case 71:W=4;break;default:W=2}for(z=0;z<47;z++)E.push({k:j+z,v:W})}for(E.sort(function(w,G){return G.v-w.v}),z=0;zc(j)?1:-1}};n({target:"Array",proto:!0,forced:M},{sort:function(U){U!==void 0&&a(U);var j=s(this);if(A)return U===void 0?T(j):T(j,U);var W=[],z=i(j),w,G;for(G=0;GC-F+M;U--)p(P,U-1)}else if(M>F)for(U=C-F;U>b;U--)j=U+F-1,W=U+M-1,j in P?P[W]=P[j]:p(P,W);for(U=0;U=0&&d<=99?d+1900:d;return f(this,p)}})},33685:function(u,h,t){var n=t(14304);n({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString})},60086:function(u,h,t){var n=t(14304),e=t(11890);n({target:"Date",proto:!0,forced:Date.prototype.toISOString!==e},{toISOString:e})},96049:function(u,h,t){var n=t(14304),e=t(72069),a=t(49671),s=t(89935),i=e(function(){return new Date(NaN).toJSON()!==null||Date.prototype.toJSON.call({toISOString:function(){return 1}})!==1});n({target:"Date",proto:!0,arity:1,forced:i},{toJSON:function(c){var v=a(this),d=s(v,"number");return typeof d=="number"&&!isFinite(d)?null:v.toISOString()}})},14038:function(u,h,t){var n=t(94879),e=t(16142),a=t(84306),s=t(18565),i=s("toPrimitive"),f=Date.prototype;n(f,i)||e(f,i,a)},55518:function(u,h,t){var n=t(11286),e=t(16142),a=Date.prototype,s="Invalid Date",i="toString",f=n(a[i]),c=n(a.getTime);String(new Date(NaN))!==s&&e(a,i,function(){var d=c(this);return d===d?f(this):s})},81742:function(u,h,t){var n=t(14304),e=t(34246),a=t(66543),s=t(70003),i="WebAssembly",f=e[i],c=new Error("e",{cause:7}).cause!==7,v=function(p,y){var m={};m[p]=s(p,y,c),n({global:!0,constructor:!0,arity:1,forced:c},m)},d=function(p,y){if(f&&f[p]){var m={};m[p]=s(i+"."+p,y,c),n({target:i,stat:!0,constructor:!0,arity:1,forced:c},m)}};v("Error",function(p){return function(m){return a(p,this,arguments)}}),v("EvalError",function(p){return function(m){return a(p,this,arguments)}}),v("RangeError",function(p){return function(m){return a(p,this,arguments)}}),v("ReferenceError",function(p){return function(m){return a(p,this,arguments)}}),v("SyntaxError",function(p){return function(m){return a(p,this,arguments)}}),v("TypeError",function(p){return function(m){return a(p,this,arguments)}}),v("URIError",function(p){return function(m){return a(p,this,arguments)}}),d("CompileError",function(p){return function(m){return a(p,this,arguments)}}),d("LinkError",function(p){return function(m){return a(p,this,arguments)}}),d("RuntimeError",function(p){return function(m){return a(p,this,arguments)}})},8720:function(u,h,t){var n=t(16142),e=t(58434),a=Error.prototype;a.toString!==e&&n(a,"toString",e)},8894:function(u,h,t){var n=t(14304),e=t(11286),a=t(17361),s=e("".charAt),i=e("".charCodeAt),f=e(/./.exec),c=e(1 .toString),v=e("".toUpperCase),d=/[\w*+\-./@]/,p=function(y,m){for(var S=c(y,16);S.length9490626562425156e-8?s(p)+f:e(p-1+i(p-1)*i(p+1))}})},15656:function(u,h,t){var n=t(14304),e=Math.asinh,a=Math.log,s=Math.sqrt;function i(c){var v=+c;return!isFinite(v)||v===0?v:v<0?-i(-v):a(v+s(v*v+1))}var f=!(e&&1/e(0)>0);n({target:"Math",stat:!0,forced:f},{asinh:i})},22091:function(u,h,t){var n=t(14304),e=Math.atanh,a=Math.log,s=!(e&&1/e(-0)<0);n({target:"Math",stat:!0,forced:s},{atanh:function(f){var c=+f;return c===0?c:a((1+c)/(1-c))/2}})},2886:function(u,h,t){var n=t(14304),e=t(93976),a=Math.abs,s=Math.pow;n({target:"Math",stat:!0},{cbrt:function(f){var c=+f;return e(c)*s(a(c),.3333333333333333)}})},25895:function(u,h,t){var n=t(14304),e=Math.floor,a=Math.log,s=Math.LOG2E;n({target:"Math",stat:!0},{clz32:function(f){var c=f>>>0;return c?31-e(a(c+.5)*s):32}})},24228:function(u,h,t){var n=t(14304),e=t(98940),a=Math.cosh,s=Math.abs,i=Math.E,f=!a||a(710)===1/0;n({target:"Math",stat:!0,forced:f},{cosh:function(v){var d=e(s(v)-1)+1;return(d+1/(d*i*i))*(i/2)}})},79488:function(u,h,t){var n=t(14304),e=t(98940);n({target:"Math",stat:!0,forced:e!==Math.expm1},{expm1:e})},75987:function(u,h,t){var n=t(14304),e=t(93279);n({target:"Math",stat:!0},{fround:e})},81555:function(u,h,t){var n=t(14304),e=Math.hypot,a=Math.abs,s=Math.sqrt,i=!!e&&e(1/0,NaN)!==1/0;n({target:"Math",stat:!0,arity:2,forced:i},{hypot:function(c,v){for(var d=0,p=0,y=arguments.length,m=0,S,I;p0?(I=S/m,d+=I*I):d+=S;return m===1/0?1/0:m*s(d)}})},87854:function(u,h,t){var n=t(14304),e=t(72069),a=Math.imul,s=e(function(){return a(4294967295,5)!==-5||a.length!==2});n({target:"Math",stat:!0,forced:s},{imul:function(f,c){var v=65535,d=+f,p=+c,y=v&d,m=v&p;return 0|y*m+((v&d>>>16)*m+y*(v&p>>>16)<<16>>>0)}})},35074:function(u,h,t){var n=t(14304),e=t(41942);n({target:"Math",stat:!0},{log10:e})},50946:function(u,h,t){var n=t(14304),e=t(49366);n({target:"Math",stat:!0},{log1p:e})},29417:function(u,h,t){var n=t(14304),e=Math.log,a=Math.LN2;n({target:"Math",stat:!0},{log2:function(i){return e(i)/a}})},80628:function(u,h,t){var n=t(14304),e=t(93976);n({target:"Math",stat:!0},{sign:e})},74375:function(u,h,t){var n=t(14304),e=t(72069),a=t(98940),s=Math.abs,i=Math.exp,f=Math.E,c=e(function(){return Math.sinh(-2e-17)!==-2e-17});n({target:"Math",stat:!0,forced:c},{sinh:function(d){var p=+d;return s(p)<1?(a(p)-a(-p))/2:(i(p-1)-i(-p-1))*(f/2)}})},29708:function(u,h,t){var n=t(14304),e=t(98940),a=Math.exp;n({target:"Math",stat:!0},{tanh:function(i){var f=+i,c=e(f),v=e(-f);return c===1/0?1:v===1/0?-1:(c-v)/(a(f)+a(-f))}})},93449:function(u,h,t){var n=t(78401);n(Math,"Math",!0)},9111:function(u,h,t){var n=t(14304),e=t(22459);n({target:"Math",stat:!0},{trunc:e})},83514:function(u,h,t){var n=t(14304),e=t(70457),a=t(92986),s=t(34246),i=t(75081),f=t(11286),c=t(13278),v=t(94879),d=t(32345),p=t(95307),y=t(491),m=t(89935),S=t(72069),I=t(83258).f,E=t(71349).f,T=t(7831).f,N=t(34338),P=t(85900).trim,C="Number",b=s[C],A=i[C],M=b.prototype,F=s.TypeError,B=f("".slice),U=f("".charCodeAt),j=function(X){var tt=m(X,"number");return typeof tt=="bigint"?tt:W(tt)},W=function(X){var tt=m(X,"number"),q,rt,Z,mt,ht,xt,Rt,Nt;if(y(tt))throw new F("Cannot convert a Symbol value to a number");if(typeof tt=="string"&&tt.length>2){if(tt=P(tt),q=U(tt,0),q===43||q===45){if(rt=U(tt,2),rt===88||rt===120)return NaN}else if(q===48){switch(U(tt,1)){case 66:case 98:Z=2,mt=49;break;case 79:case 111:Z=8,mt=55;break;default:return+tt}for(ht=B(tt,2),xt=ht.length,Rt=0;Rtmt)return NaN;return parseInt(ht,Z)}}return+tt},z=c(C,!b(" 0o1")||!b("0b1")||b("+0x1")),w=function(X){return p(M,X)&&S(function(){N(X)})},G=function(tt){var q=arguments.length<1?0:b(j(tt));return w(this)?d(Object(q),this,G):q};G.prototype=M,z&&!e&&(M.constructor=G),n({global:!0,constructor:!0,wrap:!0,forced:z},{Number:G});var V=function(X,tt){for(var q=a?I(tt):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),rt=0,Z;q.length>rt;rt++)v(tt,Z=q[rt])&&!v(X,Z)&&T(X,Z,E(tt,Z))};e&&A&&V(i[C],A),(z||e)&&V(i[C],b)},15096:function(u,h,t){var n=t(14304);n({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},59590:function(u,h,t){var n=t(14304),e=t(98074);n({target:"Number",stat:!0},{isFinite:e})},99663:function(u,h,t){var n=t(14304),e=t(613);n({target:"Number",stat:!0},{isInteger:e})},89988:function(u,h,t){var n=t(14304);n({target:"Number",stat:!0},{isNaN:function(a){return a!==a}})},54427:function(u,h,t){var n=t(14304),e=t(613),a=Math.abs;n({target:"Number",stat:!0},{isSafeInteger:function(i){return e(i)&&a(i)<=9007199254740991}})},67895:function(u,h,t){var n=t(14304);n({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},57909:function(u,h,t){var n=t(14304);n({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},83938:function(u,h,t){var n=t(14304),e=t(25838);n({target:"Number",stat:!0,forced:Number.parseFloat!==e},{parseFloat:e})},55461:function(u,h,t){var n=t(14304),e=t(23009);n({target:"Number",stat:!0,forced:Number.parseInt!==e},{parseInt:e})},97339:function(u,h,t){var n=t(14304),e=t(11286),a=t(12105),s=t(34338),i=t(79719),f=t(41942),c=t(72069),v=RangeError,d=String,p=isFinite,y=Math.abs,m=Math.floor,S=Math.pow,I=Math.round,E=e(1 .toExponential),T=e(i),N=e("".slice),P=E(-69e-12,4)==="-6.9000e-11"&&E(1.255,2)==="1.25e+0"&&E(12345,3)==="1.235e+4"&&E(25,0)==="3e+1",C=function(){return c(function(){E(1,1/0)})&&c(function(){E(1,-1/0)})},b=function(){return!c(function(){E(1/0,1/0),E(NaN,1/0)})},A=!P||!C()||!b();n({target:"Number",proto:!0,forced:A},{toExponential:function(F){var B=s(this);if(F===void 0)return E(B);var U=a(F);if(!p(B))return String(B);if(U<0||U>20)throw new v("Incorrect fraction digits");if(P)return E(B,U);var j="",W,z,w,G;if(B<0&&(j="-",B=-B),B===0)z=0,W=T("0",U+1);else{var V=f(B);z=m(V);var X=S(10,z-U),tt=I(B/X);2*B>=(2*tt+1)*X&&(tt+=1),tt>=S(10,U+1)&&(tt/=10,z+=1),W=d(tt)}return U!==0&&(W=N(W,0,1)+"."+N(W,1)),z===0?(w="+",G="0"):(w=z>0?"+":"-",G=d(y(z))),W+="e"+w+G,j+W}})},3670:function(u,h,t){var n=t(14304),e=t(11286),a=t(12105),s=t(34338),i=t(79719),f=t(72069),c=RangeError,v=String,d=Math.floor,p=e(i),y=e("".slice),m=e(1 .toFixed),S=function(C,b,A){return b===0?A:b%2===1?S(C,b-1,A*C):S(C*C,b/2,A)},I=function(C){for(var b=0,A=C;A>=4096;)b+=12,A/=4096;for(;A>=2;)b+=1,A/=2;return b},E=function(C,b,A){for(var M=-1,F=A;++M<6;)F+=b*C[M],C[M]=F%1e7,F=d(F/1e7)},T=function(C,b){for(var A=6,M=0;--A>=0;)M+=C[A],C[A]=d(M/b),M=M%b*1e7},N=function(C){for(var b=6,A="";--b>=0;)if(A!==""||b===0||C[b]!==0){var M=v(C[b]);A=A===""?M:A+p("0",7-M.length)+M}return A},P=f(function(){return m(8e-5,3)!=="0.000"||m(.9,0)!=="1"||m(1.255,2)!=="1.25"||m(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!f(function(){m({})});n({target:"Number",proto:!0,forced:P},{toFixed:function(b){var A=s(this),M=a(b),F=[0,0,0,0,0,0],B="",U="0",j,W,z,w;if(M<0||M>20)throw new c("Incorrect fraction digits");if(A!==A)return"NaN";if(A<=-1e21||A>=1e21)return v(A);if(A<0&&(B="-",A=-A),A>1e-21)if(j=I(A*S(2,69,1))-69,W=j<0?A*S(2,-j,1):A/S(2,j,1),W*=4503599627370496,j=52-j,j>0){for(E(F,0,W),z=M;z>=7;)E(F,1e7,0),z-=7;for(E(F,S(10,z,1),0),z=j-1;z>=23;)T(F,8388608),z-=23;T(F,1<0?(w=U.length,U=B+(w<=M?"0."+p("0",M-w)+U:y(U,0,w-M)+"."+y(U,w-M))):U=B+U,U}})},15224:function(u,h,t){var n=t(14304),e=t(11286),a=t(72069),s=t(34338),i=e(1 .toPrecision),f=a(function(){return i(1,void 0)!=="1"})||!a(function(){i({})});n({target:"Number",proto:!0,forced:f},{toPrecision:function(v){return v===void 0?i(s(this)):i(s(this),v)}})},45891:function(u,h,t){var n=t(14304),e=t(16667);n({target:"Object",stat:!0,arity:2,forced:Object.assign!==e},{assign:e})},99910:function(u,h,t){var n=t(14304),e=t(92986),a=t(5406);n({target:"Object",stat:!0,sham:!e},{create:a})},92445:function(u,h,t){var n=t(14304),e=t(92986),a=t(57629),s=t(85156),i=t(49671),f=t(7831);e&&n({target:"Object",proto:!0,forced:a},{__defineGetter__:function(v,d){f.f(i(this),v,{get:s(d),enumerable:!0,configurable:!0})}})},21875:function(u,h,t){var n=t(14304),e=t(92986),a=t(61963).f;n({target:"Object",stat:!0,forced:Object.defineProperties!==a,sham:!e},{defineProperties:a})},4383:function(u,h,t){var n=t(14304),e=t(92986),a=t(7831).f;n({target:"Object",stat:!0,forced:Object.defineProperty!==a,sham:!e},{defineProperty:a})},11361:function(u,h,t){var n=t(14304),e=t(92986),a=t(57629),s=t(85156),i=t(49671),f=t(7831);e&&n({target:"Object",proto:!0,forced:a},{__defineSetter__:function(v,d){f.f(i(this),v,{set:s(d),enumerable:!0,configurable:!0})}})},13728:function(u,h,t){var n=t(14304),e=t(8511).entries;n({target:"Object",stat:!0},{entries:function(s){return e(s)}})},14885:function(u,h,t){var n=t(14304),e=t(27534),a=t(72069),s=t(37540),i=t(31853).onFreeze,f=Object.freeze,c=a(function(){f(1)});n({target:"Object",stat:!0,forced:c,sham:!e},{freeze:function(d){return f&&s(d)?f(i(d)):d}})},30343:function(u,h,t){var n=t(14304),e=t(55902),a=t(84082);n({target:"Object",stat:!0},{fromEntries:function(i){var f={};return e(i,function(c,v){a(f,c,v)},{AS_ENTRIES:!0}),f}})},22045:function(u,h,t){var n=t(14304),e=t(72069),a=t(36859),s=t(71349).f,i=t(92986),f=!i||e(function(){s(1)});n({target:"Object",stat:!0,forced:f,sham:!i},{getOwnPropertyDescriptor:function(v,d){return s(a(v),d)}})},75e3:function(u,h,t){var n=t(14304),e=t(92986),a=t(16885),s=t(36859),i=t(71349),f=t(84082);n({target:"Object",stat:!0,sham:!e},{getOwnPropertyDescriptors:function(v){for(var d=s(v),p=i.f,y=a(d),m={},S=0,I,E;y.length>S;)E=p(d,I=y[S++]),E!==void 0&&f(m,I,E);return m}})},64658:function(u,h,t){var n=t(14304),e=t(72069),a=t(92880).f,s=e(function(){return!Object.getOwnPropertyNames(1)});n({target:"Object",stat:!0,forced:s},{getOwnPropertyNames:a})},45223:function(u,h,t){var n=t(14304),e=t(39729),a=t(72069),s=t(24943),i=t(49671),f=!e||a(function(){s.f(1)});n({target:"Object",stat:!0,forced:f},{getOwnPropertySymbols:function(v){var d=s.f;return d?d(i(v)):[]}})},16017:function(u,h,t){var n=t(14304),e=t(72069),a=t(49671),s=t(26313),i=t(87501),f=e(function(){s(1)});n({target:"Object",stat:!0,forced:f,sham:!i},{getPrototypeOf:function(v){return s(a(v))}})},84681:function(u,h,t){var n=t(14304),e=t(38941),a=t(11286),s=t(85156),i=t(2068),f=t(50035),c=t(55902),v=t(72069),d=Object.groupBy,p=e("Object","create"),y=a([].push),m=!d||v(function(){return d("ab",function(S){return S}).a.length!==1});n({target:"Object",stat:!0,forced:m},{groupBy:function(I,E){i(I),s(E);var T=p(null),N=0;return c(I,function(P){var C=f(E(P,N++));C in T?y(T[C],P):T[C]=[P]}),T}})},73421:function(u,h,t){var n=t(14304),e=t(94879);n({target:"Object",stat:!0},{hasOwn:e})},31046:function(u,h,t){var n=t(14304),e=t(28174);n({target:"Object",stat:!0,forced:Object.isExtensible!==e},{isExtensible:e})},94645:function(u,h,t){var n=t(14304),e=t(72069),a=t(37540),s=t(14274),i=t(72058),f=Object.isFrozen,c=i||e(function(){f(1)});n({target:"Object",stat:!0,forced:c},{isFrozen:function(d){return!a(d)||i&&s(d)==="ArrayBuffer"?!0:f?f(d):!1}})},62935:function(u,h,t){var n=t(14304),e=t(72069),a=t(37540),s=t(14274),i=t(72058),f=Object.isSealed,c=i||e(function(){f(1)});n({target:"Object",stat:!0,forced:c},{isSealed:function(d){return!a(d)||i&&s(d)==="ArrayBuffer"?!0:f?f(d):!1}})},93446:function(u,h,t){var n=t(14304),e=t(13944);n({target:"Object",stat:!0},{is:e})},62518:function(u,h,t){var n=t(14304),e=t(49671),a=t(18350),s=t(72069),i=s(function(){a(1)});n({target:"Object",stat:!0,forced:i},{keys:function(c){return a(e(c))}})},45130:function(u,h,t){var n=t(14304),e=t(92986),a=t(57629),s=t(49671),i=t(50035),f=t(26313),c=t(71349).f;e&&n({target:"Object",proto:!0,forced:a},{__lookupGetter__:function(d){var p=s(this),y=i(d),m;do if(m=c(p,y))return m.get;while(p=f(p))}})},51542:function(u,h,t){var n=t(14304),e=t(92986),a=t(57629),s=t(49671),i=t(50035),f=t(26313),c=t(71349).f;e&&n({target:"Object",proto:!0,forced:a},{__lookupSetter__:function(d){var p=s(this),y=i(d),m;do if(m=c(p,y))return m.set;while(p=f(p))}})},43781:function(u,h,t){var n=t(14304),e=t(37540),a=t(31853).onFreeze,s=t(27534),i=t(72069),f=Object.preventExtensions,c=i(function(){f(1)});n({target:"Object",stat:!0,forced:c,sham:!s},{preventExtensions:function(d){return f&&e(d)?f(a(d)):d}})},25738:function(u,h,t){var n=t(92986),e=t(85500),a=t(37540),s=t(52427),i=t(49671),f=t(2068),c=Object.getPrototypeOf,v=Object.setPrototypeOf,d=Object.prototype,p="__proto__";if(n&&c&&v&&!(p in d))try{e(d,p,{configurable:!0,get:function(){return c(i(this))},set:function(m){var S=f(this);s(m)&&a(S)&&v(S,m)}})}catch(y){}},93247:function(u,h,t){var n=t(14304),e=t(37540),a=t(31853).onFreeze,s=t(27534),i=t(72069),f=Object.seal,c=i(function(){f(1)});n({target:"Object",stat:!0,forced:c,sham:!s},{seal:function(d){return f&&e(d)?f(a(d)):d}})},41533:function(u,h,t){var n=t(14304),e=t(15861);n({target:"Object",stat:!0},{setPrototypeOf:e})},60225:function(u,h,t){var n=t(67878),e=t(16142),a=t(60105);n||e(Object.prototype,"toString",a,{unsafe:!0})},69920:function(u,h,t){var n=t(14304),e=t(8511).values;n({target:"Object",stat:!0},{values:function(s){return e(s)}})},89205:function(u,h,t){var n=t(14304),e=t(25838);n({global:!0,forced:parseFloat!==e},{parseFloat:e})},78546:function(u,h,t){var n=t(14304),e=t(23009);n({global:!0,forced:parseInt!==e},{parseInt:e})},16893:function(u,h,t){var n=t(14304),e=t(96499),a=t(85156),s=t(24649),i=t(67805),f=t(55902),c=t(26035);n({target:"Promise",stat:!0,forced:c},{allSettled:function(d){var p=this,y=s.f(p),m=y.resolve,S=y.reject,I=i(function(){var E=a(p.resolve),T=[],N=0,P=1;f(d,function(C){var b=N++,A=!1;P++,e(E,p,C).then(function(M){A||(A=!0,T[b]={status:"fulfilled",value:M},--P||m(T))},function(M){A||(A=!0,T[b]={status:"rejected",reason:M},--P||m(T))})}),--P||m(T)});return I.error&&S(I.value),y.promise}})},11733:function(u,h,t){var n=t(14304),e=t(96499),a=t(85156),s=t(24649),i=t(67805),f=t(55902),c=t(26035);n({target:"Promise",stat:!0,forced:c},{all:function(d){var p=this,y=s.f(p),m=y.resolve,S=y.reject,I=i(function(){var E=a(p.resolve),T=[],N=0,P=1;f(d,function(C){var b=N++,A=!1;P++,e(E,p,C).then(function(M){A||(A=!0,T[b]=M,--P||m(T))},S)}),--P||m(T)});return I.error&&S(I.value),y.promise}})},3676:function(u,h,t){var n=t(14304),e=t(96499),a=t(85156),s=t(38941),i=t(24649),f=t(67805),c=t(55902),v=t(26035),d="No one promise resolved";n({target:"Promise",stat:!0,forced:v},{any:function(y){var m=this,S=s("AggregateError"),I=i.f(m),E=I.resolve,T=I.reject,N=f(function(){var P=a(m.resolve),C=[],b=0,A=1,M=!1;c(y,function(F){var B=b++,U=!1;A++,e(P,m,F).then(function(j){U||M||(M=!0,E(j))},function(j){U||M||(U=!0,C[B]=j,--A||T(new S(C,d)))})}),--A||T(new S(C,d))});return N.error&&T(N.value),I.promise}})},14013:function(u,h,t){var n=t(14304),e=t(70457),a=t(37130).CONSTRUCTOR,s=t(98844),i=t(38941),f=t(23583),c=t(16142),v=s&&s.prototype;if(n({target:"Promise",proto:!0,forced:a,real:!0},{catch:function(p){return this.then(void 0,p)}}),!e&&f(s)){var d=i("Promise").prototype.catch;v.catch!==d&&c(v,"catch",d,{unsafe:!0})}},20238:function(u,h,t){var n=t(14304),e=t(70457),a=t(91707),s=t(34246),i=t(96499),f=t(16142),c=t(15861),v=t(78401),d=t(36167),p=t(85156),y=t(23583),m=t(37540),S=t(12833),I=t(16887),E=t(23115).set,T=t(9709),N=t(99095),P=t(67805),C=t(76895),b=t(82367),A=t(98844),M=t(37130),F=t(24649),B="Promise",U=M.CONSTRUCTOR,j=M.REJECTION_EVENT,W=M.SUBCLASSING,z=b.getterFor(B),w=b.set,G=A&&A.prototype,V=A,X=G,tt=s.TypeError,q=s.document,rt=s.process,Z=F.f,mt=Z,ht=!!(q&&q.createEvent&&s.dispatchEvent),xt="unhandledrejection",Rt="rejectionhandled",Nt=0,Jt=1,Xt=2,jt=1,vt=2,Et,$t,Bt,Ft,Vt=function(nt){var Mt;return m(nt)&&y(Mt=nt.then)?Mt:!1},nr=function(nt,Mt){var bt=Mt.value,At=Mt.state===Jt,Tt=At?nt.ok:nt.fail,ur=nt.resolve,vr=nt.reject,Q=nt.domain,ot,lt,st;try{Tt?(At||(Mt.rejection===vt&&Qt(Mt),Mt.rejection=jt),Tt===!0?ot=bt:(Q&&Q.enter(),ot=Tt(bt),Q&&(Q.exit(),st=!0)),ot===nt.promise?vr(new tt("Promise-chain cycle")):(lt=Vt(ot))?i(lt,ot,ur,vr):ur(ot)):vr(bt)}catch(yt){Q&&!st&&Q.exit(),vr(yt)}},tr=function(nt,Mt){nt.notified||(nt.notified=!0,T(function(){for(var bt=nt.reactions,At;At=bt.get();)nr(At,nt);nt.notified=!1,Mt&&!nt.rejection&&Ht(nt)}))},Zt=function(nt,Mt,bt){var At,Tt;ht?(At=q.createEvent("Event"),At.promise=Mt,At.reason=bt,At.initEvent(nt,!1,!0),s.dispatchEvent(At)):At={promise:Mt,reason:bt},!j&&(Tt=s["on"+nt])?Tt(At):nt===xt&&N("Unhandled promise rejection",bt)},Ht=function(nt){i(E,s,function(){var Mt=nt.facade,bt=nt.value,At=rr(nt),Tt;if(At&&(Tt=P(function(){a?rt.emit("unhandledRejection",bt,Mt):Zt(xt,Mt,bt)}),nt.rejection=a||rr(nt)?vt:jt,Tt.error))throw Tt.value})},rr=function(nt){return nt.rejection!==jt&&!nt.parent},Qt=function(nt){i(E,s,function(){var Mt=nt.facade;a?rt.emit("rejectionHandled",Mt):Zt(Rt,Mt,nt.value)})},wt=function(nt,Mt,bt){return function(At){nt(Mt,At,bt)}},ft=function(nt,Mt,bt){nt.done||(nt.done=!0,bt&&(nt=bt),nt.value=Mt,nt.state=Xt,tr(nt,!0))},ct=function(nt,Mt,bt){if(!nt.done){nt.done=!0,bt&&(nt=bt);try{if(nt.facade===Mt)throw new tt("Promise can't be resolved itself");var At=Vt(Mt);At?T(function(){var Tt={done:!1};try{i(At,Mt,wt(ct,Tt,nt),wt(ft,Tt,nt))}catch(ur){ft(Tt,ur,nt)}}):(nt.value=Mt,nt.state=Jt,tr(nt,!1))}catch(Tt){ft({done:!1},Tt,nt)}}};if(U&&(V=function(Mt){S(this,X),p(Mt),i(Et,this);var bt=z(this);try{Mt(wt(ct,bt),wt(ft,bt))}catch(At){ft(bt,At)}},X=V.prototype,Et=function(Mt){w(this,{type:B,done:!1,notified:!1,parent:!1,reactions:new C,rejection:!1,state:Nt,value:null})},Et.prototype=f(X,"then",function(Mt,bt){var At=z(this),Tt=Z(I(this,V));return At.parent=!0,Tt.ok=y(Mt)?Mt:!0,Tt.fail=y(bt)&&bt,Tt.domain=a?rt.domain:void 0,At.state===Nt?At.reactions.add(Tt):T(function(){nr(Tt,At)}),Tt.promise}),$t=function(){var nt=new Et,Mt=z(nt);this.promise=nt,this.resolve=wt(ct,Mt),this.reject=wt(ft,Mt)},F.f=Z=function(nt){return nt===V||nt===Bt?new $t(nt):mt(nt)},!e&&y(A)&&G!==Object.prototype)){Ft=G.then,W||f(G,"then",function(Mt,bt){var At=this;return new V(function(Tt,ur){i(Ft,At,Tt,ur)}).then(Mt,bt)},{unsafe:!0});try{delete G.constructor}catch(nt){}c&&c(G,X)}n({global:!0,constructor:!0,wrap:!0,forced:U},{Promise:V}),v(V,B,!1,!0),d(B)},58361:function(u,h,t){var n=t(14304),e=t(70457),a=t(98844),s=t(72069),i=t(38941),f=t(23583),c=t(16887),v=t(87408),d=t(16142),p=a&&a.prototype,y=!!a&&s(function(){p.finally.call({then:function(){}},function(){})});if(n({target:"Promise",proto:!0,real:!0,forced:y},{finally:function(S){var I=c(this,i("Promise")),E=f(S);return this.then(E?function(T){return v(I,S()).then(function(){return T})}:S,E?function(T){return v(I,S()).then(function(){throw T})}:S)}}),!e&&f(a)){var m=i("Promise").prototype.finally;p.finally!==m&&d(p,"finally",m,{unsafe:!0})}},63616:function(u,h,t){t(20238),t(11733),t(14013),t(3037),t(36027),t(97282)},3037:function(u,h,t){var n=t(14304),e=t(96499),a=t(85156),s=t(24649),i=t(67805),f=t(55902),c=t(26035);n({target:"Promise",stat:!0,forced:c},{race:function(d){var p=this,y=s.f(p),m=y.reject,S=i(function(){var I=a(p.resolve);f(d,function(E){e(I,p,E).then(y.resolve,m)})});return S.error&&m(S.value),y.promise}})},36027:function(u,h,t){var n=t(14304),e=t(24649),a=t(37130).CONSTRUCTOR;n({target:"Promise",stat:!0,forced:a},{reject:function(i){var f=e.f(this),c=f.reject;return c(i),f.promise}})},97282:function(u,h,t){var n=t(14304),e=t(38941),a=t(70457),s=t(98844),i=t(37130).CONSTRUCTOR,f=t(87408),c=e("Promise"),v=a&&!i;n({target:"Promise",stat:!0,forced:a||i},{resolve:function(p){return f(v&&this===c?s:this,p)}})},7487:function(u,h,t){var n=t(14304),e=t(34246),a=t(66543),s=t(22806),i=t(24649),f=t(85156),c=t(67805),v=e.Promise,d=!1,p=!v||!v.try||c(function(){v.try(function(y){d=y===8},8)}).error||!d;n({target:"Promise",stat:!0,forced:p},{try:function(y){var m=arguments.length>1?s(arguments,1):[],S=i.f(this),I=c(function(){return a(f(y),void 0,m)});return(I.error?S.reject:S.resolve)(I.value),S.promise}})},23958:function(u,h,t){var n=t(14304),e=t(24649);n({target:"Promise",stat:!0},{withResolvers:function(){var s=e.f(this);return{promise:s.promise,resolve:s.resolve,reject:s.reject}}})},9798:function(u,h,t){var n=t(14304),e=t(66543),a=t(85156),s=t(25001),i=t(72069),f=!i(function(){Reflect.apply(function(){})});n({target:"Reflect",stat:!0,forced:f},{apply:function(v,d,p){return e(a(v),d,s(p))}})},2371:function(u,h,t){var n=t(14304),e=t(38941),a=t(66543),s=t(91384),i=t(80042),f=t(25001),c=t(37540),v=t(5406),d=t(72069),p=e("Reflect","construct"),y=Object.prototype,m=[].push,S=d(function(){function T(){}return!(p(function(){},[],T)instanceof T)}),I=!d(function(){p(function(){})}),E=S||I;n({target:"Reflect",stat:!0,forced:E,sham:E},{construct:function(N,P){i(N),f(P);var C=arguments.length<3?N:i(arguments[2]);if(I&&!S)return p(N,P,C);if(N===C){switch(P.length){case 0:return new N;case 1:return new N(P[0]);case 2:return new N(P[0],P[1]);case 3:return new N(P[0],P[1],P[2]);case 4:return new N(P[0],P[1],P[2],P[3])}var b=[null];return a(m,b,P),new(a(s,N,b))}var A=C.prototype,M=v(c(A)?A:y),F=a(N,M,P);return c(F)?F:M}})},76185:function(u,h,t){var n=t(14304),e=t(92986),a=t(25001),s=t(50035),i=t(7831),f=t(72069),c=f(function(){Reflect.defineProperty(i.f({},1,{value:1}),1,{value:2})});n({target:"Reflect",stat:!0,forced:c,sham:!e},{defineProperty:function(d,p,y){a(d);var m=s(p);a(y);try{return i.f(d,m,y),!0}catch(S){return!1}}})},76553:function(u,h,t){var n=t(14304),e=t(25001),a=t(71349).f;n({target:"Reflect",stat:!0},{deleteProperty:function(i,f){var c=a(e(i),f);return c&&!c.configurable?!1:delete i[f]}})},25227:function(u,h,t){var n=t(14304),e=t(92986),a=t(25001),s=t(71349);n({target:"Reflect",stat:!0,sham:!e},{getOwnPropertyDescriptor:function(f,c){return s.f(a(f),c)}})},91723:function(u,h,t){var n=t(14304),e=t(25001),a=t(26313),s=t(87501);n({target:"Reflect",stat:!0,sham:!s},{getPrototypeOf:function(f){return a(e(f))}})},93518:function(u,h,t){var n=t(14304),e=t(96499),a=t(37540),s=t(25001),i=t(69745),f=t(71349),c=t(26313);function v(d,p){var y=arguments.length<3?d:arguments[2],m,S;if(s(d)===y)return d[p];if(m=f.f(d,p),m)return i(m)?m.value:m.get===void 0?void 0:e(m.get,y);if(a(S=c(d)))return v(S,p,y)}n({target:"Reflect",stat:!0},{get:v})},57882:function(u,h,t){var n=t(14304);n({target:"Reflect",stat:!0},{has:function(a,s){return s in a}})},37796:function(u,h,t){var n=t(14304),e=t(25001),a=t(28174);n({target:"Reflect",stat:!0},{isExtensible:function(i){return e(i),a(i)}})},11563:function(u,h,t){var n=t(14304),e=t(16885);n({target:"Reflect",stat:!0},{ownKeys:e})},26159:function(u,h,t){var n=t(14304),e=t(38941),a=t(25001),s=t(27534);n({target:"Reflect",stat:!0,sham:!s},{preventExtensions:function(f){a(f);try{var c=e("Object","preventExtensions");return c&&c(f),!0}catch(v){return!1}}})},77487:function(u,h,t){var n=t(14304),e=t(25001),a=t(53408),s=t(15861);s&&n({target:"Reflect",stat:!0},{setPrototypeOf:function(f,c){e(f),a(c);try{return s(f,c),!0}catch(v){return!1}}})},20962:function(u,h,t){var n=t(14304),e=t(96499),a=t(25001),s=t(37540),i=t(69745),f=t(72069),c=t(7831),v=t(71349),d=t(26313),p=t(18526);function y(S,I,E){var T=arguments.length<4?S:arguments[3],N=v.f(a(S),I),P,C,b;if(!N){if(s(C=d(S)))return y(C,I,E,T);N=p(0)}if(i(N)){if(N.writable===!1||!s(T))return!1;if(P=v.f(T,I)){if(P.get||P.set||P.writable===!1)return!1;P.value=E,c.f(T,I,P)}else c.f(T,I,p(0,E))}else{if(b=N.set,b===void 0)return!1;e(b,T,E)}return!0}var m=f(function(){var S=function(){},I=c.f(new S,"a",{configurable:!0});return Reflect.set(S.prototype,"a",1,I)!==!1});n({target:"Reflect",stat:!0,forced:m},{set:y})},6130:function(u,h,t){var n=t(14304),e=t(34246),a=t(78401);n({global:!0},{Reflect:{}}),a(e.Reflect,"Reflect",!0)},1354:function(u,h,t){var n=t(92986),e=t(34246),a=t(11286),s=t(13278),i=t(32345),f=t(90809),c=t(5406),v=t(83258).f,d=t(95307),p=t(11566),y=t(17361),m=t(54932),S=t(39807),I=t(2594),E=t(16142),T=t(72069),N=t(94879),P=t(82367).enforce,C=t(36167),b=t(18565),A=t(76769),M=t(85220),F=b("match"),B=e.RegExp,U=B.prototype,j=e.SyntaxError,W=a(U.exec),z=a("".charAt),w=a("".replace),G=a("".indexOf),V=a("".slice),X=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,tt=/a/g,q=/a/g,rt=new B(tt)!==tt,Z=S.MISSED_STICKY,mt=S.UNSUPPORTED_Y,ht=n&&(!rt||Z||A||M||T(function(){return q[F]=!1,B(tt)!==tt||B(q)===q||String(B(tt,"i"))!=="/a/i"})),xt=function(jt){for(var vt=jt.length,Et=0,$t="",Bt=!1,Ft;Et<=vt;Et++){if(Ft=z(jt,Et),Ft==="\\"){$t+=Ft+z(jt,++Et);continue}!Bt&&Ft==="."?$t+="[\\s\\S]":(Ft==="["?Bt=!0:Ft==="]"&&(Bt=!1),$t+=Ft)}return $t},Rt=function(jt){for(var vt=jt.length,Et=0,$t="",Bt=[],Ft=c(null),Vt=!1,nr=!1,tr=0,Zt="",Ht;Et<=vt;Et++){if(Ht=z(jt,Et),Ht==="\\")Ht+=z(jt,++Et);else if(Ht==="]")Vt=!1;else if(!Vt)switch(!0){case Ht==="[":Vt=!0;break;case Ht==="(":if($t+=Ht,V(jt,Et+1,Et+3)==="?:")continue;W(X,V(jt,Et+1))&&(Et+=2,nr=!0),tr++;continue;case(Ht===">"&&nr):if(Zt===""||N(Ft,Zt))throw new j("Invalid capture group name");Ft[Zt]=!0,Bt[Bt.length]=[Zt,tr],nr=!1,Zt="";continue}nr?Zt+=Ht:$t+=Ht}return[$t,Bt]};if(s("RegExp",ht)){for(var Nt=function(vt,Et){var $t=d(U,this),Bt=p(vt),Ft=Et===void 0,Vt=[],nr=vt,tr,Zt,Ht,rr,Qt,wt;if(!$t&&Bt&&Ft&&vt.constructor===Nt)return vt;if((Bt||d(U,vt))&&(vt=vt.source,Ft&&(Et=m(nr))),vt=vt===void 0?"":y(vt),Et=Et===void 0?"":y(Et),nr=vt,A&&"dotAll"in tt&&(Zt=!!Et&&G(Et,"s")>-1,Zt&&(Et=w(Et,/s/g,""))),tr=Et,Z&&"sticky"in tt&&(Ht=!!Et&&G(Et,"y")>-1,Ht&&mt&&(Et=w(Et,/y/g,""))),M&&(rr=Rt(vt),vt=rr[0],Vt=rr[1]),Qt=i(B(vt,Et),$t?this:U,Nt),(Zt||Ht||Vt.length)&&(wt=P(Qt),Zt&&(wt.dotAll=!0,wt.raw=Nt(xt(vt),tr)),Ht&&(wt.sticky=!0),Vt.length&&(wt.groups=Vt)),vt!==nr)try{f(Qt,"source",nr===""?"(?:)":nr)}catch(ft){}return Qt},Jt=v(B),Xt=0;Jt.length>Xt;)I(Nt,B,Jt[Xt++]);U.constructor=Nt,Nt.prototype=U,E(e,"RegExp",Nt,{constructor:!0})}C("RegExp")},47119:function(u,h,t){var n=t(92986),e=t(76769),a=t(14274),s=t(85500),i=t(82367).get,f=RegExp.prototype,c=TypeError;n&&e&&s(f,"dotAll",{configurable:!0,get:function(){if(this!==f){if(a(this)==="RegExp")return!!i(this).dotAll;throw new c("Incompatible receiver, RegExp required")}}})},31145:function(u,h,t){var n=t(14304),e=t(44381);n({target:"RegExp",proto:!0,forced:/./.exec!==e},{exec:e})},96773:function(u,h,t){var n=t(34246),e=t(92986),a=t(85500),s=t(29833),i=t(72069),f=n.RegExp,c=f.prototype,v=e&&i(function(){var d=!0;try{f(".","d")}catch(N){d=!1}var p={},y="",m=d?"dgimsy":"gimsy",S=function(N,P){Object.defineProperty(p,N,{get:function(){return y+=P,!0}})},I={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};d&&(I.hasIndices="d");for(var E in I)S(E,I[E]);var T=Object.getOwnPropertyDescriptor(c,"flags").get.call(p);return T!==m||y!==m});v&&a(c,"flags",{configurable:!0,get:s})},14371:function(u,h,t){var n=t(92986),e=t(39807).MISSED_STICKY,a=t(14274),s=t(85500),i=t(82367).get,f=RegExp.prototype,c=TypeError;n&&e&&s(f,"sticky",{configurable:!0,get:function(){if(this!==f){if(a(this)==="RegExp")return!!i(this).sticky;throw new c("Incompatible receiver, RegExp required")}}})},18180:function(u,h,t){t(31145);var n=t(14304),e=t(96499),a=t(23583),s=t(25001),i=t(17361),f=function(){var v=!1,d=/[ac]/;return d.exec=function(){return v=!0,/./.exec.apply(this,arguments)},d.test("abc")===!0&&v}(),c=/./.test;n({target:"RegExp",proto:!0,forced:!f},{test:function(v){var d=s(this),p=i(v),y=d.exec;if(!a(y))return e(c,d,p);var m=e(y,d,p);return m===null?!1:(s(m),!0)}})},83147:function(u,h,t){var n=t(86588).PROPER,e=t(16142),a=t(25001),s=t(17361),i=t(72069),f=t(54932),c="toString",v=RegExp.prototype,d=v[c],p=i(function(){return d.call({source:"a",flags:"b"})!=="/a/b"}),y=n&&d.name!==c;(p||y)&&e(v,c,function(){var S=a(this),I=s(S.source),E=s(f(S));return"/"+I+"/"+E},{unsafe:!0})},6583:function(u,h,t){var n=t(89378),e=t(34440);n("Set",function(a){return function(){return a(this,arguments.length?arguments[0]:void 0)}},e)},86548:function(u,h,t){var n=t(14304),e=t(41754),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("difference")},{difference:e})},15282:function(u,h,t){var n=t(14304),e=t(72069),a=t(92292),s=t(94118),i=!s("intersection")||e(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});n({target:"Set",proto:!0,real:!0,forced:i},{intersection:a})},51275:function(u,h,t){var n=t(14304),e=t(47391),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("isDisjointFrom")},{isDisjointFrom:e})},91890:function(u,h,t){var n=t(14304),e=t(75492),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("isSubsetOf")},{isSubsetOf:e})},15089:function(u,h,t){var n=t(14304),e=t(1333),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("isSupersetOf")},{isSupersetOf:e})},75765:function(u,h,t){t(6583)},78134:function(u,h,t){var n=t(14304),e=t(64680),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("symmetricDifference")},{symmetricDifference:e})},56456:function(u,h,t){var n=t(14304),e=t(70402),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("union")},{union:e})},70641:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("anchor")},{anchor:function(i){return e(this,"a","name",i)}})},40735:function(u,h,t){var n=t(14304),e=t(11286),a=t(2068),s=t(12105),i=t(17361),f=t(72069),c=e("".charAt),v=f(function(){return"\u{20BB7}".at(-2)!=="\uD842"});n({target:"String",proto:!0,forced:v},{at:function(p){var y=i(a(this)),m=y.length,S=s(p),I=S>=0?S:m+S;return I<0||I>=m?void 0:c(y,I)}})},53892:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("big")},{big:function(){return e(this,"big","","")}})},95976:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("blink")},{blink:function(){return e(this,"blink","","")}})},399:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("bold")},{bold:function(){return e(this,"b","","")}})},8510:function(u,h,t){var n=t(14304),e=t(22149).codeAt;n({target:"String",proto:!0},{codePointAt:function(s){return e(this,s)}})},70159:function(u,h,t){var n=t(14304),e=t(77422),a=t(71349).f,s=t(45344),i=t(17361),f=t(92337),c=t(2068),v=t(8790),d=t(70457),p=e("".slice),y=Math.min,m=v("endsWith"),S=!d&&!m&&!!function(){var I=a(String.prototype,"endsWith");return I&&!I.writable}();n({target:"String",proto:!0,forced:!S&&!m},{endsWith:function(E){var T=i(c(this));f(E);var N=arguments.length>1?arguments[1]:void 0,P=T.length,C=N===void 0?P:y(s(N),P),b=i(E);return p(T,C-b.length,C)===b}})},72032:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("fixed")},{fixed:function(){return e(this,"tt","","")}})},49442:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("fontcolor")},{fontcolor:function(i){return e(this,"font","color",i)}})},16012:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("fontsize")},{fontsize:function(i){return e(this,"font","size",i)}})},93087:function(u,h,t){var n=t(14304),e=t(11286),a=t(4652),s=RangeError,i=String.fromCharCode,f=String.fromCodePoint,c=e([].join),v=!!f&&f.length!==1;n({target:"String",stat:!0,arity:1,forced:v},{fromCodePoint:function(p){for(var y=[],m=arguments.length,S=0,I;m>S;){if(I=+arguments[S++],a(I,1114111)!==I)throw new s(I+" is not a valid code point");y[S]=I<65536?i(I):i(((I-=65536)>>10)+55296,I%1024+56320)}return c(y,"")}})},26021:function(u,h,t){var n=t(14304),e=t(11286),a=t(92337),s=t(2068),i=t(17361),f=t(8790),c=e("".indexOf);n({target:"String",proto:!0,forced:!f("includes")},{includes:function(d){return!!~c(i(s(this)),i(a(d)),arguments.length>1?arguments[1]:void 0)}})},93029:function(u,h,t){var n=t(14304),e=t(11286),a=t(2068),s=t(17361),i=e("".charCodeAt);n({target:"String",proto:!0},{isWellFormed:function(){for(var c=s(a(this)),v=c.length,d=0;d=56320||++d>=v||(i(c,d)&64512)!==56320))return!1}return!0}})},9943:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("italics")},{italics:function(){return e(this,"i","","")}})},59158:function(u,h,t){var n=t(22149).charAt,e=t(17361),a=t(82367),s=t(10218),i=t(10659),f="String Iterator",c=a.set,v=a.getterFor(f);s(String,"String",function(d){c(this,{type:f,string:e(d),index:0})},function(){var p=v(this),y=p.string,m=p.index,S;return m>=y.length?i(void 0,!0):(S=n(y,m),p.index+=S.length,i(S,!1))})},33128:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("link")},{link:function(i){return e(this,"a","href",i)}})},18509:function(u,h,t){var n=t(14304),e=t(96499),a=t(77422),s=t(26820),i=t(10659),f=t(2068),c=t(45344),v=t(17361),d=t(25001),p=t(5683),y=t(14274),m=t(11566),S=t(54932),I=t(10512),E=t(16142),T=t(72069),N=t(18565),P=t(16887),C=t(24487),b=t(33064),A=t(82367),M=t(70457),F=N("matchAll"),B="RegExp String",U=B+" Iterator",j=A.set,W=A.getterFor(U),z=RegExp.prototype,w=TypeError,G=a("".indexOf),V=a("".matchAll),X=!!V&&!T(function(){V("a",/./)}),tt=s(function(Z,mt,ht,xt){j(this,{type:U,regexp:Z,string:mt,global:ht,unicode:xt,done:!1})},B,function(){var Z=W(this);if(Z.done)return i(void 0,!0);var mt=Z.regexp,ht=Z.string,xt=b(mt,ht);return xt===null?(Z.done=!0,i(void 0,!0)):Z.global?(v(xt[0])===""&&(mt.lastIndex=C(ht,c(mt.lastIndex),Z.unicode)),i(xt,!1)):(Z.done=!0,i(xt,!1))}),q=function(rt){var Z=d(this),mt=v(rt),ht=P(Z,RegExp),xt=v(S(Z)),Rt,Nt,Jt;return Rt=new ht(ht===RegExp?Z.source:Z,xt),Nt=!!~G(xt,"g"),Jt=!!~G(xt,"u"),Rt.lastIndex=c(Z.lastIndex),new tt(Rt,mt,Nt,Jt)};n({target:"String",proto:!0,forced:X},{matchAll:function(Z){var mt=f(this),ht,xt,Rt,Nt;if(p(Z)){if(X)return V(mt,Z)}else{if(m(Z)&&(ht=v(f(S(Z))),!~G(ht,"g")))throw new w("`.matchAll` does not allow non-global regexes");if(X)return V(mt,Z);if(Rt=I(Z,F),Rt===void 0&&M&&y(Z)==="RegExp"&&(Rt=q),Rt)return e(Rt,Z,mt)}return xt=v(mt),Nt=new RegExp(Z,"g"),M?e(q,Nt,xt):Nt[F](xt)}}),M||F in z||E(z,F,q)},15599:function(u,h,t){var n=t(96499),e=t(63194),a=t(25001),s=t(5683),i=t(45344),f=t(17361),c=t(2068),v=t(10512),d=t(24487),p=t(33064);e("match",function(y,m,S){return[function(E){var T=c(this),N=s(E)?void 0:v(E,y);return N?n(N,E,T):new RegExp(E)[y](f(T))},function(I){var E=a(this),T=f(I),N=S(m,E,T);if(N.done)return N.value;if(!E.global)return p(E,T);var P=E.unicode;E.lastIndex=0;for(var C=[],b=0,A;(A=p(E,T))!==null;){var M=f(A[0]);C[b]=M,M===""&&(E.lastIndex=d(T,i(E.lastIndex),P)),b++}return b===0?null:C}]})},21579:function(u,h,t){var n=t(14304),e=t(61607).end,a=t(36945);n({target:"String",proto:!0,forced:a},{padEnd:function(i){return e(this,i,arguments.length>1?arguments[1]:void 0)}})},8854:function(u,h,t){var n=t(14304),e=t(61607).start,a=t(36945);n({target:"String",proto:!0,forced:a},{padStart:function(i){return e(this,i,arguments.length>1?arguments[1]:void 0)}})},57676:function(u,h,t){var n=t(14304),e=t(11286),a=t(36859),s=t(49671),i=t(17361),f=t(82628),c=e([].push),v=e([].join);n({target:"String",stat:!0},{raw:function(p){var y=a(s(p).raw),m=f(y);if(!m)return"";for(var S=arguments.length,I=[],E=0;;){if(c(I,i(y[E++])),E===m)return v(I,"");EW.length?-1:T(W,z,X+V);return q")!=="7"});s("replace",function(w,G,V){var X=W?"$":"$0";return[function(q,rt){var Z=m(this),mt=v(q)?void 0:I(q,P);return mt?e(mt,q,Z,rt):e(G,y(Z),q,rt)},function(tt,q){var rt=f(this),Z=y(tt);if(typeof q=="string"&&F(q,X)===-1&&F(q,"$<")===-1){var mt=V(G,rt,Z,q);if(mt.done)return mt.value}var ht=c(q);ht||(q=y(q));var xt=rt.global,Rt;xt&&(Rt=rt.unicode,rt.lastIndex=0);for(var Nt=[],Jt;Jt=T(rt,Z),!(Jt===null||(M(Nt,Jt),!xt));){var Xt=y(Jt[0]);Xt===""&&(rt.lastIndex=S(Z,p(rt.lastIndex),Rt))}for(var jt="",vt=0,Et=0;Et=vt&&(jt+=B(Z,vt,Bt)+Vt,vt=Bt+$t.length)}return jt+B(Z,vt)}]},!z||!j||W)},74980:function(u,h,t){var n=t(96499),e=t(63194),a=t(25001),s=t(5683),i=t(2068),f=t(13944),c=t(17361),v=t(10512),d=t(33064);e("search",function(p,y,m){return[function(I){var E=i(this),T=s(I)?void 0:v(I,p);return T?n(T,I,E):new RegExp(I)[p](c(E))},function(S){var I=a(this),E=c(S),T=m(y,I,E);if(T.done)return T.value;var N=I.lastIndex;f(N,0)||(I.lastIndex=0);var P=d(I,E);return f(I.lastIndex,N)||(I.lastIndex=N),P===null?-1:P.index}]})},95625:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("small")},{small:function(){return e(this,"small","","")}})},390:function(u,h,t){var n=t(96499),e=t(11286),a=t(63194),s=t(25001),i=t(5683),f=t(2068),c=t(16887),v=t(24487),d=t(45344),p=t(17361),y=t(10512),m=t(33064),S=t(39807),I=t(72069),E=S.UNSUPPORTED_Y,T=4294967295,N=Math.min,P=e([].push),C=e("".slice),b=!I(function(){var M=/(?:)/,F=M.exec;M.exec=function(){return F.apply(this,arguments)};var B="ab".split(M);return B.length!==2||B[0]!=="a"||B[1]!=="b"}),A="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;a("split",function(M,F,B){var U="0".split(void 0,0).length?function(j,W){return j===void 0&&W===0?[]:n(F,this,j,W)}:F;return[function(W,z){var w=f(this),G=i(W)?void 0:y(W,M);return G?n(G,W,w,z):n(U,p(w),W,z)},function(j,W){var z=s(this),w=p(j);if(!A){var G=B(U,z,w,W,U!==F);if(G.done)return G.value}var V=c(z,RegExp),X=z.unicode,tt=(z.ignoreCase?"i":"")+(z.multiline?"m":"")+(z.unicode?"u":"")+(E?"g":"y"),q=new V(E?"^(?:"+z.source+")":z,tt),rt=W===void 0?T:W>>>0;if(rt===0)return[];if(w.length===0)return m(q,w)===null?[w]:[];for(var Z=0,mt=0,ht=[];mt1?arguments[1]:void 0,T.length)),P=i(E);return p(T,N,N+P.length)===P}})},90614:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("strike")},{strike:function(){return e(this,"strike","","")}})},60120:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("sub")},{sub:function(){return e(this,"sub","","")}})},21293:function(u,h,t){var n=t(14304),e=t(11286),a=t(2068),s=t(12105),i=t(17361),f=e("".slice),c=Math.max,v=Math.min,d=!"".substr||"ab".substr(-1)!=="b";n({target:"String",proto:!0,forced:d},{substr:function(y,m){var S=i(a(this)),I=S.length,E=s(y),T,N;return E===1/0&&(E=0),E<0&&(E=c(I+E,0)),T=m===void 0?I:s(m),T<=0||T===1/0?"":(N=v(E+T,I),E>=N?"":f(S,E,N))}})},75826:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("sup")},{sup:function(){return e(this,"sup","","")}})},18184:function(u,h,t){var n=t(14304),e=t(96499),a=t(11286),s=t(2068),i=t(17361),f=t(72069),c=Array,v=a("".charAt),d=a("".charCodeAt),p=a([].join),y="".toWellFormed,m="\uFFFD",S=y&&f(function(){return e(y,1)!=="1"});n({target:"String",proto:!0,forced:S},{toWellFormed:function(){var E=i(s(this));if(S)return e(y,E);for(var T=E.length,N=c(T),P=0;P=56320||P+1>=T||(d(E,P+1)&64512)!==56320?N[P]=m:(N[P]=v(E,P),N[++P]=v(E,P))}return p(N,"")}})},19680:function(u,h,t){t(23283);var n=t(14304),e=t(75176);n({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==e},{trimEnd:e})},12272:function(u,h,t){var n=t(14304),e=t(83481);n({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==e},{trimLeft:e})},23283:function(u,h,t){var n=t(14304),e=t(75176);n({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==e},{trimRight:e})},4193:function(u,h,t){t(12272);var n=t(14304),e=t(83481);n({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==e},{trimStart:e})},75012:function(u,h,t){var n=t(14304),e=t(85900).trim,a=t(33328);n({target:"String",proto:!0,forced:a("trim")},{trim:function(){return e(this)}})},43606:function(u,h,t){var n=t(83749);n("asyncIterator")},51767:function(u,h,t){var n=t(14304),e=t(34246),a=t(96499),s=t(11286),i=t(70457),f=t(92986),c=t(39729),v=t(72069),d=t(94879),p=t(95307),y=t(25001),m=t(36859),S=t(50035),I=t(17361),E=t(18526),T=t(5406),N=t(18350),P=t(83258),C=t(92880),b=t(24943),A=t(71349),M=t(7831),F=t(61963),B=t(79591),U=t(16142),j=t(85500),W=t(96731),z=t(44869),w=t(19423),G=t(36374),V=t(18565),X=t(56529),tt=t(83749),q=t(60796),rt=t(78401),Z=t(82367),mt=t(66655).forEach,ht=z("hidden"),xt="Symbol",Rt="prototype",Nt=Z.set,Jt=Z.getterFor(xt),Xt=Object[Rt],jt=e.Symbol,vt=jt&&jt[Rt],Et=e.RangeError,$t=e.TypeError,Bt=e.QObject,Ft=A.f,Vt=M.f,nr=C.f,tr=B.f,Zt=s([].push),Ht=W("symbols"),rr=W("op-symbols"),Qt=W("wks"),wt=!Bt||!Bt[Rt]||!Bt[Rt].findChild,ft=function(ot,lt,st){var yt=Ft(Xt,lt);yt&&delete Xt[lt],Vt(ot,lt,st),yt&&ot!==Xt&&Vt(Xt,lt,yt)},ct=f&&v(function(){return T(Vt({},"a",{get:function(){return Vt(this,"a",{value:7}).a}})).a!==7})?ft:Vt,nt=function(ot,lt){var st=Ht[ot]=T(vt);return Nt(st,{type:xt,tag:ot,description:lt}),f||(st.description=lt),st},Mt=function(lt,st,yt){lt===Xt&&Mt(rr,st,yt),y(lt);var at=S(st);return y(yt),d(Ht,at)?(yt.enumerable?(d(lt,ht)&<[ht][at]&&(lt[ht][at]=!1),yt=T(yt,{enumerable:E(0,!1)})):(d(lt,ht)||Vt(lt,ht,E(1,T(null))),lt[ht][at]=!0),ct(lt,at,yt)):Vt(lt,at,yt)},bt=function(lt,st){y(lt);var yt=m(st),at=N(yt).concat(Q(yt));return mt(at,function(Lt){(!f||a(Tt,yt,Lt))&&Mt(lt,Lt,yt[Lt])}),lt},At=function(lt,st){return st===void 0?T(lt):bt(T(lt),st)},Tt=function(lt){var st=S(lt),yt=a(tr,this,st);return this===Xt&&d(Ht,st)&&!d(rr,st)?!1:yt||!d(this,st)||!d(Ht,st)||d(this,ht)&&this[ht][st]?yt:!0},ur=function(lt,st){var yt=m(lt),at=S(st);if(!(yt===Xt&&d(Ht,at)&&!d(rr,at))){var Lt=Ft(yt,at);return Lt&&d(Ht,at)&&!(d(yt,ht)&&yt[ht][at])&&(Lt.enumerable=!0),Lt}},vr=function(lt){var st=nr(m(lt)),yt=[];return mt(st,function(at){!d(Ht,at)&&!d(w,at)&&Zt(yt,at)}),yt},Q=function(ot){var lt=ot===Xt,st=nr(lt?rr:m(ot)),yt=[];return mt(st,function(at){d(Ht,at)&&(!lt||d(Xt,at))&&Zt(yt,Ht[at])}),yt};c||(jt=function(){if(p(vt,this))throw new $t("Symbol is not a constructor");var lt=!arguments.length||arguments[0]===void 0?void 0:I(arguments[0]),st=G(lt),yt=function(at){var Lt=this===void 0?e:this;Lt===Xt&&a(yt,rr,at),d(Lt,ht)&&d(Lt[ht],st)&&(Lt[ht][st]=!1);var er=E(1,at);try{ct(Lt,st,er)}catch(it){if(!(it instanceof Et))throw it;ft(Lt,st,er)}};return f&&wt&&ct(Xt,st,{configurable:!0,set:yt}),nt(st,lt)},vt=jt[Rt],U(vt,"toString",function(){return Jt(this).tag}),U(jt,"withoutSetter",function(ot){return nt(G(ot),ot)}),B.f=Tt,M.f=Mt,F.f=bt,A.f=ur,P.f=C.f=vr,b.f=Q,X.f=function(ot){return nt(V(ot),ot)},f&&(j(vt,"description",{configurable:!0,get:function(){return Jt(this).description}}),i||U(Xt,"propertyIsEnumerable",Tt,{unsafe:!0}))),n({global:!0,constructor:!0,wrap:!0,forced:!c,sham:!c},{Symbol:jt}),mt(N(Qt),function(ot){tt(ot)}),n({target:xt,stat:!0,forced:!c},{useSetter:function(){wt=!0},useSimple:function(){wt=!1}}),n({target:"Object",stat:!0,forced:!c,sham:!f},{create:At,defineProperty:Mt,defineProperties:bt,getOwnPropertyDescriptor:ur}),n({target:"Object",stat:!0,forced:!c},{getOwnPropertyNames:vr}),q(),rt(jt,xt),w[ht]=!0},43657:function(u,h,t){var n=t(14304),e=t(92986),a=t(34246),s=t(11286),i=t(94879),f=t(23583),c=t(95307),v=t(17361),d=t(85500),p=t(93706),y=a.Symbol,m=y&&y.prototype;if(e&&f(y)&&(!("description"in m)||y().description!==void 0)){var S={},I=function(){var M=arguments.length<1||arguments[0]===void 0?void 0:v(arguments[0]),F=c(m,this)?new y(M):M===void 0?y():y(M);return M===""&&(S[F]=!0),F};p(I,y),I.prototype=m,m.constructor=I;var E=String(y("description detection"))==="Symbol(description detection)",T=s(m.valueOf),N=s(m.toString),P=/^Symbol\((.*)\)[^)]+$/,C=s("".replace),b=s("".slice);d(m,"description",{configurable:!0,get:function(){var M=T(this);if(i(S,M))return"";var F=N(M),B=E?b(F,7,-1):C(F,P,"$1");return B===""?void 0:B}}),n({global:!0,constructor:!0,forced:!0},{Symbol:I})}},20872:function(u,h,t){var n=t(14304),e=t(38941),a=t(94879),s=t(17361),i=t(96731),f=t(61190),c=i("string-to-symbol-registry"),v=i("symbol-to-string-registry");n({target:"Symbol",stat:!0,forced:!f},{for:function(d){var p=s(d);if(a(c,p))return c[p];var y=e("Symbol")(p);return c[p]=y,v[y]=p,y}})},15855:function(u,h,t){var n=t(83749);n("hasInstance")},42026:function(u,h,t){var n=t(83749);n("isConcatSpreadable")},33257:function(u,h,t){var n=t(83749);n("iterator")},40949:function(u,h,t){t(51767),t(20872),t(94762),t(71332),t(45223)},94762:function(u,h,t){var n=t(14304),e=t(94879),a=t(491),s=t(82453),i=t(96731),f=t(61190),c=i("symbol-to-string-registry");n({target:"Symbol",stat:!0,forced:!f},{keyFor:function(d){if(!a(d))throw new TypeError(s(d)+" is not a symbol");if(e(c,d))return c[d]}})},88344:function(u,h,t){var n=t(83749);n("matchAll")},59414:function(u,h,t){var n=t(83749);n("match")},92579:function(u,h,t){var n=t(83749);n("replace")},94655:function(u,h,t){var n=t(83749);n("search")},8565:function(u,h,t){var n=t(83749);n("species")},60843:function(u,h,t){var n=t(83749);n("split")},65842:function(u,h,t){var n=t(83749),e=t(60796);n("toPrimitive"),e()},51595:function(u,h,t){var n=t(38941),e=t(83749),a=t(78401);e("toStringTag"),a(n("Symbol"),"Symbol")},54908:function(u,h,t){var n=t(83749);n("unscopables")},71998:function(u,h,t){var n=t(88037),e=t(82628),a=t(12105),s=n.aTypedArray,i=n.exportTypedArrayMethod;i("at",function(c){var v=s(this),d=e(v),p=a(c),y=p>=0?p:d+p;return y<0||y>=d?void 0:v[y]})},6116:function(u,h,t){var n=t(11286),e=t(88037),a=t(81499),s=n(a),i=e.aTypedArray,f=e.exportTypedArrayMethod;f("copyWithin",function(v,d){return s(i(this),v,d,arguments.length>2?arguments[2]:void 0)})},33032:function(u,h,t){var n=t(88037),e=t(66655).every,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("every",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},80962:function(u,h,t){var n=t(88037),e=t(43011),a=t(11344),s=t(9205),i=t(96499),f=t(11286),c=t(72069),v=n.aTypedArray,d=n.exportTypedArrayMethod,p=f("".slice),y=c(function(){var m=0;return new Int8Array(2).fill({valueOf:function(){return m++}}),m!==1});d("fill",function(S){var I=arguments.length;v(this);var E=p(s(this),0,3)==="Big"?a(S):+S;return i(e,this,E,I>1?arguments[1]:void 0,I>2?arguments[2]:void 0)},y)},49381:function(u,h,t){var n=t(88037),e=t(66655).filter,a=t(39954),s=n.aTypedArray,i=n.exportTypedArrayMethod;i("filter",function(c){var v=e(s(this),c,arguments.length>1?arguments[1]:void 0);return a(this,v)})},65961:function(u,h,t){var n=t(88037),e=t(66655).findIndex,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("findIndex",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},16028:function(u,h,t){var n=t(88037),e=t(73849).findLastIndex,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("findLastIndex",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},94153:function(u,h,t){var n=t(88037),e=t(73849).findLast,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("findLast",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},38344:function(u,h,t){var n=t(88037),e=t(66655).find,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("find",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},25560:function(u,h,t){var n=t(80357);n("Float32",function(e){return function(s,i,f){return e(this,s,i,f)}})},22571:function(u,h,t){var n=t(80357);n("Float64",function(e){return function(s,i,f){return e(this,s,i,f)}})},20656:function(u,h,t){var n=t(88037),e=t(66655).forEach,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("forEach",function(f){e(a(this),f,arguments.length>1?arguments[1]:void 0)})},17063:function(u,h,t){var n=t(46868),e=t(88037).exportTypedArrayStaticMethod,a=t(66169);e("from",a,n)},21774:function(u,h,t){var n=t(88037),e=t(94319).includes,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("includes",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},51761:function(u,h,t){var n=t(88037),e=t(94319).indexOf,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("indexOf",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},36849:function(u,h,t){var n=t(80357);n("Int16",function(e){return function(s,i,f){return e(this,s,i,f)}})},49191:function(u,h,t){var n=t(80357);n("Int32",function(e){return function(s,i,f){return e(this,s,i,f)}})},40704:function(u,h,t){var n=t(80357);n("Int8",function(e){return function(s,i,f){return e(this,s,i,f)}})},12317:function(u,h,t){var n=t(34246),e=t(72069),a=t(11286),s=t(88037),i=t(35054),f=t(18565),c=f("iterator"),v=n.Uint8Array,d=a(i.values),p=a(i.keys),y=a(i.entries),m=s.aTypedArray,S=s.exportTypedArrayMethod,I=v&&v.prototype,E=!e(function(){I[c].call([1])}),T=!!I&&I.values&&I[c]===I.values&&I.values.name==="values",N=function(){return d(m(this))};S("entries",function(){return y(m(this))},E),S("keys",function(){return p(m(this))},E),S("values",N,E||!T,{name:"values"}),S(c,N,E||!T,{name:"values"})},19711:function(u,h,t){var n=t(88037),e=t(11286),a=n.aTypedArray,s=n.exportTypedArrayMethod,i=e([].join);s("join",function(c){return i(a(this),c)})},41034:function(u,h,t){var n=t(88037),e=t(66543),a=t(58465),s=n.aTypedArray,i=n.exportTypedArrayMethod;i("lastIndexOf",function(c){var v=arguments.length;return e(a,s(this),v>1?[c,arguments[1]]:[c])})},13313:function(u,h,t){var n=t(88037),e=t(66655).map,a=n.aTypedArray,s=n.getTypedArrayConstructor,i=n.exportTypedArrayMethod;i("map",function(c){return e(a(this),c,arguments.length>1?arguments[1]:void 0,function(v,d){return new(s(v))(d)})})},44698:function(u,h,t){var n=t(88037),e=t(46868),a=n.aTypedArrayConstructor,s=n.exportTypedArrayStaticMethod;s("of",function(){for(var f=0,c=arguments.length,v=new(a(this))(c);c>f;)v[f]=arguments[f++];return v},e)},66178:function(u,h,t){var n=t(88037),e=t(97264).right,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("reduceRight",function(f){var c=arguments.length;return e(a(this),f,c,c>1?arguments[1]:void 0)})},7369:function(u,h,t){var n=t(88037),e=t(97264).left,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("reduce",function(f){var c=arguments.length;return e(a(this),f,c,c>1?arguments[1]:void 0)})},67961:function(u,h,t){var n=t(88037),e=n.aTypedArray,a=n.exportTypedArrayMethod,s=Math.floor;a("reverse",function(){for(var f=this,c=e(f).length,v=s(c/2),d=0,p;d1?arguments[1]:void 0,1),C=f(N);if(I)return e(y,this,C,P);var b=this.length,A=s(C),M=0;if(A+P>b)throw new v("Wrong length");for(;MS;)E[S]=y[S++];return E},c)},9711:function(u,h,t){var n=t(88037),e=t(66655).some,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("some",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},3923:function(u,h,t){var n=t(34246),e=t(77422),a=t(72069),s=t(85156),i=t(13270),f=t(88037),c=t(507),v=t(17417),d=t(44241),p=t(66577),y=f.aTypedArray,m=f.exportTypedArrayMethod,S=n.Uint16Array,I=S&&e(S.prototype.sort),E=!!I&&!(a(function(){I(new S(2),null)})&&a(function(){I(new S(2),{})})),T=!!I&&!a(function(){if(d)return d<74;if(c)return c<67;if(v)return!0;if(p)return p<602;var P=new S(516),C=Array(516),b,A;for(b=0;b<516;b++)A=b%4,P[b]=515-b,C[b]=b-2*A+3;for(I(P,function(M,F){return(M/4|0)-(F/4|0)}),b=0;b<516;b++)if(P[b]!==C[b])return!0}),N=function(P){return function(C,b){return P!==void 0?+P(C,b)||0:b!==b?-1:C!==C?1:C===0&&b===0?1/C>0&&1/b<0?1:-1:C>b}};m("sort",function(C){return C!==void 0&&s(C),T?I(this,C):i(y(this),N(C))},!T||E)},59728:function(u,h,t){var n=t(88037),e=t(45344),a=t(4652),s=n.aTypedArray,i=n.getTypedArrayConstructor,f=n.exportTypedArrayMethod;f("subarray",function(v,d){var p=s(this),y=p.length,m=a(v,y),S=i(p);return new S(p.buffer,p.byteOffset+m*p.BYTES_PER_ELEMENT,e((d===void 0?y:a(d,y))-m))})},85227:function(u,h,t){var n=t(34246),e=t(66543),a=t(88037),s=t(72069),i=t(22806),f=n.Int8Array,c=a.aTypedArray,v=a.exportTypedArrayMethod,d=[].toLocaleString,p=!!f&&s(function(){d.call(new f(1))}),y=s(function(){return[1,2].toLocaleString()!==new f([1,2]).toLocaleString()})||!s(function(){f.prototype.toLocaleString.call([1,2])});v("toLocaleString",function(){return e(d,p?i(c(this)):c(this),i(arguments))},y)},56933:function(u,h,t){var n=t(61638),e=t(88037),a=e.aTypedArray,s=e.exportTypedArrayMethod,i=e.getTypedArrayConstructor;s("toReversed",function(){return n(a(this),i(this))})},91490:function(u,h,t){var n=t(88037),e=t(11286),a=t(85156),s=t(5220),i=n.aTypedArray,f=n.getTypedArrayConstructor,c=n.exportTypedArrayMethod,v=e(n.TypedArrayPrototype.sort);c("toSorted",function(p){p!==void 0&&a(p);var y=i(this),m=s(f(y),y);return v(m,p)})},61766:function(u,h,t){var n=t(88037).exportTypedArrayMethod,e=t(72069),a=t(34246),s=t(11286),i=a.Uint8Array,f=i&&i.prototype||{},c=[].toString,v=s([].join);e(function(){c.call({})})&&(c=function(){return v(this)});var d=f.toString!==c;n("toString",c,d)},44884:function(u,h,t){var n=t(80357);n("Uint16",function(e){return function(s,i,f){return e(this,s,i,f)}})},48658:function(u,h,t){var n=t(80357);n("Uint32",function(e){return function(s,i,f){return e(this,s,i,f)}})},81083:function(u,h,t){var n=t(80357);n("Uint8",function(e){return function(s,i,f){return e(this,s,i,f)}})},27428:function(u,h,t){var n=t(80357);n("Uint8",function(e){return function(s,i,f){return e(this,s,i,f)}},!0)},85143:function(u,h,t){var n=t(72302),e=t(88037),a=t(77129),s=t(12105),i=t(11344),f=e.aTypedArray,c=e.getTypedArrayConstructor,v=e.exportTypedArrayMethod,d=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(p){return p===8}}();v("with",function(p,y){var m=f(this),S=s(p),I=a(m)?i(y):+y;return n(m,c(m),S,I)},!d)},47005:function(u,h,t){var n=t(14304),e=t(11286),a=t(17361),s=String.fromCharCode,i=e("".charAt),f=e(/./.exec),c=e("".slice),v=/^[\da-f]{2}$/i,d=/^[\da-f]{4}$/i;n({global:!0},{unescape:function(y){for(var m=a(y),S="",I=m.length,E=0,T,N;E>(-2*w&6)));return W}})},60869:function(u,h,t){var n=t(14304),e=t(34246),a=t(38941),s=t(11286),i=t(96499),f=t(72069),c=t(17361),v=t(95486),d=t(6210).i2c,p=a("btoa"),y=s("".charAt),m=s("".charCodeAt),S=!!p&&!f(function(){return p("hi")!=="aGk="}),I=S&&!f(function(){p()}),E=S&&f(function(){return p(null)!=="bnVsbA=="}),T=S&&p.length!==1;n({global:!0,bind:!0,enumerable:!0,forced:!S||I||E||T},{btoa:function(P){if(v(arguments.length,1),S)return i(p,e,c(P));for(var C=c(P),b="",A=0,M=d,F,B;y(C,A)||(M="=",A%1);){if(B=m(C,A+=.75),B>255)throw new(a("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");F=F<<8|B,b+=y(M,63&F>>8-A%1*8)}return b}})},66722:function(u,h,t){var n=t(14304),e=t(34246),a=t(23115).clear;n({global:!0,bind:!0,enumerable:!0,forced:e.clearImmediate!==a},{clearImmediate:a})},50338:function(u,h,t){var n=t(34246),e=t(93014),a=t(39882),s=t(13349),i=t(90809),f=function(v){if(v&&v.forEach!==s)try{i(v,"forEach",s)}catch(d){v.forEach=s}};for(var c in e)e[c]&&f(n[c]&&n[c].prototype);f(a)},53059:function(u,h,t){var n=t(34246),e=t(93014),a=t(39882),s=t(35054),i=t(90809),f=t(78401),c=t(18565),v=c("iterator"),d=s.values,p=function(m,S){if(m){if(m[v]!==d)try{i(m,v,d)}catch(E){m[v]=d}if(f(m,S,!0),e[S]){for(var I in s)if(m[I]!==s[I])try{i(m,I,s[I])}catch(E){m[I]=s[I]}}}};for(var y in e)p(n[y]&&n[y].prototype,y);p(a,"DOMTokenList")},5805:function(u,h,t){var n=t(14304),e=t(38941),a=t(81191),s=t(72069),i=t(5406),f=t(18526),c=t(7831).f,v=t(16142),d=t(85500),p=t(94879),y=t(12833),m=t(25001),S=t(58434),I=t(15453),E=t(74408),T=t(40851),N=t(82367),P=t(92986),C=t(70457),b="DOMException",A="DATA_CLONE_ERR",M=e("Error"),F=e(b)||function(){try{var vt=e("MessageChannel")||a("worker_threads").MessageChannel;new vt().port1.postMessage(new WeakMap)}catch(Et){if(Et.name===A&&Et.code===25)return Et.constructor}}(),B=F&&F.prototype,U=M.prototype,j=N.set,W=N.getterFor(b),z="stack"in new M(b),w=function(vt){return p(E,vt)&&E[vt].m?E[vt].c:0},G=function(){y(this,V);var Et=arguments.length,$t=I(Et<1?void 0:arguments[0]),Bt=I(Et<2?void 0:arguments[1],"Error"),Ft=w(Bt);if(j(this,{type:b,name:Bt,message:$t,code:Ft}),P||(this.name=Bt,this.message=$t,this.code=Ft),z){var Vt=new M($t);Vt.name=b,c(this,"stack",f(1,T(Vt.stack,1)))}},V=G.prototype=i(U),X=function(vt){return{enumerable:!0,configurable:!0,get:vt}},tt=function(vt){return X(function(){return W(this)[vt]})};P&&(d(V,"code",tt("code")),d(V,"message",tt("message")),d(V,"name",tt("name"))),c(V,"constructor",f(1,G));var q=s(function(){return!(new F instanceof M)}),rt=q||s(function(){return U.toString!==S||String(new F(1,2))!=="2: 1"}),Z=q||s(function(){return new F(1,"DataCloneError").code!==25}),mt=q||F[A]!==25||B[A]!==25,ht=C?rt||Z||mt:q;n({global:!0,constructor:!0,forced:ht},{DOMException:ht?G:F});var xt=e(b),Rt=xt.prototype;rt&&(C||F===xt)&&v(Rt,"toString",S),Z&&P&&F===xt&&d(Rt,"code",X(function(){return w(m(this).name)}));for(var Nt in E)if(p(E,Nt)){var Jt=E[Nt],Xt=Jt.s,jt=f(6,Jt.c);p(xt,Xt)||c(xt,Xt,jt),p(Rt,Xt)||c(Rt,Xt,jt)}},50685:function(u,h,t){var n=t(14304),e=t(34246),a=t(38941),s=t(18526),i=t(7831).f,f=t(94879),c=t(12833),v=t(32345),d=t(15453),p=t(74408),y=t(40851),m=t(92986),S=t(70457),I="DOMException",E=a("Error"),T=a(I),N=function(){c(this,P);var G=arguments.length,V=d(G<1?void 0:arguments[0]),X=d(G<2?void 0:arguments[1],"Error"),tt=new T(V,X),q=new E(V);return q.name=I,i(tt,"stack",s(1,y(q.stack,1))),v(tt,this,N),tt},P=N.prototype=T.prototype,C="stack"in new E(I),b="stack"in new T(1,2),A=T&&m&&Object.getOwnPropertyDescriptor(e,I),M=!!A&&!(A.writable&&A.configurable),F=C&&!M&&!b;n({global:!0,constructor:!0,forced:S||F},{DOMException:F?N:T});var B=a(I),U=B.prototype;if(U.constructor!==B){S||i(U,"constructor",s(1,B));for(var j in p)if(f(p,j)){var W=p[j],z=W.s;f(B,z)||i(B,z,s(6,W.c))}}},70649:function(u,h,t){var n=t(38941),e=t(78401),a="DOMException";e(n(a),a)},39842:function(u,h,t){t(66722),t(8235)},82872:function(u,h,t){var n=t(14304),e=t(34246),a=t(9709),s=t(85156),i=t(95486),f=t(72069),c=t(92986),v=f(function(){return c&&Object.getOwnPropertyDescriptor(e,"queueMicrotask").value.length!==1});n({global:!0,enumerable:!0,dontCallGetSet:!0,forced:v},{queueMicrotask:function(p){i(arguments.length,1),a(s(p))}})},91401:function(u,h,t){var n=t(14304),e=t(34246),a=t(85500),s=t(92986),i=TypeError,f=Object.defineProperty,c=e.self!==e;try{if(s){var v=Object.getOwnPropertyDescriptor(e,"self");(c||!v||!v.get||!v.enumerable)&&a(e,"self",{get:function(){return e},set:function(p){if(this!==e)throw new i("Illegal invocation");f(e,"self",{value:p,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else n({global:!0,simple:!0,forced:c},{self:e})}catch(d){}},8235:function(u,h,t){var n=t(14304),e=t(34246),a=t(23115).set,s=t(9934),i=e.setImmediate?s(a,!1):a;n({global:!0,bind:!0,enumerable:!0,forced:e.setImmediate!==i},{setImmediate:i})},63981:function(u,h,t){var n=t(14304),e=t(34246),a=t(9934),s=a(e.setInterval,!0);n({global:!0,bind:!0,forced:e.setInterval!==s},{setInterval:s})},23913:function(u,h,t){var n=t(14304),e=t(34246),a=t(9934),s=a(e.setTimeout,!0);n({global:!0,bind:!0,forced:e.setTimeout!==s},{setTimeout:s})},92904:function(u,h,t){var n=t(70457),e=t(14304),a=t(34246),s=t(38941),i=t(11286),f=t(72069),c=t(36374),v=t(23583),d=t(11051),p=t(5683),y=t(37540),m=t(491),S=t(55902),I=t(25001),E=t(9205),T=t(94879),N=t(84082),P=t(90809),C=t(82628),b=t(95486),A=t(54932),M=t(1774),F=t(172),B=t(35051),U=t(63741),j=t(16929),W=t(99050),z=a.Object,w=a.Array,G=a.Date,V=a.Error,X=a.TypeError,tt=a.PerformanceMark,q=s("DOMException"),rt=M.Map,Z=M.has,mt=M.get,ht=M.set,xt=F.Set,Rt=F.add,Nt=F.has,Jt=s("Object","keys"),Xt=i([].push),jt=i((!0).valueOf),vt=i(1 .valueOf),Et=i("".valueOf),$t=i(G.prototype.getTime),Bt=c("structuredClone"),Ft="DataCloneError",Vt="Transferring",nr=function(Q){return!f(function(){var ot=new a.Set([7]),lt=Q(ot),st=Q(z(7));return lt===ot||!lt.has(7)||!y(st)||+st!=7})&&Q},tr=function(Q,ot){return!f(function(){var lt=new ot,st=Q({a:lt,b:lt});return!(st&&st.a===st.b&&st.a instanceof ot&&st.a.stack===lt.stack)})},Zt=function(Q){return!f(function(){var ot=Q(new a.AggregateError([1],Bt,{cause:3}));return ot.name!=="AggregateError"||ot.errors[0]!==1||ot.message!==Bt||ot.cause!==3})},Ht=a.structuredClone,rr=n||!tr(Ht,V)||!tr(Ht,q)||!Zt(Ht),Qt=!Ht&&nr(function(Q){return new tt(Bt,{detail:Q}).detail}),wt=nr(Ht)||Qt,ft=function(Q){throw new q("Uncloneable type: "+Q,Ft)},ct=function(Q,ot){throw new q((ot||"Cloning")+" of "+Q+" cannot be properly polyfilled in this engine",Ft)},nt=function(Q,ot){return wt||ct(ot),wt(Q)},Mt=function(){var Q;try{Q=new a.DataTransfer}catch(ot){try{Q=new a.ClipboardEvent("").clipboardData}catch(lt){}}return Q&&Q.items&&Q.files?Q:null},bt=function(Q,ot,lt){if(Z(ot,Q))return mt(ot,Q);var st=lt||E(Q),yt,at,Lt,er,it,St;if(st==="SharedArrayBuffer")wt?yt=wt(Q):yt=Q;else{var It=a.DataView;!It&&!v(Q.slice)&&ct("ArrayBuffer");try{if(v(Q.slice)&&!Q.resizable)yt=Q.slice(0);else for(at=Q.byteLength,Lt=("maxByteLength"in Q)?{maxByteLength:Q.maxByteLength}:void 0,yt=new ArrayBuffer(at,Lt),er=new It(Q),it=new It(yt),St=0;St1&&!p(arguments[1])?I(arguments[1]):void 0,st=lt?lt.transfer:void 0,yt,at;st!==void 0&&(yt=new rt,at=ur(st,yt));var Lt=Tt(ot,yt);return at&&vr(at),Lt}})},28381:function(u,h,t){t(63981),t(23913)},98812:function(u,h,t){t(35054),t(93087);var n=t(14304),e=t(34246),a=t(28167),s=t(38941),i=t(96499),f=t(11286),c=t(92986),v=t(91918),d=t(16142),p=t(85500),y=t(2725),m=t(78401),S=t(26820),I=t(82367),E=t(12833),T=t(23583),N=t(94879),P=t(45526),C=t(9205),b=t(25001),A=t(37540),M=t(17361),F=t(5406),B=t(18526),U=t(90619),j=t(81077),W=t(10659),z=t(95486),w=t(18565),G=t(13270),V=w("iterator"),X="URLSearchParams",tt=X+"Iterator",q=I.set,rt=I.getterFor(X),Z=I.getterFor(tt),mt=a("fetch"),ht=a("Request"),xt=a("Headers"),Rt=ht&&ht.prototype,Nt=xt&&xt.prototype,Jt=e.TypeError,Xt=e.encodeURIComponent,jt=String.fromCharCode,vt=s("String","fromCodePoint"),Et=parseInt,$t=f("".charAt),Bt=f([].join),Ft=f([].push),Vt=f("".replace),nr=f([].shift),tr=f([].splice),Zt=f("".split),Ht=f("".slice),rr=f(/./.exec),Qt=/\+/g,wt="\uFFFD",ft=/^[0-9a-f]+$/i,ct=function(it,St){var It=Ht(it,St,St+2);return rr(ft,It)?Et(It,16):NaN},nt=function(it){for(var St=0,It=128;It>0&&it&It;It>>=1)St++;return St},Mt=function(it){var St=null;switch(it.length){case 1:St=it[0];break;case 2:St=(it[0]&31)<<6|it[1]&63;break;case 3:St=(it[0]&15)<<12|(it[1]&63)<<6|it[2]&63;break;case 4:St=(it[0]&7)<<18|(it[1]&63)<<12|(it[2]&63)<<6|it[3]&63;break}return St>1114111?null:St},bt=function(it){it=Vt(it,Qt," ");for(var St=it.length,It="",Ot=0;OtSt){It+="%",Ot++;continue}var _t=ct(it,Ot+1);if(_t!==_t){It+=Wt,Ot++;continue}Ot+=2;var ir=nt(_t);if(ir===0)Wt=jt(_t);else{if(ir===1||ir>4){It+=wt,Ot++;continue}for(var lr=[_t],mr=1;mrSt||$t(it,Ot)!=="%"));){var dr=ct(it,Ot+1);if(dr!==dr){Ot+=3;break}if(dr>191||dr<128)break;Ft(lr,dr),Ot+=2,mr++}if(lr.length!==ir){It+=wt;continue}var Lr=Mt(lr);Lr===null?It+=wt:Wt=vt(Lr)}}It+=Wt,Ot++}return It},At=/[!'()~]|%20/g,Tt={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},ur=function(it){return Tt[it]},vr=function(it){return Vt(Xt(it),At,ur)},Q=S(function(St,It){q(this,{type:tt,target:rt(St).entries,index:0,kind:It})},X,function(){var St=Z(this),It=St.target,Ot=St.index++;if(!It||Ot>=It.length)return St.target=null,W(void 0,!0);var Wt=It[Ot];switch(St.kind){case"keys":return W(Wt.key,!1);case"values":return W(Wt.value,!1)}return W([Wt.key,Wt.value],!1)},!0),ot=function(it){this.entries=[],this.url=null,it!==void 0&&(A(it)?this.parseObject(it):this.parseQuery(typeof it=="string"?$t(it,0)==="?"?Ht(it,1):it:M(it)))};ot.prototype={type:X,bindURL:function(it){this.url=it,this.update()},parseObject:function(it){var St=this.entries,It=j(it),Ot,Wt,_t,ir,lr,mr,dr;if(It)for(Ot=U(it,It),Wt=Ot.next;!(_t=i(Wt,Ot)).done;){if(ir=U(b(_t.value)),lr=ir.next,(mr=i(lr,ir)).done||(dr=i(lr,ir)).done||!i(lr,ir).done)throw new Jt("Expected sequence with length 2");Ft(St,{key:M(mr.value),value:M(dr.value)})}else for(var Lr in it)N(it,Lr)&&Ft(St,{key:Lr,value:M(it[Lr])})},parseQuery:function(it){if(it)for(var St=this.entries,It=Zt(it,"&"),Ot=0,Wt,_t;Ot0?arguments[0]:void 0,It=q(this,new ot(St));c||(this.size=It.entries.length)},st=lt.prototype;if(y(st,{append:function(St,It){var Ot=rt(this);z(arguments.length,2),Ft(Ot.entries,{key:M(St),value:M(It)}),c||this.length++,Ot.updateURL()},delete:function(it){for(var St=rt(this),It=z(arguments.length,1),Ot=St.entries,Wt=M(it),_t=It<2?void 0:arguments[1],ir=_t===void 0?_t:M(_t),lr=0;lrOt.key?1:-1}),St.updateURL()},forEach:function(St){for(var It=rt(this).entries,Ot=P(St,arguments.length>1?arguments[1]:void 0),Wt=0,_t;Wt1?Lt(arguments[1]):{})}}),T(ht)){var er=function(St){return E(this,Rt),new ht(St,arguments.length>1?Lt(arguments[1]):{})};Rt.constructor=er,er.prototype=Rt,n({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:er})}}u.exports={URLSearchParams:lt,getState:rt}},10901:function(u,h,t){var n=t(16142),e=t(11286),a=t(17361),s=t(95486),i=URLSearchParams,f=i.prototype,c=e(f.append),v=e(f.delete),d=e(f.forEach),p=e([].push),y=new i("a=1&a=2&b=3");y.delete("a",1),y.delete("b",void 0),y+""!="a=2"&&n(f,"delete",function(m){var S=arguments.length,I=S<2?void 0:arguments[1];if(S&&I===void 0)return v(this,m);var E=[];d(this,function(F,B){p(E,{key:B,value:F})}),s(S,1);for(var T=a(m),N=a(I),P=0,C=0,b=!1,A=E.length,M;P?@[\\\]^|]/,Ht=/[\0\t\n\r #/:<>?@[\\\]^|]/,rr=/^[\u0000-\u0020]+/,Qt=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,wt=/[\t\n\r]/g,ft,ct=function(J){var gt=ht(J,"."),k,Y,ut,Kt,Pt,xr,Or;if(gt.length&>[gt.length-1]===""&>.length--,k=gt.length,k>4)return J;for(Y=[],ut=0;ut1&&G(Kt,0)==="0"&&(Pt=V(Ft,Kt)?16:8,Kt=xt(Kt,Pt===8?1:2)),Kt==="")xr=0;else{if(!V(Pt===10?nr:Pt===8?Vt:tr,Kt))return J;xr=W(Kt,Pt)}rt(Y,xr)}for(ut=0;ut=w(256,5-k))return null}else if(xr>255)return null;for(Or=q(Y),ut=0;ut6))return;for(xr=0;Tr();){if(Or=null,xr>0)if(Tr()==="."&&xr<4)ut++;else return;if(!V(Bt,Tr()))return;for(;V(Bt,Tr());){if(Rr=W(Tr(),10),Or===null)Or=Rr;else{if(Or===0)return;Or=Or*10+Rr}if(Or>255)return;ut++}gt[k]=gt[k]*256+Or,xr++,(xr===2||xr===4)&&k++}if(xr!==4)return;break}else if(Tr()===":"){if(ut++,!Tr())return}else if(Tr())return;gt[k++]=Kt}if(Y!==null)for(Ur=k-Y,k=7;k!==0&&Ur>0;)dt=gt[k],gt[k--]=gt[Y+Ur-1],gt[Y+--Ur]=dt;else if(k!==8)return;return gt},Mt=function(J){for(var gt=null,k=1,Y=null,ut=0,Kt=0;Kt<8;Kt++)J[Kt]!==0?(ut>k&&(gt=Y,k=ut),Y=null,ut=0):(Y===null&&(Y=Kt),++ut);return ut>k?Y:gt},bt=function(J){var gt,k,Y,ut;if(typeof J=="number"){for(gt=[],k=0;k<4;k++)Nt(gt,J%256),J=z(J/256);return X(gt,".")}if(typeof J=="object"){for(gt="",Y=Mt(J),k=0;k<8;k++)ut&&J[k]===0||(ut&&(ut=!1),Y===k?(gt+=k?":":"::",ut=!0):(gt+=tt(J[k],16),k<7&&(gt+=":")));return"["+gt+"]"}return J},At={},Tt=y({},At,{" ":1,'"':1,"<":1,">":1,"`":1}),ur=y({},Tt,{"#":1,"?":1,"{":1,"}":1}),vr=y({},ur,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Q=function(J,gt){var k=I(J,0);return k>32&&k<127&&!p(gt,J)?J:encodeURIComponent(J)},ot={ftp:21,file:null,http:80,https:443,ws:80,wss:443},lt=function(J,gt){var k;return J.length===2&&V(Et,G(J,0))&&((k=G(J,1))===":"||!gt&&k==="|")},st=function(J){var gt;return J.length>1&<(xt(J,0,2))&&(J.length===2||(gt=G(J,2))==="/"||gt==="\\"||gt==="?"||gt==="#")},yt=function(J){return J==="."||Rt(J)==="%2e"},at=function(J){return J=Rt(J),J===".."||J==="%2e."||J===".%2e"||J==="%2e%2e"},Lt={},er={},it={},St={},It={},Ot={},Wt={},_t={},ir={},lr={},mr={},dr={},Lr={},dn={},Nn={},hn={},_r={},jr={},ee={},Jr={},Vr={},gn=function(J,gt,k){var Y=T(J),ut,Kt,Pt;if(gt){if(Kt=this.parse(Y),Kt)throw new j(Kt);this.searchParams=null}else{if(k!==void 0&&(ut=new gn(k,!0)),Kt=this.parse(Y,null,ut),Kt)throw new j(Kt);Pt=B(new F),Pt.bindURL(this),this.searchParams=Pt}};gn.prototype={type:"URL",parse:function(J,gt,k){var Y=this,ut=gt||Lt,Kt=0,Pt="",xr=!1,Or=!1,Rr=!1,Ur,dt,Tr,Hr;for(J=T(J),gt||(Y.scheme="",Y.username="",Y.password="",Y.host=null,Y.port=null,Y.path=[],Y.query=null,Y.fragment=null,Y.cannotBeABaseURL=!1,J=Z(J,rr,""),J=Z(J,Qt,"$1")),J=Z(J,wt,""),Ur=m(J);Kt<=Ur.length;){switch(dt=Ur[Kt],ut){case Lt:if(dt&&V(Et,dt))Pt+=Rt(dt),ut=er;else{if(gt)return Xt;ut=it;continue}break;case er:if(dt&&(V($t,dt)||dt==="+"||dt==="-"||dt==="."))Pt+=Rt(dt);else if(dt===":"){if(gt&&(Y.isSpecial()!==p(ot,Pt)||Pt==="file"&&(Y.includesCredentials()||Y.port!==null)||Y.scheme==="file"&&!Y.host))return;if(Y.scheme=Pt,gt){Y.isSpecial()&&ot[Y.scheme]===Y.port&&(Y.port=null);return}Pt="",Y.scheme==="file"?ut=dn:Y.isSpecial()&&k&&k.scheme===Y.scheme?ut=St:Y.isSpecial()?ut=_t:Ur[Kt+1]==="/"?(ut=It,Kt++):(Y.cannotBeABaseURL=!0,rt(Y.path,""),ut=ee)}else{if(gt)return Xt;Pt="",ut=it,Kt=0;continue}break;case it:if(!k||k.cannotBeABaseURL&&dt!=="#")return Xt;if(k.cannotBeABaseURL&&dt==="#"){Y.scheme=k.scheme,Y.path=S(k.path),Y.query=k.query,Y.fragment="",Y.cannotBeABaseURL=!0,ut=Vr;break}ut=k.scheme==="file"?dn:Ot;continue;case St:if(dt==="/"&&Ur[Kt+1]==="/")ut=ir,Kt++;else{ut=Ot;continue}break;case It:if(dt==="/"){ut=lr;break}else{ut=jr;continue}case Ot:if(Y.scheme=k.scheme,dt===ft)Y.username=k.username,Y.password=k.password,Y.host=k.host,Y.port=k.port,Y.path=S(k.path),Y.query=k.query;else if(dt==="/"||dt==="\\"&&Y.isSpecial())ut=Wt;else if(dt==="?")Y.username=k.username,Y.password=k.password,Y.host=k.host,Y.port=k.port,Y.path=S(k.path),Y.query="",ut=Jr;else if(dt==="#")Y.username=k.username,Y.password=k.password,Y.host=k.host,Y.port=k.port,Y.path=S(k.path),Y.query=k.query,Y.fragment="",ut=Vr;else{Y.username=k.username,Y.password=k.password,Y.host=k.host,Y.port=k.port,Y.path=S(k.path),Y.path.length--,ut=jr;continue}break;case Wt:if(Y.isSpecial()&&(dt==="/"||dt==="\\"))ut=ir;else if(dt==="/")ut=lr;else{Y.username=k.username,Y.password=k.password,Y.host=k.host,Y.port=k.port,ut=jr;continue}break;case _t:if(ut=ir,dt!=="/"||G(Pt,Kt+1)!=="/")continue;Kt++;break;case ir:if(dt!=="/"&&dt!=="\\"){ut=lr;continue}break;case lr:if(dt==="@"){xr&&(Pt="%40"+Pt),xr=!0,Tr=m(Pt);for(var sn=0;sn65535)return vt;Y.port=Y.isSpecial()&&un===ot[Y.scheme]?null:un,Pt=""}if(gt)return;ut=_r;continue}else return vt;break;case dn:if(Y.scheme="file",dt==="/"||dt==="\\")ut=Nn;else if(k&&k.scheme==="file")switch(dt){case ft:Y.host=k.host,Y.path=S(k.path),Y.query=k.query;break;case"?":Y.host=k.host,Y.path=S(k.path),Y.query="",ut=Jr;break;case"#":Y.host=k.host,Y.path=S(k.path),Y.query=k.query,Y.fragment="",ut=Vr;break;default:st(X(S(Ur,Kt),""))||(Y.host=k.host,Y.path=S(k.path),Y.shortenPath()),ut=jr;continue}else{ut=jr;continue}break;case Nn:if(dt==="/"||dt==="\\"){ut=hn;break}k&&k.scheme==="file"&&!st(X(S(Ur,Kt),""))&&(lt(k.path[0],!0)?rt(Y.path,k.path[0]):Y.host=k.host),ut=jr;continue;case hn:if(dt===ft||dt==="/"||dt==="\\"||dt==="?"||dt==="#"){if(!gt&<(Pt))ut=jr;else if(Pt===""){if(Y.host="",gt)return;ut=_r}else{if(Hr=Y.parseHost(Pt),Hr)return Hr;if(Y.host==="localhost"&&(Y.host=""),gt)return;Pt="",ut=_r}continue}else Pt+=dt;break;case _r:if(Y.isSpecial()){if(ut=jr,dt!=="/"&&dt!=="\\")continue}else if(!gt&&dt==="?")Y.query="",ut=Jr;else if(!gt&&dt==="#")Y.fragment="",ut=Vr;else if(dt!==ft&&(ut=jr,dt!=="/"))continue;break;case jr:if(dt===ft||dt==="/"||dt==="\\"&&Y.isSpecial()||!gt&&(dt==="?"||dt==="#")){if(at(Pt)?(Y.shortenPath(),dt!=="/"&&!(dt==="\\"&&Y.isSpecial())&&rt(Y.path,"")):yt(Pt)?dt!=="/"&&!(dt==="\\"&&Y.isSpecial())&&rt(Y.path,""):(Y.scheme==="file"&&!Y.path.length&<(Pt)&&(Y.host&&(Y.host=""),Pt=G(Pt,0)+":"),rt(Y.path,Pt)),Pt="",Y.scheme==="file"&&(dt===ft||dt==="?"||dt==="#"))for(;Y.path.length>1&&Y.path[0]==="";)mt(Y.path);dt==="?"?(Y.query="",ut=Jr):dt==="#"&&(Y.fragment="",ut=Vr)}else Pt+=Q(dt,ur);break;case ee:dt==="?"?(Y.query="",ut=Jr):dt==="#"?(Y.fragment="",ut=Vr):dt!==ft&&(Y.path[0]+=Q(dt,At));break;case Jr:!gt&&dt==="#"?(Y.fragment="",ut=Vr):dt!==ft&&(dt==="'"&&Y.isSpecial()?Y.query+="%27":dt==="#"?Y.query+="%23":Y.query+=Q(dt,At));break;case Vr:dt!==ft&&(Y.fragment+=Q(dt,Tt));break}Kt++}},parseHost:function(J){var gt,k,Y;if(G(J,0)==="["){if(G(J,J.length-1)!=="]"||(gt=nt(xt(J,1,-1)),!gt))return jt;this.host=gt}else if(this.isSpecial()){if(J=E(J),V(Zt,J)||(gt=ct(J),gt===null))return jt;this.host=gt}else{if(V(Ht,J))return jt;for(gt="",k=m(J),Y=0;Y1?arguments[1]:void 0,ut=A(k,new gn(gt,!1,Y));e||(k.href=ut.serialize(),k.origin=ut.getOrigin(),k.protocol=ut.getProtocol(),k.username=ut.getUsername(),k.password=ut.getPassword(),k.host=ut.getHost(),k.hostname=ut.getHostname(),k.port=ut.getPort(),k.pathname=ut.getPathname(),k.search=ut.getSearch(),k.searchParams=ut.getSearchParams(),k.hash=ut.getHash())},Mr=tn.prototype,br=function(J,gt){return{get:function(){return M(this)[J]()},set:gt&&function(k){return M(this)[gt](k)},configurable:!0,enumerable:!0}};if(e&&(v(Mr,"href",br("serialize","setHref")),v(Mr,"origin",br("getOrigin")),v(Mr,"protocol",br("getProtocol","setProtocol")),v(Mr,"username",br("getUsername","setUsername")),v(Mr,"password",br("getPassword","setPassword")),v(Mr,"host",br("getHost","setHost")),v(Mr,"hostname",br("getHostname","setHostname")),v(Mr,"port",br("getPort","setPort")),v(Mr,"pathname",br("getPathname","setPathname")),v(Mr,"search",br("getSearch","setSearch")),v(Mr,"searchParams",br("getSearchParams")),v(Mr,"hash",br("getHash","setHash"))),c(Mr,"toJSON",function(){return M(this).serialize()},{enumerable:!0}),c(Mr,"toString",function(){return M(this).serialize()},{enumerable:!0}),U){var an=U.createObjectURL,on=U.revokeObjectURL;an&&c(tn,"createObjectURL",i(an,U)),on&&c(tn,"revokeObjectURL",i(on,U))}N(tn,"URL"),n({global:!0,constructor:!0,forced:!a,sham:!e},{URL:tn})},51862:function(u,h,t){t(81888)},24119:function(u,h,t){var n=t(14304),e=t(38941),a=t(95486),s=t(17361),i=t(91918),f=e("URL");n({target:"URL",stat:!0,forced:!i},{parse:function(v){var d=a(arguments.length,1),p=s(v),y=d<2||arguments[1]===void 0?void 0:s(arguments[1]);try{return new f(p,y)}catch(m){return null}}})},97526:function(u,h,t){var n=t(14304),e=t(96499);n({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return e(URL.prototype.toString,this)}})},61969:function(u,h,t){t(40949),t(43657),t(43606),t(15855),t(42026),t(33257),t(59414),t(88344),t(92579),t(94655),t(8565),t(60843),t(65842),t(51595),t(54908),t(81742),t(8720),t(42861),t(27796),t(1341),t(98700),t(65481),t(46509),t(41585),t(84554),t(36619),t(33818),t(64096),t(2209),t(91591),t(74092),t(54703),t(82936),t(48493),t(64730),t(95024),t(35054),t(25460),t(60703),t(90468),t(69581),t(720),t(11042),t(17289),t(24608),t(51644),t(88088),t(46828),t(90088),t(35148),t(86184),t(53983),t(42560),t(88444),t(27839),t(73051),t(9372),t(35473),t(4983),t(6875),t(68575),t(35495),t(32790),t(58594),t(30801),t(90911),t(90429),t(33685),t(60086),t(96049),t(14038),t(55518),t(8894),t(60628),t(56347),t(16864),t(93819),t(11565),t(26668),t(46386),t(35179),t(20150),t(23001),t(40334),t(87457),t(66699),t(17535),t(48157),t(55338),t(6644),t(71332),t(47269),t(25627),t(22090),t(9839),t(15656),t(22091),t(2886),t(25895),t(24228),t(79488),t(75987),t(81555),t(87854),t(35074),t(50946),t(29417),t(80628),t(74375),t(29708),t(93449),t(9111),t(83514),t(15096),t(59590),t(99663),t(89988),t(54427),t(67895),t(57909),t(83938),t(55461),t(97339),t(3670),t(15224),t(45891),t(99910),t(92445),t(21875),t(4383),t(11361),t(13728),t(14885),t(30343),t(22045),t(75e3),t(64658),t(16017),t(84681),t(73421),t(93446),t(31046),t(94645),t(62935),t(62518),t(45130),t(51542),t(43781),t(25738),t(93247),t(41533),t(60225),t(69920),t(89205),t(78546),t(63616),t(16893),t(3676),t(58361),t(7487),t(23958),t(9798),t(2371),t(76185),t(76553),t(93518),t(25227),t(91723),t(57882),t(37796),t(11563),t(26159),t(20962),t(77487),t(6130),t(1354),t(47119),t(31145),t(96773),t(14371),t(18180),t(83147),t(75765),t(86548),t(15282),t(51275),t(91890),t(15089),t(78134),t(56456),t(40735),t(8510),t(70159),t(93087),t(26021),t(93029),t(59158),t(15599),t(18509),t(21579),t(8854),t(57676),t(14527),t(96834),t(52684),t(74980),t(390),t(42794),t(21293),t(18184),t(75012),t(19680),t(4193),t(70641),t(53892),t(95976),t(399),t(72032),t(49442),t(16012),t(9943),t(33128),t(95625),t(90614),t(60120),t(75826),t(25560),t(22571),t(40704),t(36849),t(49191),t(81083),t(27428),t(44884),t(48658),t(71998),t(6116),t(33032),t(80962),t(49381),t(38344),t(65961),t(94153),t(16028),t(20656),t(17063),t(21774),t(51761),t(12317),t(19711),t(41034),t(13313),t(44698),t(7369),t(66178),t(67961),t(8695),t(69997),t(9711),t(3923),t(59728),t(85227),t(56933),t(91490),t(61766),t(85143),t(47005),t(10042),t(37888),t(19431),t(60869),t(50338),t(53059),t(5805),t(50685),t(70649),t(39842),t(82872),t(91401),t(92904),t(28381),t(51862),t(20760),t(24119),t(97526),t(86650),t(10901),t(93944),t(79043),t(75081)}},qr={};function Gr(u){var h=qr[u];if(h!==void 0)return h.exports;var t=qr[u]={exports:{}};return Ne[u].call(t.exports,t,t.exports,Gr),t.exports}(function(){Gr.d=function(u,h){for(var t in h)Gr.o(h,t)&&!Gr.o(u,t)&&Object.defineProperty(u,t,{enumerable:!0,get:h[t]})}})(),function(){Gr.o=function(u,h){return Object.prototype.hasOwnProperty.call(u,h)}}(),Gr(61969);var ne=Gr(33539);return ne=ne.default,ne}()}); +`)&&s.flags==="s")})},85220:function(u,h,t){var n=t(72069),e=t(34246),a=e.RegExp;u.exports=n(function(){var s=a("(?b)","g");return s.exec("b").groups.a!=="b"||"b".replace(s,"$c")!=="bc"})},2068:function(u,h,t){var n=t(5683),e=TypeError;u.exports=function(a){if(n(a))throw new e("Can't call method on "+a);return a}},28167:function(u,h,t){var n=t(34246),e=t(92986),a=Object.getOwnPropertyDescriptor;u.exports=function(s){if(!e)return n[s];var i=a(n,s);return i&&i.value}},13944:function(u){u.exports=Object.is||function(t,n){return t===n?t!==0||1/t===1/n:t!==t&&n!==n}},9934:function(u,h,t){var n=t(34246),e=t(66543),a=t(23583),s=t(21501),i=t(18257),f=t(22806),c=t(95486),v=n.Function,d=/MSIE .\./.test(i)||s==="BUN"&&function(){var p=n.Bun.version.split(".");return p.length<3||p[0]==="0"&&(p[1]<3||p[1]==="3"&&p[2]==="0")}();u.exports=function(p,y){var m=y?2:1;return d?function(S,I){var E=c(arguments.length,1)>m,R=a(S)?S:v(S),N=E?f(arguments,m):[],P=E?function(){e(R,this,N)}:R;return y?p(P,I):p(P)}:p}},48348:function(u,h,t){var n=t(172),e=t(35051),a=n.Set,s=n.add;u.exports=function(i){var f=new a;return e(i,function(c){s(f,c)}),f}},41754:function(u,h,t){var n=t(76602),e=t(172),a=t(48348),s=t(17768),i=t(65263),f=t(35051),c=t(9573),v=e.has,d=e.remove;u.exports=function(y){var m=n(this),S=i(y),I=a(m);return s(m)<=S.size?f(m,function(E){S.includes(E)&&d(I,E)}):c(S.getIterator(),function(E){v(m,E)&&d(I,E)}),I}},172:function(u,h,t){var n=t(11286),e=Set.prototype;u.exports={Set,add:n(e.add),has:n(e.has),remove:n(e.delete),proto:e}},92292:function(u,h,t){var n=t(76602),e=t(172),a=t(17768),s=t(65263),i=t(35051),f=t(9573),c=e.Set,v=e.add,d=e.has;u.exports=function(y){var m=n(this),S=s(y),I=new c;return a(m)>S.size?f(S.getIterator(),function(E){d(m,E)&&v(I,E)}):i(m,function(E){S.includes(E)&&v(I,E)}),I}},47391:function(u,h,t){var n=t(76602),e=t(172).has,a=t(17768),s=t(65263),i=t(35051),f=t(9573),c=t(99797);u.exports=function(d){var p=n(this),y=s(d);if(a(p)<=y.size)return i(p,function(S){if(y.includes(S))return!1},!0)!==!1;var m=y.getIterator();return f(m,function(S){if(e(p,S))return c(m,"normal",!1)})!==!1}},75492:function(u,h,t){var n=t(76602),e=t(17768),a=t(35051),s=t(65263);u.exports=function(f){var c=n(this),v=s(f);return e(c)>v.size?!1:a(c,function(d){if(!v.includes(d))return!1},!0)!==!1}},1333:function(u,h,t){var n=t(76602),e=t(172).has,a=t(17768),s=t(65263),i=t(9573),f=t(99797);u.exports=function(v){var d=n(this),p=s(v);if(a(d)3})}},22149:function(u,h,t){var n=t(11286),e=t(12105),a=t(17361),s=t(2068),i=n("".charAt),f=n("".charCodeAt),c=n("".slice),v=function(d){return function(p,y){var m=a(s(p)),S=e(y),I=m.length,E,R;return S<0||S>=I?d?"":void 0:(E=f(m,S),E<55296||E>56319||S+1===I||(R=f(m,S+1))<56320||R>57343?d?i(m,S):E:d?c(m,S,S+2):(E-55296<<10)+(R-56320)+65536)}};u.exports={codeAt:v(!1),charAt:v(!0)}},36945:function(u,h,t){var n=t(18257);u.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(n)},61607:function(u,h,t){var n=t(11286),e=t(45344),a=t(17361),s=t(79719),i=t(2068),f=n(s),c=n("".slice),v=Math.ceil,d=function(p){return function(y,m,S){var I=a(i(y)),E=e(m),R=I.length,N=S===void 0?" ":a(S),P,C;return E<=R||N===""?I:(P=E-R,C=f(N,v(P/N.length)),C.length>P&&(C=c(C,0,P)),p?I+C:C+I)}};u.exports={start:d(!1),end:d(!0)}},38679:function(u,h,t){var n=t(11286),e=2147483647,a=36,s=1,i=26,f=38,c=700,v=72,d=128,p="-",y=/[^\0-\u007E]/,m=/[.\u3002\uFF0E\uFF61]/g,S="Overflow: input needs wider integers to process",I=a-s,E=RangeError,R=n(m.exec),N=Math.floor,P=String.fromCharCode,C=n("".charCodeAt),b=n([].join),A=n([].push),M=n("".replace),F=n("".split),B=n("".toLowerCase),U=function(w){for(var G=[],V=0,X=w.length;V=55296&&tt<=56319&&V>1,w+=N(w/G);w>I*i>>1;)w=N(w/I),X+=a;return N(X+(I+1)*w/(w+f))},z=function(w){var G=[];w=U(w);var V=w.length,X=d,tt=0,q=v,rt,Z;for(rt=0;rt=X&&ZN((e-tt)/Rt))throw new E(S);for(tt+=(xt-X)*Rt,X=xt,rt=0;rte)throw new E(S);if(Z===X){for(var Nt=tt,Jt=a;;){var Xt=Jt<=q?s:Jt>=q+i?i:Jt-q;if(Nt0;(d>>>=1)&&(c+=c))d&1&&(v+=c);return v}},75176:function(u,h,t){var n=t(85900).end,e=t(33328);u.exports=e("trimEnd")?function(){return n(this)}:"".trimEnd},33328:function(u,h,t){var n=t(86588).PROPER,e=t(72069),a=t(77082),s="\u200B\x85\u180E";u.exports=function(i){return e(function(){return!!a[i]()||s[i]()!==s||n&&a[i].name!==i})}},83481:function(u,h,t){var n=t(85900).start,e=t(33328);u.exports=e("trimStart")?function(){return n(this)}:"".trimStart},85900:function(u,h,t){var n=t(11286),e=t(2068),a=t(17361),s=t(77082),i=n("".replace),f=RegExp("^["+s+"]+"),c=RegExp("(^|[^"+s+"])["+s+"]+$"),v=function(d){return function(p){var y=a(e(p));return d&1&&(y=i(y,f,"")),d&2&&(y=i(y,c,"$1")),y}};u.exports={start:v(1),end:v(2),trim:v(3)}},99050:function(u,h,t){var n=t(34246),e=t(72069),a=t(44241),s=t(21501),i=n.structuredClone;u.exports=!!i&&!e(function(){if(s==="DENO"&&a>92||s==="NODE"&&a>94||s==="BROWSER"&&a>97)return!1;var f=new ArrayBuffer(8),c=i(f,{transfer:[f]});return f.byteLength!==0||c.byteLength!==8})},39729:function(u,h,t){var n=t(44241),e=t(72069),a=t(34246),s=a.String;u.exports=!!Object.getOwnPropertySymbols&&!e(function(){var i=Symbol("symbol detection");return!s(i)||!(Object(i)instanceof Symbol)||!Symbol.sham&&n&&n<41})},60796:function(u,h,t){var n=t(96499),e=t(38941),a=t(18565),s=t(16142);u.exports=function(){var i=e("Symbol"),f=i&&i.prototype,c=f&&f.valueOf,v=a("toPrimitive");f&&!f[v]&&s(f,v,function(d){return n(c,this)},{arity:1})}},61190:function(u,h,t){var n=t(39729);u.exports=n&&!!Symbol.for&&!!Symbol.keyFor},23115:function(u,h,t){var n=t(34246),e=t(66543),a=t(45526),s=t(23583),i=t(94879),f=t(72069),c=t(96439),v=t(22806),d=t(85501),p=t(95486),y=t(5286),m=t(91707),S=n.setImmediate,I=n.clearImmediate,E=n.process,R=n.Dispatch,N=n.Function,P=n.MessageChannel,C=n.String,b=0,A={},M="onreadystatechange",F,B,U,j;f(function(){F=n.location});var W=function(V){if(i(A,V)){var X=A[V];delete A[V],X()}},z=function(V){return function(){W(V)}},w=function(V){W(V.data)},G=function(V){n.postMessage(C(V),F.protocol+"//"+F.host)};(!S||!I)&&(S=function(X){p(arguments.length,1);var tt=s(X)?X:N(X),q=v(arguments,1);return A[++b]=function(){e(tt,void 0,q)},B(b),b},I=function(X){delete A[X]},m?B=function(V){E.nextTick(z(V))}:R&&R.now?B=function(V){R.now(z(V))}:P&&!y?(U=new P,j=U.port2,U.port1.onmessage=w,B=a(j.postMessage,j)):n.addEventListener&&s(n.postMessage)&&!n.importScripts&&F&&F.protocol!=="file:"&&!f(G)?(B=G,n.addEventListener("message",w,!1)):M in d("script")?B=function(V){c.appendChild(d("script"))[M]=function(){c.removeChild(this),W(V)}}:B=function(V){setTimeout(z(V),0)}),u.exports={set:S,clear:I}},34338:function(u,h,t){var n=t(11286);u.exports=n(1 .valueOf)},4652:function(u,h,t){var n=t(12105),e=Math.max,a=Math.min;u.exports=function(s,i){var f=n(s);return f<0?e(f+i,0):a(f,i)}},11344:function(u,h,t){var n=t(89935),e=TypeError;u.exports=function(a){var s=n(a,"number");if(typeof s=="number")throw new e("Can't convert number to bigint");return BigInt(s)}},9450:function(u,h,t){var n=t(12105),e=t(45344),a=RangeError;u.exports=function(s){if(s===void 0)return 0;var i=n(s),f=e(i);if(i!==f)throw new a("Wrong length or index");return f}},36859:function(u,h,t){var n=t(72181),e=t(2068);u.exports=function(a){return n(e(a))}},12105:function(u,h,t){var n=t(22459);u.exports=function(e){var a=+e;return a!==a||a===0?0:n(a)}},45344:function(u,h,t){var n=t(12105),e=Math.min;u.exports=function(a){var s=n(a);return s>0?e(s,9007199254740991):0}},49671:function(u,h,t){var n=t(2068),e=Object;u.exports=function(a){return e(n(a))}},58143:function(u,h,t){var n=t(98072),e=RangeError;u.exports=function(a,s){var i=n(a);if(i%s)throw new e("Wrong offset");return i}},98072:function(u,h,t){var n=t(12105),e=RangeError;u.exports=function(a){var s=n(a);if(s<0)throw new e("The argument can't be less than 0");return s}},89935:function(u,h,t){var n=t(96499),e=t(37540),a=t(491),s=t(10512),i=t(2064),f=t(18565),c=TypeError,v=f("toPrimitive");u.exports=function(d,p){if(!e(d)||a(d))return d;var y=s(d,v),m;if(y){if(p===void 0&&(p="default"),m=n(y,d,p),!e(m)||a(m))return m;throw new c("Can't convert object to primitive value")}return p===void 0&&(p="number"),i(d,p)}},50035:function(u,h,t){var n=t(89935),e=t(491);u.exports=function(a){var s=n(a,"string");return e(s)?s:s+""}},67878:function(u,h,t){var n=t(18565),e=n("toStringTag"),a={};a[e]="z",u.exports=String(a)==="[object z]"},17361:function(u,h,t){var n=t(9205),e=String;u.exports=function(a){if(n(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return e(a)}},76517:function(u){var h=Math.round;u.exports=function(t){var n=h(t);return n<0?0:n>255?255:n&255}},82453:function(u){var h=String;u.exports=function(t){try{return h(t)}catch(n){return"Object"}}},80357:function(u,h,t){var n=t(14304),e=t(34246),a=t(96499),s=t(92986),i=t(46868),f=t(88037),c=t(17468),v=t(12833),d=t(18526),p=t(90809),y=t(613),m=t(45344),S=t(9450),I=t(58143),E=t(76517),R=t(50035),N=t(94879),P=t(9205),C=t(37540),b=t(491),A=t(5406),M=t(95307),F=t(15861),B=t(83258).f,U=t(66169),j=t(66655).forEach,W=t(36167),z=t(85500),w=t(7831),G=t(71349),V=t(5220),X=t(82367),tt=t(32345),q=X.get,rt=X.set,Z=X.enforce,mt=w.f,ht=G.f,xt=e.RangeError,Rt=c.ArrayBuffer,Nt=Rt.prototype,Jt=c.DataView,Xt=f.NATIVE_ARRAY_BUFFER_VIEWS,jt=f.TYPED_ARRAY_TAG,vt=f.TypedArray,Et=f.TypedArrayPrototype,$t=f.isTypedArray,Bt="BYTES_PER_ELEMENT",Ft="Wrong length",Vt=function(rr,Qt){z(rr,Qt,{configurable:!0,get:function(){return q(this)[Qt]}})},nr=function(rr){var Qt;return M(Nt,rr)||(Qt=P(rr))==="ArrayBuffer"||Qt==="SharedArrayBuffer"},tr=function(rr,Qt){return $t(rr)&&!b(Qt)&&Qt in rr&&y(+Qt)&&Qt>=0},Zt=function(Qt,wt){return wt=R(wt),tr(Qt,wt)?d(2,Qt[wt]):ht(Qt,wt)},Ht=function(Qt,wt,ft){return wt=R(wt),tr(Qt,wt)&&C(ft)&&N(ft,"value")&&!N(ft,"get")&&!N(ft,"set")&&!ft.configurable&&(!N(ft,"writable")||ft.writable)&&(!N(ft,"enumerable")||ft.enumerable)?(Qt[wt]=ft.value,Qt):mt(Qt,wt,ft)};s?(Xt||(G.f=Zt,w.f=Ht,Vt(Et,"buffer"),Vt(Et,"byteOffset"),Vt(Et,"byteLength"),Vt(Et,"length")),n({target:"Object",stat:!0,forced:!Xt},{getOwnPropertyDescriptor:Zt,defineProperty:Ht}),u.exports=function(rr,Qt,wt){var ft=rr.match(/\d+/)[0]/8,ct=rr+(wt?"Clamped":"")+"Array",nt="get"+rr,Mt="set"+rr,bt=e[ct],At=bt,Tt=At&&At.prototype,ur={},vr=function(st,yt){var at=q(st);return at.view[nt](yt*ft+at.byteOffset,!0)},Q=function(st,yt,at){var Lt=q(st);Lt.view[Mt](yt*ft+Lt.byteOffset,wt?E(at):at,!0)},ot=function(st,yt){mt(st,yt,{get:function(){return vr(this,yt)},set:function(at){return Q(this,yt,at)},enumerable:!0})};Xt?i&&(At=Qt(function(st,yt,at,Lt){return v(st,Tt),tt(function(){return C(yt)?nr(yt)?Lt!==void 0?new bt(yt,I(at,ft),Lt):at!==void 0?new bt(yt,I(at,ft)):new bt(yt):$t(yt)?V(At,yt):a(U,At,yt):new bt(S(yt))}(),st,At)}),F&&F(At,vt),j(B(bt),function(st){st in At||p(At,st,bt[st])}),At.prototype=Tt):(At=Qt(function(st,yt,at,Lt){v(st,Tt);var er=0,it=0,St,It,Ot;if(!C(yt))Ot=S(yt),It=Ot*ft,St=new Rt(It);else if(nr(yt)){St=yt,it=I(at,ft);var Wt=yt.byteLength;if(Lt===void 0){if(Wt%ft)throw new xt(Ft);if(It=Wt-it,It<0)throw new xt(Ft)}else if(It=m(Lt)*ft,It+it>Wt)throw new xt(Ft);Ot=It/ft}else return $t(yt)?V(At,yt):a(U,At,yt);for(rt(st,{buffer:St,byteOffset:it,byteLength:It,length:Ot,view:new Jt(St)});er1?arguments[1]:void 0,P=N!==void 0,C=c(E),b,A,M,F,B,U,j,W;if(C&&!v(C))for(j=f(E,C),W=j.next,E=[];!(U=e(W,j)).done;)E.push(U.value);for(P&&R>2&&(N=n(N,arguments[2])),A=i(E),M=new(p(I))(A),F=d(M),b=0;A>b;b++)B=P?N(E[b],b):E[b],M[b]=F?y(B):+B;return M}},36374:function(u,h,t){var n=t(11286),e=0,a=Math.random(),s=n(1 .toString);u.exports=function(i){return"Symbol("+(i===void 0?"":i)+")_"+s(++e+a,36)}},91918:function(u,h,t){var n=t(72069),e=t(18565),a=t(92986),s=t(70457),i=e("iterator");u.exports=!n(function(){var f=new URL("b?a=1&b=2&c=3","https://a"),c=f.searchParams,v=new URLSearchParams("a=1&a=2&b=3"),d="";return f.pathname="c%20d",c.forEach(function(p,y){c.delete("b"),d+=y+p}),v.delete("a",2),v.delete("b",void 0),s&&(!f.toJSON||!v.has("a",1)||v.has("a",2)||!v.has("a",void 0)||v.has("b"))||!c.size&&(s||!a)||!c.sort||f.href!=="https://a/c%20d?a=1&c=3"||c.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!c[i]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("https://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("https://a#\u0431").hash!=="#%D0%B1"||d!=="a1c3"||new URL("https://x",void 0).host!=="x"})},50234:function(u,h,t){var n=t(39729);u.exports=n&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},356:function(u,h,t){var n=t(92986),e=t(72069);u.exports=n&&e(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},95486:function(u){var h=TypeError;u.exports=function(t,n){if(tC&&p(w,arguments[C]),w});if(U.prototype=F,A!=="Error"?i?i(U,B):f(U,B,{name:!0}):m&&P in M&&(c(U,M,P),c(U,M,"prepareStackTrace")),f(U,M),!S)try{F.name!==A&&a(F,"name",A),F.constructor=U}catch(j){}return U}}},27796:function(u,h,t){var n=t(14304),e=t(38941),a=t(66543),s=t(72069),i=t(70003),f="AggregateError",c=e(f),v=!s(function(){return c([1]).errors[0]!==1})&&s(function(){return c([1],f,{cause:7}).cause!==7});n({global:!0,constructor:!0,arity:2,forced:v},{AggregateError:i(f,function(d){return function(y,m){return a(d,this,arguments)}},v,!0)})},85647:function(u,h,t){var n=t(14304),e=t(95307),a=t(26313),s=t(15861),i=t(93706),f=t(5406),c=t(90809),v=t(18526),d=t(31486),p=t(97077),y=t(55902),m=t(15453),S=t(18565),I=S("toStringTag"),E=Error,R=[].push,N=function(b,A){var M=e(P,this),F;s?F=s(new E,M?a(this):P):(F=M?this:f(P),c(F,I,"Error")),A!==void 0&&c(F,"message",m(A)),p(F,N,F.stack,1),arguments.length>2&&d(F,arguments[2]);var B=[];return y(b,R,{that:B}),c(F,"errors",B),F};s?s(N,E):i(N,E,{name:!0});var P=N.prototype=f(E.prototype,{constructor:v(1,N),message:v(1,""),name:v(1,"AggregateError")});n({global:!0,constructor:!0,arity:2},{AggregateError:N})},42861:function(u,h,t){t(85647)},35473:function(u,h,t){var n=t(14304),e=t(34246),a=t(17468),s=t(36167),i="ArrayBuffer",f=a[i],c=e[i];n({global:!0,constructor:!0,forced:c!==f},{ArrayBuffer:f}),s(i)},35495:function(u,h,t){var n=t(92986),e=t(85500),a=t(30736),s=ArrayBuffer.prototype;n&&!("detached"in s)&&e(s,"detached",{configurable:!0,get:function(){return a(this)}})},4983:function(u,h,t){var n=t(14304),e=t(88037),a=e.NATIVE_ARRAY_BUFFER_VIEWS;n({target:"ArrayBuffer",stat:!0,forced:!a},{isView:e.isView})},6875:function(u,h,t){var n=t(14304),e=t(77422),a=t(72069),s=t(17468),i=t(25001),f=t(4652),c=t(45344),v=s.ArrayBuffer,d=s.DataView,p=d.prototype,y=e(v.prototype.slice),m=e(p.getUint8),S=e(p.setUint8),I=a(function(){return!new v(2).slice(1,void 0).byteLength});n({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:I},{slice:function(R,N){if(y&&N===void 0)return y(i(this),R);for(var P=i(this).byteLength,C=f(R,P),b=f(N===void 0?P:N,P),A=new v(c(b-C)),M=new d(this),F=new d(A),B=0;C=0?p:d+p;return y<0||y>=d?void 0:v[y]}}),i("at")},98700:function(u,h,t){var n=t(14304),e=t(72069),a=t(3438),s=t(37540),i=t(49671),f=t(82628),c=t(20095),v=t(84082),d=t(62083),p=t(52183),y=t(18565),m=t(44241),S=y("isConcatSpreadable"),I=m>=51||!e(function(){var N=[];return N[S]=!1,N.concat()[0]!==N}),E=function(N){if(!s(N))return!1;var P=N[S];return P!==void 0?!!P:a(N)},R=!I||!p("concat");n({target:"Array",proto:!0,arity:1,forced:R},{concat:function(P){var C=i(this),b=d(C,0),A=0,M,F,B,U,j;for(M=-1,B=arguments.length;M1?arguments[1]:void 0)}})},41585:function(u,h,t){var n=t(14304),e=t(43011),a=t(23811);n({target:"Array",proto:!0},{fill:e}),a("fill")},84554:function(u,h,t){var n=t(14304),e=t(66655).filter,a=t(52183),s=a("filter");n({target:"Array",proto:!0,forced:!s},{filter:function(f){return e(this,f,arguments.length>1?arguments[1]:void 0)}})},33818:function(u,h,t){var n=t(14304),e=t(66655).findIndex,a=t(23811),s="findIndex",i=!0;s in[]&&Array(1)[s](function(){i=!1}),n({target:"Array",proto:!0,forced:i},{findIndex:function(c){return e(this,c,arguments.length>1?arguments[1]:void 0)}}),a(s)},2209:function(u,h,t){var n=t(14304),e=t(73849).findLastIndex,a=t(23811);n({target:"Array",proto:!0},{findLastIndex:function(i){return e(this,i,arguments.length>1?arguments[1]:void 0)}}),a("findLastIndex")},64096:function(u,h,t){var n=t(14304),e=t(73849).findLast,a=t(23811);n({target:"Array",proto:!0},{findLast:function(i){return e(this,i,arguments.length>1?arguments[1]:void 0)}}),a("findLast")},36619:function(u,h,t){var n=t(14304),e=t(66655).find,a=t(23811),s="find",i=!0;s in[]&&Array(1)[s](function(){i=!1}),n({target:"Array",proto:!0,forced:i},{find:function(c){return e(this,c,arguments.length>1?arguments[1]:void 0)}}),a(s)},74092:function(u,h,t){var n=t(14304),e=t(53149),a=t(85156),s=t(49671),i=t(82628),f=t(62083);n({target:"Array",proto:!0},{flatMap:function(v){var d=s(this),p=i(d),y;return a(v),y=f(d,0),y.length=e(y,d,d,p,0,1,v,arguments.length>1?arguments[1]:void 0),y}})},91591:function(u,h,t){var n=t(14304),e=t(53149),a=t(49671),s=t(82628),i=t(12105),f=t(62083);n({target:"Array",proto:!0},{flat:function(){var v=arguments.length?arguments[0]:void 0,d=a(this),p=s(d),y=f(d,0);return y.length=e(y,d,d,p,0,v===void 0?1:i(v)),y}})},54703:function(u,h,t){var n=t(14304),e=t(13349);n({target:"Array",proto:!0,forced:[].forEach!==e},{forEach:e})},82936:function(u,h,t){var n=t(14304),e=t(48258),a=t(97494),s=!a(function(i){Array.from(i)});n({target:"Array",stat:!0,forced:s},{from:e})},48493:function(u,h,t){var n=t(14304),e=t(94319).includes,a=t(72069),s=t(23811),i=a(function(){return!Array(1).includes()});n({target:"Array",proto:!0,forced:i},{includes:function(c){return e(this,c,arguments.length>1?arguments[1]:void 0)}}),s("includes")},64730:function(u,h,t){var n=t(14304),e=t(77422),a=t(94319).indexOf,s=t(6148),i=e([].indexOf),f=!!i&&1/i([1],1,-0)<0,c=f||!s("indexOf");n({target:"Array",proto:!0,forced:c},{indexOf:function(d){var p=arguments.length>1?arguments[1]:void 0;return f?i(this,d,p)||0:a(this,d,p)}})},95024:function(u,h,t){var n=t(14304),e=t(3438);n({target:"Array",stat:!0},{isArray:e})},35054:function(u,h,t){var n=t(36859),e=t(23811),a=t(29107),s=t(82367),i=t(7831).f,f=t(10218),c=t(10659),v=t(70457),d=t(92986),p="Array Iterator",y=s.set,m=s.getterFor(p);u.exports=f(Array,"Array",function(I,E){y(this,{type:p,target:n(I),index:0,kind:E})},function(){var I=m(this),E=I.target,R=I.index++;if(!E||R>=E.length)return I.target=null,c(void 0,!0);switch(I.kind){case"keys":return c(R,!1);case"values":return c(E[R],!1)}return c([R,E[R]],!1)},"values");var S=a.Arguments=a.Array;if(e("keys"),e("values"),e("entries"),!v&&d&&S.name!=="values")try{i(S,"name",{value:"values"})}catch(I){}},25460:function(u,h,t){var n=t(14304),e=t(11286),a=t(72181),s=t(36859),i=t(6148),f=e([].join),c=a!==Object,v=c||!i("join",",");n({target:"Array",proto:!0,forced:v},{join:function(p){return f(s(this),p===void 0?",":p)}})},60703:function(u,h,t){var n=t(14304),e=t(58465);n({target:"Array",proto:!0,forced:e!==[].lastIndexOf},{lastIndexOf:e})},90468:function(u,h,t){var n=t(14304),e=t(66655).map,a=t(52183),s=a("map");n({target:"Array",proto:!0,forced:!s},{map:function(f){return e(this,f,arguments.length>1?arguments[1]:void 0)}})},69581:function(u,h,t){var n=t(14304),e=t(72069),a=t(11051),s=t(84082),i=Array,f=e(function(){function c(){}return!(i.of.call(c)instanceof c)});n({target:"Array",stat:!0,forced:f},{of:function(){for(var v=0,d=arguments.length,p=new(a(this)?this:i)(d);d>v;)s(p,v,arguments[v++]);return p.length=d,p}})},720:function(u,h,t){var n=t(14304),e=t(49671),a=t(82628),s=t(2213),i=t(20095),f=t(72069),c=f(function(){return[].push.call({length:4294967296},1)!==4294967297}),v=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(p){return p instanceof TypeError}},d=c||!v();n({target:"Array",proto:!0,arity:1,forced:d},{push:function(y){var m=e(this),S=a(m),I=arguments.length;i(S+I);for(var E=0;E79&&s<83,c=f||!a("reduceRight");n({target:"Array",proto:!0,forced:c},{reduceRight:function(d){return e(this,d,arguments.length,arguments.length>1?arguments[1]:void 0)}})},11042:function(u,h,t){var n=t(14304),e=t(97264).left,a=t(6148),s=t(44241),i=t(91707),f=!i&&s>79&&s<83,c=f||!a("reduce");n({target:"Array",proto:!0,forced:c},{reduce:function(d){var p=arguments.length;return e(this,d,p,p>1?arguments[1]:void 0)}})},24608:function(u,h,t){var n=t(14304),e=t(11286),a=t(3438),s=e([].reverse),i=[1,2];n({target:"Array",proto:!0,forced:String(i)===String(i.reverse())},{reverse:function(){return a(this)&&(this.length=this.length),s(this)}})},51644:function(u,h,t){var n=t(14304),e=t(3438),a=t(11051),s=t(37540),i=t(4652),f=t(82628),c=t(36859),v=t(84082),d=t(18565),p=t(52183),y=t(22806),m=p("slice"),S=d("species"),I=Array,E=Math.max;n({target:"Array",proto:!0,forced:!m},{slice:function(N,P){var C=c(this),b=f(C),A=i(N,b),M=i(P===void 0?b:P,b),F,B,U;if(e(C)&&(F=C.constructor,a(F)&&(F===I||e(F.prototype))?F=void 0:s(F)&&(F=F[S],F===null&&(F=void 0)),F===I||F===void 0))return y(C,A,M);for(B=new(F===void 0?I:F)(E(M-A,0)),U=0;A1?arguments[1]:void 0)}})},46828:function(u,h,t){var n=t(14304),e=t(11286),a=t(85156),s=t(49671),i=t(82628),f=t(12384),c=t(17361),v=t(72069),d=t(13270),p=t(6148),y=t(507),m=t(17417),S=t(44241),I=t(66577),E=[],R=e(E.sort),N=e(E.push),P=v(function(){E.sort(void 0)}),C=v(function(){E.sort(null)}),b=p("sort"),A=!v(function(){if(S)return S<70;if(!(y&&y>3)){if(m)return!0;if(I)return I<603;var B="",U,j,W,z;for(U=65;U<76;U++){switch(j=String.fromCharCode(U),U){case 66:case 69:case 70:case 72:W=3;break;case 68:case 71:W=4;break;default:W=2}for(z=0;z<47;z++)E.push({k:j+z,v:W})}for(E.sort(function(w,G){return G.v-w.v}),z=0;zc(j)?1:-1}};n({target:"Array",proto:!0,forced:M},{sort:function(U){U!==void 0&&a(U);var j=s(this);if(A)return U===void 0?R(j):R(j,U);var W=[],z=i(j),w,G;for(G=0;GC-F+M;U--)p(P,U-1)}else if(M>F)for(U=C-F;U>b;U--)j=U+F-1,W=U+M-1,j in P?P[W]=P[j]:p(P,W);for(U=0;U=0&&d<=99?d+1900:d;return f(this,p)}})},33685:function(u,h,t){var n=t(14304);n({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString})},60086:function(u,h,t){var n=t(14304),e=t(11890);n({target:"Date",proto:!0,forced:Date.prototype.toISOString!==e},{toISOString:e})},96049:function(u,h,t){var n=t(14304),e=t(72069),a=t(49671),s=t(89935),i=e(function(){return new Date(NaN).toJSON()!==null||Date.prototype.toJSON.call({toISOString:function(){return 1}})!==1});n({target:"Date",proto:!0,arity:1,forced:i},{toJSON:function(c){var v=a(this),d=s(v,"number");return typeof d=="number"&&!isFinite(d)?null:v.toISOString()}})},14038:function(u,h,t){var n=t(94879),e=t(16142),a=t(84306),s=t(18565),i=s("toPrimitive"),f=Date.prototype;n(f,i)||e(f,i,a)},55518:function(u,h,t){var n=t(11286),e=t(16142),a=Date.prototype,s="Invalid Date",i="toString",f=n(a[i]),c=n(a.getTime);String(new Date(NaN))!==s&&e(a,i,function(){var d=c(this);return d===d?f(this):s})},81742:function(u,h,t){var n=t(14304),e=t(34246),a=t(66543),s=t(70003),i="WebAssembly",f=e[i],c=new Error("e",{cause:7}).cause!==7,v=function(p,y){var m={};m[p]=s(p,y,c),n({global:!0,constructor:!0,arity:1,forced:c},m)},d=function(p,y){if(f&&f[p]){var m={};m[p]=s(i+"."+p,y,c),n({target:i,stat:!0,constructor:!0,arity:1,forced:c},m)}};v("Error",function(p){return function(m){return a(p,this,arguments)}}),v("EvalError",function(p){return function(m){return a(p,this,arguments)}}),v("RangeError",function(p){return function(m){return a(p,this,arguments)}}),v("ReferenceError",function(p){return function(m){return a(p,this,arguments)}}),v("SyntaxError",function(p){return function(m){return a(p,this,arguments)}}),v("TypeError",function(p){return function(m){return a(p,this,arguments)}}),v("URIError",function(p){return function(m){return a(p,this,arguments)}}),d("CompileError",function(p){return function(m){return a(p,this,arguments)}}),d("LinkError",function(p){return function(m){return a(p,this,arguments)}}),d("RuntimeError",function(p){return function(m){return a(p,this,arguments)}})},8720:function(u,h,t){var n=t(16142),e=t(58434),a=Error.prototype;a.toString!==e&&n(a,"toString",e)},8894:function(u,h,t){var n=t(14304),e=t(11286),a=t(17361),s=e("".charAt),i=e("".charCodeAt),f=e(/./.exec),c=e(1 .toString),v=e("".toUpperCase),d=/[\w*+\-./@]/,p=function(y,m){for(var S=c(y,16);S.length9490626562425156e-8?s(p)+f:e(p-1+i(p-1)*i(p+1))}})},15656:function(u,h,t){var n=t(14304),e=Math.asinh,a=Math.log,s=Math.sqrt;function i(c){var v=+c;return!isFinite(v)||v===0?v:v<0?-i(-v):a(v+s(v*v+1))}var f=!(e&&1/e(0)>0);n({target:"Math",stat:!0,forced:f},{asinh:i})},22091:function(u,h,t){var n=t(14304),e=Math.atanh,a=Math.log,s=!(e&&1/e(-0)<0);n({target:"Math",stat:!0,forced:s},{atanh:function(f){var c=+f;return c===0?c:a((1+c)/(1-c))/2}})},2886:function(u,h,t){var n=t(14304),e=t(93976),a=Math.abs,s=Math.pow;n({target:"Math",stat:!0},{cbrt:function(f){var c=+f;return e(c)*s(a(c),.3333333333333333)}})},25895:function(u,h,t){var n=t(14304),e=Math.floor,a=Math.log,s=Math.LOG2E;n({target:"Math",stat:!0},{clz32:function(f){var c=f>>>0;return c?31-e(a(c+.5)*s):32}})},24228:function(u,h,t){var n=t(14304),e=t(98940),a=Math.cosh,s=Math.abs,i=Math.E,f=!a||a(710)===1/0;n({target:"Math",stat:!0,forced:f},{cosh:function(v){var d=e(s(v)-1)+1;return(d+1/(d*i*i))*(i/2)}})},79488:function(u,h,t){var n=t(14304),e=t(98940);n({target:"Math",stat:!0,forced:e!==Math.expm1},{expm1:e})},75987:function(u,h,t){var n=t(14304),e=t(93279);n({target:"Math",stat:!0},{fround:e})},81555:function(u,h,t){var n=t(14304),e=Math.hypot,a=Math.abs,s=Math.sqrt,i=!!e&&e(1/0,NaN)!==1/0;n({target:"Math",stat:!0,arity:2,forced:i},{hypot:function(c,v){for(var d=0,p=0,y=arguments.length,m=0,S,I;p0?(I=S/m,d+=I*I):d+=S;return m===1/0?1/0:m*s(d)}})},87854:function(u,h,t){var n=t(14304),e=t(72069),a=Math.imul,s=e(function(){return a(4294967295,5)!==-5||a.length!==2});n({target:"Math",stat:!0,forced:s},{imul:function(f,c){var v=65535,d=+f,p=+c,y=v&d,m=v&p;return 0|y*m+((v&d>>>16)*m+y*(v&p>>>16)<<16>>>0)}})},35074:function(u,h,t){var n=t(14304),e=t(41942);n({target:"Math",stat:!0},{log10:e})},50946:function(u,h,t){var n=t(14304),e=t(49366);n({target:"Math",stat:!0},{log1p:e})},29417:function(u,h,t){var n=t(14304),e=Math.log,a=Math.LN2;n({target:"Math",stat:!0},{log2:function(i){return e(i)/a}})},80628:function(u,h,t){var n=t(14304),e=t(93976);n({target:"Math",stat:!0},{sign:e})},74375:function(u,h,t){var n=t(14304),e=t(72069),a=t(98940),s=Math.abs,i=Math.exp,f=Math.E,c=e(function(){return Math.sinh(-2e-17)!==-2e-17});n({target:"Math",stat:!0,forced:c},{sinh:function(d){var p=+d;return s(p)<1?(a(p)-a(-p))/2:(i(p-1)-i(-p-1))*(f/2)}})},29708:function(u,h,t){var n=t(14304),e=t(98940),a=Math.exp;n({target:"Math",stat:!0},{tanh:function(i){var f=+i,c=e(f),v=e(-f);return c===1/0?1:v===1/0?-1:(c-v)/(a(f)+a(-f))}})},93449:function(u,h,t){var n=t(78401);n(Math,"Math",!0)},9111:function(u,h,t){var n=t(14304),e=t(22459);n({target:"Math",stat:!0},{trunc:e})},83514:function(u,h,t){var n=t(14304),e=t(70457),a=t(92986),s=t(34246),i=t(75081),f=t(11286),c=t(13278),v=t(94879),d=t(32345),p=t(95307),y=t(491),m=t(89935),S=t(72069),I=t(83258).f,E=t(71349).f,R=t(7831).f,N=t(34338),P=t(85900).trim,C="Number",b=s[C],A=i[C],M=b.prototype,F=s.TypeError,B=f("".slice),U=f("".charCodeAt),j=function(X){var tt=m(X,"number");return typeof tt=="bigint"?tt:W(tt)},W=function(X){var tt=m(X,"number"),q,rt,Z,mt,ht,xt,Rt,Nt;if(y(tt))throw new F("Cannot convert a Symbol value to a number");if(typeof tt=="string"&&tt.length>2){if(tt=P(tt),q=U(tt,0),q===43||q===45){if(rt=U(tt,2),rt===88||rt===120)return NaN}else if(q===48){switch(U(tt,1)){case 66:case 98:Z=2,mt=49;break;case 79:case 111:Z=8,mt=55;break;default:return+tt}for(ht=B(tt,2),xt=ht.length,Rt=0;Rtmt)return NaN;return parseInt(ht,Z)}}return+tt},z=c(C,!b(" 0o1")||!b("0b1")||b("+0x1")),w=function(X){return p(M,X)&&S(function(){N(X)})},G=function(tt){var q=arguments.length<1?0:b(j(tt));return w(this)?d(Object(q),this,G):q};G.prototype=M,z&&!e&&(M.constructor=G),n({global:!0,constructor:!0,wrap:!0,forced:z},{Number:G});var V=function(X,tt){for(var q=a?I(tt):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),rt=0,Z;q.length>rt;rt++)v(tt,Z=q[rt])&&!v(X,Z)&&R(X,Z,E(tt,Z))};e&&A&&V(i[C],A),(z||e)&&V(i[C],b)},15096:function(u,h,t){var n=t(14304);n({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},59590:function(u,h,t){var n=t(14304),e=t(98074);n({target:"Number",stat:!0},{isFinite:e})},99663:function(u,h,t){var n=t(14304),e=t(613);n({target:"Number",stat:!0},{isInteger:e})},89988:function(u,h,t){var n=t(14304);n({target:"Number",stat:!0},{isNaN:function(a){return a!==a}})},54427:function(u,h,t){var n=t(14304),e=t(613),a=Math.abs;n({target:"Number",stat:!0},{isSafeInteger:function(i){return e(i)&&a(i)<=9007199254740991}})},67895:function(u,h,t){var n=t(14304);n({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},57909:function(u,h,t){var n=t(14304);n({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},83938:function(u,h,t){var n=t(14304),e=t(25838);n({target:"Number",stat:!0,forced:Number.parseFloat!==e},{parseFloat:e})},55461:function(u,h,t){var n=t(14304),e=t(23009);n({target:"Number",stat:!0,forced:Number.parseInt!==e},{parseInt:e})},97339:function(u,h,t){var n=t(14304),e=t(11286),a=t(12105),s=t(34338),i=t(79719),f=t(41942),c=t(72069),v=RangeError,d=String,p=isFinite,y=Math.abs,m=Math.floor,S=Math.pow,I=Math.round,E=e(1 .toExponential),R=e(i),N=e("".slice),P=E(-69e-12,4)==="-6.9000e-11"&&E(1.255,2)==="1.25e+0"&&E(12345,3)==="1.235e+4"&&E(25,0)==="3e+1",C=function(){return c(function(){E(1,1/0)})&&c(function(){E(1,-1/0)})},b=function(){return!c(function(){E(1/0,1/0),E(NaN,1/0)})},A=!P||!C()||!b();n({target:"Number",proto:!0,forced:A},{toExponential:function(F){var B=s(this);if(F===void 0)return E(B);var U=a(F);if(!p(B))return String(B);if(U<0||U>20)throw new v("Incorrect fraction digits");if(P)return E(B,U);var j="",W,z,w,G;if(B<0&&(j="-",B=-B),B===0)z=0,W=R("0",U+1);else{var V=f(B);z=m(V);var X=S(10,z-U),tt=I(B/X);2*B>=(2*tt+1)*X&&(tt+=1),tt>=S(10,U+1)&&(tt/=10,z+=1),W=d(tt)}return U!==0&&(W=N(W,0,1)+"."+N(W,1)),z===0?(w="+",G="0"):(w=z>0?"+":"-",G=d(y(z))),W+="e"+w+G,j+W}})},3670:function(u,h,t){var n=t(14304),e=t(11286),a=t(12105),s=t(34338),i=t(79719),f=t(72069),c=RangeError,v=String,d=Math.floor,p=e(i),y=e("".slice),m=e(1 .toFixed),S=function(C,b,A){return b===0?A:b%2===1?S(C,b-1,A*C):S(C*C,b/2,A)},I=function(C){for(var b=0,A=C;A>=4096;)b+=12,A/=4096;for(;A>=2;)b+=1,A/=2;return b},E=function(C,b,A){for(var M=-1,F=A;++M<6;)F+=b*C[M],C[M]=F%1e7,F=d(F/1e7)},R=function(C,b){for(var A=6,M=0;--A>=0;)M+=C[A],C[A]=d(M/b),M=M%b*1e7},N=function(C){for(var b=6,A="";--b>=0;)if(A!==""||b===0||C[b]!==0){var M=v(C[b]);A=A===""?M:A+p("0",7-M.length)+M}return A},P=f(function(){return m(8e-5,3)!=="0.000"||m(.9,0)!=="1"||m(1.255,2)!=="1.25"||m(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!f(function(){m({})});n({target:"Number",proto:!0,forced:P},{toFixed:function(b){var A=s(this),M=a(b),F=[0,0,0,0,0,0],B="",U="0",j,W,z,w;if(M<0||M>20)throw new c("Incorrect fraction digits");if(A!==A)return"NaN";if(A<=-1e21||A>=1e21)return v(A);if(A<0&&(B="-",A=-A),A>1e-21)if(j=I(A*S(2,69,1))-69,W=j<0?A*S(2,-j,1):A/S(2,j,1),W*=4503599627370496,j=52-j,j>0){for(E(F,0,W),z=M;z>=7;)E(F,1e7,0),z-=7;for(E(F,S(10,z,1),0),z=j-1;z>=23;)R(F,8388608),z-=23;R(F,1<0?(w=U.length,U=B+(w<=M?"0."+p("0",M-w)+U:y(U,0,w-M)+"."+y(U,w-M))):U=B+U,U}})},15224:function(u,h,t){var n=t(14304),e=t(11286),a=t(72069),s=t(34338),i=e(1 .toPrecision),f=a(function(){return i(1,void 0)!=="1"})||!a(function(){i({})});n({target:"Number",proto:!0,forced:f},{toPrecision:function(v){return v===void 0?i(s(this)):i(s(this),v)}})},45891:function(u,h,t){var n=t(14304),e=t(16667);n({target:"Object",stat:!0,arity:2,forced:Object.assign!==e},{assign:e})},99910:function(u,h,t){var n=t(14304),e=t(92986),a=t(5406);n({target:"Object",stat:!0,sham:!e},{create:a})},92445:function(u,h,t){var n=t(14304),e=t(92986),a=t(57629),s=t(85156),i=t(49671),f=t(7831);e&&n({target:"Object",proto:!0,forced:a},{__defineGetter__:function(v,d){f.f(i(this),v,{get:s(d),enumerable:!0,configurable:!0})}})},21875:function(u,h,t){var n=t(14304),e=t(92986),a=t(61963).f;n({target:"Object",stat:!0,forced:Object.defineProperties!==a,sham:!e},{defineProperties:a})},4383:function(u,h,t){var n=t(14304),e=t(92986),a=t(7831).f;n({target:"Object",stat:!0,forced:Object.defineProperty!==a,sham:!e},{defineProperty:a})},11361:function(u,h,t){var n=t(14304),e=t(92986),a=t(57629),s=t(85156),i=t(49671),f=t(7831);e&&n({target:"Object",proto:!0,forced:a},{__defineSetter__:function(v,d){f.f(i(this),v,{set:s(d),enumerable:!0,configurable:!0})}})},13728:function(u,h,t){var n=t(14304),e=t(8511).entries;n({target:"Object",stat:!0},{entries:function(s){return e(s)}})},14885:function(u,h,t){var n=t(14304),e=t(27534),a=t(72069),s=t(37540),i=t(31853).onFreeze,f=Object.freeze,c=a(function(){f(1)});n({target:"Object",stat:!0,forced:c,sham:!e},{freeze:function(d){return f&&s(d)?f(i(d)):d}})},30343:function(u,h,t){var n=t(14304),e=t(55902),a=t(84082);n({target:"Object",stat:!0},{fromEntries:function(i){var f={};return e(i,function(c,v){a(f,c,v)},{AS_ENTRIES:!0}),f}})},22045:function(u,h,t){var n=t(14304),e=t(72069),a=t(36859),s=t(71349).f,i=t(92986),f=!i||e(function(){s(1)});n({target:"Object",stat:!0,forced:f,sham:!i},{getOwnPropertyDescriptor:function(v,d){return s(a(v),d)}})},75e3:function(u,h,t){var n=t(14304),e=t(92986),a=t(16885),s=t(36859),i=t(71349),f=t(84082);n({target:"Object",stat:!0,sham:!e},{getOwnPropertyDescriptors:function(v){for(var d=s(v),p=i.f,y=a(d),m={},S=0,I,E;y.length>S;)E=p(d,I=y[S++]),E!==void 0&&f(m,I,E);return m}})},64658:function(u,h,t){var n=t(14304),e=t(72069),a=t(92880).f,s=e(function(){return!Object.getOwnPropertyNames(1)});n({target:"Object",stat:!0,forced:s},{getOwnPropertyNames:a})},45223:function(u,h,t){var n=t(14304),e=t(39729),a=t(72069),s=t(24943),i=t(49671),f=!e||a(function(){s.f(1)});n({target:"Object",stat:!0,forced:f},{getOwnPropertySymbols:function(v){var d=s.f;return d?d(i(v)):[]}})},16017:function(u,h,t){var n=t(14304),e=t(72069),a=t(49671),s=t(26313),i=t(87501),f=e(function(){s(1)});n({target:"Object",stat:!0,forced:f,sham:!i},{getPrototypeOf:function(v){return s(a(v))}})},84681:function(u,h,t){var n=t(14304),e=t(38941),a=t(11286),s=t(85156),i=t(2068),f=t(50035),c=t(55902),v=t(72069),d=Object.groupBy,p=e("Object","create"),y=a([].push),m=!d||v(function(){return d("ab",function(S){return S}).a.length!==1});n({target:"Object",stat:!0,forced:m},{groupBy:function(I,E){i(I),s(E);var R=p(null),N=0;return c(I,function(P){var C=f(E(P,N++));C in R?y(R[C],P):R[C]=[P]}),R}})},73421:function(u,h,t){var n=t(14304),e=t(94879);n({target:"Object",stat:!0},{hasOwn:e})},31046:function(u,h,t){var n=t(14304),e=t(28174);n({target:"Object",stat:!0,forced:Object.isExtensible!==e},{isExtensible:e})},94645:function(u,h,t){var n=t(14304),e=t(72069),a=t(37540),s=t(14274),i=t(72058),f=Object.isFrozen,c=i||e(function(){f(1)});n({target:"Object",stat:!0,forced:c},{isFrozen:function(d){return!a(d)||i&&s(d)==="ArrayBuffer"?!0:f?f(d):!1}})},62935:function(u,h,t){var n=t(14304),e=t(72069),a=t(37540),s=t(14274),i=t(72058),f=Object.isSealed,c=i||e(function(){f(1)});n({target:"Object",stat:!0,forced:c},{isSealed:function(d){return!a(d)||i&&s(d)==="ArrayBuffer"?!0:f?f(d):!1}})},93446:function(u,h,t){var n=t(14304),e=t(13944);n({target:"Object",stat:!0},{is:e})},62518:function(u,h,t){var n=t(14304),e=t(49671),a=t(18350),s=t(72069),i=s(function(){a(1)});n({target:"Object",stat:!0,forced:i},{keys:function(c){return a(e(c))}})},45130:function(u,h,t){var n=t(14304),e=t(92986),a=t(57629),s=t(49671),i=t(50035),f=t(26313),c=t(71349).f;e&&n({target:"Object",proto:!0,forced:a},{__lookupGetter__:function(d){var p=s(this),y=i(d),m;do if(m=c(p,y))return m.get;while(p=f(p))}})},51542:function(u,h,t){var n=t(14304),e=t(92986),a=t(57629),s=t(49671),i=t(50035),f=t(26313),c=t(71349).f;e&&n({target:"Object",proto:!0,forced:a},{__lookupSetter__:function(d){var p=s(this),y=i(d),m;do if(m=c(p,y))return m.set;while(p=f(p))}})},43781:function(u,h,t){var n=t(14304),e=t(37540),a=t(31853).onFreeze,s=t(27534),i=t(72069),f=Object.preventExtensions,c=i(function(){f(1)});n({target:"Object",stat:!0,forced:c,sham:!s},{preventExtensions:function(d){return f&&e(d)?f(a(d)):d}})},25738:function(u,h,t){var n=t(92986),e=t(85500),a=t(37540),s=t(52427),i=t(49671),f=t(2068),c=Object.getPrototypeOf,v=Object.setPrototypeOf,d=Object.prototype,p="__proto__";if(n&&c&&v&&!(p in d))try{e(d,p,{configurable:!0,get:function(){return c(i(this))},set:function(m){var S=f(this);s(m)&&a(S)&&v(S,m)}})}catch(y){}},93247:function(u,h,t){var n=t(14304),e=t(37540),a=t(31853).onFreeze,s=t(27534),i=t(72069),f=Object.seal,c=i(function(){f(1)});n({target:"Object",stat:!0,forced:c,sham:!s},{seal:function(d){return f&&e(d)?f(a(d)):d}})},41533:function(u,h,t){var n=t(14304),e=t(15861);n({target:"Object",stat:!0},{setPrototypeOf:e})},60225:function(u,h,t){var n=t(67878),e=t(16142),a=t(60105);n||e(Object.prototype,"toString",a,{unsafe:!0})},69920:function(u,h,t){var n=t(14304),e=t(8511).values;n({target:"Object",stat:!0},{values:function(s){return e(s)}})},89205:function(u,h,t){var n=t(14304),e=t(25838);n({global:!0,forced:parseFloat!==e},{parseFloat:e})},78546:function(u,h,t){var n=t(14304),e=t(23009);n({global:!0,forced:parseInt!==e},{parseInt:e})},16893:function(u,h,t){var n=t(14304),e=t(96499),a=t(85156),s=t(24649),i=t(67805),f=t(55902),c=t(26035);n({target:"Promise",stat:!0,forced:c},{allSettled:function(d){var p=this,y=s.f(p),m=y.resolve,S=y.reject,I=i(function(){var E=a(p.resolve),R=[],N=0,P=1;f(d,function(C){var b=N++,A=!1;P++,e(E,p,C).then(function(M){A||(A=!0,R[b]={status:"fulfilled",value:M},--P||m(R))},function(M){A||(A=!0,R[b]={status:"rejected",reason:M},--P||m(R))})}),--P||m(R)});return I.error&&S(I.value),y.promise}})},11733:function(u,h,t){var n=t(14304),e=t(96499),a=t(85156),s=t(24649),i=t(67805),f=t(55902),c=t(26035);n({target:"Promise",stat:!0,forced:c},{all:function(d){var p=this,y=s.f(p),m=y.resolve,S=y.reject,I=i(function(){var E=a(p.resolve),R=[],N=0,P=1;f(d,function(C){var b=N++,A=!1;P++,e(E,p,C).then(function(M){A||(A=!0,R[b]=M,--P||m(R))},S)}),--P||m(R)});return I.error&&S(I.value),y.promise}})},3676:function(u,h,t){var n=t(14304),e=t(96499),a=t(85156),s=t(38941),i=t(24649),f=t(67805),c=t(55902),v=t(26035),d="No one promise resolved";n({target:"Promise",stat:!0,forced:v},{any:function(y){var m=this,S=s("AggregateError"),I=i.f(m),E=I.resolve,R=I.reject,N=f(function(){var P=a(m.resolve),C=[],b=0,A=1,M=!1;c(y,function(F){var B=b++,U=!1;A++,e(P,m,F).then(function(j){U||M||(M=!0,E(j))},function(j){U||M||(U=!0,C[B]=j,--A||R(new S(C,d)))})}),--A||R(new S(C,d))});return N.error&&R(N.value),I.promise}})},14013:function(u,h,t){var n=t(14304),e=t(70457),a=t(37130).CONSTRUCTOR,s=t(98844),i=t(38941),f=t(23583),c=t(16142),v=s&&s.prototype;if(n({target:"Promise",proto:!0,forced:a,real:!0},{catch:function(p){return this.then(void 0,p)}}),!e&&f(s)){var d=i("Promise").prototype.catch;v.catch!==d&&c(v,"catch",d,{unsafe:!0})}},20238:function(u,h,t){var n=t(14304),e=t(70457),a=t(91707),s=t(34246),i=t(96499),f=t(16142),c=t(15861),v=t(78401),d=t(36167),p=t(85156),y=t(23583),m=t(37540),S=t(12833),I=t(16887),E=t(23115).set,R=t(9709),N=t(99095),P=t(67805),C=t(76895),b=t(82367),A=t(98844),M=t(37130),F=t(24649),B="Promise",U=M.CONSTRUCTOR,j=M.REJECTION_EVENT,W=M.SUBCLASSING,z=b.getterFor(B),w=b.set,G=A&&A.prototype,V=A,X=G,tt=s.TypeError,q=s.document,rt=s.process,Z=F.f,mt=Z,ht=!!(q&&q.createEvent&&s.dispatchEvent),xt="unhandledrejection",Rt="rejectionhandled",Nt=0,Jt=1,Xt=2,jt=1,vt=2,Et,$t,Bt,Ft,Vt=function(nt){var Mt;return m(nt)&&y(Mt=nt.then)?Mt:!1},nr=function(nt,Mt){var bt=Mt.value,At=Mt.state===Jt,Tt=At?nt.ok:nt.fail,ur=nt.resolve,vr=nt.reject,Q=nt.domain,ot,lt,st;try{Tt?(At||(Mt.rejection===vt&&Qt(Mt),Mt.rejection=jt),Tt===!0?ot=bt:(Q&&Q.enter(),ot=Tt(bt),Q&&(Q.exit(),st=!0)),ot===nt.promise?vr(new tt("Promise-chain cycle")):(lt=Vt(ot))?i(lt,ot,ur,vr):ur(ot)):vr(bt)}catch(yt){Q&&!st&&Q.exit(),vr(yt)}},tr=function(nt,Mt){nt.notified||(nt.notified=!0,R(function(){for(var bt=nt.reactions,At;At=bt.get();)nr(At,nt);nt.notified=!1,Mt&&!nt.rejection&&Ht(nt)}))},Zt=function(nt,Mt,bt){var At,Tt;ht?(At=q.createEvent("Event"),At.promise=Mt,At.reason=bt,At.initEvent(nt,!1,!0),s.dispatchEvent(At)):At={promise:Mt,reason:bt},!j&&(Tt=s["on"+nt])?Tt(At):nt===xt&&N("Unhandled promise rejection",bt)},Ht=function(nt){i(E,s,function(){var Mt=nt.facade,bt=nt.value,At=rr(nt),Tt;if(At&&(Tt=P(function(){a?rt.emit("unhandledRejection",bt,Mt):Zt(xt,Mt,bt)}),nt.rejection=a||rr(nt)?vt:jt,Tt.error))throw Tt.value})},rr=function(nt){return nt.rejection!==jt&&!nt.parent},Qt=function(nt){i(E,s,function(){var Mt=nt.facade;a?rt.emit("rejectionHandled",Mt):Zt(Rt,Mt,nt.value)})},wt=function(nt,Mt,bt){return function(At){nt(Mt,At,bt)}},ft=function(nt,Mt,bt){nt.done||(nt.done=!0,bt&&(nt=bt),nt.value=Mt,nt.state=Xt,tr(nt,!0))},ct=function(nt,Mt,bt){if(!nt.done){nt.done=!0,bt&&(nt=bt);try{if(nt.facade===Mt)throw new tt("Promise can't be resolved itself");var At=Vt(Mt);At?R(function(){var Tt={done:!1};try{i(At,Mt,wt(ct,Tt,nt),wt(ft,Tt,nt))}catch(ur){ft(Tt,ur,nt)}}):(nt.value=Mt,nt.state=Jt,tr(nt,!1))}catch(Tt){ft({done:!1},Tt,nt)}}};if(U&&(V=function(Mt){S(this,X),p(Mt),i(Et,this);var bt=z(this);try{Mt(wt(ct,bt),wt(ft,bt))}catch(At){ft(bt,At)}},X=V.prototype,Et=function(Mt){w(this,{type:B,done:!1,notified:!1,parent:!1,reactions:new C,rejection:!1,state:Nt,value:null})},Et.prototype=f(X,"then",function(Mt,bt){var At=z(this),Tt=Z(I(this,V));return At.parent=!0,Tt.ok=y(Mt)?Mt:!0,Tt.fail=y(bt)&&bt,Tt.domain=a?rt.domain:void 0,At.state===Nt?At.reactions.add(Tt):R(function(){nr(Tt,At)}),Tt.promise}),$t=function(){var nt=new Et,Mt=z(nt);this.promise=nt,this.resolve=wt(ct,Mt),this.reject=wt(ft,Mt)},F.f=Z=function(nt){return nt===V||nt===Bt?new $t(nt):mt(nt)},!e&&y(A)&&G!==Object.prototype)){Ft=G.then,W||f(G,"then",function(Mt,bt){var At=this;return new V(function(Tt,ur){i(Ft,At,Tt,ur)}).then(Mt,bt)},{unsafe:!0});try{delete G.constructor}catch(nt){}c&&c(G,X)}n({global:!0,constructor:!0,wrap:!0,forced:U},{Promise:V}),v(V,B,!1,!0),d(B)},58361:function(u,h,t){var n=t(14304),e=t(70457),a=t(98844),s=t(72069),i=t(38941),f=t(23583),c=t(16887),v=t(87408),d=t(16142),p=a&&a.prototype,y=!!a&&s(function(){p.finally.call({then:function(){}},function(){})});if(n({target:"Promise",proto:!0,real:!0,forced:y},{finally:function(S){var I=c(this,i("Promise")),E=f(S);return this.then(E?function(R){return v(I,S()).then(function(){return R})}:S,E?function(R){return v(I,S()).then(function(){throw R})}:S)}}),!e&&f(a)){var m=i("Promise").prototype.finally;p.finally!==m&&d(p,"finally",m,{unsafe:!0})}},63616:function(u,h,t){t(20238),t(11733),t(14013),t(3037),t(36027),t(97282)},3037:function(u,h,t){var n=t(14304),e=t(96499),a=t(85156),s=t(24649),i=t(67805),f=t(55902),c=t(26035);n({target:"Promise",stat:!0,forced:c},{race:function(d){var p=this,y=s.f(p),m=y.reject,S=i(function(){var I=a(p.resolve);f(d,function(E){e(I,p,E).then(y.resolve,m)})});return S.error&&m(S.value),y.promise}})},36027:function(u,h,t){var n=t(14304),e=t(24649),a=t(37130).CONSTRUCTOR;n({target:"Promise",stat:!0,forced:a},{reject:function(i){var f=e.f(this),c=f.reject;return c(i),f.promise}})},97282:function(u,h,t){var n=t(14304),e=t(38941),a=t(70457),s=t(98844),i=t(37130).CONSTRUCTOR,f=t(87408),c=e("Promise"),v=a&&!i;n({target:"Promise",stat:!0,forced:a||i},{resolve:function(p){return f(v&&this===c?s:this,p)}})},7487:function(u,h,t){var n=t(14304),e=t(34246),a=t(66543),s=t(22806),i=t(24649),f=t(85156),c=t(67805),v=e.Promise,d=!1,p=!v||!v.try||c(function(){v.try(function(y){d=y===8},8)}).error||!d;n({target:"Promise",stat:!0,forced:p},{try:function(y){var m=arguments.length>1?s(arguments,1):[],S=i.f(this),I=c(function(){return a(f(y),void 0,m)});return(I.error?S.reject:S.resolve)(I.value),S.promise}})},23958:function(u,h,t){var n=t(14304),e=t(24649);n({target:"Promise",stat:!0},{withResolvers:function(){var s=e.f(this);return{promise:s.promise,resolve:s.resolve,reject:s.reject}}})},9798:function(u,h,t){var n=t(14304),e=t(66543),a=t(85156),s=t(25001),i=t(72069),f=!i(function(){Reflect.apply(function(){})});n({target:"Reflect",stat:!0,forced:f},{apply:function(v,d,p){return e(a(v),d,s(p))}})},2371:function(u,h,t){var n=t(14304),e=t(38941),a=t(66543),s=t(91384),i=t(80042),f=t(25001),c=t(37540),v=t(5406),d=t(72069),p=e("Reflect","construct"),y=Object.prototype,m=[].push,S=d(function(){function R(){}return!(p(function(){},[],R)instanceof R)}),I=!d(function(){p(function(){})}),E=S||I;n({target:"Reflect",stat:!0,forced:E,sham:E},{construct:function(N,P){i(N),f(P);var C=arguments.length<3?N:i(arguments[2]);if(I&&!S)return p(N,P,C);if(N===C){switch(P.length){case 0:return new N;case 1:return new N(P[0]);case 2:return new N(P[0],P[1]);case 3:return new N(P[0],P[1],P[2]);case 4:return new N(P[0],P[1],P[2],P[3])}var b=[null];return a(m,b,P),new(a(s,N,b))}var A=C.prototype,M=v(c(A)?A:y),F=a(N,M,P);return c(F)?F:M}})},76185:function(u,h,t){var n=t(14304),e=t(92986),a=t(25001),s=t(50035),i=t(7831),f=t(72069),c=f(function(){Reflect.defineProperty(i.f({},1,{value:1}),1,{value:2})});n({target:"Reflect",stat:!0,forced:c,sham:!e},{defineProperty:function(d,p,y){a(d);var m=s(p);a(y);try{return i.f(d,m,y),!0}catch(S){return!1}}})},76553:function(u,h,t){var n=t(14304),e=t(25001),a=t(71349).f;n({target:"Reflect",stat:!0},{deleteProperty:function(i,f){var c=a(e(i),f);return c&&!c.configurable?!1:delete i[f]}})},25227:function(u,h,t){var n=t(14304),e=t(92986),a=t(25001),s=t(71349);n({target:"Reflect",stat:!0,sham:!e},{getOwnPropertyDescriptor:function(f,c){return s.f(a(f),c)}})},91723:function(u,h,t){var n=t(14304),e=t(25001),a=t(26313),s=t(87501);n({target:"Reflect",stat:!0,sham:!s},{getPrototypeOf:function(f){return a(e(f))}})},93518:function(u,h,t){var n=t(14304),e=t(96499),a=t(37540),s=t(25001),i=t(69745),f=t(71349),c=t(26313);function v(d,p){var y=arguments.length<3?d:arguments[2],m,S;if(s(d)===y)return d[p];if(m=f.f(d,p),m)return i(m)?m.value:m.get===void 0?void 0:e(m.get,y);if(a(S=c(d)))return v(S,p,y)}n({target:"Reflect",stat:!0},{get:v})},57882:function(u,h,t){var n=t(14304);n({target:"Reflect",stat:!0},{has:function(a,s){return s in a}})},37796:function(u,h,t){var n=t(14304),e=t(25001),a=t(28174);n({target:"Reflect",stat:!0},{isExtensible:function(i){return e(i),a(i)}})},11563:function(u,h,t){var n=t(14304),e=t(16885);n({target:"Reflect",stat:!0},{ownKeys:e})},26159:function(u,h,t){var n=t(14304),e=t(38941),a=t(25001),s=t(27534);n({target:"Reflect",stat:!0,sham:!s},{preventExtensions:function(f){a(f);try{var c=e("Object","preventExtensions");return c&&c(f),!0}catch(v){return!1}}})},77487:function(u,h,t){var n=t(14304),e=t(25001),a=t(53408),s=t(15861);s&&n({target:"Reflect",stat:!0},{setPrototypeOf:function(f,c){e(f),a(c);try{return s(f,c),!0}catch(v){return!1}}})},20962:function(u,h,t){var n=t(14304),e=t(96499),a=t(25001),s=t(37540),i=t(69745),f=t(72069),c=t(7831),v=t(71349),d=t(26313),p=t(18526);function y(S,I,E){var R=arguments.length<4?S:arguments[3],N=v.f(a(S),I),P,C,b;if(!N){if(s(C=d(S)))return y(C,I,E,R);N=p(0)}if(i(N)){if(N.writable===!1||!s(R))return!1;if(P=v.f(R,I)){if(P.get||P.set||P.writable===!1)return!1;P.value=E,c.f(R,I,P)}else c.f(R,I,p(0,E))}else{if(b=N.set,b===void 0)return!1;e(b,R,E)}return!0}var m=f(function(){var S=function(){},I=c.f(new S,"a",{configurable:!0});return Reflect.set(S.prototype,"a",1,I)!==!1});n({target:"Reflect",stat:!0,forced:m},{set:y})},6130:function(u,h,t){var n=t(14304),e=t(34246),a=t(78401);n({global:!0},{Reflect:{}}),a(e.Reflect,"Reflect",!0)},1354:function(u,h,t){var n=t(92986),e=t(34246),a=t(11286),s=t(13278),i=t(32345),f=t(90809),c=t(5406),v=t(83258).f,d=t(95307),p=t(11566),y=t(17361),m=t(54932),S=t(39807),I=t(2594),E=t(16142),R=t(72069),N=t(94879),P=t(82367).enforce,C=t(36167),b=t(18565),A=t(76769),M=t(85220),F=b("match"),B=e.RegExp,U=B.prototype,j=e.SyntaxError,W=a(U.exec),z=a("".charAt),w=a("".replace),G=a("".indexOf),V=a("".slice),X=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,tt=/a/g,q=/a/g,rt=new B(tt)!==tt,Z=S.MISSED_STICKY,mt=S.UNSUPPORTED_Y,ht=n&&(!rt||Z||A||M||R(function(){return q[F]=!1,B(tt)!==tt||B(q)===q||String(B(tt,"i"))!=="/a/i"})),xt=function(jt){for(var vt=jt.length,Et=0,$t="",Bt=!1,Ft;Et<=vt;Et++){if(Ft=z(jt,Et),Ft==="\\"){$t+=Ft+z(jt,++Et);continue}!Bt&&Ft==="."?$t+="[\\s\\S]":(Ft==="["?Bt=!0:Ft==="]"&&(Bt=!1),$t+=Ft)}return $t},Rt=function(jt){for(var vt=jt.length,Et=0,$t="",Bt=[],Ft=c(null),Vt=!1,nr=!1,tr=0,Zt="",Ht;Et<=vt;Et++){if(Ht=z(jt,Et),Ht==="\\")Ht+=z(jt,++Et);else if(Ht==="]")Vt=!1;else if(!Vt)switch(!0){case Ht==="[":Vt=!0;break;case Ht==="(":if($t+=Ht,V(jt,Et+1,Et+3)==="?:")continue;W(X,V(jt,Et+1))&&(Et+=2,nr=!0),tr++;continue;case(Ht===">"&&nr):if(Zt===""||N(Ft,Zt))throw new j("Invalid capture group name");Ft[Zt]=!0,Bt[Bt.length]=[Zt,tr],nr=!1,Zt="";continue}nr?Zt+=Ht:$t+=Ht}return[$t,Bt]};if(s("RegExp",ht)){for(var Nt=function(vt,Et){var $t=d(U,this),Bt=p(vt),Ft=Et===void 0,Vt=[],nr=vt,tr,Zt,Ht,rr,Qt,wt;if(!$t&&Bt&&Ft&&vt.constructor===Nt)return vt;if((Bt||d(U,vt))&&(vt=vt.source,Ft&&(Et=m(nr))),vt=vt===void 0?"":y(vt),Et=Et===void 0?"":y(Et),nr=vt,A&&"dotAll"in tt&&(Zt=!!Et&&G(Et,"s")>-1,Zt&&(Et=w(Et,/s/g,""))),tr=Et,Z&&"sticky"in tt&&(Ht=!!Et&&G(Et,"y")>-1,Ht&&mt&&(Et=w(Et,/y/g,""))),M&&(rr=Rt(vt),vt=rr[0],Vt=rr[1]),Qt=i(B(vt,Et),$t?this:U,Nt),(Zt||Ht||Vt.length)&&(wt=P(Qt),Zt&&(wt.dotAll=!0,wt.raw=Nt(xt(vt),tr)),Ht&&(wt.sticky=!0),Vt.length&&(wt.groups=Vt)),vt!==nr)try{f(Qt,"source",nr===""?"(?:)":nr)}catch(ft){}return Qt},Jt=v(B),Xt=0;Jt.length>Xt;)I(Nt,B,Jt[Xt++]);U.constructor=Nt,Nt.prototype=U,E(e,"RegExp",Nt,{constructor:!0})}C("RegExp")},47119:function(u,h,t){var n=t(92986),e=t(76769),a=t(14274),s=t(85500),i=t(82367).get,f=RegExp.prototype,c=TypeError;n&&e&&s(f,"dotAll",{configurable:!0,get:function(){if(this!==f){if(a(this)==="RegExp")return!!i(this).dotAll;throw new c("Incompatible receiver, RegExp required")}}})},31145:function(u,h,t){var n=t(14304),e=t(44381);n({target:"RegExp",proto:!0,forced:/./.exec!==e},{exec:e})},96773:function(u,h,t){var n=t(34246),e=t(92986),a=t(85500),s=t(29833),i=t(72069),f=n.RegExp,c=f.prototype,v=e&&i(function(){var d=!0;try{f(".","d")}catch(N){d=!1}var p={},y="",m=d?"dgimsy":"gimsy",S=function(N,P){Object.defineProperty(p,N,{get:function(){return y+=P,!0}})},I={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};d&&(I.hasIndices="d");for(var E in I)S(E,I[E]);var R=Object.getOwnPropertyDescriptor(c,"flags").get.call(p);return R!==m||y!==m});v&&a(c,"flags",{configurable:!0,get:s})},14371:function(u,h,t){var n=t(92986),e=t(39807).MISSED_STICKY,a=t(14274),s=t(85500),i=t(82367).get,f=RegExp.prototype,c=TypeError;n&&e&&s(f,"sticky",{configurable:!0,get:function(){if(this!==f){if(a(this)==="RegExp")return!!i(this).sticky;throw new c("Incompatible receiver, RegExp required")}}})},18180:function(u,h,t){t(31145);var n=t(14304),e=t(96499),a=t(23583),s=t(25001),i=t(17361),f=function(){var v=!1,d=/[ac]/;return d.exec=function(){return v=!0,/./.exec.apply(this,arguments)},d.test("abc")===!0&&v}(),c=/./.test;n({target:"RegExp",proto:!0,forced:!f},{test:function(v){var d=s(this),p=i(v),y=d.exec;if(!a(y))return e(c,d,p);var m=e(y,d,p);return m===null?!1:(s(m),!0)}})},83147:function(u,h,t){var n=t(86588).PROPER,e=t(16142),a=t(25001),s=t(17361),i=t(72069),f=t(54932),c="toString",v=RegExp.prototype,d=v[c],p=i(function(){return d.call({source:"a",flags:"b"})!=="/a/b"}),y=n&&d.name!==c;(p||y)&&e(v,c,function(){var S=a(this),I=s(S.source),E=s(f(S));return"/"+I+"/"+E},{unsafe:!0})},6583:function(u,h,t){var n=t(89378),e=t(34440);n("Set",function(a){return function(){return a(this,arguments.length?arguments[0]:void 0)}},e)},86548:function(u,h,t){var n=t(14304),e=t(41754),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("difference")},{difference:e})},15282:function(u,h,t){var n=t(14304),e=t(72069),a=t(92292),s=t(94118),i=!s("intersection")||e(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});n({target:"Set",proto:!0,real:!0,forced:i},{intersection:a})},51275:function(u,h,t){var n=t(14304),e=t(47391),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("isDisjointFrom")},{isDisjointFrom:e})},91890:function(u,h,t){var n=t(14304),e=t(75492),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("isSubsetOf")},{isSubsetOf:e})},15089:function(u,h,t){var n=t(14304),e=t(1333),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("isSupersetOf")},{isSupersetOf:e})},75765:function(u,h,t){t(6583)},78134:function(u,h,t){var n=t(14304),e=t(64680),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("symmetricDifference")},{symmetricDifference:e})},56456:function(u,h,t){var n=t(14304),e=t(70402),a=t(94118);n({target:"Set",proto:!0,real:!0,forced:!a("union")},{union:e})},70641:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("anchor")},{anchor:function(i){return e(this,"a","name",i)}})},40735:function(u,h,t){var n=t(14304),e=t(11286),a=t(2068),s=t(12105),i=t(17361),f=t(72069),c=e("".charAt),v=f(function(){return"\u{20BB7}".at(-2)!=="\uD842"});n({target:"String",proto:!0,forced:v},{at:function(p){var y=i(a(this)),m=y.length,S=s(p),I=S>=0?S:m+S;return I<0||I>=m?void 0:c(y,I)}})},53892:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("big")},{big:function(){return e(this,"big","","")}})},95976:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("blink")},{blink:function(){return e(this,"blink","","")}})},399:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("bold")},{bold:function(){return e(this,"b","","")}})},8510:function(u,h,t){var n=t(14304),e=t(22149).codeAt;n({target:"String",proto:!0},{codePointAt:function(s){return e(this,s)}})},70159:function(u,h,t){var n=t(14304),e=t(77422),a=t(71349).f,s=t(45344),i=t(17361),f=t(92337),c=t(2068),v=t(8790),d=t(70457),p=e("".slice),y=Math.min,m=v("endsWith"),S=!d&&!m&&!!function(){var I=a(String.prototype,"endsWith");return I&&!I.writable}();n({target:"String",proto:!0,forced:!S&&!m},{endsWith:function(E){var R=i(c(this));f(E);var N=arguments.length>1?arguments[1]:void 0,P=R.length,C=N===void 0?P:y(s(N),P),b=i(E);return p(R,C-b.length,C)===b}})},72032:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("fixed")},{fixed:function(){return e(this,"tt","","")}})},49442:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("fontcolor")},{fontcolor:function(i){return e(this,"font","color",i)}})},16012:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("fontsize")},{fontsize:function(i){return e(this,"font","size",i)}})},93087:function(u,h,t){var n=t(14304),e=t(11286),a=t(4652),s=RangeError,i=String.fromCharCode,f=String.fromCodePoint,c=e([].join),v=!!f&&f.length!==1;n({target:"String",stat:!0,arity:1,forced:v},{fromCodePoint:function(p){for(var y=[],m=arguments.length,S=0,I;m>S;){if(I=+arguments[S++],a(I,1114111)!==I)throw new s(I+" is not a valid code point");y[S]=I<65536?i(I):i(((I-=65536)>>10)+55296,I%1024+56320)}return c(y,"")}})},26021:function(u,h,t){var n=t(14304),e=t(11286),a=t(92337),s=t(2068),i=t(17361),f=t(8790),c=e("".indexOf);n({target:"String",proto:!0,forced:!f("includes")},{includes:function(d){return!!~c(i(s(this)),i(a(d)),arguments.length>1?arguments[1]:void 0)}})},93029:function(u,h,t){var n=t(14304),e=t(11286),a=t(2068),s=t(17361),i=e("".charCodeAt);n({target:"String",proto:!0},{isWellFormed:function(){for(var c=s(a(this)),v=c.length,d=0;d=56320||++d>=v||(i(c,d)&64512)!==56320))return!1}return!0}})},9943:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("italics")},{italics:function(){return e(this,"i","","")}})},59158:function(u,h,t){var n=t(22149).charAt,e=t(17361),a=t(82367),s=t(10218),i=t(10659),f="String Iterator",c=a.set,v=a.getterFor(f);s(String,"String",function(d){c(this,{type:f,string:e(d),index:0})},function(){var p=v(this),y=p.string,m=p.index,S;return m>=y.length?i(void 0,!0):(S=n(y,m),p.index+=S.length,i(S,!1))})},33128:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("link")},{link:function(i){return e(this,"a","href",i)}})},18509:function(u,h,t){var n=t(14304),e=t(96499),a=t(77422),s=t(26820),i=t(10659),f=t(2068),c=t(45344),v=t(17361),d=t(25001),p=t(5683),y=t(14274),m=t(11566),S=t(54932),I=t(10512),E=t(16142),R=t(72069),N=t(18565),P=t(16887),C=t(24487),b=t(33064),A=t(82367),M=t(70457),F=N("matchAll"),B="RegExp String",U=B+" Iterator",j=A.set,W=A.getterFor(U),z=RegExp.prototype,w=TypeError,G=a("".indexOf),V=a("".matchAll),X=!!V&&!R(function(){V("a",/./)}),tt=s(function(Z,mt,ht,xt){j(this,{type:U,regexp:Z,string:mt,global:ht,unicode:xt,done:!1})},B,function(){var Z=W(this);if(Z.done)return i(void 0,!0);var mt=Z.regexp,ht=Z.string,xt=b(mt,ht);return xt===null?(Z.done=!0,i(void 0,!0)):Z.global?(v(xt[0])===""&&(mt.lastIndex=C(ht,c(mt.lastIndex),Z.unicode)),i(xt,!1)):(Z.done=!0,i(xt,!1))}),q=function(rt){var Z=d(this),mt=v(rt),ht=P(Z,RegExp),xt=v(S(Z)),Rt,Nt,Jt;return Rt=new ht(ht===RegExp?Z.source:Z,xt),Nt=!!~G(xt,"g"),Jt=!!~G(xt,"u"),Rt.lastIndex=c(Z.lastIndex),new tt(Rt,mt,Nt,Jt)};n({target:"String",proto:!0,forced:X},{matchAll:function(Z){var mt=f(this),ht,xt,Rt,Nt;if(p(Z)){if(X)return V(mt,Z)}else{if(m(Z)&&(ht=v(f(S(Z))),!~G(ht,"g")))throw new w("`.matchAll` does not allow non-global regexes");if(X)return V(mt,Z);if(Rt=I(Z,F),Rt===void 0&&M&&y(Z)==="RegExp"&&(Rt=q),Rt)return e(Rt,Z,mt)}return xt=v(mt),Nt=new RegExp(Z,"g"),M?e(q,Nt,xt):Nt[F](xt)}}),M||F in z||E(z,F,q)},15599:function(u,h,t){var n=t(96499),e=t(63194),a=t(25001),s=t(5683),i=t(45344),f=t(17361),c=t(2068),v=t(10512),d=t(24487),p=t(33064);e("match",function(y,m,S){return[function(E){var R=c(this),N=s(E)?void 0:v(E,y);return N?n(N,E,R):new RegExp(E)[y](f(R))},function(I){var E=a(this),R=f(I),N=S(m,E,R);if(N.done)return N.value;if(!E.global)return p(E,R);var P=E.unicode;E.lastIndex=0;for(var C=[],b=0,A;(A=p(E,R))!==null;){var M=f(A[0]);C[b]=M,M===""&&(E.lastIndex=d(R,i(E.lastIndex),P)),b++}return b===0?null:C}]})},21579:function(u,h,t){var n=t(14304),e=t(61607).end,a=t(36945);n({target:"String",proto:!0,forced:a},{padEnd:function(i){return e(this,i,arguments.length>1?arguments[1]:void 0)}})},8854:function(u,h,t){var n=t(14304),e=t(61607).start,a=t(36945);n({target:"String",proto:!0,forced:a},{padStart:function(i){return e(this,i,arguments.length>1?arguments[1]:void 0)}})},57676:function(u,h,t){var n=t(14304),e=t(11286),a=t(36859),s=t(49671),i=t(17361),f=t(82628),c=e([].push),v=e([].join);n({target:"String",stat:!0},{raw:function(p){var y=a(s(p).raw),m=f(y);if(!m)return"";for(var S=arguments.length,I=[],E=0;;){if(c(I,i(y[E++])),E===m)return v(I,"");EW.length?-1:R(W,z,X+V);return q")!=="7"});s("replace",function(w,G,V){var X=W?"$":"$0";return[function(q,rt){var Z=m(this),mt=v(q)?void 0:I(q,P);return mt?e(mt,q,Z,rt):e(G,y(Z),q,rt)},function(tt,q){var rt=f(this),Z=y(tt);if(typeof q=="string"&&F(q,X)===-1&&F(q,"$<")===-1){var mt=V(G,rt,Z,q);if(mt.done)return mt.value}var ht=c(q);ht||(q=y(q));var xt=rt.global,Rt;xt&&(Rt=rt.unicode,rt.lastIndex=0);for(var Nt=[],Jt;Jt=R(rt,Z),!(Jt===null||(M(Nt,Jt),!xt));){var Xt=y(Jt[0]);Xt===""&&(rt.lastIndex=S(Z,p(rt.lastIndex),Rt))}for(var jt="",vt=0,Et=0;Et=vt&&(jt+=B(Z,vt,Bt)+Vt,vt=Bt+$t.length)}return jt+B(Z,vt)}]},!z||!j||W)},74980:function(u,h,t){var n=t(96499),e=t(63194),a=t(25001),s=t(5683),i=t(2068),f=t(13944),c=t(17361),v=t(10512),d=t(33064);e("search",function(p,y,m){return[function(I){var E=i(this),R=s(I)?void 0:v(I,p);return R?n(R,I,E):new RegExp(I)[p](c(E))},function(S){var I=a(this),E=c(S),R=m(y,I,E);if(R.done)return R.value;var N=I.lastIndex;f(N,0)||(I.lastIndex=0);var P=d(I,E);return f(I.lastIndex,N)||(I.lastIndex=N),P===null?-1:P.index}]})},95625:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("small")},{small:function(){return e(this,"small","","")}})},390:function(u,h,t){var n=t(96499),e=t(11286),a=t(63194),s=t(25001),i=t(5683),f=t(2068),c=t(16887),v=t(24487),d=t(45344),p=t(17361),y=t(10512),m=t(33064),S=t(39807),I=t(72069),E=S.UNSUPPORTED_Y,R=4294967295,N=Math.min,P=e([].push),C=e("".slice),b=!I(function(){var M=/(?:)/,F=M.exec;M.exec=function(){return F.apply(this,arguments)};var B="ab".split(M);return B.length!==2||B[0]!=="a"||B[1]!=="b"}),A="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;a("split",function(M,F,B){var U="0".split(void 0,0).length?function(j,W){return j===void 0&&W===0?[]:n(F,this,j,W)}:F;return[function(W,z){var w=f(this),G=i(W)?void 0:y(W,M);return G?n(G,W,w,z):n(U,p(w),W,z)},function(j,W){var z=s(this),w=p(j);if(!A){var G=B(U,z,w,W,U!==F);if(G.done)return G.value}var V=c(z,RegExp),X=z.unicode,tt=(z.ignoreCase?"i":"")+(z.multiline?"m":"")+(z.unicode?"u":"")+(E?"g":"y"),q=new V(E?"^(?:"+z.source+")":z,tt),rt=W===void 0?R:W>>>0;if(rt===0)return[];if(w.length===0)return m(q,w)===null?[w]:[];for(var Z=0,mt=0,ht=[];mt1?arguments[1]:void 0,R.length)),P=i(E);return p(R,N,N+P.length)===P}})},90614:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("strike")},{strike:function(){return e(this,"strike","","")}})},60120:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("sub")},{sub:function(){return e(this,"sub","","")}})},21293:function(u,h,t){var n=t(14304),e=t(11286),a=t(2068),s=t(12105),i=t(17361),f=e("".slice),c=Math.max,v=Math.min,d=!"".substr||"ab".substr(-1)!=="b";n({target:"String",proto:!0,forced:d},{substr:function(y,m){var S=i(a(this)),I=S.length,E=s(y),R,N;return E===1/0&&(E=0),E<0&&(E=c(I+E,0)),R=m===void 0?I:s(m),R<=0||R===1/0?"":(N=v(E+R,I),E>=N?"":f(S,E,N))}})},75826:function(u,h,t){var n=t(14304),e=t(68422),a=t(5287);n({target:"String",proto:!0,forced:a("sup")},{sup:function(){return e(this,"sup","","")}})},18184:function(u,h,t){var n=t(14304),e=t(96499),a=t(11286),s=t(2068),i=t(17361),f=t(72069),c=Array,v=a("".charAt),d=a("".charCodeAt),p=a([].join),y="".toWellFormed,m="\uFFFD",S=y&&f(function(){return e(y,1)!=="1"});n({target:"String",proto:!0,forced:S},{toWellFormed:function(){var E=i(s(this));if(S)return e(y,E);for(var R=E.length,N=c(R),P=0;P=56320||P+1>=R||(d(E,P+1)&64512)!==56320?N[P]=m:(N[P]=v(E,P),N[++P]=v(E,P))}return p(N,"")}})},19680:function(u,h,t){t(23283);var n=t(14304),e=t(75176);n({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==e},{trimEnd:e})},12272:function(u,h,t){var n=t(14304),e=t(83481);n({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==e},{trimLeft:e})},23283:function(u,h,t){var n=t(14304),e=t(75176);n({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==e},{trimRight:e})},4193:function(u,h,t){t(12272);var n=t(14304),e=t(83481);n({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==e},{trimStart:e})},75012:function(u,h,t){var n=t(14304),e=t(85900).trim,a=t(33328);n({target:"String",proto:!0,forced:a("trim")},{trim:function(){return e(this)}})},43606:function(u,h,t){var n=t(83749);n("asyncIterator")},51767:function(u,h,t){var n=t(14304),e=t(34246),a=t(96499),s=t(11286),i=t(70457),f=t(92986),c=t(39729),v=t(72069),d=t(94879),p=t(95307),y=t(25001),m=t(36859),S=t(50035),I=t(17361),E=t(18526),R=t(5406),N=t(18350),P=t(83258),C=t(92880),b=t(24943),A=t(71349),M=t(7831),F=t(61963),B=t(79591),U=t(16142),j=t(85500),W=t(96731),z=t(44869),w=t(19423),G=t(36374),V=t(18565),X=t(56529),tt=t(83749),q=t(60796),rt=t(78401),Z=t(82367),mt=t(66655).forEach,ht=z("hidden"),xt="Symbol",Rt="prototype",Nt=Z.set,Jt=Z.getterFor(xt),Xt=Object[Rt],jt=e.Symbol,vt=jt&&jt[Rt],Et=e.RangeError,$t=e.TypeError,Bt=e.QObject,Ft=A.f,Vt=M.f,nr=C.f,tr=B.f,Zt=s([].push),Ht=W("symbols"),rr=W("op-symbols"),Qt=W("wks"),wt=!Bt||!Bt[Rt]||!Bt[Rt].findChild,ft=function(ot,lt,st){var yt=Ft(Xt,lt);yt&&delete Xt[lt],Vt(ot,lt,st),yt&&ot!==Xt&&Vt(Xt,lt,yt)},ct=f&&v(function(){return R(Vt({},"a",{get:function(){return Vt(this,"a",{value:7}).a}})).a!==7})?ft:Vt,nt=function(ot,lt){var st=Ht[ot]=R(vt);return Nt(st,{type:xt,tag:ot,description:lt}),f||(st.description=lt),st},Mt=function(lt,st,yt){lt===Xt&&Mt(rr,st,yt),y(lt);var at=S(st);return y(yt),d(Ht,at)?(yt.enumerable?(d(lt,ht)&<[ht][at]&&(lt[ht][at]=!1),yt=R(yt,{enumerable:E(0,!1)})):(d(lt,ht)||Vt(lt,ht,E(1,R(null))),lt[ht][at]=!0),ct(lt,at,yt)):Vt(lt,at,yt)},bt=function(lt,st){y(lt);var yt=m(st),at=N(yt).concat(Q(yt));return mt(at,function(Lt){(!f||a(Tt,yt,Lt))&&Mt(lt,Lt,yt[Lt])}),lt},At=function(lt,st){return st===void 0?R(lt):bt(R(lt),st)},Tt=function(lt){var st=S(lt),yt=a(tr,this,st);return this===Xt&&d(Ht,st)&&!d(rr,st)?!1:yt||!d(this,st)||!d(Ht,st)||d(this,ht)&&this[ht][st]?yt:!0},ur=function(lt,st){var yt=m(lt),at=S(st);if(!(yt===Xt&&d(Ht,at)&&!d(rr,at))){var Lt=Ft(yt,at);return Lt&&d(Ht,at)&&!(d(yt,ht)&&yt[ht][at])&&(Lt.enumerable=!0),Lt}},vr=function(lt){var st=nr(m(lt)),yt=[];return mt(st,function(at){!d(Ht,at)&&!d(w,at)&&Zt(yt,at)}),yt},Q=function(ot){var lt=ot===Xt,st=nr(lt?rr:m(ot)),yt=[];return mt(st,function(at){d(Ht,at)&&(!lt||d(Xt,at))&&Zt(yt,Ht[at])}),yt};c||(jt=function(){if(p(vt,this))throw new $t("Symbol is not a constructor");var lt=!arguments.length||arguments[0]===void 0?void 0:I(arguments[0]),st=G(lt),yt=function(at){var Lt=this===void 0?e:this;Lt===Xt&&a(yt,rr,at),d(Lt,ht)&&d(Lt[ht],st)&&(Lt[ht][st]=!1);var er=E(1,at);try{ct(Lt,st,er)}catch(it){if(!(it instanceof Et))throw it;ft(Lt,st,er)}};return f&&wt&&ct(Xt,st,{configurable:!0,set:yt}),nt(st,lt)},vt=jt[Rt],U(vt,"toString",function(){return Jt(this).tag}),U(jt,"withoutSetter",function(ot){return nt(G(ot),ot)}),B.f=Tt,M.f=Mt,F.f=bt,A.f=ur,P.f=C.f=vr,b.f=Q,X.f=function(ot){return nt(V(ot),ot)},f&&(j(vt,"description",{configurable:!0,get:function(){return Jt(this).description}}),i||U(Xt,"propertyIsEnumerable",Tt,{unsafe:!0}))),n({global:!0,constructor:!0,wrap:!0,forced:!c,sham:!c},{Symbol:jt}),mt(N(Qt),function(ot){tt(ot)}),n({target:xt,stat:!0,forced:!c},{useSetter:function(){wt=!0},useSimple:function(){wt=!1}}),n({target:"Object",stat:!0,forced:!c,sham:!f},{create:At,defineProperty:Mt,defineProperties:bt,getOwnPropertyDescriptor:ur}),n({target:"Object",stat:!0,forced:!c},{getOwnPropertyNames:vr}),q(),rt(jt,xt),w[ht]=!0},43657:function(u,h,t){var n=t(14304),e=t(92986),a=t(34246),s=t(11286),i=t(94879),f=t(23583),c=t(95307),v=t(17361),d=t(85500),p=t(93706),y=a.Symbol,m=y&&y.prototype;if(e&&f(y)&&(!("description"in m)||y().description!==void 0)){var S={},I=function(){var M=arguments.length<1||arguments[0]===void 0?void 0:v(arguments[0]),F=c(m,this)?new y(M):M===void 0?y():y(M);return M===""&&(S[F]=!0),F};p(I,y),I.prototype=m,m.constructor=I;var E=String(y("description detection"))==="Symbol(description detection)",R=s(m.valueOf),N=s(m.toString),P=/^Symbol\((.*)\)[^)]+$/,C=s("".replace),b=s("".slice);d(m,"description",{configurable:!0,get:function(){var M=R(this);if(i(S,M))return"";var F=N(M),B=E?b(F,7,-1):C(F,P,"$1");return B===""?void 0:B}}),n({global:!0,constructor:!0,forced:!0},{Symbol:I})}},20872:function(u,h,t){var n=t(14304),e=t(38941),a=t(94879),s=t(17361),i=t(96731),f=t(61190),c=i("string-to-symbol-registry"),v=i("symbol-to-string-registry");n({target:"Symbol",stat:!0,forced:!f},{for:function(d){var p=s(d);if(a(c,p))return c[p];var y=e("Symbol")(p);return c[p]=y,v[y]=p,y}})},15855:function(u,h,t){var n=t(83749);n("hasInstance")},42026:function(u,h,t){var n=t(83749);n("isConcatSpreadable")},33257:function(u,h,t){var n=t(83749);n("iterator")},40949:function(u,h,t){t(51767),t(20872),t(94762),t(71332),t(45223)},94762:function(u,h,t){var n=t(14304),e=t(94879),a=t(491),s=t(82453),i=t(96731),f=t(61190),c=i("symbol-to-string-registry");n({target:"Symbol",stat:!0,forced:!f},{keyFor:function(d){if(!a(d))throw new TypeError(s(d)+" is not a symbol");if(e(c,d))return c[d]}})},88344:function(u,h,t){var n=t(83749);n("matchAll")},59414:function(u,h,t){var n=t(83749);n("match")},92579:function(u,h,t){var n=t(83749);n("replace")},94655:function(u,h,t){var n=t(83749);n("search")},8565:function(u,h,t){var n=t(83749);n("species")},60843:function(u,h,t){var n=t(83749);n("split")},65842:function(u,h,t){var n=t(83749),e=t(60796);n("toPrimitive"),e()},51595:function(u,h,t){var n=t(38941),e=t(83749),a=t(78401);e("toStringTag"),a(n("Symbol"),"Symbol")},54908:function(u,h,t){var n=t(83749);n("unscopables")},71998:function(u,h,t){var n=t(88037),e=t(82628),a=t(12105),s=n.aTypedArray,i=n.exportTypedArrayMethod;i("at",function(c){var v=s(this),d=e(v),p=a(c),y=p>=0?p:d+p;return y<0||y>=d?void 0:v[y]})},6116:function(u,h,t){var n=t(11286),e=t(88037),a=t(81499),s=n(a),i=e.aTypedArray,f=e.exportTypedArrayMethod;f("copyWithin",function(v,d){return s(i(this),v,d,arguments.length>2?arguments[2]:void 0)})},33032:function(u,h,t){var n=t(88037),e=t(66655).every,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("every",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},80962:function(u,h,t){var n=t(88037),e=t(43011),a=t(11344),s=t(9205),i=t(96499),f=t(11286),c=t(72069),v=n.aTypedArray,d=n.exportTypedArrayMethod,p=f("".slice),y=c(function(){var m=0;return new Int8Array(2).fill({valueOf:function(){return m++}}),m!==1});d("fill",function(S){var I=arguments.length;v(this);var E=p(s(this),0,3)==="Big"?a(S):+S;return i(e,this,E,I>1?arguments[1]:void 0,I>2?arguments[2]:void 0)},y)},49381:function(u,h,t){var n=t(88037),e=t(66655).filter,a=t(39954),s=n.aTypedArray,i=n.exportTypedArrayMethod;i("filter",function(c){var v=e(s(this),c,arguments.length>1?arguments[1]:void 0);return a(this,v)})},65961:function(u,h,t){var n=t(88037),e=t(66655).findIndex,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("findIndex",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},16028:function(u,h,t){var n=t(88037),e=t(73849).findLastIndex,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("findLastIndex",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},94153:function(u,h,t){var n=t(88037),e=t(73849).findLast,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("findLast",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},38344:function(u,h,t){var n=t(88037),e=t(66655).find,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("find",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},25560:function(u,h,t){var n=t(80357);n("Float32",function(e){return function(s,i,f){return e(this,s,i,f)}})},22571:function(u,h,t){var n=t(80357);n("Float64",function(e){return function(s,i,f){return e(this,s,i,f)}})},20656:function(u,h,t){var n=t(88037),e=t(66655).forEach,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("forEach",function(f){e(a(this),f,arguments.length>1?arguments[1]:void 0)})},17063:function(u,h,t){var n=t(46868),e=t(88037).exportTypedArrayStaticMethod,a=t(66169);e("from",a,n)},21774:function(u,h,t){var n=t(88037),e=t(94319).includes,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("includes",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},51761:function(u,h,t){var n=t(88037),e=t(94319).indexOf,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("indexOf",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},36849:function(u,h,t){var n=t(80357);n("Int16",function(e){return function(s,i,f){return e(this,s,i,f)}})},49191:function(u,h,t){var n=t(80357);n("Int32",function(e){return function(s,i,f){return e(this,s,i,f)}})},40704:function(u,h,t){var n=t(80357);n("Int8",function(e){return function(s,i,f){return e(this,s,i,f)}})},12317:function(u,h,t){var n=t(34246),e=t(72069),a=t(11286),s=t(88037),i=t(35054),f=t(18565),c=f("iterator"),v=n.Uint8Array,d=a(i.values),p=a(i.keys),y=a(i.entries),m=s.aTypedArray,S=s.exportTypedArrayMethod,I=v&&v.prototype,E=!e(function(){I[c].call([1])}),R=!!I&&I.values&&I[c]===I.values&&I.values.name==="values",N=function(){return d(m(this))};S("entries",function(){return y(m(this))},E),S("keys",function(){return p(m(this))},E),S("values",N,E||!R,{name:"values"}),S(c,N,E||!R,{name:"values"})},19711:function(u,h,t){var n=t(88037),e=t(11286),a=n.aTypedArray,s=n.exportTypedArrayMethod,i=e([].join);s("join",function(c){return i(a(this),c)})},41034:function(u,h,t){var n=t(88037),e=t(66543),a=t(58465),s=n.aTypedArray,i=n.exportTypedArrayMethod;i("lastIndexOf",function(c){var v=arguments.length;return e(a,s(this),v>1?[c,arguments[1]]:[c])})},13313:function(u,h,t){var n=t(88037),e=t(66655).map,a=n.aTypedArray,s=n.getTypedArrayConstructor,i=n.exportTypedArrayMethod;i("map",function(c){return e(a(this),c,arguments.length>1?arguments[1]:void 0,function(v,d){return new(s(v))(d)})})},44698:function(u,h,t){var n=t(88037),e=t(46868),a=n.aTypedArrayConstructor,s=n.exportTypedArrayStaticMethod;s("of",function(){for(var f=0,c=arguments.length,v=new(a(this))(c);c>f;)v[f]=arguments[f++];return v},e)},66178:function(u,h,t){var n=t(88037),e=t(97264).right,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("reduceRight",function(f){var c=arguments.length;return e(a(this),f,c,c>1?arguments[1]:void 0)})},7369:function(u,h,t){var n=t(88037),e=t(97264).left,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("reduce",function(f){var c=arguments.length;return e(a(this),f,c,c>1?arguments[1]:void 0)})},67961:function(u,h,t){var n=t(88037),e=n.aTypedArray,a=n.exportTypedArrayMethod,s=Math.floor;a("reverse",function(){for(var f=this,c=e(f).length,v=s(c/2),d=0,p;d1?arguments[1]:void 0,1),C=f(N);if(I)return e(y,this,C,P);var b=this.length,A=s(C),M=0;if(A+P>b)throw new v("Wrong length");for(;MS;)E[S]=y[S++];return E},c)},9711:function(u,h,t){var n=t(88037),e=t(66655).some,a=n.aTypedArray,s=n.exportTypedArrayMethod;s("some",function(f){return e(a(this),f,arguments.length>1?arguments[1]:void 0)})},3923:function(u,h,t){var n=t(34246),e=t(77422),a=t(72069),s=t(85156),i=t(13270),f=t(88037),c=t(507),v=t(17417),d=t(44241),p=t(66577),y=f.aTypedArray,m=f.exportTypedArrayMethod,S=n.Uint16Array,I=S&&e(S.prototype.sort),E=!!I&&!(a(function(){I(new S(2),null)})&&a(function(){I(new S(2),{})})),R=!!I&&!a(function(){if(d)return d<74;if(c)return c<67;if(v)return!0;if(p)return p<602;var P=new S(516),C=Array(516),b,A;for(b=0;b<516;b++)A=b%4,P[b]=515-b,C[b]=b-2*A+3;for(I(P,function(M,F){return(M/4|0)-(F/4|0)}),b=0;b<516;b++)if(P[b]!==C[b])return!0}),N=function(P){return function(C,b){return P!==void 0?+P(C,b)||0:b!==b?-1:C!==C?1:C===0&&b===0?1/C>0&&1/b<0?1:-1:C>b}};m("sort",function(C){return C!==void 0&&s(C),R?I(this,C):i(y(this),N(C))},!R||E)},59728:function(u,h,t){var n=t(88037),e=t(45344),a=t(4652),s=n.aTypedArray,i=n.getTypedArrayConstructor,f=n.exportTypedArrayMethod;f("subarray",function(v,d){var p=s(this),y=p.length,m=a(v,y),S=i(p);return new S(p.buffer,p.byteOffset+m*p.BYTES_PER_ELEMENT,e((d===void 0?y:a(d,y))-m))})},85227:function(u,h,t){var n=t(34246),e=t(66543),a=t(88037),s=t(72069),i=t(22806),f=n.Int8Array,c=a.aTypedArray,v=a.exportTypedArrayMethod,d=[].toLocaleString,p=!!f&&s(function(){d.call(new f(1))}),y=s(function(){return[1,2].toLocaleString()!==new f([1,2]).toLocaleString()})||!s(function(){f.prototype.toLocaleString.call([1,2])});v("toLocaleString",function(){return e(d,p?i(c(this)):c(this),i(arguments))},y)},56933:function(u,h,t){var n=t(61638),e=t(88037),a=e.aTypedArray,s=e.exportTypedArrayMethod,i=e.getTypedArrayConstructor;s("toReversed",function(){return n(a(this),i(this))})},91490:function(u,h,t){var n=t(88037),e=t(11286),a=t(85156),s=t(5220),i=n.aTypedArray,f=n.getTypedArrayConstructor,c=n.exportTypedArrayMethod,v=e(n.TypedArrayPrototype.sort);c("toSorted",function(p){p!==void 0&&a(p);var y=i(this),m=s(f(y),y);return v(m,p)})},61766:function(u,h,t){var n=t(88037).exportTypedArrayMethod,e=t(72069),a=t(34246),s=t(11286),i=a.Uint8Array,f=i&&i.prototype||{},c=[].toString,v=s([].join);e(function(){c.call({})})&&(c=function(){return v(this)});var d=f.toString!==c;n("toString",c,d)},44884:function(u,h,t){var n=t(80357);n("Uint16",function(e){return function(s,i,f){return e(this,s,i,f)}})},48658:function(u,h,t){var n=t(80357);n("Uint32",function(e){return function(s,i,f){return e(this,s,i,f)}})},81083:function(u,h,t){var n=t(80357);n("Uint8",function(e){return function(s,i,f){return e(this,s,i,f)}})},27428:function(u,h,t){var n=t(80357);n("Uint8",function(e){return function(s,i,f){return e(this,s,i,f)}},!0)},85143:function(u,h,t){var n=t(72302),e=t(88037),a=t(77129),s=t(12105),i=t(11344),f=e.aTypedArray,c=e.getTypedArrayConstructor,v=e.exportTypedArrayMethod,d=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(p){return p===8}}();v("with",function(p,y){var m=f(this),S=s(p),I=a(m)?i(y):+y;return n(m,c(m),S,I)},!d)},47005:function(u,h,t){var n=t(14304),e=t(11286),a=t(17361),s=String.fromCharCode,i=e("".charAt),f=e(/./.exec),c=e("".slice),v=/^[\da-f]{2}$/i,d=/^[\da-f]{4}$/i;n({global:!0},{unescape:function(y){for(var m=a(y),S="",I=m.length,E=0,R,N;E>(-2*w&6)));return W}})},60869:function(u,h,t){var n=t(14304),e=t(34246),a=t(38941),s=t(11286),i=t(96499),f=t(72069),c=t(17361),v=t(95486),d=t(6210).i2c,p=a("btoa"),y=s("".charAt),m=s("".charCodeAt),S=!!p&&!f(function(){return p("hi")!=="aGk="}),I=S&&!f(function(){p()}),E=S&&f(function(){return p(null)!=="bnVsbA=="}),R=S&&p.length!==1;n({global:!0,bind:!0,enumerable:!0,forced:!S||I||E||R},{btoa:function(P){if(v(arguments.length,1),S)return i(p,e,c(P));for(var C=c(P),b="",A=0,M=d,F,B;y(C,A)||(M="=",A%1);){if(B=m(C,A+=.75),B>255)throw new(a("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");F=F<<8|B,b+=y(M,63&F>>8-A%1*8)}return b}})},66722:function(u,h,t){var n=t(14304),e=t(34246),a=t(23115).clear;n({global:!0,bind:!0,enumerable:!0,forced:e.clearImmediate!==a},{clearImmediate:a})},50338:function(u,h,t){var n=t(34246),e=t(93014),a=t(39882),s=t(13349),i=t(90809),f=function(v){if(v&&v.forEach!==s)try{i(v,"forEach",s)}catch(d){v.forEach=s}};for(var c in e)e[c]&&f(n[c]&&n[c].prototype);f(a)},53059:function(u,h,t){var n=t(34246),e=t(93014),a=t(39882),s=t(35054),i=t(90809),f=t(78401),c=t(18565),v=c("iterator"),d=s.values,p=function(m,S){if(m){if(m[v]!==d)try{i(m,v,d)}catch(E){m[v]=d}if(f(m,S,!0),e[S]){for(var I in s)if(m[I]!==s[I])try{i(m,I,s[I])}catch(E){m[I]=s[I]}}}};for(var y in e)p(n[y]&&n[y].prototype,y);p(a,"DOMTokenList")},5805:function(u,h,t){var n=t(14304),e=t(38941),a=t(81191),s=t(72069),i=t(5406),f=t(18526),c=t(7831).f,v=t(16142),d=t(85500),p=t(94879),y=t(12833),m=t(25001),S=t(58434),I=t(15453),E=t(74408),R=t(40851),N=t(82367),P=t(92986),C=t(70457),b="DOMException",A="DATA_CLONE_ERR",M=e("Error"),F=e(b)||function(){try{var vt=e("MessageChannel")||a("worker_threads").MessageChannel;new vt().port1.postMessage(new WeakMap)}catch(Et){if(Et.name===A&&Et.code===25)return Et.constructor}}(),B=F&&F.prototype,U=M.prototype,j=N.set,W=N.getterFor(b),z="stack"in new M(b),w=function(vt){return p(E,vt)&&E[vt].m?E[vt].c:0},G=function(){y(this,V);var Et=arguments.length,$t=I(Et<1?void 0:arguments[0]),Bt=I(Et<2?void 0:arguments[1],"Error"),Ft=w(Bt);if(j(this,{type:b,name:Bt,message:$t,code:Ft}),P||(this.name=Bt,this.message=$t,this.code=Ft),z){var Vt=new M($t);Vt.name=b,c(this,"stack",f(1,R(Vt.stack,1)))}},V=G.prototype=i(U),X=function(vt){return{enumerable:!0,configurable:!0,get:vt}},tt=function(vt){return X(function(){return W(this)[vt]})};P&&(d(V,"code",tt("code")),d(V,"message",tt("message")),d(V,"name",tt("name"))),c(V,"constructor",f(1,G));var q=s(function(){return!(new F instanceof M)}),rt=q||s(function(){return U.toString!==S||String(new F(1,2))!=="2: 1"}),Z=q||s(function(){return new F(1,"DataCloneError").code!==25}),mt=q||F[A]!==25||B[A]!==25,ht=C?rt||Z||mt:q;n({global:!0,constructor:!0,forced:ht},{DOMException:ht?G:F});var xt=e(b),Rt=xt.prototype;rt&&(C||F===xt)&&v(Rt,"toString",S),Z&&P&&F===xt&&d(Rt,"code",X(function(){return w(m(this).name)}));for(var Nt in E)if(p(E,Nt)){var Jt=E[Nt],Xt=Jt.s,jt=f(6,Jt.c);p(xt,Xt)||c(xt,Xt,jt),p(Rt,Xt)||c(Rt,Xt,jt)}},50685:function(u,h,t){var n=t(14304),e=t(34246),a=t(38941),s=t(18526),i=t(7831).f,f=t(94879),c=t(12833),v=t(32345),d=t(15453),p=t(74408),y=t(40851),m=t(92986),S=t(70457),I="DOMException",E=a("Error"),R=a(I),N=function(){c(this,P);var G=arguments.length,V=d(G<1?void 0:arguments[0]),X=d(G<2?void 0:arguments[1],"Error"),tt=new R(V,X),q=new E(V);return q.name=I,i(tt,"stack",s(1,y(q.stack,1))),v(tt,this,N),tt},P=N.prototype=R.prototype,C="stack"in new E(I),b="stack"in new R(1,2),A=R&&m&&Object.getOwnPropertyDescriptor(e,I),M=!!A&&!(A.writable&&A.configurable),F=C&&!M&&!b;n({global:!0,constructor:!0,forced:S||F},{DOMException:F?N:R});var B=a(I),U=B.prototype;if(U.constructor!==B){S||i(U,"constructor",s(1,B));for(var j in p)if(f(p,j)){var W=p[j],z=W.s;f(B,z)||i(B,z,s(6,W.c))}}},70649:function(u,h,t){var n=t(38941),e=t(78401),a="DOMException";e(n(a),a)},39842:function(u,h,t){t(66722),t(8235)},82872:function(u,h,t){var n=t(14304),e=t(34246),a=t(9709),s=t(85156),i=t(95486),f=t(72069),c=t(92986),v=f(function(){return c&&Object.getOwnPropertyDescriptor(e,"queueMicrotask").value.length!==1});n({global:!0,enumerable:!0,dontCallGetSet:!0,forced:v},{queueMicrotask:function(p){i(arguments.length,1),a(s(p))}})},91401:function(u,h,t){var n=t(14304),e=t(34246),a=t(85500),s=t(92986),i=TypeError,f=Object.defineProperty,c=e.self!==e;try{if(s){var v=Object.getOwnPropertyDescriptor(e,"self");(c||!v||!v.get||!v.enumerable)&&a(e,"self",{get:function(){return e},set:function(p){if(this!==e)throw new i("Illegal invocation");f(e,"self",{value:p,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else n({global:!0,simple:!0,forced:c},{self:e})}catch(d){}},8235:function(u,h,t){var n=t(14304),e=t(34246),a=t(23115).set,s=t(9934),i=e.setImmediate?s(a,!1):a;n({global:!0,bind:!0,enumerable:!0,forced:e.setImmediate!==i},{setImmediate:i})},63981:function(u,h,t){var n=t(14304),e=t(34246),a=t(9934),s=a(e.setInterval,!0);n({global:!0,bind:!0,forced:e.setInterval!==s},{setInterval:s})},23913:function(u,h,t){var n=t(14304),e=t(34246),a=t(9934),s=a(e.setTimeout,!0);n({global:!0,bind:!0,forced:e.setTimeout!==s},{setTimeout:s})},92904:function(u,h,t){var n=t(70457),e=t(14304),a=t(34246),s=t(38941),i=t(11286),f=t(72069),c=t(36374),v=t(23583),d=t(11051),p=t(5683),y=t(37540),m=t(491),S=t(55902),I=t(25001),E=t(9205),R=t(94879),N=t(84082),P=t(90809),C=t(82628),b=t(95486),A=t(54932),M=t(1774),F=t(172),B=t(35051),U=t(63741),j=t(16929),W=t(99050),z=a.Object,w=a.Array,G=a.Date,V=a.Error,X=a.TypeError,tt=a.PerformanceMark,q=s("DOMException"),rt=M.Map,Z=M.has,mt=M.get,ht=M.set,xt=F.Set,Rt=F.add,Nt=F.has,Jt=s("Object","keys"),Xt=i([].push),jt=i((!0).valueOf),vt=i(1 .valueOf),Et=i("".valueOf),$t=i(G.prototype.getTime),Bt=c("structuredClone"),Ft="DataCloneError",Vt="Transferring",nr=function(Q){return!f(function(){var ot=new a.Set([7]),lt=Q(ot),st=Q(z(7));return lt===ot||!lt.has(7)||!y(st)||+st!=7})&&Q},tr=function(Q,ot){return!f(function(){var lt=new ot,st=Q({a:lt,b:lt});return!(st&&st.a===st.b&&st.a instanceof ot&&st.a.stack===lt.stack)})},Zt=function(Q){return!f(function(){var ot=Q(new a.AggregateError([1],Bt,{cause:3}));return ot.name!=="AggregateError"||ot.errors[0]!==1||ot.message!==Bt||ot.cause!==3})},Ht=a.structuredClone,rr=n||!tr(Ht,V)||!tr(Ht,q)||!Zt(Ht),Qt=!Ht&&nr(function(Q){return new tt(Bt,{detail:Q}).detail}),wt=nr(Ht)||Qt,ft=function(Q){throw new q("Uncloneable type: "+Q,Ft)},ct=function(Q,ot){throw new q((ot||"Cloning")+" of "+Q+" cannot be properly polyfilled in this engine",Ft)},nt=function(Q,ot){return wt||ct(ot),wt(Q)},Mt=function(){var Q;try{Q=new a.DataTransfer}catch(ot){try{Q=new a.ClipboardEvent("").clipboardData}catch(lt){}}return Q&&Q.items&&Q.files?Q:null},bt=function(Q,ot,lt){if(Z(ot,Q))return mt(ot,Q);var st=lt||E(Q),yt,at,Lt,er,it,St;if(st==="SharedArrayBuffer")wt?yt=wt(Q):yt=Q;else{var It=a.DataView;!It&&!v(Q.slice)&&ct("ArrayBuffer");try{if(v(Q.slice)&&!Q.resizable)yt=Q.slice(0);else for(at=Q.byteLength,Lt=("maxByteLength"in Q)?{maxByteLength:Q.maxByteLength}:void 0,yt=new ArrayBuffer(at,Lt),er=new It(Q),it=new It(yt),St=0;St1&&!p(arguments[1])?I(arguments[1]):void 0,st=lt?lt.transfer:void 0,yt,at;st!==void 0&&(yt=new rt,at=ur(st,yt));var Lt=Tt(ot,yt);return at&&vr(at),Lt}})},28381:function(u,h,t){t(63981),t(23913)},98812:function(u,h,t){t(35054),t(93087);var n=t(14304),e=t(34246),a=t(28167),s=t(38941),i=t(96499),f=t(11286),c=t(92986),v=t(91918),d=t(16142),p=t(85500),y=t(2725),m=t(78401),S=t(26820),I=t(82367),E=t(12833),R=t(23583),N=t(94879),P=t(45526),C=t(9205),b=t(25001),A=t(37540),M=t(17361),F=t(5406),B=t(18526),U=t(90619),j=t(81077),W=t(10659),z=t(95486),w=t(18565),G=t(13270),V=w("iterator"),X="URLSearchParams",tt=X+"Iterator",q=I.set,rt=I.getterFor(X),Z=I.getterFor(tt),mt=a("fetch"),ht=a("Request"),xt=a("Headers"),Rt=ht&&ht.prototype,Nt=xt&&xt.prototype,Jt=e.TypeError,Xt=e.encodeURIComponent,jt=String.fromCharCode,vt=s("String","fromCodePoint"),Et=parseInt,$t=f("".charAt),Bt=f([].join),Ft=f([].push),Vt=f("".replace),nr=f([].shift),tr=f([].splice),Zt=f("".split),Ht=f("".slice),rr=f(/./.exec),Qt=/\+/g,wt="\uFFFD",ft=/^[0-9a-f]+$/i,ct=function(it,St){var It=Ht(it,St,St+2);return rr(ft,It)?Et(It,16):NaN},nt=function(it){for(var St=0,It=128;It>0&&it&It;It>>=1)St++;return St},Mt=function(it){var St=null;switch(it.length){case 1:St=it[0];break;case 2:St=(it[0]&31)<<6|it[1]&63;break;case 3:St=(it[0]&15)<<12|(it[1]&63)<<6|it[2]&63;break;case 4:St=(it[0]&7)<<18|(it[1]&63)<<12|(it[2]&63)<<6|it[3]&63;break}return St>1114111?null:St},bt=function(it){it=Vt(it,Qt," ");for(var St=it.length,It="",Ot=0;OtSt){It+="%",Ot++;continue}var _t=ct(it,Ot+1);if(_t!==_t){It+=Wt,Ot++;continue}Ot+=2;var ir=nt(_t);if(ir===0)Wt=jt(_t);else{if(ir===1||ir>4){It+=wt,Ot++;continue}for(var lr=[_t],mr=1;mrSt||$t(it,Ot)!=="%"));){var dr=ct(it,Ot+1);if(dr!==dr){Ot+=3;break}if(dr>191||dr<128)break;Ft(lr,dr),Ot+=2,mr++}if(lr.length!==ir){It+=wt;continue}var Lr=Mt(lr);Lr===null?It+=wt:Wt=vt(Lr)}}It+=Wt,Ot++}return It},At=/[!'()~]|%20/g,Tt={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},ur=function(it){return Tt[it]},vr=function(it){return Vt(Xt(it),At,ur)},Q=S(function(St,It){q(this,{type:tt,target:rt(St).entries,index:0,kind:It})},X,function(){var St=Z(this),It=St.target,Ot=St.index++;if(!It||Ot>=It.length)return St.target=null,W(void 0,!0);var Wt=It[Ot];switch(St.kind){case"keys":return W(Wt.key,!1);case"values":return W(Wt.value,!1)}return W([Wt.key,Wt.value],!1)},!0),ot=function(it){this.entries=[],this.url=null,it!==void 0&&(A(it)?this.parseObject(it):this.parseQuery(typeof it=="string"?$t(it,0)==="?"?Ht(it,1):it:M(it)))};ot.prototype={type:X,bindURL:function(it){this.url=it,this.update()},parseObject:function(it){var St=this.entries,It=j(it),Ot,Wt,_t,ir,lr,mr,dr;if(It)for(Ot=U(it,It),Wt=Ot.next;!(_t=i(Wt,Ot)).done;){if(ir=U(b(_t.value)),lr=ir.next,(mr=i(lr,ir)).done||(dr=i(lr,ir)).done||!i(lr,ir).done)throw new Jt("Expected sequence with length 2");Ft(St,{key:M(mr.value),value:M(dr.value)})}else for(var Lr in it)N(it,Lr)&&Ft(St,{key:Lr,value:M(it[Lr])})},parseQuery:function(it){if(it)for(var St=this.entries,It=Zt(it,"&"),Ot=0,Wt,_t;Ot0?arguments[0]:void 0,It=q(this,new ot(St));c||(this.size=It.entries.length)},st=lt.prototype;if(y(st,{append:function(St,It){var Ot=rt(this);z(arguments.length,2),Ft(Ot.entries,{key:M(St),value:M(It)}),c||this.length++,Ot.updateURL()},delete:function(it){for(var St=rt(this),It=z(arguments.length,1),Ot=St.entries,Wt=M(it),_t=It<2?void 0:arguments[1],ir=_t===void 0?_t:M(_t),lr=0;lrOt.key?1:-1}),St.updateURL()},forEach:function(St){for(var It=rt(this).entries,Ot=P(St,arguments.length>1?arguments[1]:void 0),Wt=0,_t;Wt1?Lt(arguments[1]):{})}}),R(ht)){var er=function(St){return E(this,Rt),new ht(St,arguments.length>1?Lt(arguments[1]):{})};Rt.constructor=er,er.prototype=Rt,n({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:er})}}u.exports={URLSearchParams:lt,getState:rt}},10901:function(u,h,t){var n=t(16142),e=t(11286),a=t(17361),s=t(95486),i=URLSearchParams,f=i.prototype,c=e(f.append),v=e(f.delete),d=e(f.forEach),p=e([].push),y=new i("a=1&a=2&b=3");y.delete("a",1),y.delete("b",void 0),y+""!="a=2"&&n(f,"delete",function(m){var S=arguments.length,I=S<2?void 0:arguments[1];if(S&&I===void 0)return v(this,m);var E=[];d(this,function(F,B){p(E,{key:B,value:F})}),s(S,1);for(var R=a(m),N=a(I),P=0,C=0,b=!1,A=E.length,M;P?@[\\\]^|]/,Ht=/[\0\t\n\r #/:<>?@[\\\]^|]/,rr=/^[\u0000-\u0020]+/,Qt=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,wt=/[\t\n\r]/g,ft,ct=function(J){var gt=ht(J,"."),k,Y,ut,Kt,Pt,xr,Or;if(gt.length&>[gt.length-1]===""&>.length--,k=gt.length,k>4)return J;for(Y=[],ut=0;ut1&&G(Kt,0)==="0"&&(Pt=V(Ft,Kt)?16:8,Kt=xt(Kt,Pt===8?1:2)),Kt==="")xr=0;else{if(!V(Pt===10?nr:Pt===8?Vt:tr,Kt))return J;xr=W(Kt,Pt)}rt(Y,xr)}for(ut=0;ut=w(256,5-k))return null}else if(xr>255)return null;for(Or=q(Y),ut=0;ut6))return;for(xr=0;Tr();){if(Or=null,xr>0)if(Tr()==="."&&xr<4)ut++;else return;if(!V(Bt,Tr()))return;for(;V(Bt,Tr());){if(Rr=W(Tr(),10),Or===null)Or=Rr;else{if(Or===0)return;Or=Or*10+Rr}if(Or>255)return;ut++}gt[k]=gt[k]*256+Or,xr++,(xr===2||xr===4)&&k++}if(xr!==4)return;break}else if(Tr()===":"){if(ut++,!Tr())return}else if(Tr())return;gt[k++]=Kt}if(Y!==null)for(Ur=k-Y,k=7;k!==0&&Ur>0;)dt=gt[k],gt[k--]=gt[Y+Ur-1],gt[Y+--Ur]=dt;else if(k!==8)return;return gt},Mt=function(J){for(var gt=null,k=1,Y=null,ut=0,Kt=0;Kt<8;Kt++)J[Kt]!==0?(ut>k&&(gt=Y,k=ut),Y=null,ut=0):(Y===null&&(Y=Kt),++ut);return ut>k?Y:gt},bt=function(J){var gt,k,Y,ut;if(typeof J=="number"){for(gt=[],k=0;k<4;k++)Nt(gt,J%256),J=z(J/256);return X(gt,".")}if(typeof J=="object"){for(gt="",Y=Mt(J),k=0;k<8;k++)ut&&J[k]===0||(ut&&(ut=!1),Y===k?(gt+=k?":":"::",ut=!0):(gt+=tt(J[k],16),k<7&&(gt+=":")));return"["+gt+"]"}return J},At={},Tt=y({},At,{" ":1,'"':1,"<":1,">":1,"`":1}),ur=y({},Tt,{"#":1,"?":1,"{":1,"}":1}),vr=y({},ur,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Q=function(J,gt){var k=I(J,0);return k>32&&k<127&&!p(gt,J)?J:encodeURIComponent(J)},ot={ftp:21,file:null,http:80,https:443,ws:80,wss:443},lt=function(J,gt){var k;return J.length===2&&V(Et,G(J,0))&&((k=G(J,1))===":"||!gt&&k==="|")},st=function(J){var gt;return J.length>1&<(xt(J,0,2))&&(J.length===2||(gt=G(J,2))==="/"||gt==="\\"||gt==="?"||gt==="#")},yt=function(J){return J==="."||Rt(J)==="%2e"},at=function(J){return J=Rt(J),J===".."||J==="%2e."||J===".%2e"||J==="%2e%2e"},Lt={},er={},it={},St={},It={},Ot={},Wt={},_t={},ir={},lr={},mr={},dr={},Lr={},dn={},Nn={},hn={},_r={},jr={},ee={},Jr={},Vr={},gn=function(J,gt,k){var Y=R(J),ut,Kt,Pt;if(gt){if(Kt=this.parse(Y),Kt)throw new j(Kt);this.searchParams=null}else{if(k!==void 0&&(ut=new gn(k,!0)),Kt=this.parse(Y,null,ut),Kt)throw new j(Kt);Pt=B(new F),Pt.bindURL(this),this.searchParams=Pt}};gn.prototype={type:"URL",parse:function(J,gt,k){var Y=this,ut=gt||Lt,Kt=0,Pt="",xr=!1,Or=!1,Rr=!1,Ur,dt,Tr,Hr;for(J=R(J),gt||(Y.scheme="",Y.username="",Y.password="",Y.host=null,Y.port=null,Y.path=[],Y.query=null,Y.fragment=null,Y.cannotBeABaseURL=!1,J=Z(J,rr,""),J=Z(J,Qt,"$1")),J=Z(J,wt,""),Ur=m(J);Kt<=Ur.length;){switch(dt=Ur[Kt],ut){case Lt:if(dt&&V(Et,dt))Pt+=Rt(dt),ut=er;else{if(gt)return Xt;ut=it;continue}break;case er:if(dt&&(V($t,dt)||dt==="+"||dt==="-"||dt==="."))Pt+=Rt(dt);else if(dt===":"){if(gt&&(Y.isSpecial()!==p(ot,Pt)||Pt==="file"&&(Y.includesCredentials()||Y.port!==null)||Y.scheme==="file"&&!Y.host))return;if(Y.scheme=Pt,gt){Y.isSpecial()&&ot[Y.scheme]===Y.port&&(Y.port=null);return}Pt="",Y.scheme==="file"?ut=dn:Y.isSpecial()&&k&&k.scheme===Y.scheme?ut=St:Y.isSpecial()?ut=_t:Ur[Kt+1]==="/"?(ut=It,Kt++):(Y.cannotBeABaseURL=!0,rt(Y.path,""),ut=ee)}else{if(gt)return Xt;Pt="",ut=it,Kt=0;continue}break;case it:if(!k||k.cannotBeABaseURL&&dt!=="#")return Xt;if(k.cannotBeABaseURL&&dt==="#"){Y.scheme=k.scheme,Y.path=S(k.path),Y.query=k.query,Y.fragment="",Y.cannotBeABaseURL=!0,ut=Vr;break}ut=k.scheme==="file"?dn:Ot;continue;case St:if(dt==="/"&&Ur[Kt+1]==="/")ut=ir,Kt++;else{ut=Ot;continue}break;case It:if(dt==="/"){ut=lr;break}else{ut=jr;continue}case Ot:if(Y.scheme=k.scheme,dt===ft)Y.username=k.username,Y.password=k.password,Y.host=k.host,Y.port=k.port,Y.path=S(k.path),Y.query=k.query;else if(dt==="/"||dt==="\\"&&Y.isSpecial())ut=Wt;else if(dt==="?")Y.username=k.username,Y.password=k.password,Y.host=k.host,Y.port=k.port,Y.path=S(k.path),Y.query="",ut=Jr;else if(dt==="#")Y.username=k.username,Y.password=k.password,Y.host=k.host,Y.port=k.port,Y.path=S(k.path),Y.query=k.query,Y.fragment="",ut=Vr;else{Y.username=k.username,Y.password=k.password,Y.host=k.host,Y.port=k.port,Y.path=S(k.path),Y.path.length--,ut=jr;continue}break;case Wt:if(Y.isSpecial()&&(dt==="/"||dt==="\\"))ut=ir;else if(dt==="/")ut=lr;else{Y.username=k.username,Y.password=k.password,Y.host=k.host,Y.port=k.port,ut=jr;continue}break;case _t:if(ut=ir,dt!=="/"||G(Pt,Kt+1)!=="/")continue;Kt++;break;case ir:if(dt!=="/"&&dt!=="\\"){ut=lr;continue}break;case lr:if(dt==="@"){xr&&(Pt="%40"+Pt),xr=!0,Tr=m(Pt);for(var sn=0;sn65535)return vt;Y.port=Y.isSpecial()&&un===ot[Y.scheme]?null:un,Pt=""}if(gt)return;ut=_r;continue}else return vt;break;case dn:if(Y.scheme="file",dt==="/"||dt==="\\")ut=Nn;else if(k&&k.scheme==="file")switch(dt){case ft:Y.host=k.host,Y.path=S(k.path),Y.query=k.query;break;case"?":Y.host=k.host,Y.path=S(k.path),Y.query="",ut=Jr;break;case"#":Y.host=k.host,Y.path=S(k.path),Y.query=k.query,Y.fragment="",ut=Vr;break;default:st(X(S(Ur,Kt),""))||(Y.host=k.host,Y.path=S(k.path),Y.shortenPath()),ut=jr;continue}else{ut=jr;continue}break;case Nn:if(dt==="/"||dt==="\\"){ut=hn;break}k&&k.scheme==="file"&&!st(X(S(Ur,Kt),""))&&(lt(k.path[0],!0)?rt(Y.path,k.path[0]):Y.host=k.host),ut=jr;continue;case hn:if(dt===ft||dt==="/"||dt==="\\"||dt==="?"||dt==="#"){if(!gt&<(Pt))ut=jr;else if(Pt===""){if(Y.host="",gt)return;ut=_r}else{if(Hr=Y.parseHost(Pt),Hr)return Hr;if(Y.host==="localhost"&&(Y.host=""),gt)return;Pt="",ut=_r}continue}else Pt+=dt;break;case _r:if(Y.isSpecial()){if(ut=jr,dt!=="/"&&dt!=="\\")continue}else if(!gt&&dt==="?")Y.query="",ut=Jr;else if(!gt&&dt==="#")Y.fragment="",ut=Vr;else if(dt!==ft&&(ut=jr,dt!=="/"))continue;break;case jr:if(dt===ft||dt==="/"||dt==="\\"&&Y.isSpecial()||!gt&&(dt==="?"||dt==="#")){if(at(Pt)?(Y.shortenPath(),dt!=="/"&&!(dt==="\\"&&Y.isSpecial())&&rt(Y.path,"")):yt(Pt)?dt!=="/"&&!(dt==="\\"&&Y.isSpecial())&&rt(Y.path,""):(Y.scheme==="file"&&!Y.path.length&<(Pt)&&(Y.host&&(Y.host=""),Pt=G(Pt,0)+":"),rt(Y.path,Pt)),Pt="",Y.scheme==="file"&&(dt===ft||dt==="?"||dt==="#"))for(;Y.path.length>1&&Y.path[0]==="";)mt(Y.path);dt==="?"?(Y.query="",ut=Jr):dt==="#"&&(Y.fragment="",ut=Vr)}else Pt+=Q(dt,ur);break;case ee:dt==="?"?(Y.query="",ut=Jr):dt==="#"?(Y.fragment="",ut=Vr):dt!==ft&&(Y.path[0]+=Q(dt,At));break;case Jr:!gt&&dt==="#"?(Y.fragment="",ut=Vr):dt!==ft&&(dt==="'"&&Y.isSpecial()?Y.query+="%27":dt==="#"?Y.query+="%23":Y.query+=Q(dt,At));break;case Vr:dt!==ft&&(Y.fragment+=Q(dt,Tt));break}Kt++}},parseHost:function(J){var gt,k,Y;if(G(J,0)==="["){if(G(J,J.length-1)!=="]"||(gt=nt(xt(J,1,-1)),!gt))return jt;this.host=gt}else if(this.isSpecial()){if(J=E(J),V(Zt,J)||(gt=ct(J),gt===null))return jt;this.host=gt}else{if(V(Ht,J))return jt;for(gt="",k=m(J),Y=0;Y1?arguments[1]:void 0,ut=A(k,new gn(gt,!1,Y));e||(k.href=ut.serialize(),k.origin=ut.getOrigin(),k.protocol=ut.getProtocol(),k.username=ut.getUsername(),k.password=ut.getPassword(),k.host=ut.getHost(),k.hostname=ut.getHostname(),k.port=ut.getPort(),k.pathname=ut.getPathname(),k.search=ut.getSearch(),k.searchParams=ut.getSearchParams(),k.hash=ut.getHash())},Mr=tn.prototype,br=function(J,gt){return{get:function(){return M(this)[J]()},set:gt&&function(k){return M(this)[gt](k)},configurable:!0,enumerable:!0}};if(e&&(v(Mr,"href",br("serialize","setHref")),v(Mr,"origin",br("getOrigin")),v(Mr,"protocol",br("getProtocol","setProtocol")),v(Mr,"username",br("getUsername","setUsername")),v(Mr,"password",br("getPassword","setPassword")),v(Mr,"host",br("getHost","setHost")),v(Mr,"hostname",br("getHostname","setHostname")),v(Mr,"port",br("getPort","setPort")),v(Mr,"pathname",br("getPathname","setPathname")),v(Mr,"search",br("getSearch","setSearch")),v(Mr,"searchParams",br("getSearchParams")),v(Mr,"hash",br("getHash","setHash"))),c(Mr,"toJSON",function(){return M(this).serialize()},{enumerable:!0}),c(Mr,"toString",function(){return M(this).serialize()},{enumerable:!0}),U){var an=U.createObjectURL,on=U.revokeObjectURL;an&&c(tn,"createObjectURL",i(an,U)),on&&c(tn,"revokeObjectURL",i(on,U))}N(tn,"URL"),n({global:!0,constructor:!0,forced:!a,sham:!e},{URL:tn})},51862:function(u,h,t){t(81888)},24119:function(u,h,t){var n=t(14304),e=t(38941),a=t(95486),s=t(17361),i=t(91918),f=e("URL");n({target:"URL",stat:!0,forced:!i},{parse:function(v){var d=a(arguments.length,1),p=s(v),y=d<2||arguments[1]===void 0?void 0:s(arguments[1]);try{return new f(p,y)}catch(m){return null}}})},97526:function(u,h,t){var n=t(14304),e=t(96499);n({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return e(URL.prototype.toString,this)}})},61969:function(u,h,t){t(40949),t(43657),t(43606),t(15855),t(42026),t(33257),t(59414),t(88344),t(92579),t(94655),t(8565),t(60843),t(65842),t(51595),t(54908),t(81742),t(8720),t(42861),t(27796),t(1341),t(98700),t(65481),t(46509),t(41585),t(84554),t(36619),t(33818),t(64096),t(2209),t(91591),t(74092),t(54703),t(82936),t(48493),t(64730),t(95024),t(35054),t(25460),t(60703),t(90468),t(69581),t(720),t(11042),t(17289),t(24608),t(51644),t(88088),t(46828),t(90088),t(35148),t(86184),t(53983),t(42560),t(88444),t(27839),t(73051),t(9372),t(35473),t(4983),t(6875),t(68575),t(35495),t(32790),t(58594),t(30801),t(90911),t(90429),t(33685),t(60086),t(96049),t(14038),t(55518),t(8894),t(60628),t(56347),t(16864),t(93819),t(11565),t(26668),t(46386),t(35179),t(20150),t(23001),t(40334),t(87457),t(66699),t(17535),t(48157),t(55338),t(6644),t(71332),t(47269),t(25627),t(22090),t(9839),t(15656),t(22091),t(2886),t(25895),t(24228),t(79488),t(75987),t(81555),t(87854),t(35074),t(50946),t(29417),t(80628),t(74375),t(29708),t(93449),t(9111),t(83514),t(15096),t(59590),t(99663),t(89988),t(54427),t(67895),t(57909),t(83938),t(55461),t(97339),t(3670),t(15224),t(45891),t(99910),t(92445),t(21875),t(4383),t(11361),t(13728),t(14885),t(30343),t(22045),t(75e3),t(64658),t(16017),t(84681),t(73421),t(93446),t(31046),t(94645),t(62935),t(62518),t(45130),t(51542),t(43781),t(25738),t(93247),t(41533),t(60225),t(69920),t(89205),t(78546),t(63616),t(16893),t(3676),t(58361),t(7487),t(23958),t(9798),t(2371),t(76185),t(76553),t(93518),t(25227),t(91723),t(57882),t(37796),t(11563),t(26159),t(20962),t(77487),t(6130),t(1354),t(47119),t(31145),t(96773),t(14371),t(18180),t(83147),t(75765),t(86548),t(15282),t(51275),t(91890),t(15089),t(78134),t(56456),t(40735),t(8510),t(70159),t(93087),t(26021),t(93029),t(59158),t(15599),t(18509),t(21579),t(8854),t(57676),t(14527),t(96834),t(52684),t(74980),t(390),t(42794),t(21293),t(18184),t(75012),t(19680),t(4193),t(70641),t(53892),t(95976),t(399),t(72032),t(49442),t(16012),t(9943),t(33128),t(95625),t(90614),t(60120),t(75826),t(25560),t(22571),t(40704),t(36849),t(49191),t(81083),t(27428),t(44884),t(48658),t(71998),t(6116),t(33032),t(80962),t(49381),t(38344),t(65961),t(94153),t(16028),t(20656),t(17063),t(21774),t(51761),t(12317),t(19711),t(41034),t(13313),t(44698),t(7369),t(66178),t(67961),t(8695),t(69997),t(9711),t(3923),t(59728),t(85227),t(56933),t(91490),t(61766),t(85143),t(47005),t(10042),t(37888),t(19431),t(60869),t(50338),t(53059),t(5805),t(50685),t(70649),t(39842),t(82872),t(91401),t(92904),t(28381),t(51862),t(20760),t(24119),t(97526),t(86650),t(10901),t(93944),t(79043),t(75081)}},qr={};function Gr(u){var h=qr[u];if(h!==void 0)return h.exports;var t=qr[u]={exports:{}};return Ne[u].call(t.exports,t,t.exports,Gr),t.exports}(function(){Gr.d=function(u,h){for(var t in h)Gr.o(h,t)&&!Gr.o(u,t)&&Object.defineProperty(u,t,{enumerable:!0,get:h[t]})}})(),function(){Gr.o=function(u,h){return Object.prototype.hasOwnProperty.call(u,h)}}(),Gr(61969);var ne=Gr(33539);return ne=ne.default,ne}()}); diff --git a/release/latest/dist/plugin/pkgd/billboardjs-plugin-tableview.pkgd.js b/release/latest/dist/plugin/pkgd/billboardjs-plugin-tableview.pkgd.js index fcba2c384..ba20c2442 100644 --- a/release/latest/dist/plugin/pkgd/billboardjs-plugin-tableview.pkgd.js +++ b/release/latest/dist/plugin/pkgd/billboardjs-plugin-tableview.pkgd.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */ @@ -23249,9 +23249,15 @@ function getScrollPosition(node) { function getTransformCTM(node, x = 0, y = 0, inverse = true) { const point = new DOMPoint(x, y); const screen = node.getScreenCTM(); - return point.matrixTransform( + const res = point.matrixTransform( inverse ? screen == null ? void 0 : screen.inverse() : screen ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; } function getTranslation(node) { const transform = node ? node.transform : null; @@ -23528,7 +23534,7 @@ class Plugin { }); } } -__publicField(Plugin, "version", "3.14.1"); +__publicField(Plugin, "version", "3.14.2"); ;// ./src/Plugin/tableview/const.ts diff --git a/release/latest/dist/plugin/pkgd/billboardjs-plugin-tableview.pkgd.min.js b/release/latest/dist/plugin/pkgd/billboardjs-plugin-tableview.pkgd.min.js index 387897138..027f43b6e 100644 --- a/release/latest/dist/plugin/pkgd/billboardjs-plugin-tableview.pkgd.min.js +++ b/release/latest/dist/plugin/pkgd/billboardjs-plugin-tableview.pkgd.min.js @@ -5,12 +5,12 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */(function(kr,$r){typeof exports=="object"&&typeof module=="object"?module.exports=$r():typeof define=="function"&&define.amd?define("bb",[],$r):typeof exports=="object"?exports.bb=$r():(kr.bb=kr.bb||{},kr.bb.plugin=kr.bb.plugin||{},kr.bb.plugin["tableview.pkgd"]=$r())})(this,function(){return function(){"use strict";var Ae={72611:function(i,d,t){t.d(d,{default:function(){return bs}});function r(){}function n(a){return a==null?r:function(){return this.querySelector(a)}}function e(a){typeof a!="function"&&(a=n(a));for(var l=this._groups,h=l.length,E=new Array(h),I=0;I=Gt&&(Gt=Yt+1);!(rr=Et[Gt])&&++Gt=0;)(L=E[I])&&(D&&L.compareDocumentPosition(D)^4&&D.parentNode.insertBefore(L,D),D=L);return this}function Q(a){a||(a=X);function l(Rt,Mt){return Rt&&Mt?a(Rt.__data__,Mt.__data__):!Rt-!Mt}for(var h=this._groups,E=h.length,I=new Array(E),D=0;Dl?1:a>=l?0:NaN}function k(){var a=arguments[0];return arguments[0]=this,a.apply(null,arguments),this}function Z(){return Array.from(this)}function ht(){for(var a=this._groups,l=0,h=a.length;l=0&&(l=a.slice(0,h))!=="xmlns"&&(a=a.slice(h+1)),Kt.hasOwnProperty(l)?{space:Kt[l],local:a}:a}function Ut(a){return function(){this.removeAttribute(a)}}function vt(a){return function(){this.removeAttributeNS(a.space,a.local)}}function mt(a,l){return function(){this.setAttribute(a,l)}}function Dt(a,l){return function(){this.setAttributeNS(a.space,a.local,l)}}function $t(a,l){return function(){var h=l.apply(this,arguments);h==null?this.removeAttribute(a):this.setAttribute(a,h)}}function Nt(a,l){return function(){var h=l.apply(this,arguments);h==null?this.removeAttributeNS(a.space,a.local):this.setAttributeNS(a.space,a.local,h)}}function jt(a,l){var h=Vt(a);if(arguments.length<2){var E=this.node();return h.local?E.getAttributeNS(h.space,h.local):E.getAttribute(h)}return this.each((l==null?h.local?vt:Ut:typeof l=="function"?h.local?Nt:$t:h.local?Dt:mt)(h,l))}function kt(a){return a.ownerDocument&&a.ownerDocument.defaultView||a.document&&a||a.defaultView}function _t(a){return function(){this.style.removeProperty(a)}}function Xt(a,l,h){return function(){this.style.setProperty(a,l,h)}}function Bt(a,l,h){return function(){var E=l.apply(this,arguments);E==null?this.style.removeProperty(a):this.style.setProperty(a,E,h)}}function Qt(a,l,h){return arguments.length>1?this.each((l==null?_t:typeof l=="function"?Bt:Xt)(a,l,h==null?"":h)):zt(this.node(),a)}function zt(a,l){return a.style.getPropertyValue(l)||kt(a).getComputedStyle(a,null).getPropertyValue(l)}function wt(a){return function(){delete this[a]}}function st(a,l){return function(){this[a]=l}}function dt(a,l){return function(){var h=l.apply(this,arguments);h==null?delete this[a]:this[a]=h}}function q(a,l){return arguments.length>1?this.each((l==null?wt:typeof l=="function"?dt:st)(a,l)):this.node()[a]}function At(a){return a.trim().split(/^|\s+/)}function Pt(a){return a.classList||new It(a)}function It(a){this._node=a,this._names=At(a.getAttribute("class")||"")}It.prototype={add:function(a){var l=this._names.indexOf(a);l<0&&(this._names.push(a),this._node.setAttribute("class",this._names.join(" ")))},remove:function(a){var l=this._names.indexOf(a);l>=0&&(this._names.splice(l,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(a){return this._names.indexOf(a)>=0}};function St(a,l){for(var h=Pt(a),E=-1,I=l.length;++E=0&&(h=l.slice(E+1),l=l.slice(0,E)),{type:l,name:h}})}function mr(a){return function(){var l=this.__on;if(l){for(var h=0,E=-1,I=l.length,D;h{}};function Nr(){for(var a=0,l=arguments.length,h={},E;a=0&&(E=h.slice(I+1),h=h.slice(0,I)),h&&!l.hasOwnProperty(h))throw new Error("unknown type: "+h);return{type:h,name:E}})}it.prototype=Nr.prototype={constructor:it,on:function(a,l){var h=this._,E=lr(a+"",h),I,D=-1,L=E.length;if(arguments.length<2){for(;++D0)for(var h=new Array(I),E=0,I,D;E=0&&a._call.call(void 0,l),a=a._next;--Yr}function Me(){on=(Bn=En.now())+bn,Yr=Xr=0;try{Ea()}finally{Yr=0,Oa(),on=0}}function Ia(){var a=En.now(),l=a-Bn;l>Pe&&(bn-=l,Bn=a)}function Oa(){for(var a,l=Un,h,E=1/0;l;)l._call?(E>l._time&&(E=l._time),a=l,l=l._next):(h=l._next,l._next=null,l=a?a._next=h:Un=h);Sn=a,se(E)}function se(a){if(!Yr){Xr&&(Xr=clearTimeout(Xr));var l=a-on;l>24?(a<1/0&&(Xr=setTimeout(Me,a-En.now()-bn)),xn&&(xn=clearInterval(xn))):(xn||(Bn=En.now(),xn=setInterval(Ia,Pe)),Yr=1,Ce(Me))}}function De(a,l,h){var E=new jn;return l=l==null?0:+l,E.restart(I=>{E.stop(),a(I+l)},l,h),E}var Ta=$n("start","end","cancel","interrupt"),Ra=[],Fe=0,Le=1,ie=2,wn=3,$e=4,ue=5,Gn=6;function Vn(a,l,h,E,I,D){var L=a.__transition;if(!L)a.__transition={};else if(h in L)return;Aa(a,h,{name:l,index:E,group:I,on:Ta,tween:Ra,time:D.time,delay:D.delay,duration:D.duration,ease:D.ease,timer:null,state:Fe})}function fe(a,l){var h=wr(a,l);if(h.state>Fe)throw new Error("too late; already scheduled");return h}function Hr(a,l){var h=wr(a,l);if(h.state>wn)throw new Error("too late; already running");return h}function wr(a,l){var h=a.__transition;if(!h||!(h=h[l]))throw new Error("transition not found");return h}function Aa(a,l,h){var E=a.__transition,I;E[l]=h,h.timer=Ne(D,0,h.time);function D(_){h.state=Le,h.timer.restart(L,h.delay,h.time),h.delay<=_&&L(_-h.delay)}function L(_){var tt,Rt,Mt,Wt;if(h.state!==Le)return z();for(tt in E)if(Wt=E[tt],Wt.name===h.name){if(Wt.state===wn)return De(L);Wt.state===$e?(Wt.state=Gn,Wt.timer.stop(),Wt.on.call("interrupt",a,a.__data__,Wt.index,Wt.group),delete E[tt]):+ttie&&E.state180?tt+=360:tt-_>180&&(_+=360),Mt.push({i:Rt.push(I(Rt)+"rotate(",null,E)-2,x:tn(_,tt)})):tt&&Rt.push(I(Rt)+"rotate("+tt+E)}function V(_,tt,Rt,Mt){_!==tt?Mt.push({i:Rt.push(I(Rt)+"skewX(",null,E)-2,x:tn(_,tt)}):tt&&Rt.push(I(Rt)+"skewX("+tt+E)}function z(_,tt,Rt,Mt,Wt,fr){if(_!==Rt||tt!==Mt){var xr=Wt.push(I(Wt)+"scale(",null,",",null,")");fr.push({i:xr-4,x:tn(_,Rt)},{i:xr-2,x:tn(tt,Mt)})}else(Rt!==1||Mt!==1)&&Wt.push(I(Wt)+"scale("+Rt+","+Mt+")")}return function(_,tt){var Rt=[],Mt=[];return _=a(_),tt=a(tt),D(_.translateX,_.translateY,tt.translateX,tt.translateY,Rt,Mt),L(_.rotate,tt.rotate,Rt,Mt),V(_.skewX,tt.skewX,Rt,Mt),z(_.scaleX,_.scaleY,tt.scaleX,tt.scaleY,Rt,Mt),_=tt=null,function(Wt){for(var fr=-1,xr=Mt.length,Et;++fr>8&15|l>>4&240,l>>4&15|l&240,(l&15)<<4|l&15,1):h===8?zn(l>>24&255,l>>16&255,l>>8&255,(l&255)/255):h===4?zn(l>>12&15|l>>8&240,l>>8&15|l>>4&240,l>>4&15|l&240,((l&15)<<4|l&15)/255):null):(l=ba.exec(a))?new Fr(l[1],l[2],l[3],1):(l=ja.exec(a))?new Fr(l[1]*255/100,l[2]*255/100,l[3]*255/100,1):(l=wa.exec(a))?zn(l[1],l[2],l[3],l[4]):(l=Ga.exec(a))?zn(l[1]*255/100,l[2]*255/100,l[3]*255/100,l[4]):(l=Va.exec(a))?Ke(l[1],l[2]/100,l[3]/100,1):(l=Ha.exec(a))?Ke(l[1],l[2]/100,l[3]/100,l[4]):we.hasOwnProperty(a)?He(we[a]):a==="transparent"?new Fr(NaN,NaN,NaN,0):null}function He(a){return new Fr(a>>16&255,a>>8&255,a&255,1)}function zn(a,l,h,E){return E<=0&&(a=l=h=NaN),new Fr(a,l,h,E)}function Ka(a){return a instanceof In||(a=Rn(a)),a?(a=a.rgb(),new Fr(a.r,a.g,a.b,a.opacity)):new Fr}function Kn(a,l,h,E){return arguments.length===1?Ka(a):new Fr(a,l,h,E==null?1:E)}function Fr(a,l,h,E){this.r=+a,this.g=+l,this.b=+h,this.opacity=+E}ce(Fr,Kn,je(In,{brighter(a){return a=a==null?Wn:Math.pow(Wn,a),new Fr(this.r*a,this.g*a,this.b*a,this.opacity)},darker(a){return a=a==null?On:Math.pow(On,a),new Fr(this.r*a,this.g*a,this.b*a,this.opacity)},rgb(){return this},clamp(){return new Fr(sn(this.r),sn(this.g),sn(this.b),Yn(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:We,formatHex:We,formatHex8:Ya,formatRgb:ze,toString:ze}));function We(){return`#${un(this.r)}${un(this.g)}${un(this.b)}`}function Ya(){return`#${un(this.r)}${un(this.g)}${un(this.b)}${un((isNaN(this.opacity)?1:this.opacity)*255)}`}function ze(){const a=Yn(this.opacity);return`${a===1?"rgb(":"rgba("}${sn(this.r)}, ${sn(this.g)}, ${sn(this.b)}${a===1?")":`, ${a})`}`}function Yn(a){return isNaN(a)?1:Math.max(0,Math.min(1,a))}function sn(a){return Math.max(0,Math.min(255,Math.round(a)||0))}function un(a){return a=sn(a),(a<16?"0":"")+a.toString(16)}function Ke(a,l,h,E){return E<=0?a=l=h=NaN:h<=0||h>=1?a=l=NaN:l<=0&&(a=NaN),new Gr(a,l,h,E)}function Ye(a){if(a instanceof Gr)return new Gr(a.h,a.s,a.l,a.opacity);if(a instanceof In||(a=Rn(a)),!a)return new Gr;if(a instanceof Gr)return a;a=a.rgb();var l=a.r/255,h=a.g/255,E=a.b/255,I=Math.min(l,h,E),D=Math.max(l,h,E),L=NaN,V=D-I,z=(D+I)/2;return V?(l===D?L=(h-E)/V+(h0&&z<1?0:L,new Gr(L,V,z,a.opacity)}function Xa(a,l,h,E){return arguments.length===1?Ye(a):new Gr(a,l,h,E==null?1:E)}function Gr(a,l,h,E){this.h=+a,this.s=+l,this.l=+h,this.opacity=+E}ce(Gr,Xa,je(In,{brighter(a){return a=a==null?Wn:Math.pow(Wn,a),new Gr(this.h,this.s,this.l*a,this.opacity)},darker(a){return a=a==null?On:Math.pow(On,a),new Gr(this.h,this.s,this.l*a,this.opacity)},rgb(){var a=this.h%360+(this.h<0)*360,l=isNaN(a)||isNaN(this.s)?0:this.s,h=this.l,E=h+(h<.5?h:1-h)*l,I=2*h-E;return new Fr(de(a>=240?a-240:a+120,I,E),de(a,I,E),de(a<120?a+240:a-120,I,E),this.opacity)},clamp(){return new Gr(Xe(this.h),Xn(this.s),Xn(this.l),Yn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const a=Yn(this.opacity);return`${a===1?"hsl(":"hsla("}${Xe(this.h)}, ${Xn(this.s)*100}%, ${Xn(this.l)*100}%${a===1?")":`, ${a})`}`}}));function Xe(a){return a=(a||0)%360,a<0?a+360:a}function Xn(a){return Math.max(0,Math.min(1,a||0))}function de(a,l,h){return(a<60?l+(h-l)*a/60:a<180?h:a<240?l+(h-l)*(240-a)/60:l)*255}function Je(a,l,h,E,I){var D=a*a,L=D*a;return((1-3*a+3*D-L)*l+(4-6*D+3*L)*h+(1+3*a+3*D-3*L)*E+L*I)/6}function Ja(a){var l=a.length-1;return function(h){var E=h<=0?h=0:h>=1?(h=1,l-1):Math.floor(h*l),I=a[E],D=a[E+1],L=E>0?a[E-1]:2*I-D,V=E()=>a;function Ze(a,l){return function(h){return a+h*l}}function Za(a,l,h){return a=Math.pow(a,h),l=Math.pow(l,h)-a,h=1/h,function(E){return Math.pow(a+E*l,h)}}function Gs(a,l){var h=l-a;return h?Ze(a,h>180||h<-180?h-360*Math.round(h/360):h):constant(isNaN(a)?l:a)}function ka(a){return(a=+a)==1?ke:function(l,h){return h-l?Za(l,h,a):Qe(isNaN(l)?h:l)}}function ke(a,l){var h=l-a;return h?Ze(a,h):Qe(isNaN(a)?l:a)}var qe=function a(l){var h=ka(l);function E(I,D){var L=h((I=Kn(I)).r,(D=Kn(D)).r),V=h(I.g,D.g),z=h(I.b,D.b),_=ke(I.opacity,D.opacity);return function(tt){return I.r=L(tt),I.g=V(tt),I.b=z(tt),I.opacity=_(tt),I+""}}return E.gamma=a,E}(1);function _e(a){return function(l){var h=l.length,E=new Array(h),I=new Array(h),D=new Array(h),L,V;for(L=0;Lh&&(D=l.slice(h,D),V[L]?V[L]+=D:V[++L]=D),(E=E[0])===(I=I[0])?V[L]?V[L]+=I:V[++L]=I:(V[++L]=null,z.push({i:L,x:tn(E,I)})),h=ge.lastIndex;return h=0&&(l=l.slice(0,h)),!l||l==="start"})}function Po(a,l,h){var E,I,D=Ao(l)?fe:Hr;return function(){var L=D(this,a),V=L.on;V!==E&&(I=(E=V).copy()).on(l,h),L.on=I}}function Co(a,l){var h=this._id;return arguments.length<2?wr(this.node(),h).on.on(a):this.each(Po(h,a,l))}function No(a){return function(){var l=this.parentNode;for(var h in this.__transition)if(+h!==a)return;l&&l.removeChild(this)}}function Mo(){return this.on("end.remove",No(this._id))}function Do(a){var l=this._name,h=this._id;typeof a!="function"&&(a=n(a));for(var E=this._groups,I=E.length,D=new Array(I),L=0;L{const pr=Jt.identifier;return Jt=pointer(Jt,Ht),Jt.point0=Jt.slice(),Jt.identifier=pr,Jt});interrupt(Ht);var Cn=tt(Ht,arguments,!0).beforestart();if(Yt==="overlay"){hr&&(Re=!0);const Jt=[Lr[0],Lr[1]||Lr[0]];Mr.selection=hr=[[vr=a===Qn?Vr:Cr(Jt[0][0],Jt[1][0]),Er=a===Jn?rn:Cr(Jt[0][1],Jt[1][1])],[Or=a===Qn?nn:Pr(Jt[0][0],Jt[1][0]),Rr=a===Jn?en:Pr(Jt[0][1],Jt[1][1])]],Lr.length>1&&fn(Et)}else vr=hr[0][0],Er=hr[0][1],Or=hr[1][0],Rr=hr[1][1];Sr=vr,Ir=Er,Tr=Or,Ar=Rr;var ya=select(Ht).attr("pointer-events","none"),Nn=ya.selectAll(".overlay").attr("cursor",Zr[Yt]);if(Et.touches)Cn.moved=ma,Cn.ended=xa;else{var pa=select(Et.view).on("mousemove.brush",ma,!0).on("mouseup.brush",xa,!0);I&&pa.on("keydown.brush",js,!0).on("keyup.brush",ws,!0),dragDisable(Et.view)}_.call(Ht),Cn.start(Et,Gt.name);function ma(Jt){for(const pr of Jt.changedTouches||[Jt])for(const Mn of Lr)Mn.identifier===pr.identifier&&(Mn.cur=pointer(pr,Ht));if(re&&!ne&&!ee&&Lr.length===1){const pr=Lr[0];aa(pr.cur[0]-pr[0])>aa(pr.cur[1]-pr[1])?ee=!0:ne=!0}for(const pr of Lr)pr.cur&&(pr[0]=pr.cur[0],pr[1]=pr.cur[1]);Re=!0,noevent(Jt),fn(Jt)}function fn(Jt){const pr=Lr[0],Mn=pr.point0;var an;switch(gr=pr[0]-Mn[0],yr=pr[1]-Mn[1],Gt){case ye:case ea:{tr&&(gr=Pr(Vr-vr,Cr(nn-Or,gr)),Sr=vr+gr,Tr=Or+gr),rr&&(yr=Pr(rn-Er,Cr(en-Rr,yr)),Ir=Er+yr,Ar=Rr+yr);break}case cn:{Lr[1]?(tr&&(Sr=Pr(Vr,Cr(nn,Lr[0][0])),Tr=Pr(Vr,Cr(nn,Lr[1][0])),tr=1),rr&&(Ir=Pr(rn,Cr(en,Lr[0][1])),Ar=Pr(rn,Cr(en,Lr[1][1])),rr=1)):(tr<0?(gr=Pr(Vr-vr,Cr(nn-vr,gr)),Sr=vr+gr,Tr=Or):tr>0&&(gr=Pr(Vr-Or,Cr(nn-Or,gr)),Sr=vr,Tr=Or+gr),rr<0?(yr=Pr(rn-Er,Cr(en-Er,yr)),Ir=Er+yr,Ar=Rr):rr>0&&(yr=Pr(rn-Rr,Cr(en-Rr,yr)),Ir=Er,Ar=Rr+yr));break}case dn:{tr&&(Sr=Pr(Vr,Cr(nn,vr-gr*tr)),Tr=Pr(Vr,Cr(nn,Or+gr*tr))),rr&&(Ir=Pr(rn,Cr(en,Er-yr*rr)),Ar=Pr(rn,Cr(en,Rr+yr*rr)));break}}Tr0&&(vr=Sr-gr),rr<0?Rr=Ar-yr:rr>0&&(Er=Ir-yr),Gt=ye,Nn.attr("cursor",Zr.selection),fn(Jt));break}default:return}noevent(Jt)}function ws(Jt){switch(Jt.keyCode){case 16:{re&&(ne=ee=re=!1,fn(Jt));break}case 18:{Gt===dn&&(tr<0?Or=Tr:tr>0&&(vr=Sr),rr<0?Rr=Ar:rr>0&&(Er=Ir),Gt=cn,fn(Jt));break}case 32:{Gt===ye&&(Jt.altKey?(tr&&(Or=Tr-gr*tr,vr=Sr+gr*tr),rr&&(Rr=Ar-yr*rr,Er=Ir+yr*rr),Gt=dn):(tr<0?Or=Tr:tr>0&&(vr=Sr),rr<0?Rr=Ar:rr>0&&(Er=Ir),Gt=cn),Nn.attr("cursor",Zr[Yt]),fn(Jt));break}default:return}noevent(Jt)}}function Wt(Et){tt(this,arguments).moved(Et)}function fr(Et){tt(this,arguments).ended(Et)}function xr(){var Et=this.__brush||{selection:null};return Et.extent=pe(l.apply(this,arguments)),Et.dim=a,Et}return z.extent=function(Et){return arguments.length?(l=typeof Et=="function"?Et:constant(pe(Et)),z):l},z.filter=function(Et){return arguments.length?(h=typeof Et=="function"?Et:constant(!!Et),z):h},z.touchable=function(Et){return arguments.length?(E=typeof Et=="function"?Et:constant(!!Et),z):E},z.handleSize=function(Et){return arguments.length?(L=+Et,z):L},z.keyModifiers=function(Et){return arguments.length?(I=!!Et,z):I},z.on=function(){var Et=D.on.apply(D,arguments);return Et===D?z:Et},z}function ls(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function vs(a){const l=typeof(a==null?void 0:a.requestAnimationFrame)=="function"&&typeof(a==null?void 0:a.cancelAnimationFrame)=="function",h=typeof(a==null?void 0:a.requestIdleCallback)=="function"&&typeof(a==null?void 0:a.cancelIdleCallback)=="function",E=D=>setTimeout(D,1),I=D=>clearTimeout(D);return[l?a.requestAnimationFrame:E,l?a.cancelAnimationFrame:I,h?a.requestIdleCallback:E,h?a.cancelIdleCallback:I]}const Zn=ls(),cs=Zn==null?void 0:Zn.document,[Qs,Zs,ks,qs]=vs(Zn);var ds=Object.defineProperty,ua=Object.getOwnPropertySymbols,hs=Object.prototype.hasOwnProperty,gs=Object.prototype.propertyIsEnumerable,fa=(a,l,h)=>l in a?ds(a,l,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[l]=h,la=(a,l)=>{for(var h in l||(l={}))hs.call(l,h)&&fa(a,h,l[h]);if(ua)for(var h of ua(l))gs.call(l,h)&&fa(a,h,l[h]);return a};const _s=a=>a||a===0,ys=a=>typeof a=="function",kn=a=>typeof a=="string",qn=a=>typeof a=="number",ps=a=>typeof a=="undefined",va=a=>typeof a!="undefined",ti=a=>typeof a=="boolean",ri=a=>Math.ceil(a/10)*10,ni=a=>Math.ceil(a)+.5,ei=a=>a[1]-a[0],Se=a=>typeof a=="object",ms=a=>ps(a)||a===null||kn(a)&&a.length===0||Se(a)&&!(a instanceof Date)&&Object.keys(a).length===0||qn(a)&&isNaN(a),xs=a=>!ms(a),Ee=a=>Array.isArray(a),_n=a=>a&&!(a!=null&&a.nodeType)&&Se(a)&&!Ee(a);function ai(a,l,h){return va(a[l])?a[l]:h}function oi(a,l){let h=!1;return Object.keys(a).forEach(E=>a[E]===l&&(h=!0)),h}function si(a,l,...h){const E=ys(a);return E&&a.call(l,...h),E}function ii(a,l){let h=0;const E=function(...I){!--h&&l.apply(this,...I)};"duration"in a?a.each(()=>++h).on("end",E):(++h,a.call(E))}function ui(a){return kn(a)?a.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):a}function fi(a,l,h=[-1,1],E=!1){if(!(!a||!kn(l)))if(l.indexOf(` `)===-1)a.text(l);else{const I=[a.text(),l].map(D=>D.replace(/[\s\n]/g,""));if(I[0]!==I[1]){const D=l.split(` -`),L=E?D.length-1:1;a.html(""),D.forEach((V,z)=>{a.append("tspan").attr("x",0).attr("dy",`${z===0?h[0]*L:h[1]}em`).text(V)})}}}function Ss(a){const{x:l,y:h,width:E,height:I}=a.getBBox();return[{x:l,y:h+I},{x:l,y:h},{x:l+E,y:h},{x:l+E,y:h+I}]}function li(a){const{width:l,height:h}=a.getBoundingClientRect(),E=Ss(a),I=E[0].x,D=Math.min(E[0].y,E[1].y);return{x:I,y:D,width:l,height:h}}function vi(a,l){var h;const E=a&&((h=a.touches||a.sourceEvent&&a.sourceEvent.touches)==null?void 0:h[0]);let I=[0,0];try{I=d3Pointer(E||a,l)}catch(D){}return I.map(D=>isNaN(D)?0:D)}function Es(a){const{event:l,$el:h}=a,E=h.subchart.main||h.main;let I;return l&&l.type==="brush"?I=l.selection:E&&(I=E.select(".bb-brush").node())&&(I=d3BrushSelection(I)),I}function ci(a){return!("rect"in a)||"rect"in a&&a.hasAttribute("width")&&a.rect.width!==+a.getAttribute("width")?a.rect=a.getBoundingClientRect():a.rect}function di(a=!0,l=0,h=1e4){const E=window.crypto||window.msCrypto,I=E?l+E.getRandomValues(new Uint32Array(1))[0]%(h-l+1):Math.floor(Math.random()*(h-l)+l);return a?String(I):I}function ca(a,l,h,E,I){if(h>E)return-1;const D=Math.floor((h+E)/2);let{x:L,w:V=0}=a[D];return I&&(L=a[D].y,V=a[D].h),l>=L&&l<=L+V?D:l{if(_n(h)&&h.constructor){const E=new h.constructor;for(const I in h)E[I]=l(h[I]);return E}return h};return a.map(h=>l(h)).reduce((h,E)=>la(la({},h),E))}function Is(a={},l){Ee(l)&&l.forEach(h=>Is(a,h));for(const h in l)/^\d+$/.test(h)||h in a||(a[h]=l[h]);return a}const yi=a=>a.charAt(0).toUpperCase()+a.slice(1);function pi(a,l="-"){return a.split(l).map((h,E)=>E?h.charAt(0).toUpperCase()+h.slice(1).toLowerCase():h.toLowerCase()).join("")}const Os=a=>[].slice.call(a);function mi(a,l,h){const{rootSelector:E="",sheet:I}=a,L=`${E} ${(V=>V.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(l)} {${h.join(";")}}`;return I[I.insertRule?"insertRule":"addRule"](L,I.cssRules.length)}function xi(a){let l=[];return a.forEach(h=>{var E;try{h.cssRules&&h.cssRules.length&&(l=l.concat(Os(h.cssRules)))}catch(I){(E=window.console)==null||E.warn(`Error while reading rules from ${h.href}: ${I.toString()}`)}}),l}function Si(a){var l,h,E,I,D,L;return{x:((h=(l=window.pageXOffset)!=null?l:window.scrollX)!=null?h:0)+((E=a.scrollLeft)!=null?E:0),y:((D=(I=window.pageYOffset)!=null?I:window.scrollY)!=null?D:0)+((L=a.scrollTop)!=null?L:0)}}function Ei(a,l=0,h=0,E=!0){const I=new DOMPoint(l,h),D=a.getScreenCTM();return I.matrixTransform(E?D==null?void 0:D.inverse():D)}function Ii(a){const l=a?a.transform:null,h=l&&l.baseVal;return h&&h.numberOfItems?h.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function Oi(a){const l=a[0]instanceof Date,h=(l?a.map(Number):a).filter((E,I,D)=>D.indexOf(E)===I);return l?h.map(E=>new Date(E)):h}function Ti(a){return a&&a.length?a.reduce((l,h)=>l.concat(h)):[]}function Ie(a,...l){if(!l.length||l.length===1&&!l[0])return a;const h=l.shift();return _n(a)&&_n(h)&&Object.keys(h).forEach(E=>{const I=h[E];_n(I)?(!a[E]&&(a[E]={}),a[E]=Ie(a[E],I)):a[E]=Ee(I)?I.concat():I}),Ie(a,...l)}function Ts(a,l=!0){let h;return a[0]instanceof Date?h=l?(E,I)=>E-I:(E,I)=>I-E:l&&!a.every(isNaN)?h=(E,I)=>E-I:l||(h=(E,I)=>E>I&&-1||Exs(E));return h.length?qn(h[0])?h=Math[a](...h):h[0]instanceof Date&&(h=Ts(h,a==="min")[0]):h=void 0,h}const Ai=(a,l,h=1)=>{const E=[],I=Math.max(0,Math.ceil((l-a)/h))|0;for(let D=a;D{const a=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(l,h,E=a())=>{l.dispatchEvent(new MouseEvent(h,E))}}catch(l){return(h,E,I=a())=>{const D=cs.createEvent("MouseEvent");D.initMouseEvent(E,I.bubbles,I.cancelable,Zn,0,I.screenX,I.screenY,I.clientX,I.clientY,!1,!1,!1,!1,0,null),h.dispatchEvent(D)}}})(),touch:(a,l,h)=>{const E=new Touch(Ie({identifier:Date.now(),target:a,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},h));a.dispatchEvent(new TouchEvent(l,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[E],targetTouches:[],changedTouches:[E]}))}};function te(a,l){let h=a;for(const E in l)h=h.replace(new RegExp(`{=${E}}`,"g"),l[E]);return h}function Ci(a){var l;let h;if(a instanceof Date)h=a;else if(kn(a)){const{config:E,format:I}=this;h=(l=I.dataTime(E.data_xFormat)(a))!=null?l:new Date(a)}else qn(a)&&!isNaN(a)&&(h=new Date(+a));return(!h||isNaN(+h))&&console&&console.error&&console.error(`Failed to parse x '${a}' to Date object`),h}function Ni(a){const l=a.attr("viewBox");return l?/(\d+(\.\d+)?){3}/.test(l):!1}function Mi(a,l,h=!1){const E=!!a.node;let I=!1;for(const[D,L]of Object.entries(l))if(I=E?a.style(D)===L:a.style[D]===L,h===!1&&I)break;return I}function Di(){var a,l;return((a=document)==null?void 0:a.hidden)===!1||((l=document)==null?void 0:l.visibilityState)==="visible"}function Fi(a,l){const{DocumentTouch:h,matchMedia:E,navigator:I}=window,D=E==null?void 0:E("(pointer:coarse)").matches;let L=!1;if(l)if(I&&"maxTouchPoints"in I)L=I.maxTouchPoints>0;else if("ontouchmove"in window||h&&document instanceof h)L=!0;else if(D)L=!0;else{const z=I.userAgent;L=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(z)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(z)}return a&&!D&&(E==null?void 0:E("(pointer:fine)").matches)&&"mouse"||L&&"touch"||"mouse"}function Rs(a,l){l()===!1?requestAnimationFrame(()=>Rs(a,l)):a()}function As(a){const l=this.config;let h,E,I;const D=()=>{const L=E.shift();if(L&&h&&Se(h)&&L in h)return h=h[L],D();if(!L)return h};Object.keys(l).forEach(L=>{h=a,E=L.split("_"),I=D(),va(I)&&(l[L]=I)}),this.api&&(this.state.orgConfig=a)}var Ps=Object.defineProperty,Cs=(a,l,h)=>l in a?Ps(a,l,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[l]=h,Oe=(a,l,h)=>Cs(a,typeof l!="symbol"?l+"":l,h);class da{constructor(l={}){Oe(this,"$$"),Oe(this,"options"),this.options=l}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(l=>{this[l]=null,delete this[l]})}}Oe(da,"version","3.14.1");const hn={id:"__tableview-style__",class:"bb-tableview",rule:`.bb-tableview { +`),L=E?D.length-1:1;a.html(""),D.forEach((V,z)=>{a.append("tspan").attr("x",0).attr("dy",`${z===0?h[0]*L:h[1]}em`).text(V)})}}}function Ss(a){const{x:l,y:h,width:E,height:I}=a.getBBox();return[{x:l,y:h+I},{x:l,y:h},{x:l+E,y:h},{x:l+E,y:h+I}]}function li(a){const{width:l,height:h}=a.getBoundingClientRect(),E=Ss(a),I=E[0].x,D=Math.min(E[0].y,E[1].y);return{x:I,y:D,width:l,height:h}}function vi(a,l){var h;const E=a&&((h=a.touches||a.sourceEvent&&a.sourceEvent.touches)==null?void 0:h[0]);let I=[0,0];try{I=d3Pointer(E||a,l)}catch(D){}return I.map(D=>isNaN(D)?0:D)}function Es(a){const{event:l,$el:h}=a,E=h.subchart.main||h.main;let I;return l&&l.type==="brush"?I=l.selection:E&&(I=E.select(".bb-brush").node())&&(I=d3BrushSelection(I)),I}function ci(a){return!("rect"in a)||"rect"in a&&a.hasAttribute("width")&&a.rect.width!==+a.getAttribute("width")?a.rect=a.getBoundingClientRect():a.rect}function di(a=!0,l=0,h=1e4){const E=window.crypto||window.msCrypto,I=E?l+E.getRandomValues(new Uint32Array(1))[0]%(h-l+1):Math.floor(Math.random()*(h-l)+l);return a?String(I):I}function ca(a,l,h,E,I){if(h>E)return-1;const D=Math.floor((h+E)/2);let{x:L,w:V=0}=a[D];return I&&(L=a[D].y,V=a[D].h),l>=L&&l<=L+V?D:l{if(_n(h)&&h.constructor){const E=new h.constructor;for(const I in h)E[I]=l(h[I]);return E}return h};return a.map(h=>l(h)).reduce((h,E)=>la(la({},h),E))}function Is(a={},l){Ee(l)&&l.forEach(h=>Is(a,h));for(const h in l)/^\d+$/.test(h)||h in a||(a[h]=l[h]);return a}const yi=a=>a.charAt(0).toUpperCase()+a.slice(1);function pi(a,l="-"){return a.split(l).map((h,E)=>E?h.charAt(0).toUpperCase()+h.slice(1).toLowerCase():h.toLowerCase()).join("")}const Os=a=>[].slice.call(a);function mi(a,l,h){const{rootSelector:E="",sheet:I}=a,L=`${E} ${(V=>V.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(l)} {${h.join(";")}}`;return I[I.insertRule?"insertRule":"addRule"](L,I.cssRules.length)}function xi(a){let l=[];return a.forEach(h=>{var E;try{h.cssRules&&h.cssRules.length&&(l=l.concat(Os(h.cssRules)))}catch(I){(E=window.console)==null||E.warn(`Error while reading rules from ${h.href}: ${I.toString()}`)}}),l}function Si(a){var l,h,E,I,D,L;return{x:((h=(l=window.pageXOffset)!=null?l:window.scrollX)!=null?h:0)+((E=a.scrollLeft)!=null?E:0),y:((D=(I=window.pageYOffset)!=null?I:window.scrollY)!=null?D:0)+((L=a.scrollTop)!=null?L:0)}}function Ei(a,l=0,h=0,E=!0){const I=new DOMPoint(l,h),D=a.getScreenCTM(),L=I.matrixTransform(E?D==null?void 0:D.inverse():D);if(E===!1){const V=a.getBoundingClientRect();L.x-=V.x,L.y-=V.y}return L}function Ii(a){const l=a?a.transform:null,h=l&&l.baseVal;return h&&h.numberOfItems?h.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function Oi(a){const l=a[0]instanceof Date,h=(l?a.map(Number):a).filter((E,I,D)=>D.indexOf(E)===I);return l?h.map(E=>new Date(E)):h}function Ti(a){return a&&a.length?a.reduce((l,h)=>l.concat(h)):[]}function Ie(a,...l){if(!l.length||l.length===1&&!l[0])return a;const h=l.shift();return _n(a)&&_n(h)&&Object.keys(h).forEach(E=>{const I=h[E];_n(I)?(!a[E]&&(a[E]={}),a[E]=Ie(a[E],I)):a[E]=Ee(I)?I.concat():I}),Ie(a,...l)}function Ts(a,l=!0){let h;return a[0]instanceof Date?h=l?(E,I)=>E-I:(E,I)=>I-E:l&&!a.every(isNaN)?h=(E,I)=>E-I:l||(h=(E,I)=>E>I&&-1||Exs(E));return h.length?qn(h[0])?h=Math[a](...h):h[0]instanceof Date&&(h=Ts(h,a==="min")[0]):h=void 0,h}const Ai=(a,l,h=1)=>{const E=[],I=Math.max(0,Math.ceil((l-a)/h))|0;for(let D=a;D{const a=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(l,h,E=a())=>{l.dispatchEvent(new MouseEvent(h,E))}}catch(l){return(h,E,I=a())=>{const D=cs.createEvent("MouseEvent");D.initMouseEvent(E,I.bubbles,I.cancelable,Zn,0,I.screenX,I.screenY,I.clientX,I.clientY,!1,!1,!1,!1,0,null),h.dispatchEvent(D)}}})(),touch:(a,l,h)=>{const E=new Touch(Ie({identifier:Date.now(),target:a,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},h));a.dispatchEvent(new TouchEvent(l,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[E],targetTouches:[],changedTouches:[E]}))}};function te(a,l){let h=a;for(const E in l)h=h.replace(new RegExp(`{=${E}}`,"g"),l[E]);return h}function Ci(a){var l;let h;if(a instanceof Date)h=a;else if(kn(a)){const{config:E,format:I}=this;h=(l=I.dataTime(E.data_xFormat)(a))!=null?l:new Date(a)}else qn(a)&&!isNaN(a)&&(h=new Date(+a));return(!h||isNaN(+h))&&console&&console.error&&console.error(`Failed to parse x '${a}' to Date object`),h}function Ni(a){const l=a.attr("viewBox");return l?/(\d+(\.\d+)?){3}/.test(l):!1}function Mi(a,l,h=!1){const E=!!a.node;let I=!1;for(const[D,L]of Object.entries(l))if(I=E?a.style(D)===L:a.style[D]===L,h===!1&&I)break;return I}function Di(){var a,l;return((a=document)==null?void 0:a.hidden)===!1||((l=document)==null?void 0:l.visibilityState)==="visible"}function Fi(a,l){const{DocumentTouch:h,matchMedia:E,navigator:I}=window,D=E==null?void 0:E("(pointer:coarse)").matches;let L=!1;if(l)if(I&&"maxTouchPoints"in I)L=I.maxTouchPoints>0;else if("ontouchmove"in window||h&&document instanceof h)L=!0;else if(D)L=!0;else{const z=I.userAgent;L=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(z)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(z)}return a&&!D&&(E==null?void 0:E("(pointer:fine)").matches)&&"mouse"||L&&"touch"||"mouse"}function Rs(a,l){l()===!1?requestAnimationFrame(()=>Rs(a,l)):a()}function As(a){const l=this.config;let h,E,I;const D=()=>{const L=E.shift();if(L&&h&&Se(h)&&L in h)return h=h[L],D();if(!L)return h};Object.keys(l).forEach(L=>{h=a,E=L.split("_"),I=D(),va(I)&&(l[L]=I)}),this.api&&(this.state.orgConfig=a)}var Ps=Object.defineProperty,Cs=(a,l,h)=>l in a?Ps(a,l,{enumerable:!0,configurable:!0,writable:!0,value:h}):a[l]=h,Oe=(a,l,h)=>Cs(a,typeof l!="symbol"?l+"":l,h);class da{constructor(l={}){Oe(this,"$$"),Oe(this,"options"),this.options=l}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(l=>{this[l]=null,delete this[l]})}}Oe(da,"version","3.14.2");const hn={id:"__tableview-style__",class:"bb-tableview",rule:`.bb-tableview { border-collapse:collapse; border-spacing:0; background:#fff; diff --git a/release/latest/dist/plugin/pkgd/billboardjs-plugin-textoverlap.pkgd.js b/release/latest/dist/plugin/pkgd/billboardjs-plugin-textoverlap.pkgd.js index a964943d9..16e991e08 100644 --- a/release/latest/dist/plugin/pkgd/billboardjs-plugin-textoverlap.pkgd.js +++ b/release/latest/dist/plugin/pkgd/billboardjs-plugin-textoverlap.pkgd.js @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */ @@ -26689,9 +26689,15 @@ function getScrollPosition(node) { function getTransformCTM(node, x = 0, y = 0, inverse = true) { const point = new DOMPoint(x, y); const screen = node.getScreenCTM(); - return point.matrixTransform( + const res = point.matrixTransform( inverse ? screen == null ? void 0 : screen.inverse() : screen ); + if (inverse === false) { + const rect = node.getBoundingClientRect(); + res.x -= rect.x; + res.y -= rect.y; + } + return res; } function getTranslation(node) { const transform = node ? node.transform : null; @@ -26968,7 +26974,7 @@ class Plugin { }); } } -__publicField(Plugin, "version", "3.14.1"); +__publicField(Plugin, "version", "3.14.2"); ;// ./src/Plugin/textoverlap/Options.ts class Options { diff --git a/release/latest/dist/plugin/pkgd/billboardjs-plugin-textoverlap.pkgd.min.js b/release/latest/dist/plugin/pkgd/billboardjs-plugin-textoverlap.pkgd.min.js index 36e7e42ab..dbdf821c3 100644 --- a/release/latest/dist/plugin/pkgd/billboardjs-plugin-textoverlap.pkgd.min.js +++ b/release/latest/dist/plugin/pkgd/billboardjs-plugin-textoverlap.pkgd.min.js @@ -5,12 +5,12 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 * @requires billboard.js * @summary billboard.js plugin */(function(On,fn){typeof exports=="object"&&typeof module=="object"?module.exports=fn():typeof define=="function"&&define.amd?define("bb",[],fn):typeof exports=="object"?exports.bb=fn():(On.bb=On.bb||{},On.bb.plugin=On.bb.plugin||{},On.bb.plugin["textoverlap.pkgd"]=fn())})(this,function(){return function(){"use strict";var ia={65908:function(l,p,t){t.d(p,{default:function(){return Kl}});const r=11102230246251565e-32,e=134217729,o=(3+8*r)*r;function s(n,a,i,d,g){let S,x,A,P,R=a[0],C=d[0],j=0,U=0;C>R==C>-R?(S=R,R=a[++j]):(S=C,C=d[++U]);let L=0;if(jR==C>-R?(x=R+S,A=S-(x-R),R=a[++j]):(x=C+S,A=S-(x-C),C=d[++U]),S=x,A!==0&&(g[L++]=A);jR==C>-R?(x=S+R,P=x-S,A=S-(x-P)+(R-P),R=a[++j]):(x=S+C,P=x-S,A=S-(x-P)+(C-P),C=d[++U]),S=x,A!==0&&(g[L++]=A);for(;j=V||-Vt>=V||(j=n-ft,A=n-(ft+j)+(j-g),j=i-St,R=i-(St+j)+(j-g),j=a-Rt,P=a-(Rt+j)+(j-S),j=d-Mt,C=d-(Mt+j)+(j-S),A===0&&P===0&&R===0&&C===0)||(V=E*x+o*Math.abs(Vt),Vt+=ft*C+Mt*A-(Rt*R+St*P),Vt>=V||-Vt>=V))return Vt;ut=A*Mt,U=e*A,L=U-(U-A),Z=A-L,U=e*Mt,b=U-(U-Mt),G=Mt-b,rt=Z*G-(ut-L*b-Z*b-L*G),xt=P*St,U=e*P,L=U-(U-P),Z=P-L,U=e*St,b=U-(U-St),G=St-b,it=Z*G-(xt-L*b-Z*b-L*G),W=rt-it,j=rt-W,M[0]=rt-(W+j)+(j-it),Q=ut+W,j=Q-ut,J=ut-(Q-j)+(W-j),W=J-xt,j=J-W,M[1]=J-(W+j)+(j-xt),vt=Q+W,j=vt-Q,M[2]=Q-(vt-j)+(W-j),M[3]=vt;const _=s(4,I,4,M,O);ut=ft*C,U=e*ft,L=U-(U-ft),Z=ft-L,U=e*C,b=U-(U-C),G=C-b,rt=Z*G-(ut-L*b-Z*b-L*G),xt=Rt*R,U=e*Rt,L=U-(U-Rt),Z=Rt-L,U=e*R,b=U-(U-R),G=R-b,it=Z*G-(xt-L*b-Z*b-L*G),W=rt-it,j=rt-W,M[0]=rt-(W+j)+(j-it),Q=ut+W,j=Q-ut,J=ut-(Q-j)+(W-j),W=J-xt,j=J-W,M[1]=J-(W+j)+(j-xt),vt=Q+W,j=vt-Q,M[2]=Q-(vt-j)+(W-j),M[3]=vt;const q=s(_,O,4,M,T);ut=A*C,U=e*A,L=U-(U-A),Z=A-L,U=e*C,b=U-(U-C),G=C-b,rt=Z*G-(ut-L*b-Z*b-L*G),xt=P*R,U=e*P,L=U-(U-P),Z=P-L,U=e*R,b=U-(U-R),G=R-b,it=Z*G-(xt-L*b-Z*b-L*G),W=rt-it,j=rt-W,M[0]=rt-(W+j)+(j-it),Q=ut+W,j=Q-ut,J=ut-(Q-j)+(W-j),W=J-xt,j=J-W,M[1]=J-(W+j)+(j-xt),vt=Q+W,j=vt-Q,M[2]=Q-(vt-j)+(W-j),M[3]=vt;const dt=s(q,T,4,M,N);return N[dt-1]}function D(n,a,i,d,g,S){const x=(a-S)*(i-g),A=(n-g)*(d-S),P=x-A,R=Math.abs(x+A);return Math.abs(P)>=y*R?P:-F(n,a,i,d,g,S,R)}function w(n,a,i,d,g,S){return(a-S)*(i-g)-(n-g)*(d-S)}const $=(7+56*r)*r,B=(3+28*r)*r,H=(26+288*r)*r*r,X=v(4),Y=v(4),k=v(4),ot=v(4),st=v(4),tt=v(4),et=v(4),at=v(4),gt=v(4),Pt=v(8),Ot=v(8),Nt=v(8),It=v(4),qt=v(8),Qt=v(8),Jt=v(8),er=v(12);let ir=v(192),Ar=v(192);function xr(n,a,i){n=sum(n,ir,a,i,Ar);const d=ir;return ir=Ar,Ar=d,n}function Er(n,a,i,d,g,S,x,A){let P,R,C,j,U,L,Z,b,G,W,Q,J,ut,rt,xt,it;return n===0?a===0?(x[0]=0,A[0]=0,1):(it=-a,Q=it*i,R=splitter*it,C=R-(R-it),j=it-C,R=splitter*i,U=R-(R-i),L=i-U,x[0]=j*L-(Q-C*U-j*U-C*L),x[1]=Q,Q=a*g,R=splitter*a,C=R-(R-a),j=a-C,R=splitter*g,U=R-(R-g),L=g-U,A[0]=j*L-(Q-C*U-j*U-C*L),A[1]=Q,2):a===0?(Q=n*d,R=splitter*n,C=R-(R-n),j=n-C,R=splitter*d,U=R-(R-d),L=d-U,x[0]=j*L-(Q-C*U-j*U-C*L),x[1]=Q,it=-n,Q=it*S,R=splitter*it,C=R-(R-it),j=it-C,R=splitter*S,U=R-(R-S),L=S-U,A[0]=j*L-(Q-C*U-j*U-C*L),A[1]=Q,2):(Q=n*d,R=splitter*n,C=R-(R-n),j=n-C,R=splitter*d,U=R-(R-d),L=d-U,J=j*L-(Q-C*U-j*U-C*L),ut=a*i,R=splitter*a,C=R-(R-a),j=a-C,R=splitter*i,U=R-(R-i),L=i-U,rt=j*L-(ut-C*U-j*U-C*L),Z=J-rt,P=J-Z,x[0]=J-(Z+P)+(P-rt),b=Q+Z,P=b-Q,W=Q-(b-P)+(Z-P),Z=W-ut,P=W-Z,x[1]=W-(Z+P)+(P-ut),xt=b+Z,P=xt-b,x[2]=b-(xt-P)+(Z-P),x[3]=xt,Q=a*g,R=splitter*a,C=R-(R-a),j=a-C,R=splitter*g,U=R-(R-g),L=g-U,J=j*L-(Q-C*U-j*U-C*L),ut=n*S,R=splitter*n,C=R-(R-n),j=n-C,R=splitter*S,U=R-(R-S),L=S-U,rt=j*L-(ut-C*U-j*U-C*L),Z=J-rt,P=J-Z,A[0]=J-(Z+P)+(P-rt),b=Q+Z,P=b-Q,W=Q-(b-P)+(Z-P),Z=W-ut,P=W-Z,A[1]=W-(Z+P)+(P-ut),xt=b+Z,P=xt-b,A[2]=b-(xt-P)+(Z-P),A[3]=xt,4)}function Yt(n,a,i,d,g){let S,x,A,P,R,C,j,U,L,Z,b,G,W;return b=a*i,x=splitter*a,A=x-(x-a),P=a-A,x=splitter*i,R=x-(x-i),C=i-R,G=P*C-(b-A*R-P*R-A*C),x=splitter*d,R=x-(x-d),C=d-R,j=G*d,x=splitter*G,A=x-(x-G),P=G-A,It[0]=P*C-(j-A*R-P*R-A*C),U=b*d,x=splitter*b,A=x-(x-b),P=b-A,Z=P*C-(U-A*R-P*R-A*C),L=j+Z,S=L-j,It[1]=j-(L-S)+(Z-S),W=U+L,It[2]=L-(W-U),It[3]=W,n=xr(n,4,It),g!==0&&(x=splitter*g,R=x-(x-g),C=g-R,j=G*g,x=splitter*G,A=x-(x-G),P=G-A,It[0]=P*C-(j-A*R-P*R-A*C),U=b*g,x=splitter*b,A=x-(x-b),P=b-A,Z=P*C-(U-A*R-P*R-A*C),L=j+Z,S=L-j,It[1]=j-(L-S)+(Z-S),W=U+L,It[2]=L-(W-U),It[3]=W,n=xr(n,4,It)),n}function tr(n,a,i,d,g,S,x,A,P,R,C,j,U){let L,Z,b,G,W,Q,J,ut,rt,xt,it,vt,ft,St,Rt,Mt,Vt,V,_,q,dt,K,nt,z,ct;const pt=n-R,Tt=d-R,Et=x-R,Lt=a-C,Zt=g-C,Dt=A-C,nr=i-j,or=S-j,sr=P-j;dt=Tt*Dt,vt=splitter*Tt,ft=vt-(vt-Tt),St=Tt-ft,vt=splitter*Dt,Rt=vt-(vt-Dt),Mt=Dt-Rt,K=St*Mt-(dt-ft*Rt-St*Rt-ft*Mt),nt=Et*Zt,vt=splitter*Et,ft=vt-(vt-Et),St=Et-ft,vt=splitter*Zt,Rt=vt-(vt-Zt),Mt=Zt-Rt,z=St*Mt-(nt-ft*Rt-St*Rt-ft*Mt),Vt=K-z,it=K-Vt,X[0]=K-(Vt+it)+(it-z),V=dt+Vt,it=V-dt,q=dt-(V-it)+(Vt-it),Vt=q-nt,it=q-Vt,X[1]=q-(Vt+it)+(it-nt),ct=V+Vt,it=ct-V,X[2]=V-(ct-it)+(Vt-it),X[3]=ct,dt=Et*Lt,vt=splitter*Et,ft=vt-(vt-Et),St=Et-ft,vt=splitter*Lt,Rt=vt-(vt-Lt),Mt=Lt-Rt,K=St*Mt-(dt-ft*Rt-St*Rt-ft*Mt),nt=pt*Dt,vt=splitter*pt,ft=vt-(vt-pt),St=pt-ft,vt=splitter*Dt,Rt=vt-(vt-Dt),Mt=Dt-Rt,z=St*Mt-(nt-ft*Rt-St*Rt-ft*Mt),Vt=K-z,it=K-Vt,Y[0]=K-(Vt+it)+(it-z),V=dt+Vt,it=V-dt,q=dt-(V-it)+(Vt-it),Vt=q-nt,it=q-Vt,Y[1]=q-(Vt+it)+(it-nt),ct=V+Vt,it=ct-V,Y[2]=V-(ct-it)+(Vt-it),Y[3]=ct,dt=pt*Zt,vt=splitter*pt,ft=vt-(vt-pt),St=pt-ft,vt=splitter*Zt,Rt=vt-(vt-Zt),Mt=Zt-Rt,K=St*Mt-(dt-ft*Rt-St*Rt-ft*Mt),nt=Tt*Lt,vt=splitter*Tt,ft=vt-(vt-Tt),St=Tt-ft,vt=splitter*Lt,Rt=vt-(vt-Lt),Mt=Lt-Rt,z=St*Mt-(nt-ft*Rt-St*Rt-ft*Mt),Vt=K-z,it=K-Vt,k[0]=K-(Vt+it)+(it-z),V=dt+Vt,it=V-dt,q=dt-(V-it)+(Vt-it),Vt=q-nt,it=q-Vt,k[1]=q-(Vt+it)+(it-nt),ct=V+Vt,it=ct-V,k[2]=V-(ct-it)+(Vt-it),k[3]=ct,L=sum(sum(scale(4,X,nr,qt),qt,scale(4,Y,or,Qt),Qt,Jt),Jt,scale(4,k,sr,qt),qt,ir);let ur=estimate(L,ir),lr=B*U;if(ur>=lr||-ur>=lr||(it=n-pt,Z=n-(pt+it)+(it-R),it=d-Tt,b=d-(Tt+it)+(it-R),it=x-Et,G=x-(Et+it)+(it-R),it=a-Lt,W=a-(Lt+it)+(it-C),it=g-Zt,Q=g-(Zt+it)+(it-C),it=A-Dt,J=A-(Dt+it)+(it-C),it=i-nr,ut=i-(nr+it)+(it-j),it=S-or,rt=S-(or+it)+(it-j),it=P-sr,xt=P-(sr+it)+(it-j),Z===0&&b===0&&G===0&&W===0&&Q===0&&J===0&&ut===0&&rt===0&&xt===0)||(lr=H*U+resulterrbound*Math.abs(ur),ur+=nr*(Tt*J+Dt*b-(Zt*G+Et*Q))+ut*(Tt*Dt-Zt*Et)+or*(Et*W+Lt*G-(Dt*Z+pt*J))+rt*(Et*Lt-Dt*pt)+sr*(pt*Q+Zt*Z-(Lt*b+Tt*W))+xt*(pt*Zt-Lt*Tt),ur>=lr||-ur>=lr))return ur;const fr=Er(Z,W,Tt,Zt,Et,Dt,ot,st),$r=Er(b,Q,Et,Dt,pt,Lt,tt,et),br=Er(G,J,pt,Lt,Tt,Zt,at,gt),Nr=sum($r,tt,br,gt,Pt);L=xr(L,scale(Nr,Pt,nr,Jt),Jt);const _t=sum(br,at,fr,st,Ot);L=xr(L,scale(_t,Ot,or,Jt),Jt);const Dr=sum(fr,ot,$r,et,Nt);return L=xr(L,scale(Dr,Nt,sr,Jt),Jt),ut!==0&&(L=xr(L,scale(4,X,ut,er),er),L=xr(L,scale(Nr,Pt,ut,Jt),Jt)),rt!==0&&(L=xr(L,scale(4,Y,rt,er),er),L=xr(L,scale(_t,Ot,rt,Jt),Jt)),xt!==0&&(L=xr(L,scale(4,k,xt,er),er),L=xr(L,scale(Dr,Nt,xt,Jt),Jt)),Z!==0&&(Q!==0&&(L=Yt(L,Z,Q,sr,xt)),J!==0&&(L=Yt(L,-Z,J,or,rt))),b!==0&&(J!==0&&(L=Yt(L,b,J,nr,ut)),W!==0&&(L=Yt(L,-b,W,sr,xt))),G!==0&&(W!==0&&(L=Yt(L,G,W,or,rt)),Q!==0&&(L=Yt(L,-G,Q,nr,ut))),ir[L-1]}function Sr(n,a,i,d,g,S,x,A,P,R,C,j){const U=n-R,L=d-R,Z=x-R,b=a-C,G=g-C,W=A-C,Q=i-j,J=S-j,ut=P-j,rt=L*W,xt=Z*G,it=Z*b,vt=U*W,ft=U*G,St=L*b,Rt=Q*(rt-xt)+J*(it-vt)+ut*(ft-St),Mt=(Math.abs(rt)+Math.abs(xt))*Math.abs(Q)+(Math.abs(it)+Math.abs(vt))*Math.abs(J)+(Math.abs(ft)+Math.abs(St))*Math.abs(ut),Vt=$*Mt;return Rt>Vt||-Rt>Vt?Rt:tr(n,a,i,d,g,S,x,A,P,R,C,j,Mt)}function Ir(n,a,i,d,g,S,x,A,P,R,C,j){const U=n-R,L=d-R,Z=x-R,b=a-C,G=g-C,W=A-C,Q=i-j,J=S-j,ut=P-j;return U*(G*ut-J*W)+L*(W*Q-ut*b)+Z*(b*J-Q*G)}const pr=(10+96*r)*r,Or=(4+48*r)*r,Ur=(44+576*r)*r*r,Lr=v(4),Pr=v(4),mr=v(4),Mr=v(4),Tr=v(4),yr=v(4),bt=v(4),Ht=v(4),Ft=v(8),cr=v(8),vr=v(8),ar=v(8),rr=v(8),jr=v(8),wr=v(8),yt=v(8),jt=v(8),Gt=v(4),Bt=v(4),zt=v(4),lt=v(8),Ut=v(16),gr=v(16),Ct=v(16),$t=v(32),kt=v(32),Wt=v(48),dr=v(64);let Fr=v(1152),Br=v(1152);function Rr(n,a,i){n=sum(n,Fr,a,i,Br);const d=Fr;return Fr=Br,Br=d,n}function Qr(n,a,i,d,g,S,x,A,P){let R,C,j,U,L,Z,b,G,W,Q,J,ut,rt,xt,it,vt,ft,St,Rt,Mt,Vt,V,_,q,dt,K,nt,z,ct,pt,Tt,Et,Lt,Zt,Dt;const nr=n-x,or=i-x,sr=g-x,ur=a-A,lr=d-A,fr=S-A;Tt=or*fr,_=splitter*or,q=_-(_-or),dt=or-q,_=splitter*fr,K=_-(_-fr),nt=fr-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=sr*lr,_=splitter*sr,q=_-(_-sr),dt=sr-q,_=splitter*lr,K=_-(_-lr),nt=lr-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et-Zt,V=Et-z,Lr[0]=Et-(z+V)+(V-Zt),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt-Lt,V=pt-z,Lr[1]=pt-(z+V)+(V-Lt),Dt=ct+z,V=Dt-ct,Lr[2]=ct-(Dt-V)+(z-V),Lr[3]=Dt,Tt=sr*ur,_=splitter*sr,q=_-(_-sr),dt=sr-q,_=splitter*ur,K=_-(_-ur),nt=ur-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=nr*fr,_=splitter*nr,q=_-(_-nr),dt=nr-q,_=splitter*fr,K=_-(_-fr),nt=fr-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et-Zt,V=Et-z,Pr[0]=Et-(z+V)+(V-Zt),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt-Lt,V=pt-z,Pr[1]=pt-(z+V)+(V-Lt),Dt=ct+z,V=Dt-ct,Pr[2]=ct-(Dt-V)+(z-V),Pr[3]=Dt,Tt=nr*lr,_=splitter*nr,q=_-(_-nr),dt=nr-q,_=splitter*lr,K=_-(_-lr),nt=lr-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=or*ur,_=splitter*or,q=_-(_-or),dt=or-q,_=splitter*ur,K=_-(_-ur),nt=ur-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et-Zt,V=Et-z,mr[0]=Et-(z+V)+(V-Zt),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt-Lt,V=pt-z,mr[1]=pt-(z+V)+(V-Lt),Dt=ct+z,V=Dt-ct,mr[2]=ct-(Dt-V)+(z-V),mr[3]=Dt,R=sum(sum(sum(scale(scale(4,Lr,nr,lt),lt,nr,Ut),Ut,scale(scale(4,Lr,ur,lt),lt,ur,gr),gr,$t),$t,sum(scale(scale(4,Pr,or,lt),lt,or,Ut),Ut,scale(scale(4,Pr,lr,lt),lt,lr,gr),gr,kt),kt,dr),dr,sum(scale(scale(4,mr,sr,lt),lt,sr,Ut),Ut,scale(scale(4,mr,fr,lt),lt,fr,gr),gr,$t),$t,Fr);let $r=estimate(R,Fr),br=Or*P;if($r>=br||-$r>=br||(V=n-nr,C=n-(nr+V)+(V-x),V=a-ur,L=a-(ur+V)+(V-A),V=i-or,j=i-(or+V)+(V-x),V=d-lr,Z=d-(lr+V)+(V-A),V=g-sr,U=g-(sr+V)+(V-x),V=S-fr,b=S-(fr+V)+(V-A),C===0&&j===0&&U===0&&L===0&&Z===0&&b===0)||(br=Ur*P+resulterrbound*Math.abs($r),$r+=(nr*nr+ur*ur)*(or*b+fr*j-(lr*U+sr*Z))+2*(nr*C+ur*L)*(or*fr-lr*sr)+((or*or+lr*lr)*(sr*L+ur*U-(fr*C+nr*b))+2*(or*j+lr*Z)*(sr*ur-fr*nr))+((sr*sr+fr*fr)*(nr*Z+lr*C-(ur*j+or*L))+2*(sr*U+fr*b)*(nr*lr-ur*or)),$r>=br||-$r>=br))return $r;if((j!==0||Z!==0||U!==0||b!==0)&&(Tt=nr*nr,_=splitter*nr,q=_-(_-nr),dt=nr-q,Et=dt*dt-(Tt-q*q-(q+q)*dt),Lt=ur*ur,_=splitter*ur,q=_-(_-ur),dt=ur-q,Zt=dt*dt-(Lt-q*q-(q+q)*dt),z=Et+Zt,V=z-Et,Mr[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,Mr[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,Mr[2]=ct-(Dt-V)+(z-V),Mr[3]=Dt),(U!==0||b!==0||C!==0||L!==0)&&(Tt=or*or,_=splitter*or,q=_-(_-or),dt=or-q,Et=dt*dt-(Tt-q*q-(q+q)*dt),Lt=lr*lr,_=splitter*lr,q=_-(_-lr),dt=lr-q,Zt=dt*dt-(Lt-q*q-(q+q)*dt),z=Et+Zt,V=z-Et,Tr[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,Tr[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,Tr[2]=ct-(Dt-V)+(z-V),Tr[3]=Dt),(C!==0||L!==0||j!==0||Z!==0)&&(Tt=sr*sr,_=splitter*sr,q=_-(_-sr),dt=sr-q,Et=dt*dt-(Tt-q*q-(q+q)*dt),Lt=fr*fr,_=splitter*fr,q=_-(_-fr),dt=fr-q,Zt=dt*dt-(Lt-q*q-(q+q)*dt),z=Et+Zt,V=z-Et,yr[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,yr[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,yr[2]=ct-(Dt-V)+(z-V),yr[3]=Dt),C!==0&&(G=scale(4,Lr,C,Ft),R=Rr(R,sum_three(scale(G,Ft,2*nr,Ut),Ut,scale(scale(4,yr,C,lt),lt,lr,gr),gr,scale(scale(4,Tr,C,lt),lt,-fr,Ct),Ct,$t,Wt),Wt)),L!==0&&(W=scale(4,Lr,L,cr),R=Rr(R,sum_three(scale(W,cr,2*ur,Ut),Ut,scale(scale(4,Tr,L,lt),lt,sr,gr),gr,scale(scale(4,yr,L,lt),lt,-or,Ct),Ct,$t,Wt),Wt)),j!==0&&(Q=scale(4,Pr,j,vr),R=Rr(R,sum_three(scale(Q,vr,2*or,Ut),Ut,scale(scale(4,Mr,j,lt),lt,fr,gr),gr,scale(scale(4,yr,j,lt),lt,-ur,Ct),Ct,$t,Wt),Wt)),Z!==0&&(J=scale(4,Pr,Z,ar),R=Rr(R,sum_three(scale(J,ar,2*lr,Ut),Ut,scale(scale(4,yr,Z,lt),lt,nr,gr),gr,scale(scale(4,Mr,Z,lt),lt,-sr,Ct),Ct,$t,Wt),Wt)),U!==0&&(ut=scale(4,mr,U,rr),R=Rr(R,sum_three(scale(ut,rr,2*sr,Ut),Ut,scale(scale(4,Tr,U,lt),lt,ur,gr),gr,scale(scale(4,Mr,U,lt),lt,-lr,Ct),Ct,$t,Wt),Wt)),b!==0&&(rt=scale(4,mr,b,jr),R=Rr(R,sum_three(scale(rt,jr,2*fr,Ut),Ut,scale(scale(4,Mr,b,lt),lt,or,gr),gr,scale(scale(4,Tr,b,lt),lt,-nr,Ct),Ct,$t,Wt),Wt)),C!==0||L!==0){if(j!==0||Z!==0||U!==0||b!==0?(Tt=j*fr,_=splitter*j,q=_-(_-j),dt=j-q,_=splitter*fr,K=_-(_-fr),nt=fr-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=or*b,_=splitter*or,q=_-(_-or),dt=or-q,_=splitter*b,K=_-(_-b),nt=b-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et+Zt,V=z-Et,bt[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,bt[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,bt[2]=ct-(Dt-V)+(z-V),bt[3]=Dt,Tt=U*-lr,_=splitter*U,q=_-(_-U),dt=U-q,_=splitter*-lr,K=_-(_- -lr),nt=-lr-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=sr*-Z,_=splitter*sr,q=_-(_-sr),dt=sr-q,_=splitter*-Z,K=_-(_- -Z),nt=-Z-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et+Zt,V=z-Et,Ht[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,Ht[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,Ht[2]=ct-(Dt-V)+(z-V),Ht[3]=Dt,it=sum(4,bt,4,Ht,yt),Tt=j*b,_=splitter*j,q=_-(_-j),dt=j-q,_=splitter*b,K=_-(_-b),nt=b-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=U*Z,_=splitter*U,q=_-(_-U),dt=U-q,_=splitter*Z,K=_-(_-Z),nt=Z-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et-Zt,V=Et-z,Bt[0]=Et-(z+V)+(V-Zt),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt-Lt,V=pt-z,Bt[1]=pt-(z+V)+(V-Lt),Dt=ct+z,V=Dt-ct,Bt[2]=ct-(Dt-V)+(z-V),Bt[3]=Dt,St=4):(yt[0]=0,it=1,Bt[0]=0,St=1),C!==0){const Nr=scale(it,yt,C,Ct);R=Rr(R,sum(scale(G,Ft,C,Ut),Ut,scale(Nr,Ct,2*nr,$t),$t,Wt),Wt);const _t=scale(St,Bt,C,lt);R=Rr(R,sum_three(scale(_t,lt,2*nr,Ut),Ut,scale(_t,lt,C,gr),gr,scale(Nr,Ct,C,$t),$t,kt,dr),dr),Z!==0&&(R=Rr(R,scale(scale(4,yr,C,lt),lt,Z,Ut),Ut)),b!==0&&(R=Rr(R,scale(scale(4,Tr,-C,lt),lt,b,Ut),Ut))}if(L!==0){const Nr=scale(it,yt,L,Ct);R=Rr(R,sum(scale(W,cr,L,Ut),Ut,scale(Nr,Ct,2*ur,$t),$t,Wt),Wt);const _t=scale(St,Bt,L,lt);R=Rr(R,sum_three(scale(_t,lt,2*ur,Ut),Ut,scale(_t,lt,L,gr),gr,scale(Nr,Ct,L,$t),$t,kt,dr),dr)}}if(j!==0||Z!==0){if(U!==0||b!==0||C!==0||L!==0?(Tt=U*ur,_=splitter*U,q=_-(_-U),dt=U-q,_=splitter*ur,K=_-(_-ur),nt=ur-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=sr*L,_=splitter*sr,q=_-(_-sr),dt=sr-q,_=splitter*L,K=_-(_-L),nt=L-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et+Zt,V=z-Et,bt[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,bt[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,bt[2]=ct-(Dt-V)+(z-V),bt[3]=Dt,Mt=-fr,Vt=-b,Tt=C*Mt,_=splitter*C,q=_-(_-C),dt=C-q,_=splitter*Mt,K=_-(_-Mt),nt=Mt-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=nr*Vt,_=splitter*nr,q=_-(_-nr),dt=nr-q,_=splitter*Vt,K=_-(_-Vt),nt=Vt-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et+Zt,V=z-Et,Ht[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,Ht[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,Ht[2]=ct-(Dt-V)+(z-V),Ht[3]=Dt,vt=sum(4,bt,4,Ht,jt),Tt=U*L,_=splitter*U,q=_-(_-U),dt=U-q,_=splitter*L,K=_-(_-L),nt=L-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=C*b,_=splitter*C,q=_-(_-C),dt=C-q,_=splitter*b,K=_-(_-b),nt=b-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et-Zt,V=Et-z,zt[0]=Et-(z+V)+(V-Zt),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt-Lt,V=pt-z,zt[1]=pt-(z+V)+(V-Lt),Dt=ct+z,V=Dt-ct,zt[2]=ct-(Dt-V)+(z-V),zt[3]=Dt,Rt=4):(jt[0]=0,vt=1,zt[0]=0,Rt=1),j!==0){const Nr=scale(vt,jt,j,Ct);R=Rr(R,sum(scale(Q,vr,j,Ut),Ut,scale(Nr,Ct,2*or,$t),$t,Wt),Wt);const _t=scale(Rt,zt,j,lt);R=Rr(R,sum_three(scale(_t,lt,2*or,Ut),Ut,scale(_t,lt,j,gr),gr,scale(Nr,Ct,j,$t),$t,kt,dr),dr),b!==0&&(R=Rr(R,scale(scale(4,Mr,j,lt),lt,b,Ut),Ut)),L!==0&&(R=Rr(R,scale(scale(4,yr,-j,lt),lt,L,Ut),Ut))}if(Z!==0){const Nr=scale(vt,jt,Z,Ct);R=Rr(R,sum(scale(J,ar,Z,Ut),Ut,scale(Nr,Ct,2*lr,$t),$t,Wt),Wt);const _t=scale(Rt,zt,Z,lt);R=Rr(R,sum_three(scale(_t,lt,2*lr,Ut),Ut,scale(_t,lt,Z,gr),gr,scale(Nr,Ct,Z,$t),$t,kt,dr),dr)}}if(U!==0||b!==0){if(C!==0||L!==0||j!==0||Z!==0?(Tt=C*lr,_=splitter*C,q=_-(_-C),dt=C-q,_=splitter*lr,K=_-(_-lr),nt=lr-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=nr*Z,_=splitter*nr,q=_-(_-nr),dt=nr-q,_=splitter*Z,K=_-(_-Z),nt=Z-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et+Zt,V=z-Et,bt[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,bt[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,bt[2]=ct-(Dt-V)+(z-V),bt[3]=Dt,Mt=-ur,Vt=-L,Tt=j*Mt,_=splitter*j,q=_-(_-j),dt=j-q,_=splitter*Mt,K=_-(_-Mt),nt=Mt-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=or*Vt,_=splitter*or,q=_-(_-or),dt=or-q,_=splitter*Vt,K=_-(_-Vt),nt=Vt-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et+Zt,V=z-Et,Ht[0]=Et-(z-V)+(Zt-V),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt+Lt,V=z-pt,Ht[1]=pt-(z-V)+(Lt-V),Dt=ct+z,V=Dt-ct,Ht[2]=ct-(Dt-V)+(z-V),Ht[3]=Dt,xt=sum(4,bt,4,Ht,wr),Tt=C*Z,_=splitter*C,q=_-(_-C),dt=C-q,_=splitter*Z,K=_-(_-Z),nt=Z-K,Et=dt*nt-(Tt-q*K-dt*K-q*nt),Lt=j*L,_=splitter*j,q=_-(_-j),dt=j-q,_=splitter*L,K=_-(_-L),nt=L-K,Zt=dt*nt-(Lt-q*K-dt*K-q*nt),z=Et-Zt,V=Et-z,Gt[0]=Et-(z+V)+(V-Zt),ct=Tt+z,V=ct-Tt,pt=Tt-(ct-V)+(z-V),z=pt-Lt,V=pt-z,Gt[1]=pt-(z+V)+(V-Lt),Dt=ct+z,V=Dt-ct,Gt[2]=ct-(Dt-V)+(z-V),Gt[3]=Dt,ft=4):(wr[0]=0,xt=1,Gt[0]=0,ft=1),U!==0){const Nr=scale(xt,wr,U,Ct);R=Rr(R,sum(scale(ut,rr,U,Ut),Ut,scale(Nr,Ct,2*sr,$t),$t,Wt),Wt);const _t=scale(ft,Gt,U,lt);R=Rr(R,sum_three(scale(_t,lt,2*sr,Ut),Ut,scale(_t,lt,U,gr),gr,scale(Nr,Ct,U,$t),$t,kt,dr),dr),L!==0&&(R=Rr(R,scale(scale(4,Tr,U,lt),lt,L,Ut),Ut)),Z!==0&&(R=Rr(R,scale(scale(4,Mr,-U,lt),lt,Z,Ut),Ut))}if(b!==0){const Nr=scale(xt,wr,b,Ct);R=Rr(R,sum(scale(rt,jr,b,Ut),Ut,scale(Nr,Ct,2*fr,$t),$t,Wt),Wt);const _t=scale(ft,Gt,b,lt);R=Rr(R,sum_three(scale(_t,lt,2*fr,Ut),Ut,scale(_t,lt,b,gr),gr,scale(Nr,Ct,b,$t),$t,kt,dr),dr)}}return Fr[R-1]}function tn(n,a,i,d,g,S,x,A){const P=n-x,R=i-x,C=g-x,j=a-A,U=d-A,L=S-A,Z=R*L,b=C*U,G=P*P+j*j,W=C*j,Q=P*L,J=R*R+U*U,ut=P*U,rt=R*j,xt=C*C+L*L,it=G*(Z-b)+J*(W-Q)+xt*(ut-rt),vt=(Math.abs(Z)+Math.abs(b))*G+(Math.abs(W)+Math.abs(Q))*J+(Math.abs(ut)+Math.abs(rt))*xt,ft=pr*vt;return it>ft||-it>ft?it:Qr(n,a,i,d,g,S,x,A,vt)}function dn(n,a,i,d,g,S,x,A){const P=n-x,R=a-A,C=i-x,j=d-A,U=g-x,L=S-A,Z=P*j-C*R,b=C*L-U*j,G=U*R-P*L,W=P*P+R*R,Q=C*C+j*j,J=U*U+L*L;return W*b+Q*G+J*Z}const Kn=(16+224*r)*r,oe=(5+72*r)*r,Yn=(71+1408*r)*r*r,Zr=v(4),Wr=v(4),an=v(4),un=v(4),rn=v(4),nn=v(4),kr=v(4),Yr=v(4),Vr=v(4),mn=v(4),$n=v(24),mt=v(24),Xt=v(24),At=v(24),ht=v(24),wt=v(24),Cr=v(24),hr=v(24),Hr=v(24),zr=v(24),Xr=v(1152),en=v(1152),Kt=v(1152),Jr=v(1152),cn=v(1152),Cn=v(2304),bn=v(2304),zn=v(3456),Un=v(5760),ua=v(8),la=v(8),fa=v(8),No=v(16),se=v(24),An=v(48),$e=v(48),ie=v(96),Nn=v(192),ca=v(384),va=v(384),da=v(384),Mo=v(768);function hn(n,a,i,d,g,S,x){return sum_three(scale(4,n,d,ua),ua,scale(4,a,g,la),la,scale(4,i,S,fa),fa,No,x)}function Xn(n,a,i,d,g,S,x,A,P,R,C,j){const U=sum(sum(n,a,i,d,An),An,negate(sum(g,S,x,A,$e),$e),$e,ie);return sum_three(scale(scale(U,ie,P,Nn),Nn,P,ca),ca,scale(scale(U,ie,R,Nn),Nn,R,va),va,scale(scale(U,ie,C,Nn),Nn,C,da),da,Mo,j)}function Do(n,a,i,d,g,S,x,A,P,R,C,j,U,L,Z){let b,G,W,Q,J,ut,rt,xt,it,vt,ft,St,Rt,Mt;vt=n*g,G=splitter*n,W=G-(G-n),Q=n-W,G=splitter*g,J=G-(G-g),ut=g-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=d*a,G=splitter*d,W=G-(G-d),Q=d-W,G=splitter*a,J=G-(G-a),ut=a-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,Zr[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,Zr[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,Zr[2]=xt-(Mt-b)+(rt-b),Zr[3]=Mt,vt=d*A,G=splitter*d,W=G-(G-d),Q=d-W,G=splitter*A,J=G-(G-A),ut=A-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=x*g,G=splitter*x,W=G-(G-x),Q=x-W,G=splitter*g,J=G-(G-g),ut=g-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,Wr[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,Wr[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,Wr[2]=xt-(Mt-b)+(rt-b),Wr[3]=Mt,vt=x*C,G=splitter*x,W=G-(G-x),Q=x-W,G=splitter*C,J=G-(G-C),ut=C-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=R*A,G=splitter*R,W=G-(G-R),Q=R-W,G=splitter*A,J=G-(G-A),ut=A-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,an[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,an[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,an[2]=xt-(Mt-b)+(rt-b),an[3]=Mt,vt=R*L,G=splitter*R,W=G-(G-R),Q=R-W,G=splitter*L,J=G-(G-L),ut=L-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=U*C,G=splitter*U,W=G-(G-U),Q=U-W,G=splitter*C,J=G-(G-C),ut=C-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,un[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,un[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,un[2]=xt-(Mt-b)+(rt-b),un[3]=Mt,vt=U*a,G=splitter*U,W=G-(G-U),Q=U-W,G=splitter*a,J=G-(G-a),ut=a-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=n*L,G=splitter*n,W=G-(G-n),Q=n-W,G=splitter*L,J=G-(G-L),ut=L-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,rn[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,rn[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,rn[2]=xt-(Mt-b)+(rt-b),rn[3]=Mt,vt=n*A,G=splitter*n,W=G-(G-n),Q=n-W,G=splitter*A,J=G-(G-A),ut=A-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=x*a,G=splitter*x,W=G-(G-x),Q=x-W,G=splitter*a,J=G-(G-a),ut=a-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,nn[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,nn[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,nn[2]=xt-(Mt-b)+(rt-b),nn[3]=Mt,vt=d*C,G=splitter*d,W=G-(G-d),Q=d-W,G=splitter*C,J=G-(G-C),ut=C-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=R*g,G=splitter*R,W=G-(G-R),Q=R-W,G=splitter*g,J=G-(G-g),ut=g-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,kr[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,kr[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,kr[2]=xt-(Mt-b)+(rt-b),kr[3]=Mt,vt=x*L,G=splitter*x,W=G-(G-x),Q=x-W,G=splitter*L,J=G-(G-L),ut=L-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=U*A,G=splitter*U,W=G-(G-U),Q=U-W,G=splitter*A,J=G-(G-A),ut=A-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,Yr[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,Yr[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,Yr[2]=xt-(Mt-b)+(rt-b),Yr[3]=Mt,vt=R*a,G=splitter*R,W=G-(G-R),Q=R-W,G=splitter*a,J=G-(G-a),ut=a-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=n*C,G=splitter*n,W=G-(G-n),Q=n-W,G=splitter*C,J=G-(G-C),ut=C-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,Vr[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,Vr[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,Vr[2]=xt-(Mt-b)+(rt-b),Vr[3]=Mt,vt=U*g,G=splitter*U,W=G-(G-U),Q=U-W,G=splitter*g,J=G-(G-g),ut=g-J,ft=Q*ut-(vt-W*J-Q*J-W*ut),St=d*L,G=splitter*d,W=G-(G-d),Q=d-W,G=splitter*L,J=G-(G-L),ut=L-J,Rt=Q*ut-(St-W*J-Q*J-W*ut),rt=ft-Rt,b=ft-rt,mn[0]=ft-(rt+b)+(b-Rt),xt=vt+rt,b=xt-vt,it=vt-(xt-b)+(rt-b),rt=it-St,b=it-rt,mn[1]=it-(rt+b)+(b-St),Mt=xt+rt,b=Mt-xt,mn[2]=xt-(Mt-b)+(rt-b),mn[3]=Mt;const Vt=hn(Zr,Wr,nn,P,i,-S,$n),V=hn(Wr,an,kr,j,S,-P,mt),_=hn(an,un,Yr,Z,P,-j,Xt),q=hn(un,rn,Vr,i,j,-Z,At),dt=hn(rn,Zr,mn,S,Z,-i,ht),K=hn(Zr,kr,Vr,j,i,S,wt),nt=hn(Wr,Yr,mn,Z,S,P,Cr),z=hn(an,Vr,nn,i,P,j,hr),ct=hn(un,mn,kr,S,j,Z,Hr),pt=hn(rn,nn,Yr,P,Z,i,zr),Tt=sum_three(Xn(_,Xt,nt,Cr,ct,Hr,V,mt,n,a,i,Xr),Xr,Xn(q,At,z,hr,pt,zr,_,Xt,d,g,S,en),en,sum_three(Xn(dt,ht,ct,Hr,K,wt,q,At,x,A,P,Kt),Kt,Xn(Vt,$n,pt,zr,nt,Cr,dt,ht,R,C,j,Jr),Jr,Xn(V,mt,K,wt,z,hr,Vt,$n,U,L,Z,cn),cn,bn,zn),zn,Cn,Un);return Un[Tt-1]}const ha=v(96),ga=v(96),pa=v(96),ya=v(1152);function ue(n,a,i,d,g,S,x,A,P,R){const C=hn(n,a,i,d,g,S,se);return sum_three(scale(scale(C,se,x,An),An,x,ha),ha,scale(scale(C,se,A,An),An,A,ga),ga,scale(scale(C,se,P,An),An,P,pa),pa,Nn,R)}function Fo(n,a,i,d,g,S,x,A,P,R,C,j,U,L,Z,b){let G,W,Q,J,ut,rt,xt,it,vt,ft,St,Rt,Mt,Vt,V,_,q,dt,K,nt,z,ct,pt,Tt,Et,Lt,Zt,Dt,nr,or,sr;const ur=n-U,lr=d-U,fr=x-U,$r=R-U,br=a-L,Nr=g-L,_t=A-L,Dr=C-L,Kr=i-Z,Gr=S-Z,qr=P-Z,_r=j-Z;Dt=ur*Nr,nt=splitter*ur,z=nt-(nt-ur),ct=ur-z,nt=splitter*Nr,pt=nt-(nt-Nr),Tt=Nr-pt,nr=ct*Tt-(Dt-z*pt-ct*pt-z*Tt),or=lr*br,nt=splitter*lr,z=nt-(nt-lr),ct=lr-z,nt=splitter*br,pt=nt-(nt-br),Tt=br-pt,sr=ct*Tt-(or-z*pt-ct*pt-z*Tt),Et=nr-sr,K=nr-Et,Zr[0]=nr-(Et+K)+(K-sr),Lt=Dt+Et,K=Lt-Dt,Zt=Dt-(Lt-K)+(Et-K),Et=Zt-or,K=Zt-Et,Zr[1]=Zt-(Et+K)+(K-or),G=Lt+Et,K=G-Lt,Zr[2]=Lt-(G-K)+(Et-K),Zr[3]=G,Dt=lr*_t,nt=splitter*lr,z=nt-(nt-lr),ct=lr-z,nt=splitter*_t,pt=nt-(nt-_t),Tt=_t-pt,nr=ct*Tt-(Dt-z*pt-ct*pt-z*Tt),or=fr*Nr,nt=splitter*fr,z=nt-(nt-fr),ct=fr-z,nt=splitter*Nr,pt=nt-(nt-Nr),Tt=Nr-pt,sr=ct*Tt-(or-z*pt-ct*pt-z*Tt),Et=nr-sr,K=nr-Et,Wr[0]=nr-(Et+K)+(K-sr),Lt=Dt+Et,K=Lt-Dt,Zt=Dt-(Lt-K)+(Et-K),Et=Zt-or,K=Zt-Et,Wr[1]=Zt-(Et+K)+(K-or),W=Lt+Et,K=W-Lt,Wr[2]=Lt-(W-K)+(Et-K),Wr[3]=W,Dt=fr*Dr,nt=splitter*fr,z=nt-(nt-fr),ct=fr-z,nt=splitter*Dr,pt=nt-(nt-Dr),Tt=Dr-pt,nr=ct*Tt-(Dt-z*pt-ct*pt-z*Tt),or=$r*_t,nt=splitter*$r,z=nt-(nt-$r),ct=$r-z,nt=splitter*_t,pt=nt-(nt-_t),Tt=_t-pt,sr=ct*Tt-(or-z*pt-ct*pt-z*Tt),Et=nr-sr,K=nr-Et,an[0]=nr-(Et+K)+(K-sr),Lt=Dt+Et,K=Lt-Dt,Zt=Dt-(Lt-K)+(Et-K),Et=Zt-or,K=Zt-Et,an[1]=Zt-(Et+K)+(K-or),Q=Lt+Et,K=Q-Lt,an[2]=Lt-(Q-K)+(Et-K),an[3]=Q,Dt=$r*br,nt=splitter*$r,z=nt-(nt-$r),ct=$r-z,nt=splitter*br,pt=nt-(nt-br),Tt=br-pt,nr=ct*Tt-(Dt-z*pt-ct*pt-z*Tt),or=ur*Dr,nt=splitter*ur,z=nt-(nt-ur),ct=ur-z,nt=splitter*Dr,pt=nt-(nt-Dr),Tt=Dr-pt,sr=ct*Tt-(or-z*pt-ct*pt-z*Tt),Et=nr-sr,K=nr-Et,Vr[0]=nr-(Et+K)+(K-sr),Lt=Dt+Et,K=Lt-Dt,Zt=Dt-(Lt-K)+(Et-K),Et=Zt-or,K=Zt-Et,Vr[1]=Zt-(Et+K)+(K-or),J=Lt+Et,K=J-Lt,Vr[2]=Lt-(J-K)+(Et-K),Vr[3]=J,Dt=ur*_t,nt=splitter*ur,z=nt-(nt-ur),ct=ur-z,nt=splitter*_t,pt=nt-(nt-_t),Tt=_t-pt,nr=ct*Tt-(Dt-z*pt-ct*pt-z*Tt),or=fr*br,nt=splitter*fr,z=nt-(nt-fr),ct=fr-z,nt=splitter*br,pt=nt-(nt-br),Tt=br-pt,sr=ct*Tt-(or-z*pt-ct*pt-z*Tt),Et=nr-sr,K=nr-Et,nn[0]=nr-(Et+K)+(K-sr),Lt=Dt+Et,K=Lt-Dt,Zt=Dt-(Lt-K)+(Et-K),Et=Zt-or,K=Zt-Et,nn[1]=Zt-(Et+K)+(K-or),ut=Lt+Et,K=ut-Lt,nn[2]=Lt-(ut-K)+(Et-K),nn[3]=ut,Dt=lr*Dr,nt=splitter*lr,z=nt-(nt-lr),ct=lr-z,nt=splitter*Dr,pt=nt-(nt-Dr),Tt=Dr-pt,nr=ct*Tt-(Dt-z*pt-ct*pt-z*Tt),or=$r*Nr,nt=splitter*$r,z=nt-(nt-$r),ct=$r-z,nt=splitter*Nr,pt=nt-(nt-Nr),Tt=Nr-pt,sr=ct*Tt-(or-z*pt-ct*pt-z*Tt),Et=nr-sr,K=nr-Et,kr[0]=nr-(Et+K)+(K-sr),Lt=Dt+Et,K=Lt-Dt,Zt=Dt-(Lt-K)+(Et-K),Et=Zt-or,K=Zt-Et,kr[1]=Zt-(Et+K)+(K-or),rt=Lt+Et,K=rt-Lt,kr[2]=Lt-(rt-K)+(Et-K),kr[3]=rt;const Fe=sum(sum(negate(ue(Wr,an,kr,_r,Gr,-qr,ur,br,Kr,Xr),Xr),Xr,ue(an,Vr,nn,Kr,qr,_r,lr,Nr,Gr,en),en,Cn),Cn,sum(negate(ue(Vr,Zr,kr,Gr,_r,Kr,fr,_t,qr,Kt),Kt),Kt,ue(Zr,Wr,nn,qr,Kr,-Gr,$r,Dr,_r,Jr),Jr,bn),bn,ya);let vn=estimate(Fe,ya),Pn=oe*b;if(vn>=Pn||-vn>=Pn||(K=n-ur,xt=n-(ur+K)+(K-U),K=a-br,St=a-(br+K)+(K-L),K=i-Kr,V=i-(Kr+K)+(K-Z),K=d-lr,it=d-(lr+K)+(K-U),K=g-Nr,Rt=g-(Nr+K)+(K-L),K=S-Gr,_=S-(Gr+K)+(K-Z),K=x-fr,vt=x-(fr+K)+(K-U),K=A-_t,Mt=A-(_t+K)+(K-L),K=P-qr,q=P-(qr+K)+(K-Z),K=R-$r,ft=R-($r+K)+(K-U),K=C-Dr,Vt=C-(Dr+K)+(K-L),K=j-_r,dt=j-(_r+K)+(K-Z),xt===0&&St===0&&V===0&&it===0&&Rt===0&&_===0&&vt===0&&Mt===0&&q===0&&ft===0&&Vt===0&&dt===0))return vn;Pn=Yn*b+resulterrbound*Math.abs(vn);const To=ur*Rt+Nr*xt-(br*it+lr*St),Oo=lr*Mt+_t*it-(Nr*vt+fr*Rt),Ao=fr*Vt+Dr*vt-(_t*ft+$r*Mt),Ro=$r*St+br*ft-(Dr*xt+ur*Vt),Po=ur*Mt+_t*xt-(br*vt+fr*St),Co=lr*Vt+Dr*it-(Nr*ft+$r*Rt);return vn+=(lr*lr+Nr*Nr+Gr*Gr)*(qr*Ro+_r*Po+Kr*Ao+(q*J+dt*ut+V*Q))+($r*$r+Dr*Dr+_r*_r)*(Kr*Oo-Gr*Po+qr*To+(V*W-_*ut+q*G))-((ur*ur+br*br+Kr*Kr)*(Gr*Ao-qr*Co+_r*Oo+(_*Q-q*rt+dt*W))+(fr*fr+_t*_t+qr*qr)*(_r*To+Kr*Co+Gr*Ro+(dt*G+V*rt+_*J)))+2*((lr*it+Nr*Rt+Gr*_)*(qr*J+_r*ut+Kr*Q)+($r*ft+Dr*Vt+_r*dt)*(Kr*W-Gr*ut+qr*G)-((ur*xt+br*St+Kr*V)*(Gr*Q-qr*rt+_r*W)+(fr*vt+_t*Mt+qr*q)*(_r*G+Kr*rt+Gr*J))),vn>=Pn||-vn>=Pn?vn:Do(n,a,i,d,g,S,x,A,P,R,C,j,U,L,Z)}function Yl(n,a,i,d,g,S,x,A,P,R,C,j,U,L,Z){const b=n-U,G=d-U,W=x-U,Q=R-U,J=a-L,ut=g-L,rt=A-L,xt=C-L,it=i-Z,vt=S-Z,ft=P-Z,St=j-Z,Rt=b*ut,Mt=G*J,Vt=Rt-Mt,V=G*rt,_=W*ut,q=V-_,dt=W*xt,K=Q*rt,nt=dt-K,z=Q*J,ct=b*xt,pt=z-ct,Tt=b*rt,Et=W*J,Lt=Tt-Et,Zt=G*xt,Dt=Q*ut,nr=Zt-Dt,or=b*b+J*J+it*it,sr=G*G+ut*ut+vt*vt,ur=W*W+rt*rt+ft*ft,lr=Q*Q+xt*xt+St*St,fr=ur*(St*Vt+it*nr+vt*pt)-lr*(it*q-vt*Lt+ft*Vt)+(or*(vt*nt-ft*nr+St*q)-sr*(ft*pt+St*Lt+it*nt)),$r=Math.abs(it),br=Math.abs(vt),Nr=Math.abs(ft),_t=Math.abs(St),Dr=Math.abs(Rt)+Math.abs(Mt),Kr=Math.abs(V)+Math.abs(_),Gr=Math.abs(dt)+Math.abs(K),qr=Math.abs(z)+Math.abs(ct),_r=Math.abs(Tt)+Math.abs(Et),Fe=Math.abs(Zt)+Math.abs(Dt),vn=(Gr*br+Fe*Nr+Kr*_t)*or+(qr*Nr+_r*_t+Gr*$r)*sr+(Dr*_t+Fe*$r+qr*br)*ur+(Kr*$r+_r*br+Dr*Nr)*lr,Pn=Kn*vn;return fr>Pn||-fr>Pn?fr:-Fo(n,a,i,d,g,S,x,A,P,R,C,j,U,L,Z,vn)}function zl(n,a,i,d,g,S,x,A,P,R,C,j,U,L,Z){const b=n-U,G=d-U,W=x-U,Q=R-U,J=a-L,ut=g-L,rt=A-L,xt=C-L,it=i-Z,vt=S-Z,ft=P-Z,St=j-Z,Rt=b*ut-G*J,Mt=G*rt-W*ut,Vt=W*xt-Q*rt,V=Q*J-b*xt,_=b*rt-W*J,q=G*xt-Q*ut,dt=it*Mt-vt*_+ft*Rt,K=vt*Vt-ft*q+St*Mt,nt=ft*V+St*_+it*Vt,z=St*Rt+it*q+vt*V,ct=b*b+J*J+it*it,pt=G*G+ut*ut+vt*vt,Tt=W*W+rt*rt+ft*ft,Et=Q*Q+xt*xt+St*St;return Tt*z-Et*dt+(ct*K-pt*nt)}const ma=Math.pow(2,-52),le=new Uint32Array(512);class fe{static from(a,i=Bo,d=jo){const g=a.length,S=new Float64Array(g*2);for(let x=0;x>1;if(i>0&&typeof a[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=a;const d=Math.max(2*i-5,0);this._triangles=new Uint32Array(d*3),this._halfedges=new Int32Array(d*3),this._hashSize=Math.ceil(Math.sqrt(i)),this._hullPrev=new Uint32Array(i),this._hullNext=new Uint32Array(i),this._hullTri=new Uint32Array(i),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(i),this._dists=new Float64Array(i),this.update()}update(){const{coords:a,_hullPrev:i,_hullNext:d,_hullTri:g,_hullHash:S}=this,x=a.length>>1;let A=1/0,P=1/0,R=-1/0,C=-1/0;for(let ft=0;ftR&&(R=St),Rt>C&&(C=Rt),this._ids[ft]=ft}const j=(A+R)/2,U=(P+C)/2;let L,Z,b;for(let ft=0,St=1/0;ft0&&(Z=ft,St=Rt)}let Q=a[2*Z],J=a[2*Z+1],ut=1/0;for(let ft=0;ftMt&&(ft[St++]=Vt,Mt=V)}this.hull=ft.subarray(0,St),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(D(G,W,Q,J,rt,xt)<0){const ft=Z,St=Q,Rt=J;Z=b,Q=rt,J=xt,b=ft,rt=St,xt=Rt}const it=Uo(G,W,Q,J,rt,xt);this._cx=it.x,this._cy=it.y;for(let ft=0;ft0&&Math.abs(Vt-St)<=ma&&Math.abs(V-Rt)<=ma||(St=Vt,Rt=V,Mt===L||Mt===Z||Mt===b))continue;let _=0;for(let z=0,ct=this._hashKey(Vt,V);z=0;)if(q=dt,q===_){q=-1;break}if(q===-1)continue;let K=this._addTriangle(q,Mt,d[q],-1,-1,g[q]);g[Mt]=this._legalize(K+2),g[q]=K,vt++;let nt=d[q];for(;dt=d[nt],D(Vt,V,a[2*nt],a[2*nt+1],a[2*dt],a[2*dt+1])<0;)K=this._addTriangle(nt,Mt,dt,g[Mt],-1,g[nt]),g[Mt]=this._legalize(K+2),d[nt]=nt,vt--,nt=dt;if(q===_)for(;dt=i[q],D(Vt,V,a[2*dt],a[2*dt+1],a[2*q],a[2*q+1])<0;)K=this._addTriangle(dt,Mt,q,-1,g[q],g[dt]),this._legalize(K+2),g[dt]=K,d[q]=q,vt--,q=dt;this._hullStart=i[Mt]=q,d[q]=i[nt]=Mt,d[Mt]=nt,S[this._hashKey(Vt,V)]=Mt,S[this._hashKey(a[2*q],a[2*q+1])]=q}this.hull=new Uint32Array(vt);for(let ft=0,St=this._hullStart;ft0?3-i:1+i)/4}function be(n,a,i,d){const g=n-i,S=a-d;return g*g+S*S}function $o(n,a,i,d,g,S,x,A){const P=n-x,R=a-A,C=i-x,j=d-A,U=g-x,L=S-A,Z=P*P+R*R,b=C*C+j*j,G=U*U+L*L;return P*(j*G-b*L)-R*(C*G-b*U)+Z*(C*L-j*U)<0}function bo(n,a,i,d,g,S){const x=i-n,A=d-a,P=g-n,R=S-a,C=x*x+A*A,j=P*P+R*R,U=.5/(x*R-A*P),L=(R*C-A*j)*U,Z=(x*j-P*C)*U;return L*L+Z*Z}function Uo(n,a,i,d,g,S){const x=i-n,A=d-a,P=g-n,R=S-a,C=x*x+A*A,j=P*P+R*R,U=.5/(x*R-A*P),L=n+(R*C-A*j)*U,Z=a+(x*j-P*C)*U;return{x:L,y:Z}}function Bn(n,a,i,d){if(d-i<=20)for(let g=i+1;g<=d;g++){const S=n[g],x=a[S];let A=g-1;for(;A>=i&&a[n[A]]>x;)n[A+1]=n[A--];n[A+1]=S}else{const g=i+d>>1;let S=i+1,x=d;Jn(n,g,S),a[n[i]]>a[n[d]]&&Jn(n,i,d),a[n[S]]>a[n[d]]&&Jn(n,S,d),a[n[i]]>a[n[S]]&&Jn(n,i,S);const A=n[S],P=a[A];for(;;){do S++;while(a[n[S]]P);if(x=x-i?(Bn(n,a,S,d),Bn(n,a,i,x-1)):(Bn(n,a,i,x-1),Bn(n,a,S,d))}}function Jn(n,a,i){const d=n[a];n[a]=n[i],n[i]=d}function Bo(n){return n[0]}function jo(n){return n[1]}const xa=1e-6;class Mn{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(a,i){this._+=`M${this._x0=this._x1=+a},${this._y0=this._y1=+i}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(a,i){this._+=`L${this._x1=+a},${this._y1=+i}`}arc(a,i,d){a=+a,i=+i,d=+d;const g=a+d,S=i;if(d<0)throw new Error("negative radius");this._x1===null?this._+=`M${g},${S}`:(Math.abs(this._x1-g)>xa||Math.abs(this._y1-S)>xa)&&(this._+="L"+g+","+S),d&&(this._+=`A${d},${d},0,1,1,${a-d},${i}A${d},${d},0,1,1,${this._x1=g},${this._y1=S}`)}rect(a,i,d,g){this._+=`M${this._x0=this._x1=+a},${this._y0=this._y1=+i}h${+d}v${+g}h${-d}Z`}value(){return this._||null}}class Ue{constructor(){this._=[]}moveTo(a,i){this._.push([a,i])}closePath(){this._.push(this._[0].slice())}lineTo(a,i){this._.push([a,i])}value(){return this._.length?this._:null}}class wo{constructor(a,[i,d,g,S]=[0,0,960,500]){if(!((g=+g)>=(i=+i))||!((S=+S)>=(d=+d)))throw new Error("invalid bounds");this.delaunay=a,this._circumcenters=new Float64Array(a.points.length*2),this.vectors=new Float64Array(a.points.length*2),this.xmax=g,this.xmin=i,this.ymax=S,this.ymin=d,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:a,hull:i,triangles:d},vectors:g}=this;let S,x;const A=this.circumcenters=this._circumcenters.subarray(0,d.length/3*2);for(let b=0,G=0,W=d.length,Q,J;b1;)S-=2;for(let x=2;x0){if(i>=this.ymax)return null;(x=(this.ymax-i)/g)0){if(a>=this.xmax)return null;(x=(this.xmax-a)/d)this.xmax?2:0)|(ithis.ymax?8:0)}_simplify(a){if(a&&a.length>4){for(let i=0;i1e-10)return!1}return!0}function Ko(n,a,i){return[n+Math.sin(n+a)*i,a+Math.cos(n-a)*i]}class Be{static from(a,i=Vo,d=Ho,g){return new Be("length"in a?Yo(a,i,d,g):Float64Array.from(zo(a,i,d,g)))}constructor(a){this._delaunator=new fe(a),this.inedges=new Int32Array(a.length/2),this._hullIndex=new Int32Array(a.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){const a=this._delaunator,i=this.points;if(a.hull&&a.hull.length>2&&Wo(a)){this.collinear=Int32Array.from({length:i.length/2},(U,L)=>L).sort((U,L)=>i[2*U]-i[2*L]||i[2*U+1]-i[2*L+1]);const P=this.collinear[0],R=this.collinear[this.collinear.length-1],C=[i[2*P],i[2*P+1],i[2*R],i[2*R+1]],j=1e-8*Math.hypot(C[3]-C[1],C[2]-C[0]);for(let U=0,L=i.length/2;U0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=g[0],x[g[0]]=1,g.length===2&&(x[g[1]]=0,this.triangles[1]=g[1],this.triangles[2]=g[1]))}voronoi(a){return new wo(this,a)}*neighbors(a){const{inedges:i,hull:d,_hullIndex:g,halfedges:S,triangles:x,collinear:A}=this;if(A){const j=A.indexOf(a);j>0&&(yield A[j-1]),j=0&&S!==d&&S!==g;)d=S;return S}_step(a,i,d){const{inedges:g,hull:S,_hullIndex:x,halfedges:A,triangles:P,points:R}=this;if(g[a]===-1||!R.length)return(a+1)%(R.length>>1);let C=a,j=jn(i-R[a*2],2)+jn(d-R[a*2+1],2);const U=g[a];let L=U;do{let Z=P[L];const b=jn(i-R[Z*2],2)+jn(d-R[Z*2+1],2);if(b=J&&(J=Q+1);!(rt=G[J])&&++J=0;)(x=d[g])&&(S&&x.compareDocumentPosition(S)^4&&S.parentNode.insertBefore(x,S),S=x);return this}function Es(n){n||(n=Is);function a(j,U){return j&&U?n(j.__data__,U.__data__):!j-!U}for(var i=this._groups,d=i.length,g=new Array(d),S=0;Sa?1:n>=a?0:NaN}function Ts(){var n=arguments[0];return arguments[0]=this,n.apply(null,arguments),this}function Os(){return Array.from(this)}function As(){for(var n=this._groups,a=0,i=n.length;a=0&&(a=n.slice(0,i))!=="xmlns"&&(n=n.slice(i+1)),Oa.hasOwnProperty(a)?{space:Oa[a],local:n}:n}function Ns(n){return function(){this.removeAttribute(n)}}function Ms(n){return function(){this.removeAttributeNS(n.space,n.local)}}function Ds(n,a){return function(){this.setAttribute(n,a)}}function Fs(n,a){return function(){this.setAttributeNS(n.space,n.local,a)}}function Ls(n,a){return function(){var i=a.apply(this,arguments);i==null?this.removeAttribute(n):this.setAttribute(n,i)}}function $s(n,a){return function(){var i=a.apply(this,arguments);i==null?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,i)}}function bs(n,a){var i=ve(n);if(arguments.length<2){var d=this.node();return i.local?d.getAttributeNS(i.space,i.local):d.getAttribute(i)}return this.each((a==null?i.local?Ms:Ns:typeof a=="function"?i.local?$s:Ls:i.local?Fs:Ds)(i,a))}function Aa(n){return n.ownerDocument&&n.ownerDocument.defaultView||n.document&&n||n.defaultView}function Us(n){return function(){this.style.removeProperty(n)}}function Bs(n,a,i){return function(){this.style.setProperty(n,a,i)}}function js(n,a,i){return function(){var d=a.apply(this,arguments);d==null?this.style.removeProperty(n):this.style.setProperty(n,d,i)}}function ws(n,a,i){return arguments.length>1?this.each((a==null?Us:typeof a=="function"?js:Bs)(n,a,i==null?"":i)):wn(this.node(),n)}function wn(n,a){return n.style.getPropertyValue(a)||Aa(n).getComputedStyle(n,null).getPropertyValue(a)}function Gs(n){return function(){delete this[n]}}function Vs(n,a){return function(){this[n]=a}}function Hs(n,a){return function(){var i=a.apply(this,arguments);i==null?delete this[n]:this[n]=i}}function Ws(n,a){return arguments.length>1?this.each((a==null?Gs:typeof a=="function"?Hs:Vs)(n,a)):this.node()[n]}function Ra(n){return n.trim().split(/^|\s+/)}function Ge(n){return n.classList||new Pa(n)}function Pa(n){this._node=n,this._names=Ra(n.getAttribute("class")||"")}Pa.prototype={add:function(n){var a=this._names.indexOf(n);a<0&&(this._names.push(n),this._node.setAttribute("class",this._names.join(" ")))},remove:function(n){var a=this._names.indexOf(n);a>=0&&(this._names.splice(a,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(n){return this._names.indexOf(n)>=0}};function Ca(n,a){for(var i=Ge(n),d=-1,g=a.length;++d=0&&(i=a.slice(d+1),a=a.slice(0,d)),{type:a,name:i}})}function xi(n){return function(){var a=this.__on;if(a){for(var i=0,d=-1,g=a.length,S;i{}};function La(){for(var n=0,a=arguments.length,i={},d;n=0&&(d=i.slice(g+1),i=i.slice(0,g)),i&&!a.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:d}})}de.prototype=La.prototype={constructor:de,on:function(n,a){var i=this._,d=Ni(n+"",i),g,S=-1,x=d.length;if(arguments.length<2){for(;++S0)for(var i=new Array(g),d=0,g,S;d=0&&n._call.call(void 0,a),n=n._next;--Gn}function ja(){Dn=(ge=_n.now())+pe,Gn=Zn=0;try{Li()}finally{Gn=0,bi(),Dn=0}}function $i(){var n=_n.now(),a=n-ge;a>ba&&(pe-=a,ge=n)}function bi(){for(var n,a=he,i,d=1/0;a;)a._call?(d>a._time&&(d=a._time),n=a,a=a._next):(i=a._next,a._next=null,a=n?n._next=i:he=i);qn=n,He(d)}function He(n){if(!Gn){Zn&&(Zn=clearTimeout(Zn));var a=n-Dn;a>24?(n<1/0&&(Zn=setTimeout(ja,n-_n.now()-pe)),kn&&(kn=clearInterval(kn))):(kn||(ge=_n.now(),kn=setInterval($i,ba)),Gn=1,Ua(ja))}}function wa(n,a,i){var d=new ye;return a=a==null?0:+a,d.restart(g=>{d.stop(),n(g+a)},a,i),d}var Ui=Di("start","end","cancel","interrupt"),Bi=[],Ga=0,Va=1,We=2,me=3,Ha=4,Ke=5,xe=6;function Se(n,a,i,d,g,S){var x=n.__transition;if(!x)n.__transition={};else if(i in x)return;ji(n,i,{name:a,index:d,group:g,on:Ui,tween:Bi,time:S.time,delay:S.delay,duration:S.duration,ease:S.ease,timer:null,state:Ga})}function Ye(n,a){var i=pn(n,a);if(i.state>Ga)throw new Error("too late; already scheduled");return i}function xn(n,a){var i=pn(n,a);if(i.state>me)throw new Error("too late; already running");return i}function pn(n,a){var i=n.__transition;if(!i||!(i=i[a]))throw new Error("transition not found");return i}function ji(n,a,i){var d=n.__transition,g;d[a]=i,i.timer=Ba(S,0,i.time);function S(R){i.state=Va,i.timer.restart(x,i.delay,i.time),i.delay<=R&&x(R-i.delay)}function x(R){var C,j,U,L;if(i.state!==Va)return P();for(C in d)if(L=d[C],L.name===i.name){if(L.state===me)return wa(x);L.state===Ha?(L.state=xe,L.timer.stop(),L.on.call("interrupt",n,n.__data__,L.index,L.group),delete d[C]):+CWe&&d.state180?C+=360:C-R>180&&(R+=360),U.push({i:j.push(g(j)+"rotate(",null,d)-2,x:Rn(R,C)})):C&&j.push(g(j)+"rotate("+C+d)}function A(R,C,j,U){R!==C?U.push({i:j.push(g(j)+"skewX(",null,d)-2,x:Rn(R,C)}):C&&j.push(g(j)+"skewX("+C+d)}function P(R,C,j,U,L,Z){if(R!==j||C!==U){var b=L.push(g(L)+"scale(",null,",",null,")");Z.push({i:b-4,x:Rn(R,j)},{i:b-2,x:Rn(C,U)})}else(j!==1||U!==1)&&L.push(g(L)+"scale("+j+","+U+")")}return function(R,C){var j=[],U=[];return R=n(R),C=n(C),S(R.translateX,R.translateY,C.translateX,C.translateY,j,U),x(R.rotate,C.rotate,j,U),A(R.skewX,C.skewX,j,U),P(R.scaleX,R.scaleY,C.scaleX,C.scaleY,j,U),R=C=null,function(L){for(var Z=-1,b=U.length,G;++Z>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):i===8?Te(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):i===4?Te(a>>12&15|a>>8&240,a>>8&15|a>>4&240,a>>4&15|a&240,((a&15)<<4|a&15)/255):null):(a=Qi.exec(n))?new ln(a[1],a[2],a[3],1):(a=Zi.exec(n))?new ln(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=ki.exec(n))?Te(a[1],a[2],a[3],a[4]):(a=qi.exec(n))?Te(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=_i.exec(n))?_a(a[1],a[2]/100,a[3]/100,1):(a=tu.exec(n))?_a(a[1],a[2]/100,a[3]/100,a[4]):Xa.hasOwnProperty(n)?Za(Xa[n]):n==="transparent"?new ln(NaN,NaN,NaN,0):null}function Za(n){return new ln(n>>16&255,n>>8&255,n&255,1)}function Te(n,a,i,d){return d<=0&&(n=a=i=NaN),new ln(n,a,i,d)}function eu(n){return n instanceof te||(n=ee(n)),n?(n=n.rgb(),new ln(n.r,n.g,n.b,n.opacity)):new ln}function Oe(n,a,i,d){return arguments.length===1?eu(n):new ln(n,a,i,d==null?1:d)}function ln(n,a,i,d){this.r=+n,this.g=+a,this.b=+i,this.opacity=+d}Je(ln,Oe,za(te,{brighter(n){return n=n==null?Ie:Math.pow(Ie,n),new ln(this.r*n,this.g*n,this.b*n,this.opacity)},darker(n){return n=n==null?re:Math.pow(re,n),new ln(this.r*n,this.g*n,this.b*n,this.opacity)},rgb(){return this},clamp(){return new ln(Fn(this.r),Fn(this.g),Fn(this.b),Ae(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ka,formatHex:ka,formatHex8:au,formatRgb:qa,toString:qa}));function ka(){return`#${Ln(this.r)}${Ln(this.g)}${Ln(this.b)}`}function au(){return`#${Ln(this.r)}${Ln(this.g)}${Ln(this.b)}${Ln((isNaN(this.opacity)?1:this.opacity)*255)}`}function qa(){const n=Ae(this.opacity);return`${n===1?"rgb(":"rgba("}${Fn(this.r)}, ${Fn(this.g)}, ${Fn(this.b)}${n===1?")":`, ${n})`}`}function Ae(n){return isNaN(n)?1:Math.max(0,Math.min(1,n))}function Fn(n){return Math.max(0,Math.min(255,Math.round(n)||0))}function Ln(n){return n=Fn(n),(n<16?"0":"")+n.toString(16)}function _a(n,a,i,d){return d<=0?n=a=i=NaN:i<=0||i>=1?n=a=NaN:a<=0&&(n=NaN),new yn(n,a,i,d)}function to(n){if(n instanceof yn)return new yn(n.h,n.s,n.l,n.opacity);if(n instanceof te||(n=ee(n)),!n)return new yn;if(n instanceof yn)return n;n=n.rgb();var a=n.r/255,i=n.g/255,d=n.b/255,g=Math.min(a,i,d),S=Math.max(a,i,d),x=NaN,A=S-g,P=(S+g)/2;return A?(a===S?x=(i-d)/A+(i0&&P<1?0:x,new yn(x,A,P,n.opacity)}function ou(n,a,i,d){return arguments.length===1?to(n):new yn(n,a,i,d==null?1:d)}function yn(n,a,i,d){this.h=+n,this.s=+a,this.l=+i,this.opacity=+d}Je(yn,ou,za(te,{brighter(n){return n=n==null?Ie:Math.pow(Ie,n),new yn(this.h,this.s,this.l*n,this.opacity)},darker(n){return n=n==null?re:Math.pow(re,n),new yn(this.h,this.s,this.l*n,this.opacity)},rgb(){var n=this.h%360+(this.h<0)*360,a=isNaN(n)||isNaN(this.s)?0:this.s,i=this.l,d=i+(i<.5?i:1-i)*a,g=2*i-d;return new ln(Qe(n>=240?n-240:n+120,g,d),Qe(n,g,d),Qe(n<120?n+240:n-120,g,d),this.opacity)},clamp(){return new yn(ro(this.h),Re(this.s),Re(this.l),Ae(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const n=Ae(this.opacity);return`${n===1?"hsl(":"hsla("}${ro(this.h)}, ${Re(this.s)*100}%, ${Re(this.l)*100}%${n===1?")":`, ${n})`}`}}));function ro(n){return n=(n||0)%360,n<0?n+360:n}function Re(n){return Math.max(0,Math.min(1,n||0))}function Qe(n,a,i){return(n<60?a+(i-a)*n/60:n<180?i:n<240?a+(i-a)*(240-n)/60:a)*255}function no(n,a,i,d,g){var S=n*n,x=S*n;return((1-3*n+3*S-x)*a+(4-6*S+3*x)*i+(1+3*n+3*S-3*x)*d+x*g)/6}function su(n){var a=n.length-1;return function(i){var d=i<=0?i=0:i>=1?(i=1,a-1):Math.floor(i*a),g=n[d],S=n[d+1],x=d>0?n[d-1]:2*g-S,A=d()=>n;function ao(n,a){return function(i){return n+i*a}}function uu(n,a,i){return n=Math.pow(n,i),a=Math.pow(a,i)-n,i=1/i,function(d){return Math.pow(n+d*a,i)}}function Xl(n,a){var i=a-n;return i?ao(n,i>180||i<-180?i-360*Math.round(i/360):i):constant(isNaN(n)?a:n)}function lu(n){return(n=+n)==1?oo:function(a,i){return i-a?uu(a,i,n):eo(isNaN(a)?i:a)}}function oo(n,a){var i=a-n;return i?ao(n,i):eo(isNaN(n)?a:n)}var so=function n(a){var i=lu(a);function d(g,S){var x=i((g=Oe(g)).r,(S=Oe(S)).r),A=i(g.g,S.g),P=i(g.b,S.b),R=oo(g.opacity,S.opacity);return function(C){return g.r=x(C),g.g=A(C),g.b=P(C),g.opacity=R(C),g+""}}return d.gamma=n,d}(1);function io(n){return function(a){var i=a.length,d=new Array(i),g=new Array(i),S=new Array(i),x,A;for(x=0;xi&&(S=a.slice(i,S),A[x]?A[x]+=S:A[++x]=S),(d=d[0])===(g=g[0])?A[x]?A[x]+=g:A[++x]=g:(A[++x]=null,P.push({i:x,x:Rn(d,g)})),i=ke.lastIndex;return i=0&&(a=a.slice(0,i)),!a||a==="start"})}function ju(n,a,i){var d,g,S=Bu(a)?Ye:xn;return function(){var x=S(this,n),A=x.on;A!==d&&(g=(d=A).copy()).on(a,i),x.on=g}}function wu(n,a){var i=this._id;return arguments.length<2?pn(this.node(),i).on.on(n):this.each(ju(i,n,a))}function Gu(n){return function(){var a=this.parentNode;for(var i in this.__transition)if(+i!==n)return;a&&a.removeChild(this)}}function Vu(){return this.on("end.remove",Gu(this._id))}function Hu(n){var a=this._name,i=this._id;typeof n!="function"&&(n=je(n));for(var d=this._groups,g=d.length,S=new Array(g),x=0;x{const Dr=_t.identifier;return _t=pointer(_t,W),_t.point0=_t.slice(),_t.identifier=Dr,_t});interrupt(W);var nr=C(W,arguments,!0).beforestart();if(Q==="overlay"){vt&&(Tt=!0);const _t=[Dt[0],Dt[1]||Dt[0]];xt.selection=vt=[[St=n===Ce?ft:sn(_t[0][0],_t[1][0]),Vt=n===Pe?Mt:sn(_t[0][1],_t[1][1])],[q=n===Ce?_:on(_t[0][0],_t[1][0]),nt=n===Pe?K:on(_t[0][1],_t[1][1])]],Dt.length>1&&fr(G)}else St=vt[0][0],Vt=vt[0][1],q=vt[1][0],nt=vt[1][1];Rt=St,V=Vt,dt=q,z=nt;var or=select(W).attr("pointer-events","none"),sr=or.selectAll(".overlay").attr("cursor",Tn[Q]);if(G.touches)nr.moved=lr,nr.ended=$r;else{var ur=select(G.view).on("mousemove.brush",lr,!0).on("mouseup.brush",$r,!0);g&&ur.on("keydown.brush",br,!0).on("keyup.brush",Nr,!0),dragDisable(G.view)}R.call(W),nr.start(G,J.name);function lr(_t){for(const Dr of _t.changedTouches||[_t])for(const Kr of Dt)Kr.identifier===Dr.identifier&&(Kr.cur=pointer(Dr,W));if(Et&&!Lt&&!Zt&&Dt.length===1){const Dr=Dt[0];vo(Dr.cur[0]-Dr[0])>vo(Dr.cur[1]-Dr[1])?Zt=!0:Lt=!0}for(const Dr of Dt)Dr.cur&&(Dr[0]=Dr.cur[0],Dr[1]=Dr.cur[1]);Tt=!0,noevent(_t),fr(_t)}function fr(_t){const Dr=Dt[0],Kr=Dr.point0;var Gr;switch(ct=Dr[0]-Kr[0],pt=Dr[1]-Kr[1],J){case qe:case co:{ut&&(ct=on(ft-St,sn(_-q,ct)),Rt=St+ct,dt=q+ct),rt&&(pt=on(Mt-Vt,sn(K-nt,pt)),V=Vt+pt,z=nt+pt);break}case Hn:{Dt[1]?(ut&&(Rt=on(ft,sn(_,Dt[0][0])),dt=on(ft,sn(_,Dt[1][0])),ut=1),rt&&(V=on(Mt,sn(K,Dt[0][1])),z=on(Mt,sn(K,Dt[1][1])),rt=1)):(ut<0?(ct=on(ft-St,sn(_-St,ct)),Rt=St+ct,dt=q):ut>0&&(ct=on(ft-q,sn(_-q,ct)),Rt=St,dt=q+ct),rt<0?(pt=on(Mt-Vt,sn(K-Vt,pt)),V=Vt+pt,z=nt):rt>0&&(pt=on(Mt-nt,sn(K-nt,pt)),V=Vt,z=nt+pt));break}case Wn:{ut&&(Rt=on(ft,sn(_,St-ct*ut)),dt=on(ft,sn(_,q+ct*ut))),rt&&(V=on(Mt,sn(K,Vt-pt*rt)),z=on(Mt,sn(K,nt+pt*rt)));break}}dt0&&(St=Rt-ct),rt<0?nt=z-pt:rt>0&&(Vt=V-pt),J=qe,sr.attr("cursor",Tn.selection),fr(_t));break}default:return}noevent(_t)}function Nr(_t){switch(_t.keyCode){case 16:{Et&&(Lt=Zt=Et=!1,fr(_t));break}case 18:{J===Wn&&(ut<0?q=dt:ut>0&&(St=Rt),rt<0?nt=z:rt>0&&(Vt=V),J=Hn,fr(_t));break}case 32:{J===qe&&(_t.altKey?(ut&&(q=dt-ct*ut,St=Rt+ct*ut),rt&&(nt=z-pt*rt,Vt=V+pt*rt),J=Wn):(ut<0?q=dt:ut>0&&(St=Rt),rt<0?nt=z:rt>0&&(Vt=V),J=Hn),sr.attr("cursor",Tn[Q]),fr(_t));break}default:return}noevent(_t)}}function L(G){C(this,arguments).moved(G)}function Z(G){C(this,arguments).ended(G)}function b(){var G=this.__brush||{selection:null};return G.extent=_e(a.apply(this,arguments)),G.dim=n,G}return P.extent=function(G){return arguments.length?(a=typeof G=="function"?G:constant(_e(G)),P):a},P.filter=function(G){return arguments.length?(i=typeof G=="function"?G:constant(!!G),P):i},P.touchable=function(G){return arguments.length?(d=typeof G=="function"?G:constant(!!G),P):d},P.handleSize=function(G){return arguments.length?(x=+G,P):x},P.keyModifiers=function(G){return arguments.length?(g=!!G,P):g},P.on=function(){var G=S.on.apply(S,arguments);return G===S?P:G},P}function El(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function Il(n){const a=typeof(n==null?void 0:n.requestAnimationFrame)=="function"&&typeof(n==null?void 0:n.cancelAnimationFrame)=="function",i=typeof(n==null?void 0:n.requestIdleCallback)=="function"&&typeof(n==null?void 0:n.cancelIdleCallback)=="function",d=S=>setTimeout(S,1),g=S=>clearTimeout(S);return[a?n.requestAnimationFrame:d,a?n.cancelAnimationFrame:g,i?n.requestIdleCallback:d,i?n.cancelIdleCallback:g]}const Ne=El(),Tl=Ne==null?void 0:Ne.document,[nf,ef,af,of]=Il(Ne);var Ol=Object.defineProperty,yo=Object.getOwnPropertySymbols,Al=Object.prototype.hasOwnProperty,Rl=Object.prototype.propertyIsEnumerable,mo=(n,a,i)=>a in n?Ol(n,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[a]=i,xo=(n,a)=>{for(var i in a||(a={}))Al.call(a,i)&&mo(n,i,a[i]);if(yo)for(var i of yo(a))Rl.call(a,i)&&mo(n,i,a[i]);return n};const sf=n=>n||n===0,Pl=n=>typeof n=="function",Me=n=>typeof n=="string",na=n=>typeof n=="number",Cl=n=>typeof n=="undefined",So=n=>typeof n!="undefined",uf=n=>typeof n=="boolean",lf=n=>Math.ceil(n/10)*10,ff=n=>Math.ceil(n)+.5,cf=n=>n[1]-n[0],ea=n=>typeof n=="object",Nl=n=>Cl(n)||n===null||Me(n)&&n.length===0||ea(n)&&!(n instanceof Date)&&Object.keys(n).length===0||na(n)&&isNaN(n),Ml=n=>!Nl(n),aa=n=>Array.isArray(n),De=n=>n&&!(n!=null&&n.nodeType)&&ea(n)&&!aa(n);function vf(n,a,i){return So(n[a])?n[a]:i}function df(n,a){let i=!1;return Object.keys(n).forEach(d=>n[d]===a&&(i=!0)),i}function hf(n,a,...i){const d=Pl(n);return d&&n.call(a,...i),d}function gf(n,a){let i=0;const d=function(...g){!--i&&a.apply(this,...g)};"duration"in n?n.each(()=>++i).on("end",d):(++i,n.call(d))}function pf(n){return Me(n)?n.replace(/<(script|img)?/ig,"<").replace(/(script)?>/ig,">"):n}function yf(n,a,i=[-1,1],d=!1){if(!(!n||!Me(a)))if(a.indexOf(` `)===-1)n.text(a);else{const g=[n.text(),a].map(S=>S.replace(/[\s\n]/g,""));if(g[0]!==g[1]){const S=a.split(` -`),x=d?S.length-1:1;n.html(""),S.forEach((A,P)=>{n.append("tspan").attr("x",0).attr("dy",`${P===0?i[0]*x:i[1]}em`).text(A)})}}}function Dl(n){const{x:a,y:i,width:d,height:g}=n.getBBox();return[{x:a,y:i+g},{x:a,y:i},{x:a+d,y:i},{x:a+d,y:i+g}]}function mf(n){const{width:a,height:i}=n.getBoundingClientRect(),d=Dl(n),g=d[0].x,S=Math.min(d[0].y,d[1].y);return{x:g,y:S,width:a,height:i}}function xf(n,a){var i;const d=n&&((i=n.touches||n.sourceEvent&&n.sourceEvent.touches)==null?void 0:i[0]);let g=[0,0];try{g=d3Pointer(d||n,a)}catch(S){}return g.map(S=>isNaN(S)?0:S)}function Fl(n){const{event:a,$el:i}=n,d=i.subchart.main||i.main;let g;return a&&a.type==="brush"?g=a.selection:d&&(g=d.select(".bb-brush").node())&&(g=d3BrushSelection(g)),g}function Sf(n){return!("rect"in n)||"rect"in n&&n.hasAttribute("width")&&n.rect.width!==+n.getAttribute("width")?n.rect=n.getBoundingClientRect():n.rect}function Ef(n=!0,a=0,i=1e4){const d=window.crypto||window.msCrypto,g=d?a+d.getRandomValues(new Uint32Array(1))[0]%(i-a+1):Math.floor(Math.random()*(i-a)+a);return n?String(g):g}function Eo(n,a,i,d,g){if(i>d)return-1;const S=Math.floor((i+d)/2);let{x,w:A=0}=n[S];return g&&(x=n[S].y,A=n[S].h),a>=x&&a<=x+A?S:a{if(De(i)&&i.constructor){const d=new i.constructor;for(const g in i)d[g]=a(i[g]);return d}return i};return n.map(i=>a(i)).reduce((i,d)=>xo(xo({},i),d))}function Ll(n={},a){aa(a)&&a.forEach(i=>Ll(n,i));for(const i in a)/^\d+$/.test(i)||i in n||(n[i]=a[i]);return n}const Of=n=>n.charAt(0).toUpperCase()+n.slice(1);function Af(n,a="-"){return n.split(a).map((i,d)=>d?i.charAt(0).toUpperCase()+i.slice(1).toLowerCase():i.toLowerCase()).join("")}const $l=n=>[].slice.call(n);function Rf(n,a,i){const{rootSelector:d="",sheet:g}=n,x=`${d} ${(A=>A.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(a)} {${i.join(";")}}`;return g[g.insertRule?"insertRule":"addRule"](x,g.cssRules.length)}function Pf(n){let a=[];return n.forEach(i=>{var d;try{i.cssRules&&i.cssRules.length&&(a=a.concat($l(i.cssRules)))}catch(g){(d=window.console)==null||d.warn(`Error while reading rules from ${i.href}: ${g.toString()}`)}}),a}function Cf(n){var a,i,d,g,S,x;return{x:((i=(a=window.pageXOffset)!=null?a:window.scrollX)!=null?i:0)+((d=n.scrollLeft)!=null?d:0),y:((S=(g=window.pageYOffset)!=null?g:window.scrollY)!=null?S:0)+((x=n.scrollTop)!=null?x:0)}}function Nf(n,a=0,i=0,d=!0){const g=new DOMPoint(a,i),S=n.getScreenCTM();return g.matrixTransform(d?S==null?void 0:S.inverse():S)}function Mf(n){const a=n?n.transform:null,i=a&&a.baseVal;return i&&i.numberOfItems?i.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function Df(n){const a=n[0]instanceof Date,i=(a?n.map(Number):n).filter((d,g,S)=>S.indexOf(d)===g);return a?i.map(d=>new Date(d)):i}function Ff(n){return n&&n.length?n.reduce((a,i)=>a.concat(i)):[]}function oa(n,...a){if(!a.length||a.length===1&&!a[0])return n;const i=a.shift();return De(n)&&De(i)&&Object.keys(i).forEach(d=>{const g=i[d];De(g)?(!n[d]&&(n[d]={}),n[d]=oa(n[d],g)):n[d]=aa(g)?g.concat():g}),oa(n,...a)}function bl(n,a=!0){let i;return n[0]instanceof Date?i=a?(d,g)=>d-g:(d,g)=>g-d:a&&!n.every(isNaN)?i=(d,g)=>d-g:a||(i=(d,g)=>d>g&&-1||dMl(d));return i.length?na(i[0])?i=Math[n](...i):i[0]instanceof Date&&(i=bl(i,n==="min")[0]):i=void 0,i}const $f=(n,a,i=1)=>{const d=[],g=Math.max(0,Math.ceil((a-n)/i))|0;for(let S=n;S{const n=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(a,i,d=n())=>{a.dispatchEvent(new MouseEvent(i,d))}}catch(a){return(i,d,g=n())=>{const S=Tl.createEvent("MouseEvent");S.initMouseEvent(d,g.bubbles,g.cancelable,Ne,0,g.screenX,g.screenY,g.clientX,g.clientY,!1,!1,!1,!1,0,null),i.dispatchEvent(S)}}})(),touch:(n,a,i)=>{const d=new Touch(oa({identifier:Date.now(),target:n,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},i));n.dispatchEvent(new TouchEvent(a,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[d],targetTouches:[],changedTouches:[d]}))}};function Uf(n,a){let i=n;for(const d in a)i=i.replace(new RegExp(`{=${d}}`,"g"),a[d]);return i}function Bf(n){var a;let i;if(n instanceof Date)i=n;else if(Me(n)){const{config:d,format:g}=this;i=(a=g.dataTime(d.data_xFormat)(n))!=null?a:new Date(n)}else na(n)&&!isNaN(n)&&(i=new Date(+n));return(!i||isNaN(+i))&&console&&console.error&&console.error(`Failed to parse x '${n}' to Date object`),i}function jf(n){const a=n.attr("viewBox");return a?/(\d+(\.\d+)?){3}/.test(a):!1}function wf(n,a,i=!1){const d=!!n.node;let g=!1;for(const[S,x]of Object.entries(a))if(g=d?n.style(S)===x:n.style[S]===x,i===!1&&g)break;return g}function Gf(){var n,a;return((n=document)==null?void 0:n.hidden)===!1||((a=document)==null?void 0:a.visibilityState)==="visible"}function Vf(n,a){const{DocumentTouch:i,matchMedia:d,navigator:g}=window,S=d==null?void 0:d("(pointer:coarse)").matches;let x=!1;if(a)if(g&&"maxTouchPoints"in g)x=g.maxTouchPoints>0;else if("ontouchmove"in window||i&&document instanceof i)x=!0;else if(S)x=!0;else{const P=g.userAgent;x=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(P)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(P)}return n&&!S&&(d==null?void 0:d("(pointer:fine)").matches)&&"mouse"||x&&"touch"||"mouse"}function Ul(n,a){a()===!1?requestAnimationFrame(()=>Ul(n,a)):n()}function Bl(n){const a=this.config;let i,d,g;const S=()=>{const x=d.shift();if(x&&i&&ea(i)&&x in i)return i=i[x],S();if(!x)return i};Object.keys(a).forEach(x=>{i=n,d=x.split("_"),g=S(),So(g)&&(a[x]=g)}),this.api&&(this.state.orgConfig=n)}var jl=Object.defineProperty,wl=(n,a,i)=>a in n?jl(n,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[a]=i,sa=(n,a,i)=>wl(n,typeof a!="symbol"?a+"":a,i);class Io{constructor(a={}){sa(this,"$$"),sa(this,"options"),this.options=a}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(a=>{this[a]=null,delete this[a]})}}sa(Io,"version","3.14.1");class Gl{constructor(){return{selector:void 0,extent:1,area:0}}}var Vl=Object.defineProperty,Hl=(n,a,i)=>a in n?Vl(n,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[a]=i,Wl=(n,a,i)=>Hl(n,typeof a!="symbol"?a+"":a,i);class Kl extends Io{constructor(a){return super(a),Wl(this,"config"),this.config=new Gl,this}$init(){Bl.call(this,this.options)}$redraw(){const{$$:{$el:a},config:{selector:i}}=this,d=i?a.main.selectAll(i):a.text;!d.empty()&&this.preventLabelOverlap(d)}generateVoronoi(a){const{$$:i}=this,{scale:d}=i,[g,S]=["x","y"].map(x=>d[x].domain());return[g[1],S[0]]=[S[0],g[1]],Be.from(a).voronoi([...g,...S])}preventLabelOverlap(a){const{extent:i,area:d}=this.config,g=a.data().map(A=>[A.index,A.value]),S=this.generateVoronoi(g);let x=0;a.each(function(){const A=S.cellPolygon(x);if(A&&this){const[P,R]=g[x],[C,j]=Xo(A),U=Math.abs(Jo(A)),L=Math.round(Math.atan2(j-R,C-P)/Math.PI*2),Z=i*(L===0?1:-1),b=L===-1?-i:i+5,G=Math.abs(L)===1?"middle":L===0?"start":"end";this.style.display=U=X&&(!B||Y))k=T(w,0,X);else{var ot=B&&!Y&&M?{maxByteLength:M(w)}:void 0;k=new y(X,ot);for(var st=new m(w),tt=new m(k),et=E(X,H),at=0;at>8&255]},Ir=function(bt){return[bt&255,bt>>8&255,bt>>16&255,bt>>24&255]},pr=function(bt){return bt[3]<<24|bt[2]<<16|bt[1]<<8|bt[0]},Or=function(bt){return Er(O(bt),23,4)},Ur=function(bt){return Er(bt,52,8)},Lr=function(bt,Ht,Ft){c(bt[st],Ht,{configurable:!0,get:function(){return Ft(this)[Ht]}})},Pr=function(bt,Ht,Ft,cr){var vr=gt(bt),ar=I(Ft),rr=!!cr;if(ar+Ht>vr.byteLength)throw new ir(et);var jr=vr.bytes,wr=ar+vr.byteOffset,yt=D(jr,wr,wr+Ht);return rr?yt:xr(yt)},mr=function(bt,Ht,Ft,cr,vr,ar){var rr=gt(bt),jr=I(Ft),wr=cr(+vr),yt=!!ar;if(jr+Ht>rr.byteLength)throw new ir(et);for(var jt=rr.bytes,Gt=jr+rr.byteOffset,Bt=0;Btar)throw new ir("Wrong offset");if(cr=cr===void 0?ar-rr:E(cr),rr+cr>ar)throw new ir(tt);Pt(this,{type:ot,buffer:Ht,byteLength:cr,byteOffset:rr,bytes:vr.bytes}),o||(this.buffer=Ht,this.byteLength=cr,this.byteOffset=rr)},Qt=qt[st],o&&(Lr(Nt,"byteLength",at),Lr(qt,"buffer",gt),Lr(qt,"byteLength",gt),Lr(qt,"byteOffset",gt)),h(Qt,{getInt8:function(Ht){return Pr(this,1,Ht)[0]<<24>>24},getUint8:function(Ht){return Pr(this,1,Ht)[0]},getInt16:function(Ht){var Ft=Pr(this,2,Ht,arguments.length>1?arguments[1]:!1);return(Ft[1]<<8|Ft[0])<<16>>16},getUint16:function(Ht){var Ft=Pr(this,2,Ht,arguments.length>1?arguments[1]:!1);return Ft[1]<<8|Ft[0]},getInt32:function(Ht){return pr(Pr(this,4,Ht,arguments.length>1?arguments[1]:!1))},getUint32:function(Ht){return pr(Pr(this,4,Ht,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(Ht){return Yt(Pr(this,4,Ht,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(Ht){return Yt(Pr(this,8,Ht,arguments.length>1?arguments[1]:!1),52)},setInt8:function(Ht,Ft){mr(this,1,Ht,tr,Ft)},setUint8:function(Ht,Ft){mr(this,1,Ht,tr,Ft)},setInt16:function(Ht,Ft){mr(this,2,Ht,Sr,Ft,arguments.length>2?arguments[2]:!1)},setUint16:function(Ht,Ft){mr(this,2,Ht,Sr,Ft,arguments.length>2?arguments[2]:!1)},setInt32:function(Ht,Ft){mr(this,4,Ht,Ir,Ft,arguments.length>2?arguments[2]:!1)},setUint32:function(Ht,Ft){mr(this,4,Ht,Ir,Ft,arguments.length>2?arguments[2]:!1)},setFloat32:function(Ht,Ft){mr(this,4,Ht,Or,Ft,arguments.length>2?arguments[2]:!1)},setFloat64:function(Ht,Ft){mr(this,8,Ht,Ur,Ft,arguments.length>2?arguments[2]:!1)}});else{var Mr=X&&Ot.name!==k;!v(function(){Ot(1)})||!v(function(){new Ot(-1)})||v(function(){return new Ot,new Ot(1.5),new Ot(NaN),Ot.length!==1||Mr&&!Y})?(Nt=function(Ht){return y(this,It),w(new Ot(I(Ht)),this,Nt)},Nt[st]=It,It.constructor=Nt,$(Nt,Ot)):Mr&&Y&&f(Ot,"name",k),M&&N(Qt)!==Jt&&M(Qt,Jt);var Tr=new qt(new Nt(2)),yr=e(Qt.setInt8);Tr.setInt8(0,2147483648),Tr.setInt8(1,2147483649),(Tr.getInt8(0)||!Tr.getInt8(1))&&h(Qt,{setInt8:function(Ht,Ft){yr(this,Ht,Ft<<24>>24)},setUint8:function(Ht,Ft){yr(this,Ht,Ft<<24>>24)}},{unsafe:!0})}B(Nt,k),B(qt,ot),l.exports={ArrayBuffer:Nt,DataView:qt}},81499:function(l,p,t){var r=t(49671),e=t(4652),o=t(82628),s=t(12384),u=Math.min;l.exports=[].copyWithin||function(c,h){var v=r(this),y=o(v),m=e(c,y),E=e(h,y),I=arguments.length>2?arguments[2]:void 0,O=u((I===void 0?y:e(I,y))-E,y-m),T=1;for(E0;)E in v?v[m]=v[E]:s(v,m),m+=T,E+=T;return v}},43011:function(l,p,t){var r=t(49671),e=t(4652),o=t(82628);l.exports=function(u){for(var f=r(this),c=o(f),h=arguments.length,v=e(h>1?arguments[1]:void 0,c),y=h>2?arguments[2]:void 0,m=y===void 0?c:e(y,c);m>v;)f[v++]=u;return f}},13349:function(l,p,t){var r=t(66655).forEach,e=t(6148),o=e("forEach");l.exports=o?[].forEach:function(u){return r(this,u,arguments.length>1?arguments[1]:void 0)}},5220:function(l,p,t){var r=t(82628);l.exports=function(e,o,s){for(var u=0,f=arguments.length>2?s:r(o),c=new e(f);f>u;)c[u]=o[u++];return c}},48258:function(l,p,t){var r=t(45526),e=t(96499),o=t(49671),s=t(39969),u=t(48199),f=t(11051),c=t(82628),h=t(84082),v=t(90619),y=t(81077),m=Array;l.exports=function(I){var O=o(I),T=f(this),N=arguments.length,M=N>1?arguments[1]:void 0,F=M!==void 0;F&&(M=r(M,N>2?arguments[2]:void 0));var D=y(O),w=0,$,B,H,X,Y,k;if(D&&!(this===m&&u(D)))for(B=T?new this:[],X=v(O,D),Y=X.next;!(H=e(Y,X)).done;w++)k=F?s(X,M,[H.value,w],!0):H.value,h(B,w,k);else for($=c(O),B=T?new this($):m($);$>w;w++)k=F?M(O[w],w):O[w],h(B,w,k);return B.length=w,B}},94319:function(l,p,t){var r=t(36859),e=t(4652),o=t(82628),s=function(u){return function(f,c,h){var v=r(f),y=o(v);if(y===0)return!u&&-1;var m=e(h,y),E;if(u&&c!==c){for(;y>m;)if(E=v[m++],E!==E)return!0}else for(;y>m;m++)if((u||m in v)&&v[m]===c)return u||m||0;return!u&&-1}};l.exports={includes:s(!0),indexOf:s(!1)}},73849:function(l,p,t){var r=t(45526),e=t(72181),o=t(49671),s=t(82628),u=function(f){var c=f===1;return function(h,v,y){for(var m=o(h),E=e(m),I=s(E),O=r(v,y),T,N;I-- >0;)if(T=E[I],N=O(T,I,m),N)switch(f){case 0:return T;case 1:return I}return c?-1:void 0}};l.exports={findLast:u(0),findLastIndex:u(1)}},66655:function(l,p,t){var r=t(45526),e=t(11286),o=t(72181),s=t(49671),u=t(82628),f=t(62083),c=e([].push),h=function(v){var y=v===1,m=v===2,E=v===3,I=v===4,O=v===6,T=v===7,N=v===5||O;return function(M,F,D,w){for(var $=s(M),B=o($),H=u(B),X=r(F,D),Y=0,k=w||f,ot=y?k(M,H):m||T?k(M,0):void 0,st,tt;H>Y;Y++)if((N||Y in B)&&(st=B[Y],tt=X(st,Y,$),v))if(y)ot[Y]=tt;else if(tt)switch(v){case 3:return!0;case 5:return st;case 6:return Y;case 2:c(ot,st)}else switch(v){case 4:return!1;case 7:c(ot,st)}return O?-1:E||I?I:ot}};l.exports={forEach:h(0),map:h(1),filter:h(2),some:h(3),every:h(4),find:h(5),findIndex:h(6),filterReject:h(7)}},58465:function(l,p,t){var r=t(66543),e=t(36859),o=t(12105),s=t(82628),u=t(6148),f=Math.min,c=[].lastIndexOf,h=!!c&&1/[1].lastIndexOf(1,-0)<0,v=u("lastIndexOf"),y=h||!v;l.exports=y?function(E){if(h)return r(c,this,arguments)||0;var I=e(this),O=s(I);if(O===0)return-1;var T=O-1;for(arguments.length>1&&(T=f(T,o(arguments[1]))),T<0&&(T=O+T);T>=0;T--)if(T in I&&I[T]===E)return T||0;return-1}:c},52183:function(l,p,t){var r=t(72069),e=t(18565),o=t(44241),s=e("species");l.exports=function(u){return o>=51||!r(function(){var f=[],c=f.constructor={};return c[s]=function(){return{foo:1}},f[u](Boolean).foo!==1})}},6148:function(l,p,t){var r=t(72069);l.exports=function(e,o){var s=[][e];return!!s&&r(function(){s.call(null,o||function(){return 1},1)})}},97264:function(l,p,t){var r=t(85156),e=t(49671),o=t(72181),s=t(82628),u=TypeError,f="Reduce of empty array with no initial value",c=function(h){return function(v,y,m,E){var I=e(v),O=o(I),T=s(I);if(r(y),T===0&&m<2)throw new u(f);var N=h?T-1:0,M=h?-1:1;if(m<2)for(;;){if(N in O){E=O[N],N+=M;break}if(N+=M,h?N<0:T<=N)throw new u(f)}for(;h?N>=0:T>N;N+=M)N in O&&(E=y(E,O[N],N,I));return E}};l.exports={left:c(!1),right:c(!0)}},2213:function(l,p,t){var r=t(92986),e=t(3438),o=TypeError,s=Object.getOwnPropertyDescriptor,u=r&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(f){return f instanceof TypeError}}();l.exports=u?function(f,c){if(e(f)&&!s(f,"length").writable)throw new o("Cannot set read only .length");return f.length=c}:function(f,c){return f.length=c}},22806:function(l,p,t){var r=t(11286);l.exports=r([].slice)},13270:function(l,p,t){var r=t(22806),e=Math.floor,o=function(s,u){var f=s.length;if(f<8)for(var c=1,h,v;c0;)s[v]=s[--v];v!==c++&&(s[v]=h)}else for(var y=e(f/2),m=o(r(s,0,y),u),E=o(r(s,y),u),I=m.length,O=E.length,T=0,N=0;T=h||y<0)throw new o("Incorrect index");for(var m=new u(h),E=0;E1?arguments[1]:void 0),tt;tt=tt?tt.next:ot.first;)for(st(tt.value,tt.key,this);tt&&tt.removed;)tt=tt.previous},has:function(k){return!!X(this,k)}}),o($,F?{get:function(k){var ot=X(this,k);return ot&&ot.value},set:function(k,ot){return H(this,k===0?0:k,ot)}}:{add:function(k){return H(this,k=k===0?0:k,k)}}),m&&e($,"size",{configurable:!0,get:function(){return B(this).size}}),w},setStrong:function(N,M,F){var D=M+" Iterator",w=T(M),$=T(D);h(N,M,function(B,H){O(this,{type:D,target:B,state:w(B),kind:H,last:null})},function(){for(var B=$(this),H=B.kind,X=B.last;X&&X.removed;)X=X.previous;return!B.target||!(B.last=X=X?X.next:B.state.first)?(B.target=null,v(void 0,!0)):v(H==="keys"?X.key:H==="values"?X.value:[X.key,X.value],!1)},F?"entries":"values",!F,!0),y(M)}}},94667:function(l,p,t){var r=t(11286),e=t(2725),o=t(31853).getWeakData,s=t(12833),u=t(25001),f=t(5683),c=t(37540),h=t(55902),v=t(66655),y=t(94879),m=t(82367),E=m.set,I=m.getterFor,O=v.find,T=v.findIndex,N=r([].splice),M=0,F=function($){return $.frozen||($.frozen=new D)},D=function(){this.entries=[]},w=function($,B){return O($.entries,function(H){return H[0]===B})};D.prototype={get:function($){var B=w(this,$);if(B)return B[1]},has:function($){return!!w(this,$)},set:function($,B){var H=w(this,$);H?H[1]=B:this.entries.push([$,B])},delete:function($){var B=T(this.entries,function(H){return H[0]===$});return~B&&N(this.entries,B,1),!!~B}},l.exports={getConstructor:function($,B,H,X){var Y=$(function(tt,et){s(tt,k),E(tt,{type:B,id:M++,frozen:null}),f(et)||h(et,tt[X],{that:tt,AS_ENTRIES:H})}),k=Y.prototype,ot=I(B),st=function(tt,et,at){var gt=ot(tt),Pt=o(u(et),!0);return Pt===!0?F(gt).set(et,at):Pt[gt.id]=at,tt};return e(k,{delete:function(tt){var et=ot(this);if(!c(tt))return!1;var at=o(tt);return at===!0?F(et).delete(tt):at&&y(at,et.id)&&delete at[et.id]},has:function(et){var at=ot(this);if(!c(et))return!1;var gt=o(et);return gt===!0?F(at).has(et):gt&&y(gt,at.id)}}),e(k,H?{get:function(et){var at=ot(this);if(c(et)){var gt=o(et);if(gt===!0)return F(at).get(et);if(gt)return gt[at.id]}},set:function(et,at){return st(this,et,at)}}:{add:function(et){return st(this,et,!0)}}),Y}}},89378:function(l,p,t){var r=t(14304),e=t(34246),o=t(11286),s=t(13278),u=t(16142),f=t(31853),c=t(55902),h=t(12833),v=t(23583),y=t(5683),m=t(37540),E=t(72069),I=t(97494),O=t(78401),T=t(32345);l.exports=function(N,M,F){var D=N.indexOf("Map")!==-1,w=N.indexOf("Weak")!==-1,$=D?"set":"add",B=e[N],H=B&&B.prototype,X=B,Y={},k=function(Pt){var Ot=o(H[Pt]);u(H,Pt,Pt==="add"?function(It){return Ot(this,It===0?0:It),this}:Pt==="delete"?function(Nt){return w&&!m(Nt)?!1:Ot(this,Nt===0?0:Nt)}:Pt==="get"?function(It){return w&&!m(It)?void 0:Ot(this,It===0?0:It)}:Pt==="has"?function(It){return w&&!m(It)?!1:Ot(this,It===0?0:It)}:function(It,qt){return Ot(this,It===0?0:It,qt),this})},ot=s(N,!v(B)||!(w||H.forEach&&!E(function(){new B().entries().next()})));if(ot)X=F.getConstructor(M,N,D,$),f.enable();else if(s(N,!0)){var st=new X,tt=st[$](w?{}:-0,1)!==st,et=E(function(){st.has(1)}),at=I(function(Pt){new B(Pt)}),gt=!w&&E(function(){for(var Pt=new B,Ot=5;Ot--;)Pt[$](Ot,Ot);return!Pt.has(-0)});at||(X=M(function(Pt,Ot){h(Pt,H);var Nt=T(new B,Pt,X);return y(Ot)||c(Ot,Nt[$],{that:Nt,AS_ENTRIES:D}),Nt}),X.prototype=H,H.constructor=X),(et||gt)&&(k("delete"),k("has"),D&&k("get")),(gt||tt)&&k($),w&&H.clear&&delete H.clear}return Y[N]=X,r({global:!0,constructor:!0,forced:X!==B},Y),O(X,N),w||F.setStrong(X,N,D),X}},93706:function(l,p,t){var r=t(94879),e=t(16885),o=t(71349),s=t(7831);l.exports=function(u,f,c){for(var h=e(f),v=s.f,y=o.f,m=0;m"+y+""}},10659:function(l){l.exports=function(p,t){return{value:p,done:t}}},90809:function(l,p,t){var r=t(92986),e=t(7831),o=t(18526);l.exports=r?function(s,u,f){return e.f(s,u,o(1,f))}:function(s,u,f){return s[u]=f,s}},18526:function(l){l.exports=function(p,t){return{enumerable:!(p&1),configurable:!(p&2),writable:!(p&4),value:t}}},84082:function(l,p,t){var r=t(92986),e=t(7831),o=t(18526);l.exports=function(s,u,f){r?e.f(s,u,o(0,f)):s[u]=f}},11890:function(l,p,t){var r=t(11286),e=t(72069),o=t(61607).start,s=RangeError,u=isFinite,f=Math.abs,c=Date.prototype,h=c.toISOString,v=r(c.getTime),y=r(c.getUTCDate),m=r(c.getUTCFullYear),E=r(c.getUTCHours),I=r(c.getUTCMilliseconds),O=r(c.getUTCMinutes),T=r(c.getUTCMonth),N=r(c.getUTCSeconds);l.exports=e(function(){return h.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!e(function(){h.call(new Date(NaN))})?function(){if(!u(v(this)))throw new s("Invalid time value");var F=this,D=m(F),w=I(F),$=D<0?"-":D>9999?"+":"";return $+o(f(D),$?6:4,0)+"-"+o(T(F)+1,2,0)+"-"+o(y(F),2,0)+"T"+o(E(F),2,0)+":"+o(O(F),2,0)+":"+o(N(F),2,0)+"."+o(w,3,0)+"Z"}:h},84306:function(l,p,t){var r=t(25001),e=t(2064),o=TypeError;l.exports=function(s){if(r(this),s==="string"||s==="default")s="string";else if(s!=="number")throw new o("Incorrect hint");return e(this,s)}},85500:function(l,p,t){var r=t(13749),e=t(7831);l.exports=function(o,s,u){return u.get&&r(u.get,s,{getter:!0}),u.set&&r(u.set,s,{setter:!0}),e.f(o,s,u)}},16142:function(l,p,t){var r=t(23583),e=t(7831),o=t(13749),s=t(36003);l.exports=function(u,f,c,h){h||(h={});var v=h.enumerable,y=h.name!==void 0?h.name:f;if(r(c)&&o(c,y,h),h.global)v?u[f]=c:s(f,c);else{try{h.unsafe?u[f]&&(v=!0):delete u[f]}catch(m){}v?u[f]=c:e.f(u,f,{value:c,enumerable:!1,configurable:!h.nonConfigurable,writable:!h.nonWritable})}return u}},2725:function(l,p,t){var r=t(16142);l.exports=function(e,o,s){for(var u in o)r(e,u,o[u],s);return e}},36003:function(l,p,t){var r=t(34246),e=Object.defineProperty;l.exports=function(o,s){try{e(r,o,{value:s,configurable:!0,writable:!0})}catch(u){r[o]=s}return s}},12384:function(l,p,t){var r=t(82453),e=TypeError;l.exports=function(o,s){if(!delete o[s])throw new e("Cannot delete property "+r(s)+" of "+r(o))}},92986:function(l,p,t){var r=t(72069);l.exports=!r(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},63741:function(l,p,t){var r=t(34246),e=t(81191),o=t(99050),s=r.structuredClone,u=r.ArrayBuffer,f=r.MessageChannel,c=!1,h,v,y,m;if(o)c=function(E){s(E,{transfer:[E]})};else if(u)try{f||(h=e("worker_threads"),h&&(f=h.MessageChannel)),f&&(v=new f,y=new u(2),m=function(E){v.port1.postMessage(null,[E])},y.byteLength===2&&(m(y),y.byteLength===0&&(c=m)))}catch(E){}l.exports=c},85501:function(l,p,t){var r=t(34246),e=t(37540),o=r.document,s=e(o)&&e(o.createElement);l.exports=function(u){return s?o.createElement(u):{}}},20095:function(l){var p=TypeError,t=9007199254740991;l.exports=function(r){if(r>t)throw p("Maximum allowed index exceeded");return r}},74408:function(l){l.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},93014:function(l){l.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},39882:function(l,p,t){var r=t(85501),e=r("span").classList,o=e&&e.constructor&&e.constructor.prototype;l.exports=o===Object.prototype?void 0:o},75785:function(l){l.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},507:function(l,p,t){var r=t(18257),e=r.match(/firefox\/(\d+)/i);l.exports=!!e&&+e[1]},17417:function(l,p,t){var r=t(18257);l.exports=/MSIE|Trident/.test(r)},7307:function(l,p,t){var r=t(18257);l.exports=/ipad|iphone|ipod/i.test(r)&&typeof Pebble!="undefined"},5286:function(l,p,t){var r=t(18257);l.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(r)},91707:function(l,p,t){var r=t(21501);l.exports=r==="NODE"},67722:function(l,p,t){var r=t(18257);l.exports=/web0s(?!.*chrome)/i.test(r)},18257:function(l,p,t){var r=t(34246),e=r.navigator,o=e&&e.userAgent;l.exports=o?String(o):""},44241:function(l,p,t){var r=t(34246),e=t(18257),o=r.process,s=r.Deno,u=o&&o.versions||s&&s.version,f=u&&u.v8,c,h;f&&(c=f.split("."),h=c[0]>0&&c[0]<4?1:+(c[0]+c[1])),!h&&e&&(c=e.match(/Edge\/(\d+)/),(!c||c[1]>=74)&&(c=e.match(/Chrome\/(\d+)/),c&&(h=+c[1]))),l.exports=h},66577:function(l,p,t){var r=t(18257),e=r.match(/AppleWebKit\/(\d+)\./);l.exports=!!e&&+e[1]},21501:function(l,p,t){var r=t(34246),e=t(18257),o=t(14274),s=function(u){return e.slice(0,u.length)===u};l.exports=function(){return s("Bun/")?"BUN":s("Cloudflare-Workers")?"CLOUDFLARE":s("Deno/")?"DENO":s("Node.js/")?"NODE":r.Bun&&typeof Bun.version=="string"?"BUN":r.Deno&&typeof Deno.version=="object"?"DENO":o(r.process)==="process"?"NODE":r.window&&r.document?"BROWSER":"REST"}()},40851:function(l,p,t){var r=t(11286),e=Error,o=r("".replace),s=function(c){return String(new e(c).stack)}("zxcasd"),u=/\n\s*at [^:]*:[^\n]*/,f=u.test(s);l.exports=function(c,h){if(f&&typeof c=="string"&&!e.prepareStackTrace)for(;h--;)c=o(c,u,"");return c}},97077:function(l,p,t){var r=t(90809),e=t(40851),o=t(16929),s=Error.captureStackTrace;l.exports=function(u,f,c,h){o&&(s?s(u,f):r(u,"stack",e(c,h)))}},16929:function(l,p,t){var r=t(72069),e=t(18526);l.exports=!r(function(){var o=new Error("a");return"stack"in o?(Object.defineProperty(o,"stack",e(1,7)),o.stack!==7):!0})},58434:function(l,p,t){var r=t(92986),e=t(72069),o=t(25001),s=t(15453),u=Error.prototype.toString,f=e(function(){if(r){var c=Object.create(Object.defineProperty({},"name",{get:function(){return this===c}}));if(u.call(c)!=="true")return!0}return u.call({message:1,name:2})!=="2: 1"||u.call({})!=="Error"});l.exports=f?function(){var h=o(this),v=s(h.name,"Error"),y=s(h.message);return v?y?v+": "+y:v:y}:u},14304:function(l,p,t){var r=t(34246),e=t(71349).f,o=t(90809),s=t(16142),u=t(36003),f=t(93706),c=t(13278);l.exports=function(h,v){var y=h.target,m=h.global,E=h.stat,I,O,T,N,M,F;if(m?O=r:E?O=r[y]||u(y,{}):O=r[y]&&r[y].prototype,O)for(T in v){if(M=v[T],h.dontCallGetSet?(F=e(O,T),N=F&&F.value):N=O[T],I=c(m?T:y+(E?".":"#")+T,h.forced),!I&&N!==void 0){if(typeof M==typeof N)continue;f(M,N)}(h.sham||N&&N.sham)&&o(M,"sham",!0),s(O,T,M,h)}}},72069:function(l){l.exports=function(p){try{return!!p()}catch(t){return!0}}},63194:function(l,p,t){t(31145);var r=t(96499),e=t(16142),o=t(44381),s=t(72069),u=t(18565),f=t(90809),c=u("species"),h=RegExp.prototype;l.exports=function(v,y,m,E){var I=u(v),O=!s(function(){var F={};return F[I]=function(){return 7},""[v](F)!==7}),T=O&&!s(function(){var F=!1,D=/a/;return v==="split"&&(D={},D.constructor={},D.constructor[c]=function(){return D},D.flags="",D[I]=/./[I]),D.exec=function(){return F=!0,null},D[I](""),!F});if(!O||!T||m){var N=/./[I],M=y(I,""[v],function(F,D,w,$,B){var H=D.exec;return H===o||H===h.exec?O&&!B?{done:!0,value:r(N,D,w,$)}:{done:!0,value:r(F,w,D,$)}:{done:!1}});e(String.prototype,v,M[0]),e(h,I,M[1])}E&&f(h[I],"sham",!0)}},53149:function(l,p,t){var r=t(3438),e=t(82628),o=t(20095),s=t(45526),u=function(f,c,h,v,y,m,E,I){for(var O=y,T=0,N=E?s(E,I):!1,M,F;T0&&r(M)?(F=e(M),O=u(f,c,M,F,O,m-1)-1):(o(O+1),f[O]=M),O++),T++;return O};l.exports=u},27534:function(l,p,t){var r=t(72069);l.exports=!r(function(){return Object.isExtensible(Object.preventExtensions({}))})},66543:function(l,p,t){var r=t(87878),e=Function.prototype,o=e.apply,s=e.call;l.exports=typeof Reflect=="object"&&Reflect.apply||(r?s.bind(o):function(){return s.apply(o,arguments)})},45526:function(l,p,t){var r=t(77422),e=t(85156),o=t(87878),s=r(r.bind);l.exports=function(u,f){return e(u),f===void 0?u:o?s(u,f):function(){return u.apply(f,arguments)}}},87878:function(l,p,t){var r=t(72069);l.exports=!r(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")})},91384:function(l,p,t){var r=t(11286),e=t(85156),o=t(37540),s=t(94879),u=t(22806),f=t(87878),c=Function,h=r([].concat),v=r([].join),y={},m=function(E,I,O){if(!s(y,I)){for(var T=[],N=0;N]*>)/g,h=/\$([$&'`]|\d{1,2})/g;l.exports=function(v,y,m,E,I,O){var T=m+v.length,N=E.length,M=h;return I!==void 0&&(I=e(I),M=c),u(O,M,function(F,D){var w;switch(s(D,0)){case"$":return"$";case"&":return v;case"`":return f(y,0,m);case"'":return f(y,T);case"<":w=I[f(D,1,-1)];break;default:var $=+D;if($===0)return F;if($>N){var B=o($/10);return B===0?F:B<=N?E[B-1]===void 0?s(D,1):E[B-1]+s(D,1):F}w=E[$-1]}return w===void 0?"":w})}},34246:function(l){var p=function(t){return t&&t.Math===Math&&t};l.exports=p(typeof globalThis=="object"&&globalThis)||p(typeof window=="object"&&window)||p(typeof self=="object"&&self)||p(typeof global=="object"&&global)||p(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},94879:function(l,p,t){var r=t(11286),e=t(49671),o=r({}.hasOwnProperty);l.exports=Object.hasOwn||function(u,f){return o(e(u),f)}},19423:function(l){l.exports={}},99095:function(l){l.exports=function(p,t){try{arguments.length===1?console.error(p):console.error(p,t)}catch(r){}}},96439:function(l,p,t){var r=t(38941);l.exports=r("document","documentElement")},52515:function(l,p,t){var r=t(92986),e=t(72069),o=t(85501);l.exports=!r&&!e(function(){return Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a!==7})},25212:function(l){var p=Array,t=Math.abs,r=Math.pow,e=Math.floor,o=Math.log,s=Math.LN2,u=function(c,h,v){var y=p(v),m=v*8-h-1,E=(1<>1,O=h===23?r(2,-24)-r(2,-77):0,T=c<0||c===0&&1/c<0?1:0,N=0,M,F,D;for(c=t(c),c!==c||c===1/0?(F=c!==c?1:0,M=E):(M=e(o(c)/s),D=r(2,-M),c*D<1&&(M--,D*=2),M+I>=1?c+=O/D:c+=O*r(2,1-I),c*D>=2&&(M++,D/=2),M+I>=E?(F=0,M=E):M+I>=1?(F=(c*D-1)*r(2,h),M+=I):(F=c*r(2,I-1)*r(2,h),M=0));h>=8;)y[N++]=F&255,F/=256,h-=8;for(M=M<0;)y[N++]=M&255,M/=256,m-=8;return y[N-1]|=T*128,y},f=function(c,h){var v=c.length,y=v*8-h-1,m=(1<>1,I=y-7,O=v-1,T=c[O--],N=T&127,M;for(T>>=7;I>0;)N=N*256+c[O--],I-=8;for(M=N&(1<<-I)-1,N>>=-I,I+=h;I>0;)M=M*256+c[O--],I-=8;if(N===0)N=1-E;else{if(N===m)return M?NaN:T?-1/0:1/0;M+=r(2,h),N-=E}return(T?-1:1)*M*r(2,N-h)};l.exports={pack:u,unpack:f}},72181:function(l,p,t){var r=t(11286),e=t(72069),o=t(14274),s=Object,u=r("".split);l.exports=e(function(){return!s("z").propertyIsEnumerable(0)})?function(f){return o(f)==="String"?u(f,""):s(f)}:s},32345:function(l,p,t){var r=t(23583),e=t(37540),o=t(15861);l.exports=function(s,u,f){var c,h;return o&&r(c=u.constructor)&&c!==f&&e(h=c.prototype)&&h!==f.prototype&&o(s,h),s}},84352:function(l,p,t){var r=t(11286),e=t(23583),o=t(70443),s=r(Function.toString);e(o.inspectSource)||(o.inspectSource=function(u){return s(u)}),l.exports=o.inspectSource},31486:function(l,p,t){var r=t(37540),e=t(90809);l.exports=function(o,s){r(s)&&"cause"in s&&e(o,"cause",s.cause)}},31853:function(l,p,t){var r=t(14304),e=t(11286),o=t(19423),s=t(37540),u=t(94879),f=t(7831).f,c=t(83258),h=t(92880),v=t(28174),y=t(36374),m=t(27534),E=!1,I=y("meta"),O=0,T=function($){f($,I,{value:{objectID:"O"+O++,weakData:{}}})},N=function($,B){if(!s($))return typeof $=="symbol"?$:(typeof $=="string"?"S":"P")+$;if(!u($,I)){if(!v($))return"F";if(!B)return"E";T($)}return $[I].objectID},M=function($,B){if(!u($,I)){if(!v($))return!0;if(!B)return!1;T($)}return $[I].weakData},F=function($){return m&&E&&v($)&&!u($,I)&&T($),$},D=function(){w.enable=function(){},E=!0;var $=c.f,B=e([].splice),H={};H[I]=1,$(H).length&&(c.f=function(X){for(var Y=$(X),k=0,ot=Y.length;kY;Y++)if(ot=at(O[Y]),ot&&c(I,ot))return ot;return new E(!1)}H=h(O,X)}for(st=D?O.next:H.next;!(tt=e(st,H)).done;){try{ot=at(tt.value)}catch(gt){y(H,"throw",gt)}if(typeof ot=="object"&&ot&&c(I,ot))return ot}return new E(!1)}},99797:function(l,p,t){var r=t(96499),e=t(25001),o=t(10512);l.exports=function(s,u,f){var c,h;e(s);try{if(c=o(s,"return"),!c){if(u==="throw")throw f;return f}c=r(c,s)}catch(v){h=!0,c=v}if(u==="throw")throw f;if(h)throw c;return e(c),f}},26820:function(l,p,t){var r=t(24519).IteratorPrototype,e=t(5406),o=t(18526),s=t(78401),u=t(29107),f=function(){return this};l.exports=function(c,h,v,y){var m=h+" Iterator";return c.prototype=e(r,{next:o(+!y,v)}),s(c,m,!1,!0),u[m]=f,c}},44736:function(l,p,t){var r=t(96499),e=t(5406),o=t(90809),s=t(2725),u=t(18565),f=t(82367),c=t(10512),h=t(24519).IteratorPrototype,v=t(10659),y=t(99797),m=u("toStringTag"),E="IteratorHelper",I="WrapForValidIterator",O=f.set,T=function(F){var D=f.getterFor(F?I:E);return s(e(h),{next:function(){var $=D(this);if(F)return $.nextHandler();try{var B=$.done?void 0:$.nextHandler();return v(B,$.done)}catch(H){throw $.done=!0,H}},return:function(){var w=D(this),$=w.iterator;if(w.done=!0,F){var B=c($,"return");return B?r(B,$):v(void 0,!0)}if(w.inner)try{y(w.inner.iterator,"normal")}catch(H){return y($,"throw",H)}return $&&y($,"normal"),v(void 0,!0)}})},N=T(!0),M=T(!1);o(M,m,"Iterator Helper"),l.exports=function(F,D){var w=function(B,H){H?(H.iterator=B.iterator,H.next=B.next):H=B,H.type=D?I:E,H.nextHandler=F,H.counter=0,H.done=!1,O(this,H)};return w.prototype=D?N:M,w}},10218:function(l,p,t){var r=t(14304),e=t(96499),o=t(70457),s=t(86588),u=t(23583),f=t(26820),c=t(26313),h=t(15861),v=t(78401),y=t(90809),m=t(16142),E=t(18565),I=t(29107),O=t(24519),T=s.PROPER,N=s.CONFIGURABLE,M=O.IteratorPrototype,F=O.BUGGY_SAFARI_ITERATORS,D=E("iterator"),w="keys",$="values",B="entries",H=function(){return this};l.exports=function(X,Y,k,ot,st,tt,et){f(k,Y,ot);var at=function(ir){if(ir===st&&It)return It;if(!F&&ir&&ir in Ot)return Ot[ir];switch(ir){case w:return function(){return new k(this,ir)};case $:return function(){return new k(this,ir)};case B:return function(){return new k(this,ir)}}return function(){return new k(this)}},gt=Y+" Iterator",Pt=!1,Ot=X.prototype,Nt=Ot[D]||Ot["@@iterator"]||st&&Ot[st],It=!F&&Nt||at(st),qt=Y==="Array"&&Ot.entries||Nt,Qt,Jt,er;if(qt&&(Qt=c(qt.call(new X)),Qt!==Object.prototype&&Qt.next&&(!o&&c(Qt)!==M&&(h?h(Qt,M):u(Qt[D])||m(Qt,D,H)),v(Qt,gt,!0,!0),o&&(I[gt]=H))),T&&st===$&&Nt&&Nt.name!==$&&(!o&&N?y(Ot,"name",$):(Pt=!0,It=function(){return e(Nt,this)})),st)if(Jt={values:at($),keys:tt?It:at(w),entries:at(B)},et)for(er in Jt)(F||Pt||!(er in Ot))&&m(Ot,er,Jt[er]);else r({target:Y,proto:!0,forced:F||Pt},Jt);return(!o||et)&&Ot[D]!==It&&m(Ot,D,It,{name:st}),I[Y]=It,Jt}},96191:function(l,p,t){var r=t(96499),e=t(85156),o=t(25001),s=t(10613),u=t(44736),f=t(39969),c=u(function(){var h=this.iterator,v=o(r(this.next,h)),y=this.done=!!v.done;if(!y)return f(h,this.mapper,[v.value,this.counter++],!0)});l.exports=function(v){return o(this),e(v),new c(s(this),{mapper:v})}},24519:function(l,p,t){var r=t(72069),e=t(23583),o=t(37540),s=t(5406),u=t(26313),f=t(16142),c=t(18565),h=t(70457),v=c("iterator"),y=!1,m,E,I;[].keys&&(I=[].keys(),"next"in I?(E=u(u(I)),E!==Object.prototype&&(m=E)):y=!0);var O=!o(m)||r(function(){var T={};return m[v].call(T)!==T});O?m={}:h&&(m=s(m)),e(m[v])||f(m,v,function(){return this}),l.exports={IteratorPrototype:m,BUGGY_SAFARI_ITERATORS:y}},29107:function(l){l.exports={}},82628:function(l,p,t){var r=t(45344);l.exports=function(e){return r(e.length)}},13749:function(l,p,t){var r=t(11286),e=t(72069),o=t(23583),s=t(94879),u=t(92986),f=t(86588).CONFIGURABLE,c=t(84352),h=t(82367),v=h.enforce,y=h.get,m=String,E=Object.defineProperty,I=r("".slice),O=r("".replace),T=r([].join),N=u&&!e(function(){return E(function(){},"length",{value:8}).length!==8}),M=String(String).split("String"),F=l.exports=function(D,w,$){I(m(w),0,7)==="Symbol("&&(w="["+O(m(w),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),$&&$.getter&&(w="get "+w),$&&$.setter&&(w="set "+w),(!s(D,"name")||f&&D.name!==w)&&(u?E(D,"name",{value:w,configurable:!0}):D.name=w),N&&$&&s($,"arity")&&D.length!==$.arity&&E(D,"length",{value:$.arity});try{$&&s($,"constructor")&&$.constructor?u&&E(D,"prototype",{writable:!1}):D.prototype&&(D.prototype=void 0)}catch(H){}var B=v(D);return s(B,"source")||(B.source=T(M,typeof w=="string"?w:"")),D};Function.prototype.toString=F(function(){return o(this)&&y(this).source||c(this)},"toString")},1774:function(l,p,t){var r=t(11286),e=Map.prototype;l.exports={Map,set:r(e.set),get:r(e.get),has:r(e.has),remove:r(e.delete),proto:e}},98940:function(l){var p=Math.expm1,t=Math.exp;l.exports=!p||p(10)>22025.465794806718||p(10)<22025.465794806718||p(-2e-17)!==-2e-17?function(e){var o=+e;return o===0?o:o>-1e-6&&o<1e-6?o+o*o/2:t(o)-1}:p},10418:function(l,p,t){var r=t(93976),e=Math.abs,o=2220446049250313e-31,s=1/o,u=function(f){return f+s-s};l.exports=function(f,c,h,v){var y=+f,m=e(y),E=r(y);if(mh||O!==O?E*(1/0):E*O}},93279:function(l,p,t){var r=t(10418),e=11920928955078125e-23,o=34028234663852886e22,s=11754943508222875e-54;l.exports=Math.fround||function(f){return r(f,e,o,s)}},41942:function(l){var p=Math.log,t=Math.LOG10E;l.exports=Math.log10||function(e){return p(e)*t}},49366:function(l){var p=Math.log;l.exports=Math.log1p||function(r){var e=+r;return e>-1e-8&&e<1e-8?e-e*e/2:p(1+e)}},93976:function(l){l.exports=Math.sign||function(t){var r=+t;return r===0||r!==r?r:r<0?-1:1}},22459:function(l){var p=Math.ceil,t=Math.floor;l.exports=Math.trunc||function(e){var o=+e;return(o>0?t:p)(o)}},9709:function(l,p,t){var r=t(34246),e=t(28167),o=t(45526),s=t(23115).set,u=t(76895),f=t(5286),c=t(7307),h=t(67722),v=t(91707),y=r.MutationObserver||r.WebKitMutationObserver,m=r.document,E=r.process,I=r.Promise,O=e("queueMicrotask"),T,N,M,F,D;if(!O){var w=new u,$=function(){var B,H;for(v&&(B=E.domain)&&B.exit();H=w.get();)try{H()}catch(X){throw w.head&&T(),X}B&&B.enter()};!f&&!v&&!h&&y&&m?(N=!0,M=m.createTextNode(""),new y($).observe(M,{characterData:!0}),T=function(){M.data=N=!N}):!c&&I&&I.resolve?(F=I.resolve(void 0),F.constructor=I,D=o(F.then,F),T=function(){D($)}):v?T=function(){E.nextTick($)}:(s=o(s,r),T=function(){s($)}),O=function(B){w.head||T(),w.add(B)}}l.exports=O},24649:function(l,p,t){var r=t(85156),e=TypeError,o=function(s){var u,f;this.promise=new s(function(c,h){if(u!==void 0||f!==void 0)throw new e("Bad Promise constructor");u=c,f=h}),this.resolve=r(u),this.reject=r(f)};l.exports.f=function(s){return new o(s)}},15453:function(l,p,t){var r=t(17361);l.exports=function(e,o){return e===void 0?arguments.length<2?"":o:r(e)}},93483:function(l){var p=RangeError;l.exports=function(t){if(t===t)return t;throw new p("NaN is not allowed")}},92337:function(l,p,t){var r=t(11566),e=TypeError;l.exports=function(o){if(r(o))throw new e("The method doesn't accept regular expressions");return o}},98074:function(l,p,t){var r=t(34246),e=r.isFinite;l.exports=Number.isFinite||function(s){return typeof s=="number"&&e(s)}},25838:function(l,p,t){var r=t(34246),e=t(72069),o=t(11286),s=t(17361),u=t(85900).trim,f=t(77082),c=o("".charAt),h=r.parseFloat,v=r.Symbol,y=v&&v.iterator,m=1/h(f+"-0")!==-1/0||y&&!e(function(){h(Object(y))});l.exports=m?function(I){var O=u(s(I)),T=h(O);return T===0&&c(O,0)==="-"?-0:T}:h},23009:function(l,p,t){var r=t(34246),e=t(72069),o=t(11286),s=t(17361),u=t(85900).trim,f=t(77082),c=r.parseInt,h=r.Symbol,v=h&&h.iterator,y=/^[+-]?0x/i,m=o(y.exec),E=c(f+"08")!==8||c(f+"0x16")!==22||v&&!e(function(){c(Object(v))});l.exports=E?function(O,T){var N=u(s(O));return c(N,T>>>0||(m(y,N)?16:10))}:c},16667:function(l,p,t){var r=t(92986),e=t(11286),o=t(96499),s=t(72069),u=t(18350),f=t(24943),c=t(79591),h=t(49671),v=t(72181),y=Object.assign,m=Object.defineProperty,E=e([].concat);l.exports=!y||s(function(){if(r&&y({b:1},y(m({},"a",{enumerable:!0,get:function(){m(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var I={},O={},T=Symbol("assign detection"),N="abcdefghijklmnopqrst";return I[T]=7,N.split("").forEach(function(M){O[M]=M}),y({},I)[T]!==7||u(y({},O)).join("")!==N})?function(O,T){for(var N=h(O),M=arguments.length,F=1,D=f.f,w=c.f;M>F;)for(var $=v(arguments[F++]),B=D?E(u($),D($)):u($),H=B.length,X=0,Y;H>X;)Y=B[X++],(!r||o(w,$,Y))&&(N[Y]=$[Y]);return N}:y},5406:function(l,p,t){var r=t(25001),e=t(61963),o=t(75785),s=t(19423),u=t(96439),f=t(85501),c=t(44869),h=">",v="<",y="prototype",m="script",E=c("IE_PROTO"),I=function(){},O=function(D){return v+m+h+D+v+"/"+m+h},T=function(D){D.write(O("")),D.close();var w=D.parentWindow.Object;return D=null,w},N=function(){var D=f("iframe"),w="java"+m+":",$;return D.style.display="none",u.appendChild(D),D.src=String(w),$=D.contentWindow.document,$.open(),$.write(O("document.F=Object")),$.close(),$.F},M,F=function(){try{M=new ActiveXObject("htmlfile")}catch(w){}F=typeof document!="undefined"?document.domain&&M?T(M):N():T(M);for(var D=o.length;D--;)delete F[y][o[D]];return F()};s[E]=!0,l.exports=Object.create||function(w,$){var B;return w!==null?(I[y]=r(w),B=new I,I[y]=null,B[E]=w):B=F(),$===void 0?B:e.f(B,$)}},61963:function(l,p,t){var r=t(92986),e=t(356),o=t(7831),s=t(25001),u=t(36859),f=t(18350);p.f=r&&!e?Object.defineProperties:function(h,v){s(h);for(var y=u(v),m=f(v),E=m.length,I=0,O;E>I;)o.f(h,O=m[I++],y[O]);return h}},7831:function(l,p,t){var r=t(92986),e=t(52515),o=t(356),s=t(25001),u=t(50035),f=TypeError,c=Object.defineProperty,h=Object.getOwnPropertyDescriptor,v="enumerable",y="configurable",m="writable";p.f=r?o?function(I,O,T){if(s(I),O=u(O),s(T),typeof I=="function"&&O==="prototype"&&"value"in T&&m in T&&!T[m]){var N=h(I,O);N&&N[m]&&(I[O]=T.value,T={configurable:y in T?T[y]:N[y],enumerable:v in T?T[v]:N[v],writable:!1})}return c(I,O,T)}:c:function(I,O,T){if(s(I),O=u(O),s(T),e)try{return c(I,O,T)}catch(N){}if("get"in T||"set"in T)throw new f("Accessors not supported");return"value"in T&&(I[O]=T.value),I}},71349:function(l,p,t){var r=t(92986),e=t(96499),o=t(79591),s=t(18526),u=t(36859),f=t(50035),c=t(94879),h=t(52515),v=Object.getOwnPropertyDescriptor;p.f=r?v:function(m,E){if(m=u(m),E=f(E),h)try{return v(m,E)}catch(I){}if(c(m,E))return s(!e(o.f,m,E),m[E])}},92880:function(l,p,t){var r=t(14274),e=t(36859),o=t(83258).f,s=t(22806),u=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],f=function(c){try{return o(c)}catch(h){return s(u)}};l.exports.f=function(h){return u&&r(h)==="Window"?f(h):o(e(h))}},83258:function(l,p,t){var r=t(6242),e=t(75785),o=e.concat("length","prototype");p.f=Object.getOwnPropertyNames||function(u){return r(u,o)}},24943:function(l,p){p.f=Object.getOwnPropertySymbols},26313:function(l,p,t){var r=t(94879),e=t(23583),o=t(49671),s=t(44869),u=t(87501),f=s("IE_PROTO"),c=Object,h=c.prototype;l.exports=u?c.getPrototypeOf:function(v){var y=o(v);if(r(y,f))return y[f];var m=y.constructor;return e(m)&&y instanceof m?m.prototype:y instanceof c?h:null}},28174:function(l,p,t){var r=t(72069),e=t(37540),o=t(14274),s=t(72058),u=Object.isExtensible,f=r(function(){u(1)});l.exports=f||s?function(h){return!e(h)||s&&o(h)==="ArrayBuffer"?!1:u?u(h):!0}:u},95307:function(l,p,t){var r=t(11286);l.exports=r({}.isPrototypeOf)},6242:function(l,p,t){var r=t(11286),e=t(94879),o=t(36859),s=t(94319).indexOf,u=t(19423),f=r([].push);l.exports=function(c,h){var v=o(c),y=0,m=[],E;for(E in v)!e(u,E)&&e(v,E)&&f(m,E);for(;h.length>y;)e(v,E=h[y++])&&(~s(m,E)||f(m,E));return m}},18350:function(l,p,t){var r=t(6242),e=t(75785);l.exports=Object.keys||function(s){return r(s,e)}},79591:function(l,p){var t={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,e=r&&!t.call({1:2},1);p.f=e?function(s){var u=r(this,s);return!!u&&u.enumerable}:t},57629:function(l,p,t){var r=t(70457),e=t(34246),o=t(72069),s=t(66577);l.exports=r||!o(function(){if(!(s&&s<535)){var u=Math.random();__defineSetter__.call(null,u,function(){}),delete e[u]}})},15861:function(l,p,t){var r=t(84756),e=t(37540),o=t(2068),s=t(53408);l.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var u=!1,f={},c;try{c=r(Object.prototype,"__proto__","set"),c(f,[]),u=f instanceof Array}catch(h){}return function(v,y){return o(v),s(y),e(v)&&(u?c(v,y):v.__proto__=y),v}}():void 0)},8511:function(l,p,t){var r=t(92986),e=t(72069),o=t(11286),s=t(26313),u=t(18350),f=t(36859),c=t(79591).f,h=o(c),v=o([].push),y=r&&e(function(){var E=Object.create(null);return E[2]=2,!h(E,2)}),m=function(E){return function(I){for(var O=f(I),T=u(O),N=y&&s(O)===null,M=T.length,F=0,D=[],w;M>F;)w=T[F++],(!r||(N?w in O:h(O,w)))&&v(D,E?[w,O[w]]:O[w]);return D}};l.exports={entries:m(!0),values:m(!1)}},60105:function(l,p,t){var r=t(67878),e=t(9205);l.exports=r?{}.toString:function(){return"[object "+e(this)+"]"}},2064:function(l,p,t){var r=t(96499),e=t(23583),o=t(37540),s=TypeError;l.exports=function(u,f){var c,h;if(f==="string"&&e(c=u.toString)&&!o(h=r(c,u))||e(c=u.valueOf)&&!o(h=r(c,u))||f!=="string"&&e(c=u.toString)&&!o(h=r(c,u)))return h;throw new s("Can't convert object to primitive value")}},16885:function(l,p,t){var r=t(38941),e=t(11286),o=t(83258),s=t(24943),u=t(25001),f=e([].concat);l.exports=r("Reflect","ownKeys")||function(h){var v=o.f(u(h)),y=s.f;return y?f(v,y(h)):v}},75081:function(l,p,t){var r=t(34246);l.exports=r},67805:function(l){l.exports=function(p){try{return{error:!1,value:p()}}catch(t){return{error:!0,value:t}}}},37130:function(l,p,t){var r=t(34246),e=t(98844),o=t(23583),s=t(13278),u=t(84352),f=t(18565),c=t(21501),h=t(70457),v=t(44241),y=e&&e.prototype,m=f("species"),E=!1,I=o(r.PromiseRejectionEvent),O=s("Promise",function(){var T=u(e),N=T!==String(e);if(!N&&v===66||h&&!(y.catch&&y.finally))return!0;if(!v||v<51||!/native code/.test(T)){var M=new e(function(w){w(1)}),F=function(w){w(function(){},function(){})},D=M.constructor={};if(D[m]=F,E=M.then(function(){})instanceof F,!E)return!0}return!N&&(c==="BROWSER"||c==="DENO")&&!I});l.exports={CONSTRUCTOR:O,REJECTION_EVENT:I,SUBCLASSING:E}},98844:function(l,p,t){var r=t(34246);l.exports=r.Promise},87408:function(l,p,t){var r=t(25001),e=t(37540),o=t(24649);l.exports=function(s,u){if(r(s),e(u)&&u.constructor===s)return u;var f=o.f(s),c=f.resolve;return c(u),f.promise}},26035:function(l,p,t){var r=t(98844),e=t(97494),o=t(37130).CONSTRUCTOR;l.exports=o||!e(function(s){r.all(s).then(void 0,function(){})})},2594:function(l,p,t){var r=t(7831).f;l.exports=function(e,o,s){s in e||r(e,s,{configurable:!0,get:function(){return o[s]},set:function(u){o[s]=u}})}},76895:function(l){var p=function(){this.head=null,this.tail=null};p.prototype={add:function(t){var r={item:t,next:null},e=this.tail;e?e.next=r:this.head=r,this.tail=r},get:function(){var t=this.head;if(t){var r=this.head=t.next;return r===null&&(this.tail=null),t.item}}},l.exports=p},33064:function(l,p,t){var r=t(96499),e=t(25001),o=t(23583),s=t(14274),u=t(44381),f=TypeError;l.exports=function(c,h){var v=c.exec;if(o(v)){var y=r(v,c,h);return y!==null&&e(y),y}if(s(c)==="RegExp")return r(u,c,h);throw new f("RegExp#exec called on incompatible receiver")}},44381:function(l,p,t){var r=t(96499),e=t(11286),o=t(17361),s=t(29833),u=t(39807),f=t(96731),c=t(5406),h=t(82367).get,v=t(76769),y=t(85220),m=f("native-string-replace",String.prototype.replace),E=RegExp.prototype.exec,I=E,O=e("".charAt),T=e("".indexOf),N=e("".replace),M=e("".slice),F=function(){var B=/a/,H=/b*/g;return r(E,B,"a"),r(E,H,"a"),B.lastIndex!==0||H.lastIndex!==0}(),D=u.BROKEN_CARET,w=/()??/.exec("")[1]!==void 0,$=F||w||D||v||y;$&&(I=function(H){var X=this,Y=h(X),k=o(H),ot=Y.raw,st,tt,et,at,gt,Pt,Ot;if(ot)return ot.lastIndex=X.lastIndex,st=r(I,ot,k),X.lastIndex=ot.lastIndex,st;var Nt=Y.groups,It=D&&X.sticky,qt=r(s,X),Qt=X.source,Jt=0,er=k;if(It&&(qt=N(qt,"y",""),T(qt,"g")===-1&&(qt+="g"),er=M(k,X.lastIndex),X.lastIndex>0&&(!X.multiline||X.multiline&&O(k,X.lastIndex-1)!==` +`),x=d?S.length-1:1;n.html(""),S.forEach((A,P)=>{n.append("tspan").attr("x",0).attr("dy",`${P===0?i[0]*x:i[1]}em`).text(A)})}}}function Dl(n){const{x:a,y:i,width:d,height:g}=n.getBBox();return[{x:a,y:i+g},{x:a,y:i},{x:a+d,y:i},{x:a+d,y:i+g}]}function mf(n){const{width:a,height:i}=n.getBoundingClientRect(),d=Dl(n),g=d[0].x,S=Math.min(d[0].y,d[1].y);return{x:g,y:S,width:a,height:i}}function xf(n,a){var i;const d=n&&((i=n.touches||n.sourceEvent&&n.sourceEvent.touches)==null?void 0:i[0]);let g=[0,0];try{g=d3Pointer(d||n,a)}catch(S){}return g.map(S=>isNaN(S)?0:S)}function Fl(n){const{event:a,$el:i}=n,d=i.subchart.main||i.main;let g;return a&&a.type==="brush"?g=a.selection:d&&(g=d.select(".bb-brush").node())&&(g=d3BrushSelection(g)),g}function Sf(n){return!("rect"in n)||"rect"in n&&n.hasAttribute("width")&&n.rect.width!==+n.getAttribute("width")?n.rect=n.getBoundingClientRect():n.rect}function Ef(n=!0,a=0,i=1e4){const d=window.crypto||window.msCrypto,g=d?a+d.getRandomValues(new Uint32Array(1))[0]%(i-a+1):Math.floor(Math.random()*(i-a)+a);return n?String(g):g}function Eo(n,a,i,d,g){if(i>d)return-1;const S=Math.floor((i+d)/2);let{x,w:A=0}=n[S];return g&&(x=n[S].y,A=n[S].h),a>=x&&a<=x+A?S:a{if(De(i)&&i.constructor){const d=new i.constructor;for(const g in i)d[g]=a(i[g]);return d}return i};return n.map(i=>a(i)).reduce((i,d)=>xo(xo({},i),d))}function Ll(n={},a){aa(a)&&a.forEach(i=>Ll(n,i));for(const i in a)/^\d+$/.test(i)||i in n||(n[i]=a[i]);return n}const Of=n=>n.charAt(0).toUpperCase()+n.slice(1);function Af(n,a="-"){return n.split(a).map((i,d)=>d?i.charAt(0).toUpperCase()+i.slice(1).toLowerCase():i.toLowerCase()).join("")}const $l=n=>[].slice.call(n);function Rf(n,a,i){const{rootSelector:d="",sheet:g}=n,x=`${d} ${(A=>A.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(a)} {${i.join(";")}}`;return g[g.insertRule?"insertRule":"addRule"](x,g.cssRules.length)}function Pf(n){let a=[];return n.forEach(i=>{var d;try{i.cssRules&&i.cssRules.length&&(a=a.concat($l(i.cssRules)))}catch(g){(d=window.console)==null||d.warn(`Error while reading rules from ${i.href}: ${g.toString()}`)}}),a}function Cf(n){var a,i,d,g,S,x;return{x:((i=(a=window.pageXOffset)!=null?a:window.scrollX)!=null?i:0)+((d=n.scrollLeft)!=null?d:0),y:((S=(g=window.pageYOffset)!=null?g:window.scrollY)!=null?S:0)+((x=n.scrollTop)!=null?x:0)}}function Nf(n,a=0,i=0,d=!0){const g=new DOMPoint(a,i),S=n.getScreenCTM(),x=g.matrixTransform(d?S==null?void 0:S.inverse():S);if(d===!1){const A=n.getBoundingClientRect();x.x-=A.x,x.y-=A.y}return x}function Mf(n){const a=n?n.transform:null,i=a&&a.baseVal;return i&&i.numberOfItems?i.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function Df(n){const a=n[0]instanceof Date,i=(a?n.map(Number):n).filter((d,g,S)=>S.indexOf(d)===g);return a?i.map(d=>new Date(d)):i}function Ff(n){return n&&n.length?n.reduce((a,i)=>a.concat(i)):[]}function oa(n,...a){if(!a.length||a.length===1&&!a[0])return n;const i=a.shift();return De(n)&&De(i)&&Object.keys(i).forEach(d=>{const g=i[d];De(g)?(!n[d]&&(n[d]={}),n[d]=oa(n[d],g)):n[d]=aa(g)?g.concat():g}),oa(n,...a)}function bl(n,a=!0){let i;return n[0]instanceof Date?i=a?(d,g)=>d-g:(d,g)=>g-d:a&&!n.every(isNaN)?i=(d,g)=>d-g:a||(i=(d,g)=>d>g&&-1||dMl(d));return i.length?na(i[0])?i=Math[n](...i):i[0]instanceof Date&&(i=bl(i,n==="min")[0]):i=void 0,i}const $f=(n,a,i=1)=>{const d=[],g=Math.max(0,Math.ceil((a-n)/i))|0;for(let S=n;S{const n=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(a,i,d=n())=>{a.dispatchEvent(new MouseEvent(i,d))}}catch(a){return(i,d,g=n())=>{const S=Tl.createEvent("MouseEvent");S.initMouseEvent(d,g.bubbles,g.cancelable,Ne,0,g.screenX,g.screenY,g.clientX,g.clientY,!1,!1,!1,!1,0,null),i.dispatchEvent(S)}}})(),touch:(n,a,i)=>{const d=new Touch(oa({identifier:Date.now(),target:n,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},i));n.dispatchEvent(new TouchEvent(a,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[d],targetTouches:[],changedTouches:[d]}))}};function Uf(n,a){let i=n;for(const d in a)i=i.replace(new RegExp(`{=${d}}`,"g"),a[d]);return i}function Bf(n){var a;let i;if(n instanceof Date)i=n;else if(Me(n)){const{config:d,format:g}=this;i=(a=g.dataTime(d.data_xFormat)(n))!=null?a:new Date(n)}else na(n)&&!isNaN(n)&&(i=new Date(+n));return(!i||isNaN(+i))&&console&&console.error&&console.error(`Failed to parse x '${n}' to Date object`),i}function jf(n){const a=n.attr("viewBox");return a?/(\d+(\.\d+)?){3}/.test(a):!1}function wf(n,a,i=!1){const d=!!n.node;let g=!1;for(const[S,x]of Object.entries(a))if(g=d?n.style(S)===x:n.style[S]===x,i===!1&&g)break;return g}function Gf(){var n,a;return((n=document)==null?void 0:n.hidden)===!1||((a=document)==null?void 0:a.visibilityState)==="visible"}function Vf(n,a){const{DocumentTouch:i,matchMedia:d,navigator:g}=window,S=d==null?void 0:d("(pointer:coarse)").matches;let x=!1;if(a)if(g&&"maxTouchPoints"in g)x=g.maxTouchPoints>0;else if("ontouchmove"in window||i&&document instanceof i)x=!0;else if(S)x=!0;else{const P=g.userAgent;x=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(P)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(P)}return n&&!S&&(d==null?void 0:d("(pointer:fine)").matches)&&"mouse"||x&&"touch"||"mouse"}function Ul(n,a){a()===!1?requestAnimationFrame(()=>Ul(n,a)):n()}function Bl(n){const a=this.config;let i,d,g;const S=()=>{const x=d.shift();if(x&&i&&ea(i)&&x in i)return i=i[x],S();if(!x)return i};Object.keys(a).forEach(x=>{i=n,d=x.split("_"),g=S(),So(g)&&(a[x]=g)}),this.api&&(this.state.orgConfig=n)}var jl=Object.defineProperty,wl=(n,a,i)=>a in n?jl(n,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[a]=i,sa=(n,a,i)=>wl(n,typeof a!="symbol"?a+"":a,i);class Io{constructor(a={}){sa(this,"$$"),sa(this,"options"),this.options=a}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(a=>{this[a]=null,delete this[a]})}}sa(Io,"version","3.14.2");class Gl{constructor(){return{selector:void 0,extent:1,area:0}}}var Vl=Object.defineProperty,Hl=(n,a,i)=>a in n?Vl(n,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[a]=i,Wl=(n,a,i)=>Hl(n,typeof a!="symbol"?a+"":a,i);class Kl extends Io{constructor(a){return super(a),Wl(this,"config"),this.config=new Gl,this}$init(){Bl.call(this,this.options)}$redraw(){const{$$:{$el:a},config:{selector:i}}=this,d=i?a.main.selectAll(i):a.text;!d.empty()&&this.preventLabelOverlap(d)}generateVoronoi(a){const{$$:i}=this,{scale:d}=i,[g,S]=["x","y"].map(x=>d[x].domain());return[g[1],S[0]]=[S[0],g[1]],Be.from(a).voronoi([...g,...S])}preventLabelOverlap(a){const{extent:i,area:d}=this.config,g=a.data().map(A=>[A.index,A.value]),S=this.generateVoronoi(g);let x=0;a.each(function(){const A=S.cellPolygon(x);if(A&&this){const[P,R]=g[x],[C,j]=Xo(A),U=Math.abs(Jo(A)),L=Math.round(Math.atan2(j-R,C-P)/Math.PI*2),Z=i*(L===0?1:-1),b=L===-1?-i:i+5,G=Math.abs(L)===1?"middle":L===0?"start":"end";this.style.display=U=X&&(!B||Y))k=T(w,0,X);else{var ot=B&&!Y&&M?{maxByteLength:M(w)}:void 0;k=new y(X,ot);for(var st=new m(w),tt=new m(k),et=E(X,H),at=0;at>8&255]},Ir=function(bt){return[bt&255,bt>>8&255,bt>>16&255,bt>>24&255]},pr=function(bt){return bt[3]<<24|bt[2]<<16|bt[1]<<8|bt[0]},Or=function(bt){return Er(O(bt),23,4)},Ur=function(bt){return Er(bt,52,8)},Lr=function(bt,Ht,Ft){c(bt[st],Ht,{configurable:!0,get:function(){return Ft(this)[Ht]}})},Pr=function(bt,Ht,Ft,cr){var vr=gt(bt),ar=I(Ft),rr=!!cr;if(ar+Ht>vr.byteLength)throw new ir(et);var jr=vr.bytes,wr=ar+vr.byteOffset,yt=D(jr,wr,wr+Ht);return rr?yt:xr(yt)},mr=function(bt,Ht,Ft,cr,vr,ar){var rr=gt(bt),jr=I(Ft),wr=cr(+vr),yt=!!ar;if(jr+Ht>rr.byteLength)throw new ir(et);for(var jt=rr.bytes,Gt=jr+rr.byteOffset,Bt=0;Btar)throw new ir("Wrong offset");if(cr=cr===void 0?ar-rr:E(cr),rr+cr>ar)throw new ir(tt);Pt(this,{type:ot,buffer:Ht,byteLength:cr,byteOffset:rr,bytes:vr.bytes}),o||(this.buffer=Ht,this.byteLength=cr,this.byteOffset=rr)},Qt=qt[st],o&&(Lr(Nt,"byteLength",at),Lr(qt,"buffer",gt),Lr(qt,"byteLength",gt),Lr(qt,"byteOffset",gt)),h(Qt,{getInt8:function(Ht){return Pr(this,1,Ht)[0]<<24>>24},getUint8:function(Ht){return Pr(this,1,Ht)[0]},getInt16:function(Ht){var Ft=Pr(this,2,Ht,arguments.length>1?arguments[1]:!1);return(Ft[1]<<8|Ft[0])<<16>>16},getUint16:function(Ht){var Ft=Pr(this,2,Ht,arguments.length>1?arguments[1]:!1);return Ft[1]<<8|Ft[0]},getInt32:function(Ht){return pr(Pr(this,4,Ht,arguments.length>1?arguments[1]:!1))},getUint32:function(Ht){return pr(Pr(this,4,Ht,arguments.length>1?arguments[1]:!1))>>>0},getFloat32:function(Ht){return Yt(Pr(this,4,Ht,arguments.length>1?arguments[1]:!1),23)},getFloat64:function(Ht){return Yt(Pr(this,8,Ht,arguments.length>1?arguments[1]:!1),52)},setInt8:function(Ht,Ft){mr(this,1,Ht,tr,Ft)},setUint8:function(Ht,Ft){mr(this,1,Ht,tr,Ft)},setInt16:function(Ht,Ft){mr(this,2,Ht,Sr,Ft,arguments.length>2?arguments[2]:!1)},setUint16:function(Ht,Ft){mr(this,2,Ht,Sr,Ft,arguments.length>2?arguments[2]:!1)},setInt32:function(Ht,Ft){mr(this,4,Ht,Ir,Ft,arguments.length>2?arguments[2]:!1)},setUint32:function(Ht,Ft){mr(this,4,Ht,Ir,Ft,arguments.length>2?arguments[2]:!1)},setFloat32:function(Ht,Ft){mr(this,4,Ht,Or,Ft,arguments.length>2?arguments[2]:!1)},setFloat64:function(Ht,Ft){mr(this,8,Ht,Ur,Ft,arguments.length>2?arguments[2]:!1)}});else{var Mr=X&&Ot.name!==k;!v(function(){Ot(1)})||!v(function(){new Ot(-1)})||v(function(){return new Ot,new Ot(1.5),new Ot(NaN),Ot.length!==1||Mr&&!Y})?(Nt=function(Ht){return y(this,It),w(new Ot(I(Ht)),this,Nt)},Nt[st]=It,It.constructor=Nt,$(Nt,Ot)):Mr&&Y&&f(Ot,"name",k),M&&N(Qt)!==Jt&&M(Qt,Jt);var Tr=new qt(new Nt(2)),yr=e(Qt.setInt8);Tr.setInt8(0,2147483648),Tr.setInt8(1,2147483649),(Tr.getInt8(0)||!Tr.getInt8(1))&&h(Qt,{setInt8:function(Ht,Ft){yr(this,Ht,Ft<<24>>24)},setUint8:function(Ht,Ft){yr(this,Ht,Ft<<24>>24)}},{unsafe:!0})}B(Nt,k),B(qt,ot),l.exports={ArrayBuffer:Nt,DataView:qt}},81499:function(l,p,t){var r=t(49671),e=t(4652),o=t(82628),s=t(12384),u=Math.min;l.exports=[].copyWithin||function(c,h){var v=r(this),y=o(v),m=e(c,y),E=e(h,y),I=arguments.length>2?arguments[2]:void 0,O=u((I===void 0?y:e(I,y))-E,y-m),T=1;for(E0;)E in v?v[m]=v[E]:s(v,m),m+=T,E+=T;return v}},43011:function(l,p,t){var r=t(49671),e=t(4652),o=t(82628);l.exports=function(u){for(var f=r(this),c=o(f),h=arguments.length,v=e(h>1?arguments[1]:void 0,c),y=h>2?arguments[2]:void 0,m=y===void 0?c:e(y,c);m>v;)f[v++]=u;return f}},13349:function(l,p,t){var r=t(66655).forEach,e=t(6148),o=e("forEach");l.exports=o?[].forEach:function(u){return r(this,u,arguments.length>1?arguments[1]:void 0)}},5220:function(l,p,t){var r=t(82628);l.exports=function(e,o,s){for(var u=0,f=arguments.length>2?s:r(o),c=new e(f);f>u;)c[u]=o[u++];return c}},48258:function(l,p,t){var r=t(45526),e=t(96499),o=t(49671),s=t(39969),u=t(48199),f=t(11051),c=t(82628),h=t(84082),v=t(90619),y=t(81077),m=Array;l.exports=function(I){var O=o(I),T=f(this),N=arguments.length,M=N>1?arguments[1]:void 0,F=M!==void 0;F&&(M=r(M,N>2?arguments[2]:void 0));var D=y(O),w=0,$,B,H,X,Y,k;if(D&&!(this===m&&u(D)))for(B=T?new this:[],X=v(O,D),Y=X.next;!(H=e(Y,X)).done;w++)k=F?s(X,M,[H.value,w],!0):H.value,h(B,w,k);else for($=c(O),B=T?new this($):m($);$>w;w++)k=F?M(O[w],w):O[w],h(B,w,k);return B.length=w,B}},94319:function(l,p,t){var r=t(36859),e=t(4652),o=t(82628),s=function(u){return function(f,c,h){var v=r(f),y=o(v);if(y===0)return!u&&-1;var m=e(h,y),E;if(u&&c!==c){for(;y>m;)if(E=v[m++],E!==E)return!0}else for(;y>m;m++)if((u||m in v)&&v[m]===c)return u||m||0;return!u&&-1}};l.exports={includes:s(!0),indexOf:s(!1)}},73849:function(l,p,t){var r=t(45526),e=t(72181),o=t(49671),s=t(82628),u=function(f){var c=f===1;return function(h,v,y){for(var m=o(h),E=e(m),I=s(E),O=r(v,y),T,N;I-- >0;)if(T=E[I],N=O(T,I,m),N)switch(f){case 0:return T;case 1:return I}return c?-1:void 0}};l.exports={findLast:u(0),findLastIndex:u(1)}},66655:function(l,p,t){var r=t(45526),e=t(11286),o=t(72181),s=t(49671),u=t(82628),f=t(62083),c=e([].push),h=function(v){var y=v===1,m=v===2,E=v===3,I=v===4,O=v===6,T=v===7,N=v===5||O;return function(M,F,D,w){for(var $=s(M),B=o($),H=u(B),X=r(F,D),Y=0,k=w||f,ot=y?k(M,H):m||T?k(M,0):void 0,st,tt;H>Y;Y++)if((N||Y in B)&&(st=B[Y],tt=X(st,Y,$),v))if(y)ot[Y]=tt;else if(tt)switch(v){case 3:return!0;case 5:return st;case 6:return Y;case 2:c(ot,st)}else switch(v){case 4:return!1;case 7:c(ot,st)}return O?-1:E||I?I:ot}};l.exports={forEach:h(0),map:h(1),filter:h(2),some:h(3),every:h(4),find:h(5),findIndex:h(6),filterReject:h(7)}},58465:function(l,p,t){var r=t(66543),e=t(36859),o=t(12105),s=t(82628),u=t(6148),f=Math.min,c=[].lastIndexOf,h=!!c&&1/[1].lastIndexOf(1,-0)<0,v=u("lastIndexOf"),y=h||!v;l.exports=y?function(E){if(h)return r(c,this,arguments)||0;var I=e(this),O=s(I);if(O===0)return-1;var T=O-1;for(arguments.length>1&&(T=f(T,o(arguments[1]))),T<0&&(T=O+T);T>=0;T--)if(T in I&&I[T]===E)return T||0;return-1}:c},52183:function(l,p,t){var r=t(72069),e=t(18565),o=t(44241),s=e("species");l.exports=function(u){return o>=51||!r(function(){var f=[],c=f.constructor={};return c[s]=function(){return{foo:1}},f[u](Boolean).foo!==1})}},6148:function(l,p,t){var r=t(72069);l.exports=function(e,o){var s=[][e];return!!s&&r(function(){s.call(null,o||function(){return 1},1)})}},97264:function(l,p,t){var r=t(85156),e=t(49671),o=t(72181),s=t(82628),u=TypeError,f="Reduce of empty array with no initial value",c=function(h){return function(v,y,m,E){var I=e(v),O=o(I),T=s(I);if(r(y),T===0&&m<2)throw new u(f);var N=h?T-1:0,M=h?-1:1;if(m<2)for(;;){if(N in O){E=O[N],N+=M;break}if(N+=M,h?N<0:T<=N)throw new u(f)}for(;h?N>=0:T>N;N+=M)N in O&&(E=y(E,O[N],N,I));return E}};l.exports={left:c(!1),right:c(!0)}},2213:function(l,p,t){var r=t(92986),e=t(3438),o=TypeError,s=Object.getOwnPropertyDescriptor,u=r&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(f){return f instanceof TypeError}}();l.exports=u?function(f,c){if(e(f)&&!s(f,"length").writable)throw new o("Cannot set read only .length");return f.length=c}:function(f,c){return f.length=c}},22806:function(l,p,t){var r=t(11286);l.exports=r([].slice)},13270:function(l,p,t){var r=t(22806),e=Math.floor,o=function(s,u){var f=s.length;if(f<8)for(var c=1,h,v;c0;)s[v]=s[--v];v!==c++&&(s[v]=h)}else for(var y=e(f/2),m=o(r(s,0,y),u),E=o(r(s,y),u),I=m.length,O=E.length,T=0,N=0;T=h||y<0)throw new o("Incorrect index");for(var m=new u(h),E=0;E1?arguments[1]:void 0),tt;tt=tt?tt.next:ot.first;)for(st(tt.value,tt.key,this);tt&&tt.removed;)tt=tt.previous},has:function(k){return!!X(this,k)}}),o($,F?{get:function(k){var ot=X(this,k);return ot&&ot.value},set:function(k,ot){return H(this,k===0?0:k,ot)}}:{add:function(k){return H(this,k=k===0?0:k,k)}}),m&&e($,"size",{configurable:!0,get:function(){return B(this).size}}),w},setStrong:function(N,M,F){var D=M+" Iterator",w=T(M),$=T(D);h(N,M,function(B,H){O(this,{type:D,target:B,state:w(B),kind:H,last:null})},function(){for(var B=$(this),H=B.kind,X=B.last;X&&X.removed;)X=X.previous;return!B.target||!(B.last=X=X?X.next:B.state.first)?(B.target=null,v(void 0,!0)):v(H==="keys"?X.key:H==="values"?X.value:[X.key,X.value],!1)},F?"entries":"values",!F,!0),y(M)}}},94667:function(l,p,t){var r=t(11286),e=t(2725),o=t(31853).getWeakData,s=t(12833),u=t(25001),f=t(5683),c=t(37540),h=t(55902),v=t(66655),y=t(94879),m=t(82367),E=m.set,I=m.getterFor,O=v.find,T=v.findIndex,N=r([].splice),M=0,F=function($){return $.frozen||($.frozen=new D)},D=function(){this.entries=[]},w=function($,B){return O($.entries,function(H){return H[0]===B})};D.prototype={get:function($){var B=w(this,$);if(B)return B[1]},has:function($){return!!w(this,$)},set:function($,B){var H=w(this,$);H?H[1]=B:this.entries.push([$,B])},delete:function($){var B=T(this.entries,function(H){return H[0]===$});return~B&&N(this.entries,B,1),!!~B}},l.exports={getConstructor:function($,B,H,X){var Y=$(function(tt,et){s(tt,k),E(tt,{type:B,id:M++,frozen:null}),f(et)||h(et,tt[X],{that:tt,AS_ENTRIES:H})}),k=Y.prototype,ot=I(B),st=function(tt,et,at){var gt=ot(tt),Pt=o(u(et),!0);return Pt===!0?F(gt).set(et,at):Pt[gt.id]=at,tt};return e(k,{delete:function(tt){var et=ot(this);if(!c(tt))return!1;var at=o(tt);return at===!0?F(et).delete(tt):at&&y(at,et.id)&&delete at[et.id]},has:function(et){var at=ot(this);if(!c(et))return!1;var gt=o(et);return gt===!0?F(at).has(et):gt&&y(gt,at.id)}}),e(k,H?{get:function(et){var at=ot(this);if(c(et)){var gt=o(et);if(gt===!0)return F(at).get(et);if(gt)return gt[at.id]}},set:function(et,at){return st(this,et,at)}}:{add:function(et){return st(this,et,!0)}}),Y}}},89378:function(l,p,t){var r=t(14304),e=t(34246),o=t(11286),s=t(13278),u=t(16142),f=t(31853),c=t(55902),h=t(12833),v=t(23583),y=t(5683),m=t(37540),E=t(72069),I=t(97494),O=t(78401),T=t(32345);l.exports=function(N,M,F){var D=N.indexOf("Map")!==-1,w=N.indexOf("Weak")!==-1,$=D?"set":"add",B=e[N],H=B&&B.prototype,X=B,Y={},k=function(Pt){var Ot=o(H[Pt]);u(H,Pt,Pt==="add"?function(It){return Ot(this,It===0?0:It),this}:Pt==="delete"?function(Nt){return w&&!m(Nt)?!1:Ot(this,Nt===0?0:Nt)}:Pt==="get"?function(It){return w&&!m(It)?void 0:Ot(this,It===0?0:It)}:Pt==="has"?function(It){return w&&!m(It)?!1:Ot(this,It===0?0:It)}:function(It,qt){return Ot(this,It===0?0:It,qt),this})},ot=s(N,!v(B)||!(w||H.forEach&&!E(function(){new B().entries().next()})));if(ot)X=F.getConstructor(M,N,D,$),f.enable();else if(s(N,!0)){var st=new X,tt=st[$](w?{}:-0,1)!==st,et=E(function(){st.has(1)}),at=I(function(Pt){new B(Pt)}),gt=!w&&E(function(){for(var Pt=new B,Ot=5;Ot--;)Pt[$](Ot,Ot);return!Pt.has(-0)});at||(X=M(function(Pt,Ot){h(Pt,H);var Nt=T(new B,Pt,X);return y(Ot)||c(Ot,Nt[$],{that:Nt,AS_ENTRIES:D}),Nt}),X.prototype=H,H.constructor=X),(et||gt)&&(k("delete"),k("has"),D&&k("get")),(gt||tt)&&k($),w&&H.clear&&delete H.clear}return Y[N]=X,r({global:!0,constructor:!0,forced:X!==B},Y),O(X,N),w||F.setStrong(X,N,D),X}},93706:function(l,p,t){var r=t(94879),e=t(16885),o=t(71349),s=t(7831);l.exports=function(u,f,c){for(var h=e(f),v=s.f,y=o.f,m=0;m"+y+""}},10659:function(l){l.exports=function(p,t){return{value:p,done:t}}},90809:function(l,p,t){var r=t(92986),e=t(7831),o=t(18526);l.exports=r?function(s,u,f){return e.f(s,u,o(1,f))}:function(s,u,f){return s[u]=f,s}},18526:function(l){l.exports=function(p,t){return{enumerable:!(p&1),configurable:!(p&2),writable:!(p&4),value:t}}},84082:function(l,p,t){var r=t(92986),e=t(7831),o=t(18526);l.exports=function(s,u,f){r?e.f(s,u,o(0,f)):s[u]=f}},11890:function(l,p,t){var r=t(11286),e=t(72069),o=t(61607).start,s=RangeError,u=isFinite,f=Math.abs,c=Date.prototype,h=c.toISOString,v=r(c.getTime),y=r(c.getUTCDate),m=r(c.getUTCFullYear),E=r(c.getUTCHours),I=r(c.getUTCMilliseconds),O=r(c.getUTCMinutes),T=r(c.getUTCMonth),N=r(c.getUTCSeconds);l.exports=e(function(){return h.call(new Date(-50000000000001))!=="0385-07-25T07:06:39.999Z"})||!e(function(){h.call(new Date(NaN))})?function(){if(!u(v(this)))throw new s("Invalid time value");var F=this,D=m(F),w=I(F),$=D<0?"-":D>9999?"+":"";return $+o(f(D),$?6:4,0)+"-"+o(T(F)+1,2,0)+"-"+o(y(F),2,0)+"T"+o(E(F),2,0)+":"+o(O(F),2,0)+":"+o(N(F),2,0)+"."+o(w,3,0)+"Z"}:h},84306:function(l,p,t){var r=t(25001),e=t(2064),o=TypeError;l.exports=function(s){if(r(this),s==="string"||s==="default")s="string";else if(s!=="number")throw new o("Incorrect hint");return e(this,s)}},85500:function(l,p,t){var r=t(13749),e=t(7831);l.exports=function(o,s,u){return u.get&&r(u.get,s,{getter:!0}),u.set&&r(u.set,s,{setter:!0}),e.f(o,s,u)}},16142:function(l,p,t){var r=t(23583),e=t(7831),o=t(13749),s=t(36003);l.exports=function(u,f,c,h){h||(h={});var v=h.enumerable,y=h.name!==void 0?h.name:f;if(r(c)&&o(c,y,h),h.global)v?u[f]=c:s(f,c);else{try{h.unsafe?u[f]&&(v=!0):delete u[f]}catch(m){}v?u[f]=c:e.f(u,f,{value:c,enumerable:!1,configurable:!h.nonConfigurable,writable:!h.nonWritable})}return u}},2725:function(l,p,t){var r=t(16142);l.exports=function(e,o,s){for(var u in o)r(e,u,o[u],s);return e}},36003:function(l,p,t){var r=t(34246),e=Object.defineProperty;l.exports=function(o,s){try{e(r,o,{value:s,configurable:!0,writable:!0})}catch(u){r[o]=s}return s}},12384:function(l,p,t){var r=t(82453),e=TypeError;l.exports=function(o,s){if(!delete o[s])throw new e("Cannot delete property "+r(s)+" of "+r(o))}},92986:function(l,p,t){var r=t(72069);l.exports=!r(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})},63741:function(l,p,t){var r=t(34246),e=t(81191),o=t(99050),s=r.structuredClone,u=r.ArrayBuffer,f=r.MessageChannel,c=!1,h,v,y,m;if(o)c=function(E){s(E,{transfer:[E]})};else if(u)try{f||(h=e("worker_threads"),h&&(f=h.MessageChannel)),f&&(v=new f,y=new u(2),m=function(E){v.port1.postMessage(null,[E])},y.byteLength===2&&(m(y),y.byteLength===0&&(c=m)))}catch(E){}l.exports=c},85501:function(l,p,t){var r=t(34246),e=t(37540),o=r.document,s=e(o)&&e(o.createElement);l.exports=function(u){return s?o.createElement(u):{}}},20095:function(l){var p=TypeError,t=9007199254740991;l.exports=function(r){if(r>t)throw p("Maximum allowed index exceeded");return r}},74408:function(l){l.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},93014:function(l){l.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},39882:function(l,p,t){var r=t(85501),e=r("span").classList,o=e&&e.constructor&&e.constructor.prototype;l.exports=o===Object.prototype?void 0:o},75785:function(l){l.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},507:function(l,p,t){var r=t(18257),e=r.match(/firefox\/(\d+)/i);l.exports=!!e&&+e[1]},17417:function(l,p,t){var r=t(18257);l.exports=/MSIE|Trident/.test(r)},7307:function(l,p,t){var r=t(18257);l.exports=/ipad|iphone|ipod/i.test(r)&&typeof Pebble!="undefined"},5286:function(l,p,t){var r=t(18257);l.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(r)},91707:function(l,p,t){var r=t(21501);l.exports=r==="NODE"},67722:function(l,p,t){var r=t(18257);l.exports=/web0s(?!.*chrome)/i.test(r)},18257:function(l,p,t){var r=t(34246),e=r.navigator,o=e&&e.userAgent;l.exports=o?String(o):""},44241:function(l,p,t){var r=t(34246),e=t(18257),o=r.process,s=r.Deno,u=o&&o.versions||s&&s.version,f=u&&u.v8,c,h;f&&(c=f.split("."),h=c[0]>0&&c[0]<4?1:+(c[0]+c[1])),!h&&e&&(c=e.match(/Edge\/(\d+)/),(!c||c[1]>=74)&&(c=e.match(/Chrome\/(\d+)/),c&&(h=+c[1]))),l.exports=h},66577:function(l,p,t){var r=t(18257),e=r.match(/AppleWebKit\/(\d+)\./);l.exports=!!e&&+e[1]},21501:function(l,p,t){var r=t(34246),e=t(18257),o=t(14274),s=function(u){return e.slice(0,u.length)===u};l.exports=function(){return s("Bun/")?"BUN":s("Cloudflare-Workers")?"CLOUDFLARE":s("Deno/")?"DENO":s("Node.js/")?"NODE":r.Bun&&typeof Bun.version=="string"?"BUN":r.Deno&&typeof Deno.version=="object"?"DENO":o(r.process)==="process"?"NODE":r.window&&r.document?"BROWSER":"REST"}()},40851:function(l,p,t){var r=t(11286),e=Error,o=r("".replace),s=function(c){return String(new e(c).stack)}("zxcasd"),u=/\n\s*at [^:]*:[^\n]*/,f=u.test(s);l.exports=function(c,h){if(f&&typeof c=="string"&&!e.prepareStackTrace)for(;h--;)c=o(c,u,"");return c}},97077:function(l,p,t){var r=t(90809),e=t(40851),o=t(16929),s=Error.captureStackTrace;l.exports=function(u,f,c,h){o&&(s?s(u,f):r(u,"stack",e(c,h)))}},16929:function(l,p,t){var r=t(72069),e=t(18526);l.exports=!r(function(){var o=new Error("a");return"stack"in o?(Object.defineProperty(o,"stack",e(1,7)),o.stack!==7):!0})},58434:function(l,p,t){var r=t(92986),e=t(72069),o=t(25001),s=t(15453),u=Error.prototype.toString,f=e(function(){if(r){var c=Object.create(Object.defineProperty({},"name",{get:function(){return this===c}}));if(u.call(c)!=="true")return!0}return u.call({message:1,name:2})!=="2: 1"||u.call({})!=="Error"});l.exports=f?function(){var h=o(this),v=s(h.name,"Error"),y=s(h.message);return v?y?v+": "+y:v:y}:u},14304:function(l,p,t){var r=t(34246),e=t(71349).f,o=t(90809),s=t(16142),u=t(36003),f=t(93706),c=t(13278);l.exports=function(h,v){var y=h.target,m=h.global,E=h.stat,I,O,T,N,M,F;if(m?O=r:E?O=r[y]||u(y,{}):O=r[y]&&r[y].prototype,O)for(T in v){if(M=v[T],h.dontCallGetSet?(F=e(O,T),N=F&&F.value):N=O[T],I=c(m?T:y+(E?".":"#")+T,h.forced),!I&&N!==void 0){if(typeof M==typeof N)continue;f(M,N)}(h.sham||N&&N.sham)&&o(M,"sham",!0),s(O,T,M,h)}}},72069:function(l){l.exports=function(p){try{return!!p()}catch(t){return!0}}},63194:function(l,p,t){t(31145);var r=t(96499),e=t(16142),o=t(44381),s=t(72069),u=t(18565),f=t(90809),c=u("species"),h=RegExp.prototype;l.exports=function(v,y,m,E){var I=u(v),O=!s(function(){var F={};return F[I]=function(){return 7},""[v](F)!==7}),T=O&&!s(function(){var F=!1,D=/a/;return v==="split"&&(D={},D.constructor={},D.constructor[c]=function(){return D},D.flags="",D[I]=/./[I]),D.exec=function(){return F=!0,null},D[I](""),!F});if(!O||!T||m){var N=/./[I],M=y(I,""[v],function(F,D,w,$,B){var H=D.exec;return H===o||H===h.exec?O&&!B?{done:!0,value:r(N,D,w,$)}:{done:!0,value:r(F,w,D,$)}:{done:!1}});e(String.prototype,v,M[0]),e(h,I,M[1])}E&&f(h[I],"sham",!0)}},53149:function(l,p,t){var r=t(3438),e=t(82628),o=t(20095),s=t(45526),u=function(f,c,h,v,y,m,E,I){for(var O=y,T=0,N=E?s(E,I):!1,M,F;T0&&r(M)?(F=e(M),O=u(f,c,M,F,O,m-1)-1):(o(O+1),f[O]=M),O++),T++;return O};l.exports=u},27534:function(l,p,t){var r=t(72069);l.exports=!r(function(){return Object.isExtensible(Object.preventExtensions({}))})},66543:function(l,p,t){var r=t(87878),e=Function.prototype,o=e.apply,s=e.call;l.exports=typeof Reflect=="object"&&Reflect.apply||(r?s.bind(o):function(){return s.apply(o,arguments)})},45526:function(l,p,t){var r=t(77422),e=t(85156),o=t(87878),s=r(r.bind);l.exports=function(u,f){return e(u),f===void 0?u:o?s(u,f):function(){return u.apply(f,arguments)}}},87878:function(l,p,t){var r=t(72069);l.exports=!r(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")})},91384:function(l,p,t){var r=t(11286),e=t(85156),o=t(37540),s=t(94879),u=t(22806),f=t(87878),c=Function,h=r([].concat),v=r([].join),y={},m=function(E,I,O){if(!s(y,I)){for(var T=[],N=0;N]*>)/g,h=/\$([$&'`]|\d{1,2})/g;l.exports=function(v,y,m,E,I,O){var T=m+v.length,N=E.length,M=h;return I!==void 0&&(I=e(I),M=c),u(O,M,function(F,D){var w;switch(s(D,0)){case"$":return"$";case"&":return v;case"`":return f(y,0,m);case"'":return f(y,T);case"<":w=I[f(D,1,-1)];break;default:var $=+D;if($===0)return F;if($>N){var B=o($/10);return B===0?F:B<=N?E[B-1]===void 0?s(D,1):E[B-1]+s(D,1):F}w=E[$-1]}return w===void 0?"":w})}},34246:function(l){var p=function(t){return t&&t.Math===Math&&t};l.exports=p(typeof globalThis=="object"&&globalThis)||p(typeof window=="object"&&window)||p(typeof self=="object"&&self)||p(typeof global=="object"&&global)||p(typeof this=="object"&&this)||function(){return this}()||Function("return this")()},94879:function(l,p,t){var r=t(11286),e=t(49671),o=r({}.hasOwnProperty);l.exports=Object.hasOwn||function(u,f){return o(e(u),f)}},19423:function(l){l.exports={}},99095:function(l){l.exports=function(p,t){try{arguments.length===1?console.error(p):console.error(p,t)}catch(r){}}},96439:function(l,p,t){var r=t(38941);l.exports=r("document","documentElement")},52515:function(l,p,t){var r=t(92986),e=t(72069),o=t(85501);l.exports=!r&&!e(function(){return Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a!==7})},25212:function(l){var p=Array,t=Math.abs,r=Math.pow,e=Math.floor,o=Math.log,s=Math.LN2,u=function(c,h,v){var y=p(v),m=v*8-h-1,E=(1<>1,O=h===23?r(2,-24)-r(2,-77):0,T=c<0||c===0&&1/c<0?1:0,N=0,M,F,D;for(c=t(c),c!==c||c===1/0?(F=c!==c?1:0,M=E):(M=e(o(c)/s),D=r(2,-M),c*D<1&&(M--,D*=2),M+I>=1?c+=O/D:c+=O*r(2,1-I),c*D>=2&&(M++,D/=2),M+I>=E?(F=0,M=E):M+I>=1?(F=(c*D-1)*r(2,h),M+=I):(F=c*r(2,I-1)*r(2,h),M=0));h>=8;)y[N++]=F&255,F/=256,h-=8;for(M=M<0;)y[N++]=M&255,M/=256,m-=8;return y[N-1]|=T*128,y},f=function(c,h){var v=c.length,y=v*8-h-1,m=(1<>1,I=y-7,O=v-1,T=c[O--],N=T&127,M;for(T>>=7;I>0;)N=N*256+c[O--],I-=8;for(M=N&(1<<-I)-1,N>>=-I,I+=h;I>0;)M=M*256+c[O--],I-=8;if(N===0)N=1-E;else{if(N===m)return M?NaN:T?-1/0:1/0;M+=r(2,h),N-=E}return(T?-1:1)*M*r(2,N-h)};l.exports={pack:u,unpack:f}},72181:function(l,p,t){var r=t(11286),e=t(72069),o=t(14274),s=Object,u=r("".split);l.exports=e(function(){return!s("z").propertyIsEnumerable(0)})?function(f){return o(f)==="String"?u(f,""):s(f)}:s},32345:function(l,p,t){var r=t(23583),e=t(37540),o=t(15861);l.exports=function(s,u,f){var c,h;return o&&r(c=u.constructor)&&c!==f&&e(h=c.prototype)&&h!==f.prototype&&o(s,h),s}},84352:function(l,p,t){var r=t(11286),e=t(23583),o=t(70443),s=r(Function.toString);e(o.inspectSource)||(o.inspectSource=function(u){return s(u)}),l.exports=o.inspectSource},31486:function(l,p,t){var r=t(37540),e=t(90809);l.exports=function(o,s){r(s)&&"cause"in s&&e(o,"cause",s.cause)}},31853:function(l,p,t){var r=t(14304),e=t(11286),o=t(19423),s=t(37540),u=t(94879),f=t(7831).f,c=t(83258),h=t(92880),v=t(28174),y=t(36374),m=t(27534),E=!1,I=y("meta"),O=0,T=function($){f($,I,{value:{objectID:"O"+O++,weakData:{}}})},N=function($,B){if(!s($))return typeof $=="symbol"?$:(typeof $=="string"?"S":"P")+$;if(!u($,I)){if(!v($))return"F";if(!B)return"E";T($)}return $[I].objectID},M=function($,B){if(!u($,I)){if(!v($))return!0;if(!B)return!1;T($)}return $[I].weakData},F=function($){return m&&E&&v($)&&!u($,I)&&T($),$},D=function(){w.enable=function(){},E=!0;var $=c.f,B=e([].splice),H={};H[I]=1,$(H).length&&(c.f=function(X){for(var Y=$(X),k=0,ot=Y.length;kY;Y++)if(ot=at(O[Y]),ot&&c(I,ot))return ot;return new E(!1)}H=h(O,X)}for(st=D?O.next:H.next;!(tt=e(st,H)).done;){try{ot=at(tt.value)}catch(gt){y(H,"throw",gt)}if(typeof ot=="object"&&ot&&c(I,ot))return ot}return new E(!1)}},99797:function(l,p,t){var r=t(96499),e=t(25001),o=t(10512);l.exports=function(s,u,f){var c,h;e(s);try{if(c=o(s,"return"),!c){if(u==="throw")throw f;return f}c=r(c,s)}catch(v){h=!0,c=v}if(u==="throw")throw f;if(h)throw c;return e(c),f}},26820:function(l,p,t){var r=t(24519).IteratorPrototype,e=t(5406),o=t(18526),s=t(78401),u=t(29107),f=function(){return this};l.exports=function(c,h,v,y){var m=h+" Iterator";return c.prototype=e(r,{next:o(+!y,v)}),s(c,m,!1,!0),u[m]=f,c}},44736:function(l,p,t){var r=t(96499),e=t(5406),o=t(90809),s=t(2725),u=t(18565),f=t(82367),c=t(10512),h=t(24519).IteratorPrototype,v=t(10659),y=t(99797),m=u("toStringTag"),E="IteratorHelper",I="WrapForValidIterator",O=f.set,T=function(F){var D=f.getterFor(F?I:E);return s(e(h),{next:function(){var $=D(this);if(F)return $.nextHandler();try{var B=$.done?void 0:$.nextHandler();return v(B,$.done)}catch(H){throw $.done=!0,H}},return:function(){var w=D(this),$=w.iterator;if(w.done=!0,F){var B=c($,"return");return B?r(B,$):v(void 0,!0)}if(w.inner)try{y(w.inner.iterator,"normal")}catch(H){return y($,"throw",H)}return $&&y($,"normal"),v(void 0,!0)}})},N=T(!0),M=T(!1);o(M,m,"Iterator Helper"),l.exports=function(F,D){var w=function(B,H){H?(H.iterator=B.iterator,H.next=B.next):H=B,H.type=D?I:E,H.nextHandler=F,H.counter=0,H.done=!1,O(this,H)};return w.prototype=D?N:M,w}},10218:function(l,p,t){var r=t(14304),e=t(96499),o=t(70457),s=t(86588),u=t(23583),f=t(26820),c=t(26313),h=t(15861),v=t(78401),y=t(90809),m=t(16142),E=t(18565),I=t(29107),O=t(24519),T=s.PROPER,N=s.CONFIGURABLE,M=O.IteratorPrototype,F=O.BUGGY_SAFARI_ITERATORS,D=E("iterator"),w="keys",$="values",B="entries",H=function(){return this};l.exports=function(X,Y,k,ot,st,tt,et){f(k,Y,ot);var at=function(ir){if(ir===st&&It)return It;if(!F&&ir&&ir in Ot)return Ot[ir];switch(ir){case w:return function(){return new k(this,ir)};case $:return function(){return new k(this,ir)};case B:return function(){return new k(this,ir)}}return function(){return new k(this)}},gt=Y+" Iterator",Pt=!1,Ot=X.prototype,Nt=Ot[D]||Ot["@@iterator"]||st&&Ot[st],It=!F&&Nt||at(st),qt=Y==="Array"&&Ot.entries||Nt,Qt,Jt,er;if(qt&&(Qt=c(qt.call(new X)),Qt!==Object.prototype&&Qt.next&&(!o&&c(Qt)!==M&&(h?h(Qt,M):u(Qt[D])||m(Qt,D,H)),v(Qt,gt,!0,!0),o&&(I[gt]=H))),T&&st===$&&Nt&&Nt.name!==$&&(!o&&N?y(Ot,"name",$):(Pt=!0,It=function(){return e(Nt,this)})),st)if(Jt={values:at($),keys:tt?It:at(w),entries:at(B)},et)for(er in Jt)(F||Pt||!(er in Ot))&&m(Ot,er,Jt[er]);else r({target:Y,proto:!0,forced:F||Pt},Jt);return(!o||et)&&Ot[D]!==It&&m(Ot,D,It,{name:st}),I[Y]=It,Jt}},96191:function(l,p,t){var r=t(96499),e=t(85156),o=t(25001),s=t(10613),u=t(44736),f=t(39969),c=u(function(){var h=this.iterator,v=o(r(this.next,h)),y=this.done=!!v.done;if(!y)return f(h,this.mapper,[v.value,this.counter++],!0)});l.exports=function(v){return o(this),e(v),new c(s(this),{mapper:v})}},24519:function(l,p,t){var r=t(72069),e=t(23583),o=t(37540),s=t(5406),u=t(26313),f=t(16142),c=t(18565),h=t(70457),v=c("iterator"),y=!1,m,E,I;[].keys&&(I=[].keys(),"next"in I?(E=u(u(I)),E!==Object.prototype&&(m=E)):y=!0);var O=!o(m)||r(function(){var T={};return m[v].call(T)!==T});O?m={}:h&&(m=s(m)),e(m[v])||f(m,v,function(){return this}),l.exports={IteratorPrototype:m,BUGGY_SAFARI_ITERATORS:y}},29107:function(l){l.exports={}},82628:function(l,p,t){var r=t(45344);l.exports=function(e){return r(e.length)}},13749:function(l,p,t){var r=t(11286),e=t(72069),o=t(23583),s=t(94879),u=t(92986),f=t(86588).CONFIGURABLE,c=t(84352),h=t(82367),v=h.enforce,y=h.get,m=String,E=Object.defineProperty,I=r("".slice),O=r("".replace),T=r([].join),N=u&&!e(function(){return E(function(){},"length",{value:8}).length!==8}),M=String(String).split("String"),F=l.exports=function(D,w,$){I(m(w),0,7)==="Symbol("&&(w="["+O(m(w),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),$&&$.getter&&(w="get "+w),$&&$.setter&&(w="set "+w),(!s(D,"name")||f&&D.name!==w)&&(u?E(D,"name",{value:w,configurable:!0}):D.name=w),N&&$&&s($,"arity")&&D.length!==$.arity&&E(D,"length",{value:$.arity});try{$&&s($,"constructor")&&$.constructor?u&&E(D,"prototype",{writable:!1}):D.prototype&&(D.prototype=void 0)}catch(H){}var B=v(D);return s(B,"source")||(B.source=T(M,typeof w=="string"?w:"")),D};Function.prototype.toString=F(function(){return o(this)&&y(this).source||c(this)},"toString")},1774:function(l,p,t){var r=t(11286),e=Map.prototype;l.exports={Map,set:r(e.set),get:r(e.get),has:r(e.has),remove:r(e.delete),proto:e}},98940:function(l){var p=Math.expm1,t=Math.exp;l.exports=!p||p(10)>22025.465794806718||p(10)<22025.465794806718||p(-2e-17)!==-2e-17?function(e){var o=+e;return o===0?o:o>-1e-6&&o<1e-6?o+o*o/2:t(o)-1}:p},10418:function(l,p,t){var r=t(93976),e=Math.abs,o=2220446049250313e-31,s=1/o,u=function(f){return f+s-s};l.exports=function(f,c,h,v){var y=+f,m=e(y),E=r(y);if(mh||O!==O?E*(1/0):E*O}},93279:function(l,p,t){var r=t(10418),e=11920928955078125e-23,o=34028234663852886e22,s=11754943508222875e-54;l.exports=Math.fround||function(f){return r(f,e,o,s)}},41942:function(l){var p=Math.log,t=Math.LOG10E;l.exports=Math.log10||function(e){return p(e)*t}},49366:function(l){var p=Math.log;l.exports=Math.log1p||function(r){var e=+r;return e>-1e-8&&e<1e-8?e-e*e/2:p(1+e)}},93976:function(l){l.exports=Math.sign||function(t){var r=+t;return r===0||r!==r?r:r<0?-1:1}},22459:function(l){var p=Math.ceil,t=Math.floor;l.exports=Math.trunc||function(e){var o=+e;return(o>0?t:p)(o)}},9709:function(l,p,t){var r=t(34246),e=t(28167),o=t(45526),s=t(23115).set,u=t(76895),f=t(5286),c=t(7307),h=t(67722),v=t(91707),y=r.MutationObserver||r.WebKitMutationObserver,m=r.document,E=r.process,I=r.Promise,O=e("queueMicrotask"),T,N,M,F,D;if(!O){var w=new u,$=function(){var B,H;for(v&&(B=E.domain)&&B.exit();H=w.get();)try{H()}catch(X){throw w.head&&T(),X}B&&B.enter()};!f&&!v&&!h&&y&&m?(N=!0,M=m.createTextNode(""),new y($).observe(M,{characterData:!0}),T=function(){M.data=N=!N}):!c&&I&&I.resolve?(F=I.resolve(void 0),F.constructor=I,D=o(F.then,F),T=function(){D($)}):v?T=function(){E.nextTick($)}:(s=o(s,r),T=function(){s($)}),O=function(B){w.head||T(),w.add(B)}}l.exports=O},24649:function(l,p,t){var r=t(85156),e=TypeError,o=function(s){var u,f;this.promise=new s(function(c,h){if(u!==void 0||f!==void 0)throw new e("Bad Promise constructor");u=c,f=h}),this.resolve=r(u),this.reject=r(f)};l.exports.f=function(s){return new o(s)}},15453:function(l,p,t){var r=t(17361);l.exports=function(e,o){return e===void 0?arguments.length<2?"":o:r(e)}},93483:function(l){var p=RangeError;l.exports=function(t){if(t===t)return t;throw new p("NaN is not allowed")}},92337:function(l,p,t){var r=t(11566),e=TypeError;l.exports=function(o){if(r(o))throw new e("The method doesn't accept regular expressions");return o}},98074:function(l,p,t){var r=t(34246),e=r.isFinite;l.exports=Number.isFinite||function(s){return typeof s=="number"&&e(s)}},25838:function(l,p,t){var r=t(34246),e=t(72069),o=t(11286),s=t(17361),u=t(85900).trim,f=t(77082),c=o("".charAt),h=r.parseFloat,v=r.Symbol,y=v&&v.iterator,m=1/h(f+"-0")!==-1/0||y&&!e(function(){h(Object(y))});l.exports=m?function(I){var O=u(s(I)),T=h(O);return T===0&&c(O,0)==="-"?-0:T}:h},23009:function(l,p,t){var r=t(34246),e=t(72069),o=t(11286),s=t(17361),u=t(85900).trim,f=t(77082),c=r.parseInt,h=r.Symbol,v=h&&h.iterator,y=/^[+-]?0x/i,m=o(y.exec),E=c(f+"08")!==8||c(f+"0x16")!==22||v&&!e(function(){c(Object(v))});l.exports=E?function(O,T){var N=u(s(O));return c(N,T>>>0||(m(y,N)?16:10))}:c},16667:function(l,p,t){var r=t(92986),e=t(11286),o=t(96499),s=t(72069),u=t(18350),f=t(24943),c=t(79591),h=t(49671),v=t(72181),y=Object.assign,m=Object.defineProperty,E=e([].concat);l.exports=!y||s(function(){if(r&&y({b:1},y(m({},"a",{enumerable:!0,get:function(){m(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var I={},O={},T=Symbol("assign detection"),N="abcdefghijklmnopqrst";return I[T]=7,N.split("").forEach(function(M){O[M]=M}),y({},I)[T]!==7||u(y({},O)).join("")!==N})?function(O,T){for(var N=h(O),M=arguments.length,F=1,D=f.f,w=c.f;M>F;)for(var $=v(arguments[F++]),B=D?E(u($),D($)):u($),H=B.length,X=0,Y;H>X;)Y=B[X++],(!r||o(w,$,Y))&&(N[Y]=$[Y]);return N}:y},5406:function(l,p,t){var r=t(25001),e=t(61963),o=t(75785),s=t(19423),u=t(96439),f=t(85501),c=t(44869),h=">",v="<",y="prototype",m="script",E=c("IE_PROTO"),I=function(){},O=function(D){return v+m+h+D+v+"/"+m+h},T=function(D){D.write(O("")),D.close();var w=D.parentWindow.Object;return D=null,w},N=function(){var D=f("iframe"),w="java"+m+":",$;return D.style.display="none",u.appendChild(D),D.src=String(w),$=D.contentWindow.document,$.open(),$.write(O("document.F=Object")),$.close(),$.F},M,F=function(){try{M=new ActiveXObject("htmlfile")}catch(w){}F=typeof document!="undefined"?document.domain&&M?T(M):N():T(M);for(var D=o.length;D--;)delete F[y][o[D]];return F()};s[E]=!0,l.exports=Object.create||function(w,$){var B;return w!==null?(I[y]=r(w),B=new I,I[y]=null,B[E]=w):B=F(),$===void 0?B:e.f(B,$)}},61963:function(l,p,t){var r=t(92986),e=t(356),o=t(7831),s=t(25001),u=t(36859),f=t(18350);p.f=r&&!e?Object.defineProperties:function(h,v){s(h);for(var y=u(v),m=f(v),E=m.length,I=0,O;E>I;)o.f(h,O=m[I++],y[O]);return h}},7831:function(l,p,t){var r=t(92986),e=t(52515),o=t(356),s=t(25001),u=t(50035),f=TypeError,c=Object.defineProperty,h=Object.getOwnPropertyDescriptor,v="enumerable",y="configurable",m="writable";p.f=r?o?function(I,O,T){if(s(I),O=u(O),s(T),typeof I=="function"&&O==="prototype"&&"value"in T&&m in T&&!T[m]){var N=h(I,O);N&&N[m]&&(I[O]=T.value,T={configurable:y in T?T[y]:N[y],enumerable:v in T?T[v]:N[v],writable:!1})}return c(I,O,T)}:c:function(I,O,T){if(s(I),O=u(O),s(T),e)try{return c(I,O,T)}catch(N){}if("get"in T||"set"in T)throw new f("Accessors not supported");return"value"in T&&(I[O]=T.value),I}},71349:function(l,p,t){var r=t(92986),e=t(96499),o=t(79591),s=t(18526),u=t(36859),f=t(50035),c=t(94879),h=t(52515),v=Object.getOwnPropertyDescriptor;p.f=r?v:function(m,E){if(m=u(m),E=f(E),h)try{return v(m,E)}catch(I){}if(c(m,E))return s(!e(o.f,m,E),m[E])}},92880:function(l,p,t){var r=t(14274),e=t(36859),o=t(83258).f,s=t(22806),u=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],f=function(c){try{return o(c)}catch(h){return s(u)}};l.exports.f=function(h){return u&&r(h)==="Window"?f(h):o(e(h))}},83258:function(l,p,t){var r=t(6242),e=t(75785),o=e.concat("length","prototype");p.f=Object.getOwnPropertyNames||function(u){return r(u,o)}},24943:function(l,p){p.f=Object.getOwnPropertySymbols},26313:function(l,p,t){var r=t(94879),e=t(23583),o=t(49671),s=t(44869),u=t(87501),f=s("IE_PROTO"),c=Object,h=c.prototype;l.exports=u?c.getPrototypeOf:function(v){var y=o(v);if(r(y,f))return y[f];var m=y.constructor;return e(m)&&y instanceof m?m.prototype:y instanceof c?h:null}},28174:function(l,p,t){var r=t(72069),e=t(37540),o=t(14274),s=t(72058),u=Object.isExtensible,f=r(function(){u(1)});l.exports=f||s?function(h){return!e(h)||s&&o(h)==="ArrayBuffer"?!1:u?u(h):!0}:u},95307:function(l,p,t){var r=t(11286);l.exports=r({}.isPrototypeOf)},6242:function(l,p,t){var r=t(11286),e=t(94879),o=t(36859),s=t(94319).indexOf,u=t(19423),f=r([].push);l.exports=function(c,h){var v=o(c),y=0,m=[],E;for(E in v)!e(u,E)&&e(v,E)&&f(m,E);for(;h.length>y;)e(v,E=h[y++])&&(~s(m,E)||f(m,E));return m}},18350:function(l,p,t){var r=t(6242),e=t(75785);l.exports=Object.keys||function(s){return r(s,e)}},79591:function(l,p){var t={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,e=r&&!t.call({1:2},1);p.f=e?function(s){var u=r(this,s);return!!u&&u.enumerable}:t},57629:function(l,p,t){var r=t(70457),e=t(34246),o=t(72069),s=t(66577);l.exports=r||!o(function(){if(!(s&&s<535)){var u=Math.random();__defineSetter__.call(null,u,function(){}),delete e[u]}})},15861:function(l,p,t){var r=t(84756),e=t(37540),o=t(2068),s=t(53408);l.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var u=!1,f={},c;try{c=r(Object.prototype,"__proto__","set"),c(f,[]),u=f instanceof Array}catch(h){}return function(v,y){return o(v),s(y),e(v)&&(u?c(v,y):v.__proto__=y),v}}():void 0)},8511:function(l,p,t){var r=t(92986),e=t(72069),o=t(11286),s=t(26313),u=t(18350),f=t(36859),c=t(79591).f,h=o(c),v=o([].push),y=r&&e(function(){var E=Object.create(null);return E[2]=2,!h(E,2)}),m=function(E){return function(I){for(var O=f(I),T=u(O),N=y&&s(O)===null,M=T.length,F=0,D=[],w;M>F;)w=T[F++],(!r||(N?w in O:h(O,w)))&&v(D,E?[w,O[w]]:O[w]);return D}};l.exports={entries:m(!0),values:m(!1)}},60105:function(l,p,t){var r=t(67878),e=t(9205);l.exports=r?{}.toString:function(){return"[object "+e(this)+"]"}},2064:function(l,p,t){var r=t(96499),e=t(23583),o=t(37540),s=TypeError;l.exports=function(u,f){var c,h;if(f==="string"&&e(c=u.toString)&&!o(h=r(c,u))||e(c=u.valueOf)&&!o(h=r(c,u))||f!=="string"&&e(c=u.toString)&&!o(h=r(c,u)))return h;throw new s("Can't convert object to primitive value")}},16885:function(l,p,t){var r=t(38941),e=t(11286),o=t(83258),s=t(24943),u=t(25001),f=e([].concat);l.exports=r("Reflect","ownKeys")||function(h){var v=o.f(u(h)),y=s.f;return y?f(v,y(h)):v}},75081:function(l,p,t){var r=t(34246);l.exports=r},67805:function(l){l.exports=function(p){try{return{error:!1,value:p()}}catch(t){return{error:!0,value:t}}}},37130:function(l,p,t){var r=t(34246),e=t(98844),o=t(23583),s=t(13278),u=t(84352),f=t(18565),c=t(21501),h=t(70457),v=t(44241),y=e&&e.prototype,m=f("species"),E=!1,I=o(r.PromiseRejectionEvent),O=s("Promise",function(){var T=u(e),N=T!==String(e);if(!N&&v===66||h&&!(y.catch&&y.finally))return!0;if(!v||v<51||!/native code/.test(T)){var M=new e(function(w){w(1)}),F=function(w){w(function(){},function(){})},D=M.constructor={};if(D[m]=F,E=M.then(function(){})instanceof F,!E)return!0}return!N&&(c==="BROWSER"||c==="DENO")&&!I});l.exports={CONSTRUCTOR:O,REJECTION_EVENT:I,SUBCLASSING:E}},98844:function(l,p,t){var r=t(34246);l.exports=r.Promise},87408:function(l,p,t){var r=t(25001),e=t(37540),o=t(24649);l.exports=function(s,u){if(r(s),e(u)&&u.constructor===s)return u;var f=o.f(s),c=f.resolve;return c(u),f.promise}},26035:function(l,p,t){var r=t(98844),e=t(97494),o=t(37130).CONSTRUCTOR;l.exports=o||!e(function(s){r.all(s).then(void 0,function(){})})},2594:function(l,p,t){var r=t(7831).f;l.exports=function(e,o,s){s in e||r(e,s,{configurable:!0,get:function(){return o[s]},set:function(u){o[s]=u}})}},76895:function(l){var p=function(){this.head=null,this.tail=null};p.prototype={add:function(t){var r={item:t,next:null},e=this.tail;e?e.next=r:this.head=r,this.tail=r},get:function(){var t=this.head;if(t){var r=this.head=t.next;return r===null&&(this.tail=null),t.item}}},l.exports=p},33064:function(l,p,t){var r=t(96499),e=t(25001),o=t(23583),s=t(14274),u=t(44381),f=TypeError;l.exports=function(c,h){var v=c.exec;if(o(v)){var y=r(v,c,h);return y!==null&&e(y),y}if(s(c)==="RegExp")return r(u,c,h);throw new f("RegExp#exec called on incompatible receiver")}},44381:function(l,p,t){var r=t(96499),e=t(11286),o=t(17361),s=t(29833),u=t(39807),f=t(96731),c=t(5406),h=t(82367).get,v=t(76769),y=t(85220),m=f("native-string-replace",String.prototype.replace),E=RegExp.prototype.exec,I=E,O=e("".charAt),T=e("".indexOf),N=e("".replace),M=e("".slice),F=function(){var B=/a/,H=/b*/g;return r(E,B,"a"),r(E,H,"a"),B.lastIndex!==0||H.lastIndex!==0}(),D=u.BROKEN_CARET,w=/()??/.exec("")[1]!==void 0,$=F||w||D||v||y;$&&(I=function(H){var X=this,Y=h(X),k=o(H),ot=Y.raw,st,tt,et,at,gt,Pt,Ot;if(ot)return ot.lastIndex=X.lastIndex,st=r(I,ot,k),X.lastIndex=ot.lastIndex,st;var Nt=Y.groups,It=D&&X.sticky,qt=r(s,X),Qt=X.source,Jt=0,er=k;if(It&&(qt=N(qt,"y",""),T(qt,"g")===-1&&(qt+="g"),er=M(k,X.lastIndex),X.lastIndex>0&&(!X.multiline||X.multiline&&O(k,X.lastIndex-1)!==` `)&&(Qt="(?: "+Qt+")",er=" "+er,Jt++),tt=new RegExp("^(?:"+Qt+")",qt)),w&&(tt=new RegExp("^"+Qt+"$(?!\\s)",qt)),F&&(et=X.lastIndex),at=r(E,It?tt:X,er),It?at?(at.input=M(at.input,Jt),at[0]=M(at[0],Jt),at.index=X.lastIndex,X.lastIndex+=at[0].length):X.lastIndex=0:F&&at&&(X.lastIndex=X.global?at.index+at[0].length:et),w&&at&&at.length>1&&r(m,at[0],tt,function(){for(gt=1;gtb)","g");return s.exec("b").groups.a!=="b"||"b".replace(s,"$c")!=="bc"})},2068:function(l,p,t){var r=t(5683),e=TypeError;l.exports=function(o){if(r(o))throw new e("Can't call method on "+o);return o}},28167:function(l,p,t){var r=t(34246),e=t(92986),o=Object.getOwnPropertyDescriptor;l.exports=function(s){if(!e)return r[s];var u=o(r,s);return u&&u.value}},13944:function(l){l.exports=Object.is||function(t,r){return t===r?t!==0||1/t===1/r:t!==t&&r!==r}},9934:function(l,p,t){var r=t(34246),e=t(66543),o=t(23583),s=t(21501),u=t(18257),f=t(22806),c=t(95486),h=r.Function,v=/MSIE .\./.test(u)||s==="BUN"&&function(){var y=r.Bun.version.split(".");return y.length<3||y[0]==="0"&&(y[1]<3||y[1]==="3"&&y[2]==="0")}();l.exports=function(y,m){var E=m?2:1;return v?function(I,O){var T=c(arguments.length,1)>E,N=o(I)?I:h(I),M=T?f(arguments,E):[],F=T?function(){e(N,this,M)}:N;return m?y(F,O):y(F)}:y}},48348:function(l,p,t){var r=t(172),e=t(35051),o=r.Set,s=r.add;l.exports=function(u){var f=new o;return e(u,function(c){s(f,c)}),f}},41754:function(l,p,t){var r=t(76602),e=t(172),o=t(48348),s=t(17768),u=t(65263),f=t(35051),c=t(9573),h=e.has,v=e.remove;l.exports=function(m){var E=r(this),I=u(m),O=o(E);return s(E)<=I.size?f(E,function(T){I.includes(T)&&v(O,T)}):c(I.getIterator(),function(T){h(E,T)&&v(O,T)}),O}},172:function(l,p,t){var r=t(11286),e=Set.prototype;l.exports={Set,add:r(e.add),has:r(e.has),remove:r(e.delete),proto:e}},92292:function(l,p,t){var r=t(76602),e=t(172),o=t(17768),s=t(65263),u=t(35051),f=t(9573),c=e.Set,h=e.add,v=e.has;l.exports=function(m){var E=r(this),I=s(m),O=new c;return o(E)>I.size?f(I.getIterator(),function(T){v(E,T)&&h(O,T)}):u(E,function(T){I.includes(T)&&h(O,T)}),O}},47391:function(l,p,t){var r=t(76602),e=t(172).has,o=t(17768),s=t(65263),u=t(35051),f=t(9573),c=t(99797);l.exports=function(v){var y=r(this),m=s(v);if(o(y)<=m.size)return u(y,function(I){if(m.includes(I))return!1},!0)!==!1;var E=m.getIterator();return f(E,function(I){if(e(y,I))return c(E,"normal",!1)})!==!1}},75492:function(l,p,t){var r=t(76602),e=t(17768),o=t(35051),s=t(65263);l.exports=function(f){var c=r(this),h=s(f);return e(c)>h.size?!1:o(c,function(v){if(!h.includes(v))return!1},!0)!==!1}},1333:function(l,p,t){var r=t(76602),e=t(172).has,o=t(17768),s=t(65263),u=t(9573),f=t(99797);l.exports=function(h){var v=r(this),y=s(h);if(o(v)3})}},22149:function(l,p,t){var r=t(11286),e=t(12105),o=t(17361),s=t(2068),u=r("".charAt),f=r("".charCodeAt),c=r("".slice),h=function(v){return function(y,m){var E=o(s(y)),I=e(m),O=E.length,T,N;return I<0||I>=O?v?"":void 0:(T=f(E,I),T<55296||T>56319||I+1===O||(N=f(E,I+1))<56320||N>57343?v?u(E,I):T:v?c(E,I,I+2):(T-55296<<10)+(N-56320)+65536)}};l.exports={codeAt:h(!1),charAt:h(!0)}},36945:function(l,p,t){var r=t(18257);l.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(r)},61607:function(l,p,t){var r=t(11286),e=t(45344),o=t(17361),s=t(79719),u=t(2068),f=r(s),c=r("".slice),h=Math.ceil,v=function(y){return function(m,E,I){var O=o(u(m)),T=e(E),N=O.length,M=I===void 0?" ":o(I),F,D;return T<=N||M===""?O:(F=T-N,D=f(M,h(F/M.length)),D.length>F&&(D=c(D,0,F)),y?O+D:D+O)}};l.exports={start:v(!1),end:v(!0)}},38679:function(l,p,t){var r=t(11286),e=2147483647,o=36,s=1,u=26,f=38,c=700,h=72,v=128,y="-",m=/[^\0-\u007E]/,E=/[.\u3002\uFF0E\uFF61]/g,I="Overflow: input needs wider integers to process",O=o-s,T=RangeError,N=r(E.exec),M=Math.floor,F=String.fromCharCode,D=r("".charCodeAt),w=r([].join),$=r([].push),B=r("".replace),H=r("".split),X=r("".toLowerCase),Y=function(tt){for(var et=[],at=0,gt=tt.length;at=55296&&Pt<=56319&&at>1,tt+=M(tt/et);tt>O*u>>1;)tt=M(tt/O),gt+=o;return M(gt+(O+1)*tt/(tt+f))},st=function(tt){var et=[];tt=Y(tt);var at=tt.length,gt=v,Pt=0,Ot=h,Nt,It;for(Nt=0;Nt=gt&&ItM((e-Pt)/er))throw new T(I);for(Pt+=(Jt-gt)*er,gt=Jt,Nt=0;Nte)throw new T(I);if(It===gt){for(var ir=Pt,Ar=o;;){var xr=Ar<=Ot?s:Ar>=Ot+u?u:Ar-Ot;if(ir0;(v>>>=1)&&(c+=c))v&1&&(h+=c);return h}},75176:function(l,p,t){var r=t(85900).end,e=t(33328);l.exports=e("trimEnd")?function(){return r(this)}:"".trimEnd},33328:function(l,p,t){var r=t(86588).PROPER,e=t(72069),o=t(77082),s="\u200B\x85\u180E";l.exports=function(u){return e(function(){return!!o[u]()||s[u]()!==s||r&&o[u].name!==u})}},83481:function(l,p,t){var r=t(85900).start,e=t(33328);l.exports=e("trimStart")?function(){return r(this)}:"".trimStart},85900:function(l,p,t){var r=t(11286),e=t(2068),o=t(17361),s=t(77082),u=r("".replace),f=RegExp("^["+s+"]+"),c=RegExp("(^|[^"+s+"])["+s+"]+$"),h=function(v){return function(y){var m=o(e(y));return v&1&&(m=u(m,f,"")),v&2&&(m=u(m,c,"$1")),m}};l.exports={start:h(1),end:h(2),trim:h(3)}},99050:function(l,p,t){var r=t(34246),e=t(72069),o=t(44241),s=t(21501),u=r.structuredClone;l.exports=!!u&&!e(function(){if(s==="DENO"&&o>92||s==="NODE"&&o>94||s==="BROWSER"&&o>97)return!1;var f=new ArrayBuffer(8),c=u(f,{transfer:[f]});return f.byteLength!==0||c.byteLength!==8})},39729:function(l,p,t){var r=t(44241),e=t(72069),o=t(34246),s=o.String;l.exports=!!Object.getOwnPropertySymbols&&!e(function(){var u=Symbol("symbol detection");return!s(u)||!(Object(u)instanceof Symbol)||!Symbol.sham&&r&&r<41})},60796:function(l,p,t){var r=t(96499),e=t(38941),o=t(18565),s=t(16142);l.exports=function(){var u=e("Symbol"),f=u&&u.prototype,c=f&&f.valueOf,h=o("toPrimitive");f&&!f[h]&&s(f,h,function(v){return r(c,this)},{arity:1})}},61190:function(l,p,t){var r=t(39729);l.exports=r&&!!Symbol.for&&!!Symbol.keyFor},23115:function(l,p,t){var r=t(34246),e=t(66543),o=t(45526),s=t(23583),u=t(94879),f=t(72069),c=t(96439),h=t(22806),v=t(85501),y=t(95486),m=t(5286),E=t(91707),I=r.setImmediate,O=r.clearImmediate,T=r.process,N=r.Dispatch,M=r.Function,F=r.MessageChannel,D=r.String,w=0,$={},B="onreadystatechange",H,X,Y,k;f(function(){H=r.location});var ot=function(at){if(u($,at)){var gt=$[at];delete $[at],gt()}},st=function(at){return function(){ot(at)}},tt=function(at){ot(at.data)},et=function(at){r.postMessage(D(at),H.protocol+"//"+H.host)};(!I||!O)&&(I=function(gt){y(arguments.length,1);var Pt=s(gt)?gt:M(gt),Ot=h(arguments,1);return $[++w]=function(){e(Pt,void 0,Ot)},X(w),w},O=function(gt){delete $[gt]},E?X=function(at){T.nextTick(st(at))}:N&&N.now?X=function(at){N.now(st(at))}:F&&!m?(Y=new F,k=Y.port2,Y.port1.onmessage=tt,X=o(k.postMessage,k)):r.addEventListener&&s(r.postMessage)&&!r.importScripts&&H&&H.protocol!=="file:"&&!f(et)?(X=et,r.addEventListener("message",tt,!1)):B in v("script")?X=function(at){c.appendChild(v("script"))[B]=function(){c.removeChild(this),ot(at)}}:X=function(at){setTimeout(st(at),0)}),l.exports={set:I,clear:O}},34338:function(l,p,t){var r=t(11286);l.exports=r(1 .valueOf)},4652:function(l,p,t){var r=t(12105),e=Math.max,o=Math.min;l.exports=function(s,u){var f=r(s);return f<0?e(f+u,0):o(f,u)}},11344:function(l,p,t){var r=t(89935),e=TypeError;l.exports=function(o){var s=r(o,"number");if(typeof s=="number")throw new e("Can't convert number to bigint");return BigInt(s)}},9450:function(l,p,t){var r=t(12105),e=t(45344),o=RangeError;l.exports=function(s){if(s===void 0)return 0;var u=r(s),f=e(u);if(u!==f)throw new o("Wrong length or index");return f}},36859:function(l,p,t){var r=t(72181),e=t(2068);l.exports=function(o){return r(e(o))}},12105:function(l,p,t){var r=t(22459);l.exports=function(e){var o=+e;return o!==o||o===0?0:r(o)}},45344:function(l,p,t){var r=t(12105),e=Math.min;l.exports=function(o){var s=r(o);return s>0?e(s,9007199254740991):0}},49671:function(l,p,t){var r=t(2068),e=Object;l.exports=function(o){return e(r(o))}},58143:function(l,p,t){var r=t(98072),e=RangeError;l.exports=function(o,s){var u=r(o);if(u%s)throw new e("Wrong offset");return u}},98072:function(l,p,t){var r=t(12105),e=RangeError;l.exports=function(o){var s=r(o);if(s<0)throw new e("The argument can't be less than 0");return s}},89935:function(l,p,t){var r=t(96499),e=t(37540),o=t(491),s=t(10512),u=t(2064),f=t(18565),c=TypeError,h=f("toPrimitive");l.exports=function(v,y){if(!e(v)||o(v))return v;var m=s(v,h),E;if(m){if(y===void 0&&(y="default"),E=r(m,v,y),!e(E)||o(E))return E;throw new c("Can't convert object to primitive value")}return y===void 0&&(y="number"),u(v,y)}},50035:function(l,p,t){var r=t(89935),e=t(491);l.exports=function(o){var s=r(o,"string");return e(s)?s:s+""}},67878:function(l,p,t){var r=t(18565),e=r("toStringTag"),o={};o[e]="z",l.exports=String(o)==="[object z]"},17361:function(l,p,t){var r=t(9205),e=String;l.exports=function(o){if(r(o)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return e(o)}},76517:function(l){var p=Math.round;l.exports=function(t){var r=p(t);return r<0?0:r>255?255:r&255}},82453:function(l){var p=String;l.exports=function(t){try{return p(t)}catch(r){return"Object"}}},80357:function(l,p,t){var r=t(14304),e=t(34246),o=t(96499),s=t(92986),u=t(46868),f=t(88037),c=t(17468),h=t(12833),v=t(18526),y=t(90809),m=t(613),E=t(45344),I=t(9450),O=t(58143),T=t(76517),N=t(50035),M=t(94879),F=t(9205),D=t(37540),w=t(491),$=t(5406),B=t(95307),H=t(15861),X=t(83258).f,Y=t(66169),k=t(66655).forEach,ot=t(36167),st=t(85500),tt=t(7831),et=t(71349),at=t(5220),gt=t(82367),Pt=t(32345),Ot=gt.get,Nt=gt.set,It=gt.enforce,qt=tt.f,Qt=et.f,Jt=e.RangeError,er=c.ArrayBuffer,ir=er.prototype,Ar=c.DataView,xr=f.NATIVE_ARRAY_BUFFER_VIEWS,Er=f.TYPED_ARRAY_TAG,Yt=f.TypedArray,tr=f.TypedArrayPrototype,Sr=f.isTypedArray,Ir="BYTES_PER_ELEMENT",pr="Wrong length",Or=function(Mr,Tr){st(Mr,Tr,{configurable:!0,get:function(){return Ot(this)[Tr]}})},Ur=function(Mr){var Tr;return B(ir,Mr)||(Tr=F(Mr))==="ArrayBuffer"||Tr==="SharedArrayBuffer"},Lr=function(Mr,Tr){return Sr(Mr)&&!w(Tr)&&Tr in Mr&&m(+Tr)&&Tr>=0},Pr=function(Tr,yr){return yr=N(yr),Lr(Tr,yr)?v(2,Tr[yr]):Qt(Tr,yr)},mr=function(Tr,yr,bt){return yr=N(yr),Lr(Tr,yr)&&D(bt)&&M(bt,"value")&&!M(bt,"get")&&!M(bt,"set")&&!bt.configurable&&(!M(bt,"writable")||bt.writable)&&(!M(bt,"enumerable")||bt.enumerable)?(Tr[yr]=bt.value,Tr):qt(Tr,yr,bt)};s?(xr||(et.f=Pr,tt.f=mr,Or(tr,"buffer"),Or(tr,"byteOffset"),Or(tr,"byteLength"),Or(tr,"length")),r({target:"Object",stat:!0,forced:!xr},{getOwnPropertyDescriptor:Pr,defineProperty:mr}),l.exports=function(Mr,Tr,yr){var bt=Mr.match(/\d+/)[0]/8,Ht=Mr+(yr?"Clamped":"")+"Array",Ft="get"+Mr,cr="set"+Mr,vr=e[Ht],ar=vr,rr=ar&&ar.prototype,jr={},wr=function(Bt,zt){var lt=Ot(Bt);return lt.view[Ft](zt*bt+lt.byteOffset,!0)},yt=function(Bt,zt,lt){var Ut=Ot(Bt);Ut.view[cr](zt*bt+Ut.byteOffset,yr?T(lt):lt,!0)},jt=function(Bt,zt){qt(Bt,zt,{get:function(){return wr(this,zt)},set:function(lt){return yt(this,zt,lt)},enumerable:!0})};xr?u&&(ar=Tr(function(Bt,zt,lt,Ut){return h(Bt,rr),Pt(function(){return D(zt)?Ur(zt)?Ut!==void 0?new vr(zt,O(lt,bt),Ut):lt!==void 0?new vr(zt,O(lt,bt)):new vr(zt):Sr(zt)?at(ar,zt):o(Y,ar,zt):new vr(I(zt))}(),Bt,ar)}),H&&H(ar,Yt),k(X(vr),function(Bt){Bt in ar||y(ar,Bt,vr[Bt])}),ar.prototype=rr):(ar=Tr(function(Bt,zt,lt,Ut){h(Bt,rr);var gr=0,Ct=0,$t,kt,Wt;if(!D(zt))Wt=I(zt),kt=Wt*bt,$t=new er(kt);else if(Ur(zt)){$t=zt,Ct=O(lt,bt);var dr=zt.byteLength;if(Ut===void 0){if(dr%bt)throw new Jt(pr);if(kt=dr-Ct,kt<0)throw new Jt(pr)}else if(kt=E(Ut)*bt,kt+Ct>dr)throw new Jt(pr);Wt=kt/bt}else return Sr(zt)?at(ar,zt):o(Y,ar,zt);for(Nt(Bt,{buffer:$t,byteOffset:Ct,byteLength:kt,length:Wt,view:new Ar($t)});gr1?arguments[1]:void 0,F=M!==void 0,D=c(T),w,$,B,H,X,Y,k,ot;if(D&&!h(D))for(k=f(T,D),ot=k.next,T=[];!(Y=e(ot,k)).done;)T.push(Y.value);for(F&&N>2&&(M=r(M,arguments[2])),$=u(T),B=new(y(O))($),H=v(B),w=0;$>w;w++)X=F?M(T[w],w):T[w],B[w]=H?m(X):+X;return B}},36374:function(l,p,t){var r=t(11286),e=0,o=Math.random(),s=r(1 .toString);l.exports=function(u){return"Symbol("+(u===void 0?"":u)+")_"+s(++e+o,36)}},91918:function(l,p,t){var r=t(72069),e=t(18565),o=t(92986),s=t(70457),u=e("iterator");l.exports=!r(function(){var f=new URL("b?a=1&b=2&c=3","https://a"),c=f.searchParams,h=new URLSearchParams("a=1&a=2&b=3"),v="";return f.pathname="c%20d",c.forEach(function(y,m){c.delete("b"),v+=m+y}),h.delete("a",2),h.delete("b",void 0),s&&(!f.toJSON||!h.has("a",1)||h.has("a",2)||!h.has("a",void 0)||h.has("b"))||!c.size&&(s||!o)||!c.sort||f.href!=="https://a/c%20d?a=1&c=3"||c.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!c[u]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("https://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("https://a#\u0431").hash!=="#%D0%B1"||v!=="a1c3"||new URL("https://x",void 0).host!=="x"})},50234:function(l,p,t){var r=t(39729);l.exports=r&&!Symbol.sham&&typeof Symbol.iterator=="symbol"},356:function(l,p,t){var r=t(92986),e=t(72069);l.exports=r&&e(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})},95486:function(l){var p=TypeError;l.exports=function(t,r){if(tD&&y(tt,arguments[D]),tt});if(Y.prototype=H,$!=="Error"?u?u(Y,X):f(Y,X,{name:!0}):E&&F in B&&(c(Y,B,F),c(Y,B,"prepareStackTrace")),f(Y,B),!I)try{H.name!==$&&o(H,"name",$),H.constructor=Y}catch(k){}return Y}}},27796:function(l,p,t){var r=t(14304),e=t(38941),o=t(66543),s=t(72069),u=t(70003),f="AggregateError",c=e(f),h=!s(function(){return c([1]).errors[0]!==1})&&s(function(){return c([1],f,{cause:7}).cause!==7});r({global:!0,constructor:!0,arity:2,forced:h},{AggregateError:u(f,function(v){return function(m,E){return o(v,this,arguments)}},h,!0)})},85647:function(l,p,t){var r=t(14304),e=t(95307),o=t(26313),s=t(15861),u=t(93706),f=t(5406),c=t(90809),h=t(18526),v=t(31486),y=t(97077),m=t(55902),E=t(15453),I=t(18565),O=I("toStringTag"),T=Error,N=[].push,M=function(w,$){var B=e(F,this),H;s?H=s(new T,B?o(this):F):(H=B?this:f(F),c(H,O,"Error")),$!==void 0&&c(H,"message",E($)),y(H,M,H.stack,1),arguments.length>2&&v(H,arguments[2]);var X=[];return m(w,N,{that:X}),c(H,"errors",X),H};s?s(M,T):u(M,T,{name:!0});var F=M.prototype=f(T.prototype,{constructor:h(1,M),message:h(1,""),name:h(1,"AggregateError")});r({global:!0,constructor:!0,arity:2},{AggregateError:M})},42861:function(l,p,t){t(85647)},35473:function(l,p,t){var r=t(14304),e=t(34246),o=t(17468),s=t(36167),u="ArrayBuffer",f=o[u],c=e[u];r({global:!0,constructor:!0,forced:c!==f},{ArrayBuffer:f}),s(u)},35495:function(l,p,t){var r=t(92986),e=t(85500),o=t(30736),s=ArrayBuffer.prototype;r&&!("detached"in s)&&e(s,"detached",{configurable:!0,get:function(){return o(this)}})},4983:function(l,p,t){var r=t(14304),e=t(88037),o=e.NATIVE_ARRAY_BUFFER_VIEWS;r({target:"ArrayBuffer",stat:!0,forced:!o},{isView:e.isView})},6875:function(l,p,t){var r=t(14304),e=t(77422),o=t(72069),s=t(17468),u=t(25001),f=t(4652),c=t(45344),h=s.ArrayBuffer,v=s.DataView,y=v.prototype,m=e(h.prototype.slice),E=e(y.getUint8),I=e(y.setUint8),O=o(function(){return!new h(2).slice(1,void 0).byteLength});r({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:O},{slice:function(N,M){if(m&&M===void 0)return m(u(this),N);for(var F=u(this).byteLength,D=f(N,F),w=f(M===void 0?F:M,F),$=new h(c(w-D)),B=new v(this),H=new v($),X=0;D=0?y:v+y;return m<0||m>=v?void 0:h[m]}}),u("at")},98700:function(l,p,t){var r=t(14304),e=t(72069),o=t(3438),s=t(37540),u=t(49671),f=t(82628),c=t(20095),h=t(84082),v=t(62083),y=t(52183),m=t(18565),E=t(44241),I=m("isConcatSpreadable"),O=E>=51||!e(function(){var M=[];return M[I]=!1,M.concat()[0]!==M}),T=function(M){if(!s(M))return!1;var F=M[I];return F!==void 0?!!F:o(M)},N=!O||!y("concat");r({target:"Array",proto:!0,arity:1,forced:N},{concat:function(F){var D=u(this),w=v(D,0),$=0,B,H,X,Y,k;for(B=-1,X=arguments.length;B1?arguments[1]:void 0)}})},41585:function(l,p,t){var r=t(14304),e=t(43011),o=t(23811);r({target:"Array",proto:!0},{fill:e}),o("fill")},84554:function(l,p,t){var r=t(14304),e=t(66655).filter,o=t(52183),s=o("filter");r({target:"Array",proto:!0,forced:!s},{filter:function(f){return e(this,f,arguments.length>1?arguments[1]:void 0)}})},33818:function(l,p,t){var r=t(14304),e=t(66655).findIndex,o=t(23811),s="findIndex",u=!0;s in[]&&Array(1)[s](function(){u=!1}),r({target:"Array",proto:!0,forced:u},{findIndex:function(c){return e(this,c,arguments.length>1?arguments[1]:void 0)}}),o(s)},2209:function(l,p,t){var r=t(14304),e=t(73849).findLastIndex,o=t(23811);r({target:"Array",proto:!0},{findLastIndex:function(u){return e(this,u,arguments.length>1?arguments[1]:void 0)}}),o("findLastIndex")},64096:function(l,p,t){var r=t(14304),e=t(73849).findLast,o=t(23811);r({target:"Array",proto:!0},{findLast:function(u){return e(this,u,arguments.length>1?arguments[1]:void 0)}}),o("findLast")},36619:function(l,p,t){var r=t(14304),e=t(66655).find,o=t(23811),s="find",u=!0;s in[]&&Array(1)[s](function(){u=!1}),r({target:"Array",proto:!0,forced:u},{find:function(c){return e(this,c,arguments.length>1?arguments[1]:void 0)}}),o(s)},74092:function(l,p,t){var r=t(14304),e=t(53149),o=t(85156),s=t(49671),u=t(82628),f=t(62083);r({target:"Array",proto:!0},{flatMap:function(h){var v=s(this),y=u(v),m;return o(h),m=f(v,0),m.length=e(m,v,v,y,0,1,h,arguments.length>1?arguments[1]:void 0),m}})},91591:function(l,p,t){var r=t(14304),e=t(53149),o=t(49671),s=t(82628),u=t(12105),f=t(62083);r({target:"Array",proto:!0},{flat:function(){var h=arguments.length?arguments[0]:void 0,v=o(this),y=s(v),m=f(v,0);return m.length=e(m,v,v,y,0,h===void 0?1:u(h)),m}})},54703:function(l,p,t){var r=t(14304),e=t(13349);r({target:"Array",proto:!0,forced:[].forEach!==e},{forEach:e})},82936:function(l,p,t){var r=t(14304),e=t(48258),o=t(97494),s=!o(function(u){Array.from(u)});r({target:"Array",stat:!0,forced:s},{from:e})},48493:function(l,p,t){var r=t(14304),e=t(94319).includes,o=t(72069),s=t(23811),u=o(function(){return!Array(1).includes()});r({target:"Array",proto:!0,forced:u},{includes:function(c){return e(this,c,arguments.length>1?arguments[1]:void 0)}}),s("includes")},64730:function(l,p,t){var r=t(14304),e=t(77422),o=t(94319).indexOf,s=t(6148),u=e([].indexOf),f=!!u&&1/u([1],1,-0)<0,c=f||!s("indexOf");r({target:"Array",proto:!0,forced:c},{indexOf:function(v){var y=arguments.length>1?arguments[1]:void 0;return f?u(this,v,y)||0:o(this,v,y)}})},95024:function(l,p,t){var r=t(14304),e=t(3438);r({target:"Array",stat:!0},{isArray:e})},35054:function(l,p,t){var r=t(36859),e=t(23811),o=t(29107),s=t(82367),u=t(7831).f,f=t(10218),c=t(10659),h=t(70457),v=t(92986),y="Array Iterator",m=s.set,E=s.getterFor(y);l.exports=f(Array,"Array",function(O,T){m(this,{type:y,target:r(O),index:0,kind:T})},function(){var O=E(this),T=O.target,N=O.index++;if(!T||N>=T.length)return O.target=null,c(void 0,!0);switch(O.kind){case"keys":return c(N,!1);case"values":return c(T[N],!1)}return c([N,T[N]],!1)},"values");var I=o.Arguments=o.Array;if(e("keys"),e("values"),e("entries"),!h&&v&&I.name!=="values")try{u(I,"name",{value:"values"})}catch(O){}},25460:function(l,p,t){var r=t(14304),e=t(11286),o=t(72181),s=t(36859),u=t(6148),f=e([].join),c=o!==Object,h=c||!u("join",",");r({target:"Array",proto:!0,forced:h},{join:function(y){return f(s(this),y===void 0?",":y)}})},60703:function(l,p,t){var r=t(14304),e=t(58465);r({target:"Array",proto:!0,forced:e!==[].lastIndexOf},{lastIndexOf:e})},90468:function(l,p,t){var r=t(14304),e=t(66655).map,o=t(52183),s=o("map");r({target:"Array",proto:!0,forced:!s},{map:function(f){return e(this,f,arguments.length>1?arguments[1]:void 0)}})},69581:function(l,p,t){var r=t(14304),e=t(72069),o=t(11051),s=t(84082),u=Array,f=e(function(){function c(){}return!(u.of.call(c)instanceof c)});r({target:"Array",stat:!0,forced:f},{of:function(){for(var h=0,v=arguments.length,y=new(o(this)?this:u)(v);v>h;)s(y,h,arguments[h++]);return y.length=v,y}})},720:function(l,p,t){var r=t(14304),e=t(49671),o=t(82628),s=t(2213),u=t(20095),f=t(72069),c=f(function(){return[].push.call({length:4294967296},1)!==4294967297}),h=function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(y){return y instanceof TypeError}},v=c||!h();r({target:"Array",proto:!0,arity:1,forced:v},{push:function(m){var E=e(this),I=o(E),O=arguments.length;u(I+O);for(var T=0;T79&&s<83,c=f||!o("reduceRight");r({target:"Array",proto:!0,forced:c},{reduceRight:function(v){return e(this,v,arguments.length,arguments.length>1?arguments[1]:void 0)}})},11042:function(l,p,t){var r=t(14304),e=t(97264).left,o=t(6148),s=t(44241),u=t(91707),f=!u&&s>79&&s<83,c=f||!o("reduce");r({target:"Array",proto:!0,forced:c},{reduce:function(v){var y=arguments.length;return e(this,v,y,y>1?arguments[1]:void 0)}})},24608:function(l,p,t){var r=t(14304),e=t(11286),o=t(3438),s=e([].reverse),u=[1,2];r({target:"Array",proto:!0,forced:String(u)===String(u.reverse())},{reverse:function(){return o(this)&&(this.length=this.length),s(this)}})},51644:function(l,p,t){var r=t(14304),e=t(3438),o=t(11051),s=t(37540),u=t(4652),f=t(82628),c=t(36859),h=t(84082),v=t(18565),y=t(52183),m=t(22806),E=y("slice"),I=v("species"),O=Array,T=Math.max;r({target:"Array",proto:!0,forced:!E},{slice:function(M,F){var D=c(this),w=f(D),$=u(M,w),B=u(F===void 0?w:F,w),H,X,Y;if(e(D)&&(H=D.constructor,o(H)&&(H===O||e(H.prototype))?H=void 0:s(H)&&(H=H[I],H===null&&(H=void 0)),H===O||H===void 0))return m(D,$,B);for(X=new(H===void 0?O:H)(T(B-$,0)),Y=0;$1?arguments[1]:void 0)}})},46828:function(l,p,t){var r=t(14304),e=t(11286),o=t(85156),s=t(49671),u=t(82628),f=t(12384),c=t(17361),h=t(72069),v=t(13270),y=t(6148),m=t(507),E=t(17417),I=t(44241),O=t(66577),T=[],N=e(T.sort),M=e(T.push),F=h(function(){T.sort(void 0)}),D=h(function(){T.sort(null)}),w=y("sort"),$=!h(function(){if(I)return I<70;if(!(m&&m>3)){if(E)return!0;if(O)return O<603;var X="",Y,k,ot,st;for(Y=65;Y<76;Y++){switch(k=String.fromCharCode(Y),Y){case 66:case 69:case 70:case 72:ot=3;break;case 68:case 71:ot=4;break;default:ot=2}for(st=0;st<47;st++)T.push({k:k+st,v:ot})}for(T.sort(function(tt,et){return et.v-tt.v}),st=0;stc(k)?1:-1}};r({target:"Array",proto:!0,forced:B},{sort:function(Y){Y!==void 0&&o(Y);var k=s(this);if($)return Y===void 0?N(k):N(k,Y);var ot=[],st=u(k),tt,et;for(et=0;etD-H+B;Y--)y(F,Y-1)}else if(B>H)for(Y=D-H;Y>w;Y--)k=Y+H-1,ot=Y+B-1,k in F?F[ot]=F[k]:y(F,ot);for(Y=0;Y=0&&v<=99?v+1900:v;return f(this,y)}})},33685:function(l,p,t){var r=t(14304);r({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString})},60086:function(l,p,t){var r=t(14304),e=t(11890);r({target:"Date",proto:!0,forced:Date.prototype.toISOString!==e},{toISOString:e})},96049:function(l,p,t){var r=t(14304),e=t(72069),o=t(49671),s=t(89935),u=e(function(){return new Date(NaN).toJSON()!==null||Date.prototype.toJSON.call({toISOString:function(){return 1}})!==1});r({target:"Date",proto:!0,arity:1,forced:u},{toJSON:function(c){var h=o(this),v=s(h,"number");return typeof v=="number"&&!isFinite(v)?null:h.toISOString()}})},14038:function(l,p,t){var r=t(94879),e=t(16142),o=t(84306),s=t(18565),u=s("toPrimitive"),f=Date.prototype;r(f,u)||e(f,u,o)},55518:function(l,p,t){var r=t(11286),e=t(16142),o=Date.prototype,s="Invalid Date",u="toString",f=r(o[u]),c=r(o.getTime);String(new Date(NaN))!==s&&e(o,u,function(){var v=c(this);return v===v?f(this):s})},81742:function(l,p,t){var r=t(14304),e=t(34246),o=t(66543),s=t(70003),u="WebAssembly",f=e[u],c=new Error("e",{cause:7}).cause!==7,h=function(y,m){var E={};E[y]=s(y,m,c),r({global:!0,constructor:!0,arity:1,forced:c},E)},v=function(y,m){if(f&&f[y]){var E={};E[y]=s(u+"."+y,m,c),r({target:u,stat:!0,constructor:!0,arity:1,forced:c},E)}};h("Error",function(y){return function(E){return o(y,this,arguments)}}),h("EvalError",function(y){return function(E){return o(y,this,arguments)}}),h("RangeError",function(y){return function(E){return o(y,this,arguments)}}),h("ReferenceError",function(y){return function(E){return o(y,this,arguments)}}),h("SyntaxError",function(y){return function(E){return o(y,this,arguments)}}),h("TypeError",function(y){return function(E){return o(y,this,arguments)}}),h("URIError",function(y){return function(E){return o(y,this,arguments)}}),v("CompileError",function(y){return function(E){return o(y,this,arguments)}}),v("LinkError",function(y){return function(E){return o(y,this,arguments)}}),v("RuntimeError",function(y){return function(E){return o(y,this,arguments)}})},8720:function(l,p,t){var r=t(16142),e=t(58434),o=Error.prototype;o.toString!==e&&r(o,"toString",e)},8894:function(l,p,t){var r=t(14304),e=t(11286),o=t(17361),s=e("".charAt),u=e("".charCodeAt),f=e(/./.exec),c=e(1 .toString),h=e("".toUpperCase),v=/[\w*+\-./@]/,y=function(m,E){for(var I=c(m,16);I.length9490626562425156e-8?s(y)+f:e(y-1+u(y-1)*u(y+1))}})},15656:function(l,p,t){var r=t(14304),e=Math.asinh,o=Math.log,s=Math.sqrt;function u(c){var h=+c;return!isFinite(h)||h===0?h:h<0?-u(-h):o(h+s(h*h+1))}var f=!(e&&1/e(0)>0);r({target:"Math",stat:!0,forced:f},{asinh:u})},22091:function(l,p,t){var r=t(14304),e=Math.atanh,o=Math.log,s=!(e&&1/e(-0)<0);r({target:"Math",stat:!0,forced:s},{atanh:function(f){var c=+f;return c===0?c:o((1+c)/(1-c))/2}})},2886:function(l,p,t){var r=t(14304),e=t(93976),o=Math.abs,s=Math.pow;r({target:"Math",stat:!0},{cbrt:function(f){var c=+f;return e(c)*s(o(c),.3333333333333333)}})},25895:function(l,p,t){var r=t(14304),e=Math.floor,o=Math.log,s=Math.LOG2E;r({target:"Math",stat:!0},{clz32:function(f){var c=f>>>0;return c?31-e(o(c+.5)*s):32}})},24228:function(l,p,t){var r=t(14304),e=t(98940),o=Math.cosh,s=Math.abs,u=Math.E,f=!o||o(710)===1/0;r({target:"Math",stat:!0,forced:f},{cosh:function(h){var v=e(s(h)-1)+1;return(v+1/(v*u*u))*(u/2)}})},79488:function(l,p,t){var r=t(14304),e=t(98940);r({target:"Math",stat:!0,forced:e!==Math.expm1},{expm1:e})},75987:function(l,p,t){var r=t(14304),e=t(93279);r({target:"Math",stat:!0},{fround:e})},81555:function(l,p,t){var r=t(14304),e=Math.hypot,o=Math.abs,s=Math.sqrt,u=!!e&&e(1/0,NaN)!==1/0;r({target:"Math",stat:!0,arity:2,forced:u},{hypot:function(c,h){for(var v=0,y=0,m=arguments.length,E=0,I,O;y0?(O=I/E,v+=O*O):v+=I;return E===1/0?1/0:E*s(v)}})},87854:function(l,p,t){var r=t(14304),e=t(72069),o=Math.imul,s=e(function(){return o(4294967295,5)!==-5||o.length!==2});r({target:"Math",stat:!0,forced:s},{imul:function(f,c){var h=65535,v=+f,y=+c,m=h&v,E=h&y;return 0|m*E+((h&v>>>16)*E+m*(h&y>>>16)<<16>>>0)}})},35074:function(l,p,t){var r=t(14304),e=t(41942);r({target:"Math",stat:!0},{log10:e})},50946:function(l,p,t){var r=t(14304),e=t(49366);r({target:"Math",stat:!0},{log1p:e})},29417:function(l,p,t){var r=t(14304),e=Math.log,o=Math.LN2;r({target:"Math",stat:!0},{log2:function(u){return e(u)/o}})},80628:function(l,p,t){var r=t(14304),e=t(93976);r({target:"Math",stat:!0},{sign:e})},74375:function(l,p,t){var r=t(14304),e=t(72069),o=t(98940),s=Math.abs,u=Math.exp,f=Math.E,c=e(function(){return Math.sinh(-2e-17)!==-2e-17});r({target:"Math",stat:!0,forced:c},{sinh:function(v){var y=+v;return s(y)<1?(o(y)-o(-y))/2:(u(y-1)-u(-y-1))*(f/2)}})},29708:function(l,p,t){var r=t(14304),e=t(98940),o=Math.exp;r({target:"Math",stat:!0},{tanh:function(u){var f=+u,c=e(f),h=e(-f);return c===1/0?1:h===1/0?-1:(c-h)/(o(f)+o(-f))}})},93449:function(l,p,t){var r=t(78401);r(Math,"Math",!0)},9111:function(l,p,t){var r=t(14304),e=t(22459);r({target:"Math",stat:!0},{trunc:e})},83514:function(l,p,t){var r=t(14304),e=t(70457),o=t(92986),s=t(34246),u=t(75081),f=t(11286),c=t(13278),h=t(94879),v=t(32345),y=t(95307),m=t(491),E=t(89935),I=t(72069),O=t(83258).f,T=t(71349).f,N=t(7831).f,M=t(34338),F=t(85900).trim,D="Number",w=s[D],$=u[D],B=w.prototype,H=s.TypeError,X=f("".slice),Y=f("".charCodeAt),k=function(gt){var Pt=E(gt,"number");return typeof Pt=="bigint"?Pt:ot(Pt)},ot=function(gt){var Pt=E(gt,"number"),Ot,Nt,It,qt,Qt,Jt,er,ir;if(m(Pt))throw new H("Cannot convert a Symbol value to a number");if(typeof Pt=="string"&&Pt.length>2){if(Pt=F(Pt),Ot=Y(Pt,0),Ot===43||Ot===45){if(Nt=Y(Pt,2),Nt===88||Nt===120)return NaN}else if(Ot===48){switch(Y(Pt,1)){case 66:case 98:It=2,qt=49;break;case 79:case 111:It=8,qt=55;break;default:return+Pt}for(Qt=X(Pt,2),Jt=Qt.length,er=0;erqt)return NaN;return parseInt(Qt,It)}}return+Pt},st=c(D,!w(" 0o1")||!w("0b1")||w("+0x1")),tt=function(gt){return y(B,gt)&&I(function(){M(gt)})},et=function(Pt){var Ot=arguments.length<1?0:w(k(Pt));return tt(this)?v(Object(Ot),this,et):Ot};et.prototype=B,st&&!e&&(B.constructor=et),r({global:!0,constructor:!0,wrap:!0,forced:st},{Number:et});var at=function(gt,Pt){for(var Ot=o?O(Pt):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),Nt=0,It;Ot.length>Nt;Nt++)h(Pt,It=Ot[Nt])&&!h(gt,It)&&N(gt,It,T(Pt,It))};e&&$&&at(u[D],$),(st||e)&&at(u[D],w)},15096:function(l,p,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)})},59590:function(l,p,t){var r=t(14304),e=t(98074);r({target:"Number",stat:!0},{isFinite:e})},99663:function(l,p,t){var r=t(14304),e=t(613);r({target:"Number",stat:!0},{isInteger:e})},89988:function(l,p,t){var r=t(14304);r({target:"Number",stat:!0},{isNaN:function(o){return o!==o}})},54427:function(l,p,t){var r=t(14304),e=t(613),o=Math.abs;r({target:"Number",stat:!0},{isSafeInteger:function(u){return e(u)&&o(u)<=9007199254740991}})},67895:function(l,p,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991})},57909:function(l,p,t){var r=t(14304);r({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991})},83938:function(l,p,t){var r=t(14304),e=t(25838);r({target:"Number",stat:!0,forced:Number.parseFloat!==e},{parseFloat:e})},55461:function(l,p,t){var r=t(14304),e=t(23009);r({target:"Number",stat:!0,forced:Number.parseInt!==e},{parseInt:e})},97339:function(l,p,t){var r=t(14304),e=t(11286),o=t(12105),s=t(34338),u=t(79719),f=t(41942),c=t(72069),h=RangeError,v=String,y=isFinite,m=Math.abs,E=Math.floor,I=Math.pow,O=Math.round,T=e(1 .toExponential),N=e(u),M=e("".slice),F=T(-69e-12,4)==="-6.9000e-11"&&T(1.255,2)==="1.25e+0"&&T(12345,3)==="1.235e+4"&&T(25,0)==="3e+1",D=function(){return c(function(){T(1,1/0)})&&c(function(){T(1,-1/0)})},w=function(){return!c(function(){T(1/0,1/0),T(NaN,1/0)})},$=!F||!D()||!w();r({target:"Number",proto:!0,forced:$},{toExponential:function(H){var X=s(this);if(H===void 0)return T(X);var Y=o(H);if(!y(X))return String(X);if(Y<0||Y>20)throw new h("Incorrect fraction digits");if(F)return T(X,Y);var k="",ot,st,tt,et;if(X<0&&(k="-",X=-X),X===0)st=0,ot=N("0",Y+1);else{var at=f(X);st=E(at);var gt=I(10,st-Y),Pt=O(X/gt);2*X>=(2*Pt+1)*gt&&(Pt+=1),Pt>=I(10,Y+1)&&(Pt/=10,st+=1),ot=v(Pt)}return Y!==0&&(ot=M(ot,0,1)+"."+M(ot,1)),st===0?(tt="+",et="0"):(tt=st>0?"+":"-",et=v(m(st))),ot+="e"+tt+et,k+ot}})},3670:function(l,p,t){var r=t(14304),e=t(11286),o=t(12105),s=t(34338),u=t(79719),f=t(72069),c=RangeError,h=String,v=Math.floor,y=e(u),m=e("".slice),E=e(1 .toFixed),I=function(D,w,$){return w===0?$:w%2===1?I(D,w-1,$*D):I(D*D,w/2,$)},O=function(D){for(var w=0,$=D;$>=4096;)w+=12,$/=4096;for(;$>=2;)w+=1,$/=2;return w},T=function(D,w,$){for(var B=-1,H=$;++B<6;)H+=w*D[B],D[B]=H%1e7,H=v(H/1e7)},N=function(D,w){for(var $=6,B=0;--$>=0;)B+=D[$],D[$]=v(B/w),B=B%w*1e7},M=function(D){for(var w=6,$="";--w>=0;)if($!==""||w===0||D[w]!==0){var B=h(D[w]);$=$===""?B:$+y("0",7-B.length)+B}return $},F=f(function(){return E(8e-5,3)!=="0.000"||E(.9,0)!=="1"||E(1.255,2)!=="1.25"||E(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!f(function(){E({})});r({target:"Number",proto:!0,forced:F},{toFixed:function(w){var $=s(this),B=o(w),H=[0,0,0,0,0,0],X="",Y="0",k,ot,st,tt;if(B<0||B>20)throw new c("Incorrect fraction digits");if($!==$)return"NaN";if($<=-1e21||$>=1e21)return h($);if($<0&&(X="-",$=-$),$>1e-21)if(k=O($*I(2,69,1))-69,ot=k<0?$*I(2,-k,1):$/I(2,k,1),ot*=4503599627370496,k=52-k,k>0){for(T(H,0,ot),st=B;st>=7;)T(H,1e7,0),st-=7;for(T(H,I(10,st,1),0),st=k-1;st>=23;)N(H,8388608),st-=23;N(H,1<0?(tt=Y.length,Y=X+(tt<=B?"0."+y("0",B-tt)+Y:m(Y,0,tt-B)+"."+m(Y,tt-B))):Y=X+Y,Y}})},15224:function(l,p,t){var r=t(14304),e=t(11286),o=t(72069),s=t(34338),u=e(1 .toPrecision),f=o(function(){return u(1,void 0)!=="1"})||!o(function(){u({})});r({target:"Number",proto:!0,forced:f},{toPrecision:function(h){return h===void 0?u(s(this)):u(s(this),h)}})},45891:function(l,p,t){var r=t(14304),e=t(16667);r({target:"Object",stat:!0,arity:2,forced:Object.assign!==e},{assign:e})},99910:function(l,p,t){var r=t(14304),e=t(92986),o=t(5406);r({target:"Object",stat:!0,sham:!e},{create:o})},92445:function(l,p,t){var r=t(14304),e=t(92986),o=t(57629),s=t(85156),u=t(49671),f=t(7831);e&&r({target:"Object",proto:!0,forced:o},{__defineGetter__:function(h,v){f.f(u(this),h,{get:s(v),enumerable:!0,configurable:!0})}})},21875:function(l,p,t){var r=t(14304),e=t(92986),o=t(61963).f;r({target:"Object",stat:!0,forced:Object.defineProperties!==o,sham:!e},{defineProperties:o})},4383:function(l,p,t){var r=t(14304),e=t(92986),o=t(7831).f;r({target:"Object",stat:!0,forced:Object.defineProperty!==o,sham:!e},{defineProperty:o})},11361:function(l,p,t){var r=t(14304),e=t(92986),o=t(57629),s=t(85156),u=t(49671),f=t(7831);e&&r({target:"Object",proto:!0,forced:o},{__defineSetter__:function(h,v){f.f(u(this),h,{set:s(v),enumerable:!0,configurable:!0})}})},13728:function(l,p,t){var r=t(14304),e=t(8511).entries;r({target:"Object",stat:!0},{entries:function(s){return e(s)}})},14885:function(l,p,t){var r=t(14304),e=t(27534),o=t(72069),s=t(37540),u=t(31853).onFreeze,f=Object.freeze,c=o(function(){f(1)});r({target:"Object",stat:!0,forced:c,sham:!e},{freeze:function(v){return f&&s(v)?f(u(v)):v}})},30343:function(l,p,t){var r=t(14304),e=t(55902),o=t(84082);r({target:"Object",stat:!0},{fromEntries:function(u){var f={};return e(u,function(c,h){o(f,c,h)},{AS_ENTRIES:!0}),f}})},22045:function(l,p,t){var r=t(14304),e=t(72069),o=t(36859),s=t(71349).f,u=t(92986),f=!u||e(function(){s(1)});r({target:"Object",stat:!0,forced:f,sham:!u},{getOwnPropertyDescriptor:function(h,v){return s(o(h),v)}})},75e3:function(l,p,t){var r=t(14304),e=t(92986),o=t(16885),s=t(36859),u=t(71349),f=t(84082);r({target:"Object",stat:!0,sham:!e},{getOwnPropertyDescriptors:function(h){for(var v=s(h),y=u.f,m=o(v),E={},I=0,O,T;m.length>I;)T=y(v,O=m[I++]),T!==void 0&&f(E,O,T);return E}})},64658:function(l,p,t){var r=t(14304),e=t(72069),o=t(92880).f,s=e(function(){return!Object.getOwnPropertyNames(1)});r({target:"Object",stat:!0,forced:s},{getOwnPropertyNames:o})},45223:function(l,p,t){var r=t(14304),e=t(39729),o=t(72069),s=t(24943),u=t(49671),f=!e||o(function(){s.f(1)});r({target:"Object",stat:!0,forced:f},{getOwnPropertySymbols:function(h){var v=s.f;return v?v(u(h)):[]}})},16017:function(l,p,t){var r=t(14304),e=t(72069),o=t(49671),s=t(26313),u=t(87501),f=e(function(){s(1)});r({target:"Object",stat:!0,forced:f,sham:!u},{getPrototypeOf:function(h){return s(o(h))}})},84681:function(l,p,t){var r=t(14304),e=t(38941),o=t(11286),s=t(85156),u=t(2068),f=t(50035),c=t(55902),h=t(72069),v=Object.groupBy,y=e("Object","create"),m=o([].push),E=!v||h(function(){return v("ab",function(I){return I}).a.length!==1});r({target:"Object",stat:!0,forced:E},{groupBy:function(O,T){u(O),s(T);var N=y(null),M=0;return c(O,function(F){var D=f(T(F,M++));D in N?m(N[D],F):N[D]=[F]}),N}})},73421:function(l,p,t){var r=t(14304),e=t(94879);r({target:"Object",stat:!0},{hasOwn:e})},31046:function(l,p,t){var r=t(14304),e=t(28174);r({target:"Object",stat:!0,forced:Object.isExtensible!==e},{isExtensible:e})},94645:function(l,p,t){var r=t(14304),e=t(72069),o=t(37540),s=t(14274),u=t(72058),f=Object.isFrozen,c=u||e(function(){f(1)});r({target:"Object",stat:!0,forced:c},{isFrozen:function(v){return!o(v)||u&&s(v)==="ArrayBuffer"?!0:f?f(v):!1}})},62935:function(l,p,t){var r=t(14304),e=t(72069),o=t(37540),s=t(14274),u=t(72058),f=Object.isSealed,c=u||e(function(){f(1)});r({target:"Object",stat:!0,forced:c},{isSealed:function(v){return!o(v)||u&&s(v)==="ArrayBuffer"?!0:f?f(v):!1}})},93446:function(l,p,t){var r=t(14304),e=t(13944);r({target:"Object",stat:!0},{is:e})},62518:function(l,p,t){var r=t(14304),e=t(49671),o=t(18350),s=t(72069),u=s(function(){o(1)});r({target:"Object",stat:!0,forced:u},{keys:function(c){return o(e(c))}})},45130:function(l,p,t){var r=t(14304),e=t(92986),o=t(57629),s=t(49671),u=t(50035),f=t(26313),c=t(71349).f;e&&r({target:"Object",proto:!0,forced:o},{__lookupGetter__:function(v){var y=s(this),m=u(v),E;do if(E=c(y,m))return E.get;while(y=f(y))}})},51542:function(l,p,t){var r=t(14304),e=t(92986),o=t(57629),s=t(49671),u=t(50035),f=t(26313),c=t(71349).f;e&&r({target:"Object",proto:!0,forced:o},{__lookupSetter__:function(v){var y=s(this),m=u(v),E;do if(E=c(y,m))return E.set;while(y=f(y))}})},43781:function(l,p,t){var r=t(14304),e=t(37540),o=t(31853).onFreeze,s=t(27534),u=t(72069),f=Object.preventExtensions,c=u(function(){f(1)});r({target:"Object",stat:!0,forced:c,sham:!s},{preventExtensions:function(v){return f&&e(v)?f(o(v)):v}})},25738:function(l,p,t){var r=t(92986),e=t(85500),o=t(37540),s=t(52427),u=t(49671),f=t(2068),c=Object.getPrototypeOf,h=Object.setPrototypeOf,v=Object.prototype,y="__proto__";if(r&&c&&h&&!(y in v))try{e(v,y,{configurable:!0,get:function(){return c(u(this))},set:function(E){var I=f(this);s(E)&&o(I)&&h(I,E)}})}catch(m){}},93247:function(l,p,t){var r=t(14304),e=t(37540),o=t(31853).onFreeze,s=t(27534),u=t(72069),f=Object.seal,c=u(function(){f(1)});r({target:"Object",stat:!0,forced:c,sham:!s},{seal:function(v){return f&&e(v)?f(o(v)):v}})},41533:function(l,p,t){var r=t(14304),e=t(15861);r({target:"Object",stat:!0},{setPrototypeOf:e})},60225:function(l,p,t){var r=t(67878),e=t(16142),o=t(60105);r||e(Object.prototype,"toString",o,{unsafe:!0})},69920:function(l,p,t){var r=t(14304),e=t(8511).values;r({target:"Object",stat:!0},{values:function(s){return e(s)}})},89205:function(l,p,t){var r=t(14304),e=t(25838);r({global:!0,forced:parseFloat!==e},{parseFloat:e})},78546:function(l,p,t){var r=t(14304),e=t(23009);r({global:!0,forced:parseInt!==e},{parseInt:e})},16893:function(l,p,t){var r=t(14304),e=t(96499),o=t(85156),s=t(24649),u=t(67805),f=t(55902),c=t(26035);r({target:"Promise",stat:!0,forced:c},{allSettled:function(v){var y=this,m=s.f(y),E=m.resolve,I=m.reject,O=u(function(){var T=o(y.resolve),N=[],M=0,F=1;f(v,function(D){var w=M++,$=!1;F++,e(T,y,D).then(function(B){$||($=!0,N[w]={status:"fulfilled",value:B},--F||E(N))},function(B){$||($=!0,N[w]={status:"rejected",reason:B},--F||E(N))})}),--F||E(N)});return O.error&&I(O.value),m.promise}})},11733:function(l,p,t){var r=t(14304),e=t(96499),o=t(85156),s=t(24649),u=t(67805),f=t(55902),c=t(26035);r({target:"Promise",stat:!0,forced:c},{all:function(v){var y=this,m=s.f(y),E=m.resolve,I=m.reject,O=u(function(){var T=o(y.resolve),N=[],M=0,F=1;f(v,function(D){var w=M++,$=!1;F++,e(T,y,D).then(function(B){$||($=!0,N[w]=B,--F||E(N))},I)}),--F||E(N)});return O.error&&I(O.value),m.promise}})},3676:function(l,p,t){var r=t(14304),e=t(96499),o=t(85156),s=t(38941),u=t(24649),f=t(67805),c=t(55902),h=t(26035),v="No one promise resolved";r({target:"Promise",stat:!0,forced:h},{any:function(m){var E=this,I=s("AggregateError"),O=u.f(E),T=O.resolve,N=O.reject,M=f(function(){var F=o(E.resolve),D=[],w=0,$=1,B=!1;c(m,function(H){var X=w++,Y=!1;$++,e(F,E,H).then(function(k){Y||B||(B=!0,T(k))},function(k){Y||B||(Y=!0,D[X]=k,--$||N(new I(D,v)))})}),--$||N(new I(D,v))});return M.error&&N(M.value),O.promise}})},14013:function(l,p,t){var r=t(14304),e=t(70457),o=t(37130).CONSTRUCTOR,s=t(98844),u=t(38941),f=t(23583),c=t(16142),h=s&&s.prototype;if(r({target:"Promise",proto:!0,forced:o,real:!0},{catch:function(y){return this.then(void 0,y)}}),!e&&f(s)){var v=u("Promise").prototype.catch;h.catch!==v&&c(h,"catch",v,{unsafe:!0})}},20238:function(l,p,t){var r=t(14304),e=t(70457),o=t(91707),s=t(34246),u=t(96499),f=t(16142),c=t(15861),h=t(78401),v=t(36167),y=t(85156),m=t(23583),E=t(37540),I=t(12833),O=t(16887),T=t(23115).set,N=t(9709),M=t(99095),F=t(67805),D=t(76895),w=t(82367),$=t(98844),B=t(37130),H=t(24649),X="Promise",Y=B.CONSTRUCTOR,k=B.REJECTION_EVENT,ot=B.SUBCLASSING,st=w.getterFor(X),tt=w.set,et=$&&$.prototype,at=$,gt=et,Pt=s.TypeError,Ot=s.document,Nt=s.process,It=H.f,qt=It,Qt=!!(Ot&&Ot.createEvent&&s.dispatchEvent),Jt="unhandledrejection",er="rejectionhandled",ir=0,Ar=1,xr=2,Er=1,Yt=2,tr,Sr,Ir,pr,Or=function(Ft){var cr;return E(Ft)&&m(cr=Ft.then)?cr:!1},Ur=function(Ft,cr){var vr=cr.value,ar=cr.state===Ar,rr=ar?Ft.ok:Ft.fail,jr=Ft.resolve,wr=Ft.reject,yt=Ft.domain,jt,Gt,Bt;try{rr?(ar||(cr.rejection===Yt&&Tr(cr),cr.rejection=Er),rr===!0?jt=vr:(yt&&yt.enter(),jt=rr(vr),yt&&(yt.exit(),Bt=!0)),jt===Ft.promise?wr(new Pt("Promise-chain cycle")):(Gt=Or(jt))?u(Gt,jt,jr,wr):jr(jt)):wr(vr)}catch(zt){yt&&!Bt&&yt.exit(),wr(zt)}},Lr=function(Ft,cr){Ft.notified||(Ft.notified=!0,N(function(){for(var vr=Ft.reactions,ar;ar=vr.get();)Ur(ar,Ft);Ft.notified=!1,cr&&!Ft.rejection&&mr(Ft)}))},Pr=function(Ft,cr,vr){var ar,rr;Qt?(ar=Ot.createEvent("Event"),ar.promise=cr,ar.reason=vr,ar.initEvent(Ft,!1,!0),s.dispatchEvent(ar)):ar={promise:cr,reason:vr},!k&&(rr=s["on"+Ft])?rr(ar):Ft===Jt&&M("Unhandled promise rejection",vr)},mr=function(Ft){u(T,s,function(){var cr=Ft.facade,vr=Ft.value,ar=Mr(Ft),rr;if(ar&&(rr=F(function(){o?Nt.emit("unhandledRejection",vr,cr):Pr(Jt,cr,vr)}),Ft.rejection=o||Mr(Ft)?Yt:Er,rr.error))throw rr.value})},Mr=function(Ft){return Ft.rejection!==Er&&!Ft.parent},Tr=function(Ft){u(T,s,function(){var cr=Ft.facade;o?Nt.emit("rejectionHandled",cr):Pr(er,cr,Ft.value)})},yr=function(Ft,cr,vr){return function(ar){Ft(cr,ar,vr)}},bt=function(Ft,cr,vr){Ft.done||(Ft.done=!0,vr&&(Ft=vr),Ft.value=cr,Ft.state=xr,Lr(Ft,!0))},Ht=function(Ft,cr,vr){if(!Ft.done){Ft.done=!0,vr&&(Ft=vr);try{if(Ft.facade===cr)throw new Pt("Promise can't be resolved itself");var ar=Or(cr);ar?N(function(){var rr={done:!1};try{u(ar,cr,yr(Ht,rr,Ft),yr(bt,rr,Ft))}catch(jr){bt(rr,jr,Ft)}}):(Ft.value=cr,Ft.state=Ar,Lr(Ft,!1))}catch(rr){bt({done:!1},rr,Ft)}}};if(Y&&(at=function(cr){I(this,gt),y(cr),u(tr,this);var vr=st(this);try{cr(yr(Ht,vr),yr(bt,vr))}catch(ar){bt(vr,ar)}},gt=at.prototype,tr=function(cr){tt(this,{type:X,done:!1,notified:!1,parent:!1,reactions:new D,rejection:!1,state:ir,value:null})},tr.prototype=f(gt,"then",function(cr,vr){var ar=st(this),rr=It(O(this,at));return ar.parent=!0,rr.ok=m(cr)?cr:!0,rr.fail=m(vr)&&vr,rr.domain=o?Nt.domain:void 0,ar.state===ir?ar.reactions.add(rr):N(function(){Ur(rr,ar)}),rr.promise}),Sr=function(){var Ft=new tr,cr=st(Ft);this.promise=Ft,this.resolve=yr(Ht,cr),this.reject=yr(bt,cr)},H.f=It=function(Ft){return Ft===at||Ft===Ir?new Sr(Ft):qt(Ft)},!e&&m($)&&et!==Object.prototype)){pr=et.then,ot||f(et,"then",function(cr,vr){var ar=this;return new at(function(rr,jr){u(pr,ar,rr,jr)}).then(cr,vr)},{unsafe:!0});try{delete et.constructor}catch(Ft){}c&&c(et,gt)}r({global:!0,constructor:!0,wrap:!0,forced:Y},{Promise:at}),h(at,X,!1,!0),v(X)},58361:function(l,p,t){var r=t(14304),e=t(70457),o=t(98844),s=t(72069),u=t(38941),f=t(23583),c=t(16887),h=t(87408),v=t(16142),y=o&&o.prototype,m=!!o&&s(function(){y.finally.call({then:function(){}},function(){})});if(r({target:"Promise",proto:!0,real:!0,forced:m},{finally:function(I){var O=c(this,u("Promise")),T=f(I);return this.then(T?function(N){return h(O,I()).then(function(){return N})}:I,T?function(N){return h(O,I()).then(function(){throw N})}:I)}}),!e&&f(o)){var E=u("Promise").prototype.finally;y.finally!==E&&v(y,"finally",E,{unsafe:!0})}},63616:function(l,p,t){t(20238),t(11733),t(14013),t(3037),t(36027),t(97282)},3037:function(l,p,t){var r=t(14304),e=t(96499),o=t(85156),s=t(24649),u=t(67805),f=t(55902),c=t(26035);r({target:"Promise",stat:!0,forced:c},{race:function(v){var y=this,m=s.f(y),E=m.reject,I=u(function(){var O=o(y.resolve);f(v,function(T){e(O,y,T).then(m.resolve,E)})});return I.error&&E(I.value),m.promise}})},36027:function(l,p,t){var r=t(14304),e=t(24649),o=t(37130).CONSTRUCTOR;r({target:"Promise",stat:!0,forced:o},{reject:function(u){var f=e.f(this),c=f.reject;return c(u),f.promise}})},97282:function(l,p,t){var r=t(14304),e=t(38941),o=t(70457),s=t(98844),u=t(37130).CONSTRUCTOR,f=t(87408),c=e("Promise"),h=o&&!u;r({target:"Promise",stat:!0,forced:o||u},{resolve:function(y){return f(h&&this===c?s:this,y)}})},7487:function(l,p,t){var r=t(14304),e=t(34246),o=t(66543),s=t(22806),u=t(24649),f=t(85156),c=t(67805),h=e.Promise,v=!1,y=!h||!h.try||c(function(){h.try(function(m){v=m===8},8)}).error||!v;r({target:"Promise",stat:!0,forced:y},{try:function(m){var E=arguments.length>1?s(arguments,1):[],I=u.f(this),O=c(function(){return o(f(m),void 0,E)});return(O.error?I.reject:I.resolve)(O.value),I.promise}})},23958:function(l,p,t){var r=t(14304),e=t(24649);r({target:"Promise",stat:!0},{withResolvers:function(){var s=e.f(this);return{promise:s.promise,resolve:s.resolve,reject:s.reject}}})},9798:function(l,p,t){var r=t(14304),e=t(66543),o=t(85156),s=t(25001),u=t(72069),f=!u(function(){Reflect.apply(function(){})});r({target:"Reflect",stat:!0,forced:f},{apply:function(h,v,y){return e(o(h),v,s(y))}})},2371:function(l,p,t){var r=t(14304),e=t(38941),o=t(66543),s=t(91384),u=t(80042),f=t(25001),c=t(37540),h=t(5406),v=t(72069),y=e("Reflect","construct"),m=Object.prototype,E=[].push,I=v(function(){function N(){}return!(y(function(){},[],N)instanceof N)}),O=!v(function(){y(function(){})}),T=I||O;r({target:"Reflect",stat:!0,forced:T,sham:T},{construct:function(M,F){u(M),f(F);var D=arguments.length<3?M:u(arguments[2]);if(O&&!I)return y(M,F,D);if(M===D){switch(F.length){case 0:return new M;case 1:return new M(F[0]);case 2:return new M(F[0],F[1]);case 3:return new M(F[0],F[1],F[2]);case 4:return new M(F[0],F[1],F[2],F[3])}var w=[null];return o(E,w,F),new(o(s,M,w))}var $=D.prototype,B=h(c($)?$:m),H=o(M,B,F);return c(H)?H:B}})},76185:function(l,p,t){var r=t(14304),e=t(92986),o=t(25001),s=t(50035),u=t(7831),f=t(72069),c=f(function(){Reflect.defineProperty(u.f({},1,{value:1}),1,{value:2})});r({target:"Reflect",stat:!0,forced:c,sham:!e},{defineProperty:function(v,y,m){o(v);var E=s(y);o(m);try{return u.f(v,E,m),!0}catch(I){return!1}}})},76553:function(l,p,t){var r=t(14304),e=t(25001),o=t(71349).f;r({target:"Reflect",stat:!0},{deleteProperty:function(u,f){var c=o(e(u),f);return c&&!c.configurable?!1:delete u[f]}})},25227:function(l,p,t){var r=t(14304),e=t(92986),o=t(25001),s=t(71349);r({target:"Reflect",stat:!0,sham:!e},{getOwnPropertyDescriptor:function(f,c){return s.f(o(f),c)}})},91723:function(l,p,t){var r=t(14304),e=t(25001),o=t(26313),s=t(87501);r({target:"Reflect",stat:!0,sham:!s},{getPrototypeOf:function(f){return o(e(f))}})},93518:function(l,p,t){var r=t(14304),e=t(96499),o=t(37540),s=t(25001),u=t(69745),f=t(71349),c=t(26313);function h(v,y){var m=arguments.length<3?v:arguments[2],E,I;if(s(v)===m)return v[y];if(E=f.f(v,y),E)return u(E)?E.value:E.get===void 0?void 0:e(E.get,m);if(o(I=c(v)))return h(I,y,m)}r({target:"Reflect",stat:!0},{get:h})},57882:function(l,p,t){var r=t(14304);r({target:"Reflect",stat:!0},{has:function(o,s){return s in o}})},37796:function(l,p,t){var r=t(14304),e=t(25001),o=t(28174);r({target:"Reflect",stat:!0},{isExtensible:function(u){return e(u),o(u)}})},11563:function(l,p,t){var r=t(14304),e=t(16885);r({target:"Reflect",stat:!0},{ownKeys:e})},26159:function(l,p,t){var r=t(14304),e=t(38941),o=t(25001),s=t(27534);r({target:"Reflect",stat:!0,sham:!s},{preventExtensions:function(f){o(f);try{var c=e("Object","preventExtensions");return c&&c(f),!0}catch(h){return!1}}})},77487:function(l,p,t){var r=t(14304),e=t(25001),o=t(53408),s=t(15861);s&&r({target:"Reflect",stat:!0},{setPrototypeOf:function(f,c){e(f),o(c);try{return s(f,c),!0}catch(h){return!1}}})},20962:function(l,p,t){var r=t(14304),e=t(96499),o=t(25001),s=t(37540),u=t(69745),f=t(72069),c=t(7831),h=t(71349),v=t(26313),y=t(18526);function m(I,O,T){var N=arguments.length<4?I:arguments[3],M=h.f(o(I),O),F,D,w;if(!M){if(s(D=v(I)))return m(D,O,T,N);M=y(0)}if(u(M)){if(M.writable===!1||!s(N))return!1;if(F=h.f(N,O)){if(F.get||F.set||F.writable===!1)return!1;F.value=T,c.f(N,O,F)}else c.f(N,O,y(0,T))}else{if(w=M.set,w===void 0)return!1;e(w,N,T)}return!0}var E=f(function(){var I=function(){},O=c.f(new I,"a",{configurable:!0});return Reflect.set(I.prototype,"a",1,O)!==!1});r({target:"Reflect",stat:!0,forced:E},{set:m})},6130:function(l,p,t){var r=t(14304),e=t(34246),o=t(78401);r({global:!0},{Reflect:{}}),o(e.Reflect,"Reflect",!0)},1354:function(l,p,t){var r=t(92986),e=t(34246),o=t(11286),s=t(13278),u=t(32345),f=t(90809),c=t(5406),h=t(83258).f,v=t(95307),y=t(11566),m=t(17361),E=t(54932),I=t(39807),O=t(2594),T=t(16142),N=t(72069),M=t(94879),F=t(82367).enforce,D=t(36167),w=t(18565),$=t(76769),B=t(85220),H=w("match"),X=e.RegExp,Y=X.prototype,k=e.SyntaxError,ot=o(Y.exec),st=o("".charAt),tt=o("".replace),et=o("".indexOf),at=o("".slice),gt=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,Pt=/a/g,Ot=/a/g,Nt=new X(Pt)!==Pt,It=I.MISSED_STICKY,qt=I.UNSUPPORTED_Y,Qt=r&&(!Nt||It||$||B||N(function(){return Ot[H]=!1,X(Pt)!==Pt||X(Ot)===Ot||String(X(Pt,"i"))!=="/a/i"})),Jt=function(Er){for(var Yt=Er.length,tr=0,Sr="",Ir=!1,pr;tr<=Yt;tr++){if(pr=st(Er,tr),pr==="\\"){Sr+=pr+st(Er,++tr);continue}!Ir&&pr==="."?Sr+="[\\s\\S]":(pr==="["?Ir=!0:pr==="]"&&(Ir=!1),Sr+=pr)}return Sr},er=function(Er){for(var Yt=Er.length,tr=0,Sr="",Ir=[],pr=c(null),Or=!1,Ur=!1,Lr=0,Pr="",mr;tr<=Yt;tr++){if(mr=st(Er,tr),mr==="\\")mr+=st(Er,++tr);else if(mr==="]")Or=!1;else if(!Or)switch(!0){case mr==="[":Or=!0;break;case mr==="(":if(Sr+=mr,at(Er,tr+1,tr+3)==="?:")continue;ot(gt,at(Er,tr+1))&&(tr+=2,Ur=!0),Lr++;continue;case(mr===">"&&Ur):if(Pr===""||M(pr,Pr))throw new k("Invalid capture group name");pr[Pr]=!0,Ir[Ir.length]=[Pr,Lr],Ur=!1,Pr="";continue}Ur?Pr+=mr:Sr+=mr}return[Sr,Ir]};if(s("RegExp",Qt)){for(var ir=function(Yt,tr){var Sr=v(Y,this),Ir=y(Yt),pr=tr===void 0,Or=[],Ur=Yt,Lr,Pr,mr,Mr,Tr,yr;if(!Sr&&Ir&&pr&&Yt.constructor===ir)return Yt;if((Ir||v(Y,Yt))&&(Yt=Yt.source,pr&&(tr=E(Ur))),Yt=Yt===void 0?"":m(Yt),tr=tr===void 0?"":m(tr),Ur=Yt,$&&"dotAll"in Pt&&(Pr=!!tr&&et(tr,"s")>-1,Pr&&(tr=tt(tr,/s/g,""))),Lr=tr,It&&"sticky"in Pt&&(mr=!!tr&&et(tr,"y")>-1,mr&&qt&&(tr=tt(tr,/y/g,""))),B&&(Mr=er(Yt),Yt=Mr[0],Or=Mr[1]),Tr=u(X(Yt,tr),Sr?this:Y,ir),(Pr||mr||Or.length)&&(yr=F(Tr),Pr&&(yr.dotAll=!0,yr.raw=ir(Jt(Yt),Lr)),mr&&(yr.sticky=!0),Or.length&&(yr.groups=Or)),Yt!==Ur)try{f(Tr,"source",Ur===""?"(?:)":Ur)}catch(bt){}return Tr},Ar=h(X),xr=0;Ar.length>xr;)O(ir,X,Ar[xr++]);Y.constructor=ir,ir.prototype=Y,T(e,"RegExp",ir,{constructor:!0})}D("RegExp")},47119:function(l,p,t){var r=t(92986),e=t(76769),o=t(14274),s=t(85500),u=t(82367).get,f=RegExp.prototype,c=TypeError;r&&e&&s(f,"dotAll",{configurable:!0,get:function(){if(this!==f){if(o(this)==="RegExp")return!!u(this).dotAll;throw new c("Incompatible receiver, RegExp required")}}})},31145:function(l,p,t){var r=t(14304),e=t(44381);r({target:"RegExp",proto:!0,forced:/./.exec!==e},{exec:e})},96773:function(l,p,t){var r=t(34246),e=t(92986),o=t(85500),s=t(29833),u=t(72069),f=r.RegExp,c=f.prototype,h=e&&u(function(){var v=!0;try{f(".","d")}catch(M){v=!1}var y={},m="",E=v?"dgimsy":"gimsy",I=function(M,F){Object.defineProperty(y,M,{get:function(){return m+=F,!0}})},O={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};v&&(O.hasIndices="d");for(var T in O)I(T,O[T]);var N=Object.getOwnPropertyDescriptor(c,"flags").get.call(y);return N!==E||m!==E});h&&o(c,"flags",{configurable:!0,get:s})},14371:function(l,p,t){var r=t(92986),e=t(39807).MISSED_STICKY,o=t(14274),s=t(85500),u=t(82367).get,f=RegExp.prototype,c=TypeError;r&&e&&s(f,"sticky",{configurable:!0,get:function(){if(this!==f){if(o(this)==="RegExp")return!!u(this).sticky;throw new c("Incompatible receiver, RegExp required")}}})},18180:function(l,p,t){t(31145);var r=t(14304),e=t(96499),o=t(23583),s=t(25001),u=t(17361),f=function(){var h=!1,v=/[ac]/;return v.exec=function(){return h=!0,/./.exec.apply(this,arguments)},v.test("abc")===!0&&h}(),c=/./.test;r({target:"RegExp",proto:!0,forced:!f},{test:function(h){var v=s(this),y=u(h),m=v.exec;if(!o(m))return e(c,v,y);var E=e(m,v,y);return E===null?!1:(s(E),!0)}})},83147:function(l,p,t){var r=t(86588).PROPER,e=t(16142),o=t(25001),s=t(17361),u=t(72069),f=t(54932),c="toString",h=RegExp.prototype,v=h[c],y=u(function(){return v.call({source:"a",flags:"b"})!=="/a/b"}),m=r&&v.name!==c;(y||m)&&e(h,c,function(){var I=o(this),O=s(I.source),T=s(f(I));return"/"+O+"/"+T},{unsafe:!0})},6583:function(l,p,t){var r=t(89378),e=t(34440);r("Set",function(o){return function(){return o(this,arguments.length?arguments[0]:void 0)}},e)},86548:function(l,p,t){var r=t(14304),e=t(41754),o=t(94118);r({target:"Set",proto:!0,real:!0,forced:!o("difference")},{difference:e})},15282:function(l,p,t){var r=t(14304),e=t(72069),o=t(92292),s=t(94118),u=!s("intersection")||e(function(){return String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))!=="3,2"});r({target:"Set",proto:!0,real:!0,forced:u},{intersection:o})},51275:function(l,p,t){var r=t(14304),e=t(47391),o=t(94118);r({target:"Set",proto:!0,real:!0,forced:!o("isDisjointFrom")},{isDisjointFrom:e})},91890:function(l,p,t){var r=t(14304),e=t(75492),o=t(94118);r({target:"Set",proto:!0,real:!0,forced:!o("isSubsetOf")},{isSubsetOf:e})},15089:function(l,p,t){var r=t(14304),e=t(1333),o=t(94118);r({target:"Set",proto:!0,real:!0,forced:!o("isSupersetOf")},{isSupersetOf:e})},75765:function(l,p,t){t(6583)},78134:function(l,p,t){var r=t(14304),e=t(64680),o=t(94118);r({target:"Set",proto:!0,real:!0,forced:!o("symmetricDifference")},{symmetricDifference:e})},56456:function(l,p,t){var r=t(14304),e=t(70402),o=t(94118);r({target:"Set",proto:!0,real:!0,forced:!o("union")},{union:e})},70641:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("anchor")},{anchor:function(u){return e(this,"a","name",u)}})},40735:function(l,p,t){var r=t(14304),e=t(11286),o=t(2068),s=t(12105),u=t(17361),f=t(72069),c=e("".charAt),h=f(function(){return"\u{20BB7}".at(-2)!=="\uD842"});r({target:"String",proto:!0,forced:h},{at:function(y){var m=u(o(this)),E=m.length,I=s(y),O=I>=0?I:E+I;return O<0||O>=E?void 0:c(m,O)}})},53892:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("big")},{big:function(){return e(this,"big","","")}})},95976:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("blink")},{blink:function(){return e(this,"blink","","")}})},399:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("bold")},{bold:function(){return e(this,"b","","")}})},8510:function(l,p,t){var r=t(14304),e=t(22149).codeAt;r({target:"String",proto:!0},{codePointAt:function(s){return e(this,s)}})},70159:function(l,p,t){var r=t(14304),e=t(77422),o=t(71349).f,s=t(45344),u=t(17361),f=t(92337),c=t(2068),h=t(8790),v=t(70457),y=e("".slice),m=Math.min,E=h("endsWith"),I=!v&&!E&&!!function(){var O=o(String.prototype,"endsWith");return O&&!O.writable}();r({target:"String",proto:!0,forced:!I&&!E},{endsWith:function(T){var N=u(c(this));f(T);var M=arguments.length>1?arguments[1]:void 0,F=N.length,D=M===void 0?F:m(s(M),F),w=u(T);return y(N,D-w.length,D)===w}})},72032:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("fixed")},{fixed:function(){return e(this,"tt","","")}})},49442:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("fontcolor")},{fontcolor:function(u){return e(this,"font","color",u)}})},16012:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("fontsize")},{fontsize:function(u){return e(this,"font","size",u)}})},93087:function(l,p,t){var r=t(14304),e=t(11286),o=t(4652),s=RangeError,u=String.fromCharCode,f=String.fromCodePoint,c=e([].join),h=!!f&&f.length!==1;r({target:"String",stat:!0,arity:1,forced:h},{fromCodePoint:function(y){for(var m=[],E=arguments.length,I=0,O;E>I;){if(O=+arguments[I++],o(O,1114111)!==O)throw new s(O+" is not a valid code point");m[I]=O<65536?u(O):u(((O-=65536)>>10)+55296,O%1024+56320)}return c(m,"")}})},26021:function(l,p,t){var r=t(14304),e=t(11286),o=t(92337),s=t(2068),u=t(17361),f=t(8790),c=e("".indexOf);r({target:"String",proto:!0,forced:!f("includes")},{includes:function(v){return!!~c(u(s(this)),u(o(v)),arguments.length>1?arguments[1]:void 0)}})},93029:function(l,p,t){var r=t(14304),e=t(11286),o=t(2068),s=t(17361),u=e("".charCodeAt);r({target:"String",proto:!0},{isWellFormed:function(){for(var c=s(o(this)),h=c.length,v=0;v=56320||++v>=h||(u(c,v)&64512)!==56320))return!1}return!0}})},9943:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("italics")},{italics:function(){return e(this,"i","","")}})},59158:function(l,p,t){var r=t(22149).charAt,e=t(17361),o=t(82367),s=t(10218),u=t(10659),f="String Iterator",c=o.set,h=o.getterFor(f);s(String,"String",function(v){c(this,{type:f,string:e(v),index:0})},function(){var y=h(this),m=y.string,E=y.index,I;return E>=m.length?u(void 0,!0):(I=r(m,E),y.index+=I.length,u(I,!1))})},33128:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("link")},{link:function(u){return e(this,"a","href",u)}})},18509:function(l,p,t){var r=t(14304),e=t(96499),o=t(77422),s=t(26820),u=t(10659),f=t(2068),c=t(45344),h=t(17361),v=t(25001),y=t(5683),m=t(14274),E=t(11566),I=t(54932),O=t(10512),T=t(16142),N=t(72069),M=t(18565),F=t(16887),D=t(24487),w=t(33064),$=t(82367),B=t(70457),H=M("matchAll"),X="RegExp String",Y=X+" Iterator",k=$.set,ot=$.getterFor(Y),st=RegExp.prototype,tt=TypeError,et=o("".indexOf),at=o("".matchAll),gt=!!at&&!N(function(){at("a",/./)}),Pt=s(function(It,qt,Qt,Jt){k(this,{type:Y,regexp:It,string:qt,global:Qt,unicode:Jt,done:!1})},X,function(){var It=ot(this);if(It.done)return u(void 0,!0);var qt=It.regexp,Qt=It.string,Jt=w(qt,Qt);return Jt===null?(It.done=!0,u(void 0,!0)):It.global?(h(Jt[0])===""&&(qt.lastIndex=D(Qt,c(qt.lastIndex),It.unicode)),u(Jt,!1)):(It.done=!0,u(Jt,!1))}),Ot=function(Nt){var It=v(this),qt=h(Nt),Qt=F(It,RegExp),Jt=h(I(It)),er,ir,Ar;return er=new Qt(Qt===RegExp?It.source:It,Jt),ir=!!~et(Jt,"g"),Ar=!!~et(Jt,"u"),er.lastIndex=c(It.lastIndex),new Pt(er,qt,ir,Ar)};r({target:"String",proto:!0,forced:gt},{matchAll:function(It){var qt=f(this),Qt,Jt,er,ir;if(y(It)){if(gt)return at(qt,It)}else{if(E(It)&&(Qt=h(f(I(It))),!~et(Qt,"g")))throw new tt("`.matchAll` does not allow non-global regexes");if(gt)return at(qt,It);if(er=O(It,H),er===void 0&&B&&m(It)==="RegExp"&&(er=Ot),er)return e(er,It,qt)}return Jt=h(qt),ir=new RegExp(It,"g"),B?e(Ot,ir,Jt):ir[H](Jt)}}),B||H in st||T(st,H,Ot)},15599:function(l,p,t){var r=t(96499),e=t(63194),o=t(25001),s=t(5683),u=t(45344),f=t(17361),c=t(2068),h=t(10512),v=t(24487),y=t(33064);e("match",function(m,E,I){return[function(T){var N=c(this),M=s(T)?void 0:h(T,m);return M?r(M,T,N):new RegExp(T)[m](f(N))},function(O){var T=o(this),N=f(O),M=I(E,T,N);if(M.done)return M.value;if(!T.global)return y(T,N);var F=T.unicode;T.lastIndex=0;for(var D=[],w=0,$;($=y(T,N))!==null;){var B=f($[0]);D[w]=B,B===""&&(T.lastIndex=v(N,u(T.lastIndex),F)),w++}return w===0?null:D}]})},21579:function(l,p,t){var r=t(14304),e=t(61607).end,o=t(36945);r({target:"String",proto:!0,forced:o},{padEnd:function(u){return e(this,u,arguments.length>1?arguments[1]:void 0)}})},8854:function(l,p,t){var r=t(14304),e=t(61607).start,o=t(36945);r({target:"String",proto:!0,forced:o},{padStart:function(u){return e(this,u,arguments.length>1?arguments[1]:void 0)}})},57676:function(l,p,t){var r=t(14304),e=t(11286),o=t(36859),s=t(49671),u=t(17361),f=t(82628),c=e([].push),h=e([].join);r({target:"String",stat:!0},{raw:function(y){var m=o(s(y).raw),E=f(m);if(!E)return"";for(var I=arguments.length,O=[],T=0;;){if(c(O,u(m[T++])),T===E)return h(O,"");Tot.length?-1:N(ot,st,gt+at);return Ot")!=="7"});s("replace",function(tt,et,at){var gt=ot?"$":"$0";return[function(Ot,Nt){var It=E(this),qt=h(Ot)?void 0:O(Ot,F);return qt?e(qt,Ot,It,Nt):e(et,m(It),Ot,Nt)},function(Pt,Ot){var Nt=f(this),It=m(Pt);if(typeof Ot=="string"&&H(Ot,gt)===-1&&H(Ot,"$<")===-1){var qt=at(et,Nt,It,Ot);if(qt.done)return qt.value}var Qt=c(Ot);Qt||(Ot=m(Ot));var Jt=Nt.global,er;Jt&&(er=Nt.unicode,Nt.lastIndex=0);for(var ir=[],Ar;Ar=N(Nt,It),!(Ar===null||(B(ir,Ar),!Jt));){var xr=m(Ar[0]);xr===""&&(Nt.lastIndex=I(It,y(Nt.lastIndex),er))}for(var Er="",Yt=0,tr=0;tr=Yt&&(Er+=X(It,Yt,Ir)+Or,Yt=Ir+Sr.length)}return Er+X(It,Yt)}]},!st||!k||ot)},74980:function(l,p,t){var r=t(96499),e=t(63194),o=t(25001),s=t(5683),u=t(2068),f=t(13944),c=t(17361),h=t(10512),v=t(33064);e("search",function(y,m,E){return[function(O){var T=u(this),N=s(O)?void 0:h(O,y);return N?r(N,O,T):new RegExp(O)[y](c(T))},function(I){var O=o(this),T=c(I),N=E(m,O,T);if(N.done)return N.value;var M=O.lastIndex;f(M,0)||(O.lastIndex=0);var F=v(O,T);return f(O.lastIndex,M)||(O.lastIndex=M),F===null?-1:F.index}]})},95625:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("small")},{small:function(){return e(this,"small","","")}})},390:function(l,p,t){var r=t(96499),e=t(11286),o=t(63194),s=t(25001),u=t(5683),f=t(2068),c=t(16887),h=t(24487),v=t(45344),y=t(17361),m=t(10512),E=t(33064),I=t(39807),O=t(72069),T=I.UNSUPPORTED_Y,N=4294967295,M=Math.min,F=e([].push),D=e("".slice),w=!O(function(){var B=/(?:)/,H=B.exec;B.exec=function(){return H.apply(this,arguments)};var X="ab".split(B);return X.length!==2||X[0]!=="a"||X[1]!=="b"}),$="abbc".split(/(b)*/)[1]==="c"||"test".split(/(?:)/,-1).length!==4||"ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||".".split(/()()/).length>1||"".split(/.?/).length;o("split",function(B,H,X){var Y="0".split(void 0,0).length?function(k,ot){return k===void 0&&ot===0?[]:r(H,this,k,ot)}:H;return[function(ot,st){var tt=f(this),et=u(ot)?void 0:m(ot,B);return et?r(et,ot,tt,st):r(Y,y(tt),ot,st)},function(k,ot){var st=s(this),tt=y(k);if(!$){var et=X(Y,st,tt,ot,Y!==H);if(et.done)return et.value}var at=c(st,RegExp),gt=st.unicode,Pt=(st.ignoreCase?"i":"")+(st.multiline?"m":"")+(st.unicode?"u":"")+(T?"g":"y"),Ot=new at(T?"^(?:"+st.source+")":st,Pt),Nt=ot===void 0?N:ot>>>0;if(Nt===0)return[];if(tt.length===0)return E(Ot,tt)===null?[tt]:[];for(var It=0,qt=0,Qt=[];qt1?arguments[1]:void 0,N.length)),F=u(T);return y(N,M,M+F.length)===F}})},90614:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("strike")},{strike:function(){return e(this,"strike","","")}})},60120:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("sub")},{sub:function(){return e(this,"sub","","")}})},21293:function(l,p,t){var r=t(14304),e=t(11286),o=t(2068),s=t(12105),u=t(17361),f=e("".slice),c=Math.max,h=Math.min,v=!"".substr||"ab".substr(-1)!=="b";r({target:"String",proto:!0,forced:v},{substr:function(m,E){var I=u(o(this)),O=I.length,T=s(m),N,M;return T===1/0&&(T=0),T<0&&(T=c(O+T,0)),N=E===void 0?O:s(E),N<=0||N===1/0?"":(M=h(T+N,O),T>=M?"":f(I,T,M))}})},75826:function(l,p,t){var r=t(14304),e=t(68422),o=t(5287);r({target:"String",proto:!0,forced:o("sup")},{sup:function(){return e(this,"sup","","")}})},18184:function(l,p,t){var r=t(14304),e=t(96499),o=t(11286),s=t(2068),u=t(17361),f=t(72069),c=Array,h=o("".charAt),v=o("".charCodeAt),y=o([].join),m="".toWellFormed,E="\uFFFD",I=m&&f(function(){return e(m,1)!=="1"});r({target:"String",proto:!0,forced:I},{toWellFormed:function(){var T=u(s(this));if(I)return e(m,T);for(var N=T.length,M=c(N),F=0;F=56320||F+1>=N||(v(T,F+1)&64512)!==56320?M[F]=E:(M[F]=h(T,F),M[++F]=h(T,F))}return y(M,"")}})},19680:function(l,p,t){t(23283);var r=t(14304),e=t(75176);r({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==e},{trimEnd:e})},12272:function(l,p,t){var r=t(14304),e=t(83481);r({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==e},{trimLeft:e})},23283:function(l,p,t){var r=t(14304),e=t(75176);r({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==e},{trimRight:e})},4193:function(l,p,t){t(12272);var r=t(14304),e=t(83481);r({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==e},{trimStart:e})},75012:function(l,p,t){var r=t(14304),e=t(85900).trim,o=t(33328);r({target:"String",proto:!0,forced:o("trim")},{trim:function(){return e(this)}})},43606:function(l,p,t){var r=t(83749);r("asyncIterator")},51767:function(l,p,t){var r=t(14304),e=t(34246),o=t(96499),s=t(11286),u=t(70457),f=t(92986),c=t(39729),h=t(72069),v=t(94879),y=t(95307),m=t(25001),E=t(36859),I=t(50035),O=t(17361),T=t(18526),N=t(5406),M=t(18350),F=t(83258),D=t(92880),w=t(24943),$=t(71349),B=t(7831),H=t(61963),X=t(79591),Y=t(16142),k=t(85500),ot=t(96731),st=t(44869),tt=t(19423),et=t(36374),at=t(18565),gt=t(56529),Pt=t(83749),Ot=t(60796),Nt=t(78401),It=t(82367),qt=t(66655).forEach,Qt=st("hidden"),Jt="Symbol",er="prototype",ir=It.set,Ar=It.getterFor(Jt),xr=Object[er],Er=e.Symbol,Yt=Er&&Er[er],tr=e.RangeError,Sr=e.TypeError,Ir=e.QObject,pr=$.f,Or=B.f,Ur=D.f,Lr=X.f,Pr=s([].push),mr=ot("symbols"),Mr=ot("op-symbols"),Tr=ot("wks"),yr=!Ir||!Ir[er]||!Ir[er].findChild,bt=function(jt,Gt,Bt){var zt=pr(xr,Gt);zt&&delete xr[Gt],Or(jt,Gt,Bt),zt&&jt!==xr&&Or(xr,Gt,zt)},Ht=f&&h(function(){return N(Or({},"a",{get:function(){return Or(this,"a",{value:7}).a}})).a!==7})?bt:Or,Ft=function(jt,Gt){var Bt=mr[jt]=N(Yt);return ir(Bt,{type:Jt,tag:jt,description:Gt}),f||(Bt.description=Gt),Bt},cr=function(Gt,Bt,zt){Gt===xr&&cr(Mr,Bt,zt),m(Gt);var lt=I(Bt);return m(zt),v(mr,lt)?(zt.enumerable?(v(Gt,Qt)&&Gt[Qt][lt]&&(Gt[Qt][lt]=!1),zt=N(zt,{enumerable:T(0,!1)})):(v(Gt,Qt)||Or(Gt,Qt,T(1,N(null))),Gt[Qt][lt]=!0),Ht(Gt,lt,zt)):Or(Gt,lt,zt)},vr=function(Gt,Bt){m(Gt);var zt=E(Bt),lt=M(zt).concat(yt(zt));return qt(lt,function(Ut){(!f||o(rr,zt,Ut))&&cr(Gt,Ut,zt[Ut])}),Gt},ar=function(Gt,Bt){return Bt===void 0?N(Gt):vr(N(Gt),Bt)},rr=function(Gt){var Bt=I(Gt),zt=o(Lr,this,Bt);return this===xr&&v(mr,Bt)&&!v(Mr,Bt)?!1:zt||!v(this,Bt)||!v(mr,Bt)||v(this,Qt)&&this[Qt][Bt]?zt:!0},jr=function(Gt,Bt){var zt=E(Gt),lt=I(Bt);if(!(zt===xr&&v(mr,lt)&&!v(Mr,lt))){var Ut=pr(zt,lt);return Ut&&v(mr,lt)&&!(v(zt,Qt)&&zt[Qt][lt])&&(Ut.enumerable=!0),Ut}},wr=function(Gt){var Bt=Ur(E(Gt)),zt=[];return qt(Bt,function(lt){!v(mr,lt)&&!v(tt,lt)&&Pr(zt,lt)}),zt},yt=function(jt){var Gt=jt===xr,Bt=Ur(Gt?Mr:E(jt)),zt=[];return qt(Bt,function(lt){v(mr,lt)&&(!Gt||v(xr,lt))&&Pr(zt,mr[lt])}),zt};c||(Er=function(){if(y(Yt,this))throw new Sr("Symbol is not a constructor");var Gt=!arguments.length||arguments[0]===void 0?void 0:O(arguments[0]),Bt=et(Gt),zt=function(lt){var Ut=this===void 0?e:this;Ut===xr&&o(zt,Mr,lt),v(Ut,Qt)&&v(Ut[Qt],Bt)&&(Ut[Qt][Bt]=!1);var gr=T(1,lt);try{Ht(Ut,Bt,gr)}catch(Ct){if(!(Ct instanceof tr))throw Ct;bt(Ut,Bt,gr)}};return f&&yr&&Ht(xr,Bt,{configurable:!0,set:zt}),Ft(Bt,Gt)},Yt=Er[er],Y(Yt,"toString",function(){return Ar(this).tag}),Y(Er,"withoutSetter",function(jt){return Ft(et(jt),jt)}),X.f=rr,B.f=cr,H.f=vr,$.f=jr,F.f=D.f=wr,w.f=yt,gt.f=function(jt){return Ft(at(jt),jt)},f&&(k(Yt,"description",{configurable:!0,get:function(){return Ar(this).description}}),u||Y(xr,"propertyIsEnumerable",rr,{unsafe:!0}))),r({global:!0,constructor:!0,wrap:!0,forced:!c,sham:!c},{Symbol:Er}),qt(M(Tr),function(jt){Pt(jt)}),r({target:Jt,stat:!0,forced:!c},{useSetter:function(){yr=!0},useSimple:function(){yr=!1}}),r({target:"Object",stat:!0,forced:!c,sham:!f},{create:ar,defineProperty:cr,defineProperties:vr,getOwnPropertyDescriptor:jr}),r({target:"Object",stat:!0,forced:!c},{getOwnPropertyNames:wr}),Ot(),Nt(Er,Jt),tt[Qt]=!0},43657:function(l,p,t){var r=t(14304),e=t(92986),o=t(34246),s=t(11286),u=t(94879),f=t(23583),c=t(95307),h=t(17361),v=t(85500),y=t(93706),m=o.Symbol,E=m&&m.prototype;if(e&&f(m)&&(!("description"in E)||m().description!==void 0)){var I={},O=function(){var B=arguments.length<1||arguments[0]===void 0?void 0:h(arguments[0]),H=c(E,this)?new m(B):B===void 0?m():m(B);return B===""&&(I[H]=!0),H};y(O,m),O.prototype=E,E.constructor=O;var T=String(m("description detection"))==="Symbol(description detection)",N=s(E.valueOf),M=s(E.toString),F=/^Symbol\((.*)\)[^)]+$/,D=s("".replace),w=s("".slice);v(E,"description",{configurable:!0,get:function(){var B=N(this);if(u(I,B))return"";var H=M(B),X=T?w(H,7,-1):D(H,F,"$1");return X===""?void 0:X}}),r({global:!0,constructor:!0,forced:!0},{Symbol:O})}},20872:function(l,p,t){var r=t(14304),e=t(38941),o=t(94879),s=t(17361),u=t(96731),f=t(61190),c=u("string-to-symbol-registry"),h=u("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!f},{for:function(v){var y=s(v);if(o(c,y))return c[y];var m=e("Symbol")(y);return c[y]=m,h[m]=y,m}})},15855:function(l,p,t){var r=t(83749);r("hasInstance")},42026:function(l,p,t){var r=t(83749);r("isConcatSpreadable")},33257:function(l,p,t){var r=t(83749);r("iterator")},40949:function(l,p,t){t(51767),t(20872),t(94762),t(71332),t(45223)},94762:function(l,p,t){var r=t(14304),e=t(94879),o=t(491),s=t(82453),u=t(96731),f=t(61190),c=u("symbol-to-string-registry");r({target:"Symbol",stat:!0,forced:!f},{keyFor:function(v){if(!o(v))throw new TypeError(s(v)+" is not a symbol");if(e(c,v))return c[v]}})},88344:function(l,p,t){var r=t(83749);r("matchAll")},59414:function(l,p,t){var r=t(83749);r("match")},92579:function(l,p,t){var r=t(83749);r("replace")},94655:function(l,p,t){var r=t(83749);r("search")},8565:function(l,p,t){var r=t(83749);r("species")},60843:function(l,p,t){var r=t(83749);r("split")},65842:function(l,p,t){var r=t(83749),e=t(60796);r("toPrimitive"),e()},51595:function(l,p,t){var r=t(38941),e=t(83749),o=t(78401);e("toStringTag"),o(r("Symbol"),"Symbol")},54908:function(l,p,t){var r=t(83749);r("unscopables")},71998:function(l,p,t){var r=t(88037),e=t(82628),o=t(12105),s=r.aTypedArray,u=r.exportTypedArrayMethod;u("at",function(c){var h=s(this),v=e(h),y=o(c),m=y>=0?y:v+y;return m<0||m>=v?void 0:h[m]})},6116:function(l,p,t){var r=t(11286),e=t(88037),o=t(81499),s=r(o),u=e.aTypedArray,f=e.exportTypedArrayMethod;f("copyWithin",function(h,v){return s(u(this),h,v,arguments.length>2?arguments[2]:void 0)})},33032:function(l,p,t){var r=t(88037),e=t(66655).every,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("every",function(f){return e(o(this),f,arguments.length>1?arguments[1]:void 0)})},80962:function(l,p,t){var r=t(88037),e=t(43011),o=t(11344),s=t(9205),u=t(96499),f=t(11286),c=t(72069),h=r.aTypedArray,v=r.exportTypedArrayMethod,y=f("".slice),m=c(function(){var E=0;return new Int8Array(2).fill({valueOf:function(){return E++}}),E!==1});v("fill",function(I){var O=arguments.length;h(this);var T=y(s(this),0,3)==="Big"?o(I):+I;return u(e,this,T,O>1?arguments[1]:void 0,O>2?arguments[2]:void 0)},m)},49381:function(l,p,t){var r=t(88037),e=t(66655).filter,o=t(39954),s=r.aTypedArray,u=r.exportTypedArrayMethod;u("filter",function(c){var h=e(s(this),c,arguments.length>1?arguments[1]:void 0);return o(this,h)})},65961:function(l,p,t){var r=t(88037),e=t(66655).findIndex,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("findIndex",function(f){return e(o(this),f,arguments.length>1?arguments[1]:void 0)})},16028:function(l,p,t){var r=t(88037),e=t(73849).findLastIndex,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("findLastIndex",function(f){return e(o(this),f,arguments.length>1?arguments[1]:void 0)})},94153:function(l,p,t){var r=t(88037),e=t(73849).findLast,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("findLast",function(f){return e(o(this),f,arguments.length>1?arguments[1]:void 0)})},38344:function(l,p,t){var r=t(88037),e=t(66655).find,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("find",function(f){return e(o(this),f,arguments.length>1?arguments[1]:void 0)})},25560:function(l,p,t){var r=t(80357);r("Float32",function(e){return function(s,u,f){return e(this,s,u,f)}})},22571:function(l,p,t){var r=t(80357);r("Float64",function(e){return function(s,u,f){return e(this,s,u,f)}})},20656:function(l,p,t){var r=t(88037),e=t(66655).forEach,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("forEach",function(f){e(o(this),f,arguments.length>1?arguments[1]:void 0)})},17063:function(l,p,t){var r=t(46868),e=t(88037).exportTypedArrayStaticMethod,o=t(66169);e("from",o,r)},21774:function(l,p,t){var r=t(88037),e=t(94319).includes,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("includes",function(f){return e(o(this),f,arguments.length>1?arguments[1]:void 0)})},51761:function(l,p,t){var r=t(88037),e=t(94319).indexOf,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("indexOf",function(f){return e(o(this),f,arguments.length>1?arguments[1]:void 0)})},36849:function(l,p,t){var r=t(80357);r("Int16",function(e){return function(s,u,f){return e(this,s,u,f)}})},49191:function(l,p,t){var r=t(80357);r("Int32",function(e){return function(s,u,f){return e(this,s,u,f)}})},40704:function(l,p,t){var r=t(80357);r("Int8",function(e){return function(s,u,f){return e(this,s,u,f)}})},12317:function(l,p,t){var r=t(34246),e=t(72069),o=t(11286),s=t(88037),u=t(35054),f=t(18565),c=f("iterator"),h=r.Uint8Array,v=o(u.values),y=o(u.keys),m=o(u.entries),E=s.aTypedArray,I=s.exportTypedArrayMethod,O=h&&h.prototype,T=!e(function(){O[c].call([1])}),N=!!O&&O.values&&O[c]===O.values&&O.values.name==="values",M=function(){return v(E(this))};I("entries",function(){return m(E(this))},T),I("keys",function(){return y(E(this))},T),I("values",M,T||!N,{name:"values"}),I(c,M,T||!N,{name:"values"})},19711:function(l,p,t){var r=t(88037),e=t(11286),o=r.aTypedArray,s=r.exportTypedArrayMethod,u=e([].join);s("join",function(c){return u(o(this),c)})},41034:function(l,p,t){var r=t(88037),e=t(66543),o=t(58465),s=r.aTypedArray,u=r.exportTypedArrayMethod;u("lastIndexOf",function(c){var h=arguments.length;return e(o,s(this),h>1?[c,arguments[1]]:[c])})},13313:function(l,p,t){var r=t(88037),e=t(66655).map,o=r.aTypedArray,s=r.getTypedArrayConstructor,u=r.exportTypedArrayMethod;u("map",function(c){return e(o(this),c,arguments.length>1?arguments[1]:void 0,function(h,v){return new(s(h))(v)})})},44698:function(l,p,t){var r=t(88037),e=t(46868),o=r.aTypedArrayConstructor,s=r.exportTypedArrayStaticMethod;s("of",function(){for(var f=0,c=arguments.length,h=new(o(this))(c);c>f;)h[f]=arguments[f++];return h},e)},66178:function(l,p,t){var r=t(88037),e=t(97264).right,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("reduceRight",function(f){var c=arguments.length;return e(o(this),f,c,c>1?arguments[1]:void 0)})},7369:function(l,p,t){var r=t(88037),e=t(97264).left,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("reduce",function(f){var c=arguments.length;return e(o(this),f,c,c>1?arguments[1]:void 0)})},67961:function(l,p,t){var r=t(88037),e=r.aTypedArray,o=r.exportTypedArrayMethod,s=Math.floor;o("reverse",function(){for(var f=this,c=e(f).length,h=s(c/2),v=0,y;v1?arguments[1]:void 0,1),D=f(M);if(O)return e(m,this,D,F);var w=this.length,$=s(D),B=0;if($+F>w)throw new h("Wrong length");for(;B<$;)this[F+B]=D[B++]},!O||T)},69997:function(l,p,t){var r=t(88037),e=t(72069),o=t(22806),s=r.aTypedArray,u=r.getTypedArrayConstructor,f=r.exportTypedArrayMethod,c=e(function(){new Int8Array(1).slice()});f("slice",function(v,y){for(var m=o(s(this),v,y),E=u(this),I=0,O=m.length,T=new E(O);O>I;)T[I]=m[I++];return T},c)},9711:function(l,p,t){var r=t(88037),e=t(66655).some,o=r.aTypedArray,s=r.exportTypedArrayMethod;s("some",function(f){return e(o(this),f,arguments.length>1?arguments[1]:void 0)})},3923:function(l,p,t){var r=t(34246),e=t(77422),o=t(72069),s=t(85156),u=t(13270),f=t(88037),c=t(507),h=t(17417),v=t(44241),y=t(66577),m=f.aTypedArray,E=f.exportTypedArrayMethod,I=r.Uint16Array,O=I&&e(I.prototype.sort),T=!!O&&!(o(function(){O(new I(2),null)})&&o(function(){O(new I(2),{})})),N=!!O&&!o(function(){if(v)return v<74;if(c)return c<67;if(h)return!0;if(y)return y<602;var F=new I(516),D=Array(516),w,$;for(w=0;w<516;w++)$=w%4,F[w]=515-w,D[w]=w-2*$+3;for(O(F,function(B,H){return(B/4|0)-(H/4|0)}),w=0;w<516;w++)if(F[w]!==D[w])return!0}),M=function(F){return function(D,w){return F!==void 0?+F(D,w)||0:w!==w?-1:D!==D?1:D===0&&w===0?1/D>0&&1/w<0?1:-1:D>w}};E("sort",function(D){return D!==void 0&&s(D),N?O(this,D):u(m(this),M(D))},!N||T)},59728:function(l,p,t){var r=t(88037),e=t(45344),o=t(4652),s=r.aTypedArray,u=r.getTypedArrayConstructor,f=r.exportTypedArrayMethod;f("subarray",function(h,v){var y=s(this),m=y.length,E=o(h,m),I=u(y);return new I(y.buffer,y.byteOffset+E*y.BYTES_PER_ELEMENT,e((v===void 0?m:o(v,m))-E))})},85227:function(l,p,t){var r=t(34246),e=t(66543),o=t(88037),s=t(72069),u=t(22806),f=r.Int8Array,c=o.aTypedArray,h=o.exportTypedArrayMethod,v=[].toLocaleString,y=!!f&&s(function(){v.call(new f(1))}),m=s(function(){return[1,2].toLocaleString()!==new f([1,2]).toLocaleString()})||!s(function(){f.prototype.toLocaleString.call([1,2])});h("toLocaleString",function(){return e(v,y?u(c(this)):c(this),u(arguments))},m)},56933:function(l,p,t){var r=t(61638),e=t(88037),o=e.aTypedArray,s=e.exportTypedArrayMethod,u=e.getTypedArrayConstructor;s("toReversed",function(){return r(o(this),u(this))})},91490:function(l,p,t){var r=t(88037),e=t(11286),o=t(85156),s=t(5220),u=r.aTypedArray,f=r.getTypedArrayConstructor,c=r.exportTypedArrayMethod,h=e(r.TypedArrayPrototype.sort);c("toSorted",function(y){y!==void 0&&o(y);var m=u(this),E=s(f(m),m);return h(E,y)})},61766:function(l,p,t){var r=t(88037).exportTypedArrayMethod,e=t(72069),o=t(34246),s=t(11286),u=o.Uint8Array,f=u&&u.prototype||{},c=[].toString,h=s([].join);e(function(){c.call({})})&&(c=function(){return h(this)});var v=f.toString!==c;r("toString",c,v)},44884:function(l,p,t){var r=t(80357);r("Uint16",function(e){return function(s,u,f){return e(this,s,u,f)}})},48658:function(l,p,t){var r=t(80357);r("Uint32",function(e){return function(s,u,f){return e(this,s,u,f)}})},81083:function(l,p,t){var r=t(80357);r("Uint8",function(e){return function(s,u,f){return e(this,s,u,f)}})},27428:function(l,p,t){var r=t(80357);r("Uint8",function(e){return function(s,u,f){return e(this,s,u,f)}},!0)},85143:function(l,p,t){var r=t(72302),e=t(88037),o=t(77129),s=t(12105),u=t(11344),f=e.aTypedArray,c=e.getTypedArrayConstructor,h=e.exportTypedArrayMethod,v=!!function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(y){return y===8}}();h("with",function(y,m){var E=f(this),I=s(y),O=o(E)?u(m):+m;return r(E,c(E),I,O)},!v)},47005:function(l,p,t){var r=t(14304),e=t(11286),o=t(17361),s=String.fromCharCode,u=e("".charAt),f=e(/./.exec),c=e("".slice),h=/^[\da-f]{2}$/i,v=/^[\da-f]{4}$/i;r({global:!0},{unescape:function(m){for(var E=o(m),I="",O=E.length,T=0,N,M;T>(-2*tt&6)));return ot}})},60869:function(l,p,t){var r=t(14304),e=t(34246),o=t(38941),s=t(11286),u=t(96499),f=t(72069),c=t(17361),h=t(95486),v=t(6210).i2c,y=o("btoa"),m=s("".charAt),E=s("".charCodeAt),I=!!y&&!f(function(){return y("hi")!=="aGk="}),O=I&&!f(function(){y()}),T=I&&f(function(){return y(null)!=="bnVsbA=="}),N=I&&y.length!==1;r({global:!0,bind:!0,enumerable:!0,forced:!I||O||T||N},{btoa:function(F){if(h(arguments.length,1),I)return u(y,e,c(F));for(var D=c(F),w="",$=0,B=v,H,X;m(D,$)||(B="=",$%1);){if(X=E(D,$+=.75),X>255)throw new(o("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");H=H<<8|X,w+=m(B,63&H>>8-$%1*8)}return w}})},66722:function(l,p,t){var r=t(14304),e=t(34246),o=t(23115).clear;r({global:!0,bind:!0,enumerable:!0,forced:e.clearImmediate!==o},{clearImmediate:o})},50338:function(l,p,t){var r=t(34246),e=t(93014),o=t(39882),s=t(13349),u=t(90809),f=function(h){if(h&&h.forEach!==s)try{u(h,"forEach",s)}catch(v){h.forEach=s}};for(var c in e)e[c]&&f(r[c]&&r[c].prototype);f(o)},53059:function(l,p,t){var r=t(34246),e=t(93014),o=t(39882),s=t(35054),u=t(90809),f=t(78401),c=t(18565),h=c("iterator"),v=s.values,y=function(E,I){if(E){if(E[h]!==v)try{u(E,h,v)}catch(T){E[h]=v}if(f(E,I,!0),e[I]){for(var O in s)if(E[O]!==s[O])try{u(E,O,s[O])}catch(T){E[O]=s[O]}}}};for(var m in e)y(r[m]&&r[m].prototype,m);y(o,"DOMTokenList")},5805:function(l,p,t){var r=t(14304),e=t(38941),o=t(81191),s=t(72069),u=t(5406),f=t(18526),c=t(7831).f,h=t(16142),v=t(85500),y=t(94879),m=t(12833),E=t(25001),I=t(58434),O=t(15453),T=t(74408),N=t(40851),M=t(82367),F=t(92986),D=t(70457),w="DOMException",$="DATA_CLONE_ERR",B=e("Error"),H=e(w)||function(){try{var Yt=e("MessageChannel")||o("worker_threads").MessageChannel;new Yt().port1.postMessage(new WeakMap)}catch(tr){if(tr.name===$&&tr.code===25)return tr.constructor}}(),X=H&&H.prototype,Y=B.prototype,k=M.set,ot=M.getterFor(w),st="stack"in new B(w),tt=function(Yt){return y(T,Yt)&&T[Yt].m?T[Yt].c:0},et=function(){m(this,at);var tr=arguments.length,Sr=O(tr<1?void 0:arguments[0]),Ir=O(tr<2?void 0:arguments[1],"Error"),pr=tt(Ir);if(k(this,{type:w,name:Ir,message:Sr,code:pr}),F||(this.name=Ir,this.message=Sr,this.code=pr),st){var Or=new B(Sr);Or.name=w,c(this,"stack",f(1,N(Or.stack,1)))}},at=et.prototype=u(Y),gt=function(Yt){return{enumerable:!0,configurable:!0,get:Yt}},Pt=function(Yt){return gt(function(){return ot(this)[Yt]})};F&&(v(at,"code",Pt("code")),v(at,"message",Pt("message")),v(at,"name",Pt("name"))),c(at,"constructor",f(1,et));var Ot=s(function(){return!(new H instanceof B)}),Nt=Ot||s(function(){return Y.toString!==I||String(new H(1,2))!=="2: 1"}),It=Ot||s(function(){return new H(1,"DataCloneError").code!==25}),qt=Ot||H[$]!==25||X[$]!==25,Qt=D?Nt||It||qt:Ot;r({global:!0,constructor:!0,forced:Qt},{DOMException:Qt?et:H});var Jt=e(w),er=Jt.prototype;Nt&&(D||H===Jt)&&h(er,"toString",I),It&&F&&H===Jt&&v(er,"code",gt(function(){return tt(E(this).name)}));for(var ir in T)if(y(T,ir)){var Ar=T[ir],xr=Ar.s,Er=f(6,Ar.c);y(Jt,xr)||c(Jt,xr,Er),y(er,xr)||c(er,xr,Er)}},50685:function(l,p,t){var r=t(14304),e=t(34246),o=t(38941),s=t(18526),u=t(7831).f,f=t(94879),c=t(12833),h=t(32345),v=t(15453),y=t(74408),m=t(40851),E=t(92986),I=t(70457),O="DOMException",T=o("Error"),N=o(O),M=function(){c(this,F);var et=arguments.length,at=v(et<1?void 0:arguments[0]),gt=v(et<2?void 0:arguments[1],"Error"),Pt=new N(at,gt),Ot=new T(at);return Ot.name=O,u(Pt,"stack",s(1,m(Ot.stack,1))),h(Pt,this,M),Pt},F=M.prototype=N.prototype,D="stack"in new T(O),w="stack"in new N(1,2),$=N&&E&&Object.getOwnPropertyDescriptor(e,O),B=!!$&&!($.writable&&$.configurable),H=D&&!B&&!w;r({global:!0,constructor:!0,forced:I||H},{DOMException:H?M:N});var X=o(O),Y=X.prototype;if(Y.constructor!==X){I||u(Y,"constructor",s(1,X));for(var k in y)if(f(y,k)){var ot=y[k],st=ot.s;f(X,st)||u(X,st,s(6,ot.c))}}},70649:function(l,p,t){var r=t(38941),e=t(78401),o="DOMException";e(r(o),o)},39842:function(l,p,t){t(66722),t(8235)},82872:function(l,p,t){var r=t(14304),e=t(34246),o=t(9709),s=t(85156),u=t(95486),f=t(72069),c=t(92986),h=f(function(){return c&&Object.getOwnPropertyDescriptor(e,"queueMicrotask").value.length!==1});r({global:!0,enumerable:!0,dontCallGetSet:!0,forced:h},{queueMicrotask:function(y){u(arguments.length,1),o(s(y))}})},91401:function(l,p,t){var r=t(14304),e=t(34246),o=t(85500),s=t(92986),u=TypeError,f=Object.defineProperty,c=e.self!==e;try{if(s){var h=Object.getOwnPropertyDescriptor(e,"self");(c||!h||!h.get||!h.enumerable)&&o(e,"self",{get:function(){return e},set:function(y){if(this!==e)throw new u("Illegal invocation");f(e,"self",{value:y,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else r({global:!0,simple:!0,forced:c},{self:e})}catch(v){}},8235:function(l,p,t){var r=t(14304),e=t(34246),o=t(23115).set,s=t(9934),u=e.setImmediate?s(o,!1):o;r({global:!0,bind:!0,enumerable:!0,forced:e.setImmediate!==u},{setImmediate:u})},63981:function(l,p,t){var r=t(14304),e=t(34246),o=t(9934),s=o(e.setInterval,!0);r({global:!0,bind:!0,forced:e.setInterval!==s},{setInterval:s})},23913:function(l,p,t){var r=t(14304),e=t(34246),o=t(9934),s=o(e.setTimeout,!0);r({global:!0,bind:!0,forced:e.setTimeout!==s},{setTimeout:s})},92904:function(l,p,t){var r=t(70457),e=t(14304),o=t(34246),s=t(38941),u=t(11286),f=t(72069),c=t(36374),h=t(23583),v=t(11051),y=t(5683),m=t(37540),E=t(491),I=t(55902),O=t(25001),T=t(9205),N=t(94879),M=t(84082),F=t(90809),D=t(82628),w=t(95486),$=t(54932),B=t(1774),H=t(172),X=t(35051),Y=t(63741),k=t(16929),ot=t(99050),st=o.Object,tt=o.Array,et=o.Date,at=o.Error,gt=o.TypeError,Pt=o.PerformanceMark,Ot=s("DOMException"),Nt=B.Map,It=B.has,qt=B.get,Qt=B.set,Jt=H.Set,er=H.add,ir=H.has,Ar=s("Object","keys"),xr=u([].push),Er=u((!0).valueOf),Yt=u(1 .valueOf),tr=u("".valueOf),Sr=u(et.prototype.getTime),Ir=c("structuredClone"),pr="DataCloneError",Or="Transferring",Ur=function(yt){return!f(function(){var jt=new o.Set([7]),Gt=yt(jt),Bt=yt(st(7));return Gt===jt||!Gt.has(7)||!m(Bt)||+Bt!=7})&&yt},Lr=function(yt,jt){return!f(function(){var Gt=new jt,Bt=yt({a:Gt,b:Gt});return!(Bt&&Bt.a===Bt.b&&Bt.a instanceof jt&&Bt.a.stack===Gt.stack)})},Pr=function(yt){return!f(function(){var jt=yt(new o.AggregateError([1],Ir,{cause:3}));return jt.name!=="AggregateError"||jt.errors[0]!==1||jt.message!==Ir||jt.cause!==3})},mr=o.structuredClone,Mr=r||!Lr(mr,at)||!Lr(mr,Ot)||!Pr(mr),Tr=!mr&&Ur(function(yt){return new Pt(Ir,{detail:yt}).detail}),yr=Ur(mr)||Tr,bt=function(yt){throw new Ot("Uncloneable type: "+yt,pr)},Ht=function(yt,jt){throw new Ot((jt||"Cloning")+" of "+yt+" cannot be properly polyfilled in this engine",pr)},Ft=function(yt,jt){return yr||Ht(jt),yr(yt)},cr=function(){var yt;try{yt=new o.DataTransfer}catch(jt){try{yt=new o.ClipboardEvent("").clipboardData}catch(Gt){}}return yt&&yt.items&&yt.files?yt:null},vr=function(yt,jt,Gt){if(It(jt,yt))return qt(jt,yt);var Bt=Gt||T(yt),zt,lt,Ut,gr,Ct,$t;if(Bt==="SharedArrayBuffer")yr?zt=yr(yt):zt=yt;else{var kt=o.DataView;!kt&&!h(yt.slice)&&Ht("ArrayBuffer");try{if(h(yt.slice)&&!yt.resizable)zt=yt.slice(0);else for(lt=yt.byteLength,Ut=("maxByteLength"in yt)?{maxByteLength:yt.maxByteLength}:void 0,zt=new ArrayBuffer(lt,Ut),gr=new kt(yt),Ct=new kt(zt),$t=0;$t1&&!y(arguments[1])?O(arguments[1]):void 0,Bt=Gt?Gt.transfer:void 0,zt,lt;Bt!==void 0&&(zt=new Nt,lt=jr(Bt,zt));var Ut=rr(jt,zt);return lt&&wr(lt),Ut}})},28381:function(l,p,t){t(63981),t(23913)},98812:function(l,p,t){t(35054),t(93087);var r=t(14304),e=t(34246),o=t(28167),s=t(38941),u=t(96499),f=t(11286),c=t(92986),h=t(91918),v=t(16142),y=t(85500),m=t(2725),E=t(78401),I=t(26820),O=t(82367),T=t(12833),N=t(23583),M=t(94879),F=t(45526),D=t(9205),w=t(25001),$=t(37540),B=t(17361),H=t(5406),X=t(18526),Y=t(90619),k=t(81077),ot=t(10659),st=t(95486),tt=t(18565),et=t(13270),at=tt("iterator"),gt="URLSearchParams",Pt=gt+"Iterator",Ot=O.set,Nt=O.getterFor(gt),It=O.getterFor(Pt),qt=o("fetch"),Qt=o("Request"),Jt=o("Headers"),er=Qt&&Qt.prototype,ir=Jt&&Jt.prototype,Ar=e.TypeError,xr=e.encodeURIComponent,Er=String.fromCharCode,Yt=s("String","fromCodePoint"),tr=parseInt,Sr=f("".charAt),Ir=f([].join),pr=f([].push),Or=f("".replace),Ur=f([].shift),Lr=f([].splice),Pr=f("".split),mr=f("".slice),Mr=f(/./.exec),Tr=/\+/g,yr="\uFFFD",bt=/^[0-9a-f]+$/i,Ht=function(Ct,$t){var kt=mr(Ct,$t,$t+2);return Mr(bt,kt)?tr(kt,16):NaN},Ft=function(Ct){for(var $t=0,kt=128;kt>0&&Ct&kt;kt>>=1)$t++;return $t},cr=function(Ct){var $t=null;switch(Ct.length){case 1:$t=Ct[0];break;case 2:$t=(Ct[0]&31)<<6|Ct[1]&63;break;case 3:$t=(Ct[0]&15)<<12|(Ct[1]&63)<<6|Ct[2]&63;break;case 4:$t=(Ct[0]&7)<<18|(Ct[1]&63)<<12|(Ct[2]&63)<<6|Ct[3]&63;break}return $t>1114111?null:$t},vr=function(Ct){Ct=Or(Ct,Tr," ");for(var $t=Ct.length,kt="",Wt=0;Wt<$t;){var dr=Sr(Ct,Wt);if(dr==="%"){if(Sr(Ct,Wt+1)==="%"||Wt+3>$t){kt+="%",Wt++;continue}var Fr=Ht(Ct,Wt+1);if(Fr!==Fr){kt+=dr,Wt++;continue}Wt+=2;var Br=Ft(Fr);if(Br===0)dr=Er(Fr);else{if(Br===1||Br>4){kt+=yr,Wt++;continue}for(var Rr=[Fr],Qr=1;Qr$t||Sr(Ct,Wt)!=="%"));){var tn=Ht(Ct,Wt+1);if(tn!==tn){Wt+=3;break}if(tn>191||tn<128)break;pr(Rr,tn),Wt+=2,Qr++}if(Rr.length!==Br){kt+=yr;continue}var dn=cr(Rr);dn===null?kt+=yr:dr=Yt(dn)}}kt+=dr,Wt++}return kt},ar=/[!'()~]|%20/g,rr={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},jr=function(Ct){return rr[Ct]},wr=function(Ct){return Or(xr(Ct),ar,jr)},yt=I(function($t,kt){Ot(this,{type:Pt,target:Nt($t).entries,index:0,kind:kt})},gt,function(){var $t=It(this),kt=$t.target,Wt=$t.index++;if(!kt||Wt>=kt.length)return $t.target=null,ot(void 0,!0);var dr=kt[Wt];switch($t.kind){case"keys":return ot(dr.key,!1);case"values":return ot(dr.value,!1)}return ot([dr.key,dr.value],!1)},!0),jt=function(Ct){this.entries=[],this.url=null,Ct!==void 0&&($(Ct)?this.parseObject(Ct):this.parseQuery(typeof Ct=="string"?Sr(Ct,0)==="?"?mr(Ct,1):Ct:B(Ct)))};jt.prototype={type:gt,bindURL:function(Ct){this.url=Ct,this.update()},parseObject:function(Ct){var $t=this.entries,kt=k(Ct),Wt,dr,Fr,Br,Rr,Qr,tn;if(kt)for(Wt=Y(Ct,kt),dr=Wt.next;!(Fr=u(dr,Wt)).done;){if(Br=Y(w(Fr.value)),Rr=Br.next,(Qr=u(Rr,Br)).done||(tn=u(Rr,Br)).done||!u(Rr,Br).done)throw new Ar("Expected sequence with length 2");pr($t,{key:B(Qr.value),value:B(tn.value)})}else for(var dn in Ct)M(Ct,dn)&&pr($t,{key:dn,value:B(Ct[dn])})},parseQuery:function(Ct){if(Ct)for(var $t=this.entries,kt=Pr(Ct,"&"),Wt=0,dr,Fr;Wt0?arguments[0]:void 0,kt=Ot(this,new jt($t));c||(this.size=kt.entries.length)},Bt=Gt.prototype;if(m(Bt,{append:function($t,kt){var Wt=Nt(this);st(arguments.length,2),pr(Wt.entries,{key:B($t),value:B(kt)}),c||this.length++,Wt.updateURL()},delete:function(Ct){for(var $t=Nt(this),kt=st(arguments.length,1),Wt=$t.entries,dr=B(Ct),Fr=kt<2?void 0:arguments[1],Br=Fr===void 0?Fr:B(Fr),Rr=0;RrWt.key?1:-1}),$t.updateURL()},forEach:function($t){for(var kt=Nt(this).entries,Wt=F($t,arguments.length>1?arguments[1]:void 0),dr=0,Fr;dr1?Ut(arguments[1]):{})}}),N(Qt)){var gr=function($t){return T(this,er),new Qt($t,arguments.length>1?Ut(arguments[1]):{})};er.constructor=gr,gr.prototype=er,r({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:gr})}}l.exports={URLSearchParams:Gt,getState:Nt}},10901:function(l,p,t){var r=t(16142),e=t(11286),o=t(17361),s=t(95486),u=URLSearchParams,f=u.prototype,c=e(f.append),h=e(f.delete),v=e(f.forEach),y=e([].push),m=new u("a=1&a=2&b=3");m.delete("a",1),m.delete("b",void 0),m+""!="a=2"&&r(f,"delete",function(E){var I=arguments.length,O=I<2?void 0:arguments[1];if(I&&O===void 0)return h(this,E);var T=[];v(this,function(H,X){y(T,{key:X,value:H})}),s(I,1);for(var N=o(E),M=o(O),F=0,D=0,w=!1,$=T.length,B;F<$;)B=T[F++],w||B.key===N?(w=!0,h(this,B.key)):D++;for(;D<$;)B=T[D++],B.key===N&&B.value===M||c(this,B.key,B.value)},{enumerable:!0,unsafe:!0})},93944:function(l,p,t){var r=t(16142),e=t(11286),o=t(17361),s=t(95486),u=URLSearchParams,f=u.prototype,c=e(f.getAll),h=e(f.has),v=new u("a=1");(v.has("a",2)||!v.has("a",void 0))&&r(f,"has",function(m){var E=arguments.length,I=E<2?void 0:arguments[1];if(E&&I===void 0)return h(this,m);var O=c(this,m);s(E,1);for(var T=o(I),N=0;N?@[\\\]^|]/,mr=/[\0\t\n\r #/:<>?@[\\\]^|]/,Mr=/^[\u0000-\u0020]+/,Tr=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,yr=/[\t\n\r]/g,bt,Ht=function(mt){var Xt=Qt(mt,"."),At,ht,wt,Cr,hr,Hr,zr;if(Xt.length&&Xt[Xt.length-1]===""&&Xt.length--,At=Xt.length,At>4)return mt;for(ht=[],wt=0;wt1&&et(Cr,0)==="0"&&(hr=at(pr,Cr)?16:8,Cr=Jt(Cr,hr===8?1:2)),Cr==="")Hr=0;else{if(!at(hr===10?Ur:hr===8?Or:Lr,Cr))return mt;Hr=ot(Cr,hr)}Nt(ht,Hr)}for(wt=0;wt=tt(256,5-At))return null}else if(Hr>255)return null;for(zr=Ot(ht),wt=0;wt6))return;for(Hr=0;Jr();){if(zr=null,Hr>0)if(Jr()==="."&&Hr<4)wt++;else return;if(!at(Ir,Jr()))return;for(;at(Ir,Jr());){if(Xr=ot(Jr(),10),zr===null)zr=Xr;else{if(zr===0)return;zr=zr*10+Xr}if(zr>255)return;wt++}Xt[At]=Xt[At]*256+zr,Hr++,(Hr===2||Hr===4)&&At++}if(Hr!==4)return;break}else if(Jr()===":"){if(wt++,!Jr())return}else if(Jr())return;Xt[At++]=Cr}if(ht!==null)for(en=At-ht,At=7;At!==0&&en>0;)Kt=Xt[At],Xt[At--]=Xt[ht+en-1],Xt[ht+--en]=Kt;else if(At!==8)return;return Xt},cr=function(mt){for(var Xt=null,At=1,ht=null,wt=0,Cr=0;Cr<8;Cr++)mt[Cr]!==0?(wt>At&&(Xt=ht,At=wt),ht=null,wt=0):(ht===null&&(ht=Cr),++wt);return wt>At?ht:Xt},vr=function(mt){var Xt,At,ht,wt;if(typeof mt=="number"){for(Xt=[],At=0;At<4;At++)ir(Xt,mt%256),mt=st(mt/256);return gt(Xt,".")}if(typeof mt=="object"){for(Xt="",ht=cr(mt),At=0;At<8;At++)wt&&mt[At]===0||(wt&&(wt=!1),ht===At?(Xt+=At?":":"::",wt=!0):(Xt+=Pt(mt[At],16),At<7&&(Xt+=":")));return"["+Xt+"]"}return mt},ar={},rr=m({},ar,{" ":1,'"':1,"<":1,">":1,"`":1}),jr=m({},rr,{"#":1,"?":1,"{":1,"}":1}),wr=m({},jr,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),yt=function(mt,Xt){var At=O(mt,0);return At>32&&At<127&&!y(Xt,mt)?mt:encodeURIComponent(mt)},jt={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Gt=function(mt,Xt){var At;return mt.length===2&&at(tr,et(mt,0))&&((At=et(mt,1))===":"||!Xt&&At==="|")},Bt=function(mt){var Xt;return mt.length>1&&Gt(Jt(mt,0,2))&&(mt.length===2||(Xt=et(mt,2))==="/"||Xt==="\\"||Xt==="?"||Xt==="#")},zt=function(mt){return mt==="."||er(mt)==="%2e"},lt=function(mt){return mt=er(mt),mt===".."||mt==="%2e."||mt===".%2e"||mt==="%2e%2e"},Ut={},gr={},Ct={},$t={},kt={},Wt={},dr={},Fr={},Br={},Rr={},Qr={},tn={},dn={},Kn={},oe={},Yn={},Zr={},Wr={},an={},un={},rn={},nn=function(mt,Xt,At){var ht=N(mt),wt,Cr,hr;if(Xt){if(Cr=this.parse(ht),Cr)throw new k(Cr);this.searchParams=null}else{if(At!==void 0&&(wt=new nn(At,!0)),Cr=this.parse(ht,null,wt),Cr)throw new k(Cr);hr=X(new H),hr.bindURL(this),this.searchParams=hr}};nn.prototype={type:"URL",parse:function(mt,Xt,At){var ht=this,wt=Xt||Ut,Cr=0,hr="",Hr=!1,zr=!1,Xr=!1,en,Kt,Jr,cn;for(mt=N(mt),Xt||(ht.scheme="",ht.username="",ht.password="",ht.host=null,ht.port=null,ht.path=[],ht.query=null,ht.fragment=null,ht.cannotBeABaseURL=!1,mt=It(mt,Mr,""),mt=It(mt,Tr,"$1")),mt=It(mt,yr,""),en=E(mt);Cr<=en.length;){switch(Kt=en[Cr],wt){case Ut:if(Kt&&at(tr,Kt))hr+=er(Kt),wt=gr;else{if(Xt)return xr;wt=Ct;continue}break;case gr:if(Kt&&(at(Sr,Kt)||Kt==="+"||Kt==="-"||Kt==="."))hr+=er(Kt);else if(Kt===":"){if(Xt&&(ht.isSpecial()!==y(jt,hr)||hr==="file"&&(ht.includesCredentials()||ht.port!==null)||ht.scheme==="file"&&!ht.host))return;if(ht.scheme=hr,Xt){ht.isSpecial()&&jt[ht.scheme]===ht.port&&(ht.port=null);return}hr="",ht.scheme==="file"?wt=Kn:ht.isSpecial()&&At&&At.scheme===ht.scheme?wt=$t:ht.isSpecial()?wt=Fr:en[Cr+1]==="/"?(wt=kt,Cr++):(ht.cannotBeABaseURL=!0,Nt(ht.path,""),wt=an)}else{if(Xt)return xr;hr="",wt=Ct,Cr=0;continue}break;case Ct:if(!At||At.cannotBeABaseURL&&Kt!=="#")return xr;if(At.cannotBeABaseURL&&Kt==="#"){ht.scheme=At.scheme,ht.path=I(At.path),ht.query=At.query,ht.fragment="",ht.cannotBeABaseURL=!0,wt=rn;break}wt=At.scheme==="file"?Kn:Wt;continue;case $t:if(Kt==="/"&&en[Cr+1]==="/")wt=Br,Cr++;else{wt=Wt;continue}break;case kt:if(Kt==="/"){wt=Rr;break}else{wt=Wr;continue}case Wt:if(ht.scheme=At.scheme,Kt===bt)ht.username=At.username,ht.password=At.password,ht.host=At.host,ht.port=At.port,ht.path=I(At.path),ht.query=At.query;else if(Kt==="/"||Kt==="\\"&&ht.isSpecial())wt=dr;else if(Kt==="?")ht.username=At.username,ht.password=At.password,ht.host=At.host,ht.port=At.port,ht.path=I(At.path),ht.query="",wt=un;else if(Kt==="#")ht.username=At.username,ht.password=At.password,ht.host=At.host,ht.port=At.port,ht.path=I(At.path),ht.query=At.query,ht.fragment="",wt=rn;else{ht.username=At.username,ht.password=At.password,ht.host=At.host,ht.port=At.port,ht.path=I(At.path),ht.path.length--,wt=Wr;continue}break;case dr:if(ht.isSpecial()&&(Kt==="/"||Kt==="\\"))wt=Br;else if(Kt==="/")wt=Rr;else{ht.username=At.username,ht.password=At.password,ht.host=At.host,ht.port=At.port,wt=Wr;continue}break;case Fr:if(wt=Br,Kt!=="/"||et(hr,Cr+1)!=="/")continue;Cr++;break;case Br:if(Kt!=="/"&&Kt!=="\\"){wt=Rr;continue}break;case Rr:if(Kt==="@"){Hr&&(hr="%40"+hr),Hr=!0,Jr=E(hr);for(var Cn=0;Cn65535)return Yt;ht.port=ht.isSpecial()&&Un===jt[ht.scheme]?null:Un,hr=""}if(Xt)return;wt=Zr;continue}else return Yt;break;case Kn:if(ht.scheme="file",Kt==="/"||Kt==="\\")wt=oe;else if(At&&At.scheme==="file")switch(Kt){case bt:ht.host=At.host,ht.path=I(At.path),ht.query=At.query;break;case"?":ht.host=At.host,ht.path=I(At.path),ht.query="",wt=un;break;case"#":ht.host=At.host,ht.path=I(At.path),ht.query=At.query,ht.fragment="",wt=rn;break;default:Bt(gt(I(en,Cr),""))||(ht.host=At.host,ht.path=I(At.path),ht.shortenPath()),wt=Wr;continue}else{wt=Wr;continue}break;case oe:if(Kt==="/"||Kt==="\\"){wt=Yn;break}At&&At.scheme==="file"&&!Bt(gt(I(en,Cr),""))&&(Gt(At.path[0],!0)?Nt(ht.path,At.path[0]):ht.host=At.host),wt=Wr;continue;case Yn:if(Kt===bt||Kt==="/"||Kt==="\\"||Kt==="?"||Kt==="#"){if(!Xt&&Gt(hr))wt=Wr;else if(hr===""){if(ht.host="",Xt)return;wt=Zr}else{if(cn=ht.parseHost(hr),cn)return cn;if(ht.host==="localhost"&&(ht.host=""),Xt)return;hr="",wt=Zr}continue}else hr+=Kt;break;case Zr:if(ht.isSpecial()){if(wt=Wr,Kt!=="/"&&Kt!=="\\")continue}else if(!Xt&&Kt==="?")ht.query="",wt=un;else if(!Xt&&Kt==="#")ht.fragment="",wt=rn;else if(Kt!==bt&&(wt=Wr,Kt!=="/"))continue;break;case Wr:if(Kt===bt||Kt==="/"||Kt==="\\"&&ht.isSpecial()||!Xt&&(Kt==="?"||Kt==="#")){if(lt(hr)?(ht.shortenPath(),Kt!=="/"&&!(Kt==="\\"&&ht.isSpecial())&&Nt(ht.path,"")):zt(hr)?Kt!=="/"&&!(Kt==="\\"&&ht.isSpecial())&&Nt(ht.path,""):(ht.scheme==="file"&&!ht.path.length&&Gt(hr)&&(ht.host&&(ht.host=""),hr=et(hr,0)+":"),Nt(ht.path,hr)),hr="",ht.scheme==="file"&&(Kt===bt||Kt==="?"||Kt==="#"))for(;ht.path.length>1&&ht.path[0]==="";)qt(ht.path);Kt==="?"?(ht.query="",wt=un):Kt==="#"&&(ht.fragment="",wt=rn)}else hr+=yt(Kt,jr);break;case an:Kt==="?"?(ht.query="",wt=un):Kt==="#"?(ht.fragment="",wt=rn):Kt!==bt&&(ht.path[0]+=yt(Kt,ar));break;case un:!Xt&&Kt==="#"?(ht.fragment="",wt=rn):Kt!==bt&&(Kt==="'"&&ht.isSpecial()?ht.query+="%27":Kt==="#"?ht.query+="%23":ht.query+=yt(Kt,ar));break;case rn:Kt!==bt&&(ht.fragment+=yt(Kt,rr));break}Cr++}},parseHost:function(mt){var Xt,At,ht;if(et(mt,0)==="["){if(et(mt,mt.length-1)!=="]"||(Xt=Ft(Jt(mt,1,-1)),!Xt))return Er;this.host=Xt}else if(this.isSpecial()){if(mt=T(mt),at(Pr,mt)||(Xt=Ht(mt),Xt===null))return Er;this.host=Xt}else{if(at(mr,mt))return Er;for(Xt="",At=E(mt),ht=0;ht1?arguments[1]:void 0,wt=$(At,new nn(Xt,!1,ht));e||(At.href=wt.serialize(),At.origin=wt.getOrigin(),At.protocol=wt.getProtocol(),At.username=wt.getUsername(),At.password=wt.getPassword(),At.host=wt.getHost(),At.hostname=wt.getHostname(),At.port=wt.getPort(),At.pathname=wt.getPathname(),At.search=wt.getSearch(),At.searchParams=wt.getSearchParams(),At.hash=wt.getHash())},Yr=kr.prototype,Vr=function(mt,Xt){return{get:function(){return B(this)[mt]()},set:Xt&&function(At){return B(this)[Xt](At)},configurable:!0,enumerable:!0}};if(e&&(h(Yr,"href",Vr("serialize","setHref")),h(Yr,"origin",Vr("getOrigin")),h(Yr,"protocol",Vr("getProtocol","setProtocol")),h(Yr,"username",Vr("getUsername","setUsername")),h(Yr,"password",Vr("getPassword","setPassword")),h(Yr,"host",Vr("getHost","setHost")),h(Yr,"hostname",Vr("getHostname","setHostname")),h(Yr,"port",Vr("getPort","setPort")),h(Yr,"pathname",Vr("getPathname","setPathname")),h(Yr,"search",Vr("getSearch","setSearch")),h(Yr,"searchParams",Vr("getSearchParams")),h(Yr,"hash",Vr("getHash","setHash"))),c(Yr,"toJSON",function(){return B(this).serialize()},{enumerable:!0}),c(Yr,"toString",function(){return B(this).serialize()},{enumerable:!0}),Y){var mn=Y.createObjectURL,$n=Y.revokeObjectURL;mn&&c(kr,"createObjectURL",u(mn,Y)),$n&&c(kr,"revokeObjectURL",u($n,Y))}M(kr,"URL"),r({global:!0,constructor:!0,forced:!o,sham:!e},{URL:kr})},51862:function(l,p,t){t(81888)},24119:function(l,p,t){var r=t(14304),e=t(38941),o=t(95486),s=t(17361),u=t(91918),f=e("URL");r({target:"URL",stat:!0,forced:!u},{parse:function(h){var v=o(arguments.length,1),y=s(h),m=v<2||arguments[1]===void 0?void 0:s(arguments[1]);try{return new f(y,m)}catch(E){return null}}})},97526:function(l,p,t){var r=t(14304),e=t(96499);r({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return e(URL.prototype.toString,this)}})},61969:function(l,p,t){t(40949),t(43657),t(43606),t(15855),t(42026),t(33257),t(59414),t(88344),t(92579),t(94655),t(8565),t(60843),t(65842),t(51595),t(54908),t(81742),t(8720),t(42861),t(27796),t(1341),t(98700),t(65481),t(46509),t(41585),t(84554),t(36619),t(33818),t(64096),t(2209),t(91591),t(74092),t(54703),t(82936),t(48493),t(64730),t(95024),t(35054),t(25460),t(60703),t(90468),t(69581),t(720),t(11042),t(17289),t(24608),t(51644),t(88088),t(46828),t(90088),t(35148),t(86184),t(53983),t(42560),t(88444),t(27839),t(73051),t(9372),t(35473),t(4983),t(6875),t(68575),t(35495),t(32790),t(58594),t(30801),t(90911),t(90429),t(33685),t(60086),t(96049),t(14038),t(55518),t(8894),t(60628),t(56347),t(16864),t(93819),t(11565),t(26668),t(46386),t(35179),t(20150),t(23001),t(40334),t(87457),t(66699),t(17535),t(48157),t(55338),t(6644),t(71332),t(47269),t(25627),t(22090),t(9839),t(15656),t(22091),t(2886),t(25895),t(24228),t(79488),t(75987),t(81555),t(87854),t(35074),t(50946),t(29417),t(80628),t(74375),t(29708),t(93449),t(9111),t(83514),t(15096),t(59590),t(99663),t(89988),t(54427),t(67895),t(57909),t(83938),t(55461),t(97339),t(3670),t(15224),t(45891),t(99910),t(92445),t(21875),t(4383),t(11361),t(13728),t(14885),t(30343),t(22045),t(75e3),t(64658),t(16017),t(84681),t(73421),t(93446),t(31046),t(94645),t(62935),t(62518),t(45130),t(51542),t(43781),t(25738),t(93247),t(41533),t(60225),t(69920),t(89205),t(78546),t(63616),t(16893),t(3676),t(58361),t(7487),t(23958),t(9798),t(2371),t(76185),t(76553),t(93518),t(25227),t(91723),t(57882),t(37796),t(11563),t(26159),t(20962),t(77487),t(6130),t(1354),t(47119),t(31145),t(96773),t(14371),t(18180),t(83147),t(75765),t(86548),t(15282),t(51275),t(91890),t(15089),t(78134),t(56456),t(40735),t(8510),t(70159),t(93087),t(26021),t(93029),t(59158),t(15599),t(18509),t(21579),t(8854),t(57676),t(14527),t(96834),t(52684),t(74980),t(390),t(42794),t(21293),t(18184),t(75012),t(19680),t(4193),t(70641),t(53892),t(95976),t(399),t(72032),t(49442),t(16012),t(9943),t(33128),t(95625),t(90614),t(60120),t(75826),t(25560),t(22571),t(40704),t(36849),t(49191),t(81083),t(27428),t(44884),t(48658),t(71998),t(6116),t(33032),t(80962),t(49381),t(38344),t(65961),t(94153),t(16028),t(20656),t(17063),t(21774),t(51761),t(12317),t(19711),t(41034),t(13313),t(44698),t(7369),t(66178),t(67961),t(8695),t(69997),t(9711),t(3923),t(59728),t(85227),t(56933),t(91490),t(61766),t(85143),t(47005),t(10042),t(37888),t(19431),t(60869),t(50338),t(53059),t(5805),t(50685),t(70649),t(39842),t(82872),t(91401),t(92904),t(28381),t(51862),t(20760),t(24119),t(97526),t(86650),t(10901),t(93944),t(79043),t(75081)}},On={};function fn(l){var p=On[l];if(p!==void 0)return p.exports;var t=On[l]={exports:{}};return ia[l].call(t.exports,t,t.exports,fn),t.exports}(function(){fn.d=function(l,p){for(var t in p)fn.o(p,t)&&!fn.o(l,t)&&Object.defineProperty(l,t,{enumerable:!0,get:p[t]})}})(),function(){fn.o=function(l,p){return Object.prototype.hasOwnProperty.call(l,p)}}(),fn(61969);var Le=fn(65908);return Le=Le.default,Le}()}); diff --git a/release/latest/dist/theme/dark.css b/release/latest/dist/theme/dark.css index fbc156d83..e4a86dbd0 100644 --- a/release/latest/dist/theme/dark.css +++ b/release/latest/dist/theme/dark.css @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 */ /*-- Dark Theme --*/ /*-- Default color pattern --*/ diff --git a/release/latest/dist/theme/dark.min.css b/release/latest/dist/theme/dark.min.css index 3d03ac237..fd08f5c41 100644 --- a/release/latest/dist/theme/dark.min.css +++ b/release/latest/dist/theme/dark.min.css @@ -5,5 +5,5 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 */.bb-color-pattern{background-image:url(#4a7fff;#b02c2c;#1ca46c;#b47300;#49baf3;#ed7e13;#cfaa00;#a6cd19;#dccb52;#f5d194;)}.bb svg{font-size:12px;font-family:Helvetica,Arial,sans-serif,nanumgothic,Dotum;line-height:1}.bb path,.bb line{fill:none;stroke:#8d9cab}.bb text,.bb .bb-button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:#8d9cab;font-size:11px}.bb-legend-item-title,.bb-xgrid-focus,.bb-ygrid-focus,.bb-ygrid,.bb-line{shape-rendering:crispEdges}.bb-chart-arcs .bb-needle{fill:#8d9cab}.bb-chart-funnels path{stroke-width:0}.bb-chart-funnels+.bb-chart-texts text{fill:#fff}.bb-axis{shape-rendering:crispEdges}.bb-axis .bb-axis-x-tooltip,.bb-axis .bb-axis-y-tooltip,.bb-axis .bb-axis-y2-tooltip{font-size:.9em;fill:#fff;white-space:nowrap}.bb-axis-y text,.bb-axis-y2 text{fill:#8d9cab}.bb-event-rects{fill-opacity:1!important}.bb-event-rects .bb-event-rect{fill:transparent}.bb-event-rects .bb-event-rect._active_{fill:#27c9030d}.tick._active_ text{fill:#00c83c!important}.bb-grid{pointer-events:none}.bb-grid line{stroke:#5c666e}.bb-xgrid-focus line,.bb-ygrid-focus line{stroke:#ccd9e6}.bb-text.bb-empty{fill:#8d9cab}.bb-line{stroke-width:1px}.bb-circle._expanded_{stroke-width:2px;stroke:8d9cab}rect.bb-circle._expanded_,use.bb-circle._expanded_{stroke-width:1px}.selection{stroke:none;fill:#ccd9e6}.bb-selected-circle{fill:#ccd9e6;stroke-width:2px}.bb-bar{stroke-width:.5px}.bb-bar._expanded_{fill-opacity:.75}.bb-candlestick{stroke-width:1px}.bb-candlestick._expanded_{fill-opacity:.75}.bb-target.bb-focused,.bb-circles.bb-focused{opacity:1}.bb-target.bb-focused path.bb-line,.bb-target.bb-focused path.bb-step,.bb-circles.bb-focused path.bb-line,.bb-circles.bb-focused path.bb-step{stroke-width:2px}.bb-target.bb-defocused,.bb-circles.bb-defocused{opacity:.5!important}.bb-target.bb-defocused .text-overlapping,.bb-circles.bb-defocused .text-overlapping{opacity:.05!important}.bb-region{fill:#4682b4}.bb-region rect{fill-opacity:.5}.bb-region.selected rect{fill:#27c903}.bb-zoom-brush{fill-opacity:.25;fill:#ccd9e6}.bb-brush .extent{fill-opacity:.5}.bb-legend-item{user-select:none}.bb-legend-item line{stroke-width:10px;stroke-dasharray:3px}.bb-legend-item text{transform:translateY(-1px)}.bb-legend-item-hidden{opacity:.5}.bb-legend-background{opacity:.75;stroke:#d3d3d3;stroke-width:1}.bb-title{font-size:14px}.bb-chart-treemaps rect{stroke:#8d9cab;stroke-width:1px}.bb-tooltip-container{z-index:10;font-family:Helvetica,Arial,sans-serif,nanumgothic,Dotum;user-select:none}.bb-tooltip{border-collapse:separate;border-spacing:0;empty-cells:show;border:1px solid #828181;border-radius:5px;background-color:#000;text-align:left;font-size:11px;color:#fff;white-space:nowrap}.bb-tooltip th{font-size:12px;padding:4px 8px;text-align:left;border-bottom:solid 1px #828181}.bb-tooltip td{padding:4px 6px}.bb-tooltip td:first-child{padding-left:8px}.bb-tooltip td:last-child{padding-right:8px}.bb-tooltip td>span,.bb-tooltip td>svg{display:inline-block;width:7px;height:7px;margin:-1px 6px 0 0;vertical-align:middle}.bb-tooltip td.value{border-left:1px solid transparent;text-align:right}.bb-tooltip .bb-tooltip-title{display:inline-block;color:#aaa;line-height:20px}.bb-tooltip .bb-tooltip-detail table{border-collapse:collapse;border-spacing:0}.bb-tooltip .bb-tooltip-detail .bb-tooltip-name,.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{font-size:11px;line-height:13px;padding:4px 0 3px;color:#444;text-align:left;font-weight:400}.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{padding-left:5px;font-weight:800;font-size:12px}.bb-area{stroke-width:0;opacity:.5}.bb-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}text.bb-chart-arcs-gauge-title{dominant-baseline:middle;font-size:2.7em}.bb-chart-arcs .bb-chart-arcs-background{fill:#3f3f3f;stroke:none}.bb-chart-arcs .bb-chart-arcs-gauge-unit{fill:#828181;font-size:16px}.bb-chart-arcs .bb-chart-arcs-gauge-min,.bb-chart-arcs .bb-chart-arcs-gauge-max{fill:#777}.bb-chart-arcs .bb-chart-arcs-title{font-size:16px!important;fill:#b6c2ce;font-weight:600}.bb-chart-arcs path.empty{fill:#eaeaea;stroke-width:0}.bb-chart-arcs .bb-levels circle{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-arcs .bb-levels text{fill:#848282}.bb-chart-arc .bb-gauge-value{fill:#b6c2ce}.bb-chart-arc rect{stroke:#8d9cab;stroke-width:1}.bb-chart-arc text{fill:#fff;font-size:13px}.bb-chart-radars .bb-levels polygon{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-levels text{fill:#848282}.bb-chart-radars .bb-axis line{stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-axis text{font-size:1.15em;cursor:default}.bb-chart-radars .bb-shapes polygon{fill-opacity:.2;stroke-width:1px}.bb-button{position:absolute;top:10px;right:10px}.bb-button .bb-zoom-reset{border:solid 1px #ccc;background-color:#000;color:#fff;padding:5px;border-radius:5px;cursor:pointer} diff --git a/release/latest/dist/theme/datalab.css b/release/latest/dist/theme/datalab.css index 81a98a336..ad4822fae 100644 --- a/release/latest/dist/theme/datalab.css +++ b/release/latest/dist/theme/datalab.css @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 */ /*-- Datalab Theme --*/ /*-- Default color pattern --*/ diff --git a/release/latest/dist/theme/datalab.min.css b/release/latest/dist/theme/datalab.min.css index 8b588292e..38d41dc86 100644 --- a/release/latest/dist/theme/datalab.min.css +++ b/release/latest/dist/theme/datalab.min.css @@ -5,5 +5,5 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 */.bb-color-pattern{background-image:url(#2ac4b3;#feaf29;#ff617b;#73a2ef;#b180d0;#3064cf;#d0a45f;#8aaec7;#ef65a2;#8aaec7;)}.bb svg{font-size:11px;font-family:Sans Pro,Arial,sans-serif,nanumgothic,Dotum;line-height:1}.bb path,.bb line{fill:none;stroke:#000}.bb text,.bb .bb-button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-font-smoothing:antialiased;user-select:none;fill:#555;font-size:11px}.bb-chart-arcs .bb-needle{fill:#000}.bb-chart-funnels path{stroke-width:0}.bb-chart-funnels+.bb-chart-texts text{fill:#fff}.bb-axis{stroke-width:.7px}.bb-axis .bb-axis-x-tooltip,.bb-axis .bb-axis-y-tooltip,.bb-axis .bb-axis-y2-tooltip{font-size:.9em;fill:#fff;white-space:nowrap}.bb-axis-y text,.bb-axis-y2 text{fill:#737373}.bb-event-rects{fill-opacity:1!important}.bb-event-rects .bb-event-rect{fill:transparent}.bb-event-rects .bb-event-rect._active_{fill:#27c9030d}.tick._active_ text{fill:#00c83c!important}.bb-grid{pointer-events:none}.bb-grid line{stroke:#f1f1f1}.bb-xgrid-focus line,.bb-ygrid-focus line{stroke:#ddd}.bb-text.bb-empty{fill:#767676}.bb-line{stroke-width:.7px}.bb-circle{fill:#fff!important}.bb-circle._expanded_{stroke-width:2px}.bb-selected-circle{fill:#fff;stroke-width:2px}.bb-bar{stroke-width:1px}.bb-bar._expanded_{fill-opacity:.75}.bb-candlestick{stroke-width:1px}.bb-candlestick._expanded_{fill-opacity:.75}.bb-target.bb-focused,.bb-circles.bb-focused{opacity:1}.bb-target.bb-focused path.bb-line,.bb-target.bb-focused path.bb-step,.bb-circles.bb-focused path.bb-line,.bb-circles.bb-focused path.bb-step{stroke-width:2px}.bb-target.bb-defocused,.bb-circles.bb-defocused{opacity:.3!important}.bb-target.bb-defocused .text-overlapping,.bb-circles.bb-defocused .text-overlapping{opacity:.05!important}.bb-region{fill:#4682b4}.bb-region rect{fill-opacity:.1}.bb-region.selected rect{fill:#27c903}.bb-zoom-brush,.bb-brush .extent{fill-opacity:.1}.bb-legend-item{user-select:none}.bb-legend-item line.bb-legend-item-tile{stroke-linecap:round;stroke-width:8px;transform:translate(7px,1px);stroke-dasharray:1 20}.bb-legend-item-hidden{opacity:.15}.bb-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.bb-title{font-size:14px}.bb-chart-treemaps rect{stroke:#000;stroke-width:1px}.bb-tooltip-container{z-index:10;font-family:Sans Pro,Arial,sans-serif,nanumgothic,Dotum;user-select:none}.bb-tooltip{border-collapse:separate;border-spacing:0;border-radius:2px;empty-cells:show;border:1px solid #999;background-color:#fff;text-align:left;font-size:11px;-webkit-font-smoothing:antialiased;white-space:nowrap}.bb-tooltip th{font-size:13px;padding:2px 8px;text-align:left;border-bottom:solid 2px #ff2d2d;background-color:#0b00b1;color:#fffdfd}.bb-tooltip td{padding:4px 6px}.bb-tooltip td:first-child{padding-left:8px}.bb-tooltip td:last-child{padding-right:8px}.bb-tooltip td>span,.bb-tooltip td>svg{display:inline-block;width:8px;height:8px;margin-right:6px;border:solid 1px #000;border-radius:3px;vertical-align:middle}.bb-tooltip td.value{border-left:1px solid transparent;text-align:right}.bb-tooltip .bb-tooltip-title{display:inline-block;color:#aaa;line-height:20px}.bb-tooltip .bb-tooltip-detail table{border-collapse:collapse;border-spacing:0}.bb-tooltip .bb-tooltip-detail .bb-tooltip-name,.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{font-size:11px;line-height:13px;padding:4px 0 3px;color:#444;text-align:left;font-weight:400}.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{padding-left:5px;font-weight:800;font-size:11px}.bb-area{stroke-width:0;opacity:.2}.bb-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}text.bb-chart-arcs-gauge-title{dominant-baseline:middle;font-size:2.7em}.bb-chart-arcs .bb-chart-arcs-background{fill:#e0e0e0;stroke:none}.bb-chart-arcs .bb-chart-arcs-gauge-unit{fill:#000;font-size:18px}.bb-chart-arcs .bb-chart-arcs-gauge-min,.bb-chart-arcs .bb-chart-arcs-gauge-max{fill:#777}.bb-chart-arcs .bb-chart-arcs-title{font-size:18px!important;fill:#000;font-weight:600}.bb-chart-arcs path.empty{fill:#eaeaea;stroke-width:0}.bb-chart-arcs .bb-levels circle{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-arcs .bb-levels text{fill:#848282}.bb-line{shape-rendering:crispEdges}.bb-chart-arc .bb-gauge-value{fill:#3b6969}.bb-chart-arc path{stroke:#000;stroke-width:.5px}.bb-chart-arc rect{stroke:#fff;stroke-width:1}.bb-chart-arc text{fill:#fff;font-size:14px}.bb-chart-radars .bb-levels polygon{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-levels text{fill:#848282}.bb-chart-radars .bb-axis line{stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-axis text{font-size:1.15em;cursor:default}.bb-chart-radars .bb-shapes polygon{fill-opacity:.2;stroke-width:.7px}.bb-button{position:absolute;top:10px;right:10px}.bb-button .bb-zoom-reset{border:solid 1px #ccc;background-color:#fff;padding:5px;border-radius:5px;cursor:pointer} diff --git a/release/latest/dist/theme/graph.css b/release/latest/dist/theme/graph.css index 222dd6a55..7b8e0a3d9 100644 --- a/release/latest/dist/theme/graph.css +++ b/release/latest/dist/theme/graph.css @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 */ /*-- Graph Theme --*/ /*-- Default color pattern --*/ diff --git a/release/latest/dist/theme/graph.min.css b/release/latest/dist/theme/graph.min.css index 80b8bab86..0a5d10f25 100644 --- a/release/latest/dist/theme/graph.min.css +++ b/release/latest/dist/theme/graph.min.css @@ -5,5 +5,5 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 */.bb-color-pattern{background-image:url(#65CFC2;#D0A45F;#64A4F5;#EF65A2;#A377FE;#8AAEC7;#FF7E5A;#898EFE;#FFAC35;#70B0FF;)}.bb svg{font-size:12px;font-family:Helvetica,Apple SD Gothic Neo,Arial,sans-serif,nanumgothic,Dotum;line-height:1}.bb path,.bb line{fill:none;stroke:#8c8c8c}.bb text,.bb .bb-button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:#555;font-size:12px;letter-spacing:-.3px}.bb-legend-item-title,.bb-xgrid-focus,.bb-ygrid-focus,.bb-ygrid{shape-rendering:crispEdges}.bb-chart-arcs .bb-needle{fill:#000}.bb-chart-funnels path{stroke-width:0}.bb-chart-funnels+.bb-chart-texts text{fill:#fff}.bb-axis{shape-rendering:crispEdges}.bb-axis .bb-axis-x-tooltip,.bb-axis .bb-axis-y-tooltip,.bb-axis .bb-axis-y2-tooltip{font-size:.9em;fill:#fff;white-space:nowrap}.bb-axis-y text,.bb-axis-y2 text{fill:#8c8c8c}.bb-event-rects{fill-opacity:1!important}.bb-event-rects .bb-event-rect{fill:transparent}.bb-event-rects .bb-event-rect._active_{fill:#27c9030d}.tick._active_ text{fill:#00c83c!important}.bb-grid{pointer-events:none}.bb-grid line{stroke:#f1f1f1}.bb-xgrid-focus line,.bb-ygrid-focus line{stroke:#ffb6b6;stroke-dasharray:3px}.bb-text.bb-empty{fill:#767676}.bb-line{stroke-width:1px}.bb-circle._expanded_{stroke-width:2px}rect.bb-circle._expanded_,use.bb-circle._expanded_{stroke-width:2px}.bb-selected-circle{fill:#fff;stroke-width:2px}.bb-bar{stroke-width:0}.bb-bar._expanded_{fill-opacity:.75}.bb-candlestick{stroke-width:1px}.bb-candlestick._expanded_{fill-opacity:.75}.bb-target.bb-focused,.bb-circles.bb-focused{opacity:1}.bb-target.bb-focused path.bb-line,.bb-target.bb-focused path.bb-step,.bb-circles.bb-focused path.bb-line,.bb-circles.bb-focused path.bb-step{stroke-width:2px}.bb-target.bb-defocused,.bb-circles.bb-defocused{opacity:.3!important}.bb-target.bb-defocused .text-overlapping,.bb-circles.bb-defocused .text-overlapping{opacity:.05!important}.bb-region{fill:#4682b4}.bb-region rect{fill-opacity:.1}.bb-region.selected rect{fill:#27c903}.bb-zoom-brush,.bb-brush .extent{fill-opacity:.1}.bb-legend-item{user-select:none}.bb-legend-item-hidden{opacity:.15}.bb-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1px}.bb-legend-item line{stroke-dasharray:1px}.bb-title{font-size:14px}.bb-chart-treemaps rect{stroke:#fff;stroke-width:1px}.bb-tooltip-container{z-index:10;font-family:Helvetica,Apple SD Gothic Neo,Arial,sans-serif,nanumgothic,Dotum;user-select:none}.bb-tooltip{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-collapse:separate;border-spacing:0;empty-cells:show;border:1px solid #999;border-radius:2px;background-color:#fff;text-align:left;font-size:12px;box-shadow:.5px .5px 1px #999;white-space:nowrap}.bb-tooltip th{font-size:12px;padding:4px 8px;text-align:center;border-bottom:dotted 1px #000;background-color:#efefef;color:#000}.bb-tooltip tr:last-child td{border-bottom:none}.bb-tooltip td{padding:3px 6px;background-color:#fff;border-bottom:solid 1px #eee}.bb-tooltip td:first-child{padding-left:5px;border-right:solid 1px #eee}.bb-tooltip td:last-child{padding-right:5px}.bb-tooltip td>span,.bb-tooltip td>svg{display:inline-block;width:5px;height:12px;margin-right:6px;vertical-align:middle}.bb-tooltip td.value{border-left:1px solid transparent;text-align:right}.bb-tooltip .bb-tooltip-title{display:inline-block;color:#aaa;line-height:20px}.bb-tooltip .bb-tooltip-detail table{border-collapse:collapse;border-spacing:1px;font-size:12px}.bb-tooltip .bb-tooltip-detail .bb-tooltip-name,.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{line-height:13px;padding:4px 0 3px;color:#444;text-align:left;font-weight:400}.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{padding-left:5px;font-weight:800}.bb-area{stroke-width:0;opacity:.2}.bb-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}text.bb-chart-arcs-gauge-title{dominant-baseline:middle;font-size:2.7em}.bb-chart-arcs .bb-chart-arcs-background{fill:#e0e0e0;stroke:#fff}.bb-chart-arcs .bb-chart-arcs-gauge-unit{fill:#000;font-size:16px}.bb-chart-arcs .bb-chart-arcs-gauge-min,.bb-chart-arcs .bb-chart-arcs-gauge-max{fill:#777}.bb-chart-arcs .bb-chart-arcs-title{font-size:16px!important;fill:#8c8c8c;font-style:italic}.bb-chart-arcs path.empty{fill:#eaeaea;stroke-width:0}.bb-chart-arcs .bb-levels circle{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-arcs .bb-levels text{fill:#848282}.bb-chart-arc .bb-gauge-value{fill:#8c8c8c;font-style:italic}.bb-chart-arc path{stroke:#fff}.bb-chart-arc rect{stroke:#fff;stroke-width:1}.bb-chart-arc text{fill:#fff;font-size:13px;font-weight:700}.bb-chart-radars .bb-levels polygon{fill:none;stroke:#8c8c8c;stroke-width:.5px}.bb-chart-radars .bb-levels text{fill:#8c8c8c}.bb-chart-radars .bb-axis line{stroke:#8c8c8c;stroke-width:.5px}.bb-chart-radars .bb-axis text{font-size:1.15em;font-weight:700;cursor:default}.bb-chart-radars .bb-shapes polygon{fill-opacity:.2;stroke-width:1px}.bb-button{position:absolute;top:10px;right:10px}.bb-button .bb-zoom-reset{border:solid 1px #ccc;background-color:#fff;padding:5px;border-radius:5px;cursor:pointer;opacity:.8;box-shadow:1px 1px 2px #ccc} diff --git a/release/latest/dist/theme/insight.css b/release/latest/dist/theme/insight.css index 293538ec2..dd9027ed6 100644 --- a/release/latest/dist/theme/insight.css +++ b/release/latest/dist/theme/insight.css @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 */ /*-- Insight Theme --*/ /*-- Default color pattern --*/ diff --git a/release/latest/dist/theme/insight.min.css b/release/latest/dist/theme/insight.min.css index de90347d4..413518687 100644 --- a/release/latest/dist/theme/insight.min.css +++ b/release/latest/dist/theme/insight.min.css @@ -5,5 +5,5 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 */.bb-color-pattern{background-image:url(#00c73c;#fa7171;#2ad0ff;#7294ce;#e3e448;#cc7e6e;#fb6ccf;#c98dff;#4aea99;#bbbbbb;)}.bb svg{font-size:12px;font-family:sans-serif,Arial,nanumgothic,Dotum;line-height:1}.bb path,.bb line{fill:none;stroke:#c4c4c4}.bb text,.bb .bb-button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:#555;font-size:11px}.bb-legend-item-title,.bb-xgrid-focus,.bb-ygrid-focus,.bb-ygrid{shape-rendering:crispEdges}.bb-chart-arcs .bb-needle{fill:#000}.bb-chart-funnels path{stroke-width:0}.bb-chart-funnels+.bb-chart-texts text{fill:#fff}.bb-axis{shape-rendering:crispEdges}.bb-axis .bb-axis-x-tooltip,.bb-axis .bb-axis-y-tooltip,.bb-axis .bb-axis-y2-tooltip{font-size:.9em;fill:#fff;white-space:nowrap}.bb-axis-y text,.bb-axis-y2 text{fill:#737373}.bb-event-rects{fill-opacity:1!important}.bb-event-rects .bb-event-rect{fill:transparent}.bb-event-rects .bb-event-rect._active_{fill:#27c9030d}.tick._active_ text{fill:#00c83c!important}.bb-grid{pointer-events:none}.bb-grid line{stroke:#f1f1f1}.bb-xgrid-focus line,.bb-ygrid-focus line{stroke:#ddd}.bb-text.bb-empty{fill:#767676}.bb-line{stroke-width:1px}.bb-circle._expanded_{fill:#fff!important;stroke-width:2px;stroke:red}rect.bb-circle._expanded_,use.bb-circle._expanded_{stroke-width:1px}.bb-selected-circle{fill:#fff;stroke-width:2px}.bb-bar{stroke-width:0}.bb-bar._expanded_{fill-opacity:.75}.bb-candlestick{stroke-width:1px}.bb-candlestick._expanded_{fill-opacity:.75}.bb-target.bb-focused,.bb-circles.bb-focused{opacity:1}.bb-target.bb-focused path.bb-line,.bb-target.bb-focused path.bb-step,.bb-circles.bb-focused path.bb-line,.bb-circles.bb-focused path.bb-step{stroke-width:2px}.bb-target.bb-defocused,.bb-circles.bb-defocused{opacity:.3!important}.bb-target.bb-defocused .text-overlapping,.bb-circles.bb-defocused .text-overlapping{opacity:.05!important}.bb-region{fill:#4682b4}.bb-region rect{fill-opacity:.1}.bb-region.selected rect{fill:#27c903}.bb-zoom-brush,.bb-brush .extent{fill-opacity:.1}.bb-legend-item{user-select:none}.bb-legend-item-hidden{opacity:.15}.bb-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.bb-title{font-size:14px}.bb-chart-treemaps rect{stroke:#fff;stroke-width:1px}.bb-tooltip-container{z-index:10;font-family:sans-serif,Arial,nanumgothic,Dotum;user-select:none}.bb-tooltip{border-collapse:separate;border-spacing:0;empty-cells:show;border:1px solid #999;background-color:#fff;text-align:left;font-size:11px;white-space:nowrap}.bb-tooltip th{font-size:12px;padding:4px 8px;text-align:left;border-bottom:solid 1px #eee}.bb-tooltip td{padding:4px 6px;background-color:#fff}.bb-tooltip td:first-child{padding-left:8px}.bb-tooltip td:last-child{padding-right:8px}.bb-tooltip td>span,.bb-tooltip td>svg{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:5px;vertical-align:middle}.bb-tooltip td.value{border-left:1px solid transparent}.bb-tooltip .bb-tooltip-title{display:inline-block;color:#aaa;line-height:20px}.bb-tooltip .bb-tooltip-detail table{border-collapse:collapse;border-spacing:0}.bb-tooltip .bb-tooltip-detail .bb-tooltip-name,.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{font-size:11px;line-height:13px;padding:4px 0 3px;color:#444;text-align:left;font-weight:400}.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{padding-left:5px;font-weight:800;font-size:12px}.bb-area{stroke-width:0;opacity:.2}.bb-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}text.bb-chart-arcs-gauge-title{dominant-baseline:middle;font-size:2.7em}.bb-chart-arcs .bb-chart-arcs-background{fill:#e0e0e0;stroke:none}.bb-chart-arcs .bb-chart-arcs-gauge-unit{fill:#000;font-size:16px}.bb-chart-arcs .bb-chart-arcs-gauge-min,.bb-chart-arcs .bb-chart-arcs-gauge-max{fill:#777}.bb-chart-arcs .bb-chart-arcs-title{font-size:16px!important;fill:#000;font-weight:600}.bb-chart-arcs path.empty{fill:#eaeaea;stroke-width:0}.bb-chart-arcs .bb-levels circle{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-arcs .bb-levels text{fill:#848282}.bb-chart-arc .bb-gauge-value{fill:#000}.bb-chart-arc path{stroke:#fff}.bb-chart-arc rect{stroke:#fff;stroke-width:1}.bb-chart-arc text{fill:#fff;font-size:13px}.bb-chart-radars .bb-levels polygon{fill:none;stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-levels text{fill:#848282}.bb-chart-radars .bb-axis line{stroke:#848282;stroke-width:.5px}.bb-chart-radars .bb-axis text{font-size:1.15em;cursor:default}.bb-chart-radars .bb-shapes polygon{fill-opacity:.2;stroke-width:1px}.bb-button{position:absolute;top:10px;right:10px}.bb-button .bb-zoom-reset{border:solid 1px #ccc;background-color:#fff;padding:5px;border-radius:5px;cursor:pointer} diff --git a/release/latest/dist/theme/modern.css b/release/latest/dist/theme/modern.css index 3bb623aab..0673ac120 100644 --- a/release/latest/dist/theme/modern.css +++ b/release/latest/dist/theme/modern.css @@ -5,7 +5,7 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 */ @charset "UTF-8"; /*-- Insight Theme --*/ diff --git a/release/latest/dist/theme/modern.min.css b/release/latest/dist/theme/modern.min.css index 49e956559..f93c82745 100644 --- a/release/latest/dist/theme/modern.min.css +++ b/release/latest/dist/theme/modern.min.css @@ -5,5 +5,5 @@ * billboard.js, JavaScript chart library * https://naver.github.io/billboard.js/ * - * @version 3.14.1 + * @version 3.14.2 */.bb-color-pattern{background-image:url(#7ea9fa;#ffcd1e;#d33043;#41c464;#c86b74;#006bc2;#2a7e41;#f27c00;#c159ff;#bed017;)}.bb svg{font-size:12px;font-family:-apple-system,"system-ui",Noto Sans,Malgun Gothic,\b9d1\c740 \ace0\b515,helvetica,Apple SD Gothic Neo,sans-serif;line-height:1}.bb path,.bb line{fill:none;stroke:#cecece}.bb text,.bb .bb-button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;fill:#555;font-size:10.5px}.bb-legend-item-title,.bb-xgrid-focus,.bb-ygrid-focus,.bb-ygrid{shape-rendering:crispEdges}.bb-chart-arcs .bb-needle{fill:#000}.bb-chart-funnels path{stroke-width:0}.bb-chart-funnels+.bb-chart-texts text{fill:#fff}.bb-axis{shape-rendering:crispEdges}.bb-axis .bb-axis-x-tooltip,.bb-axis .bb-axis-y-tooltip,.bb-axis .bb-axis-y2-tooltip{font-size:.9em;fill:#fff;white-space:nowrap}.bb-axis-y text,.bb-axis-y2 text{fill:#737373}.bb-event-rects{fill-opacity:1!important}.bb-event-rects .bb-event-rect{fill:transparent}.bb-event-rects .bb-event-rect._active_{fill:#27c9030d}.tick._active_ text{fill:#00c83c!important}.bb-grid{pointer-events:none}.bb-grid line{stroke:#f1f1f1}.bb-xgrid-focus line,.bb-ygrid-focus line{stroke:#d2bad8}.bb-text.bb-empty{fill:#767676}.bb-line{stroke-width:1px}.bb-circle._expanded_{stroke-width:2px;stroke:red}rect.bb-circle._expanded_,use.bb-circle._expanded_{stroke-width:1px}.bb-selected-circle{fill:#fff;stroke-width:2px}.bb-bar{stroke-width:0}.bb-bar._expanded_{fill-opacity:.75}.bb-candlestick{stroke-width:1px}.bb-candlestick._expanded_{fill-opacity:.75}.bb-target.bb-focused,.bb-circles.bb-focused{opacity:1}.bb-target.bb-focused path.bb-line,.bb-target.bb-focused path.bb-step,.bb-circles.bb-focused path.bb-line,.bb-circles.bb-focused path.bb-step{stroke-width:2px}.bb-target.bb-defocused,.bb-circles.bb-defocused{opacity:.3!important}.bb-target.bb-defocused .text-overlapping,.bb-circles.bb-defocused .text-overlapping{opacity:.05!important}.bb-region{fill:#71808d}.bb-region rect{fill-opacity:.1}.bb-region.selected rect{fill:#27c903}.bb-zoom-brush{fill-opacity:.1;fill:#838181}.bb-brush .extent{fill-opacity:.1}.bb-brush .selection{fill:#838181;fill-opacity:.2}.bb-brush path{stroke:#838181}.bb-legend-item{user-select:none}.bb-legend-item line.bb-legend-item-tile{stroke-linecap:round;transform:translate(7px,1px);stroke-dasharray:1 20}.bb-legend-item-hidden{opacity:.15}.bb-legend-background{opacity:.75;fill:#fff;stroke:#d3d3d3;stroke-width:1}.bb-title{font-size:14px}.bb-chart-treemaps rect{stroke:#000;stroke-width:.5px}.bb-tooltip-container{z-index:10;font-family:-apple-system,"system-ui",Noto Sans,Malgun Gothic,\b9d1\c740 \ace0\b515,helvetica,Apple SD Gothic Neo,sans-serif;user-select:none}.bb-tooltip{border-collapse:separate;border-spacing:0;empty-cells:show;border:1px solid #999;color:#fff;border-radius:5px;background-color:#404244;text-align:left;font-size:11px;white-space:nowrap;opacity:.9}.bb-tooltip th{font-size:11px;padding:3px 6px 0;text-align:left}.bb-tooltip td{padding:3px}.bb-tooltip td:first-child{padding-left:7px}.bb-tooltip td:last-child{padding-right:8px}.bb-tooltip td>span,.bb-tooltip td>svg{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:5px;vertical-align:middle}.bb-tooltip td.value{border-left:1px solid transparent;text-align:right}.bb-tooltip .bb-tooltip-title{display:inline-block;color:#aaa;line-height:20px}.bb-tooltip .bb-tooltip-detail table{border-collapse:collapse;border-spacing:0}.bb-tooltip .bb-tooltip-detail .bb-tooltip-name,.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{font-size:11px;line-height:13px;padding:4px 0 3px;color:#444;text-align:left;font-weight:400}.bb-tooltip .bb-tooltip-detail .bb-tooltip-value{padding-left:5px;font-weight:800;font-size:12px}.bb-area{stroke-width:0;opacity:.2}.bb-chart-arcs-title{dominant-baseline:middle;font-size:1.3em}text.bb-chart-arcs-gauge-title{dominant-baseline:middle;font-size:2.7em}.bb-chart-arcs .bb-chart-arcs-background{fill:#e0e0e0;stroke:#ccc}.bb-chart-arcs .bb-chart-arcs-gauge-unit{fill:#000;font-size:16px}.bb-chart-arcs .bb-chart-arcs-gauge-min,.bb-chart-arcs .bb-chart-arcs-gauge-max{fill:#777}.bb-chart-arcs .bb-chart-arcs-title{font-size:1.8em;fill:#000;font-weight:600}.bb-chart-arcs path.empty{fill:#eaeaea;stroke-width:0}.bb-chart-arcs .bb-levels circle{fill:none;stroke:#cecece;stroke-width:.5px}.bb-chart-arcs .bb-levels text{fill:#848282}.bb-chart-arc .bb-gauge-value{fill:#000}.bb-chart-arc path{stroke:#fff}.bb-chart-arc rect{stroke:#fff;stroke-width:1}.bb-chart-arc text{fill:#fff;font-size:11px}.bb-chart-radars .bb-levels polygon{fill:none;stroke:#cecece;stroke-width:.5px}.bb-chart-radars .bb-levels text{fill:#848282}.bb-chart-radars .bb-axis line{stroke:#cecece;stroke-width:.5px}.bb-chart-radars .bb-axis text{font-size:1.15em;cursor:default}.bb-chart-radars .bb-shapes polygon{fill-opacity:.2;stroke-width:1px}.bb-button{position:absolute;top:10px;right:10px}.bb-button .bb-zoom-reset{border:1px solid #999;background-color:#404244;color:#fff;opacity:.9;padding:5px;border-radius:5px;cursor:pointer} diff --git a/release/latest/doc/ChartInternal_internals_tooltip.ts.html b/release/latest/doc/ChartInternal_internals_tooltip.ts.html new file mode 100644 index 000000000..a6db6c997 --- /dev/null +++ b/release/latest/doc/ChartInternal_internals_tooltip.ts.html @@ -0,0 +1,778 @@ + + + + + + ChartInternal/internals/tooltip.ts - billboard.js API doc + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

ChartInternal/internals/tooltip.ts

+ + + + + + + +
+
+
/**
+ * Copyright (c) 2017 ~ present NAVER Corp.
+ * billboard.js project is licensed under the MIT license
+ */
+import {select as d3Select} from "d3-selection";
+import {$ARC, $TOOLTIP} from "../../config/classes";
+import {document} from "../../module/browser";
+import {
+	callFn,
+	getPointer,
+	getTransformCTM,
+	hasViewBox,
+	isEmpty,
+	isFunction,
+	isObject,
+	isString,
+	isUndefined,
+	isValue,
+	parseDate,
+	sanitize,
+	tplProcess
+} from "../../module/util";
+import type {IArcData, IDataRow} from "../data/IData";
+
+export default {
+	/**
+	 * Initializes the tooltip
+	 * @private
+	 */
+	initTooltip(): void {
+		const $$ = this;
+		const {config, $el} = $$;
+
+		$el.tooltip = d3Select(config.tooltip_contents.bindto);
+
+		if ($el.tooltip.empty()) {
+			$el.tooltip = $el.chart
+				.append("div")
+				.attr("class", $TOOLTIP.tooltipContainer)
+				.style("position", "absolute")
+				.style("pointer-events", "none")
+				.style("display", "none");
+		}
+
+		$$.bindTooltipResizePos();
+	},
+
+	/**
+	 * Show tooltip at initialization.
+	 * Is called only when tooltip.init.show=true option is set
+	 * @private
+	 */
+	initShowTooltip(): void {
+		const $$ = this;
+		const {config, $el, state: {hasAxis, hasRadar}} = $$;
+
+		// Show tooltip if needed
+		if (config.tooltip_init_show) {
+			const isArc = !(hasAxis || hasRadar);
+
+			if ($$.axis?.isTimeSeries() && isString(config.tooltip_init_x)) {
+				config.tooltip_init_x = parseDate.call($$, config.tooltip_init_x);
+			}
+
+			$$.api.tooltip.show({
+				data: {
+					[isArc ? "index" : "x"]: config.tooltip_init_x
+				}
+			});
+
+			const position = config.tooltip_init_position;
+
+			if (!config.tooltip_contents.bindto && !isEmpty(position)) {
+				const {top = 0, left = 50} = position;
+
+				$el.tooltip.style("top", isString(top) ? top : `${top}px`)
+					.style("left", isString(left) ? left : `${left}px`)
+					.style("display", null);
+			}
+		}
+	},
+
+	/**
+	 * Get the tooltip HTML string
+	 * @param  {Array} args Arguments
+	 * @returns {string} Formatted HTML string
+	 * @private
+	 */
+	getTooltipHTML(...args): string {
+		const $$ = this;
+		const {api, config} = $$;
+
+		return isFunction(config.tooltip_contents) ?
+			config.tooltip_contents.bind(api)(...args) :
+			$$.getTooltipContent(...args);
+	},
+
+	/**
+	 * Returns the tooltip content(HTML string)
+	 * @param {object} d data
+	 * @param {Function} defaultTitleFormat Default title format
+	 * @param {Function} defaultValueFormat Default format for each data value in the tooltip.
+	 * @param {Function} color Color function
+	 * @returns {string} html
+	 * @private
+	 */
+	getTooltipContent(d, defaultTitleFormat, defaultValueFormat, color): string {
+		const $$ = this;
+		const {api, config, state, $el} = $$;
+
+		// get formatter function
+		const [titleFn, nameFn, valueFn] = ["title", "name", "value"].map(v => {
+			const fn = config[`tooltip_format_${v}`];
+
+			return isFunction(fn) ? fn.bind(api) : fn;
+		});
+
+		// determine fotmatter function with sanitization
+		const titleFormat = (...arg) => sanitize((titleFn || defaultTitleFormat)(...arg));
+		const nameFormat = (...arg) => sanitize((nameFn || (name => name))(...arg));
+		const valueFormat = (...arg) => {
+			const fn = valueFn || (
+				state.hasTreemap || $$.isStackNormalized() ?
+					(v, ratio) => `${(ratio * 100).toFixed(2)}%` :
+					defaultValueFormat
+			);
+
+			return sanitize(fn(...arg));
+		};
+
+		const order = config.tooltip_order;
+		const getRowValue =
+			row => ($$.axis && $$.isBubbleZType(row) ?
+				$$.getBubbleZData(row.value, "z") :
+				$$.getBaseValue(row));
+		const getBgColor = $$.levelColor ? row => $$.levelColor(row.value) : row => color(row);
+		const contents = config.tooltip_contents;
+		const tplStr = contents.template;
+		const targetIds = $$.mapToTargetIds();
+
+		if (order === null && config.data_groups.length) {
+			// for stacked data, order should aligned with the visually displayed data
+			const ids = $$.orderTargets($$.data.targets)
+				.map(i2 => i2.id)
+				.reverse();
+
+			d.sort((a, b) => {
+				let v1 = a ? a.value : null;
+				let v2 = b ? b.value : null;
+
+				if (v1 > 0 && v2 > 0) {
+					v1 = a.id ? ids.indexOf(a.id) : null;
+					v2 = b.id ? ids.indexOf(b.id) : null;
+				}
+
+				return v1 - v2;
+			});
+		} else if (/^(asc|desc)$/.test(order)) {
+			const isAscending = order === "asc";
+
+			d.sort((a, b) => {
+				const v1 = a ? getRowValue(a) : null;
+				const v2 = b ? getRowValue(b) : null;
+
+				return isAscending ? v1 - v2 : v2 - v1;
+			});
+		} else if (isFunction(order)) {
+			d.sort(order.bind(api));
+		}
+
+		const tpl = $$.getTooltipContentTemplate(tplStr);
+		const len = d.length;
+		let text;
+		let row;
+		let param;
+		let value;
+		let i;
+
+		for (i = 0; i < len; i++) {
+			row = d[i];
+
+			if (!row || !(getRowValue(row) || getRowValue(row) === 0)) {
+				continue;
+			}
+
+			if (isUndefined(text)) {
+				const title = (state.hasAxis || state.hasRadar) && titleFormat(row.x);
+
+				text = tplProcess(tpl[0], {
+					CLASS_TOOLTIP: $TOOLTIP.tooltip,
+					TITLE: isValue(title) ?
+						(
+							tplStr ? title : `<tr><th colspan="2">${title}</th></tr>`
+						) :
+						""
+				});
+			}
+
+			if (!row.ratio && $el.arcs) {
+				param = ["arc", $$.$el.arcs.select(`path.${$ARC.arc}-${row.id}`).data()[0]];
+				row.ratio = $$.getRatio(...param);
+			}
+
+			// arrange param to be passed to formatter
+			param = [row.ratio, row.id, row.index];
+
+			if ($$.isAreaRangeType(row)) {
+				const [high, low] = ["high", "low"].map(v =>
+					valueFormat($$.getRangedData(row, v), ...param)
+				);
+				const mid = valueFormat(getRowValue(row), ...param);
+
+				value = `<b>Mid:</b> ${mid} <b>High:</b> ${high} <b>Low:</b> ${low}`;
+			} else if ($$.isCandlestickType(row)) {
+				const [open, high, low, close, volume] = ["open", "high", "low", "close", "volume"]
+					.map(v => {
+						const value = $$.getRangedData(row, v, "candlestick");
+
+						return value ?
+							valueFormat(
+								$$.getRangedData(row, v, "candlestick"),
+								...param
+							) :
+							undefined;
+					});
+
+				value =
+					`<b>Open:</b> ${open} <b>High:</b> ${high} <b>Low:</b> ${low} <b>Close:</b> ${close}${
+						volume ? ` <b>Volume:</b> ${volume}` : ""
+					}`;
+			} else if ($$.isBarRangeType(row)) {
+				const {value: rangeValue, id, index} = row;
+
+				value = `${valueFormat(rangeValue, undefined, id, index)}`;
+			} else {
+				value = valueFormat(getRowValue(row), ...param);
+			}
+
+			if (value !== undefined) {
+				// Skip elements when their name is set to null
+				if (row.name === null) {
+					continue;
+				}
+
+				const name = nameFormat(row.name ?? row.id, ...param);
+				const color = getBgColor(row);
+				const contentValue = {
+					CLASS_TOOLTIP_NAME: $TOOLTIP.tooltipName + $$.getTargetSelectorSuffix(row.id),
+					COLOR: (tplStr || !$$.patterns) ?
+						color :
+						`<svg><rect style="fill:${color}" width="10" height="10"></rect></svg>`,
+					NAME: name,
+					VALUE: value
+				};
+
+				if (tplStr && isObject(contents.text)) {
+					const index = targetIds.indexOf(row.id);
+
+					Object.keys(contents.text).forEach(key => {
+						contentValue[key] = contents.text[key][index];
+					});
+				}
+
+				text += tplProcess(tpl[1], contentValue);
+			}
+		}
+
+		return `${text}</table>`;
+	},
+
+	/**
+	 * Get the content template string
+	 * @param {string} tplStr Tempalte string
+	 * @returns {Array} Template string
+	 * @private
+	 */
+	getTooltipContentTemplate(tplStr?: string): string[] {
+		return (tplStr || `<table class="{=CLASS_TOOLTIP}"><tbody>
+				{=TITLE}
+				{{<tr class="{=CLASS_TOOLTIP_NAME}">
+					<td class="name">${
+			this.patterns ? `{=COLOR}` : `<span style="background-color:{=COLOR}"></span>`
+		}{=NAME}</td>
+					<td class="value">{=VALUE}</td>
+				</tr>}}
+			</tbody></table>`)
+			.replace(/(\r?\n|\t)/g, "")
+			.split(/{{(.*)}}/);
+	},
+
+	/**
+	 * Update tooltip position coordinate
+	 * @param {object} dataToShow Data object
+	 * @param {SVGElement} eventTarget Event element
+	 * @private
+	 */
+	setTooltipPosition(dataToShow: IDataRow[], eventTarget: SVGElement): void {
+		const $$ = this;
+		const {config, scale, state, $el: {eventRect, tooltip, svg}} = $$;
+		const {bindto} = config.tooltip_contents;
+		const isRotated = config.axis_rotated;
+		const datum = tooltip?.datum();
+
+		if (!bindto && datum) {
+			const data = dataToShow ?? JSON.parse(datum.current);
+			const [x, y] = getPointer(state.event, eventTarget ?? eventRect?.node()); // get mouse event position
+			const currPos: {
+				x: number,
+				y: number,
+				xAxis?: number,
+				yAxis?: number | (
+					(value: number, id?: string, axisId?: string) => number
+				)
+			} = {x, y};
+
+			if (state.hasAxis && scale.x && datum && "x" in datum) {
+				const getYPos = (value = 0, id?: string, axisId = "y"): number => {
+					const scaleFn = scale[id ? $$.axis?.getId(id) : axisId];
+
+					return scaleFn ?
+						scaleFn(value) + (isRotated ? state.margin.left : state.margin.top) :
+						0;
+				};
+
+				currPos.xAxis = scale.x(datum.x) + (
+					// add margin only when user specified tooltip.position function
+					config.tooltip_position ? (isRotated ? state.margin.top : state.margin.left) : 0
+				);
+
+				if (data.length === 1) {
+					currPos.yAxis = getYPos(data[0].value as number, data[0].id);
+				} else {
+					currPos.yAxis = getYPos;
+				}
+			}
+
+			const {width = 0, height = 0} = datum;
+
+			// Get tooltip position
+			const pos = config.tooltip_position?.bind($$.api)(
+				data,
+				width,
+				height,
+				eventRect?.node(),
+				currPos
+			) ?? (
+				hasViewBox(svg) ?
+					$$.getTooltipPositionViewBox.bind($$)(width, height, currPos) :
+					$$.getTooltipPosition.bind($$)(width, height, currPos)
+			);
+
+			["top", "left"].forEach(v => {
+				const value = pos[v];
+
+				tooltip.style(v, `${value}px`);
+
+				// Remember left pos in percentage to be used on resize call
+				if (v === "left" && !datum.xPosInPercent) {
+					datum.xPosInPercent = value / state.current.width * 100;
+				}
+			});
+		}
+	},
+
+	/**
+	 * Get tooltip position when svg has vieBox attribute
+	 * @param {number} tWidth Tooltip width value
+	 * @param {number} tHeight Tooltip height value
+	 * @param {object} currPos Current event position value from SVG coordinate
+	 * @returns {object} top, left value
+	 */
+	getTooltipPositionViewBox(tWidth: number, tHeight: number,
+		currPos: {[key: string]: number}): {top: number, left: number} {
+		const $$ = this;
+		const {$el: {eventRect, svg}, config, state} = $$;
+
+		const isRotated = config.axis_rotated;
+		const hasArcType = $$.hasArcType() || state.hasFunnel || state.hasTreemap;
+		const target = (hasArcType ? svg : eventRect)?.node() ?? state.event.target;
+
+		let {x, y} = currPos;
+
+		if (state.hasAxis) {
+			x = isRotated ? x : currPos.xAxis;
+			y = isRotated ? currPos.xAxis : y;
+		}
+
+		// currPos value based on SVG coordinate
+		const ctm = getTransformCTM(target, x, y, false);
+		const rect = target.getBoundingClientRect();
+		const size = getTransformCTM(target, 20, 0, false).x;
+
+		let top = ctm.y;
+		let left = ctm.x + (tWidth / 2) + size;
+
+		if (hasArcType) {
+			if (state.hasFunnel || state.hasTreemap || state.hasRadar) {
+				left -= (tWidth / 2) + size;
+				top += tHeight;
+			} else {
+				top += rect.height / 2;
+				left += (rect.width / 2) - (tWidth - size);
+			}
+		}
+
+		if (left + tWidth > rect.width) {
+			left = rect.width - tWidth - size;
+		}
+
+		if (top + tHeight > rect.height) {
+			top -= tHeight * 2;
+		}
+
+		return {
+			top,
+			left
+		};
+	},
+
+	/**
+	 * Returns the position of the tooltip
+	 * @param {string} tWidth Width value of tooltip element
+	 * @param {string} tHeight Height value of tooltip element
+	 * @param {object} currPos Current mouse position
+	 * @returns {object} top, left value
+	 * @private
+	 */
+	getTooltipPosition(tWidth: number, tHeight: number,
+		currPos: {[key: string]: number}): {top: number, left: number} {
+		const $$ = this;
+		const {config, scale, state} = $$;
+		const {width, height, current, hasFunnel, hasRadar, hasTreemap, isLegendRight, inputType} =
+			state;
+		const hasGauge = $$.hasType("gauge") && !config.gauge_fullCircle;
+		const isRotated = config.axis_rotated;
+		const hasArcType = $$.hasArcType();
+		const svgLeft = $$.getSvgLeft(true);
+		let chartRight = svgLeft + current.width - $$.getCurrentPaddingByDirection("right");
+
+		const size = 20;
+		let {x, y} = currPos;
+
+		// Determine tooltip position
+		if (hasRadar) {
+			x += x >= (width / 2) ? 15 : -(tWidth + 15);
+			y += 15;
+		} else if (hasArcType) {
+			const notTouch = inputType !== "touch";
+
+			if (notTouch) {
+				let titlePadding = $$.getTitlePadding?.() ?? 0;
+
+				if (titlePadding && hasGauge && config.arc_rangeText_values?.length) {
+					titlePadding += 10;
+				}
+
+				x += (width - (isLegendRight ? $$.getLegendWidth() : 0)) / 2;
+				y += (hasGauge ? height : (height / 2) + tHeight) + titlePadding;
+			}
+		} else if (hasFunnel || hasTreemap) {
+			y += tHeight;
+		} else {
+			const padding = {
+				top: $$.getCurrentPaddingByDirection("top", true),
+				left: $$.getCurrentPaddingByDirection("left", true)
+			};
+
+			if (isRotated) {
+				x += svgLeft + padding.left + size;
+				y = padding.top + currPos.xAxis + size;
+				chartRight -= svgLeft;
+			} else {
+				x = svgLeft + padding.left + size + (scale.zoom ? x : currPos.xAxis);
+				y += padding.top - 5;
+			}
+		}
+
+		// when tooltip left + tWidth > chart's width
+		if ((x + tWidth + 15) > chartRight) {
+			x -= tWidth + (hasFunnel || hasTreemap || hasArcType ? 0 : (isRotated ? size * 2 : 38));
+		}
+
+		if (y + tHeight > current.height) {
+			const gap = hasTreemap ? tHeight + 10 : 30;
+
+			y -= hasGauge ? tHeight * 1.5 : tHeight + gap;
+		}
+
+		const pos = {top: y, left: x};
+
+		// make sure to not be positioned out of viewport
+		Object.keys(pos).forEach(v => {
+			if (pos[v] < 0) {
+				pos[v] = 0;
+			}
+		});
+
+		return pos;
+	},
+
+	/**
+	 * Show the tooltip
+	 * @param {object} selectedData Data object
+	 * @param {SVGElement} eventTarget Event element
+	 * @private
+	 */
+	showTooltip(selectedData: IDataRow[], eventTarget: SVGElement): void {
+		const $$ = this;
+		const {config, $el: {tooltip}} = $$;
+		const dataToShow = selectedData.filter(d => d && isValue($$.getBaseValue(d)));
+
+		if (!tooltip || dataToShow.length === 0 || !config.tooltip_show) {
+			return;
+		}
+
+		let datum = tooltip.datum();
+		const dataStr = JSON.stringify(selectedData);
+
+		if (!datum || datum.current !== dataStr) {
+			const {index, x} = selectedData.concat().sort()[0];
+
+			callFn(config.tooltip_onshow, $$.api, selectedData);
+
+			// set tooltip content
+			tooltip
+				.html($$.getTooltipHTML(
+					selectedData, // data
+					$$.axis ? $$.axis.getXAxisTickFormat() : $$.categoryName.bind($$), // defaultTitleFormat
+					$$.getDefaultValueFormat(), // defaultValueFormat
+					$$.color // color
+				))
+				.style("display", null)
+				.style("visibility", null) // for IE9
+				.datum(datum = {
+					index,
+					x,
+					current: dataStr,
+					width: tooltip.property("offsetWidth"),
+					height: tooltip.property("offsetHeight")
+				});
+
+			callFn(config.tooltip_onshown, $$.api, selectedData);
+			$$._handleLinkedCharts(true, index);
+		}
+
+		$$.setTooltipPosition(dataToShow, eventTarget);
+	},
+
+	/**
+	 * Adjust tooltip position on resize event
+	 * @private
+	 */
+	bindTooltipResizePos(): void {
+		const $$ = this;
+		const {resizeFunction, state, $el: {tooltip}} = $$;
+
+		resizeFunction.add(() => {
+			if (tooltip.style("display") === "block") {
+				const {current} = state;
+				const {width, xPosInPercent} = tooltip.datum();
+				let value = current.width / 100 * xPosInPercent;
+				const diff = current.width - (value + width);
+
+				// if tooltip size overs current viewport size
+				if (diff < 0) {
+					value += diff;
+				}
+
+				tooltip.style("left", `${value}px`);
+			}
+		});
+	},
+
+	/**
+	 * Hide the tooltip
+	 * @param {boolean} force Force to hide
+	 * @private
+	 */
+	hideTooltip(force?: boolean): void {
+		const $$ = this;
+		const {api, config, $el: {tooltip}} = $$;
+
+		if (
+			tooltip && tooltip.style("display") !== "none" && (!config.tooltip_doNotHide || force)
+		) {
+			const selectedData = JSON.parse(tooltip.datum().current ?? {});
+
+			callFn(config.tooltip_onhide, api, selectedData);
+
+			// hide tooltip
+			tooltip
+				.style("display", "none")
+				.style("visibility", "hidden") // for IE9
+				.datum(null);
+
+			callFn(config.tooltip_onhidden, api, selectedData);
+		}
+	},
+
+	/**
+	 * Toggle display for linked chart instances
+	 * @param {boolean} show true: show, false: hide
+	 * @param {number} index x Axis index
+	 * @private
+	 */
+	_handleLinkedCharts(show: boolean, index: number): void {
+		const $$ = this;
+		const {charts, config, state: {event}} = $$;
+
+		// Prevent propagation among instances if isn't instantiated from the user's event
+		// https://github.com/naver/billboard.js/issues/1979
+		if (event?.isTrusted && config.tooltip_linked && charts.length > 1) {
+			const linkedName = config.tooltip_linked_name;
+
+			charts
+				.filter(c => c !== $$.api)
+				.forEach(c => {
+					const {config, $el} = c.internal;
+					const isLinked = config.tooltip_linked;
+					const name = config.tooltip_linked_name;
+					const isInDom = document.body.contains($el.chart.node());
+
+					if (isLinked && linkedName === name && isInDom) {
+						const data = $el.tooltip.data()[0];
+						const isNotSameIndex = index !== data?.index;
+
+						try {
+							c.tooltip[
+								show && isNotSameIndex ? "show" : "hide"
+							]({index});
+						} catch {}
+					}
+				});
+		}
+	},
+
+	/**
+	 * Update tooltip content on redraw
+	 * - In a situation where tooltip is displayed and data load happens, it should reflect loaded data to tooltip
+	 * @param {d3Selection} context Event rect element
+	 * @param {number} index Data index
+	 * @private
+	 */
+	updateTooltipOnRedraw(context?: SVGRectElement, index?: number): void {
+		const $$ = this;
+		const {
+			config,
+			$el: {eventRect, svg, tooltip},
+			state: {event, hasAxis, hasRadar, hasTreemap}
+		} = $$;
+
+		// Update tooltip, when tooltip is in shown state
+		if (tooltip?.style("display") === "block" && event) {
+			const rect = context ?? (hasRadar ? svg : eventRect)?.node();
+
+			// for Axis based & Radar
+			if (hasAxis || hasRadar) {
+				if ($$.isMultipleX()) {
+					$$.selectRectForMultipleXs(rect, false);
+				} else {
+					const idx = index ?? $$.getDataIndexFromEvent(event);
+
+					if (index === -1) {
+						$$.api.tooltip.hide();
+					} else {
+						$$.selectRectForSingle(rect, idx);
+						$$.setExpand(idx, null, true);
+					}
+				}
+			} else { // for Arc & Treemap
+				const {clientX, clientY} = event;
+
+				setTimeout(() => {
+					let target = [clientX, clientY].every(Number.isFinite) &&
+						document.elementFromPoint(clientX, clientY);
+					const data = target && d3Select(target).datum() as IArcData;
+
+					if (data) {
+						const d = $$.hasArcType() ?
+							$$.convertToArcData($$.updateAngle(data)) :
+							data?.data;
+
+						hasTreemap && (target = svg.node());
+						d && $$.showTooltip([d], target);
+					} else {
+						$$.api.tooltip.hide();
+					}
+				}, config.transition_duration);
+			}
+		}
+	}
+};
+
+
+
+ + + + + + +
+ +
+ + + + + + + + + + + + + + + + + diff --git a/release/latest/doc/Options.html b/release/latest/doc/Options.html index 996ed414f..062135aa6 100644 --- a/release/latest/doc/Options.html +++ b/release/latest/doc/Options.html @@ -2465,7 +2465,7 @@

Source:
@@ -2803,7 +2803,10 @@

Description:
-
  • Set default extent for subchart and zoom. This can be an array or function that returns an array.

+
  • Set extent for subchart and zoom(drag only). This can be an array or function that returns an array.

    +
      +
    • NOTE: Specifying value, will limit the zoom scope selection within.
    • +
@@ -2854,7 +2857,10 @@

-

Set default extent for subchart and zoom. This can be an array or function that returns an array.

+

Set extent for subchart and zoom(drag only). This can be an array or function that returns an array.

+
    +
  • NOTE: Specifying value, will limit the zoom scope selection within.
  • +
@@ -3266,7 +3272,7 @@

Source:
diff --git a/release/latest/doc/bb.html b/release/latest/doc/bb.html index 4644919d8..11e209dea 100644 --- a/release/latest/doc/bb.html +++ b/release/latest/doc/bb.html @@ -92,7 +92,7 @@

bb

Version:
-
  • 3.14.1
+
  • 3.14.2
diff --git a/release/latest/doc/config_Options_axis_x.ts.html b/release/latest/doc/config_Options_axis_x.ts.html index fd89b8434..3840e9ed8 100644 --- a/release/latest/doc/config_Options_axis_x.ts.html +++ b/release/latest/doc/config_Options_axis_x.ts.html @@ -690,7 +690,8 @@

config/Options/axis/x.ts

axis_x_height: <number | undefined>undefined, /** - * Set default extent for subchart and zoom. This can be an array or function that returns an array. + * Set extent for subchart and zoom(drag only). This can be an array or function that returns an array. + * - **NOTE:** Specifying value, will limit the zoom scope selection within. * @name axis․x․extent * @memberof Options * @type {Array|Function} diff --git a/release/latest/doc/global.html b/release/latest/doc/global.html index 04b2a1c51..ab44e6656 100644 --- a/release/latest/doc/global.html +++ b/release/latest/doc/global.html @@ -598,7 +598,7 @@

hasStyleSource:
@@ -819,7 +819,7 @@

hasViewBox<
Source:
diff --git a/release/latest/doc/module_util.ts.html b/release/latest/doc/module_util.ts.html index ad36d5f5a..3f2d88377 100644 --- a/release/latest/doc/module_util.ts.html +++ b/release/latest/doc/module_util.ts.html @@ -606,10 +606,18 @@

module/util.ts

function getTransformCTM(node: SVGGraphicsElement, x = 0, y = 0, inverse = true): DOMPoint { const point = new DOMPoint(x, y); const screen = <DOMMatrix>node.getScreenCTM(); - - return point.matrixTransform( + const res = point.matrixTransform( inverse ? screen?.inverse() : screen ); + + if (inverse === false) { + const rect = node.getBoundingClientRect(); + + res.x -= rect.x; + res.y -= rect.y; + } + + return res; } /**